@tencent-ai/agent-sdk 0.3.269 → 0.3.270
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/cli/CHANGELOG.md +21 -0
- package/cli/dist/codebuddy-headless.js +111 -108
- package/cli/dist/codebuddy-lite-wb.mjs +143 -140
- package/cli/dist/web-ui/assets/{CanvasPaneStandaloneView-AFymTrqt.js → CanvasPaneStandaloneView-CDO7isWn.js} +1 -1
- package/cli/dist/web-ui/assets/{CanvasView-CoxUIOeY.js → CanvasView-DJNkeBGK.js} +1 -1
- package/cli/dist/web-ui/assets/{ChangesView-CTnio3qy.js → ChangesView-fCuIktEK.js} +1 -1
- package/cli/dist/web-ui/assets/{DocsView-DfGq3q0Y.js → DocsView-B79hLvzs.js} +1 -1
- package/cli/dist/web-ui/assets/{EditorView-CYw2oZg1.js → EditorView-7YnlryBL.js} +1 -1
- package/cli/dist/web-ui/assets/{KeybindingsView-D6w9QUh3.js → KeybindingsView-CIDkpkAb.js} +1 -1
- package/cli/dist/web-ui/assets/{LogsView-CP5xbyy4.js → LogsView-Bcv52scT.js} +1 -1
- package/cli/dist/web-ui/assets/{MetricsView-C2c14t7O.js → MetricsView-DUSiPsda.js} +1 -1
- package/cli/dist/web-ui/assets/{PluginsView-BSEje_UM.js → PluginsView-BTOCj9co.js} +1 -1
- package/cli/dist/web-ui/assets/{RemoteControlView-2f1ZwMQ5.js → RemoteControlView-YqmY0vro.js} +1 -1
- package/cli/dist/web-ui/assets/{SettingsView-tOHto0ek.js → SettingsView-D2wIPOBw.js} +1 -1
- package/cli/dist/web-ui/assets/{SplitContainer-q9iSME5N.js → SplitContainer-DlEN5H4s.js} +1 -1
- package/cli/dist/web-ui/assets/{StatsView-BVIL7ys1.js → StatsView-C7iB42TQ.js} +1 -1
- package/cli/dist/web-ui/assets/{TasksView-BuNGf8H8.js → TasksView-CKm5dh4d.js} +1 -1
- package/cli/dist/web-ui/assets/{TerminalPaneView-IZXBrZd0.js → TerminalPaneView-Cs-7CKCw.js} +1 -1
- package/cli/dist/web-ui/assets/{TracesView-BagVLm59.js → TracesView-4MhXOs0J.js} +1 -1
- package/cli/dist/web-ui/assets/{WorkersView-CFhFpbFC.js → WorkersView-B5SyD2xB.js} +1 -1
- package/cli/dist/web-ui/assets/{abnfDiagram-O67JEVCF-BbyhIfaI.js → abnfDiagram-O67JEVCF-luL6Qe5x.js} +1 -1
- package/cli/dist/web-ui/assets/architecture-7GRP2DOG-CVyCykh_.js +1 -0
- package/cli/dist/web-ui/assets/{architectureDiagram-NJMV4G6O-DxDD6eVt.js → architectureDiagram-NJMV4G6O-CXZjweyd.js} +1 -1
- package/cli/dist/web-ui/assets/{blockDiagram-BEXU5L5S-DTRa2Tb9.js → blockDiagram-BEXU5L5S-DceMcN-6.js} +1 -1
- package/cli/dist/web-ui/assets/{c4Diagram-YGBWAQC7--r-yED_M.js → c4Diagram-YGBWAQC7-Chr6hcY4.js} +1 -1
- package/cli/dist/web-ui/assets/{canvas-store-BpQ38Vml.js → canvas-store-CLGZ388s.js} +1 -1
- package/cli/dist/web-ui/assets/channel-pxcszUh2.js +1 -0
- package/cli/dist/web-ui/assets/{chunk-3FUC2YCW-CrLNasJM.js → chunk-3FUC2YCW-BRXxiofJ.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-5DYCD2WN-BvGB0nx-.js → chunk-5DYCD2WN-BJidDn4j.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-742MDFTN-BTBNbBjA.js → chunk-742MDFTN-D8PKsc6_.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-7INBJB4K-CnYo9mzQ.js → chunk-7INBJB4K-0OOQXMSm.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-7M6MHVWA-ChPc3AIy.js → chunk-7M6MHVWA-CinmEwpu.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-7PRAP22T-BWJP0sRU.js → chunk-7PRAP22T-D0WpyU-H.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-GTNCS2PH-BWIt5JBZ.js → chunk-GTNCS2PH-NNZzPISm.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-GWA4HPMP-DPP9EzOc.js → chunk-GWA4HPMP-CVQtrfg2.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-MBY4JIJT-WW7QGbUd.js → chunk-MBY4JIJT-B2Fs2skV.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-NETBCI7D-DvHPTWgP.js → chunk-NETBCI7D-DS15Lcf7.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-O7XYJQB3-DNIHMsy6.js → chunk-O7XYJQB3-irIWVhcH.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-UA2S7LBM-FmyRAjon.js → chunk-UA2S7LBM-DHv_5vdC.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-WEXAMYUT-DPGJtaXE.js → chunk-WEXAMYUT-DTnPpX3o.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-Z7XXMR3K-xCwg-Yew.js → chunk-Z7XXMR3K-CL6QEwjv.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-ZIGJFQKS-C33Iz6Fl.js → chunk-ZIGJFQKS-D-9hFu_x.js} +1 -1
- package/cli/dist/web-ui/assets/{classDiagram-v2-NBCMYWYE-CYRZjfMU.js → classDiagram-v2-NBCMYWYE-BGpw8OWR.js} +1 -1
- package/cli/dist/web-ui/assets/{cssMode-ClDS6DMb.js → cssMode-DYH1pn7V.js} +1 -1
- package/cli/dist/web-ui/assets/{cynefin-OW5HDTMX-BZMPI_-L.js → cynefin-OW5HDTMX-BwDHcOb3.js} +1 -1
- package/cli/dist/web-ui/assets/{cynefinDiagram-VND7K2PF-xv7006O3.js → cynefinDiagram-VND7K2PF-C04bh7p8.js} +1 -1
- package/cli/dist/web-ui/assets/{dagre-6A5THRUB-BaA5Prow.js → dagre-6A5THRUB-Dea8s6xE.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-22UHCM2B-CLPFfA4R.js → diagram-22UHCM2B-DJVauquX.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-3UASUU5V-DX9eVGvg.js → diagram-3UASUU5V-C7-A4v72.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-ATOU4E4O-C6tAUS3M.js → diagram-ATOU4E4O-7B6YBDOj.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-CDSNMT55-C4bjVjgp.js → diagram-CDSNMT55-DMAwoRXf.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-MLGK6HIB--R4pb2v7.js → diagram-MLGK6HIB-CNB_vlIZ.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-MPIPVDR6-DBZrcvRV.js → diagram-MPIPVDR6-hyhLuNp3.js} +1 -1
- package/cli/dist/web-ui/assets/{ebnfDiagram-ZINNZB2B-guH8XqK5.js → ebnfDiagram-ZINNZB2B-CJWaxsG5.js} +1 -1
- package/cli/dist/web-ui/assets/{editor-store-B581kWHa.js → editor-store-BxjPLrr9.js} +1 -1
- package/cli/dist/web-ui/assets/{editor.main-BDJb4JDA.js → editor.main-Czm6gHJH.js} +2 -2
- package/cli/dist/web-ui/assets/{elk-276RUBZZ-CeiKMULj.js → elk-276RUBZZ-D5Y00SxR.js} +1 -1
- package/cli/dist/web-ui/assets/{erDiagram-OPXOYQCR-sBAqBzrO.js → erDiagram-OPXOYQCR-BmYHBZJv.js} +1 -1
- package/cli/dist/web-ui/assets/eventmodeling-NTZA5JFV-D5vLpI9F.js +1 -0
- package/cli/dist/web-ui/assets/flowDiagram-KWPJA3E3-Cf58WNhf.js +1 -0
- package/cli/dist/web-ui/assets/{ganttDiagram-FUAMR5RP-C6_HpREX.js → ganttDiagram-FUAMR5RP-DbhB40jH.js} +1 -1
- package/cli/dist/web-ui/assets/{gitGraph-4MIJSDKK-BXoSq3Gg.js → gitGraph-4MIJSDKK-mjDyHNS1.js} +1 -1
- package/cli/dist/web-ui/assets/{gitGraphDiagram-X574FWY7-CGtaH2jU.js → gitGraphDiagram-X574FWY7-D7jHGUGu.js} +1 -1
- package/cli/dist/web-ui/assets/{htmlMode-D5olfuMo.js → htmlMode-BSBNaQvK.js} +1 -1
- package/cli/dist/web-ui/assets/{index-ClsikMuk.js → index-BtMp20L0.js} +6 -6
- package/cli/dist/web-ui/assets/{info-A6RAGUB7-DEwLfJ7B.js → info-A6RAGUB7-yf2Iyt5X.js} +1 -1
- package/cli/dist/web-ui/assets/{infoDiagram-VRGFBTTK-DCSOdK6X.js → infoDiagram-VRGFBTTK-CmWWZT96.js} +1 -1
- package/cli/dist/web-ui/assets/{ishikawaDiagram-OU5B5YK6-BseHnvYw.js → ishikawaDiagram-OU5B5YK6-NcOpKVNl.js} +1 -1
- package/cli/dist/web-ui/assets/{journeyDiagram-ZHPQQLJL-BRxQJTqW.js → journeyDiagram-ZHPQQLJL-dY4w9tp1.js} +1 -1
- package/cli/dist/web-ui/assets/{jsonMode-Cg5YHEwQ.js → jsonMode-BUaimt20.js} +1 -1
- package/cli/dist/web-ui/assets/{kanban-definition-PNTS6WVX-KI9YMfJk.js → kanban-definition-PNTS6WVX-BctMsDJJ.js} +1 -1
- package/cli/dist/web-ui/assets/{line-DprNiO-0.js → line-BYkTAP3U.js} +1 -1
- package/cli/dist/web-ui/assets/loader-circle-wVK1RLLa.js +1 -0
- package/cli/dist/web-ui/assets/{mermaid-parser.core-GTP4u3FU.js → mermaid-parser.core-BLRTQ_8m.js} +3 -3
- package/cli/dist/web-ui/assets/{mermaid.core-CNUJl-CG.js → mermaid.core-DGYOOYu5.js} +4 -4
- package/cli/dist/web-ui/assets/{mindmap-definition-NLK3R4M7-C2PcP9ry.js → mindmap-definition-NLK3R4M7-DtFEhmgs.js} +1 -1
- package/cli/dist/web-ui/assets/{packet-AYTQ26CC-CZLuLwvG.js → packet-AYTQ26CC-DG8Ws-Q6.js} +1 -1
- package/cli/dist/web-ui/assets/{pegDiagram-GJSIUBJH-Bm2hR9le.js → pegDiagram-GJSIUBJH-C1B_R8sV.js} +1 -1
- package/cli/dist/web-ui/assets/{pie-WAS4IAKB-CRzoh5ox.js → pie-WAS4IAKB-WpUKIR_Y.js} +1 -1
- package/cli/dist/web-ui/assets/{pieDiagram-5QR66LMP-CTJ2r9nd.js → pieDiagram-5QR66LMP-C7VoNMU4.js} +1 -1
- package/cli/dist/web-ui/assets/power-BNRlQx4o.js +1 -0
- package/cli/dist/web-ui/assets/{quadrantDiagram-O4NWA36T-CTKetN5z.js → quadrantDiagram-O4NWA36T-CXYTQ4y2.js} +1 -1
- package/cli/dist/web-ui/assets/{radar-RG4KPBEZ-DXjTvI5t.js → radar-RG4KPBEZ-C3VHLzXv.js} +1 -1
- package/cli/dist/web-ui/assets/{railroad-74A4TZTK-BDdQn4Gc.js → railroad-74A4TZTK-Py_5hLH_.js} +1 -1
- package/cli/dist/web-ui/assets/railroad-abnf-HS5TGJTU-CqoDhjmj.js +1 -0
- package/cli/dist/web-ui/assets/railroad-ebnf-LZEXJU2U-DUWdDy3z.js +1 -0
- package/cli/dist/web-ui/assets/railroad-peg-WCYAUIDC-Co6yi1zs.js +1 -0
- package/cli/dist/web-ui/assets/{railroadDiagram-XR7U4H2S-B_YntG1t.js → railroadDiagram-XR7U4H2S-5OEyONOk.js} +1 -1
- package/cli/dist/web-ui/assets/{requirementDiagram-PLB6GJNP-CDjL2cNi.js → requirementDiagram-PLB6GJNP-DUJYTLHd.js} +1 -1
- package/cli/dist/web-ui/assets/{sankeyDiagram-IPEJSGJF-qXJEVvf1.js → sankeyDiagram-IPEJSGJF-Bedevch2.js} +1 -1
- package/cli/dist/web-ui/assets/{sequenceDiagram-PO4LG4MO-l-r7gLpE.js → sequenceDiagram-PO4LG4MO-pgraPAoD.js} +1 -1
- package/cli/dist/web-ui/assets/{server-O9q4QgxP.js → server-Ccbyj1qh.js} +1 -1
- package/cli/dist/web-ui/assets/{sidebar-store-BI5HJsXT.js → sidebar-store-Rkdixr53.js} +1 -1
- package/cli/dist/web-ui/assets/{stateDiagram-v2-GCMORJYK-IswgvzFJ.js → stateDiagram-v2-GCMORJYK-DALpfmXP.js} +1 -1
- package/cli/dist/web-ui/assets/{swimlanes-2SLR337P-JwNdJjRm.js → swimlanes-2SLR337P-DYo2RgRV.js} +1 -1
- package/cli/dist/web-ui/assets/swimlanesDiagram-TC7HE7FX-Dxiovvmi.js +8 -0
- package/cli/dist/web-ui/assets/{terminal-store-DxSL6lew.js → terminal-store-DOTQJFag.js} +1 -1
- package/cli/dist/web-ui/assets/{theme-store-B-x3NJPZ.js → theme-store-7kL2_Dih.js} +1 -1
- package/cli/dist/web-ui/assets/{timeline-definition-EJHVYXUP-DZbLKd2p.js → timeline-definition-EJHVYXUP-teGYk-dY.js} +1 -1
- package/cli/dist/web-ui/assets/{timer-CPkvO7Hr.js → timer-DsflRbuo.js} +1 -1
- package/cli/dist/web-ui/assets/{treeView-Q6P3EWNA-ClDx_xC6.js → treeView-Q6P3EWNA-DsuuN89d.js} +1 -1
- package/cli/dist/web-ui/assets/{treemap-WGGIJYW6-RDLtBb4P.js → treemap-WGGIJYW6-BqqhgGGn.js} +1 -1
- package/cli/dist/web-ui/assets/{triangle-alert-RxeG6BcU.js → triangle-alert-BL4rmdOu.js} +1 -1
- package/cli/dist/web-ui/assets/{tsMode-D4E8Qd-x.js → tsMode-B6SPhuNF.js} +1 -1
- package/cli/dist/web-ui/assets/{use-i18n-BCKBlfpd.js → use-i18n-BvJYl_9l.js} +1 -1
- package/cli/dist/web-ui/assets/{usecaseDiagram-POWQR4AR-DEfQU35o.js → usecaseDiagram-POWQR4AR-2sD6xPnt.js} +1 -1
- package/cli/dist/web-ui/assets/{vennDiagram-UO4OBE2U-C4yxYnjL.js → vennDiagram-UO4OBE2U-DHLn-BEs.js} +1 -1
- package/cli/dist/web-ui/assets/{wardley-WFR3VGLG-wNwnrEey.js → wardley-WFR3VGLG-BD5dMb6v.js} +1 -1
- package/cli/dist/web-ui/assets/{wardleyDiagram-VNRHLVJA-nrPZlF5q.js → wardleyDiagram-VNRHLVJA-6V8TM6o7.js} +1 -1
- package/cli/dist/web-ui/assets/{workspace-dock-store-5JIgHIqh.js → workspace-dock-store-D1kqgYR-.js} +1 -1
- package/cli/dist/web-ui/assets/{xychartDiagram-PMCCYNJV-BXJAFZRI.js → xychartDiagram-PMCCYNJV-B5wGEmv3.js} +1 -1
- package/cli/dist/web-ui/assets/{zap-JdzyzkaE.js → zap-u2SXZ7au.js} +1 -1
- package/cli/dist/web-ui/index.html +9 -9
- package/cli/dist/web-ui/sw.js +1 -1
- package/cli/dist-server/2701.codebuddy.js +2 -2
- package/cli/dist-server/3080.codebuddy.js +1 -1
- package/cli/dist-server/3163.codebuddy.js +1 -1
- package/cli/dist-server/codebuddy.js +41 -39
- package/cli/dist-server/types/node/agent-task/agent-task.d.ts +1 -0
- package/cli/dist-server/types/node/permission/brokered-sandbox/host-service.d.ts +1 -0
- package/cli/dist-server/types/node/permission/sandbox-orchestrator.d.ts +2 -1
- package/cli/dist-server/types/node/server/formats/acp/acp-trace-context.d.ts +2 -0
- package/cli/dist-server/types/node/server/types.d.ts +8 -1
- package/cli/dist-server/types/node/utils/clipboard-utils.d.ts +1 -1
- package/cli/dist-server/types/node/utils/image-preparation-guard.d.ts +5 -1
- package/cli/dist-server/types/node/utils/request-scene.d.ts +5 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/history-utils.d.ts +33 -8
- package/cli/dist-server/types/vendor/cbc-core/node/utils/input-item-utils.d.ts +27 -0
- package/cli/package.json +4 -4
- package/cli/product.cloudhosted.json +2 -2
- package/cli/product.internal.json +2 -2
- package/cli/product.ioa.json +2 -2
- package/cli/product.json +2 -2
- package/cli/product.selfhosted.json +2 -2
- package/package.json +1 -1
- package/cli/dist/web-ui/assets/architecture-7GRP2DOG-CHYM9JTs.js +0 -1
- package/cli/dist/web-ui/assets/channel-DtDG5p59.js +0 -1
- package/cli/dist/web-ui/assets/eventmodeling-NTZA5JFV-PAdtPpRo.js +0 -1
- package/cli/dist/web-ui/assets/flowDiagram-KWPJA3E3-EJkyCIxy.js +0 -1
- package/cli/dist/web-ui/assets/loader-circle-1kyJNWeb.js +0 -1
- package/cli/dist/web-ui/assets/power-CbA3xFVD.js +0 -1
- package/cli/dist/web-ui/assets/railroad-abnf-HS5TGJTU-C9Q7Ymc5.js +0 -1
- package/cli/dist/web-ui/assets/railroad-ebnf-LZEXJU2U-Bg_FzoOI.js +0 -1
- package/cli/dist/web-ui/assets/railroad-peg-WCYAUIDC-cvFGmoWK.js +0 -1
- package/cli/dist/web-ui/assets/swimlanesDiagram-TC7HE7FX-Bopn2-Vs.js +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-
|
|
2
|
-
import{i as e,r as t}from"./rolldown-runtime-Dd_uD5pT.js";import{$ as n,A as r,At as i,B as a,Bt as o,C as s,Ct as c,D as l,Dt as u,E as d,Et as f,F as p,Ft as m,Gt as h,H as g,Ht as _,I as v,It as y,Jt as b,K as x,Kt as S,L as C,Lt as w,M as T,Mt as E,N as D,Nt as ee,O,Ot as k,P as A,Pt as te,Q as j,R as ne,Rt as re,S as ie,St as M,T as ae,Tt as N,U as oe,Ut as se,V as ce,Vt as le,Wt as P,Xt as F,Y as ue,Yt as de,Z as fe,_ as pe,_t as me,a as he,at as ge,b as I,bt as _e,c as ve,d as ye,dt as be,f as xe,ft as Se,g as Ce,gt as we,h as Te,ht as Ee,i as L,it as De,j as Oe,jt as ke,k as Ae,kt as je,l as Me,lt as Ne,m as Pe,mt as Fe,n as Ie,nt as Le,o as Re,ot as ze,p as Be,pt as Ve,q as He,qt as Ue,r as We,rt as Ge,s as Ke,st as qe,t as R,tt as Je,u as Ye,ut as Xe,v as Ze,vt as Qe,w as z,wt as $e,x as et,xt as tt,y as nt,yt as rt,z as it,zt as at}from"./use-i18n-BCKBlfpd.js";import{a as ot,c as st,l as ct,n as lt,o as ut,r as dt,s as ft,t as pt,u as mt}from"./markdown-DCKhnxE9.js";import{t as ht}from"./theme-store-B-x3NJPZ.js";import{n as gt,t as _t}from"./vendor-D7d5DZKE.js";import{c as vt,i as yt,m as bt,p as xt,r as St,s as Ct}from"./terminal-store-DxSL6lew.js";import{d as wt,m as Tt,u as Et}from"./editor-store-B581kWHa.js";import{t as Dt}from"./loader-circle-1kyJNWeb.js";import{t as Ot}from"./triangle-alert-RxeG6BcU.js";import{i as kt,n as At,r as jt,t as Mt}from"./workspace-dock-store-5JIgHIqh.js";import{A as Nt,C as Pt,D as Ft,E as It,M as Lt,N as Rt,O as zt,S as Bt,T as Vt,a as Ht,b as Ut,c as Wt,d as Gt,f as Kt,g as qt,i as Jt,j as Yt,k as Xt,l as Zt,m as Qt,n as B,o as $t,p as en,r as tn,s as nn,t as rn,u as an,v as on,w as sn,x as cn,y as ln}from"./HoverHint-D2G73lbr.js";import{_ as un,c as dn,d as fn,f as pn,g as mn,h as hn,i as gn,l as _n,p as vn,s as yn,t as bn,u as xn,v as Sn,y as Cn}from"./composer-selection-ulujmy_S.js";import{t as wn}from"./sidebar-store-BI5HJsXT.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),i();var V=e(mt(),1),Tn=_t();Ke.subscribe((e,t)=>{e.folder&&t.folder&&e.folder!==t.folder&&(wt.getState().setRootPath(e.folder),Et.getState().setRootPath(e.folder))});function En(){let e=Ke.getState().folder,t=wt.getState().rootPath,n=ve.getState().info?.cwd??null,r=e||t||n;r!==Tt.getState().cwd&&Tt.setState({cwd:r})}wt.subscribe((e,t)=>{e.rootPath!==t.rootPath&&En()}),Ke.subscribe((e,t)=>{e.folder!==t.folder&&En()}),ve.subscribe(En),En();var Dn=L(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),On=L(`arrow-down-left`,[[`path`,{d:`M17 7 7 17`,key:`15tmo1`}],[`path`,{d:`M17 17H7V7`,key:`1org7z`}]]),kn=L(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),An=L(`arrow-left-right`,[[`path`,{d:`M8 3 4 7l4 4`,key:`9rb6wj`}],[`path`,{d:`M4 7h16`,key:`6tx8e3`}],[`path`,{d:`m16 21 4-4-4-4`,key:`siv7j2`}],[`path`,{d:`M20 17H4`,key:`h6l3hr`}]]),jn=L(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),Mn=L(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]),Nn=L(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Pn=L(`blocks`,[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`,key:`1ah6g2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`,key:`88lufb`}]]),Fn=L(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),In=L(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),Ln=L(`chart-column`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M18 17V9`,key:`2bz60n`}],[`path`,{d:`M13 17V5`,key:`1frdt8`}],[`path`,{d:`M8 17v-3`,key:`17ska0`}]]),Rn=L(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),zn=L(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Bn=L(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Vn=L(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),Hn=L(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Un=L(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),Wn=L(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Gn=L(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Kn=L(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]),qn=L(`circle-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`,key:`1pfsoa`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`,key:`1ablyi`}]]),Jn=L(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Yn=L(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),Xn=L(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Zn=L(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Qn=L(`clipboard-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v.832`,key:`1ujtp2`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`,key:`qvpao1`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]),$n=L(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),er=L(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),tr=L(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),nr=L(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),rr=L(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),ir=L(`columns-2`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M12 3v18`,key:`108xh3`}]]),ar=L(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),or=L(`corner-down-left`,[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]),sr=L(`corner-down-right`,[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]),cr=L(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),lr=L(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),ur=L(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),dr=L(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),fr=L(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),pr=L(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),mr=L(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),hr=L(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),gr=L(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),_r=L(`file-up`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]),vr=L(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),yr=L(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),br=L(`folder-closed`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]),xr=L(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),Sr=L(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Cr=L(`folder-search`,[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`,key:`1bw5m7`}],[`path`,{d:`m21 21-1.9-1.9`,key:`1g2n9r`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}]]),wr=L(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Tr=L(`forward`,[[`path`,{d:`m15 17 5-5-5-5`,key:`nf172w`}],[`path`,{d:`M4 18v-2a4 4 0 0 1 4-4h12`,key:`jmiej9`}]]),Er=L(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Dr=L(`git-compare`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`,key:`19pyzm`}]]),Or=L(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),kr=L(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),Ar=L(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),jr=L(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),Mr=L(`history`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),Nr=L(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),Pr=L(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),Fr=L(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Ir=L(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),Lr=L(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),Rr=L(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),zr=L(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),Br=L(`list-plus`,[[`path`,{d:`M16 5H3`,key:`m91uny`}],[`path`,{d:`M11 12H3`,key:`51ecnj`}],[`path`,{d:`M16 19H3`,key:`zzsher`}],[`path`,{d:`M18 9v6`,key:`1twb98`}],[`path`,{d:`M21 12h-6`,key:`bt1uis`}]]),Vr=L(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Hr=L(`lock-keyhole`,[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]),Ur=L(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),Wr=L(`map`,[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`,key:`169xi5`}],[`path`,{d:`M15 5.764v15`,key:`1pn4in`}],[`path`,{d:`M9 3.236v15`,key:`1uimfh`}]]),Gr=L(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Kr=L(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),qr=L(`message-circle`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}]]),Jr=L(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),Yr=L(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),Xr=L(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),Zr=L(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Qr=L(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),$r=L(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),ei=L(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),ti=L(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),ni=L(`panel-right-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m8 9 3 3-3 3`,key:`12hl5m`}]]),ri=L(`panel-right-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m10 15-3-3 3-3`,key:`1pgupc`}]]),ii=L(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),ai=L(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),oi=L(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),si=L(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),ci=L(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),li=L(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),ui=L(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),di=L(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),fi=L(`quote`,[[`path`,{d:`M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`,key:`rib7q0`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`,key:`1ymkrd`}]]),pi=L(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),mi=L(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),hi=L(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),gi=L(`rows-2`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}]]),_i=L(`scan`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]),vi=L(`scissors`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M8.12 8.12 12 12`,key:`1alkpv`}],[`path`,{d:`M20 4 8.12 15.88`,key:`xgtan2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M14.8 14.8 20 20`,key:`ptml3r`}]]),yi=L(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),bi=L(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),xi=L(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),Si=L(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Ci=L(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),wi=L(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Ti=L(`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`}]]),Ei=L(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),Di=L(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),Oi=L(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),ki=L(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Ai=L(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),ji=L(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Mi=L(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Ni=L(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),Pi=L(`user-minus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),Fi=L(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),Ii=L(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Li=L(`workflow`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]),Ri=L(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),zi=L(`zoom-in`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`,key:`1vmskp`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),Bi=L(`zoom-out`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]);function Vi(e,t){return!e||!t||!t.sessionId?!1:e.isBoundTo(t.baseUrl,t.sessionId)}function Hi(e){let{state:t,target:n,client:r}=e;return Vi(r,n)?`adopt`:t.phase===`binding`&&t.target&&O(t.target)===O(n)?`noop`:`bind`}function Ui(e,t){return!e||!t?e===t:e.kind===t.kind&&z(e.baseUrl,t.baseUrl)&&e.sessionId===t.sessionId&&(e.jobId??null)===(t.jobId??null)}function Wi(e,t){return!e||t&&e.epoch!==t?null:e}var Gi=class{generation=0;latest=null;get currentTicket(){return this.latest}begin(e){this.generation+=1;let t={generation:this.generation,key:O(e),target:e};return this.latest=t,t}isCurrent(e){return!!e&&this.latest?.generation===e.generation}finish(e){e&&this.latest?.generation===e.generation&&(this.latest=null)}invalidate(){this.generation+=1,this.latest=null}},Ki=qe(e=>({phase:`idle`,target:null,error:null,generation:0,markBinding:(t,n)=>e({phase:`binding`,target:t,error:null,generation:n}),markAttached:(t,n)=>e({phase:`attached`,target:t,error:null,generation:n}),markSuspended:(t,n)=>e({phase:`suspended`,error:t,generation:n}),adoptTarget:t=>e(e=>({phase:e.phase===`binding`?`binding`:`attached`,target:t,error:null})),reset:()=>e({phase:`idle`,target:null,error:null})})),qi=/^\s*\/_?compact(?:\s|$)/i,Ji=/<command-name>\s*\/_?compact\s*<\/command-name>/i,Yi=/^\s*(?:```(?:xml)?\s*)?<conversation_history_summary\b[^>]*>/i,Xi=/<summary\b[^>]*>/i,Zi=/<\/summary\s*>/i,Qi=/<\/conversation_history_summary\s*>/i;function $i(e){return e.replace(/&(#(?:x[0-9a-f]+|\d+)|amp|lt|gt|quot|apos);/gi,(e,t)=>{let n=t.toLowerCase();if(n===`amp`)return`&`;if(n===`lt`)return`<`;if(n===`gt`)return`>`;if(n===`quot`)return`"`;if(n===`apos`)return`'`;let r=n.startsWith(`#x`)?16:10,i=Number.parseInt(n.slice(r===16?2:1),r);return Number.isFinite(i)&&i>=0&&i<=1114111?String.fromCodePoint(i):e})}function ea(e){return e?qi.test(e)||Ji.test(e):!1}function ta(e){return!!e&&Yi.test(e)}function na(e){return!!e&&ta(e)&&(Zi.test(e)||Qi.test(e))}function ra(e){return e.isCompactInternal===!0||e.role===`user`&&ea(e.content)||e.role===`assistant`&&ta(e.content)}function ia(e){if(!e||!ta(e))return;let t=Xi.exec(e);if(!t)return;let n=t.index+t[0].length,r=e.slice(n),i=Zi.exec(r),a=Qi.exec(r),o=i?.index??a?.index??r.length,s=r.slice(0,o).trim();if(s)return $i(s)}function aa(e){let t=[...e.matchAll(/<channel\s+([^>]*)>([\s\S]*?)<\/channel>/g)].at(-1);if(!t)return;let n={},r=/(\w+)="([^"]*)"/g,i;for(;(i=r.exec(t[1]))!==null;)n[i[1]]=i[2];let a=n.source;if(!a)return;let o;return(n.chattype===`group`||n.chattype===`single`)&&(o=n.chattype),{channel:{source:a,sender:n.sender||n.user||``,senderName:n.user&&n.user!==n.sender?n.user:void 0,chatId:n.chat_id,chatType:o},content:t[2].trim()}}var oa=10485760,sa=2048,ca=Math.ceil(oa*4/3)+128,la=/@(?:(?:"((?:\\.|[^"\\])*)")|([A-Za-z0-9_./-]+))/g,ua=new Set([`.png`,`.jpg`,`.jpeg`,`.gif`,`.webp`,`.bmp`]),da=new Set([`image/png`,`image/jpeg`,`image/jpg`,`image/gif`,`image/webp`,`image/bmp`]),fa=[`/dev/`,`/proc/`,`/sys/`,`/etc/`,`/root/`,`/private/etc/`,`/private/var/root/`],pa=/<image_local_path>\s*([\s\S]*?)\s*<\/image_local_path>/gi,ma=/!\[[^\]]*]\(\s*<?([^)\s>]+)>?/g,ha=/`([^`\n]{1,512})`/g,ga=/```[^\n]*\n[\s\S]*?```/g,_a=/^[A-Za-z]:\//;function va(e){if(!e)return!1;let t=e.split(`;`)[0].trim().toLowerCase();return da.has(t)}function ya(e){switch(Ua(e)){case`.png`:return`image/png`;case`.jpg`:case`.jpeg`:return`image/jpeg`;case`.gif`:return`image/gif`;case`.webp`:return`image/webp`;case`.bmp`:return`image/bmp`;default:return}}function ba(e){return e.length<4?!1:e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71||e[0]===255&&e[1]===216&&e[2]===255||e[0]===71&&e[1]===73&&e[2]===70&&e[3]===56||e[0]===66&&e[1]===77||e.length>=12&&e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80}function xa(e){if(!e)return!1;let t=e.split(`;`)[0].trim().toLowerCase();return t.includes(`svg`)||t.includes(`html`)||t.includes(`xml`)||t.includes(`javascript`)}function Sa(e,t){let n=e.trim();if(!n||n.length>512)return null;if(n=n.replace(/^['"]|['"]$/g,``),n.toLowerCase().startsWith(`file://`)){try{n=decodeURIComponent(n.slice(7))}catch{n=n.slice(7)}n.toLowerCase().startsWith(`localhost`)&&(n=n.slice(9)),n.startsWith(`///`)&&(n=n.slice(2))}return n=n.replace(/\\/g,`/`),n=n.replace(/[.,;:!?。,、))\]}>]+$/u,``),n.startsWith(`//`)||(/^\/[A-Za-z]:\//.test(n)&&(n=n.slice(1)),_a.test(n)&&(n=`${n[0].toUpperCase()}${n.slice(1)}`),!za(n)||n.includes(`\0`)||n.includes(`..`))||(t?.requireImageExt??!0)&&!ua.has(Ua(n))||Ha(n)?null:n}function Ca(e,t){let n=Ba(e);return n.size===0?Wa(t):Wa(t).filter(e=>!n.has(Va(e)))}function wa(e){let t=[],n=new RegExp(ha.source,`g`),r;for(;(r=n.exec(e.replace(ga,`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-DGYOOYu5.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-oBChb5qS.js","assets/chunk-O7XYJQB3-irIWVhcH.js","assets/chunk-ZIGJFQKS-D-9hFu_x.js","assets/dist-B_J_HbC0.js","assets/chunk-742MDFTN-D8PKsc6_.js","assets/chunk-MBY4JIJT-B2Fs2skV.js","assets/chunk-DUW6YSOI-Dgx8z5s3.js","assets/chunk-7PRAP22T-D0WpyU-H.js","assets/chunk-7INBJB4K-0OOQXMSm.js","assets/chunk-J5ZVWO5B-oDCd-gWO.js","assets/rough.esm-Dy-Kn_BL.js","assets/chunk-5DYCD2WN-BJidDn4j.js","assets/chunk-Z7XXMR3K-CL6QEwjv.js","assets/line-BYkTAP3U.js","assets/path-fybaL0A-.js","assets/array-BifhSqXX.js","assets/chunk-UA2S7LBM-DHv_5vdC.js","assets/browserify-C-6GKAAm.js","assets/editor.main-Czm6gHJH.js","assets/editor.api2-CdxXemhu.js","assets/editor-DOgAgpTS.css","assets/TerminalPaneView-Cs-7CKCw.js","assets/use-i18n-BvJYl_9l.js","assets/markdown-DCKhnxE9.js","assets/markdown-DEcVZfaU.css","assets/theme-store-7kL2_Dih.js","assets/vendor-D7d5DZKE.js","assets/terminal-store-DOTQJFag.js","assets/editor-store-BxjPLrr9.js","assets/loader-circle-wVK1RLLa.js","assets/composer-selection-ulujmy_S.js","assets/SettingsView-D2wIPOBw.js","assets/HoverHint-D2G73lbr.js","assets/CanvasPaneStandaloneView-CDO7isWn.js","assets/canvas-store-CLGZ388s.js","assets/CanvasView-DJNkeBGK.js","assets/ChangesView-fCuIktEK.js","assets/SplitContainer-DlEN5H4s.js","assets/DocsView-B79hLvzs.js","assets/EditorView-7YnlryBL.js","assets/workspace-dock-store-D1kqgYR-.js","assets/sidebar-store-Rkdixr53.js","assets/KeybindingsView-CIDkpkAb.js","assets/LogsView-Bcv52scT.js","assets/one-light-B9flS40H.js","assets/MetricsView-DUSiPsda.js","assets/server-Ccbyj1qh.js","assets/PluginsView-BTOCj9co.js","assets/power-BNRlQx4o.js","assets/triangle-alert-BL4rmdOu.js","assets/RemoteControlView-YqmY0vro.js","assets/StatsView-C7iB42TQ.js","assets/timer-DsflRbuo.js","assets/zap-u2SXZ7au.js","assets/TasksView-CKm5dh4d.js","assets/TracesView-4MhXOs0J.js","assets/WorkersView-B5SyD2xB.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e,r as t}from"./rolldown-runtime-Dd_uD5pT.js";import{$ as n,A as r,At as i,B as a,Bt as o,C as s,Ct as c,D as l,Dt as u,E as d,Et as f,F as p,Ft as m,Gt as h,H as g,Ht as _,I as v,It as y,Jt as b,K as x,Kt as S,L as C,Lt as w,M as T,Mt as E,N as D,Nt as ee,O,Ot as k,P as A,Pt as te,Q as j,R as ne,Rt as re,S as ie,St as M,T as ae,Tt as N,U as oe,Ut as se,V as ce,Vt as le,Wt as P,Xt as F,Y as ue,Yt as de,Z as fe,_ as pe,_t as me,a as he,at as ge,b as I,bt as _e,c as ve,d as ye,dt as be,f as xe,ft as Se,g as Ce,gt as we,h as Te,ht as Ee,i as L,it as De,j as Oe,jt as ke,k as Ae,kt as je,l as Me,lt as Ne,m as Pe,mt as Fe,n as Ie,nt as Le,o as Re,ot as ze,p as Be,pt as Ve,q as He,qt as Ue,r as We,rt as Ge,s as Ke,st as qe,t as R,tt as Je,u as Ye,ut as Xe,v as Ze,vt as Qe,w as z,wt as $e,x as et,xt as tt,y as nt,yt as rt,z as it,zt as at}from"./use-i18n-BvJYl_9l.js";import{a as ot,c as st,l as ct,n as lt,o as ut,r as dt,s as ft,t as pt,u as mt}from"./markdown-DCKhnxE9.js";import{t as ht}from"./theme-store-7kL2_Dih.js";import{n as gt,t as _t}from"./vendor-D7d5DZKE.js";import{c as vt,i as yt,m as bt,p as xt,r as St,s as Ct}from"./terminal-store-DOTQJFag.js";import{d as wt,m as Tt,u as Et}from"./editor-store-BxjPLrr9.js";import{t as Dt}from"./loader-circle-wVK1RLLa.js";import{t as Ot}from"./triangle-alert-BL4rmdOu.js";import{i as kt,n as At,r as jt,t as Mt}from"./workspace-dock-store-D1kqgYR-.js";import{A as Nt,C as Pt,D as Ft,E as It,M as Lt,N as Rt,O as zt,S as Bt,T as Vt,a as Ht,b as Ut,c as Wt,d as Gt,f as Kt,g as qt,i as Jt,j as Yt,k as Xt,l as Zt,m as Qt,n as B,o as $t,p as en,r as tn,s as nn,t as rn,u as an,v as on,w as sn,x as cn,y as ln}from"./HoverHint-D2G73lbr.js";import{_ as un,c as dn,d as fn,f as pn,g as mn,h as hn,i as gn,l as _n,p as vn,s as yn,t as bn,u as xn,v as Sn,y as Cn}from"./composer-selection-ulujmy_S.js";import{t as wn}from"./sidebar-store-Rkdixr53.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),i();var V=e(mt(),1),Tn=_t();Ke.subscribe((e,t)=>{e.folder&&t.folder&&e.folder!==t.folder&&(wt.getState().setRootPath(e.folder),Et.getState().setRootPath(e.folder))});function En(){let e=Ke.getState().folder,t=wt.getState().rootPath,n=ve.getState().info?.cwd??null,r=e||t||n;r!==Tt.getState().cwd&&Tt.setState({cwd:r})}wt.subscribe((e,t)=>{e.rootPath!==t.rootPath&&En()}),Ke.subscribe((e,t)=>{e.folder!==t.folder&&En()}),ve.subscribe(En),En();var Dn=L(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),On=L(`arrow-down-left`,[[`path`,{d:`M17 7 7 17`,key:`15tmo1`}],[`path`,{d:`M17 17H7V7`,key:`1org7z`}]]),kn=L(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),An=L(`arrow-left-right`,[[`path`,{d:`M8 3 4 7l4 4`,key:`9rb6wj`}],[`path`,{d:`M4 7h16`,key:`6tx8e3`}],[`path`,{d:`m16 21 4-4-4-4`,key:`siv7j2`}],[`path`,{d:`M20 17H4`,key:`h6l3hr`}]]),jn=L(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),Mn=L(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]),Nn=L(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Pn=L(`blocks`,[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`,key:`1ah6g2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`,key:`88lufb`}]]),Fn=L(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),In=L(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),Ln=L(`chart-column`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M18 17V9`,key:`2bz60n`}],[`path`,{d:`M13 17V5`,key:`1frdt8`}],[`path`,{d:`M8 17v-3`,key:`17ska0`}]]),Rn=L(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),zn=L(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Bn=L(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Vn=L(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),Hn=L(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Un=L(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),Wn=L(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Gn=L(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Kn=L(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]),qn=L(`circle-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`,key:`1pfsoa`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`,key:`1ablyi`}]]),Jn=L(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Yn=L(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),Xn=L(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Zn=L(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Qn=L(`clipboard-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v.832`,key:`1ujtp2`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`,key:`qvpao1`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]),$n=L(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),er=L(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),tr=L(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),nr=L(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),rr=L(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),ir=L(`columns-2`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M12 3v18`,key:`108xh3`}]]),ar=L(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),or=L(`corner-down-left`,[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]),sr=L(`corner-down-right`,[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]),cr=L(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),lr=L(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),ur=L(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),dr=L(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),fr=L(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),pr=L(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),mr=L(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),hr=L(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),gr=L(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),_r=L(`file-up`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]),vr=L(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),yr=L(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),br=L(`folder-closed`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]),xr=L(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),Sr=L(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Cr=L(`folder-search`,[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`,key:`1bw5m7`}],[`path`,{d:`m21 21-1.9-1.9`,key:`1g2n9r`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}]]),wr=L(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Tr=L(`forward`,[[`path`,{d:`m15 17 5-5-5-5`,key:`nf172w`}],[`path`,{d:`M4 18v-2a4 4 0 0 1 4-4h12`,key:`jmiej9`}]]),Er=L(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Dr=L(`git-compare`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`,key:`19pyzm`}]]),Or=L(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),kr=L(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),Ar=L(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),jr=L(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),Mr=L(`history`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),Nr=L(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),Pr=L(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),Fr=L(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Ir=L(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),Lr=L(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),Rr=L(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),zr=L(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),Br=L(`list-plus`,[[`path`,{d:`M16 5H3`,key:`m91uny`}],[`path`,{d:`M11 12H3`,key:`51ecnj`}],[`path`,{d:`M16 19H3`,key:`zzsher`}],[`path`,{d:`M18 9v6`,key:`1twb98`}],[`path`,{d:`M21 12h-6`,key:`bt1uis`}]]),Vr=L(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Hr=L(`lock-keyhole`,[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]),Ur=L(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),Wr=L(`map`,[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`,key:`169xi5`}],[`path`,{d:`M15 5.764v15`,key:`1pn4in`}],[`path`,{d:`M9 3.236v15`,key:`1uimfh`}]]),Gr=L(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Kr=L(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),qr=L(`message-circle`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}]]),Jr=L(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),Yr=L(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),Xr=L(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),Zr=L(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Qr=L(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),$r=L(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),ei=L(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),ti=L(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),ni=L(`panel-right-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m8 9 3 3-3 3`,key:`12hl5m`}]]),ri=L(`panel-right-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m10 15-3-3 3-3`,key:`1pgupc`}]]),ii=L(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),ai=L(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),oi=L(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),si=L(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),ci=L(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),li=L(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),ui=L(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),di=L(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),fi=L(`quote`,[[`path`,{d:`M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`,key:`rib7q0`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`,key:`1ymkrd`}]]),pi=L(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),mi=L(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),hi=L(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),gi=L(`rows-2`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}]]),_i=L(`scan`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]),vi=L(`scissors`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M8.12 8.12 12 12`,key:`1alkpv`}],[`path`,{d:`M20 4 8.12 15.88`,key:`xgtan2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M14.8 14.8 20 20`,key:`ptml3r`}]]),yi=L(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),bi=L(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),xi=L(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),Si=L(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Ci=L(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),wi=L(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Ti=L(`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`}]]),Ei=L(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),Di=L(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),Oi=L(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),ki=L(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Ai=L(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),ji=L(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Mi=L(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Ni=L(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),Pi=L(`user-minus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),Fi=L(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),Ii=L(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Li=L(`workflow`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]),Ri=L(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),zi=L(`zoom-in`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`,key:`1vmskp`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),Bi=L(`zoom-out`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]);function Vi(e,t){return!e||!t||!t.sessionId?!1:e.isBoundTo(t.baseUrl,t.sessionId)}function Hi(e){let{state:t,target:n,client:r}=e;return Vi(r,n)?`adopt`:t.phase===`binding`&&t.target&&O(t.target)===O(n)?`noop`:`bind`}function Ui(e,t){return!e||!t?e===t:e.kind===t.kind&&z(e.baseUrl,t.baseUrl)&&e.sessionId===t.sessionId&&(e.jobId??null)===(t.jobId??null)}function Wi(e,t){return!e||t&&e.epoch!==t?null:e}var Gi=class{generation=0;latest=null;get currentTicket(){return this.latest}begin(e){this.generation+=1;let t={generation:this.generation,key:O(e),target:e};return this.latest=t,t}isCurrent(e){return!!e&&this.latest?.generation===e.generation}finish(e){e&&this.latest?.generation===e.generation&&(this.latest=null)}invalidate(){this.generation+=1,this.latest=null}},Ki=qe(e=>({phase:`idle`,target:null,error:null,generation:0,markBinding:(t,n)=>e({phase:`binding`,target:t,error:null,generation:n}),markAttached:(t,n)=>e({phase:`attached`,target:t,error:null,generation:n}),markSuspended:(t,n)=>e({phase:`suspended`,error:t,generation:n}),adoptTarget:t=>e(e=>({phase:e.phase===`binding`?`binding`:`attached`,target:t,error:null})),reset:()=>e({phase:`idle`,target:null,error:null})})),qi=/^\s*\/_?compact(?:\s|$)/i,Ji=/<command-name>\s*\/_?compact\s*<\/command-name>/i,Yi=/^\s*(?:```(?:xml)?\s*)?<conversation_history_summary\b[^>]*>/i,Xi=/<summary\b[^>]*>/i,Zi=/<\/summary\s*>/i,Qi=/<\/conversation_history_summary\s*>/i;function $i(e){return e.replace(/&(#(?:x[0-9a-f]+|\d+)|amp|lt|gt|quot|apos);/gi,(e,t)=>{let n=t.toLowerCase();if(n===`amp`)return`&`;if(n===`lt`)return`<`;if(n===`gt`)return`>`;if(n===`quot`)return`"`;if(n===`apos`)return`'`;let r=n.startsWith(`#x`)?16:10,i=Number.parseInt(n.slice(r===16?2:1),r);return Number.isFinite(i)&&i>=0&&i<=1114111?String.fromCodePoint(i):e})}function ea(e){return e?qi.test(e)||Ji.test(e):!1}function ta(e){return!!e&&Yi.test(e)}function na(e){return!!e&&ta(e)&&(Zi.test(e)||Qi.test(e))}function ra(e){return e.isCompactInternal===!0||e.role===`user`&&ea(e.content)||e.role===`assistant`&&ta(e.content)}function ia(e){if(!e||!ta(e))return;let t=Xi.exec(e);if(!t)return;let n=t.index+t[0].length,r=e.slice(n),i=Zi.exec(r),a=Qi.exec(r),o=i?.index??a?.index??r.length,s=r.slice(0,o).trim();if(s)return $i(s)}function aa(e){let t=[...e.matchAll(/<channel\s+([^>]*)>([\s\S]*?)<\/channel>/g)].at(-1);if(!t)return;let n={},r=/(\w+)="([^"]*)"/g,i;for(;(i=r.exec(t[1]))!==null;)n[i[1]]=i[2];let a=n.source;if(!a)return;let o;return(n.chattype===`group`||n.chattype===`single`)&&(o=n.chattype),{channel:{source:a,sender:n.sender||n.user||``,senderName:n.user&&n.user!==n.sender?n.user:void 0,chatId:n.chat_id,chatType:o},content:t[2].trim()}}var oa=10485760,sa=2048,ca=Math.ceil(oa*4/3)+128,la=/@(?:(?:"((?:\\.|[^"\\])*)")|([A-Za-z0-9_./-]+))/g,ua=new Set([`.png`,`.jpg`,`.jpeg`,`.gif`,`.webp`,`.bmp`]),da=new Set([`image/png`,`image/jpeg`,`image/jpg`,`image/gif`,`image/webp`,`image/bmp`]),fa=[`/dev/`,`/proc/`,`/sys/`,`/etc/`,`/root/`,`/private/etc/`,`/private/var/root/`],pa=/<image_local_path>\s*([\s\S]*?)\s*<\/image_local_path>/gi,ma=/!\[[^\]]*]\(\s*<?([^)\s>]+)>?/g,ha=/`([^`\n]{1,512})`/g,ga=/```[^\n]*\n[\s\S]*?```/g,_a=/^[A-Za-z]:\//;function va(e){if(!e)return!1;let t=e.split(`;`)[0].trim().toLowerCase();return da.has(t)}function ya(e){switch(Ua(e)){case`.png`:return`image/png`;case`.jpg`:case`.jpeg`:return`image/jpeg`;case`.gif`:return`image/gif`;case`.webp`:return`image/webp`;case`.bmp`:return`image/bmp`;default:return}}function ba(e){return e.length<4?!1:e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71||e[0]===255&&e[1]===216&&e[2]===255||e[0]===71&&e[1]===73&&e[2]===70&&e[3]===56||e[0]===66&&e[1]===77||e.length>=12&&e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80}function xa(e){if(!e)return!1;let t=e.split(`;`)[0].trim().toLowerCase();return t.includes(`svg`)||t.includes(`html`)||t.includes(`xml`)||t.includes(`javascript`)}function Sa(e,t){let n=e.trim();if(!n||n.length>512)return null;if(n=n.replace(/^['"]|['"]$/g,``),n.toLowerCase().startsWith(`file://`)){try{n=decodeURIComponent(n.slice(7))}catch{n=n.slice(7)}n.toLowerCase().startsWith(`localhost`)&&(n=n.slice(9)),n.startsWith(`///`)&&(n=n.slice(2))}return n=n.replace(/\\/g,`/`),n=n.replace(/[.,;:!?。,、))\]}>]+$/u,``),n.startsWith(`//`)||(/^\/[A-Za-z]:\//.test(n)&&(n=n.slice(1)),_a.test(n)&&(n=`${n[0].toUpperCase()}${n.slice(1)}`),!za(n)||n.includes(`\0`)||n.includes(`..`))||(t?.requireImageExt??!0)&&!ua.has(Ua(n))||Ha(n)?null:n}function Ca(e,t){let n=Ba(e);return n.size===0?Wa(t):Wa(t).filter(e=>!n.has(Va(e)))}function wa(e){let t=[],n=new RegExp(ha.source,`g`),r;for(;(r=n.exec(e.replace(ga,`
|
|
3
3
|
`)))!==null;){let e=Sa(r[1]??``);e&&t.push(e)}return Wa(t).slice(0,8)}function Ta(e){let t=[],n=e.replace(pa,(e,n)=>{let r=Sa(String(n??``));return r&&t.push(r),``});return t.length===0?{text:e,paths:t}:{text:n.replace(/[ \t]+\n/g,`
|
|
4
4
|
`).replace(/\n{3,}/g,`
|
|
5
5
|
|
|
@@ -14,7 +14,7 @@ import{i as e,r as t}from"./rolldown-runtime-Dd_uD5pT.js";import{$ as n,A as r,A
|
|
|
14
14
|
`))})}catch{}};for(;!t.aborted;){let{done:e,value:t}=await i.read();if(e){o+=a.decode();break}o+=a.decode(t,{stream:!0});let n=o.search(/\r?\n\r?\n/);for(;n>=0;){let e=o.slice(n).match(/^\r?\n\r?\n/)?.[0]??`
|
|
15
15
|
|
|
16
16
|
`;s(o.slice(0,n)),o=o.slice(n+e.length),n=o.search(/\r?\n\r?\n/)}}o.trim()&&s(o)}async function $c(e={}){return(await Zc(Kc(Wc,{all:e.all,cwd:e.cwd}))).jobs}function el(e){return Zc(Wc,{method:`POST`,body:e,retry:!1})}function tl(e){return Zc(qc(e)).then(e=>e.job)}function nl(e){return Zc(qc(e,`/session`))}function rl(e,t){return Zc(qc(e,`/session`),{method:`POST`,body:{sessionId:t},retry:!1})}function il(e,t){return Zc(qc(e,`/name`),{method:`PATCH`,body:{name:t}}).then(e=>e.job)}function al(e,t){return Zc(qc(e,`/reply`),{method:`POST`,body:t})}function ol(e){return Zc(qc(e,`/stop`),{method:`POST`})}function sl(e){return Zc(qc(e,`/respawn`),{method:`POST`}).then(e=>e.job)}function cl(e){return Zc(qc(e,`/transcript`))}function ll(e){return Zc(qc(e),{method:`DELETE`})}function ul(){return Zc(`${Wc}/prefs`).then(e=>e.prefs)}function dl(e){return Zc(`${Wc}/prefs`,{method:`PUT`,body:e}).then(e=>e.prefs)}function fl(e,t){return dl([{op:`pin`,id:e,pinned:t}])}function pl(e){return Zc(Kc(`${Wc}/dispatch-context`,{cwd:e}))}async function ml(e,t={}){return Zc(Kc(`${Wc}/resumable`,{cwd:e,includeAttached:t.includeAttached,offset:t.offset,limit:t.limit}))}function hl(e,t,n){return Qc(qc(e,`/stream`),t,e=>{e.event===`message`&&n(e.data)})}var gl=`selected-bg-agent`,_l=`manually-stopped-bg-agents`;function vl(e){try{if(typeof sessionStorage>`u`||o())return;e?sessionStorage.setItem(gl,e):sessionStorage.removeItem(gl)}catch{}}function yl(){try{return typeof sessionStorage>`u`||o()?null:sessionStorage.getItem(gl)}catch{return null}}function bl(){try{if(typeof sessionStorage>`u`)return{};let e=sessionStorage.getItem(_l);if(!e)return{};let t=JSON.parse(e);return Object.fromEntries(Object.entries(t).filter(([,e])=>e===!0))}catch{return{}}}function xl(e){try{if(typeof sessionStorage>`u`)return;sessionStorage.setItem(_l,JSON.stringify(e))}catch{}}var Sl=0,Cl=0,wl=200,Tl=6e3,El=new Map,Dl=new Set,Ol=new Set;function kl(e){return e instanceof Gc?e.code?`${e.code}: ${e.message}`:e.message:e instanceof Error?e.message:String(e)}function Al(e){return e instanceof Gc?{message:e.message,status:e.status,code:e.code}:{message:e instanceof Error?e.message:String(e)}}function jl(e){return[...e].sort((e,t)=>t.startedAt-e.startedAt)}function Ml(e,t){return jl(e.map(e=>e.id===t.id?{...e,...t}:e))}function Nl(e){return e.alive===!1&&(e.state===`failed`||e.state===`stopped`)}function Pl(e,t){return e.map(e=>e.id===t?{...e,webUrl:null,state:`working`,settled:!1,tempo:`active`,firstTerminalAt:void 0}:e)}function Fl(e,t){let n=Ml(e,t);return t.webUrl||t.alive===!0||Nl(t)?n:Pl(n,t.id)}function Il(e,t){let n=new Map(e.map(e=>[e.id,e])),r=[];for(let e of Dl){if(n.get(e)){Dl.delete(e);continue}let i=t.find(t=>t.id===e);i&&r.push(i)}return jl([...e.map(e=>Ol.has(e.id)&&!e.webUrl&&e.alive!==!0&&!Nl(e)?Pl([e],e.id)[0]:e),...r])}async function Ll(e,t){let n=Date.now()+Tl,r=await tl(e);for((r.sessionId||r.webUrl||Nl(r))&&Dl.delete(e),t(r);!r.webUrl&&!r.foregroundHeld&&!Nl(r)&&Date.now()<n;){await new Promise(e=>setTimeout(e,wl));try{r=await tl(e),(r.sessionId||r.webUrl||Nl(r))&&Dl.delete(e),t(r)}catch{}}}function Rl(e,t){if(e.event===`snapshot`)return Il(Array.isArray(e.data)?e.data:[],t);if(e.event===`removed`)return Dl.delete(e.data.id),t.filter(t=>t.id!==e.data.id);if(e.event===`added`||e.event===`changed`){let n=e.data;return jl([...t.filter(e=>e.id!==n.id),n])}return t}var zl=qe((e,t)=>({jobs:[],selectedJobId:yl(),selectedJobTitle:null,manuallyStoppedAgentIds:bl(),respawningJobIds:{},loading:!1,pinnedJobIds:[],jobGroups:{},error:null,listError:null,jobsFetched:!1,fetchJobs:async()=>{ql();let t=++Sl,n=Cl;e({loading:!0,error:null,listError:null});try{let r=await $c({all:!0});t===Sl&&n===Cl&&e(e=>({jobs:Il(r,e.jobs),loading:!1,listError:null,jobsFetched:!0}))}catch(n){t===Sl&&e({listError:Al(n),loading:!1})}},subscribeJobs:()=>{let e=new AbortController,t=I(pe(null)),n=null,r=()=>{if(!e.signal.aborted){if(Xl(Hc(),t)){n?.(),n=null;return}n??=Zl(()=>zl.getState().fetchJobs())}},i=Hc();r();let a=i.onStatusChange(e=>{I(e)===t&&r()}),o=i.onAck(e=>{I(e.baseUrl)===t&&r()}),s=i.onResync(e=>{I(e.baseUrl)===t&&e.frame.streamId===Yl&&r()});return e.signal.addEventListener(`abort`,()=>{a(),o(),s(),n?.()},{once:!0}),()=>e.abort()},applyJobCollectionFrames:e=>{Kl(e)},applyJobStreamFrames:e=>{for(let t of e)Kl(Wl(t))},createJob:async(n,r)=>{e({error:null});try{let i=await el({prompt:n,...r}),a=i.id;if(a){Dl.add(a);let t={id:a,sessionId:i.sessionId,state:i.state??`working`,status:i.status??`busy`,intent:i.intent??n,name:i.name??r?.name,cwd:i.cwd??r?.cwd??``,startedAt:i.startedAt??Date.now(),webUrl:i.webUrl??null,kind:`background`};e(e=>({jobs:jl([...e.jobs.filter(e=>e.id!==a),t]),selectedJobId:a,selectedJobTitle:r?.name||null})),vl(a)}return t().fetchJobs().catch(()=>{}),Ll(a,t=>{e(e=>({jobs:Ml(e.jobs,t)}))}).catch(()=>{}),a}catch(t){throw e({error:kl(t)}),t}},selectJob:(n,r=null)=>{let i=t().manuallyStoppedAgentIds;if(n&&i[n]){let t={...i};delete t[n],xl(t),e({selectedJobId:n,selectedJobTitle:r,manuallyStoppedAgentIds:t})}else e({selectedJobId:n,selectedJobTitle:r});vl(n)},renameJob:async(t,n)=>{e({error:null});try{await il(t,n),e(e=>({jobs:e.jobs.map(e=>e.id===t?{...e,name:n}:e),selectedJobTitle:e.selectedJobId===t?n:e.selectedJobTitle}))}catch(t){e({error:kl(t)})}},stopJob:async n=>{let r={...t().manuallyStoppedAgentIds,[n]:!0};xl(r),e(e=>({error:null,manuallyStoppedAgentIds:r,jobs:e.jobs.map(e=>e.id===n?{...e,webUrl:null}:e)}));try{await ol(n),await t().fetchJobs()}catch(r){let i=kl(r);await t().fetchJobs();let a={...t().manuallyStoppedAgentIds};delete a[n],xl(a),e({error:i,manuallyStoppedAgentIds:a})}},respawnJob:(n,r)=>{let i=r?.explicit===!0;if(i){let r={...t().manuallyStoppedAgentIds};delete r[n],xl(r),e({manuallyStoppedAgentIds:r})}let a=El.get(n);if(a)return i&&(Ol.add(n),e(e=>({respawningJobIds:{...e.respawningJobIds,[n]:!0},jobs:Pl(e.jobs,n)}))),a;let o=(async()=>{Ol.add(n),e(e=>({respawningJobIds:{...e.respawningJobIds,[n]:!0}})),e({error:null});try{e(e=>({jobs:Pl(e.jobs,n)}));let r=await sl(n);e(e=>({jobs:Fl(e.jobs,r)})),await Ll(n,t=>{e(e=>({jobs:Fl(e.jobs,t)}))}),await t().fetchJobs()}catch(n){let r=kl(n);throw await t().fetchJobs(),e({error:r}),n}finally{Ol.delete(n),e(e=>{let t={...e.respawningJobIds};return delete t[n],{respawningJobIds:t}})}})();El.set(n,o);let s=()=>{El.get(n)===o&&El.delete(n)};return o.then(s,s),o},clearManuallyStopped:n=>{let r={...t().manuallyStoppedAgentIds},i=!1;for(let e of n)e&&r[e]&&(delete r[e],i=!0);i&&(xl(r),e({manuallyStoppedAgentIds:r}))},deleteJob:async n=>{e(e=>({error:null,jobs:e.jobs.map(e=>e.id===n?{...e,webUrl:null}:e)}));try{let r=await ll(n);return r.deleted?(e(e=>{let t={...e.manuallyStoppedAgentIds};return delete t[n],xl(t),e.selectedJobId===n&&vl(null),{jobs:e.jobs.filter(e=>e.id!==n),selectedJobId:e.selectedJobId===n?null:e.selectedJobId,selectedJobTitle:e.selectedJobId===n?null:e.selectedJobTitle,manuallyStoppedAgentIds:t}}),r):(await t().fetchJobs(),e({error:r.reason||`Job was not deleted`}),r)}catch(n){let r=kl(n);return await t().fetchJobs(),e({error:r}),{deleted:!1,reason:r}}},fetchPrefs:async()=>{try{let t=await ul();e({pinnedJobIds:t.pinned,jobGroups:t.groups})}catch{}},togglePin:async(n,r)=>{e(e=>({error:null,pinnedJobIds:r?[...new Set([...e.pinnedJobIds,n])]:e.pinnedJobIds.filter(e=>e!==n)}));try{e({pinnedJobIds:(await fl(n,r)).pinned})}catch(n){e({error:kl(n)}),await t().fetchPrefs()}},renameProject:async(n,r)=>{let i=r.trim();if(i&&n.length!==0){e(e=>({error:null,jobGroups:{...e.jobGroups,...Object.fromEntries(n.map(e=>[e,i]))}}));try{let t=await dl(n.map(e=>({op:`group`,id:e,group:i})));e({pinnedJobIds:t.pinned,jobGroups:t.groups})}catch(n){e({error:kl(n)}),await t().fetchPrefs()}}},ungroupJob:async n=>{e(e=>{if(!(n in e.jobGroups))return{};let t={...e.jobGroups};return delete t[n],{error:null,jobGroups:t}});try{let t=await dl([{op:`group`,id:n}]);e({pinnedJobIds:t.pinned,jobGroups:t.groups})}catch(n){e({error:kl(n)}),await t().fetchPrefs()}}})),Bl=16,Vl=[],Hl=null,Ul=null;function Wl(e){if(e.event===`snapshot`)return[{event:`snapshot`,data:e.jobs}];if(e.event===`keepalive`)return[{event:`keepalive`,data:{}}];let t=[];for(let n of e.added)t.push({event:`added`,data:n});for(let n of e.changed)t.push({event:`changed`,data:n});for(let n of e.removed)t.push({event:`removed`,data:{id:n}});return t}function Gl(){Ul!==null&&(Hl===`raf`&&typeof cancelAnimationFrame==`function`?cancelAnimationFrame(Ul):clearTimeout(Ul)),Hl=null,Ul=null}function Kl(e){if(e.length!==0){for(let t of e)Vl.push(t);if(Hl===null){if(typeof requestAnimationFrame==`function`){Hl=`raf`,Ul=requestAnimationFrame(()=>{Ul=null,Hl=null,ql()});return}Hl=`timer`,Ul=setTimeout(()=>{Ul=null,Hl=null,ql()},Bl)}}}function ql(){Gl();let e=Vl;Vl=[],Jl(e)}function Jl(e){if(e.length!==0){for(let t of e)t.event!==`keepalive`&&Cl++;zl.setState(t=>{let n=t.jobs,r=t.selectedJobId,i=t.selectedJobTitle,a=t.manuallyStoppedAgentIds;for(let t of e){if(n=Rl(t,n),t.event!==`removed`)continue;let e=t.data.id;if(r===e&&(vl(null),r=null,i=null),a[e]){let t={...a};delete t[e],xl(t),a=t}}return{jobs:n,selectedJobId:r,selectedJobTitle:i,manuallyStoppedAgentIds:a,error:null,listError:null,loading:!1,jobsFetched:t.jobsFetched||e.some(e=>e.event===`snapshot`)}})}}var Yl=`app:jobs`;function Xl(e,t){return e.getStatus(t)===`ready`&&e.isStreamAligned(t,Yl)}function Zl(e){let t=!1,n=!1,r,i=()=>{if(t)return;let e=typeof document<`u`&&document.visibilityState===`hidden`?1e4:2500;r=setTimeout(a,e)},a=()=>{t||n||(clearTimeout(r),n=!0,e().catch(()=>void 0).finally(()=>{n=!1,i()}))},o=()=>{typeof document<`u`&&document.visibilityState===`visible`&&(n||a())};return typeof document<`u`&&document.addEventListener(`visibilitychange`,o),i(),()=>{t=!0,clearTimeout(r),typeof document<`u`&&document.removeEventListener(`visibilitychange`,o)}}var Ql=524288,$l=/\u001B\[[0-?]*[ -/]*[@-~]|\u001B\][^\u0007\u001B]*(?:\u0007|\u001B\\)|\u001B[@-Z\\-_]/g;function eu(e){return e.replace($l,``)}function tu(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var nu=new Map;function ru(e,t){let n=nu.get(e);return n||(n=new TextDecoder(`utf-8`),nu.set(e,n)),n.decode(t,{stream:!0})}var iu=new Set([`cancelled-by-user`,`output-limit`,`interrupted`,`stopped`,`sandbox-denied`,`exit-status-unknown`,`exited`]);function au(e){let t=e?.[`codebuddy.ai`];if(!t||typeof t!=`object`)return;let n=t.end;if(!n||typeof n!=`object`)return;let{reason:r,detail:i}=n;if(typeof r==`string`&&iu.has(r))return{reason:r,...typeof i==`string`&&i?{detail:i}:{}}}function ou(e,t){let n=e+t;if(n.length<=Ql)return{text:n,dropped:0};let r=n.length-Ql;return{text:n.slice(r),dropped:r}}var su=qe(e=>({terminals:{},terminalIdByToolCall:{},outputs:{},outputCursors:{},applyTerminalUpdate:(t,n)=>{let{terminalId:r}=t;r&&e(e=>{let i=e.terminals[r],a=i?{...i,seen:!0}:{terminalId:r,seen:!0};a.startedAt===void 0&&n!==void 0&&(a.startedAt=n),t.command!==void 0&&(a.command=t.command??void 0),t.cwd!==void 0&&(a.cwd=t.cwd??void 0),t.exitStatus!==void 0&&(a.exitStatus=t.exitStatus??void 0);let o=au(t._meta);o&&a.endReason===void 0&&(a.endReason=o.reason,o.detail&&(a.endReasonDetail=o.detail));let s={terminals:{...e.terminals,[r]:a}};if(t.output!==void 0){nu.delete(r);let n=t.output?new TextDecoder(`utf-8`).decode(tu(t.output.data)):``;s.outputs={...e.outputs,[r]:n},s.outputCursors={...e.outputCursors,[r]:{epoch:(e.outputCursors[r]?.epoch??0)+1,dropped:0}}}return s})},appendOutputChunk:(t,n)=>{if(!t||!n)return;let r;try{r=ru(t,tu(n))}catch{return}r&&e(e=>{let n=ou(e.outputs[t]??``,r),i=e.outputCursors[t]??{epoch:0,dropped:0};return{outputs:{...e.outputs,[t]:n.text},outputCursors:{...e.outputCursors,[t]:n.dropped===0?i:{epoch:i.epoch,dropped:i.dropped+n.dropped}}}})},linkToolCall:(t,n)=>{t&&n&&e(e=>{if(e.terminalIdByToolCall[t]===n)return e;let r=e.terminals[n];return{terminalIdByToolCall:{...e.terminalIdByToolCall,[t]:n},terminals:{...e.terminals,[n]:r?{...r,toolCallId:t}:{terminalId:n,toolCallId:t,seen:!1}}}})},removeTerminal:t=>{t&&(nu.delete(t),e(e=>{if(!(t in e.terminals)&&!(t in e.outputs))return e;let n={...e.terminals},r={...e.outputs},i={...e.outputCursors};return delete n[t],delete r[t],delete i[t],{terminals:n,outputs:r,outputCursors:i,terminalIdByToolCall:Object.fromEntries(Object.entries(e.terminalIdByToolCall).filter(([,e])=>e!==t))}}),Mt.getState().closeBackgroundTaskTabs(t))},reset:()=>{nu.clear(),e({terminals:{},terminalIdByToolCall:{},outputs:{},outputCursors:{}}),Mt.getState().closeAllBackgroundTaskTabs()}}));function cu(e){return!!e&&e.seen&&e.exitStatus===void 0}var lu=new Set([`default`,`acceptEdits`,`plan`,`auto`,`dontAsk`,`bypassPermissions`,`fullAccess`]);function uu(e,t){return e&&typeof e==`object`&&!Array.isArray(e)?{...e,defaultMode:t}:{defaultMode:t}}function du(e){let t=e&&typeof e==`object`&&`data`in e?e.data:e,n=t&&typeof t==`object`&&`effective`in t&&t.effective&&typeof t.effective==`object`?t.effective:{},r=typeof n.model==`string`?n.model.trim():``,i=n.permissions&&typeof n.permissions==`object`?n.permissions:{},a=typeof i.defaultMode==`string`?i.defaultMode.trim():``;return{model:r||null,permissionMode:a&&lu.has(a)?a:null}}async function fu(e){let t=new URLSearchParams({scope:`project`,cwd:e}),n=await fetch(`/api/v1/settings/layers?${t.toString()}`,{headers:Je()});if(!n.ok)throw Error(`HTTP ${n.status}`);return du(await n.json())}function pu(e){let t=e&&typeof e==`object`&&`data`in e?e.data:e;return t&&typeof t==`object`&&`value`in t?t.value:t}function mu(e,t){let n=e&&typeof e==`object`&&!Array.isArray(e)?{...e}:{},r=n.mainAgent&&typeof n.mainAgent==`object`&&!Array.isArray(n.mainAgent)?{...n.mainAgent}:{};return{...n,mainAgent:{...r,lastUsed:t}}}function hu(e,t){let n=e&&typeof e==`object`&&!Array.isArray(e)?{...e}:{},r=n.composer&&typeof n.composer==`object`&&!Array.isArray(n.composer)?{...n.composer}:{};return{...n,composer:{...r,busySendMode:t}}}async function gu(e){let t=await _c(`/api/v1/settings/codebuddy?scope=user`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await yc(`/api/v1/settings/codebuddy?scope=user`,{value:hu(pu(await t.json()),e)});if(!n.ok&&n.status!==204)throw Error(`HTTP ${n.status}`)}async function _u(e){let t=await _c(`/api/v1/settings/codebuddy?scope=user`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await yc(`/api/v1/settings/codebuddy?scope=user`,{value:mu(pu(await t.json()),e)});if(!n.ok&&n.status!==204)throw Error(`HTTP ${n.status}`)}async function vu(e){let t=await _c(`/api/v1/settings/permissions?scope=user`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await yc(`/api/v1/settings/permissions?scope=user`,{value:uu(pu(await t.json()),e)});if(!n.ok&&n.status!==204)throw Error(`HTTP ${n.status}`)}async function yu(e){let t=await fetch(`/api/v1/settings/codebuddy?scope=user`,{method:`PUT`,headers:Je({"Content-Type":`application/json`}),body:JSON.stringify({value:{agentHome:{orchestration:e}}})});if(!t.ok&&t.status!==204)throw Error(`HTTP ${t.status}`)}var bu=`codebuddy.composer.busySendMode`,xu=`queue`;function Su(e){return e===`queue`||e===`immediate`?e:void 0}function Cu(e,t){return e===`queue`||/^\/[a-z][a-z0-9-]*(\s|$)/i.test(t)}function wu(){try{return typeof localStorage>`u`?xu:Su(localStorage.getItem(`codebuddy.composer.busySendMode`))??`queue`}catch{return xu}}function Tu(e){try{if(typeof localStorage>`u`)return;localStorage.setItem(bu,e)}catch{}}function Eu(e){let t=e&&typeof e==`object`&&`data`in e?e.data:e;if(typeof t!=`object`||!t)return;let n=t.codebuddy;return Su(n?.composer?.busySendMode)}var Du=qe((e,t)=>({mode:wu(),setMode:(t,n=!0)=>{Tu(t),e({mode:t}),n&&gu(t).catch(e=>{console.warn(`[busy-send] persist codebuddy.composer.busySendMode failed:`,e)})},hydrateFromSettings:n=>{let r=Eu(n);r&&r!==t().mode&&(Tu(r),e({mode:r}))}}));function Ou(e,t){return typeof e==`string`&&e.length>0&&!!t&&e!==t}function ku(e){return typeof e.incomingTeamName==`string`&&e.incomingTeamName.length>0&&e.isInTeam&&!!e.currentTeamName&&e.incomingTeamName!==e.currentTeamName}function Au(e,t){return e===`connected`&&typeof t==`string`&&t.length>0}function ju(e){let t=[];e.sessionSwitching&&t.push(`sessionSwitching`),e.sessionId||t.push(`sessionId empty`),e.status!==`connected`&&t.push(`status=${e.status}`);let n=e.error?.trim();return n&&t.push(n),t.join(` · `)||`unknown`}function Mu(e){let t=e._meta?.credits,n=e._meta?.maxInputTokens;return{id:e.modelId,name:e.name||e.modelId,description:e.description??null,credits:typeof t==`string`?t:null,contextWindow:typeof n==`number`?n:null}}var U=qe((e,t)=>({status:`disconnected`,sessionId:null,sessionSwitching:!1,models:[],currentModel:``,modes:[],currentMode:`default`,commands:[],error:null,sessionFault:null,sessionFollow:!1,topic:null,thinkingEnabled:!1,thoughtLevel:null,promptSuggestion:null,externalInput:null,setStatus:t=>e(e=>({status:t,error:t===`error`?e.error:null,sessionFault:t===`connected`&&!e.sessionFollow?null:e.sessionFault})),setError:t=>e({error:t}),setSessionFault:t=>e({sessionFault:t}),setSessionFollow:t=>e({sessionFollow:t}),setSessionId:t=>e({sessionId:t}),setSessionSwitching:t=>e({sessionSwitching:t}),setModels:t=>e({models:t}),setCurrentModel:t=>e({currentModel:t}),applyModelCatalogRefresh:(n,r)=>{if(Ou(n,t().sessionId))return!1;let i=Array.isArray(r?.availableModels)?r.availableModels:[];return!r?.ok||i.length===0?!1:(e({models:i.map(Mu),...r.currentModelId?{currentModel:r.currentModelId}:{}}),!0)},setModes:t=>e({modes:t}),setCurrentMode:t=>e({currentMode:t}),setCommands:t=>e({commands:t}),setTopic:t=>e({topic:t}),setThinkingEnabled:t=>e({thinkingEnabled:t}),setThoughtLevel:t=>e({thoughtLevel:t}),setPromptSuggestion:t=>e({promptSuggestion:t}),setExternalInput:t=>e({externalInput:t}),connect:async t=>{let n=Rf();try{if(e({status:`connecting`,error:null,sessionFault:null}),t){let n=new Me(void 0,t);n.on(`status_change`,t=>e({status:t})),n.on(`model_update`,t=>{e({models:t.availableModels||[],currentModel:t.currentModelId||``})});let r=await n.initializeSession({continue:!0});e({status:`connected`,sessionId:r.sessionId,sessionFollow:r.followOnly===!0,sessionFault:r.followOnly?`occupied`:null})}else{let t=await n.initializeSession({continue:!0});e({status:`connected`,sessionId:t.sessionId,sessionFollow:t.followOnly===!0,sessionFault:t.followOnly?`occupied`:null})}}catch(t){e({status:`error`,error:t.message})}},disconnect:async()=>{await Rf().disconnect(),e({status:`disconnected`,sessionId:null,sessionSwitching:!1,sessionFault:null,sessionFollow:!1})}})),Nu=qe((e,t)=>({usage:null,setUsage:n=>{let r=t().usage;if(n.sessionId&&r?.sessionId&&n.sessionId!==r.sessionId){e({usage:{sessionId:n.sessionId,used:n.used,size:n.size,cost:n.cost,usageByCategory:n.usageByCategory,updatedAt:Date.now()}});return}r&&r.used>0&&n.used===0||(!r||r.used!==n.used||r.size!==n.size||r.cost?.amount!==n.cost?.amount||r.cost?.currency!==n.cost?.currency||n.usageByCategory)&&e({usage:{sessionId:n.sessionId??r?.sessionId,used:n.used,size:n.size,cost:n.cost,usageByCategory:n.usageByCategory??r?.usageByCategory,updatedAt:Date.now()}})},reset:()=>e({usage:null})})),Pu=qe((e,t)=>({requests:{},add:t=>{let n=t.toolCallId||t.elicitationId;e(e=>({requests:{...e.requests,[n]:t}}))},markResponded:t=>e(e=>{let n=e.requests[t];return n?{requests:{...e.requests,[t]:{...n,responded:!0}}}:e}),clear:t=>e(e=>{let n={...e.requests};return delete n[t],{requests:n}}),reset:()=>e({requests:{}}),getByToolCallId:e=>t().requests[e]})),Fu=class extends Error{status;reason;constructor(e,t,n=`http`){super(e),this.name=`SessionSnapshotError`,this.status=t,this.reason=n}};function Iu(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Lu(e){return typeof e==`string`&&e.length>0?e:null}function Ru(e){let t=Iu(e);if(!t)return null;let n=Iu(t.update);return n&&typeof n.sessionUpdate==`string`?n:typeof t.sessionUpdate==`string`?t:null}function zu(e){let t=Iu(e);if(!t)return null;let n=Lu(t.toolCallId)??Lu(t.id),r=Lu(t.name)??Lu(t.toolName)??``;if(!n)return null;let i=Iu(t.lastProgress),a=i&&typeof i.kind==`string`?i.kind:null;return{toolCallId:n,name:r,...t.args===void 0?{}:{args:t.args},...Lu(t.description)?{description:t.description}:{},...i&&a?{lastProgress:{kind:a,...typeof i.text==`string`?{text:i.text}:{},...typeof i.percent==`number`?{percent:i.percent}:{}}}:{}}}function Bu(e){let t=Iu(e);if(!t)return null;let n=Array.isArray(t.runningTools)?t.runningTools.map(zu).filter(e=>!!e):[];return{turnId:typeof t.turnId==`number`&&Number.isFinite(t.turnId)?t.turnId:0,assistantText:typeof t.assistantText==`string`?t.assistantText:``,thinkingText:typeof t.thinkingText==`string`?t.thinkingText:``,runningTools:n,...Lu(t.currentPromptId)?{currentPromptId:t.currentPromptId}:{}}}function Vu(e,t){let n=Iu(e),r=Iu(n?.data)??n;if(!r)throw new Fu(`snapshot: malformed payload`,0,`contract`);let i=Iu(r.session),a=Lu(i?.sessionId)??Lu(r.sessionId);if(!a||a!==t)throw new Fu(`snapshot: session mismatch (${a??`missing`} != ${t})`,0,`contract`);let o=Iu(r.messages);if(!o||!Array.isArray(o.items))throw new Fu(`snapshot: contract mismatch (messages.items missing) — gateway does not implement contract §2`,0,`contract`);let s=(Array.isArray(o?.items)?o.items:[]).map(Ru).filter(e=>!!e);if(typeof r.epoch!=`string`)throw new Fu(`snapshot: contract mismatch (epoch missing)`,0,`contract`);let c=r.epoch;if(typeof r.asOfSeq!=`number`||!Number.isFinite(r.asOfSeq))throw new Fu(`snapshot: contract mismatch (asOfSeq missing)`,0,`contract`);if(!(`inFlightTurn`in r))throw new Fu(`snapshot: contract mismatch (inFlightTurn missing)`,0,`contract`);return{epoch:c,asOfSeq:Math.max(0,Math.floor(r.asOfSeq)),session:{sessionId:a,...Lu(i?.cwd)?{cwd:i.cwd}:{},...`title`in(i??{})?{title:i.title??null}:{}},messages:{items:s,hasMore:o?.hasMore===!0,...Lu(o?.nextCursor)?{nextCursor:o.nextCursor}:{}},inFlightTurn:Bu(r.inFlightTurn),pendingApprovals:Array.isArray(r.pendingApprovals)?r.pendingApprovals:[],pendingQuestions:Array.isArray(r.pendingQuestions)?r.pendingQuestions:[],...Array.isArray(r.subagents)?{subagents:r.subagents}:{}}}var Hu=1e4;function Uu(e){return e instanceof Fu&&(e.status===404||e.status===405||e.status===501)}function Wu(e){return e instanceof Fu&&(e.reason===`timeout`||e.status===0&&/timed out/i.test(e.message))}function Gu(e){return e instanceof Fu&&e.reason===`contract`}function Ku(e){return Uu(e)||Wu(e)||Gu(e)}async function qu(e,t,n){let r=ae(e,t,{...n?.limit===void 0?{}:{limit:n.limit},...n?.before?{before:n.before}:{}}),i=typeof n?.timeoutMs==`number`&&n.timeoutMs>0?n.timeoutMs:Hu,a=typeof AbortController>`u`?null:new AbortController,o=a?setTimeout(()=>a.abort(),i):null,s;try{s=await ze(r,{headers:Je(),...a?{signal:a.signal}:{},...n?.signal?{signal:n.signal}:{}})}catch(e){throw a?.signal.aborted?new Fu(`snapshot fetch timed out after ${i}ms`,0,`timeout`):e}finally{o!==null&&clearTimeout(o)}if(!s.ok)throw new Fu((await s.text().catch(()=>``))?.slice(0,300)||`snapshot fetch failed: HTTP ${s.status}`,s.status);return Vu(await s.json(),t)}function Ju(e){let t=Ru(e);if(t)return t;let n=Iu(e);if(!n)return null;let r=Iu(n.rawItem),i=Lu(n.toolCallId)??Lu(r?.callId)??Lu(n.id),a=Lu(n.toolName)??Lu(n.name)??Lu(r?.name);if(!i&&!a)return null;let o=n.toolInput??n.arguments??r?.arguments,s=Lu(n.interruptionId)??(i?`ir-${i}`:null);return{sessionUpdate:`interruption_request`,...s?{interruptionId:s}:{},...i?{toolCallId:i}:{},...a?{toolName:a}:{},...o===void 0?{}:{toolInput:o},...Array.isArray(n.options)?{options:n.options}:{options:[]},...Lu(n.toolTitle)?{toolTitle:n.toolTitle}:{},...n.workflowSourceText===void 0?{}:{workflowSourceText:n.workflowSourceText},...n.mcpUiIntercept===!0?{mcpUiIntercept:!0}:{}}}function Yu(e){let t=Ru(e);if(!t)return null;let n=Iu(t.rawInput),r=Array.isArray(n?.questions)?n.questions:Array.isArray(t.questions)?t.questions:null;return!r||!Lu(t.toolCallId)?null:{sessionUpdate:`question_request`,toolCallId:t.toolCallId,questions:r}}function Xu(e){let t=e.session.sessionId,n=[];for(let r of e.pendingApprovals){let e=Ju(r);e&&n.push({sessionId:t,update:e})}for(let r of e.pendingQuestions){let e=Ru(r);e&&n.push({sessionId:t,update:e});let i=Yu(r);i&&n.push({sessionId:t,update:i})}return n}function Zu(e){let t=e.lastTurn;return!t||!Number.isFinite(t.seq)||e.snapshotEpoch&&t.epoch&&t.epoch!==e.snapshotEpoch||!(t.seq>e.snapshotAsOfSeq)?null:t.phase}function Qu(e,t){let n=t?.inFlightOverride??null,r=n===`started`?e.inFlightTurn??{turnId:0,assistantText:``,thinkingText:``,runningTools:[]}:n===`ended`?null:e.inFlightTurn;if(H.getState().applySnapshot({items:e.messages.items,hasMore:e.messages.hasMore,inFlightTurn:r}),t?.emit)for(let n of Xu(e))t.emit(n)}function $u(e,t){return e.length===t.length&&e.every((e,n)=>{let r=t[n];return e.id===r.id&&e.label===r.label&&e.additions===r.additions&&e.deletions===r.deletions&&e.files.join(`,`)===r.files.join(`,`)&&(e.changedFiles??[]).join(`,`)===(r.changedFiles??[]).join(`,`)})}var ed=null;function td(){ed===null&&(ed=setTimeout(()=>{ed=null;let e=U.getState().sessionId;id.getState().loadCheckpoints(e??void 0).catch(()=>void 0)},400))}function nd(e,t){let n=new Set(t);return e.reduce((e,t)=>e+ +!n.has(t.uri),0)}function rd(e,t){let n=new Set(t.map(e=>e.uri));return e.filter(e=>n.has(e))}var id=qe((e,t)=>({fileChanges:[],selectedFile:null,selectedDiff:null,diffLoading:!1,isCollapsed:!0,checkpoints:[],showCheckpoints:!1,reverting:!1,recentlyReverted:new Set,seenChangeUris:[],onCheckpoint:n=>{let{recentlyReverted:r}=t(),i=r.size>0?n.fileChanges.files.filter(e=>!r.has(e.uri)):n.fileChanges.files,a=new Set(i.map(e=>e.uri));e(e=>({fileChanges:i,selectedFile:e.selectedFile&&!a.has(e.selectedFile)?null:e.selectedFile,selectedDiff:e.selectedFile&&!a.has(e.selectedFile)?null:e.selectedDiff,seenChangeUris:rd(e.seenChangeUris,i)})),td()},selectFile:async n=>{let{selectedFile:r}=t();if(r===n){e({selectedFile:null,selectedDiff:null});return}e({selectedFile:n,selectedDiff:null,diffLoading:!0});try{let t=await ze(`/internal/file-changes/diff`,{method:`POST`,headers:{...Je(),"Content-Type":`application/json`},body:JSON.stringify({path:n})});if(t.ok){let n=await t.json();e({selectedDiff:n.data??n,diffLoading:!1})}else e({diffLoading:!1})}catch{e({diffLoading:!1})}},setCollapsed:t=>e({isCollapsed:t}),setShowCheckpoints:t=>e({showCheckpoints:t}),markChangesSeen:()=>e(e=>({seenChangeUris:e.fileChanges.map(e=>e.uri)})),loadCheckpoints:async n=>{try{let r=await ze(`/internal/file-changes/checkpoints`,{method:`POST`,headers:{...Je(),"Content-Type":`application/json`},body:JSON.stringify(n?{sessionId:n}:{})});if(n&&n!==U.getState().sessionId)return;if(r.ok){let n=await r.json(),i=((n.data??n).checkpoints||[]).sort((e,t)=>t.createdAt-e.createdAt);$u(t().checkpoints,i)||e({checkpoints:i})}}catch{}},revertFiles:async t=>{e({reverting:!0});try{let n=await ze(`/internal/file-changes/revert`,{method:`POST`,headers:{...Je(),"Content-Type":`application/json`},body:JSON.stringify({paths:t})},{maxRetries:0});if(n.ok){let t=await n.json(),r=(t.data??t).revertedFiles||[],i=new Set(r);e(e=>({fileChanges:e.fileChanges.filter(e=>!i.has(e.uri)),selectedFile:i.has(e.selectedFile||``)?null:e.selectedFile,selectedDiff:i.has(e.selectedFile||``)?null:e.selectedDiff,recentlyReverted:new Set([...e.recentlyReverted,...r]),seenChangeUris:e.seenChangeUris.filter(e=>!i.has(e))})),setTimeout(()=>{e(e=>{let t=new Set(e.recentlyReverted);for(let e of r)t.delete(e);return{recentlyReverted:t}})},5e3)}}finally{e({reverting:!1})}},revertAll:async()=>{e({reverting:!0});try{let n=t().fileChanges.map(e=>e.uri);(await ze(`/internal/file-changes/revert`,{method:`POST`,headers:{...Je(),"Content-Type":`application/json`},body:JSON.stringify({})},{maxRetries:0})).ok&&(e(e=>({fileChanges:[],selectedFile:null,selectedDiff:null,recentlyReverted:new Set([...e.recentlyReverted,...n]),seenChangeUris:[]})),setTimeout(()=>{e(e=>{let t=new Set(e.recentlyReverted);for(let e of n)t.delete(e);return{recentlyReverted:t}})},5e3))}finally{e({reverting:!1})}},revertToCheckpoint:async(n,r=`CodeAndConversation`,i)=>{e({reverting:!0});try{let a=await ze(`/internal/file-changes/revert`,{method:`POST`,headers:{...Je(),"Content-Type":`application/json`},body:JSON.stringify({checkpointId:n,scope:r,...i?{sessionId:i}:{}})},{maxRetries:0});if(!a.ok)return console.error(`Failed to revert checkpoint ${n}: HTTP ${a.status}`),!1;if((r===`Code`||r===`CodeAndConversation`)&&e({fileChanges:[],selectedFile:null,selectedDiff:null,seenChangeUris:[]}),r===`Conversation`||r===`CodeAndConversation`)try{let e=Rf(),t=i??sessionStorage.getItem(`acp-session-id`);e&&t&&(e.isBusAuthorityActive()?Qu(await qu(e.getBaseUrl(),t),{emit:t=>e.dispatchSessionUpdate(t)}):(H.getState().clearChat(),await e.loadSession(t)))}catch(e){return console.error(`Failed to reload session after revert:`,e),!1}return t().loadCheckpoints(i),!0}catch(e){return console.error(`Failed to revert checkpoint ${n}:`,e),!1}finally{e({reverting:!1})}},reset:()=>e({fileChanges:[],selectedFile:null,selectedDiff:null,diffLoading:!1,isCollapsed:!0,checkpoints:[],showCheckpoints:!1,reverting:!1,recentlyReverted:new Set,seenChangeUris:[]})})),ad=new Map,od=qe((e,t)=>({visible:!1,total:0,completed:0,connectingServers:[],finished:!1,startedAt:void 0,failed:[],timedOut:[],applyEvent:n=>{if(n.event===`start`){ad=new Map;let t=n.servers??[];for(let e of t)ad.set(e,`connecting`);e({total:n.total_count??t.length,completed:0,connectingServers:[...t].sort(),finished:!1,failed:[],timedOut:[],visible:t.length>0,startedAt:t.length>0?Date.now():void 0});return}if(n.event===`server`){if(t().finished)return;n.name&&n.state&&ad.set(n.name,n.state);let r=[],i=0;for(let[e,t]of ad)t===`connecting`?r.push(e):i+=1;e({connectingServers:r.sort(),completed:i});return}ad=new Map,e({finished:!0,visible:!0,connectingServers:[],completed:t().total,failed:[...n.failed??[]],timedOut:[...n.timed_out??[]]})},hide:()=>{e({visible:!1})},reset:()=>{ad=new Map,e({visible:!1,total:0,completed:0,connectingServers:[],finished:!1,startedAt:void 0,failed:[],timedOut:[]})}})),sd=qe(e=>({tree:null,plugin:null,setFrame:t=>{if(t===null){e({tree:null,plugin:null});return}e({tree:t.tree,plugin:t.plugin})},folds:{},setFold:(t,n)=>{e(e=>({folds:{...e.folds,[t]:n}}))},clearFold:t=>{e(e=>{if(!(t in e.folds))return e;let n={...e.folds};return delete n[t],{folds:n}})},renderCaps:null,setRenderCaps:t=>{e({renderCaps:t})}})),cd={on:!1,support:void 0,pending:!1,error:null},ld=qe()(e=>({...cd,applySupport:t=>e(()=>({support:t})),applyOn:t=>e(()=>({on:t,error:null})),setPending:t=>e(()=>({pending:t})),setError:t=>e(()=>({error:t})),clearSession:()=>e(e=>({on:!1,pending:!1,error:null,support:e.support})),reset:()=>e(()=>({...cd}))}));function ud(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function dd(e){if(e===void 0)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function fd(e){if(!ud(e))return;let t=ud(e._meta)?e._meta:{},n=typeof t[`codebuddy.ai/memberHistoryItemId`]==`string`?t[`codebuddy.ai/memberHistoryItemId`]:void 0,r=typeof t.timestamp==`string`?t.timestamp:void 0,i=n?`item:${n}`:r?`time:${r}`:void 0;if(i)return[i,dd(e.sessionUpdate),dd(e.messageId),dd(e.toolCallId),dd(e.status),dd(e.content),dd(e.rawInput??e.input),dd(e.rawOutput??e.toolResult)].join(`|`)}function pd(e){let t=new Set,n=[];for(let r of e){let e=fd(r);e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}var md=qe(e=>({isInTeam:!1,teamName:null,isAutoTeam:!1,members:[],focusedMemberName:null,memberHistories:{},setTeamStatus:t=>e(e=>{let n=t.teamName||null,r=t.isInTeam&&(!e.isInTeam||!!n&&n!==e.teamName);return{isInTeam:t.isInTeam,teamName:n,isAutoTeam:t.isAutoTeam||!1,members:t.members,...r?{focusedMemberName:null,memberHistories:{}}:{}}}),updateMembers:t=>e(e=>e.isInTeam?{members:t}:e),setFocusedMember:t=>e({focusedMemberName:t}),setMemberHistory:(t,n)=>e(e=>({memberHistories:{...e.memberHistories,[t]:pd(n)}})),appendMemberHistoryEvent:(t,n)=>e(e=>({memberHistories:{...e.memberHistories,[t]:pd([...e.memberHistories[t]||[],n])}})),archiveTeam:()=>e({isInTeam:!1,isAutoTeam:!1}),clearTeam:()=>e({isInTeam:!1,teamName:null,isAutoTeam:!1,members:[],focusedMemberName:null,memberHistories:{}})})),hd=0,gd={info:5e3,success:5e3,warn:8e3,error:6e3},_d=qe((e,t)=>({toasts:[],addToast:(n,r,i)=>{let a=i?.id??`toast-${++hd}`,o={id:a,type:n,message:r,createdAt:Date.now(),action:i?.action};e(e=>{let t=e.toasts.findIndex(e=>e.id===a);if(t>=0){let n=[...e.toasts];return n[t]=o,{toasts:n}}return{toasts:[...e.toasts.slice(-2),o]}});let s=i?.durationMs??gd[n];return s>0&&setTimeout(()=>{t().removeToast(a)},s),a},removeToast:t=>{e(e=>({toasts:e.toasts.filter(e=>e.id!==t)}))},clearAll:()=>e({toasts:[]})})),W={info:(e,t)=>_d.getState().addToast(`info`,e,t),warn:(e,t)=>_d.getState().addToast(`warn`,e,t),error:(e,t)=>_d.getState().addToast(`error`,e,t),success:(e,t)=>_d.getState().addToast(`success`,e,t)},vd=qe(e=>({userInfo:null,loading:!1,error:null,fetchUserInfo:async t=>{e({loading:!0,error:null});try{let n=await t.getUserInfo();n.userInfo?e({userInfo:n.userInfo,loading:!1}):e({loading:!1})}catch(t){console.warn(`[user] Failed to fetch user info:`,t),e({error:t.message,loading:!1})}},clearUserInfo:()=>{e({userInfo:null,error:null})}})),yd=250,bd=new Set,xd=new Set,Sd=new Map,Cd=0;function wd(e,t,n=yd){Sd.has(t)||Sd.set(t,setTimeout(()=>{Sd.delete(t),Ed.getState().refresh(e,t).catch(()=>void 0)},n))}function Td(e,t){return e.includes(t)?e:[t,...e]}var Ed=qe((e,t)=>({runs:{},runIds:[],hydrate:async n=>{let r=Cd,i;try{({runs:i}=await Rf().listWorkflowRuns(n))}catch{return}if(r===Cd&&i.length!==0){e(e=>{let t={...e.runs};for(let e of i)t[e.runId]?.detail||(t[e.runId]={sessionId:n,loadState:`ready`,detail:{record:e,phases:[],agents:[]}});let r=i.map(e=>e.runId);return{runs:t,runIds:[...r,...e.runIds.filter(e=>!r.includes(e))]}}),t().restoreTimelineCards();for(let e of i)e.status===`running`&&wd(n,e.runId,0)}},pickLatestRun:()=>{let{runs:e,runIds:n}=t(),r=n.map(t=>e[t]?.detail?.record).filter(e=>!!e).sort((e,t)=>t.startedAt-e.startedAt),i=r.find(e=>e.status===`running`)??r[0];if(i)return{runId:i.runId,name:i.name};let a=n[0];return a?{runId:a,name:a}:void 0},restoreTimelineCards:()=>{let{runs:e,runIds:n}=t(),r=n.map(t=>e[t]?.detail?.record).filter(e=>!!e).sort((e,t)=>e.startedAt-t.startedAt);for(let e of r)H.getState().addWorkflowRun({runId:e.runId,name:e.name,timestamp:e.startedAt})},ingestSignal:(n,r)=>{let i=t().runs[r.runId];e(e=>({runIds:Td(e.runIds,r.runId),runs:{...e.runs,[r.runId]:{...i??{loadState:`loading`},sessionId:n,lastSignal:r}}})),r.kind===`workflow_run_started`&&H.getState().addWorkflowRun({runId:r.runId,name:r.name??r.runId,timestamp:r.at});let a=r.kind===`workflow_run_started`||r.kind===`workflow_run_finished`;wd(n,r.runId,a?0:yd)},ensureLoaded:(n,r)=>{let i=t().runs[r];i&&i.sessionId===n&&i.loadState!==`error`||((!i||i.sessionId!==n)&&e(e=>({runs:{...e.runs,[r]:{sessionId:n,loadState:`loading`}},runIds:Td(e.runIds,r)})),t().refresh(n,r).catch(()=>void 0))},refresh:async(t,n)=>{if(bd.has(n)){xd.add(n);return}bd.add(n);let r=Cd;try{let i=await Rf().getWorkflowDetail(t,n);if(r!==Cd)return;e(e=>{let r=e.runs[n],a=i.found&&i.detail?{...r,sessionId:t,loadState:`ready`,detail:i.detail}:{...r,sessionId:t,loadState:r?.detail?`ready`:`missing`};return{runs:{...e.runs,[n]:a}}})}catch{if(r!==Cd)return;e(e=>{let r=e.runs[n];return{runs:{...e.runs,[n]:{...r,sessionId:t,loadState:r?.detail?`ready`:`error`}}}})}finally{bd.delete(n),r===Cd&&xd.delete(n)&&wd(t,n)}},control:async(n,r,i,a)=>{e(e=>{let t=e.runs[r];return t?{runs:{...e.runs,[r]:{...t,pendingAction:i}}}:e});try{let{ok:e}=await Rf().controlWorkflow(n,r,i,a);return e}catch{return!1}finally{e(e=>{let t=e.runs[r];return t?{runs:{...e.runs,[r]:{...t,pendingAction:void 0}}}:e}),t().refresh(n,r).catch(()=>void 0)}},reset:()=>{Cd++;for(let e of Sd.values())clearTimeout(e);Sd.clear(),bd.clear(),xd.clear(),e({runs:{},runIds:[]})}}));function Dd(e,t){if(typeof e!=`string`||e.length===0)return;let n={};for(let r of e.split(`
|
|
17
|
-
`)){let e=t?.length?t.filter(e=>e.length>0&&r.includes(e)).sort((e,t)=>t.length-e.length):[],i=!1;for(let t of e){let e=r.slice(r.indexOf(t)+t.length).trim().match(/^(?:→|->)\s*(.+?)\s*$/);if(e){n[t]=e[1],i=!0;break}}if(i)continue;let a=r.match(/^\s*·\s*(.+?)\s*(?:→|->)\s*(.+?)\s*$/);a&&(n[a[1]]=a[2])}return Object.keys(n).length>0?n:void 0}var Od=`codebuddy.permissionMode.staged`,kd=`codebuddy.model.staged`,Ad=new Set([`default`,`acceptEdits`,`plan`,`auto`,`dontAsk`,`bypassPermissions`,`fullAccess`,`work`,`delegate`]),jd=new Set([`default`,`acceptEdits`,`plan`,`auto`,`dontAsk`,`bypassPermissions`]);function Md(){if(o())return null;let e=Ki.getState().target;return e?.kind===`job`&&e.jobId?e.jobId:null}function Nd(){return o()||Md()!==null}function Pd(e,t){return t?`${_e(t)}${e}`:e}function Fd(e){return Ad.has(e)}function Id(e){return e===`fullAccess`?`bypassPermissions`:jd.has(e)?e:``}function Ld(e=Md()){try{if(typeof localStorage>`u`)return null;let t=localStorage.getItem(Pd(Od,e));return t&&Fd(t)?t:null}catch{return null}}function Rd(e,t=Md()){if(Fd(e))try{if(typeof localStorage>`u`)return;localStorage.setItem(Pd(Od,t),e)}catch{}}function zd(e,t=Md()){Fd(e)&&(Rd(e,t),!(t!==null||o())&&vu(e).catch(e=>{console.warn(`[composer-prefs] persist permissions.defaultMode failed:`,e)}))}function Bd(e){let t=typeof e.currentMode==`string`?e.currentMode.trim():``;if(!t||!Fd(t))return!1;let n=typeof e.processPermissionMode==`string`?e.processPermissionMode.trim():``;return!n||t!==n}function Vd(e){return e.embeddedAgent?e.stored??e.processPermissionMode:e.processPermissionMode??e.stored}function Hd(e){let t=e.stored||e.currentMode||``;return t&&Fd(t)?t:null}function Ud(e){return Hd({stored:e.stored,currentMode:e.currentMode&&e.currentMode!=="default"?e.currentMode:void 0})??``}function Wd(e=Md()){try{return typeof localStorage>`u`?null:(localStorage.getItem(Pd(`codebuddy.model.staged`,e))?.trim()??``)||null}catch{return null}}function Gd(e,t=Md()){let n=e.trim();if(n)try{if(typeof localStorage>`u`)return;localStorage.setItem(Pd(kd,t),n)}catch{}}function Kd(e){let t=(e.stored||e.currentModel||``).trim();return!t||e.availableIds&&e.availableIds.length>0&&!e.availableIds.includes(t)?null:t}var qd=[`cli`,`ptc`,`minimal`,`create`];function Jd(e){return qd.includes(e)}function Yd(e,t){return e||t}function Xd(e,t){return t.length>0&&e===t}function Zd(e){return{builtin:e.filter(e=>Jd(e.name)),custom:e.filter(e=>!Jd(e.name)&&(e.custom===!0||e.source!==`built-in`))}}function Qd(e){return e.id===`agent`&&e.type===`select`&&(Ko.getState().applyAgentConfigEntry(e),!0)}function $d(e){if(e.sessionBlank!==!0)return null;let t=e.stagedAgent??e.stored;return!t||!e.sessionId||e.currentAgentName&&e.defaultAgentName&&e.currentAgentName===e.defaultAgentName&&t!==e.defaultAgentName?null:{agentName:t,sessionId:e.sessionId}}function ef(e){e&&(Ko.getState().setStagedAgent(e),_u(e).catch(e=>{console.warn(`[main-agent] persist lastUsed failed:`,e)}))}function tf(e){let t=e&&typeof e==`object`?e:{},n=t.codebuddy?.mainAgent,r=typeof n?.lastUsed==`string`?n.lastUsed.trim():``,i=t.permissions?.defaultMode;return{lastUsedAgent:r||null,lastPermissionMode:typeof i==`string`&&Fd(i)?i:null}}async function nf(){let[e,t]=await Promise.all([xc(`/api/v1/settings?scope=user`).then(e=>({ok:!0,value:e}),()=>({ok:!1,value:void 0})),xc(`/api/v1/runtime-defaults`).then(e=>({ok:!0,value:e}),()=>({ok:!1,value:{}}))]),n=t.value,r=n&&typeof n==`object`?n:{},i=typeof r.agent==`string`?r.agent.trim():``,a=typeof r.permissionMode==`string`?r.permissionMode.trim():``;(i||a)&&Ko.getState().applyProcessDefaults({...i?{agent:i}:{},...a?{permissionMode:a}:{}});let o=Md()===null;if(o&&a&&Fd(a)&&U.getState().setCurrentMode(a),!e.ok)return;let s=tf(e.value);if(!Ko.getState().processAgent&&s.lastUsedAgent&&Ko.getState().hydrateStagedAgent(s.lastUsedAgent),!Ko.getState().processPermissionMode&&s.lastPermissionMode){Rd(s.lastPermissionMode,null);let e=U.getState().currentMode;o&&(!e||e==="default")&&U.getState().setCurrentMode(s.lastPermissionMode)}}function rf(e){return e.id===`multitask`&&e.type===`boolean`&&(ld.getState().applyOn(e.currentValue===!0),ld.getState().applySupport(!0),!0)}function af(e){let t=e?.find(e=>e.id===`multitask`&&e.type===`boolean`);if(t&&t.type===`boolean`)return t.currentValue===!0}function of(e,t){return e?t==null||af(t)!==void 0:!1}var sf=class{inFlight=null;run(e){if(this.inFlight)return this.inFlight;let t=e();this.inFlight=t;let n=()=>{this.inFlight===t&&(this.inFlight=null)};return t.then(n,n),t}},cf=class{generation=0;pending;begin(e,t){let n=t.trim();if(!e||!n)throw Error(`Session switch requires current and target session ids`);if(this.pending)throw Error(`Session switch already in progress: ${this.pending.targetSessionId}`);let r=Object.freeze({generation:++this.generation,previousSessionId:e,targetSessionId:n});return this.pending=r,r}expectedSessionId(e){return this.pending?.targetSessionId??e}isCurrent(e){return this.pending===e}adoptRetargetedSession(e){let t=e.trim();if(!t)throw Error(`Retargeted session id is required`);return this.generation++,this.pending=void 0,t}finish(e){this.pending===e&&(this.pending=void 0)}};function lf(e,t,n,r){if(r)return!1;let i=t.at-n,a=0;for(let n of e)n.at>i&&n.at<=t.at&&(e[a++]=n);if(e.length=a,typeof t.messageId!=`string`)return!1;let o=n=>n.serverAt&&t.serverAt?n.serverAt===t.serverAt:n.at===t.at&&e[e.length-1]===n,s=e.findIndex(e=>e.fingerprint===t.fingerprint&&e.messageId===t.messageId&&o(e));if(s!==-1)return e.splice(s,1),!0;let c=e.findIndex(e=>e.fingerprint===t.fingerprint&&typeof e.messageId==`string`&&e.messageId!==t.messageId);return c===-1?(e.push(t),!1):(e.splice(c,1),!0)}var uf=`codebuddy.webui.stream-draft:`;function df(e){return`${uf}${e}`}function ff(){try{return typeof sessionStorage>`u`?void 0:sessionStorage}catch{return}}function pf(e,t=ff()){if(t&&e.sessionId&&(e.content||e.thinking))try{t.setItem(df(e.sessionId),JSON.stringify({...e,savedAt:e.savedAt||Date.now()}))}catch{}}function mf(e,t=ff(),n=Date.now()){if(t&&e)try{let r=t.getItem(df(e));if(!r)return;let i=JSON.parse(r);if(!i||i.sessionId!==e)return;if(typeof i.savedAt!=`number`||n-i.savedAt>216e5){t.removeItem(df(e));return}return!i.content&&!i.thinking?void 0:i}catch{return}}function hf(e,t=ff()){if(t&&e)try{t.removeItem(df(e))}catch{}}function gf(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`message`&&n.role===`user`)break;if(n.type===`message`&&n.role===`assistant`&&typeof n.content==`string`&&n.content)return n.content}return``}function _f(e,t,n){if(!n||!e)return!1;let r=e.content||``,i=e.thinking||``;return!r&&!i?!1:t?t.length>=r.length&&t.startsWith(r)?!1:r.startsWith(t):!0}function vf(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`message`&&n.role===`user`)break;if(n.type===`message`&&n.role===`assistant`&&!n.isCompactInternal){let e=typeof n.content==`string`?n.content:``,t=typeof n.thinking==`string`?n.thinking:``;if(!e&&!t)return;let r=qa(n.timestamp);return{content:e,...r===void 0?{}:{timestamp:r},...t?{thinking:t}:{},...typeof n.messageId==`string`?{messageId:n.messageId}:{}}}}}function yf(e,t){return e.status===`completed`?`completed`:e.status===`failed`?`failed`:e.toolStatus===`completed`?`completed`:e.toolStatus===`failed`?`failed`:e.status!==void 0||e.toolStatus!==void 0?`running`:t??`running`}function bf(e,t){if(!e)return;let n=vf(t);n&&pf({sessionId:e,...n,savedAt:Date.now()})}function xf(e){Ed.getState().hydrate(e).catch(()=>void 0)}function Sf(e){Sc(e).then(t=>{U.getState().sessionId===e&&Dc(t)}).catch(()=>void 0)}function Cf(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.type===`message`&&r.role===`assistant`&&r.streaming)return t===`assistant`?r.content.length:r.thinking?.length??0}return 0}function wf(e){return e.some(e=>e.type===`message`&&e.role===`assistant`&&e.content.length>0)}function Tf(e){if(!e||typeof e!=`object`)return;let t=e;H.getState().applyReconnectSnapshot({...typeof t.busy==`boolean`?{busy:t.busy}:{},...`activeGoal`in t?{activeGoal:t.activeGoal&&typeof t.activeGoal.condition==`string`&&t.activeGoal.condition&&typeof t.activeGoal.createdAt==`number`?{condition:t.activeGoal.condition,createdAt:t.activeGoal.createdAt,...typeof t.activeGoal.pausedAt==`number`?{pausedAt:t.activeGoal.pausedAt}:{}}:null}:{}})}function Ef(e,t=e=>e){if(!Array.isArray(e?.availableCommands))return;let n=e?.sessionId,r=t(U.getState().sessionId);typeof n==`string`&&n.length>0&&r&&n!==r||U.getState().setCommands(e.availableCommands.map(e=>({name:e.name,description:e.description||``,...e._meta?.type===`skill`?{type:`skill`}:{},...typeof e._meta?.source==`string`&&e._meta.source?{source:e._meta.source}:{}})))}function Df(e,t){let n=e.options||e.answers,r=[];return Array.isArray(n)&&(r=n.map(e=>typeof e==`object`&&e&&`label`in e?{label:String(e.label||``),description:String(e.description||``)}:{label:String(e||``),description:``}).filter(e=>e.label.trim().length>0)),{id:e.id||`q_${t}`,question:e.question||``,header:e.header||``,options:r,multiSelect:!!e.multiSelect}}var Of={preparing:`phase.preparing`,model_requesting:`phase.modelRequesting`,model_streaming:`phase.modelStreaming`,model_done:`phase.modelDone`,tool_executing:`phase.toolExecuting`,waiting_for_permission:`chat.waitingPermission`,waiting_for_user:`chat.waitingUser`,retrying:`phase.retrying`,idle:null},kf=new Set([`preparing`,`model_requesting`,`model_streaming`,`tool_executing`,`waiting_for_permission`,`waiting_for_user`,`retrying`]);function Af(e){return e.phase===`tool_executing`&&e.toolName?`phase.toolExecutingName:${e.toolName}`:e.phase===`model_streaming`&&e.streamingToolName?`phase.modelStreamingName:${e.streamingToolName}`:Of[e.phase]??null}function jf(e){let t=e.toLowerCase();return t===`bash`||t===`powershell`||t===`shell`||t.endsWith(`__bash`)?`execute`:`other`}function Mf(e){let t=e[`codebuddy.ai/requestId`];return typeof t==`string`&&t?t:void 0}var Nf=100,Pf=2e3,Ff=new Map;function If(e,t,n){let r=`${e}|${t}`,i=Date.now(),a=Ff.get(r)??{count:0,reportedAt:0};a.count+=1,i-a.reportedAt>=Pf&&(console.debug(`[use-acp] drop frame: ${e}`,{kind:t,count:a.count,...n??{}}),a.reportedAt=i),Ff.set(r,a)}var Lf=null;function Rf(){return Lf||=new Me,Lf}async function zf(e,t){if(!t||typeof t!=`object`)return;let n=t;if(typeof n.requestId!=`string`||typeof n.sessionId!=`string`||typeof n.text!=`string`||n.kind!==`fill`&&n.kind!==`submit`)return;let{sessionId:r,requestId:i,text:a}=n,o=()=>{let t=U.getState();return Lf===e&&t.status===`connected`&&t.sessionId===r&&!t.sessionSwitching&&!t.sessionFollow},s=(t,n)=>e.callExtMethod(`_codebuddy.ai/modPromptUiAck`,{sessionId:r,requestId:i,accepted:t,error:n}).then(e=>e.accepted===!0).catch(()=>!1);if(!o()){await s(!1,`The requested input surface is not active`);return}if(!await s(!0)||!o())return;if(n.kind===`fill`){U.getState().setExternalInput({text:a});return}let c=H.getState();if(U.getState().setPromptSuggestion(null),c.isAgentRunning){let t=Cu(Du.getState().mode,a);e.sendWhileBusy(r,a,void 0,void 0,t,i).then(e=>{o()&&(e.steered?H.getState().addQueuedUserMessage(a):H.getState().applyFollowupQueue(e.items))}).catch(e=>{o()&&!(e instanceof Ye)&&W.error(ye(e))})}else c.addUserMessage(a),e.prompt(r,a,void 0,void 0,{modPromptRequestId:i,onDispatch:()=>{if(!o())throw new Ye;H.getState().setAgentRunning(!0)}}).then(e=>{o()&&H.getState().setSessionEnd(e.stopReason,e.errorMessage,e.errorCategory,e.finishReason)}).catch(e=>{o()&&!(e instanceof Ye)&&H.getState().setSessionEnd(`error`,ye(e))})}function Bf(){let e=(0,V.useRef)(Rf()),t=(0,V.useRef)(new cf),n=(0,V.useRef)(null),r=(0,V.useRef)(new sf),i=(0,V.useRef)(new sf),a=(0,V.useRef)(new Gi),s=(0,V.useRef)(null),c=(0,V.useRef)(Promise.resolve()),l=(0,V.useCallback)(async()=>{let t=e.current;t.getConnectionId()||await t.connect()},[]),u=(0,V.useRef)(new Map),d=(0,V.useRef)(new Set),f=(0,V.useRef)(new Map),p=(0,V.useCallback)(e=>{if(e){f.current.delete(e);return}f.current.clear()},[]),m=(0,V.useCallback)(async(t,n)=>{if(o())return;let r=e.current,i=r.getBaseUrl();if(d.current.has(I(i)))return;let a=Hc();t&&t!==n&&a.unsubscribeSession(i,t);let s=null;try{s=await qu(i,n)}catch(e){console.warn(`[use-acp] session snapshot unavailable; subscribing live-only:`,ye(e))}if(!r.isBoundTo(i,n))return;if(!s){a.subscribeSession(i,n);return}Qu(s,{emit:e=>r.dispatchSessionUpdate(e),inFlightOverride:Zu({snapshotAsOfSeq:s.asOfSeq,snapshotEpoch:s.epoch,lastTurn:Wi(f.current.get(n),s.epoch)})});let c={seq:s.asOfSeq,...s.epoch?{epoch:s.epoch}:{}};a.ensure(i).setCursor(n,c),a.subscribeSession(i,n,c)},[]),h=(0,V.useRef)(new Set),g=(0,V.useRef)([]),_=(0,V.useRef)([]),y=(0,V.useRef)({fingerprint:``,at:0}),b=(0,V.useRef)(new Set),x=(0,V.useRef)(new Set),S=(0,V.useCallback)(e=>typeof e==`string`&&e?e:t.current.expectedSessionId(U.getState().sessionId)??U.getState().sessionId??null,[]),C=(0,V.useCallback)(e=>{let t=S(e);return t?b.current.has(t):!1},[S]),w=(0,V.useCallback)(e=>{let t=S(e);return t?x.current.has(t):!1},[S]),E=U(e=>e.setStatus),ee=U(e=>e.setSessionId),k=U(e=>e.setSessionSwitching),te=U(e=>e.setModels),j=U(e=>e.setCurrentModel),ne=U(e=>e.setModes),re=U(e=>e.setCurrentMode),ie=U(e=>e.setTopic),M=U(e=>e.setThinkingEnabled),ae=U(e=>e.setThoughtLevel),N=U(e=>e.setPromptSuggestion),oe=H(e=>e.applyStreamUpdates),se=H(e=>e.restoreInFlightAssistant),ce=H(e=>e.addToolCall),le=H(e=>e.updateToolCall),P=H(e=>e.addInterruption),F=H(e=>e.addQuestion),ue=H(e=>e.setSessionEnd),de=H(e=>e.resolveInterruptionByToolCallId),fe=H(e=>e.resolveQuestionByToolCallId),me=H(e=>e.setHistoryLoading),he=H(e=>e.addHistoryUserMessageChunk),ge=H(e=>e.addSubagentUserMessage),_e=H(e=>e.finalizeAssistantMessage),ve=H(e=>e.resetForSessionChange),be=H(e=>e.setAgentPhaseLabel),Se=H(e=>e.setProgressLabel),we=H(e=>e.noteAgentActivity),Te=H(e=>e.setCompactCancelled),Ee=H(e=>e.addScheduledTaskTrigger),L=H(e=>e.addGoalProgress),De=H(e=>e.showGoalRecap),Oe=H(e=>e.addGoalStatus),ke=H(e=>e.addGoalResult),je=H(e=>e.applyFollowupQueue),Me=(0,V.useRef)([]),Ne=(0,V.useRef)(null),Fe=(0,V.useCallback)(()=>{let e=Ne.current;Ne.current=null,e?.kind===`timeout`&&clearTimeout(e.id);let t=Me.current;Me.current=[],oe(t),!C()&&t.some(e=>e.kind!==`tool`&&e.replay!==!0)&&bf(U.getState().sessionId,H.getState().timeline)},[oe,C]),Ie=(0,V.useCallback)(e=>{if(Me.current.push(e),Ne.current===null){if(typeof queueMicrotask==`function`){Ne.current={kind:`microtask`},queueMicrotask(Fe);return}Ne.current={kind:`timeout`,id:setTimeout(Fe,0)}}},[Fe]);(0,V.useEffect)(()=>{let e=()=>{C()||bf(U.getState().sessionId,H.getState().timeline)};return window.addEventListener(`pagehide`,e),()=>window.removeEventListener(`pagehide`,e)},[C]),(0,V.useEffect)(()=>{let r=e.current;g.current=[],_.current=[],y.current={fingerprint:``,at:0};let i=[],a=e=>{let n=e?.sessionId,r=t.current.expectedSessionId(U.getState().sessionId),i=Ou(n,r);return i&&If(`foreign-session-envelope`,typeof e?.sessionUpdate==`string`?e.sessionUpdate:`unknown`,{event:String(e?.sessionId??``).slice(0,8),bound:String(r??``).slice(0,8)}),i},o=(e,t)=>{if(!t)return!1;try{let n=(t._meta||{})[`codebuddy.ai/memberEvent`];return n?a(t)?!0:(If(`member-event`,e),md.getState().appendMemberHistoryEvent(n,{sessionUpdate:e,...t}),!0):!1}catch{return!1}};return i.push(r.on(`user_message_chunk`,e=>{if(o(`user_message_chunk`,e)||a(e))return;Fe(),C()||(g.current=[],_.current=[]);let t=e.content,n=e._meta||{},r=!!n[`codebuddy.ai/isCompactInternal`],i=n[`codebuddy.ai/parentToolCallId`],s=typeof e.messageId==`string`?e.messageId:typeof n[`codebuddy.ai/messageId`]==`string`?n[`codebuddy.ai/messageId`]:void 0,c=Na(t,n),l=c.images.length>0?c.images:void 0,u,d=c.text,f=n[`codebuddy.ai/channelSource`];if(f)u={source:f,sender:n[`codebuddy.ai/channelSender`]||``,senderName:n[`codebuddy.ai/channelSenderName`],chatId:n[`codebuddy.ai/channelChatId`],chatType:n[`codebuddy.ai/channelChatType`]};else{let e=aa(c.text);e&&(u=e.channel,d=e.content)}let p=n[`codebuddy.ai/commandKind`]===`slash`?`slash`:void 0;if(d||l){if(!C(e?.sessionId)&&!ss(s)){let t=(l??[]).map(e=>`url`in e?e.url:`data`).join(`,`),n=`${e.sessionId??``}|${i??``}|${d}|${t}`,r=Date.now();if(n===y.current.fingerprint&&r-y.current.at<Nf)return;y.current={fingerprint:n,at:r}}i?ge(i,d,l):he(s,d,l,r,u,p,Ja(n.timestamp,C(e?.sessionId)))}})),i.push(r.on(`agent_message_chunk`,e=>{if(o(`agent_message_chunk`,e)||a(e))return;let t=e.content,n=e._meta||{},r=n[`codebuddy.ai/parentToolCallId`],i=!!n[`codebuddy.ai/isCompactInternal`],s=typeof e.messageId==`string`?e.messageId:typeof n[`codebuddy.ai/messageId`]==`string`?n[`codebuddy.ai/messageId`]:void 0,c=A(n)?Ae:typeof t==`string`?t:typeof t?.text==`string`?t.text:void 0;if(c===void 0)return;let l={fingerprint:`${e.sessionId??``}|${r??``}|${c}`,messageId:s,at:Date.now(),serverAt:typeof n.timestamp==`string`?n.timestamp:void 0};if(lf(g.current,l,Nf,C(e?.sessionId))){If(`mirrored-chunk`,`agent_message_chunk`);return}!C(e?.sessionId)&&!r&&we(),!i&&!r&&Ko.getState().setSessionBlank(!1),Ie({kind:`message`,chunk:c,timestamp:Ja(n.timestamp,C(e?.sessionId)),parentToolCallId:r,isCompactInternal:i,messageId:s,requestId:Mf(n),replay:C(e?.sessionId)||w(e?.sessionId)})})),i.push(r.on(`agent_thought_chunk`,e=>{if(o(`agent_thought_chunk`,e)||a(e))return;let t=e.content,n=e._meta||{},r=n[`codebuddy.ai/parentToolCallId`],i=typeof e.messageId==`string`?e.messageId:typeof n[`codebuddy.ai/messageId`]==`string`?n[`codebuddy.ai/messageId`]:void 0,s=typeof t?.text==`string`?t.text:void 0;if(s===void 0||!s.trim())return;let c={fingerprint:`${e.sessionId??``}|${r??``}|${s}`,messageId:i,at:Date.now(),serverAt:typeof n.timestamp==`string`?n.timestamp:void 0};if(lf(_.current,c,Nf,C(e?.sessionId))){If(`mirrored-chunk`,`agent_thought_chunk`);return}!C(e?.sessionId)&&!r&&we(),Ie({kind:`thinking`,chunk:s,timestamp:Ja(n.timestamp,C(e?.sessionId)),parentToolCallId:r,messageId:i,requestId:Mf(n),replay:C(e?.sessionId)||w(e?.sessionId)})})),i.push(r.on(`tool_call`,e=>{if(o(`tool_call`,e)||a(e))return;Fe();let t=e._meta||{},n=t[`codebuddy.ai/parentToolCallId`],r=!!t[`codebuddy.ai/isSubagent`],i=e.toolName||t[`codebuddy.ai/toolName`]||``,s=t[`codebuddy.ai/planContent`];!C(e?.sessionId)&&!n&&we();let c=e.rawInput||e.input,l=c&&typeof c==`object`&&typeof c.worker_name==`string`?c.worker_name:void 0,u={id:e.toolCallId,name:e.title||i||e.kind||`tool`,kind:e.kind||jf(i),toolName:i,input:c,status:`running`,locations:e.locations,content:e.content,parentToolCallId:n,subagent:r?{type:t[`codebuddy.ai/subagentType`]||`general-purpose`,description:t[`codebuddy.ai/description`]||``,isBackground:!!t[`codebuddy.ai/isBackground`],memberName:t[`codebuddy.ai/memberName`]||void 0,displayName:l}:void 0,planContent:s};if(H.getState().getToolCall(e.toolCallId)){let{id:t,input:n,...r}=u,i=n&&typeof n==`object`&&Object.keys(n).length>0?{...r,input:n}:r;le(e.toolCallId,i)}else ce(u)})),i.push(r.on(`tool_call_update`,e=>{if(o(`tool_call_update`,e)||a(e))return;let t=H.getState().getToolCall(e.toolCallId),n=yf(e,t?.status),r=(e._meta||{})[`codebuddy.ai/rawResponse`],i=t?.toolName||t?.name||``,s=r&&typeof r==`object`&&Array.isArray(r.todos),c=/(?:^|[.:/])Task(?:Create|Update|List)(?:Tool)?$/.test(i),l=0,u={status:n,result:(c||s)&&r!==void 0?r:e.rawOutput||e.toolResult};if(e.content!==void 0){let t=(Array.isArray(e.content)?e.content:[]).filter(e=>!e||typeof e!=`object`?!0:e.type===`content`&&e.content?.type===`text`?(typeof e.content.text==`string`&&(l+=e.content.text.length),!1):!0);t.length>0&&(u.content=t)}e.rawInput&&typeof e.rawInput==`object`&&Object.keys(e.rawInput).length>0&&(u.input=e.rawInput);let d=(e._meta||{})[`codebuddy.ai`];d?.toolMetaData&&(u.metaData=d.toolMetaData);let f=(Array.isArray(e.content)?e.content:[]).find(e=>e?.type===`terminal`&&typeof e.terminalId==`string`);if(f?.terminalId&&e.toolCallId&&su.getState().linkToolCall(e.toolCallId,f.terminalId),n===`completed`&&i===`AskUserQuestion`){let t=u.result,n=typeof t==`string`?t:t&&typeof t==`object`?t.output??t.text:void 0,r=H.getState().timeline.find(t=>t.type===`question`&&t.toolCallId===e.toolCallId),i=Dd(n,r?.type===`question`?r.questions.map(e=>e.question):void 0);H.getState().resolveQuestionByToolCallId(e.toolCallId,i)}Ie({kind:`tool`,toolCallId:e.toolCallId,update:u,generatedChars:l,parentToolCallId:t?.parentToolCallId,replay:C(e?.sessionId)})})),i.push(r.on(`terminal_update`,e=>{if(a(e))return;Fe();let t=(e._meta||{}).timestamp,n=typeof t==`string`?Date.parse(t):void 0;su.getState().applyTerminalUpdate(e,Number.isFinite(n)?n:void 0)})),i.push(r.on(`terminal_output_chunk`,e=>{a(e)||su.getState().appendOutputChunk(e.terminalId,e.data)})),i.push(r.on(`interruption_request`,e=>{if(!a(e)){if(Fe(),e.toolName===`AskUserQuestion`){let t=Array.isArray(e.toolInput?.questions)?e.toolInput.questions:[];F({id:e.toolCallId,toolCallId:e.toolCallId,sessionId:e.sessionId||U.getState().sessionId||``,source:`interruption`,questions:t.map(Df)});return}P({id:e.interruptionId,sessionId:e.sessionId,reason:e.reason,options:e.options,toolName:e.toolName,toolTitle:e.toolTitle,toolInput:e.toolInput,toolCallId:e.toolCallId,workflowSourceText:e.workflowSourceText,toolRiskMetadata:e.toolRiskMetadata,mcpUiIntercept:e.mcpUiIntercept===!0||typeof e.toolCallId==`string`&&e.toolCallId.startsWith(`mcpui-`)})}})),i.push(r.on(`question_request`,e=>{if(a(e))return;Fe();let t=Array.isArray(e.questions)?e.questions:[];F({id:e.toolCallId,toolCallId:e.toolCallId,sessionId:e.sessionId||U.getState().sessionId||``,source:`extMethod`,questions:t.map(Df)})})),i.push(r.on(`elicitation_request`,e=>{a(e)||(Fe(),Pu.getState().add({elicitationId:e.elicitationId,requestId:e.requestId,sessionId:e.sessionId,toolCallId:e.toolCallId,mode:e.mode,message:e.message,requestedSchema:e.requestedSchema}))})),i.push(r.on(`session_end`,e=>{if(a(e))return;Fe(),g.current=[],_.current=[],x.current.delete(S(e?.sessionId)??``),hf(typeof e?.sessionId==`string`?e.sessionId:U.getState().sessionId);let t=v(e);ue(e.stopReason,D(t)??e.errorMessage,t.category,t.finishReason??e.finishReason)})),i.push(r.on(`busTurn`,e=>{if(!a(e)){if(Fe(),e?.phase===`started`){we();return}e?.phase===`ended`&&(H.getState().applyInFlightTurn(null),be(null),Se(null))}})),i.push(r.on(`session_info_update`,e=>{let i=e._meta?.[`codebuddy.ai/modPromptUi`];i&&i.sessionId===e.sessionId&&zf(r,i).catch(e=>{W.error(ye(e))}),e.title&&!a(e)&&ie(e.title);let o=e._meta||{};if(o[`codebuddy.ai/historyReplay`]===`start`){if(!a(e)){Fe(),g.current=[],_.current=[];let t=S(e?.sessionId);t&&(b.current.add(t),h.current.add(t),x.current.delete(t)),H.getState().beginHistoryReplay(),md.getState().clearTeam(),su.getState().reset()}}else if(o[`codebuddy.ai/historyReplay`]===`end`&&!a(e)){Fe();let t=S(e?.sessionId);t&&b.current.delete(t),g.current=[],_.current=[],H.getState().finishHistoryReplay(),Ed.getState().restoreTimelineCards(),Tf(o[`codebuddy.ai/sessionSnapshot`]);let n=H.getState().isAgentRunning,r=mf(t??``);_f(r,gf(H.getState().timeline),n)&&r&&se(r),t&&(n&&wf(H.getState().timeline)?x.current.add(t):x.current.delete(t),h.current.delete(t)),n||(_e(),hf(t))}if(!a(e)&&`codebuddy.ai/sessionSnapshot`in o&&o[`codebuddy.ai/historyReplay`]!==`start`&&o[`codebuddy.ai/historyReplay`]!==`end`&&Tf(o[`codebuddy.ai/sessionSnapshot`]),!a(e)&&o[`codebuddy.ai/agentPhase`]){let e=o[`codebuddy.ai/agentPhase`];be(Af(e)),kf.has(e.phase)&&we()}if(!a(e)&&`codebuddy.ai/progress`in o){let e=o[`codebuddy.ai/progress`];if(e)Se(`progress.${e.type}`),we(),e.type===`compacting`&&Te(!1);else{let e=H.getState().progressLabel;Se(null),e===`progress.compacting`&&_e()}}if(!a(e)&&`codebuddy.ai/compact-cancelled`in o){let e=o[`codebuddy.ai/compact-cancelled`];e&&typeof e==`object`&&Te(!0)}if(!a(e)&&`codebuddy.ai/scheduledTaskTrigger`in o){let e=o[`codebuddy.ai/scheduledTaskTrigger`];e&&typeof e==`object`&&e.taskId&&e.schedule&&(Fe(),Ee({id:e.eventId??`scheduled-task-${e.taskId}-${e.firedAt??Date.now()}`,taskId:e.taskId,executionId:e.executionId,schedule:e.schedule,prompt:e.prompt??``,firedAt:e.firedAt??Date.now()}))}if(!a(e)&&`codebuddy.ai/workflowProgress`in o){let t=o[`codebuddy.ai/workflowProgress`],n=typeof e?.sessionId==`string`?e.sessionId:U.getState().sessionId;t&&typeof t==`object`&&typeof t.runId==`string`&&n&&Ed.getState().ingestSignal(n,t)}if(!a(e)&&`codebuddy.ai/goalProgress`in o){let e=o[`codebuddy.ai/goalProgress`];e&&typeof e==`object`&&e.condition&&L({id:e.id??`goal-progress-${Date.now()}`,condition:e.condition,reason:e.reason,turnCount:e.turnCount??1,createdAt:typeof e.createdAt==`number`?e.createdAt:void 0})}if(!a(e)&&`codebuddy.ai/goalResult`in o){let e=o[`codebuddy.ai/goalResult`];e&&typeof e==`object`&&e.condition&&ke({id:e.id??`goal-result-${Date.now()}`,ok:e.ok!==!1,reason:e.reason,condition:e.condition,durationMs:e.durationMs??0,turnCount:e.turnCount??1,tokenDelta:e.tokenDelta??0})}if(!a(e)&&`codebuddy.ai/followupQueue`in o&&je(xe(o[`codebuddy.ai/followupQueue`])),!a(e)&&`codebuddy.ai/goalRecap`in o){let e=o[`codebuddy.ai/goalRecap`];e&&typeof e==`object`&&De(e)}if(!a(e)&&`codebuddy.ai/mcpFirstRunStatus`in o){let e=o[`codebuddy.ai/mcpFirstRunStatus`];e&&typeof e==`object`&&od.getState().applyEvent(e)}if(!a(e)&&`codebuddy.ai/goalStatus`in o){let e=o[`codebuddy.ai/goalStatus`];e&&typeof e==`object`&&e.kind&&Oe({id:e.id??`goal-status-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,kind:e.kind,condition:e.condition,prev:e.prev,actual:e.actual,max:e.max,createdAt:typeof e.createdAt==`number`?e.createdAt:void 0,pausedAt:typeof e.pausedAt==`number`?e.pausedAt:void 0})}if(o[`codebuddy.ai/sessionReset`]&&!a(e)){let e=o[`codebuddy.ai/newSessionId`];if(e)try{let r=t.current.adoptRetargetedSession(e),i=U.getState().sessionId;if(n.current=null,h.current.clear(),b.current.clear(),x.current.clear(),ve(),md.getState().clearTeam(),me(!1),k(!1),ee(r),Sf(r),xf(r),U.setState({topic:null}),N(null),Nu.getState().reset(),id.getState().reset(),typeof sessionStorage<`u`&&sessionStorage.setItem(`acp-session-id`,r),typeof localStorage<`u`&&localStorage.setItem(`codebuddy.last-session-id`,r),typeof window<`u`&&window.history&&window.location){let e=new URL(window.location.href);e.searchParams.set(`sessionId`,r),window.history.replaceState({},``,e.toString())}m(i,r).catch(e=>{console.warn(`[use-acp] attach session stream after reset failed:`,e)})}catch(e){console.error(`Failed to commit new session after reset: ${ye(e)}`,e)}}if(!a(e)&&o[`codebuddy.ai/permissionResolved`]){let e=o[`codebuddy.ai/toolCallId`],t=o[`codebuddy.ai/decision`];e&&t?(Pe({event:`client-resolved`,toolCallId:e,decision:t}),Rf().clearPermissionRequestByToolCallId(e),de(e,t),fe(e)):console.warn(`[use-acp] permissionResolved missing toolCallId or decision, NOT dispatching`,{toolCallId:e,decision:t})}if(!a(e)&&`codebuddy.ai/promptSuggestion`in o){let e=o[`codebuddy.ai/promptSuggestion`];N(e||null)}let s=o[`codebuddy.ai/teamUpdate`];if(s&&!a(e))switch(s.type){case`member_status_change`:{if(!s.members)break;let e=md.getState(),t=typeof s.teamName==`string`?s.teamName:void 0;if(ku({incomingTeamName:t,currentTeamName:e.teamName,isInTeam:e.isInTeam}))break;t?e.setTeamStatus({isInTeam:!0,teamName:t,isAutoTeam:s.isAutoTeam,members:s.members}):e.updateMembers(s.members);break}case`team_created`:md.getState().setTeamStatus({isInTeam:!0,teamName:s.teamName,isAutoTeam:s.isAutoTeam,members:[]});break;case`team_deleted`:{let e=md.getState();if(ku({incomingTeamName:s.teamName,currentTeamName:e.teamName,isInTeam:e.isInTeam}))break;e.archiveTeam();break}}})),i.push(r.on(`model_update`,e=>{a(e)||(te((e.availableModels||[]).map(e=>({id:e.modelId??e.id,name:e.name||e.modelId||e.id,description:e.description??null,credits:e._meta?.credits??null,contextWindow:e._meta?.maxInputTokens??null}))),j(e.currentModelId||``))})),i.push(r.on(`mode_update`,e=>{a(e)||(e.availableModes&&ne(e.availableModes),e.currentModeId&&re(e.currentModeId))})),i.push(r.on(`current_mode_update`,e=>{a(e)||e.currentModeId&&re(e.currentModeId)})),i.push(r.on(`config_option_update`,e=>{if(a(e))return;let t=e.configOptions||[],n=ld.getState().support!==!1;ld.getState().applySupport(of(n,t));for(let e of t)Qd(e)||rf(e)||(e.id===`thought_level`&&e.type===`select`?(M(e.currentValue!==`disabled`),ae({currentValue:e.currentValue,options:e.options||[]})):e.id===`mode`&&e.type===`select`&&e.currentValue?re(e.currentValue):e.id===`model`&&e.type===`select`&&e.currentValue&&j(e.currentValue))})),i.push(r.on(`status_change`,e=>{(e!==`connected`||U.getState().sessionId)&&E(e)})),i.push(r.on(`usage_update`,e=>{if(typeof e?.used!=`number`||typeof e?.size!=`number`)return;let n=t.current.expectedSessionId(U.getState().sessionId);if(e.sessionId&&n&&e.sessionId!==n)return;let r=e._meta||{};r[`codebuddy.ai/requestCredits`]&&H.getState().mergeRequestCredits(r[`codebuddy.ai/requestCredits`]),r.usage&&H.getState().setTurnTokenUsage(r.usage),(e.used!==0||e.size!==0)&&Nu.getState().setUsage({sessionId:e.sessionId,used:e.used,size:e.size,cost:e.cost,usageByCategory:r[`codebuddy.ai/usageByCategory`]})})),i.push(r.on(`available_commands_update`,e=>{Ef(e,e=>t.current.expectedSessionId(e))})),i.push(r.on(`checkpointCreated`,e=>{a(e)||id.getState().onCheckpoint(e)})),i.push(r.on(`checkpointUpdated`,e=>{a(e)||id.getState().onCheckpoint(e)})),i.push(r.on(`checkpointReverted`,e=>{a(e)||id.getState().reset()})),i.push(r.on(`modRender`,e=>{let t=typeof e?.plugin==`string`?e.plugin:null,n=e?.tree;t&&n&&typeof n==`object`&&`type`in n?sd.getState().setFrame({plugin:t,tree:n}):sd.getState().setFrame(null)})),i.push(r.on(`modRenderFold`,e=>{let t=typeof e?.instanceKey==`string`?e.instanceKey:``,n=e?.tree;t&&n&&typeof n==`object`&&`type`in n&&sd.getState().setFold(t,{tree:n,meta:typeof e?.meta==`object`&&e.meta!==null?e.meta:void 0})})),()=>{Fe(),i.forEach(e=>e())}},[m,Ie,Fe]);let Le=(0,V.useCallback)((e,t)=>{if(e.models&&(te(e.models.availableModels.map(e=>({id:e.modelId??e.id,name:e.name||e.modelId||e.id,description:e.description??null,credits:e._meta?.credits??null,contextWindow:e._meta?.maxInputTokens??null}))),j(e.models.currentModelId)),e.modes&&(ne(e.modes.availableModes),re(e.modes.currentModeId)),e.configOptions)for(let t of e.configOptions)t.id===`thought_level`&&t.type===`select`&&(M(t.currentValue!==`disabled`),ae({currentValue:t.currentValue,options:t.options||[]})),Qd(t),rf(t);(e.agents||e.currentAgentName!==void 0||e.sessionBlank!==void 0)&&Ko.getState().applyAgentFromResponse({agents:e.agents,currentAgentName:e.currentAgentName,defaultAgentName:e.defaultAgentName,sessionBlank:e.sessionBlank});let n=ld.getState().support!==!1;ld.getState().applySupport(of(n,e.configOptions));let r=af(e.configOptions);if(r===void 0?e.multitaskOn===!0||e.currentAgentName===`multitask`?ld.getState().applyOn(!0):e.multitaskOn===!1&&ld.getState().applyOn(!1):ld.getState().applyOn(r),t?.applyLastUsedPrefs){let t=Ko.getState().processAgent,n=Ko.getState().processPermissionMode,r=t?null:$d({sessionBlank:e.sessionBlank??!0,stagedAgent:Ko.getState().stagedAgent,stored:typeof localStorage<`u`?localStorage.getItem(Ho):null,sessionId:U.getState().sessionId,currentAgentName:e.currentAgentName,defaultAgentName:e.defaultAgentName});r&&r.agentName!==e.currentAgentName&&(Ro(),Ko.getState().setLoading(),Rf().callExtMethod(`session/set_agent`,{sessionId:r.sessionId,agentName:r.agentName}).then(e=>{e?.agentName?Ko.getState().applySetAgentResult({agentName:e.agentName,models:e.models??[],currentModelId:e.currentModelId??``,sessionBlank:e.sessionBlank??!1}):zo()}).catch(e=>{zo(),console.warn(`[use-acp] staged main agent injection failed (kept for retry):`,e)}));let i=Ld(),a=Vd({embeddedAgent:Nd(),stored:i,processPermissionMode:Md()?null:n}),o=U.getState().sessionId,s=e.modes?.currentModeId,c=r?.agentName??t??e.currentAgentName,l=(e.models?.availableModels??[]).map(e=>e.modelId??e.id??``).filter(Boolean),u=Kd({stored:Wd(),availableIds:l});u&&o&&u!==e.models?.currentModelId&&!(r&&r.agentName!==e.currentAgentName)&&Rf().setModel(o,u).then(()=>{U.getState().sessionId===o&&U.getState().setCurrentModel(u)}).catch(e=>{console.warn(`[use-acp] last model injection failed:`,e)}),a&&o&&a!==s&&(c!==`minimal`||a!==`plan`)&&Rf().setMode(o,a).then(()=>{U.getState().sessionId===o&&U.getState().setCurrentMode(a)}).catch(e=>{console.warn(`[use-acp] last permission mode injection failed:`,e)})}},[]),Re=(0,V.useCallback)(r=>{Fe();let i=r.trim(),a=U.getState().sessionId;if(!a||!i)return Promise.reject(Error(`Session switch requires current and target session ids`));if(a===i)return Promise.resolve(!0);let s=n.current;if(s)return s.targetSessionId===i?s.promise:s.promise.catch(()=>!1).then(()=>Re(i));let c=t.current.begin(a,i);p(i);let u=U.getState(),d=H.getState(),f=Nu.getState(),g=id.getState(),_=su.getState(),v=Ko.getState();k(!0),U.setState({topic:null}),N(null),Nu.getState().reset(),id.getState().reset(),su.getState().reset(),Mt.getState().closeAllSubagentTabs(),Mt.getState().closeAllWorkflowTabs(),Ed.getState().reset(),Ko.getState().reset({keepProcessDefaults:!0}),ld.getState().clearSession(),h.current.clear(),b.current.clear(),x.current.clear();let y={targetSessionId:i,promise:Promise.resolve(!1)},S=(async()=>{try{await l();let n=await e.current.loadSession(i);if(!t.current.isCurrent(c))return U.getState().sessionId===i;if(h.current.has(i)||(ve({preserveSeededUserIntent:o()}),md.getState().clearTeam()),ee(i),U.getState().setSessionFollow(!1),Sf(i),xf(i),Le(n),await m(a,i).catch(e=>{console.warn(`[use-acp] attach session stream after switch failed:`,e)}),e.current.getFollowupQueue(i).then(e=>je(e)).catch(()=>void 0),typeof sessionStorage<`u`&&sessionStorage.setItem(`acp-session-id`,i),typeof localStorage<`u`&&localStorage.setItem(`codebuddy.last-session-id`,i),typeof window<`u`&&window.history&&window.location){let e=new URL(window.location.href);e.searchParams.get(`sessionId`)!==i&&(e.searchParams.set(`sessionId`,i),window.history.replaceState({},``,e.toString()))}return!0}catch(e){if(!t.current.isCurrent(c))return U.getState().sessionId===i;throw t.current.isCurrent(c)&&(U.setState(u),H.setState(d),Nu.setState(f),id.setState(g),su.setState(_),Ko.setState(v)),e}finally{t.current.finish(c),h.current.clear(),b.current.clear(),x.current.clear(),n.current===y&&(n.current=null,k(!1))}})();return y.promise=S,n.current=y,S},[Le,m,Fe,ve,N,ee,k]);(0,V.useEffect)(()=>{if(o())return;let n=Hc();n.setAuthorizationProvider(()=>{let t=e.current,n=t.getConnectionId(),r=t.getSessionToken();return n&&r?{connectionId:n,sessionToken:r}:null});let r=e.current.on(`status_change`,e=>{e===`connected`&&n.refreshAuthorization()}),i=(t,r)=>{let i=`${I(t)}\n${r}`;if(u.current.has(i))return;let a=Uc({bridge:n,baseUrl:t,sessionId:r,fetchSnapshot:()=>qu(t,r),isCurrent:()=>e.current.isBoundTo(t,r),applySnapshot:t=>{let n=e.current;Qu(t,{emit:e=>n.dispatchSessionUpdate(e),inFlightOverride:Zu({snapshotAsOfSeq:t.asOfSeq,snapshotEpoch:t.epoch,lastTurn:Wi(f.current.get(r),t.epoch)})})}}).then(()=>void 0).catch(e=>{console.warn(`[use-acp] bus resync recovery failed:`,e)}).finally(()=>{u.current.delete(i)});u.current.set(i,a)},a=e=>{I(e)===I(pe(null))&&n.subscribeAppStream(e,`app:jobs`)},s=n.onSessionEvent(({baseUrl:n,frame:r})=>{let a=e.current,o=a.getCurrentSessionId(),s=t.current.expectedSessionId(U.getState().sessionId);if(!o||!s||s!==o||!a.isBoundTo(n,o)||r.streamId!==o){If(`bus-frame-unbound`,`session`,{stream:r.streamId?.slice(0,8)??null,bound:o?.slice(0,8)??null});return}let c=Be(r)?.update?._meta?.[`codebuddy.ai/turn`];if(c&&(c.phase===`started`||c.phase===`ended`)&&f.current.set(o,{phase:c.phase,seq:r.seq,...r.epoch?{epoch:r.epoch}:{}}),r.volatile===!0){let e=Rc(r);if(e){let t=zc({offset:r.offset,localLength:Cf(H.getState().timeline,e)});if(t===`duplicate`)return;if(t===`gap`){i(n,o);return}}}a.handleBusNotification(r)}),c=n.onResync(({baseUrl:n,frame:r})=>{let a=e.current,o=a.getCurrentSessionId(),s=t.current.expectedSessionId(U.getState().sessionId);o&&s&&s===o&&a.isBoundTo(n,o)&&r.streamId===o&&i(n,o)}),l=n.onAck(({baseUrl:t,frame:r})=>{let i=e.current;I(i.getBaseUrl())===I(t)&&i.setBusAuthority(n.getStatus(t)===`ready`&&!d.current.has(I(t))),i.isBoundTo(t,i.getCurrentSessionId())&&console.debug(`[use-acp] bus stream aligned:`,r.streams.length,`stream(s)`)}),p=n.onAppEvent(({frame:e})=>{if(e.streamId!==`app:jobs`)return;let t=Bc(e);t&&zl.getState().applyJobStreamFrames([t])}),m=n.onStatusChange((t,n)=>{let r=e.current;if(I(r.getBaseUrl())===I(t)){if(d.current.has(I(t))){r.setBusTransportActive(!1),r.setBusAuthority(!1);return}r.setBusTransportActive(n===`ready`),r.setBusAuthority(n===`ready`),n===`ready`&&a(t)}});return e.current.setBusAuthority(n.getStatus(pe(null))===`ready`&&!d.current.has(I(pe(null)))),a(pe(null)),()=>{r(),s(),c(),l(),p(),m()}},[]);let Ve=(0,V.useCallback)(r=>i.current.run(async()=>{Fe();let i=r?.persistLastId!==!1,a=U.getState(),o=H.getState(),s=Nu.getState(),c=id.getState();if(!i)return(await e.current.newSession({persistLastId:!1})).sessionId;k(!0);try{Bd({currentMode:a.currentMode,processPermissionMode:Md()?null:Ko.getState().processPermissionMode})&&zd(a.currentMode),a.currentModel&&Gd(a.currentModel);let r=e.current.getCurrentSessionId(),i=await e.current.newSession();return t.current.adoptRetargetedSession(i.sessionId),n.current=null,h.current.clear(),b.current.clear(),x.current.clear(),ve(),md.getState().clearTeam(),Mt.getState().closeAllSubagentTabs(),Mt.getState().closeAllWorkflowTabs(),Ed.getState().reset(),ee(i.sessionId),U.getState().setSessionFollow(!1),Sf(i.sessionId),xf(i.sessionId),Le(i,{applyLastUsedPrefs:!0}),U.setState({topic:null}),N(null),Nu.getState().reset(),id.getState().reset(),await m(r,i.sessionId).catch(e=>{console.warn(`[use-acp] attach session stream after new session failed:`,e)}),i.sessionId}catch(e){throw U.setState(a),H.setState(o),Nu.setState(s),id.setState(c),e}finally{k(!1)}}),[Le,m,Fe,ve,N,ee,k]),He=(0,V.useCallback)(t=>r.current.run(async()=>{sd.getState().setRenderCaps(new Set);let n=typeof t==`string`?t:t?.token,r=typeof t==`object`&&t?.continue,i=typeof t==`object`&&t?.takeWriter===!0,a=typeof t==`object`?t?.sessionId:void 0,o=typeof t==`object`&&t?.suppressReplay===!0,s=e.current.getCurrentSessionId();if(n){let t=e.current;if(t.getToken()!==n){try{await t.disconnect({park:!0})}catch{}t.setToken(n)}}try{E(`connecting`),N(null),i&&(U.getState().setSessionFollow(!1),U.getState().setSessionFault(null));let t=e.current,n=await t.initializeSession({continue:r,takeWriter:i,...a?{sessionId:a}:{},...o?{suppressReplay:!0}:{}}),{components:c}=await t.sendModRenderCap().catch(()=>({components:[]}));if(t!==e.current||t!==Lf)return;sd.getState().setRenderCaps(c===`all`?`all`:new Set(c)),t.requestCurrentModPane().catch(()=>void 0),U.getState().setSessionFollow(!1),ee(n.sessionId),Sf(n.sessionId),xf(n.sessionId),ld.getState().applySupport(of(n.multitaskSupport===!0,n.configOptions)),n.processDefaults?.agent===`multitask`&&ld.getState().applyOn(!0),n.processDefaults&&(Ko.getState().applyProcessDefaults({...n.processDefaults.agent&&n.processDefaults.agent!==`multitask`?{agent:n.processDefaults.agent}:{},...n.processDefaults.permissionMode?{permissionMode:n.processDefaults.permissionMode}:{}}),n.sessionBlank===!0&&n.processDefaults.permissionMode&&U.getState().setCurrentMode(n.processDefaults.permissionMode)),Le(n,{applyLastUsedPrefs:n.sessionBlank===!0}),Ko.getState().applyBackendSupport(n.mainAgentSupport===!0),E(`connected`),o||await m(s,n.sessionId).catch(e=>{console.warn(`[use-acp] attach session stream after connect failed:`,e)}),ze(`/api/v1/settings`,{headers:Je()}).then(e=>e.ok?e.json():null).then(e=>{e&&Du.getState().hydrateFromSettings(e)}).catch(()=>void 0),e.current.getFollowupQueue(n.sessionId).then(e=>je(e)).catch(()=>void 0),vd.getState().fetchUserInfo(e.current)}catch(e){let t=ye(e);console.error(`Connection failed:`,e),U.getState().setError(t);let n=T(t);n!==`unknown`&&U.getState().setSessionFault(n),E(`error`)}}),[]),Ue=(0,V.useCallback)(()=>{Fe(),h.current.clear(),b.current.clear(),x.current.clear(),p(),ve({preserveSeededUserIntent:o()}),md.getState().clearTeam(),Nu.getState().reset(),id.getState().reset(),su.getState().reset(),Mt.getState().closeAllSubagentTabs(),Ko.getState().reset({keepProcessDefaults:!0}),ld.getState().clearSession(),U.setState({sessionId:null,topic:null,sessionFollow:!1,sessionFault:null}),N(null)},[Fe,p,ve,N]),We=(0,V.useCallback)(t=>{let n=e.current,r=Ki.getState();if(Hi({state:{phase:r.phase,target:r.target},target:t,client:n})===`adopt`){let e=n.getCurrentSessionId();return e&&U.getState().sessionId!==e&&ee(e),Ki.getState().markAttached(t,r.generation),Promise.resolve({sessionId:e,adopted:!0})}let i=O(t),o=s.current;if(o?.key===i)return o.promise;let u=a.current.begin(t),m=u.generation,h=Hc();p(t.sessionId),Ki.getState().markBinding(t,m),k(!0);let g={key:i,promise:Promise.resolve({sessionId:null,adopted:!1})},_=async e=>{let t=c.current,n=()=>void 0;c.current=new Promise(e=>{n=e}),await t.catch(()=>void 0);try{return await e()}finally{n()}},v=(async()=>{try{return await _(async()=>{if(!a.current.isCurrent(u))return console.debug(`[use-acp] bind step: superseded before transport`,t.kind),{sessionId:U.getState().sessionId,adopted:!1};if(console.debug(`[use-acp] bind step: start`,t.kind),t.kind===`main`){Ue();let e=r.target;e?.sessionId&&h.unsubscribeSession(e.baseUrl,e.sessionId);let i=pe(null);I(n.getBaseUrl())!==I(i)&&(await n.disconnect({park:!0}),n.setBaseUrl(i)),await He({continue:t.sessionId!==null,...t.sessionId?{sessionId:t.sessionId}:{},suppressReplay:!0});let o=U.getState().sessionId;if(!o)throw Error(`main session did not initialize`);if(zl.getState().jobs.some(e=>e.sessionId===o&&e.kind===`background`&&e.foregroundHeld!==!0)&&(console.warn(`[use-acp] main bind resolved an agent session; opening a blank main session instead`),await He({continue:!1,suppressReplay:!0}),o=U.getState().sessionId,!o))throw Error(`blank main session did not initialize`);if(!a.current.isCurrent(u))return{sessionId:o,adopted:!1};let s=null;try{s=await qu(i,o)}catch(e){if(!Ku(e))throw e;console.warn(`[use-acp] main snapshot unavailable; falling back to ACP replay`)}return a.current.isCurrent(u)?(s?(Qu(s,{emit:e=>n.dispatchSessionUpdate(e),inFlightOverride:Zu({snapshotAsOfSeq:s.asOfSeq,snapshotEpoch:s.epoch,lastTurn:Wi(f.current.get(o),s.epoch)})}),h.subscribeSession(i,o,{seq:s.asOfSeq,...s.epoch?{epoch:s.epoch}:{}})):(await l(),await n.loadSession(o)),a.current.isCurrent(u)&&Ki.getState().markAttached(t,m),{sessionId:o,adopted:!1}):{sessionId:o,adopted:!1}}Ue();let e=r.target;e?.sessionId&&h.unsubscribeSession(e.baseUrl,e.sessionId),await n.disconnect({park:!0}),n.setBaseUrl(t.baseUrl),E(`connecting`),console.debug(`[use-acp] bind step: parked + base set`),await n.connect(),console.debug(`[use-acp] bind step: job gateway connected`);let i=await n.initializeSession({continue:!0,...t.sessionId?{sessionId:t.sessionId}:{},suppressIdentityWrites:!0,urlJobId:t.jobId??null,urlMainSessionId:t.mainSessionId??null,suppressReplay:!0});if(console.debug(`[use-acp] bind step: initializeSession ok`),!a.current.isCurrent(u))return{sessionId:i.sessionId,adopted:!1};U.getState().setSessionFollow(!1),U.getState().setSessionFault(null),ee(i.sessionId),Le(i,{applyLastUsedPrefs:i.sessionBlank===!0}),Sf(i.sessionId),ld.getState().applySupport(of(i.multitaskSupport===!0,i.configOptions)),Ce(nt(t,i.sessionId));let o=null;try{o=await qu(t.baseUrl,i.sessionId)}catch(e){if(!Ku(e))throw e;d.current.add(I(t.baseUrl)),console.warn(`[use-acp] snapshot unavailable (legacy worker / timeout); falling back to ACP replay`)}return a.current.isCurrent(u)?(console.debug(`[use-acp] bind step: snapshot`,o?`applied`:`legacy-fallback`),o?(d.current.delete(I(t.baseUrl)),Qu(o,{emit:e=>n.dispatchSessionUpdate(e),inFlightOverride:Zu({snapshotAsOfSeq:o.asOfSeq,snapshotEpoch:o.epoch,lastTurn:Wi(f.current.get(i.sessionId),o.epoch)})}),h.subscribeSession(t.baseUrl,i.sessionId,{seq:o.asOfSeq,...o.epoch?{epoch:o.epoch}:{}})):(await l(),await n.loadSession(i.sessionId,{suppressIdentityWrites:!0}),n.setBusTransportActive(!1)),a.current.isCurrent(u)&&Ki.getState().markAttached(t,m),E(`connected`),console.debug(`[use-acp] bind step: attached`),{sessionId:i.sessionId,adopted:!1}):{sessionId:i.sessionId,adopted:!1}})}catch(e){let t=ye(e);throw a.current.isCurrent(u)&&(Ki.getState().markSuspended(t,m),U.getState().setError(t),E(`error`)),e}finally{a.current.finish(u),k(!1),s.current===g&&(s.current=null)}})();return g.promise=v,s.current=g,v},[Le,He,Ue,ee,k,E]),Ge=(0,V.useCallback)(async()=>{p(),await e.current.disconnect({park:!0})},[p]);return{client:e.current,connect:He,park:Ge,switchSession:Re,createSession:Ve,bindAgentTarget:We}}var Vf=`codebuddy.workers.passwords`;function Hf(){try{let e=localStorage.getItem(Vf);return e?JSON.parse(e):{}}catch{return{}}}function Uf(e){return Hf()[e]}var Wf=qe((e,t)=>({workers:[],daemon:null,viewingLogsPid:null,logsType:``,logsAvailableTypes:[],logsContent:``,logsPath:``,loading:!1,error:null,fetchWorkers:async()=>{e({loading:!0,error:null});try{let t=await ze(`/api/v1/workers`,{headers:Je()});if(!t.ok)throw Error(`HTTP ${t.status}`);e({workers:(await t.json()).data||[],loading:!1})}catch(t){e({error:t.message,loading:!1})}},fetchDaemonStatus:async()=>{try{let t=await ze(`/api/v1/daemon/status`,{headers:Je()});if(!t.ok)throw Error(`HTTP ${t.status}`);e({daemon:(await t.json()).data||null})}catch{e({daemon:{status:`stopped`}})}},killWorker:async n=>{e({error:null});try{let e=await ze(`/api/v1/workers/${n}`,{method:`DELETE`,headers:Je()});if(!e.ok&&e.status!==204){let t=await e.json().catch(()=>({}));throw Error(t.error?.message||`HTTP ${e.status}`)}await t().fetchWorkers()}catch(t){e({error:t.message})}},fetchLogs:async(t,n,r=200)=>{try{let i=n?`&type=${n}`:``,a=await ze(`/api/v1/workers/${t}/logs?tail=${r}${i}`,{headers:Je()});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error?.message||`HTTP ${a.status}`)}let o=(await a.json()).data||{};e({logsContent:o.content||``,logsType:o.type||``,logsAvailableTypes:o.availableTypes||[],logsPath:o.logPath||``})}catch(t){e({logsContent:`Error loading logs: ${t.message}`})}},setViewingLogsPid:t=>{e({viewingLogsPid:t,logsContent:``,logsType:``,logsAvailableTypes:[],logsPath:``})},startDaemon:async n=>{e({error:null});try{let e=await ze(`/api/v1/daemon/start`,{method:`POST`,headers:Je({"Content-Type":`application/json`}),body:JSON.stringify(n||{})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error?.message||`HTTP ${e.status}`)}await t().fetchDaemonStatus(),await t().fetchWorkers()}catch(t){e({error:t.message})}},stopDaemon:async()=>{e({error:null});try{let e=await ze(`/api/v1/daemon/stop`,{method:`POST`,headers:Je()});if(!e.ok&&e.status!==204){let t=await e.json().catch(()=>({}));throw Error(t.error?.message||`HTTP ${e.status}`)}await t().fetchDaemonStatus(),await t().fetchWorkers()}catch(t){e({error:t.message})}},restartDaemon:async()=>{e({error:null});try{let e=await ze(`/api/v1/daemon/restart`,{method:`POST`,headers:Je({"Content-Type":`application/json`}),body:JSON.stringify({})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error?.message||`HTTP ${e.status}`)}await t().fetchDaemonStatus(),await t().fetchWorkers()}catch(t){e({error:t.message})}}}));function Gf(e){try{let t=new URL(e),n=window.location.hostname;return t.hostname===n?e:(t.hostname=n,t.toString())}catch(t){return console.warn(`Failed to resolve worker URL, using original:`,e,t),e}}function Kf(e,t,n){if(!e.url)return;let r;try{r=new URL(Gf(e.url))}catch{return}let i=Uf(String(e.pid));return i&&r.searchParams.set(`password`,i),t&&r.searchParams.set(`sessionId`,t),n&&r.searchParams.set(`focusExecutionId`,n),r.hash=`/chat`,r.toString()}var qf=`/assets/red-claw-cat--t2EuBIB.png`,G=ct();function Jf(){let{tryT:e}=R();return t=>e(`account.method.${t.id}`)||t.label}function Yf(){let{t:e}=R(),t=Jf(),{accountState:n,loginMethods:r,authUrl:i,isSubmitting:a,error:o,accountLogin:s,startAccountPolling:c,clearError:l}=De(),[u,d]=(0,V.useState)(!1),f=(0,V.useRef)(null);(0,V.useEffect)(()=>{if(n===`polling`)return c()},[n,c]),(0,V.useEffect)(()=>{if(n!==`polling`)return;let e=()=>{document.visibilityState===`visible`&&De.getState().pollAccountStatusOnce()};return document.addEventListener(`visibilitychange`,e),window.addEventListener(`focus`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`focus`,e)}},[n]),(0,V.useEffect)(()=>{if(n===`authenticated`){let e=f.current;if(e&&!e.closed)try{e.close()}catch{}f.current=null,window.focus()}},[n]);let p=(0,V.useCallback)(e=>{f.current=window.open(e,`_blank`)},[]),m=(0,V.useCallback)(async e=>{l();let t=await s(e);t&&p(t)},[s,l,p]),h=(0,V.useCallback)(()=>{i&&navigator.clipboard.writeText(i).then(()=>{d(!0),setTimeout(()=>d(!1),2e3)})},[i]),g=(0,V.useCallback)(()=>{l(),De.getState().checkAccountAuth()},[l]),_=o?e(o)===o?o:e(o):null;return(0,G.jsxs)(`div`,{className:`login-page`,children:[(0,G.jsxs)(`div`,{className:`login-orb login-orb-right`,children:[(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-1`}),(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-2`})]}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-outer`}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-outer2`}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-inner`}),(0,G.jsxs)(`div`,{className:`login-orb login-orb-left`,children:[(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-1`}),(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-2`})]}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-left`}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-left2`}),(0,G.jsxs)(`div`,{className:`login-content`,children:[(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`16px`},children:[(0,G.jsx)(`div`,{className:`login-logo`,children:(0,G.jsx)(`img`,{src:qf,alt:`CodeBuddy`})}),(0,G.jsx)(`h1`,{className:`login-title`,children:e(`account.login.title`)}),n!==`polling`&&(0,G.jsx)(`p`,{className:`login-tagline`,children:e(`account.login.subtitle`)})]}),(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`16px`,width:`100%`,maxWidth:`340px`},children:[_&&(0,G.jsx)(`div`,{className:`login-error`,children:_}),n===`polling`&&(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`20px`,padding:`24px 0`},children:[(0,G.jsx)(Dt,{size:28,className:`animate-spin`,style:{color:`var(--accent-brand, #646cff)`}}),(0,G.jsx)(`div`,{style:{fontSize:`16px`,fontWeight:500,color:`var(--text-primary)`},children:e(`account.login.polling`)}),(0,G.jsx)(`p`,{style:{fontSize:`14px`,color:`var(--text-tertiary)`,textAlign:`center`,lineHeight:1.7,maxWidth:`320px`},children:e(`account.login.polling.hint`)}),(0,G.jsx)(`div`,{style:{display:`flex`,gap:`12px`,marginTop:`12px`},children:i&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{onClick:()=>p(i),style:{fontSize:`14px`,padding:`10px 20px`,background:`var(--bg-secondary, rgba(255,255,255,0.06))`,border:`1px solid var(--border-primary, rgba(255,255,255,0.12))`,borderRadius:`10px`,color:`var(--text-primary)`,cursor:`pointer`,transition:`all 0.2s`},children:e(`account.login.openBrowser`)}),(0,G.jsx)(`button`,{onClick:h,style:{fontSize:`14px`,padding:`10px 20px`,background:`var(--bg-secondary, rgba(255,255,255,0.06))`,border:`1px solid var(--border-primary, rgba(255,255,255,0.12))`,borderRadius:`10px`,color:`var(--text-secondary)`,cursor:`pointer`,transition:`all 0.2s`},children:e(u?`account.login.copied`:`account.login.copyUrl`)})]})}),(0,G.jsx)(`button`,{onClick:g,style:{fontSize:`13px`,padding:`6px 12px`,marginTop:`4px`,background:`transparent`,border:`none`,color:`var(--text-tertiary)`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:e(`account.login.retry`)})]}),n===`needLogin`&&(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`12px`,width:`100%`},children:[r.length>0?r.map(e=>(0,G.jsx)(`button`,{disabled:a,onClick:()=>m(e.id),style:{width:`100%`,padding:`14px 24px`,fontSize:`14px`,fontWeight:500,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:`10px`,background:`var(--bg-secondary, rgba(255,255,255,0.06))`,border:`1px solid var(--border-primary, rgba(255,255,255,0.12))`,borderRadius:`12px`,color:`var(--text-primary)`,cursor:a?`not-allowed`:`pointer`,opacity:a?.6:1,transition:`all 0.2s ease`},onMouseEnter:e=>{a||(e.currentTarget.style.background=`var(--bg-hover, rgba(255,255,255,0.1))`,e.currentTarget.style.borderColor=`var(--accent-brand, #646cff)`)},onMouseLeave:e=>{e.currentTarget.style.background=`var(--bg-secondary, rgba(255,255,255,0.06))`,e.currentTarget.style.borderColor=`var(--border-primary, rgba(255,255,255,0.12))`},children:a?(0,G.jsx)(Dt,{size:16,className:`animate-spin`}):(0,G.jsx)(`span`,{children:t(e)})},e.id)):(0,G.jsx)(`button`,{className:`login-btn`,disabled:a,onClick:()=>m(),style:{width:`100%`,padding:`14px 24px`,fontSize:`14px`},children:a?(0,G.jsx)(Dt,{size:16,className:`animate-spin`}):e(`account.login.button`)}),o&&(0,G.jsx)(`button`,{onClick:g,style:{fontSize:`13px`,padding:`8px 16px`,alignSelf:`center`,background:`transparent`,border:`none`,color:`var(--text-tertiary)`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:e(`account.login.retry`)})]}),n===`checking`&&(0,G.jsx)(`div`,{style:{padding:`24px 0`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,G.jsx)(Dt,{size:24,className:`animate-spin`,style:{color:`var(--text-tertiary)`}})})]})]}),(0,G.jsxs)(`div`,{className:`login-footer`,children:[(0,G.jsx)(`a`,{href:`#privacy`,children:e(`login.privacy`)}),(0,G.jsx)(`a`,{href:`#terms`,children:e(`login.terms`)})]})]})}var Xf=(0,V.createContext)({fault:null,onRetry:()=>void 0});function Zf({fault:e,onRetry:t,hint:n,detail:i}){let{t:a}=R();return e?(0,G.jsxs)(`div`,{className:`error-banner mx-auto mb-2 flex w-full max-w-[780px] items-center justify-between gap-3 rounded-xl px-3 py-2 text-[12px]`,role:`alert`,children:[(0,G.jsxs)(`span`,{className:`min-w-0`,children:[a(r(e)),n?(0,G.jsx)(`span`,{className:`mt-0.5 block text-[11px] text-text-tertiary`,children:n}):null,i?(0,G.jsx)(`span`,{className:`mt-0.5 block break-all text-[11px] text-text-tertiary`,children:i}):null]}),(0,G.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-full px-2.5 py-1 text-[11px] font-medium text-text-primary hover:bg-bg-hover`,onClick:t,children:a(e===`occupied`?`agents.action.takeover`:`connection.retry`)})]}):null}function Qf(){let{fault:e,onRetry:t}=(0,V.useContext)(Xf);return(0,G.jsx)(Zf,{fault:e,onRetry:t})}function $f(){let{fault:e}=(0,V.useContext)(Xf),{t}=R();return e===`occupied`?(0,G.jsx)(`span`,{className:`shrink-0 rounded bg-accent-red/10 px-1.5 py-0.5 text-[10px] text-accent-red`,children:t(`connection.occupiedShort`)}):null}var ep=/<system-reminder\b[^>]*>[\s\S]*?<\/system-reminder>\s*/g,tp=/<user_query>([\s\S]*?)<\/user_query>/g;[`<project-tool-routing>`,`Select tools by the user's actual intent:`,"- Project shared files: use `tdrive.*` and search project files only when the user asks to access/list/search/read/write project assets, project drive, or shared project files. Do not search project files just to gather background for a report, plan, or task.","- Project members: use `project_members` to resolve members.","- Todos/tasks: use `todo_create` / `todo_list` / `todo_update` as needed.","- Project messages: use `project_message_*` to list, view, add, reply, edit, or delete.",`</project-tool-routing>`].join(`
|
|
17
|
+
`)){let e=t?.length?t.filter(e=>e.length>0&&r.includes(e)).sort((e,t)=>t.length-e.length):[],i=!1;for(let t of e){let e=r.slice(r.indexOf(t)+t.length).trim().match(/^(?:→|->)\s*(.+?)\s*$/);if(e){n[t]=e[1],i=!0;break}}if(i)continue;let a=r.match(/^\s*·\s*(.+?)\s*(?:→|->)\s*(.+?)\s*$/);a&&(n[a[1]]=a[2])}return Object.keys(n).length>0?n:void 0}var Od=`codebuddy.permissionMode.staged`,kd=`codebuddy.model.staged`,Ad=new Set([`default`,`acceptEdits`,`plan`,`auto`,`dontAsk`,`bypassPermissions`,`fullAccess`,`work`,`delegate`]),jd=new Set([`default`,`acceptEdits`,`plan`,`auto`,`dontAsk`,`bypassPermissions`]);function Md(){if(o())return null;let e=Ki.getState().target;return e?.kind===`job`&&e.jobId?e.jobId:null}function Nd(){return o()||Md()!==null}function Pd(e,t){return t?`${_e(t)}${e}`:e}function Fd(e){return Ad.has(e)}function Id(e){return e===`fullAccess`?`bypassPermissions`:jd.has(e)?e:``}function Ld(e=Md()){try{if(typeof localStorage>`u`)return null;let t=localStorage.getItem(Pd(Od,e));return t&&Fd(t)?t:null}catch{return null}}function Rd(e,t=Md()){if(Fd(e))try{if(typeof localStorage>`u`)return;localStorage.setItem(Pd(Od,t),e)}catch{}}function zd(e,t=Md()){Fd(e)&&(Rd(e,t),!(t!==null||o())&&vu(e).catch(e=>{console.warn(`[composer-prefs] persist permissions.defaultMode failed:`,e)}))}function Bd(e){let t=typeof e.currentMode==`string`?e.currentMode.trim():``;if(!t||!Fd(t))return!1;let n=typeof e.processPermissionMode==`string`?e.processPermissionMode.trim():``;return!n||t!==n}function Vd(e){return e.embeddedAgent?e.stored??e.processPermissionMode:e.processPermissionMode??e.stored}function Hd(e){let t=e.stored||e.currentMode||``;return t&&Fd(t)?t:null}function Ud(e){return Hd({stored:e.stored,currentMode:e.currentMode&&e.currentMode!=="default"?e.currentMode:void 0})??``}function Wd(e=Md()){try{return typeof localStorage>`u`?null:(localStorage.getItem(Pd(`codebuddy.model.staged`,e))?.trim()??``)||null}catch{return null}}function Gd(e,t=Md()){let n=e.trim();if(n)try{if(typeof localStorage>`u`)return;localStorage.setItem(Pd(kd,t),n)}catch{}}function Kd(e){let t=(e.stored||e.currentModel||``).trim();return!t||e.availableIds&&e.availableIds.length>0&&!e.availableIds.includes(t)?null:t}var qd=[`cli`,`ptc`,`minimal`,`create`];function Jd(e){return qd.includes(e)}function Yd(e,t){return e||t}function Xd(e,t){return t.length>0&&e===t}function Zd(e){return{builtin:e.filter(e=>Jd(e.name)),custom:e.filter(e=>!Jd(e.name)&&(e.custom===!0||e.source!==`built-in`))}}function Qd(e){return e.id===`agent`&&e.type===`select`&&(Ko.getState().applyAgentConfigEntry(e),!0)}function $d(e){if(e.sessionBlank!==!0)return null;let t=e.stagedAgent??e.stored;return!t||!e.sessionId||e.currentAgentName&&e.defaultAgentName&&e.currentAgentName===e.defaultAgentName&&t!==e.defaultAgentName?null:{agentName:t,sessionId:e.sessionId}}function ef(e){e&&(Ko.getState().setStagedAgent(e),_u(e).catch(e=>{console.warn(`[main-agent] persist lastUsed failed:`,e)}))}function tf(e){let t=e&&typeof e==`object`?e:{},n=t.codebuddy?.mainAgent,r=typeof n?.lastUsed==`string`?n.lastUsed.trim():``,i=t.permissions?.defaultMode;return{lastUsedAgent:r||null,lastPermissionMode:typeof i==`string`&&Fd(i)?i:null}}async function nf(){let[e,t]=await Promise.all([xc(`/api/v1/settings?scope=user`).then(e=>({ok:!0,value:e}),()=>({ok:!1,value:void 0})),xc(`/api/v1/runtime-defaults`).then(e=>({ok:!0,value:e}),()=>({ok:!1,value:{}}))]),n=t.value,r=n&&typeof n==`object`?n:{},i=typeof r.agent==`string`?r.agent.trim():``,a=typeof r.permissionMode==`string`?r.permissionMode.trim():``;(i||a)&&Ko.getState().applyProcessDefaults({...i?{agent:i}:{},...a?{permissionMode:a}:{}});let o=Md()===null;if(o&&a&&Fd(a)&&U.getState().setCurrentMode(a),!e.ok)return;let s=tf(e.value);if(!Ko.getState().processAgent&&s.lastUsedAgent&&Ko.getState().hydrateStagedAgent(s.lastUsedAgent),!Ko.getState().processPermissionMode&&s.lastPermissionMode){Rd(s.lastPermissionMode,null);let e=U.getState().currentMode;o&&(!e||e==="default")&&U.getState().setCurrentMode(s.lastPermissionMode)}}function rf(e){return e.id===`multitask`&&e.type===`boolean`&&(ld.getState().applyOn(e.currentValue===!0),ld.getState().applySupport(!0),!0)}function af(e){let t=e?.find(e=>e.id===`multitask`&&e.type===`boolean`);if(t&&t.type===`boolean`)return t.currentValue===!0}function of(e,t){return e?t==null||af(t)!==void 0:!1}var sf=class{inFlight=null;run(e){if(this.inFlight)return this.inFlight;let t=e();this.inFlight=t;let n=()=>{this.inFlight===t&&(this.inFlight=null)};return t.then(n,n),t}},cf=class{generation=0;pending;begin(e,t){let n=t.trim();if(!e||!n)throw Error(`Session switch requires current and target session ids`);if(this.pending)throw Error(`Session switch already in progress: ${this.pending.targetSessionId}`);let r=Object.freeze({generation:++this.generation,previousSessionId:e,targetSessionId:n});return this.pending=r,r}expectedSessionId(e){return this.pending?.targetSessionId??e}isCurrent(e){return this.pending===e}adoptRetargetedSession(e){let t=e.trim();if(!t)throw Error(`Retargeted session id is required`);return this.generation++,this.pending=void 0,t}finish(e){this.pending===e&&(this.pending=void 0)}};function lf(e,t,n,r){if(r)return!1;let i=t.at-n,a=0;for(let n of e)n.at>i&&n.at<=t.at&&(e[a++]=n);if(e.length=a,typeof t.messageId!=`string`)return!1;let o=n=>n.serverAt&&t.serverAt?n.serverAt===t.serverAt:n.at===t.at&&e[e.length-1]===n,s=e.findIndex(e=>e.fingerprint===t.fingerprint&&e.messageId===t.messageId&&o(e));if(s!==-1)return e.splice(s,1),!0;let c=e.findIndex(e=>e.fingerprint===t.fingerprint&&typeof e.messageId==`string`&&e.messageId!==t.messageId);return c===-1?(e.push(t),!1):(e.splice(c,1),!0)}var uf=`codebuddy.webui.stream-draft:`;function df(e){return`${uf}${e}`}function ff(){try{return typeof sessionStorage>`u`?void 0:sessionStorage}catch{return}}function pf(e,t=ff()){if(t&&e.sessionId&&(e.content||e.thinking))try{t.setItem(df(e.sessionId),JSON.stringify({...e,savedAt:e.savedAt||Date.now()}))}catch{}}function mf(e,t=ff(),n=Date.now()){if(t&&e)try{let r=t.getItem(df(e));if(!r)return;let i=JSON.parse(r);if(!i||i.sessionId!==e)return;if(typeof i.savedAt!=`number`||n-i.savedAt>216e5){t.removeItem(df(e));return}return!i.content&&!i.thinking?void 0:i}catch{return}}function hf(e,t=ff()){if(t&&e)try{t.removeItem(df(e))}catch{}}function gf(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`message`&&n.role===`user`)break;if(n.type===`message`&&n.role===`assistant`&&typeof n.content==`string`&&n.content)return n.content}return``}function _f(e,t,n){if(!n||!e)return!1;let r=e.content||``,i=e.thinking||``;return!r&&!i?!1:t?t.length>=r.length&&t.startsWith(r)?!1:r.startsWith(t):!0}function vf(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`message`&&n.role===`user`)break;if(n.type===`message`&&n.role===`assistant`&&!n.isCompactInternal){let e=typeof n.content==`string`?n.content:``,t=typeof n.thinking==`string`?n.thinking:``;if(!e&&!t)return;let r=qa(n.timestamp);return{content:e,...r===void 0?{}:{timestamp:r},...t?{thinking:t}:{},...typeof n.messageId==`string`?{messageId:n.messageId}:{}}}}}function yf(e,t){return e.status===`completed`?`completed`:e.status===`failed`?`failed`:e.toolStatus===`completed`?`completed`:e.toolStatus===`failed`?`failed`:e.status!==void 0||e.toolStatus!==void 0?`running`:t??`running`}function bf(e,t){if(!e)return;let n=vf(t);n&&pf({sessionId:e,...n,savedAt:Date.now()})}function xf(e){Ed.getState().hydrate(e).catch(()=>void 0)}function Sf(e){Sc(e).then(t=>{U.getState().sessionId===e&&Dc(t)}).catch(()=>void 0)}function Cf(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.type===`message`&&r.role===`assistant`&&r.streaming)return t===`assistant`?r.content.length:r.thinking?.length??0}return 0}function wf(e){return e.some(e=>e.type===`message`&&e.role===`assistant`&&e.content.length>0)}function Tf(e){if(!e||typeof e!=`object`)return;let t=e;H.getState().applyReconnectSnapshot({...typeof t.busy==`boolean`?{busy:t.busy}:{},...`activeGoal`in t?{activeGoal:t.activeGoal&&typeof t.activeGoal.condition==`string`&&t.activeGoal.condition&&typeof t.activeGoal.createdAt==`number`?{condition:t.activeGoal.condition,createdAt:t.activeGoal.createdAt,...typeof t.activeGoal.pausedAt==`number`?{pausedAt:t.activeGoal.pausedAt}:{}}:null}:{}})}function Ef(e,t=e=>e){if(!Array.isArray(e?.availableCommands))return;let n=e?.sessionId,r=t(U.getState().sessionId);typeof n==`string`&&n.length>0&&r&&n!==r||U.getState().setCommands(e.availableCommands.map(e=>({name:e.name,description:e.description||``,...e._meta?.type===`skill`?{type:`skill`}:{},...typeof e._meta?.source==`string`&&e._meta.source?{source:e._meta.source}:{}})))}function Df(e,t){let n=e.options||e.answers,r=[];return Array.isArray(n)&&(r=n.map(e=>typeof e==`object`&&e&&`label`in e?{label:String(e.label||``),description:String(e.description||``)}:{label:String(e||``),description:``}).filter(e=>e.label.trim().length>0)),{id:e.id||`q_${t}`,question:e.question||``,header:e.header||``,options:r,multiSelect:!!e.multiSelect}}var Of={preparing:`phase.preparing`,model_requesting:`phase.modelRequesting`,model_streaming:`phase.modelStreaming`,model_done:`phase.modelDone`,tool_executing:`phase.toolExecuting`,waiting_for_permission:`chat.waitingPermission`,waiting_for_user:`chat.waitingUser`,retrying:`phase.retrying`,idle:null},kf=new Set([`preparing`,`model_requesting`,`model_streaming`,`tool_executing`,`waiting_for_permission`,`waiting_for_user`,`retrying`]);function Af(e){return e.phase===`tool_executing`&&e.toolName?`phase.toolExecutingName:${e.toolName}`:e.phase===`model_streaming`&&e.streamingToolName?`phase.modelStreamingName:${e.streamingToolName}`:Of[e.phase]??null}function jf(e){let t=e.toLowerCase();return t===`bash`||t===`powershell`||t===`shell`||t.endsWith(`__bash`)?`execute`:`other`}function Mf(e){let t=e[`codebuddy.ai/requestId`];return typeof t==`string`&&t?t:void 0}var Nf=100,Pf=2e3,Ff=new Map;function If(e,t,n){let r=`${e}|${t}`,i=Date.now(),a=Ff.get(r)??{count:0,reportedAt:0};a.count+=1,i-a.reportedAt>=Pf&&(console.debug(`[use-acp] drop frame: ${e}`,{kind:t,count:a.count,...n??{}}),a.reportedAt=i),Ff.set(r,a)}var Lf=null;function Rf(){return Lf||=new Me,Lf}async function zf(e,t){if(!t||typeof t!=`object`)return;let n=t;if(typeof n.requestId!=`string`||typeof n.sessionId!=`string`||typeof n.text!=`string`||n.kind!==`fill`&&n.kind!==`submit`)return;let{sessionId:r,requestId:i,text:a}=n,o=()=>{let t=U.getState();return Lf===e&&t.status===`connected`&&t.sessionId===r&&!t.sessionSwitching&&!t.sessionFollow},s=(t,n)=>e.callExtMethod(`_codebuddy.ai/modPromptUiAck`,{sessionId:r,requestId:i,accepted:t,error:n}).then(e=>e.accepted===!0).catch(()=>!1);if(!o()){await s(!1,`The requested input surface is not active`);return}if(!await s(!0)||!o())return;if(n.kind===`fill`){U.getState().setExternalInput({text:a});return}let c=H.getState();if(U.getState().setPromptSuggestion(null),c.isAgentRunning){let t=Cu(Du.getState().mode,a);e.sendWhileBusy(r,a,void 0,void 0,t,i).then(e=>{o()&&(e.steered?H.getState().addQueuedUserMessage(a):H.getState().applyFollowupQueue(e.items))}).catch(e=>{o()&&!(e instanceof Ye)&&W.error(ye(e))})}else c.addUserMessage(a),e.prompt(r,a,void 0,void 0,{modPromptRequestId:i,onDispatch:()=>{if(!o())throw new Ye;H.getState().setAgentRunning(!0)}}).then(e=>{o()&&H.getState().setSessionEnd(e.stopReason,e.errorMessage,e.errorCategory,e.finishReason)}).catch(e=>{o()&&!(e instanceof Ye)&&H.getState().setSessionEnd(`error`,ye(e))})}function Bf(){let e=(0,V.useRef)(Rf()),t=(0,V.useRef)(new cf),n=(0,V.useRef)(null),r=(0,V.useRef)(new sf),i=(0,V.useRef)(new sf),a=(0,V.useRef)(new Gi),s=(0,V.useRef)(null),c=(0,V.useRef)(Promise.resolve()),l=(0,V.useCallback)(async()=>{let t=e.current;t.getConnectionId()||await t.connect()},[]),u=(0,V.useRef)(new Map),d=(0,V.useRef)(new Set),f=(0,V.useRef)(new Map),p=(0,V.useCallback)(e=>{if(e){f.current.delete(e);return}f.current.clear()},[]),m=(0,V.useCallback)(async(t,n)=>{if(o())return;let r=e.current,i=r.getBaseUrl();if(d.current.has(I(i)))return;let a=Hc();t&&t!==n&&a.unsubscribeSession(i,t);let s=null;try{s=await qu(i,n)}catch(e){console.warn(`[use-acp] session snapshot unavailable; subscribing live-only:`,ye(e))}if(!r.isBoundTo(i,n))return;if(!s){a.subscribeSession(i,n);return}Qu(s,{emit:e=>r.dispatchSessionUpdate(e),inFlightOverride:Zu({snapshotAsOfSeq:s.asOfSeq,snapshotEpoch:s.epoch,lastTurn:Wi(f.current.get(n),s.epoch)})});let c={seq:s.asOfSeq,...s.epoch?{epoch:s.epoch}:{}};a.ensure(i).setCursor(n,c),a.subscribeSession(i,n,c)},[]),h=(0,V.useRef)(new Set),g=(0,V.useRef)([]),_=(0,V.useRef)([]),y=(0,V.useRef)({fingerprint:``,at:0}),b=(0,V.useRef)(new Set),x=(0,V.useRef)(new Set),S=(0,V.useCallback)(e=>typeof e==`string`&&e?e:t.current.expectedSessionId(U.getState().sessionId)??U.getState().sessionId??null,[]),C=(0,V.useCallback)(e=>{let t=S(e);return t?b.current.has(t):!1},[S]),w=(0,V.useCallback)(e=>{let t=S(e);return t?x.current.has(t):!1},[S]),E=U(e=>e.setStatus),ee=U(e=>e.setSessionId),k=U(e=>e.setSessionSwitching),te=U(e=>e.setModels),j=U(e=>e.setCurrentModel),ne=U(e=>e.setModes),re=U(e=>e.setCurrentMode),ie=U(e=>e.setTopic),M=U(e=>e.setThinkingEnabled),ae=U(e=>e.setThoughtLevel),N=U(e=>e.setPromptSuggestion),oe=H(e=>e.applyStreamUpdates),se=H(e=>e.restoreInFlightAssistant),ce=H(e=>e.addToolCall),le=H(e=>e.updateToolCall),P=H(e=>e.addInterruption),F=H(e=>e.addQuestion),ue=H(e=>e.setSessionEnd),de=H(e=>e.resolveInterruptionByToolCallId),fe=H(e=>e.resolveQuestionByToolCallId),me=H(e=>e.setHistoryLoading),he=H(e=>e.addHistoryUserMessageChunk),ge=H(e=>e.addSubagentUserMessage),_e=H(e=>e.finalizeAssistantMessage),ve=H(e=>e.resetForSessionChange),be=H(e=>e.setAgentPhaseLabel),Se=H(e=>e.setProgressLabel),we=H(e=>e.noteAgentActivity),Te=H(e=>e.setCompactCancelled),Ee=H(e=>e.addScheduledTaskTrigger),L=H(e=>e.addGoalProgress),De=H(e=>e.showGoalRecap),Oe=H(e=>e.addGoalStatus),ke=H(e=>e.addGoalResult),je=H(e=>e.applyFollowupQueue),Me=(0,V.useRef)([]),Ne=(0,V.useRef)(null),Fe=(0,V.useCallback)(()=>{let e=Ne.current;Ne.current=null,e?.kind===`timeout`&&clearTimeout(e.id);let t=Me.current;Me.current=[],oe(t),!C()&&t.some(e=>e.kind!==`tool`&&e.replay!==!0)&&bf(U.getState().sessionId,H.getState().timeline)},[oe,C]),Ie=(0,V.useCallback)(e=>{if(Me.current.push(e),Ne.current===null){if(typeof queueMicrotask==`function`){Ne.current={kind:`microtask`},queueMicrotask(Fe);return}Ne.current={kind:`timeout`,id:setTimeout(Fe,0)}}},[Fe]);(0,V.useEffect)(()=>{let e=()=>{C()||bf(U.getState().sessionId,H.getState().timeline)};return window.addEventListener(`pagehide`,e),()=>window.removeEventListener(`pagehide`,e)},[C]),(0,V.useEffect)(()=>{let r=e.current;g.current=[],_.current=[],y.current={fingerprint:``,at:0};let i=[],a=e=>{let n=e?.sessionId,r=t.current.expectedSessionId(U.getState().sessionId),i=Ou(n,r);return i&&If(`foreign-session-envelope`,typeof e?.sessionUpdate==`string`?e.sessionUpdate:`unknown`,{event:String(e?.sessionId??``).slice(0,8),bound:String(r??``).slice(0,8)}),i},o=(e,t)=>{if(!t)return!1;try{let n=(t._meta||{})[`codebuddy.ai/memberEvent`];return n?a(t)?!0:(If(`member-event`,e),md.getState().appendMemberHistoryEvent(n,{sessionUpdate:e,...t}),!0):!1}catch{return!1}};return i.push(r.on(`user_message_chunk`,e=>{if(o(`user_message_chunk`,e)||a(e))return;Fe(),C()||(g.current=[],_.current=[]);let t=e.content,n=e._meta||{},r=!!n[`codebuddy.ai/isCompactInternal`],i=n[`codebuddy.ai/parentToolCallId`],s=typeof e.messageId==`string`?e.messageId:typeof n[`codebuddy.ai/messageId`]==`string`?n[`codebuddy.ai/messageId`]:void 0,c=Na(t,n),l=c.images.length>0?c.images:void 0,u,d=c.text,f=n[`codebuddy.ai/channelSource`];if(f)u={source:f,sender:n[`codebuddy.ai/channelSender`]||``,senderName:n[`codebuddy.ai/channelSenderName`],chatId:n[`codebuddy.ai/channelChatId`],chatType:n[`codebuddy.ai/channelChatType`]};else{let e=aa(c.text);e&&(u=e.channel,d=e.content)}let p=n[`codebuddy.ai/commandKind`]===`slash`?`slash`:void 0;if(d||l){if(!C(e?.sessionId)&&!ss(s)){let t=(l??[]).map(e=>`url`in e?e.url:`data`).join(`,`),n=`${e.sessionId??``}|${i??``}|${d}|${t}`,r=Date.now();if(n===y.current.fingerprint&&r-y.current.at<Nf)return;y.current={fingerprint:n,at:r}}i?ge(i,d,l):he(s,d,l,r,u,p,Ja(n.timestamp,C(e?.sessionId)))}})),i.push(r.on(`agent_message_chunk`,e=>{if(o(`agent_message_chunk`,e)||a(e))return;let t=e.content,n=e._meta||{},r=n[`codebuddy.ai/parentToolCallId`],i=!!n[`codebuddy.ai/isCompactInternal`],s=typeof e.messageId==`string`?e.messageId:typeof n[`codebuddy.ai/messageId`]==`string`?n[`codebuddy.ai/messageId`]:void 0,c=A(n)?Ae:typeof t==`string`?t:typeof t?.text==`string`?t.text:void 0;if(c===void 0)return;let l={fingerprint:`${e.sessionId??``}|${r??``}|${c}`,messageId:s,at:Date.now(),serverAt:typeof n.timestamp==`string`?n.timestamp:void 0};if(lf(g.current,l,Nf,C(e?.sessionId))){If(`mirrored-chunk`,`agent_message_chunk`);return}!C(e?.sessionId)&&!r&&we(),!i&&!r&&Ko.getState().setSessionBlank(!1),Ie({kind:`message`,chunk:c,timestamp:Ja(n.timestamp,C(e?.sessionId)),parentToolCallId:r,isCompactInternal:i,messageId:s,requestId:Mf(n),replay:C(e?.sessionId)||w(e?.sessionId)})})),i.push(r.on(`agent_thought_chunk`,e=>{if(o(`agent_thought_chunk`,e)||a(e))return;let t=e.content,n=e._meta||{},r=n[`codebuddy.ai/parentToolCallId`],i=typeof e.messageId==`string`?e.messageId:typeof n[`codebuddy.ai/messageId`]==`string`?n[`codebuddy.ai/messageId`]:void 0,s=typeof t?.text==`string`?t.text:void 0;if(s===void 0||!s.trim())return;let c={fingerprint:`${e.sessionId??``}|${r??``}|${s}`,messageId:i,at:Date.now(),serverAt:typeof n.timestamp==`string`?n.timestamp:void 0};if(lf(_.current,c,Nf,C(e?.sessionId))){If(`mirrored-chunk`,`agent_thought_chunk`);return}!C(e?.sessionId)&&!r&&we(),Ie({kind:`thinking`,chunk:s,timestamp:Ja(n.timestamp,C(e?.sessionId)),parentToolCallId:r,messageId:i,requestId:Mf(n),replay:C(e?.sessionId)||w(e?.sessionId)})})),i.push(r.on(`tool_call`,e=>{if(o(`tool_call`,e)||a(e))return;Fe();let t=e._meta||{},n=t[`codebuddy.ai/parentToolCallId`],r=!!t[`codebuddy.ai/isSubagent`],i=e.toolName||t[`codebuddy.ai/toolName`]||``,s=t[`codebuddy.ai/planContent`];!C(e?.sessionId)&&!n&&we();let c=e.rawInput||e.input,l=c&&typeof c==`object`&&typeof c.worker_name==`string`?c.worker_name:void 0,u={id:e.toolCallId,name:e.title||i||e.kind||`tool`,kind:e.kind||jf(i),toolName:i,input:c,status:`running`,locations:e.locations,content:e.content,parentToolCallId:n,subagent:r?{type:t[`codebuddy.ai/subagentType`]||`general-purpose`,description:t[`codebuddy.ai/description`]||``,isBackground:!!t[`codebuddy.ai/isBackground`],memberName:t[`codebuddy.ai/memberName`]||void 0,displayName:l}:void 0,planContent:s};if(H.getState().getToolCall(e.toolCallId)){let{id:t,input:n,...r}=u,i=n&&typeof n==`object`&&Object.keys(n).length>0?{...r,input:n}:r;le(e.toolCallId,i)}else ce(u)})),i.push(r.on(`tool_call_update`,e=>{if(o(`tool_call_update`,e)||a(e))return;let t=H.getState().getToolCall(e.toolCallId),n=yf(e,t?.status),r=e._meta||{},i=t?.parentToolCallId??(typeof r[`codebuddy.ai/parentToolCallId`]==`string`?r[`codebuddy.ai/parentToolCallId`]:void 0),s=r[`codebuddy.ai/rawResponse`],c=t?.toolName||t?.name||``,l=s&&typeof s==`object`&&Array.isArray(s.todos),u=/(?:^|[.:/])Task(?:Create|Update|List)(?:Tool)?$/.test(c),d=0,f={status:n,...i?{parentToolCallId:i}:{},result:(u||l)&&s!==void 0?s:e.rawOutput||e.toolResult};if(e.content!==void 0){let t=(Array.isArray(e.content)?e.content:[]).filter(e=>!e||typeof e!=`object`?!0:e.type===`content`&&e.content?.type===`text`?(typeof e.content.text==`string`&&(d+=e.content.text.length),!1):!0);t.length>0&&(f.content=t)}e.rawInput&&typeof e.rawInput==`object`&&Object.keys(e.rawInput).length>0&&(f.input=e.rawInput);let p=(e._meta||{})[`codebuddy.ai`];p?.toolMetaData&&(f.metaData=p.toolMetaData);let m=(Array.isArray(e.content)?e.content:[]).find(e=>e?.type===`terminal`&&typeof e.terminalId==`string`);if(m?.terminalId&&e.toolCallId&&su.getState().linkToolCall(e.toolCallId,m.terminalId),n===`completed`&&c===`AskUserQuestion`){let t=f.result,n=typeof t==`string`?t:t&&typeof t==`object`?t.output??t.text:void 0,r=H.getState().timeline.find(t=>t.type===`question`&&t.toolCallId===e.toolCallId),i=Dd(n,r?.type===`question`?r.questions.map(e=>e.question):void 0);H.getState().resolveQuestionByToolCallId(e.toolCallId,i)}Ie({kind:`tool`,toolCallId:e.toolCallId,update:f,generatedChars:d,parentToolCallId:i,replay:C(e?.sessionId)})})),i.push(r.on(`terminal_update`,e=>{if(a(e))return;Fe();let t=(e._meta||{}).timestamp,n=typeof t==`string`?Date.parse(t):void 0;su.getState().applyTerminalUpdate(e,Number.isFinite(n)?n:void 0)})),i.push(r.on(`terminal_output_chunk`,e=>{a(e)||su.getState().appendOutputChunk(e.terminalId,e.data)})),i.push(r.on(`interruption_request`,e=>{if(!a(e)){if(Fe(),e.toolName===`AskUserQuestion`){let t=Array.isArray(e.toolInput?.questions)?e.toolInput.questions:[];F({id:e.toolCallId,toolCallId:e.toolCallId,sessionId:e.sessionId||U.getState().sessionId||``,source:`interruption`,questions:t.map(Df)});return}P({id:e.interruptionId,sessionId:e.sessionId,reason:e.reason,options:e.options,toolName:e.toolName,toolTitle:e.toolTitle,toolInput:e.toolInput,toolCallId:e.toolCallId,workflowSourceText:e.workflowSourceText,toolRiskMetadata:e.toolRiskMetadata,mcpUiIntercept:e.mcpUiIntercept===!0||typeof e.toolCallId==`string`&&e.toolCallId.startsWith(`mcpui-`)})}})),i.push(r.on(`question_request`,e=>{if(a(e))return;Fe();let t=Array.isArray(e.questions)?e.questions:[];F({id:e.toolCallId,toolCallId:e.toolCallId,sessionId:e.sessionId||U.getState().sessionId||``,source:`extMethod`,questions:t.map(Df)})})),i.push(r.on(`elicitation_request`,e=>{a(e)||(Fe(),Pu.getState().add({elicitationId:e.elicitationId,requestId:e.requestId,sessionId:e.sessionId,toolCallId:e.toolCallId,mode:e.mode,message:e.message,requestedSchema:e.requestedSchema}))})),i.push(r.on(`session_end`,e=>{if(o(`session_end`,e)||a(e))return;Fe(),g.current=[],_.current=[],x.current.delete(S(e?.sessionId)??``),hf(typeof e?.sessionId==`string`?e.sessionId:U.getState().sessionId);let t=v(e);ue(e.stopReason,D(t)??e.errorMessage,t.category,t.finishReason??e.finishReason)})),i.push(r.on(`busTurn`,e=>{if(!a(e)){if(Fe(),e?.phase===`started`){we();return}e?.phase===`ended`&&(H.getState().applyInFlightTurn(null),be(null),Se(null))}})),i.push(r.on(`session_info_update`,e=>{if(e?._meta?.[`codebuddy.ai/memberEvent`])return;let i=e._meta?.[`codebuddy.ai/modPromptUi`];i&&i.sessionId===e.sessionId&&zf(r,i).catch(e=>{W.error(ye(e))}),e.title&&!a(e)&&ie(e.title);let o=e._meta||{};if(o[`codebuddy.ai/historyReplay`]===`start`){if(!a(e)){Fe(),g.current=[],_.current=[];let t=S(e?.sessionId);t&&(b.current.add(t),h.current.add(t),x.current.delete(t)),H.getState().beginHistoryReplay(),md.getState().clearTeam(),su.getState().reset()}}else if(o[`codebuddy.ai/historyReplay`]===`end`&&!a(e)){Fe();let t=S(e?.sessionId);t&&b.current.delete(t),g.current=[],_.current=[],H.getState().finishHistoryReplay(),Ed.getState().restoreTimelineCards(),Tf(o[`codebuddy.ai/sessionSnapshot`]);let n=H.getState().isAgentRunning,r=mf(t??``);_f(r,gf(H.getState().timeline),n)&&r&&se(r),t&&(n&&wf(H.getState().timeline)?x.current.add(t):x.current.delete(t),h.current.delete(t)),n||(_e(),hf(t))}if(!a(e)&&`codebuddy.ai/sessionSnapshot`in o&&o[`codebuddy.ai/historyReplay`]!==`start`&&o[`codebuddy.ai/historyReplay`]!==`end`&&Tf(o[`codebuddy.ai/sessionSnapshot`]),!a(e)&&o[`codebuddy.ai/agentPhase`]){let e=o[`codebuddy.ai/agentPhase`];be(Af(e)),kf.has(e.phase)&&we()}if(!a(e)&&`codebuddy.ai/progress`in o){let e=o[`codebuddy.ai/progress`];if(e)Se(`progress.${e.type}`),we(),e.type===`compacting`&&Te(!1);else{let e=H.getState().progressLabel;Se(null),e===`progress.compacting`&&_e()}}if(!a(e)&&`codebuddy.ai/compact-cancelled`in o){let e=o[`codebuddy.ai/compact-cancelled`];e&&typeof e==`object`&&Te(!0)}if(!a(e)&&`codebuddy.ai/scheduledTaskTrigger`in o){let e=o[`codebuddy.ai/scheduledTaskTrigger`];e&&typeof e==`object`&&e.taskId&&e.schedule&&(Fe(),Ee({id:e.eventId??`scheduled-task-${e.taskId}-${e.firedAt??Date.now()}`,taskId:e.taskId,executionId:e.executionId,schedule:e.schedule,prompt:e.prompt??``,firedAt:e.firedAt??Date.now()}))}if(!a(e)&&`codebuddy.ai/workflowProgress`in o){let t=o[`codebuddy.ai/workflowProgress`],n=typeof e?.sessionId==`string`?e.sessionId:U.getState().sessionId;t&&typeof t==`object`&&typeof t.runId==`string`&&n&&Ed.getState().ingestSignal(n,t)}if(!a(e)&&`codebuddy.ai/goalProgress`in o){let e=o[`codebuddy.ai/goalProgress`];e&&typeof e==`object`&&e.condition&&L({id:e.id??`goal-progress-${Date.now()}`,condition:e.condition,reason:e.reason,turnCount:e.turnCount??1,createdAt:typeof e.createdAt==`number`?e.createdAt:void 0})}if(!a(e)&&`codebuddy.ai/goalResult`in o){let e=o[`codebuddy.ai/goalResult`];e&&typeof e==`object`&&e.condition&&ke({id:e.id??`goal-result-${Date.now()}`,ok:e.ok!==!1,reason:e.reason,condition:e.condition,durationMs:e.durationMs??0,turnCount:e.turnCount??1,tokenDelta:e.tokenDelta??0})}if(!a(e)&&`codebuddy.ai/followupQueue`in o&&je(xe(o[`codebuddy.ai/followupQueue`])),!a(e)&&`codebuddy.ai/goalRecap`in o){let e=o[`codebuddy.ai/goalRecap`];e&&typeof e==`object`&&De(e)}if(!a(e)&&`codebuddy.ai/mcpFirstRunStatus`in o){let e=o[`codebuddy.ai/mcpFirstRunStatus`];e&&typeof e==`object`&&od.getState().applyEvent(e)}if(!a(e)&&`codebuddy.ai/goalStatus`in o){let e=o[`codebuddy.ai/goalStatus`];e&&typeof e==`object`&&e.kind&&Oe({id:e.id??`goal-status-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,kind:e.kind,condition:e.condition,prev:e.prev,actual:e.actual,max:e.max,createdAt:typeof e.createdAt==`number`?e.createdAt:void 0,pausedAt:typeof e.pausedAt==`number`?e.pausedAt:void 0})}if(o[`codebuddy.ai/sessionReset`]&&!a(e)){let e=o[`codebuddy.ai/newSessionId`];if(e)try{let r=t.current.adoptRetargetedSession(e),i=U.getState().sessionId;if(n.current=null,h.current.clear(),b.current.clear(),x.current.clear(),ve(),md.getState().clearTeam(),me(!1),k(!1),ee(r),Sf(r),xf(r),U.setState({topic:null}),N(null),Nu.getState().reset(),id.getState().reset(),typeof sessionStorage<`u`&&sessionStorage.setItem(`acp-session-id`,r),typeof localStorage<`u`&&localStorage.setItem(`codebuddy.last-session-id`,r),typeof window<`u`&&window.history&&window.location){let e=new URL(window.location.href);e.searchParams.set(`sessionId`,r),window.history.replaceState({},``,e.toString())}m(i,r).catch(e=>{console.warn(`[use-acp] attach session stream after reset failed:`,e)})}catch(e){console.error(`Failed to commit new session after reset: ${ye(e)}`,e)}}if(!a(e)&&o[`codebuddy.ai/permissionResolved`]){let e=o[`codebuddy.ai/toolCallId`],t=o[`codebuddy.ai/decision`];e&&t?(Pe({event:`client-resolved`,toolCallId:e,decision:t}),Rf().clearPermissionRequestByToolCallId(e),de(e,t),fe(e)):console.warn(`[use-acp] permissionResolved missing toolCallId or decision, NOT dispatching`,{toolCallId:e,decision:t})}if(!a(e)&&`codebuddy.ai/promptSuggestion`in o){let e=o[`codebuddy.ai/promptSuggestion`];N(e||null)}let s=o[`codebuddy.ai/teamUpdate`];if(s&&!a(e))switch(s.type){case`member_status_change`:{if(!s.members)break;let e=md.getState(),t=typeof s.teamName==`string`?s.teamName:void 0;if(ku({incomingTeamName:t,currentTeamName:e.teamName,isInTeam:e.isInTeam}))break;t?e.setTeamStatus({isInTeam:!0,teamName:t,isAutoTeam:s.isAutoTeam,members:s.members}):e.updateMembers(s.members);break}case`team_created`:md.getState().setTeamStatus({isInTeam:!0,teamName:s.teamName,isAutoTeam:s.isAutoTeam,members:[]});break;case`team_deleted`:{let e=md.getState();if(ku({incomingTeamName:s.teamName,currentTeamName:e.teamName,isInTeam:e.isInTeam}))break;e.archiveTeam();break}}})),i.push(r.on(`model_update`,e=>{a(e)||e?._meta?.[`codebuddy.ai/memberEvent`]||(te((e.availableModels||[]).map(e=>({id:e.modelId??e.id,name:e.name||e.modelId||e.id,description:e.description??null,credits:e._meta?.credits??null,contextWindow:e._meta?.maxInputTokens??null}))),j(e.currentModelId||``))})),i.push(r.on(`mode_update`,e=>{a(e)||e?._meta?.[`codebuddy.ai/memberEvent`]||(e.availableModes&&ne(e.availableModes),e.currentModeId&&re(e.currentModeId))})),i.push(r.on(`current_mode_update`,e=>{a(e)||e?._meta?.[`codebuddy.ai/memberEvent`]||e.currentModeId&&re(e.currentModeId)})),i.push(r.on(`config_option_update`,e=>{if(a(e)||e?._meta?.[`codebuddy.ai/memberEvent`])return;let t=e.configOptions||[],n=ld.getState().support!==!1;ld.getState().applySupport(of(n,t));for(let e of t)Qd(e)||rf(e)||(e.id===`thought_level`&&e.type===`select`?(M(e.currentValue!==`disabled`),ae({currentValue:e.currentValue,options:e.options||[]})):e.id===`mode`&&e.type===`select`&&e.currentValue?re(e.currentValue):e.id===`model`&&e.type===`select`&&e.currentValue&&j(e.currentValue))})),i.push(r.on(`status_change`,e=>{(e!==`connected`||U.getState().sessionId)&&E(e)})),i.push(r.on(`usage_update`,e=>{if(e?._meta?.[`codebuddy.ai/memberEvent`]||typeof e?.used!=`number`||typeof e?.size!=`number`)return;let n=t.current.expectedSessionId(U.getState().sessionId);if(e.sessionId&&n&&e.sessionId!==n)return;let r=e._meta||{};r[`codebuddy.ai/requestCredits`]&&H.getState().mergeRequestCredits(r[`codebuddy.ai/requestCredits`]),r.usage&&H.getState().setTurnTokenUsage(r.usage),(e.used!==0||e.size!==0)&&Nu.getState().setUsage({sessionId:e.sessionId,used:e.used,size:e.size,cost:e.cost,usageByCategory:r[`codebuddy.ai/usageByCategory`]})})),i.push(r.on(`available_commands_update`,e=>{e?._meta?.[`codebuddy.ai/memberEvent`]||Ef(e,e=>t.current.expectedSessionId(e))})),i.push(r.on(`checkpointCreated`,e=>{a(e)||id.getState().onCheckpoint(e)})),i.push(r.on(`checkpointUpdated`,e=>{a(e)||id.getState().onCheckpoint(e)})),i.push(r.on(`checkpointReverted`,e=>{a(e)||id.getState().reset()})),i.push(r.on(`modRender`,e=>{let t=typeof e?.plugin==`string`?e.plugin:null,n=e?.tree;t&&n&&typeof n==`object`&&`type`in n?sd.getState().setFrame({plugin:t,tree:n}):sd.getState().setFrame(null)})),i.push(r.on(`modRenderFold`,e=>{let t=typeof e?.instanceKey==`string`?e.instanceKey:``,n=e?.tree;t&&n&&typeof n==`object`&&`type`in n&&sd.getState().setFold(t,{tree:n,meta:typeof e?.meta==`object`&&e.meta!==null?e.meta:void 0})})),()=>{Fe(),i.forEach(e=>e())}},[m,Ie,Fe]);let Le=(0,V.useCallback)((e,t)=>{if(e.models&&(te(e.models.availableModels.map(e=>({id:e.modelId??e.id,name:e.name||e.modelId||e.id,description:e.description??null,credits:e._meta?.credits??null,contextWindow:e._meta?.maxInputTokens??null}))),j(e.models.currentModelId)),e.modes&&(ne(e.modes.availableModes),re(e.modes.currentModeId)),e.configOptions)for(let t of e.configOptions)t.id===`thought_level`&&t.type===`select`&&(M(t.currentValue!==`disabled`),ae({currentValue:t.currentValue,options:t.options||[]})),Qd(t),rf(t);(e.agents||e.currentAgentName!==void 0||e.sessionBlank!==void 0)&&Ko.getState().applyAgentFromResponse({agents:e.agents,currentAgentName:e.currentAgentName,defaultAgentName:e.defaultAgentName,sessionBlank:e.sessionBlank});let n=ld.getState().support!==!1;ld.getState().applySupport(of(n,e.configOptions));let r=af(e.configOptions);if(r===void 0?e.multitaskOn===!0||e.currentAgentName===`multitask`?ld.getState().applyOn(!0):e.multitaskOn===!1&&ld.getState().applyOn(!1):ld.getState().applyOn(r),t?.applyLastUsedPrefs){let t=Ko.getState().processAgent,n=Ko.getState().processPermissionMode,r=t?null:$d({sessionBlank:e.sessionBlank??!0,stagedAgent:Ko.getState().stagedAgent,stored:typeof localStorage<`u`?localStorage.getItem(Ho):null,sessionId:U.getState().sessionId,currentAgentName:e.currentAgentName,defaultAgentName:e.defaultAgentName});r&&r.agentName!==e.currentAgentName&&(Ro(),Ko.getState().setLoading(),Rf().callExtMethod(`session/set_agent`,{sessionId:r.sessionId,agentName:r.agentName}).then(e=>{e?.agentName?Ko.getState().applySetAgentResult({agentName:e.agentName,models:e.models??[],currentModelId:e.currentModelId??``,sessionBlank:e.sessionBlank??!1}):zo()}).catch(e=>{zo(),console.warn(`[use-acp] staged main agent injection failed (kept for retry):`,e)}));let i=Ld(),a=Vd({embeddedAgent:Nd(),stored:i,processPermissionMode:Md()?null:n}),o=U.getState().sessionId,s=e.modes?.currentModeId,c=r?.agentName??t??e.currentAgentName,l=(e.models?.availableModels??[]).map(e=>e.modelId??e.id??``).filter(Boolean),u=Kd({stored:Wd(),availableIds:l});u&&o&&u!==e.models?.currentModelId&&!(r&&r.agentName!==e.currentAgentName)&&Rf().setModel(o,u).then(()=>{U.getState().sessionId===o&&U.getState().setCurrentModel(u)}).catch(e=>{console.warn(`[use-acp] last model injection failed:`,e)}),a&&o&&a!==s&&(c!==`minimal`||a!==`plan`)&&Rf().setMode(o,a).then(()=>{U.getState().sessionId===o&&U.getState().setCurrentMode(a)}).catch(e=>{console.warn(`[use-acp] last permission mode injection failed:`,e)})}},[]),Re=(0,V.useCallback)(r=>{Fe();let i=r.trim(),a=U.getState().sessionId;if(!a||!i)return Promise.reject(Error(`Session switch requires current and target session ids`));if(a===i)return Promise.resolve(!0);let s=n.current;if(s)return s.targetSessionId===i?s.promise:s.promise.catch(()=>!1).then(()=>Re(i));let c=t.current.begin(a,i);p(i);let u=U.getState(),d=H.getState(),f=Nu.getState(),g=id.getState(),_=su.getState(),v=Ko.getState();k(!0),U.setState({topic:null}),N(null),Nu.getState().reset(),id.getState().reset(),su.getState().reset(),Mt.getState().closeAllSubagentTabs(),Mt.getState().closeAllWorkflowTabs(),Ed.getState().reset(),Ko.getState().reset({keepProcessDefaults:!0}),ld.getState().clearSession(),h.current.clear(),b.current.clear(),x.current.clear();let y={targetSessionId:i,promise:Promise.resolve(!1)},S=(async()=>{try{await l();let n=await e.current.loadSession(i);if(!t.current.isCurrent(c))return U.getState().sessionId===i;if(h.current.has(i)||(ve({preserveSeededUserIntent:o()}),md.getState().clearTeam()),ee(i),U.getState().setSessionFollow(!1),Sf(i),xf(i),Le(n),await m(a,i).catch(e=>{console.warn(`[use-acp] attach session stream after switch failed:`,e)}),e.current.getFollowupQueue(i).then(e=>je(e)).catch(()=>void 0),typeof sessionStorage<`u`&&sessionStorage.setItem(`acp-session-id`,i),typeof localStorage<`u`&&localStorage.setItem(`codebuddy.last-session-id`,i),typeof window<`u`&&window.history&&window.location){let e=new URL(window.location.href);e.searchParams.get(`sessionId`)!==i&&(e.searchParams.set(`sessionId`,i),window.history.replaceState({},``,e.toString()))}return!0}catch(e){if(!t.current.isCurrent(c))return U.getState().sessionId===i;throw t.current.isCurrent(c)&&(U.setState(u),H.setState(d),Nu.setState(f),id.setState(g),su.setState(_),Ko.setState(v)),e}finally{t.current.finish(c),h.current.clear(),b.current.clear(),x.current.clear(),n.current===y&&(n.current=null,k(!1))}})();return y.promise=S,n.current=y,S},[Le,m,Fe,ve,N,ee,k]);(0,V.useEffect)(()=>{if(o())return;let n=Hc();n.setAuthorizationProvider(()=>{let t=e.current,n=t.getConnectionId(),r=t.getSessionToken();return n&&r?{connectionId:n,sessionToken:r}:null});let r=e.current.on(`status_change`,e=>{e===`connected`&&n.refreshAuthorization()}),i=(t,r)=>{let i=`${I(t)}\n${r}`;if(u.current.has(i))return;let a=Uc({bridge:n,baseUrl:t,sessionId:r,fetchSnapshot:()=>qu(t,r),isCurrent:()=>e.current.isBoundTo(t,r),applySnapshot:t=>{let n=e.current;Qu(t,{emit:e=>n.dispatchSessionUpdate(e),inFlightOverride:Zu({snapshotAsOfSeq:t.asOfSeq,snapshotEpoch:t.epoch,lastTurn:Wi(f.current.get(r),t.epoch)})})}}).then(()=>void 0).catch(e=>{console.warn(`[use-acp] bus resync recovery failed:`,e)}).finally(()=>{u.current.delete(i)});u.current.set(i,a)},a=e=>{I(e)===I(pe(null))&&n.subscribeAppStream(e,`app:jobs`)},s=n.onSessionEvent(({baseUrl:n,frame:r})=>{let a=e.current,o=a.getCurrentSessionId(),s=t.current.expectedSessionId(U.getState().sessionId);if(!o||!s||s!==o||!a.isBoundTo(n,o)||r.streamId!==o){If(`bus-frame-unbound`,`session`,{stream:r.streamId?.slice(0,8)??null,bound:o?.slice(0,8)??null});return}let c=Be(r)?.update?._meta,l=c?.[`codebuddy.ai/turn`];if(l&&!c?.[`codebuddy.ai/memberEvent`]&&!c?.[`codebuddy.ai/parentToolCallId`]&&(l.phase===`started`||l.phase===`ended`)&&f.current.set(o,{phase:l.phase,seq:r.seq,...r.epoch?{epoch:r.epoch}:{}}),r.volatile===!0){let e=Rc(r);if(e){let t=zc({offset:r.offset,localLength:Cf(H.getState().timeline,e)});if(t===`duplicate`)return;if(t===`gap`){i(n,o);return}}}a.handleBusNotification(r)}),c=n.onResync(({baseUrl:n,frame:r})=>{let a=e.current,o=a.getCurrentSessionId(),s=t.current.expectedSessionId(U.getState().sessionId);o&&s&&s===o&&a.isBoundTo(n,o)&&r.streamId===o&&i(n,o)}),l=n.onAck(({baseUrl:t,frame:r})=>{let i=e.current;I(i.getBaseUrl())===I(t)&&i.setBusAuthority(n.getStatus(t)===`ready`&&!d.current.has(I(t))),i.isBoundTo(t,i.getCurrentSessionId())&&console.debug(`[use-acp] bus stream aligned:`,r.streams.length,`stream(s)`)}),p=n.onAppEvent(({frame:e})=>{if(e.streamId!==`app:jobs`)return;let t=Bc(e);t&&zl.getState().applyJobStreamFrames([t])}),m=n.onStatusChange((t,n)=>{let r=e.current;if(I(r.getBaseUrl())===I(t)){if(d.current.has(I(t))){r.setBusTransportActive(!1),r.setBusAuthority(!1);return}r.setBusTransportActive(n===`ready`),r.setBusAuthority(n===`ready`),n===`ready`&&a(t)}});return e.current.setBusAuthority(n.getStatus(pe(null))===`ready`&&!d.current.has(I(pe(null)))),a(pe(null)),()=>{r(),s(),c(),l(),p(),m()}},[]);let Ve=(0,V.useCallback)(r=>i.current.run(async()=>{Fe();let i=r?.persistLastId!==!1,a=U.getState(),o=H.getState(),s=Nu.getState(),c=id.getState();if(!i)return(await e.current.newSession({persistLastId:!1})).sessionId;k(!0);try{Bd({currentMode:a.currentMode,processPermissionMode:Md()?null:Ko.getState().processPermissionMode})&&zd(a.currentMode),a.currentModel&&Gd(a.currentModel);let r=e.current.getCurrentSessionId(),i=await e.current.newSession();return t.current.adoptRetargetedSession(i.sessionId),n.current=null,h.current.clear(),b.current.clear(),x.current.clear(),ve(),md.getState().clearTeam(),Mt.getState().closeAllSubagentTabs(),Mt.getState().closeAllWorkflowTabs(),Ed.getState().reset(),ee(i.sessionId),U.getState().setSessionFollow(!1),Sf(i.sessionId),xf(i.sessionId),Le(i,{applyLastUsedPrefs:!0}),U.setState({topic:null}),N(null),Nu.getState().reset(),id.getState().reset(),await m(r,i.sessionId).catch(e=>{console.warn(`[use-acp] attach session stream after new session failed:`,e)}),i.sessionId}catch(e){throw U.setState(a),H.setState(o),Nu.setState(s),id.setState(c),e}finally{k(!1)}}),[Le,m,Fe,ve,N,ee,k]),He=(0,V.useCallback)(t=>r.current.run(async()=>{sd.getState().setRenderCaps(new Set);let n=typeof t==`string`?t:t?.token,r=typeof t==`object`&&t?.continue,i=typeof t==`object`&&t?.takeWriter===!0,a=typeof t==`object`?t?.sessionId:void 0,o=typeof t==`object`&&t?.suppressReplay===!0,s=e.current.getCurrentSessionId();if(n){let t=e.current;if(t.getToken()!==n){try{await t.disconnect({park:!0})}catch{}t.setToken(n)}}try{E(`connecting`),N(null),i&&(U.getState().setSessionFollow(!1),U.getState().setSessionFault(null));let t=e.current,n=await t.initializeSession({continue:r,takeWriter:i,...a?{sessionId:a}:{},...o?{suppressReplay:!0}:{}}),{components:c}=await t.sendModRenderCap().catch(()=>({components:[]}));if(t!==e.current||t!==Lf)return;sd.getState().setRenderCaps(c===`all`?`all`:new Set(c)),t.requestCurrentModPane().catch(()=>void 0),U.getState().setSessionFollow(!1),ee(n.sessionId),Sf(n.sessionId),xf(n.sessionId),ld.getState().applySupport(of(n.multitaskSupport===!0,n.configOptions)),n.processDefaults?.agent===`multitask`&&ld.getState().applyOn(!0),n.processDefaults&&(Ko.getState().applyProcessDefaults({...n.processDefaults.agent&&n.processDefaults.agent!==`multitask`?{agent:n.processDefaults.agent}:{},...n.processDefaults.permissionMode?{permissionMode:n.processDefaults.permissionMode}:{}}),n.sessionBlank===!0&&n.processDefaults.permissionMode&&U.getState().setCurrentMode(n.processDefaults.permissionMode)),Le(n,{applyLastUsedPrefs:n.sessionBlank===!0}),Ko.getState().applyBackendSupport(n.mainAgentSupport===!0),E(`connected`),o||await m(s,n.sessionId).catch(e=>{console.warn(`[use-acp] attach session stream after connect failed:`,e)}),ze(`/api/v1/settings`,{headers:Je()}).then(e=>e.ok?e.json():null).then(e=>{e&&Du.getState().hydrateFromSettings(e)}).catch(()=>void 0),e.current.getFollowupQueue(n.sessionId).then(e=>je(e)).catch(()=>void 0),vd.getState().fetchUserInfo(e.current)}catch(e){let t=ye(e);console.error(`Connection failed:`,e),U.getState().setError(t);let n=T(t);n!==`unknown`&&U.getState().setSessionFault(n),E(`error`)}}),[]),Ue=(0,V.useCallback)(()=>{Fe(),h.current.clear(),b.current.clear(),x.current.clear(),p(),ve({preserveSeededUserIntent:o()}),md.getState().clearTeam(),Nu.getState().reset(),id.getState().reset(),su.getState().reset(),Mt.getState().closeAllSubagentTabs(),Ko.getState().reset({keepProcessDefaults:!0}),ld.getState().clearSession(),U.setState({sessionId:null,topic:null,sessionFollow:!1,sessionFault:null}),N(null)},[Fe,p,ve,N]),We=(0,V.useCallback)(t=>{let n=e.current,r=Ki.getState();if(Hi({state:{phase:r.phase,target:r.target},target:t,client:n})===`adopt`){let e=n.getCurrentSessionId();return e&&U.getState().sessionId!==e&&ee(e),Ki.getState().markAttached(t,r.generation),Promise.resolve({sessionId:e,adopted:!0})}let i=O(t),o=s.current;if(o?.key===i)return o.promise;let u=a.current.begin(t),m=u.generation,h=Hc();p(t.sessionId),Ki.getState().markBinding(t,m),k(!0);let g={key:i,promise:Promise.resolve({sessionId:null,adopted:!1})},_=async e=>{let t=c.current,n=()=>void 0;c.current=new Promise(e=>{n=e}),await t.catch(()=>void 0);try{return await e()}finally{n()}},v=(async()=>{try{return await _(async()=>{if(!a.current.isCurrent(u))return console.debug(`[use-acp] bind step: superseded before transport`,t.kind),{sessionId:U.getState().sessionId,adopted:!1};if(console.debug(`[use-acp] bind step: start`,t.kind),t.kind===`main`){Ue();let e=r.target;e?.sessionId&&h.unsubscribeSession(e.baseUrl,e.sessionId);let i=pe(null);I(n.getBaseUrl())!==I(i)&&(await n.disconnect({park:!0}),n.setBaseUrl(i)),await He({continue:t.sessionId!==null,...t.sessionId?{sessionId:t.sessionId}:{},suppressReplay:!0});let o=U.getState().sessionId;if(!o)throw Error(`main session did not initialize`);if(zl.getState().jobs.some(e=>e.sessionId===o&&e.kind===`background`&&e.foregroundHeld!==!0)&&(console.warn(`[use-acp] main bind resolved an agent session; opening a blank main session instead`),await He({continue:!1,suppressReplay:!0}),o=U.getState().sessionId,!o))throw Error(`blank main session did not initialize`);if(!a.current.isCurrent(u))return{sessionId:o,adopted:!1};let s=null;try{s=await qu(i,o)}catch(e){if(!Ku(e))throw e;console.warn(`[use-acp] main snapshot unavailable; falling back to ACP replay`)}return a.current.isCurrent(u)?(s?(Qu(s,{emit:e=>n.dispatchSessionUpdate(e),inFlightOverride:Zu({snapshotAsOfSeq:s.asOfSeq,snapshotEpoch:s.epoch,lastTurn:Wi(f.current.get(o),s.epoch)})}),h.subscribeSession(i,o,{seq:s.asOfSeq,...s.epoch?{epoch:s.epoch}:{}})):(await l(),await n.loadSession(o)),a.current.isCurrent(u)&&Ki.getState().markAttached(t,m),{sessionId:o,adopted:!1}):{sessionId:o,adopted:!1}}Ue();let e=r.target;e?.sessionId&&h.unsubscribeSession(e.baseUrl,e.sessionId),await n.disconnect({park:!0}),n.setBaseUrl(t.baseUrl),E(`connecting`),console.debug(`[use-acp] bind step: parked + base set`),await n.connect(),console.debug(`[use-acp] bind step: job gateway connected`);let i=await n.initializeSession({continue:!0,...t.sessionId?{sessionId:t.sessionId}:{},suppressIdentityWrites:!0,urlJobId:t.jobId??null,urlMainSessionId:t.mainSessionId??null,suppressReplay:!0});if(console.debug(`[use-acp] bind step: initializeSession ok`),!a.current.isCurrent(u))return{sessionId:i.sessionId,adopted:!1};U.getState().setSessionFollow(!1),U.getState().setSessionFault(null),ee(i.sessionId),Le(i,{applyLastUsedPrefs:i.sessionBlank===!0}),Sf(i.sessionId),ld.getState().applySupport(of(i.multitaskSupport===!0,i.configOptions)),Ce(nt(t,i.sessionId));let o=null;try{o=await qu(t.baseUrl,i.sessionId)}catch(e){if(!Ku(e))throw e;d.current.add(I(t.baseUrl)),console.warn(`[use-acp] snapshot unavailable (legacy worker / timeout); falling back to ACP replay`)}return a.current.isCurrent(u)?(console.debug(`[use-acp] bind step: snapshot`,o?`applied`:`legacy-fallback`),o?(d.current.delete(I(t.baseUrl)),Qu(o,{emit:e=>n.dispatchSessionUpdate(e),inFlightOverride:Zu({snapshotAsOfSeq:o.asOfSeq,snapshotEpoch:o.epoch,lastTurn:Wi(f.current.get(i.sessionId),o.epoch)})}),h.subscribeSession(t.baseUrl,i.sessionId,{seq:o.asOfSeq,...o.epoch?{epoch:o.epoch}:{}})):(await l(),await n.loadSession(i.sessionId,{suppressIdentityWrites:!0}),n.setBusTransportActive(!1)),a.current.isCurrent(u)&&Ki.getState().markAttached(t,m),E(`connected`),console.debug(`[use-acp] bind step: attached`),{sessionId:i.sessionId,adopted:!1}):{sessionId:i.sessionId,adopted:!1}})}catch(e){let t=ye(e);throw a.current.isCurrent(u)&&(Ki.getState().markSuspended(t,m),U.getState().setError(t),E(`error`)),e}finally{a.current.finish(u),k(!1),s.current===g&&(s.current=null)}})();return g.promise=v,s.current=g,v},[Le,He,Ue,ee,k,E]),Ge=(0,V.useCallback)(async()=>{p(),await e.current.disconnect({park:!0})},[p]);return{client:e.current,connect:He,park:Ge,switchSession:Re,createSession:Ve,bindAgentTarget:We}}var Vf=`codebuddy.workers.passwords`;function Hf(){try{let e=localStorage.getItem(Vf);return e?JSON.parse(e):{}}catch{return{}}}function Uf(e){return Hf()[e]}var Wf=qe((e,t)=>({workers:[],daemon:null,viewingLogsPid:null,logsType:``,logsAvailableTypes:[],logsContent:``,logsPath:``,loading:!1,error:null,fetchWorkers:async()=>{e({loading:!0,error:null});try{let t=await ze(`/api/v1/workers`,{headers:Je()});if(!t.ok)throw Error(`HTTP ${t.status}`);e({workers:(await t.json()).data||[],loading:!1})}catch(t){e({error:t.message,loading:!1})}},fetchDaemonStatus:async()=>{try{let t=await ze(`/api/v1/daemon/status`,{headers:Je()});if(!t.ok)throw Error(`HTTP ${t.status}`);e({daemon:(await t.json()).data||null})}catch{e({daemon:{status:`stopped`}})}},killWorker:async n=>{e({error:null});try{let e=await ze(`/api/v1/workers/${n}`,{method:`DELETE`,headers:Je()});if(!e.ok&&e.status!==204){let t=await e.json().catch(()=>({}));throw Error(t.error?.message||`HTTP ${e.status}`)}await t().fetchWorkers()}catch(t){e({error:t.message})}},fetchLogs:async(t,n,r=200)=>{try{let i=n?`&type=${n}`:``,a=await ze(`/api/v1/workers/${t}/logs?tail=${r}${i}`,{headers:Je()});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error?.message||`HTTP ${a.status}`)}let o=(await a.json()).data||{};e({logsContent:o.content||``,logsType:o.type||``,logsAvailableTypes:o.availableTypes||[],logsPath:o.logPath||``})}catch(t){e({logsContent:`Error loading logs: ${t.message}`})}},setViewingLogsPid:t=>{e({viewingLogsPid:t,logsContent:``,logsType:``,logsAvailableTypes:[],logsPath:``})},startDaemon:async n=>{e({error:null});try{let e=await ze(`/api/v1/daemon/start`,{method:`POST`,headers:Je({"Content-Type":`application/json`}),body:JSON.stringify(n||{})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error?.message||`HTTP ${e.status}`)}await t().fetchDaemonStatus(),await t().fetchWorkers()}catch(t){e({error:t.message})}},stopDaemon:async()=>{e({error:null});try{let e=await ze(`/api/v1/daemon/stop`,{method:`POST`,headers:Je()});if(!e.ok&&e.status!==204){let t=await e.json().catch(()=>({}));throw Error(t.error?.message||`HTTP ${e.status}`)}await t().fetchDaemonStatus(),await t().fetchWorkers()}catch(t){e({error:t.message})}},restartDaemon:async()=>{e({error:null});try{let e=await ze(`/api/v1/daemon/restart`,{method:`POST`,headers:Je({"Content-Type":`application/json`}),body:JSON.stringify({})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error?.message||`HTTP ${e.status}`)}await t().fetchDaemonStatus(),await t().fetchWorkers()}catch(t){e({error:t.message})}}}));function Gf(e){try{let t=new URL(e),n=window.location.hostname;return t.hostname===n?e:(t.hostname=n,t.toString())}catch(t){return console.warn(`Failed to resolve worker URL, using original:`,e,t),e}}function Kf(e,t,n){if(!e.url)return;let r;try{r=new URL(Gf(e.url))}catch{return}let i=Uf(String(e.pid));return i&&r.searchParams.set(`password`,i),t&&r.searchParams.set(`sessionId`,t),n&&r.searchParams.set(`focusExecutionId`,n),r.hash=`/chat`,r.toString()}var qf=`/assets/red-claw-cat--t2EuBIB.png`,G=ct();function Jf(){let{tryT:e}=R();return t=>e(`account.method.${t.id}`)||t.label}function Yf(){let{t:e}=R(),t=Jf(),{accountState:n,loginMethods:r,authUrl:i,isSubmitting:a,error:o,accountLogin:s,startAccountPolling:c,clearError:l}=De(),[u,d]=(0,V.useState)(!1),f=(0,V.useRef)(null);(0,V.useEffect)(()=>{if(n===`polling`)return c()},[n,c]),(0,V.useEffect)(()=>{if(n!==`polling`)return;let e=()=>{document.visibilityState===`visible`&&De.getState().pollAccountStatusOnce()};return document.addEventListener(`visibilitychange`,e),window.addEventListener(`focus`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`focus`,e)}},[n]),(0,V.useEffect)(()=>{if(n===`authenticated`){let e=f.current;if(e&&!e.closed)try{e.close()}catch{}f.current=null,window.focus()}},[n]);let p=(0,V.useCallback)(e=>{f.current=window.open(e,`_blank`)},[]),m=(0,V.useCallback)(async e=>{l();let t=await s(e);t&&p(t)},[s,l,p]),h=(0,V.useCallback)(()=>{i&&navigator.clipboard.writeText(i).then(()=>{d(!0),setTimeout(()=>d(!1),2e3)})},[i]),g=(0,V.useCallback)(()=>{l(),De.getState().checkAccountAuth()},[l]),_=o?e(o)===o?o:e(o):null;return(0,G.jsxs)(`div`,{className:`login-page`,children:[(0,G.jsxs)(`div`,{className:`login-orb login-orb-right`,children:[(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-1`}),(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-2`})]}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-outer`}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-outer2`}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-inner`}),(0,G.jsxs)(`div`,{className:`login-orb login-orb-left`,children:[(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-1`}),(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-2`})]}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-left`}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-left2`}),(0,G.jsxs)(`div`,{className:`login-content`,children:[(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`16px`},children:[(0,G.jsx)(`div`,{className:`login-logo`,children:(0,G.jsx)(`img`,{src:qf,alt:`CodeBuddy`})}),(0,G.jsx)(`h1`,{className:`login-title`,children:e(`account.login.title`)}),n!==`polling`&&(0,G.jsx)(`p`,{className:`login-tagline`,children:e(`account.login.subtitle`)})]}),(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`16px`,width:`100%`,maxWidth:`340px`},children:[_&&(0,G.jsx)(`div`,{className:`login-error`,children:_}),n===`polling`&&(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`20px`,padding:`24px 0`},children:[(0,G.jsx)(Dt,{size:28,className:`animate-spin`,style:{color:`var(--accent-brand, #646cff)`}}),(0,G.jsx)(`div`,{style:{fontSize:`16px`,fontWeight:500,color:`var(--text-primary)`},children:e(`account.login.polling`)}),(0,G.jsx)(`p`,{style:{fontSize:`14px`,color:`var(--text-tertiary)`,textAlign:`center`,lineHeight:1.7,maxWidth:`320px`},children:e(`account.login.polling.hint`)}),(0,G.jsx)(`div`,{style:{display:`flex`,gap:`12px`,marginTop:`12px`},children:i&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{onClick:()=>p(i),style:{fontSize:`14px`,padding:`10px 20px`,background:`var(--bg-secondary, rgba(255,255,255,0.06))`,border:`1px solid var(--border-primary, rgba(255,255,255,0.12))`,borderRadius:`10px`,color:`var(--text-primary)`,cursor:`pointer`,transition:`all 0.2s`},children:e(`account.login.openBrowser`)}),(0,G.jsx)(`button`,{onClick:h,style:{fontSize:`14px`,padding:`10px 20px`,background:`var(--bg-secondary, rgba(255,255,255,0.06))`,border:`1px solid var(--border-primary, rgba(255,255,255,0.12))`,borderRadius:`10px`,color:`var(--text-secondary)`,cursor:`pointer`,transition:`all 0.2s`},children:e(u?`account.login.copied`:`account.login.copyUrl`)})]})}),(0,G.jsx)(`button`,{onClick:g,style:{fontSize:`13px`,padding:`6px 12px`,marginTop:`4px`,background:`transparent`,border:`none`,color:`var(--text-tertiary)`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:e(`account.login.retry`)})]}),n===`needLogin`&&(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`12px`,width:`100%`},children:[r.length>0?r.map(e=>(0,G.jsx)(`button`,{disabled:a,onClick:()=>m(e.id),style:{width:`100%`,padding:`14px 24px`,fontSize:`14px`,fontWeight:500,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:`10px`,background:`var(--bg-secondary, rgba(255,255,255,0.06))`,border:`1px solid var(--border-primary, rgba(255,255,255,0.12))`,borderRadius:`12px`,color:`var(--text-primary)`,cursor:a?`not-allowed`:`pointer`,opacity:a?.6:1,transition:`all 0.2s ease`},onMouseEnter:e=>{a||(e.currentTarget.style.background=`var(--bg-hover, rgba(255,255,255,0.1))`,e.currentTarget.style.borderColor=`var(--accent-brand, #646cff)`)},onMouseLeave:e=>{e.currentTarget.style.background=`var(--bg-secondary, rgba(255,255,255,0.06))`,e.currentTarget.style.borderColor=`var(--border-primary, rgba(255,255,255,0.12))`},children:a?(0,G.jsx)(Dt,{size:16,className:`animate-spin`}):(0,G.jsx)(`span`,{children:t(e)})},e.id)):(0,G.jsx)(`button`,{className:`login-btn`,disabled:a,onClick:()=>m(),style:{width:`100%`,padding:`14px 24px`,fontSize:`14px`},children:a?(0,G.jsx)(Dt,{size:16,className:`animate-spin`}):e(`account.login.button`)}),o&&(0,G.jsx)(`button`,{onClick:g,style:{fontSize:`13px`,padding:`8px 16px`,alignSelf:`center`,background:`transparent`,border:`none`,color:`var(--text-tertiary)`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:e(`account.login.retry`)})]}),n===`checking`&&(0,G.jsx)(`div`,{style:{padding:`24px 0`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,G.jsx)(Dt,{size:24,className:`animate-spin`,style:{color:`var(--text-tertiary)`}})})]})]}),(0,G.jsxs)(`div`,{className:`login-footer`,children:[(0,G.jsx)(`a`,{href:`#privacy`,children:e(`login.privacy`)}),(0,G.jsx)(`a`,{href:`#terms`,children:e(`login.terms`)})]})]})}var Xf=(0,V.createContext)({fault:null,onRetry:()=>void 0});function Zf({fault:e,onRetry:t,hint:n,detail:i}){let{t:a}=R();return e?(0,G.jsxs)(`div`,{className:`error-banner mx-auto mb-2 flex w-full max-w-[780px] items-center justify-between gap-3 rounded-xl px-3 py-2 text-[12px]`,role:`alert`,children:[(0,G.jsxs)(`span`,{className:`min-w-0`,children:[a(r(e)),n?(0,G.jsx)(`span`,{className:`mt-0.5 block text-[11px] text-text-tertiary`,children:n}):null,i?(0,G.jsx)(`span`,{className:`mt-0.5 block break-all text-[11px] text-text-tertiary`,children:i}):null]}),(0,G.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-full px-2.5 py-1 text-[11px] font-medium text-text-primary hover:bg-bg-hover`,onClick:t,children:a(e===`occupied`?`agents.action.takeover`:`connection.retry`)})]}):null}function Qf(){let{fault:e,onRetry:t}=(0,V.useContext)(Xf);return(0,G.jsx)(Zf,{fault:e,onRetry:t})}function $f(){let{fault:e}=(0,V.useContext)(Xf),{t}=R();return e===`occupied`?(0,G.jsx)(`span`,{className:`shrink-0 rounded bg-accent-red/10 px-1.5 py-0.5 text-[10px] text-accent-red`,children:t(`connection.occupiedShort`)}):null}var ep=/<system-reminder\b[^>]*>[\s\S]*?<\/system-reminder>\s*/g,tp=/<user_query>([\s\S]*?)<\/user_query>/g;[`<project-tool-routing>`,`Select tools by the user's actual intent:`,"- Project shared files: use `tdrive.*` and search project files only when the user asks to access/list/search/read/write project assets, project drive, or shared project files. Do not search project files just to gather background for a report, plan, or task.","- Project members: use `project_members` to resolve members.","- Todos/tasks: use `todo_create` / `todo_list` / `todo_update` as needed.","- Project messages: use `project_message_*` to list, view, add, reply, edit, or delete.",`</project-tool-routing>`].join(`
|
|
18
18
|
`),[`There are two file systems (sandbox is the default):`,`- Sandbox filesystem: for local/uploads/artifacts files.`,`- Project Drive/assets (tdrive): a shared project file system (root below).`].join(`
|
|
19
19
|
`),[`PROJECT DRIVE / ASSETS (tdrive) — MANDATORY WORKFLOW:`,`- Any mutating operation on Project Drive (create, upload, modify, move, rename, delete, overwrite) MUST be confirmed with the user before execution.`,`- For Drive file edits, follow this mandatory review-before-upload workflow:`,` 1. Download the latest Drive file immediately before editing to avoid overwriting others' changes, then make changes locally.`,` 2. Show the user what changed, ask for explicit confirmation, then STOP.`,` 3. Resume the Project Drive mutation only after the user clearly approves the reviewed local version.`,`- Never upload the locally modified file back to Project Drive directly after editing. MUST show the changes to the user and get explicit confirmation first.`].join(`
|
|
20
20
|
`);function np(e){return e.includes(`<system-reminder`)?e.replace(ep,``):e}function rp(e){return e.replace(tp,`$1`)}function ip(e){return rp(np(e)).trim()}var ap=/<teammate-message\b[^>]*\skind="channel"/i,op=/<teammate-message\b[^>]*\schannel_id="/i,sp=/<teammate-message\b[^>]*\schannel="agent-home"[^>]*>[\s\S]*\[channel [^\]]*\][^\n]*members:/i,cp=/^\[channel [^\]]*\][^\n]*members:/i;function lp(e){return ap.test(e)||op.test(e)}function up(e){return lp(e)||sp.test(e)||cp.test(e.trim())?!0:/\baction\s*[:=]\s*["']?incoming["']?/i.test(e)&&/\bchannel_id\b/i.test(e)}function dp(e){let t=e.match(/<teammate-message\b[^>]*>/);if(!t||t.index===void 0)return;let n=t.index+t[0].length,r=e.lastIndexOf(`</teammate-message>`);if(!(r<n))return e.slice(n,r).replace(/^\n/,``).replace(/\n$/,``).trim()}function fp(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);if(t&&typeof t==`object`&&typeof t.text==`string`)return{text:t.text,roster:typeof t.roster==`string`?t.roster:void 0,mentions:typeof t.mentions==`string`?t.mentions:void 0,summary:typeof t.summary==`string`?t.summary:void 0,round:typeof t.round==`string`?t.round:void 0,attachments:typeof t.attachments==`string`?t.attachments:void 0}}catch{}return{text:e}}function pp(e){let t=e.match(/\bteammate_id="([^"]+)"/)?.[1]?.trim(),n=dp(e);if(!t||!n)return;let r=fp(n),i=e.match(/\bteammate_name="([^"]*)"/)?.[1]?.trim(),a=e.match(/\bmessage_id="([^"]+)"/)?.[1]?.trim(),o=(e.match(/\bsummary="([^"]*)"/)?.[1]||r?.summary)?.trim();return{id:t,...i?{name:i}:{},...a?{messageId:a}:{},...o?{summary:o}:{},content:r?.text??n}}var mp=gt(),hp=`/assets/dark-claw-cat-D_ew_BKV.png`,gp=`/assets/light-claw-cat-BgBWmnmi.png`,_p=qe((e,t)=>({nonce:0,text:null,insertComposerText:t=>{let n=t.trim();n&&e(e=>({text:n,nonce:e.nonce+1}))},consumeComposerInsert:()=>{let n=t().text;return e({text:null}),n}}));function vp(e){_p.getState().insertComposerText(e)}var yp=`agent-session-map`,bp=`main-agent-session-id`;function xp(){try{if(typeof sessionStorage>`u`)return{};let e=sessionStorage.getItem(yp);if(!e)return{};let t=JSON.parse(e),n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&r&&(n[e]=r);return n}catch{return{}}}function Sp(e,t){try{if(typeof sessionStorage>`u`)return;let n=xp();if(n[e]===t)return;sessionStorage.setItem(yp,JSON.stringify({...n,[e]:t}))}catch{}}function Cp(){try{return typeof sessionStorage>`u`?null:sessionStorage.getItem(bp)?.trim()||null}catch{return null}}function wp(e){try{if(typeof sessionStorage>`u`)return;e?sessionStorage.setItem(bp,e):sessionStorage.removeItem(bp)}catch{}}var Tp=qe(e=>({selectedWorkerPid:null,newJobMode:!1,mainChatActive:!0,mainAgentSessionId:Cp(),agentSessionIds:xp(),contextSourceSessionId:null,contextInheritOpen:!1,recentProjectCwd:null,recentOpen:!1,activeAgentCwd:null,focusedPeerName:null,selectedChannelId:null,newChannelMode:!1,preChannelSelection:null,setSelectedWorkerPid:t=>e({selectedWorkerPid:t}),setNewJobMode:t=>e({newJobMode:t,...t?{focusedPeerName:null}:{}}),setMainChatActive:t=>e({mainChatActive:t,...t?{focusedPeerName:null}:{}}),setMainAgentSessionId:t=>{wp(t),e({mainAgentSessionId:t})},setAgentSessionId:(t,n)=>{Sp(t,n),e(e=>({agentSessionIds:{...e.agentSessionIds,[t]:n}}))},setContextSourceSessionId:t=>e({contextSourceSessionId:t}),setContextInheritOpen:t=>e({contextInheritOpen:t}),setRecentProjectCwd:t=>e({recentProjectCwd:t}),setRecentOpen:t=>e({recentOpen:t}),setActiveAgentCwd:t=>e({activeAgentCwd:t}),setFocusedPeer:t=>e({focusedPeerName:t}),setSelectedChannelId:t=>e({selectedChannelId:t,focusedPeerName:null,...t?{newChannelMode:!1,newJobMode:!1,mainChatActive:!1}:{}}),setNewChannelMode:t=>e({newChannelMode:t,focusedPeerName:null,...t?{newJobMode:!1,selectedChannelId:null,mainChatActive:!1}:{}}),capturePreChannelSelection:()=>{let t=Tp.getState();if(t.selectedChannelId!==null||t.newChannelMode)return;let n=zl.getState();e({preChannelSelection:{selectedJobId:n.selectedJobId,selectedJobTitle:n.selectedJobTitle,mainChatActive:t.mainChatActive}})},clearPreChannelSelection:()=>e({preChannelSelection:null}),leaveMissingChannel:e=>{let t=Tp.getState();t.selectedChannelId&&!e.includes(t.selectedChannelId)&&t.leaveChannel(t.selectedChannelId)},leaveChannel:t=>{let n=Tp.getState();if(t!==void 0&&n.selectedChannelId!==t||!n.selectedChannelId&&!n.newChannelMode)return;let r=n.preChannelSelection,i={preChannelSelection:null,selectedChannelId:null,newChannelMode:!1,newJobMode:!1,focusedPeerName:null,selectedWorkerPid:null};if(r?.selectedJobId){let t=zl.getState();if(t.jobs.some(e=>e.id===r.selectedJobId)){t.selectJob(r.selectedJobId,r.selectedJobTitle),e({...i,mainChatActive:!1});return}}zl.getState().selectJob(null),e({...i,mainChatActive:!0})},reset:()=>e({selectedWorkerPid:null,newJobMode:!1,mainChatActive:!0,mainAgentSessionId:null,agentSessionIds:{},contextSourceSessionId:null,contextInheritOpen:!1,focusedPeerName:null,selectedChannelId:null,newChannelMode:!1,preChannelSelection:null})}));function Ep(e){return e===`minimal`?`none`:e===`ptc`?`repl`:`direct`}function Dp(e,t,n){return!e||t&&e===t?!1:Ep(n)!==`none`}function Op(e,t,n){if(e){if(t&&e===t)return`default`;if(n===`minimal`)return`minimal`}}function kp(e,t,n){return Dp(e,t,n)}function Ap(e,t,n){return Dp(e,t,n)}var jp=[`SendMessage`,`MessageColleague`],Mp=`system`,Np=/^\[channel [^\]]*\][^\n]*members:/i;function Pp(e){if(!e)return!1;if(e.action===`incoming`)return!!(typeof e.channel_id==`string`&&e.channel_id.trim()||e.kind===`channel`);if(typeof e.channel_id==`string`&&e.channel_id.trim()||e.kind===`channel`)return!0;let t=typeof e.content==`string`?e.content:typeof e.text==`string`?e.text:``;return Np.test(t.trim())}function Fp(e){return e===`SpeakInChannel`||e===`SpeakInChannelTool`}function Ip(e){return e.type===`message`&&e.content&&up(e.content)||Fp(Bp(e))?!0:Pp(Vp(e.input))}function Lp(e){if(up(e))return;let t=pp(e);if(t)return{from:t.name||t.id,summary:t.summary,content:t.content}}function Rp(e){try{let t=JSON.parse(e);if(t&&typeof t==`object`&&t.type)return t.type===`shutdown_response`?t.reason||`Shutdown ${t.approve===!1?`rejected`:`accepted`}`:t.type===`shutdown_request`?t.reason||`Shutdown requested`:t.reason||t.summary||e}catch{}return e}function zp(e){return e.endsWith(`Tool`)?e.slice(0,-4):e}function Bp(e){return zp((e.toolName||e.name||``).trim())}function Vp(e){if(!e)return;if(typeof e==`string`){let t=e.trim();if(!t.startsWith(`{`))return;try{return Vp(JSON.parse(t))}catch{return}}if(typeof e!=`object`||Array.isArray(e))return;let t=e;if(t.value!==void 0&&t.recipient===void 0&&t.content===void 0&&t.code===void 0){let e=Vp(t.value);if(e)return e}if(t.arguments!==void 0&&t.recipient===void 0&&t.content===void 0&&t.code===void 0){let e=Vp(t.arguments);if(e)return e}return t}function Hp(e){if(e[0]!==`{`)return;let t=0,n=null,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(n){if(r){r=!1;continue}if(a===`\\`){r=!0;continue}a===n&&(n=null);continue}if(a===`"`||a===`'`||a==="`"){n=a;continue}if(a===`{`)t++;else if(a===`}`&&(t--,t===0))return e.slice(0,i+1)}}function Up(e){try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return t}catch{}try{let t=e.replace(/,\s*([}\]])/g,`$1`).replace(/([{,]\s*)([A-Za-z_][\w]*)\s*:/g,`$1"$2":`).replace(/'/g,`"`),n=JSON.parse(t);if(n&&typeof n==`object`&&!Array.isArray(n))return n}catch{return}}function Wp(e,t){let n=[],r=0;for(;r<e.length;){let i=e.indexOf(t,r);if(i<0)break;r=i+t.length;let a=e.slice(r),o=a.search(/\s*\(\s*\{/);if(o<0)continue;let s=Hp(a.slice(o).replace(/^\s*\(\s*/,``));if(!s)continue;let c=Up(s);c&&n.push(c)}return n}function Gp(e){let t=[];for(let n of jp)for(let r of Wp(e,n))t.push({toolName:n,input:r});for(let e=t.length-1;e>=0;e--)if(Kp(t[e].toolName,t[e].input))return t[e];if(!/\b(?:MessageColleague|SendMessage)\s*\(/.test(e)||/\baction\s*:\s*['"]list['"]/.test(e)&&!/\baction\s*:\s*['"]send['"]/.test(e))return;let n=e.match(/\brecipient\s*:\s*['"]([^'"]+)['"]/)?.[1];if(!n)return;let r=e.match(/\bcontent\s*:\s*(['"`])([\s\S]*?)\1/)?.[2]??``,i=e.match(/\bsummary\s*:\s*['"]([^'"]+)['"]/)?.[1];return{toolName:/\bMessageColleague\s*\(/.test(e)?`MessageColleague`:`SendMessage`,input:{recipient:n,content:r,...i?{summary:i}:{},type:`message`}}}function Kp(e,t){if(!jp.includes(e)||!t||t.action===`list`||(typeof t.type==`string`?t.type:`message`)!==`message`)return null;let n=typeof t.recipient==`string`?t.recipient.trim():``;if(!n||n===Mp)return null;let r=typeof t.content==`string`?t.content:``,i=typeof t.summary==`string`&&t.summary.trim()?t.summary.trim():void 0;return i?{peer:n,text:r,summary:i}:{peer:n,text:r}}function qp(e,t){if(!jp.includes(e)||!t||Pp(t)||t.action===`list`||t.action===`send`)return null;let n=typeof t.from==`string`?t.from.trim():``,r=typeof t.text==`string`&&t.text?t.text:typeof t.content==`string`?t.content:``;if(!n||n===Mp||!r)return null;let i=typeof t.summary==`string`&&t.summary.trim()?t.summary.trim():void 0;return i?{peer:n,text:r,summary:i}:{peer:n,text:r}}function Jp(e){let t=Yp(e);return t?qp(t.toolName,t.input):null}function Yp(e){let t=Bp(e),n=Vp(e.input);if(t===`DeferExecute`){let e=typeof n?.toolName==`string`?zp(n.toolName):``,t=Vp(n?.params)??Vp(n?.arguments);return!e||!t?void 0:{toolName:e,input:t}}if(t===`REPL`)return Gp(typeof n?.code==`string`?n.code:typeof e.input==`string`?e.input:``);if(n)return{toolName:t,input:n}}function Xp(e){let t=Yp(e);return t?Kp(t.toolName,t.input):null}function Zp(e,t){if(!t)return[...e];let n=[],r=new Set,i=e=>{if(!r.has(e.id)){r.add(e.id),n.push(e);for(let n of e.children??[]){let e=t(n);e&&i(e)}}};for(let t of e)i(t);return n}function Qp(e){if(e.type===`tool_call`){let t=Jp(e);if(t)return{id:e.id,direction:`in`,peer:t.peer,text:t.text,summary:t.summary,timestamp:e.timestamp};let n=Xp(e);return n?{id:e.id,direction:`out`,peer:n.peer,text:n.text,summary:n.summary,timestamp:e.timestamp}:null}if(e.type===`message`){let t=e.teammate??(e.content?Lp(e.content):void 0);if(t&&t.from!==Mp)return{id:e.id,direction:`in`,peer:t.from,text:Rp(t.content),summary:t.summary,timestamp:e.timestamp}}return null}function $p(e){let t=[],n=new Set;for(let r of e){if(r.direction===`in`){let e=`${r.peer}\n${r.text}`;if(n.has(e))continue;n.add(e),t.push(r);continue}let e=t[t.length-1];e&&e.direction===`out`&&e.peer===r.peer&&e.text===r.text||t.push(r)}return t}function em(e,t,n=[]){let r=new Set([t,...n].map(e=>e.trim()).filter(Boolean)),i=[];for(let t of e){let e=Qp(t);e&&r.has(e.peer)&&i.push(e)}return $p(i)}function tm(e){if(!e)return``;let t=e.match(/^(\/Users\/[^/]+|\/home\/[^/]+)(\/.*)?$/);return t?`~${t[2]||``}`:e}function nm(e){return e?e.split(/[/\\]/).filter(Boolean).pop()||e:`/`}function rm(e,t,n){let r=(e?t.find(t=>t.id===e):void 0)??am(t,n);if(!r)return null;let i=r.changedFiles??[];return{checkpointId:r.id,label:r.label??``,createdAt:r.createdAt,files:i,additions:r.additions,deletions:r.deletions,hasCodeChanges:i.length>0}}function im(e){return(e??``).replace(/\s+/g,` `).trim()}function am(e,t){let n=im(t);if(!n)return;let r=e.filter(e=>im(e.label)===n);return r.length===1?r[0]:void 0}function om(e,t=2){let n=e.split(/\r?\n/).filter(e=>e.trim().length>0);return n.length>t?`${n.slice(0,t).join(`
|
|
@@ -32,7 +32,7 @@ import{i as e,r as t}from"./rolldown-runtime-Dd_uD5pT.js";import{$ as n,A as r,A
|
|
|
32
32
|
`);e.trim()&&t.push({kind:`code`,text:e,language:a}),i=[],r=null,a=``;continue}i.push(e);continue}if(n){o(),r={char:n[1][0],length:n[1].length,language:n[2]||``},a=n[2]||``;continue}i.push(e)}if(r){let e=i.join(`
|
|
33
33
|
`);e.trim()&&t.push({kind:`code`,text:e,language:a})}else o();return t}var qm=/[\u3000-\u303f\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff00-\uffef]/,Jm=/^ {0,3}(`{3,}|~{3,})/,Ym=/^(#{1,6})(?!#)/,Xm=/^(\d{1,2})\.(?!\d)/,Zm=/^\s*\d{1,2}\.\s+\S/,Qm=/^\|[^|\n]*\|[^|\n]*\|/,$m=/^[ \t]*\|?[ \t]*-{3,}/,eh=/^\|[ \t]*([^\s|][\s\S]*)$/,th=/^[ \t]*([^|\n]{1,40}?)[ \t]*\|([^\n]*\|.*)$/,nh=/^(#{2,6})(?!#)(?=[\u3400-\u9fff\d])/,rh=/^(\d{1,2})(?=[ \t]?[\u3400-\u9fff])/;function ih(e){return!!e&&qm.test(e)}function ah(e){for(let t=e.length-1;t>=0;t--)if(e[t].trim())return e[t]}function oh(e,t){let n=0;for(let r=0;r<t;r++)e[r]==="`"&&n++;return n%2==1}function sh(e,t){let n=0;for(let r=t-1;r>=0&&e[r]===`\\`;r--)n++;return n%2==1}function ch(e,t){return e[t]===`|`&&!sh(e,t)&&!oh(e,t)}function lh(e,t){let n=!1,r=0;for(let i=0;i<t;i++){if(e[i]==="`"){r++;continue}r%2!=1&&(e[i]!==`$`||sh(e,i)||(e[i+1]===`$`&&i++,n=!n))}return n}function uh(e){let t=0,n=0;for(let r=0;r<e.length;r++){if(e[r]==="`"){n++;continue}n%2!=1&&(e[r]!==`$`||e[r+1]!==`$`||sh(e,r)||(t++,r++))}return t}function dh(e){for(let t=0;t<e.length;t++)if(ch(e,t)&&!lh(e,t))return!0;return!1}function fh(e,t){if(e[t]!==`#`)return!1;let n=e[t-1];if(n===`#`||!ih(n))return!1;let r=Ym.exec(e.slice(t));if(!r||r[1].length<2)return!1;let i=e[t+r[0].length];return!i||i===`#`?!1:ih(i)||i===` `||/\d/.test(i)}function ph(e,t){if(!ih(e[t-1]))return!1;let n=Xm.exec(e.slice(t));if(!n)return!1;let r=e[t+n[0].length];return ih(r)||r===` `}function mh(e,t,n){if(e[t]!==`|`||!Qm.test(e.slice(t)))return!1;let r=e[t-1];if(r===`|`)return!1;let i=e.slice(0,t);return/\s/.test(r)?n&&i.trimEnd().endsWith(`|`):!i.trimStart().startsWith(`|`)}function hh(e,t){let n=e[t+1];return!n||!n.trim()?0:Sh(n)?xh(n):0}function gh(e,t){let n=xh(e);return n<2?!1:t===n}function _h(e){return/^\s*\|/.test(e)}function vh(e,t){let n=[];for(let r=1;r<e.length;r++)oh(e,r)||lh(e,r)||(fh(e,r)||ph(e,r)||mh(e,r,t))&&n[n.length-1]!==r&&n.push(r);if(n.length===0)return[e];let r=[],i=0;for(let t of n){let n=e.slice(i,t).replace(/\s+$/,``);n&&r.push(n),i=t}let a=e.slice(i);return a&&r.push(a),r}function yh(e){let t=e.replace(nh,`$1 `);return t=t.replace(/\d{1,2}\.(?=[\u3400-\u9fff])/g,(e,...n)=>{let r=n[n.length-2];return oh(t,r)?e:`${e} `}),t}function bh(e,t){let n=rh.exec(e);if(!n)return e;let r=ah(t),i=r?/^\s*(\d{1,2})\.\s+\S/.exec(r):null;if(!i||Number(n[1])!==Number(i[1])+1)return e;let a=e.slice(n[1].length).replace(/^[ \t]+/,``);return`${n[1]}. ${a}`}function xh(e){let t=e.trim();if(!t.startsWith(`|`)||!t.endsWith(`|`)||t.length<3)return 0;let n=t.slice(1,-1).split(`|`);return n.length>=2?n.length:0}function Sh(e){let t=e.trim();if(!t.startsWith(`|`)||!t.endsWith(`|`))return!1;let n=t.slice(1,-1).split(`|`).map(e=>e.trim());return n.length>=2&&n.every(e=>/^:?-+:?$/.test(e))}function Ch(e){let t=e.trim();return t.length<3||!/^[|\-: ]+$/.test(t)?!1:t.includes(`|`)&&t.includes(`-`)&&!Sh(t)}function wh(e,t){let n=ah(t);if(!n||xh(n)<2&&!Sh(n))return!1;let r=e.trim();return!r||r.startsWith(`|`)||!dh(r)?!1:!/^[#>]|^[-*+]\s|^\d{1,2}\.\s|^\d{1,2}\s/.test(r)}function Th(e){return`| ${Array.from({length:e},()=>`---`).join(` | `)} |`}function Eh(e,t,n){if(!ch(e,t)||n<2)return null;let r=[],i=t+1;for(let a=i;a<e.length;a++)if(ch(e,a)){if(r.push(e.slice(i,a)),r.length===n)return{row:e.slice(t,a+1),cells:r,end:a+1};i=a+1}return null}function Dh(e){let t=e.trim();if(!t.startsWith(`|`))return null;let n=[],r=1,i=-1;for(let e=1;e<t.length;e++)ch(t,e)&&(n.push(t.slice(r,e)),r=e+1,i=e);return i===t.length-1&&n.length>=2?n:null}function Oh(e){for(let t=0;t<e.length;t++)if(ch(e,t)&&!(t>0&&!/\s/.test(e[t-1])))for(let n=t+1;n<e.length;n++){if(!ch(e,n))continue;let r=n+1;for(;/\s/.test(e[r]??``);)r++;if(!ch(e,r))continue;let i=e.slice(t,n+1).trim(),a=Dh(i);if(!a)continue;let o=Eh(e,r,a.length);if(!o||!o.cells.every(e=>/^\s*:?-+:?\s*$/.test(e)))continue;let s=[i,o.row],c=o.end,l=!0;for(;c<e.length;){for(;/\s/.test(e[c]??``);)c++;if(c>=e.length)break;let t=Eh(e,c,a.length);if(!t){l=!1;break}s.push(t.row),c=t.end}if(!l)continue;let u=e.slice(0,t).trimEnd();return u?[u,``,...s]:s}return null}function kh(e,t){if(Sh(e))return null;let n=ah(t);if(!n||Sh(n))return null;let r=xh(n);if(r<2)return null;let i=$m.exec(e);if(!i)return null;let a=e.slice(i[0].length),o=eh.exec(a);if(o)return[Th(r),`| ${o[1]}`];let s=th.exec(a);return s?[Th(r),`| ${s[1].trim()} |${s[2]}`]:null}function Ah(e){if(!e)return e;let t=e.split(`
|
|
34
34
|
`),n=[],r=null,i=!1,a=0,o=e=>{!e.trim()||!_h(e)?a=0:Sh(e)&&(a=xh(e)),n.push(e)},s=e=>{let t=ah(n),r=Zm.test(e)&&!!t&&Zm.test(t),i=_h(e)&&!!t&&_h(t);!r&&!i&&n[n.length-1]!==``&&o(``),o(e)};for(let e=0;e<t.length;e++){let c=t[e],l=Jm.exec(c);if(l){let e=l[1];r?e[0]===r.char&&e.length>=r.length&&(r=null):r={char:e[0],length:e.length},o(c);continue}if(r){o(c);continue}let u=uh(c);if(i){u%2==1&&(i=!1),o(c);continue}if(u%2==1){i=!0,o(c);continue}if(!c.trim()){o(c);continue}let d=Oh(c);if(d){d.forEach(o);continue}if(Sh(c)){let e=xh(ah(n)??``),t=xh(c);if(e>=2&&t!==e){o(Th(e));continue}}let f=kh(c,n);if(f){f.forEach(o);continue}if(Ch(c)){let e=xh(ah(n)??``);if(e>=2){o(Th(e));continue}}if(wh(c,n)){o(`| ${c.trim()}`);continue}vh(c,!gh(c,a>=2?a:hh(t,e))).forEach((e,t)=>{let r=bh(yh(e),n);t===0?o(r):s(r)})}return n.join(`
|
|
35
|
-
`)}var jh=`modulepreload`,Mh=function(e){return`/`+e},Nh={},Ph=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Mh(t,n),t=s(t),t in Nh)return;Nh[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:jh,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Fh=24;function Ih(e,t){return(e??``).trim().toLowerCase()===`mermaid`&&t.trim().length>0}function Lh(e){return e===`dark`?`dark`:`default`}function Rh(e,t){return`${e}\u0000${t}`}var zh=null,Bh=0,Vh=new Map;function Hh(){return zh||=Ph(()=>import(`./mermaid.core-
|
|
35
|
+
`)}var jh=`modulepreload`,Mh=function(e){return`/`+e},Nh={},Ph=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Mh(t,n),t=s(t),t in Nh)return;Nh[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:jh,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Fh=24;function Ih(e,t){return(e??``).trim().toLowerCase()===`mermaid`&&t.trim().length>0}function Lh(e){return e===`dark`?`dark`:`default`}function Rh(e,t){return`${e}\u0000${t}`}var zh=null,Bh=0,Vh=new Map;function Hh(){return zh||=Ph(()=>import(`./mermaid.core-DGYOOYu5.js`).then(e=>e.t).then(e=>e.default??e),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])).catch(e=>{throw zh=null,e}),zh}function Uh(e,t){for(Vh.set(e,t);Vh.size>Fh;){let e=Vh.keys().next().value;if(e===void 0)break;Vh.delete(e)}}function Wh(e){if(typeof document<`u`)for(let t of[e,`d${e}`])document.getElementById(t)?.remove()}function Gh(e){return e instanceof Error&&e.message?e.message:typeof e==`string`?e:`mermaid render failed`}var Kh=`cb-export-background`,qh=/^[#a-zA-Z0-9(),.%\s-]+$/;function Jh(e=Date.now()){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`mermaid-${t.getFullYear()}${n(t.getMonth()+1)}${n(t.getDate())}-${n(t.getHours())}${n(t.getMinutes())}${n(t.getSeconds())}.svg`}function Yh(e,t){return!t||!qh.test(t)||e.includes(Kh)?e:e.replace(/<svg\b[^>]*>/,e=>`${e}<!--${Kh}--><rect width="100%" height="100%" fill="${t}"/>`)}async function Xh(e,t){let n=Rh(t,e),r=Vh.get(n);if(r)return{ok:!0,svg:r};let i=`cb-mermaid-${++Bh}`;try{let r=await Hh();r.initialize({startOnLoad:!1,securityLevel:`strict`,theme:t,fontFamily:`inherit`}),await r.parse(e);let{svg:a}=await r.render(i,e);return a?(Uh(n,a),Wh(i),{ok:!0,svg:a}):(Wh(i),{ok:!1,error:`empty svg`})}catch(e){return Wh(i),{ok:!1,error:Gh(e)}}}var Zh=[`所有人`,`everyone`,`all`],Qh=/[\s,,。.!!??;;::、]/,$h=Qh,eg=8,tg=/[0-9a-fA-F-]/,ng=[...Zh].sort((e,t)=>t.length-e.length);function rg(e){return e!==void 0&&/[a-z0-9]/i.test(e)}function ig(e){let t=e.trim().toLowerCase();if(!t)return[];let n=new Set([t,t.replace(/\s+/g,``)]),r=t.split(/\s+/)[0];return r&&n.add(r),[...n]}function ag(e){let t=new Map;for(let n of e)for(let e of ig(n.name)){let r=t.get(e)??new Map;r.set(n.id,n),t.set(e,r)}let n=new Map,r=[];for(let[e,i]of t){let t=[...i.values()];n.set(e,t),r.push({handle:e,members:t})}return r.sort((e,t)=>t.handle.length-e.handle.length),{byHandle:n,ranked:r}}function og(e,t,n){let r=n?.everyone!==!1,i=new Set;for(let n of sg(e,t)){if(n.kind===`everyone`){if(r)for(let e of t)i.add(e.id);continue}if(n.kind===`mention`)for(let e of n.agentIds)i.add(e)}return[...i]}function sg(e,t){if(!e)return[];let{ranked:n}=ag(t),r=[],i=0;for(;i<e.length;){let a=e.indexOf(`@`,i);if(a<0){r.push({kind:`text`,text:e.slice(i)});break}if(a>i&&r.push({kind:`text`,text:e.slice(i,a)}),rg(e[a-1])){r.push({kind:`text`,text:`@`}),i=a+1;continue}let o=ug(e,a);if(o){r.push({kind:`everyone`,name:o.name}),i=o.end;continue}let s=lg(e.slice(a+1),t);if(s){r.push({kind:`mention`,linkAgentId:s.member.id,agentIds:[s.member.id],name:s.member.name}),i=a+1+s.consumed;continue}let c=n.find(t=>{let n=a+1+t.handle.length;if(e.slice(a+1,n).toLowerCase()!==t.handle)return!1;let r=e[n];return!r||$h.test(r)});if(!c){r.push({kind:`text`,text:`@`}),i=a+1;continue}r.push({kind:`mention`,linkAgentId:c.members[0].id,agentIds:c.members.map(e=>e.id),name:c.members[0].name}),i=a+1+c.handle.length}return dg(r)}function cg(e,t){let n=e[t];return!!n&&!$h.test(n)&&tg.test(n)}function lg(e,t){let n=e.toLowerCase(),r=t.filter(e=>e.id.trim()),i=[...r].sort((e,t)=>t.id.length-e.id.length);for(let t of i){let r=t.id.trim();if(n.startsWith(r.toLowerCase())&&!cg(e,r.length))return{member:t,consumed:r.length}}let a=r.filter(t=>{let r=t.id.trim().slice(0,eg).toLowerCase();return r.length>=eg&&n.startsWith(r)&&!cg(e,eg)});if(a.length===1)return{member:a[0],consumed:eg}}function ug(e,t){for(let n of ng){let r=t+1+n.length;if(e.slice(t+1,r).toLowerCase()!==n.toLowerCase())continue;let i=e[r];if(!i||$h.test(i))return{name:n,end:r}}}function dg(e){let t=[];for(let n of e){let e=t[t.length-1];n.kind===`text`&&e?.kind===`text`?e.text+=n.text:t.push(n.kind===`text`?{...n}:n)}return t.filter(e=>e.kind!==`text`||e.text.length>0)}function fg(e,t){if(e.kind===`everyone`)return`@${e.name} `;let n=e.name.trim().toLowerCase();return t.filter(e=>e.name.trim().toLowerCase()===n).length===1?`@${e.name} `:`@${e.id} `}var pg=Qh;function mg(e){let t=e.trim();return t.startsWith(`.`)||t.startsWith(`/`)||t.includes(`/`)}function hg(e,t){let n=Math.max(0,Math.min(t,e.length));for(let t=n-1;t>=0;t--){let r=e[t];if(r===`@`){let r=t>0?e[t-1]:``;if(r&&!pg.test(r)&&r!==`
|
|
36
36
|
`)return null;let i=e.slice(t+1,n);return/[\s\n]/.test(i)?null:{start:t,query:i}}if(r===` `||r===`
|
|
37
37
|
`)return null}return null}function gg(e,t,n){let r=e.trim().toLowerCase(),i=[];n&&(!r||n.toLowerCase().startsWith(r)||Zh.some(e=>e.toLowerCase().startsWith(r)))&&i.push({kind:`everyone`,name:n});for(let e of t){let t=e.name.toLowerCase(),n=e.id.toLowerCase();(!r||t.includes(r)||n.includes(r))&&i.push({kind:`agent`,id:e.id,name:e.name})}return i}var _g=`mention:`,vg=`agent:`;function yg(e){return e.startsWith(_g)}function bg(e){return`${_g}${vg}${e}`}function xg(){return`${_g}everyone`}function Sg(e){if(typeof e!=`string`||!e.startsWith(_g))return;let t=e.slice(8);if(t===`everyone`)return{kind:`everyone`};if(t.startsWith(vg)){let e=t.slice(6).trim();return e?{kind:`agent`,id:e}:void 0}}var Cg=new Set([`code`,`inlineCode`,`math`,`inlineMath`,`html`]);function wg(e,t){Array.isArray(e.children)&&(e.children=e.children.flatMap(e=>!e||typeof e!=`object`||typeof e.type==`string`&&Cg.has(e.type)||e.type===`link`?[e]:e.type===`text`&&typeof e.value==`string`&&e.value.includes(`@`)?Tg(e.value,t):(wg(e,t),[e])))}function Tg(e,t){let n=sg(e,t);return n.some(e=>e.kind!==`text`)?n.map(e=>e.kind===`text`?{type:`text`,value:e.text}:e.kind===`everyone`?Eg(xg(),`@${e.name}`):Eg(bg(e.linkAgentId),`@${e.name}`)):[{type:`text`,value:e}]}function Eg(e,t){return{type:`link`,url:e,children:[{type:`text`,value:t}]}}function Dg(e){return t=>{if(!t||typeof t!=`object`)throw TypeError(`remarkChannelMentions must be registered as [plugin, options] in remarkPlugins`);wg(t,e?.members??[])}}function Og(e){let t=kt(e);return t?{type:`open`,url:t}:{type:`block`}}function kg({href:e,children:t,onClick:n,onAuxClick:r,...i}){let a=t=>{if(n?.(t),t.defaultPrevented)return;let r=kt(e);if(t.preventDefault(),t.stopPropagation(),r){if(t.metaKey||t.ctrlKey){window.open(r,`_blank`,`noopener,noreferrer`);return}se({kind:`url`,url:r})||(Mt.getState().ensureBrowserTab(r,At(r)),wn.getState().setWorkspaceDockOpen(!0))}},o=t=>{if(r?.(t),t.defaultPrevented)return;let n=Og(e);if(n.type===`block`){t.preventDefault();return}t.preventDefault(),window.open(n.url,`_blank`,`noopener,noreferrer`)};return(0,G.jsx)(`a`,{...i,href:e,onClick:a,onAuxClick:o,children:t})}function Ag(e){let t=/^(.*?)#L(\d+)(?:-L?(\d+))?$/.exec(e),n=/^(.*):(\d+)(?:-(\d+))?$/.exec(e),r=t??n;if(!r||!r[1])return{path:e};let i=Number(r[2]),a=r[3]?Number(r[3]):void 0;return{path:r[1],line:i,endLine:a&&a>=i?a:void 0}}function jg(e){let t=e.replace(/\/+$/,``).split(`/`);return t[t.length-1]||e}function Mg({path:e,className:t,children:n,displayMode:r=`full`,hint:i=!0,openInDock:a=!1}){let o=Tt(e=>e.cwd),s=t=>{t.preventDefault(),t.stopPropagation();let n=Ag(e),r=gn(n.path,o);if(!(a&&se({kind:`file`,path:r,line:n.line,endLine:n.endLine}))){if(a&&window.matchMedia(`(min-width: 768px)`).matches){let e=r.substring(r.lastIndexOf(`/`)+1),t=n.line?{line:n.line,col:1,endLine:n.endLine,query:``}:void 0;wn.getState().setWorkspaceDockOpen(!0),Mt.getState().ensureFileTab(r,e);let i=Et.getState();i.openFile(r,e,t).then(()=>{i.revealInTree(r)}).catch(()=>void 0);return}ue(r,n.line,void 0,n.endLine)}},c=n??(r===`basename`?jg(e):e),l=ln(`cursor-pointer hover:underline hover:text-accent-brand transition-colors ${t||``}`),u=(0,G.jsx)(`a`,{href:e,className:l,title:``,onClick:s,children:c});return i?(0,G.jsx)(B,{text:e,children:u}):u}function Ng(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Pg(e,t){if(e==null)return{};var n,r,i=Ng(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Fg(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ig(e){if(Array.isArray(e))return Fg(e)}function Lg(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Rg(e,t){if(e){if(typeof e==`string`)return Fg(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fg(e,t):void 0}}function zg(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
38
38
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bg(e){return Ig(e)||Lg(e)||Rg(e)||zg()}function Vg(e){"@babel/helpers - typeof";return Vg=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Vg(e)}function Hg(e,t){if(Vg(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Vg(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ug(e){var t=Hg(e,`string`);return Vg(t)==`symbol`?t:t+``}function Wg(e,t,n){return(t=Ug(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gg(){return Gg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Gg.apply(null,arguments)}function Kg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function qg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Kg(Object(n),!0).forEach(function(t){Wg(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kg(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Jg(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],`${e[0]}.${e[1]}`,`${e[1]}.${e[0]}`];if(t===3)return[e[0],e[1],e[2],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}`];if(t>=4)return[e[0],e[1],e[2],e[3],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[0]}.${e[3]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[1]}.${e[3]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[2]}.${e[3]}`,`${e[3]}.${e[0]}`,`${e[3]}.${e[1]}`,`${e[3]}.${e[2]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[0]}.${e[2]}.${e[3]}`,`${e[0]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[1]}.${e[2]}.${e[3]}`,`${e[1]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[2]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[0]}`,`${e[2]}.${e[1]}.${e[3]}`,`${e[2]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[1]}`,`${e[3]}.${e[0]}.${e[1]}`,`${e[3]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[1]}.${e[2]}`,`${e[3]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}.${e[3]}`,`${e[0]}.${e[1]}.${e[3]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[1]}.${e[2]}`,`${e[0]}.${e[3]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}.${e[3]}`,`${e[1]}.${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[0]}.${e[2]}`,`${e[1]}.${e[3]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}.${e[3]}`,`${e[2]}.${e[0]}.${e[3]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[0]}.${e[1]}`,`${e[2]}.${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[0]}.${e[1]}.${e[2]}`,`${e[3]}.${e[0]}.${e[2]}.${e[1]}`,`${e[3]}.${e[1]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[0]}.${e[1]}`,`${e[3]}.${e[2]}.${e[1]}.${e[0]}`]}var Yg={};function Xg(e){if(e.length===0||e.length===1)return e;var t=e.join(`.`);return Yg[t]||(Yg[t]=Jg(e)),Yg[t]}function Zg(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return Xg(e.filter(function(e){return e!==`token`})).reduce(function(e,t){return qg(qg({},e),n[t])},t)}function Qg(e){return e.join(` `)}function $g(e,t){var n=0;return function(r){return n+=1,r.map(function(r,i){return e_({node:r,stylesheet:e,useInlineStyles:t,key:`code-segment-${n}-${i}`})})}}function e_(e){var t=e.node,n=e.stylesheet,r=e.style,i=r===void 0?{}:r,a=e.useInlineStyles,o=e.key,s=t.properties,c=t.type,l=t.tagName,u=t.value;if(c===`text`)return u;if(l){var d=$g(n,a),f;if(!a)f=qg(qg({},s),{},{className:Qg(s.className)});else{var p=Object.keys(n).reduce(function(e,t){return t.split(`.`).forEach(function(t){e.includes(t)||e.push(t)}),e},[]),m=s.className&&s.className.includes(`token`)?[`token`]:[],h=s.className&&m.concat(s.className.filter(function(e){return!p.includes(e)}));f=qg(qg({},s),{},{className:Qg(h)||void 0,style:Zg(s.className,Object.assign({},s.style,i),n)})}var g=d(t.children);return V.createElement(l,Gg({key:o},f),g)}}var t_=(function(e,t){return e.listLanguages().indexOf(t)!==-1}),n_=[`language`,`children`,`style`,`customStyle`,`codeTagProps`,`useInlineStyles`,`showLineNumbers`,`showInlineLineNumbers`,`startingLineNumber`,`lineNumberContainerStyle`,`lineNumberStyle`,`wrapLines`,`wrapLongLines`,`lineProps`,`renderer`,`PreTag`,`CodeTag`,`code`,`astGenerator`];function r_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i_(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?r_(Object(n),!0).forEach(function(t){Wg(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var a_=/\n/g;function o_(e){return e.match(a_)}function s_(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(e,t){var i=t+n;return V.createElement(`span`,{key:`line-${t}`,className:`react-syntax-highlighter-line-number`,style:typeof r==`function`?r(i):r},`${i}
|
|
@@ -82,7 +82,7 @@ declare const beforeEach: any;
|
|
|
82
82
|
declare const afterEach: any;
|
|
83
83
|
declare const onTestFailed: any;
|
|
84
84
|
declare const onTestFinished: any;
|
|
85
|
-
`,jE=null;function ME(e){let t=e.replace(/\\/g,`/`);if(t.startsWith(`//`)){let[e,...n]=t.slice(2).split(`/`);return`file://${e}/${n.map(encodeURIComponent).join(`/`)}`}return`file://${(t.startsWith(`/`)?t:`/${t}`).split(`/`).map((e,t)=>t===1&&/^[A-Za-z]:$/.test(e)?e:encodeURIComponent(e)).join(`/`)}`}function NE(){return jE||=(async()=>{let[e,{default:t},{default:n},{default:r},{default:i},{default:a}]=await Promise.all([Ph(()=>import(`./editor.main-
|
|
85
|
+
`,jE=null;function ME(e){let t=e.replace(/\\/g,`/`);if(t.startsWith(`//`)){let[e,...n]=t.slice(2).split(`/`);return`file://${e}/${n.map(encodeURIComponent).join(`/`)}`}return`file://${(t.startsWith(`/`)?t:`/${t}`).split(`/`).map((e,t)=>t===1&&/^[A-Za-z]:$/.test(e)?e:encodeURIComponent(e)).join(`/`)}`}function NE(){return jE||=(async()=>{let[e,{default:t},{default:n},{default:r},{default:i},{default:a}]=await Promise.all([Ph(()=>import(`./editor.main-Czm6gHJH.js`).then(e=>e.t),__vite__mapDeps([21,1,22,23])),Ph(()=>import(`./editor.worker-B-sMdZtv.js`),[]),Ph(()=>import(`./css.worker-Cn9Zhvnm.js`),[]),Ph(()=>import(`./html.worker-ApdU_gsg.js`),[]),Ph(()=>import(`./json.worker-Cf_z4BBQ.js`),[]),Ph(()=>import(`./ts.worker-COz2uahr.js`),[])]),o=e.typescript;for(let e of[o.typescriptDefaults,o.javascriptDefaults]){let t=e.getDiagnosticsOptions();e.setDiagnosticsOptions({...t,diagnosticCodesToIgnore:[...t.diagnosticCodesToIgnore??[],2307,2792]}),e.addExtraLib(AE,`file:///node_modules/vitest/globals.d.ts`)}self.MonacoEnvironment={getWorker(e,o){switch(o){case`json`:return new i;case`css`:case`scss`:case`less`:return new n;case`html`:case`handlebars`:case`razor`:return new r;case`typescript`:case`javascript`:return new a;default:return new t}}},iE.config({monaco:e})})(),jE}var PE={fontSize:13,fontFamily:`'Menlo', 'Monaco', 'Consolas', 'Courier New', monospace`,lineHeight:20,minimap:{enabled:!1},scrollBeyondLastLine:!1,automaticLayout:!0,wordWrap:`off`,tabSize:4,insertSpaces:!0,renderWhitespace:`selection`,padding:{top:0,bottom:0},smoothScrolling:!0,fixedOverflowWidgets:!0,readOnly:!0,renderSideBySide:!1,ignoreTrimWhitespace:!1,enableSplitViewResizing:!0,originalEditable:!1,contextmenu:!1};function FE({path:e,oldText:t,newText:n,maxHeight:r=`100%`}){let{t:i}=R(),{resolved:a}=ht(),o=(0,V.useRef)(null),s=a===`dark`?`vs-dark`:`vs`,c=IE(e),[l,u]=(0,V.useState)(null),d=(0,V.useRef)(null),[f,p]=(0,V.useState)(!1);(0,V.useEffect)(()=>{let e=!1;return NE().then(()=>{e||p(!0)}),()=>{e=!0}},[]),(0,V.useEffect)(()=>{if(l)return kE({onClose:()=>u(null),isInside:e=>DE(e,d.current)})},[l]),(0,V.useLayoutEffect)(()=>{l&&d.current&&OE(d.current,l.x+4,l.y+4)},[l]);let m=(0,V.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let t=(o.current?.getModifiedEditor?.())?.getSelection?.();u({x:e.clientX,y:e.clientY,hasSelection:!(!t||t.isEmpty())})},[]),h=(0,V.useCallback)(()=>u(null),[]),g=(0,V.useCallback)(()=>{let t=(o.current?.getModifiedEditor?.())?.getSelection?.();h(),t&&!t.isEmpty()&&vp(bn(e,{startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn}))},[h,e]),_=(0,V.useCallback)(()=>{let e=o.current?.getModifiedEditor?.();h(),e&&(e.focus(),e.trigger(`keyboard`,`editor.action.clipboardCopyAction`,void 0))},[h]),v=(0,V.useCallback)(e=>{o.current=e;let t=()=>{let t=e.getLineChanges();if(t&&t.length>0){let n=t[0].modifiedStartLineNumber||t[0].originalStartLineNumber||1,r=e.getModifiedEditor();return r&&(r.revealLineInCenter(n),r.setPosition({lineNumber:n,column:1})),!0}return!1};if(!t()){let e=0,n=setInterval(()=>{e++,(t()||e>=20)&&clearInterval(n)},100)}},[]),y=(0,G.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2`,style:{color:`var(--color-text-tertiary)`},children:[(0,G.jsx)(Dt,{size:16,className:`animate-spin`}),(0,G.jsx)(`span`,{style:{fontSize:13},children:i(`editor.loading`)})]});return f?(0,G.jsxs)(`div`,{style:{height:r},className:`overflow-hidden`,onContextMenu:m,children:[(0,G.jsx)(xE,{original:t??``,modified:n,language:c,theme:s,height:`100%`,onMount:v,loading:y,options:PE}),l&&(0,mp.createPortal)((0,G.jsxs)(`div`,{ref:d,className:`editor-context-menu`,role:`menu`,style:{left:l.x,top:l.y},onPointerDown:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),children:[l.hasSelection&&(0,G.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:g,children:i(`editor.addToChat`)}),(0,G.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:!l.hasSelection,onClick:_,children:i(`editor.copy`)})]}),document.body)]}):(0,G.jsx)(`div`,{style:{height:r},className:`overflow-hidden`,children:y})}function IE(e){return{ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,py:`python`,go:`go`,java:`java`,rs:`rust`,rb:`ruby`,php:`php`,cpp:`cpp`,c:`c`,cs:`csharp`,swift:`swift`,kt:`kotlin`,scala:`scala`,sh:`shell`,bash:`shell`,zsh:`shell`,json:`json`,xml:`xml`,html:`html`,css:`css`,scss:`scss`,less:`less`,yaml:`yaml`,yml:`yaml`,md:`markdown`,sql:`sql`,dockerfile:`dockerfile`}[e.split(`.`).pop()?.toLowerCase()||``]||`text`}function LE({phases:e,script:t}){let{t:n}=R(),[r,i]=(0,V.useState)(!1),a=(0,V.useMemo)(()=>t?t.split(`
|
|
86
86
|
`).length:0,[t]);return(0,G.jsxs)(`div`,{className:`space-y-2.5`,children:[e&&e.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`text-xs text-text-secondary`,children:n(`workflow.approval.phasesIntro`)}),(0,G.jsx)(`ol`,{className:`text-xs space-y-0.5 pl-5 list-decimal text-text-secondary`,children:e.map((e,t)=>(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`span`,{className:`text-text-primary font-medium`,children:e.title}),e.detail&&(0,G.jsxs)(`span`,{className:`text-text-tertiary`,children:[` — `,e.detail]})]},t))})]}),(0,G.jsx)(`div`,{className:`text-[11px] leading-relaxed text-accent-yellow`,children:n(`workflow.approval.tokenHint`)}),t&&(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),className:`inline-flex items-center gap-1 text-[11px] text-text-secondary
|
|
87
87
|
hover:text-text-primary transition-colors`,children:[(0,G.jsx)(Vn,{size:12,className:`transition-transform ${r?`rotate-90`:``}`}),(0,G.jsx)(`span`,{children:n(r?`workflow.approval.hideScript`:`workflow.approval.viewScript`).replace(`{count}`,String(a))})]}),r&&(0,G.jsx)(`pre`,{className:`rounded-lg bg-bg-secondary/50 px-3.5 py-2.5
|
|
88
88
|
font-mono text-[11px] text-text-secondary
|
|
@@ -259,4 +259,4 @@ WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){t
|
|
|
259
259
|
`).trim();return a?`${i.join(`
|
|
260
260
|
`)}\n\n${a}\n`:`${i.join(`
|
|
261
261
|
`)}\n`}function U3(e,t={}){let n=new Date(t.now??Date.now());return`${JSON.stringify({title:V3(t),exportedAt:n.toISOString(),entries:e},null,2)}\n`}var W3=2500,G3=[`attention`];function K3(e){return G3.includes(e)}function q3(e,t,n,r=W3){return e?e.status===t?e.pending===t?e:{status:e.status,since:e.since,pending:t}:K3(e.status)||K3(t)||n-e.since>=r?{status:t,since:n,pending:t}:{status:e.status,since:e.since,pending:t}:{status:t,since:n,pending:t}}var J3=class{dwellMs;entries=new Map;constructor(e=W3){this.dwellMs=e}present(e,t,n){let r=q3(this.entries.get(e),t,n,this.dwellMs);return this.entries.set(e,r),r.status}presentAll(e,t){let n=new Map,r=new Set;for(let[i,a]of e)r.add(i),n.set(i,this.present(i,a,t));for(let e of[...this.entries.keys()])r.has(e)||this.entries.delete(e);return n}nextExpiryAt(){let e=null;for(let t of this.entries.values()){if(t.pending===t.status)continue;let n=t.since+this.dwellMs;e=e===null?n:Math.min(e,n)}return e}};function Y3(e,t){if(!Number.isFinite(e)||e<=0)return null;let n=e<0xe8d4a51000?e*1e3:e,r=new Date(n),i=new Date;return r.toDateString()===i.toDateString()?r.toLocaleTimeString(t,{hour:`2-digit`,minute:`2-digit`,hour12:!1}):r.getFullYear()===i.getFullYear()?r.toLocaleDateString(t,{month:`numeric`,day:`numeric`}):r.toLocaleDateString(t,{year:`2-digit`,month:`numeric`,day:`numeric`})}function X3({label:e,onContextMenu:t,onRename:n,onDelete:r,droppable:i}){return(0,G.jsxs)(`div`,{className:`group mx-2 mb-0.5 mt-2 flex min-h-7 items-center gap-1 rounded-md px-1 text-[11px] leading-4 text-text-tertiary ${i?.dragOver?`bg-bg-hover ring-1 ring-accent-brand/40`:``}`,onContextMenu:t,onDoubleClick:n,...i?{onDragOver:i.onDragOver,onDragEnter:i.onDragEnter,onDragLeave:i.onDragLeave,onDrop:i.onDrop}:{},children:[(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e}),n&&(0,G.jsx)(`button`,{type:`button`,onClick:e=>{e.preventDefault(),e.stopPropagation(),n()},className:`hidden rounded p-0.5 text-text-tertiary hover:bg-bg-hover hover:text-text-secondary group-hover:inline-flex`,"aria-label":e,children:(0,G.jsx)(oi,{size:11})}),r&&(0,G.jsx)(`button`,{type:`button`,onClick:e=>{e.preventDefault(),e.stopPropagation(),r()},className:`hidden rounded p-0.5 text-text-tertiary hover:bg-bg-hover hover:text-accent-red group-hover:inline-flex`,children:(0,G.jsx)(Mi,{size:11})})]})}function Z3({label:e,count:t,open:n,onToggle:r,children:i}){return(0,G.jsxs)(`div`,{className:`mt-0.5`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:r,"aria-expanded":n,className:`mx-3 flex h-9 w-[calc(100%-24px)] items-center gap-1.5 rounded-lg px-2.5 text-[12.5px] text-text-tertiary transition-colors hover:bg-bg-hover hover:text-text-secondary`,children:[(0,G.jsx)(Vn,{size:13,className:`shrink-0 transition-transform ${n?`rotate-90`:``}`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:e}),(0,G.jsx)(`span`,{className:`shrink-0 opacity-70`,children:t})]}),n&&i]})}function Q3({menu:e,menuRef:t,homeOn:n,homeAgents:r,homeGroups:i,homeChannels:a,homeDefaultAgentId:o,homeBuckets:s,backgroundJobs:c,pinnedJobIds:l,jobGroups:u,agentSessionIds:d,sortedSections:f,onClose:p,onStop:m,onRespawn:h,onPin:g,onUngroup:_,onDeleteJob:v,onCopySessionId:y,onCopyCwd:b,onCopyText:x,onRenameJob:S,onRenameAgent:C,onRenameChannel:w,onRenameRoom:T,onRenameSection:E,onHideAgent:D,onUnhideAgent:ee,onInviteToRoom:O,onDeleteAgent:k,onSelectHomeAgent:A,onRemoveRoomMember:te,onApplyDrag:j,onMoveToSection:ne,onCreateSectionAndMove:re,onDeleteCurrent:ie,onDeleteRoom:M,onDeleteChannel:ae,onDeleteSection:N,onHideChannel:oe,onOpenWorkspaceSettings:se,currentCwd:ce,onExportConversation:le}){let{t:P}=R(),[F,ue]=(0,V.useState)(!1),[de,fe]=(0,V.useState)(!1),[pe,me]=(0,V.useState)(!1),[he,ge]=(0,V.useState)(``),I=(0,G.jsx)(`div`,{className:`my-1 h-px bg-border-muted`,role:`separator`}),_e=(t,n)=>{let r=e.x>window.innerWidth-360,i=()=>{ue(!1),me(!1),ge(``)};return(0,G.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>{fe(!1),ue(!0)},onMouseLeave:i,onBlur:e=>{let t=e.relatedTarget;(!(t instanceof Node)||!e.currentTarget.contains(t))&&i()},children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),ue(e=>!e)},className:`${f1} justify-between`,children:[(0,G.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(wr,{size:12}),P(`agentHome.channel.moveTo`)]}),(0,G.jsx)(Vn,{size:12,className:`shrink-0 opacity-60`})]}),F&&(0,G.jsxs)(`div`,{role:`menu`,className:`absolute top-0 z-[1] w-[168px] rounded-md border border-border-muted bg-bg-card py-1 shadow-lg ${r?`right-full`:`left-full`}`,onClick:e=>e.stopPropagation(),children:[f.map(e=>(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:t=>{t.stopPropagation(),ne(n,e.id)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[t===e.id?(0,G.jsx)(Rn,{size:12}):(0,G.jsx)(`span`,{className:`w-3`}),(0,G.jsx)(`span`,{className:`min-w-0 truncate`,children:e.name})]},e.id)),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),ne(n,null)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[t?(0,G.jsx)(`span`,{className:`w-3`}):(0,G.jsx)(Rn,{size:12}),P(`agentHome.channel.ungrouped`)]}),(0,G.jsx)(`div`,{className:`my-1 h-px bg-border-muted`,role:`separator`}),pe?(0,G.jsx)(`div`,{className:`px-2 py-1`,children:(0,G.jsx)(`input`,{autoFocus:!0,value:he,onChange:e=>ge(e.target.value),onClick:e=>e.stopPropagation(),onKeyDown:e=>{e.nativeEvent.isComposing||e.key===`Enter`&&(e.preventDefault(),re(n,he))},placeholder:P(`agentHome.channel.sectionName`),"aria-label":P(`agentHome.channel.sectionName`),className:`h-7 w-full rounded-md border border-border-muted bg-bg-primary px-1.5 text-[12px] text-text-primary outline-none`})}):(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),me(!0)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(Sr,{size:12}),P(`agentHome.channel.newSection`)]})]})]})},ve=(e,t)=>e?.trim()?(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:n=>{n.stopPropagation(),p(),se(e,t)},className:f1,children:[(0,G.jsx)(Ci,{size:12}),P(`agents.workspaceSettings`)]}):null,ye=(t,n)=>{let r=e.x>window.innerWidth-360;return(0,G.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>{ue(!1),fe(!0)},onMouseLeave:()=>fe(!1),onBlur:e=>{let t=e.relatedTarget;(!(t instanceof Node)||!e.currentTarget.contains(t))&&fe(!1)},children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":de,onClick:e=>{e.stopPropagation(),ue(!1),fe(e=>!e)},className:`${f1} justify-between`,children:[(0,G.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(lr,{size:12}),P(`chat.exportTitle`)]}),(0,G.jsx)(Vn,{size:12,className:`shrink-0 opacity-60`})]}),de&&(0,G.jsxs)(`div`,{role:`menu`,className:`absolute top-0 z-[1] w-[184px] rounded-md border border-border-muted bg-bg-card py-1 shadow-lg ${r?`right-full`:`left-full`}`,onClick:e=>e.stopPropagation(),children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{p(),le(t,n,`markdown`)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(lr,{size:12}),P(`chat.exportMarkdown`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{p(),le(t,n,`json`)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(lr,{size:12}),P(`chat.exportJson`)]})]})]})},be=null;if(e.kind===`job`){let t=c.find(t=>t.id===e.job.id)??e.job,n=l.includes(t.id),r=$$(t),i=u[t.id];be=(0,G.jsxs)(G.Fragment,{children:[r.stop&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>m(e,t),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(Oi,{size:12}),P(`agents.action.stop`)]}),r.restart&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>h(e,t),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(hi,{size:12}),P(`agents.action.restart`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>g(e,t),className:f1,children:[n?(0,G.jsx)(si,{size:12}):(0,G.jsx)(ci,{size:12}),P(n?`agents.action.unpin`:`agents.action.pin`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),S(t.id)},className:f1,children:[(0,G.jsx)(oi,{size:12}),P(`agents.action.rename`)]}),i&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>_(e,t),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(wr,{size:12}),P(`agents.action.ungroup`)]}),I,t.sessionId&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>y(e,t),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(ar,{size:12}),P(`agents.action.copySessionId`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>b(e,t),className:f1,children:[(0,G.jsx)(ar,{size:12}),P(`agents.action.copyCwd`)]}),ve(t.cwd,t.name||t.intent||t.id),ye(t,t.name||t.intent||t.id),I,(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>v(e,t),className:`${f1} text-accent-red hover:text-accent-red`,children:[(0,G.jsx)(Mi,{size:12}),P(`agents.action.delete`)]})]})}else if(e.kind===`home-agent`){let t=r.find(t=>t.id===e.agent.id)??e.agent,n=s.get(t.id)??[],i=sn(t.primaryJobId,n),a=n.find(e=>!W$(e));be=(0,G.jsxs)(G.Fragment,{children:[a&&$$(a).stop&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>m(e,a),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(Oi,{size:12}),P(`agents.action.stop`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),C(t.id)},className:f1,children:[(0,G.jsx)(oi,{size:12}),P(`agents.action.rename`)]}),t.id!==o&&(t.visibility===`hidden`?(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),ee(t,!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(mr,{size:12}),P(`agentHome.unhide`)]}):(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),D(t)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(pr,{size:12}),P(`agentHome.hide`)]})),_e(t.sectionId,{kind:`agent`,id:t.id}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),x(t.homeCwd)},className:f1,children:[(0,G.jsx)(ar,{size:12}),P(`agents.action.copyCwd`)]}),ve(t.homeCwd,t.name),t.id===o?ye(void 0,t.name):i?ye(i,t.name):null,kp(t.id,o,t.engine)&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),O(t)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(Ii,{size:12}),P(`agentHome.room.invite`)]}),t.id!==o&&(0,G.jsxs)(G.Fragment,{children:[I,(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),k(t)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary text-accent-red hover:text-accent-red`,children:[(0,G.jsx)(Mi,{size:12}),P(`agents.action.delete`)]})]})]})}else if(e.kind===`home-member`){let t=r.find(t=>t.id===e.agent.id)??e.agent,n=i.find(t=>t.id===e.group.id)??e.group,a=s.get(t.id)??[],u=sn(t.primaryJobId,a)??(t.primaryJobId?c.find(e=>e.id===t.primaryJobId):void 0),f=(u&&!W$(u)?u:void 0)??a.find(e=>!W$(e)),_=u?$$(u):null,v=!!(u&&l.includes(u.id)),b=u?d[u.id]??u.sessionId:void 0,S=t.homeCwd&&t.homeCwd.trim()||u?.cwd,w=t.id===o,T=!!n.activeTeamName;be=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{p(),A(t)},className:f1,children:[(0,G.jsx)(Xr,{size:12}),P(`agentHome.room.openMember`)]}),f&&$$(f).stop&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>m(e,f),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(Oi,{size:12}),P(`agents.action.stop`)]}),u&&_?.restart&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>h(e,u),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(hi,{size:12}),P(`agents.action.restart`)]}),u&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>g(e,u),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[v?(0,G.jsx)(si,{size:12}):(0,G.jsx)(ci,{size:12}),P(v?`agents.action.unpin`:`agents.action.pin`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),C(t.id)},className:f1,children:[(0,G.jsx)(oi,{size:12}),P(`agents.action.rename`)]}),(b||S)&&I,u&&b&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>y(e,u),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(ar,{size:12}),P(`agents.action.copySessionId`)]}),S&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),x(S)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(ar,{size:12}),P(`agents.action.copyCwd`)]}),ve(S,t.name),w?ye(void 0,t.name):u?ye(u,t.name):null,I,(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:T,onClick:()=>te(n,t),title:T?P(`agentHome.room.teamingLocked`):void 0,className:`${f1} disabled:cursor-not-allowed disabled:opacity-40`,children:[(0,G.jsx)(Pi,{size:12}),P(`agentHome.room.remove`)]}),!w&&(0,G.jsxs)(G.Fragment,{children:[I,(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),k(t)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary text-accent-red hover:text-accent-red`,children:[(0,G.jsx)(Mi,{size:12}),P(`agents.action.delete`)]})]})]})}else if(e.kind===`home-room`){let t=i.find(t=>t.id===e.group.id)??e.group,n=!!t.activeTeamName;be=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),T(t.id)},className:f1,children:[(0,G.jsx)(oi,{size:12}),P(`agents.action.rename`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),Z.getState().updateGroup(t.id,{pinned:!t.pinned}).catch(()=>W.error(P(`agentHome.opFailed`)))},className:f1,children:[t.pinned?(0,G.jsx)(si,{size:12}):(0,G.jsx)(ci,{size:12}),P(t.pinned?`agents.action.unpin`:`agents.action.pin`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),j({kind:t.visibility===`hidden`?`unhide-room`:`hide-room`,groupId:t.id})},className:f1,children:[t.visibility===`hidden`?(0,G.jsx)(mr,{size:12}):(0,G.jsx)(pr,{size:12}),P(t.visibility===`hidden`?`agentHome.unhide`:`agentHome.hide`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),x(t.homeCwd)},className:f1,children:[(0,G.jsx)(ar,{size:12}),P(`agents.action.copyCwd`)]}),I,(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:n,onClick:e=>{e.stopPropagation(),p(),!n&&M(t)},title:n?P(`agentHome.room.teamingLocked`):void 0,className:`${f1} text-accent-red hover:text-accent-red disabled:cursor-not-allowed disabled:opacity-40`,children:[(0,G.jsx)(Mi,{size:12}),P(`agentHome.room.delete`)]})]})}else if(e.kind===`home-channel`){let t=a.find(t=>t.id===e.channelId);t&&(be=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),Z.getState().updateChannel(t.id,{pinned:!t.pinned}).catch(()=>void 0)},className:f1,children:[t.pinned?(0,G.jsx)(si,{size:12}):(0,G.jsx)(ci,{size:12}),t.pinned?P(`agents.action.unpin`):P(`agents.action.pin`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),w(t.id)},className:f1,children:[(0,G.jsx)(oi,{size:12}),P(`agents.action.rename`)]}),_e(t.sectionId,{kind:`channel`,id:t.id}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),Z.getState().updateChannel(t.id,{unreadByUser:1}).catch(()=>void 0)},className:f1,children:[(0,G.jsx)(Xr,{size:12}),P(`agentHome.channel.markUnread`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),x(t.id)},className:f1,children:[(0,G.jsx)(jr,{size:12}),P(`agentHome.channel.copyId`)]}),t.visibility===`hidden`?(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),Z.getState().updateChannel(t.id,{visibility:`visible`}).catch(()=>void 0)},className:f1,children:[(0,G.jsx)(mr,{size:12}),P(`agentHome.unhide`)]}):(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),Z.getState().updateChannel(t.id,{visibility:`hidden`}).catch(()=>void 0),oe(t.id)},className:f1,children:[(0,G.jsx)(pr,{size:12}),P(`agentHome.hide`)]}),I,(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),ae(t)},className:`${f1} text-accent-red hover:text-accent-red`,children:[(0,G.jsx)(Mi,{size:12}),P(`agentHome.channel.delete`)]})]}))}else if(e.kind===`home-section`){let t=f.find(t=>t.id===e.sectionId)??Z.getState().sections.find(t=>t.id===e.sectionId);t&&(be=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),E(t.id)},className:f1,children:[(0,G.jsx)(oi,{size:12}),P(`agentHome.channel.renameSection`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),N(t.id)},className:`${f1} text-accent-red hover:text-accent-red`,children:[(0,G.jsx)(Mi,{size:12}),P(`agentHome.channel.deleteSection`)]})]}))}else be=(0,G.jsxs)(G.Fragment,{children:[n&&o&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),C(o)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:[(0,G.jsx)(oi,{size:12}),P(`agents.action.rename`)]}),ve(ce,P(`mainAgent.defaultLabel`)),ye(void 0,P(`mainAgent.defaultLabel`)),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),p(),ie()},className:`${f1} text-accent-red hover:text-accent-red`,children:[(0,G.jsx)(Mi,{size:12}),P(`sessions.deleteCurrent`)]})]});return(0,mp.createPortal)((0,G.jsx)(`div`,{ref:t,tabIndex:-1,onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),onBlur:e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||p()},style:{left:Math.min(e.x,window.innerWidth-192),top:Math.max(8,Math.min(e.y,window.innerHeight-420))},className:`fixed z-[190] w-[184px] overflow-visible rounded-md border border-border-muted bg-bg-card py-1 shadow-lg outline-none`,role:`menu`,children:be}),document.body)}function $3({group:e,members:t,signals:n,isMobile:r=!1,activeAgentId:i,editingAgentId:a,onOpenMember:o,onCommitRename:s,onCancelRename:c,onRequestRemove:l,onMemberContextMenu:u,onRoomContextMenu:d,onDropPerson:f}){let{t:p}=R(),m=Z(e=>e.defaultAgentId),h=Z(e=>e.agents),g=(0,V.useMemo)(()=>{let e=new Map(h.map(e=>[e.id,e]));return t.map(t=>e.get(t.id)??t)},[h,t]),_=(0,V.useMemo)(()=>BB(g),[g]),[v,y]=(0,V.useState)(!1),b=!!e.activeTeamName,x=(0,V.useCallback)((t,n)=>{if(r||b||a===n.id){t.preventDefault();return}let i={kind:`member`,id:n.id,groupId:e.id};Qt(t.dataTransfer,i),an(i)},[a,e.id,r,b]),S=(0,V.useCallback)(t=>{let n=Ht();if(!(!nn(n)||r||b)){if(n.kind===`agent`){let e=Op(n.id,m,h.find(e=>e.id===n.id)?.engine);if(e){t.preventDefault(),t.dataTransfer.dropEffect=`none`,Gt({reason:e,x:t.clientX,y:t.clientY}),y(!1);return}}Gt(null),!e.memberAgentIds.includes(n.id)&&(e.memberAgentIds.length>=6||(t.preventDefault(),t.stopPropagation(),t.dataTransfer.dropEffect=`copy`,y(!0)))}},[m,e.memberAgentIds,r,h,b]),C=(0,V.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),y(!1),Gt(null),f?.(e)},[f]);return g.length===0?null:(0,G.jsxs)(`div`,{className:`room-member-cards${v?` home-roster-hot`:``}`,onDragOver:S,onDragEnter:S,onDragLeave:()=>{y(!1),Gt(null)},onDrop:C,onContextMenu:e=>{e.target.closest(`.room-member-card`)||d?.(e)},children:[g.map(e=>{let t=n.get(e.id),d=Bt(t),f=t?.mentioned||t?.attention?`ping`:t?.working?`busy`:`idle`,h=e.id===i,g=a===e.id,v=t=>{t.preventDefault(),t.stopPropagation(),!g&&u(t,e)};return(0,G.jsxs)(`span`,{className:`room-member-card-wrap`,children:[g?(0,G.jsxs)(`div`,{className:`room-member-card${h?` active`:``}`,onContextMenu:v,children:[(0,G.jsx)(JB,{seed:e.id===m?`main`:e.id,primary:e.id===m,variant:_.get(e.id),size:48,dot:d,mood:f}),(0,G.jsx)(`input`,{autoFocus:!0,defaultValue:e.name,onFocus:e=>e.target.select(),onKeyDown:t=>{t.nativeEvent.isComposing||(t.key===`Enter`?s?.(e,t.target.value):t.key===`Escape`&&c?.())},onBlur:t=>s?.(e,t.target.value),"aria-label":p(`agents.action.rename`),className:`room-member-card-rename`})]}):(0,G.jsxs)(`button`,{type:`button`,className:`room-member-card${h?` active`:``}`,"aria-current":h||void 0,draggable:!r&&!b,onDragStart:t=>x(t,e),onDragEnd:()=>{window.setTimeout(()=>an(null),50)},onClick:()=>o(e),onContextMenu:v,title:b?p(`agentHome.room.teamingLocked`):e.name,"aria-label":e.name,children:[(0,G.jsx)(JB,{seed:e.id===m?`main`:e.id,primary:e.id===m,variant:_.get(e.id),size:48,dot:d,mood:f}),(0,G.jsx)(`span`,{className:`room-member-card-name`,children:e.name})]}),r&&!b&&!g&&(0,G.jsx)(`button`,{type:`button`,className:`room-member-chip-remove`,onClick:()=>l(e),title:p(`agentHome.room.remove`),"aria-label":`${p(`agentHome.room.remove`)} — ${e.name}`,children:(0,G.jsx)(Ri,{size:11})})]},e.id)}),b&&(0,G.jsx)(`span`,{className:`room-member-teaming`,children:p(`agentHome.room.teamingBadge`)})]})}function e6({group:e,hiddenRow:t,dragOver:n,dropProps:r,editingRoomId:i,members:a,signals:o,isMobile:s,activeAgentId:c,editingAgentId:l,onOpenMember:u,onCommitRename:d,onCancelRename:f,onRequestRemove:p,onMemberContextMenu:m,onRoomContextMenu:h,onUnhide:g,onCommitRoomRename:_,onCancelRoomRename:v}){let{t:y}=R(),{onDragOver:b,onDragEnter:x,onDragLeave:S,onDrop:C}=r,w=a.map(e=>e.name).join(`、`),T=e=>{e.preventDefault(),h(e)};return t?(0,G.jsxs)(`button`,{type:`button`,onClick:g,onContextMenu:T,className:`mx-3 flex h-9 w-[calc(100%-24px)] items-center gap-2 rounded-lg px-2.5 text-left text-[12.5px] text-text-tertiary transition-colors hover:bg-bg-hover hover:text-text-secondary`,"aria-label":`${y(`agentHome.unhide`)} — ${w||e.name}`,children:[(0,G.jsx)(mr,{size:14,className:`shrink-0`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:w||e.name}),(0,G.jsx)(`span`,{className:`shrink-0 opacity-70`,children:y(`agentHome.hidden`)})]}):(0,G.jsxs)(`div`,{className:`room-cluster${n?` home-roster-hot`:``}`,"aria-label":y(`agentHome.room.notStarted`),onContextMenu:T,onDragOver:b,onDragEnter:x,onDragLeave:S,onDrop:C,children:[i===e.id&&(0,G.jsx)(`input`,{autoFocus:!0,defaultValue:e.name,onFocus:e=>e.target.select(),onKeyDown:t=>{t.nativeEvent.isComposing||(t.key===`Enter`?_(e,t.currentTarget.value):t.key===`Escape`&&v())},onBlur:t=>_(e,t.currentTarget.value),"aria-label":y(`agents.action.rename`),className:`mx-3 mb-1 h-7 w-[calc(100%-24px)] rounded-md border border-accent-brand bg-bg-primary px-1.5 text-[13px] text-text-primary outline-none`}),(0,G.jsx)($3,{group:e,members:a,signals:o,isMobile:s,activeAgentId:c,editingAgentId:l,onOpenMember:u,onCommitRename:d,onCancelRename:f,onRequestRemove:p,onMemberContextMenu:m,onRoomContextMenu:T,onDropPerson:C})]})}function t6({active:e,onDragOver:t,onDragEnter:n,onDragLeave:r,onDrop:i}){return(0,G.jsx)(`div`,{className:`mx-3 h-[2px] rounded-full transition-colors ${e?`bg-accent-brand`:`bg-transparent`}`,onDragOver:t,onDragEnter:n,onDragLeave:r,onDrop:i})}var n6=`data:image/svg+xml,%3csvg%20width='873'%20height='612'%20viewBox='0%200%20873%20612'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M611.24%200C631.42%200.472994%20652.67%200.151247%20672.917%200.149414L783.53%200.125977L783.58%20114.446C783.58%20131.188%20782.828%20155.62%20783.732%20171.959C793.764%20172.165%20866.262%20170.817%20869.239%20173.294C869.728%20173.699%20870.138%20174.379%20870.486%20174.905L872.008%20175.384C873.402%20179.664%20872.344%20228.902%20872.338%20236.71C872.313%20263.731%20873.157%20518.745%20871.959%20521.349C871.837%20521.605%20871.58%20521.905%20871.415%20522.119L869.141%20522.375C841.374%20521.684%20811.566%20522.247%20783.646%20522.271C784.001%20538.325%20783.695%20555.229%20783.72%20571.344C783.738%20583.932%20784.056%20598.74%20783.451%20611.182C613.783%20610.846%20273.598%20611.469%2087.6807%20611.041C87.3452%20610.736%2087.0093%20610.436%2086.6738%20610.137L86.2393%20607.375C86.831%20602.028%2086.4052%20585.668%2086.3984%20579.416L86.2812%20521.838C82.9453%20522.522%2063.9127%20522.272%2059.0283%20522.266L0.391602%20522.259L0.398438%20278.798L0.427734%20209.334C0.430803%20201.523%200.934097%20181.445%200%20174.62C0.578928%20172.779%200.0735528%20173.48%201.33105%20172.293C17.2444%20171.377%2036.4875%20172.458%2052.7188%20172.065C59.0087%20171.913%2081.4327%20171.805%2086.0195%20172.717L85.9805%2056.9336L85.9072%2021.3467C85.895%2015.7024%2085.6474%205.58945%2086.2832%200.297852L89.3057%200.0224609C145.847%201.00635%20204.767%200.149918%20261.493%200.137695L261.571%2058.8008C261.576%2063.634%20261.865%2082.5764%20261.06%2086.293C288.984%2085.6006%20319.108%2086.1736%20347.17%2086.1797L509.068%2086.1846L576.67%2086.1357C582.985%2086.1314%20604.124%2085.7374%20608.728%2086.8135C607.982%2081.7879%20608.33%2064.0733%20608.33%2058.0186L608.428%201.34473C609.424%20-0.0534957%20608.978%200.391111%20611.24%200ZM697.12%20173.048C694.553%20171.797%20619.805%20172.389%20610.134%20172.389L279.41%20172.397L201.266%20172.392C193.899%20172.39%20184.497%20172.27%20176.995%20172.399C175.636%20172.423%20175.324%20173.65%20174.702%20174.81L172.704%20175.383C172.033%20177.999%20172.341%20204.836%20172.348%20208.9L172.398%20294.312L172.37%20445.969L172.349%20494.032C172.347%20501.781%20172.011%20513.954%20172.658%20521.324C174.533%20523.401%20174.111%20521.52%20174.854%20522.534C175.611%20523.561%20175.655%20525.034%20177.928%20525.016C181.545%20524.988%20185.335%20524.97%20189.044%20524.966H347.752L604.785%20524.96L669.054%20525.009C673.406%20525.009%20693.575%20525.296%20696.857%20524.643C697.499%20523.408%20697.493%20523.505%20697.542%20522.118C696.815%20500.607%20697.389%20475.931%20697.389%20454.243V327.045L697.383%20228.248C697.383%20211.843%20696.729%20190.781%20697.64%20174.935L697.12%20173.048Z'%20fill='%2300BC90'/%3e%3cpath%20d='M347.56%20260.864L349.808%20261.441C351.42%20265.483%20350.329%20418.222%20350.229%20435.792C344.53%20436.85%20263.503%20436.929%20260.894%20435.722L261.464%20433.765C261.114%20420.392%20261.416%20405.532%20261.413%20392.005L261.412%20313.381C261.422%20299.699%20262.22%20276.275%20261.106%20263.652C261.428%20261.859%20261.059%20262.619%20262.19%20261.257C268.232%20260.664%20277.082%20261.319%20283.456%20261.111C303.554%20260.454%20327.973%20262.241%20347.56%20260.864Z'%20fill='%2300BC90'/%3e%3cpath%20d='M608.752%20260.881L610.641%20261.353C612.854%20266.169%20610.268%20347.019%20611.302%20358.962C611.693%20363.539%20611.436%20434.199%20610.892%20435.767C610.293%20435.847%20609.248%20436.027%20608.685%20436.028C584.88%20436.436%20548.549%20435.89%20523.533%20435.943C522.702%20435.945%20522.567%20435.098%20522.127%20434.149C522.787%20429.284%20522.445%20415.565%20522.445%20410.114L522.415%20362.246L522.457%20298.316C522.463%20288.598%20522.94%20272.837%20522.097%20263.668L522.586%20261.78C525.887%20259.891%20595.756%20261.699%20608.752%20260.881Z'%20fill='%2300BC90'/%3e%3c/svg%3e`;async function r6(){if(Z.getState().enabled===!0)return`already-on`;try{return await yu(!0),await Z.getState().load(),Z.getState().enabled===!0?`enabled`:`locked`}catch{return`failed`}}function i6(e){return e.embedded||e.storageState!==`empty`||e.homeEnabled===null?`skip`:e.homeEnabled?`enter`:`enable`}async function a6(e){if(e.decision===`enter`)return e.enter(),`entered`;let t=await e.enable();return e.storageState()===`empty`?t===`already-on`||t===`enabled`?(e.enter(),`entered`):(e.markAttempted(),e.toastFailure(t===`locked`?`locked`:`failed`),`attempted`):`skipped`}var o6=!1;function s6(e){let t=We.getState().resolved;return Ie[t][e]??e}async function c6(e){if(o6)return;let t=i6({embedded:e.embedded,storageState:F3.getState().storageState,homeEnabled:e.homeEnabled});if(t!==`skip`){o6=!0;try{await a6({decision:t,storageState:()=>F3.getState().storageState,enable:r6,enter:()=>{F3.getState().setMode(`buddys`)},markAttempted:()=>{F3.getState().markAutoEnableAttempted()},toastFailure:e=>{W.error(s6(e===`locked`?`workspace.mode.lockedToast`:`agentHome.opFailed`))}})}catch{}}}function l6(){let{t:e}=R(),t=F3(e=>e.mode),n=F3(e=>e.setMode),[r,i]=(0,V.useState)(!1),a=(0,V.useRef)(null);(0,V.useEffect)(()=>{if(r)return kE({onClose:()=>i(!1),isInside:e=>DE(e,a.current)})},[r]);let o=(0,V.useCallback)(async()=>{i(!1);let t=await r6();if(t===`already-on`){n(`buddys`);return}if(t===`enabled`){n(`buddys`),W.success(e(`workspace.mode.enabledToast`));return}W.error(e(t===`locked`?`workspace.mode.lockedToast`:`agentHome.opFailed`))},[n,e]),s=(0,V.useCallback)(async()=>{if(i(!1),n(`chat`),Z.getState().enabled===!0)try{await yu(!1),await Z.getState().load(),Z.getState().enabled===!0?W.error(e(`workspace.mode.lockedOnToast`)):W.success(e(`workspace.mode.disabledToast`))}catch{W.error(e(`agentHome.opFailed`))}},[n,e]),c=e(t===`buddys`?`workspace.mode.buddys.title`:`workspace.mode.chat.title`),l=e=>(0,G.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.active,className:`${f1} items-start gap-2.5 py-2`,onClick:e.onSelect,children:[(0,G.jsx)(`span`,{className:`mt-[3px] shrink-0`,children:e.icon}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`span`,{className:`block truncate text-[13px] font-medium text-text-primary`,children:e.titleText}),(0,G.jsx)(`span`,{className:`mt-0.5 block truncate text-[11px] text-text-tertiary`,children:e.descText})]}),e.active&&(0,G.jsx)(Rn,{size:14,className:`mt-0.5 shrink-0 text-accent-brand`,"aria-hidden":!0})]});return(0,G.jsxs)(`div`,{className:`relative shrink-0`,ref:a,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),className:`relative flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-bg-tertiary text-text-secondary outline-none transition-colors hover:bg-bg-hover hover:text-text-primary focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border-default`,"aria-haspopup":`menu`,"aria-expanded":r,"aria-label":e(`workspace.mode.switch`),title:`${e(`workspace.mode.switch`)} · ${c}`,children:[t===`buddys`?(0,G.jsx)(d6,{size:16}):(0,G.jsx)(u6,{size:16}),(0,G.jsx)(zn,{size:10,className:`pointer-events-none absolute bottom-0.5 right-0.5 text-text-tertiary transition-transform ${r?`rotate-180`:``}`,"aria-hidden":!0})]}),r&&(0,G.jsxs)(`div`,{role:`menu`,className:`absolute left-0 top-[calc(100%+4px)] z-40 w-[212px] rounded-xl border border-border-muted bg-bg-secondary py-1 shadow-lg`,children:[l({active:t===`chat`,icon:(0,G.jsx)(u6,{size:14}),titleText:e(`workspace.mode.chat.title`),descText:e(`workspace.mode.chat.desc`),onSelect:()=>{s().catch(()=>void 0)}}),l({active:t===`buddys`,icon:(0,G.jsx)(d6,{size:14}),titleText:e(`workspace.mode.buddys.title`),descText:e(`workspace.mode.buddys.desc`),onSelect:()=>{o().catch(()=>void 0)}})]})]})}function u6({size:e}){return(0,G.jsx)(`img`,{src:n6,width:e,height:e,alt:``,"aria-hidden":!0,className:`block`})}function d6({size:e}){return(0,G.jsxs)(`span`,{className:`relative block shrink-0`,style:{width:e,height:e},"aria-hidden":!0,children:[(0,G.jsx)(`img`,{src:n6,alt:``,className:`absolute right-0 top-0 block`,style:{width:Math.round(e*60)/100,opacity:.45}}),(0,G.jsx)(`img`,{src:n6,alt:``,className:`absolute bottom-0 left-0 block`,style:{width:Math.round(e*70)/100}})]})}function f6(e){let[t,n]=(0,V.useState)({}),r=(0,V.useRef)(new Set);return(0,V.useEffect)(()=>{let t=e.filter(e=>!e.name&&!e.intent&&!r.current.has(e.id));if(t.length!==0){for(let e of t)r.current.add(e.id);for(let e of t)(async()=>{try{let t=await tl(e.id),r=v1(t.intent||t.detail||``);r&&n(t=>t[e.id]?t:{...t,[e.id]:r})}catch{}})()}},[e]),t}function p6({onNewChat:e,agentFrameNeedsInput:t=null,agentFrameRunning:n=null,onNewAgent:r,onOpenWorkspaceSettings:i,onClose:a,onCollapse:o,visible:s=!0}){let{t:c,resolved:l}=R(),u=l===`zh`?`zh-CN`:`en-US`,d=Sz(),{jobs:f,selectedJobId:p,manuallyStoppedAgentIds:m,loading:h,listError:g,fetchJobs:_,subscribeJobs:v,selectJob:y,renameJob:b,stopJob:x,respawnJob:S,deleteJob:C,pinnedJobIds:w,fetchPrefs:T,togglePin:E,jobGroups:D,ungroupJob:ee}=zl(),O=U(e=>e.sessionId),k=U(e=>e.topic),{mainChatActive:A,mainAgentSessionId:te,agentSessionIds:j,newJobMode:ne,selectedChannelId:re,setSelectedWorkerPid:M,setNewJobMode:ae,setMainChatActive:N,setActiveAgentCwd:oe,setSelectedChannelId:se,setNewChannelMode:ce}=Tp(),le=Ki(e=>e.target?.kind??null),P=le===`main`,F=ie({identity:et(),rememberedMainSessionId:te,connectionSessionId:O,bindingKind:le}),ue=H(e=>e.timeline.flatMap(e=>(e.type===`question`&&e.status===`pending`||e.type===`interruption`&&!e.resolved)&&e.sessionId?[e.sessionId]:[]).join(`,`)),de=H(e=>e.hasPendingInterruption),fe=H(e=>e.isAgentRunning),pe=(0,V.useMemo)(()=>new Set(ue?ue.split(`,`):[]),[ue]),me=(0,V.useCallback)(e=>e.id===p?G$(e,{ready:typeof n==`boolean`,running:n,needsInput:t}):e,[p,n,t]),he=(0,V.useRef)(null),ge=(0,V.useMemo)(()=>he.current??=new J3,[]),[I,_e]=(0,V.useState)(0),ve=(0,V.useMemo)(()=>ge.presentAll(f.map(e=>[e.id,Z$(me(e))]),Date.now()),[ge,f,me,I]);(0,V.useEffect)(()=>{let e=ge.nextExpiryAt();if(e===null)return;let t=setTimeout(()=>_e(e=>e+1),Math.max(0,e-Date.now()));return()=>clearTimeout(t)});let ye=(0,V.useCallback)(e=>ve.get(e.id)??Z$(me(e)),[ve,me]),be=(0,V.useCallback)(e=>{let t=`quiet`;for(let n of e){let e=ye(n);if(e===`attention`)return`attention`;e===`spinner`&&(t=`spinner`)}return t},[ye]),xe=(0,V.useMemo)(()=>f.filter(e=>e.sessionId!==F),[f,F]),Se=(0,V.useRef)(new Set);(0,V.useEffect)(()=>{let e=new Map(f.map(e=>[e.id,e])),t=L.current;if(!t){L.current=e;return}L.current=e,Oe(n=>{let r=new Map(n),i=!1,a=[];for(let[n,o]of e){W$(o)||Se.current.delete(n);let e=Y$(t.get(n),o);if(e&&!r.has(n)&&!(n===p||o.sessionId===O||o.sessionId===F||m[n]||Se.current.has(n))){if(e===`failed`){a.push(n);continue}r.set(n,e),i=!0}}if(!X$(a.length,[...t.values()].filter(e=>!W$(e)).length))for(let e of a)r.set(e,`failed`),i=!0;for(let[t,n]of r){let a=e.get(t),o=n===`failed`?a?.state===`failed`||a?.state===`stopped`:a?.state===`done`;(!a||!W$(a)||!o)&&(r.delete(t),i=!0)}for(let t of Se.current)e.has(t)||Se.current.delete(t);return i?r:n})},[f,p,O,F,m]);let[we,Te]=(0,V.useState)(``),Ee=(0,V.useRef)(null),L=(0,V.useRef)(null),[De,Oe]=(0,V.useState)(new Map),[ke,Ae]=(0,V.useState)(null),[je,Me]=(0,V.useState)(null),[Ne,Pe]=(0,V.useState)(null),[Fe,Ie]=(0,V.useState)(null),[Le,Re]=(0,V.useState)(!1),Be=(0,V.useRef)(null),[Ve,He]=(0,V.useState)(!1),[Ue,We]=(0,V.useState)(null),[Ge,Ke]=(0,V.useState)(null),[qe,Ye]=(0,V.useState)(null),[Xe,Ze]=(0,V.useState)(null),Qe=(0,V.useRef)(null),[z,$e]=(0,V.useState)(null),[tt,nt]=(0,V.useState)(!1),rt=Z(e=>e.enabled),it=Z(e=>e.agents),at=Z(e=>e.defaultAgentId),ot=Z(e=>e.jobAssignments),st=Z(e=>e.draftAgentId),ct=Z(e=>e.localDraft),lt=Z(e=>e.load),ut=Z(e=>e.groups),dt=Z(e=>e.channels),ft=Z(e=>e.mentionPings),pt=Z(e=>e.wakingUntil),mt=Z(e=>e.sections),ht=S$(e=>e.draftsById),gt=S$(e=>e.messagesById),_t=ct?.id??st??(p?ot[p]??it.find(e=>e.primaryJobId===p)?.id:void 0)??(A?at:void 0),[vt,bt]=(0,V.useState)(null),[xt,St]=(0,V.useState)(null),[Ct,wt]=(0,V.useState)(null),[Et,Dt]=(0,V.useState)(null),[Ot,kt]=(0,V.useState)([]),[At,jt]=(0,V.useState)(()=>{try{return sessionStorage.getItem(`agent-home-overflow-open`)===`1`}catch{return!1}}),Mt=(0,V.useCallback)(()=>{jt(e=>{let t=!e;try{sessionStorage.setItem(`agent-home-overflow-open`,t?`1`:`0`)}catch{}return t})},[]),[Pt,Ft]=(0,V.useState)(!1);(0,V.useEffect)(()=>{s||(Ae(null),Me(null),Pe(null),Ie(null),Re(!1),He(!1),We(null),Ke(null),Ye(null),Ze(null),$e(null),nt(!1),bt(null),St(null),wt(null),Dt(null),kt([]))},[s]),(0,V.useEffect)(()=>{lt().catch(()=>void 0)},[lt]),k3({enabled:rt,channelId:re}),(0,V.useEffect)(()=>{let e=!1,t;return T(),_().then(()=>{e||(t=v())}),()=>{e=!0,t?.()}},[T,_,v]),(0,V.useEffect)(()=>{if(Xe)return Qe.current?.focus(),kE({onClose:()=>Ze(null),isInside:e=>DE(e,Qe.current)})},[Xe]),(0,V.useEffect)(()=>{if(Le)return kE({onClose:()=>Re(!1),isInside:e=>DE(e,Be.current)})},[Le]);let It=f6(xe),Rt=(0,V.useCallback)(e=>e.name||v1(e.intent||``)||It[e.id]||e.id.slice(0,8),[It]),Bt=!!(F&&(pe.has(F)||F===O&&de)),Ht=P&&Bt,Wt=P&&fe&&!Bt,[Gt,Kt]=(0,V.useState)(!1),qt=(0,V.useRef)(fe);(0,V.useEffect)(()=>{let e=qt.current;if(qt.current=fe,e&&!fe&&P&&!A&&!ne){Kt(!0);let e=setTimeout(()=>Kt(!1),4e3);return()=>clearTimeout(e)}},[fe,P,A,ne]);let Jt=(0,V.useMemo)(()=>{let e=we.trim().toLowerCase();return e?xe.filter(t=>`${t.name||``} ${t.intent||``} ${It[t.id]||``} ${t.id} ${t.cwd} ${D[t.id]||``}`.toLowerCase().includes(e)):xe},[xe,we,It,D]),Yt=Tt(e=>e.cwd),Zt=(0,V.useCallback)(e=>{let t=et(),n=ie({identity:t,rememberedMainSessionId:te,connectionSessionId:O,bindingKind:le}),r=window.location.search;e.kind===`main`?Ce({jobId:null,sessionId:n,mainSessionId:null}):Ce({jobId:e.job.id,sessionId:j[e.job.id]??e.job.sessionId??null,mainSessionId:n}),window.location.search!==r&&window.dispatchEvent(new PopStateEvent(`popstate`))},[j,le,te,O]),Qt=(0,V.useMemo)(()=>Q$(Jt,w),[Jt,w]),B=(0,V.useCallback)(()=>{Zt({kind:`main`}),d&&a?.(),Kt(!1),y(null),M(null),ae(!1),ce(!1),se(null),N(!0),at&&Z.getState().clearAgentUnread(at).catch(()=>void 0)},[Zt,at,d,a,y,M,ae,ce,se,N]),$t=(0,V.useCallback)(e=>{Zt({kind:`job`,job:e}),d&&a?.(),Oe(t=>{if(!t.has(e.id))return t;let n=new Map(t);return n.delete(e.id),n}),y(e.id,Rt(e)),M(null),ae(!1),ce(!1),se(null),N(!1),oe(e.cwd),yt.getState().setMainView(`chat`),window.location.hash=`/chat`,q$(e)&&!e.foregroundHeld&&S(e.id).catch(()=>{})},[Zt,d,Rt,a,S,y,oe,N,ae,ce,se,M]),en=(0,V.useCallback)(e=>{Oe(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),nn=(0,V.useCallback)(async()=>{let t=F;if(nt(!1),!t||!e)return;try{await Rf().cancel(t)}catch{}let n=null;try{n=await e()}catch(e){console.error(`[session-list] Replace current session failed:`,e)}if(n&&n!==t)try{let e=Yt?`?cwd=${encodeURIComponent(Yt)}`:``,n=await ze(`/api/v1/sessions/${encodeURIComponent(t)}${e}`,{method:`DELETE`,headers:Je()});if(!n.ok&&n.status!==204){let e=await n.json().catch(()=>({}));console.error(`[session-list] Delete current failed:`,e),W.error(c(`history.deleteFailed`))}}catch(e){console.error(`[session-list] Delete current error:`,e),W.error(c(`history.deleteFailed`))}},[e,F,c,Yt]),an=(0,V.useCallback)(async()=>{let e=z;if($e(null),!e)return;Se.current.add(e.id),en(e.id);let t=await C(e.id);t.deleted?t.keptWorktreePath&&W.info(c(`agents.action.delete.worktreeKept`).replace(`{path}`,t.keptWorktreePath)):W.error(t.reason||c(`agents.action.delete.failed`))},[C,en,z,c]),on=(0,V.useCallback)((e,t)=>{e.stopPropagation(),Ze(null),t.id===p&&ae(!0),Se.current.add(t.id),en(t.id),x(t.id).catch(()=>{})},[en,p,ae,x]),sn=(0,V.useCallback)((e,t)=>{e.stopPropagation(),Ze(null),E(t.id,!w.includes(t.id))},[E,w]),cn=(0,V.useCallback)((e,t)=>{e.stopPropagation(),Ze(null),$e(t)},[]),ln=(0,V.useCallback)((e,t)=>{e.stopPropagation(),Ze(null),Se.current.add(t.id),en(t.id),S(t.id).catch(()=>{})},[en,S]),un=(0,V.useCallback)(async e=>{try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(e);else{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}W.info(c(`agents.action.copyOk`))}catch(e){W.error(c(`agents.action.copyFailed`)),console.warn(`[AgentList] clipboard write failed:`,e)}},[c,W]),dn=(0,V.useCallback)(async(e,t,n)=>{try{let r=e?co(ao((await cl(e.id)).updates),e.intent?.trim()):H.getState().timeline;if(r.length===0){W.error(c(`chat.exportEmpty`));return}let i=n===`markdown`?H3(r,{title:t}):U3(r,{title:t});LC(B3(n),i,n===`json`?`application/json`:`text/markdown`)}catch(e){console.error(`[AgentList] conversation export failed:`,e),W.error(c(`chat.exportFailed`))}},[c]),fn=(0,V.useCallback)((e,t)=>{e.stopPropagation(),Ze(null),t.sessionId&&un(t.sessionId).catch(()=>{})},[un]),pn=(0,V.useCallback)((e,t)=>{e.stopPropagation(),Ze(null),t.cwd&&un(t.cwd).catch(()=>{})},[un]),mn=(0,V.useCallback)((e,t)=>{e.stopPropagation(),Ze(null),ee(t.id).catch(()=>{})},[ee]),hn=(0,V.useCallback)((e,t)=>{Ae(null);let n=t.trim();n&&n!==Rt(e)&&b(e.id,n)},[b,Rt]),gn=F3(e=>e.mode),_n=rt===!0&&gn===`buddys`,vn=(0,V.useMemo)(()=>_n?e1(xe,ot):new Map,[_n,xe,ot]),yn=(0,V.useMemo)(()=>{if(!_n)return new Map;let e=new Map;for(let[t,n]of vn)e.set(t,n.map(me));return t1({agents:it,buckets:e,defaultAgentId:at,defaultWorking:Wt,defaultAttention:Ht,mentionPings:ft,wakingUntil:pt})},[_n,it,vn,at,Ht,Wt,ft,pt,me]),bn=(0,V.useMemo)(()=>new Set(Jt.map(e=>e.id)),[Jt]),xn=(0,V.useMemo)(()=>_n?Nt(xe,ot,at):[],[_n,at,xe,ot]),Sn=(0,V.useMemo)(()=>new Map(xn.map(e=>[e.id,e])),[xn]),Cn=(0,V.useMemo)(()=>new Map(it.map(e=>[e.id,e])),[it]),wn=(0,V.useMemo)(()=>new Map(it.map(e=>[e.id,e.avatarVariant])),[it]),Tn=(0,V.useMemo)(()=>Ut(ut),[ut]),En=(0,V.useMemo)(()=>{if(!_n)return{primary:[],overflow:[],hidden:[]};let e=new Map,t=it.filter(e=>!Tn.has(e.id)&&(mt.length===0||!e.sectionId));for(let n of t){let t=vn.get(n.id)??[],r=n.id===at;e.set(n.id,{attention:r&&Bt||t.some(e=>Z$(me(e))===`attention`),working:r&&fe&&!Bt||t.some(e=>Z$(me(e))===`spinner`),latestRunStartedAt:t[0]?.startedAt??0})}let n=xn.map(t=>{let n=Z$(me(t));return e.set(t.id,{attention:n===`attention`,working:n===`spinner`,latestRunStartedAt:t.updatedAt??t.startedAt}),{id:t.id,name:Rt(t),homeCwd:t.cwd,visibility:`visible`,createdAt:t.startedAt,lastActiveAt:t.updatedAt??t.startedAt}}),r=new Set;if(we.trim()){for(let e of t)(vn.get(e.id)??[]).some(e=>bn.has(e.id))&&r.add(e.id);for(let e of xn)bn.has(e.id)&&r.add(e.id)}let i=L3({agents:[...t,...n],defaultAgentId:at,selectedId:p?ot[p]??p:null,signals:e,query:we,extraMatchIds:r});return{primary:i.primary.map(e=>e.id),overflow:i.overflow.map(e=>e.id),hidden:i.hidden.map(e=>e.id)}},[_n,it,vn,at,ot,mt.length,fe,Bt,bn,Tn,xn,Rt,we,me,p]),Dn=we.trim().length>0,On=(0,V.useRef)(null),kn=re??p;(0,V.useEffect)(()=>{if(!s||!kn)return;let e=On.current;if(!e)return;let t=requestAnimationFrame(()=>{e.querySelector(`[aria-current="true"]`)?.scrollIntoView({block:`nearest`})});return()=>cancelAnimationFrame(t)},[kn,s]);let An=(0,V.useCallback)(e=>{d&&a?.(),se(null),ce(!1),Z.getState().setDraftAgent(e.id),FU(e.id),y(null),M(null),N(!1),ae(!0),oe(e.homeCwd),yt.getState().setMainView(`chat`),window.location.hash=`/chat`},[d,a,y,oe,N,ce,ae,se,M]),jn=(0,V.useCallback)(e=>{se(null),ce(!1),Z.getState().clearAgentUnread(e.id).catch(()=>void 0),FU(e.id);let t=ut.find(t=>t.visibility!==`hidden`&&t.memberAgentIds.includes(e.id));if(Z.getState().setFocusedRoomId(t?.id??null),e.id===at){Z.getState().setDraftAgent(null),oe(e.homeCwd),B();return}let n=vn.get(e.id)??[],r=e.primaryJobId?n.find(t=>t.id===e.primaryJobId)??zl.getState().jobs.find(t=>t.id===e.primaryJobId):void 0;if(r){Z.getState().setDraftAgent(null),$t(r),oe(e.homeCwd);return}if(n.length>0){let t=n.reduce((e,t)=>t.startedAt<e.startedAt?t:e);Z.getState().setDraftAgent(null),t.id!==e.primaryJobId&&Z.getState().setPrimaryJob(e.id,t.id).catch(()=>void 0),$t(t),oe(e.homeCwd);return}An(e)},[at,vn,ut,B,$t,An,oe,se,ce]),Mn=(0,V.useCallback)(e=>{d&&a?.(),Tp.getState().capturePreChannelSelection(),Z.getState().setDraftAgent(null),Z.getState().discardLocalDraft(),FU(null),y(null),M(null),ae(!1),ce(!1),N(!1),se(e.id),Z.getState().clearChannelMentionUnreads(e).catch(()=>void 0),yt.getState().setMainView(`chat`),window.location.hash=`/chat`},[d,a,y,N,ce,ae,se,M]),Nn=(0,V.useCallback)((e,t)=>{Pe(null);let n=t.trim();n&&n!==e.name&&Z.getState().updateChannel(e.id,{name:n}).catch(()=>void 0)},[]),Pn=(0,V.useCallback)((e,t)=>{Ze(null),Z.getState().moveToSection(e,t).then(e=>{e||W.error(c(`agentHome.opFailed`))}).catch(()=>W.error(c(`agentHome.opFailed`)))},[c]),Fn=(0,V.useCallback)((e,t)=>{let n=t.trim();n&&Z.getState().createSection(n).then(async t=>{if(!t){W.error(c(`agentHome.opFailed`));return}await Z.getState().moveToSection(e,t.id)||W.error(c(`agentHome.opFailed`)),Ze(null)}).catch(()=>W.error(c(`agentHome.opFailed`)))},[c]),Ln=(0,V.useMemo)(()=>[...mt].sort((e,t)=>e.sortIndex-t.sortIndex),[mt]),zn=(0,V.useCallback)((e,t)=>{We(null);let n=t.trim(),r=Z.getState().sections.find(t=>t.id===e);n&&r&&n!==r.name&&Z.getState().updateSection(e,{name:n}).catch(()=>void 0)},[]),Bn=(0,V.useCallback)(async()=>{let e=Ge;Ke(null),e&&(await Z.getState().deleteSection(e)||W.error(c(`agentHome.opFailed`)))},[Ge,c]),Hn=(0,V.useCallback)(async()=>{let e=Fe;Ie(null),e&&await Z.getState().deleteChannel(e.id)&&Tp.getState().leaveChannel(e.id)},[Fe]),Wn=(0,V.useCallback)(()=>{d&&a?.(),Tp.getState().capturePreChannelSelection(),Z.getState().discardLocalDraft(),Z.getState().setDraftAgent(null),Z.getState().setPendingRecipients([]),FU(null),y(null),M(null),ce(!0),yt.getState().setMainView(`chat`),window.location.hash=`/chat`},[d,a,y,ce,M]),Gn=(0,V.useMemo)(()=>{if(!_n)return{visible:[],hidden:[]};let e=ut.filter(e=>zt(e.name,Xt(e.memberAgentIds,Cn).map(e=>e.name),we)),t=Lt(e);return{visible:t.filter(e=>e.visibility!==`hidden`),hidden:t.filter(e=>e.visibility===`hidden`)}},[_n,ut,Cn,we]),Kn=(0,V.useCallback)(e=>{LU(e.id);let t=Z.getState();t.setFocusedRoomId(e.id),t.setDraftRoom(null),e.unreadByUser&&t.updateGroup(e.id,{unreadByUser:0}).catch(()=>void 0);let n=Vt(e.memberAgentIds,at,Cn);n&&jn(n)},[Cn,jn,at]),qn=(0,V.useMemo)(()=>new Set(it.filter(e=>e.visibility!==`hidden`).map(e=>e.id)),[it]),Jn=(0,V.useMemo)(()=>new Set(xn.map(e=>e.id)),[xn]),Yn=(0,V.useMemo)(()=>new Set(it.filter(e=>e.visibility===`hidden`).map(e=>e.id)),[it]),Xn=(0,V.useMemo)(()=>new Set(it.filter(e=>!kp(e.id,at,e.engine)).map(e=>e.id)),[it,at]),Zn=(0,V.useMemo)(()=>new Set([...Xn,...at?[at]:[]]),[at,Xn]),Qn=(0,V.useMemo)(()=>{let e=new Map;for(let t of it)e.set(t.id,t.sectionId);return e},[it]),$n=(0,V.useMemo)(()=>({groups:ut,channels:dt.map(e=>({id:e.id,memberAgentIds:e.memberAgentIds,sectionId:e.sectionId})),draggableAgentIds:qn,draggableRunIds:Jn,hiddenAgentIds:Yn,noRoomAgentIds:Xn,noChannelAgentIds:Zn,defaultAgentId:at,agentSectionIds:Qn,isMobile:d}),[Qn,dt,at,ut,qn,Jn,Yn,d,Zn,Xn]),{dragSource:er,dragOverKey:tr,setDragOverKey:nr,applyDragOutcome:rr,beginRowDrag:ir,endRowDrag:ar,previewDrop:or,commitDrop:sr,dropProps:cr,mergeChrome:lr}=j3({dragContext:$n,homeGroups:ut,jobTitle:Rt,t:c,handleSelectChannel:Mn,handleSelectHomeRoom:Kn,setPendingDissolve:wt}),ur=(0,V.useCallback)(async()=>{let e=Ct;if(wt(null),!e)return;let t=Z.getState();if(e.toGroupId){let n=await t.addMemberToGroup(e.toGroupId,e.agentId);if(!n.ok){d1(n.reason,c);return}}if(!await t.dissolveGroup(e.group.id)){W.error(c(`agentHome.opFailed`));return}if(e.toGroupId){let t=Z.getState().groups.find(t=>t.id===e.toGroupId);t&&Kn(t);return}let n=Cn.get(e.agentId);n&&jn(n)},[Cn,jn,Kn,Ct,c]),dr=(0,V.useCallback)(async()=>{let e=xt;St(null),e&&(await Z.getState().deleteGroup(e.id)||W.error(c(`agentHome.opFailed`)))},[xt,c]),fr=(0,V.useCallback)((e,t)=>{if(Ze(null),e.activeTeamName){W.info(c(`agentHome.room.teamingLocked`));return}if(e.memberAgentIds.length-1<2){wt({group:e,agentId:t.id});return}Z.getState().removeMemberFromGroup(e.id,t.id).then(e=>{e||W.error(c(`agentHome.opFailed`))}).catch(()=>W.error(c(`agentHome.opFailed`)))},[c]),pr=(0,V.useCallback)((e,t)=>{Me(null);let n=t.trim();n&&n!==e.name&&Z.getState().updateAgent(e.id,{name:n}).then(e=>{e||W.error(c(`agentHome.opFailed`))}).catch(()=>W.error(c(`agentHome.opFailed`)))},[c]),hr=(0,V.useCallback)((e,t)=>{bt(null);let n=t.trim();n&&n!==e.name&&Z.getState().updateGroup(e.id,{name:n}).then(e=>{e||W.error(c(`agentHome.opFailed`))}).catch(()=>W.error(c(`agentHome.opFailed`)))},[c]),gr=(0,V.useCallback)(e=>{Ze(null),Z.getState().updateAgent(e.id,{visibility:`hidden`}).then(e=>{e||W.error(c(`agentHome.opFailed`))}).catch(()=>W.error(c(`agentHome.opFailed`)))},[c]),_r=(0,V.useCallback)((e,t)=>{Ze(null),Z.getState().updateAgent(e.id,{visibility:`visible`}).then(n=>{if(!n){W.error(c(`agentHome.opFailed`));return}t&&jn({...e,visibility:`visible`})}).catch(()=>W.error(c(`agentHome.opFailed`)))},[jn,c]),vr=(0,V.useCallback)(async()=>{let e=qe;if(Ye(null),!e)return;let t=vn.get(e.id)??[];for(let e of t){Se.current.add(e.id),en(e.id);try{await C(e.id)}catch{}}await Z.getState().deleteAgent(e.id)||W.error(c(`agentHome.opFailed`))},[qe,vn,C,en,c]),yr=e=>{let n=!ne&&!A&&e.id===p,r=j[e.id]??e.sessionId,i=me(e),a=ye(e),o=e.id===p&&t===!0||!!(r&&pe.has(r)),s=a===`attention`||o?`attention`:a,l=s===`attention`?{text:c(`agents.group.attention`),tone:`warning`,kind:`waiting`}:s===`spinner`?{text:c(`agents.group.working`),tone:`active`,kind:`working`}:null,d=s===`quiet`,f=De.get(e.id),m=f?{tone:f===`failed`?`error`:`success`,label:c(f===`failed`?`agents.notice.failed`:`agents.state.completed`)}:null,h=x1(i,c),g=l?.text??h?.text??``,_=s===`attention`?`warning`:h?.tone===`error`?`error`:`default`,v=s===`attention`?`yellow`:s===`spinner`?`green`:e.state===`failed`?`red`:null,y=lr(`run:${e.id}`,e.id,(0,G.jsx)(JB,{seed:e.id,size:36,dot:v,mood:s===`attention`?`ping`:s===`spinner`?`busy`:`idle`}),g);return ke===e.id?(0,G.jsx)(S1,{state:i.state,waitingFor:i.waitingFor,tempo:i.tempo,processStatus:i.status,settled:i.settled,title:Rt(e),active:n,agentJobId:e.id,avatar:(0,G.jsx)(JB,{seed:e.id,size:36,dot:v,mood:s===`attention`?`ping`:s===`spinner`?`busy`:`idle`}),onSelect:()=>{},editing:(0,G.jsx)(`input`,{autoFocus:!0,defaultValue:Rt(e),onFocus:e=>e.target.select(),onKeyDown:t=>{t.nativeEvent.isComposing||(t.key===`Enter`?hn(e,t.target.value):t.key===`Escape`&&Ae(null))},onBlur:t=>hn(e,t.target.value),"aria-label":c(`agents.action.rename`),className:`h-7 min-w-0 flex-1 rounded-md border border-accent-brand bg-bg-primary px-1.5 text-[13px] text-text-primary outline-none`})},e.id):(0,G.jsx)(S1,{state:i.state,waitingFor:i.waitingFor,tempo:i.tempo,processStatus:i.status,settled:i.settled,title:Rt(e),status:l,statusHidden:d,notice:m,active:n,agentJobId:e.id,avatar:y.avatar,preview:y.preview,previewTone:_,time:Y3(e.startedAt,u),titleHint:e.cwd?`${Rt(e)} · ${tm(e.cwd)||e.cwd}`:void 0,hoverMeta:e.cwd?nm(e.cwd):null,hoverMetaHint:e.cwd?tm(e.cwd)||e.cwd:void 0,draggable:_n&&tn({kind:`run`,id:e.id},$n),onDragStart:t=>ir(t,{kind:`run`,id:e.id}),onDragEnd:_n?ar:void 0,..._n?cr({kind:`run`,id:e.id},`run:${e.id}`):{},onSelect:()=>$t(e),onContextMenu:t=>Ze({kind:`job`,job:e,x:t.clientX,y:t.clientY}),ariaLabel:Rt(e)},e.id)},br=(e,t)=>{if(t){Ze({kind:`home-agent`,agent:t,x:e.clientX,y:e.clientY});return}Ze({kind:`current`,x:e.clientX,y:e.clientY})},xr=e=>{if(!F&&!e)return null;let t=e?yn.get(e.id):void 0,n=t?t.attention?`attention`:t.working?`spinner`:`quiet`:Ht?`attention`:Wt?`spinner`:`quiet`,r=n===`attention`?`ping`:n===`spinner`?`busy`:`idle`,i=n===`attention`?{text:c(`agents.group.attention`),tone:`warning`,kind:`waiting`}:n===`spinner`?{text:c(`agents.group.working`),tone:`active`,kind:`working`}:null,a=!!(e&&(ft[e.id]||(e.unreadByUser??0)>0)),o=a||n===`attention`?`yellow`:n===`spinner`?`green`:null,s=e?.name??c(`sessions.currentTitle`),l=a?ft[e.id]??c(`agentHome.channel.mentioned`):i?.text??(P&&k?Gw(k):c(`agentHome.mainIdle`)),d=(0,G.jsx)(JB,{seed:`main`,primary:!0,size:36,dot:o,mood:r}),f=e?lr(`agent:${e.id}`,e.id,d,l):{avatar:d,preview:l};return e&&je===e.id?(0,G.jsx)(S1,{state:`idle`,title:s,active:A&&!ne,avatar:d,onSelect:()=>{},editing:(0,G.jsx)(`input`,{autoFocus:!0,defaultValue:s,onFocus:e=>e.target.select(),onKeyDown:t=>{t.nativeEvent.isComposing||(t.key===`Enter`?pr(e,t.target.value):t.key===`Escape`&&Me(null))},onBlur:t=>pr(e,t.target.value),"aria-label":c(`agents.action.rename`),className:`h-7 min-w-0 flex-1 rounded-md border border-accent-brand bg-bg-primary px-1.5 text-[13px] text-text-primary outline-none`})},`current`):(0,G.jsx)(S1,{state:`idle`,title:s,status:i,statusHidden:n===`quiet`,notice:Gt?{tone:`success`,label:c(`agents.state.completed`)}:null,active:A&&!ne,avatar:f.avatar,preview:f.preview,previewTone:a||n===`attention`?`warning`:`default`,time:e?Y3(Math.max(e.lastActiveAt??0,e.createdAt),u):null,hoverMeta:e?nm(e.homeCwd):null,hoverMetaHint:e?tm(e.homeCwd)||e.homeCwd:void 0,draggable:e?tn({kind:`agent`,id:e.id},$n):!1,onDragStart:e?t=>ir(t,{kind:`agent`,id:e.id}):void 0,onDragEnd:e?ar:void 0,...e?cr({kind:`agent`,id:e.id},`agent:${e.id}`):{},onSelect:()=>{e&&FU(e.id),Z.getState().setFocusedRoomId(null),B()},onContextMenu:t=>br(t,e),ariaLabel:s},`current`)},Cr=(e,t)=>{if(e.id===at)return xr(e);let n=t?.hiddenRow===!0,r=vn.get(e.id)??[],i=r.find(e=>!W$(e)),a=r[0],o=!n&&(!!ft[e.id]||(e.unreadByUser??0)>0),s=be(r),l=!n&&s===`attention`,d=!n&&!l&&s===`spinner`,f=l||o?`yellow`:d?`green`:!n&&a?.state===`failed`?`red`:null,m=i?x1(me(i),c):a?x1(me(a),c):null,h=n?c(`agentHome.hiddenPreview`):ft[e.id]??((e.unreadByUser??0)>0?c(`agentHome.channel.mentioned`):l?c(`agents.group.attention`):m?.text??e.title??e.description?.split(/\r?\n/)[0]??c(`agentHome.notStarted`)),g=l?`warning`:m?.tone===`error`?`error`:`default`,_=l?{text:c(`agents.group.attention`),tone:`warning`,kind:`waiting`}:d?{text:c(`agents.group.working`),tone:`active`,kind:`working`}:null,v=n?void 0:r.map(e=>De.get(e.id)).find(Boolean),y=v?{tone:v===`failed`?`error`:`success`,label:c(v===`failed`?`agents.notice.failed`:`agents.state.completed`)}:null,b=!n&&(!ne&&!A&&!!p&&r.some(e=>e.id===p)||ne&&st===e.id),x=lr(`agent:${e.id}`,e.id,(0,G.jsx)(JB,{seed:e.id,variant:e.avatarVariant,size:36,dot:f,mood:l?`ping`:d?`busy`:`idle`}),h),S=Y3(Math.max(e.lastActiveAt??0,a?.startedAt??0,e.createdAt),u);return je===e.id?(0,G.jsx)(S1,{state:`idle`,title:e.name,active:b,avatar:(0,G.jsx)(JB,{seed:e.id,variant:e.avatarVariant,size:36,dot:f,mood:l?`ping`:d?`busy`:`idle`}),onSelect:()=>{},editing:(0,G.jsx)(`input`,{autoFocus:!0,defaultValue:e.name,onFocus:e=>e.target.select(),onKeyDown:t=>{t.nativeEvent.isComposing||(t.key===`Enter`?pr(e,t.target.value):t.key===`Escape`&&Me(null))},onBlur:t=>pr(e,t.target.value),"aria-label":c(`agents.action.rename`),className:`h-7 min-w-0 flex-1 rounded-md border border-accent-brand bg-bg-primary px-1.5 text-[13px] text-text-primary outline-none`})},e.id):(0,G.jsx)(S1,{state:i?.state??a?.state??`idle`,waitingFor:i?.waitingFor,tempo:i?.tempo,processStatus:i?.status,settled:!i||i.settled,title:e.name,status:_,statusHidden:!l&&!d,notice:y,active:b,avatar:x.avatar,preview:x.preview,previewTone:g,time:S,hoverMeta:n?null:nm(e.homeCwd),hoverMetaHint:tm(e.homeCwd)||e.homeCwd,trailing:n?(0,G.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),_r(e,!1)},className:`-mr-[7px] flex h-7 w-7 items-center justify-center rounded-md text-text-tertiary transition-colors hover:bg-bg-hover hover:text-text-primary`,title:c(`agentHome.unhide`),"aria-label":c(`agentHome.unhide`),children:(0,G.jsx)(mr,{size:14})}):void 0,draggable:!n&&tn({kind:`agent`,id:e.id},$n),onDragStart:t=>ir(t,{kind:`agent`,id:e.id}),onDragEnd:ar,...cr({kind:`agent`,id:e.id},`agent:${e.id}`),onSelect:()=>{if(n){_r(e,!0);return}jn(e)},onContextMenu:t=>Ze({kind:`home-agent`,agent:e,x:t.clientX,y:t.clientY}),ariaLabel:e.name},e.id)},wr=(0,V.useMemo)(()=>{if(!_n)return{visible:[],hidden:[]};let e=we.trim().toLowerCase(),t=dt.filter(t=>!e||t.name.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)?!0:t.memberAgentIds.some(t=>t.toLowerCase().includes(e)||(Cn.get(t)?.name??``).toLowerCase().includes(e))),n=e=>+!e.pinned,r=[...t].sort((e,t)=>n(e)-n(t)||(t.lastActiveAt??t.createdAt)-(e.lastActiveAt??e.createdAt));return{visible:r.filter(e=>e.visibility!==`hidden`),hidden:r.filter(e=>e.visibility===`hidden`)}},[Cn,dt,_n,we]),Tr=(e,t)=>{let n=t?.hiddenRow===!0,r=ht[e.id]?.trim(),i=!n&&(e.unreadByUser??0)>0,a=e.memberAgentIds.filter(e=>e!==at),o=(gt[e.id]??[]).at(-1),s=o?o.from===`user`?o.text:`${Cn.get(o.agentId??``)?.name??``}:${o.text}`.replace(/^:/,``):void 0,l=n?c(`agentHome.hiddenPreview`):r?c(`agentHome.channel.draft`).replace(`{text}`,r.replace(/\s+/g,` `).slice(0,28)):s||e.lastPreview||c(`agentHome.notStarted`),d=!n&&re===e.id;if(Ne===e.id)return(0,G.jsx)(S1,{state:`idle`,title:e.name,active:d,avatar:(0,G.jsx)(n0,{memberAgentIds:a,memberAvatarVariants:wn,size:36,dot:i?`yellow`:null,signals:yn}),onSelect:()=>{},editing:(0,G.jsx)(`input`,{autoFocus:!0,defaultValue:e.name,onFocus:e=>e.target.select(),onKeyDown:t=>{t.nativeEvent.isComposing||(t.key===`Enter`?Nn(e,t.target.value):t.key===`Escape`&&Pe(null))},onBlur:t=>Nn(e,t.target.value),"aria-label":c(`agents.action.rename`),className:`h-7 min-w-0 flex-1 rounded-md border border-accent-brand bg-bg-primary px-1.5 text-[13px] text-text-primary outline-none`})},e.id);let f=lr(`channel:${e.id}`,e.id,(0,G.jsx)(n0,{memberAgentIds:a,memberAvatarVariants:wn,size:36,dot:i?`yellow`:null,signals:yn}),l);return(0,G.jsx)(S1,{state:`idle`,title:e.name,active:d,pinned:e.pinned,avatar:f.avatar,preview:f.preview,previewTone:i?`warning`:`default`,time:Y3(e.lastActiveAt??e.createdAt,u),onSelect:()=>{if(n){Z.getState().updateChannel(e.id,{visibility:`visible`}).then(()=>Mn({...e,visibility:`visible`})).catch(()=>void 0);return}Mn(e)},onContextMenu:t=>Ze({kind:`home-channel`,channelId:e.id,x:t.clientX,y:t.clientY}),ariaLabel:e.name,draggable:!n&&tn({kind:`channel`,id:e.id},$n),onDragStart:n?void 0:t=>ir(t,{kind:`channel`,id:e.id}),onDragEnd:n?void 0:ar,...n?{}:cr({kind:`channel`,id:e.id},`channel:${e.id}`)},e.id)},Er=(e,t)=>{let n=t?.hiddenRow===!0,r=cr({kind:`room`,id:e.id},`room:${e.id}`);return(0,G.jsx)(e6,{group:e,hiddenRow:n,dragOver:r.dragOver,dropProps:r,editingRoomId:vt,members:Xt(e.memberAgentIds,Cn),signals:yn,isMobile:d,activeAgentId:_t??void 0,editingAgentId:je,onOpenMember:jn,onCommitRename:pr,onCancelRename:()=>Me(null),onRequestRemove:t=>fr(e,t),onMemberContextMenu:(t,n)=>{Ze({kind:`home-member`,group:e,agent:n,x:t.clientX,y:t.clientY})},onRoomContextMenu:t=>{Ze({kind:`home-room`,group:e,x:t.clientX,y:t.clientY})},onUnhide:()=>rr({kind:`unhide-room`,groupId:e.id}),onCommitRoomRename:hr,onCancelRoomRename:()=>bt(null)},e.id)},Dr=(e,t)=>{if(er?.kind!==`room`)return null;let n=cr({kind:`room-gap`,beforeId:e},t);return(0,G.jsx)(t6,{active:n.dragOver,onDragOver:n.onDragOver,onDragEnter:n.onDragEnter,onDragLeave:n.onDragLeave,onDrop:n.onDrop},t)},Or=e=>{let t=dt.find(t=>t.id===e);if(t)return Tr(t);let n=Sn.get(e);if(n)return yr(n);let r=Cn.get(e);return r?r.id===at?xr(r):Cr(r):null},kr=e=>{let t=Cn.get(e);return t?Cr(t,{hiddenRow:!0}):null};return(0,G.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[(0,G.jsxs)(`div`,{className:`flex h-14 shrink-0 items-center gap-1 px-3`,children:[(0,G.jsx)(l6,{}),(0,G.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,G.jsx)(bi,{size:15,className:`pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-text-tertiary`}),(0,G.jsx)(`input`,{ref:Ee,value:we,onChange:e=>Te(e.target.value),placeholder:c(`agents.search.placeholder`),"aria-label":c(`agents.search.placeholder`),className:`h-9 w-full rounded-lg border border-transparent bg-bg-tertiary pl-8 pr-8 text-[13px] font-normal text-text-primary outline-none transition-colors placeholder:text-text-tertiary focus:border-accent-brand/50 focus-visible:outline-none`}),we&&(0,G.jsx)(`button`,{type:`button`,onClick:()=>{Te(``),Ee.current?.focus()},className:`absolute right-1.5 top-1/2 -translate-y-1/2 rounded-md p-0.5 text-text-tertiary transition-colors hover:bg-bg-hover hover:text-text-primary`,title:c(`agents.search.clear`),"aria-label":c(`agents.search.clear`),children:(0,G.jsx)(Ri,{size:12})})]}),r&&(_n?(0,G.jsxs)(`div`,{className:`relative`,ref:Be,children:[(0,G.jsx)(`button`,{type:`button`,onClick:()=>Re(e=>!e),className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-bg-tertiary text-text-secondary outline-none transition-colors hover:bg-bg-hover hover:text-text-primary focus-visible:!outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border-default`,title:c(`agents.action.new`),"aria-label":c(`agents.action.new`),"aria-expanded":Le,children:(0,G.jsx)(di,{size:17})}),Le&&(0,G.jsxs)(`div`,{role:`menu`,className:`absolute right-0 top-[calc(100%+6px)] z-30 min-w-[168px] rounded-lg border border-border-muted bg-bg-secondary py-1 shadow-lg`,children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,onClick:()=>{Re(!1),d&&a?.(),r()},children:[(0,G.jsx)(In,{size:12}),c(`agentHome.channel.newAgent`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,onClick:()=>{Re(!1),Wn()},children:[(0,G.jsx)(jr,{size:12}),c(`agentHome.channel.new`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,onClick:()=>{Re(!1),He(!0)},children:[(0,G.jsx)(Sr,{size:12}),c(`agentHome.channel.newSection`)]})]})]}):(0,G.jsx)(`button`,{type:`button`,onClick:()=>{d&&a?.(),r()},className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-bg-tertiary text-text-secondary outline-none transition-colors hover:bg-bg-hover hover:text-text-primary focus-visible:!outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border-default`,title:c(`agents.action.new`),"aria-label":c(`agents.action.new`),children:(0,G.jsx)(di,{size:17})})),a&&(0,G.jsx)(`button`,{type:`button`,onClick:a,className:`sessions-panel-mobile-close flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-text-tertiary outline-none transition-colors hover:bg-bg-hover hover:text-text-primary focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border-default`,title:c(`agents.panel.close`),"aria-label":c(`agents.panel.close`),children:(0,G.jsx)(Ri,{size:14})})]}),g&&(0,G.jsxs)(`div`,{role:`alert`,className:`mx-3 mt-2 flex items-start gap-2 rounded-lg border border-accent-red/20 bg-error-bg px-3 py-2`,children:[(0,G.jsx)(Un,{className:`mt-0.5 shrink-0 text-accent-red`,size:14,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`div`,{className:`text-[12px] font-medium text-text-primary`,children:c(`agents.error.title`)}),(0,G.jsx)(`div`,{className:`mt-0.5 text-[11px] leading-4 text-text-secondary`,children:{network:c(`agents.error.network`),authentication:c(`agents.error.authentication`),server:c(`agents.error.server`),unknown:c(`agents.error.unknown`)}[u$(g)]})]}),(0,G.jsxs)(`button`,{type:`button`,onClick:()=>{_().catch(()=>void 0)},disabled:h,className:[`flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1`,`text-[11px] font-medium text-accent-red outline-none transition-colors`,`hover:bg-bg-hover disabled:cursor-not-allowed disabled:opacity-50`,`focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-accent-red`].join(` `),"aria-label":c(`agents.error.retry`),children:[(0,G.jsx)(mi,{size:11,className:h?`animate-spin`:``,"aria-hidden":`true`}),c(`agents.error.retry`)]})]}),(0,G.jsxs)(`div`,{ref:On,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain pb-1 pt-0.5`,style:Xe?{overflowAnchor:`none`}:void 0,children:[(0,G.jsx)(`div`,{className:`flex min-h-full flex-col gap-0.5`,children:_n?(0,G.jsxs)(G.Fragment,{children:[!ct||!ne?null:(0,G.jsx)(S1,{state:`idle`,title:ct.name,statusHidden:!0,active:!0,avatar:(0,G.jsx)(JB,{seed:ct.id,size:36}),preview:c(`agentHome.notStarted`),onSelect:()=>{},ariaLabel:ct.name},ct.id),Gn.visible.length>0&&(0,G.jsxs)(`div`,{className:`flex flex-col gap-0.5`,onDragOver:e=>or(e,{kind:`room-section`},`room-section`),onDrop:e=>sr(e,{kind:`room-section`}),children:[Gn.visible.map(e=>(0,G.jsxs)(V.Fragment,{children:[Dr(e.id,`gap:${e.id}`),Er(e)]},e.id)),Dr(void 0,`gap:end`)]}),Ve&&(0,G.jsx)(`div`,{className:`mx-3 mb-1 mt-2`,children:(0,G.jsx)(`input`,{autoFocus:!0,defaultValue:``,onKeyDown:e=>{if(!e.nativeEvent.isComposing){if(e.key===`Escape`){He(!1);return}if(e.key===`Enter`){e.preventDefault();let t=e.currentTarget.value.trim();if(He(!1),!t)return;Z.getState().createSection(t).then(e=>{e||W.error(c(`agentHome.opFailed`))}).catch(()=>W.error(c(`agentHome.opFailed`)))}}},onBlur:e=>{let t=e.currentTarget.value.trim();He(!1),t&&Z.getState().createSection(t).then(e=>{e||W.error(c(`agentHome.opFailed`))}).catch(()=>W.error(c(`agentHome.opFailed`)))},placeholder:c(`agentHome.channel.sectionName`),"aria-label":c(`agentHome.channel.sectionName`),className:`h-7 w-full rounded-md border border-accent-brand bg-bg-primary px-1.5 text-[12px] text-text-primary outline-none`})}),Ln.map(e=>{let t=wr.visible.filter(t=>t.sectionId===e.id),n=it.filter(t=>t.sectionId===e.id&&t.visibility!==`hidden`&&!Tn.has(t.id)),r=t=>{t.preventDefault(),t.stopPropagation(),Ze({kind:`home-section`,sectionId:e.id,x:t.clientX,y:t.clientY})},i=cr({kind:`directory-section`,sectionId:e.id},`section:${e.id}`),a=t.length===0&&n.length===0;return(0,G.jsxs)(`div`,{className:a?`min-h-10`:void 0,...a?{onDragOver:i.onDragOver,onDragEnter:i.onDragEnter,onDragLeave:i.onDragLeave,onDrop:i.onDrop}:{},children:[Ue===e.id?(0,G.jsx)(`div`,{className:`mx-3 mb-1 mt-2`,children:(0,G.jsx)(`input`,{autoFocus:!0,defaultValue:e.name,onFocus:e=>e.target.select(),onKeyDown:t=>{if(!t.nativeEvent.isComposing){if(t.key===`Escape`){We(null);return}t.key===`Enter`&&zn(e.id,t.currentTarget.value)}},onBlur:t=>zn(e.id,t.currentTarget.value),"aria-label":c(`agentHome.channel.renameSection`),className:`h-7 w-full rounded-md border border-accent-brand bg-bg-primary px-1.5 text-[12px] text-text-primary outline-none`})}):(0,G.jsx)(X3,{label:e.name,onContextMenu:r,onRename:()=>We(e.id),onDelete:()=>Ke(e.id),droppable:i}),t.map(e=>Tr(e)),n.map(e=>Or(e.id))]},e.id)}),(Ln.length>0||Ve)&&(0,G.jsx)(X3,{label:c(`agentHome.channel.ungrouped`),droppable:cr({kind:`directory-section`,sectionId:null},`section:ungrouped`)}),wr.visible.filter(e=>mt.length===0||!e.sectionId).map(e=>Tr(e)),(0,G.jsxs)(`div`,{className:`flex min-h-10 flex-1 flex-col gap-0.5`,onDragOver:e=>or(e,{kind:`people-section`},`people-section`),onDragEnter:e=>or(e,{kind:`people-section`},`people-section`),onDrop:e=>sr(e,{kind:`people-section`}),children:[En.primary.map(e=>Or(e)),!Dn&&En.overflow.length>0&&At&&En.overflow.map(e=>Or(e)),!Dn&&En.overflow.length>0&&(0,G.jsxs)(`button`,{type:`button`,onClick:Mt,"aria-expanded":At,className:`mx-3 flex h-9 w-[calc(100%-24px)] items-center gap-1.5 rounded-lg px-2.5 text-[12.5px] text-text-tertiary transition-colors hover:bg-bg-hover hover:text-text-secondary`,children:[(0,G.jsx)(Vn,{size:13,className:`shrink-0 transition-transform ${At?`rotate-90`:``}`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:c(At?`agents.group.showLess`:`agentHome.more`)}),!At&&(0,G.jsx)(`span`,{className:`shrink-0 opacity-70`,children:En.overflow.length})]})]}),(En.hidden.length>0||Gn.hidden.length>0||wr.hidden.length>0||er?.kind===`room`)&&(Dn?(0,G.jsxs)(G.Fragment,{children:[Gn.hidden.map(e=>Er(e,{hiddenRow:!0})),wr.hidden.map(e=>Tr(e,{hiddenRow:!0})),En.hidden.map(e=>kr(e))]}):(0,G.jsx)(`div`,{onDragOver:e=>or(e,{kind:`hidden-section`},`hidden-section`),onDragEnter:e=>or(e,{kind:`hidden-section`},`hidden-section`),onDragLeave:()=>nr(e=>e===`hidden-section`?null:e),onDrop:e=>sr(e,{kind:`hidden-section`}),className:tr===`hidden-section`?`rounded-lg bg-bg-hover`:void 0,children:(0,G.jsxs)(Z3,{label:c(`agentHome.hidden`),count:En.hidden.length+Gn.hidden.length+wr.hidden.length,open:Pt,onToggle:()=>Ft(e=>!e),children:[Gn.hidden.map(e=>Er(e,{hiddenRow:!0})),wr.hidden.map(e=>Tr(e,{hiddenRow:!0})),En.hidden.map(e=>kr(e))]})}))]}):(0,G.jsxs)(G.Fragment,{children:[xr(),Qt.map(yr)]})}),!_n&&!F&&xe.length===0&&!h&&(0,G.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-6 text-center`,children:[(0,G.jsx)(`div`,{className:`mb-4 text-text-tertiary opacity-70`,children:(0,G.jsx)(In,{size:30,strokeWidth:1.5})}),(0,G.jsx)(`p`,{className:`text-[13px] text-text-secondary`,children:c(`agents.empty`)}),(0,G.jsx)(`p`,{className:`mt-1 text-[12px] text-text-tertiary`,children:c(`agents.empty.hint`)})]}),_n?Dn&&En.primary.length===0&&En.hidden.length===0&&(0,G.jsx)(`div`,{className:`px-2 py-8 text-center text-[12px] text-text-tertiary`,children:c(`agents.search.noMatch`)}):xe.length>0&&we.trim()&&Jt.length===0&&(0,G.jsx)(`div`,{className:`px-2 py-8 text-center text-[12px] text-text-tertiary`,children:c(`agents.search.noMatch`)})]}),(0,G.jsx)(rn,{defaultText:c(`agentHome.team.defaultBlocked`),minimalText:c(`agentHome.room.minimalBlocked`)}),Xe&&(0,G.jsx)(Q3,{menu:Xe,menuRef:Qe,homeOn:_n,homeAgents:it,homeGroups:ut,homeChannels:dt,homeDefaultAgentId:at??void 0,homeBuckets:vn,backgroundJobs:xe,pinnedJobIds:w,jobGroups:D,agentSessionIds:j,sortedSections:Ln,onClose:()=>Ze(null),onStop:on,onRespawn:ln,onPin:sn,onUngroup:mn,onDeleteJob:cn,onCopySessionId:fn,onCopyCwd:pn,onCopyText:e=>{un(e).catch(()=>{})},onRenameJob:e=>Ae(e),onRenameAgent:e=>Me(e),onRenameChannel:e=>Pe(e),onRenameRoom:e=>bt(e),onRenameSection:e=>We(e),onHideAgent:gr,onUnhideAgent:_r,onInviteToRoom:e=>{kt([]),Dt(e)},onDeleteAgent:e=>Ye(e),onSelectHomeAgent:jn,onRemoveRoomMember:fr,onApplyDrag:rr,onMoveToSection:Pn,onCreateSectionAndMove:Fn,onDeleteCurrent:()=>nt(!0),onDeleteRoom:e=>St(e),onDeleteChannel:e=>Ie(e),onDeleteSection:e=>Ke(e),onHideChannel:e=>{re===e&&se(null)},onOpenWorkspaceSettings:(e,t)=>i?.(e,t),currentCwd:it.find(e=>e.id===at)?.homeCwd??Yt??void 0,onExportConversation:(e,t,n)=>{dn(e,t,n).catch(()=>void 0)}}),z&&(0,G.jsx)(k1,{danger:!0,title:c(`agents.action.delete`),message:`${Rt(z)} — ${c(`agents.action.delete.confirm`)}`,confirmLabel:c(`agents.action.delete`),onConfirm:an,onCancel:()=>$e(null)}),tt&&(0,G.jsx)(k1,{danger:!0,title:c(`sessions.deleteCurrent`),message:c(`sessions.deleteCurrent.confirm`),confirmLabel:c(`sessions.deleteCurrent`),onConfirm:nn,onCancel:()=>nt(!1)}),qe&&(0,G.jsx)(k1,{danger:!0,title:c(`agents.action.delete`),message:`${qe.name} — ${c(`agentHome.delete.confirm`)}`,confirmLabel:c(`agents.action.delete`),onConfirm:()=>{vr().catch(()=>void 0)},onCancel:()=>Ye(null)}),Ct&&(0,G.jsx)(k1,{danger:!0,title:c(`agentHome.room.dissolveTitle`),message:c(`agentHome.room.dissolveMessage`),confirmLabel:c(`agentHome.room.dissolveConfirm`),onConfirm:()=>{ur().catch(()=>void 0)},onCancel:()=>wt(null)}),xt&&(0,G.jsx)(k1,{danger:!0,title:c(`agentHome.room.delete`),message:`${xt.name} — ${c(`agentHome.room.deleteConfirm`)}`,confirmLabel:c(`agentHome.room.delete`),onConfirm:()=>{dr().catch(()=>void 0)},onCancel:()=>St(null)}),Fe&&(0,G.jsx)(k1,{danger:!0,title:c(`agentHome.channel.delete`),message:`${Fe.name} — ${c(`agentHome.channel.deleteConfirm`)}`,confirmLabel:c(`agentHome.channel.delete`),onConfirm:()=>{Hn().catch(()=>void 0)},onCancel:()=>Ie(null)}),Ge&&(0,G.jsx)(k1,{danger:!0,title:c(`agentHome.channel.deleteSection`),message:`${mt.find(e=>e.id===Ge)?.name??``} — ${c(`agentHome.channel.deleteSectionConfirm`)}`,confirmLabel:c(`agentHome.channel.deleteSection`),onConfirm:()=>{Bn().catch(()=>void 0)},onCancel:()=>Ke(null)}),Et&&(e=>{let t=Lt(ut.filter(e=>e.visibility!==`hidden`)),n=it.filter(t=>t.id!==e.id&&t.visibility!==`hidden`&&kp(t.id,at,t.engine)),r=()=>{Dt(null),kt([])},i=e=>{kt(t=>t.includes(e)?t.filter(t=>t!==e):t.length>=5?t:[...t,e])};return(0,mp.createPortal)((0,G.jsx)(`div`,{className:`fixed inset-0 z-[200] flex items-center justify-center bg-black/40 p-4`,onClick:r,children:(0,G.jsxs)(`div`,{className:`w-[360px] max-w-full overflow-hidden rounded-xl border border-border-muted bg-bg-card shadow-xl`,onClick:e=>e.stopPropagation(),role:`dialog`,"aria-label":c(`agentHome.room.invite`),children:[(0,G.jsxs)(`div`,{className:`px-4 pb-2 pt-3`,children:[(0,G.jsx)(`div`,{className:`text-[14px] font-medium text-text-primary`,children:c(`agentHome.room.invite`)}),(0,G.jsx)(`div`,{className:`mt-0.5 text-[12px] text-text-tertiary`,children:e.name})]}),(0,G.jsxs)(`div`,{className:`max-h-[320px] overflow-y-auto px-2 pb-2`,children:[t.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`px-2 py-1 text-[11px] text-text-tertiary`,children:c(`agentHome.room.joinExisting`)}),t.map(t=>{let n=t.memberAgentIds.includes(e.id),i=t.memberAgentIds.length>=6,a=!!t.activeTeamName;return(0,G.jsxs)(`button`,{type:`button`,disabled:n||i||a,onClick:()=>{r(),rr({kind:`add-member`,groupId:t.id,member:{kind:`agent`,id:e.id}})},className:`flex w-full items-center gap-2 rounded-lg px-2 py-2 text-left transition-colors hover:bg-bg-hover disabled:cursor-not-allowed disabled:opacity-40`,children:[(0,G.jsx)(n0,{memberAgentIds:t.memberAgentIds,memberAvatarVariants:wn,size:28}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] text-text-primary`,children:t.name}),(0,G.jsx)(`span`,{className:`shrink-0 text-[11px] text-text-tertiary`,children:n?c(`agentHome.room.already`):a?c(`agentHome.room.teamingBadge`):i?c(`agentHome.room.full`):`${t.memberAgentIds.length}`})]},t.id)})]}),(0,G.jsx)(`div`,{className:`px-2 pb-1 pt-2 text-[11px] text-text-tertiary`,children:c(`agentHome.room.createNew`)}),n.length===0?(0,G.jsx)(`div`,{className:`px-2 py-3 text-center text-[12px] text-text-tertiary`,children:c(`agentHome.room.needMore`)}):n.map(e=>{let t=Ot.includes(e.id);return(0,G.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),"aria-pressed":t,className:`flex w-full items-center gap-2 rounded-lg px-2 py-2 text-left transition-colors hover:bg-bg-hover ${t?`bg-bg-hover`:``}`,children:[(0,G.jsx)(JB,{seed:e.id,variant:e.avatarVariant,size:28}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] text-text-primary`,children:e.name}),t&&(0,G.jsx)(Rn,{size:13,className:`shrink-0 text-accent-brand`})]},e.id)})]}),(0,G.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border-muted px-3 py-2.5`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:r,className:`rounded-md px-3 py-1.5 text-[12.5px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:c(`app.cancel`)}),(0,G.jsx)(`button`,{type:`button`,disabled:Ot.length===0,onClick:()=>{let t=[e.id,...Ot];r(),Z.getState().ensureRoom(t.map(e=>({kind:`agent`,id:e}))).then(e=>{if(e){Kn(e);return}let n=t.map(e=>Op(e,at,it.find(t=>t.id===e)?.engine)).find(e=>!!e);if(n){l1(n,c,{surface:`room`});return}if(t.filter(e=>kp(e,at,it.find(t=>t.id===e)?.engine)).length<2){W.error(c(`agentHome.opFailed`));return}W.info(c(`agentHome.room.full`))}).catch(()=>W.error(c(`agentHome.opFailed`)))},className:`rounded-md bg-accent-brand px-3 py-1.5 text-[12.5px] font-medium text-accent-brand-foreground transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-40`,children:c(`agentHome.room.createConfirm`)})]})]})}),document.body)})(Et)]})}function m6({open:e,visible:t,onSwitchSession:n,onNewChat:r,onNewAgent:i,onOpenWorkspaceSettings:a,onClose:o,onCollapse:s,agentFrameNeedsInput:c,agentFrameRunning:l}){let{t:u}=R(),d=wn(e=>e.sessionsPanelWidth),f=wn(e=>e.setSessionsPanelWidth),p=Math.min(360,Math.max(240,Math.round(d))),m=(0,V.useRef)(null),h=(0,V.useRef)(null),g=(0,V.useRef)(p),[_,v]=(0,V.useState)(!1);(0,V.useEffect)(()=>{m.current&&(m.current.inert=!t)},[t]);let y=(0,V.useCallback)(e=>{(e.button===0||e.pointerType!==`mouse`)&&(e.preventDefault(),h.current=e.clientX,g.current=p,v(!0),D3({pointerId:e.pointerId,target:e.currentTarget,cursor:`col-resize`,onMove:e=>{h.current!=null&&f(g.current+(e-h.current))},onEnd:()=>{h.current=null,v(!1)}}))},[p,f]),b=(0,V.useCallback)(()=>f(280),[f]);return(0,G.jsxs)(`aside`,{ref:m,className:`sessions-panel sessions-panel-inline${e?``:` sessions-panel-closed`}${_?` no-transition`:``}`,role:`complementary`,"aria-label":u(`agents.panel.title`),"aria-hidden":!t,style:{width:e?`${p}px`:0},children:[(0,G.jsx)(p6,{onSwitchSession:n,onNewChat:r,agentFrameNeedsInput:c,agentFrameRunning:l,onNewAgent:i,onOpenWorkspaceSettings:a,onClose:o,visible:t,onCollapse:s}),e&&(0,G.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":u(`agents.panel.resize`),onPointerDown:y,onDoubleClick:b,className:`sessions-panel-resize-handle`})]})}var h6=`data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23copilot-clip-34e811bed903495093b85bf96a98fb1b_0)'%3e%3crect%20width='24'%20height='24'%20rx='12'%20fill='%234C4F6B'%3e%3c/rect%3e%3cpath%20d='M3.4689%2011.0144C3.32344%2011.2025%203.31607%2011.4567%203.4345%2012.0298C3.65883%2013.0748%204.24029%2014.4426%205.15579%2016.0716L5.747%2017.1172L5.72862%2017.511C5.70544%2017.9326%205.72848%2018.5857%205.77921%2019.0271C5.80994%2019.2967%205.8055%2019.3035%205.66483%2019.4638C5.12042%2020.0864%205.03916%2021.1287%205.44787%2022.2839C5.62456%2022.7775%206.16958%2023.6999%206.50726%2024.0756C7.35392%2025.0154%208.35051%2025.4646%209.11147%2025.246C9.25446%2025.2051%209.28403%2025.213%209.47117%2025.3424C10.182%2025.8233%2011.3834%2026.2377%2012.4447%2026.3663C14.2242%2026.5843%2016.2727%2026.143%2018.8281%2024.9925C19.8948%2024.5099%2022.2541%2023.1352%2023.2513%2022.4096C25.1083%2021.0667%2026.4805%2019.6414%2027.251%2018.2635C27.9337%2017.0364%2028.2735%2015.7781%2028.2495%2014.5174C28.2466%2014.2525%2028.2536%2014.2359%2028.3599%2014.1746C28.8797%2013.8703%2029.1497%2013.198%2029.0927%2012.3562C29.075%2012.1165%2029.0266%2011.7946%2028.9902%2011.6448C28.7404%2010.7144%2028.0885%209.59971%2027.4078%208.94729C26.6515%208.22182%2025.7943%207.9129%2025.1958%208.14598C25.0631%208.19758%2025.0452%208.19542%2024.9177%208.08995C24.6357%207.86124%2023.9604%207.43473%2023.5488%207.22673L23.1224%207.01477L22.8206%206.45595C22.0392%205.01609%2020.7826%203.33003%2019.8801%202.50992C19.4937%202.15818%2019.2668%202.03929%2019.019%202.05739C18.866%202.06657%2018.8535%202.07379%2018.645%202.26084C18.0389%202.79819%2017.1889%204.41355%2016.3588%206.60463L16.1271%207.21325L15.7053%207.34845C14.3909%207.76995%2013.2238%208.30219%2012.1896%208.94928C11.1973%209.56799%2010.6591%209.97037%209.84886%2010.688L9.36087%2011.1197L9.13878%2011.0813C7.00072%2010.7039%205.07892%2010.5639%204.19776%2010.7186C3.84772%2010.7832%203.55743%2010.9008%203.4689%2011.0144Z'%20fill='%23D2D3E0'%3e%3c/path%3e%3crect%20x='6.68555'%20y='16.3788'%20width='17.7918'%20height='11.5605'%20rx='4.61469'%20transform='rotate(-30%206.68555%2016.3788)'%20fill='%23212234'%3e%3c/rect%3e%3cg%3e%3crect%20x='12.2119'%20y='17.2593'%20width='2.13173'%20height='4.42744'%20rx='1.06587'%20transform='rotate(-30%2012.2119%2017.2593)'%20fill='%23D2D3E0'%3e%3canimate%20attributeName='height'%20values='4.42744;2.2;4.42744;4.42744;2.2;4.42744'%20dur='0.6s'%20begin='0s;blink134e811bed903495093b85bf96a98fb1b_0.end+3s'%20id='blink134e811bed903495093b85bf96a98fb1b_0'%3e%3c/animate%3e%3canimate%20attributeName='y'%20values='17.2593;18.2593;17.2593;17.2593;18.2593;17.2593'%20dur='0.6s'%20begin='0s;blink134e811bed903495093b85bf96a98fb1b_0.end+3s'%3e%3c/animate%3e%3canimate%20attributeName='opacity'%20values='1;0.2;1;1;0.2;1'%20dur='0.6s'%20begin='0s;blink134e811bed903495093b85bf96a98fb1b_0.end+3s'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%3e%3crect%20x='17.9634'%20y='13.9387'%20width='2.13173'%20height='4.42744'%20rx='1.06587'%20transform='rotate(-30%2017.9634%2013.9387)'%20fill='%23D2D3E0'%3e%3canimate%20attributeName='height'%20values='4.42744;2.2;4.42744;4.42744;2.2;4.42744'%20dur='0.6s'%20begin='0s;blink234e811bed903495093b85bf96a98fb1b_0.end+3s'%20id='blink234e811bed903495093b85bf96a98fb1b_0'%3e%3c/animate%3e%3canimate%20attributeName='y'%20values='13.9387;14.9387;13.9387;13.9387;14.9387;13.9387'%20dur='0.6s'%20begin='0s;blink234e811bed903495093b85bf96a98fb1b_0.end+3s'%3e%3c/animate%3e%3canimate%20attributeName='opacity'%20values='1;0.2;1;1;0.2;1'%20dur='0.6s'%20begin='0s;blink234e811bed903495093b85bf96a98fb1b_0.end+3s'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='copilot-clip-34e811bed903495093b85bf96a98fb1b_0'%3e%3crect%20width='24'%20height='24'%20rx='12'%20fill='white'%3e%3c/rect%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`;function g6({mainView:e,onNavigate:t,onClose:n,showTools:r=!1,remoteControlEnabled:i=!1,variant:a,railExpanded:o=!1}){let{t:s}=R(),{userInfo:c}=vd(),l=ve(e=>e.info),u=ve(e=>e.fetch),[d,f]=(0,V.useState)(!1),p=(0,V.useRef)(null),m=(0,V.useRef)(null),h=(0,V.useRef)(null),g=c?.userName||l?.userName||s(`sidebar.user`),_=De(e=>e.accountState),v=nd(id(e=>e.fileChanges),id(e=>e.seenChangeUris)),y=wn(e=>e.workspaceDockOpen),b=Mt(e=>e.tabs.find(t=>t.id===e.activeId)?.kind??null),x=e===`editor`||y&&b===`editor`,S=a===`directory`||o;(0,V.useEffect)(()=>{l||u()},[u,l]),(0,V.useEffect)(()=>{if(!d)return;let e=e=>{p.current?.contains(e.target)||f(!1)};m.current?.querySelector(`[role="menuitem"]`)?.focus();let t=e=>{e.key===`Escape`&&(f(!1),h.current?.focus())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[d]);let C=(0,V.useCallback)(async()=>{window.confirm(s(`account.logout.confirm`))&&await De.getState().accountLogout()},[s]),w=(0,V.useCallback)(e=>{f(!1),t(e),n?.()},[n,t]),T=(0,V.useCallback)(e=>{if(![`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=Array.from(e.currentTarget.querySelectorAll(`[role="menuitem"]:not(:disabled)`));if(t.length===0)return;let n=t.indexOf(document.activeElement),r;r=e.key===`Home`?0:e.key===`End`?t.length-1:e.key===`ArrowUp`?n<=0?t.length-1:n-1:n<0||n===t.length-1?0:n+1,t[r].focus()},[]);return(0,G.jsxs)(`div`,{className:`${a===`directory`?`directory-account-footer`:`dashboard-rail-footer`}${d?` open`:``}`,ref:p,children:[d&&(0,G.jsxs)(`div`,{ref:m,className:`sidebar-account-menu dashboard-account-menu${a===`directory`?` directory-account-menu`:``}`,role:`menu`,onKeyDown:T,children:[(0,G.jsxs)(`div`,{className:`sidebar-account-groups`,children:[r&&(0,G.jsxs)(`div`,{className:`sidebar-account-group`,children:[(0,G.jsx)(`div`,{className:`sidebar-account-label`,children:s(`sidebar.group.tools`)}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`tasks`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`tasks`),children:[(0,G.jsx)(zr,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.nav.tasks`)})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`canvas`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`canvas`),children:[(0,G.jsx)(Lr,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.canvas`)})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${x?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`editor`),children:[(0,G.jsx)(rr,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.editor`)})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`plugins`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`plugins`),children:[(0,G.jsx)(Pn,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.nav.plugins`)})]}),i&&(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`remote-control`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`remote-control`),children:[(0,G.jsx)(pi,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.remoteControl`)})]})]}),(0,G.jsxs)(`div`,{className:`sidebar-account-group`,children:[(0,G.jsx)(`div`,{className:`sidebar-account-label`,children:s(`sidebar.group.preferences`)}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`settings`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`settings`),children:[(0,G.jsx)(Ci,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.preferences`)})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`keybindings`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`keybindings`),children:[(0,G.jsx)(Ir,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.keybindings`)})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`docs`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`docs`),children:[(0,G.jsx)(Fn,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.docs`)})]})]}),(0,G.jsxs)(`div`,{className:`sidebar-account-group`,children:[(0,G.jsx)(`div`,{className:`sidebar-account-label`,children:s(`sidebar.group.observability`)}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`changes`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`changes`),"aria-label":v>0?`${s(`sidebar.changes`)} (${v})`:s(`sidebar.changes`),children:[(0,G.jsx)(Dr,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.changes`)}),v>0&&(0,G.jsx)(`span`,{className:`ml-auto rounded-full bg-accent-green px-1.5 text-[10px] font-semibold leading-4 text-white`,children:v>99?`99+`:v})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`workers`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`workers`),children:[(0,G.jsx)(cr,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.workers`)})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`stats`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`stats`),children:[(0,G.jsx)(Ln,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.stats`)})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`traces`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`traces`),children:[(0,G.jsx)(Li,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.traces`)})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`metrics`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`metrics`),children:[(0,G.jsx)(Dn,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.metrics`)})]}),(0,G.jsxs)(`button`,{className:`sidebar-account-item ${e===`logs`?`active`:``}`,type:`button`,role:`menuitem`,onClick:()=>w(`logs`),children:[(0,G.jsx)(Qn,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.logs`)})]})]})]}),_===`authenticated`&&(0,G.jsx)(`div`,{className:`sidebar-account-logout`,children:(0,G.jsxs)(`button`,{className:`sidebar-account-item sidebar-account-item-danger`,type:`button`,role:`menuitem`,onClick:()=>{f(!1),C().catch(()=>void 0)},children:[(0,G.jsx)(Ur,{size:16}),(0,G.jsx)(`span`,{children:s(`account.logout`)})]})})]}),(0,G.jsxs)(`button`,{ref:h,type:`button`,className:`dashboard-rail-user${S?` expanded`:``}`,onClick:()=>f(e=>!e),"aria-expanded":d,"aria-haspopup":`menu`,title:g,children:[(0,G.jsx)(`img`,{src:h6,alt:``,className:`dashboard-rail-avatar`}),S&&(0,G.jsxs)(`span`,{className:`dashboard-rail-user-info`,children:[(0,G.jsx)(`span`,{className:`dashboard-rail-user-name`,children:g}),l?.version&&(0,G.jsxs)(`span`,{className:`dashboard-rail-user-version`,children:[`v`,l.version]})]})]})]})}var _6=!1;function v6({mainView:e,onNavigate:t,remoteControlEnabled:n,onEnsureAgentsOpen:r,onClose:i}){let{t:a}=R(),o=Sz(),s=wn(e=>e.railExpanded),c=wn(e=>e.toggleRail),l=e===`editor-page`,u=!o&&s,d=(0,V.useCallback)(e=>{t(e),i?.()},[i,t]),f=x(e)&&e!==`changes`,p=(0,V.useCallback)(()=>{if(f){r?.();return}if(t(`chat`),o){i?.();return}r?.()},[f,o,i,r,t]),m=(0,V.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=s,r=!1,i=e=>{r||(r=!0,e!==n&&c(),window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o))},a=e=>{let n=e.clientX-t;n<=-24&&i(!1),n>=24&&i(!0)},o=e=>{if(Math.abs(e.clientX-t)<24){i(!n);return}i(n)};window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o)},[s,c]),h=e=>(0,G.jsxs)(`button`,{type:`button`,className:`dashboard-rail-btn${u?` expanded`:``}${e.active?` active`:``}`,onClick:e.onClick,"aria-current":e.active?`page`:void 0,title:u?void 0:e.label,children:[e.icon,u&&(0,G.jsx)(`span`,{className:`dashboard-rail-btn-label`,children:e.label})]},e.key),g=u?18:22;return(0,G.jsxs)(`nav`,{className:`dashboard-rail${u?` dashboard-rail-expanded`:``}`,"aria-label":a(`layout.dashboard`),children:[(0,G.jsx)(`div`,{className:`dashboard-rail-head`,children:(0,G.jsxs)(`button`,{type:`button`,className:`dashboard-rail-logo`,onClick:p,title:a(`layout.dashboard`),"aria-label":a(`layout.dashboard`),children:[(0,G.jsx)(`img`,{src:n6,alt:``,className:`dashboard-rail-logo-img`}),u&&(0,G.jsx)(`span`,{className:`dashboard-rail-wordmark`,children:`CodeBuddy`})]})}),(0,G.jsxs)(`div`,{className:`dashboard-rail-top`,children:[h({key:`agents`,label:a(`agents.title`),icon:(0,G.jsx)(In,{size:g,strokeWidth:1.6}),active:f,onClick:p}),h({key:`editor`,label:a(`sidebar.editor`),icon:(0,G.jsx)(rr,{size:g,strokeWidth:1.6}),active:l,onClick:()=>d(`editor-page`)}),h({key:`tasks`,label:a(`sidebar.nav.tasks`),icon:(0,G.jsx)(zr,{size:g,strokeWidth:1.6}),active:e===`tasks`,onClick:()=>d(`tasks`)}),_6,h({key:`plugins`,label:a(`sidebar.nav.plugins`),icon:(0,G.jsx)(Pn,{size:g,strokeWidth:1.6}),active:e===`plugins`,onClick:()=>d(`plugins`)}),n&&h({key:`remote-control`,label:a(`sidebar.remoteControl`),icon:(0,G.jsx)(pi,{size:g,strokeWidth:1.6}),active:e===`remote-control`,onClick:()=>d(`remote-control`)})]}),(0,G.jsx)(g6,{variant:`rail`,mainView:e,onNavigate:t,onClose:i,showTools:!0,remoteControlEnabled:n,railExpanded:u}),!o&&(0,G.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":a(u?`layout.collapseSidebar`:`layout.expandSidebar`),title:a(u?`layout.collapseSidebar`:`layout.expandSidebar`),className:`dashboard-rail-edge`,onPointerDown:m,children:(0,G.jsx)(`span`,{className:`dashboard-rail-edge-grip`,"aria-hidden":!0,children:u?(0,G.jsx)(Bn,{size:12}):(0,G.jsx)(Vn,{size:12})})})]})}function y6({isOpen:e,onClose:t,onCollapse:n,onEnsureAgentsOpen:r,mainView:i,onNavigate:a,remoteControlEnabled:o,onSwitchSession:s,onNewChat:c,onNewAgent:l,onOpenWorkspaceSettings:u,agentFrameNeedsInput:d=null,agentFrameRunning:f=null,children:p,overlays:m}){let{t:h}=R(),g=Sz(),_=!e,v=(0,V.useRef)(null),y=ce(i,e,g);return(0,V.useEffect)(()=>{v.current&&(v.current.inert=_)},[_]),(0,G.jsxs)(`div`,{className:`app-shell app-viewport flex overflow-hidden bg-bg-primary font-sans text-text-primary transition-colors duration-200`,children:[(0,G.jsx)(`div`,{className:`app-shell-overlay${_?` app-shell-overlay-hidden`:``}`,onClick:t}),(0,G.jsxs)(`div`,{ref:v,className:`app-shell-nav${_?` app-shell-nav-closed`:``}`,role:`navigation`,"aria-label":h(`layout.sidebar`),"aria-hidden":_,children:[(0,G.jsx)(v6,{mainView:i,onNavigate:a,remoteControlEnabled:o,onEnsureAgentsOpen:r,onClose:t}),(0,G.jsx)(m6,{open:y.expanded,visible:y.visible,onSwitchSession:s,onNewChat:c,onNewAgent:l,onOpenWorkspaceSettings:u,onClose:t,onCollapse:n,agentFrameNeedsInput:d,agentFrameRunning:f})]}),(0,G.jsx)(`div`,{className:`app-shell-main flex min-h-0 min-w-0 flex-1`,children:p}),m]})}function b6({children:e}){return(0,G.jsx)(`code`,{className:`bg-bg-tertiary px-1.5 py-0.5 rounded text-xs text-accent-brand`,children:e})}function x6(e){let t=[],n=e,r=0;for(;n.length>0;){let e=n.indexOf(`<code>`);if(e===-1){t.push((0,G.jsx)(`span`,{children:n},r));break}e>0&&(t.push((0,G.jsx)(`span`,{children:n.substring(0,e)},r)),r++);let i=n.indexOf(`</code>`,e);if(i===-1){t.push((0,G.jsx)(`span`,{children:n},r));break}let a=n.substring(e+6,i);t.push((0,G.jsx)(b6,{children:a},r)),r++,n=n.substring(i+7)}return(0,G.jsx)(G.Fragment,{children:t})}function S6(){let{error:e,isSubmitting:t,login:n,clearError:r}=De(),{t:i}=R(),[a,o]=(0,V.useState)(``),s=(0,V.useCallback)(async e=>{e.preventDefault(),a.trim()&&await n(a)},[a,n]),c=e?i(e)===e?e:i(e):null;return(0,G.jsxs)(`div`,{className:`login-page`,children:[(0,G.jsxs)(`div`,{className:`login-orb login-orb-right`,children:[(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-1`}),(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-2`})]}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-outer`}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-outer2`}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-inner`}),(0,G.jsxs)(`div`,{className:`login-orb login-orb-left`,children:[(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-1`}),(0,G.jsx)(`div`,{className:`login-orb-layer login-orb-layer-2`})]}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-left`}),(0,G.jsx)(`div`,{className:`login-ellipse login-ellipse-left2`}),(0,G.jsxs)(`div`,{className:`login-content`,children:[(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`16px`},children:[(0,G.jsx)(`div`,{className:`login-logo`,children:(0,G.jsx)(`img`,{src:qf,alt:`CodeBuddy`})}),(0,G.jsx)(`h1`,{className:`login-title`,children:i(`login.slogan`)}),(0,G.jsx)(`p`,{className:`login-tagline`,children:i(`login.tagline`)})]}),(0,G.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`4px`},children:[c&&(0,G.jsx)(`div`,{className:`login-error`,style:{marginBottom:`8px`},children:c}),(0,G.jsxs)(`form`,{onSubmit:s,style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`8px`},children:[(0,G.jsx)(`input`,{type:`password`,name:`password`,value:a,onChange:t=>{o(t.target.value),e&&r()},placeholder:i(`login.placeholder`),autoFocus:!0,autoComplete:`current-password`,disabled:t,className:`login-input`}),(0,G.jsx)(`button`,{type:`submit`,disabled:t||!a.trim(),className:`login-btn`,children:t?(0,G.jsx)(`span`,{className:`thinking-text`,children:i(`login.submit`)}):i(`login.submit`)})]}),(0,G.jsxs)(`div`,{className:`login-hints`,children:[(0,G.jsx)(`p`,{children:i(`login.hint.password`)}),(0,G.jsx)(`p`,{children:i(`login.hint.urlAuth`).includes(`<code>`)?x6(i(`login.hint.urlAuth`)):i(`login.hint.urlAuth`)}),(0,G.jsx)(`p`,{children:i(`login.hint.disable`).includes(`<code>`)?x6(i(`login.hint.disable`)):i(`login.hint.disable`)})]})]})]}),(0,G.jsxs)(`div`,{className:`login-footer`,children:[(0,G.jsx)(`a`,{href:`#privacy`,children:i(`login.privacy`)}),(0,G.jsx)(`a`,{href:`#terms`,children:i(`login.terms`)})]})]})}var C6=300,w6=5e3;function T6(){let{t:e}=R(),t=od(e=>e.visible),n=od(e=>e.total),r=od(e=>e.completed),i=od(e=>e.connectingServers),a=od(e=>e.startedAt),o=od(e=>e.finished),s=od(e=>e.failed),c=od(e=>e.timedOut),l=od(e=>e.hide),[u,d]=(0,V.useState)(!1),f=(0,V.useRef)(void 0),[,p]=(0,V.useState)(0),[m,h]=(0,V.useState)(!1);(0,V.useEffect)(()=>(t?(f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{d(!0),f.current=void 0},C6)):(f.current&&=(clearTimeout(f.current),void 0),d(!1)),()=>{f.current&&=(clearTimeout(f.current),void 0)}),[t]),(0,V.useEffect)(()=>{if(!o||!t||m)return;let e=setTimeout(()=>l(),w6);return()=>clearTimeout(e)},[o,t,m,l]);let g=u&&(i.length>0||o);(0,V.useEffect)(()=>{if(!g||o||a===void 0)return;let e=setInterval(()=>p(e=>(e+1)%1e6),1e3);return()=>clearInterval(e)},[g,o,a]);let _=(0,V.useMemo)(()=>{if(!g)return null;if(o){if(s.length===0&&c.length===0)return{tone:`ok`,text:e(`mcp.startup.ready`,{total:n})};let t=[];return s.length>0&&t.push(e(`mcp.startup.failed`,{names:s.join(`, `)})),c.length>0&&t.push(e(`mcp.startup.timedOut`,{names:c.join(`, `)})),{tone:`warn`,text:t.join(` · `)}}let t=i.slice(0,3).join(`, `)+(i.length>3?`, …`:``),l=a===void 0?0:Math.max(0,Math.floor((Date.now()-a)/1e3)),u=e(`mcp.startup.elapsed`,{seconds:l});return{tone:`busy`,text:`${n===1&&i.length===1?e(`mcp.startup.booting`,{name:i[0]}):e(`mcp.startup.starting`,{completed:r,total:n,names:t})} (${u})`}},[g,o,s,c,i,n,r,a,e]);if(!_)return null;let v=_.tone===`busy`?`animate-pulse bg-accent-brand`:_.tone===`ok`?`bg-accent-green`:`bg-accent-yellow`;return(0,G.jsx)(`div`,{className:`max-w-3xl mx-auto px-3 pb-1 md:px-0`,children:(0,G.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-text-secondary`,onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),children:[(0,G.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 flex-shrink-0 rounded-full ${v}`}),(0,G.jsx)(`span`,{className:`truncate`,children:_.text})]})})}function E6({address:e,initial:t,placeholder:n,masked:r,onInput:i,onFocus:a}){let[o,s]=(0,V.useState)(t);return(0,G.jsx)(`input`,{"data-mod-element":e,className:r?`mod-input mod-input-masked`:`mod-input`,type:r?`password`:`text`,value:o,placeholder:n,onChange:e=>s(e.target.value),onBlur:()=>i(e,o),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),i(e,o))},onFocus:()=>a(e,!0)},e)}function D6({address:e,value:t,options:n,onSelect:r,onFocus:i}){let a=n.map(e=>{if(typeof e==`string`)return{value:e,label:e};if(e&&typeof e==`object`){let t=e,n=t.value??t.label??``,r=t.label??t.value??``;return{value:String(n),label:String(r)}}let t=String(e);return{value:t,label:t}});return(0,G.jsx)(`select`,{"data-mod-element":e,className:`mod-select`,value:t,onChange:t=>r(e,t.target.value),onFocus:()=>i(e,!0),onBlur:()=>i(e,!1),children:a.map((t,n)=>(0,G.jsx)(`option`,{value:t.value,children:t.label},`${e}.opt.${n}`))},e)}function O6(e,t,n){let{type:r,props:i,children:a}=e,o=String(i.key??t);switch(r){case`Code`:{let e=typeof i.text==`string`?i.text:``,t=typeof i.language==`string`?i.language:void 0,n=i[`aria-masked`]===!0;return(0,G.jsx)(`pre`,{className:n?`mod-text mod-text-masked`:`mod-text`,children:(0,G.jsx)(`code`,{"data-language":t,children:e})},o)}case`Link`:{let e=typeof i.text==`string`?i.text:``,t=i[`aria-masked`]===!0,n=typeof i.href==`string`?i.href:``;try{[`http:`,`https:`,`mailto:`].includes(new URL(n,`https://localhost`).protocol)||(n=``)}catch{n=``}return n?(0,G.jsx)(`a`,{href:n,rel:`noopener noreferrer`,className:t?`mod-text mod-text-masked`:`mod-text`,children:e},o):(0,G.jsx)(`span`,{className:t?`mod-text mod-text-masked`:`mod-text`,children:e},o)}case`Text`:case`Markdown`:{let e=typeof i.text==`string`?i.text:``,t=i[`aria-masked`]===!0;return(0,G.jsx)(`span`,{className:t?`mod-text mod-text-masked`:`mod-text`,children:e},o)}case`Button`:{let e=typeof i.label==`string`?i.label:``,t=typeof i.hotkey==`string`?i.hotkey:void 0,r=typeof i.key==`string`?i.key:o;return(0,G.jsxs)(`button`,{type:`button`,className:`mod-button`,onClick:()=>n.onPress(r),onFocus:()=>n.onFocus(r,!0),onBlur:()=>n.onFocus(r,!1),children:[(0,G.jsx)(`span`,{children:e}),t&&(0,G.jsx)(`kbd`,{className:`mod-hotkey`,children:t})]},o)}case`Input`:{let e=typeof i.value==`string`?i.value:``,t=typeof i.placeholder==`string`?i.placeholder:``,r=i[`aria-masked`]===!0,a=typeof i.key==`string`?i.key:o;return(0,G.jsx)(E6,{address:a,initial:e,placeholder:t,masked:r,onInput:n.onInput,onFocus:n.onFocus},o)}case`Select`:{let e=typeof i.key==`string`?i.key:o,t=typeof i.value==`string`?i.value:``,r=Array.isArray(i.options)?i.options:[];return(0,G.jsx)(D6,{address:e,value:t,options:r,onSelect:n.onSelect,onFocus:n.onFocus},o)}case`Box`:case`Fragment`:{let e=a.length>0&&a.every(e=>e.type===`Button`);return(0,G.jsx)(`div`,{className:e?`mod-row`:`mod-column`,children:a.map((e,t)=>O6(e,`${o}.${t}`,n))},o)}default:return(0,G.jsxs)(`span`,{className:`mod-unknown`,children:[`<`,r,` />`]},o)}}function k6({onPress:e}={}){let{tree:t,plugin:n}=sd();if(!t||!n)return null;let r=()=>{try{return Rf()}catch{return null}};return(0,G.jsx)(`div`,{className:`mod-root`,children:O6(t,`mod-root`,{onPress:t=>{if(e){e(t,n);return}r()?.sendModPress(n,t).catch(()=>void 0)},onInput:(e,t)=>{r()?.sendModInput(n,e,t).catch(()=>void 0)},onSelect:(e,t)=>{r()?.sendModSelect(n,e,t).catch(()=>void 0)},onFocus:(e,t)=>{r()?.sendModFocus(n,e,t).catch(()=>void 0)}})})}function A6({peer:e,selfName:t,selfSeed:n,onBack:r}){let{t:i,resolved:a}=R(),o=H(e=>e.timeline),s=H(e=>e.getToolCall),c=Z(e=>e.agents),l=(0,V.useRef)(null),u=a===`zh`?`zh-CN`:`en-US`,d=zU(e,c),f=BU(e,c),p=zU(t,c),m=BU(n,c),h=(0,V.useMemo)(()=>em(Zp(o,e=>s(e)),e,VU(e,c)),[o,e,s,c]);(0,V.useEffect)(()=>{l.current&&(l.current.scrollTop=l.current.scrollHeight)},[h.length]);let g=null;return(0,G.jsxs)(`div`,{className:`absolute inset-0 flex flex-col`,children:[(0,G.jsxs)(`div`,{ref:l,className:`min-h-0 flex-1 overflow-y-auto overflow-x-hidden`,children:[(0,G.jsx)(`div`,{className:`sticky top-0 z-10 border-b border-border-muted/30 bg-bg-primary/95 backdrop-blur-sm`,children:(0,G.jsxs)(`div`,{className:`mx-auto flex max-w-3xl items-center gap-2 px-4 py-3 sm:px-6`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:r,className:`rounded-md p-1.5 text-text-tertiary transition-colors hover:bg-bg-secondary hover:text-text-secondary`,title:i(`relay.back`),"aria-label":i(`relay.back`),children:(0,G.jsx)(jn,{size:16})}),(0,G.jsx)(JB,{seed:m,size:20}),(0,G.jsx)(`span`,{className:`max-w-[160px] truncate text-[14px] font-medium text-text-primary`,children:p}),(0,G.jsx)(An,{size:13,className:`shrink-0 text-text-tertiary`,"aria-hidden":!0}),(0,G.jsx)(JB,{seed:f,size:20}),(0,G.jsx)(`span`,{className:`max-w-[160px] truncate text-[14px] font-medium text-text-primary`,children:d})]})}),(0,G.jsx)(`div`,{className:`px-4 pb-8 pt-4 sm:px-6`,children:(0,G.jsx)(`div`,{className:`mx-auto flex max-w-3xl flex-col`,children:h.length===0?(0,G.jsx)(`div`,{className:`py-20 text-center text-[13px] text-text-tertiary`,children:i(`relay.empty`)}):h.map(e=>{let t=e.direction===`out`,n=t?p:d,r=t?m:f,i=e.timestamp?bH(e.timestamp):null,a=i&&i!==g&&e.timestamp?yH(e.timestamp,u):null;return i&&(g=i),(0,G.jsxs)(`div`,{children:[a&&(0,G.jsx)(SH,{label:a}),(0,G.jsxs)(`div`,{className:`mb-4 flex items-start gap-2`,children:[(0,G.jsx)(JB,{seed:r,size:28}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`mb-1 flex items-baseline gap-2`,children:[(0,G.jsx)(`span`,{className:`text-[12px] text-text-tertiary`,children:n}),e.summary&&(0,G.jsx)(`span`,{className:`truncate text-[11px] text-text-tertiary opacity-70`,children:e.summary})]}),(0,G.jsx)(`div`,{className:`inline-block max-w-full rounded-lg rounded-tl-sm bg-bg-secondary px-3 py-2`,children:(0,G.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-[13px] text-text-primary`,children:e.text})})]})]})]},e.id)})})})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center justify-center gap-3 border-t border-border-muted/30 px-4 py-3 text-[12px] text-text-tertiary`,children:[(0,G.jsx)(`span`,{children:i(`relay.viewOnly`)}),(0,G.jsx)(`button`,{type:`button`,onClick:r,className:`rounded-full bg-bg-secondary px-3 py-1 text-[12px] text-text-secondary transition-colors hover:bg-bg-hover hover:text-text-primary`,children:i(`relay.close`)})]})]})}function j6(e){return e.name||v1(e.intent||``)||e.id.slice(0,8)}function M6({onCreateNew:e,onOpenAgent:t,onOpenRun:n,onOpenRoom:r,compose:i=`invite`,onCreateChannel:a}){let{t:o}=R(),s=Z(e=>e.agents),c=Z(e=>e.groups),l=Z(e=>e.defaultAgentId),u=Z(e=>e.jobAssignments),d=zl(e=>e.jobs),[f,p]=(0,V.useState)([]);(0,V.useEffect)(()=>{i!==`channel`&&Z.getState().setPendingRecipients(f.map(e=>({kind:e.kind,id:e.id,name:e.name,homeCwd:e.kind===`run`?e.job.cwd||void 0:e.agent.homeCwd})))},[i,f]);let[m,h]=(0,V.useState)(``),[g,_]=(0,V.useState)(0),[v,y]=(0,V.useState)(!1),[b,x]=(0,V.useState)(!1),[S,C]=(0,V.useState)(!1),w=(0,V.useRef)(null),T=(0,V.useRef)(null),E=(0,V.useRef)(r1()),D=(0,V.useMemo)(()=>new Set(f.map(e=>e.id)),[f]),ee=(0,V.useMemo)(()=>new Map(s.map(e=>[e.id,e.avatarVariant])),[s]),O=(0,V.useMemo)(()=>{let e=new Set(s.map(e=>e.primaryJobId).filter(Boolean));return Nt(d,u,l).filter(t=>!e.has(t.id))},[s,l,u,d]),k=(0,V.useMemo)(()=>{let e=m.trim().toLowerCase(),t=t=>!e||t.toLowerCase().includes(e),n=f.length>0,r=f.some(e=>e.kind===`agent`&&!kp(e.agent.id,l,e.agent.engine)),a=s.filter(e=>e.visibility!==`hidden`&&!D.has(e.id)&&t(`${e.name} ${e.title??``} ${e.homeCwd??``} ${e.id}`)&&(i===`channel`?Ap(e.id,l,e.engine):!n||kp(e.id,l,e.engine)&&!r));if(i===`channel`){let e=O.filter(e=>!D.has(e.id)&&t(j6(e)));return[...a.map(e=>({kind:`agent`,agent:e})),...e.map(e=>({kind:`run`,job:e}))]}let o=O.filter(e=>!D.has(e.id)&&t(j6(e))),u=f.length>0?[]:Lt(c.filter(e=>{if(e.visibility===`hidden`)return!1;let t=Xt(e.memberAgentIds,new Map(s.map(e=>[e.id,e]))).map(e=>e.name);return zt(e.name,t,m)}));return[...e?[]:[{kind:`new`}],...a.map(e=>({kind:`agent`,agent:e})),...o.map(e=>({kind:`run`,job:e})),...u.map(e=>({kind:`room`,group:e}))]},[s,i,l,c,f.length,D,m,O]);(0,V.useEffect)(()=>{_(e=>e<k.length?e:0)},[k.length]);let A=(0,V.useMemo)(()=>new Map(s.map(e=>[e.id,e])),[s]),te=(0,V.useCallback)(async e=>{if(e.length===0)return;if(i===`channel`){y(!0);try{let t=[];for(let n of e){let e=n.kind===`agent`?n.id:await Z.getState().promoteRun(n.id,{name:n.name,homeCwd:n.job.cwd||void 0});if(!e){W.error(o(`agentHome.opFailed`));return}t.push(e)}let n=new Map(s.map(e=>[e.id,e])),r=[...new Set(t)],i=r.filter(e=>Ap(e,l,n.get(e)?.engine));if(r.some(e=>e===l)?W.info(o(`agentHome.team.defaultBlocked`)):i.length!==r.length&&W.info(o(`agentHome.room.minimalBlocked`)),i.length<2){W.info(o(`agentHome.channel.needTwo`));return}if(i.length>6){W.info(o(`agentHome.channel.pickHint`));return}await a?.(i)}finally{y(!1)}return}if(e.length===1){let r=e[0];r.kind===`agent`?t(r.agent):n(r.job);return}y(!0);let c;try{let t=[];for(let n of e){let e=n.kind===`agent`?n.id:await Z.getState().promoteRun(n.id,{name:n.name,homeCwd:n.job.cwd||void 0});if(!e){W.error(o(`agentHome.opFailed`));return}t.push(e)}c=[...new Set(t)]}finally{y(!1)}if(c.length<2)return;let u=new Map(s.map(e=>[e.id,e]));if(c.some(e=>!kp(e,l,u.get(e)?.engine))){W.info(c.some(e=>e===l)?o(`agentHome.team.defaultBlocked`):o(`agentHome.room.minimalBlocked`));return}y(!0);try{let e=await Z.getState().ensureRoom(c.map(e=>({kind:`agent`,id:e})));if(e){r(e);return}W.info(o(`agentHome.room.full`))}finally{y(!1)}},[s,i,l,a,t,n,r,o]),j=(0,V.useCallback)(t=>{if(t.kind===`new`){e();return}if(t.kind===`room`){r(t.group);return}if(f.length>=6){W.info(o(i===`channel`?`agentHome.channel.pickHint`:`agentHome.room.full`));return}if(i===`channel`&&t.kind===`agent`&&!Ap(t.agent.id,l,t.agent.engine)){W.info(t.agent.id===l?o(`agentHome.team.defaultBlocked`):o(`agentHome.room.minimalBlocked`));return}if(i!==`channel`&&f.length>0&&t.kind===`agent`&&(f.some(e=>e.kind===`agent`&&!kp(e.agent.id,l,e.agent.engine))||!kp(t.agent.id,l,t.agent.engine))){W.info(t.agent.id===l?o(`agentHome.team.defaultBlocked`):o(`agentHome.room.minimalBlocked`));return}let n=t.kind===`agent`?{kind:`agent`,id:t.agent.id,name:t.agent.name,agent:t.agent}:{kind:`run`,id:t.job.id,name:j6(t.job),job:t.job};p(e=>[...e,n]),h(``),_(0),w.current?.focus()},[i,l,e,r,f.length,o]),ne=(0,V.useCallback)(e=>{if(E.current.shouldBlockSendOnEnter({key:e.key,isComposing:e.nativeEvent.isComposing,keyCode:e.nativeEvent.keyCode}))return;let t=k[g];if(e.key===`ArrowDown`){e.preventDefault(),_(e=>(e+1)%Math.max(k.length,1));return}if(e.key===`ArrowUp`){e.preventDefault(),_(e=>(e-1+k.length)%Math.max(k.length,1));return}if(e.key===`Tab`&&t){e.preventDefault(),j(t);return}if(e.key===`Enter`){if(e.preventDefault(),m.trim()&&t){j(t);return}if(f.length>0){te(f).catch(()=>W.error(o(`agentHome.opFailed`)));return}t&&j(t);return}e.key===`Backspace`&&!m&&f.length>0&&p(e=>e.slice(0,-1))},[j,k,g,te,f,m,o]),re=(0,V.useCallback)(e=>{let t=Ht();if(t&&t.kind!==`member`){if(t.kind===`agent`&&(i===`channel`||f.length>0)){let n=A.get(t.id),r=Op(t.id,l,n?.engine);if(r){e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`none`,Gt({reason:r,x:e.clientX,y:e.clientY}),x(!1);return}}Gt(null),e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,x(!0)}},[A,i,l,f.length]),ie=(0,V.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),x(!1);let t=Wt(e.dataTransfer);if(!t)return;if(t.kind===`room`){let e=c.find(e=>e.id===t.id);e&&r(e);return}if(!nn(t)||D.has(t.id))return;if(t.kind===`agent`){let e=s.find(e=>e.id===t.id);e&&j({kind:`agent`,agent:e});return}let n=d.find(e=>e.id===t.id);n&&j({kind:`run`,job:n})},[j,s,c,d,r,D]),M=S&&k.length>0;return(0,G.jsxs)(`div`,{ref:T,className:`recipient-bar${M?` recipient-bar-open`:``}${b?` home-roster-hot`:``}`,onFocusCapture:()=>C(!0),onBlurCapture:e=>{let t=e.relatedTarget;T.current?.contains(t)||C(!1)},children:[(0,G.jsxs)(`div`,{className:`recipient-row`,onDragOver:re,onDragEnter:re,onDragLeave:()=>x(!1),onDrop:ie,children:[(0,G.jsx)(bi,{size:15,className:`recipient-search-icon`,"aria-hidden":!0}),f.map(e=>(0,G.jsxs)(`span`,{className:`recipient-chip`,children:[(0,G.jsx)(JB,{seed:e.id,variant:e.kind===`agent`?e.agent.avatarVariant:void 0,size:18}),(0,G.jsx)(`span`,{className:`recipient-chip-name`,children:e.name}),(0,G.jsx)(`button`,{type:`button`,onClick:()=>p(t=>t.filter(t=>t.id!==e.id)),title:o(`agentHome.recipient.remove`),"aria-label":`${o(`agentHome.recipient.remove`)} — ${e.name}`,children:(0,G.jsx)(Ri,{size:11})})]},e.id)),(0,G.jsx)(`input`,{ref:w,value:m,onChange:e=>{h(e.target.value),_(0)},onKeyDown:ne,onCompositionStart:()=>E.current.onCompositionStart(),onCompositionEnd:()=>E.current.onCompositionEnd(),placeholder:f.length>0?o(`agentHome.recipient.more`):o(i===`channel`?`agentHome.channel.pickPlaceholder`:`agentHome.recipient.placeholder`),"aria-label":o(`agentHome.recipient.label`),autoComplete:`off`,className:`recipient-input`}),f.length>0&&(0,G.jsx)(`button`,{type:`button`,className:`recipient-open`,disabled:v,onClick:()=>{te(f).catch(()=>W.error(o(`agentHome.opFailed`)))},children:i===`channel`?o(`agentHome.channel.create`):f.length>1?o(`agentHome.recipient.openRoom`):o(`agentHome.recipient.open`)})]}),M&&(0,G.jsx)(`div`,{className:`recipient-list`,role:`listbox`,children:k.map((e,t)=>{let n=t===g,r=k[t-1],a=e.kind===r?.kind?null:e.kind===`agent`?o(`agentHome.recipient.sectionPeople`):e.kind===`run`?o(`agentHome.recipient.sectionRuns`):e.kind===`room`?o(`agentHome.recipient.sectionRooms`):null,s=e.kind===`new`?`new`:e.kind===`agent`?`a:${e.agent.id}`:e.kind===`run`?`r:${e.job.id}`:`g:${e.group.id}`;return(0,G.jsxs)(V.Fragment,{children:[a&&(0,G.jsx)(`div`,{className:`recipient-section`,children:a}),(0,G.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":n,onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>_(t),onClick:()=>j(e),className:`recipient-option${n?` active`:``}`,children:[e.kind===`new`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`recipient-option-icon`,children:(0,G.jsx)(di,{size:14})}),(0,G.jsx)(`span`,{className:`recipient-option-name`,children:o(`agentHome.recipient.createNew`)})]}):e.kind===`agent`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(JB,{seed:e.agent.id,variant:e.agent.avatarVariant,size:22,primary:e.agent.id===l}),(0,G.jsxs)(`span`,{className:`recipient-option-name`,children:[e.agent.name,i===`channel`?(0,G.jsx)(`span`,{className:`ml-1 font-mono text-[11px] text-text-tertiary`,children:e.agent.id.slice(0,8)}):null]}),D.has(e.agent.id)&&(0,G.jsx)(Rn,{size:12})]}):e.kind===`run`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(JB,{seed:e.job.id,size:22}),(0,G.jsx)(`span`,{className:`recipient-option-name`,children:j6(e.job)}),(0,G.jsx)(`span`,{className:`recipient-option-hint`,children:o(`agentHome.recipient.runHint`)})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(n0,{memberAgentIds:e.group.memberAgentIds,memberAvatarVariants:ee,size:22}),(0,G.jsx)(`span`,{className:`recipient-option-name`,children:e.group.name}),(0,G.jsx)(`span`,{className:`recipient-option-hint`,children:Xt(e.group.memberAgentIds,A).map(e=>e.name).join(`、`)})]}),n&&(0,G.jsx)(`span`,{className:`recipient-option-key`,children:e.kind===`agent`||e.kind===`run`?o(`agentHome.recipient.tabAdd`):o(`agentHome.recipient.enterOpen`)})]})]},s)})}),f.length>0&&(0,G.jsxs)(`div`,{className:`recipient-hint`,children:[i===`channel`?o(`agentHome.channel.pickHintBar`):f.length>1?o(`agentHome.recipient.roomHint`):o(`agentHome.recipient.soloHint`),(0,G.jsx)(bi,{size:11,className:`opacity-0`,"aria-hidden":!0})]})]})}var N6=`/api/v1/sessions/pins`,P6=class extends Error{status;code;constructor(e,t){super(e),this.name=`SessionPinsApiError`,this.status=t.status,this.code=t.code}};async function F6(e){let t=await e.json().catch(()=>({}));if(!e.ok)throw new P6(t.error?.message||`HTTP ${e.status}`,{status:e.status,code:t.error?.code});let n=t.data?.pinned;if(!Array.isArray(n))throw new P6(`Unexpected response from ${N6}: missing data.pinned`,{status:e.status,code:`INVALID_RESPONSE`});return n}async function I6(e,t,n){return F6(await ze(`${N6}?cwd=${encodeURIComponent(e)}`,{method:`PUT`,headers:Je({"Content-Type":`application/json`,Accept:`application/json`}),body:JSON.stringify({sessionId:t,pinned:n})},{maxRetries:0}))}var L6=`pinned`,R6=`today`,z6=`yesterday`;function B6(e,t=Date.now()){let n=new Date(e),r=new Date(t),i=new Date(r.getFullYear(),r.getMonth(),r.getDate()),a=new Date(r.getFullYear(),r.getMonth(),r.getDate()-1),o=new Date(n.getFullYear(),n.getMonth(),n.getDate());if(o.getTime()===i.getTime())return R6;if(o.getTime()===a.getTime())return z6;let s=String(n.getMonth()+1).padStart(2,`0`),c=String(n.getDate()).padStart(2,`0`);return`${n.getFullYear()}-${s}-${c}`}function V6(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)):e}function H6(e,t=Date.now()){let n=(e,t)=>t.updatedAt-e.updatedAt,r=e.filter(e=>e.pinned).sort(n),i=e.filter(e=>!e.pinned).sort(n),a=[];r.length>0&&a.push({key:L6,sessions:r});for(let e of i){let n=B6(e.updatedAt,t),r=a[a.length-1];r&&r.key===n?r.sessions.push(e):a.push({key:n,sessions:[e]})}return a}function U6(e){return e.flatMap(e=>e.sessions.map(e=>e.sessionId))}function W6({clientWidth:e,paddingX:t,cardWidth:n,cardGap:r}){let i=n+r;if(!Number.isFinite(e)||!Number.isFinite(t)||!Number.isFinite(i)||i<=0)return 1;let a=e-t;return Math.max(1,Math.floor((a+r)/i))}function G6({groups:e,columns:t,selectedId:n,key:r}){let i=U6(e);if(i.length===0)return null;if(n===null)return i[0];let a=J6(e,n);if(!a)return i[0];if(r===`ArrowLeft`||r===`ArrowRight`){let e=i.indexOf(n),t=r===`ArrowRight`?e+1:e-1;return t<0||t>=i.length?n:i[t]}let o=Math.max(1,Math.trunc(t)||1),{groupIndex:s,indexInGroup:c}=a,l=c%o,u=Math.floor(c/o);if(r===`ArrowDown`){let t=e[s].sessions,r=(u+1)*o,i=r+l;if(r<t.length)return t[Math.min(i,t.length-1)].sessionId;let a=q6(e,s,1);return a?a.sessions[Math.min(l,a.sessions.length-1)].sessionId:n}if(u>0){let t=(u-1)*o+l;return e[s].sessions[t].sessionId}let d=q6(e,s,-1);if(!d)return n;let f=Math.floor((d.sessions.length-1)/o)*o+l;return d.sessions[Math.min(f,d.sessions.length-1)].sessionId}function K6({groups:e,selectedId:t,backward:n}){let r=U6(e);if(r.length===0)return null;let i=t===null?-1:r.indexOf(t);return i<0?n?r[r.length-1]:r[0]:r[(i+(n?-1:1)+r.length)%r.length]}function q6(e,t,n){for(let r=t+n;r>=0&&r<e.length;r+=n)if(e[r].sessions.length>0)return e[r]}function J6(e,t){for(let n=0;n<e.length;n++){let r=e[n].sessions.findIndex(e=>e.sessionId===t);if(r>=0)return{groupIndex:n,indexInGroup:r}}}function Y6({key:e,searchFocused:t,queryEmpty:n}){return e===`ArrowUp`||e===`ArrowDown`?`grid`:t&&!n?`text-cursor`:`grid`}function X6({key:e,metaKey:t,ctrlKey:n,altKey:r,shiftKey:i,searchFocused:a}){return(t||n)&&!r&&!i&&e.toLowerCase()===`f`?`focus-search`:e===`/`&&!t&&!n&&!r?a?`none`:`focus-search`:`none`}function Z6({rawName:e,previousLabel:t}){let n=e.trim();return!n||n===t?null:n}function Q6(e){if(!(e.metaKey||e.ctrlKey)||!e.shiftKey||e.altKey)return`none`;let t=e.key.toLowerCase();return t===`p`?`swallow-command-palette`:t===`s`?`close-panel`:`none`}function $6({key:e,metaKey:t,searchFocused:n,queryEmpty:r}){return n&&!r?`none`:e===`Delete`||e===`Backspace`&&t?`delete-session`:`none`}function e8(e){return e.renaming?`cancel-rename`:e.confirmOpen?`close-confirm`:e.menuOpen?`close-menu`:e.queryEmpty?e.searchFocused?`blur-search`:`close-panel`:`clear-query`}var t8=`flex h-[172px] w-[320px] shrink-0 flex-col gap-3 overflow-hidden rounded-xl bg-bg-card px-[22px] py-[16px] outline-none focus-visible:outline-none transition-[box-shadow,background-color] duration-fast hover:bg-bg-hover`,n8=`ml-1 flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-text-secondary transition-colors duration-fast hover:bg-bg-hover-strong hover:text-text-primary`;function r8({id:e,session:t,selected:n,busy:r,isCurrent:i,time:a,onSelect:o,onOpenMenu:s,editing:c}){let{t:l}=R();return(0,G.jsxs)(`div`,{id:e,role:`option`,"aria-selected":n,"aria-busy":r||void 0,"aria-current":i||void 0,tabIndex:-1,"data-session-id":t.sessionId,onClick:o,onContextMenu:e=>{e.preventDefault(),s(e)},className:[t8,`cursor-pointer`,n?`shadow-[shadow:var(--shadow-session-card-selected)] ring-1 ring-inset ring-accent-blue`:`shadow-[shadow:var(--shadow-session-card)] ring-1 ring-inset ring-border-card`,n?``:`hover:shadow-[shadow:var(--shadow-session-card-hover)]`,r?`opacity-60`:``].join(` `),children:[(0,G.jsx)(`div`,{className:`flex items-start gap-2`,children:c?(0,G.jsx)(`div`,{className:`flex min-w-0 flex-1`,children:c}):(0,G.jsxs)(G.Fragment,{children:[t.pinned&&(0,G.jsx)(ci,{size:14,className:`mt-0.5 shrink-0 text-accent-orange`,"aria-hidden":!0}),(0,G.jsx)(`h3`,{className:`min-w-0 flex-1 truncate text-[15px] font-semibold leading-5 text-text-primary`,children:t.label}),i&&(0,G.jsx)(`span`,{className:`shrink-0 rounded bg-bg-tertiary px-1.5 text-[11px] leading-5 text-text-secondary`,children:l(`history.current`)}),(0,G.jsx)(`span`,{className:`shrink-0 text-[12px] tabular-nums leading-5 text-text-secondary`,children:a}),(0,G.jsx)(`button`,{type:`button`,"aria-label":l(`sessionSwitcher.more`),onClick:e=>{e.stopPropagation(),s(e)},className:n8,children:(0,G.jsx)(dr,{size:14})})]})}),(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3`,children:[(0,G.jsx)(a8,{srLabel:l(`sessionSwitcher.firstQuestion`),prefix:l(`sessionSwitcher.firstQuestionPrefix`),text:t.firstUserMessage}),(0,G.jsx)(a8,{srLabel:l(`sessionSwitcher.lastQuestion`),prefix:l(`sessionSwitcher.lastQuestionPrefix`),text:t.lastUserMessage})]})]})}var i8=`mr-1.5 rounded-sm bg-bg-chip px-1.5 py-[1px] align-baseline text-[11px] text-text-label`;function a8({srLabel:e,prefix:t,text:n}){return(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`span`,{className:`sr-only`,children:e}),(0,G.jsxs)(`p`,{className:`line-clamp-2 text-[13px] leading-5 text-text-body`,children:[(0,G.jsx)(`span`,{"aria-hidden":!0,className:i8,children:t}),n||`\xA0`]})]})}var o8=`flex h-[172px] w-[320px] shrink-0 flex-col gap-3 rounded-xl bg-bg-card px-[22px] py-[16px] ring-1 ring-inset ring-border-card shadow-[shadow:var(--shadow-session-card-skeleton)]`;function s8({lines:e=4,dimmed:t=!1}){let n=[`w-[220px]`,`w-[180px]`,`w-[200px]`,`w-[160px]`];return(0,G.jsxs)(`div`,{"aria-hidden":!0,className:[o8,t?`opacity-50`:``].join(` `),children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(`div`,{className:`skeleton-shimmer h-[11px] w-[120px] rounded-sm`}),(0,G.jsx)(`div`,{className:`skeleton-shimmer h-[11px] w-[28px] rounded-sm`})]}),Array.from({length:e},(e,t)=>(0,G.jsx)(`div`,{className:`skeleton-shimmer h-[11px] rounded-sm ${n[t%n.length]}`},`skeleton-line-${t}`))]})}function c8({menu:e,onClose:t,onRename:n,onTogglePin:r,onDelete:i}){let{t:a}=R(),o=(0,V.useRef)(null);return(0,V.useLayoutEffect)(()=>{let t=o.current;t&&(OE(t,e.x,e.y),t.focus())},[e.x,e.y]),(0,V.useEffect)(()=>kE({onClose:t,isInside:e=>DE(e,o.current)}),[t]),(0,mp.createPortal)((0,G.jsxs)(`div`,{ref:o,tabIndex:-1,role:`menu`,onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),className:`fixed z-[210] w-[180px] rounded-xl border border-border-default bg-bg-card p-1.5 shadow-lg outline-none`,children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{t(),n(e.sessionId)},className:f1,children:[(0,G.jsx)(oi,{size:12}),a(`history.rename`)]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{t(),r(e.sessionId,!e.pinned)},className:f1,children:[e.pinned?(0,G.jsx)(si,{size:12}):(0,G.jsx)(ci,{size:12}),a(e.pinned?`sessionSwitcher.unpin`:`sessionSwitcher.pin`)]}),(0,G.jsx)(`div`,{className:`my-1 h-px bg-border-muted`,role:`separator`}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:e.isCurrent,title:e.isCurrent?a(`sessionSwitcher.deleteCurrentHint`):void 0,onClick:()=>{t(),i(e.sessionId)},className:`${f1} text-accent-red hover:text-accent-red disabled:cursor-not-allowed disabled:opacity-40`,children:[(0,G.jsx)(Mi,{size:12}),a(`history.delete`)]})]}),document.body)}var l8=20,u8=320,d8=16,f8=[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`],p8=16,m8=`session-switcher-listbox`,h8=e=>`session-switcher-option-${e}`,g8=`h-7 min-w-0 flex-1 rounded-md border border-accent-blue bg-bg-primary px-1.5 text-[15px] font-semibold text-text-primary outline-none`,_8=`flex h-[34px] w-[220px] items-center gap-1.5 rounded-lg bg-bg-tertiary px-2.5 ring-1 ring-inset ring-border-field transition-shadow duration-fast focus-within:ring-border-field-focus`,v8=`ml-auto flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-bg-tertiary text-text-secondary ring-1 ring-inset ring-border-default transition-colors duration-fast hover:bg-bg-hover-strong hover:text-text-primary focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus-ring`,y8=`rounded-lg bg-bg-tertiary px-4 py-1.5 text-[13px] text-text-primary ring-1 ring-inset ring-border-default transition-colors duration-fast hover:bg-bg-hover-strong focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus-ring`,b8=`mt-1 rounded-md px-2 py-1 text-[12px] text-accent-blue transition-colors duration-fast hover:bg-info-bg focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus-ring`,x8=[{lines:4,dimmed:!1},{lines:4,dimmed:!1},{lines:4,dimmed:!1},{lines:2,dimmed:!0},{lines:3,dimmed:!0},{lines:2,dimmed:!0}];function S8({isOpen:e,onClose:t,projectCwd:n,activeSessionId:r,onOpenSession:i}){let{t:a,resolved:o}=R(),s=U(e=>e.sessionId),c=r===void 0?s:r,l=Tt(e=>e.cwd),u=n??l??``,[d,f]=(0,V.useState)([]),[p,m]=(0,V.useState)(!0),[h,g]=(0,V.useState)(null),[_,v]=(0,V.useState)(!1),[y,b]=(0,V.useState)(0),[x,S]=(0,V.useState)(!1),[C,w]=(0,V.useState)(``),[T,E]=(0,V.useState)(``),[D,ee]=(0,V.useState)(null),[O,k]=(0,V.useState)(null),[A,te]=(0,V.useState)(null),[j,ne]=(0,V.useState)(null),[re,ie]=(0,V.useState)(null),[M,ae]=(0,V.useState)(4),[N,oe]=(0,V.useState)(!1),[se,ce]=(0,V.useState)(()=>Date.now()),le=(0,V.useRef)(null),P=(0,V.useRef)(null),F=(0,V.useRef)(null),ue=(0,V.useRef)(0),de=(0,V.useRef)(!1),fe=(0,V.useRef)(!1),pe=(0,V.useRef)(!1),me=(0,V.useMemo)(()=>H6(V6(d,T),se),[d,T,se]),he=(0,V.useMemo)(()=>U6(me),[me]),ge=!p&&!h&&me.length>0,I=(0,V.useCallback)(e=>{w(e),pe.current||E(e)},[]),_e=(0,V.useCallback)(e=>{pe.current=!1,w(e),E(e)},[]),ve=(0,V.useCallback)(()=>{pe.current=!1,w(``),E(``)},[]),ye=(0,V.useCallback)(async()=>{let e=++ue.current;if(!u){f([]),m(!1);return}m(!0),g(null);try{let t=await ml(u,{includeAttached:!0,offset:0,limit:l8});if(e!==ue.current)return;f(t.candidates),v(t.hasMore),b(t.nextOffset??t.candidates.length)}catch(t){e===ue.current&&g(t instanceof Error?t.message:String(t))}finally{e===ue.current&&m(!1)}},[u]),be=(0,V.useCallback)(async()=>{if(!u||!_||de.current||T.trim())return;let e=ue.current;de.current=!0,S(!0);try{let t=await ml(u,{includeAttached:!0,offset:y,limit:l8});if(e!==ue.current)return;f(e=>{let n=new Set(e.map(e=>e.sessionId));return e.concat(t.candidates.filter(e=>!n.has(e.sessionId)))}),v(t.hasMore),b(t.nextOffset??y+t.candidates.length)}catch(t){e===ue.current&&W.error(t instanceof Error?t.message:String(t))}finally{de.current=!1,S(!1)}},[u,_,y,T]);(0,V.useEffect)(()=>{e&&ye().catch(()=>{})},[e,ye]),(0,V.useEffect)(()=>{e&&(ce(Date.now()),E(``),w(``),pe.current=!1,te(null),ne(null),ie(null),oe(!1),F.current?.focus())},[e]),(0,V.useEffect)(()=>{if(he.length===0){ee(null);return}ee(e=>e&&he.includes(e)?e:he[0])},[he]),(0,V.useEffect)(()=>{if(e)return A0.suspend(),()=>A0.resume()},[e]),(0,V.useLayoutEffect)(()=>{if(!e)return;let t=le.current;if(!t)return;let n=()=>{let e=window.getComputedStyle(t),n=Number.parseFloat(e.paddingLeft)+Number.parseFloat(e.paddingRight);ae(W6({clientWidth:t.clientWidth,paddingX:n,cardWidth:u8,cardGap:d8}))};n();let r=new ResizeObserver(n);return r.observe(t),()=>r.disconnect()},[e]);let xe=(0,V.useCallback)(e=>le.current?.querySelector(`[data-session-id="${CSS.escape(e)}"]`)??null,[]);(0,V.useEffect)(()=>{if(!D)return;let e=xe(D);e&&(e.scrollIntoView({block:`nearest`}),!(A!==null||re!==null||j!==null||N)&&e.focus({preventScroll:!0}))},[D,ge,A,re,j,N,xe]);let Se=(0,V.useCallback)(e=>r2(e,c),[c]),Ce=(0,V.useCallback)((e,t,n)=>{ee(e.sessionId),te({sessionId:e.sessionId,pinned:e.pinned===!0,isCurrent:Se(e.sessionId),x:t,y:n})},[Se]),we=(0,V.useCallback)(async e=>{if(u&&!O){if(Se(e)){t();return}k(e);try{await i(e,u)&&(W.success(a(`history.restoreSuccess`)),t())}catch(e){console.error(`[session-switcher] Open failed:`,e),W.error(a(`history.restoreFailed`))}finally{k(null)}}},[u,Se,t,i,O,a]),Te=(0,V.useCallback)(async(e,t)=>{if(!u)return;let n=ue.current;f(n=>n.map(n=>n.sessionId===e?{...n,pinned:t}:n));try{await I6(u,e,t)}catch(r){console.error(`[session-switcher] Pin failed:`,r),n===ue.current&&f(n=>n.map(n=>n.sessionId===e?{...n,pinned:!t}:n)),W.error(a(`sessionSwitcher.pinFailed`))}},[u,a]),Ee=(0,V.useCallback)(async(e,t)=>{if(fe.current)return;fe.current=!0,ne(null);let n=d.find(t=>t.sessionId===e)?.label,r=Z6({rawName:t,previousLabel:n});if(r===null)return;let i=ue.current;f(t=>t.map(t=>t.sessionId===e?{...t,label:r}:t));try{await Z0(e,r)}catch(t){console.error(`[session-switcher] Rename failed:`,t),n!==void 0&&i===ue.current&&f(t=>t.map(t=>t.sessionId===e?{...t,label:n}:t)),W.error(a(`history.renameFailed`))}},[d,a]),L=(0,V.useCallback)(e=>{fe.current=!1,ne(e)},[]),De=(0,V.useCallback)(()=>{fe.current=!0,ne(null)},[]),Oe=(0,V.useCallback)(async()=>{let e=re;if(ie(null),!e)return;let t=ue.current;f(t=>t.filter(t=>t.sessionId!==e.sessionId));try{await Q0(e.sessionId,u||void 0)}catch(n){console.error(`[session-switcher] Delete failed:`,n),t===ue.current&&f(t=>[...t,e].sort((e,t)=>t.updatedAt-e.updatedAt)),W.error(a(`history.deleteFailed`))}},[u,re,a]),ke=(0,V.useCallback)(e=>{if(e.nativeEvent.isComposing)return;let n=Q6(e);if(n!==`none`){e.preventDefault(),e.stopPropagation(),n===`close-panel`&&t();return}if(e.key===`Escape`){e.preventDefault();let n=e8({renaming:j!==null,confirmOpen:re!==null,menuOpen:A!==null,queryEmpty:T.length===0,searchFocused:N});n===`cancel-rename`?De():n===`close-confirm`?ie(null):n===`close-menu`?te(null):n===`clear-query`?ve():n===`blur-search`?F.current?.focus():t();return}if(A===null&&re===null){if(e.key===`Tab`){if(e.preventDefault(),j!==null)return;let t=K6({groups:me,selectedId:D,backward:e.shiftKey});ee(t),t&&t===he[he.length-1]&&be().catch(()=>{});return}if(j===null){if(X6({key:e.key,metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,searchFocused:N})===`focus-search`){e.preventDefault(),P.current?.focus();return}if(f8.includes(e.key)){if(Y6({key:e.key,searchFocused:N,queryEmpty:T.length===0})===`text-cursor`)return;e.preventDefault();let t=G6({groups:me,columns:M,selectedId:D,key:e.key});ee(t),t&&t===he[he.length-1]&&be().catch(()=>{});return}if(e.key===`Enter`){e.preventDefault(),h?ye().catch(()=>{}):D&&we(D).catch(()=>{});return}if(e.key===`ContextMenu`||e.key===`F10`&&e.shiftKey){e.preventDefault();let t=d.find(e=>e.sessionId===D);if(!t)return;let n=xe(t.sessionId)?.getBoundingClientRect();Ce(t,(n?.left??0)+p8,(n?.top??0)+p8);return}if(e.key===`F2`){e.preventDefault(),D&&L(D);return}if($6({key:e.key,metaKey:e.metaKey,searchFocused:N,queryEmpty:T.length===0})===`delete-session`){e.preventDefault();let t=d.find(e=>e.sessionId===D);t&&!Se(t.sessionId)&&ie(t)}}}},[De,ve,M,re,h,ye,xe,me,Se,be,A,t,Ce,we,T,j,N,D,d,L,he]);if(!e)return null;let Ae=e=>e===`pinned`?a(`sessionSwitcher.groupPinned`):e===`today`?a(`sessionSwitcher.groupToday`):e===`yesterday`?a(`sessionSwitcher.groupYesterday`):e,je=e=>yH(e,o);return(0,mp.createPortal)((0,G.jsxs)(`div`,{ref:F,role:`dialog`,"aria-modal":`true`,"aria-label":a(`sessionSwitcher.title`),tabIndex:-1,onKeyDown:ke,className:`fixed inset-0 z-[200] flex flex-col bg-bg-secondary outline-none focus-visible:outline-none`,children:[(0,G.jsxs)(`header`,{className:`flex h-[72px] shrink-0 items-center gap-4 border-b border-border-muted px-12`,children:[(0,G.jsx)(`h2`,{className:`shrink-0 text-[22px] font-semibold text-text-primary`,children:a(`sessionSwitcher.title`)}),(0,G.jsxs)(`div`,{className:_8,children:[(0,G.jsx)(bi,{size:13,className:`shrink-0 text-text-secondary`}),(0,G.jsx)(`input`,{ref:P,value:C,onChange:e=>I(e.target.value),onCompositionStart:()=>{pe.current=!0},onCompositionEnd:e=>_e(e.currentTarget.value),onFocus:()=>oe(!0),onBlur:()=>oe(!1),placeholder:a(`sessionSwitcher.searchPlaceholder`),"aria-label":a(`sessionSwitcher.searchPlaceholder`),role:`combobox`,"aria-expanded":ge,"aria-controls":ge?m8:void 0,"aria-activedescendant":ge&&D?h8(D):void 0,"aria-autocomplete":`list`,"aria-keyshortcuts":`/`,autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`off`,spellCheck:!1,className:`min-w-0 flex-1 bg-transparent text-[13px] text-text-primary outline-none focus-visible:outline-none placeholder:text-text-secondary`})]}),(0,G.jsx)(`button`,{type:`button`,onClick:t,"aria-label":a(`sessionSwitcher.close`),className:v8,children:(0,G.jsx)(Ri,{size:16,strokeWidth:2.25})})]}),(0,G.jsx)(`div`,{ref:le,"aria-busy":p||void 0,className:`min-h-0 flex-1 overflow-y-auto px-12 pb-12 pt-8`,onScroll:e=>{let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight<160&&be().catch(()=>{})},children:p?(0,G.jsx)(`div`,{className:`flex flex-wrap gap-4`,children:x8.map((e,t)=>(0,G.jsx)(s8,{lines:e.lines,dimmed:e.dimmed},`skeleton-${t}`))}):h?(0,G.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20`,children:[(0,G.jsx)(`p`,{className:`text-[14px] text-text-body`,children:a(`history.loadError`)}),(0,G.jsx)(`button`,{type:`button`,onClick:()=>{ye().catch(()=>{})},className:y8,children:a(`history.retry`)})]}):me.length===0?(0,G.jsxs)(`div`,{className:`flex flex-col items-center gap-2.5 py-20`,children:[(0,G.jsx)(`p`,{className:`text-[14px] font-medium text-text-primary`,children:a(T?`sessionSwitcher.noSearchResult`:`history.noData`)}),T?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{className:`max-w-[420px] text-center text-[12px] leading-[18px] text-text-secondary`,children:a(`sessionSwitcher.noSearchResultHint`)}),(0,G.jsx)(`button`,{type:`button`,onClick:ve,className:b8,children:a(`sessionSwitcher.clearSearch`)})]}):(0,G.jsx)(`p`,{className:`text-[12px] leading-[18px] text-text-secondary`,children:a(`history.noDataHint`)})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{id:m8,role:`listbox`,"aria-label":a(`sessionSwitcher.title`),className:`flex flex-col gap-7`,children:me.map(e=>(0,G.jsxs)(`section`,{role:`group`,"aria-label":Ae(e.key),className:`flex flex-col gap-4`,children:[(0,G.jsx)(`h3`,{className:`text-[12px] font-semibold tracking-[0.06em] text-text-secondary`,children:Ae(e.key)}),(0,G.jsx)(`div`,{role:`presentation`,className:`flex flex-wrap gap-4`,children:e.sessions.map(e=>(0,G.jsx)(r8,{id:h8(e.sessionId),session:e,selected:e.sessionId===D,busy:O===e.sessionId,isCurrent:Se(e.sessionId),time:je(e.updatedAt),onSelect:()=>{ee(e.sessionId),we(e.sessionId).catch(()=>{})},onOpenMenu:t=>Ce(e,t.clientX,t.clientY),editing:j===e.sessionId?(0,G.jsx)(`input`,{autoFocus:!0,defaultValue:e.label,onFocus:e=>e.target.select(),onClick:e=>e.stopPropagation(),onKeyDown:t=>{t.nativeEvent.isComposing||(t.key===`Enter`?Ee(e.sessionId,t.target.value).catch(()=>{}):t.key===`Escape`&&De())},onBlur:t=>{Ee(e.sessionId,t.target.value).catch(()=>{})},"aria-label":a(`history.rename`),className:g8}):void 0},e.sessionId))})]},e.key))}),x&&(0,G.jsxs)(`div`,{className:`flex items-center justify-center gap-2 pt-8 text-text-secondary`,children:[(0,G.jsx)(Dt,{size:14,className:`animate-spin`}),(0,G.jsx)(`span`,{className:`text-[12px]`,children:a(`sessionSwitcher.loadMore`)})]})]})}),A&&(0,G.jsx)(c8,{menu:A,onClose:()=>te(null),onRename:L,onTogglePin:(e,t)=>{Te(e,t).catch(()=>{})},onDelete:e=>{let t=d.find(t=>t.sessionId===e);t&&ie(t)}}),re&&(0,G.jsx)(k1,{danger:!0,title:a(`history.delete`),message:`${re.label} — ${a(`history.deleteConfirm`)}`,confirmLabel:a(`history.deleteOk`),cancelLabel:a(`history.deleteCancel`),onConfirm:()=>{Oe().catch(()=>{})},onCancel:()=>ie(null)})]}),document.body)}function C8({onMenuClick:e,navOpen:t=!1,onSplitTerminal:n,onHistory:r,historyOpen:i=!1,historyAnchorRef:a,onNewChat:o,onCancelNewAgent:s,conversationChrome:c=!1,onToggleDock:l,dockOpen:u=!1,rightActions:d,newAgentMode:f=!1,agentTransitionMode:p=null,agentTransitionLabel:m,agentFrameNeedsInput:h=null,agentFrameRunning:g=null,agentFrameAcpStatus:_=null,agentFrameFault:v=null,conversationTitleOverride:y}){let{t:b}=R(),{topic:x,sessionId:S,sessionSwitching:C}=U(),w=zl(e=>e.jobs),T=zl(e=>e.selectedJobId),E=zl(e=>e.selectedJobTitle),{mainChatActive:D,mainAgentSessionId:ee,agentSessionIds:O}=Tp(),{isAgentRunning:k,hasPendingInterruption:A,timeline:te}=H(),{mainView:j,layout:ne,terminalTitle:re}=yt(),ie=Tt(e=>e.cwd),[M,ae]=(0,V.useState)(!1),N=(0,V.useRef)(null),[oe,se]=(0,V.useState)(!1),ce=(0,V.useRef)(null),le=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?`⌘⇧H`:`Ctrl+Shift+H`,P=c||j===`chat`,F=!P&&j===`terminal`,ue=St(ne)<4,de=D?void 0:w.find(e=>e.id===T),fe=(0,V.useMemo)(()=>new Set(te.flatMap(e=>(e.type===`question`&&e.status===`pending`||e.type===`interruption`&&!e.resolved)&&e.sessionId?[e.sessionId]:[])),[te]),pe=D?ee??S:T?O[T]??de?.sessionId??null:null,me=!!(pe&&fe.has(pe)),he=!D&&h===!0,ge=D?w.find(e=>!!(ee??S)&&e.sessionId===(ee??S)):void 0,I=de??ge,_e=y||Gw(x)||b(`chat.newChat`),ve=!D&&T?E||de?.name||v1(de?.intent||``)||b(`agents.instanceFallback`).replace(`{id}`,T.slice(0,8)):b(`sessions.currentTitle`),ye=()=>I?.state===`failed`?b(`agents.state.failed`):I?.state===`stopped`?b(`agents.state.stopped`):I&&W$(I)?b(`agents.state.completed`):!D&&v?b(Oe(v)):!D&&(_===`disconnected`||_===`error`)?b(`connection.disconnected`):me||he||D&&A||I?.status===`waiting`||I?.state===`blocked`||I?.waitingFor?b(`agents.group.attention`):D&&k||!D&&g===!0||g!==!1&&(I?.status===`busy`||I?.tempo===`active`)||g!==!1&&I?.state===`working`&&I?.status!==`idle`&&I?.tempo!==`idle`?b(`agents.group.working`):I?.state===`done`||I?.settled?b(`agents.state.completed`):b(`agents.state.idle`);(0,V.useEffect)(()=>{if(!M)return;let e=e=>{N.current&&!N.current.contains(e.target)&&ae(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[M]);let be=(0,V.useCallback)(e=>{ae(!1),n?.(e)},[n]);(0,V.useEffect)(()=>{if(!oe)return;let e=e=>{ce.current&&!ce.current.contains(e.target)&&se(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[oe]);let xe=(0,V.useCallback)(e=>{se(!1);let t=e===`markdown`?H3(te,{title:_e}):U3(te,{title:_e});LC(B3(e),t,e===`json`?`application/json`:`text/markdown`)},[te,_e]);return(0,G.jsxs)(`div`,{className:`app-status-bar sticky top-0 z-10 isolate flex h-14 flex-shrink-0 items-center bg-bg-primary px-3 text-xs transition-colors duration-200 sm:px-4`,role:`banner`,"aria-label":b(`sidebar.status`),children:[(0,G.jsx)(`div`,{className:`relative z-10 flex shrink-0 items-center gap-1`,children:e&&(0,G.jsx)(`button`,{type:`button`,onClick:e,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-text-tertiary transition-colors hover:bg-bg-hover hover:text-text-primary`,"aria-label":b(t?`layout.collapseSidebar`:`layout.expandSidebar`),title:b(t?`layout.collapseSidebar`:`layout.expandSidebar`),children:t?(0,G.jsx)(ei,{size:18}):(0,G.jsx)(ti,{size:18})})}),(0,G.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 z-0 flex justify-center px-[5.75rem] sm:px-24`,children:(0,G.jsxs)(`div`,{className:`pointer-events-auto flex min-w-0 max-w-full flex-col items-center text-center`,children:[(0,G.jsx)(`span`,{className:`max-w-full truncate text-[14px] font-medium text-text-primary`,children:(()=>{if(P)return f?y??b(`agentHome.defaultName`):!D&&T?ve:_e;switch(j){case`terminal`:return re||b(`terminal.title`);case`settings`:return b(`settings.title`);case`tasks`:return b(`scheduled.title`);case`canvas`:return b(`canvas.title`);case`plugins`:return b(`sidebar.nav.plugins`);case`workers`:return b(`workers.title`);case`metrics`:return b(`sidebar.metrics`);case`logs`:return b(`sidebar.logs`);case`docs`:return b(`sidebar.docs`);case`remote-control`:return b(`sidebar.remoteControl`);case`keybindings`:return b(`keybindings.title`);default:return``}})()}),P&&(0,G.jsx)(`span`,{className:`mt-0.5 block max-w-full truncate text-[10px] text-text-tertiary`,"aria-live":`polite`,"aria-atomic":`true`,children:f?b(`agentHome.hint`):I?.state===`failed`?[nm(I?.cwd??ie),b(`agents.state.failed`)].filter(Boolean).join(` · `):v?[nm(I?.cwd??ie),b(Oe(v))].filter(Boolean).join(` · `):m||(p===`creating`?b(`agents.phase.starting`):p===`restoring`?b(`agents.phase.resuming`):[nm(I?.cwd??ie),D?b(`sessions.currentTitle`):null,ye()].filter(Boolean).join(` · `))})]})}),(0,G.jsx)(`div`,{className:`relative z-10 ml-auto flex items-center`,children:d||(F?(0,G.jsxs)(`div`,{ref:N,className:`relative`,children:[(0,G.jsx)(`button`,{onClick:()=>ue&&ae(!M),className:`text-text-secondary transition-colors flex items-center justify-center w-8 h-8 rounded-full ${ue?`hover:text-text-primary hover:bg-bg-secondary`:`opacity-40 cursor-not-allowed`}`,title:ue?void 0:b(`terminal.maxPanes`),"aria-label":b(`terminal.split`),children:(0,G.jsx)(ir,{size:20})}),M&&(0,G.jsxs)(`div`,{className:`absolute right-0 top-full mt-1 bg-bg-secondary border border-border-muted rounded-lg shadow-lg py-1 z-50 min-w-[140px]`,children:[(0,G.jsxs)(`button`,{onClick:()=>be(`horizontal`),className:`w-full flex items-center gap-3 px-4 py-2.5 text-[13px] text-text-primary hover:bg-bg-hover transition-colors`,children:[(0,G.jsx)(ir,{size:16,className:`text-text-secondary`}),(0,G.jsx)(`span`,{children:b(`terminal.splitHorizontal`)})]}),(0,G.jsxs)(`button`,{onClick:()=>be(`vertical`),className:`w-full flex items-center gap-3 px-4 py-2.5 text-[13px] text-text-primary hover:bg-bg-hover transition-colors`,children:[(0,G.jsx)(gi,{size:16,className:`text-text-secondary`}),(0,G.jsx)(`span`,{children:b(`terminal.splitVertical`)})]})]})]}):P?(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[f&&s&&(0,G.jsx)(`button`,{onClick:s,className:`flex h-8 shrink-0 items-center whitespace-nowrap rounded-full px-3 text-[12px] text-text-tertiary transition-colors hover:bg-bg-hover hover:text-text-primary`,title:`${b(`agents.action.cancelNew`)} (Esc)`,"aria-label":b(`agents.action.cancelNew`),children:b(`agents.action.cancelNew`)}),o&&!f&&(0,G.jsx)(`button`,{onClick:o,disabled:!S||C,className:`flex h-8 w-8 items-center justify-center rounded-full text-text-tertiary transition-colors hover:bg-bg-hover hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-transparent`,title:b(`agents.action.newConversation`),"aria-label":b(`agents.action.newConversation`),children:(0,G.jsx)(Jr,{size:17})}),(0,G.jsx)(`button`,{ref:a,onClick:r,className:`flex h-8 w-8 items-center justify-center rounded-full transition-colors ${i?`bg-bg-hover text-text-primary`:`text-text-tertiary hover:bg-bg-hover hover:text-text-primary`}`,title:`${b(`recent.title`)} (${le})`,"aria-label":`${b(`recent.title`)} (${le})`,"aria-expanded":i,"aria-haspopup":`dialog`,children:(0,G.jsx)(Mr,{size:17})}),l&&!u&&(0,G.jsx)(`button`,{type:`button`,onClick:l,className:`relative flex h-8 w-8 items-center justify-center rounded-full text-text-tertiary transition-colors hover:bg-bg-hover hover:text-text-primary`,title:b(`dock.toggle`),"aria-label":b(`dock.toggle`),"aria-pressed":!1,children:(0,G.jsx)(ri,{size:17})}),(0,G.jsxs)(`div`,{ref:ce,className:`relative`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:()=>se(e=>!e),disabled:te.length===0,className:`flex h-8 w-8 items-center justify-center rounded-full transition-colors disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-transparent ${oe?`bg-bg-hover text-text-primary`:`text-text-tertiary hover:bg-bg-hover hover:text-text-primary`}`,title:b(`chat.exportTitle`),"aria-label":b(`chat.exportTitle`),"aria-expanded":oe,"aria-haspopup":`menu`,children:(0,G.jsx)(lr,{size:17})}),oe&&(0,G.jsxs)(`div`,{className:`absolute right-0 top-full z-50 mt-1 min-w-[170px] rounded-lg border border-border-muted bg-bg-secondary py-1 shadow-lg`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:()=>xe(`markdown`),className:`flex w-full items-center gap-3 px-4 py-2.5 text-[13px] text-text-primary transition-colors hover:bg-bg-hover`,children:(0,G.jsx)(`span`,{children:b(`chat.exportMarkdown`)})}),(0,G.jsx)(`button`,{type:`button`,onClick:()=>xe(`json`),className:`flex w-full items-center gap-3 px-4 py-2.5 text-[13px] text-text-primary transition-colors hover:bg-bg-hover`,children:(0,G.jsx)(`span`,{children:b(`chat.exportJson`)})})]})]})]}):null)})]})}var w8=1e5;function T8(e){if(!Array.isArray(e))return[];let t=[],n=null;for(let r of e)if(r.sessionUpdate===`user_message_chunk`){n&&=(t.push(n),null);let e=r.content?.text||``;if(!e.trim())continue;t.push({type:`message`,id:`member-msg-${++w8}`,role:`user`,content:e,timestamp:Date.now()})}else if(r.sessionUpdate===`agent_message_chunk`){let e=r.content;if(e?.type===`thinking`)continue;let t=e?.text||``;if(!t)continue;n=n?{...n,content:n.content+t}:{type:`message`,id:`member-msg-${++w8}`,role:`assistant`,content:t,timestamp:Date.now()}}else if(r.sessionUpdate===`tool_call`){n&&=(t.push(n),null);let e=(r._meta||{})[`codebuddy.ai/toolName`]||``;t.push({type:`tool_call`,id:r.toolCallId||`member-tc-${++w8}`,name:r.title||e||r.kind||`tool`,kind:r.kind||`other`,toolName:e,input:r.rawInput||r.input,status:r.status===`completed`?`completed`:r.status===`failed`?`failed`:`running`,locations:r.locations,content:r.content})}else if(r.sessionUpdate===`tool_call_update`){let e=t.findIndex(e=>e.type===`tool_call`&&e.id===r.toolCallId);if(e!==-1){let n=t[e];t[e]={...n,status:r.status===`completed`?`completed`:r.status===`failed`?`failed`:n.status,result:r.rawOutput||r.toolResult||n.result,...r.content===void 0?{}:{content:r.content}}}}return n&&t.push(n),t}function E8(){let e=md(e=>e.focusedMemberName),t=md(e=>e.isInTeam),n=md(e=>e.memberHistories),r=md(e=>e.members),i=md(e=>e.setFocusedMember),a=(0,V.useRef)(null),o=r.find(t=>t.name===e),s=(0,V.useMemo)(()=>BB(r.map(e=>({id:e.name}))),[r]),c=e&&n[e]||[],l=(0,V.useMemo)(()=>pd(c),[c]),u=(0,V.useMemo)(()=>T8(l),[l]),d=(0,V.useMemo)(()=>OW(u),[u]);(0,V.useEffect)(()=>{a.current&&(a.current.scrollTop=a.current.scrollHeight)},[d]);let f=(0,V.useCallback)(()=>{i(null)},[i]),p=t&&(o?.status===`running`||o?.status===`pending`),m=o?.color?ZB(o.color):GB(o?.name||e||`member`),{t:h}=R();return(0,G.jsxs)(`div`,{ref:a,className:`absolute inset-0 overflow-y-auto overflow-x-hidden`,children:[(0,G.jsxs)(`div`,{className:`sticky top-0 z-10 border-b border-border-muted/30 bg-bg-primary/95 backdrop-blur-sm`,children:[(0,G.jsxs)(`div`,{className:`mx-auto max-w-3xl px-4 py-2.5 sm:px-6`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:f,className:`rounded-md p-1.5 text-text-tertiary transition-colors hover:bg-bg-secondary hover:text-text-secondary`,title:h(`team.backToMain`),children:(0,G.jsx)(jn,{size:16})}),(0,G.jsx)(JB,{seed:o?.name||e||`member`,variant:s.get(o?.name||e||`member`),size:22,color:m,mood:p?`busy`:`idle`}),(0,G.jsxs)(`span`,{className:`flex-shrink-0 text-[14px] font-semibold`,style:{color:m},children:[`@`,e]}),o?.description&&(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] text-text-tertiary`,children:o.description}),p&&(0,G.jsx)(Dt,{size:13,className:`flex-shrink-0 animate-spin`,style:{color:m}}),o&&(0,G.jsxs)(`span`,{className:`ml-auto hidden flex-shrink-0 text-[11px] text-text-tertiary sm:inline`,children:[o.toolCallCount?h(`team.tools`).replace(`{count}`,String(o.toolCallCount)):``,o.tokenUsage?.lastContextWindow?`${o.toolCallCount?` · `:``}${h(`team.tokens`).replace(`{count}`,String(Math.round(o.tokenUsage.lastContextWindow/1e3))+`k`)}`:``]})]}),r.length>1&&(0,G.jsx)(`div`,{className:`mt-2 flex gap-1.5 overflow-x-auto pb-0.5`,role:`navigation`,"aria-label":h(`team.switchMember`),children:r.map(n=>{let r=n.name===e,a=t&&(n.status===`running`||n.status===`pending`),o=n.color?ZB(n.color):GB(n.name);return(0,G.jsxs)(`button`,{type:`button`,onClick:()=>i(n.name),"aria-pressed":r,className:`inline-flex flex-shrink-0 items-center gap-1.5 rounded-md px-2 py-1 text-[11px] transition-colors ${r?`bg-bg-secondary`:`text-text-tertiary hover:bg-bg-hover hover:text-text-secondary`}`,style:r?{boxShadow:`inset 0 0 0 1px ${o}55`,color:o}:void 0,children:[(0,G.jsx)(JB,{seed:n.name,variant:s.get(n.name),size:17,color:o,mood:a?`busy`:`idle`}),(0,G.jsxs)(`span`,{className:`font-medium`,children:[`@`,n.name]}),a&&(0,G.jsx)(Dt,{size:9,className:`animate-spin`,style:{color:o}})]},n.name)})})]}),(0,G.jsx)(`div`,{className:`max-w-3xl mx-auto px-4 sm:px-6`,children:(0,G.jsx)(Qf,{})})]}),(0,G.jsx)(`div`,{className:`px-4 sm:px-6 pt-4 pb-8`,children:(0,G.jsxs)(`div`,{className:`max-w-3xl mx-auto flex flex-col`,children:[p&&d.length===0?(0,G.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-20 text-text-tertiary text-[13px]`,children:[(0,G.jsx)(Dt,{size:16,className:`animate-spin`}),(0,G.jsx)(`span`,{children:h(`team.loadingHistory`)})]}):d.length===0?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-20 text-text-tertiary text-[13px]`,children:h(`team.noHistory`)}):d.map((e,t)=>{if(e.kind===`user`){if(e.entry.content&&up(e.entry.content))return null;let t=e.entry.content?Lp(e.entry.content):void 0;if(t?.from===`system`)return null;if(t)return(0,G.jsx)(`div`,{children:(0,G.jsx)(JU,{msg:t})},e.entry.id);let n=e.entry.content||``;return n=n.replace(/<system-reminder>[\s\S]*?<\/system-reminder>\s*/g,``).trim(),n?(0,G.jsx)(`div`,{className:`flex justify-end mb-6`,children:(0,G.jsx)(`div`,{className:`max-w-[85%] rounded-lg rounded-tr-sm bg-bg-secondary px-4 py-2.5 sm:max-w-[75%]`,children:(0,G.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-text-primary text-chat`,children:n})})},e.entry.id):null}if(e.kind===`assistant_message`)return(0,G.jsx)(`div`,{className:`mb-6`,children:(0,G.jsx)(xw,{message:e.entry})},e.entry.id);if(e.kind===`assistant_tools`){let n=e.entries.filter(e=>!Ip(e));return n.length===0?null:(0,G.jsx)(`div`,{className:`mb-6`,children:(0,G.jsx)(qV,{entries:n})},`tools-${t}`)}return null}),p&&d.length>0&&(0,G.jsxs)(`div`,{className:`flex items-center gap-2 py-4 text-text-tertiary text-[12px]`,children:[(0,G.jsx)(Dt,{size:12,className:`animate-spin`}),(0,G.jsx)(`span`,{children:h(`team.agentRunning`)})]})]})})]})}var D8={info:Fr,success:Wn,warn:Ot,error:Xn},O8={info:`text-accent-blue`,success:`text-accent-green`,warn:`text-accent-yellow`,error:`text-accent-red`};function k8({item:e}){let t=_d(e=>e.removeToast),[n,r]=(0,V.useState)(!1),i=D8[e.type],a=()=>{r(!0),setTimeout(()=>t(e.id),200)};return(0,G.jsxs)(`div`,{role:`alert`,className:[`flex items-start gap-3 px-4 py-3 rounded-xl border border-border-default shadow-lg`,`bg-bg-card backdrop-blur-sm`,`max-w-[360px] min-w-[280px]`,`transition-all duration-200`,n?`opacity-0 translate-x-4`:`opacity-100 translate-x-0`,`animate-fadeIn`].join(` `),children:[(0,G.jsx)(i,{size:18,className:`${O8[e.type]} shrink-0 mt-0.5`}),(0,G.jsxs)(`div`,{className:`flex-1 min-w-0 flex flex-col gap-2`,children:[(0,G.jsx)(`p`,{className:`text-[13px] text-text-primary leading-[1.5] break-words`,children:e.message}),e.action&&(0,G.jsx)(`button`,{type:`button`,onClick:async()=>{if(e.action)try{await e.action.onClick()!==!1&&a()}catch{a()}},className:`self-start px-2.5 py-1 rounded-md text-[12px] font-medium bg-accent-blue text-white hover:opacity-90 transition-opacity`,children:e.action.label})]}),(0,G.jsx)(`button`,{onClick:a,"aria-label":`Dismiss`,className:`shrink-0 w-5 h-5 flex items-center justify-center rounded text-text-tertiary hover:text-text-primary transition-colors`,children:(0,G.jsx)(Ri,{size:14})})]})}function A8(){let e=_d(e=>e.toasts);return e.length===0?null:(0,G.jsx)(`div`,{className:`fixed bottom-6 right-6 z-[999] flex flex-col-reverse gap-2 pointer-events-auto max-md:bottom-20 max-md:right-4 max-md:left-4 max-md:items-stretch`,children:e.map(e=>(0,G.jsx)(k8,{item:e},e.id))})}function j8(e){let t=e?._meta?.timestamp??e?.timestamp;if(typeof t==`number`&&Number.isFinite(t))return t;if(typeof t==`string`){let e=Date.parse(t);return Number.isFinite(e)?e:void 0}}function M8(e){return e.replace(/\s+/g,` `).trim()}function N8(e){if(e?.sessionUpdate===`user_message_chunk`){let t=typeof e?.content?.text==`string`?e.content.text:``,n=t?Lp(t):void 0;return!n||n.from===`system`?void 0:{direction:`received`,peer:n.from,summary:M8(n.summary||Rp(n.content)),timestamp:j8(e)}}if(e?.sessionUpdate!==`tool_call`)return;let t=e._meta&&typeof e._meta==`object`?e._meta:{},n=typeof e.toolName==`string`?e.toolName:typeof t[`codebuddy.ai/toolName`]==`string`?t[`codebuddy.ai/toolName`]:typeof e.title==`string`?e.title:``,r={type:`tool_call`,id:typeof e.toolCallId==`string`?e.toolCallId:`member-communication`,toolName:n,name:typeof e.title==`string`?e.title:n,input:e.rawInput??e.input,timestamp:j8(e)},i=Jp(r);if(i)return{direction:`received`,peer:i.peer,summary:M8(i.summary||i.text),timestamp:r.timestamp};let a=Xp(r);if(a)return{direction:`sent`,peer:a.peer,summary:M8(a.summary||a.text),timestamp:r.timestamp}}function P8(e){for(let t=e.length-1;t>=0;t--){let n=N8(e[t]);if(n?.summary)return n}}function F8(e,t,n){return e.map(e=>({member:e,tasks:t.filter(t=>t.owner===e.name),recentCommunication:P8(n[e.name]||[])}))}function I8(e){return e===`in_progress`?0:e===`pending`?1:2}function L8(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function R8(e){let t=e.toolName||e.name||``,n=t.split(/[.:/]/).pop()||t;return n.endsWith(`Tool`)?n.slice(0,-4):n}function z8(e){return[`TaskCreate`,`TaskUpdate`,`TaskList`].includes(R8(e))}function B8(e){return e===`completed`?`completed`:e===`in_progress`||e===`running`?`in_progress`:`pending`}function V8(e){if(L8(e)){if(Array.isArray(e.todos))return e.todos;if(L8(e.rawResponse)&&Array.isArray(e.rawResponse.todos))return e.rawResponse.todos;if(L8(e.output))return V8(e.output)}}function H8(e){if(e.id!==void 0&&e.id!==null)return{id:String(e.id),subject:e.content||e.subject||``,status:B8(e.status),activeForm:e.activeForm,owner:e.owner,...typeof e.updatedAt==`number`?{updatedAt:e.updatedAt}:{}}}function U8(e,t){let n=new Map;for(let t of e)t.type===`tool_call`&&n.set(t.id,t);for(let e of t.values())n.set(e.id,e);return[...n.values()]}function W8(e){let t=new Map;for(let n of Object.values(e))for(let e of n){if(!L8(e)||typeof e.toolCallId!=`string`)continue;let n=L8(e._meta)?e._meta:{};if(e.sessionUpdate===`tool_call`){let r=typeof e.toolName==`string`?e.toolName:typeof n[`codebuddy.ai/toolName`]==`string`?n[`codebuddy.ai/toolName`]:typeof e.title==`string`?e.title:``,i={type:`tool_call`,id:e.toolCallId,name:typeof e.title==`string`?e.title:r,kind:typeof e.kind==`string`?e.kind:`other`,toolName:r,input:e.rawInput??e.input??{},status:e.status===`completed`?`completed`:e.status===`failed`?`failed`:`running`};z8(i)&&t.set(i.id,i);continue}if(e.sessionUpdate!==`tool_call_update`)continue;let r=t.get(e.toolCallId),i=n[`codebuddy.ai/rawResponse`];if(!r&&!V8(i))continue;let a=r??{type:`tool_call`,id:e.toolCallId,name:`TaskList`,kind:`other`,toolName:`TaskList`,input:{},status:`running`};t.set(e.toolCallId,{...a,input:e.rawInput??a.input,status:e.status===`completed`?`completed`:e.status===`failed`?`failed`:a.status,result:i??e.rawOutput??e.toolResult??a.result})}return[...t.values()]}function G8(e,t){return e.filter(e=>e.subagent?.isBackground===!0&&!e.subagent.memberName&&e.status===`running`).map(e=>({toolCallId:e.id,name:e.subagent?.displayName||e.subagent?.type||t,description:e.subagent?.description,status:`running`}))}function K8(e){let t=new Set(e.filter(e=>e.subagent?.isBackground===!0).map(e=>e.id));return e.filter(e=>!e.parentToolCallId||!t.has(e.parentToolCallId))}function q8(e){let t=[],n=[],r;e.forEach((e,i)=>{let a=L8(e.input)?e.input:{},o=R8(e),s=V8(e.result);if(s){let e=s.flatMap(e=>[e.updatedAt,e.createdAt]).filter(e=>typeof e==`number`&&Number.isFinite(e)),t=e.length>0?Math.max(...e):void 0;(!r||t!==void 0&&r.freshness===void 0||t!==void 0&&r.freshness!==void 0&&t>r.freshness||t===r.freshness&&i>r.sequence||t===void 0&&r.freshness===void 0&&i>r.sequence)&&(r={items:s,freshness:t,sequence:i})}o===`TaskCreate`&&t.push({toolCall:e,input:a}),o===`TaskUpdate`&&e.status!==`failed`&&n.push({input:a})});let i={};for(let e of r?.items??[]){let t=H8(e);t&&(i[t.id]=t)}for(let{toolCall:e,input:n}of t){if(V8(e.result))continue;let t=e.result,r=typeof t==`string`?t:L8(t)?String(t.text??t.output??``):``,a=!r&&Array.isArray(e.content)?e.content.reduce((e,t)=>e||String(t?.content?.text??t?.text??``),``):``,o=(r||a).match(/Task #(\d+)/)?.[1],s=n.subject?String(n.subject):``,c=n.owner?String(n.owner):void 0;if(o?i[o]:Object.values(i).some(e=>e.subject===s&&e.owner===c))continue;let l=o??`call:${e.id}`;i[l]={id:l,subject:s,status:`pending`,owner:c,activeForm:n.activeForm?String(n.activeForm):void 0}}let a={pending:0,in_progress:1,completed:2};for(let{input:e}of n){let t=e.taskId?String(e.taskId):void 0;if(!t)continue;if(e.status===`deleted`){delete i[t];continue}let n=i[t];if(n){if(e.status){let t=B8(e.status);a[t]>=a[n.status]&&(n.status=t)}e.subject&&(n.subject=String(e.subject)),e.owner!==void 0&&(n.owner=e.owner?String(e.owner):void 0),e.activeForm&&(n.activeForm=String(e.activeForm))}}return Object.values(i)}function J8(e){let t=e.isAgentRunning&&!e.answerStreaming||e.hasActiveMembers||e.hasActiveBackgroundAgents===!0,n=e.hasTasks&&!t&&!e.answerStreaming&&!e.allTasksCompleted;return{executionActive:t,showTasks:e.hasTasks,showTeam:e.hasTeam,staleTaskSnapshot:n}}function Y8({status:e,active:t,stale:n=!1}){if(n&&e!==`completed`)return(0,G.jsx)(Kn,{size:14,className:`flex-shrink-0 text-accent-yellow`});switch(e){case`completed`:return(0,G.jsx)(Gn,{size:14,className:`text-accent-green flex-shrink-0`});case`in_progress`:return t?(0,G.jsx)(Dt,{size:14,className:`text-accent-brand flex-shrink-0 animate-spin`}):(0,G.jsx)(Zn,{size:14,className:`text-accent-brand flex-shrink-0`});default:return(0,G.jsx)(Zn,{size:14,className:`text-text-tertiary flex-shrink-0`})}}function X8({member:e,isFocused:t,detail:n,onClick:r}){let i=e.status===`running`||e.status===`pending`,a=e.status===`failed`||e.status===`killed`,o=e.color?ZB(e.color):GB(e.name),s=`inline-flex flex-shrink-0 items-center gap-1 rounded px-1.5 py-0.5 text-[11px] transition-colors`,c=`bg-bg-secondary/50 text-text-tertiary`;t||i?c=r?`hover:opacity-80`:``:a?c=`bg-accent-red/10 text-accent-red`:r&&(c+=` hover:bg-bg-secondary/70`);let l=t||i?{color:o,backgroundColor:`${o}18`,...t?{boxShadow:`0 0 0 1px ${o}40`}:{}}:void 0,u=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(JB,{seed:e.name,size:15,color:o,mood:i?`busy`:`idle`}),(0,G.jsxs)(`span`,{className:`font-medium`,children:[r?`@`:``,e.name]}),i&&(0,G.jsx)(Dt,{size:9,className:`animate-spin flex-shrink-0`}),a&&(0,G.jsx)(Xn,{size:9,className:`flex-shrink-0`}),!i&&!a&&(0,G.jsx)(Rn,{size:9,className:`flex-shrink-0`})]});return r?(0,G.jsx)(`button`,{type:`button`,onClick:r,title:n,className:`${s} cursor-pointer ${c}`,style:l,children:u}):(0,G.jsx)(`span`,{title:n,className:`${s} cursor-default ${c}`,style:l,children:u})}function Z8(){let e=H(e=>e.timeline),t=H(e=>e.childToolCalls),n=H(e=>e.isAgentRunning),{t:r}=R(),i=e[e.length-1],a=i?.type===`message`&&i.role===`assistant`&&i.streaming===!0&&!!i.content,[o,s]=(0,V.useState)(!1),c=md(e=>e.isInTeam),l=md(e=>e.members),u=md(e=>e.memberHistories),d=md(e=>e.focusedMemberName),f=md(e=>e.setFocusedMember),p=(0,V.useMemo)(()=>new Map(l.map(e=>[e.name,e])),[l]),m=(0,V.useMemo)(()=>{let n=U8(e,t),r=W8(u),i=new Map(n.map(e=>[e.id,e]));for(let e of r)i.set(e.id,e);return[...i.values()]},[t,u,e]),h=(0,V.useMemo)(()=>G8(m,r(`tool.agent`)),[m,r]),g=(0,V.useMemo)(()=>K8(m),[m]),_=(0,V.useMemo)(()=>q8(g),[g]),v=h.length>0,y=(0,V.useMemo)(()=>F8(l,_,u),[u,_,l]),b=(0,V.useMemo)(()=>new Map(y.map(e=>[e.member.name,e])),[y]),x=(0,V.useMemo)(()=>y.filter(e=>e.recentCommunication!==void 0),[y]),S=(0,V.useCallback)(()=>s(e=>!e),[]),C=(0,V.useCallback)(e=>{f(d===e?null:e)},[d,f]),w=c?l.filter(e=>e.status===`running`||e.status===`pending`):[],T=w.length>0,E=w.length+h.length,D=(!n||a)&&E>0,ee=l.length>0||h.length>0,O=_.length>0,k=O&&_.every(e=>e.status===`completed`),{executionActive:A,showTasks:te,showTeam:j,staleTaskSnapshot:ne}=J8({hasTasks:O,allTasksCompleted:k,isAgentRunning:n,hasTeam:ee,hasActiveMembers:T,hasActiveBackgroundAgents:v,answerStreaming:a});if(!te&&!j)return null;let re=_.filter(e=>e.status===`completed`).length,ie=_.length,M=_.find(e=>e.status===`in_progress`),ae=_.filter(e=>e.status!==`completed`).sort((e,t)=>I8(e.status)-I8(t.status)),N=te&&(ae.length>0||x.length>0),oe=M?.owner,se=r(`todo.progress`);k?se=r(`todo.allCompleted`):D?se=r(`team.waitingForTeammates`).replace(`{count}`,String(E)).replace(`{s}`,E>1?`s`:``):ne?se=r(`todo.statusPendingSync`):!A&&ee?se=r(`team.historyAndProgress`):M&&(se=(n&&!a?M.activeForm:void 0)||M.subject||r(`todo.untitled`));let ce=(0,G.jsx)(Vr,{size:12,className:`flex-shrink-0 text-text-tertiary`});return k?ce=(0,G.jsx)(Gn,{size:13,className:`flex-shrink-0 text-accent-green`}):ne?ce=(0,G.jsx)(Kn,{size:13,className:`flex-shrink-0 text-accent-yellow`}):A?ce=(0,G.jsx)(Dt,{size:12,className:`flex-shrink-0 animate-spin ${D?`text-accent-purple`:`text-accent-blue`}`}):ee&&(ce=(0,G.jsx)(Ii,{size:12,className:`flex-shrink-0 text-text-tertiary`})),(0,G.jsx)(`div`,{className:`flex-none px-4 sm:px-6 pb-1 min-w-0`,children:(0,G.jsxs)(`div`,{className:`max-w-3xl mx-auto rounded-lg bg-bg-secondary/25 px-3 py-1.5`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:N?S:void 0,disabled:!N,className:`group flex min-h-7 w-full min-w-0 items-center justify-center gap-1.5 py-0.5 text-center disabled:cursor-default`,"aria-expanded":N&&o,children:[ce,(0,G.jsx)(`span`,{className:`max-w-[46%] truncate text-xs ${D?`font-medium text-accent-purple`:`text-text-secondary`}`,children:se}),oe&&(()=>{let e=p.get(oe),t=e?.color?ZB(e.color):GB(oe);return(0,G.jsxs)(`span`,{className:`inline-flex flex-shrink-0 items-center gap-1 text-[11px] font-medium`,style:{color:t},children:[(0,G.jsx)(JB,{seed:oe,size:14,color:t,mood:A?`busy`:`idle`}),`@`,oe]})})(),te&&(0,G.jsxs)(`span`,{className:`flex-shrink-0 text-[11px] tabular-nums text-text-tertiary`,children:[re,`/`,ie]}),j&&(0,G.jsxs)(`span`,{className:`flex-shrink-0 text-[11px] text-text-tertiary`,children:[`· `,E>0?r(`team.activeCount`).replace(`{count}`,String(E)):r(`team.memberCount`).replace(`{count}`,String(l.length+h.length))]}),N&&(o?(0,G.jsx)(zn,{size:12,className:`flex-shrink-0 text-text-tertiary`}):(0,G.jsx)(Vn,{size:12,className:`flex-shrink-0 text-text-tertiary opacity-70 group-hover:opacity-100`}))]}),j&&(0,G.jsx)(`div`,{className:`mt-1.5 overflow-x-auto pb-1`,role:`navigation`,"aria-label":r(`team.switchMember`),children:(0,G.jsxs)(`div`,{className:`mx-auto flex w-max min-w-full justify-center gap-1.5`,children:[l.map(e=>(0,G.jsx)(X8,{member:e,isFocused:d===e.name,detail:b.get(e.name)?.recentCommunication?.summary||e.description,onClick:()=>C(e.name)},`team:${e.name}`)),h.map(e=>(0,G.jsx)(X8,{member:e,isFocused:!1,detail:e.description},`background:${e.toolCallId}`))]})}),N&&o&&(0,G.jsxs)(`div`,{className:`mt-1.5 max-h-60 space-y-2 overflow-y-auto pb-1 pr-1`,children:[te&&(0,G.jsxs)(`div`,{className:`space-y-1`,children:[ae.map((e,t)=>{let n=e.owner?p.get(e.owner):void 0,i=n?.color?ZB(n.color):GB(e.owner||`member`);return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 py-0.5 text-xs ${ne?`text-text-tertiary`:e.status===`in_progress`?`text-text-primary`:`text-text-secondary`}`,children:[(0,G.jsx)(Y8,{status:e.status,active:A,stale:ne}),(0,G.jsxs)(`span`,{className:`truncate`,children:[t+1,`. `,e.status===`in_progress`&&!ne?e.activeForm||e.subject||r(`todo.untitled`):e.subject||r(`todo.untitled`)]}),ne&&(0,G.jsx)(`span`,{className:`flex-shrink-0 text-[10px] text-accent-yellow`,children:r(`todo.pendingSync`)}),e.owner&&(n?(0,G.jsxs)(`button`,{type:`button`,onClick:()=>C(e.owner),className:`ml-auto inline-flex flex-shrink-0 items-center gap-1 rounded px-1 text-[10px] font-medium hover:bg-bg-hover`,style:{color:i},title:r(`team.viewMemberHistory`),children:[(0,G.jsx)(JB,{seed:e.owner,size:14,color:i,mood:`idle`}),`@`,e.owner]}):(0,G.jsxs)(`span`,{className:`ml-auto flex-shrink-0 text-[10px] text-text-tertiary`,children:[`@`,e.owner]}))]},e.id)}),re>0&&ae.length>0&&(0,G.jsxs)(`div`,{className:`flex items-center gap-2 py-0.5 text-[11px] text-text-tertiary`,children:[(0,G.jsx)(Gn,{size:13,className:`flex-shrink-0 text-accent-green`}),(0,G.jsx)(`span`,{children:r(`todo.completedCount`).replace(`{count}`,String(re))})]})]}),x.length>0&&(0,G.jsxs)(`div`,{className:`border-t border-border-muted/25 pt-1.5`,children:[(0,G.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-[10px] text-text-tertiary`,children:[(0,G.jsx)(qr,{size:11}),(0,G.jsx)(`span`,{children:r(`team.recentCommunication`)})]}),(0,G.jsx)(`div`,{className:`space-y-0.5`,children:x.map(e=>{let t=e.recentCommunication,n=e.tasks.filter(e=>e.status===`in_progress`).length,i=e.tasks.filter(e=>e.status===`pending`).length,a=e.member.color?ZB(e.member.color):GB(e.member.name);return(0,G.jsxs)(`button`,{type:`button`,onClick:()=>C(e.member.name),className:`flex w-full min-w-0 items-center gap-1.5 rounded px-1 py-1 text-left hover:bg-bg-hover/40`,title:r(`team.viewMemberHistory`),children:[(0,G.jsx)(JB,{seed:e.member.name,size:16,color:a,mood:`idle`}),(0,G.jsxs)(`span`,{className:`flex-shrink-0 text-[10px] font-semibold`,style:{color:a},children:[`@`,e.member.name]}),(n>0||i>0)&&(0,G.jsxs)(`span`,{className:`flex-shrink-0 text-[10px] text-text-tertiary`,children:[`· `,n>0?r(`team.runningTaskCount`).replace(`{count}`,String(n)):r(`team.pendingTaskCount`).replace(`{count}`,String(i))]}),t.direction===`received`?(0,G.jsx)(On,{size:11,className:`flex-shrink-0 text-accent-blue`}):(0,G.jsx)(Mn,{size:11,className:`flex-shrink-0 text-accent-green`}),(0,G.jsx)(`span`,{className:`flex-shrink-0 text-[10px] text-text-tertiary`,children:t.direction===`received`?r(`team.receivedFrom`).replace(`{peer}`,t.peer):r(`team.sentTo`).replace(`{peer}`,t.peer)}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-text-secondary`,children:t.summary}),(0,G.jsx)(Vn,{size:11,className:`flex-shrink-0 text-text-tertiary`})]},e.member.name)})})]})]})]})})}function Q8(){let{t:e}=R(),t=Ed(e=>e.runIds),n=Ed(e=>e.runs),r=(0,V.useMemo)(()=>t.map(e=>n[e]?.detail).filter(e=>!!e&&!go(e.record.status)),[t,n]);return r.length===0?null:(0,G.jsx)(`div`,{className:`flex-none px-4 pb-1 sm:px-6`,children:(0,G.jsxs)(`div`,{className:`workflow-runs-panel workflow-enter mx-auto max-w-3xl overflow-hidden rounded-lg border border-border-muted/15 bg-bg-secondary/30`,children:[(0,G.jsxs)(`div`,{className:`flex h-7 items-center gap-1.5 px-3 text-[11px] text-accent-blue`,children:[(0,G.jsx)(SV,{size:11}),(0,G.jsx)(`span`,{className:`workflow-waiting-text`,children:e(`workflow.waiting`).replace(`{count}`,String(r.length))})]}),(0,G.jsx)(`div`,{className:`divide-y divide-border-muted/30`,children:r.map(e=>(0,G.jsx)($8,{detail:e},e.record.runId))})]})})}var $8=(0,V.memo)(function({detail:e}){let{t}=R(),n=Sz(),{record:r}=e,i=NV(!0),a=yV(r.status,r.paused),o=(0,V.useMemo)(()=>bo(e),[e]),s=(0,V.useMemo)(()=>So(e,o),[e,o]),c=e.agents.length>0||e.phases.length>0,l=c?s.total:r.agentCount,u=MV(c?s.done+s.failed+s.cached:Math.max(0,r.agentCount-(r.agentInFlightCount??0))),d=wo(r.tokens),f=(0,V.useCallback)(()=>{n||_V(r.runId,r.name)},[n,r.runId,r.name]);return(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:f,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f())},className:`workflow-run-row workflow-run-row-live group block w-full cursor-pointer px-3 pb-2 pt-1 text-left transition-colors hover:bg-bg-hover/40`,title:t(`workflow.openDetail`),children:[(0,G.jsxs)(`div`,{className:`flex h-5 min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`flex-shrink-0 text-[12px] font-semibold text-text-primary`,children:r.name}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] text-text-tertiary`,title:r.description,children:s.currentPhase||r.description||``}),l>0&&(0,G.jsx)(`span`,{className:`flex-shrink-0 text-[11px] tabular-nums text-text-secondary`,children:t(`workflow.agentsProgress`).replace(`{done}`,String(u)).replace(`{total}`,String(l))}),(0,G.jsx)(`span`,{className:`flex-shrink-0 text-[11px] tabular-nums text-text-tertiary`,children:Co(To(r,i))}),d&&(0,G.jsxs)(`span`,{className:`hidden flex-shrink-0 text-[11px] tabular-nums text-text-tertiary sm:inline`,children:[`↓ `,d]}),(0,G.jsx)(Vn,{size:12,className:`workflow-card-chevron flex-shrink-0 text-text-tertiary`})]}),c&&(0,G.jsx)(`div`,{className:`mt-1`,children:(0,G.jsx)(TV,{groups:o,progress:s.progress,status:a,planned:!!r.plannedPhases?.length})})]})}),e5=new Set([`reachable`,`browser-only`,`auth-required`,`frame-blocked`,`redirect-loop`,`unreachable`,`timeout`]),t5=12e3;async function n5(e,t=fetch){let n=new AbortController,r=globalThis.setTimeout(()=>n.abort(),t5);try{let r=await t(`/api/v1/browser-preview/probe`,{method:`POST`,headers:Je({"Content-Type":`application/json`}),body:JSON.stringify({url:e}),signal:n.signal});if(!r.ok)return`unreachable`;let i=(await r.json()).data?.reason;return typeof i==`string`&&e5.has(i)?i:`unreachable`}catch(e){return e instanceof Error&&e.name===`AbortError`?`timeout`:`unreachable`}finally{globalThis.clearTimeout(r)}}var r5=15e3;function i5({url:e}){let{t}=R(),n=jt(e),[r,i]=(0,V.useState)(0),[a,o]=(0,V.useState)(),[s,c]=(0,V.useState)(n?`unreachable`:`checking`),l=!n&&(s===`checking`||s===`loading`),u=!n&&![`checking`,`loading`,`ready`,`reachable`].includes(s),d=()=>window.open(e,`_blank`,`noopener,noreferrer`),f=()=>{o(void 0),c(`checking`),i(e=>e+1)},p=()=>{o(e),c(`loading`),i(e=>e+1)};(0,V.useEffect)(()=>{if(n){c(`unreachable`);return}if(a===e){c(`loading`);return}let t=!0;return c(`checking`),n5(e).then(e=>{t&&c(e===`reachable`||e===`browser-only`?`loading`:e)}).catch(()=>{t&&c(`unreachable`)}),()=>{t=!1}},[n,a,r,e]),(0,V.useEffect)(()=>{if(s!==`loading`)return;let e=window.setTimeout(()=>c(`timeout`),r5);return()=>window.clearTimeout(e)},[s]);let m=t(n||s===`frame-blocked`?`browserPreview.blockedTitle`:s===`timeout`?`browserPreview.timeoutTitle`:s===`auth-required`?`browserPreview.authRequiredTitle`:s===`redirect-loop`?`browserPreview.redirectLoopTitle`:`browserPreview.loadFailedTitle`),h=t(n||s===`frame-blocked`?`browserPreview.blockedDescription`:s===`timeout`?`browserPreview.timeoutDescription`:s===`auth-required`?`browserPreview.authRequiredDescription`:s===`redirect-loop`?`browserPreview.redirectLoopDescription`:`browserPreview.loadFailedDescription`);return(0,G.jsxs)(`div`,{className:`workspace-browser-preview`,children:[(0,G.jsxs)(`div`,{className:`workspace-browser-toolbar`,children:[(0,G.jsx)(ur,{size:14,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`workspace-browser-address`,title:e,children:e}),l&&(0,G.jsx)(Dt,{size:14,className:`animate-spin`,"aria-hidden":!0}),!n&&(0,G.jsx)(`button`,{type:`button`,className:`workspace-browser-action`,onClick:f,title:t(`ide.refresh`),"aria-label":t(`ide.refresh`),children:(0,G.jsx)(mi,{size:14})}),(0,G.jsx)(`button`,{type:`button`,className:`workspace-browser-action`,onClick:d,title:t(`browserPreview.openExternal`),"aria-label":t(`browserPreview.openExternal`),children:(0,G.jsx)(fr,{size:14})})]}),n||u?(0,G.jsxs)(`div`,{className:`workspace-browser-blocked`,role:`alert`,children:[(0,G.jsx)(`div`,{className:`workspace-browser-error-icon`,children:(0,G.jsx)(Un,{size:24,strokeWidth:1.5,"aria-hidden":!0})}),(0,G.jsx)(`h2`,{children:m}),(0,G.jsx)(`p`,{children:h}),(0,G.jsxs)(`div`,{className:`workspace-browser-error-actions`,children:[!n&&(0,G.jsxs)(`button`,{type:`button`,onClick:f,children:[(0,G.jsx)(mi,{size:16}),t(`browserPreview.retry`)]}),!n&&(0,G.jsxs)(`button`,{type:`button`,onClick:p,children:[(0,G.jsx)(ur,{size:16}),t(`browserPreview.tryEmbedded`)]}),(0,G.jsxs)(`button`,{type:`button`,onClick:d,children:[(0,G.jsx)(fr,{size:16}),t(`browserPreview.openExternal`)]})]}),(0,G.jsx)(`p`,{className:`workspace-browser-error-hint`,children:t(`browserPreview.failureHint`)})]}):s===`checking`?(0,G.jsxs)(`div`,{className:`workspace-browser-loading`,"aria-live":`polite`,children:[(0,G.jsx)(Dt,{size:24,className:`animate-spin`,"aria-hidden":!0}),(0,G.jsx)(`span`,{children:t(`browserPreview.checking`)})]}):(0,G.jsx)(`iframe`,{src:e,className:`workspace-browser-frame`,title:e,referrerPolicy:`strict-origin-when-cross-origin`,sandbox:`allow-forms allow-modals allow-same-origin allow-scripts`,onError:()=>c(`unreachable`),onLoad:()=>c(`ready`)},r)]})}function a5(e){return H(t=>t.timeline.find(t=>t.type===`tool_call`&&t.id===e)??t.childToolCalls.get(e))}function o5(e,t){let n=e.findIndex(e=>e.type===`tool_call`&&e.id===t),r=0,i=0,a=n>=0?n:e.length;for(let t=a-1;t>=0;t--){let n=e[t];if(n.type===`message`&&n.timestamp>0){r=n.timestamp;break}}if(n>=0)for(let t=n+1;t<e.length;t++){let n=e[t];if(n.type===`message`&&n.role===`assistant`&&n.timestamp>0){i=n.timestamp;break}}return{promptAt:r,resultAt:i}}function s5({toolCallId:e,fallbackTitle:t}){let{t:n}=R(),r=a5(e);return r?(0,G.jsx)(c5,{toolCall:r,fallbackTitle:t}):(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden bg-bg-primary`,children:[(0,G.jsx)(d5,{title:t}),(0,G.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-6 text-center text-xs text-text-tertiary`,children:n(`subagent.detailGone`)})]})}function c5({toolCall:e,fallbackTitle:t}){let{t:n}=R(),r=e.subagentTimeline,i=e.status===`running`,a=e.status===`failed`,o=H(e=>e.timeline),{promptAt:s,resultAt:c}=(0,V.useMemo)(()=>o5(o,e.id),[o,e.id]),l=mV(e.subagent,n(`tool.agent`)),u=e.subagent?.description||t,d=(0,V.useMemo)(()=>{let t=e.input;return typeof t?.prompt==`string`&&t.prompt.trim()?t.prompt:``},[e.input]),f=(0,V.useMemo)(()=>e.result===void 0||Jz(e.result)?``:Ww(e.result),[e.result]),p=H(e=>e.childToolCalls),m=(0,V.useMemo)(()=>rV(r,p,i,f),[r,p,i,f]),h=f||m.answerText,g=(0,V.useMemo)(()=>{let t=[];return a?t.push(n(`tool.failed`)):i?t.push(n(`subagent.running`)):e.status===`completed`&&t.push(n(`tool.completed`)),m.toolCount>0&&t.push(n(`tool.toolsCount`).replace(`{count}`,String(m.toolCount))),t.join(` · `)},[i,a,e.status,m.toolCount,n]);return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden bg-bg-primary`,children:[(0,G.jsx)(d5,{title:l,subtitle:u,meta:g,status:a?`failed`:i?`running`:e.status===`completed`?`completed`:void 0}),(0,G.jsxs)(`div`,{className:`chat-timeline flex-1 min-h-0 overflow-y-auto px-4 py-3`,children:[(0,G.jsx)(l5,{prompt:d,timestamp:s}),m.units.map(e=>e.kind===`process`?(0,G.jsx)($V,{group:e.group},e.group.id):(0,G.jsx)(l5,{prompt:e.entry.content,timestamp:0},e.entry.id)),h&&(0,G.jsx)(u5,{text:h,timestamp:c,streaming:!f&&m.answerStreaming}),m.units.length===0&&!h&&!d&&(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center text-xs text-text-tertiary`,children:n(i?`subagent.detailPending`:`subagent.detailEmpty`)})]})]})}function l5({prompt:e,timestamp:t}){return e?(0,G.jsx)(`div`,{className:`chat-turn chat-turn-user flex justify-end`,children:(0,G.jsxs)(`div`,{className:`relative min-w-0 max-w-[88%]`,children:[(0,G.jsx)(`div`,{className:`chat-user-bubble px-4 py-2.5`,children:(0,G.jsx)(_H,{text:e})}),(0,G.jsx)(pw,{text:e,timestamp:t})]})}):null}function u5({text:e,timestamp:t,streaming:n=!1}){let r=(0,V.useMemo)(()=>({type:`message`,id:`subagent-result`,role:`assistant`,content:e,timestamp:t,...n?{streaming:!0}:{}}),[e,t,n]);return(0,G.jsx)(`div`,{className:`chat-turn chat-turn-assistant chat-turn-answer min-w-0 overflow-hidden`,children:(0,G.jsx)(xw,{message:r,isLive:n,showFooter:!0})})}function d5({title:e,subtitle:t,meta:n,status:r}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 flex-shrink-0 min-w-0`,children:[(0,G.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent-purple/20 flex items-center justify-center flex-shrink-0 ${r===`running`?`animate-pulse`:``}`,children:(0,G.jsx)(In,{size:12,className:`text-accent-purple`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`div`,{className:`text-xs font-medium text-accent-purple truncate`,title:e,children:e}),t&&(0,G.jsx)(`div`,{className:`text-[11px] text-text-tertiary truncate`,title:t,children:t})]}),n&&(0,G.jsx)(`span`,{className:`text-[11px] text-text-tertiary flex-shrink-0`,children:n}),r===`running`&&(0,G.jsx)(Dt,{size:12,className:`text-accent-purple animate-spin flex-shrink-0`}),r===`failed`&&(0,G.jsx)(Xn,{size:12,className:`text-accent-red flex-shrink-0`}),r===`completed`&&(0,G.jsx)(Rn,{size:12,className:`text-accent-green flex-shrink-0`})]})}var f5=3e3;function p5({runId:e,fallbackTitle:t,visible:n}){let{t:r}=R(),i=U(e=>e.sessionId),a=Ed(t=>t.runs[e]),o=Ed(e=>e.ensureLoaded),s=Ed(e=>e.refresh),c=a?.detail,l=!!c&&!go(c.record.status);if((0,V.useEffect)(()=>{i&&o(i,e)},[i,e,o]),(0,V.useEffect)(()=>{if(!n||!l||!i)return;let t=setInterval(()=>{s(i,e).catch(()=>void 0)},f5);return()=>clearInterval(t)},[n,l,i,e,s]),!c){let n=a?.loadState??`loading`;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden bg-bg-primary`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3`,children:[(0,G.jsx)(CV,{status:n===`loading`?`starting`:`aborted`}),(0,G.jsx)(`span`,{className:`truncate text-[13px] font-medium text-text-primary`,children:t})]}),(0,G.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 px-6 text-center text-xs text-text-tertiary`,children:[n===`loading`&&(0,G.jsxs)(`div`,{className:`w-full max-w-[280px] space-y-2`,children:[(0,G.jsx)(`div`,{className:`skeleton-shimmer h-2.5 rounded`}),(0,G.jsx)(`div`,{className:`skeleton-shimmer h-2.5 w-3/4 rounded`}),(0,G.jsx)(`div`,{className:`skeleton-shimmer h-2.5 w-1/2 rounded`}),(0,G.jsx)(`div`,{className:`pt-1`,children:r(`workflow.detailLoading`)})]}),n===`missing`&&(0,G.jsx)(`span`,{children:r(`workflow.detailMissing`)}),n===`error`&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{children:r(`workflow.detailError`)}),(0,G.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-text-secondary hover:bg-bg-hover hover:text-text-primary`,onClick:()=>{i&&s(i,e).catch(()=>void 0)},children:[(0,G.jsx)(mi,{size:12}),r(`workflow.retry`)]})]})]})]})}return(0,G.jsx)(m5,{detail:c,sessionId:i,pendingAction:a?.pendingAction,t:r})}function m5({detail:e,sessionId:t,pendingAction:n,t:r}){let{record:i}=e,a=!go(i.status),o=NV(a),s=yV(i.status,i.paused),c=(0,V.useMemo)(()=>bo(e),[e]),l=(0,V.useMemo)(()=>So(e,c),[e,c]),u=Ed(e=>e.control),d=(0,V.useCallback)(async(e,n)=>{t&&(await u(t,i.runId,e,n)||W.warn(r(`workflow.controlFailed`)))},[u,i.runId,t,r]),f=[{key:`agents`,text:r(`workflow.agents`).replace(`{count}`,String(l.total))}];l.done>0&&f.push({key:`done`,text:r(`workflow.agentsDone`).replace(`{count}`,String(l.done)),tone:`text-accent-green`}),l.running>0&&f.push({key:`running`,text:r(`workflow.agentsRunning`).replace(`{count}`,String(l.running)),tone:`text-accent-blue`}),l.failed>0&&f.push({key:`failed`,text:r(`workflow.agentsFailed`).replace(`{count}`,String(l.failed)),tone:`text-accent-red`}),l.cached>0&&f.push({key:`cached`,text:r(`workflow.agentsCached`).replace(`{count}`,String(l.cached))});let p=wo(i.tokens);return p&&f.push({key:`tokens`,text:r(`workflow.tokens`).replace(`{count}`,p)}),i.totalToolCalls&&f.push({key:`tools`,text:r(`workflow.toolCalls`).replace(`{count}`,String(i.totalToolCalls))}),(0,G.jsxs)(`div`,{className:`workflow-pane flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden bg-bg-primary`,children:[(0,G.jsxs)(`div`,{className:`flex-shrink-0 px-4 pb-3 pt-3`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(CV,{status:s,size:26}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-[13px] font-semibold text-text-primary`,title:i.name,children:i.name}),(0,G.jsx)(xV,{status:s,t:r})]}),(0,G.jsxs)(`div`,{className:`text-[11px] tabular-nums text-text-tertiary`,children:[Co(To(i,o)),i.defaultModel?` · ${i.defaultModel}`:``]})]}),a&&(0,G.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-1`,children:[(0,G.jsx)(h5,{label:i.paused?r(`workflow.resume`):r(`workflow.pause`),busy:n===`pause`||n===`resume`,disabled:!!n,onClick:()=>d(i.paused?`resume`:`pause`),children:i.paused?(0,G.jsx)(li,{size:12}):(0,G.jsx)(ai,{size:12})}),(0,G.jsx)(h5,{label:r(`workflow.stop`),busy:n===`abort`,disabled:!!n,danger:!0,onClick:()=>d(`abort`),children:(0,G.jsx)(Oi,{size:11})})]})]}),i.description&&(0,G.jsx)(`p`,{className:`mt-2 line-clamp-3 text-[12px] leading-5 text-text-secondary`,title:i.description,children:i.description}),(0,G.jsx)(`div`,{className:`mt-3`,children:(0,G.jsx)(TV,{groups:c,progress:l.progress,status:s,planned:!!i.plannedPhases?.length})}),(0,G.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-x-3 gap-y-1 text-[11px] tabular-nums text-text-tertiary`,children:f.map(e=>(0,G.jsx)(`span`,{className:`workflow-enter ${e.tone??``}`,children:e.text},e.key))}),i.paused&&a&&(0,G.jsx)(`div`,{className:`workflow-enter mt-2 rounded-md bg-accent-yellow/10 px-2.5 py-1.5 text-[11px] text-accent-yellow`,children:r(`workflow.pausedHint`)}),i.error&&(0,G.jsx)(`div`,{className:`workflow-enter mt-2 whitespace-pre-wrap break-words rounded-md bg-accent-red/10 px-2.5 py-1.5 text-[11px] text-accent-red`,children:i.error})]}),(0,G.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto border-t border-border-muted px-4 py-3`,children:[c.length===0?(0,G.jsx)(`div`,{className:`py-8 text-center text-xs text-text-tertiary`,children:r(`workflow.noAgentsYet`)}):(0,G.jsx)(`ol`,{className:`workflow-timeline`,children:c.map((e,t)=>(0,G.jsx)(_5,{group:e,isLast:t===c.length-1,live:a,now:o,t:r,onSkipAgent:e=>d(`skipAgent`,e),pendingAction:n},e.key))}),i.outputPreview&&(0,G.jsx)(x5,{title:r(`workflow.output`),defaultOpen:!0,children:(0,G.jsx)(`pre`,{className:`workflow-pre`,children:i.outputPreview})}),i.logs&&i.logs.length>0&&(0,G.jsx)(x5,{title:`${r(`workflow.logs`)} · ${i.logs.length}`,children:(0,G.jsx)(`pre`,{className:`workflow-pre`,children:i.logs.join(`
|
|
262
|
-
`)})})]})]})}function h5({label:e,busy:t,disabled:n,danger:r=!1,onClick:i,children:a}){return(0,G.jsxs)(`button`,{type:`button`,"aria-label":e,title:e,disabled:n,onClick:i,className:[`inline-flex h-6 items-center gap-1 rounded-md border border-border-default px-2 text-[11px] text-text-secondary`,`transition-colors disabled:cursor-not-allowed disabled:opacity-50`,r?`hover:border-accent-red/40 hover:bg-accent-red/10 hover:text-accent-red`:`hover:bg-bg-hover hover:text-text-primary`].join(` `),children:[t?(0,G.jsx)(Dt,{size:12,className:`animate-spin`}):a,(0,G.jsx)(`span`,{children:e})]})}var g5={pending:`workflow.phasePending`,skipped:`workflow.phaseSkipped`};function _5({group:e,isLast:t,live:n,now:r,t:i,onSkipAgent:a,pendingAction:o}){let s=e.title||i(`workflow.phaseUngrouped`),c=e.startedAt?Co((e.endedAt??(e.state===`running`?r:e.startedAt))-e.startedAt):``,l=g5[e.state],u=[e.agents.length>0?i(`workflow.agents`).replace(`{count}`,String(e.agents.length)):``,wo(e.tokens)?i(`workflow.tokens`).replace(`{count}`,wo(e.tokens)):``,c&&e.state!==`pending`?c:``].filter(Boolean).join(` · `),d=e.state===`completed`;return(0,G.jsxs)(`li`,{className:`workflow-phase relative pb-4 pl-6 ${e.state===`pending`||e.state===`skipped`?`opacity-70`:``}`,children:[!t&&(0,G.jsx)(`span`,{className:`workflow-timeline-line ${d?`workflow-timeline-line-done`:``}`,"aria-hidden":!0,children:(0,G.jsx)(`span`,{className:`workflow-timeline-line-fill`})}),(0,G.jsx)(`span`,{className:`absolute left-0 top-0 flex h-5 items-center`,children:(0,G.jsx)(kV,{state:e.state})}),(0,G.jsxs)(`div`,{className:`flex h-5 min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-[12px] font-medium leading-5 ${e.state===`running`?`text-text-primary`:`text-text-secondary`}`,title:s,children:s}),l&&(0,G.jsx)(`span`,{className:`flex-shrink-0 text-[11px] text-text-tertiary`,children:i(l)}),(0,G.jsx)(`span`,{className:`ml-auto flex-shrink-0 text-[11px] tabular-nums text-text-tertiary`,children:u})]}),e.detail&&(0,G.jsx)(`div`,{className:`mt-0.5 text-[11px] leading-4 text-text-tertiary`,children:e.detail}),e.agents.length>0&&(0,G.jsx)(`ul`,{className:`mt-1.5 space-y-0.5`,children:e.agents.map((e,t)=>(0,G.jsx)(v5,{agent:e,index:t,live:n,now:r,t:i,onSkip:a,skipDisabled:!!o},e.key))})]})}var v5=(0,V.memo)(function({agent:e,index:t,live:n,now:r,t:i,onSkip:a,skipDisabled:o}){let[s,c]=(0,V.useState)(!1),l=_o(e),u=l===`running`,d=vo(e,t,i(`workflow.agentFallback`)),f=e.resolvedModel||e.model,p=u?e.idleSinceMs&&r-e.idleSinceMs>15e3?i(`workflow.idle`).replace(`{time}`,Co(r-e.idleSinceMs)):Co(r-e.startedAt):e.endedAt===void 0?``:Co(e.endedAt-e.startedAt),m=[f??``,e.toolCallCount?i(`workflow.toolCalls`).replace(`{count}`,String(e.toolCallCount)):``,wo(e.tokens),p].filter(Boolean).join(` · `),h=u?e.lastToolCalls?.[e.lastToolCalls.length-1]:void 0;return(0,G.jsxs)(`li`,{className:`workflow-enter`,children:[(0,G.jsxs)(`div`,{className:`group flex min-w-0 items-center gap-2 rounded-md px-1.5 py-1 transition-colors hover:bg-bg-hover ${s?`bg-bg-hover`:``}`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-start gap-2 text-left`,"aria-expanded":s,onClick:()=>c(e=>!e),children:[(0,G.jsx)(`span`,{className:`flex h-5 flex-shrink-0 items-center`,children:(0,G.jsx)(Vn,{size:12,className:`text-text-tertiary transition-transform duration-200 ${s?`rotate-90`:``}`})}),(0,G.jsx)(`span`,{className:`flex h-5 flex-shrink-0 items-center`,children:(0,G.jsx)(OV,{state:l},l)}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`span`,{className:`block truncate text-[12px] leading-5 ${l===`error`?`text-accent-red`:`text-text-primary`}`,title:d,children:d}),h&&(0,G.jsxs)(`span`,{className:`workflow-enter block truncate font-mono text-[11px] text-text-tertiary`,children:[h.tool,h.argsPreview?`(${h.argsPreview})`:``]},`${h.tool}-${h.at}`)]}),e.cached&&(0,G.jsx)(`span`,{className:`mt-0.5 flex-shrink-0 rounded bg-bg-chip px-1 text-[10px] leading-4 text-text-tertiary`,children:i(`workflow.cachedBadge`)}),(0,G.jsx)(`span`,{className:`flex-shrink-0 text-[11px] leading-5 tabular-nums text-text-tertiary`,children:m})]}),u&&n&&(0,G.jsx)(`button`,{type:`button`,disabled:o,onClick:()=>a(e.key),className:[`flex-shrink-0 rounded px-1.5 text-[11px] text-text-tertiary opacity-0 transition-opacity`,`hover:text-accent-red focus:opacity-100 group-hover:opacity-100 disabled:cursor-not-allowed`].join(` `),children:i(`workflow.skipAgent`)})]}),(0,G.jsx)(`div`,{className:`workflow-collapse ${s?`workflow-collapse-open`:``}`,children:(0,G.jsx)(`div`,{children:s&&(0,G.jsx)(y5,{agent:e,t:i})})})]})});function y5({agent:e,t}){let n=e.lastToolCalls??[];return(0,G.jsxs)(`div`,{className:`ml-[26px] mt-1 space-y-2 border-l border-border-muted pb-2 pl-3`,children:[e.promptPreview&&(0,G.jsx)(b5,{title:`${t(`workflow.prompt`)}${e.promptLineCount?` · ${t(`workflow.promptLines`).replace(`{count}`,String(e.promptLineCount))}`:``}`,children:(0,G.jsx)(`pre`,{className:`workflow-pre max-h-48`,children:e.promptPreview})}),n.length>0&&(0,G.jsx)(b5,{title:t(`workflow.activity`),children:(0,G.jsx)(`ul`,{className:`space-y-0.5 font-mono text-[11px] text-text-secondary`,children:n.map(e=>(0,G.jsxs)(`li`,{className:`workflow-enter truncate`,title:e.argsPreview,children:[(0,G.jsx)(`span`,{className:`text-text-primary`,children:e.tool}),e.argsPreview?(0,G.jsxs)(`span`,{className:`text-text-tertiary`,children:[`(`,e.argsPreview,`)`]}):null]},`${e.tool}-${e.at}`))})}),e.error&&(0,G.jsx)(b5,{title:t(`workflow.error`),children:(0,G.jsx)(`pre`,{className:`workflow-pre text-accent-red`,children:e.error})}),e.resultPreview&&(0,G.jsx)(b5,{title:t(`workflow.result`),children:(0,G.jsx)(`pre`,{className:`workflow-pre max-h-64`,children:e.resultPreview})})]})}function b5({title:e,children:t}){return(0,G.jsxs)(`section`,{children:[(0,G.jsx)(`div`,{className:`mb-1 text-[11px] font-medium text-text-tertiary`,children:e}),t]})}function x5({title:e,defaultOpen:t=!1,children:n}){let[r,i]=(0,V.useState)(t);return(0,G.jsxs)(`section`,{className:`mt-2 border-t border-border-muted pt-2`,children:[(0,G.jsxs)(`button`,{type:`button`,"aria-expanded":r,onClick:()=>i(e=>!e),className:`flex w-full items-center gap-1 text-[11px] font-medium text-text-tertiary hover:text-text-primary`,children:[(0,G.jsx)(Vn,{size:12,className:`transition-transform duration-200 ${r?`rotate-90`:``}`}),e]}),(0,G.jsx)(`div`,{className:`workflow-collapse ${r?`workflow-collapse-open`:``}`,children:(0,G.jsx)(`div`,{children:(0,G.jsx)(`div`,{className:`pt-1.5`,children:n})})})]})}var S5=new Set([`ArrowLeft`,`ArrowRight`,`Home`,`End`]);function C5(e){return S5.has(e)}var w5=new Set([`bgTask`,`subagent`,`workflow`]);function T5(e,t,n=!1){return n?e.filter(e=>e.kind===`subagent`||e.kind===`workflow`):t?e.filter(e=>!w5.has(e.kind)):e.filter(e=>e.kind!==`changes`)}function E5(e,t,n=!1){return e&&(!n||t>0)}function D5(e,t,n){if(t<=0)return-1;let r=e>=0&&e<t?e:0;return n===`Home`?0:n===`End`?t-1:n===`ArrowLeft`?(r-1+t)%t:(r+1)%t}function O5(e,t,n){return Math.round(e)>=t+n}function k5(e,t,n){return Math.max(t,Math.round(e)-n)}function A5(e,t,n){return Math.min(n,Math.max(t,Math.round(e)))}function j5(e,t,n,r,i=16){return r===`Home`?t:r===`End`?n:A5(e+(r===`ArrowLeft`?i:-i),t,n)}var M5=(0,V.lazy)(()=>Ph(()=>import(`./TerminalPaneView-IZXBrZd0.js`).then(e=>e.n).then(e=>({default:e.TerminalPaneView})),__vite__mapDeps([24,1,25,26,27,28,29,30,31,32,33]))),N5=(0,V.lazy)(()=>Ph(()=>import(`./SettingsView-tOHto0ek.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([34,1,25,26,27,28,35,29]))),P5=`workspace-dock-plus-menu`,F5=`workspace-dock-context-menu`,I5=`workspace-dock-tabpanel`,L5=`application/x-codebuddy-workspace-dock-tab`;function R5(e){return`workspace-dock-tab-${e}`}function z5(e){e?.querySelector(`[role="menuitem"]:not(:disabled)`)?.focus()}function B5(e,t,n){if(e.key===`Escape`){e.preventDefault(),t(),n();return}if(e.key===`Tab`){t();return}if(![`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key))return;e.preventDefault();let r=Array.from(e.currentTarget.querySelectorAll(`[role="menuitem"]:not(:disabled)`));if(r.length===0)return;let i=r.indexOf(document.activeElement),a;a=e.key===`Home`?0:e.key===`End`?r.length-1:e.key===`ArrowUp`?i<=0?r.length-1:i-1:i<0||i===r.length-1?0:i+1,r[a].focus()}function V5(e,t){return t>1?`${e} ${t}`:e}function H5(e){let t=Et.getState().tabs,n=[];for(let r of e)r.editorTabId&&t.some(e=>e.id===r.editorTabId)&&n.push(r.editorTabId);return n}async function U5(e){for(let t of H5(e))if(!(await Et.getState().requestCloseTabs({kind:`single`,id:t})).closed)return!1;return!0}function W5({open:e,isMobile:t,tools:n,changes:r,onActiveKindChange:i,onCollapse:a,subagentOnly:o=!1}){let{t:s}=R(),c=wn(e=>e.workspaceDockWidth),l=wn(e=>e.setWorkspaceDockWidth),u=id(e=>e.fileChanges),d=id(e=>e.seenChangeUris),f=u.length,p=nd(u,d),m=Tt(e=>e.cwd),h=yt(e=>e.panes),g=Mt(e=>e.tabs),_=Mt(e=>e.activeId),v=Mt(e=>e.addTab),y=Mt(e=>e.activate),b=Mt(e=>e.moveTab),x=Mt(e=>e.closeTab),S=Mt(e=>e.closeOthers),C=Mt(e=>e.closeToRight),[w,T]=(0,V.useState)(!1),[E,D]=(0,V.useState)(null),[ee,O]=(0,V.useState)(null),[k,A]=(0,V.useState)(!1),te=(0,V.useRef)(null),j=(0,V.useRef)(null),ne=(0,V.useRef)(null),re=(0,V.useRef)(null),ie=(0,V.useRef)(null),M=(0,V.useRef)(null),ae=(0,V.useRef)(new Map),N=(0,V.useRef)(null),oe=(0,V.useRef)(typeof window>`u`?1280:window.innerWidth),[se,ce]=(0,V.useState)(oe.current),le=(0,V.useRef)(null),P=(0,V.useRef)(c),[F,ue]=(0,V.useState)(!1),de=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform),fe=T5(g,t,o),pe=E5(e,fe.length,o),me=fe.find(e=>e.id===_)??fe[0]??null,he=me?.id??null;(0,V.useEffect)(()=>{!pe&&k&&A(!1)},[k,pe]),(0,V.useEffect)(()=>{if(!k)return;let e=document.body.style.overflow;document.body.style.overflow=`hidden`;let t=e=>{e.key===`Escape`&&(e.preventDefault(),A(!1),requestAnimationFrame(()=>ne.current?.focus()))};return window.addEventListener(`keydown`,t),window.dispatchEvent(new Event(`resize`)),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,t),requestAnimationFrame(()=>window.dispatchEvent(new Event(`resize`)))}},[k]),(0,V.useEffect)(()=>{if(!w)return;z5(re.current);let e=e=>{te.current&&!te.current.contains(e.target)&&T(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[w]),(0,V.useEffect)(()=>{if(!E)return;z5(ie.current);let e=e=>{ie.current&&!ie.current.contains(e.target)&&D(null)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[E]),(0,V.useEffect)(()=>{let e=N.current?.parentElement;if(!e)return;let t=()=>{oe.current=e.clientWidth,ce(e.clientWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[pe]),(0,V.useEffect)(()=>{!t&&!k&&pe&&!O5(se,320,320)&&a?.()},[se,k,t,a,pe]),(0,V.useEffect)(()=>{let e=e=>{if(e.tabs.length===0)return;let t=e.tabs.find(t=>t.id===e.activeTabId)??e.tabs[0];Mt.getState().restoreFileTabsFromEditor(e.tabs.map(e=>({id:e.id,path:e.path,name:e.name})),t?.id??null)};return e(Et.getState()),Et.subscribe((t,n)=>{if(t.activeTabId===n.activeTabId&&t.tabs===n.tabs)return;if(n.tabs.length===0&&t.tabs.length>0){e(t);return}let r=Mt.getState();if(!r.tabs.some(e=>e.kind===`editor`))return;r.syncClosedEditorFiles(t.tabs.map(e=>e.id));let i=t.tabs.find(e=>e.id===t.activeTabId);i&&Mt.getState().tabs.some(e=>e.kind===`editor`)&&Mt.getState().ensureFileTab(i.path,i.name,i.id)})},[]),(0,V.useEffect)(()=>{Mt.getState().syncMissingTransientEditorTabs(Et.getState().tabs.map(e=>e.id))},[g]),(0,V.useEffect)(()=>{pe&&Mt.getState().rebindMissingTerminalPanes()},[g,pe]);let ge=(0,V.useCallback)(e=>{if(e.button!==0&&e.pointerType===`mouse`)return;e.preventDefault();let t=k5(oe.current,320,320);le.current=e.clientX,P.current=A5(c,320,t),ue(!0),D3({pointerId:e.pointerId,target:e.currentTarget,cursor:`col-resize`,onMove:e=>{if(le.current==null)return;let t=k5(oe.current,320,320);l(A5(P.current-(e-le.current),320,t))},onEnd:()=>{le.current=null,ue(!1)}})},[l,c]),I=(0,V.useCallback)(e=>{T(!1);let t=v(e);e===`editor`&&Mt.getState().requestQuickOpen(),i(e),requestAnimationFrame(()=>ae.current.get(t.id)?.focus())},[v,i]),_e=(0,V.useCallback)(e=>{let t=y(e);if(t){if(t.filePath&&t.editorTabId){let e=Et.getState(),n=e.tabs.find(e=>e.id===t.editorTabId);n?e.setActiveTab(n.id):t.editorTabId===t.filePath&&e.openFile(t.filePath,t.fileName).catch(()=>void 0)}i(t.kind)}},[y,i]);(0,V.useEffect)(()=>{if(!pe||!he)return;let e=fe.find(e=>e.id===he),t=!e?.editorTabId||Et.getState().tabs.some(t=>t.id===e.editorTabId);(_!==he||!t)&&_e(he)},[_,_e,he,pe,fe]),(0,V.useEffect)(()=>{pe&&he&&ae.current.get(he)?.scrollIntoView({block:`nearest`,inline:`nearest`})},[he,pe]);let ve=(0,V.useCallback)((e,t,n,r)=>{T(!1),_e(e),M.current=t,D({x:n,y:r,tabId:e})},[_e]),ye=(0,V.useCallback)(()=>{requestAnimationFrame(()=>M.current?.focus())},[]),be=(0,V.useCallback)(e=>{let n=fe.findIndex(t=>t.id===e),r=e===he,a=Mt.getState(),s=T5(a.tabs,t,o),c=r?s[Math.min(Math.max(0,n),s.length-1)]:s.find(e=>e.id===a.activeId)??null;c?_e(c.id):i(null),requestAnimationFrame(()=>{if(c){ae.current.get(c.id)?.focus();return}j.current?.focus()})},[_e,t,i,o,he,fe]),xe=(0,V.useCallback)(e=>{let t=g.find(t=>t.id===e);if(t?.editorTabId){let n=Et.getState().tabs.find(e=>e.id===t.editorTabId);if(n){Et.getState().requestCloseTabs({kind:`single`,id:n.id}).then(t=>{t.closed&&(x(e),be(e))}).catch(()=>void 0);return}}x(e),be(e)},[x,be,g]),Se=(0,V.useCallback)((e,t)=>{if(e.key===`Delete`){e.preventDefault(),xe(t);return}if(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`){e.preventDefault();let n=e.currentTarget.getBoundingClientRect();ve(t,e.currentTarget,n.left,n.bottom);return}if(!C5(e.key))return;e.preventDefault();let n=D5(fe.findIndex(e=>e.id===t),fe.length,e.key),r=fe[n];if(!r)return;_e(r.id);let i=ae.current.get(r.id);i?.focus(),i?.scrollIntoView({block:`nearest`,inline:`nearest`})},[_e,xe,ve,fe]),Ce=(0,V.useCallback)(e=>{let n=Mt.getState().tabs.filter(n=>n.id!==e&&(t||n.kind!==`changes`));U5(n).then(r=>{if(r){if(t)i(S(e)?.kind??null);else{for(let e of n)x(e.id);i(y(e)?.kind??null)}requestAnimationFrame(()=>ae.current.get(e)?.focus())}}).catch(()=>void 0)},[y,S,x,t,i]),we=(0,V.useCallback)(e=>{let n=Mt.getState().tabs,r=T5(n,t,o),a=r.findIndex(t=>t.id===e),s=a<0?[]:r.slice(a+1);U5(s).then(n=>{if(n){if(t)i(C(e)?.kind??null);else{for(let e of s)x(e.id);i(y(e)?.kind??null)}requestAnimationFrame(()=>ae.current.get(e)?.focus())}}).catch(()=>void 0)},[y,x,C,t,i,o]),Te=e=>{if(e.kind===`explorer`)return V5(s(`ide.explorer`),e.serial);if(e.kind===`search`)return V5(s(`ide.search`),e.serial);if(e.kind===`scm`)return V5(s(`ide.scm.title`),e.serial);if(e.kind===`browser`)return e.urlTitle||e.url||`URL`;if(e.kind===`bgTask`)return e.taskTitle||s(`bgTasks.untitled`);if(e.kind===`subagent`)return e.subagentTitle||s(`subagent.detailTab`);if(e.kind===`workflow`)return e.workflowTitle||s(`workflow.detailTab`);if(e.kind===`settings`)return e.settingsTitle||s(`agents.workspaceSettings`);if(e.kind===`editor`){if(e.fileName)return e.fileName;let t=g.filter(e=>e.kind===`editor`&&!e.filePath),n=t.findIndex(t=>t.id===e.id);return t.length>1&&n>0?`${s(`dock.openFile`)} ${n+1}`:s(`dock.openFile`)}return e.kind===`terminal`?(e.paneId?h[e.paneId]?.title:null)||V5(s(`sidebar.terminalMode`),e.serial):V5(s(`sidebar.changes`),e.serial)},Ee=e=>e===`explorer`?(0,G.jsx)(yr,{size:13}):e===`editor`?(0,G.jsx)(vr,{size:13}):e===`search`?(0,G.jsx)(bi,{size:13}):e===`scm`?(0,G.jsx)(Er,{size:13}):e===`browser`?(0,G.jsx)(ur,{size:13}):e===`terminal`||e===`bgTask`?(0,G.jsx)(Di,{size:13}):e===`subagent`?(0,G.jsx)(In,{size:13}):e===`workflow`?(0,G.jsx)(Li,{size:13}):e===`settings`?(0,G.jsx)(Ci,{size:13}):(0,G.jsx)(Dr,{size:13}),L=E?fe.findIndex(e=>e.id===E.tabId):-1,De=fe.length>1,Oe=L>=0&&L<fe.length-1,ke=k5(se,320,320),Ae=A5(c,320,ke);return(0,G.jsxs)(`aside`,{ref:N,className:[`workspace-dock`,F?`no-transition`:``,pe?``:`workspace-dock-closed`,fe.length>0?`has-tabs`:``,k?`workspace-dock-fullscreen`:``].filter(Boolean).join(` `),style:pe&&!t&&!k?{width:`${Ae}px`}:void 0,"aria-hidden":!pe,"aria-label":s(`dock.toggle`),children:[!t&&!k&&(0,G.jsx)(`div`,{role:`separator`,tabIndex:0,"aria-orientation":`vertical`,"aria-label":s(`dock.resize`),"aria-valuemin":320,"aria-valuemax":ke,"aria-valuenow":Ae,onKeyDown:e=>{C5(e.key)&&(e.preventDefault(),l(j5(Ae,320,ke,e.key)))},onPointerDown:ge,onDoubleClick:()=>l(A5(480,320,ke)),className:`workspace-dock-resize`}),(0,G.jsxs)(`div`,{className:`workspace-dock-head`,children:[fe.length===0&&(0,G.jsx)(`span`,{className:`workspace-dock-title`,children:s(`dock.toggle`)}),(0,G.jsx)(`div`,{className:`workspace-dock-tabs`,role:`tablist`,"aria-label":s(`dock.tabs`),children:fe.map(e=>{let n=Te(e),r=e.id===he,i=e.kind===`changes`&&p>0?`${n} · ${s(`dock.unseen`,{count:p})}`:n;return(0,G.jsxs)(`div`,{className:[`workspace-dock-filetab`,r?`on`:``,ee?.id===e.id?ee.after?`drag-indicator-after`:`drag-indicator-before`:``].filter(Boolean).join(` `),draggable:!t,onDragStart:t=>{t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(L5,e.id),t.dataTransfer.setDragImage(t.currentTarget,0,0)},onDragOver:t=>{if(!t.dataTransfer.types.includes(L5))return;t.preventDefault(),t.dataTransfer.dropEffect=`move`;let n=t.currentTarget.getBoundingClientRect();O({id:e.id,after:t.clientX>=n.left+n.width/2})},onDrop:t=>{let n=t.dataTransfer.getData(L5);if(!n)return;t.preventDefault();let r=g.findIndex(t=>t.id===e.id)+(ee?.id===e.id&&ee.after?1:0);b(n,r),O(null)},onDragEnd:()=>O(null),children:[(0,G.jsxs)(`button`,{ref:t=>{t?ae.current.set(e.id,t):ae.current.delete(e.id)},id:R5(e.id),type:`button`,role:`tab`,className:`workspace-dock-filetab-main`,tabIndex:r?0:-1,"aria-selected":r,"aria-keyshortcuts":`Delete`,"aria-label":i,"aria-controls":I5,"aria-haspopup":`menu`,"aria-expanded":E?.tabId===e.id,onClick:()=>_e(e.id),onKeyDown:t=>Se(t,e.id),onContextMenu:t=>{t.preventDefault(),ve(e.id,t.currentTarget,t.clientX,t.clientY)},children:[(0,G.jsx)(`span`,{className:`workspace-dock-filetab-icon`,children:Ee(e.kind)}),(0,G.jsx)(`span`,{className:`workspace-dock-filetab-label`,children:n}),e.kind===`changes`&&f>0&&(0,G.jsx)(`span`,{className:`workspace-dock-count`,"aria-hidden":!0,children:f>99?`99+`:f}),e.kind===`changes`&&p>0&&!r&&(0,G.jsx)(`span`,{className:`workspace-dock-dot`,"aria-hidden":!0})]}),(0,G.jsx)(`button`,{type:`button`,className:`workspace-dock-filetab-x`,tabIndex:-1,onClick:()=>xe(e.id),title:s(`dock.closeTab`,{name:n}),"aria-label":s(`dock.closeTab`,{name:n}),children:(0,G.jsx)(Ri,{size:12})})]},e.id)})}),(0,G.jsxs)(`div`,{className:`relative shrink-0${o?` hidden`:``}`,ref:te,children:[(0,G.jsx)(`button`,{ref:j,id:`workspace-dock-plus-trigger`,type:`button`,className:`workspace-dock-iconbtn`,onClick:()=>{D(null),T(e=>!e)},title:s(`dock.open`),"aria-label":s(`dock.open`),"aria-haspopup":`menu`,"aria-controls":P5,"aria-expanded":w,children:(0,G.jsx)(di,{size:15})}),w&&(0,G.jsxs)(`div`,{ref:re,id:P5,className:`workspace-dock-plus`,role:`menu`,"aria-labelledby":`workspace-dock-plus-trigger`,onKeyDown:e=>B5(e,()=>T(!1),()=>j.current?.focus()),children:[!t&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`explorer`),children:[(0,G.jsx)(yr,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.explorer`)})]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`editor`),children:[(0,G.jsx)(vr,{size:16}),(0,G.jsx)(`span`,{children:s(`dock.openFile`)})]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`search`),children:[(0,G.jsx)(bi,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.search`)})]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`scm`),children:[(0,G.jsx)(Er,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.scm.title`)})]})]}),t&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`editor`),children:[(0,G.jsx)(vr,{size:16}),(0,G.jsx)(`span`,{children:s(`dock.openFile`)})]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`terminal`),children:[(0,G.jsx)(Di,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.terminalMode`)}),(0,G.jsx)(`kbd`,{children:de?`⌘J`:`Ctrl+J`})]}),t&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`changes`),children:[(0,G.jsx)(Dr,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.changes`)}),f>0&&(0,G.jsx)(`span`,{className:`workspace-dock-count`,children:f}),p>0&&(0,G.jsx)(`span`,{className:`workspace-dock-dot`,"aria-hidden":!0})]})]})]}),!t&&(0,G.jsx)(`button`,{ref:ne,type:`button`,className:`workspace-dock-iconbtn`,onClick:()=>A(e=>!e),title:s(k?`dock.exitFullscreen`:`dock.fullscreen`),"aria-label":s(k?`dock.exitFullscreen`:`dock.fullscreen`),"aria-pressed":k,children:k?(0,G.jsx)(Zr,{size:15}):(0,G.jsx)(Gr,{size:15})}),a&&(0,G.jsx)(`button`,{type:`button`,className:`workspace-dock-iconbtn`,onClick:a,title:s(`dock.collapse`),"aria-label":s(`dock.collapse`),children:(0,G.jsx)(ni,{size:15})})]}),(0,G.jsxs)(`div`,{id:I5,className:`workspace-dock-body`,role:me?`tabpanel`:void 0,"aria-labelledby":me?R5(me.id):void 0,children:[fe.length===0&&(0,G.jsxs)(`div`,{className:`workspace-dock-launcher`,children:[(0,G.jsxs)(`div`,{className:`mb-4 text-center`,children:[(0,G.jsx)(`div`,{className:`text-sm font-medium text-text-primary`,children:s(`dock.emptyTitle`)}),(0,G.jsx)(`div`,{className:`mt-1 text-xs text-text-secondary`,children:s(o?`subagent.dockEmptyHint`:`dock.emptyDescription`)})]}),!t&&!o&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`explorer`),children:[(0,G.jsx)(yr,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.explorer`)})]}),(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`editor`),children:[(0,G.jsx)(vr,{size:16}),(0,G.jsx)(`span`,{children:s(`dock.openFile`)})]}),(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`search`),children:[(0,G.jsx)(bi,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.search`)})]}),(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`scm`),children:[(0,G.jsx)(Er,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.scm.title`)})]})]}),t&&!o&&(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`editor`),children:[(0,G.jsx)(vr,{size:16}),(0,G.jsx)(`span`,{children:s(`dock.openFile`)})]}),!o&&(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`terminal`),children:[(0,G.jsx)(Di,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.terminalMode`)}),(0,G.jsx)(`kbd`,{children:de?`⌘J`:`Ctrl+J`})]}),t&&!o&&(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`changes`),children:[(0,G.jsx)(Dr,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.changes`)}),p>0&&(0,G.jsx)(`span`,{className:`workspace-dock-dot`,"aria-hidden":!0})]})]}),(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:me&&[`explorer`,`editor`,`search`,`scm`].includes(me.kind)?`flex`:`none`},children:n}),fe.filter(e=>e.kind===`browser`&&e.url).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(i5,{url:e.url})},e.id)),fe.filter(e=>e.kind===`bgTask`&&e.terminalId).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(r$,{terminalId:e.terminalId,title:e.taskTitle||s(`bgTasks.untitled`)})},e.id)),fe.filter(e=>e.kind===`subagent`&&e.subagentToolCallId).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(s5,{toolCallId:e.subagentToolCallId,fallbackTitle:e.subagentTitle||s(`subagent.detailTab`)})},e.id)),fe.filter(e=>e.kind===`workflow`&&e.workflowRunId).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(p5,{runId:e.workflowRunId,fallbackTitle:e.workflowTitle||s(`workflow.detailTab`),visible:e.id===he})},e.id)),fe.filter(e=>e.kind===`settings`&&e.settingsCwd).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(V.Suspense,{fallback:null,children:(0,G.jsx)(N5,{presentation:`dock`,workspaceCwd:e.settingsCwd,workspaceLabel:e.settingsTitle})})},e.id)),fe.filter(e=>e.kind===`terminal`&&e.paneId).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(V.Suspense,{fallback:null,children:(0,G.jsx)(M5,{paneId:e.paneId,initialCwd:e.initialCwd??m,editorStore:t?void 0:Et,fileLinkTarget:t?`editor-page`:`conversation-dock`})})},e.id)),t&&(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:me?.kind===`changes`?`flex`:`none`},children:r})]}),E&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`editor-context-overlay`,onClick:()=>D(null)}),(0,G.jsxs)(`div`,{ref:ie,id:F5,className:`editor-context-menu`,style:{left:E.x,top:E.y},role:`menu`,"aria-labelledby":R5(E.tabId),onKeyDown:e=>B5(e,()=>D(null),()=>M.current?.focus()),children:[(0,G.jsx)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>{xe(E.tabId),D(null),ye()},children:s(`common.close`)}),(0,G.jsx)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,disabled:!De,onClick:()=>{De&&(Ce(E.tabId),D(null),ye())},children:s(`dock.closeOthers`)}),(0,G.jsx)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,disabled:!Oe,onClick:()=>{Oe&&(we(E.tabId),D(null),ye())},children:s(`dock.closeToRight`)})]})]})]})}var G5=`codebuddy.notifyOnComplete`;function K5(){try{return localStorage.getItem(G5)===`1`}catch{return!1}}function q5(e){try{e?localStorage.setItem(G5,`1`):localStorage.removeItem(G5)}catch{}}var J5=qe((e,t)=>({enabled:K5(),unsupported:!1,setEnabled:t=>(q5(t),e({enabled:t}),t?`on`:`off`),noteUnsupported:n=>{n!==t().unsupported&&e({unsupported:n})},nativeAvailable:null,setNativeAvailable:n=>{n!==t().nativeAvailable&&e({nativeAvailable:n})}})),Y5=1500,X5=1e3;function Z5(){if(typeof Notification>`u`)return`unsupported`;let e=Notification.permission;return e===`granted`||e===`denied`?e:`default`}function Q5(){return typeof document>`u`?!0:document.visibilityState===`visible`?typeof document.hasFocus!=`function`||document.hasFocus():!1}function $5(e){return e.enabled?e.inForeground?`in-foreground`:e.lastFiredAt!==void 0&&e.lastFiredAt>e.now-5e3?`duplicate`:`notify`:`off`}function e7(e){return e.hasPendingInterruption?`needsInput`:e.errorMessage||e.stopReason===`error`||e.stopReason===`refusal`?`failed`:e.stopReason===`cancelled`||e.stopReason===`interrupted`?`stopped`:`done`}function t7(e){return e===`completed`?`done`:`failed`}function n7(e,t=120){if(!e)return``;let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function r7(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.type===`message`&&n.role===`assistant`&&typeof n.content==`string`&&n.content.trim())return n.content}return``}function i7(e){return e.text&&e.text!==e.lastUsed?`fire-with-preview`:e.attempt<3?`retry`:`fire-without-preview`}function a7(e){let t=[],n=[];for(let r of e.current){let i=Y$(e.previous.get(r.id),r);i&&!e.manuallyStopped?.[r.id]&&(i===`completed`?t:n).push({job:r,kind:i})}let r=[...e.previous.values()].filter(e=>!W$(e)).length;return X$(n.length,r)?t:[...t,...n]}var o7=new Map;async function s7(e){try{let t=await fetch(`/api/v1/notify/native`,{method:`POST`,headers:Je({"Content-Type":`application/json`}),body:JSON.stringify(e)});if(!t.ok)return`unsupported`;let n=(await t.json().catch(()=>void 0))?.data;return n?.ok===!0?`sent`:n?.reason===`throttled`?`throttled`:n?.reason===`unsupported-platform`?`unsupported`:`failed`}catch{return`failed`}}async function c7(){try{let e=await fetch(`/api/v1/notify/native/availability`,{headers:Je()});if(!e.ok)return null;let t=await e.json().catch(()=>void 0);return t?.data?.available===!0||t?.data?.available!==!1&&null}catch{return null}}function l7(e){if(typeof Notification>`u`||Z5()!==`granted`)return!1;try{let t=new Notification(e.title,{body:e.body,tag:e.key});return t.onclick=()=>{window.focus(),t.close()},!0}catch{return!1}}async function u7(e){let t=e.now??Date.now();if($5({enabled:e.enabled,inForeground:Q5(),lastFiredAt:o7.get(e.notice.key),now:t})!==`notify`)return!1;o7.set(e.notice.key,t);let n=await s7({title:e.notice.title,body:e.notice.body});return n===`sent`||n===`throttled`||l7(e.notice)}async function d7(e){return await s7(e)}function f7(e){if(typeof Notification>`u`||Z5()!==`granted`)return!1;try{return new Notification(e.title,{body:e.body,tag:`codebuddy-notify-test`}),!0}catch{return!1}}var p7=new Map;function m7(e){let{t}=R(),n=(0,V.useRef)(t);(0,V.useEffect)(()=>{n.current=t},[t]),(0,V.useEffect)(()=>{if(!e.enabled)return;let t=new Map,r=jo(e=>{let r=H.getState(),i=e7({stopReason:e.stopReason,errorMessage:e.errorMessage,hasPendingInterruption:r.hasPendingInterruption});if(i===`done`&&(r.followupQueue.length>0||r.pausedGoal!=null))return;let a=`chat:${U.getState().sessionId??`current`}`,o=t.get(a);o&&clearTimeout(o);let s=e=>{let r=n7(r7(H.getState().timeline)),o=i7({text:r,lastUsed:p7.get(a),attempt:e});if(o===`retry`){t.set(a,setTimeout(()=>s(e+1),X5));return}t.delete(a);let c=o===`fire-with-preview`?r:``;c&&p7.set(a,c);let l=U.getState().topic?.trim();_7({key:a,title:l||n.current(`notify.chatFallbackName`),body:[n.current(`notify.status.${i}`),c].filter(Boolean).join(` · `)})};t.set(a,setTimeout(()=>s(0),Y5))});return()=>{r();for(let e of t.values())clearTimeout(e)}},[e.enabled]),(0,V.useEffect)(()=>{if(!e.enabled)return;let t=h7(zl.getState().jobs),r;return zl.subscribe(e=>{if(e.jobs===r)return;r=e.jobs;let i=a7({previous:t,current:e.jobs,manuallyStopped:e.manuallyStoppedAgentIds});t=h7(e.jobs);for(let{job:e,kind:t}of i)_7(g7(e,t,n.current))})},[e.enabled])}function h7(e){return new Map(e.map(e=>[e.id,e]))}function g7(e,t,n){let r=Z.getState(),i=r.jobAssignments[e.id],a=(i?r.agents.find(e=>e.id===i)?.name:``)?.trim()??``,o=(e.name??e.intent??``).trim(),s=n(`notify.status.${t7(t)}`);return{key:`job:${e.id}`,title:a||o||n(`notify.agentFallbackName`),body:[a&&o?o:``,s].filter(Boolean).join(` · `)}}function _7(e){let{enabled:t,noteUnsupported:n}=J5.getState();u7({notice:e,enabled:t}).then(e=>{!e&&t&&n(!0)}).catch(()=>void 0)}function v7(e){let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;e.type===`sessionUpdate`&&e.update&&typeof e.update==`object`&&t.push(e.update)}return t}var y7=1e3;function b7(e){let t=e.sessionId,n=e.enabled&&!!t;(0,V.useEffect)(()=>{if(!n||!t)return;let e=!1,r=()=>{t2(t).then(t=>{e||H.getState().applyFollowTimeline(ao(v7(t.events)),t.snapshot?.busy===!0)}).catch(()=>void 0)};r();let i=window.setInterval(r,y7);return()=>{e=!0,window.clearInterval(i)}},[n,t])}function x7(e){return`cb-embed:${e}:${Xo}`}function S7(e){return e||(typeof sessionStorage>`u`?null:sessionStorage)}function C7(e){if(!e||typeof e!=`object`)return{};let t=e;return t.drafts&&typeof t.drafts==`object`?t.drafts:e}function w7(e,t){if(!e)return null;try{let n=C7(JSON.parse(e)),r=n[Jo(t)]??n[`agent:main`];if(typeof r?.text==`string`&&r.text.length>0)return{text:r.text,updatedAt:typeof r.updatedAt==`number`&&Number.isFinite(r.updatedAt)?r.updatedAt:0}}catch{return null}return null}function T7(e,t){let n=S7(t);if(!n||!e)return!1;let r=w7(n.getItem(x7(e)),e);if(!r)return!1;let i=Jo(e),a=as.getState().drafts[i];return a?.text&&a.updatedAt>=r.updatedAt?!1:(as.getState().setDraft(i,{text:r.text,images:[],files:[]}),!0)}function E7(e,t){let n=S7(t);if(!n||!e)return!1;let r=Jo(e),i=as.getState().drafts[r];if(!i?.text)return!1;let a=x7(e),o={},s={};try{let e=n.getItem(a);if(e){let t=JSON.parse(e);o=t.drafts??{},s=t.histories??{}}}catch{o={}}return n.setItem(a,JSON.stringify({drafts:{...o,[r]:{text:i.text,updatedAt:i.updatedAt}},histories:s})),!0}function D7(e){return!e.embeddedAgent&&e.mainViewIsChat&&!e.showingAgentStage&&!e.newJobMode&&!e.focusedMember&&!e.historyLoading&&e.visibleGroups===0&&e.sessionBlank}function O7(e){return e.sessionReady||e.showingAgentStage?!1:e.view===`fault`||e.view===`occupied`||e.view===`timeout`}function k7(e){return e.showingAgentStage&&!e.newJobMode&&!e.creatingSelectedAgent&&!e.foregroundHeld}function A7(e){return e.occupiedFollow||e.foregroundHeld?!0:e.settledReadonly?!e.attached:!e.attached||e.transitioning}function j7(e){return e.frameLoaded!==!1&&!e.showRestoreComposer&&!e.foregroundHeld&&!e.occupiedFollow}function M7(e){return e.showingAgentStage&&!e.newJobMode&&e.fault===`occupied`}function N7(e){return e.loaded&&!e.ready&&e.acpStatus===`connected`&&e.fault==null}function P7(e){return e.creating&&!e.hasJob}function F7(e){return e.creating&&!e.frameLoaded?!e.hasJob||!e.hasWebUrl?`spawning`:`opening_page`:e.workerDown&&!e.frameLoaded?`restoring_worker`:e.frameLoaded?`connecting_session`:`opening_page`}function I7(e){return e.occupiedFollow||e.settledReadonly?null:e.creating?`creating`:e.restoring?`restoring`:e.attached?null:`connecting`}function L7(e){return!e.urlJobId||!e.jobsFetched||e.jobsLoading||e.hasListError?!1:!e.knownJobIds.includes(e.urlJobId)}function R7(...e){for(let t of e)if(t)return t;return null}function z7(e){return e.mainChatActive?R7(e.defaultAgentHomeCwd,e.environmentCwd):e.draftMode?R7(e.draftHomeCwd,e.environmentCwd):R7(e.ownerHomeCwd,e.selectedJobCwd,e.environmentCwd)}var B7=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform),V7=6;function H7(e){return e===`editor`||e===`terminal`}function U7(e,t){return H7(e)||t&&e===`changes`}function W7(){return He()}function G7(e,t,n,r,i,a){let o=Object.keys(e);if(o.length<=r)return e;let s=new Set(i.filter(e=>!!e)),c=o.filter(e=>!s.has(e)).map(t=>{let r=n.find(e=>e.id===t);return{id:t,lastAccess:e[t].lastAccess,settled:!r||W$(r)}}).sort((e,t)=>e.settled===t.settled?e.lastAccess-t.lastAccess:e.settled?-1:1),l=o.length-r;if(l<=0)return e;let u={...e};for(let{id:e}of c.slice(0,l))T7(e),delete u[e],delete t[e],a?.delete(e);return u}var K7=(0,V.lazy)(()=>Ph(()=>import(`./CanvasPaneStandaloneView-AFymTrqt.js`).then(e=>({default:e.CanvasPaneStandaloneView})),__vite__mapDeps([36,1,25,26,27,30,24,28,29,31,32,33,37]))),q7=(0,V.lazy)(()=>Ph(()=>import(`./CanvasView-CoxUIOeY.js`).then(e=>({default:e.CanvasView})),__vite__mapDeps([38,1,25,26,27,30,24,28,29,31,32,33,37]))),J7=(0,V.lazy)(()=>Ph(()=>import(`./ChangesView-CTnio3qy.js`).then(e=>({default:e.ChangesView})),__vite__mapDeps([39,1,25,26,27,32,40]))),Y7=(0,V.lazy)(()=>Ph(()=>import(`./DocsView-DfGq3q0Y.js`).then(e=>({default:e.DocsView})),__vite__mapDeps([41,1,25,26,27,28]))),X7=(0,V.lazy)(()=>Ph(()=>import(`./EditorView-CYw2oZg1.js`).then(e=>({default:e.EditorView})),__vite__mapDeps([42,1,25,26,27,28,29,30,31,32,43,33,44,24,40]))),Z7=(0,V.lazy)(()=>Ph(()=>import(`./KeybindingsView-D6w9QUh3.js`).then(e=>({default:e.KeybindingsView})),__vite__mapDeps([45,1,25,26,27]))),Q7=(0,V.lazy)(()=>Ph(()=>import(`./LogsView-CP5xbyy4.js`).then(e=>({default:e.LogsView})),__vite__mapDeps([46,1,25,26,27,28,47]))),$7=(0,V.lazy)(()=>Ph(()=>import(`./MetricsView-C2c14t7O.js`).then(e=>({default:e.MetricsView})),__vite__mapDeps([48,1,25,26,27,49]))),e9=(0,V.lazy)(()=>Ph(()=>import(`./PluginsView-BSEje_UM.js`).then(e=>({default:e.PluginsView})),__vite__mapDeps([50,1,25,26,27,32,51,52]))),t9=(0,V.lazy)(()=>Ph(()=>import(`./RemoteControlView-2f1ZwMQ5.js`).then(e=>({default:e.RemoteControlView})),__vite__mapDeps([53,1,25,26,27]))),n9=(0,V.lazy)(()=>Ph(()=>import(`./SettingsView-tOHto0ek.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([34,1,25,26,27,28,35,29]))),r9=(0,V.lazy)(()=>Ph(()=>import(`./StatsView-BVIL7ys1.js`).then(e=>({default:e.StatsView})),__vite__mapDeps([54,1,25,26,27,28,55,56]))),i9=(0,V.lazy)(()=>Ph(()=>import(`./TasksView-BuNGf8H8.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([57,1,25,26,27,30,32,51,55,56]))),a9=(0,V.lazy)(()=>Ph(()=>import(`./TracesView-BagVLm59.js`).then(e=>({default:e.TracesView})),__vite__mapDeps([58,1,25,26,27,28,52,56,47,40]))),o9=(0,V.lazy)(()=>Ph(()=>import(`./WorkersView-CFhFpbFC.js`).then(e=>({default:e.WorkersView})),__vite__mapDeps([59,1,25,26,27,32,51,49])));function s9(){return(0,G.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center bg-bg-primary`,children:(0,G.jsx)(nH,{size:`small`})})}je();var c9=typeof window>`u`?``:f();c9&&(H.getState().setSeededUserIntent(c9),H.getState().ensureLeadingUserMessage(c9,{allowEmptyTimeline:!0}));function l9(){k4();let e=new URLSearchParams(window.location.search).get(`embedded`)===`agent`;m7({enabled:!e});let t=e&&ke(),{viewState:i,checkAuth:a,accountState:o}=De(),{status:p,sessionId:v,topic:x,error:T,sessionFault:D,sessionFollow:ee}=U(),O=Au(p,v),A=ht(e=>e.resolved),ne=H(e=>e.hasPendingInterruption),ae=H(e=>oo(e.timeline)),se=H(e=>so(e.timeline)),ce=H(e=>e.isAgentRunning),ue=H(e=>e.historyLoading),he=ce||ae&&!se&&p===`connected`,[ge,_e]=(0,V.useState)(()=>!e||!N()),[xe,Te]=(0,V.useState)(!e),{connect:L,park:Oe,switchSession:Ae,createSession:je,bindAgentTarget:Me}=Bf(),Pe=(0,V.useRef)(!1),Ie=(0,V.useRef)(new Map),Be=(0,V.useRef)(null),We=(0,V.useRef)(null);e&&!We.current&&(We.current=new Fe(`parked`,{connect:async()=>{Te(!1);let e=Pe.current;Pe.current=!1;try{if(await L({token:Le()||void 0,continue:!0,takeWriter:e,sessionId:u()}),U.getState().status!==`connected`)throw Error(`Embedded ACP connection did not become ready`)}catch(e){throw await Oe().catch(()=>void 0),e}Te(!0)},disconnect:async()=>{Te(!1),await Oe()}}));let qe=md(e=>e.focusedMemberName),Ye=Tp(e=>e.focusedPeerName),Ze=Tp(e=>e.setFocusedPeer),{t:z,resolved:nt}=R(),it=wn(e=>e.isOpen),ot=wn(e=>e.setOpen),st=wn(e=>e.workspaceDockOpen),ct=wn(e=>e.setWorkspaceDockOpen),lt=wn(e=>e.switchWorkspaceDockAgent),ut=wn(e=>e.setWorkspaceDockChannelActive),dt=Mt(e=>e.tabs.find(t=>t.id===e.activeId)?.kind??null),ft=id(e=>e.fileChanges),pt=Sz(),[mt,gt]=(0,V.useState)(!1),_t=pt?mt:it,vt=(0,V.useRef)(null),bt=Tp(e=>e.recentOpen),xt=Tp(e=>e.recentProjectCwd),St=Tp(e=>e.setRecentOpen),Ct=Tp(e=>e.setRecentProjectCwd),wt=Tp(e=>e.activeAgentCwd),Dt=Tp(e=>e.setActiveAgentCwd),Ot=Tp(e=>e.mainChatActive),kt=Tp(e=>e.setMainChatActive),At=Tp(e=>e.setSelectedWorkerPid),jt=Tp(e=>e.mainAgentSessionId),Nt=Tp(e=>e.setMainAgentSessionId),Pt=(0,V.useCallback)((e,t)=>{let n=ie({identity:e,rememberedMainSessionId:Tp.getState().mainAgentSessionId,connectionSessionId:U.getState().sessionId,bindingKind:t});return n?zl.getState().jobs.some(e=>e.sessionId===n&&e.kind===`background`&&e.foregroundHeld!==!0)?(console.warn(`[app] main identity resolved to an agent session; treating CodeBuddy as blank instead`),null):n:null},[]),Ft=Tp(e=>e.setAgentSessionId),Lt=Tp(e=>e.agentSessionIds),[Rt,zt]=(0,V.useState)({}),Bt=(0,V.useRef)({}),Ht=(0,V.useRef)(Rt);Ht.current=Rt;let Ut=(0,V.useRef)({}),Wt=(0,V.useRef)(new Map),Gt=(0,V.useRef)(new Set),[Kt,qt]=(0,V.useState)(`unknown`),[Jt,Yt]=(0,V.useState)(null),Xt=(0,V.useRef)(!1),Zt=Tt(e=>e.cwd),Qt=ve(e=>e.info?.cwd??null),B=zl(e=>e.selectedJobId),$t=Ki(e=>e.phase),en=Ki(e=>e.target),tn=zl(e=>e.selectedJobTitle),nn=zl(e=>e.jobs.find(e=>e.id===B)??null),rn=zl(e=>e.selectedJobId!==null&&!!e.respawningJobIds[e.selectedJobId]);(0,V.useEffect)(()=>{if(!e&&B)try{if(typeof sessionStorage>`u`)return;let e=JSON.parse(sessionStorage.getItem(`agent-session-map`)??`{}`)[B];e&&typeof e==`string`&&!Lt[B]&&Ft(B,e)}catch{}},[e,B,Lt,Ft]);let an=(0,V.useRef)(!1);(0,V.useEffect)(()=>{e||an.current||(an.current=!0,B&&Ot&&kt(!1))},[e,B,Ot,kt]);let on=Tp(e=>e.newJobMode),ln=Tp(e=>e.setNewJobMode),un=Tp(e=>e.newChannelMode),dn=Tp(e=>e.setNewChannelMode),fn=Tp(e=>e.selectedChannelId),pn=Tp(e=>e.setSelectedChannelId),mn=Z(e=>fn?e.channels.find(e=>e.id===fn)??null:null),[hn,gn]=(0,V.useState)(0),_n=(0,V.useCallback)((t,n)=>{if(e||Ot||B!==t)return;let r=et();r.jobId===t&&r.sessionId!==n&&(Ce({jobId:t,sessionId:n}),gn(e=>e+1))},[e,Ot,B]);(0,V.useEffect)(()=>{let e=()=>gn(e=>e+1);return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[]),(0,V.useEffect)(()=>{if(e)return;let t=et();if(t.jobId){if(Ki.getState().target?.kind===`job`&&d({urlJobId:t.jobId,mainChatActive:Ot,selectedJobId:B,newJobMode:on,selectedChannelId:fn})){Ce({jobId:null,sessionId:Pt(t,Ki.getState().target?.kind??null),mainSessionId:null}),gn(e=>e+1);return}if(l({urlJobId:t.jobId,mainChatActive:Ot,selectedJobId:B,newJobMode:on,selectedChannelId:fn})&&B){let e=zl.getState().jobs.find(e=>e.id===B),t=Lt[B]??e?.sessionId??null;if(!t)return;Ce({jobId:B,sessionId:t,mainSessionId:jt}),gn(e=>e+1);return}B!==t.jobId&&(zl.getState().selectJob(t.jobId),kt(!1)),t.sessionId&&Lt[t.jobId]!==t.sessionId&&Ft(t.jobId,t.sessionId);let e=t.sessionId??(t.jobId===B?Lt[t.jobId]??nn?.sessionId??null:null);if(t.jobId&&!e)return;if(t.jobId&&!t.sessionId){Ce({jobId:t.jobId,sessionId:e,mainSessionId:t.mainSessionId??jt}),gn(e=>e+1);return}let n=s({...t,sessionId:e},{fallbackMainSessionId:jt});if(!n)return;let r=Ki.getState();if(r.phase===`attached`&&Ui(r.target,n))return;Me(n).catch(e=>{console.warn(`[app] bind agent target failed:`,e)});return}if(B&&!on&&!fn){let e=zl.getState().jobs.find(e=>e.id===B),t=Lt[B]??e?.sessionId??null;if(!e||!t)return;Ce({jobId:B,sessionId:t,mainSessionId:jt}),gn(e=>e+1);return}let n=Ki.getState();n.target?.kind===`job`&&(zl.getState().selectJob(null),kt(!0),Me({kind:`main`,baseUrl:pe(null),sessionId:Pt(t,n.target?.kind??null),mainSessionId:null}).catch(e=>{console.warn(`[app] bind main target failed:`,e)}))},[Lt,Me,e,jt,Ot,on,fn,B,nn?.sessionId,v,Ft,kt,hn]);let vn=Z(e=>e.enabled),yn=Z(e=>e.loading),bn=Z(e=>e.channels);(0,V.useEffect)(()=>{vn===!0&&!yn&&fn&&Tp.getState().leaveMissingChannel(bn.map(e=>e.id))},[vn,yn,bn,fn]);let xn=Z(e=>e.agents),Sn=Z(e=>e.defaultAgentId),Cn=Z(e=>e.jobAssignments),Tn=Z(e=>e.draftAgentId),En=Z(e=>e.localDraft),Dn=on&&Tn?xn.find(e=>e.id===Tn)??null:null,On=Z(e=>e.groups),kn=Z(e=>e.draftRoomId),An=on&&kn?On.find(e=>e.id===kn)??null:null;(0,V.useEffect)(()=>{let e=vn===!0&&nn?Cn[nn.id]:void 0,t=z7({mainChatActive:Ot,draftMode:on,draftHomeCwd:An?.homeCwd??Dn?.homeCwd??En?.homeCwd??null,selectedJobCwd:nn?.cwd??null,ownerHomeCwd:e?xn.find(t=>t.id===e)?.homeCwd??null:null,defaultAgentHomeCwd:vn===!0?xn.find(e=>e.id===Sn)?.homeCwd??null:null,environmentCwd:Qt});t&&t!==wt&&Dt(t)},[wt,xn,Cn,Sn,vn,Dn,An,Qt,En,Ot,on,nn,Dt]),(0,V.useEffect)(()=>{!on&&En&&!Jt&&Z.getState().discardLocalDraft()},[Jt,En,on]);let jn=nn?.cwd??null,Mn=nn?Lt[nn.id]??nn.sessionId??null:null,Nn=!e&&!Ot&&B!==null,Pn=B?$t===`attached`&&en?.kind===`job`&&en.jobId===B&&!ee?null:B:null;b7({sessionId:v,enabled:ee&&!Nn&&!e});let Fn=zl(e=>e.jobs),In=zl(e=>e.jobsFetched),Ln=zl(e=>e.loading),Rn=zl(e=>e.listError);(0,V.useEffect)(()=>{if(e||on||fn)return;let t=et().jobId;L7({urlJobId:t,jobsFetched:In,jobsLoading:Ln,hasListError:Rn!==null,knownJobIds:Fn.map(e=>e.id)})&&(console.warn(`[app] URL names a job that no longer exists; returning to the main chat:`,t),zl.getState().selectJob(null),kt(!0),Ce({jobId:null,sessionId:jt,mainSessionId:null}),gn(e=>e+1))},[Fn,e,In,Rn,Ln,jt,on,fn,kt,hn]);let zn=(0,V.useCallback)(e=>{Ze(null),pn(null),dn(!1);let t=Z.getState();t.setDraftRoom(null),t.clearAgentUnread(e.id).catch(()=>void 0),FU(e.id);let n=t.groups.find(t=>t.visibility!==`hidden`&&t.memberAgentIds.includes(e.id));if(t.setFocusedRoomId(n?.id??null),Dt(e.id===t.defaultAgentId&&Qt&&Qt!==`/`?Qt:e.homeCwd),e.id===t.defaultAgentId){t.setDraftAgent(null),zl.getState().selectJob(null),At(null),kt(!0),ln(!1);return}let r=zl.getState().jobs,i=r.filter(n=>t.agentIdForJob(n.id)===e.id),a=(e.primaryJobId?i.find(t=>t.id===e.primaryJobId)??r.find(t=>t.id===e.primaryJobId):void 0)??sn(void 0,i);if(a){t.setDraftAgent(null),a.id!==e.primaryJobId&&t.setPrimaryJob(e.id,a.id).catch(()=>void 0),zl.getState().selectJob(a.id,e.name),At(null),kt(!1),ln(!1);return}t.setDraftAgent(e.id),zl.getState().selectJob(null),At(null),kt(!1),ln(!0)},[Qt,Dt,Ze,kt,dn,ln,pn,At]),Bn=(0,V.useCallback)(e=>{Ze(null),pn(null),dn(!1);let t=Z.getState();t.setDraftAgent(null),t.setDraftRoom(null),zl.getState().selectJob(e.id,e.name??null),At(null),kt(!1),ln(!1),Dt(e.cwd??Qt)},[Qt,Dt,Ze,kt,dn,ln,pn,At]),Vn=(0,V.useCallback)(e=>{let t=Z.getState();LU(e.id),t.setFocusedRoomId(e.id),t.setDraftRoom(null),e.unreadByUser&&t.updateGroup(e.id,{unreadByUser:0}).catch(()=>void 0);let n=new Map(t.agents.map(e=>[e.id,e])),r=Vt(e.memberAgentIds,t.defaultAgentId,n);r&&zn(r)},[zn]);(0,V.useEffect)(()=>{if(e)return;if(on||fn){zt(e=>{let t=Object.keys(e);if(t.length===0)return e;for(let e of t)delete Bt.current[e],Gt.current.delete(e);return{}});return}if(!nn||!Nn)return;let t=nn.id;if(!b(nn))return;let n=nn.webUrl,r=Ue(nn),i=Bt.current[t]instanceof HTMLIFrameElement;zt(e=>{let a=e[t];if(a&&a.webUrl===n&&a.theme===A&&a.loaded&&i)return e;let o=a?.sessionId??Lt[t]??nn.sessionId??null;if(!o)return e;let s=Z.getState(),c=It({agents:s.agents,defaultAgentId:s.defaultAgentId,jobAssignments:s.jobAssignments,selectedJobId:t,mainChatActive:!1,embeddedJobId:t}),l;try{l=M(n,o,nn.cwd,Le(),A,window.location.hostname,t,{...c.name||c.seed?{id:c.seed,name:c.name,seed:c.seed}:{},...F(nn.intent)?{intent:F(nn.intent)}:{}})}catch{return e}if(a&&S(a.url,l)){if(a.webUrl===n&&a.theme===A)return e;if(a.theme===A&&i)return{...e,[t]:{...a,webUrl:n,sessionId:o}}}return E7(t),r?Gt.current.delete(t):Gt.current.add(t),G7(a?{...e,[t]:{...a,webUrl:n,sessionId:o,url:l,theme:A,loaded:!1,ready:!1,needsInput:null,running:null,acpStatus:null,fault:null}}:{...e,[t]:{jobId:t,webUrl:n,sessionId:o,url:l,theme:A,loaded:!1,ready:!1,needsInput:null,running:null,topic:null,acpStatus:null,fault:null,lastAccess:Date.now()}},Bt.current,Fn,4,[t],Gt.current)})},[e,on,fn,nn,Nn,Lt,Fn,4,B,A]),(0,V.useEffect)(()=>{zt(e=>{let t={...e},n=!1;for(let e of Object.keys(t)){let r=Fn.find(t=>t.id===e);if(!Ue(r)){if(e===B){if(!r)continue;Gt.current.has(e)||(Gt.current.add(e),T7(e),_(Bt.current[e],Xe));continue}delete t[e],delete Bt.current[e],Gt.current.delete(e),n=!0}}return n?t:e})},[Fn,B]),(0,V.useEffect)(()=>{B&&zt(e=>{let t=e[B];return!t||t.lastAccess===Date.now()?e:{...e,[B]:{...t,lastAccess:Date.now()}}})},[B]),(0,V.useEffect)(()=>{if(e)return;let t=Nn&&!on&&!fn;for(let e of Object.keys(Bt.current)){let n=Bt.current[e],r=Fn.find(t=>t.id===e),i=Ee({selectedLive:t,frameJobId:e,selectedJobId:B,job:r});if(!i)continue;let a=Gt.current.has(e);i===`live`&&a?(Gt.current.delete(e),_(n,be)):i===`parked`&&!a&&n&&(Gt.current.add(e),T7(e),_(n,Xe))}},[Fn,e,Nn,on,fn,B,Rt]);let Hn=tn||nn?.name||v1(nn?.intent??``)||(B?z(`agents.instanceFallback`).replace(`{id}`,B.slice(0,8)):null),Un=B?Rt[B]:null,Wn=$t===`attached`&&en?.kind===`job`&&en.jobId===B,Gn=Wn,Kn=(0,V.useRef)(null),qn=(0,V.useMemo)(()=>{if(vn===!0){if(un)return z(`agentHome.channel.new`);if(mn)return mn.name;if(on)return En?.name??Dn?.name;if(!Ot&&B){let e=Cn[B];return e?xn.find(t=>t.id===e)?.name:void 0}}},[vn,un,mn,on,En,Dn,Ot,B,Cn,Sn,xn,z]),Jn=(0,V.useMemo)(()=>{let t=z(`sessions.currentTitle`);if(e){let e=cn();if(e)return e}if(vn!==!0)return{name:qn??t,seed:`main`};if(on)return{name:qn??t,seed:Dn?.id??Sn??`main`};let n=It({agents:xn,defaultAgentId:Sn,jobAssignments:Cn,selectedJobId:B,mainChatActive:Ot,embeddedJobId:e?N():null});return{name:n.name??qn??t,seed:n.seed}},[vn,on,Dn,xn,Sn,Cn,B,Ot,e,qn,z]),Yn=Jn.name,Xn=Jn.seed,Zn=Jt!==null&&Jt===B,Qn=nn!=null&&!Ue(nn),$n=Wn?!1:Kt===`dead`||Kt===`unknown`&&!Gn,er=Wn,tr=Nn&&!on?Zn&&!er?`creating`:nn?.foregroundHeld?null:(!Gn||Qn)&&!Zn?`restoring`:null:null,nr=!!(nn&&q$(nn)&&!rn);(0,V.useEffect)(()=>{Jt&&(Jt!==B||er)&&Yt(null)},[Jt,er,B]);let rr=F7({creating:tr===`creating`||Zn,hasJob:!!nn,hasWebUrl:!!nn?.webUrl,frameLoaded:Gn,workerDown:Qn&&tr!==`creating`&&!Zn}),ir=M7({showingAgentStage:Nn,newJobMode:on,fault:D}),ar=Nn&&!on&&(ir||!Gn||Qn||!er),or=A7({attached:Wn,occupiedFollow:ir,settledReadonly:nr,foregroundHeld:!!nn?.foregroundHeld,transitioning:tr!==null});(0,V.useEffect)(()=>{Wn&&nn&&!Ue(nn)&&H.getState().settleRunStateForSettledSession()},[nn,Wn]);let sr=I7({attached:Wn,creating:tr===`creating`,restoring:tr===`restoring`,occupiedFollow:ir,settledReadonly:nr}),cr=sr===`creating`?z(`agents.live.creating`):sr===`restoring`?z(`agents.live.restoring`):sr===`connecting`?z(`agents.boot.connecting`):null,lr=k7({showingAgentStage:Nn,newJobMode:on,creatingSelectedAgent:Zn,foregroundHeld:!!nn?.foregroundHeld,frameDead:$n,workerDown:Qn}),ur=C(p,T,D),dr=ar&&!lr?D??null:null,fr=e||!Nn?ur:null,pr=(0,V.useCallback)(()=>{if(!lr){if(e){Pe.current=ee||D===`occupied`,We.current?.restart().catch(()=>void 0);return}if(Nn&&B){_(Bt.current[B],be,{takeWriter:dr===`occupied`});return}L({continue:!0,takeWriter:ee||D===`occupied`})}},[L,e,dr,B,D,ee,lr,Nn]);(0,V.useEffect)(()=>{if(e||!Nn||!B)return;let t=dr;if(!t||t===`occupied`)return;let n=`${B}:${t}`;Kn.current!==n&&(Kn.current=n,W.error(z(r(t))))},[e,dr,B,Nn,z]),(0,V.useEffect)(()=>{Kn.current=null},[B]),(0,V.useLayoutEffect)(()=>{Nn&&B&&(ar||lr)&&T7(B)},[B,lr,ar,Nn]),(0,V.useEffect)(()=>{if(!B||!N7({loaded:Gn,ready:er,acpStatus:Un?.acpStatus,fault:Un?.fault}))return;let e=window.setTimeout(()=>{zt(e=>{let t=e[B];return!t||t.ready||!t.loaded?e:{...e,[B]:{...t,ready:!0}}})},2500);return()=>window.clearTimeout(e)},[Un?.acpStatus,Un?.fault,Gn,er,B]),(0,V.useEffect)(()=>{if(B&&lr)return T7(B),()=>{E7(B);let e=as.getState().drafts[Jo(B)];P(Bt.current[B],{text:e?.text??``,updatedAt:e?.updatedAt??Date.now()})}},[B,lr]);let mr=Yo({embeddedJobId:e?N():null,mainChatActive:Ot,selectedJobId:B}),hr=e?oe():null,gr=e?hr??Qt:Ot?wt??Qt:jn??wt??Qt,_r=(0,V.useRef)(new Set),vr=(0,V.useRef)(new Set),yr=(0,V.useRef)(new Map),[br,xr]=(0,V.useState)(!1),[Sr,Cr]=(0,V.useState)(!1),[wr,Tr]=(0,V.useState)(!1),[Er,Dr]=(0,V.useState)(!1),[Or,kr]=(0,V.useState)(void 0),{splitPane:Ar,mainView:jr,setMainView:Mr}=yt(),Nr=U7(jr,pt),Pr=jr===`chat`||Nr,Fr=pt?Nr:Pr&&st,Ir=pt?jr===`chat`:Pr;(0,V.useLayoutEffect)(()=>{if(!e)for(let e of Object.values(Rt)){let t=at({showingAgentStage:Nn,newJobMode:on||!!fn,jobId:e.jobId,selectedJobId:B,loaded:e.loaded,chatHostVisible:Ir&&Pr});tt(Bt.current[e.jobId],t)}},[Rt,Pr,e,on,fn,B,Ir,Nn]);let Lr=H(e=>e.timeline),Rr=H(e=>e.historyLoading),zr=Ko(e=>e.sessionBlank),Br=Ko(e=>e.currentAgentName),Vr=(0,V.useMemo)(()=>OW(Lr).length,[Lr]),Hr=D7({mainViewIsChat:jr===`chat`,embeddedAgent:e,showingAgentStage:Nn,newJobMode:on,focusedMember:!!qe,sessionReady:O,historyLoading:Rr,visibleGroups:Vr,sessionBlank:zr}),Ur=O7({sessionReady:O,showingAgentStage:Nn,embeddedAgent:e,view:D===`occupied`?`occupied`:p===`error`||D?`fault`:`spin`});(0,V.useEffect)(()=>{ut(!!(fn||un))},[un,fn,ut]),(0,V.useEffect)(()=>{gt(!1)},[pt,jr]),(0,V.useEffect)(()=>{jr===`changes`&&id.getState().markChangesSeen()},[ft,jr]),(0,V.useEffect)(()=>{U7(jr,pt)&&(Mt.getState().ensureTab(jr),ct(!0),!pt&&!W7()&&Mr(`chat`))},[pt,jr,Mr,ct]);let Wr=(0,V.useCallback)((e,t)=>{let n=e.trim();if(!n){W.error(z(`settings.workspaceMissing`));return}if(pt){let e=new URLSearchParams({scope:`project`,cwd:n});t&&e.set(`name`,t),Mr(`settings`),window.location.hash=`/settings?${e.toString()}`,gt(!1);return}Mt.getState().ensureSettingsTab(n,t?z(`settings.workspaceFor`,{name:t}):z(`agents.workspaceSettings`)),ct(!0)},[pt,Mr,ct,z]),Gr=(0,V.useCallback)(()=>{if(pt){gt(e=>!e);return}wn.getState().toggle()},[pt]),Kr=(0,V.useCallback)(()=>{pt&>(!1)},[pt]),qr=(0,V.useCallback)(()=>{if(pt){gt(!0);return}ot(!0)},[pt,ot]);(0,V.useEffect)(()=>{let e=e=>A0.handleKeyDown(e);return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,V.useEffect)(()=>{i!==`authenticated`||e||Z.getState().load().catch(()=>void 0)},[i,e]),(0,V.useEffect)(()=>{i!==`authenticated`||e||vn!==null&&c6({embedded:e,homeEnabled:vn}).catch(()=>void 0)},[i,e,vn]),(0,V.useEffect)(()=>{if(e)return;if(vn!==!0){vn===!1&&Mt.getState().switchHomeAgent(null);return}let t=B?Cn[B]:void 0;if(B&&!t&&!En&&!Tn&&!Ot)return;let n=En?.id??Tn??t??(Ot?Sn:void 0)??IU()??Sn??`main`;Mt.getState().switchHomeAgent(n),lt(n)},[Cn,Sn,vn,Tn,e,En?.id,Ot,B,lt]),(0,V.useEffect)(()=>{if(i!==`authenticated`||e)return;let t=!1;return(async()=>{try{let e=await ze(`/api/v1/channels`,{headers:Je()});if(!e.ok||t)return;let n=await e.json();kr(n.capabilities?.remoteControlEnabled===!0)}catch{}})(),()=>{t=!0}},[i]),(0,V.useEffect)(()=>{p===`connected`&&C0.getState().loadBindings()},[p]);let Jr=(0,V.useCallback)((e,t)=>{let n=zl.getState().jobs.find(t=>t.id===e);if(!n)return;let r=n.webUrl,i=Z.getState(),a=It({agents:i.agents,defaultAgentId:i.defaultAgentId,jobAssignments:i.jobAssignments,selectedJobId:e,mainChatActive:!1,embeddedJobId:e}),o;try{o=M(r,t,n.cwd,Le(),A,window.location.hostname,e,{...a.name||a.seed?{id:a.seed,name:a.name,seed:a.seed}:{},...F(n.intent)?{intent:F(n.intent)}:{}})}catch{return}T7(e),E7(e),Gt.current.delete(e),zt(n=>{let i=n[e];return i?{...n,[e]:{...i,webUrl:r,sessionId:t,url:c(o),theme:A,loaded:!1,ready:!1,needsInput:null,running:null,acpStatus:null,fault:null}}:n})},[A]),Yr=(0,V.useCallback)(e=>{Wt.current.delete(e),zt(t=>{let n=t[e];return!n||n.loaded?t:{...t,[e]:{...n,loaded:!0}}})},[]);(0,V.useEffect)(()=>{B&&Wt.current.delete(B)},[B]),(0,V.useEffect)(()=>{if(e||!Nn||on||!B)return;let t=B;qt(`unknown`);let n=e=>{let n=Bt.current[t],r=Ht.current[t];if(!n||!r)return;let i=k(n,we(r.url));if(i===`alive`||i===`opaque`){qt(`alive`),Yr(t);return}if(!e||i!==`dead`)return;qt(`dead`),T7(t),r.loaded&&zt(e=>{let n=e[t];return n?.loaded?{...e,[t]:{...n,loaded:!1}}:e});let a=Wt.current.get(t)??0;a>=2||(Wt.current.set(t,a+1),E7(t),Gt.current.delete(t),zt(e=>{let n=e[t];return n?{...e,[t]:{...n,loaded:!1,ready:!1,needsInput:null,running:null,url:c(n.url)}}:e}))},r=window.requestAnimationFrame(()=>n(!1)),i=window.setTimeout(()=>n(!0),Se);return()=>{window.cancelAnimationFrame(r),window.clearTimeout(i)}},[Un?.url,e,Nn,on,B,Yr]);let Xr=(0,V.useCallback)(e=>{Ar(e)},[Ar]),Zr=(0,V.useCallback)(async()=>{if(!v)return null;let t=Tp.getState(),n=zl.getState().selectedJobId;if(!e&&!t.mainChatActive&&n){let e=Date.now()+3e3;for(;U.getState().sessionSwitching&&Date.now()<e;)await new Promise(e=>window.setTimeout(e,50));if(U.getState().sessionSwitching)return W.error(z(`error.newChatFailed`)),null;let t=Bt.current[n],r=Lt[n]??zl.getState().jobs.find(e=>e.id===n)?.sessionId??null,i=typeof crypto?.randomUUID==`function`?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`;if(!_(t,`codebuddy.agent-frame-new-chat`,{requestId:i}))return W.error(z(`error.newChatFailed`)),null;let a=Date.now()+5e3,o=window.setInterval(()=>{Date.now()<a&&_(t,Ne,{requestId:i})},150);try{for(;Date.now()<a;){try{let e=await nl(n);if(e.sessionId&&e.sessionId!==r)return Ft(n,e.sessionId),_n(n,e.sessionId),e.sessionId}catch{}await new Promise(e=>window.setTimeout(e,150))}}finally{window.clearInterval(o)}return W.error(z(`error.newChatFailed`)),null}let r=Date.now()+3e3;for(;U.getState().sessionSwitching&&Date.now()<r;)await new Promise(e=>window.setTimeout(e,50));if(U.getState().sessionSwitching)return W.error(z(`error.newChatFailed`)),null;let i;try{i=await je()}catch{return W.error(z(`error.newChatFailed`)),null}return Nt(i),!wt&&Qt&&Dt(Qt),Ze(null),ln(!1),Mr(`chat`),window.location.hash=`/chat`,i},[Lt,v,wt,_n,je,e,Qt,nl,Ft,Mr,z,Dt,ln,Nt,Ze]),Qr=(0,V.useCallback)(async(e,t,n)=>{if(!v)return!1;let r=Ki.getState().target,i=r?.kind===`job`?r.jobId??null:null,a=Tp.getState(),o=zl.getState().jobs;if(i&&!(t=>t?r?.kind===`job`&&r.sessionId===e||a.agentSessionIds[t]===e||o.some(n=>n.id===t&&n.sessionId===e):!1)(i))return!0;try{return await Ae(e),Dt(t??wt??Qt),Ze(null),ln(!1),Mr(`chat`),window.location.hash=`/chat`,!0}catch(e){let t=ye(e);console.error(`[App] Session switch failed: ${t}`,e);let r=/external writer|Persistent Session already has|current external writer/i.test(t),i=/ADMISSION_FAILED|admission did not commit/i.test(t);return r&&n?.silentOccupied||(r?W.info(z(`error.sessionOccupied`)):W.error(i?z(`error.sessionUnavailable`):`${z(`error.switchSessionFailed`)}: ${t}`)),!1}},[v,wt,Qt,Mr,Ae,z,Dt,ln,Ze]),$r=(0,V.useCallback)(t=>{let n=t.trim();if(!e||!n)return Promise.resolve();let r=Be.current;if(r)return r.targetSessionId=n,r.promise;let i={targetSessionId:n,promise:Promise.resolve()},a=(async()=>{let e=Date.now()+1e4,t=0;for(;Date.now()<e;){let e=i.targetSessionId;if(U.getState().sessionId!==e){if(!await Qr(e,void 0,{silentOccupied:!0})){if(t+=1,t>=V7){console.warn(`[app] embedded session sync giving up after `+t+` failed switches; target may not belong to this worker:`,e);return}await new Promise(e=>window.setTimeout(e,Math.min(100*2**(t-1),1500)));continue}t=0}if(i.targetSessionId===e&&U.getState().sessionId===e)return}throw Error(`Embedded session sync timed out: ${i.targetSessionId}`)})().finally(()=>{Be.current===i&&(Be.current=null)});return i.promise=a,Be.current=i,a},[e,Qr]),ei=(0,V.useCallback)((e,t)=>Qr(e,t,{silentOccupied:!0}),[Qr]),ti=(0,V.useCallback)(async e=>{if(!e.sessionId)return W.info(z(`scheduled.execution.noConversation`)),!1;if((e.status===`queued`||e.status===`running`)&&e.ownerPid){await Wf.getState().fetchWorkers();let t=Wf.getState().workers.find(t=>t.pid===e.ownerPid);if(t&&!t.isCurrent){let n=Kf(t,e.sessionId,e.id);if(n)return window.location.href=n,!0}}let t=new URL(window.location.href);if(t.searchParams.set(`focusExecutionId`,e.id),window.history.replaceState({},``,t.toString()),v===e.sessionId)return zl.getState().selectJob(null),kt(!0),At(null),Mr(`chat`),window.location.hash=`/chat`,window.requestAnimationFrame(()=>{window.dispatchEvent(new CustomEvent(`codebuddy:focus-scheduled-execution`,{detail:e.id}))}),!0;if(!await Qr(e.sessionId,Zt??void 0)){let e=new URL(window.location.href);return e.searchParams.delete(`focusExecutionId`),window.history.replaceState({},``,e.toString()),!1}return Nt(e.sessionId),zl.getState().selectJob(null),kt(!0),At(null),Dt(Zt??null),window.requestAnimationFrame(()=>{window.dispatchEvent(new CustomEvent(`codebuddy:focus-scheduled-execution`,{detail:e.id}))}),!0},[Qr,v,Dt,Nt,kt,Mr,At,z,Zt]),ni=(0,V.useCallback)(e=>{let t=e===`remote-control`&&Or===!1?`chat`:e;if(pt){gt(!1),Mr(t),window.location.hash=`/${t}`;return}if(H7(t)&&!W7()){Mt.getState().ensureTab(t),ct(!0),yt.getState().mainView!==`chat`&&(Mr(`chat`),window.location.hash=`/chat`);return}Mr(t),window.location.hash=`/${t}`},[pt,Or,Mr,ct]),ri=(0,V.useCallback)(e=>{if(pt){if(e===`settings`){let e=Mt.getState().activeTab(),t=new URLSearchParams({scope:`project`});e?.settingsCwd&&t.set(`cwd`,e.settingsCwd),Mr(`settings`),window.location.hash=`/settings?${t.toString()}`;return}ni(e===`explorer`||e===`search`||e===`scm`||e===`browser`||e===`bgTask`||e===`subagent`||e===`workflow`?`editor`:e??`chat`);return}e&&ct(!0)},[ni,pt,ct]),ii=(0,V.useCallback)(()=>{ct(!wn.getState().workspaceDockOpen)},[ct]),ai=(0,V.useCallback)(()=>{if(bt){St(!1);return}Ct(Zt??null),St(!0)},[bt,Zt,Ct,St]),oi=(0,V.useCallback)(()=>{Dr(e=>!e)},[]),si=(0,V.useCallback)(()=>{Dr(!0)},[]),ci=(0,V.useCallback)(async(e,t)=>{let n=Tp.getState().mainChatActive?null:zl.getState().selectedJobId;return n?(Ft(n,e),Jr(n,e),zl.getState().selectJob(n,zl.getState().selectedJobTitle),kt(!1),At(null),Dt(t),!0):await Qr(e,t)?(Nt(e),zl.getState().selectJob(null),kt(!0),At(null),Dt(t),!0):!1},[Qr,Dt,Ft,Nt,kt,At,Jr]),li=(0,V.useCallback)(()=>{Z.getState().beginLocalDraft(z(`agentHome.defaultName`),Zt??null),zl.getState().selectJob(null),kt(!1),dn(!1),pn(null),ln(!0),Mr(`chat`),window.location.hash=`/chat`},[kt,Mr,dn,ln,pn,z,Zt]),ui=(0,V.useCallback)(()=>{Z.getState().beginLocalDraft(z(`agentHome.defaultName`),Zt??null)},[z,Zt]),di=(0,V.useCallback)(async e=>{let t=Z.getState(),n=t.defaultAgentId,r=new Map(t.agents.map(e=>[e.id,e])),i=[...new Set(e.memberAgentIds)],a=i.filter(e=>kp(e,n,r.get(e)?.engine));if(i.some(e=>e===n)?W.info(z(`agentHome.channel.defaultBlocked`)):a.length!==i.length&&W.info(z(`agentHome.room.minimalBlocked`)),a.length<2){W.info(z(`agentHome.channel.needTwo`));return}if(a.length>6){W.info(z(`agentHome.channel.pickHint`));return}let o=null;try{o=await Z.getState().createChannel({memberAgentIds:a,...e.name?.trim()?{name:e.name.trim()}:{}})}catch(e){W.error(D1(e,z(`agentHome.opFailed`)));return}if(!o){W.error(z(`agentHome.opFailed`));return}let s=Tp.getState();s.preChannelSelection||s.capturePreChannelSelection(),dn(!1),pn(o.id)},[dn,pn,z]),fi=(0,V.useCallback)(()=>{let e=Z.getState();e.discardLocalDraft(),e.setPendingRecipients([]),e.setDraftAgent(null),ln(!1),dn(!1),Mr(`chat`),window.location.hash=`/chat`},[Mr,dn,ln]),pi=(0,V.useCallback)(async(e,t,n)=>{vr.current.add(e),Yt(e);let r=zl.getState().jobs.find(t=>t.id===e);zl.getState().selectJob(e,r?.name??null),At(null),kt(!1);let i=Z.getState(),a=n??i.localDraft,o=a?.homeCwd??(i.draftAgentId?i.agents.find(e=>e.id===i.draftAgentId)?.homeCwd:null);Dt(r?.cwd??o??Qt);let s=typeof t.engine==`string`?t.engine.trim():void 0,c=typeof t.model==`string`?t.model.trim():void 0,l=typeof t.permissionMode==`string`?t.permissionMode.trim():void 0;if(ln(!1),i.enabled===!0&&a){try{let t=await i.createAgent({name:a.name,homeCwd:r?.cwd??a.homeCwd??void 0,...s?{engine:s}:{},...c?{model:c}:{},...l?{permissionMode:l}:{}});t&&(await i.assignJob(t.id,e),FU(t.id),Mt.getState().switchHomeAgent(t.id))}catch{}finally{i.discardLocalDraft()}return}let u=t.agentId??i.draftAgentId;if(i.enabled===!0&&u){i.jobAssignments[e]!==u&&await i.assignJob(u,e).catch(()=>void 0),FU(u);let t={...s===void 0?{}:{engine:s},...c===void 0?{}:{model:c},...l===void 0?{}:{permissionMode:l}};Object.keys(t).length>0&&await i.updateAgent(u,t)}},[Qt,Dt,kt,ln,At]),mi=(0,V.useCallback)(async(e,t,n)=>{n&&(Xt.current=!0);try{let r=Z.getState(),i=r.pendingRecipients;if(i.length>0){let a=[];for(let e of i){let t=e.kind===`agent`?e.id:await r.promoteRun(e.id,{name:e.name,homeCwd:e.homeCwd});t&&a.push(t)}let o=[...new Set(a)];if(r.setPendingRecipients([]),o.length>=2){let r=Z.getState(),i=new Map(r.agents.map(e=>[e.id,e]));if(o.some(e=>!kp(e,r.defaultAgentId,i.get(e)?.engine))){W.info(o.some(e=>e===r.defaultAgentId)?z(`agentHome.team.defaultBlocked`):z(`agentHome.room.minimalBlocked`));let i=o[0];r.setDraftAgent(i),await pi(e,t,n);return}let a=await r.ensureRoom(o.map(e=>({kind:`agent`,id:e})));if(a){r.setFocusedRoomId(a.id),LU(a.id);let i=o.find(e=>e!==r.defaultAgentId)??o[0];if(i===r.defaultAgentId){r.setDraftRoom(null),await pi(e,t,n);return}r.setDraftAgent(i),r.setDraftRoom(null),await pi(e,t,n);return}W.info(z(`agentHome.room.full`))}else if(o.length===1){let i=Z.getState().agents.find(e=>e.id===o[0]);if(i){r.setDraftAgent(i.id),await pi(e,t,n);return}}}let a=r.draftRoomId?r.groups.find(e=>e.id===r.draftRoomId):void 0;if(a){r.setFocusedRoomId(a.id),r.setDraftRoom(null);let e=a.memberAgentIds.find(e=>e!==r.defaultAgentId)??a.memberAgentIds[0];e&&e!==r.defaultAgentId&&r.setDraftAgent(e)}return await pi(e,t,n)}finally{Xt.current=!1,n&&Z.getState().discardLocalDraft()}},[pi,z]);(0,V.useEffect)(()=>{if(Ot||on||!nn?.sessionId||nn.foregroundHeld)return;let e,t=()=>{let n=zl.getState().jobs.find(e=>e.id===nn.id);if(!n)return;if(zl.getState().manuallyStoppedAgentIds[n.id]){vr.current.delete(n.id),yr.current.delete(n.id);return}let r=rt(n,vr.current.has(n.id));if(r===null){(n.webUrl||n.alive)&&vr.current.delete(n.id);return}if(r>0){e=setTimeout(t,r);return}if(vr.current.delete(n.id),_r.current.has(n.id))return;let i=Date.now(),a=yr.current.get(n.id),o=a?.nextRetryAt??0;if(i<o){e=setTimeout(t,o-i);return}let s=a?.failures??0,c=$e(s,1e3,8e3);yr.current.set(n.id,{failures:s+1,nextRetryAt:i+c}),_r.current.add(n.id),zl.getState().respawnJob(n.id).catch(()=>void 0).finally(()=>_r.current.delete(n.id))};return t(),()=>{e&&clearTimeout(e)}},[Ot,on,nn?.alive,nn?.foregroundHeld,nn?.id,nn?.sessionId,nn?.settled,nn?.startedAt,nn?.state,nn?.tempo,nn?.webUrl]),(0,V.useEffect)(()=>{B&&de(er,nn)&&yr.current.delete(B)},[er,nn,B]);let gi=(0,V.useCallback)(()=>{B&&zl.getState().respawnJob(B).catch(()=>{})},[B]);if((0,V.useEffect)(()=>{let e=e=>{let t=Object.keys(Bt.current).find(t=>Bt.current[t]?.contentWindow===e.source);if(!t||!zl.getState().jobs.find(e=>e.id===t)||e.origin!==window.location.origin)return;if(E(e.data)){if(e.data.kind===`url`){try{Mt.getState().ensureBrowserTab(e.data.url),ct(!0)}catch{}return}let{path:t,line:n,endLine:r}=e.data,i=t.substring(t.lastIndexOf(`/`)+1),a=n?{line:n,col:1,endLine:r,query:``}:void 0;Mt.getState().ensureFileTab(t,i),ct(!0);let o=Et.getState();o.openFile(t,i,a).then(()=>{o.revealInTree(t)}).catch(()=>void 0);return}if(!w(e.data))return;let n=typeof e.data.sessionId==`string`?e.data.sessionId.trim():``,r=Ht.current[t],i=Ut.current[t],a=!!(n&&i&&i!==n&&r?.sessionId===n);n&&!a&&(Ft(t,n),_n(t,n),rl(t,n).catch(()=>void 0),delete Ut.current[t]),typeof e.data.agentName==`string`&&e.data.agentName.trim()&&D4(e.data.agentName,t),zt(r=>{let i=r[t];return i?{...r,[t]:{...i,sessionId:n&&!a?n:i.sessionId,needsInput:typeof e.data.needsInput==`boolean`?e.data.needsInput:i.needsInput,running:typeof e.data.running==`boolean`?e.data.running:i.running,topic:e.data.topic,ready:typeof e.data.ready==`boolean`?e.data.ready:i.ready,acpStatus:e.data.acpStatus??i.acpStatus,fault:e.data.fault===void 0?i.fault:e.data.fault}}:r})};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[_n,Ft,ct]),(0,V.useEffect)(()=>{if(e)return;let t=Hc(),n=pe(null),r=`app:agent-session`,i=t.onAppEvent(({baseUrl:e,frame:t})=>{if(I(e)!==I(n)||t.streamId!==r||t.event.event!==`changed`||!t.event.data||typeof t.event.data!=`object`)return;let i=t.event.data;if(typeof i.jobId!=`string`||typeof i.sessionId!=`string`||!i.sessionId)return;let a=i.jobId,o=i.sessionId;Ft(a,o),_n(a,o),Ut.current[a]=o,Ht.current[a]?.sessionId!==o&&h(Bt.current[a],o)});return t.subscribeAppStream(n,r),()=>{i(),t.unsubscribeAppStream(n,r)}},[_n,e,Ft]),(0,V.useEffect)(()=>{if(e||!B)return;let t=Hc(),n=pe(null),r=!1,i=!1,a=()=>{r||i||(i=!0,nl(B).then(({sessionId:e})=>{!r&&e&&(Ft(B,e),_n(B,e),Ut.current[B]=e,Ht.current[B]?.sessionId!==e&&h(Bt.current[B],e))}).catch(()=>void 0).finally(()=>{i=!1}))},o=t.onStatusChange((e,t)=>{t===`ready`&&I(e)===I(n)&&a()});t.getStatus(n)===`ready`&&a();let s=window.setInterval(a,1e3);return()=>{r=!0,window.clearInterval(s),o()}},[_n,e,B,Ft]),(0,V.useEffect)(()=>{if(e||!B)return;let t=!1;return nl(B).then(({sessionId:e})=>{!t&&e&&(Ft(B,e),_n(B,e),Ut.current[B]=e,Ht.current[B]?.sessionId!==e&&h(Bt.current[B],e))}).catch(()=>void 0),()=>{t=!0}},[_n,e,B,er,Ft]),(0,V.useEffect)(()=>{let e=[A0.register({id:`commandPalette.toggle`,key:`p`,meta:!0,shift:!0,handler:()=>Tr(e=>!e)}),A0.register({id:`sidebar.toggle`,key:`b`,meta:!0,when:()=>j(jr,He()),handler:()=>Gr()}),A0.register({id:`terminal.toggle`,key:`j`,meta:!0,handler:()=>{if(pt){let e=jr===`terminal`?`chat`:`terminal`;Mr(e),window.location.hash=`/`+e;return}Mt.getState().ensureTab(`terminal`),ct(!0)}}),A0.register({id:`newChat`,key:`n`,meta:!0,handler:()=>Zr()}),A0.register({id:`settings`,key:`,`,meta:!0,handler:()=>{Mr(`settings`),window.location.hash=`/settings`}}),...B7?[A0.register({id:`sessions.switcher`,key:`s`,meta:!0,shift:!0,handler:()=>oi()})]:[],A0.registerAction(`app:commandPalette`,()=>Tr(e=>!e)),A0.registerAction(`app:toggleSidebar`,()=>{Gr()},()=>j(jr,He())),A0.registerAction(`app:toggleTerminal`,()=>{if(pt){let e=jr===`terminal`?`chat`:`terminal`;Mr(e),window.location.hash=`/`+e;return}Mt.getState().ensureTab(`terminal`),ct(!0)}),A0.registerAction(`app:newChat`,()=>Zr()),A0.registerAction(`app:settings`,()=>{Mr(`settings`),window.location.hash=`/settings`}),A0.registerAction(`app:focusInput`,()=>{document.querySelector(`textarea`)?.focus()}),A0.registerAction(`app:keybindings`,()=>{Mr(`keybindings`),window.location.hash=`/keybindings`}),A0.registerAction(`history:open`,()=>ai()),A0.registerAction(`sessions:switcher`,()=>oi())];return()=>e.forEach(e=>e())},[pt,jr,Zr,ai,oi,Mr,ct,Gr]),(0,V.useEffect)(()=>{let e=new URLSearchParams(window.location.search),t=e.get(`password`),n=e.get(`token`);if(t||n){Ge(t||n),e.delete(`password`),e.delete(`token`);let r=e.toString()?`${window.location.pathname}?${e.toString()}`:window.location.pathname;window.history.replaceState({},``,r)}a()},[a]),(0,V.useEffect)(()=>{if(i===`authenticated`)return De.getState().startHeartbeat()},[i]),(0,V.useEffect)(()=>{i===`authenticated`&&De.getState().checkAccountAuth()},[i]),(0,V.useEffect)(()=>{if(i===`authenticated`){let e=g(),t=e===`remote-control`&&Or!==!0?`chat`:e;if(!pt&&H7(t)&&!W7()){Mt.getState().ensureTab(t),ct(!0),Mr(`chat`),(!window.location.hash||window.location.hash===`#`)&&(window.location.hash=`/chat`);return}Mr(t),(!window.location.hash||window.location.hash===`#`)&&(window.location.hash=`/${t}`)}},[pt,Or,Mr,ct,i]),(0,V.useEffect)(()=>fe(e=>{if(e===`remote-control`&&Or!==!0){Or===!1&&(Mr(`chat`),window.location.hash=`/chat`);return}if(!pt&&H7(e)&&!W7()){Mt.getState().ensureTab(e),ct(!0),yt.getState().mainView!==`chat`&&Mr(`chat`);return}Mr(e)}),[pt,Or,Mr,ct]),(0,V.useEffect)(()=>{Or===!1&&jr===`remote-control`&&(Mr(`chat`),window.location.hash=`/chat`)},[jr,Or,Mr]),(0,V.useEffect)(()=>{if(i===`authenticated`&&o===`authenticated`){let n=Le()||void 0;nf().catch(()=>void 0),e?We.current?.setDesired(t?`parked`:`live`).catch(()=>void 0):et().jobId||L({token:n,continue:!0}),Re()}},[o,L,t,e,i]),(0,V.useEffect)(()=>()=>{We.current?.setDesired(`parked`).catch(()=>void 0)},[]),(0,V.useEffect)(()=>{Qt&&!wt&&Dt(Qt)},[Qt,wt,Dt]),(0,V.useEffect)(()=>{wt&&Ke.getState().setFolder(wt)},[wt]),(0,V.useEffect)(()=>{if(!v||Ki.getState().target?.kind===`job`)return;let e=Tp.getState(),t=zl.getState().selectedJobId;(e.mainChatActive||!t)&&Nt(v)},[v,Nt]),(0,V.useEffect)(()=>{document.documentElement.lang=nt;let e=Nn?Un?.topic||Hn:x;document.title=Gw(e)||z(`page.title`)},[nt,z,x,Nn,Un?.topic,Hn]),(0,V.useEffect)(()=>{if(!e)return;let t=e=>{if(e.origin===window.location.origin&&e.source===window.parent){if(re(e.data)){$r(e.data.sessionId).catch(()=>void 0);return}if(te(e.data)){let t=e.data.requestId;if(!t){Zr().catch(()=>void 0);return}let n=Ie.current.get(t);if(n){n.catch(()=>void 0);return}let r=Zr();Ie.current.set(t,r),r.finally(()=>{Ie.current.get(t)===r&&Ie.current.delete(t)}).catch(()=>void 0);return}if(m(e.data)){We.current?.setDesired(`parked`).catch(()=>void 0);return}if(y(e.data)){if(i!==`authenticated`||o!==`authenticated`)return;if(Qe(e.data)){Pe.current=!0,We.current?.restart().catch(()=>void 0);return}We.current?.setDesired(`live`).catch(()=>void 0)}}};return window.addEventListener(`message`,t),()=>window.removeEventListener(`message`,t)},[o,e,Zr,$r,i]),(0,V.useEffect)(()=>{if(!e||window.parent===window)return;let t=null;try{t=window.parent.location.origin}catch{try{document.referrer&&(t=new URL(document.referrer).origin)}catch{}}t&&window.parent.postMessage({type:Ve,sessionId:v,topic:Gw(x)||null,needsInput:ne,running:he,hasUserTurn:ae,agentName:Br||null,ready:xe&&O&&!ue&&ge,acpStatus:p,fault:C(p,T,D)},t)},[Br,e,ae,ue,xe,ge,ne,he,T,D,v,O,p,x]),(0,V.useEffect)(()=>{if(!e)return;let t=N();if(!t){_e(!0);return}let n=!1,r=f(),i=()=>{n||_e(!0)},a=()=>{if(!(n||H.getState().historyLoading)){if(r){let e=H.getState();e.setSeededUserIntent(r),oo(e.timeline)||e.ensureLeadingUserMessage(r,{allowEmptyTimeline:!0})}i()}};tl(t).then(e=>{n||(r=(e.intent||``).trim()||r,a())}).catch(()=>{a()});let o=H.subscribe(e=>{e.historyLoading||a()});return a(),()=>{n=!0,o();let e=H.getState();e.seededUserIntent===r&&e.setSeededUserIntent(null)}},[e]),i===`loading`&&!(e&&ae))return(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,G.jsx)(PW,{phase:`connecting_session`,creating:!1,workerDown:!1})})});if(i===`login`)return(0,G.jsx)(S6,{});if(o===`needLogin`||o===`polling`)return(0,G.jsx)(Yf,{});let _i=()=>(0,G.jsx)(mz,{viewName:Nn?`agents`:`chat`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsxs)(`div`,{className:`relative isolate flex min-h-0 flex-1 flex-col overflow-hidden bg-bg-primary ${Hr||on?`justify-center`:``}`,children:[Object.values(Rt).map(t=>{if(e)return null;let n=at({showingAgentStage:Nn,newJobMode:on||!!fn,jobId:t.jobId,selectedJobId:B,loaded:t.loaded,chatHostVisible:Ir&&Pr});return(0,G.jsx)(`iframe`,{ref:e=>{Bt.current[t.jobId]=e,tt(e,n)},src:t.url,title:t.jobId===B?nn?.name||nn?.intent||z(`agents.instanceFallback`).replace(`{id}`,B.slice(0,8)):void 0,className:`absolute inset-0 z-0 h-full w-full border-0 bg-bg-primary`,allow:`clipboard-read; clipboard-write`,loading:`eager`,onLoad:()=>{let e=Bt.current[t.jobId];if(k(e,we(t.url))===`dead`)return;Yr(t.jobId);let n=zl.getState().jobs.find(e=>e.id===t.jobId),r=Ee({selectedLive:Nn&&!on&&!fn,frameJobId:t.jobId,selectedJobId:B,job:n});r===`live`?(Gt.current.delete(t.jobId),_(e,be)):r===`parked`&&(Gt.current.add(t.jobId),_(e,Xe))},style:{...me(n),colorScheme:A,backgroundColor:A===`dark`?`#000000`:`#ffffff`}},t.jobId)}),on?(0,G.jsxs)(`div`,{className:`composer-stack composer-stack-hero flex-none`,children:[(0,G.jsx)(jW,{compact:!0,cwd:An?.homeCwd??Dn?.homeCwd??En?.homeCwd??gr??void 0}),vn===!0&&!An&&!Dn&&!En&&(0,G.jsx)(M6,{onCreateNew:ui,onOpenAgent:zn,onOpenRun:Bn,onOpenRoom:Vn}),(0,G.jsx)(w3,{onCreated:mi,onCancel:fi})]}):fn?(0,G.jsx)(d0,{channelId:fn,onOpenAgent:zn,onBack:()=>Tp.getState().leaveChannel()},fn):Nn?ar||lr||tr===`creating`||nn?.foregroundHeld?(0,G.jsxs)(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col pointer-events-none`,children:[(0,G.jsx)(`div`,{className:`min-h-0 flex-1 bg-bg-primary pointer-events-auto`,children:P7({creating:tr===`creating`,hasJob:!!nn})||!nn?(0,G.jsx)(PW,{phase:rr,creating:tr===`creating`,workerDown:Qn,cwd:nn?.cwd??gr}):nn.foregroundHeld?(0,G.jsx)(`div`,{className:`empty-state-wrapper`,children:(0,G.jsx)(jW,{cwd:nn.cwd??gr??void 0,footer:(0,G.jsx)(`p`,{className:`text-[11px] text-text-tertiary`,children:z(`agents.live.foregroundHeld`)})})}):(0,G.jsxs)(`div`,{className:`relative flex min-h-0 h-full flex-col`,children:[dr?(0,G.jsx)(`div`,{className:`pointer-events-auto shrink-0 px-3 pt-3`,children:(0,G.jsx)(Zf,{fault:dr,onRetry:pr,hint:ir?z(`agents.live.occupiedFollow`):void 0})}):null,or?(0,G.jsx)(VW,{job:nn,liveFollow:ir,mode:nr?`settled`:void 0,onRestart:nr?gi:void 0,statusLabel:cr,emptyFallback:ir?(0,G.jsx)(`div`,{className:`flex min-h-[40vh] items-center justify-center px-6 text-center text-[13px] text-text-tertiary`,children:z(`agents.live.occupiedFollow`)}):nr?(0,G.jsx)(`div`,{className:`flex min-h-[40vh] items-center justify-center`,children:(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-full bg-bg-secondary/95 px-3 py-1 text-[11px] text-text-tertiary shadow-sm`,children:[(0,G.jsx)(`span`,{children:z(`agents.live.settled`)}),(0,G.jsxs)(`button`,{type:`button`,onClick:gi,className:`flex items-center gap-1 rounded-full px-2 py-0.5 text-text-primary transition-colors hover:bg-bg-hover`,title:z(`agents.action.restart`),children:[(0,G.jsx)(hi,{size:11}),z(`agents.action.restart`)]})]})}):(0,G.jsx)(PW,{phase:rr,creating:tr===`creating`,workerDown:Qn,cwd:nn.cwd??gr})}):(0,G.jsx)(MW,{skipWelcomeTransition:!0})]})}),lr?(0,G.jsxs)(`div`,{className:`composer-stack flex-none bg-bg-primary pointer-events-auto`,children:[(0,G.jsx)(Zf,{fault:fr,onRetry:pr}),(0,G.jsx)(k6,{}),(0,G.jsx)(h3,{agentKey:mr,agentCwd:gr,jobReplyId:Pn,onNavigate:ni,onNewChat:Zr,mainView:jr,showBottomSheet:br,setShowBottomSheet:xr,onOpenDirectoryPicker:()=>Cr(!0),directoryPickerOpen:Sr,onDirectoryPickerClose:()=>Cr(!1),showMainAgentContext:!1})]}):j7({showRestoreComposer:lr,foregroundHeld:!!nn?.foregroundHeld,occupiedFollow:ir,frameLoaded:Gn})?dr?(0,G.jsx)(`div`,{className:`composer-stack flex-none bg-bg-primary pointer-events-auto`,children:(0,G.jsx)(Zf,{fault:dr,onRetry:pr})}):(0,G.jsx)(`div`,{className:`agent-restore-composer-hole`,"aria-hidden":!0}):null]}):(0,G.jsx)(`div`,{className:`min-h-0 flex-1`,"aria-hidden":!0}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:Hr?`hidden`:`flex-1 overflow-hidden w-full relative bg-bg-primary`,children:[Ur&&(0,G.jsx)(`div`,{className:`absolute inset-0 z-20 flex items-center justify-center bg-bg-primary`,children:(0,G.jsx)(LW,{status:p,error:T,sessionFault:D,onRetry:pr})}),(0,G.jsx)(Xf.Provider,{value:{fault:fr,onRetry:pr},children:qe?(0,G.jsx)(E8,{}):Ye?(0,G.jsx)(A6,{peer:Ye,selfName:Yn,selfSeed:Xn,onBack:()=>Ze(null)}):(0,G.jsx)(MW,{onClickCloseBottomSheet:()=>xr(!1),skipWelcomeTransition:e})})]}),!Hr&&!Ye&&(0,G.jsx)(Q8,{}),!Hr&&!Ye&&(0,G.jsx)(i$,{}),!Ye&&(0,G.jsxs)(`div`,{className:`bg-bg-primary ${Hr?`composer-stack composer-stack-hero flex-none`:`composer-stack flex-none`}`,children:[(0,G.jsx)(`div`,{className:Hr?`contents`:`hidden`,children:(0,G.jsx)(jW,{compact:!0,cwd:gr??void 0})}),!Hr&&!qe&&(0,G.jsx)(Z8,{}),(0,G.jsx)(T6,{}),(0,G.jsx)(Zf,{fault:fr,onRetry:pr,hint:ee&&fr===`occupied`?z(`agents.live.occupiedInbox`):void 0}),(0,G.jsx)(k6,{}),(0,G.jsx)(h3,{agentKey:mr,agentCwd:gr,onNavigate:ni,onNewChat:Zr,mainView:jr,showBottomSheet:br,setShowBottomSheet:xr,onOpenDirectoryPicker:()=>Cr(!0),directoryPickerOpen:Sr,onDirectoryPickerClose:()=>Cr(!1),showMainAgentContext:!qe})]})]})]})}),vi=()=>{switch(jr){case`chat`:return e?_i():null;case`tasks`:return(0,G.jsx)(mz,{viewName:`tasks`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(i9,{onOpenExecution:ti})});case`editor-page`:return(0,G.jsx)(mz,{viewName:`editor`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(X7,{isVisible:!0,onMenuClick:pt?Gr:void 0})});case`plugins`:return(0,G.jsx)(mz,{viewName:`plugins`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(e9,{})});case`terminal`:return null;case`canvas`:return null;case`canvas-pane`:return null;case`remote-control`:return Or===!0?(0,G.jsx)(mz,{viewName:`remote-control`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(t9,{onNavigate:ni})}):null;case`editor`:return null;case`changes`:return(0,G.jsx)(mz,{viewName:`changes`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(J7,{onMenuClick:Gr})})});case`settings`:return(0,G.jsx)(mz,{viewName:`settings`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(n9,{})});case`keybindings`:return(0,G.jsx)(mz,{viewName:`keybindings`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(Z7,{})});case`metrics`:return(0,G.jsx)(mz,{viewName:`metrics`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)($7,{})});case`stats`:return(0,G.jsx)(mz,{viewName:`stats`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(r9,{})});case`traces`:return(0,G.jsx)(mz,{viewName:`traces`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(a9,{})});case`workers`:return(0,G.jsx)(mz,{viewName:`workers`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(o9,{})});case`logs`:return(0,G.jsx)(mz,{viewName:`logs`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(Q7,{})});case`docs`:return(0,G.jsx)(mz,{viewName:`docs`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(Y7,{})});default:return null}};return e?(0,G.jsxs)(`div`,{className:`app-viewport flex overflow-hidden bg-bg-primary font-sans text-text-primary`,children:[(0,G.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:vi()})}),(0,G.jsx)(W5,{open:Fr,isMobile:pt,onActiveKindChange:ri,onCollapse:pt?void 0:ii,tools:null,changes:null,subagentOnly:!0}),(0,G.jsx)(A8,{}),(0,G.jsx)(W0,{})]}):jr===`docs`&&He()?(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(Y7,{})})}):jr===`editor`&&He()?(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(X7,{isVisible:!0})})}):jr===`canvas-pane`?(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(K7,{})})}):jr===`canvas`&&He()?(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(q7,{})})}):(0,G.jsx)(y6,{isOpen:_t,onClose:Kr,onCollapse:pt?void 0:()=>ot(!1),onEnsureAgentsOpen:qr,mainView:jr,onNavigate:ni,remoteControlEnabled:Or===!0,onSwitchSession:ei,onNewChat:Zr,onNewAgent:li,onOpenWorkspaceSettings:Wr,agentFrameNeedsInput:Un?.needsInput??null,agentFrameRunning:Un?.ready&&typeof Un.running==`boolean`?Un.running:null,overlays:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(A8,{}),(0,G.jsx)(R0,{isOpen:wr,onClose:()=>Tr(!1),onNavigate:ni,onNewChat:Zr,onOpenRecent:ai,onOpenSessionSwitcher:si,remoteControlEnabled:Or===!0}),(0,G.jsx)(W0,{}),(0,G.jsx)(S8,{isOpen:Er,onClose:()=>Dr(!1),projectCwd:Zt??null,activeSessionId:Nn?Mn:jt??v,onOpenSession:ci}),un&&(0,G.jsx)(V0,{onCreate:di,onCancel:()=>Tp.getState().leaveChannel()})]}),children:(0,G.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:(0,G.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0 flex-1 flex-col`,style:{display:Ir||!Pr?void 0:`none`},children:[!fn&&jr!==`changes`&&(pt||jr!==`editor-page`)&&(0,G.jsx)(C8,{onMenuClick:Gr,navOpen:_t,onSplitTerminal:Xr,onHistory:ai,historyOpen:bt,historyAnchorRef:vt,onNewChat:Zr,onCancelNewAgent:fi,conversationChrome:!pt&&Pr,onToggleDock:pt?void 0:ii,dockOpen:st,newAgentMode:on||un,agentTransitionMode:ir||Nn?null:tr,conversationTitleOverride:qn??Un?.topic??void 0,agentFrameNeedsInput:Un?.needsInput??null,agentFrameRunning:Un?.ready&&typeof Un.running==`boolean`?Un.running:null,agentFrameAcpStatus:Un?.acpStatus??null,agentFrameFault:D??null}),(0,G.jsxs)(`div`,{className:`flex-1 flex flex-col w-full overflow-hidden relative`,children:[(0,G.jsx)(`div`,{className:`flex-1 flex flex-col w-full min-h-0 overflow-hidden relative${Ir&&Pr?``:` chat-host-inert`}`,style:le(Ir&&Pr),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:_i()})}),(0,G.jsx)(`div`,{className:`flex-1 flex flex-col w-full`,style:{display:jr===`canvas`?`flex`:`none`},children:(0,G.jsx)(mz,{viewName:`canvas`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(q7,{active:jr===`canvas`})})})}),!Pr&&jr!==`canvas`&&(0,G.jsx)(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:vi()})}),(0,G.jsx)(u2,{isOpen:bt,onClose:()=>St(!1),projectCwd:bt?xt:null,activeSessionId:Nn?Mn:jt??v,canSwitchConversations:!0,targetLabel:Ot?z(`sessions.currentTitle`):nn?.name||nn?.intent?.split(/\r?\n/)[0]||z(`agents.instanceFallback`).replace(`{id}`,nn?.id.slice(0,8)||``),onOpenSession:ci,onOpenSessionSwitcher:si,anchorRef:vt})]})]}),(0,G.jsx)(W5,{open:Fr,isMobile:pt,onActiveKindChange:ri,onCollapse:pt?void 0:ii,tools:n(jr)?(0,G.jsx)(mz,{viewName:`editor`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(X7,{onMenuClick:pt?Gr:void 0,isVisible:Fr&&!!(dt&&[`explorer`,`editor`,`search`,`scm`].includes(dt)),hideActivityBar:!0,editorStore:Et})})}):null,changes:pt?(0,G.jsx)(mz,{viewName:`changes`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(J7,{onMenuClick:Gr})})}):null})]})})})}var u9=`false`,d9=`false`,f9=u9===`true`,p9=d9===`true`;function m9(e={}){let{immediate:t=!1,onNeedReload:n,onNeedRefresh:r,onOfflineReady:i,onRegistered:a,onRegisteredSW:o,onRegisterError:s}=e,c,l,u,d=async(e=!0)=>{await l,f9||u?.()};async function f(){if(`serviceWorker`in navigator){if(c=await Ph(async()=>{let{Workbox:e}=await import(`./workbox-window.prod.es5-Bd17z0YL.js`);return{Workbox:e}},[]).then(({Workbox:e})=>new e(`/sw.js`,{scope:`/`,type:`classic`})).catch(e=>{s?.(e)}),!c)return;if(u=()=>{c?.messageSkipWaiting()},!p9){if(f9)c.addEventListener(`activated`,e=>{(e.isUpdate||e.isExternal)&&(n?n():window.location.reload())}),c.addEventListener(`installed`,e=>{e.isUpdate||i?.()});else{let e=!1,t=()=>{e=!0,c?.addEventListener(`controlling`,e=>{e.isUpdate&&(n?n():window.location.reload())}),r?.()};c.addEventListener(`installed`,n=>{n.isUpdate===void 0?n.isExternal===void 0?!e&&i?.():n.isExternal?t():!e&&i?.():n.isUpdate||i?.()}),c.addEventListener(`waiting`,t)}}c.register({immediate:t}).then(e=>{o?o(`/sw.js`,e):a?.(e)}).catch(e=>{s?.(e)})}}return l=f(),d}function h9(e={}){let{immediate:t=!0,onNeedReload:n,onNeedRefresh:r,onOfflineReady:i,onRegistered:a,onRegisteredSW:o,onRegisterError:s}=e,[c,l]=(0,V.useState)(!1),[u,d]=(0,V.useState)(!1),[f]=(0,V.useState)(()=>m9({immediate:t,onNeedReload:n,onOfflineReady(){d(!0),i?.()},onNeedRefresh(){l(!0),r?.()},onRegistered:a,onRegisteredSW:o,onRegisterError:s}));return{needRefresh:[c,l],offlineReady:[u,d],updateServiceWorker:f}}var g9=9e5,_9=`pwa-new-version`;function v9(){let{t:e}=R(),t=(0,V.useRef)(null),n=(0,V.useRef)(!1),r=(0,V.useRef)(null);function i(){n.current=!1;let e=t.current;return e?e(!0).catch(()=>{}):Promise.resolve()}function a(){W.info(e(`app.pwa.newVersion`),{id:_9,durationMs:0,action:{label:e(`app.pwa.reloadNow`),onClick:()=>(i(),!0)}})}let{updateServiceWorker:o}=h9({immediate:!0,onRegisteredSW(e,t){if(!t)return;let n=()=>{t.update().catch(()=>{})};n(),r.current!==null&&clearInterval(r.current),r.current=setInterval(n,g9)},onNeedRefresh(){if(n.current=!0,!H.getState().isAgentRunning){i();return}a()}});return(0,V.useEffect)(()=>{t.current=o},[o]),(0,V.useEffect)(()=>()=>{r.current!==null&&(clearInterval(r.current),r.current=null)},[]),(0,V.useEffect)(()=>H.subscribe((e,t)=>{n.current&&t.isAgentRunning&&!e.isAgentRunning&&i()}),[]),null}var y9=!o()&&window.parent===window;(0,Tn.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(V.StrictMode,{children:(0,G.jsxs)(mz,{children:[y9&&(0,G.jsx)(v9,{}),(0,G.jsx)(l9,{})]})}));export{Gd as $,gr as $t,NE as A,pi as At,Mg as B,qr as Bt,D1 as C,jn as Cn,Ei as Ct,nH as D,_i as Dt,WW as E,bi as Et,EE as F,ti as Ft,Gf as G,kr as Gt,Ph as H,zr as Ht,ZC as I,$r as It,Rf as J,wr as Jt,Uf as K,Dr as Kt,EC as L,Qr as Lt,kE as M,li as Mt,DE as N,ci as Nt,Sz as O,hi as Ot,OE as P,oi as Pt,Yd as Q,vr as Qt,TC as R,Zr as Rt,k1 as S,Nn as Sn,Di as St,HQ as T,Dn as Tn,Ci as Tt,Cm as U,Rr as Ut,kg as V,Gr as Vt,vp as W,jr as Wt,Xd as X,xr as Xt,Zd as Y,Sr as Yt,Jd as Z,yr as Zt,C0 as _,Rn as _n,Ni as _t,J5 as a,ar as an,Du as at,_0 as b,Fn as bn,ki as bt,M4 as c,tr as cn,_c as ct,u4 as d,Gn as dn,Ko as dt,mr as en,Rd as et,l4 as f,Un as fn,Ro as ft,m2 as g,zn as gn,Ri as gt,p2 as h,Bn as hn,zi as ht,Z5 as i,cr as in,U as it,ME as j,di as jt,FE as k,mi as kt,j4 as l,Qn as ln,xc as lt,h2 as m,Vn as mn,Bi as mt,f7 as n,fr as nn,_d as nt,n6 as o,rr as on,Hc as ot,c4 as p,Hn as pn,zo as pt,Wf as q,Er as qt,d7 as r,lr as rn,id as rt,D3 as s,nr as sn,bc as st,c7 as t,pr as tn,W as tt,S4 as u,Xn as un,vc as ut,x0 as v,Ln as vn,Mi as vt,GQ as w,kn as wn,Ti as wt,f0 as x,Pn as xn,Oi as xt,v0 as y,In as yn,ji as yt,wC as z,Xr as zt};
|
|
262
|
+
`)})})]})]})}function h5({label:e,busy:t,disabled:n,danger:r=!1,onClick:i,children:a}){return(0,G.jsxs)(`button`,{type:`button`,"aria-label":e,title:e,disabled:n,onClick:i,className:[`inline-flex h-6 items-center gap-1 rounded-md border border-border-default px-2 text-[11px] text-text-secondary`,`transition-colors disabled:cursor-not-allowed disabled:opacity-50`,r?`hover:border-accent-red/40 hover:bg-accent-red/10 hover:text-accent-red`:`hover:bg-bg-hover hover:text-text-primary`].join(` `),children:[t?(0,G.jsx)(Dt,{size:12,className:`animate-spin`}):a,(0,G.jsx)(`span`,{children:e})]})}var g5={pending:`workflow.phasePending`,skipped:`workflow.phaseSkipped`};function _5({group:e,isLast:t,live:n,now:r,t:i,onSkipAgent:a,pendingAction:o}){let s=e.title||i(`workflow.phaseUngrouped`),c=e.startedAt?Co((e.endedAt??(e.state===`running`?r:e.startedAt))-e.startedAt):``,l=g5[e.state],u=[e.agents.length>0?i(`workflow.agents`).replace(`{count}`,String(e.agents.length)):``,wo(e.tokens)?i(`workflow.tokens`).replace(`{count}`,wo(e.tokens)):``,c&&e.state!==`pending`?c:``].filter(Boolean).join(` · `),d=e.state===`completed`;return(0,G.jsxs)(`li`,{className:`workflow-phase relative pb-4 pl-6 ${e.state===`pending`||e.state===`skipped`?`opacity-70`:``}`,children:[!t&&(0,G.jsx)(`span`,{className:`workflow-timeline-line ${d?`workflow-timeline-line-done`:``}`,"aria-hidden":!0,children:(0,G.jsx)(`span`,{className:`workflow-timeline-line-fill`})}),(0,G.jsx)(`span`,{className:`absolute left-0 top-0 flex h-5 items-center`,children:(0,G.jsx)(kV,{state:e.state})}),(0,G.jsxs)(`div`,{className:`flex h-5 min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-[12px] font-medium leading-5 ${e.state===`running`?`text-text-primary`:`text-text-secondary`}`,title:s,children:s}),l&&(0,G.jsx)(`span`,{className:`flex-shrink-0 text-[11px] text-text-tertiary`,children:i(l)}),(0,G.jsx)(`span`,{className:`ml-auto flex-shrink-0 text-[11px] tabular-nums text-text-tertiary`,children:u})]}),e.detail&&(0,G.jsx)(`div`,{className:`mt-0.5 text-[11px] leading-4 text-text-tertiary`,children:e.detail}),e.agents.length>0&&(0,G.jsx)(`ul`,{className:`mt-1.5 space-y-0.5`,children:e.agents.map((e,t)=>(0,G.jsx)(v5,{agent:e,index:t,live:n,now:r,t:i,onSkip:a,skipDisabled:!!o},e.key))})]})}var v5=(0,V.memo)(function({agent:e,index:t,live:n,now:r,t:i,onSkip:a,skipDisabled:o}){let[s,c]=(0,V.useState)(!1),l=_o(e),u=l===`running`,d=vo(e,t,i(`workflow.agentFallback`)),f=e.resolvedModel||e.model,p=u?e.idleSinceMs&&r-e.idleSinceMs>15e3?i(`workflow.idle`).replace(`{time}`,Co(r-e.idleSinceMs)):Co(r-e.startedAt):e.endedAt===void 0?``:Co(e.endedAt-e.startedAt),m=[f??``,e.toolCallCount?i(`workflow.toolCalls`).replace(`{count}`,String(e.toolCallCount)):``,wo(e.tokens),p].filter(Boolean).join(` · `),h=u?e.lastToolCalls?.[e.lastToolCalls.length-1]:void 0;return(0,G.jsxs)(`li`,{className:`workflow-enter`,children:[(0,G.jsxs)(`div`,{className:`group flex min-w-0 items-center gap-2 rounded-md px-1.5 py-1 transition-colors hover:bg-bg-hover ${s?`bg-bg-hover`:``}`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-start gap-2 text-left`,"aria-expanded":s,onClick:()=>c(e=>!e),children:[(0,G.jsx)(`span`,{className:`flex h-5 flex-shrink-0 items-center`,children:(0,G.jsx)(Vn,{size:12,className:`text-text-tertiary transition-transform duration-200 ${s?`rotate-90`:``}`})}),(0,G.jsx)(`span`,{className:`flex h-5 flex-shrink-0 items-center`,children:(0,G.jsx)(OV,{state:l},l)}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`span`,{className:`block truncate text-[12px] leading-5 ${l===`error`?`text-accent-red`:`text-text-primary`}`,title:d,children:d}),h&&(0,G.jsxs)(`span`,{className:`workflow-enter block truncate font-mono text-[11px] text-text-tertiary`,children:[h.tool,h.argsPreview?`(${h.argsPreview})`:``]},`${h.tool}-${h.at}`)]}),e.cached&&(0,G.jsx)(`span`,{className:`mt-0.5 flex-shrink-0 rounded bg-bg-chip px-1 text-[10px] leading-4 text-text-tertiary`,children:i(`workflow.cachedBadge`)}),(0,G.jsx)(`span`,{className:`flex-shrink-0 text-[11px] leading-5 tabular-nums text-text-tertiary`,children:m})]}),u&&n&&(0,G.jsx)(`button`,{type:`button`,disabled:o,onClick:()=>a(e.key),className:[`flex-shrink-0 rounded px-1.5 text-[11px] text-text-tertiary opacity-0 transition-opacity`,`hover:text-accent-red focus:opacity-100 group-hover:opacity-100 disabled:cursor-not-allowed`].join(` `),children:i(`workflow.skipAgent`)})]}),(0,G.jsx)(`div`,{className:`workflow-collapse ${s?`workflow-collapse-open`:``}`,children:(0,G.jsx)(`div`,{children:s&&(0,G.jsx)(y5,{agent:e,t:i})})})]})});function y5({agent:e,t}){let n=e.lastToolCalls??[];return(0,G.jsxs)(`div`,{className:`ml-[26px] mt-1 space-y-2 border-l border-border-muted pb-2 pl-3`,children:[e.promptPreview&&(0,G.jsx)(b5,{title:`${t(`workflow.prompt`)}${e.promptLineCount?` · ${t(`workflow.promptLines`).replace(`{count}`,String(e.promptLineCount))}`:``}`,children:(0,G.jsx)(`pre`,{className:`workflow-pre max-h-48`,children:e.promptPreview})}),n.length>0&&(0,G.jsx)(b5,{title:t(`workflow.activity`),children:(0,G.jsx)(`ul`,{className:`space-y-0.5 font-mono text-[11px] text-text-secondary`,children:n.map(e=>(0,G.jsxs)(`li`,{className:`workflow-enter truncate`,title:e.argsPreview,children:[(0,G.jsx)(`span`,{className:`text-text-primary`,children:e.tool}),e.argsPreview?(0,G.jsxs)(`span`,{className:`text-text-tertiary`,children:[`(`,e.argsPreview,`)`]}):null]},`${e.tool}-${e.at}`))})}),e.error&&(0,G.jsx)(b5,{title:t(`workflow.error`),children:(0,G.jsx)(`pre`,{className:`workflow-pre text-accent-red`,children:e.error})}),e.resultPreview&&(0,G.jsx)(b5,{title:t(`workflow.result`),children:(0,G.jsx)(`pre`,{className:`workflow-pre max-h-64`,children:e.resultPreview})})]})}function b5({title:e,children:t}){return(0,G.jsxs)(`section`,{children:[(0,G.jsx)(`div`,{className:`mb-1 text-[11px] font-medium text-text-tertiary`,children:e}),t]})}function x5({title:e,defaultOpen:t=!1,children:n}){let[r,i]=(0,V.useState)(t);return(0,G.jsxs)(`section`,{className:`mt-2 border-t border-border-muted pt-2`,children:[(0,G.jsxs)(`button`,{type:`button`,"aria-expanded":r,onClick:()=>i(e=>!e),className:`flex w-full items-center gap-1 text-[11px] font-medium text-text-tertiary hover:text-text-primary`,children:[(0,G.jsx)(Vn,{size:12,className:`transition-transform duration-200 ${r?`rotate-90`:``}`}),e]}),(0,G.jsx)(`div`,{className:`workflow-collapse ${r?`workflow-collapse-open`:``}`,children:(0,G.jsx)(`div`,{children:(0,G.jsx)(`div`,{className:`pt-1.5`,children:n})})})]})}var S5=new Set([`ArrowLeft`,`ArrowRight`,`Home`,`End`]);function C5(e){return S5.has(e)}var w5=new Set([`bgTask`,`subagent`,`workflow`]);function T5(e,t,n=!1){return n?e.filter(e=>e.kind===`subagent`||e.kind===`workflow`):t?e.filter(e=>!w5.has(e.kind)):e.filter(e=>e.kind!==`changes`)}function E5(e,t,n=!1){return e&&(!n||t>0)}function D5(e,t,n){if(t<=0)return-1;let r=e>=0&&e<t?e:0;return n===`Home`?0:n===`End`?t-1:n===`ArrowLeft`?(r-1+t)%t:(r+1)%t}function O5(e,t,n){return Math.round(e)>=t+n}function k5(e,t,n){return Math.max(t,Math.round(e)-n)}function A5(e,t,n){return Math.min(n,Math.max(t,Math.round(e)))}function j5(e,t,n,r,i=16){return r===`Home`?t:r===`End`?n:A5(e+(r===`ArrowLeft`?i:-i),t,n)}var M5=(0,V.lazy)(()=>Ph(()=>import(`./TerminalPaneView-Cs-7CKCw.js`).then(e=>e.n).then(e=>({default:e.TerminalPaneView})),__vite__mapDeps([24,1,25,26,27,28,29,30,31,32,33]))),N5=(0,V.lazy)(()=>Ph(()=>import(`./SettingsView-D2wIPOBw.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([34,1,25,26,27,28,35,29]))),P5=`workspace-dock-plus-menu`,F5=`workspace-dock-context-menu`,I5=`workspace-dock-tabpanel`,L5=`application/x-codebuddy-workspace-dock-tab`;function R5(e){return`workspace-dock-tab-${e}`}function z5(e){e?.querySelector(`[role="menuitem"]:not(:disabled)`)?.focus()}function B5(e,t,n){if(e.key===`Escape`){e.preventDefault(),t(),n();return}if(e.key===`Tab`){t();return}if(![`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key))return;e.preventDefault();let r=Array.from(e.currentTarget.querySelectorAll(`[role="menuitem"]:not(:disabled)`));if(r.length===0)return;let i=r.indexOf(document.activeElement),a;a=e.key===`Home`?0:e.key===`End`?r.length-1:e.key===`ArrowUp`?i<=0?r.length-1:i-1:i<0||i===r.length-1?0:i+1,r[a].focus()}function V5(e,t){return t>1?`${e} ${t}`:e}function H5(e){let t=Et.getState().tabs,n=[];for(let r of e)r.editorTabId&&t.some(e=>e.id===r.editorTabId)&&n.push(r.editorTabId);return n}async function U5(e){for(let t of H5(e))if(!(await Et.getState().requestCloseTabs({kind:`single`,id:t})).closed)return!1;return!0}function W5({open:e,isMobile:t,tools:n,changes:r,onActiveKindChange:i,onCollapse:a,subagentOnly:o=!1}){let{t:s}=R(),c=wn(e=>e.workspaceDockWidth),l=wn(e=>e.setWorkspaceDockWidth),u=id(e=>e.fileChanges),d=id(e=>e.seenChangeUris),f=u.length,p=nd(u,d),m=Tt(e=>e.cwd),h=yt(e=>e.panes),g=Mt(e=>e.tabs),_=Mt(e=>e.activeId),v=Mt(e=>e.addTab),y=Mt(e=>e.activate),b=Mt(e=>e.moveTab),x=Mt(e=>e.closeTab),S=Mt(e=>e.closeOthers),C=Mt(e=>e.closeToRight),[w,T]=(0,V.useState)(!1),[E,D]=(0,V.useState)(null),[ee,O]=(0,V.useState)(null),[k,A]=(0,V.useState)(!1),te=(0,V.useRef)(null),j=(0,V.useRef)(null),ne=(0,V.useRef)(null),re=(0,V.useRef)(null),ie=(0,V.useRef)(null),M=(0,V.useRef)(null),ae=(0,V.useRef)(new Map),N=(0,V.useRef)(null),oe=(0,V.useRef)(typeof window>`u`?1280:window.innerWidth),[se,ce]=(0,V.useState)(oe.current),le=(0,V.useRef)(null),P=(0,V.useRef)(c),[F,ue]=(0,V.useState)(!1),de=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform),fe=T5(g,t,o),pe=E5(e,fe.length,o),me=fe.find(e=>e.id===_)??fe[0]??null,he=me?.id??null;(0,V.useEffect)(()=>{!pe&&k&&A(!1)},[k,pe]),(0,V.useEffect)(()=>{if(!k)return;let e=document.body.style.overflow;document.body.style.overflow=`hidden`;let t=e=>{e.key===`Escape`&&(e.preventDefault(),A(!1),requestAnimationFrame(()=>ne.current?.focus()))};return window.addEventListener(`keydown`,t),window.dispatchEvent(new Event(`resize`)),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,t),requestAnimationFrame(()=>window.dispatchEvent(new Event(`resize`)))}},[k]),(0,V.useEffect)(()=>{if(!w)return;z5(re.current);let e=e=>{te.current&&!te.current.contains(e.target)&&T(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[w]),(0,V.useEffect)(()=>{if(!E)return;z5(ie.current);let e=e=>{ie.current&&!ie.current.contains(e.target)&&D(null)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[E]),(0,V.useEffect)(()=>{let e=N.current?.parentElement;if(!e)return;let t=()=>{oe.current=e.clientWidth,ce(e.clientWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[pe]),(0,V.useEffect)(()=>{!t&&!k&&pe&&!O5(se,320,320)&&a?.()},[se,k,t,a,pe]),(0,V.useEffect)(()=>{let e=e=>{if(e.tabs.length===0)return;let t=e.tabs.find(t=>t.id===e.activeTabId)??e.tabs[0];Mt.getState().restoreFileTabsFromEditor(e.tabs.map(e=>({id:e.id,path:e.path,name:e.name})),t?.id??null)};return e(Et.getState()),Et.subscribe((t,n)=>{if(t.activeTabId===n.activeTabId&&t.tabs===n.tabs)return;if(n.tabs.length===0&&t.tabs.length>0){e(t);return}let r=Mt.getState();if(!r.tabs.some(e=>e.kind===`editor`))return;r.syncClosedEditorFiles(t.tabs.map(e=>e.id));let i=t.tabs.find(e=>e.id===t.activeTabId);i&&Mt.getState().tabs.some(e=>e.kind===`editor`)&&Mt.getState().ensureFileTab(i.path,i.name,i.id)})},[]),(0,V.useEffect)(()=>{Mt.getState().syncMissingTransientEditorTabs(Et.getState().tabs.map(e=>e.id))},[g]),(0,V.useEffect)(()=>{pe&&Mt.getState().rebindMissingTerminalPanes()},[g,pe]);let ge=(0,V.useCallback)(e=>{if(e.button!==0&&e.pointerType===`mouse`)return;e.preventDefault();let t=k5(oe.current,320,320);le.current=e.clientX,P.current=A5(c,320,t),ue(!0),D3({pointerId:e.pointerId,target:e.currentTarget,cursor:`col-resize`,onMove:e=>{if(le.current==null)return;let t=k5(oe.current,320,320);l(A5(P.current-(e-le.current),320,t))},onEnd:()=>{le.current=null,ue(!1)}})},[l,c]),I=(0,V.useCallback)(e=>{T(!1);let t=v(e);e===`editor`&&Mt.getState().requestQuickOpen(),i(e),requestAnimationFrame(()=>ae.current.get(t.id)?.focus())},[v,i]),_e=(0,V.useCallback)(e=>{let t=y(e);if(t){if(t.filePath&&t.editorTabId){let e=Et.getState(),n=e.tabs.find(e=>e.id===t.editorTabId);n?e.setActiveTab(n.id):t.editorTabId===t.filePath&&e.openFile(t.filePath,t.fileName).catch(()=>void 0)}i(t.kind)}},[y,i]);(0,V.useEffect)(()=>{if(!pe||!he)return;let e=fe.find(e=>e.id===he),t=!e?.editorTabId||Et.getState().tabs.some(t=>t.id===e.editorTabId);(_!==he||!t)&&_e(he)},[_,_e,he,pe,fe]),(0,V.useEffect)(()=>{pe&&he&&ae.current.get(he)?.scrollIntoView({block:`nearest`,inline:`nearest`})},[he,pe]);let ve=(0,V.useCallback)((e,t,n,r)=>{T(!1),_e(e),M.current=t,D({x:n,y:r,tabId:e})},[_e]),ye=(0,V.useCallback)(()=>{requestAnimationFrame(()=>M.current?.focus())},[]),be=(0,V.useCallback)(e=>{let n=fe.findIndex(t=>t.id===e),r=e===he,a=Mt.getState(),s=T5(a.tabs,t,o),c=r?s[Math.min(Math.max(0,n),s.length-1)]:s.find(e=>e.id===a.activeId)??null;c?_e(c.id):i(null),requestAnimationFrame(()=>{if(c){ae.current.get(c.id)?.focus();return}j.current?.focus()})},[_e,t,i,o,he,fe]),xe=(0,V.useCallback)(e=>{let t=g.find(t=>t.id===e);if(t?.editorTabId){let n=Et.getState().tabs.find(e=>e.id===t.editorTabId);if(n){Et.getState().requestCloseTabs({kind:`single`,id:n.id}).then(t=>{t.closed&&(x(e),be(e))}).catch(()=>void 0);return}}x(e),be(e)},[x,be,g]),Se=(0,V.useCallback)((e,t)=>{if(e.key===`Delete`){e.preventDefault(),xe(t);return}if(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`){e.preventDefault();let n=e.currentTarget.getBoundingClientRect();ve(t,e.currentTarget,n.left,n.bottom);return}if(!C5(e.key))return;e.preventDefault();let n=D5(fe.findIndex(e=>e.id===t),fe.length,e.key),r=fe[n];if(!r)return;_e(r.id);let i=ae.current.get(r.id);i?.focus(),i?.scrollIntoView({block:`nearest`,inline:`nearest`})},[_e,xe,ve,fe]),Ce=(0,V.useCallback)(e=>{let n=Mt.getState().tabs.filter(n=>n.id!==e&&(t||n.kind!==`changes`));U5(n).then(r=>{if(r){if(t)i(S(e)?.kind??null);else{for(let e of n)x(e.id);i(y(e)?.kind??null)}requestAnimationFrame(()=>ae.current.get(e)?.focus())}}).catch(()=>void 0)},[y,S,x,t,i]),we=(0,V.useCallback)(e=>{let n=Mt.getState().tabs,r=T5(n,t,o),a=r.findIndex(t=>t.id===e),s=a<0?[]:r.slice(a+1);U5(s).then(n=>{if(n){if(t)i(C(e)?.kind??null);else{for(let e of s)x(e.id);i(y(e)?.kind??null)}requestAnimationFrame(()=>ae.current.get(e)?.focus())}}).catch(()=>void 0)},[y,x,C,t,i,o]),Te=e=>{if(e.kind===`explorer`)return V5(s(`ide.explorer`),e.serial);if(e.kind===`search`)return V5(s(`ide.search`),e.serial);if(e.kind===`scm`)return V5(s(`ide.scm.title`),e.serial);if(e.kind===`browser`)return e.urlTitle||e.url||`URL`;if(e.kind===`bgTask`)return e.taskTitle||s(`bgTasks.untitled`);if(e.kind===`subagent`)return e.subagentTitle||s(`subagent.detailTab`);if(e.kind===`workflow`)return e.workflowTitle||s(`workflow.detailTab`);if(e.kind===`settings`)return e.settingsTitle||s(`agents.workspaceSettings`);if(e.kind===`editor`){if(e.fileName)return e.fileName;let t=g.filter(e=>e.kind===`editor`&&!e.filePath),n=t.findIndex(t=>t.id===e.id);return t.length>1&&n>0?`${s(`dock.openFile`)} ${n+1}`:s(`dock.openFile`)}return e.kind===`terminal`?(e.paneId?h[e.paneId]?.title:null)||V5(s(`sidebar.terminalMode`),e.serial):V5(s(`sidebar.changes`),e.serial)},Ee=e=>e===`explorer`?(0,G.jsx)(yr,{size:13}):e===`editor`?(0,G.jsx)(vr,{size:13}):e===`search`?(0,G.jsx)(bi,{size:13}):e===`scm`?(0,G.jsx)(Er,{size:13}):e===`browser`?(0,G.jsx)(ur,{size:13}):e===`terminal`||e===`bgTask`?(0,G.jsx)(Di,{size:13}):e===`subagent`?(0,G.jsx)(In,{size:13}):e===`workflow`?(0,G.jsx)(Li,{size:13}):e===`settings`?(0,G.jsx)(Ci,{size:13}):(0,G.jsx)(Dr,{size:13}),L=E?fe.findIndex(e=>e.id===E.tabId):-1,De=fe.length>1,Oe=L>=0&&L<fe.length-1,ke=k5(se,320,320),Ae=A5(c,320,ke);return(0,G.jsxs)(`aside`,{ref:N,className:[`workspace-dock`,F?`no-transition`:``,pe?``:`workspace-dock-closed`,fe.length>0?`has-tabs`:``,k?`workspace-dock-fullscreen`:``].filter(Boolean).join(` `),style:pe&&!t&&!k?{width:`${Ae}px`}:void 0,"aria-hidden":!pe,"aria-label":s(`dock.toggle`),children:[!t&&!k&&(0,G.jsx)(`div`,{role:`separator`,tabIndex:0,"aria-orientation":`vertical`,"aria-label":s(`dock.resize`),"aria-valuemin":320,"aria-valuemax":ke,"aria-valuenow":Ae,onKeyDown:e=>{C5(e.key)&&(e.preventDefault(),l(j5(Ae,320,ke,e.key)))},onPointerDown:ge,onDoubleClick:()=>l(A5(480,320,ke)),className:`workspace-dock-resize`}),(0,G.jsxs)(`div`,{className:`workspace-dock-head`,children:[fe.length===0&&(0,G.jsx)(`span`,{className:`workspace-dock-title`,children:s(`dock.toggle`)}),(0,G.jsx)(`div`,{className:`workspace-dock-tabs`,role:`tablist`,"aria-label":s(`dock.tabs`),children:fe.map(e=>{let n=Te(e),r=e.id===he,i=e.kind===`changes`&&p>0?`${n} · ${s(`dock.unseen`,{count:p})}`:n;return(0,G.jsxs)(`div`,{className:[`workspace-dock-filetab`,r?`on`:``,ee?.id===e.id?ee.after?`drag-indicator-after`:`drag-indicator-before`:``].filter(Boolean).join(` `),draggable:!t,onDragStart:t=>{t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(L5,e.id),t.dataTransfer.setDragImage(t.currentTarget,0,0)},onDragOver:t=>{if(!t.dataTransfer.types.includes(L5))return;t.preventDefault(),t.dataTransfer.dropEffect=`move`;let n=t.currentTarget.getBoundingClientRect();O({id:e.id,after:t.clientX>=n.left+n.width/2})},onDrop:t=>{let n=t.dataTransfer.getData(L5);if(!n)return;t.preventDefault();let r=g.findIndex(t=>t.id===e.id)+(ee?.id===e.id&&ee.after?1:0);b(n,r),O(null)},onDragEnd:()=>O(null),children:[(0,G.jsxs)(`button`,{ref:t=>{t?ae.current.set(e.id,t):ae.current.delete(e.id)},id:R5(e.id),type:`button`,role:`tab`,className:`workspace-dock-filetab-main`,tabIndex:r?0:-1,"aria-selected":r,"aria-keyshortcuts":`Delete`,"aria-label":i,"aria-controls":I5,"aria-haspopup":`menu`,"aria-expanded":E?.tabId===e.id,onClick:()=>_e(e.id),onKeyDown:t=>Se(t,e.id),onContextMenu:t=>{t.preventDefault(),ve(e.id,t.currentTarget,t.clientX,t.clientY)},children:[(0,G.jsx)(`span`,{className:`workspace-dock-filetab-icon`,children:Ee(e.kind)}),(0,G.jsx)(`span`,{className:`workspace-dock-filetab-label`,children:n}),e.kind===`changes`&&f>0&&(0,G.jsx)(`span`,{className:`workspace-dock-count`,"aria-hidden":!0,children:f>99?`99+`:f}),e.kind===`changes`&&p>0&&!r&&(0,G.jsx)(`span`,{className:`workspace-dock-dot`,"aria-hidden":!0})]}),(0,G.jsx)(`button`,{type:`button`,className:`workspace-dock-filetab-x`,tabIndex:-1,onClick:()=>xe(e.id),title:s(`dock.closeTab`,{name:n}),"aria-label":s(`dock.closeTab`,{name:n}),children:(0,G.jsx)(Ri,{size:12})})]},e.id)})}),(0,G.jsxs)(`div`,{className:`relative shrink-0${o?` hidden`:``}`,ref:te,children:[(0,G.jsx)(`button`,{ref:j,id:`workspace-dock-plus-trigger`,type:`button`,className:`workspace-dock-iconbtn`,onClick:()=>{D(null),T(e=>!e)},title:s(`dock.open`),"aria-label":s(`dock.open`),"aria-haspopup":`menu`,"aria-controls":P5,"aria-expanded":w,children:(0,G.jsx)(di,{size:15})}),w&&(0,G.jsxs)(`div`,{ref:re,id:P5,className:`workspace-dock-plus`,role:`menu`,"aria-labelledby":`workspace-dock-plus-trigger`,onKeyDown:e=>B5(e,()=>T(!1),()=>j.current?.focus()),children:[!t&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`explorer`),children:[(0,G.jsx)(yr,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.explorer`)})]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`editor`),children:[(0,G.jsx)(vr,{size:16}),(0,G.jsx)(`span`,{children:s(`dock.openFile`)})]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`search`),children:[(0,G.jsx)(bi,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.search`)})]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`scm`),children:[(0,G.jsx)(Er,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.scm.title`)})]})]}),t&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`editor`),children:[(0,G.jsx)(vr,{size:16}),(0,G.jsx)(`span`,{children:s(`dock.openFile`)})]}),(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`terminal`),children:[(0,G.jsx)(Di,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.terminalMode`)}),(0,G.jsx)(`kbd`,{children:de?`⌘J`:`Ctrl+J`})]}),t&&(0,G.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>I(`changes`),children:[(0,G.jsx)(Dr,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.changes`)}),f>0&&(0,G.jsx)(`span`,{className:`workspace-dock-count`,children:f}),p>0&&(0,G.jsx)(`span`,{className:`workspace-dock-dot`,"aria-hidden":!0})]})]})]}),!t&&(0,G.jsx)(`button`,{ref:ne,type:`button`,className:`workspace-dock-iconbtn`,onClick:()=>A(e=>!e),title:s(k?`dock.exitFullscreen`:`dock.fullscreen`),"aria-label":s(k?`dock.exitFullscreen`:`dock.fullscreen`),"aria-pressed":k,children:k?(0,G.jsx)(Zr,{size:15}):(0,G.jsx)(Gr,{size:15})}),a&&(0,G.jsx)(`button`,{type:`button`,className:`workspace-dock-iconbtn`,onClick:a,title:s(`dock.collapse`),"aria-label":s(`dock.collapse`),children:(0,G.jsx)(ni,{size:15})})]}),(0,G.jsxs)(`div`,{id:I5,className:`workspace-dock-body`,role:me?`tabpanel`:void 0,"aria-labelledby":me?R5(me.id):void 0,children:[fe.length===0&&(0,G.jsxs)(`div`,{className:`workspace-dock-launcher`,children:[(0,G.jsxs)(`div`,{className:`mb-4 text-center`,children:[(0,G.jsx)(`div`,{className:`text-sm font-medium text-text-primary`,children:s(`dock.emptyTitle`)}),(0,G.jsx)(`div`,{className:`mt-1 text-xs text-text-secondary`,children:s(o?`subagent.dockEmptyHint`:`dock.emptyDescription`)})]}),!t&&!o&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`explorer`),children:[(0,G.jsx)(yr,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.explorer`)})]}),(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`editor`),children:[(0,G.jsx)(vr,{size:16}),(0,G.jsx)(`span`,{children:s(`dock.openFile`)})]}),(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`search`),children:[(0,G.jsx)(bi,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.search`)})]}),(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`scm`),children:[(0,G.jsx)(Er,{size:16}),(0,G.jsx)(`span`,{children:s(`ide.scm.title`)})]})]}),t&&!o&&(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`editor`),children:[(0,G.jsx)(vr,{size:16}),(0,G.jsx)(`span`,{children:s(`dock.openFile`)})]}),!o&&(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`terminal`),children:[(0,G.jsx)(Di,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.terminalMode`)}),(0,G.jsx)(`kbd`,{children:de?`⌘J`:`Ctrl+J`})]}),t&&!o&&(0,G.jsxs)(`button`,{type:`button`,className:`workspace-dock-launch-item`,onClick:()=>I(`changes`),children:[(0,G.jsx)(Dr,{size:16}),(0,G.jsx)(`span`,{children:s(`sidebar.changes`)}),p>0&&(0,G.jsx)(`span`,{className:`workspace-dock-dot`,"aria-hidden":!0})]})]}),(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:me&&[`explorer`,`editor`,`search`,`scm`].includes(me.kind)?`flex`:`none`},children:n}),fe.filter(e=>e.kind===`browser`&&e.url).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(i5,{url:e.url})},e.id)),fe.filter(e=>e.kind===`bgTask`&&e.terminalId).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(r$,{terminalId:e.terminalId,title:e.taskTitle||s(`bgTasks.untitled`)})},e.id)),fe.filter(e=>e.kind===`subagent`&&e.subagentToolCallId).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(s5,{toolCallId:e.subagentToolCallId,fallbackTitle:e.subagentTitle||s(`subagent.detailTab`)})},e.id)),fe.filter(e=>e.kind===`workflow`&&e.workflowRunId).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(p5,{runId:e.workflowRunId,fallbackTitle:e.workflowTitle||s(`workflow.detailTab`),visible:e.id===he})},e.id)),fe.filter(e=>e.kind===`settings`&&e.settingsCwd).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(V.Suspense,{fallback:null,children:(0,G.jsx)(N5,{presentation:`dock`,workspaceCwd:e.settingsCwd,workspaceLabel:e.settingsTitle})})},e.id)),fe.filter(e=>e.kind===`terminal`&&e.paneId).map(e=>(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:e.id===he?`flex`:`none`},children:(0,G.jsx)(V.Suspense,{fallback:null,children:(0,G.jsx)(M5,{paneId:e.paneId,initialCwd:e.initialCwd??m,editorStore:t?void 0:Et,fileLinkTarget:t?`editor-page`:`conversation-dock`})})},e.id)),t&&(0,G.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden`,style:{display:me?.kind===`changes`?`flex`:`none`},children:r})]}),E&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`editor-context-overlay`,onClick:()=>D(null)}),(0,G.jsxs)(`div`,{ref:ie,id:F5,className:`editor-context-menu`,style:{left:E.x,top:E.y},role:`menu`,"aria-labelledby":R5(E.tabId),onKeyDown:e=>B5(e,()=>D(null),()=>M.current?.focus()),children:[(0,G.jsx)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,onClick:()=>{xe(E.tabId),D(null),ye()},children:s(`common.close`)}),(0,G.jsx)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,disabled:!De,onClick:()=>{De&&(Ce(E.tabId),D(null),ye())},children:s(`dock.closeOthers`)}),(0,G.jsx)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,disabled:!Oe,onClick:()=>{Oe&&(we(E.tabId),D(null),ye())},children:s(`dock.closeToRight`)})]})]})]})}var G5=`codebuddy.notifyOnComplete`;function K5(){try{return localStorage.getItem(G5)===`1`}catch{return!1}}function q5(e){try{e?localStorage.setItem(G5,`1`):localStorage.removeItem(G5)}catch{}}var J5=qe((e,t)=>({enabled:K5(),unsupported:!1,setEnabled:t=>(q5(t),e({enabled:t}),t?`on`:`off`),noteUnsupported:n=>{n!==t().unsupported&&e({unsupported:n})},nativeAvailable:null,setNativeAvailable:n=>{n!==t().nativeAvailable&&e({nativeAvailable:n})}})),Y5=1500,X5=1e3;function Z5(){if(typeof Notification>`u`)return`unsupported`;let e=Notification.permission;return e===`granted`||e===`denied`?e:`default`}function Q5(){return typeof document>`u`?!0:document.visibilityState===`visible`?typeof document.hasFocus!=`function`||document.hasFocus():!1}function $5(e){return e.enabled?e.inForeground?`in-foreground`:e.lastFiredAt!==void 0&&e.lastFiredAt>e.now-5e3?`duplicate`:`notify`:`off`}function e7(e){return e.hasPendingInterruption?`needsInput`:e.errorMessage||e.stopReason===`error`||e.stopReason===`refusal`?`failed`:e.stopReason===`cancelled`||e.stopReason===`interrupted`?`stopped`:`done`}function t7(e){return e===`completed`?`done`:`failed`}function n7(e,t=120){if(!e)return``;let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function r7(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.type===`message`&&n.role===`assistant`&&typeof n.content==`string`&&n.content.trim())return n.content}return``}function i7(e){return e.text&&e.text!==e.lastUsed?`fire-with-preview`:e.attempt<3?`retry`:`fire-without-preview`}function a7(e){let t=[],n=[];for(let r of e.current){let i=Y$(e.previous.get(r.id),r);i&&!e.manuallyStopped?.[r.id]&&(i===`completed`?t:n).push({job:r,kind:i})}let r=[...e.previous.values()].filter(e=>!W$(e)).length;return X$(n.length,r)?t:[...t,...n]}var o7=new Map;async function s7(e){try{let t=await fetch(`/api/v1/notify/native`,{method:`POST`,headers:Je({"Content-Type":`application/json`}),body:JSON.stringify(e)});if(!t.ok)return`unsupported`;let n=(await t.json().catch(()=>void 0))?.data;return n?.ok===!0?`sent`:n?.reason===`throttled`?`throttled`:n?.reason===`unsupported-platform`?`unsupported`:`failed`}catch{return`failed`}}async function c7(){try{let e=await fetch(`/api/v1/notify/native/availability`,{headers:Je()});if(!e.ok)return null;let t=await e.json().catch(()=>void 0);return t?.data?.available===!0||t?.data?.available!==!1&&null}catch{return null}}function l7(e){if(typeof Notification>`u`||Z5()!==`granted`)return!1;try{let t=new Notification(e.title,{body:e.body,tag:e.key});return t.onclick=()=>{window.focus(),t.close()},!0}catch{return!1}}async function u7(e){let t=e.now??Date.now();if($5({enabled:e.enabled,inForeground:Q5(),lastFiredAt:o7.get(e.notice.key),now:t})!==`notify`)return!1;o7.set(e.notice.key,t);let n=await s7({title:e.notice.title,body:e.notice.body});return n===`sent`||n===`throttled`||l7(e.notice)}async function d7(e){return await s7(e)}function f7(e){if(typeof Notification>`u`||Z5()!==`granted`)return!1;try{return new Notification(e.title,{body:e.body,tag:`codebuddy-notify-test`}),!0}catch{return!1}}var p7=new Map;function m7(e){let{t}=R(),n=(0,V.useRef)(t);(0,V.useEffect)(()=>{n.current=t},[t]),(0,V.useEffect)(()=>{if(!e.enabled)return;let t=new Map,r=jo(e=>{let r=H.getState(),i=e7({stopReason:e.stopReason,errorMessage:e.errorMessage,hasPendingInterruption:r.hasPendingInterruption});if(i===`done`&&(r.followupQueue.length>0||r.pausedGoal!=null))return;let a=`chat:${U.getState().sessionId??`current`}`,o=t.get(a);o&&clearTimeout(o);let s=e=>{let r=n7(r7(H.getState().timeline)),o=i7({text:r,lastUsed:p7.get(a),attempt:e});if(o===`retry`){t.set(a,setTimeout(()=>s(e+1),X5));return}t.delete(a);let c=o===`fire-with-preview`?r:``;c&&p7.set(a,c);let l=U.getState().topic?.trim();_7({key:a,title:l||n.current(`notify.chatFallbackName`),body:[n.current(`notify.status.${i}`),c].filter(Boolean).join(` · `)})};t.set(a,setTimeout(()=>s(0),Y5))});return()=>{r();for(let e of t.values())clearTimeout(e)}},[e.enabled]),(0,V.useEffect)(()=>{if(!e.enabled)return;let t=h7(zl.getState().jobs),r;return zl.subscribe(e=>{if(e.jobs===r)return;r=e.jobs;let i=a7({previous:t,current:e.jobs,manuallyStopped:e.manuallyStoppedAgentIds});t=h7(e.jobs);for(let{job:e,kind:t}of i)_7(g7(e,t,n.current))})},[e.enabled])}function h7(e){return new Map(e.map(e=>[e.id,e]))}function g7(e,t,n){let r=Z.getState(),i=r.jobAssignments[e.id],a=(i?r.agents.find(e=>e.id===i)?.name:``)?.trim()??``,o=(e.name??e.intent??``).trim(),s=n(`notify.status.${t7(t)}`);return{key:`job:${e.id}`,title:a||o||n(`notify.agentFallbackName`),body:[a&&o?o:``,s].filter(Boolean).join(` · `)}}function _7(e){let{enabled:t,noteUnsupported:n}=J5.getState();u7({notice:e,enabled:t}).then(e=>{!e&&t&&n(!0)}).catch(()=>void 0)}function v7(e){let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;e.type===`sessionUpdate`&&e.update&&typeof e.update==`object`&&t.push(e.update)}return t}var y7=1e3;function b7(e){let t=e.sessionId,n=e.enabled&&!!t;(0,V.useEffect)(()=>{if(!n||!t)return;let e=!1,r=()=>{t2(t).then(t=>{e||H.getState().applyFollowTimeline(ao(v7(t.events)),t.snapshot?.busy===!0)}).catch(()=>void 0)};r();let i=window.setInterval(r,y7);return()=>{e=!0,window.clearInterval(i)}},[n,t])}function x7(e){return`cb-embed:${e}:${Xo}`}function S7(e){return e||(typeof sessionStorage>`u`?null:sessionStorage)}function C7(e){if(!e||typeof e!=`object`)return{};let t=e;return t.drafts&&typeof t.drafts==`object`?t.drafts:e}function w7(e,t){if(!e)return null;try{let n=C7(JSON.parse(e)),r=n[Jo(t)]??n[`agent:main`];if(typeof r?.text==`string`&&r.text.length>0)return{text:r.text,updatedAt:typeof r.updatedAt==`number`&&Number.isFinite(r.updatedAt)?r.updatedAt:0}}catch{return null}return null}function T7(e,t){let n=S7(t);if(!n||!e)return!1;let r=w7(n.getItem(x7(e)),e);if(!r)return!1;let i=Jo(e),a=as.getState().drafts[i];return a?.text&&a.updatedAt>=r.updatedAt?!1:(as.getState().setDraft(i,{text:r.text,images:[],files:[]}),!0)}function E7(e,t){let n=S7(t);if(!n||!e)return!1;let r=Jo(e),i=as.getState().drafts[r];if(!i?.text)return!1;let a=x7(e),o={},s={};try{let e=n.getItem(a);if(e){let t=JSON.parse(e);o=t.drafts??{},s=t.histories??{}}}catch{o={}}return n.setItem(a,JSON.stringify({drafts:{...o,[r]:{text:i.text,updatedAt:i.updatedAt}},histories:s})),!0}function D7(e){return!e.embeddedAgent&&e.mainViewIsChat&&!e.showingAgentStage&&!e.newJobMode&&!e.focusedMember&&!e.historyLoading&&e.visibleGroups===0&&e.sessionBlank}function O7(e){return e.sessionReady||e.showingAgentStage?!1:e.view===`fault`||e.view===`occupied`||e.view===`timeout`}function k7(e){return e.showingAgentStage&&!e.newJobMode&&!e.creatingSelectedAgent&&!e.foregroundHeld}function A7(e){return e.occupiedFollow||e.foregroundHeld?!0:e.settledReadonly?!e.attached:!e.attached||e.transitioning}function j7(e){return e.frameLoaded!==!1&&!e.showRestoreComposer&&!e.foregroundHeld&&!e.occupiedFollow}function M7(e){return e.showingAgentStage&&!e.newJobMode&&e.fault===`occupied`}function N7(e){return e.loaded&&!e.ready&&e.acpStatus===`connected`&&e.fault==null}function P7(e){return e.creating&&!e.hasJob}function F7(e){return e.creating&&!e.frameLoaded?!e.hasJob||!e.hasWebUrl?`spawning`:`opening_page`:e.workerDown&&!e.frameLoaded?`restoring_worker`:e.frameLoaded?`connecting_session`:`opening_page`}function I7(e){return e.occupiedFollow||e.settledReadonly?null:e.creating?`creating`:e.restoring?`restoring`:e.attached?null:`connecting`}function L7(e){return!e.urlJobId||!e.jobsFetched||e.jobsLoading||e.hasListError?!1:!e.knownJobIds.includes(e.urlJobId)}function R7(...e){for(let t of e)if(t)return t;return null}function z7(e){return e.mainChatActive?R7(e.defaultAgentHomeCwd,e.environmentCwd):e.draftMode?R7(e.draftHomeCwd,e.environmentCwd):R7(e.ownerHomeCwd,e.selectedJobCwd,e.environmentCwd)}var B7=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform),V7=6;function H7(e){return e===`editor`||e===`terminal`}function U7(e,t){return H7(e)||t&&e===`changes`}function W7(){return He()}function G7(e,t,n,r,i,a){let o=Object.keys(e);if(o.length<=r)return e;let s=new Set(i.filter(e=>!!e)),c=o.filter(e=>!s.has(e)).map(t=>{let r=n.find(e=>e.id===t);return{id:t,lastAccess:e[t].lastAccess,settled:!r||W$(r)}}).sort((e,t)=>e.settled===t.settled?e.lastAccess-t.lastAccess:e.settled?-1:1),l=o.length-r;if(l<=0)return e;let u={...e};for(let{id:e}of c.slice(0,l))T7(e),delete u[e],delete t[e],a?.delete(e);return u}var K7=(0,V.lazy)(()=>Ph(()=>import(`./CanvasPaneStandaloneView-CDO7isWn.js`).then(e=>({default:e.CanvasPaneStandaloneView})),__vite__mapDeps([36,1,25,26,27,30,24,28,29,31,32,33,37]))),q7=(0,V.lazy)(()=>Ph(()=>import(`./CanvasView-DJNkeBGK.js`).then(e=>({default:e.CanvasView})),__vite__mapDeps([38,1,25,26,27,30,24,28,29,31,32,33,37]))),J7=(0,V.lazy)(()=>Ph(()=>import(`./ChangesView-fCuIktEK.js`).then(e=>({default:e.ChangesView})),__vite__mapDeps([39,1,25,26,27,32,40]))),Y7=(0,V.lazy)(()=>Ph(()=>import(`./DocsView-B79hLvzs.js`).then(e=>({default:e.DocsView})),__vite__mapDeps([41,1,25,26,27,28]))),X7=(0,V.lazy)(()=>Ph(()=>import(`./EditorView-7YnlryBL.js`).then(e=>({default:e.EditorView})),__vite__mapDeps([42,1,25,26,27,28,29,30,31,32,43,33,44,24,40]))),Z7=(0,V.lazy)(()=>Ph(()=>import(`./KeybindingsView-CIDkpkAb.js`).then(e=>({default:e.KeybindingsView})),__vite__mapDeps([45,1,25,26,27]))),Q7=(0,V.lazy)(()=>Ph(()=>import(`./LogsView-Bcv52scT.js`).then(e=>({default:e.LogsView})),__vite__mapDeps([46,1,25,26,27,28,47]))),$7=(0,V.lazy)(()=>Ph(()=>import(`./MetricsView-DUSiPsda.js`).then(e=>({default:e.MetricsView})),__vite__mapDeps([48,1,25,26,27,49]))),e9=(0,V.lazy)(()=>Ph(()=>import(`./PluginsView-BTOCj9co.js`).then(e=>({default:e.PluginsView})),__vite__mapDeps([50,1,25,26,27,32,51,52]))),t9=(0,V.lazy)(()=>Ph(()=>import(`./RemoteControlView-YqmY0vro.js`).then(e=>({default:e.RemoteControlView})),__vite__mapDeps([53,1,25,26,27]))),n9=(0,V.lazy)(()=>Ph(()=>import(`./SettingsView-D2wIPOBw.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([34,1,25,26,27,28,35,29]))),r9=(0,V.lazy)(()=>Ph(()=>import(`./StatsView-C7iB42TQ.js`).then(e=>({default:e.StatsView})),__vite__mapDeps([54,1,25,26,27,28,55,56]))),i9=(0,V.lazy)(()=>Ph(()=>import(`./TasksView-CKm5dh4d.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([57,1,25,26,27,30,32,51,55,56]))),a9=(0,V.lazy)(()=>Ph(()=>import(`./TracesView-4MhXOs0J.js`).then(e=>({default:e.TracesView})),__vite__mapDeps([58,1,25,26,27,28,52,56,47,40]))),o9=(0,V.lazy)(()=>Ph(()=>import(`./WorkersView-B5SyD2xB.js`).then(e=>({default:e.WorkersView})),__vite__mapDeps([59,1,25,26,27,32,51,49])));function s9(){return(0,G.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center bg-bg-primary`,children:(0,G.jsx)(nH,{size:`small`})})}je();var c9=typeof window>`u`?``:f();c9&&(H.getState().setSeededUserIntent(c9),H.getState().ensureLeadingUserMessage(c9,{allowEmptyTimeline:!0}));function l9(){k4();let e=new URLSearchParams(window.location.search).get(`embedded`)===`agent`;m7({enabled:!e});let t=e&&ke(),{viewState:i,checkAuth:a,accountState:o}=De(),{status:p,sessionId:v,topic:x,error:T,sessionFault:D,sessionFollow:ee}=U(),O=Au(p,v),A=ht(e=>e.resolved),ne=H(e=>e.hasPendingInterruption),ae=H(e=>oo(e.timeline)),se=H(e=>so(e.timeline)),ce=H(e=>e.isAgentRunning),ue=H(e=>e.historyLoading),he=ce||ae&&!se&&p===`connected`,[ge,_e]=(0,V.useState)(()=>!e||!N()),[xe,Te]=(0,V.useState)(!e),{connect:L,park:Oe,switchSession:Ae,createSession:je,bindAgentTarget:Me}=Bf(),Pe=(0,V.useRef)(!1),Ie=(0,V.useRef)(new Map),Be=(0,V.useRef)(null),We=(0,V.useRef)(null);e&&!We.current&&(We.current=new Fe(`parked`,{connect:async()=>{Te(!1);let e=Pe.current;Pe.current=!1;try{if(await L({token:Le()||void 0,continue:!0,takeWriter:e,sessionId:u()}),U.getState().status!==`connected`)throw Error(`Embedded ACP connection did not become ready`)}catch(e){throw await Oe().catch(()=>void 0),e}Te(!0)},disconnect:async()=>{Te(!1),await Oe()}}));let qe=md(e=>e.focusedMemberName),Ye=Tp(e=>e.focusedPeerName),Ze=Tp(e=>e.setFocusedPeer),{t:z,resolved:nt}=R(),it=wn(e=>e.isOpen),ot=wn(e=>e.setOpen),st=wn(e=>e.workspaceDockOpen),ct=wn(e=>e.setWorkspaceDockOpen),lt=wn(e=>e.switchWorkspaceDockAgent),ut=wn(e=>e.setWorkspaceDockChannelActive),dt=Mt(e=>e.tabs.find(t=>t.id===e.activeId)?.kind??null),ft=id(e=>e.fileChanges),pt=Sz(),[mt,gt]=(0,V.useState)(!1),_t=pt?mt:it,vt=(0,V.useRef)(null),bt=Tp(e=>e.recentOpen),xt=Tp(e=>e.recentProjectCwd),St=Tp(e=>e.setRecentOpen),Ct=Tp(e=>e.setRecentProjectCwd),wt=Tp(e=>e.activeAgentCwd),Dt=Tp(e=>e.setActiveAgentCwd),Ot=Tp(e=>e.mainChatActive),kt=Tp(e=>e.setMainChatActive),At=Tp(e=>e.setSelectedWorkerPid),jt=Tp(e=>e.mainAgentSessionId),Nt=Tp(e=>e.setMainAgentSessionId),Pt=(0,V.useCallback)((e,t)=>{let n=ie({identity:e,rememberedMainSessionId:Tp.getState().mainAgentSessionId,connectionSessionId:U.getState().sessionId,bindingKind:t});return n?zl.getState().jobs.some(e=>e.sessionId===n&&e.kind===`background`&&e.foregroundHeld!==!0)?(console.warn(`[app] main identity resolved to an agent session; treating CodeBuddy as blank instead`),null):n:null},[]),Ft=Tp(e=>e.setAgentSessionId),Lt=Tp(e=>e.agentSessionIds),[Rt,zt]=(0,V.useState)({}),Bt=(0,V.useRef)({}),Ht=(0,V.useRef)(Rt);Ht.current=Rt;let Ut=(0,V.useRef)({}),Wt=(0,V.useRef)(new Map),Gt=(0,V.useRef)(new Set),[Kt,qt]=(0,V.useState)(`unknown`),[Jt,Yt]=(0,V.useState)(null),Xt=(0,V.useRef)(!1),Zt=Tt(e=>e.cwd),Qt=ve(e=>e.info?.cwd??null),B=zl(e=>e.selectedJobId),$t=Ki(e=>e.phase),en=Ki(e=>e.target),tn=zl(e=>e.selectedJobTitle),nn=zl(e=>e.jobs.find(e=>e.id===B)??null),rn=zl(e=>e.selectedJobId!==null&&!!e.respawningJobIds[e.selectedJobId]);(0,V.useEffect)(()=>{if(!e&&B)try{if(typeof sessionStorage>`u`)return;let e=JSON.parse(sessionStorage.getItem(`agent-session-map`)??`{}`)[B];e&&typeof e==`string`&&!Lt[B]&&Ft(B,e)}catch{}},[e,B,Lt,Ft]);let an=(0,V.useRef)(!1);(0,V.useEffect)(()=>{e||an.current||(an.current=!0,B&&Ot&&kt(!1))},[e,B,Ot,kt]);let on=Tp(e=>e.newJobMode),ln=Tp(e=>e.setNewJobMode),un=Tp(e=>e.newChannelMode),dn=Tp(e=>e.setNewChannelMode),fn=Tp(e=>e.selectedChannelId),pn=Tp(e=>e.setSelectedChannelId),mn=Z(e=>fn?e.channels.find(e=>e.id===fn)??null:null),[hn,gn]=(0,V.useState)(0),_n=(0,V.useCallback)((t,n)=>{if(e||Ot||B!==t)return;let r=et();r.jobId===t&&r.sessionId!==n&&(Ce({jobId:t,sessionId:n}),gn(e=>e+1))},[e,Ot,B]);(0,V.useEffect)(()=>{let e=()=>gn(e=>e+1);return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[]),(0,V.useEffect)(()=>{if(e)return;let t=et();if(t.jobId){if(Ki.getState().target?.kind===`job`&&d({urlJobId:t.jobId,mainChatActive:Ot,selectedJobId:B,newJobMode:on,selectedChannelId:fn})){Ce({jobId:null,sessionId:Pt(t,Ki.getState().target?.kind??null),mainSessionId:null}),gn(e=>e+1);return}if(l({urlJobId:t.jobId,mainChatActive:Ot,selectedJobId:B,newJobMode:on,selectedChannelId:fn})&&B){let e=zl.getState().jobs.find(e=>e.id===B),t=Lt[B]??e?.sessionId??null;if(!t)return;Ce({jobId:B,sessionId:t,mainSessionId:jt}),gn(e=>e+1);return}B!==t.jobId&&(zl.getState().selectJob(t.jobId),kt(!1)),t.sessionId&&Lt[t.jobId]!==t.sessionId&&Ft(t.jobId,t.sessionId);let e=t.sessionId??(t.jobId===B?Lt[t.jobId]??nn?.sessionId??null:null);if(t.jobId&&!e)return;if(t.jobId&&!t.sessionId){Ce({jobId:t.jobId,sessionId:e,mainSessionId:t.mainSessionId??jt}),gn(e=>e+1);return}let n=s({...t,sessionId:e},{fallbackMainSessionId:jt});if(!n)return;let r=Ki.getState();if(r.phase===`attached`&&Ui(r.target,n))return;Me(n).catch(e=>{console.warn(`[app] bind agent target failed:`,e)});return}if(B&&!on&&!fn){let e=zl.getState().jobs.find(e=>e.id===B),t=Lt[B]??e?.sessionId??null;if(!e||!t)return;Ce({jobId:B,sessionId:t,mainSessionId:jt}),gn(e=>e+1);return}let n=Ki.getState();n.target?.kind===`job`&&(zl.getState().selectJob(null),kt(!0),Me({kind:`main`,baseUrl:pe(null),sessionId:Pt(t,n.target?.kind??null),mainSessionId:null}).catch(e=>{console.warn(`[app] bind main target failed:`,e)}))},[Lt,Me,e,jt,Ot,on,fn,B,nn?.sessionId,v,Ft,kt,hn]);let vn=Z(e=>e.enabled),yn=Z(e=>e.loading),bn=Z(e=>e.channels);(0,V.useEffect)(()=>{vn===!0&&!yn&&fn&&Tp.getState().leaveMissingChannel(bn.map(e=>e.id))},[vn,yn,bn,fn]);let xn=Z(e=>e.agents),Sn=Z(e=>e.defaultAgentId),Cn=Z(e=>e.jobAssignments),Tn=Z(e=>e.draftAgentId),En=Z(e=>e.localDraft),Dn=on&&Tn?xn.find(e=>e.id===Tn)??null:null,On=Z(e=>e.groups),kn=Z(e=>e.draftRoomId),An=on&&kn?On.find(e=>e.id===kn)??null:null;(0,V.useEffect)(()=>{let e=vn===!0&&nn?Cn[nn.id]:void 0,t=z7({mainChatActive:Ot,draftMode:on,draftHomeCwd:An?.homeCwd??Dn?.homeCwd??En?.homeCwd??null,selectedJobCwd:nn?.cwd??null,ownerHomeCwd:e?xn.find(t=>t.id===e)?.homeCwd??null:null,defaultAgentHomeCwd:vn===!0?xn.find(e=>e.id===Sn)?.homeCwd??null:null,environmentCwd:Qt});t&&t!==wt&&Dt(t)},[wt,xn,Cn,Sn,vn,Dn,An,Qt,En,Ot,on,nn,Dt]),(0,V.useEffect)(()=>{!on&&En&&!Jt&&Z.getState().discardLocalDraft()},[Jt,En,on]);let jn=nn?.cwd??null,Mn=nn?Lt[nn.id]??nn.sessionId??null:null,Nn=!e&&!Ot&&B!==null,Pn=B?$t===`attached`&&en?.kind===`job`&&en.jobId===B&&!ee?null:B:null;b7({sessionId:v,enabled:ee&&!Nn&&!e});let Fn=zl(e=>e.jobs),In=zl(e=>e.jobsFetched),Ln=zl(e=>e.loading),Rn=zl(e=>e.listError);(0,V.useEffect)(()=>{if(e||on||fn)return;let t=et().jobId;L7({urlJobId:t,jobsFetched:In,jobsLoading:Ln,hasListError:Rn!==null,knownJobIds:Fn.map(e=>e.id)})&&(console.warn(`[app] URL names a job that no longer exists; returning to the main chat:`,t),zl.getState().selectJob(null),kt(!0),Ce({jobId:null,sessionId:jt,mainSessionId:null}),gn(e=>e+1))},[Fn,e,In,Rn,Ln,jt,on,fn,kt,hn]);let zn=(0,V.useCallback)(e=>{Ze(null),pn(null),dn(!1);let t=Z.getState();t.setDraftRoom(null),t.clearAgentUnread(e.id).catch(()=>void 0),FU(e.id);let n=t.groups.find(t=>t.visibility!==`hidden`&&t.memberAgentIds.includes(e.id));if(t.setFocusedRoomId(n?.id??null),Dt(e.id===t.defaultAgentId&&Qt&&Qt!==`/`?Qt:e.homeCwd),e.id===t.defaultAgentId){t.setDraftAgent(null),zl.getState().selectJob(null),At(null),kt(!0),ln(!1);return}let r=zl.getState().jobs,i=r.filter(n=>t.agentIdForJob(n.id)===e.id),a=(e.primaryJobId?i.find(t=>t.id===e.primaryJobId)??r.find(t=>t.id===e.primaryJobId):void 0)??sn(void 0,i);if(a){t.setDraftAgent(null),a.id!==e.primaryJobId&&t.setPrimaryJob(e.id,a.id).catch(()=>void 0),zl.getState().selectJob(a.id,e.name),At(null),kt(!1),ln(!1);return}t.setDraftAgent(e.id),zl.getState().selectJob(null),At(null),kt(!1),ln(!0)},[Qt,Dt,Ze,kt,dn,ln,pn,At]),Bn=(0,V.useCallback)(e=>{Ze(null),pn(null),dn(!1);let t=Z.getState();t.setDraftAgent(null),t.setDraftRoom(null),zl.getState().selectJob(e.id,e.name??null),At(null),kt(!1),ln(!1),Dt(e.cwd??Qt)},[Qt,Dt,Ze,kt,dn,ln,pn,At]),Vn=(0,V.useCallback)(e=>{let t=Z.getState();LU(e.id),t.setFocusedRoomId(e.id),t.setDraftRoom(null),e.unreadByUser&&t.updateGroup(e.id,{unreadByUser:0}).catch(()=>void 0);let n=new Map(t.agents.map(e=>[e.id,e])),r=Vt(e.memberAgentIds,t.defaultAgentId,n);r&&zn(r)},[zn]);(0,V.useEffect)(()=>{if(e)return;if(on||fn){zt(e=>{let t=Object.keys(e);if(t.length===0)return e;for(let e of t)delete Bt.current[e],Gt.current.delete(e);return{}});return}if(!nn||!Nn)return;let t=nn.id;if(!b(nn))return;let n=nn.webUrl,r=Ue(nn),i=Bt.current[t]instanceof HTMLIFrameElement;zt(e=>{let a=e[t];if(a&&a.webUrl===n&&a.theme===A&&a.loaded&&i)return e;let o=a?.sessionId??Lt[t]??nn.sessionId??null;if(!o)return e;let s=Z.getState(),c=It({agents:s.agents,defaultAgentId:s.defaultAgentId,jobAssignments:s.jobAssignments,selectedJobId:t,mainChatActive:!1,embeddedJobId:t}),l;try{l=M(n,o,nn.cwd,Le(),A,window.location.hostname,t,{...c.name||c.seed?{id:c.seed,name:c.name,seed:c.seed}:{},...F(nn.intent)?{intent:F(nn.intent)}:{}})}catch{return e}if(a&&S(a.url,l)){if(a.webUrl===n&&a.theme===A)return e;if(a.theme===A&&i)return{...e,[t]:{...a,webUrl:n,sessionId:o}}}return E7(t),r?Gt.current.delete(t):Gt.current.add(t),G7(a?{...e,[t]:{...a,webUrl:n,sessionId:o,url:l,theme:A,loaded:!1,ready:!1,needsInput:null,running:null,acpStatus:null,fault:null}}:{...e,[t]:{jobId:t,webUrl:n,sessionId:o,url:l,theme:A,loaded:!1,ready:!1,needsInput:null,running:null,topic:null,acpStatus:null,fault:null,lastAccess:Date.now()}},Bt.current,Fn,4,[t],Gt.current)})},[e,on,fn,nn,Nn,Lt,Fn,4,B,A]),(0,V.useEffect)(()=>{zt(e=>{let t={...e},n=!1;for(let e of Object.keys(t)){let r=Fn.find(t=>t.id===e);if(!Ue(r)){if(e===B){if(!r)continue;Gt.current.has(e)||(Gt.current.add(e),T7(e),_(Bt.current[e],Xe));continue}delete t[e],delete Bt.current[e],Gt.current.delete(e),n=!0}}return n?t:e})},[Fn,B]),(0,V.useEffect)(()=>{B&&zt(e=>{let t=e[B];return!t||t.lastAccess===Date.now()?e:{...e,[B]:{...t,lastAccess:Date.now()}}})},[B]),(0,V.useEffect)(()=>{if(e)return;let t=Nn&&!on&&!fn;for(let e of Object.keys(Bt.current)){let n=Bt.current[e],r=Fn.find(t=>t.id===e),i=Ee({selectedLive:t,frameJobId:e,selectedJobId:B,job:r});if(!i)continue;let a=Gt.current.has(e);i===`live`&&a?(Gt.current.delete(e),_(n,be)):i===`parked`&&!a&&n&&(Gt.current.add(e),T7(e),_(n,Xe))}},[Fn,e,Nn,on,fn,B,Rt]);let Hn=tn||nn?.name||v1(nn?.intent??``)||(B?z(`agents.instanceFallback`).replace(`{id}`,B.slice(0,8)):null),Un=B?Rt[B]:null,Wn=$t===`attached`&&en?.kind===`job`&&en.jobId===B,Gn=Wn,Kn=(0,V.useRef)(null),qn=(0,V.useMemo)(()=>{if(vn===!0){if(un)return z(`agentHome.channel.new`);if(mn)return mn.name;if(on)return En?.name??Dn?.name;if(!Ot&&B){let e=Cn[B];return e?xn.find(t=>t.id===e)?.name:void 0}}},[vn,un,mn,on,En,Dn,Ot,B,Cn,Sn,xn,z]),Jn=(0,V.useMemo)(()=>{let t=z(`sessions.currentTitle`);if(e){let e=cn();if(e)return e}if(vn!==!0)return{name:qn??t,seed:`main`};if(on)return{name:qn??t,seed:Dn?.id??Sn??`main`};let n=It({agents:xn,defaultAgentId:Sn,jobAssignments:Cn,selectedJobId:B,mainChatActive:Ot,embeddedJobId:e?N():null});return{name:n.name??qn??t,seed:n.seed}},[vn,on,Dn,xn,Sn,Cn,B,Ot,e,qn,z]),Yn=Jn.name,Xn=Jn.seed,Zn=Jt!==null&&Jt===B,Qn=nn!=null&&!Ue(nn),$n=Wn?!1:Kt===`dead`||Kt===`unknown`&&!Gn,er=Wn,tr=Nn&&!on?Zn&&!er?`creating`:nn?.foregroundHeld?null:(!Gn||Qn)&&!Zn?`restoring`:null:null,nr=!!(nn&&q$(nn)&&!rn);(0,V.useEffect)(()=>{Jt&&(Jt!==B||er)&&Yt(null)},[Jt,er,B]);let rr=F7({creating:tr===`creating`||Zn,hasJob:!!nn,hasWebUrl:!!nn?.webUrl,frameLoaded:Gn,workerDown:Qn&&tr!==`creating`&&!Zn}),ir=M7({showingAgentStage:Nn,newJobMode:on,fault:D}),ar=Nn&&!on&&(ir||!Gn||Qn||!er),or=A7({attached:Wn,occupiedFollow:ir,settledReadonly:nr,foregroundHeld:!!nn?.foregroundHeld,transitioning:tr!==null});(0,V.useEffect)(()=>{Wn&&nn&&!Ue(nn)&&H.getState().settleRunStateForSettledSession()},[nn,Wn]);let sr=I7({attached:Wn,creating:tr===`creating`,restoring:tr===`restoring`,occupiedFollow:ir,settledReadonly:nr}),cr=sr===`creating`?z(`agents.live.creating`):sr===`restoring`?z(`agents.live.restoring`):sr===`connecting`?z(`agents.boot.connecting`):null,lr=k7({showingAgentStage:Nn,newJobMode:on,creatingSelectedAgent:Zn,foregroundHeld:!!nn?.foregroundHeld,frameDead:$n,workerDown:Qn}),ur=C(p,T,D),dr=ar&&!lr?D??null:null,fr=e||!Nn?ur:null,pr=(0,V.useCallback)(()=>{if(!lr){if(e){Pe.current=ee||D===`occupied`,We.current?.restart().catch(()=>void 0);return}if(Nn&&B){_(Bt.current[B],be,{takeWriter:dr===`occupied`});return}L({continue:!0,takeWriter:ee||D===`occupied`})}},[L,e,dr,B,D,ee,lr,Nn]);(0,V.useEffect)(()=>{if(e||!Nn||!B)return;let t=dr;if(!t||t===`occupied`)return;let n=`${B}:${t}`;Kn.current!==n&&(Kn.current=n,W.error(z(r(t))))},[e,dr,B,Nn,z]),(0,V.useEffect)(()=>{Kn.current=null},[B]),(0,V.useLayoutEffect)(()=>{Nn&&B&&(ar||lr)&&T7(B)},[B,lr,ar,Nn]),(0,V.useEffect)(()=>{if(!B||!N7({loaded:Gn,ready:er,acpStatus:Un?.acpStatus,fault:Un?.fault}))return;let e=window.setTimeout(()=>{zt(e=>{let t=e[B];return!t||t.ready||!t.loaded?e:{...e,[B]:{...t,ready:!0}}})},2500);return()=>window.clearTimeout(e)},[Un?.acpStatus,Un?.fault,Gn,er,B]),(0,V.useEffect)(()=>{if(B&&lr)return T7(B),()=>{E7(B);let e=as.getState().drafts[Jo(B)];P(Bt.current[B],{text:e?.text??``,updatedAt:e?.updatedAt??Date.now()})}},[B,lr]);let mr=Yo({embeddedJobId:e?N():null,mainChatActive:Ot,selectedJobId:B}),hr=e?oe():null,gr=e?hr??Qt:Ot?wt??Qt:jn??wt??Qt,_r=(0,V.useRef)(new Set),vr=(0,V.useRef)(new Set),yr=(0,V.useRef)(new Map),[br,xr]=(0,V.useState)(!1),[Sr,Cr]=(0,V.useState)(!1),[wr,Tr]=(0,V.useState)(!1),[Er,Dr]=(0,V.useState)(!1),[Or,kr]=(0,V.useState)(void 0),{splitPane:Ar,mainView:jr,setMainView:Mr}=yt(),Nr=U7(jr,pt),Pr=jr===`chat`||Nr,Fr=pt?Nr:Pr&&st,Ir=pt?jr===`chat`:Pr;(0,V.useLayoutEffect)(()=>{if(!e)for(let e of Object.values(Rt)){let t=at({showingAgentStage:Nn,newJobMode:on||!!fn,jobId:e.jobId,selectedJobId:B,loaded:e.loaded,chatHostVisible:Ir&&Pr});tt(Bt.current[e.jobId],t)}},[Rt,Pr,e,on,fn,B,Ir,Nn]);let Lr=H(e=>e.timeline),Rr=H(e=>e.historyLoading),zr=Ko(e=>e.sessionBlank),Br=Ko(e=>e.currentAgentName),Vr=(0,V.useMemo)(()=>OW(Lr).length,[Lr]),Hr=D7({mainViewIsChat:jr===`chat`,embeddedAgent:e,showingAgentStage:Nn,newJobMode:on,focusedMember:!!qe,sessionReady:O,historyLoading:Rr,visibleGroups:Vr,sessionBlank:zr}),Ur=O7({sessionReady:O,showingAgentStage:Nn,embeddedAgent:e,view:D===`occupied`?`occupied`:p===`error`||D?`fault`:`spin`});(0,V.useEffect)(()=>{ut(!!(fn||un))},[un,fn,ut]),(0,V.useEffect)(()=>{gt(!1)},[pt,jr]),(0,V.useEffect)(()=>{jr===`changes`&&id.getState().markChangesSeen()},[ft,jr]),(0,V.useEffect)(()=>{U7(jr,pt)&&(Mt.getState().ensureTab(jr),ct(!0),!pt&&!W7()&&Mr(`chat`))},[pt,jr,Mr,ct]);let Wr=(0,V.useCallback)((e,t)=>{let n=e.trim();if(!n){W.error(z(`settings.workspaceMissing`));return}if(pt){let e=new URLSearchParams({scope:`project`,cwd:n});t&&e.set(`name`,t),Mr(`settings`),window.location.hash=`/settings?${e.toString()}`,gt(!1);return}Mt.getState().ensureSettingsTab(n,t?z(`settings.workspaceFor`,{name:t}):z(`agents.workspaceSettings`)),ct(!0)},[pt,Mr,ct,z]),Gr=(0,V.useCallback)(()=>{if(pt){gt(e=>!e);return}wn.getState().toggle()},[pt]),Kr=(0,V.useCallback)(()=>{pt&>(!1)},[pt]),qr=(0,V.useCallback)(()=>{if(pt){gt(!0);return}ot(!0)},[pt,ot]);(0,V.useEffect)(()=>{let e=e=>A0.handleKeyDown(e);return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,V.useEffect)(()=>{i!==`authenticated`||e||Z.getState().load().catch(()=>void 0)},[i,e]),(0,V.useEffect)(()=>{i!==`authenticated`||e||vn!==null&&c6({embedded:e,homeEnabled:vn}).catch(()=>void 0)},[i,e,vn]),(0,V.useEffect)(()=>{if(e)return;if(vn!==!0){vn===!1&&Mt.getState().switchHomeAgent(null);return}let t=B?Cn[B]:void 0;if(B&&!t&&!En&&!Tn&&!Ot)return;let n=En?.id??Tn??t??(Ot?Sn:void 0)??IU()??Sn??`main`;Mt.getState().switchHomeAgent(n),lt(n)},[Cn,Sn,vn,Tn,e,En?.id,Ot,B,lt]),(0,V.useEffect)(()=>{if(i!==`authenticated`||e)return;let t=!1;return(async()=>{try{let e=await ze(`/api/v1/channels`,{headers:Je()});if(!e.ok||t)return;let n=await e.json();kr(n.capabilities?.remoteControlEnabled===!0)}catch{}})(),()=>{t=!0}},[i]),(0,V.useEffect)(()=>{p===`connected`&&C0.getState().loadBindings()},[p]);let Jr=(0,V.useCallback)((e,t)=>{let n=zl.getState().jobs.find(t=>t.id===e);if(!n)return;let r=n.webUrl,i=Z.getState(),a=It({agents:i.agents,defaultAgentId:i.defaultAgentId,jobAssignments:i.jobAssignments,selectedJobId:e,mainChatActive:!1,embeddedJobId:e}),o;try{o=M(r,t,n.cwd,Le(),A,window.location.hostname,e,{...a.name||a.seed?{id:a.seed,name:a.name,seed:a.seed}:{},...F(n.intent)?{intent:F(n.intent)}:{}})}catch{return}T7(e),E7(e),Gt.current.delete(e),zt(n=>{let i=n[e];return i?{...n,[e]:{...i,webUrl:r,sessionId:t,url:c(o),theme:A,loaded:!1,ready:!1,needsInput:null,running:null,acpStatus:null,fault:null}}:n})},[A]),Yr=(0,V.useCallback)(e=>{Wt.current.delete(e),zt(t=>{let n=t[e];return!n||n.loaded?t:{...t,[e]:{...n,loaded:!0}}})},[]);(0,V.useEffect)(()=>{B&&Wt.current.delete(B)},[B]),(0,V.useEffect)(()=>{if(e||!Nn||on||!B)return;let t=B;qt(`unknown`);let n=e=>{let n=Bt.current[t],r=Ht.current[t];if(!n||!r)return;let i=k(n,we(r.url));if(i===`alive`||i===`opaque`){qt(`alive`),Yr(t);return}if(!e||i!==`dead`)return;qt(`dead`),T7(t),r.loaded&&zt(e=>{let n=e[t];return n?.loaded?{...e,[t]:{...n,loaded:!1}}:e});let a=Wt.current.get(t)??0;a>=2||(Wt.current.set(t,a+1),E7(t),Gt.current.delete(t),zt(e=>{let n=e[t];return n?{...e,[t]:{...n,loaded:!1,ready:!1,needsInput:null,running:null,url:c(n.url)}}:e}))},r=window.requestAnimationFrame(()=>n(!1)),i=window.setTimeout(()=>n(!0),Se);return()=>{window.cancelAnimationFrame(r),window.clearTimeout(i)}},[Un?.url,e,Nn,on,B,Yr]);let Xr=(0,V.useCallback)(e=>{Ar(e)},[Ar]),Zr=(0,V.useCallback)(async()=>{if(!v)return null;let t=Tp.getState(),n=zl.getState().selectedJobId;if(!e&&!t.mainChatActive&&n){let e=Date.now()+3e3;for(;U.getState().sessionSwitching&&Date.now()<e;)await new Promise(e=>window.setTimeout(e,50));if(U.getState().sessionSwitching)return W.error(z(`error.newChatFailed`)),null;let t=Bt.current[n],r=Lt[n]??zl.getState().jobs.find(e=>e.id===n)?.sessionId??null,i=typeof crypto?.randomUUID==`function`?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`;if(!_(t,`codebuddy.agent-frame-new-chat`,{requestId:i}))return W.error(z(`error.newChatFailed`)),null;let a=Date.now()+5e3,o=window.setInterval(()=>{Date.now()<a&&_(t,Ne,{requestId:i})},150);try{for(;Date.now()<a;){try{let e=await nl(n);if(e.sessionId&&e.sessionId!==r)return Ft(n,e.sessionId),_n(n,e.sessionId),e.sessionId}catch{}await new Promise(e=>window.setTimeout(e,150))}}finally{window.clearInterval(o)}return W.error(z(`error.newChatFailed`)),null}let r=Date.now()+3e3;for(;U.getState().sessionSwitching&&Date.now()<r;)await new Promise(e=>window.setTimeout(e,50));if(U.getState().sessionSwitching)return W.error(z(`error.newChatFailed`)),null;let i;try{i=await je()}catch{return W.error(z(`error.newChatFailed`)),null}return Nt(i),!wt&&Qt&&Dt(Qt),Ze(null),ln(!1),Mr(`chat`),window.location.hash=`/chat`,i},[Lt,v,wt,_n,je,e,Qt,nl,Ft,Mr,z,Dt,ln,Nt,Ze]),Qr=(0,V.useCallback)(async(e,t,n)=>{if(!v)return!1;let r=Ki.getState().target,i=r?.kind===`job`?r.jobId??null:null,a=Tp.getState(),o=zl.getState().jobs;if(i&&!(t=>t?r?.kind===`job`&&r.sessionId===e||a.agentSessionIds[t]===e||o.some(n=>n.id===t&&n.sessionId===e):!1)(i))return!0;try{return await Ae(e),Dt(t??wt??Qt),Ze(null),ln(!1),Mr(`chat`),window.location.hash=`/chat`,!0}catch(e){let t=ye(e);console.error(`[App] Session switch failed: ${t}`,e);let r=/external writer|Persistent Session already has|current external writer/i.test(t),i=/ADMISSION_FAILED|admission did not commit/i.test(t);return r&&n?.silentOccupied||(r?W.info(z(`error.sessionOccupied`)):W.error(i?z(`error.sessionUnavailable`):`${z(`error.switchSessionFailed`)}: ${t}`)),!1}},[v,wt,Qt,Mr,Ae,z,Dt,ln,Ze]),$r=(0,V.useCallback)(t=>{let n=t.trim();if(!e||!n)return Promise.resolve();let r=Be.current;if(r)return r.targetSessionId=n,r.promise;let i={targetSessionId:n,promise:Promise.resolve()},a=(async()=>{let e=Date.now()+1e4,t=0;for(;Date.now()<e;){let e=i.targetSessionId;if(U.getState().sessionId!==e){if(!await Qr(e,void 0,{silentOccupied:!0})){if(t+=1,t>=V7){console.warn(`[app] embedded session sync giving up after `+t+` failed switches; target may not belong to this worker:`,e);return}await new Promise(e=>window.setTimeout(e,Math.min(100*2**(t-1),1500)));continue}t=0}if(i.targetSessionId===e&&U.getState().sessionId===e)return}throw Error(`Embedded session sync timed out: ${i.targetSessionId}`)})().finally(()=>{Be.current===i&&(Be.current=null)});return i.promise=a,Be.current=i,a},[e,Qr]),ei=(0,V.useCallback)((e,t)=>Qr(e,t,{silentOccupied:!0}),[Qr]),ti=(0,V.useCallback)(async e=>{if(!e.sessionId)return W.info(z(`scheduled.execution.noConversation`)),!1;if((e.status===`queued`||e.status===`running`)&&e.ownerPid){await Wf.getState().fetchWorkers();let t=Wf.getState().workers.find(t=>t.pid===e.ownerPid);if(t&&!t.isCurrent){let n=Kf(t,e.sessionId,e.id);if(n)return window.location.href=n,!0}}let t=new URL(window.location.href);if(t.searchParams.set(`focusExecutionId`,e.id),window.history.replaceState({},``,t.toString()),v===e.sessionId)return zl.getState().selectJob(null),kt(!0),At(null),Mr(`chat`),window.location.hash=`/chat`,window.requestAnimationFrame(()=>{window.dispatchEvent(new CustomEvent(`codebuddy:focus-scheduled-execution`,{detail:e.id}))}),!0;if(!await Qr(e.sessionId,Zt??void 0)){let e=new URL(window.location.href);return e.searchParams.delete(`focusExecutionId`),window.history.replaceState({},``,e.toString()),!1}return Nt(e.sessionId),zl.getState().selectJob(null),kt(!0),At(null),Dt(Zt??null),window.requestAnimationFrame(()=>{window.dispatchEvent(new CustomEvent(`codebuddy:focus-scheduled-execution`,{detail:e.id}))}),!0},[Qr,v,Dt,Nt,kt,Mr,At,z,Zt]),ni=(0,V.useCallback)(e=>{let t=e===`remote-control`&&Or===!1?`chat`:e;if(pt){gt(!1),Mr(t),window.location.hash=`/${t}`;return}if(H7(t)&&!W7()){Mt.getState().ensureTab(t),ct(!0),yt.getState().mainView!==`chat`&&(Mr(`chat`),window.location.hash=`/chat`);return}Mr(t),window.location.hash=`/${t}`},[pt,Or,Mr,ct]),ri=(0,V.useCallback)(e=>{if(pt){if(e===`settings`){let e=Mt.getState().activeTab(),t=new URLSearchParams({scope:`project`});e?.settingsCwd&&t.set(`cwd`,e.settingsCwd),Mr(`settings`),window.location.hash=`/settings?${t.toString()}`;return}ni(e===`explorer`||e===`search`||e===`scm`||e===`browser`||e===`bgTask`||e===`subagent`||e===`workflow`?`editor`:e??`chat`);return}e&&ct(!0)},[ni,pt,ct]),ii=(0,V.useCallback)(()=>{ct(!wn.getState().workspaceDockOpen)},[ct]),ai=(0,V.useCallback)(()=>{if(bt){St(!1);return}Ct(Zt??null),St(!0)},[bt,Zt,Ct,St]),oi=(0,V.useCallback)(()=>{Dr(e=>!e)},[]),si=(0,V.useCallback)(()=>{Dr(!0)},[]),ci=(0,V.useCallback)(async(e,t)=>{let n=Tp.getState().mainChatActive?null:zl.getState().selectedJobId;return n?(Ft(n,e),Jr(n,e),zl.getState().selectJob(n,zl.getState().selectedJobTitle),kt(!1),At(null),Dt(t),!0):await Qr(e,t)?(Nt(e),zl.getState().selectJob(null),kt(!0),At(null),Dt(t),!0):!1},[Qr,Dt,Ft,Nt,kt,At,Jr]),li=(0,V.useCallback)(()=>{Z.getState().beginLocalDraft(z(`agentHome.defaultName`),Zt??null),zl.getState().selectJob(null),kt(!1),dn(!1),pn(null),ln(!0),Mr(`chat`),window.location.hash=`/chat`},[kt,Mr,dn,ln,pn,z,Zt]),ui=(0,V.useCallback)(()=>{Z.getState().beginLocalDraft(z(`agentHome.defaultName`),Zt??null)},[z,Zt]),di=(0,V.useCallback)(async e=>{let t=Z.getState(),n=t.defaultAgentId,r=new Map(t.agents.map(e=>[e.id,e])),i=[...new Set(e.memberAgentIds)],a=i.filter(e=>kp(e,n,r.get(e)?.engine));if(i.some(e=>e===n)?W.info(z(`agentHome.channel.defaultBlocked`)):a.length!==i.length&&W.info(z(`agentHome.room.minimalBlocked`)),a.length<2){W.info(z(`agentHome.channel.needTwo`));return}if(a.length>6){W.info(z(`agentHome.channel.pickHint`));return}let o=null;try{o=await Z.getState().createChannel({memberAgentIds:a,...e.name?.trim()?{name:e.name.trim()}:{}})}catch(e){W.error(D1(e,z(`agentHome.opFailed`)));return}if(!o){W.error(z(`agentHome.opFailed`));return}let s=Tp.getState();s.preChannelSelection||s.capturePreChannelSelection(),dn(!1),pn(o.id)},[dn,pn,z]),fi=(0,V.useCallback)(()=>{let e=Z.getState();e.discardLocalDraft(),e.setPendingRecipients([]),e.setDraftAgent(null),ln(!1),dn(!1),Mr(`chat`),window.location.hash=`/chat`},[Mr,dn,ln]),pi=(0,V.useCallback)(async(e,t,n)=>{vr.current.add(e),Yt(e);let r=zl.getState().jobs.find(t=>t.id===e);zl.getState().selectJob(e,r?.name??null),At(null),kt(!1);let i=Z.getState(),a=n??i.localDraft,o=a?.homeCwd??(i.draftAgentId?i.agents.find(e=>e.id===i.draftAgentId)?.homeCwd:null);Dt(r?.cwd??o??Qt);let s=typeof t.engine==`string`?t.engine.trim():void 0,c=typeof t.model==`string`?t.model.trim():void 0,l=typeof t.permissionMode==`string`?t.permissionMode.trim():void 0;if(ln(!1),i.enabled===!0&&a){try{let t=await i.createAgent({name:a.name,homeCwd:r?.cwd??a.homeCwd??void 0,...s?{engine:s}:{},...c?{model:c}:{},...l?{permissionMode:l}:{}});t&&(await i.assignJob(t.id,e),FU(t.id),Mt.getState().switchHomeAgent(t.id))}catch{}finally{i.discardLocalDraft()}return}let u=t.agentId??i.draftAgentId;if(i.enabled===!0&&u){i.jobAssignments[e]!==u&&await i.assignJob(u,e).catch(()=>void 0),FU(u);let t={...s===void 0?{}:{engine:s},...c===void 0?{}:{model:c},...l===void 0?{}:{permissionMode:l}};Object.keys(t).length>0&&await i.updateAgent(u,t)}},[Qt,Dt,kt,ln,At]),mi=(0,V.useCallback)(async(e,t,n)=>{n&&(Xt.current=!0);try{let r=Z.getState(),i=r.pendingRecipients;if(i.length>0){let a=[];for(let e of i){let t=e.kind===`agent`?e.id:await r.promoteRun(e.id,{name:e.name,homeCwd:e.homeCwd});t&&a.push(t)}let o=[...new Set(a)];if(r.setPendingRecipients([]),o.length>=2){let r=Z.getState(),i=new Map(r.agents.map(e=>[e.id,e]));if(o.some(e=>!kp(e,r.defaultAgentId,i.get(e)?.engine))){W.info(o.some(e=>e===r.defaultAgentId)?z(`agentHome.team.defaultBlocked`):z(`agentHome.room.minimalBlocked`));let i=o[0];r.setDraftAgent(i),await pi(e,t,n);return}let a=await r.ensureRoom(o.map(e=>({kind:`agent`,id:e})));if(a){r.setFocusedRoomId(a.id),LU(a.id);let i=o.find(e=>e!==r.defaultAgentId)??o[0];if(i===r.defaultAgentId){r.setDraftRoom(null),await pi(e,t,n);return}r.setDraftAgent(i),r.setDraftRoom(null),await pi(e,t,n);return}W.info(z(`agentHome.room.full`))}else if(o.length===1){let i=Z.getState().agents.find(e=>e.id===o[0]);if(i){r.setDraftAgent(i.id),await pi(e,t,n);return}}}let a=r.draftRoomId?r.groups.find(e=>e.id===r.draftRoomId):void 0;if(a){r.setFocusedRoomId(a.id),r.setDraftRoom(null);let e=a.memberAgentIds.find(e=>e!==r.defaultAgentId)??a.memberAgentIds[0];e&&e!==r.defaultAgentId&&r.setDraftAgent(e)}return await pi(e,t,n)}finally{Xt.current=!1,n&&Z.getState().discardLocalDraft()}},[pi,z]);(0,V.useEffect)(()=>{if(Ot||on||!nn?.sessionId||nn.foregroundHeld)return;let e,t=()=>{let n=zl.getState().jobs.find(e=>e.id===nn.id);if(!n)return;if(zl.getState().manuallyStoppedAgentIds[n.id]){vr.current.delete(n.id),yr.current.delete(n.id);return}let r=rt(n,vr.current.has(n.id));if(r===null){(n.webUrl||n.alive)&&vr.current.delete(n.id);return}if(r>0){e=setTimeout(t,r);return}if(vr.current.delete(n.id),_r.current.has(n.id))return;let i=Date.now(),a=yr.current.get(n.id),o=a?.nextRetryAt??0;if(i<o){e=setTimeout(t,o-i);return}let s=a?.failures??0,c=$e(s,1e3,8e3);yr.current.set(n.id,{failures:s+1,nextRetryAt:i+c}),_r.current.add(n.id),zl.getState().respawnJob(n.id).catch(()=>void 0).finally(()=>_r.current.delete(n.id))};return t(),()=>{e&&clearTimeout(e)}},[Ot,on,nn?.alive,nn?.foregroundHeld,nn?.id,nn?.sessionId,nn?.settled,nn?.startedAt,nn?.state,nn?.tempo,nn?.webUrl]),(0,V.useEffect)(()=>{B&&de(er,nn)&&yr.current.delete(B)},[er,nn,B]);let gi=(0,V.useCallback)(()=>{B&&zl.getState().respawnJob(B).catch(()=>{})},[B]);if((0,V.useEffect)(()=>{let e=e=>{let t=Object.keys(Bt.current).find(t=>Bt.current[t]?.contentWindow===e.source);if(!t||!zl.getState().jobs.find(e=>e.id===t)||e.origin!==window.location.origin)return;if(E(e.data)){if(e.data.kind===`url`){try{Mt.getState().ensureBrowserTab(e.data.url),ct(!0)}catch{}return}let{path:t,line:n,endLine:r}=e.data,i=t.substring(t.lastIndexOf(`/`)+1),a=n?{line:n,col:1,endLine:r,query:``}:void 0;Mt.getState().ensureFileTab(t,i),ct(!0);let o=Et.getState();o.openFile(t,i,a).then(()=>{o.revealInTree(t)}).catch(()=>void 0);return}if(!w(e.data))return;let n=typeof e.data.sessionId==`string`?e.data.sessionId.trim():``,r=Ht.current[t],i=Ut.current[t],a=!!(n&&i&&i!==n&&r?.sessionId===n);n&&!a&&(Ft(t,n),_n(t,n),rl(t,n).catch(()=>void 0),delete Ut.current[t]),typeof e.data.agentName==`string`&&e.data.agentName.trim()&&D4(e.data.agentName,t),zt(r=>{let i=r[t];return i?{...r,[t]:{...i,sessionId:n&&!a?n:i.sessionId,needsInput:typeof e.data.needsInput==`boolean`?e.data.needsInput:i.needsInput,running:typeof e.data.running==`boolean`?e.data.running:i.running,topic:e.data.topic,ready:typeof e.data.ready==`boolean`?e.data.ready:i.ready,acpStatus:e.data.acpStatus??i.acpStatus,fault:e.data.fault===void 0?i.fault:e.data.fault}}:r})};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[_n,Ft,ct]),(0,V.useEffect)(()=>{if(e)return;let t=Hc(),n=pe(null),r=`app:agent-session`,i=t.onAppEvent(({baseUrl:e,frame:t})=>{if(I(e)!==I(n)||t.streamId!==r||t.event.event!==`changed`||!t.event.data||typeof t.event.data!=`object`)return;let i=t.event.data;if(typeof i.jobId!=`string`||typeof i.sessionId!=`string`||!i.sessionId)return;let a=i.jobId,o=i.sessionId;Ft(a,o),_n(a,o),Ut.current[a]=o,Ht.current[a]?.sessionId!==o&&h(Bt.current[a],o)});return t.subscribeAppStream(n,r),()=>{i(),t.unsubscribeAppStream(n,r)}},[_n,e,Ft]),(0,V.useEffect)(()=>{if(e||!B)return;let t=Hc(),n=pe(null),r=!1,i=!1,a=()=>{r||i||(i=!0,nl(B).then(({sessionId:e})=>{!r&&e&&(Ft(B,e),_n(B,e),Ut.current[B]=e,Ht.current[B]?.sessionId!==e&&h(Bt.current[B],e))}).catch(()=>void 0).finally(()=>{i=!1}))},o=t.onStatusChange((e,t)=>{t===`ready`&&I(e)===I(n)&&a()});t.getStatus(n)===`ready`&&a();let s=window.setInterval(a,1e3);return()=>{r=!0,window.clearInterval(s),o()}},[_n,e,B,Ft]),(0,V.useEffect)(()=>{if(e||!B)return;let t=!1;return nl(B).then(({sessionId:e})=>{!t&&e&&(Ft(B,e),_n(B,e),Ut.current[B]=e,Ht.current[B]?.sessionId!==e&&h(Bt.current[B],e))}).catch(()=>void 0),()=>{t=!0}},[_n,e,B,er,Ft]),(0,V.useEffect)(()=>{let e=[A0.register({id:`commandPalette.toggle`,key:`p`,meta:!0,shift:!0,handler:()=>Tr(e=>!e)}),A0.register({id:`sidebar.toggle`,key:`b`,meta:!0,when:()=>j(jr,He()),handler:()=>Gr()}),A0.register({id:`terminal.toggle`,key:`j`,meta:!0,handler:()=>{if(pt){let e=jr===`terminal`?`chat`:`terminal`;Mr(e),window.location.hash=`/`+e;return}Mt.getState().ensureTab(`terminal`),ct(!0)}}),A0.register({id:`newChat`,key:`n`,meta:!0,handler:()=>Zr()}),A0.register({id:`settings`,key:`,`,meta:!0,handler:()=>{Mr(`settings`),window.location.hash=`/settings`}}),...B7?[A0.register({id:`sessions.switcher`,key:`s`,meta:!0,shift:!0,handler:()=>oi()})]:[],A0.registerAction(`app:commandPalette`,()=>Tr(e=>!e)),A0.registerAction(`app:toggleSidebar`,()=>{Gr()},()=>j(jr,He())),A0.registerAction(`app:toggleTerminal`,()=>{if(pt){let e=jr===`terminal`?`chat`:`terminal`;Mr(e),window.location.hash=`/`+e;return}Mt.getState().ensureTab(`terminal`),ct(!0)}),A0.registerAction(`app:newChat`,()=>Zr()),A0.registerAction(`app:settings`,()=>{Mr(`settings`),window.location.hash=`/settings`}),A0.registerAction(`app:focusInput`,()=>{document.querySelector(`textarea`)?.focus()}),A0.registerAction(`app:keybindings`,()=>{Mr(`keybindings`),window.location.hash=`/keybindings`}),A0.registerAction(`history:open`,()=>ai()),A0.registerAction(`sessions:switcher`,()=>oi())];return()=>e.forEach(e=>e())},[pt,jr,Zr,ai,oi,Mr,ct,Gr]),(0,V.useEffect)(()=>{let e=new URLSearchParams(window.location.search),t=e.get(`password`),n=e.get(`token`);if(t||n){Ge(t||n),e.delete(`password`),e.delete(`token`);let r=e.toString()?`${window.location.pathname}?${e.toString()}`:window.location.pathname;window.history.replaceState({},``,r)}a()},[a]),(0,V.useEffect)(()=>{if(i===`authenticated`)return De.getState().startHeartbeat()},[i]),(0,V.useEffect)(()=>{i===`authenticated`&&De.getState().checkAccountAuth()},[i]),(0,V.useEffect)(()=>{if(i===`authenticated`){let e=g(),t=e===`remote-control`&&Or!==!0?`chat`:e;if(!pt&&H7(t)&&!W7()){Mt.getState().ensureTab(t),ct(!0),Mr(`chat`),(!window.location.hash||window.location.hash===`#`)&&(window.location.hash=`/chat`);return}Mr(t),(!window.location.hash||window.location.hash===`#`)&&(window.location.hash=`/${t}`)}},[pt,Or,Mr,ct,i]),(0,V.useEffect)(()=>fe(e=>{if(e===`remote-control`&&Or!==!0){Or===!1&&(Mr(`chat`),window.location.hash=`/chat`);return}if(!pt&&H7(e)&&!W7()){Mt.getState().ensureTab(e),ct(!0),yt.getState().mainView!==`chat`&&Mr(`chat`);return}Mr(e)}),[pt,Or,Mr,ct]),(0,V.useEffect)(()=>{Or===!1&&jr===`remote-control`&&(Mr(`chat`),window.location.hash=`/chat`)},[jr,Or,Mr]),(0,V.useEffect)(()=>{if(i===`authenticated`&&o===`authenticated`){let n=Le()||void 0;nf().catch(()=>void 0),e?We.current?.setDesired(t?`parked`:`live`).catch(()=>void 0):et().jobId||L({token:n,continue:!0}),Re()}},[o,L,t,e,i]),(0,V.useEffect)(()=>()=>{We.current?.setDesired(`parked`).catch(()=>void 0)},[]),(0,V.useEffect)(()=>{Qt&&!wt&&Dt(Qt)},[Qt,wt,Dt]),(0,V.useEffect)(()=>{wt&&Ke.getState().setFolder(wt)},[wt]),(0,V.useEffect)(()=>{if(!v||Ki.getState().target?.kind===`job`)return;let e=Tp.getState(),t=zl.getState().selectedJobId;(e.mainChatActive||!t)&&Nt(v)},[v,Nt]),(0,V.useEffect)(()=>{document.documentElement.lang=nt;let e=Nn?Un?.topic||Hn:x;document.title=Gw(e)||z(`page.title`)},[nt,z,x,Nn,Un?.topic,Hn]),(0,V.useEffect)(()=>{if(!e)return;let t=e=>{if(e.origin===window.location.origin&&e.source===window.parent){if(re(e.data)){$r(e.data.sessionId).catch(()=>void 0);return}if(te(e.data)){let t=e.data.requestId;if(!t){Zr().catch(()=>void 0);return}let n=Ie.current.get(t);if(n){n.catch(()=>void 0);return}let r=Zr();Ie.current.set(t,r),r.finally(()=>{Ie.current.get(t)===r&&Ie.current.delete(t)}).catch(()=>void 0);return}if(m(e.data)){We.current?.setDesired(`parked`).catch(()=>void 0);return}if(y(e.data)){if(i!==`authenticated`||o!==`authenticated`)return;if(Qe(e.data)){Pe.current=!0,We.current?.restart().catch(()=>void 0);return}We.current?.setDesired(`live`).catch(()=>void 0)}}};return window.addEventListener(`message`,t),()=>window.removeEventListener(`message`,t)},[o,e,Zr,$r,i]),(0,V.useEffect)(()=>{if(!e||window.parent===window)return;let t=null;try{t=window.parent.location.origin}catch{try{document.referrer&&(t=new URL(document.referrer).origin)}catch{}}t&&window.parent.postMessage({type:Ve,sessionId:v,topic:Gw(x)||null,needsInput:ne,running:he,hasUserTurn:ae,agentName:Br||null,ready:xe&&O&&!ue&&ge,acpStatus:p,fault:C(p,T,D)},t)},[Br,e,ae,ue,xe,ge,ne,he,T,D,v,O,p,x]),(0,V.useEffect)(()=>{if(!e)return;let t=N();if(!t){_e(!0);return}let n=!1,r=f(),i=()=>{n||_e(!0)},a=()=>{if(!(n||H.getState().historyLoading)){if(r){let e=H.getState();e.setSeededUserIntent(r),oo(e.timeline)||e.ensureLeadingUserMessage(r,{allowEmptyTimeline:!0})}i()}};tl(t).then(e=>{n||(r=(e.intent||``).trim()||r,a())}).catch(()=>{a()});let o=H.subscribe(e=>{e.historyLoading||a()});return a(),()=>{n=!0,o();let e=H.getState();e.seededUserIntent===r&&e.setSeededUserIntent(null)}},[e]),i===`loading`&&!(e&&ae))return(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,G.jsx)(PW,{phase:`connecting_session`,creating:!1,workerDown:!1})})});if(i===`login`)return(0,G.jsx)(S6,{});if(o===`needLogin`||o===`polling`)return(0,G.jsx)(Yf,{});let _i=()=>(0,G.jsx)(mz,{viewName:Nn?`agents`:`chat`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsxs)(`div`,{className:`relative isolate flex min-h-0 flex-1 flex-col overflow-hidden bg-bg-primary ${Hr||on?`justify-center`:``}`,children:[Object.values(Rt).map(t=>{if(e)return null;let n=at({showingAgentStage:Nn,newJobMode:on||!!fn,jobId:t.jobId,selectedJobId:B,loaded:t.loaded,chatHostVisible:Ir&&Pr});return(0,G.jsx)(`iframe`,{ref:e=>{Bt.current[t.jobId]=e,tt(e,n)},src:t.url,title:t.jobId===B?nn?.name||nn?.intent||z(`agents.instanceFallback`).replace(`{id}`,B.slice(0,8)):void 0,className:`absolute inset-0 z-0 h-full w-full border-0 bg-bg-primary`,allow:`clipboard-read; clipboard-write`,loading:`eager`,onLoad:()=>{let e=Bt.current[t.jobId];if(k(e,we(t.url))===`dead`)return;Yr(t.jobId);let n=zl.getState().jobs.find(e=>e.id===t.jobId),r=Ee({selectedLive:Nn&&!on&&!fn,frameJobId:t.jobId,selectedJobId:B,job:n});r===`live`?(Gt.current.delete(t.jobId),_(e,be)):r===`parked`&&(Gt.current.add(t.jobId),_(e,Xe))},style:{...me(n),colorScheme:A,backgroundColor:A===`dark`?`#000000`:`#ffffff`}},t.jobId)}),on?(0,G.jsxs)(`div`,{className:`composer-stack composer-stack-hero flex-none`,children:[(0,G.jsx)(jW,{compact:!0,cwd:An?.homeCwd??Dn?.homeCwd??En?.homeCwd??gr??void 0}),vn===!0&&!An&&!Dn&&!En&&(0,G.jsx)(M6,{onCreateNew:ui,onOpenAgent:zn,onOpenRun:Bn,onOpenRoom:Vn}),(0,G.jsx)(w3,{onCreated:mi,onCancel:fi})]}):fn?(0,G.jsx)(d0,{channelId:fn,onOpenAgent:zn,onBack:()=>Tp.getState().leaveChannel()},fn):Nn?ar||lr||tr===`creating`||nn?.foregroundHeld?(0,G.jsxs)(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col pointer-events-none`,children:[(0,G.jsx)(`div`,{className:`min-h-0 flex-1 bg-bg-primary pointer-events-auto`,children:P7({creating:tr===`creating`,hasJob:!!nn})||!nn?(0,G.jsx)(PW,{phase:rr,creating:tr===`creating`,workerDown:Qn,cwd:nn?.cwd??gr}):nn.foregroundHeld?(0,G.jsx)(`div`,{className:`empty-state-wrapper`,children:(0,G.jsx)(jW,{cwd:nn.cwd??gr??void 0,footer:(0,G.jsx)(`p`,{className:`text-[11px] text-text-tertiary`,children:z(`agents.live.foregroundHeld`)})})}):(0,G.jsxs)(`div`,{className:`relative flex min-h-0 h-full flex-col`,children:[dr?(0,G.jsx)(`div`,{className:`pointer-events-auto shrink-0 px-3 pt-3`,children:(0,G.jsx)(Zf,{fault:dr,onRetry:pr,hint:ir?z(`agents.live.occupiedFollow`):void 0})}):null,or?(0,G.jsx)(VW,{job:nn,liveFollow:ir,mode:nr?`settled`:void 0,onRestart:nr?gi:void 0,statusLabel:cr,emptyFallback:ir?(0,G.jsx)(`div`,{className:`flex min-h-[40vh] items-center justify-center px-6 text-center text-[13px] text-text-tertiary`,children:z(`agents.live.occupiedFollow`)}):nr?(0,G.jsx)(`div`,{className:`flex min-h-[40vh] items-center justify-center`,children:(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-full bg-bg-secondary/95 px-3 py-1 text-[11px] text-text-tertiary shadow-sm`,children:[(0,G.jsx)(`span`,{children:z(`agents.live.settled`)}),(0,G.jsxs)(`button`,{type:`button`,onClick:gi,className:`flex items-center gap-1 rounded-full px-2 py-0.5 text-text-primary transition-colors hover:bg-bg-hover`,title:z(`agents.action.restart`),children:[(0,G.jsx)(hi,{size:11}),z(`agents.action.restart`)]})]})}):(0,G.jsx)(PW,{phase:rr,creating:tr===`creating`,workerDown:Qn,cwd:nn.cwd??gr})}):(0,G.jsx)(MW,{skipWelcomeTransition:!0})]})}),lr?(0,G.jsxs)(`div`,{className:`composer-stack flex-none bg-bg-primary pointer-events-auto`,children:[(0,G.jsx)(Zf,{fault:fr,onRetry:pr}),(0,G.jsx)(k6,{}),(0,G.jsx)(h3,{agentKey:mr,agentCwd:gr,jobReplyId:Pn,onNavigate:ni,onNewChat:Zr,mainView:jr,showBottomSheet:br,setShowBottomSheet:xr,onOpenDirectoryPicker:()=>Cr(!0),directoryPickerOpen:Sr,onDirectoryPickerClose:()=>Cr(!1),showMainAgentContext:!1})]}):j7({showRestoreComposer:lr,foregroundHeld:!!nn?.foregroundHeld,occupiedFollow:ir,frameLoaded:Gn})?dr?(0,G.jsx)(`div`,{className:`composer-stack flex-none bg-bg-primary pointer-events-auto`,children:(0,G.jsx)(Zf,{fault:dr,onRetry:pr})}):(0,G.jsx)(`div`,{className:`agent-restore-composer-hole`,"aria-hidden":!0}):null]}):(0,G.jsx)(`div`,{className:`min-h-0 flex-1`,"aria-hidden":!0}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:Hr?`hidden`:`flex-1 overflow-hidden w-full relative bg-bg-primary`,children:[Ur&&(0,G.jsx)(`div`,{className:`absolute inset-0 z-20 flex items-center justify-center bg-bg-primary`,children:(0,G.jsx)(LW,{status:p,error:T,sessionFault:D,onRetry:pr})}),(0,G.jsx)(Xf.Provider,{value:{fault:fr,onRetry:pr},children:qe?(0,G.jsx)(E8,{}):Ye?(0,G.jsx)(A6,{peer:Ye,selfName:Yn,selfSeed:Xn,onBack:()=>Ze(null)}):(0,G.jsx)(MW,{onClickCloseBottomSheet:()=>xr(!1),skipWelcomeTransition:e})})]}),!Hr&&!Ye&&(0,G.jsx)(Q8,{}),!Hr&&!Ye&&(0,G.jsx)(i$,{}),!Ye&&(0,G.jsxs)(`div`,{className:`bg-bg-primary ${Hr?`composer-stack composer-stack-hero flex-none`:`composer-stack flex-none`}`,children:[(0,G.jsx)(`div`,{className:Hr?`contents`:`hidden`,children:(0,G.jsx)(jW,{compact:!0,cwd:gr??void 0})}),!Hr&&!qe&&(0,G.jsx)(Z8,{}),(0,G.jsx)(T6,{}),(0,G.jsx)(Zf,{fault:fr,onRetry:pr,hint:ee&&fr===`occupied`?z(`agents.live.occupiedInbox`):void 0}),(0,G.jsx)(k6,{}),(0,G.jsx)(h3,{agentKey:mr,agentCwd:gr,onNavigate:ni,onNewChat:Zr,mainView:jr,showBottomSheet:br,setShowBottomSheet:xr,onOpenDirectoryPicker:()=>Cr(!0),directoryPickerOpen:Sr,onDirectoryPickerClose:()=>Cr(!1),showMainAgentContext:!qe})]})]})]})}),vi=()=>{switch(jr){case`chat`:return e?_i():null;case`tasks`:return(0,G.jsx)(mz,{viewName:`tasks`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(i9,{onOpenExecution:ti})});case`editor-page`:return(0,G.jsx)(mz,{viewName:`editor`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(X7,{isVisible:!0,onMenuClick:pt?Gr:void 0})});case`plugins`:return(0,G.jsx)(mz,{viewName:`plugins`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(e9,{})});case`terminal`:return null;case`canvas`:return null;case`canvas-pane`:return null;case`remote-control`:return Or===!0?(0,G.jsx)(mz,{viewName:`remote-control`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(t9,{onNavigate:ni})}):null;case`editor`:return null;case`changes`:return(0,G.jsx)(mz,{viewName:`changes`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(J7,{onMenuClick:Gr})})});case`settings`:return(0,G.jsx)(mz,{viewName:`settings`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(n9,{})});case`keybindings`:return(0,G.jsx)(mz,{viewName:`keybindings`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(Z7,{})});case`metrics`:return(0,G.jsx)(mz,{viewName:`metrics`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)($7,{})});case`stats`:return(0,G.jsx)(mz,{viewName:`stats`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(r9,{})});case`traces`:return(0,G.jsx)(mz,{viewName:`traces`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(a9,{})});case`workers`:return(0,G.jsx)(mz,{viewName:`workers`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(o9,{})});case`logs`:return(0,G.jsx)(mz,{viewName:`logs`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(Q7,{})});case`docs`:return(0,G.jsx)(mz,{viewName:`docs`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(Y7,{})});default:return null}};return e?(0,G.jsxs)(`div`,{className:`app-viewport flex overflow-hidden bg-bg-primary font-sans text-text-primary`,children:[(0,G.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:vi()})}),(0,G.jsx)(W5,{open:Fr,isMobile:pt,onActiveKindChange:ri,onCollapse:pt?void 0:ii,tools:null,changes:null,subagentOnly:!0}),(0,G.jsx)(A8,{}),(0,G.jsx)(W0,{})]}):jr===`docs`&&He()?(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(Y7,{})})}):jr===`editor`&&He()?(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(X7,{isVisible:!0})})}):jr===`canvas-pane`?(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(K7,{})})}):jr===`canvas`&&He()?(0,G.jsx)(`div`,{className:`app-viewport flex bg-bg-primary text-text-primary transition-colors duration-200 font-sans overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(q7,{})})}):(0,G.jsx)(y6,{isOpen:_t,onClose:Kr,onCollapse:pt?void 0:()=>ot(!1),onEnsureAgentsOpen:qr,mainView:jr,onNavigate:ni,remoteControlEnabled:Or===!0,onSwitchSession:ei,onNewChat:Zr,onNewAgent:li,onOpenWorkspaceSettings:Wr,agentFrameNeedsInput:Un?.needsInput??null,agentFrameRunning:Un?.ready&&typeof Un.running==`boolean`?Un.running:null,overlays:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(A8,{}),(0,G.jsx)(R0,{isOpen:wr,onClose:()=>Tr(!1),onNavigate:ni,onNewChat:Zr,onOpenRecent:ai,onOpenSessionSwitcher:si,remoteControlEnabled:Or===!0}),(0,G.jsx)(W0,{}),(0,G.jsx)(S8,{isOpen:Er,onClose:()=>Dr(!1),projectCwd:Zt??null,activeSessionId:Nn?Mn:jt??v,onOpenSession:ci}),un&&(0,G.jsx)(V0,{onCreate:di,onCancel:()=>Tp.getState().leaveChannel()})]}),children:(0,G.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:(0,G.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0 flex-1 flex-col`,style:{display:Ir||!Pr?void 0:`none`},children:[!fn&&jr!==`changes`&&(pt||jr!==`editor-page`)&&(0,G.jsx)(C8,{onMenuClick:Gr,navOpen:_t,onSplitTerminal:Xr,onHistory:ai,historyOpen:bt,historyAnchorRef:vt,onNewChat:Zr,onCancelNewAgent:fi,conversationChrome:!pt&&Pr,onToggleDock:pt?void 0:ii,dockOpen:st,newAgentMode:on||un,agentTransitionMode:ir||Nn?null:tr,conversationTitleOverride:qn??Un?.topic??void 0,agentFrameNeedsInput:Un?.needsInput??null,agentFrameRunning:Un?.ready&&typeof Un.running==`boolean`?Un.running:null,agentFrameAcpStatus:Un?.acpStatus??null,agentFrameFault:D??null}),(0,G.jsxs)(`div`,{className:`flex-1 flex flex-col w-full overflow-hidden relative`,children:[(0,G.jsx)(`div`,{className:`flex-1 flex flex-col w-full min-h-0 overflow-hidden relative${Ir&&Pr?``:` chat-host-inert`}`,style:le(Ir&&Pr),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:_i()})}),(0,G.jsx)(`div`,{className:`flex-1 flex flex-col w-full`,style:{display:jr===`canvas`?`flex`:`none`},children:(0,G.jsx)(mz,{viewName:`canvas`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(q7,{active:jr===`canvas`})})})}),!Pr&&jr!==`canvas`&&(0,G.jsx)(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col overflow-hidden`,children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:vi()})}),(0,G.jsx)(u2,{isOpen:bt,onClose:()=>St(!1),projectCwd:bt?xt:null,activeSessionId:Nn?Mn:jt??v,canSwitchConversations:!0,targetLabel:Ot?z(`sessions.currentTitle`):nn?.name||nn?.intent?.split(/\r?\n/)[0]||z(`agents.instanceFallback`).replace(`{id}`,nn?.id.slice(0,8)||``),onOpenSession:ci,onOpenSessionSwitcher:si,anchorRef:vt})]})]}),(0,G.jsx)(W5,{open:Fr,isMobile:pt,onActiveKindChange:ri,onCollapse:pt?void 0:ii,tools:n(jr)?(0,G.jsx)(mz,{viewName:`editor`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(X7,{onMenuClick:pt?Gr:void 0,isVisible:Fr&&!!(dt&&[`explorer`,`editor`,`search`,`scm`].includes(dt)),hideActivityBar:!0,editorStore:Et})})}):null,changes:pt?(0,G.jsx)(mz,{viewName:`changes`,errorTitle:z(`error.viewCrashed`),retryLabel:z(`app.retry`),children:(0,G.jsx)(V.Suspense,{fallback:(0,G.jsx)(s9,{}),children:(0,G.jsx)(J7,{onMenuClick:Gr})})}):null})]})})})}var u9=`false`,d9=`false`,f9=u9===`true`,p9=d9===`true`;function m9(e={}){let{immediate:t=!1,onNeedReload:n,onNeedRefresh:r,onOfflineReady:i,onRegistered:a,onRegisteredSW:o,onRegisterError:s}=e,c,l,u,d=async(e=!0)=>{await l,f9||u?.()};async function f(){if(`serviceWorker`in navigator){if(c=await Ph(async()=>{let{Workbox:e}=await import(`./workbox-window.prod.es5-Bd17z0YL.js`);return{Workbox:e}},[]).then(({Workbox:e})=>new e(`/sw.js`,{scope:`/`,type:`classic`})).catch(e=>{s?.(e)}),!c)return;if(u=()=>{c?.messageSkipWaiting()},!p9){if(f9)c.addEventListener(`activated`,e=>{(e.isUpdate||e.isExternal)&&(n?n():window.location.reload())}),c.addEventListener(`installed`,e=>{e.isUpdate||i?.()});else{let e=!1,t=()=>{e=!0,c?.addEventListener(`controlling`,e=>{e.isUpdate&&(n?n():window.location.reload())}),r?.()};c.addEventListener(`installed`,n=>{n.isUpdate===void 0?n.isExternal===void 0?!e&&i?.():n.isExternal?t():!e&&i?.():n.isUpdate||i?.()}),c.addEventListener(`waiting`,t)}}c.register({immediate:t}).then(e=>{o?o(`/sw.js`,e):a?.(e)}).catch(e=>{s?.(e)})}}return l=f(),d}function h9(e={}){let{immediate:t=!0,onNeedReload:n,onNeedRefresh:r,onOfflineReady:i,onRegistered:a,onRegisteredSW:o,onRegisterError:s}=e,[c,l]=(0,V.useState)(!1),[u,d]=(0,V.useState)(!1),[f]=(0,V.useState)(()=>m9({immediate:t,onNeedReload:n,onOfflineReady(){d(!0),i?.()},onNeedRefresh(){l(!0),r?.()},onRegistered:a,onRegisteredSW:o,onRegisterError:s}));return{needRefresh:[c,l],offlineReady:[u,d],updateServiceWorker:f}}var g9=9e5,_9=`pwa-new-version`;function v9(){let{t:e}=R(),t=(0,V.useRef)(null),n=(0,V.useRef)(!1),r=(0,V.useRef)(null);function i(){n.current=!1;let e=t.current;return e?e(!0).catch(()=>{}):Promise.resolve()}function a(){W.info(e(`app.pwa.newVersion`),{id:_9,durationMs:0,action:{label:e(`app.pwa.reloadNow`),onClick:()=>(i(),!0)}})}let{updateServiceWorker:o}=h9({immediate:!0,onRegisteredSW(e,t){if(!t)return;let n=()=>{t.update().catch(()=>{})};n(),r.current!==null&&clearInterval(r.current),r.current=setInterval(n,g9)},onNeedRefresh(){if(n.current=!0,!H.getState().isAgentRunning){i();return}a()}});return(0,V.useEffect)(()=>{t.current=o},[o]),(0,V.useEffect)(()=>()=>{r.current!==null&&(clearInterval(r.current),r.current=null)},[]),(0,V.useEffect)(()=>H.subscribe((e,t)=>{n.current&&t.isAgentRunning&&!e.isAgentRunning&&i()}),[]),null}var y9=!o()&&window.parent===window;(0,Tn.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(V.StrictMode,{children:(0,G.jsxs)(mz,{children:[y9&&(0,G.jsx)(v9,{}),(0,G.jsx)(l9,{})]})}));export{Gd as $,gr as $t,NE as A,pi as At,Mg as B,qr as Bt,D1 as C,jn as Cn,Ei as Ct,nH as D,_i as Dt,WW as E,bi as Et,EE as F,ti as Ft,Gf as G,kr as Gt,Ph as H,zr as Ht,ZC as I,$r as It,Rf as J,wr as Jt,Uf as K,Dr as Kt,EC as L,Qr as Lt,kE as M,li as Mt,DE as N,ci as Nt,Sz as O,hi as Ot,OE as P,oi as Pt,Yd as Q,vr as Qt,TC as R,Zr as Rt,k1 as S,Nn as Sn,Di as St,HQ as T,Dn as Tn,Ci as Tt,Cm as U,Rr as Ut,kg as V,Gr as Vt,vp as W,jr as Wt,Xd as X,xr as Xt,Zd as Y,Sr as Yt,Jd as Z,yr as Zt,C0 as _,Rn as _n,Ni as _t,J5 as a,ar as an,Du as at,_0 as b,Fn as bn,ki as bt,M4 as c,tr as cn,_c as ct,u4 as d,Gn as dn,Ko as dt,mr as en,Rd as et,l4 as f,Un as fn,Ro as ft,m2 as g,zn as gn,Ri as gt,p2 as h,Bn as hn,zi as ht,Z5 as i,cr as in,U as it,ME as j,di as jt,FE as k,mi as kt,j4 as l,Qn as ln,xc as lt,h2 as m,Vn as mn,Bi as mt,f7 as n,fr as nn,_d as nt,n6 as o,rr as on,Hc as ot,c4 as p,Hn as pn,zo as pt,Wf as q,Er as qt,d7 as r,lr as rn,id as rt,D3 as s,nr as sn,bc as st,c7 as t,pr as tn,W as tt,S4 as u,Xn as un,vc as ut,x0 as v,Ln as vn,Mi as vt,GQ as w,kn as wn,Ti as wt,f0 as x,Pn as xn,Oi as xt,v0 as y,In as yn,ji as yt,wC as z,Xr as zt};
|