ryco-cli 0.1.4 → 0.1.6
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/README.md +50 -2
- package/dist/{AzureDevOpsSourceControlProvider-BEDcpXP2.cjs → AzureDevOpsSourceControlProvider-6holYS_D.cjs} +2 -2
- package/dist/{AzureDevOpsSourceControlProvider-CajSnvPV.mjs → AzureDevOpsSourceControlProvider-CC2_COxP.mjs} +3 -3
- package/dist/{BitbucketSourceControlProvider-Ryxef3zA.mjs → BitbucketSourceControlProvider-CYR_BD1d.mjs} +10 -3
- package/dist/{BitbucketSourceControlProvider-Ca-sxPgI.cjs → BitbucketSourceControlProvider-a0IsNFyG.cjs} +9 -2
- package/dist/{BunPTY-B_vjRZN4.mjs → BunPTY-BWhtEA50.mjs} +1 -1
- package/dist/{ClaudeDriver-CxOmXtj3.cjs → ClaudeDriver-C6tQNEWO.cjs} +12 -6
- package/dist/{ClaudeDriver-oGrpXzWa.mjs → ClaudeDriver-D3nsxwH9.mjs} +13 -7
- package/dist/{CodexDriver-DbICyzcH.mjs → CodexDriver-BILrJG8o.mjs} +14 -7
- package/dist/{CodexDriver-C1I8AGHl.cjs → CodexDriver-ms_YgFD7.cjs} +13 -6
- package/dist/{CodexTextGeneration-DV3LOkTX.mjs → CodexTextGeneration-BIKHl7E3.mjs} +4 -4
- package/dist/{CodexTextGeneration-Cr97QFv_.cjs → CodexTextGeneration-CHEgoANm.cjs} +3 -3
- package/dist/{CopilotDriver-GUpzG61v.cjs → CopilotDriver-B0--ZwIK.cjs} +14 -7
- package/dist/{CopilotDriver-Dt6azZQI.mjs → CopilotDriver-CmD3Ffyl.mjs} +15 -8
- package/dist/{CursorDriver-C3gFClL-.mjs → CursorDriver-CbeaIbdb.mjs} +5 -5
- package/dist/{CursorDriver-lhvplGt8.cjs → CursorDriver-DTVPXZ-R.cjs} +4 -4
- package/dist/{ForgejoSourceControlProvider-DTVWs_CM.mjs → ForgejoSourceControlProvider-DX6d9gvz.mjs} +3 -3
- package/dist/{ForgejoSourceControlProvider-2PTEgbVl.cjs → ForgejoSourceControlProvider-DwAog76b.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-Beu-58zB.cjs → GitHubSourceControlProvider-9lJFzjsu.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-BJmqP2K1.mjs → GitHubSourceControlProvider-C-LGwho3.mjs} +3 -3
- package/dist/{GitLabSourceControlProvider-CWnF37fR.mjs → GitLabSourceControlProvider-CkeT2aEx.mjs} +3 -3
- package/dist/{GitLabSourceControlProvider-CCHBNnen.cjs → GitLabSourceControlProvider-CvKA74lg.cjs} +2 -2
- package/dist/{Metrics-BCOc3Ml2.mjs → Metrics-6Xj17Se3.mjs} +94 -2
- package/dist/{Metrics-DNOriWhP.cjs → Metrics-CIW1QH7M.cjs} +128 -0
- package/dist/{NodePTY-_u3kQLvd.mjs → NodePTY-C_cR3Ayy.mjs} +1 -1
- package/dist/{OpenCodeDriver-i2DXhUaw.cjs → OpenCodeDriver-CXUsnl5o.cjs} +13 -7
- package/dist/{OpenCodeDriver-Cja8fkzJ.mjs → OpenCodeDriver-ClWtCk0j.mjs} +14 -8
- package/dist/{SourceControlProviderDiscoveryCatalog-DyPSXqm_.cjs → SourceControlProviderDiscoveryCatalog-_rg0mc1o.cjs} +99 -99
- package/dist/{SourceControlProviderDiscoveryCatalog-DoDSpZoa.mjs → SourceControlProviderDiscoveryCatalog-yMDer_Yh.mjs} +100 -100
- package/dist/bin.cjs +33888 -31768
- package/dist/bin.mjs +33869 -31750
- package/dist/client/assets/{AnimatedHeight-DCd3-Wey.js → AnimatedHeight-DgItDSis.js} +1 -1
- package/dist/client/assets/AppearanceSettings-BlsMFBvJ.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-C_xHEt9C.js +1 -0
- package/dist/client/assets/ChatRightPanel-CThudBb1.js +188 -0
- package/dist/client/assets/ChatThreadRouteView-CV6ETYG5.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-C_H7R8S5.js +1 -0
- package/dist/client/assets/CompositeRoot-DjnzUIwC.js +1 -0
- package/dist/client/assets/ConnectionsSettings-hArR4Oe3.js +1 -0
- package/dist/client/assets/DiagnosticsSettings-B340S_mq.js +1 -0
- package/dist/client/assets/DialogHandle-BJY7cHCV.js +1 -0
- package/dist/client/assets/{DialogRoot-BCS_qKVO.js → DialogRoot-Ej1FVk-_.js} +1 -1
- package/dist/client/assets/DialogTitle-H1yIMmA9.js +1 -0
- package/dist/client/assets/DialogTrigger-BHMq_K2G.js +1 -0
- package/dist/client/assets/DialogViewport-DvjAl76K.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-pOkyeKPS.js +1 -0
- package/dist/client/assets/JetBrainsIcons-DTTF47I0.js +1 -0
- package/dist/client/assets/KeybindingsSettings-CW3RRi-7.js +7 -0
- package/dist/client/assets/McpServersSettings-dQ3BzOWY.js +6 -0
- package/dist/client/assets/NoActiveThreadState-DVHwrkCp.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-Cjj23Fs4.js +1 -0
- package/dist/client/assets/ProjectFavicon-TDP7HRfn.js +1 -0
- package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-Dqh8LlGG.js → ProviderUpdateLaunchNotification.logic-6TpFsmiI.js} +1 -1
- package/dist/client/assets/ProvidersSettingsPanel-D15EeWAq.js +1 -0
- package/dist/client/assets/{RedactedSensitiveText-Ddxd4ZX9.js → RedactedSensitiveText-BfoVjPsE.js} +1 -1
- package/dist/client/assets/RootAppShell-CWBPSA2w.js +12 -0
- package/dist/client/assets/SettingsDialog-oJCE5foT.js +2 -0
- package/dist/client/assets/SourceControlSettings-CPnlMxNm.js +1 -0
- package/dist/client/assets/ThreadStatusIndicators-B0leIJGD.js +1 -0
- package/dist/client/assets/{ThreadTerminalDrawer-BxuSy2xD.js → ThreadTerminalDrawer-COq2Fk17.js} +3 -3
- package/dist/client/assets/ThreadWorkspacePanel-qF9y6QT9.js +166 -0
- package/dist/client/assets/{alert-dialog-BwCq7-J2.js → alert-dialog-lMfKpG2t.js} +1 -1
- package/dist/client/assets/{chatThreadActions-DHwgLZQX.js → chatThreadActions-PPyTj_x0.js} +1 -1
- package/dist/client/assets/{clamp-Bj3CMoU0.js → clamp-JiD4IZ0Z.js} +1 -1
- package/dist/client/assets/clipboard-copy-CYBLSG2q.js +1 -0
- package/dist/client/assets/commandPaletteStore-uVfCD7zE.js +1 -0
- package/dist/client/assets/composerDraftStore-D12lUSfh.js +21 -0
- package/dist/client/assets/desktopUpdateAtoms-X6uM5SoD.js +2 -0
- package/dist/client/assets/{download-DchCbuiJ.js → download-DLBlpp4h.js} +1 -1
- package/dist/client/assets/{draft-input-Byd_iP54.js → draft-input-dLlVMl5P.js} +1 -1
- package/dist/client/assets/editorPreferences-BLeEBSD_.js +1 -0
- package/dist/client/assets/empty-DlLY-Hhj.js +1 -0
- package/dist/client/assets/{folder-open-CuS_UI1W.js → folder-open-DMjz0lpx.js} +1 -1
- package/dist/client/assets/{group-BlyMND_M.js → group-zDBPF7rR.js} +1 -1
- package/dist/client/assets/{index-R0mA-hZk.js → index-Dq8sT2lF.js} +2 -2
- package/dist/client/assets/{input-BQQgfZzY.js → input-B9-RWT56.js} +1 -1
- package/dist/client/assets/kbd-aeSsjiPI.js +1 -0
- package/dist/client/assets/{keybindings-BIa18Wmf.js → keybindings-Dx4Nc1vY.js} +1 -1
- package/dist/client/assets/{keyboard-BQYTddoX.js → keyboard-DDTWQkr0.js} +1 -1
- package/dist/client/assets/keyedQuery-Ds4OGhX2.js +0 -0
- package/dist/client/assets/main-C57RhHZ_.css +2 -0
- package/dist/client/assets/main-DxfpmoKJ.js +9 -0
- package/dist/client/assets/palette-BQcz-ZYV.js +1 -0
- package/dist/client/assets/play-QloDGe4R.js +1 -0
- package/dist/client/assets/plus-4Oy56d-3.js +1 -0
- package/dist/client/assets/projectAtoms-DUEBb7Zz.js +1 -0
- package/dist/client/assets/providerDriverMeta-Dwi6Zqgd.js +1 -0
- package/dist/client/assets/providerIconUtils-uhWb4bdg.js +47 -0
- package/dist/client/assets/radio-group-DHyQlLeX.js +1 -0
- package/dist/client/assets/{refresh-cw-DFCVsvMH.js → refresh-cw-DkBMGllm.js} +1 -1
- package/dist/client/assets/{resolveAriaLabelledBy-CdSYKkwq.js → resolveAriaLabelledBy-DDfIbj05.js} +1 -1
- package/dist/client/assets/rightPanelRouteSearch-DfuWVvXN.js +1 -0
- package/dist/client/assets/scale-BActunFu.js +1 -0
- package/dist/client/assets/scroll-area-D-YOUG02.js +1 -0
- package/dist/client/assets/separator-TInKeIDo.js +1 -0
- package/dist/client/assets/{server-B7ETA5io.js → server-BtEG3NAw.js} +1 -1
- package/dist/client/assets/session-logic-DNf1aXq_.js +4 -0
- package/dist/client/assets/settingsDialogStore-BINi7pdD.js +1 -0
- package/dist/client/assets/settingsLayout-D22Mm0u3.js +1 -0
- package/dist/client/assets/shallow-Dmd-gez1.js +1 -0
- package/dist/client/assets/{sidebar-VWf4R998.js → sidebar-DHwNQmWp.js} +1 -1
- package/dist/client/assets/skeleton-DWaac_qp.js +1 -0
- package/dist/client/assets/storeSelectors-Cx1IYPA4.js +1 -0
- package/dist/client/assets/threadSelectionStore-C0ig4405.js +1 -0
- package/dist/client/assets/toast-DE7a4wkW.js +1 -0
- package/dist/client/assets/toggle-BIW4AyPY.js +1 -0
- package/dist/client/assets/{toggle-group-D7mEwQCR.js → toggle-group-CnLjaHSL.js} +1 -1
- package/dist/client/assets/tokenModePresentation-BSYdIvBm.js +1 -0
- package/dist/client/assets/{trash-2-D0zhbiNO.js → trash-2-BI5xcbsm.js} +1 -1
- package/dist/client/assets/triangle-alert-DJef_Uvh.js +1 -0
- package/dist/client/assets/undo-2-DeZ2cMGS.js +1 -0
- package/dist/client/assets/useHandleNewThread-XB82O6SA.js +1 -0
- package/dist/client/assets/useLabelableId-DBAgv9qQ.js +1 -0
- package/dist/client/assets/useNavigate-B2tgshhW.js +1 -0
- package/dist/client/assets/useTheme-Dv42Z8uy.js +1 -0
- package/dist/client/assets/{vscode-icons-C1r6bNpj.js → vscode-icons-DM9qFoEr.js} +1 -1
- package/dist/client/assets/{wrench-DzrU49ry.js → wrench-je4QOyG-.js} +1 -1
- package/dist/client/assets/x-fI9snvD3.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/{collectUint8StreamText-Cgz3T1YG.mjs → collectUint8StreamText-C2z5Y8tF.mjs} +509 -135
- package/dist/{collectUint8StreamText-CgTEDbi7.cjs → collectUint8StreamText-TCG6xW_P.cjs} +514 -134
- package/dist/{makeManagedServerProvider-D43I_B9P.mjs → makeManagedServerProvider-BXO8QvzC.mjs} +2 -2
- package/dist/{makeManagedServerProvider-DRMA8nAp.cjs → makeManagedServerProvider-DPFw9gV_.cjs} +1 -1
- package/package.json +1 -1
- package/dist/client/assets/AppearanceSettings-pPltzbuu.js +0 -1
- package/dist/client/assets/BranchToolbar.logic-BUrYeNec.js +0 -1
- package/dist/client/assets/ChatRightPanel-Cy2c02Dt.js +0 -188
- package/dist/client/assets/ChatThreadRouteView-C93RPP7s.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-D6t0Mkkl.js +0 -1
- package/dist/client/assets/CompositeRoot-C5GNdZws.js +0 -1
- package/dist/client/assets/ConnectionsSettings-qYzLbX7_.js +0 -1
- package/dist/client/assets/DialogHandle-C1Oxda1b.js +0 -1
- package/dist/client/assets/DialogTitle-R_4ZQbHx.js +0 -1
- package/dist/client/assets/DialogTrigger-ChuIKLi7.js +0 -1
- package/dist/client/assets/DialogViewport-Dq_9hdYC.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-BwDNEWLP.js +0 -1
- package/dist/client/assets/JetBrainsIcons-CZi1rQn9.js +0 -1
- package/dist/client/assets/KeybindingsSettings-CEqFMcaP.js +0 -7
- package/dist/client/assets/McpServersSettings-Co1o7_0g.js +0 -6
- package/dist/client/assets/NoActiveThreadState-5VSVCJBv.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-BnDPa2E2.js +0 -1
- package/dist/client/assets/ProjectFavicon-CtqYuFQF.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-BwDIEOF4.js +0 -1
- package/dist/client/assets/QueryClientProvider-B5z3RyQ9.js +0 -1
- package/dist/client/assets/RootAppShell-CThrOBqP.js +0 -12
- package/dist/client/assets/SettingsDialog-C-vm2P1q.js +0 -2
- package/dist/client/assets/SourceControlSettings-oK-xLUFA.js +0 -1
- package/dist/client/assets/ThreadStatusIndicators-6ASnD4_d.js +0 -1
- package/dist/client/assets/ThreadWorkspacePanel-C3S7Fjib.js +0 -166
- package/dist/client/assets/arrow-up-DUD3DBES.js +0 -1
- package/dist/client/assets/codexUsageLimits-Mjd2rHmE.js +0 -1
- package/dist/client/assets/commandPaletteStore-oFMPKPmp.js +0 -1
- package/dist/client/assets/composerDraftStore-DTMZbmmF.js +0 -21
- package/dist/client/assets/desktopUpdateReactQuery-DdRc1zr8.js +0 -2
- package/dist/client/assets/empty-CFWSIvUd.js +0 -1
- package/dist/client/assets/environmentApi-4U60qRO5.js +0 -1
- package/dist/client/assets/kbd-Dgp27U1W.js +0 -1
- package/dist/client/assets/main-Da7Z4Ig1.css +0 -2
- package/dist/client/assets/main-YXLWCEbb.js +0 -9
- package/dist/client/assets/mutation-B8SILYi_.js +0 -1
- 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/rightPanelRouteSearch-DweDTgju.js +0 -1
- package/dist/client/assets/scroll-area-CZPNMSSG.js +0 -1
- package/dist/client/assets/separator-ZLn_GZKy.js +0 -1
- package/dist/client/assets/session-logic-DOD1qizY.js +0 -4
- package/dist/client/assets/settingsDialogStore-DJNXaaZ-.js +0 -1
- package/dist/client/assets/settingsLayout-BaSDLd6v.js +0 -1
- package/dist/client/assets/skeleton-IoKKnfW9.js +0 -1
- package/dist/client/assets/storeSelectors-BL-4Ncd3.js +0 -1
- package/dist/client/assets/threadRoutes-a4QytG8s.js +0 -1
- package/dist/client/assets/threadSelectionStore-CgsIp6vR.js +0 -1
- package/dist/client/assets/toast-L2eWWYjv.js +0 -1
- package/dist/client/assets/toggle-oOk0T_MY.js +0 -1
- package/dist/client/assets/useHandleNewThread-DVTiX8Lz.js +0 -1
- package/dist/client/assets/useLabelableId-yw8wMwvn.js +0 -1
- package/dist/client/assets/useNavigate-CvKQXZa7.js +0 -1
- package/dist/client/assets/useTheme-C7Ji7x06.js +0 -1
- package/dist/client/assets/x-BQzUKGMv.js +0 -1
- package/dist/{NodeSqliteClient-BXy61fAd.mjs → NodeSqliteClient-A1TEgwj_.mjs} +1 -1
- package/dist/{NodeSqliteClient-homCO8-6.cjs → NodeSqliteClient-B5aDHbNc.cjs} +2 -2
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{i as e,t}from"./react-PSPkXoKo.js";import{t as n}from"./index-Dq8sT2lF.js";import{t as r}from"./compiler-runtime-BNrXlsa1.js";import{$ as i,P as a,Q as o,ao as s,io as c,no as l,ro as u,t as d,to as f}from"./react-CjD7iThp.js";import{$t as p,A as m,Ct as h,Gt as g,Jt as _,Kt as v,M as y,N as b,O as x,Ot as S,Qt as C,St as w,T,Wt as E,Xt as D,Yt as O,Zt as k,_t as A,an as j,at as M,b as N,bt as P,cn as F,ct as I,dn as L,en as R,ft as z,gt as B,hn as V,ht as H,j as U,k as W,lt as G,mn as ee,p as K,pn as te,pt as ne,qt as re,sn as q,un as ie,ut as ae,v as oe,vn as se,w as ce,y as le,yn as ue,yt as J}from"./projectAtoms-DUEBb7Zz.js";import{A as de,Ai as fe,Ci as pe,Cr as me,D as he,E as ge,F as _e,G as ve,H as ye,I as be,L as xe,M as Se,Ni as Ce,O as we,R as Te,Sr as Ee,T as De,Tr as Oe,U as ke,V as Ae,W as je,Xr as Me,aa as Ne,br as Pe,k as Fe,l as Ie,q as Le,qr as Re,sa as ze,z as Be}from"./composerDraftStore-D12lUSfh.js";import{t as Ve}from"./useNavigate-B2tgshhW.js";import{S as He,a as Y,c as Ue,i as X,l as We,m as Ge,n as Ke,o as qe,p as Je,t as Ye,u as Xe,v as Ze}from"./toast-DE7a4wkW.js";import{i as Qe,n as $e,o as et,t as tt}from"./threadSelectionStore-C0ig4405.js";import{a as nt,i as rt,n as it}from"./primary-CSkhdakK.js";import{$ as at,$n as ot,A as st,At as ct,Bn as lt,Bt as ut,D as dt,Dt as ft,E as pt,En as mt,Er as ht,F as gt,Ft as _t,G as vt,H as yt,Ht as bt,I as xt,It as St,Jn as Ct,Jt as wt,K as Tt,L as Et,Lt as Dt,M as Ot,Mt as kt,N as At,Nt as jt,On as Mt,Ot as Nt,P as Pt,Pt as Ft,Q as It,Qt as Lt,R as Rt,T as zt,Tt as Bt,U as Vt,Ut as Ht,Vt as Ut,W as Wt,Wn as Gt,Wt as Kt,Xn as qt,Yt as Jt,Z as Yt,Zt as Xt,a as Zt,an as Qt,ar as $t,br as en,cn as tn,dn as nn,dr as rn,et as an,fn as on,h as sn,hr as cn,in as ln,ir as un,j as dn,k as fn,kt as pn,lr as mn,mr as hn,nr as gn,nt as _n,q as vn,rn as yn,rr as bn,rt as xn,sr as Sn,t as Cn,tt as wn,un as Tn,ur as En,v as Dn,wr as On,xr as kn,y as An,yr as jn,z as Mn,zt as Nn}from"./providerIconUtils-uhWb4bdg.js";import{a as Pn,c as Fn,d as In,f as Ln,g as Rn,h as zn,i as Bn,l as Vn,m as Hn,n as Un,o as Wn,p as Gn,s as Kn,t as qn,u as Jn}from"./desktopUpdateAtoms-X6uM5SoD.js";import{t as Yn}from"./kbd-aeSsjiPI.js";import{t as Xn}from"./commandPaletteStore-uVfCD7zE.js";import{t as Zn}from"./download-DLBlpp4h.js";import{t as Qn}from"./folder-open-DMjz0lpx.js";import{a as $n,c as er,i as tr,o as nr,s as rr,t as ir}from"./ThreadStatusIndicators-B0leIJGD.js";import{_ as ar,a as or,b as sr,c as cr,d as lr,f as ur,g as dr,h as fr,i as pr,l as mr,m as hr,n as gr,p as _r,r as vr,s as yr,t as br,u as xr,x as Sr}from"./sidebar-DHwNQmWp.js";import{t as Cr}from"./plus-4Oy56d-3.js";import{t as wr}from"./trash-2-BI5xcbsm.js";import{t as Tr}from"./triangle-alert-DJef_Uvh.js";import{t as Er}from"./x-fI9snvD3.js";import{t as Dr}from"./shallow-Dmd-gez1.js";import{s as Or}from"./storeSelectors-Cx1IYPA4.js";import{C as kr,S as Ar,T as jr,_ as Mr,b as Nr,c as Pr,d as Fr,f as Ir,g as Lr,h as Rr,i as zr,l as Br,m as Vr,n as Hr,o as Ur,p as Wr,r as Gr,s as Kr,t as qr,u as Jr,v as Yr,w as Xr,x as Zr,y as Qr}from"./settingsDialogStore-BINi7pdD.js";import{n as $r}from"./useHandleNewThread-XB82O6SA.js";import{C as ei,S as ti,_ as ni,a as ri,f as ii,g as ai,h as oi,i as si,n as ci,t as li,v as ui,x as di}from"./keybindings-Dx4Nc1vY.js";import{t as fi}from"./input-B9-RWT56.js";import{t as pi}from"./scroll-area-D-YOUG02.js";import{t as mi}from"./ProjectFavicon-TDP7HRfn.js";import{n as hi}from"./modelPickerOpenState-BJxsqvdg.js";import{n as gi,t as _i}from"./editorPreferences-BLeEBSD_.js";import{a as vi,c as yi,f as bi,i as xi,l as Si,n as Ci,o as wi,r as Ti,s as Ei,t as Di}from"./ProviderUpdateLaunchNotification.logic-6TpFsmiI.js";var Oi=Me(`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`}]]),ki=Me(`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(),Ai=new Set,ji=new WeakMap,Mi=new WeakMap,Ni=new WeakMap,Pi=new WeakMap,Fi=new WeakMap,Ii=new WeakMap,Li=new WeakMap,Ri=new WeakMap,zi=new WeakSet,Bi,Vi=0,Hi=0,Ui=`__aa_tgt`,Wi=`__aa_del`,Gi=`__aa_new`,Ki=e=>{let t=na(e);t&&t.forEach(e=>ia(e))},qi=e=>{e.forEach(e=>{e.target===Bi&&Zi(),ji.has(e.target)&&Xi(e.target)})};function Ji(e){let t=e.getBoundingClientRect(),n=Bi?.clientWidth||0,r=Bi?.clientHeight||0;return t.bottom<0||t.top>r||t.right<0||t.left>n}function Yi(e){Pi.get(e)?.disconnect();let t=ji.get(e),n=0;t||(t=sa(e),ji.set(e,t));let{offsetWidth:r,offsetHeight:i}=Bi,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&&Xi(e)},{root:Bi,threshold:1,rootMargin:a});o.observe(e),Pi.set(e,o)}function Xi(e,t=!0){clearTimeout(Ri.get(e));let n=la(e),r=t?ma(n)?500:n.duration:0;Ri.set(e,setTimeout(async()=>{let t=Ni.get(e);try{await t?.finished,ji.set(e,sa(e)),Yi(e)}catch{}},r))}function Zi(){clearTimeout(Ri.get(Bi)),Ri.set(Bi,setTimeout(()=>{Ai.forEach(e=>fa(e,e=>$i(()=>Xi(e))))},100))}function Qi(e){setTimeout(()=>{Ii.set(e,setInterval(()=>$i(Xi.bind(null,e)),2e3))},Math.round(2e3*Math.random()))}function $i(e){typeof requestIdleCallback==`function`?requestIdleCallback(()=>e()):requestAnimationFrame(()=>e())}var ea,ta=typeof window<`u`&&`ResizeObserver`in window;ta&&(Bi=document.documentElement,new MutationObserver(Ki),ea=new ResizeObserver(qi),window.addEventListener(`scroll`,()=>{Hi=window.scrollY,Vi=window.scrollX}),ea.observe(Bi));function na(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(ra(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(Wi in r)return!1;ra(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(Wi in r)return!1;r instanceof Element&&(e.add(r),ra(t.target,r),Mi.set(r,[t.previousSibling,t.nextSibling]))}}return e},new Set)}function ra(e,t){!t&&!(Ui in e)?Object.defineProperty(e,Ui,{value:e}):t&&!(Ui in t)&&Object.defineProperty(t,Ui,{value:e})}function ia(e){var t;let n=e.isConnected,r=ji.has(e);n&&Mi.has(e)&&Mi.delete(e),Ni.get(e)?.playState!==`finished`&&((t=Ni.get(e))==null||t.cancel()),Gi in e?ga(e):r&&n?ha(e):r&&!n?va(e):ga(e)}function aa(e){return Number(e.replace(/[^0-9.\-]/g,``))}function oa(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 sa(e){let t=e.getBoundingClientRect(),{x:n,y:r}=oa(e);return{top:t.top+r,left:t.left+n,width:t.width,height:t.height}}function ca(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=aa(s.paddingTop)+aa(s.paddingBottom)+aa(s.borderTopWidth)+aa(s.borderBottomWidth),t=aa(s.paddingLeft)+aa(s.paddingRight)+aa(s.borderRightWidth)+aa(s.borderLeftWidth);r-=t,a-=t,i-=e,o-=e}return[r,a,i,o].map(Math.round)}function la(e){return Ui in e&&Li.has(e[Ui])?Li.get(e[Ui]):{duration:250,easing:`ease-in-out`}}function ua(e){if(Ui in e)return e[Ui]}function da(e){let t=ua(e);return t?zi.has(t):!1}function fa(e,...t){t.forEach(t=>t(e,Li.has(e)));for(let n=0;n<e.children.length;n++){let r=e.children.item(n);r&&t.forEach(e=>e(r,Li.has(r)))}}function pa(e){return Array.isArray(e)?e:[e]}function ma(e){return typeof e==`function`}function ha(e){let t=ji.get(e),n=sa(e);if(!da(e))return ji.set(e,n);if(Ji(e)){ji.set(e,n),Yi(e);return}let r;if(!t)return;let i=la(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]=ca(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]=pa(i(e,`remain`,t,n));r=new Animation(a),r.play()}Ni.set(e,r),ji.set(e,n),r.addEventListener(`finish`,Xi.bind(null,e,!1),{once:!0})}function ga(e){Gi in e&&delete e[Gi];let t=sa(e);ji.set(e,t);let n=la(e);if(!da(e))return;if(Ji(e)){Yi(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]=pa(n(e,`add`,t));r=new Animation(i),r.play()}Ni.set(e,r),r.addEventListener(`finish`,Xi.bind(null,e,!1),{once:!0})}function _a(e,t){var n;e.remove(),ji.delete(e),Mi.delete(e),Ni.delete(e),(n=Pi.get(e))==null||n.disconnect(),setTimeout(()=>{if(Wi in e&&delete e[Wi],Object.defineProperty(e,Gi,{value:!0,configurable:!0}),t&&e instanceof HTMLElement)for(let n in t)e.style[n]=``},0)}function va(e){var t;if(!Mi.has(e)||!ji.has(e))return;let[n,r]=Mi.get(e);Object.defineProperty(e,Wi,{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=ua(e))==null||t.appendChild(e),!da(e))return _a(e);let[o,s,c,l]=ba(e),u=la(e),d=ji.get(e);(i!==Vi||a!==Hi)&&ya(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(!ma(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]=pa(u(e,`remove`,d));n?.styleReset!==!1&&(p=n?.styleReset||p,Object.assign(e.style,p)),f=new Animation(t),f.play()}Ni.set(e,f),f.addEventListener(`finish`,()=>_a(e,p),{once:!0})}function ya(e,t,n,r){let i=Vi-t,a=Hi-n,o=document.documentElement.style.scrollBehavior;if(getComputedStyle(Bi).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(!ma(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 ba(e){let t=ji.get(e),[n,,r]=ca(e,t,sa(e)),i=e.parentElement;for(;i&&(getComputedStyle(i).position===`static`||i instanceof HTMLBodyElement);)i=i.parentElement;i||=document.body;let a=getComputedStyle(i),o=!Ni.has(e)||Ni.get(e)?.playState===`finished`?sa(i):ji.get(i);return[Math.round(t.top-o.top)-aa(a.borderTopWidth),Math.round(t.left-o.left)-aa(a.borderLeftWidth),n,r]}function xa(e,t={}){if(ta&&ea&&!(window.matchMedia(`(prefers-reduced-motion: reduce)`).matches&&!ma(t)&&!t.disrespectUserMotionPreference)){zi.add(e),getComputedStyle(e).position===`static`&&Object.assign(e.style,{position:`relative`}),fa(e,Xi,Qi,e=>ea?.observe(e)),ma(t)?Li.set(e,t):Li.set(e,{duration:250,easing:`ease-in-out`,...t});let n=new MutationObserver(Ki);n.observe(e,{childList:!0}),Fi.set(e,n),Ai.add(e)}return Object.freeze({parent:e,enable:()=>{zi.add(e)},disable:()=>{zi.delete(e),fa(e,e=>{let t=Ni.get(e);try{t?.cancel()}catch{}Ni.delete(e);let n=Ri.get(e);n&&clearTimeout(n),Ri.delete(e);let r=Ii.get(e);r&&clearInterval(r),Ii.delete(e)})},isEnabled:()=>zi.has(e),destroy:()=>{zi.delete(e),Ai.delete(e),Li.delete(e),Fi.get(e)?.disconnect(),Fi.delete(e),fa(e,e=>{ea?.unobserve(e);let t=Ni.get(e);try{t?.cancel()}catch{}Ni.delete(e),Pi.get(e)?.disconnect(),Pi.delete(e);let n=Ii.get(e);n&&clearInterval(n),Ii.delete(e);let r=Ri.get(e);r&&clearTimeout(r),Ri.delete(e),ji.delete(e),Mi.delete(e)})}})}var Sa=e(fe());function Ca(){var e=[...arguments];return(0,Z.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var wa=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Ta(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Ea(e){return`nodeType`in e}function Da(e){return e?Ta(e)?e:Ea(e)?e.ownerDocument?.defaultView??window:window:window}function Oa(e){let{Document:t}=Da(e);return e instanceof t}function ka(e){return Ta(e)?!1:e instanceof Da(e).HTMLElement}function Aa(e){return e instanceof Da(e).SVGElement}function ja(e){return e?Ta(e)?e.document:Ea(e)?Oa(e)?e:ka(e)||Aa(e)?e.ownerDocument:document:document:document}var Ma=wa?Z.useLayoutEffect:Z.useEffect;function Na(e){let t=(0,Z.useRef)(e);return Ma(()=>{t.current=e}),(0,Z.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function Pa(){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 Fa(e,t){t===void 0&&(t=[e]);let n=(0,Z.useRef)(e);return Ma(()=>{n.current!==e&&(n.current=e)},t),n}function Ia(e,t){let n=(0,Z.useRef)();return(0,Z.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function La(e){let t=Na(e),n=(0,Z.useRef)(null);return[n,(0,Z.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Ra(e){let t=(0,Z.useRef)();return(0,Z.useEffect)(()=>{t.current=e},[e]),t.current}var za={};function Ba(e,t){return(0,Z.useMemo)(()=>{if(t)return t;let n=za[e]==null?0:za[e]+1;return za[e]=n,e+`-`+n},[e,t])}function Va(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 Ha=Va(1),Ua=Va(-1);function Wa(e){return`clientX`in e&&`clientY`in e}function Ga(e){if(!e)return!1;let{KeyboardEvent:t}=Da(e.target);return t&&e instanceof t}function Ka(e){if(!e)return!1;let{TouchEvent:t}=Da(e.target);return t&&e instanceof t}function qa(e){if(Ka(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 Wa(e)?{x:e.clientX,y:e.clientY}:null}var Ja=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[Ja.Translate.toString(e),Ja.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Ya=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Xa(e){return e.matches(Ya)?e:e.querySelector(Ya)}var Za={display:`none`};function Qa(e){let{id:t,value:n}=e;return Z.createElement(`div`,{id:t,style:Za},n)}function $a(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 eo(){let[e,t]=(0,Z.useState)(``);return{announce:(0,Z.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var to=(0,Z.createContext)(null);function no(e){let t=(0,Z.useContext)(to);(0,Z.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function ro(){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 io={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
|
+
`},ao={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 oo(e){let{announcements:t=ao,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=io}=e,{announce:a,announcement:o}=eo(),s=Ba(`DndLiveRegion`),[c,l]=(0,Z.useState)(!1);if((0,Z.useEffect)(()=>{l(!0)},[]),no((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(Qa,{id:r,value:i.draggable}),Z.createElement($a,{id:s,announcement:o}));return n?(0,Sa.createPortal)(u,n):u}var so;(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`})(so||={});function co(){}function lo(e,t){return(0,Z.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function uo(){var e=[...arguments];return(0,Z.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var fo=Object.freeze({x:0,y:0});function po(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function mo(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function ho(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function go(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 _o(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}var vo=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=go(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=go(r),o=i.reduce((e,t,r)=>e+po(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(mo)};function yo(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 bo=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=yo(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(ho)};function xo(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 So=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&&xo(r,a)){let n=go(a).reduce((e,t)=>e+po(r,t),0),o=Number((n/4).toFixed(4));i.push({id:t,data:{droppableContainer:e,value:o}})}}return i.sort(mo)};function Co(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function wo(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:fo}function To(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 Eo=To(1);function Do(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 Oo(e,t,n){let r=Do(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 ko={ignoreTransform:!1};function Ao(e,t){t===void 0&&(t=ko);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Da(e).getComputedStyle(e);t&&(n=Oo(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 jo(e){return Ao(e,{ignoreTransform:!0})}function Mo(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function No(e,t){return t===void 0&&(t=Da(e).getComputedStyle(e)),t.position===`fixed`}function Po(e,t){t===void 0&&(t=Da(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 Fo(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Oa(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!ka(i)||Aa(i)||n.includes(i))return n;let a=Da(e).getComputedStyle(i);return i!==e&&Po(i,a)&&n.push(i),No(i,a)?n:r(i.parentNode)}return e?r(e):n}function Io(e){let[t]=Fo(e,1);return t??null}function Lo(e){return!wa||!e?null:Ta(e)?e:Ea(e)?Oa(e)||e===ja(e).scrollingElement?window:ka(e)?e:null:null}function Ro(e){return Ta(e)?e.scrollX:e.scrollLeft}function zo(e){return Ta(e)?e.scrollY:e.scrollTop}function Bo(e){return{x:Ro(e),y:zo(e)}}var Vo;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Vo||={});function Ho(e){return!wa||!e?!1:e===document.scrollingElement}function Uo(e){let t={x:0,y:0},n=Ho(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 Wo={x:.2,y:.2};function Go(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Wo);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Uo(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=Vo.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Vo.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Vo.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Vo.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Ko(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 qo(e){return e.reduce((e,t)=>Ha(e,Bo(t)),fo)}function Jo(e){return e.reduce((e,t)=>e+Ro(t),0)}function Yo(e){return e.reduce((e,t)=>e+zo(t),0)}function Xo(e,t){if(t===void 0&&(t=Ao),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Io(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var Zo=[[`x`,[`left`,`right`],Jo],[`y`,[`top`,`bottom`],Yo]],Qo=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=Fo(t),r=qo(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Zo)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})}},$o=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 es(e){let{EventTarget:t}=Da(e);return e instanceof t?e:ja(e)}function ts(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 ns;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(ns||={});function rs(e){e.preventDefault()}function is(e){e.stopPropagation()}var as;(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`})(as||={});var os={start:[as.Space,as.Enter],cancel:[as.Esc],end:[as.Space,as.Enter,as.Tab]},ss=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case as.Right:return{...n,x:n.x+25};case as.Left:return{...n,x:n.x-25};case as.Down:return{...n,y:n.y+25};case as.Up:return{...n,y:n.y-25}}},cs=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 $o(ja(t)),this.windowListeners=new $o(Da(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ns.Resize,this.handleCancel),this.windowListeners.add(ns.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ns.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Xo(n),t(fo)}handleKeyDown(e){if(Ga(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=os,coordinateGetter:a=ss,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}:fo;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Ua(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}=Uo(n),p=Ko(n),m={x:Math.min(i===as.Right?p.right-p.width/2:p.right,Math.max(i===as.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===as.Down?p.bottom-p.height/2:p.bottom,Math.max(i===as.Down?p.top:p.top+p.height/2,u.y))},h=i===as.Right&&!s||i===as.Left&&!c,g=i===as.Down&&!l||i===as.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===as.Right&&e<=d.x||i===as.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===as.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===as.Down&&e<=d.y||i===as.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===as.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,Ha(Ua(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()}};cs.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=os,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 ls(e){return!!(e&&`distance`in e)}function us(e){return!!(e&&`delay`in e)}var ds=class{constructor(e,t,n){n===void 0&&(n=es(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=ja(i),this.documentListeners=new $o(this.document),this.listeners=new $o(n),this.windowListeners=new $o(Da(i)),this.initialCoordinates=qa(r)??fo,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(ns.Resize,this.handleCancel),this.windowListeners.add(ns.DragStart,rs),this.windowListeners.add(ns.VisibilityChange,this.handleCancel),this.windowListeners.add(ns.ContextMenu,rs),this.documentListeners.add(ns.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(us(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(ls(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(ns.Click,is,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ns.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=qa(e)??fo,s=Ua(n,o);if(!t&&a){if(ls(a)){if(a.tolerance!=null&&ts(s,a.tolerance))return this.handleCancel();if(ts(s,a.distance))return this.handleStart()}if(us(a)&&ts(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===as.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},fs={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},ps=class extends ds{constructor(e){let{event:t}=e,n=ja(t.target);super(e,fs,n)}};ps.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 ms={move:{name:`mousemove`},end:{name:`mouseup`}},hs;(function(e){e[e.RightClick=2]=`RightClick`})(hs||={});var gs=class extends ds{constructor(e){super(e,ms,ja(e.event.target))}};gs.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===hs.RightClick?!1:(r?.({event:n}),!0)}}];var _s={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},vs=class extends ds{constructor(e){super(e,_s)}static setup(){return window.addEventListener(_s.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(_s.move.name,e)};function e(){}}};vs.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 ys;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(ys||={});var bs;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(bs||={});function xs(e){let{acceleration:t,activator:n=ys.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=bs.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Cs({delta:d,disabled:!a}),[m,h]=Pa(),g=(0,Z.useRef)({x:0,y:0}),_=(0,Z.useRef)({x:0,y:0}),v=(0,Z.useMemo)(()=>{switch(n){case ys.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case ys.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===bs.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}=Go(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 Ss={x:{[Vo.Backward]:!1,[Vo.Forward]:!1},y:{[Vo.Backward]:!1,[Vo.Forward]:!1}};function Cs(e){let{delta:t,disabled:n}=e,r=Ra(t);return Ia(e=>{if(n||!r||!e)return Ss;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Vo.Backward]:e.x[Vo.Backward]||i.x===-1,[Vo.Forward]:e.x[Vo.Forward]||i.x===1},y:{[Vo.Backward]:e.y[Vo.Backward]||i.y===-1,[Vo.Forward]:e.y[Vo.Forward]||i.y===1}}},[n,t,r])}function ws(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Ia(e=>t==null?null:r??e??null,[r,t])}function Ts(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 Es;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Es||={});var Ds;(function(e){e.Optimized=`optimized`})(Ds||={});var Os=new Map;function ks(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=Fa(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=Ia(t=>{if(d&&!n)return Os;if(!t||t===Os||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 Qo(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 Es.Always:return!1;case Es.BeforeDragging:return n;default:return!n}}}function As(e,t){return Ia(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function js(e,t){return As(e,t)}function Ms(e){let{callback:t,disabled:n}=e,r=Na(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 Ns(e){let{callback:t,disabled:n}=e,r=Na(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 Ps(e){return new Qo(Ao(e),e)}function Fs(e,t,n){t===void 0&&(t=Ps);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=Ms({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=Ns({callback:a});return Ma(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function Is(e){return wo(e,As(e))}var Ls=[];function Rs(e){let t=(0,Z.useRef)(e),n=Ia(n=>e?n&&n!==Ls&&e&&t.current&&e.parentNode===t.current.parentNode?n:Fo(e):Ls,[e]);return(0,Z.useEffect)(()=>{t.current=e},[e]),n}function zs(e){let[t,n]=(0,Z.useState)(null),r=(0,Z.useRef)(e),i=(0,Z.useCallback)(e=>{let t=Lo(e.target);t&&n(e=>e?(e.set(t,Bo(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=Lo(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Bo(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=>{Lo(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,Z.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Ha(e,t),fo):qo(e):fo,[e,t])}function Bs(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!==fo;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Ua(e,n.current):fo}function Vs(e){(0,Z.useEffect)(()=>{if(!wa)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 Hs(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 Us(e){return(0,Z.useMemo)(()=>e?Mo(e):null,[e])}var Ws=[];function Gs(e,t){t===void 0&&(t=Ao);let[n]=e,r=Us(n?Da(n):null),[i,a]=(0,Z.useState)(Ws);function o(){a(()=>e.length?e.map(e=>Ho(e)?r:new Qo(t(e),e)):Ws)}let s=Ns({callback:o});return Ma(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function Ks(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return ka(t)?t:e}function qs(e){let{measure:t}=e,[n,r]=(0,Z.useState)(null),i=Ns({callback:(0,Z.useCallback)(e=>{for(let{target:n}of e)if(ka(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=La((0,Z.useCallback)(e=>{let n=Ks(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 Js=[{sensor:ps,options:{}},{sensor:cs,options:{}}],Ys={current:{}},Xs={draggable:{measure:jo},droppable:{measure:jo,strategy:Es.WhileDragging,frequency:Ds.Optimized},dragOverlay:{measure:Ao}},Zs=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}},Qs={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Zs,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:co},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Xs,measureDroppableContainers:co,windowRect:null,measuringScheduled:!1},$s={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:co,draggableNodes:new Map,over:null,measureDroppableContainers:co},ec=(0,Z.createContext)($s),tc=(0,Z.createContext)(Qs);function nc(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Zs}}}function rc(e,t){switch(t.type){case so.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case so.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 so.DragEnd:case so.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case so.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new Zs(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case so.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 Zs(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case so.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new Zs(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function ic(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,Z.useContext)(ec),a=Ra(r),o=Ra(n?.id);return(0,Z.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Ga(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=Xa(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function ac(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function oc(e){return(0,Z.useMemo)(()=>({draggable:{...Xs.draggable,...e?.draggable},droppable:{...Xs.droppable,...e?.droppable},dragOverlay:{...Xs.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function sc(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;Ma(()=>{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=wo(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=Io(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var cc=(0,Z.createContext)({...fo,scaleX:1,scaleY:1}),lc;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(lc||={});var uc=(0,Z.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Js,collisionDetection:o=bo,measuring:s,modifiers:c,...l}=e,[u,d]=(0,Z.useReducer)(rc,void 0,nc),[f,p]=ro(),[m,h]=(0,Z.useState)(lc.Uninitialized),g=m===lc.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??Ys,rect:S},[_,x]),w=(0,Z.useRef)(null),[T,E]=(0,Z.useState)(null),[D,O]=(0,Z.useState)(null),k=Fa(l,Object.values(l)),A=Ba(`DndDescribedBy`,t),j=(0,Z.useMemo)(()=>b.getEnabled(),[b]),M=oc(s),{droppableRects:N,measureDroppableContainers:P,measuringScheduled:F}=ks(j,{dragging:g,dependencies:[y.x,y.y],config:M.droppable}),I=ws(v,_),L=(0,Z.useMemo)(()=>D?qa(D):null,[D]),R=be(),z=js(I,M.draggable.measure);sc({activeNode:_==null?null:v.get(_),config:R.layoutShiftCompensation,initialRect:z,measure:M.draggable.measure});let B=Fs(I,M.draggable.measure,z),V=Fs(I?I.parentElement:null),H=(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}),U=b.getNodeFor(H.current.over?.id),W=qs({measure:M.dragOverlay.measure}),G=W.nodeRef.current??I,ee=g?W.rect??B:null,K=!!(W.nodeRef.current&&W.rect),te=Is(K?null:B),ne=Us(G?Da(G):null),re=Rs(g?U??I:null),q=Gs(re),ie=ac(c,{transform:{x:y.x-te.x,y:y.y-te.y,scaleX:1,scaleY:1},activatorEvent:D,active:C,activeNodeRect:B,containerNodeRect:V,draggingNodeRect:ee,over:H.current.over,overlayNodeRect:W.rect,scrollableAncestors:re,scrollableAncestorRects:q,windowRect:ne}),ae=L?Ha(L,y):null,oe=zs(re),se=Bs(oe),ce=Bs(oe,[B]),le=Ha(ie,se),ue=ee?Eo(ee,ie):null,J=C&&ue?o({active:C,collisionRect:ue,droppableRects:N,droppableContainers:j,pointerCoordinates:ae}):null,de=_o(J,`id`),[fe,pe]=(0,Z.useState)(null),me=Co(K?ie:Ha(ie,ce),fe?.rect??null,B),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:H,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,Sa.unstable_batchedUpdates)(()=>{r?.(i),h(lc.Initializing),d({type:so.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),E(he.current),O(a)})},onMove(e){d({type:so.DragMove,coordinates:e})},onEnd:o(so.DragEnd),onCancel:o(so.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=H.current,o=null;if(t&&i){let{cancelDrop:s}=k.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===so.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=so.DragCancel)}w.current=null,(0,Sa.unstable_batchedUpdates)(()=>{d({type:e}),h(lc.Uninitialized),pe(null),E(null),O(null),he.current=null;let t=e===so.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=k.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),_e=Ts(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]));Vs(a),Ma(()=>{B&&m===lc.Initializing&&h(lc.Initialized)},[B,m]),(0,Z.useEffect)(()=>{let{onDragMove:e}=k.current,{active:t,activatorEvent:n,collisions:r,over:i}=H.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:le.x,y:le.y},over:i};(0,Sa.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}=H.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,Sa.unstable_batchedUpdates)(()=>{pe(s),a?.(c),f({type:`onDragOver`,event:c})})},[de]),Ma(()=>{H.current={activatorEvent:D,active:C,activeNode:I,collisionRect:ue,collisions:J,droppableRects:N,draggableNodes:v,draggingNode:G,draggingNodeRect:ee,droppableContainers:b,over:fe,scrollableAncestors:re,scrollAdjustedTranslate:le},S.current={initial:ee,translated:ue}},[C,I,J,ue,v,G,ee,N,b,fe,re,le]),xs({...R,delta:y,draggingRect:ue,pointerCoordinates:ae,scrollableAncestors:re,scrollableAncestorRects:q});let ve=(0,Z.useMemo)(()=>({active:C,activeNode:I,activeNodeRect:B,activatorEvent:D,collisions:J,containerNodeRect:V,dragOverlay:W,draggableNodes:v,droppableContainers:b,droppableRects:N,over:fe,measureDroppableContainers:P,scrollableAncestors:re,scrollableAncestorRects:q,measuringConfiguration:M,measuringScheduled:F,windowRect:ne}),[C,I,B,D,J,V,W,v,b,N,fe,P,re,q,M,F,ne]),ye=(0,Z.useMemo)(()=>({activatorEvent:D,activators:_e,active:C,activeNodeRect:B,ariaDescribedById:{draggable:A},dispatch:d,draggableNodes:v,over:fe,measureDroppableContainers:P}),[D,_e,C,B,d,A,v,fe,P]);return Z.createElement(to.Provider,{value:p},Z.createElement(ec.Provider,{value:ye},Z.createElement(tc.Provider,{value:ve},Z.createElement(cc.Provider,{value:me},i)),Z.createElement(ic,{disabled:n?.restoreFocus===!1})),Z.createElement(oo,{...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}}}),dc=(0,Z.createContext)(null),fc=`button`,pc=`Draggable`;function mc(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Ba(pc),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,Z.useContext)(ec),{role:p=fc,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,Z.useContext)(g?cc:dc),[v,y]=La(),[b,x]=La(),S=Hs(o,t),C=Fa(n);return Ma(()=>(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===fc?!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 hc(){return(0,Z.useContext)(tc)}var gc=`Droppable`,_c={timeout:25};function vc(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Ba(gc),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,Z.useContext)(ec),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}={..._c,...i},_=Fa(h??r),v=Ns({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]=La((0,Z.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Fa(t);return(0,Z.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,Z.useEffect)(()=>(s({type:so.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:so.UnregisterDroppable,key:a,id:r})),[r]),(0,Z.useEffect)(()=>{n!==u.current.disabled&&(s({type:so.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}}var yc={metaKey:!1,ctrlKey:!1,altKey:!1,shiftKey:!1};function bc(e,t){return e.metaKey===t.metaKey&&e.ctrlKey===t.ctrlKey&&e.altKey===t.altKey&&e.shiftKey===t.shiftKey}var xc=d(e=>({state:yc,setState:t=>e(e=>bc(e.state,t)?e:{state:t}),clear:()=>e(e=>bc(e.state,yc)?e:{state:yc})}));function Sc(){return xc(Cc)}function Cc(e){return e.state}function wc(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 Tc(e){let t=wc(e.key);if(t){let n=xc.getState().state;xc.getState().setState({...n,[t]:e.type===`keydown`});return}xc.getState().setState({metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey})}function Ec(){xc.getState().clear()}var Dc=new Set([`idle`,`in_progress`,`review`,`done`]),Oc=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function kc(e){let t=e.project.projectKey,n={...e.project,id:t},r=e.threads.map(n=>Nc({lastVisitedAt:e.lastVisitedAtByThreadKey?.get(s(u(n.environmentId,n.id)))??null,logicalProjectId:t,thread:n})),i=Fc(e.project,t,e.worktrees??[]),a=Vc({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 Ac(e){let t=jc(e),n=e.projectKey,r=[],i=[];return e=>{let a=[];for(let[n,r]of Object.entries(e.draftThreadsByThreadKey))Mc(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])=>Pc({draftId:e,logicalProjectId:n,draftThread:t})),i)}}function jc(e){return new Set(e.memberProjects.map(e=>c(l(e.environmentId,e.id))))}function Mc(e,t){return e.promotedTo==null?t.has(c(l(e.environmentId,e.projectId))):!1}function Nc(e){let t=e.thread,n=Jc(t.statusPill)||t.statusPill===null?t.statusPill:Rr({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:Uc(t.manualStatusBucket)??Uc(t.manualBucket)??Uc(t.statusBucket)??null,sourceProjectId:e.thread.projectId,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function Pc(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 Fc(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=Gc(r.branch);if(!i)return[];let a=Kc(r.worktreePath),o=Wc(r.origin)??(a===null?`main`:`manual`),s=Gc(r.worktreeId)??Gc(r.id)??Hc({branch:i,fallbackIndex:n,origin:o,projectId:t,worktreePath:a});return[{archivedAt:Kc(r.archivedAt),branch:i,issueNumber:qc(r.issueNumber),manualPosition:qc(r.manualPosition),origin:o,prNumber:qc(r.prNumber),prState:Ic(r.prState),prIsDraft:Bc(r.prIsDraft),issueState:Lc(r.issueState),workItemProvider:Rc(r.workItemProvider),workItemKey:Kc(r.workItemKey),workItemTitle:Kc(r.workItemTitle),workItemState:zc(r.workItemState),workItemStateName:Kc(r.workItemStateName),workItemUrl:Kc(r.workItemUrl),projectId:t,title:Kc(r.title),updatedAt:Gc(r.updatedAt),worktreeId:s,worktreePath:a}]})}function Ic(e){return e===`open`||e===`closed`||e===`merged`?e:null}function Lc(e){return e===`open`||e===`closed`?e:null}function Rc(e){return e===`jira`?e:null}function zc(e){return e===`open`||e===`in_progress`||e===`done`||e===`closed`||e===`unknown`?e:null}function Bc(e){return typeof e==`boolean`?e:null}function Vc(e){let t=new Map,n=(n,r)=>{let i=n?.worktreePath??null,a=n?.branch??(i===null?`main`:Yc(i)),o=i===null?`main`:`branch`,s=n?.worktreeId??Hc({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:Xc(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 Hc(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.projectId}:${t||e.fallbackIndex}`}function Uc(e){return typeof e==`string`&&Dc.has(e)?e:null}function Wc(e){return typeof e==`string`&&Oc.has(e)?e:null}function Gc(e){return typeof e==`string`&&e.length>0?e:void 0}function Kc(e){return typeof e==`string`&&e.length>0?e:null}function qc(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Jc(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 Yc(e){return e?e.split(/[\\/]/).findLast(e=>e.length>0)??e:`worktree`}function Xc(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 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:Hr(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:kr({buckets:n,latestUpdatedAt:yl(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function el(e){return zr({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??Rr({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,workItemProvider:e.workItemProvider??t.workItemProvider??null,workItemKey:e.workItemKey??t.workItemKey??null,workItemTitle:e.workItemTitle??t.workItemTitle??null,workItemState:n.workItemState??null,workItemStateName:n.workItemStateName??null,workItemUrl:e.workItemUrl??t.workItemUrl??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}function Tl(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function El(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Dl(e){return e!==null&&e>=0}function Ol(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 kl(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Al=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Tl(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}},jl={scaleX:1,scaleY:1},Ml=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,...jl}:null}let s=Nl(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...jl}:r<t&&r>=a?{x:0,y:o.height+s,...jl}:{x:0,y:0,...jl}};function Nl(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 Pl=`Sortable`,Fl=Z.createContext({activeIndex:-1,containerId:Pl,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Al,disabled:{draggable:!1,droppable:!1}});function Il(e){let{children:t,id:n,items:r,strategy:i=Al,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=hc(),d=Ba(Pl,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=!Ol(p,_.current),y=g!==-1&&h===-1||v,b=kl(a);Ma(()=>{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:El(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return Z.createElement(Fl.Provider,{value:x},t)}var Ll=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Tl(n,r,i).indexOf(t)},Rl=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},zl={duration:200,easing:`ease`},Bl=`transform`,Vl=Ja.Transition.toString({property:Bl,duration:0,easing:`linear`}),Hl={roleDescription:`sortable`};function Ul(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,Z.useState)(null),s=(0,Z.useRef)(n);return Ma(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=Ao(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 Wl(e){let{animateLayoutChanges:t=Rl,attributes:n,disabled:r,data:i,getNewIndex:a=Ll,id:o,strategy:s,resizeObserverConfig:c,transition:l=zl}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,Z.useContext)(Fl),y=Gl(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}=vc({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}=mc({id:o,data:x,attributes:{...Hl,...n},disabled:y.draggable}),L=Ca(E,j),R=!!D,z=R&&!m&&Dl(f)&&Dl(g),B=!_&&N,V=z?(B&&z?I:null)??(s??v)({rects:h,activeNodeRect:k,activeIndex:f,overIndex:g,index:b}):null,H=Dl(f)&&Dl(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,U=D?.id,W=(0,Z.useRef)({activeId:U,items:u,newIndex:H,containerId:d}),G=u!==W.current.items,ee=t({active:D,containerId:d,isDragging:N,isSorting:R,id:o,index:b,items:u,newIndex:W.current.newIndex,previousItems:W.current.items,previousContainerId:W.current.containerId,transition:l,wasDragging:W.current.activeId!=null}),K=Ul({disabled:!ee,index:b,node:w,rect:C});return(0,Z.useEffect)(()=>{R&&W.current.newIndex!==H&&(W.current.newIndex=H),d!==W.current.containerId&&(W.current.containerId=d),u!==W.current.items&&(W.current.items=u)},[R,H,d,u]),(0,Z.useEffect)(()=>{if(U===W.current.activeId)return;if(U!=null&&W.current.activeId==null){W.current.activeId=U;return}let e=setTimeout(()=>{W.current.activeId=U},50);return()=>clearTimeout(e)},[U]),{active:D,activeIndex:f,attributes:A,data:x,rect:C,index:b,newIndex:H,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:K??V,transition:te()};function te(){if(K||G&&W.current.newIndex===b)return Vl;if(!(B&&!Ga(O)||!l)&&(R||ee))return Ja.Transition.toString({...l,property:Bl})}}function Gl(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}as.Down,as.Right,as.Up,as.Left;function Kl(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 ql=e=>{let{draggingNodeRect:t,transform:n,scrollableAncestorRects:r}=e,i=r[0];return!t||!i?n:Kl(n,t,i)},Jl=e=>{let{transform:t}=e;return{...t,x:0}},$=Ce(),Yl={updated_at:`Last user message`,created_at:`Created at`,manual:`Manual`},Xl={updated_at:`Last user message`,created_at:`Created at`},Zl={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`},Ql=Il,$l=`project-folder-root-drop`;function eu(e){let t=(0,Q.c)(6),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={id:$l},t[0]=n):n=t[0];let{isOver:r,setNodeRef:i}=vc(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 tu(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)(Fe,{children:[(0,$.jsx)(Se,{render:(0,$.jsx)(Le,{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)(Oi,{className:`size-3.5`})}),(0,$.jsx)(de,{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(Yl),t[4]=d):d=t[4];let f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=d.map(iu),t[5]=f):f=t[5];let p;t[6]!==n||t[7]!==u?(p=(0,$.jsxs)(Be,{children:[l,(0,$.jsx)(ke,{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(Xl),t[12]=g):g=t[12];let _;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(_=g.map(ru),t[13]=_):_=t[13];let v;t[14]!==h||t[15]!==r?(v=(0,$.jsxs)(Be,{children:[m,(0,$.jsx)(ke,{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)(ve,{}),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(Zl),t[21]=S):S=t[21];let C;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(C=S.map(nu),t[22]=C):C=t[22];let w;t[23]!==i||t[24]!==x?(w=(0,$.jsxs)(Be,{children:[b,(0,$.jsx)(ke,{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)(Te,{children:[c,(0,$.jsxs)(ye,{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 nu(e){let[t,n]=e;return(0,$.jsx)(je,{value:t,className:`min-h-7 py-1 sm:text-xs`,children:n},t)}function ru(e){let[t,n]=e;return(0,$.jsx)(je,{value:t,className:`min-h-7 py-1 sm:text-xs`,children:n},t)}function iu(e){let[t,n]=e;return(0,$.jsx)(je,{value:t,className:`min-h-7 py-1 sm:text-xs`,children:n},t)}function au(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}=Wl(o),h;t[3]===d?h=t[4]:(h=Ja.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 ou=(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)(Qn,{className:`size-[18px] shrink-0 text-muted-foreground/80`}):(0,$.jsx)(hn,{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)(cr,{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)(Le,{"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)(en,{className:`size-3.5`}),t[24]=f):f=t[24];let p;t[25]===d?p=t[26]:(p=(0,$.jsx)(Se,{render:d,children:f}),t[25]=d,t[26]=p);let m;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(de,{side:`top`,children:`Folder settings`}),t[27]=m):m=t[27];let h;t[28]===p?h=t[29]:(h=(0,$.jsxs)(Fe,{children:[p,m]}),t[28]=p,t[29]=h);let g;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Sn,{className:`size-3.5`}),t[30]=g):g=t[30];let _;t[31]===e.onRename?_=t[32]:(_=(0,$.jsxs)(Ae,{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)(ve,{}),t[33]=v):v=t[33];let y;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(wr,{className:`size-3.5`}),t[34]=y):y=t[34];let b;t[35]===e.onDelete?b=t[36]:(b=(0,$.jsxs)(Ae,{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)(ye,{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)(Te,{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}),su=(0,Z.memo)(function(e){let t=(0,Q.c)(122),{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:_,projectTreeRows:v,commandPaletteShortcutLabel:y,attachProjectListAutoAnimateRef:b,projectsLength:x,renderProjectRow:S}=e,C=we(cu),w=we(lu),T=we(uu),E=we(du),[D,O]=(0,Z.useState)(null),[k,A]=(0,Z.useState)(``),j;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(j=e=>{let t=e===void 0?{}:e,n=t.initialName??``;O({mode:`create`,initialProjectKeys:t.initialProjectKeys??[],initialName:n}),A(n)},t[0]=j):j=t[0];let M=j,N;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(N=(e,t)=>{O({mode:`rename`,folderId:e,initialName:t}),A(t)},t[1]=N):N=t[1];let P=N,F;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(F=()=>{O(null),A(``)},t[2]=F):F=t[2];let I=F,L;t[3]!==C||t[4]!==D||t[5]!==k||t[6]!==w?(L=()=>{if(!D)return;let e=k.trim();e&&(D.mode===`create`?C(e,D.initialProjectKeys):w(D.folderId,e),I())},t[3]=C,t[4]=D,t[5]=k,t[6]=w,t[7]=L):L=t[7];let R=L,z;t[8]===T?z=t[9]:(z=(e,t)=>{window.confirm(`Delete folder "${t}"?\n\nProjects inside it will stay in the sidebar.`)&&T(e)},t[8]=T,t[9]=z);let B=z,V;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{M({initialName:e.displayName,initialProjectKeys:e.memberProjects.map(fu)})},t[10]=V):V=t[10];let H=V,U;t[11]===u?U=t[12]:(U=e=>{u({sidebarProjectSortOrder:e})},t[11]=u,t[12]=U);let W=U,G;t[13]===u?G=t[14]:(G=e=>{u({sidebarThreadSortOrder:e})},t[13]=u,t[14]=G);let ee=G,K;t[15]===u?K=t[16]:(K=e=>{u({sidebarProjectGroupingMode:e})},t[15]=u,t[16]=K);let te=K,ne,re,q;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(cr,{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`}),ne=(0,$.jsx)(un,{className:`size-3.5`}),re=(0,$.jsx)(`span`,{className:`flex-1 truncate text-left text-xs`,children:`Search`}),t[17]=ne,t[18]=re,t[19]=q):(ne=t[17],re=t[18],q=t[19]);let ie;t[20]===y?ie=t[21]:(ie=y?(0,$.jsx)(Yn,{className:`h-4 min-w-0 rounded-sm px-1.5 text-[10px]`,children:y}):null,t[20]=y,t[21]=ie);let ae;t[22]===ie?ae=t[23]:(ae=(0,$.jsx)(pr,{className:`px-2 pt-2 pb-1`,children:(0,$.jsx)(yr,{children:(0,$.jsx)(mr,{children:(0,$.jsxs)(Mt,{render:q,children:[ne,re,ie]})})})}),t[22]=ie,t[23]=ae);let oe;t[24]!==r||t[25]!==i||t[26]!==a||t[27]!==o||t[28]!==n?(oe=n&&r?(0,$.jsx)(pr,{className:`px-2 pt-2 pb-0`,children:(0,$.jsxs)(Nn,{variant:`warning`,className:`rounded-2xl border-warning/40 bg-warning/8`,children:[(0,$.jsx)(Tr,{}),(0,$.jsx)(bt,{children:`Intel build on Apple Silicon`}),(0,$.jsx)(Ut,{children:r}),i===`none`?null:(0,$.jsx)(ut,{children:(0,$.jsx)(Pe,{size:`xs`,variant:`outline`,disabled:a,onClick:o,children:i===`download`?`Download ARM build`:`Install ARM build`})})]})}):null,t[24]=r,t[25]=i,t[26]=a,t[27]=o,t[28]=n,t[29]=oe):oe=t[29];let se;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60`,children:`Projects`}),t[30]=se):se=t[30];let ce;t[31]!==te||t[32]!==W||t[33]!==ee||t[34]!==l||t[35]!==s||t[36]!==c?(ce=(0,$.jsx)(tu,{projectSortOrder:s,threadSortOrder:c,projectGroupingMode:l,onProjectSortOrderChange:W,onThreadSortOrderChange:ee,onProjectGroupingModeChange:te}),t[31]=te,t[32]=W,t[33]=ee,t[34]=l,t[35]=s,t[36]=c,t[37]=ce):ce=t[37];let le;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{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:()=>M()}),children:(0,$.jsx)(er,{className:`size-3.5`})}),(0,$.jsx)(de,{side:`right`,children:`New folder`})]}),t[38]=le):le=t[38];let ue;t[39]===d?ue=t[40]:(ue=(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[39]=d,t[40]=ue);let J;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,$.jsx)(Cr,{className:`size-3.5`}),t[41]=J):J=t[41];let fe;t[42]===ue?fe=t[43]:(fe=(0,$.jsx)(Se,{render:ue,children:J}),t[42]=ue,t[43]=fe);let pe;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(de,{side:`right`,children:`Add project`}),t[44]=pe):pe=t[44];let me;t[45]===fe?me=t[46]:(me=(0,$.jsxs)(Fe,{children:[fe,pe]}),t[45]=fe,t[46]=me);let ge;t[47]!==ce||t[48]!==me?(ge=(0,$.jsxs)(`div`,{className:`mb-1 flex items-center justify-between pl-2 pr-1.5`,children:[se,(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[ce,le,me]})]}),t[47]=ce,t[48]=me,t[49]=ge):ge=t[49];let _e;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(_e=[Jl,ql],t[50]=_e):_e=t[50];let ve;t[51]===v?ve=t[52]:(ve=v.map(pu),t[51]=v,t[52]=ve);let ye;if(t[53]!==B||t[54]!==f||t[55]!==v||t[56]!==S||t[57]!==E){let e;t[59]!==B||t[60]!==f||t[61]!==S||t[62]!==E?(e=e=>e.kind===`project`?(0,$.jsx)(au,{projectId:e.itemId,children:t=>S(e.project,t,H)},e.itemId):(0,$.jsx)(au,{projectId:e.itemId,children:t=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ou,{folderName:e.folder.name,projectCount:e.projects.length,expanded:e.folder.expanded,isManualProjectSorting:f,dragHandleProps:t,onToggle:()=>E(e.folder.id,!e.folder.expanded),onRename:()=>P(e.folder.id,e.folder.name),onDelete:()=>B(e.folder.id,e.folder.name)}),e.folder.expanded?(0,$.jsx)(xr,{children:(0,$.jsx)(Ql,{items:e.projects.map(mu),strategy:Ml,children:e.projects.map(e=>(0,$.jsx)(au,{projectId:he(e.projectKey),children:t=>S(e,t,H)},e.projectKey))})}):null]})},e.itemId),t[59]=B,t[60]=f,t[61]=S,t[62]=E,t[63]=e):e=t[63],ye=v.map(e),t[53]=B,t[54]=f,t[55]=v,t[56]=S,t[57]=E,t[58]=ye}else ye=t[58];let be;t[64]!==ve||t[65]!==ye?(be=(0,$.jsx)(Ql,{items:ve,strategy:Ml,children:ye}),t[64]=ve,t[65]=ye,t[66]=be):be=t[66];let xe;t[67]===v?xe=t[68]:(xe=v.some(hu),t[67]=v,t[68]=xe);let Ce;t[69]===xe?Ce=t[70]:(Ce=(0,$.jsx)(eu,{hasFolders:xe}),t[69]=xe,t[70]=Ce);let Te;t[71]!==b||t[72]!==be||t[73]!==Ce?(Te=(0,$.jsxs)(yr,{ref:b,children:[be,Ce]}),t[71]=b,t[72]=be,t[73]=Ce,t[74]=Te):Te=t[74];let Ee;t[75]!==_||t[76]!==g||t[77]!==h||t[78]!==m||t[79]!==p||t[80]!==Te?(Ee=(0,$.jsx)(uc,{sensors:p,collisionDetection:m,modifiers:_e,onDragStart:h,onDragEnd:g,onDragCancel:_,children:Te}),t[75]=_,t[76]=g,t[77]=h,t[78]=m,t[79]=p,t[80]=Te,t[81]=Ee):Ee=t[81];let De;t[82]!==v.length||t[83]!==x?(De=x===0&&v.length===0&&(0,$.jsx)(`div`,{className:`px-2 pt-4 text-center text-xs text-muted-foreground/60`,children:`No projects yet`}),t[82]=v.length,t[83]=x,t[84]=De):De=t[84];let Oe;t[85]!==ge||t[86]!==Ee||t[87]!==De?(Oe=(0,$.jsxs)(pr,{className:`px-2 py-2`,children:[ge,Ee,De]}),t[85]=ge,t[86]=Ee,t[87]=De,t[88]=Oe):Oe=t[88];let ke;t[89]!==ae||t[90]!==oe||t[91]!==Oe?(ke=(0,$.jsxs)(gr,{className:`gap-0`,children:[ae,oe,Oe]}),t[89]=ae,t[90]=oe,t[91]=Oe,t[92]=ke):ke=t[92];let Ae=D!==null,je;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(je=e=>{e||I()},t[93]=je):je=t[93];let Me=D?.mode===`rename`?`Rename folder`:`New project folder`,Ne;t[94]===Me?Ne=t[95]:(Ne=(0,$.jsx)(Dt,{children:Me}),t[94]=Me,t[95]=Ne);let Ie;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,$.jsx)(kt,{children:`Project folders organize this sidebar only. Projects and sessions are not changed.`}),t[96]=Ie):Ie=t[96];let Le;t[97]===Ne?Le=t[98]:(Le=(0,$.jsxs)(Ft,{children:[Ne,Ie]}),t[97]=Ne,t[98]=Le);let Re;t[99]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Folder name`}),t[99]=Re):Re=t[99];let ze;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(ze=e=>A(e.target.value),t[100]=ze):ze=t[100];let Be;t[101]===R?Be=t[102]:(Be=e=>{e.key===`Enter`&&li(e)&&(e.preventDefault(),R())},t[101]=R,t[102]=Be);let Ve;t[103]!==k||t[104]!==Be?(Ve=(0,$.jsx)(_t,{className:`space-y-4`,children:(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[Re,(0,$.jsx)(fi,{"aria-label":`Folder name`,value:k,autoFocus:!0,onChange:ze,onKeyDown:Be})]})}),t[103]=k,t[104]=Be,t[105]=Ve):Ve=t[105];let He;t[106]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,$.jsx)(Pe,{variant:`outline`,onClick:I,children:`Cancel`}),t[106]=He):He=t[106];let Y;t[107]===k?Y=t[108]:(Y=k.trim(),t[107]=k,t[108]=Y);let Ue=Y.length===0,X;t[109]!==R||t[110]!==Ue?(X=(0,$.jsxs)(jt,{children:[He,(0,$.jsx)(Pe,{disabled:Ue,onClick:R,children:`Save`})]}),t[109]=R,t[110]=Ue,t[111]=X):X=t[111];let We;t[112]!==Le||t[113]!==Ve||t[114]!==X?(We=(0,$.jsxs)(St,{className:`project-glass-surface max-w-md`,surface:`glass`,children:[Le,Ve,X]}),t[112]=Le,t[113]=Ve,t[114]=X,t[115]=We):We=t[115];let Ge;t[116]!==Ae||t[117]!==We?(Ge=(0,$.jsx)(ct,{open:Ae,onOpenChange:je,children:We}),t[116]=Ae,t[117]=We,t[118]=Ge):Ge=t[118];let Ke;return t[119]!==ke||t[120]!==Ge?(Ke=(0,$.jsxs)($.Fragment,{children:[ke,Ge]}),t[119]=ke,t[120]=Ge,t[121]=Ke):Ke=t[121],Ke});function cu(e){return e.createProjectFolder}function lu(e){return e.renameProjectFolder}function uu(e){return e.deleteProjectFolder}function du(e){return e.setProjectFolderExpanded}function fu(e){return e.physicalProjectKey}function pu(e){return e.itemId}function mu(e){return he(e.projectKey)}function hu(e){return e.kind===`folder`}var gu={done:`Done`,idle:`Idle`,in_progress:`In progress`,review:`Review`},_u=180,vu=(0,Z.memo)(function(e){let t=(0,Z.useMemo)(()=>ku(e.treeProject,e.visibleThreadKeys),[e.treeProject,e.visibleThreadKeys]),n=(0,Z.useMemo)(()=>e.treeProject.worktrees.filter(t=>e.projectExpanded?!0:Au(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)(xr,{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)(bu,{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)(ur,{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)(ht,{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)(yu,{projectCwd:e.treeProject.project.cwd,worktree:t,onDeleteWorktree:e.onDeleteWorktree,onOpenLinkedItem:s,onRestoreWorktree:e.onRestoreWorktree},t.worktree.worktreeId)):null]}):null]}),(0,$.jsx)(Et,{open:a!==null,item:a,environmentId:e.treeProject.project.environmentId,projectId:e.treeProject.project.id,cwd:e.treeProject.project.cwd,onOpenChange:c})]})});function yu(e){let t=(0,Q.c)(33),n;t[0]!==e.projectCwd||t[1]!==e.worktree.worktree?(n=Du(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)(Rn,{className:`size-3.5 shrink-0`}),t[3]=i):i=t[3];let a;t[4]===e.worktree?a=t[5]:(a=Eu(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||t[14]!==e.worktree.worktree.workItemKey||t[15]!==e.worktree.worktree.workItemProvider||t[16]!==e.worktree.worktree.workItemState||t[17]!==e.worktree.worktree.workItemStateName?(s=(0,$.jsx)(gt,{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,workItemProvider:e.worktree.worktree.workItemProvider,workItemKey:e.worktree.worktree.workItemKey,workItemState:e.worktree.worktree.workItemState,workItemStateName:e.worktree.worktree.workItemStateName,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]=e.worktree.worktree.workItemKey,t[15]=e.worktree.worktree.workItemProvider,t[16]=e.worktree.worktree.workItemState,t[17]=e.worktree.worktree.workItemStateName,t[18]=s):s=t[18];let c=`Restore ${e.worktree.worktree.branch}`,l;t[19]===e?l=t[20]:(l=()=>e.onRestoreWorktree(e.worktree),t[19]=e,t[20]=l);let u;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(zn,{className:`size-3.5`}),t[21]=u):u=t[21];let d;t[22]!==c||t[23]!==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[22]=c,t[23]=l,t[24]=d):d=t[24];let f;t[25]!==r||t[26]!==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)(wr,{className:`size-3.5`})}),t[25]=r,t[26]=e,t[27]=f):f=t[27];let p;return t[28]!==o||t[29]!==s||t[30]!==d||t[31]!==f?(p=(0,$.jsx)(ur,{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[28]=o,t[29]=s,t[30]=d,t[31]=f,t[32]=p):p=t[32],p}var bu=(0,Z.memo)(function(e){let t=(0,Q.c)(113),n;t[0]!==e.projectCwd||t[1]!==e.worktree.worktree?(n=Du(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=>ju(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=()=>Eu(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(Mu),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=Eu(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:Nt(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()},_u))},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}`,z;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{e.preventDefault(),e.stopPropagation(),v()},t[32]=z):z=t[32];let B=m?``:`rotate-90`,V;t[33]===B?V=t[34]:(V=Ee(`size-3.5 transition-transform duration-150`,B),t[33]=B,t[34]=V);let H;t[35]===V?H=t[36]:(H=(0,$.jsx)(ht,{className:V}),t[35]=V,t[36]=H);let U;t[37]!==R||t[38]!==H?(U=(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:z,children:H}),t[37]=R,t[38]=H,t[39]=U):U=t[39];let W;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]!==e.worktree.worktree.workItemKey||t[51]!==e.worktree.worktree.workItemProvider||t[52]!==e.worktree.worktree.workItemState||t[53]!==e.worktree.worktree.workItemStateName||t[54]!==d||t[55]!==c||t[56]!==O||t[57]!==E?(W=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:Nu,onDoubleClick:Pu,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:`${gu[e.worktree.aggregateStatus]}: ${w}`,"aria-label":e.worktree.aggregateStatus===`idle`?w:`${gu[e.worktree.aggregateStatus]}: ${w}`,style:E,onClick:P,onDoubleClick:e=>{e.preventDefault(),e.stopPropagation(),O()},children:w}),(0,$.jsx)(gt,{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,workItemProvider:e.worktree.worktree.workItemProvider,workItemKey:e.worktree.worktree.workItemKey,workItemState:e.worktree.worktree.workItemState,workItemStateName:e.worktree.worktree.workItemStateName,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]=e.worktree.worktree.workItemKey,t[51]=e.worktree.worktree.workItemProvider,t[52]=e.worktree.worktree.workItemState,t[53]=e.worktree.worktree.workItemStateName,t[54]=d,t[55]=c,t[56]=O,t[57]=E,t[58]=W):W=t[58];let G,ee;t[59]===e.worktree?(G=t[60],ee=t[61]):(G=(0,$.jsx)(Tu,{worktree:e.worktree}),ee=(0,$.jsx)(Ou,{worktree:e.worktree}),t[59]=e.worktree,t[60]=G,t[61]=ee);let K;t[62]!==r||t[63]!==e?(K=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)(Rn,{className:`size-3`}),`Archive?`]}):null,t[62]=r,t[63]=e,t[64]=K):K=t[64];let te=`New session in ${e.worktree.worktree.branch}`,ne;t[65]===e?ne=t[66]:(ne=t=>{t.preventDefault(),t.stopPropagation(),e.onNewSession(e.worktree)},t[65]=e,t[66]=ne);let re;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(Cr,{className:`size-3.5`}),t[67]=re):re=t[67];let q;t[68]!==te||t[69]!==ne?(q=(0,$.jsx)(`button`,{type:`button`,"aria-label":te,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:ne,children:re}),t[68]=te,t[69]=ne,t[70]=q):q=t[70];let ie;t[71]!==r||t[72]!==e.onArchiveWorktree||t[73]!==e.onCopyWorktreePath||t[74]!==e.onDeleteWorktree||t[75]!==e.onNewSession||t[76]!==e.onOpenInEditor||t[77]!==e.worktree||t[78]!==O?(ie=(0,$.jsx)(Cu,{isProjectRoot:r,worktree:e.worktree,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onRenameWorktree:O}),t[71]=r,t[72]=e.onArchiveWorktree,t[73]=e.onCopyWorktreePath,t[74]=e.onDeleteWorktree,t[75]=e.onNewSession,t[76]=e.onOpenInEditor,t[77]=e.worktree,t[78]=O,t[79]=ie):ie=t[79];let ae;t[80]!==L||t[81]!==U||t[82]!==W||t[83]!==G||t[84]!==ee||t[85]!==K||t[86]!==q||t[87]!==ie?(ae=(0,$.jsxs)(xe,{render:L,children:[U,W,G,ee,K,q,ie]}),t[80]=L,t[81]=U,t[82]=W,t[83]=G,t[84]=ee,t[85]=K,t[86]=q,t[87]=ie,t[88]=ae):ae=t[88];let oe;t[89]!==r||t[90]!==e.onArchiveWorktree||t[91]!==e.onCopyWorktreePath||t[92]!==e.onDeleteWorktree||t[93]!==e.onNewSession||t[94]!==e.onOpenInEditor||t[95]!==e.worktree||t[96]!==O?(oe=(0,$.jsx)(be,{align:`start`,side:`bottom`,className:`min-w-48`,children:(0,$.jsx)(Su,{isProjectRoot:r,worktree:e.worktree,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onRenameWorktree:O})}),t[89]=r,t[90]=e.onArchiveWorktree,t[91]=e.onCopyWorktreePath,t[92]=e.onDeleteWorktree,t[93]=e.onNewSession,t[94]=e.onOpenInEditor,t[95]=e.worktree,t[96]=O,t[97]=oe):oe=t[97];let se;t[98]!==ae||t[99]!==oe?(se=(0,$.jsx)(ur,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsxs)(_e,{children:[ae,oe]})}),t[98]=ae,t[99]=oe,t[100]=se):se=t[100];let ce;t[101]===h?ce=t[102]:(ce=h?(0,$.jsx)(ur,{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[101]=h,t[102]=ce);let le;t[103]!==e.orderedProjectThreadKeys||t[104]!==e.renderThread||t[105]!==e.resolveThreadGitStatusTarget||t[106]!==g||t[107]!==a?(le=g&&a.length>0?(0,$.jsx)(xu,{orderedProjectThreadKeys:e.orderedProjectThreadKeys,renderThread:e.renderThread,resolveThreadGitStatusTarget:e.resolveThreadGitStatusTarget,visibleThreads:a}):null,t[103]=e.orderedProjectThreadKeys,t[104]=e.renderThread,t[105]=e.resolveThreadGitStatusTarget,t[106]=g,t[107]=a,t[108]=le):le=t[108];let ue;return t[109]!==se||t[110]!==ce||t[111]!==le?(ue=(0,$.jsxs)($.Fragment,{children:[se,ce,le]}),t[109]=se,t[110]=ce,t[111]=le,t[112]=ue):ue=t[112],ue}),xu=(0,Z.memo)(function(e){let t=(0,Q.c)(11),n;t[0]!==e.resolveThreadGitStatusTarget||t[1]!==e.visibleThreads?(n=Fr(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=j(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 Su(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)(Cr,{className:`size-4`}),t[2]=r):r=t[2];let i;t[3]===n?i=t[4]:(i=(0,$.jsxs)(Ae,{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)(Sn,{className:`size-4`}),t[5]=a):a=t[5];let o;t[6]===e.onRenameWorktree?o=t[7]:(o=(0,$.jsxs)(Ae,{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)(jn,{className:`size-4`}),t[10]=c):c=t[10];let l;t[11]===s?l=t[12]:(l=(0,$.jsxs)(Ae,{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)(Je,{className:`size-4`}),t[15]=d):d=t[15];let f;t[16]===u?f=t[17]:(f=(0,$.jsxs)(Ae,{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)(ve,{}),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)(Rn,{className:`size-4`}),t[21]=h):h=t[21];let g;t[22]!==e.isProjectRoot||t[23]!==m?(g=(0,$.jsxs)(Ae,{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)(wr,{className:`size-4`}),t[27]=v):v=t[27];let y;t[28]!==e.isProjectRoot||t[29]!==_?(y=(0,$.jsxs)(Ae,{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 Cu(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)(en,{className:`size-3.5`}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=(0,$.jsx)(Le,{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:wu,"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)(ye,{align:`end`,side:`bottom`,className:`min-w-48`,children:(0,$.jsx)(Su,{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)(Te,{children:[i,a]}),t[12]=i,t[13]=a,t[14]=o):o=t[14],o}function wu(e){e.preventDefault(),e.stopPropagation()}function Tu(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||r===`issue`&&n.worktree.workItemKey)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 Eu(e){return e.worktree.title??e.worktree.branch}function Du(e,t){return e.origin===`main`||e.worktreePath===null?!0:il(e.worktreePath)===il(t)}function Ou(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 ku(e,t){return e.worktrees.flatMap(e=>e.sessions.filter(e=>ju(e,t)).map(e=>s(u(e.environmentId,e.id))))}function Au(e,t){return e.sessions.filter(e=>ju(e,t))}function ju(e,t){return e.archivedAt===null?t?t.has(s(u(e.environmentId,e.id))):!0:!1}function Mu(e){return!e}function Nu(e){return e.stopPropagation()}function Pu(e){return e.stopPropagation()}function Fu(e){switch(e){case`github`:return Tn;case`gitlab`:return on;case`forgejo`:return tn;case`azure-devops`:return ln;case`bitbucket`:return Qt;default:return nn}}var Iu=[{id:`general`,label:`General`,Icon:Hn},{id:`location`,label:`Location`,Icon:Qn},{id:`atlassian`,label:`Atlassian`,Icon:ki},{id:`ai`,label:`AI`,Icon:Re}];function Lu(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)(mi,{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)(Pe,{size:`xs`,variant:`outline`,onClick:s,disabled:i,children:`Upload`}),(0,$.jsx)(Pe,{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)(fi,{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:Ee(`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:Ee(`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=Fu(i.provider??void 0);return(0,$.jsxs)(`div`,{className:Ee(`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:Ee(`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)(Pe,{size:`xs`,variant:`ghost`,onClick:()=>e.onOpenRemote(e.target,i.name),children:[(0,$.jsx)(jn,{className:`size-3.5`}),`Open`]})]},i.name)})]})]}):null]})}function Ru(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)(fi,{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)(Qn,{className:`size-4`}),t[9]=c):c=t[9];let l;t[10]===e.onPickWorkspaceRoot?l=t[11]:(l=(0,$.jsxs)(Pe,{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 zu(e){let t=(0,Q.c)(15),n=e.customSystemPrompt.length,r=Math.floor(Ne*.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)(Bt,{id:`project-custom-system-prompt`,"aria-label":`Custom system prompt`,value:e.customSystemPrompt,maxLength:Ne,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=Ee(`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,` / `,Ne]}),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}var Bu=`Not configured`;function Vu(e){return e??Bu}function Hu(e){return e===Bu||e.trim().length===0?null:e}function Uu(e){return e.split(/[,\s]+/u).map(e=>e.trim().toUpperCase()).filter(Boolean)}function Wu(e){return e?.provider?.toLowerCase()===`bitbucket`?{workspace:e.owner??``,repoSlug:e.name??``}:{workspace:``,repoSlug:``}}function Gu(e){return t=>t.status===`connected`&&t.products.includes(e)}function Ku(e){let t=(0,Q.c)(186),n=e.target,r=at(),i;t[0]===n?i=t[1]:(i=n?N(n.environmentId):null,t[0]=n,t[1]=i);let a=i?.client??null,[o,s]=(0,Z.useState)(Bu),[c,l]=(0,Z.useState)(Bu),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(``),[g,_]=(0,Z.useState)(``),[v,y]=(0,Z.useState)(`{issueKey}-{titleSlug}`),[b,x]=(0,Z.useState)(`{issueKey}: {summary}`),[S,C]=(0,Z.useState)(`{issueKey}: {summary}`),[w,T]=(0,Z.useState)(!0),[E,D]=(0,Z.useState)(!0),O=(0,Z.useRef)(!1),k=(0,Z.useRef)(null),A=n?.environmentId??null,j=n?.id??null,M=a!==null&&n!==null,P;t[2]!==A||t[3]!==j||t[4]!==M?(P={environmentId:A,projectId:j,enabled:M},t[2]=A,t[3]=j,t[4]=M,t[5]=P):P=t[5];let F=Ot(P),I=n?.environmentId??null,L=a!==null,R;t[6]!==I||t[7]!==L?(R={environmentId:I,enabled:L},t[6]=I,t[7]=L,t[8]=R):R=t[8];let z=st(R),B;t[9]===z.data?B=t[10]:(B=(z.data??[]).filter(Gu(`jira`)),t[9]=z.data,t[10]=B);let V=B,H;t[11]===z.data?H=t[12]:(H=(z.data??[]).filter(Gu(`bitbucket`)),t[11]=z.data,t[12]=H);let U=H,W;t[13]!==U[0]?.connectionId||t[14]!==V[0]?.connectionId||t[15]!==F.data||t[16]!==n?(W=()=>{if(!n)return;let e=`${n.environmentId}:${n.id}`;if(k.current!==e&&(k.current=e,O.current=!1),O.current)return;let t=F.data,r=Wu(n.repositoryIdentity);s(Vu(t?.jiraConnectionId??V[0]?.connectionId)),l(Vu(t?.bitbucketConnectionId??U[0]?.connectionId)),d(t?.jiraProjectKeys.join(`, `)??``),p(t?.bitbucketWorkspace??r.workspace),h(t?.bitbucketRepoSlug??r.repoSlug),_(t?.defaultIssueTypeName??``),y(t?.branchNameTemplate??`{issueKey}-{titleSlug}`),x(t?.commitMessageTemplate??`{issueKey}: {summary}`),C(t?.pullRequestTitleTemplate??`{issueKey}: {summary}`),T(t?.smartLinkingEnabled??!0),D(t?.autoAttachWorkItems??!0)},t[13]=U[0]?.connectionId,t[14]=V[0]?.connectionId,t[15]=F.data,t[16]=n,t[17]=W):W=t[17];let G;t[18]!==U||t[19]!==V||t[20]!==F.data||t[21]!==n?(G=[U,V,F.data,n],t[18]=U,t[19]=V,t[20]=F.data,t[21]=n,t[22]=G):G=t[22],(0,Z.useEffect)(W,G);let ee;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>{O.current=!0},t[23]=ee):ee=t[23];let K=ee,te;t[24]!==r||t[25]!==n?.environmentId||t[26]!==n?.id?(te=()=>{Pt({environmentId:n?.environmentId??null}),vn({environmentId:n?.environmentId??null,projectId:n?.id??null}),r.invalidateQueries({queryKey:[`atlassian`]}),r.invalidateQueries({queryKey:[`workItems`]})},t[24]=r,t[25]=n?.environmentId,t[26]=n?.id,t[27]=te):te=t[27];let ne=te,re;t[28]!==E||t[29]!==c||t[30]!==m||t[31]!==f||t[32]!==v||t[33]!==a||t[34]!==b||t[35]!==g||t[36]!==o||t[37]!==u||t[38]!==F.data?.jiraCloudId||t[39]!==S||t[40]!==w||t[41]!==n?(re=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);let e=v.trim(),t=b.trim(),r=S.trim();if(!e||!t||!r)throw Error(`Branch, commit, and pull request templates cannot be empty.`);return a.atlassian.saveProjectLink({projectId:n.id,jiraConnectionId:Hu(o),bitbucketConnectionId:Hu(c),jiraCloudId:F.data?.jiraCloudId??null,jiraSiteUrl:null,jiraProjectKeys:Uu(u),bitbucketWorkspace:f.trim()||null,bitbucketRepoSlug:m.trim()||null,defaultIssueTypeName:g.trim()||null,branchNameTemplate:e,commitMessageTemplate:t,pullRequestTitleTemplate:r,smartLinkingEnabled:w,autoAttachWorkItems:E})},t[28]=E,t[29]=c,t[30]=m,t[31]=f,t[32]=v,t[33]=a,t[34]=b,t[35]=g,t[36]=o,t[37]=u,t[38]=F.data?.jiraCloudId,t[39]=S,t[40]=w,t[41]=n,t[42]=re):re=t[42];let q;t[43]===ne?q=t[44]:(q=()=>{O.current=!1,ne(),X.add(Y({type:`success`,title:`Atlassian project settings saved`,description:`Jira and Bitbucket defaults were updated for this project.`}))},t[43]=ne,t[44]=q);let ie;t[45]!==re||t[46]!==q?(ie={mutationFn:re,onSuccess:q,onError:Xu},t[45]=re,t[46]=q,t[47]=ie):ie=t[47];let ae=It(ie),oe;t[48]!==a||t[49]!==F.data||t[50]!==n?(oe=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);return a.atlassian.saveProjectLink(fn({projectId:n.id,existing:F.data??null}))},t[48]=a,t[49]=F.data,t[50]=n,t[51]=oe):oe=t[51];let se;t[52]===ne?se=t[53]:(se=()=>{O.current=!1,s(Bu),d(``),ne(),X.add(Y({type:`success`,title:`Jira project unlinked`,description:`Bitbucket mapping and project templates were left unchanged.`}))},t[52]=ne,t[53]=se);let ce;t[54]!==oe||t[55]!==se?(ce={mutationFn:oe,onSuccess:se,onError:Yu},t[54]=oe,t[55]=se,t[56]=ce):ce=t[56];let le=It(ce),ue=F.isLoading||z.isLoading,J=a===null||n===null||ae.isPending||le.isPending,de=F.data?.jiraConnectionId!==null&&F.data?.jiraConnectionId!==void 0&&F.data.jiraProjectKeys.length>0,fe;t[57]===o?fe=t[58]:(fe=Hu(o),t[57]=o,t[58]=fe);let pe=fe,me;if(t[59]!==V||t[60]!==pe){let e;t[62]===pe?e=t[63]:(e=e=>e.connectionId===pe,t[62]=pe,t[63]=e),me=V.find(e),t[59]=V,t[60]=pe,t[61]=me}else me=t[61];let he=me?.baseUrl??F.data?.jiraSiteUrl??``,ge;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsx)(ki,{className:`size-4 shrink-0 text-muted-foreground`}),t[64]=ge):ge=t[64];let _e;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[ge,(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[65]=_e):_e=t[65];let ve;t[66]===ue?ve=t[67]:(ve=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[_e,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[66]=ue,t[67]=ve);let ye;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Connections`}),t[68]=ye):ye=t[68];let be;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Jira connection`}),t[69]=be):be=t[69];let xe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(xe=e=>{typeof e==`string`&&(K(),s(e))},t[70]=xe):xe=t[70];let Se;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,$.jsx)(vt,{placeholder:`Select Jira connection`}),t[71]=Se):Se=t[71];let Ce;t[72]===J?Ce=t[73]:(Ce=(0,$.jsx)(Wt,{size:`sm`,disabled:J,children:Se}),t[72]=J,t[73]=Ce);let we;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsx)(yt,{value:Bu,children:`Not configured`}),t[74]=we):we=t[74];let Te;t[75]===V?Te=t[76]:(Te=V.map(Ju),t[75]=V,t[76]=Te);let Ee;t[77]===Te?Ee=t[78]:(Ee=(0,$.jsxs)(Vt,{children:[we,Te]}),t[77]=Te,t[78]=Ee);let De;t[79]!==o||t[80]!==Ce||t[81]!==Ee?(De=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[be,(0,$.jsxs)(Mn,{value:o,onValueChange:xe,children:[Ce,Ee]})]}),t[79]=o,t[80]=Ce,t[81]=Ee,t[82]=De):De=t[82];let Oe;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Bitbucket connection`}),t[83]=Oe):Oe=t[83];let ke;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(ke=e=>{typeof e==`string`&&(K(),l(e))},t[84]=ke):ke=t[84];let Ae;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(vt,{placeholder:`Select Bitbucket connection`}),t[85]=Ae):Ae=t[85];let je;t[86]===J?je=t[87]:(je=(0,$.jsx)(Wt,{size:`sm`,disabled:J,children:Ae}),t[86]=J,t[87]=je);let Me;t[88]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,$.jsx)(yt,{value:Bu,children:`Not configured`}),t[88]=Me):Me=t[88];let Ne;t[89]===U?Ne=t[90]:(Ne=U.map(qu),t[89]=U,t[90]=Ne);let Fe;t[91]===Ne?Fe=t[92]:(Fe=(0,$.jsxs)(Vt,{children:[Me,Ne]}),t[91]=Ne,t[92]=Fe);let Ie;t[93]!==c||t[94]!==je||t[95]!==Fe?(Ie=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[Oe,(0,$.jsxs)(Mn,{value:c,onValueChange:ke,children:[je,Fe]})]}),t[93]=c,t[94]=je,t[95]=Fe,t[96]=Ie):Ie=t[96];let Le;t[97]!==De||t[98]!==Ie?(Le=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[ye,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[De,Ie]})]}),t[97]=De,t[98]=Ie,t[99]=Le):Le=t[99];let Re;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Repository mapping`}),t[100]=Re):Re=t[100];let ze=n?.environmentId??null,Be;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(Be=e=>{K(),d(e)},t[101]=Be):Be=t[101];let Ve;t[102]!==J||t[103]!==u||t[104]!==pe||t[105]!==he||t[106]!==ze?(Ve=(0,$.jsx)(pt,{environmentId:ze,connectionId:pe,siteUrl:he,projectKeys:u,disabled:J,onProjectKeysChange:Be}),t[102]=J,t[103]=u,t[104]=pe,t[105]=he,t[106]=ze,t[107]=Ve):Ve=t[107];let He;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(He=e=>{K(),d(e.currentTarget.value)},t[108]=He):He=t[108];let Ue;t[109]!==J||t[110]!==u?(Ue=(0,$.jsx)(fi,{size:`sm`,value:u,disabled:J,placeholder:`WEB, API`,onChange:He}),t[109]=J,t[110]=u,t[111]=Ue):Ue=t[111];let We;t[112]!==Ve||t[113]!==Ue?(We=(0,$.jsxs)(Zu,{label:`Jira project keys`,children:[Ve,Ue]}),t[112]=Ve,t[113]=Ue,t[114]=We):We=t[114];let Ge;t[115]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=e=>{K(),p(e.currentTarget.value)},t[115]=Ge):Ge=t[115];let Ke;t[116]!==f||t[117]!==J?(Ke=(0,$.jsx)(Zu,{label:`Bitbucket workspace`,children:(0,$.jsx)(fi,{size:`sm`,value:f,disabled:J,placeholder:`workspace`,onChange:Ge})}),t[116]=f,t[117]=J,t[118]=Ke):Ke=t[118];let qe;t[119]===Symbol.for(`react.memo_cache_sentinel`)?(qe=e=>{K(),h(e.currentTarget.value)},t[119]=qe):qe=t[119];let Je;t[120]!==m||t[121]!==J?(Je=(0,$.jsx)(Zu,{label:`Bitbucket repo slug`,children:(0,$.jsx)(fi,{size:`sm`,value:m,disabled:J,placeholder:`repo-slug`,onChange:qe})}),t[120]=m,t[121]=J,t[122]=Je):Je=t[122];let Ye;t[123]!==We||t[124]!==Ke||t[125]!==Je?(Ye=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Re,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[We,Ke,Je]})]}),t[123]=We,t[124]=Ke,t[125]=Je,t[126]=Ye):Ye=t[126];let Xe;t[127]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Templates`}),t[127]=Xe):Xe=t[127];let Ze;t[128]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=e=>{K(),_(e.currentTarget.value)},t[128]=Ze):Ze=t[128];let Qe;t[129]!==g||t[130]!==J?(Qe=(0,$.jsx)(Zu,{label:`Default issue type`,children:(0,$.jsx)(fi,{size:`sm`,value:g,disabled:J,placeholder:`Task`,onChange:Ze})}),t[129]=g,t[130]=J,t[131]=Qe):Qe=t[131];let $e;t[132]===Symbol.for(`react.memo_cache_sentinel`)?($e=e=>{K(),y(e.currentTarget.value)},t[132]=$e):$e=t[132];let et;t[133]!==v||t[134]!==J?(et=(0,$.jsx)(Zu,{label:`Branch template`,children:(0,$.jsx)(fi,{size:`sm`,value:v,disabled:J,onChange:$e})}),t[133]=v,t[134]=J,t[135]=et):et=t[135];let tt;t[136]===Symbol.for(`react.memo_cache_sentinel`)?(tt=e=>{K(),x(e.currentTarget.value)},t[136]=tt):tt=t[136];let nt;t[137]!==b||t[138]!==J?(nt=(0,$.jsx)(Zu,{label:`Commit template`,children:(0,$.jsx)(fi,{size:`sm`,value:b,disabled:J,onChange:tt})}),t[137]=b,t[138]=J,t[139]=nt):nt=t[139];let rt;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(rt=e=>{K(),C(e.currentTarget.value)},t[140]=rt):rt=t[140];let it;t[141]!==J||t[142]!==S?(it=(0,$.jsx)(Zu,{label:`PR title template`,children:(0,$.jsx)(fi,{size:`sm`,value:S,disabled:J,onChange:rt})}),t[141]=J,t[142]=S,t[143]=it):it=t[143];let ot;t[144]!==Qe||t[145]!==et||t[146]!==nt||t[147]!==it?(ot=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Xe,(0,$.jsxs)(`div`,{className:`grid gap-3`,children:[Qe,et,nt,it]})]}),t[144]=Qe,t[145]=et,t[146]=nt,t[147]=it,t[148]=ot):ot=t[148];let ct;t[149]===Symbol.for(`react.memo_cache_sentinel`)?(ct=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Automation`}),t[149]=ct):ct=t[149];let lt;t[150]===Symbol.for(`react.memo_cache_sentinel`)?(lt=(0,$.jsx)(`span`,{children:`Smart-link Jira keys in branches, commits, and PRs`}),t[150]=lt):lt=t[150];let ut;t[151]===Symbol.for(`react.memo_cache_sentinel`)?(ut=e=>{K(),T(!!e)},t[151]=ut):ut=t[151];let ft;t[152]!==J||t[153]!==w?(ft=(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:[lt,(0,$.jsx)(dt,{checked:w,disabled:J,onCheckedChange:ut})]}),t[152]=J,t[153]=w,t[154]=ft):ft=t[154];let mt;t[155]===Symbol.for(`react.memo_cache_sentinel`)?(mt=(0,$.jsx)(`span`,{children:`Attach linked work items to project explorer workflows`}),t[155]=mt):mt=t[155];let ht;t[156]===Symbol.for(`react.memo_cache_sentinel`)?(ht=e=>{K(),D(!!e)},t[156]=ht):ht=t[156];let gt;t[157]!==E||t[158]!==J?(gt=(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:[mt,(0,$.jsx)(dt,{checked:E,disabled:J,onCheckedChange:ht})]}),t[157]=E,t[158]=J,t[159]=gt):gt=t[159];let _t;t[160]!==ft||t[161]!==gt?(_t=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[ct,(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[ft,gt]})]}),t[160]=ft,t[161]=gt,t[162]=_t):_t=t[162];let bt;t[163]===Symbol.for(`react.memo_cache_sentinel`)?(bt=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Tokens live in Source Control settings. These defaults belong only to this project.`}),t[163]=bt):bt=t[163];let xt=J||!de,St;t[164]===le?St=t[165]:(St=()=>le.mutate(),t[164]=le,t[165]=St);let Ct=le.isPending?`Unlinking...`:`Unlink Jira`,wt;t[166]!==xt||t[167]!==St||t[168]!==Ct?(wt=(0,$.jsx)(Pe,{type:`button`,size:`sm`,variant:`destructive-outline`,className:`h-8`,disabled:xt,onClick:St,children:Ct}),t[166]=xt,t[167]=St,t[168]=Ct,t[169]=wt):wt=t[169];let Tt;t[170]===ae?Tt=t[171]:(Tt=()=>ae.mutate(),t[170]=ae,t[171]=Tt);let Et=ae.isPending?`Saving...`:`Save Atlassian`,Dt;t[172]!==J||t[173]!==Tt||t[174]!==Et?(Dt=(0,$.jsx)(Pe,{type:`button`,size:`sm`,className:`h-8`,disabled:J,onClick:Tt,children:Et}),t[172]=J,t[173]=Tt,t[174]=Et,t[175]=Dt):Dt=t[175];let kt;t[176]!==wt||t[177]!==Dt?(kt=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border/70 pt-4`,children:[bt,(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[wt,Dt]})]}),t[176]=wt,t[177]=Dt,t[178]=kt):kt=t[178];let At;return t[179]!==ve||t[180]!==Le||t[181]!==Ye||t[182]!==ot||t[183]!==_t||t[184]!==kt?(At=(0,$.jsxs)(`div`,{className:`space-y-5`,children:[ve,Le,Ye,ot,_t,kt]}),t[179]=ve,t[180]=Le,t[181]=Ye,t[182]=ot,t[183]=_t,t[184]=kt,t[185]=At):At=t[185],At}function qu(e){return(0,$.jsx)(yt,{value:e.connectionId,children:e.label},e.connectionId)}function Ju(e){return(0,$.jsx)(yt,{value:e.connectionId,children:e.label},e.connectionId)}function Yu(e){X.add(Y({type:`error`,title:`Could not unlink Jira project`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function Xu(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 Zu(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}function Qu(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=Iu.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)(Dt,{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]:(_=Iu.map(e=>{let{id:t,label:i,Icon:a}=e,o=n===t;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:Ee(`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:Ee(`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)(pi,{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)(Lu,{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)(Ru,{workspaceRoot:e.workspaceRoot,projectId:s.id,onWorkspaceRootChange:e.onWorkspaceRootChange,onPickWorkspaceRoot:e.onPickWorkspaceRoot,onSave:e.onSave}):n===`atlassian`?(0,$.jsx)(Ku,{target:s}):(0,$.jsx)(zu,{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)(Pe,{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)(Pe,{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)(St,{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)(ct,{open:d,onOpenChange:f,children:w}),t[52]=e.open,t[53]=w,t[54]=f,t[55]=T):T=t[55],T}var $u=(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)(td,{...e,gitStatus:e.gitStatus}),t[0]=e,t[1]=n),n}let n;return t[2]===e?n=t[3]:(n=(0,$.jsx)(ed,{...e}),t[2]=e,t[3]=n),n});function ed(e){let t=(0,Q.c)(9),{thread:n}=e,r;t[0]!==n.environmentId||t[1]!==n.projectId?(r=e=>H(e,l(n.environmentId,n.projectId))?.cwd??null,t[0]=n.environmentId,t[1]=n.projectId,t[2]=r):r=t[2];let i=S(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=j(s),u;return t[6]!==c||t[7]!==e?(u=(0,$.jsx)(td,{...e,gitStatus:c}),t[6]=c,t[7]=e,t[8]=u):u=t[8],u}var td=(0,Z.memo)(function(e){let{orderedProjectThreadKeys:t,isActive:n,jumpLabel:r,appSettingsConfirmThreadArchive:i,renamingThreadKey:a,renamingTitle:o,setRenamingTitle:c,renamingInputRef:l,renamingCommittedRef:d,confirmingArchiveThreadKey:f,setConfirmingArchiveThreadKey:p,confirmArchiveButtonRefs:m,handleThreadClick:h,navigateToThread:g,navigateToDraft:_,handleMultiSelectContextMenu:y,handleThreadContextMenu:b,closeThread:x,clearSelection:S,commitRename:C,cancelRename:w,attemptArchiveThread:T,openPrLink:E,thread:D}=e,O=e.gitStatus,k=u(D.environmentId,D.id),A=s(k),j=D.draftId??null,M=we(e=>e.threadLastVisitedAtById[A]),N=tt(e=>e.selectedThreadKeys.has(A)),P=tt(e=>e.selectedThreadKeys.size>0),F=ne(e=>z(e.terminalStateByThreadKey,k).runningTerminalIds),I=rt(),L=I!==null&&D.environmentId!==I,R=re(e=>e.byId[D.environmentId]?.descriptor?.label??null),B=v(e=>e.byId[D.environmentId]?.label??null),V=L?R??B??`Remote`:null,H=n||N,U=D.session?.status===`running`&&D.session.activeTurnId!=null,W=Rr({thread:{...D,lastVisitedAt:M}}),G=$n(O?nr(D.branch,O.data):null,O?.data?.sourceControlProvider),ee=rr(F),K=f===A&&!U,te=!j&&Gr(D),q=e.isTreeChild&&!U,ie=K?`pointer-events-none opacity-0`:U?`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`,ae=(0,Z.useMemo)(()=>W?Nt(D.title):void 0,[D.title,W]),oe=(0,Z.useCallback)(()=>{p(e=>e===A?null:e)},[p,A]),se=(0,Z.useCallback)(()=>{oe()},[oe]),ce=(0,Z.useCallback)(e=>{let t=e.currentTarget;requestAnimationFrame(()=>{t.contains(document.activeElement)||oe()})},[oe]),le=(0,Z.useCallback)(e=>{if(j){if((me(navigator.platform)?e.metaKey:e.ctrlKey)||e.shiftKey){e.preventDefault();return}_(j,k);return}h(e,k,t)},[j,h,_,t,k]),ue=(0,Z.useCallback)(e=>{if(!(e.key!==`Enter`&&e.key!==` `)){if(e.preventDefault(),j){_(j,k);return}g(k)}},[j,_,g,k]),J=(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]),fe=(0,Z.useCallback)(e=>{G&&E(e,G.url)},[E,G]),pe=(0,Z.useCallback)(e=>{e&&l.current!==e&&(l.current=e,e.focus(),e.select())},[l]),he=(0,Z.useCallback)(e=>{c(e.target.value)},[c]),ge=(0,Z.useCallback)(e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),d.current=!0,C(k,o,D.title)):e.key===`Escape`&&(e.preventDefault(),d.current=!0,w())},[w,C,d,o,D.title,k]),_e=(0,Z.useCallback)(()=>{d.current||C(k,o,D.title)},[C,d,o,D.title,k]),ve=(0,Z.useCallback)(e=>{e.stopPropagation()},[]),ye=(0,Z.useCallback)(e=>{e?m.current.set(A,e):m.current.delete(A)},[m,A]),be=(0,Z.useCallback)(e=>{e.stopPropagation()},[]),xe=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),oe(),T(k)},[T,oe,k]),Ce=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),p(A),requestAnimationFrame(()=>{m.current.get(A)?.focus()})},[m,p,A]),Te=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),T(k)},[T,k]),De=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),x(D)},[x,D]),Oe=(0,Z.useMemo)(()=>(0,$.jsx)(`div`,{role:`button`,tabIndex:0}),[]);return(0,$.jsx)(ur,{className:Ee(`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:se,onBlurCapture:ce,children:(0,$.jsxs)(lr,{render:Oe,size:`sm`,isActive:n,"data-testid":`thread-row-${D.id}`,className:`${Vr({isActive:n,isSelected:N})} relative isolate`,onClick:le,onKeyDown:ue,onContextMenu:J,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-left`,children:[G&&(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":G.tooltip,className:`inline-flex items-center justify-center ${G.colorClass} cursor-pointer rounded-sm outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:fe,children:(0,$.jsx)(ir,{className:`size-3`})})}),(0,$.jsx)(de,{side:`top`,children:G.tooltip})]}),a===A?(0,$.jsx)(`input`,{ref:pe,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:he,onKeyDown:ge,onBlur:_e,onClick:ve}):(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{render:(0,$.jsx)(`span`,{className:pn(W,`min-w-0 flex-1 truncate text-xs`),"aria-label":W?`${W.label}: ${D.title}`:D.title,style:ae,"data-testid":`thread-title-${D.id}`,children:D.title})}),(0,$.jsx)(de,{side:`top`,className:`max-w-80 whitespace-normal leading-tight`,children:W?`${W.label}: ${D.title}`:D.title})]})]}),(0,$.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[ee&&(0,$.jsx)(`span`,{role:`img`,"aria-label":ee.label,title:ee.label,className:`inline-flex items-center justify-center ${ee.colorClass}`,children:(0,$.jsx)(gn,{className:`size-3 ${ee.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:[K?(0,$.jsx)(`button`,{ref:ye,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:be,onClick:xe,children:`Confirm`}):q||te&&!U?(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:[q?(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{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:be,onClick:De,children:(0,$.jsx)(Er,{className:`size-3.5`})})}),(0,$.jsx)(de,{side:`top`,children:`Close`})]}):null,te&&!U&&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:be,onClick:Ce,children:(0,$.jsx)(Rn,{className:`size-3.5`})}):null,te&&!U&&!i?(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{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:be,onClick:Te,children:(0,$.jsx)(Rn,{className:`size-3.5`})})}),(0,$.jsx)(de,{side:`top`,children:`Archive`})]}):null]}):null,(0,$.jsx)(`span`,{className:ie,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[L&&(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{render:(0,$.jsx)(`span`,{"aria-label":V??`Remote`,className:`inline-flex h-5 items-center justify-center`}),children:(0,$.jsx)(kn,{className:`block size-3 text-muted-foreground/60`})}),(0,$.jsx)(de,{side:`top`,children:V})]}),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] ${H?`text-foreground/72 dark:text-foreground/82`:`text-muted-foreground/40`}`,children:Gt(D.latestUserMessageAt??D.updatedAt??D.createdAt)})]})})]})]})]})})}),nd=20,rd=30,id=`min(60vh, 640px)`;function ad(e){return s(u(e.environmentId,e.id))}function od(e){let t=(0,Z.useRef)(e);return(0,Z.useMemo)(()=>{let n=t.current;return n.length===e.length&&e.every((e,t)=>n[t]===e)?n:(t.current=e,e)},[e])}var sd=(0,Z.memo)(function(e){let t=(0,Q.c)(69),{projectKey:n,projectExpanded:r,hasOverflowingThreads:i,hiddenThreadStatus:a,orderedProjectThreadKeys:o,renderedThreads:s,showEmptyThreadState:c,shouldShowThreadPanel:l,isThreadListExpanded:u,projectCwd:d,activeRouteThreadKey:f,threadJumpLabelByKey:p,appSettingsConfirmThreadArchive:m,renamingThreadKey:h,renamingTitle:g,setRenamingTitle:_,renamingInputRef:v,renamingCommittedRef:y,confirmingArchiveThreadKey:b,setConfirmingArchiveThreadKey:x,confirmArchiveButtonRefs:S,attachThreadListAutoAnimateRef:C,handleThreadClick:w,navigateToThread:T,navigateToDraft:E,handleMultiSelectContextMenu:D,handleThreadContextMenu:O,closeThread:k,clearSelection:A,commitRename:j,cancelRename:M,attemptArchiveThread:N,openPrLink:P,expandThreadListForProject:F,collapseThreadListForProject:I}=e,L=od(o),R;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(`button`,{type:`button`}),t[0]=R):R=t[0];let z=R,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,U;t[2]!==r||t[3]!==n||t[4]!==l?(H=()=>{!r||!l||queueMicrotask(()=>Kt(n))},U=[r,n,l],t[2]=r,t[3]=n,t[4]=l,t[5]=H,t[6]=U):(H=t[5],U=t[6]),(0,Z.useEffect)(H,U);let W;t[7]!==f||t[8]!==m||t[9]!==N||t[10]!==M||t[11]!==A||t[12]!==k||t[13]!==j||t[14]!==S||t[15]!==b||t[16]!==D||t[17]!==w||t[18]!==O||t[19]!==E||t[20]!==T||t[21]!==P||t[22]!==d||t[23]!==y||t[24]!==v||t[25]!==h||t[26]!==g||t[27]!==x||t[28]!==_||t[29]!==L||t[30]!==p?(W=e=>{let t=ad(e);return(0,$.jsx)($u,{thread:e,projectCwd:d,orderedProjectThreadKeys:L,isActive:f===t,jumpLabel:p.get(t)??null,appSettingsConfirmThreadArchive:m,renamingThreadKey:h,renamingTitle:g,setRenamingTitle:_,renamingInputRef:v,renamingCommittedRef:y,confirmingArchiveThreadKey:b,setConfirmingArchiveThreadKey:x,confirmArchiveButtonRefs:S,handleThreadClick:w,navigateToThread:T,navigateToDraft:E,handleMultiSelectContextMenu:D,handleThreadContextMenu:O,closeThread:k,clearSelection:A,commitRename:j,cancelRename:M,attemptArchiveThread:N,openPrLink:P},t)},t[7]=f,t[8]=m,t[9]=N,t[10]=M,t[11]=A,t[12]=k,t[13]=j,t[14]=S,t[15]=b,t[16]=D,t[17]=w,t[18]=O,t[19]=E,t[20]=T,t[21]=P,t[22]=d,t[23]=y,t[24]=v,t[25]=h,t[26]=g,t[27]=x,t[28]=_,t[29]=L,t[30]=p,t[31]=W):W=t[31];let G=W,ee;t[32]!==I||t[33]!==i||t[34]!==u||t[35]!==r||t[36]!==n?(ee=r&&i&&u&&(0,$.jsx)(ur,{className:`w-full`,children:(0,$.jsx)(lr,{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:()=>{I(n)},children:(0,$.jsx)(`span`,{children:`Show less`})})}),t[32]=I,t[33]=i,t[34]=u,t[35]=r,t[36]=n,t[37]=ee):ee=t[37];let K=ee;if(l&&s.length>nd){let e;t[38]===G?e=t[39]:(e=e=>{let{item:t}=e;return(0,$.jsx)(`div`,{className:`pb-0.5`,children:G(t)})},t[38]=G,t[39]=e);let n;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(n={maxHeight:id},t[40]=n):n=t[40];let r;t[41]!==s||t[42]!==e?(r=(0,$.jsx)(zt,{data:s,keyExtractor:ad,estimatedItemSize:rd,recycleItems:!1,renderItem:e,className:`overscroll-y-contain [scrollbar-gutter:stable]`,style:n}),t[41]=s,t[42]=e,t[43]=r):r=t[43];let i;t[44]===K?i=t[45]:(i=K?(0,$.jsx)(xr,{className:`mx-0 my-0 w-full translate-x-0 gap-0 border-none px-0 py-0`,children:K}):null,t[44]=K,t[45]=i);let a;return t[46]!==r||t[47]!==i?(a=(0,$.jsxs)(`div`,{className:`mx-1 my-0 w-full translate-x-0 overflow-hidden border-sidebar-border border-l px-1.5 py-0`,children:[r,i]}),t[46]=r,t[47]=i,t[48]=a):a=t[48],a}let te;t[49]!==l||t[50]!==c?(te=l&&c?(0,$.jsx)(ur,{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[49]=l,t[50]=c,t[51]=te):te=t[51];let ne;t[52]!==G||t[53]!==s||t[54]!==l?(ne=l&&s.map(e=>G(e)),t[52]=G,t[53]=s,t[54]=l,t[55]=ne):ne=t[55];let re;t[56]!==F||t[57]!==i||t[58]!==a||t[59]!==u||t[60]!==r||t[61]!==n?(re=r&&i&&!u&&(0,$.jsx)(ur,{className:`w-full`,children:(0,$.jsx)(lr,{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:()=>{F(n)},children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[a&&(0,$.jsx)(tr,{status:a,compact:!0}),(0,$.jsx)(`span`,{children:`Show more`})]})})}),t[56]=F,t[57]=i,t[58]=a,t[59]=u,t[60]=r,t[61]=n,t[62]=re):re=t[62];let q;return t[63]!==C||t[64]!==K||t[65]!==te||t[66]!==ne||t[67]!==re?(q=(0,$.jsxs)(xr,{ref:C,className:`mx-1 my-0 w-full translate-x-0 gap-0.5 overflow-hidden px-1.5 py-0`,children:[te,ne,re,K]}),t[63]=C,t[64]=K,t[65]=te,t[66]=ne,t[67]=re,t[68]=q):q=t[68],q});function cd(e){let t=(0,Q.c)(3),n;return t[0]!==e.cwd||t[1]!==e.environmentId?(n=(0,$.jsx)(wn,{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 ld=20,ud=5;function dd(e,t=ld){return e>=t?`${t}+`:String(e)}function fd(e){let t=(0,Q.c)(109),n;t[0]!==e.cwd||t[1]!==e.environmentId?(n={environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:ld},t[0]=e.cwd,t[1]=e.environmentId,t[2]=n):n=t[2];let r=qt(n),i;t[3]!==e.cwd||t[4]!==e.environmentId?(i={environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:ld},t[3]=e.cwd,t[4]=e.environmentId,t[5]=i):i=t[5];let a=Ct(i),o;t[6]!==e.cwd||t[7]!==e.environmentId?(o={environmentId:e.environmentId,cwd:e.cwd,limit:ld},t[6]=e.cwd,t[7]=e.environmentId,t[8]=o):o=t[8];let s=ot(o),c=e.environmentId!==null&&e.projectId!==null,l;t[9]!==e.environmentId||t[10]!==e.projectId||t[11]!==c?(l={environmentId:e.environmentId,projectId:e.projectId,enabled:c},t[9]=e.environmentId,t[10]=e.projectId,t[11]=c,t[12]=l):l=t[12];let u=Ot(l),d=u.data?.jiraConnectionId!==null&&u.data?.jiraConnectionId!==void 0&&u.data.jiraProjectKeys.length>0,f;t[13]!==d||t[14]!==e.environmentId||t[15]!==e.projectId?(f={environmentId:e.environmentId,projectId:e.projectId,state:`open`,limit:ld,enabled:d},t[13]=d,t[14]=e.environmentId,t[15]=e.projectId,t[16]=f):f=t[16];let p=Tt(f),m;t[17]===r.data?m=t[18]:(m=r.data??[],t[17]=r.data,t[18]=m);let h=m,g;t[19]===a.data?g=t[20]:(g=a.data??[],t[19]=a.data,t[20]=g);let _=g,v;t[21]===s.data?.runs?v=t[22]:(v=s.data?.runs??[],t[21]=s.data?.runs,t[22]=v);let y=v,b;t[23]===p.data?b=t[24]:(b=p.data??[],t[23]=p.data,t[24]=b);let x=b,S;t[25]===h.length?S=t[26]:(S=dd(h.length),t[25]=h.length,t[26]=S);let C;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(On,{className:`size-3.5`}),t[27]=C):C=t[27];let w;t[28]===e?w=t[29]:(w=()=>e.onOpenTab(`issues`),t[28]=e,t[29]=w);let T;t[30]!==S||t[31]!==w?(T=(0,$.jsx)(_d,{label:`Open issues`,value:S,icon:C,accentClassName:`border-emerald-500/18 bg-emerald-500/8 text-emerald-600 dark:text-emerald-300`,onClick:w}),t[30]=S,t[31]=w,t[32]=T):T=t[32];let E;t[33]===_.length?E=t[34]:(E=dd(_.length),t[33]=_.length,t[34]=E);let D;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(rn,{className:`size-3.5`}),t[35]=D):D=t[35];let O;t[36]===e?O=t[37]:(O=()=>e.onOpenTab(`prs`),t[36]=e,t[37]=O);let k;t[38]!==E||t[39]!==O?(k=(0,$.jsx)(_d,{label:`Open pull requests`,value:E,icon:D,accentClassName:`border-blue-500/18 bg-blue-500/8 text-blue-600 dark:text-blue-300`,onClick:O}),t[38]=E,t[39]=O,t[40]=k):k=t[40];let A;t[41]===y.length?A=t[42]:(A=dd(y.length),t[41]=y.length,t[42]=A);let j;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(En,{className:`size-3.5`}),t[43]=j):j=t[43];let M;t[44]===e?M=t[45]:(M=()=>e.onOpenTab(`actions`),t[44]=e,t[45]=M);let N;t[46]!==A||t[47]!==M?(N=(0,$.jsx)(_d,{label:`Actions`,value:A,icon:j,accentClassName:`border-amber-500/18 bg-amber-500/8 text-amber-600 dark:text-amber-300`,onClick:M}),t[46]=A,t[47]=M,t[48]=N):N=t[48];let P;t[49]!==d||t[50]!==x?(P=d?dd(x.length):`Not linked`,t[49]=d,t[50]=x,t[51]=P):P=t[51];let F;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(yn,{className:`size-3.5`}),t[52]=F):F=t[52];let I;t[53]===e?I=t[54]:(I=()=>e.onOpenTab(`workItems`),t[53]=e,t[54]=I);let L;t[55]!==P||t[56]!==I?(L=(0,$.jsx)(_d,{label:`Open Jira`,value:P,icon:F,accentClassName:`border-violet-500/18 bg-violet-500/8 text-violet-600 dark:text-violet-300`,onClick:I}),t[55]=P,t[56]=I,t[57]=L):L=t[57];let R;t[58]!==T||t[59]!==k||t[60]!==N||t[61]!==L?(R=(0,$.jsxs)(`div`,{className:`grid gap-3 p-4 sm:grid-cols-2 xl:grid-cols-4`,children:[T,k,N,L]}),t[58]=T,t[59]=k,t[60]=N,t[61]=L,t[62]=R):R=t[62];let z;t[63]===h.length?z=t[64]:(z=dd(h.length),t[63]=h.length,t[64]=z);let B=r.error,V=r.isLoading,H;t[65]===h?H=t[66]:(H=h.slice(0,ud),t[65]=h,t[66]=H);let U;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(On,{className:`size-4`}),t[67]=U):U=t[67];let W;t[68]===e?W=t[69]:(W=()=>e.onOpenTab(`issues`),t[68]=e,t[69]=W);let G;t[70]===e?G=t[71]:(G=t=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent/50 focus-visible:bg-accent/60 focus-visible:outline-none`,onClick:()=>e.onSelectIssue(t),children:[(0,$.jsxs)(`span`,{className:`shrink-0 text-muted-foreground text-xs`,children:[`#`,t.number]}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:t.title}),(0,$.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:t.state})]}),t[70]=e,t[71]=G);let ee;t[72]!==r.error||t[73]!==r.isLoading||t[74]!==z||t[75]!==H||t[76]!==W||t[77]!==G?(ee=(0,$.jsx)(vd,{title:`Issues`,description:`Open source-control issues for this repository.`,countLabel:z,emptyText:`No open issues.`,error:B,isLoading:V,items:H,icon:U,accentClassName:`text-emerald-600 dark:text-emerald-300`,onOpenTab:W,keyForItem:hd,renderItem:G}),t[72]=r.error,t[73]=r.isLoading,t[74]=z,t[75]=H,t[76]=W,t[77]=G,t[78]=ee):ee=t[78];let K;t[79]===_.length?K=t[80]:(K=dd(_.length),t[79]=_.length,t[80]=K);let te=a.error,ne=a.isLoading,re;t[81]===_?re=t[82]:(re=_.slice(0,ud),t[81]=_,t[82]=re);let q;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(rn,{className:`size-4`}),t[83]=q):q=t[83];let ie;t[84]===e?ie=t[85]:(ie=()=>e.onOpenTab(`prs`),t[84]=e,t[85]=ie);let ae;t[86]===e?ae=t[87]:(ae=t=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent/50 focus-visible:bg-accent/60 focus-visible:outline-none`,onClick:()=>e.onSelectChangeRequest(t),children:[(0,$.jsxs)(`span`,{className:`shrink-0 text-muted-foreground text-xs`,children:[`#`,t.number]}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:t.title}),(0,$.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:t.isDraft?`draft`:t.state})]}),t[86]=e,t[87]=ae);let oe;t[88]!==a.error||t[89]!==a.isLoading||t[90]!==K||t[91]!==re||t[92]!==ie||t[93]!==ae?(oe=(0,$.jsx)(vd,{title:`Pull requests`,description:`Open pull requests and review work for this repository.`,countLabel:K,emptyText:`No open pull requests.`,error:te,isLoading:ne,items:re,icon:q,accentClassName:`text-blue-600 dark:text-blue-300`,onOpenTab:ie,keyForItem:md,renderItem:ae}),t[88]=a.error,t[89]=a.isLoading,t[90]=K,t[91]=re,t[92]=ie,t[93]=ae,t[94]=oe):oe=t[94];let se;t[95]!==d||t[96]!==u.isLoading||t[97]!==e||t[98]!==p.error||t[99]!==p.isLoading||t[100]!==x?(se=d||u.isLoading?(0,$.jsx)(vd,{title:`Jira`,description:`Open Jira work items linked to this project.`,countLabel:u.isLoading?`...`:dd(x.length),emptyText:`No open Jira work items.`,error:p.error,isLoading:u.isLoading||p.isLoading,items:x.slice(0,ud),icon:(0,$.jsx)(yn,{className:`size-4`}),accentClassName:`text-violet-600 dark:text-violet-300`,onOpenTab:()=>e.onOpenTab(`workItems`),keyForItem:pd,renderItem:t=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent/50 focus-visible:bg-accent/60 focus-visible:outline-none`,onClick:()=>e.onSelectWorkItem(t),children:[(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-muted-foreground text-xs`,children:t.key}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate text-sm`,children:t.title}),(0,$.jsxs)(`span`,{className:`mt-0.5 flex flex-wrap items-center gap-1.5 text-[11px] text-muted-foreground`,children:[t.issueType?(0,$.jsx)(`span`,{children:t.issueType}):null,t.assignee?(0,$.jsx)(`span`,{children:t.assignee}):null,t.priorityDetail??t.priority?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(gd,{priority:t.priorityDetail??t.priority}),t.priority]}):null]})]}),(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-[11px] text-muted-foreground`,children:xt(t)})]})}):(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-4 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,$.jsx)(yn,{className:`mt-0.5 size-4 shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`font-medium text-sm`,children:`Jira is not linked to this project`}),(0,$.jsx)(`p`,{className:`mt-1 text-muted-foreground text-xs`,children:`Select the Jira tab to choose the connection and project key.`})]})]}),(0,$.jsx)(Pe,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 shrink-0`,onClick:()=>e.onOpenTab(`workItems`),children:`Configure`})]}),t[95]=d,t[96]=u.isLoading,t[97]=e,t[98]=p.error,t[99]=p.isLoading,t[100]=x,t[101]=se):se=t[101];let ce;t[102]!==ee||t[103]!==oe||t[104]!==se?(ce=(0,$.jsxs)(`div`,{className:`divide-y divide-border/60 border-border/60 border-t`,children:[ee,oe,se]}),t[102]=ee,t[103]=oe,t[104]=se,t[105]=ce):ce=t[105];let le;return t[106]!==R||t[107]!==ce?(le=(0,$.jsxs)(`div`,{className:`h-full min-h-0 overflow-y-auto`,children:[R,ce]}),t[106]=R,t[107]=ce,t[108]=le):le=t[108],le}function pd(e){return`${e.provider}:${e.key}`}function md(e){return`${e.provider}:${e.number}`}function hd(e){return`${e.provider}:${e.number}`}function gd(e){let t=(0,Q.c)(3),n=typeof e.priority==`string`?void 0:e.priority?.iconUrl;if(n){let e;return t[0]===n?e=t[1]:(e=(0,$.jsx)(`img`,{src:n,alt:``,className:`size-3`,loading:`lazy`,decoding:`async`}),t[0]=n,t[1]=e),e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(cn,{className:`size-3`}),t[2]=r):r=t[2],r}function _d(e){let t=(0,Q.c)(16),n;t[0]===e.accentClassName?n=t[1]:(n=Ee(`flex min-w-0 items-center gap-3 rounded-md border px-3 py-2 text-left transition-colors hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,e.accentClassName),t[0]=e.accentClassName,t[1]=n);let r;t[2]===e.icon?r=t[3]:(r=(0,$.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-background/70`,children:e.icon}),t[2]=e.icon,t[3]=r);let i;t[4]===e.value?i=t[5]:(i=(0,$.jsx)(`span`,{className:`block truncate font-semibold text-base leading-5`,children:e.value}),t[4]=e.value,t[5]=i);let a;t[6]===e.label?a=t[7]:(a=(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:e.label}),t[6]=e.label,t[7]=a);let o;t[8]!==i||t[9]!==a?(o=(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[i,a]}),t[8]=i,t[9]=a,t[10]=o):o=t[10];let s;return t[11]!==e.onClick||t[12]!==n||t[13]!==r||t[14]!==o?(s=(0,$.jsxs)(`button`,{type:`button`,className:n,onClick:e.onClick,children:[r,o]}),t[11]=e.onClick,t[12]=n,t[13]=r,t[14]=o,t[15]=s):s=t[15],s}function vd(e){let t=(0,Q.c)(30),n;t[0]===e.accentClassName?n=t[1]:(n=Ee(`mt-0.5 shrink-0`,e.accentClassName),t[0]=e.accentClassName,t[1]=n);let r;t[2]!==e.icon||t[3]!==n?(r=(0,$.jsx)(`span`,{className:n,children:e.icon}),t[2]=e.icon,t[3]=n,t[4]=r):r=t[4];let i;t[5]===e.title?i=t[6]:(i=(0,$.jsx)(`h3`,{className:`font-medium text-sm`,children:e.title}),t[5]=e.title,t[6]=i);let a;t[7]===e.countLabel?a=t[8]:(a=(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.countLabel}),t[7]=e.countLabel,t[8]=a);let o;t[9]!==i||t[10]!==a?(o=(0,$.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[i,a]}),t[9]=i,t[10]=a,t[11]=o):o=t[11];let s;t[12]===e.description?s=t[13]:(s=(0,$.jsx)(`p`,{className:`mt-0.5 text-muted-foreground text-xs`,children:e.description}),t[12]=e.description,t[13]=s);let c;t[14]!==o||t[15]!==s?(c=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[o,s]}),t[14]=o,t[15]=s,t[16]=c):c=t[16];let l;t[17]!==r||t[18]!==c?(l=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2.5`,children:[r,c]}),t[17]=r,t[18]=c,t[19]=l):l=t[19];let u;t[20]===e.onOpenTab?u=t[21]:(u=(0,$.jsx)(Pe,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 shrink-0 px-2 text-xs`,onClick:e.onOpenTab,children:`View all`}),t[20]=e.onOpenTab,t[21]=u);let d;t[22]!==l||t[23]!==u?(d=(0,$.jsxs)(`header`,{className:`mb-2 flex items-start justify-between gap-3`,children:[l,u]}),t[22]=l,t[23]=u,t[24]=d):d=t[24];let f;t[25]===e?f=t[26]:(f=e.error?(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-destructive/20 bg-destructive/5 px-3 py-2 text-destructive text-xs`,children:[(0,$.jsx)(Tr,{className:`mt-0.5 size-3.5 shrink-0`}),(0,$.jsx)(`span`,{children:e.error instanceof Error?e.error.message:`Failed to load.`})]}):e.isLoading&&e.items.length===0?(0,$.jsx)(`p`,{className:`px-2 py-4 text-muted-foreground text-sm`,children:`Loading...`}):e.items.length===0?(0,$.jsx)(`p`,{className:`px-2 py-4 text-muted-foreground text-sm`,children:e.emptyText}):(0,$.jsx)(`div`,{className:`grid gap-1`,children:e.items.map(t=>(0,$.jsx)(`div`,{children:e.renderItem(t)},e.keyForItem(t)))}),t[25]=e,t[26]=f);let p;return t[27]!==f||t[28]!==d?(p=(0,$.jsxs)(`section`,{className:`px-4 py-4`,children:[d,f]}),t[27]=f,t[28]=d,t[29]=p):p=t[29],p}function yd(e){let t=(0,Q.c)(76),[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(xd),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 z,B;t[27]!==n||t[28]!==e.open||t[29]!==g?(z=()=>{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)},B=[e.open,n,g],t[27]=n,t[28]=e.open,t[29]=g,t[30]=z,t[31]=B):(z=t[30],B=t[31]),(0,Z.useEffect)(z,B);let V;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{_({kind:`issue`,number:e.number})},t[32]=V):V=t[32];let H=V,U;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(U=e=>{_({kind:`pr`,number:e.number})},t[33]=U):U=t[33];let W=U,G;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(G=e=>{_({kind:`workItem`,key:e.key})},t[34]=G):G=t[34];let ee=G,K;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(K=e=>{r(`issues`),_({kind:`issue`,number:e})},t[35]=K):K=t[35];let te=K,ne;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(ne=e=>{r(`prs`),_({kind:`pr`,number:e})},t[36]=ne):ne=t[36];let re=ne,q;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>{r(`workItems`),_({kind:`workItem`,key:e})},t[37]=q):q=t[37];let ie=q,ae;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(ae=()=>_(null),t[38]=ae):ae=t[38];let oe=ae,se;t[39]===n?se=t[40]:(se=e=>{if(!si({currentTarget:e.currentTarget,target:e.target})&&!ri(e.target)){if(ii(e,`1`)){e.preventDefault(),r(`issues`),_(null);return}if(ii(e,`2`)){e.preventDefault(),r(`prs`),_(null);return}if(ii(e,`3`)){e.preventDefault(),r(`actions`),_(null);return}if((e.metaKey||e.ctrlKey)&&e.key===`4`){e.preventDefault(),r(`workItems`),_(null);return}e.key===`/`&&li(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:`overview`,label:`Overview`},t[41]=le):le=t[41];let ue;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(ue={id:`issues`,label:`Issues`},t[42]=ue):ue=t[42];let J;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(J={id:`prs`,label:`Pull requests`},t[43]=J):J=t[43];let de;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(de={id:`actions`,label:`Actions`},t[44]=de):de=t[44];let fe;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(fe=[le,ue,J,de,{id:`workItems`,label:`Jira`}],t[45]=fe):fe=t[45];let pe=fe,me=n===`overview`?`Overview`:n===`issues`?`Issues`:n===`prs`?`Pull requests`:n===`actions`?`Actions`:`Jira`,he=`${e.projectName} · ${me}`,ge=e.memberProjects.length>1&&M!==null,_e=M?.environmentId??null,ve=M?.cwd??null,ye;t[46]===he?ye=t[47]:(ye=(0,$.jsx)(Dt,{className:`truncate text-base`,children:he}),t[46]=he,t[47]=ye);let be;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(be=(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[48]=be):be=t[48];let xe;t[49]===ye?xe=t[50]:(xe=(0,$.jsxs)(`header`,{className:`flex items-center justify-between border-border/60 border-b py-3 pl-5 pr-14`,children:[ye,be]}),t[49]=ye,t[50]=xe);let Se;t[51]!==e.memberProjects||t[52]!==y||t[53]!==ge?(Se=ge?(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)(Mn,{value:y,onValueChange:e=>{typeof e==`string`&&b(e)},children:[(0,$.jsx)(Wt,{size:`sm`,className:`min-w-56`,children:(0,$.jsx)(vt,{placeholder:`Select a repository`})}),(0,$.jsx)(Vt,{children:e.memberProjects.map(bd)})]})]}):null,t[51]=e.memberProjects,t[52]=y,t[53]=ge,t[54]=Se):Se=t[54];let Ce;t[55]!==n||t[56]!==ve||t[57]!==_e||t[58]!==i||t[59]!==u||t[60]!==o||t[61]!==f||t[62]!==M?.id||t[63]!==g||t[64]!==c||t[65]!==m?(Ce=g===null?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(_n,{tabs:pe,activeId:n,onSelect:e=>r(e)}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:n===`overview`?(0,$.jsx)(fd,{environmentId:_e,cwd:ve,projectId:M?.id??null,onOpenTab:r,onSelectIssue:H,onSelectChangeRequest:W,onSelectWorkItem:ee}):n===`issues`?(0,$.jsx)(An,{environmentId:_e,cwd:ve,searchInputRef:x,query:i,onQueryChange:a,stateFilter:u,onStateFilterChange:d,onSelect:H}):n===`prs`?(0,$.jsx)(Dn,{environmentId:_e,cwd:ve,searchInputRef:S,query:o,onQueryChange:s,stateFilter:f,onStateFilterChange:p,onSelect:W}):n===`actions`?(0,$.jsx)(cd,{environmentId:_e,cwd:ve}):(0,$.jsx)(sn,{environmentId:_e,cwd:ve,projectId:M?.id??null,searchInputRef:C,query:c,onQueryChange:l,stateFilter:m,onStateFilterChange:h,onSelect:ee})})]}):g.kind===`issue`?(0,$.jsx)(xn,{environmentId:_e,cwd:ve,issueNumber:g.number,onBack:oe,onSelectLinkedChangeRequest:re}):g.kind===`pr`?(0,$.jsx)(an,{environmentId:_e,cwd:ve,pullRequestNumber:g.number,onBack:oe,onSelectLinkedIssue:te,onSelectLinkedWorkItem:ie}):(0,$.jsx)(Rt,{environmentId:_e,projectId:M?.id??null,cwd:ve,workItemKey:g.key,onBack:oe,onSelectLinkedChangeRequest:re}),t[55]=n,t[56]=ve,t[57]=_e,t[58]=i,t[59]=u,t[60]=o,t[61]=f,t[62]=M?.id,t[63]=g,t[64]=c,t[65]=m,t[66]=Ce):Ce=t[66];let we;t[67]!==ce||t[68]!==xe||t[69]!==Se||t[70]!==Ce?(we=(0,$.jsxs)(St,{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:[xe,Se,Ce]}),t[67]=ce,t[68]=xe,t[69]=Se,t[70]=Ce,t[71]=we):we=t[71];let Te;return t[72]!==e.onOpenChange||t[73]!==e.open||t[74]!==we?(Te=(0,$.jsx)(ct,{open:e.open,onOpenChange:e.onOpenChange,children:we}),t[72]=e.onOpenChange,t[73]=e.open,t[74]=we,t[75]=Te):Te=t[75],Te}function bd(e){return(0,$.jsx)(yt,{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 xd(e){return e.physicalProjectKey}var Sd={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`};function Cd(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function wd(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 Td(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 Ed(e){switch(e){case`github`:return Tn;case`gitlab`:return on;case`forgejo`:return tn;case`azure-devops`:return ln;case`bitbucket`:return Qt;default:return nn}}function Dd(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function Od(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 kd(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=Dd(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=Dd(e.pathname).split(`/`).filter(e=>e.length>0),r=Od(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=Dd(n[2]);return Od(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function Ad(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=kd(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:Td(n.provider)}:null}function jd(e){let t=(0,Q.c)(41),n;t[0]===e?n=t[1]:(n=t=>{let n=Ad(t.repositoryIdentity,t.preferredRemoteName),r=e.jiraProjectOpenUrlByProjectKey.get(c(l(t.environmentId,t.id)))??null,i=Ed(n?.provider);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Ae,{onClick:()=>e.onSettings(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(bn,{className:`size-3.5`}),`Project settings`]}),n?(0,$.jsxs)(Ae,{onClick:()=>e.onOpenRemote(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(i,{className:`size-3.5`}),`Open remote`]}):null,r?(0,$.jsxs)(Ae,{onClick:()=>e.onOpenJiraProject(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(yn,{className:`size-3.5`}),`Open Jira project`]}):null,(0,$.jsx)(ve,{}),(0,$.jsxs)(Ae,{onClick:()=>e.onRename(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(Sn,{className:`size-3.5`}),`Rename project`]}),(0,$.jsxs)(Ae,{onClick:()=>e.onGrouping(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(bn,{className:`size-3.5`}),`Project grouping...`]}),(0,$.jsxs)(Ae,{onClick:()=>e.onCopyPath(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(Je,{className:`size-3.5`}),`Copy Project Path`]}),(0,$.jsx)(ve,{}),(0,$.jsxs)(Ae,{onClick:()=>e.onRemove(t),variant:`destructive`,className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(wr,{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]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(Qn,{className:`size-3.5`}),t[2]=n):n=t[2];let i;t[3]===e.onOpenOverview?i=t[4]:(i=(0,$.jsxs)(Ae,{onClick:e.onOpenOverview,className:`min-h-7 py-1 sm:text-xs`,children:[n,`Project overview`]}),t[3]=e.onOpenOverview,t[4]=i);let a;t[5]===e?a=t[6]:(a=()=>e.onNewFolderWithProject(e.project),t[5]=e,t[6]=a);let o;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(er,{className:`size-3.5`}),t[7]=o):o=t[7];let s;t[8]===a?s=t[9]:(s=(0,$.jsxs)(Ae,{onClick:a,className:`min-h-7 py-1 sm:text-xs`,children:[o,`New folder with project`]}),t[8]=a,t[9]=s);let c;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(ve,{}),t[10]=c):c=t[10];let l;t[11]!==e.project.memberProjects[0]||t[12]!==r?(l=r(e.project.memberProjects[0]),t[11]=e.project.memberProjects[0],t[12]=r,t[13]=l):l=t[13];let u;return t[14]!==i||t[15]!==s||t[16]!==l?(u=(0,$.jsxs)(Be,{children:[i,s,c,l]}),t[14]=i,t[15]=s,t[16]=l,t[17]=u):u=t[17],u}let i;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(Qn,{className:`size-3.5`}),t[18]=i):i=t[18];let a;t[19]===e.onOpenOverview?a=t[20]:(a=(0,$.jsxs)(Ae,{onClick:e.onOpenOverview,className:`min-h-7 py-1 sm:text-xs`,children:[i,`Project overview`]}),t[19]=e.onOpenOverview,t[20]=a);let o;t[21]===e?o=t[22]:(o=()=>e.onNewFolderWithProject(e.project),t[21]=e,t[22]=o);let s;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(er,{className:`size-3.5`}),t[23]=s):s=t[23];let u;t[24]===o?u=t[25]:(u=(0,$.jsxs)(Ae,{onClick:o,className:`min-h-7 py-1 sm:text-xs`,children:[s,`New folder with grouped project`]}),t[24]=o,t[25]=u);let d;t[26]!==a||t[27]!==u?(d=(0,$.jsxs)(Be,{children:[a,u]}),t[26]=a,t[27]=u,t[28]=d):d=t[28];let f;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(ve,{}),t[29]=f):f=t[29];let p;if(t[30]!==e.project.groupedProjectCount||t[31]!==e.project.memberProjects||t[32]!==r){let n;t[34]!==e.project.groupedProjectCount||t[35]!==e.project.memberProjects.length||t[36]!==r?(n=(t,n)=>(0,$.jsxs)(Be,{children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-[10px] font-medium text-muted-foreground`,children:Cd(t,e.project.groupedProjectCount)}),r(t),n<e.project.memberProjects.length-1?(0,$.jsx)(ve,{}):null]},t.physicalProjectKey),t[34]=e.project.groupedProjectCount,t[35]=e.project.memberProjects.length,t[36]=r,t[37]=n):n=t[37],p=e.project.memberProjects.map(n),t[30]=e.project.groupedProjectCount,t[31]=e.project.memberProjects,t[32]=r,t[33]=p}else p=t[33];let m;return t[38]!==d||t[39]!==p?(m=(0,$.jsxs)($.Fragment,{children:[d,f,p]}),t[38]=d,t[39]=p,t[40]=m):m=t[40],m}function Md(e){let t=(0,Q.c)(78),{project:n,isManualProjectSorting:r,dragHandleProps:i,projectExpanded:a,projectStatus:o,jiraProjectOpenUrlByProjectKey:s,setProjectHeaderVisibilityNode:c,onPointerDownCapture:l,onClick:u,onKeyDown:d,onContextMenu:f,onOpenProjectOverviewClick:p,onOpenNewWorktreeClick:m}=e,h=i?.setActivatorNodeRef,g=`gap-2 px-2 py-1.5 pr-20 text-left hover:bg-accent group-hover/project-header:bg-accent group-hover/project-header:text-sidebar-accent-foreground ${r?`cursor-grab active:cursor-grabbing`:`cursor-pointer`}`,_;t[0]===i?_=t[1]:(_=i?i.attributes:{},t[0]=i,t[1]=_);let v;t[2]===i?v=t[3]:(v=i?i.listeners:{},t[2]=i,t[3]=v);let y;t[4]!==a||t[5]!==o?(y=!a&&o?(0,$.jsx)(`span`,{"aria-hidden":`true`,title:o.label,className:`-ml-0.5 relative inline-flex size-3.5 shrink-0 items-center justify-center ${o.colorClass}`,children:(0,$.jsx)(`span`,{className:`size-[9px] rounded-full ${o.dotClass} ${o.pulse?`animate-pulse`:``}`})}):null,t[4]=a,t[5]=o,t[6]=y):y=t[6];let b=n.customAvatarContentHash??null,x;t[7]!==n.cwd||t[8]!==n.environmentId||t[9]!==n.id||t[10]!==b?(x=(0,$.jsx)(mi,{environmentId:n.environmentId,cwd:n.cwd,projectId:n.id,customAvatarContentHash:b,className:`size-[18px]`}),t[7]=n.cwd,t[8]=n.environmentId,t[9]=n.id,t[10]=b,t[11]=x):x=t[11];let S;t[12]===n.displayName?S=t[13]:(S=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium text-foreground/90`,children:n.displayName}),t[12]=n.displayName,t[13]=S);let C;t[14]===n.groupedProjectCount?C=t[15]:(C=n.groupedProjectCount>1?(0,$.jsxs)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/60`,children:[n.groupedProjectCount,` projects`]}):null,t[14]=n.groupedProjectCount,t[15]=C);let w;t[16]!==S||t[17]!==C?(w=(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[S,C]}),t[16]=S,t[17]=C,t[18]=w):w=t[18];let T;t[19]!==u||t[20]!==f||t[21]!==d||t[22]!==l||t[23]!==h||t[24]!==g||t[25]!==_||t[26]!==v||t[27]!==y||t[28]!==x||t[29]!==w?(T=(0,$.jsxs)(cr,{ref:h,size:`sm`,className:g,..._,...v,onPointerDownCapture:l,onClick:u,onKeyDown:d,onContextMenu:f,children:[y,x,w]}),t[19]=u,t[20]=f,t[21]=d,t[22]=l,t[23]=h,t[24]=g,t[25]=_,t[26]=v,t[27]=y,t[28]=x,t[29]=w,t[30]=T):T=t[30];let E;t[31]!==n.environmentPresence||t[32]!==n.remoteEnvironmentLabels?(E=n.environmentPresence===`remote-only`&&(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{render:(0,$.jsx)(`span`,{"aria-label":n.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)(kn,{className:`size-3`})}),(0,$.jsxs)(de,{side:`top`,children:[`Remote environment: `,n.remoteEnvironmentLabels.join(`, `)]})]}),t[31]=n.environmentPresence,t[32]=n.remoteEnvironmentLabels,t[33]=E):E=t[33];let D=`Open project overview for ${n.displayName}`,O;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(Qn,{className:`size-3.5`}),t[34]=O):O=t[34];let k;t[35]!==p||t[36]!==D?(k=(0,$.jsx)(Se,{render:(0,$.jsx)(`div`,{className:`pointer-events-none absolute top-1 right-[3.25rem] 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":D,"data-testid":`project-overview-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:p,children:O})})}),t[35]=p,t[36]=D,t[37]=k):k=t[37];let A;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(de,{side:`top`,children:`Project overview`}),t[38]=A):A=t[38];let j;t[39]===k?j=t[40]:(j=(0,$.jsxs)(Fe,{children:[k,A]}),t[39]=k,t[40]=j);let M=`Create new workspace in ${n.displayName}`,N;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(Cr,{className:`size-3.5`}),t[41]=N):N=t[41];let P;t[42]!==m||t[43]!==M?(P=(0,$.jsx)(Se,{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":M,"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:m,children:N})})}),t[42]=m,t[43]=M,t[44]=P):P=t[44];let F;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(de,{side:`top`,children:`New workspace`}),t[45]=F):F=t[45];let I;t[46]===P?I=t[47]:(I=(0,$.jsxs)(Fe,{children:[P,F]}),t[46]=P,t[47]=I);let L=`Open project settings for ${n.displayName}`,R;t[48]===L?R=t[49]:(R=(0,$.jsx)(Le,{"aria-label":L,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`}),t[48]=L,t[49]=R);let z;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(en,{className:`size-3.5`}),t[50]=z):z=t[50];let B;t[51]===R?B=t[52]:(B=(0,$.jsx)(Se,{render:R,children:z}),t[51]=R,t[52]=B);let V;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(de,{side:`top`,children:`Project settings`}),t[53]=V):V=t[53];let H;t[54]===B?H=t[55]:(H=(0,$.jsxs)(Fe,{children:[B,V]}),t[54]=B,t[55]=H);let U;t[56]!==s||t[57]!==n||t[58]!==e.onCopyPath||t[59]!==e.onGrouping||t[60]!==e.onNewFolderWithProject||t[61]!==e.onOpenJiraProject||t[62]!==e.onOpenOverview||t[63]!==e.onOpenRemote||t[64]!==e.onRemove||t[65]!==e.onRename||t[66]!==e.onSettings?(U=(0,$.jsx)(ye,{align:`end`,side:`bottom`,className:`min-w-48`,children:(0,$.jsx)(jd,{jiraProjectOpenUrlByProjectKey:s,project:n,onCopyPath:e.onCopyPath,onGrouping:e.onGrouping,onNewFolderWithProject:e.onNewFolderWithProject,onOpenJiraProject:e.onOpenJiraProject,onOpenOverview:e.onOpenOverview,onOpenRemote:e.onOpenRemote,onRemove:e.onRemove,onRename:e.onRename,onSettings:e.onSettings})}),t[56]=s,t[57]=n,t[58]=e.onCopyPath,t[59]=e.onGrouping,t[60]=e.onNewFolderWithProject,t[61]=e.onOpenJiraProject,t[62]=e.onOpenOverview,t[63]=e.onOpenRemote,t[64]=e.onRemove,t[65]=e.onRename,t[66]=e.onSettings,t[67]=U):U=t[67];let W;t[68]!==H||t[69]!==U?(W=(0,$.jsxs)(Te,{children:[H,U]}),t[68]=H,t[69]=U,t[70]=W):W=t[70];let G;return t[71]!==c||t[72]!==T||t[73]!==E||t[74]!==j||t[75]!==I||t[76]!==W?(G=(0,$.jsxs)(`div`,{ref:c,className:`group/project-header relative`,children:[T,E,j,I,W]}),t[71]=c,t[72]=T,t[73]=E,t[74]=j,t[75]=I,t[76]=W,t[77]=G):G=t[77],G}function Nd(e){let t=(0,Q.c)(34),{target:n,title:r,onTitleChange:i,onClose:a,onSubmit:o}=e,s=n!==null,c;t[0]===a?c=t[1]:(c=e=>{e||a()},t[0]=a,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Dt,{children:`Rename project`}),t[2]=l):l=t[2];let u=n?`Update the title for ${n.cwd}.`:`Update the project title.`,d;t[3]===u?d=t[4]:(d=(0,$.jsxs)(Ft,{children:[l,(0,$.jsx)(kt,{children:u})]}),t[3]=u,t[4]=d);let f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Project title`}),t[5]=f):f=t[5];let p;t[6]===i?p=t[7]:(p=e=>i(e.target.value),t[6]=i,t[7]=p);let m;t[8]===o?m=t[9]:(m=e=>{e.key===`Enter`&&li(e)&&(e.preventDefault(),o())},t[8]=o,t[9]=m);let h;t[10]!==p||t[11]!==m||t[12]!==r?(h=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[f,(0,$.jsx)(fi,{"aria-label":`Project title`,value:r,onChange:p,onKeyDown:m})]}),t[10]=p,t[11]=m,t[12]=r,t[13]=h):h=t[13];let g;t[14]===n?g=t[15]:(g=n?.environmentLabel?(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Environment: `,n.environmentLabel]}):null,t[14]=n,t[15]=g);let _;t[16]!==h||t[17]!==g?(_=(0,$.jsxs)(_t,{className:`space-y-4`,children:[h,g]}),t[16]=h,t[17]=g,t[18]=_):_=t[18];let v;t[19]===a?v=t[20]:(v=(0,$.jsx)(Pe,{variant:`outline`,onClick:a,children:`Cancel`}),t[19]=a,t[20]=v);let y;t[21]===o?y=t[22]:(y=(0,$.jsx)(Pe,{onClick:o,children:`Save`}),t[21]=o,t[22]=y);let b;t[23]!==v||t[24]!==y?(b=(0,$.jsxs)(jt,{children:[v,y]}),t[23]=v,t[24]=y,t[25]=b):b=t[25];let x;t[26]!==_||t[27]!==b||t[28]!==d?(x=(0,$.jsxs)(St,{className:`project-glass-surface max-w-lg`,surface:`glass`,children:[d,_,b]}),t[26]=_,t[27]=b,t[28]=d,t[29]=x):x=t[29];let S;return t[30]!==s||t[31]!==c||t[32]!==x?(S=(0,$.jsx)(ct,{open:s,onOpenChange:c,children:x}),t[30]=s,t[31]=c,t[32]=x,t[33]=S):S=t[33],S}function Pd(e){let t=(0,Q.c)(38),{target:n,selection:r,globalGroupingMode:i,onSelectionChange:a,onClose:o,onSave:s}=e,c=n!==null,l;t[0]===o?l=t[1]:(l=e=>{e||o()},t[0]=o,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Dt,{children:`Project grouping`}),t[2]=u):u=t[2];let d=n?`Choose how ${n.cwd} should be grouped in the sidebar.`:`Choose how this project should be grouped in the sidebar.`,f;t[3]===d?f=t[4]:(f=(0,$.jsxs)(Ft,{children:[u,(0,$.jsx)(kt,{children:d})]}),t[3]=d,t[4]=f);let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Grouping rule`}),t[5]=p):p=t[5];let m;t[6]===a?m=t[7]:(m=e=>{(e===`inherit`||e===`repository`||e===`repository_path`||e===`separate`)&&a(e)},t[6]=a,t[7]=m);let h=r===`inherit`?`Use global default (${Sd[i]})`:Sd[r],g;t[8]===h?g=t[9]:(g=(0,$.jsx)(Wt,{className:`w-full`,"aria-label":`Project grouping rule`,children:(0,$.jsx)(vt,{children:h})}),t[8]=h,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsxs)(Vt,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(yt,{hideIndicator:!0,value:`inherit`,children:`Use global default`}),(0,$.jsx)(yt,{hideIndicator:!0,value:`repository`,children:Sd.repository}),(0,$.jsx)(yt,{hideIndicator:!0,value:`repository_path`,children:Sd.repository_path}),(0,$.jsx)(yt,{hideIndicator:!0,value:`separate`,children:Sd.separate})]}),t[10]=_):_=t[10];let v;t[11]!==r||t[12]!==m||t[13]!==g?(v=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[p,(0,$.jsxs)(Mn,{value:r,onValueChange:m,children:[g,_]})]}),t[11]=r,t[12]=m,t[13]=g,t[14]=v):v=t[14];let y;t[15]!==i||t[16]!==r?(y=wd(r===`inherit`?i:r),t[15]=i,t[16]=r,t[17]=y):y=t[17];let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:y}),t[18]=y,t[19]=b);let x;t[20]!==v||t[21]!==b?(x=(0,$.jsxs)(_t,{className:`space-y-4`,children:[v,b]}),t[20]=v,t[21]=b,t[22]=x):x=t[22];let S;t[23]===o?S=t[24]:(S=(0,$.jsx)(Pe,{variant:`outline`,onClick:o,children:`Cancel`}),t[23]=o,t[24]=S);let C;t[25]===s?C=t[26]:(C=(0,$.jsx)(Pe,{onClick:s,children:`Save`}),t[25]=s,t[26]=C);let w;t[27]!==S||t[28]!==C?(w=(0,$.jsxs)(jt,{children:[S,C]}),t[27]=S,t[28]=C,t[29]=w):w=t[29];let T;t[30]!==x||t[31]!==w||t[32]!==f?(T=(0,$.jsxs)(St,{className:`project-glass-surface max-w-lg`,surface:`glass`,children:[f,x,w]}),t[30]=x,t[31]=w,t[32]=f,t[33]=T):T=t[33];let E;return t[34]!==c||t[35]!==l||t[36]!==T?(E=(0,$.jsx)(ct,{open:c,onOpenChange:l,children:T}),t[34]=c,t[35]=l,t[36]=T,t[37]=E):E=t[37],E}function Fd(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(Id)&&(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 Id(e){return e.isIntersecting}function Ld(e){let t=(0,Q.c)(17),{project:n,explorerOpen:r,projectVisible:i}=e,a;t[0]!==r||t[1]!==i?(a=Ar({explorerOpen:r,projectVisible:i}),t[0]=r,t[1]=i,t[2]=a):a=t[2];let o=a,s;if(t[3]!==n.memberProjects||t[4]!==o){let e;t[6]===o?e=t[7]:(e=e=>({environmentId:e.environmentId,projectId:e.id,enabled:o}),t[6]=o,t[7]=e),s=n.memberProjects.map(e),t[3]=n.memberProjects,t[4]=o,t[5]=s}else s=t[5];let u=At(s),d;t[8]===n.memberProjects?d=t[9]:(d=Array.from(new Set(n.memberProjects.map(Rd))),t[8]=n.memberProjects,t[9]=d);let f=d,p=dn(f,o),m;t[10]!==f||t[11]!==p?(m=new Map(f.map((e,t)=>[e,p[t]?.data??[]])),t[10]=f,t[11]=p,t[12]=m):m=t[12];let h=m,g;return t[13]!==h||t[14]!==u||t[15]!==n.memberProjects?(g=new Map,n.memberProjects.forEach((e,t)=>{let n=Yt({link:u[t]?.data??null,connections:h.get(e.environmentId)??[]});n&&g.set(c(l(e.environmentId,e.id)),n)}),t[13]=h,t[14]=u,t[15]=n.memberProjects,t[16]=g):g=t[16],g}function Rd(e){return e.environmentId}var zd=6;function Bd(e){let t=(0,Q.c)(72),{project:n,projectThreads:r,sidebarWorktrees:i,lastVisitedAtByThreadKey:a,threadSortOrder:o,activeRouteThreadKey:c,projectExpanded:l,isThreadListExpanded:d}=e,f;t[0]===a?f=t[1]:(f=e=>{let t=a.get(s(u(e.environmentId,e.id)));return Rr({thread:{...e,...t==null?{}:{lastVisitedAt:t}}})},t[0]=a,t[1]=f);let p=f,m,h,g;if(t[2]!==r||t[3]!==p||t[4]!==o){g=Or(r.filter(Ud),o);let e;t[8]===p?e=t[9]:(e=e=>p(e),t[8]=p,t[9]=e),m=Jr(g.map(e)),h=g.map(Hd),t[2]=r,t[3]=p,t[4]=o,t[5]=m,t[6]=h,t[7]=g}else m=t[5],h=t[6],g=t[7];let _;t[10]!==m||t[11]!==h||t[12]!==g?(_={orderedProjectThreadKeys:h,projectStatus:m,visibleProjectThreads:g},t[10]=m,t[11]=h,t[12]=g,t[13]=_):_=t[13];let{projectStatus:v,visibleProjectThreads:y,orderedProjectThreadKeys:b}=_,x;bb0:{let e=c??void 0;if(!e||l){x=null;break bb0}let n;t[14]!==e||t[15]!==y?(n=y.find(t=>s(u(t.environmentId,t.id))===e)??null,t[14]=e,t[15]=y,t[16]=n):n=t[16],x=n}let S=x,C;t[17]===a?C=t[18]:(C=e=>{let t=a.get(s(u(e.environmentId,e.id)));return Rr({thread:{...e,...t==null?{}:{lastVisitedAt:t}}})},t[17]=a,t[18]=C);let w=C,T=y.length>zd,E;if(t[19]!==T||t[20]!==d||t[21]!==S||t[22]!==y){let e=d||!T?y:y.slice(0,zd);E=new Set([...e,...S?[S]:[]].map(Vd)),t[19]=T,t[20]=d,t[21]=S,t[22]=y,t[23]=E}else E=t[23];let D=E,O;t[24]!==S||t[25]!==y||t[26]!==D?(O=S?[S]:y.filter(e=>D.has(s(u(e.environmentId,e.id)))),t[24]=S,t[25]=y,t[26]=D,t[27]=O):O=t[27];let k=O,A,j;if(t[28]!==T||t[29]!==w||t[30]!==y||t[31]!==D){let e;t[34]===D?e=t[35]:(e=e=>!D.has(s(u(e.environmentId,e.id))),t[34]=D,t[35]=e);let n=y.filter(e);A=T;let r;t[36]===w?r=t[37]:(r=e=>w(e),t[36]=w,t[37]=r),j=Jr(n.map(r)),t[28]=T,t[29]=w,t[30]=y,t[31]=D,t[32]=A,t[33]=j}else A=t[32],j=t[33];let M=l&&y.length===0,N=l||S!==null,P;t[38]!==k||t[39]!==N||t[40]!==A||t[41]!==j||t[42]!==M?(P={hasOverflowingThreads:A,hiddenThreadStatus:j,renderedThreads:k,showEmptyThreadState:M,shouldShowThreadPanel:N},t[38]=k,t[39]=N,t[40]=A,t[41]=j,t[42]=M,t[43]=P):P=t[43];let{hasOverflowingThreads:F,hiddenThreadStatus:I,renderedThreads:L,showEmptyThreadState:R,shouldShowThreadPanel:z}=P,B;t[44]!==a||t[45]!==n||t[46]!==r||t[47]!==i||t[48]!==o?(B=kc({lastVisitedAtByThreadKey:a,project:n,threads:Or(r,o),worktrees:i}),t[44]=a,t[45]=n,t[46]=r,t[47]=i,t[48]=o,t[49]=B):B=t[49];let V=B,H;t[50]===V.project?H=t[51]:(H=[V.project],t[50]=V.project,t[51]=H);let U;t[52]!==V.threads||t[53]!==V.worktrees||t[54]!==H?(U={projects:H,threads:V.threads,worktrees:V.worktrees},t[52]=V.threads,t[53]=V.worktrees,t[54]=H,t[55]=U):U=t[55];let W=Qc(U).projects[0]??null,G;bb1:{if(l){G=null;break bb1}if(!S){let e;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(e=new Set,t[56]=e):e=t[56],G=e;break bb1}let e;t[57]!==S.environmentId||t[58]!==S.id?(e=s(u(S.environmentId,S.id)),t[57]=S.environmentId,t[58]=S.id,t[59]=e):e=t[59];let n;t[60]===e?n=t[61]:(n=new Set([e]),t[60]=e,t[61]=n),G=n}let ee=G,K;return t[62]!==F||t[63]!==I||t[64]!==b||t[65]!==v||t[66]!==L||t[67]!==z||t[68]!==R||t[69]!==W||t[70]!==ee?(K={projectStatus:v,orderedProjectThreadKeys:b,hasOverflowingThreads:F,hiddenThreadStatus:I,renderedThreads:L,showEmptyThreadState:R,shouldShowThreadPanel:z,treeProject:W,visibleTreeThreadKeys:ee},t[62]=F,t[63]=I,t[64]=b,t[65]=v,t[66]=L,t[67]=z,t[68]=R,t[69]=W,t[70]=ee,t[71]=K):K=t[71],K}function Vd(e){return s(u(e.environmentId,e.id))}function Hd(e){return s(u(e.environmentId,e.id))}function Ud(e){return e.archivedAt===null}function Wd(){let[e,t]=(0,Z.useState)(null),[n,r]=(0,Z.useState)(!1),i=(0,Z.useRef)(null),a=(0,Z.useRef)(null),o=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{i.current=e},[e]);let s=(0,Z.useCallback)(()=>{a.current!==null&&(window.cancelAnimationFrame(a.current),a.current=null),o.current!==null&&(window.clearTimeout(o.current),o.current=null)},[]);(0,Z.useEffect)(()=>()=>s(),[s]);let[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)(null),[y,b]=(0,Z.useState)(null),x=(0,Z.useCallback)(e=>{s(),r(!1),t(e),l(e.name),d(e.cwd),p(e.customSystemPrompt??``),h(!1),v(e.customAvatarContentHash??null),b(e.preferredRemoteName??null),a.current=window.requestAnimationFrame(()=>{a.current=null,r(!0)})},[s]),S=(0,Z.useCallback)(()=>{a.current!==null&&(window.cancelAnimationFrame(a.current),a.current=null),r(!1),o.current!==null&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{o.current=null,t(null),l(``),d(``),p(``),h(!1),v(null),b(null)},340)},[]);return{projectSettingsTarget:e,projectSettingsOpen:n,projectSettingsTitle:c,projectSettingsWorkspaceRoot:u,projectSettingsCustomSystemPrompt:f,projectSettingsSaving:m,projectSettingsCustomAvatarContentHash:_,projectSettingsPreferredRemoteName:y,setProjectSettingsTitle:l,setProjectSettingsWorkspaceRoot:d,setProjectSettingsCustomSystemPrompt:p,setProjectSettingsPreferredRemoteName:b,openProjectSettingsDialog:x,closeProjectSettingsDialog:S,pickProjectSettingsWorkspaceRoot:(0,Z.useCallback)(async()=>{let t=O();if(!t){X.add({type:`error`,title:`Folder picker is unavailable.`});return}let n=await t.dialogs.pickFolder({initialPath:u.trim()||e?.cwd||null});n&&d(n)},[e?.cwd,u]),submitProjectSettings:(0,Z.useCallback)(async()=>{if(!e||m)return;let t=c.trim(),n=u.trim(),r=f.trim();if(t.length===0){X.add({type:`warning`,title:`Project title cannot be empty`});return}if(n.length===0){X.add({type:`warning`,title:`Project root cannot be empty`});return}let i=t!==e.name,a=n!==e.cwd,o=r!==(e.customSystemPrompt?.trim()??``),s=y!==(e.preferredRemoteName??null);if(!i&&!a&&!o&&!s){S();return}let l=K(e.environmentId);if(!l){X.add(Y({type:`error`,title:`Failed to update project`,description:`Project API unavailable.`}));return}h(!0);try{await l.orchestration.dispatchCommand({type:`project.meta.update`,commandId:Oe(),projectId:e.id,...i?{title:t}:{},...a?{workspaceRoot:n}:{},...o?{customSystemPrompt:r.length>0?r:null}:{},...s?{preferredRemoteName:y}:{}}),S()}catch(e){h(!1),X.add(Y({type:`error`,title:`Failed to update project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[S,m,f,y,e,c,u]),uploadProjectAvatar:(0,Z.useCallback)(async t=>{let n=e;if(!n)return;let r=K(n.environmentId);if(!r)return;let a=g({environmentId:n.environmentId,pathname:`/api/project-avatar/upload`,searchParams:{projectId:n.id}}),o=new FormData;o.append(`avatar`,t);try{let e=await fetch(a,{method:`POST`,body:o,credentials:`include`});if(!e.ok){let t=await e.text().catch(()=>``);throw Error(t||`Upload failed: ${e.status}`)}let{contentHash:t}=await e.json();await r.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:Oe(),projectId:n.id,contentHash:t}),i.current?.id===n.id&&v(t)}catch(e){if(i.current?.id!==n.id)return;X.add(Y({type:`error`,title:`Failed to upload avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[e]),removeProjectAvatar:(0,Z.useCallback)(async()=>{let t=e;if(!t)return;let n=K(t.environmentId);if(n)try{await n.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:Oe(),projectId:t.id,contentHash:null}),i.current?.id===t.id&&v(null)}catch(e){if(i.current?.id!==t.id)return;X.add(Y({type:`error`,title:`Failed to remove avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[e]),openProjectRemoteByName:(0,Z.useCallback)((e,t)=>{let n=(e.repositoryIdentity?.remotes??[]).find(e=>e.name===t);if(!n)return;let r=kd(n.url);if(!r)return;let i=O();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.`}))})},[])}}function Gd(){let e=(0,Q.c)(9),[t,n]=(0,Z.useState)(null),[r,i]=(0,Z.useState)(``),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=e=>{n(e),i(e.name)},e[0]=a):a=e[0];let o=a,s;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{n(null),i(``)},e[1]=s):s=e[1];let c=s,l;e[2]!==t||e[3]!==r?(l=async()=>{if(!t)return;let e=r.trim();if(e.length===0){X.add({type:`warning`,title:`Project title cannot be empty`});return}if(e===t.name){c();return}let n=K(t.environmentId);if(!n){X.add(Y({type:`error`,title:`Failed to rename project`,description:`Project API unavailable.`}));return}try{await n.orchestration.dispatchCommand({type:`project.meta.update`,commandId:Oe(),projectId:t.id,title:e}),c()}catch(e){let t=e;X.add(Y({type:`error`,title:`Failed to rename project`,description:t instanceof Error?t.message:`An error occurred.`}))}},e[2]=t,e[3]=r,e[4]=l):l=e[4];let u=l,d;return e[5]!==t||e[6]!==r||e[7]!==u?(d={projectRenameTarget:t,projectRenameTitle:r,setProjectRenameTitle:i,openProjectRenameDialog:o,closeProjectRenameDialog:c,submitProjectRename:u},e[5]=t,e[6]=r,e[7]=u,e[8]=d):d=e[8],d}function Kd(e){let t=(0,Q.c)(13),{projectGroupingSettings:n,updateSettings:r}=e,[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(`inherit`),c;t[0]===n.sidebarProjectGroupingOverrides?c=t[1]:(c=e=>{let t=y(e);a(e),s(n.sidebarProjectGroupingOverrides?.[t]??`inherit`)},t[0]=n.sidebarProjectGroupingOverrides,t[1]=c);let l=c,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{a(null),s(`inherit`)},t[2]=u):u=t[2];let d=u,f;t[3]!==o||t[4]!==n.sidebarProjectGroupingOverrides||t[5]!==i||t[6]!==r?(f=()=>{if(!i)return;let e=y(i),t={...n.sidebarProjectGroupingOverrides};o===`inherit`?delete t[e]:t[e]=o,r({sidebarProjectGroupingOverrides:t}),d()},t[3]=o,t[4]=n.sidebarProjectGroupingOverrides,t[5]=i,t[6]=r,t[7]=f):f=t[7];let p=f,m;return t[8]!==l||t[9]!==o||t[10]!==i||t[11]!==p?(m={projectGroupingTarget:i,projectGroupingSelection:o,setProjectGroupingSelection:s,openProjectGroupingDialog:l,closeProjectGroupingDialog:d,saveProjectGroupingPreference:p},t[8]=l,t[9]=o,t[10]=i,t[11]=p,t[12]=m):m=t[12],m}function qd(e){let t=(0,Q.c)(7),{memberThreadCountByPhysicalKey:n,jiraProjectOpenUrlByProjectKey:r}=e,i=Zd,a;t[0]===r?a=t[1]:(a=e=>{let t=r.get(c(l(e.environmentId,e.id)))??null;if(!t){X.add({type:`warning`,title:`No Jira project link available`});return}let n=O();if(!n){X.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t).catch(Xd)},t[0]=r,t[1]=a);let o=a,s=Yd,u;t[2]===n?u=t[3]:(u=async e=>{let t=O();if(!t)return;let r=l(e.environmentId,e.id);if((n.get(e.physicalProjectKey)??0)>0){let n=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(n),await new Promise(Jd);let i=J(S.getState(),[r]);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 s(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 i=[`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(i))try{await s(e)}catch(t){let n=t,r=n instanceof Error?n.message:`Unknown error removing project.`;console.error(`Failed to remove project`,{projectId:e.id,environmentId:e.environmentId,error:n}),X.add(Y({type:`error`,title:`Failed to remove "${e.name}"`,description:r}))}},t[2]=n,t[3]=u);let d=u,f;return t[4]!==d||t[5]!==o?(f={openProjectRemoteLink:i,openProjectJiraLink:o,removeProject:s,handleRemoveProject:d},t[4]=d,t[5]=o,t[6]=f):f=t[6],f}function Jd(e){window.setTimeout(e,180)}async function Yd(e,t){let n=t===void 0?{}:t,r=l(e.environmentId,e.id),i=Ie.getState(),a=i.getDraftThreadByProjectRef(r);a&&i.clearDraftThread(a.draftId),i.clearProjectDraftThreadId(r);let o=K(e.environmentId);if(!o)throw Error(`Project API unavailable.`);await o.orchestration.dispatchCommand({type:`project.delete`,commandId:Oe(),projectId:e.id,...n.force===!0?{force:!0}:{}})}function Xd(e){X.add(Y({type:`error`,title:`Unable to open Jira project`,description:e instanceof Error?e.message:`An error occurred.`}))}function Zd(e){let t=Ad(e.repositoryIdentity,e.preferredRemoteName);if(!t){X.add({type:`warning`,title:`No remote link available`});return}let n=O();if(!n){X.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t.url).catch(Qd)}function Qd(e){X.add(Y({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))}function $d(e){let{router:t,isMobile:n,setOpenMobile:r,clearSelection:i,setSelectionAnchor:a,toggleThreadSelection:o,rangeSelectTo:d,removeFromSelection:f,selectedThreadCount:p,appSettingsConfirmThreadDelete:m,appSettingsConfirmThreadArchive:g,defaultThreadEnvMode:_,deleteThread:v,archiveThread:y,handleNewThread:b,markThreadUnread:x,copyPathToClipboard:C,copyThreadIdToClipboard:w,sidebarThreadByKeyRef:T,memberProjectByScopedKey:E,projectCwd:D}=e,[k,A]=(0,Z.useState)(null),[j,M]=(0,Z.useState)(``),N=(0,Z.useRef)(!1),P=(0,Z.useRef)(null),F=(0,Z.useCallback)(e=>{tt.getState().selectedThreadKeys.size>0&&i(),a(s(e)),n&&r(!1),t.navigate({to:`/$environmentId/$threadId`,params:Ue(e)})},[i,n,t,r,a]),I=(0,Z.useCallback)((e,o)=>{tt.getState().selectedThreadKeys.size>0&&i(),a(s(o)),n&&r(!1),t.navigate({to:`/draft/$draftId`,params:{draftId:e}})},[i,n,t,r,a]),L=(0,Z.useCallback)(async(e,n={})=>{if(e.draftId){Ie.getState().clearDraftThread(e.draftId);let n=Xe(t.state.matches[t.state.matches.length-1]?.params??{});n?.kind===`draft`&&n.draftId===e.draftId&&await t.navigate({to:`/`,replace:!0});return}let r=u(e.environmentId,e.id);if(Nr({confirmThreadDelete:m,thread:e})){let t=[`Close session "${e.title}"?`,`This permanently clears conversation history for this thread.`].join(`
|
|
9
|
+
`),n=O();if(!(n?await n.dialogs.confirm(t):window.confirm(t)))return}await v(r,{...n,optimistic:!0})},[m,v,t]),R=(0,Z.useCallback)((e,c,l)=>{let u=me(navigator.platform)?e.metaKey:e.ctrlKey,f=e.shiftKey,p=s(c),m=tt.getState().selectedThreadKeys.size;if(u){e.preventDefault(),o(p);return}if(f){e.preventDefault(),d(p,l);return}m>0&&i(),a(p),n&&r(!1),t.navigate({to:`/$environmentId/$threadId`,params:Ue(c)})},[i,n,d,t,r,a,o]),z=(0,Z.useCallback)(async e=>{let t=O();if(!t)return;let n=[...tt.getState().selectedThreadKeys];if(n.length===0)return;let r=n.length,a=await t.contextMenu.show([{id:`mark-unread`,label:`Mark unread (${r})`},{id:`delete`,label:`Delete (${r})`,destructive:!0}],e);if(a===`mark-unread`){for(let e of n)x(e,T.current.get(e)?.latestTurn?.completedAt);i();return}if(a!==`delete`||Zr({confirmThreadDelete:m,threads:n.map(e=>T.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 o=new Set(n);for(let e of n){let t=T.current.get(e);t&&await v(u(t.environmentId,t.id),{deletedThreadKeys:o})}f(n)},[m,i,v,x,f,T]),B=(0,Z.useCallback)((e,i)=>{let a=Xe(t.state.matches[t.state.matches.length-1]?.params??{}),o=a?.kind===`server`?h(S.getState(),a.threadRef)??null:null,s=Ie.getState(),c=a?.kind===`server`?s.getDraftThread(a.threadRef)??null:a?.kind===`draft`?s.getDraftSession(a.draftId)??null:null,u=i??Wr({projectId:e.id,defaultEnvMode:Ir({defaultEnvMode:_}),activeThread:o&&o.projectId===e.id?{projectId:o.projectId,branch:o.branch,worktreePath:o.worktreePath}:null,activeDraftThread:c&&c.projectId===e.id?{projectId:c.projectId,branch:c.branch,worktreePath:c.worktreePath,envMode:c.envMode}:null});n&&r(!1),b(l(e.environmentId,e.id),{...u.branch===void 0?{}:{branch:u.branch},...u.worktreePath===void 0?{}:{worktreePath:u.worktreePath},envMode:u.envMode})},[_,b,n,t,r]),V=(0,Z.useCallback)(async e=>{try{let t=T.current.get(s(e))??null;if(t&&!Gr(t)){X.add({type:`warning`,title:`Send a message before archiving`});return}await y(e)}catch(e){X.add(Y({type:`error`,title:`Failed to archive thread`,description:e instanceof Error?e.message:`An error occurred.`}))}},[y,T]);return{renamingThreadKey:k,renamingTitle:j,setRenamingTitle:M,renamingCommittedRef:N,renamingInputRef:P,navigateToThread:F,navigateToDraft:I,closeThread:L,handleThreadClick:R,handleMultiSelectContextMenu:z,createThreadForProjectMember:B,attemptArchiveThread:V,cancelRename:(0,Z.useCallback)(()=>{A(null),P.current=null},[]),commitRename:(0,Z.useCallback)(async(e,t,n)=>{let r=s(e),i=()=>{A(e=>e===r?(P.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=K(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()},[]),handleThreadContextMenu:(0,Z.useCallback)(async(e,t)=>{let n=O();if(!n)return;let r=s(e),a=T.current.get(r)??null;if(!a)return;let o=a.draftId,u=!o&&Gr(a),d=E.get(c(l(a.environmentId,a.projectId))),f=a.worktreePath??d?.cwd??D??null;if(o){p>0&&i(),await n.contextMenu.show([{id:`close`,label:`Close session`}],t)===`close`&&await L(a);return}let m=await n.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`},...u?[{id:`archive`,label:`Archive session`}]:[],{id:`close`,label:a.worktreeId||a.worktreePath?`Close session`:`Delete thread`,destructive:!0}],t);if(m===`rename`){A(r),M(a.title),N.current=!1;return}if(m===`mark-unread`){x(r,a.latestTurn?.completedAt);return}if(m===`copy-path`){if(!f){X.add(Y({type:`error`,title:`Path unavailable`,description:`This thread does not have a workspace path to copy.`}));return}C(f,{path:f});return}if(m===`copy-thread-id`){w(a.id,{threadId:a.id});return}if(m===`archive`){if(Qr({archiveAvailable:u,confirmThreadArchive:g})&&!await n.dialogs.confirm([`Archive session "${a.title}"?`,`You can restore archived sessions from Settings > Archive.`].join(`
|
|
11
|
+
`)))return;await V(e);return}m===`close`&&await L(a)},[V,g,i,L,C,w,x,E,D,p,T])}}function ef(e){let t=(0,Q.c)(32),{project:n,deleteThread:r,navigateToThread:i,createThreadForProjectMember:a,copyPathToClipboard:o}=e,s;t[0]!==a||t[1]!==n.memberProjects?(s=e=>{let t=n.memberProjects[0];t&&a(t,{branch:e.worktree.branch,envMode:e.worktree.worktreePath?`worktree`:`local`,worktreePath:e.worktree.worktreePath})},t[0]=a,t[1]=n.memberProjects,t[2]=s):s=t[2];let c=s,l;t[3]!==c||t[4]!==i?(l=e=>{let t=e.sessions.toSorted(lf)[0];if(t){i(u(t.environmentId,t.id));return}c(e)},t[3]=c,t[4]=i,t[5]=l):l=t[5];let d=l,f;t[6]===n.cwd?f=t[7]:(f=e=>e.worktree.worktreePath??n.cwd,t[6]=n.cwd,t[7]=f);let p=f,m;t[8]!==o||t[9]!==p?(m=e=>{let t=p(e);if(!t){X.add(Y({type:`error`,title:`Path unavailable`,description:`This worktree does not have a workspace path to copy.`}));return}o(t,{path:t})},t[8]=o,t[9]=p,t[10]=m):m=t[10];let h=m,g;t[11]===p?g=t[12]:(g=e=>{let t=p(e),n=O();if(!n||!t){X.add(Y({type:`error`,title:`Unable to open worktree`,description:`No local editor bridge is available.`}));return}_i(n,t).catch(cf)},t[11]=p,t[12]=g);let _=g,v;t[13]===n.environmentId?v=t[14]:(v=e=>{let t=K(n.environmentId)?.git.archiveWorktree;if(!t){X.add(Y({type:`error`,title:`Archive unavailable`,description:`This environment does not support worktree archiving.`}));return}t({worktreeId:ze.make(e.worktree.worktreeId),deleteBranch:!1}).catch(sf)},t[13]=n.environmentId,t[14]=v);let y=v,b;t[15]!==r||t[16]!==n.environmentId?(b=e=>{(async()=>{let t=O();if(t&&!await t.dialogs.confirm([`Delete worktree "${e.worktree.branch}"?`,`This permanently removes the worktree and its sessions.`].join(`
|
|
12
|
+
`)))return;let i=K(n.environmentId);if(!i){X.add(Y({type:`error`,title:`Delete unavailable`,description:`This environment is not connected.`}));return}let a=e.worktree.worktreeId,o=[...e.sessions.map(of),...e.archivedSessions.map(af)];for(let e of o)await r(u(n.environmentId,e),{optimistic:!0});if(ul(a))return;let s=i.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:ze.make(a),deleteBranch:!1})}catch(e){let t=e,n=t instanceof Error?t.message:`An error occurred.`,r=X.add(Y({type:`error`,title:`Failed to delete worktree`,description:`${n}\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(r),(async()=>{await s({worktreeId:ze.make(a),deleteBranch:!1,force:!0})})().catch(rf)}}}))}})().catch(nf)},t[15]=r,t[16]=n.environmentId,t[17]=b):b=t[17];let x=b,C;t[18]===n.environmentId?C=t[19]:(C=e=>{let t=K(n.environmentId)?.git.restoreWorktree;if(!t){X.add(Y({type:`error`,title:`Restore unavailable`,description:`This environment does not support worktree restore.`}));return}t({worktreeId:ze.make(e.worktree.worktreeId)}).catch(tf)},t[18]=n.environmentId,t[19]=C);let w=C,T;t[20]===n.environmentId?T=t[21]:(T=async(e,t)=>{let r=t.trim();if(r.length===0){X.add({type:`warning`,title:`Worktree title cannot be empty`});return}let i=K(n.environmentId);if(!i){X.add(Y({type:`error`,title:`Failed to rename worktree`,description:`Project API unavailable.`}));return}try{let t=new Date().toISOString(),a=ze.make(e.worktree.worktreeId);await i.orchestration.dispatchCommand({type:`worktree.meta.update`,commandId:Oe(),worktreeId:a,title:r,changedAt:t}),S.getState().setSidebarWorktreeTitle(n.environmentId,a,r,t)}catch(e){let t=e;X.add(Y({type:`error`,title:`Failed to rename worktree`,description:t instanceof Error?t.message:`An error occurred.`}))}},t[20]=n.environmentId,t[21]=T);let E=T,D;return t[22]!==y||t[23]!==h||t[24]!==c||t[25]!==x||t[26]!==d||t[27]!==_||t[28]!==E||t[29]!==p||t[30]!==w?(D={createThreadInWorktree:c,openWorktree:d,resolveWorktreeFilesystemPath:p,copyWorktreePath:h,openWorktreeInEditor:_,archiveWorktree:y,deleteWorktree:x,restoreWorktree:w,renameWorktree:E},t[22]=y,t[23]=h,t[24]=c,t[25]=x,t[26]=d,t[27]=_,t[28]=E,t[29]=p,t[30]=w,t[31]=D):D=t[31],D}function tf(e){X.add(Y({type:`error`,title:`Failed to restore worktree`,description:e instanceof Error?e.message:`An error occurred.`}))}function nf(e){X.add(Y({type:`error`,title:`Failed to delete worktree`,description:e instanceof Error?e.message:`An error occurred.`}))}function rf(e){X.add(Y({type:`error`,title:`Failed to force delete worktree`,description:e instanceof Error?e.message:`An error occurred.`}))}function af(e){return e.id}function of(e){return e.id}function sf(e){X.add(Y({type:`error`,title:`Failed to archive worktree`,description:e instanceof Error?e.message:`An error occurred.`}))}function cf(e){X.add(Y({type:`error`,title:`Unable to open worktree`,description:e instanceof Error?e.message:`An error occurred.`}))}function lf(e,t){return Date.parse(t.updatedAt??t.createdAt)-Date.parse(e.updatedAt??e.createdAt)}function uf(e){let t=(0,Q.c)(15),{project:n,jiraProjectOpenUrlByProjectKey:r,suppressProjectClickForContextMenuRef:i,onOpenOverview:a,openProjectSettingsDialog:o,openProjectRemoteLink:s,openProjectJiraLink:u,openProjectRenameDialog:d,openProjectGroupingDialog:f,copyPathToClipboard:p,handleRemoveProject:m}=e,h;t[0]!==p||t[1]!==m||t[2]!==r||t[3]!==a||t[4]!==f||t[5]!==u||t[6]!==s||t[7]!==d||t[8]!==o||t[9]!==n.groupedProjectCount||t[10]!==n.memberProjects||t[11]!==i?(h=e=>{e.preventDefault(),i.current=!0,(async()=>{let t=O();if(!t)return;let i=new Map;i.set(`project-overview`,()=>{a()});let h=(e,t,r)=>{let a=`${e}:${t.physicalProjectKey}`;return i.set(a,()=>{switch(e){case`settings`:o(t);return;case`open-remote`:s(t);return;case`open-jira`:u(t);return;case`rename`:d(t);return;case`grouping`:f(t);return;case`copy-path`:p(t.cwd,{path:t.cwd});return;case`delete`:return m(t)}}),{id:a,label:Cd(t,n.groupedProjectCount),...r?.destructive?{destructive:!0}:{},...r?.disabled?{disabled:!0}:{}}},g=(e,t,r)=>{if(n.memberProjects.length===1){let i=n.memberProjects[0];return{...h(e,i,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(i)?{disabled:!0}:{}}),label:t}}return{id:`${e}:submenu`,label:t,children:n.memberProjects.map(t=>h(e,t,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(t)?{disabled:!0}:{}}))}},_=n.memberProjects.some(ff),v=n.memberProjects.some(e=>r.has(c(l(e.environmentId,e.id)))),y=[{id:`project-overview`,label:`Project overview`},g(`settings`,`Project settings`),..._?[g(`open-remote`,`Open remote`,{isDisabled:df})]:[],...v?[g(`open-jira`,`Open Jira project`,{isDisabled:e=>!r.has(c(l(e.environmentId,e.id)))})]:[],g(`rename`,`Rename project`),g(`grouping`,`Project grouping…`),g(`copy-path`,`Copy Project Path`),g(`delete`,`Remove project`,{destructive:!0})],b=await t.contextMenu.show(y,{x:e.clientX,y:e.clientY});b&&await i.get(b)?.()})()},t[0]=p,t[1]=m,t[2]=r,t[3]=a,t[4]=f,t[5]=u,t[6]=s,t[7]=d,t[8]=o,t[9]=n.groupedProjectCount,t[10]=n.memberProjects,t[11]=i,t[12]=h):h=t[12];let g=h,_;return t[13]===g?_=t[14]:(_={handleProjectButtonContextMenu:g},t[13]=g,t[14]=_),_}function df(e){return Ad(e.repositoryIdentity,e.preferredRemoteName)===null}function ff(e){return Ad(e.repositoryIdentity,e.preferredRemoteName)!==null}var pf=(0,Z.memo)(function(e){let{project:t,isThreadListExpanded:n,activeRouteThreadKey:r,handleNewThread:i,archiveThread:a,deleteThread:o,threadJumpLabelByKey:d,attachThreadListAutoAnimateRef:f,expandThreadListForProject:p,collapseThreadListForProject:m,onNewFolderWithProject:h,dragInProgressRef:g,suppressProjectClickAfterDragRef:_,suppressProjectClickForContextMenuRef:v,isManualProjectSorting:y,dragHandleProps:b}=e,x=q(e=>e.sidebarThreadSortOrder),C=q(e=>e.confirmThreadDelete),T=q(e=>e.confirmThreadArchive),E=q(e=>e.defaultThreadEnvMode),D=q(e=>({sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides})),{updateSettings:k}=F(),A=He(),{isMobile:j,setOpenMobile:M}=ar(),N=we(e=>e.markThreadUnread),P=we(e=>e.toggleProject),I=tt(e=>e.toggleThread),L=tt(e=>e.rangeSelectTo),R=tt(e=>e.clearSelection),z=tt(e=>e.removeFromSelection),B=tt(e=>e.setAnchor),V=tt(e=>e.selectedThreadKeys.size),{copyToClipboard:H}=qe({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:U}=qe({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.`}))}}),W=(0,Z.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation();let n=O();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.`}))})},[]),G=S(Dr((0,Z.useMemo)(()=>e=>J(e,t.memberProjectRefs),[t.memberProjectRefs]))),ee=S(Dr((0,Z.useMemo)(()=>e=>w(e,t.memberProjectRefs),[t.memberProjectRefs]))),K=Ie((0,Z.useMemo)(()=>Ac(t),[t])),te=(0,Z.useMemo)(()=>new Map(G.map(e=>[s(u(e.environmentId,e.id)),e])),[G]),ne=(0,Z.useRef)(te);ne.current=te;let re=(0,Z.useMemo)(()=>[...G,...K],[K,G]),ie=we(e=>e.projectExpandedById[t.projectKey]??!0),ae=we(Dr(e=>re.map(t=>e.threadLastVisitedAtById[s(u(t.environmentId,t.id))]??null))),oe=(0,Z.useMemo)(()=>new Map(re.map((e,t)=>[s(u(e.environmentId,e.id)),ae[t]??null])),[re,ae]),[se,ce]=(0,Z.useState)(null),[le,ue]=(0,Z.useState)(!1),[de,fe]=(0,Z.useState)(`branches`),[pe,he]=(0,Z.useState)({open:!1,initialTab:`overview`}),[ge,_e]=Fd(),ve=(0,Z.useRef)(new Map),ye=(0,Z.useMemo)(()=>new Map(t.memberProjects.map(e=>[c(l(e.environmentId,e.id)),e])),[t.memberProjects]),be=(0,Z.useCallback)(e=>{if(e.branch===null)return null;let n=e.sourceProjectId??e.projectId,r=ye.get(c(l(e.environmentId,n))),i=e.worktreePath??r?.cwd??t.cwd;return i?{environmentId:e.environmentId,cwd:i}:null},[ye,t.cwd]),xe=(0,Z.useMemo)(()=>{let e=new Map(t.memberProjects.map(e=>[e.physicalProjectKey,0]));for(let t of re){let n=ye.get(c(l(t.environmentId,t.projectId)));n&&e.set(n.physicalProjectKey,(e.get(n.physicalProjectKey)??0)+1)}return e},[ye,t.memberProjects,re]),Se=Ld({project:t,explorerOpen:pe.open,projectVisible:_e}),{projectStatus:Ce,orderedProjectThreadKeys:Te,hasOverflowingThreads:Ee,hiddenThreadStatus:De,renderedThreads:Oe,showEmptyThreadState:ke,shouldShowThreadPanel:Ae,treeProject:je,visibleTreeThreadKeys:Me}=Bd({project:t,projectThreads:re,sidebarWorktrees:ee,lastVisitedAtByThreadKey:oe,threadSortOrder:x,activeRouteThreadKey:r,projectExpanded:ie,isThreadListExpanded:n}),Ne=Wd(),Pe=Gd(),Fe=Kd({projectGroupingSettings:D,updateSettings:k}),{openProjectRemoteLink:Le,openProjectJiraLink:Re,handleRemoveProject:ze}=qd({memberThreadCountByPhysicalKey:xe,jiraProjectOpenUrlByProjectKey:Se}),{renamingThreadKey:Be,renamingTitle:Ve,setRenamingTitle:Ue,renamingCommittedRef:We,renamingInputRef:Ge,navigateToThread:Ke,navigateToDraft:Je,closeThread:Ye,handleThreadClick:Xe,handleMultiSelectContextMenu:Ze,createThreadForProjectMember:Qe,attemptArchiveThread:$e,cancelRename:et,commitRename:nt,handleThreadContextMenu:rt}=$d({router:A,isMobile:j,setOpenMobile:M,clearSelection:R,setSelectionAnchor:B,toggleThreadSelection:I,rangeSelectTo:L,removeFromSelection:z,selectedThreadCount:V,appSettingsConfirmThreadDelete:C,appSettingsConfirmThreadArchive:T,defaultThreadEnvMode:E,deleteThread:o,archiveThread:a,handleNewThread:i,markThreadUnread:N,copyPathToClipboard:U,copyThreadIdToClipboard:H,sidebarThreadByKeyRef:ne,memberProjectByScopedKey:ye,projectCwd:t.cwd}),{createThreadInWorktree:it,openWorktree:at,copyWorktreePath:ot,openWorktreeInEditor:st,archiveWorktree:ct,deleteWorktree:lt,restoreWorktree:ut,renameWorktree:dt}=ef({project:t,deleteThread:o,navigateToThread:Ke,createThreadForProjectMember:Qe,copyPathToClipboard:U}),ft=(0,Z.useCallback)(()=>{he({open:!0,initialTab:`overview`})},[]),{handleProjectButtonContextMenu:pt}=uf({project:t,jiraProjectOpenUrlByProjectKey:Se,suppressProjectClickForContextMenuRef:v,onOpenOverview:ft,openProjectSettingsDialog:Ne.openProjectSettingsDialog,openProjectRemoteLink:Le,openProjectJiraLink:Re,openProjectRenameDialog:Pe.openProjectRenameDialog,openProjectGroupingDialog:Fe.openProjectGroupingDialog,copyPathToClipboard:U,handleRemoveProject:ze}),mt=(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}V>0&&R(),ie||Ht(t.projectKey),P(t.projectKey)},[R,g,t.projectKey,ie,V,_,v,P]),ht=(0,Z.useCallback)(e=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),!g.current&&(ie||Ht(t.projectKey),P(t.projectKey)))},[g,t.projectKey,ie,P]),gt=(0,Z.useCallback)(e=>{v.current=!1,Kr({button:e.button,ctrlKey:e.ctrlKey,isMac:me(navigator.platform)})&&e.stopPropagation(),_.current=!1},[_,v]),_t=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),fe(`branches`),ue(!0)},[]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Md,{project:t,isManualProjectSorting:y,dragHandleProps:b,projectExpanded:ie,projectStatus:Ce,jiraProjectOpenUrlByProjectKey:Se,setProjectHeaderVisibilityNode:ge,onPointerDownCapture:gt,onClick:mt,onKeyDown:ht,onContextMenu:pt,onOpenProjectOverviewClick:(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),he({open:!0,initialTab:`overview`})},[]),onOpenNewWorktreeClick:_t,onCopyPath:e=>{U(e.cwd,{path:e.cwd})},onGrouping:Fe.openProjectGroupingDialog,onNewFolderWithProject:h,onOpenJiraProject:Re,onOpenOverview:ft,onOpenRemote:Le,onRemove:e=>{ze(e)},onRename:Pe.openProjectRenameDialog,onSettings:Ne.openProjectSettingsDialog}),je?.isGitRepo?(0,$.jsx)(vu,{treeProject:je,projectExpanded:ie,visibleThreadKeys:Me,attachThreadListAutoAnimateRef:f,resolveThreadGitStatusTarget:be,onArchiveWorktree:ct,onCopyWorktreePath:ot,onDeleteWorktree:lt,onNewSession:it,onOpenInEditor:st,onOpenWorktree:at,onRenameWorktree:dt,onRestoreWorktree:ut,renderThread:(e,n,i)=>{let a=s(u(e.environmentId,e.id));return(0,$.jsx)($u,{thread:e,projectCwd:t.cwd,gitStatus:i,orderedProjectThreadKeys:n,isActive:r===a,jumpLabel:d.get(a)??null,appSettingsConfirmThreadArchive:T,renamingThreadKey:Be,renamingTitle:Ve,setRenamingTitle:Ue,renamingInputRef:Ge,renamingCommittedRef:We,confirmingArchiveThreadKey:se,setConfirmingArchiveThreadKey:ce,confirmArchiveButtonRefs:ve,handleThreadClick:Xe,navigateToThread:Ke,navigateToDraft:Je,handleMultiSelectContextMenu:Ze,handleThreadContextMenu:rt,closeThread:Ye,clearSelection:R,commitRename:nt,cancelRename:et,attemptArchiveThread:$e,openPrLink:W,isTreeChild:!0},a)}}):(0,$.jsx)(sd,{projectKey:t.projectKey,projectExpanded:ie,hasOverflowingThreads:Ee,hiddenThreadStatus:De,orderedProjectThreadKeys:Te,renderedThreads:Oe,showEmptyThreadState:ke,shouldShowThreadPanel:Ae,isThreadListExpanded:n,projectCwd:t.cwd,activeRouteThreadKey:r,threadJumpLabelByKey:d,appSettingsConfirmThreadArchive:T,renamingThreadKey:Be,renamingTitle:Ve,setRenamingTitle:Ue,renamingInputRef:Ge,renamingCommittedRef:We,confirmingArchiveThreadKey:se,setConfirmingArchiveThreadKey:ce,confirmArchiveButtonRefs:ve,attachThreadListAutoAnimateRef:f,handleThreadClick:Xe,navigateToThread:Ke,navigateToDraft:Je,handleMultiSelectContextMenu:Ze,handleThreadContextMenu:rt,closeThread:Ye,clearSelection:R,commitRename:nt,cancelRename:et,attemptArchiveThread:$e,openPrLink:W,expandThreadListForProject:p,collapseThreadListForProject:m}),(0,$.jsx)(Zt,{open:le,environmentId:t.environmentId,projectId:t.id,cwd:t.cwd,initialTab:de,onCreated:e=>{Ke(u(t.environmentId,e.sessionId))},onOpenChange:ue}),(0,$.jsx)(yd,{open:pe.open,projectName:t.displayName,memberProjects:t.memberProjects,initialTab:pe.initialTab,onOpenChange:e=>he(t=>({...t,open:e}))}),(0,$.jsx)(Qu,{open:Ne.projectSettingsOpen,target:Ne.projectSettingsTarget,title:Ne.projectSettingsTitle,customAvatarContentHash:Ne.projectSettingsCustomAvatarContentHash,preferredRemoteName:Ne.projectSettingsPreferredRemoteName,workspaceRoot:Ne.projectSettingsWorkspaceRoot,customSystemPrompt:Ne.projectSettingsCustomSystemPrompt,saving:Ne.projectSettingsSaving,onClose:Ne.closeProjectSettingsDialog,onSave:()=>void Ne.submitProjectSettings(),onTitleChange:Ne.setProjectSettingsTitle,onWorkspaceRootChange:Ne.setProjectSettingsWorkspaceRoot,onCustomSystemPromptChange:Ne.setProjectSettingsCustomSystemPrompt,onPreferredRemoteChange:Ne.setProjectSettingsPreferredRemoteName,onPickWorkspaceRoot:()=>void Ne.pickProjectSettingsWorkspaceRoot(),onOpenRemote:Ne.openProjectRemoteByName,onUploadAvatar:Ne.uploadProjectAvatar,onRemoveAvatar:Ne.removeProjectAvatar}),(0,$.jsx)(Nd,{target:Pe.projectRenameTarget,title:Pe.projectRenameTitle,onTitleChange:Pe.setProjectRenameTitle,onClose:Pe.closeProjectRenameDialog,onSubmit:()=>void Pe.submitProjectRename()}),(0,$.jsx)(Pd,{target:Fe.projectGroupingTarget,selection:Fe.projectGroupingSelection,globalGroupingMode:D.sidebarProjectGroupingMode,onSelectionChange:Fe.setProjectGroupingSelection,onClose:Fe.closeProjectGroupingDialog,onSave:Fe.saveProjectGroupingPreference})]})});function mf(){let e=(0,Q.c)(31),t=Un(),[n,r]=(0,Z.useState)(!1),i;e[0]!==n||e[1]!==t?(i=ae&&In(t)&&!n,e[0]=n,e[1]=t,e[2]=i):i=e[2];let a=i,o;e[3]===t?o=e[4]:(o=t?Wn(t):`Update available`,e[3]=t,e[4]=o);let s=o,c;e[5]===t?c=e[6]:(c=Fn(t),e[5]=t,e[6]=c);let l=c,u;e[7]===t?u=e[8]:(u=t?Vn(t):`none`,e[7]=t,e[8]=u);let d=u,f;e[9]===t?f=e[10]:(f=ae&&Jn(t),e[9]=t,e[10]=f);let p=f,m;e[11]!==p||e[12]!==t?(m=t&&p?Bn(t):null,e[11]=p,e[12]=t,e[13]=m):m=e[13];let h=m,g;e[14]!==d||e[15]!==l||e[16]!==t?(g=()=>{let e=window.desktopBridge;if(!(!e||!t)&&!(l||d===`none`)){if(d===`download`){e.downloadUpdate().then(vf).catch(_f);return}if(d===`install`){if(!window.confirm(Kn(t)))return;e.installUpdate().then(gf).catch(hf)}}},e[14]=d,e[15]=l,e[16]=t,e[17]=g):g=e[17];let _=g;if(!a&&!p)return null;let v;e[18]!==h||e[19]!==p?(v=p&&h&&(0,$.jsxs)(Nn,{variant:`warning`,className:`rounded-2xl border-warning/40 bg-warning/8 text-xs`,children:[(0,$.jsx)(Tr,{}),(0,$.jsx)(bt,{children:`Intel build on Apple Silicon`}),(0,$.jsx)(Ut,{children:h})]}),e[18]=h,e[19]=p,e[20]=v):v=e[20];let y;e[21]!==d||e[22]!==l||e[23]!==_||e[24]!==t||e[25]!==s||e[26]!==a?(y=a&&(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 ${l?` 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)(Fe,{children:[(0,$.jsx)(Se,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":s,"aria-disabled":l||void 0,disabled:l,className:`update-main relative flex h-full flex-1 items-center gap-2 px-2 enabled:cursor-pointer`,onClick:_,children:d===`install`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)($t,{className:`size-3.5`}),(0,$.jsx)(`span`,{children:`Restart to update`})]}):t?.status===`downloading`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Zn,{className:`size-3.5`}),(0,$.jsxs)(`span`,{children:[`Downloading`,typeof t.downloadPercent==`number`?` (${Math.floor(t.downloadPercent)}%)`:`…`]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Zn,{className:`size-3.5`}),(0,$.jsx)(`span`,{children:`Update available`})]})})}),(0,$.jsx)(de,{side:`top`,children:s})]}),d===`download`&&(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{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:()=>r(!0),children:(0,$.jsx)(Er,{className:`size-3.5`})})}),(0,$.jsx)(de,{side:`top`,children:`Dismiss until next launch`})]})]}),e[21]=d,e[22]=l,e[23]=_,e[24]=t,e[25]=s,e[26]=a,e[27]=y):y=e[27];let b;return e[28]!==v||e[29]!==y?(b=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[v,y]}),e[28]=v,e[29]=y,e[30]=b):b=e[30],b}function hf(e){X.add(Y({type:`error`,title:`Could not install update`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))}function gf(e){if(qn(e.state),!Ln(e))return;let t=Pn(e);t&&X.add(Y({type:`error`,title:`Could not install update`,description:t}))}function _f(e){X.add(Y({type:`error`,title:`Could not start update download`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))}function vf(e){if(qn(e.state),e.completed&&X.add({type:`success`,title:`Update downloaded`,description:`Restart the app from the update button to install it.`}),!Ln(e))return;let t=Pn(e);t&&X.add(Y({type:`error`,title:`Could not download update`,description:t}))}var yf={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`},bf={success:`bg-success/18`,warning:`bg-warning/14`,error:`bg-destructive/14`};function xf(e){return e.reduce((e,t)=>e===void 0||t.checkedAt>e?t.checkedAt:e,void 0)}function Sf(){let e=(0,Q.c)(60),t=qr(wf),n=se(),[r,i]=(0,Z.useState)(Cf),[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??xf(n),g=Si(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)] ${yf[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)] ${bf[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)(mn,{className:`size-3.5 animate-spin`}):S.tone===`success`?(0,$.jsx)(Ge,{className:`size-3.5`}):S.tone===`error`?(0,$.jsx)(Tr,{className:`size-3.5`}):(0,$.jsx)(Zn,{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)(Se,{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 z;e[45]===S.description?z=e[46]:(z=(0,$.jsx)(de,{side:`top`,children:S.description}),e[45]=S.description,e[46]=z);let B;e[47]!==R||e[48]!==z?(B=(0,$.jsxs)(Fe,{children:[R,z]}),e[47]=R,e[48]=z,e[49]=B):B=e[49];let V;e[50]!==S.dismissible||e[51]!==S.key||e[52]!==D?(V=S.dismissible&&(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{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)(Er,{className:`size-3.5`})})}),(0,$.jsx)(de,{side:`top`,children:`Dismiss until provider status changes`})]}),e[50]=S.dismissible,e[51]=S.key,e[52]=D,e[53]=V):V=e[53];let H;return e[54]!==N||e[55]!==P||e[56]!==B||e[57]!==V||e[58]!==M?(H=(0,$.jsxs)(`div`,{className:M,onTransitionEnd:N,children:[P,F,B,V]}),e[54]=N,e[55]=P,e[56]=B,e[57]=V,e[58]=M,e[59]=H):H=e[59],H}function Cf(){return new Set}function wf(e){return e.openSettings}function Tf(){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}var Ef=(0,Z.memo)(function(e){let t=(0,Q.c)(18),{isElectron:n}=e,{isMobile:r,setOpenMobile:i}=ar(),a=qr(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)(bn,{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)(Se,{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)(de,{side:`bottom`,sideOffset:2,children:`Settings`}),t[8]=d):d=t[8];let f;t[9]===u?f=t[10]:(f=(0,$.jsxs)(Fe,{children:[u,d]}),t[9]=u,t[10]=f);let p=f,m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(dr,{className:`shrink-0 md:hidden`}),t[11]=m):m=t[11];let h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Se,{render:(0,$.jsxs)(et,{"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)(Tf,{}),(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:I})]})}),(0,$.jsxs)(de,{side:`bottom`,sideOffset:2,children:[`Version `,G]})]}),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)(or,{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)(or,{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}),Df=(0,Z.memo)(function(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(vr,{className:`p-2`,children:[(0,$.jsx)(Sf,{}),(0,$.jsx)(mf,{})]}),e[0]=t):t=e[0],t});function Of(e){return e.openSettings}function kf(e){let t=new Map;for(let n of e.projects)t.set(W(n),x(n,e.settings));return t}function Af(e){let t=new Map;for(let n of e.projects){let r=x(n,e.settings),i={...n,physicalProjectKey:W(n),environmentLabel:lt({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=x(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),u=e.primaryEnvironmentId===null?!1:o.some(t=>t.environmentId!==e.primaryEnvironmentId),d=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?U({representative:s,members:o}):s.name,groupedProjectCount:o.length,environmentPresence:c&&u?`mixed`:u?`remote-only`:`local-only`,memberProjects:o,memberProjectRefs:o.map(e=>l(e.environmentId,e.id)),remoteEnvironmentLabels:d})}return n}function jf(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 Mf(e,t,n){let r=new Set(e.memberProjects.map(e=>e.physicalProjectKey));for(let e of jf({projectFoldersById:t,projectFolderOrder:n})){let n=t[e];if(n&&n.projectKeys.some(e=>r.has(e)))return e}return null}function Nf(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 Pf(e){let t=jf(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=Mf(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(ge),...s.map(e=>he(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=ge(e);l.has(t)||(l.add(t),u.push(t))}for(let e of s){let t=he(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:Nf({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 Ff={duration:180,easing:`ease-out`},If=new Map;function Lf(e){for(let[t]of e)t.isConnected||e.delete(t)}function Rf(e,t){Lf(e);for(let n of e.values())t?n.enable():n.disable()}function zf(e,t,n){if(t===null)return;Lf(e);let r=e.get(t);if(r===void 0){if(!n)return;r=xa(t,Ff),e.set(t,r)}n?r.enable():r.disable()}function Bf(e){if(e.threadJumpCommandByKey.size===0)return If;let t={platform:e.platform,context:{terminalFocus:!1,terminalOpen:e.terminalOpen}},n=new Map;for(let[r,i]of e.threadJumpCommandByKey){let a=ai(e.keybindings,i,t);a&&n.set(r,a)}return n.size>0?n:If}function Vf(){wt(`Sidebar`);let e=S(Dr(B)),t=S(Dr(A)),n=S(Dr(P)),r=we(e=>e.projectExpandedById),i=we(e=>e.projectOrder),a=we(e=>e.projectFoldersById),o=we(e=>e.projectFolderOrder),d=we(e=>e.projectTreeOrder),p=we(e=>e.reorderProjects),m=we(e=>e.moveProjectsToFolder),h=we(e=>e.moveProjectsToRoot),g=we(e=>e.reorderProjectTreeItem),_=Ve(),y=q(e=>e.sidebarThreadSortOrder),x=q(e=>e.sidebarProjectSortOrder),C=q(e=>e.sidebarProjectGroupingMode),w=q(e=>({sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides})),{updateSettings:T}=F(),{handleNewThread:E}=$r(),{archiveThread:D,deleteThread:O}=Gn(),{isMobile:k,setOpenMobile:j}=ar(),M=Ze({strict:!1,select:e=>We(e)}),N=Ze({strict:!1,select:e=>typeof e.draftId==`string`?e.draftId:null}),I=M?s(M):null,L=Ie((0,Z.useMemo)(()=>e=>N?e.draftThreadsByThreadKey[N]??null:null,[N])),R=L?s(u(L.environmentId,L.threadId)):null,H=I??R,U=V(),G=Xn(e=>e.openAddProject),[ee,K]=(0,Z.useState)(()=>new Set),{showThreadJumpHints:te,updateThreadJumpHintsVisibility:ie}=jr(),oe=(0,Z.useRef)(!1),se=(0,Z.useRef)(!1),le=(0,Z.useRef)(!1),[ue,J]=(0,Z.useState)(null),de=tt(e=>e.selectedThreadKeys.size),fe=tt(e=>e.clearSelection),pe=tt(e=>e.setAnchor),me=navigator.platform,_e=Sc(),ve=hi(),ye=rt(),be=v(e=>e.byId),xe=re(e=>e.byId),Se=(0,Z.useMemo)(()=>Pr({items:e,preferredIds:i,getId:b}),[i,e]),Ce=(0,Z.useMemo)(()=>kf({projects:Se,settings:w}),[Se,w]),Te=(0,Z.useMemo)(()=>new Map(Se.map(e=>[c(l(e.environmentId,e.id)),W(e)])),[Se]),Ee=(0,Z.useMemo)(()=>Af({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]),Oe=(0,Z.useMemo)(()=>new Map(Ee.map(e=>[e.projectKey,e])),[Ee]),ke=(0,Z.useMemo)(()=>new Map(t.map(e=>[s(u(e.environmentId,e.id)),e])),[t]),Ae=(0,Z.useMemo)(()=>{if(!H)return null;let e=ke.get(H)??(L?{environmentId:L.environmentId,projectId:L.projectId}:null);if(!e)return null;let t=Te.get(c(l(e.environmentId,e.projectId)))??c(l(e.environmentId,e.projectId));return Ce.get(t)??t},[H,L,ke,Ce,Te]),je=(0,Z.useMemo)(()=>{let e=new Map;for(let n of t){let t=Te.get(c(l(n.environmentId,n.projectId)))??c(l(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,Te]),Me=(0,Z.useMemo)(()=>{let e=new Map;for(let t of n){let n=Te.get(c(l(t.environmentId,t.projectId)))??c(l(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,Te]),Ne=(0,Z.useCallback)(()=>({terminalFocus:Sr(),terminalOpen:M?z(ne.getState().terminalStateByThreadKey,M).terminalOpen:!1,modelPickerOpen:ve}),[ve,M]),Pe=(0,Z.useMemo)(()=>({platform:me,context:{terminalFocus:!1,terminalOpen:!1}}),[me]),Fe=ai(U,`chat.newLocal`,Pe)??ai(U,`chat.new`,Pe),Le=(0,Z.useCallback)(e=>{tt.getState().selectedThreadKeys.size>0&&fe(),pe(s(e)),k&&j(!1),_({to:`/$environmentId/$threadId`,params:Ue(e)})},[fe,k,_,j,pe]),Re=uo(lo(ps,{activationConstraint:{distance:6}})),ze=(0,Z.useCallback)(e=>{let t=So(e);return t.length>0?t:vo(e)},[]),Be=(0,Z.useMemo)(()=>t.filter(e=>e.archivedAt===null),[t]),He=(0,Z.useMemo)(()=>Xr(Ee.map(e=>({...e,id:e.projectKey})),Be.map(e=>{let t=Te.get(c(l(e.environmentId,e.projectId)))??c(l(e.environmentId,e.projectId));return{...e,projectId:Ce.get(t)??t}}),x).flatMap(e=>{let t=Oe.get(e.id);return t?[t]:[]}),[x,Ce,Te,Oe,Ee,Be]),Ge=(0,Z.useMemo)(()=>Pf({projects:He,projectFoldersById:a,projectFolderOrder:o,projectTreeOrder:d,projectSortOrder:x}),[o,a,d,x,He]),Ke=(0,Z.useMemo)(()=>new Map(Ge.map(e=>[e.itemId,e])),[Ge]),qe=(0,Z.useMemo)(()=>{let e=new Map;for(let t of Ge){if(t.kind===`project`){e.set(t.itemId,null);continue}for(let n of t.projects)e.set(he(n.projectKey),t.folder.id)}return e},[Ge]),Je=x===`manual`,Ye=(0,Z.useCallback)(e=>{oe.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);Je&&e&&g(r,i);return}if(a?.kind!==`project`)return;let o=Oe.get(a.projectKey);if(!o)return;let s=o.memberProjects.map(e=>e.physicalProjectKey);if(i===`project-folder-root-drop`){h(s);return}let c=De(i);if(!c)return;if(c.kind===`folder`){m(s,c.folderId);return}let l=Oe.get(c.projectKey);if(!l)return;let u=l.memberProjects.map(e=>e.physicalProjectKey),d=qe.get(r)??null,f=qe.get(i)??null;if(f){let e=Ke.get(ge(f)),t=e?.kind===`folder`?e.projects.findIndex(e=>e.projectKey===c.projectKey):void 0;(d!==f||Je)&&m(s,f,t!==void 0&&t>=0?t:void 0);return}if(d){let e=Ge.findIndex(e=>e.itemId===i);h(s,e>=0?e:void 0);return}Je&&(g(r,i),p(s,u))},[oe,qe,Je,m,h,Ke,Ge,g,p,Oe]),Xe=(0,Z.useCallback)(e=>{oe.current=!0,se.current=!0},[oe,se]),Qe=(0,Z.useCallback)(e=>{oe.current=!1},[]),$e=(0,Z.useMemo)(()=>Ge.flatMap(e=>(e.kind===`project`?[e.project]:e.folder.expanded?e.projects:[]).flatMap(e=>{let t=Or(je.get(e.projectKey)??[],y),n=r[e.projectKey]??!0,i=I??void 0,a=!n&&i&&t.filter(e=>e.archivedAt===null).find(e=>s(u(e.environmentId,e.id))===i)?i:null;if(!n&&!a)return[];let o=kc({project:e,threads:t,worktrees:Me.get(e.projectKey)??[]}),c=Zc({nowMs:0,projects:[o.project],threads:o.threads,worktrees:o.worktrees}).projects[0];return c?c.worktrees.flatMap(e=>e.sessions.filter(e=>e.archivedAt===null).map(e=>s(u(e.environmentId,e.id))).filter(e=>n||e===a)):[]})),[y,r,Ge,I,je,Me]),et=sr(Jt),nt=Xt({prefersReducedMotion:et,withinThreshold:Lr(He.length)}),it=Xt({prefersReducedMotion:et,withinThreshold:Mr({projectCount:He.length,visibleThreadCount:$e.length})}),at=(0,Z.useRef)(new Map),ot=(0,Z.useCallback)(e=>{zf(at.current,e,nt)},[nt]);(0,Z.useEffect)(()=>{Rf(at.current,nt)},[nt]);let st=(0,Z.useRef)(new Map),ct=(0,Z.useCallback)(e=>{zf(st.current,e,it)},[it]);(0,Z.useEffect)(()=>{Rf(st.current,it)},[it]);let lt=(0,Z.useMemo)(()=>{let e=new Map;for(let[t,n]of $e.entries()){let r=di(t);if(!r)return e;e.set(n,r)}return e},[$e]),ut=(0,Z.useMemo)(()=>[...lt.keys()],[lt]),dt=(0,Z.useMemo)(()=>({terminalFocus:!1,terminalOpen:M?z(ne.getState().terminalStateByThreadKey,M).terminalOpen:!1,modelPickerOpen:ve}),[ve,M]),ft=(0,Z.useMemo)(()=>Bf({keybindings:U,platform:me,terminalOpen:dt.terminalOpen,threadJumpCommandByKey:lt}),[U,me,dt.terminalOpen,lt]),pt=!ci()&&ui(_e,U,{platform:me,context:dt}),mt=te?ft:If,ht=$e,gt=(0,Z.useMemo)(()=>Ur($e),[$e]),_t=(0,Z.useMemo)(()=>gt.flatMap(e=>{let t=f(e);return t?[t]:[]}),[gt]);(0,Z.useEffect)(()=>{let e=_t.map(e=>ce(e.environmentId,e.threadId));return()=>{for(let t of e)t()}},[_t]),(0,Z.useEffect)(()=>{ie(pt)},[pt,ie]),(0,Z.useEffect)(()=>{let e=e=>{let t=Ne();if(e.defaultPrevented||e.repeat||ni(e))return;let n=oi(e,U,{platform:me,context:t}),r=ei(n);if(r!==null){let t=Br({threadIds:ht,currentThreadId:I,direction:r});if(!t)return;let n=ke.get(t);if(!n)return;e.preventDefault(),e.stopPropagation(),Le(u(n.environmentId,n.id));return}let i=ti(n??``);if(i===null)return;let a=ut[i];if(!a)return;let o=ke.get(a);o&&(e.preventDefault(),e.stopPropagation(),Le(u(o.environmentId,o.id)))};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[Ne,U,Le,ht,me,I,ke,ut]),(0,Z.useEffect)(()=>{let e=e=>{de!==0&&Yr(e.target instanceof HTMLElement?e.target:null)&&fe()};return window.addEventListener(`mousedown`,e),()=>{window.removeEventListener(`mousedown`,e)}},[fe,de]),(0,Z.useEffect)(()=>{if(!ae)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,J(e))});return e.getUpdateState().then(e=>{t||n||J(e)}).catch(()=>void 0),()=>{t=!0,r()}},[]);let vt=Fn(ue),yt=ue?Vn(ue):`none`,bt=ae&&Jn(ue),xt=ue&&bt?Bn(ue):null,St=ai(U,`commandPalette.toggle`,Pe),Ct=(0,Z.useCallback)(()=>{let e=window.desktopBridge;if(!(!e||!ue)&&!(vt||yt===`none`)){if(yt===`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.`}),!Ln(e))return;let t=Pn(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(yt===`install`){if(!window.confirm(Kn(ue)))return;e.installUpdate().then(e=>{if(!Ln(e))return;let t=Pn(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.`}))})}}},[yt,vt,ue]),Tt=(0,Z.useCallback)(e=>{K(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Et=(0,Z.useCallback)(e=>{K(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ef,{isElectron:ae}),(0,$.jsx)(su,{showArm64IntelBuildWarning:bt,arm64IntelBuildWarningDescription:xt,desktopUpdateButtonAction:yt,desktopUpdateButtonDisabled:vt,handleDesktopUpdateButtonClick:Ct,projectSortOrder:x,threadSortOrder:y,projectGroupingMode:C,updateSettings:T,openAddProject:G,isManualProjectSorting:Je,projectDnDSensors:Re,projectCollisionDetection:ze,handleProjectDragStart:Xe,handleProjectDragEnd:Ye,handleProjectDragCancel:Qe,projectTreeRows:Ge,commandPaletteShortcutLabel:St,attachProjectListAutoAnimateRef:ot,projectsLength:e.length,renderProjectRow:(e,t,n)=>(0,$.jsx)(pf,{project:e,isThreadListExpanded:ee.has(e.projectKey),activeRouteThreadKey:Ae===e.projectKey?H:null,newThreadShortcutLabel:Fe,handleNewThread:E,archiveThread:D,deleteThread:O,threadJumpLabelByKey:mt,attachThreadListAutoAnimateRef:ct,expandThreadListForProject:Tt,collapseThreadListForProject:Et,onNewFolderWithProject:n,dragInProgressRef:oe,suppressProjectClickAfterDragRef:se,suppressProjectClickForContextMenuRef:le,isManualProjectSorting:Je,dragHandleProps:t})}),(0,$.jsx)(fr,{}),(0,$.jsx)(Df,{})]})}var Hf=`chat_thread_sidebar_width`,Uf=208,Wf=640,Gf=(0,Z.lazy)(()=>n(()=>import(`./SettingsDialog-oJCE5foT.js`).then(e=>({default:e.SettingsDialog})),[]));function Kf(){let e=(0,Q.c)(4),t=qr(qf),[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)(Gf,{})}),e[3]=o):o=e[3],o}function qf(e){return e.open}function Jf(e){let t=(0,Q.c)(8),{children:n}=e,r=qr(ep),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[0]=i):i=t[0],(0,Z.useEffect)(Xf,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)(br,{side:`left`,collapsible:`offcanvas`,className:`border-r border-border bg-card text-foreground`,resizable:{minWidth:Uf,shouldAcceptWidth:Yf,storageKey:Hf},children:[(0,$.jsx)(Vf,{}),(0,$.jsx)(hr,{})]}),t[4]=s):s=t[4];let c;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Kf,{}),t[5]=c):c=t[5];let l;return t[6]===n?l=t[7]:(l=(0,$.jsxs)(_r,{className:`h-dvh! min-h-0!`,defaultOpen:!0,children:[s,n,c]}),t[6]=n,t[7]=l),l}function Yf(e){let{nextWidth:t,wrapper:n}=e;return n.clientWidth-t>=Wf}function Xf(){let e=$f,t=Qf,n=Zf;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 Zf(){Ec()}function Qf(e){Tc(e)}function $f(e){Tc(e)}function ep(e){return e.openSettings}var tp=(0,Z.lazy)(()=>n(()=>import(`./CommandPaletteDialog-C_H7R8S5.js`).then(e=>({default:e.CommandPaletteDialog})),[]));function np(){let e=(0,Q.c)(4),t=Xn(rp),[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)(tp,{})}),e[3]=o):o=e[3],o}function rp(e){return e.open}function ip(e){let t=(0,Q.c)(16),{children:n}=e,r=Xn(cp),i=Xn(sp),a=Xn(op),o=V(),s=(0,Z.useRef)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={strict:!1,select:ap},t[0]=c):c=t[0];let l=Ze(c),u=l?.kind===`server`?l.threadRef:null,d;t[1]===u?d=t[2]:(d=e=>u?z(e.terminalStateByThreadKey,u).terminalOpen:!1,t[1]=u,t[2]=d);let f=ne(d),p,m;t[3]!==o||t[4]!==f||t[5]!==a?(p=()=>{let e=e=>{e.defaultPrevented||!Xn.getState().open&&ni(e)||oi(e,o,{context:{terminalFocus:Sr(),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)(np,{}),t[11]=_):_=t[11];let v;return t[12]!==n||t[13]!==r||t[14]!==i?(v=(0,$.jsx)(Lt.Provider,{value:s,children:(0,$.jsxs)(mt,{open:r,onOpenChange:i,children:[n,_]})}),t[12]=n,t[13]=r,t[14]=i,t[15]=v):v=t[15],v}function ap(e){return Xe(e)}function op(e){return e.toggleOpen}function sp(e){return e.setOpen}function cp(e){return e.open}function lp(e){return e.username?`${e.username}@${e.destination}`:e.destination}function up(e){return`${Math.floor(e/60)}:${String(e%60).padStart(2,`0`)}`}function dp(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 fp(){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:up(_);(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(dp(n))}finally{f.current=!1,a(!1)}},x=()=>{u&&y(u.requestId)},S=()=>{if(g){x();return}b(null)},C=u?lp(u):null;return(0,$.jsx)(ct,{open:u!==null,onOpenChange:e=>{e||S()},children:(0,$.jsxs)(St,{className:`max-w-md`,showCloseButton:!1,children:[(0,$.jsxs)(Ft,{children:[(0,$.jsx)(Dt,{children:`SSH Password Required`}),(0,$.jsxs)(kt,{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)(_t,{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)(fi,{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)(jt,{children:[(0,$.jsx)(Pe,{disabled:i,type:`button`,variant:`outline`,onClick:S,children:g?`Dismiss`:`Cancel`}),(0,$.jsx)(Pe,{disabled:i||g,form:p,type:`submit`,children:`Continue`})]})]})})}var pp=`ryco:provider-update-dismissals:v1`,mp=i({keys:a(o)});function hp(){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]=pe(pp,t,mp),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 gp=new Set;function _p(e){let t=(0,Q.c)(6),{provider:n}=e,r=Cn[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)(Zn,{"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)(Zn,{"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 vp(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 yp(e){return e.phase===`failed`||e.phase===`unchanged`||e.phase===`succeeded`}function bp(){let e=(0,Q.c)(23),t=qr(Cp),n=se(),r=(0,Z.useRef)(null),{dismissedNotificationKeys:i,dismissNotificationKey:a}=hp(),o;e[0]===n?o=e[1]:(o=Ci(n),e[0]=n,e[1]=o);let s=o,c;e[2]===s?c=e[3]:(c=bi(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=>Di(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=wi({providers:n.filter(t=>e.providerInstanceIds.has(t.instanceId)),providerCount:e.providerCount});vp({toastId:e.toastId,view:t,openSettings:()=>p(e.toastId)}),yp(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)||gp.has(l)||r.current)return;gp.add(l);let t=vi({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(Sp));r.current={kind:`update`,key:l,toastId:n,providerInstanceIds:t,providerCount:e},vp({toastId:n,view:yi(e),openSettings:c}),Promise.allSettled(d.map(xp)).then(i=>{let a=r.current;if(a?.kind!==`update`||a.toastId!==n)return;let o=xi(i);if(o){vp({toastId:n,view:Ei(e,o),openSettings:c}),r.current=null;return}let s=wi({providers:Ti({results:i,providerInstanceIds:t}),providerCount:e});vp({toastId:n,view:s,openSettings:c}),yp(s)&&(r.current=null)})}}:{children:`Settings`,onClick:c},actionVariant:d.length>0?`default`:`outline`,data:{leadingIcon:s.length===1?(0,$.jsx)(_p,{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 xp(e){return _().server.updateProvider({provider:e.driver,instanceId:e.instanceId})}function Sp(e){return e.instanceId}function Cp(e){return e.openSettings}var wp=5e3,Tp=new Intl.DateTimeFormat(void 0,{day:`numeric`,hour:`numeric`,minute:`2-digit`,month:`short`,second:`2-digit`});function Ep(e){return e?Tp.format(new Date(e)):null}function Dp(e,t){let n=Math.max(0,new Date(e).getTime()-t);return`${Math.max(1,Math.ceil(n/1e3))}s`}function Op(){return`WebSocket disconnected. Waiting for network.`}function kp(e){return`Attempt ${Math.max(1,Math.min(e.reconnectAttemptCount,8))}/${e.reconnectMaxAttempts}`}function Ap(){return`Retries exhausted trying to reconnect`}function jp(e){return e.connectionLabel?.trim()||`Ryco Server`}function Mp(e){return`Disconnected from ${jp(e)}`}function Np(e){return`Reconnected to ${jp(e)}`}function Pp(e,t){let n=Ep(t),r=Ep(e);return r&&n?`Disconnected at ${r} and reconnected at ${n}.`:n?`Connection restored at ${n}.`:`Connection restored.`}function Fp(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 Ip(e,t,n){return Y({actionProps:{children:`Retry now`,onClick:n},data:{hideCopyButton:!0},description:e.nextRetryAt===null?`Reconnecting... ${kp(e)}`:`Reconnecting in ${Dp(e.nextRetryAt,t)}... ${kp(e)}`,timeout:0,title:Mp(e),type:`loading`})}function Lp(e){let t=(0,Q.c)(4),{requests:n}=e,r;t[0]===n?r=t[1]:(r=n.map(Rp),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 Rp(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 `,Ep(e.startedAt)??e.startedAt]})]},e.requestId)}function zp(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 Bp(e,t){return e.reconnectPhase===`waiting`&&e.nextRetryAt===t&&e.online&&e.hasConnected}function Vp(){let e=(0,Q.c)(37),t=p(),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(),le().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),m;e[5]===l?m=e[6]:(m=e=>{zp(e===`online`?C(!0):D(),e)&&(Date.now()-n.current<wp||l(!1))},e[5]=l,e[6]=m);let h=(0,Z.useEffectEvent)(m),g;e[7]!==u||e[8]!==h?(g=()=>{let e=()=>{h(`online`)},t=()=>{h(`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]=h,e[9]=g):g=e[9];let _;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=[],e[10]=_):_=e[10],(0,Z.useEffect)(g,_);let v;e[11]!==t.nextRetryAt||e[12]!==t.reconnectPhase||e[13]!==f?(v=()=>{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,Ip(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]=v):v=e[14];let y;e[15]!==t.nextRetryAt||e[16]!==t.reconnectPhase?(y=[t.nextRetryAt,t.reconnectPhase],e[15]=t.nextRetryAt,e[16]=t.reconnectPhase,e[17]=y):y=e[17],(0,Z.useEffect)(v,y);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(()=>{Bp(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 S;e[30]!==t||e[31]!==f?(S=()=>{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:Op(),timeout:0,title:`Offline`,type:`warning`}):u?Y({actionProps:{children:`Retry`,onClick:f},data:{hideCopyButton:!0},description:Ap(),timeout:0,title:Mp(t),type:`error`}):Ip(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:Pp(a,t.connectedAt),title:Np(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]=S):S=e[32];let w;e[33]===t?w=e[34]:(w=[t],e[33]=t,e[34]=w),(0,Z.useEffect)(S,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(){C(navigator.onLine!==!1)}function Up(){let e=(0,Q.c)(4),t=R(),n=p(),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)(Lp,{requests:t}),expandableDescriptionTrigger:!0,expandableLabels:{collapse:`Hide requests`,expand:`Show requests`}},description:Fp(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 Wp({children:e}){return e}function Gp(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)(ip,{children:(0,$.jsx)(Jf,{children:(0,$.jsx)(Qe,{})})}),t[0]=i):i=t[0];let a=i,o;t[1]===r?o=t[2]:(o=r?(0,$.jsx)(Zp,{}):null,t[1]=r,t[2]=o);let s;t[3]===r?s=t[4]:(s=r?(0,$.jsx)(Yp,{}):null,t[3]=r,t[4]=s);let c,l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)($p,{}),l=(0,$.jsx)(fp,{}),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)(Kp,{}):null,t[7]=n.status,t[8]=u);let d;t[9]===r?d=t[10]:(d=r?(0,$.jsx)(tm,{}):null,t[9]=r,t[10]=d);let f;t[11]===r?f=t[12]:(f=r?(0,$.jsx)(bp,{}):null,t[11]=r,t[12]=f);let p;t[13]===r?p=t[14]:(p=r?(0,$.jsx)(Vp,{}):null,t[13]=r,t[14]=p);let m;t[15]===r?m=t[16]:(m=r?(0,$.jsx)(Up,{}):null,t[15]=r,t[16]=m);let h;t[17]===r?h=t[18]:(h=r?(0,$.jsx)(Wp,{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)(Ke,{children:(0,$.jsxs)(Ye,{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 Kp(){let e=(0,Q.c)(2),t=v(Jp),n;return e[0]===t?n=e[1]:(n=[t],e[0]=t,e[1]=n),(0,Z.useEffect)(qp,n),null}function qp(){if(it()||S.getState().activeEnvironmentId)return;let e=E()[0];e&&S.getState().setActiveEnvironmentId(e.environmentId)}function Jp(e){return Object.keys(e.byId).length}function Yp(){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)(Xp,t),null}function Xp(){if(it())return L(le().client.server)}function Zp(){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)(Qp,t),null}function Qp(){M()}function $p(){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)(em,t),null}function em(){return T()}function tm(){let e=(0,Q.c)(18),t=S(sm),n=Ve(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={select:om},e[0]=r):r=e[0];let i=$e(r),a=q(am),o;e[1]===i?o=e[2]:(o=()=>i,e[1]=i,e[2]=o);let s=(0,Z.useEffectEvent)(o),u=(0,Z.useRef)(null),d;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=ie()?.id??0,e[3]=d):d=e[3];let f=(0,Z.useRef)(d),p=(0,Z.useRef)(!1),h=te(),g;e[4]!==n||e[5]!==a||e[6]!==s||e[7]!==h||e[8]!==t?(g=e=>{e&&(nt(e.environment),t(e.environment.environmentId),(async()=>{if(await oe(e.environment.environmentId),p.current||!e.bootstrapProjectId||!e.bootstrapThreadId)return;let t=S.getState().environmentStateById[e.environment.environmentId]?.projectById[e.bootstrapProjectId]??null,r=(t?x(t,a):null)??(h?.cwd?m(e.environment.environmentId,h.cwd):null)??c(l(e.environment.environmentId,e.bootstrapProjectId));we.getState().setProjectExpanded(r,!0),s()===`/`&&u.current!==e.bootstrapThreadId&&(await n({to:`/$environmentId/$threadId`,params:{environmentId:e.environment.environmentId,threadId:e.bootstrapThreadId},replace:!0}),u.current=e.bootstrapThreadId)})().catch(im))},e[4]=n,e[5]=a,e[6]=s,e[7]=h,e[8]=t,e[9]=g):g=e[9];let _=(0,Z.useEffectEvent)(g),v;e[10]===h?v=e[11]:(v=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(rm);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=O();e&&Promise.resolve(h??e.server.getConfig()).then(t=>{let n=gi(t.availableEditors);if(!n)throw Error(`No available editors found.`);return e.shell.openInEditor(t.keybindingsConfigPath,n)}).catch(nm)}}}))},e[10]=h,e[11]=v);let y=(0,Z.useEffectEvent)(v),b,C;e[12]!==h||e[13]!==t?(b=()=>{h&&(nt(h.environment),t(h.environment.environmentId))},C=[h,t],e[12]=h,e[13]=t,e[14]=b,e[15]=C):(b=e[14],C=e[15]),(0,Z.useEffect)(b,C);let w,T;return e[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>(p.current=!1,()=>{p.current=!0}),T=[],e[16]=w,e[17]=T):(w=e[16],T=e[17]),(0,Z.useEffect)(w,T),ue(_),ee(y),null}function nm(e){X.add(Y({type:`error`,title:`Unable to open keybindings file`,description:e instanceof Error?e.message:`Unknown error opening file.`}))}function rm(e){return e.kind.startsWith(`keybindings.`)}function im(){}function am(e){return{sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides}}function om(e){return e.pathname}function sm(e){return e.setActiveEnvironmentId}export{Gp as RootAppShell};
|