shioricode 0.4.20 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/bin.cjs +13321 -12637
- package/dist/bin.mjs +13314 -12630
- package/dist/client/assets/{ArtifactPanel-DhNMewF_.js → ArtifactPanel-BSCph4Mf.js} +2 -2
- package/dist/client/assets/{ChatMarkdown-CQLSgdaS.js → ChatMarkdown-D-ZCYVVA.js} +2 -2
- package/dist/client/assets/{DiffPanel-IxDswq5p.js → DiffPanel-CzDdUb8m.js} +3 -3
- package/dist/client/assets/DiffPanelShell-Jyeb1irB.js +2 -0
- package/dist/client/assets/{DiffWorkerPoolProvider-dhrEONTb.js → DiffWorkerPoolProvider-Df_KelZ4.js} +2 -2
- package/dist/client/assets/NoActiveThreadState-CafEeJ3D.js +2 -0
- package/dist/client/assets/ProviderModelPicker-DBL7REnB.js +2 -0
- package/dist/client/assets/SettingsPanels-DToV4poM.js +4 -0
- package/dist/client/assets/_chat-DIsZX_5q.js +2 -0
- package/dist/client/assets/_chat._threadId-DciDVFNC.js +289 -0
- package/dist/client/assets/{_chat.index-B4NLV9mk.js → _chat.index-Bu5_KLvf.js} +2 -2
- package/dist/client/assets/automations-B8oI1RDH.js +2 -0
- package/dist/client/assets/{badge-BaTrdaZE.js → badge-DQNpCiTY.js} +2 -2
- package/dist/client/assets/clientSettings-BoLlsjmq.js +2 -0
- package/dist/client/assets/{collapsible-DfWqkHJg.js → collapsible-BFxx3cmC.js} +2 -2
- package/dist/client/assets/{dialog-DjTpVApd.js → dialog-xuDGeb4n.js} +2 -2
- package/dist/client/assets/{empty-Be-8qJMT.js → empty-C0odYOnP.js} +2 -2
- package/dist/client/assets/{gitReactQuery-TUte-oT5.js → gitReactQuery-CQYez3In.js} +2 -2
- package/dist/client/assets/index-Cr2B1Z-_.css +2 -0
- package/dist/client/assets/index-ndFBrjHh.js +6 -0
- package/dist/client/assets/{input-CE9hmpu7.js → input-C7biIuoM.js} +2 -2
- package/dist/client/assets/pull-requests-YReb4Mu9.js +46 -0
- package/dist/client/assets/queuedTurnsStore-BWvSKxB2.js +2 -0
- package/dist/client/assets/{scroll-area-CbQzkLT_.js → scroll-area-b0VYEw63.js} +2 -2
- package/dist/client/assets/{separator-DI5DQ7Ks.js → separator-BSFlxFW1.js} +2 -2
- package/dist/client/assets/settings-BBptnNYJ.js +2 -0
- package/dist/client/assets/settings.appearance-BkWweygw.js +2 -0
- package/dist/client/assets/settings.archived-DJC1il-F.js +2 -0
- package/dist/client/assets/{settings.computer-use-tZN9IYDg.js → settings.computer-use-BK97T3f-.js} +2 -2
- package/dist/client/assets/{settings.credits-BpgwqbI7.js → settings.credits-C2nerPpd.js} +2 -2
- package/dist/client/assets/settings.general-Djd4g0t8.js +2 -0
- package/dist/client/assets/settings.mcp-b1gcVG3u.js +2 -0
- package/dist/client/assets/{settings.mobile-PxkOX11C.js → settings.mobile-Cl_q074X.js} +2 -2
- package/dist/client/assets/{settings.plugins-CQejJM2o.js → settings.plugins-Bz_Jt-h5.js} +2 -2
- package/dist/client/assets/settings.remote-COKGS805.js +2 -0
- package/dist/client/assets/{settings.skills-Cg57qd7S.js → settings.skills-DbcoPmK9.js} +2 -2
- package/dist/client/assets/{settings.theme-builder-DUu9nCmf.js → settings.theme-builder-D3sYNxrp.js} +2 -2
- package/dist/client/assets/{skillsMcpShared-CGi0RTQJ.js → skillsMcpShared-DzSsN5fy.js} +2 -2
- package/dist/client/assets/store-BzqS7zm8.js +12 -0
- package/dist/client/assets/{terminalStateStore-COv6Fwmt.js → terminalStateStore-BhU1c2Sw.js} +2 -2
- package/dist/client/assets/{textarea-CFQ0q5G1.js → textarea-Bc_w4o11.js} +2 -2
- package/dist/client/assets/{toggle-CwB81Wb2.js → toggle-Cjd1rTpW.js} +2 -2
- package/dist/client/assets/{toggle-group-B4poMzYg.js → toggle-group-CbQjlXXY.js} +2 -2
- package/dist/client/assets/{uiStateStore-DsIsCBO9.js → uiStateStore-CGeY60Rr.js} +2 -2
- package/dist/client/assets/{useHandleNewThread-DtShg-Gb.js → useHandleNewThread-CxLIGmcC.js} +2 -2
- package/dist/client/assets/useSettings-CfiGcPkS.js +2 -0
- package/dist/client/assets/{useTheme-CpDK1jpf.js → useTheme-CVq6D9IF.js} +2 -2
- package/dist/client/assets/utils-BnXGGW32.js +2 -0
- package/dist/client/assets/{vendor-effect-DldSDsna.js → vendor-effect-Chd9hYxF.js} +1 -1
- package/dist/client/assets/{vendor-ui-D-080HIn.js → vendor-ui-CJZCHXkp.js} +2 -2
- package/dist/client/index.html +15 -15
- package/package.json +2 -2
- package/dist/client/assets/DiffPanelShell-BYPngGr7.js +0 -2
- package/dist/client/assets/NoActiveThreadState-BhsV4knw.js +0 -2
- package/dist/client/assets/ProviderModelPicker-DvZxygLs.js +0 -2
- package/dist/client/assets/SettingsPanels-CcxbSb2Y.js +0 -4
- package/dist/client/assets/_chat-BKEfH7bm.js +0 -2
- package/dist/client/assets/_chat._threadId-CKYAWkIl.js +0 -289
- package/dist/client/assets/automations-BaROU0my.js +0 -2
- package/dist/client/assets/clientSettings-333fq8u7.js +0 -2
- package/dist/client/assets/index-DO0-ySqI.js +0 -6
- package/dist/client/assets/index-Hee7CrbY.css +0 -2
- package/dist/client/assets/pull-requests-D0RjDNry.js +0 -46
- package/dist/client/assets/queuedTurnsStore-C44-Rdam.js +0 -2
- package/dist/client/assets/settings-DYPhYb14.js +0 -2
- package/dist/client/assets/settings.appearance-DcK3XBNk.js +0 -2
- package/dist/client/assets/settings.archived-bTn7EzG_.js +0 -2
- package/dist/client/assets/settings.general-C_Aq9Mn4.js +0 -2
- package/dist/client/assets/settings.mcp-BnzVTWcW.js +0 -2
- package/dist/client/assets/settings.remote-BlV5n30n.js +0 -2
- package/dist/client/assets/store-8a4nbwgb.js +0 -12
- package/dist/client/assets/useSettings-Bof_skNF.js +0 -2
- package/dist/client/assets/utils-X2TItr-k.js +0 -2
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-DNQcGyCm.js","assets/vendor-diffs-CBk6gACd.js","assets/rolldown-runtime-COnpUsM8.js","assets/vendor--effect-atom-react-6hEhKm5I.js","assets/vendor--lexical-react-Dg6NVZQt.js","assets/vendor--floating-ui-react-dom-CGq-bz3X.js","assets/vendor--floating-ui-dom-DVB6wHsF.js","assets/vendor--floating-ui-core-jOdbuRxe.js","assets/vendor--lexical-clipboard-DCk1K_zj.js","assets/vendor--lexical-dragon-M1lgHzh4.js","assets/vendor--lexical-history-CPhYRzwL.js","assets/vendor--lexical-plain-text-DQrkEZNZ.js","assets/vendor--shikijs-core-BAnPeRVm.js","assets/vendor--shikijs-engine-javascript-DmYKhP_-.js","assets/vendor--shikijs-engine-oniguruma-BDZnigcB.js","assets/vendor--shikijs-transformers-BGbD80GE.js","assets/vendor-diff-JjX2GAnZ.js","assets/DiffPanel-IxDswq5p.js","assets/index-DO0-ySqI.js","assets/clientSettings-333fq8u7.js","assets/utils-X2TItr-k.js","assets/vendor-class-variance-authority-M1Ix6tns.js","assets/vendor-effect-DldSDsna.js","assets/vendor-tailwind-merge-BB8g8WaZ.js","assets/vendor-ui-D-080HIn.js","assets/vendor-tanstack-DxB_J8A7.js","assets/vendor-motion-dom-ChuUZHv5.js","assets/vendor-reselect-BSJZJSJu.js","assets/vendor-tabbable-BbbBzppI.js","assets/vendor-react-BvVnE5E6.js","assets/useHandleNewThread-DtShg-Gb.js","assets/store-8a4nbwgb.js","assets/vendor-zustand-qsUGoIcm.js","assets/useSettings-Bof_skNF.js","assets/uiStateStore-DsIsCBO9.js","assets/input-CE9hmpu7.js","assets/scroll-area-CbQzkLT_.js","assets/separator-DI5DQ7Ks.js","assets/gitReactQuery-TUte-oT5.js","assets/terminalStateStore-COv6Fwmt.js","assets/vendor--xterm-xterm-B85yPPkf.js","assets/vendor--xterm-xterm-BrP-ENHg.css","assets/vendor-unicode-animations-xZRLz3EO.js","assets/index-Hee7CrbY.css","assets/DiffPanelShell-BYPngGr7.js","assets/DiffWorkerPoolProvider-dhrEONTb.js","assets/useTheme-CpDK1jpf.js","assets/toggle-group-B4poMzYg.js","assets/toggle-CwB81Wb2.js","assets/ArtifactPanel-DhNMewF_.js","assets/ChatMarkdown-CQLSgdaS.js","assets/vendor-markdown-0FVMTLPP.js","assets/vendor--ungap-structured-clone-Cizgq48a.js","assets/vendor-bail-DslLbDNc.js","assets/vendor-decode-named-character-reference-D4JeqJXO.js","assets/vendor-devlop-B6gNJmK1.js","assets/vendor-extend-BluXZM4M.js","assets/vendor-hast-util-raw-ryote2N_.js","assets/vendor-entities-BPEYRqUt.js","assets/vendor-hast-util-from-dom-D6Kxj_46.js","assets/vendor-hast-util-from-parse5-CcT-aLaC.js","assets/vendor-hast-util-to-jsx-runtime-Dkh1YHjw.js","assets/vendor-estree-util-is-identifier-name-DNVaWizQ.js","assets/vendor-html-url-attributes-CbutxRIG.js","assets/vendor-is-plain-obj-1mGkbioL.js","assets/vendor-longest-streak-BaNpuKju.js","assets/vendor-escape-string-regexp-CIAWGUO4.js","assets/vendor-rehype-katex-C9b0nLo5.js","assets/vendor-hast-util-from-html-isomorphic-CXMxlE2r.js","assets/vendor-hast-util-to-text-B8A4M-9u.js","assets/vendor-hast-util-is-element-CqD06dHC.js","assets/vendor-katex-VTL7DqQH.js","assets/vendor-katex-CSceNpVM.css","assets/vendor-rehype-raw-YN9Ua-2h.js","assets/vendor-remark-math-lcIzMrmT.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{A as t,C as n,Ci as r,Zn as i,b as a,k as o,m as s}from"./vendor--effect-atom-react-6hEhKm5I.js";import{c}from"./vendor--floating-ui-react-dom-CGq-bz3X.js";import{t as l}from"./vendor-react-BvVnE5E6.js";import{C as u,T as d,c as f,d as p,i as m,m as h,n as g,o as _,t as v,w as y}from"./vendor-tanstack-DxB_J8A7.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./vendor--lexical-react-Dg6NVZQt.js";import{t as O}from"./vendor--xterm-xterm-B85yPPkf.js";import"./vendor-effect-DldSDsna.js";import{A as k,C as A,S as j,T as M,j as N,l as P,m as F,s as I,u as L}from"./clientSettings-333fq8u7.js";import{$ as R,a as z,at as B,c as ee,i as te,l as ne,o as V,ot as re,q as ie,r as H,t as U,tt as ae}from"./utils-X2TItr-k.js";import{t as oe}from"./vendor-class-variance-authority-M1Ix6tns.js";import{A as se,At as ce,B as le,Bt as ue,C as de,Ct as W,D as fe,Dt as pe,Et as me,F as he,Gt as ge,H as _e,Ht as ve,I as ye,It as be,Kt as xe,L as G,Lt as Se,M as Ce,Mt as we,N as Te,Nt as Ee,O as De,Ot as Oe,P as ke,Pt as Ae,Q as je,R as Me,Rt as Ne,S as Pe,St as Fe,T as Ie,Tt as Le,U as Re,Ut as ze,V as Be,Vt as Ve,W as He,X as Ue,Z as We,_ as Ge,_t as Ke,a as qe,at as Je,b as Ye,bt as Xe,c as Ze,ct as Qe,d as $e,dt as et,et as tt,f as nt,ft as rt,g as it,gt as at,h as ot,ht as st,i as ct,j as lt,jt as ut,k as dt,kt as ft,lt as pt,m as mt,mt as ht,nt as gt,o as _t,ot as vt,p as yt,pt as bt,q as xt,qt as St,st as Ct,tt as wt,u as Tt,ut as Et,v as Dt,vt as Ot,w as kt,wt as At,x as jt,xt as Mt,y as Nt,yt as Pt,z as Ft,zt as It}from"./store-8a4nbwgb.js";import{n as Lt,r as Rt,t as zt}from"./terminalStateStore-COv6Fwmt.js";import{t as Bt}from"./uiStateStore-DsIsCBO9.js";import{An as Vt,Ar as Ht,B as Ut,En as Wt,Er as Gt,Fn as Kt,Fr as qt,G as Jt,Gn as Yt,Gr as Xt,H as Zt,Hn as Qt,Hr as $t,I as en,In as tn,Ir as nn,Kn as rn,L as an,Lr as on,M as sn,Mn as cn,Mr as ln,N as un,Nn as dn,O as fn,On as pn,Pn as mn,Pr as hn,Q as gn,Qn as _n,R as vn,Rn as yn,Sn as bn,Tn as xn,U as Sn,Un as Cn,Vn as wn,W as Tn,Wn as En,Wr as Dn,X as On,Y as kn,Z as An,_n as jn,_r as Mn,ar as Nn,cr as Pn,d as Fn,dr as In,er as Ln,f as Rn,fr as zn,gn as Bn,gr as Vn,hn as Hn,ir as Un,jn as Wn,k as Gn,kn as Kn,l as qn,lr as Jn,m as Yn,mr as Xn,nr as Zn,p as Qn,pr as $n,qn as er,rr as tr,sr as nr,tr as rr,u as ir,vr as ar,wn as or,z as sr,zn as cr}from"./vendor-ui-D-080HIn.js";import{n as lr,r as ur}from"./useSettings-Bof_skNF.js";import{a as dr,r as fr,t as pr}from"./useHandleNewThread-DtShg-Gb.js";import{c as mr,d as hr,f as gr,i as _r,n as vr,t as yr,u as br}from"./gitReactQuery-TUte-oT5.js";import{t as xr}from"./input-CE9hmpu7.js";import{t as Sr}from"./scroll-area-CbQzkLT_.js";import{t as Cr}from"./separator-DI5DQ7Ks.js";import{Un as wr}from"./vendor-diffs-CBk6gACd.js";import{A as Tr,B as Er,C as Dr,Ct as Or,Dt as kr,Et as Ar,G as jr,H as Mr,J as Nr,Nt as Pr,O as Fr,Ot as Ir,S as Lr,St as Rr,T as zr,Tt as Br,U as Vr,W as Hr,_ as Ur,_t as Wr,at as Gr,bt as Kr,ct as qr,dt as Jr,et as Yr,f as K,ft as Xr,g as Zr,gt as Qr,h as $r,ht as ei,it as ti,kt as ni,lt as ri,m as ii,mt as ai,nt as oi,o as si,ot as ci,pt as li,q,rt as ui,st as di,t as fi,tt as pi,u as mi,ut as hi,vt as gi,w as _i,wt as vi,x as yi,xt as bi,yt as xi,z as Si}from"./index-DO0-ySqI.js";import{a as Ci,d as wi,f as Ti,l as Ei,o as Di,r as Oi,u as ki}from"./DiffPanelShell-BYPngGr7.js";import{r as Ai,t as ji}from"./useTheme-CpDK1jpf.js";import"./vendor--shikijs-core-BAnPeRVm.js";import"./vendor-hast-util-to-jsx-runtime-Dkh1YHjw.js";import"./vendor-hast-util-raw-ryote2N_.js";import"./vendor-extend-BluXZM4M.js";import"./vendor-katex-VTL7DqQH.js";import{a as Mi,i as Ni,n as Pi,o as Fi,r as Ii,s as Li,t as Ri}from"./ChatMarkdown-CQLSgdaS.js";import"./vendor--shikijs-engine-javascript-DmYKhP_-.js";import"./vendor-diff-JjX2GAnZ.js";import{n as zi,t as Bi}from"./DiffWorkerPoolProvider-dhrEONTb.js";import{t as Vi}from"./toggle-CwB81Wb2.js";import{t as Hi}from"./assistantPersonalityOptions-BnBdEssM.js";import{a as J,c as Ui,i as Wi,n as Gi,o as Ki,r as qi,s as Ji,t as Yi}from"./ProviderModelPicker-DvZxygLs.js";import{t as Xi}from"./NoActiveThreadState-BhsV4knw.js";import{t as Zi}from"./vendor--xterm-addon-fit-2SkXNpWc.js";import{At as Qi,Ft as $i,H as ea,I as ta,L as na,Lt as ra,M as ia,Mt as aa,St as oa,V as sa,X as ca,at as la,g as ua,h as da,ht as fa,jt as pa,kt as ma,l as Y,mt as ha,p as ga,q as _a,rt as va,v as ya,w as ba}from"./vendor--lexical-clipboard-DCk1K_zj.js";import{a as xa,c as Sa,i as Ca,o as wa,r as Ta,s as Ea,t as Da}from"./dialog-DjTpVApd.js";import{t as Oa}from"./textarea-CFQ0q5G1.js";import{t as ka}from"./badge-BaTrdaZE.js";import{n as Aa,t as ja}from"./queuedTurnsStore-C44-Rdam.js";import{t as Ma}from"./DockedSidebarResizeHandle-DkVhNVa1.js";var X=l(),Z=e(r(),1),Na=`about:blank`;function Pa(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)}function Fa(e){let t=e.trim();return t.length===0?Na:t===`about:blank`?t:t.startsWith(`/`)||t.startsWith(`~/`)?`file://${t.startsWith(`~`),t}`:t.startsWith(`localhost`)||t.startsWith(`127.0.0.1`)||t.startsWith(`0.0.0.0`)||/^\[[0-9a-f:]+\]/i.test(t)?`http://${t}`:Pa(t)?t:`https://${t}`}function Ia(e){return`persist:shioricode-browser-${encodeURIComponent(e)}`}function La(e){try{let t=e.getURL?.()??e.getAttribute(`src`)??``;return t===`about:blank`?``:t}catch{return``}}function Ra(e,t){try{let t=e.getTitle?.().trim()??``;if(t.length>0)return t}catch{}if(t.length===0)return`New page`;try{return new URL(t).hostname||t}catch{return t}}function za(e,t){let n=e[t];if(typeof n!=`function`)return!1;try{return!!n.call(e)}catch{return!1}}function Ba(e,t){let n=La(e);return{title:Ra(e,n),url:n,isLoading:za(e,`isLoading`),canGoBack:za(e,`canGoBack`),canGoForward:za(e,`canGoForward`),error:t}}function Va(e){return`
|
|
3
|
-
(() => {
|
|
4
|
-
const maxElements = ${Math.min(Math.max(e.maxElements??80,0),500)};
|
|
5
|
-
const cssEscape = (value) => {
|
|
6
|
-
if (window.CSS && typeof window.CSS.escape === "function") return window.CSS.escape(value);
|
|
7
|
-
return String(value).replace(/[^a-zA-Z0-9_-]/g, "\\\\$&");
|
|
8
|
-
};
|
|
9
|
-
const normalizedText = (value) => (value || "").replace(/\\s+/g, " ").trim();
|
|
10
|
-
const cssPath = (element) => {
|
|
11
|
-
if (!(element instanceof Element)) return null;
|
|
12
|
-
if (element.id) return "#" + cssEscape(element.id);
|
|
13
|
-
const parts = [];
|
|
14
|
-
let current = element;
|
|
15
|
-
while (current && current.nodeType === Node.ELEMENT_NODE && current !== document.documentElement) {
|
|
16
|
-
let part = current.tagName.toLowerCase();
|
|
17
|
-
const parent = current.parentElement;
|
|
18
|
-
if (!parent) break;
|
|
19
|
-
const siblings = Array.from(parent.children).filter((child) => child.tagName === current.tagName);
|
|
20
|
-
if (siblings.length > 1) part += ":nth-of-type(" + (siblings.indexOf(current) + 1) + ")";
|
|
21
|
-
parts.unshift(part);
|
|
22
|
-
current = parent;
|
|
23
|
-
if (parts.length >= 6) break;
|
|
24
|
-
}
|
|
25
|
-
return parts.length > 0 ? parts.join(" > ") : null;
|
|
26
|
-
};
|
|
27
|
-
const isVisible = (element) => {
|
|
28
|
-
if (!(element instanceof Element)) return false;
|
|
29
|
-
const rect = element.getBoundingClientRect();
|
|
30
|
-
const style = window.getComputedStyle(element);
|
|
31
|
-
return rect.width > 0 && rect.height > 0 && style.visibility !== "hidden" && style.display !== "none";
|
|
32
|
-
};
|
|
33
|
-
const elementName = (element) => normalizedText(
|
|
34
|
-
element.getAttribute("aria-label")
|
|
35
|
-
|| element.getAttribute("alt")
|
|
36
|
-
|| element.getAttribute("title")
|
|
37
|
-
|| element.getAttribute("placeholder")
|
|
38
|
-
|| element.innerText
|
|
39
|
-
|| element.getAttribute("value")
|
|
40
|
-
|| ""
|
|
41
|
-
).slice(0, 300);
|
|
42
|
-
const inferRole = (element) => {
|
|
43
|
-
const explicit = element.getAttribute("role");
|
|
44
|
-
if (explicit) return explicit;
|
|
45
|
-
const tag = element.tagName.toLowerCase();
|
|
46
|
-
if (tag === "a" && element.hasAttribute("href")) return "link";
|
|
47
|
-
if (tag === "button") return "button";
|
|
48
|
-
if (tag === "select") return "combobox";
|
|
49
|
-
if (tag === "textarea") return "textbox";
|
|
50
|
-
if (tag === "input") {
|
|
51
|
-
const type = (element.getAttribute("type") || "text").toLowerCase();
|
|
52
|
-
if (type === "checkbox") return "checkbox";
|
|
53
|
-
if (type === "radio") return "radio";
|
|
54
|
-
if (type === "button" || type === "submit" || type === "reset") return "button";
|
|
55
|
-
return "textbox";
|
|
56
|
-
}
|
|
57
|
-
if (element.isContentEditable) return "textbox";
|
|
58
|
-
return null;
|
|
59
|
-
};
|
|
60
|
-
const visibleText = ${e.includeText!==!1}
|
|
61
|
-
? normalizedText(document.body?.innerText || "").slice(0, 20000)
|
|
62
|
-
: undefined;
|
|
63
|
-
const links = ${e.includeLinks!==!1}
|
|
64
|
-
? Array.from(document.querySelectorAll("a[href]")).slice(0, 200).map((anchor) => ({
|
|
65
|
-
text: normalizedText(anchor.innerText || anchor.getAttribute("aria-label") || ""),
|
|
66
|
-
href: anchor.href,
|
|
67
|
-
}))
|
|
68
|
-
: undefined;
|
|
69
|
-
const forms = ${e.includeForms!==!1}
|
|
70
|
-
? Array.from(document.querySelectorAll("input, textarea, select, button, [contenteditable='true']")).slice(0, 200).map((element) => ({
|
|
71
|
-
tag: element.tagName.toLowerCase(),
|
|
72
|
-
type: element.getAttribute("type") || undefined,
|
|
73
|
-
name: element.getAttribute("name") || undefined,
|
|
74
|
-
id: element.id || undefined,
|
|
75
|
-
placeholder: element.getAttribute("placeholder") || undefined,
|
|
76
|
-
text: normalizedText(element.innerText || element.getAttribute("aria-label") || element.getAttribute("value") || ""),
|
|
77
|
-
selectorHint: element.id ? "#" + cssEscape(element.id) : element.getAttribute("name") ? element.tagName.toLowerCase() + "[name='" + cssEscape(element.getAttribute("name")) + "']" : undefined,
|
|
78
|
-
}))
|
|
79
|
-
: undefined;
|
|
80
|
-
const elements = ${e.includeElements!==!1}
|
|
81
|
-
? Array.from(document.querySelectorAll("a[href], button, input, textarea, select, summary, [role], [tabindex], [contenteditable='true']"))
|
|
82
|
-
.filter(isVisible)
|
|
83
|
-
.slice(0, maxElements)
|
|
84
|
-
.map((element, index) => {
|
|
85
|
-
const rect = element.getBoundingClientRect();
|
|
86
|
-
const tag = element.tagName.toLowerCase();
|
|
87
|
-
return {
|
|
88
|
-
index,
|
|
89
|
-
role: inferRole(element),
|
|
90
|
-
tag,
|
|
91
|
-
name: elementName(element),
|
|
92
|
-
selector: cssPath(element),
|
|
93
|
-
text: normalizedText(element.innerText || "").slice(0, 300) || undefined,
|
|
94
|
-
href: element instanceof HTMLAnchorElement ? element.href : undefined,
|
|
95
|
-
value: "value" in element ? String(element.value ?? "").slice(0, 300) : undefined,
|
|
96
|
-
checked: "checked" in element ? Boolean(element.checked) : undefined,
|
|
97
|
-
disabled: "disabled" in element ? Boolean(element.disabled) : undefined,
|
|
98
|
-
rect: {
|
|
99
|
-
x: Math.round(rect.x),
|
|
100
|
-
y: Math.round(rect.y),
|
|
101
|
-
width: Math.round(rect.width),
|
|
102
|
-
height: Math.round(rect.height),
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
})
|
|
106
|
-
: undefined;
|
|
107
|
-
return {
|
|
108
|
-
title: document.title,
|
|
109
|
-
url: location.href,
|
|
110
|
-
readyState: document.readyState,
|
|
111
|
-
viewport: {
|
|
112
|
-
width: window.innerWidth,
|
|
113
|
-
height: window.innerHeight,
|
|
114
|
-
deviceScaleFactor: window.devicePixelRatio,
|
|
115
|
-
scrollX: Math.round(window.scrollX),
|
|
116
|
-
scrollY: Math.round(window.scrollY),
|
|
117
|
-
},
|
|
118
|
-
activeElement: document.activeElement ? {
|
|
119
|
-
tag: document.activeElement.tagName.toLowerCase(),
|
|
120
|
-
name: elementName(document.activeElement),
|
|
121
|
-
selector: cssPath(document.activeElement),
|
|
122
|
-
} : null,
|
|
123
|
-
text: visibleText,
|
|
124
|
-
links,
|
|
125
|
-
forms,
|
|
126
|
-
elements,
|
|
127
|
-
};
|
|
128
|
-
})()
|
|
129
|
-
`}function Ha(e){return`
|
|
130
|
-
(() => {
|
|
131
|
-
const selector = ${JSON.stringify(e)};
|
|
132
|
-
const element = document.querySelector(selector);
|
|
133
|
-
if (!element) return { clicked: false, error: "No element matched selector: " + selector };
|
|
134
|
-
element.scrollIntoView({ block: "center", inline: "center" });
|
|
135
|
-
element.click();
|
|
136
|
-
return { clicked: true, selector, text: (element.innerText || element.getAttribute("aria-label") || "").trim() };
|
|
137
|
-
})()
|
|
138
|
-
`}function Ua(e,t,n){return`
|
|
139
|
-
(() => {
|
|
140
|
-
const selector = ${JSON.stringify(e)};
|
|
141
|
-
const text = ${JSON.stringify(t)};
|
|
142
|
-
const mode = ${JSON.stringify(n)};
|
|
143
|
-
const element = document.querySelector(selector);
|
|
144
|
-
if (!element) return { ok: false, error: "No element matched selector: " + selector };
|
|
145
|
-
element.scrollIntoView({ block: "center", inline: "center" });
|
|
146
|
-
element.focus();
|
|
147
|
-
if ("value" in element) {
|
|
148
|
-
element.value = mode === "type" ? String(element.value || "") + text : text;
|
|
149
|
-
element.dispatchEvent(new InputEvent("input", { bubbles: true, inputType: "insertText", data: text }));
|
|
150
|
-
element.dispatchEvent(new Event("change", { bubbles: true }));
|
|
151
|
-
} else {
|
|
152
|
-
element.textContent = mode === "type" ? String(element.textContent || "") + text : text;
|
|
153
|
-
element.dispatchEvent(new InputEvent("input", { bubbles: true, inputType: "insertText", data: text }));
|
|
154
|
-
}
|
|
155
|
-
return { ok: true, typed: mode === "type", filled: mode === "fill", selector };
|
|
156
|
-
})()
|
|
157
|
-
`}function Wa(e,t){return Ua(e,t,`type`)}function Ga(e,t){return Ua(e,t,`fill`)}function Ka(e){return`
|
|
158
|
-
(() => {
|
|
159
|
-
const selector = ${JSON.stringify(e)};
|
|
160
|
-
const element = document.querySelector(selector);
|
|
161
|
-
if (!element) return { hovered: false, error: "No element matched selector: " + selector };
|
|
162
|
-
element.scrollIntoView({ block: "center", inline: "center" });
|
|
163
|
-
for (const type of ["pointerover", "mouseover", "pointermove", "mousemove"]) {
|
|
164
|
-
element.dispatchEvent(new MouseEvent(type, { bubbles: true, view: window }));
|
|
165
|
-
}
|
|
166
|
-
return { hovered: true, selector, text: (element.innerText || element.getAttribute("aria-label") || "").trim() };
|
|
167
|
-
})()
|
|
168
|
-
`}function qa(e,t){return`
|
|
169
|
-
(() => {
|
|
170
|
-
const selector = ${JSON.stringify(e)};
|
|
171
|
-
const value = ${JSON.stringify(t)};
|
|
172
|
-
const element = document.querySelector(selector);
|
|
173
|
-
if (!element) return { selected: false, error: "No element matched selector: " + selector };
|
|
174
|
-
if (!(element instanceof HTMLSelectElement)) return { selected: false, error: "Matched element is not a select: " + selector };
|
|
175
|
-
const option = Array.from(element.options).find((option) => option.value === value || option.label === value || option.text === value);
|
|
176
|
-
if (!option) return { selected: false, error: "No option matched value or label: " + value };
|
|
177
|
-
element.value = option.value;
|
|
178
|
-
element.dispatchEvent(new Event("input", { bubbles: true }));
|
|
179
|
-
element.dispatchEvent(new Event("change", { bubbles: true }));
|
|
180
|
-
return { selected: true, selector, value: element.value, label: option.label || option.text };
|
|
181
|
-
})()
|
|
182
|
-
`}function Ja(e){return`
|
|
183
|
-
(() => new Promise((resolve) => {
|
|
184
|
-
const selector = ${JSON.stringify(e.selector??null)};
|
|
185
|
-
const text = ${JSON.stringify(e.text??null)};
|
|
186
|
-
const timeoutMs = ${Math.min(Math.max(e.timeoutMs??5e3,0),3e4)};
|
|
187
|
-
const startedAt = Date.now();
|
|
188
|
-
const isVisible = (element) => {
|
|
189
|
-
if (!(element instanceof Element)) return false;
|
|
190
|
-
const rect = element.getBoundingClientRect();
|
|
191
|
-
const style = window.getComputedStyle(element);
|
|
192
|
-
return rect.width > 0 && rect.height > 0 && style.visibility !== "hidden" && style.display !== "none";
|
|
193
|
-
};
|
|
194
|
-
const check = () => {
|
|
195
|
-
const selectorMatch = selector ? Array.from(document.querySelectorAll(selector)).find(isVisible) : null;
|
|
196
|
-
const textMatch = text ? (document.body?.innerText || "").includes(text) : false;
|
|
197
|
-
if (selectorMatch || textMatch) {
|
|
198
|
-
resolve({ matched: true, selector: selector || undefined, text: text || undefined, elapsedMs: Date.now() - startedAt });
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
if (Date.now() - startedAt >= timeoutMs) {
|
|
202
|
-
resolve({ matched: false, selector: selector || undefined, text: text || undefined, elapsedMs: Date.now() - startedAt });
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
setTimeout(check, 100);
|
|
206
|
-
};
|
|
207
|
-
check();
|
|
208
|
-
}))()
|
|
209
|
-
`}function Ya(e){return`
|
|
210
|
-
(() => {
|
|
211
|
-
const selector = ${JSON.stringify(e.selector??null)};
|
|
212
|
-
const deltaX = ${e.deltaX??0};
|
|
213
|
-
const deltaY = ${e.deltaY??600};
|
|
214
|
-
const target = selector ? document.querySelector(selector) : window;
|
|
215
|
-
if (!target) return { scrolled: false, error: "No element matched selector: " + selector };
|
|
216
|
-
target.scrollBy({ left: deltaX, top: deltaY, behavior: "instant" });
|
|
217
|
-
return {
|
|
218
|
-
scrolled: true,
|
|
219
|
-
selector: selector || undefined,
|
|
220
|
-
scrollX: selector ? target.scrollLeft : window.scrollX,
|
|
221
|
-
scrollY: selector ? target.scrollTop : window.scrollY,
|
|
222
|
-
};
|
|
223
|
-
})()
|
|
224
|
-
`}function Xa(e){return`
|
|
225
|
-
(() => {
|
|
226
|
-
const raw = ${JSON.stringify(e)};
|
|
227
|
-
const parts = raw.split("+").map((part) => part.trim()).filter(Boolean);
|
|
228
|
-
const key = parts.pop() || raw;
|
|
229
|
-
const modifiers = new Set(parts.map((part) => part.toLowerCase()));
|
|
230
|
-
const isMac = /Mac|iPhone|iPad/.test(navigator.platform);
|
|
231
|
-
const eventInit = {
|
|
232
|
-
key,
|
|
233
|
-
bubbles: true,
|
|
234
|
-
cancelable: true,
|
|
235
|
-
altKey: modifiers.has("alt") || modifiers.has("option"),
|
|
236
|
-
ctrlKey: modifiers.has("ctrl") || modifiers.has("control") || (modifiers.has("mod") && !isMac),
|
|
237
|
-
metaKey: modifiers.has("meta") || modifiers.has("cmd") || modifiers.has("command") || (modifiers.has("mod") && isMac),
|
|
238
|
-
shiftKey: modifiers.has("shift"),
|
|
239
|
-
};
|
|
240
|
-
const target = document.activeElement || document.body || document.documentElement;
|
|
241
|
-
target.dispatchEvent(new KeyboardEvent("keydown", eventInit));
|
|
242
|
-
target.dispatchEvent(new KeyboardEvent("keyup", eventInit));
|
|
243
|
-
return { pressed: true, key: raw };
|
|
244
|
-
})()
|
|
245
|
-
`}function Za(e){return Ba(e,null)}function Qa(e){if(e&&typeof e==`object`){let t=e;if(typeof t.error==`string`)return{ok:!1,error:t.error,value:e};if(t.matched===!1)return{ok:!1,error:`Timed out waiting for the browser page.`,value:e}}return{ok:!0,value:e}}function $a(e){let t=e.split(`+`).map(e=>e.trim()).filter(Boolean),n=t.pop()||e,r=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform??``),i=t.flatMap(e=>{switch(e.toLowerCase()){case`alt`:case`option`:return[`alt`];case`ctrl`:case`control`:return[`control`];case`cmd`:case`command`:case`meta`:return[`meta`];case`mod`:return[r?`meta`:`control`];case`shift`:return[`shift`];default:return[]}});return{keyCode:n,modifiers:[...new Set(i)]}}async function eo(e,t,n={}){try{if(e.type===`navigate`){let n=Fa(e.url);return t.loadURL?await t.loadURL(n):t.setAttribute(`src`,n),{ok:!0,address:n===`about:blank`?``:n,value:Za(t)}}if(e.type===`action`)return e.action===`back`&&t.goBack?.(),e.action===`forward`&&t.goForward?.(),e.action===`reload`&&t.reload?.(),e.action===`stop`&&t.stop?.(),{ok:!0,value:Za(t)};if(e.type===`console`){let t={messages:n.consoleEntries??[]};return e.clear&&n.clearConsoleEntries?.(),{ok:!0,value:t}}if(e.type===`press-key`&&t.sendInputEvent){let n=$a(e.key);return t.sendInputEvent({type:`keyDown`,keyCode:n.keyCode,modifiers:n.modifiers}),t.sendInputEvent({type:`keyUp`,keyCode:n.keyCode,modifiers:n.modifiers}),{ok:!0,value:{pressed:!0,key:e.key}}}if(!t.executeJavaScript)return{ok:!1,error:`This Browser panel cannot execute JavaScript yet.`};if(e.type===`evaluate`)return{ok:!0,value:await t.executeJavaScript(e.script,!0)};if(e.type===`snapshot`){let n=await t.executeJavaScript(Va(e),!0);return{ok:!0,value:{...Za(t),page:n}}}return e.type===`click-selector`?Qa(await t.executeJavaScript(Ha(e.selector),!0)):e.type===`hover-selector`?Qa(await t.executeJavaScript(Ka(e.selector),!0)):e.type===`fill-selector`?Qa(await t.executeJavaScript(Ga(e.selector,e.text??``),!0)):e.type===`select-selector`?Qa(await t.executeJavaScript(qa(e.selector,e.value??``),!0)):e.type===`wait`?Qa(await t.executeJavaScript(Ja(e),!0)):e.type===`scroll`?Qa(await t.executeJavaScript(Ya(e),!0)):e.type===`press-key`?{ok:!0,value:await t.executeJavaScript(Xa(e.key),!0)}:Qa(await t.executeJavaScript(Wa(e.selector,e.text??``),!0))}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}var Q=x(),to={title:`New page`,url:``,isLoading:!1,canGoBack:!1,canGoForward:!1,error:null};function no(e){return e.trim().length>0}function ro(e,t){let n=Math.max(1,t.clientWidth),r=Math.max(1,t.clientHeight);e.style.width=`${n}px`,e.style.height=`${r}px`}function io(e){let t=(0,X.c)(86),{threadId:n,active:r,cwd:i,isAgentWorking:a,onClose:o,onStopAgent:s}=e,c=Pr&&window.desktopBridge?.browser?.captureVisiblePage!==void 0,l=(0,Z.useRef)(null),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=[],t[0]=f):f=t[0];let p=(0,Z.useRef)(f),[m,h]=(0,Z.useState)(to),[g,_]=(0,Z.useState)(m.url),[v,y]=(0,Z.useState)(!1),b,x;t[1]!==v||t[2]!==m.url?(b=()=>{v||_(m.url)},x=[v,m.url],t[1]=v,t[2]=m.url,t[3]=b,t[4]=x):(b=t[3],x=t[4]),(0,Z.useEffect)(b,x);let S,C;t[5]===n?(S=t[6],C=t[7]):(S=()=>{if(!c)return;let e=l.current;if(!e)return;let t=document.createElement(`webview`);u.current=t,p.current=[],t.setAttribute(`partition`,Ia(n)),t.setAttribute(`src`,Na),t.setAttribute(`allowpopups`,`false`),t.style.position=`absolute`,t.style.inset=`0`,t.style.display=`flex`,t.style.border=`0`,t.style.boxSizing=`border-box`,t.style.minWidth=`0`,t.style.minHeight=`0`,ro(t,e),e.append(t);let r=null,i=()=>{h(Ba(t,r))},a=()=>{r=null,i()},o=[[`did-start-loading`,a],[`did-stop-loading`,i],[`did-navigate`,a],[`did-navigate-in-page`,i],[`page-title-updated`,i],[`dom-ready`,i],[`did-fail-load`,e=>{let t=e;t.errorCode!==-3&&(r=t.errorDescription??`Unable to load this page.`),i()}],[`console-message`,e=>{let t=e,n=typeof t.level==`number`?[`log`,`warning`,`error`,`debug`][t.level]??String(t.level):t.level??`log`;p.current=[...p.current,{level:n,message:t.message??``,sourceId:t.sourceId??null,line:typeof t.line==`number`?t.line:null,timestamp:Date.now()}].slice(-100)}]];for(let[e,n]of o)t.addEventListener(e,n);let s=typeof ResizeObserver>`u`?null:new ResizeObserver(()=>{ro(t,e)});s?.observe(e),i();let f=d.current;return f&&(d.current=null,t.loadURL?.(f).catch(e=>{h(Ba(t,String(e)))})),()=>{s?.disconnect();for(let[e,n]of o)t.removeEventListener(e,n);t.remove(),u.current===t&&(u.current=null)}},C=[c,n],t[5]=n,t[6]=S,t[7]=C),(0,Z.useLayoutEffect)(S,C);let w,T;t[8]===n?(w=t[9],T=t[10]):(w=()=>{let e=F()?.browserPanel;if(!e)return;let t=(t,n,r,i)=>{e.completeCommand({id:t.id,threadId:t.threadId,ok:n,...r===void 0?{}:{value:r},...i?{error:i}:{}})},r=async e=>{if(e.threadId!==n)return;let r=u.current;if(!r){e.type===`navigate`&&(d.current=Fa(e.url)),t(e,!1,void 0,`The Browser panel webview is not ready.`);return}try{let n=await eo(e,r,{consoleEntries:p.current,clearConsoleEntries:()=>{p.current=[]}});n.address!==void 0&&_(n.address),t(e,n.ok,n.value,n.error)}catch(n){let i=n,a=i instanceof Error?i.message:String(i);h(Ba(r,a)),t(e,!1,void 0,a)}};return e.onNavigateRequest(e=>{r(e)})},T=[n],t[8]=n,t[9]=w,t[10]=T),(0,Z.useEffect)(w,T);let E;t[11]===g?E=t[12]:(E=e=>{e?.preventDefault();let t=u.current;if(!t)return;let n=Fa(g);if(_(n===`about:blank`?``:n),!t.loadURL){t.setAttribute(`src`,n),y(!1);return}t.loadURL(n).catch(e=>{h(Ba(t,String(e)))}),y(!1)},t[11]=g,t[12]=E);let D=E,O;t[13]===n?O=t[14]:(O=()=>{let e=u.current;if(!e||!window.desktopBridge?.browser)return;let t=e.getWebContentsId?.();if(typeof t!=`number`){oi.add({type:`error`,title:`Screenshot unavailable`,description:`The browser page is still starting.`});return}window.desktopBridge.browser.captureVisiblePage({threadId:n,webContentsId:t}).then(so).catch(oo)},t[13]=n,t[14]=O);let k=O,A;t[15]===m.url?A=t[16]:(A=()=>{no(m.url)&&F()?.shell.openExternal(m.url).catch(ao)},t[15]=m.url,t[16]=A);let j=A;if(!c){let e;t[17]===o?e=t[18]:(e=(0,Q.jsx)(co,{title:`Browser`,...o?{onClose:o}:{}}),t[17]=o,t[18]=e);let n;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-8 text-center`,children:(0,Q.jsxs)(`div`,{className:`max-w-sm`,children:[(0,Q.jsx)($n,{className:`mx-auto mb-3 size-8 text-muted-foreground/60`}),(0,Q.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:`Desktop browser unavailable`}),(0,Q.jsx)(`p`,{className:`mt-2 text-muted-foreground text-sm leading-6`,children:`The integrated browser is available in the ShioriCode desktop app.`})]})}),t[19]=n):n=t[19];let r;return t[20]===e?r=t[21]:(r=(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-card text-foreground`,children:[e,n]}),t[20]=e,t[21]=r),r}let M=r?`true`:`false`,N;t[22]===o?N=t[23]:(N=o?{onClose:o}:{},t[22]=o,t[23]=N);let P;t[24]===s?P=t[25]:(P=s?{onStopAgent:s}:{},t[24]=s,t[25]=P);let I;t[26]!==a||t[27]!==m.title||t[28]!==N||t[29]!==P?(I=(0,Q.jsx)(co,{title:m.title,isAgentWorking:a,...N,...P}),t[26]=a,t[27]=m.title,t[28]=N,t[29]=P,t[30]=I):I=t[30];let L=!m.canGoBack,R,z;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(R=()=>u.current?.goBack?.(),z=(0,Q.jsx)(tn,{}),t[31]=R,t[32]=z):(R=t[31],z=t[32]);let B;t[33]===L?B=t[34]:(B=(0,Q.jsx)(lo,{label:`Back`,disabled:L,onClick:R,children:z}),t[33]=L,t[34]=B);let ee=!m.canGoForward,te,ne;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(te=()=>u.current?.goForward?.(),ne=(0,Q.jsx)(Kt,{}),t[35]=te,t[36]=ne):(te=t[35],ne=t[36]);let V;t[37]===ee?V=t[38]:(V=(0,Q.jsx)(lo,{label:`Forward`,disabled:ee,onClick:te,children:ne}),t[37]=ee,t[38]=V);let re=m.isLoading?`Stop loading`:`Reload`,ie=!m.isLoading&&m.url.length===0,H,ae;t[39]===m.isLoading?(H=t[40],ae=t[41]):(H=()=>m.isLoading?u.current?.stop?.():u.current?.reload?.(),ae=m.isLoading?(0,Q.jsx)(wn,{}):(0,Q.jsx)(er,{}),t[39]=m.isLoading,t[40]=H,t[41]=ae);let oe;t[42]!==re||t[43]!==ie||t[44]!==H||t[45]!==ae?(oe=(0,Q.jsx)(lo,{label:re,disabled:ie,onClick:H,children:ae}),t[42]=re,t[43]=ie,t[44]=H,t[45]=ae,t[46]=oe):oe=t[46];let se;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,Q.jsx)(Kn,{className:`-translate-y-1/2 pointer-events-none absolute left-2.5 top-1/2 size-3.5 text-muted-foreground/60`}),t[47]=se):se=t[47];let ce,le,ue;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(ce=e=>_(e.currentTarget.value),le=()=>y(!0),ue=()=>y(!1),t[48]=ce,t[49]=le,t[50]=ue):(ce=t[48],le=t[49],ue=t[50]);let de;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(de=U(`h-8 w-full min-w-0 rounded-md border border-border bg-background pl-8 pr-2`,`text-sm text-foreground outline-none transition-colors`,`placeholder:text-muted-foreground/60 focus:border-ring/60`),t[51]=de):de=t[51];let W;t[52]===g?W=t[53]:(W=(0,Q.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[se,(0,Q.jsx)(`input`,{value:g,onChange:ce,onFocus:le,onBlur:ue,placeholder:`Enter a URL`,className:de,spellCheck:!1})]}),t[52]=g,t[53]=W);let fe=!no(m.url),pe;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,Q.jsx)(In,{}),t[54]=pe):pe=t[54];let me;t[55]!==j||t[56]!==fe?(me=(0,Q.jsx)(lo,{label:`Open externally`,disabled:fe,onClick:j,children:pe}),t[55]=j,t[56]=fe,t[57]=me):me=t[57];let he=!no(m.url),ge;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,Q.jsx)(on,{}),t[58]=ge):ge=t[58];let _e;t[59]!==k||t[60]!==he?(_e=(0,Q.jsx)(lo,{label:`Capture screenshot`,disabled:he,onClick:k,children:ge}),t[59]=k,t[60]=he,t[61]=_e):_e=t[61];let ve;t[62]!==D||t[63]!==B||t[64]!==V||t[65]!==oe||t[66]!==W||t[67]!==me||t[68]!==_e?(ve=(0,Q.jsxs)(`form`,{className:`flex min-w-0 items-center gap-1 px-2 pb-2`,onSubmit:D,children:[B,V,oe,W,me,_e]}),t[62]=D,t[63]=B,t[64]=V,t[65]=oe,t[66]=W,t[67]=me,t[68]=_e,t[69]=ve):ve=t[69];let ye;t[70]!==I||t[71]!==ve?(ye=(0,Q.jsxs)(`div`,{className:`shrink-0 border-b border-border/70 bg-card`,children:[I,ve]}),t[70]=I,t[71]=ve,t[72]=ye):ye=t[72];let be;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,Q.jsx)(`div`,{ref:l,className:`absolute inset-0 h-full min-h-0 w-full min-w-0 overflow-hidden [&>webview]:flex`}),t[73]=be):be=t[73];let xe;t[74]!==i||t[75]!==m.url?(xe=no(m.url)?null:(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-10 flex items-center justify-center px-8 text-center`,children:(0,Q.jsxs)(`div`,{className:`max-w-sm`,children:[(0,Q.jsx)($n,{className:`mx-auto mb-3 size-9 text-muted-foreground/50`}),(0,Q.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:`New browser page`}),(0,Q.jsx)(`p`,{className:`mt-2 text-muted-foreground text-sm leading-6`,children:`Open a local dev server, docs page, or file preview.`}),i?(0,Q.jsx)(`p`,{className:`mt-3 truncate font-mono text-muted-foreground/70 text-xs`,title:i,children:i}):null]})}),t[74]=i,t[75]=m.url,t[76]=xe):xe=t[76];let G;t[77]===m.error?G=t[78]:(G=m.error?(0,Q.jsx)(`div`,{className:`absolute inset-x-3 top-3 z-20 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-destructive text-sm`,children:m.error}):null,t[77]=m.error,t[78]=G);let Se;t[79]!==xe||t[80]!==G?(Se=(0,Q.jsxs)(`div`,{className:`relative min-h-0 min-w-0 flex-1 bg-background`,children:[be,xe,G]}),t[79]=xe,t[80]=G,t[81]=Se):Se=t[81];let Ce;return t[82]!==M||t[83]!==ye||t[84]!==Se?(Ce=(0,Q.jsxs)(`div`,{"data-browser-panel-active":M,className:`flex h-full min-h-0 min-w-0 flex-1 flex-col bg-card text-foreground`,children:[ye,Se]}),t[82]=M,t[83]=ye,t[84]=Se,t[85]=Ce):Ce=t[85],Ce}function ao(e){oi.add({type:`error`,title:`Could not open browser`,description:e instanceof Error?e.message:`An unknown error occurred.`})}function oo(e){oi.add({type:`error`,title:`Could not capture screenshot`,description:e instanceof Error?e.message:`An unknown error occurred.`})}function so(e){if(!e.ok){oi.add({type:`error`,title:`Could not capture screenshot`,description:e.message??`An unknown error occurred.`});return}oi.add({type:`success`,title:`Screenshot copied`,description:`The browser viewport is on your clipboard.`})}function co(e){let t=(0,X.c)(12),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)($n,{className:`size-4 shrink-0 text-muted-foreground/80`}),t[0]=n):n=t[0];let r;t[1]===e.title?r=t[2]:(r=(0,Q.jsx)(`div`,{className:`min-w-0 flex-1 truncate text-sm font-medium`,title:e.title,children:e.title}),t[1]=e.title,t[2]=r);let i;t[3]!==e.isAgentWorking||t[4]!==e.onStopAgent?(i=e.isAgentWorking?(0,Q.jsx)(I,{variant:`outline`,size:`xs`,className:`shrink-0 [-webkit-app-region:no-drag]`,onClick:e.onStopAgent,children:`Stop agent`}):null,t[3]=e.isAgentWorking,t[4]=e.onStopAgent,t[5]=i):i=t[5];let a;t[6]===e.onClose?a=t[7]:(a=e.onClose?(0,Q.jsx)(I,{variant:`ghost`,size:`icon-xs`,className:`shrink-0 [-webkit-app-region:no-drag]`,onClick:e.onClose,"aria-label":`Close browser panel`,children:(0,Q.jsx)(wn,{})}):null,t[6]=e.onClose,t[7]=a);let o;return t[8]!==r||t[9]!==i||t[10]!==a?(o=(0,Q.jsxs)(`div`,{className:`drag-region flex h-10 min-w-0 items-center gap-2 px-3`,children:[n,r,i,a]}),t[8]=r,t[9]=i,t[10]=a,t[11]=o):o=t[11],o}function lo(e){let t=(0,X.c)(10),n;t[0]!==e.children||t[1]!==e.disabled||t[2]!==e.label||t[3]!==e.onClick?(n=(0,Q.jsx)(jr,{render:(0,Q.jsx)(I,{type:`button`,variant:`ghost`,size:`icon-sm`,disabled:e.disabled,"aria-label":e.label,onClick:e.onClick,children:e.children})}),t[0]=e.children,t[1]=e.disabled,t[2]=e.label,t[3]=e.onClick,t[4]=n):n=t[4];let r;t[5]===e.label?r=t[6]:(r=(0,Q.jsx)(Hr,{side:`bottom`,children:e.label}),t[5]=e.label,t[6]=r);let i;return t[7]!==n||t[8]!==r?(i=(0,Q.jsxs)(Vr,{children:[n,r]}),t[7]=n,t[8]=r,t[9]=i):i=t[9],i}var uo=e(c(),1),fo=/(^|\s)@([^\s@]+)(?=\s)/g;function po(e,t){if(!t)return;let n=e[e.length-1];if(n&&n.type===`text`){n.text+=t;return}e.push({type:`text`,text:t})}function mo(e){let t=[];if(!e)return t;let n=0;for(let r of e.matchAll(fo)){let i=r[0],a=r[1]??``,o=r[2]??``,s=(r.index??0)+a.length,c=s+i.length-a.length;s>n&&po(t,e.slice(n,s)),o.length>0?t.push({type:`mention`,path:o}):po(t,e.slice(s,c)),n=c}return n<e.length&&po(t,e.slice(n)),t}function ho(e,t=[]){if(!e)return[];let n=[],r=0,i=0;for(let a=0;a<e.length;a+=1)e[a]===``&&(a>r&&n.push(...mo(e.slice(r,a))),n.push({type:`terminal-context`,context:t[i]??null}),i+=1,r=a+1);return r<e.length&&n.push(...mo(e.slice(r))),n}var go=[`compact`,`fast`,`fork`,`goal`,`mcp`,`memories`,`model`,`personality`,`plan`,`default`,`review`],_o=[`default`,`friendly`,`sassy`,`coach`,`pragmatic`],vo=[`local`,`worktree`],yo=e=>e.type!==`text`;function bo(e,t){return Number.isFinite(t)?Math.max(0,Math.min(e.length,Math.floor(t))):e.length}function xo(e){return e===` `||e===`
|
|
246
|
-
`||e===` `||e===`\r`||e===``}function So(e,t){let n=t-1;for(;n>=0&&!xo(e[n]??``);)--n;return n+1}function Co(e,t){let n=bo(e,t),r=ho(e);if(r.length===0)return n;let i=n,a=0;for(let e of r){if(e.type===`mention`){let t=e.path.length+1;if(i<=1)return a+(i===0?0:t);--i,a+=t;continue}if(e.type===`terminal-context`){if(i<=1)return a+i;--i,a+=1;continue}let t=e.text.length;if(i<=t)return a+i;i-=t,a+=t}return a}function wo(e){return e.type===`text`?e.text.length:1}function To(e,t){let n=e.reduce((e,t)=>e+wo(t),0);return Number.isFinite(t)?Math.max(0,Math.min(n,Math.floor(t))):n}function Eo(e,t){return To(ho(e),t)}function Do(e,t){let n=bo(e,t),r=ho(e);if(r.length===0)return n;let i=n,a=0;for(let e of r){if(e.type===`mention`){let t=e.path.length+1;if(i===0)return a;if(i<=t)return a+1;i-=t,a+=1;continue}if(e.type===`terminal-context`){if(i<=1)return a+i;--i,a+=1;continue}let t=e.text.length;if(i<=t)return a+i;i-=t,a+=t}return a}function Oo(e,t,n){let r=ho(e);if(!r.some(yo))return!1;let i=To(r,t),a=0;for(let e of r){if(yo(e)&&(n===`left`&&i===a+1||n===`right`&&i===a))return!0;a+=wo(e)}return!1}function ko(e,t){let n=bo(e,t),r=e.lastIndexOf(`
|
|
247
|
-
`,Math.max(0,n-1))+1,i=e.slice(r,n);if(i.startsWith(`/`)){let e=/^\/(\S*)(?:\s+(.*))?$/.exec(i);if(e){let t=(e[1]??``).toLowerCase(),i=(e[2]??``).trim();return t===`model`?{kind:`slash-model`,query:i,rangeStart:r,rangeEnd:n}:go.some(e=>e===t)?{kind:`slash-command`,query:i,command:t,rangeStart:r,rangeEnd:n}:e[2]===void 0&&go.some(e=>e.startsWith(t))?{kind:`slash-command`,query:t,rangeStart:r,rangeEnd:n}:i.length>0&&t.length>0?null:go.some(e=>e.startsWith(t))?{kind:`slash-command`,query:t,rangeStart:r,rangeEnd:n}:null}}let a=So(e,n),o=e.slice(a,n);return o.startsWith(`@`)?{kind:`path`,query:o.slice(1),rangeStart:a,rangeEnd:n}:null}function Ao(e){let t=e.trim(),n=/^\/fork(?:\s+(local|worktree))?\s*$/i.exec(t);if(n){let e=n[1]?.toLowerCase();return e&&vo.includes(e)?{command:`fork`,value:e}:{command:`fork`}}let r=/^\/personality\s+(default|friendly|sassy|coach|pragmatic)\s*$/i.exec(t);if(r){let e=r[1]?.toLowerCase();if(e&&_o.includes(e))return{command:`personality`,value:e}}let i=/^\/(compact|fast|goal|mcp|memories|plan|default|review)\s*$/i.exec(t);if(!i||!i[1])return null;let a=i[1]?.toLowerCase();return a===`compact`||a===`fast`||a===`goal`||a===`mcp`||a===`memories`||a===`plan`||a===`default`||a===`review`?{command:a}:null}function jo(e,t,n,r){let i=Math.max(0,Math.min(e.length,t)),a=Math.max(i,Math.min(e.length,n));return{text:`${e.slice(0,i)}${r}${e.slice(a)}`,cursor:i+r.length}}function Mo(e,t=64){let n=Number.isFinite(t)?Math.max(0,t):64,{scrollTop:r,clientHeight:i,scrollHeight:a}=e;return[r,i,a].every(Number.isFinite)?a-i-r<=n:!0}function No(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function Po(e){return No(e?.customAnswer)||No(e?.selectedOptionLabel)}function Fo(e,t){let n=t.trim().length>0?void 0:e?.selectedOptionLabel;return{customAnswer:t,...n?{selectedOptionLabel:n}:{}}}function Io(e,t){let n={};for(let r of e){let e=Po(t[r.id]);if(!e)return null;n[r.id]=e}return n}function Lo(e,t){return e.reduce((e,n)=>Po(t[n.id])?e+1:e,0)}function Ro(e,t,n){let r=e.length===0?0:Math.max(0,Math.min(n,e.length-1)),i=e[r]??null,a=i?t[i.id]:void 0,o=Po(a),s=a?.customAnswer??``,c=Lo(e,t),l=e.length===0?!0:r>=e.length-1;return{questionIndex:r,activeQuestion:i,activeDraft:a,selectedOptionLabel:a?.selectedOptionLabel,customAnswer:s,resolvedAnswer:o,usingCustomAnswer:s.trim().length>0,answeredQuestionCount:c,isLastQuestion:l,isComplete:Io(e,t)!==null,canAdvance:!!o}}function zo(e){let t=e.match(/^\s{0,3}#{1,6}\s+(.+)$/m)?.[1]?.trim();return t&&t.length>0?t:null}function Bo(e){let t=e.trimEnd().split(/\r?\n/),n=t[0]&&/^\s{0,3}#{1,6}\s+/.test(t[0])?t.slice(1):[...t];for(;n[0]?.trim().length===0;)n.shift();if((n[0]?.match(/^\s{0,3}#{1,6}\s+(.+)$/))?.[1]?.trim().toLowerCase()===`summary`)for(n.shift();n[0]?.trim().length===0;)n.shift();return n.join(`
|
|
248
|
-
`)}function Vo(e,t){let n=t?.maxLines??8,r=Bo(e).trimEnd().split(/\r?\n/).map(e=>e.trimEnd()),i=[],a=0,o=!1;for(let e of r){let t=e.trim().length>0;if(t&&a>=n){o=!0;break}i.push(e),t&&(a+=1)}for(;i.length>0&&i.at(-1)?.trim().length===0;)i.pop();return i.length===0?zo(e)??`Plan preview unavailable.`:(o&&i.push(``,`...`),i.join(`
|
|
249
|
-
`))}function Ho(e){let t=e.toLowerCase().replace(/[`'".,!?()[\]{}]+/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t.length>0?t:`plan`}function Uo(e){return`PLEASE IMPLEMENT THIS PLAN:\n${e.trim()}`}function Wo(e){let t=e.draftText.trim();return t.length>0?{text:t,interactionMode:`plan`}:{text:Uo(e.planMarkdown),interactionMode:`default`}}function Go(e){let t=zo(e);return t?`Implement ${t}`:`Implement plan`}function Ko(e){return`${Ho(zo(e)??`plan`)}.md`}function qo(e){return`${e.trimEnd()}\n`}function Jo(e,t){let n=new Blob([t],{type:`text/markdown;charset=utf-8`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=e,i.click(),window.setTimeout(()=>{URL.revokeObjectURL(r)},0)}function Yo(e){let t=(0,X.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=U(`relative inline-block size-3.5 shrink-0 [perspective:80px]`,n),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinejoin:`miter`,strokeLinecap:`square`,className:`absolute inset-0 size-full overflow-visible`,children:[(0,Q.jsx)(`path`,{d:`M21 7C21 5.89543 20.1046 5 19 5H13.5L10.5 2H5C3.89543 2 3 2.89543 3 4V7`,className:`opacity-0 transition-opacity duration-200 ease-out in-data-[popup-open]:opacity-100 in-data-[popup-open]:delay-150`}),(0,Q.jsx)(`path`,{d:`M20 21L22 11L2 11L4 21L20 21Z`,className:`origin-top opacity-0 transition-[opacity,transform] duration-200 ease-out [transform-box:fill-box] [transform:scaleY(0.2)] in-data-[popup-open]:opacity-100 in-data-[popup-open]:delay-150 in-data-[popup-open]:[transform:scaleY(1)]`}),(0,Q.jsx)(`path`,{d:`M2 5V18C2 19.1046 2.89543 20 4 20H20C21.1046 20 22 19.1046 22 18V8C22 6.89543 21.1046 6 20 6H13L10 3H4C2.89543 3 2 3.89543 2 5Z`,className:`origin-bottom transition-transform duration-300 ease-out [transform-box:fill-box] in-data-[popup-open]:[transform:rotateX(82deg)]`})]}),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,Q.jsx)(`span`,{"aria-hidden":!0,className:r,children:i}),t[3]=r,t[4]=a),a}function Xo(e){let t=e.indexOf(`/`);return t<=0||t===e.length-1?e:e.slice(t+1)}n([`local`,`worktree`]);function Zo(e){let{activeWorktreePath:t,hasServerThread:n,draftThreadEnvMode:r}=e;return t||!n&&r===`worktree`?`worktree`:`local`}function Qo(e){let{nextWorktreePath:t,currentWorktreePath:n,effectiveEnvMode:r}=e;return t||r===`worktree`&&!n?`worktree`:`local`}function $o(e){let{envMode:t,activeWorktreePath:n,activeThreadBranch:r,currentGitBranch:i}=e;return t===`worktree`&&!n?r??i:i??r}function es(e){let{activeProjectCwd:t,activeWorktreePath:n,branch:r}=e;if(r.worktreePath)return{checkoutCwd:r.worktreePath,nextWorktreePath:r.worktreePath===t?null:r.worktreePath,reuseExistingWorktree:!0};let i=n!==null&&r.isDefault?null:n;return{checkoutCwd:i??t,nextWorktreePath:i,reuseExistingWorktree:!1}}function ts(e){let{itemValue:t,normalizedQuery:n,createBranchItemValue:r,checkoutPullRequestItemValue:i}=e;return n.length===0||r&&t===r||i&&t===i?!0:t.toLowerCase().includes(n)}var ns=/^https:\/\/github\.com\/[^/\s]+\/[^/\s]+\/pull\/(\d+)(?:[/?#].*)?$/i,rs=/^#?(\d+)$/,is=/^gh\s+pr\s+checkout\s+(.+)$/i;function as(e){let t=e.trim();if(t.length===0)return null;let n=is.exec(t)?.[1]?.trim()??t;if(n.length===0)return null;if(ns.exec(n)?.[1])return n;let r=rs.exec(n);return r?.[1]?n.startsWith(`#`)?n:r[1]:null}var os=Z.createContext({chipsRef:null,multiple:!1});function ss(e){let t=(0,X.c)(7),n=Z.useRef(null),r,i=!!e.multiple,a;t[0]===i?a=t[1]:(a={chipsRef:n,multiple:i},t[0]=i,t[1]=a),r=a;let o=r,s;t[2]===e?s=t[3]:(s=(0,Q.jsx)(Gn,{...e}),t[2]=e,t[3]=s);let c;return t[4]!==s||t[5]!==o?(c=(0,Q.jsx)(os.Provider,{value:o,children:s}),t[4]=s,t[5]=o,t[6]=c):c=t[6],c}function cs(e){let t=(0,X.c)(34),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({className:n,inputClassName:r,showTrigger:s,showClear:c,startAddon:o,size:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=s===void 0?!0:s,u=c===void 0?!1:c,d=a??`default`,f;t[8]===o?f=t[9]:(f=o&&(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:`[&_svg]:-mx-0.5 pointer-events-none absolute inset-y-0 start-px z-10 flex items-center ps-[calc(--spacing(3)-1px)] opacity-80 has-[+[data-size=sm]]:ps-[calc(--spacing(2.5)-1px)] [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4`,"data-slot":`combobox-start-addon`,children:o}),t[8]=o,t[9]=f);let p=o&&`data-[size=sm]:*:data-[slot=combobox-input]:ps-[calc(--spacing(7.5)-1px)] *:data-[slot=combobox-input]:ps-[calc(--spacing(8.5)-1px)] sm:data-[size=sm]:*:data-[slot=combobox-input]:ps-[calc(--spacing(7)-1px)] sm:*:data-[slot=combobox-input]:ps-[calc(--spacing(8)-1px)]`,m=d===`sm`?`has-[+[data-slot=combobox-trigger],+[data-slot=combobox-clear]]:*:data-[slot=combobox-input]:pe-6.5`:`has-[+[data-slot=combobox-trigger],+[data-slot=combobox-clear]]:*:data-[slot=combobox-input]:pe-7`,h;t[10]!==n||t[11]!==p||t[12]!==m?(h=U(p,m,n),t[10]=n,t[11]=p,t[12]=m,t[13]=h):h=t[13];let g;t[14]===r?g=t[15]:(g=U(`has-disabled:opacity-100`,r),t[14]=r,t[15]=g);let _;t[16]!==d||t[17]!==g?(_=(0,Q.jsx)(xr,{className:g,nativeInput:!0,size:d}),t[16]=d,t[17]=g,t[18]=_):_=t[18];let v;t[19]!==i||t[20]!==h||t[21]!==_?(v=(0,Q.jsx)(Tn,{className:h,"data-slot":`combobox-input`,render:_,...i}),t[19]=i,t[20]=h,t[21]=_,t[22]=v):v=t[22];let y;t[23]!==l||t[24]!==d?(y=l&&(0,Q.jsx)(ls,{className:U(`-translate-y-1/2 absolute top-1/2 inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent opacity-80 outline-none transition-opacity pointer-coarse:after:absolute pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:opacity-100 has-[+[data-slot=combobox-clear]]:hidden sm:size-7 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,d===`sm`?`end-0`:`end-0.5`),children:(0,Q.jsx)(Sn,{"data-slot":`combobox-icon`,children:(0,Q.jsx)(rn,{})})}),t[23]=l,t[24]=d,t[25]=y):y=t[25];let b;t[26]!==u||t[27]!==d?(b=u&&(0,Q.jsx)(ms,{className:U(`-translate-y-1/2 absolute top-1/2 inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent opacity-80 outline-none transition-opacity pointer-coarse:after:absolute pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:opacity-100 has-[+[data-slot=combobox-clear]]:hidden sm:size-7 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,d===`sm`?`end-0`:`end-0.5`),children:(0,Q.jsx)(wn,{})}),t[26]=u,t[27]=d,t[28]=b):b=t[28];let x;return t[29]!==y||t[30]!==b||t[31]!==f||t[32]!==v?(x=(0,Q.jsxs)(`div`,{className:`relative not-has-[>*.w-full]:w-fit w-full text-foreground has-disabled:opacity-64`,children:[f,v,y,b]}),t[29]=y,t[30]=b,t[31]=f,t[32]=v,t[33]=x):x=t[33],x}function ls(e){let t=(0,X.c)(8),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;return t[4]!==n||t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Jt,{className:r,"data-slot":`combobox-trigger`,...i,children:n}),t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function us(e){let t=(0,X.c)(24),n,r,i,a,o,s,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8]):({className:a,children:i,side:s,sideOffset:c,alignOffset:n,align:l,anchor:r,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l);let u=s===void 0?`bottom`:s,d=c===void 0?4:c,f=l===void 0?`start`:l,{chipsRef:p}=Z.useContext(os),m=r??p,h;t[9]===a?h=t[10]:(h=U(`relative flex max-h-full min-w-(--anchor-width) max-w-(--available-width) origin-(--transform-origin) rounded-lg border bg-popover not-dark:bg-clip-padding shadow-lg/5 transition-[scale,opacity] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,a),t[9]=a,t[10]=h);let g;t[11]!==i||t[12]!==o?(g=(0,Q.jsx)(en,{className:`flex max-h-[min(var(--available-height),23rem)] flex-1 flex-col text-foreground`,"data-slot":`combobox-popup`,...o,children:i}),t[11]=i,t[12]=o,t[13]=g):g=t[13];let _;t[14]!==h||t[15]!==g?(_=(0,Q.jsx)(`span`,{className:h,children:g}),t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;return t[17]!==f||t[18]!==n||t[19]!==m||t[20]!==u||t[21]!==d||t[22]!==_?(v=(0,Q.jsx)(vn,{children:(0,Q.jsx)(an,{align:f,alignOffset:n,anchor:m,className:`z-50 select-none`,"data-slot":`combobox-positioner`,side:u,sideOffset:d,children:_})}),t[17]=f,t[18]=n,t[19]=m,t[20]=u,t[21]=d,t[22]=_,t[23]=v):v=t[23],v}function ds(e){let t=(0,X.c)(20),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,children:n,hideIndicator:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=a===void 0?!1:a,s;t[5]===r?s=t[6]:(s=U(`grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default grid-cols-[1rem_1fr] items-center gap-2 rounded-sm py-1 ps-2 pe-4 text-base outline-none hover:bg-accent data-disabled:pointer-events-none data-selected:bg-accent/50 data-selected:text-foreground data-highlighted:bg-accent data-highlighted:text-accent-foreground [&[data-highlighted][data-selected]]:bg-accent [&[data-highlighted][data-selected]]:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,r),t[5]=r,t[6]=s);let c=o&&`hidden`,l;t[7]===c?l=t[8]:(l=U(`col-start-1`,c),t[7]=c,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(hn,{}),t[9]=u):u=t[9];let d;t[10]===l?d=t[11]:(d=(0,Q.jsx)(fn,{className:l,children:u}),t[10]=l,t[11]=d);let f=o?`col-start-1 col-span-full`:`col-start-2`,p;t[12]!==n||t[13]!==f?(p=(0,Q.jsx)(`div`,{className:f,children:n}),t[12]=n,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==i||t[16]!==s||t[17]!==d||t[18]!==p?(m=(0,Q.jsxs)(un,{className:s,"data-slot":`combobox-item`,...i,children:[d,p]}),t[15]=i,t[16]=s,t[17]=d,t[18]=p,t[19]=m):m=t[19],m}function fs(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`not-empty:p-2 text-center text-base text-muted-foreground sm:text-sm`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(sn,{className:i,"data-slot":`combobox-empty`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ps(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`not-empty:scroll-py-1 not-empty:px-1 not-empty:py-1 in-data-has-overflow-y:pe-3`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Sr,{scrollbarGutter:!0,scrollFade:!0,children:(0,Q.jsx)(Ut,{className:i,"data-slot":`combobox-list`,...r})}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ms(e){let t=(0,X.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;return t[3]!==n||t[4]!==r?(i=(0,Q.jsx)(Zt,{className:n,"data-slot":`combobox-clear`,...r}),t[3]=n,t[4]=r,t[5]=i):i=t[5],i}function hs(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`px-3 py-2 font-medium text-muted-foreground text-xs empty:m-0 empty:p-0`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(sr,{className:i,"data-slot":`combobox-status`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function gs(e){return e instanceof Error?e.message:`An error occurred.`}function _s(e){let{activeWorktreePath:t,effectiveEnvMode:n,resolvedActiveBranch:r}=e;return r?n===`worktree`&&!t?`From ${r}`:r:`Select branch`}function vs({activeProjectCwd:e,activeThreadBranch:t,activeWorktreePath:n,branchCwd:r,effectiveEnvMode:i,envLocked:a,onSetThreadBranch:o,onCheckoutPullRequestRequest:s,onComposerFocusRequest:c}){let l=h(),[u,d]=(0,Z.useState)(!1),[f,m]=(0,Z.useState)(``),g=(0,Z.useDeferredValue)(f),y=p(hr(r)),b=f.trim(),x=g.trim();(0,Z.useEffect)(()=>{r&&l.prefetchInfiniteQuery(yr({cwd:r,query:``}))},[r,l]);let{data:S,fetchNextPage:C,hasNextPage:w,isFetchingNextPage:T,isPending:E}=_(yr({cwd:r,query:x,enabled:u})),D=(0,Z.useMemo)(()=>S?.pages.flatMap(e=>e.branches)??[],[S?.pages]),O=y.data?.branch??D.find(e=>e.current)?.name??null,k=$o({envMode:i,activeWorktreePath:n,activeThreadBranch:t,currentGitBranch:O}),A=(0,Z.useMemo)(()=>D.map(e=>e.name),[D]),j=(0,Z.useMemo)(()=>new Map(D.map(e=>[e.name,e])),[D]),M=x.toLowerCase(),N=as(b),P=i===`worktree`&&!a&&!n,I=N&&s?`__checkout_pull_request__:${N}`:null,L=!P&&b.length>0,R=j.has(b),z=L?`__create_new_branch__:${b}`:null,B=(0,Z.useMemo)(()=>{let e=[...A];return z&&!R&&e.push(z),I&&e.unshift(I),e},[A,I,z,R]),ee=(0,Z.useMemo)(()=>M.length===0?B:B.filter(e=>ts({itemValue:e,normalizedQuery:M,createBranchItemValue:z,checkoutPullRequestItemValue:I})),[B,I,z,M]),[te,ne]=(0,Z.useOptimistic)(k,(e,t)=>t),[V,re]=(0,Z.useTransition)(),ie=ee.length>40,H=S?.pages[0]?.totalCount??0,ae=E?`Loading branches...`:T?`Loading more branches...`:w?`Showing ${D.length} of ${H} branches`:null,oe=e=>{re(async()=>{await e().catch(()=>void 0),await gr(l).catch(()=>void 0)})},se=t=>{let i=F();if(!i||!r||V)return;if(P){o(t.name,null),d(!1),c?.();return}let a=es({activeProjectCwd:e,activeWorktreePath:n,branch:t});if(a.reuseExistingWorktree){o(t.name,a.nextWorktreePath),d(!1),c?.();return}let s=t.isRemote?Xo(t.name):t.name;d(!1),c?.(),oe(async()=>{ne(s);try{await i.git.checkout({cwd:a.checkoutCwd,branch:t.name}),await gr(l)}catch(e){oi.add({type:`error`,title:`Failed to checkout branch.`,description:gs(e)});return}let e=s;if(t.isRemote){let t=await i.git.status({cwd:a.checkoutCwd}).catch(()=>null);t?.branch&&(e=t.branch)}ne(e),o(e,a.nextWorktreePath)})},ce=e=>{let t=e.trim(),i=F();!i||!r||!t||V||(d(!1),c?.(),oe(async()=>{ne(t);try{await i.git.createBranch({cwd:r,branch:t});try{await i.git.checkout({cwd:r,branch:t})}catch(e){oi.add({type:`error`,title:`Failed to checkout branch.`,description:gs(e)});return}}catch(e){oi.add({type:`error`,title:`Failed to create branch.`,description:gs(e)});return}ne(t),o(t,n),m(``)}))};(0,Z.useEffect)(()=>{i!==`worktree`||n||t||!O||o(O,null)},[t,n,O,i,o]);let le=(0,Z.useCallback)(e=>{if(d(e),!e){m(``);return}l.invalidateQueries({queryKey:mr.branches(r)})},[r,l]),ue=(0,Z.useRef)(null),de=(0,Z.useCallback)(()=>{if(!u||!w||T)return;let e=ue.current;e&&(e.scrollHeight-e.scrollTop-e.clientHeight>96||C().catch(()=>void 0))},[C,w,u,T]),W=v({count:ee.length,estimateSize:e=>ee[e]===I?44:28,getScrollElement:()=>ue.current,overscan:12,enabled:u&&ie,initialRect:{height:224,width:0}}),fe=W.getVirtualItems(),pe=(0,Z.useCallback)(e=>{ue.current=e?.parentElement??null,e&&W.measure()},[W]);(0,Z.useEffect)(()=>{!u||!ie||queueMicrotask(()=>{W.measure()})},[W,ee.length,u,ie]),(0,Z.useEffect)(()=>{u&&ue.current?.scrollTo({top:0})},[x,u]),(0,Z.useEffect)(()=>{let e=ue.current;if(!e||!u)return;let t=()=>{de()};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>{e.removeEventListener(`scroll`,t)}},[u,de]),(0,Z.useEffect)(()=>{de()},[D.length,de]);let me=_s({activeWorktreePath:n,effectiveEnvMode:i,resolvedActiveBranch:te});function he(t,n,r){if(I&&t===I)return(0,Q.jsx)(ds,{hideIndicator:!0,index:n,value:t,style:r,onClick:()=>{!N||!s||(d(!1),m(``),c?.(),s(N))},children:(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-col items-start py-1`,children:[(0,Q.jsx)(`span`,{className:`truncate font-medium`,children:`Checkout Pull Request`}),(0,Q.jsx)(`span`,{className:`truncate text-muted-foreground text-xs`,children:N})]})},t);if(z&&t===z)return(0,Q.jsx)(ds,{hideIndicator:!0,index:n,value:t,style:r,onClick:()=>ce(b),children:(0,Q.jsxs)(`span`,{className:`truncate`,children:[`Create new branch "`,b,`"`]})},t);let i=j.get(t);if(!i)return null;let a=i.worktreePath&&i.worktreePath!==e,o=i.current?`current`:a?`worktree`:i.isRemote?`remote`:i.isDefault?`default`:null;return(0,Q.jsx)(ds,{hideIndicator:!0,index:n,value:t,style:r,onClick:()=>se(i),children:(0,Q.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-2`,children:[(0,Q.jsx)(`span`,{className:`truncate`,children:t}),o&&(0,Q.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/45`,children:o})]})},t)}return(0,Q.jsxs)(ss,{items:B,filteredItems:ee,autoHighlight:!0,virtualized:ie,onItemHighlighted:(e,t)=>{!u||t.index<0||W.scrollToIndex(t.index,{align:`auto`})},onOpenChange:le,open:u,value:te,children:[(0,Q.jsxs)(ls,{className:U(Ui({size:`xs`,variant:`ghost`}),`h-auto gap-1.5 rounded-full py-1.5 font-medium transition-none hover:text-foreground/80 sm:h-auto sm:py-1.5`),disabled:E&&D.length===0||V,children:[(0,Q.jsx)(yn,{className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`max-w-[240px] truncate`,children:me}),(0,Q.jsx)(tr,{className:`size-3 opacity-50`})]}),(0,Q.jsxs)(us,{align:`end`,side:`top`,className:`w-80`,children:[(0,Q.jsx)(`div`,{className:`border-b p-1`,children:(0,Q.jsx)(cs,{className:`[&_input]:font-sans rounded-md`,inputClassName:`ring-0`,placeholder:`Search branches...`,showTrigger:!1,size:`sm`,value:f,onChange:e=>m(e.target.value)})}),(0,Q.jsx)(fs,{children:`No branches found.`}),(0,Q.jsx)(ps,{ref:pe,className:`max-h-56`,children:ie?(0,Q.jsx)(`div`,{className:`relative`,style:{height:`${W.getTotalSize()}px`},children:fe.map(e=>{let t=ee[e.index];return t?he(t,e.index,{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`}):null})}):ee.map((e,t)=>he(e,t))}),ae?(0,Q.jsx)(hs,{children:ae}):null]})]})}var ys=[{value:`local`,label:`Work locally`},{value:`worktree`,label:`New worktree`}];function bs(e){let t=(0,X.c)(56),{threadId:n,onEnvModeChange:r,envLocked:i,isGitRepo:a,onCheckoutPullRequestRequest:o,onComposerFocusRequest:s}=e,c=a===void 0?!0:a,l=ct(Ds),u=ct(Es),d=ct(Ts),f;t[0]===n?f=t[1]:(f=e=>e.getDraftThread(n),t[0]=n,t[1]=f);let p=vt(f),m=vt(ws),h=y(),g;if(t[2]!==n||t[3]!==l){let e;t[5]===n?e=t[6]:(e=e=>e.id===n,t[5]=n,t[6]=e),g=l.find(e),t[2]=n,t[3]=l,t[4]=g}else g=t[4];let _=g,v=_?.projectId??p?.projectId??null,b;if(t[7]!==v||t[8]!==u){let e;t[10]===v?e=t[11]:(e=e=>e.id===v,t[10]=v,t[11]=e),b=u.find(e),t[7]=v,t[8]=u,t[9]=b}else b=t[9];let x=b,S=_?.id??(p?n:void 0),C=_?.branch??p?.branch??null,w=_?.worktreePath??p?.worktreePath??null,T=w??x?.cwd??null,E=_!==void 0,D=p?.envMode,O;t[12]!==w||t[13]!==E||t[14]!==D?(O=Zo({activeWorktreePath:w,hasServerThread:E,draftThreadEnvMode:D}),t[12]=w,t[13]=E,t[14]=D,t[15]=O):O=t[15];let k=O,A;t[16]!==S||t[17]!==w||t[18]!==k||t[19]!==E||t[20]!==_?.session||t[21]!==m||t[22]!==d||t[23]!==n?(A=(e,t)=>{if(!S)return;let r=F();if(_?.session&&t!==w&&r&&r.orchestration.dispatchCommand({type:`thread.session.stop`,commandId:z(),threadId:S,createdAt:new Date().toISOString()}).catch(Cs),r&&E&&r.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:z(),threadId:S,branch:e,worktreePath:t}),E){d(S,e,t);return}m(n,{branch:e,worktreePath:t,envMode:Qo({nextWorktreePath:t,currentWorktreePath:w,effectiveEnvMode:k})})},t[16]=S,t[17]=w,t[18]=k,t[19]=E,t[20]=_?.session,t[21]=m,t[22]=d,t[23]=n,t[24]=A):A=t[24],_?.session;let j=A,M;t[25]!==v||t[26]!==S||t[27]!==h?(M=e=>{!e||e===v||pr({projectId:e,navigate:h,routeThreadId:S??null})},t[25]=v,t[26]=S,t[27]=h,t[28]=M):M=t[28];let N=M;if(!S||!x)return null;let P;t[29]!==x.id||t[30]!==x.name||t[31]!==N||t[32]!==E||t[33]!==u?(P=E?(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-transparent px-[calc(--spacing(3)-1px)] py-1.5 text-sm font-medium text-muted-foreground/70 sm:text-xs`,children:[(0,Q.jsx)(Vn,{className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:x.name})]}):(0,Q.jsxs)(qi,{value:x.id,onValueChange:e=>N(e),items:u.map(Ss),children:[(0,Q.jsxs)(Ki,{variant:`ghost`,size:`xs`,className:`h-auto gap-1.5 rounded-full py-1.5 font-medium transition-none sm:h-auto sm:py-1.5`,children:[(0,Q.jsx)(Yo,{}),(0,Q.jsx)(Ji,{className:`max-w-[10rem] truncate`})]}),(0,Q.jsx)(J,{children:u.map(xs)})]}),t[29]=x.id,t[30]=x.name,t[31]=N,t[32]=E,t[33]=u,t[34]=P):P=t[34];let I=P,L;t[35]!==w||t[36]!==k||t[37]!==i||t[38]!==c||t[39]!==r?(L=c?i||w?(0,Q.jsx)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-transparent px-[calc(--spacing(3)-1px)] py-1.5 text-sm font-medium text-muted-foreground/70 sm:text-xs`,children:w?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(yn,{className:`size-3`}),`Worktree`]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Jn,{className:`size-3.5`}),`Work locally`]})}):(0,Q.jsxs)(qi,{value:k,onValueChange:e=>r(e),items:ys,children:[(0,Q.jsxs)(Ki,{variant:`ghost`,size:`xs`,className:`h-auto gap-1.5 rounded-full py-1.5 font-medium transition-none sm:h-auto sm:py-1.5`,children:[k===`worktree`?(0,Q.jsx)(yn,{className:`size-3`}):(0,Q.jsx)(Jn,{className:`size-3.5`}),(0,Q.jsx)(Ji,{})]}),(0,Q.jsxs)(J,{children:[(0,Q.jsx)(Wi,{value:`local`,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(Jn,{className:`size-3.5`}),`Work locally`]})}),(0,Q.jsx)(Wi,{value:`worktree`,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(yn,{className:`size-3`}),`New worktree`]})})]})]}):(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-transparent px-[calc(--spacing(3)-1px)] py-1.5 text-sm font-medium text-muted-foreground/70 sm:text-xs`,children:[(0,Q.jsx)(Jn,{className:`size-3.5`}),`Work locally`]}),t[35]=w,t[36]=k,t[37]=i,t[38]=c,t[39]=r,t[40]=L):L=t[40];let R=L,B;t[41]!==x.cwd||t[42]!==C||t[43]!==w||t[44]!==T||t[45]!==k||t[46]!==i||t[47]!==c||t[48]!==o||t[49]!==s||t[50]!==j?(B=c?(0,Q.jsx)(vs,{activeProjectCwd:x.cwd,activeThreadBranch:C,activeWorktreePath:w,branchCwd:T,effectiveEnvMode:k,envLocked:i,onSetThreadBranch:j,...o?{onCheckoutPullRequestRequest:o}:{},...s?{onComposerFocusRequest:s}:{}}):null,t[41]=x.cwd,t[42]=C,t[43]=w,t[44]=T,t[45]=k,t[46]=i,t[47]=c,t[48]=o,t[49]=s,t[50]=j,t[51]=B):B=t[51];let ee=B,te;return t[52]!==ee||t[53]!==R||t[54]!==I?(te=(0,Q.jsxs)(Q.Fragment,{children:[I,R,ee]}),t[52]=ee,t[53]=R,t[54]=I,t[55]=te):te=t[55],te}function xs(e){return(0,Q.jsx)(Wi,{value:e.id,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(Vn,{className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]})},e.id)}function Ss(e){return{value:e.id,label:e.name}}function Cs(){}function ws(e){return e.setDraftThreadContext}function Ts(e){return e.setThreadBranch}function Es(e){return e.projects}function Ds(e){return e.threads}function Os(e){let t=(0,X.c)(3),{status:n}=e;if(n===`completed`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center text-emerald-500`,children:(0,Q.jsx)(hn,{className:`size-3`})}),t[0]=e):e=t[0],e}if(n===`inProgress`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center`,children:(0,Q.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary`})}),t[1]=e):e=t[1],e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center`,children:(0,Q.jsx)(`span`,{className:`size-1 rounded-full bg-muted-foreground/25`})}),t[2]=r):r=t[2],r}var ks=(0,Z.memo)(function(e){let t=(0,X.c)(56),{activePlan:n,activeProposedPlan:r,markdownCwd:i,workspaceRoot:a,timestampFormat:o,onClose:s}=e,[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(!1),{copyToClipboard:f,isCopied:p}=ui(),m=r?.planMarkdown??null,h;t[0]===m?h=t[1]:(h=m?Bo(m):null,t[0]=m,t[1]=h);let g=h,_;t[2]===m?_=t[3]:(_=m?zo(m):null,t[2]=m,t[3]=_);let v=_,y;t[4]!==f||t[5]!==m?(y=()=>{m&&f(m)},t[4]=f,t[5]=m,t[6]=y):y=t[6];let b=y,x;t[7]===m?x=t[8]:(x=()=>{m&&Jo(Ko(m),qo(m))},t[7]=m,t[8]=x);let S=x,C;t[9]!==m||t[10]!==a?(C=()=>{let e=F();if(!e||!a||!m)return;let t=Ko(m);d(!0),e.projects.writeFile({cwd:a,relativePath:t,contents:qo(m)}).then(As).catch(js).then(()=>d(!1),()=>d(!1))},t[9]=m,t[10]=a,t[11]=C):C=t[11];let w=C,T;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground/70`,children:`Plan`}),t[12]=T):T=t[12];let E;t[13]!==n||t[14]!==o?(E=n?(0,Q.jsx)(`span`,{className:`text-[11px] text-muted-foreground/40`,children:Yr(n.createdAt,o)}):null,t[13]=n,t[14]=o,t[15]=E):E=t[15];let D;t[16]===E?D=t[17]:(D=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[T,E]}),t[16]=E,t[17]=D);let O;t[18]!==b||t[19]!==S||t[20]!==w||t[21]!==p||t[22]!==u||t[23]!==m||t[24]!==a?(O=m?(0,Q.jsxs)(Ot,{children:[(0,Q.jsx)(ce,{render:(0,Q.jsx)(I,{size:`icon-xs`,variant:`ghost`,className:`text-muted-foreground/30 hover:text-muted-foreground/60`,"aria-label":`Plan actions`}),children:(0,Q.jsx)(Nn,{className:`size-3.5`})}),(0,Q.jsxs)(Fe,{align:`end`,children:[(0,Q.jsx)(Mt,{onClick:b,children:p?`Copied!`:`Copy to clipboard`}),(0,Q.jsx)(Mt,{onClick:S,children:`Download as markdown`}),(0,Q.jsx)(Mt,{onClick:w,disabled:!a||u,children:`Save to workspace`})]})]}):null,t[18]=b,t[19]=S,t[20]=w,t[21]=p,t[22]=u,t[23]=m,t[24]=a,t[25]=O):O=t[25];let k;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Q.jsx)(wn,{className:`size-3.5`}),t[26]=k):k=t[26];let A;t[27]===s?A=t[28]:(A=(0,Q.jsx)(I,{size:`icon-xs`,variant:`ghost`,onClick:s,"aria-label":`Close plan sidebar`,className:`text-muted-foreground/30 hover:text-muted-foreground/60`,children:k}),t[27]=s,t[28]=A);let j;t[29]!==A||t[30]!==O?(j=(0,Q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[O,A]}),t[29]=A,t[30]=O,t[31]=j):j=t[31];let M;t[32]!==j||t[33]!==D?(M=(0,Q.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center justify-between px-3`,children:[D,j]}),t[32]=j,t[33]=D,t[34]=M):M=t[34];let N;t[35]===n?N=t[36]:(N=n?.explanation?(0,Q.jsx)(`p`,{className:`text-[13px] leading-relaxed text-muted-foreground/60`,children:n.explanation}):null,t[35]=n,t[36]=N);let P;t[37]===n?P=t[38]:(P=n&&n.steps.length>0?(0,Q.jsx)(`div`,{className:`space-y-px`,children:n.steps.map(Ms)}):null,t[37]=n,t[38]=P);let L;t[39]!==g||t[40]!==i||t[41]!==m||t[42]!==v||t[43]!==c?(L=m?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsxs)(`button`,{type:`button`,className:`group flex w-full items-center gap-1 text-left`,onClick:()=>l(Ns),children:[c?(0,Q.jsx)(tr,{className:`size-3 shrink-0 text-muted-foreground/30`}):(0,Q.jsx)(rr,{className:`size-3 shrink-0 text-muted-foreground/30`}),(0,Q.jsx)(`span`,{className:`text-[11px] text-muted-foreground/40 group-hover:text-muted-foreground/60`,children:v??`Full plan`})]}),c?(0,Q.jsx)(`div`,{className:`border-l border-border/40 pl-3`,children:(0,Q.jsx)(Ri,{text:g??``,cwd:i,isStreaming:!1})}):null]}):null,t[39]=g,t[40]=i,t[41]=m,t[42]=v,t[43]=c,t[44]=L):L=t[44];let R;t[45]!==n||t[46]!==m?(R=!n&&!m?(0,Q.jsx)(`p`,{className:`py-10 text-center text-[13px] text-muted-foreground/30`,children:`No active plan`}):null,t[45]=n,t[46]=m,t[47]=R):R=t[47];let z;t[48]!==N||t[49]!==P||t[50]!==L||t[51]!==R?(z=(0,Q.jsx)(Sr,{className:`min-h-0 flex-1`,children:(0,Q.jsxs)(`div`,{className:`space-y-3 px-3 pb-3`,children:[N,P,L,R]})}),t[48]=N,t[49]=P,t[50]=L,t[51]=R,t[52]=z):z=t[52];let B;return t[53]!==M||t[54]!==z?(B=(0,Q.jsxs)(`div`,{className:`flex h-full w-[320px] shrink-0 flex-col border-l border-border/50`,children:[M,z]}),t[53]=M,t[54]=z,t[55]=B):B=t[55],B});function As(e){oi.add({type:`success`,title:`Plan saved`,description:e.relativePath})}function js(e){oi.add({type:`error`,title:`Could not save plan`,description:e instanceof Error?e.message:`An error occurred.`})}function Ms(e){return(0,Q.jsxs)(`div`,{className:`flex items-start gap-2 py-1.5`,children:[(0,Q.jsx)(`div`,{className:`mt-px`,children:(0,Q.jsx)(Os,{status:e.status})}),(0,Q.jsx)(`p`,{className:U(`text-[13px] leading-snug`,e.status===`completed`?`text-muted-foreground/35 line-through decoration-muted-foreground/15`:e.status===`inProgress`?`text-foreground/80`:`text-muted-foreground/55`),children:e.status===`inProgress`?(0,Q.jsx)(ii,{children:e.step}):e.step})]},`${e.status}:${e.step}`)}function Ns(e){return!e}var Ps=Yn;function Fs(e){let t=(0,X.c)(8),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;return t[4]!==n||t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Qn,{className:r,"data-slot":`popover-trigger`,...i,children:n}),t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Is(e){let t=(0,X.c)(29),n,r,i,a,o,s,c,l,u;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9]):({children:r,className:i,side:o,align:s,sideOffset:c,alignOffset:l,tooltipStyle:u,anchor:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u);let d=o===void 0?`bottom`:o,f=s===void 0?`center`:s,p=c===void 0?4:c,m=l===void 0?0:l,h=u===void 0?!1:u,g=h&&`w-fit text-balance rounded-md text-xs shadow-md/5 before:rounded-[calc(var(--radius-md)-1px)]`,_;t[10]!==i||t[11]!==g?(_=U(`relative flex h-(--popup-height,auto) w-(--popup-width,auto) origin-(--transform-origin) rounded-lg border bg-popover not-dark:bg-clip-padding text-popover-foreground shadow-lg/5 outline-none transition-[width,height,scale,opacity] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] has-data-[slot=calendar]:rounded-xl has-data-[slot=calendar]:before:rounded-[calc(var(--radius-xl)-1px)] data-starting-style:scale-98 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,g,i),t[10]=i,t[11]=g,t[12]=_):_=t[12];let v=h?`py-1 [--viewport-inline-padding:--spacing(2)]`:`not-data-transitioning:overflow-y-auto`,y;t[13]===v?y=t[14]:(y=U(`relative size-full max-h-(--available-height) overflow-clip px-(--viewport-inline-padding) py-4 [--viewport-inline-padding:--spacing(4)] has-data-[slot=calendar]:p-2 data-instant:transition-none **:data-current:data-ending-style:opacity-0 **:data-current:data-starting-style:opacity-0 **:data-previous:data-ending-style:opacity-0 **:data-previous:data-starting-style:opacity-0 **:data-current:w-[calc(var(--popup-width)-2*var(--viewport-inline-padding)-2px)] **:data-previous:w-[calc(var(--popup-width)-2*var(--viewport-inline-padding)-2px)] **:data-current:opacity-100 **:data-previous:opacity-100 **:data-current:transition-opacity **:data-previous:transition-opacity`,v),t[13]=v,t[14]=y);let b;t[15]!==r||t[16]!==y?(b=(0,Q.jsx)(qn,{className:y,"data-slot":`popover-viewport`,children:r}),t[15]=r,t[16]=y,t[17]=b):b=t[17];let x;t[18]!==a||t[19]!==b||t[20]!==_?(x=(0,Q.jsx)(ir,{className:_,"data-slot":`popover-popup`,...a,children:b}),t[18]=a,t[19]=b,t[20]=_,t[21]=x):x=t[21];let S;return t[22]!==f||t[23]!==m||t[24]!==n||t[25]!==d||t[26]!==p||t[27]!==x?(S=(0,Q.jsx)(Rn,{children:(0,Q.jsx)(Fn,{align:f,alignOffset:m,anchor:n,className:`z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom,transform] data-instant:transition-none`,"data-slot":`popover-positioner`,side:d,sideOffset:p,children:x})}),t[22]=f,t[23]=m,t[24]=n,t[25]=d,t[26]=p,t[27]=x,t[28]=S):S=t[28],S}var Ls=180,Rs=.75,zs=260;function Bs(){return typeof window>`u`?280:Math.max(Ls,Math.floor(window.innerHeight*Rs))}function Vs(e){let t=Number.isFinite(e)?e:280,n=Bs();return Math.min(Math.max(Math.round(t),Ls),n)}function Hs(e,t){e.write(`\r\n[terminal] ${t}\r\n`)}function Us(e,t){e.write(`\x1Bc`),t.history.length>0&&e.write(t.history)}function Ws(e,t,n=-1){return n>=0?e.filter(e=>e.id>n):e.filter(e=>e.event.createdAt>t?!0:e.event.createdAt<t?!1:e.id>n)}function Gs(e,t){return e.filter(e=>e.id>t)}function Ks(e){if(!e)return``;let t=Object.entries(e);return t.length===0?``:JSON.stringify(t.toSorted(([e],[t])=>e.localeCompare(t)))}function qs(){return Ai()}function Js(e){let t=window.getSelection();if(!t||t.rangeCount===0||t.isCollapsed)return null;let n=t.getRangeAt(0),r=n.commonAncestorContainer,i=r instanceof Element?r:r.parentElement;if(!(i instanceof Element)||!e.contains(i))return null;let a=Array.from(n.getClientRects()).filter(e=>e.width>0||e.height>0);if(a.length>0)return a[a.length-1]??null;let o=n.getBoundingClientRect();return o.width>0||o.height>0?o:null}function Ys(e){let{bounds:t,selectionRect:n,pointer:r,viewport:i}=e,a=i?.width??(typeof window>`u`?t.left+t.width+8:window.innerWidth),o=i?.height??(typeof window>`u`?t.top+t.height+8:window.innerHeight),s=Math.round(t.left),c=Math.round(t.top),l=Math.round(t.left+t.width),u=Math.round(t.top+t.height),d=n===null?r===null?Math.round(t.left+t.width-140):Math.max(s,Math.min(Math.round(r.x),l)):Math.round(n.right),f=n===null?r===null?Math.round(t.top+12):Math.max(c,Math.min(Math.round(r.y),u)):Math.round(n.bottom+4);return{x:Math.max(8,Math.min(d,Math.max(a-8,8))),y:Math.max(8,Math.min(f,Math.max(o-8,8)))}}function Xs(e){return e>=2?zs:0}function Zs(e,t){return e&&t===0}function Qs(e){return e.type!==`keydown`||e.isComposing?null:e.key===`Enter`||e.code===`NumpadEnter`?`\r`:null}function $s({threadId:e,terminalId:t,terminalLabel:n,cwd:r,runtimeEnv:i,onSessionExited:a,onAddTerminalContext:o,focusRequestId:s,autoFocus:c,resizeEpoch:l,drawerHeight:u}){let d=(0,Z.useRef)(null),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),m=(0,Z.useRef)(!1),h=(0,Z.useRef)(null),g=(0,Z.useRef)(!1),_=(0,Z.useRef)(0),v=(0,Z.useRef)(!1),y=(0,Z.useRef)(null),b=(0,Z.useRef)(0),x=(0,Z.useRef)(!1),S=(0,Z.useMemo)(()=>Ks(i),[i]),C=(0,Z.useEffectEvent)(()=>{a()}),w=(0,Z.useEffectEvent)(e=>{o(e)}),T=(0,Z.useEffectEvent)(()=>n);return(0,Z.useEffect)(()=>{let n=d.current;if(!n)return;let a=!1,o=new Zi,s=new O({cursorBlink:!0,lineHeight:1.2,fontSize:12,scrollback:5e3,fontFamily:`"Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace`,theme:qs()});s.loadAddon(o),s.open(n),o.fit(),f.current=s,p.current=o;let l=F();if(!l)return;let u=()=>{_.current+=1,y.current!==null&&(window.clearTimeout(y.current),y.current=null)},S=()=>{let e=f.current,n=d.current;if(!e||!n||!e.hasSelection())return null;let r=e.getSelection(),i=e.getSelectionPosition(),a=r.replace(/\r\n/g,`
|
|
250
|
-
`).replace(/^\n+|\n+$/g,``);if(!i||a.length===0)return null;let o=i.start.y+1,s=a.split(`
|
|
251
|
-
`).length,c=Math.max(o,o+s-1),l=n.getBoundingClientRect(),u=Js(n);return{position:Ys({bounds:l,selectionRect:u===null?null:{right:u.right,bottom:u.bottom},pointer:h.current}),selection:{terminalId:t,terminalLabel:T(),lineStart:o,lineEnd:c,text:a}}},E=async()=>{if(v.current)return;let e=S();if(!e){u();return}let t=++_.current;v.current=!0;try{let n=await l.contextMenu.show([{id:`add-to-chat`,label:`Add to chat`}],e.position);if(t!==_.current||n!==`add-to-chat`)return;w(e.selection),f.current?.clearSelection(),f.current?.focus()}finally{v.current=!1}},D=async(n,r)=>{let i=f.current;if(i)try{await l.terminal.write({threadId:e,terminalId:t,data:n})}catch(e){Hs(i,e instanceof Error?e.message:r)}};s.attachCustomKeyEventHandler(e=>{let t=Qs(e);if(t!==null)return e.preventDefault(),e.stopPropagation(),D(t,`Failed to submit terminal command`),!1;let n=Br(e);return n===null?Rr(e)?(e.preventDefault(),e.stopPropagation(),D(`\f`,`Failed to clear terminal`),!1):!0:(e.preventDefault(),e.stopPropagation(),D(n,`Failed to move cursor`),!1)});let k=s.registerLinkProvider({provideLinks:(e,t)=>{let n=f.current;if(!n){t(void 0);return}let i=n.buffer.active.getLine(e-1);if(!i){t(void 0);return}let a=ki(i.translateToString(!0));if(a.length===0){t(void 0);return}t(a.map(t=>({text:t.text,range:{start:{x:t.start+1,y:e},end:{x:t.end,y:e}},activate:e=>{if(!wi(e))return;let n=f.current;if(n){if(t.kind===`url`){l.shell.openExternal(t.text).catch(e=>{Hs(n,e instanceof Error?e.message:`Unable to open link`)});return}mi(l,Ti(t.text,r)).catch(e=>{Hs(n,e instanceof Error?e.message:`Unable to open path`)})}}})))}}),A=s.onData(n=>{l.terminal.write({threadId:e,terminalId:t,data:n}).catch(e=>Hs(s,e instanceof Error?e.message:`Terminal write failed`))}),j=s.onSelectionChange(()=>{f.current?.hasSelection()||u()}),M=e=>{let t=Zs(g.current,e.button);if(g.current=!1,!t)return;h.current={x:e.clientX,y:e.clientY};let n=Xs(e.detail);y.current=window.setTimeout(()=>{y.current=null,window.requestAnimationFrame(()=>{E()})},n)},N=e=>{u(),g.current=e.button===0};window.addEventListener(`mouseup`,M),n.addEventListener(`pointerdown`,N);let P=new MutationObserver(()=>{let e=f.current;e&&(e.options.theme=qs(),e.refresh(0,e.rows-1))});P.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`,`style`]});let I=e=>{let t=f.current;if(!t||e.type===`activity`)return;if(e.type===`output`){t.write(e.data),u();return}if(e.type===`started`||e.type===`restarted`){m.current=!1,u(),Us(t,e.snapshot);return}if(e.type===`cleared`){u(),t.clear(),t.write(`\x1Bc`);return}if(e.type===`error`){Hs(t,e.message);return}let n=[typeof e.exitCode==`number`?`code ${e.exitCode}`:null,typeof e.exitSignal==`number`?`signal ${e.exitSignal}`:null].filter(e=>e!==null).join(`, `);Hs(t,n.length>0?`Process exited (${n})`:`Process exited`),!m.current&&(m.current=!0,window.setTimeout(()=>{m.current&&C()},0))},L=e=>{let t=Gs(e,b.current);if(t.length!==0){for(let e of t)I(e.event);b.current=t.at(-1)?.id??b.current}},R=Rt.subscribe((n,r)=>{if(!x.current)return;let i=zt(r.terminalEventEntriesByKey,e,t).at(-1)?.id??0,a=zt(n.terminalEventEntriesByKey,e,t);(a.at(-1)?.id??0)!==i&&L(a)}),z=async()=>{try{let n=f.current,o=p.current;if(!n||!o)return;let s=zt(Rt.getState().terminalEventEntriesByKey,e,t).at(-1)?.id??0;o.fit();let u=await l.terminal.open({threadId:e,terminalId:t,cwd:r,cols:n.cols,rows:n.rows,...i?{env:i}:{}});if(a)return;Us(n,u);let d=zt(Rt.getState().terminalEventEntriesByKey,e,t),m=Ws(d,u.updatedAt,s);for(let e of m)I(e.event);b.current=d.at(-1)?.id??0,x.current=!0,c&&window.requestAnimationFrame(()=>{n.focus()})}catch(e){if(a)return;Hs(s,e instanceof Error?e.message:`Failed to open terminal`)}},B=window.setTimeout(()=>{let n=f.current,r=p.current;if(!n||!r)return;let i=n.buffer.active.viewportY>=n.buffer.active.baseY;r.fit(),i&&n.scrollToBottom(),l.terminal.resize({threadId:e,terminalId:t,cols:n.cols,rows:n.rows}).catch(()=>void 0)},30);return z(),()=>{a=!0,x.current=!1,b.current=0,R(),window.clearTimeout(B),A.dispose(),j.dispose(),k.dispose(),y.current!==null&&window.clearTimeout(y.current),window.removeEventListener(`mouseup`,M),n.removeEventListener(`pointerdown`,N),P.disconnect(),f.current=null,p.current=null,s.dispose()}},[r,S,t,e]),(0,Z.useEffect)(()=>{if(!c)return;let e=f.current;if(!e)return;let t=window.requestAnimationFrame(()=>{e.focus()});return()=>{window.cancelAnimationFrame(t)}},[c,s]),(0,Z.useEffect)(()=>{let n=F(),r=f.current,i=p.current;if(!n||!r||!i)return;let a=r.buffer.active.viewportY>=r.buffer.active.baseY,o=window.requestAnimationFrame(()=>{i.fit(),a&&r.scrollToBottom(),n.terminal.resize({threadId:e,terminalId:t,cols:r.cols,rows:r.rows}).catch(()=>void 0)});return()=>{window.cancelAnimationFrame(o)}},[u,l,t,e]),(0,Q.jsx)(`div`,{ref:d,className:`relative h-full w-full overflow-hidden rounded-[4px]`})}function ec(e){let t=(0,X.c)(12),{label:n,className:r,onClick:i,children:a}=e,o;t[0]!==r||t[1]!==n||t[2]!==i?(o=(0,Q.jsx)(`button`,{type:`button`,className:r,onClick:i,"aria-label":n}),t[0]=r,t[1]=n,t[2]=i,t[3]=o):o=t[3];let s;t[4]!==a||t[5]!==o?(s=(0,Q.jsx)(Fs,{openOnHover:!0,render:o,children:a}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;t[7]===n?c=t[8]:(c=(0,Q.jsx)(Is,{tooltipStyle:!0,side:`bottom`,sideOffset:6,align:`center`,className:`pointer-events-none select-none`,children:n}),t[7]=n,t[8]=c);let l;return t[9]!==s||t[10]!==c?(l=(0,Q.jsxs)(Ps,{children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function tc({threadId:e,cwd:t,runtimeEnv:n,visible:r=!0,height:i,terminalIds:a,activeTerminalId:o,terminalGroups:s,activeTerminalGroupId:c,focusRequestId:l,onSplitTerminal:u,onNewTerminal:d,splitShortcutLabel:f,newShortcutLabel:p,closeShortcutLabel:m,onActiveTerminalChange:h,onCloseTerminal:g,onHeightChange:_,onAddTerminalContext:v}){let[y,b]=(0,Z.useState)(()=>Vs(i)),[x,S]=(0,Z.useState)(0),C=(0,Z.useRef)(y),w=(0,Z.useRef)(Vs(i)),T=(0,Z.useRef)(_),E=(0,Z.useRef)(null),D=(0,Z.useRef)(!1),O=(0,Z.useMemo)(()=>{let e=[...new Set(a.map(e=>e.trim()).filter(e=>e.length>0))];return e.length>0?e:[St]},[a]),k=O.includes(o)?o:O[0]??`default`,A=(0,Z.useMemo)(()=>{let e=new Set(O),t=new Set,n=new Set,r=[],i=e=>{if(!n.has(e))return n.add(e),e;let t=2;for(;n.has(`${e}-${t}`);)t+=1;let r=`${e}-${t}`;return n.add(r),r};for(let n of s){let a=[...new Set(n.terminalIds.map(e=>e.trim()).filter(e=>e.length>0))].filter(n=>!(!e.has(n)||t.has(n)));if(a.length===0)continue;for(let e of a)t.add(e);let o=n.id.trim().length>0?n.id.trim():`group-${a[0]??`default`}`;r.push({id:i(o),terminalIds:a})}for(let e of O)t.has(e)||r.push({id:i(`group-${e}`),terminalIds:[e]});return r.length>0?r:[{id:`group-${k}`,terminalIds:[k]}]},[O,k,s]),j=A[(0,Z.useMemo)(()=>{let e=A.findIndex(e=>e.id===c);if(e>=0)return e;let t=A.findIndex(e=>e.terminalIds.includes(k));return t>=0?t:0},[c,k,A])]?.terminalIds??[k],M=O.length>1,N=j.length>1,P=A.length>1||A.some(e=>e.terminalIds.length>1),F=j.length>=4,I=(0,Z.useMemo)(()=>new Map(O.map((e,t)=>[e,`Terminal ${t+1}`])),[O]),L=F?`Split Terminal (max 4 per group)`:f?`Split Terminal (${f})`:`Split Terminal`,R=p?`New Terminal (${p})`:`New Terminal`,z=m?`Close Terminal (${m})`:`Close Terminal`,B=(0,Z.useCallback)(()=>{F||u()},[F,u]),ee=(0,Z.useCallback)(()=>{d()},[d]);(0,Z.useEffect)(()=>{T.current=_},[_]),(0,Z.useEffect)(()=>{C.current=y},[y]);let te=(0,Z.useCallback)(e=>{let t=Vs(e);w.current!==t&&(w.current=t,T.current(t))},[]);(0,Z.useEffect)(()=>{let e=Vs(i);b(e),C.current=e,w.current=e},[i,e]);let ne=(0,Z.useCallback)(e=>{e.button===0&&(e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),D.current=!1,E.current={pointerId:e.pointerId,startY:e.clientY,startHeight:C.current})},[]),V=(0,Z.useCallback)(e=>{let t=E.current;if(!t||t.pointerId!==e.pointerId)return;e.preventDefault();let n=Vs(t.startHeight+(t.startY-e.clientY));n!==C.current&&(D.current=!0,C.current=n,b(n))},[]),re=(0,Z.useCallback)(e=>{let t=E.current;!t||t.pointerId!==e.pointerId||(E.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),D.current&&(te(C.current),S(e=>e+1)))},[te]);return(0,Z.useEffect)(()=>{if(!r)return;let e=()=>{let e=Vs(C.current);e!==C.current&&(b(e),C.current=e),E.current||te(e),S(e=>e+1)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[te,r]),(0,Z.useEffect)(()=>{r&&S(e=>e+1)},[r]),(0,Z.useEffect)(()=>()=>{te(C.current)},[te]),(0,Q.jsxs)(`aside`,{className:`thread-terminal-drawer relative flex min-w-0 shrink-0 flex-col overflow-hidden border-t border-border/80 bg-background`,style:{height:`${y}px`},children:[(0,Q.jsx)(`div`,{className:`absolute inset-x-0 top-0 z-20 h-1.5 cursor-row-resize`,onPointerDown:ne,onPointerMove:V,onPointerUp:re,onPointerCancel:re}),!M&&(0,Q.jsx)(`div`,{className:`pointer-events-none absolute right-2 top-2 z-20`,children:(0,Q.jsxs)(`div`,{className:`pointer-events-auto inline-flex items-center overflow-hidden rounded-md border border-border/80 bg-background/70`,children:[(0,Q.jsx)(ec,{className:`p-1 text-foreground/90 transition-colors ${F?`cursor-not-allowed opacity-45 hover:bg-transparent`:`hover:bg-accent`}`,onClick:B,label:L,children:(0,Q.jsx)(Yt,{className:`size-3.25`})}),(0,Q.jsx)(`div`,{className:`h-4 w-px bg-border/80`}),(0,Q.jsx)(ec,{className:`p-1 text-foreground/90 transition-colors hover:bg-accent`,onClick:ee,label:R,children:(0,Q.jsx)(Qt,{className:`size-3.25`})}),(0,Q.jsx)(`div`,{className:`h-4 w-px bg-border/80`}),(0,Q.jsx)(ec,{className:`p-1 text-foreground/90 transition-colors hover:bg-accent`,onClick:()=>g(k),label:z,children:(0,Q.jsx)(cn,{className:`size-3.25`})})]})}),(0,Q.jsx)(`div`,{className:`min-h-0 w-full flex-1`,children:(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 ${M?`gap-1.5`:``}`,children:[(0,Q.jsx)(`div`,{className:`min-w-0 flex-1`,children:N?(0,Q.jsx)(`div`,{className:`grid h-full w-full min-w-0 gap-0 overflow-hidden`,style:{gridTemplateColumns:`repeat(${j.length}, minmax(0, 1fr))`},children:j.map(r=>(0,Q.jsx)(`div`,{className:`min-h-0 min-w-0 border-l first:border-l-0 ${r===k?`border-border`:`border-border/70`}`,onMouseDown:()=>{r!==k&&h(r)},children:(0,Q.jsx)(`div`,{className:`h-full p-1`,children:(0,Q.jsx)($s,{threadId:e,terminalId:r,terminalLabel:I.get(r)??`Terminal`,cwd:t,...n?{runtimeEnv:n}:{},onSessionExited:()=>g(r),onAddTerminalContext:v,focusRequestId:l,autoFocus:r===k,resizeEpoch:x,drawerHeight:y})})},r))}):(0,Q.jsx)(`div`,{className:`h-full p-1`,children:(0,Q.jsx)($s,{threadId:e,terminalId:k,terminalLabel:I.get(k)??`Terminal`,cwd:t,...n?{runtimeEnv:n}:{},onSessionExited:()=>g(k),onAddTerminalContext:v,focusRequestId:l,autoFocus:!0,resizeEpoch:x,drawerHeight:y},k)})}),M&&(0,Q.jsxs)(`aside`,{className:`flex w-40 min-w-40 flex-col border-l border-border/60 bg-background/50 text-[11px]`,children:[(0,Q.jsxs)(`div`,{className:`flex h-[22px] items-center justify-end gap-px border-b border-border/60 px-1`,children:[(0,Q.jsx)(ec,{className:`inline-flex size-[18px] items-center justify-center rounded-sm text-muted-foreground transition-colors ${F?`cursor-not-allowed opacity-35`:`hover:bg-accent hover:text-foreground`}`,onClick:B,label:L,children:(0,Q.jsx)(Yt,{className:`size-3`})}),(0,Q.jsx)(ec,{className:`inline-flex size-[18px] items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,onClick:ee,label:R,children:(0,Q.jsx)(Qt,{className:`size-3`})}),(0,Q.jsx)(ec,{className:`inline-flex size-[18px] items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive-foreground`,onClick:()=>g(k),label:z,children:(0,Q.jsx)(cn,{className:`size-3`})})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-1`,children:A.map((e,t)=>{let n=e.terminalIds.includes(k),r=n?k:e.terminalIds[0]??k;return(0,Q.jsxs)(`div`,{className:t>0?`mt-1 border-t border-border/40 pt-1`:``,children:[P&&(0,Q.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-1 rounded-sm px-1 py-0.5 transition-colors ${n?`bg-accent text-foreground`:`text-muted-foreground hover:bg-accent/50 hover:text-foreground`}`,onClick:()=>h(r),children:[(0,Q.jsx)(bn,{className:`size-3 shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.terminalIds.length>1?`Split ${t+1}`:`Terminal ${t+1}`})]}),P&&e.terminalIds.length>1&&(0,Q.jsx)(`div`,{className:`ml-1 border-l border-border/60 pl-1.5 mt-px space-y-px`,children:e.terminalIds.map(e=>{let t=e===k,n=`Close ${I.get(e)??`terminal`}${t&&m?` (${m})`:``}`;return(0,Q.jsxs)(`div`,{className:`group flex items-center rounded-sm transition-colors ${t?`bg-accent text-foreground`:`text-muted-foreground hover:bg-accent/50 hover:text-foreground`}`,children:[(0,Q.jsx)(`span`,{className:`pl-0.5 leading-none text-muted-foreground/70`,children:`└`}),(0,Q.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-1 py-0.5 text-left`,onClick:()=>h(e),children:[(0,Q.jsx)(bn,{className:`size-3 shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:I.get(e)??`Terminal`})]}),O.length>1&&(0,Q.jsxs)(Ps,{children:[(0,Q.jsx)(Fs,{openOnHover:!0,render:(0,Q.jsx)(`button`,{type:`button`,className:`mr-0.5 inline-flex size-4 items-center justify-center rounded-sm text-muted-foreground/70 opacity-0 transition hover:bg-accent hover:text-foreground group-hover:opacity-100`,onClick:()=>g(e),"aria-label":n}),children:(0,Q.jsx)(wn,{className:`size-2.5`})}),(0,Q.jsx)(Is,{tooltipStyle:!0,side:`bottom`,sideOffset:6,align:`center`,className:`pointer-events-none select-none`,children:n})]})]},e)})}),(!P||e.terminalIds.length===1)&&e.terminalIds.map(e=>{let t=e===k,n=`Close ${I.get(e)??`terminal`}${t&&m?` (${m})`:``}`;return!P&&(0,Q.jsxs)(`div`,{className:`group flex items-center rounded-sm transition-colors ${t?`bg-accent text-foreground`:`text-muted-foreground hover:bg-accent/50 hover:text-foreground`}`,children:[(0,Q.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-1.5 px-1.5 py-0.5 text-left`,onClick:()=>h(e),children:[(0,Q.jsx)(bn,{className:`size-3 shrink-0 opacity-60`}),(0,Q.jsx)(`span`,{className:`truncate`,children:I.get(e)??`Terminal`})]}),O.length>1&&(0,Q.jsxs)(Ps,{children:[(0,Q.jsx)(Fs,{openOnHover:!0,render:(0,Q.jsx)(`button`,{type:`button`,className:`mr-0.5 inline-flex size-4 items-center justify-center rounded-sm text-muted-foreground/70 opacity-0 transition hover:bg-accent hover:text-foreground group-hover:opacity-100`,onClick:()=>g(e),"aria-label":n}),children:(0,Q.jsx)(wn,{className:`size-2.5`})}),(0,Q.jsx)(Is,{tooltipStyle:!0,side:`bottom`,sideOffset:6,align:`center`,className:`pointer-events-none select-none`,children:n})]})]},e)})]},e.id)})})]})]})})]})}function nc(e){return e&&typeof e==`object`?e:null}function rc(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function ic(e){return typeof e==`boolean`?e:null}function ac(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(!n||n.kind!==`context-window.updated`)continue;let r=nc(n.payload),i=rc(r?.usedTokens);if(i===null||i<=0)continue;let a=rc(r?.maxTokens),o=a!==null&&a>0?Math.min(100,i/a*100):null,s=a===null?null:Math.max(0,Math.round(a-i)),c=o===null?null:Math.max(0,100-o);return{usedTokens:i,totalProcessedTokens:rc(r?.totalProcessedTokens),maxTokens:a,remainingTokens:s,usedPercentage:o,remainingPercentage:c,inputTokens:rc(r?.inputTokens),cachedInputTokens:rc(r?.cachedInputTokens),outputTokens:rc(r?.outputTokens),reasoningOutputTokens:rc(r?.reasoningOutputTokens),lastUsedTokens:rc(r?.lastUsedTokens),lastInputTokens:rc(r?.lastInputTokens),lastCachedInputTokens:rc(r?.lastCachedInputTokens),lastOutputTokens:rc(r?.lastOutputTokens),lastReasoningOutputTokens:rc(r?.lastReasoningOutputTokens),toolUses:rc(r?.toolUses),durationMs:rc(r?.durationMs),compactsAutomatically:ic(r?.compactsAutomatically)??!1,updatedAt:n.createdAt}}return null}function oc(e){return e===null||!Number.isFinite(e)?`0`:e<1e3?`${Math.round(e)}`:e<1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,``)}k`:e<1e6?`${Math.round(e/1e3)}k`:`${(e/1e6).toFixed(1).replace(/\.0$/,``)}m`}var sc=8,cc=.5;function lc(e,t){let n=t?.hasWideActions?780:620;return e!==null&&e<n}function uc(e,t){return t?.hasWideActions?e!==null&&e<780:!1}function dc(e){let t=e.footerContentWidth,n=e.leadingContentWidth,r=e.actionsWidth;return t===null||n===null||r===null?null:Math.max(0,n+r+sc-t)}function fc(e){let t=dc(e);return t===null?!1:t>cc}function pc(e){let t=e.footerWidth,n=e.paddingLeft,r=e.paddingRight;return t===null||n===null||r===null?null:Math.max(0,t-n-r)}var mc={text:``,linewise:!1},hc=``;function gc(e=`insert`){return{mode:e,countBuffer:``,pendingOperator:null,pendingGCount:null,register:mc,visualAnchor:null,awaitingReplace:null}}function _c(e){return{mode:e.mode,countBuffer:e.countBuffer,pendingOperator:e.pendingOperator?{...e.pendingOperator}:null,pendingGCount:e.pendingGCount,register:{...e.register},visualAnchor:e.visualAnchor,awaitingReplace:e.awaitingReplace?{...e.awaitingReplace}:null}}function vc(e){let t=ho(e),n=[],r=0,i=0;for(let e of t){if(e.type===`text`){let t=e.text.length;n.push({collapsedStart:i,collapsedEnd:i+t,expandedStart:r,expandedEnd:r+t,text:e.text}),i+=t,r+=t;continue}let t=e.type===`mention`?`@${e.path}`:hc;n.push({collapsedStart:i,collapsedEnd:i+1,expandedStart:r,expandedEnd:r+t.length,text:hc}),i+=1,r+=t.length}return n}function yc(e){return e.map(e=>e.text).join(``)}function bc(e){return yc(vc(e)).length}function xc(e,t){if(e.length===0)return 0;for(let n of e){if(t<=n.collapsedStart)return n.expandedStart;if(!(t>=n.collapsedEnd))return n.text===hc?t<=n.collapsedStart?n.expandedStart:n.expandedEnd:n.expandedStart+(t-n.collapsedStart)}return e[e.length-1]?.expandedEnd??0}function Sc(e,t=1){if(!e)return t;let n=Number.parseInt(e,10);return!Number.isFinite(n)||n<=0?t:Math.min(n,999)}function Cc(e){return{...e,countBuffer:``,pendingOperator:null,pendingGCount:null,awaitingReplace:null}}function wc(e,t,n,r=null){return{handled:!0,state:e,text:t,cursor:Eo(t,n),selection:r}}function Tc(e,t,n){return{handled:!1,state:e,text:t,cursor:n,selection:null}}function Ec(e){return/^[0-9]$/.test(e)}function Dc(e){return e===`Alt`||e===`Control`||e===`Meta`||e===`Shift`}function Oc(e){return e===void 0||/\s/.test(e)}function kc(e){return e!==void 0&&!/\s/.test(e)}function Ac(e,t){return e.lastIndexOf(`
|
|
252
|
-
`,Math.max(0,t-1))+1}function jc(e,t){let n=e.indexOf(`
|
|
253
|
-
`,t);return n===-1?e.length:n}function Mc(e,t){let n=Ac(e,t),r=jc(e,t);return Math.max(n,r-1)}function Nc(e,t){let n=jc(e,t);return n<e.length?n+1:n}function Pc(e,t){let n=Ac(e,t),r=jc(e,t),i=n;for(;i<r&&(e[i]===` `||e[i]===` `);)i+=1;return i}function Fc(e,t,n){let r=Ac(e,t),i=Math.max(0,t-r),a=r;if(n>0)for(let t=0;t<n;t+=1){let t=Nc(e,a);if(t>=e.length)break;a=t}else for(let t=0;t<Math.abs(n)&&!(a<=0);t+=1)a=Ac(e,a-1);let o=jc(e,a);return Math.min(a+i,Math.max(a,o-1))}function Ic(e,t){let n=Math.min(t,e.length);if(n<e.length&&kc(e[n]))for(;n<e.length&&kc(e[n]);)n+=1;for(;n<e.length&&Oc(e[n]);)n+=1;return n}function Lc(e,t){let n=Math.max(0,t-1);for(;n>0&&Oc(e[n]);)--n;for(;n>0&&kc(e[n-1]);)--n;return n}function Rc(e,t){let n=Math.min(t,Math.max(0,e.length-1));if(Oc(e[n]))for(;n<e.length&&Oc(e[n]);)n+=1;else n+1<e.length&&kc(e[n+1])&&(n+=1);for(;n+1<e.length&&kc(e[n+1]);)n+=1;return Math.min(Math.max(0,e.length-1),n)}function zc(e,t,n,r){let i=t,a=Math.max(1,r);for(let t=0;t<a;t+=1)n===`h`||n===`ArrowLeft`?i=Math.max(0,i-1):n===`l`||n===`ArrowRight`?i=Math.min(Math.max(0,e.length-1),i+1):n===`j`||n===`ArrowDown`?i=Fc(e,i,1):n===`k`||n===`ArrowUp`?i=Fc(e,i,-1):n===`0`?i=Ac(e,i):n===`^`?i=Pc(e,i):n===`$`?i=Mc(e,i):n===`w`||n===`W`?i=Ic(e,i):n===`b`||n===`B`?i=Lc(e,i):n===`e`||n===`E`?i=Rc(e,i):n===`G`?i=Ac(e,e.length):n===`g`&&(i=0);return i}function Bc(e,t,n){let r=Ac(e,t),i=r;for(let t=0;t<Math.max(1,n)&&(i=Nc(e,i),!(i>=e.length));t+=1);return{start:r,end:i}}function Vc(e,t,n,r){return r?{start:Ac(e,Math.min(t,n)),end:Nc(e,Math.max(t,n))}:{start:Math.min(t,n),end:Math.min(e.length,Math.max(t,n)+1)}}function Hc(e){let t=vc(e.text),n=Math.max(0,Math.min(e.start,e.end)),r=Math.max(n,e.end),i=xc(t,n),a=xc(t,r);return{text:`${e.text.slice(0,i)}${e.replacement}${e.text.slice(a)}`,cursor:n+bc(e.replacement),removed:e.text.slice(i,a)}}function Uc(e,t,n,r){if(e!==`visual`&&e!==`visual-line`)return null;let i=Vc(t,n??r,r,e===`visual-line`);return{anchor:i.start,focus:i.end}}function Wc(e,t,n){return{state:{...Cc(e),mode:t,visualAnchor:t===`visual`||t===`visual-line`?n:null},cursor:n}}function Gc(e){let t=e.before?Ac(e.text,e.cursor):Nc(e.text,e.cursor),n=(e.register.text.endsWith(`
|
|
254
|
-
`)?e.register.text:`${e.register.text}\n`).repeat(Math.max(1,e.count));return{text:Hc({text:e.text,start:t,end:t,replacement:n}).text,cursor:t}}function Kc(e){let t=e.before?e.cursor:Math.min(bc(e.text),e.cursor+1),n=e.register.text.repeat(Math.max(1,e.count)),r=Hc({text:e.text,start:t,end:t,replacement:n});return{text:r.text,cursor:Math.max(t,r.cursor-1)}}function qc(e){let{state:t,text:n,range:r,operator:i,linewise:a}=e,o=Math.max(0,Math.min(r.start,r.end)),s=Math.max(o,r.end),c=Hc({text:n,start:o,end:s,replacement:``});if(i===`yank`){let e=vc(n),r=xc(e,o),i=xc(e,s);return wc(Cc({...t,mode:`normal`,visualAnchor:null,register:{text:n.slice(r,i),linewise:a}}),n,o)}let l=i===`change`?`insert`:`normal`,u=Math.max(0,Math.min(o,bc(c.text)-1));return wc(Cc({...t,mode:l,visualAnchor:null,register:{text:c.removed,linewise:a}}),c.text,u)}function Jc(e,t,n,r){let i=zc(e,t,n,r);return n===`$`||n===`e`||n===`E`?{start:Math.min(t,i),end:Math.min(e.length,Math.max(t,i)+1),destination:i}:{start:Math.min(t,i),end:Math.max(t,i),destination:i}}function Yc(e){return e===`h`||e===`j`||e===`k`||e===`l`||e===`ArrowLeft`||e===`ArrowDown`||e===`ArrowUp`||e===`ArrowRight`||e===`0`||e===`^`||e===`$`||e===`w`||e===`W`||e===`b`||e===`B`||e===`e`||e===`E`||e===`g`||e===`G`}function Xc(e,t){if(e.key===`Escape`||e.ctrlKey&&e.key===`[`){let n=Wc(t,`normal`,Math.max(0,Eo(e.text,e.cursor)-1));return wc(n.state,e.text,n.cursor)}return Tc(t,e.text,e.cursor)}function Zc(e,t){let n=yc(vc(e.text)),r=Eo(e.text,e.cursor);if(e.key===`Escape`||e.ctrlKey&&e.key===`[`)return wc(Wc(t,`normal`,r).state,e.text,r);if(e.key===`y`||e.key===`d`||e.key===`c`){let i=e.key===`y`?`yank`:e.key===`d`?`delete`:`change`,a=Vc(n,t.visualAnchor??r,r,t.mode===`visual-line`);return qc({state:t,text:e.text,range:a,operator:i,linewise:t.mode===`visual-line`})}if(Yc(e.key)){let i=zc(n,r,e.key,Sc(t.countBuffer)),a={...t,countBuffer:``};return wc(a,e.text,i,Uc(a.mode,n,a.visualAnchor,i))}return Ec(e.key)&&(e.key!==`0`||t.countBuffer.length>0)?wc({...t,countBuffer:`${t.countBuffer}${e.key}`,pendingGCount:null},e.text,r):wc({...t,countBuffer:``},e.text,r,Uc(t.mode,n,t.visualAnchor,r))}function Qc(e,t){let n=_c(t),r=yc(vc(e.text)),i=Eo(e.text,e.cursor);if(Dc(e.key))return Tc(n,e.text,i);if(n.mode===`insert`)return Xc(e,n);if(n.mode===`visual`||n.mode===`visual-line`)return Zc(e,n);if(n.awaitingReplace){if(e.key.length!==1||e.ctrlKey)return wc({...n,awaitingReplace:null},e.text,i);let t=Hc({text:e.text,start:i,end:Math.min(r.length,i+n.awaitingReplace.count),replacement:e.key.repeat(n.awaitingReplace.count)});return wc(Cc(n),t.text,i)}if(e.key===`Escape`||e.ctrlKey&&e.key===`[`)return wc(Cc({...n,mode:`normal`,visualAnchor:null}),e.text,i);if(e.key===`u`&&!e.ctrlKey)return{...wc(Cc(n),e.text,i),undo:!0};if(e.ctrlKey&&e.key.toLowerCase()===`r`)return{...wc(Cc(n),e.text,i),redo:!0};if(Ec(e.key)&&(e.key!==`0`||n.countBuffer.length>0))return wc({...n,countBuffer:`${n.countBuffer}${e.key}`,pendingGCount:null},e.text,i);let a=Sc(n.countBuffer);if(n.pendingGCount!==null)return e.key===`g`?wc(Cc(n),e.text,0):wc(Cc(n),e.text,i);if(n.pendingOperator){let t=n.pendingOperator.count*a,o={...n,countBuffer:``};if(n.pendingOperator.operator===`delete`&&e.key===`d`||n.pendingOperator.operator===`change`&&e.key===`c`||n.pendingOperator.operator===`yank`&&e.key===`y`)return qc({state:o,text:e.text,range:Bc(r,i,t),operator:n.pendingOperator.operator,linewise:!0});if(Yc(e.key)){let a=Jc(r,i,e.key,t);if(n.pendingOperator.operator===`yank`&&(e.key===`w`||e.key===`W`))for(;a.end>a.start&&/\s/.test(r[a.end-1]??``);)--a.end;return qc({state:o,text:e.text,range:a,operator:n.pendingOperator.operator,linewise:!1})}return wc(Cc(n),e.text,i)}if(Yc(e.key)){if(e.key===`g`)return wc({...n,countBuffer:``,pendingOperator:null,pendingGCount:a},e.text,i);let t=zc(r,i,e.key,a);return wc({...n,countBuffer:``},e.text,t)}if(e.key===`i`){let t=Wc(n,`insert`,i);return wc(t.state,e.text,t.cursor)}if(e.key===`a`){let t=Wc(n,`insert`,Math.min(r.length,i+1));return wc(t.state,e.text,t.cursor)}if(e.key===`I`){let t=Wc(n,`insert`,Pc(r,i));return wc(t.state,e.text,t.cursor)}if(e.key===`A`){let t=Wc(n,`insert`,jc(r,i));return wc(t.state,e.text,t.cursor)}if(e.key===`o`||e.key===`O`){let t=jc(r,i),a=e.key===`o`?Nc(r,i):Ac(r,i);e.key;let o=Hc({text:e.text,start:a,end:a,replacement:`
|
|
255
|
-
`}),s=e.key===`o`&&t===r.length?a+1:a;return wc(Wc(n,`insert`,s).state,o.text,s)}if(e.key===`v`||e.key===`V`){let t=Wc(n,e.key===`v`?`visual`:`visual-line`,i);return wc(t.state,e.text,i,Uc(t.state.mode,r,t.state.visualAnchor,i))}if(e.key===`x`)return qc({state:n,text:e.text,range:{start:i,end:Math.min(r.length,i+a)},operator:`delete`,linewise:!1});if(e.key===`X`)return qc({state:n,text:e.text,range:{start:Math.max(0,i-a),end:i},operator:`delete`,linewise:!1});if(e.key===`D`||e.key===`C`)return qc({state:n,text:e.text,range:{start:i,end:jc(r,i)},operator:e.key===`D`?`delete`:`change`,linewise:!1});if(e.key===`Y`)return qc({state:n,text:e.text,range:Bc(r,i,a),operator:`yank`,linewise:!0});if(e.key===`d`||e.key===`c`||e.key===`y`){let t=e.key===`d`?`delete`:e.key===`c`?`change`:`yank`;return wc({...n,countBuffer:``,pendingOperator:{operator:t,count:a}},e.text,i)}if(e.key===`r`)return wc({...n,countBuffer:``,awaitingReplace:{count:a}},e.text,i);if(e.key===`p`||e.key===`P`){if(!n.register.text)return wc({...n,countBuffer:``},e.text,i);let t=n.register.linewise?Gc({text:e.text,cursor:i,register:n.register,count:a,before:e.key===`P`}):Kc({text:e.text,cursor:i,register:n.register,count:a,before:e.key===`P`});return wc({...n,countBuffer:``},t.text,t.cursor)}return wc({...n,countBuffer:``},e.text,i)}var $c=`inline-flex max-w-full select-none items-center gap-1 rounded-md border border-border/70 bg-accent/40 px-1.5 py-px font-medium text-sm leading-[1.1] text-foreground align-middle`,el=`size-3.5 shrink-0 opacity-85`,tl=`truncate select-none leading-tight`;function nl(e){let t=(0,X.c)(18),{label:n,tooltipText:r,expired:i}=e,a=i===void 0?!1:i,o=a&&`border-destructive/35 bg-destructive/8 text-destructive`,s;t[0]===o?s=t[1]:(s=U($c,o),t[0]=o,t[1]=s);let c=a?`true`:void 0,l=a&&`opacity-100`,u;t[2]===l?u=t[3]:(u=U(el,`size-3.5`,l),t[2]=l,t[3]=u);let d;t[4]===u?d=t[5]:(d=(0,Q.jsx)(bn,{className:u,"data-icon":`terminal-context`}),t[4]=u,t[5]=d);let f;t[6]===n?f=t[7]:(f=(0,Q.jsx)(`span`,{className:tl,children:n}),t[6]=n,t[7]=f);let p;t[8]!==s||t[9]!==c||t[10]!==d||t[11]!==f?(p=(0,Q.jsx)(jr,{render:(0,Q.jsxs)(`span`,{className:s,"data-terminal-context-expired":c,children:[d,f]})}),t[8]=s,t[9]=c,t[10]=d,t[11]=f,t[12]=p):p=t[12];let m;t[13]===r?m=t[14]:(m=(0,Q.jsx)(Hr,{side:`top`,className:`max-w-80 whitespace-pre-wrap leading-tight`,children:r}),t[13]=r,t[14]=m);let h;return t[15]!==p||t[16]!==m?(h=(0,Q.jsxs)(Vr,{children:[p,m]}),t[15]=p,t[16]=m,t[17]=h):h=t[17],h}function rl(e){let t=(0,X.c)(8),{context:n}=e,r;t[0]===n?r=t[1]:(r=bt(n),t[0]=n,t[1]=r);let i=r,a;t[2]===n?a=t[3]:(a=st(n),t[2]=n,t[3]=a);let o=a,s=o?`Terminal context expired. Remove and re-add ${i} to include it in your message.`:n.text,c;return t[4]!==o||t[5]!==i||t[6]!==s?(c=(0,Q.jsx)(nl,{label:i,tooltipText:s,expired:o}),t[4]=o,t[5]=i,t[6]=s,t[7]=c):c=t[7],c}var il=`composer-editor-${Math.random().toString(36).slice(2)}`,al=(0,Z.createContext)({onRemoveTerminalContext:()=>{}}),ol=class e extends fa{__path;static getType(){return`composer-mention`}static clone(t){return new e(t.__path,t.__key)}static importJSON(e){return sl(e.path)}constructor(e,t){let n=e.startsWith(`@`)?e.slice(1):e;super(`@${n}`,t),this.__path=n}exportJSON(){return{...super.exportJSON(),path:this.__path,type:`composer-mention`,version:1}}createDOM(e){let t=document.createElement(`span`);return t.className=$c,t.contentEditable=`false`,t.setAttribute(`spellcheck`,`false`),pl(t,this.__path),t}updateDOM(e,t,n){return t.contentEditable=`false`,(e.__text!==this.__text||e.__path!==this.__path)&&pl(t,this.__path),!1}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}isTextEntity(){return!0}isToken(){return!0}};function sl(e){return ea(new ol(e))}function cl(e){let t=(0,X.c)(2),n;return t[0]===e.context?n=t[1]:(n=(0,Q.jsx)(rl,{context:e.context}),t[0]=e.context,t[1]=n),n}var ll=class e extends ya{__context;static getType(){return`composer-terminal-context`}static clone(t){return new e(t.__context,t.__key)}static importJSON(e){return ul(e.context)}constructor(e,t){super(t),this.__context=e}exportJSON(){return{...super.exportJSON(),context:this.__context,type:`composer-terminal-context`,version:1}}createDOM(){let e=document.createElement(`span`);return e.className=`inline-flex align-middle leading-none`,e}updateDOM(){return!1}getTextContent(){return``}isInline(){return!0}decorate(){return(0,Q.jsx)(cl,{context:this.__context})}};function ul(e){return ea(new ll(e))}function dl(e){return e instanceof ol||e instanceof ll}function fl(){return document.documentElement.classList.contains(`dark`)?`dark`:`light`}function pl(e,t){e.textContent=``,e.style.setProperty(`user-select`,`none`),e.style.setProperty(`-webkit-user-select`,`none`);let n=fl(),r=document.createElement(`img`);r.alt=``,r.ariaHidden=`true`,r.className=el,r.loading=`lazy`,r.src=Ni(t,Mi(t),n);let i=document.createElement(`span`);i.className=tl,i.textContent=Ii(t),e.append(r,i)}function ml(e){return e.map(e=>[e.id,e.threadId,e.terminalId,e.terminalLabel,e.lineStart,e.lineEnd,e.createdAt,e.text].join(``)).join(``)}function hl(e,t){return Number.isFinite(t)?Math.max(0,Math.min(e.length,Math.floor(t))):e.length}function gl(e){return 1}function _l(e){return e.getTextContentSize()}function vl(e,t,n){return t+(n>0?gl(e):0)}function yl(e,t,n){return t+(n>0?_l(e):0)}function bl(e,t){let n=e.getParent();if(!n||!ta(n))return null;let r=e.getIndexWithinParent();return t.value===0?{key:n.getKey(),offset:r,type:`element`}:t.value===gl(e)?{key:n.getKey(),offset:r+1,type:`element`}:(t.value-=gl(e),null)}function xl(e){return dl(e)?gl(e):$i(e)?e.getTextContentSize():va(e)?1:ta(e)?e.getChildren().reduce((e,t)=>e+xl(t),0):0}function Sl(e){return dl(e)?_l(e):$i(e)?e.getTextContentSize():va(e)?1:ta(e)?e.getChildren().reduce((e,t)=>e+Sl(t),0):0}function Cl(e,t){let n=0,r=e;for(;r;){let e=r.getParent();if(!e||!ta(e))break;let t=e.getChildren(),i=r.getIndexWithinParent();for(let e=0;e<i;e+=1){let r=t[e];r&&(n+=xl(r))}r=e}if($i(e))return e instanceof ol?vl(e,n,t):n+Math.min(t,e.getTextContentSize());if(e instanceof ll)return vl(e,n,t);if(va(e))return n+Math.min(t,1);if(ta(e)){let r=e.getChildren(),i=Math.max(0,Math.min(t,r.length));for(let e=0;e<i;e+=1){let t=r[e];t&&(n+=xl(t))}return n}return n}function wl(e,t){let n=0,r=e;for(;r;){let e=r.getParent();if(!e||!ta(e))break;let t=e.getChildren(),i=r.getIndexWithinParent();for(let e=0;e<i;e+=1){let r=t[e];r&&(n+=Sl(r))}r=e}if($i(e))return e instanceof ol?yl(e,n,t):n+Math.min(t,e.getTextContentSize());if(e instanceof ll)return yl(e,n,t);if(va(e))return n+Math.min(t,1);if(ta(e)){let r=e.getChildren(),i=Math.max(0,Math.min(t,r.length));for(let e=0;e<i;e+=1){let t=r[e];t&&(n+=Sl(t))}return n}return n}function Tl(e,t){if(e instanceof ol||e instanceof ll)return bl(e,t);if($i(e)){let n=e.getTextContentSize();return t.value<=n?{key:e.getKey(),offset:t.value,type:`text`}:(t.value-=n,null)}if(va(e)){let n=e.getParent();if(!n)return null;let r=e.getIndexWithinParent();return t.value===0?{key:n.getKey(),offset:r,type:`element`}:t.value===1?{key:n.getKey(),offset:r+1,type:`element`}:(--t.value,null)}if(ta(e)){let n=e.getChildren();for(let e of n){let n=Tl(e,t);if(n)return n}if(t.value===0)return{key:e.getKey(),offset:n.length,type:`element`}}return null}function El(){return ba().getChildren().reduce((e,t)=>e+xl(t),0)}function Dl(e){let t=ba(),n=El(),r=Tl(t,{value:Math.max(0,Math.min(e,n))})??{key:t.getKey(),offset:t.getChildren().length,type:`element`},i=ca();i.anchor.set(r.key,r.offset,r.type),i.focus.set(r.key,r.offset,r.type),ra(i)}function Ol(e,t){let n=ba(),r=El(),i=Math.max(0,Math.min(e,r)),a=Math.max(0,Math.min(t,r)),o={value:i},s={value:a},c=Tl(n,o)??{key:n.getKey(),offset:n.getChildren().length,type:`element`},l=Tl(n,s)??{key:n.getKey(),offset:n.getChildren().length,type:`element`},u=ca();u.anchor.set(c.key,c.offset,c.type),u.focus.set(l.key,l.offset,l.type),ra(u)}function kl(e){let t=Y();if(!pa(t)||!t.isCollapsed())return e;let n=Cl(t.anchor.getNode(),t.anchor.offset),r=El();return Math.max(0,Math.min(n,r))}function Al(e){let t=Y();if(!pa(t)||!t.isCollapsed())return e;let n=wl(t.anchor.getNode(),t.anchor.offset),r=ba().getTextContent().length;return Math.max(0,Math.min(n,r))}function jl(e,t){let n=t.split(`
|
|
256
|
-
`);for(let t=0;t<n.length;t+=1){let r=n[t]??``;r.length>0&&e.append(oa(r)),t<n.length-1&&e.append(na())}}function Ml(e,t){let n=ba();n.clear();let r=_a();n.append(r);let i=ho(e,t);for(let e of i){if(e.type===`mention`){r.append(sl(e.path));continue}if(e.type===`terminal-context`){e.context&&r.append(ul(e.context));continue}jl(r,e.text)}}function Nl(e){return e instanceof ll?[e.__context.id]:ta(e)?e.getChildren().flatMap(e=>Nl(e)):[]}function Pl(e){let t=(0,X.c)(4),[n]=E(),r,i;return t[0]!==n||t[1]!==e?(r=()=>{let t=(t,n)=>{if(!e.onCommandKeyDown||!n)return!1;let r=e.onCommandKeyDown(t,n);return r&&(n.preventDefault(),n.stopPropagation()),r},r=n.registerCommand(Qi,e=>t(`ArrowDown`,e),3),i=n.registerCommand(la,e=>t(`ArrowUp`,e),3),a=n.registerCommand(ua,e=>t(`Enter`,e),3),o=n.registerCommand(da,e=>t(`Tab`,e),3);return()=>{r(),i(),a(),o()}},i=[n,e],t[0]=n,t[1]=e,t[2]=r,t[3]=i):(r=t[2],i=t[3]),(0,Z.useEffect)(r,i),null}function Fl(e){let t=(0,X.c)(19),[n]=E(),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=gc(`insert`),t[0]=r):r=t[0];let i=(0,Z.useRef)(r),a=(0,Z.useRef)(e.cursor),o=(0,Z.useRef)(e.onModeChange),s,c;t[1]===e.onModeChange?(s=t[2],c=t[3]):(s=()=>{o.current=e.onModeChange},c=[e.onModeChange],t[1]=e.onModeChange,t[2]=s,t[3]=c),(0,Z.useEffect)(s,c);let l;t[4]===e.cursor?l=t[5]:(l=()=>{a.current=e.cursor},t[4]=e.cursor,t[5]=l);let u;t[6]!==e.cursor||t[7]!==e.value?(u=[e.cursor,e.value],t[6]=e.cursor,t[7]=e.value,t[8]=u):u=t[8],(0,Z.useEffect)(l,u);let d,f;t[9]===e.enabled?(d=t[10],f=t[11]):(d=()=>{if(!e.enabled){i.current=gc(`insert`),o.current?.(null);return}i.current=gc(`insert`),o.current?.(`insert`)},f=[e.enabled],t[9]=e.enabled,t[10]=d,t[11]=f),(0,Z.useEffect)(d,f);let p,m;return t[12]!==n||t[13]!==e.commandMenuActive||t[14]!==e.enabled||t[15]!==e.terminalContexts||t[16]!==e.value?(p=()=>n.registerCommand(sa,t=>{if(!e.enabled||!t||t.isComposing||t.key===`Enter`||t.metaKey||t.altKey)return!1;let r=t.ctrlKey&&(t.key===`[`||t.key.toLowerCase()===`r`);if(t.ctrlKey&&!r||e.commandMenuActive&&t.key!==`Escape`)return!1;let s;s=e.value;let c;c=a.current,n.getEditorState().read(()=>{s=ba().getTextContent(),c=kl(a.current)});let l=i.current.mode,u=Qc({text:s,cursor:c,key:t.key,ctrlKey:t.ctrlKey},i.current);return u.handled?(i.current=u.state,a.current=u.cursor,l!==u.state.mode&&o.current?.(u.state.mode),t.preventDefault(),t.stopPropagation(),u.undo?(n.dispatchCommand(aa,void 0),!0):u.redo?(n.dispatchCommand(ga,void 0),!0):(n.update(()=>{if(u.text!==s&&Ml(u.text,e.terminalContexts),u.selection)Ol(u.selection.anchor,u.selection.focus);else{let e=u.cursor+1;u.state.mode===`normal`&&e<=u.text.length?Ol(u.cursor,e):Dl(u.cursor)}}),!0)):!1},3),m=[n,e.commandMenuActive,e.enabled,e.terminalContexts,e.value],t[12]=n,t[13]=e.commandMenuActive,t[14]=e.enabled,t[15]=e.terminalContexts,t[16]=e.value,t[17]=p,t[18]=m):(p=t[17],m=t[18]),(0,Z.useEffect)(p,m),null}function Il(){let e=(0,X.c)(3),[t]=E(),n,r;return e[0]===t?(n=e[1],r=e[2]):(n=()=>{let e=t.registerCommand(ha,e=>{let n=null;if(t.getEditorState().read(()=>{let e=Y();if(!pa(e)||!e.isCollapsed())return;let t=kl(0);t<=0||Oo(ba().getTextContent(),t,`left`)&&(n=t-1)}),n===null)return!1;let r=n;return e?.preventDefault(),e?.stopPropagation(),t.update(()=>{Dl(r)}),!0},3),n=t.registerCommand(ma,e=>{let n=null;if(t.getEditorState().read(()=>{let e=Y();if(!pa(e)||!e.isCollapsed())return;let t=kl(0);t>=El()||Oo(ba().getTextContent(),t,`right`)&&(n=t+1)}),n===null)return!1;let r=n;return e?.preventDefault(),e?.stopPropagation(),t.update(()=>{Dl(r)}),!0},3);return()=>{e(),n()}},r=[t],e[0]=t,e[1]=n,e[2]=r),(0,Z.useEffect)(n,r),null}function Ll(){let e=(0,X.c)(3),[t]=E(),n,r;return e[0]===t?(n=e[1],r=e[2]):(n=()=>t.registerUpdateListener(e=>{let{editorState:n}=e,r=null;n.read(()=>{let e=Y();if(!pa(e)||!e.isCollapsed())return;let t=e.anchor.getNode();dl(t)&&e.anchor.offset!==0&&(r=Cl(t,0)+1)}),r!==null&&queueMicrotask(()=>{t.update(()=>{Dl(r)})})}),r=[t],e[0]=t,e[1]=n,e[2]=r),(0,Z.useEffect)(n,r),null}function Rl(){let e=(0,X.c)(4),[t]=E(),{onRemoveTerminalContext:n}=(0,Z.useContext)(al),r,i;return e[0]!==t||e[1]!==n?(r=()=>t.registerCommand(ia,e=>{let t=Y();if(!pa(t)||!t.isCollapsed())return!1;let r=t.anchor.getNode(),i=kl(0),a=t=>{if(!dl(t))return!1;let r=Cl(t,0);return t.remove(),t instanceof ll?(n(t.__context.id),Dl(i)):Dl(r),e?.preventDefault(),!0};if(a(r))return!0;if($i(r)){if(t.anchor.offset>0)return!1;if(a(r.getPreviousSibling()))return!0;let e=r.getParent();if(ta(e)){let t=r.getIndexWithinParent();if(t>0&&a(e.getChildAtIndex(t-1)))return!0}return!1}if(ta(r)){let e=t.anchor.offset-1;if(e>=0&&a(r.getChildAtIndex(e)))return!0}return!1},3),i=[t,n],e[0]=t,e[1]=n,e[2]=r,e[3]=i):(r=e[2],i=e[3]),(0,Z.useEffect)(r,i),null}function zl(e){let t=(0,X.c)(76),{value:n,cursor:r,terminalContexts:i,disabled:a,placeholder:o,className:s,vimModeEnabled:c,vimCommandMenuActive:l,onVimModeChange:u,onRemoveTerminalContext:d,onChange:f,onCommandKeyDown:p,onPaste:m,editorRef:h}=e,[g]=E(),_=(0,Z.useRef)(f),v=Eo(n,r),y;t[0]===i?y=t[1]:(y=ml(i),t[0]=i,t[1]=y);let x=y,w=(0,Z.useRef)(x),O=Co(n,v),k;t[2]===i?k=t[3]:(k=i.map(Vl),t[2]=i,t[3]=k);let A;t[4]!==v||t[5]!==O||t[6]!==k||t[7]!==n?(A={value:n,cursor:v,expandedCursor:O,terminalContextIds:k},t[4]=v,t[5]=O,t[6]=k,t[7]=n,t[8]=A):A=t[8];let j=(0,Z.useRef)(A),M;t[9]===c?M=t[10]:(M=()=>c?`insert`:null,t[9]=c,t[10]=M);let[N,P]=(0,Z.useState)(M),F=(0,Z.useRef)(!1),I,L;t[11]===d?L=t[12]:(L={onRemoveTerminalContext:d},t[11]=d,t[12]=L),I=L;let R=I,z,B;t[13]===f?(z=t[14],B=t[15]):(z=()=>{_.current=f},B=[f],t[13]=f,t[14]=z,t[15]=B),(0,Z.useEffect)(z,B);let ee,te;t[16]!==a||t[17]!==g?(ee=()=>{g.setEditable(!a)},te=[a,g],t[16]=a,t[17]=g,t[18]=ee,t[19]=te):(ee=t[18],te=t[19]),(0,Z.useEffect)(ee,te);let ne,V;t[20]===c?(ne=t[21],V=t[22]):(ne=()=>{P(c?`insert`:null)},V=[c],t[20]=c,t[21]=ne,t[22]=V),(0,Z.useEffect)(ne,V);let re;t[23]===u?re=t[24]:(re=e=>{P(e),u?.(e)},t[23]=u,t[24]=re);let ie=re,H,ae;t[25]!==r||t[26]!==g||t[27]!==i||t[28]!==x||t[29]!==n?(H=()=>{let e=Eo(n,r),t=j.current,a=w.current!==x;if(t.value===n&&t.cursor===e&&!a)return;j.current={value:n,cursor:e,expandedCursor:Co(n,e),terminalContextIds:i.map(Bl)},w.current=x;let o=g.getRootElement(),s=!!(o&&document.activeElement===o);t.value===n&&!a&&!s||(F.current=!0,g.update(()=>{let r=t.value!==n||a;r&&Ml(n,i),(r||s)&&Dl(e)}),queueMicrotask(()=>{F.current=!1}))},ae=[r,g,i,x,n],t[25]=r,t[26]=g,t[27]=i,t[28]=x,t[29]=n,t[30]=H,t[31]=ae):(H=t[30],ae=t[31]),(0,Z.useLayoutEffect)(H,ae);let oe;t[32]===g?oe=t[33]:(oe=e=>{let t=g.getRootElement();if(!t)return;let n=Eo(j.current.value,e);t.focus(),g.update(()=>{Dl(n)}),j.current={value:j.current.value,cursor:n,expandedCursor:Co(j.current.value,n),terminalContextIds:j.current.terminalContextIds},_.current(j.current.value,n,j.current.expandedCursor,!1,j.current.terminalContextIds)},t[32]=g,t[33]=oe);let se=oe,ce;t[34]===g?ce=t[35]:(ce=()=>{let e;return e=j.current,g.getEditorState().read(()=>{let t=ba().getTextContent();e={value:t,cursor:Eo(t,kl(Eo(t,j.current.cursor))),expandedCursor:hl(t,Al(hl(t,j.current.expandedCursor))),terminalContextIds:Nl(ba())}}),j.current=e,e},t[34]=g,t[35]=ce);let le=ce,ue,de;t[36]!==se||t[37]!==le?(ue=()=>({focus:()=>{se(j.current.cursor)},focusAt:se,focusAtEnd:()=>{se(Do(j.current.value,j.current.value.length))},readSnapshot:le}),de=[se,le],t[36]=se,t[37]=le,t[38]=ue,t[39]=de):(ue=t[38],de=t[39]),(0,Z.useImperativeHandle)(h,ue,de);let W;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(W=e=>{e.read(()=>{let e=ba().getTextContent(),t=Eo(e,kl(Eo(e,j.current.cursor))),n=hl(e,Al(hl(e,j.current.expandedCursor))),r=Nl(ba()),i=j.current;if(i.value===e&&i.cursor===t&&i.expandedCursor===n&&i.terminalContextIds.length===r.length&&i.terminalContextIds.every((e,t)=>e===r[t])||F.current)return;j.current={value:e,cursor:t,expandedCursor:n,terminalContextIds:r};let a=Oo(e,t,`left`)||Oo(e,t,`right`);_.current(e,t,n,a,r)})},t[40]=W):W=t[40];let fe=W,pe;t[41]===s?pe=t[42]:(pe=U(`composer-prompt-editor block max-h-[200px] min-h-8 w-full overflow-y-auto whitespace-pre-wrap break-words bg-transparent text-[14px] leading-relaxed text-foreground focus:outline-none`,s),t[41]=s,t[42]=pe);let me=N??void 0,he;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,Q.jsx)(`span`,{}),t[43]=he):he=t[43];let ge;t[44]!==m||t[45]!==o||t[46]!==pe||t[47]!==me?(ge=(0,Q.jsx)(b,{className:pe,"data-testid":`composer-editor`,"data-vim-mode":me,"aria-placeholder":o,placeholder:he,onPaste:m}),t[44]=m,t[45]=o,t[46]=pe,t[47]=me,t[48]=ge):ge=t[48];let _e;t[49]!==o||t[50]!==i.length?(_e=i.length>0?null:(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-0 text-[14px] leading-relaxed text-muted-foreground/35`,children:o}),t[49]=o,t[50]=i.length,t[51]=_e):_e=t[51];let ve;t[52]!==ge||t[53]!==_e?(ve=(0,Q.jsx)(D,{contentEditable:ge,placeholder:_e,ErrorBoundary:S}),t[52]=ge,t[53]=_e,t[54]=ve):ve=t[54];let ye;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,Q.jsx)(C,{onChange:fe}),t[55]=ye):ye=t[55];let be;t[56]!==r||t[57]!==ie||t[58]!==i||t[59]!==n||t[60]!==l||t[61]!==c?(be=(0,Q.jsx)(Fl,{enabled:c,commandMenuActive:l,value:n,cursor:r,terminalContexts:i,onModeChange:ie}),t[56]=r,t[57]=ie,t[58]=i,t[59]=n,t[60]=l,t[61]=c,t[62]=be):be=t[62];let xe;t[63]===p?xe=t[64]:(xe=(0,Q.jsx)(Pl,{...p?{onCommandKeyDown:p}:{}}),t[63]=p,t[64]=xe);let G,Se,Ce,we;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,Q.jsx)(Il,{}),Se=(0,Q.jsx)(Ll,{}),Ce=(0,Q.jsx)(Rl,{}),we=(0,Q.jsx)(T,{}),t[65]=G,t[66]=Se,t[67]=Ce,t[68]=we):(G=t[65],Se=t[66],Ce=t[67],we=t[68]);let Te;t[69]!==ve||t[70]!==be||t[71]!==xe?(Te=(0,Q.jsxs)(`div`,{className:`relative min-w-0`,children:[ve,ye,be,xe,G,Se,Ce,we]}),t[69]=ve,t[70]=be,t[71]=xe,t[72]=Te):Te=t[72];let Ee;return t[73]!==Te||t[74]!==R?(Ee=(0,Q.jsx)(al.Provider,{value:R,children:Te}),t[73]=Te,t[74]=R,t[75]=Ee):Ee=t[75],Ee}function Bl(e){return e.id}function Vl(e){return e.id}var Hl=(0,Z.forwardRef)(function(e,t){let n=(0,X.c)(22),{value:r,cursor:i,terminalContexts:a,disabled:o,placeholder:s,className:c,vimModeEnabled:l,vimCommandMenuActive:u,onVimModeChange:d,onRemoveTerminalContext:f,onChange:p,onCommandKeyDown:m,onPaste:h}=e,g=(0,Z.useRef)(r),_=(0,Z.useRef)(a),v,y;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(y={namespace:`shioritools-composer-editor`,editable:!0,nodes:[ol,ll],editorState:()=>{Ml(g.current,_.current)},onError:Ul},n[0]=y):y=n[0],v=y;let b=v,x;n[1]===d?x=n[2]:(x=d?{onVimModeChange:d}:{},n[1]=d,n[2]=x);let S;n[3]===m?S=n[4]:(S=m?{onCommandKeyDown:m}:{},n[3]=m,n[4]=S);let C;n[5]===c?C=n[6]:(C=c?{className:c}:{},n[5]=c,n[6]=C);let T;return n[7]!==i||n[8]!==o||n[9]!==p||n[10]!==h||n[11]!==f||n[12]!==s||n[13]!==t||n[14]!==x||n[15]!==S||n[16]!==C||n[17]!==a||n[18]!==r||n[19]!==u||n[20]!==l?(T=(0,Q.jsx)(w,{initialConfig:b,children:(0,Q.jsx)(zl,{value:r,cursor:i,terminalContexts:a,disabled:o,placeholder:s,vimModeEnabled:l,vimCommandMenuActive:u,onRemoveTerminalContext:f,onChange:p,onPaste:h,editorRef:t,...x,...S,...C})},il),n[7]=i,n[8]=o,n[9]=p,n[10]=h,n[11]=f,n[12]=s,n[13]=t,n[14]=x,n[15]=S,n[16]=C,n[17]=a,n[18]=r,n[19]=u,n[20]=l,n[21]=T):T=n[21],T});function Ul(e){throw e}function Wl({open:e,cwd:t,initialReference:n,onOpenChange:r,onPrepared:i}){let a=h(),o=(0,Z.useRef)(null),[s,c]=(0,Z.useState)(n??``),[l,u]=(0,Z.useState)(!1),[d,g]=(0,Z.useState)(null),[_,v]=m(s,{wait:450},e=>({isPending:e.isPending}));(0,Z.useEffect)(()=>{e&&(c(n??``),u(!1),g(null))},[n,e]),(0,Z.useEffect)(()=>{if(!e)return;let t=window.requestAnimationFrame(()=>{o.current?.focus(),o.current?.select()});return()=>{window.cancelAnimationFrame(t)}},[e]);let y=as(s),b=as(_),x=p(br({cwd:t,reference:e?b:null})),S=(0,Z.useMemo)(()=>!t||!y?null:a.getQueryData([`git`,`pull-request`,t,y])?.pullRequest??null,[t,y,a]),C=f(_r({cwd:t,queryClient:a})),w=(y!==null&&y===b?x.data?.pullRequest??null:null)??S,T=e&&y!==null&&w===null&&(v.state.isPending||y!==b||x.isPending||x.isFetching),E=(0,Z.useMemo)(()=>{switch(w?.state){case`merged`:return`text-violet-600 dark:text-violet-300/90`;case`closed`:return`text-zinc-500 dark:text-zinc-400/80`;case`open`:return`text-emerald-600 dark:text-emerald-300/90`;default:return`text-muted-foreground`}},[w?.state]),D=(0,Z.useCallback)(async e=>{if(!y){u(!0);return}if(!(!y||!w||!t)){g(e);try{let t=await C.mutateAsync({reference:y,mode:e});await i({branch:t.branch,worktreePath:t.worktreePath}),r(!1)}finally{g(null)}}},[t,r,i,y,C,w]),O=(l?s.trim().length===0?"Paste a GitHub pull request URL, `gh pr checkout 123`, or enter 123 / #123.":y===null?"Use a GitHub pull request URL, `gh pr checkout 123`, 123, or #123.":null:null)??(w===null&&x.isError?x.error instanceof Error?x.error.message:`Failed to resolve pull request.`:C.error instanceof Error?C.error.message:C.error?`Failed to prepare pull request thread.`:null);return(0,Q.jsx)(Da,{open:e,onOpenChange:e=>{C.isPending||r(e)},children:(0,Q.jsxs)(Ea,{className:`max-w-xl`,children:[(0,Q.jsxs)(xa,{children:[(0,Q.jsx)(Sa,{children:`Checkout Pull Request`}),(0,Q.jsx)(Ta,{children:`Resolve a GitHub pull request, then create the draft thread in the main repo or in a dedicated worktree.`})]}),(0,Q.jsxs)(wa,{className:`space-y-4`,children:[(0,Q.jsxs)(`label`,{className:`grid gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Pull request`}),(0,Q.jsx)(xr,{ref:o,placeholder:`https://github.com/owner/repo/pull/42, gh pr checkout 42, or #42`,value:s,onChange:e=>{u(!0),c(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),!T&&!C.isPending&&D(`local`))}})]}),w?(0,Q.jsx)(`div`,{className:`rounded-xl border border-border/70 bg-muted/24 p-3`,children:(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`p`,{className:`truncate font-medium text-sm`,children:w.title}),(0,Q.jsxs)(`p`,{className:`truncate text-muted-foreground text-xs`,children:[`#`,w.number,` · `,w.headBranch,` to`,` `,w.baseBranch]})]}),(0,Q.jsx)(`span`,{className:U(`shrink-0 text-xs capitalize`,E),children:w.state})]})}):null,T?(0,Q.jsx)(`div`,{className:`flex items-center gap-2 text-muted-foreground text-xs`,children:(0,Q.jsx)(ii,{children:`Resolving pull request`})}):null,O?(0,Q.jsx)(`p`,{className:`text-destructive text-xs`,children:O}):null]}),(0,Q.jsxs)(Ca,{children:[(0,Q.jsx)(I,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!1),disabled:C.isPending,children:`Cancel`}),(0,Q.jsx)(I,{type:`button`,size:`sm`,variant:`outline`,onClick:()=>{D(`local`)},disabled:!t||!w||T||C.isPending,children:d===`local`?(0,Q.jsx)(ii,{children:`Preparing local`}):`Local`}),(0,Q.jsx)(I,{type:`button`,size:`sm`,onClick:()=>{D(`worktree`)},disabled:!t||!w||T||C.isPending,children:d===`worktree`?(0,Q.jsx)(ii,{children:`Preparing worktree`}):`Worktree`})]})]})})}var Gl=new WeakMap;function Kl(e){return typeof e.additions!=`number`||typeof e.deletions!=`number`?null:{additions:e.additions,deletions:e.deletions}}function ql(e){let t=Gl.get(e);if(t)return t;let n=e.reduce((e,t)=>{let n=Kl(t);return n?{additions:e.additions+n.additions,deletions:e.deletions+n.deletions}:e},{additions:0,deletions:0});return Gl.set(e,n),n}function Jl(e,t){let n=e.flatMap(e=>e.previewUrl?[{id:e.id,src:e.previewUrl,name:e.name}]:[]);if(n.length===0)return null;let r=n.findIndex(e=>e.id===t);return r<0?null:{images:n.map(e=>({src:e.src,name:e.name})),index:r}}var Yl=(0,Z.memo)(function(e){let t=(0,X.c)(104),{planMarkdown:n,cwd:r,workspaceRoot:i}=e,[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(``),[d,f]=(0,Z.useState)(!1),p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p={onError:Xl},t[0]=p):p=t[0];let{copyToClipboard:m,isCopied:h}=ui(p),g=(0,Z.useId)(),_;t[1]===n?_=t[2]:(_=zo(n)??`Proposed plan`,t[1]=n,t[2]=_);let v=_,y=n.split(`
|
|
257
|
-
`).length,b=n.length>900||y>20,x;t[3]===n?x=t[4]:(x=Bo(n),t[3]=n,t[4]=x);let S=x,C;t[5]!==b||t[6]!==n?(C=b?Vo(n,{maxLines:10}):null,t[5]=b,t[6]=n,t[7]=C):C=t[7];let w=C,T;t[8]===n?T=t[9]:(T=Ko(n),t[8]=n,t[9]=T);let E=T,D;t[10]===n?D=t[11]:(D=qo(n),t[10]=n,t[11]=D);let O=D,k;t[12]!==E||t[13]!==O?(k=()=>{Jo(E,O)},t[12]=E,t[13]=O,t[14]=k):k=t[14];let A=k,j;t[15]!==m||t[16]!==O?(j=()=>{m(O)},t[15]=m,t[16]=O,t[17]=j):j=t[17];let M=j,N;t[18]!==E||t[19]!==i?(N=()=>{if(!i){oi.add({type:`error`,title:`Workspace path is unavailable`,description:`This thread does not have a workspace path to save into.`});return}u(e=>e.length>0?e:E),c(!0)},t[18]=E,t[19]=i,t[20]=N):N=t[20];let P=N,L;t[21]!==O||t[22]!==l||t[23]!==i?(L=()=>{let e=F(),t=l.trim();if(!(!e||!i)){if(!t){oi.add({type:`warning`,title:`Enter a workspace path`});return}f(!0),e.projects.writeFile({cwd:i,relativePath:t,contents:O}).then(e=>{c(!1),oi.add({type:`success`,title:`Plan saved to workspace`,description:e.relativePath})}).catch(Zl).then(()=>{f(!1)},()=>{f(!1)})}},t[21]=O,t[22]=l,t[23]=i,t[24]=L):L=t[24];let R=L,z;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(z=U(Fi,`truncate font-medium text-foreground`),t[25]=z):z=t[25];let B;t[26]===v?B=t[27]:(B=(0,Q.jsx)(`p`,{className:z,children:v}),t[26]=v,t[27]=B);let ee;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,Q.jsx)(ce,{render:(0,Q.jsx)(I,{"aria-label":`Plan actions`,size:`icon-xs`,variant:`ghost`,className:`shrink-0 text-muted-foreground/40 hover:text-muted-foreground/70`}),children:(0,Q.jsx)(Nn,{"aria-hidden":`true`,className:`size-3.5`})}),t[28]=ee):ee=t[28];let te=h?`Copied!`:`Copy to clipboard`,ne;t[29]!==M||t[30]!==te?(ne=(0,Q.jsx)(Mt,{onClick:M,children:te}),t[29]=M,t[30]=te,t[31]=ne):ne=t[31];let V;t[32]===A?V=t[33]:(V=(0,Q.jsx)(Mt,{onClick:A,children:`Download as markdown`}),t[32]=A,t[33]=V);let re=!i||d,ie;t[34]!==P||t[35]!==re?(ie=(0,Q.jsx)(Mt,{onClick:P,disabled:re,children:`Save to workspace`}),t[34]=P,t[35]=re,t[36]=ie):ie=t[36];let H;t[37]!==ne||t[38]!==V||t[39]!==ie?(H=(0,Q.jsxs)(Ot,{children:[ee,(0,Q.jsxs)(Fe,{align:`end`,children:[ne,V,ie]})]}),t[37]=ne,t[38]=V,t[39]=ie,t[40]=H):H=t[40];let ae;t[41]!==B||t[42]!==H?(ae=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[B,H]}),t[41]=B,t[42]=H,t[43]=ae):ae=t[43];let oe=b&&!a&&`max-h-80 overflow-hidden`,se;t[44]===oe?se=t[45]:(se=U(`relative`,oe),t[44]=oe,t[45]=se);let le;t[46]!==b||t[47]!==w||t[48]!==r||t[49]!==S||t[50]!==a?(le=b&&!a?(0,Q.jsx)(Ri,{text:w??``,cwd:r,isStreaming:!1}):(0,Q.jsx)(Ri,{text:S,cwd:r,isStreaming:!1}),t[46]=b,t[47]=w,t[48]=r,t[49]=S,t[50]=a,t[51]=le):le=t[51];let ue;t[52]!==b||t[53]!==a?(ue=b&&!a?(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-0 h-16 bg-linear-to-t from-background via-background/80 to-transparent`}):null,t[52]=b,t[53]=a,t[54]=ue):ue=t[54];let de;t[55]!==se||t[56]!==le||t[57]!==ue?(de=(0,Q.jsxs)(`div`,{className:se,children:[le,ue]}),t[55]=se,t[56]=le,t[57]=ue,t[58]=de):de=t[58];let W;t[59]!==b||t[60]!==a?(W=b?(0,Q.jsx)(`button`,{type:`button`,"data-scroll-anchor-ignore":!0,onClick:()=>o(Ql),className:`mt-2 text-xs text-muted-foreground/50 transition-colors hover:text-muted-foreground/80`,children:a?`Show less`:`Show more`}):null,t[59]=b,t[60]=a,t[61]=W):W=t[61];let fe;t[62]!==de||t[63]!==W?(fe=(0,Q.jsxs)(`div`,{className:`mt-2`,children:[de,W]}),t[62]=de,t[63]=W,t[64]=fe):fe=t[64];let pe;t[65]===d?pe=t[66]:(pe=e=>{d||c(e)},t[65]=d,t[66]=pe);let me;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,Q.jsx)(Sa,{children:`Save plan to workspace`}),t[67]=me):me=t[67];let he=i??`the workspace`,ge;t[68]===he?ge=t[69]:(ge=(0,Q.jsxs)(xa,{children:[me,(0,Q.jsxs)(Ta,{children:[`Enter a path relative to `,(0,Q.jsx)(`code`,{children:he}),`.`]})]}),t[68]=he,t[69]=ge);let _e;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,Q.jsx)(`span`,{className:U(Fi,`font-medium text-foreground`),children:`Workspace path`}),t[70]=_e):_e=t[70];let ve;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(ve=e=>u(e.target.value),t[71]=ve):ve=t[71];let ye;t[72]!==E||t[73]!==d||t[74]!==l||t[75]!==g?(ye=(0,Q.jsx)(xr,{id:g,value:l,onChange:ve,placeholder:E,spellCheck:!1,disabled:d}),t[72]=E,t[73]=d,t[74]=l,t[75]=g,t[76]=ye):ye=t[76];let be;t[77]!==g||t[78]!==ye?(be=(0,Q.jsx)(wa,{className:`space-y-3`,children:(0,Q.jsxs)(`label`,{htmlFor:g,className:`grid gap-1.5`,children:[_e,ye]})}),t[77]=g,t[78]=ye,t[79]=be):be=t[79];let xe;t[80]===Symbol.for(`react.memo_cache_sentinel`)?(xe=()=>c(!1),t[80]=xe):xe=t[80];let G;t[81]===d?G=t[82]:(G=(0,Q.jsx)(I,{variant:`outline`,size:`sm`,onClick:xe,disabled:d,children:`Cancel`}),t[81]=d,t[82]=G);let Se;t[83]===R?Se=t[84]:(Se=()=>void R(),t[83]=R,t[84]=Se);let Ce=d?`Saving...`:`Save`,we;t[85]!==d||t[86]!==Se||t[87]!==Ce?(we=(0,Q.jsx)(I,{size:`sm`,onClick:Se,disabled:d,children:Ce}),t[85]=d,t[86]=Se,t[87]=Ce,t[88]=we):we=t[88];let Te;t[89]!==G||t[90]!==we?(Te=(0,Q.jsxs)(Ca,{children:[G,we]}),t[89]=G,t[90]=we,t[91]=Te):Te=t[91];let Ee;t[92]!==ge||t[93]!==be||t[94]!==Te?(Ee=(0,Q.jsxs)(Ea,{className:`max-w-xl`,children:[ge,be,Te]}),t[92]=ge,t[93]=be,t[94]=Te,t[95]=Ee):Ee=t[95];let De;t[96]!==s||t[97]!==pe||t[98]!==Ee?(De=(0,Q.jsx)(Da,{open:s,onOpenChange:pe,children:Ee}),t[96]=s,t[97]=pe,t[98]=Ee,t[99]=De):De=t[99];let Oe;return t[100]!==ae||t[101]!==fe||t[102]!==De?(Oe=(0,Q.jsxs)(`div`,{className:`border-l-2 border-primary/25 pl-4`,children:[ae,fe,De]}),t[100]=ae,t[101]=fe,t[102]=De,t[103]=Oe):Oe=t[103],Oe});function Xl(e){oi.add({type:`error`,title:`Could not copy plan`,description:e instanceof Error?e.message:`An error occurred while copying.`})}function Zl(e){oi.add({type:`error`,title:`Could not save plan`,description:e instanceof Error?e.message:`An error occurred while saving.`})}function Ql(e){return!e}function $l(e){return e.additions>0||e.deletions>0}var eu=(0,Z.memo)(function(e){let t=(0,X.c)(13),{additions:n,deletions:r,showParentheses:i}=e,a=i===void 0?!1:i,o;t[0]===a?o=t[1]:(o=a&&(0,Q.jsx)(`span`,{className:`text-muted-foreground/70`,children:`(`}),t[0]=a,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,Q.jsxs)(`span`,{className:`text-success`,children:[`+`,n]}),t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=(0,Q.jsxs)(`span`,{className:`ml-1 text-destructive`,children:[`-`,r]}),t[4]=r,t[5]=c);let l;t[6]===a?l=t[7]:(l=a&&(0,Q.jsx)(`span`,{className:`text-muted-foreground/70`,children:`)`}),t[6]=a,t[7]=l);let u;return t[8]!==o||t[9]!==s||t[10]!==c||t[11]!==l?(u=(0,Q.jsxs)(Q.Fragment,{children:[o,s,c,l]}),t[8]=o,t[9]=s,t[10]=c,t[11]=l,t[12]=u):u=t[12],u}),tu=200,nu=new WeakMap,ru=new Map;function iu(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.substring(t+1):e}var au={ts:`typescript`,tsx:`tsx`,js:`javascript`,jsx:`jsx`,mts:`typescript`,cts:`typescript`,mjs:`javascript`,cjs:`javascript`,py:`python`,rb:`ruby`,rs:`rust`,go:`go`,java:`java`,kt:`kotlin`,swift:`swift`,css:`css`,scss:`scss`,less:`less`,html:`html`,vue:`vue`,svelte:`svelte`,json:`json`,jsonc:`jsonc`,yaml:`yaml`,yml:`yaml`,toml:`toml`,md:`markdown`,mdx:`mdx`,sh:`shellscript`,bash:`bash`,zsh:`zsh`,sql:`sql`,graphql:`graphql`,gql:`graphql`,c:`c`,cpp:`cpp`,h:`c`,hpp:`cpp`,cs:`csharp`,fs:`fsharp`,lua:`lua`,zig:`zig`,prisma:`prisma`,xml:`xml`,svg:`xml`,dockerfile:`dockerfile`};function ou(e){if(!e)return`text`;let t=e.lastIndexOf(`.`);if(t<0){let t=e.split(/[\\/]/).pop()?.toLowerCase()??``;return t===`dockerfile`?`dockerfile`:t===`makefile`?`makefile`:`text`}return au[e.substring(t+1).toLowerCase()]??`text`}var su=new Map,cu=wr(()=>import(`./dist-DNQcGyCm.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]));function lu(e){let t=su.get(e);if(t)return t;let n=cu.then(({getSharedHighlighter:t})=>t({themes:[Ei(`dark`),Ei(`light`)],langs:[e],preferredHighlighter:`shiki-js`})).catch(t=>{if(su.delete(e),e===`text`)throw t;return lu(`text`)});return su.set(e,n),n}function uu(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function du(e){return typeof e==`string`&&e.length>0?e:null}function fu(e){let t=uu(e),n=Array.isArray(t?.display)?t.display:null;if(!n)return null;for(let e of n){let t=uu(e);if(t?.type!==`diff`)continue;let n=du(t.old_text),r=du(t.new_text);if(n!=null&&r!=null)return{oldText:n,newText:r,path:du(t.path)}}return null}function pu(e){let t=uu(e);if(!t)return null;let n=uu(t.result);if(n){let e=n.content;if(Array.isArray(e))for(let t of e){let e=uu(t);if(e?.type===`text`&&typeof e.text==`string`)try{let t=uu(JSON.parse(e.text));if(t)return t}catch{}}return n}return t}function mu(e,t){let n=e.split(`
|
|
258
|
-
`),r=t.split(`
|
|
259
|
-
`),i=[],a=0,o=0;for(let e of n)i.push({type:`removed`,content:e,oldLineNo:++a,newLineNo:null});for(let e of r)i.push({type:`added`,content:e,oldLineNo:null,newLineNo:++o});return i}function hu(e){let t=e.split(`
|
|
260
|
-
`),n=[],r=0,i=0;for(let e of t){if(e.startsWith(`diff `)||e.startsWith(`index `)||e.startsWith(`--- `)||e.startsWith(`+++ `)||e.startsWith(`\\ No newline`))continue;let t=/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/.exec(e);if(t){r=parseInt(t[1],10)-1,i=parseInt(t[2],10)-1;continue}e.startsWith(`+`)?(i++,n.push({type:`added`,content:e.slice(1),oldLineNo:null,newLineNo:i})):e.startsWith(`-`)?(r++,n.push({type:`removed`,content:e.slice(1),oldLineNo:r,newLineNo:null})):(r++,i++,n.push({type:`context`,content:e.startsWith(` `)?e.slice(1):e,oldLineNo:r,newLineNo:i}))}return n}function gu(e){for(let t of e.split(`
|
|
261
|
-
`)){if(t.startsWith(`+++ b/`)||t.startsWith(`--- a/`)){let e=t.slice(6).trim();if(e.length>0&&e!==`/dev/null`)return e}if(t.startsWith(`rename to `)||t.startsWith(`rename from `)){let e=t.replace(/^rename (?:to|from) /u,``).trim();if(e.length>0&&e!==`/dev/null`)return e}}return null}function _u(e){let t=[];for(let n of e){let e=(n.oldStart??1)-1,r=(n.newStart??1)-1;for(let i of n.lines??[])i.startsWith(`+`)?(r++,t.push({type:`added`,content:i.slice(1),oldLineNo:null,newLineNo:r})):i.startsWith(`-`)?(e++,t.push({type:`removed`,content:i.slice(1),oldLineNo:e,newLineNo:null})):(e++,r++,t.push({type:`context`,content:i.startsWith(` `)?i.slice(1):i,oldLineNo:e,newLineNo:r}))}return t}var vu=80,yu=new Set([`write`,`write_file`,`writefile`]),bu=`strreplacefile`;function xu(e){return e.replace(/[.\s-]+/g,`_`).trim().toLowerCase()}function Su(e,t){let n=t??``;if(e&&typeof e==`object`){let t=nu.get(e)?.get(n);if(t!==void 0)return t}else{let t=`${typeof e}:${String(e)}\u0000${n}`,r=ru.get(t);if(r!==void 0)return r}let r=t=>{if(e&&typeof e==`object`){let r=e,i=nu.get(r);return i?i.set(n,t):nu.set(r,new Map([[n,t]])),t}let r=`${typeof e}:${String(e)}\u0000${n}`;if(ru.set(r,t),ru.size>tu){let e=ru.keys().next().value;typeof e==`string`&&ru.delete(e)}return t},i=uu(e),a=pu(e);if(!a)return r(null);let o=uu(a.input),s=uu(i?.input),c=uu(o?.edit),l=uu(s?.edit),u=du(i?.toolName)??du(a.toolName)??null,d=u===null?null:xu(u),f=du(a.filePath)??du(a.path)??du(a.relativePath)??du(a.filename)??du(s?.path)??du(s?.file_path)??du(o?.file_path)??du(o?.path)??t??null;if(Array.isArray(a.structuredPatch)&&a.structuredPatch.length>0){let e=_u(a.structuredPatch);if(e.length>0)return r(Cu(f,e))}let p=du(uu(a.gitDiff)?.patch);if(p){let e=hu(p);if(e.length>0)return r(Cu(f,e))}let m=du(a.patch)??du(a.diff);if(m){let e=hu(m);if(e.length>0)return r(Cu(f??gu(m),e))}let h=du(o?.patch)??du(s?.patch);if(h){let e=hu(h);if(e.length>0)return r(Cu(f??gu(h),e))}let g=d===bu?fu(a)??fu(i?.result)??fu(i):null;if(g){let e=mu(g.oldText,g.newText);if(e.length>0)return r(Cu(f??g.path,e))}let _=du(o?.old_string)??du(s?.old_string)??du(c?.old)??du(l?.old)??du(a.oldString)??du(i?.oldString),v=du(o?.new_string)??du(s?.new_string)??du(c?.new)??du(l?.new)??du(a.newString)??du(i?.newString);if(_!=null&&v!=null){let e=mu(_,v);if(e.length>0)return r(Cu(f,e))}let y=d!==null&&yu.has(d),b=du(s?.content)??du(o?.content);if(b!=null&&(y||f!==null)){let e=mu(``,b);if(e.length>0)return r(Cu(f,e))}let x=uu(a.item);if(x&&Array.isArray(x.changes))for(let e of x.changes){let t=uu(e);if(!t)continue;let n=du(t.path),i=du(t.diff);if(i){let e=hu(i);if(e.length>0)return r(Cu(n??f,e))}}return r(null)}function Cu(e,t){let n=t.length>vu?t.slice(0,vu):t,r=0,i=0;for(let e of n)e.type===`added`&&r++,e.type===`removed`&&i++;return{filePath:e,lines:n,additions:r,deletions:i}}var wu={added:`bg-success/8 text-foreground/85`,removed:`bg-destructive/8 text-foreground/85`,context:`text-foreground/60`},Tu={added:`text-success/60`,removed:`text-destructive/60`,context:`text-foreground/30`},Eu={added:`+`,removed:`-`,context:` `},Du=(0,Z.memo)(function(e){let t=(0,X.c)(46),{diff:n,className:r}=e,{copyToClipboard:i,isCopied:a}=ui(),{resolvedTheme:o}=ji(),s;t[0]===o?s=t[1]:(s=Ei(o),t[0]=o,t[1]=s);let c=s,l,u;t[2]===n.filePath?u=t[3]:(u=ou(n.filePath),t[2]=n.filePath,t[3]=u),l=u;let d=l,[f,p]=(0,Z.useState)(null),m,h;t[4]!==n.lines||t[5]!==d||t[6]!==c?(m=()=>{if(d===`text`){p(null);return}let e=!1,t=n.lines.map(ku).join(`
|
|
262
|
-
`);return lu(d).then(n=>{if(e)return;let r=n.codeToTokens(t,{lang:d,theme:c});e||p(r.tokens)}).catch(Au),()=>{e=!0}},h=[n.lines,d,c],t[4]=n.lines,t[5]=d,t[6]=c,t[7]=m,t[8]=h):(m=t[7],h=t[8]),(0,Z.useEffect)(m,h);let g,_=0;for(let e of n.lines)e.oldLineNo!=null&&e.oldLineNo>_&&(_=e.oldLineNo),e.newLineNo!=null&&e.newLineNo>_&&(_=e.newLineNo);g=Math.max(2,String(_).length);let v=g,y;t[9]===r?y=t[10]:(y=U(`overflow-hidden rounded-md border border-border/50`,r),t[9]=r,t[10]=y);let b;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=U(Fi,`flex items-center gap-2 border-b border-border/50 px-3 py-1.5 font-mono text-muted-foreground`),t[11]=b):b=t[11];let x;t[12]===n.filePath?x=t[13]:(x=n.filePath&&(0,Q.jsx)(`span`,{className:`truncate font-medium text-foreground/80`,title:n.filePath,children:iu(n.filePath)}),t[12]=n.filePath,t[13]=x);let S;t[14]===n.additions?S=t[15]:(S=n.additions>0&&(0,Q.jsxs)(`span`,{className:`text-success`,children:[`+`,n.additions]}),t[14]=n.additions,t[15]=S);let C;t[16]===n.deletions?C=t[17]:(C=n.deletions>0&&(0,Q.jsxs)(`span`,{className:`text-destructive`,children:[`-`,n.deletions]}),t[16]=n.deletions,t[17]=C);let w;t[18]!==C||t[19]!==S?(w=(0,Q.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5 tabular-nums`,children:[S,C]}),t[18]=C,t[19]=S,t[20]=w):w=t[20];let T;t[21]!==i||t[22]!==n.filePath||t[23]!==a?(T=n.filePath&&(0,Q.jsx)(`button`,{type:`button`,className:`shrink-0 text-muted-foreground/60 transition-colors hover:text-foreground/80`,title:a?`Copied`:`Copy file path`,"aria-label":a?`Copied`:`Copy file path`,onClick:()=>i(n.filePath),children:a?(0,Q.jsx)(hn,{className:`size-3.5 text-success`}):(0,Q.jsx)(Ht,{className:`size-3.5`})}),t[21]=i,t[22]=n.filePath,t[23]=a,t[24]=T):T=t[24];let E;t[25]!==w||t[26]!==T||t[27]!==x?(E=(0,Q.jsxs)(`div`,{className:b,children:[x,w,T]}),t[25]=w,t[26]=T,t[27]=x,t[28]=E):E=t[28];let D;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(D=U(Fi,`font-mono leading-5`),t[29]=D):D=t[29];let O;if(t[30]!==n.lines||t[31]!==v||t[32]!==f){let e;t[34]!==v||t[35]!==f?(e=(e,t)=>(0,Q.jsxs)(`div`,{className:U(`flex`,wu[e.type]),children:[(0,Q.jsx)(`span`,{className:U(`select-none border-r border-border/30 px-2 text-right`,Tu[e.type]),style:{minWidth:`${v+2}ch`},children:e.oldLineNo??e.newLineNo??``}),(0,Q.jsx)(`span`,{className:U(`select-none px-1`,Tu[e.type]),"aria-hidden":`true`,children:Eu[e.type]}),(0,Q.jsx)(`span`,{className:`flex-1 whitespace-pre pr-3`,children:(0,Q.jsx)(Ou,{tokens:f?.[t],fallback:e.content})})]},`${e.type}:${e.oldLineNo??`n`}:${e.newLineNo??`n`}`),t[34]=v,t[35]=f,t[36]=e):e=t[36],O=n.lines.map(e),t[30]=n.lines,t[31]=v,t[32]=f,t[33]=O}else O=t[33];let k;t[37]===O?k=t[38]:(k=(0,Q.jsx)(`div`,{"data-inline-diff-body":`true`,className:`max-h-[min(24rem,55vh)] overflow-auto overscroll-contain`,children:(0,Q.jsx)(`pre`,{className:D,children:O})}),t[37]=O,t[38]=k);let A;t[39]===n.lines.length?A=t[40]:(A=n.lines.length>=vu&&(0,Q.jsx)(`div`,{className:U(`text-sm font-normal leading-relaxed`,`border-t border-border/50 px-3 py-1 text-center font-mono text-muted-foreground/70`),children:`Diff truncated`}),t[39]=n.lines.length,t[40]=A);let j;return t[41]!==E||t[42]!==k||t[43]!==A||t[44]!==y?(j=(0,Q.jsxs)(`div`,{"data-inline-diff":`true`,className:y,children:[E,k,A]}),t[41]=E,t[42]=k,t[43]=A,t[44]=y,t[45]=j):j=t[45],j}),Ou=(0,Z.memo)(function(e){let t=(0,X.c)(6),{tokens:n,fallback:r}=e;if(!n||n.length===0){let e=r||`\xA0`,n;return t[0]===e?n=t[1]:(n=(0,Q.jsx)(Q.Fragment,{children:e}),t[0]=e,t[1]=n),n}let i;t[2]===n?i=t[3]:(i=n.map(ju),t[2]=n,t[3]=i);let a;return t[4]===i?a=t[5]:(a=(0,Q.jsx)(Q.Fragment,{children:i}),t[4]=i,t[5]=a),a});function ku(e){return e.content}function Au(){}function ju(e){return(0,Q.jsx)(`span`,{style:e.color?{color:e.color}:void 0,children:e.content},`${e.offset}:${e.content.length}`)}var Mu=(0,Z.memo)(function(e){let t=(0,X.c)(9),{text:n,title:r}=e,i=r===void 0?`Copy message`:r,{copyToClipboard:a,isCopied:o}=ui(),s;t[0]!==a||t[1]!==n?(s=()=>a(n),t[0]=a,t[1]=n,t[2]=s):s=t[2];let c;t[3]===o?c=t[4]:(c=o?(0,Q.jsx)(hn,{className:`size-3 text-success`}):(0,Q.jsx)(Ht,{className:`size-3`}),t[3]=o,t[4]=c);let l;return t[5]!==s||t[6]!==c||t[7]!==i?(l=(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,onClick:s,title:i,"aria-label":i,children:c}),t[5]=s,t[6]=c,t[7]=i,t[8]=l):l=t[8],l}),Nu=2,Pu=24,Fu=`data-item-clamped-viewport`,Iu=`data-item-clamped-viewport-item`;function Lu(e){let t=(0,X.c)(39),{children:n,className:r,followBottom:i,itemCount:a,maxVisibleItems:o,onClampChange:s}=e,c=i===void 0?!1:i,l=(0,Z.useRef)(null),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(!1),m=(0,Z.useRef)(!1),h=(0,Z.useRef)(0),g,_;t[0]===c?(g=t[1],_=t[2]):(g=()=>{c&&(m.current=!1)},_=[c],t[0]=c,t[1]=g,t[2]=_),(0,Z.useLayoutEffect)(g,_);let v;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{p(e.scrollTop>Nu)},t[3]=v):v=t[3];let y=v,b;t[4]===c?b=t[5]:(b=e=>{c&&!m.current&&(e.scrollTop=e.scrollHeight,h.current=e.scrollTop)},t[4]=c,t[5]=b);let x=b,S;t[6]!==x||t[7]!==o?(S=()=>{let e=l.current;if(!e)return;let t=()=>{d(zu(Ru(e),o)),x(e),y(e)};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);for(let t of Ru(e))n.observe(t);return()=>n.disconnect()},t[6]=x,t[7]=o,t[8]=S):S=t[8];let C;t[9]!==x||t[10]!==a||t[11]!==o?(C=[x,a,o,y],t[9]=x,t[10]=a,t[11]=o,t[12]=C):C=t[12],(0,Z.useLayoutEffect)(S,C);let w;t[13]!==x||t[14]!==s?(w=()=>{let e=l.current;e&&(x(e),y(e)),s?.()},t[13]=x,t[14]=s,t[15]=w):w=t[15];let T;t[16]!==x||t[17]!==u||t[18]!==s?(T=[x,u,s,y],t[16]=x,t[17]=u,t[18]=s,t[19]=T):T=t[19],(0,Z.useLayoutEffect)(w,T);let E;t[20]===c?E=t[21]:(E=e=>{let t=e.currentTarget;c&&(t.scrollTop<h.current-1?m.current=!0:t.scrollHeight-t.scrollTop-t.clientHeight<=Pu&&(m.current=!1)),h.current=t.scrollTop,y(t)},t[20]=c,t[21]=E);let D=E,O;t[22]===r?O=t[23]:(O=U(`relative`,r),t[22]=r,t[23]=O);let k;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(k={[Fu]:``},t[24]=k):k=t[24];let A;t[25]===u?A=t[26]:(A=u===null?void 0:{maxHeight:u},t[25]=u,t[26]=A);let j;t[27]!==n||t[28]!==D||t[29]!==A?(j=(0,Q.jsx)(`div`,{ref:l,...k,className:`overflow-y-auto overscroll-contain [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,style:A,onScroll:D,children:n}),t[27]=n,t[28]=D,t[29]=A,t[30]=j):j=t[30];let M=f?`opacity-100`:`opacity-0`,N;t[31]===M?N=t[32]:(N=U(`pointer-events-none absolute inset-x-0 top-0 h-8 bg-gradient-to-b from-background/80 to-transparent transition-opacity duration-150`,M),t[31]=M,t[32]=N);let P;t[33]===N?P=t[34]:(P=(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:N}),t[33]=N,t[34]=P);let F;return t[35]!==O||t[36]!==j||t[37]!==P?(F=(0,Q.jsxs)(`div`,{className:O,children:[j,P]}),t[35]=O,t[36]=j,t[37]=P,t[38]=F):F=t[38],F}function Ru(e){return Array.from(e.querySelectorAll(`[${Iu}]`)).filter(t=>t.closest(`[${Fu}]`)===e)}function zu(e,t){if(e.length<=t)return null;let n=e.map(e=>e.getBoundingClientRect().height),r=n.reduce((e,t)=>e+t,0),i=e[0].getBoundingClientRect().top,a=e[e.length-1].getBoundingClientRect().bottom,o=Math.max(0,(a-i-r)/(e.length-1)),s=n.toSorted((e,t)=>t-e).slice(0,t).reduce((e,t)=>e+t,0);return s<=0?null:Math.ceil(s+o*(t-1))}var Bu=/^(.*?)\s+line(?:s)?\s+(\d+)(?:-(\d+))?$/i;function Vu(e){return e.map(e=>e.header.trim()).filter(e=>e.length>0).map(Hu).join(` `)}function Hu(e){let t=e.trim(),n=Bu.exec(t);if(!n)return`@${t.toLowerCase().replace(/\s+/g,`-`)}`;let r=Number.parseInt(n[2]??``,10),i=Number.parseInt(n[3]??n[2]??``,10);return!Number.isFinite(r)||!Number.isFinite(i)?`@${t.toLowerCase().replace(/\s+/g,`-`)}`:rt({terminalLabel:n[1]?.trim()||`terminal`,lineStart:r,lineEnd:i})}function Uu(e,t){let n=0;for(let r of t){let t=Hu(r.header),i=e.indexOf(t,n);if(i===-1)return!1;n=i+t.length}return!0}var Wu=72,Gu=56,Ku=22,qu=22.75,Ju=33,Yu=88,Xu=2,Zu=228,Qu=.75,$u=32,ed=8,td=7.2,nd=7.2,rd=4,id=20;function ad(e,t){if(e.length===0)return 1;let n=0,r=0;for(let i=0;i<e.length;i+=1){if(e.charCodeAt(i)===10){n+=Math.max(1,Math.ceil(r/t)),r=0;continue}r+=1}return n+=Math.max(1,Math.ceil(r/t)),n}function od(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}function sd(e){if(!od(e))return Gu;let t=e*Qu,n=Math.max(t-$u,0);return Math.max(rd,Math.floor(n/td))}function cd(e){if(!od(e))return Wu;let t=Math.max(e-ed,0);return Math.max(id,Math.floor(t/nd))}function ld(e,t={timelineWidthPx:null}){if(e.role===`assistant`){let n=cd(t.timelineWidthPx);return Ju+ad(e.text,n)*qu}if(e.role===`user`){let n=sd(t.timelineWidthPx),r=Et(e.text),i=ad(r.contexts.length>0?[Vu(r.contexts),r.visibleText].filter(e=>e.length>0).join(` `):r.visibleText,n),a=e.attachments?.length??0,o=Math.ceil(a/Xu)*Zu;return Yu+i*Ku+o}let n=cd(t.timelineWidthPx);return Ju+ad(e.text,n)*qu}var ud=new WeakMap;function dd(e){return Math.max(1,e.split(/\r?\n/g).length)}function fd(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function pd(e){let t=e.content;if(typeof t==`string`&&t.length>0)return t;let n=fd(e.result)?.content;if(typeof n==`string`&&n.length>0)return n;let r=fd(e.item);if(r){let e=r.content;if(typeof e==`string`&&e.length>0)return e;let t=fd(r.result)?.content;if(typeof t==`string`&&t.length>0)return t}return null}function md(e){let t=ud.get(e);if(t)return t;let n=e,r=pd(n);if(r!==null){let t={text:r,lineCount:dd(r),format:`text`};return ud.set(e,t),t}if(`entries`in n&&Array.isArray(n.entries)){let t=n.entries,r=t.length===0?`(empty directory)`:t.map(e=>{let t=e.kind===`directory`?`/`:``;return`${e.name??`?`}${t}`}).join(`
|
|
263
|
-
`),i={text:r,lineCount:dd(r),format:`text`};return ud.set(e,i),i}let i=typeof n.stdout==`string`?n.stdout.trimEnd():``,a=typeof n.stderr==`string`?n.stderr.trimEnd():``;if(i||a){let t=i&&a?`${i}\n\n${a}`:i||a,n={text:t,lineCount:dd(t),format:`text`};return ud.set(e,n),n}if(typeof n.bytesWritten==`number`&&typeof n.path==`string`){let t={text:`Wrote ${n.bytesWritten} bytes to ${n.path}`,lineCount:1,format:`text`};return ud.set(e,t),t}try{let t=JSON.stringify(e,null,2),n={text:typeof t==`string`?t:null,lineCount:typeof t==`string`?dd(t):1,format:`json`};return ud.set(e,n),n}catch{let t={text:null,lineCount:1,format:`text`};return ud.set(e,t),t}}function hd(e){if(e==null)return{text:null,lineCount:0,format:`text`};if(typeof e==`string`)return{text:e||null,lineCount:e.length>0?dd(e):0,format:`text`};if(typeof e==`object`)return md(e);try{let t=JSON.stringify(e,null,2);return{text:typeof t==`string`?t:null,lineCount:typeof t==`string`?dd(t):1,format:`json`}}catch{return{text:null,lineCount:1,format:`text`}}}function gd(e){let t=e.itemId?.trim();return t&&t.length>0?`work-item:${t}`:e.id}function _d(e,t){let n=t?.[e.expansionId];return n===void 0?t?.[e.id]:n}function vd(e){return e.groupedEntries.some(e=>e.running)||e.stickyInProgress?!0:e.childRows.some(e=>vd(e))}function yd(e,t){let n=_d(e,t);return n===void 0?vd(e):n}function bd(e,t){return _d(e,t)??!1}function xd(e){return e.role===`assistant`&&e.text.trim().length===0}function Sd(e){if(e.groupedEntries.length>1||(e.inlineEntries?.length??0)>0)return!0;let t=e.groupedEntries[0];return!!(t?.running&&!_f(t))}function Cd(e){return`work-entry:${e}`}function wd(e){return`turn-work:${e}`}function Td(e){let t=Math.max(0,e.tailRowCount??8),n=Math.max(e.rows.length-t,0),r=typeof e.activeTurnStartedAt==`string`?Date.parse(e.activeTurnStartedAt):NaN,i=-1;if(Number.isNaN(r)||(i=e.rows.findIndex(e=>{if(e.kind===`working`)return!0;if(!e.createdAt)return!1;let t=Date.parse(e.createdAt);return!Number.isNaN(t)&&t>=r})),i<0&&e.activeTurnInProgress&&(i=e.rows.findIndex(e=>e.kind===`working`?!0:e.kind===`message`&&e.message.streaming)),i<0)return n;for(let t=i-1;t>=0;--t){let r=e.rows[t];if(!(!r||r.kind!==`message`)){if(r.message.role===`user`)return Math.min(t,n);if(r.message.role===`assistant`&&!r.message.streaming)break}}return Math.min(i,n)}function Ed(e){let t=new Map,n=null;for(let r of e)r.role===`user`&&(n=r.createdAt),t.set(r.id,n??r.createdAt),r.role===`assistant`&&r.completedAt&&(n=r.completedAt);return t}function Dd(e){return e.replace(/\s+(?:start|started|complete|completed)\s*$/i,``).trim()}var Od=new Set([`read file`,`list directory`]),kd=new Set([`read`,`read file`,`view`]),Ad=new Set([`list`,`list directory`,`ls`]),jd=new Set([`ack`,`ag`,`fd`,`find`,`glob`,`grep`,`rg`,`ripgrep`,`search`,`web search`]),Md=new Set([`create file`]),Nd=new Set([`delete file`]),Pd=[`cat`,`fd`,`find`,`grep`,`head`,`less`,`ls`,`pwd`,`read`,`rg`,`sed`,`stat`,`tail`,`tree`],Fd=new Set([`oldPath`,`old_path`,`prevPath`,`prev_path`]),Id=new Set([`newPath`,`new_path`]),Ld=/(^new file mode\b|^--- \/dev\/null$)/m,Rd=/(^deleted file mode\b|^\+\+\+ \/dev\/null$)/m,zd=`/dev/null`;function Bd(e){return Dd(e.toolTitle??e.label).replace(/[._-]/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function Vd(e){let t=Bd(e);return t===`runtime warning`||t===`runtime error`}function Hd(e){return e&&typeof e==`object`?e:null}function $(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function Ud(e){return Re(Wd(e))}function Wd(e){return e?$(/^([A-Za-z][A-Za-z0-9 _-]{1,48}):\s*[[{"]/u.exec(e.trim())?.[1]):null}function Gd(e){if(!e)return null;let t=/^[A-Za-z][A-Za-z0-9 _-]{1,48}:\s*(\{[\s\S]*\})\s*$/u.exec(e.trim());if(!t?.[1])return null;try{return Hd(JSON.parse(t[1]))}catch{return null}}function Kd(e){return Re(qd(e))||Ud(e.detail)}function qd(e){return $(lt(e.output)?.toolName)??$(e.toolTitle)??Wd(e.detail)}function Jd(e){return(lt(e.output)?.input??null)||Gd(e.detail)}function Yd(e,t){return e.itemType===`mcp_tool_call`||t?.startsWith(`mcp `)===!0||Bd(e)===`mcp tool call`}function Xd(e){return Yd(e,Kd(e))}function Zd(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[._-]+/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function Qd(e){let t=qd(e);if(t){let e=Zd(/^mcp__([^_]+(?:_[^_]+)*)__([\s\S]+)$/u.exec(t)?.[2]??t.replace(/^mcp[_\s-]+/iu,``));if(e.length>0&&e!==`tool call`)return e}let n=Bd(e);return n!==`mcp tool call`&&n.length>0?n:`tool`}function $d(e,t,n=0){if(n>5)return!1;if(Array.isArray(e))return e.some(e=>$d(e,t,n+1));let r=Hd(e);if(!r)return!1;for(let[e,i]of Object.entries(r))if(t.has(e)&&$(i)===zd||$d(i,t,n+1))return!0;return!1}function ef(e,t,n=0){if(n>5||e==null)return!1;if(typeof e==`string`)return t.test(e);if(Array.isArray(e))return e.some(e=>ef(e,t,n+1));let r=Hd(e);return r?Object.values(r).some(e=>ef(e,t,n+1)):!1}function tf(e){let t=Kd(e);return t&&Md.has(t)?`create`:t&&Nd.has(t)?`delete`:$d(e.output,Fd)||ef(e.output,Ld)?`create`:$d(e.output,Id)||ef(e.output,Rd)?`delete`:e.requestKind===`file-change`||e.itemType===`file_change`||se(t)===`file-change`?`edit`:null}function nf(e){return tf(e)!==null}function rf(e){return Kd(e)===`skill`}function af(e){switch(e.operation){case`create`:return e.running?`Creating`:`Created`;case`delete`:return e.running?`Deleting`:`Deleted`;case`edit`:return e.providerToolName===`write`||e.providerToolName===`write file`||e.providerToolName===`file write`?e.running?`Writing`:`Wrote`:e.providerToolName===`apply patch`?e.running?`Applying patch`:`Applied patch`:e.running?`Editing`:`Edited`}}function of(e){return e?kd.has(e)?`read`:Ad.has(e)?`list`:jd.has(e)?`search`:null:null}function sf(e){return Be(e)}function cf(e){if(!e)return!1;let t=e.trim();return/^[A-Za-z][A-Za-z0-9 _-]{1,48}:\s*\{\s*\}$/u.test(t)}function lf(e){let t=e.detail??e.changedFiles?.[0]??null;return t?cf(t)?null:t:null}function uf(e){return e.replace(/[._-]/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function df(e,t){return t?uf(e)===uf(t)?null:t:null}function ff(e,t){if(!t)return null;let n=t.trim(),r=e=>{let t=n.replace(e,``).trim();return t.length>0?t:null};switch(e){case`read`:return r(/^(?:read|reading)\s+/iu)??n;case`list`:return r(/^(?:listed|listing|list)\s+/iu)??n;case`search`:return r(/^(?:found|finding|searched(?:\s+for)?|searching(?:\s+for)?)\s+/iu)??n;default:return n}}function pf(e){let t=e.trim();if(t.length===0)return null;let n=t.replace(/^(?:write file|file write|str replace file|edit file|apply patch)\s*:\s*/iu,``).replace(/^(?:write|edit|replace)\s+(?=\d+\s+files?\b)/iu,``).trim();return n.length===0||uf(n)===`file`?null:n}function mf(e){if(e.providerToolPath)return e.providerToolPath;let t=df(e.action,e.explicitDetail);return t?pf(t):null}function hf(e){return(e.command??e.detail??``).trim().toLowerCase()}function gf(e){let t=hf(e);return t.length===0?!1:t.split(/&&|\|\||[;|]/g).map(e=>e.trim()).filter(e=>e.length>0).some(e=>Pd.some(t=>e===t||e.startsWith(`${t} `)))}function _f(e){if(e.requestKind===`file-read`||e.itemType===`image_view`||e.itemType===`web_search`)return!0;let t=Bd(e);return Od.has(t)||t.includes(`search`)||of(Kd(e))!==null?!0:e.requestKind===`command`||e.itemType===`command_execution`?gf(e):!1}function vf(e){if(!e)return null;let t=$(e.description)??$(e.task)??$(e.title)??$(e.prompt),n=$(e.subagent_type)??$(e.subagentType)??$(e.agent_type)??$(e.agentType);return t&&n?`${t} (${n})`:t??n??null}function yf(e){return e?$(e.skill)??$(e.skill_name)??$(e.skillName)??$(e.name):null}function bf(e){return $(e?.tool_use_id)??$(e?.toolUseId)}function xf(e){if(!e)return null;let t=$(e.content);if(t)return t;if(Array.isArray(e.content)){let t=e.content.map(e=>$(Hd(e)?.text)).filter(e=>e!==null).join(`
|
|
264
|
-
|
|
265
|
-
`);return t.length>0?t:null}return null}function Sf(e){return e?Hd(e.content)??e:null}function Cf(e){if(Kd(e)!==`skill`)return null;let t=Jd(e),n=Hd(lt(e.output)?.result),r=Sf(n);return{skillName:yf(t)??$(r?.skill)??$(r?.name),skillPath:$(r?.path),skillMarkdown:$(r?.content),toolUseId:bf(n),resultText:xf(n)}}function wf(e){if(e.itemType!==`collab_agent_tool_call`)return null;let t=Jd(e);if(!t)return null;let n=Hd(lt(e.output)?.result),r=$(t.description)??$(t.task)??$(t.title),i=$(t.prompt)??$(t.message),a=$(t.subagent_type)??$(t.subagentType)??$(t.agent_type)??$(t.agentType);return!r&&!i&&!a?null:{description:r,prompt:i,agentRole:a,runInBackground:t.run_in_background===!0||t.runInBackground===!0,toolUseId:bf(n),resultText:xf(n)}}function Tf(e){if(!e)return null;let t=$(e.question);if(t)return t;let n=Array.isArray(e.questions)?e.questions:null;return $((n?.[0]?Hd(n[0]):null)?.question)}function Ef(e){if(!e)return null;let t=$(e.explanation),n=Array.isArray(e.plan)?e.plan.length:0;return t&&n>0?`${t} (${n} steps)`:t||(n>0?`${n} steps`:null)}function Df(e){if(!e)return null;let t=(Array.isArray(e.todos)?e.todos:null)?.filter(e=>{let t=Hd(e);return $(t?.content)??$(t?.activeForm)??$(t?.text)??$(t?.title)}).length??0;return t<=0?`todo list`:`todo list (${t} ${t===1?`task`:`tasks`})`}function Of(e){let t=Me(e.providerToolInput),n=G(e.providerToolInput),r=ye(e.providerToolInput),i=t?`#${t}`:null,a,o;switch(e.toolName){case`task create`:a=e.running?`Creating task`:`Created task`,o=n;break;case`task list`:return{kind:`other`,action:e.running?`Listing tasks`:`Listed tasks`,detail:null,monospace:!1,dedupeKey:null};case`task get`:a=e.running?`Viewing task`:`Viewed task`,o=i;break;default:{a=e.running?`Updating task`:`Updated task`;let t=r??n;o=i&&t?`${i} · ${t}`:i??t;break}}return{kind:`other`,action:a,detail:o??e.fallbackDetail,monospace:!1,dedupeKey:null}}function kf(e){if(!e)return null;let t=$(e.target)??$(e.task_id)??$(e.taskId);if(t)return t;let n=Array.isArray(e.targets)?e.targets:null;if(!n||n.length===0){let t=Hd(e.agentsStates);if(!t)return null;let n=Object.keys(t).filter(e=>e.trim().length>0);return n.length>0?n.join(`, `):null}let r=n.map(e=>$(e)).filter(e=>e!==null);return r.length>0?r.join(`, `):null}function Af(e){let t=he(e.providerToolInput),n=Ce(e.providerToolInput),r=Te(e.providerToolInput),i=t??r??e.fallbackDetail;return n===`open_page`?{kind:`search`,action:e.running?`Opening page`:`Opened page`,detail:i,monospace:!1,dedupeKey:null}:n===`find_in_page`?{kind:`search`,action:e.running?`Searching in page`:`Searched in page`,detail:i,monospace:!1,dedupeKey:null}:n===`search`?{kind:`search`,action:e.running?`Searching for`:`Searched for`,detail:i,monospace:!1,dedupeKey:null}:{kind:`search`,action:i?e.running?`Searching web for`:`Searched web for`:e.running?`Searching web`:`Searched web`,detail:i,monospace:!1,dedupeKey:null}}var jf=/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|`([^`\\]|\\.)*`|[^\s]+/g,Mf=new Set([`ack`,`ag`,`fd`,`find`,`grep`,`rg`]),Nf=new Set([`bat`,`cat`,`head`,`less`,`more`,`read`,`sed`,`tail`]),Pf=new Set([`dir`,`ls`,`pwd`,`stat`,`tree`]),Ff=new Set([`awk`,`cat`,`cut`,`grep`,`head`,`jq`,`sed`,`sort`,`tail`,`tr`,`uniq`,`wc`]);function If(e){if(e.length<2)return e;let t=e[0];return t!==`"`&&t!==`'`&&t!=="`"||e[e.length-1]!==t?e:e.slice(1,-1).replace(/\\(["'`\\])/g,`$1`).trim()}function Lf(e){let t=e.match(jf);return t?t.map(If).filter(e=>e.length>0):[]}function Rf(e){if(!e)return``;let t=e.replace(/\\/g,`/`);return(t.split(`/`).at(-1)??t).toLowerCase()}function zf(e){for(let t=0;t<e.length;t+=1){let n=e[t];if(n){if(n===`--`)return e[t+1]??null;if(!n.startsWith(`-`))return n}}return null}function Bf(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(!(!n||n===`--`||n.startsWith(`-`)))return n}return null}function Vf(e){let t=Lf(e);if(t.length===0)return null;let n=Rf(t[0]),r=t.slice(1);if(n===`find`){for(let e=0;e<r.length-1;e+=1){let t=r[e];if(t===`-name`||t===`-iname`||t===`-path`||t===`-ipath`||t===`-regex`){let t=r[e+1];if(t)return{kind:`search`,action:`Searched for`,detail:t,monospace:!1,dedupeKey:null}}}return{kind:`list`,action:`Listed`,detail:zf(r),monospace:!0,dedupeKey:null}}if(Mf.has(n))return{kind:`search`,action:`Searched for`,detail:zf(r),monospace:!1,dedupeKey:null};if(Nf.has(n)){let e=Bf(r);return{kind:`read`,action:`Read`,detail:e,monospace:!0,dedupeKey:e?`read:${e}`:null}}return Pf.has(n)?{kind:`list`,action:`Listed`,detail:n===`pwd`?null:Bf(r)??zf(r),monospace:!0,dedupeKey:null}:null}function Hf(e){return e.label.trim().toLowerCase()===`status update`}function Uf(e){let t=e.detail?.trim()||e.command?.trim()||``;if(t.length===0)return null;let n=t.replace(/^status update[:\s-]*/iu,``).trim();return n.length>0?n:null}function Wf(e){return Hf(e)&&!Uf(e)}function Gf(e){if(!e)return!1;let t=Lf(e);if(t.length===0)return!1;let n=Rf(t[0]);return Ff.has(n)?!t.some(e=>e===`--`||e.includes(`/`)||e.includes(`\\`)||e.startsWith(`.`)||e.startsWith(`~`)):!1}function Kf(e){switch(e){case`read`:return`Reading`;case`list`:return`Listing`;case`search`:return`Searching for`;case`edit`:return`Editing`;case`command`:return`Running`;default:return`Working`}}function qf(e){let t=Bd(e),n=lf(e),r=e.running===!0,i=Jd(e),a=Kd(e),o=of(a),s=ke(i),c=he(i),l=tf(e),u=vf(i),d=yf(i),f=Tf(i),p=Ef(i),m=Df(i),h=kf(i);if(Vd(e))return{kind:`other`,action:t===`runtime error`?`Runtime error`:`Runtime warning`,detail:null,monospace:!1,dedupeKey:null};if(Yd(e,a))return{kind:`other`,action:r?`Using MCP`:`Used MCP`,detail:Qd(e),monospace:!1,dedupeKey:null};if(a===`wait agent`||a===`wait`)return{kind:`other`,action:r?`Waiting for agent`:`Waited for agent`,detail:h??n,monospace:!1,dedupeKey:null};if(a===`close agent`)return{kind:`other`,action:r?`Closing agent`:`Closed agent`,detail:h??n,monospace:!1,dedupeKey:null};if(e.itemType===`collab_agent_tool_call`||a&&Ft(a))return{kind:`other`,action:``,detail:u??n,monospace:!1,dedupeKey:null};if(a===`skill`)return{kind:`other`,action:r?`Using Skill`:`Used Skill`,detail:d??n,monospace:!1,dedupeKey:null};if(a===`send input`||a===`send message`)return{kind:`other`,action:r?`Sending input`:`Sent input`,detail:h??n,monospace:!1,dedupeKey:null};if(a===`update plan`)return{kind:`other`,action:r?`Updating plan`:`Updated plan`,detail:p??n,monospace:!1,dedupeKey:null};if(a&&le(a))return Of({toolName:a,providerToolInput:i,running:r,fallbackDetail:n});if(sf(a))return{kind:`other`,action:r?`Updating`:`Updated`,detail:m,monospace:!1,dedupeKey:null};if(a&&_e(a))return{kind:`other`,action:r?`Requesting input`:`Requested input`,detail:f??n,monospace:!1,dedupeKey:null};if(l){let e=af({operation:l,running:r,providerToolName:a});return{kind:`edit`,action:e,detail:mf({action:e,explicitDetail:n,providerToolPath:s}),monospace:!0,dedupeKey:null}}if(e.itemType===`web_search`)return Af({providerToolInput:i,running:r,fallbackDetail:n||e.command||null});if(o===`list`){let t=ff(`list`,n);return s===null&&Hf(e)&&Gf(t)?{kind:`command`,action:r?`Running`:`Ran`,detail:t,monospace:!0,dedupeKey:null}:{kind:`list`,action:r?`Listing`:`Listed`,detail:s??t,monospace:!0,dedupeKey:null}}if(o===`read`){let t=ff(`read`,n);return s===null&&Hf(e)&&Gf(t)?{kind:`command`,action:r?`Running`:`Ran`,detail:t,monospace:!0,dedupeKey:null}:{kind:`read`,action:r?`Reading`:`Read`,detail:s??t,monospace:!0,dedupeKey:s?`read:${s}`:t?`read:${t}`:null}}if(o===`search`){let t=ff(`search`,n),i=c&&s?`${c} in ${s}`:c??s??t??e.command??null;return{kind:`search`,action:r?`Searching for`:`Searched for`,detail:i,monospace:!1,dedupeKey:null}}if(t===`list directory`)return{kind:`list`,action:r?`Listing`:`Listed`,detail:n,monospace:!0,dedupeKey:null};if(e.requestKind===`file-read`||e.itemType===`image_view`||t===`read file`){let t=ff(`read`,n);return Hf(e)&&Gf(t)?{kind:`command`,action:r?`Running`:`Ran`,detail:t,monospace:!0,dedupeKey:null}:{kind:`read`,action:r?`Reading`:`Read`,detail:n,monospace:!0,dedupeKey:n?`read:${n}`:null}}if(t.includes(`search`))return{kind:`search`,action:r?`Searching for`:`Searched for`,detail:n||e.command||null,monospace:!1,dedupeKey:null};if(_f(e)){let t=Vf(e.command??e.detail??``);if(t)return r?{...t,action:Kf(t.kind)}:t}if(e.requestKind===`command`||e.itemType===`command_execution`)return{kind:`command`,action:r?`Running`:`Ran`,detail:e.command||n||null,monospace:!0,dedupeKey:null};let g=e.toolTitle?Dd(e.toolTitle):Dd(e.label),_=g.length>0?`${g.charAt(0).toUpperCase()}${g.slice(1)}`:g;return{kind:`other`,action:_,detail:df(_,e.command||n||null),monospace:!1,dedupeKey:null}}function Jf(e,t,n=Yf(t)){return`${e} ${e===1?t:n}`}function Yf(e){return/(?:s|x|z|ch|sh)$/i.test(e)?`${e}es`:/[^aeiou]y$/i.test(e)?`${e.slice(0,-1)}ies`:`${e}s`}function Xf(e){if(e.count<=0)return null;let t=Jf(e.count,e.singular,e.plural);return{leadingVerb:e.leadingVerb,leadingRest:t,trailing:`${e.trailingVerb} ${t}`}}function Zf(e){let[t,...n]=e;if(!t)return{leadingVerb:``,rest:``};let r=[];t.leadingRest.length>0&&r.push(t.leadingRest);for(let e of n)r.push(e.trailing);return{leadingVerb:t.leadingVerb,rest:r.join(`, `)}}function Qf(e){if(e.length<=1)return[...e];let t=new Set,n=[];for(let r=e.length-1;r>=0;--r){let i=e[r],a=qf(i);if(a.kind===`read`&&a.dedupeKey){if(t.has(a.dedupeKey))continue;t.add(a.dedupeKey)}n.push(i)}return n.reverse(),n}function $f(e){let t=!1,n=!1,r=!1,i=!1,a=!1,o=!1,s=!1,c=!1,l=!1,u=!1;for(let d of Qf(e)){let e=Kd(d),f=qf(d);if(Yd(d,e)){l=!0;continue}if(d.itemType===`web_search`){u=!0;continue}if(d.itemType===`collab_agent_tool_call`||e&&Ft(e)){t=!0;continue}if(e===`skill`){s=!0;continue}if(sf(e)||le(e)){c=!0;continue}if(tf(d)){r=!0;continue}if(f.kind===`search`){o=!0;continue}if(f.kind===`read`){i=!0;continue}if(f.kind===`list`){a=!0;continue}if(d.requestKind===`command`||d.itemType===`command_execution`){n=!0;continue}d.tone===`tool`&&tp(d)!==null&&(l=!0)}return t?`agent`:s?`skill`:c?`todo`:u?`web-search`:r?`edit`:o?`search`:i?`file`:a?`list`:n?`command`:l?`tool`:`work`}function ep(e,t){let n=e.some(e=>e.running)||t,r=new Set,i=new Set,a=new Set,o=new Set,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=[],g=0,_=0;for(let t of Qf(e)){if(t.itemType===`web_search`){_+=1;continue}let e=qf(t),n=Kd(t),v=tf(t);if(v){if(e.detail){if(v===`create`){r.add(e.detail);continue}if(v===`delete`){a.add(e.detail);continue}i.add(e.detail);continue}if(v===`create`){s+=1;continue}if(v===`delete`){l+=1;continue}c+=1;continue}if(_f(t)){if(e.kind===`read`){o.add(e.dedupeKey??`entry:${t.id}`);continue}if(e.kind===`search`){u+=1;continue}if(e.kind===`list`){d+=1;continue}}if(sf(n)){m+=1,e.detail&&h.push(e.detail);continue}if(le(n)){g+=1;continue}if(t.requestKind===`command`||t.itemType===`command_execution`){f+=1;continue}(t.tone===`tool`||n!==null)&&t.itemType!==`collab_agent_tool_call`&&tp(t)!==null&&(p+=1)}let v=[Xf({count:r.size+s,leadingVerb:n?`Creating`:`Created`,trailingVerb:n?`creating`:`created`,singular:`file`}),Xf({count:i.size+c,leadingVerb:n?`Editing`:`Edited`,trailingVerb:n?`editing`:`edited`,singular:`file`}),Xf({count:a.size+l,leadingVerb:n?`Deleting`:`Deleted`,trailingVerb:n?`deleting`:`deleted`,singular:`file`})].filter(e=>e!==null),y=[];if(o.size>0&&y.push(Jf(o.size,`file`)),u>0&&y.push(Jf(u,`search`)),d>0&&y.push(Jf(d,`list`)),y.length>0){let e=y.join(`, `);v.push({leadingVerb:n?`Exploring`:`Explored`,leadingRest:e,trailing:`${n?`exploring`:`explored`} ${e}`})}let b=Xf({count:f,leadingVerb:n?`Running`:`Ran`,trailingVerb:n?`running`:`ran`,singular:`command`});b&&v.push(b);let x=Xf({count:p,leadingVerb:n?`Calling`:`Called`,trailingVerb:n?`calling`:`called`,singular:`tool`});if(x&&v.push(x),m>0){let e=m===1?h[0]??`todo list`:`${m} todo lists`;v.push({leadingVerb:n?`Updating`:`Updated`,leadingRest:e,trailing:`${n?`updating`:`updated`} ${e}`})}if(g>0){let e=g===1?`task list`:`task list (${g} updates)`;v.push({leadingVerb:n?`Updating`:`Updated`,leadingRest:e,trailing:`${n?`updating`:`updated`} ${e}`})}let S=Xf({count:_,leadingVerb:n?`Searching web`:`Searched web`,trailingVerb:n?`searching web`:`searched web`,singular:`time`,plural:`times`});if(S&&v.push(S),v.length>0)return Zf(v);if(e.length===1){let t=qf(e[0]),n=t.action,r=t.detail??``;if((n+r).trim().length>0)return{leadingVerb:n,rest:r}}return{leadingVerb:n?`Working`:`Worked`,rest:``}}function tp(e){let t=e.label.trim().toLowerCase()===`status update`,n=Kd(e);if(e.itemType===`web_search`)return`web-search`;if(nf(e))return`edit`;if(_f(e))return`explore`;if(e.requestKind===`command`||e.itemType===`command_execution`)return`command`;if(e.itemType===`collab_agent_tool_call`){let t=qf(e);return t.detail?`subagent:${t.detail}`:`subagent:${e.id}`}if(e.itemType===`mcp_tool_call`||e.itemType===`dynamic_tool_call`||t&&n)return`tool`;if(t)return null;let r=Dd(e.toolTitle??e.label);return r.length>0?`other:${r.toLowerCase()}`:null}function np(e){let t=[],n=new Set,r=Ed(e.timelineEntries.flatMap(e=>e.kind===`message`?[e.message]:[]));for(let i=0;i<e.timelineEntries.length;i+=1){let a=e.timelineEntries[i];if(a){if(a.kind===`work`||a.kind===`reasoning`){if(n.has(a.id))continue;let r=i+1,o=[a];for(n.add(a.id);r<e.timelineEntries.length;){let t=e.timelineEntries[r];if(!t)break;if(t.kind!==`work`&&t.kind!==`reasoning`){if(op(t)){r+=1;continue}break}o.push(t),n.add(t.id),r+=1}t.push(...sp(o,{stickyTailInProgress:e.isWorking&&r>=e.timelineEntries.length}));continue}switch(a.kind){case`proposed-plan`:t.push({kind:`proposed-plan`,id:a.id,createdAt:a.createdAt,proposedPlan:a.proposedPlan});continue;case`message`:t.push({kind:`message`,id:a.id,createdAt:a.createdAt,message:a.message,durationStart:r.get(a.message.id)??a.message.createdAt,showCompletionDivider:a.message.role===`assistant`&&e.completionDividerBeforeEntryId===a.id});continue}}}return e.isWorking&&t.push({kind:`working`,id:`working-indicator-row`,createdAt:e.activeTurnStartedAt}),rp(t,e.expandedWorkGroups)}function rp(e,t){let n=[];for(let t=0;t<e.length;t+=1){let r=e[t];r&&r.kind===`message`&&r.message.role===`user`&&n.push(t)}if(n.length<2)return e;let r=e.slice(0,n[0]);for(let i=0;i<n.length;i+=1){let a=n[i],o=i+1<n.length?n[i+1]:e.length,s=e.slice(a,o);if(i===n.length-1){r.push(...s);continue}r.push(...ap(s,t))}return r}function ip(e){let t=e[0];if(!t||t.kind!==`message`||t.message.role!==`user`)return null;let n=null,r=-1/0;for(let t=1;t<e.length;t+=1){let i=e[t];if(!i)continue;let a=i.kind===`message`?[i.message.completedAt,i.createdAt]:[i.createdAt];for(let e of a){if(!e)continue;let t=Date.parse(e);!Number.isNaN(t)&&t>r&&(r=t,n=e)}}if(!n)return null;let i=de(t.message.createdAt,n);return i?`Worked for ${i}`:null}function ap(e,t){let n=e[0];if(!n||n.kind!==`message`||n.message.role!==`user`)return e;let r=-1;for(let t=e.length-1;t>0;--t){let n=e[t];if(n?.kind===`message`&&n.message.role===`assistant`&&!xd(n.message)){r=t;break}}if(r<=1)return e;let i=ip(e);if(!i)return e;let a=wd(n.id),o=t?.[a]===!0;return[n,{kind:`turn-divider`,id:`turn-divider:${n.id}`,createdAt:n.createdAt,expansionKey:a,summary:i,expanded:o},...o?e.slice(1,r):[],...e.slice(r)]}function op(e){return e.kind===`message`&&xd(e.message)}function sp(e,t){let n=e.flatMap(e=>e.kind===`work`&&!Wf(e.entry)?[e.entry]:[]),r=e.some(e=>e.kind===`reasoning`);if(n.length===0)return e.flatMap(e=>e.kind===`reasoning`?[{kind:`reasoning`,id:e.id,createdAt:e.createdAt,reasoning:e.reasoning}]:[]);let i=cp(n,t);if(!r)return i;if(r&&i.every(e=>e.childRows.length===0)){let t=new Map;for(let e=0;e<i.length;e+=1){let n=i[e];if(n)for(let r of n.groupedEntries)t.set(r.id,e)}let n=i.map(()=>[]),r=[],a=null;for(let i of e){if(i.kind===`reasoning`){r.push({kind:`reasoning`,id:i.id,reasoning:i.reasoning});continue}let e=t.get(i.entry.id);e!==void 0&&(r.length>0&&(n[e]?.push(...r),r=[]),n[e]?.push({kind:`work`,id:i.id,entry:i.entry}),a=e)}return r.length>0&&a!==null&&n[a]?.push(...r),i.map((e,t)=>{let r=n[t];return!r||r.length===0?e:Object.assign({},e,{inlineEntries:r})})}let a=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(!r||r.kind===`work`&&Wf(r.entry))continue;if(r.kind===`reasoning`){a.push({kind:`reasoning`,id:r.id,createdAt:r.createdAt,reasoning:r.reasoning});continue}let i=n+1,o=[r.entry];for(;i<e.length;){let t=e[i];if(!t||t.kind!==`work`)break;if(Wf(t.entry)){i+=1;continue}o.push(t.entry),i+=1}a.push(...cp(o,{stickyTailInProgress:t.stickyTailInProgress&&i>=e.length})),n=i-1}return a}function cp(e,t){if(e.length===0)return[];let n=new Set(e.map(e=>e.itemId).filter(e=>typeof e==`string`&&e.length>0)),r=new Set,i=new Map;for(let t of e){if(!t.parentItemId||!n.has(t.parentItemId))continue;r.add(t.id);let e=i.get(t.parentItemId);e?e.push(t):i.set(t.parentItemId,[t])}let a=e.filter(e=>!r.has(e.id)),o=[],s=e=>typeof e.itemId==`string`&&(i.get(e.itemId)?.length??0)>0,c=e=>e.itemType===`collab_agent_tool_call`||s(e)||e.tone!==`tool`&&tp(e)===null?null:`tool`;for(let e=0;e<a.length;e+=1){let n=a[e],r=[n],s=c(n),l=e+1;if(s!==null)for(;l<a.length;){let e=a[l];if(!e||c(e)!==s)break;r.push(e),l+=1}let u=r[0],d=r.length===1&&u.itemId?i.get(u.itemId)??[]:[];o.push({kind:`work`,id:u.id,expansionId:gd(u),createdAt:u.createdAt,groupedEntries:r,stickyInProgress:t.stickyTailInProgress&&l>=a.length,childRows:cp(d,{stickyTailInProgress:!1})}),e=l-1}return o}function lp(e,t){switch(e.kind){case`work`:return dp(e,t);case`proposed-plan`:return mp(e.proposedPlan);case`reasoning`:return up(e.reasoning.text);case`turn-divider`:return 44;case`working`:return 40;case`message`:{if(xd(e.message))return 0;let n=ld(e.message,{timelineWidthPx:t.timelineWidthPx}),r=t.turnDiffSummaryByAssistantMessageId?.get(e.message.id);return r&&r.files.length>0&&(n+=gp(r)),n}}}function up(e){let t=Math.max(1,e.split(/\r?\n/g).length);return 36+Math.min(t*14,140)}function dp(e,t){let n=e=>{let t=nf(e)?Su(e.output,e.detail):null;if(t)return 70+t.lines.length*20+8;let n=pp(e.output);return 42+Math.min(Math.max(n,1)*18,192)},r=e=>fp(e.map(e=>dp(e,t)+6)),i=e=>e.running?22:e.itemType===`web_search`?26:t.expandedWorkGroups?.[Cd(e.id)]??!1?n(e):26,a=e=>fp(e.map(e=>e.kind===`reasoning`?up(e.reasoning.text)+6:i(e.entry)));if(e.childRows.length>0)return yd(e,t.expandedWorkGroups)?42+r(e.childRows)+8:42;let o=Qf(e.groupedEntries),s=o.length;if(!Sd(e)&&s===1){let r=o[0];return r.running?40:bd(e,t.expandedWorkGroups)?n(r):42}return(s===1&&!e.inlineEntries?bd(e,t.expandedWorkGroups):yd(e,t.expandedWorkGroups))?e.inlineEntries?42+a(e.inlineEntries)+8:42+fp(o.map(i))+8:42}function fp(e){return(e.length<=5?e:e.toSorted((e,t)=>t-e).slice(0,5)).reduce((e,t)=>e+t,0)}function pp(e){return hd(e).lineCount}function mp(e){let t=Math.max(1,Math.ceil(e.planMarkdown.length/72));return 120+Math.min(t*22,880)}var hp=5;function gp(e){let t=e.files.length;return t>hp?68+hp*24+24:68+t*24}var _p=`.assistant-text-selectable`,vp=92;function yp(e){let t=window.innerWidth||document.documentElement.clientWidth;return t<=vp*2?e:Math.min(Math.max(e,vp),t-vp)}function bp(e){return e?e.nodeType===Node.ELEMENT_NODE?e:e.parentElement:null}function xp(e){return bp(e)?.closest(_p)??null}function Sp(e){for(let t of Array.from(e.getClientRects()))if(t.width>0&&t.height>0)return t;let t=e.getBoundingClientRect();return t.width>0||t.height>0?t:null}function Cp(e){let t=window.getSelection();if(!t||t.isCollapsed||t.rangeCount===0)return null;let n=t.toString().trim();if(n.length===0)return null;let r=xp(t.anchorNode),i=xp(t.focusNode);if(!r||r!==i||e&&!e.contains(r))return null;let a=t.getRangeAt(0);if(!r.contains(a.startContainer)||!r.contains(a.endContainer))return null;let o=Sp(a);if(!o)return null;let s=o.top>=52?`above`:`below`;return{selectedText:n,left:yp(o.left+o.width/2),top:s===`above`?Math.max(8,o.top-8):o.bottom+8,placement:s}}var wp=(0,Z.memo)(function(e){let t=(0,X.c)(19),{containerRef:n,onAddSelectedText:r}=e,[i,a]=(0,Z.useState)(null),o=(0,Z.useRef)(null),s;t[0]===n?s=t[1]:(s=()=>{let e=Cp(n.current);if(e){a(e);return}a(null)},t[0]=n,t[1]=s);let c=s,l;t[2]===c?l=t[3]:(l=()=>{o.current===null&&(o.current=window.requestAnimationFrame(()=>{o.current=null,c()}))},t[2]=c,t[3]=l);let u=l,d,f;t[4]===u?(d=t[5],f=t[6]):(d=()=>(u(),document.addEventListener(`selectionchange`,u),document.addEventListener(`keyup`,u),document.addEventListener(`pointerup`,u),document.addEventListener(`scroll`,u,!0),window.addEventListener(`resize`,u),()=>{document.removeEventListener(`selectionchange`,u),document.removeEventListener(`keyup`,u),document.removeEventListener(`pointerup`,u),document.removeEventListener(`scroll`,u,!0),window.removeEventListener(`resize`,u),o.current!==null&&(window.cancelAnimationFrame(o.current),o.current=null)}),f=[u],t[4]=u,t[5]=d,t[6]=f),(0,Z.useEffect)(d,f);let p=Ep,m;t[7]!==r||t[8]!==i?.selectedText?(m=()=>{let e=i?.selectedText;e&&(r(e),a(null),window.getSelection()?.removeAllRanges())},t[7]=r,t[8]=i?.selectedText,t[9]=m):m=t[9],i?.selectedText;let h=m;if(!i)return null;let g=i.placement===`above`?`translate(-50%, -100%)`:`translate(-50%, 0)`,_;t[10]!==i.left||t[11]!==i.top||t[12]!==g?(_={left:i.left,top:i.top,transform:g},t[10]=i.left,t[11]=i.top,t[12]=g,t[13]=_):_=t[13];let v;t[14]===h?v=t[15]:(v=(0,Q.jsx)(Tp,{onPointerDown:p,onClick:h}),t[14]=h,t[15]=v);let y;return t[16]!==_||t[17]!==v?(y=(0,uo.createPortal)((0,Q.jsx)(`div`,{className:`pointer-events-none fixed z-50`,style:_,children:v}),document.body),t[16]=_,t[17]=v,t[18]=y):y=t[18],y});function Tp(e){let t=(0,X.c)(5),{onPointerDown:n,onClick:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=U(`h-6 gap-1 rounded-full bg-popover px-2 text-[10px]/3 before:rounded-full`,`text-popover-foreground hover:bg-accent hover:text-accent-foreground`),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(qt,{className:`size-3`,"aria-hidden":`true`}),t[1]=a):a=t[1];let o;return t[2]!==r||t[3]!==n?(o=(0,Q.jsx)(`div`,{className:`pointer-events-auto rounded-full border border-border/70 bg-popover p-0.5 shadow-md`,children:(0,Q.jsxs)(I,{type:`button`,variant:`ghost`,size:`sm`,className:i,"data-assistant-selection-add-to-chat":`true`,onPointerDown:n,onClick:r,children:[a,`Add to chat`]})}),t[2]=r,t[3]=n,t[4]=o):o=t[4],o}function Ep(e){e.preventDefault()}var Dp=12;function Op({scrollContainer:e,groupRef:t,isActive:n,entryCount:r,globalAutoScrollSuppressRef:i}){let a=(0,Z.useRef)(!0),o=(0,Z.useRef)(0);(0,Z.useEffect)(()=>{if(n)return a.current=!0,i.current+=1,()=>{--i.current}},[n,i]),(0,Z.useEffect)(()=>{if(!e||!n)return;o.current=e.scrollTop;let t=()=>{let{scrollTop:t}=e,n=t<o.current-1;o.current=t,n?a.current=!1:Mo(e)&&(a.current=!0)};return e.addEventListener(`scroll`,t,{passive:!0}),()=>e.removeEventListener(`scroll`,t)},[e,n]),(0,Z.useEffect)(()=>{if(!n||!a.current)return;let r=e,i=t.current;if(!r||!i)return;let o=window.requestAnimationFrame(()=>{let e=i.getBoundingClientRect().bottom-r.getBoundingClientRect().bottom;e<=0||r.scrollTo({top:r.scrollTop+e+Dp,behavior:`smooth`})});return()=>window.cancelAnimationFrame(o)},[r,n,e,t])}var kp=10,Ap=300,jp=120,Mp=`pb-2`,Np=`min-w-0 py-0.5`,Pp=.5,Fp=96,Ip=new Map,Lp=new Set,Rp={current:0};function zp({hasMessages:e,isWorking:t,showWorkingIndicator:n=t,activeTurnInProgress:r,activeTurnStartedAt:a,activeTurnId:o=null,revealingBufferedAssistantMessageIds:s=Lp,scrollContainer:c,workGroupAutoScrollSuppressRef:l=Rp,timelineEntries:u,completionDividerBeforeEntryId:d,completionSummary:f,turnDiffSummaryByAssistantMessageId:p,showTurnDiffActions:m=!0,expandedWorkGroups:h,onToggleWorkGroup:_,onOpenArtifact:y=()=>void 0,onOpenTurnDiff:b,revertTurnCountByUserMessageId:x,onRevertUserMessage:S,onRetryAssistantMessage:C,onEditUserMessage:w,isRevertingCheckpoint:T,onImageExpand:E,markdownCwd:D,resolvedTheme:O,timestampFormat:k,workspaceRoot:A,onAddAssistantSelectionToChat:j,onVirtualizerSnapshot:M}){let N=(0,Z.useRef)(0),P=l??N,F=(0,Z.useRef)(null),L=(0,Z.useRef)(new Map),[R,z]=(0,Z.useState)(null),[B,ee]=(0,Z.useState)(null),[te,ne]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{ne(!1)},[d]);let V=(0,Z.useRef)(null),re=(0,Z.useCallback)(()=>{V.current===null?P.current+=1:window.clearTimeout(V.current),V.current=window.setTimeout(()=>{V.current=null,--P.current},Ap)},[P]);(0,Z.useEffect)(()=>()=>{V.current!==null&&(window.clearTimeout(V.current),V.current=null,--P.current)},[P]);let ie=m?p:Ip;(0,Z.useLayoutEffect)(()=>{let e=F.current;if(!e)return;let t=e=>{z(t=>t!==null&&Math.abs(t-e)<.5?t:e)};if(t(e.getBoundingClientRect().width),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>{t(e.getBoundingClientRect().width)});return n.observe(e),()=>{n.disconnect()}},[]);let H=(0,Z.useMemo)(()=>np({timelineEntries:u,completionDividerBeforeEntryId:d,isWorking:n,activeTurnStartedAt:a,expandedWorkGroups:h}),[u,d,n,a,h]),ae=(0,Z.useMemo)(()=>Td({rows:H,activeTurnInProgress:r,activeTurnStartedAt:a,tailRowCount:8}),[r,a,H]),{collapsibleRowIds:oe,hasCollapsibleWork:se,firstCollapsibleRowIndex:ce,latestTurnSummary:le}=(0,Z.useMemo)(()=>{let e=-1,t=-1;for(let n=H.length-1;n>=0;--n){let r=H[n];if(!(!r||r.kind!==`message`)&&(t===-1&&r.showCompletionDivider&&(t=n),r.message.role===`user`)){e=n;break}}let n=t>=0?t:H.length,r=new Set,i=-1;for(let t=e+1;t<n;t+=1){let e=H[t];!e||e.kind===`working`||(i===-1&&(i=t),r.add(e.id))}return{collapsibleRowIds:r,hasCollapsibleWork:t>=0&&r.size>0,firstCollapsibleRowIndex:i,latestTurnSummary:t>=0&&e>=0?ip(H.slice(e)):null}},[H]),ue=se&&!te,de=le??f,W=H.length>=jp?Math.min(i(ae,{minimum:0,maximum:H.length}),ce>=0?ce:H.length):0,fe=R===null?`width:unknown`:`width:${Math.round(R)}`;(0,Z.useEffect)(()=>{let e=new Set(H.map(e=>e.id));for(let t of L.current.keys())e.has(t)||L.current.delete(t)},[H]);let pe=(0,Z.useCallback)(e=>Kp(e,ie,h),[h,ie]),me=(0,Z.useCallback)((e,t,n)=>{if(!Number.isFinite(n)||n<=0)return;let r=L.current.get(e);r?.cacheKey===t&&Math.abs(r.height-n)<=Pp||L.current.set(e,{cacheKey:t,height:n})},[]),he=v({count:W,getScrollElement:()=>c,getItemKey:e=>{let t=H[e];return t?`${fe}:${pe(t)}`:`${fe}:${e}`},estimateSize:e=>{let t=H[e];if(!t)return 96;let n=L.current.get(t.id);return n?.cacheKey===pe(t)?n.height:lp(t,{expandedWorkGroups:h,timelineWidthPx:R,turnDiffSummaryByAssistantMessageId:ie})},measureElement:g,useAnimationFrameWithResizeObserver:!0,overscan:8});(0,Z.useEffect)(()=>{R!==null&&he.measure()},[he,R]),(0,Z.useEffect)(()=>(he.shouldAdjustScrollPositionOnItemSizeChange=(e,t,n)=>{let r=n.scrollRect?.height??0,i=n.scrollOffset??0;return e.end>i&&e.start<i+r?!1:n.getTotalSize()-(i+r)>64},()=>{he.shouldAdjustScrollPositionOnItemSizeChange=void 0}),[he]);let ge=(0,Z.useRef)(null),_e=(0,Z.useCallback)(()=>{ge.current===null&&(ge.current=window.requestAnimationFrame(()=>{ge.current=null,he.measure()}))},[he]),ve=(0,Z.useCallback)(()=>{_e()},[_e]);(0,Z.useEffect)(()=>()=>{let e=ge.current;e!==null&&window.cancelAnimationFrame(e)},[]),(0,Z.useLayoutEffect)(()=>{M&&M({totalSize:he.getTotalSize(),measurements:he.measurementsCache.slice(0,W).flatMap(e=>{let t=H[e.index];return t?[{id:t.id,kind:t.kind,index:e.index,size:e.size,start:e.start,end:e.end}]:[]})})},[M,he,H,W]);let ye=he.getVirtualItems(),be=H.slice(W);(0,Z.useLayoutEffect)(()=>{he.measure()},[H[W]?.id??null,he,H.length,W]);let xe=(0,Z.useMemo)(()=>{let e=new Map,t=null,n=null,i=null,a=!1,s=()=>{a||!n||!t||!i||e.set(i,{assistantMessage:n,turnStart:t})};for(let e of H)if(e.kind!==`working`){if(e.kind===`message`&&e.message.role===`user`){s(),t=e.message.createdAt,n=null,i=null,a=!1;continue}e.kind===`message`&&xd(e.message)||(i=e.id,e.kind===`message`&&e.message.role===`assistant`&&(t===null&&(t=e.durationStart),r&&o!==null&&e.message.turnId!==void 0&&e.message.turnId===o&&(a=!0),n=e.message))}return s(),e},[o,r,H]),G=(0,Z.useMemo)(()=>{let e=new Set,t=e=>e.kind===`working`||e.kind===`message`&&xd(e.message)?null:e.kind===`message`&&e.message.role===`user`?`user`:`assistant-side`,n=null;for(let r of H){let i=t(r);i!==null&&(n!==null&&n!==i&&e.add(r.id),n=i)}return e},[H]),Se=(e,t=0)=>{let n=e.expansionId,r=e.groupedEntries,i=e.childRows.length>0,a=t>0?`ml-4 border-l border-border/40 pl-3`:``;if(i){let i=r[0],o=vd(e),s=yd(e,h),c=qf(i),l=c.action,u=c.detail??``,d=u.length>0?`${l} ${u}`:l,f=$f(r),p=f===`tool`&&r.some(Xd)?`mcp-toolbox`:void 0,m=!o||f===`agent`,g=o&&f!==`agent`,v=`work-group-items-${n}`,y=()=>{_(n,s),_e()};return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Q.jsxs)(`button`,{type:`button`,"aria-label":d,className:U(Fi,`group flex min-w-0 flex-1 items-center gap-2 rounded-sm border-0 bg-transparent py-0.5 text-left text-muted-foreground/80 transition-colors duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`,`cursor-pointer focus-visible:text-foreground`,m&&`hover:text-foreground`),onClick:y,children:[(0,Q.jsx)(Zp,{kind:f,iconName:p,className:U(`text-muted-foreground/75 transition-colors duration-150`,`group-hover:text-foreground`)}),(0,Q.jsxs)(`span`,{className:`truncate`,children:[(0,Q.jsx)(`span`,{className:U(`transition-colors duration-150`,o&&`group-hover:text-foreground`),children:l}),u.length>0?(0,Q.jsxs)(`span`,{className:U(g&&`shimmer shimmer-spread-200`),children:[` `,u]}):null]})]}),(0,Q.jsx)(`button`,{type:`button`,"aria-controls":v,"aria-expanded":s,className:U(`group flex size-5 shrink-0 items-center justify-center rounded-sm border-0 bg-transparent text-muted-foreground/60 transition-colors duration-150 hover:text-foreground focus-visible:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`),onClick:y,children:(0,Q.jsx)(tr,{className:U(`size-3 transition-transform duration-150`,!s&&`-rotate-90`)})})]}),(0,Q.jsx)(Tr,{open:s,children:(0,Q.jsx)(`div`,{id:v,className:`mt-0.5 pr-1`,children:(0,Q.jsx)(Lu,{itemCount:e.childRows.length,maxVisibleItems:5,followBottom:o,onClampChange:_e,children:(0,Q.jsx)(`div`,{className:`space-y-0.5`,children:e.childRows.map(e=>(0,Q.jsx)(`div`,{"data-item-clamped-viewport-item":``,children:Se(e,t+1)},`nested-work-row:${e.id}`))})})})})]})})}if(r.length===1){let i=r[0],o=vd(e);if(gm(i))return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(vm,{workEntry:i})});if(Sd(e)){let i=e.inlineEntries?yd(e,h):bd(e,h),s=ep(r,e.stickyInProgress);return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Wm,{entries:r,groupItemsId:`work-group-items-${n}`,isExpanded:i,isInProgress:o,summary:s,nested:t>0,inlineEntries:e.inlineEntries,markdownCwd:D,expandedWorkGroups:h,onToggleWorkGroup:_,onHeightChange:_e,onToggleGroup:()=>{_(n,i),_e()},scrollContainer:c,autoScrollSuppressRef:P})})}if(!i.running){if(i.itemType===`web_search`||rf(i))return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Em,{workEntry:i,indented:!1,cwd:D})});let t=bd(e,h);return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Um,{workEntry:i,isExpanded:t,onToggle:()=>_(n,t),onHeightChange:_e,cwd:D})})}return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Em,{workEntry:i,indented:!1,cwd:D})})}let o=vd(e),s=t>0||yd(e,h),l=ep(r,e.stickyInProgress);return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Wm,{entries:r,groupItemsId:`work-group-items-${n}`,isExpanded:s,isInProgress:o,summary:l,nested:t>0,inlineEntries:e.inlineEntries,markdownCwd:D,expandedWorkGroups:h,onToggleWorkGroup:_,onHeightChange:_e,onToggleGroup:()=>{_(n,s),_e()},scrollContainer:c,autoScrollSuppressRef:P})})},Ce=(e,n)=>{if(e.kind===`message`&&xd(e.message))return(0,Q.jsx)(`div`,{className:`h-0 overflow-hidden`,"data-timeline-row-id":e.id,"data-timeline-row-kind":e.kind,"data-message-id":e.message.id,"data-message-role":e.message.role,"aria-hidden":`true`});let r=xe.get(e.id);return(0,Q.jsxs)(`div`,{className:U(Mp,!n?.suppressBoundaryGap&&G.has(e.id)&&`mt-4`,r&&`group/assistant-message`),"data-timeline-row-id":e.id,"data-timeline-row-kind":e.kind,"data-message-id":e.kind===`message`?e.message.id:void 0,"data-message-role":e.kind===`message`?e.message.role:void 0,children:[e.kind===`work`&&(0,Q.jsx)(Om,{children:Se(e)}),e.kind===`turn-divider`&&(0,Q.jsx)(Dm,{summary:e.summary,expanded:e.expanded,onToggle:()=>{_(e.expansionKey,e.expanded),_e()}}),e.kind===`message`&&e.message.role===`user`&&(()=>{let n=e.message.attachments??[],r=Et(e.message.text),i=r.contexts,a=x.has(e.message.id),o=w!==void 0&&!e.message.turnId;if(B?.id===e.message.id){let n=B.draft.trim().length>0,r=()=>{ee(null),_e()},i=()=>{!n||!w||t||T||(w(e.message.id,B.draft),r())};return(0,Q.jsxs)(`div`,{className:`ml-auto w-full max-w-[75%]`,children:[(0,Q.jsx)(Oa,{autoFocus:!0,size:`sm`,value:B.draft,"aria-label":`Edit message`,onChange:t=>ee({id:e.message.id,draft:t.target.value}),onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),r();return}e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),i())}}),(0,Q.jsxs)(`div`,{className:`mt-1.5 flex items-center justify-end gap-1.5`,children:[(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,onClick:r,children:`Cancel`}),(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`outline`,disabled:!n||T||t,onClick:i,title:`Send the edited message; later messages in this thread are discarded`,children:`Send`})]})]})}let s=r.copyText||a||o?(0,Q.jsxs)(Q.Fragment,{children:[r.copyText&&(0,Q.jsx)(Mu,{text:r.copyText}),o&&(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`outline`,disabled:T||t,onClick:()=>{ee({id:e.message.id,draft:e.message.text}),_e()},title:`Edit message`,children:(0,Q.jsx)(_n,{className:`size-3`})}),a&&(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`outline`,disabled:T||t,onClick:()=>S(e.message.id),title:`Revert to this message`,children:(0,Q.jsx)(Wn,{className:`size-3`})})]}):null;return(0,Q.jsxs)(`div`,{className:`group ml-auto w-fit max-w-[75%]`,children:[(0,Q.jsx)(`div`,{className:`glass-user-message`,children:(0,Q.jsx)(`div`,{className:`min-w-0`,children:(0,Q.jsxs)(Q.Fragment,{children:[n.length>0&&(0,Q.jsx)(`div`,{className:U(`mb-2 max-w-full gap-2`,n.length===1?`inline-grid w-fit max-w-[420px] grid-cols-1`:`grid max-w-[420px] grid-cols-2`),children:n.map(e=>(0,Q.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border/80 bg-background/70`,children:e.previewUrl?(0,Q.jsx)(`button`,{type:`button`,className:`h-full w-full cursor-zoom-in`,"aria-label":`Preview ${e.name}`,onClick:()=>{let t=Jl(n,e.id);t&&E(t)},children:(0,Q.jsx)(`img`,{src:e.previewUrl,alt:e.name,className:U(`max-h-[220px] max-w-full`,n.length===1?`block h-auto w-auto object-contain`:`h-full w-full object-cover`),onLoad:ve,onError:ve})}):(0,Q.jsx)(`div`,{className:U(`text-sm font-normal leading-relaxed`,`flex min-h-[72px] items-center justify-center px-2 py-3 text-center text-muted-foreground/70`),children:e.name})},e.id))}),(r.visibleText.trim().length>0||i.length>0)&&(0,Q.jsx)(mm,{text:r.visibleText,terminalContexts:i})]})})}),s&&(0,Q.jsx)(`div`,{className:`mt-1.5 flex items-center justify-end gap-1.5 opacity-0 transition-opacity duration-200 focus-within:opacity-100 group-hover:opacity-100`,children:s})]})})(),e.kind===`message`&&e.message.role===`assistant`&&(()=>{let t=e.message.text||(e.message.streaming?``:`(empty response)`);return(0,Q.jsxs)(Q.Fragment,{children:[e.showCompletionDivider&&!se&&(0,Q.jsx)(Dm,{className:`mb-2 mt-0.5`,summary:de,expanded:!1}),(0,Q.jsxs)(`div`,{className:Np,children:[(0,Q.jsx)(Ri,{text:t,cwd:D,isStreaming:!!e.message.streaming,revealBlocks:s.has(e.message.id)}),(()=>{let t=ie.get(e.message.id);return!t||t.files.length===0?null:(0,Q.jsx)(Yp,{turnSummary:t,resolvedTheme:O,onOpenArtifact:y,onOpenTurnDiff:b,onHeightChange:_e})})()]})]})})(),e.kind===`reasoning`&&(0,Q.jsx)(hm,{reasoning:e.reasoning,markdownCwd:D,onHeightChange:_e}),e.kind===`proposed-plan`&&(0,Q.jsx)(`div`,{className:Np,children:(0,Q.jsx)(Yl,{planMarkdown:e.proposedPlan.planMarkdown,cwd:D,workspaceRoot:A})}),e.kind===`working`&&(0,Q.jsx)(`div`,{className:`py-0.5`,children:(0,Q.jsx)(lm,{createdAt:e.createdAt})}),(()=>{if(!r)return null;let{assistantMessage:e,turnStart:n}=r,i=e.text||(e.streaming?``:`(empty response)`);return(0,Q.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-1.5 opacity-0 transition-opacity duration-200 focus-within:opacity-100 group-hover/assistant-message:opacity-100`,children:[(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[!e.streaming&&i&&(0,Q.jsx)(Mu,{text:i}),!e.streaming&&!t&&(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,disabled:T,onClick:()=>C(e.id),title:`Retry response`,children:(0,Q.jsx)(er,{className:`size-3`})})]}),(0,Q.jsx)(cm,{createdAt:e.createdAt,durationStart:n,completedAt:e.completedAt,streaming:!!e.streaming,timestampFormat:k})]})})()]})},we=()=>(0,Q.jsx)(Dm,{className:`mb-2 mt-4`,summary:de,expanded:te,onToggle:()=>{re(),ne(e=>!e),_e()}});return!e&&!t?(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:U(Fi,`text-foreground/55`),children:`Send a message to start the conversation.`})}):(0,Q.jsx)(gn,{features:On,children:(0,Q.jsxs)(`div`,{ref:F,"data-timeline-root":`true`,className:`mx-auto w-full min-w-0 max-w-[44rem]`,children:[j?(0,Q.jsx)(wp,{containerRef:F,onAddSelectedText:j}):null,W>0&&(0,Q.jsx)(`div`,{className:`relative`,style:{height:`${he.getTotalSize()}px`},children:ye.map(e=>{let t=H[e.index];return t?(0,Q.jsx)(`div`,{"data-index":e.index,"data-virtual-row-id":t.id,"data-virtual-row-kind":t.kind,"data-virtual-row-size":e.size,"data-virtual-row-start":e.start,ref:he.measureElement,className:`absolute left-0 top-0 w-full`,style:{transform:`translateY(${e.start}px)`},children:Ce(t)},`virtual-row:${String(e.key)}`):null})}),(()=>{let e=(e,t)=>(0,Q.jsx)(qp,{cacheKey:pe(e),rowId:e.id,onMeasured:me,children:Ce(e,t)},`non-virtual-row:${e.id}`),t=[],n=0;for(;n<be.length;){let r=be[n];if(!r){n+=1;continue}if(!oe.has(r.id)){t.push(e(r)),n+=1;continue}let i=[];for(;n<be.length;){let e=be[n];if(!e||!oe.has(e.id))break;i.push(e),n+=1}t.push((0,Q.jsxs)(Z.Fragment,{children:[se&&we(),(0,Q.jsx)(Tr,{open:!ue,animateOnMount:!1,unmountOnExit:!1,fade:!0,className:`shiori-expand-panel--smooth`,children:i.map(t=>e(t,{suppressBoundaryGap:se}))})]},`latest-turn-work-collapse`))}return t})()]})})}var Bp=(0,Z.memo)(zp);function Vp(e){return e.length<=Fp*2?`${e.length}:${e}`:[e.length,e.slice(0,Fp),e.slice(-Fp)].join(`:`)}function Hp(e){return!e||e.files.length===0?`diff:none`:`diff:${e.files.length}:${Vp(e.files.map(e=>`${e.path}:${e.additions??0}:${e.deletions??0}`).join(`
|
|
266
|
-
`))}`}function Up(e){let t=hd(e.output);return[e.id,e.itemId??``,e.parentItemId??``,e.running?`running`:`settled`,e.itemType??``,e.tone,Vp(e.label),Vp(e.detail??``),Vp(e.command??``),t.lineCount,t.format,Vp(t.text??``)].join(`:`)}function Wp(e){return[`work`,e.id,e.expansionId,e.stickyInProgress?`sticky`:`settled`,e.groupedEntries.map(Up).join(`|`),(e.inlineEntries??[]).map(e=>e.kind===`work`?`inline-work:${e.id}:${Up(e.entry)}`:`inline-reasoning:${e.id}:${e.reasoning.streaming?`streaming`:`settled`}:${Vp(e.reasoning.text)}`).join(`|`),e.childRows.map(Wp).join(`|`)].join(`:`)}function Gp(e,t){let n=[],r=new Set,i=e=>{if(r.has(e))return;r.add(e);let i=t[e];i!==void 0&&n.push(`${e}:${i?`1`:`0`}`)},a=e=>{i(Cd(e.id))},o=e=>{i(e.expansionId),i(e.id);for(let t of e.groupedEntries)a(t);for(let t of e.inlineEntries??[])t.kind===`work`&&a(t.entry);for(let t of e.childRows)o(t)};return o(e),n.length>0?n.join(`|`):`expanded:none`}function Kp(e,t,n){switch(e.kind){case`work`:return`expanded:${Gp(e,n)}:${Wp(e)}`;case`reasoning`:return`reasoning:${e.id}:${e.reasoning.streaming?`streaming`:`settled`}:${Vp(e.reasoning.text)}`;case`message`:return[`message`,e.id,e.message.role,e.message.streaming?`streaming`:`settled`,e.message.completedAt??``,e.showCompletionDivider?`divider`:`no-divider`,e.message.attachments?.length??0,Vp(e.message.text),Hp(t.get(e.message.id))].join(`:`);case`proposed-plan`:return`proposed-plan:${e.id}:${Vp(e.proposedPlan.planMarkdown)}`;case`turn-divider`:return`turn-divider:${e.id}:${e.expanded?`open`:`closed`}:${e.summary}`;case`working`:return`working:${e.id}:${e.createdAt??``}`}}var qp=(0,Z.memo)(function(e){let t=(0,X.c)(8),{cacheKey:n,children:r,onMeasured:i,rowId:a}=e,o=(0,Z.useRef)(null),s,c;t[0]!==n||t[1]!==i||t[2]!==a?(s=()=>{let e=o.current;if(!e)return;let t=null,r=()=>{t=null,i(a,n,e.getBoundingClientRect().height)},s=()=>{t===null&&(t=window.requestAnimationFrame(r))};if(r(),typeof ResizeObserver>`u`)return()=>{t!==null&&window.cancelAnimationFrame(t)};let c=new ResizeObserver(s);return c.observe(e),()=>{c.disconnect(),t!==null&&window.cancelAnimationFrame(t)}},c=[n,i,a],t[0]=n,t[1]=i,t[2]=a,t[3]=s,t[4]=c):(s=t[3],c=t[4]),(0,Z.useLayoutEffect)(s,c);let l;return t[5]!==r||t[6]!==a?(l=(0,Q.jsx)(`div`,{ref:o,"data-non-virtual-row-id":a,children:r}),t[5]=r,t[6]=a,t[7]=l):l=t[7],l}),Jp=5,Yp=(0,Z.memo)(function(e){let t=(0,X.c)(68),{turnSummary:n,resolvedTheme:r,onOpenArtifact:i,onOpenTurnDiff:a,onHeightChange:o}=e,s=n.files,[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(!1),f=c?Gt:nn,p=c?`Show changed files`:`Hide changed files`,m=s.length>Jp,h;t[0]!==m||t[1]!==s||t[2]!==u?(h=m&&!u?s.slice(0,Jp):s,t[0]=m,t[1]=s,t[2]=u,t[3]=h):h=t[3];let g=h,_=s.length-g.length,v;t[4]===o?v=t[5]:(v=()=>{o()},t[4]=o,t[5]=v);let y;t[6]!==c||t[7]!==u||t[8]!==o?(y=[c,u,o],t[6]=c,t[7]=u,t[8]=o,t[9]=y):y=t[9],(0,Z.useEffect)(v,y);let b,x,S,C,w;if(t[10]!==s){let e=ql(s);w=`mt-3 overflow-hidden rounded-xl border border-border/50 bg-background/40`,C=`flex items-center justify-between gap-3 px-4 pb-3 pt-3.5`,t[16]===Symbol.for(`react.memo_cache_sentinel`)?(b=U(Fi,`flex min-w-0 items-baseline gap-2 text-foreground`),t[16]=b):b=t[16];let n=s.length===1?`file`:`files`;t[17]!==s.length||t[18]!==n?(x=(0,Q.jsxs)(`span`,{className:`text-[15px] font-medium tracking-tight`,children:[s.length,` `,n,` changed`]}),t[17]=s.length,t[18]=n,t[19]=x):x=t[19],S=$l(e)&&(0,Q.jsx)(`span`,{className:`font-mono text-[13px] tabular-nums`,children:(0,Q.jsx)(eu,{additions:e.additions,deletions:e.deletions})}),t[10]=s,t[11]=b,t[12]=x,t[13]=S,t[14]=C,t[15]=w}else b=t[11],x=t[12],S=t[13],C=t[14],w=t[15];let T;t[20]!==b||t[21]!==x||t[22]!==S?(T=(0,Q.jsxs)(`p`,{className:b,children:[x,S]}),t[20]=b,t[21]=x,t[22]=S,t[23]=T):T=t[23];let E;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(E=U(Fi,`h-auto min-h-0 px-2 py-1 text-muted-foreground/80 hover:bg-foreground/5 hover:text-foreground`),t[24]=E):E=t[24];let D;t[25]!==s[0]?.path||t[26]!==a||t[27]!==n.turnId?(D=(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,className:E,onClick:()=>a(n.turnId,s[0]?.path),children:`View diff`}),t[25]=s[0]?.path,t[26]=a,t[27]=n.turnId,t[28]=D):D=t[28];let O;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(O=U(Fi,`h-auto min-h-0 px-2 py-1 text-muted-foreground/80 hover:bg-foreground/5 hover:text-foreground`),t[29]=O):O=t[29];let k;t[30]!==s[0]?.path||t[31]!==i?(k=(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,className:O,onClick:()=>{let e=s[0]?.path;e&&i(e)},children:`Preview`}),t[30]=s[0]?.path,t[31]=i,t[32]=k):k=t[32];let A=!c,j;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>l(qm),t[33]=j):j=t[33];let M;t[34]===f?M=t[35]:(M=(0,Q.jsx)(f,{className:`size-3.5`}),t[34]=f,t[35]=M);let N;t[36]!==p||t[37]!==c||t[38]!==A||t[39]!==M?(N=(0,Q.jsx)(jr,{render:(0,Q.jsx)(I,{type:`button`,size:`icon-xs`,variant:`ghost`,"aria-expanded":A,"aria-label":p,"aria-pressed":c,className:`text-muted-foreground/80 hover:bg-foreground/5 hover:text-foreground`,onClick:j,children:M})}),t[36]=p,t[37]=c,t[38]=A,t[39]=M,t[40]=N):N=t[40];let P;t[41]===p?P=t[42]:(P=(0,Q.jsx)(Hr,{side:`top`,children:p}),t[41]=p,t[42]=P);let F;t[43]!==N||t[44]!==P?(F=(0,Q.jsxs)(Vr,{children:[N,P]}),t[43]=N,t[44]=P,t[45]=F):F=t[45];let L;t[46]!==D||t[47]!==k||t[48]!==F?(L=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[D,k,F]}),t[46]=D,t[47]=k,t[48]=F,t[49]=L):L=t[49];let R;t[50]!==L||t[51]!==C||t[52]!==T?(R=(0,Q.jsxs)(`div`,{className:C,children:[T,L]}),t[50]=L,t[51]=C,t[52]=T,t[53]=R):R=t[53];let z;t[54]!==m||t[55]!==_||t[56]!==c||t[57]!==u||t[58]!==i||t[59]!==a||t[60]!==r||t[61]!==n.turnId||t[62]!==g?(z=!c&&(0,Q.jsxs)(`div`,{className:`border-t border-border/40 py-1`,children:[g.map(e=>{let t=e.additions??0,o=e.deletions??0;return(0,Q.jsxs)(`div`,{className:U(`text-sm font-normal leading-relaxed`,`group flex w-full items-center gap-2 px-3 py-1 hover:bg-foreground/5`),children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>a(n.turnId,e.path),className:`flex min-w-0 flex-1 items-center gap-2 text-left`,children:[(0,Q.jsx)(Pi,{pathValue:e.path,kind:`file`,theme:r,className:`size-3.5 shrink-0 text-muted-foreground/70`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[12.5px] text-muted-foreground/85 group-hover:text-foreground`,children:e.path}),(t>0||o>0)&&(0,Q.jsx)(`span`,{className:`shrink-0 font-mono text-[12px] tabular-nums`,children:(0,Q.jsx)(eu,{additions:t,deletions:o})})]}),(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,className:`h-5 shrink-0 px-1.5 text-[11px] text-muted-foreground/70 opacity-0 transition-opacity hover:text-foreground group-hover:opacity-100 focus-visible:opacity-100`,onClick:()=>i(e.path),children:`Preview`})]},`changed-file:${n.turnId}:${e.path}`)}),m&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>d(Jm),className:U(`text-sm font-normal leading-relaxed`,`flex w-full items-center gap-2 px-3 py-1 text-left text-[12.5px] text-muted-foreground/80 hover:bg-foreground/5 hover:text-foreground`),children:u?`Show fewer files`:`Show all Files (${_} more)`})]}),t[54]=m,t[55]=_,t[56]=c,t[57]=u,t[58]=i,t[59]=a,t[60]=r,t[61]=n.turnId,t[62]=g,t[63]=z):z=t[63];let B;return t[64]!==R||t[65]!==z||t[66]!==w?(B=(0,Q.jsxs)(`div`,{className:w,children:[R,z]}),t[64]=R,t[65]=z,t[66]=w,t[67]=B):B=t[67],B}),Xp={agent:Vt,command:bn,edit:_n,file:xn,list:Vn,search:Kn,skill:or,todo:jn,tool:Cn,"web-search":Xn,work:Hn},Zp=(0,Z.memo)(function(e){let t=(0,X.c)(6),n=Xp[e.kind]??Hn,r;t[0]===e.className?r=t[1]:(r=U(`size-3.5 shrink-0`,e.className),t[0]=e.className,t[1]=r);let i;return t[2]!==n||t[3]!==e.iconName||t[4]!==r?(i=(0,Q.jsx)(n,{"aria-hidden":`true`,className:r,"data-icon":e.iconName}),t[2]=n,t[3]=e.iconName,t[4]=r,t[5]=i):i=t[5],i}),Qp=(0,Z.memo)(function(){let e=(0,X.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(Zp,{kind:`tool`,iconName:`mcp-toolbox`,className:`mr-2 inline-block align-[-0.16em] text-muted-foreground/75`}),e[0]=t):t=e[0],t});function $p(e){return e.tone===`tool`?`text-foreground/60`:`text-foreground`}function em(e){return e.tone===`tool`?null:`assistant-text-selectable`}function tm(e,t){if(!e)return`Working for 0 seconds`;let n=Date.parse(e),r=Date.parse(t);return!Number.isFinite(n)||!Number.isFinite(r)?`Working for 0 seconds`:`Working for ${nm(Math.max(0,Math.floor((r-n)/1e3)))}`}function nm(e){let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=e%60;return t>0?rm([[t,`day`],[n,`hour`]]):n>0?rm([[n,`hour`],[r,`minute`]]):r>0?rm([[r,`minute`],[i,`second`]]):im(i,`second`)}function rm(e){let t=e.filter(([e])=>e>0).map(([e,t])=>im(e,t));return t.length>0?t.join(` `):`0 seconds`}function im(e,t){return`${e} ${e===1?t:`${t}s`}`}function am(e,t,n){return t?`${Yr(e,n)} • ${t}`:Yr(e,n)}function om(e){let t=(0,X.c)(5),[n,r]=(0,Z.useState)(sm),i,a;t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;r(Date.now());let t=window.setInterval(()=>{r(Date.now())},1e3);return()=>{window.clearInterval(t)}},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,Z.useEffect)(i,a);let o,s;return t[3]===n?s=t[4]:(s=new Date(n).toISOString(),t[3]=n,t[4]=s),o=s,o}function sm(){return Date.now()}var cm=(0,Z.memo)(function(e){let t=om(e.streaming),n=(0,Z.useMemo)(()=>e.streaming?de(e.durationStart,t):de(e.durationStart,e.completedAt),[t,e.completedAt,e.durationStart,e.streaming]);return(0,Q.jsx)(`p`,{className:U(Fi,`text-muted-foreground/70`),children:am(e.createdAt,n,e.timestampFormat)})}),lm=(0,Z.memo)(function(e){let t=om(e.createdAt!==null),n=tm(e.createdAt,t),r=(0,Z.useRef)(null);return r.current===null&&(r.current=kr()),(0,Q.jsxs)(`p`,{className:U(Fi,`text-foreground`),children:[(0,Q.jsx)(Ar,{className:`mr-1.5 text-foreground`,spinnerName:r.current}),(0,Q.jsx)(`span`,{className:`shimmer shimmer-spread-200`,children:n})]})}),um=(0,Z.memo)(function(e){let t=(0,X.c)(3),n=e.context.body.length>0?`${e.context.header}\n${e.context.body}`:e.context.header,r;return t[0]!==e.context.header||t[1]!==n?(r=(0,Q.jsx)(nl,{label:e.context.header,tooltipText:n}),t[0]=e.context.header,t[1]=n,t[2]=r):r=t[2],r}),dm=10;function fm(e){return Math.max(1,e.split(/\r?\n/g).length)}function pm(e,t){let n=e.split(/\r?\n/g);return n.length<=t?e:n.slice(0,t).join(`
|
|
267
|
-
`)}var mm=(0,Z.memo)(function(e){let t=(0,X.c)(15),[n,r]=(0,Z.useState)(!1),i=fm(e.text)>dm,a;t[0]!==n||t[1]!==e.text||t[2]!==i?(a=i&&!n?pm(e.text,dm):e.text,t[0]=n,t[1]=e.text,t[2]=i,t[3]=a):a=t[3];let o=a,s;t[4]===e.terminalContexts?s=t[5]:(s=t=>{if(e.terminalContexts.length>0){let n=Uu(t,e.terminalContexts),r=Vu(e.terminalContexts),i=[];if(n){let n=0;for(let r of e.terminalContexts){let e=Hu(r.header),a=t.indexOf(e,n);if(a===-1){i.length=0;break}a>n&&i.push((0,Q.jsx)(`span`,{children:t.slice(n,a)},`user-terminal-context-inline-before:${r.header}:${n}`)),i.push((0,Q.jsx)(um,{context:r},`user-terminal-context-inline:${r.header}`)),n=a+e.length}if(i.length>0)return n<t.length&&i.push((0,Q.jsx)(`span`,{children:t.slice(n)},`user-message-terminal-context-inline-rest:${n}`)),(0,Q.jsx)(`div`,{className:U(Fi,`wrap-break-word whitespace-pre-wrap text-foreground`),children:i})}for(let t of e.terminalContexts)i.push((0,Q.jsx)(um,{context:t},`user-terminal-context-inline:${t.header}`)),i.push((0,Q.jsx)(`span`,{"aria-hidden":`true`,children:` `},`user-terminal-context-inline-space:${t.header}`));if(t.length>0)i.push((0,Q.jsx)(`span`,{children:t},`user-message-terminal-context-inline-text`));else if(r.length===0)return null;return(0,Q.jsx)(`div`,{className:U(Fi,`wrap-break-word whitespace-pre-wrap text-foreground`),children:i})}return t.length===0?null:(0,Q.jsx)(`div`,{className:U(Fi,`whitespace-pre-wrap wrap-break-word text-foreground`),children:t})},t[4]=e.terminalContexts,t[5]=s);let c=s,l;t[6]!==o||t[7]!==c?(l=c(o),t[6]=o,t[7]=c,t[8]=l):l=t[8];let u;t[9]!==n||t[10]!==i?(u=i&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>r(Ym),className:`mt-1 text-xs font-medium text-muted-foreground/80 transition-colors duration-150 hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`,children:n?`Show less`:`Show more`}),t[9]=n,t[10]=i,t[11]=u):u=t[11];let d;return t[12]!==l||t[13]!==u?(d=(0,Q.jsxs)(Q.Fragment,{children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14],d}),hm=(0,Z.memo)(function(e){let t=(0,X.c)(41),{reasoning:n,markdownCwd:r,onHeightChange:i}=e,[a,o]=(0,Z.useState)(!1),s=(0,Z.useRef)(null),c=n.text.trim().length>0,l=n.streaming?`Reasoning is in progress. Details may remain hidden for this provider.`:`No visible reasoning details were provided for this step.`,u;t[0]===i?u=t[1]:(u=()=>{i?.()},t[0]=i,t[1]=u);let d;t[2]!==a||t[3]!==i||t[4]!==n.streaming||t[5]!==n.text?(d=[a,i,n.streaming,n.text],t[2]=a,t[3]=i,t[4]=n.streaming,t[5]=n.text,t[6]=d):d=t[6],(0,Z.useLayoutEffect)(u,d);let f;t[7]!==a||t[8]!==n.streaming?(f=()=>{if(!n.streaming||!a)return;let e=s.current;e&&(e.scrollTop=e.scrollHeight)},t[7]=a,t[8]=n.streaming,t[9]=f):f=t[9];let p;t[10]!==a||t[11]!==n.streaming||t[12]!==n.text?(p=[a,n.streaming,n.text],t[10]=a,t[11]=n.streaming,t[12]=n.text,t[13]=p):p=t[13],(0,Z.useLayoutEffect)(f,p);let m,h;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(m=U(Fi,`group flex w-full min-w-0 cursor-pointer items-center gap-1 rounded-sm py-0.5 text-left text-foreground/55 transition-colors duration-150 hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`),h=()=>{o(Xm)},t[14]=m,t[15]=h):(m=t[14],h=t[15]);let g=n.streaming&&`shimmer shimmer-spread-200`,_;t[16]===g?_=t[17]:(_=U(g),t[16]=g,t[17]=_);let v=n.streaming?`Thinking`:`Thought`,y;t[18]!==_||t[19]!==v?(y=(0,Q.jsx)(`span`,{className:_,children:v}),t[18]=_,t[19]=v,t[20]=y):y=t[20];let b=!a&&`-rotate-90`,x;t[21]===b?x=t[22]:(x=U(`size-3 shrink-0 opacity-0 transition-all duration-150 group-hover:opacity-100`,b),t[21]=b,t[22]=x);let S;t[23]===x?S=t[24]:(S=(0,Q.jsx)(tr,{className:x}),t[23]=x,t[24]=S);let C;t[25]!==a||t[26]!==S||t[27]!==y?(C=(0,Q.jsxs)(`button`,{type:`button`,className:m,onClick:h,"aria-expanded":a,children:[y,S]}),t[25]=a,t[26]=S,t[27]=y,t[28]=C):C=t[28];let w;t[29]!==c||t[30]!==r||t[31]!==l||t[32]!==n.streaming||t[33]!==n.text?(w=(0,Q.jsx)(`div`,{ref:s,className:`mt-1 max-h-48 overflow-y-auto overscroll-contain [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:c?(0,Q.jsx)(`div`,{className:`pr-1`,children:(0,Q.jsx)(Ri,{text:n.text,cwd:r,isStreaming:n.streaming,className:`text-foreground/55`})}):(0,Q.jsx)(`p`,{className:U(Fi,`assistant-text-selectable pr-1 text-foreground/55`),children:l})}),t[29]=c,t[30]=r,t[31]=l,t[32]=n.streaming,t[33]=n.text,t[34]=w):w=t[34];let T;t[35]!==a||t[36]!==w?(T=(0,Q.jsx)(Tr,{open:a,children:w}),t[35]=a,t[36]=w,t[37]=T):T=t[37];let E;return t[38]!==C||t[39]!==T?(E=(0,Q.jsxs)(`div`,{className:`py-0.5`,children:[C,T]}),t[38]=C,t[39]=T,t[40]=E):E=t[40],E});function gm(e){return e.label.trim().toLowerCase()===`status update`}function _m(e){let t=e.detail?.trim()||e.command?.trim()||``;if(t.length>0){let e=t.replace(/^status update[:\s-]*/i,``).trim();return e.length>0?e:null}return null}var vm=(0,Z.memo)(function(e){let t=(0,X.c)(7),n;t[0]===e.workEntry?n=t[1]:(n=_m(e.workEntry),t[0]=e.workEntry,t[1]=n);let r=n;if(!r)return null;let i;t[2]===e.workEntry?i=t[3]:(i=U(Fi,`wrap-break-word whitespace-pre-wrap`,$p(e.workEntry),em(e.workEntry)),t[2]=e.workEntry,t[3]=i);let a;return t[4]!==i||t[5]!==r?(a=(0,Q.jsx)(`div`,{className:Np,children:(0,Q.jsx)(`p`,{className:i,children:r})}),t[4]=i,t[5]=r,t[6]=a):a=t[6],a});function ym(e){let t=qf(e);return{action:t.action,detail:t.detail}}var bm=(0,Z.memo)(function(e){let t=(0,X.c)(5),{detail:n,monospace:r}=e,i=(r===void 0?!1:r)&&`font-mono`,a;t[0]===i?a=t[1]:(a=U(i,`text-inherit`),t[0]=i,t[1]=a);let o;return t[2]!==n||t[3]!==a?(o=(0,Q.jsxs)(`span`,{className:a,children:[` `,n]}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o});function xm(e){return e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function Sm(e,t){return!t||xm(e)?e:`${t.replace(/[\\/]+$/,``)}/${e.replace(/^\.\/+/,``)}`}function Cm(e){if(!e)return;let t=e.replace(/[\\/]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n<=0?void 0:t.slice(0,n)}var wm=(0,Z.memo)(function(e){let t=(0,X.c)(20),{label:n,path:r,cwd:i,title:a,showFileIcon:o}=e,s=o===void 0?!1:o,{resolvedTheme:c}=ji(),l;t[0]!==i||t[1]!==r?(l=Sm(r,i),t[0]=i,t[1]=r,t[2]=l):l=t[2];let u=l,d;t[3]===u?d=t[4]:(d=e=>{e.preventDefault(),e.stopPropagation();let t=F();t&&mi(t,u).catch(Zm)},t[3]=u,t[4]=d);let f=d,p=s?`app-file-href-link`:`underline-offset-[3px] hover:underline focus-visible:underline`,m;t[5]===p?m=t[6]:(m=U(`cursor-pointer rounded-sm text-primary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`,p),t[5]=p,t[6]=m);let h=a??`Open ${r} in preferred editor`,g;t[7]!==u||t[8]!==c||t[9]!==s?(g=s&&(0,Q.jsx)(Pi,{pathValue:u,kind:`file`,theme:c,className:`app-file-href-icon`}),t[7]=u,t[8]=c,t[9]=s,t[10]=g):g=t[10];let _;t[11]===n?_=t[12]:(_=(0,Q.jsx)(`span`,{children:n}),t[11]=n,t[12]=_);let v;return t[13]!==f||t[14]!==u||t[15]!==m||t[16]!==h||t[17]!==g||t[18]!==_?(v=(0,Q.jsxs)(`a`,{href:u,onClick:f,className:m,title:h,children:[g,_]}),t[13]=f,t[14]=u,t[15]=m,t[16]=h,t[17]=g,t[18]=_,t[19]=v):v=t[19],v}),Tm=(0,Z.memo)(function(e){let t=(0,X.c)(5),{basename:n,path:r,cwd:i}=e,a=`Open ${r} in preferred editor`,o;return t[0]!==n||t[1]!==i||t[2]!==r||t[3]!==a?(o=(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(wm,{label:n,path:r,cwd:i,title:a,showFileIcon:!0})]}),t[0]=n,t[1]=i,t[2]=r,t[3]=a,t[4]=o):o=t[4],o}),Em=(0,Z.memo)(function(e){let t=(0,X.c)(29),{workEntry:n,indented:r,asListItem:i,cwd:a,showMcpToolboxIcon:o}=e,s=r===void 0?!0:r,c=i===void 0?!1:i,l=o===void 0?!0:o,u;t[0]===n?u=t[1]:(u=ym(n),t[0]=n,t[1]=u);let{action:d,detail:f}=u,p;t[2]===n?p=t[3]:(p=qf(n),t[2]=n,t[3]=p);let m=p,h,g;t[4]===n?g=t[5]:(g=Cf(n),t[4]=n,t[5]=g),h=g;let _=h,v=m.monospace,y=m.kind===`edit`||m.kind===`read`,b=f&&_?.skillName===f?_.skillPath:null,x;t[6]!==l||t[7]!==n?(x=l&&Xd(n),t[6]=l,t[7]=n,t[8]=x):x=t[8];let S=x,C=c?`li`:`p`,w;t[9]!==s||t[10]!==n?(w=U(Fi,`list-none truncate py-0.5`,$p(n),em(n),s&&`pl-4`,n.running&&`shimmer shimmer-spread-200`),t[9]=s,t[10]=n,t[11]=w):w=t[11];let T=f?`${d} ${f}`:d,E;t[12]===S?E=t[13]:(E=S&&(0,Q.jsx)(Qp,{}),t[12]=S,t[13]=E);let D;t[14]===d?D=t[15]:(D=(0,Q.jsx)(`span`,{children:d}),t[14]=d,t[15]=D);let O;t[16]!==a||t[17]!==f||t[18]!==v||t[19]!==y||t[20]!==b?(O=f&&(y?(0,Q.jsx)(Tm,{basename:iu(f),path:f,cwd:a}):b?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(wm,{label:f,path:b,cwd:a})]}):(0,Q.jsx)(bm,{detail:f,monospace:v})),t[16]=a,t[17]=f,t[18]=v,t[19]=y,t[20]=b,t[21]=O):O=t[21];let k;return t[22]!==C||t[23]!==E||t[24]!==D||t[25]!==O||t[26]!==w||t[27]!==T?(k=(0,Q.jsxs)(C,{className:w,title:T,children:[E,D,O]}),t[22]=C,t[23]=E,t[24]=D,t[25]=O,t[26]=w,t[27]=T,t[28]=k):k=t[28],k}),Dm=(0,Z.memo)(function(e){let t=(0,X.c)(11),{summary:n,expanded:r,onToggle:i,className:a}=e,o;t[0]===a?o=t[1]:(o=U(`flex items-center gap-3`,a),t[0]=a,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(`span`,{className:`block h-px flex-1 bg-border/60`}),t[2]=s):s=t[2];let c;t[3]!==r||t[4]!==i||t[5]!==n?(c=n&&(i?(0,Q.jsxs)(`button`,{type:`button`,"aria-expanded":r,"aria-label":r?`Hide work for this turn`:`Show work for this turn`,className:`group flex shrink-0 cursor-pointer items-center gap-1 rounded-sm border-0 bg-transparent px-1 py-0.5 text-xs text-foreground/40 transition-colors duration-150 hover:text-foreground/70 focus-visible:text-foreground/70 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`,onClick:i,children:[(0,Q.jsx)(tr,{className:U(`size-3 transition-transform duration-[240ms] [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]`,r?`rotate-0`:`-rotate-90`)}),n]}):(0,Q.jsx)(`span`,{className:`shrink-0 text-xs text-foreground/40`,children:n})),t[3]=r,t[4]=i,t[5]=n,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(`span`,{className:`block h-px flex-1 bg-border/60`}),t[7]=l):l=t[7];let u;return t[8]!==o||t[9]!==c?(u=(0,Q.jsxs)(`div`,{className:o,children:[s,c,l]}),t[8]=o,t[9]=c,t[10]=u):u=t[10],u}),Om=(0,Z.memo)(function(e){let t=(0,X.c)(6),n=kn(),r;t[0]===n?r=t[1]:(r=n?{initial:!1}:{initial:{opacity:0,y:2},animate:{opacity:1,y:0}},t[0]=n,t[1]=r);let i=r,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a={duration:.2,ease:[.4,0,.2,1]},t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==e.children?(o=(0,Q.jsx)(An.div,{...i,transition:a,children:e.children}),t[3]=i,t[4]=e.children,t[5]=o):o=t[5],o});function km(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Am(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function jm(...e){for(let t of e){let e=Am(t);if(e)return e}return null}function Mm(e){return typeof e!=`string`||e.trim().length===0?null:e.trimEnd()}function Nm(...e){for(let t of e){let e=Mm(t);if(e)return e}return null}function Pm(e){if(!e)return null;let t=e.replace(/<tool_use_error>/gi,``).replace(/<\/tool_use_error>/gi,``).trim();return t.length>0?t:null}function Fm(e){let t=km(e);if(!t)return null;let n=km(t.result)??km(km(t.item)?.result);return n&&n.is_error===!0?Pm(Am(n.content)):null}function Im(e){let t=km(e);if(!t)return null;let n=km(t.item)??t,r=km(n.result)??km(t.result),i=Nm(n.result,t.result),a=Am(n.type)??Am(n.kind),o=se(lt(e)?.toolName);if(!(a?.toLowerCase().includes(`command`)===!0||`commandActions`in n||`processId`in n||`cwd`in n||o===`command`))return null;let s=Nm(r?.stdout,n.stdout,t.stdout,r?.output,n.output,t.output,r?.content,i),c=Nm(r?.stderr,n.stderr,t.stderr),l=(Array.isArray(n.commandActions)?n.commandActions:[]).map(e=>{let t=km(e);if(!t)return null;let n=Am(t.label)??Am(t.title)??Am(t.name)??Am(t.kind)??Am(t.type);return!n||n.toLowerCase()===`unknown`?null:{label:n,detail:Am(t.description)??Am(t.prompt)??Am(t.value)??Am(t.command)}}).filter(e=>e!==null)??[];return{command:jm(n.command,km(n.input)?.command,km(t.input)?.command,r?.command),cwd:jm(n.cwd,r?.cwd,t.cwd),status:jm(n.status,r?.status,t.status),processId:jm(n.processId,r?.processId,t.processId),source:jm(n.source,r?.source,t.source),stdout:s,stderr:c,actions:l}}function Lm(e){let t=typeof e==`string`?e.toLowerCase():``;return t===`in_progress`||t===`inprogress`||t===`in-progress`?`in_progress`:t===`completed`||t===`done`?`completed`:`pending`}function Rm(e){let t=lt(e);if(!t)return null;let n=Re(t.toolName),r=t.input?.todos;if(!Array.isArray(r)||n!==`todo write`&&n!==`todowrite`)return null;let i=[];for(let e of r){let t=km(e);if(!t)continue;let n=Am(t.content)??Am(t.activeForm)??Am(t.text);n&&i.push({text:n,status:Lm(t.status)})}return i.length>0?i:null}function zm(e){let t=lt(e);if(!t)return null;let n=Re(t.toolName);return n!==`exit plan mode`&&n!==`exitplanmode`?null:Am(t.input?.plan)}function Bm(e,t){if(!e||!t)return e;let n=t.replace(/\/+$/,``),r=e.indexOf(`
|
|
268
|
-
`);return(r===-1?e:e.slice(0,r)).trimEnd()===n?r===-1?``:e.slice(r+1):e}var Vm=(0,Z.memo)(function(e){let t=(0,X.c)(18),{card:n,cwd:r}=e,i;t[0]!==n.skillPath||t[1]!==r?(i=Cm(n.skillPath)??r,t[0]=n.skillPath,t[1]=r,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=U(Fi,`mt-1 text-foreground/80`),t[3]=o):o=t[3];let s;t[4]===n.toolUseId?s=t[5]:(s=n.toolUseId&&(0,Q.jsxs)(`div`,{className:`mb-1 font-mono text-xs text-foreground/50`,children:[`Tool call `,n.toolUseId]}),t[4]=n.toolUseId,t[5]=s);let c;t[6]!==n.resultText||t[7]!==n.skillMarkdown||t[8]!==a?(c=n.skillMarkdown?(0,Q.jsx)(Ri,{text:n.skillMarkdown,cwd:a,className:`text-xs leading-5 text-foreground/75`}):n.resultText?(0,Q.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap text-xs text-foreground/70`,children:n.resultText}):null,t[6]=n.resultText,t[7]=n.skillMarkdown,t[8]=a,t[9]=c):c=t[9];let l;t[10]!==n.skillMarkdown||t[11]!==n.skillPath||t[12]!==r?(l=n.skillPath&&!n.skillMarkdown&&(0,Q.jsx)(`div`,{className:`mt-1 font-mono text-xs text-foreground/55`,children:(0,Q.jsx)(wm,{label:n.skillPath,path:n.skillPath,cwd:r,showFileIcon:!0})}),t[10]=n.skillMarkdown,t[11]=n.skillPath,t[12]=r,t[13]=l):l=t[13];let u;return t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,Q.jsxs)(`div`,{className:o,children:[s,c,l]}),t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17],u}),Hm=(0,Z.memo)(function(e){let t=(0,X.c)(23),{card:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=U(Fi,`mt-1 space-y-1 rounded-md border border-border/55 bg-muted/25 px-3 py-2 text-foreground/80`),t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(`span`,{className:`font-medium text-foreground/75`,children:`Delegated agent`}),t[1]=i):i=t[1];let a;t[2]===n.agentRole?a=t[3]:(a=n.agentRole&&(0,Q.jsx)(`span`,{className:`rounded-sm bg-foreground/10 px-1.5 py-0.5 font-mono text-foreground/75`,children:n.agentRole}),t[2]=n.agentRole,t[3]=a);let o;t[4]===n.runInBackground?o=t[5]:(o=n.runInBackground&&(0,Q.jsx)(`span`,{className:`rounded-sm border border-border/60 px-1.5 py-0.5 text-foreground/65`,children:`Background`}),t[4]=n.runInBackground,t[5]=o);let s;t[6]!==a||t[7]!==o?(s=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[i,a,o]}),t[6]=a,t[7]=o,t[8]=s):s=t[8];let c;t[9]===n.description?c=t[10]:(c=n.description&&(0,Q.jsxs)(`div`,{className:`text-foreground/80`,children:[(0,Q.jsx)(`span`,{className:`text-foreground/55`,children:`Task: `}),n.description]}),t[9]=n.description,t[10]=c);let l;t[11]===n.prompt?l=t[12]:(l=n.prompt&&(0,Q.jsxs)(`div`,{className:`text-foreground/75`,children:[(0,Q.jsx)(`span`,{className:`text-foreground/55`,children:`Prompt: `}),n.prompt]}),t[11]=n.prompt,t[12]=l);let u;t[13]===n.toolUseId?u=t[14]:(u=n.toolUseId&&(0,Q.jsxs)(`div`,{className:`font-mono text-foreground/60`,children:[`Tool call `,n.toolUseId]}),t[13]=n.toolUseId,t[14]=u);let d;t[15]===n.resultText?d=t[16]:(d=n.resultText&&(0,Q.jsx)(`pre`,{className:`mt-1 overflow-x-auto whitespace-pre-wrap text-foreground/70`,children:n.resultText}),t[15]=n.resultText,t[16]=d);let f;return t[17]!==s||t[18]!==c||t[19]!==l||t[20]!==u||t[21]!==d?(f=(0,Q.jsxs)(`div`,{className:r,children:[s,c,l,u,d]}),t[17]=s,t[18]=c,t[19]=l,t[20]=u,t[21]=d,t[22]=f):f=t[22],f}),Um=(0,Z.memo)(function(e){let{workEntry:t,isExpanded:n,onToggle:r,onHeightChange:i,cwd:a,showMcpToolboxIcon:o=!0}=e,{action:s,detail:c}=ym(t),l=qf(t),u=(0,Z.useMemo)(()=>Im(t.output),[t.output]),d=Bm(u?.stdout??null,c??null),f=d&&u?.stderr?`${d}\n\n${u.stderr}`:d??u?.stderr??null,p=(0,Z.useMemo)(()=>Rm(t.output),[t.output]),m=(0,Z.useMemo)(()=>zm(t.output),[t.output]),h=(0,Z.useMemo)(()=>Fm(t.output),[t.output]),g=Vd(t)?t.detail?.trim()??null:null,_=l.monospace,v=(0,Z.useMemo)(()=>Cf(t),[t]),y=(0,Z.useMemo)(()=>wf(t),[t]),b=c&&v?.skillName===c?v.skillPath:null,x=!!(v??y),S=(0,Z.useMemo)(()=>hd(t.output),[t.output]),C=u||p||m||x?null:Bm(S.text,c??null),w=!u&&!p&&!m&&!x&&S.format===`json`&&typeof C==`string`&&C.length>0,[T,E]=(0,Z.useState)(!1),D=`work-entry-details-${t.id}`,O=l.kind===`edit`,k=l.kind===`read`,A=l.kind===`search`,j=o&&Xd(t),M=O||k,N=(0,Z.useMemo)(()=>O?Su(t.output,t.detail):null,[O,t.output,t.detail]),P=(0,Z.useMemo)(()=>!N&&typeof C==`string`&&S.lineCount>kp,[S.lineCount,C,N]);(0,Z.useEffect)(()=>{n||E(!1)},[n]),(0,Z.useLayoutEffect)(()=>{i?.()},[n,T,i]);let F=(0,Q.jsxs)(`span`,{className:`truncate`,title:c?`${s} ${c}`:s,children:[j&&(0,Q.jsx)(Qp,{}),(0,Q.jsx)(`span`,{children:s}),c&&(M?(0,Q.jsx)(Tm,{basename:iu(c),path:c,cwd:a}):b?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(wm,{label:c,path:b,cwd:a})]}):(0,Q.jsx)(bm,{detail:c,monospace:_})),N&&$l(N)&&(0,Q.jsx)(`span`,{className:U(`text-sm font-normal leading-relaxed`,`ml-1 tabular-nums`),children:(0,Q.jsx)(eu,{additions:N.additions,deletions:N.deletions})})]});return(k||A)&&!n&&!C&&!h?(0,Q.jsx)(`div`,{className:`tool-ui-mono-muted`,children:(0,Q.jsx)(`div`,{className:U(Fi,`flex min-w-0 items-center gap-1 rounded-sm py-0.5 transition-colors duration-150 hover:text-foreground`,$p(t),em(t)),children:F})}):(0,Q.jsxs)(`div`,{className:`tool-ui-mono-muted`,children:[(0,Q.jsxs)(`div`,{className:`group/entry flex items-center gap-1`,children:[(0,Q.jsx)(`div`,{role:`button`,tabIndex:0,className:U(Fi,`flex min-w-0 cursor-pointer items-center gap-1 rounded-sm py-0.5 text-left transition-colors duration-150 hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`,$p(t),em(t)),onClick:r,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},children:F}),(0,Q.jsx)(`button`,{type:`button`,"aria-controls":D,"aria-expanded":n,className:U(`flex size-5 shrink-0 items-center justify-center rounded-sm border-0 bg-transparent text-foreground/50 opacity-0 transition-all duration-150 hover:text-foreground group-hover/entry:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`),onClick:r,children:(0,Q.jsx)(tr,{className:U(`size-3 transition-transform duration-150`,!n&&`-rotate-90`)})})]}),(0,Q.jsx)(Tr,{open:n,children:(0,Q.jsxs)(`div`,{id:D,children:[v&&(0,Q.jsx)(Vm,{card:v,cwd:a}),y&&(0,Q.jsx)(Hm,{card:y}),g&&(0,Q.jsxs)(`div`,{className:`mt-0.5`,children:[(0,Q.jsx)(`div`,{className:`mb-1 flex justify-end`,children:(0,Q.jsx)(Mu,{text:g,title:l.action===`Runtime error`?`Copy runtime error`:`Copy runtime warning`})}),(0,Q.jsx)(`pre`,{className:U(`text-sm font-normal leading-relaxed`,`wrap-break-word whitespace-pre-wrap`,$p(t),em(t)),children:g})]}),u&&(0,Q.jsxs)(`div`,{className:`mt-1 space-y-2`,children:[(u.cwd||u.status||u.processId||u.source)&&(0,Q.jsxs)(`dl`,{className:U(`text-sm font-normal leading-relaxed`,`grid gap-1 text-foreground/65 sm:grid-cols-[auto_1fr] sm:items-start sm:gap-x-3`),children:[u.cwd&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`font-medium text-foreground/55`,children:`Directory`}),(0,Q.jsx)(`dd`,{className:`font-mono text-foreground/75`,children:u.cwd})]}),u.status&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`font-medium text-foreground/55`,children:`Status`}),(0,Q.jsx)(`dd`,{children:u.status})]}),u.processId&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`font-medium text-foreground/55`,children:`PID`}),(0,Q.jsx)(`dd`,{className:`font-mono text-foreground/75`,children:u.processId})]}),u.source&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`font-medium text-foreground/55`,children:`Source`}),(0,Q.jsx)(`dd`,{children:u.source})]})]}),u.actions.length>0&&(0,Q.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:u.actions.map(e=>(0,Q.jsx)(`span`,{className:U(`text-sm font-normal leading-relaxed`,`rounded-full border border-border/70 px-2 py-0.5 text-foreground/60`),title:e.detail??void 0,children:e.label},`${e.label}:${e.detail??``}`))})]}),p&&(0,Q.jsx)(`ul`,{className:U(`text-sm font-normal leading-relaxed`,`mt-1 space-y-1 text-foreground/75`),children:p.map(e=>(0,Q.jsxs)(`li`,{className:`flex items-start gap-2`,"aria-label":`Todo ${e.status}: ${e.text}`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:U(`mt-[0.35em] inline-flex size-3 shrink-0 items-center justify-center rounded-full border transition-colors`,e.status===`completed`?`border-foreground/50 bg-foreground/50 text-background`:e.status===`in_progress`?`border-foreground/60 bg-foreground/15`:`border-foreground/30`),children:e.status===`completed`?(0,Q.jsx)(`svg`,{viewBox:`0 0 12 12`,className:`size-2`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,Q.jsx)(`path`,{d:`M2.5 6.5 5 9l4.5-5.5`})}):e.status===`in_progress`?(0,Q.jsx)(`span`,{className:`size-1.5 rounded-full bg-foreground/75`}):null}),(0,Q.jsx)(`span`,{className:U(`min-w-0 flex-1`,e.status===`completed`&&`text-foreground/45 line-through`),children:e.text})]},`${e.status}:${e.text}`))}),m&&(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(`div`,{className:`rounded-lg border border-border/55 bg-muted/25 px-3 py-2 text-foreground/80`,children:(0,Q.jsx)(Ri,{text:m,cwd:a})})}),N&&(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(Du,{diff:N})}),h&&(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(`p`,{className:U(`text-sm font-normal leading-relaxed`,`rounded-md border border-destructive/25 bg-destructive/8 px-3 py-2 text-destructive/85`),children:h})}),!N&&!h&&f&&(0,Q.jsx)(`div`,{className:`mt-0.5`,children:(0,Q.jsx)(`pre`,{className:U(`text-sm font-normal leading-relaxed`,`overflow-x-auto whitespace-pre text-foreground/60`),children:f})}),!N&&!h&&C&&(0,Q.jsxs)(`div`,{className:`mt-0.5`,children:[w&&(0,Q.jsx)(`div`,{className:`mb-1 flex justify-end`,children:(0,Q.jsx)(Mu,{text:C,title:`Copy JSON output`})}),(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(`pre`,{className:U(`text-sm font-normal leading-relaxed`,`overflow-x-auto whitespace-pre text-foreground/60`,P&&!T?`max-h-48 overflow-y-hidden`:`overflow-y-visible`),style:P&&!T?{maskImage:`linear-gradient(to bottom, black calc(100% - 3rem), transparent 100%)`}:void 0,children:C}),P&&!T&&(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-x-0 bottom-0 h-12 bg-gradient-to-t from-background via-background/85 to-transparent`})]}),P&&(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,className:U(`text-sm font-normal leading-relaxed`,`mt-1 h-auto px-0 py-0 text-foreground/65 hover:bg-transparent hover:text-foreground/85`),onClick:()=>{E(e=>!e)},children:T?`Show less`:`Show more`})]})]})})]})}),Wm=(0,Z.memo)(function(e){let{autoScrollSuppressRef:t,expandedWorkGroups:n,entries:r,groupItemsId:i,inlineEntries:a,isExpanded:o,isInProgress:s,markdownCwd:c,nested:l=!1,onHeightChange:u,onToggleGroup:d,onToggleWorkGroup:f,scrollContainer:p,summary:m}=e,h=(0,Z.useRef)(null),g=(0,Z.useMemo)(()=>Qf(r),[r]),_=(0,Z.useMemo)(()=>$f(r),[r]),v=(0,Z.useMemo)(()=>_===`tool`&&r.some(Xd)?`mcp-toolbox`:void 0,[r,_]),y=!s||_===`agent`,b=s&&_!==`agent`,x=(0,Z.useMemo)(()=>a??g.map(e=>({kind:`work`,id:e.id,entry:e})),[g,a]);return Op({scrollContainer:p,groupRef:h,isActive:s&&o,entryCount:x.length,globalAutoScrollSuppressRef:t}),(0,Z.useLayoutEffect)(()=>{u?.()},[o,u,x.length]),(0,Q.jsxs)(`div`,{ref:h,children:[(0,Q.jsxs)(`button`,{type:`button`,"aria-controls":i,"aria-expanded":o,"aria-label":m.rest.length>0?`${m.leadingVerb} ${m.rest}`:m.leadingVerb,className:U(Fi,`group flex w-full min-w-0 items-center gap-2 rounded-sm border-0 bg-transparent py-0.5 text-left text-muted-foreground/80 transition-colors duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`,`cursor-pointer focus-visible:text-foreground`,y&&`hover:text-foreground`),onClick:()=>{d()},children:[(0,Q.jsx)(Zp,{kind:_,iconName:v,className:U(`text-muted-foreground/75 transition-colors duration-150`,`group-hover:text-foreground`)}),(0,Q.jsxs)(`span`,{className:`truncate`,children:[(0,Q.jsx)(`span`,{className:U(`transition-colors duration-150`,s&&`group-hover:text-foreground`),children:m.leadingVerb}),m.rest.length>0?(0,Q.jsxs)(`span`,{className:U(b&&`shimmer shimmer-spread-200`),children:[` `,m.rest]}):null]}),(0,Q.jsx)(tr,{className:U(`size-3 shrink-0 opacity-0 transition-all duration-150 group-hover:opacity-100`,!o&&`-rotate-90`)})]}),(0,Q.jsx)(Tr,{open:o,children:(0,Q.jsx)(`div`,{id:i,className:`mt-0.5`,children:(0,Q.jsx)(`div`,{className:l?`pr-1`:void 0,children:(0,Q.jsx)(Lu,{itemCount:x.length,maxVisibleItems:5,followBottom:s,onClampChange:u,children:(0,Q.jsx)(`ul`,{children:x.map(e=>{if(e.kind===`reasoning`)return(0,Q.jsx)(`li`,{className:`list-none py-0.5`,"data-item-clamped-viewport-item":``,children:(0,Q.jsx)(hm,{reasoning:e.reasoning,markdownCwd:c,...u?{onHeightChange:u}:{}})},`work-row:${e.id}`);let t=e.entry,r=`list-none py-0.5`;if(t.running||t.itemType===`web_search`)return(0,Q.jsx)(`li`,{className:r,"data-item-clamped-viewport-item":``,children:(0,Q.jsx)(Em,{workEntry:t,indented:!1,cwd:c,showMcpToolboxIcon:!1})},`work-row:${t.id}`);let i=Cd(t.id),a=n[i]??!1;return(0,Q.jsx)(`li`,{className:r,"data-item-clamped-viewport-item":``,children:(0,Q.jsx)(Um,{workEntry:t,isExpanded:a,onToggle:()=>f(i,a),cwd:c,showMcpToolboxIcon:!1,...u?{onHeightChange:u}:{}})},`work-row:${t.id}`)})})})})})})]})},Gm);function Gm(e,t){if(e.entries!==t.entries||e.groupItemsId!==t.groupItemsId||e.inlineEntries!==t.inlineEntries||e.isExpanded!==t.isExpanded||e.isInProgress!==t.isInProgress||e.markdownCwd!==t.markdownCwd||e.nested!==t.nested||e.onHeightChange!==t.onHeightChange||e.onToggleWorkGroup!==t.onToggleWorkGroup||e.scrollContainer!==t.scrollContainer||e.summary.leadingVerb!==t.summary.leadingVerb||e.summary.rest!==t.summary.rest)return!1;for(let n of Km(t))if(e.expandedWorkGroups[n]!==t.expandedWorkGroups[n])return!1;return!0}function Km(e){return(e.inlineEntries??Qf(e.entries).map(e=>({kind:`work`,id:e.id,entry:e}))).flatMap(e=>e.kind===`work`&&!e.entry.running&&e.entry.itemType!==`web_search`?[Cd(e.entry.id)]:[])}function qm(e){return!e}function Jm(e){return!e}function Ym(e){return!e}function Xm(e){return!e}function Zm(e){console.error(`Failed to open file in preferred editor`,e)}var Qm=(e,t)=>[{label:`Cursor`,Icon:Lr,value:`cursor`},{label:`Trae`,Icon:Dr,value:`trae`},{label:`VS Code`,Icon:_i,value:`vscode`},{label:`VS Code Insiders`,Icon:_i,value:`vscode-insiders`},{label:`VSCodium`,Icon:_i,value:`vscodium`},{label:`Zed`,Icon:zr,value:`zed`},{label:`Antigravity`,Icon:yi,value:`antigravity`},{label:H(e)?`Finder`:te(e)?`Explorer`:`Files`,Icon:Vn,value:`file-manager`}].filter(e=>t.includes(e.value)),$m=(0,Z.memo)(function({keybindings:e,availableEditors:t,openInCwd:n}){let[r,i]=K(t),a=(0,Z.useMemo)(()=>Qm(navigator.platform,t),[t]),o=a.find(({value:e})=>e===r)??null,s=(0,Z.useCallback)(e=>{let t=F();if(!t||!n)return;let a=e??r;a&&(t.shell.openInEditor(n,a),i(a))},[r,n,i]),c=(0,Z.useMemo)(()=>vi(e,`editor.openFavorite`),[e]);return(0,Z.useEffect)(()=>{let t=t=>{let i=F();bi(t,e)&&(!i||!n||r&&(t.preventDefault(),i.shell.openInEditor(n,r)))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[r,e,n]),(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(I,{"aria-label":o?`Open in ${o.label}`:`Open in editor`,disabled:!r||!n||!o,size:`icon-xs`,variant:`outline`,onClick:()=>s(r),children:o?.Icon?(0,Q.jsx)(o.Icon,{"aria-hidden":`true`,className:`size-3.5`}):null}),(0,Q.jsxs)(Ot,{children:[(0,Q.jsx)(ce,{render:(0,Q.jsx)(I,{"aria-label":`Editor options`,size:`icon-xs`,variant:`outline`}),children:(0,Q.jsx)(tr,{"aria-hidden":`true`,className:`size-4`})}),(0,Q.jsxs)(Fe,{align:`end`,children:[a.length===0&&(0,Q.jsx)(Mt,{disabled:!0,children:`No installed editors found`}),a.map(({label:e,Icon:t,value:n})=>(0,Q.jsxs)(Mt,{onClick:()=>s(n),children:[(0,Q.jsx)(t,{"aria-hidden":`true`,className:`text-muted-foreground`}),e,n===r&&c&&(0,Q.jsx)(me,{children:c})]},n))]})]})]})}),eh=oe(`flex w-fit *:focus-visible:z-1 has-[>[data-slot=group]]:gap-2 *:has-focus-visible:z-1 dark:*:[[data-slot=button]:hover~[data-slot=separator]:not([data-slot]:hover~[data-slot=separator]~[data-slot=separator]),[data-slot][data-pressed]~[data-slot=separator]:not([data-slot][data-pressed]~[data-slot=separator]~[data-slot=separator])]:before:bg-input/64 dark:*:[[data-slot=separator]:has(~[data-slot=button]:hover):not(:has(~[data-slot=separator]~[data-slot]:hover)),[data-slot=separator]:has(~[data-slot][data-pressed]):not(:has(~[data-slot=separator]~[data-slot][data-pressed]))]:before:bg-input/64`,{defaultVariants:{orientation:`horizontal`},variants:{orientation:{horizontal:`*:[[data-slot]~[data-slot]:not([data-slot=separator])]:before:-start-[0.5px] *:data-slot:not-data-[slot=separator]:has-[~[data-slot]]:before:-end-[0.5px] *:pointer-coarse:after:min-w-auto *:data-slot:has-[~[data-slot]]:rounded-e-none *:data-slot:has-[~[data-slot]]:border-e-0 *:data-slot:has-[~[data-slot]]:before:rounded-e-none *:[[data-slot]~[data-slot]]:rounded-s-none *:[[data-slot]~[data-slot]]:border-s-0 *:[[data-slot]~[data-slot]]:before:rounded-s-none`,vertical:`*:[[data-slot]~[data-slot]:not([data-slot=separator])]:before:-top-[0.5px] *:data-slot:not-data-[slot=separator]:has-[~[data-slot]]:before:-bottom-[0.5px] flex-col *:pointer-coarse:after:min-h-auto *:data-slot:has-[~[data-slot]]:rounded-b-none *:data-slot:has-[~[data-slot]]:border-b-0 *:data-slot:not-data-[slot=separator]:has-[~[data-slot]]:before:hidden *:data-slot:has-[~[data-slot]]:before:rounded-b-none dark:*:last:before:hidden dark:*:first:before:block *:[[data-slot]~[data-slot]]:rounded-t-none *:[[data-slot]~[data-slot]]:border-t-0 *:[[data-slot]~[data-slot]]:before:rounded-t-none`}}});function th(e){let t=(0,X.c)(13),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,orientation:i,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]!==r||t[6]!==i?(o=U(eh({orientation:i}),r),t[5]=r,t[6]=i,t[7]=o):o=t[7];let s;return t[8]!==n||t[9]!==i||t[10]!==a||t[11]!==o?(s=(0,Q.jsx)(`div`,{className:o,"data-orientation":i,"data-slot":`group`,role:`group`,...a,children:n}),t[8]=n,t[9]=i,t[10]=a,t[11]=o,t[12]=s):s=t[12],s}function nh(e){let t=(0,X.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`vertical`:i,o;t[4]===n?o=t[5]:(o=U(`[[data-slot=input-control]:focus-within+&,[data-slot=input-group]:focus-within+&,[data-slot=select-trigger]:focus-visible+*+&,[data-slot=number-field]:focus-within+input+&]:-translate-x-px pointer-events-none relative z-2 bg-input before:absolute before:inset-0 has-[+[data-slot=input-control]:focus-within,+[data-slot=input-group]:focus-within,+[data-slot=select-trigger]:focus-visible+*,+[data-slot=number-field]:focus-within]:translate-x-px has-[+[data-slot=input-control]:focus-within,+[data-slot=input-group]:focus-within,+[data-slot=select-trigger]:focus-visible+*,+[data-slot=number-field]:focus-within]:bg-ring dark:before:bg-input/32 [[data-slot=input-control]:focus-within+&,[data-slot=input-group]:focus-within+&,[data-slot=select-trigger]:focus-visible+*+&,[data-slot=number-field]:focus-within+&,[data-slot=number-field]:focus-within+input+&]:bg-ring`,n),t[4]=n,t[5]=o);let s;return t[6]!==a||t[7]!==r||t[8]!==o?(s=(0,Q.jsx)(Cr,{className:o,orientation:a,...r}),t[6]=a,t[7]=r,t[8]=o,t[9]=s):s=t[9],s}var rh=(0,Z.memo)(function(e){let t=(0,X.c)(54),{activeThreadTitle:n,activeProjectPath:r,isGitRepo:i,openInCwd:a,keybindings:o,availableEditors:s,browserToggleShortcutLabel:c,diffToggleShortcutLabel:l,browserEnabled:u,browserOpen:d,diffOpen:f,isBranchedThread:p,parentThread:m,missingParentThread:h,childThreads:g,onBranchThread:_,onNavigateToThread:v,onToggleBrowser:y,onToggleDiff:b}=e,x;t[0]===g?x=t[1]:(x=g.some(ih),t[0]=g,t[1]=x);let S=x,C=g.length===1?`1 branch`:`${g.length} branches`,w=_!==null,T=!!r,E=u,D=!!r,O;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,Q.jsx)(Er,{className:`size-7 shrink-0`}),t[2]=O):O=t[2];let k;t[3]===n?k=t[4]:(k=(0,Q.jsx)(`h2`,{className:`min-w-0 shrink truncate text-sm font-normal text-foreground`,title:n,children:n}),t[3]=n,t[4]=k);let A;t[5]===r?A=t[6]:(A=r&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`shrink-0 select-none text-muted-foreground/50`,"aria-hidden":!0,children:`·`}),(0,Q.jsx)(`span`,{className:`min-w-0 shrink truncate font-mono text-xs text-muted-foreground/90`,title:r,children:r})]}),t[5]=r,t[6]=A);let j;t[7]!==k||t[8]!==A?(j=(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 overflow-hidden sm:gap-3`,children:[O,k,A]}),t[7]=k,t[8]=A,t[9]=j):j=t[9];let M;t[10]!==C||t[11]!==g||t[12]!==S||t[13]!==p||t[14]!==h||t[15]!==v||t[16]!==m?(M=(p||m||h||g.length>0)&&(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 overflow-hidden pl-9 text-[11px] text-muted-foreground/80`,children:[m?(0,Q.jsxs)(`button`,{type:`button`,className:`min-w-0 truncate hover:text-foreground hover:underline`,onClick:()=>v(m.threadId),title:m.archivedAt===null?m.title:`${m.title} (archived)`,children:[`Branched from`,` `,(0,Q.jsx)(`span`,{className:`font-medium`,children:m.archivedAt===null?m.title:`${m.title} (archived)`})]}):h?(0,Q.jsx)(`span`,{className:`truncate text-muted-foreground/60`,title:h.threadId,children:`Branched from deleted thread`}):null,g.length>0?(0,Q.jsxs)(Ot,{children:[(0,Q.jsx)(ce,{render:(0,Q.jsxs)(I,{variant:`ghost`,size:`xs`,className:`h-6 px-2 text-[11px]`,children:[C,(0,Q.jsx)(tr,{className:`size-3`})]})}),(0,Q.jsx)(Fe,{align:`start`,side:`bottom`,children:g.map(e=>(0,Q.jsx)(Mt,{onClick:()=>v(e.threadId),children:e.archivedAt===null?e.title:`${e.title} (archived)`},e.threadId))})]}):null,S&&(0,Q.jsx)(`span`,{className:`truncate text-muted-foreground/60`,children:`Archived branches are read-only`})]}),t[10]=C,t[11]=g,t[12]=S,t[13]=p,t[14]=h,t[15]=v,t[16]=m,t[17]=M):M=t[17];let N;t[18]!==j||t[19]!==M?(N=(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col justify-center gap-1 overflow-hidden`,children:[j,M]}),t[18]=j,t[19]=M,t[20]=N):N=t[20];let P;t[21]!==w||t[22]!==E||t[23]!==D||t[24]!==T||t[25]!==_?(P=w?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(Vr,{children:[(0,Q.jsx)(jr,{render:(0,Q.jsxs)(I,{variant:`outline`,size:`xs`,className:`shrink-0 gap-2 px-3`,"aria-label":`Fork thread`,onClick:_,children:[(0,Q.jsx)(yn,{className:`size-3`}),`Fork`]})}),(0,Q.jsx)(Hr,{side:`bottom`,children:`Create a linked child thread`})]}),T||E||D?(0,Q.jsx)(nh,{}):null]}):null,t[21]=w,t[22]=E,t[23]=D,t[24]=T,t[25]=_,t[26]=P):P=t[26];let F;t[27]!==s||t[28]!==E||t[29]!==D||t[30]!==T||t[31]!==o||t[32]!==a?(F=T?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($m,{keybindings:o,availableEditors:s,openInCwd:a}),E||D?(0,Q.jsx)(nh,{}):null]}):null,t[27]=s,t[28]=E,t[29]=D,t[30]=T,t[31]=o,t[32]=a,t[33]=F):F=t[33];let L;t[34]!==d||t[35]!==c||t[36]!==E||t[37]!==D||t[38]!==y?(L=E?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(Vr,{children:[(0,Q.jsx)(jr,{render:(0,Q.jsxs)(Vi,{className:`shrink-0 px-2.5`,pressed:d,onPressedChange:y,"aria-label":`Toggle browser panel`,variant:`outline`,size:`xs`,children:[(0,Q.jsx)($n,{className:`size-3`}),`Browser`]})}),(0,Q.jsx)(Hr,{side:`bottom`,children:c?`Toggle browser panel (${c})`:`Toggle browser panel`})]}),D?(0,Q.jsx)(nh,{}):null]}):null,t[34]=d,t[35]=c,t[36]=E,t[37]=D,t[38]=y,t[39]=L):L=t[39];let R;t[40]!==D||t[41]!==f||t[42]!==l||t[43]!==i||t[44]!==b?(R=D&&(0,Q.jsxs)(Vr,{children:[(0,Q.jsx)(jr,{render:(0,Q.jsxs)(Vi,{className:`shrink-0 px-2.5`,pressed:f,onPressedChange:b,"aria-label":`Toggle diff panel`,variant:`outline`,size:`xs`,disabled:!i,children:[(0,Q.jsx)(Un,{className:`size-3`}),`View diff`]})}),(0,Q.jsx)(Hr,{side:`bottom`,children:i?l?`Toggle diff panel (${l})`:`Toggle diff panel`:`Diff panel is unavailable because this project is not a git repository.`})]}),t[40]=D,t[41]=f,t[42]=l,t[43]=i,t[44]=b,t[45]=R):R=t[45];let z;t[46]!==L||t[47]!==R||t[48]!==P||t[49]!==F?(z=(0,Q.jsxs)(th,{className:`shrink-0`,"aria-label":`Thread actions`,children:[P,F,L,R]}),t[46]=L,t[47]=R,t[48]=P,t[49]=F,t[50]=z):z=t[50];let B;return t[51]!==z||t[52]!==N?(B=(0,Q.jsxs)(`div`,{className:`@container/header-actions flex min-w-0 flex-1 items-center gap-2`,children:[N,z]}),t[51]=z,t[52]=N,t[53]=B):B=t[53],B});function ih(e){return e.archivedAt!==null}function ah(e){return e===null||!Number.isFinite(e)?null:e<10?`${e.toFixed(1).replace(/\.0$/,``)}%`:`${Math.round(e)}%`}function oh(e){let t=(0,X.c)(25),{usage:n}=e,r;t[0]===n.usedPercentage?r=t[1]:(r=ah(n.usedPercentage),t[0]=n.usedPercentage,t[1]=r);let i=r,a=Math.max(0,Math.min(100,n.usedPercentage??0)),o=2*Math.PI*9.75,s=o-a/100*o,c=n.maxTokens!==null&&i?`Context window ${i} used`:`Context window ${oc(n.usedTokens)} tokens used`,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:9.75,fill:`none`,stroke:`color-mix(in oklab, var(--color-muted) 70%, transparent)`,strokeWidth:`3`}),t[2]=l):l=t[2];let u;t[3]===s?u=t[4]:(u=(0,Q.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`-rotate-90 absolute inset-0 h-full w-full transform-gpu`,"aria-hidden":`true`,children:[l,(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:9.75,fill:`none`,stroke:`var(--color-muted-foreground)`,strokeWidth:`3`,strokeLinecap:`round`,strokeDasharray:o,strokeDashoffset:s,className:`transition-[stroke-dashoffset] duration-500 ease-out motion-reduce:transition-none`})]}),t[3]=s,t[4]=u);let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=U(`relative flex h-[15px] w-[15px] items-center justify-center rounded-full bg-background text-[8px] font-medium`,`text-muted-foreground`),t[5]=d):d=t[5];let f;t[6]!==n.usedPercentage||t[7]!==n.usedTokens?(f=n.usedPercentage===null?oc(n.usedTokens):Math.round(n.usedPercentage),t[6]=n.usedPercentage,t[7]=n.usedTokens,t[8]=f):f=t[8];let p;t[9]===f?p=t[10]:(p=(0,Q.jsx)(`span`,{className:d,children:f}),t[9]=f,t[10]=p);let m;t[11]!==u||t[12]!==p?(m=(0,Q.jsxs)(`span`,{className:`relative flex h-6 w-6 items-center justify-center`,children:[u,p]}),t[11]=u,t[12]=p,t[13]=m):m=t[13];let h;t[14]!==c||t[15]!==m?(h=(0,Q.jsx)(Fs,{openOnHover:!0,delay:150,closeDelay:0,render:(0,Q.jsx)(`button`,{type:`button`,className:`group inline-flex items-center justify-center rounded-full transition-opacity hover:opacity-85`,"aria-label":c,children:m})}),t[14]=c,t[15]=m,t[16]=h):h=t[16];let g;t[17]!==n.maxTokens||t[18]!==n.totalProcessedTokens||t[19]!==n.usedTokens||t[20]!==i?(g=(0,Q.jsx)(Is,{tooltipStyle:!0,side:`top`,align:`end`,className:`w-max max-w-none px-3 py-1.5`,children:(0,Q.jsx)(`div`,{className:`whitespace-nowrap text-sm tabular-nums leading-tight`,children:n.maxTokens!==null&&i?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`font-medium text-foreground`,children:i}),(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:` · `}),(0,Q.jsxs)(`span`,{className:`text-foreground`,children:[oc(n.usedTokens),`/`,oc(n.maxTokens??null)]}),(n.totalProcessedTokens??null)!==null&&(n.totalProcessedTokens??0)>n.usedTokens?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:` · `}),(0,Q.jsxs)(`span`,{className:`text-muted-foreground`,children:[oc(n.totalProcessedTokens??null),` total`]})]}):null]}):(0,Q.jsxs)(`span`,{className:`font-medium text-foreground`,children:[oc(n.usedTokens),` tokens`]})})}),t[17]=n.maxTokens,t[18]=n.totalProcessedTokens,t[19]=n.usedTokens,t[20]=i,t[21]=g):g=t[21];let _;return t[22]!==h||t[23]!==g?(_=(0,Q.jsxs)(Ps,{children:[h,g]}),t[22]=h,t[23]=g,t[24]=_):_=t[24],_}var sh=(0,Z.memo)(function(e){let t=(0,X.c)(28),n=(0,Z.useRef)(null),r,i;t[0]===e.activeItemId?(r=t[1],i=t[2]):(r=()=>{!e.activeItemId||!n.current||n.current.querySelector(`[data-composer-item-id="${CSS.escape(e.activeItemId)}"]`)?.scrollIntoView({block:`nearest`})},i=[e.activeItemId],t[0]=e.activeItemId,t[1]=r,t[2]=i),(0,Z.useLayoutEffect)(r,i);let a;t[3]===e?a=t[4]:(a=t=>{e.onHighlightedItemChange(typeof t==`string`?t:null)},t[3]=e,t[4]=a);let o;if(t[5]!==e.activeItemId||t[6]!==e.items||t[7]!==e.onHighlightedItemChange||t[8]!==e.onSelect||t[9]!==e.resolvedTheme){let n;t[11]!==e.activeItemId||t[12]!==e.onHighlightedItemChange||t[13]!==e.onSelect||t[14]!==e.resolvedTheme?(n=t=>(0,Q.jsx)(ch,{item:t,resolvedTheme:e.resolvedTheme,isActive:e.activeItemId===t.id,onHighlight:e.onHighlightedItemChange,onSelect:e.onSelect},t.id),t[11]=e.activeItemId,t[12]=e.onHighlightedItemChange,t[13]=e.onSelect,t[14]=e.resolvedTheme,t[15]=n):n=t[15],o=e.items.map(n),t[5]=e.activeItemId,t[6]=e.items,t[7]=e.onHighlightedItemChange,t[8]=e.onSelect,t[9]=e.resolvedTheme,t[10]=o}else o=t[10];let s;t[16]===o?s=t[17]:(s=(0,Q.jsx)(Ur,{className:`max-h-64`,children:o}),t[16]=o,t[17]=s);let c;t[18]!==e.isLoading||t[19]!==e.items.length||t[20]!==e.triggerKind?(c=e.items.length===0&&(0,Q.jsx)(`p`,{className:`px-3 py-2 text-muted-foreground/70 text-xs`,children:e.isLoading?`Searching workspace files...`:e.triggerKind===`path`?`No matching files or folders.`:`No matching command.`}),t[18]=e.isLoading,t[19]=e.items.length,t[20]=e.triggerKind,t[21]=c):c=t[21];let l;t[22]!==s||t[23]!==c?(l=(0,Q.jsxs)(`div`,{ref:n,className:`relative overflow-hidden rounded-xl border border-border/80 bg-popover/96 shadow-lg/8 backdrop-blur-xs`,children:[s,c]}),t[22]=s,t[23]=c,t[24]=l):l=t[24];let u;return t[25]!==a||t[26]!==l?(u=(0,Q.jsx)($r,{autoHighlight:!1,mode:`none`,onItemHighlighted:a,children:l}),t[25]=a,t[26]=l,t[27]=u):u=t[27],u}),ch=(0,Z.memo)(function(e){let t=(0,X.c)(29),n=e.item.id,r=e.item.id,i=e.isActive&&`bg-accent! text-accent-foreground!`,a;t[0]===i?a=t[1]:(a=U(`cursor-pointer select-none gap-2 hover:bg-transparent hover:text-inherit data-highlighted:bg-transparent data-highlighted:text-inherit`,i),t[0]=i,t[1]=a);let o;t[2]===e?o=t[3]:(o=()=>{e.isActive||e.onHighlight(e.item.id)},t[2]=e,t[3]=o);let s;t[4]===e?s=t[5]:(s=()=>{e.onSelect(e.item)},t[4]=e,t[5]=s);let c;t[6]!==e.item.path||t[7]!==e.item.pathKind||t[8]!==e.item.type||t[9]!==e.resolvedTheme?(c=e.item.type===`path`?(0,Q.jsx)(Pi,{pathValue:e.item.path,kind:e.item.pathKind,theme:e.resolvedTheme}):null,t[6]=e.item.path,t[7]=e.item.pathKind,t[8]=e.item.type,t[9]=e.resolvedTheme,t[10]=c):c=t[10];let l;t[11]===e.item.type?l=t[12]:(l=e.item.type===`agent`?(0,Q.jsx)(ka,{variant:`outline`,className:`px-1.5 py-0 text-[10px]`,children:`agent`}):null,t[11]=e.item.type,t[12]=l);let u;t[13]===e.item.type?u=t[14]:(u=e.item.type===`model`?(0,Q.jsx)(ka,{variant:`outline`,className:`px-1.5 py-0 text-[10px]`,children:`model`}):null,t[13]=e.item.type,t[14]=u);let d;t[15]===e.item.label?d=t[16]:(d=(0,Q.jsx)(`span`,{className:`flex min-w-0 items-center gap-1.5 truncate`,children:(0,Q.jsx)(`span`,{className:`truncate`,children:e.item.label})}),t[15]=e.item.label,t[16]=d);let f;t[17]===e.item.description?f=t[18]:(f=(0,Q.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:e.item.description}),t[17]=e.item.description,t[18]=f);let p;return t[19]!==e.item.id||t[20]!==f||t[21]!==a||t[22]!==o||t[23]!==s||t[24]!==c||t[25]!==l||t[26]!==u||t[27]!==d?(p=(0,Q.jsxs)(Zr,{value:n,"data-composer-item-id":r,className:a,onMouseMove:o,onMouseDown:lh,onClick:s,children:[c,null,l,u,d,f]}),t[19]=e.item.id,t[20]=f,t[21]=a,t[22]=o,t[23]=s,t[24]=c,t[25]=l,t[26]=u,t[27]=d,t[28]=p):p=t[28],p});function lh(e){e.preventDefault()}var uh=[{key:`cancel`,label:`Cancel turn`,variant:`ghost`,decision:`cancel`},{key:`decline`,label:`Decline`,variant:`destructive-outline`,decision:`decline`},{key:`acceptForSession`,label:`Auto-approve for session`,variant:`outline`,decision:`acceptForSession`},{key:`accept`,label:`Approve once`,variant:`default`,decision:`accept`}];function dh(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function fh(e){if(!Array.isArray(e))return null;let t=e.filter(e=>typeof e==`string`);return t.length===e.length?t:null}function ph(e){let t=dh(e)?.proposedExecpolicyAmendment,n=dh(t);return fh(t)??fh(n?.execpolicy_amendment)??fh(n?.execpolicyAmendment)}function mh(e){let t=dh(e),[n]=Array.isArray(t?.proposedNetworkPolicyAmendments)?t.proposedNetworkPolicyAmendments:[],r=dh(n),i=typeof r?.host==`string`?r.host.trim():``;if(i.length>0)return{host:i,action:`allow`};let a=dh(t?.networkApprovalContext),o=typeof a?.host==`string`?a.host.trim():``;return o.length>0?{host:o,action:`allow`}:null}function hh(e,t){switch(e){case`accept`:return uh.find(e=>e.key===`accept`)??null;case`acceptForSession`:return uh.find(e=>e.key===`acceptForSession`)??null;case`decline`:return uh.find(e=>e.key===`decline`)??null;case`cancel`:return uh.find(e=>e.key===`cancel`)??null;case`acceptWithExecpolicyAmendment`:{let e=ph(t.data);return!e||e.length===0?null:{key:`acceptWithExecpolicyAmendment`,label:`Approve and remember command`,variant:`outline`,decision:{acceptWithExecpolicyAmendment:{execpolicy_amendment:e}}}}case`applyNetworkPolicyAmendment`:{let e=mh(t.data);return e?{key:`applyNetworkPolicyAmendment`,label:`Allow network host`,variant:`outline`,decision:{applyNetworkPolicyAmendment:{network_policy_amendment:e}}}:null}default:return null}}function gh(e){let t=fh(dh(e.data)?.availableDecisions);if(!t||t.length===0)return uh;let n=t.flatMap(t=>{let n=hh(t,e);return n?[n]:[]});return n.length>0?n:uh}function _h(e,t){return e===null?!1:typeof e==`string`?e===t.decision:typeof t.decision==`string`?!1:t.key in e}var vh=(0,Z.memo)(function(e){let t=(0,X.c)(7),{approval:n,isResponding:r,respondingDecision:i,onRespondToApproval:a}=e,o;t[0]!==n||t[1]!==r||t[2]!==a||t[3]!==i?(o=gh(n).map(e=>(0,Q.jsxs)(I,{size:`sm`,variant:e.variant,disabled:r,onClick:()=>void a(n.requestId,e.decision),children:[_h(i,e)?(0,Q.jsx)(pn,{className:`mr-1.5 size-3.5 animate-spin`}):null,e.label]},e.key)),t[0]=n,t[1]=r,t[2]=a,t[3]=i,t[4]=o):o=t[4];let s;return t[5]===o?s=t[6]:(s=(0,Q.jsx)(Q.Fragment,{children:o}),t[5]=o,t[6]=s),s});function yh(e){return e===`full-access`?`Full access`:`Supervised`}function bh(e){return e===`full-access`?`Full access — click to require approvals`:`Supervised — click for full access`}var xh=(0,Z.memo)(function(e){let t=(0,X.c)(19);if(!e.traitsMenuContent&&!e.activePlan)return null;let n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(ce,{render:(0,Q.jsx)(I,{size:`sm`,variant:`ghost`,className:`shrink-0 px-2 text-muted-foreground/70 hover:text-foreground/80`,"aria-label":`More composer controls`}),children:(0,Q.jsx)(Nn,{"aria-hidden":`true`,className:`size-4`})}),t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(`div`,{className:`px-2 py-1.5 font-medium text-muted-foreground text-xs`,children:`Access`}),t[1]=r):r=t[1];let i;t[2]===e?i=t[3]:(i=t=>{(t===`approval-required`||t===`full-access`)&&e.onRuntimeModeChange(t)},t[2]=e,t[3]=i);let a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(At,{value:`approval-required`,children:yh(`approval-required`)}),t[4]=a):a=t[4];let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(At,{value:`full-access`,children:yh(`full-access`)}),t[5]=o):o=t[5];let s;t[6]!==e.runtimeMode||t[7]!==i?(s=(0,Q.jsxs)(Xe,{children:[r,(0,Q.jsxs)(W,{value:e.runtimeMode,onValueChange:i,children:[a,o]})]}),t[6]=e.runtimeMode,t[7]=i,t[8]=s):s=t[8];let c;t[9]===e.traitsMenuContent?c=t[10]:(c=e.traitsMenuContent?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Le,{}),e.traitsMenuContent]}):null,t[9]=e.traitsMenuContent,t[10]=c);let l;t[11]!==e.activePlan||t[12]!==e.onTogglePlanSidebar||t[13]!==e.planSidebarOpen?(l=e.activePlan?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Le,{}),(0,Q.jsxs)(Mt,{onClick:e.onTogglePlanSidebar,children:[(0,Q.jsx)(Wt,{className:`size-4 shrink-0`}),e.planSidebarOpen?`Hide plan sidebar`:`Show plan sidebar`]})]}):null,t[11]=e.activePlan,t[12]=e.onTogglePlanSidebar,t[13]=e.planSidebarOpen,t[14]=l):l=t[14];let u;return t[15]!==s||t[16]!==c||t[17]!==l?(u=(0,Q.jsxs)(Ot,{children:[n,(0,Q.jsxs)(Fe,{align:`start`,children:[s,c,l]})]}),t[15]=s,t[16]=c,t[17]=l,t[18]=u):u=t[18],u}),Sh=(0,Z.memo)(function(e){let t=(0,X.c)(16),n=e.runtimeMode===`full-access`,r;t[0]===e.runtimeMode?r=t[1]:(r=yh(e.runtimeMode),t[0]=e.runtimeMode,t[1]=r);let i=r,a;t[2]===e.runtimeMode?a=t[3]:(a=bh(e.runtimeMode),t[2]=e.runtimeMode,t[3]=a);let o=a,s=n&&`text-orange-600 dark:text-orange-400 [&_svg:not([class*='opacity-'])]:opacity-100`,c;t[4]===s?c=t[5]:(c=U(`shrink-0 gap-1.5 whitespace-nowrap px-2 font-normal data-pressed:bg-accent/60 sm:px-2.5 [&_svg:not([class*='size-'])]:size-3.5`,s),t[4]=s,t[5]=c);let l;t[6]===n?l=t[7]:(l=n?(0,Q.jsx)(Pn,{}):(0,Q.jsx)(nr,{}),t[6]=n,t[7]=l);let u;t[8]===i?u=t[9]:(u=(0,Q.jsx)(`span`,{className:`truncate`,children:i}),t[8]=i,t[9]=u);let d;return t[10]!==e.onToggle||t[11]!==c||t[12]!==l||t[13]!==u||t[14]!==o?(d=(0,Q.jsxs)(I,{variant:`ghost`,className:c,size:`sm`,type:`button`,onClick:e.onToggle,title:o,"aria-label":o,children:[l,u]}),t[10]=e.onToggle,t[11]=c,t[12]=l,t[13]=u,t[14]=o,t[15]=d):d=t[15],d}),Ch=(0,Z.memo)(function(e){let t=(0,X.c)(63),{threadId:n,provider:r,models:i,model:a,modelOptions:o,planModeActive:s,onTogglePlanMode:c,goalModeActive:l,onToggleGoalMode:u,onAddFiles:d}=e,f=(0,Z.useRef)(null),p=vt(wh),m;t[0]!==a||t[1]!==i||t[2]!==r?(m=we(i,a,r),t[0]=a,t[1]=i,t[2]=r,t[3]=m):m=t[3];let h=m,g;t[4]!==a||t[5]!==i||t[6]!==r?(g=ue(i,a,r),t[4]=a,t[5]=i,t[6]=r,t[7]=g):g=t[7];let _=g,v=h.supportsThinkingToggle?o?.thinking??!0:null,y=h.supportsFastMode&&o?.fastMode===!0,b=r===`claudeAgent`?`About 2.5x faster, with credits used at 6x`:`About 1.5x faster, with credits used at 2x`,x;t[8]!==o||t[9]!==r||t[10]!==p||t[11]!==v||t[12]!==n?(x=()=>{p(n,r,{...o,thinking:!v},{persistSticky:!0})},t[8]=o,t[9]=r,t[10]=p,t[11]=v,t[12]=n,t[13]=x):x=t[13];let S=x,C;t[14]!==y||t[15]!==o||t[16]!==r||t[17]!==p||t[18]!==n?(C=e=>{let t=e===`fast`;t!==y&>(t),p(n,r,{...o,fastMode:t},{persistSticky:!0})},t[14]=y,t[15]=o,t[16]=r,t[17]=p,t[18]=n,t[19]=C):C=t[19];let w=C,T;t[20]===d?T=t[21]:(T=e=>{let t=Array.from(e.target.files??[]);t.length>0&&d(t),e.target.value=``},t[20]=d,t[21]=T);let E=T,D=!_,O;t[22]!==E||t[23]!==D?(O=(0,Q.jsx)(`input`,{ref:f,type:`file`,accept:`image/*`,multiple:!0,disabled:D,className:`hidden`,onChange:E}),t[22]=E,t[23]=D,t[24]=O):O=t[24];let k;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Q.jsx)(ce,{render:(0,Q.jsx)(I,{size:`sm`,variant:`ghost`,className:`shrink-0 px-1.5`,"aria-label":`More options`,type:`button`}),children:(0,Q.jsx)(Qt,{"aria-hidden":`true`,className:`size-4`})}),t[25]=k):k=t[25];let A=!_,j,M,N;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>{f.current?.click()},M=(0,Q.jsx)($t,{className:`size-4 shrink-0`}),N=(0,Q.jsx)(`span`,{children:`Add photos & files`}),t[26]=j,t[27]=M,t[28]=N):(j=t[26],M=t[27],N=t[28]);let P;t[29]===_?P=t[30]:(P=_?null:(0,Q.jsx)(`span`,{className:`ms-auto text-[11px] text-muted-foreground/80 uppercase tracking-[0.08em]`,children:`Unsupported`}),t[29]=_,t[30]=P);let F;t[31]!==P||t[32]!==A?(F=(0,Q.jsxs)(Mt,{disabled:A,onClick:j,children:[M,N,P]}),t[31]=P,t[32]=A,t[33]=F):F=t[33];let L;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,Q.jsx)(Le,{}),t[34]=L):L=t[34];let R;t[35]===u?R=t[36]:(R=e=>{e.preventDefault(),u()},t[35]=u,t[36]=R);let z;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,Q.jsx)(ar,{className:`size-4 shrink-0`}),`Goal`]}),t[37]=z):z=t[37];let B;t[38]!==l||t[39]!==R?(B=(0,Q.jsx)(Pt,{variant:`switch`,checked:l,onClick:R,children:z}),t[38]=l,t[39]=R,t[40]=B):B=t[40];let ee;t[41]===c?ee=t[42]:(ee=e=>{e.preventDefault(),c()},t[41]=c,t[42]=ee);let te;t[43]!==s||t[44]!==ee?(te=(0,Q.jsx)(Pt,{variant:`switch`,checked:s,onClick:ee,children:`Plan mode`}),t[43]=s,t[44]=ee,t[45]=te):te=t[45];let ne;t[46]!==S||t[47]!==v?(ne=v===null?null:(0,Q.jsx)(Pt,{variant:`switch`,checked:v,onClick:e=>{e.preventDefault(),S()},children:`Thinking`}),t[46]=S,t[47]=v,t[48]=ne):ne=t[48];let V;t[49]!==h.supportsFastMode||t[50]!==b||t[51]!==y||t[52]!==w?(V=h.supportsFastMode?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Le,{}),(0,Q.jsxs)(pe,{children:[(0,Q.jsxs)(ft,{children:[(0,Q.jsx)(Mn,{className:`size-4 shrink-0`}),`Speed`]}),(0,Q.jsx)(Oe,{children:(0,Q.jsxs)(W,{value:y?`fast`:`standard`,onValueChange:w,children:[(0,Q.jsx)(At,{value:`standard`,children:(0,Q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Q.jsx)(`span`,{children:`Standard`}),(0,Q.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Default speed with normal credit usage`})]})}),(0,Q.jsx)(At,{value:`fast`,children:(0,Q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Q.jsx)(`span`,{children:`Fast`}),(0,Q.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:b})]})})]})})]})]}):null,t[49]=h.supportsFastMode,t[50]=b,t[51]=y,t[52]=w,t[53]=V):V=t[53];let re;t[54]!==F||t[55]!==B||t[56]!==te||t[57]!==ne||t[58]!==V?(re=(0,Q.jsxs)(Ot,{children:[k,(0,Q.jsxs)(Fe,{align:`start`,side:`top`,sideOffset:8,children:[F,L,B,te,ne,V]})]}),t[54]=F,t[55]=B,t[56]=te,t[57]=ne,t[58]=V,t[59]=re):re=t[59];let ie;return t[60]!==re||t[61]!==O?(ie=(0,Q.jsxs)(Q.Fragment,{children:[O,re]}),t[60]=re,t[61]=O,t[62]=ie):ie=t[62],ie});function wh(e){return e.setProviderModelOptions}var Th={active:`Active`,paused:`Paused`,blocked:`Blocked`,usageLimited:`Usage limited`,budgetLimited:`Budget limited`,complete:`Complete`};function Eh(e){switch(e){case`active`:return`success`;case`blocked`:case`budgetLimited`:case`usageLimited`:return`warning`;case`complete`:return`info`;case`paused`:return`outline`}}var Dh=(0,Z.memo)(function({goal:e,disabled:t=!1,onSetStatus:n,onClearGoal:r}){let[i,a]=(0,Z.useState)(null),o=async(e,t)=>{if(i===null){a(e);try{await t()}finally{a(null)}}};return(0,Q.jsxs)(Ot,{children:[(0,Q.jsxs)(ce,{render:(0,Q.jsx)(I,{size:`sm`,variant:`ghost`,className:`shrink-0 gap-1 px-1.5 text-muted-foreground/80 hover:text-foreground`,"aria-label":`Goal ${Th[e.status]}`,disabled:t,type:`button`}),children:[(0,Q.jsx)(ar,{"aria-hidden":!0,className:`size-4`}),(0,Q.jsx)(`span`,{className:`hidden max-w-24 truncate text-[11px] sm:inline`,children:Th[e.status]})]}),(0,Q.jsxs)(Fe,{align:`start`,side:`top`,sideOffset:8,className:`w-72`,children:[(0,Q.jsxs)(`div`,{className:`space-y-2 px-2 py-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Q.jsx)(`span`,{className:`font-medium text-xs text-muted-foreground`,children:`Goal`}),(0,Q.jsx)(ka,{size:`sm`,variant:Eh(e.status),children:Th[e.status]})]}),(0,Q.jsx)(`p`,{className:`line-clamp-3 text-sm text-foreground`,children:e.objective}),e.tokenBudget===null?null:(0,Q.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[e.tokensUsed,`/`,e.tokenBudget,` tokens`]})]}),(0,Q.jsx)(Le,{}),e.status===`active`?(0,Q.jsx)(Mt,{onClick:()=>void o(`paused`,()=>n(`paused`)),children:`Pause goal`}):e.status===`complete`?null:(0,Q.jsx)(Mt,{onClick:()=>void o(`active`,()=>n(`active`)),children:`Resume goal`}),e.status===`complete`?(0,Q.jsx)(Mt,{onClick:()=>void o(`active`,()=>n(`active`)),children:`Reopen goal`}):(0,Q.jsx)(Mt,{onClick:()=>void o(`complete`,()=>n(`complete`)),children:`Mark complete`}),(0,Q.jsx)(Le,{}),(0,Q.jsx)(Mt,{onClick:()=>void o(`clear`,r),className:U(`text-destructive focus:text-destructive`),children:`Clear goal`})]})]})}),Oh=(0,Z.memo)(function(e){let t=(0,X.c)(5),{onDismiss:n}=e,r,i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(ar,{className:`size-3.5 text-primary/70`,"aria-hidden":!0}),i=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-primary`,children:`Sending as goal`}),a=(0,Q.jsx)(wn,{className:`size-3 text-primary/50 transition-colors group-hover/goal:text-primary`}),t[0]=r,t[1]=i,t[2]=a):(r=t[0],i=t[1],a=t[2]);let o;return t[3]===n?o=t[4]:(o=(0,Q.jsxs)(`button`,{type:`button`,onClick:n,title:`Click to stop sending as goal`,className:`group/goal inline-flex w-fit cursor-pointer items-center gap-1 rounded-md bg-primary/8 px-1.5 py-0.5 transition-colors duration-120 hover:bg-primary/14`,children:[r,i,a]}),t[3]=n,t[4]=o),o}),kh=H(navigator.platform)?`⌘`:`Ctrl`,Ah=(0,Z.memo)(function(e){let t=(0,X.c)(9),{onActivate:n,onDismiss:r}=e,i;t[0]===n?i=t[1]:(i=(0,Q.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-md px-1.5 py-0.5 font-medium text-primary/80 transition-colors hover:bg-primary/8 hover:text-primary`,children:`Plan mode`}),t[0]=n,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsxs)(`kbd`,{className:`font-mono text-[10px] text-muted-foreground/40`,children:[kh,`+Shift+P`]}),t[2]=a):a=t[2];let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(wn,{className:`size-3`}),t[3]=o):o=t[3];let s;t[4]===r?s=t[5]:(s=(0,Q.jsx)(`button`,{type:`button`,onClick:r,className:`text-muted-foreground/30 transition-colors hover:text-muted-foreground/60`,children:o}),t[4]=r,t[5]=s);let c;return t[6]!==i||t[7]!==s?(c=(0,Q.jsx)(`div`,{className:`flex items-center justify-center pb-1.5`,children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground/70`,children:[i,a,s]})}),t[6]=i,t[7]=s,t[8]=c):c=t[8],c}),jh=(0,Z.memo)(function(e){let t=(0,X.c)(4),{onDisable:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-primary`,children:`Plan`}),i=(0,Q.jsx)(wn,{className:`size-3 text-primary/50 transition-colors group-hover/plan:text-primary`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;return t[2]===n?a=t[3]:(a=(0,Q.jsxs)(`button`,{type:`button`,onClick:n,title:`Click to exit plan mode`,className:`group/plan flex cursor-pointer items-center gap-1 rounded-md bg-primary/8 px-1.5 py-0.5 transition-colors duration-120 hover:bg-primary/14`,children:[r,i]}),t[2]=n,t[3]=a),a}),Mh=e=>e.isResponding?`Submitting...`:e.compact?e.isLastQuestion?`Submit`:`Next`:e.isLastQuestion?`Submit answers`:`Next question`,Nh=(0,Z.memo)(function(e){let t=(0,X.c)(82),{compact:n,pendingAction:r,isRunning:i,awaitingSendAck:a,queuedTurnCount:o,showPlanFollowUpPrompt:s,promptHasText:c,isSendBusy:l,isConnecting:u,isPreparingWorktree:d,hasSendableContent:f,canSteerRunningTurn:p,onQueueRunningTurn:m,onPreviousPendingQuestion:h,onInterrupt:g,onImplementPlanInNewThread:_}=e,v=p?l?`Steering...`:`Steer`:l?`Queueing...`:`Queue`;if(r){let e=n?`gap-1.5`:`gap-2`,i;t[0]===e?i=t[1]:(i=U(`flex items-center justify-end`,e),t[0]=e,t[1]=i);let a;t[2]!==n||t[3]!==h||t[4]!==r.isResponding||t[5]!==r.questionIndex?(a=r.questionIndex>0?n?(0,Q.jsx)(I,{size:`icon-sm`,variant:`outline`,className:`rounded-full`,onClick:h,disabled:r.isResponding,"aria-label":`Previous question`,children:(0,Q.jsx)(Zn,{className:`size-3.5`})}):(0,Q.jsx)(I,{size:`sm`,variant:`outline`,className:`rounded-full`,onClick:h,disabled:r.isResponding,children:`Previous`}):null,t[2]=n,t[3]=h,t[4]=r.isResponding,t[5]=r.questionIndex,t[6]=a):a=t[6];let o=n?`px-3`:`px-4`,s;t[7]===o?s=t[8]:(s=U(`rounded-full`,o),t[7]=o,t[8]=s);let c=r.isResponding||(r.isLastQuestion?!r.isComplete:!r.canAdvance),l;t[9]!==n||t[10]!==r.isLastQuestion||t[11]!==r.isResponding?(l=Mh({compact:n,isLastQuestion:r.isLastQuestion,isResponding:r.isResponding}),t[9]=n,t[10]=r.isLastQuestion,t[11]=r.isResponding,t[12]=l):l=t[12];let u;t[13]!==s||t[14]!==c||t[15]!==l?(u=(0,Q.jsx)(I,{type:`submit`,size:`sm`,className:s,disabled:c,children:l}),t[13]=s,t[14]=c,t[15]=l,t[16]=u):u=t[16];let d;return t[17]!==i||t[18]!==a||t[19]!==u?(d=(0,Q.jsxs)(`div`,{className:i,children:[a,u]}),t[17]=i,t[18]=a,t[19]=u,t[20]=d):d=t[20],d}if(i){let e=n?`gap-1.5`:`gap-2`,r;t[21]===e?r=t[22]:(r=U(`flex items-center justify-end`,e),t[21]=e,t[22]=r);let i;t[23]===o?i=t[24]:(i=o>0?(0,Q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[o,` queued`]}):null,t[23]=o,t[24]=i);let s;t[25]!==p||t[26]!==n||t[27]!==f||t[28]!==u||t[29]!==l||t[30]!==m?(s=f&&p?(0,Q.jsx)(I,{type:`button`,size:`sm`,variant:`ghost`,className:U(`rounded-full`,n?`px-3`:`px-4`),onClick:m,disabled:l||u,children:`Queue`}):null,t[25]=p,t[26]=n,t[27]=f,t[28]=u,t[29]=l,t[30]=m,t[31]=s):s=t[31];let c;t[32]!==n||t[33]!==f||t[34]!==u||t[35]!==l||t[36]!==v?(c=f?(0,Q.jsx)(I,{type:`submit`,size:`sm`,variant:`outline`,className:U(`rounded-full`,n?`px-3`:`px-4`),disabled:l||u,children:v}):null,t[32]=n,t[33]=f,t[34]=u,t[35]=l,t[36]=v,t[37]=c):c=t[37];let d;t[38]!==a||t[39]!==g?(d=a?(0,Q.jsx)(`button`,{type:`button`,disabled:!0,className:`flex size-8 items-center justify-center rounded-full bg-primary/90 text-primary-foreground sm:h-8 sm:w-8`,"aria-label":`Waiting for response`,children:(0,Q.jsx)(pn,{className:`size-4 animate-spin`,"aria-hidden":`true`})}):(0,Q.jsx)(`button`,{type:`button`,className:`flex size-8 cursor-pointer items-center justify-center rounded-full bg-rose-500/90 text-white transition-colors duration-150 hover:bg-rose-600 sm:h-8 sm:w-8`,onClick:g,"aria-label":`Stop generation`,children:(0,Q.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`currentColor`,"aria-hidden":`true`,children:(0,Q.jsx)(`rect`,{x:`2`,y:`2`,width:`8`,height:`8`,rx:`1.5`})})}),t[38]=a,t[39]=g,t[40]=d):d=t[40];let h;return t[41]!==r||t[42]!==i||t[43]!==s||t[44]!==c||t[45]!==d?(h=(0,Q.jsxs)(`div`,{className:r,children:[i,s,c,d]}),t[41]=r,t[42]=i,t[43]=s,t[44]=c,t[45]=d,t[46]=h):h=t[46],h}if(s){if(c){let e=n?`h-9 px-3 sm:h-8`:`h-9 px-4 sm:h-8`,r;t[47]===e?r=t[48]:(r=U(`rounded-full`,e),t[47]=e,t[48]=r);let i=l||u,a=u||l?`Sending...`:`Refine`,o;return t[49]!==r||t[50]!==i||t[51]!==a?(o=(0,Q.jsx)(I,{type:`submit`,size:`sm`,className:r,disabled:i,children:a}),t[49]=r,t[50]=i,t[51]=a,t[52]=o):o=t[52],o}let e=n?`px-3`:`px-4`,r;t[53]===e?r=t[54]:(r=U(`h-9 rounded-l-full rounded-r-none sm:h-8`,e),t[53]=e,t[54]=r);let i=l||u,a=u||l?`Sending...`:`Implement`,o;t[55]!==r||t[56]!==i||t[57]!==a?(o=(0,Q.jsx)(I,{type:`submit`,size:`sm`,className:r,disabled:i,children:a}),t[55]=r,t[56]=i,t[57]=a,t[58]=o):o=t[58];let s=l||u,d;t[59]===s?d=t[60]:(d=(0,Q.jsx)(I,{size:`sm`,variant:`default`,className:`h-9 rounded-l-none rounded-r-full border-l-white/12 px-2 sm:h-8`,"aria-label":`Implementation actions`,disabled:s}),t[59]=s,t[60]=d);let f;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(tr,{className:`size-3.5`}),t[61]=f):f=t[61];let p;t[62]===d?p=t[63]:(p=(0,Q.jsx)(ce,{render:d,children:f}),t[62]=d,t[63]=p);let m=l||u,h;t[64]===_?h=t[65]:(h=()=>void _(),t[64]=_,t[65]=h);let g;t[66]!==m||t[67]!==h?(g=(0,Q.jsx)(Fe,{align:`end`,side:`top`,children:(0,Q.jsx)(Mt,{disabled:m,onClick:h,children:`Implement in a new thread`})}),t[66]=m,t[67]=h,t[68]=g):g=t[68];let v;t[69]!==g||t[70]!==p?(v=(0,Q.jsxs)(Ot,{children:[p,g]}),t[69]=g,t[70]=p,t[71]=v):v=t[71];let y;return t[72]!==v||t[73]!==o?(y=(0,Q.jsxs)(`div`,{"data-chat-composer-implement-actions":`true`,className:`flex items-center justify-end`,children:[o,v]}),t[72]=v,t[73]=o,t[74]=y):y=t[74],y}let y=l||u||!f,b=u?`Connecting`:d?`Preparing worktree`:l?`Sending`:`Send message`,x;t[75]!==u||t[76]!==l?(x=u||l?(0,Q.jsx)(pn,{className:`size-4 animate-spin`,"aria-hidden":`true`}):(0,Q.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,"aria-hidden":`true`,children:(0,Q.jsx)(`path`,{d:`M7 11.5V2.5M7 2.5L3 6.5M7 2.5L11 6.5`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})}),t[75]=u,t[76]=l,t[77]=x):x=t[77];let S;return t[78]!==y||t[79]!==b||t[80]!==x?(S=(0,Q.jsx)(`button`,{type:`submit`,className:`flex h-9 w-9 enabled:cursor-pointer items-center justify-center rounded-full bg-primary/90 text-primary-foreground transition-colors duration-150 hover:bg-primary disabled:pointer-events-none disabled:opacity-30 sm:h-8 sm:w-8`,disabled:y,"aria-label":b,children:x}),t[78]=y,t[79]=b,t[80]=x,t[81]=S):S=t[81],S}),Ph=(0,Z.memo)(function(e){let t=(0,X.c)(13),{approval:n,pendingCount:r}=e,i=n.requestKind===`command`?`Command approval requested`:n.requestKind===`file-read`?`File-read approval requested`:n.requestKind===`file-change`?`File-change approval requested`:`Computer Use approval requested`,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(`span`,{className:`uppercase text-sm tracking-[0.2em]`,children:`PENDING APPROVAL`}),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=(0,Q.jsx)(`span`,{className:`text-sm font-medium`,children:i}),t[1]=i,t[2]=o);let s;t[3]===r?s=t[4]:(s=r>1?(0,Q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`1/`,r]}):null,t[3]=r,t[4]=s);let c;t[5]!==o||t[6]!==s?(c=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[a,o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7];let l;t[8]===n.detail?l=t[9]:(l=n.detail?(0,Q.jsx)(`div`,{className:`mt-1.5 rounded-md border border-border/60 bg-muted/40 px-3 py-2`,children:(0,Q.jsx)(`code`,{className:`block max-h-24 overflow-y-auto whitespace-pre-wrap break-all text-xs text-foreground/90`,children:n.detail})}):null,t[8]=n.detail,t[9]=l);let u;return t[10]!==c||t[11]!==l?(u=(0,Q.jsxs)(`div`,{className:`px-4 py-3.5 sm:px-5 sm:py-4`,children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12],u});function Fh(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`pointer-events-none inline-flex h-5 min-w-5 select-none items-center justify-center gap-1 rounded bg-muted px-1 font-medium font-sans text-muted-foreground text-xs [&_svg:not([class*='size-'])]:size-3`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(`kbd`,{className:i,"data-slot":`kbd`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Ih=(0,Z.memo)(function(e){let t=(0,X.c)(10),{pendingUserInputs:n,respondingRequestIds:r,answers:i,questionIndex:a,onSelectOption:o,onAdvance:s}=e;if(n.length===0)return null;let c=n[0];if(!c)return null;let l=c.requestId,u;t[0]!==c.requestId||t[1]!==r?(u=r.includes(c.requestId),t[0]=c.requestId,t[1]=r,t[2]=u):u=t[2];let d;return t[3]!==c||t[4]!==i||t[5]!==s||t[6]!==o||t[7]!==a||t[8]!==u?(d=(0,Q.jsx)(Lh,{prompt:c,isResponding:u,answers:i,questionIndex:a,onSelectOption:o,onAdvance:s},l),t[3]=c,t[4]=i,t[5]=s,t[6]=o,t[7]=a,t[8]=u,t[9]=d):d=t[9],d}),Lh=(0,Z.memo)(function(e){let t=(0,X.c)(42),{prompt:n,isResponding:r,answers:i,questionIndex:a,onSelectOption:o,onAdvance:s}=e,c;t[0]!==i||t[1]!==n.questions||t[2]!==a?(c=Ro(n.questions,i,a),t[0]=i,t[1]=n.questions,t[2]=a,t[3]=c):c=t[3];let l=c,u=l.activeQuestion,d=(0,Z.useRef)(null),f,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>()=>{d.current!==null&&window.clearTimeout(d.current)},p=[],t[4]=f,t[5]=p):(f=t[4],p=t[5]),(0,Z.useEffect)(f,p);let m;t[6]!==s||t[7]!==o?(m=(e,t)=>{o(e,t),d.current!==null&&window.clearTimeout(d.current),d.current=window.setTimeout(()=>{d.current=null,s()},200)},t[6]=s,t[7]=o,t[8]=m):m=t[8];let h=m,g,_;if(t[9]!==u||t[10]!==r||t[11]!==l.customAnswer.length||t[12]!==h?(g=()=>{if(!u||r)return;let e=e=>{if(e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLElement&&t.isContentEditable&&l.customAnswer.length>0)return;let n=Number.parseInt(e.key,10);if(Number.isNaN(n)||n<1||n>9)return;let r=n-1;if(r>=u.options.length)return;let i=u.options[r];i&&(e.preventDefault(),h(u.id,i.label))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},_=[u,r,h,l.customAnswer.length],t[9]=u,t[10]=r,t[11]=l.customAnswer.length,t[12]=h,t[13]=g,t[14]=_):(g=t[13],_=t[14]),(0,Z.useEffect)(g,_),!u)return null;let v;t[15]!==n.questions.length||t[16]!==a?(v=n.questions.length>1?(0,Q.jsxs)(ka,{variant:`secondary`,size:`sm`,className:`tabular-nums`,children:[a+1,`/`,n.questions.length]}):null,t[15]=n.questions.length,t[16]=a,t[17]=v):v=t[17];let y;t[18]===u.header?y=t[19]:(y=(0,Q.jsx)(`span`,{className:`text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:u.header}),t[18]=u.header,t[19]=y);let b;t[20]!==v||t[21]!==y?(b=(0,Q.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[v,y]}),t[20]=v,t[21]=y,t[22]=b):b=t[22];let x;t[23]===u.question?x=t[24]:(x=(0,Q.jsx)(`p`,{className:`mt-1 text-sm text-foreground`,children:u.question}),t[23]=u.question,t[24]=x);let S;if(t[25]!==u.id||t[26]!==u.options||t[27]!==r||t[28]!==l.selectedOptionLabel||t[29]!==h){let e;t[31]!==u.id||t[32]!==r||t[33]!==l.selectedOptionLabel||t[34]!==h?(e=(e,t)=>{let n=l.selectedOptionLabel===e.label,i=t<9?t+1:null;return(0,Q.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>h(u.id,e.label),className:U(`flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-left transition-colors`,n?`bg-accent text-foreground`:`text-foreground/80 hover:bg-accent/50`,r&&`cursor-not-allowed opacity-50`),children:[i===null?null:(0,Q.jsx)(Fh,{className:U(n&&`bg-primary/15 text-primary`),children:i}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 truncate`,children:[(0,Q.jsx)(`span`,{className:`text-sm font-medium`,children:e.label}),e.description&&e.description!==e.label?(0,Q.jsx)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:e.description}):null]}),n?(0,Q.jsx)(hn,{className:`size-3.5 shrink-0 text-primary`}):null]},`${u.id}:${e.label}`)},t[31]=u.id,t[32]=r,t[33]=l.selectedOptionLabel,t[34]=h,t[35]=e):e=t[35],S=u.options.map(e),t[25]=u.id,t[26]=u.options,t[27]=r,t[28]=l.selectedOptionLabel,t[29]=h,t[30]=S}else S=t[30];let C;t[36]===S?C=t[37]:(C=(0,Q.jsx)(`div`,{className:`mt-2.5 space-y-0.5`,children:S}),t[36]=S,t[37]=C);let w;return t[38]!==x||t[39]!==C||t[40]!==b?(w=(0,Q.jsxs)(`div`,{className:`px-4 py-3 sm:px-5`,children:[b,x,C]}),t[38]=x,t[39]=C,t[40]=b,t[41]=w):w=t[41],w}),Rh=(0,Z.memo)(function(e){let t=(0,X.c)(4),{planTitle:n}=e,r;t[0]===n?r=t[1]:(r=n?(0,Q.jsxs)(Q.Fragment,{children:[` — `,(0,Q.jsx)(`span`,{className:`text-foreground/60`,children:n})]}):null,t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(`div`,{className:`px-4 py-2 sm:px-5`,children:(0,Q.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground/60`,children:[`Plan ready`,r]})}),t[2]=r,t[3]=i),i});function zh(e){let t=(0,X.c)(40),n,r,i,a,o,s,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8]):({children:n,className:r,dependencyKey:i,fadeDistance:c,onScroll:a,open:l,style:s,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l);let u=c===void 0?`3rem`:c,d=l===void 0?!0:l,f=(0,Z.useRef)(null),{bottomFadeStrength:p,onScroll:m,ref:h,topFadeStrength:g,update:_}=ut(),v;t[9]===h?v=t[10]:(v=e=>{f.current=e,h(e)},t[9]=h,t[10]=v);let y=v,b;t[11]!==m||t[12]!==a?(b=e=>{m(e),a?.(e)},t[11]=m,t[12]=a,t[13]=b):b=t[13];let x=b,S;t[14]!==d||t[15]!==_?(S=()=>{if(!d)return;let e=f.current;if(!e)return;_(e);let t=new ResizeObserver(()=>{_(e)});t.observe(e);let n=new MutationObserver(()=>{_(e)});return n.observe(e,{characterData:!0,childList:!0,subtree:!0}),()=>{t.disconnect(),n.disconnect()}},t[14]=d,t[15]=_,t[16]=S):S=t[16];let C;t[17]!==i||t[18]!==d||t[19]!==_?(C=[i,d,_],t[17]=i,t[18]=d,t[19]=_,t[20]=C):C=t[20],(0,Z.useEffect)(S,C);let w;t[21]!==d||t[22]!==_?(w=()=>{if(!d)return;let e=f.current;if(!e)return;_(e);let t=window.requestAnimationFrame(()=>{_(e)});return()=>{window.cancelAnimationFrame(t)}},t[21]=d,t[22]=_,t[23]=w):w=t[23];let T;t[24]!==i||t[25]!==d||t[26]!==_?(T=[i,d,_],t[24]=i,t[25]=d,t[26]=_,t[27]=T):T=t[27],(0,Z.useLayoutEffect)(w,T);let E=g>.01,D=p>.01,O=`linear-gradient(to bottom, ${E?`transparent 0%, black ${u}`:`black 0%`}, ${D?`black calc(100% - ${u}), transparent 100%`:`black 100%`})`,k;t[28]===r?k=t[29]:(k=U(`[-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,r),t[28]=r,t[29]=k);let A;t[30]!==O||t[31]!==s?(A={...s,WebkitMaskImage:O,maskImage:O},t[30]=O,t[31]=s,t[32]=A):A=t[32];let j;return t[33]!==n||t[34]!==y||t[35]!==x||t[36]!==o||t[37]!==A||t[38]!==k?(j=(0,Q.jsx)(`div`,{ref:y,className:k,style:A,onScroll:x,...o,children:n}),t[33]=n,t[34]=y,t[35]=x,t[36]=o,t[37]=A,t[38]=k,t[39]=j):j=t[39],j}function Bh(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`relative z-0 mx-auto w-[calc(100%-3rem)] max-w-[39rem] min-w-0 overflow-hidden rounded-t-[16px] rounded-b-none border border-b-0 border-border bg-card sm:w-[calc(100%-4rem)]`,`[[data-composer-docked-panel]~&]:rounded-t-none [[data-composer-docked-panel]~&]:border-t-border/40`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(`div`,{"data-composer-docked-panel":`true`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Vh=`linear-gradient(to bottom, transparent 0, black 0.75rem, black calc(100% - 0.75rem), transparent 100%)`;function Hh(e){let t=(0,X.c)(9),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={maskImage:Vh,WebkitMaskImage:Vh},t[0]=n):n=t[0];let r=e.ariaLabel,i=e.scrollable&&`max-h-56 overflow-y-auto [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,a;t[1]===i?a=t[2]:(a=U(`overscroll-contain`,i),t[1]=i,t[2]=a);let o;t[3]!==e.children||t[4]!==a?(o=(0,Q.jsx)(`div`,{className:a,children:e.children}),t[3]=e.children,t[4]=a,t[5]=o):o=t[5];let s;return t[6]!==e.ariaLabel||t[7]!==o?(s=(0,Q.jsx)(`div`,{className:`border-t border-border/45`,style:n,"aria-label":r,children:o}),t[6]=e.ariaLabel,t[7]=o,t[8]=s):s=t[8],s}var Uh=5,Wh=3,Gh=4;function Kh(e){let t=Ke(e.composerSnapshot.prompt).trim();if(t.length>0)return t;let n=e.composerSnapshot.persistedAttachments.length,r=e.composerSnapshot.terminalContexts.length;return n>0||r>0?`Attachments only`:`Queued follow-up`}var qh=(0,Z.memo)(function(e){let t=(0,X.c)(40),{queuedTurn:n}=e,r,i;t[0]===n?i=t[1]:(i=Kh(n),t[0]=n,t[1]=i),r=i;let a=r,o=n.status===`sending`,s=n.status===`failed`,c=s&&n.errorMessage?n.errorMessage:a,l=o?`animate-pulse text-foreground/70`:s?`text-amber-500`:`text-muted-foreground/60`,u;t[2]===l?u=t[3]:(u=U(`size-3 shrink-0`,l),t[2]=l,t[3]=u);let d;t[4]===u?d=t[5]:(d=(0,Q.jsx)(mn,{"aria-hidden":!0,className:u}),t[4]=u,t[5]=d);let f=s?`text-amber-700 dark:text-amber-300`:`text-muted-foreground`,p;t[6]===f?p=t[7]:(p=U(`min-w-0 flex-1 truncate text-[12.5px] leading-snug`,f),t[6]=f,t[7]=p);let m;t[8]!==a||t[9]!==p||t[10]!==c?(m=(0,Q.jsx)(`p`,{className:p,title:c,children:a}),t[8]=a,t[9]=p,t[10]=c,t[11]=m):m=t[11];let h;t[12]!==e||t[13]!==n.id?(h=()=>e.onDelete(n.id),t[12]=e,t[13]=n.id,t[14]=h):h=t[14];let g;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsx)(cn,{className:`size-3.5`}),t[15]=g):g=t[15];let _;t[16]!==o||t[17]!==h?(_=(0,Q.jsx)(I,{type:`button`,size:`icon-xs`,variant:`ghost`,"aria-label":`Delete queued message`,disabled:o,onClick:h,children:g}),t[16]=o,t[17]=h,t[18]=_):_=t[18];let v;t[19]===o?v=t[20]:(v=(0,Q.jsx)(I,{type:`button`,size:`icon-xs`,variant:`ghost`,"aria-label":`Queued message actions`,disabled:o}),t[19]=o,t[20]=v);let y;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(Nn,{className:`size-3.5`}),t[21]=y):y=t[21];let b;t[22]===v?b=t[23]:(b=(0,Q.jsx)(ce,{render:v,children:y}),t[22]=v,t[23]=b);let x;t[24]!==e||t[25]!==n.id?(x=()=>e.onEdit(n.id),t[24]=e,t[25]=n.id,t[26]=x):x=t[26];let S;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Q.jsx)(_n,{className:`size-4`}),t[27]=S):S=t[27];let C;t[28]===x?C=t[29]:(C=(0,Q.jsx)(Fe,{align:`end`,side:`bottom`,children:(0,Q.jsxs)(Mt,{onClick:x,children:[S,`Edit message`]})}),t[28]=x,t[29]=C);let w;t[30]!==b||t[31]!==C?(w=(0,Q.jsxs)(Ot,{children:[b,C]}),t[30]=b,t[31]=C,t[32]=w):w=t[32];let T;t[33]!==_||t[34]!==w?(T=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover/queued-row:opacity-100 focus-within:opacity-100`,children:[_,w]}),t[33]=_,t[34]=w,t[35]=T):T=t[35];let E;return t[36]!==T||t[37]!==d||t[38]!==m?(E=(0,Q.jsxs)(`div`,{className:`group/queued-row flex min-w-0 items-center gap-2.5 border-t border-border/35 px-4 py-2 first:border-t-0`,children:[d,m,T]}),t[36]=T,t[37]=d,t[38]=m,t[39]=E):E=t[39],E});function Jh(e){return e===`completed`}function Yh(e){switch(e){case`completed`:return`text-emerald-500/90`;case`inProgress`:return`text-sky-500`;case`failed`:case`stopped`:return`text-destructive`;case`pending`:return`text-muted-foreground/40`}}function Xh(e){switch(e){case`completed`:return`Completed`;case`inProgress`:return`In progress`;case`failed`:return`Failed`;case`stopped`:return`Stopped`;case`pending`:return`Pending`}}var Zh=(0,Z.memo)(function(e){let t=(0,X.c)(6),n=e.status,r;if(t[0]!==e.status){r=Symbol.for(`react.early_return_sentinel`);bb0:{let i=U(`size-[14px] shrink-0 [stroke-width:2.25]`,Yh(n));switch(e.status){case`completed`:r=(0,Q.jsx)(hn,{className:i,"aria-hidden":`true`});break bb0;case`inProgress`:r=(0,Q.jsx)(pn,{className:U(i,`animate-spin`),"aria-hidden":`true`});break bb0;case`failed`:case`stopped`:{let e;t[2]===i?e=t[3]:(e=(0,Q.jsx)(ln,{className:i,"aria-hidden":`true`}),t[2]=i,t[3]=e),r=e;break bb0}case`pending`:{let e;t[4]===i?e=t[5]:(e=(0,Q.jsx)(Bn,{className:i,"aria-hidden":`true`}),t[4]=i,t[5]=e),r=e;break bb0}}}t[0]=e.status,t[1]=r}else r=t[1];if(r!==Symbol.for(`react.early_return_sentinel`))return r}),Qh=(0,Z.memo)(function(e){let t=(0,X.c)(25),{item:n}=e,r=n.status===`inProgress`,i=n.status===`completed`&&`opacity-55`,a;t[0]===i?a=t[1]:(a=U(`group/task-row border-t border-border/35 px-4 py-2 first:border-t-0`,i),t[0]=i,t[1]=a);let o;t[2]===n.status?o=t[3]:(o=Xh(n.status),t[2]=n.status,t[3]=o);let s;t[4]===n.status?s=t[5]:(s=(0,Q.jsx)(Zh,{status:n.status}),t[4]=n.status,t[5]=s);let c;t[6]!==o||t[7]!==s?(c=(0,Q.jsx)(`span`,{className:`mt-[3px] inline-flex size-3 shrink-0 items-center justify-center`,title:o,children:s}),t[6]=o,t[7]=s,t[8]=c):c=t[8];let l=r&&`shimmer shimmer-spread-200`,u;t[9]===l?u=t[10]:(u=U(`truncate text-[12.5px] font-medium text-foreground`,l),t[9]=l,t[10]=u);let d;t[11]!==n.title||t[12]!==u?(d=(0,Q.jsx)(`div`,{className:u,children:n.title}),t[11]=n.title,t[12]=u,t[13]=d):d=t[13];let f;t[14]===n.detail?f=t[15]:(f=n.detail?(0,Q.jsx)(`div`,{className:`mt-px truncate text-[11.5px] text-muted-foreground/65`,children:n.detail}):null,t[14]=n.detail,t[15]=f);let p;t[16]!==d||t[17]!==f?(p=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 leading-snug`,children:[d,f]}),t[16]=d,t[17]=f,t[18]=p):p=t[18];let m;t[19]!==c||t[20]!==p?(m=(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2.5`,children:[c,p]}),t[19]=c,t[20]=p,t[21]=m):m=t[21];let h;return t[22]!==a||t[23]!==m?(h=(0,Q.jsx)(`div`,{className:a,children:m}),t[22]=a,t[23]=m,t[24]=h):h=t[24],h}),$h=[`text-orange-500`,`text-emerald-500`,`text-sky-500`,`text-fuchsia-500`,`text-amber-500`,`text-lime-500`];function eg(e){return $h[e%$h.length]}var tg=(0,Z.memo)(function(e){let t=(0,X.c)(44),{row:n,index:r}=e,[i,a]=(0,Z.useState)(!1),o=n.childEntries.length>0,s=n.status===`active`?`working`:`waiting`,c;t[0]===r?c=t[1]:(c=eg(r),t[0]=r,t[1]=c);let l;t[2]!==n.displayName||t[3]!==c?(l=(0,Q.jsx)(`span`,{className:c,children:n.displayName}),t[2]=n.displayName,t[3]=c,t[4]=l):l=t[4];let u;t[5]===n.agentRole?u=t[6]:(u=n.agentRole?(0,Q.jsxs)(`span`,{className:`font-normal text-muted-foreground/70`,children:[` (`,n.agentRole,`)`]}):null,t[5]=n.agentRole,t[6]=u);let d=n.status===`active`&&`shimmer shimmer-spread-200`,f;t[7]===d?f=t[8]:(f=U(`font-normal text-muted-foreground/80`,d),t[7]=d,t[8]=f);let p;t[9]!==s||t[10]!==f?(p=(0,Q.jsxs)(`span`,{className:f,children:[` `,s]}),t[9]=s,t[10]=f,t[11]=p):p=t[11];let m;t[12]!==l||t[13]!==u||t[14]!==p?(m=(0,Q.jsxs)(`div`,{className:`truncate text-[12.5px] font-medium text-foreground`,children:[l,u,p]}),t[12]=l,t[13]=u,t[14]=p,t[15]=m):m=t[15];let h;t[16]===n.instruction?h=t[17]:(h=n.instruction?(0,Q.jsx)(`p`,{className:`mt-px truncate text-[11.5px] text-muted-foreground/65`,children:n.instruction}):null,t[16]=n.instruction,t[17]=h);let g;t[18]===n.hasContents?g=t[19]:(g=n.hasContents?null:(0,Q.jsx)(`p`,{className:`mt-px truncate text-[11.5px] text-muted-foreground/50`,children:`No contents`}),t[18]=n.hasContents,t[19]=g);let _;t[20]!==m||t[21]!==h||t[22]!==g?(_=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 leading-snug`,children:[m,h,g]}),t[20]=m,t[21]=h,t[22]=g,t[23]=_):_=t[23];let v;t[24]!==i||t[25]!==o||t[26]!==n.id?(v=o?(0,Q.jsx)(`span`,{"data-testid":`background-subagent-row-chevron-${n.id}`,className:`mt-0.5 inline-flex size-5 shrink-0 items-center justify-center text-muted-foreground/55`,"aria-hidden":!0,children:i?(0,Q.jsx)(Ln,{className:`size-4`}):(0,Q.jsx)(tr,{className:`size-4`})}):null,t[24]=i,t[25]=o,t[26]=n.id,t[27]=v):v=t[27];let y;t[28]!==v||t[29]!==_?(y=(0,Q.jsxs)(Q.Fragment,{children:[_,v]}),t[28]=v,t[29]=_,t[30]=y):y=t[30];let b=y,x=`background-subagent-row-${n.id}`,S;t[31]!==i||t[32]!==o||t[33]!==b||t[34]!==n.id?(S=o?(0,Q.jsx)(`button`,{type:`button`,className:`flex w-full min-w-0 cursor-pointer items-start gap-2.5 text-left focus-visible:outline-none`,onClick:()=>a(ig),"aria-expanded":i,"data-background-subagent-row-toggle":`true`,"data-testid":`background-subagent-row-toggle-${n.id}`,children:b}):(0,Q.jsx)(`div`,{className:`flex w-full min-w-0 items-start gap-2.5 text-left`,children:b}),t[31]=i,t[32]=o,t[33]=b,t[34]=n.id,t[35]=S):S=t[35];let C;t[36]!==i||t[37]!==o||t[38]!==n.childEntries?(C=o?(0,Q.jsx)(Tr,{open:i,children:(0,Q.jsx)(zh,{dependencyKey:n.childEntries.length,"data-background-subagent-activity-list":`true`,className:`max-h-40 overflow-y-auto overscroll-contain pt-2`,children:n.childEntries.map(ag)})}):null,t[36]=i,t[37]=o,t[38]=n.childEntries,t[39]=C):C=t[39];let w;return t[40]!==x||t[41]!==S||t[42]!==C?(w=(0,Q.jsxs)(`div`,{className:`border-t border-border/35 px-4 py-2 first:border-t-0`,"data-background-subagent-row":`true`,"data-testid":x,children:[S,C]}),t[40]=x,t[41]=S,t[42]=C,t[43]=w):w=t[43],w}),ng=(0,Z.memo)(function(e){let t=(0,X.c)(28),{title:n,icon:r,count:i,open:a,onOpenChange:o,children:s}=e,c;t[0]!==o||t[1]!==a?(c=()=>o(!a),t[0]=o,t[1]=a,t[2]=c):c=t[2];let l;t[3]===r?l=t[4]:(l=(0,Q.jsx)(r,{className:`size-3.5 shrink-0 text-muted-foreground/70`,"aria-hidden":`true`}),t[3]=r,t[4]=l);let u;t[5]===n?u=t[6]:(u=(0,Q.jsx)(`span`,{className:`text-[12.5px] font-medium text-foreground/85`,children:n}),t[5]=n,t[6]=u);let d;t[7]===i?d=t[8]:(d=i?(0,Q.jsx)(`span`,{className:`text-[12px] font-normal tabular-nums text-muted-foreground/60`,children:i}):null,t[7]=i,t[8]=d);let f;t[9]!==u||t[10]!==d?(f=(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[u,d]}),t[9]=u,t[10]=d,t[11]=f):f=t[11];let p;t[12]===a?p=t[13]:(p=(0,Q.jsx)(`span`,{className:`inline-flex size-5 shrink-0 items-center justify-center text-muted-foreground/70`,"aria-hidden":!0,children:a?(0,Q.jsx)(Ln,{className:`size-3.5`}):(0,Q.jsx)(tr,{className:`size-3.5`})}),t[12]=a,t[13]=p);let m;t[14]!==a||t[15]!==c||t[16]!==l||t[17]!==f||t[18]!==p?(m=(0,Q.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2.5 px-4 py-2.5 text-left focus-visible:outline-none`,onClick:c,"aria-expanded":a,children:[l,f,p]}),t[14]=a,t[15]=c,t[16]=l,t[17]=f,t[18]=p,t[19]=m):m=t[19];let h;t[20]===s?h=t[21]:(h=(0,Q.jsx)(`div`,{className:`pb-1`,children:s}),t[20]=s,t[21]=h);let g;t[22]!==a||t[23]!==h?(g=(0,Q.jsx)(Tr,{open:a,children:h}),t[22]=a,t[23]=h,t[24]=g):g=t[24];let _;return t[25]!==m||t[26]!==g?(_=(0,Q.jsxs)(`div`,{className:`border-t border-border/40 first:border-t-0`,children:[m,g]}),t[25]=m,t[26]=g,t[27]=_):_=t[27],_}),rg=(0,Z.memo)(function(e){let t=e.taskList&&e.taskList.items.length>0?e.taskList:null,n=e.backgroundSubagents.length>0?e.backgroundSubagents:null,r=e.queuedTurns.length>0?e.queuedTurns:null;if(!t&&!n&&!r)return null;let i=t?(()=>{let e=t.items.length;return{completed:t.items.filter(e=>Jh(e.status)).length,total:e}})():null;return(0,Q.jsxs)(Bh,{"data-chat-composer-context-panel":`true`,children:[r?(0,Q.jsx)(ng,{title:`Queued`,icon:dn,count:String(r.length),open:e.queuedOpen,onOpenChange:e.onQueuedOpenChange,children:(0,Q.jsx)(Hh,{scrollable:r.length>Gh,ariaLabel:`Queued messages list`,children:r.map(t=>(0,Q.jsx)(qh,{queuedTurn:t,onDelete:e.onDeleteQueuedTurn,onEdit:e.onEditQueuedTurn},t.id))})}):null,t&&i?(0,Q.jsx)(ng,{title:`Tasks`,icon:jn,count:`${i.completed}/${i.total}`,open:e.taskListOpen,onOpenChange:e.onTaskListOpenChange,children:(0,Q.jsx)(Hh,{scrollable:t.items.length>Uh,ariaLabel:`Tasks list`,children:t.items.map(e=>(0,Q.jsx)(Qh,{item:e},e.id))})}):null,n?(0,Q.jsx)(`div`,{"data-chat-background-subagents-panel":`true`,children:(0,Q.jsx)(ng,{title:`Background agents`,icon:Vt,count:String(n.length),open:e.backgroundSubagentsOpen,onOpenChange:e.onBackgroundSubagentsOpenChange,children:(0,Q.jsx)(Hh,{scrollable:n.length>Wh,ariaLabel:`Background agents list`,children:n.map((e,t)=>(0,Q.jsx)(tg,{row:e,index:t},e.id))})})}):null]})});function ig(e){return!e}function ag(e){return(0,Q.jsx)(Em,{workEntry:e,indented:!1},e.id)}function og(e){let t=(0,X.c)(6),{variant:n}=e,r=n===`error`&&`text-destructive`,i=n===`warning`&&`text-warning`,a=n===`info`&&`text-info`,o;t[0]!==r||t[1]!==i||t[2]!==a?(o=U(`size-3 shrink-0`,r,i,a),t[0]=r,t[1]=i,t[2]=a,t[3]=o):o=t[3];let s;return t[4]===o?s=t[5]:(s=(0,Q.jsx)(Dn,{className:o}),t[4]=o,t[5]=s),s}var sg=(0,Z.memo)(function(e){let t=(0,X.c)(33),{icon:n,title:r,variant:i,action:a,onDismiss:o,children:s}=e,[c,l]=(0,Z.useState)(!1),u;t[0]===n?u=t[1]:(u=(0,Q.jsx)(`span`,{className:`flex h-[18px] shrink-0 items-center`,children:n}),t[0]=n,t[1]=u);let d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>l(pg),t[2]=d):d=t[2];let f=i===`error`?`text-destructive`:`text-foreground/85`,p;t[3]===f?p=t[4]:(p=U(`text-[12.5px] font-medium`,f),t[3]=f,t[4]=p);let m;t[5]!==p||t[6]!==r?(m=(0,Q.jsx)(`span`,{className:p,children:r}),t[5]=p,t[6]=r,t[7]=m):m=t[7];let h;t[8]===c?h=t[9]:(h=(0,Q.jsx)(`span`,{className:`inline-flex size-4 shrink-0 items-center justify-center text-muted-foreground/50`,children:c?(0,Q.jsx)(Ln,{className:`size-3`}):(0,Q.jsx)(tr,{className:`size-3`})}),t[8]=c,t[9]=h);let g;t[10]!==c||t[11]!==m||t[12]!==h?(g=(0,Q.jsxs)(`button`,{type:`button`,onClick:d,className:`flex w-full cursor-pointer items-center gap-2 text-left focus-visible:outline-none`,"aria-expanded":c,children:[m,h]}),t[10]=c,t[11]=m,t[12]=h,t[13]=g):g=t[13];let _;t[14]===s?_=t[15]:(_=(0,Q.jsx)(`div`,{className:`pt-1.5 text-[11.5px] leading-relaxed text-muted-foreground/70`,children:s}),t[14]=s,t[15]=_);let v;t[16]!==c||t[17]!==_?(v=(0,Q.jsx)(Tr,{open:c,fade:!0,children:_}),t[16]=c,t[17]=_,t[18]=v):v=t[18];let y;t[19]!==g||t[20]!==v?(y=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[g,v]}),t[19]=g,t[20]=v,t[21]=y):y=t[21];let b;t[22]===a?b=t[23]:(b=a?(0,Q.jsx)(`div`,{className:`flex items-center`,children:a}):null,t[22]=a,t[23]=b);let x;t[24]===o?x=t[25]:(x=o?(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,className:`inline-flex size-5 items-center justify-center rounded-sm text-muted-foreground/40 transition-colors hover:text-destructive`,onClick:o,children:(0,Q.jsx)(wn,{className:`size-3`})}):null,t[24]=o,t[25]=x);let S;t[26]!==b||t[27]!==x?(S=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[b,x]}),t[26]=b,t[27]=x,t[28]=S):S=t[28];let C;return t[29]!==u||t[30]!==y||t[31]!==S?(C=(0,Q.jsx)(`div`,{className:`border-t border-border/30 first:border-t-0`,children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-2.5 px-4 py-2.5`,children:[u,y,S]})}),t[29]=u,t[30]=y,t[31]=S,t[32]=C):C=t[32],C}),cg=(0,Z.memo)(function(e){let t=(0,X.c)(8),{status:n}=e;if(!n||n.status===`ready`||n.status===`disabled`)return null;let r=ae[n.provider]??n.provider,i=n.status===`error`?`${r} provider is unavailable.`:`${r} provider has limited availability.`,a=`${r} provider status`,o=n.status===`error`?`error`:`warning`,s;t[0]===o?s=t[1]:(s=(0,Q.jsx)(og,{variant:o}),t[0]=o,t[1]=s);let c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsxs)(u,{to:`/settings/general`,className:`inline-flex items-center gap-1 rounded-md text-[11px] font-medium text-muted-foreground/60 underline-offset-2 hover:text-foreground hover:underline`,children:[(0,Q.jsx)(En,{className:`size-3`}),`Settings`]}),t[2]=c):c=t[2];let l=n.message??i,d;return t[3]!==s||t[4]!==l||t[5]!==a||t[6]!==o?(d=(0,Q.jsx)(sg,{icon:s,title:a,variant:o,action:c,children:l}),t[3]=s,t[4]=l,t[5]=a,t[6]=o,t[7]=d):d=t[7],d}),lg=(0,Z.memo)(function(e){let t=(0,X.c)(4),{error:n,onDismiss:r}=e;if(!n)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(og,{variant:`error`}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==r?(a=(0,Q.jsx)(sg,{icon:i,title:`Something went wrong`,variant:`error`,onDismiss:r,children:n}),t[1]=n,t[2]=r,t[3]=a):a=t[3],a});function ug(e){switch(e){case`resuming`:return{title:`Restoring thread runtime`,description:`ShioriCode is reconnecting this thread's provider session.`,variant:`warning`};case`needs_resume`:return{title:`Thread needs resume`,description:`The provider session is no longer attached. Send a message to restore it.`,variant:`warning`,action:{label:`Resume`,action:`resume`}};case`unrecoverable`:return{title:`Thread session cannot be restored`,description:`This provider session could not be resumed automatically. Start a new turn to continue safely.`,variant:`error`,action:{label:`Start new turn`,action:`resume`}};default:return null}}var dg=(0,Z.memo)(function(e){let t=(0,X.c)(15),{resumeState:n,onResumeAction:r}=e,i;t[0]===n?i=t[1]:(i=ug(n),t[0]=n,t[1]=i);let a=i;if(!a)return null;let o=n===`resuming`,s;t[2]!==a.variant||t[3]!==o?(s=o?(0,Q.jsx)(pn,{className:`mt-[3px] size-3.5 animate-spin text-warning`}):(0,Q.jsx)(og,{variant:a.variant}),t[2]=a.variant,t[3]=o,t[4]=s):s=t[4];let c;t[5]!==a.action||t[6]!==a.variant||t[7]!==r?(c=a.action&&r?(0,Q.jsxs)(I,{variant:`outline`,size:`sm`,className:U(`h-6 px-2 text-[11px]`,a.variant===`error`?`border-destructive/20 text-destructive/80 hover:border-destructive/30 hover:bg-destructive/[0.04] hover:text-destructive`:`border-border/50 hover:bg-muted/40`),onClick:e=>{e.stopPropagation(),r()},children:[a.action.action===`resume`&&(0,Q.jsx)(er,{className:`mr-1 size-3`}),a.action.label]}):void 0,t[5]=a.action,t[6]=a.variant,t[7]=r,t[8]=c):c=t[8];let l;return t[9]!==a.description||t[10]!==a.title||t[11]!==a.variant||t[12]!==s||t[13]!==c?(l=(0,Q.jsx)(sg,{icon:s,title:a.title,variant:a.variant,action:c,children:a.description}),t[9]=a.description,t[10]=a.title,t[11]=a.variant,t[12]=s,t[13]=c,t[14]=l):l=t[14],l}),fg=(0,Z.memo)(function(e){let t=(0,X.c)(12),{providerStatus:n,resumeState:r,threadError:i,onDismissError:a,onResumeAction:o}=e;if(!(n!=null&&n.status!==`ready`&&n.status!==`disabled`)&&r===`resumed`&&i==null)return null;let s;t[0]===n?s=t[1]:(s=(0,Q.jsx)(cg,{status:n}),t[0]=n,t[1]=s);let c;t[2]!==o||t[3]!==r?(c=(0,Q.jsx)(dg,{resumeState:r,onResumeAction:o}),t[2]=o,t[3]=r,t[4]=c):c=t[4];let l;t[5]!==a||t[6]!==i?(l=(0,Q.jsx)(lg,{error:i,onDismiss:a}),t[5]=a,t[6]=i,t[7]=l):l=t[7];let u;return t[8]!==s||t[9]!==c||t[10]!==l?(u=(0,Q.jsxs)(Bh,{"data-chat-composer-alerts-panel":`true`,children:[s,c,l]}),t[8]=s,t[9]=c,t[10]=l,t[11]=u):u=t[11],u});function pg(e){return!e}function mg(e){let t=(0,X.c)(12),{promptLength:n}=e,r=1-Math.min(1,n/14),i=(0,Z.useRef)(null),a=(0,Z.useRef)(null),o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),c,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{let e=i.current;if(!e)return;let t=e.parentElement;if(!t)return;let n=()=>{a.current=e.getBoundingClientRect()},r=()=>{s.current=null;let t=o.current,n=a.current;!t||!n||(e.style.setProperty(`--mx`,`${t.x-n.left}px`),e.style.setProperty(`--my`,`${t.y-n.top}px`))},c=()=>{s.current===null&&(s.current=window.requestAnimationFrame(r))},l=e=>{o.current={x:e.clientX,y:e.clientY},c()},u=()=>{n(),c()};n(),t.addEventListener(`pointerenter`,u),t.addEventListener(`mousemove`,l);let d=null;return typeof ResizeObserver<`u`&&(d=new ResizeObserver(()=>{n()}),d.observe(t),d.observe(e)),()=>{s.current!==null&&window.cancelAnimationFrame(s.current),d?.disconnect(),t.removeEventListener(`pointerenter`,u),t.removeEventListener(`mousemove`,l)}},l=[],t[0]=c,t[1]=l):(c=t[0],l=t[1]),(0,Z.useEffect)(c,l);let u=r<=.01?`opacity-0`:`opacity-100`,d;t[2]===u?d=t[3]:(d=U(`empty-thread-ambient pointer-events-none absolute inset-0 overflow-hidden transition-opacity duration-300 ease-out`,u),t[2]=u,t[3]=d);let f;t[4]===r?f=t[5]:(f=r.toFixed(3),t[4]=r,t[5]=f);let p=Number(f),m;t[6]===p?m=t[7]:(m={opacity:p},t[6]=p,t[7]=m);let h;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Q.jsx)(`div`,{className:`ambient-grid`}),t[8]=h):h=t[8];let g;return t[9]!==d||t[10]!==m?(g=(0,Q.jsx)(`div`,{ref:i,"aria-hidden":`true`,className:d,style:m,children:h}),t[9]=d,t[10]=m,t[11]=g):g=t[11],g}var hg=[.22,1,.36,1],gg=[e=>`Where shall we begin in ${e}?`,e=>`What's on the agenda for ${e}?`,e=>`Ready to ship something in ${e}?`,e=>`What can I help with in ${e}?`,e=>`What to improve in ${e}?`,e=>`First move in ${e}?`,e=>`Pick a thread in ${e}.`,e=>`What's next for ${e}?`],_g=[`Where shall we begin?`,`What's on your mind?`,`Ready when you are.`,`Pick a thread to pull.`,`What are we building today?`,`First move?`,`How can I help?`,`Let's make something.`];function vg(e){let t=e?.trim();if(t){let e=gg[Math.floor(Math.random()*gg.length)];return e(t)}return _g[Math.floor(Math.random()*_g.length)]}function yg(e){let t=(0,X.c)(9),{projectName:n}=e,r=!!kn(),i,a;t[0]===n?a=t[1]:(a=vg(n),t[0]=n,t[1]=a),i=a;let o=i,s;t[2]===r?s=t[3]:(s=r?!1:{opacity:0,y:6,filter:`blur(4px)`},t[2]=r,t[3]=s);let c,l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c={opacity:1,y:0,filter:`blur(0px)`},l={duration:.55,ease:hg},t[4]=c,t[5]=l):(c=t[4],l=t[5]);let u;return t[6]!==o||t[7]!==s?(u=(0,Q.jsx)(gn,{features:On,children:(0,Q.jsx)(An.h1,{className:`px-3 text-center font-semibold tracking-[-0.02em] text-foreground/90 text-[26px] leading-[1.15] sm:text-[32px] md:text-[36px]`,initial:s,animate:c,transition:l,children:o})}),t[6]=o,t[7]=s,t[8]=u):u=t[8],u}var bg=`shioricode`;o(B,t);function xg(e,t,n,r){return{id:e,codexThreadId:null,projectId:t.projectId,projectlessCwd:null,title:t.projectId===null?`New Chat`:`New Thread`,modelSelection:n,runtimeMode:t.runtimeMode,interactionMode:t.interactionMode,session:null,resumeState:`resumed`,messages:[],error:r,createdAt:t.createdAt,archivedAt:null,latestTurn:null,parentThreadId:null,branchSourceTurnId:null,branch:t.branch,worktreePath:t.worktreePath,tag:null,turnDiffSummaries:[],activities:[],proposedPlans:[]}}function Sg(e){let t=new Set(e.openThreadIds),n=e.currentThreadIds.filter(n=>n!==e.activeThreadId&&t.has(n)),r=Math.max(0,e.maxHiddenThreadCount??10),i=n.length>r?n.slice(-r):n;return e.activeThreadId&&e.activeThreadTerminalOpen&&!i.includes(e.activeThreadId)&&i.push(e.activeThreadId),i}function Cg(e){!e||typeof URL>`u`||!e.startsWith(`blob:`)||URL.revokeObjectURL(e)}function wg(e){if(!(e.role!==`user`||!e.attachments))for(let t of e.attachments)t.type===`image`&&Cg(t.previewUrl)}function Tg(e){if(e.role!==`user`||!e.attachments)return[];let t=[];for(let n of e.attachments)n.type===`image`&&(!n.previewUrl||!n.previewUrl.startsWith(`blob:`)||t.push(n.previewUrl));return t}function Eg(e){return new Promise((t,n)=>{let r=new FileReader;r.addEventListener(`load`,()=>{if(typeof r.result==`string`){t(r.result);return}n(Error(`Could not read image data.`))}),r.addEventListener(`error`,()=>{n(r.error??Error(`Failed to read image.`))}),r.readAsDataURL(e)})}function Dg(){return`${bg}/${ne().slice(0,8).toLowerCase()}`}function Og(e){if(typeof URL>`u`||!e.previewUrl.startsWith(`blob:`))return e;try{return{...e,previewUrl:URL.createObjectURL(e.file)}}catch{return e}}function kg(e){let t=Ke(e.prompt).trim(),n=et(e.terminalContexts);return{trimmedPrompt:t,sendableTerminalContexts:n,expiredTerminalContextCount:e.terminalContexts.length-n.length,hasSendableContent:t.length>0||e.imageCount>0||n.length>0}}function Ag(e){let t=e.replace(/\r\n?/g,`
|
|
269
|
-
`).trim();return t.length===0?``:t.split(`
|
|
270
|
-
`).map(e=>e.length>0?`> ${e}`:`>`).join(`
|
|
271
|
-
`)}function jg(e){let t=Ag(e.selectedText);if(t.length===0)return``;let n=Math.min(Math.max(0,e.cursor),e.prompt.length),r=e.prompt.slice(0,n),i=e.prompt.slice(n);return`${r.length===0||r.endsWith(`
|
|
272
|
-
|
|
273
|
-
`)?``:r.endsWith(`
|
|
274
|
-
`)?`
|
|
275
|
-
`:`
|
|
276
|
-
|
|
277
|
-
`}${t}${i.length===0?`
|
|
278
|
-
|
|
279
|
-
`:i.startsWith(`
|
|
280
|
-
|
|
281
|
-
`)?``:i.startsWith(`
|
|
282
|
-
`)?`
|
|
283
|
-
`:`
|
|
284
|
-
|
|
285
|
-
`}`}function Mg(e,t){let n=Math.max(1,Math.floor(e))===1?`Expired terminal context`:`Expired terminal contexts`;return t===`empty`?{title:`${n} won't be sent`,description:`Remove it or re-add it to include terminal output.`}:{title:`${n} omitted from message`,description:`Re-add it if you want that terminal output included.`}}function Ng(e){return e.enabled&&e.installed&&(e.status===`warning`||e.status===`error`)&&e.message?.toLowerCase().includes(`timed out while running command.`)===!0}function Pg(e){return!e||e.status===`ready`||e.status===`disabled`||Ng(e)||Ne(e)?null:e}function Fg(e){return!!(e&&(e.latestTurn!==null||e.messages.length>0||e.session!==null))}async function Ig(e,t=1e3){let n=()=>ct.getState().threads.find(t=>t.id===e);return n()?!0:await new Promise(r=>{let i=!1,a=null,o=e=>{i||(i=!0,a!==null&&globalThis.clearTimeout(a),s(),r(e))},s=ct.subscribe(t=>{t.threads.some(t=>t.id===e)&&o(!0)});if(n()){o(!0);return}a=globalThis.setTimeout(()=>{o(!1)},t)})}async function Lg(e,t=1e3){let n=()=>ct.getState().threads.find(t=>t.id===e);return Fg(n())?!0:await new Promise(r=>{let i=!1,a=null,o=e=>{i||(i=!0,a!==null&&globalThis.clearTimeout(a),s(),r(e))},s=ct.subscribe(t=>{Fg(t.threads.find(t=>t.id===e))&&o(!0)});if(Fg(n())){o(!0);return}a=globalThis.setTimeout(()=>{o(!1)},t)})}var Rg=5e3,zg=420,Bg=`${Math.round(ie/(1024*1024))}MB`,Vg=`[User attached one or more images without additional text. Respond using the conversation context and the attached image(s).]`,Hg=[],Ug=[],Wg=[],Gg={},Kg={insert:`INSERT`,normal:`NORMAL`,visual:`VISUAL`,"visual-line":`V-LINE`};function qg(e){let t=(0,X.c)(2),{mode:n}=e,r=Kg[n],i;return t[0]===r?i=t[1]:(i=(0,Q.jsx)(`span`,{className:`pointer-events-none absolute right-3 top-2 inline-flex h-5 items-center rounded-full border border-border/50 bg-card/85 px-2 font-medium text-[9px] text-muted-foreground/65 shadow-sm backdrop-blur-sm sm:right-4 sm:top-2.5`,"data-testid":`composer-vim-mode`,children:r}),t[0]=r,t[1]=i),i}function Jg(e){return e.enabled&&e.installed&&(e.status===`warning`||e.status===`error`)}var Yg=new Li(500,512*1024);function Xg(e){return Math.max(64,e.id.length+e.proposedPlans.reduce((e,t)=>e+t.id.length+t.planMarkdown.length+t.updatedAt.length+(t.turnId?.length??0),0))}function Zg(e){let t=Yg.get(e.id);if(t&&t.proposedPlans===e.proposedPlans)return t.entry;let n={id:e.id,proposedPlans:e.proposedPlans};return Yg.set(e.id,{proposedPlans:e.proposedPlans,entry:n},Xg(e)),n}function Qg(e){return ct((0,Z.useMemo)(()=>{let t=null,n=[];return r=>{let i=e.map(e=>r.threads.find(t=>t.id===e)),a=t;return a&&i.length===a.length&&i.every((e,t)=>e===a[t])?n:(t=i,n=i.flatMap(e=>e?[Zg(e)]:[]),n)}},[e]))}function $g(e){let t=we(e.models,e.model,e.provider);return e.effort&&t.promptInjectedEffortLevels.includes(e.effort)?ve(e.text,e.effort):e.text}function e_(e){return e?.options?{[e.provider]:e.options}:null}function t_(e){return`${e} doesn't support image attachments. Remove the images or switch to a multimodal model.`}var n_=`Review the recent changes and suggest improvements.`,r_=`Compact this thread's context. Preserve the current goal, constraints, important files, decisions, unfinished work, and the best next steps so we can continue cleanly later.`,i_=120,a_=(e,t,n)=>n.endsWith(` `)&&e[t]===` `?t+1:t,o_=(e,t)=>{let n=new Map(e.map(e=>[e.id,e]));return t.flatMap(e=>{let t=n.get(e);return t?[t]:[]})},s_=(e,t)=>e.length===t.length&&e.every((e,n)=>e.id===t[n]);function c_(e){let t=(0,X.c)(4),n=e.emptyThread?`mt-2 max-w-[44rem]`:`max-w-3xl pb-3 pt-1`,r;t[0]===n?r=t[1]:(r=U(`relative z-10 mx-auto flex min-h-4 w-full min-w-0 items-center justify-center px-5 text-center text-muted-foreground/55 text-xs`,n),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:r}),t[2]=r,t[3]=i),i}function l_(e){return ct((0,Z.useMemo)(()=>{let t=null,n=null,r=[],i=null,a=[],o={serverThreadIds:r,parentThread:i,childThreads:a};return s=>(t!==s.threads&&(t=s.threads,!e.isServerThread||!e.serverThreadId?(i=null,a=[]):(i=e.parentThreadId===null?null:s.threads.find(t=>t.id===e.parentThreadId)??null,a=s.threads.filter(t=>t.parentThreadId===e.serverThreadId).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)))),n!==s.threadIdsByProjectId&&(n=s.threadIdsByProjectId,r=Object.values(s.threadIdsByProjectId).flat()),o.serverThreadIds===r&&o.parentThread===i&&o.childThreads===a||(o={serverThreadIds:r,parentThread:i,childThreads:a}),o)},[e.isServerThread,e.parentThreadId,e.serverThreadId]))}function u_(e){let t=(0,X.c)(27),n;t[0]===e.threadId?n=t[1]:(n=t=>e.threadId?t.pendingThreadDispatchById[e.threadId]??null:null,t[0]=e.threadId,t[1]=n);let r=ct(n),i=ct(f_),a=ct(d_),o;t[2]!==i||t[3]!==e.activeThread||t[4]!==e.threadId?(o=t=>{if(!e.threadId)return;let n=!!t?.preparingWorktree,r=ct.getState().pendingThreadDispatchById[e.threadId]??null,a=r?r.preparingWorktree===n?r:{...r,preparingWorktree:n}:qe(e.activeThread,t);i(e.threadId,a)},t[2]=i,t[3]=e.activeThread,t[4]=e.threadId,t[5]=o):o=t[5];let s=o,c;t[6]!==a||t[7]!==e.threadId?(c=()=>{e.threadId&&a(e.threadId)},t[6]=a,t[7]=e.threadId,t[8]=c):c=t[8];let l=c,u,d=e.activePendingApproval!==null,f=e.activePendingUserInput!==null,p;t[9]!==e.activeLatestTurn||t[10]!==e.activities||t[11]!==e.phase||t[12]!==e.threadError||t[13]!==r||t[14]!==d||t[15]!==f?(p=_t({localDispatch:r,phase:e.phase,latestTurn:e.activeLatestTurn,activities:e.activities,hasPendingApproval:d,hasPendingUserInput:f,threadError:e.threadError}),t[9]=e.activeLatestTurn,t[10]=e.activities,t[11]=e.phase,t[12]=e.threadError,t[13]=r,t[14]=d,t[15]=f,t[16]=p):p=t[16],u=p;let m=u,h,g;t[17]!==l||t[18]!==m?(h=()=>{m&&l()},g=[l,m],t[17]=l,t[18]=m,t[19]=h,t[20]=g):(h=t[19],g=t[20]),(0,Z.useEffect)(h,g);let _=r?.startedAt??null,v=r?.preparingWorktree??!1,y=r!==null&&!m,b;return t[21]!==s||t[22]!==l||t[23]!==v||t[24]!==y||t[25]!==_?(b={beginLocalDispatch:s,resetLocalDispatch:l,localDispatchStartedAt:_,isPreparingWorktree:v,isSendBusy:y},t[21]=s,t[22]=l,t[23]=v,t[24]=y,t[25]=_,t[26]=b):b=t[26],b}function d_(e){return e.clearPendingThreadDispatch}function f_(e){return e.beginPendingThreadDispatch}function p_({threadId:e,visible:t,focusRequestId:n,splitShortcutLabel:r,newShortcutLabel:i,closeShortcutLabel:a,onAddTerminalContext:o}){let s=dr(e),c=vt(t=>t.draftThreadsByThreadId[e]??null),l=fr(s?.projectId??c?.projectId),u=Rt(t=>Lt(t.terminalStateByThreadId,e)),d=Rt(e=>e.setTerminalHeight),f=Rt(e=>e.splitTerminal),p=Rt(e=>e.newTerminal),m=Rt(e=>e.setActiveTerminal),h=Rt(e=>e.closeTerminal),[g,_]=(0,Z.useState)(0),v=!!u.terminalOpen,[y,b]=(0,Z.useState)(v),[x,S]=(0,Z.useState)(v?`open`:`closed`),C=(0,Z.useRef)(null),w=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{if(w.current!==null&&(clearTimeout(w.current),w.current=null),v){b(!0);let e=null,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>S(`open`))});return()=>{cancelAnimationFrame(t),e!==null&&cancelAnimationFrame(e)}}return S(`closed`),w.current=setTimeout(()=>{b(!1),w.current=null},220),()=>{w.current!==null&&(clearTimeout(w.current),w.current=null)}},[v]);let T=s?.worktreePath??c?.worktreePath??null,E=(0,Z.useMemo)(()=>l?T??l.cwd:null,[l,T]),D=(0,Z.useMemo)(()=>l?{SHIORICODE_PROJECT_ROOT:l.cwd,...T?{SHIORICODE_WORKTREE_PATH:T}:{}}:{},[l,T]),O=(0,Z.useCallback)(()=>{t&&_(e=>e+1)},[t]),k=(0,Z.useCallback)(t=>{d(e,t)},[d,e]),A=(0,Z.useCallback)(()=>{f(e,`terminal-${ne()}`),O()},[O,f,e]),j=(0,Z.useCallback)(()=>{p(e,`terminal-${ne()}`),O()},[O,p,e]),M=(0,Z.useCallback)(t=>{m(e,t),O()},[O,m,e]),N=(0,Z.useCallback)(t=>{let n=F();if(!n)return;let r=u.terminalIds.length<=1,i=()=>n.terminal.write({threadId:e,terminalId:t,data:`exit
|
|
286
|
-
`}).catch(()=>void 0);`close`in n.terminal&&typeof n.terminal.close==`function`?(async()=>{r&&await n.terminal.clear({threadId:e,terminalId:t}).catch(()=>void 0),await n.terminal.close({threadId:e,terminalId:t,deleteHistory:!0})})().catch(()=>i()):i(),h(e,t),O()},[O,h,u.terminalIds.length,e]),P=(0,Z.useCallback)(e=>{t&&o(e)},[o,t]);if(!l||!y||!E)return null;let I=!t&&!(!v&&y),L=u.terminalHeight;return(0,Q.jsx)(`div`,{ref:C,style:{display:I?`none`:`block`,height:x===`open`?`${L}px`:`0px`,overflow:`hidden`,willChange:`height, opacity`,opacity:x===`open`?1:0,transition:x===`open`?`height 200ms ease-in, opacity 200ms ease-in`:`height 200ms ease-out, opacity 200ms ease-out`},children:(0,Q.jsx)(`div`,{style:{height:`${L}px`},children:(0,Q.jsx)(tc,{threadId:e,cwd:E,runtimeEnv:D,visible:t,height:u.terminalHeight,terminalIds:u.terminalIds,activeTerminalId:u.activeTerminalId,terminalGroups:u.terminalGroups,activeTerminalGroupId:u.activeTerminalGroupId,focusRequestId:n+g+(t?1:0),onSplitTerminal:A,onNewTerminal:j,splitShortcutLabel:t?r:void 0,newShortcutLabel:t?i:void 0,closeShortcutLabel:t?a:void 0,onActiveTerminalChange:M,onCloseTerminal:N,onHeightChange:k,onAddTerminalContext:P})})})}function m_({isFocusedPane:e=!0,threadId:t}){let n=dr(t),r=ct(e=>e.setError),i=ct(e=>e.setThreadBranch),a=Bt(e=>e.markThreadVisited),o=Bt(e=>e.threadLastVisitedAtById[t]),s=lr(),{updateSettings:c}=ur(),l=vt(e=>e.setStickyModelSelection),u=s.timestampFormat,g=y(),_=d({strict:!1,select:e=>di(e)}),v=e?_:_.panes?{panes:_.panes}:{},{resolvedTheme:b}=ji(),x=f(vr({queryClient:h()})),S=Ct(t),C=S.prompt,w=S.images,T=S.terminalContexts,E=(0,Z.useMemo)(()=>kg({prompt:C,imageCount:w.length,terminalContexts:T}),[w.length,T,C]),D=S.nonPersistedImageIds,O=vt(e=>e.setPrompt),k=vt(e=>e.setModelSelection),N=vt(e=>e.setProviderModelOptions),P=vt(e=>e.setRuntimeMode),L=vt(e=>e.setInteractionMode),B=vt(e=>e.addImage),te=vt(e=>e.addImages),re=vt(e=>e.removeImage),ie=vt(e=>e.insertTerminalContext),ae=vt(e=>e.addTerminalContexts),oe=vt(e=>e.removeTerminalContext),se=vt(e=>e.setTerminalContexts),ce=vt(e=>e.clearPersistedAttachments),le=vt(e=>e.syncPersistedAttachments),W=vt(e=>e.clearComposerContent),pe=vt(e=>e.setDraftThreadContext),me=vt(e=>e.getDraftThreadByProjectId),he=vt(e=>e.getDraftThread),_e=vt(e=>e.setProjectDraftThreadId),ve=vt(e=>e.clearProjectDraftThreadId),ye=vt(e=>e.draftThreadsByThreadId[t]??null),G=(0,Z.useRef)(C),[Ce,Te]=(0,Z.useState)(!1),[Oe,ke]=(0,Z.useState)(!1),Me=(0,Z.useRef)({showScrollToBottom:!1,isScrolledFromTop:!1}),Ne=(0,Z.useRef)(null),Fe=(0,Z.useRef)(null),Le=(0,Z.useRef)(new Set),Re=(0,Z.useRef)(new Map),[Be,Ke]=(0,Z.useState)(()=>new Set),[qe,Xe]=(0,Z.useState)(!1),[et,rt]=(0,Z.useState)(null),[st,lt]=(0,Z.useState)([]),ut=(0,Z.useRef)(st);ut.current=st;let ft=(0,Z.useRef)(T),[_t,St]=(0,Z.useState)({}),[Et,Ot]=(0,Z.useState)(!1),[At,Mt]=(0,Z.useState)(!1),[Pt,Ft]=(0,Z.useState)([]),[zt,Vt]=(0,Z.useState)(null),[Ht,Ut]=(0,Z.useState)([]),[Gt,Kt]=(0,Z.useState)({}),[qt,Jt]=(0,Z.useState)({}),[Yt,Zt]=(0,Z.useState)({}),[Qt,$t]=(0,Z.useState)(!1),[en,tn]=(0,Z.useState)(!1),[nn,rn]=(0,Z.useState)(!1),[an,on]=(0,Z.useState)(()=>s.composerVimMode?`insert`:null),[sn,cn]=(0,Z.useState)(!0),[ln,un]=(0,Z.useState)(!0),[dn,fn]=(0,Z.useState)(!0),pn=(0,Z.useRef)(null),mn=(0,Z.useRef)(!1),[hn,gn]=(0,Z.useState)(0),[_n,vn]=(0,Z.useState)(null),[yn,bn]=(0,Z.useState)(null),[xn,Sn]=(0,Z.useState)({}),[Cn,Tn]=(0,Z.useState)(()=>Do(C,C.length)),[En,Dn]=(0,Z.useState)(()=>ko(C,C.length)),[On,kn]=(0,Z.useState)(!1),An=(0,Z.useRef)(null),[jn,Mn]=(0,Z.useState)(null),Nn=(0,Z.useRef)(!0),Pn=(0,Z.useRef)(0),Fn=(0,Z.useRef)(0),In=(0,Z.useRef)(!1),Ln=(0,Z.useRef)(null),Rn=(0,Z.useRef)(!1),Bn=(0,Z.useRef)(null),Vn=(0,Z.useRef)(0),Hn=(0,Z.useRef)(null),Un=(0,Z.useRef)(null),Wn=(0,Z.useRef)(null),Gn=(0,Z.useRef)(null),Kn=(0,Z.useRef)(0),qn=(0,Z.useRef)(null),Jn=(0,Z.useRef)(null),Yn=(0,Z.useRef)(null),Xn=(0,Z.useRef)([]),Qn=(0,Z.useRef)(!1),$n=(0,Z.useRef)(!1),er=(0,Z.useRef)([]),nr=(0,Z.useRef)(null),ir=(0,Z.useRef)({}),ar=(0,Z.useRef)({}),or=(0,Z.useRef)(!1),sr=(0,Z.useRef)(new Map),cr=(0,Z.useRef)(0),pr=(0,Z.useRef)({}),mr=(0,Z.useCallback)(e=>{An.current=e,Mn(e)},[]),gr=Rt(e=>e.terminalStateByThreadId),_r=(0,Z.useMemo)(()=>Lt(gr,t),[gr,t]),yr=(0,Z.useMemo)(()=>Object.entries(gr).flatMap(([e,t])=>t.terminalOpen?[e]:[]),[gr]),br=Rt(e=>e.setTerminalOpen),xr=Rt(e=>e.splitTerminal),Sr=Rt(e=>e.newTerminal),Cr=Rt(e=>e.closeTerminal),{branchThread:wr}=pi(),Tr=Aa(e=>ja(e.queuedTurnsByThreadId,t)),Er=Aa(e=>e.enqueueQueuedTurn),Dr=Aa(e=>e.removeQueuedTurn),kr=vt(e=>e.draftThreadsByThreadId),Ar=(0,Z.useMemo)(()=>Object.keys(kr),[kr]),[Mr,Nr]=(0,Z.useState)([]),Lr=(0,Z.useCallback)(e=>{O(t,e)},[O,t]),Rr=(0,Z.useCallback)(e=>{B(t,e)},[B,t]),zr=(0,Z.useCallback)(e=>{te(t,e)},[te,t]),Br=(0,Z.useCallback)(e=>{ae(t,e)},[ae,t]),Ur=(0,Z.useCallback)(e=>{re(t,e)},[re,t]),Wr=(0,Z.useCallback)(e=>{let n=T.findIndex(t=>t.id===e);if(n<0)return;let r=at(G.current,n);G.current=r.prompt,Lr(r.prompt),oe(t,e),Tn(r.cursor),Dn(ko(r.prompt,Co(r.prompt,r.cursor)))},[T,oe,Lr,t]),Gr=fr(ye?.projectId),Kr=n?null:_t[t]??null,Yr=(0,Z.useMemo)(()=>ye?xg(t,ye,Gr?.defaultModelSelection??{provider:`codex`,model:R.codex},Kr):void 0,[ye,Gr?.defaultModelSelection,Kr,t]),K=n??Yr,Zr=S.runtimeMode??K?.runtimeMode??`full-access`,Qr=S.interactionMode??K?.interactionMode??`default`,$r=n!==void 0,ei=!$r&&Yr!==void 0,ti=ei,ii=ni(),ai=qr(v,{browserEnabled:ii}),ci=ai===`diff`,li=ai===`browser`,q=K?.id??null,{serverThreadIds:ui,parentThread:fi,childThreads:mi}=l_({isServerThread:$r,serverThreadId:n?.id,parentThreadId:n?.parentThreadId??null}),gi=(0,Z.useMemo)(()=>{let e=new Set([...ui,...Ar]);return yr.filter(t=>e.has(t))},[Ar,yr,ui]),_i=K?.latestTurn??null,yi=Qg((0,Z.useMemo)(()=>{let e=[];K?.id&&e.push(K.id);let t=_i?.sourceProposedPlan?.threadId;return t&&t!==K?.id&&e.push(t),e},[_i?.sourceProposedPlan?.threadId,K?.id])),bi=(0,Z.useMemo)(()=>ac(K?.activities??[]),[K?.activities]);(0,Z.useEffect)(()=>{Nr(e=>{let t=Sg({currentThreadIds:e,openThreadIds:gi,activeThreadId:q,activeThreadTerminalOpen:!!(q&&_r.terminalOpen),maxHiddenThreadCount:10});return e.length===t.length&&e.every((e,n)=>e===t[n])?e:t})},[q,gi,_r.terminalOpen]);let xi=fe(_i,K?.session??null),Si=fr(K?.projectId),Ci=K?.projectId===null,wi=Si!==void 0,Ti=(0,Z.useCallback)(async()=>{if(!(!$r||!n))try{await wr(n.id)}catch(e){oi.add({type:`error`,title:`Could not branch thread`,description:e instanceof Error?e.message:`An unknown error occurred.`})}},[wr,$r,n]),Ei=(0,Z.useCallback)(e=>{ti&&(bn({initialReference:e??null,key:Date.now()}),vn(null))},[ti]),Di=(0,Z.useCallback)(()=>{bn(null)},[]),Oi=(0,Z.useCallback)(async e=>{if(!Si)throw Error(`No active project is available for this pull request.`);let n=me(Si.id);if(n)return pe(n.threadId,e),_e(Si.id,n.threadId,e),n.threadId!==t&&await g({to:`/$threadId`,params:{threadId:n.threadId}}),n.threadId;let r=he(t);if(!$r&&r?.projectId===Si.id)return pe(t,e),_e(Si.id,t,e),t;ve(Si.id);let i=ee();return _e(Si.id,i,{createdAt:new Date().toISOString(),runtimeMode:xe,interactionMode:ge,...e}),await g({to:`/$threadId`,params:{threadId:i}}),i},[Si,ve,he,me,$r,g,pe,_e,t]),ki=(0,Z.useCallback)(async e=>{await Oi({branch:e.branch,worktreePath:e.worktreePath,envMode:e.worktreePath?`worktree`:`local`})},[Oi]);(0,Z.useEffect)(()=>{if(!n?.id||!xi||!_i?.completedAt)return;let e=Date.parse(_i.completedAt);if(Number.isNaN(e))return;let t=o?Date.parse(o):NaN;!Number.isNaN(t)&&t>=e||a(n.id)},[_i?.completedAt,o,xi,a,n?.id]);let Ai=K?.session?.provider??null,Mi=S.activeProvider??null,Ni=K?.modelSelection.provider??Si?.defaultModelSelection?.provider??null,Pi=Fg(K),Fi=Pi?Ai??Ni??Mi??null:null,Li=A()?.providers??Wg,Ri=(0,Z.useMemo)(()=>({kimiCode:Li.find(e=>e.provider===`kimiCode`)?.models??[],gemini:Li.find(e=>e.provider===`gemini`)?.models??[],glm:Li.find(e=>e.provider===`glm`)?.models??[],cursor:Li.find(e=>e.provider===`cursor`)?.models??[],codex:Li.find(e=>e.provider===`codex`)?.models??[],claudeAgent:Li.find(e=>e.provider===`claudeAgent`)?.models??[]}),[Li]),Bi=(0,Z.useRef)(!1),Vi=Ve(Li,Mi??Ni??`codex`),J=Fi??Vi,{modelOptions:Ui,selectedModel:Wi}=Qe({threadId:t,providers:Li,selectedProvider:J,threadModelSelection:K?.modelSelection,projectModelSelection:Si?.defaultModelSelection,settings:s}),Ki=Ae(Li,J),qi=(0,Z.useMemo)(()=>Ue({provider:J,model:Wi,models:Ki,prompt:C,modelOptions:Ui}),[Ui,C,Wi,J,Ki]),Ji=qi.promptEffort,Zi=qi.modelOptionsForDispatch,Qi=(0,Z.useMemo)(()=>Ee(Ki,Wi,J),[Wi,J,Ki]),$i=(0,Z.useMemo)(()=>ue(Ki,Wi,J),[Wi,J,Ki]),ea=(0,Z.useMemo)(()=>He(J,Wi,Zi),[Wi,Zi,J]),ta=(0,Z.useCallback)((e,t,n)=>{let r=Ae(Li,e.provider),i=Ue({provider:e.provider,model:e.model,models:r,prompt:n,modelOptions:e_(e)});return $g({provider:e.provider,model:e.model,models:r,effort:i.promptEffort,text:t})},[Li]);(0,Z.useEffect)(()=>{if(Bi.current||!Li.some(Jg))return;let e=F();e&&(Bi.current=!0,e.server.refreshProviders().catch(()=>{Bi.current=!1}))},[Li]);let na=(0,Z.useCallback)(e=>{let t=Se(Li,e);if(t)throw Error(t)},[Li]),ra=(0,Z.useCallback)(e=>{let t=e.composerImagesSnapshot[0]?.name??null,n=e.trimmedPrompt;return n||=t?`Image: ${t}`:e.composerTerminalContextsSnapshot.length>0?bt(e.composerTerminalContextsSnapshot[0]):`New Thread`,Ze(n)},[]),ia=(0,Z.useCallback)(async e=>{if(!ei||!K)return!1;if(Fg(ct.getState().threads.find(e=>e.id===t)??null))return!0;let n=sr.current.get(t);if(n)return n;let r=F();if(!r)return!1;let i=r.orchestration.dispatchCommand({type:`thread.create`,commandId:z(),threadId:t,projectId:K.projectId,projectlessCwd:K.projectId===null?K.projectlessCwd??null:null,title:e.title,modelSelection:e.modelSelection,runtimeMode:Zr,interactionMode:Qr,parentThreadId:null,branchSourceTurnId:null,branch:e.branch,worktreePath:e.worktreePath,createdAt:K.createdAt}).then(async()=>(await Ig(t),r.orchestration.dispatchCommand({type:`thread.session.ensure`,commandId:z(),threadId:t,createdAt:new Date().toISOString()}).catch(()=>void 0),!0)).catch(()=>!1).finally(()=>{sr.current.delete(t)});return sr.current.set(t,i),i},[K,Qr,ei,Zr,t]),aa=Wi,oa=(0,Z.useMemo)(()=>He(J,Wi||Si?.defaultModelSelection?.model||R.codex,ea.options),[Si?.defaultModelSelection?.model,Wi,ea.options,J]),sa=it(K?.session??null),ca=K?.activities??Hg,la=(0,Z.useMemo)(()=>Ye(ca,void 0),[ca]),ua=(0,Z.useMemo)(()=>Ge(ca),[ca]),da=(0,Z.useMemo)(()=>Ie(ca,_i?.turnId),[_i?.turnId,ca]),fa=K?.session?.orchestrationStatus??null,pa=(0,Z.useMemo)(()=>fa===`running`?mt(ca):[],[ca,fa]),ma=(0,Z.useMemo)(()=>fa===`running`?ot(ca):[],[ca,fa]),Y=ma[0]??null,ha=(0,Z.useMemo)(()=>Y?Gt[Y.requestId]??Gg:Gg,[Y,Gt]),ga=Y?qt[Y.requestId]??0:0,_a=(0,Z.useMemo)(()=>Y?Ro(Y.questions,ha,ga):null,[ha,ga,Y]),va=(0,Z.useMemo)(()=>Y?Io(Y.questions,ha):null,[ha,Y]),ya=Y?Ht.includes(Y.requestId):!1,[ba,xa]=(0,Z.useState)({}),Sa=(0,Z.useMemo)(()=>xi?jt(K?.proposedPlans??[],_i?.turnId??null):null,[_i?.turnId,K?.proposedPlans,xi]),Ca=(0,Z.useMemo)(()=>Pe({threads:yi,latestTurn:_i,latestTurnSettled:xi,threadId:K?.id??null}),[_i,K?.id,xi,yi]),wa=(0,Z.useMemo)(()=>Tt(ca,_i?.turnId??void 0),[_i?.turnId,ca]),Ta=(0,Z.useMemo)(()=>$e(ca,_i?.turnId??void 0),[_i?.turnId,ca]),Ea=ma.length===0&&Qr===`plan`&&xi&&kt(Sa),Da=Ea&&C.trim().length===0&&Sa!==null,Oa=(Sa?ba[Sa.id]??null:null)??ea,ka=Ve(Li,Oa.provider),Ma=Ae(Li,ka),X=xt(ka,s,Li,Oa.provider===ka?Oa.model:void 0),Na=Oa.provider===ka?Oa.options:void 0,Pa=(0,Z.useMemo)(()=>Ue({provider:ka,model:X,models:Ma,prompt:``,modelOptions:Na?{[ka]:Na}:null}),[X,ka,Ma,Na]),Fa=(0,Z.useMemo)(()=>He(ka,X,Pa.modelOptionsForDispatch),[X,ka,Pa.modelOptionsForDispatch]),Ia=(0,Z.useMemo)(()=>Ri[ka].some(e=>e.slug===X)?X:ze(X,ka)??X,[X,ka,Ri]),La=pa[0]??null,{beginLocalDispatch:Ra,resetLocalDispatch:za,localDispatchStartedAt:Ba,isPreparingWorktree:Va,isSendBusy:Ha}=u_({threadId:K?.id??null,activeThread:K,activeLatestTurn:_i,phase:sa,activities:ca,activePendingApproval:La?.requestId??null,activePendingUserInput:Y?.requestId??null,threadError:K?.error}),Ua=De(_i,K?.session??null),Wa=K?.session?.activeTurnId??_i?.turnId??null,Ga=Ua&&J===`codex`&&w.length===0&&Wa!==null,Ka=Ua||Ha||Et||At,qa=nt(_i,K?.session??null,Ba),Ja=_i?.startedAt??qa,Ya=La!==null,[Xa,Za]=(0,Z.useState)(!1),Qa=!Xa&&/\bplan\b/i.test(C)&&Qr!==`plan`&&!Ya&&ma.length===0,$a=Ya||ma.length>0||Ea&&Sa!==null,eo=Ea||_a!==null,to=(0,Z.useMemo)(()=>_a?`pending:${_a.questionIndex}:${_a.isLastQuestion}:${ya}`:Ua?`running`:Ea?C.trim().length>0?`plan:refine`:`plan:implement`:`idle:${E.hasSendableContent}:${Ha}:${Et}:${Va}`,[ya,_a,E.hasSendableContent,Et,Va,Ha,Ua,C,Ea]),no=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{let e=_a?.customAnswer;if(typeof e!=`string`){no.current=null;return}let t=Y?.requestId??null,n=_a?.activeQuestion?.id??null,r=no.current?.requestId!==t||no.current?.questionId!==n,i=G.current!==e;if(no.current={requestId:t,questionId:n},!r&&!i)return;G.current=e;let a=Do(e,e.length);Tn(a),Dn(ko(e,Co(e,a))),vn(null)},[_a?.customAnswer,Y?.requestId,_a?.activeQuestion?.id]),(0,Z.useEffect)(()=>{ir.current=xn},[xn]);let ro=(0,Z.useCallback)(()=>{for(let e of Object.values(ar.current))window.clearTimeout(e);ar.current={};for(let e of Object.values(ir.current))for(let t of e)Cg(t);ir.current={},Sn({})},[]);(0,Z.useEffect)(()=>()=>{ro();for(let e of ut.current)wg(e)},[ro]);let io=(0,Z.useCallback)((e,t)=>{if(t.length===0)return;let n=ir.current[e]??[];for(let e of n)t.includes(e)||Cg(e);Sn(n=>{let r={...n,[e]:t};return ir.current=r,r});let r=ar.current[e];typeof r==`number`&&window.clearTimeout(r),ar.current[e]=window.setTimeout(()=>{let t=ir.current[e];if(t)for(let e of t)Cg(e);Sn(t=>{if(!(e in t))return t;let n={...t};return delete n[e],ir.current=n,n}),delete ar.current[e]},Rg)},[]),ao=K?.messages,oo=dt(K?.session?.provider)||dt(K?.modelSelection.provider),so=(0,Z.useMemo)(()=>{let e=ao??[],t=Object.keys(xn).length===0?e:e.map(e=>{if(e.role!==`user`||!e.attachments||e.attachments.length===0)return e;let t=xn[e.id];if(!t||t.length===0)return e;let n=!1,r=0,i=e.attachments.map(e=>{if(e.type!==`image`)return e;let i=t[r];return r+=1,!i||e.previewUrl===i?e:(n=!0,{...e,previewUrl:i})});return n?{...e,attachments:i}:e});if(st.length===0)return t;let n=new Set(t.map(e=>e.id)),r=st.filter(e=>!n.has(e.id));return r.length===0?Nt(t,K?.session??null,{preserveCompletedAssistantMessages:oo}):Nt([...t,...r],K?.session??null,{preserveCompletedAssistantMessages:oo})},[ao,xn,st,K?.session,oo]),co=(0,Z.useMemo)(()=>Dt(so,ua,K?.proposedPlans??[],la),[K?.proposedPlans,ua,so,la]);(0,Z.useLayoutEffect)(()=>{let e=co.flatMap(e=>e.kind===`message`&&e.message.role===`assistant`&&!e.message.streaming&&e.message.text.trim().length>0?[e.message.id]:[]),t=()=>{for(let e of Re.current.values())window.clearTimeout(e);Re.current.clear()},n=()=>{Le.current=new Set(e),Ke(e=>e.size>0?new Set:e)},r=K?.id??null;if(s.enableAssistantStreaming){Fe.current=r,t(),n();return}if(Fe.current!==r){Fe.current=r,t(),n();return}let i=e.filter(e=>!Le.current.has(e));if(i.length!==0){for(let e of i)Le.current.add(e);Ke(e=>{let t=new Set(e);for(let e of i)t.add(e);return t});for(let e of i){let t=Re.current.get(e);t!==void 0&&window.clearTimeout(t);let n=window.setTimeout(()=>{Re.current.delete(e),Ke(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},zg);Re.current.set(e,n)}}},[K?.id,s.enableAssistantStreaming,co]),(0,Z.useEffect)(()=>()=>{for(let e of Re.current.values())window.clearTimeout(e);Re.current.clear()},[]);let lo=K?.session?.activeTurnId??_i?.turnId??null,fo=!At&&(Ha||Et),po=co.length===0&&!Ka,{turnDiffSummaries:mo,inferredCheckpointTurnCountByTurnId:ho}=zi(K),go=(0,Z.useMemo)(()=>{let e=new Map;for(let t of mo)t.assistantMessageId&&e.set(t.assistantMessageId,t);return e},[mo]),_o=(0,Z.useMemo)(()=>{let e=new Map,t=null;for(let n=co.length-1;n>=0;--n){let r=co[n];if(!(!r||r.kind!==`message`)){if(r.message.role===`assistant`){let e=go.get(r.message.id);if(!e)continue;let n=e.checkpointTurnCount??ho[e.turnId];typeof n==`number`&&(t=Math.max(0,n-1));continue}r.message.role===`user`&&t!==null&&(e.set(r.message.id,t),t=null)}}return e},[ho,co,go]),vo=(0,Z.useMemo)(()=>{if(!xi||!_i?.startedAt||!_i.completedAt||!da)return null;let e=de(_i.startedAt,_i.completedAt);return e?`Worked for ${e}`:null},[_i?.completedAt,_i?.startedAt,da,xi]),yo=(0,Z.useMemo)(()=>!xi||!vo?null:yt(co,_i),[_i,vo,xi,co]),bo=(0,Z.useMemo)(()=>K?.id??`no-thread`,[K?.id]),xo=Si?K?.worktreePath??Si.cwd:null,So=En?.kind??null,wo=En?.kind===`path`?En.query:``,To=So===`path`,[Oo,No]=m(wo,{wait:i_},e=>({isPending:e.isPending})),Po=wo.length>0?Oo:``,Lo=p(hr(xo)),Bo=M(),Vo=j(),Ho=(0,Z.useMemo)(()=>Ri[J].some(e=>e.slug===aa)?aa:ze(aa,J)??aa,[Ri,aa,J]),Ko=(0,Z.useMemo)(()=>Yi.filter(e=>(Fi===null||e.value===Fi)&&!It(be(Li,e.value))).flatMap(e=>Ri[e.value].map(({slug:t,name:n})=>({provider:e.value,providerLabel:e.label,slug:t,name:n,searchSlug:t.toLowerCase(),searchName:n.toLowerCase(),searchProvider:e.label.toLowerCase()}))),[Fi,Ri,Li]),qo=(0,Z.useMemo)(()=>we(Ki,Wi,J),[Wi,J,Ki]),Jo=qo.supportsFastMode&&ea.options?.fastMode===!0,Yo=(0,Z.useMemo)(()=>Hi.find(e=>e.value===s.assistantPersonality)??Hi[0],[s.assistantPersonality]),Xo=p(si({cwd:xo,query:Po,enabled:To,limit:80})),Zo=Xo.data?.entries??Ug,Qo=(0,Z.useMemo)(()=>K?Fr({provider:K.session?.provider??K.modelSelection.provider,workEntries:la,activities:K.activities}):[],[K,la]);(0,Z.useEffect)(()=>{Qo.length===0&&un(!0)},[Qo.length]);let $o=(0,Z.useMemo)(()=>{if(!En)return[];if(En.kind===`path`){let e=En.query.trim().toLowerCase(),t=Qo.filter(t=>e?t.displayName.toLowerCase().includes(e)||t.mentionName.toLowerCase().includes(e)||(t.agentRole?.toLowerCase().includes(e)??!1)||(t.instruction?.toLowerCase().includes(e)??!1):!0).map(e=>({id:`agent:${e.provider}:${e.rootItemId}`,type:`agent`,mentionName:e.mentionName,label:e.displayName,description:e.agentRole?`${e.agentRole} · ${e.status===`active`?`working`:`awaiting instruction`}`:e.status===`active`?`working`:`awaiting instruction`})),n=Zo.map(e=>({id:`path:${e.kind}:${e.path}`,type:`path`,path:e.path,pathKind:e.kind,label:Ii(e.path),description:e.parentPath??``}));return[...t,...n]}if(En.kind===`slash-command`){let e=[{id:`slash:compact`,type:`slash-command`,command:`compact`,label:`/compact`,description:`Compact this thread's context`},{id:`slash:fast`,type:`slash-command`,command:`fast`,label:`/fast`,description:Jo?`Turn off Fast mode and return to standard inference speed`:qo.supportsFastMode?`Turn on Fast mode for quicker responses`:`Fast mode is unavailable for the current model`},{id:`slash:fork`,type:`slash-command`,command:`fork`,label:`/fork`,description:`Fork this chat into local or a new worktree`},{id:`slash:goal`,type:`slash-command`,command:`goal`,label:`/goal`,description:On?`Turn off goal mode`:`Send the next message as this thread's goal`},{id:`slash:mcp`,type:`slash-command`,command:`mcp`,label:`/mcp`,description:`Show MCP server status`},{id:`slash:memories`,type:`slash-command`,command:`memories`,label:`/memories`,description:`Generate memories ${s.generateMemories?`on`:`off`}`},{id:`slash:model`,type:`slash-command`,command:`model`,label:`/model`,description:`Switch response model for this thread`},{id:`slash:personality`,type:`slash-command`,command:`personality`,label:`/personality`,description:Yo.label},{id:`slash:plan`,type:`slash-command`,command:`plan`,label:`/plan`,description:`Switch this thread into plan mode`},{id:`slash:default`,type:`slash-command`,command:`default`,label:`/default`,description:`Switch this thread back to default mode`},{id:`slash:review`,type:`slash-command`,command:`review`,label:`/review`,description:`Review the recent changes and suggest improvements`}];if(En.command===`fork`){let e=En.query.trim().toLowerCase();return[{id:`slash:fork:local`,type:`slash-command`,command:`fork`,value:`local`,label:`/fork local`,description:`Fork this chat into a local thread`},{id:`slash:fork:worktree`,type:`slash-command`,command:`fork`,value:`worktree`,label:`/fork worktree`,description:`Fork this chat into a new worktree`}].filter(t=>e?t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e):!0)}if(En.command===`personality`){let e=En.query.trim().toLowerCase();return Hi.filter(t=>e?t.value.includes(e)||t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e):!0).map(e=>({id:`slash:personality:${e.value}`,type:`slash-command`,command:`personality`,value:e.value,label:`/personality ${e.value}`,description:e.description}))}let t=En.query.trim().toLowerCase(),n=En.command?e.filter(e=>e.command===En.command):e;return t?n.filter(e=>{let n=e.label.slice(1).toLowerCase();return e.command.includes(t)||n.includes(t)||e.description.toLowerCase().includes(t)}):[...n]}return Ko.filter(({searchSlug:e,searchName:t,searchProvider:n})=>{let r=En.query.trim().toLowerCase();return r?e.includes(r)||t.includes(r)||n.includes(r):!0}).map(({provider:e,providerLabel:t,slug:n,name:r})=>({id:`model:${e}:${n}`,type:`model`,provider:e,model:n,label:r,description:`${t} · ${n}`}))},[Yo.label,Qo,En,Jo,On,Ko,qo.supportsFastMode,s.generateMemories,Zo]),es=!!En,ts=(0,Z.useMemo)(()=>$o.find(e=>e.id===_n)??$o[0]??null,[_n,$o]);$n.current=es,er.current=$o,nr.current=ts,(0,Z.useEffect)(()=>{if(!s.composerVimMode){on(null);return}on(e=>e??`insert`)},[s.composerVimMode]);let ns=(0,Z.useMemo)(()=>new Set(D),[D]),rs=(0,Z.useMemo)(()=>Pg(Li.find(e=>e.provider===J)??null),[J,Li]),is=Lo.data?.isRepo??!0,as=(0,Z.useMemo)(()=>({context:{terminalFocus:!0,terminalOpen:!!_r.terminalOpen}}),[_r.terminalOpen]),os=(0,Z.useMemo)(()=>({context:{terminalFocus:!1,terminalOpen:!!_r.terminalOpen}}),[_r.terminalOpen]),ss=(0,Z.useMemo)(()=>vi(Bo,`terminal.toggle`),[Bo]),cs=(0,Z.useMemo)(()=>vi(Bo,`terminal.split`,as),[Bo,as]),ls=(0,Z.useMemo)(()=>vi(Bo,`terminal.new`,as),[Bo,as]),us=(0,Z.useMemo)(()=>vi(Bo,`terminal.close`,as),[Bo,as]),ds=(0,Z.useMemo)(()=>vi(Bo,`diff.toggle`,os),[Bo,os]),fs=(0,Z.useMemo)(()=>vi(Bo,`browser.toggle`,os),[Bo,os]),ps=(0,Z.useCallback)(()=>{wi&&g({to:`/$threadId`,params:{threadId:t},replace:!0,search:e=>{if(ci){let t={...Jr(e),diff:void 0};return e.panel===`diff`?Xr(t):t}return{...e,diff:`1`,panel:`diff`}}})},[ci,wi,g,t]),ms=(0,Z.useCallback)(()=>{g({to:`/$threadId`,params:{threadId:t},replace:!0,search:e=>{let t=hi(e);return e.panel===`browser`?Xr(t):t}})},[g,t]),hs=(0,Z.useCallback)(()=>{if(!ii){ms();return}g({to:`/$threadId`,params:{threadId:t},replace:!0,search:e=>({...e,browser:`1`,panel:`browser`})})},[ii,ms,g,t]),gs=(0,Z.useCallback)(()=>{if(!ii){ms();return}if(li){ms();return}hs()},[li,ii,ms,hs]);(0,Z.useEffect)(()=>{ii||v.browser!==`1`||ms()},[ii,ms,v.browser]);let _s=!!(K&&(K.messages.length>0||K.session!==null&&K.session.status!==`closed`)),vs=((_r.terminalGroups.find(e=>e.id===_r.activeTerminalGroupId)??_r.terminalGroups.find(e=>e.terminalIds.includes(_r.activeTerminalId))??null)?.terminalIds.length??0)>=4,ys=(0,Z.useCallback)((e,t)=>{if(e){if(ct.getState().threads.some(t=>t.id===e)){r(e,t);return}St(n=>(n[e]??null)===t?n:{...n,[e]:t})}},[r]),xs=(0,Z.useCallback)(async e=>{if(G.current.length>0||Xn.current.length>0||ft.current.length>0){let e=`Replace the current composer draft with this queued message?`,t=F();if(!(t?await t.dialogs.confirm(e):window.confirm(e)))return!1}Dr(e.threadId,e.id),W(e.threadId);let t=e.composerSnapshot.prompt;G.current=t,Lr(t),se(e.threadId,[...e.composerSnapshot.terminalContexts]);let n=Je(e.composerSnapshot.persistedAttachments);return n.length>0&&(zr(n),le(e.threadId,[...e.composerSnapshot.persistedAttachments])),k(e.threadId,e.modelSelection),P(e.threadId,e.runtimeMode),L(e.threadId,e.interactionMode),Tn(Do(t,t.length)),Dn(ko(t,t.length)),ys(e.threadId,null),window.requestAnimationFrame(()=>{Wn.current?.focusAtEnd()}),!0},[zr,W,Dr,L,k,P,se,Lr,ys,le]),Ss=(0,Z.useCallback)(e=>{K&&Dr(K.id,e)},[K,Dr]),Cs=(0,Z.useCallback)(async e=>{let t=Tr.find(t=>t.id===e);t&&await xs(t)},[Tr,xs]),ws=(0,Z.useCallback)(()=>{Wn.current?.focusAtEnd()},[]),Ts=(0,Z.useCallback)(()=>{window.requestAnimationFrame(()=>{ws()})},[ws]),Es=(0,Z.useCallback)(e=>{if(!K)return;let t=Wn.current?.readSnapshot()??{value:G.current,cursor:Cn,expandedCursor:Co(G.current,Cn),terminalContextIds:T.map(e=>e.id)},n=ht(t.value,t.expandedCursor),r=Do(n.prompt,n.cursor);ie(K.id,n.prompt,{id:ne(),threadId:K.id,createdAt:new Date().toISOString(),...e},n.contextIndex)&&(G.current=n.prompt,Tn(r),Dn(ko(n.prompt,n.cursor)),window.requestAnimationFrame(()=>{Wn.current?.focusAt(r)}))},[K,Cn,T,ie]),Ds=(0,Z.useCallback)(e=>{q&&br(q,e)},[q,br]),Os=(0,Z.useCallback)(()=>{q&&Ds(!_r.terminalOpen)},[q,Ds,_r.terminalOpen]),As=(0,Z.useCallback)(()=>{!q||vs||(xr(q,`terminal-${ne()}`),gn(e=>e+1))},[q,vs,xr]),js=(0,Z.useCallback)(()=>{q&&(Sr(q,`terminal-${ne()}`),gn(e=>e+1))},[q,Sr]),Ms=(0,Z.useCallback)(e=>{let t=F();if(!q||!t)return;let n=_r.terminalIds.length<=1,r=()=>t.terminal.write({threadId:q,terminalId:e,data:`exit
|
|
287
|
-
`}).catch(()=>void 0);`close`in t.terminal&&typeof t.terminal.close==`function`?(async()=>{n&&await t.terminal.clear({threadId:q,terminalId:e}).catch(()=>void 0),await t.terminal.close({threadId:q,terminalId:e,deleteHistory:!0})})().catch(()=>r()):r(),Cr(q,e),gn(e=>e+1)},[q,Cr,_r.terminalIds.length]),Ns=(0,Z.useCallback)(e=>{e!==Zr&&(P(t,e),ei&&pe(t,{runtimeMode:e}),Ts())},[ei,Zr,Ts,P,pe,t]),Ps=(0,Z.useCallback)(e=>{e!==Qr&&(L(t,e),ei&&pe(t,{interactionMode:e}),Ts())},[Qr,ei,Ts,L,pe,t]),Fs=(0,Z.useCallback)(()=>{Ps(Qr===`plan`?`default`:`plan`)},[Ps,Qr]),Is=(0,Z.useCallback)(async()=>K?$r?!0:ei?ia({title:K.title,modelSelection:oa,branch:K.branch,worktreePath:K.worktreePath}):!1:!1,[K,oa,ei,$r,ia]),Ls=(0,Z.useCallback)(async e=>{let n=F();if(!n||!await Is()){oi.add({type:`warning`,title:`Goal mode is unavailable`,description:`Start or reconnect this thread before setting a goal.`});return}await n.orchestration.dispatchCommand({type:`thread.goal.set`,commandId:z(),threadId:t,...e.objective===void 0?{}:{objective:e.objective},...e.status===void 0?{}:{status:e.status},...e.tokenBudget===void 0?{}:{tokenBudget:e.tokenBudget},createdAt:new Date().toISOString()})},[Is,t]),Rs=(0,Z.useCallback)(async()=>{let e=F();if(!e||!await Is()){oi.add({type:`warning`,title:`Goal mode is unavailable`,description:`Start or reconnect this thread before clearing a goal.`});return}await e.orchestration.dispatchCommand({type:`thread.goal.clear`,commandId:z(),threadId:t,createdAt:new Date().toISOString()})},[Is,t]),zs=(0,Z.useCallback)(e=>Ls({status:e}),[Ls]),Bs=(0,Z.useCallback)(()=>{kn(e=>!e),Ts()},[Ts]);(0,Z.useEffect)(()=>{kn(!1)},[t]);let Vs=(0,Z.useCallback)(()=>{Ns(Zr===`full-access`?`approval-required`:`full-access`)},[Ns,Zr]),Hs=(0,Z.useCallback)(e=>{c({assistantPersonality:e}),Ts()},[Ts,c]),Us=(0,Z.useCallback)(()=>{c({generateMemories:!s.generateMemories}),Ts()},[Ts,s.generateMemories,c]),Ws=(0,Z.useCallback)(()=>{if(!K)return;if(!qo.supportsFastMode){oi.add({type:`warning`,title:`Fast mode is unavailable`,description:`${Qi} does not support Fast mode.`}),Ts();return}let e={...Ui?.[J],fastMode:!Jo};N(K.id,J,e,{persistSticky:!0}),gt(!Jo),Ts()},[K,Ui,Jo,Ts,qo.supportsFastMode,Qi,J,N]),Gs=(0,Z.useCallback)(e=>{g({to:e})},[g]),Ks=(0,Z.useCallback)(async(e=`local`)=>{if(n){await wr(n.id,{mode:e});return}oi.add({type:`warning`,title:`Fork is unavailable for this thread`,description:`Start the thread first, then fork it from the slash menu.`})},[wr,n]),qs=(0,Z.useCallback)(()=>{$t(e=>{if(e){let e=wa?.turnId??Ca?.turnId??null;e&&(pn.current=e)}else pn.current=null;return!e})},[wa?.turnId,Ca?.turnId]),Js=(0,Z.useCallback)(async e=>{if(!n)return;let t=F();t&&(e.modelSelection!==void 0&&(e.modelSelection.model!==n.modelSelection.model||e.modelSelection.provider!==n.modelSelection.provider||JSON.stringify(e.modelSelection.options??null)!==JSON.stringify(n.modelSelection.options??null))&&await t.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:z(),threadId:e.threadId,modelSelection:e.modelSelection}),e.runtimeMode!==n.runtimeMode&&await t.orchestration.dispatchCommand({type:`thread.runtime-mode.set`,commandId:z(),threadId:e.threadId,runtimeMode:e.runtimeMode,createdAt:e.createdAt}),e.interactionMode!==n.interactionMode&&await t.orchestration.dispatchCommand({type:`thread.interaction-mode.set`,commandId:z(),threadId:e.threadId,interactionMode:e.interactionMode,createdAt:e.createdAt}))},[n]);(0,Z.useEffect)(()=>{if(!$r||!K||K.messages.length>0||K.latestTurn!==null||K.resumeState===`unrecoverable`||K.resumeState===`resuming`)return;let e=K.modelSelection.provider!==oa.provider||K.modelSelection.model!==oa.model||JSON.stringify(K.modelSelection.options??null)!==JSON.stringify(oa.options??null),t=K.runtimeMode!==Zr,n=K.interactionMode!==Qr,r=K.session===null||K.session.orchestrationStatus===`stopped`||K.session.orchestrationStatus===`error`;if(!e&&!t&&!n&&!r)return;let i=F();i&&(async()=>{await Js({threadId:K.id,createdAt:new Date().toISOString(),modelSelection:oa,runtimeMode:Zr,interactionMode:Qr}).catch(()=>void 0),await i.orchestration.dispatchCommand({type:`thread.session.ensure`,commandId:z(),threadId:K.id,createdAt:new Date().toISOString()}).catch(()=>void 0)})()},[K,oa,Qr,$r,Js,Zr]);let Ys=so.length,Xs=(0,Z.useCallback)((e=`auto`)=>{let t=An.current;t&&(t.scrollTo({top:t.scrollHeight,behavior:e}),Fn.current=t.scrollTop,Nn.current=!0)},[]),Zs=(0,Z.useCallback)(()=>{Vn.current=0;let e=Bn.current;e!==null&&(Bn.current=null,window.cancelAnimationFrame(e))},[]),Qs=(0,Z.useCallback)(()=>{let e=Un.current;e!==null&&(Un.current=null,window.cancelAnimationFrame(e))},[]),$s=(0,Z.useCallback)(()=>{let e=Ne.current;e!==null&&(Ne.current=null,window.cancelAnimationFrame(e))},[]),ec=(0,Z.useCallback)(e=>{let t=Me.current;t.showScrollToBottom===e.showScrollToBottom&&t.isScrolledFromTop===e.isScrolledFromTop||(Me.current=e,Ne.current===null&&(Ne.current=window.requestAnimationFrame(()=>{Ne.current=null;let e=Me.current;Te(e.showScrollToBottom),ke(e.isScrolledFromTop)})))},[]),tc=(0,Z.useCallback)(()=>{if(Bn.current!==null)return;let e=()=>{if(Bn.current=null,Xs(),Vn.current<=0||!Nn.current){Vn.current=0;return}--Vn.current,Bn.current=window.requestAnimationFrame(e)};Bn.current=window.requestAnimationFrame(e)},[Xs]),nc=(0,Z.useCallback)((e=2)=>{Vn.current=Math.max(Vn.current,e),tc()},[tc]),rc=(0,Z.useCallback)(e=>{let t=An.current;if(!t||!(e.target instanceof Element))return;let n=e.target.closest(`button, summary, [role='button'], [data-scroll-anchor-target]`);!n||!t.contains(n)||n.closest(`[data-scroll-anchor-ignore]`)||(Hn.current={element:n,top:n.getBoundingClientRect().top},Qs(),Un.current=window.requestAnimationFrame(()=>{Un.current=null;let e=Hn.current;Hn.current=null;let t=An.current;if(!e||!t||!e.element.isConnected||!t.contains(e.element))return;let n=e.element.getBoundingClientRect().top-e.top;Math.abs(n)<.5||(t.scrollTop+=n,Fn.current=t.scrollTop)}))},[Qs]),ic=(0,Z.useCallback)(()=>{Nn.current=!1,Rn.current=!1;let e=An.current;ec({showScrollToBottom:e!==null&&e.scrollHeight>e.clientHeight,isScrolledFromTop:e?e.scrollTop>8:!1})},[ec]),oc=(0,Z.useCallback)(()=>{Nn.current=!0,Rn.current=!1,Zs(),nc(3)},[Zs,nc]),sc=(0,Z.useCallback)(()=>{let e=An.current;if(!e)return;let t=e.scrollTop,n=Mo(e);!Nn.current&&n?(Nn.current=!0,Rn.current=!1):Nn.current&&Rn.current?(t<Fn.current-1&&!n&&(Nn.current=!1),Rn.current=!1):Nn.current&&In.current?t<Fn.current-1&&!n&&(Nn.current=!1):Nn.current&&!n&&t<Fn.current-1&&(Nn.current=!1);let r=e.scrollHeight>e.clientHeight;ec({showScrollToBottom:!Nn.current&&r,isScrolledFromTop:t>8}),Fn.current=t},[ec]),cc=(0,Z.useCallback)(e=>{e.deltaY<0&&(Rn.current=!0)},[]),dc=(0,Z.useCallback)(e=>{e.target instanceof Element&&e.target.closest(`button, summary, [role='button'], [data-scroll-anchor-target]`)||(In.current=!0)},[]),mc=(0,Z.useCallback)(e=>{In.current=!1},[]),hc=(0,Z.useCallback)(e=>{In.current=!1},[]),gc=(0,Z.useCallback)(e=>{let t=e.touches[0];t&&(Ln.current=t.clientY)},[]),_c=(0,Z.useCallback)(e=>{let t=e.touches[0];if(!t)return;let n=Ln.current;n!==null&&t.clientY>n+1&&(Rn.current=!0),Ln.current=t.clientY},[]),vc=(0,Z.useCallback)(e=>{Ln.current=null},[]);(0,Z.useEffect)(()=>()=>{Zs(),Qs(),$s()},[Qs,$s,Zs]),(0,Z.useLayoutEffect)(()=>{if(!K?.id)return;Nn.current=!0,nc();let e=window.setTimeout(()=>{let e=An.current;e&&(Mo(e)||nc())},96);return()=>{window.clearTimeout(e)}},[K?.id,nc]),(0,Z.useLayoutEffect)(()=>{let e=Gn.current;if(!e)return;let t=()=>e.clientWidth,n=()=>{let e=t(),n=lc(e,{hasWideActions:eo}),r=qn.current,i=r?window.getComputedStyle(r):null,a={footerContentWidth:pc({footerWidth:r?.clientWidth??null,paddingLeft:i?Number.parseFloat(i.paddingLeft):null,paddingRight:i?Number.parseFloat(i.paddingRight):null}),leadingContentWidth:Jn.current?.scrollWidth??null,actionsWidth:Yn.current?.scrollWidth??null},o=n||fc(a);return{primaryActionsCompact:o&&uc(e,{hasWideActions:eo}),footerCompact:o}};Kn.current=e.getBoundingClientRect().height;let r=n();if(rn(r.primaryActionsCompact),tn(r.footerCompact),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(e=>{let[t]=e;if(!t)return;let r=n();rn(e=>e===r.primaryActionsCompact?e:r.primaryActionsCompact),tn(e=>e===r.footerCompact?e:r.footerCompact);let i=t.contentRect.height,a=Kn.current;Kn.current=i,!(a>0&&Math.abs(i-a)<.5)&&Nn.current&&tc()});return i.observe(e),()=>{i.disconnect()}},[K?.id,to,eo,tc]),(0,Z.useEffect)(()=>{Nn.current&&tc()},[Ys,tc]),(0,Z.useEffect)(()=>{if(Nn.current){if(Ua){if(Pn.current>0)return;tc();return}nc()}},[Ua,tc,nc,co]),(0,Z.useEffect)(()=>{let e=jn;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>{e.scrollHeight>e.clientHeight||ec({showScrollToBottom:!1,isScrolledFromTop:!1}),Nn.current&&Pn.current===0&&nc(1)});t.observe(e);let n=e.querySelector(`[data-timeline-root="true"]`);return n&&t.observe(n),()=>t.disconnect()},[jn,bo,nc,ec]),(0,Z.useEffect)(()=>{Zt({}),bn(null),mn.current?(mn.current=!1,$t(!0)):$t(!1),pn.current=null},[K?.id]),(0,Z.useEffect)(()=>{if(!es){vn(null);return}vn(e=>e&&$o.some(t=>t.id===e)?e:$o[0]?.id??null)},[$o,es]),(0,Z.useEffect)(()=>{Mt(!1)},[K?.id]),(0,Z.useEffect)(()=>{if(!e||!K?.id||_r.terminalOpen)return;let t=window.requestAnimationFrame(()=>{ws()});return()=>{window.cancelAnimationFrame(t)}},[K?.id,ws,e,_r.terminalOpen]),(0,Z.useEffect)(()=>{Xn.current=w},[w]),(0,Z.useEffect)(()=>{ft.current=T},[T]),(0,Z.useEffect)(()=>{if(!K?.id||K.messages.length===0)return;let e=new Set(K.messages.map(e=>e.id)),t=st.filter(t=>e.has(t.id));if(t.length===0)return;let n=window.setTimeout(()=>{lt(t=>t.filter(t=>!e.has(t.id)))},0);for(let e of t){let t=Tg(e);if(t.length>0){io(e.id,t);continue}wg(e)}return()=>{window.clearTimeout(n)}},[K?.id,K?.messages,io,st]),(0,Z.useEffect)(()=>{G.current=C,Tn(e=>Eo(C,e))},[C]),(0,Z.useEffect)(()=>{lt(e=>{for(let t of e)wg(t);return[]}),za(),vn(null),Tn(Do(G.current,G.current.length)),Dn(ko(G.current,G.current.length)),cr.current=0,Xe(!1),rt(null)},[za,t]),(0,Z.useEffect)(()=>{let e=!1;return(async()=>{if(w.length===0){ce(t);return}let n=()=>vt.getState().draftsByThreadId[t]?.persistedAttachments??[];try{let r=n(),i=new Map(r.map(e=>[e.id,e])),a=new Map;await Promise.all(w.map(async e=>{try{let t=await Eg(e.file);a.set(e.id,{id:e.id,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,dataUrl:t})}catch{let t=i.get(e.id);t&&a.set(e.id,t)}}));let o=Array.from(a.values());if(e)return;le(t,o)}catch{let r=new Set(w.map(e=>e.id)),i=n(),a=i.map(e=>e.id).filter(e=>r.has(e)),o=new Set(a),s=i.filter(e=>o.has(e.id));if(e)return;le(t,s)}})(),()=>{e=!0}},[ce,w,le,t]);let yc=(0,Z.useCallback)(()=>{rt(null)},[]),bc=(0,Z.useCallback)(e=>{rt(t=>{if(!t||t.images.length<=1)return t;let n=(t.index+e+t.images.length)%t.images.length;return n===t.index?t:{...t,index:n}})},[]);(0,Z.useEffect)(()=>{if(!et)return;let e=e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),yc();return}if(!(et.images.length<=1)){if(e.key===`ArrowLeft`){e.preventDefault(),e.stopPropagation(),bc(-1);return}e.key===`ArrowRight`&&(e.preventDefault(),e.stopPropagation(),bc(1))}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[yc,et,bc]);let xc=K?.worktreePath?`worktree`:ei?ye?.envMode??`local`:`local`;(0,Z.useEffect)(()=>{if(!q)return;let e=pr.current[q]??!1,t=!!_r.terminalOpen;if(!e&&t){pr.current[q]=t,gn(e=>e+1);return}else if(e&&!t){pr.current[q]=t;let e=window.requestAnimationFrame(()=>{ws()});return()=>{window.cancelAnimationFrame(e)}}pr.current[q]=t},[q,ws,_r.terminalOpen]),(0,Z.useEffect)(()=>{let t=t=>{if(!e||!q||t.defaultPrevented)return;if(t.shiftKey&&t.key.toLowerCase()===`p`&&(H(navigator.platform)?t.metaKey:t.ctrlKey)){t.preventDefault(),t.stopPropagation(),Fs();return}let n=Or(t,Bo,{context:{terminalFocus:Ir(),terminalOpen:!!_r.terminalOpen}});if(n){if(n===`terminal.toggle`){t.preventDefault(),t.stopPropagation(),Os();return}if(n===`terminal.split`){t.preventDefault(),t.stopPropagation(),_r.terminalOpen||Ds(!0),As();return}if(n===`terminal.close`){if(t.preventDefault(),t.stopPropagation(),!_r.terminalOpen)return;Ms(_r.activeTerminalId);return}if(n===`terminal.new`){t.preventDefault(),t.stopPropagation(),_r.terminalOpen||Ds(!0),js();return}if(n===`diff.toggle`){t.preventDefault(),t.stopPropagation(),ps();return}if(n===`browser.toggle`){if(!ii)return;t.preventDefault(),t.stopPropagation(),gs()}}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,_r.terminalOpen,_r.activeTerminalId,q,Ms,js,Ds,As,Bo,ii,gs,ps,Fs,Os]);let Sc=e=>{if(!q||e.length===0)return;if(ma.length>0){oi.add({type:`error`,title:`Attach images after answering plan questions.`});return}if(!$i){oi.add({type:`error`,title:`Image attachments unavailable`,description:t_(Qi)});return}let t=[],n=Xn.current.length,r=null;for(let i of e){if(!i.type.startsWith(`image/`)){r=`Unsupported file type for '${i.name}'. Please attach image files only.`;continue}if(i.size>10485760){r=`'${i.name}' exceeds the ${Bg} attachment limit.`;continue}if(n>=8){r=`You can attach up to 8 images per message.`;break}let e=URL.createObjectURL(i);t.push({type:`image`,id:ne(),name:i.name||`image`,mimeType:i.type,sizeBytes:i.size,previewUrl:e,file:i}),n+=1}t.length===1&&t[0]?Rr(t[0]):t.length>1&&zr(t),ys(q,r)},Cc=e=>{Ur(e)},wc=e=>{let t=Array.from(e.clipboardData.files);if(t.length===0)return;let n=t.filter(e=>e.type.startsWith(`image/`));n.length!==0&&(e.preventDefault(),Sc(n))},Tc=e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),cr.current+=1,Xe(!0))},Ec=e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`,Xe(!0))},Dc=e=>{if(!e.dataTransfer.types.includes(`Files`))return;e.preventDefault();let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||(cr.current=Math.max(0,cr.current-1),cr.current===0&&Xe(!1))},Oc=e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),cr.current=0,Xe(!1),Sc(Array.from(e.dataTransfer.files)),ws())},kc=(0,Z.useCallback)(async e=>{let t=F();if(!(!t||!K||At)){if(Ua||Ha||Et){ys(K.id,`Interrupt the current turn before reverting checkpoints.`);return}if(await t.dialogs.confirm([`Revert this thread to checkpoint ${e}?`,`This will discard newer messages and turn diffs in this thread.`,`This action cannot be undone.`].join(`
|
|
288
|
-
`))){Mt(!0),ys(K.id,null);try{await t.orchestration.dispatchCommand({type:`thread.checkpoint.revert`,commandId:z(),threadId:K.id,turnCount:e,createdAt:new Date().toISOString()})}catch(e){ys(K.id,e instanceof Error?e.message:`Failed to revert thread state.`)}Mt(!1)}}},[K,Et,At,Ha,Ua,ys]),Ac=async(e,t=`steer`)=>{e?.preventDefault();let n=F();if(!n||!K||Ha||Et||or.current)return;if(_a){_a.isLastQuestion&&va&&oc(),Lc();return}let a=G.current,{trimmedPrompt:o,sendableTerminalContexts:s,expiredTerminalContextCount:c,hasSendableContent:l}=kg({prompt:a,imageCount:w.length,terminalContexts:T});if(Ea&&Sa){let e=Wo({draftText:o,planMarkdown:Sa.planMarkdown});if(G.current=``,W(K.id),vn(null),Tn(0),Dn(null),e.interactionMode===`default`&&Fa.provider!==J){await Bc(Fa);return}await zc({text:e.text,interactionMode:e.interactionMode,...e.interactionMode===`default`?{modelSelection:Fa}:{}});return}let u=l,d=w.length===0&&s.length===0?Ao(o):null;if(d)if(d.command===`review`)a=n_,G.current=a,u=!0,W(K.id),vn(null),Tn(0),Dn(null);else if(d.command===`compact`)a=r_,G.current=a,u=!0,W(K.id),vn(null),Tn(0),Dn(null);else if(d.command===`fast`){Ws(),G.current=``,W(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`goal`){Bs(),G.current=``,W(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`fork`){await Ks(d.value??`local`),G.current=``,W(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`mcp`){Gs(`/settings/mcp`),G.current=``,W(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`memories`){Us(),G.current=``,W(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`personality`){Hs(d.value),G.current=``,W(K.id),vn(null),Tn(0),Dn(null);return}else{Ps(d.command),G.current=``,W(K.id),vn(null),Tn(0),Dn(null);return}if(!u){if(c>0){let e=Mg(c,`empty`);oi.add({type:`warning`,title:e.title,description:e.description})}return}if(w.length>0&&!$i){ys(K.id,t_(Qi));return}if(!K)return;let f=Si,p=K.id,m=!$r||K.messages.length===0,h=f&&m&&xc===`worktree`&&!K.worktreePath?K.branch:null;if(m&&xc===`worktree`&&!K.worktreePath&&!K.branch){r(p,`Select a base branch before sending in New worktree mode.`);return}try{await na(ea.provider)}catch(e){r(p,e instanceof Error?e.message:`Selected provider is unavailable.`);return}or.current=!0;let g=On,_=g?o:``;g&&kn(!1);let v=[...w],y=[...s],b=pt(a,y),S=V(),C=new Date().toISOString(),E=$g({provider:J,model:Wi,models:Ki,effort:Ji,text:b||Vg}),D=ra({trimmedPrompt:o,composerImagesSnapshot:v,composerTerminalContextsSnapshot:y}),O=Promise.all(v.map(async e=>{let t=await Eg(e.file);return{persistedAttachment:{id:e.id,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,dataUrl:t},uploadAttachment:{type:`image`,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,dataUrl:t}}})),k=v.map(e=>({type:`image`,id:e.id,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,previewUrl:e.previewUrl}));if(Ua){let e=K.session?.activeTurnId??_i?.turnId;if(t===`steer`&&ea.provider===`codex`&&v.length===0&&e!=null){if(c>0){let e=Mg(c,`omitted`);oi.add({type:`warning`,title:e.title,description:e.description})}(0,uo.flushSync)(()=>{G.current=``,W(p),vn(null),Tn(0),Dn(null),ys(p,null)}),oc(),await n.orchestration.dispatchCommand({type:`thread.turn.steer`,commandId:z(),threadId:p,turnId:e,message:{messageId:S,role:`user`,text:E},createdAt:C}).catch(e=>{G.current.length===0&&Xn.current.length===0&&ft.current.length===0&&(G.current=a,Lr(a),Tn(Do(a,a.length)),Br(y),Dn(ko(a,a.length))),ys(p,e instanceof Error?e.message:`Failed to steer the running turn.`)}),_&&Ls({objective:_}),or.current=!1,za();return}let r=await O;if(c>0){let e=Mg(c,`omitted`);oi.add({type:`warning`,title:e.title,description:e.description})}(0,uo.flushSync)(()=>{Er({id:ne(),threadId:p,messageId:String(S),text:E,attachments:r.map(e=>e.uploadAttachment),modelSelection:ea,runtimeMode:Zr,interactionMode:Qr,titleSeed:K.title.trim()||`New Thread`,createdAt:C,composerSnapshot:{prompt:a,persistedAttachments:r.map(e=>e.persistedAttachment),terminalContexts:y}}),G.current=``,W(p),vn(null),Tn(0),Dn(null),ys(p,null)}),oc(),oi.add({type:`info`,title:`Message queued`,description:`It will send automatically when the current turn finishes.`,data:{icon:zn}}),_&&Ls({objective:_}),or.current=!1,za();return}if((0,uo.flushSync)(()=>{Ra({preparingWorktree:!!h}),lt(e=>[...e,{id:S,role:`user`,text:E,...k.length>0?{attachments:k}:{},createdAt:C,streaming:!1}]),ys(p,null),G.current=``,W(p),vn(null),Tn(0),Dn(null)}),oc(),c>0){let e=Mg(c,`omitted`);oi.add({type:`warning`,title:e.title,description:e.description})}let A=!1,j=!1,M=$r,N=K.branch,P=K.worktreePath;await(async()=>{if(!M&&ei&&(M=await ia({title:D,modelSelection:oa,branch:N,worktreePath:P})),h&&f){Ra({preparingWorktree:!0});let e=Dg(),t=await x.mutateAsync({cwd:f.cwd,branch:h,newBranch:e});N=t.worktree.branch,P=t.worktree.path,M&&(await n.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:z(),threadId:p,branch:t.worktree.branch,worktreePath:t.worktree.path}),i(p,t.worktree.branch,t.worktree.path))}ei&&!M&&(await n.orchestration.dispatchCommand({type:`thread.create`,commandId:z(),threadId:p,projectId:K.projectId,projectlessCwd:K.projectId===null?K.projectlessCwd??null:null,title:D,modelSelection:oa,runtimeMode:Zr,interactionMode:Qr,parentThreadId:null,branchSourceTurnId:null,branch:N,worktreePath:P,createdAt:K.createdAt}),A=!0,M=!0),m&&M&&await n.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:z(),threadId:p,title:D}),M&&await Js({threadId:p,createdAt:C,...Wi?{modelSelection:ea}:{},runtimeMode:Zr,interactionMode:Qr}),Ra({preparingWorktree:!1});let e=(await O).map(e=>e.uploadAttachment);await na(ea.provider),await n.orchestration.dispatchCommand({type:`thread.turn.start`,commandId:z(),threadId:p,message:{messageId:S,role:`user`,text:E,attachments:e},modelSelection:ea,titleSeed:D,runtimeMode:Zr,interactionMode:Qr,createdAt:C}),j=!0,_&&await Ls({objective:_}).catch(()=>void 0)})().catch(async e=>{A&&!j&&await n.orchestration.dispatchCommand({type:`thread.delete`,commandId:z(),threadId:p}).catch(()=>void 0),!j&&G.current.length===0&&Xn.current.length===0&&ft.current.length===0&&(lt(e=>{let t=e.filter(e=>e.id===S);for(let e of t)wg(e);let n=e.filter(e=>e.id!==S);return n.length===e.length?e:n}),G.current=a,Lr(a),Tn(Do(a,a.length)),zr(v.map(Og)),Br(y),Dn(ko(a,a.length))),ys(p,e instanceof Error?e.message:`Failed to send message.`)}),or.current=!1,j||za()},jc=async()=>{let e=F();!e||!K||await e.orchestration.dispatchCommand({type:`thread.turn.interrupt`,commandId:z(),threadId:K.id,..._i?.turnId?{turnId:_i.turnId}:{},createdAt:new Date().toISOString()})},Mc=(0,Z.useCallback)(async(e,t)=>{let n=F();!n||!q||(Ft(t=>t.includes(e)?t:[...t,e]),Vt(t),await n.orchestration.dispatchCommand({type:`thread.approval.respond`,commandId:z(),threadId:q,requestId:e,decision:t,createdAt:new Date().toISOString()}).catch(e=>{r(q,e instanceof Error?e.message:`Failed to submit approval decision.`)}),Ft(t=>t.filter(t=>t!==e)),Vt(null))},[q,r]),Nc=(0,Z.useCallback)(async(e,t)=>{let n=F();!n||!q||(Ut(t=>t.includes(e)?t:[...t,e]),await n.orchestration.dispatchCommand({type:`thread.user-input.respond`,commandId:z(),threadId:q,requestId:e,answers:t,createdAt:new Date().toISOString()}).catch(e=>{r(q,e instanceof Error?e.message:`Failed to submit user input.`)}),Ut(t=>t.filter(t=>t!==e)))},[q,r]),Pc=(0,Z.useCallback)(e=>{Y&&Jt(t=>({...t,[Y.requestId]:e}))},[Y]),Fc=(0,Z.useCallback)((e,t)=>{Y&&(Kt(n=>({...n,[Y.requestId]:{...n[Y.requestId],[e]:{selectedOptionLabel:t,customAnswer:``}}})),G.current=``,Tn(0),Dn(null))},[Y]),Ic=(0,Z.useCallback)((e,t,n,r,i)=>{Y&&(G.current=t,Kt(n=>({...n,[Y.requestId]:{...n[Y.requestId],[e]:Fo(n[Y.requestId]?.[e],t)}})),Tn(n),Dn(i?null:ko(t,r)))},[Y]),Lc=(0,Z.useCallback)(()=>{if(!(!Y||!_a)){if(_a.isLastQuestion){va&&Nc(Y.requestId,va);return}Pc(_a.questionIndex+1)}},[_a,va,Y,Nc,Pc]),Rc=(0,Z.useCallback)(()=>{_a&&Pc(Math.max(_a.questionIndex-1,0))},[_a,Pc]),zc=(0,Z.useCallback)(async({text:e,interactionMode:t,modelSelection:n})=>{let r=F();if(!r||!K||!$r||Ha||Et||or.current)return;let i=e.trim();if(!i)return;let a=K.id,o=V(),s=new Date().toISOString(),c=n??ea,l=n===void 0?$g({provider:J,model:Wi,models:Ki,effort:Ji,text:i}):ta(n,i,``);try{await na(c.provider)}catch(e){ys(a,e instanceof Error?e.message:`Selected provider is unavailable.`);return}or.current=!0,(0,uo.flushSync)(()=>{Ra({preparingWorktree:!1})}),ys(a,null),lt(e=>[...e,{id:o,role:`user`,text:l,createdAt:s,streaming:!1}]),oc();try{await Js({threadId:a,createdAt:s,modelSelection:c,runtimeMode:Zr,interactionMode:t}),L(a,t),await na(c.provider),await r.orchestration.dispatchCommand({type:`thread.turn.start`,commandId:z(),threadId:a,message:{messageId:o,role:`user`,text:l,attachments:[]},modelSelection:c,titleSeed:K.title,runtimeMode:Zr,interactionMode:t,...t===`default`&&Sa?{sourceProposedPlan:{threadId:K.id,planId:Sa.id}}:{},createdAt:s}),t===`default`&&(pn.current=null,$t(!0)),or.current=!1}catch(e){lt(e=>e.filter(e=>e.id!==o)),ys(a,e instanceof Error?e.message:`Failed to send plan follow-up.`),or.current=!1,za()}},[K,Sa,oc,Ra,na,ta,Et,Ha,$r,Js,za,Zr,Ji,ea,J,Ki,L,ys,Wi]),Bc=(0,Z.useCallback)(async e=>{let t=F();if(!t||!K||!Sa||!$r||Ha||Et||or.current)return;let n=new Date().toISOString(),r=ee(),i=Sa.planMarkdown,a=Uo(i),o=Ze(Go(i)),s=e??ea,c=e===void 0?$g({provider:J,model:Wi,models:Ki,effort:Ji,text:a}):ta(e,a,``);try{await na(s.provider)}catch(e){oi.add({type:`error`,title:`Could not start implementation thread`,description:e instanceof Error?e.message:`Selected provider is unavailable.`});return}or.current=!0,(0,uo.flushSync)(()=>{Ra({preparingWorktree:!1})});let l=()=>{or.current=!1,za()};await t.orchestration.dispatchCommand({type:`thread.create`,commandId:z(),threadId:r,projectId:K.projectId,projectlessCwd:K.projectId===null?K.projectlessCwd??null:null,title:o,modelSelection:s,runtimeMode:Zr,interactionMode:`default`,parentThreadId:null,branchSourceTurnId:null,branch:K.branch,worktreePath:K.worktreePath,createdAt:n}).then(()=>na(s.provider)).then(()=>t.orchestration.dispatchCommand({type:`thread.turn.start`,commandId:z(),threadId:r,message:{messageId:V(),role:`user`,text:c,attachments:[]},modelSelection:s,titleSeed:o,runtimeMode:Zr,interactionMode:`default`,sourceProposedPlan:{threadId:K.id,planId:Sa.id},createdAt:n})).then(()=>Lg(r)).then(()=>(mn.current=!0,g({to:`/$threadId`,params:{threadId:r}}))).catch(async e=>{await t.orchestration.dispatchCommand({type:`thread.delete`,commandId:z(),threadId:r}).catch(()=>void 0),oi.add({type:`error`,title:`Could not start implementation thread`,description:e instanceof Error?e.message:`An error occurred while creating the new thread.`})}).then(l,l)},[Sa,K,Ra,na,ta,Et,Ha,$r,g,za,Zr,Ji,ea,J,Ki,Wi]),Vc=(0,Z.useCallback)((e,t)=>{if(!K)return;if(Fi!==null&&e!==Fi){Ts();return}let n=Ve(Li,e),r=xt(n,s,Li,t),i={provider:n,model:r};if(k(K.id,i),l(i),Xn.current.length>0){let e=Ae(Li,n);ue(e,r,n)||oi.add({type:`warning`,title:`Attached images won't send with this model`,description:t_(Ee(e,r,n))})}Ts()},[K,Fi,Li,Ts,k,l,s]),Hc=(0,Z.useCallback)((e,t)=>{if(!Sa)return;let n=Ve(Li,e),r=xt(n,s,Li,t),i=ba[Sa.id],a=He(n,r,i?.provider===n?i.options:ea.provider===n?ea.options:void 0);xa(e=>({...e,[Sa.id]:a})),Ts()},[Sa,ba,Li,Ts,ea,s]),Uc=(0,Z.useCallback)(e=>{K&&(N(K.id,J,e,{persistSticky:!0}),Ts())},[K,Ts,J,N]),Wc=(0,Z.useCallback)(e=>{if(!Sa)return;let t=He(ka,X,e);xa(e=>({...e,[Sa.id]:t})),Ts()},[Sa,X,ka,Ts]),Gc=(0,Z.useCallback)(e=>{if(e===G.current){Ts();return}G.current=e,Lr(e),Tn(Do(e,e.length)),Dn(ko(e,e.length)),Ts()},[Ts,Lr]),Kc=We({provider:J,threadId:t,model:Wi,models:Ki,modelOptions:Ui?.[J],prompt:C,onPromptChange:Gc,includeFastMode:!1}),qc=wt(J,{threadId:t}),Jc=tt({provider:J,models:Ki,model:Wi,prompt:C,onPromptChange:Gc,modelOptions:Ui?.[J],allowPromptInjectedEffort:!0,updateModelOptions:qc}),Yc=Jc.effort&&Jc.effortLevels.length>0?{value:Jc.ultrathinkPromptControlled?`ultrathink`:Jc.effort,label:Jc.ultrathinkPromptControlled?`Ultrathink`:Jc.effortLevels.find(e=>e.value===Jc.effort)?.label??Jc.effort,levels:Jc.effortLevels,onChange:Jc.handleEffortChange,locked:Jc.ultrathinkInBodyText||Jc.ultrathinkPromptControlled}:null,Xc=je({provider:J,threadId:t,model:Wi,models:Ki,modelOptions:Ui?.[J],prompt:C,onPromptChange:Gc}),Zc=!!(Kc||wa||Ca||Qt),Qc=(0,Z.useCallback)(e=>{ei&&pe(t,{envMode:e}),Ts()},[ei,Ts,pe,t]),$c=(0,Z.useCallback)((e,t,n,r)=>{let i=G.current,a=Math.max(0,Math.min(i.length,e)),o=Math.max(a,Math.min(i.length,t));if(r?.expectedText!==void 0&&i.slice(a,o)!==r.expectedText)return!1;let s=jo(G.current,e,t,n),c=Do(s.text,s.cursor);G.current=s.text;let l=_a?.activeQuestion;return l&&Y?Kt(e=>({...e,[Y.requestId]:{...e[Y.requestId],[l.id]:Fo(e[Y.requestId]?.[l.id],s.text)}})):Lr(s.text),Tn(c),Dn(ko(s.text,Co(s.text,c))),window.requestAnimationFrame(()=>{Wn.current?.focusAt(c)}),!0},[_a?.activeQuestion,Y,Lr]),el=(0,Z.useCallback)(()=>Wn.current?.readSnapshot()||{value:G.current,cursor:Cn,expandedCursor:Co(G.current,Cn),terminalContextIds:T.map(e=>e.id)},[Cn,T]),tl=(0,Z.useCallback)(e=>{let t=el(),n=Eo(G.current,t.cursor),r=jg({prompt:G.current,cursor:n,selectedText:e});r.length!==0&&$c(n,n,r)},[$c,el]),nl=(0,Z.useCallback)(()=>{let e=el();return{snapshot:e,trigger:ko(e.value,e.expandedCursor)}},[el]),rl=(0,Z.useCallback)(e=>{if(Qn.current)return;Qn.current=!0,window.requestAnimationFrame(()=>{Qn.current=!1});let{snapshot:t,trigger:n}=nl();if(n){if(e.type===`agent`){let r=`@${e.mentionName} `,i=a_(t.value,n.rangeEnd,r);$c(n.rangeStart,i,r,{expectedText:t.value.slice(n.rangeStart,i)})&&vn(null);return}if(e.type===`path`){let r=`@${e.path} `,i=a_(t.value,n.rangeEnd,r);$c(n.rangeStart,i,r,{expectedText:t.value.slice(n.rangeStart,i)})&&vn(null);return}if(e.type===`slash-command`){if(e.command===`model`){let e=`/model `,r=a_(t.value,n.rangeEnd,e);$c(n.rangeStart,r,e,{expectedText:t.value.slice(n.rangeStart,r)})&&vn(null);return}if(e.command===`personality`&&!e.value){let e=`/personality `,r=a_(t.value,n.rangeEnd,e);$c(n.rangeStart,r,e,{expectedText:t.value.slice(n.rangeStart,r)})&&vn(null);return}if(e.command===`fork`&&!e.value){let e=`/fork `,r=a_(t.value,n.rangeEnd,e);$c(n.rangeStart,r,e,{expectedText:t.value.slice(n.rangeStart,r)})&&vn(null);return}if(e.command===`review`){let e=n_;$c(n.rangeStart,n.rangeEnd,e,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&vn(null);return}if(e.command===`compact`){$c(n.rangeStart,n.rangeEnd,r_,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&vn(null);return}e.command===`fast`?Ws():e.command===`goal`?Bs():e.command===`fork`?Ks(e.value===`worktree`?`worktree`:`local`):e.command===`mcp`?Gs(`/settings/mcp`):e.command===`memories`?Us():e.command===`personality`&&e.value?Hs(e.value):Ps(e.command===`plan`?`plan`:`default`),$c(n.rangeStart,n.rangeEnd,``,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&vn(null);return}Vc(e.provider,e.model),$c(n.rangeStart,n.rangeEnd,``,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&vn(null)}},[$c,Hs,Ks,Ps,Gs,Vc,nl,Ws,Bs,Us]),il=(0,Z.useCallback)(e=>{vn(e)},[]),al=(0,Z.useCallback)(e=>{if($o.length===0)return;let t=_n?$o.findIndex(e=>e.id===_n):-1,n=$o[((t>=0?t:0)+(e===`ArrowDown`?1:-1)+$o.length)%$o.length];vn(n?.id??null)},[_n,$o]),ol=So===`path`&&(wo.length>0&&No.state.isPending||Xo.isLoading||Xo.isFetching),sl=qi.composerFrameClassName!==void 0&&qi.composerFrameClassName.length>0,cl=(0,Z.useCallback)((e,n,r,i,a)=>{if(_a?.activeQuestion&&Y){Ic(_a.activeQuestion.id,e,n,r,i);return}G.current=e,Lr(e),s_(T,a)||se(t,o_(T,a)),Tn(n),Dn(i?null:ko(e,r))},[_a?.activeQuestion,Y,T,Ic,Lr,se,t]),ll=(0,Z.useCallback)(e=>{on(e),e&&e!==`insert`&&(Dn(null),vn(null))},[]),ul=(e,t)=>{if(e===`Tab`&&t.shiftKey)return Fs(),!0;let{trigger:n}=nl();if($n.current||n!==null){let t=er.current;if(e===`ArrowDown`&&t.length>0)return al(`ArrowDown`),!0;if(e===`ArrowUp`&&t.length>0)return al(`ArrowUp`),!0;if(e===`Tab`||e===`Enter`){let e=nr.current??t[0];if(e)return rl(e),!0}}return e===`Enter`&&!t.shiftKey?(Ac(),!0):!1},dl=(0,Z.useCallback)((e,t)=>{let n=An.current;(n?Mo(n):Nn.current)?(Nn.current=!0,Rn.current=!1,ec({showScrollToBottom:!1,isScrolledFromTop:n?n.scrollTop>8:!1}),nc(18)):t&&ic(),Zt(n=>({...n,[e]:!t}))},[ic,nc,ec]),fl=(0,Z.useCallback)(e=>{rt(e)},[]),pl=et?et.images[et.index]:null,ml=(0,Z.useCallback)((e,n)=>{wi&&g({to:`/$threadId`,params:{threadId:t},search:t=>{let r=Jr(t);return n?{...r,diff:`1`,diffTurnId:e,diffFilePath:n,panel:`diff`}:{...r,diff:`1`,diffTurnId:e,panel:`diff`}}})},[wi,g,t]),hl=(0,Z.useCallback)(e=>{wi&&g({to:`/$threadId`,params:{threadId:t},search:t=>({...ri(t),artifact:`1`,artifactPath:e,panel:`artifact`})})},[wi,g,t]),gl=e=>{let t=_o.get(e);typeof t==`number`&&kc(t)},_l=(0,Z.useCallback)(async e=>{let t=F();if(!(!t||!K||At||Ua||Ha||Et||or.current))try{oc(),await t.orchestration.dispatchCommand({type:`thread.turn.retry`,commandId:z(),threadId:K.id,assistantMessageId:e,createdAt:new Date().toISOString()})}catch(e){ys(K.id,e instanceof Error?e.message:`Failed to retry message.`)}},[K,oc,Et,At,Ha,Ua,ys]),vl=(0,Z.useCallback)(async(e,t)=>{let n=F();if(!(!n||!K||At||Ua||Ha||Et||or.current||t.trim().length===0))try{oc(),await n.orchestration.dispatchCommand({type:`thread.message.edit`,commandId:z(),threadId:K.id,userMessageId:e,text:t,createdAt:new Date().toISOString()})}catch(e){ys(K.id,e instanceof Error?e.message:`Failed to edit message.`)}},[K,oc,Et,At,Ha,Ua,ys]);return K?(0,Q.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-x-hidden bg-background`,children:[(0,Q.jsx)(`header`,{className:U(`px-3 sm:px-5`,Pr?`app-titlebar-window-controls-inset drag-region flex h-[52px] items-center [--app-titlebar-base-left-padding:1.25rem]`:`py-2 sm:py-3`),children:(0,Q.jsx)(rh,{activeThreadTitle:K.title,activeProjectPath:xo??void 0,isGitRepo:is,openInCwd:xo,keybindings:Bo,availableEditors:Vo,terminalToggleShortcutLabel:ss,browserToggleShortcutLabel:fs,diffToggleShortcutLabel:ds,browserEnabled:ii,browserOpen:li,diffOpen:ci,isBranchedThread:K.parentThreadId!==null,parentThread:fi?{threadId:fi.id,title:fi.title,archivedAt:fi.archivedAt}:null,missingParentThread:K.parentThreadId&&!fi?{threadId:K.parentThreadId}:null,childThreads:mi.map(e=>({threadId:e.id,title:e.title,archivedAt:e.archivedAt})),onBranchThread:$r&&K.archivedAt===null?Ti:null,onNavigateToThread:e=>{g({to:`/$threadId`,params:{threadId:e}})},onToggleBrowser:gs,onToggleDiff:ps})}),(0,Q.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[!po&&(0,Q.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,Q.jsx)(`div`,{ref:mr,className:`min-h-0 flex-1 overflow-x-hidden overflow-y-auto overscroll-y-contain px-3 pt-3 pb-8 [-ms-overflow-style:none] [scrollbar-width:none] sm:px-5 sm:pt-4 sm:pb-10 [&::-webkit-scrollbar]:hidden`,style:{maskImage:`linear-gradient(to bottom, ${Oe?`transparent 0%, black 5rem`:`black 0%`}, ${Ce?`black calc(100% - 5rem), transparent 100%`:`black 100%`})`},onScroll:sc,onClickCapture:rc,onWheel:cc,onPointerDown:dc,onPointerUp:mc,onPointerCancel:hc,onTouchStart:gc,onTouchMove:_c,onTouchEnd:vc,onTouchCancel:vc,children:(0,Q.jsx)(Bp,{hasMessages:co.length>0,isWorking:Ka,showWorkingIndicator:Ka&&!fo,activeTurnInProgress:Ka||!xi,activeTurnStartedAt:Ja,activeTurnId:lo,revealingBufferedAssistantMessageIds:Be,scrollContainer:jn,workGroupAutoScrollSuppressRef:Pn,timelineEntries:co,completionDividerBeforeEntryId:yo,completionSummary:vo,turnDiffSummaryByAssistantMessageId:go,showTurnDiffActions:wi,expandedWorkGroups:Yt,onToggleWorkGroup:dl,onOpenTurnDiff:ml,onOpenArtifact:hl,revertTurnCountByUserMessageId:_o,onRevertUserMessage:gl,onRetryAssistantMessage:_l,onEditUserMessage:vl,isRevertingCheckpoint:At,onImageExpand:fl,markdownCwd:xo??void 0,resolvedTheme:b,timestampFormat:u,workspaceRoot:Si?.cwd??void 0,...Ya?{}:{onAddAssistantSelectionToChat:tl}},bo)}),Ce&&(0,Q.jsx)(`div`,{className:`pointer-events-none absolute bottom-1 left-1/2 z-30 flex -translate-x-1/2 justify-center py-1.5`,children:(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>Xs(`smooth`),className:`pointer-events-auto flex items-center gap-1.5 rounded-full border border-border/60 bg-card px-3 py-1 text-muted-foreground text-xs shadow-sm transition-colors hover:border-border hover:text-foreground hover:cursor-pointer`,children:[(0,Q.jsx)(tr,{className:`size-3.5`}),`Scroll to bottom`]})})]}),(0,Q.jsxs)(`div`,{className:U(`relative w-full min-w-0`,po?`flex flex-1 flex-col items-center justify-center px-3 sm:px-5`:`shrink-0 px-3 pb-5 sm:px-5 sm:pb-6`),children:[po&&(0,Q.jsx)(mg,{promptLength:C.trim().length}),po&&(0,Q.jsx)(`div`,{className:`relative z-10 mx-auto mb-8 w-full min-w-0 max-w-[44rem]`,children:(0,Q.jsx)(yg,{projectName:Si?.name})}),(0,Q.jsxs)(`form`,{ref:Gn,onSubmit:Ac,className:`relative z-10 mx-auto w-full min-w-0 max-w-[44rem]`,"data-chat-composer-form":`true`,children:[Qa&&(0,Q.jsx)(Ah,{onActivate:Fs,onDismiss:()=>Za(!0)}),(0,Q.jsx)(rg,{taskList:Ta,taskListOpen:sn,backgroundSubagents:Qo,backgroundSubagentsOpen:ln,queuedTurns:Tr,queuedOpen:dn,onTaskListOpenChange:cn,onBackgroundSubagentsOpenChange:un,onQueuedOpenChange:fn,onDeleteQueuedTurn:Ss,onEditQueuedTurn:e=>void Cs(e)}),(0,Q.jsx)(fg,{providerStatus:rs,resumeState:K.resumeState,threadError:K.error,onDismissError:()=>ys(K.id,null),onResumeAction:()=>ws()}),(0,Q.jsxs)(`div`,{className:`relative`,children:[es&&!Ya&&(0,Q.jsx)(`div`,{className:`absolute inset-x-0 bottom-full z-20 mb-2 px-4`,children:(0,Q.jsx)(sh,{items:$o,resolvedTheme:b,isLoading:ol,triggerKind:So,activeItemId:ts?.id??null,onHighlightedItemChange:il,onSelect:rl})}),(0,Q.jsx)(`div`,{"data-chat-composer-frame":`true`,className:U(`chat-composer-depth group relative z-10 min-w-0 overflow-hidden transition-[margin-top,color,box-shadow,border-color,background-color] duration-[220ms] ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none`,sl?[`rounded-[22px] p-px`,qi.composerFrameClassName]:`rounded-[20px] border border-[color-mix(in_srgb,var(--color-neutral-500)_16%,transparent)] bg-card dark:border-[color-mix(in_srgb,var(--color-neutral-400)_14%,transparent)]`),onDragEnter:Tc,onDragOver:Ec,onDragLeave:Dc,onDrop:Oc,children:(0,Q.jsxs)(`div`,{"data-chat-composer-surface":`true`,className:U(`min-w-0`,!sl&&`rounded-[19px] bg-card`,sl&&[`rounded-[20px] border border-[color-mix(in_srgb,var(--color-neutral-500)_16%,transparent)] bg-card shadow-sm transition-colors duration-200 dark:border-[color-mix(in_srgb,var(--color-neutral-400)_14%,transparent)]`,qe&&`bg-accent/30`,qi.composerSurfaceClassName]),children:[La?(0,Q.jsx)(`div`,{className:`rounded-t-[19px] border-b border-border/65 bg-muted/20`,children:(0,Q.jsx)(Ph,{approval:La,pendingCount:pa.length})}):ma.length>0?(0,Q.jsx)(`div`,{className:`rounded-t-[19px] border-b border-border/65 bg-muted/20`,children:(0,Q.jsx)(Ih,{pendingUserInputs:ma,respondingRequestIds:Pt,answers:ha,questionIndex:ga,onSelectOption:Fc,onAdvance:Lc})}):Ea&&Sa?(0,Q.jsx)(`div`,{className:`rounded-t-[19px] border-b border-border/65 bg-muted/20`,children:(0,Q.jsx)(Rh,{planTitle:zo(Sa.planMarkdown)??null},Sa.id)}):null,(0,Q.jsxs)(`div`,{className:U(`relative px-3 pb-2 sm:px-4`,$a?`pt-2.5 sm:pt-3`:`pt-3.5 sm:pt-4`),children:[!Ya&&ma.length===0&&w.length>0&&(0,Q.jsx)(`div`,{className:`mb-3 flex flex-wrap gap-2`,children:w.map(e=>(0,Q.jsxs)(`div`,{className:`relative h-16 w-16 overflow-hidden rounded-lg border border-border/80 bg-background`,children:[e.previewUrl?(0,Q.jsx)(`button`,{type:`button`,className:`h-full w-full cursor-zoom-in`,"aria-label":`Preview ${e.name}`,onClick:()=>{let t=Jl(w,e.id);t&&rt(t)},children:(0,Q.jsx)(`img`,{src:e.previewUrl,alt:e.name,className:`h-full w-full object-cover`})}):(0,Q.jsx)(`div`,{className:`flex h-full w-full items-center justify-center px-1 text-center text-[10px] text-muted-foreground/70`,children:e.name}),ns.has(e.id)&&(0,Q.jsxs)(Vr,{children:[(0,Q.jsx)(jr,{render:(0,Q.jsx)(`span`,{role:`img`,"aria-label":`Draft attachment may not persist`,className:`absolute left-1 top-1 inline-flex items-center justify-center rounded bg-background/85 p-0.5 text-amber-600`,children:(0,Q.jsx)(Xt,{className:`size-3`})})}),(0,Q.jsx)(Hr,{side:`top`,className:`max-w-64 whitespace-normal leading-tight`,children:`Draft attachment could not be saved locally and may be lost on navigation.`})]}),(0,Q.jsx)(I,{variant:`ghost`,size:`icon-xs`,className:`absolute right-1 top-1 bg-background/80 hover:bg-background/90`,onClick:()=>Cc(e.id),"aria-label":`Remove ${e.name}`,children:(0,Q.jsx)(wn,{})})]},e.id))}),s.composerVimMode&&an&&an!==`insert`?(0,Q.jsx)(qg,{mode:an}):null,(0,Q.jsx)(Hl,{ref:Wn,value:Ya?``:_a?_a.customAnswer:C,cursor:Cn,terminalContexts:!Ya&&ma.length===0?T:[],onRemoveTerminalContext:Wr,onChange:cl,onCommandKeyDown:ul,onPaste:wc,vimModeEnabled:s.composerVimMode,vimCommandMenuActive:es,onVimModeChange:ll,placeholder:Ya?La?.detail??`Resolve this approval request to continue`:_a?`Type your own answer, or leave this blank to use the selected option`:Ea&&Sa?`Add feedback to refine the plan, or leave this blank to implement it`:Pi&&sa===`disconnected`?`Ask for follow-up changes or attach images`:`Ask anything, @tag files/folders, or use / to show available commands`,disabled:Et||Ya})]}),La?(0,Q.jsx)(`div`,{className:`flex items-center justify-end gap-2 px-2.5 pb-2.5 sm:px-3 sm:pb-3`,children:(0,Q.jsx)(vh,{approval:La,isResponding:Pt.includes(La.requestId),respondingDecision:zt,onRespondToApproval:Mc})}):(0,Q.jsxs)(`div`,{ref:qn,"data-chat-composer-footer":`true`,"data-chat-composer-footer-compact":en?`true`:`false`,className:U(`flex min-w-0 flex-nowrap items-center gap-2 overflow-hidden px-2.5 pb-2.5 sm:px-3 sm:pb-3`,`justify-between`,en?`gap-1.5`:`gap-2 sm:gap-0`),children:[(0,Q.jsxs)(`div`,{ref:Jn,className:`flex min-w-0 shrink-0 items-center gap-1`,children:[(0,Q.jsx)(Ch,{threadId:t,provider:J,models:Ki,model:Wi,modelOptions:Ui?.[J],planModeActive:Qr===`plan`,onTogglePlanMode:Fs,goalModeActive:On,onToggleGoalMode:Bs,onAddFiles:Sc}),K?.goal?(0,Q.jsx)(Dh,{goal:K.goal,disabled:!K,onSetStatus:zs,onClearGoal:Rs}):null,en&&Zc?(0,Q.jsx)(xh,{activePlan:!!(wa||Ca||Qt),planSidebarOpen:Qt,runtimeMode:Zr,traitsMenuContent:Kc,onTogglePlanSidebar:qs,onRuntimeModeChange:Ns}):(0,Q.jsx)(Sh,{compact:en,runtimeMode:Zr,onToggle:Vs}),On?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:`h-4 w-px shrink-0 bg-border`}),(0,Q.jsx)(Oh,{onDismiss:()=>kn(!1)})]}):null,Qr===`plan`?(0,Q.jsx)(jh,{onDisable:Fs}):null]}),(0,Q.jsxs)(`div`,{ref:Yn,"data-chat-composer-actions":`right`,"data-chat-composer-primary-actions-compact":nn?`true`:`false`,className:`flex min-w-0 flex-1 flex-nowrap items-center justify-end gap-1 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:[Da?(0,Q.jsx)(Gi,{compact:en,provider:ka,model:Ia,lockedProvider:null,providers:Li,modelOptionsByProvider:Ri,modelOptions:Fa.options,onModelOptionsChange:Wc,...Pa.modelPickerIconClassName?{activeProviderIconClassName:Pa.modelPickerIconClassName}:{},onProviderModelChange:Hc}):(0,Q.jsx)(Gi,{compact:en,provider:J,model:Ho,lockedProvider:Fi,providers:Li,modelOptionsByProvider:Ri,modelOptions:Ui?.[J],onModelOptionsChange:Uc,effort:Yc,...qi.modelPickerIconClassName?{activeProviderIconClassName:qi.modelPickerIconClassName}:{},onProviderModelChange:Vc}),!Da&&!en&&Xc?Xc:null,!en&&(wa||Ca||Qt)?(0,Q.jsxs)(I,{variant:`ghost`,className:U(`shrink-0 whitespace-nowrap px-2 sm:px-2.5`,Qt?`text-blue-400 hover:text-blue-300`:`text-muted-foreground/70 hover:text-foreground/80`),size:`sm`,type:`button`,onClick:qs,title:Qt?`Hide plan sidebar`:`Show plan sidebar`,children:[(0,Q.jsx)(Wt,{}),(0,Q.jsx)(`span`,{className:`sr-only sm:not-sr-only`,children:`Plan`})]}):null,bi?(0,Q.jsx)(oh,{usage:bi}):null,Va?(0,Q.jsx)(`span`,{className:`ms-1 text-muted-foreground/70 text-xs`,children:`Preparing worktree...`}):null,(0,Q.jsx)(`div`,{className:bi?`ml-1`:void 0,children:(0,Q.jsx)(Nh,{compact:nn,pendingAction:_a?{questionIndex:_a.questionIndex,isLastQuestion:_a.isLastQuestion,canAdvance:_a.canAdvance,isResponding:ya,isComplete:!!va}:null,isRunning:Ua,awaitingSendAck:fo,queuedTurnCount:Tr.length,showPlanFollowUpPrompt:ma.length===0&&Ea,promptHasText:C.trim().length>0,isSendBusy:Ha,isConnecting:Et,isPreparingWorktree:Va,hasSendableContent:E.hasSendableContent,canSteerRunningTurn:Ga,onQueueRunningTurn:()=>void Ac(void 0,`queue`),onPreviousPendingQuestion:Rc,onInterrupt:()=>void jc(),onImplementPlanInNewThread:()=>void Bc(Fa)})})]})]})]})})]})]}),po&&Ci?(0,Q.jsx)(c_,{emptyThread:!0}):null,po&&!Ci&&(0,Q.jsx)(`div`,{className:`relative z-0 mx-auto -mt-5 flex w-full min-w-0 max-w-[44rem] flex-wrap items-center gap-x-1 gap-y-1 rounded-b-[20px] border border-t-0 border-border bg-[color-mix(in_srgb,var(--card)_94%,var(--muted-foreground)_6%)] px-3 pt-6 pb-1.5`,children:(0,Q.jsx)(bs,{threadId:K.id,onEnvModeChange:Qc,envLocked:_s,isGitRepo:is,onComposerFocusRequest:Ts,...ti?{onCheckoutPullRequestRequest:Ei}:{}})})]}),!po&&Ci?(0,Q.jsx)(c_,{emptyThread:!1}):null,yn?(0,Q.jsx)(Wl,{open:!0,cwd:Si?.cwd??null,initialReference:yn.initialReference,onOpenChange:e=>{e||Di()},onPrepared:ki},yn.key):null]}),Qt?(0,Q.jsx)(ks,{activePlan:wa,activeProposedPlan:Ca,markdownCwd:xo??void 0,workspaceRoot:Si?.cwd??void 0,timestampFormat:u,onClose:()=>{$t(!1);let e=wa?.turnId??Ca?.turnId??null;e&&(pn.current=e)}}):null]}),Mr.map(e=>(0,Q.jsx)(p_,{threadId:e,visible:e===q&&_r.terminalOpen,focusRequestId:e===q?hn:0,splitShortcutLabel:cs??void 0,newShortcutLabel:ls??void 0,closeShortcutLabel:us??void 0,onAddTerminalContext:Es},e)),et&&pl&&(0,Q.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/75 px-4 py-6 [-webkit-app-region:no-drag]`,role:`dialog`,"aria-modal":`true`,"aria-label":`Expanded image preview`,children:[(0,Q.jsx)(`button`,{type:`button`,className:`absolute inset-0 z-0 cursor-zoom-out`,"aria-label":`Close image preview`,onClick:yc}),et.images.length>1&&(0,Q.jsx)(I,{type:`button`,size:`icon`,variant:`ghost`,className:`absolute left-2 top-1/2 z-20 -translate-y-1/2 text-white/90 hover:bg-white/10 hover:text-white sm:left-6`,"aria-label":`Previous image`,onClick:()=>{bc(-1)},children:(0,Q.jsx)(Zn,{className:`size-5`})}),(0,Q.jsxs)(`div`,{className:`relative isolate z-10 max-h-[92vh] max-w-[92vw]`,children:[(0,Q.jsx)(I,{type:`button`,size:`icon-xs`,variant:`ghost`,className:`absolute right-2 top-2`,onClick:yc,"aria-label":`Close image preview`,children:(0,Q.jsx)(wn,{})}),(0,Q.jsx)(`img`,{src:pl.src,alt:pl.name,className:`max-h-[86vh] max-w-[92vw] select-none rounded-lg border border-border/70 bg-background object-contain shadow-2xl`,draggable:!1}),(0,Q.jsxs)(`p`,{className:`mt-2 max-w-[92vw] truncate text-center text-xs text-muted-foreground/80`,children:[pl.name,et.images.length>1?` (${et.index+1}/${et.images.length})`:``]})]}),et.images.length>1&&(0,Q.jsx)(I,{type:`button`,size:`icon`,variant:`ghost`,className:`absolute right-2 top-1/2 z-20 -translate-y-1/2 text-white/90 hover:bg-white/10 hover:text-white sm:right-6`,"aria-label":`Next image`,onClick:()=>{bc(1)},children:(0,Q.jsx)(rr,{className:`size-5`})})]})]}):(0,Q.jsx)(Xi,{})}function h_(e){let t=(0,X.c)(31),n=(0,Z.useRef)(0),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=e=>{ti(e.dataTransfer)&&(e.preventDefault(),n.current+=1)},t[0]=r):r=t[0];let i=r,a;t[1]===e?a=t[2]:(a=t=>{ti(t.dataTransfer)&&(t.preventDefault(),t.dataTransfer.dropEffect=`copy`,e.onDropZoneChange(ci(t.currentTarget.getBoundingClientRect(),t.clientX,t.clientY)))},t[1]=e,t[2]=a);let o=a,s;t[3]===e?s=t[4]:(s=t=>{ti(t.dataTransfer)&&(n.current=Math.max(0,n.current-1),n.current===0&&e.onDropZoneChange(null))},t[3]=e,t[4]=s);let c=s,l;t[5]===e?l=t[6]:(l=t=>{n.current=0;let r=Gr(t.dataTransfer);if(!r){e.onDropZoneChange(null);return}t.preventDefault();let i=ci(t.currentTarget.getBoundingClientRect(),t.clientX,t.clientY);e.onDropZoneChange(null),e.onThreadDrop(r,i)},t[5]=e,t[6]=l);let u=l,d=e.focused?`Focused thread pane`:`Thread pane`,f=e.focused?`true`:`false`,p=e.multiPane&&!e.focused&&`bg-muted/10`,m;t[7]===p?m=t[8]:(m=U(`relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background`,p),t[7]=p,t[8]=m);let h,g;t[9]===e?(h=t[10],g=t[11]):(h=()=>{e.focused||e.onFocus()},g=t=>{if(e.focused)return;let n=t.target;n instanceof Element&&(n.closest(`[data-thread-pane-close='true']`)||e.onFocus())},t[9]=e,t[10]=h,t[11]=g);let _;t[12]===e?_=t[13]:(_=e.multiPane?(0,Q.jsxs)(`div`,{className:U(`flex h-8 shrink-0 items-center justify-end border-b px-2`,e.focused?`border-foreground/20 bg-background`:`border-border/70 bg-muted/10`),children:[(0,Q.jsx)(`div`,{className:U(`pointer-events-none absolute inset-x-0 top-0 z-30 h-px transition-colors`,e.focused?`bg-foreground/60`:`bg-border/80`)}),(0,Q.jsx)(`button`,{type:`button`,"data-thread-pane-close":`true`,"aria-label":`Close thread pane`,className:`inline-flex size-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-sidebar-hover hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onClose()},children:(0,Q.jsx)(wn,{className:`size-3.5`})})]}):null,t[12]=e,t[13]=_);let v;t[14]!==e.focused||t[15]!==e.threadId?(v=(0,Q.jsx)(m_,{threadId:e.threadId,isFocusedPane:e.focused},e.threadId),t[14]=e.focused,t[15]=e.threadId,t[16]=v):v=t[16];let y;t[17]===e.dropZone?y=t[18]:(y=e.dropZone?(0,Q.jsx)(g_,{zone:e.dropZone}):null,t[17]=e.dropZone,t[18]=y);let b;return t[19]!==c||t[20]!==o||t[21]!==u||t[22]!==_||t[23]!==v||t[24]!==y||t[25]!==d||t[26]!==f||t[27]!==m||t[28]!==h||t[29]!==g?(b=(0,Q.jsxs)(`section`,{"aria-label":d,"data-focused":f,className:m,onFocusCapture:h,onPointerDownCapture:g,onDragEnter:i,onDragOver:o,onDragLeave:c,onDrop:u,children:[_,v,y]}),t[19]=c,t[20]=o,t[21]=u,t[22]=_,t[23]=v,t[24]=y,t[25]=d,t[26]=f,t[27]=m,t[28]=h,t[29]=g,t[30]=b):b=t[30],b}function g_(e){let t=(0,X.c)(8),n=e.zone===`center`&&`inset-1.5`,r=e.zone===`left`&&`inset-y-1.5 left-1.5 right-1/2`,i=e.zone===`right`&&`inset-y-1.5 left-1/2 right-1.5`,a=e.zone===`top`&&`inset-x-1.5 top-1.5 bottom-1/2`,o=e.zone===`bottom`&&`inset-x-1.5 top-1/2 bottom-1.5`,s;t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a||t[4]!==o?(s=U(`absolute rounded-md border border-dashed border-foreground/40 bg-foreground/10 transition-[inset]`,n,r,i,a,o),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s):s=t[5];let c;return t[6]===s?c=t[7]:(c=(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-40`,children:(0,Q.jsx)(`div`,{className:s})}),t[6]=s,t[7]=c),c}var __=`pane_layout_split_sizes`,v_=64,y_=o(t,s(a));function b_(e){return`${e.direction}:${e.children.map(Kr).join(`|`)}`}function x_(e){return e>0?Array.from({length:e},()=>1/e):[]}function S_(e,t){if(t<=0)return[];if(!e||e.length!==t||e.some(e=>!Number.isFinite(e)||e<=0))return x_(t);let n=e.reduce((e,t)=>e+t,0);return n>0?e.map(e=>e/n):x_(t)}function C_(e,t,n,r){let i=e[t],a=e[t+1];if(i===void 0||a===void 0)return[...e];let o=-(i-r),s=a-r;if(o>s)return[...e];let c=Math.max(o,Math.min(n,s)),l=[...e];return l[t]=i+c,l[t+1]=a-c,l}function w_(e,t){return S_(E_()[e],t)}function T_(e,t){let{[e]:n,...r}=E_(),i=Object.entries(r),a=i.slice(Math.max(0,i.length+1-v_));try{L(__,{...Object.fromEntries(a),[e]:[...t]},y_)}catch{}}function E_(){try{return P(__,y_)??{}}catch{return{}}}var D_=240,O_=.02;function k_(e){let t=(0,X.c)(4),n=e.minPaneSizePx??D_,r;return t[0]!==e.layout||t[1]!==e.renderPane||t[2]!==n?(r=(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:(0,Q.jsx)(A_,{node:e.layout,renderPane:e.renderPane,minPaneSizePx:n})}),t[0]=e.layout,t[1]=e.renderPane,t[2]=n,t[3]=r):r=t[3],r}function A_(e){let t=(0,X.c)(9);if(e.node.type===`pane`){let n;t[0]!==e.node.key||t[1]!==e.renderPane?(n=e.renderPane(e.node.key),t[0]=e.node.key,t[1]=e.renderPane,t[2]=n):n=t[2];let r;return t[3]===n?r=t[4]:(r=(0,Q.jsx)(Q.Fragment,{children:n}),t[3]=n,t[4]=r),r}let n;return t[5]!==e.minPaneSizePx||t[6]!==e.node||t[7]!==e.renderPane?(n=(0,Q.jsx)(j_,{node:e.node,renderPane:e.renderPane,minPaneSizePx:e.minPaneSizePx}),t[5]=e.minPaneSizePx,t[6]=e.node,t[7]=e.renderPane,t[8]=n):n=t[8],n}function j_(e){let{minPaneSizePx:t,node:n,renderPane:r}=e,i=n.direction===`row`,a=n.children.length,o=b_(n),s=(0,Z.useRef)(null),c=(0,Z.useRef)(null),[l,u]=(0,Z.useState)(()=>w_(o,a)),d=(0,Z.useRef)(l);d.current=l;let f=(0,Z.useRef)(o);if(f.current!==o){f.current=o;let e=w_(o,a);d.current=e,u(e)}let p=(0,Z.useCallback)(e=>e>0?Math.min(t/e,1/a):1/a,[a,t]),m=(0,Z.useCallback)(()=>{c.current=null,document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`)},[]);(0,Z.useEffect)(()=>()=>m(),[m]);let h=e=>t=>{if(t.button!==0||!s.current)return;let n=s.current.getBoundingClientRect();c.current={containerSizePx:i?n.width:n.height,dividerIndex:e,pointerId:t.pointerId,startCoord:i?t.clientX:t.clientY,startSizes:d.current},t.preventDefault(),t.currentTarget.setPointerCapture(t.pointerId),document.body.style.cursor=i?`col-resize`:`row-resize`,document.body.style.userSelect=`none`},g=e=>{let t=c.current;if(!t||t.pointerId!==e.pointerId)return;let n=i?e.clientX:e.clientY,r=t.containerSizePx>0?(n-t.startCoord)/t.containerSizePx:0;u(C_(t.startSizes,t.dividerIndex,r,p(t.containerSizePx))),e.preventDefault()},_=e=>{let t=c.current;!t||t.pointerId!==e.pointerId||(T_(o,d.current),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),m(),e.preventDefault())},v=e=>{d.current=e,u(e),T_(o,e)},y=e=>t=>{let n=i?`ArrowLeft`:`ArrowUp`,r=i?`ArrowRight`:`ArrowDown`,a=t.key===n?-O_:t.key===r?O_:null;if(a===null)return;t.preventDefault();let o=s.current?.getBoundingClientRect(),c=o?i?o.width:o.height:0;v(C_(d.current,e,a,p(c)))},b=()=>{v(x_(a))};return(0,Q.jsx)(`div`,{ref:s,className:U(`flex min-h-0 min-w-0 flex-1 overflow-hidden`,i?`flex-row`:`flex-col`),children:n.children.map((e,i)=>(0,Q.jsxs)(Z.Fragment,{children:[i>0?(0,Q.jsx)(M_,{direction:n.direction,onDoubleClick:b,onKeyDown:y(i-1),onPointerCancel:_,onPointerDown:h(i-1),onPointerMove:g,onPointerUp:_}):null,(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 overflow-hidden`,style:{flexGrow:l[i]??1,flexShrink:1,flexBasis:0},children:(0,Q.jsx)(A_,{node:e,renderPane:r,minPaneSizePx:t})})]},Kr(e)||`pane-${i}`))})}function M_(e){let t=(0,X.c)(16),n=e.direction===`row`,r=n?`Resize panes (drag left or right)`:`Resize panes (drag up or down)`,i=n?`-mx-[3px] w-[7px] cursor-col-resize`:`-my-[3px] h-[7px] cursor-row-resize`,a;t[0]===i?a=t[1]:(a=U(`group relative z-10 flex shrink-0 touch-none items-center justify-center focus-visible:outline-hidden`,i),t[0]=i,t[1]=a);let o=e.onDoubleClick,s=e.onKeyDown,c=e.onPointerCancel,l=e.onPointerDown,u=e.onPointerMove,d=e.onPointerUp,f=n?`h-full w-px`:`h-px w-full`,p;t[2]===f?p=t[3]:(p=U(`bg-border/70 transition-colors group-hover:bg-foreground/25 group-focus-visible:bg-foreground/25 group-active:bg-foreground/30`,f),t[2]=f,t[3]=p);let m;t[4]===p?m=t[5]:(m=(0,Q.jsx)(`span`,{className:p}),t[4]=p,t[5]=m);let h;return t[6]!==e.onDoubleClick||t[7]!==e.onKeyDown||t[8]!==e.onPointerCancel||t[9]!==e.onPointerDown||t[10]!==e.onPointerMove||t[11]!==e.onPointerUp||t[12]!==r||t[13]!==m||t[14]!==a?(h=(0,Q.jsx)(`button`,{type:`button`,"aria-label":r,title:`Drag to resize, double-click to reset`,className:a,onDoubleClick:o,onKeyDown:s,onPointerCancel:c,onPointerDown:l,onPointerMove:u,onPointerUp:d,children:m}),t[6]=e.onDoubleClick,t[7]=e.onKeyDown,t[8]=e.onPointerCancel,t[9]=e.onPointerDown,t[10]=e.onPointerMove,t[11]=e.onPointerUp,t[12]=r,t[13]=m,t[14]=a,t[15]=h):h=t[15],h}var N_=5e3;function P_(e){let t=(0,X.c)(5),n;t[0]===e?n=t[1]:(n=e.join(`\0`),t[0]=e,t[1]=n);let r=n,i,a;t[2]===r?(i=t[3],a=t[4]):(i=()=>{let e=r.split(`\0`).filter(I_).map(F_);if(e.length===0)return;let t=null,n=()=>{t!==null&&(window.clearInterval(t),t=null)},i=()=>{for(let t of e)N(t)},a=()=>{for(let t of e)k(t)},o=()=>{n(),!(typeof document<`u`&&document.hidden)&&(i(),t=window.setInterval(()=>{typeof document<`u`&&document.hidden||i()},N_))},s=()=>{if(document.hidden){n(),a();return}o()},c=()=>{n(),a()};return o(),document.addEventListener(`visibilitychange`,s),window.addEventListener(`pagehide`,c),()=>{n(),document.removeEventListener(`visibilitychange`,s),window.removeEventListener(`pagehide`,c),a()}},a=[r],t[2]=r,t[3]=i,t[4]=a),(0,Z.useEffect)(i,a)}function F_(e){return re.makeUnsafe(e)}function I_(e){return e.length>0}var L_=(0,Z.lazy)(()=>wr(()=>import(`./DiffPanel-IxDswq5p.js`),__vite__mapDeps([17,2,18,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48]))),R_=(0,Z.lazy)(()=>wr(()=>import(`./ArtifactPanel-DhNMewF_.js`),__vite__mapDeps([49,2,18,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,50,44,46,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]))),z_=320,B_=`(max-width: 1180px)`,V_=`chat_diff_sidebar_width`,H_=416,U_=448,W_=704,G_=.48,K_=208;function q_(e){return!e.bootstrapComplete||e.routeThreadExists||e.missingSinceMs===null?!1:e.nowMs-e.missingSinceMs>=750}function J_(e){return Math.max(H_,Math.min(e,W_))}function Y_(){return typeof window>`u`?U_:J_(window.innerWidth*G_)}var X_=e=>{let t=(0,X.c)(8),n;t[0]===e?n=t[1]:(n=t=>{t||e.onClosePanel()},t[0]=e,t[1]=n);let r;t[2]===e.children?r=t[3]:(r=(0,Q.jsx)(Nr,{side:`right`,showCloseButton:!1,keepMounted:!0,className:`w-[min(92vw,920px)] max-w-[920px] p-0`,children:e.children}),t[2]=e.children,t[3]=r);let i;return t[4]!==e.open||t[5]!==n||t[6]!==r?(i=(0,Q.jsx)(q,{open:e.open,onOpenChange:n,children:r}),t[4]=e.open,t[5]=n,t[6]=r,t[7]=i):i=t[7],i},Z_=e=>{let t=(0,X.c)(6),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(Oi,{}),t[0]=n):n=t[0];let r;t[1]===e.label?r=t[2]:(r=(0,Q.jsx)(Ci,{label:e.label}),t[1]=e.label,t[2]=r);let i;return t[3]!==e.mode||t[4]!==r?(i=(0,Q.jsx)(Di,{mode:e.mode,header:n,children:r}),t[3]=e.mode,t[4]=r,t[5]=i):i=t[5],i},Q_=e=>{let t=(0,X.c)(8),n;t[0]===e.mode?n=t[1]:(n=(0,Q.jsx)(Z_,{label:`Loading the diff`,mode:e.mode}),t[0]=e.mode,t[1]=n);let r;t[2]!==e.mode||t[3]!==e.onClose?(r=(0,Q.jsx)(L_,{mode:e.mode,onClose:e.onClose}),t[2]=e.mode,t[3]=e.onClose,t[4]=r):r=t[4];let i;return t[5]!==n||t[6]!==r?(i=(0,Q.jsx)(Bi,{children:(0,Q.jsx)(Z.Suspense,{fallback:n,children:r})}),t[5]=n,t[6]=r,t[7]=i):i=t[7],i},$_=e=>{let t=(0,X.c)(10),n;t[0]===e.mode?n=t[1]:(n=(0,Q.jsx)(Z_,{label:`Loading artifact`,mode:e.mode}),t[0]=e.mode,t[1]=n);let r;t[2]!==e.cwd||t[3]!==e.mode||t[4]!==e.onClose||t[5]!==e.relativePath?(r=(0,Q.jsx)(R_,{cwd:e.cwd,mode:e.mode,relativePath:e.relativePath,onClose:e.onClose}),t[2]=e.cwd,t[3]=e.mode,t[4]=e.onClose,t[5]=e.relativePath,t[6]=r):r=t[6];let i;return t[7]!==n||t[8]!==r?(i=(0,Q.jsx)(Z.Suspense,{fallback:n,children:r}),t[7]=n,t[8]=r,t[9]=i):i=t[9],i};function ev(e){switch(e){case`artifact`:return`artifact`;case`browser`:return`browser`;case`diff`:return`diff`}}var tv=e=>{let t=(0,X.c)(22),n;t[0]===e?n=t[1]:(n=t=>{t.button===0&&(t.preventDefault(),t.stopPropagation(),e.onClosePanel())},t[0]=e,t[1]=n);let r=n,i;t[2]===e?i=t[3]:(i=t=>{t.preventDefault(),t.stopPropagation(),t.detail===0&&e.onClosePanel()},t[2]=e,t[3]=i);let a=i,o;t[4]===e?o=t[5]:(o=e.tabs.map(t=>{let n=t.id===e.activePanel;return(0,Q.jsxs)(I,{type:`button`,variant:n?`secondary`:`ghost`,size:`xs`,"aria-current":n?`page`:void 0,className:U(`min-w-0 gap-1.5 px-2.5`,n?`text-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>e.onSelectPanel(t.id),children:[t.icon,(0,Q.jsx)(`span`,{className:`truncate`,children:t.label})]},t.id)}),t[4]=e,t[5]=o);let s;t[6]===o?s=t[7]:(s=(0,Q.jsx)(`div`,{className:`no-drag flex min-w-0 flex-1 items-center gap-1 overflow-x-auto`,children:o}),t[6]=o,t[7]=s);let c=`Close ${ev(e.activePanel)} panel`,l=`Close ${ev(e.activePanel)} panel`,u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(wn,{}),t[8]=u):u=t[8];let d;t[9]!==a||t[10]!==r||t[11]!==c||t[12]!==l?(d=(0,Q.jsx)(I,{type:`button`,variant:`ghost`,size:`icon-xs`,className:`no-drag shrink-0 text-muted-foreground hover:text-foreground`,onPointerDown:r,onClick:a,"aria-label":c,title:l,children:u}),t[9]=a,t[10]=r,t[11]=c,t[12]=l,t[13]=d):d=t[13];let f;t[14]!==s||t[15]!==d?(f=(0,Q.jsxs)(`div`,{className:`drag-region relative z-20 flex h-11 shrink-0 items-center gap-1 border-b border-border bg-card px-2`,children:[s,d]}),t[14]=s,t[15]=d,t[16]=f):f=t[16];let p;t[17]===e.children?p=t[18]:(p=(0,Q.jsx)(`div`,{className:`relative z-0 min-h-0 min-w-0 flex-1 overflow-hidden`,children:e.children}),t[17]=e.children,t[18]=p);let m;return t[19]!==f||t[20]!==p?(m=(0,Q.jsxs)(`div`,{className:`isolate flex h-full min-h-0 min-w-0 flex-1 flex-col bg-background`,children:[f,p]}),t[19]=f,t[20]=p,t[21]=m):m=t[21],m},nv=e=>{let t=(0,X.c)(7),n=e.active?void 0:!0,r=e.panel,i=e.active?`visible`:`pointer-events-none invisible`,a;t[0]===i?a=t[1]:(a=U(`absolute inset-0 min-h-0 min-w-0 overflow-hidden`,i),t[0]=i,t[1]=a);let o;return t[2]!==e.children||t[3]!==e.panel||t[4]!==n||t[5]!==a?(o=(0,Q.jsx)(`div`,{"aria-hidden":n,"data-right-sidebar-panel":r,className:a,children:e.children}),t[2]=e.children,t[3]=e.panel,t[4]=n,t[5]=a,t[6]=o):o=t[6],o},rv=e=>{let t=(0,X.c)(15),{ariaLabel:n,children:r,open:i}=e,o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),[c,l]=(0,Z.useState)(ov),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=e=>{let t=o.current,n=document.querySelector(`[data-chat-composer-form='true']`);if(!t||!n)return!0;let r=n.parentElement;if(!r)return!0;let i=t.style.width;t.style.width=`${e}px`;let a=window.getComputedStyle(r),s=Number.parseFloat(a.paddingLeft)||0,c=Number.parseFloat(a.paddingRight)||0,l=Math.max(0,r.clientWidth-s-c),u=n.getBoundingClientRect(),d=n.querySelector(`[data-chat-composer-footer='true']`),f=n.querySelector(`[data-chat-composer-actions='right']`)?.getBoundingClientRect().width??0,p=d&&(Number.parseFloat(window.getComputedStyle(d).columnGap)||Number.parseFloat(window.getComputedStyle(d).gap))||0,m=K_+f+p,h=n.scrollWidth>n.clientWidth+.5,g=u.width>l+.5,_=n.clientWidth+.5<m;return i.length>0?t.style.width=i:t.style.removeProperty(`width`),!h&&!g&&!_},t[0]=u):u=t[0];let d=u,f;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{let t=J_(e);l(t),L(V_,t,a)},t[1]=f):f=t[1];let p=f,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{s.current=null,document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`)},t[2]=m):m=t[2];let h=m,g;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(g=e=>{e.button!==0||!o.current||(s.current={pointerId:e.pointerId,startWidth:o.current.getBoundingClientRect().width,startX:e.clientX},e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`)},t[3]=g):g=t[3];let _=g,v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{let t=s.current;if(!t||t.pointerId!==e.pointerId)return;let n=J_(t.startWidth+(t.startX-e.clientX));d(n)&&(l(n),e.preventDefault())},t[4]=v):v=t[4];let y=v,b;t[5]===c?b=t[6]:(b=e=>{let t=s.current;!t||t.pointerId!==e.pointerId||(p(c),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),h(),e.preventDefault())},t[5]=c,t[6]=b);let x=b,S,C;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>()=>{h()},C=[h],t[7]=S,t[8]=C):(S=t[7],C=t[8]),(0,Z.useEffect)(S,C);let w;return t[9]!==n||t[10]!==r||t[11]!==x||t[12]!==i||t[13]!==c?(w=i?(0,Q.jsxs)(`div`,{ref:o,className:U(`relative hidden min-h-0 shrink-0 overflow-hidden border-l border-border bg-card text-foreground md:flex`,`shadow-[-20px_0_40px_-36px_rgba(15,23,42,0.55)]`),style:{width:c},children:[(0,Q.jsx)(Ma,{ariaLabel:n,onPointerCancel:x,onPointerDown:_,onPointerMove:y,onPointerUp:x}),(0,Q.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-hidden`,children:r})]}):null,t[9]=n,t[10]=r,t[11]=x,t[12]=i,t[13]=c,t[14]=w):w=t[14],w};function iv(){let e=ct(e=>e.bootstrapComplete),t=y(),n=fi.useParams({select:e=>re.makeUnsafe(e.threadId)}),r=fi.useSearch(),i=ct(e=>e.threads.find(e=>e.id===n)??null),a=ct(e=>i?e.projects.find(e=>e.id===i.projectId)??null:null),o=ct(e=>e.threadIndexById),s=ct(e=>e.threads.some(e=>e.id===n)),c=vt(e=>e.draftThreadsByThreadId),l=s||Object.hasOwn(c,n),u=av(i),d=ni(),f=r.diff===`1`,p=r.artifact===`1`&&!!r.artifactPath,m=d&&r.browser===`1`,h=qr(r,{browserEnabled:d}),g=h!==null,_=a?i?.worktreePath??a.cwd:null,v=De(i?.latestTurn??null,i?.session??null),b=Mr(B_),x=(0,Z.useRef)(null),S=(0,Z.useCallback)(e=>o[e]!==void 0||Object.hasOwn(c,e),[c,o]),C=(0,Z.useMemo)(()=>l?gi({focusedThreadId:n,layout:Wr(r.panes),isThreadAvailable:S}):null,[S,l,r.panes,n]),w=(0,Z.useMemo)(()=>xi(C),[C]),T=Qr(C),E=w.length>1,[D,O]=(0,Z.useState)(null),k=D!==null;P_(w),(0,Z.useEffect)(()=>{if(!k)return;let e=()=>{O(null)};return window.addEventListener(`dragend`,e),window.addEventListener(`drop`,e),()=>{window.removeEventListener(`dragend`,e),window.removeEventListener(`drop`,e)}},[k]),(0,Z.useEffect)(()=>{x.current=null},[n]);let[A,j]=(0,Z.useState)(f),[M,N]=(0,Z.useState)(p),[P,I]=(0,Z.useState)(m),L=(0,Z.useCallback)(()=>{t({to:`/$threadId`,params:{threadId:n},search:e=>li(e)})},[t,n]);if((0,Z.useEffect)(()=>{f&&j(!0)},[f]),(0,Z.useEffect)(()=>{p&&N(!0)},[p]),(0,Z.useEffect)(()=>{m&&I(!0)},[m]),(0,Z.useEffect)(()=>{if(!e)return;if(l){x.current=null;return}let n=Date.now(),r=x.current??n;if(x.current=r,q_({bootstrapComplete:e,routeThreadExists:l,missingSinceMs:r,nowMs:n})){t({to:`/`,replace:!0});return}let i=Math.max(0,750-(n-r)),a=window.setTimeout(()=>{t({to:`/`,replace:!0})},i);return()=>{window.clearTimeout(a)}},[e,t,l,n]),(0,Z.useEffect)(()=>{l&&(r.panes??void 0)!==T&&t({to:`/$threadId`,params:{threadId:n},replace:!0,search:e=>({...e,panes:T})})},[T,t,l,r.panes,n]),(0,Z.useEffect)(()=>{if(!e||!l||!u)return;let t=F();t&&t.orchestration.dispatchCommand({type:`thread.session.ensure`,commandId:z(),threadId:n,createdAt:new Date().toISOString()})},[e,l,u,n]),!e||!l)return null;let R=(e,n,r={})=>{t({to:`/$threadId`,params:{threadId:e},replace:r.replace??!1,search:e=>({...e,panes:Qr(n)})})},B=e=>{e!==n&&R(e,C,{replace:!0})},ee=(e,t)=>{O(n=>t===null?n?.threadId===e?null:n:n?.threadId===e&&n.zone===t?n:{threadId:e,zone:t})},te=(e,t,r)=>{if(C===null||!S(r))return;let i=ei({droppedThreadId:r,focusedThreadId:n,layout:C,targetThreadId:e,zone:t});R(i.focusedThreadId,i.layout,{replace:!0})},ne=e=>{if(C===null)return;let r=ai({closingThreadId:e,focusedThreadId:n,layout:C});if(r.focusedThreadId===null){t({to:`/`,replace:!0});return}R(r.focusedThreadId,r.layout)},V=e=>{if(e===`browser`){if(!d)return;t({to:`/$threadId`,params:{threadId:n},search:e=>({...e,browser:`1`,panel:`browser`})});return}if(e===`artifact`){if(!p)return;t({to:`/$threadId`,params:{threadId:n},search:e=>({...e,panel:`artifact`})});return}_&&t({to:`/$threadId`,params:{threadId:n},search:e=>({...e,diff:`1`,panel:`diff`})})},ie=()=>{if(!i)return;let e=F();e&&e.orchestration.dispatchCommand({type:`thread.turn.interrupt`,commandId:z(),threadId:i.id,...i.latestTurn?.turnId?{turnId:i.latestTurn.turnId}:{},createdAt:new Date().toISOString()})},H=[..._?[{id:`diff`,label:`Diff`,icon:(0,Q.jsx)(Un,{className:`size-3.5`})}]:[],...d?[{id:`browser`,label:`Browser`,icon:(0,Q.jsx)($n,{className:`size-3.5`})}]:[],...p?[{id:`artifact`,label:`Artifact`,icon:(0,Q.jsx)(cr,{className:`size-3.5`})}]:[]],U=f||A,ae=p||M,oe=m||P,se=e=>h?(0,Q.jsxs)(tv,{activePanel:h,tabs:H,onClosePanel:L,onSelectPanel:V,children:[(0,Q.jsx)(nv,{panel:`diff`,active:h===`diff`,children:U?(0,Q.jsx)(Q_,{mode:e}):null}),(0,Q.jsx)(nv,{panel:`browser`,active:h===`browser`,children:oe&&d?(0,Q.jsx)(io,{threadId:n,active:h===`browser`,cwd:_,isAgentWorking:v,onStopAgent:ie}):null}),(0,Q.jsx)(nv,{panel:`artifact`,active:h===`artifact`,children:ae?(0,Q.jsx)($_,{cwd:_,mode:e,relativePath:r.artifactPath??null}):null})]}):null,ce=C===null?null:(0,Q.jsx)(k_,{layout:C,minPaneSizePx:z_,renderPane:e=>{let t=re.makeUnsafe(e);return(0,Q.jsx)(h_,{threadId:t,focused:t===n,multiPane:E,dropZone:D?.threadId===t?D.zone:null,onDropZoneChange:e=>ee(t,e),onThreadDrop:(e,n)=>te(t,n,e),onFocus:()=>B(t),onClose:()=>ne(t)})}});return b?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Si,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground`,children:ce}),(0,Q.jsx)(X_,{open:g,onClosePanel:L,children:se(`sheet`)})]}):(0,Q.jsx)(Si,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground`,children:(0,Q.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:[ce,(0,Q.jsx)(rv,{open:g,ariaLabel:`Resize ${h?ev(h):`right`} panel`,children:se(`sidebar`)})]})})}function av(e){return e===null||e.resumeState===`unrecoverable`||e.resumeState===`resuming`?!1:e.session===null||e.session.orchestrationStatus===`stopped`||e.session.orchestrationStatus===`error`}function ov(){let e=P(V_,a);return e===null?Y_():J_(e)}export{iv as component,av as shouldPrewarmThreadSession,q_ as shouldRedirectMissingThread};
|
|
289
|
-
//# sourceMappingURL=_chat._threadId-CKYAWkIl.js.map
|