@openchambery/web 1.19.13-beta.6 → 1.19.13-beta.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/dist/assets/AssistantView-DhV6GhFz.js +2 -0
- package/dist/assets/{DiagramView-CAbNIt3t.js → DiagramView-DZc-OYOG.js} +1 -1
- package/dist/assets/{MarkdownRenderer-BPYs05iK.js → MarkdownRenderer-Ck0GdWsh.js} +2 -2
- package/dist/assets/{MarkdownRendererImpl-DMOxz3F2.js → MarkdownRendererImpl-DVQVI5vx.js} +1 -1
- package/dist/assets/{MarkstreamRendererImpl-igQBbbc_.js → MarkstreamRendererImpl-BfNDXMOp.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-BqXkyZTu.js → MobileDetailNavigation-DsDo9Wi_.js} +1 -1
- package/dist/assets/{MobileShareBridge-XVaxj2S6.js → MobileShareBridge-71toeoY_.js} +1 -1
- package/dist/assets/{MobileSurface-6zONMJbZ.js → MobileSurface-DQ7ckeN6.js} +1 -1
- package/dist/assets/{MultiRunWindow-DK4IMgXD.js → MultiRunWindow-WmoZ6nx8.js} +1 -1
- package/dist/assets/{SettingsView-DyV0qt_2.js → SettingsView-B8DTddcL.js} +1 -1
- package/dist/assets/{SettingsWindow-D6BMtTR9.js → SettingsWindow-DC7meuIP.js} +1 -1
- package/dist/assets/{TerminalView-D24PhNyX.js → TerminalView-D75fVyUc.js} +1 -1
- package/dist/assets/{ToolOutputDialog-uKzrTqq_.js → ToolOutputDialog-BkUqgPvz.js} +1 -1
- package/dist/assets/{appThemeRegistry-CvGPIE7-.js → appThemeRegistry-BRuvElyv.js} +1 -1
- package/dist/assets/{fileMentionTouchSelection-DstJbYAw.js → fileMentionTouchSelection-BHGsKCxs.js} +1 -1
- package/dist/assets/{gitApi-ClM_B3fS.js → gitApi-CL2Myx_e.js} +1 -1
- package/dist/assets/{insertionBoundaries-RilpwKtQ.js → insertionBoundaries-D7rBkplR.js} +1 -1
- package/dist/assets/{main-uBrYU2q0.js → main-B4hVU-l2.js} +2 -2
- package/dist/assets/{main-C2wx8T4t.js → main-DguaBQR-.js} +4 -4
- package/dist/assets/{miniChat-Bt2HBpWq.js → miniChat-oSX3inOA.js} +2 -2
- package/dist/assets/{mobile-CpcbfIT1.js → mobile-D4M85fxw.js} +2 -2
- package/dist/assets/{multirun-FNfO4hCT.js → multirun-DZJk1_Zk.js} +1 -1
- package/dist/assets/{projectMeta-Cfq8wYwb.js → projectMeta-OucjgJJr.js} +1 -1
- package/dist/assets/{renderElectronMiniChatApp-CA5VKfGo.js → renderElectronMiniChatApp-CCVDhPaw.js} +2 -2
- package/dist/assets/{renderMobileApp-De8AWiA6.js → renderMobileApp-BrtjHPwj.js} +5 -5
- package/dist/assets/{runtimeConfig-BpsTIe2G.js → runtimeConfig-CPYy2HWF.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-CjT4jAvZ.js → runtimeEndpointReset-OyMKgGCH.js} +1 -1
- package/dist/assets/{sessionLookup-CBT9qysS.js → sessionLookup-Bzs-d6ek.js} +1 -1
- package/dist/assets/src-DYeppLfP.css +2 -0
- package/dist/assets/{useAppFontEffects-BD0BG-np.js → useAppFontEffects-PwYVhdyQ.js} +5 -5
- package/dist/assets/{useDesktopWindowControlsLayout-CF2GHw9J.js → useDesktopWindowControlsLayout-DbVLYP--.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-Tz4YgZHt.js → useEffectiveDirectory-1LhqeRsH.js} +1 -1
- package/dist/assets/{useMobileNavigationStore-BlYOTQfq.js → useMobileNavigationStore-CNpuVBEn.js} +1 -1
- package/dist/assets/{useSessionAutoCleanup-VgkhRtrf.js → useSessionAutoCleanup-hiDGV_VZ.js} +1 -1
- package/dist/assets/{useWorkerHighlightedLines-DT0cJd4V.js → useWorkerHighlightedLines-z7yMKbSr.js} +1 -1
- package/dist/index.html +3 -3
- package/dist/mini-chat.html +3 -3
- package/dist/mobile.html +3 -3
- package/package.json +1 -1
- package/server/lib/assistants/DOCUMENTATION.md +2 -2
- package/server/lib/assistants/harness.js +9 -0
- package/server/lib/assistants/harness.test.js +74 -1
- package/dist/assets/AssistantView-7NzDL0Ft.js +0 -2
- package/dist/assets/src-BdO1hC7q.css +0 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-
|
|
2
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{c as t,p as n,t as r,v as i,w as a}from"./runtime-auth-D66yq6ie.js";import{c as o,f as s,o as c,r as l,s as u,t as d}from"./runtime-switch-LvWDU-SL.js";import{n as f}from"./runtime-fetch-zIalUnbb.js";import{$t as p,Bt as m,Cn as h,D as g,Dn as _,En as v,Lt as y,Mt as b,On as x,Qt as S,Tn as C,Yt as w,Zt as T,an as E,bn as D,en as O,fn as k,hn as A,jt as j,k as M,kn as N,lt as P,mn as F,n as I,nn as ee,on as L,qt as R,r as z,sn as B,t as V,tn as H,tt as U,wn as te}from"./persistence-DwRBC4zl.js";import{f as ne,h as W,l as re,o as G,r as ie,v as ae}from"./desktopHosts-B052a4UK.js";import{a as oe,i as se,t as ce}from"./vendor-zustand-B4dlGEM2.js";import{E as le,F as ue,I as de,N as fe,O as pe,P as me,T as he,a as ge,i as _e,nt as ve,rt as ye,tt as be}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as xe,Dt as Se,Et as Ce,It as we,Mt as Te,Nt as Ee,Pt as De,Tt as Oe,wt as ke}from"./platform-DQ5_LNKO.js";import{b as Ae,n as je,t as K,x as Me,y as Ne}from"./useUIStore-CxOoCv7B.js";import{o as Pe}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as q,t as Fe}from"./vendor-react-DLPElpoQ.js";import{n as Ie}from"./vendor-tanstack-react-query-D7pys_c9.js";import{a as Le,n as Re}from"./terminalApi-CfgOfnZk.js";/* empty css */import{W as ze,ct as Be}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{a as Ve}from"./vendor-pierre-diffs-DX7XTPG3.js";import{d as He,n as Ue,r as We,t as Ge}from"./vendor-reactuses-core-BnW6GxJt.js";import{a as Ke,i as qe,n as Je,o as Ye,r as Xe,t as Ze}from"./clipboard-CzXos-TI.js";import{n as Qe}from"./store-DHdMj3y4.js";import{g as $e}from"./MobileDetailNavigation-BqXkyZTu.js";import{An as et,Bi as tt,Br as nt,Bt as rt,Do as it,Eo as at,Er as ot,Fa as st,Gn as ct,Gt as lt,Jt as ut,Kr as dt,Mr as ft,Na as pt,Nt as mt,Oo as ht,Pn as gt,Pt as _t,Qi as vt,Rt as yt,S as bt,To as xt,Un as St,Ut as Ct,Vr as wt,Wa as Tt,Wi as Et,Wt as Dt,Xi as Ot,Yn as kt,Zr as At,_ as jt,_n as Mt,an as Nt,ar as Pt,ba as Ft,bn as It,br as Lt,c as Rt,cn as zt,cr as Bt,d as Vt,da as Ht,dr as Ut,en as Wt,f as Gt,ft as Kt,go as qt,hn as Jt,hr as J,ir as Yt,jn as Xt,kn as Zt,ko as Qt,l as $t,ln as en,m as tn,ma as nn,mn as rn,mr as an,na as on,ni as sn,nn as cn,nr as ln,or as un,pa as dn,pn as fn,pr as pn,ra as mn,rn as hn,sa as gn,si as _n,sn as vn,sr as yn,ta as bn,ti as xn,tn as Sn,tr as Cn,u as wn,ua as Tn,ur as En,v as Dn,va as On,wn as kn,x as An,xa as jn,y as Mn,yn as Nn,zi as Pn,zt as Fn}from"./useMobileNavigationStore-BlYOTQfq.js";import{n as In}from"./useAssistantUIStore-CLPCNoj_.js";import{a as Ln,i as Rn,n as zn,o as Bn,r as Vn,t as Hn}from"./dialog-gtFLyacK.js";import{a as Un,c as Wn,i as Gn,n as Kn,o as qn,r as Jn,s as Yn,t as Y}from"./utils-2ZK8yboQ.js";import{n as X,t as Xn}from"./Icon-D1BcR8Tz.js";import{t as Z}from"./button-9R-WgVMl.js";import{A as Zn,C as Qn,D as $n,O as er,P as tr,T as nr,a as rr,f as ir,h as ar,i as or,j as sr,k as cr,m as lr,o as ur,p as dr,r as fr,t as pr,w as mr,y as hr}from"./gitApi-ClM_B3fS.js";import{$ as gr,A as _r,At as vr,B as yr,C as br,Ct as xr,D as Sr,Dt as Cr,E as wr,Et as Tr,F as Er,Ft as Dr,G as Or,H as kr,Ht as Ar,I as jr,It as Mr,J as Nr,K as Pr,L as Fr,Lt as Ir,M as Lr,Mt as Rr,N as zr,Nt as Br,O as Vr,Ot as Hr,Pt as Ur,Q as Wr,Rt as Gr,S as Kr,St as qr,Tt as Jr,U as Yr,V as Xr,Vt as Zr,W as Qr,X as $r,Z as ei,_ as ti,_t as ni,at as ri,b as ii,c as ai,d as oi,et as si,f as ci,ft as li,g as ui,gt as di,h as fi,ht as pi,i as mi,it as hi,j as gi,k as _i,kt as vi,l as yi,m as bi,mt as xi,n as Si,nt as Ci,ot as wi,p as Ti,pt as Ei,q as Di,rt as Oi,t as ki,tt as Ai,u as ji,ut as Mi,v as Ni,w as Pi,wt as Fi,x as Ii,xt as Li,y as Ri,yt as zi,z as Bi,zt as Vi}from"./useAppFontEffects-BD0BG-np.js";import{O as Hi,T as Ui,_ as Wi,a as Gi,b as Ki,f as qi,h as Ji,i as Yi,l as Xi,m as Zi,n as Qi,p as $i,s as ea,x as ta}from"./projectMeta-Cfq8wYwb.js";import{t as na}from"./input-Cd_1HyQv.js";import{i as ra,n as ia,r as aa,t as oa}from"./tooltip-DSjr26A_.js";import{B as sa,Et as ca,F as la,G as ua,I as da,It as fa,J as pa,L as ma,Lt as ha,P as ga,U as _a,V as va,X as ya,Y as ba,a as xa,b as Sa,c as Ca,et as wa,h as Ta,ht as Ea,i as Da,m as Oa,q as ka,s as Aa,tt as ja,u as Ma,w as Na,y as Pa}from"./useSessionAutoCleanup-VgkhRtrf.js";import{n as Fa}from"./useThemeSystem-DMzWVJaW.js";import{i as Ia,o as La,t as Ra}from"./OverlayScrollbar-Bahg_P3r.js";import{s as za}from"./markdownTheme-DOfGg-A7.js";import{n as Ba,r as Va}from"./useRuntimeAPIs-DSLXJybW.js";import{M as Ha,_ as Ua,b as Wa,d as Ga,g as Ka,h as qa,j as Ja,p as Ya,v as Xa,x as Za,y as Qa}from"./insertionBoundaries-RilpwKtQ.js";import{n as $a,t as eo}from"./appThemeRegistry-CvGPIE7-.js";import{a as to,n as no,o as ro}from"./MarkdownRenderer-BPYs05iK.js";import{i as io,n as ao,r as oo,t as so}from"./dropdown-menu.styles-Bzo6L3FH.js";import{n as co,r as lo}from"./textarea-DE1UrdtK.js";import{_ as uo,g as fo,i as po,l as mo,n as ho,s as go,t as _o,v as vo,y as yo}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{a as bo,n as xo,o as So,s as Co,t as wo}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{a as To}from"./url-CMQwHq4k.js";import{c as Eo,d as Do,f as Oo,l as ko,s as Ao,u as jo}from"./markdown-worker-CptoICmq.js";import{n as Mo,t as No}from"./useEffectiveDirectory-Tz4YgZHt.js";import{o as Po}from"./FadeInOnReveal-UGwClbL_.js";import{p as Fo,u as Io}from"./imageSource-BlAJJUEI.js";import{g as Lo}from"./useWorkerHighlightedLines-DT0cJd4V.js";import{r as Ro,s as zo,t as Bo}from"./sessionChangeSummary-DKJxz5er.js";import{t as Vo}from"./sortable-tabs-strip-BSzFYDAO.js";import{t as Ho}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{i as Uo,r as Wo,t as Go}from"./vendor-framer-motion-DFy_BSVd.js";import{$ as Ko,A as qo,B as Jo,C as Yo,D as Xo,M as Zo,N as Qo,O as $o,Q as es,R as ts,T as ns,W as rs,_ as is,b as as,d as os,f as ss,h as cs,j as ls,k as us,m as ds,p as fs,s as ps,v as ms,w as hs,x as gs,y as _s,z as vs}from"./MobileSurface-6zONMJbZ.js";import{i as ys,n as bs,r as xs,t as Ss}from"./useDesktopWindowControlsLayout-CF2GHw9J.js";import{n as Cs}from"./useFontPreferences-DCaY8NbU.js";import{$ as ws,A as Ts,B as Es,F as Ds,G as Os,I as ks,J as As,K as js,M as Ms,N as Ns,P as Ps,Q as Fs,R as Is,V as Ls,W as Rs,X as zs,Z as Bs,_ as Vs,a as Hs,at as Us,c as Ws,d as Gs,et as Ks,f as qs,g as Js,h as Ys,i as Xs,it as Zs,j as Qs,k as $s,l as ec,m as tc,n as nc,nt as rc,o as ic,ot as ac,p as oc,q as sc,r as cc,rt as lc,s as uc,tt as dc,u as fc,v as pc,y as mc,z as hc}from"./runtimeEndpointReset-CjT4jAvZ.js";import{i as gc}from"./sessionLookup-CBT9qysS.js";import{a as _c,i as vc,n as yc,r as bc,t as xc}from"./context-menu-CSyOhRz8.js";import{n as Sc,r as Cc,t as wc}from"./collapsible-Bbz9KiJf.js";import{a as Tc,o as Ec,r as Dc,s as Oc,t as kc}from"./projectActions-CWvNGKfA.js";import{t as Ac}from"./diagram-NdsZih8P.js";import{a as jc,i as Mc,n as Nc,o as Pc,r as Fc,t as Ic}from"./multirun-FNfO4hCT.js";import{t as Lc}from"./vendor-zumer-snapdom-yq9vlCKr.js";import{n as Rc,t as zc}from"./vendor-html-to-image-BDMm2v6d.js";var Q=e(ye(),1),Bc=Fe(),Vc=q(),$=ve();function Hc(e){let t=(0,Vc.c)(14),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({size:i,className:n,style:a,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=typeof i==`number`?`${i}px`:i,s=typeof i==`number`?`${i}px`:i,c;t[5]!==a||t[6]!==o||t[7]!==s?(c={width:o,height:s,...a},t[5]=a,t[6]=o,t[7]=s,t[8]=c):c=t[8];let l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`path`,{d:`M112,148a12,12,0,0,0-12,12v19L69.17,148.2A4,4,0,0,1,68,145.37V97.94a36,36,0,1,0-24,0v47.43a27.81,27.81,0,0,0,8.2,19.8L83,196H64a12,12,0,0,0,0,24h48a12,12,0,0,0,12-12V160A12,12,0,0,0,112,148ZM56,52A12,12,0,1,1,44,64,12,12,0,0,1,56,52ZM212,158.06V110.63a27.81,27.81,0,0,0-8.2-19.8L173,60h19a12,12,0,0,0,0-24H144a12,12,0,0,0-12,12V96a12,12,0,0,0,24,0V77l30.83,30.83a4,4,0,0,1,1.17,2.83v47.43a36,36,0,1,0,24,0ZM200,204a12,12,0,1,1,12-12A12,12,0,0,1,200,204Z`}),t[9]=l):l=t[9];let u;return t[10]!==n||t[11]!==r||t[12]!==c?(u=(0,$.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:`currentColor`,className:n,style:c,...r,children:l}),t[10]=n,t[11]=r,t[12]=c,t[13]=u):u=t[13],u}var Uc=[{id:`finder`,label:`Finder`,appName:`Finder`},{id:`terminal`,label:`Terminal`,appName:`Terminal`},{id:`iterm2`,label:`iTerm2`,appName:`iTerm`},{id:`ghostty`,label:`Ghostty`,appName:`Ghostty`},{id:`vscode`,label:`VS Code`,appName:`Visual Studio Code`},{id:`vscode-insiders`,label:`VS Code Insiders`,appName:`Visual Studio Code - Insiders`},{id:`intellij`,label:`IntelliJ`,appName:`IntelliJ IDEA`},{id:`visual-studio`,label:`Visual Studio`,appName:`Visual Studio`},{id:`cursor`,label:`Cursor`,appName:`Cursor`},{id:`android-studio`,label:`Android Studio`,appName:`Android Studio`},{id:`pycharm`,label:`PyCharm`,appName:`PyCharm`},{id:`xcode`,label:`Xcode`,appName:`Xcode`},{id:`sublime-text`,label:`Sublime`,appName:`Sublime Text`},{id:`webstorm`,label:`WebStorm`,appName:`WebStorm`},{id:`rider`,label:`Rider`,appName:`Rider`},{id:`zed`,label:`Zed`,appName:`Zed`},{id:`phpstorm`,label:`PhpStorm`,appName:`PhpStorm`},{id:`eclipse`,label:`Eclipse`,appName:`Eclipse`},{id:`windsurf`,label:`Windsurf`,appName:`Windsurf`},{id:`vscodium`,label:`VSCodium`,appName:`VSCodium`},{id:`rustrover`,label:`RustRover`,appName:`RustRover`},{id:`kiro`,label:`Kiro`,appName:`Kiro`},{id:`antigravity`,label:`Antigravity`,appName:`Antigravity`},{id:`trae`,label:`Trae`,appName:`Trae`}],Wc=`finder`,Gc=new Set([`finder`,`terminal`]),Kc=e=>typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`&&e.id===`finder`?{...e,label:`Explorer`,appName:`File Explorer`}:e,qc=e=>{if(!e)return null;let t=Uc.find(t=>t.id===e)??null;return t?Kc(t):null},Jc=()=>Uc.filter(e=>Gc.has(e.id)).map(e=>({...Kc(e)})),Yc=()=>{if(typeof window>`u`)return Wc;let e=window.localStorage.getItem(`openInAppId`);return e&&qc(e)?e:Wc},Xc=!1,Zc=!1,Qc=!1,$c=0,el=null,tl=()=>{el&&=(clearTimeout(el),null)},nl=oe()((e,t)=>({selectedAppId:Yc(),availableApps:Jc(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(Xc||typeof window>`u`)return;Xc=!0;let n=(t,n=!0)=>{if(!Array.isArray(t)||t.length===0){e({availableApps:Jc(),hasLoadedApps:n});return}let r=new Set(t.map(e=>e.name)),i=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0]));e({availableApps:Uc.filter(e=>r.has(e.appName)||Gc.has(e.id)).map(e=>({...Kc(e),iconDataUrl:i.get(e.appName)})),hasLoadedApps:!0})},r=async i=>{if(!S()||!T()||Zc||t().hasLoadedApps&&!i)return;let a=Uc.map(e=>e.appName);tl(),i&&e({hasLoadedApps:!1}),Zc=!0,Qc=!1,e({isScanning:!0});try{let{apps:t,success:o,hasCache:s,isCacheStale:c}=await m(a,i),l=o&&!s&&t.length===0&&$c<3;if(e({isCacheStale:s?c:!1}),n(t,o?!l:!1),o){if(l){let e=[800,1600,3200][$c]??3200;$c+=1,Qc=!0,el=setTimeout(()=>{r()},e);return}$c=0,Qc=!1;return}if($c<3){let e=[1e3,3e3,7e3][$c]??7e3;$c+=1,Qc=!0,el=setTimeout(()=>{r()},e)}}finally{Zc=!1,Qc||e({isScanning:!1})}};r(),window.addEventListener(`openchamber:settings-synced`,t=>{let n=t.detail,r=n&&typeof n.openInAppId==`string`&&n.openInAppId.length>0&&qc(n.openInAppId)?n.openInAppId:null;r&&(window.localStorage.setItem(`openInAppId`,r),e({selectedAppId:r}))}),window.addEventListener(`openchamber:app-ready`,()=>{r()}),window.addEventListener(`openchamber:installed-apps-updated`,t=>{let r=t.detail;Array.isArray(r)&&($c=3,Qc=!1,e({isScanning:!1,isCacheStale:!1}),n(r))}),window.__openchamberAppReady&&r(),window.setTimeout(()=>{t().hasLoadedApps||r()},5e3)},loadInstalledApps:async n=>{if(Xc||t().initialize(),!S()||!T()||Zc||t().hasLoadedApps&&!n)return;let r=Uc.map(e=>e.appName);tl(),n&&e({hasLoadedApps:!1}),Zc=!0,Qc=!1,e({isScanning:!0});try{let{apps:t,hasCache:i,isCacheStale:a}=await m(r,n),o=new Set(t.map(e=>e.name)),s=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0])),c=Uc.filter(e=>o.has(e.appName)||Gc.has(e.id)).map(e=>({...e,iconDataUrl:s.get(e.appName)}));e({availableApps:c.length>0?c:Jc(),hasLoadedApps:c.length>0,isCacheStale:i?a:!1})}finally{Zc=!1,Qc||e({isScanning:!1})}},selectApp:async t=>{qc(t)&&(e({selectedAppId:t}),typeof window<`u`&&window.localStorage.setItem(`openInAppId`,t),await z({openInAppId:t}))}})),rl=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAeGVYSWZNTQAqAAAACAAEARoABQAAAAEAAAA+ARsABQAAAAEAAABGASgAAwAAAAEAAgAAh2kABAAAAAEAAABOAAAAAAAAAJAAAAABAAAAkAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAAB+C9pSAAAACXBIWXMAABYlAAAWJQFJUiTwAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yNTY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjU2PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cl6wHhsAAAXaSURBVFgJ7VddbBRVFP5mdme6dOnu2tZawOAPjfxU+bGQYCRAsvw8qNGEQPTRJ0I0amL0wfjgA/HBR8KLD8YgDxJEUkVFxSYYTSRii6DQQCMGIQqlW7p0u+zMzo/fuTuzO9Nt0Td94CRn7pl7z5zznZ977y5wh/7jDGiz+T979qD5Ujbfd90xlll+stOF1uI40B1+4HhkjnZk9CgLQ9iXp2/BdcbgVc/h0sAgduywudJEMwLY9Of4ugtW5p3CpL7W1jTN88VmjdQYvnDKF1mczkYuNZLeCVg3X8fa9u+nqzUB2HRpdN2pSseRQknPoUL1Jo2ICTrPGcCzdwPdHENcAnicKRqcAk7cpL5J1r0JlAtPYV1XDETM/FtH3m19r+f5by+XjNX/xnmCX3/cCzydi4CKiC7lw+PArhGgoPPFq/6E0+9vwM6d5VBNpuv03cLNfeNTRh9KnJIiV2/PvSngycC5RD+dE5zb3g7s6QESzAZc2l6wuY9SnWIAxv10r81uU85Vt1FvtpEtlc/SMFUkUofeZ2IBta0DWDmXgkfbyTRz1qAYAMczOz3p1elOxYPyEllj421hdELViPO6Kudk3ia3UGe5ABDbvtnJZ52SdYmCZ3stdeexBabFdeAbYopEowtagVUZqFapBrtAGqpiVaFrGgyjZlrmTD5yEqoEJj4iFMuA62i6L3WPZkAiuHgarZ/vbWSBkTzO2rfTR4XOJVJhjfX44MBn+OTocVWbcF5MalxXPeVL6zYonoGo44YOtDI7qHC1lkL5nHnOc+tJRi3K6iygLNGMjt1A1XVV6iUzOvVtAvMlS2I/yBYlRf8MgA6szmXQ1jDfKhSgjft6DRtrkgarAiAw5nI9v2WDSn+Zxfd9DawGxIlPPQUg0A2HGABfEIYlCDU4+q0d8O+jRzHCCFYy+nu4BaeYAoksBCDrPYsXQQ6iitgiSQaS1FHHtMzFil4DpxTl4UhORSn4WOaaiGsbu4iFRkMnYQlEV0oSJQGQ4FyYgSRDjpqPZcCR6EOOWonIEsBqArAIQOMLzw0VXRRERF2VoA6Atk1+MzsASekMJYgaFEeHR4Cr85lNGntYzgKCYd/NSNIDCXr0ZJ2jwTsjSvEMzFQCCVmKHBRahn2DNb4rDRx8pnbXOOIg0JELLMHOF1AUkaRj1V8c2TookkMS83WK9QCVpRwtf5wCykQWRKDyJ44Ytc452QUV6inmN9IDIv/6y2+YLDuqTywBEHxv8rsoxQC4Fpf4cZ2pbJ4/huxXr0EvFmoRCrAIVymLQ3Eid0GJYPsPfISBLwdwi79YQnCqBNS7LQDP5qYSAKEDypOrX4WVWYLsFy+i9cwh6CUmUKIJI2Gq5cSbnLLw849D2Ld3L4olC1u3P0c1ow5Ozgixa3puWChONG1D3eLZUQOglvng+Vp5dBfseesx5/yHyI4cBTL3wsssRGs2g6/ppHijiMLoNSSMNHofy6Nn6SPsAR02nUoTtrDTSrdoi8CTni55rlOsCf1ypaDxlFMNU1epCV5XL6Y6dmOq+BeS48NIlq7Anpjg5dOFbPdDWLQyj/aubnUKSkMKi3NhkUd4kieYtbRbYS0bFAOQKI8NO363z1RJHmamtnlwhGksxV2w/gl29WRtm8kWtWUnRShLnQvXgDOXmLg2HzlvbDiyHD8Y517YP2i4FtueFPbB9FFqKcyobk4A5y7zquUFa7IXojyHoeXmAFcY755vaI6A56Xsofm/7+cmblBTpOldQ5vs3PJDVS+RVSAaus2SpJTO80t4NTNSOQfCDrtFkBevA0ME6HGvPdDpFlekzm7rf3nFQNRQEwBZTL9warObWfx21Uv1+fx1ERqVNampGoOHpF1tsdp07RnoGMxK1vT97rbK4IP6+Tc+fWXVsahaYGL6VO09d//GXHXr7jVeqmuppqU6ff4x0RO6lqRxgxHJpWKSlcw5eWfjq5rq/CdhaL5l6JWxjDc6bP7w5sn+/uMs2B36H2bgb6v9raK0+o9IAAAAAElFTkSuQmCC`,il=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAeGVYSWZNTQAqAAAACAAEARoABQAAAAEAAAA+ARsABQAAAAEAAABGASgAAwAAAAEAAgAAh2kABAAAAAEAAABOAAAAAAAAAJAAAAABAAAAkAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAAB+C9pSAAAACXBIWXMAABYlAAAWJQFJUiTwAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yNTY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjU2PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cl6wHhsAAAQzSURBVFgJ7VZNbBNHFH67Xv9RxwnBDqlUoQglcZK6qSIEJIQWAYJQoVY9IE5RTzn20FMvqdpDesq9B24+NdwthAJCkZChJg1JSOXYQIwQKQIaBdtENbs73t2+N8miGWOcpFHUHniyd97OvJ9v3nv7ZgDe038cAeVd/jOZjC94sKdfU+Bj24G9igpexwYPyiu2bauKqqqirkOTqmrjnIOyFsoyUKDocSCj/7mU7ujoMER5l68JYOFZ4YSiwPjd9O0jjx7ch1KhAJZVAcdx0LxDv3XetYKjggr4I4bzHo8G4aYmONjZBYf6+2dUzfd9PNowJajUZmef/PX5zcWl0rmvvnbQHrra+f/M+S+dqYXs2t3Hz09Ve5UicCmZ3NPb1Zv66btv+65dSULA64WGxkbw+Xx8V9XK9d4pWowxeFUqgW6acHroC/j5l0sLD/PZY98MDf3t6mouQ+On3X1H7/2e7rtOztHpgbY2+CAUgperq+D3+7cNgtLSEA7D0+VluDF5FS7cSff2HT56DF1dd/3KhQTWJ/lclsc8jIrk9IfRURgZGQEvRqNSWa8D2t1W/liXXK8Ro0i0lF0ExaPEXec0SgAqhrm3VCzwdS9GQNd1GBsbg0AgAIlEAlpbW7EYLVF/U56AagieiGwbuhERlSQApmEE8c/XKXxU0fF4HNowFfPz81Aul7edBjLGbeHITANsZga4g42HVAM2Y74KM/kSIQ/izgcHB2FiYgJmZmZ4MZpYULRG5PF4+Bx/2cLDxuhhYUqFLwGoWCaQEBGhNjAa4+Pj/J3SQA6pHpqbm/kcNitIJpOgaZIZvlbrQbZNJvcjSZOZDKhwRKLic4l2Pjc3B8FgkE+trKxAVUN0RWuOZNtCHyJJACj/bgREIZcnA9PT029SQM63unuywSOwUWOuTQmAhfmnlluPxIjUk6u1RrbJh0jyV0Ap2OZnJhrbjOcRqEqBBMDCAtltAORDJAkAVj2mWS5CUXinPDUx+oxFkgBYjO0qANu2wKoqQgkAfgW7C4AiYMmfoQSgwpjj7GYRUh/Q66SAmdisNxql227FfP1bXrRlVExdtCNHwDRLdPkgwmi8OUREhe3y1NLJFpEfbWMNvBRtSI2o+KqYi+zbx4NQwptMCO8E1HjEHYjKm/HknG5FZIsCG4lEoLS2lhP1JAB3bt1KH//s+GJPd3dPJpvlN5kwXiYIhHukisr1eAItXsm6YzGItrTcn5+dvS3qSQBSqVQhFouNnj039CsaCC7mcqDjgbNT6op1AtrU8Wo3Ojk5KaVAOptdR8PDwxf3t7SMvXjxvJNOPP31a35Krt8CXKl3j2SUDip/IAjRaBRaP9z/cHW18GMikbhcrVUTAAm1t7d/NDAwcDIUCvVqmtqkyLe3ajtvvTtg4x3SLpbLa3+kUr9N5fP55beE3k/8HyLwDx2/HIx7q3WfAAAAAElFTkSuQmCC`,al=e=>({...e,fallbackIconDataUrl:e.id===`finder`&&window.__OPENCHAMBER_PLATFORM__!==`win32`?rl:e.id===`terminal`?il:void 0}),ol=e=>{let t=(0,Vc.c)(8),{label:n,iconDataUrl:r,fallbackIconDataUrl:i}=e,[a,o]=Q.useState(!1),s;t[0]===n?s=t[1]:(s=n.trim().slice(0,1).toUpperCase()||`?`,t[0]=n,t[1]=s);let c=s,l=r||i;if(l&&!a){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>o(!0),t[2]=e):e=t[2];let n;return t[3]===l?n=t[4]:(n=(0,$.jsx)(`img`,{src:l,alt:``,className:`h-4 w-4 rounded-sm`,onError:e}),t[3]=l,t[4]=n),n}let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=Y(`h-4 w-4 rounded-sm flex items-center justify-center`,`bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground`),t[5]=u):u=t[5];let d;return t[6]===c?d=t[7]:(d=(0,$.jsx)(`span`,{className:u,children:c}),t[6]=c,t[7]=d),d},sl=e=>{let t=(0,Vc.c)(74),{directory:n,className:r}=e,{t:i}=Je(),a=nl(cl),o=nl(ll),s=nl(ul),c=nl(dl),l=nl(fl),u=nl(pl),d=nl(ml),f,p;t[0]===l?(f=t[1],p=t[2]):(f=()=>{l()},p=[l],t[0]=l,t[1]=f,t[2]=p),Q.useEffect(f,p);let m=S()&&T(),h;bb0:{let e;t[3]!==o||t[4]!==a?(e=o.find(e=>e.id===a)??o.find(hl)??o[0]??Uc[0],t[3]=o,t[4]=a,t[5]=e):e=t[5];let n=e;if(n){let e;t[6]===n?e=t[7]:(e=al(n),t[6]=n,t[7]=e),h=e;break bb0}let r;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(r=al(Uc[0]),t[8]=r):r=t[8],h=r}let g=h;if(!m||!n||o.length===0)return null;let _;t[9]===n?_=t[10]:(_=async e=>{await B(n,e.id,e.appName)||await L(n,e.appName)},t[9]=n,t[10]=_);let v=_,y;t[11]!==v||t[12]!==d?(y=async e=>{await d(e.id),await v(e)},t[11]=v,t[12]=d,t[13]=y):y=t[13];let b=y,x;t[14]===n?x=t[15]:(x=async()=>{await Ze(n)},t[14]=n,t[15]=x);let C=x,w;t[16]===r?w=t[17]:(w=Y(`app-region-no-drag inline-flex h-7 items-center self-center rounded-[9px] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[50px]`,`bg-[var(--surface-elevated)] overflow-hidden`,`border border-border/60`,r),t[16]=r,t[17]=w);let E;t[18]!==v||t[19]!==g?(E=()=>void v(g),t[18]=v,t[19]=g,t[20]=E):E=t[20];let D=c&&`animate-pulse`,O;t[21]===D?O=t[22]:(O=Y(`inline-flex h-full items-center px-2.5 typography-ui-label font-medium`,`text-foreground hover:bg-interactive-hover transition-colors`,D),t[21]=D,t[22]=O);let k;t[23]!==g.label||t[24]!==i?(k=i(`openInApp.actions.openInAria`,{app:g.label}),t[23]=g.label,t[24]=i,t[25]=k):k=t[25];let A;t[26]!==g.fallbackIconDataUrl||t[27]!==g.iconDataUrl||t[28]!==g.label?(A=(0,$.jsx)(ol,{label:g.label,iconDataUrl:g.iconDataUrl,fallbackIconDataUrl:g.fallbackIconDataUrl}),t[26]=g.fallbackIconDataUrl,t[27]=g.iconDataUrl,t[28]=g.label,t[29]=A):A=t[29];let j;t[30]!==O||t[31]!==k||t[32]!==A||t[33]!==E?(j=(0,$.jsx)(`button`,{type:`button`,onClick:E,className:O,"aria-label":k,children:A}),t[30]=O,t[31]=k,t[32]=A,t[33]=E,t[34]=j):j=t[34];let M;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(M=Y(`inline-flex h-full w-7 items-center justify-center`,`border-l border-[var(--interactive-border)] text-muted-foreground`,`hover:bg-interactive-hover hover:text-foreground transition-colors`),t[35]=M):M=t[35];let N;t[36]===i?N=t[37]:(N=i(`openInApp.actions.chooseAppAria`),t[36]=i,t[37]=N);let P;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-4 w-4`}),t[38]=P):P=t[38];let F;t[39]===N?F=t[40]:(F=(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:M,"aria-label":N,children:P})}),t[39]=N,t[40]=F);let I;t[41]===C?I=t[42]:(I=()=>void C(),t[41]=C,t[42]=I);let ee;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(X,{name:`file-copy`,className:`h-4 w-4`}),t[43]=ee):ee=t[43];let R;t[44]===i?R=t[45]:(R=i(`openInApp.actions.copyPath`),t[44]=i,t[45]=R);let z;t[46]===R?z=t[47]:(z=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:R}),t[46]=R,t[47]=z);let V;t[48]!==I||t[49]!==z?(V=(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:I,children:[ee,z]}),t[48]=I,t[49]=z,t[50]=V):V=t[50];let H;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(sa,{}),t[51]=H):H=t[51];let U;if(t[52]!==o||t[53]!==b||t[54]!==g.id){let e;t[56]!==b||t[57]!==g.id?(e=e=>{let t=al(e);return(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>void b(e),children:[(0,$.jsx)(ol,{label:e.label,iconDataUrl:e.iconDataUrl,fallbackIconDataUrl:t.fallbackIconDataUrl}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e.label}),g.id===e.id?(0,$.jsx)(X,{name:`check`,className:`ml-auto h-4 w-4 text-primary`}):null]},e.id)},t[56]=b,t[57]=g.id,t[58]=e):e=t[58],U=o.map(e),t[52]=o,t[53]=b,t[54]=g.id,t[55]=U}else U=t[55];let te;t[59]!==s||t[60]!==u||t[61]!==i?(te=s?(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>void u(!0),children:[(0,$.jsx)(X,{name:`refresh`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:i(`openInApp.actions.refreshApps`)})]}):null,t[59]=s,t[60]=u,t[61]=i,t[62]=te):te=t[62];let ne;t[63]!==V||t[64]!==U||t[65]!==te?(ne=(0,$.jsxs)(la,{align:`end`,className:`w-56 max-h-[70vh] overflow-y-auto`,children:[V,H,U,te]}),t[63]=V,t[64]=U,t[65]=te,t[66]=ne):ne=t[66];let W;t[67]!==F||t[68]!==ne?(W=(0,$.jsxs)(ga,{children:[F,ne]}),t[67]=F,t[68]=ne,t[69]=W):W=t[69];let re;return t[70]!==j||t[71]!==W||t[72]!==w?(re=(0,$.jsxs)(`div`,{className:w,children:[j,W]}),t[70]=j,t[71]=W,t[72]=w,t[73]=re):re=t[73],re};function cl(e){return e.selectedAppId}function ll(e){return e.availableApps}function ul(e){return e.isCacheStale}function dl(e){return e.isScanning}function fl(e){return e.initialize}function pl(e){return e.loadInstalledApps}function ml(e){return e.selectApp}function hl(e){return e.id===Wc}var gl=[{pattern:/^dev(:.*)?$/i},{pattern:/^start(:.*)?$/i},{pattern:/^preview(:.*)?$/i},{pattern:/^serve(:.*)?$/i},{pattern:/^develop(:.*)?$/i}],_l=[`dev`,`start`,`preview`,`serve`];async function vl(e,t,n){if(!e)return null;let r=xl(t);if(r)return{command:r.command,label:r.name||`Start Preview`,actionId:r.id};if(n){let t=Sl(n);if(t){let n=await Cl(e);return{command:`${n===`npm`?`npm run`:n===`yarn`?`yarn`:n===`pnpm`?`pnpm`:n===`bun`?`bun run --shell=bun`:`npm run`} ${t}`,label:`Start (${t})`}}}if(await yl(e)){let e=await bl(),t=typeof e==`number`&&Number.isFinite(e)&&e>0?e:8e3;return{command:`python3 -m http.server ${t}`,label:`Static preview`,previewUrlHint:`http://127.0.0.1:${t}/`}}return null}async function yl(e){let t=await wl(`${e}/index.html`,e);return typeof t==`string`&&t.trim().length>0}async function bl(){try{let e=await f(`/api/system/free-port`,{cache:`no-store`});if(!e.ok)return null;let t=await e.json().catch(()=>null),n=typeof t?.port==`number`?t.port:null;return n&&Number.isFinite(n)?n:null}catch{return null}}function xl(e){for(let t of e){let e=`${t.name} ${t.command}`.toLowerCase();if(_l.some(t=>e.includes(t)))return t}return null}function Sl(e){for(let{pattern:t}of gl)for(let n of Object.keys(e))if(t.test(n))return n;return null}async function Cl(e){let t=await wl(`${e}/package.json`,e);if(t)try{let e=JSON.parse(t),n=typeof e.packageManager==`string`?e.packageManager.toLowerCase():``;if(n.startsWith(`bun@`))return`bun`;if(n.startsWith(`pnpm@`))return`pnpm`;if(n.startsWith(`yarn@`))return`yarn`;if(n.startsWith(`npm@`))return`npm`}catch{}for(let[t,n]of[[`bun.lock`,`bun`],[`bun.lockb`,`bun`],[`pnpm-lock.yaml`,`pnpm`],[`yarn.lock`,`yarn`],[`package-lock.json`,`npm`]]){let r=await wl(`${e}/${t}`,e);if(typeof r==`string`&&r.trim().length>0)return n}return`npm`}async function wl(e,t){if(t?.trim())try{let n=new URLSearchParams({path:e,directory:t,optional:`true`}),r=await f(`/api/fs/read?${n.toString()}`,{cache:`no-store`});if(r.ok)return r.text()}catch{}let n=h()?.files;if(n?.readFile)try{let t=await n.readFile(e,{optional:!0});return typeof t?.content==`string`?t.content:null}catch{return null}try{let t=await f(`/api/fs/read?path=${encodeURIComponent(e)}&optional=true`,{cache:`no-store`});return t.ok?t.text():null}catch{return null}}async function Tl(e){try{let t=await wl(`${e}/package.json`,e);if(t==null)return null;let n=JSON.parse(t).scripts;return n&&typeof n==`object`&&!Array.isArray(n)?n:null}catch{return null}}var El=e=>new Promise(t=>{window.setTimeout(t,e)}),Dl=RegExp(`\x1B\\[[0-9;?]*[ -/]*[@-~]`,`g`),Ol=/https?:\/\/[^\s<>'"`]+/gi,kl=`__openchamber_auto_discover_preview__`,Al=15e3,jl=e=>{let t=``;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);r>=0&&r<=8||r===11||r===12||r>=14&&r<=31||r===127||(t+=e[n])}return t},Ml=e=>{let t=(e||``).trim();if(!t)return null;let n=/^https?:\/\//i.test(t)?t:`http://${t}`;try{let e=new URL(n);return e.protocol!==`http:`&&e.protocol!==`https:`?null:e.toString()}catch{return null}},Nl=e=>{let t=e.replace(Dl,``).match(Ol);if(!t||t.length===0)return null;let n=t.map(e=>e.replace(/[),.;]+$/,``)).filter(Boolean);if(n.length===0)return null;let r=[];for(let e of n)try{let t=new URL(e);t.port&&t.port.length>0&&r.push({raw:e,parsed:t})}catch{}if(r.length>0){let e=e=>{let{parsed:t}=e,n=t.hostname.toLowerCase(),r=n===`localhost`||n===`127.0.0.1`||n===`0.0.0.0`||n===`::1`,i=t.pathname||`/`,a=i.split(`/`).filter(Boolean).length,o=i===`/`||i===``,s=!!(t.search||t.hash),c=0;return r&&(c+=50),o&&(c+=30),c-=Math.min(a*5,20),s&&(c-=10),c};return r.sort((t,n)=>e(n)-e(t)),r[0]?.parsed.origin??r[0]?.raw??null}return n[0]??null},Pl=({projectRef:e,directory:t,className:n,compact:r=!1,allowMobile:i=!1})=>{let{t:a}=Je(),{terminal:o,runtime:s}=Ba(),{isMobile:c}=Ia(),l=Q.useMemo(()=>S(),[]),u=ns(e=>e.instances),d=ns(e=>e.load),f=K(e=>e.setBottomTerminalOpen),p=K(e=>e.setActiveMainTab),m=K(e=>e.setSettingsPage),h=K(e=>e.setSettingsDialogOpen),g=K(e=>e.setSettingsProjectsSelectedId),_=K(e=>e.openContextPreview),v=Cs(e=>e.sessions),y=Cs(e=>e.ensureDirectory),b=Cs(e=>e.setTabLabel),x=Cs(e=>e.setTabIconKey),C=Cs(e=>e.setActiveTab),w=Cs(e=>e.setConnecting),T=Cs(e=>e.setTabSessionId),E=Cs(e=>e.setTabPreviewUrl),D=Cs(e=>e.projectActionRuns),O=Cs(e=>e.setProjectActionRun),k=Cs(e=>e.updateProjectActionRunStatus),A=Cs(e=>e.removeProjectActionRun),[j,M]=Q.useState([]),[N,P]=Q.useState(null),[F,I]=Q.useState(!1),ee=Q.useRef({}),L=Q.useRef({}),R=Q.useRef({}),z=Q.useRef({}),B=Q.useRef(0),V=e?.id??null,H=e?.path??``,U=Q.useMemo(()=>V?{id:V,path:H}:null,[V,H]);Q.useEffect(()=>{l&&d().catch(()=>void 0)},[l,d]);let te=Q.useCallback(async e=>{await To(e)},[]),ne=Q.useCallback(async()=>{if(!U)return;let e=B.current+1;B.current=e,I(!0);try{let t=await gt(U);if(B.current!==e)return;let n=t.actions;M(n),P(e=>e===kl||e&&n.some(t=>t.id===e)?e:null)}catch{if(B.current!==e)return}finally{B.current===e&&I(!1)}},[U]),W=Q.useMemo(()=>Tc(t||U?.path||``),[t,U?.path]),re=Q.useMemo(()=>N?j.find(e=>e.id===N)??null:null,[j,N]),G=Q.useMemo(()=>({id:kl,name:a(`projectActions.actions.autoDiscover`),command:``,icon:`search`,autoOpenUrl:!0}),[a]),ie=!c,ae=Q.useMemo(()=>ie?[G,...j]:j,[j,G,ie]);Q.useEffect(()=>{ne()},[ne]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=e=>{let t=e.detail;V&&(t?.projectId&&t.projectId!==V||ne())};return window.addEventListener(kc,e),()=>{window.removeEventListener(kc,e)}},[ne,V]),Q.useEffect(()=>{N&&(N===kl&&ie||j.some(e=>e.id===N)||P(null))},[j,ie,N]),Q.useEffect(()=>{for(let[e,t]of Object.entries(D)){let n=v.get(t.directory)?.tabs.find(e=>e.id===t.tabId);(!n||n.terminalSessionId!==t.sessionId)&&A(e)}},[D,A,v]),Q.useEffect(()=>{for(let[e,t]of Object.entries(D)){let n=L.current[e]??{lastSeenChunkId:null,openedUrl:!1,tail:``,openInPreview:!1};L.current[e]=n;let r=ae.find(e=>e.id===t.actionId);if(!r)continue;let i=v.get(t.directory)?.tabs.find(e=>e.id===t.tabId);if(!i||!Array.isArray(i.bufferChunks)||i.bufferChunks.length===0)continue;let o=i.bufferChunks.filter(e=>n.lastSeenChunkId===null||e.id>n.lastSeenChunkId);if(o.length===0)continue;let s=o.map(e=>e.data).join(``),c=`${n.tail}${s}`,l=!n.openedUrl&&r.autoOpenUrl===!0?Nl(c):null;if(n.lastSeenChunkId=o[o.length-1]?.id??n.lastSeenChunkId,n.tail=c.slice(-512),l)if(n.openedUrl=!0,n.openInPreview){let t=D[e];t&&(E(t.directory,t.tabId,l,{locked:!1,autoOpened:!1}),t.status===`waiting-for-preview`&&k(e,`running`),window.clearTimeout(z.current[e]),delete z.current[e],_(t.directory,l))}else te(l),J.success(a(`projectActions.toast.openedUrlFromOutput`));L.current[e]=n}for(let e of Object.keys(L.current))D[e]||(delete L.current[e],window.clearTimeout(z.current[e]),delete z.current[e])},[ae,_,te,D,E,a,v,k]);let oe=Q.useCallback(async(e,t={})=>{if(!W)throw Error(a(`projectActions.error.noActiveDirectory`));let n=Oc(W,e.id);y(W);let r=Cs.getState(),i=r.getDirectoryState(W),o=ee.current[n]||null,s=o?!!i?.tabs.some(e=>e.id===o):!1;(!o||!s)&&(o=r.createTab(W),ee.current[n]=o),b(W,o,`Action: ${e.name}`),x(W,o,e.icon||`play`),t.revealTerminal!==!1&&(C(W,o),f(!0),p(`terminal`));let c=Cs.getState().getDirectoryState(W)?.tabs.find(e=>e.id===o);return{key:n,tabId:o,sessionId:c?.terminalSessionId??null}},[y,W,p,C,f,x,b,a]),se=Q.useCallback(async e=>{if(s.isVSCode||!i&&c)return;if(!W){J.error(a(`projectActions.error.noActiveDirectoryForAction`));return}let t=Oc(W,e.id),n=D[t];if(!(n&&n.status===`running`))try{let t=e.id===kl?await(async()=>{let[e,t]=await Promise.all([gt({id:U?.id??``,path:W}),Tl(W)]),n=await vl(W,e.actions,t);if(!n)throw Error(a(`contextPanel.preview.noDevServer`));return{id:kl,name:a(`projectActions.actions.autoDiscover`),command:n.command,icon:`search`,autoOpenUrl:!0,openUrl:n.previewUrlHint||``}})():e,n=t.autoOpenUrl===!0&&(t.openUrl||``).trim().length>0,{key:r,tabId:i,sessionId:s}=await oe(t,{revealTerminal:!n&&e.id!==kl}),c=s,d=!1;if(!c){w(W,i,!0);try{c=(await o.createSession({cwd:W})).sessionId,d=!0,T(W,i,c)}finally{w(W,i,!1)}}if(!c)throw Error(a(`projectActions.error.failedToCreateTerminalSession`));d&&await El(350),t.id===kl&&(R.current[r]?.(),w(W,i,!0),R.current[r]=Re(c,e=>{e.type===`data`&&typeof e.data==`string`&&e.data.length>0&&Cs.getState().appendToBuffer(W,i,e.data),e.type===`exit`&&(Cs.getState().setTabLifecycle(W,i,`exited`),Cs.getState().setConnecting(W,i,!1),Cs.getState().removeProjectActionRun(r),delete L.current[r],R.current[r]?.(),delete R.current[r],window.clearTimeout(z.current[r]),delete z.current[r])},()=>{Cs.getState().setConnecting(W,i,!1)},{maxRetries:60,initialRetryDelay:250,maxRetryDelay:2e3,connectionTimeout:5e3}));let f=t.autoOpenUrl===!0&&l&&(t.desktopOpenSshForward||``).trim().length>0,p=t.autoOpenUrl?Ml(t.openUrl):null,m=t.autoOpenUrl&&l?Ec(t.desktopOpenSshForward,u):null;O({key:r,directory:W,actionId:t.id,tabId:i,sessionId:c,status:t.id===kl&&!p?`waiting-for-preview`:`running`}),window.clearTimeout(z.current[r]),delete z.current[r],t.id===kl&&!p&&(z.current[r]=window.setTimeout(()=>{Cs.getState().updateProjectActionRunStatus(r,`running`),delete z.current[r]},Al)),m?(E(W,i,null,{locked:!0}),te(m),J.success(a(`projectActions.toast.openedForwardedUrl`))):p?(E(W,i,p,{locked:!0,autoOpened:!0}),_(W,p),J.success(a(`projectActions.toast.openedActionUrl`))):n?(E(W,i,null,{locked:!0}),J.error(a(`projectActions.error.invalidCustomUrlFormat`))):f?(E(W,i,null,{locked:!0}),J.error(a(`projectActions.error.selectedDesktopSshForwardUnavailable`))):E(W,i,null,{locked:!1,autoOpened:!1}),L.current[r]={lastSeenChunkId:null,openedUrl:!!m||!!p||n,tail:``,openInPreview:t.id===kl};let h=jl(t.command.trim().replace(/\r\n|\r/g,`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-BkUqgPvz.js","assets/rolldown-runtime-C0FnF6B9.js","assets/runtime-fetch-zIalUnbb.js","assets/runtime-auth-D66yq6ie.js","assets/runtime-switch-LvWDU-SL.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-CxOoCv7B.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-pierre-diffs-DX7XTPG3.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/vendor-hast-util-to-html-B0p1k5Xa.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-DpDied8H.js","assets/vendor-reactuses-core-BnW6GxJt.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-CzXos-TI.js","assets/persistence-DwRBC4zl.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/store-DHdMj3y4.js","assets/dialog-gtFLyacK.js","assets/utils-2ZK8yboQ.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-D1BcR8Tz.js","assets/button-9R-WgVMl.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-DOfGg-A7.js","assets/appThemeRegistry-BRuvElyv.js","assets/platform-DQ5_LNKO.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/useMobileNavigationStore-CNpuVBEn.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-CLPCNoj_.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/MarkdownRenderer-Ck0GdWsh.js","assets/markdownHeightCache-BL8CUQ0M.js","assets/dualLimitLru-D8Sphgua.js","assets/markdown-worker-CptoICmq.js","assets/useEffectiveDirectory-1LhqeRsH.js","assets/imageSource-BlAJJUEI.js","assets/relay-image-stream-DM7atqJs.js","assets/useWorkerHighlightedLines-z7yMKbSr.js","assets/tooltip-DSjr26A_.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js","assets/TerminalView-D75fVyUc.js","assets/terminalApi-CfgOfnZk.js","assets/vendor-ghostty-web-HohRXr3g.js","assets/OverlayScrollbar-Bahg_P3r.js","assets/useRuntimeAPIs-DSLXJybW.js","assets/sortable-tabs-strip-BSzFYDAO.js","assets/vendor-dnd-kit-core-CvWxUPdb.js","assets/vendor-dnd-kit-accessibility-BY5LhhUB.js","assets/vendor-dnd-kit-sortable-hHdP9lLb.js","assets/useFontPreferences-DCaY8NbU.js","assets/projectActions-CWvNGKfA.js","assets/DiagramView-DZc-OYOG.js","assets/fileQueries-B_s_B-fH.js","assets/diagram-NdsZih8P.js","assets/vendor-react-drawio-ECtEwvbc.js","assets/SettingsView-B8DTddcL.js","assets/desktopHosts-B052a4UK.js","assets/desktopRelayRestore-OjKNXr10.js","assets/vendor-codemirror-autocomplete-DHomsvW7.js","assets/MobileShareBridge-71toeoY_.js","assets/MobileDetailNavigation-DsDo9Wi_.js","assets/AgentAvatar-Bk-m9q6w.js","assets/projectMeta-OucjgJJr.js","assets/gitApi-CL2Myx_e.js","assets/input-Cd_1HyQv.js","assets/textarea-DE1UrdtK.js","assets/useSessionAutoCleanup-hiDGV_VZ.js","assets/vendor-codemirror-lang-angular-DShkBD6m.js","assets/vendor-codemirror-lang-json-CYJRHck9.js","assets/vendor-codemirror-lang-markdown-WORgx6ZD.js","assets/vendor-codemirror-lang-python-Du6XQ8Zw.js","assets/vendor-codemirror-legacy-modes-DuRAjNvB.js","assets/vendor-simplewebauthn-browser-Dwhcdg_5.js","assets/dropdown-menu.styles-Bzo6L3FH.js","assets/vendor-codemirror-language-data-BfYFhIH1.js","assets/url-CMQwHq4k.js","assets/MobileSurface-DQ7ckeN6.js","assets/types-BuiqMmh_.js","assets/collapsible-Bbz9KiJf.js","assets/vendor-codemirror-commands-C9DCaJ0C.js","assets/vendor-codemirror-search-D2SOgzph.js","assets/vendor-replit-codemirror-vim-CEibx3EP.js","assets/context-menu-CSyOhRz8.js","assets/vendor-yaml-DIcAK3EC.js","assets/vendor-qrcode-DAuVxiQR.js","assets/vendor-dijkstrajs-DztKuCwY.js","assets/SettingsWindow-DC7meuIP.js","assets/MultiRunWindow-WmoZ6nx8.js","assets/multirun-DZJk1_Zk.js","assets/insertionBoundaries-D7rBkplR.js","assets/fileMentionTouchSelection-BHGsKCxs.js","assets/AssistantView-DhV6GhFz.js","assets/sessionChangeSummary-DKJxz5er.js","assets/sessionLookup-Bzs-d6ek.js","assets/assistant-attachment-cache-C0aRnFkj.js","assets/OnboardingScreen-Ql6mH4XV.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{c as t,p as n,t as r,v as i,w as a}from"./runtime-auth-D66yq6ie.js";import{c as o,f as s,o as c,r as l,s as u,t as d}from"./runtime-switch-LvWDU-SL.js";import{n as f}from"./runtime-fetch-zIalUnbb.js";import{$t as p,Bt as m,Cn as h,D as g,Dn as _,En as v,Lt as y,Mt as b,On as x,Qt as S,Tn as C,Yt as w,Zt as T,an as E,bn as D,en as O,fn as k,hn as A,jt as j,k as M,kn as N,lt as P,mn as F,n as I,nn as ee,on as L,qt as R,r as z,sn as B,t as V,tn as H,tt as U,wn as te}from"./persistence-DwRBC4zl.js";import{f as ne,h as W,l as re,o as G,r as ie,v as ae}from"./desktopHosts-B052a4UK.js";import{a as oe,i as se,t as ce}from"./vendor-zustand-B4dlGEM2.js";import{E as le,F as ue,I as de,N as fe,O as pe,P as me,T as he,a as ge,i as _e,nt as ve,rt as ye,tt as be}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as xe,Dt as Se,Et as Ce,It as we,Mt as Te,Nt as Ee,Pt as De,Tt as Oe,wt as ke}from"./platform-DQ5_LNKO.js";import{b as Ae,n as je,t as K,x as Me,y as Ne}from"./useUIStore-CxOoCv7B.js";import{o as Pe}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as q,t as Fe}from"./vendor-react-DLPElpoQ.js";import{n as Ie}from"./vendor-tanstack-react-query-D7pys_c9.js";import{a as Le,n as Re}from"./terminalApi-CfgOfnZk.js";/* empty css */import{W as ze,ct as Be}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{a as Ve}from"./vendor-pierre-diffs-DX7XTPG3.js";import{d as He,n as Ue,r as We,t as Ge}from"./vendor-reactuses-core-BnW6GxJt.js";import{a as Ke,i as qe,n as Je,o as Ye,r as Xe,t as Ze}from"./clipboard-CzXos-TI.js";import{n as Qe}from"./store-DHdMj3y4.js";import{g as $e}from"./MobileDetailNavigation-DsDo9Wi_.js";import{An as et,Bi as tt,Br as nt,Bt as rt,Do as it,Eo as at,Er as ot,Fa as st,Gn as ct,Gt as lt,Jt as ut,Kr as dt,Mr as ft,Na as pt,Nt as mt,Oo as ht,Pn as gt,Pt as _t,Qi as vt,Rt as yt,S as bt,To as xt,Un as St,Ut as Ct,Vr as wt,Wa as Tt,Wi as Et,Wt as Dt,Xi as Ot,Yn as kt,Zr as At,_ as jt,_n as Mt,an as Nt,ar as Pt,ba as Ft,bn as It,br as Lt,c as Rt,cn as zt,cr as Bt,d as Vt,da as Ht,dr as Ut,en as Wt,f as Gt,ft as Kt,go as qt,hn as Jt,hr as J,ir as Yt,jn as Xt,kn as Zt,ko as Qt,l as $t,ln as en,m as tn,ma as nn,mn as rn,mr as an,na as on,ni as sn,nn as cn,nr as ln,or as un,pa as dn,pn as fn,pr as pn,ra as mn,rn as hn,sa as gn,si as _n,sn as vn,sr as yn,ta as bn,ti as xn,tn as Sn,tr as Cn,u as wn,ua as Tn,ur as En,v as Dn,va as On,wn as kn,x as An,xa as jn,y as Mn,yn as Nn,zi as Pn,zt as Fn}from"./useMobileNavigationStore-CNpuVBEn.js";import{n as In}from"./useAssistantUIStore-CLPCNoj_.js";import{a as Ln,i as Rn,n as zn,o as Bn,r as Vn,t as Hn}from"./dialog-gtFLyacK.js";import{a as Un,c as Wn,i as Gn,n as Kn,o as qn,r as Jn,s as Yn,t as Y}from"./utils-2ZK8yboQ.js";import{n as X,t as Xn}from"./Icon-D1BcR8Tz.js";import{t as Z}from"./button-9R-WgVMl.js";import{A as Zn,C as Qn,D as $n,O as er,P as tr,T as nr,a as rr,f as ir,h as ar,i as or,j as sr,k as cr,m as lr,o as ur,p as dr,r as fr,t as pr,w as mr,y as hr}from"./gitApi-CL2Myx_e.js";import{$ as gr,A as _r,At as vr,B as yr,C as br,Ct as xr,D as Sr,Dt as Cr,E as wr,Et as Tr,F as Er,Ft as Dr,G as Or,H as kr,Ht as Ar,I as jr,It as Mr,J as Nr,K as Pr,L as Fr,Lt as Ir,M as Lr,Mt as Rr,N as zr,Nt as Br,O as Vr,Ot as Hr,Pt as Ur,Q as Wr,Rt as Gr,S as Kr,St as qr,Tt as Jr,U as Yr,V as Xr,Vt as Zr,W as Qr,X as $r,Z as ei,_ as ti,_t as ni,at as ri,b as ii,c as ai,d as oi,et as si,f as ci,ft as li,g as ui,gt as di,h as fi,ht as pi,i as mi,it as hi,j as gi,k as _i,kt as vi,l as yi,m as bi,mt as xi,n as Si,nt as Ci,ot as wi,p as Ti,pt as Ei,q as Di,rt as Oi,t as ki,tt as Ai,u as ji,ut as Mi,v as Ni,w as Pi,wt as Fi,x as Ii,xt as Li,y as Ri,yt as zi,z as Bi,zt as Vi}from"./useAppFontEffects-PwYVhdyQ.js";import{O as Hi,T as Ui,_ as Wi,a as Gi,b as Ki,f as qi,h as Ji,i as Yi,l as Xi,m as Zi,n as Qi,p as $i,s as ea,x as ta}from"./projectMeta-OucjgJJr.js";import{t as na}from"./input-Cd_1HyQv.js";import{i as ra,n as ia,r as aa,t as oa}from"./tooltip-DSjr26A_.js";import{B as sa,Et as ca,F as la,G as ua,I as da,It as fa,J as pa,L as ma,Lt as ha,P as ga,U as _a,V as va,X as ya,Y as ba,a as xa,b as Sa,c as Ca,et as wa,h as Ta,ht as Ea,i as Da,m as Oa,q as ka,s as Aa,tt as ja,u as Ma,w as Na,y as Pa}from"./useSessionAutoCleanup-hiDGV_VZ.js";import{n as Fa}from"./useThemeSystem-DMzWVJaW.js";import{i as Ia,o as La,t as Ra}from"./OverlayScrollbar-Bahg_P3r.js";import{s as za}from"./markdownTheme-DOfGg-A7.js";import{n as Ba,r as Va}from"./useRuntimeAPIs-DSLXJybW.js";import{M as Ha,_ as Ua,b as Wa,d as Ga,g as Ka,h as qa,j as Ja,p as Ya,v as Xa,x as Za,y as Qa}from"./insertionBoundaries-D7rBkplR.js";import{n as $a,t as eo}from"./appThemeRegistry-BRuvElyv.js";import{a as to,n as no,o as ro}from"./MarkdownRenderer-Ck0GdWsh.js";import{i as io,n as ao,r as oo,t as so}from"./dropdown-menu.styles-Bzo6L3FH.js";import{n as co,r as lo}from"./textarea-DE1UrdtK.js";import{_ as uo,g as fo,i as po,l as mo,n as ho,s as go,t as _o,v as vo,y as yo}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{a as bo,n as xo,o as So,s as Co,t as wo}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{a as To}from"./url-CMQwHq4k.js";import{c as Eo,d as Do,f as Oo,l as ko,s as Ao,u as jo}from"./markdown-worker-CptoICmq.js";import{n as Mo,t as No}from"./useEffectiveDirectory-1LhqeRsH.js";import{o as Po}from"./FadeInOnReveal-UGwClbL_.js";import{p as Fo,u as Io}from"./imageSource-BlAJJUEI.js";import{g as Lo}from"./useWorkerHighlightedLines-z7yMKbSr.js";import{r as Ro,s as zo,t as Bo}from"./sessionChangeSummary-DKJxz5er.js";import{t as Vo}from"./sortable-tabs-strip-BSzFYDAO.js";import{t as Ho}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{i as Uo,r as Wo,t as Go}from"./vendor-framer-motion-DFy_BSVd.js";import{$ as Ko,A as qo,B as Jo,C as Yo,D as Xo,M as Zo,N as Qo,O as $o,Q as es,R as ts,T as ns,W as rs,_ as is,b as as,d as os,f as ss,h as cs,j as ls,k as us,m as ds,p as fs,s as ps,v as ms,w as hs,x as gs,y as _s,z as vs}from"./MobileSurface-DQ7ckeN6.js";import{i as ys,n as bs,r as xs,t as Ss}from"./useDesktopWindowControlsLayout-DbVLYP--.js";import{n as Cs}from"./useFontPreferences-DCaY8NbU.js";import{$ as ws,A as Ts,B as Es,F as Ds,G as Os,I as ks,J as As,K as js,M as Ms,N as Ns,P as Ps,Q as Fs,R as Is,V as Ls,W as Rs,X as zs,Z as Bs,_ as Vs,a as Hs,at as Us,c as Ws,d as Gs,et as Ks,f as qs,g as Js,h as Ys,i as Xs,it as Zs,j as Qs,k as $s,l as ec,m as tc,n as nc,nt as rc,o as ic,ot as ac,p as oc,q as sc,r as cc,rt as lc,s as uc,tt as dc,u as fc,v as pc,y as mc,z as hc}from"./runtimeEndpointReset-OyMKgGCH.js";import{i as gc}from"./sessionLookup-Bzs-d6ek.js";import{a as _c,i as vc,n as yc,r as bc,t as xc}from"./context-menu-CSyOhRz8.js";import{n as Sc,r as Cc,t as wc}from"./collapsible-Bbz9KiJf.js";import{a as Tc,o as Ec,r as Dc,s as Oc,t as kc}from"./projectActions-CWvNGKfA.js";import{t as Ac}from"./diagram-NdsZih8P.js";import{a as jc,i as Mc,n as Nc,o as Pc,r as Fc,t as Ic}from"./multirun-DZJk1_Zk.js";import{t as Lc}from"./vendor-zumer-snapdom-yq9vlCKr.js";import{n as Rc,t as zc}from"./vendor-html-to-image-BDMm2v6d.js";var Q=e(ye(),1),Bc=Fe(),Vc=q(),$=ve();function Hc(e){let t=(0,Vc.c)(14),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({size:i,className:n,style:a,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=typeof i==`number`?`${i}px`:i,s=typeof i==`number`?`${i}px`:i,c;t[5]!==a||t[6]!==o||t[7]!==s?(c={width:o,height:s,...a},t[5]=a,t[6]=o,t[7]=s,t[8]=c):c=t[8];let l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`path`,{d:`M112,148a12,12,0,0,0-12,12v19L69.17,148.2A4,4,0,0,1,68,145.37V97.94a36,36,0,1,0-24,0v47.43a27.81,27.81,0,0,0,8.2,19.8L83,196H64a12,12,0,0,0,0,24h48a12,12,0,0,0,12-12V160A12,12,0,0,0,112,148ZM56,52A12,12,0,1,1,44,64,12,12,0,0,1,56,52ZM212,158.06V110.63a27.81,27.81,0,0,0-8.2-19.8L173,60h19a12,12,0,0,0,0-24H144a12,12,0,0,0-12,12V96a12,12,0,0,0,24,0V77l30.83,30.83a4,4,0,0,1,1.17,2.83v47.43a36,36,0,1,0,24,0ZM200,204a12,12,0,1,1,12-12A12,12,0,0,1,200,204Z`}),t[9]=l):l=t[9];let u;return t[10]!==n||t[11]!==r||t[12]!==c?(u=(0,$.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:`currentColor`,className:n,style:c,...r,children:l}),t[10]=n,t[11]=r,t[12]=c,t[13]=u):u=t[13],u}var Uc=[{id:`finder`,label:`Finder`,appName:`Finder`},{id:`terminal`,label:`Terminal`,appName:`Terminal`},{id:`iterm2`,label:`iTerm2`,appName:`iTerm`},{id:`ghostty`,label:`Ghostty`,appName:`Ghostty`},{id:`vscode`,label:`VS Code`,appName:`Visual Studio Code`},{id:`vscode-insiders`,label:`VS Code Insiders`,appName:`Visual Studio Code - Insiders`},{id:`intellij`,label:`IntelliJ`,appName:`IntelliJ IDEA`},{id:`visual-studio`,label:`Visual Studio`,appName:`Visual Studio`},{id:`cursor`,label:`Cursor`,appName:`Cursor`},{id:`android-studio`,label:`Android Studio`,appName:`Android Studio`},{id:`pycharm`,label:`PyCharm`,appName:`PyCharm`},{id:`xcode`,label:`Xcode`,appName:`Xcode`},{id:`sublime-text`,label:`Sublime`,appName:`Sublime Text`},{id:`webstorm`,label:`WebStorm`,appName:`WebStorm`},{id:`rider`,label:`Rider`,appName:`Rider`},{id:`zed`,label:`Zed`,appName:`Zed`},{id:`phpstorm`,label:`PhpStorm`,appName:`PhpStorm`},{id:`eclipse`,label:`Eclipse`,appName:`Eclipse`},{id:`windsurf`,label:`Windsurf`,appName:`Windsurf`},{id:`vscodium`,label:`VSCodium`,appName:`VSCodium`},{id:`rustrover`,label:`RustRover`,appName:`RustRover`},{id:`kiro`,label:`Kiro`,appName:`Kiro`},{id:`antigravity`,label:`Antigravity`,appName:`Antigravity`},{id:`trae`,label:`Trae`,appName:`Trae`}],Wc=`finder`,Gc=new Set([`finder`,`terminal`]),Kc=e=>typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`&&e.id===`finder`?{...e,label:`Explorer`,appName:`File Explorer`}:e,qc=e=>{if(!e)return null;let t=Uc.find(t=>t.id===e)??null;return t?Kc(t):null},Jc=()=>Uc.filter(e=>Gc.has(e.id)).map(e=>({...Kc(e)})),Yc=()=>{if(typeof window>`u`)return Wc;let e=window.localStorage.getItem(`openInAppId`);return e&&qc(e)?e:Wc},Xc=!1,Zc=!1,Qc=!1,$c=0,el=null,tl=()=>{el&&=(clearTimeout(el),null)},nl=oe()((e,t)=>({selectedAppId:Yc(),availableApps:Jc(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(Xc||typeof window>`u`)return;Xc=!0;let n=(t,n=!0)=>{if(!Array.isArray(t)||t.length===0){e({availableApps:Jc(),hasLoadedApps:n});return}let r=new Set(t.map(e=>e.name)),i=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0]));e({availableApps:Uc.filter(e=>r.has(e.appName)||Gc.has(e.id)).map(e=>({...Kc(e),iconDataUrl:i.get(e.appName)})),hasLoadedApps:!0})},r=async i=>{if(!S()||!T()||Zc||t().hasLoadedApps&&!i)return;let a=Uc.map(e=>e.appName);tl(),i&&e({hasLoadedApps:!1}),Zc=!0,Qc=!1,e({isScanning:!0});try{let{apps:t,success:o,hasCache:s,isCacheStale:c}=await m(a,i),l=o&&!s&&t.length===0&&$c<3;if(e({isCacheStale:s?c:!1}),n(t,o?!l:!1),o){if(l){let e=[800,1600,3200][$c]??3200;$c+=1,Qc=!0,el=setTimeout(()=>{r()},e);return}$c=0,Qc=!1;return}if($c<3){let e=[1e3,3e3,7e3][$c]??7e3;$c+=1,Qc=!0,el=setTimeout(()=>{r()},e)}}finally{Zc=!1,Qc||e({isScanning:!1})}};r(),window.addEventListener(`openchamber:settings-synced`,t=>{let n=t.detail,r=n&&typeof n.openInAppId==`string`&&n.openInAppId.length>0&&qc(n.openInAppId)?n.openInAppId:null;r&&(window.localStorage.setItem(`openInAppId`,r),e({selectedAppId:r}))}),window.addEventListener(`openchamber:app-ready`,()=>{r()}),window.addEventListener(`openchamber:installed-apps-updated`,t=>{let r=t.detail;Array.isArray(r)&&($c=3,Qc=!1,e({isScanning:!1,isCacheStale:!1}),n(r))}),window.__openchamberAppReady&&r(),window.setTimeout(()=>{t().hasLoadedApps||r()},5e3)},loadInstalledApps:async n=>{if(Xc||t().initialize(),!S()||!T()||Zc||t().hasLoadedApps&&!n)return;let r=Uc.map(e=>e.appName);tl(),n&&e({hasLoadedApps:!1}),Zc=!0,Qc=!1,e({isScanning:!0});try{let{apps:t,hasCache:i,isCacheStale:a}=await m(r,n),o=new Set(t.map(e=>e.name)),s=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0])),c=Uc.filter(e=>o.has(e.appName)||Gc.has(e.id)).map(e=>({...e,iconDataUrl:s.get(e.appName)}));e({availableApps:c.length>0?c:Jc(),hasLoadedApps:c.length>0,isCacheStale:i?a:!1})}finally{Zc=!1,Qc||e({isScanning:!1})}},selectApp:async t=>{qc(t)&&(e({selectedAppId:t}),typeof window<`u`&&window.localStorage.setItem(`openInAppId`,t),await z({openInAppId:t}))}})),rl=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAeGVYSWZNTQAqAAAACAAEARoABQAAAAEAAAA+ARsABQAAAAEAAABGASgAAwAAAAEAAgAAh2kABAAAAAEAAABOAAAAAAAAAJAAAAABAAAAkAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAAB+C9pSAAAACXBIWXMAABYlAAAWJQFJUiTwAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yNTY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjU2PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cl6wHhsAAAXaSURBVFgJ7VddbBRVFP5mdme6dOnu2tZawOAPjfxU+bGQYCRAsvw8qNGEQPTRJ0I0amL0wfjgA/HBR8KLD8YgDxJEUkVFxSYYTSRii6DQQCMGIQqlW7p0u+zMzo/fuTuzO9Nt0Td94CRn7pl7z5zznZ977y5wh/7jDGiz+T979qD5Ujbfd90xlll+stOF1uI40B1+4HhkjnZk9CgLQ9iXp2/BdcbgVc/h0sAgduywudJEMwLY9Of4ugtW5p3CpL7W1jTN88VmjdQYvnDKF1mczkYuNZLeCVg3X8fa9u+nqzUB2HRpdN2pSseRQknPoUL1Jo2ICTrPGcCzdwPdHENcAnicKRqcAk7cpL5J1r0JlAtPYV1XDETM/FtH3m19r+f5by+XjNX/xnmCX3/cCzydi4CKiC7lw+PArhGgoPPFq/6E0+9vwM6d5VBNpuv03cLNfeNTRh9KnJIiV2/PvSngycC5RD+dE5zb3g7s6QESzAZc2l6wuY9SnWIAxv10r81uU85Vt1FvtpEtlc/SMFUkUofeZ2IBta0DWDmXgkfbyTRz1qAYAMczOz3p1elOxYPyEllj421hdELViPO6Kudk3ia3UGe5ABDbvtnJZ52SdYmCZ3stdeexBabFdeAbYopEowtagVUZqFapBrtAGqpiVaFrGgyjZlrmTD5yEqoEJj4iFMuA62i6L3WPZkAiuHgarZ/vbWSBkTzO2rfTR4XOJVJhjfX44MBn+OTocVWbcF5MalxXPeVL6zYonoGo44YOtDI7qHC1lkL5nHnOc+tJRi3K6iygLNGMjt1A1XVV6iUzOvVtAvMlS2I/yBYlRf8MgA6szmXQ1jDfKhSgjft6DRtrkgarAiAw5nI9v2WDSn+Zxfd9DawGxIlPPQUg0A2HGABfEIYlCDU4+q0d8O+jRzHCCFYy+nu4BaeYAoksBCDrPYsXQQ6iitgiSQaS1FHHtMzFil4DpxTl4UhORSn4WOaaiGsbu4iFRkMnYQlEV0oSJQGQ4FyYgSRDjpqPZcCR6EOOWonIEsBqArAIQOMLzw0VXRRERF2VoA6Atk1+MzsASekMJYgaFEeHR4Cr85lNGntYzgKCYd/NSNIDCXr0ZJ2jwTsjSvEMzFQCCVmKHBRahn2DNb4rDRx8pnbXOOIg0JELLMHOF1AUkaRj1V8c2TookkMS83WK9QCVpRwtf5wCykQWRKDyJ44Ytc452QUV6inmN9IDIv/6y2+YLDuqTywBEHxv8rsoxQC4Fpf4cZ2pbJ4/huxXr0EvFmoRCrAIVymLQ3Eid0GJYPsPfISBLwdwi79YQnCqBNS7LQDP5qYSAKEDypOrX4WVWYLsFy+i9cwh6CUmUKIJI2Gq5cSbnLLw849D2Ld3L4olC1u3P0c1ow5Ozgixa3puWChONG1D3eLZUQOglvng+Vp5dBfseesx5/yHyI4cBTL3wsssRGs2g6/ppHijiMLoNSSMNHofy6Nn6SPsAR02nUoTtrDTSrdoi8CTni55rlOsCf1ypaDxlFMNU1epCV5XL6Y6dmOq+BeS48NIlq7Anpjg5dOFbPdDWLQyj/aubnUKSkMKi3NhkUd4kieYtbRbYS0bFAOQKI8NO363z1RJHmamtnlwhGksxV2w/gl29WRtm8kWtWUnRShLnQvXgDOXmLg2HzlvbDiyHD8Y517YP2i4FtueFPbB9FFqKcyobk4A5y7zquUFa7IXojyHoeXmAFcY755vaI6A56Xsofm/7+cmblBTpOldQ5vs3PJDVS+RVSAaus2SpJTO80t4NTNSOQfCDrtFkBevA0ME6HGvPdDpFlekzm7rf3nFQNRQEwBZTL9warObWfx21Uv1+fx1ERqVNampGoOHpF1tsdp07RnoGMxK1vT97rbK4IP6+Tc+fWXVsahaYGL6VO09d//GXHXr7jVeqmuppqU6ff4x0RO6lqRxgxHJpWKSlcw5eWfjq5rq/CdhaL5l6JWxjDc6bP7w5sn+/uMs2B36H2bgb6v9raK0+o9IAAAAAElFTkSuQmCC`,il=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAeGVYSWZNTQAqAAAACAAEARoABQAAAAEAAAA+ARsABQAAAAEAAABGASgAAwAAAAEAAgAAh2kABAAAAAEAAABOAAAAAAAAAJAAAAABAAAAkAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAAB+C9pSAAAACXBIWXMAABYlAAAWJQFJUiTwAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yNTY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjU2PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cl6wHhsAAAQzSURBVFgJ7VZNbBNHFH67Xv9RxwnBDqlUoQglcZK6qSIEJIQWAYJQoVY9IE5RTzn20FMvqdpDesq9B24+NdwthAJCkZChJg1JSOXYQIwQKQIaBdtENbs73t2+N8miGWOcpFHUHniyd97OvJ9v3nv7ZgDe038cAeVd/jOZjC94sKdfU+Bj24G9igpexwYPyiu2bauKqqqirkOTqmrjnIOyFsoyUKDocSCj/7mU7ujoMER5l68JYOFZ4YSiwPjd9O0jjx7ch1KhAJZVAcdx0LxDv3XetYKjggr4I4bzHo8G4aYmONjZBYf6+2dUzfd9PNowJajUZmef/PX5zcWl0rmvvnbQHrra+f/M+S+dqYXs2t3Hz09Ve5UicCmZ3NPb1Zv66btv+65dSULA64WGxkbw+Xx8V9XK9d4pWowxeFUqgW6acHroC/j5l0sLD/PZY98MDf3t6mouQ+On3X1H7/2e7rtOztHpgbY2+CAUgperq+D3+7cNgtLSEA7D0+VluDF5FS7cSff2HT56DF1dd/3KhQTWJ/lclsc8jIrk9IfRURgZGQEvRqNSWa8D2t1W/liXXK8Ro0i0lF0ExaPEXec0SgAqhrm3VCzwdS9GQNd1GBsbg0AgAIlEAlpbW7EYLVF/U56AagieiGwbuhERlSQApmEE8c/XKXxU0fF4HNowFfPz81Aul7edBjLGbeHITANsZga4g42HVAM2Y74KM/kSIQ/izgcHB2FiYgJmZmZ4MZpYULRG5PF4+Bx/2cLDxuhhYUqFLwGoWCaQEBGhNjAa4+Pj/J3SQA6pHpqbm/kcNitIJpOgaZIZvlbrQbZNJvcjSZOZDKhwRKLic4l2Pjc3B8FgkE+trKxAVUN0RWuOZNtCHyJJACj/bgREIZcnA9PT029SQM63unuywSOwUWOuTQmAhfmnlluPxIjUk6u1RrbJh0jyV0Ap2OZnJhrbjOcRqEqBBMDCAtltAORDJAkAVj2mWS5CUXinPDUx+oxFkgBYjO0qANu2wKoqQgkAfgW7C4AiYMmfoQSgwpjj7GYRUh/Q66SAmdisNxql227FfP1bXrRlVExdtCNHwDRLdPkgwmi8OUREhe3y1NLJFpEfbWMNvBRtSI2o+KqYi+zbx4NQwptMCO8E1HjEHYjKm/HknG5FZIsCG4lEoLS2lhP1JAB3bt1KH//s+GJPd3dPJpvlN5kwXiYIhHukisr1eAItXsm6YzGItrTcn5+dvS3qSQBSqVQhFouNnj039CsaCC7mcqDjgbNT6op1AtrU8Wo3Ojk5KaVAOptdR8PDwxf3t7SMvXjxvJNOPP31a35Krt8CXKl3j2SUDip/IAjRaBRaP9z/cHW18GMikbhcrVUTAAm1t7d/NDAwcDIUCvVqmtqkyLe3ajtvvTtg4x3SLpbLa3+kUr9N5fP55beE3k/8HyLwDx2/HIx7q3WfAAAAAElFTkSuQmCC`,al=e=>({...e,fallbackIconDataUrl:e.id===`finder`&&window.__OPENCHAMBER_PLATFORM__!==`win32`?rl:e.id===`terminal`?il:void 0}),ol=e=>{let t=(0,Vc.c)(8),{label:n,iconDataUrl:r,fallbackIconDataUrl:i}=e,[a,o]=Q.useState(!1),s;t[0]===n?s=t[1]:(s=n.trim().slice(0,1).toUpperCase()||`?`,t[0]=n,t[1]=s);let c=s,l=r||i;if(l&&!a){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>o(!0),t[2]=e):e=t[2];let n;return t[3]===l?n=t[4]:(n=(0,$.jsx)(`img`,{src:l,alt:``,className:`h-4 w-4 rounded-sm`,onError:e}),t[3]=l,t[4]=n),n}let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=Y(`h-4 w-4 rounded-sm flex items-center justify-center`,`bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground`),t[5]=u):u=t[5];let d;return t[6]===c?d=t[7]:(d=(0,$.jsx)(`span`,{className:u,children:c}),t[6]=c,t[7]=d),d},sl=e=>{let t=(0,Vc.c)(74),{directory:n,className:r}=e,{t:i}=Je(),a=nl(cl),o=nl(ll),s=nl(ul),c=nl(dl),l=nl(fl),u=nl(pl),d=nl(ml),f,p;t[0]===l?(f=t[1],p=t[2]):(f=()=>{l()},p=[l],t[0]=l,t[1]=f,t[2]=p),Q.useEffect(f,p);let m=S()&&T(),h;bb0:{let e;t[3]!==o||t[4]!==a?(e=o.find(e=>e.id===a)??o.find(hl)??o[0]??Uc[0],t[3]=o,t[4]=a,t[5]=e):e=t[5];let n=e;if(n){let e;t[6]===n?e=t[7]:(e=al(n),t[6]=n,t[7]=e),h=e;break bb0}let r;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(r=al(Uc[0]),t[8]=r):r=t[8],h=r}let g=h;if(!m||!n||o.length===0)return null;let _;t[9]===n?_=t[10]:(_=async e=>{await B(n,e.id,e.appName)||await L(n,e.appName)},t[9]=n,t[10]=_);let v=_,y;t[11]!==v||t[12]!==d?(y=async e=>{await d(e.id),await v(e)},t[11]=v,t[12]=d,t[13]=y):y=t[13];let b=y,x;t[14]===n?x=t[15]:(x=async()=>{await Ze(n)},t[14]=n,t[15]=x);let C=x,w;t[16]===r?w=t[17]:(w=Y(`app-region-no-drag inline-flex h-7 items-center self-center rounded-[9px] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[50px]`,`bg-[var(--surface-elevated)] overflow-hidden`,`border border-border/60`,r),t[16]=r,t[17]=w);let E;t[18]!==v||t[19]!==g?(E=()=>void v(g),t[18]=v,t[19]=g,t[20]=E):E=t[20];let D=c&&`animate-pulse`,O;t[21]===D?O=t[22]:(O=Y(`inline-flex h-full items-center px-2.5 typography-ui-label font-medium`,`text-foreground hover:bg-interactive-hover transition-colors`,D),t[21]=D,t[22]=O);let k;t[23]!==g.label||t[24]!==i?(k=i(`openInApp.actions.openInAria`,{app:g.label}),t[23]=g.label,t[24]=i,t[25]=k):k=t[25];let A;t[26]!==g.fallbackIconDataUrl||t[27]!==g.iconDataUrl||t[28]!==g.label?(A=(0,$.jsx)(ol,{label:g.label,iconDataUrl:g.iconDataUrl,fallbackIconDataUrl:g.fallbackIconDataUrl}),t[26]=g.fallbackIconDataUrl,t[27]=g.iconDataUrl,t[28]=g.label,t[29]=A):A=t[29];let j;t[30]!==O||t[31]!==k||t[32]!==A||t[33]!==E?(j=(0,$.jsx)(`button`,{type:`button`,onClick:E,className:O,"aria-label":k,children:A}),t[30]=O,t[31]=k,t[32]=A,t[33]=E,t[34]=j):j=t[34];let M;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(M=Y(`inline-flex h-full w-7 items-center justify-center`,`border-l border-[var(--interactive-border)] text-muted-foreground`,`hover:bg-interactive-hover hover:text-foreground transition-colors`),t[35]=M):M=t[35];let N;t[36]===i?N=t[37]:(N=i(`openInApp.actions.chooseAppAria`),t[36]=i,t[37]=N);let P;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-4 w-4`}),t[38]=P):P=t[38];let F;t[39]===N?F=t[40]:(F=(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:M,"aria-label":N,children:P})}),t[39]=N,t[40]=F);let I;t[41]===C?I=t[42]:(I=()=>void C(),t[41]=C,t[42]=I);let ee;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(X,{name:`file-copy`,className:`h-4 w-4`}),t[43]=ee):ee=t[43];let R;t[44]===i?R=t[45]:(R=i(`openInApp.actions.copyPath`),t[44]=i,t[45]=R);let z;t[46]===R?z=t[47]:(z=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:R}),t[46]=R,t[47]=z);let V;t[48]!==I||t[49]!==z?(V=(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:I,children:[ee,z]}),t[48]=I,t[49]=z,t[50]=V):V=t[50];let H;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(sa,{}),t[51]=H):H=t[51];let U;if(t[52]!==o||t[53]!==b||t[54]!==g.id){let e;t[56]!==b||t[57]!==g.id?(e=e=>{let t=al(e);return(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>void b(e),children:[(0,$.jsx)(ol,{label:e.label,iconDataUrl:e.iconDataUrl,fallbackIconDataUrl:t.fallbackIconDataUrl}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e.label}),g.id===e.id?(0,$.jsx)(X,{name:`check`,className:`ml-auto h-4 w-4 text-primary`}):null]},e.id)},t[56]=b,t[57]=g.id,t[58]=e):e=t[58],U=o.map(e),t[52]=o,t[53]=b,t[54]=g.id,t[55]=U}else U=t[55];let te;t[59]!==s||t[60]!==u||t[61]!==i?(te=s?(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>void u(!0),children:[(0,$.jsx)(X,{name:`refresh`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:i(`openInApp.actions.refreshApps`)})]}):null,t[59]=s,t[60]=u,t[61]=i,t[62]=te):te=t[62];let ne;t[63]!==V||t[64]!==U||t[65]!==te?(ne=(0,$.jsxs)(la,{align:`end`,className:`w-56 max-h-[70vh] overflow-y-auto`,children:[V,H,U,te]}),t[63]=V,t[64]=U,t[65]=te,t[66]=ne):ne=t[66];let W;t[67]!==F||t[68]!==ne?(W=(0,$.jsxs)(ga,{children:[F,ne]}),t[67]=F,t[68]=ne,t[69]=W):W=t[69];let re;return t[70]!==j||t[71]!==W||t[72]!==w?(re=(0,$.jsxs)(`div`,{className:w,children:[j,W]}),t[70]=j,t[71]=W,t[72]=w,t[73]=re):re=t[73],re};function cl(e){return e.selectedAppId}function ll(e){return e.availableApps}function ul(e){return e.isCacheStale}function dl(e){return e.isScanning}function fl(e){return e.initialize}function pl(e){return e.loadInstalledApps}function ml(e){return e.selectApp}function hl(e){return e.id===Wc}var gl=[{pattern:/^dev(:.*)?$/i},{pattern:/^start(:.*)?$/i},{pattern:/^preview(:.*)?$/i},{pattern:/^serve(:.*)?$/i},{pattern:/^develop(:.*)?$/i}],_l=[`dev`,`start`,`preview`,`serve`];async function vl(e,t,n){if(!e)return null;let r=xl(t);if(r)return{command:r.command,label:r.name||`Start Preview`,actionId:r.id};if(n){let t=Sl(n);if(t){let n=await Cl(e);return{command:`${n===`npm`?`npm run`:n===`yarn`?`yarn`:n===`pnpm`?`pnpm`:n===`bun`?`bun run --shell=bun`:`npm run`} ${t}`,label:`Start (${t})`}}}if(await yl(e)){let e=await bl(),t=typeof e==`number`&&Number.isFinite(e)&&e>0?e:8e3;return{command:`python3 -m http.server ${t}`,label:`Static preview`,previewUrlHint:`http://127.0.0.1:${t}/`}}return null}async function yl(e){let t=await wl(`${e}/index.html`,e);return typeof t==`string`&&t.trim().length>0}async function bl(){try{let e=await f(`/api/system/free-port`,{cache:`no-store`});if(!e.ok)return null;let t=await e.json().catch(()=>null),n=typeof t?.port==`number`?t.port:null;return n&&Number.isFinite(n)?n:null}catch{return null}}function xl(e){for(let t of e){let e=`${t.name} ${t.command}`.toLowerCase();if(_l.some(t=>e.includes(t)))return t}return null}function Sl(e){for(let{pattern:t}of gl)for(let n of Object.keys(e))if(t.test(n))return n;return null}async function Cl(e){let t=await wl(`${e}/package.json`,e);if(t)try{let e=JSON.parse(t),n=typeof e.packageManager==`string`?e.packageManager.toLowerCase():``;if(n.startsWith(`bun@`))return`bun`;if(n.startsWith(`pnpm@`))return`pnpm`;if(n.startsWith(`yarn@`))return`yarn`;if(n.startsWith(`npm@`))return`npm`}catch{}for(let[t,n]of[[`bun.lock`,`bun`],[`bun.lockb`,`bun`],[`pnpm-lock.yaml`,`pnpm`],[`yarn.lock`,`yarn`],[`package-lock.json`,`npm`]]){let r=await wl(`${e}/${t}`,e);if(typeof r==`string`&&r.trim().length>0)return n}return`npm`}async function wl(e,t){if(t?.trim())try{let n=new URLSearchParams({path:e,directory:t,optional:`true`}),r=await f(`/api/fs/read?${n.toString()}`,{cache:`no-store`});if(r.ok)return r.text()}catch{}let n=h()?.files;if(n?.readFile)try{let t=await n.readFile(e,{optional:!0});return typeof t?.content==`string`?t.content:null}catch{return null}try{let t=await f(`/api/fs/read?path=${encodeURIComponent(e)}&optional=true`,{cache:`no-store`});return t.ok?t.text():null}catch{return null}}async function Tl(e){try{let t=await wl(`${e}/package.json`,e);if(t==null)return null;let n=JSON.parse(t).scripts;return n&&typeof n==`object`&&!Array.isArray(n)?n:null}catch{return null}}var El=e=>new Promise(t=>{window.setTimeout(t,e)}),Dl=RegExp(`\x1B\\[[0-9;?]*[ -/]*[@-~]`,`g`),Ol=/https?:\/\/[^\s<>'"`]+/gi,kl=`__openchamber_auto_discover_preview__`,Al=15e3,jl=e=>{let t=``;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);r>=0&&r<=8||r===11||r===12||r>=14&&r<=31||r===127||(t+=e[n])}return t},Ml=e=>{let t=(e||``).trim();if(!t)return null;let n=/^https?:\/\//i.test(t)?t:`http://${t}`;try{let e=new URL(n);return e.protocol!==`http:`&&e.protocol!==`https:`?null:e.toString()}catch{return null}},Nl=e=>{let t=e.replace(Dl,``).match(Ol);if(!t||t.length===0)return null;let n=t.map(e=>e.replace(/[),.;]+$/,``)).filter(Boolean);if(n.length===0)return null;let r=[];for(let e of n)try{let t=new URL(e);t.port&&t.port.length>0&&r.push({raw:e,parsed:t})}catch{}if(r.length>0){let e=e=>{let{parsed:t}=e,n=t.hostname.toLowerCase(),r=n===`localhost`||n===`127.0.0.1`||n===`0.0.0.0`||n===`::1`,i=t.pathname||`/`,a=i.split(`/`).filter(Boolean).length,o=i===`/`||i===``,s=!!(t.search||t.hash),c=0;return r&&(c+=50),o&&(c+=30),c-=Math.min(a*5,20),s&&(c-=10),c};return r.sort((t,n)=>e(n)-e(t)),r[0]?.parsed.origin??r[0]?.raw??null}return n[0]??null},Pl=({projectRef:e,directory:t,className:n,compact:r=!1,allowMobile:i=!1})=>{let{t:a}=Je(),{terminal:o,runtime:s}=Ba(),{isMobile:c}=Ia(),l=Q.useMemo(()=>S(),[]),u=ns(e=>e.instances),d=ns(e=>e.load),f=K(e=>e.setBottomTerminalOpen),p=K(e=>e.setActiveMainTab),m=K(e=>e.setSettingsPage),h=K(e=>e.setSettingsDialogOpen),g=K(e=>e.setSettingsProjectsSelectedId),_=K(e=>e.openContextPreview),v=Cs(e=>e.sessions),y=Cs(e=>e.ensureDirectory),b=Cs(e=>e.setTabLabel),x=Cs(e=>e.setTabIconKey),C=Cs(e=>e.setActiveTab),w=Cs(e=>e.setConnecting),T=Cs(e=>e.setTabSessionId),E=Cs(e=>e.setTabPreviewUrl),D=Cs(e=>e.projectActionRuns),O=Cs(e=>e.setProjectActionRun),k=Cs(e=>e.updateProjectActionRunStatus),A=Cs(e=>e.removeProjectActionRun),[j,M]=Q.useState([]),[N,P]=Q.useState(null),[F,I]=Q.useState(!1),ee=Q.useRef({}),L=Q.useRef({}),R=Q.useRef({}),z=Q.useRef({}),B=Q.useRef(0),V=e?.id??null,H=e?.path??``,U=Q.useMemo(()=>V?{id:V,path:H}:null,[V,H]);Q.useEffect(()=>{l&&d().catch(()=>void 0)},[l,d]);let te=Q.useCallback(async e=>{await To(e)},[]),ne=Q.useCallback(async()=>{if(!U)return;let e=B.current+1;B.current=e,I(!0);try{let t=await gt(U);if(B.current!==e)return;let n=t.actions;M(n),P(e=>e===kl||e&&n.some(t=>t.id===e)?e:null)}catch{if(B.current!==e)return}finally{B.current===e&&I(!1)}},[U]),W=Q.useMemo(()=>Tc(t||U?.path||``),[t,U?.path]),re=Q.useMemo(()=>N?j.find(e=>e.id===N)??null:null,[j,N]),G=Q.useMemo(()=>({id:kl,name:a(`projectActions.actions.autoDiscover`),command:``,icon:`search`,autoOpenUrl:!0}),[a]),ie=!c,ae=Q.useMemo(()=>ie?[G,...j]:j,[j,G,ie]);Q.useEffect(()=>{ne()},[ne]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=e=>{let t=e.detail;V&&(t?.projectId&&t.projectId!==V||ne())};return window.addEventListener(kc,e),()=>{window.removeEventListener(kc,e)}},[ne,V]),Q.useEffect(()=>{N&&(N===kl&&ie||j.some(e=>e.id===N)||P(null))},[j,ie,N]),Q.useEffect(()=>{for(let[e,t]of Object.entries(D)){let n=v.get(t.directory)?.tabs.find(e=>e.id===t.tabId);(!n||n.terminalSessionId!==t.sessionId)&&A(e)}},[D,A,v]),Q.useEffect(()=>{for(let[e,t]of Object.entries(D)){let n=L.current[e]??{lastSeenChunkId:null,openedUrl:!1,tail:``,openInPreview:!1};L.current[e]=n;let r=ae.find(e=>e.id===t.actionId);if(!r)continue;let i=v.get(t.directory)?.tabs.find(e=>e.id===t.tabId);if(!i||!Array.isArray(i.bufferChunks)||i.bufferChunks.length===0)continue;let o=i.bufferChunks.filter(e=>n.lastSeenChunkId===null||e.id>n.lastSeenChunkId);if(o.length===0)continue;let s=o.map(e=>e.data).join(``),c=`${n.tail}${s}`,l=!n.openedUrl&&r.autoOpenUrl===!0?Nl(c):null;if(n.lastSeenChunkId=o[o.length-1]?.id??n.lastSeenChunkId,n.tail=c.slice(-512),l)if(n.openedUrl=!0,n.openInPreview){let t=D[e];t&&(E(t.directory,t.tabId,l,{locked:!1,autoOpened:!1}),t.status===`waiting-for-preview`&&k(e,`running`),window.clearTimeout(z.current[e]),delete z.current[e],_(t.directory,l))}else te(l),J.success(a(`projectActions.toast.openedUrlFromOutput`));L.current[e]=n}for(let e of Object.keys(L.current))D[e]||(delete L.current[e],window.clearTimeout(z.current[e]),delete z.current[e])},[ae,_,te,D,E,a,v,k]);let oe=Q.useCallback(async(e,t={})=>{if(!W)throw Error(a(`projectActions.error.noActiveDirectory`));let n=Oc(W,e.id);y(W);let r=Cs.getState(),i=r.getDirectoryState(W),o=ee.current[n]||null,s=o?!!i?.tabs.some(e=>e.id===o):!1;(!o||!s)&&(o=r.createTab(W),ee.current[n]=o),b(W,o,`Action: ${e.name}`),x(W,o,e.icon||`play`),t.revealTerminal!==!1&&(C(W,o),f(!0),p(`terminal`));let c=Cs.getState().getDirectoryState(W)?.tabs.find(e=>e.id===o);return{key:n,tabId:o,sessionId:c?.terminalSessionId??null}},[y,W,p,C,f,x,b,a]),se=Q.useCallback(async e=>{if(s.isVSCode||!i&&c)return;if(!W){J.error(a(`projectActions.error.noActiveDirectoryForAction`));return}let t=Oc(W,e.id),n=D[t];if(!(n&&n.status===`running`))try{let t=e.id===kl?await(async()=>{let[e,t]=await Promise.all([gt({id:U?.id??``,path:W}),Tl(W)]),n=await vl(W,e.actions,t);if(!n)throw Error(a(`contextPanel.preview.noDevServer`));return{id:kl,name:a(`projectActions.actions.autoDiscover`),command:n.command,icon:`search`,autoOpenUrl:!0,openUrl:n.previewUrlHint||``}})():e,n=t.autoOpenUrl===!0&&(t.openUrl||``).trim().length>0,{key:r,tabId:i,sessionId:s}=await oe(t,{revealTerminal:!n&&e.id!==kl}),c=s,d=!1;if(!c){w(W,i,!0);try{c=(await o.createSession({cwd:W})).sessionId,d=!0,T(W,i,c)}finally{w(W,i,!1)}}if(!c)throw Error(a(`projectActions.error.failedToCreateTerminalSession`));d&&await El(350),t.id===kl&&(R.current[r]?.(),w(W,i,!0),R.current[r]=Re(c,e=>{e.type===`data`&&typeof e.data==`string`&&e.data.length>0&&Cs.getState().appendToBuffer(W,i,e.data),e.type===`exit`&&(Cs.getState().setTabLifecycle(W,i,`exited`),Cs.getState().setConnecting(W,i,!1),Cs.getState().removeProjectActionRun(r),delete L.current[r],R.current[r]?.(),delete R.current[r],window.clearTimeout(z.current[r]),delete z.current[r])},()=>{Cs.getState().setConnecting(W,i,!1)},{maxRetries:60,initialRetryDelay:250,maxRetryDelay:2e3,connectionTimeout:5e3}));let f=t.autoOpenUrl===!0&&l&&(t.desktopOpenSshForward||``).trim().length>0,p=t.autoOpenUrl?Ml(t.openUrl):null,m=t.autoOpenUrl&&l?Ec(t.desktopOpenSshForward,u):null;O({key:r,directory:W,actionId:t.id,tabId:i,sessionId:c,status:t.id===kl&&!p?`waiting-for-preview`:`running`}),window.clearTimeout(z.current[r]),delete z.current[r],t.id===kl&&!p&&(z.current[r]=window.setTimeout(()=>{Cs.getState().updateProjectActionRunStatus(r,`running`),delete z.current[r]},Al)),m?(E(W,i,null,{locked:!0}),te(m),J.success(a(`projectActions.toast.openedForwardedUrl`))):p?(E(W,i,p,{locked:!0,autoOpened:!0}),_(W,p),J.success(a(`projectActions.toast.openedActionUrl`))):n?(E(W,i,null,{locked:!0}),J.error(a(`projectActions.error.invalidCustomUrlFormat`))):f?(E(W,i,null,{locked:!0}),J.error(a(`projectActions.error.selectedDesktopSshForwardUnavailable`))):E(W,i,null,{locked:!1,autoOpened:!1}),L.current[r]={lastSeenChunkId:null,openedUrl:!!m||!!p||n,tail:``,openInPreview:t.id===kl};let h=jl(t.command.trim().replace(/\r\n|\r/g,`
|
|
3
3
|
`));await o.sendInput(c,`${h}\r`)}catch(e){A(t),delete L.current[t],R.current[t]?.(),delete R.current[t],window.clearTimeout(z.current[t]),delete z.current[t],J.error(e instanceof Error?e.message:a(`projectActions.error.failedToRunAction`))}},[u,oe,i,c,l,W,te,_,D,s.isVSCode,A,w,O,E,T,U?.id,a,o]),ce=Q.useCallback(async e=>{let t=Oc(W,e.id),n=D[t];if(n){k(t,`stopping`);try{await o.sendInput(n.sessionId,``)}catch{}if(await new Promise(e=>{window.setTimeout(e,1e3)}),Cs.getState().getDirectoryState(n.directory)?.tabs.find(e=>e.id===n.tabId)?.terminalSessionId===n.sessionId){if(typeof o.forceKill==`function`)try{await o.forceKill({sessionId:n.sessionId})}catch{}else try{await o.close(n.sessionId)}catch{}T(n.directory,n.tabId,null)}A(t),delete L.current[t],R.current[t]?.(),delete R.current[t],window.clearTimeout(z.current[t]),delete z.current[t]}},[W,D,A,T,o,k]),le=Q.useCallback(()=>{let e=re??ae[0];if(!e)return;let t=Oc(W,e.id),n=D[t];if(n?.status!==`stopping`){if(n){ce(e);return}se(e)}},[ae,W,se,D,re,ce]),ue=Q.useCallback((e,t=!1)=>{if(P(e.id),!t){se(e);return}let n=Oc(W,e.id),r=D[n];if(r?.status!==`stopping`){if(r){ce(e);return}se(e)}},[W,se,D,ce]),de=Q.useCallback(()=>{U?.id&&(g(U.id),m(`projects`),h(!0))},[h,m,g,U?.id]);if(s.isVSCode||!i&&c||!U||!W)return null;let fe=re??ae[0]??null;if(!fe)return null;let pe=fe.icon||`play`,me=fe.id===kl?`search`:Dc[pe]||`play`,he=D[Oc(W,fe.id)],ge=he?.status===`stopping`,_e=he?.status===`waiting-for-preview`,ve=he?v.get(he.directory)?.tabs.find(e=>e.id===he.tabId)?.previewUrl??null:null,ye=!!(he&&ve),be=()=>{!he||!ve||_(he.directory,ve)};return r?(0,$.jsxs)(`div`,{className:`inline-flex items-center`,children:[(0,$.jsx)(`button`,{type:`button`,disabled:F||ge,className:Y(`app-region-no-drag inline-flex h-9 w-9 items-center justify-center rounded-[10px] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[50px] p-2`,`typography-ui-label font-medium text-muted-foreground hover:bg-interactive-hover hover:text-foreground transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,`disabled:cursor-not-allowed`,n),onClick:le,"aria-label":a(he?`projectActions.actions.stopNamedAria`:`projectActions.actions.runNamedAria`,{name:fe.name}),children:ge||_e?(0,$.jsx)(X,{name:`loader-4`,className:`h-5 w-5 animate-spin text-[var(--status-warning)]`}):he?(0,$.jsx)(X,{name:`stop`,className:`h-5 w-5 text-[var(--status-warning)]`}):(0,$.jsx)(X,{name:me,className:`h-5 w-5`})}),ye?(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`app-region-no-drag -ml-1 inline-flex h-9 w-7 items-center justify-center rounded-[10px] text-muted-foreground hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":a(`projectActions.actions.openPreview`),onClick:be,children:(0,$.jsx)(X,{name:`global`,className:`h-4 w-4`})})}),(0,$.jsx)(ia,{sideOffset:6,children:a(`projectActions.actions.openPreview`)})]}):null,(0,$.jsxs)(ga,{children:[(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`app-region-no-drag -ml-1 inline-flex h-9 w-5 items-center justify-center rounded-[10px] text-muted-foreground hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":a(`projectActions.actions.chooseActionAria`),children:(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3.5 w-3.5`})})}),(0,$.jsxs)(la,{align:`end`,className:`w-52 max-h-[70vh] overflow-y-auto`,children:[(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:de,children:[(0,$.jsx)(X,{name:`add`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:a(`projectActions.actions.addNewAction`)})]}),(0,$.jsx)(sa,{}),ae.map(e=>{let t=e.icon||`play`,n=e.id===kl?`search`:Dc[t]||`play`,r=Oc(W,e.id),i=D[r],a=!!i,o=i?.status===`stopping`;return(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>{ue(e,!0)},children:[(0,$.jsx)(X,{name:n,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:e.name}),o||i?.status===`waiting-for-preview`?(0,$.jsx)(X,{name:`loader-4`,className:`ml-auto h-4 w-4 animate-spin text-[var(--status-warning)]`}):a?(0,$.jsx)(X,{name:`stop`,className:`ml-auto h-4 w-4 text-[var(--status-warning)]`}):null]},e.id)})]})]})]}):(0,$.jsxs)(`div`,{className:Y(`app-region-no-drag inline-flex shrink-0 items-center self-center rounded-[9px] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[50px]`,`bg-[var(--surface-elevated)] overflow-hidden`,`border border-border/60`,r?`h-9`:`h-7`,n),children:[(0,$.jsx)(`button`,{type:`button`,onClick:le,disabled:F||ge,className:Y(`inline-flex h-full items-center justify-center typography-ui-label font-medium text-foreground hover:bg-interactive-hover`,r?`w-9 px-0`:`px-2.5`,`transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:cursor-not-allowed`),"aria-label":a(he?`projectActions.actions.stopNamedAria`:`projectActions.actions.runNamedAria`,{name:fe.name}),children:(0,$.jsx)(`span`,{className:`inline-flex h-4 w-4 shrink-0 items-center justify-center`,children:ge||_e?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin text-[var(--status-warning)]`}):he?(0,$.jsx)(X,{name:`stop`,className:`h-4 w-4 text-[var(--status-warning)]`}):(0,$.jsx)(X,{name:me,className:`h-4 w-4`})})}),ye?(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:be,className:Y(r?`inline-flex h-full w-8 items-center justify-center`:`inline-flex h-full w-7 items-center justify-center`,`border-l border-[var(--interactive-border)] text-foreground`,`hover:bg-interactive-hover transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),"aria-label":a(`projectActions.actions.openPreview`),children:(0,$.jsx)(X,{name:`global`,className:`h-4 w-4`})})}),(0,$.jsx)(ia,{sideOffset:6,children:a(`projectActions.actions.openPreview`)})]}):null,(0,$.jsxs)(ga,{children:[(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:Y(r?`inline-flex h-full w-8 items-center justify-center`:`inline-flex h-full w-7 items-center justify-center`,`border-l border-[var(--interactive-border)] text-muted-foreground`,`hover:bg-interactive-hover hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),"aria-label":a(`projectActions.actions.chooseActionAria`),children:(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-4 w-4`})})}),(0,$.jsxs)(la,{align:`start`,className:`w-52 max-h-[70vh] overflow-y-auto`,children:[(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:de,children:[(0,$.jsx)(X,{name:`add`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:a(`projectActions.actions.addNewAction`)})]}),(0,$.jsx)(sa,{}),ae.map(e=>{let t=e.icon||`play`,n=e.id===kl?`search`:Dc[t]||`play`,r=Oc(W,e.id),i=D[r],a=!!i,o=i?.status===`stopping`;return(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>{ue(e,!0)},children:[(0,$.jsx)(X,{name:n,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:e.name}),o||i?.status===`waiting-for-preview`?(0,$.jsx)(X,{name:`loader-4`,className:`ml-auto h-4 w-4 animate-spin text-[var(--status-warning)]`}):a?(0,$.jsx)(X,{name:`stop`,className:`ml-auto h-4 w-4 text-[var(--status-warning)]`}):null]},e.id)})]})]})]})};function Fl(e){return e.isOpen&&e.activeTab===e.targetTab?{open:!1,tab:e.activeTab}:{open:!0,tab:e.targetTab}}var Il=`app-region-no-drag inline-flex h-8 w-8 items-center justify-center gap-2 rounded-md typography-ui-label font-medium text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:pointer-events-none disabled:opacity-50 hover:bg-interactive-hover transition-colors`,Ll=`app-region-no-drag inline-flex h-9 w-9 items-center justify-center gap-2 p-2 rounded-md typography-ui-label font-medium text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:pointer-events-none disabled:opacity-50 hover:text-foreground hover:bg-interactive-hover transition-colors`,Rl=Q.memo(function(e){let t=(0,Vc.c)(17),{visible:n,title:r,ariaLabel:i,onClick:a,className:o,Icon:s,iconClassName:c,pressed:l}=e,u=n===void 0||n,d=l!==void 0&&l;if(!u)return null;let f=o??Il,p=d&&`bg-interactive-selection text-interactive-selection-foreground`,m;t[0]!==f||t[1]!==p?(m=Y(f,p),t[0]=f,t[1]=p,t[2]=m):m=t[2];let h=c??`h-[18px] w-[18px]`,g;t[3]!==s||t[4]!==h?(g=(0,$.jsx)(X,{name:s,className:h}),t[3]=s,t[4]=h,t[5]=g):g=t[5];let _;t[6]!==i||t[7]!==a||t[8]!==d||t[9]!==m||t[10]!==g?(_=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:a,"aria-label":i,"aria-pressed":d,className:m,children:g})}),t[6]=i,t[7]=a,t[8]=d,t[9]=m,t[10]=g,t[11]=_):_=t[11];let v;t[12]===r?v=t[13]:(v=(0,$.jsx)(ia,{children:(0,$.jsx)(`p`,{children:r})}),t[12]=r,t[13]=v);let y;return t[14]!==_||t[15]!==v?(y=(0,$.jsxs)(oa,{children:[_,v]}),t[14]=_,t[15]=v,t[16]=y):y=t[16],y}),zl=Q.memo(function(e){let t=(0,Vc.c)(42),{isMobile:n,githubAuthStatus:r,githubAccounts:i,githubAvatarUrl:a,githubLogin:o,isSwitchingGitHubAccount:s,handleGitHubAccountSwitch:c}=e,{t:l}=Je();if(!r?.connected||n)return null;if(i.length>1){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=Y(Il,`h-6 w-6 overflow-hidden rounded-full border border-border/60 bg-muted/80 p-0`),t[0]=e):e=t[0];let n;t[1]!==o||t[2]!==l?(n=o?l(`header.github.connectedWithLogin`,{login:o}):l(`header.github.connected`),t[1]=o,t[2]=l,t[3]=n):n=t[3];let r;t[4]!==a||t[5]!==o||t[6]!==l?(r=a?(0,$.jsx)(`img`,{src:a,alt:o?l(`header.github.avatarWithLogin`,{login:o}):l(`header.github.avatar`),className:`h-full w-full object-cover`,loading:`lazy`,referrerPolicy:`no-referrer`}):(0,$.jsx)(X,{name:`github-fill`,className:`h-3.5 w-3.5 text-foreground`}),t[4]=a,t[5]=o,t[6]=l,t[7]=r):r=t[7];let u;t[8]!==s||t[9]!==n||t[10]!==r?(u=(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:e,title:n,disabled:s,children:r})}),t[8]=s,t[9]=n,t[10]=r,t[11]=u):u=t[11];let d;t[12]===l?d=t[13]:(d=l(`header.github.accountsTitle`),t[12]=l,t[13]=d);let f;t[14]===d?f=t[15]:(f=(0,$.jsx)(ma,{className:`typography-ui-header font-semibold text-foreground`,children:d}),t[14]=d,t[15]=f);let p;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(sa,{}),t[16]=p):p=t[16];let m;if(t[17]!==i||t[18]!==c||t[19]!==s||t[20]!==l){let e;t[22]!==c||t[23]!==s||t[24]!==l?(e=e=>{let t=e.user,n=!!e.current,r=e.source===`gh-cli`?l(`header.github.accountSource.cli`):l(`header.github.accountSource.oauth`);return(0,$.jsxs)(da,{className:`gap-2`,disabled:s,onSelect:()=>{n||c(e.id)},children:[t?.avatarUrl?(0,$.jsx)(`img`,{src:t.avatarUrl,alt:t.login?l(`header.github.avatarWithLogin`,{login:t.login}):l(`header.github.avatar`),className:`h-6 w-6 rounded-full border border-border/60 bg-muted object-cover`,loading:`lazy`,referrerPolicy:`no-referrer`}):(0,$.jsx)(`div`,{className:`flex h-6 w-6 items-center justify-center rounded-full border border-border/60 bg-muted`,children:(0,$.jsx)(X,{name:`github-fill`,className:`h-3 w-3 text-muted-foreground`})}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:t?.name?.trim()||t?.login||`GitHub`}),t?.login?(0,$.jsxs)(`span`,{className:`truncate typography-micro text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`font-mono`,children:t.login}),(0,$.jsx)(`span`,{className:`mx-1 opacity-50`,children:`·`}),(0,$.jsx)(`span`,{children:r})]}):null]}),n?(0,$.jsx)(X,{name:`check`,className:`h-4 w-4 text-primary`}):null]},e.id)},t[22]=c,t[23]=s,t[24]=l,t[25]=e):e=t[25],m=i.map(e),t[17]=i,t[18]=c,t[19]=s,t[20]=l,t[21]=m}else m=t[21];let h;t[26]!==f||t[27]!==m?(h=(0,$.jsxs)(la,{align:`end`,className:`w-64`,children:[f,p,m]}),t[26]=f,t[27]=m,t[28]=h):h=t[28];let g;return t[29]!==u||t[30]!==h?(g=(0,$.jsxs)(ga,{children:[u,h]}),t[29]=u,t[30]=h,t[31]=g):g=t[31],g}let u;t[32]!==o||t[33]!==l?(u=o?l(`header.github.connectedWithLogin`,{login:o}):l(`header.github.connected`),t[32]=o,t[33]=l,t[34]=u):u=t[34];let d;t[35]!==a||t[36]!==o||t[37]!==l?(d=a?(0,$.jsx)(`img`,{src:a,alt:o?l(`header.github.avatarWithLogin`,{login:o}):l(`header.github.avatar`),className:`h-full w-full object-cover`,loading:`lazy`,referrerPolicy:`no-referrer`}):(0,$.jsx)(X,{name:`github-fill`,className:`h-3.5 w-3.5 text-foreground`}),t[35]=a,t[36]=o,t[37]=l,t[38]=d):d=t[38];let f;return t[39]!==u||t[40]!==d?(f=(0,$.jsx)(`div`,{className:`app-region-no-drag flex h-6 w-6 items-center justify-center overflow-hidden rounded-full border border-border/60 bg-muted/80`,title:u,children:d}),t[39]=u,t[40]=d,t[41]=f):f=t[41],f}),Bl=Q.memo(function(e){let t=(0,Vc.c)(61),{isDesktopApp:n,currentInstanceSupportsUpdate:r,isDesktopServicesOpen:i,setIsDesktopServicesOpen:a,refreshCurrentInstanceLabel:o,desktopServicesTab:s,setDesktopServicesTab:c,quotaResultsLength:l,fetchAllQuotas:u,servicesTabItems:d,quotaLastUpdated:f,quotaDisplayMode:p,quotaDisplayTabItems:m,handleDisplayModeChange:h,handleUsageRefresh:g,isQuotaLoading:_,isUsageRefreshSpinning:v,hasRateLimits:y,rateLimitGroups:b,expandedFamilies:x,toggleFamilyExpanded:S,showDevShutdown:C,isDevShutdownInFlight:w,onDevShutdown:T,remoteUpdateInfo:E,remoteUpdateChecking:D,remoteUpdateError:O,onOpenRemoteUpdate:k,showPredValues:A,timeFormatPreference:j,anchorRef:M}=e,{t:N}=Je(),P;t[0]!==s||t[1]!==u||t[2]!==l||t[3]!==o||t[4]!==a?(P=e=>{a(e),e&&(o(),s===`usage`&&l===0&&u())},t[0]=s,t[1]=u,t[2]=l,t[3]=o,t[4]=a,t[5]=P):P=t[5];let F;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-hidden":!0,tabIndex:-1,className:`pointer-events-none absolute h-px w-px overflow-hidden opacity-0`})}),t[6]=F):F=t[6];let I;t[7]!==u||t[8]!==l||t[9]!==c?(I=e=>{let t=e;c(t),t===`usage`&&l===0&&u()},t[7]=u,t[8]=l,t[9]=c,t[10]=I):I=t[10];let ee;t[11]!==s||t[12]!==d||t[13]!==I?(ee=(0,$.jsx)(`div`,{className:`sticky top-0 z-20 px-2 pt-1.5 pb-px`,children:(0,$.jsx)(`div`,{className:`h-9`,children:(0,$.jsx)(Vo,{items:d,activeId:s,onSelect:I,layoutMode:`fit`,variant:`active-pill`,activePillInsetClassName:`gap-0.5 px-px py-0`,activePillButtonClassName:`h-8`,className:`h-full`})})}),t[11]=s,t[12]=d,t[13]=I,t[14]=ee):ee=t[14];let L;t[15]!==r||t[16]!==s||t[17]!==n||t[18]!==i||t[19]!==k||t[20]!==D||t[21]!==O||t[22]!==E||t[23]!==a||t[24]!==N?(L=n&&s===`instance`?(0,$.jsxs)(`div`,{children:[r?(0,$.jsx)(`div`,{className:`border-b border-[var(--interactive-border)] px-4 py-2.5`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-medium text-foreground`,children:N(`header.services.remoteUpdate.title`)}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:E?.available?N(`header.services.remoteUpdate.available`,{version:E.version||``}):D?N(`header.services.remoteUpdate.checking`):O||N(`header.services.remoteUpdate.upToDate`)})]}),E?.available?(0,$.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md bg-[var(--primary-base)] px-3 py-1.5 typography-ui-label font-medium text-[var(--primary-foreground)] hover:opacity-90`,onClick:k,children:N(`header.services.remoteUpdate.actions.open`)}):null]})}):null,(0,$.jsx)(Gr,{embedded:!0,open:i&&s===`instance`,onOpenChange:Kl,onHostSwitched:()=>a(!1)})]}):null,t[15]=r,t[16]=s,t[17]=n,t[18]=i,t[19]=k,t[20]=D,t[21]=O,t[22]=E,t[23]=a,t[24]=N,t[25]=L):L=t[25];let R;t[26]!==s||t[27]!==i?(R=s===`mcp`?(0,$.jsx)(Us,{active:i&&s===`mcp`}):null,t[26]=s,t[27]=i,t[28]=R):R=t[28];let z;t[29]!==s||t[30]!==x||t[31]!==h||t[32]!==g||t[33]!==y||t[34]!==_||t[35]!==v||t[36]!==p||t[37]!==m||t[38]!==f||t[39]!==b||t[40]!==A||t[41]!==N||t[42]!==j||t[43]!==S?(z=s===`usage`?(0,$.jsxs)(`div`,{className:`overflow-x-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--interactive-border)] px-4 py-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-header font-semibold text-foreground`,children:N(`header.services.rateLimits`)}),(0,$.jsx)(`span`,{className:`truncate typography-micro text-muted-foreground`,children:Hl(f,j)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`div`,{className:`h-7 w-[10.5rem]`,children:(0,$.jsx)(Vo,{items:m,activeId:p,onSelect:e=>void h(e),layoutMode:`fit`,variant:`active-pill`,activePillInsetClassName:`gap-0.5 px-px py-0`,className:`h-full`})}),(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:text-foreground hover:bg-interactive-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),onClick:g,disabled:_||v,"aria-label":N(`header.services.refreshRateLimitsAria`),children:(0,$.jsx)(X,{name:`refresh`,className:Y(`h-4 w-4`,v&&`animate-spin`)})})]})]}),y?null:(0,$.jsx)(`div`,{className:`px-4 py-5 text-center`,children:(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground`,children:N(`header.services.noRateLimits`)})}),(0,$.jsx)(`div`,{className:`space-y-2 px-3 py-2.5`,children:b.map(e=>{let t=x[e.providerId]??[];return(0,$.jsxs)(`div`,{className:`min-w-0 rounded-xl bg-[var(--surface-muted)] p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 pb-2`,children:[(0,$.jsx)(Ui,{providerId:e.providerId,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label font-medium text-foreground`,children:e.providerName})]}),e.entries.length===0&&(!e.modelFamilies||e.modelFamilies.length===0)?(0,$.jsx)(`div`,{children:(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground`,children:e.error??N(`header.services.noRateLimitsReported`)})}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[e.entries.map(t=>{let[n,r]=t,i=p===`remaining`?r.remainingPercent:r.usedPercent,a=xa(r.usedPercent,r.resetAt,r.windowSeconds,n),o=a?.dailyAllocationPercent==null?null:p===`remaining`?100-Da(a.elapsedRatio):Da(a.elapsedRatio),s=Ca(r.valueLabel,i),c=Aa(r.resetAt,r.resetAfterFormatted??r.resetAtFormatted,j);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:Ma(n)}),c?(0,$.jsx)(`span`,{className:`truncate typography-micro text-muted-foreground`,children:c}):null]}),(0,$.jsx)(`span`,{className:`typography-ui-label tabular-nums text-foreground`,children:s===`-`?``:s})]}),(0,$.jsx)(cs,{percent:i,tonePercent:r.usedPercent,className:`h-1.5`,expectedMarkerPercent:o}),a&&A?(0,$.jsx)(ds,{paceInfo:a,compact:!0}):null]},`${e.providerId}-${n}`)}),e.modelFamilies&&e.modelFamilies.length>0?(0,$.jsx)(`div`,{className:`space-y-0.5`,children:e.modelFamilies.map(n=>{let r=n.familyId??`other`,i=t.includes(r);return(0,$.jsxs)(wc,{open:i,onOpenChange:()=>S(e.providerId,r),children:[(0,$.jsxs)(Cc,{className:`flex w-full items-center justify-between rounded-md px-1 py-1.5 text-left hover:bg-[var(--interactive-hover)]/50 transition-colors`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-medium text-foreground`,children:n.familyLabel}),i?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-4 w-4 text-muted-foreground`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-4 w-4 text-muted-foreground`})]}),(0,$.jsx)(Sc,{children:(0,$.jsx)(`div`,{className:`space-y-2.5 pb-1 pl-1 pt-1`,children:n.models.map(t=>{let[n,r]=t,i=p===`remaining`?r.remainingPercent:r.usedPercent,a=xa(r.usedPercent,r.resetAt,r.windowSeconds),o=a?.dailyAllocationPercent==null?null:p===`remaining`?100-Da(a.elapsedRatio):Da(a.elapsedRatio),s=Ca(r.valueLabel,i);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`truncate typography-micro text-muted-foreground`,children:as(n)}),(0,$.jsx)(`span`,{className:`typography-ui-label tabular-nums text-foreground`,children:s===`-`?``:s})]}),(0,$.jsx)(cs,{percent:i,tonePercent:r.usedPercent,className:`h-1.5`,expectedMarkerPercent:o}),a&&A?(0,$.jsx)(ds,{paceInfo:a,compact:!0}):null]},`${e.providerId}-${n}`)})})})]},r)})}):null]})]},e.providerId)})})]}):null,t[29]=s,t[30]=x,t[31]=h,t[32]=g,t[33]=y,t[34]=_,t[35]=v,t[36]=p,t[37]=m,t[38]=f,t[39]=b,t[40]=A,t[41]=N,t[42]=j,t[43]=S,t[44]=z):z=t[44];let B;t[45]!==w||t[46]!==T||t[47]!==C||t[48]!==N?(B=C?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`mx-4 my-2 border-t border-[var(--interactive-border)]`}),(0,$.jsx)(`div`,{className:`px-2 pb-2`,children:(0,$.jsx)(da,{disabled:w,onSelect:()=>{T()},children:N(`header.services.shutdownDev`)})})]}):null,t[45]=w,t[46]=T,t[47]=C,t[48]=N,t[49]=B):B=t[49];let V;t[50]!==M||t[51]!==ee||t[52]!==L||t[53]!==R||t[54]!==z||t[55]!==B?(V=(0,$.jsxs)(la,{anchor:M,align:`start`,sideOffset:6,collisionPadding:12,className:`w-[min(27rem,calc(100vw-2rem))] max-h-[75vh] overflow-y-auto bg-[var(--surface-elevated)] p-0`,children:[ee,L,R,z,B]}),t[50]=M,t[51]=ee,t[52]=L,t[53]=R,t[54]=z,t[55]=B,t[56]=V):V=t[56];let H;return t[57]!==i||t[58]!==P||t[59]!==V?(H=(0,$.jsxs)(ga,{open:i,onOpenChange:P,children:[F,V]}),t[57]=i,t[58]=P,t[59]=V,t[60]=H):H=t[60],H}),Vl=(e,t)=>e===t?!0:!e||!t?!1:e.totalTokens===t.totalTokens&&e.percentage===t.percentage&&e.contextLimit===t.contextLimit&&(e.outputLimit??0)===(t.outputLimit??0)&&(e.normalizedOutput??0)===(t.normalizedOutput??0)&&e.thresholdLimit===t.thresholdLimit&&(e.lastMessageId??``)===(t.lastMessageId??``),Hl=(e,t)=>{if(!e)return`-`;try{return Ta(e,t,{fallback:`-`})}catch{return`-`}},Ul=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`),n=t.startsWith(`//`),r=t.replace(/\/+$/g,``);return r=r.replace(/\/+/g,`/`),n&&!r.startsWith(`//`)&&(r=`/${r}`),r===``?t.startsWith(`/`)?`/`:``:r},Wl=e=>!e?.isOpen||!Array.isArray(e.tabs)||e.tabs.length===0?null:(e.tabs.find(t=>t.id===e.activeTabId)??e.tabs[e.tabs.length-1])?.mode??null,Gl=({onToggleLeftDrawer:e,onToggleRightDrawer:n,leftDrawerOpen:r,rightDrawerOpen:i})=>{let{t:a}=Je(),o=K(e=>e.setSessionSwitcherOpen),s=K(e=>e.toggleSidebar),c=K(e=>e.isSidebarOpen),l=K(e=>e.toggleBottomTerminal),u=K(e=>e.toggleRightSidebar),p=K(e=>e.openContextOverview),m=K(e=>e.openContextBrowser),h=K(e=>e.openContextPanelTab),g=K(e=>e.closeContextPanel),_=K(e=>e.contextPanelByDirectory),v=K(e=>e.activeMainTab),b=K(e=>e.setActiveMainTab),x=K(e=>e.shortcutOverrides),C=K(e=>e.timeFormatPreference),E=vt(e=>e.getCurrentModel),O=Ba(),[k,A]=Q.useState(!1),j=Rt(e=>e.getContextUsage),M=Rt(e=>!!e.newSessionDraft?.open),N=Rt(e=>e.currentSessionId),P=Nt(N??``),F=Ct(N),I=qt(e=>e.activeProjectId?e.projects.find(t=>t.id===e.activeProjectId)??null:null),ee=Q.useMemo(()=>{if(!I)return null;let e=I.path.split(/[\\/]/).filter(Boolean);return e[e.length-1]??null},[I]),L=ms(e=>e.results),B=ms(e=>e.fetchAllQuotas),V=ms(e=>e.isLoading),U=ms(e=>e.lastUpdated),te=ms(e=>e.displayMode),G=ms(e=>e.showPredValues),oe=ms(e=>e.dropdownProviderIds),se=ms(e=>e.loadSettings),ce=ms(e=>e.setDisplayMode),{isMobile:le}=Ia(),ue=Na().data??null,de=fs(e=>e.setStatus),fe=Q.useRef(null),[pe,me]=Q.useState(()=>typeof window>`u`?!1:S()),he=Q.useMemo(()=>y(),[]),ge=pe&&R()===`win32`,_e=La(),[ve,ye]=Q.useState(!1),be=Q.useMemo(()=>typeof navigator>`u`?!1:/Macintosh|Mac OS X/.test(navigator.userAgent||``),[]),{usesFramelessChrome:xe,side:Se}=Ss(),Ce=Q.useMemo(()=>{if(typeof window>`u`)return null;let e=window.__OPENCHAMBER_MACOS_MAJOR__;if(typeof e==`number`&&Number.isFinite(e)&&e>0)return e;if(typeof navigator>`u`)return null;let t=(navigator.userAgent||``).match(/Mac OS X (\d+)[._](\d+)/);if(!t)return null;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10);return Number.isNaN(n)?null:n===10?r:n},[]);(0,Q.useEffect)(()=>{typeof window>`u`||me(S())},[]);let we=E(),Te=we&&typeof we.limit==`object`&&we.limit!==null?we.limit:null,Ee=j(Te&&typeof Te.context==`number`?Te.context:0,Te&&typeof Te.output==`number`?Te.output:0),[De,Oe]=Q.useState(null),ke=!N||P;(0,Q.useEffect)(()=>{if(!N){Oe(e=>e===null?e:null);return}if(Ee&&Ee.totalTokens>0){Oe(e=>Vl(e,Ee)?e:Ee);return}ke&&Oe(e=>e===null?e:null)},[Ee,N,ke]);let Ae=K(e=>e.isSessionSwitcherOpen),je=ue?.connected?ue.user?.avatarUrl??null:null,Me=ue?.connected?ue.user?.login??null:null,Ne=ue?.accounts??[],[Pe,q]=Q.useState(!1),[Fe,Ie]=Q.useState(!1),[Re,ze]=Q.useState(!1),[Be,Ve]=Q.useState(!1),[He,We]=Q.useState(`Local`),[Ge,Ke]=Q.useState(!1),[qe,Ye]=Q.useState(!1),[Xe,Ze]=Q.useState(null),[Qe,$e]=Q.useState(!1),[et,tt]=Q.useState(null),[nt,rt]=Q.useState(pe?`instance`:`usage`),[it,at]=Q.useState(`usage`);(0,Q.useEffect)(()=>{!pe&&nt===`instance`&&rt(`usage`)},[nt,pe]);let ot=Q.useMemo(()=>H(),[]),st=!ot&&v===`chat`&&!!De&&De.totalTokens>0,ct=De&&De.contextLimit>0?Math.min(999,De.totalTokens/De.contextLimit*100):0,lt=Ue(async()=>{if(!(typeof window>`u`||!pe))try{if(T()){We(`Local`),Ke(!1);return}let e=await ie(),t=window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,n=d();if(n&&ne(n,t)){We(`Local`),Ke(!1);return}let r=e.hosts.find(e=>n?ne(n,re(e)):!1);if(r&&!r.relay){let e=await ca();if(d()!==n)return;Ke(ae(r,new Set(e.instances.map(e=>e.id))))}else Ke(!1);if(r?.label?.trim()){We(W(r.label.trim()));return}We(`Instance`)}catch{We(`Local`),Ke(!1)}});(0,Q.useEffect)(()=>{lt()},[pe]);let ut=Ue(async()=>{if(!Ge){Ze(null),tt(null);return}$e(!0),tt(null);try{let e=new URLSearchParams({appType:`web`,instanceMode:`remote`}),t=await f(`/api/openchamber/update-check?${e.toString()}`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)throw Error(`Server responded with ${t.status}`);let n=await t.json();Ze({available:n.available??!1,version:n.version,currentVersion:n.currentVersion??`unknown`,body:n.body,nextSuggestedCheckInSec:typeof n.nextSuggestedCheckInSec==`number`?n.nextSuggestedCheckInSec:void 0,packageManager:n.packageManager,updateCommand:n.updateCommand})}catch(e){Ze(null),tt(e instanceof Error?e.message:a(`header.services.remoteUpdate.error`))}finally{$e(!1)}});Q.useEffect(()=>{Ze(null),tt(null),Ye(!1)},[Ge,He]),Q.useEffect(()=>{if(!pe||!Ge)return;let e=36e5,t=!1,n=null,r=i=>{n=window.setTimeout(()=>{if(t||typeof document<`u`&&document.visibilityState!==`visible`){r(e);return}ut().finally(()=>{t||r(e)})},i)};return r(3e3),()=>{t=!0,n!==null&&window.clearTimeout(n)}},[Ge,He,pe]);let dt=Ue(()=>{if(Ge){if(Xe?.available){Ye(!0);return}ut()}});is();let ft=ms(e=>e.selectedModels),pt=ms(e=>e.expandedFamilies),mt=ms(e=>e.toggleFamilyExpanded),ht=Q.useMemo(()=>{let e=[];for(let t of Ko){if(!oe.includes(t.id))continue;let n=L.find(e=>e.providerId===t.id),r=n?.usage?.windows??{},i=n?.usage?.models,o=Object.entries(r),s={providerId:t.id,providerName:t.name,entries:o,error:n&&!n.ok&&n.configured?n.error:void 0};if(i&&Object.keys(i).length>0){let e=ft[t.id]??[],n=e.length>0,r=gs(i,t.id),o=_s(t.id),c=Yo(o);s.modelFamilies=[];for(let t of c){let a=r.get(t.id)??[];if(a.length===0)continue;let o=n?a.filter(t=>e.includes(t)):a;if(o.length===0)continue;let c=[];for(let e of o){let t=i[e];if(t?.windows){let n=Object.entries(t.windows);n.length>0&&c.push([e,n[0][1]])}}c.length>0&&s.modelFamilies.push({familyId:t.id,familyLabel:t.label,models:c})}let l=r.get(null)??[],u=n?l.filter(t=>e.includes(t)):l;if(u.length>0){let e=[];for(let t of u){let n=i[t];if(n?.windows){let r=Object.entries(n.windows);r.length>0&&e.push([t,r[0][1]])}}e.length>0&&s.modelFamilies.push({familyId:null,familyLabel:a(`header.services.modelFamily.other`),models:e})}}(o.length>0||s.modelFamilies&&s.modelFamilies.length>0||s.error)&&e.push(s)}return e},[oe,L,ft,a]),gt=ht.length>0;Q.useEffect(()=>{se()},[se]);let _t=Q.useCallback(async e=>{ce(e);try{await z({usageDisplayMode:e})}catch(e){console.warn(`Failed to update usage display mode:`,e)}},[ce]),yt=Q.useCallback(()=>{if(Be)return;Ve(!0);let e=new Promise(e=>setTimeout(e,500));Promise.all([B(),e]).finally(()=>{Ve(!1)})},[B,Be]),bt=Rt(e=>N?e.worktreeMetadata.get(N)?.path??``:``),xt=Q.useMemo(()=>Ul(bt||``),[bt]),St=Q.useMemo(()=>Ul((typeof F?.directory==`string`?F.directory:``)||``),[F?.directory]),wt=Rt(e=>e.newSessionDraft?.open?Ul(e.newSessionDraft.bootstrapPendingDirectory??e.newSessionDraft.directoryOverride??``):``),Tt=Q.useMemo(()=>xt||St||wt,[wt,St,xt]),Et=Mo(),Dt=Q.useMemo(()=>Ul(Et||Tt||I?.path||``),[I?.path,Et,Tt]),Ot=Q.useMemo(()=>{if(!N)return ee??`OpenChamber`;let e=F?.title?.trim();return e&&e.length>0?e:`Untitled Session`},[ee,F?.title,N]),kt=Q.useMemo(()=>Ul(Tt||I?.path||``),[I?.path,Tt]),At=Q.useMemo(()=>I?{id:I.id,path:I.path}:null,[I]),jt=Q.useRef(null);Q.useEffect(()=>{!At||!kt||(jt.current={projectRef:At,directory:kt})},[kt,At]);let Mt=Q.useMemo(()=>At&&kt?{projectRef:At,directory:kt}:jt.current,[kt,At]),Pt=Q.useCallback(async e=>{if(!(!e||Pe)){q(!0);try{let t=O.github?await O.github.authActivate(e):await(async()=>{let t=await f(`/api/github/auth/activate`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({accountId:e})}),n=await t.json().catch(()=>null);if(!t.ok||!n)throw Error(n?.error||t.statusText);return n})();de(t)}catch(e){console.error(`Failed to switch GitHub account:`,e)}finally{q(!1)}}},[Pe,O.github,de]),Ft=Q.useCallback(()=>{if(typeof document>`u`)return;let e=document.activeElement;if(!e)return;let t=e.tagName;(t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e.isContentEditable)&&e.blur()},[]),It=Q.useCallback(()=>{if(le){Ft(),o(!Ae);return}s()},[Ft,le,Ae,o,s]),Lt=Q.useCallback(()=>{w(`desktop_open_draft_mini_chat_window`,{directory:Ul(Tt||I?.path||``),projectId:I?.id??null,apiBaseUrl:d(),clientToken:t()}).catch(e=>{console.warn(`[header] failed to open draft mini chat window`,e)})},[I?.id,I?.path,Tt]),zt=Q.useCallback(()=>{if(M){Lt();return}N&&w(`desktop_open_session_mini_chat_window`,{sessionId:N,directory:Ul(Tt||I?.path||``),apiBaseUrl:d(),clientToken:t()}).catch(e=>{console.warn(`[header] failed to open session mini chat window`,e)})},[I?.path,N,Lt,M,Tt]),Bt=Q.useCallback(()=>{let e=Dt;if(!e)return;let t=_[e];if(Wl(t)===`context`){g(e);return}p(e)},[g,Dt,_,p]),Vt=Q.useMemo(()=>{let e=Dt;if(!e)return!1;let t=_[e];return Wl(t)===`context`},[Dt,_]),Ht=Q.useCallback(()=>{let e=Dt;if(!e)return;let t=_[e];if(Wl(t)===`diff`){g(e);return}h(e,{mode:`diff`,stagedDiff:!1})},[g,Dt,_,h]),Ut=Q.useCallback(()=>{let e=Dt;if(!e)return;let t=_[e];if(Wl(t)===`browser`){g(e);return}m(e)},[g,Dt,_,m]),Wt=Q.useMemo(()=>{let e=Dt;if(!e)return!1;let t=_[e];return Wl(t)===`browser`},[Dt,_]),Gt=Il,Kt=Ll,Jt=Q.useMemo(()=>Fe?`services`:r?`sessions`:i?`git`:v,[v,Fe,r,i]),J=Q.useCallback(()=>{Ie(!1),r&&e&&e(),i&&n&&n(),!e&&Ae&&o(!1)},[Ae,r,e,n,i,o]),Yt=Q.useCallback(()=>{r||Ie(!1),e?.()},[r,e]),Xt=Q.useCallback(()=>{i||Ie(!1),n?.()},[n,i]),Zt=Q.useMemo(()=>pe&&be&&!ve?`5.5rem`:_e?`max(calc(0.75rem + var(--oc-wco-left-inset, 0px)), 5.5rem)`:(!pe||xe)&&!ot?`calc(0.75rem + var(--oc-wco-left-inset, 0px))`:`0.75rem`,[pe,ve,be,_e,ot,xe]);(0,Q.useEffect)(()=>{typeof document>`u`||document.documentElement.style.setProperty(`--oc-titlebar-left-inset`,Zt)},[Zt]);let Qt=c?`0.75rem`:`var(--oc-titlebar-left-inset, 0.75rem)`,$t=c?`0px`:`calc(var(--oc-titlebar-controls-width, 5.5rem) + 0.5rem)`;(0,Q.useEffect)(()=>{if(!pe||!be){ye(!1);return}let e=!1,t=async()=>{try{let t=await w(`desktop_is_window_fullscreen`);e||ye(t===!0)}catch{e||ye(!1)}},n=()=>{t()};return t(),window.addEventListener(`openchamber:window-resized`,n),()=>{e=!0,window.removeEventListener(`openchamber:window-resized`,n)}},[pe,be]);let en=Q.useMemo(()=>!pe||!be||Ce===null?``:Ce>=26?`h-12`:Ce<=15?`h-14`:``,[pe,be,Ce]),tn=Q.useMemo(()=>{if(!(pe&&!xe||ot))return{paddingRight:`calc(0.75rem + var(--oc-wco-right-inset, 0px))`,minHeight:`max(3rem, var(--oc-wco-titlebar-height, 0px))`,height:`max(3rem, var(--oc-wco-titlebar-height, 0px))`}},[pe,ot,xe]),nn=Q.useCallback(()=>{if(typeof document>`u`)return;let e=fe.current?.getBoundingClientRect().height;e&&document.documentElement.style.setProperty(`--oc-header-height`,`${e}px`)},[]);(0,Q.useEffect)(()=>{if(typeof window>`u`)return;nn();let e=fe.current;if(!e||typeof ResizeObserver>`u`)return()=>{};let t=0,n=()=>{t||=requestAnimationFrame(()=>{t=0,nn()})},r=new ResizeObserver(n);return r.observe(e),window.addEventListener(`resize`,n),window.addEventListener(`orientationchange`,n),()=>{t&&cancelAnimationFrame(t),r.disconnect(),window.removeEventListener(`resize`,n),window.removeEventListener(`orientationchange`,n)}},[nn]),(0,Q.useEffect)(()=>{nn()},[nn,le,en]);let rn=Q.useCallback(async e=>{let t=e.target;t.closest(`.app-region-no-drag`)||t.closest(`button, a, input, select, textarea`)||e.button===0&&pe&&await D()},[pe]),an=Q.useMemo(()=>{if(le){let e=[{id:`chat`,label:a(`layout.mainTab.chat`),icon:`chat-thread`}];return e.push({id:`diff`,label:a(`layout.mainTab.diff`),icon:`diff`},{id:`files`,label:a(`layout.mainTab.files`),icon:`folder-6`},{id:`terminal`,label:a(`layout.mainTab.terminal`),icon:`terminal-box`},{id:`diagram`,label:a(`layout.mainTab.diagram`),icon:`file`}),e}return[]},[le,a]),on=Q.useCallback(e=>ua(ka(e,x)),[x]);(0,Q.useEffect)(()=>{!le&&(v===`git`||v===`terminal`||v===`diff`||v===`files`)&&b(`chat`)},[v,le,b]);let sn=Q.useMemo(()=>{let e=[];return pe&&e.push({value:`instance`,label:a(`layout.services.instance`),icon:(0,$.jsx)(X,{name:`server`,className:`h-3.5 w-3.5`})}),e.push({value:`usage`,label:a(`layout.services.usage`),icon:(0,$.jsx)(X,{name:`timer`,className:`h-3.5 w-3.5`})},{value:`mcp`,label:`MCP`,icon:(0,$.jsx)(es,{className:`h-3.5 w-3.5`})}),e},[pe,a]),cn=Q.useMemo(()=>sn.map(e=>({id:e.value,label:e.label,icon:e.icon})),[sn]),ln=Q.useMemo(()=>{if(typeof window>`u`||pe||ot)return!1;let e=window.location.hostname;return e===`localhost`||e===`127.0.0.1`||e===`::1`},[pe,ot]),un=Q.useCallback(async()=>{if(k)return;A(!0),ze(!1);let e=[],t=!1;try{try{for(let[,t]of Cs.getState().sessions.entries())for(let n of t.tabs)n.previewUrl&&e.push(n.previewUrl)}catch{}try{await Le({})}catch{}try{t=(await f(`/api/system/dev-shutdown`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({previewUrls:e})})).ok?!0:(await f(`/api/system/shutdown`,{method:`POST`})).ok}catch{}}finally{t||A(!1)}},[k,ze]),dn=Q.useMemo(()=>[{value:`usage`,label:a(`header.services.used`)},{value:`remaining`,label:a(`header.services.remaining`)}],[a]),fn=Q.useMemo(()=>dn.map(e=>({id:e.value,label:e.label})),[dn]),pn=Q.useMemo(()=>[{id:`usage`,label:a(`layout.services.usage`),icon:(0,$.jsx)(X,{name:`timer`,className:`h-3.5 w-3.5`})},{id:`mcp`,label:`MCP`,icon:(0,$.jsx)(es,{className:`h-3.5 w-3.5`})}],[a]);(0,Q.useEffect)(()=>{let e=e=>{if(qn(e)&&!e.shiftKey&&!e.altKey){let t=parseInt(e.key,10);t>=1&&t<=an.length&&(e.preventDefault(),le&&(Ft(),J()),b(an[t-1].id))}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[Ft,J,le,b,an]);let mn=Q.useCallback(e=>{rt(e),ze(!0),lt(),e===`usage`&&L.length===0&&B()},[B,L.length,lt]);(0,Q.useEffect)(()=>{let e=e=>{let t=ka(`toggle_services_menu`,x);if(_a(e,t)){e.preventDefault();let t=Fl({isOpen:Re,activeTab:nt,targetTab:pe?`instance`:`usage`});t.open?mn(t.tab):ze(!1);return}let n=ka(`cycle_services_tab`,x);if(_a(e,n)){e.preventDefault();let t=sn.map(e=>e.value);if(t.length===0)return;let n=t.indexOf(nt),r=t[n===-1?0:(n+1)%t.length];rt(r),ze(!0),lt(),r===`usage`&&L.length===0&&B();return}let r=ka(`open_usage`,x);if(_a(e,r)){e.preventDefault();let t=Fl({isOpen:Re,activeTab:nt,targetTab:`usage`});t.open?mn(t.tab):ze(!1);return}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[x,pe,Re,nt,sn,L.length,B,lt,mn]);let hn=e=>{let t=v===e.id,n=e.icon===`diff`,r=n?null:e.icon,i=e.id===`chat`,a=e=>n?(0,$.jsx)(Hc,{size:e}):r?(0,$.jsx)(X,{name:r,className:`h-${e/4} w-${e/4}`}):null,o=(0,$.jsxs)(`button`,{type:`button`,onClick:()=>b(e.id),className:Y(`relative flex h-8 items-center gap-2 px-3 rounded-lg typography-ui-label font-medium transition-colors`,t?`app-region-no-drag bg-interactive-selection text-interactive-selection-foreground shadow-none`:`app-region-no-drag text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,i&&!le&&`min-w-[100px] justify-center`),"aria-label":e.label,"aria-selected":t,role:`tab`,children:[le?a(20):(0,$.jsxs)($.Fragment,{children:[a(16),(0,$.jsx)(`span`,{className:`header-tab-label`,children:e.label})]}),e.badge!==void 0&&e.badge>0&&(0,$.jsx)(`span`,{className:`header-tab-badge typography-micro text-status-info font-medium`,children:e.badge})]});return(0,$.jsx)(Q.Fragment,{children:o},e.id)},gn=he&&(M||!!N),_n=Q.useCallback(e=>{window.setTimeout(e,0)},[]),vn=Q.useCallback(e=>{mn(e)},[mn]),yn=Q.useRef(null),bn=(0,$.jsxs)(`div`,{className:`relative flex shrink-0 items-center`,children:[(0,$.jsx)(`div`,{ref:yn,className:`inline-flex h-8 w-8 shrink-0 items-center justify-center`,children:(0,$.jsxs)(ga,{children:[(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":a(`header.actions.sessionMenuAria`),className:Y(Gt,`text-muted-foreground`),children:(0,$.jsx)(X,{name:`more-2`,className:`h-[18px] w-[18px]`})})})}),(0,$.jsx)(ia,{children:(0,$.jsx)(`p`,{children:a(`header.actions.sessionMenu`)})})]}),(0,$.jsxs)(la,{align:`start`,className:`min-w-[14rem]`,children:[ot?null:(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>_n(Ht),children:[(0,$.jsx)(X,{name:`layout-column`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`flex-1`,children:a(`header.actions.toggleChangesPanel`)})]}),gn?(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>_n(zt),children:[(0,$.jsx)(X,{name:`picture-in-picture-2`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`flex-1`,children:a(M?`header.actions.newMiniChat`:`header.actions.openSessionMiniChat`)})]}):null,pe?(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>_n(()=>vn(`instance`)),children:[(0,$.jsx)(X,{name:`stack`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:a(`header.actions.sessionMenu.servicesWithInstance`,{current:He})}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:on(`toggle_services_menu`)})]}):null,(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>_n(()=>vn(`usage`)),children:[(0,$.jsx)(X,{name:`timer`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`flex-1`,children:a(`header.actions.sessionMenu.viewUsage`)}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:on(`open_usage`)})]}),(0,$.jsx)(sa,{}),(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>_n(l),children:[(0,$.jsx)(X,{name:`terminal-box`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`flex-1`,children:a(`header.actions.toggleTerminalPanel`)}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:on(`toggle_terminal`)})]}),(0,$.jsxs)(da,{className:`flex items-center gap-2`,onClick:()=>_n(Ut),children:[(0,$.jsx)(X,{name:`global`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`flex-1`,children:a(`contextPanel.browser.open`)}),Wt?(0,$.jsx)(X,{name:`check`,className:`h-3.5 w-3.5 text-foreground`}):null]})]})]})}),(0,$.jsx)(Bl,{isDesktopApp:pe,currentInstanceSupportsUpdate:Ge,isDesktopServicesOpen:Re,setIsDesktopServicesOpen:ze,refreshCurrentInstanceLabel:lt,desktopServicesTab:nt,setDesktopServicesTab:rt,quotaResultsLength:L.length,fetchAllQuotas:B,servicesTabItems:cn,quotaLastUpdated:U,quotaDisplayMode:te,showPredValues:G,quotaDisplayTabItems:fn,handleDisplayModeChange:_t,handleUsageRefresh:yt,isQuotaLoading:V,isUsageRefreshSpinning:Be,hasRateLimits:gt,rateLimitGroups:ht,expandedFamilies:pt,toggleFamilyExpanded:mt,showDevShutdown:ln,isDevShutdownInFlight:k,onDevShutdown:un,remoteUpdateInfo:Xe,remoteUpdateChecking:Qe,remoteUpdateError:et,onOpenRemoteUpdate:dt,timeFormatPreference:C,anchorRef:yn})]}),xn=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(sl,{directory:kt,className:`mr-1`}),(0,$.jsx)(Rl,{title:a(`header.actions.rightSidebarWithShortcut`,{shortcut:on(`toggle_right_sidebar`)}),ariaLabel:a(`header.actions.toggleRightSidebarAria`),onClick:u,className:`app-region-no-drag group inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground/75 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary hover:bg-interactive-hover hover:text-foreground transition-colors`,Icon:`layout-left-rounded`,iconClassName:`size-4 -scale-x-100 text-foreground/55 transition-colors group-hover:text-foreground group-focus-visible:text-foreground`}),(0,$.jsx)(zl,{isMobile:le,githubAuthStatus:ue,githubAccounts:Ne,githubAvatarUrl:je,githubLogin:Me,isSwitchingGitHubAccount:Pe,handleGitHubAccountSwitch:Pt})]}),Sn=()=>(0,$.jsxs)(`div`,{onMouseDown:rn,className:Y(`app-region-drag relative flex h-12 select-none items-center pr-3`,en),style:tn,role:`tablist`,"aria-label":a(`header.navigation.mainAria`),children:[(0,$.jsx)(`div`,{"aria-hidden":!0,className:`shrink-0 self-stretch transition-[width] duration-200 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none`,style:{width:Qt}}),(0,$.jsx)(`div`,{"aria-hidden":!0,className:`app-region-no-drag shrink-0 self-stretch transition-[width] duration-200 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none`,style:{width:$t}}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[(0,$.jsxs)(`div`,{className:`app-region-no-drag mr-3 flex min-w-0 items-center gap-0.5`,children:[(0,$.jsx)(bs,{children:(0,$.jsx)(`button`,{type:`button`,"aria-label":a(`sessions.switcher.openAria`),className:`inline-flex h-8 min-w-0 max-w-full items-center rounded-md px-2.5 text-left transition-colors hover:bg-interactive-hover focus-visible:outline-none focus-visible:bg-interactive-hover focus-visible:ring-2 focus-visible:ring-primary`,children:(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-[14px] font-normal leading-tight text-foreground`,children:M?a(`sessions.switcher.draftTitle`):Ot})})}),bn]}),an.length>0&&(0,$.jsx)(`div`,{className:`flex items-center gap-1 rounded-lg bg-[var(--surface-muted)]/50 p-1`,children:an.map(e=>hn(e))}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[st&&De?(0,$.jsx)(ys,{totalTokens:De.totalTokens,percentage:ct,colorPercentage:De.percentage,contextLimit:De.contextLimit,outputLimit:De.outputLimit??0,size:`compact`,appearance:`subtle`,onClick:Bt,pressed:Vt,className:`mr-2`}):null,xn,(0,$.jsx)(xs,{visible:xe&&Se===`right`,position:`right`})]})]})]}),Cn=()=>(0,$.jsxs)(`div`,{className:`app-region-drag relative flex items-center gap-2 px-3 py-2 select-none`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[e?(0,$.jsx)(`button`,{type:`button`,onClick:Yt,className:Y(Kt,Jt===`sessions`&&`bg-interactive-selection text-interactive-selection-foreground`),"aria-label":a(r?`header.actions.closeSessionsAria`:`header.actions.openSessionsAria`),children:(0,$.jsx)(X,{name:`layout-left`,className:`h-5 w-5`})}):Ae?(0,$.jsx)(`button`,{type:`button`,onClick:()=>o(!1),className:`app-region-no-drag h-9 w-9 p-2 text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-md active:bg-interactive-active`,"aria-label":a(`header.actions.backAria`),children:(0,$.jsx)(X,{name:`arrow-left-s`,className:`h-5 w-5`})}):(0,$.jsx)(`button`,{type:`button`,onClick:It,className:`app-region-no-drag h-9 w-9 p-2 text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-md active:bg-interactive-active`,"aria-label":a(`header.actions.openSessionsAria`),children:(0,$.jsx)(X,{name:`play-list-add`,className:`h-5 w-5`})}),!e&&Ae&&(0,$.jsx)(`span`,{className:`typography-ui-label font-semibold text-foreground`,children:a(`header.sessions.title`)})]}),(!Ae||!!e)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`app-region-no-drag flex min-w-0 flex-1 items-center`,children:(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 overflow-x-auto overflow-y-hidden scrollbar-hidden touch-pan-x overscroll-x-contain`,children:(0,$.jsx)(`div`,{className:`flex w-max items-center gap-1 pr-1`,children:(0,$.jsx)(`div`,{className:`flex items-center gap-0.5 rounded-lg bg-[var(--surface-muted)]/50 p-0.5`,role:`tablist`,"aria-label":a(`header.navigation.mainAria`),children:an.map(e=>{let t=v===e.id,n=e.icon===`diff`,r=n?null:e.icon;return(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{le&&(Ft(),J()),b(e.id)},"aria-label":e.label,"aria-selected":t,role:`tab`,className:Y(Kt,`relative rounded-lg`,Jt===e.id&&`bg-interactive-selection text-interactive-selection-foreground`),children:[n?(0,$.jsx)(Hc,{className:`h-5 w-5`}):r?(0,$.jsx)(X,{name:r,className:`h-5 w-5`}):null,e.badge!==void 0&&e.badge>0&&(0,$.jsx)(`span`,{className:`absolute -top-1 -right-1 text-[10px] font-semibold text-primary`,children:e.badge}),e.showDot&&(0,$.jsx)(`span`,{className:`absolute top-1.5 right-1.5 h-2 w-2 rounded-full bg-primary`,"aria-label":a(`header.changes.availableAria`)})]})}),(0,$.jsx)(ia,{children:(0,$.jsx)(`p`,{children:e.label})})]},e.id)})})})})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[Mt&&(0,$.jsx)(Pl,{projectRef:Mt.projectRef,directory:Mt.directory,compact:!0,allowMobile:!0,className:`h-9`}),(0,$.jsxs)(ga,{open:Fe,onOpenChange:t=>{t&&(r&&e&&e(),i&&n&&n()),Ie(t),t&&L.length===0&&B()},children:[(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":a(`header.services.viewAria`),className:Y(Kt,Jt===`services`&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(X,{name:`stack`,className:`h-5 w-5`})})})}),(0,$.jsx)(ia,{children:(0,$.jsx)(`p`,{children:a(`header.services.title`)})})]}),(0,$.jsx)(la,{align:`end`,sideOffset:0,positionerClassName:`!fixed !bottom-0 !left-0 !right-0 !top-[var(--oc-header-height,56px)] !transform-none`,className:`h-full w-screen max-h-none rounded-none border-0 p-0 pt-1 overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-elevated)]`,children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-20 bg-[var(--surface-elevated)] px-2 py-px`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-3 py-0`,children:[(0,$.jsx)(`div`,{className:`h-10 min-w-0 flex-1`,children:(0,$.jsx)(Vo,{items:pn,activeId:it,onSelect:e=>{let t=e;at(t),t===`usage`&&L.length===0&&B()},layoutMode:`fit`,variant:`active-pill`,activePillInsetClassName:`gap-0.5 px-px py-0`,activePillButtonClassName:`h-8`,className:`h-full`})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>Ie(!1),className:`inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-interactive-hover`,"aria-label":a(`header.services.closeAria`),children:(0,$.jsx)(X,{name:`close`,className:`h-5 w-5`})})]})}),it===`mcp`&&(0,$.jsx)(Us,{active:Fe&&it===`mcp`}),it===`usage`&&(0,$.jsxs)(`div`,{className:`flex-1 overflow-y-auto overflow-x-hidden pb-[calc(4rem+env(safe-area-inset-bottom))]`,children:[(0,$.jsx)(`div`,{className:`border-b border-[var(--interactive-border)]`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col min-w-0 gap-0.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-header font-semibold text-foreground`,children:a(`header.services.rateLimits`)}),(0,$.jsx)(`span`,{className:`truncate typography-micro text-muted-foreground`,children:Hl(U,C)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,$.jsxs)(`div`,{className:`flex items-center h-6`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>_t(`usage`),className:Y(`typography-ui-label px-1 pb-0.5 transition-colors`,te===`usage`?`text-foreground border-b-2 border-[var(--primary-base)]`:`text-muted-foreground hover:text-foreground`),children:a(`header.services.used`)}),(0,$.jsx)(`span`,{className:`text-muted-foreground typography-ui-label px-0.5`,children:`·`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>_t(`remaining`),className:Y(`typography-ui-label px-1 pb-0.5 transition-colors`,te===`remaining`?`text-foreground border-b-2 border-[var(--primary-base)]`:`text-muted-foreground hover:text-foreground`),children:a(`header.services.remaining`)})]}),(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:text-foreground hover:bg-interactive-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),onClick:yt,disabled:V||Be,"aria-label":a(`header.services.refreshRateLimitsAria`),children:(0,$.jsx)(X,{name:`refresh`,className:Y(`h-4 w-4`,Be&&`animate-spin`)})})]})]})}),!gt&&(0,$.jsx)(`div`,{className:`px-4 py-6 text-center`,children:(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground`,children:a(`header.services.noRateLimits`)})}),(0,$.jsx)(`div`,{className:`py-1`,children:ht.map((e,t)=>(0,$.jsxs)(Q.Fragment,{children:[t>0?(0,$.jsx)(`div`,{className:`mx-4 my-1 border-t border-[var(--interactive-border)]`}):null,(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2`,children:[(0,$.jsx)(Ui,{providerId:e.providerId,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label font-medium text-foreground`,children:e.providerName})]}),e.entries.length===0&&(!e.modelFamilies||e.modelFamilies.length===0)?(0,$.jsx)(`div`,{className:`px-4 pb-2`,children:(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground`,children:e.error??a(`header.services.noRateLimitsReported`)})}):(0,$.jsxs)(`div`,{className:`space-y-3 px-4 pb-2`,children:[e.entries.map(([t,n])=>{let r=te===`remaining`?n.remainingPercent:n.usedPercent,i=xa(n.usedPercent,n.resetAt,n.windowSeconds,t),a=i?.dailyAllocationPercent==null?null:te===`remaining`?100-Da(i.elapsedRatio):Da(i.elapsedRatio),o=Ca(n.valueLabel,r),s=Aa(n.resetAt,n.resetAfterFormatted??n.resetAtFormatted,C);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:Ma(t)}),s?(0,$.jsx)(`span`,{className:`truncate typography-micro text-muted-foreground`,children:s}):null]}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground tabular-nums`,children:o===`-`?``:o})]}),(0,$.jsx)(cs,{percent:r,tonePercent:n.usedPercent,className:`h-1.5`,expectedMarkerPercent:a}),i&&G?(0,$.jsx)(ds,{paceInfo:i,compact:!0}):null]},`${e.providerId}-${t}`)}),e.modelFamilies&&e.modelFamilies.length>0&&(0,$.jsx)(`div`,{className:`space-y-0.5`,children:e.modelFamilies.map(t=>{let n=(pt[e.providerId]??[]).includes(t.familyId??`other`);return(0,$.jsxs)(wc,{open:n,onOpenChange:()=>mt(e.providerId,t.familyId??`other`),children:[(0,$.jsxs)(Cc,{className:`flex w-full items-center justify-between rounded-md px-1 py-1.5 text-left hover:bg-[var(--interactive-hover)]/50 transition-colors`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-medium text-foreground`,children:t.familyLabel}),n?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-4 w-4 text-muted-foreground`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-4 w-4 text-muted-foreground`})]}),(0,$.jsx)(Sc,{children:(0,$.jsx)(`div`,{className:`space-y-2.5 pb-1 pl-1 pt-1`,children:t.models.map(([t,n])=>{let r=te===`remaining`?n.remainingPercent:n.usedPercent,i=xa(n.usedPercent,n.resetAt,n.windowSeconds),a=i?.dailyAllocationPercent==null?null:te===`remaining`?100-Da(i.elapsedRatio):Da(i.elapsedRatio),o=Ca(n.valueLabel,r);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`truncate typography-micro text-muted-foreground`,children:as(t)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground tabular-nums`,children:o===`-`?``:o})]}),(0,$.jsx)(cs,{percent:r,tonePercent:n.usedPercent,className:`h-1.5`,expectedMarkerPercent:a}),i&&G?(0,$.jsx)(ds,{paceInfo:i,compact:!0}):null]},`${e.providerId}-${t}`)})})})]},t.familyId??`other`)})})]})]},e.providerId))})]})]})})]}),n?(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:Xt,className:Y(Kt,`relative`,Jt===`git`&&`bg-interactive-selection text-interactive-selection-foreground`),"aria-label":i?`Close git sidebar`:`Open git sidebar`,children:(0,$.jsx)(X,{name:`layout-right`,className:`h-5 w-5`})})}),(0,$.jsx)(ia,{children:(0,$.jsx)(`p`,{children:i?`Close git sidebar`:`Open git sidebar`})})]}):null]})]})]}),wn=Y(`header-safe-area relative z-10 bg-background`,ge&&`bg-[var(--surface-background)] backdrop-blur-none`,le&&`oc-layout-divider-b`);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`header`,{ref:fe,className:wn,style:{"--padding-scale":`1`},children:le?Cn():Sn()}),(0,$.jsx)(vs,{open:Ge&&qe,onOpenChange:Ye,info:Xe,downloading:!1,downloaded:!1,progress:null,error:et,onDownload:()=>{},onRestart:()=>{},runtimeType:`web`})]})};function Kl(){}var ql=180,Jl=640,Yl=110,Xl=e=>{let t=(0,Vc.c)(44),{isOpen:n,isMobile:r,children:i}=e,{t:a}=Je(),o=K(Zl),s=K(Ql),c=K($l),l=K(eu),[u,d]=Q.useState(null),[f,p]=Q.useState(!1),m=Q.useRef(null),h=Q.useRef(0),g=Q.useRef(o||300),_=Math.min(Jl,Math.max(ql,o||300)),v,y;t[0]===n?(v=t[1],y=t[2]):(v=()=>{n||(d(null),p(!1))},y=[n],t[0]=n,t[1]=v,t[2]=y),Q.useEffect(v,y);let b,x;t[3]!==s||t[4]!==r||t[5]!==n?(b=()=>{if(r||!n||!s)return;let e=()=>{let e=m.current?.parentElement?.getBoundingClientRect().height;if(!e||e<=0)return;let t=Math.max(0,Math.round(e));d(e=>e===t?e:t)};e();let t=m.current?.parentElement;if(!t)return;let i=new ResizeObserver(e);return i.observe(t),()=>{i.disconnect()}},x=[s,r,n],t[3]=s,t[4]=r,t[5]=n,t[6]=b,t[7]=x):(b=t[6],x=t[7]),Q.useEffect(b,x);let S,C;if(t[8]!==s||t[9]!==r||t[10]!==f||t[11]!==c||t[12]!==l?(S=()=>{if(r||!f||s)return;let e=e=>{let t=h.current-e.clientY,n=Math.min(Jl,Math.max(ql,g.current+t));c(n)},t=()=>{p(!1),K.getState().bottomTerminalHeight<=Yl&&l(!1)};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t,{once:!0}),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},C=[s,r,f,c,l],t[8]=s,t[9]=r,t[10]=f,t[11]=c,t[12]=l,t[13]=S,t[14]=C):(S=t[13],C=t[14]),Q.useEffect(S,C),r)return null;let w=n?s?Math.max(0,u??_):_:0,T=n&&s,E;t[15]!==w||t[16]!==s||t[17]!==n?(E=e=>{!n||s||(p(!0),h.current=e.clientY,g.current=w,e.preventDefault())},t[15]=w,t[16]=s,t[17]=n,t[18]=E):E=t[18];let D=E,O=T?`absolute inset-x-0 bottom-0 z-40`:`relative`,k=f?`transition-none`:`transition-[height] duration-300 ease-in-out`,A=(!n||T)&&`border-t-0`,j;t[19]!==A||t[20]!==O||t[21]!==k?(j=Y(`flex overflow-hidden border-t border-border bg-sidebar`,O,k,A),t[19]=A,t[20]=O,t[21]=k,t[22]=j):j=t[22];let M;t[23]!==w||t[24]!==T?(M=T?{top:0}:{height:`${w}px`,minHeight:`${w}px`,maxHeight:`${w}px`},t[23]=w,t[24]=T,t[25]=M):M=t[25];let N=!n||!s&&w===0,P;t[26]!==D||t[27]!==s||t[28]!==n||t[29]!==f||t[30]!==a?(P=n&&!s&&(0,$.jsx)(`div`,{className:Y(`absolute left-0 top-0 z-20 h-[3px] w-full cursor-row-resize hover:bg-[var(--interactive-border)]/80 transition-colors`,f&&`bg-[var(--interactive-border)]`),onPointerDown:D,role:`separator`,"aria-orientation":`horizontal`,"aria-label":a(`terminalView.bottomDock.resizeAria`)}),t[26]=D,t[27]=s,t[28]=n,t[29]=f,t[30]=a,t[31]=P):P=t[31];let F=!n&&`pointer-events-none select-none opacity-0`,I;t[32]===F?I=t[33]:(I=Y(`relative z-10 flex h-full min-h-0 w-full flex-col transition-opacity duration-300 ease-in-out`,F),t[32]=F,t[33]=I);let ee=!n,L;t[34]!==i||t[35]!==I||t[36]!==ee?(L=(0,$.jsx)(`div`,{className:I,"aria-hidden":ee,children:i}),t[34]=i,t[35]=I,t[36]=ee,t[37]=L):L=t[37];let R;return t[38]!==j||t[39]!==M||t[40]!==N||t[41]!==P||t[42]!==L?(R=(0,$.jsxs)(`section`,{ref:m,className:j,style:M,"aria-hidden":N,children:[P,L]}),t[38]=j,t[39]=M,t[40]=N,t[41]=P,t[42]=L,t[43]=R):R=t[43],R};function Zl(e){return e.bottomTerminalHeight}function Ql(e){return e.isBottomTerminalExpanded}function $l(e){return e.setBottomTerminalHeight}function eu(e){return e.setBottomTerminalOpen}var tu=260,nu=260,ru=500,iu=({isOpen:e,isMobile:t,children:n,className:r,topBar:i})=>{let{t:a}=Je(),o=K(e=>e.sidebarWidth),s=K(e=>e.setSidebarWidth),[c,l]=Q.useState(!1),u=Q.useRef(0),d=Q.useRef(o||tu),f=Q.useRef(null),p=Q.useRef(null),m=Q.useRef(null),h=Q.useCallback(e=>Math.min(ru,Math.max(nu,e)),[]),g=Q.useCallback(e=>{let t=m.current;t&&(t.style.width=`${e}px`,t.style.minWidth=`${e}px`,t.style.maxWidth=`${e}px`,t.style.setProperty(`--oc-left-sidebar-width`,`${e}px`))},[]);if(Q.useEffect(()=>{t&&c&&l(!1)},[t,c]),Q.useEffect(()=>{c||(f.current=null,p.current=null)},[c]),t)return null;let _=Math.min(ru,Math.max(nu,o||tu)),v=e?_:0,y=t=>{if(e){try{t.currentTarget.setPointerCapture(t.pointerId)}catch{}p.current=t.pointerId,l(!0),u.current=t.clientX,d.current=v,f.current=v,g(v),t.preventDefault()}},b=e=>{if(t||!c||p.current!==e.pointerId)return;let n=e.clientX-u.current,r=h(d.current+n);f.current!==r&&(f.current=r,g(r))},x=e=>{if(p.current!==e.pointerId||t)return;try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}let n=h(f.current??v);p.current=null,f.current=null,l(!1),s(n)},S=c?f.current??v:v;return(0,$.jsxs)(`aside`,{ref:m,className:Y(`relative flex h-full overflow-hidden oc-layout-divider-r will-change-[width] motion-reduce:transition-none`,`bg-sidebar oc-vibrancy-surface`,!e&&`border-r-0`,r),style:{width:`${S}px`,minWidth:`${S}px`,maxWidth:`${S}px`,"--oc-left-sidebar-width":`${c?S:_}px`,overflowX:`clip`,transitionProperty:c?`none`:`width, min-width, max-width`,transitionDuration:`200ms`,transitionTimingFunction:`cubic-bezier(0.22, 1, 0.36, 1)`},"aria-hidden":!e||v===0,children:[e&&(0,$.jsx)(`div`,{className:Y(`absolute right-0 top-0 z-20 h-full w-[3px] cursor-col-resize hover:bg-[var(--interactive-border)]/80 transition-colors`,c&&`bg-[var(--interactive-border)]`),onPointerDown:y,onPointerMove:b,onPointerUp:x,onPointerCancel:x,role:`separator`,"aria-orientation":`vertical`,"aria-label":a(`sidebar.resize.leftPanelAria`)}),(0,$.jsxs)(`div`,{className:Y(`relative z-10 flex h-full shrink-0 flex-col transition-opacity duration-200 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none`,c&&`pointer-events-none`,!e&&`pointer-events-none select-none opacity-0`),style:{width:`var(--oc-left-sidebar-width)`,overflowX:`hidden`},"aria-hidden":!e,children:[i,(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,$.jsx)(wa,{children:n})})]})]})},au=()=>{let e=(0,Vc.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={height:`var(--oc-header-height, 3rem)`},e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{"aria-hidden":!0,className:`app-region-drag shrink-0`,style:{width:`var(--oc-titlebar-left-inset, 0.75rem)`}}),e[1]=n):n=e[1];let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsxs)(`div`,{className:`flex shrink-0`,style:t,children:[n,(0,$.jsx)(`div`,{"aria-hidden":!0,className:`app-region-no-drag shrink-0`,style:{width:`calc(var(--oc-titlebar-controls-width, 5.5rem) + 0.5rem)`}}),(0,$.jsx)(`div`,{"aria-hidden":!0,className:`app-region-drag flex-1`})]}),e[2]=r):r=e[2],r},ou=e=>{let t=(0,Vc.c)(24),{className:n}=e,r=os(su),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[0]=i):i=t[0],Q.useEffect(cu,i);let a,o,s,c,l,u,d;if(t[1]!==n||t[2]!==r){d=Symbol.for(`react.early_return_sentinel`);bb0:{let e=r.trim().split(/\s+/).filter(Boolean);if(e.length===0){d=null;break bb0}let i=e.slice(0,-1);a=e.at(-1),t[10]===n?u=t[11]:(u=Y(`px-2 pb-2 pt-1`,n),t[10]=n,t[11]=u),o=e.join(` `),s=`inline-flex min-w-0 items-baseline gap-[0.28em] truncate`,t[12]===Symbol.for(`react.memo_cache_sentinel`)?(c={fontFamily:`"Syne", var(--font-sans, system-ui, sans-serif)`,fontSize:`1.0625rem`,fontWeight:700,letterSpacing:`0.08em`,lineHeight:1},t[12]=c):c=t[12],l=i.length>0&&(0,$.jsx)(`span`,{className:`text-foreground`,children:i.join(` `)})}t[1]=n,t[2]=r,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9];if(d!==Symbol.for(`react.early_return_sentinel`))return d;let f;t[13]===a?f=t[14]:(f=a&&(0,$.jsx)(`span`,{className:`text-primary`,children:a}),t[13]=a,t[14]=f);let p;t[15]!==o||t[16]!==s||t[17]!==c||t[18]!==l||t[19]!==f?(p=(0,$.jsxs)(`span`,{"aria-label":o,className:s,style:c,children:[l,f]}),t[15]=o,t[16]=s,t[17]=c,t[18]=l,t[19]=f,t[20]=p):p=t[20];let m;return t[21]!==u||t[22]!==p?(m=(0,$.jsx)(`div`,{className:u,children:p}),t[21]=u,t[22]=p,t[23]=m):m=t[23],m};function su(e){return e.sidebarBrandName}function cu(){Si()}var lu=e=>{let t=(0,Vc.c)(25),{className:n}=e,{t:r}=Je(),i=K(uu),a=K(du),o;t[0]===a?o=t[1]:(o=ua(ka(`open_command_palette`,a)),t[0]=a,t[1]=o);let s=o,c;t[2]===i?c=t[3]:(c=()=>i(!0),t[2]=i,t[3]=c);let l;t[4]===r?l=t[5]:(l=r(`commandPalette.title`),t[4]=r,t[5]=l);let u;t[6]===n?u=t[7]:(u=Y(`app-region-no-drag size-7 rounded-md text-muted-foreground/75 focus-visible:ring-2 focus-visible:ring-primary`,n),t[6]=n,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(X,{name:`search`,className:`size-4 text-foreground/55 transition-colors group-hover:text-foreground group-focus-visible:text-foreground`}),t[8]=d):d=t[8];let f;t[9]!==c||t[10]!==l||t[11]!==u?(f=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,onClick:c,"aria-label":l,className:u,children:d})}),t[9]=c,t[10]=l,t[11]=u,t[12]=f):f=t[12];let p;t[13]===r?p=t[14]:(p=r(`commandPalette.title`),t[13]=r,t[14]=p);let m;t[15]===p?m=t[16]:(m=(0,$.jsx)(`span`,{children:p}),t[15]=p,t[16]=m);let h;t[17]===s?h=t[18]:(h=(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:s}),t[17]=s,t[18]=h);let g;t[19]!==m||t[20]!==h?(g=(0,$.jsx)(ia,{children:(0,$.jsxs)(`p`,{className:`flex items-center gap-2`,children:[m,h]})}),t[19]=m,t[20]=h,t[21]=g):g=t[21];let _;return t[22]!==g||t[23]!==f?(_=(0,$.jsxs)(oa,{children:[f,g]}),t[22]=g,t[23]=f,t[24]=_):_=t[24],_};function uu(e){return e.setCommandPaletteOpen}function du(e){return e.shortcutOverrides}var fu=`app-region-no-drag inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground/75 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary hover:bg-interactive-hover hover:text-foreground transition-colors`,pu=()=>{let e=(0,Vc.c)(46),{t}=Je(),n=K(mu),r=K(hu),i=K(gu),a=K(_u),o=os(vu),s=Q.useRef(null),c=ua(ka(`toggle_sidebar`,a)),{usesFramelessChrome:l,side:u}=Ss(),d;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=S(),e[0]=d):d=e[0];let f=d,p=!f||!n||!o,m;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(m=ee()&&!f&&!H(),e[1]=m):m=e[1];let h=m,g=bu,_,v;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{if(typeof document>`u`)return;let e=s.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().width;document.documentElement.style.setProperty(`--oc-titlebar-controls-width`,`${Math.round(t)}px`)};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},v=[],e[2]=_,e[3]=v):(_=e[2],v=e[3]),Q.useEffect(_,v);let y=h&&n?`${r||260}px`:void 0,b;e[4]===y?b=e[5]:(b={height:`var(--oc-header-height, 3rem)`,paddingLeft:`var(--oc-titlebar-left-inset, 0.75rem)`,width:y},e[4]=y,e[5]=b);let x=h&&n&&`w-full justify-between`,C;e[6]===x?C=e[7]:(C=Y(`flex items-center gap-2`,x),e[6]=x,e[7]=C);let w;e[8]===n?w=e[9]:(w=h&&n?(0,$.jsx)(ou,{className:`flex min-w-0 items-center p-0`}):null,e[8]=n,e[9]=w);let T;e[10]!==l||e[11]!==u?(T=l&&u===`left`?(0,$.jsx)(xs,{visible:!0,position:`left`}):null,e[10]=l,e[11]=u,e[12]=T):T=e[12];let E;e[13]!==t||e[14]!==l?(E=l?(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:g,"aria-label":t(`header.actions.openAppMenuAria`),className:Y(fu,`shrink-0`),children:(0,$.jsx)(X,{name:`menu-2`,className:`h-[18px] w-[18px]`})})}),(0,$.jsx)(ia,{children:(0,$.jsx)(`p`,{children:t(`header.actions.openAppMenu`)})})]}):null,e[13]=t,e[14]=l,e[15]=E):E=e[15];let D;e[16]===p?D=e[17]:(D=p?(0,$.jsx)(lu,{}):null,e[16]=p,e[17]=D);let O=oa,k;e[18]===t?k=e[19]:(k=t(`header.actions.openSessionsAria`),e[18]=t,e[19]=k);let A,j;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(A=Y(fu,`group shrink-0`),j=(0,$.jsx)(X,{name:`layout-left-rounded`,className:`size-4 text-foreground/55 transition-colors group-hover:text-foreground group-focus-visible:text-foreground`}),e[20]=A,e[21]=j):(A=e[20],j=e[21]);let M;e[22]!==k||e[23]!==i?(M=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:i,"aria-label":k,className:A,children:j})}),e[22]=k,e[23]=i,e[24]=M):M=e[24];let N=ia,P=t(`header.actions.openSessionsWithShortcut`,{shortcut:c}),F;e[25]===P?F=e[26]:(F=(0,$.jsx)(`p`,{children:P}),e[25]=P,e[26]=F);let I;e[27]!==N||e[28]!==F?(I=(0,$.jsx)(N,{children:F}),e[27]=N,e[28]=F,e[29]=I):I=e[29];let L;e[30]!==O||e[31]!==M||e[32]!==I?(L=(0,$.jsxs)(O,{children:[M,I]}),e[30]=O,e[31]=M,e[32]=I,e[33]=L):L=e[33];let R;e[34]!==D||e[35]!==L?(R=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[D,L]}),e[34]=D,e[35]=L,e[36]=R):R=e[36];let z;e[37]!==T||e[38]!==E||e[39]!==R||e[40]!==C||e[41]!==w?(z=(0,$.jsxs)(`div`,{ref:s,className:C,children:[w,T,E,R]}),e[37]=T,e[38]=E,e[39]=R,e[40]=C,e[41]=w,e[42]=z):z=e[42];let B;return e[43]!==z||e[44]!==b?(B=(0,$.jsx)(`div`,{className:`app-region-no-drag absolute left-0 top-0 z-30 flex select-none items-center pr-2`,style:b,children:z}),e[43]=z,e[44]=b,e[45]=B):B=e[45],B};function mu(e){return e.isSidebarOpen}function hu(e){return e.sidebarWidth}function gu(e){return e.toggleSidebar}function _u(e){return e.shortcutOverrides}function vu(e){return e.sidebarBrandName.trim().length>0}function yu(e){console.warn(`[titlebar] failed to open app menu`,e)}function bu(e){let t=e.currentTarget.getBoundingClientRect();w(`desktop_show_app_menu`,{x:t.left,y:t.bottom}).catch(yu)}var xu=420,Su=({isOpen:e,children:t,className:n})=>{let{t:r}=Je(),i=K(e=>e.rightSidebarWidth),a=K(e=>e.setRightSidebarWidth),[o,s]=Q.useState(!1),c=Q.useRef(0),l=Q.useRef(i||xu),u=Q.useRef(null),d=Q.useRef(null),f=Q.useRef(null),p=Q.useCallback(e=>Math.min(860,Math.max(360,e)),[]),m=Q.useCallback(e=>{let t=f.current;t&&(t.style.width=`${e}px`,t.style.minWidth=`${e}px`,t.style.maxWidth=`${e}px`,t.style.setProperty(`--oc-right-sidebar-width`,`${e}px`))},[]),h=Math.min(860,Math.max(360,i||xu)),g=e?h:0;Q.useLayoutEffect(()=>{if(o)return;let e=f.current;e&&(e.style.minWidth=``,e.style.maxWidth=``)},[e,o,h]);let _=t=>{if(e){try{t.currentTarget.setPointerCapture(t.pointerId)}catch{}d.current=t.pointerId,s(!0),c.current=t.clientX,l.current=g,u.current=g,m(g),t.preventDefault()}},v=e=>{if(!o||d.current!==e.pointerId)return;let t=c.current-e.clientX,n=p(l.current+t);u.current!==n&&(u.current=n,m(n))},y=e=>{if(d.current!==e.pointerId)return;try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}let t=p(u.current??g);d.current=null,u.current=null,s(!1),a(t)},b=o?u.current??g:g;return(0,$.jsxs)(`aside`,{ref:f,className:Y(`relative flex h-full overflow-hidden oc-layout-divider-l will-change-[width] motion-reduce:transition-none`,`bg-sidebar`,!e&&`border-l-0`,n),style:{width:`${b}px`,"--oc-right-sidebar-width":`${o?b:h}px`,overflowX:`clip`,transitionProperty:o?`none`:`width`,transitionDuration:`200ms`,transitionTimingFunction:`cubic-bezier(0.22, 1, 0.36, 1)`},"aria-hidden":!e||g===0,children:[e&&(0,$.jsx)(`div`,{className:Y(`absolute left-0 top-0 z-20 h-full w-[3px] cursor-col-resize hover:bg-[var(--interactive-border)]/80 transition-colors`,o&&`bg-[var(--interactive-border)]`),onPointerDown:_,onPointerMove:v,onPointerUp:y,onPointerCancel:y,role:`separator`,"aria-orientation":`vertical`,"aria-label":r(`sidebar.resize.rightPanelAria`)}),(0,$.jsx)(`div`,{className:Y(`relative z-10 flex h-full min-h-0 shrink-0 flex-col pt-2 transition-opacity duration-200 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none`,o&&`pointer-events-none`,!e&&`pointer-events-none select-none opacity-0`),style:{width:`var(--oc-right-sidebar-width)`},"aria-hidden":!e,children:e?t:null})]})},Cu=12,wu=[{id:`left`,x:22,y:58,delay:0,radius:120,colorVar:`--status-success`},{id:`center`,x:50,y:42,delay:120,radius:150,colorVar:`--primary-base`},{id:`right`,x:78,y:55,delay:200,radius:130,colorVar:`--status-info`}],Tu=e=>{let t=(0,Vc.c)(18),{isActive:n,burstKey:r,className:i,durationMs:a,bursts:o,onComplete:s}=e,c=r===void 0?0:r,l=a===void 0?900:a,u=o===void 0?wu:o,d=Q.useRef(!1),f,p;t[0]!==n||t[1]!==s?(f=()=>{!n&&d.current&&s?.(),n&&(d.current=!0)},p=[n,s],t[0]=n,t[1]=s,t[2]=f,t[3]=p):(f=t[2],p=t[3]),Q.useEffect(f,p);let m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=Array.from({length:Cu},Eu),t[4]=m):m=t[4];let h=m;if(!n)return null;let g;t[5]===i?g=t[6]:(g=Y(`fireworks-overlay pointer-events-none`,i),t[5]=i,t[6]=g);let _;if(t[7]!==c||t[8]!==u||t[9]!==l){let e;t[11]!==c||t[12]!==l?(e=e=>{let t={"--burst-delay":`${e.delay}ms`,"--burst-x":`${e.x}%`,"--burst-y":`${e.y}%`,"--firework-color":`var(${e.colorVar})`,"--firework-duration":`${l}ms`};return(0,$.jsx)(`div`,{className:`firework-burst`,style:t,children:h.map((t,n)=>{let r=t.x*e.radius,i=t.y*e.radius,a={"--translate-x":`${r}px`,"--translate-y":`${i}px`,"--particle-delay":`${t.delay}ms`,color:`var(${e.colorVar})`};return(0,$.jsx)(`span`,{className:`firework-particle`,style:a},`${e.id}-${n}-${c}`)})},`${e.id}-${c}`)},t[11]=c,t[12]=l,t[13]=e):e=t[13],_=u.map(e),t[7]=c,t[8]=u,t[9]=l,t[10]=_}else _=t[10];let v;return t[14]!==c||t[15]!==g||t[16]!==_?(v=(0,$.jsx)(`div`,{className:g,"aria-hidden":`true`,"data-burst-key":c,children:_}),t[14]=c,t[15]=g,t[16]=_,t[17]=v):v=t[17],v};function Eu(e,t){let n=Math.PI*2*t/Cu;return{x:Math.cos(n),y:Math.sin(n),delay:t*18}}var Du=e=>{let t=(0,Vc.c)(13),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{durationMs:r}=n,i=r===void 0?3400:r,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a={isActive:!1,cycle:0},t[2]=a):a=t[2];let[o,s]=Q.useState(a),c=Q.useRef(null),l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{c.current&&=(window.clearTimeout(c.current),null)},t[3]=l):l=t[3];let u=l,d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>{u(),s(Ou)},t[4]=d):d=t[4];let f=d,p;t[5]===i?p=t[6]:(p=()=>{u(),s(ku),c.current=window.setTimeout(()=>{s(Au),c.current=null},i)},t[5]=i,t[6]=p);let m=p,h,g;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>()=>u(),g=[u],t[7]=h,t[8]=g):(h=t[7],g=t[8]),Q.useEffect(h,g);let _;return t[9]!==o.cycle||t[10]!==o.isActive||t[11]!==m?(_={isActive:o.isActive,burstKey:o.cycle,triggerFireworks:m,dismissFireworks:f},t[9]=o.cycle,t[10]=o.isActive,t[11]=m,t[12]=_):_=t[12],_};function Ou(e){return e.isActive?{...e,isActive:!1}:e}function ku(e){return{isActive:!0,cycle:e.cycle+1}}function Au(e){return e.isActive?{...e,isActive:!1}:e}var ju=Q.createContext(void 0),Mu=e=>{let t=(0,Vc.c)(10),{children:n}=e,{isActive:r,burstKey:i,triggerFireworks:a,dismissFireworks:o}=Du(),s;t[0]!==o||t[1]!==a?(s={triggerFireworks:a,dismissFireworks:o},t[0]=o,t[1]=a,t[2]=s):s=t[2];let c=s,l;t[3]!==i||t[4]!==r?(l=(0,$.jsx)(Tu,{isActive:r,burstKey:i}),t[3]=i,t[4]=r,t[5]=l):l=t[5];let u;return t[6]!==n||t[7]!==l||t[8]!==c?(u=(0,$.jsxs)(ju.Provider,{value:c,children:[n,l]}),t[6]=n,t[7]=l,t[8]=c,t[9]=u):u=t[9],u},Nu=()=>{let e=Q.useContext(ju);if(!e)throw Error(`useFireworksCelebration must be used within FireworksProvider`);return e},Pu=`gitmojiCache`,Fu=6048e5,Iu=`1`,Lu=`https://raw.githubusercontent.com/carloscuesta/gitmoji/master/packages/gitmojis/src/gitmojis.json`,Ru=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.emoji==`string`&&typeof t.code==`string`&&typeof t.description==`string`},zu=()=>{if(typeof window>`u`)return null;try{let e=window.localStorage.getItem(Pu);if(!e)return null;let t=JSON.parse(e);return!t||t.version!==Iu||typeof t.fetchedAt!=`number`||!Array.isArray(t.gitmojis)?null:{gitmojis:t.gitmojis.filter(Ru),fetchedAt:t.fetchedAt,version:t.version}}catch{return null}},Bu=e=>{if(!(typeof window>`u`))try{let t={gitmojis:e,fetchedAt:Date.now(),version:Iu};window.localStorage.setItem(Pu,JSON.stringify(t))}catch{return}},Vu=e=>Date.now()-e.fetchedAt<Fu,Hu=null,Uu=new Set,Wu=async()=>{if(Hu)return Hu;let e=(async()=>{try{let e=await fetch(Lu);if(!e.ok)throw Error(`Failed to load gitmojis: ${e.statusText}`);let t=await e.json(),n=Array.isArray(t.gitmojis)?t.gitmojis.filter(Ru):[];return Bu(n),Uu.forEach(e=>e(n)),n}catch(e){console.warn(`Failed to load gitmoji list:`,e);let t=[];return Uu.forEach(e=>e(t)),t}finally{Hu=null}})();return Hu=e,e},Gu=e=>{let[t,n]=Q.useState(()=>e?zu()?.gitmojis??[]:[]),[r,i]=Q.useState(!1),a=Q.useRef(e);return a.current=e,Q.useEffect(()=>{if(!e){Uu.delete(n),n([]),i(!1);return}let t=zu();if(t&&(n(t.gitmojis),Vu(t)))return;Uu.add(n),i(!0);let r=!1;return Wu().finally(()=>{!r&&a.current&&i(!1)}),()=>{r=!0,Uu.delete(n)}},[e]),{gitmojis:t,isLoading:r,ensureLoaded:Q.useCallback(async()=>{if(!a.current)return[];if(t.length>0)return t;let e=zu();return e&&Vu(e)?e.gitmojis:Wu()},[t])}},Ku=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.replace(/\/+$/,``)};function qu(e,t,n){let r=(0,Vc.c)(5),[i,a]=Q.useState(),o,s;return r[0]!==n||r[1]!==e||r[2]!==t?(o=()=>{if(t){a(void 0);return}if(!e){a(void 0);return}a(void 0);let r=!1;return(async()=>{let[t,i]=await Promise.all([cr(e),Zn(e)]).catch(Ju);if(r)return;let o=Ku(t),s=Ku(i);if(!o||!s||s===o)return;let c=n||``,l=s.split(`/`).filter(Boolean).pop()||s;a({source:`sdk`,path:s,projectDirectory:o,branch:c,label:c||l,name:l,worktreeRoot:s,worktreeStatus:`ready`,headState:c?`branch`:`unborn`,worktreeSource:`existing`})})(),()=>{r=!0}},s=[e,t,n],r[0]=n,r[1]=e,r[2]=t,r[3]=o,r[4]=s):(o=r[3],s=r[4]),Q.useEffect(o,s),t??i}function Ju(){return[``,``]}var Yu=({open:e,onOpenChange:t,directory:n,hasUncommittedChanges:r,hasStagedChanges:i=!1,uncommittedFileCount:a,onChanged:o})=>{let{t:s}=Je(),[c,l]=Q.useState([]),[u,d]=Q.useState(!1),[f,p]=Q.useState(``),[m,h]=Q.useState(``),[g,_]=Q.useState(null),[v,y]=Q.useState({}),b=Q.useCallback(async()=>{if(n){d(!0);try{let e=await Qn(n);l(e.stashes),y({})}catch(e){J.error(e instanceof Error?e.message:s(`gitView.stashes.toast.loadFailed`))}finally{d(!1)}}},[n,s]);Q.useEffect(()=>{e&&b()},[b,e]),Q.useEffect(()=>{if(!e||!n||c.length===0)return;let t=!1,r=c.map(e=>e.ref);return rr(n,r).then(e=>{t||y(e.counts)}).catch(()=>void 0),()=>{t=!0}},[n,e,c]);let x=Q.useMemo(()=>{let e=f.trim().toLowerCase();return e?c.filter(t=>`${t.ref} ${t.message} ${t.relativeTime}`.toLowerCase().includes(e)):c},[f,c]),S=Q.useCallback(async e=>{await b(),await o?.(e)},[b,o]),C=async()=>{if(!(!n||g)){_(`create`);try{let e=await tr(n,{message:m.trim()||void 0});e.created?(J.success(s(`gitView.stashes.toast.created`)),h(``)):J.info(s(`gitView.stashes.toast.noChanges`)),await S({affectsIndex:!!(e.created&&i)})}catch(e){J.error(e instanceof Error?e.message:s(`gitView.stashes.toast.createFailed`))}finally{_(null)}}},w=async(e,t)=>{if(!(!n||g)&&!(t===`drop`&&!window.confirm(s(`gitView.stashes.confirm.drop`,{ref:e.ref})))){_(`${t}:${e.ref}`);try{t===`apply`&&await pr(n,{ref:e.ref}),t===`pop`&&await nr(n,{ref:e.ref}),t===`drop`&&await ir(n,{ref:e.ref});let r=t===`apply`?`gitView.stashes.toast.applySuccess`:t===`pop`?`gitView.stashes.toast.popSuccess`:`gitView.stashes.toast.dropSuccess`;J.success(s(r)),await S({affectsIndex:t!==`drop`})}catch(e){let n=t===`apply`?`gitView.stashes.toast.applyFailed`:t===`pop`?`gitView.stashes.toast.popFailed`:`gitView.stashes.toast.dropFailed`;J.error(e instanceof Error?e.message:s(n)),await S({affectsIndex:t!==`drop`})}finally{_(null)}}},T=g!==null;return(0,$.jsx)(Hn,{open:e,onOpenChange:t,children:(0,$.jsxs)(zn,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsxs)(Ln,{children:[(0,$.jsxs)(Bn,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`archive-stack`,className:`h-5 w-5`}),s(`gitView.stashes.title`)]}),(0,$.jsx)(Vn,{children:s(`gitView.stashes.description`)})]}),(0,$.jsxs)(`div`,{className:`mt-2 rounded-lg border border-border/60 bg-[var(--surface-elevated)] p-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,$.jsx)(na,{value:m,onChange:e=>h(e.target.value),placeholder:s(`gitView.stashes.messagePlaceholder`),disabled:T||!r,className:`flex-1`}),(0,$.jsxs)(Z,{onClick:C,disabled:!r||T||!n,children:[g===`create`?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`inbox-archive`,className:`size-4`}),s(`gitView.stashes.actions.stashCurrentWithCount`,{count:a})]})]}),(0,$.jsx)(`p`,{className:`typography-meta mt-2 text-muted-foreground`,children:s(`gitView.stashes.includeUntrackedHint`)})]}),(0,$.jsxs)(`div`,{className:`relative mt-2`,children:[(0,$.jsx)(X,{name:`search`,className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(na,{value:f,onChange:e=>p(e.target.value),placeholder:s(`gitView.stashes.searchPlaceholder`),className:`pl-9`})]}),(0,$.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:u?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-10 text-muted-foreground`,children:(0,$.jsx)(X,{name:`loader-4`,className:`size-5 animate-spin`})}):x.length===0?(0,$.jsx)(`div`,{className:`py-8 text-center text-muted-foreground`,children:s(f?`gitView.stashes.empty.search`:`gitView.stashes.empty.list`)}):x.map((e,t)=>(0,$.jsxs)(`div`,{className:`group flex items-center gap-2 rounded py-1.5 transition-colors hover:bg-interactive-hover/30`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 pl-2`,children:[(0,$.jsx)(`p`,{className:`typography-small truncate text-foreground`,children:e.message||s(`gitView.stashes.untitled`)}),(0,$.jsxs)(`p`,{className:`typography-meta truncate text-muted-foreground`,children:[(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`span`,{children:t===0&&!f.trim()?s(`gitView.stashes.latestLabel`):s(`gitView.stashes.itemNumber`,{number:t+1})})}),(0,$.jsx)(ia,{sideOffset:6,children:e.ref})]}),` · `,e.relativeTime,` · `,typeof v[e.ref]==`number`?s(`gitView.stashes.fileCount`,{count:v[e.ref]}):s(`gitView.stashes.fileCountLoading`)]})]}),(0,$.jsxs)(`div`,{className:`mr-2 flex shrink-0 items-center gap-1 opacity-100 sm:opacity-0 sm:group-hover:opacity-100`,children:[(0,$.jsx)(Xu,{label:s(`gitView.stashes.actions.apply`),loading:g===`apply:${e.ref}`,onClick:()=>w(e,`apply`),disabled:T,children:(0,$.jsx)(X,{name:`inbox-unarchive`,className:`size-4`})}),(0,$.jsx)(Xu,{label:s(`gitView.stashes.actions.pop`),loading:g===`pop:${e.ref}`,onClick:()=>w(e,`pop`),disabled:T,children:(0,$.jsx)(X,{name:`inbox-unarchive-fill`,className:`size-4`})}),(0,$.jsx)(Xu,{label:s(`gitView.stashes.actions.drop`),loading:g===`drop:${e.ref}`,onClick:()=>w(e,`drop`),disabled:T,destructive:!0,children:(0,$.jsx)(X,{name:`delete-bin`,className:`size-4`})})]})]},e.ref))})]})})},Xu=e=>{let t=(0,Vc.c)(17),{label:n,loading:r,disabled:i,destructive:a,onClick:o,children:s}=e,c=r||void 0,l=a?`text-[var(--status-error)] hover:text-[var(--status-error)]`:`text-muted-foreground hover:text-foreground`,u;t[0]===l?u=t[1]:(u=Y(`flex h-6 w-6 items-center justify-center transition-colors disabled:opacity-50`,l),t[0]=l,t[1]=u);let d;t[2]!==s||t[3]!==r?(d=r?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):s,t[2]=s,t[3]=r,t[4]=d):d=t[4];let f;t[5]!==i||t[6]!==n||t[7]!==o||t[8]!==c||t[9]!==u||t[10]!==d?(f=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":n,"aria-busy":c,className:u,onClick:o,disabled:i,children:d})}),t[5]=i,t[6]=n,t[7]=o,t[8]=c,t[9]=u,t[10]=d,t[11]=f):f=t[11];let p;t[12]===n?p=t[13]:(p=(0,$.jsx)(ia,{sideOffset:6,children:n}),t[12]=n,t[13]=p);let m;return t[14]!==f||t[15]!==p?(m=(0,$.jsxs)(oa,{children:[f,p]}),t[14]=f,t[15]=p,t[16]=m):m=t[16],m},Zu=e=>{let t=(0,Vc.c)(16),{onOpenStashes:n}=e,{t:r}=Je(),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(X,{name:`git-commit`,className:`size-10 text-muted-foreground/70 mb-4`}),t[0]=i):i=t[0];let a;t[1]===r?a=t[2]:(a=r(`gitView.empty.cleanTitle`),t[1]=r,t[2]=a);let o;t[3]===a?o=t[4]:(o=(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold text-foreground mb-1`,children:a}),t[3]=a,t[4]=o);let s;t[5]===r?s=t[6]:(s=r(`gitView.empty.cleanDescription`),t[5]=r,t[6]=s);let c;t[7]===s?c=t[8]:(c=(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground mb-4`,children:s}),t[7]=s,t[8]=c);let l;t[9]!==n||t[10]!==r?(l=n?(0,$.jsxs)(Z,{type:`button`,variant:`outline`,size:`sm`,onClick:n,className:`gap-1.5`,children:[(0,$.jsx)(X,{name:`archive-stack`,className:`size-4`}),r(`gitView.stashes.title`)]}):null,t[9]=n,t[10]=r,t[11]=l):l=t[11];let u;return t[12]!==o||t[13]!==c||t[14]!==l?(u=(0,$.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-10 px-4 text-center`,children:[i,o,c,l]}),t[12]=o,t[13]=c,t[14]=l,t[15]=u):u=t[15],u},Qu=8,$u=e=>{let t=(0,Vc.c)(18),{laned:n,totalLanes:r,isExpanded:i}=e,{lane:a,color:o,connectors:s}=n,c=Math.max(r,a+1)*Qu+Qu/2,l=Q.useRef(null),u=Q.useRef(null),d;t[0]!==o||t[1]!==s||t[2]!==a||t[3]!==c?(d=()=>{let e=l.current,t=u.current;if(!e||!t)return;let n=e.offsetHeight;if(n===0)return;let r=window.devicePixelRatio||1;t.width=c*r,t.height=n*r;let i=t.getContext(`2d`);if(!i)return;i.scale(r,r),i.clearRect(0,0,c,n);let d=n/2,f=a*Qu+Qu/2,p=getComputedStyle(t),m=p.getPropertyValue(`--surface-muted-foreground`).trim()||p.color,h=e=>{if(!e.startsWith(`var(`))return e;let t=e.slice(4,-1).trim();return p.getPropertyValue(t).trim()||m},g=[...s].sort(td);for(let e of g){let t=e.fromLane*Qu+Qu/2,r=e.toLane*Qu+Qu/2,a=e.type===`passing`?.72:e.type===`branch-out`||e.type===`merge-in`?.95:1;i.beginPath(),i.strokeStyle=h(e.color),i.globalAlpha=a,i.lineWidth=1.25,i.lineCap=`round`;bb64:switch(e.type){case`passing`:case`commit-lane`:i.moveTo(t,0),i.lineTo(t,n);break bb64;case`top-stub`:i.moveTo(t,0),i.lineTo(t,d);break bb64;case`bottom-stub`:i.moveTo(t,d),i.lineTo(t,n);break bb64;case`branch-out`:{let e=(d+n)/2;i.moveTo(f,d),i.bezierCurveTo(f,e,r,e,r,n);break bb64}case`merge-in`:{let e=d/2;i.moveTo(t,0),i.bezierCurveTo(t,e,f,e,f,d);break bb64}default:continue}i.stroke(),i.globalAlpha=1}let _=p.getPropertyValue(`--background`).trim()||p.getPropertyValue(`--surface-background`).trim();i.beginPath(),i.arc(f,d,4,0,Math.PI*2),i.fillStyle=h(o),i.fill(),i.beginPath(),i.arc(f,d,5,0,Math.PI*2),i.strokeStyle=_||m,i.lineWidth=2,i.stroke()},t[0]=o,t[1]=s,t[2]=a,t[3]=c,t[4]=d):d=t[4];let f;t[5]!==o||t[6]!==s||t[7]!==i||t[8]!==a||t[9]!==n||t[10]!==r||t[11]!==c?(f=[n,a,o,s,r,i,c],t[5]=o,t[6]=s,t[7]=i,t[8]=a,t[9]=n,t[10]=r,t[11]=c,t[12]=f):f=t[12],Q.useLayoutEffect(d,f);let p;t[13]===c?p=t[14]:(p={width:c,height:`100%`,position:`relative`,flexShrink:0,overflow:`hidden`},t[13]=c,t[14]=p);let m;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(`canvas`,{ref:u,style:{position:`absolute`,inset:0,width:`100%`,height:`100%`,display:`block`}}),t[15]=m):m=t[15];let h;return t[16]===p?h=t[17]:(h=(0,$.jsx)(`div`,{ref:l,style:p,children:m}),t[16]=p,t[17]=h),h};function ed(e){return e===`branch-out`||e===`merge-in`}function td(e,t){let n=ed;return!!n(e.type)-+!!n(t.type)}var nd=15e3,rd=500,id=12,ad=8388608,od=e=>typeof e==`string`?0:(e.original?.length??0)+(e.modified?.length??0),sd=e=>{if(e.size<=id){let t=0;for(let n of e.values())t+=od(n);if(t<=ad)return e}let t=Array.from(e.entries()).reverse(),n=new Map,r=0;for(let[e,i]of t){if(n.size>=id)continue;let t=od(i);r+t>ad&&n.size>0||(n.set(e,i),r+=t)}return new Map(Array.from(n.entries()).reverse())};function cd(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e:Oa(n,t,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function ld(e){switch(e){case`A`:return`text-[var(--status-success)]`;case`D`:return`text-[var(--status-error)]`;case`M`:return`text-[var(--status-warning)]`;case`R`:return`text-[var(--status-info)]`;default:return`text-muted-foreground`}}function ud(e){return e?e.split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>{let t=e.startsWith(`HEAD ->`);return{label:t?e.replace(`HEAD -> `,``):e.replace(`tag: `,``),isHead:t,isTag:e.startsWith(`tag: `)}}):[]}var dd=Q.memo(({entry:e,mode:t=`history`,laned:n,totalLanes:r,isExpanded:i,onToggle:a,files:o,isLoadingFiles:s,onCopyHash:c,directory:l,onConflict:u,onActionSuccess:d})=>{let{t:f}=Je(),p=K(e=>e.timeFormatPreference),m=t===`graph`,[h,g]=Q.useState(null),[_,v]=Q.useState(!1),[y,b]=Q.useState(``),[x,S]=Q.useState(null),[C,w]=Q.useState(new Set),[T,E]=Q.useState(new Map),[D,O]=Q.useState(new Set),k=async()=>{if(l){g(`checkout`);try{await fr(l,e.hash),J.success(f(`gitView.history.actions.detachedHead`)),d?.()}catch(e){J.error(String(e.message))}finally{g(null)}}},A=async()=>{if(!(!l||!y.trim())){g(`createBranch`);try{await ur(l,y.trim(),e.hash),v(!1),b(``),d?.()}catch(e){J.error(String(e.message))}finally{g(null)}}},j=async()=>{if(l){g(`cherryPick`);try{let t=await or(l,e.hash);t.conflict?u?.({conflict:!0,conflictFiles:t.conflictFiles,operation:`cherry-pick`}):d?.()}catch(e){J.error(String(e.message))}finally{g(null)}}},M=async()=>{if(l){g(`revert`);try{let t=await sr(l,e.hash);t.conflict?u?.({conflict:!0,conflictFiles:t.conflictFiles,operation:`revert`}):d?.()}catch(e){J.error(String(e.message))}finally{g(null)}}},N=async(t,n=!1)=>{if(!(!l||h!==null)){g(`reset`);try{await er(l,e.hash,t,n),d?.()}catch(e){J.error(String(e.message))}finally{g(null)}}},P=async()=>{if(!x)return;let e=x;switch(S(null),e){case`checkout`:return k();case`cherryPick`:return j();case`revert`:return M();case`merge`:return F();case`rebase`:return I();case`resetSoft`:return N(`soft`);case`resetMixed`:return N(`mixed`);case`resetHard`:return N(`hard`,!0)}},F=async()=>{if(l){g(`merge`);try{let t=await mr(l,{branch:e.hash});t.conflict?u?.({conflict:!0,conflictFiles:t.conflictFiles,operation:`merge`}):d?.()}catch(e){J.error(String(e.message))}finally{g(null)}}},I=async()=>{if(l){g(`rebase`);try{let t=await $n(l,{onto:e.hash});t.conflict?u?.({conflict:!0,conflictFiles:t.conflictFiles,operation:`rebase`}):d?.()}catch(e){J.error(String(e.message))}finally{g(null)}}},ee=Q.useCallback(async t=>{let n=t.path;if(!l){E(e=>new Map(e).set(n,`error`));return}E(e=>sd(new Map(e).set(n,`loading`)));try{let r=lr(l,e.hash,t.path,!1),i=new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out after ${nd}ms`)),nd)}),a=await Promise.race([r,i]);E(e=>sd(new Map(e).set(n,a)))}catch{E(e=>new Map(e).set(n,`error`))}},[l,e.hash]),L=Q.useCallback(async e=>{let t=e.path;if(e.changeType===`R`||e.isBinary){w(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n});return}let n=T.get(t);if(C.has(t)&&n&&n!==`error`){w(e=>{let n=new Set(e);return n.delete(t),n});return}w(e=>{let n=new Set(e);return n.add(t),n}),!(n&&n!==`error`)&&(e.insertions+e.deletions>rd&&!D.has(t)||await ee(e))},[T,D,ee,C]);return(0,$.jsxs)(`li`,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:a,className:Y(`w-full flex items-start gap-3 px-3 py-2 text-left transition-colors`,m?`hover:bg-[var(--interactive-hover)]/40`:i?`bg-sidebar/90`:`hover:bg-sidebar/40`),children:[m&&n&&r!==void 0?(0,$.jsx)(`div`,{className:`-my-2 shrink-0 self-stretch`,children:(0,$.jsx)($u,{laned:n,totalLanes:r,isExpanded:i})}):(0,$.jsx)(`div`,{className:`h-2 w-2 translate-y-2 rounded-full shrink-0`,style:{backgroundColor:`var(--status-success)`},"aria-hidden":!0}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[m?(()=>{let t=ud(e.refs);return t.length>0?(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1 mb-0.5`,children:t.map(e=>(0,$.jsx)(`span`,{className:Y(`inline-flex items-center px-1.5 py-0 typography-micro rounded font-medium`,e.isHead?`bg-[var(--chart-1)] text-[var(--primary-foreground)]`:e.isTag?`bg-[var(--chart-5)] text-[var(--primary-foreground)]`:`bg-[var(--interactive-hover)] text-[var(--foreground)]`),children:e.label},e.label))}):null})():null,(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-foreground line-clamp-1`,children:e.message}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1 typography-meta text-muted-foreground`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0 truncate`,children:[(0,$.jsx)(`span`,{className:`truncate min-w-[3ch]`,title:e.author_name,children:e.author_name}),(0,$.jsx)(`span`,{className:`shrink-0`,children:`·`}),(0,$.jsx)(`span`,{className:`truncate min-w-0`,title:cd(e.date,p),children:cd(e.date,p)})]}),(0,$.jsx)(`span`,{className:`shrink-0`,children:`·`}),(0,$.jsx)(`code`,{className:`shrink-0 font-mono`,children:e.hash.slice(0,8)}),(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(Z,{variant:`ghost`,size:`sm`,className:`h-5 px-1 shrink-0`,onClick:t=>{t.stopPropagation(),c(e.hash)},children:(0,$.jsx)(X,{name:`file-copy`,className:`size-3`})})}),(0,$.jsx)(ia,{sideOffset:8,children:f(`gitView.history.copySha`)})]})]})]})]}),i&&(0,$.jsxs)(`div`,{className:`px-3 pb-2 pl-8 border-t border-border/40`,children:[m&&x?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-2 border-b border-border/30 mb-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground flex-1 min-w-0`,children:f(`gitView.history.actions.${x}Confirm`)}),(0,$.jsxs)(Z,{variant:`destructive`,size:`xs`,className:`h-6 shrink-0`,disabled:h!==null,onClick:e=>{e.stopPropagation(),P()},children:[h===null?null:(0,$.jsx)(X,{name:`loader-4`,className:`size-3 animate-spin mr-1`}),f(`gitView.history.actions.confirmButton`)]}),(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,className:`h-6 shrink-0`,disabled:h!==null,onClick:e=>{e.stopPropagation(),S(null)},children:f(`gitView.history.actions.cancelButton`)})]}):m?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 py-2 border-b border-border/30 mb-2`,children:[(0,$.jsx)(Z,{variant:`outline`,size:`xs`,className:`h-6`,disabled:h!==null,onClick:e=>{e.stopPropagation(),S(`checkout`)},children:f(`gitView.history.actions.checkout`)}),_?(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`input`,{autoFocus:!0,value:y,onChange:e=>b(e.target.value),onKeyDown:e=>{e.key===`Enter`&&A(),e.key===`Escape`&&(v(!1),b(``))},placeholder:f(`gitView.history.actions.createBranchPlaceholder`),className:`h-6 text-xs px-2 rounded border border-border/60 bg-background min-w-0 w-32`}),(0,$.jsxs)(Z,{variant:`outline`,size:`xs`,className:`h-6`,disabled:!y.trim()||h!==null,onClick:e=>{e.stopPropagation(),A()},children:[h===`createBranch`?(0,$.jsx)(X,{name:`loader-4`,className:`size-3 animate-spin mr-1`}):null,f(`gitView.history.actions.createBranchConfirm`)]})]}):(0,$.jsx)(Z,{variant:`outline`,size:`xs`,className:`h-6`,onClick:e=>{e.stopPropagation(),v(!0)},children:f(`gitView.history.actions.createBranch`)}),(0,$.jsx)(Z,{variant:`outline`,size:`xs`,className:`h-6`,disabled:h!==null,onClick:e=>{e.stopPropagation(),S(`cherryPick`)},children:f(`gitView.history.actions.cherryPick`)}),(0,$.jsx)(Z,{variant:`outline`,size:`xs`,className:`h-6`,disabled:h!==null,onClick:e=>{e.stopPropagation(),S(`revert`)},children:f(`gitView.history.actions.revert`)}),(0,$.jsxs)(ga,{children:[(0,$.jsx)(va,{asChild:!0,children:(0,$.jsxs)(Z,{variant:`outline`,size:`xs`,className:`h-6`,disabled:h!==null,onClick:e=>e.stopPropagation(),children:[h===`reset`?(0,$.jsx)(X,{name:`loader-4`,className:`size-3 animate-spin mr-1`}):null,f(`gitView.history.actions.reset`)]})}),(0,$.jsx)(la,{align:`start`,className:`min-w-max`,children:[`soft`,`mixed`,`hard`].map(e=>(0,$.jsx)(da,{disabled:h!==null,onSelect:t=>{t.stopPropagation(),S(`reset${e.charAt(0).toUpperCase()+e.slice(1)}`)},children:f(`gitView.history.actions.reset${e.charAt(0).toUpperCase()+e.slice(1)}`)},e))})]}),(0,$.jsx)(Z,{variant:`outline`,size:`xs`,className:`h-6`,disabled:h!==null,onClick:e=>{e.stopPropagation(),S(`merge`)},children:f(`gitView.history.actions.merge`)}),(0,$.jsx)(Z,{variant:`outline`,size:`xs`,className:`h-6`,disabled:h!==null,onClick:e=>{e.stopPropagation(),S(`rebase`)},children:f(`gitView.history.actions.rebase`)})]}):null,s?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin text-muted-foreground`}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:f(`gitView.history.loadingFiles`)})]}):o.length===0?(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground py-2`,children:f(`gitView.history.noFiles`)}):(0,$.jsx)(`ul`,{className:`space-y-0.5 py-2`,children:o.map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>L(e),className:Y(`w-full flex items-center gap-2 typography-micro text-left cursor-pointer transition-colors rounded px-1`,C.has(e.path)?`bg-sidebar/90`:`hover:bg-sidebar/40`),children:[(0,$.jsx)(`span`,{className:Y(`font-semibold w-3 text-center shrink-0`,ld(e.changeType)),children:e.changeType}),(0,$.jsx)(`span`,{className:`truncate text-foreground min-w-0`,title:e.path,children:e.path}),!e.isBinary&&(0,$.jsxs)(`span`,{className:`shrink-0`,children:[(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,e.insertions]}),(0,$.jsx)(`span`,{className:`text-muted-foreground mx-0.5`,children:`/`}),(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,e.deletions]})]}),e.isBinary&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground shrink-0`,children:f(`gitView.history.binary`)}),(0,$.jsx)(X,{name:C.has(e.path)?`arrow-down-s`:`arrow-right-s`,className:`size-3 shrink-0 text-muted-foreground`})]}),C.has(e.path)&&(0,$.jsx)(`div`,{className:`max-h-[400px] overflow-y-auto rounded border border-border/40 mx-2 mb-1`,"data-diff-virtual-root":!0,"data-diff-virtual-content":!0,children:e.changeType===`R`?(0,$.jsx)(`div`,{className:`px-3 py-2 text-sm text-muted-foreground`,children:f(`gitView.history.renamedNoDiff`)}):e.isBinary?(0,$.jsx)(`div`,{className:`px-3 py-2 text-sm text-muted-foreground`,children:f(`gitView.history.binaryNoDiff`)}):(()=>{let t=e.insertions+e.deletions;if(!D.has(e.path)&&t>rd)return(0,$.jsxs)(`div`,{className:`flex flex-col items-start gap-1 px-3 py-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:f(`gitView.history.largeDiffTitle`,{count:t})}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:f(`gitView.history.largeDiffDescription`)}),(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`xs`,className:`h-6 px-0 text-primary hover:bg-transparent hover:underline`,onClick:()=>{O(t=>new Set(t).add(e.path)),ee(e)},children:f(`gitView.history.renderDiffAnyway`)})]});let n=T.get(e.path);return n===`loading`||n===void 0?(0,$.jsx)(`div`,{className:`px-3 py-2 text-sm text-muted-foreground`,children:f(`gitView.history.loadingDiff`)}):n===`error`?(0,$.jsx)(`button`,{type:`button`,onClick:()=>L(e),className:`w-full text-left px-3 py-2 text-sm text-muted-foreground hover:bg-[var(--interactive-hover)] transition-colors`,children:f(`gitView.history.diffError`)}):(0,$.jsx)(zs,{original:n.original,modified:n.modified,language:Eo(e.path)||``,fileName:e.path,renderSideBySide:!1,layout:`inline`,enableComments:!1})})()})]},e.path))})]})]})}),fd=[`var(--chart-1)`,`var(--chart-2)`,`var(--chart-3)`,`var(--chart-4)`,`var(--chart-5)`,`var(--syntax-keyword)`,`var(--syntax-string)`,`var(--status-info)`];function pd(e){return fd[e%fd.length]}function md(e){if(e.length===0)return[];let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r],a=[];for(let e=0;e<t.length;e++)t[e]===i.hash&&a.push(e);let o=a.length>0?a[0]:-1;if(o===-1){let e=t.indexOf(null);e===-1?(o=t.length,t.push(null)):o=e}let s=a.slice(1),c=pd(o),l=t[o]===i.hash,u=i.parents.length>0;u?t[o]=i.parents[0]:t[o]=null;let d=[];for(let e=1;e<i.parents.length;e++){let n=i.parents[e],r=t.indexOf(n);if(r!==-1)d.push(r);else{let e=t.indexOf(null),r=e===-1?t.length:e;t[r]=n,r===t.length&&t.push(n),d.push(r)}}let f=[];l&&u?f.push({fromLane:o,toLane:o,color:c,type:`commit-lane`}):l&&!u?f.push({fromLane:o,toLane:o,color:c,type:`top-stub`}):!l&&u&&f.push({fromLane:o,toLane:o,color:c,type:`bottom-stub`});for(let e of s)f.push({fromLane:e,toLane:o,color:pd(e),type:`merge-in`}),t[e]=null;for(let e of d)f.push({fromLane:o,toLane:e,color:pd(e),type:`branch-out`});for(let e=0;e<t.length;e++)t[e]!==null&&e!==o&&(d.includes(e)||f.push({fromLane:e,toLane:e,color:pd(e),type:`passing`}));n.push({commit:i,lane:o,color:c,connectors:f})}return n}var hd=[{labelKey:`gitView.history.logSize25`,value:25},{labelKey:`gitView.history.logSize50`,value:50},{labelKey:`gitView.history.logSize100`,value:100}],gd=e=>{let t=(0,Vc.c)(84),{mode:n,log:r,isLogLoading:i,logMaxCount:a,onLogMaxCountChange:o,expandedCommitHashes:s,onToggleCommit:c,commitFilesMap:l,loadingCommitHashes:u,onCopyHash:d,directory:f,showHeader:p,contentMaxHeightClassName:m,branchDivider:h,onConflict:g,onActionSuccess:_}=e,v=n===void 0?`history`:n,y=p===void 0||p,b=m===void 0?`max-h-[50vh]`:m,x=h===void 0?null:h,{t:S}=Je(),[C,w]=Q.useState(!0),T=v===`graph`,E;t[0]!==T||t[1]!==r?(E=T&&r?md(r.all):[],t[0]=T,t[1]=r,t[2]=E):E=t[2];let D=E,O;t[3]===D?O=t[4]:(O=Math.max(1,...D.map(_d)),t[3]=D,t[4]=O);let k=O,A;t[5]===D?A=t[6]:(A=new Map(D.map(vd)),t[5]=D,t[6]=A);let j=A;if(!r)return null;let M=x!==null&&x.insertBeforeIndex>0&&x.insertBeforeIndex<r.all.length,N=x!==null&&x.insertBeforeIndex===r.all.length,P=M||N,F;t[7]!==x||t[8]!==M||t[9]!==N||t[10]!==r.all?(F=M?r.all.slice(0,x.insertBeforeIndex):N?r.all:[],t[7]=x,t[8]=M,t[9]=N,t[10]=r.all,t[11]=F):F=t[11];let I=F,ee;if(t[12]!==x||t[13]!==l||t[14]!==b||t[15]!==f||t[16]!==s||t[17]!==M||t[18]!==P||t[19]!==T||t[20]!==i||t[21]!==j||t[22]!==u||t[23]!==r.all||t[24]!==a||t[25]!==k||t[26]!==v||t[27]!==_||t[28]!==g||t[29]!==d||t[30]!==o||t[31]!==c||t[32]!==S||t[33]!==I){let e=M?r.all.slice(x.insertBeforeIndex):[],n;t[35]===x?.direction?n=t[36]:(n=x?.direction===`down`?(0,$.jsx)(X,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(X,{name:`arrow-up`,className:`size-3.5`}),t[35]=x?.direction,t[36]=n);let p=n,m;t[37]!==l||t[38]!==f||t[39]!==s||t[40]!==T||t[41]!==j||t[42]!==u||t[43]!==k||t[44]!==v||t[45]!==_||t[46]!==g||t[47]!==d||t[48]!==c?(m=e=>(0,$.jsx)(`ul`,{className:`divide-y divide-border/60`,children:e.map(e=>(0,$.jsx)(dd,{entry:e,mode:v,laned:T?j.get(e.hash):void 0,totalLanes:T?k:void 0,isExpanded:s.has(e.hash),onToggle:()=>c(e.hash),files:l.get(e.hash)??[],isLoadingFiles:u.has(e.hash),onCopyHash:d,directory:f,onConflict:g,onActionSuccess:_},e.hash))}),t[37]=l,t[38]=f,t[39]=s,t[40]=T,t[41]=j,t[42]=u,t[43]=k,t[44]=v,t[45]=_,t[46]=g,t[47]=d,t[48]=c,t[49]=m):m=t[49];let h=m,y;t[50]!==i||t[51]!==r.all.length||t[52]!==a||t[53]!==o||t[54]!==S?(y=r.all.length>=a?(0,$.jsx)(`div`,{className:`flex justify-center py-2 border-t border-border/40`,children:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>o(a+25),disabled:i,className:`px-3 text-muted-foreground hover:text-foreground`,children:i?(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3 animate-spin`}),S(`gitView.history.loadingMore`)]}):S(`gitView.history.loadMore`)})}):null,t[50]=i,t[51]=r.all.length,t[52]=a,t[53]=o,t[54]=S,t[55]=y):y=t[55];let C=y;ee=(0,$.jsx)(co,{outerClassName:`min-h-0 ${b}`,className:`h-full w-full`,children:r.all.length===0?(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center p-4`,children:(0,$.jsx)(`p`,{className:`typography-ui-label text-muted-foreground`,children:S(`gitView.history.noCommits`)})}):P&&x?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-0`,children:[I.length>0?(0,$.jsx)(`div`,{className:`rounded-xl border border-border/60 bg-background/70 overflow-hidden`,children:h(I)}):null,(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5`,"aria-hidden":!0,children:[(0,$.jsx)(`span`,{className:`h-px flex-1 bg-border/60`}),(0,$.jsxs)(`span`,{className:`inline-flex max-w-[80%] items-center gap-1 typography-micro text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`truncate`,title:x.branchName,children:x.branchName}),p]}),(0,$.jsx)(`span`,{className:`h-px flex-1 bg-border/60`})]}),e.length>0?(0,$.jsx)(`div`,{className:`rounded-xl border border-border/60 bg-background/70 overflow-hidden`,children:h(e)}):null]}),C]}):(0,$.jsxs)($.Fragment,{children:[h(r.all),C]})}),t[12]=x,t[13]=l,t[14]=b,t[15]=f,t[16]=s,t[17]=M,t[18]=P,t[19]=T,t[20]=i,t[21]=j,t[22]=u,t[23]=r.all,t[24]=a,t[25]=k,t[26]=v,t[27]=_,t[28]=g,t[29]=d,t[30]=o,t[31]=c,t[32]=S,t[33]=I,t[34]=ee}else ee=t[34];let L=ee;if(!y){if(P){let e;return t[56]===L?e=t[57]:(e=(0,$.jsx)(`section`,{className:`h-full min-h-0`,children:L}),t[56]=L,t[57]=e),e}let e;return t[58]===L?e=t[59]:(e=(0,$.jsx)(`section`,{className:`h-full min-h-0 rounded-xl border border-border/60 bg-background/70 overflow-hidden`,children:L}),t[58]=L,t[59]=e),e}let R;t[60]===S?R=t[61]:(R=S(`gitView.history.title`),t[60]=S,t[61]=R);let z;t[62]===R?z=t[63]:(z=(0,$.jsx)(`h3`,{className:`typography-ui-header font-semibold text-foreground`,children:R}),t[62]=R,t[63]=z);let B;t[64]!==i||t[65]!==C||t[66]!==a||t[67]!==o||t[68]!==S?(B=C&&(0,$.jsx)(`div`,{onClick:yd,onPointerDown:bd,children:(0,$.jsxs)(Zi,{value:String(a),onValueChange:e=>o(Number(e)),disabled:i,children:[(0,$.jsx)(Ki,{size:`sm`,className:`data-[size=sm]:h-auto h-7 min-h-7 w-auto justify-between px-2 py-0`,disabled:i,children:(0,$.jsx)(ta,{placeholder:S(`gitView.history.commitsPlaceholder`)})}),(0,$.jsx)(Ji,{children:hd.map(e=>(0,$.jsx)(Wi,{value:String(e.value),children:S(e.labelKey)},e.value))})]})}),t[64]=i,t[65]=C,t[66]=a,t[67]=o,t[68]=S,t[69]=B):B=t[69];let V;t[70]===C?V=t[71]:(V=C?(0,$.jsx)(X,{name:`arrow-up-s`,className:`size-4 text-muted-foreground`}):(0,$.jsx)(X,{name:`arrow-down-s`,className:`size-4 text-muted-foreground`}),t[70]=C,t[71]=V);let H;t[72]!==B||t[73]!==V?(H=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[B,V]}),t[72]=B,t[73]=V,t[74]=H):H=t[74];let U;t[75]!==z||t[76]!==H?(U=(0,$.jsxs)(Cc,{className:`flex w-full items-center justify-between px-3 h-10 hover:bg-transparent`,children:[z,H]}),t[75]=z,t[76]=H,t[77]=U):U=t[77];let te;t[78]===L?te=t[79]:(te=(0,$.jsx)(Sc,{children:L}),t[78]=L,t[79]=te);let ne;return t[80]!==C||t[81]!==U||t[82]!==te?(ne=(0,$.jsxs)(wc,{open:C,onOpenChange:w,className:`rounded-xl border border-border/60 bg-background/70 overflow-hidden`,children:[U,te]}),t[80]=C,t[81]=U,t[82]=te,t[83]=ne):ne=t[83],ne};function _d(e){return e.lane+1}function vd(e){return[e.commit.hash,e]}function yd(e){return e.stopPropagation()}function bd(e){return e.stopPropagation()}var xd=e=>{let t=(0,Vc.c)(150),{open:n,onOpenChange:r,conflictFiles:i,directory:a,operation:o,onAbort:s,onClearState:c}=e,l;t[0]===i?l=t[1]:(l=i===void 0?[]:i,t[0]=i,t[1]=l);let u=l,{t:d}=Je(),f=Rt(Sd),p=Rt(Cd),m=xt(wd),h=xt(Td),g=K(Ed),[_,v]=Q.useState(!1),[y,b]=Q.useState(null),[x,S]=Q.useState(null),C,w;t[2]!==a||t[3]!==n||t[4]!==d?(C=()=>{!n||!a||(v(!0),S(null),b(null),ar(a).then(e=>{b(e)}).catch(e=>{let t=e instanceof Error?e.message:d(`gitView.conflict.loadFailed`);S(t)}).finally(()=>{v(!1)}))},w=[n,a,d],t[2]=a,t[3]=n,t[4]=d,t[5]=C,t[6]=w):(C=t[5],w=t[6]),Q.useEffect(C,w);let T;t[7]!==y||t[8]!==a||t[9]!==o?(T=async()=>{if(!y)return null;let e=o===`merge`?`merge`:`rebase`,t=y.headInfo||(o===`merge`?`MERGE_HEAD`:`REBASE_HEAD`),n=o===`merge`?`git commit --no-edit`:`git rebase --continue`;return{visibleText:await Et(`git.conflict.resolve.visible`,{operation_label:e,head_ref:t}),instructionsText:await Et(`git.conflict.resolve.instructions`,{operation_label:e,directory:a,operation:o,head_info:y.headInfo||`N/A`,continue_cmd:n}),payloadText:`${e} conflict context (JSON)\n${JSON.stringify({directory:a,operation:y.operation,headInfo:y.headInfo,statusPorcelain:y.statusPorcelain,unmergedFiles:y.unmergedFiles,diff:y.diff},null,2)}`}},t[7]=y,t[8]=a,t[9]=o,t[10]=T):T=t[10];let E=T,D;t[11]!==s||t[12]!==r?(D=()=>{s(),r(!1)},t[11]=s,t[12]=r,t[13]=D):D=t[13];let O=D,k;t[14]!==c||t[15]!==r?(k=()=>{c?.(),r(!1)},t[14]=c,t[15]=r,t[16]=k):k=t[16];let A=k,j;t[17]!==E||t[18]!==p||t[19]!==c||t[20]!==r||t[21]!==g||t[22]!==m||t[23]!==h||t[24]!==d?(j=async()=>{let e=await E();if(!e){J.error(d(`gitView.conflict.noDetailsAvailable`));return}if(!p){J.error(d(`gitView.conflict.noActiveSession`),{description:d(`gitView.conflict.noActiveSessionDescription`)});return}m(e.visibleText,`replace`),h([{text:e.instructionsText,synthetic:!0},{text:e.payloadText,synthetic:!0}]),g(`chat`),c?.(),r(!1)},t[17]=E,t[18]=p,t[19]=c,t[20]=r,t[21]=g,t[22]=m,t[23]=h,t[24]=d,t[25]=j):j=t[25];let M=j,N;t[26]!==E||t[27]!==a||t[28]!==c||t[29]!==r||t[30]!==f||t[31]!==g||t[32]!==d?(N=async()=>{let e=await E();if(!e){J.error(d(`gitView.conflict.noDetailsAvailable`));return}f({directoryOverride:a,initialPrompt:e.visibleText,syntheticParts:[{text:e.instructionsText,synthetic:!0},{text:e.payloadText,synthetic:!0}]}),g(`chat`),c?.(),r(!1)},t[26]=E,t[27]=a,t[28]=c,t[29]=r,t[30]=f,t[31]=g,t[32]=d,t[33]=N):N=t[33];let P=N,F,I,ee,L,R,z,B,V,H,U,te,ne,W,re,G,ie,ae,oe,se,ce,le,ue;if(t[34]!==y||t[35]!==u||t[36]!==p||t[37]!==O||t[38]!==A||t[39]!==M||t[40]!==P||t[41]!==_||t[42]!==x||t[43]!==r||t[44]!==n||t[45]!==o||t[46]!==d){let e=d(o===`merge`?`gitView.operation.merge`:`gitView.operation.rebase`),i=y?.unmergedFiles||u;ee=Hn,le=n,ue=r,I=zn,ce=`max-w-md w-[calc(100vw-2rem)]`,re=`flex flex-col gap-4 overflow-hidden`;let a;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(X,{name:`alert`,className:`size-5 shrink-0 text-[var(--status-warning)]`}),t[69]=a):a=t[69];let s=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[a,(0,$.jsx)(Bn,{children:d(`gitView.conflict.detectedTitle`,{operation:e})})]}),c;t[70]!==o||t[71]!==d?(c=d(`gitView.conflict.detectedDescription`,{operation:o}),t[70]=o,t[71]=d,t[72]=c):c=t[72];let l;t[73]===c?l=t[74]:(l=(0,$.jsx)(Vn,{children:c}),t[73]=c,t[74]=l),t[75]!==s||t[76]!==l?(G=(0,$.jsxs)(Ln,{children:[s,l]}),t[75]=s,t[76]=l,t[77]=G):G=t[77],t[78]!==_||t[79]!==d?(ie=_&&(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-4 text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),(0,$.jsx)(`span`,{className:`typography-meta`,children:d(`gitView.conflict.loading`)})]}),t[78]=_,t[79]=d,t[80]=ie):ie=t[80],t[81]!==x||t[82]!==d?(ae=x&&(0,$.jsx)(`div`,{className:`rounded-lg bg-[var(--status-error-bg)] p-3 text-[var(--status-error)] typography-meta break-words`,children:d(`gitView.conflict.errorLoadingDetails`,{message:x})}),t[81]=x,t[82]=d,t[83]=ae):ae=t[83],t[84]!==i||t[85]!==d?(oe=i.length>0&&(0,$.jsxs)(`div`,{className:`space-y-2 overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:d(`gitView.conflict.conflictedFiles`)}),(0,$.jsx)(`span`,{className:`typography-micro px-1.5 py-0.5 rounded bg-[var(--surface-elevated)] text-muted-foreground`,children:i.length})]}),(0,$.jsx)(`div`,{className:`bg-[var(--surface-elevated)] rounded-lg p-3 max-h-40 overflow-y-auto overflow-x-hidden`,children:(0,$.jsx)(`ul`,{className:`space-y-1`,children:i.map(Dd)})})]}),t[84]=i,t[85]=d,t[86]=oe):oe=t[86],t[87]!==y||t[88]!==d?(se=y?.headInfo&&(0,$.jsxs)(`div`,{className:`space-y-1 overflow-hidden`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:d(`gitView.conflict.headInfo`)}),(0,$.jsx)(`div`,{className:`typography-micro text-foreground font-mono bg-[var(--surface-elevated)] rounded-lg p-3 max-h-24 overflow-y-auto break-words whitespace-pre-wrap`,children:y.headInfo})]}),t[87]=y,t[88]=d,t[89]=se):se=t[89],te=`flex flex-col gap-2 pt-2`;let f;t[90]===P?f=t[91]:(f=()=>{P()},t[90]=P,t[91]=f);let m=_||!y,h;t[92]===_?h=t[93]:(h=_?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`add`,className:`size-4`}),t[92]=_,t[93]=h);let g;t[94]===d?g=t[95]:(g=d(`gitView.conflict.resolveNewSession`),t[94]=d,t[95]=g),t[96]!==f||t[97]!==m||t[98]!==h||t[99]!==g?(ne=(0,$.jsxs)(Z,{variant:`default`,onClick:f,disabled:m,className:`w-full gap-2`,children:[h,g]}),t[96]=f,t[97]=m,t[98]=h,t[99]=g,t[100]=ne):ne=t[100];let v;t[101]===M?v=t[102]:(v=()=>void M(),t[101]=M,t[102]=v);let b=_||!y||!p,S;t[103]===_?S=t[104]:(S=_?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`chat-1`,className:`size-4`}),t[103]=_,t[104]=S);let C;t[105]===d?C=t[106]:(C=d(`gitView.conflict.resolveCurrentSession`),t[105]=d,t[106]=C),t[107]!==v||t[108]!==b||t[109]!==S||t[110]!==C?(W=(0,$.jsxs)(Z,{variant:`outline`,onClick:v,disabled:b,className:`w-full gap-2`,children:[S,C]}),t[107]=v,t[108]=b,t[109]=S,t[110]=C,t[111]=W):W=t[111],H=`flex gap-2 pt-1`;let w;t[112]===d?w=t[113]:(w=d(`gitView.conflict.continueLater`),t[112]=d,t[113]=w),t[114]!==A||t[115]!==w?(U=(0,$.jsx)(Z,{variant:`ghost`,size:`sm`,onClick:A,className:`flex-1`,children:w}),t[114]=A,t[115]=w,t[116]=U):U=t[116],F=Z,L=`destructive`,R=`sm`,z=O,B=`flex-1`,V=d(`gitView.conflict.abortOperation`,{operation:e}),t[34]=y,t[35]=u,t[36]=p,t[37]=O,t[38]=A,t[39]=M,t[40]=P,t[41]=_,t[42]=x,t[43]=r,t[44]=n,t[45]=o,t[46]=d,t[47]=F,t[48]=I,t[49]=ee,t[50]=L,t[51]=R,t[52]=z,t[53]=B,t[54]=V,t[55]=H,t[56]=U,t[57]=te,t[58]=ne,t[59]=W,t[60]=re,t[61]=G,t[62]=ie,t[63]=ae,t[64]=oe,t[65]=se,t[66]=ce,t[67]=le,t[68]=ue}else F=t[47],I=t[48],ee=t[49],L=t[50],R=t[51],z=t[52],B=t[53],V=t[54],H=t[55],U=t[56],te=t[57],ne=t[58],W=t[59],re=t[60],G=t[61],ie=t[62],ae=t[63],oe=t[64],se=t[65],ce=t[66],le=t[67],ue=t[68];let de;t[117]!==F||t[118]!==L||t[119]!==R||t[120]!==z||t[121]!==B||t[122]!==V?(de=(0,$.jsx)(F,{variant:L,size:R,onClick:z,className:B,children:V}),t[117]=F,t[118]=L,t[119]=R,t[120]=z,t[121]=B,t[122]=V,t[123]=de):de=t[123];let fe;t[124]!==H||t[125]!==U||t[126]!==de?(fe=(0,$.jsxs)(`div`,{className:H,children:[U,de]}),t[124]=H,t[125]=U,t[126]=de,t[127]=fe):fe=t[127];let pe;t[128]!==te||t[129]!==ne||t[130]!==W||t[131]!==fe?(pe=(0,$.jsxs)(`div`,{className:te,children:[ne,W,fe]}),t[128]=te,t[129]=ne,t[130]=W,t[131]=fe,t[132]=pe):pe=t[132];let me;t[133]!==re||t[134]!==G||t[135]!==ie||t[136]!==ae||t[137]!==oe||t[138]!==se||t[139]!==pe?(me=(0,$.jsxs)(`div`,{className:re,children:[G,ie,ae,oe,se,pe]}),t[133]=re,t[134]=G,t[135]=ie,t[136]=ae,t[137]=oe,t[138]=se,t[139]=pe,t[140]=me):me=t[140];let he;t[141]!==I||t[142]!==ce||t[143]!==me?(he=(0,$.jsx)(I,{className:ce,children:me}),t[141]=I,t[142]=ce,t[143]=me,t[144]=he):he=t[144];let ge;return t[145]!==ee||t[146]!==le||t[147]!==ue||t[148]!==he?(ge=(0,$.jsx)(ee,{open:le,onOpenChange:ue,children:he}),t[145]=ee,t[146]=le,t[147]=ue,t[148]=he,t[149]=ge):ge=t[149],ge};function Sd(e){return e.openNewSessionDraft}function Cd(e){return e.currentSessionId}function wd(e){return e.setPendingInputText}function Td(e){return e.setPendingSyntheticParts}function Ed(e){return e.setActiveMainTab}function Dd(e){return(0,$.jsx)(`li`,{className:`typography-micro text-foreground font-mono truncate block`,title:e,children:e},e)}var Od=({mergeInProgress:e,rebaseInProgress:t,onContinue:n,onAbort:r,onResolveWithAI:i,hasUnresolvedConflicts:a=!1,isLoading:o=!1})=>{let{t:s}=Je(),[c,l]=Q.useState(null),u=e&&e.head,d=t&&(t.headName||t.onto),f=u?`merge`:d?`rebase`:null;if(!f)return null;let p=async()=>{l(`continue`);try{await n()}finally{l(null)}},m=async()=>{l(`abort`);try{await r()}finally{l(null)}},h=c!==null,g=s(f===`merge`?`gitView.operation.merge`:`gitView.operation.rebase`),_=f===`merge`?`git-merge`:`git-branch`,v=``;return e?v=e.message?s(`gitView.operation.mergingMessage`,{message:e.message}):s(`gitView.operation.mergeInProgressWithHead`,{head:e.head}):t&&(v=t.headName?s(`gitView.operation.rebasingOnto`,{headName:t.headName,onto:t.onto||``}):s(`gitView.operation.rebaseInProgress`)),(0,$.jsx)(`div`,{className:`bg-[var(--status-warning-bg)] border border-[var(--status-warning)] rounded-lg p-3 mx-3 mt-3`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2 min-w-0`,children:[(0,$.jsx)(X,{name:_,className:`size-4 text-[var(--status-warning)] shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`typography-label text-[var(--status-warning)]`,children:s(`gitView.operation.inProgressTitle`,{operation:g})}),v&&(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground truncate`,children:v})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[a&&i&&(0,$.jsxs)(Z,{variant:`outline`,size:`sm`,onClick:i,disabled:h||o,className:`gap-1.5`,children:[(0,$.jsx)(X,{name:`sparkling`,className:`size-4`}),s(`gitView.operation.resolveWithAi`)]}),c!==`continue`&&(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,onClick:m,disabled:h||o,className:`gap-1.5`,children:[c===`abort`?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`close`,className:`size-4`}),s(`gitView.operation.abort`)]}),!a&&(0,$.jsxs)(Z,{variant:`default`,size:`sm`,onClick:p,disabled:h||o,className:`gap-1.5`,children:[c===`continue`?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`check`,className:`size-4`}),s(`gitView.operation.continue`)]})]}),a&&(0,$.jsx)(`p`,{className:`typography-micro text-[var(--status-warning)]`,children:s(`gitView.operation.resolveConflictsHint`)})]})})},kd=({runMutation:e,onMutationComplete:t,onMutationError:n,onPathsComplete:r,scheduleFlush:i})=>{let a=[],o=!1;return{enqueue:e=>{let t=a[a.length-1];if(t?.directory===e.directory&&t.direction===e.direction){e.paths.forEach(e=>t.paths.add(e));return}a.push(e)},flush:()=>{if(o)return;let s=a.shift();if(!s)return;o=!0;let c={directory:s.directory,direction:s.direction,paths:Array.from(s.paths),rollback:s.rollback};(async()=>{try{await e(c),t(c)}catch(e){n(c,e)}finally{r(c.paths),o=!1,a.length>0&&i()}})()},clear:()=>{a.length=0},size:()=>a.length,isRunning:()=>o}},Ad=15e3,jd=40,Md=20,Nd={feat:`:sparkles:`,feature:`:sparkles:`,fix:`:bug:`,bug:`:bug:`,hotfix:`:ambulance:`,docs:`:memo:`,documentation:`:memo:`,style:`:lipstick:`,refactor:`:recycle:`,perf:`:zap:`,performance:`:zap:`,test:`:white_check_mark:`,tests:`:white_check_mark:`,build:`:construction_worker:`,ci:`:green_heart:`,chore:`:wrench:`,revert:`:rewind:`,wip:`:construction:`,security:`:lock:`,release:`:bookmark:`,merge:`:twisted_rightwards_arrows:`,mv:`:truck:`,move:`:truck:`,rename:`:truck:`,remove:`:fire:`,delete:`:fire:`,add:`:sparkles:`,create:`:sparkles:`,implement:`:sparkles:`,update:`:recycle:`,improve:`:zap:`,optimize:`:zap:`,upgrade:`:arrow_up:`,downgrade:`:arrow_down:`,deploy:`:rocket:`,init:`:tada:`,initial:`:tada:`},Pd=(e,t)=>{let n=e.toLowerCase(),r=n.match(/^([a-z]+)(?:\(.*\))?!?:/);if(r){let e=Nd[r[1]];if(e)return t.find(t=>t.code===e)||null}let i=Nd[n.split(` `)[0]];return i&&t.find(e=>e.code===i)||null},Fd=20,Id=new Map,Ld=(e,t)=>{if(Id.delete(e),Id.set(e,t),Id.size>Fd){let e=Id.keys().next().value;e!==void 0&&Id.delete(e)}},Rd=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),zd=e=>{let t=e.index?.trim();return!!(t&&t!==`?`)},Bd=e=>{let t=e.working_dir?.trim(),n=e.index?.trim();return!!(t||n===`?`)},Vd=({isActive:e})=>{let{t}=Je(),{git:n}=Ba(),r=Mo(),[i,a]=Q.useState(null),[o,s]=Q.useState(!1),c=Rt(e=>e.currentSessionId),l=Rt(e=>e.newSessionDraft),u=Rt(e=>e.setDraftBootstrapPendingDirectory),d=Rt(e=>e.worktreeMetadata),f=Rt(e=>e.availableWorktrees),p=Rd(r),m=Q.useMemo(()=>{if(!p)return;let e=f.find(e=>Rd(e.path)===p);if(e)return e;for(let e of d.values())if(Rd(e.path)===p)return e},[f,p,d]),h=Q.useMemo(()=>{if(c)return d.get(c)??m;if(l?.open)return m},[c,m,l?.open,d]),g=Za(r??null),_=Qa(r??null),v=Mn(e=>c?e.getAttachment(c):void 0),y=v?Dn(v):[],b=v&&!v.degraded&&!v.legacy?v.worktreeRoot??void 0:void 0,x=qu(r,h,_?.current??void 0),S=Ya(r??null),C=Ua(r??null),w=Ka(r??null),T=qa(r??null),{setActiveDirectory:E,fetchAll:D,ensureAll:O,fetchStatus:k,fetchBranches:A,fetchLog:j,setLogMaxCount:M,prefetchDiffs:N,moveStatusPathsOptimistically:P,restoreStatus:F,bumpIndexRevision:I}=Wa(ce(e=>({setActiveDirectory:e.setActiveDirectory,fetchAll:e.fetchAll,ensureAll:e.ensureAll,fetchStatus:e.fetchStatus,fetchBranches:e.fetchBranches,fetchLog:e.fetchLog,setLogMaxCount:e.setLogMaxCount,prefetchDiffs:e.prefetchDiffs,moveStatusPathsOptimistically:e.moveStatusPathsOptimistically,restoreStatus:e.restoreStatus,bumpIndexRevision:e.bumpIndexRevision}))),ee=K(e=>e.isMobile),L=K(e=>e.openContextFileDiff),R=K(e=>e.navigateToDiff),z=K(e=>e.setRightSidebarOpen),B=Q.useRef(null),V=Q.useRef(null),H=Q.useRef(null),U=Q.useRef(null),te=Q.useRef(!0);Q.useEffect(()=>()=>{te.current=!1},[]);let ne=Q.useCallback(()=>{V.current!==null&&(window.clearTimeout(V.current),V.current=null)},[]),W=Q.useCallback(e=>{ne(),V.current=window.setTimeout(()=>{V.current=null,Rd(e)===Rd(r)&&k(e,n,{silent:!0})},Ad)},[ne,r,k,n]);Q.useEffect(()=>ne,[ne]);let re=Q.useCallback(()=>{H.current!==null&&(window.clearTimeout(H.current),H.current=null)},[]),G=Q.useCallback(()=>{H.current===null&&(H.current=window.setTimeout(()=>{H.current=null,U.current?.()},0))},[]),ie=Q.useCallback(async(e,t,r)=>{if(t===`stage`){if(n.stageGitFiles){await n.stageGitFiles(e,r);return}await Promise.all(r.map(t=>n.stageGitFile(e,t)));return}if(n.unstageGitFiles){await n.unstageGitFiles(e,r);return}await Promise.all(r.map(t=>n.unstageGitFile(e,t)))},[n]),ae=Q.useMemo(()=>kd({runMutation:({directory:e,direction:t,paths:n})=>ie(e,t,n),onMutationComplete:({directory:e})=>{I(e),W(e)},onMutationError:({directory:e,direction:n,rollback:r},i)=>{r?.(),I(e),W(e);let a=t(n===`stage`?`gitView.toast.stageFileFailed`:`gitView.toast.unstageFileFailed`);J.error(i instanceof Error?i.message:a)},onPathsComplete:e=>{Ie(t=>{let n=new Set(t);return e.forEach(e=>n.delete(e)),n})},scheduleFlush:G}),[I,ie,G,W,t]);Q.useEffect(()=>(U.current=ae.flush,()=>{U.current=null}),[ae]),Q.useEffect(()=>()=>ae.clear(),[ae]),Q.useEffect(()=>re,[re]),Q.useEffect(()=>{if(!e)return;if(!r){a(null),s(!1);return}let t=!1,n=ct(r);n&&a(n.status);let i=kt((e,n)=>{t||Rd(e)===Rd(r)&&a(n.status)});return hr(r).then(e=>{if(t)return;St(r,e);let n=ct(r);a(n?.status??e.status)}).catch(()=>{!t&&!ct(r)&&a(null)}),()=>{t=!0,i()}},[e,r]),Q.useEffect(()=>{let e=B.current;B.current=i,!(!r||!n)&&(e===`pending`&&i===`ready`&&(s(!0),D(r,n).finally(()=>{window.setTimeout(()=>{s(!1)},1200)})),i===`failed`&&(u(null),s(!1)))},[r,D,n,u,i]);let oe=Rd(l?.bootstrapPendingDirectory??null),se=!!(r&&oe&&oe===Rd(r)),le=!!(r&&(i===`pending`||se))||o,ue=Q.useMemo(()=>r?Id.get(r)??null:null,[r]),de=vt(e=>e.settingsGitmojiEnabled),[fe,pe]=Q.useState(null),{gitmojis:me}=Gu(de);Q.useEffect(()=>{let e=b||x?.projectDirectory;if(!e){pe(null);return}let t=!1;return qi(e).then(e=>{if(t)return;let n=e.trim();pe(n&&n!==`HEAD`?n:null)}).catch(()=>{t||pe(null)}),()=>{t=!0}},[b,x?.projectDirectory]);let[he,ge]=Q.useState(ue?.commitMessage??``),[_e,ve]=Q.useState([]),[ye,be]=Q.useState(!1),xe=ec(_)&&!ye,[Se,Ce]=Q.useState(!1),we=Q.useRef(null),[Te,Ee]=Q.useState(null),[De,Oe]=Q.useState(!1),[ke,Ae]=Q.useState(null),[je,Me]=Q.useState(25),{triggerFireworks:Ne}=Nu(),[Pe,q]=Q.useState(new Set),[Fe,Ie]=Q.useState(new Set),[Le,Re]=Q.useState(!1),[ze,Be]=Q.useState(!1),[Ve,He]=Q.useState(ue?.generatedHighlights??[]),Ue=Fe.size>0||ae.size()>0||ae.isRunning(),We=Q.useCallback(()=>{let e=we.current;e&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.scrollTo({top:e.scrollHeight,behavior:`smooth`})})})},[]),Ge=Q.useCallback(()=>{He([])},[]),[Ke,qe]=Q.useState(new Set),[Ye,Xe]=Q.useState(new Map),[Qe,$e]=Q.useState(new Set),et=Q.useRef(Ye),tt=Q.useRef(Qe),[nt,rt]=Q.useState(null),[it,at]=Q.useState(null),[ot,st]=Q.useState(``),[lt,ut]=Q.useState(null),[dt,ft]=Q.useState([]),[pt,mt]=Q.useState(!1),[ht,gt]=Q.useState([]),[_t,yt]=Q.useState(`merge`),[bt,xt]=Q.useState(null),[Ct,wt]=Q.useState(!1),[Tt,Et]=Q.useState(100),Dt=Q.useMemo(()=>c?`openchamber.conflict:${c}`:null,[c]),Ot=Q.useCallback((e,t,n)=>{if(!Dt||typeof window>`u`)return;let r={directory:e,conflictFiles:t,operation:n};window.localStorage.setItem(Dt,JSON.stringify(r))},[Dt]),Mt=Q.useCallback(()=>{!Dt||typeof window>`u`||window.localStorage.removeItem(Dt)},[Dt]);Q.useEffect(()=>{if(!Dt||typeof window>`u`||!r)return;let e=window.localStorage.getItem(Dt);if(e)try{let t=JSON.parse(e);if(t.directory!==r){window.localStorage.removeItem(Dt);return}gt(t.conflictFiles??[]),yt(t.operation??`merge`),mt(!0)}catch{window.localStorage.removeItem(Dt)}},[Dt,r]);let Nt=Q.useCallback(e=>{Ze(e).then(e=>{if(e.ok){J.success(t(`gitView.toast.commitHashCopied`));return}J.error(t(`gitView.toast.copyFailed`))})},[t]),Pt=Q.useCallback(e=>{qe(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);Q.useEffect(()=>{et.current=Ye},[Ye]),Q.useEffect(()=>{tt.current=Qe},[Qe]),Q.useEffect(()=>{if(!r||!n)return;let e=Array.from(Ke).filter(e=>!et.current.has(e)&&!tt.current.has(e));if(e.length===0)return;let t=!1;return $e(t=>{let n=new Set(t);for(let t of e)n.add(t);return tt.current=n,n}),Promise.all(e.map(e=>n.getCommitFiles(r,e).then(t=>({hash:e,files:t.files})).catch(t=>(console.error(`Failed to fetch commit files:`,t),{hash:e,files:[]})))).then(e=>{t||(Xe(t=>{let n=new Map(t);for(let{hash:t,files:r}of e)n.set(t,r);return et.current=n,n}),$e(t=>{let n=new Set(t);for(let{hash:t}of e)n.delete(t);return tt.current=n,n}))}),()=>{t=!0,$e(t=>{let n=!1,r=new Set(t);for(let t of e)r.delete(t)&&(n=!0);return n?(tt.current=r,r):t})}},[Ke,r,n]),Q.useEffect(()=>{r&&Ld(r,{directory:r,commitMessage:he,generatedHighlights:Ve})},[he,r,Ve]),Q.useEffect(()=>{if(!e)return;if(!r||!n?.getRemoteUrl){at(null);return}let t=!1;return n.getRemoteUrl(r).then(e=>{t||at(e)}).catch(()=>{t||at(null)}),()=>{t=!0}},[e,r,n]);let Ft=Q.useCallback(async()=>{if(!r||!n?.getRemotes){ft([]);return}try{let e=await n.getRemotes(r);te.current&&ft(e)}catch{te.current&&ft([])}},[r,n]);Q.useEffect(()=>{e&&Ft()},[e,Ft]),Q.useEffect(()=>{e&&r&&(E(r),O(r,n))},[e,r,E,O,n]),Q.useEffect(()=>{if(e&&r)return At.onGitRefreshHint(e=>{Rd(e.directory)===Rd(r)&&k(r,n)})},[e,r,k,n]);let It=Q.useCallback(async(e=!0)=>{if(r)try{await Promise.all([k(r,n),A(r,n,{force:!0})])}catch(n){if(e){let e=n instanceof Error?n.message:t(`gitView.toast.refreshRepositoryFailed`);J.error(e)}}},[r,n,k,A,t]),Lt=Q.useCallback(async()=>{r&&await j(r,n,je)},[r,n,j,je]),zt=Q.useMemo(()=>!_||xe?[]:[..._.files??[]].sort((e,t)=>e.path.localeCompare(t.path)),[_,xe]),Bt=Q.useMemo(()=>zt.filter(zd),[zt]),Vt=Q.useMemo(()=>zt.filter(Bd),[zt]),{deferredStagedCount:Ht,deferredUnstagedCount:Ut}=Q.useMemo(()=>{if(!xe||!_)return{deferredStagedCount:0,deferredUnstagedCount:0};let e=0,t=0;for(let n of _.files??[])zd(n)&&(e+=1),Bd(n)&&(t+=1);return{deferredStagedCount:e,deferredUnstagedCount:t}},[xe,_]);Q.useEffect(()=>{if(!r||zt.length===0)return;let e=[],t=new Set,i=n=>{!n||t.has(n)||(t.add(n),e.push(n))};if(Bt.forEach(e=>i(e.path)),_e.forEach(i),zt.slice(0,Md).forEach(e=>i(e.path)),e.length===0)return;let a=window.setTimeout(()=>{N(r,n,e,{maxFiles:jd})},120);return()=>{window.clearTimeout(a)}},[zt,r,n,N,Bt,_e]);let Wt=e=>e?.pushed[0]?.remote||_?.tracking?.split(`/`)[0]||en.find(e=>e.name===`origin`)?.name||en[0]?.name||`origin`,Gt=async(e,i)=>{if(r){Ee(e);try{let a=e=>{let t=`${e.name}/`,n=_?.tracking?.startsWith(t)?_.tracking.slice(t.length):void 0;return{remote:e.name,branch:n,rebase:!0}};if(e===`fetch`){if(!i)throw Error(`No remote available for fetch`);await n.gitFetch(r,{remote:i.name}),J.success(t(`gitView.toast.fetchedFromRemote`,{name:i.name}))}else if(e===`pull`){if(!i)throw Error(`No remote available for pull`);let e=await n.gitPull(r,a(i));J.success(e.files.length===1?t(`gitView.toast.pulledFilesSingle`,{count:e.files.length,name:i.name}):t(`gitView.toast.pulledFilesPlural`,{count:e.files.length,name:i.name}))}else if(e===`push`){let e=await n.gitPush(r);J.success(t(`gitView.toast.pushedToUpstream`,{name:Wt(e)}))}else if(e===`sync`){if(!i)throw Error(`No remote available for sync`);let e=0,o=!1;await n.gitFetch(r,{remote:i.name});let s=await n.getGitStatus(r);if((s.behind??0)>0){if((s.files?.length??0)>0){J.error(t(`gitView.toast.commitOrStashBeforeSync`));return}e=(await n.gitPull(r,a(i))).files.length}((await n.getGitStatus(r)).ahead??0)>0&&(await n.gitPush(r),o=!0),e>0&&o?J.success(t(e===1?`gitView.toast.syncedPulledSingleAndPushed`:`gitView.toast.syncedPulledPluralAndPushed`,{count:e,name:i.name})):e>0?J.success(t(e===1?`gitView.toast.pulledFilesSingle`:`gitView.toast.pulledFilesPlural`,{count:e,name:i.name})):o?J.success(t(`gitView.toast.pushedToUpstream`,{name:i.name})):J.success(t(`gitView.toast.alreadyUpToDate`))}await It(!1),await Lt()}catch(n){let r=n instanceof Error?n.message:t(`gitView.toast.syncActionFailed`,{action:e===`sync`?t(`gitView.sync.syncChanges`):e===`pull`?t(`gitView.sync.pull`):e});J.error(r)}finally{Ee(null)}}},Kt=async(e={})=>{if(!r)return;if(!he.trim()){J.error(t(`gitView.toast.enterCommitMessage`));return}let i=Bt.map(e=>e.path).sort();if(i.length===0){J.error(t(`gitView.toast.stageFileToCommit`));return}let a=e.pushAfter?`commitAndPush`:`commit`;Ae(a);try{if(await n.createGitCommit(r,he.trim(),{files:i,stageFiles:[]}),I(r),J.success(t(`gitView.toast.commitCreated`)),ge(``),Ge(),await It(),e.pushAfter){let e=_?.tracking?.split(`/`)[0],i=en.find(t=>t.name===e)??en[0];if(!i)throw Error(t(`mobile.changes.noRemote`));Ee(`sync`);let a=`${i.name}/`,o=_?.tracking?.startsWith(a)?_.tracking.slice(a.length):void 0;await n.gitFetch(r,{remote:i.name});let s=await n.getGitStatus(r);if((s.behind??0)>0){if((s.files?.length??0)>0){J.error(t(`gitView.toast.commitOrStashBeforeSync`)),await It(!1);return}await n.gitPull(r,{remote:i.name,branch:o,rebase:!0})}let c=await n.getGitStatus(r),l;(c.ahead??0)>0&&(l=await n.gitPush(r)),J.success(t(`gitView.toast.pushedToUpstream`,{name:Wt(l)})),Ne(),await It(!1)}else await It(!1);await Lt()}catch(e){let n=e instanceof Error?e.message:t(`gitView.toast.createCommitFailed`);J.error(n)}finally{Ae(null),e.pushAfter&&Ee(null)}},qt=Q.useCallback(async()=>{if(!r)return;let e=Bt.map(e=>e.path).sort();if(e.length===0){J.error(t(`gitView.toast.stageFileToDescribe`));return}console.error(`[git-generation][browser] generate button clicked`,{directory:r,selectedFiles:e.length}),Be(!0);try{let{message:t}=await dr(r,e),n=t.subject?.trim()??``,i=Array.isArray(t.highlights)?t.highlights:[];if(n){let e=n;if(de&&me.length>0){let t=Pd(n,me);if(t){let{code:r,emoji:i}=t;!n.startsWith(r)&&!n.startsWith(i)&&(e=`${r} ${n}`)}}ge(e)}He(i),We()}catch(e){console.error(`[git-generation][browser] GitView generate handler failed`,{message:e instanceof Error?e.message:String(e),error:e});let n=e instanceof Error?e.message:t(`gitView.toast.generateCommitMessageFailed`);J.error(n)}finally{Be(!1)}},[r,Bt,de,me,We,t]),Jt=e=>e.reason===`attention`?`${e.attentionReason} in progress`:e.reason===`missing`?`worktree is missing`:`worktree is invalid`,Yt=async(e,i)=>{if(!r||!_)return;let a=jt(v);if(a.length>0){J.error(t(`gitView.toast.cannotCreateBranch`,{reason:Jt(a[0])}));return}let o=_.current??null,s=i?.name??`origin`;try{await n.createBranch(r,e,o??`HEAD`),J.success(t(`gitView.toast.createdBranch`,{name:e})),await n.checkoutBranch(r,e);let i=!1;try{await n.gitPush(r,{remote:s,branch:e,options:[`--set-upstream`]}),i=!0}catch(e){let n=e instanceof Error?e.message:`Unable to push new branch to ${s}.`;J.warning(t(`gitView.toast.branchCreatedLocally`),{description:(0,$.jsxs)(`span`,{className:`text-foreground/80 dark:text-foreground/70`,children:[`Upstream setup failed: `,n]})})}await It(),await Lt(),i&&J.success(t(`gitView.toast.upstreamSet`,{branch:e,remote:s}))}catch(e){let n=e instanceof Error?e.message:t(`gitView.toast.createBranchFailed`);throw J.error(n),e}},Xt=async(e,i)=>{if(!r)return;let a=jt(v);if(a.length>0){J.error(t(`gitView.toast.cannotRenameBranch`,{reason:Jt(a[0])}));return}try{await n.renameBranch(r,e,i),J.success(t(`gitView.toast.renamedBranch`,{oldName:e,newName:i})),await It(),await Lt()}catch(n){let r=n instanceof Error?n.message:t(`gitView.toast.renameBranchFailed`,{oldName:e,newName:i});J.error(r)}},Zt=async e=>{if(!r)return;let i=jt(v);if(i.length>0){J.error(t(`gitView.toast.cannotCheckout`,{reason:Jt(i[0])}));return}let a=e.replace(/^remotes\//,``);if(_?.current!==a)try{await n.checkoutBranch(r,a),J.success(t(`gitView.toast.checkedOut`,{name:a})),await It(),await Lt()}catch(e){let n=e instanceof Error?e.message:t(`gitView.toast.checkoutFailed`,{name:a});J.error(n)}},Qt=Q.useMemo(()=>S?.all?S.all.filter(e=>!e.startsWith(`remotes/`)).sort():[],[S]),$t=Q.useMemo(()=>S?.all?S.all.filter(e=>e.startsWith(`remotes/`)).map(e=>e.replace(/^remotes\//,``)).sort():[],[S]),en=Q.useMemo(()=>{if(dt.length>0)return dt;let e=new Set,t=_?.tracking?.trim();t&&t.includes(`/`)&&e.add(t.split(`/`)[0]);for(let t of $t){let n=t.indexOf(`/`);n>0&&e.add(t.slice(0,n))}return e.size===0&&it&&e.add(`origin`),Array.from(e).map(e=>({name:e,fetchUrl:it??``,pushUrl:it??``}))},[dt,$t,it,_?.tracking]),tn=Q.useMemo(()=>{let e=new Set(en.map(e=>e.name)),t=t=>{if(!t)return``;let n=t.trim();if(!n||n===`HEAD`)return``;if(Qt.includes(n))return n;n.startsWith(`refs/heads/`)&&(n=n.slice(11)),n.startsWith(`heads/`)&&(n=n.slice(6)),n.startsWith(`remotes/`)&&(n=n.slice(8));let r=n.indexOf(`/`);if(r>0){let t=n.slice(0,r);if(e.has(t)){let e=n.slice(r+1).trim();e&&(n=e)}}return n};return t(typeof x?.createdFromBranch==`string`?x.createdFromBranch:``)||t(typeof fe==`string`?fe:``)||(Qt.includes(`main`)?`main`:Qt.includes(`master`)?`master`:Qt.includes(`develop`)?`develop`:`main`)},[en,Qt,fe,x?.createdFromBranch]),nn=Bt.length,rn=_?.current??null;Q.useEffect(()=>{if(!r||!n||!C?.all?.length||!rn||!tn||rn===tn){rt(null);return}let e=!1;return(async()=>{try{let t=await n.getGitLog(r,{from:tn,to:`HEAD`,maxCount:je});if(e)return;let i=new Set((t?.all??[]).map(e=>e.hash).filter(e=>typeof e==`string`&&e.length>0));if(i.size===0){rt(null);return}let a=C.all.findIndex(e=>!i.has(e.hash));if(a===0){rt(null);return}if(a===-1){rt({insertBeforeIndex:C.all.length,branchName:rn,direction:`up`});return}rt({insertBeforeIndex:a,branchName:rn,direction:`up`})}catch{e||rt(null)}})(),()=>{e=!0}},[tn,rn,r,n,C,je]),Q.useEffect(()=>{xt(null)},[r]),Q.useEffect(()=>{if(lt!==`graph`||!r){lt!==`graph`&&xt(null);return}let e=!1;return wt(!0),n.getGitLog(r,{maxCount:Tt,all:!0}).then(t=>{e||xt(t)}).catch(e=>{console.error(`Failed to fetch graph log:`,e)}).finally(()=>{e||wt(!1)}),()=>{e=!0}},[lt,r,Tt,n]);let an=Q.useCallback((e,t)=>{if(!r||e.length===0)return;let n=Array.from(new Set(e));Ie(e=>{let t=new Set(e);return n.forEach(e=>t.add(e)),t});let i=P(r,n,t);ae.enqueue({directory:r,direction:t,paths:new Set(n),rollback:()=>F(r,i)}),G()},[r,ae,P,F,G]),on=Q.useCallback(async e=>{if(r){q(t=>{let n=new Set(t);return n.add(e),n});try{await n.revertGitFile(r,e,{scope:`working`}),J.success(t(`gitView.toast.revertedFile`,{path:e})),await It(!1)}catch(e){let n=e instanceof Error?e.message:t(`gitView.toast.revertFailed`);J.error(n)}finally{q(t=>{let n=new Set(t);return n.delete(e),n})}}},[r,It,n,t]),sn=Q.useCallback(async(e,i,a=`all`)=>{if(!r||e.length===0)return;let o=Array.from(new Set(e));if(Le||o.some(e=>Pe.has(e)))return;let s=new Set(Bt.map(e=>e.path)),c=a===`all`&&o.some(e=>s.has(e));i&&Re(!0),q(e=>{let t=new Set(e);return o.forEach(e=>t.add(e)),t});let l=[];try{if(await Promise.all(o.map(async e=>{try{await n.revertGitFile(r,e,{scope:a})}catch(n){l.push({path:e,message:n instanceof Error?n.message:t(`gitView.toast.revertFailed`)})}})),c&&l.length<o.length&&I(r),await It(!1),l.length===0)J.success(o.length===1?t(`gitView.toast.revertedFilesSingle`,{count:o.length}):t(`gitView.toast.revertedFilesPlural`,{count:o.length}));else if(l.length===o.length)J.error(l[0]?.message||t(`gitView.toast.revertFailed`));else{let e=o.length-l.length;J.warning(t(e===1?`gitView.toast.revertedSomeSingle`:`gitView.toast.revertedSomePlural`,{success:e,failed:l.length}))}}finally{q(e=>{let t=new Set(e);return o.forEach(e=>t.delete(e)),t}),i&&Re(!1)}},[I,r,n,Le,It,Pe,Bt,t]),cn=Q.useCallback(async e=>{await sn(e,!0)},[sn]),ln=Q.useCallback(async e=>{await sn(e,!1,`working`)},[sn]),un=Q.useCallback((e,t)=>{if(r&&!ee){L(r,e,t);return}R(e,t),ee&&z(!1)},[r,ee,R,L,z]),dn=Q.useCallback(()=>Oe(!0),[]),fn=Q.useMemo(()=>{let e=[];return Bt.length>0&&e.push({id:`staged`,title:t(`gitView.changes.stagedTitle`),entries:Bt,actionSymbol:`-`,actionAllLabel:t(`gitView.changes.unstageAllAria`),getActionLabel:e=>t(`gitView.changes.unstageFileAria`,{path:e}),onActionFile:e=>void an([e],`unstage`),onActionAll:e=>void an(e,`unstage`),onViewDiff:e=>un(e,!0),onRevertFile:on,showRevertActions:!1,accent:!0}),Vt.length>0&&e.push({id:`unstaged`,title:t(`gitView.changes.title`),entries:Vt,actionSymbol:`+`,actionAllLabel:t(`gitView.changes.stageAllAria`),getActionLabel:e=>t(`gitView.changes.stageFileAria`,{path:e}),onActionFile:e=>void an([e],`stage`),onActionAll:e=>void an(e,`stage`),onViewDiff:e=>un(e,!1),onRevertFile:on}),e},[on,un,an,Bt,t,Vt]),pn=Q.useCallback(e=>{if(e.length===0)return;let t=e.map(e=>e.trim()).filter(Boolean);if(t.length===0){Ge();return}ge(e=>{let n=e.trim();return`${n}${n.length>0?`
|
|
4
4
|
|
|
5
5
|
`:``}${t.join(`
|
|
6
|
-
`)}`.trim()}),Ge()},[Ge]),mn=Q.useCallback((e,t)=>{let n=t||e;ge(r=>{let i=r.trimStart();return i.startsWith(e)||t&&i.startsWith(t)?r:`${n.endsWith(` `)?n:`${n} `}${r}`.trimStart()}),st(``),Ce(!1)},[]),hn=Q.useCallback(async()=>{if(r)try{_t===`merge`?(await n.abortMerge(r),J.success(t(`gitView.toast.mergeAborted`))):(await n.abortRebase(r),J.success(t(`gitView.toast.rebaseAborted`))),Mt(),await It(),await Lt()}catch(e){let t=e instanceof Error?e.message:`Failed to abort ${_t}`;J.error(t)}},[r,n,_t,It,Lt,Mt,t]),gn=Q.useMemo(()=>_?.files?_.files.some(e=>e.index===`U`||e.working_dir===`U`||e.index===`A`&&e.working_dir===`A`||e.index===`D`&&e.working_dir===`D`):!1,[_?.files]),_n=Q.useCallback(async()=>{if(r)try{let e=!!_?.mergeInProgress?.head,i=!!(_?.rebaseInProgress?.headName||_?.rebaseInProgress?.onto);if(e){let e=await n.continueMerge(r);e.conflict?(gt(e.conflictFiles??[]),yt(`merge`),mt(!0),Ot(r,e.conflictFiles??[],`merge`),J.error(t(`gitView.toast.mergeConflictsDetected`))):(Mt(),J.success(t(`gitView.toast.mergeCompleted`)),await It(),await Lt())}else if(i){let e=await n.continueRebase(r);e.conflict?(gt(e.conflictFiles??[]),yt(`rebase`),mt(!0),Ot(r,e.conflictFiles??[],`rebase`),J.error(t(`gitView.toast.rebaseConflictsDetected`))):(Mt(),J.success(t(`gitView.toast.rebaseStepCompleted`)),await It(),await Lt())}}catch(e){let n=e instanceof Error?e.message:t(`gitView.toast.continueOperationFailed`);J.error(n)}},[r,n,_,It,Lt,Ot,Mt,t]),vn=Q.useCallback(async()=>{if(r)try{_?.mergeInProgress?.head?(await n.abortMerge(r),J.success(t(`gitView.toast.mergeAborted`))):(await n.abortRebase(r),J.success(t(`gitView.toast.rebaseAborted`))),Mt(),await It(),await Lt()}catch(e){let n=e instanceof Error?e.message:t(`gitView.toast.abortOperationFailed`);J.error(n)}},[r,n,_,It,Lt,Mt,t]),yn=Q.useCallback(()=>{if(!r)return;let e=_?.mergeInProgress?.head?`merge`:`rebase`,t=_?.files?.filter(e=>e.index===`U`||e.working_dir===`U`).map(e=>e.path)??[];t.length>0&>(t),yt(e),mt(!0)},[r,_]),bn=Q.useCallback(e=>{Me(e),r&&(M(r,e),j(r,n,e))},[r,j,n,M]),xn=Q.useCallback(e=>{Et(e)},[]),Sn=Q.useCallback(()=>{ut(null),r&&(k(r,n),A(r,n,{force:!0}),j(r,n,je))},[r,k,A,j,je,n]),Cn=Q.useCallback(e=>{if(e.conflict){if(e.operation===`cherry-pick`||e.operation===`revert`){J.error(t(`gitView.history.actions.conflictToastTitle`),{description:t(`gitView.history.actions.conflictToastDescription`,{files:e.conflictFiles?.join(`, `)??`unknown files`})}),r&&(k(r,n),A(r,n,{force:!0}),j(r,n,je));return}gt(e.conflictFiles??[]),yt(e.operation),mt(!0),r&&Ot(r,e.conflictFiles??[],e.operation)}},[t,gt,yt,mt,Ot,r,k,A,j,je,n]);if(!r)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-4 text-center`,children:(0,$.jsx)(`p`,{className:`typography-ui-label text-muted-foreground`,children:t(`gitView.empty.selectSessionOrDirectory`)})});if(g===null||g===!0&&!_)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),(0,$.jsx)(`span`,{className:`typography-ui-label`,children:t(`gitView.loading.checkingRepository`)})]})});if(g===!1)return le?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-4 text-center`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`mb-3 size-6 animate-spin text-muted-foreground`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold text-foreground`,children:t(`gitView.empty.worktreeSetupInProgress`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 text-muted-foreground`,children:t(`gitView.empty.worktreeSetupDescription`)})]}):(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-4 text-center`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`mb-3 size-6 text-muted-foreground`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold text-foreground`,children:t(`gitView.empty.notGitRepository`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 text-muted-foreground`,children:t(`gitView.empty.notGitRepositoryDescription`)}),y.includes(`open-without-worktree-features`)?(0,$.jsx)(`p`,{className:`typography-meta mt-2 text-muted-foreground`,children:t(`gitView.empty.worktreeFeaturesUnavailable`)}):null]});let wn=_?x?(0,$.jsx)(Js,{currentBranch:_.current,onRename:Xt,iconOnly:!0}):(0,$.jsx)(gr,{currentBranch:_.current,localBranches:Qt,remoteBranches:$t,branchInfo:S?.branches,onCheckout:Zt,onCreate:Yt,remotes:en,iconOnly:!0}):null,Tn=_?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ys,{syncAction:Te,remotes:en,onSync:e=>Gt(`sync`,e),disabled:!_,aheadCount:_.ahead,behindCount:_.behind,trackingRemoteName:_.tracking?.split(`/`)[0],hasUncommittedChanges:(_.files?.length??0)>0}),(0,$.jsxs)(ga,{children:[(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,"aria-label":t(`gitView.header.repositoryViews`),children:(0,$.jsx)(X,{name:`git-repository`,className:`size-3.5`})})})}),(0,$.jsx)(ia,{sideOffset:8,children:t(`gitView.header.repositoryViews`)})]}),(0,$.jsxs)(la,{align:`end`,children:[(0,$.jsxs)(da,{onSelect:()=>ut(`history`),children:[(0,$.jsx)(X,{name:`history`,className:`size-4`}),t(`gitView.history.title`)]}),(0,$.jsxs)(da,{onSelect:()=>ut(`graph`),children:[(0,$.jsx)(X,{name:`git-merge`,className:`size-4`}),t(`gitView.graph.title`)]}),(0,$.jsxs)(da,{onSelect:dn,children:[(0,$.jsx)(X,{name:`archive-stack`,className:`size-4`}),t(`gitView.stashes.title`)]})]})]})]}):null,En=_?(0,$.jsxs)($.Fragment,{children:[wn,Tn]}):null;return(0,$.jsxs)(`div`,{className:Y(`flex h-full flex-col overflow-hidden`),children:[r&&(_?.mergeInProgress?.head||_?.rebaseInProgress?.headName||_?.rebaseInProgress?.onto)&&(0,$.jsx)(Od,{mergeInProgress:_?.mergeInProgress,rebaseInProgress:_?.rebaseInProgress,onContinue:_n,onAbort:vn,onResolveWithAI:yn,hasUnresolvedConflicts:gn,isLoading:w}),(0,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,$.jsx)(`div`,{className:`h-full min-h-0 flex flex-col`,children:(0,$.jsx)(`div`,{className:Y(`min-w-0 min-h-0 h-full flex flex-col`),children:(0,$.jsx)(co,{as:lo,ref:we,outerClassName:`flex-1 min-h-0`,className:Y(`px-4`,`pt-2 pb-4`),disableHorizontal:!0,preventOverscroll:!0,children:(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-col gap-2`,children:xe?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mb-1 flex h-8 shrink-0 items-center bg-background pr-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label font-semibold text-foreground`,children:t(`gitView.changes.deferredTitle`,{count:_?.files?.length??0})}),(0,$.jsx)(`div`,{className:`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,children:En})]}),(0,$.jsx)(fc,{stagedCount:Ht,unstagedCount:Ut,onLoad:()=>be(!0)})]}):(zt?.length??0)>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Gs,{groups:fn,diffStats:_?.diffStats,revertingPaths:Pe,isRevertingAll:Le,onVisiblePathsChange:ve,onRevertAll:cn,onRevertDirectory:ln,headerBackgroundClassName:`bg-background`,headerLeadingActions:wn,headerActions:Tn})}),(0,$.jsx)(Ws,{stagedCount:nn,commitMessage:he,onCommitMessageChange:ge,generatedHighlights:Ve,onInsertHighlights:pn,onGenerateMessage:qt,isGeneratingMessage:ze,onCommit:()=>Kt({pushAfter:!1}),onCommitAndPush:()=>Kt({pushAfter:!0}),commitAction:ke,hasPendingIndexMutation:Ue,gitmojiEnabled:de,onOpenGitmojiPicker:()=>Ce(!0)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mb-1 flex h-8 shrink-0 items-center bg-background pr-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label font-semibold text-foreground`,children:t(`gitView.empty.cleanTitle`)}),(0,$.jsx)(`div`,{className:`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,children:En})]}),(0,$.jsx)(Zu,{onOpenStashes:()=>Oe(!0)})]})})})})})}),(0,$.jsx)(Hn,{open:lt!==null,onOpenChange:e=>{e||ut(null)},children:(0,$.jsxs)(zn,{className:`max-w-5xl h-[90vh] max-h-[90vh] flex flex-col overflow-hidden`,children:[(0,$.jsxs)(Ln,{children:[(0,$.jsx)(Bn,{children:t(lt===`graph`?`gitView.graph.title`:`gitView.history.title`)}),(0,$.jsx)(Vn,{children:t(`gitView.history.dialogDescription`)})]}),(0,$.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,$.jsx)(gd,{mode:lt===`graph`?`graph`:`history`,log:lt===`graph`?bt??C:C,isLogLoading:lt===`graph`&&Ct||T,logMaxCount:lt===`graph`?Tt:je,onLogMaxCountChange:lt===`graph`?xn:bn,expandedCommitHashes:Ke,onToggleCommit:Pt,commitFilesMap:Ye,loadingCommitHashes:Qe,onCopyHash:Nt,directory:r??void 0,showHeader:!1,contentMaxHeightClassName:`h-full max-h-none`,branchDivider:lt===`graph`?null:nt,onConflict:lt===`graph`?Cn:void 0,onActionSuccess:lt===`graph`?Sn:void 0})})]})}),(0,$.jsx)(Yu,{open:De,onOpenChange:Oe,directory:r,hasUncommittedChanges:(_?.files?.length??0)>0,hasStagedChanges:Bt.length>0,uncommittedFileCount:_?.files?.length??0,onChanged:async e=>{r&&e?.affectsIndex&&I(r),await It(!1),await Lt()}}),(0,$.jsx)(Hn,{open:Se,onOpenChange:Ce,children:(0,$.jsxs)(zn,{className:`max-w-md p-0 overflow-hidden`,children:[(0,$.jsx)(Ln,{className:`px-4 pt-4`,children:(0,$.jsx)(Bn,{children:t(`gitView.gitmoji.title`)})}),(0,$.jsxs)(si,{className:`h-[420px]`,children:[(0,$.jsx)(Oi,{placeholder:t(`gitView.gitmoji.searchPlaceholder`),value:ot,onValueChange:st}),(0,$.jsxs)(ri,{children:[(0,$.jsx)(Ai,{children:t(`gitView.gitmoji.empty`)}),(0,$.jsx)(Ci,{children:(me.length===0?[]:me.filter(e=>{let t=ot.trim().toLowerCase();return!t||e.emoji.includes(t)||e.code.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)})).map(e=>(0,$.jsxs)(hi,{onSelect:()=>mn(e.emoji,e.code),children:[(0,$.jsx)(`span`,{className:`text-lg`,children:e.emoji}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e.code}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.description})]},e.code))})]})]})]})}),r&&(0,$.jsx)(xd,{open:pt,onOpenChange:mt,conflictFiles:ht,directory:r,operation:_t,onAbort:hn,onClearState:Mt})]})},Hd=(e,t)=>{let n=Io(t,e);return!n||n===`.`||n===t?0:n.split(`/`).filter(Boolean).length},Ud=(e,t,n=10)=>{let r=Fo(e);if(!r||n<1)return[];let i=new Set,a=[];for(let e of Object.values(t))if(e)for(let t of e){if(t.type!==`directory`)continue;let e=Fo(t.path);if(!e||i.has(e))continue;let o=Hd(r,e);o<1||o>n||(i.add(e),a.push(e))}return a},Wd=e=>e.some(e=>!!Fo(e)),Gd=(e,t)=>{let n=new Set(t.map(e=>Fo(e)).filter(Boolean));return e.filter(e=>!n.has(e))},Kd=(e,t,n)=>t.length===0?e.length===0:Gd(e,t).length>0?!1:t.every(e=>n.has(Fo(e))),qd=e=>e.slice().sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1),Jd=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`),n=t.startsWith(`//`),r=t.replace(/\/+$/g,``);return r=r.replace(/\/+/g,`/`),n&&!r.startsWith(`//`)&&(r=`/${r}`),r===``?t.startsWith(`/`)?`/`:``:r},Yd=(e,t)=>{let n=Jd(t),r=Jd(e).replace(/\/+$/,``);return n===r?`.`:!r||!n.startsWith(`${r}/`)?n:n.slice(r.length+1)},Xd=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),Zd=new Set([`node_modules`]),Qd=e=>Zd.has(e),$d=e=>{let t=Jd(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},ef=8,tf=new Map,nf=e=>{let t=tf.get(e);return t?(t.touchedAt=Date.now(),tf.delete(e),tf.set(e,t),t):null},rf=e=>{let t=tf.get(e);if(t)return t.touchedAt=Date.now(),t;if(tf.size>=ef){let e=tf.keys().next().value;e!==void 0&&tf.delete(e)}let n={childrenByDir:{},loadErrorsByDir:{},loadedDirs:new Set,touchedAt:Date.now()};return tf.set(e,n),n},af=e=>{tf.delete(e)},of=(e,t)=>(0,$.jsx)(zi,{filePath:e,extension:t,className:`size-3.5`}),sf=e=>{let t=(0,Vc.c)(3),{status:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={open:`var(--status-info)`,modified:`var(--status-warning)`,"git-modified":`var(--status-warning)`,"git-added":`var(--status-success)`,"git-deleted":`var(--status-error)`},t[0]=r):r=t[0];let i=r[n],a;return t[1]===i?a=t[2]:(a=(0,$.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:i}}),t[1]=i,t[2]=a),a},cf=Q.memo(e=>{let t=(0,Vc.c)(73),{node:n,root:r,isExpanded:i,isActive:a,status:o,badge:s,permissions:c,downloadFile:l,onSelect:u,onToggle:d,onRevealPath:f,onOpenDialog:p}=e,{t:m}=Je(),h=n.type===`directory`,{canRename:g,canCreateFile:_,canCreateFolder:v,canDelete:y,canReveal:b}=c,[x,S]=Q.useState(!1),[C,w]=Q.useState(!1),T;t[0]!==_||t[1]!==v||t[2]!==y||t[3]!==g||t[4]!==b?(T=e=>{!g&&!_&&!v&&!y&&!b||(e?.preventDefault(),w(!0))},t[0]=_,t[1]=v,t[2]=y,t[3]=g,t[4]=b,t[5]=T):T=t[5];let E=T,D;t[6]!==h||t[7]!==n||t[8]!==u||t[9]!==d?(D=()=>{h?d(n.path):u(n)},t[6]=h,t[7]=n,t[8]=u,t[9]=d,t[10]=D):D=t[10];let O=D,k;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(k=e=>{e.stopPropagation(),w(!1),S(!0)},t[11]=k):k=t[11];let A=k,j;t[12]!==_||t[13]!==v||t[14]!==y||t[15]!==g||t[16]!==b||t[17]!==l||t[18]!==h||t[19]!==n||t[20]!==p||t[21]!==f||t[22]!==m?(j=e=>{let{Item:t,Separator:r}=e;return(0,$.jsxs)($.Fragment,{children:[g&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),p(`rename`,n)},children:[(0,$.jsx)(X,{name:`edit`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.rename`)]}),(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),Ze(n.path).then(e=>{e.ok||J.error(m(`sidebarFilesTree.toast.copyFailed`))})},children:[(0,$.jsx)(X,{name:`file-copy`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.copyPath`)]}),!h&&l&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),l(n.path).catch(e=>{console.error(`Download failed:`,e),J.error(m(`sidebarFilesTree.toast.operationFailed`))})},children:[(0,$.jsx)(X,{name:`download`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.save`)]}),b&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),f(n.path)},children:[(0,$.jsx)(X,{name:`folder-received`,className:`mr-2 h-4 w-4`}),` `,m(Un())]}),h&&(_||v)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(r,{}),_&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),p(`createFile`,n)},children:[(0,$.jsx)(X,{name:`file-add`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.newFile`)]}),v&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),p(`createFolder`,n)},children:[(0,$.jsx)(X,{name:`folder-add`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.newFolder`)]})]}),y&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(r,{}),(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),p(`delete`,n)},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(X,{name:`delete-bin`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.delete`)]})]})]})},t[12]=_,t[13]=v,t[14]=y,t[15]=g,t[16]=b,t[17]=l,t[18]=h,t[19]=n,t[20]=p,t[21]=f,t[22]=m,t[23]=j):j=t[23];let M=j,N;t[24]!==n.path||t[25]!==r?(N=e=>{let t=Yd(r,n.path);!t||t===`.`||(e.dataTransfer.setData(`application/x-openchamber-file-path`,t),e.dataTransfer.effectAllowed=`copy`)},t[24]=n.path,t[25]=r,t[26]=N):N=t[26];let P=N,F;t[27]===E?F=t[28]:(F=(0,$.jsx)(`div`,{className:`group relative flex items-center`,onContextMenu:E}),t[27]=E,t[28]=F);let I=a?`bg-interactive-selection/70`:`hover:bg-interactive-hover/40`,ee;t[29]===I?ee=t[30]:(ee=Y(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left text-foreground transition-colors pr-8 select-none`,I,`cursor-grab active:cursor-grabbing`),t[29]=I,t[30]=ee);let L;t[31]!==h||t[32]!==i||t[33]!==n.extension||t[34]!==n.path?(L=h?i?(0,$.jsx)(X,{name:`folder-open-fill`,className:`size-3.5 flex-shrink-0 text-muted-foreground`}):(0,$.jsx)(X,{name:`folder-3-fill`,className:`size-3.5 flex-shrink-0 text-muted-foreground`}):of(n.path,n.extension),t[31]=h,t[32]=i,t[33]=n.extension,t[34]=n.path,t[35]=L):L=t[35];let R;t[36]!==n.name||t[37]!==n.path?(R=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-code`,title:n.path,children:n.name}),t[36]=n.name,t[37]=n.path,t[38]=R):R=t[38];let z;t[39]!==h||t[40]!==o?(z=!h&&o&&(0,$.jsx)(sf,{status:o}),t[39]=h,t[40]=o,t[41]=z):z=t[41];let B;t[42]!==s||t[43]!==h?(B=h&&s&&(0,$.jsxs)(`span`,{className:`text-xs flex items-center gap-1 ml-auto mr-1`,children:[s.modified>0&&(0,$.jsxs)(`span`,{className:`text-[var(--status-warning)]`,children:[`M`,s.modified]}),s.added>0&&(0,$.jsxs)(`span`,{className:`text-[var(--status-success)]`,children:[`+`,s.added]})]}),t[42]=s,t[43]=h,t[44]=B):B=t[44];let V;t[45]!==E||t[46]!==P||t[47]!==O||t[48]!==R||t[49]!==z||t[50]!==B||t[51]!==ee||t[52]!==L?(V=(0,$.jsxs)(`button`,{type:`button`,onClick:O,onContextMenu:E,draggable:!0,onDragStart:P,className:ee,children:[L,R,z,B]}),t[45]=E,t[46]=P,t[47]=O,t[48]=R,t[49]=z,t[50]=B,t[51]=ee,t[52]=L,t[53]=V):V=t[53];let H;t[54]!==_||t[55]!==v||t[56]!==y||t[57]!==g||t[58]!==b||t[59]!==x||t[60]!==M||t[61]!==m?(H=(g||_||v||y||b)&&(0,$.jsx)(`div`,{className:`absolute right-1 top-1/2 -translate-y-1/2 opacity-0 focus-within:opacity-100 group-hover:opacity-100`,children:(0,$.jsxs)(ga,{open:x,onOpenChange:S,children:[(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex`,children:(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:A,title:m(`sidebarFilesTree.actions.fileMenuTitle`),"aria-label":m(`sidebarFilesTree.actions.fileMenuTitle`),children:(0,$.jsx)(X,{name:`more-2-fill`,className:`h-4 w-4`})})})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:m(`sidebarFilesTree.actions.fileMenuTitle`)})]}),(0,$.jsx)(la,{align:`end`,side:`bottom`,onCloseAutoFocus:()=>S(!1),children:M({Item:da,Separator:sa})})]})}),t[54]=_,t[55]=v,t[56]=y,t[57]=g,t[58]=b,t[59]=x,t[60]=M,t[61]=m,t[62]=H):H=t[62];let U;t[63]!==V||t[64]!==H||t[65]!==F?(U=(0,$.jsxs)(_c,{render:F,children:[V,H]}),t[63]=V,t[64]=H,t[65]=F,t[66]=U):U=t[66];let te;t[67]===M?te=t[68]:(te=(0,$.jsx)(yc,{className:`min-w-[180px]`,children:M({Item:bc,Separator:vc})}),t[67]=M,t[68]=te);let ne;return t[69]!==C||t[70]!==U||t[71]!==te?(ne=(0,$.jsxs)(xc,{open:C,onOpenChange:w,children:[U,te]}),t[69]=C,t[70]=U,t[71]=te,t[72]=ne):ne=t[72],ne},(e,t)=>e.node===t.node&&e.root===t.root&&e.isExpanded===t.isExpanded&&e.isActive===t.isActive&&e.status===t.status&&e.badge===t.badge&&e.permissions===t.permissions&&e.downloadFile===t.downloadFile&&e.onSelect===t.onSelect&&e.onToggle===t.onToggle&&e.onRevealPath===t.onRevealPath&&e.onOpenDialog===t.onOpenDialog),lf=()=>{let{t:e}=Je(),{files:t}=Ba(),n=Mo()??``,r=Jd(n.trim()),i=M(),a=g(),o=Te(e=>e.searchFiles),s=K(e=>e.openContextFile),c=Qa(n),[l,u]=Q.useState(``),d=Ja(l,200),f=Q.useRef(null),[p,m]=Q.useState([]),[h,_]=Q.useState(!1),[v,y]=Q.useState({}),[b,x]=Q.useState({}),S=Q.useRef(new Set),C=Q.useRef(new Set),w=Q.useRef(null),T=Q.useRef(!1);Q.useEffect(()=>{if(!r){y({}),x({}),S.current=new Set;return}let e=nf(r);e?(y({...e.childrenByDir}),x({...e.loadErrorsByDir}),S.current=new Set(e.loadedDirs)):(y({}),x({}),S.current=new Set)},[r]),Q.useEffect(()=>{if(!r)return;let e=rf(r);e.childrenByDir=v},[r,v]),Q.useEffect(()=>{if(!r)return;let e=rf(r);e.loadErrorsByDir=b},[r,b]),Q.useEffect(()=>{if(!r)return;let e=rf(r);e.loadedDirs=new Set(S.current)},[r,v,b]),Q.useEffect(()=>()=>{if(!r)return;let e=tf.get(r);e&&e.loadedDirs.size===0&&Object.keys(e.childrenByDir).length===0&&af(r)},[r]);let E=Q.useMemo(()=>[],[]),D=Q.useMemo(()=>[],[]),O=Ha(e=>r?e.byRoot[r]?.expandedPaths??E:E),k=Ha(e=>r?e.byRoot[r]?.selectedPath??null:null),A=Ha(e=>e.setSelectedPath),j=Ha(e=>e.addOpenPath),N=Ha(e=>e.removeOpenPathsByPrefix),P=Ha(e=>e.removeExpandedPathsByPrefix),F=Ha(e=>e.toggleExpandedPath),I=Ha(e=>e.expandPaths),ee=K(e=>r?e.contextPanelByDirectory[r]?.tabs??D:D),L=Q.useMemo(()=>new Set(ee.map(e=>e.mode===`file`?e.targetPath:null).filter(e=>typeof e==`string`&&e.length>0).map(e=>Jd(e))),[ee]),[R,z]=Q.useState(null),[B,V]=Q.useState(null),[H,U]=Q.useState(``),[te,ne]=Q.useState(!1),W=!!t.writeFile,re=!!t.createDirectory,G=!!t.rename,ie=!!t.delete,ae=!!t.revealPath,oe=Q.useMemo(()=>({canRename:G,canCreateFile:W,canCreateFolder:re,canDelete:ie,canReveal:ae}),[G,W,re,ie,ae]),se=Q.useCallback(n=>{t.revealPath&&t.revealPath(n).catch(()=>{J.error(e(`sidebarFilesTree.toast.revealFailed`))})},[t,e]),ce=Q.useCallback((e,t)=>{z(e),V(t),U(e===`rename`&&t.name||``),ne(!1)},[]),le=Q.useCallback((e,t)=>qd(t.filter(e=>e&&typeof e.name==`string`&&e.name.length>0).filter(e=>i||!e.name.startsWith(`.`)).filter(e=>a||!Qd(e.name)).map(t=>{let n=t.name,r=Jd(t.path||``),i=r?Xd(r)?r:Jd(`${e}/${r}`):Jd(`${e}/${n}`),a=t.isDirectory?`directory`:`file`;return{name:n,path:i,type:a,extension:a===`file`&&n.includes(`.`)?n.split(`.`).pop()?.toLowerCase():void 0}})),[a,i]),ue=Q.useCallback(async(e,n)=>{let r=Jd(e.trim());if(!r||S.current.has(r)||C.current.has(r))return;C.current=new Set(C.current),C.current.add(r);let i=t.listDirectory?t.listDirectory(r).then(e=>e.entries.map(e=>({name:e.name,path:e.path,isDirectory:e.isDirectory}))):Ee.listLocalDirectory(r).then(e=>e.map(e=>({name:e.name,path:e.path,isDirectory:e.isDirectory})));try{let e=await i;if(n?.())return;let t=le(r,e);S.current=new Set(S.current),S.current.add(r),x(e=>{if(!e[r])return e;let t={...e};return delete t[r],t}),y(e=>({...e,[r]:t}))}catch(e){if(n?.())return;let t=e instanceof Error?e.message:String(e??``);console.error(`Failed to load sidebar directory:`,e),x(e=>({...e,[r]:t}))}finally{C.current=new Set(C.current),C.current.delete(r)}},[t,le]),de=Q.useCallback(async()=>{if(!r)return;w.current?.abort();let e=new AbortController;w.current=e;try{let t=(Ha.getState().byRoot[r]?.expandedPaths??[]).map(e=>Jd(e)).filter(e=>!!e&&e!==r&&e.startsWith(`${r}/`)),n=[r,...t];S.current=new Set(S.current);for(let e of n)S.current.delete(e);x(e=>{if(Object.keys(e).length===0)return e;let t={...e},r=!1;for(let e of n)e in t&&(delete t[e],r=!0);return r?t:e});let i=()=>e.signal.aborted;await ue(r,i);for(let n=0;n<t.length&&!e.signal.aborted;n+=3){let e=t.slice(n,n+3);await Promise.all(e.map(e=>ue(e,i)))}}catch(t){if(e.signal.aborted)return;console.error(`Failed to refresh sidebar tree:`,t)}finally{w.current===e&&(w.current=null)}},[ue,r]),fe=Q.useCallback(async e=>{if(!e){await de();return}let t=Jd(e);S.current=new Set(S.current),S.current.delete(t),C.current=new Set(C.current),C.current.delete(t),await ue(t)},[ue,de]);Q.useEffect(()=>{r&&(w.current?.abort(),T.current=!1,S.current=new Set,C.current=new Set,x({}),y(e=>Object.keys(e).length===0?e:{}),ue(r))},[ue,r,i,a]),Q.useEffect(()=>{if(!r||O.length===0)return;let e=O.map(e=>Jd(e)).filter(e=>!!e&&e!==r&&e.startsWith(`${r}/`)&&!S.current.has(e)&&!C.current.has(e)).sort((e,t)=>e.split(`/`).length-t.split(`/`).length);if(e.length===0)return;let t=!1,n=()=>t;return(async()=>{for(let r=0;r<e.length&&!t;r+=3){let t=e.slice(r,r+3);await Promise.all(t.map(e=>ue(e,n)))}})(),()=>{t=!0}},[O,ue,r]),Q.useEffect(()=>{if(!n){m([]),_(!1);return}let e=d.trim();if(!e){m([]),_(!1);return}let t=!1;return _(!0),o(n,e,150,{includeHidden:i,respectGitignore:!a,type:`file`}).then(e=>{if(t)return;let n=e.filter(e=>a||!$d(e.path)).map(e=>({name:e.name,path:Jd(e.path),type:`file`,extension:e.extension,relativePath:e.relativePath}));m(n)}).catch(()=>{t||m([])}).finally(()=>{t||_(!1)}),()=>{t=!0}},[n,d,o,i,a]);let pe=Q.useMemo(()=>{let e=new Map;if(!c?.files)return e;for(let t of c.files)t.index===`A`||t.working_dir===`?`?e.set(t.path,`git-added`):t.index===`D`?e.set(t.path,`git-deleted`):(t.index===`M`||t.working_dir===`M`)&&e.set(t.path,`git-modified`);return e},[c]),me=Q.useMemo(()=>{let e=new Map;if(!c?.files||!r)return e;for(let t of c.files){let n=t.index===`M`||t.working_dir===`M`,i=t.index===`A`||t.working_dir===`?`;if(!n&&!i)continue;let a=t.path.split(`/`);if(a.length<=1)continue;let o=r;for(let t=0;t<a.length-1;t++){o=`${o}/${a[t]}`;let r=e.get(o);r||(r={modified:0,added:0},e.set(o,r)),n&&r.modified++,i&&r.added++}}return e},[c,r]),he=Q.useCallback(e=>{if(L.has(e))return`open`;if(pe.size===0)return null;let t=e.startsWith(r+`/`)?e.slice(r.length+1):e;return pe.get(t)??null},[L,pe,r]),ge=Q.useCallback(e=>{if(me.size===0)return null;let t=me.get(e);return t&&t.modified+t.added>0?t:null},[me]),_e=Q.useCallback(async e=>{if(!r)return;let n=await As(t,e.path);if(!n.ok){J.error(sc(n.reason));return}A(r,e.path),j(r,e.path),s(r,e.path)},[j,t,s,r,A]),ve=Q.useCallback(async e=>{let t=Jd(e);r&&(F(r,t),S.current.has(t)||await ue(t))},[ue,r,F]),ye=Q.useMemo(()=>r?Ud(r,v):[],[v,r]),be=Q.useMemo(()=>new Set(O.map(e=>Jd(e))),[O]),xe=Wd(O),Se=Q.useCallback(()=>{if(r){if(xe){T.current=!1,P(r,r);return}T.current=!0,I(r,ye)}},[xe,ye,I,P,r]);Q.useEffect(()=>{if(!r||!T.current)return;let e=Gd(ye,O);if(e.length>0){I(r,e);return}let t=new Set([...S.current,...Object.keys(b)]);Kd(ye,O,t)&&(T.current=!1)},[ye,I,O,b,r]);let Ce=Q.useCallback(async n=>{if(n?.preventDefault(),!B||!R)return;ne(!0);let i=()=>ne(!1),a=()=>z(null);if(R===`createFile`){if(!H.trim()){J.error(e(`sidebarFilesTree.toast.filenameRequired`)),i();return}if(!t.writeFile){J.error(e(`sidebarFilesTree.toast.writeNotSupported`)),i();return}let n=B.path,r=Jd(`${n?`${n}/`:``}${H.trim()}`);await t.writeFile(r,``).then(async t=>{t.success&&(J.success(e(`sidebarFilesTree.toast.fileCreated`)),await fe(n)),a()}).catch(()=>J.error(e(`sidebarFilesTree.toast.operationFailed`))).finally(i);return}if(R===`createFolder`){if(!H.trim()){J.error(e(`sidebarFilesTree.toast.folderNameRequired`)),i();return}let n=B.path,r=Jd(`${n?`${n}/`:``}${H.trim()}`);await t.createDirectory(r).then(async t=>{t.success&&(J.success(e(`sidebarFilesTree.toast.folderCreated`)),await fe(n)),a()}).catch(()=>J.error(e(`sidebarFilesTree.toast.operationFailed`))).finally(i);return}if(R===`rename`){if(!H.trim()){J.error(e(`sidebarFilesTree.toast.nameRequired`)),i();return}if(!t.rename){J.error(e(`sidebarFilesTree.toast.renameNotSupported`)),i();return}let n=B.path,o=n.split(`/`).slice(0,-1).join(`/`),s=Jd(`${o?`${o}/`:``}${H.trim()}`);await t.rename(n,s).then(async t=>{t.success&&(J.success(e(`sidebarFilesTree.toast.renamedSuccessfully`)),await fe(o),r&&N(r,n),(k===n||k&&k.startsWith(`${n}/`))&&A(r,null)),a()}).catch(()=>J.error(e(`sidebarFilesTree.toast.operationFailed`))).finally(i);return}if(R===`delete`){if(!t.delete){J.error(e(`sidebarFilesTree.toast.deleteNotSupported`)),i();return}let n=B.path,o=n.split(`/`).slice(0,-1).join(`/`);await t.delete(n).then(async t=>{t.success&&(J.success(e(`sidebarFilesTree.toast.deletedSuccessfully`)),await fe(o),r&&N(r,n),(k===n||k&&k.startsWith(n+`/`))&&A(r,null)),a()}).catch(()=>J.error(e(`sidebarFilesTree.toast.operationFailed`))).finally(i);return}i()},[R,B,H,t,fe,N,r,k,A,e]);function we(n,i){return(v[n]??[]).map(n=>{let a=n.type===`directory`,o=a&&be.has(Jd(n.path)),s=k===n.path;return(0,$.jsxs)(`li`,{className:`relative`,children:[i>0&&(0,$.jsx)(`span`,{className:`absolute top-3 left-[-12px] h-px w-3 bg-border/40`}),(0,$.jsx)(cf,{node:n,root:r,isExpanded:o,isActive:s,status:a?void 0:he(n.path),badge:a?ge(n.path):void 0,permissions:oe,downloadFile:t.downloadFile,onSelect:_e,onToggle:ve,onRevealPath:se,onOpenDialog:ce}),a&&o&&(0,$.jsxs)(`ul`,{className:`relative ml-3 flex flex-col border-l border-border/40 pl-3`,children:[b[n.path]?(0,$.jsxs)(`li`,{className:`flex items-center gap-2 px-2 py-1 typography-code text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[var(--status-error)]`,title:b[n.path],children:b[n.path]}),(0,$.jsxs)(Z,{variant:`ghost`,size:`xs`,className:`h-6 gap-1`,onClick:()=>void fe(n.path),children:[(0,$.jsx)(X,{name:`refresh`,className:`h-3.5 w-3.5`}),e(`sidebarFilesTree.actions.refreshTitle`)]})]}):null,we(n.path,i+1)]})]},n.path)})}let De=!!(r&&v[r]),Oe=r?b[r]:null,ke=e(xe?`sidebarFilesTree.actions.collapseAllTitle`:`sidebarFilesTree.actions.expandAllTitle`);return(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1 border-b border-border/40 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,$.jsx)(X,{name:`search`,className:`pointer-events-none absolute left-2 top-2 h-4 w-4 text-muted-foreground`}),(0,$.jsx)(na,{ref:f,value:l,onChange:e=>u(e.target.value),placeholder:e(`sidebarFilesTree.search.placeholder`),className:`h-8 pl-8 pr-8 typography-meta`}),l.trim().length>0?(0,$.jsx)(`button`,{type:`button`,"aria-label":e(`sidebarFilesTree.search.clearAria`),className:`absolute right-2 top-2 inline-flex h-4 w-4 items-center justify-center text-muted-foreground hover:text-foreground`,onClick:()=>{u(``),f.current?.focus()},children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`})}):null]}),(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-0.5`,children:[W&&(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex flex-shrink-0`,children:(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>ce(`createFile`,{path:n,type:`directory`}),className:`w-6 flex-shrink-0 p-0`,title:e(`sidebarFilesTree.actions.newFileTitle`),"aria-label":e(`sidebarFilesTree.actions.newFileTitle`),children:(0,$.jsx)(X,{name:`file-add`,className:`size-3.5`})})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:e(`sidebarFilesTree.actions.newFileTitle`)})]}),re&&(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex flex-shrink-0`,children:(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>ce(`createFolder`,{path:n,type:`directory`}),className:`w-6 flex-shrink-0 p-0`,title:e(`sidebarFilesTree.actions.newFolderTitle`),"aria-label":e(`sidebarFilesTree.actions.newFolderTitle`),children:(0,$.jsx)(X,{name:`folder-add`,className:`size-3.5`})})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:e(`sidebarFilesTree.actions.newFolderTitle`)})]}),(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex flex-shrink-0`,children:(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>void de(),className:`w-6 flex-shrink-0 p-0`,title:e(`sidebarFilesTree.actions.refreshTitle`),"aria-label":e(`sidebarFilesTree.actions.refreshTitle`),children:(0,$.jsx)(X,{name:`refresh`,className:`size-3.5`})})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:e(`sidebarFilesTree.actions.refreshTitle`)})]}),(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:Se,disabled:ye.length===0&&O.length===0,className:`w-6 flex-shrink-0 p-0`,title:ke,"aria-label":ke,children:(0,$.jsx)(X,{name:xe?`contract-up-down`:`expand-up-down`,className:`size-3.5`})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:ke})]})]})]}),(0,$.jsx)(co,{outerClassName:`flex-1 min-h-0`,className:`p-2`,children:(0,$.jsx)(`ul`,{className:`flex flex-col`,children:h?(0,$.jsxs)(`li`,{className:`flex items-center gap-1.5 px-2 py-1 typography-code text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}),e(`sidebarFilesTree.state.searching`)]}):p.length>0?p.map(e=>{let t=k===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>_e(e),draggable:!0,onDragStart:t=>{let n=e.relativePath||Yd(r??``,e.path);!n||n===`.`||(t.dataTransfer.setData(`application/x-openchamber-file-path`,n),t.dataTransfer.effectAllowed=`copy`)},className:Y(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left text-foreground transition-colors cursor-grab active:cursor-grabbing`,t?`bg-interactive-selection/70`:`hover:bg-interactive-hover/40`),title:e.path,children:[of(e.path,e.extension),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-code`,style:{direction:`rtl`,textAlign:`left`},children:e.relativePath??e.path})]})},e.path)}):Oe?(0,$.jsxs)(`li`,{className:`flex flex-col gap-2 px-2 py-1 typography-code text-muted-foreground`,children:[(0,$.jsx)(`span`,{children:Oe}),(0,$.jsxs)(Z,{variant:`outline`,size:`xs`,className:`w-fit gap-1.5`,onClick:()=>void de(),children:[(0,$.jsx)(X,{name:`refresh`,className:`h-3.5 w-3.5`}),e(`sidebarFilesTree.actions.refreshTitle`)]})]}):De&&r?we(r,0):(0,$.jsx)(`li`,{className:`px-2 py-1 typography-code text-muted-foreground`,children:e(`sidebarFilesTree.state.loading`)})})}),(0,$.jsx)(Hn,{open:!!R,onOpenChange:e=>!e&&z(null),children:(0,$.jsxs)(zn,{children:[(0,$.jsxs)(Ln,{children:[(0,$.jsxs)(Bn,{children:[R===`createFile`&&e(`sidebarFilesTree.dialog.createFile.title`),R===`createFolder`&&e(`sidebarFilesTree.dialog.createFolder.title`),R===`rename`&&e(`sidebarFilesTree.dialog.rename.title`),R===`delete`&&e(`sidebarFilesTree.dialog.delete.title`)]}),(0,$.jsxs)(Vn,{children:[R===`createFile`&&e(`sidebarFilesTree.dialog.createFile.description`,{path:B?.path??e(`sidebarFilesTree.dialog.rootFallback`)}),R===`createFolder`&&e(`sidebarFilesTree.dialog.createFolder.description`,{path:B?.path??e(`sidebarFilesTree.dialog.rootFallback`)}),R===`rename`&&e(`sidebarFilesTree.dialog.rename.description`,{name:B?.name??``}),R===`delete`&&e(`sidebarFilesTree.dialog.delete.description`,{name:B?.name??``})]})]}),R!==`delete`&&(0,$.jsx)(`div`,{className:`py-4`,children:(0,$.jsx)(na,{value:H,onChange:e=>U(e.target.value),placeholder:e(R===`rename`?`sidebarFilesTree.dialog.rename.placeholder`:`sidebarFilesTree.dialog.namePlaceholder`),onKeyDown:e=>{e.key===`Enter`&&Ce()},autoFocus:!0})}),(0,$.jsxs)(Rn,{children:[(0,$.jsx)(Z,{variant:`outline`,onClick:()=>z(null),disabled:te,children:e(`sidebarFilesTree.dialog.cancel`)}),(0,$.jsx)(Z,{variant:R===`delete`?`destructive`:`default`,onClick:()=>void Ce(),disabled:te||R!==`delete`&&!H.trim(),children:te?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):e(R===`delete`?`sidebarFilesTree.dialog.delete.confirm`:`sidebarFilesTree.dialog.confirm`)})]})]})})]})},uf=e=>e===`git`||e===`files`,df=`files`,ff=()=>!(typeof document<`u`&&document.hidden||typeof navigator<`u`&&!navigator.onLine);function pf(e,t,n,r){let i=(0,Vc.c)(6),{git:a}=Ba(),o=Wa(mf),s=!!(e&&a&&t&&n===`git`&&r!==`git`),c,l;i[0]!==e||i[1]!==o||i[2]!==a||i[3]!==s?(c=()=>{if(!s||!e||!a)return;o(e,a);let t=window.setInterval(()=>{ff()&&o(e,a)},1e4);return()=>window.clearInterval(t)},l=[s,e,a,o],i[0]=e,i[1]=o,i[2]=a,i[3]=s,i[4]=c,i[5]=l):(c=i[4],l=i[5]),Q.useEffect(c,l)}function mf(e){return e.ensureStatus}var hf=()=>{let e=(0,Vc.c)(45),{t}=Je(),n=K(gf),r=K(_f),i=K(vf),a=K(yf);pf(Mo(),i,n,a);let o=a===`git`?`git`:null,s,c;e[0]!==o||e[1]!==n||e[2]!==r?(s=()=>{o&&n===o&&r(df)},c=[o,n,r],e[0]=o,e[1]=n,e[2]=r,e[3]=s,e[4]=c):(s=e[3],c=e[4]),Q.useEffect(s,c);let l;e[5]===t?l=e[6]:(l=t(`layout.rightSidebar.git`),e[5]=t,e[6]=l);let u;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(X,{name:`git-branch`,className:`h-3.5 w-3.5`}),e[7]=u):u=e[7];let d;e[8]===l?d=e[9]:(d={id:`git`,label:l,icon:u},e[8]=l,e[9]=d);let f;e[10]===t?f=e[11]:(f=t(`layout.rightSidebar.files`),e[10]=t,e[11]=f);let p;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(X,{name:`folder-3`,className:`h-3.5 w-3.5`}),e[12]=p):p=e[12];let m;e[13]===f?m=e[14]:(m={id:`files`,label:f,icon:p},e[13]=f,e[14]=m);let h;e[15]!==d||e[16]!==m?(h=[d,m],e[15]=d,e[16]=m,e[17]=h):h=e[17];let g=h,_;e[18]!==o||e[19]!==g?(_=o?g.filter(e=>e.id!==o):g,e[18]=o,e[19]=g,e[20]=_):_=e[20];let v=_,y=i&&n===`git`&&o!==`git`,b;e[21]===r?b=e[22]:(b=e=>{uf(e)&&r(e)},e[21]=r,e[22]=b);let x=b,S;e[23]!==x||e[24]!==n||e[25]!==v?(S=(0,$.jsx)(`div`,{className:`h-9 bg-background pt-1 px-2`,children:(0,$.jsx)(Vo,{items:v,activeId:n,onSelect:x,layoutMode:`fit`,variant:`active-pill`,activePillLowercase:!1,className:`h-full`})}),e[23]=x,e[24]=n,e[25]=v,e[26]=S):S=e[26];let C=n!==`git`&&`hidden`,w;e[27]===C?w=e[28]:(w=Y(`h-full`,C),e[27]=C,e[28]=w);let T;e[29]===y?T=e[30]:(T=(0,$.jsx)(Vd,{isActive:y}),e[29]=y,e[30]=T);let E;e[31]!==w||e[32]!==T?(E=(0,$.jsx)(`div`,{className:w,children:T}),e[31]=w,e[32]=T,e[33]=E):E=e[33];let D=n!==`files`&&`hidden`,O;e[34]===D?O=e[35]:(O=Y(`h-full`,D),e[34]=D,e[35]=O);let k;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(lf,{}),e[36]=k):k=e[36];let A;e[37]===O?A=e[38]:(A=(0,$.jsx)(`div`,{className:O,children:k}),e[37]=O,e[38]=A);let j;e[39]!==E||e[40]!==A?(j=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:[E,A]}),e[39]=E,e[40]=A,e[41]=j):j=e[41];let M;return e[42]!==S||e[43]!==j?(M=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-background`,children:[S,j]}),e[42]=S,e[43]=j,e[44]=M):M=e[44],M};function gf(e){return e.rightSidebarTab}function _f(e){return e.setRightSidebarTab}function vf(e){return e.isRightSidebarOpen}function yf(e){return e.activeMainTab}var bf=(e,t)=>{if(!t)return null;let n=Number.parseInt(e.trim(),10);return!Number.isFinite(n)||n<1?null:Math.min(n,t.state.doc.lines)},xf=(e,t)=>{let n=e.state.doc.lineAt(t.main.head);return{lineNumber:n.number,character:t.main.head-n.from+1,selection:t}},Sf=(e,t,n)=>{let r=e.state.doc.line(t),i=Math.max(1,Math.min(n,r.length+1)),a=r.from+i-1;e.dispatch({selection:Be.cursor(a),effects:ze.scrollIntoView(a,{y:`center`})})};function Cf({open:e,onOpenChange:t,view:n,variant:r=`overlay`}){let{t:i}=Je(),[a,o]=Q.useState(``),s=Q.useRef(null),c=Q.useRef(!1),l=Q.useRef(null),u=Q.useRef(null),d=Q.useMemo(()=>bf(a,n),[a,n]);Q.useEffect(()=>{!e||!n||(c.current=!1,s.current=xf(n,n.state.selection),o(``))},[e,n]),Q.useEffect(()=>{e&&window.requestAnimationFrame(()=>{u.current?.focus(),u.current?.select()})},[e]),Q.useEffect(()=>{if(!(!e||!n||!s.current)){if(d===null){let{selection:e}=s.current;n.dispatch({selection:e,effects:ze.scrollIntoView(e.main.from,{y:`center`})});return}Sf(n,d,s.current.character)}},[d,e,n]);let f=Q.useCallback(()=>{if(!n||c.current||!s.current)return;let{selection:e}=s.current;n.dispatch({selection:e,effects:ze.scrollIntoView(e.main.from,{y:`center`})})},[n]),p=Q.useCallback(e=>{e||f(),t(e)},[t,f]),m=Q.useCallback(()=>{!n||d===null||!s.current||(c.current=!0,Sf(n,d,s.current.character),t(!1),n.focus())},[d,t,n]);Q.useEffect(()=>{if(!e)return;let t=e=>{let t=l.current,n=e.target;!t||!(n instanceof Node)||t.contains(n)||p(!1)},n=e=>{e.key===`Escape`&&(e.preventDefault(),p(!1))};return document.addEventListener(`pointerdown`,t,!0),document.addEventListener(`keydown`,n,!0),()=>{document.removeEventListener(`pointerdown`,t,!0),document.removeEventListener(`keydown`,n,!0)}},[p,e,r]);let h=Q.useMemo(()=>{if(!n)return i(`goToLineDialog.helper.editorUnavailable`);if(d===null){let e=s.current??xf(n,n.state.selection);return i(`goToLineDialog.helper.currentLineRange`,{current:e.lineNumber,max:n.state.doc.lines})}return i(`goToLineDialog.helper.goToLine`,{line:d})},[d,i,n]);return r===`inline`?e?(0,$.jsxs)(`div`,{ref:l,className:`ml-1 flex h-6 items-center gap-1`,children:[(0,$.jsx)(na,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholderShort`),className:`h-6 w-20 rounded-md border-border/70 bg-transparent px-2 typography-meta`}),(0,$.jsx)(Z,{variant:`outline`,size:`xs`,onClick:m,disabled:!n||d===null,className:`h-6 px-2`,children:i(`goToLineDialog.actions.go`)})]}):null:(0,$.jsx)(`div`,{ref:l,className:Y(`absolute left-3 top-3 z-40 w-[min(32rem,calc(100%-1.5rem))] rounded-xl border border-[var(--interactive-border)] bg-[color:color-mix(in_srgb,var(--surface-elevated)_94%,transparent)] p-2.5 shadow-lg backdrop-blur-sm transition-all`,e?`pointer-events-auto translate-y-0 opacity-100`:`pointer-events-none -translate-y-1 opacity-0`),children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(na,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholder`),className:`h-8 w-full rounded-md border-border/70 bg-background/60 typography-ui-label`}),(0,$.jsx)(`div`,{className:`mt-2 rounded-md bg-primary/15 px-3 py-1.5 typography-ui-label text-foreground/95`,children:h})]})})}var wf=ro(()=>Pe(()=>import(`./ToolOutputDialog-uKzrTqq_.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53]))),Tf=e=>{let t=Of(e);if(!t)return``;if(t===`/`||/^[A-Za-z]:\/$/.test(t))return t;let n=t.lastIndexOf(`/`);if(n<0)return t;if(n===0)return`/`;let r=t.slice(0,n);return/^[A-Za-z]:$/.test(r)?`${r}/`:r},Ef=e=>{let t=(0,Vc.c)(8),{label:n,iconDataUrl:r}=e,[i,a]=Q.useState(!1),o;t[0]===n?o=t[1]:(o=n.trim().slice(0,1).toUpperCase()||`?`,t[0]=n,t[1]=o);let s=o;if(r&&!i){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>a(!0),t[2]=e):e=t[2];let n;return t[3]===r?n=t[4]:(n=(0,$.jsx)(`img`,{src:r,alt:``,className:`size-4 rounded-sm`,onError:e}),t[3]=r,t[4]=n),n}let c;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=Y(`size-4 rounded-sm flex items-center justify-center`,`bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground`),t[5]=c):c=t[5];let l;return t[6]===s?l=t[7]:(l=(0,$.jsx)(`span`,{className:c,children:s}),t[6]=s,t[7]=l),l},Df=e=>e.slice().sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1),Of=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`),n=t.startsWith(`//`),r=t.replace(/\/+/g,`/`);n&&!r.startsWith(`//`)&&(r=`/${r}`);let i=r===`/`,a=/^[A-Za-z]:\/$/.test(r);return!i&&!a&&(r=r.replace(/\/+$/,``)),r},kf=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),Af=e=>/^[A-Za-z]:\//.test(e)?e.toLowerCase():e,jf=(e,t)=>{let n=Of(t),r=Of(e);if(!n||!r)return!1;let i=Af(n),a=Af(r);return a===i||a.startsWith(`${i}/`)},Mf=(e,t)=>{let n=Of(t),r=Of(e);if(!jf(r,n))return[];let i=r.slice(n.length).replace(/^\//,``).split(`/`),a=[],o=n;for(let e=0;e<i.length-1;e++)o=o?`${o}/${i[e]}`:i[e],a.push(o);return a},Nf=(e,t)=>{if(!t)return``;let n=Of(t);if(!e||!jf(n,e))return n;let r=n.slice(e.length);return r.startsWith(`/`)?r.slice(1):r},Pf=new Set([`node_modules`]),Ff=e=>{let t=(0,Vc.c)(3),{status:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={open:`var(--status-info)`,modified:`var(--status-warning)`,"git-modified":`var(--status-warning)`,"git-added":`var(--status-success)`,"git-deleted":`var(--status-error)`},t[0]=r):r=t[0];let i=r[n],a;return t[1]===i?a=t[2]:(a=(0,$.jsx)(`span`,{className:`size-2 rounded-full`,style:{backgroundColor:i}}),t[1]=i,t[2]=a),a},If=e=>{let t=(0,Vc.c)(11),{name:n}=e,r=Q.useRef(null),i=Q.useRef(null),[a,o]=Q.useState(!1),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=r.current,t=i.current;if(!e||!t)return;let n=()=>{o(t.scrollWidth>e.clientWidth+1)};n();let a=new ResizeObserver(n);return a.observe(e),a.observe(t),()=>{a.disconnect()}},t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=[n],t[1]=n,t[2]=c),Q.useLayoutEffect(s,c);let l;t[3]===n?l=t[4]:(l=(0,$.jsx)(`span`,{ref:i,"aria-hidden":`true`,className:`invisible absolute whitespace-nowrap`,children:n}),t[3]=n,t[4]=l);let u;t[5]!==n||t[6]!==a?(u=a?(0,$.jsxs)(`span`,{className:`open-file-name-marquee-track`,children:[(0,$.jsx)(`span`,{className:`open-file-name-marquee-item`,children:n}),(0,$.jsx)(`span`,{className:`open-file-name-marquee-item`,"aria-hidden":`true`,children:n})]}):(0,$.jsx)(`span`,{className:`block min-w-0 truncate`,children:n}),t[5]=n,t[6]=a,t[7]=u):u=t[7];let d;return t[8]!==l||t[9]!==u?(d=(0,$.jsxs)(`span`,{ref:r,className:`relative block min-w-0 flex-1 overflow-hidden whitespace-nowrap`,children:[l,u]}),t[8]=l,t[9]=u,t[10]=d):d=t[10],d},Lf=e=>Pf.has(e),Rf=e=>{let t=Of(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},zf=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`is a directory`)||t.includes(`eisdir`)},Bf=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`file not found`)||t.includes(`enoent`)||t.includes(`no such file`)||t.includes(`does not exist`)},Vf=2e5,Hf=`openchamber:files:auto-save-enabled`,Uf=e=>{let t=0,n=0;for(let r=0;r<e.length;r+=1)e.charCodeAt(r)===10&&(r>0&&e.charCodeAt(r-1)===13?t+=1:n+=1);return t>n?`\r
|
|
6
|
+
`)}`.trim()}),Ge()},[Ge]),mn=Q.useCallback((e,t)=>{let n=t||e;ge(r=>{let i=r.trimStart();return i.startsWith(e)||t&&i.startsWith(t)?r:`${n.endsWith(` `)?n:`${n} `}${r}`.trimStart()}),st(``),Ce(!1)},[]),hn=Q.useCallback(async()=>{if(r)try{_t===`merge`?(await n.abortMerge(r),J.success(t(`gitView.toast.mergeAborted`))):(await n.abortRebase(r),J.success(t(`gitView.toast.rebaseAborted`))),Mt(),await It(),await Lt()}catch(e){let t=e instanceof Error?e.message:`Failed to abort ${_t}`;J.error(t)}},[r,n,_t,It,Lt,Mt,t]),gn=Q.useMemo(()=>_?.files?_.files.some(e=>e.index===`U`||e.working_dir===`U`||e.index===`A`&&e.working_dir===`A`||e.index===`D`&&e.working_dir===`D`):!1,[_?.files]),_n=Q.useCallback(async()=>{if(r)try{let e=!!_?.mergeInProgress?.head,i=!!(_?.rebaseInProgress?.headName||_?.rebaseInProgress?.onto);if(e){let e=await n.continueMerge(r);e.conflict?(gt(e.conflictFiles??[]),yt(`merge`),mt(!0),Ot(r,e.conflictFiles??[],`merge`),J.error(t(`gitView.toast.mergeConflictsDetected`))):(Mt(),J.success(t(`gitView.toast.mergeCompleted`)),await It(),await Lt())}else if(i){let e=await n.continueRebase(r);e.conflict?(gt(e.conflictFiles??[]),yt(`rebase`),mt(!0),Ot(r,e.conflictFiles??[],`rebase`),J.error(t(`gitView.toast.rebaseConflictsDetected`))):(Mt(),J.success(t(`gitView.toast.rebaseStepCompleted`)),await It(),await Lt())}}catch(e){let n=e instanceof Error?e.message:t(`gitView.toast.continueOperationFailed`);J.error(n)}},[r,n,_,It,Lt,Ot,Mt,t]),vn=Q.useCallback(async()=>{if(r)try{_?.mergeInProgress?.head?(await n.abortMerge(r),J.success(t(`gitView.toast.mergeAborted`))):(await n.abortRebase(r),J.success(t(`gitView.toast.rebaseAborted`))),Mt(),await It(),await Lt()}catch(e){let n=e instanceof Error?e.message:t(`gitView.toast.abortOperationFailed`);J.error(n)}},[r,n,_,It,Lt,Mt,t]),yn=Q.useCallback(()=>{if(!r)return;let e=_?.mergeInProgress?.head?`merge`:`rebase`,t=_?.files?.filter(e=>e.index===`U`||e.working_dir===`U`).map(e=>e.path)??[];t.length>0&>(t),yt(e),mt(!0)},[r,_]),bn=Q.useCallback(e=>{Me(e),r&&(M(r,e),j(r,n,e))},[r,j,n,M]),xn=Q.useCallback(e=>{Et(e)},[]),Sn=Q.useCallback(()=>{ut(null),r&&(k(r,n),A(r,n,{force:!0}),j(r,n,je))},[r,k,A,j,je,n]),Cn=Q.useCallback(e=>{if(e.conflict){if(e.operation===`cherry-pick`||e.operation===`revert`){J.error(t(`gitView.history.actions.conflictToastTitle`),{description:t(`gitView.history.actions.conflictToastDescription`,{files:e.conflictFiles?.join(`, `)??`unknown files`})}),r&&(k(r,n),A(r,n,{force:!0}),j(r,n,je));return}gt(e.conflictFiles??[]),yt(e.operation),mt(!0),r&&Ot(r,e.conflictFiles??[],e.operation)}},[t,gt,yt,mt,Ot,r,k,A,j,je,n]);if(!r)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-4 text-center`,children:(0,$.jsx)(`p`,{className:`typography-ui-label text-muted-foreground`,children:t(`gitView.empty.selectSessionOrDirectory`)})});if(g===null||g===!0&&!_)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),(0,$.jsx)(`span`,{className:`typography-ui-label`,children:t(`gitView.loading.checkingRepository`)})]})});if(g===!1)return le?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-4 text-center`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`mb-3 size-6 animate-spin text-muted-foreground`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold text-foreground`,children:t(`gitView.empty.worktreeSetupInProgress`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 text-muted-foreground`,children:t(`gitView.empty.worktreeSetupDescription`)})]}):(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-4 text-center`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`mb-3 size-6 text-muted-foreground`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold text-foreground`,children:t(`gitView.empty.notGitRepository`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 text-muted-foreground`,children:t(`gitView.empty.notGitRepositoryDescription`)}),y.includes(`open-without-worktree-features`)?(0,$.jsx)(`p`,{className:`typography-meta mt-2 text-muted-foreground`,children:t(`gitView.empty.worktreeFeaturesUnavailable`)}):null]});let wn=_?x?(0,$.jsx)(Js,{currentBranch:_.current,onRename:Xt,iconOnly:!0}):(0,$.jsx)(gr,{currentBranch:_.current,localBranches:Qt,remoteBranches:$t,branchInfo:S?.branches,onCheckout:Zt,onCreate:Yt,remotes:en,iconOnly:!0}):null,Tn=_?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ys,{syncAction:Te,remotes:en,onSync:e=>Gt(`sync`,e),disabled:!_,aheadCount:_.ahead,behindCount:_.behind,trackingRemoteName:_.tracking?.split(`/`)[0],hasUncommittedChanges:(_.files?.length??0)>0}),(0,$.jsxs)(ga,{children:[(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,"aria-label":t(`gitView.header.repositoryViews`),children:(0,$.jsx)(X,{name:`git-repository`,className:`size-3.5`})})})}),(0,$.jsx)(ia,{sideOffset:8,children:t(`gitView.header.repositoryViews`)})]}),(0,$.jsxs)(la,{align:`end`,children:[(0,$.jsxs)(da,{onSelect:()=>ut(`history`),children:[(0,$.jsx)(X,{name:`history`,className:`size-4`}),t(`gitView.history.title`)]}),(0,$.jsxs)(da,{onSelect:()=>ut(`graph`),children:[(0,$.jsx)(X,{name:`git-merge`,className:`size-4`}),t(`gitView.graph.title`)]}),(0,$.jsxs)(da,{onSelect:dn,children:[(0,$.jsx)(X,{name:`archive-stack`,className:`size-4`}),t(`gitView.stashes.title`)]})]})]})]}):null,En=_?(0,$.jsxs)($.Fragment,{children:[wn,Tn]}):null;return(0,$.jsxs)(`div`,{className:Y(`flex h-full flex-col overflow-hidden`),children:[r&&(_?.mergeInProgress?.head||_?.rebaseInProgress?.headName||_?.rebaseInProgress?.onto)&&(0,$.jsx)(Od,{mergeInProgress:_?.mergeInProgress,rebaseInProgress:_?.rebaseInProgress,onContinue:_n,onAbort:vn,onResolveWithAI:yn,hasUnresolvedConflicts:gn,isLoading:w}),(0,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,$.jsx)(`div`,{className:`h-full min-h-0 flex flex-col`,children:(0,$.jsx)(`div`,{className:Y(`min-w-0 min-h-0 h-full flex flex-col`),children:(0,$.jsx)(co,{as:lo,ref:we,outerClassName:`flex-1 min-h-0`,className:Y(`px-4`,`pt-2 pb-4`),disableHorizontal:!0,preventOverscroll:!0,children:(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-col gap-2`,children:xe?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mb-1 flex h-8 shrink-0 items-center bg-background pr-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label font-semibold text-foreground`,children:t(`gitView.changes.deferredTitle`,{count:_?.files?.length??0})}),(0,$.jsx)(`div`,{className:`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,children:En})]}),(0,$.jsx)(fc,{stagedCount:Ht,unstagedCount:Ut,onLoad:()=>be(!0)})]}):(zt?.length??0)>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Gs,{groups:fn,diffStats:_?.diffStats,revertingPaths:Pe,isRevertingAll:Le,onVisiblePathsChange:ve,onRevertAll:cn,onRevertDirectory:ln,headerBackgroundClassName:`bg-background`,headerLeadingActions:wn,headerActions:Tn})}),(0,$.jsx)(Ws,{stagedCount:nn,commitMessage:he,onCommitMessageChange:ge,generatedHighlights:Ve,onInsertHighlights:pn,onGenerateMessage:qt,isGeneratingMessage:ze,onCommit:()=>Kt({pushAfter:!1}),onCommitAndPush:()=>Kt({pushAfter:!0}),commitAction:ke,hasPendingIndexMutation:Ue,gitmojiEnabled:de,onOpenGitmojiPicker:()=>Ce(!0)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mb-1 flex h-8 shrink-0 items-center bg-background pr-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label font-semibold text-foreground`,children:t(`gitView.empty.cleanTitle`)}),(0,$.jsx)(`div`,{className:`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,children:En})]}),(0,$.jsx)(Zu,{onOpenStashes:()=>Oe(!0)})]})})})})})}),(0,$.jsx)(Hn,{open:lt!==null,onOpenChange:e=>{e||ut(null)},children:(0,$.jsxs)(zn,{className:`max-w-5xl h-[90vh] max-h-[90vh] flex flex-col overflow-hidden`,children:[(0,$.jsxs)(Ln,{children:[(0,$.jsx)(Bn,{children:t(lt===`graph`?`gitView.graph.title`:`gitView.history.title`)}),(0,$.jsx)(Vn,{children:t(`gitView.history.dialogDescription`)})]}),(0,$.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,$.jsx)(gd,{mode:lt===`graph`?`graph`:`history`,log:lt===`graph`?bt??C:C,isLogLoading:lt===`graph`&&Ct||T,logMaxCount:lt===`graph`?Tt:je,onLogMaxCountChange:lt===`graph`?xn:bn,expandedCommitHashes:Ke,onToggleCommit:Pt,commitFilesMap:Ye,loadingCommitHashes:Qe,onCopyHash:Nt,directory:r??void 0,showHeader:!1,contentMaxHeightClassName:`h-full max-h-none`,branchDivider:lt===`graph`?null:nt,onConflict:lt===`graph`?Cn:void 0,onActionSuccess:lt===`graph`?Sn:void 0})})]})}),(0,$.jsx)(Yu,{open:De,onOpenChange:Oe,directory:r,hasUncommittedChanges:(_?.files?.length??0)>0,hasStagedChanges:Bt.length>0,uncommittedFileCount:_?.files?.length??0,onChanged:async e=>{r&&e?.affectsIndex&&I(r),await It(!1),await Lt()}}),(0,$.jsx)(Hn,{open:Se,onOpenChange:Ce,children:(0,$.jsxs)(zn,{className:`max-w-md p-0 overflow-hidden`,children:[(0,$.jsx)(Ln,{className:`px-4 pt-4`,children:(0,$.jsx)(Bn,{children:t(`gitView.gitmoji.title`)})}),(0,$.jsxs)(si,{className:`h-[420px]`,children:[(0,$.jsx)(Oi,{placeholder:t(`gitView.gitmoji.searchPlaceholder`),value:ot,onValueChange:st}),(0,$.jsxs)(ri,{children:[(0,$.jsx)(Ai,{children:t(`gitView.gitmoji.empty`)}),(0,$.jsx)(Ci,{children:(me.length===0?[]:me.filter(e=>{let t=ot.trim().toLowerCase();return!t||e.emoji.includes(t)||e.code.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)})).map(e=>(0,$.jsxs)(hi,{onSelect:()=>mn(e.emoji,e.code),children:[(0,$.jsx)(`span`,{className:`text-lg`,children:e.emoji}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e.code}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.description})]},e.code))})]})]})]})}),r&&(0,$.jsx)(xd,{open:pt,onOpenChange:mt,conflictFiles:ht,directory:r,operation:_t,onAbort:hn,onClearState:Mt})]})},Hd=(e,t)=>{let n=Io(t,e);return!n||n===`.`||n===t?0:n.split(`/`).filter(Boolean).length},Ud=(e,t,n=10)=>{let r=Fo(e);if(!r||n<1)return[];let i=new Set,a=[];for(let e of Object.values(t))if(e)for(let t of e){if(t.type!==`directory`)continue;let e=Fo(t.path);if(!e||i.has(e))continue;let o=Hd(r,e);o<1||o>n||(i.add(e),a.push(e))}return a},Wd=e=>e.some(e=>!!Fo(e)),Gd=(e,t)=>{let n=new Set(t.map(e=>Fo(e)).filter(Boolean));return e.filter(e=>!n.has(e))},Kd=(e,t,n)=>t.length===0?e.length===0:Gd(e,t).length>0?!1:t.every(e=>n.has(Fo(e))),qd=e=>e.slice().sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1),Jd=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`),n=t.startsWith(`//`),r=t.replace(/\/+$/g,``);return r=r.replace(/\/+/g,`/`),n&&!r.startsWith(`//`)&&(r=`/${r}`),r===``?t.startsWith(`/`)?`/`:``:r},Yd=(e,t)=>{let n=Jd(t),r=Jd(e).replace(/\/+$/,``);return n===r?`.`:!r||!n.startsWith(`${r}/`)?n:n.slice(r.length+1)},Xd=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),Zd=new Set([`node_modules`]),Qd=e=>Zd.has(e),$d=e=>{let t=Jd(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},ef=8,tf=new Map,nf=e=>{let t=tf.get(e);return t?(t.touchedAt=Date.now(),tf.delete(e),tf.set(e,t),t):null},rf=e=>{let t=tf.get(e);if(t)return t.touchedAt=Date.now(),t;if(tf.size>=ef){let e=tf.keys().next().value;e!==void 0&&tf.delete(e)}let n={childrenByDir:{},loadErrorsByDir:{},loadedDirs:new Set,touchedAt:Date.now()};return tf.set(e,n),n},af=e=>{tf.delete(e)},of=(e,t)=>(0,$.jsx)(zi,{filePath:e,extension:t,className:`size-3.5`}),sf=e=>{let t=(0,Vc.c)(3),{status:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={open:`var(--status-info)`,modified:`var(--status-warning)`,"git-modified":`var(--status-warning)`,"git-added":`var(--status-success)`,"git-deleted":`var(--status-error)`},t[0]=r):r=t[0];let i=r[n],a;return t[1]===i?a=t[2]:(a=(0,$.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:i}}),t[1]=i,t[2]=a),a},cf=Q.memo(e=>{let t=(0,Vc.c)(73),{node:n,root:r,isExpanded:i,isActive:a,status:o,badge:s,permissions:c,downloadFile:l,onSelect:u,onToggle:d,onRevealPath:f,onOpenDialog:p}=e,{t:m}=Je(),h=n.type===`directory`,{canRename:g,canCreateFile:_,canCreateFolder:v,canDelete:y,canReveal:b}=c,[x,S]=Q.useState(!1),[C,w]=Q.useState(!1),T;t[0]!==_||t[1]!==v||t[2]!==y||t[3]!==g||t[4]!==b?(T=e=>{!g&&!_&&!v&&!y&&!b||(e?.preventDefault(),w(!0))},t[0]=_,t[1]=v,t[2]=y,t[3]=g,t[4]=b,t[5]=T):T=t[5];let E=T,D;t[6]!==h||t[7]!==n||t[8]!==u||t[9]!==d?(D=()=>{h?d(n.path):u(n)},t[6]=h,t[7]=n,t[8]=u,t[9]=d,t[10]=D):D=t[10];let O=D,k;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(k=e=>{e.stopPropagation(),w(!1),S(!0)},t[11]=k):k=t[11];let A=k,j;t[12]!==_||t[13]!==v||t[14]!==y||t[15]!==g||t[16]!==b||t[17]!==l||t[18]!==h||t[19]!==n||t[20]!==p||t[21]!==f||t[22]!==m?(j=e=>{let{Item:t,Separator:r}=e;return(0,$.jsxs)($.Fragment,{children:[g&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),p(`rename`,n)},children:[(0,$.jsx)(X,{name:`edit`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.rename`)]}),(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),Ze(n.path).then(e=>{e.ok||J.error(m(`sidebarFilesTree.toast.copyFailed`))})},children:[(0,$.jsx)(X,{name:`file-copy`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.copyPath`)]}),!h&&l&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),l(n.path).catch(e=>{console.error(`Download failed:`,e),J.error(m(`sidebarFilesTree.toast.operationFailed`))})},children:[(0,$.jsx)(X,{name:`download`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.save`)]}),b&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),f(n.path)},children:[(0,$.jsx)(X,{name:`folder-received`,className:`mr-2 h-4 w-4`}),` `,m(Un())]}),h&&(_||v)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(r,{}),_&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),p(`createFile`,n)},children:[(0,$.jsx)(X,{name:`file-add`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.newFile`)]}),v&&(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),p(`createFolder`,n)},children:[(0,$.jsx)(X,{name:`folder-add`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.newFolder`)]})]}),y&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(r,{}),(0,$.jsxs)(t,{onClick:e=>{e.stopPropagation(),p(`delete`,n)},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(X,{name:`delete-bin`,className:`mr-2 h-4 w-4`}),` `,m(`sidebarFilesTree.menu.delete`)]})]})]})},t[12]=_,t[13]=v,t[14]=y,t[15]=g,t[16]=b,t[17]=l,t[18]=h,t[19]=n,t[20]=p,t[21]=f,t[22]=m,t[23]=j):j=t[23];let M=j,N;t[24]!==n.path||t[25]!==r?(N=e=>{let t=Yd(r,n.path);!t||t===`.`||(e.dataTransfer.setData(`application/x-openchamber-file-path`,t),e.dataTransfer.effectAllowed=`copy`)},t[24]=n.path,t[25]=r,t[26]=N):N=t[26];let P=N,F;t[27]===E?F=t[28]:(F=(0,$.jsx)(`div`,{className:`group relative flex items-center`,onContextMenu:E}),t[27]=E,t[28]=F);let I=a?`bg-interactive-selection/70`:`hover:bg-interactive-hover/40`,ee;t[29]===I?ee=t[30]:(ee=Y(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left text-foreground transition-colors pr-8 select-none`,I,`cursor-grab active:cursor-grabbing`),t[29]=I,t[30]=ee);let L;t[31]!==h||t[32]!==i||t[33]!==n.extension||t[34]!==n.path?(L=h?i?(0,$.jsx)(X,{name:`folder-open-fill`,className:`size-3.5 flex-shrink-0 text-muted-foreground`}):(0,$.jsx)(X,{name:`folder-3-fill`,className:`size-3.5 flex-shrink-0 text-muted-foreground`}):of(n.path,n.extension),t[31]=h,t[32]=i,t[33]=n.extension,t[34]=n.path,t[35]=L):L=t[35];let R;t[36]!==n.name||t[37]!==n.path?(R=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-code`,title:n.path,children:n.name}),t[36]=n.name,t[37]=n.path,t[38]=R):R=t[38];let z;t[39]!==h||t[40]!==o?(z=!h&&o&&(0,$.jsx)(sf,{status:o}),t[39]=h,t[40]=o,t[41]=z):z=t[41];let B;t[42]!==s||t[43]!==h?(B=h&&s&&(0,$.jsxs)(`span`,{className:`text-xs flex items-center gap-1 ml-auto mr-1`,children:[s.modified>0&&(0,$.jsxs)(`span`,{className:`text-[var(--status-warning)]`,children:[`M`,s.modified]}),s.added>0&&(0,$.jsxs)(`span`,{className:`text-[var(--status-success)]`,children:[`+`,s.added]})]}),t[42]=s,t[43]=h,t[44]=B):B=t[44];let V;t[45]!==E||t[46]!==P||t[47]!==O||t[48]!==R||t[49]!==z||t[50]!==B||t[51]!==ee||t[52]!==L?(V=(0,$.jsxs)(`button`,{type:`button`,onClick:O,onContextMenu:E,draggable:!0,onDragStart:P,className:ee,children:[L,R,z,B]}),t[45]=E,t[46]=P,t[47]=O,t[48]=R,t[49]=z,t[50]=B,t[51]=ee,t[52]=L,t[53]=V):V=t[53];let H;t[54]!==_||t[55]!==v||t[56]!==y||t[57]!==g||t[58]!==b||t[59]!==x||t[60]!==M||t[61]!==m?(H=(g||_||v||y||b)&&(0,$.jsx)(`div`,{className:`absolute right-1 top-1/2 -translate-y-1/2 opacity-0 focus-within:opacity-100 group-hover:opacity-100`,children:(0,$.jsxs)(ga,{open:x,onOpenChange:S,children:[(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex`,children:(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:A,title:m(`sidebarFilesTree.actions.fileMenuTitle`),"aria-label":m(`sidebarFilesTree.actions.fileMenuTitle`),children:(0,$.jsx)(X,{name:`more-2-fill`,className:`h-4 w-4`})})})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:m(`sidebarFilesTree.actions.fileMenuTitle`)})]}),(0,$.jsx)(la,{align:`end`,side:`bottom`,onCloseAutoFocus:()=>S(!1),children:M({Item:da,Separator:sa})})]})}),t[54]=_,t[55]=v,t[56]=y,t[57]=g,t[58]=b,t[59]=x,t[60]=M,t[61]=m,t[62]=H):H=t[62];let U;t[63]!==V||t[64]!==H||t[65]!==F?(U=(0,$.jsxs)(_c,{render:F,children:[V,H]}),t[63]=V,t[64]=H,t[65]=F,t[66]=U):U=t[66];let te;t[67]===M?te=t[68]:(te=(0,$.jsx)(yc,{className:`min-w-[180px]`,children:M({Item:bc,Separator:vc})}),t[67]=M,t[68]=te);let ne;return t[69]!==C||t[70]!==U||t[71]!==te?(ne=(0,$.jsxs)(xc,{open:C,onOpenChange:w,children:[U,te]}),t[69]=C,t[70]=U,t[71]=te,t[72]=ne):ne=t[72],ne},(e,t)=>e.node===t.node&&e.root===t.root&&e.isExpanded===t.isExpanded&&e.isActive===t.isActive&&e.status===t.status&&e.badge===t.badge&&e.permissions===t.permissions&&e.downloadFile===t.downloadFile&&e.onSelect===t.onSelect&&e.onToggle===t.onToggle&&e.onRevealPath===t.onRevealPath&&e.onOpenDialog===t.onOpenDialog),lf=()=>{let{t:e}=Je(),{files:t}=Ba(),n=Mo()??``,r=Jd(n.trim()),i=M(),a=g(),o=Te(e=>e.searchFiles),s=K(e=>e.openContextFile),c=Qa(n),[l,u]=Q.useState(``),d=Ja(l,200),f=Q.useRef(null),[p,m]=Q.useState([]),[h,_]=Q.useState(!1),[v,y]=Q.useState({}),[b,x]=Q.useState({}),S=Q.useRef(new Set),C=Q.useRef(new Set),w=Q.useRef(null),T=Q.useRef(!1);Q.useEffect(()=>{if(!r){y({}),x({}),S.current=new Set;return}let e=nf(r);e?(y({...e.childrenByDir}),x({...e.loadErrorsByDir}),S.current=new Set(e.loadedDirs)):(y({}),x({}),S.current=new Set)},[r]),Q.useEffect(()=>{if(!r)return;let e=rf(r);e.childrenByDir=v},[r,v]),Q.useEffect(()=>{if(!r)return;let e=rf(r);e.loadErrorsByDir=b},[r,b]),Q.useEffect(()=>{if(!r)return;let e=rf(r);e.loadedDirs=new Set(S.current)},[r,v,b]),Q.useEffect(()=>()=>{if(!r)return;let e=tf.get(r);e&&e.loadedDirs.size===0&&Object.keys(e.childrenByDir).length===0&&af(r)},[r]);let E=Q.useMemo(()=>[],[]),D=Q.useMemo(()=>[],[]),O=Ha(e=>r?e.byRoot[r]?.expandedPaths??E:E),k=Ha(e=>r?e.byRoot[r]?.selectedPath??null:null),A=Ha(e=>e.setSelectedPath),j=Ha(e=>e.addOpenPath),N=Ha(e=>e.removeOpenPathsByPrefix),P=Ha(e=>e.removeExpandedPathsByPrefix),F=Ha(e=>e.toggleExpandedPath),I=Ha(e=>e.expandPaths),ee=K(e=>r?e.contextPanelByDirectory[r]?.tabs??D:D),L=Q.useMemo(()=>new Set(ee.map(e=>e.mode===`file`?e.targetPath:null).filter(e=>typeof e==`string`&&e.length>0).map(e=>Jd(e))),[ee]),[R,z]=Q.useState(null),[B,V]=Q.useState(null),[H,U]=Q.useState(``),[te,ne]=Q.useState(!1),W=!!t.writeFile,re=!!t.createDirectory,G=!!t.rename,ie=!!t.delete,ae=!!t.revealPath,oe=Q.useMemo(()=>({canRename:G,canCreateFile:W,canCreateFolder:re,canDelete:ie,canReveal:ae}),[G,W,re,ie,ae]),se=Q.useCallback(n=>{t.revealPath&&t.revealPath(n).catch(()=>{J.error(e(`sidebarFilesTree.toast.revealFailed`))})},[t,e]),ce=Q.useCallback((e,t)=>{z(e),V(t),U(e===`rename`&&t.name||``),ne(!1)},[]),le=Q.useCallback((e,t)=>qd(t.filter(e=>e&&typeof e.name==`string`&&e.name.length>0).filter(e=>i||!e.name.startsWith(`.`)).filter(e=>a||!Qd(e.name)).map(t=>{let n=t.name,r=Jd(t.path||``),i=r?Xd(r)?r:Jd(`${e}/${r}`):Jd(`${e}/${n}`),a=t.isDirectory?`directory`:`file`;return{name:n,path:i,type:a,extension:a===`file`&&n.includes(`.`)?n.split(`.`).pop()?.toLowerCase():void 0}})),[a,i]),ue=Q.useCallback(async(e,n)=>{let r=Jd(e.trim());if(!r||S.current.has(r)||C.current.has(r))return;C.current=new Set(C.current),C.current.add(r);let i=t.listDirectory?t.listDirectory(r).then(e=>e.entries.map(e=>({name:e.name,path:e.path,isDirectory:e.isDirectory}))):Ee.listLocalDirectory(r).then(e=>e.map(e=>({name:e.name,path:e.path,isDirectory:e.isDirectory})));try{let e=await i;if(n?.())return;let t=le(r,e);S.current=new Set(S.current),S.current.add(r),x(e=>{if(!e[r])return e;let t={...e};return delete t[r],t}),y(e=>({...e,[r]:t}))}catch(e){if(n?.())return;let t=e instanceof Error?e.message:String(e??``);console.error(`Failed to load sidebar directory:`,e),x(e=>({...e,[r]:t}))}finally{C.current=new Set(C.current),C.current.delete(r)}},[t,le]),de=Q.useCallback(async()=>{if(!r)return;w.current?.abort();let e=new AbortController;w.current=e;try{let t=(Ha.getState().byRoot[r]?.expandedPaths??[]).map(e=>Jd(e)).filter(e=>!!e&&e!==r&&e.startsWith(`${r}/`)),n=[r,...t];S.current=new Set(S.current);for(let e of n)S.current.delete(e);x(e=>{if(Object.keys(e).length===0)return e;let t={...e},r=!1;for(let e of n)e in t&&(delete t[e],r=!0);return r?t:e});let i=()=>e.signal.aborted;await ue(r,i);for(let n=0;n<t.length&&!e.signal.aborted;n+=3){let e=t.slice(n,n+3);await Promise.all(e.map(e=>ue(e,i)))}}catch(t){if(e.signal.aborted)return;console.error(`Failed to refresh sidebar tree:`,t)}finally{w.current===e&&(w.current=null)}},[ue,r]),fe=Q.useCallback(async e=>{if(!e){await de();return}let t=Jd(e);S.current=new Set(S.current),S.current.delete(t),C.current=new Set(C.current),C.current.delete(t),await ue(t)},[ue,de]);Q.useEffect(()=>{r&&(w.current?.abort(),T.current=!1,S.current=new Set,C.current=new Set,x({}),y(e=>Object.keys(e).length===0?e:{}),ue(r))},[ue,r,i,a]),Q.useEffect(()=>{if(!r||O.length===0)return;let e=O.map(e=>Jd(e)).filter(e=>!!e&&e!==r&&e.startsWith(`${r}/`)&&!S.current.has(e)&&!C.current.has(e)).sort((e,t)=>e.split(`/`).length-t.split(`/`).length);if(e.length===0)return;let t=!1,n=()=>t;return(async()=>{for(let r=0;r<e.length&&!t;r+=3){let t=e.slice(r,r+3);await Promise.all(t.map(e=>ue(e,n)))}})(),()=>{t=!0}},[O,ue,r]),Q.useEffect(()=>{if(!n){m([]),_(!1);return}let e=d.trim();if(!e){m([]),_(!1);return}let t=!1;return _(!0),o(n,e,150,{includeHidden:i,respectGitignore:!a,type:`file`}).then(e=>{if(t)return;let n=e.filter(e=>a||!$d(e.path)).map(e=>({name:e.name,path:Jd(e.path),type:`file`,extension:e.extension,relativePath:e.relativePath}));m(n)}).catch(()=>{t||m([])}).finally(()=>{t||_(!1)}),()=>{t=!0}},[n,d,o,i,a]);let pe=Q.useMemo(()=>{let e=new Map;if(!c?.files)return e;for(let t of c.files)t.index===`A`||t.working_dir===`?`?e.set(t.path,`git-added`):t.index===`D`?e.set(t.path,`git-deleted`):(t.index===`M`||t.working_dir===`M`)&&e.set(t.path,`git-modified`);return e},[c]),me=Q.useMemo(()=>{let e=new Map;if(!c?.files||!r)return e;for(let t of c.files){let n=t.index===`M`||t.working_dir===`M`,i=t.index===`A`||t.working_dir===`?`;if(!n&&!i)continue;let a=t.path.split(`/`);if(a.length<=1)continue;let o=r;for(let t=0;t<a.length-1;t++){o=`${o}/${a[t]}`;let r=e.get(o);r||(r={modified:0,added:0},e.set(o,r)),n&&r.modified++,i&&r.added++}}return e},[c,r]),he=Q.useCallback(e=>{if(L.has(e))return`open`;if(pe.size===0)return null;let t=e.startsWith(r+`/`)?e.slice(r.length+1):e;return pe.get(t)??null},[L,pe,r]),ge=Q.useCallback(e=>{if(me.size===0)return null;let t=me.get(e);return t&&t.modified+t.added>0?t:null},[me]),_e=Q.useCallback(async e=>{if(!r)return;let n=await As(t,e.path);if(!n.ok){J.error(sc(n.reason));return}A(r,e.path),j(r,e.path),s(r,e.path)},[j,t,s,r,A]),ve=Q.useCallback(async e=>{let t=Jd(e);r&&(F(r,t),S.current.has(t)||await ue(t))},[ue,r,F]),ye=Q.useMemo(()=>r?Ud(r,v):[],[v,r]),be=Q.useMemo(()=>new Set(O.map(e=>Jd(e))),[O]),xe=Wd(O),Se=Q.useCallback(()=>{if(r){if(xe){T.current=!1,P(r,r);return}T.current=!0,I(r,ye)}},[xe,ye,I,P,r]);Q.useEffect(()=>{if(!r||!T.current)return;let e=Gd(ye,O);if(e.length>0){I(r,e);return}let t=new Set([...S.current,...Object.keys(b)]);Kd(ye,O,t)&&(T.current=!1)},[ye,I,O,b,r]);let Ce=Q.useCallback(async n=>{if(n?.preventDefault(),!B||!R)return;ne(!0);let i=()=>ne(!1),a=()=>z(null);if(R===`createFile`){if(!H.trim()){J.error(e(`sidebarFilesTree.toast.filenameRequired`)),i();return}if(!t.writeFile){J.error(e(`sidebarFilesTree.toast.writeNotSupported`)),i();return}let n=B.path,r=Jd(`${n?`${n}/`:``}${H.trim()}`);await t.writeFile(r,``).then(async t=>{t.success&&(J.success(e(`sidebarFilesTree.toast.fileCreated`)),await fe(n)),a()}).catch(()=>J.error(e(`sidebarFilesTree.toast.operationFailed`))).finally(i);return}if(R===`createFolder`){if(!H.trim()){J.error(e(`sidebarFilesTree.toast.folderNameRequired`)),i();return}let n=B.path,r=Jd(`${n?`${n}/`:``}${H.trim()}`);await t.createDirectory(r).then(async t=>{t.success&&(J.success(e(`sidebarFilesTree.toast.folderCreated`)),await fe(n)),a()}).catch(()=>J.error(e(`sidebarFilesTree.toast.operationFailed`))).finally(i);return}if(R===`rename`){if(!H.trim()){J.error(e(`sidebarFilesTree.toast.nameRequired`)),i();return}if(!t.rename){J.error(e(`sidebarFilesTree.toast.renameNotSupported`)),i();return}let n=B.path,o=n.split(`/`).slice(0,-1).join(`/`),s=Jd(`${o?`${o}/`:``}${H.trim()}`);await t.rename(n,s).then(async t=>{t.success&&(J.success(e(`sidebarFilesTree.toast.renamedSuccessfully`)),await fe(o),r&&N(r,n),(k===n||k&&k.startsWith(`${n}/`))&&A(r,null)),a()}).catch(()=>J.error(e(`sidebarFilesTree.toast.operationFailed`))).finally(i);return}if(R===`delete`){if(!t.delete){J.error(e(`sidebarFilesTree.toast.deleteNotSupported`)),i();return}let n=B.path,o=n.split(`/`).slice(0,-1).join(`/`);await t.delete(n).then(async t=>{t.success&&(J.success(e(`sidebarFilesTree.toast.deletedSuccessfully`)),await fe(o),r&&N(r,n),(k===n||k&&k.startsWith(n+`/`))&&A(r,null)),a()}).catch(()=>J.error(e(`sidebarFilesTree.toast.operationFailed`))).finally(i);return}i()},[R,B,H,t,fe,N,r,k,A,e]);function we(n,i){return(v[n]??[]).map(n=>{let a=n.type===`directory`,o=a&&be.has(Jd(n.path)),s=k===n.path;return(0,$.jsxs)(`li`,{className:`relative`,children:[i>0&&(0,$.jsx)(`span`,{className:`absolute top-3 left-[-12px] h-px w-3 bg-border/40`}),(0,$.jsx)(cf,{node:n,root:r,isExpanded:o,isActive:s,status:a?void 0:he(n.path),badge:a?ge(n.path):void 0,permissions:oe,downloadFile:t.downloadFile,onSelect:_e,onToggle:ve,onRevealPath:se,onOpenDialog:ce}),a&&o&&(0,$.jsxs)(`ul`,{className:`relative ml-3 flex flex-col border-l border-border/40 pl-3`,children:[b[n.path]?(0,$.jsxs)(`li`,{className:`flex items-center gap-2 px-2 py-1 typography-code text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[var(--status-error)]`,title:b[n.path],children:b[n.path]}),(0,$.jsxs)(Z,{variant:`ghost`,size:`xs`,className:`h-6 gap-1`,onClick:()=>void fe(n.path),children:[(0,$.jsx)(X,{name:`refresh`,className:`h-3.5 w-3.5`}),e(`sidebarFilesTree.actions.refreshTitle`)]})]}):null,we(n.path,i+1)]})]},n.path)})}let De=!!(r&&v[r]),Oe=r?b[r]:null,ke=e(xe?`sidebarFilesTree.actions.collapseAllTitle`:`sidebarFilesTree.actions.expandAllTitle`);return(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1 border-b border-border/40 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,$.jsx)(X,{name:`search`,className:`pointer-events-none absolute left-2 top-2 h-4 w-4 text-muted-foreground`}),(0,$.jsx)(na,{ref:f,value:l,onChange:e=>u(e.target.value),placeholder:e(`sidebarFilesTree.search.placeholder`),className:`h-8 pl-8 pr-8 typography-meta`}),l.trim().length>0?(0,$.jsx)(`button`,{type:`button`,"aria-label":e(`sidebarFilesTree.search.clearAria`),className:`absolute right-2 top-2 inline-flex h-4 w-4 items-center justify-center text-muted-foreground hover:text-foreground`,onClick:()=>{u(``),f.current?.focus()},children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`})}):null]}),(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-0.5`,children:[W&&(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex flex-shrink-0`,children:(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>ce(`createFile`,{path:n,type:`directory`}),className:`w-6 flex-shrink-0 p-0`,title:e(`sidebarFilesTree.actions.newFileTitle`),"aria-label":e(`sidebarFilesTree.actions.newFileTitle`),children:(0,$.jsx)(X,{name:`file-add`,className:`size-3.5`})})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:e(`sidebarFilesTree.actions.newFileTitle`)})]}),re&&(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex flex-shrink-0`,children:(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>ce(`createFolder`,{path:n,type:`directory`}),className:`w-6 flex-shrink-0 p-0`,title:e(`sidebarFilesTree.actions.newFolderTitle`),"aria-label":e(`sidebarFilesTree.actions.newFolderTitle`),children:(0,$.jsx)(X,{name:`folder-add`,className:`size-3.5`})})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:e(`sidebarFilesTree.actions.newFolderTitle`)})]}),(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex flex-shrink-0`,children:(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>void de(),className:`w-6 flex-shrink-0 p-0`,title:e(`sidebarFilesTree.actions.refreshTitle`),"aria-label":e(`sidebarFilesTree.actions.refreshTitle`),children:(0,$.jsx)(X,{name:`refresh`,className:`size-3.5`})})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:e(`sidebarFilesTree.actions.refreshTitle`)})]}),(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:Se,disabled:ye.length===0&&O.length===0,className:`w-6 flex-shrink-0 p-0`,title:ke,"aria-label":ke,children:(0,$.jsx)(X,{name:xe?`contract-up-down`:`expand-up-down`,className:`size-3.5`})})}),(0,$.jsx)(ia,{side:`bottom`,sideOffset:6,children:ke})]})]})]}),(0,$.jsx)(co,{outerClassName:`flex-1 min-h-0`,className:`p-2`,children:(0,$.jsx)(`ul`,{className:`flex flex-col`,children:h?(0,$.jsxs)(`li`,{className:`flex items-center gap-1.5 px-2 py-1 typography-code text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}),e(`sidebarFilesTree.state.searching`)]}):p.length>0?p.map(e=>{let t=k===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>_e(e),draggable:!0,onDragStart:t=>{let n=e.relativePath||Yd(r??``,e.path);!n||n===`.`||(t.dataTransfer.setData(`application/x-openchamber-file-path`,n),t.dataTransfer.effectAllowed=`copy`)},className:Y(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left text-foreground transition-colors cursor-grab active:cursor-grabbing`,t?`bg-interactive-selection/70`:`hover:bg-interactive-hover/40`),title:e.path,children:[of(e.path,e.extension),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-code`,style:{direction:`rtl`,textAlign:`left`},children:e.relativePath??e.path})]})},e.path)}):Oe?(0,$.jsxs)(`li`,{className:`flex flex-col gap-2 px-2 py-1 typography-code text-muted-foreground`,children:[(0,$.jsx)(`span`,{children:Oe}),(0,$.jsxs)(Z,{variant:`outline`,size:`xs`,className:`w-fit gap-1.5`,onClick:()=>void de(),children:[(0,$.jsx)(X,{name:`refresh`,className:`h-3.5 w-3.5`}),e(`sidebarFilesTree.actions.refreshTitle`)]})]}):De&&r?we(r,0):(0,$.jsx)(`li`,{className:`px-2 py-1 typography-code text-muted-foreground`,children:e(`sidebarFilesTree.state.loading`)})})}),(0,$.jsx)(Hn,{open:!!R,onOpenChange:e=>!e&&z(null),children:(0,$.jsxs)(zn,{children:[(0,$.jsxs)(Ln,{children:[(0,$.jsxs)(Bn,{children:[R===`createFile`&&e(`sidebarFilesTree.dialog.createFile.title`),R===`createFolder`&&e(`sidebarFilesTree.dialog.createFolder.title`),R===`rename`&&e(`sidebarFilesTree.dialog.rename.title`),R===`delete`&&e(`sidebarFilesTree.dialog.delete.title`)]}),(0,$.jsxs)(Vn,{children:[R===`createFile`&&e(`sidebarFilesTree.dialog.createFile.description`,{path:B?.path??e(`sidebarFilesTree.dialog.rootFallback`)}),R===`createFolder`&&e(`sidebarFilesTree.dialog.createFolder.description`,{path:B?.path??e(`sidebarFilesTree.dialog.rootFallback`)}),R===`rename`&&e(`sidebarFilesTree.dialog.rename.description`,{name:B?.name??``}),R===`delete`&&e(`sidebarFilesTree.dialog.delete.description`,{name:B?.name??``})]})]}),R!==`delete`&&(0,$.jsx)(`div`,{className:`py-4`,children:(0,$.jsx)(na,{value:H,onChange:e=>U(e.target.value),placeholder:e(R===`rename`?`sidebarFilesTree.dialog.rename.placeholder`:`sidebarFilesTree.dialog.namePlaceholder`),onKeyDown:e=>{e.key===`Enter`&&Ce()},autoFocus:!0})}),(0,$.jsxs)(Rn,{children:[(0,$.jsx)(Z,{variant:`outline`,onClick:()=>z(null),disabled:te,children:e(`sidebarFilesTree.dialog.cancel`)}),(0,$.jsx)(Z,{variant:R===`delete`?`destructive`:`default`,onClick:()=>void Ce(),disabled:te||R!==`delete`&&!H.trim(),children:te?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):e(R===`delete`?`sidebarFilesTree.dialog.delete.confirm`:`sidebarFilesTree.dialog.confirm`)})]})]})})]})},uf=e=>e===`git`||e===`files`,df=`files`,ff=()=>!(typeof document<`u`&&document.hidden||typeof navigator<`u`&&!navigator.onLine);function pf(e,t,n,r){let i=(0,Vc.c)(6),{git:a}=Ba(),o=Wa(mf),s=!!(e&&a&&t&&n===`git`&&r!==`git`),c,l;i[0]!==e||i[1]!==o||i[2]!==a||i[3]!==s?(c=()=>{if(!s||!e||!a)return;o(e,a);let t=window.setInterval(()=>{ff()&&o(e,a)},1e4);return()=>window.clearInterval(t)},l=[s,e,a,o],i[0]=e,i[1]=o,i[2]=a,i[3]=s,i[4]=c,i[5]=l):(c=i[4],l=i[5]),Q.useEffect(c,l)}function mf(e){return e.ensureStatus}var hf=()=>{let e=(0,Vc.c)(45),{t}=Je(),n=K(gf),r=K(_f),i=K(vf),a=K(yf);pf(Mo(),i,n,a);let o=a===`git`?`git`:null,s,c;e[0]!==o||e[1]!==n||e[2]!==r?(s=()=>{o&&n===o&&r(df)},c=[o,n,r],e[0]=o,e[1]=n,e[2]=r,e[3]=s,e[4]=c):(s=e[3],c=e[4]),Q.useEffect(s,c);let l;e[5]===t?l=e[6]:(l=t(`layout.rightSidebar.git`),e[5]=t,e[6]=l);let u;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(X,{name:`git-branch`,className:`h-3.5 w-3.5`}),e[7]=u):u=e[7];let d;e[8]===l?d=e[9]:(d={id:`git`,label:l,icon:u},e[8]=l,e[9]=d);let f;e[10]===t?f=e[11]:(f=t(`layout.rightSidebar.files`),e[10]=t,e[11]=f);let p;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(X,{name:`folder-3`,className:`h-3.5 w-3.5`}),e[12]=p):p=e[12];let m;e[13]===f?m=e[14]:(m={id:`files`,label:f,icon:p},e[13]=f,e[14]=m);let h;e[15]!==d||e[16]!==m?(h=[d,m],e[15]=d,e[16]=m,e[17]=h):h=e[17];let g=h,_;e[18]!==o||e[19]!==g?(_=o?g.filter(e=>e.id!==o):g,e[18]=o,e[19]=g,e[20]=_):_=e[20];let v=_,y=i&&n===`git`&&o!==`git`,b;e[21]===r?b=e[22]:(b=e=>{uf(e)&&r(e)},e[21]=r,e[22]=b);let x=b,S;e[23]!==x||e[24]!==n||e[25]!==v?(S=(0,$.jsx)(`div`,{className:`h-9 bg-background pt-1 px-2`,children:(0,$.jsx)(Vo,{items:v,activeId:n,onSelect:x,layoutMode:`fit`,variant:`active-pill`,activePillLowercase:!1,className:`h-full`})}),e[23]=x,e[24]=n,e[25]=v,e[26]=S):S=e[26];let C=n!==`git`&&`hidden`,w;e[27]===C?w=e[28]:(w=Y(`h-full`,C),e[27]=C,e[28]=w);let T;e[29]===y?T=e[30]:(T=(0,$.jsx)(Vd,{isActive:y}),e[29]=y,e[30]=T);let E;e[31]!==w||e[32]!==T?(E=(0,$.jsx)(`div`,{className:w,children:T}),e[31]=w,e[32]=T,e[33]=E):E=e[33];let D=n!==`files`&&`hidden`,O;e[34]===D?O=e[35]:(O=Y(`h-full`,D),e[34]=D,e[35]=O);let k;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(lf,{}),e[36]=k):k=e[36];let A;e[37]===O?A=e[38]:(A=(0,$.jsx)(`div`,{className:O,children:k}),e[37]=O,e[38]=A);let j;e[39]!==E||e[40]!==A?(j=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:[E,A]}),e[39]=E,e[40]=A,e[41]=j):j=e[41];let M;return e[42]!==S||e[43]!==j?(M=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-background`,children:[S,j]}),e[42]=S,e[43]=j,e[44]=M):M=e[44],M};function gf(e){return e.rightSidebarTab}function _f(e){return e.setRightSidebarTab}function vf(e){return e.isRightSidebarOpen}function yf(e){return e.activeMainTab}var bf=(e,t)=>{if(!t)return null;let n=Number.parseInt(e.trim(),10);return!Number.isFinite(n)||n<1?null:Math.min(n,t.state.doc.lines)},xf=(e,t)=>{let n=e.state.doc.lineAt(t.main.head);return{lineNumber:n.number,character:t.main.head-n.from+1,selection:t}},Sf=(e,t,n)=>{let r=e.state.doc.line(t),i=Math.max(1,Math.min(n,r.length+1)),a=r.from+i-1;e.dispatch({selection:Be.cursor(a),effects:ze.scrollIntoView(a,{y:`center`})})};function Cf({open:e,onOpenChange:t,view:n,variant:r=`overlay`}){let{t:i}=Je(),[a,o]=Q.useState(``),s=Q.useRef(null),c=Q.useRef(!1),l=Q.useRef(null),u=Q.useRef(null),d=Q.useMemo(()=>bf(a,n),[a,n]);Q.useEffect(()=>{!e||!n||(c.current=!1,s.current=xf(n,n.state.selection),o(``))},[e,n]),Q.useEffect(()=>{e&&window.requestAnimationFrame(()=>{u.current?.focus(),u.current?.select()})},[e]),Q.useEffect(()=>{if(!(!e||!n||!s.current)){if(d===null){let{selection:e}=s.current;n.dispatch({selection:e,effects:ze.scrollIntoView(e.main.from,{y:`center`})});return}Sf(n,d,s.current.character)}},[d,e,n]);let f=Q.useCallback(()=>{if(!n||c.current||!s.current)return;let{selection:e}=s.current;n.dispatch({selection:e,effects:ze.scrollIntoView(e.main.from,{y:`center`})})},[n]),p=Q.useCallback(e=>{e||f(),t(e)},[t,f]),m=Q.useCallback(()=>{!n||d===null||!s.current||(c.current=!0,Sf(n,d,s.current.character),t(!1),n.focus())},[d,t,n]);Q.useEffect(()=>{if(!e)return;let t=e=>{let t=l.current,n=e.target;!t||!(n instanceof Node)||t.contains(n)||p(!1)},n=e=>{e.key===`Escape`&&(e.preventDefault(),p(!1))};return document.addEventListener(`pointerdown`,t,!0),document.addEventListener(`keydown`,n,!0),()=>{document.removeEventListener(`pointerdown`,t,!0),document.removeEventListener(`keydown`,n,!0)}},[p,e,r]);let h=Q.useMemo(()=>{if(!n)return i(`goToLineDialog.helper.editorUnavailable`);if(d===null){let e=s.current??xf(n,n.state.selection);return i(`goToLineDialog.helper.currentLineRange`,{current:e.lineNumber,max:n.state.doc.lines})}return i(`goToLineDialog.helper.goToLine`,{line:d})},[d,i,n]);return r===`inline`?e?(0,$.jsxs)(`div`,{ref:l,className:`ml-1 flex h-6 items-center gap-1`,children:[(0,$.jsx)(na,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholderShort`),className:`h-6 w-20 rounded-md border-border/70 bg-transparent px-2 typography-meta`}),(0,$.jsx)(Z,{variant:`outline`,size:`xs`,onClick:m,disabled:!n||d===null,className:`h-6 px-2`,children:i(`goToLineDialog.actions.go`)})]}):null:(0,$.jsx)(`div`,{ref:l,className:Y(`absolute left-3 top-3 z-40 w-[min(32rem,calc(100%-1.5rem))] rounded-xl border border-[var(--interactive-border)] bg-[color:color-mix(in_srgb,var(--surface-elevated)_94%,transparent)] p-2.5 shadow-lg backdrop-blur-sm transition-all`,e?`pointer-events-auto translate-y-0 opacity-100`:`pointer-events-none -translate-y-1 opacity-0`),children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(na,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholder`),className:`h-8 w-full rounded-md border-border/70 bg-background/60 typography-ui-label`}),(0,$.jsx)(`div`,{className:`mt-2 rounded-md bg-primary/15 px-3 py-1.5 typography-ui-label text-foreground/95`,children:h})]})})}var wf=ro(()=>Pe(()=>import(`./ToolOutputDialog-BkUqgPvz.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53]))),Tf=e=>{let t=Of(e);if(!t)return``;if(t===`/`||/^[A-Za-z]:\/$/.test(t))return t;let n=t.lastIndexOf(`/`);if(n<0)return t;if(n===0)return`/`;let r=t.slice(0,n);return/^[A-Za-z]:$/.test(r)?`${r}/`:r},Ef=e=>{let t=(0,Vc.c)(8),{label:n,iconDataUrl:r}=e,[i,a]=Q.useState(!1),o;t[0]===n?o=t[1]:(o=n.trim().slice(0,1).toUpperCase()||`?`,t[0]=n,t[1]=o);let s=o;if(r&&!i){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>a(!0),t[2]=e):e=t[2];let n;return t[3]===r?n=t[4]:(n=(0,$.jsx)(`img`,{src:r,alt:``,className:`size-4 rounded-sm`,onError:e}),t[3]=r,t[4]=n),n}let c;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=Y(`size-4 rounded-sm flex items-center justify-center`,`bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground`),t[5]=c):c=t[5];let l;return t[6]===s?l=t[7]:(l=(0,$.jsx)(`span`,{className:c,children:s}),t[6]=s,t[7]=l),l},Df=e=>e.slice().sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1),Of=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`),n=t.startsWith(`//`),r=t.replace(/\/+/g,`/`);n&&!r.startsWith(`//`)&&(r=`/${r}`);let i=r===`/`,a=/^[A-Za-z]:\/$/.test(r);return!i&&!a&&(r=r.replace(/\/+$/,``)),r},kf=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),Af=e=>/^[A-Za-z]:\//.test(e)?e.toLowerCase():e,jf=(e,t)=>{let n=Of(t),r=Of(e);if(!n||!r)return!1;let i=Af(n),a=Af(r);return a===i||a.startsWith(`${i}/`)},Mf=(e,t)=>{let n=Of(t),r=Of(e);if(!jf(r,n))return[];let i=r.slice(n.length).replace(/^\//,``).split(`/`),a=[],o=n;for(let e=0;e<i.length-1;e++)o=o?`${o}/${i[e]}`:i[e],a.push(o);return a},Nf=(e,t)=>{if(!t)return``;let n=Of(t);if(!e||!jf(n,e))return n;let r=n.slice(e.length);return r.startsWith(`/`)?r.slice(1):r},Pf=new Set([`node_modules`]),Ff=e=>{let t=(0,Vc.c)(3),{status:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={open:`var(--status-info)`,modified:`var(--status-warning)`,"git-modified":`var(--status-warning)`,"git-added":`var(--status-success)`,"git-deleted":`var(--status-error)`},t[0]=r):r=t[0];let i=r[n],a;return t[1]===i?a=t[2]:(a=(0,$.jsx)(`span`,{className:`size-2 rounded-full`,style:{backgroundColor:i}}),t[1]=i,t[2]=a),a},If=e=>{let t=(0,Vc.c)(11),{name:n}=e,r=Q.useRef(null),i=Q.useRef(null),[a,o]=Q.useState(!1),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=r.current,t=i.current;if(!e||!t)return;let n=()=>{o(t.scrollWidth>e.clientWidth+1)};n();let a=new ResizeObserver(n);return a.observe(e),a.observe(t),()=>{a.disconnect()}},t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=[n],t[1]=n,t[2]=c),Q.useLayoutEffect(s,c);let l;t[3]===n?l=t[4]:(l=(0,$.jsx)(`span`,{ref:i,"aria-hidden":`true`,className:`invisible absolute whitespace-nowrap`,children:n}),t[3]=n,t[4]=l);let u;t[5]!==n||t[6]!==a?(u=a?(0,$.jsxs)(`span`,{className:`open-file-name-marquee-track`,children:[(0,$.jsx)(`span`,{className:`open-file-name-marquee-item`,children:n}),(0,$.jsx)(`span`,{className:`open-file-name-marquee-item`,"aria-hidden":`true`,children:n})]}):(0,$.jsx)(`span`,{className:`block min-w-0 truncate`,children:n}),t[5]=n,t[6]=a,t[7]=u):u=t[7];let d;return t[8]!==l||t[9]!==u?(d=(0,$.jsxs)(`span`,{ref:r,className:`relative block min-w-0 flex-1 overflow-hidden whitespace-nowrap`,children:[l,u]}),t[8]=l,t[9]=u,t[10]=d):d=t[10],d},Lf=e=>Pf.has(e),Rf=e=>{let t=Of(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},zf=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`is a directory`)||t.includes(`eisdir`)},Bf=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`file not found`)||t.includes(`enoent`)||t.includes(`no such file`)||t.includes(`does not exist`)},Vf=2e5,Hf=`openchamber:files:auto-save-enabled`,Uf=e=>{let t=0,n=0;for(let r=0;r<e.length;r+=1)e.charCodeAt(r)===10&&(r>0&&e.charCodeAt(r-1)===13?t+=1:n+=1);return t>n?`\r
|
|
7
7
|
`:`
|
|
8
8
|
`},Wf=e=>e.replace(/\r\n/g,`
|
|
9
9
|
`).replace(/\r/g,`
|
|
@@ -166,4 +166,4 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{c as t,p as n,t as r,v
|
|
|
166
166
|
`+e}return r}function vy(e,t){let n=new Blob([e],{type:`text/markdown;charset=utf-8`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}async function yy(e,t){let n=await A(t,e);if(n)return n;if(!H())return null;try{let n=await h()?.vscode?.saveMarkdown?.({fileName:t,content:e});if(!n||n.saved!==!0)return null;let r=typeof n.path==`string`?n.path.trim():``;return r.length>0?r:null}catch{return null}}async function by(e){let t=h()?.files;if(t?.revealPath)try{return!!(await t.revealPath(e))?.success}catch{return!1}return await F(e)?!0:L(e)}function xy(){return Un()}function Sy(e){return`${(e?.trim()||`session`).normalize(`NFKC`).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-+|-+$/g,``).slice(0,60)||`session`}-${new Date().toISOString().split(`T`)[0]}.md`}var Cy=(e,t)=>{if(!t)return Array.from(e);let n=[],r=new Set;for(let i of e){r.has(i)||(r.add(i),n.push(i));let e=t.get(i);if(e)for(let t of e)r.has(t)||(r.add(t),n.push(t))}return n},wy=oe()((e,t)=>({enabled:!1,selectedIds:new Set,scopeKey:null,anchorId:null,enable:()=>{t().enabled||e({enabled:!0})},disable:()=>{e({enabled:!1,selectedIds:new Set,scopeKey:null,anchorId:null})},toggleMode:()=>{t().enabled?e({enabled:!1,selectedIds:new Set,scopeKey:null,anchorId:null}):e({enabled:!0})},toggleSelected:(n,r,i)=>{let a=t(),o=new Set(a.selectedIds),s=a.scopeKey,c=a.anchorId;r!==null&&a.scopeKey!==null&&r!==a.scopeKey?(o.clear(),s=r,c=null):s===null&&r!==null&&(s=r);let l=i&&i.length>0?[n,...i]:[n];if(o.has(n)){for(let e of l)o.delete(e);c===n&&(c=null)}else{for(let e of l)o.add(e);c=n}o.size===0?e({selectedIds:o,scopeKey:null,anchorId:null}):e({selectedIds:o,scopeKey:s,anchorId:c})},setRange:(n,r,i,a,o)=>{let s=t();if(i.length===0)return;let c=n&&i.includes(n)?n:i[0],l=i.indexOf(c),u=i.indexOf(r);if(l<0||u<0)return;let[d,f]=l<=u?[l,u]:[u,l],p=Cy(i.slice(d,f+1),o),m=a!==null&&s.scopeKey!==null&&a!==s.scopeKey?new Set:new Set(s.selectedIds);for(let e of p)m.add(e);e({selectedIds:m,scopeKey:a??s.scopeKey,anchorId:c})},replaceAll:(t,n)=>{if(t.length===0){e({selectedIds:new Set,scopeKey:null,anchorId:null});return}e({selectedIds:new Set(t),scopeKey:n,anchorId:t[0]??null})},clear:()=>{e({selectedIds:new Set,scopeKey:null,anchorId:null})},removeMany:n=>{let r=t();if(r.selectedIds.size===0||n.length===0)return;let i=new Set(r.selectedIds);for(let e of n)i.delete(e);i.size!==r.selectedIds.size&&(i.size===0?e({selectedIds:i,scopeKey:null,anchorId:null}):e({selectedIds:i}))}})),Ty=!1,Ey=new Set,Dy=!1;function Oy(){for(let e of Ey)e()}function ky(e){Ty!==e&&(Ty=e,Oy())}function Ay(e){e.key===`Shift`&&ky(!0)}function jy(e){e.key===`Shift`&&ky(!1)}function My(){ky(!1)}function Ny(){Dy||typeof window>`u`||(Dy=!0,window.addEventListener(`keydown`,Ay),window.addEventListener(`keyup`,jy),window.addEventListener(`blur`,My))}function Py(e){return Ny(),Ey.add(e),()=>{Ey.delete(e)}}function Fy(){return Ty}function Iy(){return!1}function Ly(){return(0,Q.useSyncExternalStore)(Py,Fy,Iy)}var Ry=!1,zy=!1,By=new Set;function Vy(){By.forEach(e=>e())}function Hy(e){Ry!==e&&(Ry=e,Vy())}function Uy(e){return Yn()?e.key===`Meta`:e.key===`Control`}var Wy=(({setVisible:e,schedule:t=(e,t)=>setTimeout(e,t),cancel:n=e=>clearTimeout(e)})=>{let r=!1,i=null,a=()=>{i!==null&&(n(i),i=null)};return{press(){r||(r=!0,a(),i=t(()=>{i=null,r&&e(!0)},500))},release(){r=!1,a(),e(!1)}}})({setVisible:Hy});function Gy(e){Uy(e)&&Wy.press()}function Ky(){Wy.release()}function qy(e){Uy(e)&&Ky()}function Jy(){document.visibilityState!==`visible`&&Ky()}function Yy(){zy||typeof window>`u`||(zy=!0,window.addEventListener(`keydown`,Gy),window.addEventListener(`keyup`,qy),window.addEventListener(`blur`,Ky),document.addEventListener(`visibilitychange`,Jy))}function Xy(e){return Yy(),By.add(e),()=>By.delete(e)}function Zy(){return Ry}function Qy(){return!1}function $y(){return(0,Q.useSyncExternalStore)(Xy,Zy,Qy)}var eb=(e,t,n)=>{let r=e.session.title?.trim()||e.session.id;return`\n\n--- RESULT ${n+1}: ${r} ---\n${t.trim()}\n--- END RESULT ${n+1} ---`},tb=(e,t)=>Rt.getState().getWorktreeMetadata(e)?.projectDirectory??t,nb=async e=>{let t=e.directory??void 0,n=on(e.session.id,t);if(n.length===0&&e.directory){let t=(await Ee.withDirectory(e.directory,()=>Ee.getSdkClient().session.messages({sessionID:e.session.id,directory:e.directory??void 0,limit:50}))).data??[];for(let e=t.length-1;e>=0;--e){let n=t[e];if(n.info?.role===`assistant`)return tt(n.parts??[]).trim()}return``}for(let e=n.length-1;e>=0;--e){let r=n[e];if(r.role===`assistant`)return tt(mn(r.id,t)).trim()}return``};function rb({session:e,open:t,onOpenChange:n}){let{t:r}=Je(),i=rt(),a=Ut(e=>e.activeSessions),o=Ut(e=>e.archivedSessions),s=vt(e=>e.providers),c=vt(e=>e.currentProviderId),l=vt(e=>e.currentModelId),u=vt(e=>e.currentAgentName),[d,f]=Q.useState(c??``),[p,m]=Q.useState(l??``),[h,g]=Q.useState(()=>c&&l?[{providerID:c,modelID:l,instanceId:Mc()}]:[]),[_,v]=Q.useState(``),[y,b]=Q.useState(u??``),[x,S]=Q.useState([]),[C,w]=Q.useState(!1),T=Q.useMemo(()=>Pc(e.title),[e.title]),E=Q.useMemo(()=>{let t=new Map;for(let e of i)t.set(e.id,e);for(let e of a)t.set(e.id,e);for(let e of o)t.set(e.id,e);return e.id&&t.set(e.id,e),Array.from(t.values())},[a,o,i,e]);Q.useEffect(()=>{if(!t||!T)return;let n=Rt.getState().getDirectoryForSession(e.id),r=tb(e.id,n),i=E.map(e=>{let t=Pc(e.title);if(!t||t.groupSlug!==T.groupSlug||t.fusion||(t.runGroup??null)!==(T.runGroup??null))return null;let n=Rt.getState().getDirectoryForSession(e.id)??Bt(e),i=tb(e.id,n);return r&&i&&r!==i?null:{session:e,directory:n,projectDirectory:i}}).filter(e=>e!==null).sort((e,t)=>(e.session.time?.created??0)-(t.session.time?.created??0));S(i)},[E,t,T,e.id]);let D=s.find(e=>e.id===d)?.models.find(e=>e.id===p),O=D?.variants?Object.keys(D.variants):[],k=!!(T&&d&&p&&x.length>0&&!C),A=Q.useCallback(e=>{g([e]),f(e.providerID),m(e.modelID),v(``)},[]),j=h[0]?.displayName||h[0]?.modelID||r(`multirun.fusion.model.placeholder`);return(0,$.jsx)(Hn,{open:t,onOpenChange:n,children:(0,$.jsxs)(zn,{className:`max-w-xl overflow-visible`,children:[(0,$.jsxs)(Ln,{children:[(0,$.jsx)(Bn,{children:r(`multirun.fusion.title`)}),(0,$.jsx)(Vn,{children:r(`multirun.fusion.description`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`max-w-full`,children:(0,$.jsx)(Fc,{selectedModels:h,onAdd:A,onUpdate:(e,t)=>A(t),onRemove:()=>{g([]),f(``),m(``),v(``)},maxModels:1,addButtonLabel:j,showChips:!1,addButtonClassName:`h-8 w-fit max-w-[min(28rem,calc(100vw-8rem))] justify-start rounded-[9px] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[50px] px-3 py-1.5`,dropdownSide:`bottom`,dropdownClassName:`w-[min(28rem,calc(100vw-8rem))]`,triggerIcon:d||p?(0,$.jsx)(Hi,{modelId:p,providerId:d,className:`h-3.5 w-3.5 mr-1`}):void 0})}),O.length>0?(0,$.jsxs)(Zi,{value:_||`__default__`,onValueChange:e=>v(e===`__default__`?``:e),children:[(0,$.jsxs)(Ki,{size:`lg`,className:`h-8 w-fit rounded-[9px] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[50px] !border-border/80 !bg-[var(--surface-subtle)] hover:!bg-[var(--interactive-hover)]/70 typography-meta font-medium text-foreground px-3 py-1.5`,children:[(0,$.jsx)(X,{name:`brain-ai-3`,className:`h-3.5 w-3.5 text-muted-foreground`}),(0,$.jsx)(ta,{children:e=>e===`__default__`?r(`multirun.modelMultiSelect.variant.default`):e})]}),(0,$.jsxs)(Ji,{fitContent:!0,portalToBody:!0,children:[(0,$.jsx)(Wi,{value:`__default__`,children:r(`multirun.modelMultiSelect.variant.default`)}),O.map(e=>(0,$.jsx)(Wi,{value:e,children:e},e))]})]}):null,(0,$.jsx)(Nc,{value:y,onChange:b,portalToBody:!0,className:`h-8 rounded-[9px] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[50px] px-3 py-1.5`})]}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-foreground`,children:r(`multirun.fusion.sources.label`,{count:x.length})}),(0,$.jsx)(`div`,{className:`max-h-56 space-y-1 overflow-auto rounded-lg border border-[var(--interactive-border)] p-1`,children:x.map(e=>{let t=Pc(e.session.title);return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md px-2 py-1.5 typography-meta`,children:[(0,$.jsx)(Hi,{modelId:t?.modelID,providerId:t?.providerID,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.session.title||e.session.id}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>S(t=>t.filter(t=>t.session.id!==e.session.id)),className:`text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`})})]},e.session.id)})})]}),(0,$.jsxs)(Rn,{children:[(0,$.jsx)(Z,{variant:`ghost`,onClick:()=>n(!1),children:r(`multirun.fusion.actions.cancel`)}),(0,$.jsx)(Z,{onClick:async()=>{if(!(!T||!d||!p)){w(!0);try{let e=await Promise.all(x.map(e=>nb(e))),t=x.map((t,n)=>({source:t,text:e[n]??``})).filter(e=>e.text.trim().length>0);if(t.length===0){J.error(r(`multirun.fusion.toast.noOutputs`));return}let i=x[0]?.projectDirectory??x[0]?.directory??null,a=jc(T.groupSlug,d,p,T.runGroup),[o,s]=await Promise.all([Et(`session.fusion.visible`),Et(`session.fusion.instructions`)]),c=await Rt.getState().createSession(a,i,null);if(!c)throw Error(`Failed to create fusion session`);Rt.getState().setCurrentSession(c.id,i),n(!1),await Ee.sendMessage({id:c.id,providerID:d,modelID:p,variant:_||void 0,agent:y||void 0,text:o,additionalParts:[{text:s,synthetic:!0},...t.map((e,t)=>({text:eb(e.source,e.text,t),synthetic:!0})),{text:`
|
|
167
167
|
|
|
168
168
|
--- FUSION INPUTS END ---
|
|
169
|
-
Now write the final fused answer.`,synthetic:!0}],directory:i??Ee.getDirectory()})}catch(e){console.error(`[MultiRunFusion] Failed to start fusion`,e),J.error(r(`multirun.fusion.toast.failed`))}finally{w(!1)}}},disabled:!k,children:r(C?`multirun.fusion.actions.starting`:`multirun.fusion.actions.start`)})]})]})})}function ib(e){let t=(0,Vc.c)(13),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=[`oc-icon`,n].filter(Boolean),t[3]=n,t[4]=i);let a=i.join(` `),o,s,c,l,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`path`,{d:`M12 4.5v6.25M12 10.75v3.5M12 10.75H7.25A3.25 3.25 0 0 0 4 14v1.25M12 10.75h4.75A3.25 3.25 0 0 1 20 14v1.25`}),s=(0,$.jsx)(`path`,{d:`M9.25 7.25 12 4.5l2.75 2.75`}),c=(0,$.jsx)(`circle`,{cx:`4`,cy:`17.25`,r:`1.55`}),l=(0,$.jsx)(`circle`,{cx:`12`,cy:`17.25`,r:`1.55`}),u=(0,$.jsx)(`circle`,{cx:`20`,cy:`17.25`,r:`1.55`}),t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u):(o=t[5],s=t[6],c=t[7],l=t[8],u=t[9]);let d;return t[10]!==r||t[11]!==a?(d=(0,$.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:Xn,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,className:a,...r,children:[o,s,c,l,u]}),t[10]=r,t[11]=a,t[12]=d):d=t[12],d}var ab=1/3,ob=1,sb=({containerScrollTop:e,containerClientHeight:t,containerScrollHeight:n,rowOffsetFromViewportTop:r})=>{let i=e+(r-t*ab),a=Math.max(0,n-t);return Math.min(a,Math.max(0,i))},cb=()=>typeof window>`u`||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`,lb=e=>{let t=e.closest(`.overlay-scrollbar-target`);if(t)return t;let n=e.parentElement;for(;n&&n!==document.body;){let e=window.getComputedStyle(n).overflowY;if(e===`auto`||e===`scroll`||e===`overlay`)return n;n=n.parentElement}return null},ub=(e,t)=>{let n=lb(e),r=t?.behavior??cb();if(!n){e.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:r});return}let i=e.getBoundingClientRect(),a=n.getBoundingClientRect().top+n.clientTop,o=a+n.clientHeight;if(i.top>=a&&i.bottom<=o)return;let s=sb({containerScrollTop:n.scrollTop,containerClientHeight:n.clientHeight,containerScrollHeight:n.scrollHeight,rowOffsetFromViewportTop:i.top-a});Math.abs(s-n.scrollTop)<ob||n.scrollTo({top:s,behavior:r})},db=e(be(),1),fb=null,pb=!1,mb=(e,t=ii.getState().focus)=>e===null?null:typeof e==`string`?t?.sessionId===e?t:ti(e):e,hb=e=>{typeof window>`u`||(e.commitFrame!==null&&window.cancelAnimationFrame(e.commitFrame),e.paintFrame!==null&&window.cancelAnimationFrame(e.paintFrame),e.fallbackTimer!==null&&window.clearTimeout(e.fallbackTimer))},gb=()=>{fb&&=(hb(fb),null)},_b=(e,t)=>{gb(),Gt(!0);let n=mb(e);if(!n)return;pb=!0;let r;try{r=$t(n.sessionId)}finally{pb=!1}fb={commit:t,commitFrame:null,fallbackTimer:null,focus:n,intent:r,paintFrame:null,scheduled:!1},(0,db.flushSync)(()=>{ii.getState().setFocus(n)}),typeof window<`u`&&(fb.fallbackTimer=window.setTimeout(()=>{vb(n)},150))},vb=e=>{let t=fb,n=mb(e);if(!t||!Ri(t.focus,n)||t.scheduled)return;t.scheduled=!0,typeof window<`u`&&t.fallbackTimer!==null&&(window.clearTimeout(t.fallbackTimer),t.fallbackTimer=null);let r=()=>{fb===t&&wn()===t.intent&&(fb=null,tn(),t.commit())};if(typeof window>`u`){r();return}t.commitFrame=window.requestAnimationFrame(()=>{fb===t&&wn()===t.intent&&(t.paintFrame=window.requestAnimationFrame(r))})},yb=e=>{if(fb)return;let t=ii.getState();t.setFocus(mb(e,t.focus))};Vt(e=>{if(pb)return;let t=fb;if(t?.intent===e)return;t&&gb();let n=ii.getState();n.setFocus(mb(e.sessionId,n.focus))});var bb=e=>{let t=[],n=e=>{e.children.forEach(e=>{t.push(e.session.id),n(e)})};return n(e),t},xb=Q.memo(function(e){let t=(0,Vc.c)(18),{pinLabel:n,buttonSizeClass:r,iconSizeClass:i,onPointerDown:a,onMouseDown:o,onPin:s}=e,c;t[0]===r?c=t[1]:(c=Y(`inline-flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-none`,r),t[0]=r,t[1]=c);let l;t[2]===i?l=t[3]:(l=Y(i,`rotate-45`),t[2]=i,t[3]=l);let u;t[4]===l?u=t[5]:(u=(0,$.jsx)(X,{name:`pushpin-2`,className:l}),t[4]=l,t[5]=u);let d;t[6]!==o||t[7]!==s||t[8]!==a||t[9]!==n||t[10]!==c||t[11]!==u?(d=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:c,"aria-label":n,onPointerDown:a,onMouseDown:o,onClick:s,onKeyDown:Pb,children:u})}),t[6]=o,t[7]=s,t[8]=a,t[9]=n,t[10]=c,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n?f=t[14]:(f=(0,$.jsx)(ia,{side:`top`,sideOffset:4,className:`rounded-md px-1.5 py-0.5 typography-micro`,children:n}),t[13]=n,t[14]=f);let p;return t[15]!==d||t[16]!==f?(p=(0,$.jsxs)(oa,{children:[d,f]}),t[15]=d,t[16]=f,t[17]=p):p=t[17],p}),Sb=Q.memo(function(e){let t=(0,Vc.c)(24),{archiveLabel:n,deleteLabel:r,deleteOnly:i,buttonSizeClass:a,iconSizeClass:o,revealClassName:s,onPointerDown:c,onMouseDown:l,onArchive:u,onDelete:d}=e,f=i!==void 0&&i,p=Ly(),m=f||p,h=m?r:n,g;t[0]!==f||t[1]!==u||t[2]!==d||t[3]!==p?(g=e=>{if(f||p||e.shiftKey){d(e);return}u(e)},t[0]=f,t[1]=u,t[2]=d,t[3]=p,t[4]=g):g=t[4];let _=g,v=m?`text-destructive hover:text-destructive hover:bg-[color-mix(in_srgb,var(--status-error)_12%,transparent)]`:`text-muted-foreground hover:text-foreground hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)]`,y;t[5]!==a||t[6]!==s||t[7]!==v?(y=Y(`inline-flex items-center justify-center rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-none`,v,a,s),t[5]=a,t[6]=s,t[7]=v,t[8]=y):y=t[8];let b=m?`delete-bin`:`inbox-archive`,x;t[9]!==o||t[10]!==b?(x=(0,$.jsx)(X,{name:b,className:o}),t[9]=o,t[10]=b,t[11]=x):x=t[11];let S;t[12]!==_||t[13]!==h||t[14]!==l||t[15]!==c||t[16]!==y||t[17]!==x?(S=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:y,"aria-label":h,onPointerDown:c,onMouseDown:l,onClick:_,onKeyDown:Fb,children:x})}),t[12]=_,t[13]=h,t[14]=l,t[15]=c,t[16]=y,t[17]=x,t[18]=S):S=t[18];let C;t[19]===h?C=t[20]:(C=(0,$.jsx)(ia,{side:`top`,sideOffset:4,className:`rounded-md px-1.5 py-0.5 typography-micro`,children:h}),t[19]=h,t[20]=C);let w;return t[21]!==S||t[22]!==C?(w=(0,$.jsxs)(oa,{children:[S,C]}),t[21]=S,t[22]=C,t[23]=w):w=t[23],w}),Cb=Q.memo(function(e){let t=(0,Vc.c)(3),{number:n}=e;if(!$y())return null;let r=Yn()?`⌘${n}`:`Ctrl+${n}`,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(di,{"data-sidebar-shortcut-number":n,className:`h-3.5 min-w-0 shrink-0 rounded-full border-0 bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] px-1.5 font-sans text-[10px] font-medium tracking-tight text-muted-foreground/65 shadow-none`,"aria-hidden":`true`,children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i});function wb(e){let{t:n}=Je(),{node:r,depth:i=0,groupDirectory:a,projectId:o,archivedBucket:s=!1,pinnedSessionIds:c,expandedParents:l,hasSessionSearchQuery:u,normalizedSessionSearchQuery:f,editingId:p,setEditingId:m,editTitle:h,setEditTitle:g,handleSaveEdit:_,handleCancelEdit:v,toggleParent:b,handleSessionSelect:x,handleSessionDoubleClick:S,togglePinnedSession:C,handleShareSession:T,copiedSessionId:E,handleCopyShareUrl:D,handleUnshareSession:O,setOpenSidebarMenuKey:k,renamingFolderId:A,getFoldersForScope:j,getSessionFolderId:M,removeSessionFromFolder:N,addSessionToFolder:P,createFolderAndStartRename:F,openContextPanelTab:I,handleDeleteSession:ee,mobileVariant:L,alwaysShowActions:R,renderSessionNode:z,secondaryMeta:B,renderContext:V=`project`,subtreeContainsActive:te,subtreeContainsEditing:ne,menuOpenSessionId:W,childRenderExtrasFor:re,liveSessionById:G,shortcutNumber:ie=null}=e,ae=!!B?.projectLabel,oe=!!B?.branchLabel,se=Ov(e=>e.displayMode),ce=Q.useMemo(()=>H(),[]),ve=se===`minimal`||ce,ye=Q.useMemo(()=>y(),[]),be=Q.useContext(Va),xe=ce?`group-hover:opacity-100 group-hover:pointer-events-auto`:`group-hover:opacity-100 group-hover:pointer-events-auto group-focus-within:opacity-100 group-focus-within:pointer-events-auto`,Se=ce,Ce=V===`pinned`&&c.has(r.session.id),we=!Ce&&!s&&!L,Te=`h-5 w-5`,Ee=`h-3.5 w-3.5`,De=(we||Ce?1:0)+ +!!Se+1,Oe=De>=3?`group-hover:pr-18 group-focus-within:pr-18`:De>=2?`group-hover:pr-12 group-focus-within:pr-12`:`group-hover:pr-7 group-focus-within:pr-7`,ke=De>=2?`pr-12`:`pr-8`,Ae=Q.useRef(!1),je=Q.useRef(!1),[K,Me]=Q.useState(!1),Ne=Q.useRef(p);Ne.current=p;let Pe=Q.useRef(null),q=Q.useRef(_);q.current=_;let[Fe,Ie]=Q.useState(h),[Le,Re]=Q.useState(null),ze=Q.useRef(Fe);ze.current=Fe;let Be=Q.useRef(null),Ve=Q.useRef(null),He=Q.useRef(null),We=r.session,Ke=G.get(We.id)??We,qe=!!Ke.metadata?.openchamber?.assistant,Ye=U(We.directory??null)??U(a??null),Xe=Dt(Ye??void 0,{bootstrap:!1}),Ze=qr(),Qe=wy(e=>e.enabled),$e=wy(Q.useMemo(()=>e=>e.selectedIds.has(We.id),[We.id])),et=wy(e=>e.toggleSelected),tt=wy(e=>e.setRange),[rt,it]=Q.useState(!1),[at,ot]=Q.useState(!0),[st,ct]=Q.useState(!1),lt=`${V}:${s?`archived`:`active`}:${We.id}`,dt=An(Q.useMemo(()=>e=>!!e.sessionMemoryState.get(bt(We.id))?.isZombie,[We.id])),ft=ut(We.id),pt=vn(We.id,Ye??void 0,{bootstrap:!1}),mt=zt(We.id,Ye??void 0,{bootstrap:!1}),ht=Q.useMemo(()=>({scope:V,sessionId:We.id,projectId:o??null}),[o,V,We.id]),gt=Q.useMemo(()=>Ni(ht)??``,[ht]),vt=Q.useRef(null),yt=ii(Q.useMemo(()=>e=>Ri(e.focus,ht),[ht]));Q.useLayoutEffect(()=>{if(!yt)return;let e=vt.current;e&&(L?e.scrollIntoView({block:`nearest`,inline:`nearest`}):ub(e)),vb(ht)},[yt,L,ht]);let xt=Ke.title||n(`sessions.sidebar.session.untitled`),St=Bo(Ro(Ke)),Ct=Ke.metadata?.openchamber?.titleRefresh,wt=typeof Ct?.lastError==`string`?Ct.lastError:null,Tt=typeof Ct?.failedAt==`number`?Ct.failedAt:null;Q.useEffect(()=>{!wt||Tt===null||(Re(null),console.warn(`[session-title] generation failed for ${We.id}: ${wt}`))},[We.id,wt,Tt]),Q.useEffect(()=>{if(Le===null)return;if(xt!==Le){Re(null);return}let e=window.setTimeout(()=>Re(null),3e4);return()=>window.clearTimeout(e)},[Le,xt]);let Et=r.children.length>0||!!Ke.hasChildren,kt=c.has(We.id),At=lt,jt=u?!0:l.has(At),Mt=!!Ke.parentID,Nt=V===`pinned`,Pt=Xt(We.id)>0&&!Mt,Ft=Ot(Ke)||Date.now(),It=_r(Ft),Lt=_i(Ft),[Rt,Bt]=Q.useState(!1),Vt=Rt,Ht=Q.useMemo(()=>Pc(Ke.title)!==null,[Ke.title]),[Ut,Wt]=Q.useState(!1),Gt=Q.useMemo(()=>bb(r).length,[r]),Kt=Ue(e=>{let t=Ye??``,n=(dn()??On(t,Xe)).getTranscript(jn(t,e)),r=Xe.getState().session.find(t=>t.id===e)?.revert?.messageID;return _t({sessionID:e,messages:gn(n),parts:n.partsByMessageID,revertMessageID:r}).list}),qt=Ue(async e=>{let t=[],r=0;for(let i of e)try{await Ze.ensureSessionRenderable(i.session.id);let e=Kt(i.session.id),a=i.session.title||n(`sessions.sidebar.session.export.untitledSubagent`),o=i.session.agent,s=await qt(i.children);r+=s.skipped,t.push({title:a,agent:o,records:e,children:s.children})}catch{r+=bb(i).length+1}return{children:t,skipped:r}}),Jt=Ue(e=>{e<=0||J.warning(n(e===1?`sessions.sidebar.session.export.skippedSubtaskSingle`:`sessions.sidebar.session.export.skippedSubtaskMany`,{count:e}))}),Yt=Ue(async e=>{if(!Ye){J.error(n(`sessions.sidebar.session.export.nothingToExport`));return}await Ze.ensureSessionRenderable(We.id);let t=Kt(We.id);if(t.length===0){J.error(n(`sessions.sidebar.session.export.nothingToExport`));return}let i,a=0;if(e&&r.children.length>0){let e=await qt(r.children);i=e.children,a=e.skipped}let o=_y(t,Ke.title??null,i),s=Sy(Ke.title??null),c=await yy(o,s);if(c){J.success(n(`sessions.sidebar.session.export.success`),{action:{label:n(xy()),onClick:()=>{by(c).then(e=>{e||J.error(n(`sessions.sidebar.session.export.failedRevealPath`))})}}}),Jt(a);return}vy(o,s),J.success(n(`sessions.sidebar.session.export.success`)),Jt(a)}),Zt=Ue(async()=>{if(r.children.length>0){ot(!0),it(!0);return}await Yt(!1)}),Qt=Ue(()=>{Ye&&w(`desktop_open_session_mini_chat_window`,{sessionId:We.id,directory:Ye,apiBaseUrl:d(),clientToken:t()}).catch(e=>{console.warn(`[session-sidebar] failed to open mini chat window`,e)})});Ge(Ve,()=>{q.current(ze.current)},p===We.id),Q.useLayoutEffect(()=>{if(p!==We.id){Be.current===We.id&&(Be.current=null);return}Be.current!==We.id&&(Be.current=We.id,Ie(h),queueMicrotask(()=>He.current?.select()))},[p,h,We.id]);let $t=Ue(e=>{if(!e&&Pe.current){let{id:e,title:t}=Pe.current;Pe.current=null,m(e),g(t)}}),en=Ue(e=>{Bt(e)}),tn=Ue(e=>{e.preventDefault(),e.stopPropagation()}),nn=Ue(e=>{e.preventDefault(),e.stopPropagation()}),rn=Ue(e=>{e.preventDefault(),e.stopPropagation(),k(null),C(We.id)}),an=Ue(e=>{e.preventDefault(),e.stopPropagation(),k(null),ee(We,{archivedBucket:s})}),on=Ue(e=>{e.preventDefault(),e.stopPropagation(),k(null),ee(We,{archivedBucket:s,hardDelete:!0,skipConfirm:!0})}),sn=Ue(e=>{e.preventDefault(),e.stopPropagation(),k(null),C(We.id)}),cn=Ue(()=>{let e=ft?.type??`idle`;!Ye||st||e===`busy`||e===`retry`||(ct(!0),(async()=>{try{await Ze.refreshSessionTranscript(We.id,{directory:Ye}),J.success(n(`sessions.sidebar.session.menu.refreshTranscriptSuccess`))}catch{J.error(n(`sessions.sidebar.session.menu.refreshTranscriptFailed`))}finally{ct(!1)}})())}),ln=Ue(e=>{e.preventDefault(),e.stopPropagation()}),un=Ue(e=>{e.preventDefault(),e.stopPropagation()}),fn=Ue(e=>{e.preventDefault(),e.stopPropagation(),be?.vscode?.executeCommand(`openchamber.openSessionInEditor`,We.id,xt)}),pn=Ue(e=>{if(Ae.current){Ae.current=!1;return}if(Qe){if(e?.preventDefault(),e?.stopPropagation(),e?.shiftKey){let e=(typeof document<`u`?Array.from(document.querySelectorAll(`[data-session-row]`)):[]).map(e=>e.getAttribute(`data-session-row`)).filter(e=>typeof e==`string`&&e.length>0),t=wy.getState().anchorId,n=new Map;n.set(We.id,bb(r)),tt(t,We.id,e,Ye??null,n);return}et(We.id,Ye??null,bb(r));return}x(We.id,Ye,o,V)}),mn=Ue(e=>{e.defaultPrevented||e.target?.closest(`button, a, input, [role="menuitem"], [role="menu"]`)||pn(e)}),hn=Ue(e=>{(e.button===2||e.button===0&&e.ctrlKey&&!Qe)&&(Ae.current=!0)}),_n=Ue(e=>{je.current=e.pointerType===`mouse`,L&&e.pointerType===`touch`&&Me(!0)}),yn=Ue(e=>{L&&e.pointerType===`touch`&&Me(!1)}),bn=Ue(e=>{e.key!==`Enter`||!je.current||(e.preventDefault(),e.stopPropagation(),S(We.id,xt))}),xn=Ue(e=>{if(pn(e),!je.current)return;let t=e.currentTarget;window.requestAnimationFrame(()=>{je.current=!0,t.focus({preventScroll:!0})})}),Sn=Ue(()=>{je.current=!1}),Cn=Ue(e=>{if(!je.current)return;let t=e.relatedTarget;if(t instanceof Node&&e.currentTarget.contains(t))return;let n=document.activeElement;!(n instanceof HTMLElement)||!e.currentTarget.contains(n)||(n.blur(),je.current=!1)});if(p===We.id){let e=async()=>{Re(xt),v();try{await nt(We.id)}catch(e){Re(null),console.warn(`[session-sidebar] failed to request smart title:`,e)}};return(0,$.jsx)(`div`,{className:`group relative my-0.5 flex items-center rounded-lg py-1.5 pr-2`,style:{paddingLeft:Lr(i)},children:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0`,children:[(0,$.jsxs)(`form`,{ref:Ve,className:`flex w-full items-center gap-2`,onSubmit:e=>{e.preventDefault(),_(Fe)},children:[(0,$.jsx)(`input`,{ref:He,value:Fe,onChange:e=>Ie(e.target.value),className:`flex-1 min-w-0 bg-transparent typography-ui-label outline-none placeholder:text-muted-foreground`,autoFocus:!0,placeholder:n(`sessions.sidebar.session.menu.rename`),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Escape`){v();return}}}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{e()},"aria-label":n(`sessions.sidebar.session.rename.smartTitle`),title:n(`sessions.sidebar.session.rename.smartTitle`),className:`shrink-0 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(X,{name:`ai-generate-2`,className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`submit`,"aria-label":n(`sessions.sidebar.session.rename.save`),title:n(`sessions.sidebar.session.rename.save`),className:`shrink-0 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(X,{name:`check`,className:`size-3.5`})})]}),ve?null:(0,$.jsx)(`div`,{className:`flex items-center justify-between gap-3 text-muted-foreground/60 min-w-0 overflow-hidden leading-tight`,style:{fontSize:`calc(var(--text-ui-label) * 0.85)`},children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden`,children:[Et&&!Nt&&!Mt?(0,$.jsx)(`span`,{className:`inline-flex items-center justify-center flex-shrink-0`,children:jt?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3 w-3`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3`})}):null,(0,$.jsx)(`span`,{className:`flex-shrink-0`,children:It}),ae?(0,$.jsx)(`span`,{className:`truncate`,children:B?.projectLabel}):null,oe?(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-0.5`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`h-3 w-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:B?.branchLabel})]}):null]})})]})},We.id)}let wn=ft?.type??`idle`,Tn=wn===`busy`||wn===`retry`,En=Le!==null||Ct?.isGenerating===!0,Dn=pt.length,kn=mt.length>0,Mn=kn||Tn||!kn&&!Tn&&Pt&&!yt,Nn=!R||ce,Pn=kn?(0,$.jsx)(`span`,{className:`inline-flex h-3.5 w-3.5 items-center justify-center`,"aria-label":n(`sessions.sidebar.session.status.questionRequired`),title:n(`sessions.sidebar.session.status.questionRequired`),children:(0,$.jsx)(X,{name:`question`,className:`h-3.5 w-3.5 text-primary`})}):Tn?(0,$.jsx)(`span`,{className:`inline-flex h-3.5 w-3.5 items-center justify-center`,"aria-label":n(`sessions.sidebar.session.status.active`),title:n(`sessions.sidebar.session.status.active`),children:(0,$.jsx)(Qs,{})}):(0,$.jsx)(`span`,{className:`inline-flex h-3.5 w-3.5 items-center justify-center`,"aria-label":n(`sessions.sidebar.session.status.unread`),title:n(`sessions.sidebar.session.status.unread`),children:(0,$.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-[var(--status-info)]`})}),Fn=!Nt&&!R&&Et&&kt,In=!Nt&&kt,Un=(0,$.jsx)(X,{name:`pushpin-2-fill`,className:`h-3 w-3 flex-shrink-0 text-foreground`,"aria-label":n(`sessions.sidebar.session.status.pinned`)}),Wn=In?(0,$.jsx)(`span`,{className:Y(`pointer-events-none absolute inline-flex h-3.5 w-3.5 items-center justify-center transition-opacity`,ve?`top-1/2 -translate-y-1/2`:`top-[14.5px] -translate-y-1/2`,Fn?`opacity-100 group-hover:opacity-0 group-focus-within:opacity-0`:``),style:{left:Lr(Math.max(0,i-1))},children:Un}):null,Gn=!Nt&&!Mt&&Et,Kn=Gn&&!R,qn=Lr(Math.max(0,i-1)),Jn=()=>{!jt&&r.children.length===0&&Ze.loadChildren(We.id,Ye).catch(()=>void 0),b(At)},Yn=Gn?(0,$.jsx)(`span`,{role:`button`,tabIndex:0,onClick:e=>{e.stopPropagation(),e.currentTarget.blur(),Jn()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),Jn())},style:{minWidth:14,minHeight:14,left:qn},className:Y(`absolute inline-flex h-3.5 w-3.5 items-center justify-center rounded-md text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-opacity`,ve?`top-1/2 -translate-y-1/2`:`top-[14.5px] -translate-y-1/2`,Kn?`opacity-0 pointer-events-none group-hover:opacity-100 group-hover:pointer-events-auto group-focus-within:opacity-100 group-focus-within:pointer-events-auto`:``),"aria-label":n(jt?`sessions.sidebar.session.subsessions.collapse`:`sessions.sidebar.session.subsessions.expand`),children:jt?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3 w-3`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3`})}):null,Xn=dt?(0,$.jsx)(X,{name:`error-warning`,className:`h-4 w-4 text-status-warning`}):null,Zn=(0,$.jsx)(me,{children:(0,$.jsx)(fe,{className:`app-region-no-drag z-50`,children:(0,$.jsx)(ue,{"data-slot":`dropdown-menu-content`,finalFocus:()=>!(A||Ne.current),style:{backgroundColor:`var(--surface-elevated)`,color:`var(--surface-elevated-foreground)`},className:Y(ao,`min-w-[180px]`),children:(({Item:e,Separator:t,Sub:r,SubTrigger:i,SubContent:a})=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(e,{onClick:()=>{Pe.current={id:We.id,title:xt}},className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`pencil-ai`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.rename`)]}),(0,$.jsxs)(e,{onClick:()=>C(We.id),className:`[&>svg]:mr-1`,children:[kt?(0,$.jsx)(X,{name:`unpin`,className:`mr-1 h-4 w-4`}):(0,$.jsx)(X,{name:`pushpin`,className:`mr-1 h-4 w-4`}),n(kt?`sessions.sidebar.session.menu.unpin`:`sessions.sidebar.session.menu.pin`)]}),Ke.share?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(e,{onClick:()=>{Ke.share?.url&&D(Ke.share.url,We.id)},className:`[&>svg]:mr-1`,children:E===We.id?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`check`,className:`mr-1 h-4 w-4`,style:{color:`var(--status-success)`}}),n(`sessions.sidebar.session.menu.copied`)]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`file-copy`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.copyLink`)]})}),(0,$.jsxs)(e,{onClick:()=>O(We.id),className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`link-unlink-m`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.unshare`)]})]}):(0,$.jsxs)(e,{onClick:()=>T(Ke),className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`share-2`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.share`)]}),(0,$.jsxs)(e,{onClick:()=>{Zt()},className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`download`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.exportMarkdown`)]}),(0,$.jsxs)(e,{disabled:!Ye||Tn||st,onClick:()=>{cn()},className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`refresh`,className:Y(`mr-1 h-4 w-4`,st&&`animate-spin`)}),n(`sessions.sidebar.session.menu.refreshTranscript`)]}),Ht?(0,$.jsxs)(e,{onClick:()=>Wt(!0),className:`[&>svg]:mr-1`,children:[(0,$.jsx)(ib,{className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.runFusion`)]}):null,Ye&&!s?(()=>{let o=j(Ye),s=M(Ye,We.id);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(t,{}),(0,$.jsxs)(r,{children:[(0,$.jsxs)(i,{className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`folder`,className:`h-4 w-4`}),n(`sessions.sidebar.folders.moveToFolder`)]}),(0,$.jsxs)(a,{className:`min-w-[180px]`,children:[o.length===0?(0,$.jsx)(e,{disabled:!0,className:`text-muted-foreground`,children:n(`sessions.sidebar.folders.none`)}):o.map(t=>(0,$.jsxs)(e,{onClick:()=>{s===t.id?N(Ye,We.id):P(Ye,t.id,We.id)},children:[(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),s===t.id?(0,$.jsx)(X,{name:`check`,className:`ml-2 h-3.5 w-3.5 text-primary flex-shrink-0`}):null]},t.id)),(0,$.jsx)(t,{}),(0,$.jsxs)(e,{onClick:()=>{let e=F(Ye);e&&P(Ye,e.id,We.id)},children:[(0,$.jsx)(X,{name:`add`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.folders.newFolderEllipsis`)]}),s?(0,$.jsxs)(e,{onClick:()=>{N(Ye,We.id)},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(X,{name:`close`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.folders.removeFromFolder`)]}):null]})]})]})})():null,ce?null:(0,$.jsxs)(e,{disabled:!Ye,onClick:()=>{Ye&&I(Ye,{mode:`chat`,dedupeKey:`session:${We.id}`,label:xt,sessionTitleFallback:xt})},className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`chat-thread`,className:`mr-1 h-4 w-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`sessions.sidebar.session.menu.openInSidePanel`)}),(0,$.jsx)(`span`,{className:`shrink-0 typography-micro px-1 rounded leading-none pb-px text-[var(--status-warning)] bg-[var(--status-warning)]/10`,children:n(`sessions.sidebar.session.menu.betaBadge`)})]}),ye?(0,$.jsxs)(e,{disabled:!Ye,onClick:Qt,className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`window`,className:`mr-1 h-4 w-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`sessions.sidebar.session.menu.openMiniChatWindow`)})]}):null,(0,$.jsx)(t,{}),s?null:(0,$.jsxs)(e,{className:`[&>svg]:mr-1`,onClick:()=>ee(We,{archivedBucket:s}),children:[(0,$.jsx)(X,{name:`inbox-archive`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.bulkActions.archive`)]}),(0,$.jsxs)(e,{className:`text-destructive focus:text-destructive [&>svg]:mr-1`,onClick:()=>ee(We,{archivedBucket:s,hardDelete:!0}),children:[(0,$.jsx)(X,{name:`delete-bin`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.bulkActions.delete`)]})]}))({Item:({className:e,...t})=>(0,$.jsx)(de,{className:Y(so,e),...t}),Separator:({className:e,...t})=>(0,$.jsx)(le,{className:Y(oo,e),...t}),Sub:pe,SubTrigger:({className:e,children:t,...n})=>(0,$.jsxs)(he,{className:Y(io,e),...n,children:[t,(0,$.jsx)(X,{name:`arrow-right-s`,className:`ml-auto size-3.5`})]}),SubContent:({className:e,children:t,...n})=>(0,$.jsx)(me,{children:(0,$.jsx)(fe,{className:`app-region-no-drag z-50`,children:(0,$.jsx)(ue,{"data-slot":`dropdown-menu-sub-content`,style:{backgroundColor:`var(--surface-elevated)`,color:`var(--surface-elevated-foreground)`},className:Y(ao,e),...n,children:t})})})})})})});return(0,$.jsxs)(Q.Fragment,{children:[(0,$.jsx)(vv,{sessionId:We.id,sessionDirectory:Ye??null,sessionTitle:xt,children:(0,$.jsxs)(ge,{open:Rt,onOpenChange:en,onOpenChangeComplete:$t,children:[(0,$.jsxs)(_e,{render:(0,$.jsx)(`div`,{ref:vt,"data-session-row":We.id,"data-session-scope":Ye??``,"data-session-focus-scope":V,"data-session-focus-key":gt,"data-session-project-id":o??``,"data-session-archived":s?`1`:`0`,"data-session-depth":i,onClick:mn,onMouseLeave:Cn,className:Y(`group relative my-0.5 flex cursor-pointer items-center rounded-lg py-1.5 pr-2`,yt&&!$e&&`bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] dark:bg-[color-mix(in_srgb,var(--surface-foreground)_11%,transparent)]`,$e&&`bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] dark:bg-[color-mix(in_srgb,var(--surface-foreground)_11%,transparent)]`,!yt&&!$e&&`hover:bg-[color-mix(in_srgb,var(--surface-foreground)_3.5%,transparent)] dark:hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)]`)}),children:[Wn,Yn,(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center`,style:{paddingLeft:Lr(i)},children:(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onPointerDown:_n,onPointerUp:yn,onPointerCancel:yn,onMouseDown:hn,onKeyDown:bn,onBlur:Sn,onClick:xn,onDoubleClick:e=>{e.stopPropagation(),S(We.id,xt)},className:Y(`relative flex min-w-0 flex-1 cursor-pointer flex-col gap-0 overflow-hidden rounded-md text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 text-foreground select-none has-[[data-sidebar-shortcut-number]]:!pr-0`,K&&`bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)]`,R?ce?Oe:ke:Oe),children:(0,$.jsxs)(`div`,{className:`flex w-full items-center min-w-0 flex-1 gap-1 overflow-hidden`,children:[(0,$.jsx)(`div`,{className:Y(`block min-w-0 flex-1 truncate typography-ui-label font-normal text-foreground`,En&&`animate-text-shimmer`),"aria-busy":En||void 0,children:jr(xt,f)}),St?(0,$.jsx)(`span`,{className:`shrink-0 typography-micro tabular-nums text-muted-foreground`,children:St}):null,qe?(0,$.jsx)(X,{name:`ai-agent`,className:`size-3 shrink-0 text-muted-foreground`,"aria-label":`Assistant`}):null,Dn>0?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-destructive/10 px-1 py-0.5 text-[0.7rem] text-destructive flex-shrink-0`,title:n(`sessions.sidebar.session.status.permissionRequired`),"aria-label":n(`sessions.sidebar.session.status.permissionRequired`),children:[(0,$.jsx)(X,{name:`shield`,className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`leading-none`,children:Dn})]}):null,Mn?(0,$.jsx)(`span`,{className:Y(`inline-flex shrink-0 items-center justify-center transition-none`,Nn?Y(`group-hover:hidden group-focus-within:hidden`,Vt?`hidden`:``):Vt?`invisible`:``),children:Pn}):null,ie?(0,$.jsx)(Cb,{number:ie}):null]})})}),ce?null:(0,$.jsx)(ia,{side:`right`,align:`start`,sideOffset:8,className:`w-64 max-w-[min(16rem,calc(100vw-2rem))] px-3 py-2.5 text-left shadow-md`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 text-left`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1 break-words typography-ui-label font-medium text-foreground`,children:xt}),(0,$.jsx)(`div`,{className:`flex-shrink-0 typography-meta text-muted-foreground`,children:Lt})]}),ae?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`folder-open`,className:`h-3.5 w-3.5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:B?.projectLabel})]}):null,oe?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`h-3.5 w-3.5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:B?.branchLabel})]}):null]})})]})})}),Xn&&!L?(0,$.jsx)(`div`,{className:Y(`absolute top-1/2 -translate-y-1/2 z-10`,ve?`right-0`:`right-[30px]`),children:Xn}):null,(0,$.jsxs)(`div`,{className:Y(`absolute right-1 top-1/2 z-10 flex -translate-y-1/2 items-center gap-1 transition-none group-has-[[data-sidebar-shortcut-number]]:hidden`,Vt||R&&!ce?`opacity-100`:Y(`opacity-0`,xe)),children:[we?(0,$.jsx)(xb,{pinLabel:n(`sessions.sidebar.session.menu.pin`),buttonSizeClass:Te,iconSizeClass:Ee,onPointerDown:tn,onMouseDown:nn,onPin:rn}):null,Ce?(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-none`,Te),"aria-label":n(`sessions.sidebar.session.actions.pinned`),onPointerDown:tn,onMouseDown:nn,onClick:sn,onKeyDown:e=>e.stopPropagation(),children:(0,$.jsx)(X,{name:`pushpin-2-fill`,className:Ee})})}),(0,$.jsx)(ia,{side:`top`,sideOffset:4,className:`rounded-md px-1.5 py-0.5 typography-micro`,children:n(`sessions.sidebar.session.actions.pinned`)})]}):null,Se?(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-none`,Te),"aria-label":n(`sessions.sidebar.session.actions.openInEditor`),onPointerDown:ln,onMouseDown:un,onClick:fn,onKeyDown:e=>e.stopPropagation(),children:(0,$.jsx)(X,{name:`external-link`,className:Ee})})}),(0,$.jsx)(ia,{side:`top`,sideOffset:4,className:`rounded-md px-1.5 py-0.5 typography-micro`,children:n(`sessions.sidebar.session.actions.openInEditor`)})]}):null,(0,$.jsx)(Sb,{archiveLabel:n(`sessions.sidebar.bulkActions.archive`),deleteLabel:n(`sessions.sidebar.bulkActions.delete`),deleteOnly:s===!0,buttonSizeClass:Te,iconSizeClass:Ee,revealClassName:ve&&!R&&!Vt?Y(`opacity-0`,xe):`opacity-100`,onPointerDown:tn,onMouseDown:nn,onArchive:an,onDelete:on})]})]}),Zn]})}),!Nt&&Et&&jt?r.children.map(e=>{let t=re?re(e):{subtreeContainsActive:te,subtreeContainsEditing:ne,menuOpenSessionId:W,nodeStructureKey:``};return z(e,i+1,Ye??a,o,s,void 0,V,t)}):null,(0,$.jsx)(Hn,{open:rt,onOpenChange:it,children:(0,$.jsxs)(zn,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[(0,$.jsxs)(Ln,{children:[(0,$.jsx)(Bn,{children:n(`sessions.sidebar.session.export.dialog.title`)}),(0,$.jsx)(Vn,{children:n(Gt===1?`sessions.sidebar.session.export.dialog.descriptionSingle`:`sessions.sidebar.session.export.dialog.descriptionMany`,{count:Gt})})]}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-ui-label cursor-pointer`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:at,onChange:e=>ot(e.target.checked),className:`h-4 w-4 rounded border-border accent-primary`}),n(`sessions.sidebar.session.export.dialog.includeSubtasks`)]}),(0,$.jsxs)(Rn,{children:[(0,$.jsx)(Z,{type:`button`,onClick:()=>it(!1),variant:`outline`,size:`sm`,children:n(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{type:`button`,onClick:()=>{it(!1),Yt(at)},size:`sm`,children:n(`sessions.sidebar.session.export.dialog.confirm`)})]})]})}),Ht?(0,$.jsx)(rb,{session:Ke,open:Ut,onOpenChange:Wt}):null]},We.id)}var Tb=e=>U(e.session.directory??null),Eb=(e,t)=>(e?.projectLabel??null)===(t?.projectLabel??null)&&(e?.branchLabel??null)===(t?.branchLabel??null),Db=e=>{if(!e.openSidebarMenuKey)return null;let t=e.archivedBucket?`archived`:`active`,n=`${e.renderContext??`project`}:${t}:`;return e.openSidebarMenuKey.startsWith(n)?e.openSidebarMenuKey.slice(n.length):null},Ob=e=>e.menuOpenSessionId??Db(e),kb=(e,t,n)=>t?n.has(e.node.session.id)?!0:Tv(e.node,t):!1,Ab=(e,t,n,r,i)=>{if(e.session.id!==t.session.id)return!0;let a=i(e);if(n.has(a)!==r.has(a)||e.children.length!==t.children.length)return!0;for(let a=0;a<e.children.length;a+=1)if(Ab(e.children[a],t.children[a],n,r,i))return!0;return!1},jb=(e,t,n,r)=>{if(e.session.id!==t.session.id)return!0;let i=e.session.id,a=n.get(i)??e.session,o=r.get(i)??t.session;if(a!==o&&Cv(a)!==Cv(o)||e.children.length!==t.children.length)return!0;for(let i=0;i<e.children.length;i+=1)if(jb(e.children[i],t.children[i],n,r))return!0;return!1},Mb=(e,t)=>{if(e.hasSessionSearchQuery||t.hasSessionSearchQuery)return!1;let n=e.archivedBucket?`archived`:`active`,r=t.archivedBucket?`archived`:`active`;return Ab(e.node,t.node,e.expandedParents,t.expandedParents,t=>`${e.renderContext??`project`}:${n}:${t.session.id}`)||Ab(e.node,t.node,e.expandedParents,t.expandedParents,e=>`${t.renderContext??`project`}:${r}:${e.session.id}`)},Nb=Q.memo(wb,(e,t)=>{if(e.node.session.id!==t.node.session.id||e.depth!==t.depth||e.groupDirectory!==t.groupDirectory||e.projectId!==t.projectId||e.archivedBucket!==t.archivedBucket||(e.renderContext??`project`)!==(t.renderContext??`project`)||e.mobileVariant!==t.mobileVariant||e.alwaysShowActions!==t.alwaysShowActions||e.shortcutNumber!==t.shortcutNumber||e.hasSessionSearchQuery!==t.hasSessionSearchQuery||e.normalizedSessionSearchQuery!==t.normalizedSessionSearchQuery||e.notifyOnSubtasks!==t.notifyOnSubtasks||e.nodeStructureKey!==t.nodeStructureKey||Tb(e.node)!==Tb(t.node)||!Eb(e.secondaryMeta,t.secondaryMeta)||e.liveSessionById!==t.liveSessionById&&jb(e.node,t.node,e.liveSessionById,t.liveSessionById)||e.pinnedSessionIds!==t.pinnedSessionIds&&Ab(e.node,t.node,e.pinnedSessionIds,t.pinnedSessionIds,e=>e.session.id)||e.expandedParents!==t.expandedParents&&Mb(e,t)||e.currentSessionId!==t.currentSessionId&&(kb(e,e.currentSessionId,e.subtreeContainsActive)||kb(t,t.currentSessionId,t.subtreeContainsActive))||e.editingId!==t.editingId&&(kb(e,e.editingId,e.subtreeContainsEditing)||kb(t,t.editingId,t.subtreeContainsEditing))||e.editTitle!==t.editTitle&&(kb(e,e.editingId,e.subtreeContainsEditing)||kb(t,t.editingId,t.subtreeContainsEditing))||e.copiedSessionId!==t.copiedSessionId&&(Tv(e.node,e.copiedSessionId)||Tv(t.node,t.copiedSessionId)))return!1;if(e.openSidebarMenuKey!==t.openSidebarMenuKey){let n=Ob(e),r=Ob(t);if(Tv(e.node,n)||Tv(t.node,r))return!1}if(e.renamingFolderId!==t.renamingFolderId){let n=Ob(e),r=Ob(t);if(Tv(e.node,n)||Tv(t.node,r))return!1}return e.setEditingId===t.setEditingId&&e.setEditTitle===t.setEditTitle&&e.handleSaveEdit===t.handleSaveEdit&&e.handleCancelEdit===t.handleCancelEdit&&e.toggleParent===t.toggleParent&&e.handleSessionSelect===t.handleSessionSelect&&e.handleSessionDoubleClick===t.handleSessionDoubleClick&&e.togglePinnedSession===t.togglePinnedSession&&e.handleShareSession===t.handleShareSession&&e.handleCopyShareUrl===t.handleCopyShareUrl&&e.handleUnshareSession===t.handleUnshareSession&&e.setOpenSidebarMenuKey===t.setOpenSidebarMenuKey&&e.getFoldersForScope===t.getFoldersForScope&&e.getSessionFolderId===t.getSessionFolderId&&e.removeSessionFromFolder===t.removeSessionFromFolder&&e.addSessionToFolder===t.addSessionToFolder&&e.createFolderAndStartRename===t.createFolderAndStartRename&&e.openContextPanelTab===t.openContextPanelTab&&e.handleDeleteSession===t.handleDeleteSession&&e.renderSessionNode===t.renderSessionNode});function Pb(e){return e.stopPropagation()}function Fb(e){return e.stopPropagation()}function Ib(e){let t=(0,Vc.c)(71),{t:n}=Je(),{value:r,setValue:i,showDeletionDialog:a,setShowDeletionDialog:o,onConfirm:s}=e,c,l,u,d,f,p,m,h,g,_;if(t[0]!==i||t[1]!==n||t[2]!==r){let e=n(`sessions.sidebar.session.untitled`);d=Hn,g=!!r,t[13]===i?_=t[14]:(_=e=>{e||i(null)},t[13]=i,t[14]=_),u=zn,m=!1,h=`max-w-sm gap-5`,l=Ln;let a;t[15]!==n||t[16]!==r?.archivedBucket?(a=r?.archivedBucket?n(`sessions.sidebar.dialogs.deleteSession.title`):n(`sessions.sidebar.dialogs.archiveSession.title`),t[15]=n,t[16]=r?.archivedBucket,t[17]=a):a=t[17],t[18]===a?p=t[19]:(p=(0,$.jsx)(Bn,{children:a}),t[18]=a,t[19]=p),c=Vn,f=r&&r.descendantCount>0?r.archivedBucket?r.descendantCount===1?n(`sessions.sidebar.dialogs.deleteSession.withOneSubtask`,{sessionTitle:r.session.title||e,count:r.descendantCount}):n(`sessions.sidebar.dialogs.deleteSession.withManySubtasks`,{sessionTitle:r.session.title||e,count:r.descendantCount}):r.descendantCount===1?n(`sessions.sidebar.dialogs.archiveSession.withOneSubtask`,{sessionTitle:r.session.title||e,count:r.descendantCount}):n(`sessions.sidebar.dialogs.archiveSession.withManySubtasks`,{sessionTitle:r.session.title||e,count:r.descendantCount}):r?.archivedBucket?n(`sessions.sidebar.dialogs.deleteSession.single`,{sessionTitle:r?.session.title||e}):n(`sessions.sidebar.dialogs.archiveSession.single`,{sessionTitle:r?.session.title||e}),t[0]=i,t[1]=n,t[2]=r,t[3]=c,t[4]=l,t[5]=u,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g,t[12]=_}else c=t[3],l=t[4],u=t[5],d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11],_=t[12];let v;t[20]!==c||t[21]!==f?(v=(0,$.jsx)(c,{children:f}),t[20]=c,t[21]=f,t[22]=v):v=t[22];let y;t[23]!==l||t[24]!==p||t[25]!==v?(y=(0,$.jsxs)(l,{children:[p,v]}),t[23]=l,t[24]=p,t[25]=v,t[26]=y):y=t[26];let b;t[27]!==o||t[28]!==a?(b=()=>o(!a),t[27]=o,t[28]=a,t[29]=b):b=t[29];let x=!a,S;t[30]===a?S=t[31]:(S=a?(0,$.jsx)(X,{name:`checkbox-blank`,className:`h-4 w-4`}):(0,$.jsx)(X,{name:`checkbox`,className:`h-4 w-4 text-primary`}),t[30]=a,t[31]=S);let C;t[32]===n?C=t[33]:(C=n(`sessions.sidebar.dialogs.neverAsk`),t[32]=n,t[33]=C);let w;t[34]!==S||t[35]!==C||t[36]!==b||t[37]!==x?(w=(0,$.jsxs)(`button`,{type:`button`,onClick:b,className:`inline-flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/50`,"aria-pressed":x,children:[S,C]}),t[34]=S,t[35]=C,t[36]=b,t[37]=x,t[38]=w):w=t[38];let T;t[39]===i?T=t[40]:(T=()=>i(null),t[39]=i,t[40]=T);let E;t[41]===n?E=t[42]:(E=n(`sessions.sidebar.dialogs.cancel`),t[41]=n,t[42]=E);let D;t[43]!==T||t[44]!==E?(D=(0,$.jsx)(`button`,{type:`button`,onClick:T,className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 typography-ui-label text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:E}),t[43]=T,t[44]=E,t[45]=D):D=t[45];let O;t[46]===s?O=t[47]:(O=()=>void s(),t[46]=s,t[47]=O);let k;t[48]!==n||t[49]!==r?.archivedBucket?(k=r?.archivedBucket?n(`sessions.sidebar.bulkActions.delete`):n(`sessions.sidebar.bulkActions.archive`),t[48]=n,t[49]=r?.archivedBucket,t[50]=k):k=t[50];let A;t[51]!==O||t[52]!==k?(A=(0,$.jsx)(`button`,{type:`button`,onClick:O,className:`inline-flex h-8 items-center justify-center rounded-md bg-destructive px-3 typography-ui-label text-destructive-foreground hover:bg-destructive/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50`,children:k}),t[51]=O,t[52]=k,t[53]=A):A=t[53];let j;t[54]!==D||t[55]!==A?(j=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[D,A]}),t[54]=D,t[55]=A,t[56]=j):j=t[56];let M;t[57]!==w||t[58]!==j?(M=(0,$.jsxs)(Rn,{className:`w-full sm:items-center sm:justify-between`,children:[w,j]}),t[57]=w,t[58]=j,t[59]=M):M=t[59];let N;t[60]!==u||t[61]!==m||t[62]!==M||t[63]!==h||t[64]!==y?(N=(0,$.jsxs)(u,{showCloseButton:m,className:h,children:[y,M]}),t[60]=u,t[61]=m,t[62]=M,t[63]=h,t[64]=y,t[65]=N):N=t[65];let P;return t[66]!==d||t[67]!==N||t[68]!==g||t[69]!==_?(P=(0,$.jsx)(d,{open:g,onOpenChange:_,children:N}),t[66]=d,t[67]=N,t[68]=g,t[69]=_,t[70]=P):P=t[70],P}function Lb(e){let t=(0,Vc.c)(57),{t:n}=Je(),{value:r,setValue:i,showDeletionDialog:a,setShowDeletionDialog:o,onConfirm:s}=e,c=r?.archivedBucket===!0,l=r?.sessionCount??0,u;t[0]!==c||t[1]!==l||t[2]!==n?(u=n(c?l===1?`sessions.sidebar.dialogs.deleteSession.title`:`sessions.sidebar.dialogs.deleteSessions.title`:l===1?`sessions.sidebar.dialogs.archiveSession.title`:`sessions.sidebar.dialogs.archiveSessions.title`),t[0]=c,t[1]=l,t[2]=n,t[3]=u):u=t[3];let d=u,f;t[4]!==c||t[5]!==l||t[6]!==n?(f=n(c?l===1?`sessions.sidebar.dialogs.deleteSessions.singleDescription`:`sessions.sidebar.dialogs.deleteSessions.pluralDescription`:l===1?`sessions.sidebar.dialogs.archiveSessions.singleDescription`:`sessions.sidebar.dialogs.archiveSessions.pluralDescription`,{count:l}),t[4]=c,t[5]=l,t[6]=n,t[7]=f):f=t[7];let p=f,m=!!r,h;t[8]===i?h=t[9]:(h=e=>{e||i(null)},t[8]=i,t[9]=h);let g;t[10]===d?g=t[11]:(g=(0,$.jsx)(Bn,{children:d}),t[10]=d,t[11]=g);let _;t[12]===p?_=t[13]:(_=(0,$.jsx)(Vn,{children:p}),t[12]=p,t[13]=_);let v;t[14]!==g||t[15]!==_?(v=(0,$.jsxs)(Ln,{children:[g,_]}),t[14]=g,t[15]=_,t[16]=v):v=t[16];let y;t[17]!==o||t[18]!==a?(y=()=>o(!a),t[17]=o,t[18]=a,t[19]=y):y=t[19];let b=!a,x;t[20]===a?x=t[21]:(x=a?(0,$.jsx)(X,{name:`checkbox-blank`,className:`h-4 w-4`}):(0,$.jsx)(X,{name:`checkbox`,className:`h-4 w-4 text-primary`}),t[20]=a,t[21]=x);let S;t[22]===n?S=t[23]:(S=n(`sessions.sidebar.dialogs.neverAsk`),t[22]=n,t[23]=S);let C;t[24]!==S||t[25]!==y||t[26]!==b||t[27]!==x?(C=(0,$.jsxs)(`button`,{type:`button`,onClick:y,className:`inline-flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/50`,"aria-pressed":b,children:[x,S]}),t[24]=S,t[25]=y,t[26]=b,t[27]=x,t[28]=C):C=t[28];let w;t[29]===i?w=t[30]:(w=()=>i(null),t[29]=i,t[30]=w);let T;t[31]===n?T=t[32]:(T=n(`sessions.sidebar.dialogs.cancel`),t[31]=n,t[32]=T);let E;t[33]!==w||t[34]!==T?(E=(0,$.jsx)(`button`,{type:`button`,onClick:w,className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 typography-ui-label text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:T}),t[33]=w,t[34]=T,t[35]=E):E=t[35];let D;t[36]===s?D=t[37]:(D=()=>void s(),t[36]=s,t[37]=D);let O;t[38]!==c||t[39]!==n?(O=n(c?`sessions.sidebar.bulkActions.delete`:`sessions.sidebar.bulkActions.archive`),t[38]=c,t[39]=n,t[40]=O):O=t[40];let k;t[41]!==D||t[42]!==O?(k=(0,$.jsx)(`button`,{type:`button`,onClick:D,className:`inline-flex h-8 items-center justify-center rounded-md bg-destructive px-3 typography-ui-label text-destructive-foreground hover:bg-destructive/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50`,children:O}),t[41]=D,t[42]=O,t[43]=k):k=t[43];let A;t[44]!==E||t[45]!==k?(A=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[E,k]}),t[44]=E,t[45]=k,t[46]=A):A=t[46];let j;t[47]!==C||t[48]!==A?(j=(0,$.jsxs)(Rn,{className:`w-full sm:items-center sm:justify-between`,children:[C,A]}),t[47]=C,t[48]=A,t[49]=j):j=t[49];let M;t[50]!==j||t[51]!==v?(M=(0,$.jsxs)(zn,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[v,j]}),t[50]=j,t[51]=v,t[52]=M):M=t[52];let N;return t[53]!==m||t[54]!==M||t[55]!==h?(N=(0,$.jsx)(Hn,{open:m,onOpenChange:h,children:M}),t[53]=m,t[54]=M,t[55]=h,t[56]=N):N=t[56],N}function Rb(e){let t=(0,Vc.c)(36),{t:n}=Je(),{value:r,setValue:i,onConfirm:a}=e,o=!!r,s;t[0]===i?s=t[1]:(s=e=>{e||i(null)},t[0]=i,t[1]=s);let c;t[2]===n?c=t[3]:(c=n(`sessions.sidebar.dialogs.deleteFolder.title`),t[2]=n,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,$.jsx)(Bn,{children:c}),t[4]=c,t[5]=l);let u;t[6]!==n||t[7]!==r?(u=r&&(r.subFolderCount>0||r.sessionCount>0)?r.subFolderCount>0?r.subFolderCount===1?n(`sessions.sidebar.dialogs.deleteFolder.withOneSubfolder`,{folderName:r.folderName,count:r.subFolderCount}):n(`sessions.sidebar.dialogs.deleteFolder.withManySubfolders`,{folderName:r.folderName,count:r.subFolderCount}):n(`sessions.sidebar.dialogs.deleteFolder.withContentsNoSubfolders`,{folderName:r.folderName}):n(`sessions.sidebar.dialogs.deleteFolder.single`,{folderName:r?.folderName??``}),t[6]=n,t[7]=r,t[8]=u):u=t[8];let d;t[9]===u?d=t[10]:(d=(0,$.jsx)(Vn,{children:u}),t[9]=u,t[10]=d);let f;t[11]!==l||t[12]!==d?(f=(0,$.jsxs)(Ln,{children:[l,d]}),t[11]=l,t[12]=d,t[13]=f):f=t[13];let p;t[14]===i?p=t[15]:(p=()=>i(null),t[14]=i,t[15]=p);let m;t[16]===n?m=t[17]:(m=n(`sessions.sidebar.dialogs.cancel`),t[16]=n,t[17]=m);let h;t[18]!==p||t[19]!==m?(h=(0,$.jsx)(`button`,{type:`button`,onClick:p,className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 typography-ui-label text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:m}),t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;t[21]===n?g=t[22]:(g=n(`sessions.sidebar.bulkActions.delete`),t[21]=n,t[22]=g);let _;t[23]!==a||t[24]!==g?(_=(0,$.jsx)(`button`,{type:`button`,onClick:a,className:`inline-flex h-8 items-center justify-center rounded-md bg-destructive px-3 typography-ui-label text-destructive-foreground hover:bg-destructive/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50`,children:g}),t[23]=a,t[24]=g,t[25]=_):_=t[25];let v;t[26]!==_||t[27]!==h?(v=(0,$.jsxs)(Rn,{children:[h,_]}),t[26]=_,t[27]=h,t[28]=v):v=t[28];let y;t[29]!==v||t[30]!==f?(y=(0,$.jsxs)(zn,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[f,v]}),t[29]=v,t[30]=f,t[31]=y):y=t[31];let b;return t[32]!==o||t[33]!==s||t[34]!==y?(b=(0,$.jsx)(Hn,{open:o,onOpenChange:s,children:y}),t[32]=o,t[33]=s,t[34]=y,t[35]=b):b=t[35],b}var zb=e=>{let t=(0,Vc.c)(46),{selectedCount:n,scopeKey:r,scopeFolders:i,archivedBucket:a,onMoveToFolder:o,onCreateFolderAndMove:s,onRemoveFromFolder:c,canRemoveFromFolder:l,onDelete:u,onDone:d}=e,{t:f}=Je(),p=!!r&&!a,m;t[0]!==a||t[1]!==f?(m=f(a?`sessions.sidebar.bulkActions.delete`:`sessions.sidebar.bulkActions.archive`),t[0]=a,t[1]=f,t[2]=m):m=t[2];let h=m,g;t[3]!==n||t[4]!==f?(g=f(`sessions.sidebar.bulkActions.selectedCount`,{count:n}),t[3]=n,t[4]=f,t[5]=g):g=t[5];let _;t[6]===g?_=t[7]:(_=(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground whitespace-nowrap`,children:g}),t[6]=g,t[7]=_);let v;t[8]!==p||t[9]!==l||t[10]!==s||t[11]!==o||t[12]!==c||t[13]!==i||t[14]!==f?(v=p?(0,$.jsxs)(ga,{children:[(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,"aria-label":f(`sessions.sidebar.bulkActions.moveToFolder`),children:(0,$.jsx)(X,{name:`folder`,className:`h-4 w-4`})})})}),(0,$.jsx)(ia,{side:`top`,sideOffset:4,children:(0,$.jsx)(`p`,{children:f(`sessions.sidebar.bulkActions.moveToFolder`)})})]}),(0,$.jsxs)(la,{align:`end`,className:`min-w-[180px]`,children:[i.length===0?(0,$.jsx)(da,{disabled:!0,className:`text-muted-foreground`,children:f(`sessions.sidebar.folders.none`)}):i.map(e=>(0,$.jsx)(da,{onClick:()=>o(e.id),children:(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:e.name})},e.id)),(0,$.jsx)(sa,{}),(0,$.jsxs)(da,{onClick:s,children:[(0,$.jsx)(X,{name:`add`,className:`mr-1 h-4 w-4`}),f(`sessions.sidebar.folders.newFolderEllipsis`)]}),l?(0,$.jsxs)(da,{onClick:c,className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(X,{name:`close`,className:`mr-1 h-4 w-4`}),f(`sessions.sidebar.folders.removeFromFolder`)]}):null]})]}):null,t[8]=p,t[9]=l,t[10]=s,t[11]=o,t[12]=c,t[13]=i,t[14]=f,t[15]=v):v=t[15];let y;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(y=Y(`inline-flex h-7 w-7 items-center justify-center rounded-md text-destructive hover:bg-destructive/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50`),t[16]=y):y=t[16];let b;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(X,{name:`delete-bin`,className:`h-4 w-4`}),t[17]=b):b=t[17];let x;t[18]!==h||t[19]!==u?(x=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:u,className:y,"aria-label":h,children:b})}),t[18]=h,t[19]=u,t[20]=x):x=t[20];let S;t[21]===h?S=t[22]:(S=(0,$.jsx)(ia,{side:`top`,sideOffset:4,children:(0,$.jsx)(`p`,{children:h})}),t[21]=h,t[22]=S);let C;t[23]!==x||t[24]!==S?(C=(0,$.jsxs)(oa,{children:[x,S]}),t[23]=x,t[24]=S,t[25]=C):C=t[25];let w;t[26]===f?w=t[27]:(w=f(`sessions.sidebar.header.actions.exitSelection`),t[26]=f,t[27]=w);let T;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`}),t[28]=T):T=t[28];let E;t[29]!==d||t[30]!==w?(E=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:d,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,"aria-label":w,children:T})}),t[29]=d,t[30]=w,t[31]=E):E=t[31];let D;t[32]===f?D=t[33]:(D=f(`sessions.sidebar.header.actions.exitSelection`),t[32]=f,t[33]=D);let O;t[34]===D?O=t[35]:(O=(0,$.jsx)(ia,{side:`top`,sideOffset:4,children:(0,$.jsx)(`p`,{children:D})}),t[34]=D,t[35]=O);let k;t[36]!==E||t[37]!==O?(k=(0,$.jsxs)(oa,{children:[E,O]}),t[36]=E,t[37]=O,t[38]=k):k=t[38];let A;t[39]!==k||t[40]!==v||t[41]!==C?(A=(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-0.5`,children:[v,C,k]}),t[39]=k,t[40]=v,t[41]=C,t[42]=A):A=t[42];let j;return t[43]!==A||t[44]!==_?(j=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 border-t border-border px-2.5 py-1.5`,children:[_,A]}),t[43]=A,t[44]=_,t[45]=j):j=t[45],j},Bb=e=>{let{t}=Je(),{isInlineEditing:n,showDeletionDialog:r,foldersMap:i,addSessionsToFolder:a,removeSessionsFromFolders:o,createFolderAndStartRename:s,archiveSessions:c,setBulkDeleteConfirm:l}=e,u=wy(e=>e.enabled),d=wy(e=>e.selectedIds.size),f=d>0,p=wy(e=>e.selectedIds),m=wy(e=>e.scopeKey),h=Q.useCallback(()=>{wy.getState().toggleMode()},[]),g=Q.useCallback(()=>{wy.getState().disable()},[]),_=Q.useMemo(()=>{if(!f||typeof document>`u`)return!1;let e=!1,t=!1;for(let n of p){let r=document.querySelectorAll(`[data-session-row="${CSS.escape(n)}"]`);for(let n of r)n.getAttribute(`data-session-archived`)===`1`?t=!0:e=!0}return t&&!e},[f,p]),v=Q.useMemo(()=>{if(m)return m;if(!f||typeof document>`u`)return null;for(let e of p){let t=document.querySelector(`[data-session-row="${CSS.escape(e)}"]`)?.getAttribute(`data-session-scope`);if(t&&t.length>0)return t}return null},[f,p,m]),y=Q.useMemo(()=>v?i[v]??[]:[],[i,v]),b=Q.useMemo(()=>{if(!v||!f)return!1;let e=i[v]??[];for(let t of e)for(let e of t.sessionIds)if(p.has(e))return!0;return!1},[i,v,f,p]),x=Q.useCallback(e=>{!v||!f||a(v,e,Array.from(p))},[a,p,v,f]),S=Q.useCallback(()=>{if(!v||!f)return;let e=s(v);e&&a(v,e.id,Array.from(p))},[a,s,p,v,f]),C=Q.useCallback(()=>{!v||!f||o(v,Array.from(p))},[o,p,v,f]),w=Q.useCallback(async()=>{let e=Array.from(p);if(e.length!==0){if(_)$s({sessionIds:e,message:e.length===1?t(`sessions.sidebar.bulkActions.deletedSingle`,{count:e.length}):t(`sessions.sidebar.bulkActions.deletedPlural`,{count:e.length}),undoLabel:t(`sessions.sidebar.undo`),commitFailedMessage:e.length===1?t(`sessions.sidebar.bulkActions.failedDeleteSingle`,{count:e.length}):t(`sessions.sidebar.bulkActions.failedDeletePlural`,{count:e.length})});else{let{archivedIds:n,failedIds:r}=await c(e);n.length>0&&Ts({sessionIds:n,message:n.length===1?t(`sessions.sidebar.bulkActions.archivedSingle`,{count:n.length}):t(`sessions.sidebar.bulkActions.archivedPlural`,{count:n.length}),undoLabel:t(`sessions.sidebar.undo`),settingsLabel:t(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:n.length===1?t(`sessions.sidebar.session.archive.undoFailed`):t(`sessions.sidebar.bulkActions.archiveUndoFailed`,{count:n.length})}),r.length>0&&J.error(r.length===1?t(`sessions.sidebar.bulkActions.failedArchiveSingle`,{count:r.length}):t(`sessions.sidebar.bulkActions.failedArchivePlural`,{count:r.length}))}wy.getState().clear()}},[c,_,p,t]),T=Q.useCallback(()=>{if(!f)return;let e=p.size;if(!_||!r){w();return}l({sessionCount:e,archivedBucket:_})},[_,w,p,r,l,f]),E=Q.useCallback(async()=>{l(null),await w()},[w]);return Q.useEffect(()=>{if(!u)return;let e=typeof navigator<`u`&&/Macintosh|Mac OS X/.test(navigator.userAgent||``),t=t=>{if(n)return;let r=t.target;if(r&&(r.tagName===`INPUT`||r.tagName===`TEXTAREA`||r.isContentEditable))return;let i=e?t.metaKey:t.ctrlKey;if(t.key===`Escape`){t.preventDefault(),wy.getState().disable();return}if(i&&t.key===`Backspace`){t.preventDefault(),T();return}if(i&&(t.key===`a`||t.key===`A`)){let e=typeof document<`u`?Array.from(document.querySelectorAll(`[data-session-row]`)):[];if(e.length===0)return;t.preventDefault();let n=wy.getState().scopeKey??e[0]?.getAttribute(`data-session-scope`)??null,r=e.filter(e=>!n||e.getAttribute(`data-session-scope`)===n).map(e=>e.getAttribute(`data-session-row`)).filter(e=>typeof e==`string`&&e.length>0);if(r.length===0)return;wy.getState().replaceAll(r,n||null)}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[T,n,u]),{selectionModeEnabled:u,hasSelection:f,selectedIdsSize:d,bulkScopeIsArchived:_,derivedSelectionScope:v,bulkScopeFolders:y,bulkCanRemoveFromFolder:b,handleToggleSelectionMode:h,handleExitSelectionMode:g,handleBulkMoveToFolder:x,handleBulkCreateFolderAndMove:S,handleBulkRemoveFromFolder:C,handleBulkDelete:T,confirmBulkDelete:E}},Vb=(e,t,n)=>{let r=[],i=new Set,a=e=>{let t=U(e??null);!t||i.has(t)||(i.add(t),r.push(t))};if(a(e),a(n?.workspaceRoot),a(n?.currentDirectory),n?.includeWorktrees!==!1)for(let e of t)a(e.path);return r},Hb=(e,t,n,r)=>{let i=e.filter(e=>e.sessionId===t);if(i.length===0)return null;if(n){let e=i.find(e=>e.projectId===n);if(e)return e}if(r){let e=i.find(e=>e.projectId===r);if(e)return e}return i[0]??null},Ub=({currentSessionId:e,focus:t,pinnedFocuses:n,projectFocuses:r,fallbackProjectId:i})=>{if(!e)return null;let a=t?.sessionId===e,o=a?t.projectId:null,s=Hb(r,e,o,i)??{scope:`project`,sessionId:e,projectId:i};return!a||t.scope===`project`?s:Hb(n,e,o,i)??s};function Wb(e,t,n=null){if(!e||e.scope!==`project`||!e.sessionId)return null;if(e.projectId){let n=t.find(t=>t.sessionId===e.sessionId&&t.projectId===e.projectId);if(n)return n}if(n){let r=t.find(t=>t.sessionId===e.sessionId&&t.projectId===n);if(r)return r}return t.find(t=>t.sessionId===e.sessionId)??null}var Gb=`oc.sessions.projectCollapse`,Kb=`oc.sessions.groupOrder`,qb=`oc.sessions.groupCollapse`,Jb=`oc.sessions.activeSessionByProject`,Yb=`oc.sessions.expandedParents.v2`,Xb=`oc.sessions.expandedParents`,Zb=b(Ae()),Qb=e=>{try{let t=Zb.getItem(e);if(!t)return new Set;let n=JSON.parse(t);return new Set(Array.isArray(n)?n.filter(e=>typeof e==`string`):[])}catch{return new Set}},$b=e=>{try{let t=Zb.getItem(e);if(!t)return new Map;let n=JSON.parse(t),r=new Map;return!n||typeof n!=`object`||Array.isArray(n)||Object.entries(n).forEach(([e,t])=>{typeof t==`string`&&t.length>0&&r.set(e,t)}),r}catch{return new Map}},ex=e=>{try{let t=Zb.getItem(e);if(!t)return new Map;let n=JSON.parse(t),r=new Map;return!n||typeof n!=`object`||Array.isArray(n)||Object.entries(n).forEach(([e,t])=>{Array.isArray(t)&&r.set(e,t.filter(e=>typeof e==`string`))}),r}catch{return new Map}},tx=(e,t,n)=>{let r=new Set;for(let t of e){let e=U(t.path)?.toLowerCase();e&&r.add(e)}if(n?.includeWorktrees===!1)return r;for(let e of t.values())for(let t of e){let e=U(t.path)?.toLowerCase();e&&r.add(e)}return r},nx=(e,t,n)=>{if(e.time?.archived)return!0;let r=U(Bt(e))?.toLowerCase();return r?t.size===0?n?.allowEmptyDirectorySet??!0:t.has(r):n?.allowUnknownDirectory??!0},rx=3e5,ix=new Set,ax=[],ox={},sx=e=>{let t=Q.useRef(e);return t.current=e,Q.useCallback((...e)=>t.current(...e),[])},cx=({mobileVariant:e=!1,onSessionSelected:t,allowReselect:n=!1,hideDirectoryControls:r=!1,showOnlyMainWorkspace:i=!1,isVisible:a=!0})=>{let{t:s}=Je(),[c,l]=Q.useState(!1),[d,f]=Q.useState(!1),[p,m]=Q.useState(``),h=Q.useRef(null),g=Q.useRef(null),_=Q.useRef(new Set),[v,y]=Q.useState(null),[b,x]=Q.useState(``),[C,w]=Q.useState(null),[T,E]=Q.useState(new Set),D=Q.useMemo(()=>Zb,[]),[O,k]=Q.useState(new Set),[A,j]=Q.useState(new Map),[M,N]=Q.useState(new Map),P=K(e=>e.isNewWorktreeDialogOpen),F=K(e=>e.setNewWorktreeDialogOpen),[I,ee]=Q.useState(null),[L,R]=Q.useState(null),[z,B]=Q.useState(``),[V,te]=Q.useState(null),[ne,W]=Q.useState(null),[re,G]=Q.useState(null),ie=pn(),ae=an(),[oe,se]=Q.useState(()=>Qb(qb)),[le,ue]=Q.useState(()=>ex(Kb)),[de,fe]=Q.useState(()=>$b(Jb));Q.useEffect(()=>o(e=>{u(e)&&(se(Qb(qb)),ue(ex(Kb)),fe($b(Jb)),k(Qb(Gb)),E(Qb(Yb)))}),[]);let[pe,me]=Q.useState(new Map),he=Q.useRef(new Map),ge=Q.useRef(0),_e=xe(e=>e.homeDirectory),ve=xe(e=>e.currentDirectory),ye=xe(e=>e.setDirectory),be=qt(e=>e.projects),Se=qt(e=>e.activeProjectId),Ce=qt(e=>e.removeProject),we=qt(e=>e.setActiveProjectIdOnly),Te=qt(e=>e.updateProjectMeta),Ee=qt(e=>e.reorderProjectsById),De=K(e=>e.setActiveMainTab),Oe=K(e=>e.activeMainTab),ke=$e(),Ae=K(e=>e.openContextPanelTab),je=K(e=>e.setSettingsDialogOpen),Me=K(e=>e.toggleHelpDialog),Ne=K(e=>e.setSessionSwitcherOpen),Pe=K(e=>e.setScheduledTasksDialogOpen),q=K(e=>e.notifyOnSubtasks),Fe=K(e=>e.showDeletionDialog),Ie=K(e=>e.setShowDeletionDialog),Le=Ja(p,120),Re=Q.useMemo(()=>Le.trim().toLowerCase(),[Le]),ze=Re.length>0,Be=Jo(ce(e=>({checkForUpdates:e.checkForUpdates,available:e.available,runtimeType:e.runtimeType,info:e.info,downloading:e.downloading,downloaded:e.downloaded,progress:e.progress,error:e.error,downloadUpdate:e.downloadUpdate,restartToUpdate:e.restartToUpdate}))),Ve=Cn(e=>e.collapsedFolderIds),He=Cn(e=>e.foldersMap),Ue=Cn(e=>e.sessionOrderByScope),We=Cn(e=>e.sessionOrderActivityByScope),Ge=Cn(e=>e.getFoldersForScope),Ke=Cn(e=>e.createFolder),qe=Cn(e=>e.renameFolder),Ye=Cn(e=>e.deleteFolder),Xe=Cn(e=>e.addSessionToFolder),Ze=Cn(e=>e.addSessionsToFolder),Qe=Cn(e=>e.removeSessionFromFolder),tt=Cn(e=>e.removeSessionsFromFolders),nt=Cn(e=>e.toggleFolderCollapse),it=Cn(e=>e.cleanupSessions),at=Cn(e=>e.getSessionFolderId),ot=Cn(e=>e.reorderSessions);s_({isSessionSearchOpen:a&&d,setIsSessionSearchOpen:f,sessionSearchInputRef:g,sessionSearchContainerRef:h});let st=Q.useMemo(()=>new Map,[]),ct=rt({enabled:a}),lt=Rs({enabled:a}),ut=Os({enabled:a}),dt=et(e=>a?e.index.session.unseenCount:ox),ft=Q.useMemo(()=>H(),[]),pt=Ut(e=>e.fullCatalogSessionIds),mt=Ut(e=>e.fullCatalogGeneration),ht=Ut(e=>e.status),gt=Ut(e=>e.activeSessions),_t=Ut(e=>e.archivedSessions),vt=Ut(e=>e.loadingDirectories),yt=Ut(e=>e.refreshingDirectories),bt=Ut(e=>e.archivedLoadingDirectories),xt=Q.useDeferredValue(gt),St=Q.useDeferredValue(_t),Ct=Rt(e=>e.currentSessionId),wt=ii(e=>e.focus),Tt=Q.useSyncExternalStore(Vt,wn,wn),Et=Rt(e=>!!e.newSessionDraft?.open),Dt=Rt(e=>e.setCurrentSession),Ot=Rt(e=>e.updateSessionTitle),kt=Rt(e=>e.shareSession),jt=Rt(e=>e.unshareSession),Mt=Rt(e=>e.worktreeMetadata),Nt=Rt(e=>e.availableWorktreesByProject),Ft=Rt(e=>e.openNewSessionDraft),It=Q.useCallback(e=>{Ft(e),ft&&window.dispatchEvent(new CustomEvent(`openchamber:navigate`,{detail:{view:`chat`}}))},[ft,Ft]),Lt=Q.useMemo(()=>tx(be,Nt,{includeWorktrees:!ft}),[Nt,ft,be]),zt=Q.useMemo(()=>{let e=new Map(ct.map(e=>[e.id,e])),t=xt.map(t=>{let n=e.get(t.id);return n?Pt(n,t):t}),n=new Set(t.map(e=>e.id));return ct.forEach(e=>{n.has(e.id)||t.push(e)}),t.filter(e=>nx(e,Lt,{allowUnknownDirectory:!ft,allowEmptyDirectorySet:!ft}))},[xt,ft,Lt,ct]),Ht=Q.useMemo(()=>ct.map(e=>{let t=U(e.directory??null)??``;return`${e.id}:${e.title??``}:${+!!e.time?.archived}:${t}`}).join(`|`),[ct]),Wt=Q.useRef(ct);Q.useEffect(()=>{Wt.current=ct},[Ht,ct]);let Gt=Q.useMemo(()=>new Map(ct.map(e=>[e.id,e])),[ct]);Q.useEffect(()=>{let e=null,t=Qt(t=>{t.type===`scheduled-task-ran`&&(e&&clearTimeout(e),e=setTimeout(()=>{let e=qt.getState().projects.find(e=>e.id===t.projectId),n=U(e?.path??null);if(!n)return;let r=[n];(Rt.getState().availableWorktreesByProject.get(n)??[]).forEach(e=>{let t=U(e.path);t&&r.push(t)}),yn(r,Wt.current)},500))});return()=>{e&&clearTimeout(e),t()}},[]);let Kt=Q.useMemo(()=>S(),[]),Jt=os(e=>e.sidebarBrandName.trim().length>0),{isTablet:Xt}=Ia(),Zt=e||Xt,{buildGroupSearchText:en,filterSessionNodesForSearch:tn,buildGroupedSessions:nn}=o_({homeDirectory:_e,worktreeMetadata:Mt,pinnedSessionIds:ie,gitBranches:st,isVSCode:ft}),{scheduleCollapsedProjectsPersist:rn,hasRestoredProjectCollapse:on}=m_({isVSCode:ft,safeStorage:D,keys:{sessionExpanded:Yb,sessionExpandedLegacy:Xb,projectCollapse:Gb,groupOrder:Kb,projectActiveSession:Jb,groupCollapse:qb},groupOrderByProject:le,activeSessionByProject:de,collapsedGroups:oe,setExpandedParents:E,setCollapsedProjects:k}),sn=Q.useMemo(()=>[...zt].sort((e,t)=>Sr(e,t,ie)),[zt,ie]),cn=Q.useMemo(()=>{let e=new Map;return sn.forEach(t=>{let n=t.parentID;if(!n)return;let r=e.get(n)??[];r.push(t),e.set(n,r)}),e.forEach(e=>e.sort((e,t)=>Sr(e,t,ie))),e},[sn,ie]),ln=(0,$.jsxs)(`div`,{className:`py-6 text-center text-muted-foreground`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold`,children:s(`sessions.sidebar.empty.noSessions.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1`,children:s(`sessions.sidebar.empty.noSessions.description`)})]}),dn=Q.useMemo(()=>be.find(e=>e.id===C)??null,[be,C]),fn=Q.useCallback(e=>{C&&Te(C,{label:e.label,icon:e.icon,color:e.color,iconBackground:e.iconBackground,defaultModel:e.defaultModel??null})},[C,Te]),mn=Q.useCallback(()=>{F(!0)},[F]),hn=Q.useCallback((t,n)=>{if(De(`chat`),e&&Ne(!1),n?.sessionId){Dt(n.sessionId,t);return}Ft({directoryOverride:t,preserveDirectoryOverride:!0})},[e,Ft,De,Dt,Ne]),gn=Q.useCallback(()=>{let e=Jo.getState();if(e.available&&e.info){l(!0);return}Be.checkForUpdates().then(()=>{let{available:e,error:t}=Jo.getState();if(t){J.error(s(`sessions.sidebar.updateCheck.errorTitle`),{description:t});return}if(!e){J.success(s(`sessions.sidebar.updateCheck.latestVersion`));return}l(!0)})},[s,Be]),_n=Q.useCallback(()=>{e&&Ne(!1),je(!0)},[e,Ne,je]),vn=Q.useCallback(()=>{De(`chat`),Ft(),e&&Ne(!1)},[e,Ft,De,Ne]),bn=Q.useCallback(()=>{if(!e){De(`schedule`);return}Pe(!0),Ne(!1)},[e,De,Pe,Ne]),xn=Q.useCallback(()=>{In(),e&&Ne(!1)},[e,Ne]),Sn=Be.available&&(Be.runtimeType===`desktop`||Be.runtimeType===`web`),Tn=Rt(e=>e.archiveSession),Dn=Rt(e=>e.archiveSessions),{copiedSessionId:On,handleSessionSelect:kn,handleSessionDoubleClick:An,handleSaveEdit:jn,handleCancelEdit:Mn,handleShareSession:Nn,handleCopyShareUrl:Pn,handleUnshareSession:Fn,handleDeleteSession:Ln,confirmDeleteSession:Rn}=c_({activeProjectId:Se,currentDirectory:ve,currentSessionId:Ct,mobileVariant:e,allowReselect:n,onSessionSelected:t,isSessionSearchOpen:d,sessionSearchQuery:p,setSessionSearchQuery:m,setIsSessionSearchOpen:f,setActiveProjectIdOnly:we,setDirectory:ye,setActiveMainTab:De,setSessionSwitcherOpen:Ne,setCurrentSession:Dt,updateSessionTitle:Ot,shareSession:kt,unshareSession:jt,archiveSession:Tn,archiveSessions:Dn,childrenMap:cn,showDeletionDialog:Fe,setDeleteSessionConfirm:te,deleteSessionConfirm:V,setEditingId:y,setEditTitle:x,editingId:v,editTitle:b}),zn=Q.useCallback((e,t,n,r=`project`)=>{let i={sessionId:e,scope:r,projectId:n??null};if(e===Ct){$t(e),yb(i),kn(e,t,n);return}_b(i,()=>kn(e,t,n))},[kn,Ct]);Q.useEffect(()=>()=>{gb()},[]);let Bn=Q.useCallback(()=>{if(!ne)return;let{scopeKey:e,folderId:t}=ne;W(null),Ye(e,t)},[ne,Ye]);Q.useEffect(()=>{if(!Ct)return;let e=zt.find(e=>e.id===Ct)?.parentID;if(!e)return;let t=[`project:active:${e}`,`project:archived:${e}`,`recent:active:${e}`,`recent:archived:${e}`];E(e=>{if(t.every(t=>e.has(t)))return e;let n=new Set(e);t.forEach(e=>n.add(e));try{D.setItem(Yb,JSON.stringify(Array.from(n)))}catch{}return n})},[Ct,zt,D]);let Vn=Q.useCallback(e=>{E(t=>{let n=new Set(t);n.has(e)?n.delete(e):n.add(e);try{D.setItem(Yb,JSON.stringify(Array.from(n)))}catch{}return n})},[D]),Hn=Q.useCallback((e,t)=>{if(!e)return null;t&&Ve.has(t)&&nt(t);let n=Ke(e,s(`sessions.sidebar.folder.newFolderName`),t);return R(n.id),B(n.name),n},[Ve,nt,Ke,s]),Un=sx(zn),Wn=sx(An),Gn=sx(jn),qn=sx(Mn),Jn=sx(Nn),Yn=sx(Pn),Xn=sx(Fn),Zn=sx(Ln),Qn=sx(Hn),$n=Q.useCallback((e,t,n,r)=>{let i=Ps(),a=Math.max(i,n)+7;if(N(e=>{let r=Math.max(i,e.get(t)??i,n),a=new Map(e);return a.set(t,r+7),a}),e.isArchivedBucket||a<r)return;let o=U(e.directory??null);if(!o)return;let s=Ut.getState().activePaginationByDirectory.get(o);s?.hasMore&&!s.loadingMore&&Yt(o)},[]),er=Q.useCallback(e=>{N(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),tr=Q.useCallback(e=>{N(t=>{let n=!1,r=new Map(t),i=`${e}:`;for(let e of r.keys())e.startsWith(i)&&(r.delete(e),n=!0);return n?r:t})},[]),nr=Q.useCallback(e=>{let t=be.find(t=>t.id===e),n=U(t?.path??null);if(!n)return[];let r=[n];return ft||(Nt.get(n)??[]).forEach(e=>{let t=U(e.path);t&&r.push(t)}),r},[Nt,ft,be]),rr=Q.useCallback(e=>{let t=nr(e);if(t.length===0)return;let n=Ut.getState().loadedDirectories,r=t.filter(e=>!n.has(e));r.length!==0&&yn(r,Wt.current)},[nr]),ir=Q.useCallback(e=>{let t=be.find(t=>t.id===e);t&&(async()=>{let e=[];if(!ft)try{e=(await ea({id:t.id,path:t.path})).worktrees}catch(n){console.warn(`[SessionSidebar] Worktree refresh before session sync failed:`,n);let r=U(t.path);e=r?Rt.getState().availableWorktreesByProject.get(r)??[]:[]}let n=Vb(t.path,e,{currentDirectory:ve,workspaceRoot:t.path,includeWorktrees:!ft});n.length!==0&&await En(n,Wt.current)})()},[ve,ft,be]);Q.useEffect(()=>{if(!on)return;let e=Ut.getState(),t=be.flatMap(t=>O.has(t.id)?[]:nr(t.id).filter(t=>!e.loadedDirectories.has(t)&&!e.loadingDirectories.has(t)&&!e.refreshingDirectories.has(t)));t.length>0&&yn(t,Wt.current)},[O,nr,on,be]);let ar=Q.useCallback(()=>{ge.current=Date.now()+150,N(new Map),k(()=>{let e=new Set(be.map(e=>e.id));try{D.setItem(Gb,JSON.stringify(Array.from(e)))}catch{}return ft||rn(e),e})},[be,ft,D,rn]),or=Q.useCallback(()=>{ge.current=Date.now()+150,N(new Map),k(()=>{let e=new Set;try{D.setItem(Gb,JSON.stringify([]))}catch{}return ft||rn(e),e});let e=Ut.getState().loadedDirectories,t=be.flatMap(t=>nr(t.id).filter(t=>!e.has(t)));t.length>0&&yn(t,Wt.current)},[nr,ft,be,D,rn]),sr=Q.useCallback(e=>{ge.current=Date.now()+150,tr(e),k(t=>{let n=new Set(t);n.has(e)?(n.delete(e),queueMicrotask(()=>rr(e))):n.add(e);try{D.setItem(Gb,JSON.stringify(Array.from(n)))}catch{}return ft||rn(n),n})},[rr,ft,tr,D,rn]),cr=Q.useCallback(e=>{ge.current=Date.now()+150,rr(e),k(t=>{if(!t.has(e))return t;let n=new Set(t);n.delete(e);try{D.setItem(Gb,JSON.stringify(Array.from(n)))}catch{}return ft||rn(n),n})},[rr,ft,D,rn]),lr=Q.useMemo(()=>be.map(e=>({...e,normalizedPath:U(e.path)})).filter(e=>!!e.normalizedPath),[be]),ur=Q.useMemo(()=>lr.map(e=>e.normalizedPath),[lr]),dr=Q.useMemo(()=>{let e=new Set(lr.map(e=>e.normalizedPath));if(!ft)for(let t of Nt.values())for(let n of t){let t=U(n.path);t&&e.add(t)}return[...e].sort()},[Nt,ft,lr]),fr=Q.useRef(null);Q.useEffect(()=>{let e=new Set(dr),t=fr.current;if(fr.current=e,!t)return;let n=dr.filter(e=>!t.has(e));if(n.length===0)return;let r=Ut.getState().loadedDirectories,i=U(ve),a=lr.find(e=>e.id===Se)??lr.find(e=>e.normalizedPath===i)??null,o=new Set;i&&o.add(i),a?.normalizedPath&&(o.add(a.normalizedPath),ft||(Nt.get(a.normalizedPath)??[]).forEach(e=>{let t=U(e.path);t&&o.add(t)}));let s=n.filter(e=>o.has(e)&&!r.has(e));s.length!==0&&yn(s,Wt.current)},[Se,Nt,ve,ft,lr,dr]);let{github:pr}=Ba(),mr=Na(),hr=mr.data??null,gr=mr.isFetched,_r=Xa(a?ur:ax),vr=$_(e=>e.ensureEntry),yr=$_(e=>e.setParams),br=$_(e=>e.refreshTargets);g_({normalizedProjects:lr,activeProjectId:Se,gitRepoStatus:_r,setProjectRepoStatus:j,setProjectRootBranches:me,enabled:a});let xr=Rt(e=>e.isLoading),Cr=Q.useMemo(()=>Xs(zt,lr,Nt,ft,St),[St,Nt,ft,lr,zt]);v_({isSessionsLoading:xr,fullCatalogSessionIds:pt,fullCatalogGeneration:mt,normalizedProjects:lr,cleanupSessions:it});let{getSessionsForProject:wr,getArchivedSessionsForProject:Tr}=__({ownership:Cr}),Er=Q.useMemo(()=>{let e=new Set;if(vt.size===0)return e;for(let t of lr){let n=[t.normalizedPath];ft||(Nt.get(t.normalizedPath)??[]).forEach(e=>{let t=U(e.path);t&&n.push(t)}),n.some(e=>vt.has(e))&&e.add(t.id)}return e},[Nt,ft,vt,lr]),Dr=Q.useMemo(()=>{let e=new Set;if(yt.size===0)return e;for(let t of lr)nr(t.id).some(e=>yt.has(e))&&e.add(t.id);return e},[nr,lr,yt]),Or=vt.size>0||yt.size>0||ht===`idle`||ht===`loading`;$g({normalizedProjects:lr,ownership:Cr,isSessionsLoading:xr,fullCatalogSessionIds:pt,fullCatalogGeneration:mt,foldersMap:He,createFolder:Ke,addSessionToFolder:Xe,cleanupSessions:it,enabled:a});let kr=Q.useRef(!1);Se&&A.has(Se)&&(kr.current=!!A.get(Se));let Ar=Ov(e=>e.projectSortOrder),jr=qt(e=>e.manualProjectOrder),Mr=Q.useMemo(()=>{let e=[...lr];switch(Ar){case`a-z`:e.sort((e,t)=>{let n=(e.label||e.path).toLowerCase(),r=(t.label||t.path).toLowerCase();return n.localeCompare(r)});break;case`z-a`:e.sort((e,t)=>{let n=(e.label||e.path).toLowerCase();return(t.label||t.path).toLowerCase().localeCompare(n)});break;case`date-added`:e.sort((e,t)=>(t.addedAt??0)-(e.addedAt??0));break;case`recent`:e.sort((e,t)=>(t.lastOpenedAt??0)-(e.lastOpenedAt??0));break;case`manual`:{let t=new Map(jr.map((e,t)=>[e,t]));e.sort((e,n)=>(t.get(e.id)??1/0)-(t.get(n.id)??1/0));break}}return e},[lr,Ar,jr]),{projectSections:Nr,groupSearchDataByGroup:Pr,sectionsForRender:Fr,searchMatchCount:Ir}=t_({normalizedProjects:Mr,getSessionsForProject:wr,getArchivedSessionsForProject:Tr,availableWorktreesByProject:Nt,projectRepoStatus:A,projectRootBranches:pe,lastRepoStatus:kr.current,buildGroupedSessions:nn,hasSessionSearchQuery:ze,normalizedSessionSearchQuery:Re,filterSessionNodesForSearch:tn,buildGroupSearchText:en,foldersMap:He}),Lr=(0,$.jsxs)(`div`,{className:`py-6 text-center text-muted-foreground`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold`,children:s(`sessions.sidebar.empty.noMatches.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1`,children:s(`sessions.sidebar.empty.noMatches.description`)})]});r_({projectSections:Nr,activeProjectId:Se,activeSessionByProject:de,setActiveSessionByProject:fe,currentSessionId:Ct,handleSessionSelect:kn,newSessionDraftOpen:Et,mobileVariant:e,openNewSessionDraft:Ft,setActiveMainTab:De,setSessionSwitcherOpen:Ne});let{getOrderedGroups:Rr}=i_(le),zr=Q.useRef(!1);Q.useEffect(()=>{if(zr.current||Nr.length===0)return;let e=Nr.flatMap(e=>e.groups.filter(e=>e.isArchivedBucket).map(t=>`${e.project.id}:${t.id}`));e.length>0&&se(t=>new Set([...t,...e])),zr.current=!0},[Nr]);let Br=Q.useMemo(()=>{let e=new Map,t=new Map;return Nr.forEach(n=>{let r=Kn(n.project.normalizedPath)||n.project.normalizedPath;n.groups.forEach(i=>{let a=i.branch&&i.branch!==`HEAD`&&i.branch!==r?i.branch:null,o={projectLabel:r,branchLabel:a},s=r=>{r.forEach(r=>{let a=n.project.normalizedPath.length;a<(t.get(r.session.id)??-1)||(e.set(r.session.id,{node:r,projectId:n.project.id,groupDirectory:i.directory,secondaryMeta:o}),t.set(r.session.id,a),r.children.length>0&&s(r.children))})};s(i.sessions)})}),e},[Nr]);Q.useLayoutEffect(()=>{if(!Ct){yb(null);return}let e=ii.getState().focus;if(e?.sessionId===Ct){e.scope===`project`&&!e.projectId&&yb({...e,projectId:Br.get(Ct)?.projectId??null});return}yb({scope:`project`,sessionId:Ct,projectId:Br.get(Ct)?.projectId??null})},[Ct,Br]);let Vr=Q.useMemo(()=>ft?[]:Hs(zt,ie),[ft,ie,zt]),Hr=Q.useMemo(()=>ze?[]:ic(zt,ie,ut,dt),[ze,ie,ut,zt,dt]),{pinnedItems:Ur,inProgressItems:Gr}=Q.useMemo(()=>{let e=e=>{let t=Br.get(e.id),n=U(e.directory??null),r={session:e,children:[],worktree:Mt.get(e.id)??null};if(ze&&tn([r],Re).length===0)return null;let i=Cr.bySessionId.get(e.id),a=i?Mr.find(e=>e.id===i.projectId):void 0,o=a?Kn(a.normalizedPath)||a.normalizedPath:t?.secondaryMeta?.projectLabel??null,s=uc({projectLabel:o,owner:i,sessionWorktree:Mt.get(e.id)??null,worktrees:a?Nt.get(a.normalizedPath)??[]:[],projectRootBranch:i?pe.get(i.projectId)??(a?_r.get(a.normalizedPath)?.branch:null)??null:null,isVSCode:ft})??t?.secondaryMeta??null;return{node:r,projectId:i?.projectId??t?.projectId??null,groupDirectory:i?.scopeDirectory??t?.groupDirectory??n,secondaryMeta:s}},t=t=>t.map(e).filter(e=>e!==null);return{pinnedItems:ft?[]:t(Vr),inProgressItems:t(Hr)}},[Nt,tn,_r,ze,Hr,ft,Re,Vr,pe,Cr,Br,Mr,Mt]),Kr=Q.useMemo(()=>Fr.map(e=>({...e,groups:e.groups.filter(e=>!e.isArchivedBucket)})),[Fr]),qr=Q.useMemo(()=>{let e=ze?Kr.map(e=>({...e,groups:e.groups.map(e=>({...e,sessions:Pr.get(e)?.filteredNodes??[]}))})):Kr;if(!i)return e;let t=e.find(e=>e.project.id===Se)??e[0];if(!t)return[];let n=t.groups.find(e=>e.isMain&&e.sessions.length>0)??t.groups.find(e=>e.sessions.length>0)??t.groups.find(e=>e.isMain)??t.groups[0];return n?[{...t,groups:[n]}]:[]},[Se,Pr,ze,Kr,i]),Jr=Q.useMemo(()=>Ms({sections:qr,foldersMap:He,getOrderedGroups:Rr,pinnedSessionIds:ie,sessionOrderByScope:Ue,sessionOrderActivityByScope:We}),[He,Rr,qr,ie,We,Ue]),Yr=Q.useMemo(()=>Ns({targets:Jr,collapsedProjectIds:O,collapsedGroupKeys:oe,collapsedFolderIds:Ve,visibleSessionCountByGroup:M,defaultVisibleSessionCount:Ps(),hasSessionSearchQuery:ze,alwaysVisibleSessionIds:lt}),[lt,Ve,oe,O,ze,Jr,M]),Xr=Q.useMemo(()=>ze?[]:[...Vr,...Hr].map((e,t)=>{let n=Br.get(e.id);return{scope:`pinned`,sessionId:e.id,projectId:n?.projectId??null,directory:U(Bt(e))??n?.groupDirectory??null,visibleIndex:t}}),[ze,Hr,Vr,Br]),[Zr,Qr]=Q.useState(null),$r=Q.useCallback(e=>{Qr(t=>t&&t.length===e.length&&t.every((t,n)=>t===e[n])?t:[...e])},[]),ei=Q.useMemo(()=>{if(!Zr)return Xr;let e=new Set(Zr);return Xr.filter(t=>e.has(t.sessionId))},[Xr,Zr]),ti=Q.useMemo(()=>e?[]:yi({pinnedTargets:ei,projectTargets:Yr}),[e,ei,Yr]),ni=Q.useCallback(e=>{De(`chat`),Ne(!1),e.scope===`project`&&e.projectId&&we(e.projectId),zn(e.sessionId,e.directory,e.projectId,e.scope)},[zn,De,we,Ne]);Q.useLayoutEffect(()=>oi({targets:ti,activate:ni}),[ni,ti]);let ri=Q.useMemo(()=>{let e=new Map;return ti.forEach(t=>{let n=Ni({scope:t.scope,sessionId:t.sessionId,projectId:t.projectId});n&&e.set(n,ji(ti,t)??0)}),e},[ti]),ai=Q.useMemo(()=>{if(!Ct||ze)return[];let e=[],t=(n,r)=>{if(n.session.id===Ct){e.push({scope:`pinned`,sessionId:Ct,projectId:r});return}n.children.forEach(e=>t(e,r))};return Ur.forEach(e=>t(e.node,e.projectId)),Gr.forEach(e=>t(e.node,e.projectId)),e},[Ct,ze,Gr,Ur]),si=Q.useMemo(()=>{if(!Ct)return[];let e=[],t=(n,r)=>{if(n.session.id===Ct){e.push({scope:`project`,sessionId:Ct,projectId:r});return}n.children.forEach(e=>t(e,r))};return Nr.forEach(e=>{e.groups.forEach(n=>{n.sessions.forEach(n=>t(n,e.project.id))})}),e},[Ct,Nr]);Q.useLayoutEffect(()=>ui({pinned:ei,project:Yr}),[ei,Yr]),Q.useLayoutEffect(()=>{Or||yb(Ub({currentSessionId:Ct,focus:wt,pinnedFocuses:ai,projectFocuses:si,fallbackProjectId:Ct?Br.get(Ct)?.projectId??null:null}))},[Ct,Or,si,ai,wt,Br]);let ci=Q.useMemo(()=>{let e=wt?.sessionId?Br.get(wt.sessionId)?.projectId??null:null;return Wb(wt,Jr,e)},[Jr,wt,Br]),li=Q.useRef(null),di=Q.useRef(null);Q.useEffect(()=>{di.current&&di.current!==Ct&&(di.current=null)},[Ct]),Q.useLayoutEffect(()=>{if(!ci?.projectId)return;let e=ci.sessionId,t=Tt.sessionId===e;if(!(!t&&Ct!==e)){if(t){if(li.current===Tt.revision)return;li.current=Tt.revision,di.current=e}else{if(di.current===e)return;di.current=e}if(cr(ci.projectId),ci.groupKey&&se(e=>{if(!e.has(ci.groupKey))return e;let t=new Set(e);return t.delete(ci.groupKey),t}),ci.folderAncestorIds?.forEach(e=>{let t=Cn.getState();t.collapsedFolderIds.has(e)&&t.toggleFolderCollapse(e)}),ci.groupKey&&ci.visibleIndex!==void 0){let e=ci.visibleIndex+1;N(t=>{if((t.get(ci.groupKey)??0)>=e)return t;let n=new Map(t);return n.set(ci.groupKey,e),n})}}},[Ct,cr,ci,Tt]);let fi=av(Q.useMemo(()=>{let e=new Set;return Kr.forEach(t=>{O.has(t.project.id)||t.groups.forEach(n=>{if(oe.has(`${t.project.id}:${n.id}`))return;let r=U(n.directory??null),i=n.branch?.trim()||st.get(r||``)?.trim();!r||!i||e.add(P_(r,i))})}),[...e]},[oe,O,st,Kr]));Q.useEffect(()=>{if(!a||!gr||!hr?.connected||!pr)return;let e=[],t=Date.now();if(Kr.forEach(n=>{O.has(n.project.id)||n.groups.forEach(r=>{if(oe.has(`${n.project.id}:${r.id}`))return;let i=U(r.directory??null),a=r.branch?.trim()||st.get(i||``)?.trim();if(!i||!a)return;let o=P_(i,a),s=$_.getState().entries[o],c=!!s?.status?.pr,l=`${i}::${a}`,u=Math.max(s?.lastRefreshAt??0,s?.lastDiscoveryPollAt??0),d=!!(s?.isInitialStatusResolved&&!c&&(!_.current.has(l)||t-u>=rx));(!s||!s.isInitialStatusResolved||d)&&(d&&_.current.add(l),e.push({directory:i,branch:a}))})}),e.length===0)return;let n=new Map;e.forEach(e=>{let t=P_(e.directory,e.branch,e.remoteName??null);n.has(t)||n.set(t,e)}),n.forEach((e,t)=>{vr(t),yr(t,{directory:e.directory,branch:e.branch,remoteName:e.remoteName??null,canShow:!0,github:pr,githubAuthChecked:gr,githubConnected:hr.connected})}),br([...n.values()],{silent:!0,markInitialResolved:!0})},[O,oe,vr,pr,gr,hr?.connected,st,a,br,Kr,yr]);let pi=b_({isDesktopShellRuntime:Kt,projectSections:Nr,projectHeaderSentinelRefs:he,enabled:a}),mi=sx((t,n=0,r,i,a=!1,o,s=`project`,c)=>(0,$.jsx)(Nb,{node:t,depth:n,groupDirectory:r,projectId:i,archivedBucket:a,currentSessionId:Ct,pinnedSessionIds:ie,expandedParents:T,hasSessionSearchQuery:ze,normalizedSessionSearchQuery:Re,notifyOnSubtasks:q,editingId:v,setEditingId:y,editTitle:b,setEditTitle:x,handleSaveEdit:Gn,handleCancelEdit:qn,toggleParent:Vn,handleSessionSelect:Un,handleSessionDoubleClick:Wn,togglePinnedSession:ae,handleShareSession:Jn,copiedSessionId:On,handleCopyShareUrl:Yn,handleUnshareSession:Xn,openSidebarMenuKey:I,setOpenSidebarMenuKey:ee,renamingFolderId:L,getFoldersForScope:Ge,getSessionFolderId:at,removeSessionFromFolder:Qe,addSessionToFolder:Xe,createFolderAndStartRename:Qn,openContextPanelTab:Ae,handleDeleteSession:Zn,mobileVariant:e,alwaysShowActions:Zt,renderSessionNode:mi,secondaryMeta:o,renderContext:s,subtreeContainsActive:c?.subtreeContainsActive??ix,subtreeContainsEditing:c?.subtreeContainsEditing??ix,menuOpenSessionId:c?.menuOpenSessionId??null,nodeStructureKey:c?.nodeStructureKey??``,childRenderExtrasFor:c?.childRenderExtrasFor,liveSessionById:Gt,shortcutNumber:ri.get(Ni({scope:s,sessionId:t.session.id,projectId:i??null})??``)??null},`${s}:${i??``}:${t.session.id}`)),hi=Q.useCallback(e=>{er(e),se(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[er]),gi=Q.useCallback(e=>{let t=nr(e);if(t.length===0)return;let n=Ut.getState(),r=t.filter(e=>!n.archivedLoadedDirectories.has(e));r.length>0&&un(r)},[nr]),_i=Q.useMemo(()=>{let e=new Map;for(let[t,n]of fi)e.set(t,{visualState:n.visualState,number:n.number,url:n.url,state:n.prState,draft:n.draft,title:n.title,base:n.base,head:n.head,checks:n.checks,canMerge:n.canMerge,mergeableState:n.mergeableState,repo:n.repo});return e},[fi]),vi=Q.useCallback((t,n,r,i,a,o,s)=>(0,$.jsx)(Wv,{group:t,groupKey:n,isArchivedLoading:!!(t.isArchivedBucket&&r&&nr(r).some(e=>bt.has(e))),projectId:r,hideGroupLabel:i,compactBodyPadding:o,hasSessionSearchQuery:ze,normalizedSessionSearchQuery:Re,groupSearchDataByGroup:Pr,visibleSessionCount:M.get(n),collapsedGroups:oe,collapsedFolderIds:Ve,toggleFolderCollapse:nt,renameFolder:qe,deleteFolder:Ye,showDeletionDialog:Fe,setDeleteFolderConfirm:W,renderSessionNode:mi,projectRepoStatus:A,lastRepoStatus:kr.current,showMoreGroupSessions:(e,n,r)=>$n(t,e,n,r),resetGroupSessionLimit:er,mobileVariant:e,alwaysShowActions:Zt,activeProjectId:Se,setActiveProjectIdOnly:we,setActiveMainTab:De,setSessionSwitcherOpen:Ne,openNewSessionDraft:It,addSessionToFolder:Xe,createFolderAndStartRename:Qn,renamingFolderId:L,renameFolderDraft:z,setRenameFolderDraft:B,setRenamingFolderId:R,pinnedSessionIds:ie,expandedParents:T,sessionOrderByScope:Ue,sessionOrderActivityByScope:We,onReorderSessions:(e,n,r,i)=>{let a=t.folderScopeKey??U(t.directory??null);a&&ot(a,e,n,r,i)},currentSessionId:Ct,shortcutTargetSessionId:ci?.groupKey===n?ci.sessionId:null,shortcutTargetVisibleIndex:ci?.groupKey===n?ci.visibleIndex??null:null,editingId:v,editTitle:b,openSidebarMenuKey:I,liveSessionById:Gt,alwaysVisibleSessionIds:lt,prVisualStateByDirectoryBranch:_i,onToggleCollapsedGroup:e=>{t.isArchivedBucket&&oe.has(e)&&r&&gi(r),hi(e)},dragHandleProps:a,scrollContainerRef:s}),[ze,Re,Pr,bt,nr,M,oe,Ve,nt,qe,Ye,Fe,mi,A,$n,er,e,Zt,Se,we,De,Ne,It,Xe,Qn,L,z,ie,T,Ue,We,ot,Ct,ci,v,b,I,Gt,lt,_i,hi,gi]),bi=r?null:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)($v,{collapseAllProjects:ar,expandAllProjects:or}),(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,className:`size-6 p-0 text-muted-foreground`,"aria-label":s(`sessions.sidebar.header.actions.addProject`),title:s(`sessions.sidebar.header.actions.addProject`),onClick:At.requestDirectoryDialog,children:(0,$.jsx)(X,{name:`add`,className:`size-4`})})]}),xi=Kt&&Jt&&!ft&&!ze?(0,$.jsx)(`div`,{className:`shrink-0 px-3`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(ou,{className:`min-w-0 flex-1`}),(0,$.jsx)(lu,{className:`ml-auto shrink-0`})]})}):null,Si=!ft&&!ze,Ci=!ze&&(Ur.length>0||Gr.length>0),wi=Si||Ci?(0,$.jsxs)($.Fragment,{children:[Si?(0,$.jsxs)($.Fragment,{children:[e&&Jt?(0,$.jsx)(ou,{}):null,(0,$.jsxs)(`div`,{className:`space-y-0.5 py-1`,children:[(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,className:Y(`w-full justify-start font-normal`,e&&`h-11`),onClick:vn,children:[(0,$.jsx)(X,{name:`chat-new`,className:`size-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:s(`sessions.sidebar.header.actions.newSession`)})]}),(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,className:Y(`w-full justify-start font-normal`,Oe===`schedule`&&`bg-interactive-selection text-interactive-selection-foreground`,e&&`h-11`),onClick:bn,children:[(0,$.jsx)(X,{name:`time`,className:`size-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:s(`sessions.sidebar.header.actions.scheduledTasks`)})]}),ke.data?.supported&&ke.data?.enabled?(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,className:Y(`w-full justify-start font-normal`,Oe===`assistant`&&`bg-interactive-selection text-interactive-selection-foreground`,e&&`h-11`),onClick:xn,children:[(0,$.jsx)(X,{name:`ai-agent`,className:`size-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:s(`assistants.title`)}),(0,$.jsx)(gc,{className:`ml-auto`})]}):null]})]}):null,Ci?(0,$.jsx)(qv,{items:Ur,inProgressItems:Gr,renderSessionNode:mi,currentSessionId:Ct,editingId:v,openSidebarMenuKey:I,onVisibleSessionIdsChange:$r}):null]}):null,Ti=!!(L||v||C),{selectionModeEnabled:Ei,hasSelection:Di,selectedIdsSize:Oi,bulkScopeIsArchived:ki,derivedSelectionScope:Ai,bulkScopeFolders:Mi,bulkCanRemoveFromFolder:Pi,handleExitSelectionMode:Fi,handleBulkMoveToFolder:Ii,handleBulkCreateFolderAndMove:Li,handleBulkRemoveFromFolder:Ri,handleBulkDelete:zi,confirmBulkDelete:Bi}=Bb({isInlineEditing:Ti,showDeletionDialog:Fe,foldersMap:He,addSessionsToFolder:Ze,removeSessionsFromFolders:tt,createFolderAndStartRename:Hn,archiveSessions:Dn,setBulkDeleteConfirm:G});return(0,$.jsxs)(`div`,{ref:h,className:Y(`oc-session-sidebar relative flex h-full flex-col text-foreground overflow-x-hidden`,e?``:`bg-transparent`),children:[(0,$.jsx)(Gv,{hideDirectoryControls:r,isSessionSearchOpen:d,setIsSessionSearchOpen:f,sessionSearchInputRef:g,sessionSearchQuery:p,setSessionSearchQuery:m,hasSessionSearchQuery:ze,searchMatchCount:Ir}),xi,a?(0,$.jsx)(uy,{topContent:wi,hasLeadingSection:wi!==null&&(Ur.length>0||Gr.length>0),headerAccessory:bi,sectionsForRender:Kr,projectSections:Nr,activeProjectId:Se,showOnlyMainWorkspace:i,hasSessionSearchQuery:ze,emptyState:ln,searchEmptyState:Lr,renderGroupSessions:vi,homeDirectory:_e,collapsedProjects:O,hideDirectoryControls:r,projectRepoStatus:A,isDesktopShellRuntime:Kt,stuckProjectHeaders:pi,mobileVariant:e,alwaysShowActions:Zt,toggleProject:sr,setActiveProjectIdOnly:we,setActiveMainTab:De,setSessionSwitcherOpen:Ne,openNewSessionDraft:It,openNewWorktreeDialog:mn,syncProjectSessions:ir,openProjectEditDialog:w,removeProject:Ce,projectHeaderSentinelRefs:he,projectReorderEnabled:Ar===`manual`,reorderProjects:Ee,projectSortOrder:Ar,getOrderedGroups:Rr,setGroupOrderByProject:ue,openSidebarMenuKey:I,setOpenSidebarMenuKey:ee,isInlineEditing:Ti,loadingProjectIds:Er,refreshingProjectIds:Dr,isProjectSessionsSyncing:Or}):null,Ei&&Di?(0,$.jsx)(zb,{selectedCount:Oi,scopeKey:Ai,scopeFolders:Mi,archivedBucket:ki,onMoveToFolder:Ii,onCreateFolderAndMove:Li,onRemoveFromFolder:Ri,canRemoveFromFolder:Pi,onDelete:zi,onDone:Fi}):null,(0,$.jsx)(ry,{onOpenSettings:_n,onOpenShortcuts:Me,onOpenUpdate:gn,showRuntimeButtons:!ft,showUpdateButton:Sn}),c?(0,$.jsx)(vs,{open:c,onOpenChange:l,info:Be.info,downloading:Be.downloading,downloaded:Be.downloaded,progress:Be.progress,error:Be.error,onDownload:Be.downloadUpdate,onRestart:Be.restartToUpdate,runtimeType:Be.runtimeType}):null,dn?(0,$.jsx)(ov,{open:!0,onOpenChange:e=>{e||w(null)},project:dn,onSave:fn}):null,P?(0,$.jsx)(Wr,{open:!0,onOpenChange:F,onWorktreeCreated:hn}):null,(0,$.jsx)(qs,{}),(0,$.jsx)(Qg,{}),(0,$.jsx)(Ib,{value:V,setValue:te,showDeletionDialog:Fe,setShowDeletionDialog:Ie,onConfirm:Rn}),(0,$.jsx)(Rb,{value:ne,setValue:W,onConfirm:Bn}),(0,$.jsx)(Lb,{value:re,setValue:G,showDeletionDialog:Fe,setShowDeletionDialog:Ie,onConfirm:Bi})]})},lx=e=>e?(0,$.jsx)(`span`,{className:`text-foreground/80 dark:text-foreground/70`,children:e}):void 0,ux=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.replace(/\/+$/,``)},dx=()=>{let{t:e}=Je(),[t,n]=Q.useState(!1),[r,i]=Q.useState(!1),[a,o]=Q.useState(null),[s,c]=Q.useState([]),[l,u]=Q.useState(!1),[d,f]=Q.useState(!1),[p,m]=Q.useState(!1),[h,g]=Q.useState(!1),[_,v]=Q.useState(new Set),y=Rt(e=>e.getWorktreeMetadata),b=Rt(e=>e.newSessionDraft),x=Rt(e=>e.setNewSessionDraftTarget),S=Rt(e=>e.setDraftBootstrapPendingDirectory),C=ft,w=Rt(e=>e.archiveSessions),T=K(e=>e.showDeletionDialog),E=K(e=>e.setShowDeletionDialog),D=xe(e=>e.currentDirectory),O=xe(e=>e.homeDirectory),k=xe(e=>e.isHomeReady),A=qt(e=>e.projects),j=qt(e=>e.activeProjectId),{isMobile:M,isTablet:N,hasTouchInput:P}=Ia(),F=M||N||P,I=Q.useMemo(()=>ux((j?A.find(e=>e.id===j)??null:null)?.path??D),[j,D,A]),ee=Q.useCallback(e=>{let t=ux(e.projectDirectory)||I;return{id:(A.find(e=>ux(e.path)===t)??null)?.id??`path:${t}`,path:t}},[I,A]),L=h&&_.size>0,R=Q.useMemo(()=>{let e=a?.worktree;return e&&typeof e.branch==`string`&&e.branch.trim().length>0?!0:s.length>0&&s.every(({metadata:e})=>typeof e.branch==`string`&&e.branch.trim().length>0)},[a?.worktree,s]),z=a?.mode===`worktree`,B=z,V=p||!z||!R,H=p||!z;Q.useEffect(()=>{r||!k||A.length>0||(i(!0),n(!0))},[r,k,A.length]);let U=Q.useCallback(e=>{o({sessions:e.sessions,dateLabel:e.dateLabel,mode:e.mode??`session`,worktree:e.worktree??null})},[]),te=Q.useCallback(()=>{o(null),c([]),u(!1),f(!1),m(!1),g(!1),v(new Set)},[]),ne=Q.useCallback(t=>{if(t.sessions.length===0)return;let n=t.sessions.map(e=>e.id);$s({sessionIds:n,message:n.length===1?e(`sessions.sidebar.session.delete.success`):e(`sessions.sidebar.bulkActions.deletedPlural`,{count:n.length}),undoLabel:e(`sessions.sidebar.undo`),commitFailedMessage:n.length===1?e(`sessions.sidebar.session.delete.error`):e(`sessions.sidebar.bulkActions.failedDeletePlural`,{count:n.length})})},[e]);Q.useEffect(()=>At.onDeleteRequest(e=>{if(!T&&(e.mode??`session`)===`session`){ne(e);return}U(e)}),[U,T,ne]),Q.useEffect(()=>At.onDirectoryRequest(()=>{n(!0)}),[]),Q.useEffect(()=>{if(!a){c([]),u(!1),f(!1),g(!1),v(new Set);return}let e=a.sessions.map(e=>{let t=y(e.id);return t?{session:e,metadata:t}:null}).filter(e=>!!e);c(e),u(!1),g(!1),v(new Set);let t=new Map;if(a.worktree?.path&&t.set(ux(a.worktree.path),a.worktree),e.forEach(({metadata:e})=>{e.path&&t.set(ux(e.path),e)}),t.size===0){g(!0);return}let n=!1;return(async()=>{let e=new Map,r=new Set;await Promise.all(Array.from(t.entries()).map(async([t,n])=>{try{let i=await $i(n.path);e.set(t,i),i?.isDirty&&r.add(t)}catch{n.status&&(e.set(t,n.status),n.status.isDirty&&r.add(t))}})).catch(e=>{console.warn(`Failed to inspect worktree status before deletion:`,e)}),!n&&(v(r),g(!0),o(t=>{if(!t?.worktree?.path)return t;let n=ux(t.worktree.path),r=e.get(n);if(!r)return t;let i=t.worktree.status;return i?.isDirty===r.isDirty&&i?.ahead===r.ahead&&i?.behind===r.behind&&i?.upstream===r.upstream?t:{...t,worktree:{...t.worktree,status:r}}}),c(t=>t.map(t=>{let n=ux(t.metadata.path),r=e.get(n);return r?{session:t.session,metadata:{...t.metadata,status:r}}:t})))})(),()=>{n=!0}},[a,y]),Q.useEffect(()=>{R||u(!1)},[R]);let W=Q.useCallback(async(t,n)=>{let r=l&&R,i=ee(t),a=ux(t.path),o=ux(i.path);try{await Xi(i,t,{deleteRemoteBranch:r,deleteLocalBranch:n});let e=ux(b?.directoryOverride);return b?.open&&a&&e===a&&o&&(S(null),x({projectId:i.id,directoryOverride:o},{force:!0})),ux(D)===a&&o&&xe.getState().setDirectory(o,{showOverlay:!1}),!0}catch(t){return J.error(e(`sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle`),{description:lx(t instanceof Error?t.message:e(`sessions.sidebar.dialogs.deleteResult.tryAgain`))}),!1}},[R,D,l,ee,b?.directoryOverride,b?.open,S,x,e]),re=Q.useCallback((t,n)=>{let r=l&&R;(async()=>{if(!await W(t,n))return;let i=e(r?`sessions.sidebar.sessionDialogs.worktree.removedWithRemote`:`sessions.sidebar.sessionDialogs.worktree.removed`);J.success(e(`sessions.sidebar.sessionDialogs.worktree.removedTitle`),{description:lx(i)})})()},[R,l,W,e]),G=Q.useCallback(async()=>{if(a){m(!0);try{let t=B&&d;if(a.sessions.length===0&&z&&a.worktree){re(a.worktree,t),te();return}if(a.sessions.length===1){let t=a.sessions[0];if(z){if(!await C(t.id)){J.error(e(`sessions.sidebar.session.archive.error`)),m(!1);return}Ts({sessionIds:[t.id],message:e(`sessions.sidebar.session.archive.success`),undoLabel:e(`sessions.sidebar.undo`),settingsLabel:e(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:e(`sessions.sidebar.session.archive.undoFailed`)})}else $s({sessionIds:[t.id],message:e(`sessions.sidebar.session.delete.success`),undoLabel:e(`sessions.sidebar.undo`),commitFailedMessage:e(`sessions.sidebar.session.delete.error`)})}else{let n=a.sessions.map(e=>e.id),r=[],i=[];if(z){let e=await w(n);r=e.archivedIds,i=e.failedIds}else $s({sessionIds:n,message:n.length===1?e(`sessions.sidebar.bulkActions.deletedSingle`,{count:n.length}):e(`sessions.sidebar.bulkActions.deletedPlural`,{count:n.length}),undoLabel:e(`sessions.sidebar.undo`),commitFailedMessage:n.length===1?e(`sessions.sidebar.bulkActions.failedDeleteSingle`,{count:n.length}):e(`sessions.sidebar.bulkActions.failedDeletePlural`,{count:n.length})}),r=n,i=[];if(z&&a.worktree&&i.length===0&&re(a.worktree,t),z&&r.length>0&&Ts({sessionIds:r,message:r.length===1?e(`sessions.sidebar.bulkActions.archivedSingle`,{count:r.length}):e(`sessions.sidebar.bulkActions.archivedPlural`,{count:r.length}),undoLabel:e(`sessions.sidebar.undo`),settingsLabel:e(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:r.length===1?e(`sessions.sidebar.session.archive.undoFailed`):e(`sessions.sidebar.bulkActions.archiveUndoFailed`,{count:r.length})}),i.length>0&&(J.error(z?i.length===1?e(`sessions.sidebar.bulkActions.failedArchiveSingle`,{count:i.length}):e(`sessions.sidebar.bulkActions.failedArchivePlural`,{count:i.length}):i.length===1?e(`sessions.sidebar.bulkActions.failedDeleteSingle`,{count:i.length}):e(`sessions.sidebar.bulkActions.failedDeletePlural`,{count:i.length}),{description:lx(e(`sessions.sidebar.dialogs.deleteResult.tryAgain`))}),r.length===0)){m(!1);return}}z&&a.sessions.length===1&&a.worktree&&re(a.worktree,t),te()}finally{m(!1)}}},[a,d,C,w,te,B,z,re,e]),ie=a?.worktree??s[0]?.metadata??null,ae=a?a.mode===`worktree`?a.sessions.length===0?e(`sessions.sidebar.dialogs.worktreeDelete.descriptionNoLinked`):a.sessions.length===1?e(`sessions.sidebar.dialogs.worktreeDelete.descriptionOneLinked`,{count:a.sessions.length}):e(`sessions.sidebar.dialogs.worktreeDelete.descriptionManyLinked`,{count:a.sessions.length}):a.sessions.length===1?a.dateLabel?e(`sessions.sidebar.dialogs.sessionDelete.descriptionOneWithDate`,{dateLabel:a.dateLabel}):e(`sessions.sidebar.dialogs.sessionDelete.descriptionOne`):a.dateLabel?e(`sessions.sidebar.dialogs.sessionDelete.descriptionManyWithDate`,{count:a.sessions.length,dateLabel:a.dateLabel}):e(`sessions.sidebar.dialogs.sessionDelete.descriptionMany`,{count:a.sessions.length}):``,oe=a?(0,$.jsxs)(`div`,{className:Y(z?`space-y-3`:`space-y-2`),children:[a.sessions.length>0&&(0,$.jsxs)(`div`,{className:Y(z?`rounded-lg bg-muted/30 p-3`:`space-y-1.5 rounded-xl border border-border/40 bg-sidebar/60 p-3`),children:[z&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:a.sessions.length===1?e(`sessions.sidebar.sessionDialogs.linkedSessionSingle`):e(`sessions.sidebar.sessionDialogs.linkedSessionPlural`)}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70`,children:a.sessions.length})]}),(0,$.jsxs)(`ul`,{className:Y(z?`mt-2 space-y-1`:`space-y-0.5`),children:[a.sessions.slice(0,5).map(t=>(0,$.jsxs)(`li`,{className:Y(z?`flex items-center gap-2 rounded-md px-2.5 py-1.5 text-sm text-muted-foreground`:`typography-micro text-muted-foreground/80`),children:[(0,$.jsx)(`span`,{className:Y(!z&&`hidden`),children:`•`}),(0,$.jsx)(`span`,{className:`truncate`,children:t.title||e(`sessions.sidebar.session.untitled`)})]},t.id)),a.sessions.length>5&&(0,$.jsx)(`li`,{className:Y(z?`px-2.5 py-1 text-xs text-muted-foreground/70`:`typography-micro text-muted-foreground/70`),children:e(`sessions.sidebar.dialogs.sessionList.more`,{count:a.sessions.length-5})})]})]}),z?(0,$.jsxs)(`div`,{className:`space-y-2 rounded-lg bg-muted/30 p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`h-4 w-4 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:e(`sessions.sidebar.sessionDialogs.worktree.label`)}),ie?.label?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70`,children:ie.label}):null]}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground/80 break-all`,children:ie?Jn(ie.path,O):e(`sessions.sidebar.sessionDialogs.worktree.pathUnavailable`)}),L&&(0,$.jsx)(`p`,{className:`typography-micro text-status-warning`,children:e(`sessions.sidebar.sessionDialogs.worktree.uncommittedWarning`)})]}):(0,$.jsx)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/60 p-3`,children:(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground/80`,children:e(`sessions.sidebar.sessionDialogs.delete.note`)})})]}):null,se=z?R?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{V||u(e=>!e)},disabled:V,className:Y(`flex items-center gap-2 rounded-md px-2 py-1 text-sm text-muted-foreground transition-colors`,V?`cursor-not-allowed opacity-60`:`hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),children:[l?(0,$.jsx)(X,{name:`checkbox`,className:`size-4 text-primary`}):(0,$.jsx)(X,{name:`checkbox-blank`,className:`size-4`}),e(`sessions.sidebar.sessionDialogs.actions.deleteRemoteBranch`)]}):(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground/70`,children:e(`sessions.sidebar.sessionDialogs.actions.remoteBranchInfoUnavailable`)}):null,ce=z?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{H||f(e=>!e)},disabled:H,className:Y(`flex items-center gap-2 rounded-md px-2 py-1 text-sm text-muted-foreground transition-colors`,H?`cursor-not-allowed opacity-60`:`hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),children:[d?(0,$.jsx)(X,{name:`checkbox`,className:`size-4 text-primary`}):(0,$.jsx)(X,{name:`checkbox-blank`,className:`size-4`}),e(`sessions.sidebar.sessionDialogs.actions.deleteLocalBranch`)]}):null,le=z?(0,$.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-start gap-1`,children:[ce,se]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{variant:`ghost`,onClick:te,disabled:p,children:e(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{variant:`destructive`,onClick:G,disabled:p,children:e(p?`sessions.sidebar.sessionDialogs.actions.deleting`:`sessions.sidebar.sessionDialogs.actions.deleteWorktree`)})]})]}):(0,$.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-3`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>E(!T),className:`inline-flex items-center gap-1.5 typography-meta text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/50`,"aria-pressed":!T,children:[T?(0,$.jsx)(X,{name:`checkbox-blank`,className:`size-4`}):(0,$.jsx)(X,{name:`checkbox`,className:`size-4 text-primary`}),e(`sessions.sidebar.dialogs.neverAsk`)]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{variant:`ghost`,onClick:te,disabled:p,children:e(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{variant:`destructive`,onClick:G,disabled:p,children:p?e(`sessions.sidebar.sessionDialogs.actions.deleting`):a?.sessions.length===1?e(`sessions.sidebar.dialogs.deleteSession.titleAction`):e(`sessions.sidebar.dialogs.deleteSessions.titleAction`)})]})]}),ue=z?e(`sessions.sidebar.sessionDialogs.actions.deleteWorktree`):a?.sessions.length===1?e(`sessions.sidebar.dialogs.deleteSession.titleAction`):e(`sessions.sidebar.dialogs.deleteSessions.titleAction`);return(0,$.jsxs)($.Fragment,{children:[F?(0,$.jsx)(pi,{open:!!a,onClose:()=>{p||te()},title:ue,footer:(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:le}),children:(0,$.jsxs)(`div`,{className:`space-y-2 pb-2`,children:[ae&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground/80`,children:ae}),oe]})}):(0,$.jsx)(Hn,{open:!!a,onOpenChange:e=>{if(!e){if(p)return;te()}},children:(0,$.jsxs)(zn,{className:Y(z?`max-w-xl max-h-[70vh] flex flex-col overflow-hidden gap-3`:`max-w-[min(520px,100vw-2rem)] space-y-2 pb-2`),children:[(0,$.jsxs)(Ln,{children:[(0,$.jsxs)(Bn,{className:Y(z&&`flex items-center gap-2`),children:[z&&(0,$.jsx)(X,{name:`delete-bin`,className:`h-5 w-5`}),ue]}),ae&&(0,$.jsx)(Vn,{children:ae})]}),(0,$.jsx)(`div`,{className:Y(z&&`flex-1 min-h-0 overflow-y-auto space-y-2`),children:oe}),(0,$.jsx)(Rn,{className:`mt-2 gap-2 pt-1 pb-1`,children:le})]})}),(0,$.jsx)(tc,{open:t,onOpenChange:n})]})},fx=Q.createContext(null),px=e=>{let t=(0,Vc.c)(3),{children:n,value:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(fx.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},mx=ro(()=>Pe(()=>import(`./TerminalView-D24PhNyX.js`).then(e=>({default:e.TerminalView})),__vite__mapDeps([54,1,2,3,4,24,7,5,6,25,8,26,55,37,38,10,56,23,27,39,40,41,20,21,22,42,43,29,30,31,32,33,34,57,58,48,59,60,61,62,63,64]))),hx=ro(()=>Pe(()=>import(`./DiagramView-CAbNIt3t.js`).then(e=>({default:e.DiagramView})),__vite__mapDeps([65,1,4,3,5,6,7,40,26,41,23,24,2,25,8,27,10,32,29,30,31,58,48,37,38,39,20,21,22,42,43,66,67,68]))),gx=ro(()=>Pe(()=>import(`./SettingsView-DyV0qt_2.js`).then(e=>e.n).then(e=>({default:e.SettingsView})),__vite__mapDeps([69,1,3,4,2,24,7,5,6,25,8,26,70,71,37,38,10,40,72,41,20,21,22,23,27,73,74,39,42,43,29,30,31,32,33,28,75,76,77,78,52,57,79,60,61,62,80,81,82,83,84,85,86,34,87,88,58,36,9,11,12,13,14,15,16,17,18,19,44,45,46,89,47,59,90,91,92,93,94,95,64,96,97,98,99]))),_x=ro(()=>Pe(()=>import(`./SettingsWindow-D6BMtTR9.js`).then(e=>({default:e.SettingsWindow})),__vite__mapDeps([100,1,5,8,23,24,4,3,2,7,6,25,26,27,10,29,30,31,69,70,71,37,38,40,72,41,20,21,22,73,74,39,42,43,32,33,28,75,76,77,78,52,57,79,60,61,62,80,81,82,83,84,85,86,34,87,88,58,36,9,11,12,13,14,15,16,17,18,19,44,45,46,89,47,59,90,91,92,93,94,95,64,96,97,98,99]))),vx=ro(()=>Pe(()=>import(`./MultiRunWindow-DK4IMgXD.js`).then(e=>({default:e.MultiRunWindow})),__vite__mapDeps([101,1,5,8,23,24,4,3,2,7,6,25,26,27,10,29,30,31,32,102,37,38,20,21,22,39,40,41,42,43,33,77,76,78,52,57,79,60,61,62,58,103,104,92]))),yx=ro(()=>Pe(()=>import(`./AssistantView-7NzDL0Ft.js`).then(e=>e.n).then(e=>({default:e.AssistantView})),__vite__mapDeps([105,1,4,3,24,2,7,5,6,25,8,26,37,38,10,40,41,20,21,22,23,27,73,74,39,42,43,29,30,31,32,33,28,75,57,104,44,45,46,79,49,50,106,107,96,87,108]))),bx=()=>{let e=1220,t=K(e=>e.isSidebarOpen),n=K(e=>e.isRightSidebarOpen),r=K(e=>e.isBottomTerminalOpen),i=K(e=>e.setRightSidebarOpen),a=K(e=>e.setBottomTerminalOpen),o=K(e=>e.activeMainTab),s=K(e=>e.setIsMobile),c=K(e=>e.isSessionSwitcherOpen),l=K(e=>e.isSettingsDialogOpen),u=K(e=>e.setSettingsDialogOpen),d=K(e=>e.isMultiRunLauncherOpen),f=K(e=>e.setMultiRunLauncherOpen),{isMobile:p,isTablet:m}=Ia(),h=Q.useRef(!1),g=Q.useRef(!1),_=Q.useRef(!1),[v,y]=Q.useState(!1),[b,x]=Q.useState(!1),[S,C]=Q.useState(!1),[w,T]=Q.useState(!1),E=Q.useCallback(e=>{y(e),K.getState().setSessionSwitcherOpen(e)},[]),D=Q.useRef(!1),O=Q.useRef(typeof window>`u`?0:window.innerWidth),k=Wo(-O.current),A=(0,Q.useRef)(0),j=Wo(O.current),M=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{p&&(A.current=window.innerWidth,M.current=window.innerWidth)},[p]),(0,Q.useEffect)(()=>{if(!p){C(!1);return}v&&C(!0),Go(k,v?0:-A.current,{type:`spring`,stiffness:400,damping:35,mass:.8})},[v,p,k]),(0,Q.useEffect)(()=>{if(!p){T(!1);return}D.current=b,b&&T(!0),Go(j,b?0:M.current,{type:`spring`,stiffness:400,damping:35,mass:.8})},[p,b,j]),(0,Q.useEffect)(()=>{if(p)return k.on(`change`,e=>{let t=A.current||O.current,n=v||e>-t+.5;C(e=>e===n?e:n)})},[p,k,v]),(0,Q.useEffect)(()=>{if(p)return j.on(`change`,e=>{let t=M.current||O.current,n=b||e<t-.5;T(e=>e===n?e:n)})},[p,b,j]),(0,Q.useEffect)(()=>{p&&!c&&v&&E(!1)},[c,p,v,E]),(0,Q.useEffect)(()=>{if(!p){_.current=!1;return}_.current||(_.current=!0,E(!1),x(!1),K.getState().isRightSidebarOpen&&i(!1))},[p,E,i]),(0,Q.useEffect)(()=>{if(!p||o!==`chat`||v||b||l)return;let e=!1,t,n=r=>{t=window.setTimeout(()=>{if(e)return;let t=Rt.getState(),r=K.getState();if(!(r.activeMainTab!==`chat`||r.isSettingsDialogOpen||t.currentSessionId||t.newSessionDraft?.open)){if(t.isLoading){n(250);return}t.openNewSessionDraft()}},r)};return n(500),()=>{e=!0,t!==void 0&&window.clearTimeout(t)}},[o,p,l,v,b]),(0,Q.useEffect)(()=>{!p||!l||(E(!1),x(!1),n&&i(!1))},[p,l,n,E,i]),Q.useEffect(()=>{K.getState().isMobile!==p&&s(p)},[p,s]),Q.useEffect(()=>{if(typeof window>`u`)return;let e,t=()=>{e===void 0&&(e=window.requestAnimationFrame(()=>{e=void 0,K.getState().updateProportionalSidebarWidths()}))};return window.addEventListener(`resize`,t),()=>{window.removeEventListener(`resize`,t),e!==void 0&&window.cancelAnimationFrame(e)}},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let t,n=()=>{let t=K.getState(),n=window.innerWidth,r=window.innerHeight;!p&&!m&&(n<1140?t.isRightSidebarOpen&&(i(!1),h.current=!0):n>=e&&h.current&&(i(!0),h.current=!1),r<640?t.isBottomTerminalOpen&&(a(!1),g.current=!0):r>=700&&g.current&&(a(!0),g.current=!1))},r=()=>{t===void 0&&(t=window.requestAnimationFrame(()=>{t=void 0,n()}))};return n(),window.addEventListener(`resize`,r),()=>{window.removeEventListener(`resize`,r),t!==void 0&&window.cancelAnimationFrame(t)}},[p,m,a,i]),Q.useEffect(()=>{if(typeof window>`u`)return;let t=K.subscribe((t,n)=>{let r=window.innerWidth,i=window.innerHeight,a=r>=e,o=i>=700;t.isRightSidebarOpen!==n.isRightSidebarOpen&&a&&(h.current=!1),t.isBottomTerminalOpen!==n.isBottomTerminalOpen&&o&&(g.current=!1)});return()=>{t()}},[p,m,a,i]);let N=Q.useCallback(()=>{v&&E(!1),x(!b)},[v,b,E]),P=Q.useMemo(()=>{switch(o){case`git`:return(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Vd,{isActive:!b})});case`diff`:return(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(js,{})});case`terminal`:return r?null:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(mx,{})});case`files`:return(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)($f,{})});case`diagram`:return(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(hx,{})});default:return null}},[o,r,b]),F=o===`schedule`,I=o===`assistant`,ee=F||I,L=o===`chat`,R=!ee&&!l;return(0,$.jsx)(ac,{children:(0,$.jsxs)(`div`,{"data-page-scroll-lock":`true`,className:Y(`main-content-safe-area`,p?`flex h-[100dvh] flex-col`:`relative flex h-[100dvh]`,`bg-background`),children:[(0,$.jsx)(Zh,{}),(0,$.jsx)(Hg,{}),(0,$.jsx)(Kg,{}),(0,$.jsx)(dx,{}),p?(0,$.jsxs)(px,{value:{leftDrawerOpen:v,rightDrawerOpen:b,toggleLeftDrawer:()=>{let e=!v;b&&x(!1),E(e)},toggleRightDrawer:N,leftDrawerX:k,rightDrawerX:j,leftDrawerWidth:A,rightDrawerWidth:M,setMobileLeftDrawerOpen:E,setRightSidebarOpen:x},children:[!l&&!ee&&(0,$.jsx)(Gl,{onToggleLeftDrawer:()=>{let e=!v;b&&x(!1),E(e)},onToggleRightDrawer:()=>{N()},leftDrawerOpen:v,rightDrawerOpen:b}),(0,$.jsx)(`div`,{"data-page-scroll-lock":`true`,className:Y(`flex flex-1 overflow-hidden relative`,l&&`hidden`),children:(0,$.jsxs)(`main`,{className:`w-full h-full overflow-hidden bg-background relative`,"data-page-scroll-lock":`true`,children:[F&&(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(oc,{})})})}),I&&(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(yx,{})})})}),R&&(0,$.jsx)(`div`,{className:Y(`absolute inset-0`,!L&&`invisible`),children:(0,$.jsx)(wa,{children:(0,$.jsx)(dc,{})})}),R&&P&&(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(wa,{children:P})}),d&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-10 bg-background`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Ic,{onCreated:()=>f(!1),onCancel:()=>f(!1)})})}),(0,$.jsx)(Uo.div,{className:Y(`absolute inset-0 z-20 bg-sidebar`,!S&&`pointer-events-none invisible`),"data-page-scroll-lock":`true`,style:{x:k},"aria-hidden":!v,children:(0,$.jsx)(wa,{children:(0,$.jsx)(cx,{mobileVariant:!0,isVisible:S})})}),w&&(0,$.jsx)(Uo.div,{className:`absolute inset-0 z-20 bg-sidebar`,"data-page-scroll-lock":`true`,style:{x:j},"aria-hidden":!b,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Vd,{isActive:b})})})})]})}),l&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-10 bg-background`,style:{paddingTop:`var(--oc-safe-area-top, 0px)`},children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(gx,{onClose:()=>u(!1)})})})}),(0,$.jsx)(wa,{children:(0,$.jsx)(mc,{})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(pu,{}),(0,$.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,"data-page-scroll-lock":`true`,children:[(0,$.jsx)(iu,{isOpen:t,isMobile:p,className:`border-border/50`,topBar:(0,$.jsx)(au,{}),children:(0,$.jsx)(cx,{isVisible:t})}),(0,$.jsx)(`div`,{className:`relative flex flex-1 min-w-0 flex-col overflow-hidden bg-background`,"data-page-scroll-lock":`true`,children:ee?(0,$.jsx)(`main`,{className:`flex-1 overflow-hidden bg-background`,"data-page-scroll-lock":`true`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:I?(0,$.jsx)(yx,{}):(0,$.jsx)(oc,{})})})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Gl,{}),(0,$.jsxs)(`div`,{className:`relative flex flex-1 min-h-0 overflow-hidden bg-background`,"data-page-scroll-lock":`true`,children:[(0,$.jsxs)(`div`,{className:`relative flex flex-1 min-w-0 flex-col overflow-hidden oc-layout-divider-t bg-background`,"data-page-scroll-lock":`true`,children:[(0,$.jsx)(`div`,{className:`flex flex-1 min-h-0 overflow-hidden`,"data-page-scroll-lock":`true`,children:(0,$.jsxs)(`div`,{className:`relative flex flex-1 min-h-0 min-w-0 overflow-hidden`,"data-page-scroll-lock":`true`,children:[(0,$.jsxs)(`main`,{className:`flex-1 overflow-hidden bg-background relative`,"data-page-scroll-lock":`true`,children:[R&&(0,$.jsx)(`div`,{className:Y(`absolute inset-0`,!L&&`invisible`),children:(0,$.jsx)(wa,{children:(0,$.jsx)(dc,{})})}),R&&P&&(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(wa,{children:P})})]}),(0,$.jsx)(Wh,{})]})}),(0,$.jsx)(Xl,{isOpen:r,isMobile:p,children:r?(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(mx,{})})}):null})]}),(0,$.jsx)(Su,{isOpen:n,className:`bg-background oc-layout-divider-t`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(hf,{})})})]})]})})]}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(_x,{open:l,onOpenChange:u})}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(vx,{open:d,onOpenChange:f})})]})]})})},xx=e=>{if(e<1e3)return`${Math.round(e)}ms`;let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},Sx=e=>{let t=(0,Vc.c)(8),{label:n,value:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={backgroundColor:`color-mix(in srgb, var(--surface-muted) 55%, transparent)`},t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsx)(`div`,{className:`typography-meta text-[var(--surface-muted-foreground)]`,children:n}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=(0,$.jsx)(`div`,{className:`typography-markdown font-semibold text-[var(--surface-foreground)]`,children:r}),t[3]=r,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,$.jsxs)(`div`,{className:`rounded-md p-2`,style:i,children:[a,o]}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s},Cx=e=>{let t=(0,Vc.c)(43),{title:n,snapshot:r,emptyLabel:i}=e,{t:a}=Je(),o;if(t[0]!==i||t[1]!==r.durationMs||t[2]!==r.entries||t[3]!==r.lastUpdatedAt||t[4]!==r.startedAt||t[5]!==a||t[6]!==n){let e=r.entries.slice(0,12),s;t[8]===r.entries?s=t[9]:(s=r.entries.reduce(Tx,0),t[8]=r.entries,t[9]=s);let c=s,l;t[10]===n?l=t[11]:(l=(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-[var(--surface-foreground)]`,children:n}),t[10]=n,t[11]=l);let u;t[12]!==r.durationMs||t[13]!==r.startedAt||t[14]!==a?(u=r.startedAt?xx(r.durationMs):a(`memoryDebugPanel.common.idle`),t[12]=r.durationMs,t[13]=r.startedAt,t[14]=a,t[15]=u):u=t[15];let d;t[16]===u?d=t[17]:(d=(0,$.jsx)(`div`,{className:`typography-meta text-[var(--surface-muted-foreground)]`,children:u}),t[16]=u,t[17]=d);let f;t[18]!==l||t[19]!==d?(f=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[l,d]}),t[18]=l,t[19]=d,t[20]=f):f=t[20];let p;t[21]===a?p=t[22]:(p=a(`memoryDebugPanel.metric.metrics`),t[21]=a,t[22]=p);let m;t[23]!==r.entries.length||t[24]!==p?(m=(0,$.jsx)(Sx,{label:p,value:r.entries.length}),t[23]=r.entries.length,t[24]=p,t[25]=m):m=t[25];let h;t[26]===a?h=t[27]:(h=a(`memoryDebugPanel.metric.samples`),t[26]=a,t[27]=h);let g;t[28]!==h||t[29]!==c?(g=(0,$.jsx)(Sx,{label:h,value:c}),t[28]=h,t[29]=c,t[30]=g):g=t[30];let _;t[31]===a?_=t[32]:(_=a(`memoryDebugPanel.metric.lastUpdate`),t[31]=a,t[32]=_);let v;t[33]!==r.lastUpdatedAt||t[34]!==a?(v=r.lastUpdatedAt?a(`memoryDebugPanel.common.live`):a(`memoryDebugPanel.common.notAvailable`),t[33]=r.lastUpdatedAt,t[34]=a,t[35]=v):v=t[35];let y;t[36]!==_||t[37]!==v?(y=(0,$.jsx)(Sx,{label:_,value:v}),t[36]=_,t[37]=v,t[38]=y):y=t[38];let b;t[39]!==g||t[40]!==y||t[41]!==m?(b=(0,$.jsxs)(`div`,{className:`grid grid-cols-3 gap-2`,children:[m,g,y]}),t[39]=g,t[40]=y,t[41]=m,t[42]=b):b=t[42],o=(0,$.jsxs)(`div`,{className:`space-y-2 border-t border-[var(--interactive-border)] pt-2 first:border-t-0 first:pt-0`,children:[f,b,e.length===0?(0,$.jsx)(`div`,{className:`rounded-md p-3 typography-meta text-[var(--surface-muted-foreground)]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-muted) 45%, transparent)`},children:i}):(0,$.jsx)(co,{outerClassName:`max-h-64`,className:`pr-1`,children:(0,$.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>(0,$.jsxs)(`div`,{className:`rounded-md border border-[var(--interactive-border)] p-2`,style:{backgroundColor:`color-mix(in srgb, var(--surface-elevated) 88%, transparent)`},children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-[var(--surface-foreground)] break-all`,children:e.metric}),(0,$.jsxs)(`div`,{className:`mt-1 grid grid-cols-4 gap-2 typography-meta text-[var(--surface-muted-foreground)]`,children:[(0,$.jsx)(`span`,{children:a(`memoryDebugPanel.metric.countValue`,{value:e.count})}),(0,$.jsx)(`span`,{children:a(`memoryDebugPanel.metric.avgValue`,{value:e.avg})}),(0,$.jsx)(`span`,{children:a(`memoryDebugPanel.metric.maxValue`,{value:e.max})}),(0,$.jsx)(`span`,{children:a(`memoryDebugPanel.metric.totalValue`,{value:e.total})})]})]},e.metric))})})]}),t[0]=i,t[1]=r.durationMs,t[2]=r.entries,t[3]=r.lastUpdatedAt,t[4]=r.startedAt,t[5]=a,t[6]=n,t[7]=o}else o=t[7];return o},wx=e=>{let t=(0,Vc.c)(104),{onClose:n}=e,{t:r}=Je(),[i,a]=Q.useState(`memory`),[o,s]=Q.useState(`idle`),c=Rt(Ex),l=An(Dx),u=rn(),d=Jt(),[f,p]=Q.useState(Ox),m,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>Ft(()=>{p(nn())}),h=[],t[0]=m,t[1]=h):(m=t[0],h=t[1]),Q.useEffect(m,h);let g;if(t[2]!==d||t[3]!==u){bb0:{let e=dn(),t={};if(!e){g=t;break bb0}let n=e.getCacheBudget?.(),r=n?n.listCanonical().map(kx):u.map(e=>({directory:d,sessionID:e.id}));for(let n of r){if(d&&n.directory!==d)continue;let r=e.getTranscript(jn(n.directory,n.sessionID));t[n.sessionID]=r.messageOrder.map(e=>r.messagesByID[e]).filter(Ax)}g=t}t[2]=d,t[3]=u,t[4]=g}else g=t[4];let _=g,v=$_(jx),[y,b]=Q.useState(Mx),[x,S]=Q.useState(Nx),C;t[5]===y.entries?C=t[6]:(C=new Map,y.entries.forEach(e=>{C.set(e.metric,e.count)}),t[5]=y.entries,t[6]=C);let w;t[7]===C?w=t[8]:(w=C.get(`ui.message_list.render`)??0,t[7]=C,t[8]=w);let T;t[9]===C?T=t[10]:(T=C.get(`ui.message_list.render.streaming`)??0,t[9]=C,t[10]=T);let E;t[11]===C?E=t[12]:(E=C.get(`ui.chat_message.render`)??0,t[11]=C,t[12]=E);let D;t[13]===C?D=t[14]:(D=C.get(`ui.chat_message.render.streaming`)??0,t[13]=C,t[14]=D);let O;t[15]===C?O=t[16]:(O=C.get(`ui.chat_message.render.static_during_stream`)??0,t[15]=C,t[16]=O);let k;t[17]===C?k=t[18]:(k=C.get(`ui.chat_message.render.static_outside_active_turn_during_stream`)??0,t[17]=C,t[18]=k);let A;t[19]!==w||t[20]!==T||t[21]!==E||t[22]!==D||t[23]!==O||t[24]!==k?(A={messageListRender:w,messageListRenderStreaming:T,chatMessageRender:E,chatMessageRenderStreaming:D,chatMessageRenderStaticDuringStream:O,chatMessageRenderStaticOutsideActiveTurnDuringStream:k},t[19]=w,t[20]=T,t[21]=E,t[22]=D,t[23]=O,t[24]=k,t[25]=A):A=t[25];let j=A,M,N;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{let e=()=>{b(ke()),S(Oe())};e();let t=window.setInterval(e,500);return()=>window.clearInterval(t)},N=[],t[26]=M,t[27]=N):(M=t[26],N=t[27]),Q.useEffect(M,N);let P,F;t[28]===o?(P=t[29],F=t[30]):(P=()=>{if(o===`idle`)return;let e=window.setTimeout(()=>{s(`idle`)},1500);return()=>window.clearTimeout(e)},F=[o],t[28]=o,t[29]=P,t[30]=F),Q.useEffect(P,F);let I=0,ee=0,L=0;for(let e of Object.keys(_)){let t=_[e]??[];ee+=t.length;for(let e of t)e.role===`user`?L+=1:e.role===`assistant`&&(I+=1)}let R;t[31]!==I||t[32]!==ee||t[33]!==L?(R={assistant:I,total:ee,user:L},t[31]=I,t[32]=ee,t[33]=L,t[34]=R):R=t[34];let z=R,B;if(t[35]!==c||t[36]!==_||t[37]!==l||t[38]!==u||t[39]!==r){let e;t[41]!==c||t[42]!==_||t[43]!==l||t[44]!==r?(e=e=>{let t=_[e.id]??[],n=0,i=0;for(let e of t)e.role===`user`?i+=1:e.role===`assistant`&&(n+=1);let a=l.get(e.id);return{id:e.id,title:e.title||r(`memoryDebugPanel.common.untitled`),assistantMessageCount:n,messageCount:t.length,userMessageCount:i,isStreaming:a?.isStreaming||!1,isZombie:a?.isZombie||!1,backgroundCount:a?.backgroundMessageCount||0,lastAccessed:a?.lastAccessedAt||0,isCurrent:e.id===c}},t[41]=c,t[42]=_,t[43]=l,t[44]=r,t[45]=e):e=t[45],B=u.map(e).sort(Px),t[35]=c,t[36]=_,t[37]=l,t[38]=u,t[39]=r,t[40]=B}else B=t[40];let V=B,H;t[46]===_?H=t[47]:(H=Object.keys(_),t[46]=_,t[47]=H);let U=H.length,te;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(te=async()=>{try{let e={generatedAt:new Date().toISOString(),ui:ke(),vscode:Oe()};await navigator.clipboard.writeText(JSON.stringify(e,null,2)),s(`copied`)}catch{s(`error`)}},t[48]=te):te=t[48];let ne=te,W;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(W={backgroundColor:`color-mix(in srgb, var(--surface-background) 94%, transparent)`},t[49]=W):W=t[49];let re;t[50]===i?re=t[51]:(re=i===`memory`?(0,$.jsx)(X,{name:`database-2`,className:`h-4 w-4 text-[var(--surface-foreground)]`}):(0,$.jsx)(X,{name:`bar-chart-box`,className:`h-4 w-4 text-[var(--surface-foreground)]`}),t[50]=i,t[51]=re);let G;t[52]===r?G=t[53]:(G=r(`memoryDebugPanel.title`),t[52]=r,t[53]=G);let ie;t[54]===G?ie=t[55]:(ie=(0,$.jsx)(`h3`,{className:`typography-ui-label font-semibold text-[var(--surface-foreground)]`,children:G}),t[54]=G,t[55]=ie);let ae;t[56]!==re||t[57]!==ie?(ae=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[re,ie]}),t[56]=re,t[57]=ie,t[58]=ae):ae=t[58];let oe;t[59]===i?oe=t[60]:(oe=i===`streaming`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{size:`xs`,variant:`ghost`,onClick:ne,children:(0,$.jsx)(X,{name:`file-copy`,className:`h-3.5 w-3.5`})}),(0,$.jsx)(Z,{size:`xs`,variant:`ghost`,onClick:()=>{Ce(),b(ke()),S(Oe())},children:(0,$.jsx)(X,{name:`refresh`,className:`h-3.5 w-3.5`})})]}):null,t[59]=i,t[60]=oe);let se;t[61]===n?se=t[62]:(se=n?(0,$.jsx)(Z,{size:`icon`,variant:`ghost`,className:`h-6 w-6`,onClick:n,children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`})}):null,t[61]=n,t[62]=se);let ce;t[63]!==oe||t[64]!==se?(ce=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[oe,se]}),t[63]=oe,t[64]=se,t[65]=ce):ce=t[65];let le;t[66]!==ae||t[67]!==ce?(le=(0,$.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-2`,children:[ae,ce]}),t[66]=ae,t[67]=ce,t[68]=le):le=t[68];let ue;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(ue={backgroundColor:`color-mix(in srgb, var(--surface-muted) 55%, transparent)`},t[69]=ue):ue=t[69];let de=i===`memory`?`secondary`:`ghost`,fe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(fe=()=>a(`memory`),t[70]=fe):fe=t[70];let pe;t[71]===r?pe=t[72]:(pe=r(`memoryDebugPanel.tabs.memory`),t[71]=r,t[72]=pe);let me;t[73]!==de||t[74]!==pe?(me=(0,$.jsx)(Z,{size:`sm`,variant:de,className:`flex-1`,onClick:fe,children:pe}),t[73]=de,t[74]=pe,t[75]=me):me=t[75];let he=i===`streaming`?`secondary`:`ghost`,ge;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(ge=()=>a(`streaming`),t[76]=ge):ge=t[76];let _e;t[77]===r?_e=t[78]:(_e=r(`memoryDebugPanel.tabs.streaming`),t[77]=r,t[78]=_e);let ve;t[79]!==he||t[80]!==_e?(ve=(0,$.jsx)(Z,{size:`sm`,variant:he,className:`flex-1`,onClick:ge,children:_e}),t[79]=he,t[80]=_e,t[81]=ve):ve=t[81];let ye;t[82]!==me||t[83]!==ve?(ye=(0,$.jsxs)(`div`,{className:`mb-3 flex gap-1 rounded-md p-1`,style:ue,children:[me,ve]}),t[82]=me,t[83]=ve,t[84]=ye):ye=t[84];let be;t[85]!==i||t[86]!==U||t[87]!==o||t[88]!==c||t[89]!==_||t[90]!==z||t[91]!==l||t[92]!==V||t[93]!==u||t[94]!==j||t[95]!==y||t[96]!==r||t[97]!==v||t[98]!==x?(be=i===`memory`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 typography-meta`,children:[(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.totalMessages`),value:z.total}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.cachedSessions`),value:`${U} / ${yr.MAX_SESSIONS}`}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.userMessages`),value:z.user}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.assistantMessages`),value:z.assistant})]}),(0,$.jsxs)(`div`,{className:`typography-meta space-y-1 border-t border-[var(--interactive-border)] pt-2`,children:[(0,$.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-[var(--surface-muted-foreground)]`,children:r(`memoryDebugPanel.metric.viewportWindow`)}),(0,$.jsx)(`span`,{className:`text-[var(--surface-foreground)]`,children:r(`memoryDebugPanel.metric.messagesValue`,{count:Xr()})})]}),(0,$.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-[var(--surface-muted-foreground)]`,children:r(`memoryDebugPanel.metric.zombieTimeout`)}),(0,$.jsx)(`span`,{className:`text-[var(--surface-foreground)]`,children:r(`memoryDebugPanel.metric.minutesValue`,{count:yr.ZOMBIE_TIMEOUT/1e3/60})})]}),(0,$.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-[var(--surface-muted-foreground)]`,children:r(`memoryDebugPanel.metric.githubTotalRequests`)}),(0,$.jsx)(`span`,{className:`text-[var(--surface-foreground)]`,children:v})]})]}),(0,$.jsxs)(`div`,{className:`border-t border-[var(--interactive-border)] pt-2`,children:[(0,$.jsx)(`div`,{className:`mb-1 typography-meta font-semibold text-[var(--surface-foreground)]`,children:r(`memoryDebugPanel.section.sessionsInMemory`)}),(0,$.jsx)(co,{outerClassName:`max-h-48`,className:`space-y-1 pr-1`,children:V.map(e=>(0,$.jsxs)(`div`,{className:`typography-meta flex items-center justify-between rounded p-1.5`,style:{backgroundColor:e.isCurrent?`color-mix(in srgb, var(--interactive-selection) 22%, transparent)`:`color-mix(in srgb, var(--surface-muted) 35%, transparent)`},children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate text-[var(--surface-foreground)]`,children:e.title}),e.isStreaming?(0,$.jsx)(X,{name:`pulse`,className:`h-3 w-3 animate-pulse text-[var(--status-info)]`}):null,e.isZombie?(0,$.jsx)(`span`,{className:`text-[var(--status-warning)]`,children:`!`}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-[var(--surface-muted-foreground)]`,children:r(`memoryDebugPanel.metric.roleMsgsValue`,{assistant:e.assistantMessageCount,user:e.userMessageCount})}),(0,$.jsx)(`span`,{className:`font-mono text-[var(--surface-foreground)]`,children:r(`memoryDebugPanel.metric.msgsValue`,{count:e.messageCount})}),e.backgroundCount>0?(0,$.jsxs)(`span`,{className:`text-[var(--status-info)]`,children:[`+`,e.backgroundCount]}):null]})]},e.id))})]}),(0,$.jsx)(`div`,{className:`flex gap-2 border-t border-[var(--interactive-border)] pt-2`,children:(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(Z,{size:`sm`,variant:`outline`,className:`typography-meta`,onClick:()=>{u.map(Fx),Object.keys(_),V.map(Ix),Object.fromEntries(l)},children:r(`memoryDebugPanel.actions.logState`)})}),(0,$.jsx)(ia,{side:`top`,children:r(`memoryDebugPanel.tooltip.logCurrentState`)})]})})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 rounded-md border border-[var(--interactive-border)] px-3 py-2 typography-meta text-[var(--surface-muted-foreground)]`,children:[(0,$.jsx)(`span`,{children:r(o===`copied`?`memoryDebugPanel.streaming.copy.copied`:o===`error`?`memoryDebugPanel.streaming.copy.failed`:`memoryDebugPanel.streaming.copy.hint`)}),(0,$.jsx)(Z,{size:`xs`,variant:`outline`,onClick:ne,children:r(`memoryDebugPanel.actions.copyJson`)})]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.uiMetrics`),value:y.entries.length}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.vscodeMetrics`),value:x.entries.length}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.messageListRenders`),value:j.messageListRender}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.messageListStreamRenders`),value:j.messageListRenderStreaming}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.chatMessageRenders`),value:j.chatMessageRender}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.chatMessageStreamRenders`),value:j.chatMessageRenderStreaming}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.chatMessageStaticDuringStream`),value:j.chatMessageRenderStaticDuringStream}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.chatMessageStaticOutsideActiveTurn`),value:j.chatMessageRenderStaticOutsideActiveTurnDuringStream})]}),(0,$.jsx)(Cx,{title:r(`memoryDebugPanel.section.uiStreamingMetrics`),snapshot:y,emptyLabel:r(`memoryDebugPanel.section.noUiSamples`)}),x.entries.length>0?(0,$.jsx)(Cx,{title:r(`memoryDebugPanel.section.vscodeBridgeMetrics`),snapshot:x,emptyLabel:r(`memoryDebugPanel.section.noVscodeSamples`)}):null]}),t[85]=i,t[86]=U,t[87]=o,t[88]=c,t[89]=_,t[90]=z,t[91]=l,t[92]=V,t[93]=u,t[94]=j,t[95]=y,t[96]=r,t[97]=v,t[98]=x,t[99]=be):be=t[99];let xe;return t[100]!==le||t[101]!==ye||t[102]!==be?(xe=(0,$.jsxs)(ja,{className:`fixed bottom-4 right-4 z-50 w-[28rem] p-4 shadow-none bottom-safe-area`,style:W,children:[le,ye,be]}),t[100]=le,t[101]=ye,t[102]=be,t[103]=xe):xe=t[103],xe};function Tx(e,t){return e+t.count}function Ex(e){return e.currentSessionId}function Dx(e){return e.sessionMemoryState}function Ox(){return nn()}function kx(e){return e.scope}function Ax(e){return!!e}function jx(e){return e.totalRequestCount}function Mx(){return ke()}function Nx(){return Oe()}function Px(e,t){return t.lastAccessed-e.lastAccessed}function Fx(e){return{id:e.id,title:e.title}}function Ix(e){return{id:e.id,title:e.title,total:e.messageCount,user:e.userMessageCount,assistant:e.assistantMessageCount}}var Lx=()=>{let{isMobile:e,closeActiveContextPanelTab:t}=K.getState();if(e)return;let n=No();n&&t(n)||y()&&w(`desktop_close_current_window`).catch(e=>{console.warn(`[menu-actions] failed to close current window`,e)})},Rx=()=>{if(typeof document>`u`)return``;let e=document.activeElement;if(e instanceof HTMLTextAreaElement)return e.value.slice(e.selectionStart??0,e.selectionEnd??0);if(e instanceof HTMLInputElement){let t=e.type?.toLowerCase()??`text`;if([`text`,`search`,`url`,`tel`,`password`].includes(t))return e.value.slice(e.selectionStart??0,e.selectionEnd??0)}return e instanceof HTMLElement&&e.isContentEditable?e.ownerDocument.defaultView?.getSelection?.()?.toString()??``:``},zx=async()=>{let e=Rx()||window.getSelection()?.toString()||``;if(!e.trim())return!1;try{if(typeof navigator<`u`&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}return document.execCommand(`copy`)},Bx=`openchamber:menu-action`,Vx=`openchamber:check-for-updates`,Hx=e=>typeof e?.listen==`function`?`bridge`:`dom`,Ux=e=>{let t=Rt(e=>e.openNewSessionDraft),n=K(e=>e.toggleCommandPalette),r=K(e=>e.setCommandPaletteOpen),i=K(e=>e.toggleHelpDialog),a=K(e=>e.toggleSidebar),o=K(e=>e.setSessionSwitcherOpen),s=K(e=>e.setActiveMainTab),c=K(e=>e.setSettingsDialogOpen),l=K(e=>e.setSettingsPage),u=K(e=>e.setAboutDialogOpen),d=K(e=>e.toggleRightSidebar),f=K(e=>e.setRightSidebarOpen),p=K(e=>e.setRightSidebarTab),m=K(e=>e.toggleBottomTerminal),h=K(e=>e.setBottomTerminalExpanded),g=Jo(e=>e.checkForUpdates),{setThemeMode:_}=Fa(),{t:v}=Je(),y=Q.useRef(!1),b=typeof window>`u`?null:window.__OPENCHAMBER_DESKTOP__,x=Hx(b),S=Q.useCallback(()=>{y.current||(y.current=!0,g().then(()=>{let{available:e,error:t}=Jo.getState();if(t){J.error(v(`sessions.sidebar.updateCheck.errorTitle`),{description:t});return}e||J.success(v(`sessions.sidebar.updateCheck.latestVersion`))}).finally(()=>{y.current=!1}))},[g,v]),C=Q.useCallback(()=>{At.requestDirectoryDialog()},[]),w=Q.useCallback(e=>{fi(e,Rt.getState().currentSessionId,e=>{s(`chat`),o(!1),Rt.getState().setCurrentSession(e.sessionId,e.directory)})},[s,o]),T=Q.useCallback(e=>{let{activeProjectId:t,projects:n,setActiveProject:r}=qt.getState();if(n.length===0)return;let i=n.findIndex(e=>e.id===t),a=e>0?0:n.length-1;i>=0&&(a=(i+e+n.length)%n.length);let o=n[a];o&&r(o.id)},[]),E=Q.useCallback(g=>{switch(g){case`about`:u(!0);break;case`settings`:c(!0);break;case`switch-instance`:l(`remote-instances`),c(!0);break;case`command-palette`:n();break;case`quick-open`:r(!0);break;case`new-session`:s(`chat`),o(!1),t();break;case`new-worktree-session`:s(`chat`),o(!1),wi();break;case`change-workspace`:C();break;case`close-tab-or-window`:Lx();break;case`toggle-right-sidebar`:d();break;case`open-right-sidebar-git`:f(!0),p(`git`);break;case`open-right-sidebar-files`:f(!0),p(`files`);break;case`toggle-terminal`:m();break;case`toggle-terminal-expanded`:h(!K.getState().isBottomTerminalExpanded);break;case`copy`:{let e=new Event(`openchamber:copy`,{cancelable:!0});window.dispatchEvent(e)&&zx();break}case`theme-light`:_(`light`);break;case`theme-dark`:_(`dark`);break;case`theme-system`:_(`system`);break;case`toggle-sidebar`:a();break;case`toggle-memory-debug`:e?.();break;case`zoom-in`:Ti();break;case`zoom-out`:bi();break;case`zoom-reset`:ci();break;case`go-back`:xe.getState().goBack();break;case`go-forward`:xe.getState().goForward();break;case`previous-session`:w(-1);break;case`next-session`:w(1);break;case`previous-project`:T(-1);break;case`next-project`:T(1);break;case`help-dialog`:i();break;case`download-logs`:Ii().catch(()=>{J.error(`Failed to collect OpenCode status`)})}},[C,T,w,e,t,u,s,o,r,c,l,h,f,p,_,m,n,i,d,a]);Q.useEffect(()=>{if(x!==`dom`)return;let e=e=>{let t=e.detail;t&&E(t)},t=()=>{S()};return window.addEventListener(Bx,e),window.addEventListener(Vx,t),()=>{window.removeEventListener(Bx,e),window.removeEventListener(Vx,t)}},[E,S,x]),Q.useEffect(()=>{if(x!==`bridge`)return;let e=b?.listen;if(typeof e!=`function`)return;let t=null,n=null;return e(`openchamber:menu-action`,e=>{let t=e?.payload;typeof t==`string`&&E(t)}).then(e=>{t=e}).catch(()=>{}),e(`openchamber:check-for-updates`,S).then(e=>{n=e}).catch(()=>{}),()=>{(async()=>{try{let e=t?.();e instanceof Promise&&await e}catch{}try{let e=n?.();e instanceof Promise&&await e}catch{}})()}},[b,E,S,x])},Wx=(e,t)=>e<t?-1:+(e>t),Gx=e=>JSON.stringify([...e.entries()].map(([e,t])=>[e,[...new Set(t)].sort(Wx)]).sort(([e],[t])=>Wx(e,t)));async function Kx({targets:e,isReady:t,fetchStatus:n,applySnapshot:r,concurrency:i=2,isDisposed:a=()=>!1}){if(!t()||a())return;let o=[...e.entries()],s=0,c=Math.min(Math.max(1,i),o.length),l=async()=>{for(;s<o.length&&t()&&!a();){let e=o[s];if(s+=1,!e)return;let[t,i]=e,c=await n(t);c===null||a()||r(t,c,i)}};await Promise.all(Array.from({length:c},()=>l()))}var qx=`openchamber:tray-action`,Jx=3e4,Yx=120,Xx=20,Zx=()=>{if(typeof window>`u`)return!1;let e=window.__OPENCHAMBER_PLATFORM__;return e===`darwin`||e===`win32`},Qx=e=>{let t=typeof e.permission==`string`?e.permission:`Permission`,n=Array.isArray(e.patterns)?e.patterns.find(e=>typeof e==`string`&&e.trim()):``;return n?`${t}: ${n}`:t},$x=e=>{let t=Array.isArray(e.questions)?e.questions[0]:void 0;return t?.header||t?.question||`Question`},eS=e=>Ot(e),tS=e=>{let t=e.replace(/\\/g,`/`).replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t},nS=(e,t,n,r)=>{if(!e)return``;let i=st(t,n,e),a=tS(i?i.path:e),o=pt(e),s=o&&r.get(o)||``;if(!s){for(let[e,t]of Wa.getState().directories)if(pt(e)===o){s=t.status?.current??``;break}}if(!s)for(let e of n.values()){let t=e.find(e=>pt(e.path)===o);if(t?.branch){s=t.branch;break}}return s?`${a} · ${s}`:a},rS=()=>{let{results:e,dropdownProviderIds:t,displayMode:n}=ms.getState(),r=n===`remaining`?`remaining`:`usage`;if(!t.length)return{mode:r,groups:[]};let i=new Map(e.map(e=>[e.providerId,e])),a=[];for(let e of Ko){if(!t.includes(e.id))continue;let n=i.get(e.id);if(!n||n.configured!==!0)continue;let o=[];for(let[e,t]of Object.entries(n.usage?.windows??{})){let n=r===`remaining`?t.remainingPercent:t.usedPercent;o.push({label:Ma(e),value:Ca(t.valueLabel,n)})}let s=!n.ok&&n.error?n.error:o.length===0?`No rate limits reported`:null;a.push({provider:e.name,rows:o,status:s})}return{mode:r,groups:a}},iS=async()=>{try{if(T())return`Local OpenChamber`;let e=window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,t=d();if(t&&ne(t,e))return`Local OpenChamber`;let n=(await ie()).hosts.find(e=>t?ne(t,re(e)):!1);return n?.label?.trim()?W(n.label.trim()):`Instance`}catch{return``}},aS=()=>{let e=new Map,t=new Map,n=[],r=new Map,i;try{i=bn()}catch{return{statusById:e,branchByDirectory:t,approvals:n,titleById:r}}for(let[a,o]of i.children.entries()){let i=o.getState();i.vcs?.branch&&t.set(pt(a)??a,i.vcs.branch);for(let e of i.session)e?.id&&r.set(e.id,e.title);for(let[t,n]of Object.entries(i.session_status??{})){let r=n?.type,i=r===`busy`?`busy`:r===`retry`?`retry`:`idle`,a=e.get(t);(!a||a===`idle`)&&e.set(t,i)}for(let[e,t]of Object.entries(i.permission??{}))for(let r of t??[]){if(!r?.id)continue;let t=r.sessionID||e;n.push({kind:`permission`,id:r.id,sessionId:t,sessionTitle:``,label:Qx(r),directory:a})}for(let[e,t]of Object.entries(i.question??{}))for(let r of t??[]){if(!r?.id)continue;let t=r.sessionID||e;n.push({kind:`question`,id:r.id,sessionId:t,sessionTitle:``,label:$x(r),directory:a})}}return{statusById:e,branchByDirectory:t,approvals:n,titleById:r}},oS=()=>{let e=Ut.getState().activeSessions,t=new Set;e.filter(e=>e?.id&&!e.parentID).slice().sort((e,t)=>eS(t)-eS(e)).slice(0,Xx).forEach(e=>{let n=Bt(e);n&&t.add(n)});let n=new Map;for(let r of e){if(!r?.id)continue;let e=Bt(r);if(!e||!t.has(e))continue;let i=n.get(e)??[];i.push(r.id),n.set(e,i)}return n},sS=e=>{let t=aS(),n=et.getState().index.session,r=Ut.getState().activeSessions,i=new Map(t.titleById),a=new Map;for(let e of r)if(e?.id&&(e.title&&i.set(e.id,e.title),e.parentID)){let t=a.get(e.parentID)??[];t.push(e.id),a.set(e.parentID,t)}let o=e=>{let t=[],n=[...a.get(e)??[]],r=new Set;for(;n.length;){let e=n.pop();r.has(e)||(r.add(e),t.push(e),n.push(...a.get(e)??[]))}return t},s=It.getState().statusById,c=e=>{let n=t.statusById.get(e);return n&&n!==`idle`?n:s.get(e)?.status??n??`idle`},l=e=>{let t=e.map(e=>c(e));return t.includes(`busy`)?`busy`:t.includes(`retry`)?`retry`:`idle`},u=qt.getState().projects,d=Rt.getState().availableWorktreesByProject,f=r.filter(e=>e?.id&&!e.parentID).slice().sort((e,t)=>eS(t)-eS(e)).slice(0,Xx).map(e=>{let r=[e.id,...o(e.id)],i=Bt(e)??``;return{id:e.id,title:e.title||`Untitled session`,status:l(r),branch:i?t.branchByDirectory.get(i)??``:``,unseen:n.unseenCount[e.id]??0,hasError:n.unseenHasError[e.id]??!1,directory:i,subtitle:nS(i,u,d,t.branchByDirectory)}}),p=t.approvals.map(e=>({...e,sessionTitle:i.get(e.sessionId)||``})),m=K.getState(),h=0;if(m.dockBadgeEnabled)for(let e of r)!e?.id||e.parentID||(n.unseenCount[e.id]??0)>0&&(h+=1);return{sessions:f,approvals:p,instanceName:e,usage:rS(),dockBadgeCount:h}},cS=()=>{Q.useEffect(()=>{if(!Zx()||!y())return;let e=!1,t=``,n=null,r=``,i=()=>{if(e)return;let n=sS(r),i=JSON.stringify(n);i!==t&&(t=i,w(`desktop_tray_update`,n))};iS().then(t=>{e||(r=t,i())});let a=null,o=``,s=()=>{let e=vt.getState();return e.isConnected&&e.connectionPhase===`connected`},c=()=>{if(a)return a;let t=oS();return o=Gx(t),a=Kx({targets:t,isReady:s,concurrency:2,isDisposed:()=>e,fetchStatus:e=>Ee.getSessionStatusForDirectory(e).catch(()=>null),applySnapshot:(e,t,n)=>{Nn(e,t,[...n])}}).finally(()=>{a=null;let t=oS();!e&&s()&&Gx(t)!==o&&c()}),a},l=()=>{e||n!==null||(n=window.setTimeout(()=>{n=null,i()},Yx))},u=new Map,d=()=>{if(e)return;let t;try{t=bn()}catch{return}let n=new Set;for(let[e,r]of t.children.entries())n.add(e),u.has(e)||u.set(e,r.subscribe(()=>l()));for(let[e,t]of u)n.has(e)||(t(),u.delete(e))},f=null;try{f=bn().subscribeRegistry(()=>{d(),l()})}catch{}d();let p=et.subscribe(()=>l()),m=Ut.subscribe(()=>{l(),s()&&Gx(oS())!==o&&c()}),h=qt.subscribe(()=>l()),g=Rt.subscribe(()=>l()),_=Wa.subscribe(()=>l()),v=K.subscribe(()=>l()),b=It.subscribe(()=>l()),x=s(),S=vt.subscribe(()=>{let e=s();e&&!x&&c(),x=e});x&&c();let C=ms.subscribe(()=>l());ms.getState().loadSettings().then(()=>{if(e)return;let{dropdownProviderIds:t,results:n}=ms.getState();t.length>0&&t.some(e=>!n.some(t=>t.providerId===e))&&ms.getState().fetchAllQuotas()});let T=window.setInterval(()=>{let e=ms.getState();e.autoRefresh&&e.dropdownProviderIds.length>0&&e.fetchAllQuotas()},Math.max(3e4,ms.getState().refreshIntervalMs||6e4)),E=window.setInterval(()=>{d(),i()},Jx);return i(),()=>{e=!0,n!==null&&window.clearTimeout(n),window.clearInterval(E),window.clearInterval(T),p(),m(),h(),g(),_(),v(),b(),S(),C(),f?.();for(let e of u.values())e();u.clear()}},[]),Q.useEffect(()=>{if(!Zx()||typeof window>`u`)return;let e=window.__OPENCHAMBER_DESKTOP__?.listen;if(typeof e!=`function`)return;let t=e=>{e.type===`respond-permission`&&wt(e.sessionId,e.id,e.response).catch(()=>{J.error(`Failed to respond to permission request`)})},n=null;return e(qx,e=>{let n=e?.payload;!n||typeof n!=`object`||typeof n.type!=`string`||t(n)}).then(e=>{n=e}).catch(()=>{}),()=>{try{let e=n?.();e instanceof Promise&&e.catch(()=>{})}catch{}}},[])},lS=`/api/notifications/stream`,uS=()=>typeof document>`u`||document.visibilityState===`visible`&&document.hasFocus(),dS=e=>{if(!e||typeof e!=`object`)return null;let t=e,n=t.properties&&typeof t.properties==`object`?t.properties:null;return t.type!==`openchamber:notification`||!n?null:{title:typeof n.title==`string`?n.title:void 0,body:typeof n.body==`string`?n.body:void 0,tag:typeof n.tag==`string`?n.tag:void 0,requireHidden:n.requireHidden===!0||n.requireHidden!==!1&&void 0}},fS=e=>{let t=(0,Vc.c)(3),n=e?.enabled??!0,r,i;t[0]===n?(r=t[1],i=t[2]):(r=()=>{if(!n||S()||!ee()||typeof window>`u`||typeof EventSource>`u`)return;let e=new EventSource(s().sse(lS));return e.onmessage=pS,()=>{e.close()}},i=[n],t[0]=n,t[1]=r,t[2]=i),Q.useEffect(r,i)};function pS(e){let t;try{t=JSON.parse(e.data)}catch{return}let n=K.getState();if(!n.nativeNotificationsEnabled)return;let r=dS(t);r&&((r.requireHidden??n.notificationMode!==`always`)&&uS()||h()?.notifications?.notifyAgentCompletion(r))}var mS=`pwa-install-toast-shown`,hS=`pwa-install-toast-dismissed`,gS=()=>{let e=(0,Vc.c)(6),{browserTab:t}=ss(),{t:n}=Je(),r=Q.useRef(n),i,a;e[0]===n?(i=e[1],a=e[2]):(i=()=>{r.current=n},a=[n],e[0]=n,e[1]=i,e[2]=a),Q.useEffect(i,a);let o,s;e[3]===t?(o=e[4],s=e[5]):(o=()=>{if(typeof window>`u`||!ee()||!t)return;let e=null,n=null,i=()=>{n!==null&&(J.dismiss(n),n=null)},a=async()=>{if(!e)return;let t=e;e=null,i(),await t.prompt();let{outcome:n}=await t.userChoice;n===`accepted`&&J.success(r.current(`pwa.installPrompt.started`))},o=t=>{let o=t;if(typeof o.prompt!=`function`)return;o.preventDefault(),e=o;let s=Ae(),c=Me();Zs({dismissed:s.getItem(hS),sessionShown:c.getItem(mS),hasActiveToast:n!==null})&&(c.setItem(mS,`true`),n=J.info(r.current(`pwa.installPrompt.description`),{duration:1/0,action:{label:r.current(`pwa.installPrompt.action`),onClick:()=>{a()}},cancel:{label:r.current(`pwa.installPrompt.dismiss`),onClick:()=>{Ae().setItem(hS,`true`),i()}}}))},s=()=>{e=null,i(),J.success(r.current(`pwa.installPrompt.installed`))};return window.addEventListener(`beforeinstallprompt`,o),window.addEventListener(`appinstalled`,s),()=>{i(),window.removeEventListener(`beforeinstallprompt`,o),window.removeEventListener(`appinstalled`,s)}},s=[t],e[3]=t,e[4]=o,e[5]=s),Q.useEffect(o,s)},_S=()=>typeof window>`u`?``:window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,vS=()=>!p()||l()===`local`,yS=e=>({id:`local`,label:`Local`,url:e}),bS=async()=>{if(!p()||vS())return{ok:!0};let e=_S(),t=await G().catch(()=>``),n=await fa({host:yS(e),localApiOrigin:e,localClientToken:t});return n.ok?{ok:!0}:{ok:!1,reason:n.reason}},xS=100,SS=1e4,CS=null,wS=()=>{CS&&=(CS.unsubscribe?.(),CS.openTimer!==null&&clearTimeout(CS.openTimer),CS.timeoutTimer!==null&&clearTimeout(CS.timeoutTimer),null)};function TS(){wS()}var ES=(e,t)=>{K.getState().setActiveMainTab(`chat`),Rt.getState().setCurrentSession(e,t)};function DS(e){let t=typeof e?.sessionId==`string`?e.sessionId.trim():``;if(!t)return;let n=typeof e?.directory==`string`&&e.directory.trim().length>0?e.directory.trim():null;if(vS()){ES(t,n);return}wS(),bS().then(e=>{if(!e.ok){Mt(t,`missing-directory`);return}if(l()===`local`){ES(t,n);return}let r=!1,i=()=>{r||(r=!0,wS(),ES(t,n))},a=o(e=>{if(e.runtimeKey!==`local`)return;a(),CS&&(CS.unsubscribe=null);let t=setTimeout(()=>{CS&&(CS.openTimer=null),i()},xS);CS&&(CS.openTimer=t)});CS={unsubscribe:a,openTimer:null,timeoutTimer:setTimeout(()=>{r||(wS(),Mt(t,`missing-directory`))},SS)}})}var OS=({open:e,onOpenChange:t})=>{let{t:n}=Je(),[r,i]=Q.useState(null),[a,o]=Q.useState(null),[s,c]=Q.useState(!1),[l,u]=Q.useState(!1),[d,p]=Q.useState(null),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),[v,y]=Q.useState(()=>sn()),b=Ue(e=>{_n(e),y(e)}),x=Ue(async()=>{if(!g){_(!0);try{let{outcome:e,eventCount:t}=await xn();if(e===`cancelled`)return;if(e===`failed`){J.error(n(`settings.openchamber.about.diagnostics.toast.failed`));return}J.success(n(t>0?`settings.openchamber.about.diagnostics.toast.exported`:`settings.openchamber.about.diagnostics.toast.empty`))}catch{J.error(n(`settings.openchamber.about.diagnostics.toast.failed`))}finally{_(!1)}}});Q.useCallback(async()=>{},[d,s,!1,n]),Q.useEffect(()=>{e&&(async()=>{try{let e=await f(`/api/system/info`);if(e.ok){let t=await e.json();if(typeof t.openchamberVersion==`string`&&t.openchamberVersion.trim()){i(t.openchamberVersion);return}}}catch{}i(await Ke())})()},[e]),Q.useEffect(()=>{if(!e)return;let t=!1;return(async()=>{try{let e=await f(`/api/opencode/upgrade-status`,{headers:{Accept:`application/json`}});if(!e.ok)return;let n=await e.json().catch(()=>null),r=typeof n?.currentVersion==`string`?n.currentVersion.trim():``;!t&&r&&o(r)}catch{}})(),()=>{t=!0}},[e]),Q.useEffect(()=>{p(null),h(!1)},[e,!1]);let S=r;return(0,$.jsx)(Hn,{open:e,onOpenChange:t,children:(0,$.jsx)(zn,{className:`max-w-xs p-6`,children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center text-center space-y-4`,children:[(0,$.jsx)(Ea,{width:64,height:64}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold`,children:`OpenChamber`}),(0,$.jsxs)(`div`,{className:`space-y-0.5 typography-meta text-muted-foreground`,children:[S&&(0,$.jsx)(`p`,{children:n(`aboutDialog.openChamberVersionLabel`,{version:S})}),a&&(0,$.jsx)(`p`,{children:n(`aboutDialog.openCodeVersionLabel`,{version:a})})]})]}),(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-stretch gap-3 pt-2`,children:[(0,$.jsx)(ts,{itemId:`about.diagnostics`,checked:v,onChange:b,label:n(`settings.openchamber.about.diagnostics.label`),ariaLabel:n(`settings.openchamber.about.diagnostics.label`)}),v&&(0,$.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,disabled:g,onClick:()=>void x(),children:n(g?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})]}),!1,(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 pt-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-4`,children:[(0,$.jsxs)(`a`,{href:`https://github.com/yee94/openchamber`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 typography-meta text-muted-foreground hover:text-foreground transition-colors`,children:[(0,$.jsx)(X,{name:`github-fill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`GitHub`})]}),(0,$.jsxs)(`a`,{href:`https://discord.gg/ZYRSdnwwKA`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 typography-meta text-muted-foreground hover:text-foreground transition-colors`,children:[(0,$.jsx)(X,{name:`discord-fill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`Discord`})]})]}),(0,$.jsxs)(`a`,{href:`https://x.com/openchamber_dev`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 typography-meta text-muted-foreground hover:text-foreground transition-colors`,children:[(0,$.jsx)(X,{name:`twitter-xfill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`@openchamber_dev`})]})]}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground/60 pt-2`,children:n(`aboutDialog.footerNote`)})]})})})},kS=(e,t)=>{let n=e.get(t);return typeof n==`string`&&n.trim()||null},AS=(e,t)=>{let n=e instanceof Error?e.message:t;return/oauth state required/i.test(n)?`Authorization session expired or was cleared during reload. Return to OpenChamber and click Authorize again.`:n},jS=()=>{let e=rs(e=>e.completeAuth),[t,n]=Q.useState(`working`),[r,i]=Q.useState(`Completing MCP authorization...`);return Q.useEffect(()=>{if(typeof window>`u`){n(`error`),i(`Browser context unavailable.`);return}let t=new URLSearchParams(window.location.search),r=kS(t,`code`),a=Zo(t),o=Qo(t),s=kS(t,`error`),c=kS(t,`error_description`);if(s){o&&f(`/api/mcp/auth/pending?state=${encodeURIComponent(o)}`,{method:`DELETE`}).catch(()=>void 0),n(`error`),i(c??s);return}(async()=>{try{if(!r)throw Error(`Missing OAuth authorization code. Start authorization again from MCP Settings or paste the returned code into OpenChamber manually.`);let t=a;if(!t&&o){let e=await f(`/api/mcp/auth/pending?state=${encodeURIComponent(o)}`);if(e.ok){let n=await e.json().catch(()=>null);n?.name?.trim()&&(t={name:n.name.trim(),directory:typeof n.directory==`string`&&n.directory.trim()?n.directory.trim():null})}}if(!t?.name)throw Error(`Authorization session details were not available. Start authorization again from MCP Settings or paste the returned code into OpenChamber manually.`);await e(t.name,r,t.directory),o&&await f(`/api/mcp/auth/pending?state=${encodeURIComponent(o)}`,{method:`DELETE`}).catch(()=>void 0),n(`success`),i(`Authorization completed. You can close this tab and return to OpenChamber.`)}catch(e){o&&await f(`/api/mcp/auth/pending?state=${encodeURIComponent(o)}`,{method:`DELETE`}).catch(()=>void 0),n(`error`),i(AS(e,`Failed to complete MCP authorization.`))}})()},[e]),(0,$.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-background px-6 py-12 text-foreground`,children:(0,$.jsxs)(`div`,{className:`w-full max-w-xl rounded-xl border border-[var(--interactive-border)] bg-[var(--surface-elevated)] p-8 shadow-sm dark:shadow-none`,children:[(0,$.jsxs)(`div`,{className:`space-y-3 text-center`,children:[(0,$.jsx)(`div`,{className:t===`error`?`text-[var(--status-error)]`:t===`success`?`text-[var(--status-success)]`:`text-[var(--status-info)]`,children:(0,$.jsx)(`h1`,{className:`typography-hero font-semibold`,children:t===`working`?`Completing Authorization`:t===`success`?`Authorization Complete`:`Authorization Failed`})}),(0,$.jsx)(`p`,{className:`typography-body text-muted-foreground`,children:r})]}),t!==`working`&&(0,$.jsx)(`div`,{className:`mt-8 flex justify-center`,children:(0,$.jsx)(Z,{type:`button`,onClick:()=>{typeof window>`u`||window.location.replace(`/`)},children:`Return to OpenChamber`})})]})})},MS=()=>{let e=(0,Vc.c)(16),t=Ut(NS),n=Ut(PS),r=Ut(FS),i=Ut(IS),{t:a}=Je(),o;e[0]!==r||e[1]!==i?(o=i>0?Math.round(r/i*100):0,e[0]=r,e[1]=i,e[2]=o):o=e[2];let s=o,c;e[3]!==r||e[4]!==n||e[5]!==a||e[6]!==i?(c=n===`restoring`?a(`common.loading`):a(`sessions.startupSync.progress`,{completed:r,total:i}),e[3]=r,e[4]=n,e[5]=a,e[6]=i,e[7]=c):c=e[7];let l=c,u,d;return e[8]!==t||e[9]!==r||e[10]!==s||e[11]!==l||e[12]!==a||e[13]!==i?(u=()=>{let e=document.getElementById(`startup-session-progress`),n=document.getElementById(`startup-session-progress-track`),o=document.getElementById(`startup-session-progress-fill`),c=document.getElementById(`startup-session-progress-text`);!e||!n||!o||!c||(e.hidden=!t,t&&(o.style.width=`${s}%`,n.setAttribute(`aria-label`,a(`sessions.startupSync.title`)),n.setAttribute(`aria-valuemax`,String(Math.max(i,1))),n.setAttribute(`aria-valuenow`,String(r)),n.setAttribute(`aria-valuetext`,l),c.textContent=l))},d=[t,r,s,l,a,i],e[8]=t,e[9]=r,e[10]=s,e[11]=l,e[12]=a,e[13]=i,e[14]=u,e[15]=d):(u=e[14],d=e[15]),Q.useLayoutEffect(u,d),null};function NS(e){return e.startupSyncProgress.active}function PS(e){return e.startupSyncProgress.phase}function FS(e){return e.startupSyncProgress.completed}function IS(e){return e.startupSyncProgress.total}var LS=(e,t,n,r=350)=>n?Math.max(0,r-Math.max(0,t-e)):null;function RS(e){let t=(0,Vc.c)(21),{transition:n,ready:r}=e,{t:i}=Je(),a=ha(),[o,s]=Q.useState(0),c=n.epoch>o,l=a||c,u,d;if(t[0]!==c||t[1]!==a||t[2]!==r||t[3]!==n.epoch||t[4]!==n.startedAt?(u=()=>{if(!c||a)return;let e=LS(n.startedAt,Date.now(),r);if(e===null)return;let t=window.setTimeout(()=>{s(e=>Math.max(e,n.epoch))},e);return()=>window.clearTimeout(t)},d=[c,a,r,n.epoch,n.startedAt],t[0]=c,t[1]=a,t[2]=r,t[3]=n.epoch,t[4]=n.startedAt,t[5]=u,t[6]=d):(u=t[5],d=t[6]),Q.useEffect(u,d),!l)return null;let f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 opacity-70`,"aria-hidden":`true`,children:[(0,$.jsx)(`div`,{className:`absolute left-1/2 top-1/2 size-[28rem] -translate-x-1/2 -translate-y-1/2 rounded-full border border-[var(--interactive-border)]/40`}),(0,$.jsx)(`div`,{className:`absolute left-1/2 top-1/2 size-72 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[var(--interactive-selection)]/10 blur-3xl`})]}),t[7]=f):f=t[7];let p;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`div`,{className:`mb-7 flex size-28 items-center justify-center rounded-[2rem] border border-[var(--interactive-border)]/60 bg-[var(--surface-elevated)]/75 shadow-2xl shadow-background/40`,children:(0,$.jsx)(Ea,{width:76,height:76,isAnimated:!0})}),t[8]=p):p=t[8];let m;t[9]===i?m=t[10]:(m=i(`desktopHostSwitcher.transition.title`),t[9]=i,t[10]=m);let h;t[11]===m?h=t[12]:(h=(0,$.jsx)(`h1`,{className:`typography-title text-foreground`,children:m}),t[11]=m,t[12]=h);let g;t[13]===i?g=t[14]:(g=i(`desktopHostSwitcher.transition.description`),t[13]=i,t[14]=g);let _;t[15]===g?_=t[16]:(_=(0,$.jsx)(`p`,{className:`mt-2 typography-body text-muted-foreground`,children:g}),t[15]=g,t[16]=_);let v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`div`,{className:`mt-7 h-1 w-28 overflow-hidden rounded-full bg-[var(--surface-muted)]`,"aria-hidden":`true`,children:(0,$.jsx)(`div`,{className:`h-full w-1/2 animate-pulse rounded-full bg-[var(--status-info)] motion-reduce:animate-none`})}),t[17]=v):v=t[17];let y;return t[18]!==h||t[19]!==_?(y=(0,$.jsxs)(`div`,{className:`fixed inset-0 z-[9998] flex items-center justify-center overflow-hidden bg-background/95 px-6 backdrop-blur-xl`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:[f,(0,$.jsxs)(`div`,{className:`relative flex max-w-md animate-in flex-col items-center text-center fade-in zoom-in-95 duration-300 motion-reduce:animate-none`,children:[p,h,_,v]})]}),t[18]=h,t[19]=_,t[20]=y):y=t[20],y}var zS=ro(()=>Pe(()=>import(`./OnboardingScreen-Ql6mH4XV.js`).then(e=>({default:e.OnboardingScreen})),__vite__mapDeps([109,1,2,3,4,24,7,5,6,25,8,26,70,23,27,10,29,30,31,32,33,78]))),BS=36e5,VS=12e5,HS=()=>{let e=(0,Vc.c)(3),t=K(YS),n=K(XS),r;return e[0]!==t||e[1]!==n?(r=(0,$.jsx)(OS,{open:t,onOpenChange:n}),e[0]=t,e[1]=n,e[2]=r):r=e[2],r},US=e=>{let t=(0,Vc.c)(21),{onRetry:n,isRetrying:r}=e,{t:i}=Je(),a;t[0]===i?a=t[1]:(a=i(`startup.initRecovery.title`),t[0]=i,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,$.jsx)(`h1`,{className:`typography-title text-foreground`,children:a}),t[2]=a,t[3]=o);let s;t[4]===i?s=t[5]:(s=i(`startup.initRecovery.description`),t[4]=i,t[5]=s);let c;t[6]===s?c=t[7]:(c=(0,$.jsx)(`p`,{className:`typography-body text-muted-foreground`,children:s}),t[6]=s,t[7]=c);let l;t[8]!==o||t[9]!==c?(l=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[o,c]}),t[8]=o,t[9]=c,t[10]=l):l=t[10];let u;t[11]!==r||t[12]!==i?(u=i(r?`startup.initRecovery.retrying`:`startup.initRecovery.retry`),t[11]=r,t[12]=i,t[13]=u):u=t[13];let d;t[14]!==r||t[15]!==n||t[16]!==u?(d=(0,$.jsx)(Z,{type:`button`,onClick:n,disabled:r,children:u}),t[14]=r,t[15]=n,t[16]=u,t[17]=d):d=t[17];let f;return t[18]!==l||t[19]!==d?(f=(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center bg-background px-6 text-foreground`,children:(0,$.jsxs)(`div`,{className:`flex max-w-md flex-col items-center gap-4 text-center`,children:[l,d]})}),t[18]=l,t[19]=d,t[20]=f):f=t[20],f},WS=e=>e?e.replace(/\\/g,`/`).replace(/\/+$/g,``):``,GS=()=>{if(typeof window>`u`||!Dr())return null;let e=new URLSearchParams(window.location.search),t=e.get(`sessionId`),n=typeof t==`string`?t.trim():``;if(!n)return null;let r=e.get(`directory`);return{sessionId:n,directory:typeof r==`string`&&r.trim().length>0?r.trim():null,readOnly:e.get(`readOnly`)===`1`||e.get(`readOnly`)===`true`}},KS=()=>typeof window>`u`?!1:window.location.pathname===ls,qS=e=>{let t=(0,Vc.c)(22),{embeddedSessionChat:n,isVSCodeRuntime:r,embeddedBackgroundWorkEnabled:i}=e,a=xe(ZS),o=Rt(QS),s=Rt($S),c=qr(),l=Q.useRef(null),u;t[0]===n.directory?u=t[1]:(u=WS(n.directory),t[0]=n.directory,t[1]=u);let d=u,f;t[2]===a?f=t[3]:(f=WS(a),t[2]=a,t[3]=f);let p=f,m,h;if(t[4]!==p||t[5]!==o||t[6]!==n.directory||t[7]!==n.sessionId||t[8]!==d||t[9]!==r||t[10]!==s||t[11]!==c?(m=()=>{if(r||d&&p!==d)return;let e=`${d}\n${n.sessionId}`;l.current===e&&o||(l.current=e,s(n.sessionId,n.directory),c.ensureSessionRenderable(n.sessionId,!0))},h=[p,o,n.directory,n.sessionId,d,r,s,c],t[4]=p,t[5]=o,t[6]=n.directory,t[7]=n.sessionId,t[8]=d,t[9]=r,t[10]=s,t[11]=c,t[12]=m,t[13]=h):(m=t[12],h=t[13]),Q.useEffect(m,h),d&&p!==d)return null;let g;t[14]===i?g=t[15]:(g=(0,$.jsx)(mi,{embeddedBackgroundWorkEnabled:i}),t[14]=i,t[15]=g);let _;t[16]===n.readOnly?_=t[17]:(_=(0,$.jsx)(dc,{readOnly:n.readOnly}),t[16]=n.readOnly,t[17]=_);let v;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(xr,{}),t[18]=v):v=t[18];let y;return t[19]!==g||t[20]!==_?(y=(0,$.jsxs)($.Fragment,{children:[g,_,v]}),t[19]=g,t[20]=_,t[21]=y):y=t[21],y};function JS({apis:e}){Q.useEffect(()=>{De(`App:mounted`),we()},[]),Q.useEffect(()=>Lt(),[]);let t=vt(e=>e.initializeApp),n=vt(e=>e.isInitialized),r=vt(e=>e.isConnected),i=Rt(e=>e.error),a=Rt(e=>e.clearError),s=Rt(e=>e.currentSessionId),u=Rt(e=>!!e.newSessionDraft?.open),d=xe(e=>e.currentDirectory),f=xe(e=>e.setDirectory),p=xe(e=>e.isSwitchingDirectory),[m,h]=Q.useState(!1),g=fs(e=>e.refreshStatus),[y,b]=Q.useState(()=>e.runtime.isVSCode),[E,D]=Q.useState(!1),[A,j]=Q.useState(!1),[M,P]=Q.useState(0),[F,I]=Q.useState(0),[ee,L]=Q.useState({epoch:0,startedAt:0}),[R,z]=Q.useState(!1),B=Q.useRef(!1),V=K(e=>e.wideChatLayoutEnabled),H=K(e=>e.mobileKeyboardMode),U=Q.useMemo(()=>S(),[]),ne=Ut(e=>e.hasCachedSessionIndex),W=Ut(e=>e.hasHydratedSessionIndex),[re,G]=Q.useState(()=>v()),[ie,ae]=Q.useState(()=>{let e=_();return e===null?null:x({isDesktopShell:!0,bootOutcome:e})}),oe=Q.useRef(!1),se=Q.useMemo(()=>GS(),[]),ce=!se||E,le=Q.useMemo(()=>KS(),[]);Q.useEffect(()=>(Se(m),()=>{Se(!1)}),[m]),Q.useEffect(()=>{je(H)},[H]),Q.useEffect(()=>{b(e.runtime.isVSCode)},[e.runtime.isVSCode]),Q.useEffect(()=>{let e=Vi(e=>{c(e)&&(U&&L(e=>({epoch:e.epoch+1,startedAt:Date.now()})),nc(e),I(e=>e+1),j(!1),P(e=>e+1))}),t=o(t=>e.schedule(t));return()=>{t(),e.cancel()}},[U]);let ue=Pn(e=>{let t=l();return Object.values(e.runsByOriginalSessionID).filter(e=>e.status===`running`&&e.runtimeKey===t).map(e=>`${e.originalSessionID}:${e.phase}:${e.lastForwardedMessageID??``}:${e.expectedAssistantParentID??``}`).sort().join(`|`)});Q.useEffect(()=>{if(se)return;let e=!1;return ht().then(()=>{if(e)return;let t=l(),n=Object.values(Pn.getState().runsByOriginalSessionID).filter(e=>e.status===`running`&&e.runtimeKey===t);for(let e of n)ot(e.originalSessionID)}),()=>{e=!0}},[ue,se,F]),Q.useEffect(()=>(document.documentElement.classList.toggle(`wide-chat-layout`,V),()=>{document.documentElement.classList.remove(`wide-chat-layout`)}),[V]),Q.useEffect(()=>(te(e),()=>te(null)),[e]),Q.useEffect(()=>{if(se)return;let t=!1;return ht().then(()=>{t||g(e.github,{force:!0})}),()=>{t=!0}},[e.github,se,g]),ki();let de=re===`valid`,fe=ie?.screen===`main`;Q.useEffect(()=>{if(!ce||!C({isDesktopShell:U,isInitialized:U&&fe?ne||n&&W:n,bootOutcomeKnown:de,bootViewIsMain:fe}))return;let e,t=setTimeout(()=>{let t=document.getElementById(`initial-loading`);t&&(t.classList.add(`fade-out`),e=setTimeout(()=>{t.remove()},300))},150);return()=>{clearTimeout(t),e&&clearTimeout(e)}},[ce,U,n,de,fe,ne,W]),Q.useEffect(()=>{if(!U||re!==`malformed`)return;let e=document.getElementById(`initial-loading`);e&&(e.textContent=`Desktop startup failed — please restart the app.`)},[U,re]),Q.useEffect(()=>{if(!ce||U)return;let e,t=setTimeout(()=>{let t=document.getElementById(`initial-loading`);t&&!n&&(t.classList.add(`fade-out`),e=setTimeout(()=>{t.remove()},300))},5e3);return()=>{clearTimeout(t),e&&clearTimeout(e)}},[ce,U,n]),Q.useEffect(()=>{if(!ce||y)return;let e=!1;return ht().then(()=>{if(!e)return t()}),()=>{e=!0}},[ce,t,y]),Q.useEffect(()=>{if(!ce||y||n)return;let e=!0,t,r=0,i=1e3,a=async()=>{if(!e)return;if(r>=10){j(!0);return}let n=vt.getState();if(n.isInitialized){j(!1);return}if(r+=1,await ht(),!e)return;await n.initializeApp();let o=vt.getState();if(!e)return;if(o.isInitialized){j(!1);return}if(r>=10){j(!0);return}let s=Math.min(i*2**(r-1),16e3);t=setTimeout(a,s)};return t=setTimeout(a,i),()=>{e=!1,t&&clearTimeout(t)}},[ce,M,n,y]),Q.useEffect(()=>{ce&&n&&j(!1)},[ce,n]),Q.useEffect(()=>{if(!ce||!A)return;let e=document.getElementById(`initial-loading`);if(e){e.classList.add(`fade-out`);let t=setTimeout(()=>{e.remove()},300);return()=>clearTimeout(t)}},[ce,A]),Jr({enabled:ce&&!y,source:`startupRecovery`}),Q.useEffect(()=>{p||y||r&&Ee.setDirectory(d)},[d,p,r,y]),Q.useEffect(()=>{if(!se||typeof window>`u`)return;let e=e=>{let t=e?.visible===!0;D(t)},t=t=>{if(t.origin!==window.location.origin)return;let n=t.data;n?.type===`openchamber:embedded-visibility`&&e(n.payload)},n=window;return n.__openchamberSetEmbeddedVisibility=e,window.addEventListener(`message`,t),window.parent&&window.parent!==window&&window.parent.postMessage({type:Br},window.location.origin),()=>{window.removeEventListener(`message`,t),n.__openchamberSetEmbeddedVisibility===e&&delete n.__openchamberSetEmbeddedVisibility}},[se]),Q.useEffect(()=>{!se?.directory||y||d!==se.directory&&f(se.directory,{showOverlay:!1})},[d,se,y,f]),Q.useEffect(()=>{if(!se||typeof window>`u`)return;let e=e=>{e.storageArea===window.localStorage&&e.key===`ui-store`&&K.persist.rehydrate()};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}},[se]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=e=>{let t=e.detail;DS(t??{})},t=e=>{let t=e.detail?.assistantID;typeof t==`string`&&t.trim()&&In(t.trim())};return window.addEventListener(`openchamber:open-session`,e),window.addEventListener(`openchamber:open-assistant`,t),()=>{TS(),window.removeEventListener(`openchamber:open-session`,e),window.removeEventListener(`openchamber:open-assistant`,t)}},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=()=>{let e=xe.getState().currentDirectory,{activeProjectId:t,projects:n}=qt.getState(),r=n.find(e=>e.id===t)??null;w(`desktop_open_draft_mini_chat_window`,{directory:e||r?.path||``,projectId:r?.id??null})};return window.addEventListener(`openchamber:open-mini-chat`,e),()=>window.removeEventListener(`openchamber:open-mini-chat`,e)},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=()=>{let e=Rt.getState().currentSessionId;e&&Zt(e)};return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=e=>{let t=e.detail,n=typeof t?.directory==`string`&&t.directory.trim().length>0?t.directory.trim():null,r=typeof t?.projectId==`string`&&t.projectId.trim().length>0?t.projectId.trim():null,i=typeof t?.initialPrompt==`string`&&t.initialPrompt.trim().length>0?t.initialPrompt.trim():void 0;K.getState().setActiveMainTab(`chat`),K.getState().setSessionSwitcherOpen(!1),Rt.getState().openNewSessionDraft({selectedProjectId:r,directoryOverride:n,preserveDirectoryOverride:!!n,ensureProjectForDirectory:!!n,initialPrompt:i})};return window.addEventListener(`openchamber:open-draft-session`,e),()=>window.removeEventListener(`openchamber:open-draft-session`,e)},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=e=>{let t=e.detail,n=typeof t?.projectPath==`string`?t.projectPath.trim():``;if(!n)return;let r=qt.getState(),i=r.projects.find(e=>e.path===n);i?r.setActiveProject(i.id):r.addProject(n)};return window.addEventListener(`openchamber:open-project`,e),()=>window.removeEventListener(`openchamber:open-project`,e)},[]),Q.useEffect(()=>{typeof window>`u`||!ce||!n||p||oe.current||(oe.current=!0,window.__openchamberAppReady=!0,window.dispatchEvent(new Event(`openchamber:app-ready`)))},[ce,n,p]),br({enabled:ce}),fS({enabled:ce}),gS(),Kr(),pc(),Ux(Ue(()=>{h(e=>!e)})),Q.useEffect(()=>{if(!n||!O()||B.current)return;B.current=!0;let e=!1,t=null,r=null;Jo.getState().subscribeDesktopUpdateEvents().then(t=>{if(e){t();return}r=t});let i=()=>{let e=Jo.getState();e.checking||e.checkForUpdates()},a=n=>{t=window.setTimeout(()=>{e||(document.visibilityState===`visible`&&i(),a(BS))},n)},o=()=>{if(e||document.visibilityState!==`visible`)return;let t=Jo.getState().lastChecked;t!=null&&Date.now()-t<VS||i()};return a(0),window.addEventListener(`focus`,o),()=>{e=!0,t!==null&&window.clearTimeout(t),window.removeEventListener(`focus`,o),r&&r()}},[n]),cS(),Q.useEffect(()=>{if(se)return;let e=e=>{qn(e)&&e.shiftKey&&!e.altKey&&(e.code===`KeyD`||e.key.toLowerCase()===`d`)&&(e.preventDefault(),h(e=>!e))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[se]),Q.useEffect(()=>{se||i&&setTimeout(()=>a(),5e3)},[a,se,i]),Q.useEffect(()=>{if(!U||re!==`not-injected`)return;let e=!1,t=0,n=()=>{if(e)return;t++;let r=v();if(r!==`not-injected`){if(e=!0,G(r),r===`valid`){let e=_();e&&ae(x({isDesktopShell:!0,bootOutcome:e}))}return}let i=Math.min(200*1.1**t,2e3);if(t>=50){let e=document.getElementById(`initial-loading`);e&&!e.textContent?.includes(`taking longer`)&&(e.textContent=`Desktop startup is taking longer than expected...`)}window.setTimeout(n,i)};return window.setTimeout(n,200),()=>{e=!0}},[U,re]);let pe=Ue(async()=>{if(N({isDesktopShell:S(),isDesktopLocalOriginActive:T()})){await k();return}window.location.reload()}),me=Ue(async()=>{if(!R){j(!1),z(!0);try{await ht(),await vt.getState().initializeApp()}finally{z(!1)}vt.getState().isInitialized||P(e=>e+1)}}),he=e=>{if(e.screen===`recovery`)return e.variant};if(U&&ie&&ie.screen!==`main`){if(ie.screen===`chooser`)return(0,$.jsx)(wa,{children:(0,$.jsx)(`div`,{className:`h-full text-foreground bg-transparent`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(`div`,{className:`h-full`}),children:(0,$.jsx)(zS,{mode:`first-launch`,onCliAvailable:pe,onChooseRemote:()=>{}})})})});let e=he(ie),t=ie.screen===`recovery`&&`url`in ie?ie.url:void 0;return(0,$.jsx)(wa,{children:(0,$.jsx)(`div`,{className:`h-full text-foreground bg-transparent`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(`div`,{className:`h-full`}),children:(0,$.jsx)(zS,{mode:`recovery`,recoveryVariant:e,recoveryHostUrl:t,recoveryHostLabel:void 0,onCliAvailable:pe})})})})}if(se)return it(),(0,$.jsx)(wa,{children:(0,$.jsx)(mt,{sdk:Ee.getSdkClient(),directory:d||``,bootstrapDirectory:!(u&&s===null),children:(0,$.jsx)(Fi,{apis:e,children:(0,$.jsx)(aa,{delayDuration:300,skipDelayDuration:150,children:(0,$.jsx)(`div`,{className:`h-full text-foreground bg-background`,children:(0,$.jsx)(qS,{embeddedSessionChat:se,isVSCodeRuntime:y,embeddedBackgroundWorkEnabled:ce})})})})},F)});if(le)return(0,$.jsx)(wa,{children:(0,$.jsx)(jS,{})});if(A&&!n&&!y&&!se)return(0,$.jsx)(wa,{children:(0,$.jsx)(US,{onRetry:()=>{me()},isRetrying:R})});let ge=!n&&!U;return(0,$.jsx)(wa,{children:(0,$.jsx)(mt,{sdk:Ee.getSdkClient(),directory:d||``,bootstrapDirectory:!(u&&s===null),children:(0,$.jsx)(Fi,{apis:e,children:(0,$.jsx)(Mu,{children:(0,$.jsx)(aa,{delayDuration:300,skipDelayDuration:150,children:(0,$.jsxs)(`div`,{className:U?`h-full text-foreground bg-transparent`:`h-full text-foreground bg-background`,children:[(0,$.jsx)(mi,{embeddedBackgroundWorkEnabled:ce}),(0,$.jsx)(Vs,{}),(0,$.jsx)(lc,{}),(0,$.jsx)(bx,{}),U&&(0,$.jsx)(RS,{transition:ee,ready:n&&r}),(0,$.jsx)(MS,{}),(0,$.jsx)(xr,{}),!ge&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(rc,{}),(0,$.jsx)(HS,{}),m&&(0,$.jsx)(wx,{onClose:()=>h(!1)})]})]})})})})},F)})}function YS(e){return e.isAboutDialogOpen}function XS(e){return e.setAboutDialogOpen}function ZS(e){return e.currentDirectory}function QS(e){return e.currentSessionId}function $S(e){return e.setCurrentSession}if(typeof window<`u`&&!window.__OPENCHAMBER_REFRESH_DEBUG_INSTALLED__){window.__OPENCHAMBER_REFRESH_DEBUG_INSTALLED__=!0;let e=performance.getEntriesByType(`navigation`)[0];console.warn(`[refresh-debug] renderer-entry`,{navigationType:e?.type??`unknown`,protocol:window.location.protocol}),window.addEventListener(`beforeunload`,()=>{console.warn(`[refresh-debug] beforeunload`,{visibilityState:document.visibilityState})}),window.addEventListener(`pagehide`,e=>{console.warn(`[refresh-debug] pagehide`,{persisted:e.persisted})})}var eC=typeof window<`u`&&window.__OPENCHAMBER_RUNTIME_APIS__||(()=>{throw Error(`Runtime APIs not provided for legacy UI entrypoint.`)})();Qe(),S()&&at(),Zr({runtimeKey:l(),initializeAppearance:V,syncSettings:I,applyDirectory:Ar,startWatchers:()=>{vi(),Hr(),Cr()},onError:(e,t)=>{console.error(e===`appearance`?`[main] appearance init failed:`:`[main] settings init failed:`,t)}});var tC=document.getElementById(`root`);if(!tC)throw Error(`Root element not found`);(0,Bc.createRoot)(tC).render((0,$.jsx)(Q.StrictMode,{children:(0,$.jsx)(Tr,{children:(0,$.jsx)(qe,{children:(0,$.jsx)(vr,{children:(0,$.jsx)(Mr,{children:(0,$.jsx)(Ir,{children:(0,$.jsx)(JS,{apis:eC})})})})})})}));
|
|
169
|
+
Now write the final fused answer.`,synthetic:!0}],directory:i??Ee.getDirectory()})}catch(e){console.error(`[MultiRunFusion] Failed to start fusion`,e),J.error(r(`multirun.fusion.toast.failed`))}finally{w(!1)}}},disabled:!k,children:r(C?`multirun.fusion.actions.starting`:`multirun.fusion.actions.start`)})]})]})})}function ib(e){let t=(0,Vc.c)(13),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=[`oc-icon`,n].filter(Boolean),t[3]=n,t[4]=i);let a=i.join(` `),o,s,c,l,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`path`,{d:`M12 4.5v6.25M12 10.75v3.5M12 10.75H7.25A3.25 3.25 0 0 0 4 14v1.25M12 10.75h4.75A3.25 3.25 0 0 1 20 14v1.25`}),s=(0,$.jsx)(`path`,{d:`M9.25 7.25 12 4.5l2.75 2.75`}),c=(0,$.jsx)(`circle`,{cx:`4`,cy:`17.25`,r:`1.55`}),l=(0,$.jsx)(`circle`,{cx:`12`,cy:`17.25`,r:`1.55`}),u=(0,$.jsx)(`circle`,{cx:`20`,cy:`17.25`,r:`1.55`}),t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u):(o=t[5],s=t[6],c=t[7],l=t[8],u=t[9]);let d;return t[10]!==r||t[11]!==a?(d=(0,$.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:Xn,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,className:a,...r,children:[o,s,c,l,u]}),t[10]=r,t[11]=a,t[12]=d):d=t[12],d}var ab=1/3,ob=1,sb=({containerScrollTop:e,containerClientHeight:t,containerScrollHeight:n,rowOffsetFromViewportTop:r})=>{let i=e+(r-t*ab),a=Math.max(0,n-t);return Math.min(a,Math.max(0,i))},cb=()=>typeof window>`u`||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`,lb=e=>{let t=e.closest(`.overlay-scrollbar-target`);if(t)return t;let n=e.parentElement;for(;n&&n!==document.body;){let e=window.getComputedStyle(n).overflowY;if(e===`auto`||e===`scroll`||e===`overlay`)return n;n=n.parentElement}return null},ub=(e,t)=>{let n=lb(e),r=t?.behavior??cb();if(!n){e.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:r});return}let i=e.getBoundingClientRect(),a=n.getBoundingClientRect().top+n.clientTop,o=a+n.clientHeight;if(i.top>=a&&i.bottom<=o)return;let s=sb({containerScrollTop:n.scrollTop,containerClientHeight:n.clientHeight,containerScrollHeight:n.scrollHeight,rowOffsetFromViewportTop:i.top-a});Math.abs(s-n.scrollTop)<ob||n.scrollTo({top:s,behavior:r})},db=e(be(),1),fb=null,pb=!1,mb=(e,t=ii.getState().focus)=>e===null?null:typeof e==`string`?t?.sessionId===e?t:ti(e):e,hb=e=>{typeof window>`u`||(e.commitFrame!==null&&window.cancelAnimationFrame(e.commitFrame),e.paintFrame!==null&&window.cancelAnimationFrame(e.paintFrame),e.fallbackTimer!==null&&window.clearTimeout(e.fallbackTimer))},gb=()=>{fb&&=(hb(fb),null)},_b=(e,t)=>{gb(),Gt(!0);let n=mb(e);if(!n)return;pb=!0;let r;try{r=$t(n.sessionId)}finally{pb=!1}fb={commit:t,commitFrame:null,fallbackTimer:null,focus:n,intent:r,paintFrame:null,scheduled:!1},(0,db.flushSync)(()=>{ii.getState().setFocus(n)}),typeof window<`u`&&(fb.fallbackTimer=window.setTimeout(()=>{vb(n)},150))},vb=e=>{let t=fb,n=mb(e);if(!t||!Ri(t.focus,n)||t.scheduled)return;t.scheduled=!0,typeof window<`u`&&t.fallbackTimer!==null&&(window.clearTimeout(t.fallbackTimer),t.fallbackTimer=null);let r=()=>{fb===t&&wn()===t.intent&&(fb=null,tn(),t.commit())};if(typeof window>`u`){r();return}t.commitFrame=window.requestAnimationFrame(()=>{fb===t&&wn()===t.intent&&(t.paintFrame=window.requestAnimationFrame(r))})},yb=e=>{if(fb)return;let t=ii.getState();t.setFocus(mb(e,t.focus))};Vt(e=>{if(pb)return;let t=fb;if(t?.intent===e)return;t&&gb();let n=ii.getState();n.setFocus(mb(e.sessionId,n.focus))});var bb=e=>{let t=[],n=e=>{e.children.forEach(e=>{t.push(e.session.id),n(e)})};return n(e),t},xb=Q.memo(function(e){let t=(0,Vc.c)(18),{pinLabel:n,buttonSizeClass:r,iconSizeClass:i,onPointerDown:a,onMouseDown:o,onPin:s}=e,c;t[0]===r?c=t[1]:(c=Y(`inline-flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-none`,r),t[0]=r,t[1]=c);let l;t[2]===i?l=t[3]:(l=Y(i,`rotate-45`),t[2]=i,t[3]=l);let u;t[4]===l?u=t[5]:(u=(0,$.jsx)(X,{name:`pushpin-2`,className:l}),t[4]=l,t[5]=u);let d;t[6]!==o||t[7]!==s||t[8]!==a||t[9]!==n||t[10]!==c||t[11]!==u?(d=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:c,"aria-label":n,onPointerDown:a,onMouseDown:o,onClick:s,onKeyDown:Pb,children:u})}),t[6]=o,t[7]=s,t[8]=a,t[9]=n,t[10]=c,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n?f=t[14]:(f=(0,$.jsx)(ia,{side:`top`,sideOffset:4,className:`rounded-md px-1.5 py-0.5 typography-micro`,children:n}),t[13]=n,t[14]=f);let p;return t[15]!==d||t[16]!==f?(p=(0,$.jsxs)(oa,{children:[d,f]}),t[15]=d,t[16]=f,t[17]=p):p=t[17],p}),Sb=Q.memo(function(e){let t=(0,Vc.c)(24),{archiveLabel:n,deleteLabel:r,deleteOnly:i,buttonSizeClass:a,iconSizeClass:o,revealClassName:s,onPointerDown:c,onMouseDown:l,onArchive:u,onDelete:d}=e,f=i!==void 0&&i,p=Ly(),m=f||p,h=m?r:n,g;t[0]!==f||t[1]!==u||t[2]!==d||t[3]!==p?(g=e=>{if(f||p||e.shiftKey){d(e);return}u(e)},t[0]=f,t[1]=u,t[2]=d,t[3]=p,t[4]=g):g=t[4];let _=g,v=m?`text-destructive hover:text-destructive hover:bg-[color-mix(in_srgb,var(--status-error)_12%,transparent)]`:`text-muted-foreground hover:text-foreground hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)]`,y;t[5]!==a||t[6]!==s||t[7]!==v?(y=Y(`inline-flex items-center justify-center rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-none`,v,a,s),t[5]=a,t[6]=s,t[7]=v,t[8]=y):y=t[8];let b=m?`delete-bin`:`inbox-archive`,x;t[9]!==o||t[10]!==b?(x=(0,$.jsx)(X,{name:b,className:o}),t[9]=o,t[10]=b,t[11]=x):x=t[11];let S;t[12]!==_||t[13]!==h||t[14]!==l||t[15]!==c||t[16]!==y||t[17]!==x?(S=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:y,"aria-label":h,onPointerDown:c,onMouseDown:l,onClick:_,onKeyDown:Fb,children:x})}),t[12]=_,t[13]=h,t[14]=l,t[15]=c,t[16]=y,t[17]=x,t[18]=S):S=t[18];let C;t[19]===h?C=t[20]:(C=(0,$.jsx)(ia,{side:`top`,sideOffset:4,className:`rounded-md px-1.5 py-0.5 typography-micro`,children:h}),t[19]=h,t[20]=C);let w;return t[21]!==S||t[22]!==C?(w=(0,$.jsxs)(oa,{children:[S,C]}),t[21]=S,t[22]=C,t[23]=w):w=t[23],w}),Cb=Q.memo(function(e){let t=(0,Vc.c)(3),{number:n}=e;if(!$y())return null;let r=Yn()?`⌘${n}`:`Ctrl+${n}`,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(di,{"data-sidebar-shortcut-number":n,className:`h-3.5 min-w-0 shrink-0 rounded-full border-0 bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] px-1.5 font-sans text-[10px] font-medium tracking-tight text-muted-foreground/65 shadow-none`,"aria-hidden":`true`,children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i});function wb(e){let{t:n}=Je(),{node:r,depth:i=0,groupDirectory:a,projectId:o,archivedBucket:s=!1,pinnedSessionIds:c,expandedParents:l,hasSessionSearchQuery:u,normalizedSessionSearchQuery:f,editingId:p,setEditingId:m,editTitle:h,setEditTitle:g,handleSaveEdit:_,handleCancelEdit:v,toggleParent:b,handleSessionSelect:x,handleSessionDoubleClick:S,togglePinnedSession:C,handleShareSession:T,copiedSessionId:E,handleCopyShareUrl:D,handleUnshareSession:O,setOpenSidebarMenuKey:k,renamingFolderId:A,getFoldersForScope:j,getSessionFolderId:M,removeSessionFromFolder:N,addSessionToFolder:P,createFolderAndStartRename:F,openContextPanelTab:I,handleDeleteSession:ee,mobileVariant:L,alwaysShowActions:R,renderSessionNode:z,secondaryMeta:B,renderContext:V=`project`,subtreeContainsActive:te,subtreeContainsEditing:ne,menuOpenSessionId:W,childRenderExtrasFor:re,liveSessionById:G,shortcutNumber:ie=null}=e,ae=!!B?.projectLabel,oe=!!B?.branchLabel,se=Ov(e=>e.displayMode),ce=Q.useMemo(()=>H(),[]),ve=se===`minimal`||ce,ye=Q.useMemo(()=>y(),[]),be=Q.useContext(Va),xe=ce?`group-hover:opacity-100 group-hover:pointer-events-auto`:`group-hover:opacity-100 group-hover:pointer-events-auto group-focus-within:opacity-100 group-focus-within:pointer-events-auto`,Se=ce,Ce=V===`pinned`&&c.has(r.session.id),we=!Ce&&!s&&!L,Te=`h-5 w-5`,Ee=`h-3.5 w-3.5`,De=(we||Ce?1:0)+ +!!Se+1,Oe=De>=3?`group-hover:pr-18 group-focus-within:pr-18`:De>=2?`group-hover:pr-12 group-focus-within:pr-12`:`group-hover:pr-7 group-focus-within:pr-7`,ke=De>=2?`pr-12`:`pr-8`,Ae=Q.useRef(!1),je=Q.useRef(!1),[K,Me]=Q.useState(!1),Ne=Q.useRef(p);Ne.current=p;let Pe=Q.useRef(null),q=Q.useRef(_);q.current=_;let[Fe,Ie]=Q.useState(h),[Le,Re]=Q.useState(null),ze=Q.useRef(Fe);ze.current=Fe;let Be=Q.useRef(null),Ve=Q.useRef(null),He=Q.useRef(null),We=r.session,Ke=G.get(We.id)??We,qe=!!Ke.metadata?.openchamber?.assistant,Ye=U(We.directory??null)??U(a??null),Xe=Dt(Ye??void 0,{bootstrap:!1}),Ze=qr(),Qe=wy(e=>e.enabled),$e=wy(Q.useMemo(()=>e=>e.selectedIds.has(We.id),[We.id])),et=wy(e=>e.toggleSelected),tt=wy(e=>e.setRange),[rt,it]=Q.useState(!1),[at,ot]=Q.useState(!0),[st,ct]=Q.useState(!1),lt=`${V}:${s?`archived`:`active`}:${We.id}`,dt=An(Q.useMemo(()=>e=>!!e.sessionMemoryState.get(bt(We.id))?.isZombie,[We.id])),ft=ut(We.id),pt=vn(We.id,Ye??void 0,{bootstrap:!1}),mt=zt(We.id,Ye??void 0,{bootstrap:!1}),ht=Q.useMemo(()=>({scope:V,sessionId:We.id,projectId:o??null}),[o,V,We.id]),gt=Q.useMemo(()=>Ni(ht)??``,[ht]),vt=Q.useRef(null),yt=ii(Q.useMemo(()=>e=>Ri(e.focus,ht),[ht]));Q.useLayoutEffect(()=>{if(!yt)return;let e=vt.current;e&&(L?e.scrollIntoView({block:`nearest`,inline:`nearest`}):ub(e)),vb(ht)},[yt,L,ht]);let xt=Ke.title||n(`sessions.sidebar.session.untitled`),St=Bo(Ro(Ke)),Ct=Ke.metadata?.openchamber?.titleRefresh,wt=typeof Ct?.lastError==`string`?Ct.lastError:null,Tt=typeof Ct?.failedAt==`number`?Ct.failedAt:null;Q.useEffect(()=>{!wt||Tt===null||(Re(null),console.warn(`[session-title] generation failed for ${We.id}: ${wt}`))},[We.id,wt,Tt]),Q.useEffect(()=>{if(Le===null)return;if(xt!==Le){Re(null);return}let e=window.setTimeout(()=>Re(null),3e4);return()=>window.clearTimeout(e)},[Le,xt]);let Et=r.children.length>0||!!Ke.hasChildren,kt=c.has(We.id),At=lt,jt=u?!0:l.has(At),Mt=!!Ke.parentID,Nt=V===`pinned`,Pt=Xt(We.id)>0&&!Mt,Ft=Ot(Ke)||Date.now(),It=_r(Ft),Lt=_i(Ft),[Rt,Bt]=Q.useState(!1),Vt=Rt,Ht=Q.useMemo(()=>Pc(Ke.title)!==null,[Ke.title]),[Ut,Wt]=Q.useState(!1),Gt=Q.useMemo(()=>bb(r).length,[r]),Kt=Ue(e=>{let t=Ye??``,n=(dn()??On(t,Xe)).getTranscript(jn(t,e)),r=Xe.getState().session.find(t=>t.id===e)?.revert?.messageID;return _t({sessionID:e,messages:gn(n),parts:n.partsByMessageID,revertMessageID:r}).list}),qt=Ue(async e=>{let t=[],r=0;for(let i of e)try{await Ze.ensureSessionRenderable(i.session.id);let e=Kt(i.session.id),a=i.session.title||n(`sessions.sidebar.session.export.untitledSubagent`),o=i.session.agent,s=await qt(i.children);r+=s.skipped,t.push({title:a,agent:o,records:e,children:s.children})}catch{r+=bb(i).length+1}return{children:t,skipped:r}}),Jt=Ue(e=>{e<=0||J.warning(n(e===1?`sessions.sidebar.session.export.skippedSubtaskSingle`:`sessions.sidebar.session.export.skippedSubtaskMany`,{count:e}))}),Yt=Ue(async e=>{if(!Ye){J.error(n(`sessions.sidebar.session.export.nothingToExport`));return}await Ze.ensureSessionRenderable(We.id);let t=Kt(We.id);if(t.length===0){J.error(n(`sessions.sidebar.session.export.nothingToExport`));return}let i,a=0;if(e&&r.children.length>0){let e=await qt(r.children);i=e.children,a=e.skipped}let o=_y(t,Ke.title??null,i),s=Sy(Ke.title??null),c=await yy(o,s);if(c){J.success(n(`sessions.sidebar.session.export.success`),{action:{label:n(xy()),onClick:()=>{by(c).then(e=>{e||J.error(n(`sessions.sidebar.session.export.failedRevealPath`))})}}}),Jt(a);return}vy(o,s),J.success(n(`sessions.sidebar.session.export.success`)),Jt(a)}),Zt=Ue(async()=>{if(r.children.length>0){ot(!0),it(!0);return}await Yt(!1)}),Qt=Ue(()=>{Ye&&w(`desktop_open_session_mini_chat_window`,{sessionId:We.id,directory:Ye,apiBaseUrl:d(),clientToken:t()}).catch(e=>{console.warn(`[session-sidebar] failed to open mini chat window`,e)})});Ge(Ve,()=>{q.current(ze.current)},p===We.id),Q.useLayoutEffect(()=>{if(p!==We.id){Be.current===We.id&&(Be.current=null);return}Be.current!==We.id&&(Be.current=We.id,Ie(h),queueMicrotask(()=>He.current?.select()))},[p,h,We.id]);let $t=Ue(e=>{if(!e&&Pe.current){let{id:e,title:t}=Pe.current;Pe.current=null,m(e),g(t)}}),en=Ue(e=>{Bt(e)}),tn=Ue(e=>{e.preventDefault(),e.stopPropagation()}),nn=Ue(e=>{e.preventDefault(),e.stopPropagation()}),rn=Ue(e=>{e.preventDefault(),e.stopPropagation(),k(null),C(We.id)}),an=Ue(e=>{e.preventDefault(),e.stopPropagation(),k(null),ee(We,{archivedBucket:s})}),on=Ue(e=>{e.preventDefault(),e.stopPropagation(),k(null),ee(We,{archivedBucket:s,hardDelete:!0,skipConfirm:!0})}),sn=Ue(e=>{e.preventDefault(),e.stopPropagation(),k(null),C(We.id)}),cn=Ue(()=>{let e=ft?.type??`idle`;!Ye||st||e===`busy`||e===`retry`||(ct(!0),(async()=>{try{await Ze.refreshSessionTranscript(We.id,{directory:Ye}),J.success(n(`sessions.sidebar.session.menu.refreshTranscriptSuccess`))}catch{J.error(n(`sessions.sidebar.session.menu.refreshTranscriptFailed`))}finally{ct(!1)}})())}),ln=Ue(e=>{e.preventDefault(),e.stopPropagation()}),un=Ue(e=>{e.preventDefault(),e.stopPropagation()}),fn=Ue(e=>{e.preventDefault(),e.stopPropagation(),be?.vscode?.executeCommand(`openchamber.openSessionInEditor`,We.id,xt)}),pn=Ue(e=>{if(Ae.current){Ae.current=!1;return}if(Qe){if(e?.preventDefault(),e?.stopPropagation(),e?.shiftKey){let e=(typeof document<`u`?Array.from(document.querySelectorAll(`[data-session-row]`)):[]).map(e=>e.getAttribute(`data-session-row`)).filter(e=>typeof e==`string`&&e.length>0),t=wy.getState().anchorId,n=new Map;n.set(We.id,bb(r)),tt(t,We.id,e,Ye??null,n);return}et(We.id,Ye??null,bb(r));return}x(We.id,Ye,o,V)}),mn=Ue(e=>{e.defaultPrevented||e.target?.closest(`button, a, input, [role="menuitem"], [role="menu"]`)||pn(e)}),hn=Ue(e=>{(e.button===2||e.button===0&&e.ctrlKey&&!Qe)&&(Ae.current=!0)}),_n=Ue(e=>{je.current=e.pointerType===`mouse`,L&&e.pointerType===`touch`&&Me(!0)}),yn=Ue(e=>{L&&e.pointerType===`touch`&&Me(!1)}),bn=Ue(e=>{e.key!==`Enter`||!je.current||(e.preventDefault(),e.stopPropagation(),S(We.id,xt))}),xn=Ue(e=>{if(pn(e),!je.current)return;let t=e.currentTarget;window.requestAnimationFrame(()=>{je.current=!0,t.focus({preventScroll:!0})})}),Sn=Ue(()=>{je.current=!1}),Cn=Ue(e=>{if(!je.current)return;let t=e.relatedTarget;if(t instanceof Node&&e.currentTarget.contains(t))return;let n=document.activeElement;!(n instanceof HTMLElement)||!e.currentTarget.contains(n)||(n.blur(),je.current=!1)});if(p===We.id){let e=async()=>{Re(xt),v();try{await nt(We.id)}catch(e){Re(null),console.warn(`[session-sidebar] failed to request smart title:`,e)}};return(0,$.jsx)(`div`,{className:`group relative my-0.5 flex items-center rounded-lg py-1.5 pr-2`,style:{paddingLeft:Lr(i)},children:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0`,children:[(0,$.jsxs)(`form`,{ref:Ve,className:`flex w-full items-center gap-2`,onSubmit:e=>{e.preventDefault(),_(Fe)},children:[(0,$.jsx)(`input`,{ref:He,value:Fe,onChange:e=>Ie(e.target.value),className:`flex-1 min-w-0 bg-transparent typography-ui-label outline-none placeholder:text-muted-foreground`,autoFocus:!0,placeholder:n(`sessions.sidebar.session.menu.rename`),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Escape`){v();return}}}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{e()},"aria-label":n(`sessions.sidebar.session.rename.smartTitle`),title:n(`sessions.sidebar.session.rename.smartTitle`),className:`shrink-0 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(X,{name:`ai-generate-2`,className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`submit`,"aria-label":n(`sessions.sidebar.session.rename.save`),title:n(`sessions.sidebar.session.rename.save`),className:`shrink-0 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(X,{name:`check`,className:`size-3.5`})})]}),ve?null:(0,$.jsx)(`div`,{className:`flex items-center justify-between gap-3 text-muted-foreground/60 min-w-0 overflow-hidden leading-tight`,style:{fontSize:`calc(var(--text-ui-label) * 0.85)`},children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden`,children:[Et&&!Nt&&!Mt?(0,$.jsx)(`span`,{className:`inline-flex items-center justify-center flex-shrink-0`,children:jt?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3 w-3`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3`})}):null,(0,$.jsx)(`span`,{className:`flex-shrink-0`,children:It}),ae?(0,$.jsx)(`span`,{className:`truncate`,children:B?.projectLabel}):null,oe?(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-0.5`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`h-3 w-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:B?.branchLabel})]}):null]})})]})},We.id)}let wn=ft?.type??`idle`,Tn=wn===`busy`||wn===`retry`,En=Le!==null||Ct?.isGenerating===!0,Dn=pt.length,kn=mt.length>0,Mn=kn||Tn||!kn&&!Tn&&Pt&&!yt,Nn=!R||ce,Pn=kn?(0,$.jsx)(`span`,{className:`inline-flex h-3.5 w-3.5 items-center justify-center`,"aria-label":n(`sessions.sidebar.session.status.questionRequired`),title:n(`sessions.sidebar.session.status.questionRequired`),children:(0,$.jsx)(X,{name:`question`,className:`h-3.5 w-3.5 text-primary`})}):Tn?(0,$.jsx)(`span`,{className:`inline-flex h-3.5 w-3.5 items-center justify-center`,"aria-label":n(`sessions.sidebar.session.status.active`),title:n(`sessions.sidebar.session.status.active`),children:(0,$.jsx)(Qs,{})}):(0,$.jsx)(`span`,{className:`inline-flex h-3.5 w-3.5 items-center justify-center`,"aria-label":n(`sessions.sidebar.session.status.unread`),title:n(`sessions.sidebar.session.status.unread`),children:(0,$.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-[var(--status-info)]`})}),Fn=!Nt&&!R&&Et&&kt,In=!Nt&&kt,Un=(0,$.jsx)(X,{name:`pushpin-2-fill`,className:`h-3 w-3 flex-shrink-0 text-foreground`,"aria-label":n(`sessions.sidebar.session.status.pinned`)}),Wn=In?(0,$.jsx)(`span`,{className:Y(`pointer-events-none absolute inline-flex h-3.5 w-3.5 items-center justify-center transition-opacity`,ve?`top-1/2 -translate-y-1/2`:`top-[14.5px] -translate-y-1/2`,Fn?`opacity-100 group-hover:opacity-0 group-focus-within:opacity-0`:``),style:{left:Lr(Math.max(0,i-1))},children:Un}):null,Gn=!Nt&&!Mt&&Et,Kn=Gn&&!R,qn=Lr(Math.max(0,i-1)),Jn=()=>{!jt&&r.children.length===0&&Ze.loadChildren(We.id,Ye).catch(()=>void 0),b(At)},Yn=Gn?(0,$.jsx)(`span`,{role:`button`,tabIndex:0,onClick:e=>{e.stopPropagation(),e.currentTarget.blur(),Jn()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),Jn())},style:{minWidth:14,minHeight:14,left:qn},className:Y(`absolute inline-flex h-3.5 w-3.5 items-center justify-center rounded-md text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-opacity`,ve?`top-1/2 -translate-y-1/2`:`top-[14.5px] -translate-y-1/2`,Kn?`opacity-0 pointer-events-none group-hover:opacity-100 group-hover:pointer-events-auto group-focus-within:opacity-100 group-focus-within:pointer-events-auto`:``),"aria-label":n(jt?`sessions.sidebar.session.subsessions.collapse`:`sessions.sidebar.session.subsessions.expand`),children:jt?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3 w-3`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3`})}):null,Xn=dt?(0,$.jsx)(X,{name:`error-warning`,className:`h-4 w-4 text-status-warning`}):null,Zn=(0,$.jsx)(me,{children:(0,$.jsx)(fe,{className:`app-region-no-drag z-50`,children:(0,$.jsx)(ue,{"data-slot":`dropdown-menu-content`,finalFocus:()=>!(A||Ne.current),style:{backgroundColor:`var(--surface-elevated)`,color:`var(--surface-elevated-foreground)`},className:Y(ao,`min-w-[180px]`),children:(({Item:e,Separator:t,Sub:r,SubTrigger:i,SubContent:a})=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(e,{onClick:()=>{Pe.current={id:We.id,title:xt}},className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`pencil-ai`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.rename`)]}),(0,$.jsxs)(e,{onClick:()=>C(We.id),className:`[&>svg]:mr-1`,children:[kt?(0,$.jsx)(X,{name:`unpin`,className:`mr-1 h-4 w-4`}):(0,$.jsx)(X,{name:`pushpin`,className:`mr-1 h-4 w-4`}),n(kt?`sessions.sidebar.session.menu.unpin`:`sessions.sidebar.session.menu.pin`)]}),Ke.share?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(e,{onClick:()=>{Ke.share?.url&&D(Ke.share.url,We.id)},className:`[&>svg]:mr-1`,children:E===We.id?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`check`,className:`mr-1 h-4 w-4`,style:{color:`var(--status-success)`}}),n(`sessions.sidebar.session.menu.copied`)]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`file-copy`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.copyLink`)]})}),(0,$.jsxs)(e,{onClick:()=>O(We.id),className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`link-unlink-m`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.unshare`)]})]}):(0,$.jsxs)(e,{onClick:()=>T(Ke),className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`share-2`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.share`)]}),(0,$.jsxs)(e,{onClick:()=>{Zt()},className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`download`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.exportMarkdown`)]}),(0,$.jsxs)(e,{disabled:!Ye||Tn||st,onClick:()=>{cn()},className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`refresh`,className:Y(`mr-1 h-4 w-4`,st&&`animate-spin`)}),n(`sessions.sidebar.session.menu.refreshTranscript`)]}),Ht?(0,$.jsxs)(e,{onClick:()=>Wt(!0),className:`[&>svg]:mr-1`,children:[(0,$.jsx)(ib,{className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.session.menu.runFusion`)]}):null,Ye&&!s?(()=>{let o=j(Ye),s=M(Ye,We.id);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(t,{}),(0,$.jsxs)(r,{children:[(0,$.jsxs)(i,{className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`folder`,className:`h-4 w-4`}),n(`sessions.sidebar.folders.moveToFolder`)]}),(0,$.jsxs)(a,{className:`min-w-[180px]`,children:[o.length===0?(0,$.jsx)(e,{disabled:!0,className:`text-muted-foreground`,children:n(`sessions.sidebar.folders.none`)}):o.map(t=>(0,$.jsxs)(e,{onClick:()=>{s===t.id?N(Ye,We.id):P(Ye,t.id,We.id)},children:[(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),s===t.id?(0,$.jsx)(X,{name:`check`,className:`ml-2 h-3.5 w-3.5 text-primary flex-shrink-0`}):null]},t.id)),(0,$.jsx)(t,{}),(0,$.jsxs)(e,{onClick:()=>{let e=F(Ye);e&&P(Ye,e.id,We.id)},children:[(0,$.jsx)(X,{name:`add`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.folders.newFolderEllipsis`)]}),s?(0,$.jsxs)(e,{onClick:()=>{N(Ye,We.id)},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(X,{name:`close`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.folders.removeFromFolder`)]}):null]})]})]})})():null,ce?null:(0,$.jsxs)(e,{disabled:!Ye,onClick:()=>{Ye&&I(Ye,{mode:`chat`,dedupeKey:`session:${We.id}`,label:xt,sessionTitleFallback:xt})},className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`chat-thread`,className:`mr-1 h-4 w-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`sessions.sidebar.session.menu.openInSidePanel`)}),(0,$.jsx)(`span`,{className:`shrink-0 typography-micro px-1 rounded leading-none pb-px text-[var(--status-warning)] bg-[var(--status-warning)]/10`,children:n(`sessions.sidebar.session.menu.betaBadge`)})]}),ye?(0,$.jsxs)(e,{disabled:!Ye,onClick:Qt,className:`[&>svg]:mr-1`,children:[(0,$.jsx)(X,{name:`window`,className:`mr-1 h-4 w-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`sessions.sidebar.session.menu.openMiniChatWindow`)})]}):null,(0,$.jsx)(t,{}),s?null:(0,$.jsxs)(e,{className:`[&>svg]:mr-1`,onClick:()=>ee(We,{archivedBucket:s}),children:[(0,$.jsx)(X,{name:`inbox-archive`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.bulkActions.archive`)]}),(0,$.jsxs)(e,{className:`text-destructive focus:text-destructive [&>svg]:mr-1`,onClick:()=>ee(We,{archivedBucket:s,hardDelete:!0}),children:[(0,$.jsx)(X,{name:`delete-bin`,className:`mr-1 h-4 w-4`}),n(`sessions.sidebar.bulkActions.delete`)]})]}))({Item:({className:e,...t})=>(0,$.jsx)(de,{className:Y(so,e),...t}),Separator:({className:e,...t})=>(0,$.jsx)(le,{className:Y(oo,e),...t}),Sub:pe,SubTrigger:({className:e,children:t,...n})=>(0,$.jsxs)(he,{className:Y(io,e),...n,children:[t,(0,$.jsx)(X,{name:`arrow-right-s`,className:`ml-auto size-3.5`})]}),SubContent:({className:e,children:t,...n})=>(0,$.jsx)(me,{children:(0,$.jsx)(fe,{className:`app-region-no-drag z-50`,children:(0,$.jsx)(ue,{"data-slot":`dropdown-menu-sub-content`,style:{backgroundColor:`var(--surface-elevated)`,color:`var(--surface-elevated-foreground)`},className:Y(ao,e),...n,children:t})})})})})})});return(0,$.jsxs)(Q.Fragment,{children:[(0,$.jsx)(vv,{sessionId:We.id,sessionDirectory:Ye??null,sessionTitle:xt,children:(0,$.jsxs)(ge,{open:Rt,onOpenChange:en,onOpenChangeComplete:$t,children:[(0,$.jsxs)(_e,{render:(0,$.jsx)(`div`,{ref:vt,"data-session-row":We.id,"data-session-scope":Ye??``,"data-session-focus-scope":V,"data-session-focus-key":gt,"data-session-project-id":o??``,"data-session-archived":s?`1`:`0`,"data-session-depth":i,onClick:mn,onMouseLeave:Cn,className:Y(`group relative my-0.5 flex cursor-pointer items-center rounded-lg py-1.5 pr-2`,yt&&!$e&&`bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] dark:bg-[color-mix(in_srgb,var(--surface-foreground)_11%,transparent)]`,$e&&`bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] dark:bg-[color-mix(in_srgb,var(--surface-foreground)_11%,transparent)]`,!yt&&!$e&&`hover:bg-[color-mix(in_srgb,var(--surface-foreground)_3.5%,transparent)] dark:hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)]`)}),children:[Wn,Yn,(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center`,style:{paddingLeft:Lr(i)},children:(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onPointerDown:_n,onPointerUp:yn,onPointerCancel:yn,onMouseDown:hn,onKeyDown:bn,onBlur:Sn,onClick:xn,onDoubleClick:e=>{e.stopPropagation(),S(We.id,xt)},className:Y(`relative flex min-w-0 flex-1 cursor-pointer flex-col gap-0 overflow-hidden rounded-md text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 text-foreground select-none has-[[data-sidebar-shortcut-number]]:!pr-0`,K&&`bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)]`,R?ce?Oe:ke:Oe),children:(0,$.jsxs)(`div`,{className:`flex w-full items-center min-w-0 flex-1 gap-1 overflow-hidden`,children:[(0,$.jsx)(`div`,{className:Y(`block min-w-0 flex-1 truncate typography-ui-label font-normal text-foreground`,En&&`animate-text-shimmer`),"aria-busy":En||void 0,children:jr(xt,f)}),St?(0,$.jsx)(`span`,{className:`shrink-0 typography-micro tabular-nums text-muted-foreground`,children:St}):null,qe?(0,$.jsx)(X,{name:`ai-agent`,className:`size-3 shrink-0 text-muted-foreground`,"aria-label":`Assistant`}):null,Dn>0?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-destructive/10 px-1 py-0.5 text-[0.7rem] text-destructive flex-shrink-0`,title:n(`sessions.sidebar.session.status.permissionRequired`),"aria-label":n(`sessions.sidebar.session.status.permissionRequired`),children:[(0,$.jsx)(X,{name:`shield`,className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`leading-none`,children:Dn})]}):null,Mn?(0,$.jsx)(`span`,{className:Y(`inline-flex shrink-0 items-center justify-center transition-none`,Nn?Y(`group-hover:hidden group-focus-within:hidden`,Vt?`hidden`:``):Vt?`invisible`:``),children:Pn}):null,ie?(0,$.jsx)(Cb,{number:ie}):null]})})}),ce?null:(0,$.jsx)(ia,{side:`right`,align:`start`,sideOffset:8,className:`w-64 max-w-[min(16rem,calc(100vw-2rem))] px-3 py-2.5 text-left shadow-md`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 text-left`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1 break-words typography-ui-label font-medium text-foreground`,children:xt}),(0,$.jsx)(`div`,{className:`flex-shrink-0 typography-meta text-muted-foreground`,children:Lt})]}),ae?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`folder-open`,className:`h-3.5 w-3.5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:B?.projectLabel})]}):null,oe?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`h-3.5 w-3.5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:B?.branchLabel})]}):null]})})]})})}),Xn&&!L?(0,$.jsx)(`div`,{className:Y(`absolute top-1/2 -translate-y-1/2 z-10`,ve?`right-0`:`right-[30px]`),children:Xn}):null,(0,$.jsxs)(`div`,{className:Y(`absolute right-1 top-1/2 z-10 flex -translate-y-1/2 items-center gap-1 transition-none group-has-[[data-sidebar-shortcut-number]]:hidden`,Vt||R&&!ce?`opacity-100`:Y(`opacity-0`,xe)),children:[we?(0,$.jsx)(xb,{pinLabel:n(`sessions.sidebar.session.menu.pin`),buttonSizeClass:Te,iconSizeClass:Ee,onPointerDown:tn,onMouseDown:nn,onPin:rn}):null,Ce?(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-none`,Te),"aria-label":n(`sessions.sidebar.session.actions.pinned`),onPointerDown:tn,onMouseDown:nn,onClick:sn,onKeyDown:e=>e.stopPropagation(),children:(0,$.jsx)(X,{name:`pushpin-2-fill`,className:Ee})})}),(0,$.jsx)(ia,{side:`top`,sideOffset:4,className:`rounded-md px-1.5 py-0.5 typography-micro`,children:n(`sessions.sidebar.session.actions.pinned`)})]}):null,Se?(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-[color-mix(in_srgb,var(--surface-foreground)_8%,transparent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-none`,Te),"aria-label":n(`sessions.sidebar.session.actions.openInEditor`),onPointerDown:ln,onMouseDown:un,onClick:fn,onKeyDown:e=>e.stopPropagation(),children:(0,$.jsx)(X,{name:`external-link`,className:Ee})})}),(0,$.jsx)(ia,{side:`top`,sideOffset:4,className:`rounded-md px-1.5 py-0.5 typography-micro`,children:n(`sessions.sidebar.session.actions.openInEditor`)})]}):null,(0,$.jsx)(Sb,{archiveLabel:n(`sessions.sidebar.bulkActions.archive`),deleteLabel:n(`sessions.sidebar.bulkActions.delete`),deleteOnly:s===!0,buttonSizeClass:Te,iconSizeClass:Ee,revealClassName:ve&&!R&&!Vt?Y(`opacity-0`,xe):`opacity-100`,onPointerDown:tn,onMouseDown:nn,onArchive:an,onDelete:on})]})]}),Zn]})}),!Nt&&Et&&jt?r.children.map(e=>{let t=re?re(e):{subtreeContainsActive:te,subtreeContainsEditing:ne,menuOpenSessionId:W,nodeStructureKey:``};return z(e,i+1,Ye??a,o,s,void 0,V,t)}):null,(0,$.jsx)(Hn,{open:rt,onOpenChange:it,children:(0,$.jsxs)(zn,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[(0,$.jsxs)(Ln,{children:[(0,$.jsx)(Bn,{children:n(`sessions.sidebar.session.export.dialog.title`)}),(0,$.jsx)(Vn,{children:n(Gt===1?`sessions.sidebar.session.export.dialog.descriptionSingle`:`sessions.sidebar.session.export.dialog.descriptionMany`,{count:Gt})})]}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-ui-label cursor-pointer`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:at,onChange:e=>ot(e.target.checked),className:`h-4 w-4 rounded border-border accent-primary`}),n(`sessions.sidebar.session.export.dialog.includeSubtasks`)]}),(0,$.jsxs)(Rn,{children:[(0,$.jsx)(Z,{type:`button`,onClick:()=>it(!1),variant:`outline`,size:`sm`,children:n(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{type:`button`,onClick:()=>{it(!1),Yt(at)},size:`sm`,children:n(`sessions.sidebar.session.export.dialog.confirm`)})]})]})}),Ht?(0,$.jsx)(rb,{session:Ke,open:Ut,onOpenChange:Wt}):null]},We.id)}var Tb=e=>U(e.session.directory??null),Eb=(e,t)=>(e?.projectLabel??null)===(t?.projectLabel??null)&&(e?.branchLabel??null)===(t?.branchLabel??null),Db=e=>{if(!e.openSidebarMenuKey)return null;let t=e.archivedBucket?`archived`:`active`,n=`${e.renderContext??`project`}:${t}:`;return e.openSidebarMenuKey.startsWith(n)?e.openSidebarMenuKey.slice(n.length):null},Ob=e=>e.menuOpenSessionId??Db(e),kb=(e,t,n)=>t?n.has(e.node.session.id)?!0:Tv(e.node,t):!1,Ab=(e,t,n,r,i)=>{if(e.session.id!==t.session.id)return!0;let a=i(e);if(n.has(a)!==r.has(a)||e.children.length!==t.children.length)return!0;for(let a=0;a<e.children.length;a+=1)if(Ab(e.children[a],t.children[a],n,r,i))return!0;return!1},jb=(e,t,n,r)=>{if(e.session.id!==t.session.id)return!0;let i=e.session.id,a=n.get(i)??e.session,o=r.get(i)??t.session;if(a!==o&&Cv(a)!==Cv(o)||e.children.length!==t.children.length)return!0;for(let i=0;i<e.children.length;i+=1)if(jb(e.children[i],t.children[i],n,r))return!0;return!1},Mb=(e,t)=>{if(e.hasSessionSearchQuery||t.hasSessionSearchQuery)return!1;let n=e.archivedBucket?`archived`:`active`,r=t.archivedBucket?`archived`:`active`;return Ab(e.node,t.node,e.expandedParents,t.expandedParents,t=>`${e.renderContext??`project`}:${n}:${t.session.id}`)||Ab(e.node,t.node,e.expandedParents,t.expandedParents,e=>`${t.renderContext??`project`}:${r}:${e.session.id}`)},Nb=Q.memo(wb,(e,t)=>{if(e.node.session.id!==t.node.session.id||e.depth!==t.depth||e.groupDirectory!==t.groupDirectory||e.projectId!==t.projectId||e.archivedBucket!==t.archivedBucket||(e.renderContext??`project`)!==(t.renderContext??`project`)||e.mobileVariant!==t.mobileVariant||e.alwaysShowActions!==t.alwaysShowActions||e.shortcutNumber!==t.shortcutNumber||e.hasSessionSearchQuery!==t.hasSessionSearchQuery||e.normalizedSessionSearchQuery!==t.normalizedSessionSearchQuery||e.notifyOnSubtasks!==t.notifyOnSubtasks||e.nodeStructureKey!==t.nodeStructureKey||Tb(e.node)!==Tb(t.node)||!Eb(e.secondaryMeta,t.secondaryMeta)||e.liveSessionById!==t.liveSessionById&&jb(e.node,t.node,e.liveSessionById,t.liveSessionById)||e.pinnedSessionIds!==t.pinnedSessionIds&&Ab(e.node,t.node,e.pinnedSessionIds,t.pinnedSessionIds,e=>e.session.id)||e.expandedParents!==t.expandedParents&&Mb(e,t)||e.currentSessionId!==t.currentSessionId&&(kb(e,e.currentSessionId,e.subtreeContainsActive)||kb(t,t.currentSessionId,t.subtreeContainsActive))||e.editingId!==t.editingId&&(kb(e,e.editingId,e.subtreeContainsEditing)||kb(t,t.editingId,t.subtreeContainsEditing))||e.editTitle!==t.editTitle&&(kb(e,e.editingId,e.subtreeContainsEditing)||kb(t,t.editingId,t.subtreeContainsEditing))||e.copiedSessionId!==t.copiedSessionId&&(Tv(e.node,e.copiedSessionId)||Tv(t.node,t.copiedSessionId)))return!1;if(e.openSidebarMenuKey!==t.openSidebarMenuKey){let n=Ob(e),r=Ob(t);if(Tv(e.node,n)||Tv(t.node,r))return!1}if(e.renamingFolderId!==t.renamingFolderId){let n=Ob(e),r=Ob(t);if(Tv(e.node,n)||Tv(t.node,r))return!1}return e.setEditingId===t.setEditingId&&e.setEditTitle===t.setEditTitle&&e.handleSaveEdit===t.handleSaveEdit&&e.handleCancelEdit===t.handleCancelEdit&&e.toggleParent===t.toggleParent&&e.handleSessionSelect===t.handleSessionSelect&&e.handleSessionDoubleClick===t.handleSessionDoubleClick&&e.togglePinnedSession===t.togglePinnedSession&&e.handleShareSession===t.handleShareSession&&e.handleCopyShareUrl===t.handleCopyShareUrl&&e.handleUnshareSession===t.handleUnshareSession&&e.setOpenSidebarMenuKey===t.setOpenSidebarMenuKey&&e.getFoldersForScope===t.getFoldersForScope&&e.getSessionFolderId===t.getSessionFolderId&&e.removeSessionFromFolder===t.removeSessionFromFolder&&e.addSessionToFolder===t.addSessionToFolder&&e.createFolderAndStartRename===t.createFolderAndStartRename&&e.openContextPanelTab===t.openContextPanelTab&&e.handleDeleteSession===t.handleDeleteSession&&e.renderSessionNode===t.renderSessionNode});function Pb(e){return e.stopPropagation()}function Fb(e){return e.stopPropagation()}function Ib(e){let t=(0,Vc.c)(71),{t:n}=Je(),{value:r,setValue:i,showDeletionDialog:a,setShowDeletionDialog:o,onConfirm:s}=e,c,l,u,d,f,p,m,h,g,_;if(t[0]!==i||t[1]!==n||t[2]!==r){let e=n(`sessions.sidebar.session.untitled`);d=Hn,g=!!r,t[13]===i?_=t[14]:(_=e=>{e||i(null)},t[13]=i,t[14]=_),u=zn,m=!1,h=`max-w-sm gap-5`,l=Ln;let a;t[15]!==n||t[16]!==r?.archivedBucket?(a=r?.archivedBucket?n(`sessions.sidebar.dialogs.deleteSession.title`):n(`sessions.sidebar.dialogs.archiveSession.title`),t[15]=n,t[16]=r?.archivedBucket,t[17]=a):a=t[17],t[18]===a?p=t[19]:(p=(0,$.jsx)(Bn,{children:a}),t[18]=a,t[19]=p),c=Vn,f=r&&r.descendantCount>0?r.archivedBucket?r.descendantCount===1?n(`sessions.sidebar.dialogs.deleteSession.withOneSubtask`,{sessionTitle:r.session.title||e,count:r.descendantCount}):n(`sessions.sidebar.dialogs.deleteSession.withManySubtasks`,{sessionTitle:r.session.title||e,count:r.descendantCount}):r.descendantCount===1?n(`sessions.sidebar.dialogs.archiveSession.withOneSubtask`,{sessionTitle:r.session.title||e,count:r.descendantCount}):n(`sessions.sidebar.dialogs.archiveSession.withManySubtasks`,{sessionTitle:r.session.title||e,count:r.descendantCount}):r?.archivedBucket?n(`sessions.sidebar.dialogs.deleteSession.single`,{sessionTitle:r?.session.title||e}):n(`sessions.sidebar.dialogs.archiveSession.single`,{sessionTitle:r?.session.title||e}),t[0]=i,t[1]=n,t[2]=r,t[3]=c,t[4]=l,t[5]=u,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g,t[12]=_}else c=t[3],l=t[4],u=t[5],d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11],_=t[12];let v;t[20]!==c||t[21]!==f?(v=(0,$.jsx)(c,{children:f}),t[20]=c,t[21]=f,t[22]=v):v=t[22];let y;t[23]!==l||t[24]!==p||t[25]!==v?(y=(0,$.jsxs)(l,{children:[p,v]}),t[23]=l,t[24]=p,t[25]=v,t[26]=y):y=t[26];let b;t[27]!==o||t[28]!==a?(b=()=>o(!a),t[27]=o,t[28]=a,t[29]=b):b=t[29];let x=!a,S;t[30]===a?S=t[31]:(S=a?(0,$.jsx)(X,{name:`checkbox-blank`,className:`h-4 w-4`}):(0,$.jsx)(X,{name:`checkbox`,className:`h-4 w-4 text-primary`}),t[30]=a,t[31]=S);let C;t[32]===n?C=t[33]:(C=n(`sessions.sidebar.dialogs.neverAsk`),t[32]=n,t[33]=C);let w;t[34]!==S||t[35]!==C||t[36]!==b||t[37]!==x?(w=(0,$.jsxs)(`button`,{type:`button`,onClick:b,className:`inline-flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/50`,"aria-pressed":x,children:[S,C]}),t[34]=S,t[35]=C,t[36]=b,t[37]=x,t[38]=w):w=t[38];let T;t[39]===i?T=t[40]:(T=()=>i(null),t[39]=i,t[40]=T);let E;t[41]===n?E=t[42]:(E=n(`sessions.sidebar.dialogs.cancel`),t[41]=n,t[42]=E);let D;t[43]!==T||t[44]!==E?(D=(0,$.jsx)(`button`,{type:`button`,onClick:T,className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 typography-ui-label text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:E}),t[43]=T,t[44]=E,t[45]=D):D=t[45];let O;t[46]===s?O=t[47]:(O=()=>void s(),t[46]=s,t[47]=O);let k;t[48]!==n||t[49]!==r?.archivedBucket?(k=r?.archivedBucket?n(`sessions.sidebar.bulkActions.delete`):n(`sessions.sidebar.bulkActions.archive`),t[48]=n,t[49]=r?.archivedBucket,t[50]=k):k=t[50];let A;t[51]!==O||t[52]!==k?(A=(0,$.jsx)(`button`,{type:`button`,onClick:O,className:`inline-flex h-8 items-center justify-center rounded-md bg-destructive px-3 typography-ui-label text-destructive-foreground hover:bg-destructive/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50`,children:k}),t[51]=O,t[52]=k,t[53]=A):A=t[53];let j;t[54]!==D||t[55]!==A?(j=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[D,A]}),t[54]=D,t[55]=A,t[56]=j):j=t[56];let M;t[57]!==w||t[58]!==j?(M=(0,$.jsxs)(Rn,{className:`w-full sm:items-center sm:justify-between`,children:[w,j]}),t[57]=w,t[58]=j,t[59]=M):M=t[59];let N;t[60]!==u||t[61]!==m||t[62]!==M||t[63]!==h||t[64]!==y?(N=(0,$.jsxs)(u,{showCloseButton:m,className:h,children:[y,M]}),t[60]=u,t[61]=m,t[62]=M,t[63]=h,t[64]=y,t[65]=N):N=t[65];let P;return t[66]!==d||t[67]!==N||t[68]!==g||t[69]!==_?(P=(0,$.jsx)(d,{open:g,onOpenChange:_,children:N}),t[66]=d,t[67]=N,t[68]=g,t[69]=_,t[70]=P):P=t[70],P}function Lb(e){let t=(0,Vc.c)(57),{t:n}=Je(),{value:r,setValue:i,showDeletionDialog:a,setShowDeletionDialog:o,onConfirm:s}=e,c=r?.archivedBucket===!0,l=r?.sessionCount??0,u;t[0]!==c||t[1]!==l||t[2]!==n?(u=n(c?l===1?`sessions.sidebar.dialogs.deleteSession.title`:`sessions.sidebar.dialogs.deleteSessions.title`:l===1?`sessions.sidebar.dialogs.archiveSession.title`:`sessions.sidebar.dialogs.archiveSessions.title`),t[0]=c,t[1]=l,t[2]=n,t[3]=u):u=t[3];let d=u,f;t[4]!==c||t[5]!==l||t[6]!==n?(f=n(c?l===1?`sessions.sidebar.dialogs.deleteSessions.singleDescription`:`sessions.sidebar.dialogs.deleteSessions.pluralDescription`:l===1?`sessions.sidebar.dialogs.archiveSessions.singleDescription`:`sessions.sidebar.dialogs.archiveSessions.pluralDescription`,{count:l}),t[4]=c,t[5]=l,t[6]=n,t[7]=f):f=t[7];let p=f,m=!!r,h;t[8]===i?h=t[9]:(h=e=>{e||i(null)},t[8]=i,t[9]=h);let g;t[10]===d?g=t[11]:(g=(0,$.jsx)(Bn,{children:d}),t[10]=d,t[11]=g);let _;t[12]===p?_=t[13]:(_=(0,$.jsx)(Vn,{children:p}),t[12]=p,t[13]=_);let v;t[14]!==g||t[15]!==_?(v=(0,$.jsxs)(Ln,{children:[g,_]}),t[14]=g,t[15]=_,t[16]=v):v=t[16];let y;t[17]!==o||t[18]!==a?(y=()=>o(!a),t[17]=o,t[18]=a,t[19]=y):y=t[19];let b=!a,x;t[20]===a?x=t[21]:(x=a?(0,$.jsx)(X,{name:`checkbox-blank`,className:`h-4 w-4`}):(0,$.jsx)(X,{name:`checkbox`,className:`h-4 w-4 text-primary`}),t[20]=a,t[21]=x);let S;t[22]===n?S=t[23]:(S=n(`sessions.sidebar.dialogs.neverAsk`),t[22]=n,t[23]=S);let C;t[24]!==S||t[25]!==y||t[26]!==b||t[27]!==x?(C=(0,$.jsxs)(`button`,{type:`button`,onClick:y,className:`inline-flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/50`,"aria-pressed":b,children:[x,S]}),t[24]=S,t[25]=y,t[26]=b,t[27]=x,t[28]=C):C=t[28];let w;t[29]===i?w=t[30]:(w=()=>i(null),t[29]=i,t[30]=w);let T;t[31]===n?T=t[32]:(T=n(`sessions.sidebar.dialogs.cancel`),t[31]=n,t[32]=T);let E;t[33]!==w||t[34]!==T?(E=(0,$.jsx)(`button`,{type:`button`,onClick:w,className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 typography-ui-label text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:T}),t[33]=w,t[34]=T,t[35]=E):E=t[35];let D;t[36]===s?D=t[37]:(D=()=>void s(),t[36]=s,t[37]=D);let O;t[38]!==c||t[39]!==n?(O=n(c?`sessions.sidebar.bulkActions.delete`:`sessions.sidebar.bulkActions.archive`),t[38]=c,t[39]=n,t[40]=O):O=t[40];let k;t[41]!==D||t[42]!==O?(k=(0,$.jsx)(`button`,{type:`button`,onClick:D,className:`inline-flex h-8 items-center justify-center rounded-md bg-destructive px-3 typography-ui-label text-destructive-foreground hover:bg-destructive/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50`,children:O}),t[41]=D,t[42]=O,t[43]=k):k=t[43];let A;t[44]!==E||t[45]!==k?(A=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[E,k]}),t[44]=E,t[45]=k,t[46]=A):A=t[46];let j;t[47]!==C||t[48]!==A?(j=(0,$.jsxs)(Rn,{className:`w-full sm:items-center sm:justify-between`,children:[C,A]}),t[47]=C,t[48]=A,t[49]=j):j=t[49];let M;t[50]!==j||t[51]!==v?(M=(0,$.jsxs)(zn,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[v,j]}),t[50]=j,t[51]=v,t[52]=M):M=t[52];let N;return t[53]!==m||t[54]!==M||t[55]!==h?(N=(0,$.jsx)(Hn,{open:m,onOpenChange:h,children:M}),t[53]=m,t[54]=M,t[55]=h,t[56]=N):N=t[56],N}function Rb(e){let t=(0,Vc.c)(36),{t:n}=Je(),{value:r,setValue:i,onConfirm:a}=e,o=!!r,s;t[0]===i?s=t[1]:(s=e=>{e||i(null)},t[0]=i,t[1]=s);let c;t[2]===n?c=t[3]:(c=n(`sessions.sidebar.dialogs.deleteFolder.title`),t[2]=n,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,$.jsx)(Bn,{children:c}),t[4]=c,t[5]=l);let u;t[6]!==n||t[7]!==r?(u=r&&(r.subFolderCount>0||r.sessionCount>0)?r.subFolderCount>0?r.subFolderCount===1?n(`sessions.sidebar.dialogs.deleteFolder.withOneSubfolder`,{folderName:r.folderName,count:r.subFolderCount}):n(`sessions.sidebar.dialogs.deleteFolder.withManySubfolders`,{folderName:r.folderName,count:r.subFolderCount}):n(`sessions.sidebar.dialogs.deleteFolder.withContentsNoSubfolders`,{folderName:r.folderName}):n(`sessions.sidebar.dialogs.deleteFolder.single`,{folderName:r?.folderName??``}),t[6]=n,t[7]=r,t[8]=u):u=t[8];let d;t[9]===u?d=t[10]:(d=(0,$.jsx)(Vn,{children:u}),t[9]=u,t[10]=d);let f;t[11]!==l||t[12]!==d?(f=(0,$.jsxs)(Ln,{children:[l,d]}),t[11]=l,t[12]=d,t[13]=f):f=t[13];let p;t[14]===i?p=t[15]:(p=()=>i(null),t[14]=i,t[15]=p);let m;t[16]===n?m=t[17]:(m=n(`sessions.sidebar.dialogs.cancel`),t[16]=n,t[17]=m);let h;t[18]!==p||t[19]!==m?(h=(0,$.jsx)(`button`,{type:`button`,onClick:p,className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 typography-ui-label text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:m}),t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;t[21]===n?g=t[22]:(g=n(`sessions.sidebar.bulkActions.delete`),t[21]=n,t[22]=g);let _;t[23]!==a||t[24]!==g?(_=(0,$.jsx)(`button`,{type:`button`,onClick:a,className:`inline-flex h-8 items-center justify-center rounded-md bg-destructive px-3 typography-ui-label text-destructive-foreground hover:bg-destructive/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50`,children:g}),t[23]=a,t[24]=g,t[25]=_):_=t[25];let v;t[26]!==_||t[27]!==h?(v=(0,$.jsxs)(Rn,{children:[h,_]}),t[26]=_,t[27]=h,t[28]=v):v=t[28];let y;t[29]!==v||t[30]!==f?(y=(0,$.jsxs)(zn,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[f,v]}),t[29]=v,t[30]=f,t[31]=y):y=t[31];let b;return t[32]!==o||t[33]!==s||t[34]!==y?(b=(0,$.jsx)(Hn,{open:o,onOpenChange:s,children:y}),t[32]=o,t[33]=s,t[34]=y,t[35]=b):b=t[35],b}var zb=e=>{let t=(0,Vc.c)(46),{selectedCount:n,scopeKey:r,scopeFolders:i,archivedBucket:a,onMoveToFolder:o,onCreateFolderAndMove:s,onRemoveFromFolder:c,canRemoveFromFolder:l,onDelete:u,onDone:d}=e,{t:f}=Je(),p=!!r&&!a,m;t[0]!==a||t[1]!==f?(m=f(a?`sessions.sidebar.bulkActions.delete`:`sessions.sidebar.bulkActions.archive`),t[0]=a,t[1]=f,t[2]=m):m=t[2];let h=m,g;t[3]!==n||t[4]!==f?(g=f(`sessions.sidebar.bulkActions.selectedCount`,{count:n}),t[3]=n,t[4]=f,t[5]=g):g=t[5];let _;t[6]===g?_=t[7]:(_=(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground whitespace-nowrap`,children:g}),t[6]=g,t[7]=_);let v;t[8]!==p||t[9]!==l||t[10]!==s||t[11]!==o||t[12]!==c||t[13]!==i||t[14]!==f?(v=p?(0,$.jsxs)(ga,{children:[(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(va,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,"aria-label":f(`sessions.sidebar.bulkActions.moveToFolder`),children:(0,$.jsx)(X,{name:`folder`,className:`h-4 w-4`})})})}),(0,$.jsx)(ia,{side:`top`,sideOffset:4,children:(0,$.jsx)(`p`,{children:f(`sessions.sidebar.bulkActions.moveToFolder`)})})]}),(0,$.jsxs)(la,{align:`end`,className:`min-w-[180px]`,children:[i.length===0?(0,$.jsx)(da,{disabled:!0,className:`text-muted-foreground`,children:f(`sessions.sidebar.folders.none`)}):i.map(e=>(0,$.jsx)(da,{onClick:()=>o(e.id),children:(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:e.name})},e.id)),(0,$.jsx)(sa,{}),(0,$.jsxs)(da,{onClick:s,children:[(0,$.jsx)(X,{name:`add`,className:`mr-1 h-4 w-4`}),f(`sessions.sidebar.folders.newFolderEllipsis`)]}),l?(0,$.jsxs)(da,{onClick:c,className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(X,{name:`close`,className:`mr-1 h-4 w-4`}),f(`sessions.sidebar.folders.removeFromFolder`)]}):null]})]}):null,t[8]=p,t[9]=l,t[10]=s,t[11]=o,t[12]=c,t[13]=i,t[14]=f,t[15]=v):v=t[15];let y;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(y=Y(`inline-flex h-7 w-7 items-center justify-center rounded-md text-destructive hover:bg-destructive/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50`),t[16]=y):y=t[16];let b;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(X,{name:`delete-bin`,className:`h-4 w-4`}),t[17]=b):b=t[17];let x;t[18]!==h||t[19]!==u?(x=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:u,className:y,"aria-label":h,children:b})}),t[18]=h,t[19]=u,t[20]=x):x=t[20];let S;t[21]===h?S=t[22]:(S=(0,$.jsx)(ia,{side:`top`,sideOffset:4,children:(0,$.jsx)(`p`,{children:h})}),t[21]=h,t[22]=S);let C;t[23]!==x||t[24]!==S?(C=(0,$.jsxs)(oa,{children:[x,S]}),t[23]=x,t[24]=S,t[25]=C):C=t[25];let w;t[26]===f?w=t[27]:(w=f(`sessions.sidebar.header.actions.exitSelection`),t[26]=f,t[27]=w);let T;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`}),t[28]=T):T=t[28];let E;t[29]!==d||t[30]!==w?(E=(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:d,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,"aria-label":w,children:T})}),t[29]=d,t[30]=w,t[31]=E):E=t[31];let D;t[32]===f?D=t[33]:(D=f(`sessions.sidebar.header.actions.exitSelection`),t[32]=f,t[33]=D);let O;t[34]===D?O=t[35]:(O=(0,$.jsx)(ia,{side:`top`,sideOffset:4,children:(0,$.jsx)(`p`,{children:D})}),t[34]=D,t[35]=O);let k;t[36]!==E||t[37]!==O?(k=(0,$.jsxs)(oa,{children:[E,O]}),t[36]=E,t[37]=O,t[38]=k):k=t[38];let A;t[39]!==k||t[40]!==v||t[41]!==C?(A=(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-0.5`,children:[v,C,k]}),t[39]=k,t[40]=v,t[41]=C,t[42]=A):A=t[42];let j;return t[43]!==A||t[44]!==_?(j=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 border-t border-border px-2.5 py-1.5`,children:[_,A]}),t[43]=A,t[44]=_,t[45]=j):j=t[45],j},Bb=e=>{let{t}=Je(),{isInlineEditing:n,showDeletionDialog:r,foldersMap:i,addSessionsToFolder:a,removeSessionsFromFolders:o,createFolderAndStartRename:s,archiveSessions:c,setBulkDeleteConfirm:l}=e,u=wy(e=>e.enabled),d=wy(e=>e.selectedIds.size),f=d>0,p=wy(e=>e.selectedIds),m=wy(e=>e.scopeKey),h=Q.useCallback(()=>{wy.getState().toggleMode()},[]),g=Q.useCallback(()=>{wy.getState().disable()},[]),_=Q.useMemo(()=>{if(!f||typeof document>`u`)return!1;let e=!1,t=!1;for(let n of p){let r=document.querySelectorAll(`[data-session-row="${CSS.escape(n)}"]`);for(let n of r)n.getAttribute(`data-session-archived`)===`1`?t=!0:e=!0}return t&&!e},[f,p]),v=Q.useMemo(()=>{if(m)return m;if(!f||typeof document>`u`)return null;for(let e of p){let t=document.querySelector(`[data-session-row="${CSS.escape(e)}"]`)?.getAttribute(`data-session-scope`);if(t&&t.length>0)return t}return null},[f,p,m]),y=Q.useMemo(()=>v?i[v]??[]:[],[i,v]),b=Q.useMemo(()=>{if(!v||!f)return!1;let e=i[v]??[];for(let t of e)for(let e of t.sessionIds)if(p.has(e))return!0;return!1},[i,v,f,p]),x=Q.useCallback(e=>{!v||!f||a(v,e,Array.from(p))},[a,p,v,f]),S=Q.useCallback(()=>{if(!v||!f)return;let e=s(v);e&&a(v,e.id,Array.from(p))},[a,s,p,v,f]),C=Q.useCallback(()=>{!v||!f||o(v,Array.from(p))},[o,p,v,f]),w=Q.useCallback(async()=>{let e=Array.from(p);if(e.length!==0){if(_)$s({sessionIds:e,message:e.length===1?t(`sessions.sidebar.bulkActions.deletedSingle`,{count:e.length}):t(`sessions.sidebar.bulkActions.deletedPlural`,{count:e.length}),undoLabel:t(`sessions.sidebar.undo`),commitFailedMessage:e.length===1?t(`sessions.sidebar.bulkActions.failedDeleteSingle`,{count:e.length}):t(`sessions.sidebar.bulkActions.failedDeletePlural`,{count:e.length})});else{let{archivedIds:n,failedIds:r}=await c(e);n.length>0&&Ts({sessionIds:n,message:n.length===1?t(`sessions.sidebar.bulkActions.archivedSingle`,{count:n.length}):t(`sessions.sidebar.bulkActions.archivedPlural`,{count:n.length}),undoLabel:t(`sessions.sidebar.undo`),settingsLabel:t(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:n.length===1?t(`sessions.sidebar.session.archive.undoFailed`):t(`sessions.sidebar.bulkActions.archiveUndoFailed`,{count:n.length})}),r.length>0&&J.error(r.length===1?t(`sessions.sidebar.bulkActions.failedArchiveSingle`,{count:r.length}):t(`sessions.sidebar.bulkActions.failedArchivePlural`,{count:r.length}))}wy.getState().clear()}},[c,_,p,t]),T=Q.useCallback(()=>{if(!f)return;let e=p.size;if(!_||!r){w();return}l({sessionCount:e,archivedBucket:_})},[_,w,p,r,l,f]),E=Q.useCallback(async()=>{l(null),await w()},[w]);return Q.useEffect(()=>{if(!u)return;let e=typeof navigator<`u`&&/Macintosh|Mac OS X/.test(navigator.userAgent||``),t=t=>{if(n)return;let r=t.target;if(r&&(r.tagName===`INPUT`||r.tagName===`TEXTAREA`||r.isContentEditable))return;let i=e?t.metaKey:t.ctrlKey;if(t.key===`Escape`){t.preventDefault(),wy.getState().disable();return}if(i&&t.key===`Backspace`){t.preventDefault(),T();return}if(i&&(t.key===`a`||t.key===`A`)){let e=typeof document<`u`?Array.from(document.querySelectorAll(`[data-session-row]`)):[];if(e.length===0)return;t.preventDefault();let n=wy.getState().scopeKey??e[0]?.getAttribute(`data-session-scope`)??null,r=e.filter(e=>!n||e.getAttribute(`data-session-scope`)===n).map(e=>e.getAttribute(`data-session-row`)).filter(e=>typeof e==`string`&&e.length>0);if(r.length===0)return;wy.getState().replaceAll(r,n||null)}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[T,n,u]),{selectionModeEnabled:u,hasSelection:f,selectedIdsSize:d,bulkScopeIsArchived:_,derivedSelectionScope:v,bulkScopeFolders:y,bulkCanRemoveFromFolder:b,handleToggleSelectionMode:h,handleExitSelectionMode:g,handleBulkMoveToFolder:x,handleBulkCreateFolderAndMove:S,handleBulkRemoveFromFolder:C,handleBulkDelete:T,confirmBulkDelete:E}},Vb=(e,t,n)=>{let r=[],i=new Set,a=e=>{let t=U(e??null);!t||i.has(t)||(i.add(t),r.push(t))};if(a(e),a(n?.workspaceRoot),a(n?.currentDirectory),n?.includeWorktrees!==!1)for(let e of t)a(e.path);return r},Hb=(e,t,n,r)=>{let i=e.filter(e=>e.sessionId===t);if(i.length===0)return null;if(n){let e=i.find(e=>e.projectId===n);if(e)return e}if(r){let e=i.find(e=>e.projectId===r);if(e)return e}return i[0]??null},Ub=({currentSessionId:e,focus:t,pinnedFocuses:n,projectFocuses:r,fallbackProjectId:i})=>{if(!e)return null;let a=t?.sessionId===e,o=a?t.projectId:null,s=Hb(r,e,o,i)??{scope:`project`,sessionId:e,projectId:i};return!a||t.scope===`project`?s:Hb(n,e,o,i)??s};function Wb(e,t,n=null){if(!e||e.scope!==`project`||!e.sessionId)return null;if(e.projectId){let n=t.find(t=>t.sessionId===e.sessionId&&t.projectId===e.projectId);if(n)return n}if(n){let r=t.find(t=>t.sessionId===e.sessionId&&t.projectId===n);if(r)return r}return t.find(t=>t.sessionId===e.sessionId)??null}var Gb=`oc.sessions.projectCollapse`,Kb=`oc.sessions.groupOrder`,qb=`oc.sessions.groupCollapse`,Jb=`oc.sessions.activeSessionByProject`,Yb=`oc.sessions.expandedParents.v2`,Xb=`oc.sessions.expandedParents`,Zb=b(Ae()),Qb=e=>{try{let t=Zb.getItem(e);if(!t)return new Set;let n=JSON.parse(t);return new Set(Array.isArray(n)?n.filter(e=>typeof e==`string`):[])}catch{return new Set}},$b=e=>{try{let t=Zb.getItem(e);if(!t)return new Map;let n=JSON.parse(t),r=new Map;return!n||typeof n!=`object`||Array.isArray(n)||Object.entries(n).forEach(([e,t])=>{typeof t==`string`&&t.length>0&&r.set(e,t)}),r}catch{return new Map}},ex=e=>{try{let t=Zb.getItem(e);if(!t)return new Map;let n=JSON.parse(t),r=new Map;return!n||typeof n!=`object`||Array.isArray(n)||Object.entries(n).forEach(([e,t])=>{Array.isArray(t)&&r.set(e,t.filter(e=>typeof e==`string`))}),r}catch{return new Map}},tx=(e,t,n)=>{let r=new Set;for(let t of e){let e=U(t.path)?.toLowerCase();e&&r.add(e)}if(n?.includeWorktrees===!1)return r;for(let e of t.values())for(let t of e){let e=U(t.path)?.toLowerCase();e&&r.add(e)}return r},nx=(e,t,n)=>{if(e.time?.archived)return!0;let r=U(Bt(e))?.toLowerCase();return r?t.size===0?n?.allowEmptyDirectorySet??!0:t.has(r):n?.allowUnknownDirectory??!0},rx=3e5,ix=new Set,ax=[],ox={},sx=e=>{let t=Q.useRef(e);return t.current=e,Q.useCallback((...e)=>t.current(...e),[])},cx=({mobileVariant:e=!1,onSessionSelected:t,allowReselect:n=!1,hideDirectoryControls:r=!1,showOnlyMainWorkspace:i=!1,isVisible:a=!0})=>{let{t:s}=Je(),[c,l]=Q.useState(!1),[d,f]=Q.useState(!1),[p,m]=Q.useState(``),h=Q.useRef(null),g=Q.useRef(null),_=Q.useRef(new Set),[v,y]=Q.useState(null),[b,x]=Q.useState(``),[C,w]=Q.useState(null),[T,E]=Q.useState(new Set),D=Q.useMemo(()=>Zb,[]),[O,k]=Q.useState(new Set),[A,j]=Q.useState(new Map),[M,N]=Q.useState(new Map),P=K(e=>e.isNewWorktreeDialogOpen),F=K(e=>e.setNewWorktreeDialogOpen),[I,ee]=Q.useState(null),[L,R]=Q.useState(null),[z,B]=Q.useState(``),[V,te]=Q.useState(null),[ne,W]=Q.useState(null),[re,G]=Q.useState(null),ie=pn(),ae=an(),[oe,se]=Q.useState(()=>Qb(qb)),[le,ue]=Q.useState(()=>ex(Kb)),[de,fe]=Q.useState(()=>$b(Jb));Q.useEffect(()=>o(e=>{u(e)&&(se(Qb(qb)),ue(ex(Kb)),fe($b(Jb)),k(Qb(Gb)),E(Qb(Yb)))}),[]);let[pe,me]=Q.useState(new Map),he=Q.useRef(new Map),ge=Q.useRef(0),_e=xe(e=>e.homeDirectory),ve=xe(e=>e.currentDirectory),ye=xe(e=>e.setDirectory),be=qt(e=>e.projects),Se=qt(e=>e.activeProjectId),Ce=qt(e=>e.removeProject),we=qt(e=>e.setActiveProjectIdOnly),Te=qt(e=>e.updateProjectMeta),Ee=qt(e=>e.reorderProjectsById),De=K(e=>e.setActiveMainTab),Oe=K(e=>e.activeMainTab),ke=$e(),Ae=K(e=>e.openContextPanelTab),je=K(e=>e.setSettingsDialogOpen),Me=K(e=>e.toggleHelpDialog),Ne=K(e=>e.setSessionSwitcherOpen),Pe=K(e=>e.setScheduledTasksDialogOpen),q=K(e=>e.notifyOnSubtasks),Fe=K(e=>e.showDeletionDialog),Ie=K(e=>e.setShowDeletionDialog),Le=Ja(p,120),Re=Q.useMemo(()=>Le.trim().toLowerCase(),[Le]),ze=Re.length>0,Be=Jo(ce(e=>({checkForUpdates:e.checkForUpdates,available:e.available,runtimeType:e.runtimeType,info:e.info,downloading:e.downloading,downloaded:e.downloaded,progress:e.progress,error:e.error,downloadUpdate:e.downloadUpdate,restartToUpdate:e.restartToUpdate}))),Ve=Cn(e=>e.collapsedFolderIds),He=Cn(e=>e.foldersMap),Ue=Cn(e=>e.sessionOrderByScope),We=Cn(e=>e.sessionOrderActivityByScope),Ge=Cn(e=>e.getFoldersForScope),Ke=Cn(e=>e.createFolder),qe=Cn(e=>e.renameFolder),Ye=Cn(e=>e.deleteFolder),Xe=Cn(e=>e.addSessionToFolder),Ze=Cn(e=>e.addSessionsToFolder),Qe=Cn(e=>e.removeSessionFromFolder),tt=Cn(e=>e.removeSessionsFromFolders),nt=Cn(e=>e.toggleFolderCollapse),it=Cn(e=>e.cleanupSessions),at=Cn(e=>e.getSessionFolderId),ot=Cn(e=>e.reorderSessions);s_({isSessionSearchOpen:a&&d,setIsSessionSearchOpen:f,sessionSearchInputRef:g,sessionSearchContainerRef:h});let st=Q.useMemo(()=>new Map,[]),ct=rt({enabled:a}),lt=Rs({enabled:a}),ut=Os({enabled:a}),dt=et(e=>a?e.index.session.unseenCount:ox),ft=Q.useMemo(()=>H(),[]),pt=Ut(e=>e.fullCatalogSessionIds),mt=Ut(e=>e.fullCatalogGeneration),ht=Ut(e=>e.status),gt=Ut(e=>e.activeSessions),_t=Ut(e=>e.archivedSessions),vt=Ut(e=>e.loadingDirectories),yt=Ut(e=>e.refreshingDirectories),bt=Ut(e=>e.archivedLoadingDirectories),xt=Q.useDeferredValue(gt),St=Q.useDeferredValue(_t),Ct=Rt(e=>e.currentSessionId),wt=ii(e=>e.focus),Tt=Q.useSyncExternalStore(Vt,wn,wn),Et=Rt(e=>!!e.newSessionDraft?.open),Dt=Rt(e=>e.setCurrentSession),Ot=Rt(e=>e.updateSessionTitle),kt=Rt(e=>e.shareSession),jt=Rt(e=>e.unshareSession),Mt=Rt(e=>e.worktreeMetadata),Nt=Rt(e=>e.availableWorktreesByProject),Ft=Rt(e=>e.openNewSessionDraft),It=Q.useCallback(e=>{Ft(e),ft&&window.dispatchEvent(new CustomEvent(`openchamber:navigate`,{detail:{view:`chat`}}))},[ft,Ft]),Lt=Q.useMemo(()=>tx(be,Nt,{includeWorktrees:!ft}),[Nt,ft,be]),zt=Q.useMemo(()=>{let e=new Map(ct.map(e=>[e.id,e])),t=xt.map(t=>{let n=e.get(t.id);return n?Pt(n,t):t}),n=new Set(t.map(e=>e.id));return ct.forEach(e=>{n.has(e.id)||t.push(e)}),t.filter(e=>nx(e,Lt,{allowUnknownDirectory:!ft,allowEmptyDirectorySet:!ft}))},[xt,ft,Lt,ct]),Ht=Q.useMemo(()=>ct.map(e=>{let t=U(e.directory??null)??``;return`${e.id}:${e.title??``}:${+!!e.time?.archived}:${t}`}).join(`|`),[ct]),Wt=Q.useRef(ct);Q.useEffect(()=>{Wt.current=ct},[Ht,ct]);let Gt=Q.useMemo(()=>new Map(ct.map(e=>[e.id,e])),[ct]);Q.useEffect(()=>{let e=null,t=Qt(t=>{t.type===`scheduled-task-ran`&&(e&&clearTimeout(e),e=setTimeout(()=>{let e=qt.getState().projects.find(e=>e.id===t.projectId),n=U(e?.path??null);if(!n)return;let r=[n];(Rt.getState().availableWorktreesByProject.get(n)??[]).forEach(e=>{let t=U(e.path);t&&r.push(t)}),yn(r,Wt.current)},500))});return()=>{e&&clearTimeout(e),t()}},[]);let Kt=Q.useMemo(()=>S(),[]),Jt=os(e=>e.sidebarBrandName.trim().length>0),{isTablet:Xt}=Ia(),Zt=e||Xt,{buildGroupSearchText:en,filterSessionNodesForSearch:tn,buildGroupedSessions:nn}=o_({homeDirectory:_e,worktreeMetadata:Mt,pinnedSessionIds:ie,gitBranches:st,isVSCode:ft}),{scheduleCollapsedProjectsPersist:rn,hasRestoredProjectCollapse:on}=m_({isVSCode:ft,safeStorage:D,keys:{sessionExpanded:Yb,sessionExpandedLegacy:Xb,projectCollapse:Gb,groupOrder:Kb,projectActiveSession:Jb,groupCollapse:qb},groupOrderByProject:le,activeSessionByProject:de,collapsedGroups:oe,setExpandedParents:E,setCollapsedProjects:k}),sn=Q.useMemo(()=>[...zt].sort((e,t)=>Sr(e,t,ie)),[zt,ie]),cn=Q.useMemo(()=>{let e=new Map;return sn.forEach(t=>{let n=t.parentID;if(!n)return;let r=e.get(n)??[];r.push(t),e.set(n,r)}),e.forEach(e=>e.sort((e,t)=>Sr(e,t,ie))),e},[sn,ie]),ln=(0,$.jsxs)(`div`,{className:`py-6 text-center text-muted-foreground`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold`,children:s(`sessions.sidebar.empty.noSessions.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1`,children:s(`sessions.sidebar.empty.noSessions.description`)})]}),dn=Q.useMemo(()=>be.find(e=>e.id===C)??null,[be,C]),fn=Q.useCallback(e=>{C&&Te(C,{label:e.label,icon:e.icon,color:e.color,iconBackground:e.iconBackground,defaultModel:e.defaultModel??null})},[C,Te]),mn=Q.useCallback(()=>{F(!0)},[F]),hn=Q.useCallback((t,n)=>{if(De(`chat`),e&&Ne(!1),n?.sessionId){Dt(n.sessionId,t);return}Ft({directoryOverride:t,preserveDirectoryOverride:!0})},[e,Ft,De,Dt,Ne]),gn=Q.useCallback(()=>{let e=Jo.getState();if(e.available&&e.info){l(!0);return}Be.checkForUpdates().then(()=>{let{available:e,error:t}=Jo.getState();if(t){J.error(s(`sessions.sidebar.updateCheck.errorTitle`),{description:t});return}if(!e){J.success(s(`sessions.sidebar.updateCheck.latestVersion`));return}l(!0)})},[s,Be]),_n=Q.useCallback(()=>{e&&Ne(!1),je(!0)},[e,Ne,je]),vn=Q.useCallback(()=>{De(`chat`),Ft(),e&&Ne(!1)},[e,Ft,De,Ne]),bn=Q.useCallback(()=>{if(!e){De(`schedule`);return}Pe(!0),Ne(!1)},[e,De,Pe,Ne]),xn=Q.useCallback(()=>{In(),e&&Ne(!1)},[e,Ne]),Sn=Be.available&&(Be.runtimeType===`desktop`||Be.runtimeType===`web`),Tn=Rt(e=>e.archiveSession),Dn=Rt(e=>e.archiveSessions),{copiedSessionId:On,handleSessionSelect:kn,handleSessionDoubleClick:An,handleSaveEdit:jn,handleCancelEdit:Mn,handleShareSession:Nn,handleCopyShareUrl:Pn,handleUnshareSession:Fn,handleDeleteSession:Ln,confirmDeleteSession:Rn}=c_({activeProjectId:Se,currentDirectory:ve,currentSessionId:Ct,mobileVariant:e,allowReselect:n,onSessionSelected:t,isSessionSearchOpen:d,sessionSearchQuery:p,setSessionSearchQuery:m,setIsSessionSearchOpen:f,setActiveProjectIdOnly:we,setDirectory:ye,setActiveMainTab:De,setSessionSwitcherOpen:Ne,setCurrentSession:Dt,updateSessionTitle:Ot,shareSession:kt,unshareSession:jt,archiveSession:Tn,archiveSessions:Dn,childrenMap:cn,showDeletionDialog:Fe,setDeleteSessionConfirm:te,deleteSessionConfirm:V,setEditingId:y,setEditTitle:x,editingId:v,editTitle:b}),zn=Q.useCallback((e,t,n,r=`project`)=>{let i={sessionId:e,scope:r,projectId:n??null};if(e===Ct){$t(e),yb(i),kn(e,t,n);return}_b(i,()=>kn(e,t,n))},[kn,Ct]);Q.useEffect(()=>()=>{gb()},[]);let Bn=Q.useCallback(()=>{if(!ne)return;let{scopeKey:e,folderId:t}=ne;W(null),Ye(e,t)},[ne,Ye]);Q.useEffect(()=>{if(!Ct)return;let e=zt.find(e=>e.id===Ct)?.parentID;if(!e)return;let t=[`project:active:${e}`,`project:archived:${e}`,`recent:active:${e}`,`recent:archived:${e}`];E(e=>{if(t.every(t=>e.has(t)))return e;let n=new Set(e);t.forEach(e=>n.add(e));try{D.setItem(Yb,JSON.stringify(Array.from(n)))}catch{}return n})},[Ct,zt,D]);let Vn=Q.useCallback(e=>{E(t=>{let n=new Set(t);n.has(e)?n.delete(e):n.add(e);try{D.setItem(Yb,JSON.stringify(Array.from(n)))}catch{}return n})},[D]),Hn=Q.useCallback((e,t)=>{if(!e)return null;t&&Ve.has(t)&&nt(t);let n=Ke(e,s(`sessions.sidebar.folder.newFolderName`),t);return R(n.id),B(n.name),n},[Ve,nt,Ke,s]),Un=sx(zn),Wn=sx(An),Gn=sx(jn),qn=sx(Mn),Jn=sx(Nn),Yn=sx(Pn),Xn=sx(Fn),Zn=sx(Ln),Qn=sx(Hn),$n=Q.useCallback((e,t,n,r)=>{let i=Ps(),a=Math.max(i,n)+7;if(N(e=>{let r=Math.max(i,e.get(t)??i,n),a=new Map(e);return a.set(t,r+7),a}),e.isArchivedBucket||a<r)return;let o=U(e.directory??null);if(!o)return;let s=Ut.getState().activePaginationByDirectory.get(o);s?.hasMore&&!s.loadingMore&&Yt(o)},[]),er=Q.useCallback(e=>{N(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),tr=Q.useCallback(e=>{N(t=>{let n=!1,r=new Map(t),i=`${e}:`;for(let e of r.keys())e.startsWith(i)&&(r.delete(e),n=!0);return n?r:t})},[]),nr=Q.useCallback(e=>{let t=be.find(t=>t.id===e),n=U(t?.path??null);if(!n)return[];let r=[n];return ft||(Nt.get(n)??[]).forEach(e=>{let t=U(e.path);t&&r.push(t)}),r},[Nt,ft,be]),rr=Q.useCallback(e=>{let t=nr(e);if(t.length===0)return;let n=Ut.getState().loadedDirectories,r=t.filter(e=>!n.has(e));r.length!==0&&yn(r,Wt.current)},[nr]),ir=Q.useCallback(e=>{let t=be.find(t=>t.id===e);t&&(async()=>{let e=[];if(!ft)try{e=(await ea({id:t.id,path:t.path})).worktrees}catch(n){console.warn(`[SessionSidebar] Worktree refresh before session sync failed:`,n);let r=U(t.path);e=r?Rt.getState().availableWorktreesByProject.get(r)??[]:[]}let n=Vb(t.path,e,{currentDirectory:ve,workspaceRoot:t.path,includeWorktrees:!ft});n.length!==0&&await En(n,Wt.current)})()},[ve,ft,be]);Q.useEffect(()=>{if(!on)return;let e=Ut.getState(),t=be.flatMap(t=>O.has(t.id)?[]:nr(t.id).filter(t=>!e.loadedDirectories.has(t)&&!e.loadingDirectories.has(t)&&!e.refreshingDirectories.has(t)));t.length>0&&yn(t,Wt.current)},[O,nr,on,be]);let ar=Q.useCallback(()=>{ge.current=Date.now()+150,N(new Map),k(()=>{let e=new Set(be.map(e=>e.id));try{D.setItem(Gb,JSON.stringify(Array.from(e)))}catch{}return ft||rn(e),e})},[be,ft,D,rn]),or=Q.useCallback(()=>{ge.current=Date.now()+150,N(new Map),k(()=>{let e=new Set;try{D.setItem(Gb,JSON.stringify([]))}catch{}return ft||rn(e),e});let e=Ut.getState().loadedDirectories,t=be.flatMap(t=>nr(t.id).filter(t=>!e.has(t)));t.length>0&&yn(t,Wt.current)},[nr,ft,be,D,rn]),sr=Q.useCallback(e=>{ge.current=Date.now()+150,tr(e),k(t=>{let n=new Set(t);n.has(e)?(n.delete(e),queueMicrotask(()=>rr(e))):n.add(e);try{D.setItem(Gb,JSON.stringify(Array.from(n)))}catch{}return ft||rn(n),n})},[rr,ft,tr,D,rn]),cr=Q.useCallback(e=>{ge.current=Date.now()+150,rr(e),k(t=>{if(!t.has(e))return t;let n=new Set(t);n.delete(e);try{D.setItem(Gb,JSON.stringify(Array.from(n)))}catch{}return ft||rn(n),n})},[rr,ft,D,rn]),lr=Q.useMemo(()=>be.map(e=>({...e,normalizedPath:U(e.path)})).filter(e=>!!e.normalizedPath),[be]),ur=Q.useMemo(()=>lr.map(e=>e.normalizedPath),[lr]),dr=Q.useMemo(()=>{let e=new Set(lr.map(e=>e.normalizedPath));if(!ft)for(let t of Nt.values())for(let n of t){let t=U(n.path);t&&e.add(t)}return[...e].sort()},[Nt,ft,lr]),fr=Q.useRef(null);Q.useEffect(()=>{let e=new Set(dr),t=fr.current;if(fr.current=e,!t)return;let n=dr.filter(e=>!t.has(e));if(n.length===0)return;let r=Ut.getState().loadedDirectories,i=U(ve),a=lr.find(e=>e.id===Se)??lr.find(e=>e.normalizedPath===i)??null,o=new Set;i&&o.add(i),a?.normalizedPath&&(o.add(a.normalizedPath),ft||(Nt.get(a.normalizedPath)??[]).forEach(e=>{let t=U(e.path);t&&o.add(t)}));let s=n.filter(e=>o.has(e)&&!r.has(e));s.length!==0&&yn(s,Wt.current)},[Se,Nt,ve,ft,lr,dr]);let{github:pr}=Ba(),mr=Na(),hr=mr.data??null,gr=mr.isFetched,_r=Xa(a?ur:ax),vr=$_(e=>e.ensureEntry),yr=$_(e=>e.setParams),br=$_(e=>e.refreshTargets);g_({normalizedProjects:lr,activeProjectId:Se,gitRepoStatus:_r,setProjectRepoStatus:j,setProjectRootBranches:me,enabled:a});let xr=Rt(e=>e.isLoading),Cr=Q.useMemo(()=>Xs(zt,lr,Nt,ft,St),[St,Nt,ft,lr,zt]);v_({isSessionsLoading:xr,fullCatalogSessionIds:pt,fullCatalogGeneration:mt,normalizedProjects:lr,cleanupSessions:it});let{getSessionsForProject:wr,getArchivedSessionsForProject:Tr}=__({ownership:Cr}),Er=Q.useMemo(()=>{let e=new Set;if(vt.size===0)return e;for(let t of lr){let n=[t.normalizedPath];ft||(Nt.get(t.normalizedPath)??[]).forEach(e=>{let t=U(e.path);t&&n.push(t)}),n.some(e=>vt.has(e))&&e.add(t.id)}return e},[Nt,ft,vt,lr]),Dr=Q.useMemo(()=>{let e=new Set;if(yt.size===0)return e;for(let t of lr)nr(t.id).some(e=>yt.has(e))&&e.add(t.id);return e},[nr,lr,yt]),Or=vt.size>0||yt.size>0||ht===`idle`||ht===`loading`;$g({normalizedProjects:lr,ownership:Cr,isSessionsLoading:xr,fullCatalogSessionIds:pt,fullCatalogGeneration:mt,foldersMap:He,createFolder:Ke,addSessionToFolder:Xe,cleanupSessions:it,enabled:a});let kr=Q.useRef(!1);Se&&A.has(Se)&&(kr.current=!!A.get(Se));let Ar=Ov(e=>e.projectSortOrder),jr=qt(e=>e.manualProjectOrder),Mr=Q.useMemo(()=>{let e=[...lr];switch(Ar){case`a-z`:e.sort((e,t)=>{let n=(e.label||e.path).toLowerCase(),r=(t.label||t.path).toLowerCase();return n.localeCompare(r)});break;case`z-a`:e.sort((e,t)=>{let n=(e.label||e.path).toLowerCase();return(t.label||t.path).toLowerCase().localeCompare(n)});break;case`date-added`:e.sort((e,t)=>(t.addedAt??0)-(e.addedAt??0));break;case`recent`:e.sort((e,t)=>(t.lastOpenedAt??0)-(e.lastOpenedAt??0));break;case`manual`:{let t=new Map(jr.map((e,t)=>[e,t]));e.sort((e,n)=>(t.get(e.id)??1/0)-(t.get(n.id)??1/0));break}}return e},[lr,Ar,jr]),{projectSections:Nr,groupSearchDataByGroup:Pr,sectionsForRender:Fr,searchMatchCount:Ir}=t_({normalizedProjects:Mr,getSessionsForProject:wr,getArchivedSessionsForProject:Tr,availableWorktreesByProject:Nt,projectRepoStatus:A,projectRootBranches:pe,lastRepoStatus:kr.current,buildGroupedSessions:nn,hasSessionSearchQuery:ze,normalizedSessionSearchQuery:Re,filterSessionNodesForSearch:tn,buildGroupSearchText:en,foldersMap:He}),Lr=(0,$.jsxs)(`div`,{className:`py-6 text-center text-muted-foreground`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold`,children:s(`sessions.sidebar.empty.noMatches.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1`,children:s(`sessions.sidebar.empty.noMatches.description`)})]});r_({projectSections:Nr,activeProjectId:Se,activeSessionByProject:de,setActiveSessionByProject:fe,currentSessionId:Ct,handleSessionSelect:kn,newSessionDraftOpen:Et,mobileVariant:e,openNewSessionDraft:Ft,setActiveMainTab:De,setSessionSwitcherOpen:Ne});let{getOrderedGroups:Rr}=i_(le),zr=Q.useRef(!1);Q.useEffect(()=>{if(zr.current||Nr.length===0)return;let e=Nr.flatMap(e=>e.groups.filter(e=>e.isArchivedBucket).map(t=>`${e.project.id}:${t.id}`));e.length>0&&se(t=>new Set([...t,...e])),zr.current=!0},[Nr]);let Br=Q.useMemo(()=>{let e=new Map,t=new Map;return Nr.forEach(n=>{let r=Kn(n.project.normalizedPath)||n.project.normalizedPath;n.groups.forEach(i=>{let a=i.branch&&i.branch!==`HEAD`&&i.branch!==r?i.branch:null,o={projectLabel:r,branchLabel:a},s=r=>{r.forEach(r=>{let a=n.project.normalizedPath.length;a<(t.get(r.session.id)??-1)||(e.set(r.session.id,{node:r,projectId:n.project.id,groupDirectory:i.directory,secondaryMeta:o}),t.set(r.session.id,a),r.children.length>0&&s(r.children))})};s(i.sessions)})}),e},[Nr]);Q.useLayoutEffect(()=>{if(!Ct){yb(null);return}let e=ii.getState().focus;if(e?.sessionId===Ct){e.scope===`project`&&!e.projectId&&yb({...e,projectId:Br.get(Ct)?.projectId??null});return}yb({scope:`project`,sessionId:Ct,projectId:Br.get(Ct)?.projectId??null})},[Ct,Br]);let Vr=Q.useMemo(()=>ft?[]:Hs(zt,ie),[ft,ie,zt]),Hr=Q.useMemo(()=>ze?[]:ic(zt,ie,ut,dt),[ze,ie,ut,zt,dt]),{pinnedItems:Ur,inProgressItems:Gr}=Q.useMemo(()=>{let e=e=>{let t=Br.get(e.id),n=U(e.directory??null),r={session:e,children:[],worktree:Mt.get(e.id)??null};if(ze&&tn([r],Re).length===0)return null;let i=Cr.bySessionId.get(e.id),a=i?Mr.find(e=>e.id===i.projectId):void 0,o=a?Kn(a.normalizedPath)||a.normalizedPath:t?.secondaryMeta?.projectLabel??null,s=uc({projectLabel:o,owner:i,sessionWorktree:Mt.get(e.id)??null,worktrees:a?Nt.get(a.normalizedPath)??[]:[],projectRootBranch:i?pe.get(i.projectId)??(a?_r.get(a.normalizedPath)?.branch:null)??null:null,isVSCode:ft})??t?.secondaryMeta??null;return{node:r,projectId:i?.projectId??t?.projectId??null,groupDirectory:i?.scopeDirectory??t?.groupDirectory??n,secondaryMeta:s}},t=t=>t.map(e).filter(e=>e!==null);return{pinnedItems:ft?[]:t(Vr),inProgressItems:t(Hr)}},[Nt,tn,_r,ze,Hr,ft,Re,Vr,pe,Cr,Br,Mr,Mt]),Kr=Q.useMemo(()=>Fr.map(e=>({...e,groups:e.groups.filter(e=>!e.isArchivedBucket)})),[Fr]),qr=Q.useMemo(()=>{let e=ze?Kr.map(e=>({...e,groups:e.groups.map(e=>({...e,sessions:Pr.get(e)?.filteredNodes??[]}))})):Kr;if(!i)return e;let t=e.find(e=>e.project.id===Se)??e[0];if(!t)return[];let n=t.groups.find(e=>e.isMain&&e.sessions.length>0)??t.groups.find(e=>e.sessions.length>0)??t.groups.find(e=>e.isMain)??t.groups[0];return n?[{...t,groups:[n]}]:[]},[Se,Pr,ze,Kr,i]),Jr=Q.useMemo(()=>Ms({sections:qr,foldersMap:He,getOrderedGroups:Rr,pinnedSessionIds:ie,sessionOrderByScope:Ue,sessionOrderActivityByScope:We}),[He,Rr,qr,ie,We,Ue]),Yr=Q.useMemo(()=>Ns({targets:Jr,collapsedProjectIds:O,collapsedGroupKeys:oe,collapsedFolderIds:Ve,visibleSessionCountByGroup:M,defaultVisibleSessionCount:Ps(),hasSessionSearchQuery:ze,alwaysVisibleSessionIds:lt}),[lt,Ve,oe,O,ze,Jr,M]),Xr=Q.useMemo(()=>ze?[]:[...Vr,...Hr].map((e,t)=>{let n=Br.get(e.id);return{scope:`pinned`,sessionId:e.id,projectId:n?.projectId??null,directory:U(Bt(e))??n?.groupDirectory??null,visibleIndex:t}}),[ze,Hr,Vr,Br]),[Zr,Qr]=Q.useState(null),$r=Q.useCallback(e=>{Qr(t=>t&&t.length===e.length&&t.every((t,n)=>t===e[n])?t:[...e])},[]),ei=Q.useMemo(()=>{if(!Zr)return Xr;let e=new Set(Zr);return Xr.filter(t=>e.has(t.sessionId))},[Xr,Zr]),ti=Q.useMemo(()=>e?[]:yi({pinnedTargets:ei,projectTargets:Yr}),[e,ei,Yr]),ni=Q.useCallback(e=>{De(`chat`),Ne(!1),e.scope===`project`&&e.projectId&&we(e.projectId),zn(e.sessionId,e.directory,e.projectId,e.scope)},[zn,De,we,Ne]);Q.useLayoutEffect(()=>oi({targets:ti,activate:ni}),[ni,ti]);let ri=Q.useMemo(()=>{let e=new Map;return ti.forEach(t=>{let n=Ni({scope:t.scope,sessionId:t.sessionId,projectId:t.projectId});n&&e.set(n,ji(ti,t)??0)}),e},[ti]),ai=Q.useMemo(()=>{if(!Ct||ze)return[];let e=[],t=(n,r)=>{if(n.session.id===Ct){e.push({scope:`pinned`,sessionId:Ct,projectId:r});return}n.children.forEach(e=>t(e,r))};return Ur.forEach(e=>t(e.node,e.projectId)),Gr.forEach(e=>t(e.node,e.projectId)),e},[Ct,ze,Gr,Ur]),si=Q.useMemo(()=>{if(!Ct)return[];let e=[],t=(n,r)=>{if(n.session.id===Ct){e.push({scope:`project`,sessionId:Ct,projectId:r});return}n.children.forEach(e=>t(e,r))};return Nr.forEach(e=>{e.groups.forEach(n=>{n.sessions.forEach(n=>t(n,e.project.id))})}),e},[Ct,Nr]);Q.useLayoutEffect(()=>ui({pinned:ei,project:Yr}),[ei,Yr]),Q.useLayoutEffect(()=>{Or||yb(Ub({currentSessionId:Ct,focus:wt,pinnedFocuses:ai,projectFocuses:si,fallbackProjectId:Ct?Br.get(Ct)?.projectId??null:null}))},[Ct,Or,si,ai,wt,Br]);let ci=Q.useMemo(()=>{let e=wt?.sessionId?Br.get(wt.sessionId)?.projectId??null:null;return Wb(wt,Jr,e)},[Jr,wt,Br]),li=Q.useRef(null),di=Q.useRef(null);Q.useEffect(()=>{di.current&&di.current!==Ct&&(di.current=null)},[Ct]),Q.useLayoutEffect(()=>{if(!ci?.projectId)return;let e=ci.sessionId,t=Tt.sessionId===e;if(!(!t&&Ct!==e)){if(t){if(li.current===Tt.revision)return;li.current=Tt.revision,di.current=e}else{if(di.current===e)return;di.current=e}if(cr(ci.projectId),ci.groupKey&&se(e=>{if(!e.has(ci.groupKey))return e;let t=new Set(e);return t.delete(ci.groupKey),t}),ci.folderAncestorIds?.forEach(e=>{let t=Cn.getState();t.collapsedFolderIds.has(e)&&t.toggleFolderCollapse(e)}),ci.groupKey&&ci.visibleIndex!==void 0){let e=ci.visibleIndex+1;N(t=>{if((t.get(ci.groupKey)??0)>=e)return t;let n=new Map(t);return n.set(ci.groupKey,e),n})}}},[Ct,cr,ci,Tt]);let fi=av(Q.useMemo(()=>{let e=new Set;return Kr.forEach(t=>{O.has(t.project.id)||t.groups.forEach(n=>{if(oe.has(`${t.project.id}:${n.id}`))return;let r=U(n.directory??null),i=n.branch?.trim()||st.get(r||``)?.trim();!r||!i||e.add(P_(r,i))})}),[...e]},[oe,O,st,Kr]));Q.useEffect(()=>{if(!a||!gr||!hr?.connected||!pr)return;let e=[],t=Date.now();if(Kr.forEach(n=>{O.has(n.project.id)||n.groups.forEach(r=>{if(oe.has(`${n.project.id}:${r.id}`))return;let i=U(r.directory??null),a=r.branch?.trim()||st.get(i||``)?.trim();if(!i||!a)return;let o=P_(i,a),s=$_.getState().entries[o],c=!!s?.status?.pr,l=`${i}::${a}`,u=Math.max(s?.lastRefreshAt??0,s?.lastDiscoveryPollAt??0),d=!!(s?.isInitialStatusResolved&&!c&&(!_.current.has(l)||t-u>=rx));(!s||!s.isInitialStatusResolved||d)&&(d&&_.current.add(l),e.push({directory:i,branch:a}))})}),e.length===0)return;let n=new Map;e.forEach(e=>{let t=P_(e.directory,e.branch,e.remoteName??null);n.has(t)||n.set(t,e)}),n.forEach((e,t)=>{vr(t),yr(t,{directory:e.directory,branch:e.branch,remoteName:e.remoteName??null,canShow:!0,github:pr,githubAuthChecked:gr,githubConnected:hr.connected})}),br([...n.values()],{silent:!0,markInitialResolved:!0})},[O,oe,vr,pr,gr,hr?.connected,st,a,br,Kr,yr]);let pi=b_({isDesktopShellRuntime:Kt,projectSections:Nr,projectHeaderSentinelRefs:he,enabled:a}),mi=sx((t,n=0,r,i,a=!1,o,s=`project`,c)=>(0,$.jsx)(Nb,{node:t,depth:n,groupDirectory:r,projectId:i,archivedBucket:a,currentSessionId:Ct,pinnedSessionIds:ie,expandedParents:T,hasSessionSearchQuery:ze,normalizedSessionSearchQuery:Re,notifyOnSubtasks:q,editingId:v,setEditingId:y,editTitle:b,setEditTitle:x,handleSaveEdit:Gn,handleCancelEdit:qn,toggleParent:Vn,handleSessionSelect:Un,handleSessionDoubleClick:Wn,togglePinnedSession:ae,handleShareSession:Jn,copiedSessionId:On,handleCopyShareUrl:Yn,handleUnshareSession:Xn,openSidebarMenuKey:I,setOpenSidebarMenuKey:ee,renamingFolderId:L,getFoldersForScope:Ge,getSessionFolderId:at,removeSessionFromFolder:Qe,addSessionToFolder:Xe,createFolderAndStartRename:Qn,openContextPanelTab:Ae,handleDeleteSession:Zn,mobileVariant:e,alwaysShowActions:Zt,renderSessionNode:mi,secondaryMeta:o,renderContext:s,subtreeContainsActive:c?.subtreeContainsActive??ix,subtreeContainsEditing:c?.subtreeContainsEditing??ix,menuOpenSessionId:c?.menuOpenSessionId??null,nodeStructureKey:c?.nodeStructureKey??``,childRenderExtrasFor:c?.childRenderExtrasFor,liveSessionById:Gt,shortcutNumber:ri.get(Ni({scope:s,sessionId:t.session.id,projectId:i??null})??``)??null},`${s}:${i??``}:${t.session.id}`)),hi=Q.useCallback(e=>{er(e),se(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[er]),gi=Q.useCallback(e=>{let t=nr(e);if(t.length===0)return;let n=Ut.getState(),r=t.filter(e=>!n.archivedLoadedDirectories.has(e));r.length>0&&un(r)},[nr]),_i=Q.useMemo(()=>{let e=new Map;for(let[t,n]of fi)e.set(t,{visualState:n.visualState,number:n.number,url:n.url,state:n.prState,draft:n.draft,title:n.title,base:n.base,head:n.head,checks:n.checks,canMerge:n.canMerge,mergeableState:n.mergeableState,repo:n.repo});return e},[fi]),vi=Q.useCallback((t,n,r,i,a,o,s)=>(0,$.jsx)(Wv,{group:t,groupKey:n,isArchivedLoading:!!(t.isArchivedBucket&&r&&nr(r).some(e=>bt.has(e))),projectId:r,hideGroupLabel:i,compactBodyPadding:o,hasSessionSearchQuery:ze,normalizedSessionSearchQuery:Re,groupSearchDataByGroup:Pr,visibleSessionCount:M.get(n),collapsedGroups:oe,collapsedFolderIds:Ve,toggleFolderCollapse:nt,renameFolder:qe,deleteFolder:Ye,showDeletionDialog:Fe,setDeleteFolderConfirm:W,renderSessionNode:mi,projectRepoStatus:A,lastRepoStatus:kr.current,showMoreGroupSessions:(e,n,r)=>$n(t,e,n,r),resetGroupSessionLimit:er,mobileVariant:e,alwaysShowActions:Zt,activeProjectId:Se,setActiveProjectIdOnly:we,setActiveMainTab:De,setSessionSwitcherOpen:Ne,openNewSessionDraft:It,addSessionToFolder:Xe,createFolderAndStartRename:Qn,renamingFolderId:L,renameFolderDraft:z,setRenameFolderDraft:B,setRenamingFolderId:R,pinnedSessionIds:ie,expandedParents:T,sessionOrderByScope:Ue,sessionOrderActivityByScope:We,onReorderSessions:(e,n,r,i)=>{let a=t.folderScopeKey??U(t.directory??null);a&&ot(a,e,n,r,i)},currentSessionId:Ct,shortcutTargetSessionId:ci?.groupKey===n?ci.sessionId:null,shortcutTargetVisibleIndex:ci?.groupKey===n?ci.visibleIndex??null:null,editingId:v,editTitle:b,openSidebarMenuKey:I,liveSessionById:Gt,alwaysVisibleSessionIds:lt,prVisualStateByDirectoryBranch:_i,onToggleCollapsedGroup:e=>{t.isArchivedBucket&&oe.has(e)&&r&&gi(r),hi(e)},dragHandleProps:a,scrollContainerRef:s}),[ze,Re,Pr,bt,nr,M,oe,Ve,nt,qe,Ye,Fe,mi,A,$n,er,e,Zt,Se,we,De,Ne,It,Xe,Qn,L,z,ie,T,Ue,We,ot,Ct,ci,v,b,I,Gt,lt,_i,hi,gi]),bi=r?null:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)($v,{collapseAllProjects:ar,expandAllProjects:or}),(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,className:`size-6 p-0 text-muted-foreground`,"aria-label":s(`sessions.sidebar.header.actions.addProject`),title:s(`sessions.sidebar.header.actions.addProject`),onClick:At.requestDirectoryDialog,children:(0,$.jsx)(X,{name:`add`,className:`size-4`})})]}),xi=Kt&&Jt&&!ft&&!ze?(0,$.jsx)(`div`,{className:`shrink-0 px-3`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(ou,{className:`min-w-0 flex-1`}),(0,$.jsx)(lu,{className:`ml-auto shrink-0`})]})}):null,Si=!ft&&!ze,Ci=!ze&&(Ur.length>0||Gr.length>0),wi=Si||Ci?(0,$.jsxs)($.Fragment,{children:[Si?(0,$.jsxs)($.Fragment,{children:[e&&Jt?(0,$.jsx)(ou,{}):null,(0,$.jsxs)(`div`,{className:`space-y-0.5 py-1`,children:[(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,className:Y(`w-full justify-start font-normal`,e&&`h-11`),onClick:vn,children:[(0,$.jsx)(X,{name:`chat-new`,className:`size-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:s(`sessions.sidebar.header.actions.newSession`)})]}),(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,className:Y(`w-full justify-start font-normal`,Oe===`schedule`&&`bg-interactive-selection text-interactive-selection-foreground`,e&&`h-11`),onClick:bn,children:[(0,$.jsx)(X,{name:`time`,className:`size-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:s(`sessions.sidebar.header.actions.scheduledTasks`)})]}),ke.data?.supported&&ke.data?.enabled?(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,className:Y(`w-full justify-start font-normal`,Oe===`assistant`&&`bg-interactive-selection text-interactive-selection-foreground`,e&&`h-11`),onClick:xn,children:[(0,$.jsx)(X,{name:`ai-agent`,className:`size-4`}),(0,$.jsx)(`span`,{className:`truncate`,children:s(`assistants.title`)}),(0,$.jsx)(gc,{className:`ml-auto`})]}):null]})]}):null,Ci?(0,$.jsx)(qv,{items:Ur,inProgressItems:Gr,renderSessionNode:mi,currentSessionId:Ct,editingId:v,openSidebarMenuKey:I,onVisibleSessionIdsChange:$r}):null]}):null,Ti=!!(L||v||C),{selectionModeEnabled:Ei,hasSelection:Di,selectedIdsSize:Oi,bulkScopeIsArchived:ki,derivedSelectionScope:Ai,bulkScopeFolders:Mi,bulkCanRemoveFromFolder:Pi,handleExitSelectionMode:Fi,handleBulkMoveToFolder:Ii,handleBulkCreateFolderAndMove:Li,handleBulkRemoveFromFolder:Ri,handleBulkDelete:zi,confirmBulkDelete:Bi}=Bb({isInlineEditing:Ti,showDeletionDialog:Fe,foldersMap:He,addSessionsToFolder:Ze,removeSessionsFromFolders:tt,createFolderAndStartRename:Hn,archiveSessions:Dn,setBulkDeleteConfirm:G});return(0,$.jsxs)(`div`,{ref:h,className:Y(`oc-session-sidebar relative flex h-full flex-col text-foreground overflow-x-hidden`,e?``:`bg-transparent`),children:[(0,$.jsx)(Gv,{hideDirectoryControls:r,isSessionSearchOpen:d,setIsSessionSearchOpen:f,sessionSearchInputRef:g,sessionSearchQuery:p,setSessionSearchQuery:m,hasSessionSearchQuery:ze,searchMatchCount:Ir}),xi,a?(0,$.jsx)(uy,{topContent:wi,hasLeadingSection:wi!==null&&(Ur.length>0||Gr.length>0),headerAccessory:bi,sectionsForRender:Kr,projectSections:Nr,activeProjectId:Se,showOnlyMainWorkspace:i,hasSessionSearchQuery:ze,emptyState:ln,searchEmptyState:Lr,renderGroupSessions:vi,homeDirectory:_e,collapsedProjects:O,hideDirectoryControls:r,projectRepoStatus:A,isDesktopShellRuntime:Kt,stuckProjectHeaders:pi,mobileVariant:e,alwaysShowActions:Zt,toggleProject:sr,setActiveProjectIdOnly:we,setActiveMainTab:De,setSessionSwitcherOpen:Ne,openNewSessionDraft:It,openNewWorktreeDialog:mn,syncProjectSessions:ir,openProjectEditDialog:w,removeProject:Ce,projectHeaderSentinelRefs:he,projectReorderEnabled:Ar===`manual`,reorderProjects:Ee,projectSortOrder:Ar,getOrderedGroups:Rr,setGroupOrderByProject:ue,openSidebarMenuKey:I,setOpenSidebarMenuKey:ee,isInlineEditing:Ti,loadingProjectIds:Er,refreshingProjectIds:Dr,isProjectSessionsSyncing:Or}):null,Ei&&Di?(0,$.jsx)(zb,{selectedCount:Oi,scopeKey:Ai,scopeFolders:Mi,archivedBucket:ki,onMoveToFolder:Ii,onCreateFolderAndMove:Li,onRemoveFromFolder:Ri,canRemoveFromFolder:Pi,onDelete:zi,onDone:Fi}):null,(0,$.jsx)(ry,{onOpenSettings:_n,onOpenShortcuts:Me,onOpenUpdate:gn,showRuntimeButtons:!ft,showUpdateButton:Sn}),c?(0,$.jsx)(vs,{open:c,onOpenChange:l,info:Be.info,downloading:Be.downloading,downloaded:Be.downloaded,progress:Be.progress,error:Be.error,onDownload:Be.downloadUpdate,onRestart:Be.restartToUpdate,runtimeType:Be.runtimeType}):null,dn?(0,$.jsx)(ov,{open:!0,onOpenChange:e=>{e||w(null)},project:dn,onSave:fn}):null,P?(0,$.jsx)(Wr,{open:!0,onOpenChange:F,onWorktreeCreated:hn}):null,(0,$.jsx)(qs,{}),(0,$.jsx)(Qg,{}),(0,$.jsx)(Ib,{value:V,setValue:te,showDeletionDialog:Fe,setShowDeletionDialog:Ie,onConfirm:Rn}),(0,$.jsx)(Rb,{value:ne,setValue:W,onConfirm:Bn}),(0,$.jsx)(Lb,{value:re,setValue:G,showDeletionDialog:Fe,setShowDeletionDialog:Ie,onConfirm:Bi})]})},lx=e=>e?(0,$.jsx)(`span`,{className:`text-foreground/80 dark:text-foreground/70`,children:e}):void 0,ux=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.replace(/\/+$/,``)},dx=()=>{let{t:e}=Je(),[t,n]=Q.useState(!1),[r,i]=Q.useState(!1),[a,o]=Q.useState(null),[s,c]=Q.useState([]),[l,u]=Q.useState(!1),[d,f]=Q.useState(!1),[p,m]=Q.useState(!1),[h,g]=Q.useState(!1),[_,v]=Q.useState(new Set),y=Rt(e=>e.getWorktreeMetadata),b=Rt(e=>e.newSessionDraft),x=Rt(e=>e.setNewSessionDraftTarget),S=Rt(e=>e.setDraftBootstrapPendingDirectory),C=ft,w=Rt(e=>e.archiveSessions),T=K(e=>e.showDeletionDialog),E=K(e=>e.setShowDeletionDialog),D=xe(e=>e.currentDirectory),O=xe(e=>e.homeDirectory),k=xe(e=>e.isHomeReady),A=qt(e=>e.projects),j=qt(e=>e.activeProjectId),{isMobile:M,isTablet:N,hasTouchInput:P}=Ia(),F=M||N||P,I=Q.useMemo(()=>ux((j?A.find(e=>e.id===j)??null:null)?.path??D),[j,D,A]),ee=Q.useCallback(e=>{let t=ux(e.projectDirectory)||I;return{id:(A.find(e=>ux(e.path)===t)??null)?.id??`path:${t}`,path:t}},[I,A]),L=h&&_.size>0,R=Q.useMemo(()=>{let e=a?.worktree;return e&&typeof e.branch==`string`&&e.branch.trim().length>0?!0:s.length>0&&s.every(({metadata:e})=>typeof e.branch==`string`&&e.branch.trim().length>0)},[a?.worktree,s]),z=a?.mode===`worktree`,B=z,V=p||!z||!R,H=p||!z;Q.useEffect(()=>{r||!k||A.length>0||(i(!0),n(!0))},[r,k,A.length]);let U=Q.useCallback(e=>{o({sessions:e.sessions,dateLabel:e.dateLabel,mode:e.mode??`session`,worktree:e.worktree??null})},[]),te=Q.useCallback(()=>{o(null),c([]),u(!1),f(!1),m(!1),g(!1),v(new Set)},[]),ne=Q.useCallback(t=>{if(t.sessions.length===0)return;let n=t.sessions.map(e=>e.id);$s({sessionIds:n,message:n.length===1?e(`sessions.sidebar.session.delete.success`):e(`sessions.sidebar.bulkActions.deletedPlural`,{count:n.length}),undoLabel:e(`sessions.sidebar.undo`),commitFailedMessage:n.length===1?e(`sessions.sidebar.session.delete.error`):e(`sessions.sidebar.bulkActions.failedDeletePlural`,{count:n.length})})},[e]);Q.useEffect(()=>At.onDeleteRequest(e=>{if(!T&&(e.mode??`session`)===`session`){ne(e);return}U(e)}),[U,T,ne]),Q.useEffect(()=>At.onDirectoryRequest(()=>{n(!0)}),[]),Q.useEffect(()=>{if(!a){c([]),u(!1),f(!1),g(!1),v(new Set);return}let e=a.sessions.map(e=>{let t=y(e.id);return t?{session:e,metadata:t}:null}).filter(e=>!!e);c(e),u(!1),g(!1),v(new Set);let t=new Map;if(a.worktree?.path&&t.set(ux(a.worktree.path),a.worktree),e.forEach(({metadata:e})=>{e.path&&t.set(ux(e.path),e)}),t.size===0){g(!0);return}let n=!1;return(async()=>{let e=new Map,r=new Set;await Promise.all(Array.from(t.entries()).map(async([t,n])=>{try{let i=await $i(n.path);e.set(t,i),i?.isDirty&&r.add(t)}catch{n.status&&(e.set(t,n.status),n.status.isDirty&&r.add(t))}})).catch(e=>{console.warn(`Failed to inspect worktree status before deletion:`,e)}),!n&&(v(r),g(!0),o(t=>{if(!t?.worktree?.path)return t;let n=ux(t.worktree.path),r=e.get(n);if(!r)return t;let i=t.worktree.status;return i?.isDirty===r.isDirty&&i?.ahead===r.ahead&&i?.behind===r.behind&&i?.upstream===r.upstream?t:{...t,worktree:{...t.worktree,status:r}}}),c(t=>t.map(t=>{let n=ux(t.metadata.path),r=e.get(n);return r?{session:t.session,metadata:{...t.metadata,status:r}}:t})))})(),()=>{n=!0}},[a,y]),Q.useEffect(()=>{R||u(!1)},[R]);let W=Q.useCallback(async(t,n)=>{let r=l&&R,i=ee(t),a=ux(t.path),o=ux(i.path);try{await Xi(i,t,{deleteRemoteBranch:r,deleteLocalBranch:n});let e=ux(b?.directoryOverride);return b?.open&&a&&e===a&&o&&(S(null),x({projectId:i.id,directoryOverride:o},{force:!0})),ux(D)===a&&o&&xe.getState().setDirectory(o,{showOverlay:!1}),!0}catch(t){return J.error(e(`sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle`),{description:lx(t instanceof Error?t.message:e(`sessions.sidebar.dialogs.deleteResult.tryAgain`))}),!1}},[R,D,l,ee,b?.directoryOverride,b?.open,S,x,e]),re=Q.useCallback((t,n)=>{let r=l&&R;(async()=>{if(!await W(t,n))return;let i=e(r?`sessions.sidebar.sessionDialogs.worktree.removedWithRemote`:`sessions.sidebar.sessionDialogs.worktree.removed`);J.success(e(`sessions.sidebar.sessionDialogs.worktree.removedTitle`),{description:lx(i)})})()},[R,l,W,e]),G=Q.useCallback(async()=>{if(a){m(!0);try{let t=B&&d;if(a.sessions.length===0&&z&&a.worktree){re(a.worktree,t),te();return}if(a.sessions.length===1){let t=a.sessions[0];if(z){if(!await C(t.id)){J.error(e(`sessions.sidebar.session.archive.error`)),m(!1);return}Ts({sessionIds:[t.id],message:e(`sessions.sidebar.session.archive.success`),undoLabel:e(`sessions.sidebar.undo`),settingsLabel:e(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:e(`sessions.sidebar.session.archive.undoFailed`)})}else $s({sessionIds:[t.id],message:e(`sessions.sidebar.session.delete.success`),undoLabel:e(`sessions.sidebar.undo`),commitFailedMessage:e(`sessions.sidebar.session.delete.error`)})}else{let n=a.sessions.map(e=>e.id),r=[],i=[];if(z){let e=await w(n);r=e.archivedIds,i=e.failedIds}else $s({sessionIds:n,message:n.length===1?e(`sessions.sidebar.bulkActions.deletedSingle`,{count:n.length}):e(`sessions.sidebar.bulkActions.deletedPlural`,{count:n.length}),undoLabel:e(`sessions.sidebar.undo`),commitFailedMessage:n.length===1?e(`sessions.sidebar.bulkActions.failedDeleteSingle`,{count:n.length}):e(`sessions.sidebar.bulkActions.failedDeletePlural`,{count:n.length})}),r=n,i=[];if(z&&a.worktree&&i.length===0&&re(a.worktree,t),z&&r.length>0&&Ts({sessionIds:r,message:r.length===1?e(`sessions.sidebar.bulkActions.archivedSingle`,{count:r.length}):e(`sessions.sidebar.bulkActions.archivedPlural`,{count:r.length}),undoLabel:e(`sessions.sidebar.undo`),settingsLabel:e(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:r.length===1?e(`sessions.sidebar.session.archive.undoFailed`):e(`sessions.sidebar.bulkActions.archiveUndoFailed`,{count:r.length})}),i.length>0&&(J.error(z?i.length===1?e(`sessions.sidebar.bulkActions.failedArchiveSingle`,{count:i.length}):e(`sessions.sidebar.bulkActions.failedArchivePlural`,{count:i.length}):i.length===1?e(`sessions.sidebar.bulkActions.failedDeleteSingle`,{count:i.length}):e(`sessions.sidebar.bulkActions.failedDeletePlural`,{count:i.length}),{description:lx(e(`sessions.sidebar.dialogs.deleteResult.tryAgain`))}),r.length===0)){m(!1);return}}z&&a.sessions.length===1&&a.worktree&&re(a.worktree,t),te()}finally{m(!1)}}},[a,d,C,w,te,B,z,re,e]),ie=a?.worktree??s[0]?.metadata??null,ae=a?a.mode===`worktree`?a.sessions.length===0?e(`sessions.sidebar.dialogs.worktreeDelete.descriptionNoLinked`):a.sessions.length===1?e(`sessions.sidebar.dialogs.worktreeDelete.descriptionOneLinked`,{count:a.sessions.length}):e(`sessions.sidebar.dialogs.worktreeDelete.descriptionManyLinked`,{count:a.sessions.length}):a.sessions.length===1?a.dateLabel?e(`sessions.sidebar.dialogs.sessionDelete.descriptionOneWithDate`,{dateLabel:a.dateLabel}):e(`sessions.sidebar.dialogs.sessionDelete.descriptionOne`):a.dateLabel?e(`sessions.sidebar.dialogs.sessionDelete.descriptionManyWithDate`,{count:a.sessions.length,dateLabel:a.dateLabel}):e(`sessions.sidebar.dialogs.sessionDelete.descriptionMany`,{count:a.sessions.length}):``,oe=a?(0,$.jsxs)(`div`,{className:Y(z?`space-y-3`:`space-y-2`),children:[a.sessions.length>0&&(0,$.jsxs)(`div`,{className:Y(z?`rounded-lg bg-muted/30 p-3`:`space-y-1.5 rounded-xl border border-border/40 bg-sidebar/60 p-3`),children:[z&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:a.sessions.length===1?e(`sessions.sidebar.sessionDialogs.linkedSessionSingle`):e(`sessions.sidebar.sessionDialogs.linkedSessionPlural`)}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70`,children:a.sessions.length})]}),(0,$.jsxs)(`ul`,{className:Y(z?`mt-2 space-y-1`:`space-y-0.5`),children:[a.sessions.slice(0,5).map(t=>(0,$.jsxs)(`li`,{className:Y(z?`flex items-center gap-2 rounded-md px-2.5 py-1.5 text-sm text-muted-foreground`:`typography-micro text-muted-foreground/80`),children:[(0,$.jsx)(`span`,{className:Y(!z&&`hidden`),children:`•`}),(0,$.jsx)(`span`,{className:`truncate`,children:t.title||e(`sessions.sidebar.session.untitled`)})]},t.id)),a.sessions.length>5&&(0,$.jsx)(`li`,{className:Y(z?`px-2.5 py-1 text-xs text-muted-foreground/70`:`typography-micro text-muted-foreground/70`),children:e(`sessions.sidebar.dialogs.sessionList.more`,{count:a.sessions.length-5})})]})]}),z?(0,$.jsxs)(`div`,{className:`space-y-2 rounded-lg bg-muted/30 p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`h-4 w-4 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:e(`sessions.sidebar.sessionDialogs.worktree.label`)}),ie?.label?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70`,children:ie.label}):null]}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground/80 break-all`,children:ie?Jn(ie.path,O):e(`sessions.sidebar.sessionDialogs.worktree.pathUnavailable`)}),L&&(0,$.jsx)(`p`,{className:`typography-micro text-status-warning`,children:e(`sessions.sidebar.sessionDialogs.worktree.uncommittedWarning`)})]}):(0,$.jsx)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/60 p-3`,children:(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground/80`,children:e(`sessions.sidebar.sessionDialogs.delete.note`)})})]}):null,se=z?R?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{V||u(e=>!e)},disabled:V,className:Y(`flex items-center gap-2 rounded-md px-2 py-1 text-sm text-muted-foreground transition-colors`,V?`cursor-not-allowed opacity-60`:`hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),children:[l?(0,$.jsx)(X,{name:`checkbox`,className:`size-4 text-primary`}):(0,$.jsx)(X,{name:`checkbox-blank`,className:`size-4`}),e(`sessions.sidebar.sessionDialogs.actions.deleteRemoteBranch`)]}):(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground/70`,children:e(`sessions.sidebar.sessionDialogs.actions.remoteBranchInfoUnavailable`)}):null,ce=z?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{H||f(e=>!e)},disabled:H,className:Y(`flex items-center gap-2 rounded-md px-2 py-1 text-sm text-muted-foreground transition-colors`,H?`cursor-not-allowed opacity-60`:`hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),children:[d?(0,$.jsx)(X,{name:`checkbox`,className:`size-4 text-primary`}):(0,$.jsx)(X,{name:`checkbox-blank`,className:`size-4`}),e(`sessions.sidebar.sessionDialogs.actions.deleteLocalBranch`)]}):null,le=z?(0,$.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-start gap-1`,children:[ce,se]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{variant:`ghost`,onClick:te,disabled:p,children:e(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{variant:`destructive`,onClick:G,disabled:p,children:e(p?`sessions.sidebar.sessionDialogs.actions.deleting`:`sessions.sidebar.sessionDialogs.actions.deleteWorktree`)})]})]}):(0,$.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-3`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>E(!T),className:`inline-flex items-center gap-1.5 typography-meta text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/50`,"aria-pressed":!T,children:[T?(0,$.jsx)(X,{name:`checkbox-blank`,className:`size-4`}):(0,$.jsx)(X,{name:`checkbox`,className:`size-4 text-primary`}),e(`sessions.sidebar.dialogs.neverAsk`)]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{variant:`ghost`,onClick:te,disabled:p,children:e(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{variant:`destructive`,onClick:G,disabled:p,children:p?e(`sessions.sidebar.sessionDialogs.actions.deleting`):a?.sessions.length===1?e(`sessions.sidebar.dialogs.deleteSession.titleAction`):e(`sessions.sidebar.dialogs.deleteSessions.titleAction`)})]})]}),ue=z?e(`sessions.sidebar.sessionDialogs.actions.deleteWorktree`):a?.sessions.length===1?e(`sessions.sidebar.dialogs.deleteSession.titleAction`):e(`sessions.sidebar.dialogs.deleteSessions.titleAction`);return(0,$.jsxs)($.Fragment,{children:[F?(0,$.jsx)(pi,{open:!!a,onClose:()=>{p||te()},title:ue,footer:(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:le}),children:(0,$.jsxs)(`div`,{className:`space-y-2 pb-2`,children:[ae&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground/80`,children:ae}),oe]})}):(0,$.jsx)(Hn,{open:!!a,onOpenChange:e=>{if(!e){if(p)return;te()}},children:(0,$.jsxs)(zn,{className:Y(z?`max-w-xl max-h-[70vh] flex flex-col overflow-hidden gap-3`:`max-w-[min(520px,100vw-2rem)] space-y-2 pb-2`),children:[(0,$.jsxs)(Ln,{children:[(0,$.jsxs)(Bn,{className:Y(z&&`flex items-center gap-2`),children:[z&&(0,$.jsx)(X,{name:`delete-bin`,className:`h-5 w-5`}),ue]}),ae&&(0,$.jsx)(Vn,{children:ae})]}),(0,$.jsx)(`div`,{className:Y(z&&`flex-1 min-h-0 overflow-y-auto space-y-2`),children:oe}),(0,$.jsx)(Rn,{className:`mt-2 gap-2 pt-1 pb-1`,children:le})]})}),(0,$.jsx)(tc,{open:t,onOpenChange:n})]})},fx=Q.createContext(null),px=e=>{let t=(0,Vc.c)(3),{children:n,value:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(fx.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},mx=ro(()=>Pe(()=>import(`./TerminalView-D75fVyUc.js`).then(e=>({default:e.TerminalView})),__vite__mapDeps([54,1,2,3,4,24,7,5,6,25,8,26,55,37,38,10,56,23,27,39,40,41,20,21,22,42,43,29,30,31,32,33,34,57,58,48,59,60,61,62,63,64]))),hx=ro(()=>Pe(()=>import(`./DiagramView-DZc-OYOG.js`).then(e=>({default:e.DiagramView})),__vite__mapDeps([65,1,4,3,5,6,7,40,26,41,23,24,2,25,8,27,10,32,29,30,31,58,48,37,38,39,20,21,22,42,43,66,67,68]))),gx=ro(()=>Pe(()=>import(`./SettingsView-B8DTddcL.js`).then(e=>e.n).then(e=>({default:e.SettingsView})),__vite__mapDeps([69,1,3,4,2,24,7,5,6,25,8,26,70,71,37,38,10,40,72,41,20,21,22,23,27,73,74,39,42,43,29,30,31,32,33,28,75,76,77,78,52,57,79,60,61,62,80,81,82,83,84,85,86,34,87,88,58,36,9,11,12,13,14,15,16,17,18,19,44,45,46,89,47,59,90,91,92,93,94,95,64,96,97,98,99]))),_x=ro(()=>Pe(()=>import(`./SettingsWindow-DC7meuIP.js`).then(e=>({default:e.SettingsWindow})),__vite__mapDeps([100,1,5,8,23,24,4,3,2,7,6,25,26,27,10,29,30,31,69,70,71,37,38,40,72,41,20,21,22,73,74,39,42,43,32,33,28,75,76,77,78,52,57,79,60,61,62,80,81,82,83,84,85,86,34,87,88,58,36,9,11,12,13,14,15,16,17,18,19,44,45,46,89,47,59,90,91,92,93,94,95,64,96,97,98,99]))),vx=ro(()=>Pe(()=>import(`./MultiRunWindow-WmoZ6nx8.js`).then(e=>({default:e.MultiRunWindow})),__vite__mapDeps([101,1,5,8,23,24,4,3,2,7,6,25,26,27,10,29,30,31,32,102,37,38,20,21,22,39,40,41,42,43,33,77,76,78,52,57,79,60,61,62,58,103,104,92]))),yx=ro(()=>Pe(()=>import(`./AssistantView-DhV6GhFz.js`).then(e=>e.n).then(e=>({default:e.AssistantView})),__vite__mapDeps([105,1,4,3,24,2,7,5,6,25,8,26,37,38,10,40,41,20,21,22,23,27,73,74,39,42,43,29,30,31,32,33,28,75,57,104,44,45,46,79,49,50,106,107,96,87,108]))),bx=()=>{let e=1220,t=K(e=>e.isSidebarOpen),n=K(e=>e.isRightSidebarOpen),r=K(e=>e.isBottomTerminalOpen),i=K(e=>e.setRightSidebarOpen),a=K(e=>e.setBottomTerminalOpen),o=K(e=>e.activeMainTab),s=K(e=>e.setIsMobile),c=K(e=>e.isSessionSwitcherOpen),l=K(e=>e.isSettingsDialogOpen),u=K(e=>e.setSettingsDialogOpen),d=K(e=>e.isMultiRunLauncherOpen),f=K(e=>e.setMultiRunLauncherOpen),{isMobile:p,isTablet:m}=Ia(),h=Q.useRef(!1),g=Q.useRef(!1),_=Q.useRef(!1),[v,y]=Q.useState(!1),[b,x]=Q.useState(!1),[S,C]=Q.useState(!1),[w,T]=Q.useState(!1),E=Q.useCallback(e=>{y(e),K.getState().setSessionSwitcherOpen(e)},[]),D=Q.useRef(!1),O=Q.useRef(typeof window>`u`?0:window.innerWidth),k=Wo(-O.current),A=(0,Q.useRef)(0),j=Wo(O.current),M=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{p&&(A.current=window.innerWidth,M.current=window.innerWidth)},[p]),(0,Q.useEffect)(()=>{if(!p){C(!1);return}v&&C(!0),Go(k,v?0:-A.current,{type:`spring`,stiffness:400,damping:35,mass:.8})},[v,p,k]),(0,Q.useEffect)(()=>{if(!p){T(!1);return}D.current=b,b&&T(!0),Go(j,b?0:M.current,{type:`spring`,stiffness:400,damping:35,mass:.8})},[p,b,j]),(0,Q.useEffect)(()=>{if(p)return k.on(`change`,e=>{let t=A.current||O.current,n=v||e>-t+.5;C(e=>e===n?e:n)})},[p,k,v]),(0,Q.useEffect)(()=>{if(p)return j.on(`change`,e=>{let t=M.current||O.current,n=b||e<t-.5;T(e=>e===n?e:n)})},[p,b,j]),(0,Q.useEffect)(()=>{p&&!c&&v&&E(!1)},[c,p,v,E]),(0,Q.useEffect)(()=>{if(!p){_.current=!1;return}_.current||(_.current=!0,E(!1),x(!1),K.getState().isRightSidebarOpen&&i(!1))},[p,E,i]),(0,Q.useEffect)(()=>{if(!p||o!==`chat`||v||b||l)return;let e=!1,t,n=r=>{t=window.setTimeout(()=>{if(e)return;let t=Rt.getState(),r=K.getState();if(!(r.activeMainTab!==`chat`||r.isSettingsDialogOpen||t.currentSessionId||t.newSessionDraft?.open)){if(t.isLoading){n(250);return}t.openNewSessionDraft()}},r)};return n(500),()=>{e=!0,t!==void 0&&window.clearTimeout(t)}},[o,p,l,v,b]),(0,Q.useEffect)(()=>{!p||!l||(E(!1),x(!1),n&&i(!1))},[p,l,n,E,i]),Q.useEffect(()=>{K.getState().isMobile!==p&&s(p)},[p,s]),Q.useEffect(()=>{if(typeof window>`u`)return;let e,t=()=>{e===void 0&&(e=window.requestAnimationFrame(()=>{e=void 0,K.getState().updateProportionalSidebarWidths()}))};return window.addEventListener(`resize`,t),()=>{window.removeEventListener(`resize`,t),e!==void 0&&window.cancelAnimationFrame(e)}},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let t,n=()=>{let t=K.getState(),n=window.innerWidth,r=window.innerHeight;!p&&!m&&(n<1140?t.isRightSidebarOpen&&(i(!1),h.current=!0):n>=e&&h.current&&(i(!0),h.current=!1),r<640?t.isBottomTerminalOpen&&(a(!1),g.current=!0):r>=700&&g.current&&(a(!0),g.current=!1))},r=()=>{t===void 0&&(t=window.requestAnimationFrame(()=>{t=void 0,n()}))};return n(),window.addEventListener(`resize`,r),()=>{window.removeEventListener(`resize`,r),t!==void 0&&window.cancelAnimationFrame(t)}},[p,m,a,i]),Q.useEffect(()=>{if(typeof window>`u`)return;let t=K.subscribe((t,n)=>{let r=window.innerWidth,i=window.innerHeight,a=r>=e,o=i>=700;t.isRightSidebarOpen!==n.isRightSidebarOpen&&a&&(h.current=!1),t.isBottomTerminalOpen!==n.isBottomTerminalOpen&&o&&(g.current=!1)});return()=>{t()}},[p,m,a,i]);let N=Q.useCallback(()=>{v&&E(!1),x(!b)},[v,b,E]),P=Q.useMemo(()=>{switch(o){case`git`:return(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Vd,{isActive:!b})});case`diff`:return(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(js,{})});case`terminal`:return r?null:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(mx,{})});case`files`:return(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)($f,{})});case`diagram`:return(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(hx,{})});default:return null}},[o,r,b]),F=o===`schedule`,I=o===`assistant`,ee=F||I,L=o===`chat`,R=!ee&&!l;return(0,$.jsx)(ac,{children:(0,$.jsxs)(`div`,{"data-page-scroll-lock":`true`,className:Y(`main-content-safe-area`,p?`flex h-[100dvh] flex-col`:`relative flex h-[100dvh]`,`bg-background`),children:[(0,$.jsx)(Zh,{}),(0,$.jsx)(Hg,{}),(0,$.jsx)(Kg,{}),(0,$.jsx)(dx,{}),p?(0,$.jsxs)(px,{value:{leftDrawerOpen:v,rightDrawerOpen:b,toggleLeftDrawer:()=>{let e=!v;b&&x(!1),E(e)},toggleRightDrawer:N,leftDrawerX:k,rightDrawerX:j,leftDrawerWidth:A,rightDrawerWidth:M,setMobileLeftDrawerOpen:E,setRightSidebarOpen:x},children:[!l&&!ee&&(0,$.jsx)(Gl,{onToggleLeftDrawer:()=>{let e=!v;b&&x(!1),E(e)},onToggleRightDrawer:()=>{N()},leftDrawerOpen:v,rightDrawerOpen:b}),(0,$.jsx)(`div`,{"data-page-scroll-lock":`true`,className:Y(`flex flex-1 overflow-hidden relative`,l&&`hidden`),children:(0,$.jsxs)(`main`,{className:`w-full h-full overflow-hidden bg-background relative`,"data-page-scroll-lock":`true`,children:[F&&(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(oc,{})})})}),I&&(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(yx,{})})})}),R&&(0,$.jsx)(`div`,{className:Y(`absolute inset-0`,!L&&`invisible`),children:(0,$.jsx)(wa,{children:(0,$.jsx)(dc,{})})}),R&&P&&(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(wa,{children:P})}),d&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-10 bg-background`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Ic,{onCreated:()=>f(!1),onCancel:()=>f(!1)})})}),(0,$.jsx)(Uo.div,{className:Y(`absolute inset-0 z-20 bg-sidebar`,!S&&`pointer-events-none invisible`),"data-page-scroll-lock":`true`,style:{x:k},"aria-hidden":!v,children:(0,$.jsx)(wa,{children:(0,$.jsx)(cx,{mobileVariant:!0,isVisible:S})})}),w&&(0,$.jsx)(Uo.div,{className:`absolute inset-0 z-20 bg-sidebar`,"data-page-scroll-lock":`true`,style:{x:j},"aria-hidden":!b,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Vd,{isActive:b})})})})]})}),l&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-10 bg-background`,style:{paddingTop:`var(--oc-safe-area-top, 0px)`},children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(gx,{onClose:()=>u(!1)})})})}),(0,$.jsx)(wa,{children:(0,$.jsx)(mc,{})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(pu,{}),(0,$.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,"data-page-scroll-lock":`true`,children:[(0,$.jsx)(iu,{isOpen:t,isMobile:p,className:`border-border/50`,topBar:(0,$.jsx)(au,{}),children:(0,$.jsx)(cx,{isVisible:t})}),(0,$.jsx)(`div`,{className:`relative flex flex-1 min-w-0 flex-col overflow-hidden bg-background`,"data-page-scroll-lock":`true`,children:ee?(0,$.jsx)(`main`,{className:`flex-1 overflow-hidden bg-background`,"data-page-scroll-lock":`true`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:I?(0,$.jsx)(yx,{}):(0,$.jsx)(oc,{})})})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Gl,{}),(0,$.jsxs)(`div`,{className:`relative flex flex-1 min-h-0 overflow-hidden bg-background`,"data-page-scroll-lock":`true`,children:[(0,$.jsxs)(`div`,{className:`relative flex flex-1 min-w-0 flex-col overflow-hidden oc-layout-divider-t bg-background`,"data-page-scroll-lock":`true`,children:[(0,$.jsx)(`div`,{className:`flex flex-1 min-h-0 overflow-hidden`,"data-page-scroll-lock":`true`,children:(0,$.jsxs)(`div`,{className:`relative flex flex-1 min-h-0 min-w-0 overflow-hidden`,"data-page-scroll-lock":`true`,children:[(0,$.jsxs)(`main`,{className:`flex-1 overflow-hidden bg-background relative`,"data-page-scroll-lock":`true`,children:[R&&(0,$.jsx)(`div`,{className:Y(`absolute inset-0`,!L&&`invisible`),children:(0,$.jsx)(wa,{children:(0,$.jsx)(dc,{})})}),R&&P&&(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(wa,{children:P})})]}),(0,$.jsx)(Wh,{})]})}),(0,$.jsx)(Xl,{isOpen:r,isMobile:p,children:r?(0,$.jsx)(wa,{children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(mx,{})})}):null})]}),(0,$.jsx)(Su,{isOpen:n,className:`bg-background oc-layout-divider-t`,children:(0,$.jsx)(wa,{children:(0,$.jsx)(hf,{})})})]})]})})]}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(_x,{open:l,onOpenChange:u})}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(vx,{open:d,onOpenChange:f})})]})]})})},xx=e=>{if(e<1e3)return`${Math.round(e)}ms`;let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},Sx=e=>{let t=(0,Vc.c)(8),{label:n,value:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={backgroundColor:`color-mix(in srgb, var(--surface-muted) 55%, transparent)`},t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsx)(`div`,{className:`typography-meta text-[var(--surface-muted-foreground)]`,children:n}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=(0,$.jsx)(`div`,{className:`typography-markdown font-semibold text-[var(--surface-foreground)]`,children:r}),t[3]=r,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,$.jsxs)(`div`,{className:`rounded-md p-2`,style:i,children:[a,o]}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s},Cx=e=>{let t=(0,Vc.c)(43),{title:n,snapshot:r,emptyLabel:i}=e,{t:a}=Je(),o;if(t[0]!==i||t[1]!==r.durationMs||t[2]!==r.entries||t[3]!==r.lastUpdatedAt||t[4]!==r.startedAt||t[5]!==a||t[6]!==n){let e=r.entries.slice(0,12),s;t[8]===r.entries?s=t[9]:(s=r.entries.reduce(Tx,0),t[8]=r.entries,t[9]=s);let c=s,l;t[10]===n?l=t[11]:(l=(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-[var(--surface-foreground)]`,children:n}),t[10]=n,t[11]=l);let u;t[12]!==r.durationMs||t[13]!==r.startedAt||t[14]!==a?(u=r.startedAt?xx(r.durationMs):a(`memoryDebugPanel.common.idle`),t[12]=r.durationMs,t[13]=r.startedAt,t[14]=a,t[15]=u):u=t[15];let d;t[16]===u?d=t[17]:(d=(0,$.jsx)(`div`,{className:`typography-meta text-[var(--surface-muted-foreground)]`,children:u}),t[16]=u,t[17]=d);let f;t[18]!==l||t[19]!==d?(f=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[l,d]}),t[18]=l,t[19]=d,t[20]=f):f=t[20];let p;t[21]===a?p=t[22]:(p=a(`memoryDebugPanel.metric.metrics`),t[21]=a,t[22]=p);let m;t[23]!==r.entries.length||t[24]!==p?(m=(0,$.jsx)(Sx,{label:p,value:r.entries.length}),t[23]=r.entries.length,t[24]=p,t[25]=m):m=t[25];let h;t[26]===a?h=t[27]:(h=a(`memoryDebugPanel.metric.samples`),t[26]=a,t[27]=h);let g;t[28]!==h||t[29]!==c?(g=(0,$.jsx)(Sx,{label:h,value:c}),t[28]=h,t[29]=c,t[30]=g):g=t[30];let _;t[31]===a?_=t[32]:(_=a(`memoryDebugPanel.metric.lastUpdate`),t[31]=a,t[32]=_);let v;t[33]!==r.lastUpdatedAt||t[34]!==a?(v=r.lastUpdatedAt?a(`memoryDebugPanel.common.live`):a(`memoryDebugPanel.common.notAvailable`),t[33]=r.lastUpdatedAt,t[34]=a,t[35]=v):v=t[35];let y;t[36]!==_||t[37]!==v?(y=(0,$.jsx)(Sx,{label:_,value:v}),t[36]=_,t[37]=v,t[38]=y):y=t[38];let b;t[39]!==g||t[40]!==y||t[41]!==m?(b=(0,$.jsxs)(`div`,{className:`grid grid-cols-3 gap-2`,children:[m,g,y]}),t[39]=g,t[40]=y,t[41]=m,t[42]=b):b=t[42],o=(0,$.jsxs)(`div`,{className:`space-y-2 border-t border-[var(--interactive-border)] pt-2 first:border-t-0 first:pt-0`,children:[f,b,e.length===0?(0,$.jsx)(`div`,{className:`rounded-md p-3 typography-meta text-[var(--surface-muted-foreground)]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-muted) 45%, transparent)`},children:i}):(0,$.jsx)(co,{outerClassName:`max-h-64`,className:`pr-1`,children:(0,$.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>(0,$.jsxs)(`div`,{className:`rounded-md border border-[var(--interactive-border)] p-2`,style:{backgroundColor:`color-mix(in srgb, var(--surface-elevated) 88%, transparent)`},children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-[var(--surface-foreground)] break-all`,children:e.metric}),(0,$.jsxs)(`div`,{className:`mt-1 grid grid-cols-4 gap-2 typography-meta text-[var(--surface-muted-foreground)]`,children:[(0,$.jsx)(`span`,{children:a(`memoryDebugPanel.metric.countValue`,{value:e.count})}),(0,$.jsx)(`span`,{children:a(`memoryDebugPanel.metric.avgValue`,{value:e.avg})}),(0,$.jsx)(`span`,{children:a(`memoryDebugPanel.metric.maxValue`,{value:e.max})}),(0,$.jsx)(`span`,{children:a(`memoryDebugPanel.metric.totalValue`,{value:e.total})})]})]},e.metric))})})]}),t[0]=i,t[1]=r.durationMs,t[2]=r.entries,t[3]=r.lastUpdatedAt,t[4]=r.startedAt,t[5]=a,t[6]=n,t[7]=o}else o=t[7];return o},wx=e=>{let t=(0,Vc.c)(104),{onClose:n}=e,{t:r}=Je(),[i,a]=Q.useState(`memory`),[o,s]=Q.useState(`idle`),c=Rt(Ex),l=An(Dx),u=rn(),d=Jt(),[f,p]=Q.useState(Ox),m,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>Ft(()=>{p(nn())}),h=[],t[0]=m,t[1]=h):(m=t[0],h=t[1]),Q.useEffect(m,h);let g;if(t[2]!==d||t[3]!==u){bb0:{let e=dn(),t={};if(!e){g=t;break bb0}let n=e.getCacheBudget?.(),r=n?n.listCanonical().map(kx):u.map(e=>({directory:d,sessionID:e.id}));for(let n of r){if(d&&n.directory!==d)continue;let r=e.getTranscript(jn(n.directory,n.sessionID));t[n.sessionID]=r.messageOrder.map(e=>r.messagesByID[e]).filter(Ax)}g=t}t[2]=d,t[3]=u,t[4]=g}else g=t[4];let _=g,v=$_(jx),[y,b]=Q.useState(Mx),[x,S]=Q.useState(Nx),C;t[5]===y.entries?C=t[6]:(C=new Map,y.entries.forEach(e=>{C.set(e.metric,e.count)}),t[5]=y.entries,t[6]=C);let w;t[7]===C?w=t[8]:(w=C.get(`ui.message_list.render`)??0,t[7]=C,t[8]=w);let T;t[9]===C?T=t[10]:(T=C.get(`ui.message_list.render.streaming`)??0,t[9]=C,t[10]=T);let E;t[11]===C?E=t[12]:(E=C.get(`ui.chat_message.render`)??0,t[11]=C,t[12]=E);let D;t[13]===C?D=t[14]:(D=C.get(`ui.chat_message.render.streaming`)??0,t[13]=C,t[14]=D);let O;t[15]===C?O=t[16]:(O=C.get(`ui.chat_message.render.static_during_stream`)??0,t[15]=C,t[16]=O);let k;t[17]===C?k=t[18]:(k=C.get(`ui.chat_message.render.static_outside_active_turn_during_stream`)??0,t[17]=C,t[18]=k);let A;t[19]!==w||t[20]!==T||t[21]!==E||t[22]!==D||t[23]!==O||t[24]!==k?(A={messageListRender:w,messageListRenderStreaming:T,chatMessageRender:E,chatMessageRenderStreaming:D,chatMessageRenderStaticDuringStream:O,chatMessageRenderStaticOutsideActiveTurnDuringStream:k},t[19]=w,t[20]=T,t[21]=E,t[22]=D,t[23]=O,t[24]=k,t[25]=A):A=t[25];let j=A,M,N;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{let e=()=>{b(ke()),S(Oe())};e();let t=window.setInterval(e,500);return()=>window.clearInterval(t)},N=[],t[26]=M,t[27]=N):(M=t[26],N=t[27]),Q.useEffect(M,N);let P,F;t[28]===o?(P=t[29],F=t[30]):(P=()=>{if(o===`idle`)return;let e=window.setTimeout(()=>{s(`idle`)},1500);return()=>window.clearTimeout(e)},F=[o],t[28]=o,t[29]=P,t[30]=F),Q.useEffect(P,F);let I=0,ee=0,L=0;for(let e of Object.keys(_)){let t=_[e]??[];ee+=t.length;for(let e of t)e.role===`user`?L+=1:e.role===`assistant`&&(I+=1)}let R;t[31]!==I||t[32]!==ee||t[33]!==L?(R={assistant:I,total:ee,user:L},t[31]=I,t[32]=ee,t[33]=L,t[34]=R):R=t[34];let z=R,B;if(t[35]!==c||t[36]!==_||t[37]!==l||t[38]!==u||t[39]!==r){let e;t[41]!==c||t[42]!==_||t[43]!==l||t[44]!==r?(e=e=>{let t=_[e.id]??[],n=0,i=0;for(let e of t)e.role===`user`?i+=1:e.role===`assistant`&&(n+=1);let a=l.get(e.id);return{id:e.id,title:e.title||r(`memoryDebugPanel.common.untitled`),assistantMessageCount:n,messageCount:t.length,userMessageCount:i,isStreaming:a?.isStreaming||!1,isZombie:a?.isZombie||!1,backgroundCount:a?.backgroundMessageCount||0,lastAccessed:a?.lastAccessedAt||0,isCurrent:e.id===c}},t[41]=c,t[42]=_,t[43]=l,t[44]=r,t[45]=e):e=t[45],B=u.map(e).sort(Px),t[35]=c,t[36]=_,t[37]=l,t[38]=u,t[39]=r,t[40]=B}else B=t[40];let V=B,H;t[46]===_?H=t[47]:(H=Object.keys(_),t[46]=_,t[47]=H);let U=H.length,te;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(te=async()=>{try{let e={generatedAt:new Date().toISOString(),ui:ke(),vscode:Oe()};await navigator.clipboard.writeText(JSON.stringify(e,null,2)),s(`copied`)}catch{s(`error`)}},t[48]=te):te=t[48];let ne=te,W;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(W={backgroundColor:`color-mix(in srgb, var(--surface-background) 94%, transparent)`},t[49]=W):W=t[49];let re;t[50]===i?re=t[51]:(re=i===`memory`?(0,$.jsx)(X,{name:`database-2`,className:`h-4 w-4 text-[var(--surface-foreground)]`}):(0,$.jsx)(X,{name:`bar-chart-box`,className:`h-4 w-4 text-[var(--surface-foreground)]`}),t[50]=i,t[51]=re);let G;t[52]===r?G=t[53]:(G=r(`memoryDebugPanel.title`),t[52]=r,t[53]=G);let ie;t[54]===G?ie=t[55]:(ie=(0,$.jsx)(`h3`,{className:`typography-ui-label font-semibold text-[var(--surface-foreground)]`,children:G}),t[54]=G,t[55]=ie);let ae;t[56]!==re||t[57]!==ie?(ae=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[re,ie]}),t[56]=re,t[57]=ie,t[58]=ae):ae=t[58];let oe;t[59]===i?oe=t[60]:(oe=i===`streaming`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{size:`xs`,variant:`ghost`,onClick:ne,children:(0,$.jsx)(X,{name:`file-copy`,className:`h-3.5 w-3.5`})}),(0,$.jsx)(Z,{size:`xs`,variant:`ghost`,onClick:()=>{Ce(),b(ke()),S(Oe())},children:(0,$.jsx)(X,{name:`refresh`,className:`h-3.5 w-3.5`})})]}):null,t[59]=i,t[60]=oe);let se;t[61]===n?se=t[62]:(se=n?(0,$.jsx)(Z,{size:`icon`,variant:`ghost`,className:`h-6 w-6`,onClick:n,children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`})}):null,t[61]=n,t[62]=se);let ce;t[63]!==oe||t[64]!==se?(ce=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[oe,se]}),t[63]=oe,t[64]=se,t[65]=ce):ce=t[65];let le;t[66]!==ae||t[67]!==ce?(le=(0,$.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-2`,children:[ae,ce]}),t[66]=ae,t[67]=ce,t[68]=le):le=t[68];let ue;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(ue={backgroundColor:`color-mix(in srgb, var(--surface-muted) 55%, transparent)`},t[69]=ue):ue=t[69];let de=i===`memory`?`secondary`:`ghost`,fe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(fe=()=>a(`memory`),t[70]=fe):fe=t[70];let pe;t[71]===r?pe=t[72]:(pe=r(`memoryDebugPanel.tabs.memory`),t[71]=r,t[72]=pe);let me;t[73]!==de||t[74]!==pe?(me=(0,$.jsx)(Z,{size:`sm`,variant:de,className:`flex-1`,onClick:fe,children:pe}),t[73]=de,t[74]=pe,t[75]=me):me=t[75];let he=i===`streaming`?`secondary`:`ghost`,ge;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(ge=()=>a(`streaming`),t[76]=ge):ge=t[76];let _e;t[77]===r?_e=t[78]:(_e=r(`memoryDebugPanel.tabs.streaming`),t[77]=r,t[78]=_e);let ve;t[79]!==he||t[80]!==_e?(ve=(0,$.jsx)(Z,{size:`sm`,variant:he,className:`flex-1`,onClick:ge,children:_e}),t[79]=he,t[80]=_e,t[81]=ve):ve=t[81];let ye;t[82]!==me||t[83]!==ve?(ye=(0,$.jsxs)(`div`,{className:`mb-3 flex gap-1 rounded-md p-1`,style:ue,children:[me,ve]}),t[82]=me,t[83]=ve,t[84]=ye):ye=t[84];let be;t[85]!==i||t[86]!==U||t[87]!==o||t[88]!==c||t[89]!==_||t[90]!==z||t[91]!==l||t[92]!==V||t[93]!==u||t[94]!==j||t[95]!==y||t[96]!==r||t[97]!==v||t[98]!==x?(be=i===`memory`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 typography-meta`,children:[(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.totalMessages`),value:z.total}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.cachedSessions`),value:`${U} / ${yr.MAX_SESSIONS}`}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.userMessages`),value:z.user}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.assistantMessages`),value:z.assistant})]}),(0,$.jsxs)(`div`,{className:`typography-meta space-y-1 border-t border-[var(--interactive-border)] pt-2`,children:[(0,$.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-[var(--surface-muted-foreground)]`,children:r(`memoryDebugPanel.metric.viewportWindow`)}),(0,$.jsx)(`span`,{className:`text-[var(--surface-foreground)]`,children:r(`memoryDebugPanel.metric.messagesValue`,{count:Xr()})})]}),(0,$.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-[var(--surface-muted-foreground)]`,children:r(`memoryDebugPanel.metric.zombieTimeout`)}),(0,$.jsx)(`span`,{className:`text-[var(--surface-foreground)]`,children:r(`memoryDebugPanel.metric.minutesValue`,{count:yr.ZOMBIE_TIMEOUT/1e3/60})})]}),(0,$.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-[var(--surface-muted-foreground)]`,children:r(`memoryDebugPanel.metric.githubTotalRequests`)}),(0,$.jsx)(`span`,{className:`text-[var(--surface-foreground)]`,children:v})]})]}),(0,$.jsxs)(`div`,{className:`border-t border-[var(--interactive-border)] pt-2`,children:[(0,$.jsx)(`div`,{className:`mb-1 typography-meta font-semibold text-[var(--surface-foreground)]`,children:r(`memoryDebugPanel.section.sessionsInMemory`)}),(0,$.jsx)(co,{outerClassName:`max-h-48`,className:`space-y-1 pr-1`,children:V.map(e=>(0,$.jsxs)(`div`,{className:`typography-meta flex items-center justify-between rounded p-1.5`,style:{backgroundColor:e.isCurrent?`color-mix(in srgb, var(--interactive-selection) 22%, transparent)`:`color-mix(in srgb, var(--surface-muted) 35%, transparent)`},children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate text-[var(--surface-foreground)]`,children:e.title}),e.isStreaming?(0,$.jsx)(X,{name:`pulse`,className:`h-3 w-3 animate-pulse text-[var(--status-info)]`}):null,e.isZombie?(0,$.jsx)(`span`,{className:`text-[var(--status-warning)]`,children:`!`}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-[var(--surface-muted-foreground)]`,children:r(`memoryDebugPanel.metric.roleMsgsValue`,{assistant:e.assistantMessageCount,user:e.userMessageCount})}),(0,$.jsx)(`span`,{className:`font-mono text-[var(--surface-foreground)]`,children:r(`memoryDebugPanel.metric.msgsValue`,{count:e.messageCount})}),e.backgroundCount>0?(0,$.jsxs)(`span`,{className:`text-[var(--status-info)]`,children:[`+`,e.backgroundCount]}):null]})]},e.id))})]}),(0,$.jsx)(`div`,{className:`flex gap-2 border-t border-[var(--interactive-border)] pt-2`,children:(0,$.jsxs)(oa,{children:[(0,$.jsx)(ra,{asChild:!0,children:(0,$.jsx)(Z,{size:`sm`,variant:`outline`,className:`typography-meta`,onClick:()=>{u.map(Fx),Object.keys(_),V.map(Ix),Object.fromEntries(l)},children:r(`memoryDebugPanel.actions.logState`)})}),(0,$.jsx)(ia,{side:`top`,children:r(`memoryDebugPanel.tooltip.logCurrentState`)})]})})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 rounded-md border border-[var(--interactive-border)] px-3 py-2 typography-meta text-[var(--surface-muted-foreground)]`,children:[(0,$.jsx)(`span`,{children:r(o===`copied`?`memoryDebugPanel.streaming.copy.copied`:o===`error`?`memoryDebugPanel.streaming.copy.failed`:`memoryDebugPanel.streaming.copy.hint`)}),(0,$.jsx)(Z,{size:`xs`,variant:`outline`,onClick:ne,children:r(`memoryDebugPanel.actions.copyJson`)})]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.uiMetrics`),value:y.entries.length}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.vscodeMetrics`),value:x.entries.length}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.messageListRenders`),value:j.messageListRender}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.messageListStreamRenders`),value:j.messageListRenderStreaming}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.chatMessageRenders`),value:j.chatMessageRender}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.chatMessageStreamRenders`),value:j.chatMessageRenderStreaming}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.chatMessageStaticDuringStream`),value:j.chatMessageRenderStaticDuringStream}),(0,$.jsx)(Sx,{label:r(`memoryDebugPanel.metric.chatMessageStaticOutsideActiveTurn`),value:j.chatMessageRenderStaticOutsideActiveTurnDuringStream})]}),(0,$.jsx)(Cx,{title:r(`memoryDebugPanel.section.uiStreamingMetrics`),snapshot:y,emptyLabel:r(`memoryDebugPanel.section.noUiSamples`)}),x.entries.length>0?(0,$.jsx)(Cx,{title:r(`memoryDebugPanel.section.vscodeBridgeMetrics`),snapshot:x,emptyLabel:r(`memoryDebugPanel.section.noVscodeSamples`)}):null]}),t[85]=i,t[86]=U,t[87]=o,t[88]=c,t[89]=_,t[90]=z,t[91]=l,t[92]=V,t[93]=u,t[94]=j,t[95]=y,t[96]=r,t[97]=v,t[98]=x,t[99]=be):be=t[99];let xe;return t[100]!==le||t[101]!==ye||t[102]!==be?(xe=(0,$.jsxs)(ja,{className:`fixed bottom-4 right-4 z-50 w-[28rem] p-4 shadow-none bottom-safe-area`,style:W,children:[le,ye,be]}),t[100]=le,t[101]=ye,t[102]=be,t[103]=xe):xe=t[103],xe};function Tx(e,t){return e+t.count}function Ex(e){return e.currentSessionId}function Dx(e){return e.sessionMemoryState}function Ox(){return nn()}function kx(e){return e.scope}function Ax(e){return!!e}function jx(e){return e.totalRequestCount}function Mx(){return ke()}function Nx(){return Oe()}function Px(e,t){return t.lastAccessed-e.lastAccessed}function Fx(e){return{id:e.id,title:e.title}}function Ix(e){return{id:e.id,title:e.title,total:e.messageCount,user:e.userMessageCount,assistant:e.assistantMessageCount}}var Lx=()=>{let{isMobile:e,closeActiveContextPanelTab:t}=K.getState();if(e)return;let n=No();n&&t(n)||y()&&w(`desktop_close_current_window`).catch(e=>{console.warn(`[menu-actions] failed to close current window`,e)})},Rx=()=>{if(typeof document>`u`)return``;let e=document.activeElement;if(e instanceof HTMLTextAreaElement)return e.value.slice(e.selectionStart??0,e.selectionEnd??0);if(e instanceof HTMLInputElement){let t=e.type?.toLowerCase()??`text`;if([`text`,`search`,`url`,`tel`,`password`].includes(t))return e.value.slice(e.selectionStart??0,e.selectionEnd??0)}return e instanceof HTMLElement&&e.isContentEditable?e.ownerDocument.defaultView?.getSelection?.()?.toString()??``:``},zx=async()=>{let e=Rx()||window.getSelection()?.toString()||``;if(!e.trim())return!1;try{if(typeof navigator<`u`&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}return document.execCommand(`copy`)},Bx=`openchamber:menu-action`,Vx=`openchamber:check-for-updates`,Hx=e=>typeof e?.listen==`function`?`bridge`:`dom`,Ux=e=>{let t=Rt(e=>e.openNewSessionDraft),n=K(e=>e.toggleCommandPalette),r=K(e=>e.setCommandPaletteOpen),i=K(e=>e.toggleHelpDialog),a=K(e=>e.toggleSidebar),o=K(e=>e.setSessionSwitcherOpen),s=K(e=>e.setActiveMainTab),c=K(e=>e.setSettingsDialogOpen),l=K(e=>e.setSettingsPage),u=K(e=>e.setAboutDialogOpen),d=K(e=>e.toggleRightSidebar),f=K(e=>e.setRightSidebarOpen),p=K(e=>e.setRightSidebarTab),m=K(e=>e.toggleBottomTerminal),h=K(e=>e.setBottomTerminalExpanded),g=Jo(e=>e.checkForUpdates),{setThemeMode:_}=Fa(),{t:v}=Je(),y=Q.useRef(!1),b=typeof window>`u`?null:window.__OPENCHAMBER_DESKTOP__,x=Hx(b),S=Q.useCallback(()=>{y.current||(y.current=!0,g().then(()=>{let{available:e,error:t}=Jo.getState();if(t){J.error(v(`sessions.sidebar.updateCheck.errorTitle`),{description:t});return}e||J.success(v(`sessions.sidebar.updateCheck.latestVersion`))}).finally(()=>{y.current=!1}))},[g,v]),C=Q.useCallback(()=>{At.requestDirectoryDialog()},[]),w=Q.useCallback(e=>{fi(e,Rt.getState().currentSessionId,e=>{s(`chat`),o(!1),Rt.getState().setCurrentSession(e.sessionId,e.directory)})},[s,o]),T=Q.useCallback(e=>{let{activeProjectId:t,projects:n,setActiveProject:r}=qt.getState();if(n.length===0)return;let i=n.findIndex(e=>e.id===t),a=e>0?0:n.length-1;i>=0&&(a=(i+e+n.length)%n.length);let o=n[a];o&&r(o.id)},[]),E=Q.useCallback(g=>{switch(g){case`about`:u(!0);break;case`settings`:c(!0);break;case`switch-instance`:l(`remote-instances`),c(!0);break;case`command-palette`:n();break;case`quick-open`:r(!0);break;case`new-session`:s(`chat`),o(!1),t();break;case`new-worktree-session`:s(`chat`),o(!1),wi();break;case`change-workspace`:C();break;case`close-tab-or-window`:Lx();break;case`toggle-right-sidebar`:d();break;case`open-right-sidebar-git`:f(!0),p(`git`);break;case`open-right-sidebar-files`:f(!0),p(`files`);break;case`toggle-terminal`:m();break;case`toggle-terminal-expanded`:h(!K.getState().isBottomTerminalExpanded);break;case`copy`:{let e=new Event(`openchamber:copy`,{cancelable:!0});window.dispatchEvent(e)&&zx();break}case`theme-light`:_(`light`);break;case`theme-dark`:_(`dark`);break;case`theme-system`:_(`system`);break;case`toggle-sidebar`:a();break;case`toggle-memory-debug`:e?.();break;case`zoom-in`:Ti();break;case`zoom-out`:bi();break;case`zoom-reset`:ci();break;case`go-back`:xe.getState().goBack();break;case`go-forward`:xe.getState().goForward();break;case`previous-session`:w(-1);break;case`next-session`:w(1);break;case`previous-project`:T(-1);break;case`next-project`:T(1);break;case`help-dialog`:i();break;case`download-logs`:Ii().catch(()=>{J.error(`Failed to collect OpenCode status`)})}},[C,T,w,e,t,u,s,o,r,c,l,h,f,p,_,m,n,i,d,a]);Q.useEffect(()=>{if(x!==`dom`)return;let e=e=>{let t=e.detail;t&&E(t)},t=()=>{S()};return window.addEventListener(Bx,e),window.addEventListener(Vx,t),()=>{window.removeEventListener(Bx,e),window.removeEventListener(Vx,t)}},[E,S,x]),Q.useEffect(()=>{if(x!==`bridge`)return;let e=b?.listen;if(typeof e!=`function`)return;let t=null,n=null;return e(`openchamber:menu-action`,e=>{let t=e?.payload;typeof t==`string`&&E(t)}).then(e=>{t=e}).catch(()=>{}),e(`openchamber:check-for-updates`,S).then(e=>{n=e}).catch(()=>{}),()=>{(async()=>{try{let e=t?.();e instanceof Promise&&await e}catch{}try{let e=n?.();e instanceof Promise&&await e}catch{}})()}},[b,E,S,x])},Wx=(e,t)=>e<t?-1:+(e>t),Gx=e=>JSON.stringify([...e.entries()].map(([e,t])=>[e,[...new Set(t)].sort(Wx)]).sort(([e],[t])=>Wx(e,t)));async function Kx({targets:e,isReady:t,fetchStatus:n,applySnapshot:r,concurrency:i=2,isDisposed:a=()=>!1}){if(!t()||a())return;let o=[...e.entries()],s=0,c=Math.min(Math.max(1,i),o.length),l=async()=>{for(;s<o.length&&t()&&!a();){let e=o[s];if(s+=1,!e)return;let[t,i]=e,c=await n(t);c===null||a()||r(t,c,i)}};await Promise.all(Array.from({length:c},()=>l()))}var qx=`openchamber:tray-action`,Jx=3e4,Yx=120,Xx=20,Zx=()=>{if(typeof window>`u`)return!1;let e=window.__OPENCHAMBER_PLATFORM__;return e===`darwin`||e===`win32`},Qx=e=>{let t=typeof e.permission==`string`?e.permission:`Permission`,n=Array.isArray(e.patterns)?e.patterns.find(e=>typeof e==`string`&&e.trim()):``;return n?`${t}: ${n}`:t},$x=e=>{let t=Array.isArray(e.questions)?e.questions[0]:void 0;return t?.header||t?.question||`Question`},eS=e=>Ot(e),tS=e=>{let t=e.replace(/\\/g,`/`).replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t},nS=(e,t,n,r)=>{if(!e)return``;let i=st(t,n,e),a=tS(i?i.path:e),o=pt(e),s=o&&r.get(o)||``;if(!s){for(let[e,t]of Wa.getState().directories)if(pt(e)===o){s=t.status?.current??``;break}}if(!s)for(let e of n.values()){let t=e.find(e=>pt(e.path)===o);if(t?.branch){s=t.branch;break}}return s?`${a} · ${s}`:a},rS=()=>{let{results:e,dropdownProviderIds:t,displayMode:n}=ms.getState(),r=n===`remaining`?`remaining`:`usage`;if(!t.length)return{mode:r,groups:[]};let i=new Map(e.map(e=>[e.providerId,e])),a=[];for(let e of Ko){if(!t.includes(e.id))continue;let n=i.get(e.id);if(!n||n.configured!==!0)continue;let o=[];for(let[e,t]of Object.entries(n.usage?.windows??{})){let n=r===`remaining`?t.remainingPercent:t.usedPercent;o.push({label:Ma(e),value:Ca(t.valueLabel,n)})}let s=!n.ok&&n.error?n.error:o.length===0?`No rate limits reported`:null;a.push({provider:e.name,rows:o,status:s})}return{mode:r,groups:a}},iS=async()=>{try{if(T())return`Local OpenChamber`;let e=window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,t=d();if(t&&ne(t,e))return`Local OpenChamber`;let n=(await ie()).hosts.find(e=>t?ne(t,re(e)):!1);return n?.label?.trim()?W(n.label.trim()):`Instance`}catch{return``}},aS=()=>{let e=new Map,t=new Map,n=[],r=new Map,i;try{i=bn()}catch{return{statusById:e,branchByDirectory:t,approvals:n,titleById:r}}for(let[a,o]of i.children.entries()){let i=o.getState();i.vcs?.branch&&t.set(pt(a)??a,i.vcs.branch);for(let e of i.session)e?.id&&r.set(e.id,e.title);for(let[t,n]of Object.entries(i.session_status??{})){let r=n?.type,i=r===`busy`?`busy`:r===`retry`?`retry`:`idle`,a=e.get(t);(!a||a===`idle`)&&e.set(t,i)}for(let[e,t]of Object.entries(i.permission??{}))for(let r of t??[]){if(!r?.id)continue;let t=r.sessionID||e;n.push({kind:`permission`,id:r.id,sessionId:t,sessionTitle:``,label:Qx(r),directory:a})}for(let[e,t]of Object.entries(i.question??{}))for(let r of t??[]){if(!r?.id)continue;let t=r.sessionID||e;n.push({kind:`question`,id:r.id,sessionId:t,sessionTitle:``,label:$x(r),directory:a})}}return{statusById:e,branchByDirectory:t,approvals:n,titleById:r}},oS=()=>{let e=Ut.getState().activeSessions,t=new Set;e.filter(e=>e?.id&&!e.parentID).slice().sort((e,t)=>eS(t)-eS(e)).slice(0,Xx).forEach(e=>{let n=Bt(e);n&&t.add(n)});let n=new Map;for(let r of e){if(!r?.id)continue;let e=Bt(r);if(!e||!t.has(e))continue;let i=n.get(e)??[];i.push(r.id),n.set(e,i)}return n},sS=e=>{let t=aS(),n=et.getState().index.session,r=Ut.getState().activeSessions,i=new Map(t.titleById),a=new Map;for(let e of r)if(e?.id&&(e.title&&i.set(e.id,e.title),e.parentID)){let t=a.get(e.parentID)??[];t.push(e.id),a.set(e.parentID,t)}let o=e=>{let t=[],n=[...a.get(e)??[]],r=new Set;for(;n.length;){let e=n.pop();r.has(e)||(r.add(e),t.push(e),n.push(...a.get(e)??[]))}return t},s=It.getState().statusById,c=e=>{let n=t.statusById.get(e);return n&&n!==`idle`?n:s.get(e)?.status??n??`idle`},l=e=>{let t=e.map(e=>c(e));return t.includes(`busy`)?`busy`:t.includes(`retry`)?`retry`:`idle`},u=qt.getState().projects,d=Rt.getState().availableWorktreesByProject,f=r.filter(e=>e?.id&&!e.parentID).slice().sort((e,t)=>eS(t)-eS(e)).slice(0,Xx).map(e=>{let r=[e.id,...o(e.id)],i=Bt(e)??``;return{id:e.id,title:e.title||`Untitled session`,status:l(r),branch:i?t.branchByDirectory.get(i)??``:``,unseen:n.unseenCount[e.id]??0,hasError:n.unseenHasError[e.id]??!1,directory:i,subtitle:nS(i,u,d,t.branchByDirectory)}}),p=t.approvals.map(e=>({...e,sessionTitle:i.get(e.sessionId)||``})),m=K.getState(),h=0;if(m.dockBadgeEnabled)for(let e of r)!e?.id||e.parentID||(n.unseenCount[e.id]??0)>0&&(h+=1);return{sessions:f,approvals:p,instanceName:e,usage:rS(),dockBadgeCount:h}},cS=()=>{Q.useEffect(()=>{if(!Zx()||!y())return;let e=!1,t=``,n=null,r=``,i=()=>{if(e)return;let n=sS(r),i=JSON.stringify(n);i!==t&&(t=i,w(`desktop_tray_update`,n))};iS().then(t=>{e||(r=t,i())});let a=null,o=``,s=()=>{let e=vt.getState();return e.isConnected&&e.connectionPhase===`connected`},c=()=>{if(a)return a;let t=oS();return o=Gx(t),a=Kx({targets:t,isReady:s,concurrency:2,isDisposed:()=>e,fetchStatus:e=>Ee.getSessionStatusForDirectory(e).catch(()=>null),applySnapshot:(e,t,n)=>{Nn(e,t,[...n])}}).finally(()=>{a=null;let t=oS();!e&&s()&&Gx(t)!==o&&c()}),a},l=()=>{e||n!==null||(n=window.setTimeout(()=>{n=null,i()},Yx))},u=new Map,d=()=>{if(e)return;let t;try{t=bn()}catch{return}let n=new Set;for(let[e,r]of t.children.entries())n.add(e),u.has(e)||u.set(e,r.subscribe(()=>l()));for(let[e,t]of u)n.has(e)||(t(),u.delete(e))},f=null;try{f=bn().subscribeRegistry(()=>{d(),l()})}catch{}d();let p=et.subscribe(()=>l()),m=Ut.subscribe(()=>{l(),s()&&Gx(oS())!==o&&c()}),h=qt.subscribe(()=>l()),g=Rt.subscribe(()=>l()),_=Wa.subscribe(()=>l()),v=K.subscribe(()=>l()),b=It.subscribe(()=>l()),x=s(),S=vt.subscribe(()=>{let e=s();e&&!x&&c(),x=e});x&&c();let C=ms.subscribe(()=>l());ms.getState().loadSettings().then(()=>{if(e)return;let{dropdownProviderIds:t,results:n}=ms.getState();t.length>0&&t.some(e=>!n.some(t=>t.providerId===e))&&ms.getState().fetchAllQuotas()});let T=window.setInterval(()=>{let e=ms.getState();e.autoRefresh&&e.dropdownProviderIds.length>0&&e.fetchAllQuotas()},Math.max(3e4,ms.getState().refreshIntervalMs||6e4)),E=window.setInterval(()=>{d(),i()},Jx);return i(),()=>{e=!0,n!==null&&window.clearTimeout(n),window.clearInterval(E),window.clearInterval(T),p(),m(),h(),g(),_(),v(),b(),S(),C(),f?.();for(let e of u.values())e();u.clear()}},[]),Q.useEffect(()=>{if(!Zx()||typeof window>`u`)return;let e=window.__OPENCHAMBER_DESKTOP__?.listen;if(typeof e!=`function`)return;let t=e=>{e.type===`respond-permission`&&wt(e.sessionId,e.id,e.response).catch(()=>{J.error(`Failed to respond to permission request`)})},n=null;return e(qx,e=>{let n=e?.payload;!n||typeof n!=`object`||typeof n.type!=`string`||t(n)}).then(e=>{n=e}).catch(()=>{}),()=>{try{let e=n?.();e instanceof Promise&&e.catch(()=>{})}catch{}}},[])},lS=`/api/notifications/stream`,uS=()=>typeof document>`u`||document.visibilityState===`visible`&&document.hasFocus(),dS=e=>{if(!e||typeof e!=`object`)return null;let t=e,n=t.properties&&typeof t.properties==`object`?t.properties:null;return t.type!==`openchamber:notification`||!n?null:{title:typeof n.title==`string`?n.title:void 0,body:typeof n.body==`string`?n.body:void 0,tag:typeof n.tag==`string`?n.tag:void 0,requireHidden:n.requireHidden===!0||n.requireHidden!==!1&&void 0}},fS=e=>{let t=(0,Vc.c)(3),n=e?.enabled??!0,r,i;t[0]===n?(r=t[1],i=t[2]):(r=()=>{if(!n||S()||!ee()||typeof window>`u`||typeof EventSource>`u`)return;let e=new EventSource(s().sse(lS));return e.onmessage=pS,()=>{e.close()}},i=[n],t[0]=n,t[1]=r,t[2]=i),Q.useEffect(r,i)};function pS(e){let t;try{t=JSON.parse(e.data)}catch{return}let n=K.getState();if(!n.nativeNotificationsEnabled)return;let r=dS(t);r&&((r.requireHidden??n.notificationMode!==`always`)&&uS()||h()?.notifications?.notifyAgentCompletion(r))}var mS=`pwa-install-toast-shown`,hS=`pwa-install-toast-dismissed`,gS=()=>{let e=(0,Vc.c)(6),{browserTab:t}=ss(),{t:n}=Je(),r=Q.useRef(n),i,a;e[0]===n?(i=e[1],a=e[2]):(i=()=>{r.current=n},a=[n],e[0]=n,e[1]=i,e[2]=a),Q.useEffect(i,a);let o,s;e[3]===t?(o=e[4],s=e[5]):(o=()=>{if(typeof window>`u`||!ee()||!t)return;let e=null,n=null,i=()=>{n!==null&&(J.dismiss(n),n=null)},a=async()=>{if(!e)return;let t=e;e=null,i(),await t.prompt();let{outcome:n}=await t.userChoice;n===`accepted`&&J.success(r.current(`pwa.installPrompt.started`))},o=t=>{let o=t;if(typeof o.prompt!=`function`)return;o.preventDefault(),e=o;let s=Ae(),c=Me();Zs({dismissed:s.getItem(hS),sessionShown:c.getItem(mS),hasActiveToast:n!==null})&&(c.setItem(mS,`true`),n=J.info(r.current(`pwa.installPrompt.description`),{duration:1/0,action:{label:r.current(`pwa.installPrompt.action`),onClick:()=>{a()}},cancel:{label:r.current(`pwa.installPrompt.dismiss`),onClick:()=>{Ae().setItem(hS,`true`),i()}}}))},s=()=>{e=null,i(),J.success(r.current(`pwa.installPrompt.installed`))};return window.addEventListener(`beforeinstallprompt`,o),window.addEventListener(`appinstalled`,s),()=>{i(),window.removeEventListener(`beforeinstallprompt`,o),window.removeEventListener(`appinstalled`,s)}},s=[t],e[3]=t,e[4]=o,e[5]=s),Q.useEffect(o,s)},_S=()=>typeof window>`u`?``:window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,vS=()=>!p()||l()===`local`,yS=e=>({id:`local`,label:`Local`,url:e}),bS=async()=>{if(!p()||vS())return{ok:!0};let e=_S(),t=await G().catch(()=>``),n=await fa({host:yS(e),localApiOrigin:e,localClientToken:t});return n.ok?{ok:!0}:{ok:!1,reason:n.reason}},xS=100,SS=1e4,CS=null,wS=()=>{CS&&=(CS.unsubscribe?.(),CS.openTimer!==null&&clearTimeout(CS.openTimer),CS.timeoutTimer!==null&&clearTimeout(CS.timeoutTimer),null)};function TS(){wS()}var ES=(e,t)=>{K.getState().setActiveMainTab(`chat`),Rt.getState().setCurrentSession(e,t)};function DS(e){let t=typeof e?.sessionId==`string`?e.sessionId.trim():``;if(!t)return;let n=typeof e?.directory==`string`&&e.directory.trim().length>0?e.directory.trim():null;if(vS()){ES(t,n);return}wS(),bS().then(e=>{if(!e.ok){Mt(t,`missing-directory`);return}if(l()===`local`){ES(t,n);return}let r=!1,i=()=>{r||(r=!0,wS(),ES(t,n))},a=o(e=>{if(e.runtimeKey!==`local`)return;a(),CS&&(CS.unsubscribe=null);let t=setTimeout(()=>{CS&&(CS.openTimer=null),i()},xS);CS&&(CS.openTimer=t)});CS={unsubscribe:a,openTimer:null,timeoutTimer:setTimeout(()=>{r||(wS(),Mt(t,`missing-directory`))},SS)}})}var OS=({open:e,onOpenChange:t})=>{let{t:n}=Je(),[r,i]=Q.useState(null),[a,o]=Q.useState(null),[s,c]=Q.useState(!1),[l,u]=Q.useState(!1),[d,p]=Q.useState(null),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),[v,y]=Q.useState(()=>sn()),b=Ue(e=>{_n(e),y(e)}),x=Ue(async()=>{if(!g){_(!0);try{let{outcome:e,eventCount:t}=await xn();if(e===`cancelled`)return;if(e===`failed`){J.error(n(`settings.openchamber.about.diagnostics.toast.failed`));return}J.success(n(t>0?`settings.openchamber.about.diagnostics.toast.exported`:`settings.openchamber.about.diagnostics.toast.empty`))}catch{J.error(n(`settings.openchamber.about.diagnostics.toast.failed`))}finally{_(!1)}}});Q.useCallback(async()=>{},[d,s,!1,n]),Q.useEffect(()=>{e&&(async()=>{try{let e=await f(`/api/system/info`);if(e.ok){let t=await e.json();if(typeof t.openchamberVersion==`string`&&t.openchamberVersion.trim()){i(t.openchamberVersion);return}}}catch{}i(await Ke())})()},[e]),Q.useEffect(()=>{if(!e)return;let t=!1;return(async()=>{try{let e=await f(`/api/opencode/upgrade-status`,{headers:{Accept:`application/json`}});if(!e.ok)return;let n=await e.json().catch(()=>null),r=typeof n?.currentVersion==`string`?n.currentVersion.trim():``;!t&&r&&o(r)}catch{}})(),()=>{t=!0}},[e]),Q.useEffect(()=>{p(null),h(!1)},[e,!1]);let S=r;return(0,$.jsx)(Hn,{open:e,onOpenChange:t,children:(0,$.jsx)(zn,{className:`max-w-xs p-6`,children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center text-center space-y-4`,children:[(0,$.jsx)(Ea,{width:64,height:64}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold`,children:`OpenChamber`}),(0,$.jsxs)(`div`,{className:`space-y-0.5 typography-meta text-muted-foreground`,children:[S&&(0,$.jsx)(`p`,{children:n(`aboutDialog.openChamberVersionLabel`,{version:S})}),a&&(0,$.jsx)(`p`,{children:n(`aboutDialog.openCodeVersionLabel`,{version:a})})]})]}),(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-stretch gap-3 pt-2`,children:[(0,$.jsx)(ts,{itemId:`about.diagnostics`,checked:v,onChange:b,label:n(`settings.openchamber.about.diagnostics.label`),ariaLabel:n(`settings.openchamber.about.diagnostics.label`)}),v&&(0,$.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,disabled:g,onClick:()=>void x(),children:n(g?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})]}),!1,(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 pt-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-4`,children:[(0,$.jsxs)(`a`,{href:`https://github.com/yee94/openchamber`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 typography-meta text-muted-foreground hover:text-foreground transition-colors`,children:[(0,$.jsx)(X,{name:`github-fill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`GitHub`})]}),(0,$.jsxs)(`a`,{href:`https://discord.gg/ZYRSdnwwKA`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 typography-meta text-muted-foreground hover:text-foreground transition-colors`,children:[(0,$.jsx)(X,{name:`discord-fill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`Discord`})]})]}),(0,$.jsxs)(`a`,{href:`https://x.com/openchamber_dev`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 typography-meta text-muted-foreground hover:text-foreground transition-colors`,children:[(0,$.jsx)(X,{name:`twitter-xfill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`@openchamber_dev`})]})]}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground/60 pt-2`,children:n(`aboutDialog.footerNote`)})]})})})},kS=(e,t)=>{let n=e.get(t);return typeof n==`string`&&n.trim()||null},AS=(e,t)=>{let n=e instanceof Error?e.message:t;return/oauth state required/i.test(n)?`Authorization session expired or was cleared during reload. Return to OpenChamber and click Authorize again.`:n},jS=()=>{let e=rs(e=>e.completeAuth),[t,n]=Q.useState(`working`),[r,i]=Q.useState(`Completing MCP authorization...`);return Q.useEffect(()=>{if(typeof window>`u`){n(`error`),i(`Browser context unavailable.`);return}let t=new URLSearchParams(window.location.search),r=kS(t,`code`),a=Zo(t),o=Qo(t),s=kS(t,`error`),c=kS(t,`error_description`);if(s){o&&f(`/api/mcp/auth/pending?state=${encodeURIComponent(o)}`,{method:`DELETE`}).catch(()=>void 0),n(`error`),i(c??s);return}(async()=>{try{if(!r)throw Error(`Missing OAuth authorization code. Start authorization again from MCP Settings or paste the returned code into OpenChamber manually.`);let t=a;if(!t&&o){let e=await f(`/api/mcp/auth/pending?state=${encodeURIComponent(o)}`);if(e.ok){let n=await e.json().catch(()=>null);n?.name?.trim()&&(t={name:n.name.trim(),directory:typeof n.directory==`string`&&n.directory.trim()?n.directory.trim():null})}}if(!t?.name)throw Error(`Authorization session details were not available. Start authorization again from MCP Settings or paste the returned code into OpenChamber manually.`);await e(t.name,r,t.directory),o&&await f(`/api/mcp/auth/pending?state=${encodeURIComponent(o)}`,{method:`DELETE`}).catch(()=>void 0),n(`success`),i(`Authorization completed. You can close this tab and return to OpenChamber.`)}catch(e){o&&await f(`/api/mcp/auth/pending?state=${encodeURIComponent(o)}`,{method:`DELETE`}).catch(()=>void 0),n(`error`),i(AS(e,`Failed to complete MCP authorization.`))}})()},[e]),(0,$.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-background px-6 py-12 text-foreground`,children:(0,$.jsxs)(`div`,{className:`w-full max-w-xl rounded-xl border border-[var(--interactive-border)] bg-[var(--surface-elevated)] p-8 shadow-sm dark:shadow-none`,children:[(0,$.jsxs)(`div`,{className:`space-y-3 text-center`,children:[(0,$.jsx)(`div`,{className:t===`error`?`text-[var(--status-error)]`:t===`success`?`text-[var(--status-success)]`:`text-[var(--status-info)]`,children:(0,$.jsx)(`h1`,{className:`typography-hero font-semibold`,children:t===`working`?`Completing Authorization`:t===`success`?`Authorization Complete`:`Authorization Failed`})}),(0,$.jsx)(`p`,{className:`typography-body text-muted-foreground`,children:r})]}),t!==`working`&&(0,$.jsx)(`div`,{className:`mt-8 flex justify-center`,children:(0,$.jsx)(Z,{type:`button`,onClick:()=>{typeof window>`u`||window.location.replace(`/`)},children:`Return to OpenChamber`})})]})})},MS=()=>{let e=(0,Vc.c)(16),t=Ut(NS),n=Ut(PS),r=Ut(FS),i=Ut(IS),{t:a}=Je(),o;e[0]!==r||e[1]!==i?(o=i>0?Math.round(r/i*100):0,e[0]=r,e[1]=i,e[2]=o):o=e[2];let s=o,c;e[3]!==r||e[4]!==n||e[5]!==a||e[6]!==i?(c=n===`restoring`?a(`common.loading`):a(`sessions.startupSync.progress`,{completed:r,total:i}),e[3]=r,e[4]=n,e[5]=a,e[6]=i,e[7]=c):c=e[7];let l=c,u,d;return e[8]!==t||e[9]!==r||e[10]!==s||e[11]!==l||e[12]!==a||e[13]!==i?(u=()=>{let e=document.getElementById(`startup-session-progress`),n=document.getElementById(`startup-session-progress-track`),o=document.getElementById(`startup-session-progress-fill`),c=document.getElementById(`startup-session-progress-text`);!e||!n||!o||!c||(e.hidden=!t,t&&(o.style.width=`${s}%`,n.setAttribute(`aria-label`,a(`sessions.startupSync.title`)),n.setAttribute(`aria-valuemax`,String(Math.max(i,1))),n.setAttribute(`aria-valuenow`,String(r)),n.setAttribute(`aria-valuetext`,l),c.textContent=l))},d=[t,r,s,l,a,i],e[8]=t,e[9]=r,e[10]=s,e[11]=l,e[12]=a,e[13]=i,e[14]=u,e[15]=d):(u=e[14],d=e[15]),Q.useLayoutEffect(u,d),null};function NS(e){return e.startupSyncProgress.active}function PS(e){return e.startupSyncProgress.phase}function FS(e){return e.startupSyncProgress.completed}function IS(e){return e.startupSyncProgress.total}var LS=(e,t,n,r=350)=>n?Math.max(0,r-Math.max(0,t-e)):null;function RS(e){let t=(0,Vc.c)(21),{transition:n,ready:r}=e,{t:i}=Je(),a=ha(),[o,s]=Q.useState(0),c=n.epoch>o,l=a||c,u,d;if(t[0]!==c||t[1]!==a||t[2]!==r||t[3]!==n.epoch||t[4]!==n.startedAt?(u=()=>{if(!c||a)return;let e=LS(n.startedAt,Date.now(),r);if(e===null)return;let t=window.setTimeout(()=>{s(e=>Math.max(e,n.epoch))},e);return()=>window.clearTimeout(t)},d=[c,a,r,n.epoch,n.startedAt],t[0]=c,t[1]=a,t[2]=r,t[3]=n.epoch,t[4]=n.startedAt,t[5]=u,t[6]=d):(u=t[5],d=t[6]),Q.useEffect(u,d),!l)return null;let f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 opacity-70`,"aria-hidden":`true`,children:[(0,$.jsx)(`div`,{className:`absolute left-1/2 top-1/2 size-[28rem] -translate-x-1/2 -translate-y-1/2 rounded-full border border-[var(--interactive-border)]/40`}),(0,$.jsx)(`div`,{className:`absolute left-1/2 top-1/2 size-72 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[var(--interactive-selection)]/10 blur-3xl`})]}),t[7]=f):f=t[7];let p;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`div`,{className:`mb-7 flex size-28 items-center justify-center rounded-[2rem] border border-[var(--interactive-border)]/60 bg-[var(--surface-elevated)]/75 shadow-2xl shadow-background/40`,children:(0,$.jsx)(Ea,{width:76,height:76,isAnimated:!0})}),t[8]=p):p=t[8];let m;t[9]===i?m=t[10]:(m=i(`desktopHostSwitcher.transition.title`),t[9]=i,t[10]=m);let h;t[11]===m?h=t[12]:(h=(0,$.jsx)(`h1`,{className:`typography-title text-foreground`,children:m}),t[11]=m,t[12]=h);let g;t[13]===i?g=t[14]:(g=i(`desktopHostSwitcher.transition.description`),t[13]=i,t[14]=g);let _;t[15]===g?_=t[16]:(_=(0,$.jsx)(`p`,{className:`mt-2 typography-body text-muted-foreground`,children:g}),t[15]=g,t[16]=_);let v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`div`,{className:`mt-7 h-1 w-28 overflow-hidden rounded-full bg-[var(--surface-muted)]`,"aria-hidden":`true`,children:(0,$.jsx)(`div`,{className:`h-full w-1/2 animate-pulse rounded-full bg-[var(--status-info)] motion-reduce:animate-none`})}),t[17]=v):v=t[17];let y;return t[18]!==h||t[19]!==_?(y=(0,$.jsxs)(`div`,{className:`fixed inset-0 z-[9998] flex items-center justify-center overflow-hidden bg-background/95 px-6 backdrop-blur-xl`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:[f,(0,$.jsxs)(`div`,{className:`relative flex max-w-md animate-in flex-col items-center text-center fade-in zoom-in-95 duration-300 motion-reduce:animate-none`,children:[p,h,_,v]})]}),t[18]=h,t[19]=_,t[20]=y):y=t[20],y}var zS=ro(()=>Pe(()=>import(`./OnboardingScreen-Ql6mH4XV.js`).then(e=>({default:e.OnboardingScreen})),__vite__mapDeps([109,1,2,3,4,24,7,5,6,25,8,26,70,23,27,10,29,30,31,32,33,78]))),BS=36e5,VS=12e5,HS=()=>{let e=(0,Vc.c)(3),t=K(YS),n=K(XS),r;return e[0]!==t||e[1]!==n?(r=(0,$.jsx)(OS,{open:t,onOpenChange:n}),e[0]=t,e[1]=n,e[2]=r):r=e[2],r},US=e=>{let t=(0,Vc.c)(21),{onRetry:n,isRetrying:r}=e,{t:i}=Je(),a;t[0]===i?a=t[1]:(a=i(`startup.initRecovery.title`),t[0]=i,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,$.jsx)(`h1`,{className:`typography-title text-foreground`,children:a}),t[2]=a,t[3]=o);let s;t[4]===i?s=t[5]:(s=i(`startup.initRecovery.description`),t[4]=i,t[5]=s);let c;t[6]===s?c=t[7]:(c=(0,$.jsx)(`p`,{className:`typography-body text-muted-foreground`,children:s}),t[6]=s,t[7]=c);let l;t[8]!==o||t[9]!==c?(l=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[o,c]}),t[8]=o,t[9]=c,t[10]=l):l=t[10];let u;t[11]!==r||t[12]!==i?(u=i(r?`startup.initRecovery.retrying`:`startup.initRecovery.retry`),t[11]=r,t[12]=i,t[13]=u):u=t[13];let d;t[14]!==r||t[15]!==n||t[16]!==u?(d=(0,$.jsx)(Z,{type:`button`,onClick:n,disabled:r,children:u}),t[14]=r,t[15]=n,t[16]=u,t[17]=d):d=t[17];let f;return t[18]!==l||t[19]!==d?(f=(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center bg-background px-6 text-foreground`,children:(0,$.jsxs)(`div`,{className:`flex max-w-md flex-col items-center gap-4 text-center`,children:[l,d]})}),t[18]=l,t[19]=d,t[20]=f):f=t[20],f},WS=e=>e?e.replace(/\\/g,`/`).replace(/\/+$/g,``):``,GS=()=>{if(typeof window>`u`||!Dr())return null;let e=new URLSearchParams(window.location.search),t=e.get(`sessionId`),n=typeof t==`string`?t.trim():``;if(!n)return null;let r=e.get(`directory`);return{sessionId:n,directory:typeof r==`string`&&r.trim().length>0?r.trim():null,readOnly:e.get(`readOnly`)===`1`||e.get(`readOnly`)===`true`}},KS=()=>typeof window>`u`?!1:window.location.pathname===ls,qS=e=>{let t=(0,Vc.c)(22),{embeddedSessionChat:n,isVSCodeRuntime:r,embeddedBackgroundWorkEnabled:i}=e,a=xe(ZS),o=Rt(QS),s=Rt($S),c=qr(),l=Q.useRef(null),u;t[0]===n.directory?u=t[1]:(u=WS(n.directory),t[0]=n.directory,t[1]=u);let d=u,f;t[2]===a?f=t[3]:(f=WS(a),t[2]=a,t[3]=f);let p=f,m,h;if(t[4]!==p||t[5]!==o||t[6]!==n.directory||t[7]!==n.sessionId||t[8]!==d||t[9]!==r||t[10]!==s||t[11]!==c?(m=()=>{if(r||d&&p!==d)return;let e=`${d}\n${n.sessionId}`;l.current===e&&o||(l.current=e,s(n.sessionId,n.directory),c.ensureSessionRenderable(n.sessionId,!0))},h=[p,o,n.directory,n.sessionId,d,r,s,c],t[4]=p,t[5]=o,t[6]=n.directory,t[7]=n.sessionId,t[8]=d,t[9]=r,t[10]=s,t[11]=c,t[12]=m,t[13]=h):(m=t[12],h=t[13]),Q.useEffect(m,h),d&&p!==d)return null;let g;t[14]===i?g=t[15]:(g=(0,$.jsx)(mi,{embeddedBackgroundWorkEnabled:i}),t[14]=i,t[15]=g);let _;t[16]===n.readOnly?_=t[17]:(_=(0,$.jsx)(dc,{readOnly:n.readOnly}),t[16]=n.readOnly,t[17]=_);let v;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(xr,{}),t[18]=v):v=t[18];let y;return t[19]!==g||t[20]!==_?(y=(0,$.jsxs)($.Fragment,{children:[g,_,v]}),t[19]=g,t[20]=_,t[21]=y):y=t[21],y};function JS({apis:e}){Q.useEffect(()=>{De(`App:mounted`),we()},[]),Q.useEffect(()=>Lt(),[]);let t=vt(e=>e.initializeApp),n=vt(e=>e.isInitialized),r=vt(e=>e.isConnected),i=Rt(e=>e.error),a=Rt(e=>e.clearError),s=Rt(e=>e.currentSessionId),u=Rt(e=>!!e.newSessionDraft?.open),d=xe(e=>e.currentDirectory),f=xe(e=>e.setDirectory),p=xe(e=>e.isSwitchingDirectory),[m,h]=Q.useState(!1),g=fs(e=>e.refreshStatus),[y,b]=Q.useState(()=>e.runtime.isVSCode),[E,D]=Q.useState(!1),[A,j]=Q.useState(!1),[M,P]=Q.useState(0),[F,I]=Q.useState(0),[ee,L]=Q.useState({epoch:0,startedAt:0}),[R,z]=Q.useState(!1),B=Q.useRef(!1),V=K(e=>e.wideChatLayoutEnabled),H=K(e=>e.mobileKeyboardMode),U=Q.useMemo(()=>S(),[]),ne=Ut(e=>e.hasCachedSessionIndex),W=Ut(e=>e.hasHydratedSessionIndex),[re,G]=Q.useState(()=>v()),[ie,ae]=Q.useState(()=>{let e=_();return e===null?null:x({isDesktopShell:!0,bootOutcome:e})}),oe=Q.useRef(!1),se=Q.useMemo(()=>GS(),[]),ce=!se||E,le=Q.useMemo(()=>KS(),[]);Q.useEffect(()=>(Se(m),()=>{Se(!1)}),[m]),Q.useEffect(()=>{je(H)},[H]),Q.useEffect(()=>{b(e.runtime.isVSCode)},[e.runtime.isVSCode]),Q.useEffect(()=>{let e=Vi(e=>{c(e)&&(U&&L(e=>({epoch:e.epoch+1,startedAt:Date.now()})),nc(e),I(e=>e+1),j(!1),P(e=>e+1))}),t=o(t=>e.schedule(t));return()=>{t(),e.cancel()}},[U]);let ue=Pn(e=>{let t=l();return Object.values(e.runsByOriginalSessionID).filter(e=>e.status===`running`&&e.runtimeKey===t).map(e=>`${e.originalSessionID}:${e.phase}:${e.lastForwardedMessageID??``}:${e.expectedAssistantParentID??``}`).sort().join(`|`)});Q.useEffect(()=>{if(se)return;let e=!1;return ht().then(()=>{if(e)return;let t=l(),n=Object.values(Pn.getState().runsByOriginalSessionID).filter(e=>e.status===`running`&&e.runtimeKey===t);for(let e of n)ot(e.originalSessionID)}),()=>{e=!0}},[ue,se,F]),Q.useEffect(()=>(document.documentElement.classList.toggle(`wide-chat-layout`,V),()=>{document.documentElement.classList.remove(`wide-chat-layout`)}),[V]),Q.useEffect(()=>(te(e),()=>te(null)),[e]),Q.useEffect(()=>{if(se)return;let t=!1;return ht().then(()=>{t||g(e.github,{force:!0})}),()=>{t=!0}},[e.github,se,g]),ki();let de=re===`valid`,fe=ie?.screen===`main`;Q.useEffect(()=>{if(!ce||!C({isDesktopShell:U,isInitialized:U&&fe?ne||n&&W:n,bootOutcomeKnown:de,bootViewIsMain:fe}))return;let e,t=setTimeout(()=>{let t=document.getElementById(`initial-loading`);t&&(t.classList.add(`fade-out`),e=setTimeout(()=>{t.remove()},300))},150);return()=>{clearTimeout(t),e&&clearTimeout(e)}},[ce,U,n,de,fe,ne,W]),Q.useEffect(()=>{if(!U||re!==`malformed`)return;let e=document.getElementById(`initial-loading`);e&&(e.textContent=`Desktop startup failed — please restart the app.`)},[U,re]),Q.useEffect(()=>{if(!ce||U)return;let e,t=setTimeout(()=>{let t=document.getElementById(`initial-loading`);t&&!n&&(t.classList.add(`fade-out`),e=setTimeout(()=>{t.remove()},300))},5e3);return()=>{clearTimeout(t),e&&clearTimeout(e)}},[ce,U,n]),Q.useEffect(()=>{if(!ce||y)return;let e=!1;return ht().then(()=>{if(!e)return t()}),()=>{e=!0}},[ce,t,y]),Q.useEffect(()=>{if(!ce||y||n)return;let e=!0,t,r=0,i=1e3,a=async()=>{if(!e)return;if(r>=10){j(!0);return}let n=vt.getState();if(n.isInitialized){j(!1);return}if(r+=1,await ht(),!e)return;await n.initializeApp();let o=vt.getState();if(!e)return;if(o.isInitialized){j(!1);return}if(r>=10){j(!0);return}let s=Math.min(i*2**(r-1),16e3);t=setTimeout(a,s)};return t=setTimeout(a,i),()=>{e=!1,t&&clearTimeout(t)}},[ce,M,n,y]),Q.useEffect(()=>{ce&&n&&j(!1)},[ce,n]),Q.useEffect(()=>{if(!ce||!A)return;let e=document.getElementById(`initial-loading`);if(e){e.classList.add(`fade-out`);let t=setTimeout(()=>{e.remove()},300);return()=>clearTimeout(t)}},[ce,A]),Jr({enabled:ce&&!y,source:`startupRecovery`}),Q.useEffect(()=>{p||y||r&&Ee.setDirectory(d)},[d,p,r,y]),Q.useEffect(()=>{if(!se||typeof window>`u`)return;let e=e=>{let t=e?.visible===!0;D(t)},t=t=>{if(t.origin!==window.location.origin)return;let n=t.data;n?.type===`openchamber:embedded-visibility`&&e(n.payload)},n=window;return n.__openchamberSetEmbeddedVisibility=e,window.addEventListener(`message`,t),window.parent&&window.parent!==window&&window.parent.postMessage({type:Br},window.location.origin),()=>{window.removeEventListener(`message`,t),n.__openchamberSetEmbeddedVisibility===e&&delete n.__openchamberSetEmbeddedVisibility}},[se]),Q.useEffect(()=>{!se?.directory||y||d!==se.directory&&f(se.directory,{showOverlay:!1})},[d,se,y,f]),Q.useEffect(()=>{if(!se||typeof window>`u`)return;let e=e=>{e.storageArea===window.localStorage&&e.key===`ui-store`&&K.persist.rehydrate()};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}},[se]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=e=>{let t=e.detail;DS(t??{})},t=e=>{let t=e.detail?.assistantID;typeof t==`string`&&t.trim()&&In(t.trim())};return window.addEventListener(`openchamber:open-session`,e),window.addEventListener(`openchamber:open-assistant`,t),()=>{TS(),window.removeEventListener(`openchamber:open-session`,e),window.removeEventListener(`openchamber:open-assistant`,t)}},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=()=>{let e=xe.getState().currentDirectory,{activeProjectId:t,projects:n}=qt.getState(),r=n.find(e=>e.id===t)??null;w(`desktop_open_draft_mini_chat_window`,{directory:e||r?.path||``,projectId:r?.id??null})};return window.addEventListener(`openchamber:open-mini-chat`,e),()=>window.removeEventListener(`openchamber:open-mini-chat`,e)},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=()=>{let e=Rt.getState().currentSessionId;e&&Zt(e)};return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=e=>{let t=e.detail,n=typeof t?.directory==`string`&&t.directory.trim().length>0?t.directory.trim():null,r=typeof t?.projectId==`string`&&t.projectId.trim().length>0?t.projectId.trim():null,i=typeof t?.initialPrompt==`string`&&t.initialPrompt.trim().length>0?t.initialPrompt.trim():void 0;K.getState().setActiveMainTab(`chat`),K.getState().setSessionSwitcherOpen(!1),Rt.getState().openNewSessionDraft({selectedProjectId:r,directoryOverride:n,preserveDirectoryOverride:!!n,ensureProjectForDirectory:!!n,initialPrompt:i})};return window.addEventListener(`openchamber:open-draft-session`,e),()=>window.removeEventListener(`openchamber:open-draft-session`,e)},[]),Q.useEffect(()=>{if(typeof window>`u`)return;let e=e=>{let t=e.detail,n=typeof t?.projectPath==`string`?t.projectPath.trim():``;if(!n)return;let r=qt.getState(),i=r.projects.find(e=>e.path===n);i?r.setActiveProject(i.id):r.addProject(n)};return window.addEventListener(`openchamber:open-project`,e),()=>window.removeEventListener(`openchamber:open-project`,e)},[]),Q.useEffect(()=>{typeof window>`u`||!ce||!n||p||oe.current||(oe.current=!0,window.__openchamberAppReady=!0,window.dispatchEvent(new Event(`openchamber:app-ready`)))},[ce,n,p]),br({enabled:ce}),fS({enabled:ce}),gS(),Kr(),pc(),Ux(Ue(()=>{h(e=>!e)})),Q.useEffect(()=>{if(!n||!O()||B.current)return;B.current=!0;let e=!1,t=null,r=null;Jo.getState().subscribeDesktopUpdateEvents().then(t=>{if(e){t();return}r=t});let i=()=>{let e=Jo.getState();e.checking||e.checkForUpdates()},a=n=>{t=window.setTimeout(()=>{e||(document.visibilityState===`visible`&&i(),a(BS))},n)},o=()=>{if(e||document.visibilityState!==`visible`)return;let t=Jo.getState().lastChecked;t!=null&&Date.now()-t<VS||i()};return a(0),window.addEventListener(`focus`,o),()=>{e=!0,t!==null&&window.clearTimeout(t),window.removeEventListener(`focus`,o),r&&r()}},[n]),cS(),Q.useEffect(()=>{if(se)return;let e=e=>{qn(e)&&e.shiftKey&&!e.altKey&&(e.code===`KeyD`||e.key.toLowerCase()===`d`)&&(e.preventDefault(),h(e=>!e))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[se]),Q.useEffect(()=>{se||i&&setTimeout(()=>a(),5e3)},[a,se,i]),Q.useEffect(()=>{if(!U||re!==`not-injected`)return;let e=!1,t=0,n=()=>{if(e)return;t++;let r=v();if(r!==`not-injected`){if(e=!0,G(r),r===`valid`){let e=_();e&&ae(x({isDesktopShell:!0,bootOutcome:e}))}return}let i=Math.min(200*1.1**t,2e3);if(t>=50){let e=document.getElementById(`initial-loading`);e&&!e.textContent?.includes(`taking longer`)&&(e.textContent=`Desktop startup is taking longer than expected...`)}window.setTimeout(n,i)};return window.setTimeout(n,200),()=>{e=!0}},[U,re]);let pe=Ue(async()=>{if(N({isDesktopShell:S(),isDesktopLocalOriginActive:T()})){await k();return}window.location.reload()}),me=Ue(async()=>{if(!R){j(!1),z(!0);try{await ht(),await vt.getState().initializeApp()}finally{z(!1)}vt.getState().isInitialized||P(e=>e+1)}}),he=e=>{if(e.screen===`recovery`)return e.variant};if(U&&ie&&ie.screen!==`main`){if(ie.screen===`chooser`)return(0,$.jsx)(wa,{children:(0,$.jsx)(`div`,{className:`h-full text-foreground bg-transparent`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(`div`,{className:`h-full`}),children:(0,$.jsx)(zS,{mode:`first-launch`,onCliAvailable:pe,onChooseRemote:()=>{}})})})});let e=he(ie),t=ie.screen===`recovery`&&`url`in ie?ie.url:void 0;return(0,$.jsx)(wa,{children:(0,$.jsx)(`div`,{className:`h-full text-foreground bg-transparent`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(`div`,{className:`h-full`}),children:(0,$.jsx)(zS,{mode:`recovery`,recoveryVariant:e,recoveryHostUrl:t,recoveryHostLabel:void 0,onCliAvailable:pe})})})})}if(se)return it(),(0,$.jsx)(wa,{children:(0,$.jsx)(mt,{sdk:Ee.getSdkClient(),directory:d||``,bootstrapDirectory:!(u&&s===null),children:(0,$.jsx)(Fi,{apis:e,children:(0,$.jsx)(aa,{delayDuration:300,skipDelayDuration:150,children:(0,$.jsx)(`div`,{className:`h-full text-foreground bg-background`,children:(0,$.jsx)(qS,{embeddedSessionChat:se,isVSCodeRuntime:y,embeddedBackgroundWorkEnabled:ce})})})})},F)});if(le)return(0,$.jsx)(wa,{children:(0,$.jsx)(jS,{})});if(A&&!n&&!y&&!se)return(0,$.jsx)(wa,{children:(0,$.jsx)(US,{onRetry:()=>{me()},isRetrying:R})});let ge=!n&&!U;return(0,$.jsx)(wa,{children:(0,$.jsx)(mt,{sdk:Ee.getSdkClient(),directory:d||``,bootstrapDirectory:!(u&&s===null),children:(0,$.jsx)(Fi,{apis:e,children:(0,$.jsx)(Mu,{children:(0,$.jsx)(aa,{delayDuration:300,skipDelayDuration:150,children:(0,$.jsxs)(`div`,{className:U?`h-full text-foreground bg-transparent`:`h-full text-foreground bg-background`,children:[(0,$.jsx)(mi,{embeddedBackgroundWorkEnabled:ce}),(0,$.jsx)(Vs,{}),(0,$.jsx)(lc,{}),(0,$.jsx)(bx,{}),U&&(0,$.jsx)(RS,{transition:ee,ready:n&&r}),(0,$.jsx)(MS,{}),(0,$.jsx)(xr,{}),!ge&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(rc,{}),(0,$.jsx)(HS,{}),m&&(0,$.jsx)(wx,{onClose:()=>h(!1)})]})]})})})})},F)})}function YS(e){return e.isAboutDialogOpen}function XS(e){return e.setAboutDialogOpen}function ZS(e){return e.currentDirectory}function QS(e){return e.currentSessionId}function $S(e){return e.setCurrentSession}if(typeof window<`u`&&!window.__OPENCHAMBER_REFRESH_DEBUG_INSTALLED__){window.__OPENCHAMBER_REFRESH_DEBUG_INSTALLED__=!0;let e=performance.getEntriesByType(`navigation`)[0];console.warn(`[refresh-debug] renderer-entry`,{navigationType:e?.type??`unknown`,protocol:window.location.protocol}),window.addEventListener(`beforeunload`,()=>{console.warn(`[refresh-debug] beforeunload`,{visibilityState:document.visibilityState})}),window.addEventListener(`pagehide`,e=>{console.warn(`[refresh-debug] pagehide`,{persisted:e.persisted})})}var eC=typeof window<`u`&&window.__OPENCHAMBER_RUNTIME_APIS__||(()=>{throw Error(`Runtime APIs not provided for legacy UI entrypoint.`)})();Qe(),S()&&at(),Zr({runtimeKey:l(),initializeAppearance:V,syncSettings:I,applyDirectory:Ar,startWatchers:()=>{vi(),Hr(),Cr()},onError:(e,t)=>{console.error(e===`appearance`?`[main] appearance init failed:`:`[main] settings init failed:`,t)}});var tC=document.getElementById(`root`);if(!tC)throw Error(`Root element not found`);(0,Bc.createRoot)(tC).render((0,$.jsx)(Q.StrictMode,{children:(0,$.jsx)(Tr,{children:(0,$.jsx)(qe,{children:(0,$.jsx)(vr,{children:(0,$.jsx)(Mr,{children:(0,$.jsx)(Ir,{children:(0,$.jsx)(JS,{apis:eC})})})})})})}));
|