@puddle-code/cli 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -27
- package/dist/index.js +1 -1
- package/dist/public/assets/{Dashboard-CEPwl8SL.js → Dashboard-DHkzWFd7.js} +1 -1
- package/dist/public/assets/{EditorTabClose-eigXdiCB.js → EditorTabClose-DziQNlDZ.js} +1 -1
- package/dist/public/assets/{ModelRefcount-BPtz3aiO.js → ModelRefcount-BD4m7wnM.js} +1 -1
- package/dist/public/assets/{PaneEditorBody-Cd-gTwQf.js → PaneEditorBody-6h7v53Gs.js} +1 -1
- package/dist/public/assets/{SettingsDialog-B772Gh8X.js → SettingsDialog-DEVVkj7N.js} +1 -1
- package/dist/public/assets/{Terminal-B4pgs3im.js → Terminal-DP-hFsEc.js} +2 -2
- package/dist/public/assets/{Workspace-P16s6r31.js → Workspace-BoKA3JKo.js} +2 -2
- package/dist/public/assets/{buffer-store-BQUZZSHc.js → buffer-store-C23koXgg.js} +2 -2
- package/dist/public/assets/{context-menu-pZk42aSN.js → context-menu-0Mq8MFLs.js} +1 -1
- package/dist/public/assets/{cssMode-ZS6zMeEj.js → cssMode-BBQ4UYhd.js} +1 -1
- package/dist/public/assets/{htmlMode-D4c37GJ9.js → htmlMode-CiqvxxB5.js} +1 -1
- package/dist/public/assets/{index-D-ztnhM0.css → index-Dg2mfzDf.css} +1 -1
- package/dist/public/assets/{index-BkJByuhy.js → index-bqEa9yZh.js} +2 -2
- package/dist/public/assets/{jsonMode-CF-1fM0S.js → jsonMode-B7C2cbcC.js} +1 -1
- package/dist/public/assets/{session-seed-uIZJKzcf.js → session-seed-BafHkB3F.js} +1 -1
- package/dist/public/assets/ssh-mode-DIXigRzL.js +1 -0
- package/dist/public/assets/{tsMode-BV-x0-vm.js → tsMode-ByErjETq.js} +1 -1
- package/dist/public/index.html +2 -2
- package/package.json +1 -1
- package/dist/public/assets/ssh-mode-DNQdm1uV.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PaneEditorBody-
|
|
2
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{n,t as r}from"./jsx-runtime-ffCh33zF.js";import{a as i}from"./useMutation-Da9b4jwS.js";import{_ as a,a as o,c as s,d as c,g as l,i as u,l as d,m as f,n as p,o as m,s as h,t as g,u as _,v,y}from"./editor-tabs-CFnvx1pN.js";import{t as b}from"./preload-helper-Czpn1I53.js";import{h as x,o as S,s as C,v as w}from"./api-L5qtWa7E.js";import{A as T,O as E,_ as D,a as ee,b as O,g as k,h as te,i as A,j,n as M,o as N,r as P,t as ne,w as re}from"./dialog-B43iKmfK.js";import{t as F}from"./utils-B6KiDbIe.js";import{t as I}from"./createLucideIcon-DyMAgLa3.js";import{A as ie,C as L,D as ae,E as oe,M as se,N as ce,O as le,S as ue,T as de,_ as R,a as fe,b as pe,c as z,d as me,f as he,g as ge,h as _e,i as B,j as ve,l as ye,m as be,n as xe,o as Se,p as Ce,r as V,s as we,t as Te,u as Ee,v as De,w as Oe,x as ke,y as Ae}from"./context-menu-pZk42aSN.js";import{a as je,c as Me,i as Ne,l as Pe,n as Fe,o as Ie,r as Le,s as Re,t as ze}from"./session-seed-uIZJKzcf.js";import{r as Be}from"./dist-fdPAlKke.js";import{A as Ve,C as He,Ct as Ue,E as We,F as Ge,L as Ke,Lt as qe,M as Je,N as Ye,P as Xe,R as Ze,Rt as Qe,S as $e,St as et,T as tt,U as nt,V as rt,Y as it,_ as at,at as ot,b as st,bt as ct,c as lt,ct as ut,d as dt,dt as ft,f as pt,ft as mt,gt as ht,ht as gt,it as _t,k as vt,lt as yt,m as bt,mt as xt,n as St,nt as Ct,ot as wt,q as Tt,s as Et,st as Dt,t as Ot,u as kt,ut as At,w as jt,xt as Mt,yt as Nt,zt as Pt}from"./index-BkJByuhy.js";import{t as Ft}from"./debounce-B9DrqirV.js";import{i as It}from"./buffer-logic-BrpRsL1b.js";import{t as Lt}from"./ssh-mode-DNQdm1uV.js";var Rt=I(`case-sensitive`,[[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`,key:`d5nyq2`}],[`path`,{d:`M22 9v7`,key:`pvm9v3`}],[`path`,{d:`M3.304 13h6.392`,key:`1q3zxz`}],[`circle`,{cx:`18.5`,cy:`12.5`,r:`3.5`,key:`z97x68`}]]),zt=I(`chevrons-down-up`,[[`path`,{d:`m7 20 5-5 5 5`,key:`13a0gw`}],[`path`,{d:`m7 4 5 5 5-5`,key:`1kwcof`}]]),Bt=I(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Vt=I(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Ht=I(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),Ut=I(`file-braces`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),H=I(`file-code`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]),Wt=I(`file-cog`,[[`path`,{d:`M15 8a1 1 0 0 1-1-1V2a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8z`,key:`1ckgky`}],[`path`,{d:`M20 8v12a2 2 0 0 1-2 2h-4.182`,key:`1726p0`}],[`path`,{d:`m3.305 19.53.923-.382`,key:`ao1pio`}],[`path`,{d:`M4 10.592V4a2 2 0 0 1 2-2h8`,key:`1foop0`}],[`path`,{d:`m4.228 16.852-.924-.383`,key:`1fv9zy`}],[`path`,{d:`m5.852 15.228-.383-.923`,key:`1a9hc2`}],[`path`,{d:`m5.852 20.772-.383.924`,key:`1sh9ke`}],[`path`,{d:`m8.148 15.228.383-.923`,key:`4yu6lf`}],[`path`,{d:`m8.53 21.696-.382-.924`,key:`18b0s9`}],[`path`,{d:`m9.773 16.852.922-.383`,key:`ti6xop`}],[`path`,{d:`m9.773 19.148.922.383`,key:`rws47d`}],[`circle`,{cx:`7`,cy:`18`,r:`3`,key:`lvkj7j`}]]),Gt=I(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 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 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),Kt=I(`file-image`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),qt=I(`file-key`,[[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M4 12v6`,key:`bg1pfk`}],[`path`,{d:`M4 14h2`,key:`1sf9f8`}],[`path`,{d:`M9.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v4`,key:`d56i0q`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),Jt=I(`file-lock`,[[`path`,{d:`M4 9.8V4a2 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 8v12a2 2 0 0 1-2 2h-3`,key:`1432pc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 17v-2a2 2 0 0 0-4 0v2`,key:`168m41`}],[`rect`,{width:`8`,height:`5`,x:`3`,y:`17`,rx:`1`,key:`o8vfew`}]]),Yt=I(`file-play`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),Xt=I(`file-plus`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 15h6`,key:`cctwl0`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}]]),Zt=I(`file-spreadsheet`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),Qt=I(`file-terminal`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m8 16 2-2-2-2`,key:`10vzyd`}],[`path`,{d:`M12 18h4`,key:`1wd2n7`}]]),$t=I(`file-text`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),en=I(`file-type`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M11 18h2`,key:`12mj7e`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5`,key:`qbrxap`}]]),tn=I(`file`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),nn=I(`folder-closed`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]),rn=I(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),an=I(`folder-tree`,[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`hod4my`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`w4yl2u`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`,key:`f2jnh7`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`,key:`k8epm1`}]]),on=I(`folder-x`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`m9.5 10.5 5 5`,key:`ra9qjz`}],[`path`,{d:`m14.5 10.5-5 5`,key:`l2rkpq`}]]),sn=I(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),cn=I(`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`}]]),ln=I(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),un=I(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),dn=I(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),fn=I(`panel-right-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m8 9 3 3-3 3`,key:`12hl5m`}]]),pn=I(`panel-right-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m10 15-3-3 3-3`,key:`1pgupc`}]]),mn=I(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),hn=I(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),gn=I(`regex`,[[`path`,{d:`M17 3v10`,key:`15fgeh`}],[`path`,{d:`m12.67 5.5 8.66 5`,key:`1gpheq`}],[`path`,{d:`m12.67 10.5 8.66-5`,key:`1dkfa6`}],[`path`,{d:`M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z`,key:`swwfx4`}]]),_n=I(`shield-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`,key:`1jlk70`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`,key:`18rp1v`}]]),vn=I(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),yn=I(`user-round-cog`,[[`path`,{d:`m14.305 19.53.923-.382`,key:`3m78fa`}],[`path`,{d:`m15.228 16.852-.923-.383`,key:`npixar`}],[`path`,{d:`m16.852 15.228-.383-.923`,key:`5xggr7`}],[`path`,{d:`m16.852 20.772-.383.924`,key:`dpfhf9`}],[`path`,{d:`m19.148 15.228.383-.923`,key:`1reyyz`}],[`path`,{d:`m19.53 21.696-.382-.924`,key:`1goivc`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`,key:`1yezr2`}],[`path`,{d:`m20.772 16.852.924-.383`,key:`htqkph`}],[`path`,{d:`m20.772 19.148.924.383`,key:`9w9pjp`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}]]),bn=I(`whole-word`,[[`circle`,{cx:`7`,cy:`12`,r:`3`,key:`12clwm`}],[`path`,{d:`M10 9v6`,key:`17i7lo`}],[`circle`,{cx:`17`,cy:`12`,r:`3`,key:`gl7c2s`}],[`path`,{d:`M14 7v8`,key:`dl84cr`}],[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`,key:`lt2kga`}]]),U=r(),W=e(t(),1);function xn(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function Sn(e,t){let n=getComputedStyle(e.ownerDocument.documentElement);return t*parseFloat(n.fontSize)}function Cn(e){return e/100*window.innerHeight}function wn(e){return e/100*window.innerWidth}function Tn(e){switch(typeof e){case`number`:return[e,`px`];case`string`:{let t=parseFloat(e);return e.endsWith(`%`)?[t,`%`]:e.endsWith(`px`)?[t,`px`]:e.endsWith(`rem`)?[t,`rem`]:e.endsWith(`em`)?[t,`em`]:e.endsWith(`vh`)?[t,`vh`]:e.endsWith(`vw`)?[t,`vw`]:[t,`%`]}}}function En({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=Tn(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=Sn(t,i);break;case`em`:r=xn(t,i);break;case`vh`:r=Cn(i);break;case`vw`:r=wn(i);break}return r}function G(e){return parseFloat(e.toFixed(3))}function Dn({group:e}){let{orientation:t,panels:n}=e;return n.reduce((e,n)=>(e+=t===`horizontal`?n.element.offsetWidth:n.element.offsetHeight,e),0)}function On(e){let{panels:t}=e,n=Dn({group:e});return n===0?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:e.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let{element:t,panelConstraints:r}=e,i=0;r.collapsedSize!==void 0&&(i=G(En({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=G(En({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=G(En({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=G(En({groupSize:n,panelElement:t,styleProp:r.maxSize})/n*100)),{groupResizeBehavior:r.groupResizeBehavior,collapsedSize:i,collapsible:r.collapsible===!0,defaultSize:a,disabled:r.disabled,minSize:o,maxSize:s,panelId:e.id}})}function K(e,t=`Assertion error`){if(!e)throw Error(t)}function kn(e,t){return Array.from(t).sort(e===`horizontal`?An:jn)}function An(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function jn(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Mn(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function Nn(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function Pn({orientation:e,rects:t,targetRect:n}){let r={x:n.x+n.width/2,y:n.y+n.height/2},i,a=Number.MAX_VALUE;for(let n of t){let{x:t,y:o}=Nn(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return K(i,`No rect found`),i}var Fn;function In(){return Fn===void 0&&(Fn=typeof matchMedia==`function`&&!!matchMedia(`(pointer:coarse)`).matches),Fn}function Ln(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=kn(n,Array.from(t.children).filter(Mn).map(e=>({element:e}))).map(({element:e})=>e),o=[],s=!1,c=!1,l=-1,u=-1,d=0,f,p=[];{let e=-1;for(let t of a)t.hasAttribute(`data-panel`)&&(e++,t.hasAttribute(`data-disabled`)||(d++,l===-1&&(l=e),u=e))}if(d>1){let t=-1;for(let d of a)if(d.hasAttribute(`data-panel`)){t++;let i=r.find(e=>e.element===d);if(i){if(f){let r=f.element.getBoundingClientRect(),a=d.getBoundingClientRect(),m;if(c){let e=n===`horizontal`?new DOMRect(r.right,r.top,0,r.height):new DOMRect(r.left,r.bottom,r.width,0),t=n===`horizontal`?new DOMRect(a.left,a.top,0,a.height):new DOMRect(a.left,a.top,a.width,0);switch(p.length){case 0:m=[e,t];break;case 1:{let i=p[0];m=[i,Pn({orientation:n,rects:[r,a],targetRect:i.element.getBoundingClientRect()})===r?t:e];break}default:m=p;break}}else m=p.length?p:[n===`horizontal`?new DOMRect(r.right,a.top,a.left-r.right,a.height):new DOMRect(a.left,r.bottom,a.width,a.top-r.bottom)];for(let n of m){let r=`width`in n?n:n.element.getBoundingClientRect(),a=In()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(r.width<a){let e=a-r.width;r=new DOMRect(r.x-e/2,r.y,r.width+e,r.height)}if(r.height<a){let e=a-r.height;r=new DOMRect(r.x,r.y-e/2,r.width,r.height+e)}!s&&!(t<=l||t>u)&&o.push({group:e,groupSize:Dn({group:e}),panels:[f,i],separator:`width`in n?void 0:n,rect:r}),s=!1}}c=!1,f=i,p=[]}}else if(d.hasAttribute(`data-separator`)){d.ariaDisabled!==null&&(s=!0);let e=i.find(e=>e.element===d);e?p.push(e):(f=void 0,p=[])}else c=!0}return o}var Rn=class{#e={};addListener(e,t){let n=this.#e[e];return n===void 0?this.#e[e]=[t]:n.includes(t)||n.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let n=this.#e[e];if(n!==void 0)if(n.length===1)n[0].call(null,t);else{let e=!1,r=null,i=Array.from(n);for(let n=0;n<i.length;n++){let a=i[n];try{a.call(null,t)}catch(t){r===null&&(e=!0,r=t)}}if(e)throw r}}removeAllListeners(){this.#e={}}removeListener(e,t){let n=this.#e[e];if(n!==void 0){let e=n.indexOf(t);e>=0&&n.splice(e,1)}}},zn={cursorFlags:0,state:`inactive`},Bn=new Rn;function Vn(){return zn}function Hn(e){return Bn.addListener(`change`,e)}function Un(e){let t=zn,n={...zn};n.cursorFlags=e,zn=n,Bn.emit(`change`,{prev:t,next:n})}function Wn(e){let t=zn;zn=e,Bn.emit(`change`,{prev:t,next:e})}var Gn=e=>e,Kn=()=>{},qn=1,Jn=2,Yn=4,Xn=8,Zn=3,Qn=12,$n;function er(){return $n===void 0&&($n=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&($n=!0)),$n}function tr({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case`active`:case`hover`:t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case`horizontal`:r++;break;case`vertical`:i++;break}})}if(!(r===0&&i===0)){switch(n){case`active`:if(e&&er()){let t=(e&qn)!==0,n=(e&Jn)!==0,r=(e&Yn)!==0,i=(e&Xn)!==0;if(t)return r?`se-resize`:i?`ne-resize`:`e-resize`;if(n)return r?`sw-resize`:i?`nw-resize`:`w-resize`;if(r)return`s-resize`;if(i)return`n-resize`}break}return er()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var nr=new WeakMap;function rr(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=nr.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&(Object.isExtensible(e.adoptedStyleSheets)?e.adoptedStyleSheets.push(n):e.adoptedStyleSheets=[...e.adoptedStyleSheets,n]));let r=Vn();switch(r.state){case`active`:case`hover`:{let e=tr({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(e=>e.group),state:r.state}),i=`*, *:hover {cursor: ${e} !important; }`;if(t===i)return;t=i,e?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case`inactive`:t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}nr.set(e,{prevStyle:t,styleSheet:n})}var ir=new Map,ar=new Rn;function or(e){ir=new Map(ir),ir.delete(e)}function sr(e,t){for(let[t]of ir)if(t.id===e)return t}function cr(e,t){for(let[t,n]of ir)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function lr(){return ir}function ur(e,t){return ar.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function dr(e,t,n){let r=ir.get(e);ir=new Map(ir),ir.set(e,t),ar.emit(`groupChange`,{group:e,isUserInteraction:n?.isUserInteraction===!0,prev:r,next:t})}function fr(e){let t=Vn(),n=!1;switch(t.state){case`active`:Wn({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(rr(e),n=!0,t.hitRegions.forEach(e=>{let t=cr(e.group.id,!0);dr(e.group,t,{isUserInteraction:!0})}))}return n}function pr(e){e.defaultPrevented||fr(e.currentTarget)}function mr(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=Nn(n,a.rect);switch(e){case`horizontal`:t.x<=i.x&&(r=a,i=t);break;case`vertical`:t.y<=i.y&&(r=a,i=t);break}}return r?{distance:i,hitRegion:r}:void 0}function hr(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function gr(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:Sr(e),b:Sr(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();K(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:xr(br(n.a)),b:xr(br(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var _r=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function vr(e){let t=getComputedStyle(Cr(e)??e).display;return t===`flex`||t===`inline-flex`}function yr(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||vr(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||_r.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function br(e){let t=e.length;for(;t--;){let n=e[t];if(K(n,`Missing node`),yr(n))return n}return null}function xr(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Sr(e){let t=[];for(;e;)t.push(e),e=Cr(e);return t}function Cr(e){let{parentNode:t}=e;return hr(t)?t.host:t}function wr(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function Tr({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Mn(n)||n.contains(e)||e.contains(n))return!0;if(gr(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(wr(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function Er(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=Ln(r),a=mr(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&Tr({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function Dr(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function q(e,t,n=0){return Math.abs(G(e)-G(t))<=n}function Or(e,t){return q(e,t)?0:e>t?1:-1}function kr({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){let{collapsedSize:i=0,collapsible:a,disabled:o,maxSize:s=100,minSize:c=0}=t;if(o&&!e)return n;if(Or(r,c)<0)if(a){let e=(i+c)/2;r=Or(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=G(r),r}function Ar({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(q(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;K(u!=null,`Invalid first pivot index`),K(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];K(r,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(K(n!=null,`Previous layout not found for panel index ${t}`),q(n,i)){let t=o-n;Or(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];K(r,`No panel constraints found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(K(n!=null,`Previous layout not found for panel index ${t}`),q(n,o)){let t=n-i;Or(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];K(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&Or(i,c)<0)if(e>0){let t=c-o,n=t/2;Or(i+e,c)<0&&(e=Or(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;Or(i-e,c)<0&&(e=Or(100+e,n)>0?0:-t)}break}}{let t=e<0?1:-1,r=e<0?d:u,i=0;for(;;){let e=s[r];K(e!=null,`Previous layout not found for panel index ${r}`);let a=kr({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:e,size:100})-e;if(i+=a,r+=t,r<0||r>=n.length)break}let a=Math.min(Math.abs(e),Math.abs(i));e=e<0?0-a:a}{let t=e<0?u:d;for(;t>=0&&t<n.length;){let r=Math.abs(e)-Math.abs(f),i=s[t];K(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=kr({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!q(i,c)&&(f+=i-c,l[t]=c,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(Dr(c,l))return i;{let t=e<0?d:u,r=s[t];K(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=kr({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!q(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];K(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=kr({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(q(i,s)||(t-=s-i,l[r]=s),q(t,0))break;e>0?r--:r++}}}if(!q(Object.values(l).reduce((e,t)=>t+e,0),100,.1))return i;let p=Object.keys(i);return l.reduce((e,t,n)=>(e[p[n]]=t,e),{})}function jr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||Or(e[n],t[n])!==0)return!1;return!0}function Mr({layout:e,panelConstraints:t}){let n=Object.values(e),r=[...n],i=r.reduce((e,t)=>e+t,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(e=>`${e}%`).join(`, `)}`);if(!q(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];K(t!=null,`No layout data found for index ${e}`),r[e]=100/i*t}let a=0;for(let e=0;e<t.length;e++){let i=n[e];K(i!=null,`No layout data found for index ${e}`);let o=r[e];K(o!=null,`No layout data found for index ${e}`);let s=kr({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!q(a,0))for(let e=0;e<t.length;e++){let n=r[e];K(n!=null,`No layout data found for index ${e}`);let i=n+a,o=kr({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,q(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function Nr({groupId:e,panelId:t}){let n=()=>{let t=lr();for(let[n,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:a,groupSize:o,separatorToPanels:s}]of t)if(n.id===e)return{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:n,groupSize:o,layout:a,separatorToPanels:s};throw Error(`Group ${e} not found`)},r=()=>{let e=n().derivedPanelConstraints.find(e=>e.panelId===t);if(e!==void 0)return e;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{let e=n().group.panels.find(e=>e.id===t);if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},a=()=>{let e=n().layout[t];if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},o=({nextSize:e,panels:n,prevLayout:r,derivedPanelConstraints:i})=>{let o=a(),s=n.findIndex(e=>e.id===t),c=s===0,l=s===n.length-1;if(l&&e<o&&(c||n.slice(0,s).every((e,t)=>{let n=i[t];return n?.collapsible&&q(n.collapsedSize,r[n.panelId])}))){let e=n.slice(0,s).reduce((e,t)=>e+r[t.id],0);return{...r,[t]:G(100-e)}}return Ar({delta:l?o-e:e-o,initialLayout:r,panelConstraints:i,pivotIndices:l?[s-1,s]:[s,s+1],prevLayout:r,trigger:`imperative-api`})},s=e=>{if(e===a())return;let{defaultLayoutDeferred:t,derivedPanelConstraints:r,group:i,groupSize:s,layout:c,separatorToPanels:l}=n(),u=Mr({layout:o({nextSize:e,panels:i.panels,prevLayout:c,derivedPanelConstraints:r}),panelConstraints:r});jr(c,u)||dr(i,{defaultLayoutDeferred:t,derivedPanelConstraints:r,groupSize:s,layout:u,separatorToPanels:l})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=r(),{mutableValues:n}=i(),o=a();e&&o!==t&&(n.expandToSize=o,s(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:n}=r(),{mutableValues:o}=i(),c=a();if(e&&c===t){let e=o.expandToSize??n;e===0&&(e=1),s(e)}},getSize:()=>{let{group:e}=n(),t=a(),{element:r}=i();return{asPercentage:t,inPixels:e.orientation===`horizontal`?r.offsetWidth:r.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=r(),n=a();return e&&q(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=Dn({group:t}),o=G(En({groupSize:a,panelElement:r,styleProp:e})/a*100);s(o)}}}function Pr(e){e.defaultPrevented||Er(e,lr()).forEach(t=>{if(t.separator&&!t.separator.disableDoubleClick){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=Nr({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function Fr(e){let t=lr();for(let[n]of t)if(n.separators.some(t=>t.element===e))return n;throw Error(`Could not find parent Group for separator element`)}function Ir({groupId:e}){let t=()=>{let t=lr();for(let[n,r]of t)if(n.id===e)return{group:n,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:n}=t();return e?{}:n},setLayout(e){let{defaultLayoutDeferred:n,derivedPanelConstraints:r,group:i,groupSize:a,layout:o,separatorToPanels:s}=t(),c=Mr({layout:e,panelConstraints:r});return n?o:(jr(o,c)||dr(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function Lr(e,t){let n=Fr(e),r=cr(n.id,!0),i=n.separators.find(t=>t.element===e);K(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);K(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=Ir({groupId:n.id}).getLayout(),c=Mr({layout:Ar({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});jr(s,c)||dr(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels},{isUserInteraction:!0})}function Rr(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=Fr(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&Lr(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&Lr(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&Lr(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&Lr(t,-5);break;case`End`:e.preventDefault(),Lr(t,100);break;case`Enter`:{e.preventDefault();let n=Fr(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=cr(n.id,!0),o=n.separators.find(e=>e.element===t);K(o,`Matching separator not found`);let s=a.get(o);K(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(K(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];Lr(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=Fr(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);K(r!==null,`Index not found`),n[e.shiftKey?r>0?r-1:n.length-1:r+1<n.length?r+1:0].focus({preventScroll:!0});break}case`Home`:e.preventDefault(),Lr(t,-100);break}}function zr(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=lr(),n=Er(e,t),r=new Map,i=!1;n.forEach(e=>{e.separator&&(i||(i=!0,e.separator.element.focus({focusVisible:!1,preventScroll:!0})));let n=t.get(e.group);n&&r.set(e.group,n.layout)}),Wn({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}function Br({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:a,prevCursorFlags:o}){let s=0;n.forEach(e=>{let{group:n,groupSize:o}=e,{orientation:c,panels:l}=n,{disableCursor:u}=n.mutableState,d=0;d=a?c===`horizontal`?(t.clientX-a.x)/o*100:(t.clientY-a.y)/o*100:c===`horizontal`?t.clientX<0?-100:100:t.clientY<0?-100:100;let f=r.get(n),p=i.get(n);if(!f||!p)return;let{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:_,separatorToPanels:v}=p;if(h&&_&&v){let t=Ar({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(jr(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?qn:Jn;break;case`vertical`:s|=d<0?Yn:Xn;break}}else dr(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&Zn:c|=s&Zn,t.movementY===0?c|=o&Qn:c|=s&Qn,Un(c),rr(e)}function Vr(e){let t=lr(),n=Vn();switch(n.state){case`active`:Br({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Hr(e){if(e.defaultPrevented)return;let t=Vn(),n=lr();switch(t.state){case`active`:if(e.buttons===0){Wn({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=cr(e.group.id,!0);dr(e.group,t,{isUserInteraction:!0})});return}for(let n of t.hitRegions)if(n.separator){let{element:t}=n.separator;t.hasPointerCapture?.(e.pointerId)||t.setPointerCapture?.(e.pointerId)}Br({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=Er(e,n);r.length===0?t.state!==`inactive`&&Wn({cursorFlags:0,state:`inactive`}):Wn({cursorFlags:0,hitRegions:r,state:`hover`}),rr(e.currentTarget);break}}}function Ur(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Vn().state){case`hover`:Wn({cursorFlags:0,state:`inactive`})}}function Wr(e){e.defaultPrevented||e.pointerType===`mouse`&&e.button>0||fr(e.currentTarget)&&e.preventDefault()}function Gr(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=G(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=G((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function Kr(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=Dn({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:G(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function qr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Jr({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,a=0,o=!1,s=new Map,c=[];for(let l of e.panels){let e=r[l.id]??0;switch(l.panelConstraints.groupResizeBehavior){case`preserve-pixel-size`:{o=!0;let r=G(e/100*n/t*100);s.set(l.id,r),i+=r;break}default:c.push(l.id),a+=e;break}}if(!o||c.length===0)return r;let l=100-i,u={...r};if(s.forEach((e,t)=>{u[t]=e}),a>0)for(let e of c)u[e]=G((r[e]??0)/a*l);else{let e=G(l/c.length);for(let t of c)u[t]=e}return u}function Yr(e,t){let n=e.map(e=>e.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;return!0}var Xr=new Map;function Zr(e){let t=!0;K(e.element.ownerDocument.defaultView,`Cannot register an unmounted Group`);let n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,a=new n(n=>{for(let r of n){let{borderBoxSize:n,target:i}=r;if(i===e.element){if(t){let t=Dn({group:e});if(t===0)return;let n=cr(e.id);if(!n)return;let r=On(e),i=n.defaultLayoutDeferred?Gr(r):n.layout,a=Mr({layout:Jr({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&jr(n.layout,a)&&qr(n.derivedPanelConstraints,r)&&n.groupSize===t)return;dr(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else Kr(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{K(!r.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),r.add(e.id),e.onResize&&a.observe(e.element)});let o=Dn({group:e}),s=On(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(Yr(e.panels,l)||(l=void 0));let u=Mr({layout:e.mutableState.layouts[c]??l??Gr(s),panelConstraints:s}),d=e.element.ownerDocument;Xr.set(d,(Xr.get(d)??0)+1);let f=new Map;return Ln(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),dr(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{K(!i.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),i.add(e.id),e.element.addEventListener(`keydown`,Rr)}),Xr.get(d)===1&&(d.addEventListener(`contextmenu`,pr,!0),d.addEventListener(`dblclick`,Pr,!0),d.addEventListener(`pointerdown`,zr,!0),d.addEventListener(`pointerleave`,Vr),d.addEventListener(`pointermove`,Hr),d.addEventListener(`pointerout`,Ur),d.addEventListener(`pointerup`,Wr,!0)),function(){t=!1,Xr.set(d,Math.max(0,(Xr.get(d)??0)-1)),or(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,Rr)}),Xr.get(d)||(d.removeEventListener(`contextmenu`,pr,!0),d.removeEventListener(`dblclick`,Pr,!0),d.removeEventListener(`pointerdown`,zr,!0),d.removeEventListener(`pointerleave`,Vr),d.removeEventListener(`pointermove`,Hr),d.removeEventListener(`pointerout`,Ur),d.removeEventListener(`pointerup`,Wr,!0)),a.disconnect()}}function Qr(){let[e,t]=(0,W.useState)({});return[e,(0,W.useCallback)(()=>t({}),[])]}function $r(e){let t=(0,W.useId)();return`${e??t}`}var ei=typeof window<`u`?W.useLayoutEffect:W.useEffect;function ti(e){let t=(0,W.useRef)(e);return ei(()=>{t.current=e},[e]),(0,W.useCallback)((...e)=>t.current?.(...e),[t])}function ni(...e){return ti(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function ri(e){let t=(0,W.useRef)({...e});return ei(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var ii=(0,W.createContext)(null);function ai(e,t){let n=(0,W.useRef)({getLayout:()=>({}),setLayout:Gn});(0,W.useImperativeHandle)(t,()=>n.current,[]),ei(()=>{Object.assign(n.current,Ir({groupId:e}))})}function oi({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:o,id:s,onLayoutChange:c,onLayoutChanged:l,orientation:u=`horizontal`,resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){let m=(0,W.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=ti(e=>{jr(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=ti((e,t)=>{jr(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e,{isUserInteraction:t}))}),_=$r(s),v=(0,W.useRef)(null),[y,b]=Qr(),x=(0,W.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=ni(v,a);ai(_,o);let C=ti((e,t)=>{let r=Vn(),i=sr(e),a=cr(e);if(a){let e=!1;switch(r.state){case`active`:e=r.hitRegions.some(e=>e.group===i);break}return{flexGrow:a.layout[t]??1,pointerEvents:e?`none`:void 0}}if(n?.[t])return{flexGrow:n?.[t]}}),w=ri({defaultLayout:n,disableCursor:r}),T=(0,W.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=kn(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=kn(u,[...t.separators,e]),b(),()=>{t.separators=t.separators.filter(t=>t!==e),b()}},updatePanelProps:(e,{disabled:t})=>{let n=x.current.panels.find(t=>t.id===e);n&&(n.panelConstraints.disabled=t);let r=sr(_),i=cr(_);r&&i&&dr(r,{...i,derivedPanelConstraints:On(r)})},updateSeparatorProps:(e,{disabled:t,disableDoubleClick:n})=>{let r=x.current.separators.find(t=>t.id===e);r&&(r.disabled=t,r.disableDoubleClick=n)}}),[C,_,b,u,w]),E=(0,W.useRef)(null);return ei(()=>{let e=v.current;if(e===null)return;let t=x.current,n;if(w.defaultLayout!==void 0&&Object.keys(w.defaultLayout).length===t.panels.length){n={};for(let e of t.panels){let t=w.defaultLayout[e.id];t!==void 0&&(n[e.id]=t)}}let r={disabled:!!i,element:e,id:_,mutableState:{defaultLayout:n,disableCursor:!!w.disableCursor,expandedPanelSizes:x.current.lastExpandedPanelSizes,layouts:x.current.layouts},orientation:u,panels:t.panels,resizeTargetMinimumSize:t.resizeTargetMinimumSize,separators:t.separators};E.current=r;let a=Zr(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=cr(r.id,!0);!o&&s.length>0&&(h(c),g(c,!1));let l=ur(_,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:n,layout:i}=e.next;if(t||n.length===0)return;let a=r.panels.map(({id:e})=>e).join(`,`);r.mutableState.layouts[a]=i,n.forEach(t=>{if(t.collapsible){let{layout:n}=e.prev??{};if(n){let e=q(t.collapsedSize,i[t.panelId]),a=q(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=Vn().state!==`active`;h(i),o&&g(i,e.isUserInteraction)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,W.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,U.jsx)(ii.Provider,{value:T,children:(0,U.jsx)(`div`,{...p,className:t,"data-group":!0,"data-testid":_,id:_,ref:S,style:{height:`100%`,width:`100%`,overflow:`hidden`,...f,display:`flex`,flexDirection:u===`horizontal`?`row`:`column`,flexWrap:`nowrap`,touchAction:u===`horizontal`?`pan-y`:`pan-x`},children:e})})}oi.displayName=`Group`;function si(){let e=(0,W.useContext)(ii);return K(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function ci(e,t){let{id:n}=si(),r=(0,W.useRef)({collapse:Kn,expand:Kn,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Kn});(0,W.useImperativeHandle)(t,()=>r.current,[]),ei(()=>{Object.assign(r.current,Nr({groupId:n,panelId:e}))})}function li({children:e,className:t,collapsedSize:n=`0%`,collapsible:r=!1,defaultSize:i,disabled:a,elementRef:o,groupResizeBehavior:s=`preserve-relative-size`,id:c,maxSize:l=`100%`,minSize:u=`0%`,onResize:d,panelRef:f,style:p,...m}){let h=!!c,g=$r(c),_=ri({disabled:a}),v=(0,W.useRef)(null),y=ni(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,updatePanelProps:w}=si(),T=d!==null,E=ti((e,t,n)=>{d?.(e,c,n)});ei(()=>{let e=v.current;if(e!==null){let t={element:e,id:g,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:T?E:void 0,panelConstraints:{groupResizeBehavior:s,collapsedSize:n,collapsible:r,defaultSize:i,disabled:_.disabled,maxSize:l,minSize:u}};return C(t)}},[s,n,r,i,T,g,h,l,u,E,C,_]),(0,W.useEffect)(()=>{w(g,{disabled:a})},[a,g,w]),ci(g,f);let D=()=>{let e=b(x,g);if(e)return JSON.stringify(e)},ee=(0,W.useSyncExternalStore)(e=>ur(x,e),D,D),O;return O=ee?JSON.parse(ee):i===void 0?{flexGrow:1}:{flexGrow:void 0,flexShrink:void 0,flexBasis:i},(0,U.jsx)(`div`,{...m,"data-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...ui,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...O},children:(0,U.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}li.displayName=`Panel`;var ui={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function di({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a,o=e[n],s=t.find(e=>e.panelId===n);if(s){let c=s.maxSize,l=s.collapsible?s.collapsedSize:s.minSize,u=[r,r+1];a=Mr({layout:Ar({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=Mr({layout:Ar({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function fi({children:e,className:t,disabled:n,disableDoubleClick:r,elementRef:i,id:a,style:o,...s}){let c=$r(a),l=ri({disabled:n,disableDoubleClick:r}),[u,d]=(0,W.useState)({}),[f,p]=(0,W.useState)(`inactive`),[m,h]=(0,W.useState)(!1),g=(0,W.useRef)(null),_=ni(g,i),{disableCursor:v,id:y,orientation:b,registerSeparator:x,updateSeparatorProps:S}=si(),C=b===`horizontal`?`vertical`:`horizontal`;ei(()=>{let e=g.current;if(e!==null){let t={disabled:l.disabled,disableDoubleClick:l.disableDoubleClick,element:e,id:c},n=x(t),r=Hn(e=>{p(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=ur(y,e=>{let{derivedPanelConstraints:n,layout:r,separatorToPanels:i}=e.next,a=i.get(t);if(a){let e=a[0],t=a.indexOf(e);d(di({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[y,c,x,l]),(0,W.useEffect)(()=>{S(c,{disabled:n,disableDoubleClick:r})},[n,r,c,S]);let w;n&&!v&&(w=`not-allowed`);let T;if(n)T=`disabled`;else switch(f){case`active`:T=`active`;break;default:T=m?`focus`:f}return(0,U.jsx)(`div`,{...s,"aria-controls":u.valueControls,"aria-disabled":n||void 0,"aria-orientation":C,"aria-valuemax":u.valueMax,"aria-valuemin":u.valueMin,"aria-valuenow":u.valueNow,children:e,className:t,"data-separator":T,"data-testid":c,id:c,onBlur:()=>h(!1),onFocus:()=>h(!0),ref:_,role:`separator`,style:{flexBasis:`auto`,cursor:w,...o,flexGrow:0,flexShrink:0,touchAction:`none`},tabIndex:n?void 0:0})}fi.displayName=`Separator`;function pi(e,t,n){let r=n.snapshot.explorer_pin,i=r===null?null:e.find(e=>e.id===r&&e.status!==`archived`)??null;return{session:i??e.find(e=>e.id===t)??null,pinned:i!==null,pin(e){n.update({explorer_pin:e})},unpin(){n.update({explorer_pin:null})}}}var mi=(0,W.createContext)({openFile:()=>void 0,handler:null,setHandler:()=>void 0});function hi({children:e}){let[t,n]=(0,W.useState)(null),r=(0,W.useCallback)(e=>n(()=>e),[]),i=(0,W.useCallback)((e,n,r)=>{if(!t){w(`The editor is not ready yet.`);return}t(e,n,r)},[t]),a=(0,W.useMemo)(()=>({openFile:i,handler:t,setHandler:r}),[i,t,r]);return(0,U.jsx)(mi.Provider,{value:a,children:e})}function gi(e){let{setHandler:t}=(0,W.useContext)(mi),n=(0,W.useRef)(e);n.current=e,(0,W.useEffect)(()=>(t((e,t,r)=>n.current(e,t,r)),()=>t(null)),[t])}var _i=null,vi=null;async function yi(){let[e,t]=await Promise.all([b(()=>import(`./PaneEditorBody-Cd-gTwQf.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),b(()=>import(`./ModelRefcount-BPtz3aiO.js`),__vite__mapDeps([19,1,2,15,9,8,3,5,6,10,11,7,12,13,14,16]))]);_i=e.PaneEditorBody,vi=t.ModelRefcount}var bi=(0,W.lazy)(()=>b(()=>import(`./PaneEditorBody-Cd-gTwQf.js`).then(e=>({default:e.PaneEditorBody})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])));function xi(e){return _i?(0,U.jsx)(_i,{...e}):(0,U.jsx)(W.Suspense,{fallback:(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center bg-ground text-xs text-fg-muted`,children:`Loading editor…`}),children:(0,U.jsx)(bi,{...e})})}var Si=(0,W.lazy)(()=>b(()=>import(`./ModelRefcount-BPtz3aiO.js`).then(e=>({default:e.ModelRefcount})),__vite__mapDeps([19,1,2,15,9,8,3,5,6,10,11,7,12,13,14,16])));function Ci({buffers:e}){return vi?(0,U.jsx)(vi,{buffers:e}):(0,U.jsx)(W.Suspense,{fallback:null,children:(0,U.jsx)(Si,{buffers:e})})}var wi=(0,W.lazy)(()=>b(()=>import(`./EditorTabClose-eigXdiCB.js`).then(e=>({default:e.EditorTabClose})),__vite__mapDeps([20,1,2,3,10,11,7,15,9,8,5,6,12,13,14,16,17,18])));function Ti(e){return(0,U.jsx)(W.Suspense,{fallback:(0,U.jsx)(`button`,{onClick:t=>{t.stopPropagation(),e.onClose()},className:`flex size-4 items-center justify-center rounded-sm text-fg-muted opacity-0 transition-opacity hover:text-fg group-hover:opacity-100`,"aria-label":`Close ${e.label}`,children:`×`}),children:(0,U.jsx)(wi,{...e})})}var Ei=e(n(),1);function Di(){return crypto.randomUUID()}function J(e){return e.type===`terminal`?`term:${e.session}`:`editor:${g(e.tab)}`}function Oi(e,t){return J(e)===J(t)}function ki(e){return e.type===`terminal`}function Ai(e=[],t){let n=e.map(J),r=t&&n.includes(t)?t:n.length>0?n[0]:null;return{kind:`leaf`,id:Di(),tabs:e,activeKey:r,previewKey:null}}function ji(e,t,n){return{kind:`split`,id:Di(),direction:e,children:t,sizes:n??t.map(()=>100/Math.max(1,t.length))}}function Mi(e,t){if(e.kind===`leaf`)return e.id===t?e:null;for(let n of e.children){let e=Mi(n,t);if(e)return e}return null}function Ni(e,t){if(e.kind===`leaf`)return e.tabs.some(e=>J(e)===t)?e:null;for(let n of e.children){let e=Ni(n,t);if(e)return e}return null}function Pi(e){return e.kind===`leaf`?[e]:e.children.flatMap(Pi)}function Fi(e){return Pi(e).flatMap(e=>e.tabs)}function Ii(e){let t=e.tabs.map(J),n=e.activeKey&&t.includes(e.activeKey)?e.activeKey:t[0]??null,r=e.previewKey&&t.includes(e.previewKey)?e.previewKey:null;return n===e.activeKey&&r===(e.previewKey??null)?e:{...e,activeKey:n,previewKey:r}}function Li(e){if(e.kind===`leaf`)return Ii(e);let t=e.children.map(Li),n=[],r=[];t.forEach((t,i)=>{let a=e.sizes[i]??1;if(t.kind===`split`&&t.direction===e.direction){let e=t.sizes.reduce((e,t)=>e+t,0)||t.children.length;t.children.forEach((i,o)=>{n.push(i),r.push(a*(t.sizes[o]??1)/e)})}else n.push(t),r.push(a)});let i=[],a=[];return n.forEach((e,t)=>{e.kind===`leaf`&&e.tabs.length===0||(i.push(e),a.push(r[t]??1))}),i.length===0?Ai([]):i.length===1?i[0]:{...e,children:i,sizes:a}}function Ri(e,t,n){return e.kind===`leaf`?e.id===t?n(e):e:{...e,children:e.children.map(e=>Ri(e,t,n))}}function zi(e,t){if(e.kind===`leaf`){if(!e.tabs.some(e=>J(e)===t))return e;let n=e.tabs.filter(e=>J(e)!==t),r=e.activeKey===t?Bi(e,t):e.activeKey;return{...e,tabs:n,activeKey:r}}return{...e,children:e.children.map(e=>zi(e,t))}}function Bi(e,t){let n=e.tabs.findIndex(e=>J(e)===t);if(n===-1)return e.activeKey;let r=e.tabs.filter(e=>J(e)!==t);return r.length===0?null:J(r[Math.min(n,r.length-1)])}function Vi(e,t,n){let r=e.tabs.filter(e=>!Oi(e,t)),i=n===void 0?r.length:Math.max(0,Math.min(n,r.length)),a=[...r.slice(0,i),t,...r.slice(i)];return{...e,tabs:a,activeKey:J(t)}}function Hi(e,t,n,r){let i=n===`left`||n===`right`?`row`:`col`,a=n===`left`||n===`top`;return Li(Ri(e,t,e=>{let t=Ai([r]);return ji(i,a?[t,e]:[e,t],[50,50])}))}function Ui(e,t){let{ref:n,toLeafId:r,edge:i}=t,a=J(n),o=t.index;if(i===`center`&&o!==void 0){let t=Mi(e,r)?.tabs.findIndex(e=>J(e)===a)??-1;t!==-1&&t<o&&--o}let s=zi(e,a);if(i===`center`){let e=Ri(s,r,e=>Vi(e,n,o));return!Mi(e,r)&&!Ni(e,a)?Ji(Li(Wi(e,n)),a):Ji(Li(e),a)}return Mi(s,r)?Ji(Hi(s,r,i,n),a):Li(Ai([n]))}function Wi(e,t){let n=Pi(e)[0];return n?Ri(e,n.id,e=>Vi(e,t)):Ai([t])}function Gi(e,t,n){return Li(Ri(e,t,e=>e.tabs.some(e=>J(e)===n)?{...e,tabs:e.tabs.filter(e=>J(e)!==n),activeKey:e.activeKey===n?Bi(e,n):e.activeKey}:e))}function Ki(e,t,n){let r=J(n);return Li(Ri(e,t,e=>{let t=e.previewKey===r?null:e.previewKey;return e.tabs.some(e=>Oi(e,n))?{...e,activeKey:r,previewKey:t}:{...e,tabs:[...e.tabs,n],activeKey:r,previewKey:t}}))}function qi(e,t,n){let r=J(n);return Li(Ri(e,t,e=>{if(e.tabs.some(e=>Oi(e,n)))return{...e,activeKey:r};let t=e.previewKey?e.tabs.findIndex(t=>J(t)===e.previewKey):-1,i=t>=0&&!ki(e.tabs[t])?e.tabs.map((e,r)=>r===t?n:e):[...e.tabs,n];return{...e,tabs:i,activeKey:r,previewKey:r}}))}function Ji(e,t){let n=e=>e.kind===`leaf`?e.previewKey===t?{...e,previewKey:null}:e:{...e,children:e.children.map(n)};return n(e)}function Yi(e,t,n){return Ri(e,t,e=>e.tabs.some(e=>J(e)===n)?{...e,activeKey:n}:e)}function Xi(e,t,n){function r(e){return e.kind===`leaf`?e:e.id===t&&n.length===e.children.length?{...e,children:e.children.map(r),sizes:[...n]}:{...e,children:e.children.map(r)}}return r(e)}function Zi(e,t){let n=e=>e.kind===`leaf`?{...e,tabs:e.tabs.filter(t)}:{...e,children:e.children.map(n)};return Li(n(e))}function Qi(e){let t=e.editor_tabs.map(e=>({type:`editor`,tab:e})),n=e.session_tabs.map(e=>({type:`terminal`,session:e})),r=e.active_editor_tab?J({type:`editor`,tab:e.active_editor_tab}):null,i=e.active_session?`term:${e.active_session}`:null;if(t.length===0&&n.length===0)return Ai([]);if(t.length===0)return Ai(n,i);if(n.length===0)return Ai(t,r);let a=e.layout,o=typeof a.editor==`number`?a.editor:40,s=typeof a.session==`number`?a.session:60;return Li(ji(`col`,[Ai(t,r),Ai(n,i)],[o,s]))}var $i=(0,W.createContext)(null);function ea({tree:e,onOpenFile:t,children:n}){let r=(0,W.useRef)(null),i=(0,W.useRef)(new Map).current,a=(0,W.useMemo)(()=>{let t=new Set;for(let n of Pi(e))for(let e of n.tabs)e.type===`terminal`&&t.add(e.session);return[...t]},[e]),o=e=>{let t=`term:${e}`,n=i.get(t);return n||(n=document.createElement(`div`),n.className=`size-full`,i.set(t,n)),n};(0,W.useEffect)(()=>{let e=new Set(a.map(e=>`term:${e}`));for(let e of a){let t=i.get(`term:${e}`);t&&!t.parentElement&&r.current?.appendChild(t)}for(let[t,n]of[...i])e.has(t)||(n.remove(),i.delete(t))},[a,i]);let s=(0,W.useMemo)(()=>({parkingRef:r,containers:i}),[i]);return(0,U.jsxs)($i.Provider,{value:s,children:[(0,U.jsx)(`div`,{ref:r,className:`hidden`,"aria-hidden":!0}),a.map(e=>(0,Ei.createPortal)((0,U.jsx)(kt,{stream:e,onOpenFile:(n,r,i)=>t(e,n,r,i)}),o(e),e)),n]})}function ta(e){let t=(0,W.useContext)($i),n=(0,W.useRef)(null);return(0,W.useEffect)(()=>{let r=n.current;if(!t||!e||!r)return;let i=t.containers.get(e);return i&&r.appendChild(i),()=>{let e=t.parkingRef.current;i&&e&&i.parentElement===r&&e.appendChild(i)}},[t,e]),n}function na(e,t){let n={};for(let r of t){let t=e[r];if(typeof t!=`number`)return;n[r]=t}return n}var ra={added:{letter:`A`,label:`added`,colourClass:`text-running`},modified:{letter:`M`,label:`modified`,colourClass:`text-fg-secondary`},deleted:{letter:`D`,label:`deleted`,colourClass:`text-interrupted`},renamed:{letter:`R`,label:`renamed`,colourClass:`text-waiting`}};function ia(e){return ra[e]}var aa=[`modified`,`added`,`deleted`,`renamed`];function oa(e){let t=new Map;for(let n of e)t.set(n.status,(t.get(n.status)??0)+1);return aa.filter(e=>t.has(e)).map(e=>`${t.get(e)} ${ra[e].label}`).join(` · `)}var sa=[`var(--accent)`,`var(--status-running)`,`var(--status-waiting)`,`var(--ansi-magenta)`,`var(--ansi-cyan)`,`var(--status-interrupted)`];function ca(e){return sa[e%sa.length]}function la(e){let t=[],n=0,r=0,i=()=>{let e=t.indexOf(null);return e===-1?t.length:e},a=()=>{let e=[];for(let n=0;n<t.length;n++){let r=t[n];r&&e.push({col:n,sha:r.sha,colour:ca(r.colourIdx)})}return e},o=[],s=[];for(let c of e){let e=c.parents??[],l=[];for(let e=0;e<t.length;e++)t[e]?.sha===c.sha&&l.push(e);let u,d;l.length>0?(u=l[0],d=t[u].colourIdx):(u=i(),d=n++);let f=ca(d);for(let e of l)t[e]=null;for(;t.length<=u;)t.push(null);let p=[];if(e.length>0){t[u]={sha:e[0],colourIdx:d},p.push(u);for(let r=1;r<e.length;r++){let a=e[r],o=t.findIndex(e=>e?.sha===a);if(o===-1){for(o=i();t.length<=o;)t.push(null);t[o]={sha:a,colourIdx:n++}}p.push(o)}}else t[u]=null;let m=a();o.push({sha:c.sha,col:u,colour:f,above:s,below:m,created:p}),s=m,r=Math.max(r,t.length)}return{rows:o,laneCount:r}}var ua=7,da=14,fa=4,pa=1.5,ma=40,ha=22;function ga(e){return e*da+da/2}function _a(e,t,n,r){if(e===n)return`M ${e} ${t} L ${n} ${r}`;let i=(t+r)/2;return`M ${e} ${t} C ${e} ${i}, ${n} ${i}, ${n} ${r}`}function va({row:e,width:t}){let n=ma,r=n/2,i=ga(e.col),a=new Set(e.created),o=[];for(let t of e.above){let n=ga(t.col);t.sha===e.sha?o.push({d:_a(n,0,i,r),colour:t.colour}):o.push({d:_a(n,0,n,r),colour:t.colour})}for(let t of e.below){let e=ga(t.col);a.has(t.col)?o.push({d:_a(i,r,e,n),colour:t.colour}):o.push({d:_a(e,r,e,n),colour:t.colour})}return(0,U.jsxs)(`svg`,{width:t,height:n,className:`shrink-0`,"aria-hidden":!0,children:[o.map((e,t)=>(0,U.jsx)(`path`,{d:e.d,fill:`none`,stroke:e.colour,strokeWidth:pa},t)),(0,U.jsx)(`circle`,{cx:i,cy:r,r:fa,fill:`var(--bg-surface)`,stroke:e.colour,strokeWidth:pa})]})}function ya({lanes:e,width:t}){return(0,U.jsx)(`svg`,{width:t,height:ha,className:`shrink-0`,"aria-hidden":!0,children:e.map(e=>{let t=ga(e.col);return(0,U.jsx)(`path`,{d:`M ${t} 0 L ${t} ${ha}`,fill:`none`,stroke:e.colour,strokeWidth:pa},e.col)})})}function ba({session:e,sha:t,lanes:n,gutterW:r,onOpen:i}){let a=c(e,t),o=e=>(0,U.jsxs)(`div`,{className:`flex items-center`,style:{height:ha},children:[(0,U.jsx)(ya,{lanes:n,width:r}),(0,U.jsx)(`span`,{className:`px-2 text-2xs text-fg-muted`,children:e})]});return a.isPending?o(`…`):a.error?o(a.error instanceof Error?a.error.message:`Failed to load commit`):a.data.files.length===0?o(`No file changes.`):(0,U.jsx)(U.Fragment,{children:a.data.files.map(e=>{let a=ia(e.status),o=e.status===`renamed`&&e.old_path?`${e.old_path} → ${e.path}`:e.path;return(0,U.jsxs)(`button`,{type:`button`,title:o,onClick:()=>i(e.path,t),className:`flex w-full items-center text-left transition-colors hover:bg-elevated`,style:{height:ha},children:[(0,U.jsx)(ya,{lanes:n,width:r}),(0,U.jsx)(`span`,{className:F(`mr-1.5 w-3 shrink-0 text-center font-mono text-xs`,a.colourClass),children:a.letter}),(0,U.jsx)(`span`,{className:`truncate pr-3 font-mono text-2xs text-fg`,children:o})]},`${e.status}:${e.old_path??``}:${e.path}`)})})}function xa({session:e,onOpenCommitFile:t}){let n=a(e),[r,i]=(0,W.useState)(null),o=(0,W.useMemo)(()=>n.data?.pages.flatMap(e=>e.commits)??[],[n.data]),s=(0,W.useMemo)(()=>la(o),[o]),c=Math.max(1,s.laneCount)*da+da/2;return n.isPending?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`Loading history…`}):n.error?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:n.error instanceof Error?n.error.message:`Failed to load history`}):o.length===0?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No commits yet.`}):(0,U.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:[s.rows.map((n,a)=>{let s=o[a],l=r===n.sha;return(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>i(l?null:n.sha),className:F(`flex w-full items-center text-left transition-colors hover:bg-elevated`,l&&`bg-selection`),style:{height:ma},children:[(0,U.jsx)(va,{row:n,width:c}),(0,U.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5 pr-3`,children:[(0,U.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,U.jsx)(`span`,{className:`shrink-0 font-mono text-2xs text-fg-muted`,children:n.sha.slice(0,ua)}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-fg`,children:s.subject})]}),(0,U.jsxs)(`span`,{className:`truncate text-2xs text-fg-muted`,children:[s.author_name,` ·`,` `,(0,U.jsx)(`span`,{className:`tabular-nums`,children:u(s.authored_at)})]})]})]}),l&&(0,U.jsx)(ba,{session:e,sha:n.sha,lanes:n.below,gutterW:c,onOpen:t})]},n.sha)}),n.hasNextPage&&(0,U.jsx)(`button`,{type:`button`,onClick:()=>void n.fetchNextPage(),disabled:n.isFetchingNextPage,className:`px-3 py-2 text-left font-mono text-xs text-fg-muted transition-colors hover:bg-elevated`,children:n.isFetchingNextPage?`Loading…`:`Show more`})]})}function Sa(){return{dirs:new Map,files:[]}}function Ca(e){return e.path}function wa(e,t){let n=[];for(let[r,i]of e.dirs){let e=t?`${t}/${r}`:r,a={type:`dir`,name:r,path:e,children:wa(i,e)};for(;a.children.length===1&&a.children[0].type===`dir`;){let e=a.children[0];a={type:`dir`,name:`${a.name}/${e.name}`,path:e.path,children:e.children}}n.push(a)}n.sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`}));let r=[...e.files].sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`}));return[...n,...r]}function Ta(e){let t=Sa();for(let n of e){let e=Ca(n),r=e.split(`/`),i=r.pop(),a=t;for(let e of r){let t=a.dirs.get(e);t||(t=Sa(),a.dirs.set(e,t)),a=t}a.files.push({type:`file`,name:i,path:e,entry:n})}return wa(t,``)}function Ea(e){return e.map(e=>({type:`file`,name:Ca(e).split(`/`).pop()??Ca(e),path:Ca(e),entry:e})).sort((e,t)=>e.path.localeCompare(t.path,void 0,{sensitivity:`base`}))}function Da({name:e,fullPath:t,status:n,depth:r,active:i,onOpen:a}){let o=ia(n);return(0,U.jsxs)(`button`,{type:`button`,title:t,onClick:()=>a(t),className:F(`flex w-full items-center gap-1.5 py-1 pr-3 text-left transition-colors hover:bg-elevated`,i&&`bg-selection`),style:{paddingLeft:8+r*12},children:[(0,U.jsx)(`span`,{className:F(`w-3 shrink-0 text-center font-mono text-xs`,o.colourClass),children:o.letter}),(0,U.jsx)(`span`,{className:`truncate font-mono text-xs text-fg`,children:e})]})}function Oa({nodes:e,depth:t,activePath:n,onOpen:r}){let[i,a]=(0,W.useState)(new Set);return(0,U.jsx)(U.Fragment,{children:e.map(e=>{if(e.type===`file`)return(0,U.jsx)(Da,{name:e.name,fullPath:e.path,status:e.entry.status,depth:t,active:n===e.path,onOpen:r},e.path);let o=i.has(e.path);return(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>a(t=>{let n=new Set(t);return n.has(e.path)?n.delete(e.path):n.add(e.path),n}),className:`flex w-full items-center gap-1 py-1 pr-3 text-left transition-colors hover:bg-elevated`,style:{paddingLeft:8+t*12},children:[o?(0,U.jsx)(ve,{className:`size-3.5 shrink-0 text-fg-gold`}):(0,U.jsx)(Pe,{className:`size-3.5 shrink-0 text-fg-gold`}),(0,U.jsx)(`span`,{className:`truncate font-mono text-xs text-fg-secondary`,children:e.name})]}),!o&&(0,U.jsx)(Oa,{nodes:e.children,depth:t+1,activePath:n,onOpen:r})]},e.path)})})}function ka({session:e,activePath:t,onOpen:n}){let[r,i]=(0,W.useState)(!1),a=f(e,{against:`head`}),o=a.data?.entries??[],s=(0,W.useMemo)(()=>r?null:Ta(o),[r,o]),c=(0,W.useMemo)(()=>r?Ea(o):null,[r,o]);return(0,U.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-3`,children:[(0,U.jsx)(`span`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Uncommitted`}),o.length>0&&(0,U.jsx)(`span`,{className:`truncate font-mono text-2xs text-fg-muted`,children:oa(o)}),(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"aria-pressed":!r,onClick:()=>i(e=>!e),className:`ml-auto rounded-sm p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[r?(0,U.jsx)(ln,{className:`size-3.5`}):(0,U.jsx)(an,{className:`size-3.5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:r?`Show as tree`:`Show as flat list`})]})}),(0,U.jsx)(et,{children:r?`Show as tree`:`Show as flat list`})]})]}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-1`,children:a.isPending?(0,U.jsx)(`div`,{className:`px-3 py-1.5 text-xs text-fg-muted`,children:`Loading changes…`}):a.error?(0,U.jsx)(`div`,{className:`px-3 py-1.5 text-xs text-fg-muted`,children:a.error instanceof Error?a.error.message:`Failed to load changes`}):o.length===0?(0,U.jsx)(`div`,{className:`px-3 py-1.5 text-xs text-fg-muted`,children:`No uncommitted changes.`}):r?c.map(e=>(0,U.jsx)(Da,{name:e.path,fullPath:e.path,status:e.entry.status,depth:0,active:t===e.path,onOpen:n},e.path)):(0,U.jsx)(Oa,{nodes:s,depth:0,activePath:t,onOpen:n})})]})}function Aa({session:e,activeDiffPath:t,onOpenDiff:n,onOpenCommitFile:r}){return(0,U.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsx)(`section`,{className:`flex max-h-[45%] min-h-0 flex-col`,children:(0,U.jsx)(ka,{session:e,activePath:t,onOpen:n})}),(0,U.jsx)(`div`,{className:`h-px shrink-0 bg-border`}),(0,U.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsx)(`div`,{className:`flex h-7 shrink-0 items-center px-3`,children:(0,U.jsx)(`span`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`History`})}),(0,U.jsx)(xa,{session:e,onOpenCommitFile:r})]})]})}var ja={untracked:{letter:`U`,colourClass:`text-running`},added:{letter:`A`,colourClass:`text-running`},modified:{letter:`M`,colourClass:`text-waiting`},renamed:{letter:`R`,colourClass:`text-waiting`},deleted:{letter:`D`,colourClass:`text-interrupted`},conflicted:{letter:`C`,colourClass:`text-interrupted`},ignored:{letter:``,colourClass:`text-fg-muted`}};function Ma(e){return ja[e]}function Na(e){let t=new Map;for(let n of e)t.set(n.path,n.status);return t}var Pa={conflicted:0,modified:1,renamed:2,deleted:3,added:4,untracked:5,ignored:6};function Fa(e,t){let n=t===``?``:`${t}/`,r=null;for(let[t,i]of e)n!==``&&!t.startsWith(n)||i!==`ignored`&&(r===null||Pa[i]<Pa[r])&&(r=i);return r}function Ia(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function La(e){let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t)}function Ra(e,t){return e===``?t:`${e}/${t}`}function za(e,t){let n=[],r=(i,a)=>{let o=e(i);if(o)for(let e of o.entries){let o=Ra(i,e.name);n.push({path:o,name:e.name,type:e.type,depth:a,parentDir:i}),e.type===`dir`&&t.has(o)&&r(o,a+1)}};return r(``,0),n}function Ba(e,t,n){let r=e.findIndex(e=>e.path===t),i=e.findIndex(e=>e.path===n);if(r===-1||i===-1)return n?[n]:[];let[a,o]=r<=i?[r,i]:[i,r];return e.slice(a,o+1).map(e=>e.path)}var Va=(e,t)=>e instanceof Error?e.message:t;function Ha(e){let t=i(),n=(0,W.useCallback)(()=>{t.invalidateQueries({queryKey:[`wt-tree`,e]}),t.invalidateQueries({queryKey:[`wt-git-status`,e]})},[t,e]);return(0,W.useMemo)(()=>({async create(t,r,i){try{let a=await m(e,Ra(t,r),i);return n(),a.path}catch(e){return w.error(Va(e,`Couldn't create ${r}`)),null}},async rename(t,r){let i=Ra(t.includes(`/`)?t.slice(0,t.lastIndexOf(`/`)):``,r);try{let r=await d(e,t,i);return n(),r.path}catch(e){return w.error(Va(e,`Couldn't rename ${Ia(t)}`)),null}},async move(t,r){try{let i=await d(e,t,Ra(r,Ia(t)));return n(),i.path}catch(e){return w.error(Va(e,`Couldn't move ${Ia(t)}`)),null}},async remove(t){let r=await Promise.allSettled(t.map(t=>h(e,t)));n();let i=r.filter(e=>e.status===`rejected`).length;i>0?w.error(`Couldn't delete ${i} item${i>1?`s`:``}`):w.success(t.length===1?`Deleted ${Ia(t[0])}`:`Deleted ${t.length} items`)},async paste(t,r){let i=t.mode===`cut`?d:o,a=await Promise.allSettled(t.paths.map(t=>i(e,t,Ra(r,Ia(t)))));n();let s=a.filter(e=>e.status===`rejected`).length;s>0&&w.error(`Couldn't paste ${s} item${s>1?`s`:``}`)}}),[e,n])}function Ua(e,t,n){return n&&n.type!==`dir`||(e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``)===t?!1:t===``||!`${t}/`.startsWith(`${e}/`)}var Wa=(0,W.createContext)(null);function Ga(){let e=(0,W.useContext)(Wa);if(!e)throw Error(`explorer components must render inside <ExplorerProvider>`);return e}function Ka(){return(0,W.useContext)(Wa)}function qa({session:e,onOpenFile:t,activePath:n,children:r}){let a=e.id,o=i(),c=Ha(a),u=(0,W.useCallback)((e,t)=>{t.length!==0&&_(a,e,t).then(()=>{o.invalidateQueries({queryKey:[`wt-tree`,a,e]}),o.invalidateQueries({queryKey:[`wt-git-status`,a]}),w.success(t.length===1?`Uploaded ${t[0].name}`:`Uploaded ${t.length} files`)}).catch(e=>w.error(e instanceof Error?e.message:`Upload failed`))},[a,o]),[d,f]=(0,W.useState)(new Set),[p,m]=(0,W.useState)(new Set),[h,g]=(0,W.useState)(null),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(null),[S,C]=(0,W.useState)(null),[T,E]=(0,W.useState)(null),D=(0,W.useRef)(null),ee=l(a),O=(0,W.useMemo)(()=>Na(ee.data?.entries??[]),[ee.data]),[k,te]=(0,W.useState)(0);(0,W.useEffect)(()=>o.getQueryCache().subscribe(e=>{let t=e.query.queryKey;Array.isArray(t)&&t[0]===`wt-tree`&&t[1]===a&&te(e=>e+1)}),[o,a]);let A=(0,W.useMemo)(()=>za(e=>o.getQueryData([`wt-tree`,a,e]),d),[o,a,d,k]),j=(0,W.useCallback)(e=>{f(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),M=(0,W.useCallback)(e=>{f(t=>t.has(e)?t:new Set(t).add(e))},[]),N=(0,W.useCallback)(()=>f(new Set),[]),P=(0,W.useCallback)((e,n)=>{if(g(e.path),n.metaKey||n.ctrlKey){m(t=>{let n=new Set(t);return n.has(e.path)?n.delete(e.path):n.add(e.path),n}),D.current=e.path;return}if(n.shiftKey&&D.current){m(new Set(Ba(A,D.current,e.path)));return}m(new Set([e.path])),D.current=e.path,e.type===`dir`?j(e.path):t?.(a,e.path)},[A,j,t,a]),ne=(0,W.useCallback)(e=>{e.type!==`dir`&&t?.(a,e.path,{preview:!1})},[t,a]),re=(0,W.useCallback)(e=>{m(new Set([e])),g(e),D.current=e},[]),F=(0,W.useCallback)(e=>y({paths:e,mode:`cut`}),[]),I=(0,W.useCallback)(e=>y({paths:e,mode:`copy`}),[]),ie=(0,W.useCallback)(e=>{v&&c.paste(v,e).then(()=>{v.mode===`cut`&&y(null)})},[v,c]),L=(0,W.useCallback)(e=>x({mode:`rename`,path:e}),[]),ae=(0,W.useCallback)((e,t)=>{e!==``&&M(e),x({mode:`create`,parentDir:e,kind:t})},[M]),oe=(0,W.useCallback)(()=>x(null),[]),se=(0,W.useCallback)(e=>{let n=e.trim(),r=b;if(x(null),!(!r||n===``))if(r.mode===`rename`){if(n===Ia(r.path))return;c.rename(r.path,n)}else c.create(r.parentDir,n,r.kind).then(e=>{e&&r.kind===`file`&&t?.(a,e)})},[b,c,t,a]),ce=(0,W.useCallback)(e=>{e.length>0&&E(e)},[]),le=(0,W.useCallback)(()=>{let e=T;E(null),e&&c.remove(e)},[T,c]),ue=(0,W.useCallback)(()=>E(null),[]),de=(0,W.useCallback)((t,n)=>{let r=n?t:Ra(e.worktree_path,t);navigator.clipboard.writeText(r),w.success(n?`Relative path copied`:`Path copied`)},[e.worktree_path]),R=(0,W.useCallback)(e=>{s(a,e).catch(e=>w.error(e instanceof Error?e.message:`Download failed`))},[a]),fe=(0,W.useCallback)(()=>{o.invalidateQueries({queryKey:[`wt-tree`,a]}),o.invalidateQueries({queryKey:[`wt-git-status`,a]})},[o,a]),pe=(0,W.useCallback)((e,t)=>{Ua(t,e)&&c.move(t,e)},[c]),z=(0,W.useCallback)(()=>h&&p.has(h)?[...p]:h?[h]:[...p],[h,p]),me=(0,W.useRef)({buffer:``,at:0}),he=(0,W.useCallback)(e=>{if(b)return;let n=A;if(n.length===0)return;let r=h?n.findIndex(e=>e.path===h):-1,i=(e,t)=>{let r=n[Math.max(0,Math.min(n.length-1,e))];r&&(g(r.path),t&&D.current?m(new Set(Ba(n,D.current,r.path))):(m(new Set([r.path])),D.current=r.path))},o=r>=0?n[r]:void 0,s=e.metaKey||e.ctrlKey;switch(e.key){case`ArrowDown`:e.preventDefault(),i(r+1,e.shiftKey);return;case`ArrowUp`:e.preventDefault(),i(r<=0?0:r-1,e.shiftKey);return;case`ArrowRight`:e.preventDefault(),o?.type===`dir`&&!d.has(o.path)?M(o.path):o?.type===`dir`&&i(r+1,!1);return;case`ArrowLeft`:if(e.preventDefault(),o?.type===`dir`&&d.has(o.path))j(o.path);else if(o){let e=n.findIndex(e=>e.path===o.parentDir);e>=0&&i(e,!1)}return;case`Enter`:case` `:if(e.preventDefault(),!o)return;o.type===`dir`?j(o.path):t?.(a,o.path);return;case`F2`:e.preventDefault(),o&&L(o.path);return;case`Delete`:e.preventDefault(),ce(z());return;case`Backspace`:s&&(e.preventDefault(),ce(z()));return}if(s&&(e.key===`c`||e.key===`C`)){e.preventDefault();let t=z();e.altKey?de(t[0]??``,e.shiftKey):I(t);return}if(s&&(e.key===`x`||e.key===`X`)){e.preventDefault(),F(z());return}if(s&&(e.key===`v`||e.key===`V`)){e.preventDefault();let t=o?o.type===`dir`?o.path:o.parentDir:``;ie(t);return}if(!s&&!e.altKey&&e.key.length===1&&/\S/.test(e.key)){let t=Date.now(),a=me.current;a.buffer=t-a.at>700?e.key:a.buffer+e.key,a.at=t;let o=a.buffer.toLowerCase(),s=r+1;for(let e=0;e<n.length;e++){let t=n[(s+e)%n.length];if(t.name.toLowerCase().startsWith(o)){i(n.findIndex(e=>e.path===t.path),!1);break}}}},[b,A,h,d,M,j,t,a,L,ce,z,I,F,ie,de]),ge={sid:a,worktreePath:e.worktree_path,onOpenFile:t,activePath:n,expanded:d,toggle:j,collapseAll:N,statusMap:O,visibleRows:A,selection:p,focusedPath:h,onRowClick:P,onRowDoubleClick:ne,selectOnly:re,clipboard:v,cut:F,copy:I,paste:ie,editing:b,beginRename:L,beginCreate:ae,cancelEdit:oe,commitEdit:se,requestDelete:ce,copyPathToClipboard:de,download:R,refresh:fe,onUpload:u,dropTarget:S,setDropTarget:C,onInternalDrop:pe,handleKeyDown:he,pendingDelete:T,confirmDelete:le,cancelDelete:ue};return(0,U.jsx)(Wa.Provider,{value:ge,children:r})}var Ja=`application/x-puddle-tab`;function Ya(e){return JSON.stringify(e)}function Xa(e){try{return S.parse(JSON.parse(e))}catch{return null}}function Za(e){return e.includes(Ja)}var Qa={"package.json":Ut,"package-lock.json":Jt,"pnpm-lock.yaml":Jt,"yarn.lock":Jt,"pnpm-workspace.yaml":Wt,dockerfile:H,".gitignore":Wt,".gitattributes":Wt,"readme.md":$t,license:$t,licence:$t},$a={ts:H,tsx:H,mts:H,cts:H,js:H,jsx:H,mjs:H,cjs:H,py:H,rs:H,go:H,rb:H,php:H,java:H,kt:H,c:H,h:H,cpp:H,hpp:H,cc:H,html:H,htm:H,xml:H,vue:H,sql:H,json:Ut,jsonc:Ut,yml:Wt,yaml:Wt,toml:Wt,ini:Wt,cfg:Wt,conf:Wt,env:qt,lock:Jt,csv:Zt,tsv:Zt,xlsx:Zt,xls:Zt,md:$t,mdx:$t,markdown:$t,txt:$t,rtf:$t,log:$t,pdf:$t,css:en,scss:en,sass:en,less:en,sh:Qt,bash:Qt,zsh:Qt,fish:Qt,svg:Kt,png:Kt,jpg:Kt,jpeg:Kt,gif:Kt,webp:Kt,bmp:Kt,ico:Kt,avif:Kt,mp4:Yt,mov:Yt,webm:Yt,mkv:Yt,avi:Yt,mp3:Gt,wav:Gt,flac:Gt,ogg:Gt,m4a:Gt,zip:Ht,tar:Ht,gz:Ht,tgz:Ht,rar:Ht,"7z":Ht};function eo(e){let t=e.toLowerCase(),n=Qa[t];if(n)return{Icon:n,generic:!1};let r=t.lastIndexOf(`.`);if(r>0){let e=$a[t.slice(r+1)];if(e)return{Icon:e,generic:!1}}return{Icon:tn,generic:!0}}function to({name:e,dimmed:t}){let{Icon:n,generic:r}=eo(e);return(0,U.jsx)(n,{className:F(`size-3.5 shrink-0`,t||r?`text-fg-muted`:`text-fg`)})}var no=14,ro=`application/x-puddle-path`;function io(e,t){let n=Array.from(e??[]).map(e=>e.webkitGetAsEntry?.()??null);return n.some(e=>e?.isDirectory)&&w.error(`Folders can't be uploaded yet — zip them first`),Array.from(t).filter((e,t)=>n[t]?.isDirectory!==!0)}function ao({children:e}){return(0,U.jsx)(`span`,{className:`ml-auto pl-6 text-2xs text-fg-muted tabular-nums`,children:e})}function oo({depth:e,initial:t,icon:n,onCommit:r,onCancel:i}){let a=(0,W.useRef)(null),o=(0,W.useRef)(!1);(0,W.useEffect)(()=>{let e=a.current;if(!e)return;e.focus();let n=t.lastIndexOf(`.`);e.setSelectionRange(0,n>0?n:t.length)},[t]);let s=()=>{o.current||(o.current=!0,r(a.current?.value??``))};return(0,U.jsxs)(`div`,{className:`flex h-6 items-center gap-1 pr-2`,style:{paddingLeft:e*no+8},children:[(0,U.jsx)(`span`,{className:`size-3.5 shrink-0`}),n,(0,U.jsx)(`input`,{ref:a,defaultValue:t,spellCheck:!1,onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`?s():e.key===`Escape`&&(o.current=!0,i())},onBlur:s,className:`min-w-0 flex-1 bg-surface font-mono text-sm text-fg outline-none`})]})}function so({path:e,entry:t,depth:n}){let r=Ga(),i=t.type===`dir`,a=i&&r.expanded.has(e),o=i&&r.dropTarget===e,s=!i&&e===r.activePath,c=r.selection.has(e),l=r.clipboard?.mode===`cut`&&r.clipboard.paths.includes(e),u={path:e,name:t.name,type:t.type,depth:n,parentDir:La(e)},d=r.statusMap.get(e),f=i?Fa(r.statusMap,e):null,p=d?Ma(d):f?Ma(f):null,m=p?p.colourClass:t.name.startsWith(`.`)?`text-fg-muted`:`text-fg`,h=c&&r.selection.size>1?[...r.selection]:[e],g=i?e:La(e),_=r.clipboard!==null;return r.editing?.mode===`rename`&&r.editing.path===e?(0,U.jsx)(oo,{depth:n,initial:t.name,icon:i?(0,U.jsx)(nn,{className:`size-3.5 shrink-0 text-fg`}):(0,U.jsx)(to,{name:t.name}),onCommit:r.commitEdit,onCancel:r.cancelEdit}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(Te,{children:[(0,U.jsx)(z,{asChild:!0,children:(0,U.jsxs)(`div`,{role:`treeitem`,"data-path":e,"aria-expanded":i?a:void 0,"aria-selected":c,tabIndex:-1,draggable:!0,onClick:e=>{e.currentTarget.closest(`[data-explorer-root]`)?.focus(),r.onRowClick(u,e)},onDoubleClick:()=>r.onRowDoubleClick(u),onContextMenu:()=>{c||r.selectOnly(e)},onDragStart:t=>{t.dataTransfer.setData(ro,e),i||t.dataTransfer.setData(Ja,Ya({type:`editor`,tab:{kind:`file`,session:r.sid,path:e}})),t.dataTransfer.effectAllowed=`copyMove`},onDragOver:t=>{i&&(t.preventDefault(),t.stopPropagation(),r.setDropTarget(e))},onDragLeave:e=>{i&&e.currentTarget===e.target&&r.setDropTarget(null)},onDrop:t=>{if(!i)return;t.preventDefault(),t.stopPropagation(),r.setDropTarget(null);let n=t.dataTransfer.getData(ro);n?r.onInternalDrop(e,n):r.onUpload(e,io(t.dataTransfer.items,t.dataTransfer.files))},style:{paddingLeft:n*no+8},className:F(`flex h-6 cursor-pointer items-center gap-1 pr-2 text-sm transition-colors hover:bg-elevated`,c?`bg-selection`:s&&`bg-elevated`,o&&`bg-selection`,l&&`opacity-50`),children:[i?(0,U.jsx)(ve,{className:F(`size-3.5 shrink-0 text-fg-gold transition-transform duration-150`,a&&`rotate-90`)}):(0,U.jsx)(`span`,{className:`size-3.5 shrink-0`}),i?a?(0,U.jsx)(vt,{className:F(`size-3.5 shrink-0`,f?p?.colourClass:`text-fg`)}):(0,U.jsx)(nn,{className:F(`size-3.5 shrink-0`,f?p?.colourClass:`text-fg`)}):t.type===`symlink`?(0,U.jsx)(cn,{className:`size-3.5 shrink-0 text-fg`}):(0,U.jsx)(to,{name:t.name,dimmed:d===`ignored`}),(0,U.jsx)(`span`,{className:F(`min-w-0 flex-1 truncate font-mono`,m),children:t.name}),d&&p&&p.letter&&(0,U.jsx)(`span`,{className:F(`shrink-0 font-mono text-2xs`,p.colourClass),children:p.letter})]})}),(0,U.jsxs)(xe,{children:[i&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(V,{onSelect:()=>r.beginCreate(e,`file`),children:`New File…`}),(0,U.jsx)(V,{onSelect:()=>r.beginCreate(e,`dir`),children:`New Folder…`}),(0,U.jsx)(B,{})]}),(0,U.jsxs)(V,{onSelect:()=>r.cut(h),children:[`Cut `,(0,U.jsx)(ao,{children:`⌘X`})]}),(0,U.jsxs)(V,{onSelect:()=>r.copy(h),children:[`Copy `,(0,U.jsx)(ao,{children:`⌘C`})]}),(0,U.jsxs)(V,{disabled:!_,onSelect:()=>r.paste(g),children:[`Paste `,(0,U.jsx)(ao,{children:`⌘V`})]}),(0,U.jsx)(B,{}),(0,U.jsxs)(V,{onSelect:()=>r.copyPathToClipboard(e,!1),children:[`Copy Path `,(0,U.jsx)(ao,{children:`⌥⌘C`})]}),(0,U.jsxs)(V,{onSelect:()=>r.copyPathToClipboard(e,!0),children:[`Copy Relative Path `,(0,U.jsx)(ao,{children:`⌥⇧⌘C`})]}),(0,U.jsx)(B,{}),(0,U.jsxs)(V,{onSelect:()=>r.beginRename(e),children:[`Rename… `,(0,U.jsx)(ao,{children:`F2`})]}),(0,U.jsxs)(V,{onSelect:()=>r.requestDelete(h),children:[`Delete `,(0,U.jsx)(ao,{children:`⌘⌫`})]}),(0,U.jsx)(B,{}),(0,U.jsx)(V,{onSelect:()=>r.download(e),children:`Download`})]})]}),i&&a&&(0,U.jsx)(co,{sid:r.sid,path:e,depth:n+1})]})}function co({sid:e,path:t,depth:n}){let r=Ga(),i=y(e,t),a={paddingLeft:n*no+8},o=r.editing,s=o?.mode===`create`&&o.parentDir===t?(0,U.jsx)(lo,{depth:n,kind:o.kind}):null;if(i.isLoading)return(0,U.jsxs)(U.Fragment,{children:[s,(0,U.jsx)(`div`,{style:a,className:`py-0.5 text-xs text-fg-muted`,children:`Loading…`})]});if(i.isError)return(0,U.jsx)(`div`,{style:a,className:`py-0.5 text-xs text-fg-muted`,children:i.error instanceof Error?i.error.message:`Couldn't load this folder.`});let c=i.data?.entries??[];return c.length===0&&!s?(0,U.jsx)(`div`,{style:a,className:`py-0.5 text-xs text-fg-muted`,children:`Empty`}):(0,U.jsxs)(U.Fragment,{children:[s,c.map(e=>(0,U.jsx)(so,{path:Ra(t,e.name),entry:e,depth:n},e.name))]})}function lo({depth:e,kind:t}){let n=Ga(),[r,i]=(0,W.useState)(``);return(0,U.jsx)(oo,{depth:e,initial:r,icon:t===`dir`?(0,U.jsx)(nn,{className:`size-3.5 shrink-0 text-fg`}):(0,U.jsx)(to,{name:r||`file`}),onCommit:e=>{i(e),n.commitEdit(e)},onCancel:n.cancelEdit})}function uo(){return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(fo,{}),(0,U.jsx)(po,{})]})}function fo(){let e=Ga(),t=(0,W.useRef)(null);(0,W.useEffect)(()=>{!e.focusedPath||!t.current||t.current.querySelector(`[data-path="${CSS.escape(e.focusedPath)}"]`)?.scrollIntoView({block:`nearest`})},[e.focusedPath]);let n=e.clipboard!==null;return(0,U.jsxs)(Te,{children:[(0,U.jsx)(z,{asChild:!0,children:(0,U.jsx)(`div`,{ref:t,"data-explorer-root":!0,role:`tree`,tabIndex:0,onKeyDown:e.handleKeyDown,onPaste:t=>e.onUpload(``,io(t.clipboardData.items,t.clipboardData.files)),onDragOver:t=>{t.preventDefault(),e.setDropTarget(``)},onDragLeave:t=>{t.currentTarget===t.target&&e.setDropTarget(null)},onDrop:t=>{t.preventDefault(),e.setDropTarget(null);let n=t.dataTransfer.getData(`application/x-puddle-path`);n?e.onInternalDrop(``,n):e.onUpload(``,io(t.dataTransfer.items,t.dataTransfer.files))},className:F(`h-full overflow-y-auto py-1 outline-none`,e.dropTarget===``&&`bg-selection`),children:(0,U.jsx)(co,{sid:e.sid,path:``,depth:0})})}),(0,U.jsxs)(xe,{children:[(0,U.jsx)(V,{onSelect:()=>e.beginCreate(``,`file`),children:`New File…`}),(0,U.jsx)(V,{onSelect:()=>e.beginCreate(``,`dir`),children:`New Folder…`}),(0,U.jsx)(B,{}),(0,U.jsx)(V,{disabled:!n,onSelect:()=>e.paste(``),children:`Paste`}),(0,U.jsx)(B,{}),(0,U.jsx)(V,{onSelect:()=>e.copyPathToClipboard(``,!1),children:`Copy Path`}),(0,U.jsx)(V,{onSelect:()=>e.download(``),children:`Download worktree`})]})]})}function po(){let e=Ga(),t=e.pendingDelete;return(0,U.jsx)(ne,{open:t!==null,onOpenChange:t=>!t&&e.cancelDelete(),children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsxs)(N,{children:[`Delete `,t&&t.length===1?`“${Ia(t[0])}”`:`${t?.length??0} items`,`?`]}),(0,U.jsxs)(P,{children:[`This permanently removes `,t&&t.length>1?`them`:`it`,` from the worktree. There is no undo.`]})]}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{variant:`ghost`,onClick:e.cancelDelete,children:`Cancel`}),(0,U.jsx)(k,{variant:`danger`,onClick:e.confirmDelete,children:`Delete`})]})]})})}var mo=/[.*+?^${}()|[\]\\]/g;function ho(e){if(e.query.length===0)return null;try{let t=e.regex?e.query:e.query.replace(mo,`\\$&`);return e.wholeWord&&(t=`\\b(?:${t})\\b`),new RegExp(t,e.caseSensitive?`g`:`gi`)}catch{return null}}function go(e,t){if(!t)return[{text:e,hit:!1}];let n=[],r=0;t.lastIndex=0;let i;for(;(i=t.exec(e))!==null;){if(i[0].length===0){t.lastIndex++;continue}i.index>r&&n.push({text:e.slice(r,i.index),hit:!1}),n.push({text:i[0],hit:!0}),r=i.index+i[0].length}return r<e.length&&n.push({text:e.slice(r),hit:!1}),n.length>0?n:[{text:e,hit:!1}]}var _o=240;function vo(e){let t=e.replace(/^\s+/,``);return t.length>_o?`${t.slice(0,_o)}…`:t}var yo=250;function bo({active:e,label:t,onClick:n,children:r}){return(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:n,className:F(`rounded-sm p-1 transition-colors`,e?`bg-elevated text-accent`:`text-fg-muted hover:bg-elevated hover:text-fg`),children:[r,(0,U.jsx)(`span`,{className:`sr-only`,children:t})]})}),(0,U.jsx)(et,{children:t})]})}function xo({session:e,onOpen:t}){let[n,r]=(0,W.useState)(``),[i,a]=(0,W.useState)(``),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=setTimeout(()=>a(n),yo);return()=>clearTimeout(e)},[n]);let f={query:i,regex:o,caseSensitive:c,wholeWord:u},p=v(e,f),m=(0,W.useMemo)(()=>ho(f),[i,o,c,u]),h=p.data,g=!!h&&(h.files.length>0||h.content.length>0);return(0,U.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 px-2 py-1.5`,children:[(0,U.jsx)(`input`,{value:n,onChange:e=>r(e.target.value),placeholder:`Search files and contents`,spellCheck:!1,autoComplete:`off`,className:`rounded-md bg-elevated px-2 py-1 font-mono text-xs text-fg outline-none placeholder:text-fg-muted`}),(0,U.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,U.jsx)(bo,{active:c,label:`Match case`,onClick:()=>l(e=>!e),children:(0,U.jsx)(Rt,{className:`size-3.5`})}),(0,U.jsx)(bo,{active:u,label:`Match whole word`,onClick:()=>d(e=>!e),children:(0,U.jsx)(bn,{className:`size-3.5`})}),(0,U.jsx)(bo,{active:o,label:`Use regular expression`,onClick:()=>s(e=>!e),children:(0,U.jsx)(gn,{className:`size-3.5`})})]})]}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:i.length===0?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`Search file names and contents.`}):p.isPending?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`Searching…`}):p.error?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:p.error instanceof Error?p.error.message:`Search failed`}):g?(0,U.jsxs)(U.Fragment,{children:[h.files.length>0&&(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`div`,{className:`px-3 pb-0.5 pt-1.5 text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Files`}),h.files.map(e=>(0,U.jsxs)(`button`,{type:`button`,title:e,onClick:()=>t(e),className:`flex w-full items-center gap-1.5 px-3 py-1 text-left transition-colors hover:bg-elevated`,children:[(0,U.jsx)(tn,{className:`size-3.5 shrink-0 text-fg-gold`}),(0,U.jsx)(`span`,{className:`truncate font-mono text-xs text-fg`,children:e})]},e))]}),h.content.length>0&&(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`div`,{className:`px-3 pb-0.5 pt-2 text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Contents`}),h.content.map(e=>(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`truncate px-3 py-1 font-mono text-2xs text-fg-secondary`,title:e.path,children:e.path}),e.matches.map((n,r)=>(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e.path,n.line),className:`flex w-full items-baseline gap-2 py-0.5 pl-6 pr-3 text-left transition-colors hover:bg-elevated`,children:[(0,U.jsx)(`span`,{className:`shrink-0 font-mono text-2xs tabular-nums text-fg-muted`,children:n.line}),(0,U.jsx)(`span`,{className:`truncate font-mono text-2xs text-fg-secondary`,children:go(vo(n.text),m).map((e,t)=>e.hit?(0,U.jsx)(`span`,{className:`text-accent`,children:e.text},t):(0,U.jsx)(`span`,{children:e.text},t))})]},`${n.line}:${r}`))]},e.path))]}),h.truncated&&(0,U.jsx)(`div`,{className:`px-3 py-2 text-2xs text-fg-muted`,children:`Showing the first results — refine the query for more.`})]}):(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No results.`})})]})}function So({text:e,hoverClass:t,className:n,title:r}){let i=(0,W.useRef)(null),[a,o]=(0,W.useState)(0);return(0,W.useEffect)(()=>{let e=i.current;if(!e)return;let t=()=>o(Math.max(0,e.scrollWidth-e.clientWidth));t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]),(0,U.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:(0,U.jsx)(`span`,{ref:i,title:r,className:F(`block whitespace-nowrap transition-transform duration-[900ms] ease-linear`,n,a>0&&t),style:a>0?{"--tail":`-${a}px`}:void 0,children:e})})}var Co=new Set([`starting`,`running`,`waiting_input`]),wo=`group-hover:[transform:translateX(var(--tail))]`;function To(e){return e.split(`/`).filter(Boolean).pop()??e}function Eo({children:e,className:t,title:n}){return(0,U.jsx)(`span`,{title:n,className:F(`shrink-0 text-2xs`,t),children:e})}function Do({label:e,blockReason:t,onClick:n}){return(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,disabled:t!==null,onClick:n,className:F(`-my-1 rounded-sm p-1 text-fg-gold transition-colors hover:text-danger`,t===null?`hidden group-hover:inline-flex`:`hidden`),children:[(0,U.jsx)(Me,{className:`size-3.5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:e})]})}),(0,U.jsx)(et,{children:t?`Can't ${e.toLowerCase()} — ${t}`:e})]})}function Oo({repoId:e,projectId:t,sessions:n}){let r=yt(e),i=wt(e,t),a=nt(e,t),[o,s]=(0,W.useState)(null),[c,l]=(0,W.useState)(null),u=i.isPending||a.isPending,d=(0,W.useMemo)(()=>{let e=new Map;for(let t of n)Co.has(t.status)&&e.set(t.worktree_path,(e.get(t.worktree_path)??0)+1);return e},[n]),f=(0,W.useMemo)(()=>{let e=new Map;for(let t of r.data?.worktrees??[]){let n=t.branch??`(detached)`;(e.get(n)??e.set(n,[]).get(n)).push(t)}return[...e.entries()].sort(([,e],[,t])=>!e.some(e=>e.is_primary)-+!t.some(e=>e.is_primary)||(e[0]?.branch??``).localeCompare(t[0]?.branch??``))},[r.data]),p=(0,W.useMemo)(()=>[...r.data?.orphan_branches??[]].sort((e,t)=>e.name.localeCompare(t.name)),[r.data]);return r.isPending?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`Loading worktrees…`}):r.error?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:r.error instanceof Error?r.error.message:`Failed to load worktrees`}):(0,U.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:[f.length===0&&p.length===0&&(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No worktrees.`}),f.map(([e,t])=>(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`div`,{className:`group flex items-center gap-1.5 px-3 pb-0.5 pt-2 text-2xs text-fg-muted`,children:[(0,U.jsx)(sn,{className:`size-3 shrink-0 text-fg-gold`}),(0,U.jsx)(So,{text:e,className:`font-mono`,hoverClass:wo})]}),t.map(e=>{let t=d.get(e.path)??0,n=e.is_primary?`the repository clone`:e.dirty?`uncommitted changes`:t>0?`${t} running session${t>1?`s`:``}`:null;return(0,U.jsxs)(`div`,{className:`group flex items-center gap-2 px-3 py-1 pl-6 transition-colors hover:bg-elevated`,children:[(0,U.jsx)(So,{text:To(e.path),title:e.path,className:`font-mono text-xs text-fg`,hoverClass:wo}),e.is_primary&&(0,U.jsx)(Eo,{className:`text-fg-muted`,children:`clone`}),e.dirty&&(0,U.jsx)(Eo,{className:`text-waiting`,title:`Modified — uncommitted changes`,children:`M`}),t>0&&(0,U.jsx)(Eo,{className:`text-running`,title:`${t} running session${t>1?`s`:``}`,children:t}),(0,U.jsx)(Do,{label:`Prune`,blockReason:n,onClick:()=>{l(null),s({kind:`worktree`,path:e.path,branch:e.branch})}})]},e.path)})]},`wt:${e}`)),p.length>0&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{className:`px-3 pb-0.5 pt-3 text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Branches without a worktree`}),p.map(e=>(0,U.jsxs)(`div`,{className:`group flex items-center gap-2 px-3 py-1 transition-colors hover:bg-elevated`,children:[(0,U.jsx)(sn,{className:`size-3 shrink-0 text-fg-gold`}),(0,U.jsx)(So,{text:e.name,className:`font-mono text-xs text-fg`,hoverClass:wo}),e.local_only&&(0,U.jsx)(Eo,{className:`text-waiting`,children:`local only`}),(0,U.jsx)(Do,{label:`Delete branch`,blockReason:null,onClick:()=>{l(null),s({kind:`branch`,name:e.name,localOnly:e.local_only})}})]},`br:${e.name}`))]}),(0,U.jsx)(ne,{open:o!==null,onOpenChange:e=>{e||s(null)},children:(0,U.jsxs)(M,{children:[o?.kind===`branch`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:`Delete branch`}),(0,U.jsxs)(P,{children:[`Delete branch `,(0,U.jsx)(`span`,{className:`font-mono`,children:o.name}),`? This removes the branch from the repository.`]})]}),o.localOnly&&(0,U.jsxs)(`p`,{className:`text-xs text-waiting`,children:[(0,U.jsx)(`span`,{className:`font-mono`,children:o.name}),` has commits on no remote — deleting it discards that work permanently.`]})]}):(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:`Prune worktree`}),(0,U.jsxs)(P,{children:[`Remove `,(0,U.jsx)(`span`,{className:`font-mono`,children:o?To(o.path):``}),`? The working directory is deleted; the branch`,` `,(0,U.jsx)(`span`,{className:`font-mono`,children:o?.branch??``}),` is kept.`]})]}),c&&(0,U.jsx)(`p`,{className:`text-xs text-danger`,children:c}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{type:`button`,variant:`ghost`,onClick:()=>s(null),children:`Cancel`}),(0,U.jsx)(k,{type:`button`,variant:`danger`,disabled:u,onClick:()=>{if(!o)return;l(null);let e=e=>l(e.message),t=()=>s(null);o.kind===`worktree`?i.mutate(o.path,{onSuccess:t,onError:e}):a.mutate({name:o.name,confirm:!0},{onSuccess:t,onError:e})},children:o?.kind===`branch`?`Delete`:`Prune`})]})]})})]})}var ko=`DropdownMenu`,[Ao,jo]=E(ko,[de]),Y=de(),[Mo,No]=Ao(ko),Po=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=Y(t),l=W.useRef(null),[u,d]=D({prop:i,defaultProp:a??!1,onChange:o,caller:ko});return(0,U.jsx)(Mo,{scope:t,triggerId:O(),triggerRef:l,contentId:O(),open:u,onOpenChange:d,onOpenToggle:W.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,U.jsx)(pe,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};Po.displayName=ko;var Fo=`DropdownMenuTrigger`,Io=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=No(Fo,n),o=Y(n),s=T(t,a.triggerRef);return(0,U.jsx)(ye,{asChild:!0,...o,children:(0,U.jsx)(re.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:s,onPointerDown:j(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:j(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Io.displayName=Fo;var Lo=`DropdownMenuPortal`,Ro=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Y(t);return(0,U.jsx)(R,{...r,...n})};Ro.displayName=Lo;var zo=`DropdownMenuContent`,Bo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=No(zo,n),a=Y(n),o=W.useRef(!1);return(0,U.jsx)(he,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:j(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:j(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Bo.displayName=zo;var Vo=`DropdownMenuGroup`,Ho=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(Ce,{...i,...r,ref:t})});Ho.displayName=Vo;var Uo=`DropdownMenuLabel`,Wo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(ge,{...i,...r,ref:t})});Wo.displayName=Uo;var Go=`DropdownMenuItem`,Ko=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(be,{...i,...r,ref:t})});Ko.displayName=Go;var qo=`DropdownMenuCheckboxItem`,Jo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(me,{...i,...r,ref:t})});Jo.displayName=qo;var Yo=`DropdownMenuRadioGroup`,Xo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(De,{...i,...r,ref:t})});Xo.displayName=Yo;var Zo=`DropdownMenuRadioItem`,Qo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(Ae,{...i,...r,ref:t})});Qo.displayName=Zo;var $o=`DropdownMenuItemIndicator`,es=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(_e,{...i,...r,ref:t})});es.displayName=$o;var ts=`DropdownMenuSeparator`,ns=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(ke,{...i,...r,ref:t})});ns.displayName=ts;var rs=`DropdownMenuArrow`,is=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(Ee,{...i,...r,ref:t})});is.displayName=rs;var as=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,o=Y(t),[s,c]=D({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,U.jsx)(ue,{...o,open:s,onOpenChange:c,children:n})},os=`DropdownMenuSubTrigger`,ss=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(Oe,{...i,...r,ref:t})});ss.displayName=os;var cs=`DropdownMenuSubContent`,ls=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(L,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});ls.displayName=cs;var us=Po,ds=Io,fs=Ro,ps=Bo,ms=Ko,hs=ns,gs=as,_s=ss,vs=ls,ys=us,bs=ds,xs=gs;function Ss({className:e,sideOffset:t=4,...n}){return(0,U.jsx)(fs,{children:(0,U.jsx)(ps,{sideOffset:t,className:F(`z-50 min-w-36 overflow-hidden rounded-md bg-elevated p-1 shadow-xl`,e),...n})})}function Cs({className:e,...t}){return(0,U.jsx)(ms,{className:F(ct,Nt,`[&_svg]:size-3.5`,e),...t})}function ws({className:e,children:t,...n}){return(0,U.jsxs)(_s,{className:F(ct,Nt,`data-[state=open]:bg-action data-[state=open]:text-action-ink [&_svg]:size-3.5`,e),...n,children:[t,(0,U.jsx)(ve,{className:`ml-auto`})]})}function Ts({className:e,...t}){return(0,U.jsx)(fs,{children:(0,U.jsx)(vs,{className:F(`z-50 min-w-36 overflow-hidden rounded-md bg-elevated p-1 shadow-xl`,e),...t})})}function Es({className:e,...t}){return(0,U.jsx)(hs,{className:F(`-mx-1 my-1 h-px bg-border`,e),...t})}function Ds(e,t){if(!t)return e;let n=t.endsWith(`/`)?t.slice(0,-1):t;return n===``||n===`/`?e:e===n?`~`:e.startsWith(`${n}/`)?`~${e.slice(n.length)}`:e}function Os({text:e,className:t}){let n=(0,W.useRef)(null);return(0,W.useEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{e.scrollLeft=e.scrollWidth};t();let r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[e]),(0,U.jsx)(`div`,{ref:n,className:`no-scrollbar min-w-0 flex-1 overflow-x-auto`,children:(0,U.jsx)(`span`,{className:F(`inline-block whitespace-nowrap`,t),children:e})})}function ks({sessions:e,target:t,showFileActions:n=!1,showPath:r=!1}){let{session:i,pinned:a,pin:o,unpin:s}=t,c=Tt().data?.home,l=e.filter(e=>e.status!==`archived`),u=i?i.branch||bt(i):`No worktree`,d=i?Ds(i.worktree_path,c):`No worktree`;return(0,U.jsxs)(`div`,{className:`group relative flex h-8 shrink-0 items-center px-2`,children:[(0,U.jsx)(Os,{text:r?d:u,className:`font-mono text-xs text-fg-secondary`}),(0,U.jsxs)(`div`,{className:F(`absolute inset-y-0 right-1 flex items-center gap-1 bg-surface pl-2 opacity-0 transition-opacity`,`pointer-events-none focus-within:pointer-events-auto focus-within:opacity-100 group-hover:pointer-events-auto group-hover:opacity-100`,a&&`pointer-events-auto opacity-100`),children:[n&&i&&(0,U.jsx)(js,{}),(0,U.jsxs)(`button`,{type:`button`,"aria-pressed":a,disabled:!i,title:a?`Unpin — follow the active session`:`Pin the sidebar to this worktree`,onClick:()=>a?s():i&&o(i.id),className:F(`shrink-0 rounded-sm p-1 transition-colors disabled:pointer-events-none disabled:opacity-40`,a?`text-fg`:`text-fg-gold hover:bg-elevated hover:text-fg`),children:[(0,U.jsx)(mn,{className:F(`size-3.5`,a&&`fill-current`)}),(0,U.jsx)(`span`,{className:`sr-only`,children:a?`Unpin sidebar`:`Pin sidebar`})]}),(0,U.jsxs)(ys,{children:[(0,U.jsx)(bs,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,title:`Bind a different worktree`,className:`shrink-0 rounded-sm p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(Pe,{className:`size-3.5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Choose a worktree`})]})}),(0,U.jsx)(Ss,{align:`end`,children:l.length===0?(0,U.jsx)(`div`,{className:`px-2 py-1.5 text-xs text-fg-muted`,children:`No sessions yet`}):l.map(e=>(0,U.jsx)(Cs,{onSelect:()=>o(e.id),children:(0,U.jsxs)(`span`,{className:`truncate font-mono`,children:[e.branch,` — `,bt(e)]})},e.id))})]})]})]})}var As=[{key:`new-file`,label:`New File`,icon:Xt},{key:`new-folder`,label:`New Folder`,icon:rn},{key:`refresh`,label:`Refresh`,icon:We},{key:`collapse`,label:`Collapse Folders`,icon:zt}];function js(){let e=Ka();if(!e)return null;let t=t=>{t===`new-file`?e.beginCreate(``,`file`):t===`new-folder`?e.beginCreate(``,`dir`):t===`refresh`?e.refresh():t===`collapse`&&e.collapseAll()};return(0,U.jsx)(`div`,{className:`flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity focus-within:opacity-100 group-hover:opacity-100`,children:As.map(({key:e,label:n,icon:r})=>(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e),className:`rounded-sm p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(r,{className:`size-3.5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:n})]})}),(0,U.jsx)(et,{children:n})]},e))})}var Ms=[{key:`files`,label:`Files`,icon:an},{key:`search`,label:`Search`,icon:tt},{key:`changes`,label:`Changes`,icon:sn},{key:`worktrees`,label:`Worktrees`,icon:Be}];function Ns(e){return e===`diff`||e===`history`||e===`changes`?`changes`:e===`search`?`search`:e===`worktrees`?`worktrees`:`files`}function Ps({mode:e,onExpand:t,onSelect:n}){return(0,U.jsxs)(`div`,{className:`flex h-full w-9 shrink-0 flex-col items-center gap-1 bg-surface py-1.5`,children:[(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,onClick:t,className:`flex items-center rounded-md p-1.5 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(dn,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Show sidebar`})]})}),(0,U.jsx)(et,{side:`right`,children:`Show sidebar`})]}),Ms.map(({key:t,label:r,icon:i})=>(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"aria-current":e===t?`page`:void 0,onClick:()=>n(t),className:F(`flex items-center rounded-md p-1.5 transition-colors`,e===t?`bg-elevated text-fg`:`text-fg-gold hover:bg-elevated hover:text-fg`),children:[(0,U.jsx)(i,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:r})]})}),(0,U.jsx)(et,{side:`right`,children:r})]},t))]})}function Fs({mode:e,onModeChange:t,onCollapse:n,projectId:r,repoId:i,sessions:a,target:o,onOpenFile:s,activeFilePath:c,activeDiffPath:l,onOpenDiff:u,onOpenCommitFile:d,onOpenSearchFile:f}){let{session:p}=o;return(0,U.jsxs)(`div`,{className:`flex h-full flex-col bg-surface`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5`,children:[Ms.map(({key:n,label:r,icon:i})=>(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"aria-current":e===n?`page`:void 0,onClick:()=>t(n),className:F(`flex items-center rounded-md p-1.5 transition-colors`,e===n?`bg-elevated text-fg`:`text-fg-gold hover:bg-elevated hover:text-fg`),children:[(0,U.jsx)(i,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:r})]})}),(0,U.jsx)(et,{children:r})]},n)),(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,onClick:n,className:`ml-auto flex items-center rounded-md p-1.5 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(un,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Hide sidebar`})]})}),(0,U.jsx)(et,{children:`Hide sidebar`})]})]}),e!==`worktrees`&&e!==`files`&&(0,U.jsx)(ks,{sessions:a,target:o,showPath:e===`search`}),e===`worktrees`&&(0,U.jsx)(Oo,{repoId:i,projectId:r,sessions:a}),e===`files`&&(p?(0,U.jsxs)(qa,{session:p,onOpenFile:s,activePath:c,children:[(0,U.jsx)(ks,{sessions:a,target:o,showFileActions:!0,showPath:!0}),(0,U.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,U.jsx)(uo,{})})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(ks,{sessions:a,target:o}),(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No worktree to show.`})]})),e===`changes`&&(p?(0,U.jsx)(Aa,{session:p.id,activeDiffPath:l,onOpenDiff:u,onOpenCommitFile:d},p.id):(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No worktree to show.`})),e===`search`&&(p?(0,U.jsx)(xo,{session:p.id,onOpen:f},p.id):(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No worktree to search.`}))]})}function Is({projectId:e,repoId:t,open:n,kind:r=`agent`,seedAccountId:i,onOpenChange:a,onCreated:o}){let s=r===`terminal`,c=Je(),l=Ge(c??void 0),u=Ct(c??void 0),d=At(),f=rt(),[p,m]=(0,W.useState)(``),[h,g]=(0,W.useState)(``),[_,v]=(0,W.useState)(!0),[y,b]=(0,W.useState)(!0),[x,S]=(0,W.useState)(``),[C,w]=(0,W.useState)(``),[T,E]=(0,W.useState)(!1),[D,O]=(0,W.useState)(null),te=d.data?.find(e=>e.id===t),j=ut(n?t:void 0),re=yt(n?t:void 0),I=l.data?.find(e=>String(e.id)===p),ie=u.data?.allowSkipPermissions===!0,L=!s&&ie&&I?.skip_permissions_default===!0,ae=h.trim()||te?.default_base_branch||``,oe=(0,W.useMemo)(()=>(re.data?.worktrees??[]).filter(e=>e.branch===ae).map(e=>({path:e.path,is_primary:e.is_primary,label:e.is_primary?`${e.path.split(`/`).filter(Boolean).pop()??e.path} (clone)`:e.path.split(`/`).filter(Boolean).pop()??e.path})),[re.data,ae]),se=!_&&!y,ce=oe.find(e=>e.is_primary)?.path??oe[0]?.path??``,le=C||ce,ue=(0,W.useMemo)(()=>{let e=u.data?.default_account_id;return l.data?.find(e=>e.id===i)??l.data?.find(t=>typeof e==`number`&&t.id===e)??l.data?.[0]},[l.data,u.data,i]),de=p||(ue?String(ue.id):``);(0,W.useEffect)(()=>{n&&i!==void 0&&m(String(i))},[n,i]);let R=(0,W.useRef)(u.data);R.current=u.data,(0,W.useEffect)(()=>{if(n){let e=ze(s?`terminal`:`agent`,R.current);g(e.baseBranch),v(e.separateBranch),b(e.separateWorktree),w(``)}},[n,s]);let fe=()=>{O(null),f.mutate({project_id:e,...s?{kind:`terminal`}:{account_id:Number(de)},...h.trim()?{base_branch:h.trim()}:{},separate_branch:_,..._&&x.trim()?{branch:x.trim()}:{},..._?{}:{separate_worktree:y},...se&&le?{join_worktree:le}:{},...L&&T?{skip_permissions:!0}:{}},{onSuccess:e=>{a(!1),S(``),E(!1),o(e)},onError:e=>O(e.message)})},pe=s?`a shell`:`an agent`,z=_?`on a new branch off ${ae||`…`}, in its own directory`:se?`on ${ae||`…`}, sharing an existing directory`:`on ${ae||`…`}, in its own directory`;return(0,U.jsx)(ne,{open:n,onOpenChange:a,children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:s?`New terminal`:`New agent`}),(0,U.jsxs)(P,{children:[s?`Opens`:`Spawns`,` `,pe,` `,z,`.`]})]}),(0,U.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),(s||de)&&fe()},children:[!s&&(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,U.jsx)(gt,{children:`Account`}),l.data?.length===0?(0,U.jsxs)(`p`,{className:`text-sm text-fg-secondary`,children:[`No accounts yet —`,` `,(0,U.jsx)(`button`,{type:`button`,className:`text-accent underline`,onClick:()=>st(`accounts`),children:`add one in settings`}),`.`]}):(0,U.jsxs)(Le,{value:de,onValueChange:m,children:[(0,U.jsx)(Ie,{children:(0,U.jsx)(Re,{placeholder:`pick an account`})}),(0,U.jsx)(Ne,{children:l.data?.map(e=>(0,U.jsxs)(je,{value:String(e.id),children:[(0,U.jsxs)(`span`,{className:`font-mono`,children:[e.agent_type,`/`,e.label]}),!e.logged_in&&(0,U.jsx)(`span`,{className:`ml-2 text-2xs text-waiting`,children:`not logged in`})]},e.id))})]})]}),(0,U.jsxs)(`div`,{className:`flex gap-2`,children:[(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1.5`,children:[(0,U.jsx)(gt,{htmlFor:`base-branch`,children:`Base branch`}),(0,U.jsx)(at,{id:`base-branch`,placeholder:te?.default_base_branch??`main`,value:h,onValueChange:g,hints:(j.data?.branches??[]).filter(e=>e.name.toLowerCase().includes(h.trim().toLowerCase())).slice(0,20).map(e=>({value:e.name,badge:e.name===te?.default_base_branch?`default`:e.is_session?`session: ${e.session_title??`untitled`}`:void 0})),className:`font-mono`,hintsClassName:`w-max min-w-full max-w-[36rem]`})]}),_&&(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1.5`,children:[(0,U.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,U.jsx)(gt,{htmlFor:`session-branch`,children:`New branch`}),(0,U.jsx)(`span`,{className:`text-xs text-fg-muted`,children:`optional`})]}),(0,U.jsx)(ht,{id:`session-branch`,placeholder:`leave blank for auto`,value:x,onChange:e=>S(e.target.value),className:`font-mono`})]})]}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(Fe,{id:`separate-branch`,checked:_,onCheckedChange:e=>{v(e),e&&b(!0)}}),(0,U.jsx)(gt,{htmlFor:`separate-branch`,children:`Use separate branch`})]}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(Fe,{id:`separate-worktree`,checked:_?!0:y,disabled:_,onCheckedChange:b}),(0,U.jsx)(gt,{htmlFor:`separate-worktree`,className:F(_&&`text-fg-muted`),children:`Use separate directory`})]})]}),se&&(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,U.jsx)(gt,{htmlFor:`join-dir`,children:`Directory to join`}),oe.length===0?(0,U.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[`No existing directory on `,(0,U.jsx)(`span`,{className:`font-mono`,children:ae||`…`}),` — a shared one will be created for later sessions to join.`]}):(0,U.jsxs)(Le,{value:le,onValueChange:w,children:[(0,U.jsx)(Ie,{id:`join-dir`,children:(0,U.jsx)(Re,{})}),(0,U.jsx)(Ne,{children:oe.map(e=>(0,U.jsxs)(je,{value:e.path,children:[(0,U.jsx)(`span`,{className:`truncate`,children:e.label}),(0,U.jsx)(`span`,{className:`ml-2 truncate font-mono text-2xs text-fg-muted`,children:e.path})]},e.path))})]})]}),!_&&!s&&(0,U.jsxs)(`p`,{className:`text-xs text-waiting`,children:[`The `,s?`shell`:`agent`,` commits straight to`,` `,(0,U.jsx)(`span`,{className:`font-mono`,children:ae||`…`}),se?` and shares its working directory with concurrent sessions — they can trample each other’s edits.`:`.`]}),L&&(0,U.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md bg-surface px-3 py-2`,children:[(0,U.jsx)(Fe,{id:`skip-permissions`,checked:T,onCheckedChange:E}),(0,U.jsx)(gt,{htmlFor:`skip-permissions`,className:`text-waiting`,children:`Skip permission prompts for this session`})]}),D&&(0,U.jsx)(`p`,{className:`text-xs text-danger`,children:D}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{type:`button`,variant:`ghost`,onClick:()=>a(!1),children:`Cancel`}),(0,U.jsx)(k,{type:`submit`,disabled:!s&&!de||f.isPending,children:s?`Open terminal`:`Start agent`})]})]})]})})}function Ls({className:e}){return(0,U.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:e,fill:`none`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`,"aria-hidden":!0,children:[(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`22`,y2:`12`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`17`,y2:`20.66`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`7`,y2:`20.66`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`2`,y2:`12`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`7`,y2:`3.34`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`17`,y2:`3.34`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`17.63`,y2:`15.25`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`12`,y2:`18.5`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`6.37`,y2:`15.25`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`6.37`,y2:`8.75`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`12`,y2:`5.5`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`17.63`,y2:`8.75`})]})}function Rs({className:e}){return(0,U.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:e,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,"aria-hidden":!0,children:[(0,U.jsx)(`ellipse`,{cx:`12`,cy:`12`,rx:`4`,ry:`9`}),(0,U.jsx)(`ellipse`,{cx:`12`,cy:`12`,rx:`4`,ry:`9`,transform:`rotate(60 12 12)`}),(0,U.jsx)(`ellipse`,{cx:`12`,cy:`12`,rx:`4`,ry:`9`,transform:`rotate(120 12 12)`})]})}function zs({type:e,className:t}){switch(e){case`claude-code`:return(0,U.jsx)(Ls,{className:t});case`codex`:return(0,U.jsx)(Rs,{className:t});default:return(0,U.jsx)(He,{className:t})}}function Bs({status:e,kind:t=`agent`,className:n}){return(0,U.jsx)(`span`,{className:F(`status-dot`,n),"data-status":e,"data-kind":t,role:`img`,"aria-label":`${t===`terminal`?`terminal `:``}status: ${e.replace(`_`,` `)}`})}var Vs=[`starting`,`running`,`waiting_input`],Hs=[`exited`,`interrupted`],Us={Item:Cs,Separator:Es,Sub:xs,SubTrigger:ws,SubContent:Ts},Ws={Item:V,Separator:B,Sub:fe,SubTrigger:we,SubContent:Se};function Gs(e,t){let n=ft(`resume`),r=ft(`kill`),i=Ze(),a=xt(),o=Dt(),s=it(),c=rt(),l=Qe(),u=Ge(Je()??void 0),[d,f]=(0,W.useState)(null),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(e.title??``),[_,v]=(0,W.useState)(null),y=(u.data??[]).filter(t=>t.agent_type===e.agent_type),b=!e.worktree_missing&&e.status!==`archived`&&y.some(t=>t.id!==e.account_id);return{menu:{session:e,resumable:Hs.includes(e.status),live:Vs.includes(e.status),archived:e.status===`archived`,canMigrate:b,sameAgent:y,resume:()=>n.mutate(e.id,{onError:e=>w.error(e.message)}),openKill:()=>f(`kill`),openTerminal:()=>c.mutate({project_id:e.project_id,kind:`terminal`,separate_branch:!1,separate_worktree:!1,join_worktree:e.worktree_path},{onSuccess:e=>void l(`/project/${e.project_id}/session/${e.id}`),onError:e=>w.error(e.message)}),openRename:()=>{g(e.title??``),m(!0)},archive:()=>i.mutate(e.id,{onSuccess:()=>t?.(e.id),onError:e=>w.error(e.message)}),unarchive:()=>a.mutate(e.id,{onError:e=>w.error(e.message)}),setMigrateTo:v},dialogs:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(ne,{open:d!==null,onOpenChange:e=>{e||f(null)},children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:`Kill this session?`}),(0,U.jsx)(P,{children:`The agent process stops (SIGTERM, then SIGKILL). The conversation stays resumable.`})]}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{variant:`ghost`,onClick:()=>f(null),children:`Cancel`}),(0,U.jsx)(k,{variant:`danger`,disabled:r.isPending,onClick:()=>r.mutate(e.id,{onSuccess:()=>f(null),onError:e=>{f(null),w.error(e.message)}}),children:`Kill session`})]})]})}),(0,U.jsx)(ne,{open:p,onOpenChange:m,children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:`Rename session`}),(0,U.jsx)(P,{children:`Leave it empty to use the agent’s own session name.`})]}),(0,U.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:t=>{t.preventDefault(),o.mutate({sessionId:e.id,title:h.trim()},{onSuccess:()=>m(!1),onError:e=>w.error(e.message)})},children:[(0,U.jsx)(ht,{value:h,onChange:e=>g(e.target.value),placeholder:e.agent_title??e.osc_title??e.id.slice(0,8),autoFocus:!0}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{type:`button`,variant:`ghost`,onClick:()=>m(!1),children:`Cancel`}),(0,U.jsx)(k,{type:`submit`,disabled:o.isPending,children:`Rename`})]})]})]})}),(0,U.jsx)(ne,{open:_!==null,onOpenChange:e=>!e&&v(null),children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsxs)(N,{children:[`Move this session to `,_?.label,`?`]}),(0,U.jsx)(P,{children:`The conversation continues under that account’s credentials. If the session is running it is stopped first, then resumed on the new account.`})]}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{variant:`ghost`,onClick:()=>v(null),children:`Cancel`}),(0,U.jsx)(k,{disabled:s.isPending,onClick:()=>{_&&s.mutate({sessionId:e.id,accountId:_.id},{onSuccess:()=>{v(null),w.success(`Moved to ${_.label}`)},onError:e=>{v(null),w.error(e.message)}})},children:`Move session`})]})]})})]})}}function Ks({kit:e,menu:t}){let{Item:n,Separator:r,Sub:i,SubTrigger:a,SubContent:o}=e,{session:s}=t;return(0,U.jsxs)(U.Fragment,{children:[t.resumable&&!s.worktree_missing&&(0,U.jsxs)(n,{onSelect:t.resume,children:[(0,U.jsx)(hn,{}),` Resume`]}),t.live&&(0,U.jsxs)(n,{onSelect:t.openKill,children:[(0,U.jsx)(vn,{}),` Kill`]}),(0,U.jsxs)(n,{onSelect:t.openRename,children:[(0,U.jsx)(ie,{}),` Rename`]}),t.canMigrate&&(0,U.jsxs)(i,{children:[(0,U.jsxs)(a,{children:[(0,U.jsx)(yn,{}),` Move to account…`]}),(0,U.jsx)(o,{children:t.sameAgent.map(e=>{let r=e.id===s.account_id;return(0,U.jsxs)(n,{disabled:r,onSelect:()=>t.setMigrateTo(e),children:[e.label,r&&(0,U.jsx)(`span`,{className:`ml-auto text-fg-muted`,children:`current`})]},e.id)})})]}),!s.worktree_missing&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(r,{}),(0,U.jsxs)(n,{onSelect:t.openTerminal,children:[(0,U.jsx)(jt,{}),` Open terminal in worktree`]}),(0,U.jsxs)(n,{onSelect:()=>{window.location.href=Ot(`vscode`,s.worktree_path,St())},children:[(0,U.jsx)(Vt,{}),` Open in VS Code`]}),(0,U.jsxs)(n,{onSelect:()=>{window.location.href=Ot(`cursor`,s.worktree_path,St())},children:[(0,U.jsx)(Vt,{}),` Open in Cursor`]})]}),t.resumable&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(r,{}),(0,U.jsxs)(n,{onSelect:t.archive,children:[(0,U.jsx)(se,{}),` Archive`]})]}),t.archived&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(r,{}),(0,U.jsxs)(n,{onSelect:t.unarchive,children:[(0,U.jsx)(ce,{}),` Unarchive`]})]})]})}function qs({menu:e}){return(0,U.jsxs)(ys,{children:[(0,U.jsx)(bs,{asChild:!0,children:(0,U.jsxs)(k,{variant:`ghost`,size:`icon`,className:`size-6`,onClick:e=>e.preventDefault(),children:[(0,U.jsx)(Bt,{}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Session actions`})]})}),(0,U.jsx)(Ss,{align:`end`,children:(0,U.jsx)(Ks,{kit:Us,menu:e})})]})}function Js({session:e,onArchived:t,children:n}){let{menu:r,dialogs:i}=Gs(e,t);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(Te,{children:[(0,U.jsx)(z,{asChild:!0,children:typeof n==`function`?n(r):n}),(0,U.jsx)(xe,{children:(0,U.jsx)(Ks,{kit:Ws,menu:r})})]}),i]})}function Ys({menu:e}){return(0,U.jsx)(xe,{children:(0,U.jsx)(Ks,{kit:Ws,menu:e})})}function Xs({icon:e,label:t,onClick:n}){return(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,onClick:n,className:`flex items-center rounded-md p-1.5 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(e,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:t})]})}),(0,U.jsx)(et,{children:t})]})}function Zs({session:e}){return(0,U.jsxs)(`span`,{className:`flex flex-col`,children:[(0,U.jsx)(`span`,{children:pt()(e)}),(0,U.jsx)(`span`,{className:`font-mono text-2xs text-fg-muted`,children:e.branch})]})}function Qs({session:e,activeSessionId:t,onPromote:n,onArchived:r}){let{menu:i,dialogs:a}=Gs(e,r),o=pt();return(0,U.jsxs)(Te,{children:[(0,U.jsxs)(Mt,{children:[(0,U.jsx)(z,{asChild:!0,children:(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(qe,{draggable:!1,"aria-current":e.id===t?`true`:void 0,onDoubleClick:()=>n(e.id),to:`/project/${e.project_id}/session/${e.id}`,className:F(`flex items-center rounded-md p-1.5 transition-colors hover:bg-elevated`,e.id===t&&`bg-elevated`),children:[(0,U.jsx)(Bs,{status:e.status,kind:e.kind,className:`[--puddle-ripple-scale:2.3]`}),(0,U.jsx)(`span`,{className:`sr-only`,children:o(e)})]})})}),(0,U.jsx)(et,{children:(0,U.jsx)(Zs,{session:e})})]}),(0,U.jsx)(Ys,{menu:i}),a]})}function $s({groups:e,activeSessionId:t,onReorder:n,onPromote:r,onExpand:i,onNewTerminal:a,onNewSession:o,onArchived:s}){let[c,l]=(0,W.useState)(null),u=e.filter(e=>e.sessions.length>0),d=(e,t)=>{let r=ae(u,e,t);r&&n(r)};return(0,U.jsxs)(`div`,{className:`flex h-full w-9 shrink-0 flex-col items-center bg-surface py-1.5`,children:[(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,U.jsx)(Xs,{icon:pn,label:`Show sessions`,onClick:i}),(0,U.jsx)(Xs,{icon:jt,label:`New terminal`,onClick:a}),(0,U.jsx)(Xs,{icon:Ve,label:`New agent`,onClick:o})]}),(0,U.jsx)(`div`,{className:`no-scrollbar flex min-h-0 flex-1 flex-col items-center gap-1 overflow-y-auto`,children:u.map(e=>(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,U.jsx)(`div`,{className:`my-0.5 h-px w-5 shrink-0 bg-border`}),e.sessions.map(e=>(0,U.jsx)(`div`,{draggable:!0,onDragStart:t=>{t.dataTransfer.setData(Ja,Ya({type:`terminal`,session:e.id})),l(e.id)},onDragEnd:()=>l(null),onDragOver:t=>{t.preventDefault(),c&&c!==e.id&&d(c,e.id)},className:F(`transition-opacity`,c===e.id&&`opacity-50`),children:(0,U.jsx)(Qs,{session:e,activeSessionId:t,onPromote:r,onArchived:s})},e.id))]},e.projectId))})]})}function ec({session:e,activeSessionId:t,accountLabel:n,onPromote:r,onArchived:i,ellipsis:a}){let o=pt();return(0,U.jsx)(Js,{session:e,onArchived:i,children:i=>(0,U.jsxs)(qe,{draggable:!1,onDoubleClick:r&&(()=>r(e.id)),to:`/project/${e.project_id}/session/${e.id}`,className:F(`group flex items-center gap-2 px-3 py-1.5 transition-colors hover:bg-elevated`,e.id===t&&`bg-elevated`),children:[(0,U.jsx)(Bs,{status:e.status,kind:e.kind}),(0,U.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`block truncate font-sans text-xs text-fg`,children:o(e)}),(0,U.jsxs)(`span`,{className:`flex items-center gap-1 truncate font-mono text-2xs text-fg-muted`,children:[(0,U.jsx)(sn,{className:`size-3 shrink-0 text-fg-gold`}),(0,U.jsx)(`span`,{className:`truncate`,children:e.branch})]}),e.account_id!==null&&n.has(e.account_id)&&(0,U.jsxs)(`span`,{className:`flex items-center gap-1 truncate font-mono text-2xs text-fg-muted`,children:[(0,U.jsx)(zs,{type:e.agent_type??``,className:`size-3 shrink-0`}),(0,U.jsx)(`span`,{className:`truncate`,children:n.get(e.account_id)})]})]}),e.skip_permissions&&(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsx)(_n,{className:`size-3.5 shrink-0 text-waiting`})}),(0,U.jsx)(et,{children:`Running with permission prompts skipped`})]}),e.worktree_missing&&(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsx)(on,{className:`size-3.5 shrink-0 text-interrupted`})}),(0,U.jsx)(et,{children:`Worktree directory is gone — archive only`})]}),a&&(0,U.jsx)(`span`,{className:`hidden group-hover:inline-flex has-[[data-state=open]]:inline-flex`,children:(0,U.jsx)(qs,{menu:i})})]})})}function tc({groups:e,accounts:t,activeSessionId:n,onReorder:r,onPromote:i,archived:a,onNewSession:o,onNewTerminal:s,onCollapse:c,onArchived:l}){let[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(!1),m=new Map(t.map(e=>[e.id,e.label])),h=e.filter(e=>e.sessions.length>0),g=h.reduce((e,t)=>e+t.sessions.length,0),_=(e,t)=>{let n=ae(h,e,t);n&&r(n)};return(0,U.jsxs)(`div`,{className:`flex h-full flex-col bg-surface`,children:[(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 px-2 py-1.5`,children:[(0,U.jsx)(Xs,{icon:fn,label:`Hide sessions`,onClick:c}),(0,U.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[(0,U.jsx)(Xs,{icon:jt,label:`New terminal`,onClick:s}),(0,U.jsx)(Xs,{icon:Ve,label:`New agent`,onClick:o})]})]}),(0,U.jsxs)(`div`,{className:`no-scrollbar min-h-0 flex-1 overflow-y-auto py-1.5`,children:[g===0&&a.length===0&&(0,U.jsx)(`p`,{className:`px-3 py-3 text-xs text-fg-muted`,children:`No sessions yet — press ⌘K to start one.`}),h.map(e=>(0,U.jsxs)(`div`,{children:[e.name!==null&&(0,U.jsx)(`div`,{className:`truncate px-3 pb-1 pt-2 text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:e.name}),(0,U.jsx)(`ul`,{className:`flex flex-col gap-0.5`,children:e.sessions.map(e=>(0,U.jsx)(`li`,{draggable:!0,onDragStart:t=>{t.dataTransfer.setData(Ja,Ya({type:`terminal`,session:e.id})),d(e.id)},onDragEnd:()=>d(null),onDragOver:t=>{t.preventDefault(),u&&u!==e.id&&_(u,e.id)},className:F(`transition-opacity`,u===e.id&&`opacity-50`),children:(0,U.jsx)(ec,{session:e,activeSessionId:n,accountLabel:m,onPromote:i,onArchived:l,ellipsis:!0})},e.id))})]},e.projectId))]}),a.length>0&&(0,U.jsxs)(`div`,{className:`shrink-0 pb-1.5`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`flex w-full items-center gap-1.5 px-3 py-1.5 text-2xs uppercase tracking-wide text-fg-gold transition-colors hover:text-fg`,children:[(0,U.jsx)(ve,{className:F(`size-3 transition-transform`,f&&`rotate-90`)}),(0,U.jsx)(se,{className:`size-3`}),(0,U.jsx)(`span`,{children:`Archived`}),(0,U.jsx)(`span`,{className:`ml-auto tabular-nums`,children:a.length})]}),f&&(0,U.jsx)(`ul`,{className:`no-scrollbar flex max-h-48 flex-col gap-0.5 overflow-y-auto`,children:a.map(e=>(0,U.jsx)(`li`,{children:(0,U.jsx)(ec,{session:e,activeSessionId:n,accountLabel:m,onArchived:l,ellipsis:!0})},e.id))})]})]})}var nc=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function rc(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function ic(e){return`nodeType`in e}function X(e){return e?rc(e)?e:ic(e)?e.ownerDocument?.defaultView??window:window:window}function ac(e){let{Document:t}=X(e);return e instanceof t}function oc(e){return!rc(e)&&e instanceof X(e).HTMLElement}function sc(e){return e instanceof X(e).SVGElement}function cc(e){return e?rc(e)?e.document:ic(e)?ac(e)?e:oc(e)||sc(e)?e.ownerDocument:document:document:document}var lc=nc?W.useLayoutEffect:W.useEffect;function uc(e){let t=(0,W.useRef)(e);return lc(()=>{t.current=e}),(0,W.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function dc(){let e=(0,W.useRef)(null);return[(0,W.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,W.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function fc(e,t){t===void 0&&(t=[e]);let n=(0,W.useRef)(e);return lc(()=>{n.current!==e&&(n.current=e)},t),n}function pc(e,t){let n=(0,W.useRef)();return(0,W.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function mc(e){let t=uc(e),n=(0,W.useRef)(null);return[n,(0,W.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function hc(e){let t=(0,W.useRef)();return(0,W.useEffect)(()=>{t.current=e},[e]),t.current}var gc={};function _c(e,t){return(0,W.useMemo)(()=>{if(t)return t;let n=gc[e]==null?0:gc[e]+1;return gc[e]=n,e+`-`+n},[e,t])}function vc(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var yc=vc(1),bc=vc(-1);function xc(e){return`clientX`in e&&`clientY`in e}function Sc(e){if(!e)return!1;let{KeyboardEvent:t}=X(e.target);return t&&e instanceof t}function Cc(e){if(!e)return!1;let{TouchEvent:t}=X(e.target);return t&&e instanceof t}function wc(e){if(Cc(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return xc(e)?{x:e.clientX,y:e.clientY}:null}var Tc=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[Tc.Translate.toString(e),Tc.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Ec=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Dc(e){return e.matches(Ec)?e:e.querySelector(Ec)}var Oc={display:`none`};function kc(e){let{id:t,value:n}=e;return W.createElement(`div`,{id:t,style:Oc},n)}function Ac(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return W.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function jc(){let[e,t]=(0,W.useState)(``);return{announce:(0,W.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Mc=(0,W.createContext)(null);function Nc(e){let t=(0,W.useContext)(Mc);(0,W.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Pc(){let[e]=(0,W.useState)(()=>new Set),t=(0,W.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,W.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Fc={draggable:`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PaneEditorBody-6h7v53Gs.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-CZI7_Jkm.js","assets/jsx-runtime-ffCh33zF.js","assets/editor-tabs-CFnvx1pN.js","assets/useMutation-Da9b4jwS.js","assets/api-L5qtWa7E.js","assets/createLucideIcon-DyMAgLa3.js","assets/index-bqEa9yZh.js","assets/preload-helper-Czpn1I53.js","assets/dialog-B43iKmfK.js","assets/utils-B6KiDbIe.js","assets/index-Dg2mfzDf.css","assets/editor.api2-4X9Vh9Zw.js","assets/editor-Br_kD0ds.css","assets/buffer-store-C23koXgg.js","assets/buffer-logic-BrpRsL1b.js","assets/editor-sync-F3Wyveaa.js","assets/debounce-B9DrqirV.js","assets/ModelRefcount-BD4m7wnM.js","assets/EditorTabClose-DziQNlDZ.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{n,t as r}from"./jsx-runtime-ffCh33zF.js";import{a as i}from"./useMutation-Da9b4jwS.js";import{_ as a,a as o,c as s,d as c,g as l,i as u,l as d,m as f,n as p,o as m,s as h,t as g,u as _,v,y}from"./editor-tabs-CFnvx1pN.js";import{t as b}from"./preload-helper-Czpn1I53.js";import{h as x,o as S,s as C,v as w}from"./api-L5qtWa7E.js";import{A as T,O as E,_ as D,a as ee,b as O,g as k,h as te,i as A,j,n as M,o as N,r as P,t as ne,w as re}from"./dialog-B43iKmfK.js";import{t as F}from"./utils-B6KiDbIe.js";import{t as I}from"./createLucideIcon-DyMAgLa3.js";import{A as ie,C as L,D as ae,E as oe,M as se,N as ce,O as le,S as ue,T as de,_ as R,a as fe,b as pe,c as z,d as me,f as he,g as ge,h as _e,i as B,j as ve,l as ye,m as be,n as xe,o as Se,p as Ce,r as V,s as we,t as Te,u as Ee,v as De,w as Oe,x as ke,y as Ae}from"./context-menu-0Mq8MFLs.js";import{a as je,c as Me,i as Ne,l as Pe,n as Fe,o as Ie,r as Le,s as Re,t as ze}from"./session-seed-BafHkB3F.js";import{r as Be}from"./dist-fdPAlKke.js";import{A as Ve,C as He,Ct as Ue,E as We,F as Ge,L as Ke,Lt as qe,M as Je,N as Ye,P as Xe,R as Ze,Rt as Qe,S as $e,St as et,T as tt,U as nt,V as rt,Y as it,_ as at,at as ot,b as st,bt as ct,c as lt,ct as ut,d as dt,dt as ft,f as pt,ft as mt,gt as ht,ht as gt,it as _t,k as vt,lt as yt,m as bt,mt as xt,n as St,nt as Ct,ot as wt,q as Tt,s as Et,st as Dt,t as Ot,u as kt,ut as At,w as jt,xt as Mt,yt as Nt,zt as Pt}from"./index-bqEa9yZh.js";import{t as Ft}from"./debounce-B9DrqirV.js";import{i as It}from"./buffer-logic-BrpRsL1b.js";import{t as Lt}from"./ssh-mode-DIXigRzL.js";var Rt=I(`case-sensitive`,[[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`,key:`d5nyq2`}],[`path`,{d:`M22 9v7`,key:`pvm9v3`}],[`path`,{d:`M3.304 13h6.392`,key:`1q3zxz`}],[`circle`,{cx:`18.5`,cy:`12.5`,r:`3.5`,key:`z97x68`}]]),zt=I(`chevrons-down-up`,[[`path`,{d:`m7 20 5-5 5 5`,key:`13a0gw`}],[`path`,{d:`m7 4 5 5 5-5`,key:`1kwcof`}]]),Bt=I(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Vt=I(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Ht=I(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),Ut=I(`file-braces`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),H=I(`file-code`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]),Wt=I(`file-cog`,[[`path`,{d:`M15 8a1 1 0 0 1-1-1V2a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8z`,key:`1ckgky`}],[`path`,{d:`M20 8v12a2 2 0 0 1-2 2h-4.182`,key:`1726p0`}],[`path`,{d:`m3.305 19.53.923-.382`,key:`ao1pio`}],[`path`,{d:`M4 10.592V4a2 2 0 0 1 2-2h8`,key:`1foop0`}],[`path`,{d:`m4.228 16.852-.924-.383`,key:`1fv9zy`}],[`path`,{d:`m5.852 15.228-.383-.923`,key:`1a9hc2`}],[`path`,{d:`m5.852 20.772-.383.924`,key:`1sh9ke`}],[`path`,{d:`m8.148 15.228.383-.923`,key:`4yu6lf`}],[`path`,{d:`m8.53 21.696-.382-.924`,key:`18b0s9`}],[`path`,{d:`m9.773 16.852.922-.383`,key:`ti6xop`}],[`path`,{d:`m9.773 19.148.922.383`,key:`rws47d`}],[`circle`,{cx:`7`,cy:`18`,r:`3`,key:`lvkj7j`}]]),Gt=I(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 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 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),Kt=I(`file-image`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),qt=I(`file-key`,[[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M4 12v6`,key:`bg1pfk`}],[`path`,{d:`M4 14h2`,key:`1sf9f8`}],[`path`,{d:`M9.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v4`,key:`d56i0q`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),Jt=I(`file-lock`,[[`path`,{d:`M4 9.8V4a2 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 8v12a2 2 0 0 1-2 2h-3`,key:`1432pc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 17v-2a2 2 0 0 0-4 0v2`,key:`168m41`}],[`rect`,{width:`8`,height:`5`,x:`3`,y:`17`,rx:`1`,key:`o8vfew`}]]),Yt=I(`file-play`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),Xt=I(`file-plus`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 15h6`,key:`cctwl0`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}]]),Zt=I(`file-spreadsheet`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),Qt=I(`file-terminal`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m8 16 2-2-2-2`,key:`10vzyd`}],[`path`,{d:`M12 18h4`,key:`1wd2n7`}]]),$t=I(`file-text`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),en=I(`file-type`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M11 18h2`,key:`12mj7e`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5`,key:`qbrxap`}]]),tn=I(`file`,[[`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:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),nn=I(`folder-closed`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]),rn=I(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),an=I(`folder-tree`,[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`hod4my`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`w4yl2u`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`,key:`f2jnh7`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`,key:`k8epm1`}]]),on=I(`folder-x`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`m9.5 10.5 5 5`,key:`ra9qjz`}],[`path`,{d:`m14.5 10.5-5 5`,key:`l2rkpq`}]]),sn=I(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),cn=I(`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`}]]),ln=I(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),un=I(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),dn=I(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),fn=I(`panel-right-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m8 9 3 3-3 3`,key:`12hl5m`}]]),pn=I(`panel-right-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m10 15-3-3 3-3`,key:`1pgupc`}]]),mn=I(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),hn=I(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),gn=I(`regex`,[[`path`,{d:`M17 3v10`,key:`15fgeh`}],[`path`,{d:`m12.67 5.5 8.66 5`,key:`1gpheq`}],[`path`,{d:`m12.67 10.5 8.66-5`,key:`1dkfa6`}],[`path`,{d:`M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z`,key:`swwfx4`}]]),_n=I(`shield-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`,key:`1jlk70`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`,key:`18rp1v`}]]),vn=I(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),yn=I(`user-round-cog`,[[`path`,{d:`m14.305 19.53.923-.382`,key:`3m78fa`}],[`path`,{d:`m15.228 16.852-.923-.383`,key:`npixar`}],[`path`,{d:`m16.852 15.228-.383-.923`,key:`5xggr7`}],[`path`,{d:`m16.852 20.772-.383.924`,key:`dpfhf9`}],[`path`,{d:`m19.148 15.228.383-.923`,key:`1reyyz`}],[`path`,{d:`m19.53 21.696-.382-.924`,key:`1goivc`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`,key:`1yezr2`}],[`path`,{d:`m20.772 16.852.924-.383`,key:`htqkph`}],[`path`,{d:`m20.772 19.148.924.383`,key:`9w9pjp`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}]]),bn=I(`whole-word`,[[`circle`,{cx:`7`,cy:`12`,r:`3`,key:`12clwm`}],[`path`,{d:`M10 9v6`,key:`17i7lo`}],[`circle`,{cx:`17`,cy:`12`,r:`3`,key:`gl7c2s`}],[`path`,{d:`M14 7v8`,key:`dl84cr`}],[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`,key:`lt2kga`}]]),U=r(),W=e(t(),1);function xn(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function Sn(e,t){let n=getComputedStyle(e.ownerDocument.documentElement);return t*parseFloat(n.fontSize)}function Cn(e){return e/100*window.innerHeight}function wn(e){return e/100*window.innerWidth}function Tn(e){switch(typeof e){case`number`:return[e,`px`];case`string`:{let t=parseFloat(e);return e.endsWith(`%`)?[t,`%`]:e.endsWith(`px`)?[t,`px`]:e.endsWith(`rem`)?[t,`rem`]:e.endsWith(`em`)?[t,`em`]:e.endsWith(`vh`)?[t,`vh`]:e.endsWith(`vw`)?[t,`vw`]:[t,`%`]}}}function En({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=Tn(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=Sn(t,i);break;case`em`:r=xn(t,i);break;case`vh`:r=Cn(i);break;case`vw`:r=wn(i);break}return r}function G(e){return parseFloat(e.toFixed(3))}function Dn({group:e}){let{orientation:t,panels:n}=e;return n.reduce((e,n)=>(e+=t===`horizontal`?n.element.offsetWidth:n.element.offsetHeight,e),0)}function On(e){let{panels:t}=e,n=Dn({group:e});return n===0?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:e.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let{element:t,panelConstraints:r}=e,i=0;r.collapsedSize!==void 0&&(i=G(En({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=G(En({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=G(En({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=G(En({groupSize:n,panelElement:t,styleProp:r.maxSize})/n*100)),{groupResizeBehavior:r.groupResizeBehavior,collapsedSize:i,collapsible:r.collapsible===!0,defaultSize:a,disabled:r.disabled,minSize:o,maxSize:s,panelId:e.id}})}function K(e,t=`Assertion error`){if(!e)throw Error(t)}function kn(e,t){return Array.from(t).sort(e===`horizontal`?An:jn)}function An(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function jn(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Mn(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function Nn(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function Pn({orientation:e,rects:t,targetRect:n}){let r={x:n.x+n.width/2,y:n.y+n.height/2},i,a=Number.MAX_VALUE;for(let n of t){let{x:t,y:o}=Nn(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return K(i,`No rect found`),i}var Fn;function In(){return Fn===void 0&&(Fn=typeof matchMedia==`function`&&!!matchMedia(`(pointer:coarse)`).matches),Fn}function Ln(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=kn(n,Array.from(t.children).filter(Mn).map(e=>({element:e}))).map(({element:e})=>e),o=[],s=!1,c=!1,l=-1,u=-1,d=0,f,p=[];{let e=-1;for(let t of a)t.hasAttribute(`data-panel`)&&(e++,t.hasAttribute(`data-disabled`)||(d++,l===-1&&(l=e),u=e))}if(d>1){let t=-1;for(let d of a)if(d.hasAttribute(`data-panel`)){t++;let i=r.find(e=>e.element===d);if(i){if(f){let r=f.element.getBoundingClientRect(),a=d.getBoundingClientRect(),m;if(c){let e=n===`horizontal`?new DOMRect(r.right,r.top,0,r.height):new DOMRect(r.left,r.bottom,r.width,0),t=n===`horizontal`?new DOMRect(a.left,a.top,0,a.height):new DOMRect(a.left,a.top,a.width,0);switch(p.length){case 0:m=[e,t];break;case 1:{let i=p[0];m=[i,Pn({orientation:n,rects:[r,a],targetRect:i.element.getBoundingClientRect()})===r?t:e];break}default:m=p;break}}else m=p.length?p:[n===`horizontal`?new DOMRect(r.right,a.top,a.left-r.right,a.height):new DOMRect(a.left,r.bottom,a.width,a.top-r.bottom)];for(let n of m){let r=`width`in n?n:n.element.getBoundingClientRect(),a=In()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(r.width<a){let e=a-r.width;r=new DOMRect(r.x-e/2,r.y,r.width+e,r.height)}if(r.height<a){let e=a-r.height;r=new DOMRect(r.x,r.y-e/2,r.width,r.height+e)}!s&&!(t<=l||t>u)&&o.push({group:e,groupSize:Dn({group:e}),panels:[f,i],separator:`width`in n?void 0:n,rect:r}),s=!1}}c=!1,f=i,p=[]}}else if(d.hasAttribute(`data-separator`)){d.ariaDisabled!==null&&(s=!0);let e=i.find(e=>e.element===d);e?p.push(e):(f=void 0,p=[])}else c=!0}return o}var Rn=class{#e={};addListener(e,t){let n=this.#e[e];return n===void 0?this.#e[e]=[t]:n.includes(t)||n.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let n=this.#e[e];if(n!==void 0)if(n.length===1)n[0].call(null,t);else{let e=!1,r=null,i=Array.from(n);for(let n=0;n<i.length;n++){let a=i[n];try{a.call(null,t)}catch(t){r===null&&(e=!0,r=t)}}if(e)throw r}}removeAllListeners(){this.#e={}}removeListener(e,t){let n=this.#e[e];if(n!==void 0){let e=n.indexOf(t);e>=0&&n.splice(e,1)}}},zn={cursorFlags:0,state:`inactive`},Bn=new Rn;function Vn(){return zn}function Hn(e){return Bn.addListener(`change`,e)}function Un(e){let t=zn,n={...zn};n.cursorFlags=e,zn=n,Bn.emit(`change`,{prev:t,next:n})}function Wn(e){let t=zn;zn=e,Bn.emit(`change`,{prev:t,next:e})}var Gn=e=>e,Kn=()=>{},qn=1,Jn=2,Yn=4,Xn=8,Zn=3,Qn=12,$n;function er(){return $n===void 0&&($n=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&($n=!0)),$n}function tr({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case`active`:case`hover`:t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case`horizontal`:r++;break;case`vertical`:i++;break}})}if(!(r===0&&i===0)){switch(n){case`active`:if(e&&er()){let t=(e&qn)!==0,n=(e&Jn)!==0,r=(e&Yn)!==0,i=(e&Xn)!==0;if(t)return r?`se-resize`:i?`ne-resize`:`e-resize`;if(n)return r?`sw-resize`:i?`nw-resize`:`w-resize`;if(r)return`s-resize`;if(i)return`n-resize`}break}return er()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var nr=new WeakMap;function rr(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=nr.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&(Object.isExtensible(e.adoptedStyleSheets)?e.adoptedStyleSheets.push(n):e.adoptedStyleSheets=[...e.adoptedStyleSheets,n]));let r=Vn();switch(r.state){case`active`:case`hover`:{let e=tr({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(e=>e.group),state:r.state}),i=`*, *:hover {cursor: ${e} !important; }`;if(t===i)return;t=i,e?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case`inactive`:t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}nr.set(e,{prevStyle:t,styleSheet:n})}var ir=new Map,ar=new Rn;function or(e){ir=new Map(ir),ir.delete(e)}function sr(e,t){for(let[t]of ir)if(t.id===e)return t}function cr(e,t){for(let[t,n]of ir)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function lr(){return ir}function ur(e,t){return ar.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function dr(e,t,n){let r=ir.get(e);ir=new Map(ir),ir.set(e,t),ar.emit(`groupChange`,{group:e,isUserInteraction:n?.isUserInteraction===!0,prev:r,next:t})}function fr(e){let t=Vn(),n=!1;switch(t.state){case`active`:Wn({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(rr(e),n=!0,t.hitRegions.forEach(e=>{let t=cr(e.group.id,!0);dr(e.group,t,{isUserInteraction:!0})}))}return n}function pr(e){e.defaultPrevented||fr(e.currentTarget)}function mr(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=Nn(n,a.rect);switch(e){case`horizontal`:t.x<=i.x&&(r=a,i=t);break;case`vertical`:t.y<=i.y&&(r=a,i=t);break}}return r?{distance:i,hitRegion:r}:void 0}function hr(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function gr(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:Sr(e),b:Sr(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();K(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:xr(br(n.a)),b:xr(br(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var _r=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function vr(e){let t=getComputedStyle(Cr(e)??e).display;return t===`flex`||t===`inline-flex`}function yr(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||vr(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||_r.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function br(e){let t=e.length;for(;t--;){let n=e[t];if(K(n,`Missing node`),yr(n))return n}return null}function xr(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Sr(e){let t=[];for(;e;)t.push(e),e=Cr(e);return t}function Cr(e){let{parentNode:t}=e;return hr(t)?t.host:t}function wr(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function Tr({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Mn(n)||n.contains(e)||e.contains(n))return!0;if(gr(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(wr(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function Er(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=Ln(r),a=mr(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&Tr({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function Dr(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function q(e,t,n=0){return Math.abs(G(e)-G(t))<=n}function Or(e,t){return q(e,t)?0:e>t?1:-1}function kr({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){let{collapsedSize:i=0,collapsible:a,disabled:o,maxSize:s=100,minSize:c=0}=t;if(o&&!e)return n;if(Or(r,c)<0)if(a){let e=(i+c)/2;r=Or(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=G(r),r}function Ar({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(q(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;K(u!=null,`Invalid first pivot index`),K(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];K(r,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(K(n!=null,`Previous layout not found for panel index ${t}`),q(n,i)){let t=o-n;Or(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];K(r,`No panel constraints found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(K(n!=null,`Previous layout not found for panel index ${t}`),q(n,o)){let t=n-i;Or(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];K(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&Or(i,c)<0)if(e>0){let t=c-o,n=t/2;Or(i+e,c)<0&&(e=Or(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;Or(i-e,c)<0&&(e=Or(100+e,n)>0?0:-t)}break}}{let t=e<0?1:-1,r=e<0?d:u,i=0;for(;;){let e=s[r];K(e!=null,`Previous layout not found for panel index ${r}`);let a=kr({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:e,size:100})-e;if(i+=a,r+=t,r<0||r>=n.length)break}let a=Math.min(Math.abs(e),Math.abs(i));e=e<0?0-a:a}{let t=e<0?u:d;for(;t>=0&&t<n.length;){let r=Math.abs(e)-Math.abs(f),i=s[t];K(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=kr({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!q(i,c)&&(f+=i-c,l[t]=c,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(Dr(c,l))return i;{let t=e<0?d:u,r=s[t];K(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=kr({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!q(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];K(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=kr({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(q(i,s)||(t-=s-i,l[r]=s),q(t,0))break;e>0?r--:r++}}}if(!q(Object.values(l).reduce((e,t)=>t+e,0),100,.1))return i;let p=Object.keys(i);return l.reduce((e,t,n)=>(e[p[n]]=t,e),{})}function jr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||Or(e[n],t[n])!==0)return!1;return!0}function Mr({layout:e,panelConstraints:t}){let n=Object.values(e),r=[...n],i=r.reduce((e,t)=>e+t,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(e=>`${e}%`).join(`, `)}`);if(!q(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];K(t!=null,`No layout data found for index ${e}`),r[e]=100/i*t}let a=0;for(let e=0;e<t.length;e++){let i=n[e];K(i!=null,`No layout data found for index ${e}`);let o=r[e];K(o!=null,`No layout data found for index ${e}`);let s=kr({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!q(a,0))for(let e=0;e<t.length;e++){let n=r[e];K(n!=null,`No layout data found for index ${e}`);let i=n+a,o=kr({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,q(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function Nr({groupId:e,panelId:t}){let n=()=>{let t=lr();for(let[n,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:a,groupSize:o,separatorToPanels:s}]of t)if(n.id===e)return{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:n,groupSize:o,layout:a,separatorToPanels:s};throw Error(`Group ${e} not found`)},r=()=>{let e=n().derivedPanelConstraints.find(e=>e.panelId===t);if(e!==void 0)return e;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{let e=n().group.panels.find(e=>e.id===t);if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},a=()=>{let e=n().layout[t];if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},o=({nextSize:e,panels:n,prevLayout:r,derivedPanelConstraints:i})=>{let o=a(),s=n.findIndex(e=>e.id===t),c=s===0,l=s===n.length-1;if(l&&e<o&&(c||n.slice(0,s).every((e,t)=>{let n=i[t];return n?.collapsible&&q(n.collapsedSize,r[n.panelId])}))){let e=n.slice(0,s).reduce((e,t)=>e+r[t.id],0);return{...r,[t]:G(100-e)}}return Ar({delta:l?o-e:e-o,initialLayout:r,panelConstraints:i,pivotIndices:l?[s-1,s]:[s,s+1],prevLayout:r,trigger:`imperative-api`})},s=e=>{if(e===a())return;let{defaultLayoutDeferred:t,derivedPanelConstraints:r,group:i,groupSize:s,layout:c,separatorToPanels:l}=n(),u=Mr({layout:o({nextSize:e,panels:i.panels,prevLayout:c,derivedPanelConstraints:r}),panelConstraints:r});jr(c,u)||dr(i,{defaultLayoutDeferred:t,derivedPanelConstraints:r,groupSize:s,layout:u,separatorToPanels:l})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=r(),{mutableValues:n}=i(),o=a();e&&o!==t&&(n.expandToSize=o,s(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:n}=r(),{mutableValues:o}=i(),c=a();if(e&&c===t){let e=o.expandToSize??n;e===0&&(e=1),s(e)}},getSize:()=>{let{group:e}=n(),t=a(),{element:r}=i();return{asPercentage:t,inPixels:e.orientation===`horizontal`?r.offsetWidth:r.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=r(),n=a();return e&&q(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=Dn({group:t}),o=G(En({groupSize:a,panelElement:r,styleProp:e})/a*100);s(o)}}}function Pr(e){e.defaultPrevented||Er(e,lr()).forEach(t=>{if(t.separator&&!t.separator.disableDoubleClick){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=Nr({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function Fr(e){let t=lr();for(let[n]of t)if(n.separators.some(t=>t.element===e))return n;throw Error(`Could not find parent Group for separator element`)}function Ir({groupId:e}){let t=()=>{let t=lr();for(let[n,r]of t)if(n.id===e)return{group:n,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:n}=t();return e?{}:n},setLayout(e){let{defaultLayoutDeferred:n,derivedPanelConstraints:r,group:i,groupSize:a,layout:o,separatorToPanels:s}=t(),c=Mr({layout:e,panelConstraints:r});return n?o:(jr(o,c)||dr(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function Lr(e,t){let n=Fr(e),r=cr(n.id,!0),i=n.separators.find(t=>t.element===e);K(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);K(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=Ir({groupId:n.id}).getLayout(),c=Mr({layout:Ar({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});jr(s,c)||dr(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels},{isUserInteraction:!0})}function Rr(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=Fr(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&Lr(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&Lr(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&Lr(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&Lr(t,-5);break;case`End`:e.preventDefault(),Lr(t,100);break;case`Enter`:{e.preventDefault();let n=Fr(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=cr(n.id,!0),o=n.separators.find(e=>e.element===t);K(o,`Matching separator not found`);let s=a.get(o);K(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(K(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];Lr(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=Fr(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);K(r!==null,`Index not found`),n[e.shiftKey?r>0?r-1:n.length-1:r+1<n.length?r+1:0].focus({preventScroll:!0});break}case`Home`:e.preventDefault(),Lr(t,-100);break}}function zr(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=lr(),n=Er(e,t),r=new Map,i=!1;n.forEach(e=>{e.separator&&(i||(i=!0,e.separator.element.focus({focusVisible:!1,preventScroll:!0})));let n=t.get(e.group);n&&r.set(e.group,n.layout)}),Wn({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}function Br({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:a,prevCursorFlags:o}){let s=0;n.forEach(e=>{let{group:n,groupSize:o}=e,{orientation:c,panels:l}=n,{disableCursor:u}=n.mutableState,d=0;d=a?c===`horizontal`?(t.clientX-a.x)/o*100:(t.clientY-a.y)/o*100:c===`horizontal`?t.clientX<0?-100:100:t.clientY<0?-100:100;let f=r.get(n),p=i.get(n);if(!f||!p)return;let{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:_,separatorToPanels:v}=p;if(h&&_&&v){let t=Ar({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(jr(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?qn:Jn;break;case`vertical`:s|=d<0?Yn:Xn;break}}else dr(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&Zn:c|=s&Zn,t.movementY===0?c|=o&Qn:c|=s&Qn,Un(c),rr(e)}function Vr(e){let t=lr(),n=Vn();switch(n.state){case`active`:Br({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Hr(e){if(e.defaultPrevented)return;let t=Vn(),n=lr();switch(t.state){case`active`:if(e.buttons===0){Wn({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=cr(e.group.id,!0);dr(e.group,t,{isUserInteraction:!0})});return}for(let n of t.hitRegions)if(n.separator){let{element:t}=n.separator;t.hasPointerCapture?.(e.pointerId)||t.setPointerCapture?.(e.pointerId)}Br({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=Er(e,n);r.length===0?t.state!==`inactive`&&Wn({cursorFlags:0,state:`inactive`}):Wn({cursorFlags:0,hitRegions:r,state:`hover`}),rr(e.currentTarget);break}}}function Ur(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Vn().state){case`hover`:Wn({cursorFlags:0,state:`inactive`})}}function Wr(e){e.defaultPrevented||e.pointerType===`mouse`&&e.button>0||fr(e.currentTarget)&&e.preventDefault()}function Gr(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=G(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=G((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function Kr(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=Dn({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:G(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function qr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Jr({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,a=0,o=!1,s=new Map,c=[];for(let l of e.panels){let e=r[l.id]??0;switch(l.panelConstraints.groupResizeBehavior){case`preserve-pixel-size`:{o=!0;let r=G(e/100*n/t*100);s.set(l.id,r),i+=r;break}default:c.push(l.id),a+=e;break}}if(!o||c.length===0)return r;let l=100-i,u={...r};if(s.forEach((e,t)=>{u[t]=e}),a>0)for(let e of c)u[e]=G((r[e]??0)/a*l);else{let e=G(l/c.length);for(let t of c)u[t]=e}return u}function Yr(e,t){let n=e.map(e=>e.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;return!0}var Xr=new Map;function Zr(e){let t=!0;K(e.element.ownerDocument.defaultView,`Cannot register an unmounted Group`);let n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,a=new n(n=>{for(let r of n){let{borderBoxSize:n,target:i}=r;if(i===e.element){if(t){let t=Dn({group:e});if(t===0)return;let n=cr(e.id);if(!n)return;let r=On(e),i=n.defaultLayoutDeferred?Gr(r):n.layout,a=Mr({layout:Jr({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&jr(n.layout,a)&&qr(n.derivedPanelConstraints,r)&&n.groupSize===t)return;dr(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else Kr(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{K(!r.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),r.add(e.id),e.onResize&&a.observe(e.element)});let o=Dn({group:e}),s=On(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(Yr(e.panels,l)||(l=void 0));let u=Mr({layout:e.mutableState.layouts[c]??l??Gr(s),panelConstraints:s}),d=e.element.ownerDocument;Xr.set(d,(Xr.get(d)??0)+1);let f=new Map;return Ln(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),dr(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{K(!i.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),i.add(e.id),e.element.addEventListener(`keydown`,Rr)}),Xr.get(d)===1&&(d.addEventListener(`contextmenu`,pr,!0),d.addEventListener(`dblclick`,Pr,!0),d.addEventListener(`pointerdown`,zr,!0),d.addEventListener(`pointerleave`,Vr),d.addEventListener(`pointermove`,Hr),d.addEventListener(`pointerout`,Ur),d.addEventListener(`pointerup`,Wr,!0)),function(){t=!1,Xr.set(d,Math.max(0,(Xr.get(d)??0)-1)),or(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,Rr)}),Xr.get(d)||(d.removeEventListener(`contextmenu`,pr,!0),d.removeEventListener(`dblclick`,Pr,!0),d.removeEventListener(`pointerdown`,zr,!0),d.removeEventListener(`pointerleave`,Vr),d.removeEventListener(`pointermove`,Hr),d.removeEventListener(`pointerout`,Ur),d.removeEventListener(`pointerup`,Wr,!0)),a.disconnect()}}function Qr(){let[e,t]=(0,W.useState)({});return[e,(0,W.useCallback)(()=>t({}),[])]}function $r(e){let t=(0,W.useId)();return`${e??t}`}var ei=typeof window<`u`?W.useLayoutEffect:W.useEffect;function ti(e){let t=(0,W.useRef)(e);return ei(()=>{t.current=e},[e]),(0,W.useCallback)((...e)=>t.current?.(...e),[t])}function ni(...e){return ti(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function ri(e){let t=(0,W.useRef)({...e});return ei(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var ii=(0,W.createContext)(null);function ai(e,t){let n=(0,W.useRef)({getLayout:()=>({}),setLayout:Gn});(0,W.useImperativeHandle)(t,()=>n.current,[]),ei(()=>{Object.assign(n.current,Ir({groupId:e}))})}function oi({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:o,id:s,onLayoutChange:c,onLayoutChanged:l,orientation:u=`horizontal`,resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){let m=(0,W.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=ti(e=>{jr(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=ti((e,t)=>{jr(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e,{isUserInteraction:t}))}),_=$r(s),v=(0,W.useRef)(null),[y,b]=Qr(),x=(0,W.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=ni(v,a);ai(_,o);let C=ti((e,t)=>{let r=Vn(),i=sr(e),a=cr(e);if(a){let e=!1;switch(r.state){case`active`:e=r.hitRegions.some(e=>e.group===i);break}return{flexGrow:a.layout[t]??1,pointerEvents:e?`none`:void 0}}if(n?.[t])return{flexGrow:n?.[t]}}),w=ri({defaultLayout:n,disableCursor:r}),T=(0,W.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=kn(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=kn(u,[...t.separators,e]),b(),()=>{t.separators=t.separators.filter(t=>t!==e),b()}},updatePanelProps:(e,{disabled:t})=>{let n=x.current.panels.find(t=>t.id===e);n&&(n.panelConstraints.disabled=t);let r=sr(_),i=cr(_);r&&i&&dr(r,{...i,derivedPanelConstraints:On(r)})},updateSeparatorProps:(e,{disabled:t,disableDoubleClick:n})=>{let r=x.current.separators.find(t=>t.id===e);r&&(r.disabled=t,r.disableDoubleClick=n)}}),[C,_,b,u,w]),E=(0,W.useRef)(null);return ei(()=>{let e=v.current;if(e===null)return;let t=x.current,n;if(w.defaultLayout!==void 0&&Object.keys(w.defaultLayout).length===t.panels.length){n={};for(let e of t.panels){let t=w.defaultLayout[e.id];t!==void 0&&(n[e.id]=t)}}let r={disabled:!!i,element:e,id:_,mutableState:{defaultLayout:n,disableCursor:!!w.disableCursor,expandedPanelSizes:x.current.lastExpandedPanelSizes,layouts:x.current.layouts},orientation:u,panels:t.panels,resizeTargetMinimumSize:t.resizeTargetMinimumSize,separators:t.separators};E.current=r;let a=Zr(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=cr(r.id,!0);!o&&s.length>0&&(h(c),g(c,!1));let l=ur(_,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:n,layout:i}=e.next;if(t||n.length===0)return;let a=r.panels.map(({id:e})=>e).join(`,`);r.mutableState.layouts[a]=i,n.forEach(t=>{if(t.collapsible){let{layout:n}=e.prev??{};if(n){let e=q(t.collapsedSize,i[t.panelId]),a=q(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=Vn().state!==`active`;h(i),o&&g(i,e.isUserInteraction)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,W.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,U.jsx)(ii.Provider,{value:T,children:(0,U.jsx)(`div`,{...p,className:t,"data-group":!0,"data-testid":_,id:_,ref:S,style:{height:`100%`,width:`100%`,overflow:`hidden`,...f,display:`flex`,flexDirection:u===`horizontal`?`row`:`column`,flexWrap:`nowrap`,touchAction:u===`horizontal`?`pan-y`:`pan-x`},children:e})})}oi.displayName=`Group`;function si(){let e=(0,W.useContext)(ii);return K(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function ci(e,t){let{id:n}=si(),r=(0,W.useRef)({collapse:Kn,expand:Kn,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Kn});(0,W.useImperativeHandle)(t,()=>r.current,[]),ei(()=>{Object.assign(r.current,Nr({groupId:n,panelId:e}))})}function li({children:e,className:t,collapsedSize:n=`0%`,collapsible:r=!1,defaultSize:i,disabled:a,elementRef:o,groupResizeBehavior:s=`preserve-relative-size`,id:c,maxSize:l=`100%`,minSize:u=`0%`,onResize:d,panelRef:f,style:p,...m}){let h=!!c,g=$r(c),_=ri({disabled:a}),v=(0,W.useRef)(null),y=ni(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,updatePanelProps:w}=si(),T=d!==null,E=ti((e,t,n)=>{d?.(e,c,n)});ei(()=>{let e=v.current;if(e!==null){let t={element:e,id:g,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:T?E:void 0,panelConstraints:{groupResizeBehavior:s,collapsedSize:n,collapsible:r,defaultSize:i,disabled:_.disabled,maxSize:l,minSize:u}};return C(t)}},[s,n,r,i,T,g,h,l,u,E,C,_]),(0,W.useEffect)(()=>{w(g,{disabled:a})},[a,g,w]),ci(g,f);let D=()=>{let e=b(x,g);if(e)return JSON.stringify(e)},ee=(0,W.useSyncExternalStore)(e=>ur(x,e),D,D),O;return O=ee?JSON.parse(ee):i===void 0?{flexGrow:1}:{flexGrow:void 0,flexShrink:void 0,flexBasis:i},(0,U.jsx)(`div`,{...m,"data-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...ui,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...O},children:(0,U.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}li.displayName=`Panel`;var ui={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function di({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a,o=e[n],s=t.find(e=>e.panelId===n);if(s){let c=s.maxSize,l=s.collapsible?s.collapsedSize:s.minSize,u=[r,r+1];a=Mr({layout:Ar({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=Mr({layout:Ar({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function fi({children:e,className:t,disabled:n,disableDoubleClick:r,elementRef:i,id:a,style:o,...s}){let c=$r(a),l=ri({disabled:n,disableDoubleClick:r}),[u,d]=(0,W.useState)({}),[f,p]=(0,W.useState)(`inactive`),[m,h]=(0,W.useState)(!1),g=(0,W.useRef)(null),_=ni(g,i),{disableCursor:v,id:y,orientation:b,registerSeparator:x,updateSeparatorProps:S}=si(),C=b===`horizontal`?`vertical`:`horizontal`;ei(()=>{let e=g.current;if(e!==null){let t={disabled:l.disabled,disableDoubleClick:l.disableDoubleClick,element:e,id:c},n=x(t),r=Hn(e=>{p(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=ur(y,e=>{let{derivedPanelConstraints:n,layout:r,separatorToPanels:i}=e.next,a=i.get(t);if(a){let e=a[0],t=a.indexOf(e);d(di({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[y,c,x,l]),(0,W.useEffect)(()=>{S(c,{disabled:n,disableDoubleClick:r})},[n,r,c,S]);let w;n&&!v&&(w=`not-allowed`);let T;if(n)T=`disabled`;else switch(f){case`active`:T=`active`;break;default:T=m?`focus`:f}return(0,U.jsx)(`div`,{...s,"aria-controls":u.valueControls,"aria-disabled":n||void 0,"aria-orientation":C,"aria-valuemax":u.valueMax,"aria-valuemin":u.valueMin,"aria-valuenow":u.valueNow,children:e,className:t,"data-separator":T,"data-testid":c,id:c,onBlur:()=>h(!1),onFocus:()=>h(!0),ref:_,role:`separator`,style:{flexBasis:`auto`,cursor:w,...o,flexGrow:0,flexShrink:0,touchAction:`none`},tabIndex:n?void 0:0})}fi.displayName=`Separator`;function pi(e,t,n){let r=n.snapshot.explorer_pin,i=r===null?null:e.find(e=>e.id===r&&e.status!==`archived`)??null;return{session:i??e.find(e=>e.id===t)??null,pinned:i!==null,pin(e){n.update({explorer_pin:e})},unpin(){n.update({explorer_pin:null})}}}var mi=(0,W.createContext)({openFile:()=>void 0,handler:null,setHandler:()=>void 0});function hi({children:e}){let[t,n]=(0,W.useState)(null),r=(0,W.useCallback)(e=>n(()=>e),[]),i=(0,W.useCallback)((e,n,r)=>{if(!t){w(`The editor is not ready yet.`);return}t(e,n,r)},[t]),a=(0,W.useMemo)(()=>({openFile:i,handler:t,setHandler:r}),[i,t,r]);return(0,U.jsx)(mi.Provider,{value:a,children:e})}function gi(e){let{setHandler:t}=(0,W.useContext)(mi),n=(0,W.useRef)(e);n.current=e,(0,W.useEffect)(()=>(t((e,t,r)=>n.current(e,t,r)),()=>t(null)),[t])}var _i=null,vi=null;async function yi(){let[e,t]=await Promise.all([b(()=>import(`./PaneEditorBody-6h7v53Gs.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),b(()=>import(`./ModelRefcount-BD4m7wnM.js`),__vite__mapDeps([19,1,2,15,9,8,3,5,6,10,11,7,12,13,14,16]))]);_i=e.PaneEditorBody,vi=t.ModelRefcount}var bi=(0,W.lazy)(()=>b(()=>import(`./PaneEditorBody-6h7v53Gs.js`).then(e=>({default:e.PaneEditorBody})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])));function xi(e){return _i?(0,U.jsx)(_i,{...e}):(0,U.jsx)(W.Suspense,{fallback:(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center bg-ground text-xs text-fg-muted`,children:`Loading editor…`}),children:(0,U.jsx)(bi,{...e})})}var Si=(0,W.lazy)(()=>b(()=>import(`./ModelRefcount-BD4m7wnM.js`).then(e=>({default:e.ModelRefcount})),__vite__mapDeps([19,1,2,15,9,8,3,5,6,10,11,7,12,13,14,16])));function Ci({buffers:e}){return vi?(0,U.jsx)(vi,{buffers:e}):(0,U.jsx)(W.Suspense,{fallback:null,children:(0,U.jsx)(Si,{buffers:e})})}var wi=(0,W.lazy)(()=>b(()=>import(`./EditorTabClose-DziQNlDZ.js`).then(e=>({default:e.EditorTabClose})),__vite__mapDeps([20,1,2,3,10,11,7,15,9,8,5,6,12,13,14,16,17,18])));function Ti(e){return(0,U.jsx)(W.Suspense,{fallback:(0,U.jsx)(`button`,{onClick:t=>{t.stopPropagation(),e.onClose()},className:`flex size-4 items-center justify-center rounded-sm text-fg-muted opacity-0 transition-opacity hover:text-fg group-hover:opacity-100`,"aria-label":`Close ${e.label}`,children:`×`}),children:(0,U.jsx)(wi,{...e})})}var Ei=e(n(),1);function Di(){return crypto.randomUUID()}function J(e){return e.type===`terminal`?`term:${e.session}`:`editor:${g(e.tab)}`}function Oi(e,t){return J(e)===J(t)}function ki(e){return e.type===`terminal`}function Ai(e=[],t){let n=e.map(J),r=t&&n.includes(t)?t:n.length>0?n[0]:null;return{kind:`leaf`,id:Di(),tabs:e,activeKey:r,previewKey:null}}function ji(e,t,n){return{kind:`split`,id:Di(),direction:e,children:t,sizes:n??t.map(()=>100/Math.max(1,t.length))}}function Mi(e,t){if(e.kind===`leaf`)return e.id===t?e:null;for(let n of e.children){let e=Mi(n,t);if(e)return e}return null}function Ni(e,t){if(e.kind===`leaf`)return e.tabs.some(e=>J(e)===t)?e:null;for(let n of e.children){let e=Ni(n,t);if(e)return e}return null}function Pi(e){return e.kind===`leaf`?[e]:e.children.flatMap(Pi)}function Fi(e){return Pi(e).flatMap(e=>e.tabs)}function Ii(e){let t=e.tabs.map(J),n=e.activeKey&&t.includes(e.activeKey)?e.activeKey:t[0]??null,r=e.previewKey&&t.includes(e.previewKey)?e.previewKey:null;return n===e.activeKey&&r===(e.previewKey??null)?e:{...e,activeKey:n,previewKey:r}}function Li(e){if(e.kind===`leaf`)return Ii(e);let t=e.children.map(Li),n=[],r=[];t.forEach((t,i)=>{let a=e.sizes[i]??1;if(t.kind===`split`&&t.direction===e.direction){let e=t.sizes.reduce((e,t)=>e+t,0)||t.children.length;t.children.forEach((i,o)=>{n.push(i),r.push(a*(t.sizes[o]??1)/e)})}else n.push(t),r.push(a)});let i=[],a=[];return n.forEach((e,t)=>{e.kind===`leaf`&&e.tabs.length===0||(i.push(e),a.push(r[t]??1))}),i.length===0?Ai([]):i.length===1?i[0]:{...e,children:i,sizes:a}}function Ri(e,t,n){return e.kind===`leaf`?e.id===t?n(e):e:{...e,children:e.children.map(e=>Ri(e,t,n))}}function zi(e,t){if(e.kind===`leaf`){if(!e.tabs.some(e=>J(e)===t))return e;let n=e.tabs.filter(e=>J(e)!==t),r=e.activeKey===t?Bi(e,t):e.activeKey;return{...e,tabs:n,activeKey:r}}return{...e,children:e.children.map(e=>zi(e,t))}}function Bi(e,t){let n=e.tabs.findIndex(e=>J(e)===t);if(n===-1)return e.activeKey;let r=e.tabs.filter(e=>J(e)!==t);return r.length===0?null:J(r[Math.min(n,r.length-1)])}function Vi(e,t,n){let r=e.tabs.filter(e=>!Oi(e,t)),i=n===void 0?r.length:Math.max(0,Math.min(n,r.length)),a=[...r.slice(0,i),t,...r.slice(i)];return{...e,tabs:a,activeKey:J(t)}}function Hi(e,t,n,r){let i=n===`left`||n===`right`?`row`:`col`,a=n===`left`||n===`top`;return Li(Ri(e,t,e=>{let t=Ai([r]);return ji(i,a?[t,e]:[e,t],[50,50])}))}function Ui(e,t){let{ref:n,toLeafId:r,edge:i}=t,a=J(n),o=t.index;if(i===`center`&&o!==void 0){let t=Mi(e,r)?.tabs.findIndex(e=>J(e)===a)??-1;t!==-1&&t<o&&--o}let s=zi(e,a);if(i===`center`){let e=Ri(s,r,e=>Vi(e,n,o));return!Mi(e,r)&&!Ni(e,a)?Ji(Li(Wi(e,n)),a):Ji(Li(e),a)}return Mi(s,r)?Ji(Hi(s,r,i,n),a):Li(Ai([n]))}function Wi(e,t){let n=Pi(e)[0];return n?Ri(e,n.id,e=>Vi(e,t)):Ai([t])}function Gi(e,t,n){return Li(Ri(e,t,e=>e.tabs.some(e=>J(e)===n)?{...e,tabs:e.tabs.filter(e=>J(e)!==n),activeKey:e.activeKey===n?Bi(e,n):e.activeKey}:e))}function Ki(e,t,n){let r=J(n);return Li(Ri(e,t,e=>{let t=e.previewKey===r?null:e.previewKey;return e.tabs.some(e=>Oi(e,n))?{...e,activeKey:r,previewKey:t}:{...e,tabs:[...e.tabs,n],activeKey:r,previewKey:t}}))}function qi(e,t,n){let r=J(n);return Li(Ri(e,t,e=>{if(e.tabs.some(e=>Oi(e,n)))return{...e,activeKey:r};let t=e.previewKey?e.tabs.findIndex(t=>J(t)===e.previewKey):-1,i=t>=0&&!ki(e.tabs[t])?e.tabs.map((e,r)=>r===t?n:e):[...e.tabs,n];return{...e,tabs:i,activeKey:r,previewKey:r}}))}function Ji(e,t){let n=e=>e.kind===`leaf`?e.previewKey===t?{...e,previewKey:null}:e:{...e,children:e.children.map(n)};return n(e)}function Yi(e,t,n){return Ri(e,t,e=>e.tabs.some(e=>J(e)===n)?{...e,activeKey:n}:e)}function Xi(e,t,n){function r(e){return e.kind===`leaf`?e:e.id===t&&n.length===e.children.length?{...e,children:e.children.map(r),sizes:[...n]}:{...e,children:e.children.map(r)}}return r(e)}function Zi(e,t){let n=e=>e.kind===`leaf`?{...e,tabs:e.tabs.filter(t)}:{...e,children:e.children.map(n)};return Li(n(e))}function Qi(e){let t=e.editor_tabs.map(e=>({type:`editor`,tab:e})),n=e.session_tabs.map(e=>({type:`terminal`,session:e})),r=e.active_editor_tab?J({type:`editor`,tab:e.active_editor_tab}):null,i=e.active_session?`term:${e.active_session}`:null;if(t.length===0&&n.length===0)return Ai([]);if(t.length===0)return Ai(n,i);if(n.length===0)return Ai(t,r);let a=e.layout,o=typeof a.editor==`number`?a.editor:40,s=typeof a.session==`number`?a.session:60;return Li(ji(`col`,[Ai(t,r),Ai(n,i)],[o,s]))}var $i=(0,W.createContext)(null);function ea({tree:e,onOpenFile:t,children:n}){let r=(0,W.useRef)(null),i=(0,W.useRef)(new Map).current,a=(0,W.useMemo)(()=>{let t=new Set;for(let n of Pi(e))for(let e of n.tabs)e.type===`terminal`&&t.add(e.session);return[...t]},[e]),o=e=>{let t=`term:${e}`,n=i.get(t);return n||(n=document.createElement(`div`),n.className=`size-full`,i.set(t,n)),n};(0,W.useEffect)(()=>{let e=new Set(a.map(e=>`term:${e}`));for(let e of a){let t=i.get(`term:${e}`);t&&!t.parentElement&&r.current?.appendChild(t)}for(let[t,n]of[...i])e.has(t)||(n.remove(),i.delete(t))},[a,i]);let s=(0,W.useMemo)(()=>({parkingRef:r,containers:i}),[i]);return(0,U.jsxs)($i.Provider,{value:s,children:[(0,U.jsx)(`div`,{ref:r,className:`hidden`,"aria-hidden":!0}),a.map(e=>(0,Ei.createPortal)((0,U.jsx)(kt,{stream:e,onOpenFile:(n,r,i)=>t(e,n,r,i)}),o(e),e)),n]})}function ta(e){let t=(0,W.useContext)($i),n=(0,W.useRef)(null);return(0,W.useEffect)(()=>{let r=n.current;if(!t||!e||!r)return;let i=t.containers.get(e);return i&&r.appendChild(i),()=>{let e=t.parkingRef.current;i&&e&&i.parentElement===r&&e.appendChild(i)}},[t,e]),n}function na(e,t){let n={};for(let r of t){let t=e[r];if(typeof t!=`number`)return;n[r]=t}return n}var ra={added:{letter:`A`,label:`added`,colourClass:`text-running`},modified:{letter:`M`,label:`modified`,colourClass:`text-fg-secondary`},deleted:{letter:`D`,label:`deleted`,colourClass:`text-interrupted`},renamed:{letter:`R`,label:`renamed`,colourClass:`text-waiting`}};function ia(e){return ra[e]}var aa=[`modified`,`added`,`deleted`,`renamed`];function oa(e){let t=new Map;for(let n of e)t.set(n.status,(t.get(n.status)??0)+1);return aa.filter(e=>t.has(e)).map(e=>`${t.get(e)} ${ra[e].label}`).join(` · `)}var sa=[`var(--accent)`,`var(--status-running)`,`var(--status-waiting)`,`var(--ansi-magenta)`,`var(--ansi-cyan)`,`var(--status-interrupted)`];function ca(e){return sa[e%sa.length]}function la(e){let t=[],n=0,r=0,i=()=>{let e=t.indexOf(null);return e===-1?t.length:e},a=()=>{let e=[];for(let n=0;n<t.length;n++){let r=t[n];r&&e.push({col:n,sha:r.sha,colour:ca(r.colourIdx)})}return e},o=[],s=[];for(let c of e){let e=c.parents??[],l=[];for(let e=0;e<t.length;e++)t[e]?.sha===c.sha&&l.push(e);let u,d;l.length>0?(u=l[0],d=t[u].colourIdx):(u=i(),d=n++);let f=ca(d);for(let e of l)t[e]=null;for(;t.length<=u;)t.push(null);let p=[];if(e.length>0){t[u]={sha:e[0],colourIdx:d},p.push(u);for(let r=1;r<e.length;r++){let a=e[r],o=t.findIndex(e=>e?.sha===a);if(o===-1){for(o=i();t.length<=o;)t.push(null);t[o]={sha:a,colourIdx:n++}}p.push(o)}}else t[u]=null;let m=a();o.push({sha:c.sha,col:u,colour:f,above:s,below:m,created:p}),s=m,r=Math.max(r,t.length)}return{rows:o,laneCount:r}}var ua=7,da=14,fa=4,pa=1.5,ma=40,ha=22;function ga(e){return e*da+da/2}function _a(e,t,n,r){if(e===n)return`M ${e} ${t} L ${n} ${r}`;let i=(t+r)/2;return`M ${e} ${t} C ${e} ${i}, ${n} ${i}, ${n} ${r}`}function va({row:e,width:t}){let n=ma,r=n/2,i=ga(e.col),a=new Set(e.created),o=[];for(let t of e.above){let n=ga(t.col);t.sha===e.sha?o.push({d:_a(n,0,i,r),colour:t.colour}):o.push({d:_a(n,0,n,r),colour:t.colour})}for(let t of e.below){let e=ga(t.col);a.has(t.col)?o.push({d:_a(i,r,e,n),colour:t.colour}):o.push({d:_a(e,r,e,n),colour:t.colour})}return(0,U.jsxs)(`svg`,{width:t,height:n,className:`shrink-0`,"aria-hidden":!0,children:[o.map((e,t)=>(0,U.jsx)(`path`,{d:e.d,fill:`none`,stroke:e.colour,strokeWidth:pa},t)),(0,U.jsx)(`circle`,{cx:i,cy:r,r:fa,fill:`var(--bg-surface)`,stroke:e.colour,strokeWidth:pa})]})}function ya({lanes:e,width:t}){return(0,U.jsx)(`svg`,{width:t,height:ha,className:`shrink-0`,"aria-hidden":!0,children:e.map(e=>{let t=ga(e.col);return(0,U.jsx)(`path`,{d:`M ${t} 0 L ${t} ${ha}`,fill:`none`,stroke:e.colour,strokeWidth:pa},e.col)})})}function ba({session:e,sha:t,lanes:n,gutterW:r,onOpen:i}){let a=c(e,t),o=e=>(0,U.jsxs)(`div`,{className:`flex items-center`,style:{height:ha},children:[(0,U.jsx)(ya,{lanes:n,width:r}),(0,U.jsx)(`span`,{className:`px-2 text-2xs text-fg-muted`,children:e})]});return a.isPending?o(`…`):a.error?o(a.error instanceof Error?a.error.message:`Failed to load commit`):a.data.files.length===0?o(`No file changes.`):(0,U.jsx)(U.Fragment,{children:a.data.files.map(e=>{let a=ia(e.status),o=e.status===`renamed`&&e.old_path?`${e.old_path} → ${e.path}`:e.path;return(0,U.jsxs)(`button`,{type:`button`,title:o,onClick:()=>i(e.path,t),className:`flex w-full items-center text-left transition-colors hover:bg-elevated`,style:{height:ha},children:[(0,U.jsx)(ya,{lanes:n,width:r}),(0,U.jsx)(`span`,{className:F(`mr-1.5 w-3 shrink-0 text-center font-mono text-xs`,a.colourClass),children:a.letter}),(0,U.jsx)(`span`,{className:`truncate pr-3 font-mono text-2xs text-fg`,children:o})]},`${e.status}:${e.old_path??``}:${e.path}`)})})}function xa({session:e,onOpenCommitFile:t}){let n=a(e),[r,i]=(0,W.useState)(null),o=(0,W.useMemo)(()=>n.data?.pages.flatMap(e=>e.commits)??[],[n.data]),s=(0,W.useMemo)(()=>la(o),[o]),c=Math.max(1,s.laneCount)*da+da/2;return n.isPending?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`Loading history…`}):n.error?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:n.error instanceof Error?n.error.message:`Failed to load history`}):o.length===0?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No commits yet.`}):(0,U.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:[s.rows.map((n,a)=>{let s=o[a],l=r===n.sha;return(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>i(l?null:n.sha),className:F(`flex w-full items-center text-left transition-colors hover:bg-elevated`,l&&`bg-selection`),style:{height:ma},children:[(0,U.jsx)(va,{row:n,width:c}),(0,U.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5 pr-3`,children:[(0,U.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,U.jsx)(`span`,{className:`shrink-0 font-mono text-2xs text-fg-muted`,children:n.sha.slice(0,ua)}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-fg`,children:s.subject})]}),(0,U.jsxs)(`span`,{className:`truncate text-2xs text-fg-muted`,children:[s.author_name,` ·`,` `,(0,U.jsx)(`span`,{className:`tabular-nums`,children:u(s.authored_at)})]})]})]}),l&&(0,U.jsx)(ba,{session:e,sha:n.sha,lanes:n.below,gutterW:c,onOpen:t})]},n.sha)}),n.hasNextPage&&(0,U.jsx)(`button`,{type:`button`,onClick:()=>void n.fetchNextPage(),disabled:n.isFetchingNextPage,className:`px-3 py-2 text-left font-mono text-xs text-fg-muted transition-colors hover:bg-elevated`,children:n.isFetchingNextPage?`Loading…`:`Show more`})]})}function Sa(){return{dirs:new Map,files:[]}}function Ca(e){return e.path}function wa(e,t){let n=[];for(let[r,i]of e.dirs){let e=t?`${t}/${r}`:r,a={type:`dir`,name:r,path:e,children:wa(i,e)};for(;a.children.length===1&&a.children[0].type===`dir`;){let e=a.children[0];a={type:`dir`,name:`${a.name}/${e.name}`,path:e.path,children:e.children}}n.push(a)}n.sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`}));let r=[...e.files].sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`}));return[...n,...r]}function Ta(e){let t=Sa();for(let n of e){let e=Ca(n),r=e.split(`/`),i=r.pop(),a=t;for(let e of r){let t=a.dirs.get(e);t||(t=Sa(),a.dirs.set(e,t)),a=t}a.files.push({type:`file`,name:i,path:e,entry:n})}return wa(t,``)}function Ea(e){return e.map(e=>({type:`file`,name:Ca(e).split(`/`).pop()??Ca(e),path:Ca(e),entry:e})).sort((e,t)=>e.path.localeCompare(t.path,void 0,{sensitivity:`base`}))}function Da({name:e,fullPath:t,status:n,depth:r,active:i,onOpen:a}){let o=ia(n);return(0,U.jsxs)(`button`,{type:`button`,title:t,onClick:()=>a(t),className:F(`flex w-full items-center gap-1.5 py-1 pr-3 text-left transition-colors hover:bg-elevated`,i&&`bg-selection`),style:{paddingLeft:8+r*12},children:[(0,U.jsx)(`span`,{className:F(`w-3 shrink-0 text-center font-mono text-xs`,o.colourClass),children:o.letter}),(0,U.jsx)(`span`,{className:`truncate font-mono text-xs text-fg`,children:e})]})}function Oa({nodes:e,depth:t,activePath:n,onOpen:r}){let[i,a]=(0,W.useState)(new Set);return(0,U.jsx)(U.Fragment,{children:e.map(e=>{if(e.type===`file`)return(0,U.jsx)(Da,{name:e.name,fullPath:e.path,status:e.entry.status,depth:t,active:n===e.path,onOpen:r},e.path);let o=i.has(e.path);return(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>a(t=>{let n=new Set(t);return n.has(e.path)?n.delete(e.path):n.add(e.path),n}),className:`flex w-full items-center gap-1 py-1 pr-3 text-left transition-colors hover:bg-elevated`,style:{paddingLeft:8+t*12},children:[o?(0,U.jsx)(ve,{className:`size-3.5 shrink-0 text-fg-gold`}):(0,U.jsx)(Pe,{className:`size-3.5 shrink-0 text-fg-gold`}),(0,U.jsx)(`span`,{className:`truncate font-mono text-xs text-fg-secondary`,children:e.name})]}),!o&&(0,U.jsx)(Oa,{nodes:e.children,depth:t+1,activePath:n,onOpen:r})]},e.path)})})}function ka({session:e,activePath:t,onOpen:n}){let[r,i]=(0,W.useState)(!1),a=f(e,{against:`head`}),o=a.data?.entries??[],s=(0,W.useMemo)(()=>r?null:Ta(o),[r,o]),c=(0,W.useMemo)(()=>r?Ea(o):null,[r,o]);return(0,U.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-3`,children:[(0,U.jsx)(`span`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Uncommitted`}),o.length>0&&(0,U.jsx)(`span`,{className:`truncate font-mono text-2xs text-fg-muted`,children:oa(o)}),(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"aria-pressed":!r,onClick:()=>i(e=>!e),className:`ml-auto rounded-sm p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[r?(0,U.jsx)(ln,{className:`size-3.5`}):(0,U.jsx)(an,{className:`size-3.5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:r?`Show as tree`:`Show as flat list`})]})}),(0,U.jsx)(et,{children:r?`Show as tree`:`Show as flat list`})]})]}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-1`,children:a.isPending?(0,U.jsx)(`div`,{className:`px-3 py-1.5 text-xs text-fg-muted`,children:`Loading changes…`}):a.error?(0,U.jsx)(`div`,{className:`px-3 py-1.5 text-xs text-fg-muted`,children:a.error instanceof Error?a.error.message:`Failed to load changes`}):o.length===0?(0,U.jsx)(`div`,{className:`px-3 py-1.5 text-xs text-fg-muted`,children:`No uncommitted changes.`}):r?c.map(e=>(0,U.jsx)(Da,{name:e.path,fullPath:e.path,status:e.entry.status,depth:0,active:t===e.path,onOpen:n},e.path)):(0,U.jsx)(Oa,{nodes:s,depth:0,activePath:t,onOpen:n})})]})}function Aa({session:e,activeDiffPath:t,onOpenDiff:n,onOpenCommitFile:r}){return(0,U.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsx)(`section`,{className:`flex max-h-[45%] min-h-0 flex-col`,children:(0,U.jsx)(ka,{session:e,activePath:t,onOpen:n})}),(0,U.jsx)(`div`,{className:`h-px shrink-0 bg-border`}),(0,U.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsx)(`div`,{className:`flex h-7 shrink-0 items-center px-3`,children:(0,U.jsx)(`span`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`History`})}),(0,U.jsx)(xa,{session:e,onOpenCommitFile:r})]})]})}var ja={untracked:{letter:`U`,colourClass:`text-running`},added:{letter:`A`,colourClass:`text-running`},modified:{letter:`M`,colourClass:`text-waiting`},renamed:{letter:`R`,colourClass:`text-waiting`},deleted:{letter:`D`,colourClass:`text-interrupted`},conflicted:{letter:`C`,colourClass:`text-interrupted`},ignored:{letter:``,colourClass:`text-fg-muted`}};function Ma(e){return ja[e]}function Na(e){let t=new Map;for(let n of e)t.set(n.path,n.status);return t}var Pa={conflicted:0,modified:1,renamed:2,deleted:3,added:4,untracked:5,ignored:6};function Fa(e,t){let n=t===``?``:`${t}/`,r=null;for(let[t,i]of e)n!==``&&!t.startsWith(n)||i!==`ignored`&&(r===null||Pa[i]<Pa[r])&&(r=i);return r}function Ia(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function La(e){let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t)}function Ra(e,t){return e===``?t:`${e}/${t}`}function za(e,t){let n=[],r=(i,a)=>{let o=e(i);if(o)for(let e of o.entries){let o=Ra(i,e.name);n.push({path:o,name:e.name,type:e.type,depth:a,parentDir:i}),e.type===`dir`&&t.has(o)&&r(o,a+1)}};return r(``,0),n}function Ba(e,t,n){let r=e.findIndex(e=>e.path===t),i=e.findIndex(e=>e.path===n);if(r===-1||i===-1)return n?[n]:[];let[a,o]=r<=i?[r,i]:[i,r];return e.slice(a,o+1).map(e=>e.path)}var Va=(e,t)=>e instanceof Error?e.message:t;function Ha(e){let t=i(),n=(0,W.useCallback)(()=>{t.invalidateQueries({queryKey:[`wt-tree`,e]}),t.invalidateQueries({queryKey:[`wt-git-status`,e]})},[t,e]);return(0,W.useMemo)(()=>({async create(t,r,i){try{let a=await m(e,Ra(t,r),i);return n(),a.path}catch(e){return w.error(Va(e,`Couldn't create ${r}`)),null}},async rename(t,r){let i=Ra(t.includes(`/`)?t.slice(0,t.lastIndexOf(`/`)):``,r);try{let r=await d(e,t,i);return n(),r.path}catch(e){return w.error(Va(e,`Couldn't rename ${Ia(t)}`)),null}},async move(t,r){try{let i=await d(e,t,Ra(r,Ia(t)));return n(),i.path}catch(e){return w.error(Va(e,`Couldn't move ${Ia(t)}`)),null}},async remove(t){let r=await Promise.allSettled(t.map(t=>h(e,t)));n();let i=r.filter(e=>e.status===`rejected`).length;i>0?w.error(`Couldn't delete ${i} item${i>1?`s`:``}`):w.success(t.length===1?`Deleted ${Ia(t[0])}`:`Deleted ${t.length} items`)},async paste(t,r){let i=t.mode===`cut`?d:o,a=await Promise.allSettled(t.paths.map(t=>i(e,t,Ra(r,Ia(t)))));n();let s=a.filter(e=>e.status===`rejected`).length;s>0&&w.error(`Couldn't paste ${s} item${s>1?`s`:``}`)}}),[e,n])}function Ua(e,t,n){return n&&n.type!==`dir`||(e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``)===t?!1:t===``||!`${t}/`.startsWith(`${e}/`)}var Wa=(0,W.createContext)(null);function Ga(){let e=(0,W.useContext)(Wa);if(!e)throw Error(`explorer components must render inside <ExplorerProvider>`);return e}function Ka(){return(0,W.useContext)(Wa)}function qa({session:e,onOpenFile:t,activePath:n,children:r}){let a=e.id,o=i(),c=Ha(a),u=(0,W.useCallback)((e,t)=>{t.length!==0&&_(a,e,t).then(()=>{o.invalidateQueries({queryKey:[`wt-tree`,a,e]}),o.invalidateQueries({queryKey:[`wt-git-status`,a]}),w.success(t.length===1?`Uploaded ${t[0].name}`:`Uploaded ${t.length} files`)}).catch(e=>w.error(e instanceof Error?e.message:`Upload failed`))},[a,o]),[d,f]=(0,W.useState)(new Set),[p,m]=(0,W.useState)(new Set),[h,g]=(0,W.useState)(null),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(null),[S,C]=(0,W.useState)(null),[T,E]=(0,W.useState)(null),D=(0,W.useRef)(null),ee=l(a),O=(0,W.useMemo)(()=>Na(ee.data?.entries??[]),[ee.data]),[k,te]=(0,W.useState)(0);(0,W.useEffect)(()=>o.getQueryCache().subscribe(e=>{let t=e.query.queryKey;Array.isArray(t)&&t[0]===`wt-tree`&&t[1]===a&&te(e=>e+1)}),[o,a]);let A=(0,W.useMemo)(()=>za(e=>o.getQueryData([`wt-tree`,a,e]),d),[o,a,d,k]),j=(0,W.useCallback)(e=>{f(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),M=(0,W.useCallback)(e=>{f(t=>t.has(e)?t:new Set(t).add(e))},[]),N=(0,W.useCallback)(()=>f(new Set),[]),P=(0,W.useCallback)((e,n)=>{if(g(e.path),n.metaKey||n.ctrlKey){m(t=>{let n=new Set(t);return n.has(e.path)?n.delete(e.path):n.add(e.path),n}),D.current=e.path;return}if(n.shiftKey&&D.current){m(new Set(Ba(A,D.current,e.path)));return}m(new Set([e.path])),D.current=e.path,e.type===`dir`?j(e.path):t?.(a,e.path)},[A,j,t,a]),ne=(0,W.useCallback)(e=>{e.type!==`dir`&&t?.(a,e.path,{preview:!1})},[t,a]),re=(0,W.useCallback)(e=>{m(new Set([e])),g(e),D.current=e},[]),F=(0,W.useCallback)(e=>y({paths:e,mode:`cut`}),[]),I=(0,W.useCallback)(e=>y({paths:e,mode:`copy`}),[]),ie=(0,W.useCallback)(e=>{v&&c.paste(v,e).then(()=>{v.mode===`cut`&&y(null)})},[v,c]),L=(0,W.useCallback)(e=>x({mode:`rename`,path:e}),[]),ae=(0,W.useCallback)((e,t)=>{e!==``&&M(e),x({mode:`create`,parentDir:e,kind:t})},[M]),oe=(0,W.useCallback)(()=>x(null),[]),se=(0,W.useCallback)(e=>{let n=e.trim(),r=b;if(x(null),!(!r||n===``))if(r.mode===`rename`){if(n===Ia(r.path))return;c.rename(r.path,n)}else c.create(r.parentDir,n,r.kind).then(e=>{e&&r.kind===`file`&&t?.(a,e)})},[b,c,t,a]),ce=(0,W.useCallback)(e=>{e.length>0&&E(e)},[]),le=(0,W.useCallback)(()=>{let e=T;E(null),e&&c.remove(e)},[T,c]),ue=(0,W.useCallback)(()=>E(null),[]),de=(0,W.useCallback)((t,n)=>{let r=n?t:Ra(e.worktree_path,t);navigator.clipboard.writeText(r),w.success(n?`Relative path copied`:`Path copied`)},[e.worktree_path]),R=(0,W.useCallback)(e=>{s(a,e).catch(e=>w.error(e instanceof Error?e.message:`Download failed`))},[a]),fe=(0,W.useCallback)(()=>{o.invalidateQueries({queryKey:[`wt-tree`,a]}),o.invalidateQueries({queryKey:[`wt-git-status`,a]})},[o,a]),pe=(0,W.useCallback)((e,t)=>{Ua(t,e)&&c.move(t,e)},[c]),z=(0,W.useCallback)(()=>h&&p.has(h)?[...p]:h?[h]:[...p],[h,p]),me=(0,W.useRef)({buffer:``,at:0}),he=(0,W.useCallback)(e=>{if(b)return;let n=A;if(n.length===0)return;let r=h?n.findIndex(e=>e.path===h):-1,i=(e,t)=>{let r=n[Math.max(0,Math.min(n.length-1,e))];r&&(g(r.path),t&&D.current?m(new Set(Ba(n,D.current,r.path))):(m(new Set([r.path])),D.current=r.path))},o=r>=0?n[r]:void 0,s=e.metaKey||e.ctrlKey;switch(e.key){case`ArrowDown`:e.preventDefault(),i(r+1,e.shiftKey);return;case`ArrowUp`:e.preventDefault(),i(r<=0?0:r-1,e.shiftKey);return;case`ArrowRight`:e.preventDefault(),o?.type===`dir`&&!d.has(o.path)?M(o.path):o?.type===`dir`&&i(r+1,!1);return;case`ArrowLeft`:if(e.preventDefault(),o?.type===`dir`&&d.has(o.path))j(o.path);else if(o){let e=n.findIndex(e=>e.path===o.parentDir);e>=0&&i(e,!1)}return;case`Enter`:case` `:if(e.preventDefault(),!o)return;o.type===`dir`?j(o.path):t?.(a,o.path);return;case`F2`:e.preventDefault(),o&&L(o.path);return;case`Delete`:e.preventDefault(),ce(z());return;case`Backspace`:s&&(e.preventDefault(),ce(z()));return}if(s&&(e.key===`c`||e.key===`C`)){e.preventDefault();let t=z();e.altKey?de(t[0]??``,e.shiftKey):I(t);return}if(s&&(e.key===`x`||e.key===`X`)){e.preventDefault(),F(z());return}if(s&&(e.key===`v`||e.key===`V`)){e.preventDefault();let t=o?o.type===`dir`?o.path:o.parentDir:``;ie(t);return}if(!s&&!e.altKey&&e.key.length===1&&/\S/.test(e.key)){let t=Date.now(),a=me.current;a.buffer=t-a.at>700?e.key:a.buffer+e.key,a.at=t;let o=a.buffer.toLowerCase(),s=r+1;for(let e=0;e<n.length;e++){let t=n[(s+e)%n.length];if(t.name.toLowerCase().startsWith(o)){i(n.findIndex(e=>e.path===t.path),!1);break}}}},[b,A,h,d,M,j,t,a,L,ce,z,I,F,ie,de]),ge={sid:a,worktreePath:e.worktree_path,onOpenFile:t,activePath:n,expanded:d,toggle:j,collapseAll:N,statusMap:O,visibleRows:A,selection:p,focusedPath:h,onRowClick:P,onRowDoubleClick:ne,selectOnly:re,clipboard:v,cut:F,copy:I,paste:ie,editing:b,beginRename:L,beginCreate:ae,cancelEdit:oe,commitEdit:se,requestDelete:ce,copyPathToClipboard:de,download:R,refresh:fe,onUpload:u,dropTarget:S,setDropTarget:C,onInternalDrop:pe,handleKeyDown:he,pendingDelete:T,confirmDelete:le,cancelDelete:ue};return(0,U.jsx)(Wa.Provider,{value:ge,children:r})}var Ja=`application/x-puddle-tab`;function Ya(e){return JSON.stringify(e)}function Xa(e){try{return S.parse(JSON.parse(e))}catch{return null}}function Za(e){return e.includes(Ja)}var Qa={"package.json":Ut,"package-lock.json":Jt,"pnpm-lock.yaml":Jt,"yarn.lock":Jt,"pnpm-workspace.yaml":Wt,dockerfile:H,".gitignore":Wt,".gitattributes":Wt,"readme.md":$t,license:$t,licence:$t},$a={ts:H,tsx:H,mts:H,cts:H,js:H,jsx:H,mjs:H,cjs:H,py:H,rs:H,go:H,rb:H,php:H,java:H,kt:H,c:H,h:H,cpp:H,hpp:H,cc:H,html:H,htm:H,xml:H,vue:H,sql:H,json:Ut,jsonc:Ut,yml:Wt,yaml:Wt,toml:Wt,ini:Wt,cfg:Wt,conf:Wt,env:qt,lock:Jt,csv:Zt,tsv:Zt,xlsx:Zt,xls:Zt,md:$t,mdx:$t,markdown:$t,txt:$t,rtf:$t,log:$t,pdf:$t,css:en,scss:en,sass:en,less:en,sh:Qt,bash:Qt,zsh:Qt,fish:Qt,svg:Kt,png:Kt,jpg:Kt,jpeg:Kt,gif:Kt,webp:Kt,bmp:Kt,ico:Kt,avif:Kt,mp4:Yt,mov:Yt,webm:Yt,mkv:Yt,avi:Yt,mp3:Gt,wav:Gt,flac:Gt,ogg:Gt,m4a:Gt,zip:Ht,tar:Ht,gz:Ht,tgz:Ht,rar:Ht,"7z":Ht};function eo(e){let t=e.toLowerCase(),n=Qa[t];if(n)return{Icon:n,generic:!1};let r=t.lastIndexOf(`.`);if(r>0){let e=$a[t.slice(r+1)];if(e)return{Icon:e,generic:!1}}return{Icon:tn,generic:!0}}function to({name:e,dimmed:t}){let{Icon:n,generic:r}=eo(e);return(0,U.jsx)(n,{className:F(`size-3.5 shrink-0`,t||r?`text-fg-muted`:`text-fg`)})}var no=14,ro=`application/x-puddle-path`;function io(e,t){let n=Array.from(e??[]).map(e=>e.webkitGetAsEntry?.()??null);return n.some(e=>e?.isDirectory)&&w.error(`Folders can't be uploaded yet — zip them first`),Array.from(t).filter((e,t)=>n[t]?.isDirectory!==!0)}function ao({children:e}){return(0,U.jsx)(`span`,{className:`ml-auto pl-6 text-2xs text-fg-muted tabular-nums`,children:e})}function oo({depth:e,initial:t,icon:n,onCommit:r,onCancel:i}){let a=(0,W.useRef)(null),o=(0,W.useRef)(!1);(0,W.useEffect)(()=>{let e=a.current;if(!e)return;e.focus();let n=t.lastIndexOf(`.`);e.setSelectionRange(0,n>0?n:t.length)},[t]);let s=()=>{o.current||(o.current=!0,r(a.current?.value??``))};return(0,U.jsxs)(`div`,{className:`flex h-6 items-center gap-1 pr-2`,style:{paddingLeft:e*no+8},children:[(0,U.jsx)(`span`,{className:`size-3.5 shrink-0`}),n,(0,U.jsx)(`input`,{ref:a,defaultValue:t,spellCheck:!1,onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`?s():e.key===`Escape`&&(o.current=!0,i())},onBlur:s,className:`min-w-0 flex-1 bg-surface font-mono text-sm text-fg outline-none`})]})}function so({path:e,entry:t,depth:n}){let r=Ga(),i=t.type===`dir`,a=i&&r.expanded.has(e),o=i&&r.dropTarget===e,s=!i&&e===r.activePath,c=r.selection.has(e),l=r.clipboard?.mode===`cut`&&r.clipboard.paths.includes(e),u={path:e,name:t.name,type:t.type,depth:n,parentDir:La(e)},d=r.statusMap.get(e),f=i?Fa(r.statusMap,e):null,p=d?Ma(d):f?Ma(f):null,m=p?p.colourClass:t.name.startsWith(`.`)?`text-fg-muted`:`text-fg`,h=c&&r.selection.size>1?[...r.selection]:[e],g=i?e:La(e),_=r.clipboard!==null;return r.editing?.mode===`rename`&&r.editing.path===e?(0,U.jsx)(oo,{depth:n,initial:t.name,icon:i?(0,U.jsx)(nn,{className:`size-3.5 shrink-0 text-fg`}):(0,U.jsx)(to,{name:t.name}),onCommit:r.commitEdit,onCancel:r.cancelEdit}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(Te,{children:[(0,U.jsx)(z,{asChild:!0,children:(0,U.jsxs)(`div`,{role:`treeitem`,"data-path":e,"aria-expanded":i?a:void 0,"aria-selected":c,tabIndex:-1,draggable:!0,onClick:e=>{e.currentTarget.closest(`[data-explorer-root]`)?.focus(),r.onRowClick(u,e)},onDoubleClick:()=>r.onRowDoubleClick(u),onContextMenu:()=>{c||r.selectOnly(e)},onDragStart:t=>{t.dataTransfer.setData(ro,e),i||t.dataTransfer.setData(Ja,Ya({type:`editor`,tab:{kind:`file`,session:r.sid,path:e}})),t.dataTransfer.effectAllowed=`copyMove`},onDragOver:t=>{i&&(t.preventDefault(),t.stopPropagation(),r.setDropTarget(e))},onDragLeave:e=>{i&&e.currentTarget===e.target&&r.setDropTarget(null)},onDrop:t=>{if(!i)return;t.preventDefault(),t.stopPropagation(),r.setDropTarget(null);let n=t.dataTransfer.getData(ro);n?r.onInternalDrop(e,n):r.onUpload(e,io(t.dataTransfer.items,t.dataTransfer.files))},style:{paddingLeft:n*no+8},className:F(`flex h-6 cursor-pointer items-center gap-1 pr-2 text-sm transition-colors hover:bg-elevated`,c?`bg-selection`:s&&`bg-elevated`,o&&`bg-selection`,l&&`opacity-50`),children:[i?(0,U.jsx)(ve,{className:F(`size-3.5 shrink-0 text-fg-gold transition-transform duration-150`,a&&`rotate-90`)}):(0,U.jsx)(`span`,{className:`size-3.5 shrink-0`}),i?a?(0,U.jsx)(vt,{className:F(`size-3.5 shrink-0`,f?p?.colourClass:`text-fg`)}):(0,U.jsx)(nn,{className:F(`size-3.5 shrink-0`,f?p?.colourClass:`text-fg`)}):t.type===`symlink`?(0,U.jsx)(cn,{className:`size-3.5 shrink-0 text-fg`}):(0,U.jsx)(to,{name:t.name,dimmed:d===`ignored`}),(0,U.jsx)(`span`,{className:F(`min-w-0 flex-1 truncate font-mono`,m),children:t.name}),d&&p&&p.letter&&(0,U.jsx)(`span`,{className:F(`shrink-0 font-mono text-2xs`,p.colourClass),children:p.letter})]})}),(0,U.jsxs)(xe,{children:[i&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(V,{onSelect:()=>r.beginCreate(e,`file`),children:`New File…`}),(0,U.jsx)(V,{onSelect:()=>r.beginCreate(e,`dir`),children:`New Folder…`}),(0,U.jsx)(B,{})]}),(0,U.jsxs)(V,{onSelect:()=>r.cut(h),children:[`Cut `,(0,U.jsx)(ao,{children:`⌘X`})]}),(0,U.jsxs)(V,{onSelect:()=>r.copy(h),children:[`Copy `,(0,U.jsx)(ao,{children:`⌘C`})]}),(0,U.jsxs)(V,{disabled:!_,onSelect:()=>r.paste(g),children:[`Paste `,(0,U.jsx)(ao,{children:`⌘V`})]}),(0,U.jsx)(B,{}),(0,U.jsxs)(V,{onSelect:()=>r.copyPathToClipboard(e,!1),children:[`Copy Path `,(0,U.jsx)(ao,{children:`⌥⌘C`})]}),(0,U.jsxs)(V,{onSelect:()=>r.copyPathToClipboard(e,!0),children:[`Copy Relative Path `,(0,U.jsx)(ao,{children:`⌥⇧⌘C`})]}),(0,U.jsx)(B,{}),(0,U.jsxs)(V,{onSelect:()=>r.beginRename(e),children:[`Rename… `,(0,U.jsx)(ao,{children:`F2`})]}),(0,U.jsxs)(V,{onSelect:()=>r.requestDelete(h),children:[`Delete `,(0,U.jsx)(ao,{children:`⌘⌫`})]}),(0,U.jsx)(B,{}),(0,U.jsx)(V,{onSelect:()=>r.download(e),children:`Download`})]})]}),i&&a&&(0,U.jsx)(co,{sid:r.sid,path:e,depth:n+1})]})}function co({sid:e,path:t,depth:n}){let r=Ga(),i=y(e,t),a={paddingLeft:n*no+8},o=r.editing,s=o?.mode===`create`&&o.parentDir===t?(0,U.jsx)(lo,{depth:n,kind:o.kind}):null;if(i.isLoading)return(0,U.jsxs)(U.Fragment,{children:[s,(0,U.jsx)(`div`,{style:a,className:`py-0.5 text-xs text-fg-muted`,children:`Loading…`})]});if(i.isError)return(0,U.jsx)(`div`,{style:a,className:`py-0.5 text-xs text-fg-muted`,children:i.error instanceof Error?i.error.message:`Couldn't load this folder.`});let c=i.data?.entries??[];return c.length===0&&!s?(0,U.jsx)(`div`,{style:a,className:`py-0.5 text-xs text-fg-muted`,children:`Empty`}):(0,U.jsxs)(U.Fragment,{children:[s,c.map(e=>(0,U.jsx)(so,{path:Ra(t,e.name),entry:e,depth:n},e.name))]})}function lo({depth:e,kind:t}){let n=Ga(),[r,i]=(0,W.useState)(``);return(0,U.jsx)(oo,{depth:e,initial:r,icon:t===`dir`?(0,U.jsx)(nn,{className:`size-3.5 shrink-0 text-fg`}):(0,U.jsx)(to,{name:r||`file`}),onCommit:e=>{i(e),n.commitEdit(e)},onCancel:n.cancelEdit})}function uo(){return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(fo,{}),(0,U.jsx)(po,{})]})}function fo(){let e=Ga(),t=(0,W.useRef)(null);(0,W.useEffect)(()=>{!e.focusedPath||!t.current||t.current.querySelector(`[data-path="${CSS.escape(e.focusedPath)}"]`)?.scrollIntoView({block:`nearest`})},[e.focusedPath]);let n=e.clipboard!==null;return(0,U.jsxs)(Te,{children:[(0,U.jsx)(z,{asChild:!0,children:(0,U.jsx)(`div`,{ref:t,"data-explorer-root":!0,role:`tree`,tabIndex:0,onKeyDown:e.handleKeyDown,onPaste:t=>e.onUpload(``,io(t.clipboardData.items,t.clipboardData.files)),onDragOver:t=>{t.preventDefault(),e.setDropTarget(``)},onDragLeave:t=>{t.currentTarget===t.target&&e.setDropTarget(null)},onDrop:t=>{t.preventDefault(),e.setDropTarget(null);let n=t.dataTransfer.getData(`application/x-puddle-path`);n?e.onInternalDrop(``,n):e.onUpload(``,io(t.dataTransfer.items,t.dataTransfer.files))},className:F(`h-full overflow-y-auto py-1 outline-none`,e.dropTarget===``&&`bg-selection`),children:(0,U.jsx)(co,{sid:e.sid,path:``,depth:0})})}),(0,U.jsxs)(xe,{children:[(0,U.jsx)(V,{onSelect:()=>e.beginCreate(``,`file`),children:`New File…`}),(0,U.jsx)(V,{onSelect:()=>e.beginCreate(``,`dir`),children:`New Folder…`}),(0,U.jsx)(B,{}),(0,U.jsx)(V,{disabled:!n,onSelect:()=>e.paste(``),children:`Paste`}),(0,U.jsx)(B,{}),(0,U.jsx)(V,{onSelect:()=>e.copyPathToClipboard(``,!1),children:`Copy Path`}),(0,U.jsx)(V,{onSelect:()=>e.download(``),children:`Download worktree`})]})]})}function po(){let e=Ga(),t=e.pendingDelete;return(0,U.jsx)(ne,{open:t!==null,onOpenChange:t=>!t&&e.cancelDelete(),children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsxs)(N,{children:[`Delete `,t&&t.length===1?`“${Ia(t[0])}”`:`${t?.length??0} items`,`?`]}),(0,U.jsxs)(P,{children:[`This permanently removes `,t&&t.length>1?`them`:`it`,` from the worktree. There is no undo.`]})]}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{variant:`ghost`,onClick:e.cancelDelete,children:`Cancel`}),(0,U.jsx)(k,{variant:`danger`,onClick:e.confirmDelete,children:`Delete`})]})]})})}var mo=/[.*+?^${}()|[\]\\]/g;function ho(e){if(e.query.length===0)return null;try{let t=e.regex?e.query:e.query.replace(mo,`\\$&`);return e.wholeWord&&(t=`\\b(?:${t})\\b`),new RegExp(t,e.caseSensitive?`g`:`gi`)}catch{return null}}function go(e,t){if(!t)return[{text:e,hit:!1}];let n=[],r=0;t.lastIndex=0;let i;for(;(i=t.exec(e))!==null;){if(i[0].length===0){t.lastIndex++;continue}i.index>r&&n.push({text:e.slice(r,i.index),hit:!1}),n.push({text:i[0],hit:!0}),r=i.index+i[0].length}return r<e.length&&n.push({text:e.slice(r),hit:!1}),n.length>0?n:[{text:e,hit:!1}]}var _o=240;function vo(e){let t=e.replace(/^\s+/,``);return t.length>_o?`${t.slice(0,_o)}…`:t}var yo=250;function bo({active:e,label:t,onClick:n,children:r}){return(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:n,className:F(`rounded-sm p-1 transition-colors`,e?`bg-elevated text-accent`:`text-fg-muted hover:bg-elevated hover:text-fg`),children:[r,(0,U.jsx)(`span`,{className:`sr-only`,children:t})]})}),(0,U.jsx)(et,{children:t})]})}function xo({session:e,onOpen:t}){let[n,r]=(0,W.useState)(``),[i,a]=(0,W.useState)(``),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=setTimeout(()=>a(n),yo);return()=>clearTimeout(e)},[n]);let f={query:i,regex:o,caseSensitive:c,wholeWord:u},p=v(e,f),m=(0,W.useMemo)(()=>ho(f),[i,o,c,u]),h=p.data,g=!!h&&(h.files.length>0||h.content.length>0);return(0,U.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 px-2 py-1.5`,children:[(0,U.jsx)(`input`,{value:n,onChange:e=>r(e.target.value),placeholder:`Search files and contents`,spellCheck:!1,autoComplete:`off`,className:`rounded-md bg-elevated px-2 py-1 font-mono text-xs text-fg outline-none placeholder:text-fg-muted`}),(0,U.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,U.jsx)(bo,{active:c,label:`Match case`,onClick:()=>l(e=>!e),children:(0,U.jsx)(Rt,{className:`size-3.5`})}),(0,U.jsx)(bo,{active:u,label:`Match whole word`,onClick:()=>d(e=>!e),children:(0,U.jsx)(bn,{className:`size-3.5`})}),(0,U.jsx)(bo,{active:o,label:`Use regular expression`,onClick:()=>s(e=>!e),children:(0,U.jsx)(gn,{className:`size-3.5`})})]})]}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:i.length===0?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`Search file names and contents.`}):p.isPending?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`Searching…`}):p.error?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:p.error instanceof Error?p.error.message:`Search failed`}):g?(0,U.jsxs)(U.Fragment,{children:[h.files.length>0&&(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`div`,{className:`px-3 pb-0.5 pt-1.5 text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Files`}),h.files.map(e=>(0,U.jsxs)(`button`,{type:`button`,title:e,onClick:()=>t(e),className:`flex w-full items-center gap-1.5 px-3 py-1 text-left transition-colors hover:bg-elevated`,children:[(0,U.jsx)(tn,{className:`size-3.5 shrink-0 text-fg-gold`}),(0,U.jsx)(`span`,{className:`truncate font-mono text-xs text-fg`,children:e})]},e))]}),h.content.length>0&&(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`div`,{className:`px-3 pb-0.5 pt-2 text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Contents`}),h.content.map(e=>(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`truncate px-3 py-1 font-mono text-2xs text-fg-secondary`,title:e.path,children:e.path}),e.matches.map((n,r)=>(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e.path,n.line),className:`flex w-full items-baseline gap-2 py-0.5 pl-6 pr-3 text-left transition-colors hover:bg-elevated`,children:[(0,U.jsx)(`span`,{className:`shrink-0 font-mono text-2xs tabular-nums text-fg-muted`,children:n.line}),(0,U.jsx)(`span`,{className:`truncate font-mono text-2xs text-fg-secondary`,children:go(vo(n.text),m).map((e,t)=>e.hit?(0,U.jsx)(`span`,{className:`text-accent`,children:e.text},t):(0,U.jsx)(`span`,{children:e.text},t))})]},`${n.line}:${r}`))]},e.path))]}),h.truncated&&(0,U.jsx)(`div`,{className:`px-3 py-2 text-2xs text-fg-muted`,children:`Showing the first results — refine the query for more.`})]}):(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No results.`})})]})}function So({text:e,hoverClass:t,className:n,title:r}){let i=(0,W.useRef)(null),[a,o]=(0,W.useState)(0);return(0,W.useEffect)(()=>{let e=i.current;if(!e)return;let t=()=>o(Math.max(0,e.scrollWidth-e.clientWidth));t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]),(0,U.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:(0,U.jsx)(`span`,{ref:i,title:r,className:F(`block whitespace-nowrap transition-transform duration-[900ms] ease-linear`,n,a>0&&t),style:a>0?{"--tail":`-${a}px`}:void 0,children:e})})}var Co=new Set([`starting`,`running`,`waiting_input`]),wo=`group-hover:[transform:translateX(var(--tail))]`;function To(e){return e.split(`/`).filter(Boolean).pop()??e}function Eo({children:e,className:t,title:n}){return(0,U.jsx)(`span`,{title:n,className:F(`shrink-0 text-2xs`,t),children:e})}function Do({label:e,blockReason:t,onClick:n}){return(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,disabled:t!==null,onClick:n,className:F(`-my-1 rounded-sm p-1 text-fg-gold transition-colors hover:text-danger`,t===null?`hidden group-hover:inline-flex`:`hidden`),children:[(0,U.jsx)(Me,{className:`size-3.5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:e})]})}),(0,U.jsx)(et,{children:t?`Can't ${e.toLowerCase()} — ${t}`:e})]})}function Oo({repoId:e,projectId:t,sessions:n}){let r=yt(e),i=wt(e,t),a=nt(e,t),[o,s]=(0,W.useState)(null),[c,l]=(0,W.useState)(null),u=i.isPending||a.isPending,d=(0,W.useMemo)(()=>{let e=new Map;for(let t of n)Co.has(t.status)&&e.set(t.worktree_path,(e.get(t.worktree_path)??0)+1);return e},[n]),f=(0,W.useMemo)(()=>{let e=new Map;for(let t of r.data?.worktrees??[]){let n=t.branch??`(detached)`;(e.get(n)??e.set(n,[]).get(n)).push(t)}return[...e.entries()].sort(([,e],[,t])=>!e.some(e=>e.is_primary)-+!t.some(e=>e.is_primary)||(e[0]?.branch??``).localeCompare(t[0]?.branch??``))},[r.data]),p=(0,W.useMemo)(()=>[...r.data?.orphan_branches??[]].sort((e,t)=>e.name.localeCompare(t.name)),[r.data]);return r.isPending?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`Loading worktrees…`}):r.error?(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:r.error instanceof Error?r.error.message:`Failed to load worktrees`}):(0,U.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:[f.length===0&&p.length===0&&(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No worktrees.`}),f.map(([e,t])=>(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`div`,{className:`group flex items-center gap-1.5 px-3 pb-0.5 pt-2 text-2xs text-fg-muted`,children:[(0,U.jsx)(sn,{className:`size-3 shrink-0 text-fg-gold`}),(0,U.jsx)(So,{text:e,className:`font-mono`,hoverClass:wo})]}),t.map(e=>{let t=d.get(e.path)??0,n=e.is_primary?`the repository clone`:e.dirty?`uncommitted changes`:t>0?`${t} running session${t>1?`s`:``}`:null;return(0,U.jsxs)(`div`,{className:`group flex items-center gap-2 px-3 py-1 pl-6 transition-colors hover:bg-elevated`,children:[(0,U.jsx)(So,{text:To(e.path),title:e.path,className:`font-mono text-xs text-fg`,hoverClass:wo}),e.is_primary&&(0,U.jsx)(Eo,{className:`text-fg-muted`,children:`clone`}),e.dirty&&(0,U.jsx)(Eo,{className:`text-waiting`,title:`Modified — uncommitted changes`,children:`M`}),t>0&&(0,U.jsx)(Eo,{className:`text-running`,title:`${t} running session${t>1?`s`:``}`,children:t}),(0,U.jsx)(Do,{label:`Prune`,blockReason:n,onClick:()=>{l(null),s({kind:`worktree`,path:e.path,branch:e.branch})}})]},e.path)})]},`wt:${e}`)),p.length>0&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{className:`px-3 pb-0.5 pt-3 text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Branches without a worktree`}),p.map(e=>(0,U.jsxs)(`div`,{className:`group flex items-center gap-2 px-3 py-1 transition-colors hover:bg-elevated`,children:[(0,U.jsx)(sn,{className:`size-3 shrink-0 text-fg-gold`}),(0,U.jsx)(So,{text:e.name,className:`font-mono text-xs text-fg`,hoverClass:wo}),e.local_only&&(0,U.jsx)(Eo,{className:`text-waiting`,children:`local only`}),(0,U.jsx)(Do,{label:`Delete branch`,blockReason:null,onClick:()=>{l(null),s({kind:`branch`,name:e.name,localOnly:e.local_only})}})]},`br:${e.name}`))]}),(0,U.jsx)(ne,{open:o!==null,onOpenChange:e=>{e||s(null)},children:(0,U.jsxs)(M,{children:[o?.kind===`branch`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:`Delete branch`}),(0,U.jsxs)(P,{children:[`Delete branch `,(0,U.jsx)(`span`,{className:`font-mono`,children:o.name}),`? This removes the branch from the repository.`]})]}),o.localOnly&&(0,U.jsxs)(`p`,{className:`text-xs text-waiting`,children:[(0,U.jsx)(`span`,{className:`font-mono`,children:o.name}),` has commits on no remote — deleting it discards that work permanently.`]})]}):(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:`Prune worktree`}),(0,U.jsxs)(P,{children:[`Remove `,(0,U.jsx)(`span`,{className:`font-mono`,children:o?To(o.path):``}),`? The working directory is deleted; the branch`,` `,(0,U.jsx)(`span`,{className:`font-mono`,children:o?.branch??``}),` is kept.`]})]}),c&&(0,U.jsx)(`p`,{className:`text-xs text-danger`,children:c}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{type:`button`,variant:`ghost`,onClick:()=>s(null),children:`Cancel`}),(0,U.jsx)(k,{type:`button`,variant:`danger`,disabled:u,onClick:()=>{if(!o)return;l(null);let e=e=>l(e.message),t=()=>s(null);o.kind===`worktree`?i.mutate(o.path,{onSuccess:t,onError:e}):a.mutate({name:o.name,confirm:!0},{onSuccess:t,onError:e})},children:o?.kind===`branch`?`Delete`:`Prune`})]})]})})]})}var ko=`DropdownMenu`,[Ao,jo]=E(ko,[de]),Y=de(),[Mo,No]=Ao(ko),Po=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=Y(t),l=W.useRef(null),[u,d]=D({prop:i,defaultProp:a??!1,onChange:o,caller:ko});return(0,U.jsx)(Mo,{scope:t,triggerId:O(),triggerRef:l,contentId:O(),open:u,onOpenChange:d,onOpenToggle:W.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,U.jsx)(pe,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};Po.displayName=ko;var Fo=`DropdownMenuTrigger`,Io=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=No(Fo,n),o=Y(n),s=T(t,a.triggerRef);return(0,U.jsx)(ye,{asChild:!0,...o,children:(0,U.jsx)(re.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:s,onPointerDown:j(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:j(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Io.displayName=Fo;var Lo=`DropdownMenuPortal`,Ro=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Y(t);return(0,U.jsx)(R,{...r,...n})};Ro.displayName=Lo;var zo=`DropdownMenuContent`,Bo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=No(zo,n),a=Y(n),o=W.useRef(!1);return(0,U.jsx)(he,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:j(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:j(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Bo.displayName=zo;var Vo=`DropdownMenuGroup`,Ho=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(Ce,{...i,...r,ref:t})});Ho.displayName=Vo;var Uo=`DropdownMenuLabel`,Wo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(ge,{...i,...r,ref:t})});Wo.displayName=Uo;var Go=`DropdownMenuItem`,Ko=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(be,{...i,...r,ref:t})});Ko.displayName=Go;var qo=`DropdownMenuCheckboxItem`,Jo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(me,{...i,...r,ref:t})});Jo.displayName=qo;var Yo=`DropdownMenuRadioGroup`,Xo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(De,{...i,...r,ref:t})});Xo.displayName=Yo;var Zo=`DropdownMenuRadioItem`,Qo=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(Ae,{...i,...r,ref:t})});Qo.displayName=Zo;var $o=`DropdownMenuItemIndicator`,es=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(_e,{...i,...r,ref:t})});es.displayName=$o;var ts=`DropdownMenuSeparator`,ns=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(ke,{...i,...r,ref:t})});ns.displayName=ts;var rs=`DropdownMenuArrow`,is=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(Ee,{...i,...r,ref:t})});is.displayName=rs;var as=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,o=Y(t),[s,c]=D({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,U.jsx)(ue,{...o,open:s,onOpenChange:c,children:n})},os=`DropdownMenuSubTrigger`,ss=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(Oe,{...i,...r,ref:t})});ss.displayName=os;var cs=`DropdownMenuSubContent`,ls=W.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Y(n);return(0,U.jsx)(L,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});ls.displayName=cs;var us=Po,ds=Io,fs=Ro,ps=Bo,ms=Ko,hs=ns,gs=as,_s=ss,vs=ls,ys=us,bs=ds,xs=gs;function Ss({className:e,sideOffset:t=4,...n}){return(0,U.jsx)(fs,{children:(0,U.jsx)(ps,{sideOffset:t,className:F(`z-50 min-w-36 overflow-hidden rounded-md bg-elevated p-1 shadow-xl`,e),...n})})}function Cs({className:e,...t}){return(0,U.jsx)(ms,{className:F(ct,Nt,`[&_svg]:size-3.5`,e),...t})}function ws({className:e,children:t,...n}){return(0,U.jsxs)(_s,{className:F(ct,Nt,`data-[state=open]:bg-action data-[state=open]:text-action-ink [&_svg]:size-3.5`,e),...n,children:[t,(0,U.jsx)(ve,{className:`ml-auto`})]})}function Ts({className:e,...t}){return(0,U.jsx)(fs,{children:(0,U.jsx)(vs,{className:F(`z-50 min-w-36 overflow-hidden rounded-md bg-elevated p-1 shadow-xl`,e),...t})})}function Es({className:e,...t}){return(0,U.jsx)(hs,{className:F(`-mx-1 my-1 h-px bg-border`,e),...t})}function Ds(e,t){if(!t)return e;let n=t.endsWith(`/`)?t.slice(0,-1):t;return n===``||n===`/`?e:e===n?`~`:e.startsWith(`${n}/`)?`~${e.slice(n.length)}`:e}function Os({text:e,className:t}){let n=(0,W.useRef)(null);return(0,W.useEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{e.scrollLeft=e.scrollWidth};t();let r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[e]),(0,U.jsx)(`div`,{ref:n,className:`no-scrollbar min-w-0 flex-1 overflow-x-auto`,children:(0,U.jsx)(`span`,{className:F(`inline-block whitespace-nowrap`,t),children:e})})}function ks({sessions:e,target:t,showFileActions:n=!1,showPath:r=!1}){let{session:i,pinned:a,pin:o,unpin:s}=t,c=Tt().data?.home,l=e.filter(e=>e.status!==`archived`),u=i?i.branch||bt(i):`No worktree`,d=i?Ds(i.worktree_path,c):`No worktree`;return(0,U.jsxs)(`div`,{className:`group relative flex h-8 shrink-0 items-center px-2`,children:[(0,U.jsx)(Os,{text:r?d:u,className:`font-mono text-xs text-fg-secondary`}),(0,U.jsxs)(`div`,{className:F(`absolute inset-y-0 right-1 flex items-center gap-1 bg-surface pl-2 opacity-0 transition-opacity`,`pointer-events-none focus-within:pointer-events-auto focus-within:opacity-100 group-hover:pointer-events-auto group-hover:opacity-100`,a&&`pointer-events-auto opacity-100`),children:[n&&i&&(0,U.jsx)(js,{}),(0,U.jsxs)(`button`,{type:`button`,"aria-pressed":a,disabled:!i,title:a?`Unpin — follow the active session`:`Pin the sidebar to this worktree`,onClick:()=>a?s():i&&o(i.id),className:F(`shrink-0 rounded-sm p-1 transition-colors disabled:pointer-events-none disabled:opacity-40`,a?`text-fg`:`text-fg-gold hover:bg-elevated hover:text-fg`),children:[(0,U.jsx)(mn,{className:F(`size-3.5`,a&&`fill-current`)}),(0,U.jsx)(`span`,{className:`sr-only`,children:a?`Unpin sidebar`:`Pin sidebar`})]}),(0,U.jsxs)(ys,{children:[(0,U.jsx)(bs,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,title:`Bind a different worktree`,className:`shrink-0 rounded-sm p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(Pe,{className:`size-3.5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Choose a worktree`})]})}),(0,U.jsx)(Ss,{align:`end`,children:l.length===0?(0,U.jsx)(`div`,{className:`px-2 py-1.5 text-xs text-fg-muted`,children:`No sessions yet`}):l.map(e=>(0,U.jsx)(Cs,{onSelect:()=>o(e.id),children:(0,U.jsxs)(`span`,{className:`truncate font-mono`,children:[e.branch,` — `,bt(e)]})},e.id))})]})]})]})}var As=[{key:`new-file`,label:`New File`,icon:Xt},{key:`new-folder`,label:`New Folder`,icon:rn},{key:`refresh`,label:`Refresh`,icon:We},{key:`collapse`,label:`Collapse Folders`,icon:zt}];function js(){let e=Ka();if(!e)return null;let t=t=>{t===`new-file`?e.beginCreate(``,`file`):t===`new-folder`?e.beginCreate(``,`dir`):t===`refresh`?e.refresh():t===`collapse`&&e.collapseAll()};return(0,U.jsx)(`div`,{className:`hidden shrink-0 items-center gap-0.5 group-hover:flex group-focus-within:flex`,children:As.map(({key:e,label:n,icon:r})=>(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e),className:`rounded-sm p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(r,{className:`size-3.5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:n})]})}),(0,U.jsx)(et,{children:n})]},e))})}var Ms=[{key:`files`,label:`Files`,icon:an},{key:`search`,label:`Search`,icon:tt},{key:`changes`,label:`Changes`,icon:sn},{key:`worktrees`,label:`Worktrees`,icon:Be}];function Ns(e){return e===`diff`||e===`history`||e===`changes`?`changes`:e===`search`?`search`:e===`worktrees`?`worktrees`:`files`}function Ps({mode:e,onExpand:t,onSelect:n}){return(0,U.jsxs)(`div`,{className:`flex h-full w-9 shrink-0 flex-col items-center gap-1 bg-surface py-1.5`,children:[(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,onClick:t,className:`flex items-center rounded-md p-1.5 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(dn,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Show sidebar`})]})}),(0,U.jsx)(et,{side:`right`,children:`Show sidebar`})]}),Ms.map(({key:t,label:r,icon:i})=>(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"aria-current":e===t?`page`:void 0,onClick:()=>n(t),className:F(`flex items-center rounded-md p-1.5 transition-colors`,e===t?`bg-elevated text-fg`:`text-fg-gold hover:bg-elevated hover:text-fg`),children:[(0,U.jsx)(i,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:r})]})}),(0,U.jsx)(et,{side:`right`,children:r})]},t))]})}function Fs({mode:e,onModeChange:t,onCollapse:n,projectId:r,repoId:i,sessions:a,target:o,onOpenFile:s,activeFilePath:c,activeDiffPath:l,onOpenDiff:u,onOpenCommitFile:d,onOpenSearchFile:f}){let{session:p}=o;return(0,U.jsxs)(`div`,{className:`flex h-full flex-col bg-surface`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5`,children:[Ms.map(({key:n,label:r,icon:i})=>(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"aria-current":e===n?`page`:void 0,onClick:()=>t(n),className:F(`flex items-center rounded-md p-1.5 transition-colors`,e===n?`bg-elevated text-fg`:`text-fg-gold hover:bg-elevated hover:text-fg`),children:[(0,U.jsx)(i,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:r})]})}),(0,U.jsx)(et,{children:r})]},n)),(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,onClick:n,className:`ml-auto flex items-center rounded-md p-1.5 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(un,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Hide sidebar`})]})}),(0,U.jsx)(et,{children:`Hide sidebar`})]})]}),e!==`worktrees`&&e!==`files`&&(0,U.jsx)(ks,{sessions:a,target:o,showPath:e===`search`}),e===`worktrees`&&(0,U.jsx)(Oo,{repoId:i,projectId:r,sessions:a}),e===`files`&&(p?(0,U.jsxs)(qa,{session:p,onOpenFile:s,activePath:c,children:[(0,U.jsx)(ks,{sessions:a,target:o,showFileActions:!0,showPath:!0}),(0,U.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,U.jsx)(uo,{})})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(ks,{sessions:a,target:o}),(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No worktree to show.`})]})),e===`changes`&&(p?(0,U.jsx)(Aa,{session:p.id,activeDiffPath:l,onOpenDiff:u,onOpenCommitFile:d},p.id):(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No worktree to show.`})),e===`search`&&(p?(0,U.jsx)(xo,{session:p.id,onOpen:f},p.id):(0,U.jsx)(`div`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`No worktree to search.`}))]})}function Is({projectId:e,repoId:t,open:n,kind:r=`agent`,seedAccountId:i,onOpenChange:a,onCreated:o}){let s=r===`terminal`,c=Je(),l=Ge(c??void 0),u=Ct(c??void 0),d=At(),f=rt(),[p,m]=(0,W.useState)(``),[h,g]=(0,W.useState)(``),[_,v]=(0,W.useState)(!0),[y,b]=(0,W.useState)(!0),[x,S]=(0,W.useState)(``),[C,w]=(0,W.useState)(``),[T,E]=(0,W.useState)(!1),[D,O]=(0,W.useState)(null),te=d.data?.find(e=>e.id===t),j=ut(n?t:void 0),re=yt(n?t:void 0),I=l.data?.find(e=>String(e.id)===p),ie=u.data?.allowSkipPermissions===!0,L=!s&&ie&&I?.skip_permissions_default===!0,ae=h.trim()||te?.default_base_branch||``,oe=(0,W.useMemo)(()=>(re.data?.worktrees??[]).filter(e=>e.branch===ae).map(e=>({path:e.path,is_primary:e.is_primary,label:e.is_primary?`${e.path.split(`/`).filter(Boolean).pop()??e.path} (clone)`:e.path.split(`/`).filter(Boolean).pop()??e.path})),[re.data,ae]),se=!_&&!y,ce=oe.find(e=>e.is_primary)?.path??oe[0]?.path??``,le=C||ce,ue=(0,W.useMemo)(()=>{let e=u.data?.default_account_id;return l.data?.find(e=>e.id===i)??l.data?.find(t=>typeof e==`number`&&t.id===e)??l.data?.[0]},[l.data,u.data,i]),de=p||(ue?String(ue.id):``);(0,W.useEffect)(()=>{n&&i!==void 0&&m(String(i))},[n,i]);let R=(0,W.useRef)(u.data);R.current=u.data,(0,W.useEffect)(()=>{if(n){let e=ze(s?`terminal`:`agent`,R.current);g(e.baseBranch),v(e.separateBranch),b(e.separateWorktree),w(``)}},[n,s]);let fe=()=>{O(null),f.mutate({project_id:e,...s?{kind:`terminal`}:{account_id:Number(de)},...h.trim()?{base_branch:h.trim()}:{},separate_branch:_,..._&&x.trim()?{branch:x.trim()}:{},..._?{}:{separate_worktree:y},...se&&le?{join_worktree:le}:{},...L&&T?{skip_permissions:!0}:{}},{onSuccess:e=>{a(!1),S(``),E(!1),o(e)},onError:e=>O(e.message)})},pe=s?`a shell`:`an agent`,z=_?`on a new branch off ${ae||`…`}, in its own directory`:se?`on ${ae||`…`}, sharing an existing directory`:`on ${ae||`…`}, in its own directory`;return(0,U.jsx)(ne,{open:n,onOpenChange:a,children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:s?`New terminal`:`New agent`}),(0,U.jsxs)(P,{children:[s?`Opens`:`Spawns`,` `,pe,` `,z,`.`]})]}),(0,U.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),(s||de)&&fe()},children:[!s&&(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,U.jsx)(gt,{children:`Account`}),l.data?.length===0?(0,U.jsxs)(`p`,{className:`text-sm text-fg-secondary`,children:[`No accounts yet —`,` `,(0,U.jsx)(`button`,{type:`button`,className:`text-accent underline`,onClick:()=>st(`accounts`),children:`add one in settings`}),`.`]}):(0,U.jsxs)(Le,{value:de,onValueChange:m,children:[(0,U.jsx)(Ie,{children:(0,U.jsx)(Re,{placeholder:`pick an account`})}),(0,U.jsx)(Ne,{children:l.data?.map(e=>(0,U.jsxs)(je,{value:String(e.id),children:[(0,U.jsxs)(`span`,{className:`font-mono`,children:[e.agent_type,`/`,e.label]}),!e.logged_in&&(0,U.jsx)(`span`,{className:`ml-2 text-2xs text-waiting`,children:`not logged in`})]},e.id))})]})]}),(0,U.jsxs)(`div`,{className:`flex gap-2`,children:[(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1.5`,children:[(0,U.jsx)(gt,{htmlFor:`base-branch`,children:`Base branch`}),(0,U.jsx)(at,{id:`base-branch`,placeholder:te?.default_base_branch??`main`,value:h,onValueChange:g,hints:(j.data?.branches??[]).filter(e=>e.name.toLowerCase().includes(h.trim().toLowerCase())).slice(0,20).map(e=>({value:e.name,badge:e.name===te?.default_base_branch?`default`:e.is_session?`session: ${e.session_title??`untitled`}`:void 0})),className:`font-mono`,hintsClassName:`w-max min-w-full max-w-[36rem]`})]}),_&&(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1.5`,children:[(0,U.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,U.jsx)(gt,{htmlFor:`session-branch`,children:`New branch`}),(0,U.jsx)(`span`,{className:`text-xs text-fg-muted`,children:`optional`})]}),(0,U.jsx)(ht,{id:`session-branch`,placeholder:`leave blank for auto`,value:x,onChange:e=>S(e.target.value),className:`font-mono`})]})]}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(Fe,{id:`separate-branch`,checked:_,onCheckedChange:e=>{v(e),e&&b(!0)}}),(0,U.jsx)(gt,{htmlFor:`separate-branch`,children:`Use separate branch`})]}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(Fe,{id:`separate-worktree`,checked:_?!0:y,disabled:_,onCheckedChange:b}),(0,U.jsx)(gt,{htmlFor:`separate-worktree`,className:F(_&&`text-fg-muted`),children:`Use separate directory`})]})]}),se&&(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,U.jsx)(gt,{htmlFor:`join-dir`,children:`Directory to join`}),oe.length===0?(0,U.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[`No existing directory on `,(0,U.jsx)(`span`,{className:`font-mono`,children:ae||`…`}),` — a shared one will be created for later sessions to join.`]}):(0,U.jsxs)(Le,{value:le,onValueChange:w,children:[(0,U.jsx)(Ie,{id:`join-dir`,children:(0,U.jsx)(Re,{})}),(0,U.jsx)(Ne,{children:oe.map(e=>(0,U.jsxs)(je,{value:e.path,children:[(0,U.jsx)(`span`,{className:`truncate`,children:e.label}),(0,U.jsx)(`span`,{className:`ml-2 truncate font-mono text-2xs text-fg-muted`,children:e.path})]},e.path))})]})]}),!_&&!s&&(0,U.jsxs)(`p`,{className:`text-xs text-waiting`,children:[`The `,s?`shell`:`agent`,` commits straight to`,` `,(0,U.jsx)(`span`,{className:`font-mono`,children:ae||`…`}),se?` and shares its working directory with concurrent sessions — they can trample each other’s edits.`:`.`]}),L&&(0,U.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md bg-surface px-3 py-2`,children:[(0,U.jsx)(Fe,{id:`skip-permissions`,checked:T,onCheckedChange:E}),(0,U.jsx)(gt,{htmlFor:`skip-permissions`,className:`text-waiting`,children:`Skip permission prompts for this session`})]}),D&&(0,U.jsx)(`p`,{className:`text-xs text-danger`,children:D}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{type:`button`,variant:`ghost`,onClick:()=>a(!1),children:`Cancel`}),(0,U.jsx)(k,{type:`submit`,disabled:!s&&!de||f.isPending,children:s?`Open terminal`:`Start agent`})]})]})]})})}function Ls({className:e}){return(0,U.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:e,fill:`none`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`,"aria-hidden":!0,children:[(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`22`,y2:`12`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`17`,y2:`20.66`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`7`,y2:`20.66`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`2`,y2:`12`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`7`,y2:`3.34`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`17`,y2:`3.34`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`17.63`,y2:`15.25`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`12`,y2:`18.5`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`6.37`,y2:`15.25`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`6.37`,y2:`8.75`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`12`,y2:`5.5`}),(0,U.jsx)(`line`,{x1:`12`,y1:`12`,x2:`17.63`,y2:`8.75`})]})}function Rs({className:e}){return(0,U.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:e,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,"aria-hidden":!0,children:[(0,U.jsx)(`ellipse`,{cx:`12`,cy:`12`,rx:`4`,ry:`9`}),(0,U.jsx)(`ellipse`,{cx:`12`,cy:`12`,rx:`4`,ry:`9`,transform:`rotate(60 12 12)`}),(0,U.jsx)(`ellipse`,{cx:`12`,cy:`12`,rx:`4`,ry:`9`,transform:`rotate(120 12 12)`})]})}function zs({type:e,className:t}){switch(e){case`claude-code`:return(0,U.jsx)(Ls,{className:t});case`codex`:return(0,U.jsx)(Rs,{className:t});default:return(0,U.jsx)(He,{className:t})}}function Bs({status:e,kind:t=`agent`,className:n}){return(0,U.jsx)(`span`,{className:F(`status-dot`,n),"data-status":e,"data-kind":t,role:`img`,"aria-label":`${t===`terminal`?`terminal `:``}status: ${e.replace(`_`,` `)}`})}var Vs=[`starting`,`running`,`waiting_input`],Hs=[`exited`,`interrupted`],Us={Item:Cs,Separator:Es,Sub:xs,SubTrigger:ws,SubContent:Ts},Ws={Item:V,Separator:B,Sub:fe,SubTrigger:we,SubContent:Se};function Gs(e,t){let n=ft(`resume`),r=ft(`kill`),i=Ze(),a=xt(),o=Dt(),s=it(),c=rt(),l=Qe(),u=Ge(Je()??void 0),[d,f]=(0,W.useState)(null),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(e.title??``),[_,v]=(0,W.useState)(null),y=(u.data??[]).filter(t=>t.agent_type===e.agent_type),b=!e.worktree_missing&&e.status!==`archived`&&y.some(t=>t.id!==e.account_id);return{menu:{session:e,resumable:Hs.includes(e.status),live:Vs.includes(e.status),archived:e.status===`archived`,canMigrate:b,sameAgent:y,resume:()=>n.mutate(e.id,{onError:e=>w.error(e.message)}),openKill:()=>f(`kill`),openTerminal:()=>c.mutate({project_id:e.project_id,kind:`terminal`,separate_branch:!1,separate_worktree:!1,join_worktree:e.worktree_path},{onSuccess:e=>void l(`/project/${e.project_id}/session/${e.id}`),onError:e=>w.error(e.message)}),openRename:()=>{g(e.title??``),m(!0)},archive:()=>i.mutate(e.id,{onSuccess:()=>t?.(e.id),onError:e=>w.error(e.message)}),unarchive:()=>a.mutate(e.id,{onError:e=>w.error(e.message)}),setMigrateTo:v},dialogs:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(ne,{open:d!==null,onOpenChange:e=>{e||f(null)},children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:`Kill this session?`}),(0,U.jsx)(P,{children:`The agent process stops (SIGTERM, then SIGKILL). The conversation stays resumable.`})]}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{variant:`ghost`,onClick:()=>f(null),children:`Cancel`}),(0,U.jsx)(k,{variant:`danger`,disabled:r.isPending,onClick:()=>r.mutate(e.id,{onSuccess:()=>f(null),onError:e=>{f(null),w.error(e.message)}}),children:`Kill session`})]})]})}),(0,U.jsx)(ne,{open:p,onOpenChange:m,children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsx)(N,{children:`Rename session`}),(0,U.jsx)(P,{children:`Leave it empty to use the agent’s own session name.`})]}),(0,U.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:t=>{t.preventDefault(),o.mutate({sessionId:e.id,title:h.trim()},{onSuccess:()=>m(!1),onError:e=>w.error(e.message)})},children:[(0,U.jsx)(ht,{value:h,onChange:e=>g(e.target.value),placeholder:e.agent_title??e.osc_title??e.id.slice(0,8),autoFocus:!0}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{type:`button`,variant:`ghost`,onClick:()=>m(!1),children:`Cancel`}),(0,U.jsx)(k,{type:`submit`,disabled:o.isPending,children:`Rename`})]})]})]})}),(0,U.jsx)(ne,{open:_!==null,onOpenChange:e=>!e&&v(null),children:(0,U.jsxs)(M,{children:[(0,U.jsxs)(ee,{children:[(0,U.jsxs)(N,{children:[`Move this session to `,_?.label,`?`]}),(0,U.jsx)(P,{children:`The conversation continues under that account’s credentials. If the session is running it is stopped first, then resumed on the new account.`})]}),(0,U.jsxs)(A,{children:[(0,U.jsx)(k,{variant:`ghost`,onClick:()=>v(null),children:`Cancel`}),(0,U.jsx)(k,{disabled:s.isPending,onClick:()=>{_&&s.mutate({sessionId:e.id,accountId:_.id},{onSuccess:()=>{v(null),w.success(`Moved to ${_.label}`)},onError:e=>{v(null),w.error(e.message)}})},children:`Move session`})]})]})})]})}}function Ks({kit:e,menu:t}){let{Item:n,Separator:r,Sub:i,SubTrigger:a,SubContent:o}=e,{session:s}=t;return(0,U.jsxs)(U.Fragment,{children:[t.resumable&&!s.worktree_missing&&(0,U.jsxs)(n,{onSelect:t.resume,children:[(0,U.jsx)(hn,{}),` Resume`]}),t.live&&(0,U.jsxs)(n,{onSelect:t.openKill,children:[(0,U.jsx)(vn,{}),` Kill`]}),(0,U.jsxs)(n,{onSelect:t.openRename,children:[(0,U.jsx)(ie,{}),` Rename`]}),t.canMigrate&&(0,U.jsxs)(i,{children:[(0,U.jsxs)(a,{children:[(0,U.jsx)(yn,{}),` Move to account…`]}),(0,U.jsx)(o,{children:t.sameAgent.map(e=>{let r=e.id===s.account_id;return(0,U.jsxs)(n,{disabled:r,onSelect:()=>t.setMigrateTo(e),children:[e.label,r&&(0,U.jsx)(`span`,{className:`ml-auto text-fg-muted`,children:`current`})]},e.id)})})]}),!s.worktree_missing&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(r,{}),(0,U.jsxs)(n,{onSelect:t.openTerminal,children:[(0,U.jsx)(jt,{}),` Open terminal in worktree`]}),(0,U.jsxs)(n,{onSelect:()=>{window.location.href=Ot(`vscode`,s.worktree_path,St())},children:[(0,U.jsx)(Vt,{}),` Open in VS Code`]}),(0,U.jsxs)(n,{onSelect:()=>{window.location.href=Ot(`cursor`,s.worktree_path,St())},children:[(0,U.jsx)(Vt,{}),` Open in Cursor`]})]}),t.resumable&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(r,{}),(0,U.jsxs)(n,{onSelect:t.archive,children:[(0,U.jsx)(se,{}),` Archive`]})]}),t.archived&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(r,{}),(0,U.jsxs)(n,{onSelect:t.unarchive,children:[(0,U.jsx)(ce,{}),` Unarchive`]})]})]})}function qs({menu:e}){return(0,U.jsxs)(ys,{children:[(0,U.jsx)(bs,{asChild:!0,children:(0,U.jsxs)(k,{variant:`ghost`,size:`icon`,className:`size-6`,onClick:e=>e.preventDefault(),children:[(0,U.jsx)(Bt,{}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Session actions`})]})}),(0,U.jsx)(Ss,{align:`end`,children:(0,U.jsx)(Ks,{kit:Us,menu:e})})]})}function Js({session:e,onArchived:t,children:n}){let{menu:r,dialogs:i}=Gs(e,t);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(Te,{children:[(0,U.jsx)(z,{asChild:!0,children:typeof n==`function`?n(r):n}),(0,U.jsx)(xe,{children:(0,U.jsx)(Ks,{kit:Ws,menu:r})})]}),i]})}function Ys({menu:e}){return(0,U.jsx)(xe,{children:(0,U.jsx)(Ks,{kit:Ws,menu:e})})}function Xs({icon:e,label:t,onClick:n}){return(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,onClick:n,className:`flex items-center rounded-md p-1.5 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,U.jsx)(e,{className:`size-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:t})]})}),(0,U.jsx)(et,{children:t})]})}function Zs({session:e}){return(0,U.jsxs)(`span`,{className:`flex flex-col`,children:[(0,U.jsx)(`span`,{children:pt()(e)}),(0,U.jsx)(`span`,{className:`font-mono text-2xs text-fg-muted`,children:e.branch})]})}function Qs({session:e,activeSessionId:t,onPromote:n,onArchived:r}){let{menu:i,dialogs:a}=Gs(e,r),o=pt();return(0,U.jsxs)(Te,{children:[(0,U.jsxs)(Mt,{children:[(0,U.jsx)(z,{asChild:!0,children:(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsxs)(qe,{draggable:!1,"aria-current":e.id===t?`true`:void 0,onDoubleClick:()=>n(e.id),to:`/project/${e.project_id}/session/${e.id}`,className:F(`flex items-center rounded-md p-1.5 transition-colors hover:bg-elevated`,e.id===t&&`bg-elevated`),children:[(0,U.jsx)(Bs,{status:e.status,kind:e.kind,className:`[--puddle-ripple-scale:2.3]`}),(0,U.jsx)(`span`,{className:`sr-only`,children:o(e)})]})})}),(0,U.jsx)(et,{children:(0,U.jsx)(Zs,{session:e})})]}),(0,U.jsx)(Ys,{menu:i}),a]})}function $s({groups:e,activeSessionId:t,onReorder:n,onPromote:r,onExpand:i,onNewTerminal:a,onNewSession:o,onArchived:s}){let[c,l]=(0,W.useState)(null),u=e.filter(e=>e.sessions.length>0),d=(e,t)=>{let r=ae(u,e,t);r&&n(r)};return(0,U.jsxs)(`div`,{className:`flex h-full w-9 shrink-0 flex-col items-center bg-surface py-1.5`,children:[(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,U.jsx)(Xs,{icon:pn,label:`Show sessions`,onClick:i}),(0,U.jsx)(Xs,{icon:jt,label:`New terminal`,onClick:a}),(0,U.jsx)(Xs,{icon:Ve,label:`New agent`,onClick:o})]}),(0,U.jsx)(`div`,{className:`no-scrollbar flex min-h-0 flex-1 flex-col items-center gap-1 overflow-y-auto`,children:u.map(e=>(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,U.jsx)(`div`,{className:`my-0.5 h-px w-5 shrink-0 bg-border`}),e.sessions.map(e=>(0,U.jsx)(`div`,{draggable:!0,onDragStart:t=>{t.dataTransfer.setData(Ja,Ya({type:`terminal`,session:e.id})),l(e.id)},onDragEnd:()=>l(null),onDragOver:t=>{t.preventDefault(),c&&c!==e.id&&d(c,e.id)},className:F(`transition-opacity`,c===e.id&&`opacity-50`),children:(0,U.jsx)(Qs,{session:e,activeSessionId:t,onPromote:r,onArchived:s})},e.id))]},e.projectId))})]})}function ec({session:e,activeSessionId:t,accountLabel:n,onPromote:r,onArchived:i,ellipsis:a}){let o=pt();return(0,U.jsx)(Js,{session:e,onArchived:i,children:i=>(0,U.jsxs)(qe,{draggable:!1,onDoubleClick:r&&(()=>r(e.id)),to:`/project/${e.project_id}/session/${e.id}`,className:F(`group flex items-center gap-2 px-3 py-1.5 transition-colors hover:bg-elevated`,e.id===t&&`bg-elevated`),children:[(0,U.jsx)(Bs,{status:e.status,kind:e.kind}),(0,U.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`block truncate font-sans text-xs text-fg`,children:o(e)}),(0,U.jsxs)(`span`,{className:`flex items-center gap-1 truncate font-mono text-2xs text-fg-muted`,children:[(0,U.jsx)(sn,{className:`size-3 shrink-0 text-fg-gold`}),(0,U.jsx)(`span`,{className:`truncate`,children:e.branch})]}),e.account_id!==null&&n.has(e.account_id)&&(0,U.jsxs)(`span`,{className:`flex items-center gap-1 truncate font-mono text-2xs text-fg-muted`,children:[(0,U.jsx)(zs,{type:e.agent_type??``,className:`size-3 shrink-0`}),(0,U.jsx)(`span`,{className:`truncate`,children:n.get(e.account_id)})]})]}),e.skip_permissions&&(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsx)(_n,{className:`size-3.5 shrink-0 text-waiting`})}),(0,U.jsx)(et,{children:`Running with permission prompts skipped`})]}),e.worktree_missing&&(0,U.jsxs)(Mt,{children:[(0,U.jsx)(Ue,{asChild:!0,children:(0,U.jsx)(on,{className:`size-3.5 shrink-0 text-interrupted`})}),(0,U.jsx)(et,{children:`Worktree directory is gone — archive only`})]}),a&&(0,U.jsx)(`span`,{className:`hidden group-hover:inline-flex has-[[data-state=open]]:inline-flex`,children:(0,U.jsx)(qs,{menu:i})})]})})}function tc({groups:e,accounts:t,activeSessionId:n,onReorder:r,onPromote:i,archived:a,onNewSession:o,onNewTerminal:s,onCollapse:c,onArchived:l}){let[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(!1),m=new Map(t.map(e=>[e.id,e.label])),h=e.filter(e=>e.sessions.length>0),g=h.reduce((e,t)=>e+t.sessions.length,0),_=(e,t)=>{let n=ae(h,e,t);n&&r(n)};return(0,U.jsxs)(`div`,{className:`flex h-full flex-col bg-surface`,children:[(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 px-2 py-1.5`,children:[(0,U.jsx)(Xs,{icon:fn,label:`Hide sessions`,onClick:c}),(0,U.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[(0,U.jsx)(Xs,{icon:jt,label:`New terminal`,onClick:s}),(0,U.jsx)(Xs,{icon:Ve,label:`New agent`,onClick:o})]})]}),(0,U.jsxs)(`div`,{className:`no-scrollbar min-h-0 flex-1 overflow-y-auto py-1.5`,children:[g===0&&a.length===0&&(0,U.jsx)(`p`,{className:`px-3 py-3 text-xs text-fg-muted`,children:`No sessions yet — press ⌘K to start one.`}),h.map(e=>(0,U.jsxs)(`div`,{children:[e.name!==null&&(0,U.jsx)(`div`,{className:`truncate px-3 pb-1 pt-2 text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:e.name}),(0,U.jsx)(`ul`,{className:`flex flex-col gap-0.5`,children:e.sessions.map(e=>(0,U.jsx)(`li`,{draggable:!0,onDragStart:t=>{t.dataTransfer.setData(Ja,Ya({type:`terminal`,session:e.id})),d(e.id)},onDragEnd:()=>d(null),onDragOver:t=>{t.preventDefault(),u&&u!==e.id&&_(u,e.id)},className:F(`transition-opacity`,u===e.id&&`opacity-50`),children:(0,U.jsx)(ec,{session:e,activeSessionId:n,accountLabel:m,onPromote:i,onArchived:l,ellipsis:!0})},e.id))})]},e.projectId))]}),a.length>0&&(0,U.jsxs)(`div`,{className:`shrink-0 pb-1.5`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`flex w-full items-center gap-1.5 px-3 py-1.5 text-2xs uppercase tracking-wide text-fg-gold transition-colors hover:text-fg`,children:[(0,U.jsx)(ve,{className:F(`size-3 transition-transform`,f&&`rotate-90`)}),(0,U.jsx)(se,{className:`size-3`}),(0,U.jsx)(`span`,{children:`Archived`}),(0,U.jsx)(`span`,{className:`ml-auto tabular-nums`,children:a.length})]}),f&&(0,U.jsx)(`ul`,{className:`no-scrollbar flex max-h-48 flex-col gap-0.5 overflow-y-auto`,children:a.map(e=>(0,U.jsx)(`li`,{children:(0,U.jsx)(ec,{session:e,activeSessionId:n,accountLabel:m,onArchived:l,ellipsis:!0})},e.id))})]})]})}var nc=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function rc(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function ic(e){return`nodeType`in e}function X(e){return e?rc(e)?e:ic(e)?e.ownerDocument?.defaultView??window:window:window}function ac(e){let{Document:t}=X(e);return e instanceof t}function oc(e){return!rc(e)&&e instanceof X(e).HTMLElement}function sc(e){return e instanceof X(e).SVGElement}function cc(e){return e?rc(e)?e.document:ic(e)?ac(e)?e:oc(e)||sc(e)?e.ownerDocument:document:document:document}var lc=nc?W.useLayoutEffect:W.useEffect;function uc(e){let t=(0,W.useRef)(e);return lc(()=>{t.current=e}),(0,W.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function dc(){let e=(0,W.useRef)(null);return[(0,W.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,W.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function fc(e,t){t===void 0&&(t=[e]);let n=(0,W.useRef)(e);return lc(()=>{n.current!==e&&(n.current=e)},t),n}function pc(e,t){let n=(0,W.useRef)();return(0,W.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function mc(e){let t=uc(e),n=(0,W.useRef)(null);return[n,(0,W.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function hc(e){let t=(0,W.useRef)();return(0,W.useEffect)(()=>{t.current=e},[e]),t.current}var gc={};function _c(e,t){return(0,W.useMemo)(()=>{if(t)return t;let n=gc[e]==null?0:gc[e]+1;return gc[e]=n,e+`-`+n},[e,t])}function vc(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var yc=vc(1),bc=vc(-1);function xc(e){return`clientX`in e&&`clientY`in e}function Sc(e){if(!e)return!1;let{KeyboardEvent:t}=X(e.target);return t&&e instanceof t}function Cc(e){if(!e)return!1;let{TouchEvent:t}=X(e.target);return t&&e instanceof t}function wc(e){if(Cc(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return xc(e)?{x:e.clientX,y:e.clientY}:null}var Tc=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[Tc.Translate.toString(e),Tc.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Ec=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Dc(e){return e.matches(Ec)?e:e.querySelector(Ec)}var Oc={display:`none`};function kc(e){let{id:t,value:n}=e;return W.createElement(`div`,{id:t,style:Oc},n)}function Ac(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return W.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function jc(){let[e,t]=(0,W.useState)(``);return{announce:(0,W.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Mc=(0,W.createContext)(null);function Nc(e){let t=(0,W.useContext)(Mc);(0,W.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Pc(){let[e]=(0,W.useState)(()=>new Set),t=(0,W.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,W.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Fc={draggable:`
|
|
3
3
|
To pick up a draggable item, press the space bar.
|
|
4
4
|
While dragging, use the arrow keys to move the item.
|
|
5
5
|
Press space again to drop the item in its new position, or press escape to cancel.
|