ryco-cli 0.1.4 → 0.1.5
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/{AzureDevOpsSourceControlProvider-BEDcpXP2.cjs → AzureDevOpsSourceControlProvider-CdgNqZ5j.cjs} +2 -2
- package/dist/{AzureDevOpsSourceControlProvider-CajSnvPV.mjs → AzureDevOpsSourceControlProvider-OsyDSESj.mjs} +2 -2
- package/dist/{BitbucketSourceControlProvider-Ca-sxPgI.cjs → BitbucketSourceControlProvider-DBTH98i4.cjs} +9 -2
- package/dist/{BitbucketSourceControlProvider-Ryxef3zA.mjs → BitbucketSourceControlProvider-SQ3gKdFs.mjs} +9 -2
- package/dist/{ClaudeDriver-oGrpXzWa.mjs → ClaudeDriver-2dTtrsFD.mjs} +2 -2
- package/dist/{ClaudeDriver-CxOmXtj3.cjs → ClaudeDriver-D9yC2F0b.cjs} +2 -2
- package/dist/{CodexDriver-C1I8AGHl.cjs → CodexDriver-BC2B-qpT.cjs} +3 -3
- package/dist/{CodexDriver-DbICyzcH.mjs → CodexDriver-CIDYevQX.mjs} +3 -3
- package/dist/{CodexTextGeneration-DV3LOkTX.mjs → CodexTextGeneration-CjknB1Xl.mjs} +2 -2
- package/dist/{CodexTextGeneration-Cr97QFv_.cjs → CodexTextGeneration-DNeO-8GE.cjs} +2 -2
- package/dist/{CopilotDriver-GUpzG61v.cjs → CopilotDriver-BGChrP5c.cjs} +3 -3
- package/dist/{CopilotDriver-Dt6azZQI.mjs → CopilotDriver-NPhlLrk2.mjs} +3 -3
- package/dist/{CursorDriver-C3gFClL-.mjs → CursorDriver-BcAVbT8D.mjs} +2 -2
- package/dist/{CursorDriver-lhvplGt8.cjs → CursorDriver-CYxn4_c1.cjs} +2 -2
- package/dist/{ForgejoSourceControlProvider-DTVWs_CM.mjs → ForgejoSourceControlProvider-BjCE3730.mjs} +2 -2
- package/dist/{ForgejoSourceControlProvider-2PTEgbVl.cjs → ForgejoSourceControlProvider-D3wP2Cav.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-BJmqP2K1.mjs → GitHubSourceControlProvider-DByZ_cnw.mjs} +2 -2
- package/dist/{GitHubSourceControlProvider-Beu-58zB.cjs → GitHubSourceControlProvider-DU_7IvMa.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-CCHBNnen.cjs → GitLabSourceControlProvider-BVJ5IqTS.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-CWnF37fR.mjs → GitLabSourceControlProvider-BdMCIjXb.mjs} +2 -2
- package/dist/{OpenCodeDriver-i2DXhUaw.cjs → OpenCodeDriver-DyR83FcY.cjs} +2 -2
- package/dist/{OpenCodeDriver-Cja8fkzJ.mjs → OpenCodeDriver-fwqXoVyH.mjs} +2 -2
- package/dist/{SourceControlProviderDiscoveryCatalog-DoDSpZoa.mjs → SourceControlProviderDiscoveryCatalog-CQiMyDCC.mjs} +2 -2
- package/dist/{SourceControlProviderDiscoveryCatalog-DyPSXqm_.cjs → SourceControlProviderDiscoveryCatalog-DqQVhwYM.cjs} +2 -2
- package/dist/bin.cjs +4672 -3686
- package/dist/bin.mjs +4672 -3686
- package/dist/client/assets/{AnimatedHeight-DCd3-Wey.js → AnimatedHeight-CYuVQOpY.js} +1 -1
- package/dist/client/assets/AppearanceSettings-BBbC8CV5.js +1 -0
- package/dist/client/assets/{BranchToolbar.logic-BUrYeNec.js → BranchToolbar.logic-Di2EkKiO.js} +1 -1
- package/dist/client/assets/ChatRightPanel-BJ_cVP66.js +188 -0
- package/dist/client/assets/{ChatThreadRouteView-C93RPP7s.js → ChatThreadRouteView-DmxD3m2U.js} +1 -1
- package/dist/client/assets/CommandPaletteDialog-CAzz6bsT.js +1 -0
- package/dist/client/assets/{CompositeRoot-C5GNdZws.js → CompositeRoot-BvXCwn2c.js} +1 -1
- package/dist/client/assets/ConnectionsSettings-Cmxm0y2u.js +1 -0
- package/dist/client/assets/{DialogHandle-C1Oxda1b.js → DialogHandle-CXNAm3QY.js} +1 -1
- package/dist/client/assets/{DialogRoot-BCS_qKVO.js → DialogRoot-DaMwpoP_.js} +1 -1
- package/dist/client/assets/{DialogTitle-R_4ZQbHx.js → DialogTitle-KXmfgzP3.js} +1 -1
- package/dist/client/assets/{DialogTrigger-ChuIKLi7.js → DialogTrigger-NHyQnW3X.js} +1 -1
- package/dist/client/assets/{DialogViewport-Dq_9hdYC.js → DialogViewport-CL0WR9a5.js} +1 -1
- package/dist/client/assets/{DraftChatThreadRouteView-BwDNEWLP.js → DraftChatThreadRouteView-C_hqauF6.js} +1 -1
- package/dist/client/assets/{JetBrainsIcons-CZi1rQn9.js → JetBrainsIcons-BcR8pCma.js} +1 -1
- package/dist/client/assets/{KeybindingsSettings-CEqFMcaP.js → KeybindingsSettings-m2AteGOl.js} +1 -1
- package/dist/client/assets/McpServersSettings-DndIDxgA.js +6 -0
- package/dist/client/assets/{NoActiveThreadState-5VSVCJBv.js → NoActiveThreadState-Bt-Wkv-C.js} +1 -1
- package/dist/client/assets/{OpinionatedPluginsSettings-BnDPa2E2.js → OpinionatedPluginsSettings-oDtdE6qx.js} +1 -1
- package/dist/client/assets/{ProjectFavicon-CtqYuFQF.js → ProjectFavicon-j9IX_7-B.js} +1 -1
- package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-Dqh8LlGG.js → ProviderUpdateLaunchNotification.logic-BFzNCo3I.js} +1 -1
- package/dist/client/assets/ProvidersSettingsPanel-CvlIBNVJ.js +1 -0
- package/dist/client/assets/{QueryClientProvider-B5z3RyQ9.js → QueryClientProvider-BZxRKpeb.js} +1 -1
- package/dist/client/assets/{RedactedSensitiveText-Ddxd4ZX9.js → RedactedSensitiveText-UnZZJnFF.js} +1 -1
- package/dist/client/assets/RootAppShell-CyHZ_F5P.js +12 -0
- package/dist/client/assets/{SettingsDialog-C-vm2P1q.js → SettingsDialog-BYJ8AhQp.js} +2 -2
- package/dist/client/assets/SourceControlSettings-7xU6VH6N.js +1 -0
- package/dist/client/assets/{ThreadStatusIndicators-6ASnD4_d.js → ThreadStatusIndicators-M9FWDEex.js} +1 -1
- package/dist/client/assets/{ThreadTerminalDrawer-BxuSy2xD.js → ThreadTerminalDrawer-BXoXAbsR.js} +3 -3
- package/dist/client/assets/{ThreadWorkspacePanel-C3S7Fjib.js → ThreadWorkspacePanel-D1J63TVD.js} +5 -5
- package/dist/client/assets/{alert-dialog-BwCq7-J2.js → alert-dialog-BJQbh5gX.js} +1 -1
- package/dist/client/assets/{chatThreadActions-DHwgLZQX.js → chatThreadActions--n7v5mnB.js} +1 -1
- package/dist/client/assets/{clamp-Bj3CMoU0.js → clamp-NYtK3f5s.js} +1 -1
- package/dist/client/assets/codexUsageLimits-BJQiZCqn.js +1 -0
- package/dist/client/assets/composerDraftStore-xu3n5gdX.js +21 -0
- package/dist/client/assets/{desktopUpdateReactQuery-DdRc1zr8.js → desktopUpdateReactQuery-YSCkifKp.js} +1 -1
- package/dist/client/assets/{download-DchCbuiJ.js → download-Bi4-cFbc.js} +1 -1
- package/dist/client/assets/{draft-input-Byd_iP54.js → draft-input-BGSRgOW7.js} +1 -1
- package/dist/client/assets/{empty-CFWSIvUd.js → empty-BTxheW4B.js} +1 -1
- package/dist/client/assets/{environmentApi-4U60qRO5.js → environmentApi-BFHi_M02.js} +1 -1
- package/dist/client/assets/{folder-open-CuS_UI1W.js → folder-open-DJmHEPv9.js} +1 -1
- package/dist/client/assets/{group-BlyMND_M.js → group-Dwm-OV-r.js} +1 -1
- package/dist/client/assets/{index-R0mA-hZk.js → index-BI5yFj9n.js} +2 -2
- package/dist/client/assets/{input-BQQgfZzY.js → input-BfUa3JUD.js} +1 -1
- package/dist/client/assets/kbd-Dd57M8OY.js +1 -0
- package/dist/client/assets/{keybindings-BIa18Wmf.js → keybindings--G1bkIjA.js} +1 -1
- package/dist/client/assets/{keyboard-BQYTddoX.js → keyboard-B87VTfPa.js} +1 -1
- package/dist/client/assets/{main-YXLWCEbb.js → main-BQf5U-fz.js} +3 -3
- package/dist/client/assets/main-DrwkwNo9.css +2 -0
- package/dist/client/assets/{mutation-B8SILYi_.js → mutation-DJZgOJRu.js} +1 -1
- package/dist/client/assets/plus-B10j9MbZ.js +1 -0
- package/dist/client/assets/providerDriverMeta-B6xuq7ij.js +1 -0
- package/dist/client/assets/providerIconUtils-Ch6hejVW.js +47 -0
- package/dist/client/assets/{refresh-cw-DFCVsvMH.js → refresh-cw-CRxaXR0E.js} +1 -1
- package/dist/client/assets/{resolveAriaLabelledBy-CdSYKkwq.js → resolveAriaLabelledBy-D4fWpj84.js} +1 -1
- package/dist/client/assets/{rightPanelRouteSearch-DweDTgju.js → rightPanelRouteSearch-CTMFCS6R.js} +1 -1
- package/dist/client/assets/{scroll-area-CZPNMSSG.js → scroll-area-BgFq7GRd.js} +1 -1
- package/dist/client/assets/{separator-ZLn_GZKy.js → separator-CB3Ctlvi.js} +1 -1
- package/dist/client/assets/{server-B7ETA5io.js → server-tdx7WxLI.js} +1 -1
- package/dist/client/assets/{session-logic-DOD1qizY.js → session-logic-CaiGe4hy.js} +1 -1
- package/dist/client/assets/{settingsDialogStore-DJNXaaZ-.js → settingsDialogStore-9vo22xKp.js} +1 -1
- package/dist/client/assets/{settingsLayout-BaSDLd6v.js → settingsLayout-B5o13iGO.js} +1 -1
- package/dist/client/assets/{sidebar-VWf4R998.js → sidebar-Bbdql7Af.js} +1 -1
- package/dist/client/assets/{skeleton-IoKKnfW9.js → skeleton-C8OZcsPq.js} +1 -1
- package/dist/client/assets/{storeSelectors-BL-4Ncd3.js → storeSelectors-DBRyhCGm.js} +1 -1
- package/dist/client/assets/{threadRoutes-a4QytG8s.js → threadRoutes-CfldSp4X.js} +1 -1
- package/dist/client/assets/{threadSelectionStore-CgsIp6vR.js → threadSelectionStore-BggKwzmQ.js} +1 -1
- package/dist/client/assets/{toast-L2eWWYjv.js → toast-DE-WwLMa.js} +1 -1
- package/dist/client/assets/{toggle-oOk0T_MY.js → toggle-BFMa0a0Y.js} +1 -1
- package/dist/client/assets/{toggle-group-D7mEwQCR.js → toggle-group-DdKXHoT3.js} +1 -1
- package/dist/client/assets/{trash-2-D0zhbiNO.js → trash-2-CZQem-sz.js} +1 -1
- package/dist/client/assets/useHandleNewThread-DOPZAFqE.js +1 -0
- package/dist/client/assets/{useLabelableId-yw8wMwvn.js → useLabelableId-BzWaBebJ.js} +1 -1
- package/dist/client/assets/{useNavigate-CvKQXZa7.js → useNavigate-B1qgM5mt.js} +1 -1
- package/dist/client/assets/{vscode-icons-C1r6bNpj.js → vscode-icons-E8NUFd62.js} +1 -1
- package/dist/client/assets/{wrench-DzrU49ry.js → wrench-DEteICtk.js} +1 -1
- package/dist/client/assets/x-b9324xm-.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/{collectUint8StreamText-CgTEDbi7.cjs → collectUint8StreamText-DbCOJom3.cjs} +295 -132
- package/dist/{collectUint8StreamText-Cgz3T1YG.mjs → collectUint8StreamText-DuFJyaQh.mjs} +290 -133
- package/dist/{makeManagedServerProvider-DRMA8nAp.cjs → makeManagedServerProvider-C3cQUDkZ.cjs} +1 -1
- package/dist/{makeManagedServerProvider-D43I_B9P.mjs → makeManagedServerProvider-wFGZ2-vd.mjs} +1 -1
- package/package.json +1 -1
- package/dist/client/assets/AppearanceSettings-pPltzbuu.js +0 -1
- package/dist/client/assets/ChatRightPanel-Cy2c02Dt.js +0 -188
- package/dist/client/assets/CommandPaletteDialog-D6t0Mkkl.js +0 -1
- package/dist/client/assets/ConnectionsSettings-qYzLbX7_.js +0 -1
- package/dist/client/assets/McpServersSettings-Co1o7_0g.js +0 -6
- package/dist/client/assets/ProvidersSettingsPanel-BwDIEOF4.js +0 -1
- package/dist/client/assets/RootAppShell-CThrOBqP.js +0 -12
- package/dist/client/assets/SourceControlSettings-oK-xLUFA.js +0 -1
- package/dist/client/assets/arrow-up-DUD3DBES.js +0 -1
- package/dist/client/assets/codexUsageLimits-Mjd2rHmE.js +0 -1
- package/dist/client/assets/composerDraftStore-DTMZbmmF.js +0 -21
- package/dist/client/assets/kbd-Dgp27U1W.js +0 -1
- package/dist/client/assets/main-Da7Z4Ig1.css +0 -2
- package/dist/client/assets/plus-F__wNuW-.js +0 -1
- package/dist/client/assets/providerDriverMeta-BIPPb2w0.js +0 -1
- package/dist/client/assets/providerIconUtils-C54pAs0t.js +0 -46
- package/dist/client/assets/useHandleNewThread-DVTiX8Lz.js +0 -1
- package/dist/client/assets/x-BQzUKGMv.js +0 -1
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./react-PSPkXoKo.js";import{t as n}from"./index-R0mA-hZk.js";import{t as r}from"./compiler-runtime-BNrXlsa1.js";import{$ as i,P as a,Q as o,_a as s,ao as c,cn as l,io as u,no as d,on as f,ro as p,t as m,to as h}from"./react-CjD7iThp.js";import{$ as g,At as _,Dt as v,Ft as y,Gt as b,Ht as x,It as S,J as C,Jt as w,Lt as T,Mt as E,Nt as D,Ot as O,Pt as k,Q as A,Qt as j,S as M,Wt as N,Xt as P,Z as F,Zt as I,_ as L,at as R,b as ee,c as z,ct as B,dt as V,f as H,gt as U,it as te,jt as W,kt as ne,l as re,lt as ie,m as ae,n as G,nn as oe,nt as K,on as q,ot as se,p as ce,qt as le,s as ue,tn as J,tt as de,ut as fe,v as pe,x as me,y as he}from"./environmentApi-4U60qRO5.js";import{B as ge,Ci as _e,Fr as ve,G as ye,H as be,Ir as xe,J as Se,Mi as Ce,Nr as we,Oi as Te,Q as Ee,R as De,Rr as Oe,Ti as ke,U as Ae,V as je,X as Me,Y as Ne,Z as Pe,a as Fe,et as Ie,gi as Le,ia as Re,it as ze,ki as Be,nt as Ve,oa as He,ot as Ue,rt as We,tt as Ge,z as Ke}from"./composerDraftStore-DTMZbmmF.js";import{n as qe}from"./QueryClientProvider-B5z3RyQ9.js";import{$t as Je,A as Ye,At as Xe,Bn as Ze,Bt as Qe,Ct as $e,D as et,Dt as tt,Et as nt,Fn as rt,Ft as it,Gn as at,H as ot,Hn as st,I as ct,It as lt,Jn as ut,M as dt,Nt as ft,O as pt,Ot as mt,Pt as ht,St as gt,T as _t,Un as vt,Ut as yt,V as bt,Vn as xt,Vt as St,Wn as Ct,Wt as wt,Xt as Tt,Yt as Et,Zn as Dt,_ as Ot,_n as kt,a as At,at as jt,bt as Mt,cr as Nt,dr as Pt,dt as Ft,ft as It,g as Lt,gt as Rt,h as zt,j as Bt,jn as Vt,jt as Ht,k as Ut,kt as Wt,lr as Gt,mt as Kt,nn as qt,nr as Jt,or as Yt,ot as Xt,pr as Zt,pt as Qt,qn as $t,rn as en,rr as tn,rt as nn,t as rn,tn as an,tr as on,tt as sn,ur as cn,v as ln,w as un,wt as dn,xt as fn,yn as pn,yt as mn,zn as hn}from"./providerIconUtils-C54pAs0t.js";import{t as gn}from"./useNavigate-CvKQXZa7.js";import{a as _n,i as vn,l as yn,n as bn,r as xn}from"./threadRoutes-a4QytG8s.js";import{i as Sn,n as Cn,o as wn,t as Tn}from"./threadSelectionStore-CgsIp6vR.js";import{a as En,c as Dn,d as On,f as kn,g as An,h as jn,i as Mn,l as Nn,m as Pn,n as Fn,o as In,p as Ln,s as Rn,t as zn,u as Bn}from"./desktopUpdateReactQuery-DdRc1zr8.js";import{a as Y,d as Vn,i as X,n as Hn,o as Un,s as Wn,t as Gn,u as Kn}from"./toast-L2eWWYjv.js";import{t as qn}from"./kbd-Dgp27U1W.js";import{t as Jn}from"./download-DchCbuiJ.js";import{t as Yn}from"./folder-open-CuS_UI1W.js";import{a as Xn,c as Zn,i as Qn,o as $n,s as er,t as tr}from"./ThreadStatusIndicators-6ASnD4_d.js";import{_ as nr,a as rr,b as ir,c as ar,d as or,f as sr,g as cr,h as lr,i as ur,l as dr,m as fr,n as pr,p as mr,r as hr,s as gr,t as _r,u as vr,x as yr}from"./sidebar-VWf4R998.js";import{t as br}from"./plus-F__wNuW-.js";import{t as xr}from"./trash-2-D0zhbiNO.js";import{t as Sr}from"./x-BQzUKGMv.js";import{t as Cr}from"./commandPaletteStore-oFMPKPmp.js";import{a as wr,i as Tr,n as Er}from"./primary-CSkhdakK.js";import{C as Dr,D as Or,S as kr,T as Ar,_ as jr,b as Mr,c as Nr,d as Pr,f as Fr,g as Ir,h as Lr,i as Rr,l as zr,m as Br,n as Vr,o as Hr,p as Ur,r as Wr,s as Gr,t as Kr,u as qr,v as Jr,w as Yr,x as Xr,y as Zr}from"./settingsDialogStore-DJNXaaZ-.js";import{n as Qr}from"./useHandleNewThread-DVTiX8Lz.js";import{C as $r,S as ei,_ as ti,a as ni,f as ri,g as ii,h as ai,i as oi,n as si,t as ci,v as li,x as ui}from"./keybindings-BIa18Wmf.js";import{t as di}from"./input-BQQgfZzY.js";import{t as fi}from"./scroll-area-CZPNMSSG.js";import{t as pi}from"./ProjectFavicon-CtqYuFQF.js";import{n as mi}from"./modelPickerOpenState-BJxsqvdg.js";import{a as hi,c as gi,f as _i,i as vi,l as yi,n as bi,o as xi,r as Si,s as Ci,t as wi}from"./ProviderUpdateLaunchNotification.logic-Dqh8LlGG.js";var Ti=Te(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]),Ei=Te(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),Z=e(t()),Q=r(),Di=new Set,Oi=new WeakMap,ki=new WeakMap,Ai=new WeakMap,ji=new WeakMap,Mi=new WeakMap,Ni=new WeakMap,Pi=new WeakMap,Fi=new WeakMap,Ii=new WeakSet,Li,Ri=0,zi=0,Bi=`__aa_tgt`,Vi=`__aa_del`,Hi=`__aa_new`,Ui=e=>{let t=$i(e);t&&t.forEach(e=>ta(e))},Wi=e=>{e.forEach(e=>{e.target===Li&&Ji(),Oi.has(e.target)&&qi(e.target)})};function Gi(e){let t=e.getBoundingClientRect(),n=Li?.clientWidth||0,r=Li?.clientHeight||0;return t.bottom<0||t.top>r||t.right<0||t.left>n}function Ki(e){ji.get(e)?.disconnect();let t=Oi.get(e),n=0;t||(t=ia(e),Oi.set(e,t));let{offsetWidth:r,offsetHeight:i}=Li,a=[t.top-5,r-(t.left+5+t.width),i-(t.top+5+t.height),t.left-5].map(e=>`${-1*Math.floor(e)}px`).join(` `),o=new IntersectionObserver(()=>{++n>1&&qi(e)},{root:Li,threshold:1,rootMargin:a});o.observe(e),ji.set(e,o)}function qi(e,t=!0){clearTimeout(Fi.get(e));let n=oa(e),r=t?da(n)?500:n.duration:0;Fi.set(e,setTimeout(async()=>{let t=Ai.get(e);try{await t?.finished,Oi.set(e,ia(e)),Ki(e)}catch{}},r))}function Ji(){clearTimeout(Fi.get(Li)),Fi.set(Li,setTimeout(()=>{Di.forEach(e=>la(e,e=>Xi(()=>qi(e))))},100))}function Yi(e){setTimeout(()=>{Ni.set(e,setInterval(()=>Xi(qi.bind(null,e)),2e3))},Math.round(2e3*Math.random()))}function Xi(e){typeof requestIdleCallback==`function`?requestIdleCallback(()=>e()):requestAnimationFrame(()=>e())}var Zi,Qi=typeof window<`u`&&`ResizeObserver`in window;Qi&&(Li=document.documentElement,new MutationObserver(Ui),Zi=new ResizeObserver(Wi),window.addEventListener(`scroll`,()=>{zi=window.scrollY,Ri=window.scrollX}),Zi.observe(Li));function $i(e){return e.reduce((e,t)=>[...e,...Array.from(t.addedNodes),...Array.from(t.removedNodes)],[]).every(e=>e.nodeName===`#comment`)?!1:e.reduce((e,t)=>{if(e===!1)return!1;if(t.target instanceof Element){if(ea(t.target),!e.has(t.target)){e.add(t.target);for(let n=0;n<t.target.children.length;n++){let r=t.target.children.item(n);if(r){if(Vi in r)return!1;ea(t.target,r),e.add(r)}}}if(t.removedNodes.length)for(let n=0;n<t.removedNodes.length;n++){let r=t.removedNodes[n];if(Vi in r)return!1;r instanceof Element&&(e.add(r),ea(t.target,r),ki.set(r,[t.previousSibling,t.nextSibling]))}}return e},new Set)}function ea(e,t){!t&&!(Bi in e)?Object.defineProperty(e,Bi,{value:e}):t&&!(Bi in t)&&Object.defineProperty(t,Bi,{value:e})}function ta(e){var t;let n=e.isConnected,r=Oi.has(e);n&&ki.has(e)&&ki.delete(e),Ai.get(e)?.playState!==`finished`&&((t=Ai.get(e))==null||t.cancel()),Hi in e?pa(e):r&&n?fa(e):r&&!n?ha(e):pa(e)}function na(e){return Number(e.replace(/[^0-9.\-]/g,``))}function ra(e){let t=e.parentElement;for(;t;){if(t.scrollLeft||t.scrollTop)return{x:t.scrollLeft,y:t.scrollTop};t=t.parentElement}return{x:0,y:0}}function ia(e){let t=e.getBoundingClientRect(),{x:n,y:r}=ra(e);return{top:t.top+r,left:t.left+n,width:t.width,height:t.height}}function aa(e,t,n){let r=t.width,i=t.height,a=n.width,o=n.height,s=getComputedStyle(e);if(s.getPropertyValue(`box-sizing`)===`content-box`){let e=na(s.paddingTop)+na(s.paddingBottom)+na(s.borderTopWidth)+na(s.borderBottomWidth),t=na(s.paddingLeft)+na(s.paddingRight)+na(s.borderRightWidth)+na(s.borderLeftWidth);r-=t,a-=t,i-=e,o-=e}return[r,a,i,o].map(Math.round)}function oa(e){return Bi in e&&Pi.has(e[Bi])?Pi.get(e[Bi]):{duration:250,easing:`ease-in-out`}}function sa(e){if(Bi in e)return e[Bi]}function ca(e){let t=sa(e);return t?Ii.has(t):!1}function la(e,...t){t.forEach(t=>t(e,Pi.has(e)));for(let n=0;n<e.children.length;n++){let r=e.children.item(n);r&&t.forEach(e=>e(r,Pi.has(r)))}}function ua(e){return Array.isArray(e)?e:[e]}function da(e){return typeof e==`function`}function fa(e){let t=Oi.get(e),n=ia(e);if(!ca(e))return Oi.set(e,n);if(Gi(e)){Oi.set(e,n),Ki(e);return}let r;if(!t)return;let i=oa(e);if(typeof i!=`function`){let a=t.left-n.left,o=t.top-n.top,s=t.left+t.width-(n.left+n.width);t.top+t.height-(n.top+n.height)==0&&(o=0),s==0&&(a=0);let[c,l,u,d]=aa(e,t,n),f={transform:`translate(${a}px, ${o}px)`},p={transform:`translate(0, 0)`};c!==l&&(f.width=`${c}px`,p.width=`${l}px`),u!==d&&(f.height=`${u}px`,p.height=`${d}px`),r=e.animate([f,p],{duration:i.duration,easing:i.easing})}else{let[a]=ua(i(e,`remain`,t,n));r=new Animation(a),r.play()}Ai.set(e,r),Oi.set(e,n),r.addEventListener(`finish`,qi.bind(null,e,!1),{once:!0})}function pa(e){Hi in e&&delete e[Hi];let t=ia(e);Oi.set(e,t);let n=oa(e);if(!ca(e))return;if(Gi(e)){Ki(e);return}let r;if(typeof n!=`function`)r=e.animate([{transform:`scale(.98)`,opacity:0},{transform:`scale(0.98)`,opacity:0,offset:.5},{transform:`scale(1)`,opacity:1}],{duration:n.duration*1.5,easing:`ease-in`});else{let[i]=ua(n(e,`add`,t));r=new Animation(i),r.play()}Ai.set(e,r),r.addEventListener(`finish`,qi.bind(null,e,!1),{once:!0})}function ma(e,t){var n;e.remove(),Oi.delete(e),ki.delete(e),Ai.delete(e),(n=ji.get(e))==null||n.disconnect(),setTimeout(()=>{if(Vi in e&&delete e[Vi],Object.defineProperty(e,Hi,{value:!0,configurable:!0}),t&&e instanceof HTMLElement)for(let n in t)e.style[n]=``},0)}function ha(e){var t;if(!ki.has(e)||!Oi.has(e))return;let[n,r]=ki.get(e);Object.defineProperty(e,Vi,{value:!0,configurable:!0});let i=window.scrollX,a=window.scrollY;if(r&&r.parentNode&&r.parentNode instanceof Element?r.parentNode.insertBefore(e,r):n&&n.parentNode?n.parentNode.appendChild(e):(t=sa(e))==null||t.appendChild(e),!ca(e))return ma(e);let[o,s,c,l]=_a(e),u=oa(e),d=Oi.get(e);(i!==Ri||a!==zi)&&ga(e,i,a,u);let f,p={position:`absolute`,top:`${o}px`,left:`${s}px`,width:`${c}px`,height:`${l}px`,margin:`0`,pointerEvents:`none`,transformOrigin:`center`,zIndex:`100`};if(!da(u))Object.assign(e.style,p),f=e.animate([{transform:`scale(1)`,opacity:1},{transform:`scale(.98)`,opacity:0}],{duration:u.duration,easing:`ease-out`});else{let[t,n]=ua(u(e,`remove`,d));n?.styleReset!==!1&&(p=n?.styleReset||p,Object.assign(e.style,p)),f=new Animation(t),f.play()}Ai.set(e,f),f.addEventListener(`finish`,()=>ma(e,p),{once:!0})}function ga(e,t,n,r){let i=Ri-t,a=zi-n,o=document.documentElement.style.scrollBehavior;if(getComputedStyle(Li).scrollBehavior===`smooth`&&(document.documentElement.style.scrollBehavior=`auto`),window.scrollTo(window.scrollX+i,window.scrollY+a),!e.parentElement)return;let s=e.parentElement,c=s.clientHeight,l=s.clientWidth,u=performance.now();function d(){requestAnimationFrame(()=>{if(!da(r)){let e=c-s.clientHeight,t=l-s.clientWidth;u+r.duration>performance.now()?(window.scrollTo({left:window.scrollX-t,top:window.scrollY-e}),c=s.clientHeight,l=s.clientWidth,d()):document.documentElement.style.scrollBehavior=o}})}d()}function _a(e){let t=Oi.get(e),[n,,r]=aa(e,t,ia(e)),i=e.parentElement;for(;i&&(getComputedStyle(i).position===`static`||i instanceof HTMLBodyElement);)i=i.parentElement;i||=document.body;let a=getComputedStyle(i),o=!Ai.has(e)||Ai.get(e)?.playState===`finished`?ia(i):Oi.get(i);return[Math.round(t.top-o.top)-na(a.borderTopWidth),Math.round(t.left-o.left)-na(a.borderLeftWidth),n,r]}function va(e,t={}){if(Qi&&Zi&&!(window.matchMedia(`(prefers-reduced-motion: reduce)`).matches&&!da(t)&&!t.disrespectUserMotionPreference)){Ii.add(e),getComputedStyle(e).position===`static`&&Object.assign(e.style,{position:`relative`}),la(e,qi,Yi,e=>Zi?.observe(e)),da(t)?Pi.set(e,t):Pi.set(e,{duration:250,easing:`ease-in-out`,...t});let n=new MutationObserver(Ui);n.observe(e,{childList:!0}),Mi.set(e,n),Di.add(e)}return Object.freeze({parent:e,enable:()=>{Ii.add(e)},disable:()=>{Ii.delete(e),la(e,e=>{let t=Ai.get(e);try{t?.cancel()}catch{}Ai.delete(e);let n=Fi.get(e);n&&clearTimeout(n),Fi.delete(e);let r=Ni.get(e);r&&clearInterval(r),Ni.delete(e)})},isEnabled:()=>Ii.has(e),destroy:()=>{Ii.delete(e),Di.delete(e),Pi.delete(e),Mi.get(e)?.disconnect(),Mi.delete(e),la(e,e=>{Zi?.unobserve(e);let t=Ai.get(e);try{t?.cancel()}catch{}Ai.delete(e),ji.get(e)?.disconnect(),ji.delete(e);let n=Ni.get(e);n&&clearInterval(n),Ni.delete(e);let r=Fi.get(e);r&&clearTimeout(r),Fi.delete(e),Oi.delete(e),ki.delete(e)})}})}var ya=e(Be());function ba(){var e=[...arguments];return(0,Z.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var xa=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Sa(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Ca(e){return`nodeType`in e}function wa(e){return e?Sa(e)?e:Ca(e)?e.ownerDocument?.defaultView??window:window:window}function Ta(e){let{Document:t}=wa(e);return e instanceof t}function Ea(e){return Sa(e)?!1:e instanceof wa(e).HTMLElement}function Da(e){return e instanceof wa(e).SVGElement}function Oa(e){return e?Sa(e)?e.document:Ca(e)?Ta(e)?e:Ea(e)||Da(e)?e.ownerDocument:document:document:document}var ka=xa?Z.useLayoutEffect:Z.useEffect;function Aa(e){let t=(0,Z.useRef)(e);return ka(()=>{t.current=e}),(0,Z.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function ja(){let e=(0,Z.useRef)(null);return[(0,Z.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,Z.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Ma(e,t){t===void 0&&(t=[e]);let n=(0,Z.useRef)(e);return ka(()=>{n.current!==e&&(n.current=e)},t),n}function Na(e,t){let n=(0,Z.useRef)();return(0,Z.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Pa(e){let t=Aa(e),n=(0,Z.useRef)(null);return[n,(0,Z.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Fa(e){let t=(0,Z.useRef)();return(0,Z.useEffect)(()=>{t.current=e},[e]),t.current}var Ia={};function La(e,t){return(0,Z.useMemo)(()=>{if(t)return t;let n=Ia[e]==null?0:Ia[e]+1;return Ia[e]=n,e+`-`+n},[e,t])}function Ra(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var za=Ra(1),Ba=Ra(-1);function Va(e){return`clientX`in e&&`clientY`in e}function Ha(e){if(!e)return!1;let{KeyboardEvent:t}=wa(e.target);return t&&e instanceof t}function Ua(e){if(!e)return!1;let{TouchEvent:t}=wa(e.target);return t&&e instanceof t}function Wa(e){if(Ua(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Va(e)?{x:e.clientX,y:e.clientY}:null}var Ga=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[Ga.Translate.toString(e),Ga.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Ka=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function qa(e){return e.matches(Ka)?e:e.querySelector(Ka)}var Ja={display:`none`};function Ya(e){let{id:t,value:n}=e;return Z.createElement(`div`,{id:t,style:Ja},n)}function Xa(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return Z.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Za(){let[e,t]=(0,Z.useState)(``);return{announce:(0,Z.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Qa=(0,Z.createContext)(null);function $a(e){let t=(0,Z.useContext)(Qa);(0,Z.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function eo(){let[e]=(0,Z.useState)(()=>new Set),t=(0,Z.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,Z.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var to={draggable:`
|
|
2
|
-
To pick up a draggable item, press the space bar.
|
|
3
|
-
While dragging, use the arrow keys to move the item.
|
|
4
|
-
Press space again to drop the item in its new position, or press escape to cancel.
|
|
5
|
-
`},no={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function ro(e){let{announcements:t=no,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=to}=e,{announce:a,announcement:o}=Za(),s=La(`DndLiveRegion`),[c,l]=(0,Z.useState)(!1);if((0,Z.useEffect)(()=>{l(!0)},[]),$a((0,Z.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=Z.createElement(Z.Fragment,null,Z.createElement(Ya,{id:r,value:i.draggable}),Z.createElement(Xa,{id:s,announcement:o}));return n?(0,ya.createPortal)(u,n):u}var io;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(io||={});function ao(){}function oo(e,t){return(0,Z.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function so(){var e=[...arguments];return(0,Z.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var co=Object.freeze({x:0,y:0});function lo(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function uo(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function fo(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function po(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function mo(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}var ho=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=po(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=po(r),o=i.reduce((e,t,r)=>e+lo(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(uo)};function go(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var _o=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=go(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(fo)};function vo(e,t){let{top:n,left:r,bottom:i,right:a}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=a}var yo=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];let i=[];for(let e of t){let{id:t}=e,a=n.get(t);if(a&&vo(r,a)){let n=po(a).reduce((e,t)=>e+lo(r,t),0),o=Number((n/4).toFixed(4));i.push({id:t,data:{droppableContainer:e,value:o}})}}return i.sort(uo)};function bo(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function xo(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:co}function So(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var Co=So(1);function wo(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function To(e,t,n){let r=wo(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Eo={ignoreTransform:!1};function Do(e,t){t===void 0&&(t=Eo);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=wa(e).getComputedStyle(e);t&&(n=To(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function Oo(e){return Do(e,{ignoreTransform:!0})}function ko(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Ao(e,t){return t===void 0&&(t=wa(e).getComputedStyle(e)),t.position===`fixed`}function jo(e,t){t===void 0&&(t=wa(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function Mo(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Ta(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Ea(i)||Da(i)||n.includes(i))return n;let a=wa(e).getComputedStyle(i);return i!==e&&jo(i,a)&&n.push(i),Ao(i,a)?n:r(i.parentNode)}return e?r(e):n}function No(e){let[t]=Mo(e,1);return t??null}function Po(e){return!xa||!e?null:Sa(e)?e:Ca(e)?Ta(e)||e===Oa(e).scrollingElement?window:Ea(e)?e:null:null}function Fo(e){return Sa(e)?e.scrollX:e.scrollLeft}function Io(e){return Sa(e)?e.scrollY:e.scrollTop}function Lo(e){return{x:Fo(e),y:Io(e)}}var Ro;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Ro||={});function zo(e){return!xa||!e?!1:e===document.scrollingElement}function Bo(e){let t={x:0,y:0},n=zo(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var Vo={x:.2,y:.2};function Ho(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Vo);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Bo(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Ro.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Ro.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Ro.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Ro.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Uo(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Wo(e){return e.reduce((e,t)=>za(e,Lo(t)),co)}function Go(e){return e.reduce((e,t)=>e+Fo(t),0)}function Ko(e){return e.reduce((e,t)=>e+Io(t),0)}function qo(e,t){if(t===void 0&&(t=Do),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);No(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var Jo=[[`x`,[`left`,`right`],Go],[`y`,[`top`,`bottom`],Ko]],Yo=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=Mo(t),r=Wo(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Jo)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},Xo=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function Zo(e){let{EventTarget:t}=wa(e);return e instanceof t?e:Oa(e)}function Qo(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var $o;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})($o||={});function es(e){e.preventDefault()}function ts(e){e.stopPropagation()}var ns;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(ns||={});var rs={start:[ns.Space,ns.Enter],cancel:[ns.Esc],end:[ns.Space,ns.Enter,ns.Tab]},is=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case ns.Right:return{...n,x:n.x+25};case ns.Left:return{...n,x:n.x-25};case ns.Down:return{...n,y:n.y+25};case ns.Up:return{...n,y:n.y-25}}},as=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new Xo(Oa(t)),this.windowListeners=new Xo(wa(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add($o.Resize,this.handleCancel),this.windowListeners.add($o.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add($o.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&qo(n),t(co)}handleKeyDown(e){if(Ha(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=rs,coordinateGetter:a=is,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:co;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Ba(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=Bo(n),p=Uo(n),m={x:Math.min(i===ns.Right?p.right-p.width/2:p.right,Math.max(i===ns.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===ns.Down?p.bottom-p.height/2:p.bottom,Math.max(i===ns.Down?p.top:p.top+p.height/2,u.y))},h=i===ns.Right&&!s||i===ns.Left&&!c,g=i===ns.Down&&!l||i===ns.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===ns.Right&&e<=d.x||i===ns.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===ns.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===ns.Down&&e<=d.y||i===ns.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===ns.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,za(Ba(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};as.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=rs,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function os(e){return!!(e&&`distance`in e)}function ss(e){return!!(e&&`delay`in e)}var cs=class{constructor(e,t,n){n===void 0&&(n=Zo(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=Oa(i),this.documentListeners=new Xo(this.document),this.listeners=new Xo(n),this.windowListeners=new Xo(wa(i)),this.initialCoordinates=Wa(r)??co,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add($o.Resize,this.handleCancel),this.windowListeners.add($o.DragStart,es),this.windowListeners.add($o.VisibilityChange,this.handleCancel),this.windowListeners.add($o.ContextMenu,es),this.documentListeners.add($o.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(ss(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(os(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add($o.Click,ts,{capture:!0}),this.removeTextSelection(),this.documentListeners.add($o.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Wa(e)??co,s=Ba(n,o);if(!t&&a){if(os(a)){if(a.tolerance!=null&&Qo(s,a.tolerance))return this.handleCancel();if(Qo(s,a.distance))return this.handleStart()}if(ss(a)&&Qo(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===ns.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},ls={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},us=class extends cs{constructor(e){let{event:t}=e,n=Oa(t.target);super(e,ls,n)}};us.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var ds={move:{name:`mousemove`},end:{name:`mouseup`}},fs;(function(e){e[e.RightClick=2]=`RightClick`})(fs||={});var ps=class extends cs{constructor(e){super(e,ds,Oa(e.event.target))}};ps.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===fs.RightClick?!1:(r?.({event:n}),!0)}}];var ms={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},hs=class extends cs{constructor(e){super(e,ms)}static setup(){return window.addEventListener(ms.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(ms.move.name,e)};function e(){}}};hs.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var gs;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(gs||={});var _s;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(_s||={});function vs(e){let{acceleration:t,activator:n=gs.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=_s.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=bs({delta:d,disabled:!a}),[m,h]=ja(),g=(0,Z.useRef)({x:0,y:0}),_=(0,Z.useRef)({x:0,y:0}),v=(0,Z.useMemo)(()=>{switch(n){case gs.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case gs.DraggableRect:return i}},[n,i,c]),y=(0,Z.useRef)(null),b=(0,Z.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,Z.useMemo)(()=>s===_s.TreeOrder?[...l].reverse():l,[s,l]);(0,Z.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=u[l.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=Ho(e,n,v,t,f);for(let e of[`x`,`y`])p[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){h(),y.current=e,m(b,o),g.current=a,_.current=i;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var ys={x:{[Ro.Backward]:!1,[Ro.Forward]:!1},y:{[Ro.Backward]:!1,[Ro.Forward]:!1}};function bs(e){let{delta:t,disabled:n}=e,r=Fa(t);return Na(e=>{if(n||!r||!e)return ys;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Ro.Backward]:e.x[Ro.Backward]||i.x===-1,[Ro.Forward]:e.x[Ro.Forward]||i.x===1},y:{[Ro.Backward]:e.y[Ro.Backward]||i.y===-1,[Ro.Forward]:e.y[Ro.Forward]||i.y===1}}},[n,t,r])}function xs(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Na(e=>t==null?null:r??e??null,[r,t])}function Ss(e,t){return(0,Z.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var Cs;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Cs||={});var ws;(function(e){e.Optimized=`optimized`})(ws||={});var Ts=new Map;function Es(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,Z.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,Z.useRef)(e),d=g(),f=Ma(d),p=(0,Z.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,Z.useRef)(null),h=Na(t=>{if(d&&!n)return Ts;if(!t||t===Ts||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new Yo(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,Z.useEffect)(()=>{u.current=e},[e]),(0,Z.useEffect)(()=>{d||p()},[n,d]),(0,Z.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,Z.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case Cs.Always:return!1;case Cs.BeforeDragging:return n;default:return!n}}}function Ds(e,t){return Na(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Os(e,t){return Ds(e,t)}function ks(e){let{callback:t,disabled:n}=e,r=Aa(t),i=(0,Z.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,Z.useEffect)(()=>()=>i?.disconnect(),[i]),i}function As(e){let{callback:t,disabled:n}=e,r=Aa(t),i=(0,Z.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,Z.useEffect)(()=>()=>i?.disconnect(),[i]),i}function js(e){return new Yo(Do(e),e)}function Ms(e,t,n){t===void 0&&(t=js);let[r,i]=(0,Z.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=ks({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=As({callback:a});return ka(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function Ns(e){return xo(e,Ds(e))}var Ps=[];function Fs(e){let t=(0,Z.useRef)(e),n=Na(n=>e?n&&n!==Ps&&e&&t.current&&e.parentNode===t.current.parentNode?n:Mo(e):Ps,[e]);return(0,Z.useEffect)(()=>{t.current=e},[e]),n}function Is(e){let[t,n]=(0,Z.useState)(null),r=(0,Z.useRef)(e),i=(0,Z.useCallback)(e=>{let t=Po(e.target);t&&n(e=>e?(e.set(t,Lo(t)),new Map(e)):null)},[]);return(0,Z.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Po(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Lo(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Po(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,Z.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>za(e,t),co):Wo(e):co,[e,t])}function Ls(e,t){t===void 0&&(t=[]);let n=(0,Z.useRef)(null);return(0,Z.useEffect)(()=>{n.current=null},t),(0,Z.useEffect)(()=>{let t=e!==co;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Ba(e,n.current):co}function Rs(e){(0,Z.useEffect)(()=>{if(!xa)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function zs(e,t){return(0,Z.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function Bs(e){return(0,Z.useMemo)(()=>e?ko(e):null,[e])}var Vs=[];function Hs(e,t){t===void 0&&(t=Do);let[n]=e,r=Bs(n?wa(n):null),[i,a]=(0,Z.useState)(Vs);function o(){a(()=>e.length?e.map(e=>zo(e)?r:new Yo(t(e),e)):Vs)}let s=As({callback:o});return ka(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function Us(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Ea(t)?t:e}function Ws(e){let{measure:t}=e,[n,r]=(0,Z.useState)(null),i=As({callback:(0,Z.useCallback)(e=>{for(let{target:n}of e)if(Ea(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Pa((0,Z.useCallback)(e=>{let n=Us(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,Z.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var Gs=[{sensor:us,options:{}},{sensor:as,options:{}}],Ks={current:{}},qs={draggable:{measure:Oo},droppable:{measure:Oo,strategy:Cs.WhileDragging,frequency:ws.Optimized},dragOverlay:{measure:Do}},Js=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},Ys={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Js,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:ao},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:qs,measureDroppableContainers:ao,windowRect:null,measuringScheduled:!1},Xs={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:ao,draggableNodes:new Map,over:null,measureDroppableContainers:ao},Zs=(0,Z.createContext)(Xs),Qs=(0,Z.createContext)(Ys);function $s(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Js}}}function ec(e,t){switch(t.type){case io.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case io.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case io.DragEnd:case io.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case io.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new Js(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case io.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new Js(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case io.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new Js(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function tc(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,Z.useContext)(Zs),a=Fa(r),o=Fa(n?.id);return(0,Z.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Ha(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=qa(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function nc(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function rc(e){return(0,Z.useMemo)(()=>({draggable:{...qs.draggable,...e?.draggable},droppable:{...qs.droppable,...e?.droppable},dragOverlay:{...qs.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function ic(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,Z.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;ka(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=xo(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=No(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var ac=(0,Z.createContext)({...co,scaleX:1,scaleY:1}),oc;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(oc||={});var sc=(0,Z.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Gs,collisionDetection:o=_o,measuring:s,modifiers:c,...l}=e,[u,d]=(0,Z.useReducer)(ec,void 0,$s),[f,p]=eo(),[m,h]=(0,Z.useState)(oc.Uninitialized),g=m===oc.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,Z.useRef)({initial:null,translated:null}),C=(0,Z.useMemo)(()=>_==null?null:{id:_,data:x?.data??Ks,rect:S},[_,x]),w=(0,Z.useRef)(null),[T,E]=(0,Z.useState)(null),[D,O]=(0,Z.useState)(null),k=Ma(l,Object.values(l)),A=La(`DndDescribedBy`,t),j=(0,Z.useMemo)(()=>b.getEnabled(),[b]),M=rc(s),{droppableRects:N,measureDroppableContainers:P,measuringScheduled:F}=Es(j,{dragging:g,dependencies:[y.x,y.y],config:M.droppable}),I=xs(v,_),L=(0,Z.useMemo)(()=>D?Wa(D):null,[D]),R=be(),ee=Os(I,M.draggable.measure);ic({activeNode:_==null?null:v.get(_),config:R.layoutShiftCompensation,initialRect:ee,measure:M.draggable.measure});let z=Ms(I,M.draggable.measure,ee),B=Ms(I?I.parentElement:null),V=(0,Z.useRef)({activatorEvent:null,active:null,activeNode:I,collisionRect:null,collisions:null,droppableRects:N,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),H=b.getNodeFor(V.current.over?.id),U=Ws({measure:M.dragOverlay.measure}),te=U.nodeRef.current??I,W=g?U.rect??z:null,ne=!!(U.nodeRef.current&&U.rect),re=Ns(ne?null:z),ie=Bs(te?wa(te):null),ae=Fs(g?H??I:null),G=Hs(ae),oe=nc(c,{transform:{x:y.x-re.x,y:y.y-re.y,scaleX:1,scaleY:1},activatorEvent:D,active:C,activeNodeRect:z,containerNodeRect:B,draggingNodeRect:W,over:V.current.over,overlayNodeRect:U.rect,scrollableAncestors:ae,scrollableAncestorRects:G,windowRect:ie}),K=L?za(L,y):null,q=Is(ae),se=Ls(q),ce=Ls(q,[z]),le=za(oe,se),ue=W?Co(W,oe):null,J=C&&ue?o({active:C,collisionRect:ue,droppableRects:N,droppableContainers:j,pointerCoordinates:K}):null,de=mo(J,`id`),[fe,pe]=(0,Z.useState)(null),me=bo(ne?oe:za(oe,ce),fe?.rect??null,z),he=(0,Z.useRef)(null),ge=(0,Z.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent;he.current=new n({active:w.current,activeNode:i,event:a,options:r,context:V,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=k.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=k.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=k.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,ya.unstable_batchedUpdates)(()=>{r?.(i),h(oc.Initializing),d({type:io.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),E(he.current),O(a)})},onMove(e){d({type:io.DragMove,coordinates:e})},onEnd:o(io.DragEnd),onCancel:o(io.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=V.current,o=null;if(t&&i){let{cancelDrop:s}=k.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===io.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=io.DragCancel)}w.current=null,(0,ya.unstable_batchedUpdates)(()=>{d({type:e}),h(oc.Uninitialized),pe(null),E(null),O(null),he.current=null;let t=e===io.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=k.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),_e=Ss(a,(0,Z.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,ge(n,t))},[v,ge]));Rs(a),ka(()=>{z&&m===oc.Initializing&&h(oc.Initialized)},[z,m]),(0,Z.useEffect)(()=>{let{onDragMove:e}=k.current,{active:t,activatorEvent:n,collisions:r,over:i}=V.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:le.x,y:le.y},over:i};(0,ya.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[le.x,le.y]),(0,Z.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=V.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=k.current,o=r.get(de),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,ya.unstable_batchedUpdates)(()=>{pe(s),a?.(c),f({type:`onDragOver`,event:c})})},[de]),ka(()=>{V.current={activatorEvent:D,active:C,activeNode:I,collisionRect:ue,collisions:J,droppableRects:N,draggableNodes:v,draggingNode:te,draggingNodeRect:W,droppableContainers:b,over:fe,scrollableAncestors:ae,scrollAdjustedTranslate:le},S.current={initial:W,translated:ue}},[C,I,J,ue,v,te,W,N,b,fe,ae,le]),vs({...R,delta:y,draggingRect:ue,pointerCoordinates:K,scrollableAncestors:ae,scrollableAncestorRects:G});let ve=(0,Z.useMemo)(()=>({active:C,activeNode:I,activeNodeRect:z,activatorEvent:D,collisions:J,containerNodeRect:B,dragOverlay:U,draggableNodes:v,droppableContainers:b,droppableRects:N,over:fe,measureDroppableContainers:P,scrollableAncestors:ae,scrollableAncestorRects:G,measuringConfiguration:M,measuringScheduled:F,windowRect:ie}),[C,I,z,D,J,B,U,v,b,N,fe,P,ae,G,M,F,ie]),ye=(0,Z.useMemo)(()=>({activatorEvent:D,activators:_e,active:C,activeNodeRect:z,ariaDescribedById:{draggable:A},dispatch:d,draggableNodes:v,over:fe,measureDroppableContainers:P}),[D,_e,C,z,d,A,v,fe,P]);return Z.createElement(Qa.Provider,{value:p},Z.createElement(Zs.Provider,{value:ye},Z.createElement(Qs.Provider,{value:ve},Z.createElement(ac.Provider,{value:me},i)),Z.createElement(tc,{disabled:n?.restoreFocus===!1})),Z.createElement(ro,{...n,hiddenTextDescribedById:A}));function be(){let e=T?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),cc=(0,Z.createContext)(null),lc=`button`,uc=`Draggable`;function dc(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=La(uc),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,Z.useContext)(Zs),{role:p=lc,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,Z.useContext)(g?ac:cc),[v,y]=Pa(),[b,x]=Pa(),S=zs(o,t),C=Ma(n);return ka(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,Z.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===lc?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function fc(){return(0,Z.useContext)(Qs)}var pc=`Droppable`,mc={timeout:25};function hc(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=La(pc),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,Z.useContext)(Zs),u=(0,Z.useRef)({disabled:n}),d=(0,Z.useRef)(!1),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...mc,...i},_=Ma(h??r),v=As({callback:(0,Z.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=Pa((0,Z.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Ma(t);return(0,Z.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,Z.useEffect)(()=>(s({type:io.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:io.UnregisterDroppable,key:a,id:r})),[r]),(0,Z.useEffect)(()=>{n!==u.current.disabled&&(s({type:io.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function gc(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function _c(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function vc(e){return e!==null&&e>=0}function yc(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function bc(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var xc=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=gc(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Sc={scaleX:1,scaleY:1},Cc=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...Sc}:null}let s=wc(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...Sc}:r<t&&r>=a?{x:0,y:o.height+s,...Sc}:{x:0,y:0,...Sc}};function wc(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var Tc=`Sortable`,Ec=Z.createContext({activeIndex:-1,containerId:Tc,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:xc,disabled:{draggable:!1,droppable:!1}});function Dc(e){let{children:t,id:n,items:r,strategy:i=xc,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=fc(),d=La(Tc,n),f=s.rect!==null,p=(0,Z.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,Z.useRef)(p),v=!yc(p,_.current),y=g!==-1&&h===-1||v,b=bc(a);ka(()=>{v&&m&&u(p)},[v,p,m,u]),(0,Z.useEffect)(()=>{_.current=p},[p]);let x=(0,Z.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:_c(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return Z.createElement(Ec.Provider,{value:x},t)}var Oc=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return gc(n,r,i).indexOf(t)},kc=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Ac={duration:200,easing:`ease`},jc=`transform`,Mc=Ga.Transition.toString({property:jc,duration:0,easing:`linear`}),Nc={roleDescription:`sortable`};function Pc(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,Z.useState)(null),s=(0,Z.useRef)(n);return ka(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=Do(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,Z.useEffect)(()=>{a&&o(null)},[a]),a}function Fc(e){let{animateLayoutChanges:t=kc,attributes:n,disabled:r,data:i,getNewIndex:a=Oc,id:o,strategy:s,resizeObserverConfig:c,transition:l=Ac}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,Z.useContext)(Ec),y=Ic(r,p),b=u.indexOf(o),x=(0,Z.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,Z.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:C,node:w,isOver:T,setNodeRef:E}=hc({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:D,activatorEvent:O,activeNodeRect:k,attributes:A,setNodeRef:j,listeners:M,isDragging:N,over:P,setActivatorNodeRef:F,transform:I}=dc({id:o,data:x,attributes:{...Nc,...n},disabled:y.draggable}),L=ba(E,j),R=!!D,ee=R&&!m&&vc(f)&&vc(g),z=!_&&N,B=ee?(z&&ee?I:null)??(s??v)({rects:h,activeNodeRect:k,activeIndex:f,overIndex:g,index:b}):null,V=vc(f)&&vc(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,H=D?.id,U=(0,Z.useRef)({activeId:H,items:u,newIndex:V,containerId:d}),te=u!==U.current.items,W=t({active:D,containerId:d,isDragging:N,isSorting:R,id:o,index:b,items:u,newIndex:U.current.newIndex,previousItems:U.current.items,previousContainerId:U.current.containerId,transition:l,wasDragging:U.current.activeId!=null}),ne=Pc({disabled:!W,index:b,node:w,rect:C});return(0,Z.useEffect)(()=>{R&&U.current.newIndex!==V&&(U.current.newIndex=V),d!==U.current.containerId&&(U.current.containerId=d),u!==U.current.items&&(U.current.items=u)},[R,V,d,u]),(0,Z.useEffect)(()=>{if(H===U.current.activeId)return;if(H!=null&&U.current.activeId==null){U.current.activeId=H;return}let e=setTimeout(()=>{U.current.activeId=H},50);return()=>clearTimeout(e)},[H]),{active:D,activeIndex:f,attributes:A,data:x,rect:C,index:b,newIndex:V,items:u,isOver:T,isSorting:R,isDragging:N,listeners:M,node:w,overIndex:g,over:P,setNodeRef:L,setActivatorNodeRef:F,setDroppableNodeRef:E,setDraggableNodeRef:j,transform:ne??B,transition:re()};function re(){if(ne||te&&U.current.newIndex===b)return Mc;if(!(z&&!Ha(O)||!l)&&(R||W))return Ga.Transition.toString({...l,property:jc})}}function Ic(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}ns.Down,ns.Right,ns.Up,ns.Left;function Lc(e,t,n){let r={...e};return t.top+e.y<=n.top?r.y=n.top-t.top:t.bottom+e.y>=n.top+n.height&&(r.y=n.top+n.height-t.bottom),t.left+e.x<=n.left?r.x=n.left-t.left:t.right+e.x>=n.left+n.width&&(r.x=n.left+n.width-t.right),r}var Rc=e=>{let{draggingNodeRect:t,transform:n,scrollableAncestorRects:r}=e,i=r[0];return!t||!i?n:Lc(n,t,i)},zc=e=>{let{transform:t}=e;return{...t,x:0}},Bc={metaKey:!1,ctrlKey:!1,altKey:!1,shiftKey:!1};function Vc(e,t){return e.metaKey===t.metaKey&&e.ctrlKey===t.ctrlKey&&e.altKey===t.altKey&&e.shiftKey===t.shiftKey}var Hc=m(e=>({state:Bc,setState:t=>e(e=>Vc(e.state,t)?e:{state:t}),clear:()=>e(e=>Vc(e.state,Bc)?e:{state:Bc})}));function Uc(){return Hc(Wc)}function Wc(e){return e.state}function Gc(e){switch(e){case`Meta`:case`OS`:case`Command`:return`metaKey`;case`Control`:return`ctrlKey`;case`Alt`:case`Option`:return`altKey`;case`Shift`:return`shiftKey`;default:return null}}function Kc(e){let t=Gc(e.key);if(t){let n=Hc.getState().state;Hc.getState().setState({...n,[t]:e.type===`keydown`});return}Hc.getState().setState({metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey})}function qc(){Hc.getState().clear()}var $=Ce();function Jc(){let e=(0,Q.c)(32),t=qe(),n=Fn().data??null,[r,i]=(0,Z.useState)(!1),a;e[0]!==r||e[1]!==n?(a=g&&On(n)&&!r,e[0]=r,e[1]=n,e[2]=a):a=e[2];let o=a,s;e[3]===n?s=e[4]:(s=n?In(n):`Update available`,e[3]=n,e[4]=s);let c=s,l;e[5]===n?l=e[6]:(l=Dn(n),e[5]=n,e[6]=l);let u=l,d;e[7]===n?d=e[8]:(d=n?Nn(n):`none`,e[7]=n,e[8]=d);let f=d,p;e[9]===n?p=e[10]:(p=g&&Bn(n),e[9]=n,e[10]=p);let m=p,h;e[11]!==m||e[12]!==n?(h=n&&m?Mn(n):null,e[11]=m,e[12]=n,e[13]=h):h=e[13];let _=h,v;e[14]!==f||e[15]!==u||e[16]!==t||e[17]!==n?(v=()=>{let e=window.desktopBridge;if(!(!e||!n)&&!(u||f===`none`)){if(f===`download`){e.downloadUpdate().then(e=>{if(zn(t,e.state),e.completed&&X.add({type:`success`,title:`Update downloaded`,description:`Restart the app from the update button to install it.`}),!kn(e))return;let n=En(e);n&&X.add(Y({type:`error`,title:`Could not download update`,description:n}))}).catch(Xc);return}if(f===`install`){if(!window.confirm(Rn(n)))return;e.installUpdate().then(e=>{if(zn(t,e.state),!kn(e))return;let n=En(e);n&&X.add(Y({type:`error`,title:`Could not install update`,description:n}))}).catch(Yc)}}},e[14]=f,e[15]=u,e[16]=t,e[17]=n,e[18]=v):v=e[18];let y=v;if(!o&&!m)return null;let b;e[19]!==_||e[20]!==m?(b=m&&_&&(0,$.jsxs)(ft,{variant:`warning`,className:`rounded-2xl border-warning/40 bg-warning/8 text-xs`,children:[(0,$.jsx)(Wn,{}),(0,$.jsx)(lt,{children:`Intel build on Apple Silicon`}),(0,$.jsx)(it,{children:_})]}),e[19]=_,e[20]=m,e[21]=b):b=e[21];let x;e[22]!==f||e[23]!==u||e[24]!==y||e[25]!==n||e[26]!==c||e[27]!==o?(x=o&&(0,$.jsxs)(`div`,{className:`group/update relative flex h-7 w-full items-center rounded-lg bg-primary/15 text-xs font-medium text-primary ${u?` cursor-not-allowed opacity-60`:``}`,children:[(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 rounded-lg transition-colors group-has-[button.update-main:hover]/update:bg-primary/22`}),(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":c,"aria-disabled":u||void 0,disabled:u,className:`update-main relative flex h-full flex-1 items-center gap-2 px-2 enabled:cursor-pointer`,onClick:y,children:f===`install`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ct,{className:`size-3.5`}),(0,$.jsx)(`span`,{children:`Restart to update`})]}):n?.status===`downloading`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Jn,{className:`size-3.5`}),(0,$.jsxs)(`span`,{children:[`Downloading`,typeof n.downloadPercent==`number`?` (${Math.floor(n.downloadPercent)}%)`:`…`]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Jn,{className:`size-3.5`}),(0,$.jsx)(`span`,{children:`Update available`})]})})}),(0,$.jsx)(Ae,{side:`top`,children:c})]}),f===`download`&&(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":`Dismiss update`,className:`mr-1 inline-flex size-5 items-center justify-center rounded-md text-primary/60 transition-colors hover:text-primary`,onClick:()=>i(!0),children:(0,$.jsx)(Sr,{className:`size-3.5`})})}),(0,$.jsx)(Ae,{side:`top`,children:`Dismiss until next launch`})]})]}),e[22]=f,e[23]=u,e[24]=y,e[25]=n,e[26]=c,e[27]=o,e[28]=x):x=e[28];let S;return e[29]!==b||e[30]!==x?(S=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[b,x]}),e[29]=b,e[30]=x,e[31]=S):S=e[31],S}function Yc(e){X.add(Y({type:`error`,title:`Could not install update`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))}function Xc(e){X.add(Y({type:`error`,title:`Could not start update download`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))}function Zc(e){let t=wl(e.threads,e=>e.projectId),n=wl(e.worktrees??[],e=>String(e.projectId));return{projects:e.projects.map(r=>{let i=t.get(r.id)??[],a=xl(r,e.isGitRepoByProjectId),o=i.filter(e=>e.archivedAt!==null);if(!a)return{archivedSessions:o,archivedWorktrees:[],flatSessions:i.filter(e=>e.archivedAt===null),isGitRepo:a,project:r,worktrees:[]};let s=nl(pl({project:r,threads:i,worktrees:n.get(r.id)??[]}));return{archivedSessions:o,archivedWorktrees:gl(s).filter(e=>e.archivedAt!=null).map(t=>$c({diffStats:bl(e,t.worktreeId),nowMs:e.nowMs,threads:i.filter(e=>tl(e,t)),worktree:t})),flatSessions:[],isGitRepo:a,project:r,worktrees:gl(s).filter(e=>e.archivedAt==null).map(t=>$c({diffStats:bl(e,t.worktreeId),nowMs:e.nowMs,threads:i.filter(e=>tl(e,t)),worktree:t}))}})}}function Qc(e){let t=(0,Q.c)(8),{diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:a,projects:o,threads:s,worktrees:c}=e,l;return t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a||t[4]!==o||t[5]!==s||t[6]!==c?(l=Zc({diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:a??Date.now(),projects:o,threads:s,worktrees:c}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l):l=t[7],l}function $c(e){let t={done:[],idle:[],in_progress:[],review:[]},n=[],r=[],i=[];for(let a of e.threads){if(a.archivedAt!==null){r.push(a);continue}i.push(a);let e=el(a);n.push(e),t[e].push(a)}return{aggregateStatus:Vr(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:Dr({buckets:n,latestUpdatedAt:yl(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function el(e){return Rr({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??Lr({thread:e})})}function tl(e,t){return e.worktreeId!==void 0&&e.worktreeId!==null&&e.worktreeId===t.worktreeId||e.worktreePath!==null&&t.worktreePath!==null&&e.worktreePath===t.worktreePath?!0:e.worktreePath!==null||t.worktreePath!==null?!1:t.origin===`main`?e.branch===null||e.branch===t.branch||hl(e.branch):e.branch===t.branch}function nl(e){let t=new Map;for(let n of e){let e=rl(n),r=t.get(e);t.set(e,r?al(r,n):n)}return[...t.values()]}function rl(e){return e.origin===`main`?`${e.projectId}:main`:e.worktreePath===null?`${e.projectId}:${e.origin}:${e.branch}`:`${e.projectId}:path:${il(e.worktreePath)}`}function il(e){return e.replace(/\\/g,`/`).replace(/\/+$/g,``).toLowerCase()}function al(e,t){let n=ol(e,t);return{...e,archivedAt:dl(e.archivedAt,t.archivedAt),branch:cl(e.branch,t.branch),manualPosition:fl(e.manualPosition,t.manualPosition),origin:e.origin===`main`||t.origin!==`main`?e.origin:t.origin,prNumber:e.prNumber??t.prNumber??null,issueNumber:e.issueNumber??t.issueNumber??null,prState:n.prState??null,prIsDraft:n.prIsDraft??null,issueState:n.issueState??null,title:sl(e,t),updatedAt:vl(e.updatedAt,t.updatedAt),worktreeId:ll(e,t),worktreePath:e.worktreePath??t.worktreePath}}function ol(e,t){let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(r)||r<=n?e:t}function sl(e,t){if(e.title==null)return t.title??null;if(t.title==null)return e.title;let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(n)?t.title:Number.isNaN(r)?e.title:r>n?t.title:e.title}function cl(e,t){return e===`main`&&t!==`main`?t:e}function ll(e,t){let n=ul(e.worktreeId),r=ul(t.worktreeId);return n&&!r?t.worktreeId:r&&!n||e.origin===`main`?e.worktreeId:t.origin===`main`?t.worktreeId:e.worktreeId}function ul(e){return/^(main|branch|pr|issue|manual):/.test(e)}function dl(e,t){return e==null||t==null?null:vl(e,t)}function fl(e,t){return e==null?t:t==null?e:Math.min(e,t)}function pl(e){if(e.threads.length===0)return e.worktrees;let t=[...e.worktrees];for(let n of e.threads)t.some(e=>tl(n,e))||t.push(ml(e.project,n));return t}function ml(e,t){let n=t.branch??`main`,r=t.worktreePath===null&&hl(t.branch)?`main`:`branch`;return{archivedAt:null,branch:n,manualPosition:r===`main`?0:null,origin:r,projectId:e.id,updatedAt:t.updatedAt??t.createdAt,worktreeId:r===`main`?`main:${e.environmentId}:${e.id}`:`branch:${e.environmentId}:${e.id}:${t.worktreePath?il(t.worktreePath):n}`,worktreePath:t.worktreePath}}function hl(e){return e==null||e===`main`||e===`master`||e===`trunk`}function gl(e){return[...e].toSorted((e,t)=>{if(e.origin===`main`&&t.origin!==`main`)return-1;if(t.origin===`main`&&e.origin!==`main`)return 1;let n=e.manualPosition??2**53-1,r=t.manualPosition??2**53-1;if(n!==r)return n-r;let i=_l(e.updatedAt,t.updatedAt);return i===0?e.branch.localeCompare(t.branch)||e.worktreeId.localeCompare(t.worktreeId):i})}function _l(e,t){let n=t?Date.parse(t):-1/0,r=e?Date.parse(e):-1/0;return(Number.isNaN(n)?-1/0:n)-(Number.isNaN(r)?-1/0:r)}function vl(e,t){if(!e)return t;if(!t)return e;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)?t:Number.isNaN(r)?e:r>n?t:e}function yl(e){return e.map(e=>e.updatedAt??e.createdAt).filter(e=>e!==void 0).toSorted((e,t)=>Date.parse(t)-Date.parse(e))[0]}function bl(e,t){return e.diffStatsByWorktreeId?e.diffStatsByWorktreeId.get(t)??null:e.diffStatsByWorktreeIdRecord?.[t]??null}function xl(e,t){let n=Sl(t,e.id);return n===void 0?!0:n}function Sl(e,t){if(e)return Cl(e)?e.get(t):e[String(t)]}function Cl(e){return e instanceof Map}function wl(e,t){let n=new Map;for(let r of e){let e=t(r),i=n.get(e);i?i.push(r):n.set(e,[r])}return n}var Tl={done:`Done`,idle:`Idle`,in_progress:`In progress`,review:`Review`},El=180,Dl=(0,Z.memo)(function(e){let t=(0,Z.useMemo)(()=>Rl(e.treeProject,e.visibleThreadKeys),[e.treeProject,e.visibleThreadKeys]),n=(0,Z.useMemo)(()=>e.treeProject.worktrees.filter(t=>e.projectExpanded?!0:zl(t,e.visibleThreadKeys).length>0),[e.projectExpanded,e.treeProject.worktrees,e.visibleThreadKeys]),[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(null),s=(0,Z.useCallback)(e=>{o(e)},[]),c=(0,Z.useCallback)(e=>{e||o(null)},[]);return n.length===0&&e.treeProject.archivedWorktrees.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(vr,{ref:e.attachThreadListAutoAnimateRef,className:`mx-1 my-0 w-full translate-x-0 gap-0.5 overflow-hidden px-1.5 py-0`,children:[n.map(n=>(0,$.jsx)(kl,{orderedProjectThreadKeys:t,projectCwd:e.treeProject.project.cwd,projectExpanded:e.projectExpanded,renderThread:e.renderThread,resolveThreadGitStatusTarget:e.resolveThreadGitStatusTarget,visibleThreadKeys:e.visibleThreadKeys,worktree:n,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onOpenLinkedItem:s,onOpenWorktree:e.onOpenWorktree,onRenameWorktree:e.onRenameWorktree},n.worktree.worktreeId)),e.treeProject.archivedWorktrees.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(sr,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 w-full items-center gap-1.5 rounded-md px-2 text-left text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,onClick:()=>i(e=>!e),children:[(0,$.jsx)(Nt,{className:r?`size-3 rotate-90`:`size-3`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium`,children:[`Archived (`,e.treeProject.archivedWorktrees.length,`)`]})]})}),r?e.treeProject.archivedWorktrees.map(t=>(0,$.jsx)(Ol,{projectCwd:e.treeProject.project.cwd,worktree:t,onDeleteWorktree:e.onDeleteWorktree,onOpenLinkedItem:s,onRestoreWorktree:e.onRestoreWorktree},t.worktree.worktreeId)):null]}):null]}),(0,$.jsx)(pt,{open:a!==null,item:a,environmentId:e.treeProject.project.environmentId,cwd:e.treeProject.project.cwd,onOpenChange:c})]})});function Ol(e){let t=(0,Q.c)(29),n;t[0]!==e.projectCwd||t[1]!==e.worktree.worktree?(n=Il(e.worktree.worktree,e.projectCwd),t[0]=e.projectCwd,t[1]=e.worktree.worktree,t[2]=n):n=t[2];let r=n,i;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(An,{className:`size-3.5 shrink-0`}),t[3]=i):i=t[3];let a;t[4]===e.worktree?a=t[5]:(a=Fl(e.worktree),t[4]=e.worktree,t[5]=a);let o;t[6]===a?o=t[7]:(o=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs`,children:a}),t[6]=a,t[7]=o);let s;t[8]!==e.onOpenLinkedItem||t[9]!==e.worktree.worktree.issueNumber||t[10]!==e.worktree.worktree.issueState||t[11]!==e.worktree.worktree.prIsDraft||t[12]!==e.worktree.worktree.prNumber||t[13]!==e.worktree.worktree.prState?(s=(0,$.jsx)(et,{issueNumber:e.worktree.worktree.issueNumber,issueState:e.worktree.worktree.issueState,prNumber:e.worktree.worktree.prNumber,prState:e.worktree.worktree.prState,prIsDraft:e.worktree.worktree.prIsDraft,displayMode:`prefer-pr`,onOpenLinkedItem:e.onOpenLinkedItem}),t[8]=e.onOpenLinkedItem,t[9]=e.worktree.worktree.issueNumber,t[10]=e.worktree.worktree.issueState,t[11]=e.worktree.worktree.prIsDraft,t[12]=e.worktree.worktree.prNumber,t[13]=e.worktree.worktree.prState,t[14]=s):s=t[14];let c=`Restore ${e.worktree.worktree.branch}`,l;t[15]===e?l=t[16]:(l=()=>e.onRestoreWorktree(e.worktree),t[15]=e,t[16]=l);let u;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(jn,{className:`size-3.5`}),t[17]=u):u=t[17];let d;t[18]!==c||t[19]!==l?(d=(0,$.jsx)(`button`,{type:`button`,className:`inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/70 hover:bg-secondary hover:text-foreground`,"aria-label":c,onClick:l,children:u}),t[18]=c,t[19]=l,t[20]=d):d=t[20];let f;t[21]!==r||t[22]!==e?(f=r?null:(0,$.jsx)(`button`,{type:`button`,className:`inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/70 hover:bg-secondary hover:text-destructive`,"aria-label":`Delete ${e.worktree.worktree.branch}`,onClick:()=>e.onDeleteWorktree(e.worktree),children:(0,$.jsx)(xr,{className:`size-3.5`})}),t[21]=r,t[22]=e,t[23]=f):f=t[23];let p;return t[24]!==o||t[25]!==s||t[26]!==d||t[27]!==f?(p=(0,$.jsx)(sr,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsxs)(`div`,{className:`ml-3 flex h-7 items-center gap-1.5 rounded-md px-2 text-muted-foreground`,children:[i,o,s,d,f]})}),t[24]=o,t[25]=s,t[26]=d,t[27]=f,t[28]=p):p=t[28],p}var kl=(0,Z.memo)(function(e){let t=(0,Q.c)(109),n;t[0]!==e.projectCwd||t[1]!==e.worktree.worktree?(n=Il(e.worktree.worktree,e.projectCwd),t[0]=e.projectCwd,t[1]=e.worktree.worktree,t[2]=n):n=t[2];let r=n,i;if(t[3]!==e.visibleThreadKeys||t[4]!==e.worktree.sessions){let n;t[6]===e.visibleThreadKeys?n=t[7]:(n=t=>Bl(t,e.visibleThreadKeys),t[6]=e.visibleThreadKeys,t[7]=n),i=e.worktree.sessions.filter(n),t[3]=e.visibleThreadKeys,t[4]=e.worktree.sessions,t[5]=i}else i=t[5];let a=i,[o,s]=(0,Z.useState)(!0),[c,l]=(0,Z.useState)(!1),u;t[8]===e.worktree?u=t[9]:(u=()=>Fl(e.worktree),t[8]=e.worktree,t[9]=u);let[d,f]=(0,Z.useState)(u),p=(0,Z.useRef)(null),m=e.visibleThreadKeys?!1:o,h=e.projectExpanded&&!m&&a.length===0,g=!m,_;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>s(Vl),t[10]=_):_=t[10];let v=_,y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{p.current!==null&&(clearTimeout(p.current),p.current=null)},t[11]=y):y=t[11];let b=y,x,S;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>b,S=[b],t[12]=x,t[13]=S):(x=t[12],S=t[13]),(0,Z.useEffect)(x,S);let C;t[14]===e.worktree?C=t[15]:(C=Fl(e.worktree),t[14]=e.worktree,t[15]=C);let w=C,T;t[16]!==w||t[17]!==e.worktree.aggregateStatus?(T=e.worktree.aggregateStatus===`idle`?void 0:It(w),t[16]=w,t[17]=e.worktree.aggregateStatus,t[18]=T):T=t[18];let E=T,D;t[19]===w?D=t[20]:(D=()=>{b(),f(w),l(!0)},t[19]=w,t[20]=D);let O=D,k;t[21]===w?k=t[22]:(k=()=>{f(w),l(!1)},t[21]=w,t[22]=k);let A=k,j;t[23]!==A||t[24]!==w||t[25]!==e||t[26]!==d?(j=()=>{let t=d.trim();if(t.length===0||t===w){A();return}Promise.resolve(e.onRenameWorktree(e.worktree,t)).finally(()=>{l(!1)})},t[23]=A,t[24]=w,t[25]=e,t[26]=d,t[27]=j):j=t[27];let M=j,N;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(N=e=>{e.stopPropagation(),b(),!(e.detail>1)&&(p.current=setTimeout(()=>{p.current=null,v()},El))},t[28]=N):N=t[28];let P=N,F=!m,I;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>{if(e.key===`ArrowLeft`){e.preventDefault(),s(!0);return}if(e.key===`ArrowRight`){e.preventDefault(),s(!1);return}e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),v())},t[29]=I):I=t[29];let L;t[30]===F?L=t[31]:(L=(0,$.jsx)(`div`,{role:`button`,tabIndex:0,"aria-expanded":F,className:`group/worktree flex h-7 w-full items-center gap-1.5 rounded-md px-2 text-left text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:v,onKeyDown:I}),t[30]=F,t[31]=L);let R=m?`Expand ${e.worktree.worktree.branch}`:`Collapse ${e.worktree.worktree.branch}`,ee;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(ee=e=>{e.preventDefault(),e.stopPropagation(),v()},t[32]=ee):ee=t[32];let z=m?``:`rotate-90`,B;t[33]===z?B=t[34]:(B=ve(`size-3.5 transition-transform duration-150`,z),t[33]=z,t[34]=B);let V;t[35]===B?V=t[36]:(V=(0,$.jsx)(Nt,{className:B}),t[35]=B,t[36]=V);let H;t[37]!==R||t[38]!==V?(H=(0,$.jsx)(`button`,{type:`button`,"aria-label":R,className:`-ml-1 inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/60 hover:bg-secondary hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:ee,children:V}),t[37]=R,t[38]=V,t[39]=H):H=t[39];let U;t[40]!==A||t[41]!==M||t[42]!==w||t[43]!==e.onOpenLinkedItem||t[44]!==e.worktree.aggregateStatus||t[45]!==e.worktree.worktree.issueNumber||t[46]!==e.worktree.worktree.issueState||t[47]!==e.worktree.worktree.prIsDraft||t[48]!==e.worktree.worktree.prNumber||t[49]!==e.worktree.worktree.prState||t[50]!==d||t[51]!==c||t[52]!==O||t[53]!==E?(U=c?(0,$.jsx)(`input`,{value:d,className:`min-w-0 flex-1 rounded-sm border border-border bg-background px-1 py-0.5 text-xs font-medium text-foreground outline-hidden focus:border-ring`,autoFocus:!0,onBlur:M,onChange:e=>f(e.target.value),onClick:Hl,onDoubleClick:Ul,onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),M()),e.key===`Escape`&&(e.preventDefault(),A())}}):(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:Ft(e.worktree.aggregateStatus,`min-w-0 cursor-default truncate text-xs font-medium text-foreground/85`),title:e.worktree.aggregateStatus===`idle`?w:`${Tl[e.worktree.aggregateStatus]}: ${w}`,"aria-label":e.worktree.aggregateStatus===`idle`?w:`${Tl[e.worktree.aggregateStatus]}: ${w}`,style:E,onClick:P,onDoubleClick:e=>{e.preventDefault(),e.stopPropagation(),O()},children:w}),(0,$.jsx)(et,{issueNumber:e.worktree.worktree.issueNumber,issueState:e.worktree.worktree.issueState,prNumber:e.worktree.worktree.prNumber,prState:e.worktree.worktree.prState,prIsDraft:e.worktree.worktree.prIsDraft,displayMode:`prefer-pr`,onOpenLinkedItem:e.onOpenLinkedItem})]}),t[40]=A,t[41]=M,t[42]=w,t[43]=e.onOpenLinkedItem,t[44]=e.worktree.aggregateStatus,t[45]=e.worktree.worktree.issueNumber,t[46]=e.worktree.worktree.issueState,t[47]=e.worktree.worktree.prIsDraft,t[48]=e.worktree.worktree.prNumber,t[49]=e.worktree.worktree.prState,t[50]=d,t[51]=c,t[52]=O,t[53]=E,t[54]=U):U=t[54];let te,W;t[55]===e.worktree?(te=t[56],W=t[57]):(te=(0,$.jsx)(Pl,{worktree:e.worktree}),W=(0,$.jsx)(Ll,{worktree:e.worktree}),t[55]=e.worktree,t[56]=te,t[57]=W);let ne;t[58]!==r||t[59]!==e?(ne=e.worktree.shouldSuggestArchive&&!r?(0,$.jsxs)(`button`,{type:`button`,className:`inline-flex shrink-0 items-center gap-1 rounded-full bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground hover:bg-secondary hover:text-foreground`,onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onArchiveWorktree(e.worktree)},children:[(0,$.jsx)(An,{className:`size-3`}),`Archive?`]}):null,t[58]=r,t[59]=e,t[60]=ne):ne=t[60];let re=`New session in ${e.worktree.worktree.branch}`,ie;t[61]===e?ie=t[62]:(ie=t=>{t.preventDefault(),t.stopPropagation(),e.onNewSession(e.worktree)},t[61]=e,t[62]=ie);let ae;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(br,{className:`size-3.5`}),t[63]=ae):ae=t[63];let G;t[64]!==re||t[65]!==ie?(G=(0,$.jsx)(`button`,{type:`button`,"aria-label":re,className:`ml-auto inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/55 opacity-0 transition-opacity hover:bg-secondary hover:text-foreground group-hover/worktree:opacity-100 group-focus-within/worktree:opacity-100 max-sm:opacity-100`,onClick:ie,children:ae}),t[64]=re,t[65]=ie,t[66]=G):G=t[66];let oe;t[67]!==r||t[68]!==e.onArchiveWorktree||t[69]!==e.onCopyWorktreePath||t[70]!==e.onDeleteWorktree||t[71]!==e.onNewSession||t[72]!==e.onOpenInEditor||t[73]!==e.worktree||t[74]!==O?(oe=(0,$.jsx)(Ml,{isProjectRoot:r,worktree:e.worktree,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onRenameWorktree:O}),t[67]=r,t[68]=e.onArchiveWorktree,t[69]=e.onCopyWorktreePath,t[70]=e.onDeleteWorktree,t[71]=e.onNewSession,t[72]=e.onOpenInEditor,t[73]=e.worktree,t[74]=O,t[75]=oe):oe=t[75];let K;t[76]!==L||t[77]!==H||t[78]!==U||t[79]!==te||t[80]!==W||t[81]!==ne||t[82]!==G||t[83]!==oe?(K=(0,$.jsxs)(Me,{render:L,children:[H,U,te,W,ne,G,oe]}),t[76]=L,t[77]=H,t[78]=U,t[79]=te,t[80]=W,t[81]=ne,t[82]=G,t[83]=oe,t[84]=K):K=t[84];let q;t[85]!==r||t[86]!==e.onArchiveWorktree||t[87]!==e.onCopyWorktreePath||t[88]!==e.onDeleteWorktree||t[89]!==e.onNewSession||t[90]!==e.onOpenInEditor||t[91]!==e.worktree||t[92]!==O?(q=(0,$.jsx)(Ne,{align:`start`,side:`bottom`,className:`min-w-48`,children:(0,$.jsx)(jl,{isProjectRoot:r,worktree:e.worktree,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onRenameWorktree:O})}),t[85]=r,t[86]=e.onArchiveWorktree,t[87]=e.onCopyWorktreePath,t[88]=e.onDeleteWorktree,t[89]=e.onNewSession,t[90]=e.onOpenInEditor,t[91]=e.worktree,t[92]=O,t[93]=q):q=t[93];let se;t[94]!==K||t[95]!==q?(se=(0,$.jsx)(sr,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsxs)(Se,{children:[K,q]})}),t[94]=K,t[95]=q,t[96]=se):se=t[96];let ce;t[97]===h?ce=t[98]:(ce=h?(0,$.jsx)(sr,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsx)(`div`,{className:`ml-5 flex h-6 items-center border-l border-sidebar-border/70 px-4 text-[10px] text-muted-foreground/60`,children:`No sessions yet`})}):null,t[97]=h,t[98]=ce);let le;t[99]!==e.orderedProjectThreadKeys||t[100]!==e.renderThread||t[101]!==e.resolveThreadGitStatusTarget||t[102]!==g||t[103]!==a?(le=g&&a.length>0?(0,$.jsx)(Al,{orderedProjectThreadKeys:e.orderedProjectThreadKeys,renderThread:e.renderThread,resolveThreadGitStatusTarget:e.resolveThreadGitStatusTarget,visibleThreads:a}):null,t[99]=e.orderedProjectThreadKeys,t[100]=e.renderThread,t[101]=e.resolveThreadGitStatusTarget,t[102]=g,t[103]=a,t[104]=le):le=t[104];let ue;return t[105]!==se||t[106]!==ce||t[107]!==le?(ue=(0,$.jsxs)($.Fragment,{children:[se,ce,le]}),t[105]=se,t[106]=ce,t[107]=le,t[108]=ue):ue=t[108],ue}),Al=(0,Z.memo)(function(e){let t=(0,Q.c)(11),n;t[0]!==e.resolveThreadGitStatusTarget||t[1]!==e.visibleThreads?(n=Pr(e.visibleThreads,e.resolveThreadGitStatusTarget),t[0]=e.resolveThreadGitStatusTarget,t[1]=e.visibleThreads,t[2]=n):n=t[2];let r=n,i=r.kind===`shared`?r.target.environmentId:null,a=r.kind===`shared`?r.target.cwd:null,o;t[3]!==i||t[4]!==a?(o={environmentId:i,cwd:a},t[3]=i,t[4]=a,t[5]=o):o=t[5];let s=x(o),c=r.kind===`shared`?s:r.kind===`none`?null:void 0,l;t[6]!==e||t[7]!==c?(l=e.visibleThreads.map(t=>e.renderThread(t,e.orderedProjectThreadKeys,c)),t[6]=e,t[7]=c,t[8]=l):l=t[8];let u;return t[9]===l?u=t[10]:(u=(0,$.jsx)($.Fragment,{children:l}),t[9]=l,t[10]=u),u});function jl(e){let t=(0,Q.c)(38),n;t[0]===e?n=t[1]:(n=()=>e.onNewSession(e.worktree),t[0]=e,t[1]=n);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(br,{className:`size-4`}),t[2]=r):r=t[2];let i;t[3]===n?i=t[4]:(i=(0,$.jsxs)(Ie,{onClick:n,children:[r,`New session here`]}),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(at,{className:`size-4`}),t[5]=a):a=t[5];let o;t[6]===e.onRenameWorktree?o=t[7]:(o=(0,$.jsxs)(Ie,{onClick:e.onRenameWorktree,children:[a,`Rename worktree`]}),t[6]=e.onRenameWorktree,t[7]=o);let s;t[8]===e?s=t[9]:(s=()=>e.onOpenInEditor(e.worktree),t[8]=e,t[9]=s);let c;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(on,{className:`size-4`}),t[10]=c):c=t[10];let l;t[11]===s?l=t[12]:(l=(0,$.jsxs)(Ie,{onClick:s,children:[c,`Open in editor`]}),t[11]=s,t[12]=l);let u;t[13]===e?u=t[14]:(u=()=>e.onCopyWorktreePath(e.worktree),t[13]=e,t[14]=u);let d;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(Kn,{className:`size-4`}),t[15]=d):d=t[15];let f;t[16]===u?f=t[17]:(f=(0,$.jsxs)(Ie,{onClick:u,children:[d,`Copy path`]}),t[16]=u,t[17]=f);let p;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(ze,{}),t[18]=p):p=t[18];let m;t[19]===e?m=t[20]:(m=()=>e.onArchiveWorktree(e.worktree),t[19]=e,t[20]=m);let h;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(An,{className:`size-4`}),t[21]=h):h=t[21];let g;t[22]!==e.isProjectRoot||t[23]!==m?(g=(0,$.jsxs)(Ie,{disabled:e.isProjectRoot,onClick:m,children:[h,`Archive worktree`]}),t[22]=e.isProjectRoot,t[23]=m,t[24]=g):g=t[24];let _;t[25]===e?_=t[26]:(_=()=>e.onDeleteWorktree(e.worktree),t[25]=e,t[26]=_);let v;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(xr,{className:`size-4`}),t[27]=v):v=t[27];let y;t[28]!==e.isProjectRoot||t[29]!==_?(y=(0,$.jsxs)(Ie,{disabled:e.isProjectRoot,variant:`destructive`,onClick:_,children:[v,`Delete worktree`]}),t[28]=e.isProjectRoot,t[29]=_,t[30]=y):y=t[30];let b;return t[31]!==f||t[32]!==g||t[33]!==y||t[34]!==i||t[35]!==o||t[36]!==l?(b=(0,$.jsxs)($.Fragment,{children:[i,o,l,f,p,g,y]}),t[31]=f,t[32]=g,t[33]=y,t[34]=i,t[35]=o,t[36]=l,t[37]=b):b=t[37],b}function Ml(e){let t=(0,Q.c)(15),n=`Worktree actions for ${e.worktree.worktree.branch}`,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(Jt,{className:`size-3.5`}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=(0,$.jsx)(Ue,{className:`inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/55 opacity-0 transition-opacity hover:bg-secondary hover:text-foreground group-hover/worktree:opacity-100 group-focus-within/worktree:opacity-100 max-sm:opacity-100`,onClick:Nl,"aria-label":n,children:r}),t[1]=n,t[2]=i);let a;t[3]!==e.isProjectRoot||t[4]!==e.onArchiveWorktree||t[5]!==e.onCopyWorktreePath||t[6]!==e.onDeleteWorktree||t[7]!==e.onNewSession||t[8]!==e.onOpenInEditor||t[9]!==e.onRenameWorktree||t[10]!==e.worktree?(a=(0,$.jsx)(Ge,{align:`end`,side:`bottom`,className:`min-w-48`,children:(0,$.jsx)(jl,{isProjectRoot:e.isProjectRoot,worktree:e.worktree,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onRenameWorktree:e.onRenameWorktree})}),t[3]=e.isProjectRoot,t[4]=e.onArchiveWorktree,t[5]=e.onCopyWorktreePath,t[6]=e.onDeleteWorktree,t[7]=e.onNewSession,t[8]=e.onOpenInEditor,t[9]=e.onRenameWorktree,t[10]=e.worktree,t[11]=a):a=t[11];let o;return t[12]!==i||t[13]!==a?(o=(0,$.jsxs)(Pe,{children:[i,a]}),t[12]=i,t[13]=a,t[14]=o):o=t[14],o}function Nl(e){e.preventDefault(),e.stopPropagation()}function Pl(e){let t=(0,Q.c)(2),{worktree:n}=e,r=n.worktree.origin;if(r===`main`||r===`branch`||r===`pr`&&n.worktree.prNumber!=null||r===`issue`&&n.worktree.issueNumber!=null)return null;let i=r===`pr`?`PR`:r===`issue`?`Issue`:`Manual`,a;return t[0]===i?a=t[1]:(a=(0,$.jsx)(`span`,{className:`shrink-0 rounded-sm bg-muted px-1 py-0.5 text-[10px] text-muted-foreground`,children:i}),t[0]=i,t[1]=a),a}function Fl(e){return e.worktree.title??e.worktree.branch}function Il(e,t){return e.origin===`main`||e.worktreePath===null?!0:il(e.worktreePath)===il(t)}function Ll(e){let t=(0,Q.c)(3),{worktree:n}=e;if(!n.diffStats)return null;let r;return t[0]!==n.diffStats.added||t[1]!==n.diffStats.removed?(r=(0,$.jsxs)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/70`,children:[`+`,n.diffStats.added,` / -`,n.diffStats.removed]}),t[0]=n.diffStats.added,t[1]=n.diffStats.removed,t[2]=r):r=t[2],r}function Rl(e,t){return e.worktrees.flatMap(e=>e.sessions.filter(e=>Bl(e,t)).map(e=>c(p(e.environmentId,e.id))))}function zl(e,t){return e.sessions.filter(e=>Bl(e,t))}function Bl(e,t){return e.archivedAt===null?t?t.has(c(p(e.environmentId,e.id))):!0:!1}function Vl(e){return!e}function Hl(e){return e.stopPropagation()}function Ul(e){return e.stopPropagation()}var Wl=new Set([`idle`,`in_progress`,`review`,`done`]),Gl=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function Kl(e){let t=e.project.projectKey,n={...e.project,id:t},r=e.threads.map(n=>Xl({lastVisitedAt:e.lastVisitedAtByThreadKey?.get(c(p(n.environmentId,n.id)))??null,logicalProjectId:t,thread:n})),i=Ql(e.project,t,e.worktrees??[]),a=nu({logicalProjectId:t,project:e.project,threads:r}),o=new Map;for(let e of[...a,...i])o.set(e.worktreeId,e);return{project:n,threads:r,worktrees:[...o.values()]}}function ql(e){let t=Jl(e),n=e.projectKey,r=[],i=[];return e=>{let a=[];for(let[n,r]of Object.entries(e.draftThreadsByThreadKey))Yl(r,t)&&a.push([n,r]);return a.length===r.length&&a.every((e,t)=>{let n=r[t];return n?.[0]===e[0]&&n[1]===e[1]})?i:(r=a,i=a.map(([e,t])=>Zl({draftId:e,logicalProjectId:n,draftThread:t})),i)}}function Jl(e){return new Set(e.memberProjects.map(e=>u(d(e.environmentId,e.id))))}function Yl(e,t){return e.promotedTo==null?t.has(u(d(e.environmentId,e.projectId))):!1}function Xl(e){let t=e.thread,n=lu(t.statusPill)||t.statusPill===null?t.statusPill:Lr({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:iu(t.manualStatusBucket)??iu(t.manualBucket)??iu(t.statusBucket)??null,sourceProjectId:e.thread.projectId,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function Zl(e){return{archivedAt:null,branch:e.draftThread.branch,createdAt:e.draftThread.createdAt,draftId:e.draftId,environmentId:e.draftThread.environmentId,hasActionableProposedPlan:!1,hasPendingApprovals:!1,hasPendingUserInput:!1,id:e.draftThread.threadId,interactionMode:e.draftThread.interactionMode??`default`,tokenMode:e.draftThread.tokenMode??`balanced`,latestTurn:null,latestUserMessageAt:null,manualStatusBucket:null,projectId:e.logicalProjectId,session:null,sourceProjectId:e.draftThread.projectId,statusPill:null,title:`Empty Session`,updatedAt:e.draftThread.createdAt,worktreePath:e.draftThread.worktreePath}}function Ql(e,t,n){let r=[...n],i=[e,...e.memberProjects];for(let e of i){let t=e;if(Array.isArray(t.worktrees))for(let e of t.worktrees)r.push(e);if(Array.isArray(t.sidebarWorktrees))for(let e of t.sidebarWorktrees)r.push(e)}return r.flatMap((e,n)=>{if(!e||typeof e!=`object`)return[];let r=e,i=ou(r.branch);if(!i)return[];let a=su(r.worktreePath),o=au(r.origin)??(a===null?`main`:`manual`),s=ou(r.worktreeId)??ou(r.id)??ru({branch:i,fallbackIndex:n,origin:o,projectId:t,worktreePath:a});return[{archivedAt:su(r.archivedAt),branch:i,issueNumber:cu(r.issueNumber),manualPosition:cu(r.manualPosition),origin:o,prNumber:cu(r.prNumber),prState:$l(r.prState),prIsDraft:tu(r.prIsDraft),issueState:eu(r.issueState),projectId:t,title:su(r.title),updatedAt:ou(r.updatedAt),worktreeId:s,worktreePath:a}]})}function $l(e){return e===`open`||e===`closed`||e===`merged`?e:null}function eu(e){return e===`open`||e===`closed`?e:null}function tu(e){return typeof e==`boolean`?e:null}function nu(e){let t=new Map,n=(n,r)=>{let i=n?.worktreePath??null,a=n?.branch??(i===null?`main`:uu(i)),o=i===null?`main`:`branch`,s=n?.worktreeId??ru({branch:a,fallbackIndex:r,origin:o,projectId:e.logicalProjectId,worktreePath:i}),c=t.get(s),l=n?.updatedAt??n?.createdAt??e.project.updatedAt;if(c){t.set(s,{...c,updatedAt:du(c.updatedAt,l)});return}t.set(s,{archivedAt:null,branch:a,manualPosition:i===null?0:r+1,origin:o,projectId:e.logicalProjectId,title:null,updatedAt:l,worktreeId:s,worktreePath:i})};return n(null,0),e.threads.forEach((e,t)=>n(e,t)),[...t.values()]}function ru(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.projectId}:${t||e.fallbackIndex}`}function iu(e){return typeof e==`string`&&Wl.has(e)?e:null}function au(e){return typeof e==`string`&&Gl.has(e)?e:null}function ou(e){return typeof e==`string`&&e.length>0?e:void 0}function su(e){return typeof e==`string`&&e.length>0?e:null}function cu(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function lu(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.label==`string`&&typeof t.colorClass==`string`&&typeof t.dotClass==`string`&&typeof t.pulse==`boolean`}function uu(e){return e?e.split(/[\\/]/).findLast(e=>e.length>0)??e:`worktree`}function du(e,t){if(!e)return t;if(!t)return e;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)?t:Number.isNaN(r)?e:r>n?t:e}function fu(e){let t=(0,Q.c)(3),n;return t[0]!==e.cwd||t[1]!==e.environmentId?(n=(0,$.jsx)(Ye,{environmentId:e.environmentId,cwd:e.cwd,title:`Actions`,description:`Recent GitHub Actions workflow runs grouped by pull request or branch.`,groupRunsBySource:!0}),t[0]=e.cwd,t[1]=e.environmentId,t[2]=n):n=t[2],n}var pu={all:[`workItems`],projectLink:(e,t)=>[`workItems`,`projectLink`,e??null,t??null],list:(e,t,n,r)=>[`workItems`,e??null,t??null,`list`,n,r??null],search:(e,t,n,r)=>[`workItems`,e??null,t??null,`search`,n,r??null],detail:(e,t,n,r=!1)=>[`workItems`,e??null,t??null,`detail`,n,r?`full`:`truncated`]};function mu(e){return q({queryKey:pu.list(e.environmentId,e.projectId,e.state,e.limit),queryFn:async()=>{if(!e.environmentId||!e.projectId)throw Error(`Jira work items are unavailable.`);return H(e.environmentId).client.workItems.list({projectId:e.projectId,state:e.state,...e.limit===void 0?{}:{limit:e.limit}})},enabled:(e.enabled??!0)&&e.environmentId!==null&&e.projectId!==null,staleTime:6e4})}function hu(e){return q({queryKey:pu.search(e.environmentId,e.projectId,e.query,e.limit),queryFn:async()=>{if(!e.environmentId||!e.projectId||e.query.trim().length===0)throw Error(`Jira work item search is unavailable.`);return H(e.environmentId).client.workItems.search({projectId:e.projectId,query:e.query.trim(),...e.limit===void 0?{}:{limit:e.limit}})},enabled:(e.enabled??!0)&&e.environmentId!==null&&e.projectId!==null&&e.query.trim().length>0,staleTime:3e4})}function gu(e){return q({queryKey:pu.detail(e.environmentId,e.projectId,e.key,e.fullContent??!1),queryFn:async()=>{if(!e.environmentId||!e.projectId||e.key.trim().length===0)throw Error(`Jira work item detail is unavailable.`);return H(e.environmentId).client.workItems.get({projectId:e.projectId,key:e.key,fullContent:e.fullContent??!1})},enabled:(e.enabled??!0)&&e.environmentId!==null&&e.projectId!==null&&e.key.trim().length>0,staleTime:6e4})}var _u=new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`long`,day:`numeric`});function vu(e){let t=(0,Q.c)(70),n=qe(),[r,i]=(0,Z.useState)(``),a;t[0]!==e.environmentId||t[1]!==e.projectId||t[2]!==e.workItemKey?(a=gu({environmentId:e.environmentId,projectId:e.projectId,key:e.workItemKey,fullContent:!0}),t[0]=e.environmentId,t[1]=e.projectId,t[2]=e.workItemKey,t[3]=a):a=t[3];let o=Pt(a),s=e.cwd!==null,c;t[4]!==e.cwd||t[5]!==e.environmentId||t[6]!==e.workItemKey||t[7]!==s?(c=Xt({environmentId:e.environmentId,cwd:e.cwd,query:e.workItemKey,limit:8,enabled:s}),t[4]=e.cwd,t[5]=e.environmentId,t[6]=e.workItemKey,t[7]=s,t[8]=c):c=t[8];let l=Pt(c),u;t[9]!==e.environmentId||t[10]!==e.projectId||t[11]!==e.workItemKey||t[12]!==n?(u=()=>n.invalidateQueries({queryKey:pu.detail(e.environmentId,e.projectId,e.workItemKey,!0)}),t[9]=e.environmentId,t[10]=e.projectId,t[11]=e.workItemKey,t[12]=n,t[13]=u):u=t[13];let d=u,f;t[14]!==r||t[15]!==e.environmentId||t[16]!==e.projectId||t[17]!==e.workItemKey?(f=async()=>{if(!e.environmentId||!e.projectId||r.trim().length===0)throw Error(`Cannot add an empty Jira comment.`);return H(e.environmentId).client.workItems.addComment({projectId:e.projectId,key:e.workItemKey,body:r.trim()})},t[14]=r,t[15]=e.environmentId,t[16]=e.projectId,t[17]=e.workItemKey,t[18]=f):f=t[18];let p;t[19]!==d||t[20]!==n?(p=()=>{i(``),d(),n.invalidateQueries({queryKey:pu.all})},t[19]=d,t[20]=n,t[21]=p):p=t[21];let m;t[22]!==f||t[23]!==p?(m={mutationFn:f,onSuccess:p,onError:bu},t[22]=f,t[23]=p,t[24]=m):m=t[24];let h=cn(m),g;t[25]!==e.environmentId||t[26]!==e.projectId||t[27]!==e.workItemKey?(g=async t=>{if(!e.environmentId||!e.projectId)throw Error(`Cannot transition this Jira work item.`);return H(e.environmentId).client.workItems.transition({projectId:e.projectId,key:e.workItemKey,transitionId:t})},t[25]=e.environmentId,t[26]=e.projectId,t[27]=e.workItemKey,t[28]=g):g=t[28];let _;t[29]!==d||t[30]!==n?(_=()=>{d(),n.invalidateQueries({queryKey:pu.all})},t[29]=d,t[30]=n,t[31]=_):_=t[31];let v;t[32]!==g||t[33]!==_?(v={mutationFn:g,onSuccess:_,onError:yu},t[32]=g,t[33]=_,t[34]=v):v=t[34];let y=cn(v),b=o.data;b?.linkedChangeRequests;let x;t[35]===b?.linkedChangeRequests?x=t[36]:(x=b?.linkedChangeRequests??[],t[35]=b?.linkedChangeRequests,t[36]=x);let S;t[37]===l.data?S=t[38]:(S=l.data??[],t[37]=l.data,t[38]=S);let C;t[39]!==e.workItemKey||t[40]!==x||t[41]!==S?(C=xu(x,S,e.workItemKey),t[39]=e.workItemKey,t[40]=x,t[41]=S,t[42]=C):C=t[42];let w=C,T;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(Gt,{className:`size-3.5`}),t[43]=T):T=t[43];let E;t[44]===e.onBack?E=t[45]:(E=(0,$.jsxs)(we,{type:`button`,size:`sm`,variant:`ghost`,onClick:e.onBack,children:[T,`Back`]}),t[44]=e.onBack,t[45]=E);let D;t[46]===b?D=t[47]:(D=b?(0,$.jsxs)(`a`,{href:b.url,target:`_blank`,rel:`noopener noreferrer`,className:`ml-auto inline-flex items-center gap-1 text-muted-foreground text-xs hover:text-foreground`,children:[(0,$.jsx)(on,{className:`size-3`}),`View in Jira`]}):null,t[46]=b,t[47]=D);let O;t[48]!==E||t[49]!==D?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-border/60 border-b py-2 pr-12 pl-4`,children:[E,D]}),t[48]=E,t[49]=D,t[50]=O):O=t[50];let k;t[51]!==b||t[52]!==o.error||t[53]!==o.isError||t[54]!==o.isLoading||t[55]!==w||t[56]!==l.isLoading||t[57]!==e.onSelectLinkedChangeRequest?(k=o.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-4 text-muted-foreground text-sm`,children:[(0,$.jsx)(sn,{className:`size-4`}),`Loading Jira work item…`]}):o.isError?(0,$.jsx)(`p`,{className:`px-5 py-4 text-destructive text-sm`,children:o.error instanceof Error?o.error.message:`Failed to load.`}):b?(0,$.jsx)(Su,{detail:b,linkedChangeRequests:w,linkedChangeRequestsLoading:l.isLoading,onSelectLinkedChangeRequest:e.onSelectLinkedChangeRequest}):null,t[51]=b,t[52]=o.error,t[53]=o.isError,t[54]=o.isLoading,t[55]=w,t[56]=l.isLoading,t[57]=e.onSelectLinkedChangeRequest,t[58]=k):k=t[58];let A;t[59]===k?A=t[60]:(A=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:k}),t[59]=k,t[60]=A);let j;t[61]!==h||t[62]!==r||t[63]!==b||t[64]!==y?(j=b?(0,$.jsxs)(`footer`,{className:`grid gap-3 border-border/60 border-t bg-muted/30 px-4 py-3`,children:[b.transitions.length>0?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`mr-1 text-muted-foreground text-xs`,children:`Transition`}),b.transitions.map(e=>(0,$.jsxs)(we,{type:`button`,size:`sm`,variant:`outline`,className:`h-7`,disabled:y.isPending,onClick:()=>y.mutate(e.id),children:[y.isPending?(0,$.jsx)(sn,{className:`size-3`}):null,e.name]},e.id))]}):null,(0,$.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row sm:items-end`,onSubmit:e=>{e.preventDefault(),!h.isPending&&r.trim().length>0&&h.mutate()},children:[(0,$.jsx)($e,{value:r,onChange:e=>i(e.currentTarget.value),placeholder:`Add a Jira comment`,className:`min-h-18 text-sm`}),(0,$.jsxs)(we,{type:`submit`,size:`sm`,className:`h-8 shrink-0`,disabled:h.isPending||r.trim().length===0,children:[h.isPending?(0,$.jsx)(sn,{className:`size-3`}):null,`Comment`]})]})]}):null,t[61]=h,t[62]=r,t[63]=b,t[64]=y,t[65]=j):j=t[65];let M;return t[66]!==O||t[67]!==A||t[68]!==j?(M=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[O,A,j]}),t[66]=O,t[67]=A,t[68]=j,t[69]=M):M=t[69],M}function yu(e){X.add(Y({type:`error`,title:`Could not transition Jira work item`,description:e instanceof Error?e.message:`The work item transition was not applied.`}))}function bu(e){X.add(Y({type:`error`,title:`Could not add Jira comment`,description:e instanceof Error?e.message:`The comment was not posted.`}))}function xu(e,t,n){let r=n.toLowerCase(),i=new Map;for(let t of e)i.set(t.number,{provider:t.provider,number:t.number,title:t.title,url:t.url,state:t.state});for(let n of t)!`${n.title} ${n.headRefName} ${n.baseRefName}`.toLowerCase().includes(r)&&e.length>0||i.set(n.number,{provider:n.provider,number:n.number,title:n.title,url:n.url,state:n.state,...n.headSha?{headSha:n.headSha}:{},...n.checkRollup?{checkRollup:n.checkRollup}:{}});return Array.from(i.values()).toSorted((e,t)=>t.number-e.number)}function Su(e){let t=(0,Q.c)(64),{detail:n}=e,r;t[0]===n.updatedAt?r=t[1]:(r=n.updatedAt&&s(n.updatedAt)?n.updatedAt.value:f(new Date),t[0]=n.updatedAt,t[1]=r);let i=r,a;t[2]===n.key?a=t[3]:(a=(0,$.jsx)(`span`,{className:`font-normal text-muted-foreground`,children:n.key}),t[2]=n.key,t[3]=a);let o;t[4]!==n.title||t[5]!==a?(o=(0,$.jsxs)(`h2`,{className:`flex-1 font-heading font-semibold text-xl leading-tight`,children:[n.title,` `,a]}),t[4]=n.title,t[5]=a,t[6]=o):o=t[6];let c=n.state===`done`||n.state===`closed`?`secondary`:`outline`,u;t[7]===n.state?u=t[8]:(u=n.state.replace(`_`,` `),t[7]=n.state,t[8]=u);let d;t[9]!==c||t[10]!==u?(d=(0,$.jsx)(Lt,{variant:c,children:u}),t[9]=c,t[10]=u,t[11]=d):d=t[11];let p;t[12]!==o||t[13]!==d?(p=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[o,d]}),t[12]=o,t[13]=d,t[14]=p):p=t[14];let m=n.issueType?n.issueType:`Work item`,h;t[15]===n.assignee?h=t[16]:(h=n.assignee?(0,$.jsxs)($.Fragment,{children:[` · assigned to `,n.assignee]}):null,t[15]=n.assignee,t[16]=h);let g;t[17]===n.updatedAt?g=t[18]:(g=n.updatedAt&&s(n.updatedAt)?(0,$.jsxs)($.Fragment,{children:[` · updated `,_u.format(l(n.updatedAt.value))]}):null,t[17]=n.updatedAt,t[18]=g);let _;t[19]!==m||t[20]!==h||t[21]!==g?(_=(0,$.jsxs)(`p`,{className:`text-muted-foreground text-xs`,children:[m,h,g]}),t[19]=m,t[20]=h,t[21]=g,t[22]=_):_=t[22];let v;t[23]!==_||t[24]!==p?(v=(0,$.jsxs)(`header`,{className:`mb-5 space-y-2`,children:[p,_]}),t[23]=_,t[24]=p,t[25]=v):v=t[25];let y=n.reporter??`Jira`,b;t[26]!==n.description||t[27]!==i||t[28]!==y?(b=(0,$.jsx)(`li`,{children:(0,$.jsx)(ot,{author:y,body:n.description,createdAt:i,isOriginalPost:!0})}),t[26]=n.description,t[27]=i,t[28]=y,t[29]=b):b=t[29];let x;t[30]===n.comments?x=t[31]:(x=n.comments.map(wu),t[30]=n.comments,t[31]=x);let S;t[32]!==b||t[33]!==x?(S=(0,$.jsxs)(`ol`,{className:`space-y-4`,children:[b,x]}),t[32]=b,t[33]=x,t[34]=S):S=t[34];let C;t[35]!==v||t[36]!==S?(C=(0,$.jsxs)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto px-5 py-4`,children:[v,S]}),t[35]=v,t[36]=S,t[37]=C):C=t[37];let w;t[38]===n.state?w=t[39]:(w=n.state.replace(`_`,` `),t[38]=n.state,t[39]=w);let T;t[40]===w?T=t[41]:(T=(0,$.jsx)(Tu,{label:`State`,value:w}),t[40]=w,t[41]=T);let E=n.assignee??`Unassigned`,D;t[42]===E?D=t[43]:(D=(0,$.jsx)(Tu,{label:`Assignee`,value:E}),t[42]=E,t[43]=D);let O=n.priority??`None`,k;t[44]===O?k=t[45]:(k=(0,$.jsx)(Tu,{label:`Priority`,value:O}),t[44]=O,t[45]=k);let A=n.parentKey??n.epicKey??`None`,j;t[46]===A?j=t[47]:(j=(0,$.jsx)(Tu,{label:`Parent`,value:A}),t[46]=A,t[47]=j);let M;t[48]===n.labels?M=t[49]:(M=n.labels&&n.labels.length>0?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`mb-2 text-muted-foreground`,children:`Labels`}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.labels.map(Cu)})]}):null,t[48]=n.labels,t[49]=M);let N;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(`div`,{className:`mb-2 text-muted-foreground`,children:`Linked PRs`}),t[50]=N):N=t[50];let P;t[51]===e?P=t[52]:(P=(0,$.jsxs)(`div`,{children:[N,e.linkedChangeRequestsLoading?(0,$.jsx)(`span`,{className:`text-muted-foreground/70 text-xs italic`,children:`Searching…`}):e.linkedChangeRequests.length>0?(0,$.jsx)(`ul`,{className:`space-y-1.5`,children:e.linkedChangeRequests.map(t=>{let n=ct(t);return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.onSelectLinkedChangeRequest?.(t.number),className:`flex w-full items-start gap-2 rounded-md border border-border/60 bg-background/60 px-2 py-1.5 text-left hover:bg-accent/50`,children:[(0,$.jsx)(ut,{className:`mt-0.5 size-3 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`span`,{className:`block truncate text-foreground text-xs`,children:[`#`,t.number,` `,t.title]}),(0,$.jsxs)(`span`,{className:`mt-1 flex items-center gap-1 text-muted-foreground text-[10px] capitalize`,children:[t.state,(0,$.jsx)(bt,{view:n,mode:`compact`})]})]})]})},t.number)})}):(0,$.jsx)(`span`,{className:`text-muted-foreground/70 text-xs italic`,children:`None found`})]}),t[51]=e,t[52]=P);let F;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-background/60 p-3`,children:[(0,$.jsx)(Ze,{className:`mb-2 size-4 text-blue-600 dark:text-blue-300`}),(0,$.jsx)(`p`,{className:`text-muted-foreground leading-relaxed`,children:`Use transitions and comments here to keep Jira aligned while reviewing repository changes.`})]}),t[53]=F):F=t[53];let I;t[54]!==T||t[55]!==D||t[56]!==k||t[57]!==j||t[58]!==M||t[59]!==P?(I=(0,$.jsx)(`aside`,{className:`hidden w-56 shrink-0 border-border/60 border-l bg-muted/20 px-4 py-4 lg:block`,children:(0,$.jsxs)(`div`,{className:`space-y-4 text-xs`,children:[T,D,k,j,M,P,F]})}),t[54]=T,t[55]=D,t[56]=k,t[57]=j,t[58]=M,t[59]=P,t[60]=I):I=t[60];let L;return t[61]!==C||t[62]!==I?(L=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0`,children:[C,I]}),t[61]=C,t[62]=I,t[63]=L):L=t[63],L}function Cu(e){return(0,$.jsx)(Lt,{variant:`outline`,size:`sm`,children:e},e)}function wu(e){return(0,$.jsx)(`li`,{children:(0,$.jsx)(ot,{author:e.author,body:e.body,createdAt:e.createdAt})},`${e.author}-${l(e.createdAt).toISOString()}`)}function Tu(e){let t=(0,Q.c)(7),n;t[0]===e.label?n=t[1]:(n=(0,$.jsx)(`div`,{className:`mb-1 text-muted-foreground`,children:e.label}),t[0]=e.label,t[1]=n);let r;t[2]===e.value?r=t[3]:(r=(0,$.jsx)(`div`,{className:`font-medium text-foreground capitalize`,children:e.value}),t[2]=e.value,t[3]=r);let i;return t[4]!==n||t[5]!==r?(i=(0,$.jsxs)(`div`,{children:[n,r]}),t[4]=n,t[5]=r,t[6]=i):i=t[6],i}var Eu=[{id:`open`,label:`Open`},{id:`in_progress`,label:`In progress`},{id:`done`,label:`Done`},{id:`all`,label:`All`}],Du=new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`short`,day:`numeric`});function Ou(e){return e.split(/[,\s]+/u).map(e=>e.trim().toUpperCase()).filter(Boolean)}function ku(e){return e??``}function Au(e){return{projectId:e.projectId,jiraConnectionId:e.jiraConnectionId,bitbucketConnectionId:e.existing?.bitbucketConnectionId??null,jiraCloudId:e.existing?.jiraCloudId??null,jiraSiteUrl:e.jiraSiteUrl,jiraProjectKeys:e.jiraProjectKeys,bitbucketWorkspace:e.existing?.bitbucketWorkspace??null,bitbucketRepoSlug:e.existing?.bitbucketRepoSlug??null,defaultIssueTypeName:e.existing?.defaultIssueTypeName??null,branchNameTemplate:e.existing?.branchNameTemplate??`{issueKey}-{titleSlug}`,commitMessageTemplate:e.existing?.commitMessageTemplate??`{issueKey}: {summary}`,pullRequestTitleTemplate:e.existing?.pullRequestTitleTemplate??`{issueKey}: {summary}`,smartLinkingEnabled:e.existing?.smartLinkingEnabled??!0,autoAttachWorkItems:e.existing?.autoAttachWorkItems??!0}}function ju(e){let t=qe(),[n]=hn(e.query,{wait:200}),r=(e.environmentId===null?null:re(e.environmentId))?.client??null,i=Pt({queryKey:pu.projectLink(e.environmentId,e.projectId),queryFn:async()=>!r||!e.projectId?null:r.atlassian.getProjectLink({projectId:e.projectId}),enabled:r!==null&&e.projectId!==null}),a=Pt({queryKey:[`atlassian`,`connections`,e.environmentId],queryFn:async()=>r?r.atlassian.listConnections():[],enabled:r!==null}),o=(0,Z.useMemo)(()=>(a.data??[]).filter(e=>e.status===`connected`&&e.products.includes(`jira`)),[a.data]),s=i.data??null,c=s?.jiraConnectionId!==null&&s?.jiraConnectionId!==void 0&&s?.jiraSiteUrl!==null&&s?.jiraSiteUrl!==void 0&&s.jiraProjectKeys.length>0,l=Pt(mu({environmentId:e.environmentId,projectId:e.projectId,state:e.stateFilter,limit:100,enabled:c})),u=(0,Z.useMemo)(()=>l.data??[],[l.data]),d=(0,Z.useMemo)(()=>{let t=e.query.trim().toLowerCase();return t?u.filter(e=>e.key.toLowerCase().includes(t)||e.title.toLowerCase().includes(t)||(e.issueType?.toLowerCase().includes(t)??!1)):u},[u,e.query]),f=d.length===0&&n.trim().length>=2,p=Pt(hu({environmentId:e.environmentId,projectId:e.projectId,query:n,limit:50,enabled:c&&f})),m=f?p.data??[]:d,h=i.isLoading||l.isLoading||p.isLoading,g=i.error??l.error??p.error;return(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:c?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-border/60 border-b px-4 py-2.5`,children:[(0,$.jsxs)(`div`,{className:`relative flex-1`,children:[(0,$.jsx)(vt,{className:`-translate-y-1/2 absolute top-1/2 left-2 size-3.5 text-muted-foreground`}),(0,$.jsx)(di,{ref:e.searchInputRef,value:e.query,onChange:t=>e.onQueryChange(t.target.value),placeholder:`Search Jira work items by key or title…`,className:`h-8 pl-7 text-sm`})]}),(0,$.jsx)(Mu,{value:e.stateFilter,onChange:e.onStateFilterChange}),(0,$.jsx)(we,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>l.refetch(),disabled:l.isFetching,"aria-label":`Refresh`,children:(0,$.jsx)(Ct,{className:l.isFetching?`size-3.5 animate-spin`:`size-3.5`})})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:g?(0,$.jsx)(`p`,{className:`px-4 py-6 text-destructive text-sm`,children:g instanceof Error?g.message:`Failed to load Jira work items.`}):(0,$.jsx)(Nu,{items:m,isLoading:h,emptyText:e.query.trim().length>0?`No Jira work items match this search.`:`No Jira work items to show.`,onSelect:e.onSelect})})]}):(0,$.jsx)(Pu,{environmentId:e.environmentId,projectId:e.projectId,client:r,connections:o,connectionsPending:a.isLoading,projectLink:s,onSaved:()=>{t.invalidateQueries({queryKey:pu.projectLink(e.environmentId,e.projectId)}),t.invalidateQueries({queryKey:pu.all})}})})}function Mu(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:(n=Eu.map(t=>(0,$.jsx)(`button`,{type:`button`,className:ve(`h-6 rounded-sm px-2 text-xs transition`,e.value===t.id?`bg-accent text-accent-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>e.onChange(t.id),children:t.label},t.id)),t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,$.jsx)(`div`,{className:`inline-flex rounded-md border border-border/70 bg-background p-0.5`,children:n}),t[2]=n,t[3]=r),r}function Nu(e){let t=(0,Q.c)(7);if(e.isLoading&&e.items.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:`px-4 py-8 text-center text-muted-foreground text-sm`,children:`Loading…`}),t[0]=e):e=t[0],e}if(e.items.length===0){let n;return t[1]===e.emptyText?n=t[2]:(n=(0,$.jsx)(`div`,{className:`px-4 py-8 text-center text-muted-foreground text-sm`,children:e.emptyText}),t[1]=e.emptyText,t[2]=n),n}let n;t[3]===e?n=t[4]:(n=e.items.map(t=>(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.onSelect(t),className:ve(`flex w-full items-start gap-3 px-4 py-3 text-left`,`hover:bg-accent/40 focus-visible:bg-accent/60 focus-visible:outline-none`),children:[(0,$.jsx)(Ze,{className:`mt-0.5 size-4 shrink-0 text-blue-600 dark:text-blue-300`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:t.key}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium text-sm`,children:t.title}),(0,$.jsx)(Lt,{variant:t.state===`done`||t.state===`closed`?`secondary`:`outline`,size:`sm`,children:t.state.replace(`_`,` `)})]}),(0,$.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1.5 text-muted-foreground text-xs`,children:[t.issueType?(0,$.jsx)(`span`,{children:t.issueType}):null,t.assignee?(0,$.jsxs)(`span`,{children:[`assigned to `,t.assignee]}):null,t.priority?(0,$.jsx)(`span`,{children:t.priority}):null,t.updatedAt&&s(t.updatedAt)?(0,$.jsx)(`span`,{className:`ml-auto`,children:Du.format(l(t.updatedAt.value))}):null]})]})]})},`${t.provider}:${t.key}`)),t[3]=e,t[4]=n);let r;return t[5]===n?r=t[6]:(r=(0,$.jsx)(`ul`,{role:`listbox`,className:`divide-y divide-border/40`,children:n}),t[5]=n,t[6]=r),r}function Pu(e){let t=(0,Q.c)(40),[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(``),c=(0,Z.useRef)(!1),l=(0,Z.useRef)(null),u;t[0]!==e.connections||t[1]!==e.projectId||t[2]!==e.projectLink?.jiraConnectionId||t[3]!==e.projectLink?.jiraProjectKeys||t[4]!==e.projectLink?.jiraSiteUrl?(u=()=>{if(l.current!==e.projectId&&(l.current=e.projectId,c.current=!1),c.current)return;let t=e.connections[0];r(ku(e.projectLink?.jiraConnectionId??t?.connectionId)),a(e.projectLink?.jiraSiteUrl??t?.baseUrl??``),s(e.projectLink?.jiraProjectKeys.join(`, `)??``)},t[0]=e.connections,t[1]=e.projectId,t[2]=e.projectLink?.jiraConnectionId,t[3]=e.projectLink?.jiraProjectKeys,t[4]=e.projectLink?.jiraSiteUrl,t[5]=u):u=t[5];let d;t[6]!==e.connections||t[7]!==e.projectId||t[8]!==e.projectLink?(d=[e.connections,e.projectId,e.projectLink],t[6]=e.connections,t[7]=e.projectId,t[8]=e.projectLink,t[9]=d):d=t[9],(0,Z.useEffect)(u,d);let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{c.current=!0},t[10]=f):f=t[10];let p=f,m;t[11]!==n||t[12]!==o||t[13]!==e.client||t[14]!==e.projectId||t[15]!==e.projectLink||t[16]!==i?(m=async()=>{if(!e.client||!e.projectId)throw Error(`No project connection is available.`);let t=n.trim(),r=Ou(o);if(!t||i.trim().length===0||r.length===0)throw Error(`Select a Jira connection, site URL, and at least one project key.`);return e.client.atlassian.saveProjectLink(Au({projectId:e.projectId,existing:e.projectLink,jiraConnectionId:t,jiraSiteUrl:i.trim(),jiraProjectKeys:r}))},t[11]=n,t[12]=o,t[13]=e.client,t[14]=e.projectId,t[15]=e.projectLink,t[16]=i,t[17]=m):m=t[17];let h;t[18]===e?h=t[19]:(h=()=>{c.current=!1,e.onSaved(),X.add(Y({type:`success`,title:`Jira project linked`,description:`Work items will now load in the project explorer.`}))},t[18]=e,t[19]=h);let g;t[20]!==m||t[21]!==h?(g={mutationFn:m,onSuccess:h,onError:Iu},t[20]=m,t[21]=h,t[22]=g):g=t[22];let _=cn(g),v;t[23]!==n||t[24]!==o||t[25]!==e.client||t[26]!==e.projectId||t[27]!==_||t[28]!==i?(v=e.client!==null&&e.projectId!==null&&n.trim().length>0&&i.trim().length>0&&Ou(o).length>0&&!_.isPending,t[23]=n,t[24]=o,t[25]=e.client,t[26]=e.projectId,t[27]=_,t[28]=i,t[29]=v):v=t[29];let y=v,b;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(`div`,{className:`flex size-9 items-center justify-center rounded-md border border-border/70 bg-muted/50`,children:(0,$.jsx)(Ze,{className:`size-4 text-blue-600 dark:text-blue-300`})}),t[30]=b):b=t[30];let x;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[b,(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`font-semibold text-sm`,children:`Link this project to Jira`}),(0,$.jsx)(`p`,{className:`mt-1 text-muted-foreground text-xs leading-relaxed`,children:`Save a Jira token in Source Control settings, then choose the Jira site and project keys that belong to this repository.`})]})]}),t[31]=x):x=t[31];let S;return t[32]!==y||t[33]!==n||t[34]!==o||t[35]!==e.connections||t[36]!==e.connectionsPending||t[37]!==_||t[38]!==i?(S=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-5`,children:(0,$.jsxs)(`div`,{className:`mx-auto max-w-xl space-y-4`,children:[x,e.connectionsPending?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/70 px-3 py-3 text-muted-foreground text-sm`,children:[(0,$.jsx)(sn,{className:`size-4`}),`Loading Jira connections…`]}):e.connections.length===0?(0,$.jsx)(`div`,{className:`rounded-md border border-border/70 px-3 py-3 text-muted-foreground text-sm`,children:`No Jira token is stored yet. Add one from Settings, Source Control, Atlassian Workflow.`}):(0,$.jsxs)(`form`,{className:`grid gap-3`,onSubmit:e=>{e.preventDefault(),y&&_.mutate()},children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(zt,{className:`text-xs`,children:`Jira connection`}),(0,$.jsxs)(Rt,{value:n,onValueChange:e=>{typeof e==`string`&&(p(),r(e))},children:[(0,$.jsx)(fn,{size:`sm`,children:(0,$.jsx)(gt,{placeholder:`Select Jira connection`})}),(0,$.jsx)(Mt,{children:e.connections.map(Fu)})]})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(zt,{htmlFor:`work-item-jira-site`,className:`text-xs`,children:`Jira site URL`}),(0,$.jsx)(di,{id:`work-item-jira-site`,size:`sm`,value:i,inputMode:`url`,onChange:e=>{p(),a(e.currentTarget.value)},placeholder:`https://your-team.atlassian.net`})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(zt,{htmlFor:`work-item-jira-project-keys`,className:`text-xs`,children:`Project keys`}),(0,$.jsx)(di,{id:`work-item-jira-project-keys`,size:`sm`,value:o,onChange:e=>{p(),s(e.currentTarget.value)},placeholder:`WEB, API`})]}),(0,$.jsxs)(we,{type:`submit`,size:`sm`,className:`h-8 justify-self-start`,disabled:!y,children:[_.isPending?(0,$.jsx)(sn,{className:`size-3.5`}):null,`Link Jira Project`]})]})]})}),t[32]=y,t[33]=n,t[34]=o,t[35]=e.connections,t[36]=e.connectionsPending,t[37]=_,t[38]=i,t[39]=S):S=t[39],S}function Fu(e){return(0,$.jsx)(mn,{value:e.connectionId,children:e.label},e.connectionId)}function Iu(e){X.add(Y({type:`error`,title:`Could not link Jira project`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function Lu(e){let t=(0,Q.c)(75),[n,r]=(0,Z.useState)(e.initialTab),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(`open`),[f,p]=(0,Z.useState)(`open`),[m,h]=(0,Z.useState)(`open`),[g,_]=(0,Z.useState)(null),v;t[0]===e.memberProjects[0]?.physicalProjectKey?v=t[1]:(v=()=>e.memberProjects[0]?.physicalProjectKey??``,t[0]=e.memberProjects[0]?.physicalProjectKey,t[1]=v);let[y,b]=(0,Z.useState)(v),x=(0,Z.useRef)(null),S=(0,Z.useRef)(null),C=(0,Z.useRef)(null),w=(0,Z.useRef)(e.open),T=(0,Z.useRef)(e.initialTab),E;t[2]===e.memberProjects?E=t[3]:(E=e.memberProjects.map(zu),t[2]=e.memberProjects,t[3]=E);let D=E,O;t[4]===D?O=t[5]:(O=D.join(`\0`),t[4]=D,t[5]=O);let k=O,A=D[0]??``,j;t[6]!==e.memberProjects||t[7]!==y?(j=e.memberProjects.find(e=>e.physicalProjectKey===y)??e.memberProjects[0]??null,t[6]=e.memberProjects,t[7]=y,t[8]=j):j=t[8];let M=j,N,P;t[9]===e.open?(N=t[10],P=t[11]):(N=()=>{e.open||_(null)},P=[e.open],t[9]=e.open,t[10]=N,t[11]=P),(0,Z.useEffect)(N,P);let F,I;t[12]!==A||t[13]!==D||t[14]!==e.initialTab||t[15]!==e.open?(F=()=>{let t=w.current,n=T.current;w.current=e.open,T.current=e.initialTab,e.open&&(!t||e.initialTab!==n)&&(r(e.initialTab),_(null),b(e=>D.includes(e)?e:A))},I=[A,D,e.initialTab,e.open],t[12]=A,t[13]=D,t[14]=e.initialTab,t[15]=e.open,t[16]=F,t[17]=I):(F=t[16],I=t[17]),(0,Z.useEffect)(F,I);let L;t[18]!==A||t[19]!==D||t[20]!==e.open?(L=()=>{e.open&&b(e=>D.includes(e)?e:A)},t[18]=A,t[19]=D,t[20]=e.open,t[21]=L):L=t[21];let R;t[22]!==A||t[23]!==k||t[24]!==D||t[25]!==e.open?(R=[A,k,D,e.open],t[22]=A,t[23]=k,t[24]=D,t[25]=e.open,t[26]=R):R=t[26],(0,Z.useEffect)(L,R);let ee,z;t[27]!==n||t[28]!==e.open||t[29]!==g?(ee=()=>{if(!e.open||g!==null)return;let t=window.requestAnimationFrame(()=>{(n===`issues`?x.current:n===`prs`?S.current:n===`workItems`?C.current:null)?.focus()});return()=>window.cancelAnimationFrame(t)},z=[e.open,n,g],t[27]=n,t[28]=e.open,t[29]=g,t[30]=ee,t[31]=z):(ee=t[30],z=t[31]),(0,Z.useEffect)(ee,z);let B;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(B=e=>{_({kind:`issue`,number:e.number})},t[32]=B):B=t[32];let V=B,H;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>{_({kind:`pr`,number:e.number})},t[33]=H):H=t[33];let U=H,te;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(te=e=>{_({kind:`workItem`,key:e.key})},t[34]=te):te=t[34];let W=te,ne;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(ne=e=>{r(`issues`),_({kind:`issue`,number:e})},t[35]=ne):ne=t[35];let re=ne,ie;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(ie=e=>{r(`prs`),_({kind:`pr`,number:e})},t[36]=ie):ie=t[36];let ae=ie,G;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(G=e=>{r(`workItems`),_({kind:`workItem`,key:e})},t[37]=G):G=t[37];let oe=G,K;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>_(null),t[38]=K):K=t[38];let q=K,se;t[39]===n?se=t[40]:(se=e=>{if(!oi({currentTarget:e.currentTarget,target:e.target})&&!ni(e.target)){if(ri(e,`1`)){e.preventDefault(),r(`issues`),_(null);return}if(ri(e,`2`)){e.preventDefault(),r(`prs`),_(null);return}if(ri(e,`3`)){e.preventDefault(),r(`actions`),_(null);return}if((e.metaKey||e.ctrlKey)&&e.key===`4`){e.preventDefault(),r(`workItems`),_(null);return}e.key===`/`&&ci(e)&&(e.preventDefault(),(n===`issues`?x.current:n===`prs`?S.current:n===`workItems`?C.current:null)?.focus())}},t[39]=n,t[40]=se);let ce=se,le;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(le={id:`issues`,label:`Issues`},t[41]=le):le=t[41];let ue;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(ue={id:`prs`,label:`Pull requests`},t[42]=ue):ue=t[42];let J;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(J={id:`actions`,label:`Actions`},t[43]=J):J=t[43];let de;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(de=[le,ue,J,{id:`workItems`,label:`Jira`}],t[44]=de):de=t[44];let fe=de,pe=n===`issues`?`Issues`:n===`prs`?`Pull requests`:n===`actions`?`Actions`:`Jira`,me=`${e.projectName} · ${pe}`,he=e.memberProjects.length>1&&M!==null,ge=M?.environmentId??null,_e=M?.cwd??null,ve;t[45]===me?ve=t[46]:(ve=(0,$.jsx)(Ht,{className:`truncate text-base`,children:me}),t[45]=me,t[46]=ve);let ye;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(`span`,{className:`shrink-0 text-muted-foreground text-xs`,children:`⌘1 issues · ⌘2 PRs · ⌘3 Actions · ⌘4 Jira · / focus search · Esc close`}),t[47]=ye):ye=t[47];let be;t[48]===ve?be=t[49]:(be=(0,$.jsxs)(`header`,{className:`flex items-center justify-between border-border/60 border-b py-3 pl-5 pr-14`,children:[ve,ye]}),t[48]=ve,t[49]=be);let xe;t[50]!==e.memberProjects||t[51]!==y||t[52]!==he?(xe=he?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-border/60 border-b px-5 py-2`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Repository`}),(0,$.jsxs)(Rt,{value:y,onValueChange:e=>{typeof e==`string`&&b(e)},children:[(0,$.jsx)(fn,{size:`sm`,className:`min-w-56`,children:(0,$.jsx)(gt,{placeholder:`Select a repository`})}),(0,$.jsx)(Mt,{children:e.memberProjects.map(Ru)})]})]}):null,t[50]=e.memberProjects,t[51]=y,t[52]=he,t[53]=xe):xe=t[53];let Se;t[54]!==n||t[55]!==_e||t[56]!==ge||t[57]!==i||t[58]!==u||t[59]!==o||t[60]!==f||t[61]!==M?.id||t[62]!==g||t[63]!==c||t[64]!==m?(Se=g===null?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Bt,{tabs:fe,activeId:n,onSelect:e=>r(e)}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:n===`issues`?(0,$.jsx)(ln,{environmentId:ge,cwd:_e,searchInputRef:x,query:i,onQueryChange:a,stateFilter:u,onStateFilterChange:d,onSelect:V}):n===`prs`?(0,$.jsx)(Ot,{environmentId:ge,cwd:_e,searchInputRef:S,query:o,onQueryChange:s,stateFilter:f,onStateFilterChange:p,onSelect:U}):n===`actions`?(0,$.jsx)(fu,{environmentId:ge,cwd:_e}):(0,$.jsx)(ju,{environmentId:ge,projectId:M?.id??null,searchInputRef:C,query:c,onQueryChange:l,stateFilter:m,onStateFilterChange:h,onSelect:W})})]}):g.kind===`issue`?(0,$.jsx)(dt,{environmentId:ge,cwd:_e,issueNumber:g.number,onBack:q,onSelectLinkedChangeRequest:ae}):g.kind===`pr`?(0,$.jsx)(Ut,{environmentId:ge,cwd:_e,pullRequestNumber:g.number,onBack:q,onSelectLinkedIssue:re,onSelectLinkedWorkItem:oe}):(0,$.jsx)(vu,{environmentId:ge,projectId:M?.id??null,cwd:_e,workItemKey:g.key,onBack:q,onSelectLinkedChangeRequest:ae}),t[54]=n,t[55]=_e,t[56]=ge,t[57]=i,t[58]=u,t[59]=o,t[60]=f,t[61]=M?.id,t[62]=g,t[63]=c,t[64]=m,t[65]=Se):Se=t[65];let Ce;t[66]!==ce||t[67]!==be||t[68]!==xe||t[69]!==Se?(Ce=(0,$.jsxs)(Xe,{className:`project-glass-surface flex h-[88vh] max-h-[1060px] w-[90vw] max-w-[1340px] flex-col p-0 max-sm:h-[100dvh] max-sm:w-screen`,onKeyDown:ce,surface:`glass`,children:[be,xe,Se]}),t[66]=ce,t[67]=be,t[68]=xe,t[69]=Se,t[70]=Ce):Ce=t[70];let we;return t[71]!==e.onOpenChange||t[72]!==e.open||t[73]!==Ce?(we=(0,$.jsx)(dn,{open:e.open,onOpenChange:e.onOpenChange,children:Ce}),t[71]=e.onOpenChange,t[72]=e.open,t[73]=Ce,t[74]=we):we=t[74],we}function Ru(e){return(0,$.jsx)(mn,{value:e.physicalProjectKey,children:(0,$.jsxs)(`span`,{className:`truncate`,children:[e.name,e.environmentLabel?(0,$.jsxs)(`span`,{className:`ml-1 text-muted-foreground`,children:[`· `,e.environmentLabel]}):null]})},e.physicalProjectKey)}function zu(e){return e.physicalProjectKey}function Bu(e){let t=new Map;for(let n of e.projects)t.set(pe(n),L(n,e.settings));return t}function Vu(e){let t=new Map;for(let n of e.projects){let r=L(n,e.settings),i={...n,physicalProjectKey:pe(n),environmentLabel:Vt({environmentId:n.environmentId,label:e.resolveEnvironmentLabel(n.environmentId)})},a=t.get(r);a?a.push(i):t.set(r,[i])}let n=[],r=new Set;for(let i of e.projects){let a=L(i,e.settings);if(r.has(a))continue;r.add(a);let o=t.get(a)??[],s=(e.primaryEnvironmentId?o.find(t=>t.environmentId===e.primaryEnvironmentId):null)??o[0];if(!s)continue;let c=e.primaryEnvironmentId!==null&&o.some(t=>t.environmentId===e.primaryEnvironmentId),l=e.primaryEnvironmentId===null?!1:o.some(t=>t.environmentId!==e.primaryEnvironmentId),u=o.filter(t=>e.primaryEnvironmentId!==null&&t.environmentId!==e.primaryEnvironmentId).flatMap(e=>e.environmentLabel?[e.environmentLabel]:[]).filter((e,t,n)=>n.indexOf(e)===t);n.push({...s,projectKey:a,displayName:o.length>1?ee({representative:s,members:o}):s.name,groupedProjectCount:o.length,environmentPresence:c&&l?`mixed`:l?`remote-only`:`local-only`,memberProjects:o,memberProjectRefs:o.map(e=>d(e.environmentId,e.id)),remoteEnvironmentLabels:u})}return n}function Hu(e){let t=[];for(let n of e.projectFolderOrder)e.projectFoldersById[n]!==void 0&&!t.includes(n)&&t.push(n);for(let n of Object.keys(e.projectFoldersById))t.includes(n)||t.push(n);return t}function Uu(e,t,n){let r=new Set(e.memberProjects.map(e=>e.physicalProjectKey));for(let e of Hu({projectFoldersById:t,projectFolderOrder:n})){let n=t[e];if(n&&n.projectKeys.some(e=>r.has(e)))return e}return null}function Wu(e){if(e.projectSortOrder!==`manual`)return[...e.projects].toSorted((t,n)=>(e.sourceIndexByProjectKey.get(t.projectKey)??0)-(e.sourceIndexByProjectKey.get(n.projectKey)??0));let t=new Map(e.folder.projectKeys.map((e,t)=>[e,t]));return[...e.projects].toSorted((n,r)=>{let i=Math.min(...n.memberProjects.map(e=>t.get(e.physicalProjectKey)??1/0))-Math.min(...r.memberProjects.map(e=>t.get(e.physicalProjectKey)??1/0));return Number.isFinite(i)&&i!==0?i:(e.sourceIndexByProjectKey.get(n.projectKey)??0)-(e.sourceIndexByProjectKey.get(r.projectKey)??0)})}function Gu(e){let t=Hu(e),n=[...e.projectTreeOrder.flatMap(t=>{let n=De(t);return n?.kind===`folder`&&e.projectFoldersById[n.folderId]!==void 0?[n.folderId]:[]}),...t].filter((e,t,n)=>n.indexOf(e)===t),r=new Map(e.projects.map(e=>[e.projectKey,e])),i=new Map(e.projects.map((e,t)=>[e.projectKey,t])),a=new Map,o=new Map,s=[];for(let t of e.projects){let r=Uu(t,e.projectFoldersById,n);if(!r){s.push(t);continue}a.set(t.projectKey,r);let i=o.get(r)??[];i.push(t),o.set(r,i)}let c=new Set([...t.map(Ke),...s.map(e=>ge(e.projectKey))]),l=new Set,u=[];for(let t of e.projectTreeOrder)l.has(t)||!c.has(t)||De(t)&&(l.add(t),u.push(t));for(let e of t){let t=Ke(e);l.has(t)||(l.add(t),u.push(t))}for(let e of s){let t=ge(e.projectKey);l.has(t)||(l.add(t),u.push(t))}return u.flatMap(t=>{let n=De(t);if(!n)return[];if(n.kind===`folder`){let r=e.projectFoldersById[n.folderId];return r?[{kind:`folder`,itemId:t,folder:r,projects:Wu({folder:r,projects:o.get(n.folderId)??[],projectSortOrder:e.projectSortOrder,sourceIndexByProjectKey:i})}]:[]}if(a.has(n.projectKey))return[];let s=r.get(n.projectKey);return s?[{kind:`project`,itemId:t,project:s}]:[]})}var Ku={loading:`bg-primary/15 text-primary group-has-[button.provider-update-main:hover]/provider-update:bg-primary/22`,success:`bg-success/12 text-success group-has-[button.provider-update-main:hover]/provider-update:bg-success/18`,warning:`bg-warning/12 text-warning group-has-[button.provider-update-main:hover]/provider-update:bg-warning/18`,error:`bg-destructive/12 text-destructive group-has-[button.provider-update-main:hover]/provider-update:bg-destructive/18`},qu={success:`bg-success/18`,warning:`bg-warning/14`,error:`bg-destructive/14`};function Ju(e){return e.reduce((e,t)=>e===void 0||t.checkedAt>e?t.checkedAt:e,void 0)}function Yu(){let e=(0,Q.c)(60),t=Kr(Zu),n=J(),[r,i]=(0,Z.useState)(Xu),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(),h,g;e[0]!==r||e[1]!==n||e[2]!==p?(h=p??Ju(n),g=yi(n,{...h===void 0?{}:{visibleAfterIso:h},dismissedKeys:r}),e[0]=r,e[1]=n,e[2]=p,e[3]=h,e[4]=g):(h=e[3],g=e[4]);let _=g,v,y;e[5]!==h||e[6]!==p?(v=()=>{p===void 0&&h!==void 0&&m(h)},y=[h,p],e[5]=h,e[6]=p,e[7]=v,e[8]=y):(v=e[7],y=e[8]),(0,Z.useEffect)(v,y);let b;e[9]===t?b=e[10]:(b=()=>{t(`providers`)},e[9]=t,e[10]=b);let x=b,S=a??_,C=S?.dismissAfterVisibleMs,w=S?.key??null,T=C!==void 0&&S?.tone!==`loading`&&l!==w,E;e[11]===l?E=e[12]:(E=(e,t,n)=>{l!==e&&(c(t),u(e),f(n??null))},e[11]=l,e[12]=E);let D=E,O,k;e[13]!==l||e[14]!==a||e[15]!==D||e[16]!==_?(O=()=>{if(l===null){if(!a){_&&o(_);return}if(!_){D(a.key,null);return}if(_.key!==a.key){D(a.key,_);return}}},k=[l,a,D,_],e[13]=l,e[14]=a,e[15]=D,e[16]=_,e[17]=O,e[18]=k):(O=e[17],k=e[18]),(0,Z.useEffect)(O,k);let A,j;if(e[19]!==C||e[20]!==l||e[21]!==D||e[22]!==w?(A=()=>{if(!C||!w||l===w)return;let e=window.setTimeout(()=>{D(w,null,w)},C);return()=>window.clearTimeout(e)},j=[C,l,D,w],e[19]=C,e[20]=l,e[21]=D,e[22]=w,e[23]=A,e[24]=j):(A=e[23],j=e[24]),(0,Z.useEffect)(A,j),!S)return null;let M=`group/provider-update relative flex h-7 w-full items-center overflow-hidden rounded-lg text-xs font-medium transition-[opacity,transform] duration-180 ease-[cubic-bezier(0.22,1,0.36,1)] ${Ku[S.tone]} ${l===S.key?`pointer-events-none translate-y-1.5 opacity-0`:`translate-y-0 opacity-100`}`,N;e[25]!==d||e[26]!==S||e[27]!==l||e[28]!==s?(N=e=>{e.target===e.currentTarget&&(!S||l!==S.key||(d===S.key&&i(e=>new Set(e).add(S.key)),o(s),c(null),u(null),f(null)))},e[25]=d,e[26]=S,e[27]=l,e[28]=s,e[29]=N):N=e[29];let P;e[30]!==C||e[31]!==S.key||e[32]!==S.tone||e[33]!==T?(P=T?(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`provider-update-pill-progress pointer-events-none absolute inset-y-0 left-0 w-full origin-left border-r border-current/15 shadow-[inset_0_1px_0_rgb(255_255_255_/_0.08)] ${qu[S.tone]}`,style:{"--provider-update-pill-dismiss-ms":`${C}ms`}},S.key):null,e[30]=C,e[31]=S.key,e[32]=S.tone,e[33]=T,e[34]=P):P=e[34];let F;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 rounded-lg transition-colors`}),e[35]=F):F=e[35];let I;e[36]===S.tone?I=e[37]:(I=S.tone===`loading`?(0,$.jsx)($t,{className:`size-3.5 animate-spin`}):S.tone===`success`?(0,$.jsx)(Vn,{className:`size-3.5`}):S.tone===`error`?(0,$.jsx)(Wn,{className:`size-3.5`}):(0,$.jsx)(Jn,{className:`size-3.5`}),e[36]=S.tone,e[37]=I);let L;e[38]===S.title?L=e[39]:(L=(0,$.jsx)(`span`,{children:S.title}),e[38]=S.title,e[39]=L);let R;e[40]!==S.description||e[41]!==x||e[42]!==I||e[43]!==L?(R=(0,$.jsx)(ye,{render:(0,$.jsxs)(`button`,{type:`button`,"aria-label":S.description,className:`provider-update-main relative z-[1] flex h-full flex-1 items-center gap-2 px-2 text-left`,onClick:x,children:[I,L]})}),e[40]=S.description,e[41]=x,e[42]=I,e[43]=L,e[44]=R):R=e[44];let ee;e[45]===S.description?ee=e[46]:(ee=(0,$.jsx)(Ae,{side:`top`,children:S.description}),e[45]=S.description,e[46]=ee);let z;e[47]!==R||e[48]!==ee?(z=(0,$.jsxs)(be,{children:[R,ee]}),e[47]=R,e[48]=ee,e[49]=z):z=e[49];let B;e[50]!==S.dismissible||e[51]!==S.key||e[52]!==D?(B=S.dismissible&&(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":`Dismiss provider update notice`,className:`relative z-[1] mr-1 inline-flex size-5 items-center justify-center rounded-md opacity-70 transition-opacity hover:opacity-100`,onClick:()=>D(S.key,null,S.key),children:(0,$.jsx)(Sr,{className:`size-3.5`})})}),(0,$.jsx)(Ae,{side:`top`,children:`Dismiss until provider status changes`})]}),e[50]=S.dismissible,e[51]=S.key,e[52]=D,e[53]=B):B=e[53];let V;return e[54]!==N||e[55]!==P||e[56]!==z||e[57]!==B||e[58]!==M?(V=(0,$.jsxs)(`div`,{className:M,onTransitionEnd:N,children:[P,F,z,B]}),e[54]=N,e[55]=P,e[56]=z,e[57]=B,e[58]=M,e[59]=V):V=e[59],V}function Xu(){return new Set}function Zu(e){return e.openSettings}var Qu=6;function $u(e){e.stopPropagation()}var ed={updated_at:`Last user message`,created_at:`Created at`,manual:`Manual`},td={updated_at:`Last user message`,created_at:`Created at`},nd={duration:180,easing:`ease-out`},rd=new Map,id={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`},ad=Dc;function od(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function sd(e){switch(e){case`repository`:return`Projects from the same repository share one sidebar row.`;case`repository_path`:return`Projects group only when both the repository and repo-relative path match.`;case`separate`:return`Every project path gets its own sidebar row.`}}function cd(e){for(let[t]of e)t.isConnected||e.delete(t)}function ld(e,t){cd(e);for(let n of e.values())t?n.enable():n.disable()}function ud(e,t,n){if(t===null)return;cd(e);let r=e.get(t);if(r===void 0){if(!n)return;r=va(t,nd),e.set(t,r)}n?r.enable():r.disable()}function dd(e){if(e.threadJumpCommandByKey.size===0)return rd;let t={platform:e.platform,context:{terminalFocus:!1,terminalOpen:e.terminalOpen}},n=new Map;for(let[r,i]of e.threadJumpCommandByKey){let a=ii(e.keybindings,i,t);a&&n.set(r,a)}return n.size>0?n:rd}var fd=(0,Z.memo)(function(e){let t=(0,Q.c)(4);if(e.gitStatus!==void 0){let n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(md,{...e,gitStatus:e.gitStatus}),t[0]=e,t[1]=n),n}let n;return t[2]===e?n=t[3]:(n=(0,$.jsx)(pd,{...e}),t[2]=e,t[3]=n),n});function pd(e){let t=(0,Q.c)(9),{thread:n}=e,r;t[0]!==n.environmentId||t[1]!==n.projectId?(r=e=>te(e,d(n.environmentId,n.projectId))?.cwd??null,t[0]=n.environmentId,t[1]=n.projectId,t[2]=r):r=t[2];let i=U(r),a=n.worktreePath??i??e.projectCwd,o=n.branch==null?null:a,s;t[3]!==o||t[4]!==n.environmentId?(s={environmentId:n.environmentId,cwd:o},t[3]=o,t[4]=n.environmentId,t[5]=s):s=t[5];let c=x(s),l;return t[6]!==c||t[7]!==e?(l=(0,$.jsx)(md,{...e,gitStatus:c}),t[6]=c,t[7]=e,t[8]=l):l=t[8],l}var md=(0,Z.memo)(function(e){let{orderedProjectThreadKeys:t,isActive:n,jumpLabel:r,appSettingsConfirmThreadArchive:i,renamingThreadKey:a,renamingTitle:o,setRenamingTitle:s,renamingInputRef:l,renamingCommittedRef:u,confirmingArchiveThreadKey:d,setConfirmingArchiveThreadKey:f,confirmArchiveButtonRefs:m,handleThreadClick:h,navigateToThread:g,navigateToDraft:v,handleMultiSelectContextMenu:y,handleThreadContextMenu:b,closeThread:x,clearSelection:S,commitRename:C,cancelRename:w,attemptArchiveThread:T,openPrLink:E,thread:D}=e,O=e.gitStatus,k=p(D.environmentId,D.id),A=c(k),j=D.draftId??null,M=je(e=>e.threadLastVisitedAtById[A]),N=Tn(e=>e.selectedThreadKeys.has(A)),P=Tn(e=>e.selectedThreadKeys.size>0),F=K(e=>de(e.terminalStateByThreadKey,k).runningTerminalIds),I=Tr(),L=I!==null&&D.environmentId!==I,R=_(e=>e.byId[D.environmentId]?.descriptor?.label??null),ee=ne(e=>e.byId[D.environmentId]?.label??null),z=L?R??ee??`Remote`:null,B=n||N,V=D.session?.status===`running`&&D.session.activeTurnId!=null,H=Lr({thread:{...D,lastVisitedAt:M}}),U=Xn(O?$n(D.branch,O.data):null,O?.data?.sourceControlProvider),te=er(F),W=d===A&&!V,re=!j&&Wr(D),ie=e.isTreeChild&&!V,ae=W?`pointer-events-none opacity-0`:V?`pointer-events-none`:`pointer-events-none transition-opacity duration-150 max-sm:pr-10 group-hover/menu-sub-item:opacity-0 group-focus-within/menu-sub-item:opacity-0`,G=(0,Z.useMemo)(()=>H?It(D.title):void 0,[D.title,H]),oe=(0,Z.useCallback)(()=>{f(e=>e===A?null:e)},[f,A]),q=(0,Z.useCallback)(()=>{oe()},[oe]),se=(0,Z.useCallback)(e=>{let t=e.currentTarget;requestAnimationFrame(()=>{t.contains(document.activeElement)||oe()})},[oe]),ce=(0,Z.useCallback)(e=>{if(j){if((xe(navigator.platform)?e.metaKey:e.ctrlKey)||e.shiftKey){e.preventDefault();return}v(j,k);return}h(e,k,t)},[j,h,v,t,k]),le=(0,Z.useCallback)(e=>{if(!(e.key!==`Enter`&&e.key!==` `)){if(e.preventDefault(),j){v(j,k);return}g(k)}},[j,v,g,k]),ue=(0,Z.useCallback)(e=>{if(e.preventDefault(),j){P&&S();return}if(P&&N){y({x:e.clientX,y:e.clientY});return}P&&S(),b(k,{x:e.clientX,y:e.clientY})},[S,y,b,j,P,N,k]),J=(0,Z.useCallback)(e=>{U&&E(e,U.url)},[E,U]),fe=(0,Z.useCallback)(e=>{e&&l.current!==e&&(l.current=e,e.focus(),e.select())},[l]),pe=(0,Z.useCallback)(e=>{s(e.target.value)},[s]),me=(0,Z.useCallback)(e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),u.current=!0,C(k,o,D.title)):e.key===`Escape`&&(e.preventDefault(),u.current=!0,w())},[w,C,u,o,D.title,k]),he=(0,Z.useCallback)(()=>{u.current||C(k,o,D.title)},[C,u,o,D.title,k]),ge=(0,Z.useCallback)(e=>{e.stopPropagation()},[]),_e=(0,Z.useCallback)(e=>{e?m.current.set(A,e):m.current.delete(A)},[m,A]),Se=(0,Z.useCallback)(e=>{e.stopPropagation()},[]),Ce=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),oe(),T(k)},[T,oe,k]),we=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),f(A),requestAnimationFrame(()=>{m.current.get(A)?.focus()})},[m,f,A]),Te=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),T(k)},[T,k]),Ee=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),x(D)},[x,D]),De=(0,Z.useMemo)(()=>(0,$.jsx)(`div`,{role:`button`,tabIndex:0}),[]);return(0,$.jsx)(sr,{className:ve(`w-full`,e.isTreeChild&&`pl-5 before:absolute before:top-0 before:bottom-0 before:left-2 before:w-px before:bg-sidebar-border/70 after:absolute after:left-2 after:top-1/2 after:h-px after:w-3 after:bg-sidebar-border/70`),"data-thread-item":!0,onMouseLeave:q,onBlurCapture:se,children:(0,$.jsxs)(or,{render:De,size:`sm`,isActive:n,"data-testid":`thread-row-${D.id}`,className:`${Br({isActive:n,isSelected:N})} relative isolate`,onClick:ce,onKeyDown:le,onContextMenu:ue,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-left`,children:[U&&(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":U.tooltip,className:`inline-flex items-center justify-center ${U.colorClass} cursor-pointer rounded-sm outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:J,children:(0,$.jsx)(tr,{className:`size-3`})})}),(0,$.jsx)(Ae,{side:`top`,children:U.tooltip})]}),a===A?(0,$.jsx)(`input`,{ref:fe,className:`min-w-0 flex-1 truncate text-base sm:text-xs bg-transparent outline-none border border-ring rounded px-0.5`,value:o,onChange:pe,onKeyDown:me,onBlur:he,onClick:ge}):(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`span`,{className:Qt(H,`min-w-0 flex-1 truncate text-xs`),"aria-label":H?`${H.label}: ${D.title}`:D.title,style:G,"data-testid":`thread-title-${D.id}`,children:D.title})}),(0,$.jsx)(Ae,{side:`top`,className:`max-w-80 whitespace-normal leading-tight`,children:H?`${H.label}: ${D.title}`:D.title})]})]}),(0,$.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[te&&(0,$.jsx)(`span`,{role:`img`,"aria-label":te.label,title:te.label,className:`inline-flex items-center justify-center ${te.colorClass}`,children:(0,$.jsx)(xt,{className:`size-3 ${te.pulse?`animate-pulse`:``}`})}),(0,$.jsxs)(`div`,{className:`flex min-w-12 justify-end ${L?`max-sm:min-w-24`:`max-sm:min-w-20`}`,children:[W?(0,$.jsx)(`button`,{ref:_e,type:`button`,"data-thread-selection-safe":!0,"data-testid":`thread-archive-confirm-${D.id}`,"aria-label":`Confirm archive ${D.title}`,className:`absolute top-1/2 right-1 inline-flex h-5 -translate-y-1/2 cursor-pointer items-center rounded-full bg-destructive/12 px-2 text-[10px] font-medium text-destructive transition-colors hover:bg-destructive/18 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-destructive/40`,onPointerDown:Se,onClick:Ce,children:`Confirm`}):ie||re&&!V?(0,$.jsxs)(`div`,{className:`pointer-events-none absolute top-1/2 right-1 flex -translate-y-1/2 items-center gap-0.5 opacity-0 transition-opacity duration-150 max-sm:pointer-events-auto max-sm:opacity-100 group-hover/menu-sub-item:pointer-events-auto group-hover/menu-sub-item:opacity-100 group-focus-within/menu-sub-item:pointer-events-auto group-focus-within/menu-sub-item:opacity-100`,children:[ie?(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`button`,{type:`button`,"data-thread-selection-safe":!0,"data-testid":`thread-close-${D.id}`,"aria-label":`Close ${D.title}`,className:`inline-flex size-5 cursor-pointer items-center justify-center text-muted-foreground/60 transition-colors hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onPointerDown:Se,onClick:Ee,children:(0,$.jsx)(Sr,{className:`size-3.5`})})}),(0,$.jsx)(Ae,{side:`top`,children:`Close`})]}):null,re&&!V&&i?(0,$.jsx)(`button`,{type:`button`,"data-thread-selection-safe":!0,"data-testid":`thread-archive-${D.id}`,"aria-label":`Archive ${D.title}`,className:`inline-flex size-5 cursor-pointer items-center justify-center text-muted-foreground/60 transition-colors hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onPointerDown:Se,onClick:we,children:(0,$.jsx)(An,{className:`size-3.5`})}):null,re&&!V&&!i?(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`button`,{type:`button`,"data-thread-selection-safe":!0,"data-testid":`thread-archive-${D.id}`,"aria-label":`Archive ${D.title}`,className:`inline-flex size-5 cursor-pointer items-center justify-center text-muted-foreground/60 transition-colors hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onPointerDown:Se,onClick:Te,children:(0,$.jsx)(An,{className:`size-3.5`})})}),(0,$.jsx)(Ae,{side:`top`,children:`Archive`})]}):null]}):null,(0,$.jsx)(`span`,{className:ae,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[L&&(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`span`,{"aria-label":z??`Remote`,className:`inline-flex h-5 items-center justify-center`}),children:(0,$.jsx)(tn,{className:`block size-3 text-muted-foreground/60`})}),(0,$.jsx)(Ae,{side:`top`,children:z})]}),r?(0,$.jsx)(`span`,{className:`inline-flex h-5 items-center rounded-full border border-border/80 bg-background/90 px-1.5 font-mono text-[10px] font-medium tracking-tight text-foreground shadow-sm`,title:r,children:r}):(0,$.jsx)(`span`,{className:`text-[10px] ${B?`text-foreground/72 dark:text-foreground/82`:`text-muted-foreground/40`}`,children:rt(D.latestUserMessageAt??D.updatedAt??D.createdAt)})]})})]})]})]})})}),hd=(0,Z.memo)(function(e){let t=(0,Q.c)(51),{projectKey:n,projectExpanded:r,hasOverflowingThreads:i,hiddenThreadStatus:a,orderedProjectThreadKeys:o,renderedThreads:s,showEmptyThreadState:l,shouldShowThreadPanel:u,isThreadListExpanded:d,projectCwd:f,activeRouteThreadKey:m,threadJumpLabelByKey:h,appSettingsConfirmThreadArchive:g,renamingThreadKey:_,renamingTitle:v,setRenamingTitle:y,renamingInputRef:b,renamingCommittedRef:x,confirmingArchiveThreadKey:S,setConfirmingArchiveThreadKey:C,confirmArchiveButtonRefs:w,attachThreadListAutoAnimateRef:T,handleThreadClick:E,navigateToThread:D,navigateToDraft:O,handleMultiSelectContextMenu:k,handleThreadContextMenu:A,closeThread:j,clearSelection:M,commitRename:N,cancelRename:P,attemptArchiveThread:F,openPrLink:I,expandThreadListForProject:L,collapseThreadListForProject:R}=e,ee;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(`button`,{type:`button`}),t[0]=ee):ee=t[0];let z=ee,B;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(`button`,{type:`button`}),t[1]=B):B=t[1];let V=B,H;t[2]!==u||t[3]!==l?(H=u&&l?(0,$.jsx)(sr,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsx)(`div`,{"data-thread-selection-safe":!0,className:`flex h-6 w-full translate-x-0 items-center px-2 text-left text-[10px] text-muted-foreground/60`,children:(0,$.jsx)(`span`,{children:`No threads yet`})})}):null,t[2]=u,t[3]=l,t[4]=H):H=t[4];let U;t[5]!==m||t[6]!==g||t[7]!==F||t[8]!==P||t[9]!==M||t[10]!==j||t[11]!==N||t[12]!==w||t[13]!==S||t[14]!==k||t[15]!==E||t[16]!==A||t[17]!==O||t[18]!==D||t[19]!==I||t[20]!==o||t[21]!==f||t[22]!==x||t[23]!==b||t[24]!==_||t[25]!==v||t[26]!==s||t[27]!==C||t[28]!==y||t[29]!==u||t[30]!==h?(U=u&&s.map(e=>{let t=c(p(e.environmentId,e.id));return(0,$.jsx)(fd,{thread:e,projectCwd:f,orderedProjectThreadKeys:o,isActive:m===t,jumpLabel:h.get(t)??null,appSettingsConfirmThreadArchive:g,renamingThreadKey:_,renamingTitle:v,setRenamingTitle:y,renamingInputRef:b,renamingCommittedRef:x,confirmingArchiveThreadKey:S,setConfirmingArchiveThreadKey:C,confirmArchiveButtonRefs:w,handleThreadClick:E,navigateToThread:D,navigateToDraft:O,handleMultiSelectContextMenu:k,handleThreadContextMenu:A,closeThread:j,clearSelection:M,commitRename:N,cancelRename:P,attemptArchiveThread:F,openPrLink:I},t)}),t[5]=m,t[6]=g,t[7]=F,t[8]=P,t[9]=M,t[10]=j,t[11]=N,t[12]=w,t[13]=S,t[14]=k,t[15]=E,t[16]=A,t[17]=O,t[18]=D,t[19]=I,t[20]=o,t[21]=f,t[22]=x,t[23]=b,t[24]=_,t[25]=v,t[26]=s,t[27]=C,t[28]=y,t[29]=u,t[30]=h,t[31]=U):U=t[31];let te;t[32]!==L||t[33]!==i||t[34]!==a||t[35]!==d||t[36]!==r||t[37]!==n?(te=r&&i&&!d&&(0,$.jsx)(sr,{className:`w-full`,children:(0,$.jsx)(or,{render:z,"data-thread-selection-safe":!0,size:`sm`,className:`h-6 w-full translate-x-0 justify-start px-2 text-left text-[10px] text-muted-foreground/60 hover:bg-accent hover:text-muted-foreground/80`,onClick:()=>{L(n)},children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[a&&(0,$.jsx)(Qn,{status:a,compact:!0}),(0,$.jsx)(`span`,{children:`Show more`})]})})}),t[32]=L,t[33]=i,t[34]=a,t[35]=d,t[36]=r,t[37]=n,t[38]=te):te=t[38];let W;t[39]!==R||t[40]!==i||t[41]!==d||t[42]!==r||t[43]!==n?(W=r&&i&&d&&(0,$.jsx)(sr,{className:`w-full`,children:(0,$.jsx)(or,{render:V,"data-thread-selection-safe":!0,size:`sm`,className:`h-6 w-full translate-x-0 justify-start px-2 text-left text-[10px] text-muted-foreground/60 hover:bg-accent hover:text-muted-foreground/80`,onClick:()=>{R(n)},children:(0,$.jsx)(`span`,{children:`Show less`})})}),t[39]=R,t[40]=i,t[41]=d,t[42]=r,t[43]=n,t[44]=W):W=t[44];let ne;return t[45]!==T||t[46]!==H||t[47]!==U||t[48]!==te||t[49]!==W?(ne=(0,$.jsxs)(vr,{ref:T,className:`mx-1 my-0 w-full translate-x-0 gap-0.5 overflow-hidden px-1.5 py-0`,children:[H,U,te,W]}),t[45]=T,t[46]=H,t[47]=U,t[48]=te,t[49]=W,t[50]=ne):ne=t[50],ne});function gd(e){let t=(0,Q.c)(9);if(e.issueCount===0&&e.pullRequestCount===0)return null;let n;t[0]!==e.issueCount||t[1]!==e.onIssuesClick?(n=e.issueCount>0?(0,$.jsx)(_d,{count:e.issueCount,label:`Open issues`,tone:`issues`,icon:(0,$.jsx)(Yt,{className:`size-2.5`}),onClick:e.onIssuesClick}):null,t[0]=e.issueCount,t[1]=e.onIssuesClick,t[2]=n):n=t[2];let r;t[3]!==e.onPullRequestsClick||t[4]!==e.pullRequestCount?(r=e.pullRequestCount>0?(0,$.jsx)(_d,{count:e.pullRequestCount,label:`Open pull requests`,tone:`pullRequests`,icon:(0,$.jsx)(ut,{className:`size-2.5`}),onClick:e.onPullRequestsClick}):null,t[3]=e.onPullRequestsClick,t[4]=e.pullRequestCount,t[5]=r):r=t[5];let i;return t[6]!==n||t[7]!==r?(i=(0,$.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1`,children:[n,r]}),t[6]=n,t[7]=r,t[8]=i):i=t[8],i}function _d(e){let t=(0,Q.c)(30),n=e.tone===`issues`?`border-emerald-500/16 bg-emerald-500/10 text-emerald-500 dark:text-emerald-400`:`border-blue-500/16 bg-blue-500/10 text-blue-500 dark:text-blue-400`,r=e.tone===`issues`?`hover:bg-emerald-500/20`:`hover:bg-blue-500/20`,i=`${e.label}: ${e.count}`,a=`View ${e.count} ${e.tone===`issues`?`open issues`:`open pull requests`}`;if(e.onClick){let o;t[0]===e?o=t[1]:(o=t=>{t.preventDefault(),t.stopPropagation(),e.onClick?.()},t[0]=e,t[1]=o);let s=o,c;t[2]===e?c=t[3]:(c=t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),e.onClick?.())},t[2]=e,t[3]=c);let l=c,u;t[4]!==n||t[5]!==r?(u=ve(`inline-flex h-4 shrink-0 items-center justify-center gap-0.5 rounded-sm border px-1 text-[9px] font-semibold tabular-nums leading-none`,n,r,`cursor-pointer transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`),t[4]=n,t[5]=r,t[6]=u):u=t[6];let d=e.icon,f;t[7]===e.count?f=t[8]:(f=vd(e.count),t[7]=e.count,t[8]=f);let p;t[9]===f?p=t[10]:(p=(0,$.jsx)(`span`,{children:f}),t[9]=f,t[10]=p);let m;return t[11]!==a||t[12]!==s||t[13]!==l||t[14]!==e.icon||t[15]!==i||t[16]!==u||t[17]!==p?(m=(0,$.jsxs)(`span`,{role:`button`,tabIndex:0,className:u,title:i,"aria-label":a,onClick:s,onKeyDown:l,onPointerDown:$u,onPointerDownCapture:$u,children:[d,p]}),t[11]=a,t[12]=s,t[13]=l,t[14]=e.icon,t[15]=i,t[16]=u,t[17]=p,t[18]=m):m=t[18],m}let o;t[19]===n?o=t[20]:(o=ve(`inline-flex h-4 shrink-0 items-center justify-center gap-0.5 rounded-sm border px-1 text-[9px] font-semibold tabular-nums leading-none`,n),t[19]=n,t[20]=o);let s=e.icon,c;t[21]===e.count?c=t[22]:(c=vd(e.count),t[21]=e.count,t[22]=c);let l;t[23]===c?l=t[24]:(l=(0,$.jsx)(`span`,{children:c}),t[23]=c,t[24]=l);let u;return t[25]!==e.icon||t[26]!==i||t[27]!==o||t[28]!==l?(u=(0,$.jsxs)(`span`,{className:o,title:i,"aria-label":i,children:[s,l]}),t[25]=e.icon,t[26]=i,t[27]=o,t[28]=l,t[29]=u):u=t[29],u}function vd(e){return e>99?`99+`:String(e)}function yd(e){return e.reduce((e,t)=>e+(t.data?.length??0),0)}function bd(e){let t=(0,Q.c)(7),n=e===void 0?`160px 0px`:e,[r,i]=(0,Z.useState)(null),[a,o]=(0,Z.useState)(!1),s,c;t[0]!==a||t[1]!==r||t[2]!==n?(s=()=>{if(a||r===null)return;if(typeof IntersectionObserver>`u`){o(!0);return}let e=new IntersectionObserver(t=>{t.some(xd)&&(o(!0),e.disconnect())},{rootMargin:n});return e.observe(r),()=>e.disconnect()},c=[a,r,n],t[0]=a,t[1]=r,t[2]=n,t[3]=s,t[4]=c):(s=t[3],c=t[4]),(0,Z.useEffect)(s,c);let l;return t[5]===a?l=t[6]:(l=[i,a],t[5]=a,t[6]=l),l}function xd(e){return e.isIntersecting}function Sd(e){switch(e){case`github`:return`GitHub`;case`gitlab`:return`GitLab`;case`forgejo`:return`Forgejo`;case`azure-devops`:return`Azure DevOps`;case`bitbucket`:return`Bitbucket`;default:return`Remote`}}function Cd(e){switch(e){case`github`:return an;case`gitlab`:return en;case`forgejo`:return Je;case`azure-devops`:return Et;case`bitbucket`:return Tt;default:return qt}}function wd(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function Td(e,t){if(e!==`ssh.dev.azure.com`)return null;let n=t.indexOf(`v3`);if(n===-1||t.length<n+4)return null;let r=t[n+1],i=t[n+2],a=t[n+3];return!r||!i||!a?null:`https://dev.azure.com/${r}/${i}/_git/${a}`}function Ed(e){let t=e.trim();if(t.length===0)return null;if(/^https?:\/\//i.test(t))try{let e=new URL(t);return e.pathname=wd(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=wd(e.pathname).split(`/`).filter(e=>e.length>0),r=Td(e.hostname,n);if(r)return r;let i=n.join(`/`);return e.hostname&&i?`https://${e.hostname}/${i}`:null}catch{return null}let n=/^git@([^:/\s]+)[:/]([^#?\s]+)$/i.exec(t);if(n?.[1]&&n[2]){let e=n[1],t=wd(n[2]);return Td(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function Dd(e,t){if(!e)return null;let n=(()=>{if(t){let n=(e.remotes??[]).find(e=>e.name===t);if(n)return{url:n.url,label:n.ownerRepo??n.url,provider:n.provider??void 0}}return{url:e.locator.remoteUrl,label:e.displayName??e.canonicalKey,provider:e.provider??void 0}})(),r=Ed(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:Sd(n.provider)}:null}function Od(e){let t=(0,Q.c)(31),n;t[0]===e?n=t[1]:(n=t=>{let n=Dd(t.repositoryIdentity,t.preferredRemoteName),r=Cd(n?.provider);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Ie,{onClick:()=>e.onSettings(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(st,{className:`size-3.5`}),`Project settings`]}),n?(0,$.jsxs)(Ie,{onClick:()=>e.onOpenRemote(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(r,{className:`size-3.5`}),`Open remote`]}):null,(0,$.jsx)(ze,{}),(0,$.jsxs)(Ie,{onClick:()=>e.onRename(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(at,{className:`size-3.5`}),`Rename project`]}),(0,$.jsxs)(Ie,{onClick:()=>e.onGrouping(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(st,{className:`size-3.5`}),`Project grouping...`]}),(0,$.jsxs)(Ie,{onClick:()=>e.onCopyPath(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(Kn,{className:`size-3.5`}),`Copy Project Path`]}),(0,$.jsx)(ze,{}),(0,$.jsxs)(Ie,{onClick:()=>e.onRemove(t),variant:`destructive`,className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(xr,{className:`size-3.5`}),`Remove project`]})]})},t[0]=e,t[1]=n);let r=n;if(e.project.memberProjects.length===1){let n;t[2]===e?n=t[3]:(n=()=>e.onNewFolderWithProject(e.project),t[2]=e,t[3]=n);let i;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(Zn,{className:`size-3.5`}),t[4]=i):i=t[4];let a;t[5]===n?a=t[6]:(a=(0,$.jsxs)(Ie,{onClick:n,className:`min-h-7 py-1 sm:text-xs`,children:[i,`New folder with project`]}),t[5]=n,t[6]=a);let o;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(ze,{}),t[7]=o):o=t[7];let s;t[8]!==e.project.memberProjects[0]||t[9]!==r?(s=r(e.project.memberProjects[0]),t[8]=e.project.memberProjects[0],t[9]=r,t[10]=s):s=t[10];let c;return t[11]!==a||t[12]!==s?(c=(0,$.jsxs)(Ee,{children:[a,o,s]}),t[11]=a,t[12]=s,t[13]=c):c=t[13],c}let i;t[14]===e?i=t[15]:(i=()=>e.onNewFolderWithProject(e.project),t[14]=e,t[15]=i);let a;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Zn,{className:`size-3.5`}),t[16]=a):a=t[16];let o;t[17]===i?o=t[18]:(o=(0,$.jsx)(Ee,{children:(0,$.jsxs)(Ie,{onClick:i,className:`min-h-7 py-1 sm:text-xs`,children:[a,`New folder with grouped project`]})}),t[17]=i,t[18]=o);let s;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(ze,{}),t[19]=s):s=t[19];let c;if(t[20]!==e.project.groupedProjectCount||t[21]!==e.project.memberProjects||t[22]!==r){let n;t[24]!==e.project.groupedProjectCount||t[25]!==e.project.memberProjects.length||t[26]!==r?(n=(t,n)=>(0,$.jsxs)(Ee,{children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-[10px] font-medium text-muted-foreground`,children:od(t,e.project.groupedProjectCount)}),r(t),n<e.project.memberProjects.length-1?(0,$.jsx)(ze,{}):null]},t.physicalProjectKey),t[24]=e.project.groupedProjectCount,t[25]=e.project.memberProjects.length,t[26]=r,t[27]=n):n=t[27],c=e.project.memberProjects.map(n),t[20]=e.project.groupedProjectCount,t[21]=e.project.memberProjects,t[22]=r,t[23]=c}else c=t[23];let l;return t[28]!==o||t[29]!==c?(l=(0,$.jsxs)($.Fragment,{children:[o,s,c]}),t[28]=o,t[29]=c,t[30]=l):l=t[30],l}var kd=[{id:`general`,label:`General`,Icon:Pn},{id:`location`,label:`Location`,Icon:Yn},{id:`atlassian`,label:`Atlassian`,Icon:Ei},{id:`ai`,label:`AI`,Icon:ke}];function Ad(e){let t=e.target.repositoryIdentity?.remotes??[],n=e.target.repositoryIdentity?.locator.remoteName??null,r=e.preferredRemoteName&&t.some(t=>t.name===e.preferredRemoteName)?e.preferredRemoteName:null,[i,a]=(0,Z.useState)(!1),o=(0,Z.useRef)(null),s=()=>o.current?.click(),c=async t=>{a(!0);try{await e.onUploadAvatar(t)}finally{a(!1)}};return(0,$.jsxs)(`div`,{className:`space-y-6`,children:[(0,$.jsxs)(`section`,{className:`flex items-start gap-4`,children:[(0,$.jsxs)(`div`,{className:`relative flex size-24 shrink-0 items-center justify-center overflow-hidden rounded-xl border border-border/70 bg-secondary text-muted-foreground shadow-xs`,children:[(0,$.jsx)(pi,{environmentId:e.target.environmentId,cwd:e.target.cwd,projectId:e.target.id,customAvatarContentHash:e.customAvatarContentHash,fillContainer:!0}),i?(0,$.jsx)(`div`,{className:`absolute inset-0 grid place-items-center bg-background/60 text-xs`,children:`…`}):null]}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Project image`}),(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:e.customAvatarContentHash?`PNG, JPG, or WebP · up to 2 MB`:`Using auto-detected favicon · upload to override`}),(0,$.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,$.jsx)(we,{size:`xs`,variant:`outline`,onClick:s,disabled:i,children:`Upload`}),(0,$.jsx)(we,{size:`xs`,variant:`ghost`,onClick:()=>void e.onRemoveAvatar(),disabled:!e.customAvatarContentHash||i,children:`Remove`})]}),(0,$.jsx)(`input`,{ref:o,type:`file`,accept:`image/png,image/jpeg,image/webp`,className:`hidden`,onChange:e=>{let t=e.target.files?.[0];t&&c(t),e.target.value=``}})]})]}),(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`project-display-name`,className:`text-xs font-medium text-foreground`,children:`Display name`}),(0,$.jsx)(di,{id:`project-display-name`,"aria-label":`Project display name`,value:e.title,onChange:t=>e.onTitleChange(t.target.value)})]}),t.length>0?(0,$.jsxs)(`section`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Linked repositories`}),t.length>1?(0,$.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[t.length,` remotes`]}):null]}),t.length>1?(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Pick which remote the sidebar "Open remote" uses.`}):null,(0,$.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border/70`,children:[t.length>1?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.onPreferredRemoteChange(null),className:ve(`flex w-full items-center gap-3 border-b border-border/70 px-3 py-2 text-left`,r===null&&`bg-accent/50`),children:[(0,$.jsx)(`span`,{className:ve(`grid size-4 shrink-0 place-items-center rounded-full border`,r===null?`border-foreground`:`border-muted-foreground/40`),"aria-hidden":`true`,children:r===null?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-foreground`}):null}),(0,$.jsxs)(`span`,{className:`text-xs`,children:[`Auto-detect`,n?` (currently: ${n})`:``]})]}):null,t.map((i,a)=>{let o=r===i.name||r===null&&i.name===n&&t.length===1,s=Cd(i.provider??void 0);return(0,$.jsxs)(`div`,{className:ve(`flex items-center gap-3 px-3 py-2`,a>0||t.length>1?`border-t border-border/70`:``,o&&`bg-accent/50`),children:[t.length>1?(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onPreferredRemoteChange(i.name),className:`shrink-0`,"aria-label":`Use ${i.name} as primary`,children:(0,$.jsx)(`span`,{className:ve(`grid size-4 place-items-center rounded-full border`,o?`border-foreground`:`border-muted-foreground/40`),children:o?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-foreground`}):null})}):null,(0,$.jsx)(s,{className:`size-4 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium`,children:i.name}),o&&t.length>1?(0,$.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:`primary`}):null]}),(0,$.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:i.ownerRepo??i.url})]}),(0,$.jsxs)(we,{size:`xs`,variant:`ghost`,onClick:()=>e.onOpenRemote(e.target,i.name),children:[(0,$.jsx)(on,{className:`size-3.5`}),`Open`]})]},i.name)})]})]}):null]})}function jd(e){let t=(0,Q.c)(23),n=`~/.ryco/worktrees/${e.projectId}/`,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`label`,{htmlFor:`project-root`,className:`text-xs font-medium text-foreground`,children:`Project root`}),i=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`The absolute path the project is anchored to.`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a,o;t[2]===e?(a=t[3],o=t[4]):(a=t=>e.onWorkspaceRootChange(t.target.value),o=t=>{t.key===`Enter`&&(t.preventDefault(),e.onSave())},t[2]=e,t[3]=a,t[4]=o);let s;t[5]!==e.workspaceRoot||t[6]!==a||t[7]!==o?(s=(0,$.jsx)(di,{id:`project-root`,"aria-label":`Project root`,value:e.workspaceRoot,onChange:a,onKeyDown:o}),t[5]=e.workspaceRoot,t[6]=a,t[7]=o,t[8]=s):s=t[8];let c;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Yn,{className:`size-4`}),t[9]=c):c=t[9];let l;t[10]===e.onPickWorkspaceRoot?l=t[11]:(l=(0,$.jsxs)(we,{variant:`outline`,onClick:e.onPickWorkspaceRoot,children:[c,`Browse`]}),t[10]=e.onPickWorkspaceRoot,t[11]=l);let u;t[12]!==s||t[13]!==l?(u=(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[r,i,(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[s,l]})]}),t[12]=s,t[13]=l,t[14]=u):u=t[14];let d;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Worktrees location`}),t[15]=d):d=t[15];let f;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:`font-mono`,children:`<branch>__<word>`}),t[16]=f):f=t[16];let p;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`New worktrees for this project are created here. Each one is named`,` `,f,`, where`,` `,(0,$.jsx)(`span`,{className:`font-mono`,children:`<word>`}),` is a random 5-letter suffix that disambiguates multiple checkouts of the same branch.`]}),t[17]=p):p=t[17];let m;t[18]===n?m=t[19]:(m=(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[d,p,(0,$.jsx)(`div`,{className:`rounded-md border border-dashed border-border/70 bg-muted/20 px-3 py-2`,children:(0,$.jsx)(`div`,{className:`truncate font-mono text-xs`,children:n})})]}),t[18]=n,t[19]=m);let h;return t[20]!==m||t[21]!==u?(h=(0,$.jsxs)(`div`,{className:`space-y-6`,children:[u,m]}),t[20]=m,t[21]=u,t[22]=h):h=t[22],h}function Md(e){let t=(0,Q.c)(15),n=e.customSystemPrompt.length,r=Math.floor(Re*.9),i=n>=2e4?`text-destructive`:n>=r?`text-amber-600 dark:text-amber-400`:`text-muted-foreground`,a,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`label`,{htmlFor:`project-custom-system-prompt`,className:`text-xs font-medium text-foreground`,children:`Custom system prompt`}),o=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Appended to every assistant prompt for this project.`}),t[0]=a,t[1]=o):(a=t[0],o=t[1]);let s;t[2]===e?s=t[3]:(s=t=>e.onCustomSystemPromptChange(t.target.value),t[2]=e,t[3]=s);let c;t[4]!==e.customSystemPrompt||t[5]!==s?(c=(0,$.jsx)($e,{id:`project-custom-system-prompt`,"aria-label":`Custom system prompt`,value:e.customSystemPrompt,maxLength:Re,placeholder:`Always use TypeScript.`,className:`min-h-32 resize-y pr-20`,onChange:s}),t[4]=e.customSystemPrompt,t[5]=s,t[6]=c):c=t[6];let l;t[7]===i?l=t[8]:(l=ve(`pointer-events-none absolute bottom-2 right-3 text-[11px]`,i),t[7]=i,t[8]=l);let u;t[9]!==n||t[10]!==l?(u=(0,$.jsxs)(`span`,{className:l,children:[n,` / `,Re]}),t[9]=n,t[10]=l,t[11]=u):u=t[11];let d;return t[12]!==c||t[13]!==u?(d=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[a,o,(0,$.jsxs)(`div`,{className:`relative`,children:[c,u]})]}),t[12]=c,t[13]=u,t[14]=d):d=t[14],d}function Nd(e){let t=(0,Q.c)(56),[n,r]=(0,Z.useState)(`general`),i;t[0]===e.open?i=t[1]:(i=()=>{e.open&&r(`general`)},t[0]=e.open,t[1]=i);let a=e.target?.id,o;t[2]!==e.open||t[3]!==a?(o=[e.open,a],t[2]=e.open,t[3]=a,t[4]=o):o=t[4],(0,Z.useEffect)(i,o);let s=e.target;if(!s)return null;let c=s.environmentLabel?`${s.name} · ${s.environmentLabel}`:s.name,l;t[5]===n?l=t[6]:(l=kd.findIndex(e=>e.id===n),t[5]=n,t[6]=l);let u=Math.max(0,l),d=e.open,f;t[7]===e?f=t[8]:(f=t=>{t||e.onClose()},t[7]=e,t[8]=f);let p;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Ht,{className:`text-base font-semibold`,children:`Project settings`}),t[9]=p):p=t[9];let m;t[10]===c?m=t[11]:(m=(0,$.jsx)(`header`,{className:`flex h-14 shrink-0 items-center justify-between border-b border-border px-5`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[p,(0,$.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:c})]})}),t[10]=c,t[11]=m);let h=`translateY(${u*2.5}rem)`,g;t[12]===h?g=t[13]:(g=(0,$.jsx)(`span`,{className:`pointer-events-none absolute top-2 right-2 left-2 z-0 h-9 rounded-md bg-accent transition-transform duration-[240ms] ease-out`,style:{transform:h},"aria-hidden":!0}),t[12]=h,t[13]=g);let _;t[14]===n?_=t[15]:(_=kd.map(e=>{let{id:t,label:i,Icon:a}=e,o=n===t;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:ve(`relative z-10 flex h-9 items-center gap-2.5 rounded-md px-2 text-left text-[13px] outline-hidden ring-ring transition-colors duration-150 focus-visible:ring-2`,o?`font-medium text-foreground`:`text-muted-foreground/70 hover:text-foreground/80`),"aria-current":o?`page`:void 0,children:[(0,$.jsx)(a,{className:ve(`size-4 shrink-0`,o?`text-foreground`:`text-muted-foreground/60`)}),(0,$.jsx)(`span`,{className:`hidden truncate sm:inline`,children:i})]},t)}),t[14]=n,t[15]=_);let v;t[16]!==_||t[17]!==g?(v=(0,$.jsxs)(`nav`,{className:`relative isolate flex w-12 shrink-0 flex-col gap-1 border-r border-border p-2 sm:w-48`,children:[g,_]}),t[16]=_,t[17]=g,t[18]=v):v=t[18];let y;t[19]!==e.customAvatarContentHash||t[20]!==e.customSystemPrompt||t[21]!==e.onCustomSystemPromptChange||t[22]!==e.onOpenRemote||t[23]!==e.onPickWorkspaceRoot||t[24]!==e.onPreferredRemoteChange||t[25]!==e.onRemoveAvatar||t[26]!==e.onSave||t[27]!==e.onTitleChange||t[28]!==e.onUploadAvatar||t[29]!==e.onWorkspaceRootChange||t[30]!==e.preferredRemoteName||t[31]!==e.title||t[32]!==e.workspaceRoot||t[33]!==n||t[34]!==s?(y=(0,$.jsx)(fi,{className:`min-h-0 flex-1 min-w-0`,children:(0,$.jsx)(`div`,{className:`mx-auto max-w-[520px] px-6 py-6`,children:n===`general`?(0,$.jsx)(Ad,{target:s,title:e.title,customAvatarContentHash:e.customAvatarContentHash,preferredRemoteName:e.preferredRemoteName,onTitleChange:e.onTitleChange,onPreferredRemoteChange:e.onPreferredRemoteChange,onUploadAvatar:e.onUploadAvatar,onRemoveAvatar:e.onRemoveAvatar,onOpenRemote:e.onOpenRemote}):n===`location`?(0,$.jsx)(jd,{workspaceRoot:e.workspaceRoot,projectId:s.id,onWorkspaceRootChange:e.onWorkspaceRootChange,onPickWorkspaceRoot:e.onPickWorkspaceRoot,onSave:e.onSave}):n===`atlassian`?(0,$.jsx)(Bd,{target:s}):(0,$.jsx)(Md,{customSystemPrompt:e.customSystemPrompt,onCustomSystemPromptChange:e.onCustomSystemPromptChange})})}),t[19]=e.customAvatarContentHash,t[20]=e.customSystemPrompt,t[21]=e.onCustomSystemPromptChange,t[22]=e.onOpenRemote,t[23]=e.onPickWorkspaceRoot,t[24]=e.onPreferredRemoteChange,t[25]=e.onRemoveAvatar,t[26]=e.onSave,t[27]=e.onTitleChange,t[28]=e.onUploadAvatar,t[29]=e.onWorkspaceRootChange,t[30]=e.preferredRemoteName,t[31]=e.title,t[32]=e.workspaceRoot,t[33]=n,t[34]=s,t[35]=y):y=t[35];let b;t[36]!==v||t[37]!==y?(b=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-row`,children:[v,y]}),t[36]=v,t[37]=y,t[38]=b):b=t[38];let x;t[39]===e.onClose?x=t[40]:(x=(0,$.jsx)(we,{variant:`outline`,onClick:e.onClose,children:`Cancel`}),t[39]=e.onClose,t[40]=x);let S;t[41]!==e.onSave||t[42]!==e.saving||t[43]!==n?(S=n===`atlassian`?null:(0,$.jsx)(we,{onClick:e.onSave,disabled:e.saving,children:e.saving?`Saving…`:`Save changes`}),t[41]=e.onSave,t[42]=e.saving,t[43]=n,t[44]=S):S=t[44];let C;t[45]!==x||t[46]!==S?(C=(0,$.jsxs)(`footer`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-5 py-3`,children:[x,S]}),t[45]=x,t[46]=S,t[47]=C):C=t[47];let w;t[48]!==b||t[49]!==C||t[50]!==m?(w=(0,$.jsxs)(Xe,{className:`project-glass-surface h-[min(70vh,620px)] max-w-[760px] overflow-hidden p-0 duration-[320ms] ease-[cubic-bezier(0.16,1,0.3,1)] data-ending-style:translate-y-4 data-starting-style:translate-y-4`,bottomStickOnMobile:!1,showCloseButton:!0,surface:`glass`,children:[m,b,C]}),t[48]=b,t[49]=C,t[50]=m,t[51]=w):w=t[51];let T;return t[52]!==e.open||t[53]!==w||t[54]!==f?(T=(0,$.jsx)(dn,{open:d,onOpenChange:f,children:w}),t[52]=e.open,t[53]=w,t[54]=f,t[55]=T):T=t[55],T}var Pd=`Not configured`;function Fd(e){return e??Pd}function Id(e){return e===Pd||e.trim().length===0?null:e}function Ld(e){return e.split(/[,\s]+/u).map(e=>e.trim().toUpperCase()).filter(Boolean)}function Rd(e){return e?.provider?.toLowerCase()===`bitbucket`?{workspace:e.owner??``,repoSlug:e.name??``}:{workspace:``,repoSlug:``}}function zd(e){return t=>t.status===`connected`&&t.products.includes(e)}function Bd(e){let t=(0,Q.c)(165),n=e.target,r=qe(),i;t[0]===n?i=t[1]:(i=n?re(n.environmentId):null,t[0]=n,t[1]=i);let a=i?.client??null,[o,s]=(0,Z.useState)(Pd),[c,l]=(0,Z.useState)(Pd),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(``),[g,_]=(0,Z.useState)(``),[v,y]=(0,Z.useState)(``),[b,x]=(0,Z.useState)(`{issueKey}-{titleSlug}`),[S,C]=(0,Z.useState)(`{issueKey}: {summary}`),[w,T]=(0,Z.useState)(`{issueKey}: {summary}`),[E,D]=(0,Z.useState)(!0),[O,k]=(0,Z.useState)(!0),A=(0,Z.useRef)(!1),j=(0,Z.useRef)(null),M=n?.environmentId??null,N=n?.id??null,P;t[2]!==M||t[3]!==N?(P=[`atlassian`,`project-link`,M,N],t[2]=M,t[3]=N,t[4]=P):P=t[4];let F;t[5]!==a||t[6]!==n?(F=async()=>!a||!n?null:a.atlassian.getProjectLink({projectId:n.id}),t[5]=a,t[6]=n,t[7]=F):F=t[7];let I=a!==null&&n!==null,L;t[8]!==P||t[9]!==F||t[10]!==I?(L={queryKey:P,queryFn:F,enabled:I},t[8]=P,t[9]=F,t[10]=I,t[11]=L):L=t[11];let R=Pt(L),ee=n?.environmentId??null,z;t[12]===ee?z=t[13]:(z=[`atlassian`,`connections`,ee],t[12]=ee,t[13]=z);let B;t[14]===a?B=t[15]:(B=async()=>a?a.atlassian.listConnections():[],t[14]=a,t[15]=B);let V=a!==null,H;t[16]!==V||t[17]!==z||t[18]!==B?(H={queryKey:z,queryFn:B,enabled:V},t[16]=V,t[17]=z,t[18]=B,t[19]=H):H=t[19];let U=Pt(H),te;t[20]===U.data?te=t[21]:(te=(U.data??[]).filter(zd(`jira`)),t[20]=U.data,t[21]=te);let W=te,ne;t[22]===U.data?ne=t[23]:(ne=(U.data??[]).filter(zd(`bitbucket`)),t[22]=U.data,t[23]=ne);let ie=ne,ae;t[24]!==ie[0]?.connectionId||t[25]!==W[0]?.baseUrl||t[26]!==W[0]?.connectionId||t[27]!==R.data||t[28]!==n?(ae=()=>{if(!n)return;let e=`${n.environmentId}:${n.id}`;if(j.current!==e&&(j.current=e,A.current=!1),A.current)return;let t=R.data,r=Rd(n.repositoryIdentity);s(Fd(t?.jiraConnectionId??W[0]?.connectionId)),l(Fd(t?.bitbucketConnectionId??ie[0]?.connectionId)),d(t?.jiraSiteUrl??W[0]?.baseUrl??``),p(t?.jiraProjectKeys.join(`, `)??``),h(t?.bitbucketWorkspace??r.workspace),_(t?.bitbucketRepoSlug??r.repoSlug),y(t?.defaultIssueTypeName??``),x(t?.branchNameTemplate??`{issueKey}-{titleSlug}`),C(t?.commitMessageTemplate??`{issueKey}: {summary}`),T(t?.pullRequestTitleTemplate??`{issueKey}: {summary}`),D(t?.smartLinkingEnabled??!0),k(t?.autoAttachWorkItems??!0)},t[24]=ie[0]?.connectionId,t[25]=W[0]?.baseUrl,t[26]=W[0]?.connectionId,t[27]=R.data,t[28]=n,t[29]=ae):ae=t[29];let G;t[30]!==ie||t[31]!==W||t[32]!==R.data||t[33]!==n?(G=[ie,W,R.data,n],t[30]=ie,t[31]=W,t[32]=R.data,t[33]=n,t[34]=G):G=t[34],(0,Z.useEffect)(ae,G);let oe;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(oe=()=>{A.current=!0},t[35]=oe):oe=t[35];let K=oe,q;t[36]!==O||t[37]!==c||t[38]!==g||t[39]!==m||t[40]!==b||t[41]!==a||t[42]!==S||t[43]!==v||t[44]!==o||t[45]!==f||t[46]!==u||t[47]!==R.data?.jiraCloudId||t[48]!==w||t[49]!==E||t[50]!==n?(q=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);let e=b.trim(),t=S.trim(),r=w.trim();if(!e||!t||!r)throw Error(`Branch, commit, and pull request templates cannot be empty.`);return a.atlassian.saveProjectLink({projectId:n.id,jiraConnectionId:Id(o),bitbucketConnectionId:Id(c),jiraCloudId:R.data?.jiraCloudId??null,jiraSiteUrl:u.trim()||null,jiraProjectKeys:Ld(f),bitbucketWorkspace:m.trim()||null,bitbucketRepoSlug:g.trim()||null,defaultIssueTypeName:v.trim()||null,branchNameTemplate:e,commitMessageTemplate:t,pullRequestTitleTemplate:r,smartLinkingEnabled:E,autoAttachWorkItems:O})},t[36]=O,t[37]=c,t[38]=g,t[39]=m,t[40]=b,t[41]=a,t[42]=S,t[43]=v,t[44]=o,t[45]=f,t[46]=u,t[47]=R.data?.jiraCloudId,t[48]=w,t[49]=E,t[50]=n,t[51]=q):q=t[51];let se;t[52]===r?se=t[53]:(se=()=>{A.current=!1,r.invalidateQueries({queryKey:[`atlassian`]}),r.invalidateQueries({queryKey:[`workItems`]}),X.add(Y({type:`success`,title:`Atlassian project settings saved`,description:`Jira and Bitbucket defaults were updated for this project.`}))},t[52]=r,t[53]=se);let ce;t[54]!==q||t[55]!==se?(ce={mutationFn:q,onSuccess:se,onError:Ud},t[54]=q,t[55]=se,t[56]=ce):ce=t[56];let le=cn(ce),ue=R.isLoading||U.isLoading,J=a===null||n===null||le.isPending,de;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,$.jsx)(Ei,{className:`size-4 shrink-0 text-muted-foreground`}),t[57]=de):de=t[57];let fe;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[de,(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`truncate text-xs font-medium text-foreground`,children:`Atlassian workflow`}),(0,$.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:`Project-scoped Jira, Bitbucket, and smart-link defaults.`})]})]}),t[58]=fe):fe=t[58];let pe;t[59]===ue?pe=t[60]:(pe=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[fe,ue?(0,$.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Loading`}):(0,$.jsx)(`span`,{className:`rounded bg-background px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:`Project defaults`})]}),t[59]=ue,t[60]=pe);let me;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Connections`}),t[61]=me):me=t[61];let he;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Jira connection`}),t[62]=he):he=t[62];let ge;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(ge=e=>{typeof e==`string`&&(K(),s(e))},t[63]=ge):ge=t[63];let _e;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(gt,{placeholder:`Select Jira connection`}),t[64]=_e):_e=t[64];let ve;t[65]===J?ve=t[66]:(ve=(0,$.jsx)(fn,{size:`sm`,disabled:J,children:_e}),t[65]=J,t[66]=ve);let ye;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(mn,{value:Pd,children:`Not configured`}),t[67]=ye):ye=t[67];let be;t[68]===W?be=t[69]:(be=W.map(Hd),t[68]=W,t[69]=be);let xe;t[70]===be?xe=t[71]:(xe=(0,$.jsxs)(Mt,{children:[ye,be]}),t[70]=be,t[71]=xe);let Se;t[72]!==o||t[73]!==ve||t[74]!==xe?(Se=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[he,(0,$.jsxs)(Rt,{value:o,onValueChange:ge,children:[ve,xe]})]}),t[72]=o,t[73]=ve,t[74]=xe,t[75]=Se):Se=t[75];let Ce;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Bitbucket connection`}),t[76]=Ce):Ce=t[76];let Te;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(Te=e=>{typeof e==`string`&&(K(),l(e))},t[77]=Te):Te=t[77];let Ee;t[78]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsx)(gt,{placeholder:`Select Bitbucket connection`}),t[78]=Ee):Ee=t[78];let De;t[79]===J?De=t[80]:(De=(0,$.jsx)(fn,{size:`sm`,disabled:J,children:Ee}),t[79]=J,t[80]=De);let Oe;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(mn,{value:Pd,children:`Not configured`}),t[81]=Oe):Oe=t[81];let ke;t[82]===ie?ke=t[83]:(ke=ie.map(Vd),t[82]=ie,t[83]=ke);let Ae;t[84]===ke?Ae=t[85]:(Ae=(0,$.jsxs)(Mt,{children:[Oe,ke]}),t[84]=ke,t[85]=Ae);let je;t[86]!==c||t[87]!==De||t[88]!==Ae?(je=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[Ce,(0,$.jsxs)(Rt,{value:c,onValueChange:Te,children:[De,Ae]})]}),t[86]=c,t[87]=De,t[88]=Ae,t[89]=je):je=t[89];let Me;t[90]!==Se||t[91]!==je?(Me=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[me,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Se,je]})]}),t[90]=Se,t[91]=je,t[92]=Me):Me=t[92];let Ne;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Repository mapping`}),t[93]=Ne):Ne=t[93];let Pe;t[94]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=e=>{K(),d(e.currentTarget.value)},t[94]=Pe):Pe=t[94];let Fe;t[95]!==J||t[96]!==u?(Fe=(0,$.jsx)(Wd,{label:`Jira site URL`,children:(0,$.jsx)(di,{size:`sm`,value:u,inputMode:`url`,disabled:J,placeholder:`https://your-team.atlassian.net`,onChange:Pe})}),t[95]=J,t[96]=u,t[97]=Fe):Fe=t[97];let Ie;t[98]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=e=>{K(),p(e.currentTarget.value)},t[98]=Ie):Ie=t[98];let Le;t[99]!==J||t[100]!==f?(Le=(0,$.jsx)(Wd,{label:`Jira project keys`,children:(0,$.jsx)(di,{size:`sm`,value:f,disabled:J,placeholder:`WEB, API`,onChange:Ie})}),t[99]=J,t[100]=f,t[101]=Le):Le=t[101];let Re;t[102]===Symbol.for(`react.memo_cache_sentinel`)?(Re=e=>{K(),h(e.currentTarget.value)},t[102]=Re):Re=t[102];let ze;t[103]!==m||t[104]!==J?(ze=(0,$.jsx)(Wd,{label:`Bitbucket workspace`,children:(0,$.jsx)(di,{size:`sm`,value:m,disabled:J,placeholder:`workspace`,onChange:Re})}),t[103]=m,t[104]=J,t[105]=ze):ze=t[105];let Be;t[106]===Symbol.for(`react.memo_cache_sentinel`)?(Be=e=>{K(),_(e.currentTarget.value)},t[106]=Be):Be=t[106];let Ve;t[107]!==g||t[108]!==J?(Ve=(0,$.jsx)(Wd,{label:`Bitbucket repo slug`,children:(0,$.jsx)(di,{size:`sm`,value:g,disabled:J,placeholder:`repo-slug`,onChange:Be})}),t[107]=g,t[108]=J,t[109]=Ve):Ve=t[109];let He;t[110]!==Fe||t[111]!==Le||t[112]!==ze||t[113]!==Ve?(He=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Ne,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Fe,Le,ze,Ve]})]}),t[110]=Fe,t[111]=Le,t[112]=ze,t[113]=Ve,t[114]=He):He=t[114];let Ue;t[115]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Templates`}),t[115]=Ue):Ue=t[115];let We;t[116]===Symbol.for(`react.memo_cache_sentinel`)?(We=e=>{K(),y(e.currentTarget.value)},t[116]=We):We=t[116];let Ge;t[117]!==v||t[118]!==J?(Ge=(0,$.jsx)(Wd,{label:`Default issue type`,children:(0,$.jsx)(di,{size:`sm`,value:v,disabled:J,placeholder:`Task`,onChange:We})}),t[117]=v,t[118]=J,t[119]=Ge):Ge=t[119];let Ke;t[120]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=e=>{K(),x(e.currentTarget.value)},t[120]=Ke):Ke=t[120];let Je;t[121]!==b||t[122]!==J?(Je=(0,$.jsx)(Wd,{label:`Branch template`,children:(0,$.jsx)(di,{size:`sm`,value:b,disabled:J,onChange:Ke})}),t[121]=b,t[122]=J,t[123]=Je):Je=t[123];let Ye;t[124]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=e=>{K(),C(e.currentTarget.value)},t[124]=Ye):Ye=t[124];let Xe;t[125]!==S||t[126]!==J?(Xe=(0,$.jsx)(Wd,{label:`Commit template`,children:(0,$.jsx)(di,{size:`sm`,value:S,disabled:J,onChange:Ye})}),t[125]=S,t[126]=J,t[127]=Xe):Xe=t[127];let Ze;t[128]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=e=>{K(),T(e.currentTarget.value)},t[128]=Ze):Ze=t[128];let Qe;t[129]!==J||t[130]!==w?(Qe=(0,$.jsx)(Wd,{label:`PR title template`,children:(0,$.jsx)(di,{size:`sm`,value:w,disabled:J,onChange:Ze})}),t[129]=J,t[130]=w,t[131]=Qe):Qe=t[131];let $e;t[132]!==Ge||t[133]!==Je||t[134]!==Xe||t[135]!==Qe?($e=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Ue,(0,$.jsxs)(`div`,{className:`grid gap-3`,children:[Ge,Je,Xe,Qe]})]}),t[132]=Ge,t[133]=Je,t[134]=Xe,t[135]=Qe,t[136]=$e):$e=t[136];let et;t[137]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Automation`}),t[137]=et):et=t[137];let tt;t[138]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,$.jsx)(`span`,{children:`Smart-link Jira keys in branches, commits, and PRs`}),t[138]=tt):tt=t[138];let nt;t[139]===Symbol.for(`react.memo_cache_sentinel`)?(nt=e=>{K(),D(!!e)},t[139]=nt):nt=t[139];let rt;t[140]!==J||t[141]!==E?(rt=(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 bg-background/60 px-3 py-2 text-xs`,children:[tt,(0,$.jsx)(Kt,{checked:E,disabled:J,onCheckedChange:nt})]}),t[140]=J,t[141]=E,t[142]=rt):rt=t[142];let it;t[143]===Symbol.for(`react.memo_cache_sentinel`)?(it=(0,$.jsx)(`span`,{children:`Attach linked work items to project explorer workflows`}),t[143]=it):it=t[143];let at;t[144]===Symbol.for(`react.memo_cache_sentinel`)?(at=e=>{K(),k(!!e)},t[144]=at):at=t[144];let ot;t[145]!==O||t[146]!==J?(ot=(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 bg-background/60 px-3 py-2 text-xs`,children:[it,(0,$.jsx)(Kt,{checked:O,disabled:J,onCheckedChange:at})]}),t[145]=O,t[146]=J,t[147]=ot):ot=t[147];let st;t[148]!==rt||t[149]!==ot?(st=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[et,(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[rt,ot]})]}),t[148]=rt,t[149]=ot,t[150]=st):st=t[150];let ct;t[151]===Symbol.for(`react.memo_cache_sentinel`)?(ct=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Tokens live in Source Control settings. These defaults belong only to this project.`}),t[151]=ct):ct=t[151];let lt;t[152]===le?lt=t[153]:(lt=()=>le.mutate(),t[152]=le,t[153]=lt);let ut=le.isPending?`Saving...`:`Save Atlassian`,dt;t[154]!==J||t[155]!==lt||t[156]!==ut?(dt=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border/70 pt-4`,children:[ct,(0,$.jsx)(we,{type:`button`,size:`sm`,className:`h-8 shrink-0`,disabled:J,onClick:lt,children:ut})]}),t[154]=J,t[155]=lt,t[156]=ut,t[157]=dt):dt=t[157];let ft;return t[158]!==pe||t[159]!==Me||t[160]!==He||t[161]!==$e||t[162]!==st||t[163]!==dt?(ft=(0,$.jsxs)(`div`,{className:`space-y-5`,children:[pe,Me,He,$e,st,dt]}),t[158]=pe,t[159]=Me,t[160]=He,t[161]=$e,t[162]=st,t[163]=dt,t[164]=ft):ft=t[164],ft}function Vd(e){return(0,$.jsx)(mn,{value:e.connectionId,children:e.label},e.connectionId)}function Hd(e){return(0,$.jsx)(mn,{value:e.connectionId,children:e.label},e.connectionId)}function Ud(e){X.add(Y({type:`error`,title:`Could not save Atlassian project settings`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function Wd(e){let t=(0,Q.c)(5),n;t[0]===e.label?n=t[1]:(n=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:e.label}),t[0]=e.label,t[1]=n);let r;return t[2]!==e.children||t[3]!==n?(r=(0,$.jsxs)(`label`,{className:`grid gap-1.5`,children:[n,e.children]}),t[2]=e.children,t[3]=n,t[4]=r):r=t[4],r}var Gd=(0,Z.memo)(function(e){let{project:t,isThreadListExpanded:n,activeRouteThreadKey:r,handleNewThread:i,archiveThread:a,deleteThread:o,threadJumpLabelByKey:s,attachThreadListAutoAnimateRef:l,expandThreadListForProject:f,collapseThreadListForProject:m,onNewFolderWithProject:h,dragInProgressRef:g,suppressProjectClickAfterDragRef:_,suppressProjectClickForContextMenuRef:v,isManualProjectSorting:y,dragHandleProps:x}=e,S=N(e=>e.sidebarThreadSortOrder),C=N(e=>e.confirmThreadDelete),w=N(e=>e.confirmThreadArchive),T=N(e=>e.defaultThreadEnvMode),D=N(e=>({sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides})),{updateSettings:k}=b(),A=yn(),{isMobile:j,setOpenMobile:M}=nr(),P=je(e=>e.markThreadUnread),F=je(e=>e.toggleProject),I=Tn(e=>e.toggleThread),L=Tn(e=>e.rangeSelectTo),R=Tn(e=>e.clearSelection),ee=Tn(e=>e.removeFromSelection),z=Tn(e=>e.setAnchor),H=Tn(e=>e.selectedThreadKeys.size),{copyToClipboard:te}=Un({onCopy:e=>{X.add({type:`success`,title:`Thread ID copied`,description:e.threadId})},onError:e=>{X.add(Y({type:`error`,title:`Failed to copy thread ID`,description:e instanceof Error?e.message:`An error occurred.`}))}}),{copyToClipboard:W}=Un({onCopy:e=>{X.add({type:`success`,title:`Path copied`,description:e.path})},onError:e=>{X.add(Y({type:`error`,title:`Failed to copy path`,description:e instanceof Error?e.message:`An error occurred.`}))}}),ne=(0,Z.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation();let n=E();if(!n){X.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t).catch(e=>{X.add(Y({type:`error`,title:`Unable to open pull request link`,description:e instanceof Error?e.message:`An error occurred.`}))})},[]),re=U(_e((0,Z.useMemo)(()=>e=>B(e,t.memberProjectRefs),[t.memberProjectRefs]))),ie=U(_e((0,Z.useMemo)(()=>e=>fe(e,t.memberProjectRefs),[t.memberProjectRefs]))),ae=Fe((0,Z.useMemo)(()=>ql(t),[t])),oe=(0,Z.useMemo)(()=>new Map(re.map(e=>[c(p(e.environmentId,e.id)),e])),[re]),K=(0,Z.useRef)(oe);K.current=oe;let q=(0,Z.useMemo)(()=>[...re,...ae],[ae,re]),se=je(e=>e.projectExpandedById[t.projectKey]??!0),ce=je(_e(e=>q.map(t=>e.threadLastVisitedAtById[c(p(t.environmentId,t.id))]??null))),le=(0,Z.useMemo)(()=>new Map(q.map((e,t)=>[c(p(e.environmentId,e.id)),ce[t]??null])),[q,ce]),[ue,J]=(0,Z.useState)(null),[de,pe]=(0,Z.useState)(``),[he,ge]=(0,Z.useState)(null),[ve,Se]=(0,Z.useState)(!1),[Ce,Te]=(0,Z.useState)(`branches`),[Ee,De]=(0,Z.useState)({open:!1,initialTab:`issues`}),[ke,Me]=bd(),[Ne,Ie]=(0,Z.useState)(null),[Le,Re]=(0,Z.useState)(``),[ze,Be]=(0,Z.useState)(null),[Ve,We]=(0,Z.useState)(`inherit`),[Ke,qe]=(0,Z.useState)(null),[Je,Ye]=(0,Z.useState)(!1),Ze=(0,Z.useRef)(null),Qe=(0,Z.useRef)(null),$e=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{Ze.current=Ke},[Ke]);let et=(0,Z.useCallback)(()=>{Qe.current!==null&&(window.cancelAnimationFrame(Qe.current),Qe.current=null),$e.current!==null&&(window.clearTimeout($e.current),$e.current=null)},[]);(0,Z.useEffect)(()=>()=>et(),[et]);let[rt,it]=(0,Z.useState)(``),[at,ot]=(0,Z.useState)(``),[st,ct]=(0,Z.useState)(``),[lt,ut]=(0,Z.useState)(!1),[dt,ft]=(0,Z.useState)(null),[pt,ht]=(0,Z.useState)(null),_t=(0,Z.useRef)(!1),vt=(0,Z.useRef)(null),yt=(0,Z.useRef)(new Map),bt=(0,Z.useMemo)(()=>new Map(t.memberProjects.map(e=>[u(d(e.environmentId,e.id)),e])),[t.memberProjects]),xt=(0,Z.useCallback)(e=>{if(e.branch===null)return null;let n=e.sourceProjectId??e.projectId,r=bt.get(u(d(e.environmentId,n))),i=e.worktreePath??r?.cwd??t.cwd;return i?{environmentId:e.environmentId,cwd:i}:null},[bt,t.cwd]),St=(0,Z.useMemo)(()=>{let e=new Map(t.memberProjects.map(e=>[e.physicalProjectKey,0]));for(let t of q){let n=bt.get(u(d(t.environmentId,t.projectId)));n&&e.set(n.physicalProjectKey,(e.get(n.physicalProjectKey)??0)+1)}return e},[bt,t.memberProjects,q]),Ct=kr({explorerOpen:Ee.open,projectVisible:Me}),wt=Zt({queries:t.memberProjects.map(e=>jt({environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:100,enabled:Ct}))}),Tt=Zt({queries:t.memberProjects.map(e=>nn({environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:100,enabled:Ct}))}),Et=(0,Z.useMemo)(()=>({issues:yd(wt),pullRequests:yd(Tt)}),[wt,Tt]),{projectStatus:Dt,visibleProjectThreads:Ot,orderedProjectThreadKeys:kt}=(0,Z.useMemo)(()=>{let e=e=>{let t=le.get(c(p(e.environmentId,e.id)));return Lr({thread:{...e,...t==null?{}:{lastVisitedAt:t}}})},t=Or(q.filter(e=>e.archivedAt===null),S),n=qr(t.map(t=>e(t)));return{orderedProjectThreadKeys:t.map(e=>c(p(e.environmentId,e.id))),projectStatus:n,visibleProjectThreads:t}},[le,q,S]),Nt=(0,Z.useMemo)(()=>{let e=r??void 0;return!e||se?null:Ot.find(t=>c(p(t.environmentId,t.id))===e)??null},[r,se,Ot]),{hasOverflowingThreads:Pt,hiddenThreadStatus:Ft,renderedThreads:It,showEmptyThreadState:Lt,shouldShowThreadPanel:zt}=(0,Z.useMemo)(()=>{let e=e=>{let t=le.get(c(p(e.environmentId,e.id)));return Lr({thread:{...e,...t==null?{}:{lastVisitedAt:t}}})},t=Ot.length>Qu,r=n||!t?Ot:Ot.slice(0,Qu),i=new Set([...r,...Nt?[Nt]:[]].map(e=>c(p(e.environmentId,e.id)))),a=Nt?[Nt]:Ot.filter(e=>i.has(c(p(e.environmentId,e.id))));return{hasOverflowingThreads:t,hiddenThreadStatus:qr(Ot.filter(e=>!i.has(c(p(e.environmentId,e.id)))).map(t=>e(t))),renderedThreads:a,showEmptyThreadState:se&&Ot.length===0,shouldShowThreadPanel:se||Nt!==null}},[n,le,Nt,se,Ot]),Bt=(0,Z.useMemo)(()=>Kl({lastVisitedAtByThreadKey:le,project:t,threads:Or(q,S),worktrees:ie}),[le,t,q,ie,S]),Vt=Qc({projects:[Bt.project],threads:Bt.threads,worktrees:Bt.worktrees}).projects[0]??null,Ut=(0,Z.useMemo)(()=>se?null:Nt?new Set([c(p(Nt.environmentId,Nt.id))]):new Set,[Nt,se]),Gt=(0,Z.useCallback)(e=>{if(v.current){v.current=!1,e.preventDefault(),e.stopPropagation();return}if(g.current){e.preventDefault(),e.stopPropagation();return}if(_.current){_.current=!1,e.preventDefault(),e.stopPropagation();return}H>0&&R(),F(t.projectKey)},[R,g,t.projectKey,H,_,v,F]),Kt=(0,Z.useCallback)(e=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),!g.current&&F(t.projectKey))},[g,t.projectKey,F]),qt=(0,Z.useCallback)(e=>{v.current=!1,Gr({button:e.button,ctrlKey:e.ctrlKey,isMac:xe(navigator.platform)})&&e.stopPropagation(),_.current=!1},[_,v]),Yt=(0,Z.useCallback)(e=>{Ie(e),Re(e.name)},[]),Xt=(0,Z.useCallback)(e=>{let t=me(e);Be(e),We(D.sidebarProjectGroupingOverrides?.[t]??`inherit`)},[D.sidebarProjectGroupingOverrides]),Qt=(0,Z.useCallback)(e=>{et(),Ye(!1),qe(e),it(e.name),ot(e.cwd),ct(e.customSystemPrompt??``),ut(!1),ft(e.customAvatarContentHash??null),ht(e.preferredRemoteName??null),Qe.current=window.requestAnimationFrame(()=>{Qe.current=null,Ye(!0)})},[et]),$t=(0,Z.useCallback)(e=>{let t=Dd(e.repositoryIdentity,e.preferredRemoteName);if(!t){X.add({type:`warning`,title:`No remote link available`});return}let n=E();if(!n){X.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t.url).catch(e=>{X.add(Y({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))})},[]),en=(0,Z.useCallback)(async(e,t={})=>{let n=d(e.environmentId,e.id),r=Fe.getState(),i=r.getDraftThreadByProjectRef(n);i&&r.clearDraftThread(i.draftId),r.clearProjectDraftThreadId(n);let a=G(e.environmentId);if(!a)throw Error(`Project API unavailable.`);await a.orchestration.dispatchCommand({type:`project.delete`,commandId:Oe(),projectId:e.id,...t.force===!0?{force:!0}:{}})},[]),rn=(0,Z.useCallback)(async e=>{let t=E();if(!t)return;let n=d(e.environmentId,e.id);if((St.get(e.physicalProjectKey)??0)>0){let r=X.add(Y({type:`warning`,title:`Project is not empty`,description:`Delete all threads in this project before removing it.`,actionVariant:`destructive`,actionProps:{children:`Delete anyway`,onClick:()=>{(async()=>{X.close(r),await new Promise(e=>{window.setTimeout(e,180)});let i=B(U.getState(),[n]);await t.dialogs.confirm(i.length>0?[`Remove project "${e.name}" and delete its ${i.length} thread${i.length===1?``:`s`}?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This permanently clears conversation history for those threads.`,`This removes only this project entry.`,`This action cannot be undone.`].join(`
|
|
6
|
-
`):[`Remove project "${e.name}"?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This removes only this project entry.`].join(`
|
|
7
|
-
`))&&await en(e,{force:!0})})().catch(t=>{let n=t instanceof Error?t.message:`Unknown error removing project.`;console.error(`Failed to remove project`,{projectId:e.id,environmentId:e.environmentId,error:t}),X.add(Y({type:`error`,title:`Failed to remove "${e.name}"`,description:n}))})}}}));return}let r=[`Remove project "${e.name}"?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This removes only this project entry.`].join(`
|
|
8
|
-
`);if(await t.dialogs.confirm(r))try{await en(e)}catch(t){let n=t instanceof Error?t.message:`Unknown error removing project.`;console.error(`Failed to remove project`,{projectId:e.id,environmentId:e.environmentId,error:t}),X.add(Y({type:`error`,title:`Failed to remove "${e.name}"`,description:n}))}},[St,en]),an=(0,Z.useCallback)(e=>{e.preventDefault(),v.current=!0,(async()=>{let n=E();if(!n)return;let r=new Map,i=(e,n,i)=>{let a=`${e}:${n.physicalProjectKey}`;return r.set(a,()=>{switch(e){case`settings`:Qt(n);return;case`open-remote`:$t(n);return;case`rename`:Yt(n);return;case`grouping`:Xt(n);return;case`copy-path`:W(n.cwd,{path:n.cwd});return;case`delete`:return rn(n)}}),{id:a,label:od(n,t.groupedProjectCount),...i?.destructive?{destructive:!0}:{},...i?.disabled?{disabled:!0}:{}}},a=(e,n,r)=>{if(t.memberProjects.length===1){let a=t.memberProjects[0];return{...i(e,a,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(a)?{disabled:!0}:{}}),label:n}}return{id:`${e}:submenu`,label:n,children:t.memberProjects.map(t=>i(e,t,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(t)?{disabled:!0}:{}}))}},o=t.memberProjects.some(e=>Dd(e.repositoryIdentity,e.preferredRemoteName)!==null),s=[a(`settings`,`Project settings`),...o?[a(`open-remote`,`Open remote`,{isDisabled:e=>Dd(e.repositoryIdentity,e.preferredRemoteName)===null})]:[],a(`rename`,`Rename project`),a(`grouping`,`Project grouping…`),a(`copy-path`,`Copy Project Path`),a(`delete`,`Remove project`,{destructive:!0})],c=await n.contextMenu.show(s,{x:e.clientX,y:e.clientY});c&&await r.get(c)?.()})()},[W,rn,Xt,$t,Yt,Qt,t.groupedProjectCount,t.memberProjects,v]),on=(0,Z.useCallback)(e=>{Tn.getState().selectedThreadKeys.size>0&&R(),z(c(e)),j&&M(!1),A.navigate({to:`/$environmentId/$threadId`,params:bn(e)})},[R,j,A,M,z]),sn=(0,Z.useCallback)((e,t)=>{Tn.getState().selectedThreadKeys.size>0&&R(),z(c(t)),j&&M(!1),A.navigate({to:`/draft/$draftId`,params:{draftId:e}})},[R,j,A,M,z]),cn=(0,Z.useCallback)(async(e,t={})=>{if(e.draftId){Fe.getState().clearDraftThread(e.draftId);let t=vn(A.state.matches[A.state.matches.length-1]?.params??{});t?.kind===`draft`&&t.draftId===e.draftId&&await A.navigate({to:`/`,replace:!0});return}let n=p(e.environmentId,e.id);if(Mr({confirmThreadDelete:C,thread:e})){let t=[`Close session "${e.title}"?`,`This permanently clears conversation history for this thread.`].join(`
|
|
9
|
-
`),n=E();if(!(n?await n.dialogs.confirm(t):window.confirm(t)))return}await o(n,{...t,optimistic:!0})},[C,o,A]),ln=(0,Z.useCallback)((e,t,n)=>{let r=xe(navigator.platform)?e.metaKey:e.ctrlKey,i=e.shiftKey,a=c(t),o=Tn.getState().selectedThreadKeys.size;if(r){e.preventDefault(),I(a);return}if(i){e.preventDefault(),L(a,n);return}o>0&&R(),z(a),j&&M(!1),A.navigate({to:`/$environmentId/$threadId`,params:bn(t)})},[R,j,L,A,M,z,I]),pn=(0,Z.useCallback)(async e=>{let t=E();if(!t)return;let n=[...Tn.getState().selectedThreadKeys];if(n.length===0)return;let r=n.length,i=await t.contextMenu.show([{id:`mark-unread`,label:`Mark unread (${r})`},{id:`delete`,label:`Delete (${r})`,destructive:!0}],e);if(i===`mark-unread`){for(let e of n)P(e,K.current.get(e)?.latestTurn?.completedAt);R();return}if(i!==`delete`||Xr({confirmThreadDelete:C,threads:n.map(e=>K.current.get(e))})&&!await t.dialogs.confirm([`Delete ${r} thread${r===1?``:`s`}?`,`This permanently clears conversation history for these threads.`].join(`
|
|
10
|
-
`)))return;let a=new Set(n);for(let e of n){let t=K.current.get(e);t&&await o(p(t.environmentId,t.id),{deletedThreadKeys:a})}ee(n)},[C,R,o,P,ee]),hn=(0,Z.useCallback)((e,t)=>{let n=vn(A.state.matches[A.state.matches.length-1]?.params??{}),r=n?.kind===`server`?V(U.getState(),n.threadRef)??null:null,a=Fe.getState(),o=n?.kind===`server`?a.getDraftThread(n.threadRef)??null:n?.kind===`draft`?a.getDraftSession(n.draftId)??null:null,s=t??Ur({projectId:e.id,defaultEnvMode:Fr({defaultEnvMode:T}),activeThread:r&&r.projectId===e.id?{projectId:r.projectId,branch:r.branch,worktreePath:r.worktreePath}:null,activeDraftThread:o&&o.projectId===e.id?{projectId:o.projectId,branch:o.branch,worktreePath:o.worktreePath,envMode:o.envMode}:null});j&&M(!1),i(d(e.environmentId,e.id),{...s.branch===void 0?{}:{branch:s.branch},...s.worktreePath===void 0?{}:{worktreePath:s.worktreePath},envMode:s.envMode})},[T,i,j,A,M]),gn=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),Te(`branches`),Se(!0)},[]),_n=(0,Z.useCallback)(e=>{let n=t.memberProjects[0];n&&hn(n,{branch:e.worktree.branch,envMode:e.worktree.worktreePath?`worktree`:`local`,worktreePath:e.worktree.worktreePath})},[hn,t.memberProjects]),xn=(0,Z.useCallback)(e=>{let t=e.sessions.toSorted((e,t)=>Date.parse(t.updatedAt??t.createdAt)-Date.parse(e.updatedAt??e.createdAt))[0];if(t){on(p(t.environmentId,t.id));return}_n(e)},[_n,on]),Sn=(0,Z.useCallback)(e=>e.worktree.worktreePath??t.cwd,[t.cwd]),Cn=(0,Z.useCallback)(e=>{let t=Sn(e);if(!t){X.add(Y({type:`error`,title:`Path unavailable`,description:`This worktree does not have a workspace path to copy.`}));return}W(t,{path:t})},[W,Sn]),wn=(0,Z.useCallback)(e=>{let t=Sn(e),n=E();if(!n||!t){X.add(Y({type:`error`,title:`Unable to open worktree`,description:`No local editor bridge is available.`}));return}un(n,t).catch(e=>{X.add(Y({type:`error`,title:`Unable to open worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})},[Sn]),En=(0,Z.useCallback)(e=>{let n=G(t.environmentId)?.git.archiveWorktree;if(!n){X.add(Y({type:`error`,title:`Archive unavailable`,description:`This environment does not support worktree archiving.`}));return}n({worktreeId:He.make(e.worktree.worktreeId),deleteBranch:!1}).catch(e=>{X.add(Y({type:`error`,title:`Failed to archive worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})},[t.environmentId]),Dn=(0,Z.useCallback)(e=>{(async()=>{let n=E();if(n&&!await n.dialogs.confirm([`Delete worktree "${e.worktree.branch}"?`,`This permanently removes the worktree and its sessions.`].join(`
|
|
11
|
-
`)))return;let r=G(t.environmentId);if(!r){X.add(Y({type:`error`,title:`Delete unavailable`,description:`This environment is not connected.`}));return}let i=e.worktree.worktreeId,a=[...e.sessions.map(e=>e.id),...e.archivedSessions.map(e=>e.id)];for(let e of a)await o(p(t.environmentId,e),{optimistic:!0});if(ul(i))return;let s=r.git.deleteWorktree;if(!s){X.add(Y({type:`error`,title:`Delete unavailable`,description:`This environment does not support worktree deletion.`}));return}try{await s({worktreeId:He.make(i),deleteBranch:!1})}catch(e){let t=e instanceof Error?e.message:`An error occurred.`,n=X.add(Y({type:`error`,title:`Failed to delete worktree`,description:`${t}\n\nIf the worktree no longer exists on disk and isn't tracked by git, force-remove it from the list.`,actionVariant:`destructive`,actionProps:{children:`Force delete from list`,onClick:()=>{X.close(n),(async()=>{await s({worktreeId:He.make(i),deleteBranch:!1,force:!0})})().catch(e=>{X.add(Y({type:`error`,title:`Failed to force delete worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})}}}))}})().catch(e=>{X.add(Y({type:`error`,title:`Failed to delete worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})},[o,t.environmentId]),On=(0,Z.useCallback)(e=>{let n=G(t.environmentId)?.git.restoreWorktree;if(!n){X.add(Y({type:`error`,title:`Restore unavailable`,description:`This environment does not support worktree restore.`}));return}n({worktreeId:He.make(e.worktree.worktreeId)}).catch(e=>{X.add(Y({type:`error`,title:`Failed to restore worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})},[t.environmentId]),kn=(0,Z.useCallback)(async(e,n)=>{let r=n.trim();if(r.length===0){X.add({type:`warning`,title:`Worktree title cannot be empty`});return}let i=G(t.environmentId);if(!i){X.add(Y({type:`error`,title:`Failed to rename worktree`,description:`Project API unavailable.`}));return}try{let n=new Date().toISOString(),a=He.make(e.worktree.worktreeId);await i.orchestration.dispatchCommand({type:`worktree.meta.update`,commandId:Oe(),worktreeId:a,title:r,changedAt:n}),U.getState().setSidebarWorktreeTitle(t.environmentId,a,r,n)}catch(e){X.add(Y({type:`error`,title:`Failed to rename worktree`,description:e instanceof Error?e.message:`An error occurred.`}))}},[t.environmentId]),An=(0,Z.useCallback)(async e=>{try{let t=K.current.get(c(e))??null;if(t&&!Wr(t)){X.add({type:`warning`,title:`Send a message before archiving`});return}await a(e)}catch(e){X.add(Y({type:`error`,title:`Failed to archive thread`,description:e instanceof Error?e.message:`An error occurred.`}))}},[a]),jn=(0,Z.useCallback)(()=>{J(null),vt.current=null},[]),Mn=(0,Z.useCallback)(async(e,t,n)=>{let r=c(e),i=()=>{J(e=>e===r?(vt.current=null,null):e)},a=t.trim();if(a.length===0){X.add({type:`warning`,title:`Thread title cannot be empty`}),i();return}if(a===n){i();return}let o=G(e.environmentId);if(!o){i();return}try{await o.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:Oe(),threadId:e.threadId,title:a})}catch(e){X.add(Y({type:`error`,title:`Failed to rename thread`,description:e instanceof Error?e.message:`An error occurred.`}))}i()},[]),Nn=(0,Z.useCallback)(()=>{Ie(null),Re(``)},[]),Pn=(0,Z.useCallback)(()=>{Qe.current!==null&&(window.cancelAnimationFrame(Qe.current),Qe.current=null),Ye(!1),$e.current!==null&&window.clearTimeout($e.current),$e.current=window.setTimeout(()=>{$e.current=null,qe(null),it(``),ot(``),ct(``),ut(!1),ft(null),ht(null)},340)},[]),Fn=(0,Z.useCallback)(async()=>{let e=E();if(!e){X.add({type:`error`,title:`Folder picker is unavailable.`});return}let t=await e.dialogs.pickFolder({initialPath:at.trim()||Ke?.cwd||null});t&&ot(t)},[Ke?.cwd,at]),In=(0,Z.useCallback)(async()=>{if(!Ke||lt)return;let e=rt.trim(),t=at.trim(),n=st.trim();if(e.length===0){X.add({type:`warning`,title:`Project title cannot be empty`});return}if(t.length===0){X.add({type:`warning`,title:`Project root cannot be empty`});return}let r=e!==Ke.name,i=t!==Ke.cwd,a=n!==(Ke.customSystemPrompt?.trim()??``),o=pt!==(Ke.preferredRemoteName??null);if(!r&&!i&&!a&&!o){Pn();return}let s=G(Ke.environmentId);if(!s){X.add(Y({type:`error`,title:`Failed to update project`,description:`Project API unavailable.`}));return}ut(!0);try{await s.orchestration.dispatchCommand({type:`project.meta.update`,commandId:Oe(),projectId:Ke.id,...r?{title:e}:{},...i?{workspaceRoot:t}:{},...a?{customSystemPrompt:n.length>0?n:null}:{},...o?{preferredRemoteName:pt}:{}}),Pn()}catch(e){ut(!1),X.add(Y({type:`error`,title:`Failed to update project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[Pn,lt,st,pt,Ke,rt,at]),Ln=(0,Z.useCallback)(async()=>{if(!Ne)return;let e=Le.trim();if(e.length===0){X.add({type:`warning`,title:`Project title cannot be empty`});return}if(e===Ne.name){Nn();return}let t=G(Ne.environmentId);if(!t){X.add(Y({type:`error`,title:`Failed to rename project`,description:`Project API unavailable.`}));return}try{await t.orchestration.dispatchCommand({type:`project.meta.update`,commandId:Oe(),projectId:Ne.id,title:e}),Nn()}catch(e){X.add(Y({type:`error`,title:`Failed to rename project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[Nn,Ne,Le]),Rn=(0,Z.useCallback)(async e=>{let t=Ke;if(!t)return;let n=G(t.environmentId);if(!n)return;let r=O({environmentId:t.environmentId,pathname:`/api/project-avatar/upload`,searchParams:{projectId:t.id}}),i=new FormData;i.append(`avatar`,e);try{let e=await fetch(r,{method:`POST`,body:i,credentials:`include`});if(!e.ok){let t=await e.text().catch(()=>``);throw Error(t||`Upload failed: ${e.status}`)}let{contentHash:a}=await e.json();await n.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:Oe(),projectId:t.id,contentHash:a}),Ze.current?.id===t.id&&ft(a)}catch(e){if(Ze.current?.id!==t.id)return;X.add(Y({type:`error`,title:`Failed to upload avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[Ke]),zn=(0,Z.useCallback)(async()=>{let e=Ke;if(!e)return;let t=G(e.environmentId);if(t)try{await t.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:Oe(),projectId:e.id,contentHash:null}),Ze.current?.id===e.id&&ft(null)}catch(t){if(Ze.current?.id!==e.id)return;X.add(Y({type:`error`,title:`Failed to remove avatar`,description:t instanceof Error?t.message:`An error occurred.`}))}},[Ke]),Bn=(0,Z.useCallback)((e,t)=>{let n=(e.repositoryIdentity?.remotes??[]).find(e=>e.name===t);if(!n)return;let r=Ed(n.url);if(!r)return;let i=E();i&&i.shell.openExternal(r).catch(e=>{X.add(Y({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))})},[]),Vn=(0,Z.useCallback)(()=>{Be(null),We(`inherit`)},[]),Hn=(0,Z.useCallback)(()=>{if(!ze)return;let e=me(ze),t={...D.sidebarProjectGroupingOverrides};Ve===`inherit`?delete t[e]:t[e]=Ve,k({sidebarProjectGroupingOverrides:t}),Vn()},[Vn,Ve,D.sidebarProjectGroupingOverrides,ze,k]),Wn=(0,Z.useCallback)(async(e,n)=>{let r=E();if(!r)return;let i=c(e),a=K.current.get(i)??null;if(!a)return;let o=a.draftId,s=!o&&Wr(a),l=bt.get(u(d(a.environmentId,a.projectId))),f=a.worktreePath??l?.cwd??t.cwd??null;if(o){H>0&&R(),await r.contextMenu.show([{id:`close`,label:`Close session`}],n)===`close`&&await cn(a);return}let p=await r.contextMenu.show([{id:`rename`,label:`Rename thread`},{id:`mark-unread`,label:`Mark unread`},{id:`copy-path`,label:`Copy Path`},{id:`copy-thread-id`,label:`Copy Thread ID`},...s?[{id:`archive`,label:`Archive session`}]:[],{id:`close`,label:a.worktreeId||a.worktreePath?`Close session`:`Delete thread`,destructive:!0}],n);if(p===`rename`){J(i),pe(a.title),_t.current=!1;return}if(p===`mark-unread`){P(i,a.latestTurn?.completedAt);return}if(p===`copy-path`){if(!f){X.add(Y({type:`error`,title:`Path unavailable`,description:`This thread does not have a workspace path to copy.`}));return}W(f,{path:f});return}if(p===`copy-thread-id`){te(a.id,{threadId:a.id});return}if(p===`archive`){if(Zr({archiveAvailable:s,confirmThreadArchive:w})&&!await r.dialogs.confirm([`Archive session "${a.title}"?`,`You can restore archived sessions from Settings > Archive.`].join(`
|
|
12
|
-
`)))return;await An(e);return}p===`close`&&await cn(a)},[An,w,R,cn,W,te,P,bt,t.cwd,H]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{ref:ke,className:`group/project-header relative`,children:[(0,$.jsxs)(ar,{ref:x?.setActivatorNodeRef,size:`sm`,className:`gap-2 px-2 py-1.5 pr-14 text-left hover:bg-accent group-hover/project-header:bg-accent group-hover/project-header:text-sidebar-accent-foreground ${y?`cursor-grab active:cursor-grabbing`:`cursor-pointer`}`,...x?x.attributes:{},...x?x.listeners:{},onPointerDownCapture:qt,onClick:Gt,onKeyDown:Kt,onContextMenu:an,children:[!se&&Dt?(0,$.jsx)(`span`,{"aria-hidden":`true`,title:Dt.label,className:`-ml-0.5 relative inline-flex size-3.5 shrink-0 items-center justify-center ${Dt.colorClass}`,children:(0,$.jsx)(`span`,{className:`size-[9px] rounded-full ${Dt.dotClass} ${Dt.pulse?`animate-pulse`:``}`})}):null,(0,$.jsx)(pi,{environmentId:t.environmentId,cwd:t.cwd,projectId:t.id,customAvatarContentHash:t.customAvatarContentHash??null,className:`size-[18px]`}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium text-foreground/90`,children:t.displayName}),(0,$.jsx)(gd,{issueCount:Et.issues,pullRequestCount:Et.pullRequests,onIssuesClick:()=>De({open:!0,initialTab:`issues`}),onPullRequestsClick:()=>De({open:!0,initialTab:`prs`})}),t.groupedProjectCount>1?(0,$.jsxs)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/60`,children:[t.groupedProjectCount,` projects`]}):null]})]}),t.environmentPresence===`remote-only`&&(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`span`,{"aria-label":t.environmentPresence===`remote-only`?`Remote project`:`Available in multiple environments`,className:`pointer-events-none absolute top-1 right-1.5 inline-flex size-5 items-center justify-center rounded-md text-muted-foreground/60 transition-opacity duration-150 max-sm:right-7 group-hover/project-header:opacity-0 group-focus-within/project-header:opacity-0 max-sm:group-hover/project-header:opacity-100 max-sm:group-focus-within/project-header:opacity-100`}),children:(0,$.jsx)(tn,{className:`size-3`})}),(0,$.jsxs)(Ae,{side:`top`,children:[`Remote environment: `,t.remoteEnvironmentLabels.join(`, `)]})]}),(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`div`,{className:`pointer-events-none absolute top-1 right-7 opacity-0 transition-opacity duration-150 max-sm:pointer-events-auto max-sm:opacity-100 group-hover/project-header:pointer-events-auto group-hover/project-header:opacity-100 group-focus-within/project-header:pointer-events-auto group-focus-within/project-header:opacity-100`,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":`Create new workspace in ${t.displayName}`,"data-testid":`new-thread-button`,className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 hover:bg-secondary hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:gn,children:(0,$.jsx)(br,{className:`size-3.5`})})})}),(0,$.jsx)(Ae,{side:`top`,children:`New workspace`})]}),(0,$.jsxs)(Pe,{children:[(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(Ue,{"aria-label":`Open project settings for ${t.displayName}`,className:`pointer-events-none absolute top-1 right-1.5 inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 opacity-0 transition-opacity duration-150 hover:bg-secondary hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring max-sm:pointer-events-auto max-sm:opacity-100 group-hover/project-header:pointer-events-auto group-hover/project-header:opacity-100 group-focus-within/project-header:pointer-events-auto group-focus-within/project-header:opacity-100`}),children:(0,$.jsx)(Jt,{className:`size-3.5`})}),(0,$.jsx)(Ae,{side:`top`,children:`Project settings`})]}),(0,$.jsx)(Ge,{align:`end`,side:`bottom`,className:`min-w-48`,children:(0,$.jsx)(Od,{project:t,onCopyPath:e=>{W(e.cwd,{path:e.cwd})},onGrouping:Xt,onNewFolderWithProject:h,onOpenRemote:$t,onRemove:e=>{rn(e)},onRename:Yt,onSettings:Qt})})]})]}),Vt?.isGitRepo?(0,$.jsx)(Dl,{treeProject:Vt,projectExpanded:se,visibleThreadKeys:Ut,attachThreadListAutoAnimateRef:l,resolveThreadGitStatusTarget:xt,onArchiveWorktree:En,onCopyWorktreePath:Cn,onDeleteWorktree:Dn,onNewSession:_n,onOpenInEditor:wn,onOpenWorktree:xn,onRenameWorktree:kn,onRestoreWorktree:On,renderThread:(e,n,i)=>{let a=c(p(e.environmentId,e.id));return(0,$.jsx)(fd,{thread:e,projectCwd:t.cwd,gitStatus:i,orderedProjectThreadKeys:n,isActive:r===a,jumpLabel:s.get(a)??null,appSettingsConfirmThreadArchive:w,renamingThreadKey:ue,renamingTitle:de,setRenamingTitle:pe,renamingInputRef:vt,renamingCommittedRef:_t,confirmingArchiveThreadKey:he,setConfirmingArchiveThreadKey:ge,confirmArchiveButtonRefs:yt,handleThreadClick:ln,navigateToThread:on,navigateToDraft:sn,handleMultiSelectContextMenu:pn,handleThreadContextMenu:Wn,closeThread:cn,clearSelection:R,commitRename:Mn,cancelRename:jn,attemptArchiveThread:An,openPrLink:ne,isTreeChild:!0},a)}}):(0,$.jsx)(hd,{projectKey:t.projectKey,projectExpanded:se,hasOverflowingThreads:Pt,hiddenThreadStatus:Ft,orderedProjectThreadKeys:kt,renderedThreads:It,showEmptyThreadState:Lt,shouldShowThreadPanel:zt,isThreadListExpanded:n,projectCwd:t.cwd,activeRouteThreadKey:r,threadJumpLabelByKey:s,appSettingsConfirmThreadArchive:w,renamingThreadKey:ue,renamingTitle:de,setRenamingTitle:pe,renamingInputRef:vt,renamingCommittedRef:_t,confirmingArchiveThreadKey:he,setConfirmingArchiveThreadKey:ge,confirmArchiveButtonRefs:yt,attachThreadListAutoAnimateRef:l,handleThreadClick:ln,navigateToThread:on,navigateToDraft:sn,handleMultiSelectContextMenu:pn,handleThreadContextMenu:Wn,closeThread:cn,clearSelection:R,commitRename:Mn,cancelRename:jn,attemptArchiveThread:An,openPrLink:ne,expandThreadListForProject:f,collapseThreadListForProject:m}),(0,$.jsx)(At,{open:ve,environmentId:t.environmentId,projectId:t.id,cwd:t.cwd,initialTab:Ce,onCreated:e=>{on(p(t.environmentId,e.sessionId))},onOpenChange:Se}),(0,$.jsx)(Lu,{open:Ee.open,projectName:t.displayName,memberProjects:t.memberProjects,initialTab:Ee.initialTab,onOpenChange:e=>De(t=>({...t,open:e}))}),(0,$.jsx)(Nd,{open:Je,target:Ke,title:rt,customAvatarContentHash:dt,preferredRemoteName:pt,workspaceRoot:at,customSystemPrompt:st,saving:lt,onClose:Pn,onSave:()=>void In(),onTitleChange:it,onWorkspaceRootChange:ot,onCustomSystemPromptChange:ct,onPreferredRemoteChange:ht,onPickWorkspaceRoot:()=>void Fn(),onOpenRemote:Bn,onUploadAvatar:Rn,onRemoveAvatar:zn}),(0,$.jsx)(dn,{open:Ne!==null,onOpenChange:e=>{e||Nn()},children:(0,$.jsxs)(Xe,{className:`project-glass-surface max-w-lg`,surface:`glass`,children:[(0,$.jsxs)(mt,{children:[(0,$.jsx)(Ht,{children:`Rename project`}),(0,$.jsx)(nt,{children:Ne?`Update the title for ${Ne.cwd}.`:`Update the project title.`})]}),(0,$.jsxs)(Wt,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Project title`}),(0,$.jsx)(di,{"aria-label":`Project title`,value:Le,onChange:e=>Re(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ci(e)&&(e.preventDefault(),Ln())}})]}),Ne?.environmentLabel?(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Environment: `,Ne.environmentLabel]}):null]}),(0,$.jsxs)(tt,{children:[(0,$.jsx)(we,{variant:`outline`,onClick:Nn,children:`Cancel`}),(0,$.jsx)(we,{onClick:()=>void Ln(),children:`Save`})]})]})}),(0,$.jsx)(dn,{open:ze!==null,onOpenChange:e=>{e||Vn()},children:(0,$.jsxs)(Xe,{className:`project-glass-surface max-w-lg`,surface:`glass`,children:[(0,$.jsxs)(mt,{children:[(0,$.jsx)(Ht,{children:`Project grouping`}),(0,$.jsx)(nt,{children:ze?`Choose how ${ze.cwd} should be grouped in the sidebar.`:`Choose how this project should be grouped in the sidebar.`})]}),(0,$.jsxs)(Wt,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Grouping rule`}),(0,$.jsxs)(Rt,{value:Ve,onValueChange:e=>{(e===`inherit`||e===`repository`||e===`repository_path`||e===`separate`)&&We(e)},children:[(0,$.jsx)(fn,{className:`w-full`,"aria-label":`Project grouping rule`,children:(0,$.jsx)(gt,{children:Ve===`inherit`?`Use global default (${id[D.sidebarProjectGroupingMode]})`:id[Ve]})}),(0,$.jsxs)(Mt,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(mn,{hideIndicator:!0,value:`inherit`,children:`Use global default`}),(0,$.jsx)(mn,{hideIndicator:!0,value:`repository`,children:id.repository}),(0,$.jsx)(mn,{hideIndicator:!0,value:`repository_path`,children:id.repository_path}),(0,$.jsx)(mn,{hideIndicator:!0,value:`separate`,children:id.separate})]})]})]}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:sd(Ve===`inherit`?D.sidebarProjectGroupingMode:Ve)})]}),(0,$.jsxs)(tt,{children:[(0,$.jsx)(we,{variant:`outline`,onClick:Vn,children:`Cancel`}),(0,$.jsx)(we,{onClick:Hn,children:`Save`})]})]})})]})}),Kd=(0,Z.memo)(function(e){let t=(0,Q.c)(46),n=e.isManualProjectSorting?e.dragHandleProps?.setActivatorNodeRef:void 0,r=`gap-2 px-2 py-1.5 pr-9 text-left hover:bg-accent group-hover/folder-row:bg-accent group-hover/folder-row:text-sidebar-accent-foreground ${e.isManualProjectSorting?`cursor-grab active:cursor-grabbing`:`cursor-pointer`}`,i;t[0]!==e.dragHandleProps||t[1]!==e.isManualProjectSorting?(i=e.isManualProjectSorting&&e.dragHandleProps?e.dragHandleProps.attributes:{},t[0]=e.dragHandleProps,t[1]=e.isManualProjectSorting,t[2]=i):i=t[2];let a;t[3]!==e.dragHandleProps||t[4]!==e.isManualProjectSorting?(a=e.isManualProjectSorting&&e.dragHandleProps?e.dragHandleProps.listeners:{},t[3]=e.dragHandleProps,t[4]=e.isManualProjectSorting,t[5]=a):a=t[5];let o;t[6]===e.expanded?o=t[7]:(o=e.expanded?(0,$.jsx)(Yn,{className:`size-[18px] shrink-0 text-muted-foreground/80`}):(0,$.jsx)(Dt,{className:`size-[18px] shrink-0 text-muted-foreground/80`}),t[6]=e.expanded,t[7]=o);let s;t[8]===e.folderName?s=t[9]:(s=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium text-foreground/90`,children:e.folderName}),t[8]=e.folderName,t[9]=s);let c;t[10]===e.projectCount?c=t[11]:(c=(0,$.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/60`,children:e.projectCount}),t[10]=e.projectCount,t[11]=c);let l;t[12]!==e.expanded||t[13]!==e.onToggle||t[14]!==n||t[15]!==r||t[16]!==i||t[17]!==a||t[18]!==o||t[19]!==s||t[20]!==c?(l=(0,$.jsxs)(ar,{ref:n,size:`sm`,className:r,...i,...a,"aria-expanded":e.expanded,onClick:e.onToggle,children:[o,s,c]}),t[12]=e.expanded,t[13]=e.onToggle,t[14]=n,t[15]=r,t[16]=i,t[17]=a,t[18]=o,t[19]=s,t[20]=c,t[21]=l):l=t[21];let u=`Open folder settings for ${e.folderName}`,d;t[22]===u?d=t[23]:(d=(0,$.jsx)(Ue,{"aria-label":u,className:`pointer-events-none absolute top-1 right-1.5 inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 opacity-0 transition-opacity duration-150 hover:bg-secondary hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring max-sm:pointer-events-auto max-sm:opacity-100 group-hover/folder-row:pointer-events-auto group-hover/folder-row:opacity-100 group-focus-within/folder-row:pointer-events-auto group-focus-within/folder-row:opacity-100`}),t[22]=u,t[23]=d);let f;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(Jt,{className:`size-3.5`}),t[24]=f):f=t[24];let p;t[25]===d?p=t[26]:(p=(0,$.jsx)(ye,{render:d,children:f}),t[25]=d,t[26]=p);let m;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(Ae,{side:`top`,children:`Folder settings`}),t[27]=m):m=t[27];let h;t[28]===p?h=t[29]:(h=(0,$.jsxs)(be,{children:[p,m]}),t[28]=p,t[29]=h);let g;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(at,{className:`size-3.5`}),t[30]=g):g=t[30];let _;t[31]===e.onRename?_=t[32]:(_=(0,$.jsxs)(Ie,{onClick:e.onRename,className:`min-h-7 py-1 sm:text-xs`,children:[g,`Rename folder`]}),t[31]=e.onRename,t[32]=_);let v;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(ze,{}),t[33]=v):v=t[33];let y;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(xr,{className:`size-3.5`}),t[34]=y):y=t[34];let b;t[35]===e.onDelete?b=t[36]:(b=(0,$.jsxs)(Ie,{onClick:e.onDelete,variant:`destructive`,className:`min-h-7 py-1 sm:text-xs`,children:[y,`Delete folder`]}),t[35]=e.onDelete,t[36]=b);let x;t[37]!==_||t[38]!==b?(x=(0,$.jsxs)(Ge,{align:`end`,side:`bottom`,className:`min-w-44`,children:[_,v,b]}),t[37]=_,t[38]=b,t[39]=x):x=t[39];let S;t[40]!==h||t[41]!==x?(S=(0,$.jsxs)(Pe,{children:[h,x]}),t[40]=h,t[41]=x,t[42]=S):S=t[42];let C;return t[43]!==S||t[44]!==l?(C=(0,$.jsxs)(`div`,{className:`group/folder-row relative`,children:[l,S]}),t[43]=S,t[44]=l,t[45]=C):C=t[45],C}),qd=`project-folder-root-drop`;function Jd(e){let t=(0,Q.c)(6),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={id:qd},t[0]=n):n=t[0];let{isOver:r,setNodeRef:i}=hc(n);if(!e.hasFolders){let e;return t[1]===i?e=t[2]:(e=(0,$.jsx)(`li`,{ref:i,className:`h-0`,"aria-hidden":`true`}),t[1]=i,t[2]=e),e}let a=`mx-1 my-1 h-6 rounded-md border border-dashed text-center text-[10px] leading-6 transition-colors ${r?`border-primary/50 bg-primary/10 text-primary`:`border-transparent text-muted-foreground/50`}`,o;return t[3]!==i||t[4]!==a?(o=(0,$.jsx)(`li`,{ref:i,"aria-label":`Move projects to root`,className:a,children:`Root`}),t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function Yd(){let e=(0,Q.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`g`,{transform:`matrix(1080.539877,0,0,1080.539877,272,1401.377914)`,children:(0,$.jsx)(`path`,{d:`M0.055,-0.494L0.055,-0L0.104,-0L0.104,-0.288C0.104,-0.378 0.175,-0.452 0.267,-0.453C0.296,-0.453 0.325,-0.446 0.351,-0.43L0.373,-0.47C0.34,-0.49 0.304,-0.5 0.267,-0.499C0.204,-0.499 0.134,-0.473 0.103,-0.406L0.101,-0.494L0.055,-0.494Z`})}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`g`,{transform:`matrix(1080.539877,0,0,1080.539877,729.068368,1401.377914)`,children:(0,$.jsx)(`path`,{d:`M0.424,-0.494L0.3,-0.203L0.243,-0.059L0.185,-0.202L0.07,-0.494L0.017,-0.494L0.215,-0.006L0.124,0.206L0.176,0.206L0.477,-0.494L0.424,-0.494Z`})}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`g`,{transform:`matrix(1080.539877,0,0,1080.539877,1287.707485,1401.377914)`,children:(0,$.jsx)(`path`,{d:`M0.427,-0.102C0.387,-0.062 0.333,-0.041 0.28,-0.041C0.168,-0.041 0.074,-0.114 0.074,-0.247C0.074,-0.38 0.168,-0.453 0.28,-0.453C0.333,-0.453 0.388,-0.434 0.428,-0.394L0.46,-0.425C0.41,-0.474 0.345,-0.499 0.28,-0.499C0.137,-0.499 0.026,-0.403 0.026,-0.247C0.026,-0.091 0.141,0.005 0.28,0.005C0.345,0.005 0.41,-0.019 0.46,-0.069L0.427,-0.102Z`})}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`svg`,{"aria-label":`Ryco`,className:`h-3 w-auto shrink-0 text-foreground`,viewBox:`650 1050 2150 800`,xmlns:`http://www.w3.org/2000/svg`,fill:`currentColor`,children:(0,$.jsx)(`g`,{transform:`matrix(0.718921,0,0,1,443.224836,208.15748)`,children:(0,$.jsxs)(`g`,{transform:`matrix(1.390973,0,0,1,-106.34474,0)`,children:[t,n,r,(0,$.jsx)(`g`,{transform:`matrix(1080.539877,0,0,1080.539877,1844.185521,1401.377914)`,children:(0,$.jsx)(`path`,{d:`M0.283,0.007C0.422,0.007 0.534,-0.089 0.534,-0.246C0.534,-0.403 0.422,-0.503 0.283,-0.503C0.144,-0.503 0.032,-0.403 0.032,-0.246C0.032,-0.089 0.144,0.007 0.283,0.007ZM0.283,-0.041C0.171,-0.041 0.08,-0.118 0.08,-0.246C0.08,-0.374 0.171,-0.457 0.283,-0.457C0.395,-0.457 0.486,-0.374 0.486,-0.246C0.486,-0.118 0.395,-0.041 0.283,-0.041Z`})})]})})}),e[3]=i):i=e[3],i}function Xd(e){let t=(0,Q.c)(30),{projectSortOrder:n,threadSortOrder:r,projectGroupingMode:i,onProjectSortOrderChange:a,onThreadSortOrderChange:o,onProjectGroupingModeChange:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(Ue,{className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 transition-colors hover:bg-accent hover:text-foreground`}),children:(0,$.jsx)(Ti,{className:`size-3.5`})}),(0,$.jsx)(Ae,{side:`right`,children:`Sort projects`})]}),t[0]=c):c=t[0];let l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`div`,{className:`px-2 py-1 sm:text-xs font-medium text-muted-foreground`,children:`Sort projects`}),t[1]=l):l=t[1];let u;t[2]===a?u=t[3]:(u=e=>{a(e)},t[2]=a,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=Object.entries(ed),t[4]=d):d=t[4];let f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=d.map($d),t[5]=f):f=t[5];let p;t[6]!==n||t[7]!==u?(p=(0,$.jsxs)(Ee,{children:[l,(0,$.jsx)(Ve,{value:n,onValueChange:u,children:f})]}),t[6]=n,t[7]=u,t[8]=p):p=t[8];let m;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(`div`,{className:`px-2 pt-2 pb-1 sm:text-xs font-medium text-muted-foreground`,children:`Sort threads`}),t[9]=m):m=t[9];let h;t[10]===o?h=t[11]:(h=e=>{o(e)},t[10]=o,t[11]=h);let g;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=Object.entries(td),t[12]=g):g=t[12];let _;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(_=g.map(Qd),t[13]=_):_=t[13];let v;t[14]!==h||t[15]!==r?(v=(0,$.jsxs)(Ee,{children:[m,(0,$.jsx)(Ve,{value:r,onValueChange:h,children:_})]}),t[14]=h,t[15]=r,t[16]=v):v=t[16];let y;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(ze,{}),t[17]=y):y=t[17];let b;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(`div`,{className:`px-2 pt-2 pb-1 font-medium text-muted-foreground sm:text-xs`,children:`Group projects`}),t[18]=b):b=t[18];let x;t[19]===s?x=t[20]:(x=e=>{(e===`repository`||e===`repository_path`||e===`separate`)&&s(e)},t[19]=s,t[20]=x);let S;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(S=Object.entries(id),t[21]=S):S=t[21];let C;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(C=S.map(Zd),t[22]=C):C=t[22];let w;t[23]!==i||t[24]!==x?(w=(0,$.jsxs)(Ee,{children:[b,(0,$.jsx)(Ve,{value:i,onValueChange:x,children:C})]}),t[23]=i,t[24]=x,t[25]=w):w=t[25];let T;return t[26]!==v||t[27]!==w||t[28]!==p?(T=(0,$.jsxs)(Pe,{children:[c,(0,$.jsxs)(Ge,{align:`end`,side:`bottom`,className:`min-w-44`,children:[p,v,y,w]})]}),t[26]=v,t[27]=w,t[28]=p,t[29]=T):T=t[29],T}function Zd(e){let[t,n]=e;return(0,$.jsx)(We,{value:t,className:`min-h-7 py-1 sm:text-xs`,children:n},t)}function Qd(e){let[t,n]=e;return(0,$.jsx)(We,{value:t,className:`min-h-7 py-1 sm:text-xs`,children:n},t)}function $d(e){let[t,n]=e;return(0,$.jsx)(We,{value:t,className:`min-h-7 py-1 sm:text-xs`,children:n},t)}function ef(e){let t=(0,Q.c)(18),{projectId:n,disabled:r,children:i}=e,a=r===void 0?!1:r,o;t[0]!==a||t[1]!==n?(o={id:n,disabled:a},t[0]=a,t[1]=n,t[2]=o):o=t[2];let{attributes:s,listeners:c,setActivatorNodeRef:l,setNodeRef:u,transform:d,transition:f,isDragging:p,isOver:m}=Fc(o),h;t[3]===d?h=t[4]:(h=Ga.Translate.toString(d),t[3]=d,t[4]=h);let g;t[5]!==h||t[6]!==f?(g={transform:h,transition:f},t[5]=h,t[6]=f,t[7]=g):g=t[7];let _=`group/menu-item relative rounded-md ${p?`z-20 opacity-80`:``} ${m&&!p?`ring-1 ring-primary/40`:``}`,v;t[8]!==s||t[9]!==i||t[10]!==c||t[11]!==l?(v=i({attributes:s,listeners:c,setActivatorNodeRef:l}),t[8]=s,t[9]=i,t[10]=c,t[11]=l,t[12]=v):v=t[12];let y;return t[13]!==u||t[14]!==g||t[15]!==_||t[16]!==v?(y=(0,$.jsx)(`li`,{ref:u,style:g,className:_,"data-sidebar":`menu-item`,"data-slot":`sidebar-menu-item`,children:v}),t[13]=u,t[14]=g,t[15]=_,t[16]=v,t[17]=y):y=t[17],y}var tf=(0,Z.memo)(function(e){let t=(0,Q.c)(18),{isElectron:n}=e,{isMobile:r,setOpenMobile:i}=nr(),a=Kr(of),o;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{r&&i(!1),a()},t[0]=r,t[1]=a,t[2]=i,t[3]=o):o=t[3];let s=o,c,l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(st,{className:`size-3.5`}),l=(0,$.jsx)(`span`,{className:`hidden text-xs @[12rem]/sidebar-header:inline`,children:`Settings`}),t[4]=c,t[5]=l):(c=t[4],l=t[5]);let u;t[6]===s?u=t[7]:(u=(0,$.jsx)(ye,{render:(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Settings`,onClick:s,className:`ml-auto inline-flex shrink-0 cursor-pointer items-center gap-1.5 rounded-md px-1.5 py-1 text-muted-foreground/70 outline-hidden ring-ring transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-2`,children:[c,l]})}),t[6]=s,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(Ae,{side:`bottom`,sideOffset:2,children:`Settings`}),t[8]=d):d=t[8];let f;t[9]===u?f=t[10]:(f=(0,$.jsxs)(be,{children:[u,d]}),t[9]=u,t[10]=f);let p=f,m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(cr,{className:`shrink-0 md:hidden`}),t[11]=m):m=t[11];let h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsxs)(wn,{"aria-label":`Go to threads`,className:`ml-1 flex min-w-0 cursor-pointer items-center gap-1 rounded-md outline-hidden ring-ring transition-colors hover:text-foreground focus-visible:ring-2`,to:`/`,children:[(0,$.jsx)(Yd,{}),(0,$.jsx)(`span`,{className:`rounded-full bg-muted/50 px-1.5 py-0.5 text-[8px] font-medium uppercase tracking-[0.18em] text-muted-foreground/60`,children:F})]})}),(0,$.jsxs)(Ae,{side:`bottom`,sideOffset:2,children:[`Version `,A]})]}),t[12]=h):h=t[12];let g;t[13]===p?g=t[14]:(g=(0,$.jsxs)(`div`,{className:`@container/sidebar-header flex w-full min-w-0 items-center gap-2`,children:[m,h,p]}),t[13]=p,t[14]=g);let _=g,v;return t[15]!==n||t[16]!==_?(v=n?(0,$.jsx)(rr,{className:`drag-region h-[52px] flex-row items-center gap-2 px-4 py-0 pl-[90px] wco:h-[env(titlebar-area-height)] wco:pl-[calc(env(titlebar-area-x)+1em)]`,children:_}):(0,$.jsx)(rr,{className:`gap-3 px-3 py-2 sm:gap-2.5 sm:px-4 sm:py-3`,children:_}),t[15]=n,t[16]=_,t[17]=v):v=t[17],v}),nf=(0,Z.memo)(function(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(hr,{className:`p-2`,children:[(0,$.jsx)(Yu,{}),(0,$.jsx)(Jc,{})]}),e[0]=t):t=e[0],t}),rf=(0,Z.memo)(function(e){let t=(0,Q.c)(138),{showArm64IntelBuildWarning:n,arm64IntelBuildWarningDescription:r,desktopUpdateButtonAction:i,desktopUpdateButtonDisabled:a,handleDesktopUpdateButtonClick:o,projectSortOrder:s,threadSortOrder:c,projectGroupingMode:l,updateSettings:u,openAddProject:d,isManualProjectSorting:f,projectDnDSensors:p,projectCollisionDetection:m,handleProjectDragStart:h,handleProjectDragEnd:g,handleProjectDragCancel:_,handleNewThread:v,archiveThread:y,deleteThread:b,projectTreeRows:x,expandedThreadListsByProject:S,activeRouteProjectKey:C,routeThreadKey:w,newThreadShortcutLabel:T,commandPaletteShortcutLabel:E,threadJumpLabelByKey:D,attachThreadListAutoAnimateRef:O,expandThreadListForProject:k,collapseThreadListForProject:A,dragInProgressRef:j,suppressProjectClickAfterDragRef:M,suppressProjectClickForContextMenuRef:N,attachProjectListAutoAnimateRef:P,projectsLength:F}=e,I=je(sf),L=je(cf),R=je(lf),ee=je(uf),[z,B]=(0,Z.useState)(null),[V,H]=(0,Z.useState)(``),U;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(U=e=>{let t=e===void 0?{}:e,n=t.initialName??``;B({mode:`create`,initialProjectKeys:t.initialProjectKeys??[],initialName:n}),H(n)},t[0]=U):U=t[0];let te=U,W;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(W=(e,t)=>{B({mode:`rename`,folderId:e,initialName:t}),H(t)},t[1]=W):W=t[1];let ne=W,re;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(re=()=>{B(null),H(``)},t[2]=re):re=t[2];let ie=re,ae;t[3]!==I||t[4]!==z||t[5]!==V||t[6]!==L?(ae=()=>{if(!z)return;let e=V.trim();e&&(z.mode===`create`?I(e,z.initialProjectKeys):L(z.folderId,e),ie())},t[3]=I,t[4]=z,t[5]=V,t[6]=L,t[7]=ae):ae=t[7];let G=ae,oe;t[8]===R?oe=t[9]:(oe=(e,t)=>{window.confirm(`Delete folder "${t}"?\n\nProjects inside it will stay in the sidebar.`)&&R(e)},t[8]=R,t[9]=oe);let K=oe,q;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>{te({initialName:e.displayName,initialProjectKeys:e.memberProjects.map(df)})},t[10]=q):q=t[10];let se=q,ce;t[11]===u?ce=t[12]:(ce=e=>{u({sidebarProjectSortOrder:e})},t[11]=u,t[12]=ce);let le=ce,ue;t[13]===u?ue=t[14]:(ue=e=>{u({sidebarThreadSortOrder:e})},t[13]=u,t[14]=ue);let J=ue,de;t[15]===u?de=t[16]:(de=e=>{u({sidebarProjectGroupingMode:e})},t[15]=u,t[16]=de);let fe=de,pe;t[17]!==C||t[18]!==y||t[19]!==O||t[20]!==A||t[21]!==b||t[22]!==j||t[23]!==k||t[24]!==S||t[25]!==v||t[26]!==f||t[27]!==T||t[28]!==w||t[29]!==M||t[30]!==N||t[31]!==D?(pe=(e,t)=>(0,$.jsx)(Gd,{project:e,isThreadListExpanded:S.has(e.projectKey),activeRouteThreadKey:C===e.projectKey?w:null,newThreadShortcutLabel:T,handleNewThread:v,archiveThread:y,deleteThread:b,threadJumpLabelByKey:D,attachThreadListAutoAnimateRef:O,expandThreadListForProject:k,collapseThreadListForProject:A,onNewFolderWithProject:se,dragInProgressRef:j,suppressProjectClickAfterDragRef:M,suppressProjectClickForContextMenuRef:N,isManualProjectSorting:f,dragHandleProps:t}),t[17]=C,t[18]=y,t[19]=O,t[20]=A,t[21]=b,t[22]=j,t[23]=k,t[24]=S,t[25]=v,t[26]=f,t[27]=T,t[28]=w,t[29]=M,t[30]=N,t[31]=D,t[32]=pe):pe=t[32];let me=pe,he,_e,ve;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(ar,{size:`sm`,className:`gap-2 px-2 py-1.5 text-muted-foreground/70 hover:bg-accent hover:text-foreground focus-visible:ring-0`,"data-testid":`command-palette-trigger`}),_e=(0,$.jsx)(vt,{className:`size-3.5`}),ve=(0,$.jsx)(`span`,{className:`flex-1 truncate text-left text-xs`,children:`Search`}),t[33]=he,t[34]=_e,t[35]=ve):(he=t[33],_e=t[34],ve=t[35]);let xe;t[36]===E?xe=t[37]:(xe=E?(0,$.jsx)(qn,{className:`h-4 min-w-0 rounded-sm px-1.5 text-[10px]`,children:E}):null,t[36]=E,t[37]=xe);let Se;t[38]===xe?Se=t[39]:(Se=(0,$.jsx)(ur,{className:`px-2 pt-2 pb-1`,children:(0,$.jsx)(gr,{children:(0,$.jsx)(dr,{children:(0,$.jsxs)(pn,{render:he,children:[_e,ve,xe]})})})}),t[38]=xe,t[39]=Se);let Ce;t[40]!==r||t[41]!==i||t[42]!==a||t[43]!==o||t[44]!==n?(Ce=n&&r?(0,$.jsx)(ur,{className:`px-2 pt-2 pb-0`,children:(0,$.jsxs)(ft,{variant:`warning`,className:`rounded-2xl border-warning/40 bg-warning/8`,children:[(0,$.jsx)(Wn,{}),(0,$.jsx)(lt,{children:`Intel build on Apple Silicon`}),(0,$.jsx)(it,{children:r}),i===`none`?null:(0,$.jsx)(ht,{children:(0,$.jsx)(we,{size:`xs`,variant:`outline`,disabled:a,onClick:o,children:i===`download`?`Download ARM build`:`Install ARM build`})})]})}):null,t[40]=r,t[41]=i,t[42]=a,t[43]=o,t[44]=n,t[45]=Ce):Ce=t[45];let Te;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,$.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60`,children:`Projects`}),t[46]=Te):Te=t[46];let Ee;t[47]!==fe||t[48]!==le||t[49]!==J||t[50]!==l||t[51]!==s||t[52]!==c?(Ee=(0,$.jsx)(Xd,{projectSortOrder:s,threadSortOrder:c,projectGroupingMode:l,onProjectSortOrderChange:le,onThreadSortOrderChange:J,onProjectGroupingModeChange:fe}),t[47]=fe,t[48]=le,t[49]=J,t[50]=l,t[51]=s,t[52]=c,t[53]=Ee):Ee=t[53];let De;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,$.jsxs)(be,{children:[(0,$.jsx)(ye,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":`Create project folder`,className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 transition-colors hover:bg-accent hover:text-foreground`,onClick:()=>te()}),children:(0,$.jsx)(Zn,{className:`size-3.5`})}),(0,$.jsx)(Ae,{side:`right`,children:`New folder`})]}),t[54]=De):De=t[54];let Oe;t[55]===d?Oe=t[56]:(Oe=(0,$.jsx)(`button`,{type:`button`,"aria-label":`Add project`,"data-testid":`sidebar-add-project-trigger`,className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 transition-colors hover:bg-accent hover:text-foreground`,onClick:d}),t[55]=d,t[56]=Oe);let ke;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsx)(br,{className:`size-3.5`}),t[57]=ke):ke=t[57];let Me;t[58]===Oe?Me=t[59]:(Me=(0,$.jsx)(ye,{render:Oe,children:ke}),t[58]=Oe,t[59]=Me);let Ne;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,$.jsx)(Ae,{side:`right`,children:`Add project`}),t[60]=Ne):Ne=t[60];let Pe;t[61]===Me?Pe=t[62]:(Pe=(0,$.jsxs)(be,{children:[Me,Ne]}),t[61]=Me,t[62]=Pe);let Fe;t[63]!==Ee||t[64]!==Pe?(Fe=(0,$.jsxs)(`div`,{className:`mb-1 flex items-center justify-between pl-2 pr-1.5`,children:[Te,(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[Ee,De,Pe]})]}),t[63]=Ee,t[64]=Pe,t[65]=Fe):Fe=t[65];let Ie;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=[zc,Rc],t[66]=Ie):Ie=t[66];let Le;t[67]===x?Le=t[68]:(Le=x.map(ff),t[67]=x,t[68]=Le);let Re;if(t[69]!==K||t[70]!==f||t[71]!==x||t[72]!==me||t[73]!==ee){let e;t[75]!==K||t[76]!==f||t[77]!==me||t[78]!==ee?(e=e=>e.kind===`project`?(0,$.jsx)(ef,{projectId:e.itemId,children:t=>me(e.project,t)},e.itemId):(0,$.jsx)(ef,{projectId:e.itemId,children:t=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Kd,{folderName:e.folder.name,projectCount:e.projects.length,expanded:e.folder.expanded,isManualProjectSorting:f,dragHandleProps:t,onToggle:()=>ee(e.folder.id,!e.folder.expanded),onRename:()=>ne(e.folder.id,e.folder.name),onDelete:()=>K(e.folder.id,e.folder.name)}),e.folder.expanded?(0,$.jsx)(vr,{children:(0,$.jsx)(ad,{items:e.projects.map(pf),strategy:Cc,children:e.projects.map(e=>(0,$.jsx)(ef,{projectId:ge(e.projectKey),children:t=>me(e,t)},e.projectKey))})}):null]})},e.itemId),t[75]=K,t[76]=f,t[77]=me,t[78]=ee,t[79]=e):e=t[79],Re=x.map(e),t[69]=K,t[70]=f,t[71]=x,t[72]=me,t[73]=ee,t[74]=Re}else Re=t[74];let ze;t[80]!==Le||t[81]!==Re?(ze=(0,$.jsx)(ad,{items:Le,strategy:Cc,children:Re}),t[80]=Le,t[81]=Re,t[82]=ze):ze=t[82];let Be;t[83]===x?Be=t[84]:(Be=x.some(mf),t[83]=x,t[84]=Be);let Ve;t[85]===Be?Ve=t[86]:(Ve=(0,$.jsx)(Jd,{hasFolders:Be}),t[85]=Be,t[86]=Ve);let He;t[87]!==P||t[88]!==ze||t[89]!==Ve?(He=(0,$.jsxs)(gr,{ref:P,children:[ze,Ve]}),t[87]=P,t[88]=ze,t[89]=Ve,t[90]=He):He=t[90];let Ue;t[91]!==_||t[92]!==g||t[93]!==h||t[94]!==m||t[95]!==p||t[96]!==He?(Ue=(0,$.jsx)(sc,{sensors:p,collisionDetection:m,modifiers:Ie,onDragStart:h,onDragEnd:g,onDragCancel:_,children:He}),t[91]=_,t[92]=g,t[93]=h,t[94]=m,t[95]=p,t[96]=He,t[97]=Ue):Ue=t[97];let We;t[98]!==x.length||t[99]!==F?(We=F===0&&x.length===0&&(0,$.jsx)(`div`,{className:`px-2 pt-4 text-center text-xs text-muted-foreground/60`,children:`No projects yet`}),t[98]=x.length,t[99]=F,t[100]=We):We=t[100];let Ge;t[101]!==Fe||t[102]!==Ue||t[103]!==We?(Ge=(0,$.jsxs)(ur,{className:`px-2 py-2`,children:[Fe,Ue,We]}),t[101]=Fe,t[102]=Ue,t[103]=We,t[104]=Ge):Ge=t[104];let Ke;t[105]!==Se||t[106]!==Ce||t[107]!==Ge?(Ke=(0,$.jsxs)(pr,{className:`gap-0`,children:[Se,Ce,Ge]}),t[105]=Se,t[106]=Ce,t[107]=Ge,t[108]=Ke):Ke=t[108];let qe=z!==null,Je;t[109]===Symbol.for(`react.memo_cache_sentinel`)?(Je=e=>{e||ie()},t[109]=Je):Je=t[109];let Ye=z?.mode===`rename`?`Rename folder`:`New project folder`,Ze;t[110]===Ye?Ze=t[111]:(Ze=(0,$.jsx)(Ht,{children:Ye}),t[110]=Ye,t[111]=Ze);let Qe;t[112]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,$.jsx)(nt,{children:`Project folders organize this sidebar only. Projects and sessions are not changed.`}),t[112]=Qe):Qe=t[112];let $e;t[113]===Ze?$e=t[114]:($e=(0,$.jsxs)(mt,{children:[Ze,Qe]}),t[113]=Ze,t[114]=$e);let et;t[115]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Folder name`}),t[115]=et):et=t[115];let rt;t[116]===Symbol.for(`react.memo_cache_sentinel`)?(rt=e=>H(e.target.value),t[116]=rt):rt=t[116];let at;t[117]===G?at=t[118]:(at=e=>{e.key===`Enter`&&ci(e)&&(e.preventDefault(),G())},t[117]=G,t[118]=at);let ot;t[119]!==V||t[120]!==at?(ot=(0,$.jsx)(Wt,{className:`space-y-4`,children:(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[et,(0,$.jsx)(di,{"aria-label":`Folder name`,value:V,autoFocus:!0,onChange:rt,onKeyDown:at})]})}),t[119]=V,t[120]=at,t[121]=ot):ot=t[121];let st;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(st=(0,$.jsx)(we,{variant:`outline`,onClick:ie,children:`Cancel`}),t[122]=st):st=t[122];let ct;t[123]===V?ct=t[124]:(ct=V.trim(),t[123]=V,t[124]=ct);let ut=ct.length===0,dt;t[125]!==G||t[126]!==ut?(dt=(0,$.jsxs)(tt,{children:[st,(0,$.jsx)(we,{disabled:ut,onClick:G,children:`Save`})]}),t[125]=G,t[126]=ut,t[127]=dt):dt=t[127];let pt;t[128]!==$e||t[129]!==ot||t[130]!==dt?(pt=(0,$.jsxs)(Xe,{className:`project-glass-surface max-w-md`,surface:`glass`,children:[$e,ot,dt]}),t[128]=$e,t[129]=ot,t[130]=dt,t[131]=pt):pt=t[131];let gt;t[132]!==qe||t[133]!==pt?(gt=(0,$.jsx)(dn,{open:qe,onOpenChange:Je,children:pt}),t[132]=qe,t[133]=pt,t[134]=gt):gt=t[134];let _t;return t[135]!==Ke||t[136]!==gt?(_t=(0,$.jsxs)($.Fragment,{children:[Ke,gt]}),t[135]=Ke,t[136]=gt,t[137]=_t):_t=t[137],_t});function af(){Qe(`Sidebar`);let e=U(_e(R)),t=U(_e(se)),n=U(_e(ie)),r=je(e=>e.projectExpandedById),i=je(e=>e.projectOrder),a=je(e=>e.projectFoldersById),o=je(e=>e.projectFolderOrder),s=je(e=>e.projectTreeOrder),l=je(e=>e.reorderProjects),f=je(e=>e.moveProjectsToFolder),m=je(e=>e.moveProjectsToRoot),v=je(e=>e.reorderProjectTreeItem),y=gn(),x=N(e=>e.sidebarThreadSortOrder),S=N(e=>e.sidebarProjectSortOrder),C=N(e=>e.sidebarProjectGroupingMode),w=N(e=>({sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides})),{updateSettings:T}=b(),{handleNewThread:E}=Qr(),{archiveThread:D,deleteThread:O}=Ln(),{isMobile:k,setOpenMobile:A}=nr(),P=_n({strict:!1,select:e=>xn(e)}),F=_n({strict:!1,select:e=>typeof e.draftId==`string`?e.draftId:null}),I=P?c(P):null,L=Fe((0,Z.useMemo)(()=>e=>F?e.draftThreadsByThreadKey[F]??null:null,[F])),ee=L?c(p(L.environmentId,L.threadId)):null,z=I??ee,B=j(),V=Cr(e=>e.openAddProject),[H,te]=(0,Z.useState)(()=>new Set),{showThreadJumpHints:W,updateThreadJumpHintsVisibility:re}=Ar(),ae=(0,Z.useRef)(!1),G=(0,Z.useRef)(!1),oe=(0,Z.useRef)(!1),[q,le]=(0,Z.useState)(null),ue=Tn(e=>e.selectedThreadKeys.size),J=Tn(e=>e.clearSelection),fe=Tn(e=>e.setAnchor),me=navigator.platform,he=Uc(),ve=mi(),ye=Tr(),be=ne(e=>e.byId),xe=_(e=>e.byId),Se=(0,Z.useMemo)(()=>Nr({items:e,preferredIds:i,getId:M}),[i,e]),Ce=(0,Z.useMemo)(()=>Bu({projects:Se,settings:w}),[Se,w]),we=(0,Z.useMemo)(()=>new Map(Se.map(e=>[u(d(e.environmentId,e.id)),pe(e)])),[Se]),Te=(0,Z.useMemo)(()=>Vu({projects:Se,settings:w,primaryEnvironmentId:ye,resolveEnvironmentLabel:e=>{let t=xe[e],n=be[e];return t?.descriptor?.label??n?.label??null}}),[Se,w,ye,be,xe]),Ee=(0,Z.useMemo)(()=>new Map(Te.map(e=>[e.projectKey,e])),[Te]),Oe=(0,Z.useMemo)(()=>new Map(t.map(e=>[c(p(e.environmentId,e.id)),e])),[t]),ke=(0,Z.useMemo)(()=>{if(!z)return null;let e=Oe.get(z)??(L?{environmentId:L.environmentId,projectId:L.projectId}:null);if(!e)return null;let t=we.get(u(d(e.environmentId,e.projectId)))??u(d(e.environmentId,e.projectId));return Ce.get(t)??t},[z,L,Oe,Ce,we]),Ae=(0,Z.useMemo)(()=>{let e=new Map;for(let n of t){let t=we.get(u(d(n.environmentId,n.projectId)))??u(d(n.environmentId,n.projectId)),r=Ce.get(t)??t,i=e.get(r);i?i.push(n):e.set(r,[n])}return e},[t,Ce,we]),Me=(0,Z.useMemo)(()=>{let e=new Map;for(let t of n){let n=we.get(u(d(t.environmentId,t.projectId)))??u(d(t.environmentId,t.projectId)),r=Ce.get(n)??n,i=e.get(r);i?i.push(t):e.set(r,[t])}return e},[n,Ce,we]),Ne=(0,Z.useCallback)(()=>({terminalFocus:yr(),terminalOpen:P?de(K.getState().terminalStateByThreadKey,P).terminalOpen:!1,modelPickerOpen:ve}),[ve,P]),Pe=(0,Z.useMemo)(()=>({platform:me,context:{terminalFocus:!1,terminalOpen:!1}}),[me]),Ie=ii(B,`chat.newLocal`,Pe)??ii(B,`chat.new`,Pe),Le=(0,Z.useCallback)(e=>{Tn.getState().selectedThreadKeys.size>0&&J(),fe(c(e)),k&&A(!1),y({to:`/$environmentId/$threadId`,params:bn(e)})},[J,k,y,A,fe]),Re=so(oo(us,{activationConstraint:{distance:6}})),ze=(0,Z.useCallback)(e=>{let t=yo(e);return t.length>0?t:ho(e)},[]),Be=(0,Z.useMemo)(()=>t.filter(e=>e.archivedAt===null),[t]),Ve=(0,Z.useMemo)(()=>Yr(Te.map(e=>({...e,id:e.projectKey})),Be.map(e=>{let t=we.get(u(d(e.environmentId,e.projectId)))??u(d(e.environmentId,e.projectId));return{...e,projectId:Ce.get(t)??t}}),S).flatMap(e=>{let t=Ee.get(e.id);return t?[t]:[]}),[S,Ce,we,Ee,Te,Be]),He=(0,Z.useMemo)(()=>Gu({projects:Ve,projectFoldersById:a,projectFolderOrder:o,projectTreeOrder:s,projectSortOrder:S}),[o,a,s,S,Ve]),Ue=(0,Z.useMemo)(()=>new Map(He.map(e=>[e.itemId,e])),[He]),We=(0,Z.useMemo)(()=>{let e=new Map;for(let t of He){if(t.kind===`project`){e.set(t.itemId,null);continue}for(let n of t.projects)e.set(ge(n.projectKey),t.folder.id)}return e},[He]),Ge=S===`manual`,qe=(0,Z.useCallback)(e=>{ae.current=!1;let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=String(t.id),i=String(n.id),a=De(r);if(a?.kind===`folder`){let e=De(i);Ge&&e&&v(r,i);return}if(a?.kind!==`project`)return;let o=Ee.get(a.projectKey);if(!o)return;let s=o.memberProjects.map(e=>e.physicalProjectKey);if(i===qd){m(s);return}let c=De(i);if(!c)return;if(c.kind===`folder`){f(s,c.folderId);return}let u=Ee.get(c.projectKey);if(!u)return;let d=u.memberProjects.map(e=>e.physicalProjectKey),p=We.get(r)??null,h=We.get(i)??null;if(h){let e=Ue.get(Ke(h)),t=e?.kind===`folder`?e.projects.findIndex(e=>e.projectKey===c.projectKey):void 0;(p!==h||Ge)&&f(s,h,t!==void 0&&t>=0?t:void 0);return}if(p){let e=He.findIndex(e=>e.itemId===i);m(s,e>=0?e:void 0);return}Ge&&(v(r,i),l(s,d))},[ae,We,Ge,f,m,Ue,He,v,l,Ee]),Je=(0,Z.useCallback)(e=>{ae.current=!0,G.current=!0},[ae,G]),Ye=(0,Z.useCallback)(e=>{ae.current=!1},[]),Xe=(0,Z.useMemo)(()=>He.flatMap(e=>(e.kind===`project`?[e.project]:e.folder.expanded?e.projects:[]).flatMap(e=>{let t=Or(Ae.get(e.projectKey)??[],x),n=r[e.projectKey]??!0,i=I??void 0,a=!n&&i&&t.filter(e=>e.archivedAt===null).find(e=>c(p(e.environmentId,e.id))===i)?i:null;if(!n&&!a)return[];let o=Kl({project:e,threads:t,worktrees:Me.get(e.projectKey)??[]}),s=Zc({nowMs:0,projects:[o.project],threads:o.threads,worktrees:o.worktrees}).projects[0];return s?s.worktrees.flatMap(e=>e.sessions.filter(e=>e.archivedAt===null).map(e=>c(p(e.environmentId,e.id))).filter(e=>n||e===a)):[]})),[x,r,He,I,Ae,Me]),Ze=ir(St),$e=yt({prefersReducedMotion:Ze,withinThreshold:Ir(Ve.length)}),et=yt({prefersReducedMotion:Ze,withinThreshold:jr({projectCount:Ve.length,visibleThreadCount:Xe.length})}),tt=(0,Z.useRef)(new Map),nt=(0,Z.useCallback)(e=>{ud(tt.current,e,$e)},[$e]);(0,Z.useEffect)(()=>{ld(tt.current,$e)},[$e]);let rt=(0,Z.useRef)(new Map),it=(0,Z.useCallback)(e=>{ud(rt.current,e,et)},[et]);(0,Z.useEffect)(()=>{ld(rt.current,et)},[et]);let at=(0,Z.useMemo)(()=>{let e=new Map;for(let[t,n]of Xe.entries()){let r=ui(t);if(!r)return e;e.set(n,r)}return e},[Xe]),ot=(0,Z.useMemo)(()=>[...at.keys()],[at]),st=(0,Z.useMemo)(()=>({terminalFocus:!1,terminalOpen:P?de(K.getState().terminalStateByThreadKey,P).terminalOpen:!1,modelPickerOpen:ve}),[ve,P]),ct=(0,Z.useMemo)(()=>dd({keybindings:B,platform:me,terminalOpen:st.terminalOpen,threadJumpCommandByKey:at}),[B,me,st.terminalOpen,at]),lt=!si()&&li(he,B,{platform:me,context:st}),ut=W?ct:rd,dt=Xe,ft=(0,Z.useMemo)(()=>Hr(Xe),[Xe]),pt=(0,Z.useMemo)(()=>ft.flatMap(e=>{let t=h(e);return t?[t]:[]}),[ft]);(0,Z.useEffect)(()=>{let e=pt.map(e=>ce(e.environmentId,e.threadId));return()=>{for(let t of e)t()}},[pt]),(0,Z.useEffect)(()=>{re(lt)},[lt,re]),(0,Z.useEffect)(()=>{let e=e=>{let t=Ne();if(e.defaultPrevented||e.repeat||ti(e))return;let n=ai(e,B,{platform:me,context:t}),r=$r(n);if(r!==null){let t=zr({threadIds:dt,currentThreadId:I,direction:r});if(!t)return;let n=Oe.get(t);if(!n)return;e.preventDefault(),e.stopPropagation(),Le(p(n.environmentId,n.id));return}let i=ei(n??``);if(i===null)return;let a=ot[i];if(!a)return;let o=Oe.get(a);o&&(e.preventDefault(),e.stopPropagation(),Le(p(o.environmentId,o.id)))};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[Ne,B,Le,dt,me,I,Oe,ot]),(0,Z.useEffect)(()=>{let e=e=>{ue!==0&&Jr(e.target instanceof HTMLElement?e.target:null)&&J()};return window.addEventListener(`mousedown`,e),()=>{window.removeEventListener(`mousedown`,e)}},[J,ue]),(0,Z.useEffect)(()=>{if(!g)return;let e=window.desktopBridge;if(!e||typeof e.getUpdateState!=`function`||typeof e.onUpdateState!=`function`)return;let t=!1,n=!1,r=e.onUpdateState(e=>{t||(n=!0,le(e))});return e.getUpdateState().then(e=>{t||n||le(e)}).catch(()=>void 0),()=>{t=!0,r()}},[]);let mt=Dn(q),ht=q?Nn(q):`none`,gt=g&&Bn(q),_t=q&>?Mn(q):null,vt=ii(B,`commandPalette.toggle`,Pe),bt=(0,Z.useCallback)(()=>{let e=window.desktopBridge;if(!(!e||!q)&&!(mt||ht===`none`)){if(ht===`download`){e.downloadUpdate().then(e=>{if(e.completed&&X.add({type:`success`,title:`Update downloaded`,description:`Restart the app from the update button to install it.`}),!kn(e))return;let t=En(e);t&&X.add(Y({type:`error`,title:`Could not download update`,description:t}))}).catch(e=>{X.add(Y({type:`error`,title:`Could not start update download`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))});return}if(ht===`install`){if(!window.confirm(Rn(q)))return;e.installUpdate().then(e=>{if(!kn(e))return;let t=En(e);t&&X.add(Y({type:`error`,title:`Could not install update`,description:t}))}).catch(e=>{X.add(Y({type:`error`,title:`Could not install update`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))})}}},[ht,mt,q]),xt=(0,Z.useCallback)(e=>{te(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Ct=(0,Z.useCallback)(e=>{te(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(tf,{isElectron:g}),(0,$.jsx)(rf,{showArm64IntelBuildWarning:gt,arm64IntelBuildWarningDescription:_t,desktopUpdateButtonAction:ht,desktopUpdateButtonDisabled:mt,handleDesktopUpdateButtonClick:bt,projectSortOrder:S,threadSortOrder:x,projectGroupingMode:C,updateSettings:T,openAddProject:V,isManualProjectSorting:Ge,projectDnDSensors:Re,projectCollisionDetection:ze,handleProjectDragStart:Je,handleProjectDragEnd:qe,handleProjectDragCancel:Ye,handleNewThread:E,archiveThread:D,deleteThread:O,projectTreeRows:He,expandedThreadListsByProject:H,activeRouteProjectKey:ke,routeThreadKey:z,newThreadShortcutLabel:Ie,commandPaletteShortcutLabel:vt,threadJumpLabelByKey:ut,attachThreadListAutoAnimateRef:it,expandThreadListForProject:xt,collapseThreadListForProject:Ct,dragInProgressRef:ae,suppressProjectClickAfterDragRef:G,suppressProjectClickForContextMenuRef:oe,attachProjectListAutoAnimateRef:nt,projectsLength:e.length}),(0,$.jsx)(lr,{}),(0,$.jsx)(nf,{})]})}function of(e){return e.openSettings}function sf(e){return e.createProjectFolder}function cf(e){return e.renameProjectFolder}function lf(e){return e.deleteProjectFolder}function uf(e){return e.setProjectFolderExpanded}function df(e){return e.physicalProjectKey}function ff(e){return e.itemId}function pf(e){return ge(e.projectKey)}function mf(e){return e.kind===`folder`}var hf=`chat_thread_sidebar_width`,gf=208,_f=640,vf=(0,Z.lazy)(()=>n(()=>import(`./SettingsDialog-C-vm2P1q.js`).then(e=>({default:e.SettingsDialog})),[]));function yf(){let e=(0,Q.c)(4),t=Kr(bf),[n,r]=(0,Z.useState)(t),i,a;if(e[0]===t?(i=e[1],a=e[2]):(i=()=>{t&&r(!0)},a=[t],e[0]=t,e[1]=i,e[2]=a),(0,Z.useEffect)(i,a),!n)return null;let o;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(vf,{})}),e[3]=o):o=e[3],o}function bf(e){return e.open}function xf(e){let t=(0,Q.c)(8),{children:n}=e,r=Kr(Df),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[0]=i):i=t[0],(0,Z.useEffect)(Cf,i);let a,o;t[1]===r?(a=t[2],o=t[3]):(a=()=>{let e=window.desktopBridge?.onMenuAction;if(typeof e!=`function`)return;let t=e(e=>{e===`open-settings`&&r()});return()=>{t?.()}},o=[r],t[1]=r,t[2]=a,t[3]=o),(0,Z.useEffect)(a,o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsxs)(_r,{side:`left`,collapsible:`offcanvas`,className:`border-r border-border bg-card text-foreground`,resizable:{minWidth:gf,shouldAcceptWidth:Sf,storageKey:hf},children:[(0,$.jsx)(af,{}),(0,$.jsx)(fr,{})]}),t[4]=s):s=t[4];let c;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(yf,{}),t[5]=c):c=t[5];let l;return t[6]===n?l=t[7]:(l=(0,$.jsxs)(mr,{className:`h-dvh! min-h-0!`,defaultOpen:!0,children:[s,n,c]}),t[6]=n,t[7]=l),l}function Sf(e){let{nextWidth:t,wrapper:n}=e;return n.clientWidth-t>=_f}function Cf(){let e=Ef,t=Tf,n=wf;return window.addEventListener(`keydown`,e,!0),window.addEventListener(`keyup`,t,!0),window.addEventListener(`blur`,n),()=>{window.removeEventListener(`keydown`,e,!0),window.removeEventListener(`keyup`,t,!0),window.removeEventListener(`blur`,n)}}function wf(){qc()}function Tf(e){Kc(e)}function Ef(e){Kc(e)}function Df(e){return e.openSettings}var Of=(0,Z.lazy)(()=>n(()=>import(`./CommandPaletteDialog-D6t0Mkkl.js`).then(e=>({default:e.CommandPaletteDialog})),[]));function kf(){let e=(0,Q.c)(4),t=Cr(Af),[n,r]=(0,Z.useState)(t),i,a;if(e[0]===t?(i=e[1],a=e[2]):(i=()=>{t&&r(!0)},a=[t],e[0]=t,e[1]=i,e[2]=a),(0,Z.useEffect)(i,a),!n)return null;let o;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Of,{})}),e[3]=o):o=e[3],o}function Af(e){return e.open}function jf(e){let t=(0,Q.c)(16),{children:n}=e,r=Cr(Ff),i=Cr(Pf),a=Cr(Nf),o=j(),s=(0,Z.useRef)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={strict:!1,select:Mf},t[0]=c):c=t[0];let l=_n(c),u=l?.kind===`server`?l.threadRef:null,d;t[1]===u?d=t[2]:(d=e=>u?de(e.terminalStateByThreadKey,u).terminalOpen:!1,t[1]=u,t[2]=d);let f=K(d),p,m;t[3]!==o||t[4]!==f||t[5]!==a?(p=()=>{let e=e=>{e.defaultPrevented||!Cr.getState().open&&ti(e)||ai(e,o,{context:{terminalFocus:yr(),terminalOpen:f}})===`commandPalette.toggle`&&(e.preventDefault(),e.stopPropagation(),a())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},m=[o,f,a],t[3]=o,t[4]=f,t[5]=a,t[6]=p,t[7]=m):(p=t[6],m=t[7]),(0,Z.useEffect)(p,m);let h,g;t[8]===i?(h=t[9],g=t[10]):(h=()=>()=>{i(!1)},g=[i],t[8]=i,t[9]=h,t[10]=g),(0,Z.useEffect)(h,g);let _;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(kf,{}),t[11]=_):_=t[11];let v;return t[12]!==n||t[13]!==r||t[14]!==i?(v=(0,$.jsx)(wt.Provider,{value:s,children:(0,$.jsxs)(kt,{open:r,onOpenChange:i,children:[n,_]})}),t[12]=n,t[13]=r,t[14]=i,t[15]=v):v=t[15],v}function Mf(e){return vn(e)}function Nf(e){return e.toggleOpen}function Pf(e){return e.setOpen}function Ff(e){return e.open}function If(e){return e.username?`${e.username}@${e.destination}`:e.destination}function Lf(e){return`${Math.floor(e/60)}:${String(e%60).padStart(2,`0`)}`}function Rf(e){let t=e instanceof Error?e.message:`SSH password prompt failed.`;return t.includes(`expired`)||t.includes(`no longer pending`)?`This SSH password prompt expired. Try connecting again.`:t}function zf(){let[e,t]=(0,Z.useState)([]),[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(()=>Date.now()),[c,l]=(0,Z.useState)(null),u=e[0]??null,d=(0,Z.useRef)(null),f=(0,Z.useRef)(!1),p=(0,Z.useId)();(0,Z.useEffect)(()=>{let e=window.desktopBridge;if(e?.onSshPasswordPrompt)return e.onSshPasswordPrompt(e=>{t(t=>[...t,e])})},[]),(0,Z.useEffect)(()=>{if(r(``),l(null),!u)return;s(Date.now());let e=window.requestAnimationFrame(()=>{d.current?.focus(),d.current?.select()});return()=>{window.cancelAnimationFrame(e)}},[u]),(0,Z.useEffect)(()=>{if(!u)return;let e=window.setInterval(()=>{s(Date.now())},1e3);return()=>{window.clearInterval(e)}},[u]);let m=u?Date.parse(u.expiresAt):NaN,h=Number.isFinite(m)?Math.max(0,m-o):null,g=h!==null&&h<=0,_=h===null?null:Math.ceil(h/1e3),v=_===null?null:Lf(_);(0,Z.useEffect)(()=>{g&&l(`This SSH password prompt expired. Try connecting again.`)},[g]);let y=e=>{t(t=>t[0]?.requestId===e?t.slice(1):t),r(``),l(null)},b=async e=>{if(!u||f.current)return;let t=u.requestId;if(e!==null&&g){l(`This SSH password prompt expired. Try connecting again.`);return}f.current=!0,a(!0),l(null);try{await window.desktopBridge?.resolveSshPasswordPrompt(t,e),y(t)}catch(n){e===null?y(t):l(Rf(n))}finally{f.current=!1,a(!1)}},x=()=>{u&&y(u.requestId)},S=()=>{if(g){x();return}b(null)},C=u?If(u):null;return(0,$.jsx)(dn,{open:u!==null,onOpenChange:e=>{e||S()},children:(0,$.jsxs)(Xe,{className:`max-w-md`,showCloseButton:!1,children:[(0,$.jsxs)(mt,{children:[(0,$.jsx)(Ht,{children:`SSH Password Required`}),(0,$.jsxs)(nt,{children:[`Ryco needs your SSH password to connect to`,` `,C?(0,$.jsx)(`code`,{children:C}):`the remote host`,`. The password is passed to the local SSH process for this connection attempt and is not saved by Ryco.`]})]}),(0,$.jsx)(Wt,{className:`space-y-3`,scrollFade:!1,children:(0,$.jsxs)(`form`,{className:`space-y-3`,id:p,onSubmit:e=>{e.preventDefault(),b(n)},children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:u?.prompt}),v?(0,$.jsx)(`span`,{className:g?`shrink-0 text-xs font-medium text-destructive`:`shrink-0 text-xs text-muted-foreground`,children:g?`Expired`:v}):null]}),(0,$.jsx)(di,{ref:d,autoComplete:`current-password`,disabled:i||g,name:`ssh-password`,type:`password`,value:n,onChange:e=>r(e.target.value)})]}),c?(0,$.jsx)(`p`,{className:`text-sm text-destructive`,children:c}):(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Use SSH keys to avoid repeated password prompts on new SSH sessions.`})]})}),(0,$.jsxs)(tt,{children:[(0,$.jsx)(we,{disabled:i,type:`button`,variant:`outline`,onClick:S,children:g?`Dismiss`:`Cancel`}),(0,$.jsx)(we,{disabled:i||g,form:p,type:`submit`,children:`Continue`})]})]})})}var Bf=`ryco:provider-update-dismissals:v1`,Vf=i({keys:a(o)});function Hf(){let e=(0,Q.c)(10),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={keys:[]},e[0]=t):t=e[0];let[n,r]=Le(Bf,t,Vf),i=n.keys,a;e[1]===i?a=e[2]:(a=new Set(i),e[1]=i,e[2]=a);let o=a,s;e[3]!==o||e[4]!==i||e[5]!==r?(s=e=>{let t=e.trim();t.length===0||o.has(t)||r({keys:[...i,t]})},e[3]=o,e[4]=i,e[5]=r,e[6]=s):s=e[6];let c=s,l;return e[7]!==c||e[8]!==o?(l={dismissedNotificationKeys:o,dismissNotificationKey:c},e[7]=c,e[8]=o,e[9]=l):l=e[9],l}var Uf=new Set;function Wf(e){let t=(0,Q.c)(6),{provider:n}=e,r=rn[n];if(!r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`span`,{className:`relative inline-flex size-4 shrink-0 items-center justify-center`,children:(0,$.jsx)(Jn,{"aria-hidden":`true`,className:`size-4 text-success`,strokeWidth:2.5})}),t[0]=e):e=t[0],e}let i;t[1]===r?i=t[2]:(i=(0,$.jsx)(r,{"aria-hidden":`true`,className:`size-4`}),t[1]=r,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`span`,{className:`absolute -right-1 -bottom-1 inline-flex size-3 items-center justify-center rounded-full bg-popover`,children:(0,$.jsx)(Jn,{"aria-hidden":`true`,className:`size-2.5 text-success`,strokeWidth:2.5})}),t[3]=a):a=t[3];let o;return t[4]===i?o=t[5]:(o=(0,$.jsxs)(`span`,{className:`relative inline-flex size-4 shrink-0 items-center justify-center`,children:[i,a]}),t[4]=i,t[5]=o),o}function Gf(e){if(e.view.type===`loading`||e.view.type===`success`){X.update(e.toastId,{type:e.view.type,title:e.view.title,description:e.view.description,timeout:0,data:{hideCopyButton:!0,...e.view.dismissAfterVisibleMs===void 0?{}:{dismissAfterVisibleMs:e.view.dismissAfterVisibleMs}}});return}X.update(e.toastId,Y({type:e.view.type,title:e.view.title,description:e.view.description,timeout:0,actionProps:{children:`Settings`,onClick:e.openSettings},actionVariant:`outline`,data:{hideCopyButton:!0}}))}function Kf(e){return e.phase===`failed`||e.phase===`unchanged`||e.phase===`succeeded`}function qf(){let e=(0,Q.c)(23),t=Kr(Xf),n=J(),r=(0,Z.useRef)(null),{dismissedNotificationKeys:i,dismissNotificationKey:a}=Hf(),o;e[0]===n?o=e[1]:(o=bi(n),e[0]=n,e[1]=o);let s=o,c;e[2]===s?c=e[3]:(c=_i(s),e[2]=s,e[3]=c);let l=c,u;if(e[4]!==n||e[5]!==s){let t;e[7]===n?t=e[8]:(t=e=>wi(e,n),e[7]=n,e[8]=t),u=s.filter(t),e[4]=n,e[5]=s,e[6]=u}else u=e[6];let d=u,f;e[9]===t?f=e[10]:(f=e=>{let n=r.current;e===void 0?n&&X.close(n.toastId):X.close(e),n&&(e===void 0||n.toastId===e)&&(r.current=null),t(`providers`)},e[9]=t,e[10]=f);let p=f,m,h;e[11]!==p||e[12]!==n?(m=()=>{let e=r.current;if(e?.kind!==`update`)return;let t=xi({providers:n.filter(t=>e.providerInstanceIds.has(t.instanceId)),providerCount:e.providerCount});Gf({toastId:e.toastId,view:t,openSettings:()=>p(e.toastId)}),Kf(t)&&(r.current=null)},h=[n,p],e[11]=p,e[12]=n,e[13]=m,e[14]=h):(m=e[13],h=e[14]),(0,Z.useEffect)(m,h);let g,_;return e[15]!==a||e[16]!==i||e[17]!==l||e[18]!==d||e[19]!==p||e[20]!==s?(g=()=>{let e=r.current;if(e?.kind===`prompt`&&e.key!==l&&(X.close(e.toastId),r.current=null),!l||i.has(l)||Uf.has(l)||r.current)return;Uf.add(l);let t=hi({updateProviders:s,oneClickProviders:d}),n,o=!1,c=()=>p(n);n=X.add(Y({type:t.type,title:t.title,description:t.description,timeout:0,actionProps:d.length>0?{children:`Update`,onClick:()=>{if(o||d.length===0)return;o=!0;let e=d.length,t=new Set(d.map(Yf));r.current={kind:`update`,key:l,toastId:n,providerInstanceIds:t,providerCount:e},Gf({toastId:n,view:gi(e),openSettings:c}),Promise.allSettled(d.map(Jf)).then(i=>{let a=r.current;if(a?.kind!==`update`||a.toastId!==n)return;let o=vi(i);if(o){Gf({toastId:n,view:Ci(e,o),openSettings:c}),r.current=null;return}let s=xi({providers:Si({results:i,providerInstanceIds:t}),providerCount:e});Gf({toastId:n,view:s,openSettings:c}),Kf(s)&&(r.current=null)})}}:{children:`Settings`,onClick:c},actionVariant:d.length>0?`default`:`outline`,data:{leadingIcon:s.length===1?(0,$.jsx)(Wf,{provider:s[0].driver}):void 0,hideCopyButton:!0,onClose:()=>{a(l)},...d.length>0?{secondaryActionProps:{children:`Settings`,onClick:c},secondaryActionVariant:`outline`}:{}}})),r.current={kind:`prompt`,key:l,toastId:n}},_=[a,i,l,d,p,s],e[15]=a,e[16]=i,e[17]=l,e[18]=d,e[19]=p,e[20]=s,e[21]=g,e[22]=_):(g=e[21],_=e[22]),(0,Z.useEffect)(g,_),null}async function Jf(e){return W().server.updateProvider({provider:e.driver,instanceId:e.instanceId})}function Yf(e){return e.instanceId}function Xf(e){return e.openSettings}var Zf=5e3,Qf=new Intl.DateTimeFormat(void 0,{day:`numeric`,hour:`numeric`,minute:`2-digit`,month:`short`,second:`2-digit`});function $f(e){return e?Qf.format(new Date(e)):null}function ep(e,t){let n=Math.max(0,new Date(e).getTime()-t);return`${Math.max(1,Math.ceil(n/1e3))}s`}function tp(){return`WebSocket disconnected. Waiting for network.`}function np(e){return`Attempt ${Math.max(1,Math.min(e.reconnectAttemptCount,8))}/${e.reconnectMaxAttempts}`}function rp(){return`Retries exhausted trying to reconnect`}function ip(e){return e.connectionLabel?.trim()||`Ryco Server`}function ap(e){return`Disconnected from ${ip(e)}`}function op(e){return`Reconnected to ${ip(e)}`}function sp(e,t){let n=$f(t),r=$f(e);return r&&n?`Disconnected at ${r} and reconnected at ${n}.`:n?`Connection restored at ${n}.`:`Connection restored.`}function cp(e){let t=e.length,n=Math.round((e[0]?.thresholdMs??0)/1e3);return`${t} request${t===1?``:`s`} waiting longer than ${n}s.`}function lp(e,t,n){return Y({actionProps:{children:`Retry now`,onClick:n},data:{hideCopyButton:!0},description:e.nextRetryAt===null?`Reconnecting... ${np(e)}`:`Reconnecting in ${ep(e.nextRetryAt,t)}... ${np(e)}`,timeout:0,title:ap(e),type:`loading`})}function up(e){let t=(0,Q.c)(4),{requests:n}=e,r;t[0]===n?r=t[1]:(r=n.map(dp),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,$.jsx)(`ul`,{className:`space-y-2.5 text-xs text-muted-foreground`,children:r}),t[2]=r,t[3]=i),i}function dp(e){return(0,$.jsxs)(`li`,{className:`min-w-0 border-border/50 border-b pb-2 last:border-b-0 last:pb-0`,children:[(0,$.jsx)(`div`,{className:`wrap-break-word font-medium text-foreground`,children:e.tag}),(0,$.jsx)(`div`,{className:`mt-0.5 font-mono text-[10px] leading-snug opacity-90`,children:e.requestId}),(0,$.jsxs)(`div`,{className:`mt-0.5 text-[10px] opacity-75`,children:[`Started `,$f(e.startedAt)??e.startedAt]})]},e.requestId)}function fp(e,t){let n=k(e);return t===`online`?n===`offline`||n===`reconnecting`||n===`error`||e.reconnectPhase===`exhausted`:e.online&&e.hasConnected&&(n===`reconnecting`||e.reconnectPhase===`exhausted`)}function pp(e,t){return e.reconnectPhase===`waiting`&&e.nextRetryAt===t&&e.online&&e.hasConnected}function mp(){let e=(0,Q.c)(37),t=S(),n=(0,Z.useRef)(0),r=(0,Z.useRef)(null),i=(0,Z.useRef)(null),a;e[0]===t?a=e[1]:(a=k(t),e[0]=t,e[1]=a);let o=(0,Z.useRef)(a),s=(0,Z.useRef)(t.disconnectedAt),c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=e=>{i.current!==null&&(window.clearTimeout(i.current),i.current=null),n.current=Date.now(),z().reconnect().catch(t=>{if(!e){console.warn(`Automatic WebSocket reconnect failed`,{error:t});return}X.add(Y({type:`error`,title:`Reconnect failed`,description:t instanceof Error?t.message:`Unable to restart the WebSocket.`,data:{dismissAfterVisibleMs:8e3,hideCopyButton:!0}}))})},e[2]=c):c=e[2];let l=(0,Z.useEffectEvent)(c),u=(0,Z.useEffectEvent)(hp),d;e[3]===l?d=e[4]:(d=()=>{l(!0)},e[3]=l,e[4]=d);let f=(0,Z.useEffectEvent)(d),p;e[5]===l?p=e[6]:(p=e=>{fp(e===`online`?y(!0):D(),e)&&(Date.now()-n.current<Zf||l(!1))},e[5]=l,e[6]=p);let m=(0,Z.useEffectEvent)(p),h;e[7]!==u||e[8]!==m?(h=()=>{let e=()=>{m(`online`)},t=()=>{m(`focus`)};return u(),window.addEventListener(`online`,e),window.addEventListener(`offline`,u),window.addEventListener(`focus`,t),()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,u),window.removeEventListener(`focus`,t)}},e[7]=u,e[8]=m,e[9]=h):h=e[9];let g;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],e[10]=g):g=e[10],(0,Z.useEffect)(h,g);let _;e[11]!==t.nextRetryAt||e[12]!==t.reconnectPhase||e[13]!==f?(_=()=>{if(t.reconnectPhase!==`waiting`||t.nextRetryAt===null)return;let e=()=>{if(!r.current)return;let e=D();k(e)!==`reconnecting`||e.nextRetryAt===null||X.update(r.current,lp(e,Date.now(),f))};e();let n=window.setInterval(e,1e3);return()=>{window.clearInterval(n)}},e[11]=t.nextRetryAt,e[12]=t.reconnectPhase,e[13]=f,e[14]=_):_=e[14];let v;e[15]!==t.nextRetryAt||e[16]!==t.reconnectPhase?(v=[t.nextRetryAt,t.reconnectPhase],e[15]=t.nextRetryAt,e[16]=t.reconnectPhase,e[17]=v):v=e[17],(0,Z.useEffect)(_,v);let b;e[18]!==l||e[19]!==t.hasConnected||e[20]!==t.nextRetryAt||e[21]!==t.online||e[22]!==t.reconnectPhase?(b=()=>{if(t.reconnectPhase!==`waiting`||t.nextRetryAt===null||!t.online||!t.hasConnected)return;let e=t.nextRetryAt,n=Math.max(0,new Date(e).getTime()-Date.now())+1500,r=window.setTimeout(()=>{pp(D(),e)&&l(!1)},n);return()=>{window.clearTimeout(r)}},e[18]=l,e[19]=t.hasConnected,e[20]=t.nextRetryAt,e[21]=t.online,e[22]=t.reconnectPhase,e[23]=b):b=e[23];let x;e[24]!==t.hasConnected||e[25]!==t.nextRetryAt||e[26]!==t.online||e[27]!==t.reconnectAttemptCount||e[28]!==t.reconnectPhase?(x=[t.hasConnected,t.nextRetryAt,t.online,t.reconnectAttemptCount,t.reconnectPhase],e[24]=t.hasConnected,e[25]=t.nextRetryAt,e[26]=t.online,e[27]=t.reconnectAttemptCount,e[28]=t.reconnectPhase,e[29]=x):x=e[29],(0,Z.useEffect)(b,x);let C;e[30]!==t||e[31]!==f?(C=()=>{let e=k(t),n=o.current,a=s.current,c=t.hasConnected&&e===`reconnecting`,l=e===`offline`&&t.disconnectedAt!==null,u=t.hasConnected&&t.reconnectPhase===`exhausted`;if(i.current!==null&&(c||l||u)&&(window.clearTimeout(i.current),i.current=null),c||l||u){let e=l?Y({data:{hideCopyButton:!0},description:tp(),timeout:0,title:`Offline`,type:`warning`}):u?Y({actionProps:{children:`Retry`,onClick:f},data:{hideCopyButton:!0},description:rp(),timeout:0,title:ap(t),type:`error`}):lp(t,Date.now(),f);r.current?X.update(r.current,e):r.current=X.add(e)}else r.current&&=(X.close(r.current),null);if(e===`connected`&&(n===`offline`||n===`reconnecting`)&&a!==null){let e={description:sp(a,t.connectedAt),title:op(t),type:`success`,timeout:0,data:{dismissAfterVisibleMs:8e3,hideCopyButton:!0}};r.current?X.update(r.current,e):r.current=X.add(e),i.current=window.setTimeout(()=>{r.current=null,i.current=null},8250)}o.current=e,s.current=t.disconnectedAt},e[30]=t,e[31]=f,e[32]=C):C=e[32];let w;e[33]===t?w=e[34]:(w=[t],e[33]=t,e[34]=w),(0,Z.useEffect)(C,w);let T,E;return e[35]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>()=>{i.current!==null&&window.clearTimeout(i.current)},E=[],e[35]=T,e[36]=E):(T=e[35],E=e[36]),(0,Z.useEffect)(T,E),null}function hp(){y(navigator.onLine!==!1)}function gp(){let e=(0,Q.c)(4),t=T(),n=S(),r=(0,Z.useRef)(null),i,a;return e[0]!==t||e[1]!==n?(i=()=>{if(k(n)!==`connected`){r.current&&=(X.close(r.current),null);return}if(t.length===0){r.current&&=(X.close(r.current),null);return}let e={data:{expandableContent:(0,$.jsx)(up,{requests:t}),expandableDescriptionTrigger:!0,expandableLabels:{collapse:`Hide requests`,expand:`Show requests`}},description:cp(t),timeout:0,title:`Some requests are slow`,type:`warning`};r.current?X.update(r.current,e):r.current=X.add(e)},a=[t,n],e[0]=t,e[1]=n,e[2]=i,e[3]=a):(i=e[2],a=e[3]),(0,Z.useEffect)(i,a),null}function _p({children:e}){return e}function vp(e){let t=(0,Q.c)(28),{authGateState:n}=e,r=n.status===`authenticated`,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(jf,{children:(0,$.jsx)(xf,{children:(0,$.jsx)(Sn,{})})}),t[0]=i):i=t[0];let a=i,o;t[1]===r?o=t[2]:(o=r?(0,$.jsx)(wp,{}):null,t[1]=r,t[2]=o);let s;t[3]===r?s=t[4]:(s=r?(0,$.jsx)(Sp,{}):null,t[3]=r,t[4]=s);let c,l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Ep,{}),l=(0,$.jsx)(zf,{}),t[5]=c,t[6]=l):(c=t[5],l=t[6]);let u;t[7]===n.status?u=t[8]:(u=n.status===`hosted-static`?(0,$.jsx)(yp,{}):null,t[7]=n.status,t[8]=u);let d;t[9]===r?d=t[10]:(d=r?(0,$.jsx)(Dp,{}):null,t[9]=r,t[10]=d);let f;t[11]===r?f=t[12]:(f=r?(0,$.jsx)(qf,{}):null,t[11]=r,t[12]=f);let p;t[13]===r?p=t[14]:(p=r?(0,$.jsx)(mp,{}):null,t[13]=r,t[14]=p);let m;t[15]===r?m=t[16]:(m=r?(0,$.jsx)(gp,{}):null,t[15]=r,t[16]=m);let h;t[17]===r?h=t[18]:(h=r?(0,$.jsx)(_p,{children:a}):a,t[17]=r,t[18]=h);let g;return t[19]!==m||t[20]!==h||t[21]!==o||t[22]!==s||t[23]!==u||t[24]!==d||t[25]!==f||t[26]!==p?(g=(0,$.jsx)(Hn,{children:(0,$.jsxs)(Gn,{children:[o,s,c,l,u,d,f,p,m,h]})}),t[19]=m,t[20]=h,t[21]=o,t[22]=s,t[23]=u,t[24]=d,t[25]=f,t[26]=p,t[27]=g):g=t[27],g}function yp(){let e=(0,Q.c)(2),t=ne(xp),n;return e[0]===t?n=e[1]:(n=[t],e[0]=t,e[1]=n),(0,Z.useEffect)(bp,n),null}function bp(){if(Er()||U.getState().activeEnvironmentId)return;let e=v()[0];e&&U.getState().setActiveEnvironmentId(e.environmentId)}function xp(e){return Object.keys(e.byId).length}function Sp(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,Z.useEffect)(Cp,t),null}function Cp(){if(Er())return w(z().client.server)}function wp(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,Z.useEffect)(Tp,t),null}function Tp(){C()}function Ep(){let e=(0,Q.c)(3),t=qe(),n,r;return e[0]===t?(n=e[1],r=e[2]):(n=()=>ae(t),r=[t],e[0]=t,e[1]=n,e[2]=r),(0,Z.useEffect)(n,r),null}function Dp(){let e=(0,Q.c)(18),t=U(Np),n=gn(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={select:Mp},e[0]=r):r=e[0];let i=Cn(r),a=N(jp),o;e[1]===i?o=e[2]:(o=()=>i,e[1]=i,e[2]=o);let s=(0,Z.useEffectEvent)(o),c=(0,Z.useRef)(null),l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=le()?.id??0,e[3]=l):l=e[3];let f=(0,Z.useRef)(l),p=(0,Z.useRef)(!1),m=P(),h;e[4]!==n||e[5]!==a||e[6]!==s||e[7]!==m||e[8]!==t?(h=e=>{e&&(wr(e.environment),t(e.environment.environmentId),(async()=>{if(await ue(e.environment.environmentId),p.current||!e.bootstrapProjectId||!e.bootstrapThreadId)return;let t=U.getState().environmentStateById[e.environment.environmentId]?.projectById[e.bootstrapProjectId]??null,r=(t?L(t,a):null)??(m?.cwd?he(e.environment.environmentId,m.cwd):null)??u(d(e.environment.environmentId,e.bootstrapProjectId));je.getState().setProjectExpanded(r,!0),s()===`/`&&c.current!==e.bootstrapThreadId&&(await n({to:`/$environmentId/$threadId`,params:{environmentId:e.environment.environmentId,threadId:e.bootstrapThreadId},replace:!0}),c.current=e.bootstrapThreadId)})().catch(Ap))},e[4]=n,e[5]=a,e[6]=s,e[7]=m,e[8]=t,e[9]=h):h=e[9];let g=(0,Z.useEffectEvent)(h),_;e[10]===m?_=e[11]:(_=e=>{if(!e)return;let{id:t,payload:n,source:r}=e;if(t<=f.current||(f.current=t,r!==`keybindingsUpdated`))return;let i=n.issues.find(kp);if(!i){X.add({type:`success`,title:`Keybindings updated`,description:`Keybindings configuration reloaded successfully.`});return}X.add(Y({type:`warning`,title:`Invalid keybindings configuration`,description:i.message,actionVariant:`outline`,actionProps:{children:`Open keybindings.json`,onClick:()=>{let e=E();e&&Promise.resolve(m??e.server.getConfig()).then(t=>{let n=_t(t.availableEditors);if(!n)throw Error(`No available editors found.`);return e.shell.openInEditor(t.keybindingsConfigPath,n)}).catch(Op)}}}))},e[10]=m,e[11]=_);let v=(0,Z.useEffectEvent)(_),y,b;e[12]!==m||e[13]!==t?(y=()=>{m&&(wr(m.environment),t(m.environment.environmentId))},b=[m,t],e[12]=m,e[13]=t,e[14]=y,e[15]=b):(y=e[14],b=e[15]),(0,Z.useEffect)(y,b);let x,S;return e[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>(p.current=!1,()=>{p.current=!0}),S=[],e[16]=x,e[17]=S):(x=e[16],S=e[17]),(0,Z.useEffect)(x,S),oe(g),I(v),null}function Op(e){X.add(Y({type:`error`,title:`Unable to open keybindings file`,description:e instanceof Error?e.message:`Unknown error opening file.`}))}function kp(e){return e.kind.startsWith(`keybindings.`)}function Ap(){}function jp(e){return{sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides}}function Mp(e){return e.pathname}function Np(e){return e.setActiveEnvironmentId}export{vp as RootAppShell};
|