shioricode 0.4.20 → 0.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.cjs +13117 -12448
- package/dist/bin.mjs +13155 -12486
- package/dist/client/assets/{ArtifactPanel-DhNMewF_.js → ArtifactPanel-CdR4rtqI.js} +2 -2
- package/dist/client/assets/{ChatMarkdown-CQLSgdaS.js → ChatMarkdown-LC7VQG0i.js} +2 -2
- package/dist/client/assets/{DiffPanel-IxDswq5p.js → DiffPanel-Dj0UZJm3.js} +3 -3
- package/dist/client/assets/DiffPanelShell-xseg5JQo.js +2 -0
- package/dist/client/assets/{DiffWorkerPoolProvider-dhrEONTb.js → DiffWorkerPoolProvider-D6XJdZWI.js} +2 -2
- package/dist/client/assets/NoActiveThreadState-CQmuWJhb.js +2 -0
- package/dist/client/assets/ProviderModelPicker-Bze2CcYx.js +2 -0
- package/dist/client/assets/SettingsPanels-DqCqBUI7.js +4 -0
- package/dist/client/assets/_chat-CKouNPVs.js +2 -0
- package/dist/client/assets/_chat._threadId-CU4xs7Dd.js +289 -0
- package/dist/client/assets/{_chat.index-B4NLV9mk.js → _chat.index-20AQsDPh.js} +2 -2
- package/dist/client/assets/automations-CWJGpvWf.js +2 -0
- package/dist/client/assets/{badge-BaTrdaZE.js → badge-1VUDnpuQ.js} +2 -2
- package/dist/client/assets/clientSettings-5THztvzS.js +2 -0
- package/dist/client/assets/{collapsible-DfWqkHJg.js → collapsible--nYYN5Zg.js} +2 -2
- package/dist/client/assets/{dialog-DjTpVApd.js → dialog-BzCtORYk.js} +2 -2
- package/dist/client/assets/{empty-Be-8qJMT.js → empty-DrPVL67l.js} +2 -2
- package/dist/client/assets/{gitReactQuery-TUte-oT5.js → gitReactQuery-Be_6T0Ee.js} +2 -2
- package/dist/client/assets/index-B58EBW6O.js +6 -0
- package/dist/client/assets/index-Cr2B1Z-_.css +2 -0
- package/dist/client/assets/{input-CE9hmpu7.js → input-DWDmgkdY.js} +2 -2
- package/dist/client/assets/pull-requests-Doz3BMXH.js +46 -0
- package/dist/client/assets/queuedTurnsStore-CIDk30NZ.js +2 -0
- package/dist/client/assets/{scroll-area-CbQzkLT_.js → scroll-area-CFMQ9e4_.js} +2 -2
- package/dist/client/assets/{separator-DI5DQ7Ks.js → separator-BdZ-ET3V.js} +2 -2
- package/dist/client/assets/settings-BGn4mjTS.js +2 -0
- package/dist/client/assets/settings.appearance-Ckvmtwdi.js +2 -0
- package/dist/client/assets/settings.archived-2t5UQQrc.js +2 -0
- package/dist/client/assets/{settings.computer-use-tZN9IYDg.js → settings.computer-use-Dfj_6GTK.js} +2 -2
- package/dist/client/assets/{settings.credits-BpgwqbI7.js → settings.credits-BUY8PBTc.js} +2 -2
- package/dist/client/assets/settings.general-Bvydzs1m.js +2 -0
- package/dist/client/assets/settings.mcp-Byoxze4F.js +2 -0
- package/dist/client/assets/{settings.mobile-PxkOX11C.js → settings.mobile-BUu4CP8r.js} +2 -2
- package/dist/client/assets/{settings.plugins-CQejJM2o.js → settings.plugins-CAvGUyw-.js} +2 -2
- package/dist/client/assets/settings.remote-BaGj1Eao.js +2 -0
- package/dist/client/assets/{settings.skills-Cg57qd7S.js → settings.skills-B-UfH45M.js} +2 -2
- package/dist/client/assets/{settings.theme-builder-DUu9nCmf.js → settings.theme-builder-DYn2dp1p.js} +2 -2
- package/dist/client/assets/{skillsMcpShared-CGi0RTQJ.js → skillsMcpShared-RFZJX9uG.js} +2 -2
- package/dist/client/assets/store-KYb5gyLf.js +12 -0
- package/dist/client/assets/{terminalStateStore-COv6Fwmt.js → terminalStateStore-DBL14uZB.js} +2 -2
- package/dist/client/assets/{textarea-CFQ0q5G1.js → textarea-CeNMtAmc.js} +2 -2
- package/dist/client/assets/{toggle-CwB81Wb2.js → toggle-BR_nJmIu.js} +2 -2
- package/dist/client/assets/{toggle-group-B4poMzYg.js → toggle-group-Tr8y9Pwx.js} +2 -2
- package/dist/client/assets/{uiStateStore-DsIsCBO9.js → uiStateStore-CC1coFoR.js} +2 -2
- package/dist/client/assets/{useHandleNewThread-DtShg-Gb.js → useHandleNewThread-CRjy_n7m.js} +2 -2
- package/dist/client/assets/useSettings-CvQQz7AW.js +2 -0
- package/dist/client/assets/{useTheme-CpDK1jpf.js → useTheme-D0lWhUH9.js} +2 -2
- package/dist/client/assets/utils-D1UgimcN.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 +1 -1
- 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
|
@@ -0,0 +1,289 @@
|
|
|
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-Dj0UZJm3.js","assets/index-B58EBW6O.js","assets/clientSettings-5THztvzS.js","assets/utils-D1UgimcN.js","assets/vendor-class-variance-authority-M1Ix6tns.js","assets/vendor-effect-Chd9hYxF.js","assets/vendor-tailwind-merge-BB8g8WaZ.js","assets/vendor-ui-CJZCHXkp.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-CRjy_n7m.js","assets/store-KYb5gyLf.js","assets/vendor-zustand-qsUGoIcm.js","assets/useSettings-CvQQz7AW.js","assets/uiStateStore-CC1coFoR.js","assets/input-DWDmgkdY.js","assets/scroll-area-CFMQ9e4_.js","assets/separator-BdZ-ET3V.js","assets/gitReactQuery-Be_6T0Ee.js","assets/terminalStateStore-DBL14uZB.js","assets/vendor--xterm-xterm-B85yPPkf.js","assets/vendor--xterm-xterm-BrP-ENHg.css","assets/vendor-unicode-animations-xZRLz3EO.js","assets/index-Cr2B1Z-_.css","assets/DiffPanelShell-xseg5JQo.js","assets/DiffWorkerPoolProvider-D6XJdZWI.js","assets/useTheme-D0lWhUH9.js","assets/toggle-group-Tr8y9Pwx.js","assets/toggle-BR_nJmIu.js","assets/ArtifactPanel-CdR4rtqI.js","assets/ChatMarkdown-LC7VQG0i.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{C as k,E as A,M as j,P as M,h as N,j as P,l as F,s as I,u as L,w as R}from"./clientSettings-5THztvzS.js";import"./vendor-effect-Chd9hYxF.js";import{Z as z,a as B,c as V,ct as ee,i as te,l as H,o as ne,q as re,r as U,rt as ie,st as ae,t as W,tt as oe}from"./utils-D1UgimcN.js";import{t as se}from"./vendor-class-variance-authority-M1Ix6tns.js";import{A as ce,At as le,B as ue,Bt as de,C as fe,Ct as pe,D as me,Dt as he,Et as ge,F as _e,Gt as ve,H as ye,Ht as be,I as G,It as xe,Kt as Se,L as Ce,Lt as we,M as Te,Mt as Ee,N as De,Nt as Oe,O as ke,Ot as Ae,P as je,Pt as Me,Q as Ne,R as Pe,Rt as Fe,S as Ie,St as Le,T as Re,Tt as ze,U as Be,Ut as Ve,V as He,Vt as Ue,W as We,X as Ge,Z as Ke,_ as qe,_t as Je,a as Ye,at as Xe,b as Ze,bt as Qe,c as $e,ct as et,d as tt,dt as nt,et as rt,f as it,ft as at,g as ot,gt as st,h as ct,ht as lt,i as ut,j as dt,jt as ft,k as pt,kt as mt,lt as ht,m as gt,mt as _t,nt as vt,o as yt,ot as bt,p as xt,pt as St,q as Ct,qt as wt,st as Tt,tt as Et,u as Dt,ut as Ot,v as kt,vt as At,w as jt,wt as Mt,x as Nt,xt as Pt,y as Ft,yt as It,z as Lt,zt as Rt}from"./store-KYb5gyLf.js";import{n as zt,r as Bt,t as Vt}from"./terminalStateStore-DBL14uZB.js";import{t as Ht}from"./uiStateStore-CC1coFoR.js";import{$ as Ut,B as Wt,Br as Gt,Dn as Kt,F as qt,Fn as Jt,Fr as Yt,G as Xt,Gn as Zt,Gr as Qt,H as $t,Hn as en,I as tn,In as nn,J as rn,Jn as an,Jr as on,K as sn,Kn as cn,Ln as ln,Lr as un,M as dn,Mn as fn,Nn as pn,Nr as mn,On as hn,Pn as gn,Q as _n,Rn as vn,Rr as yn,Tn as bn,U as xn,V as Sn,Vn as Cn,Wn as wn,Xn as Tn,Yn as En,_ as Dn,_r as On,_t as kn,ar as An,bn as jn,br as Mn,bt as Nn,cr as Pn,dr as Fn,et as In,f as Ln,fr as Rn,g as zn,gr as Bn,gt as Vn,h as Hn,hr as Un,ir as Wn,j as Gn,jn as Kn,kn as qn,kr as Jn,l as Yn,m as Xn,mr as Zn,mt as Qn,or as $n,p as er,pt as tr,q as nr,qn as rr,qr as ir,rr as ar,sr as or,tr as sr,tt as cr,u as lr,ur,vn as dr,vt as fr,xr as pr,yn as mr,yr as hr,z as gr,zn as _r,zr as vr}from"./vendor-ui-CJZCHXkp.js";import{n as yr,r as br}from"./useSettings-CvQQz7AW.js";import{a as xr,r as Sr,t as Cr}from"./useHandleNewThread-CRjy_n7m.js";import{c as wr,d as Tr,f as Er,i as Dr,n as Or,t as kr,u as Ar}from"./gitReactQuery-Be_6T0Ee.js";import{t as jr}from"./input-DWDmgkdY.js";import{t as Mr}from"./scroll-area-CFMQ9e4_.js";import{t as Nr}from"./separator-BdZ-ET3V.js";import{Un as Pr}from"./vendor-diffs-CBk6gACd.js";import{A as Fr,B as Ir,C as Lr,Ct as Rr,Dt as zr,Et as Br,G as Vr,H as Hr,J as Ur,O as Wr,Ot as Gr,S as K,St as Kr,T as qr,Tt as Jr,U as Yr,W as Xr,_ as Zr,_t as Qr,at as $r,bt as ei,ct as ti,dt as ni,et as ri,f as ii,ft as ai,g as q,gt as oi,h as si,ht as ci,it as li,kt as ui,lt as di,m as fi,mt as pi,nt as mi,o as hi,ot as gi,pt as _i,q as vi,rt as yi,st as bi,t as xi,tt as Si,u as Ci,ut as wi,vt as Ti,w as Ei,wt as Di,x as Oi,xt as ki,yt as Ai,z as ji}from"./index-B58EBW6O.js";import{a as Mi,d as Ni,f as Pi,l as Fi,o as Ii,r as Li,u as Ri}from"./DiffPanelShell-xseg5JQo.js";import{r as J,t as zi}from"./useTheme-D0lWhUH9.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 Bi,i as Vi,n as Hi,o as Ui,r as Wi,s as Gi,t as Ki}from"./ChatMarkdown-LC7VQG0i.js";import"./vendor--shikijs-engine-javascript-DmYKhP_-.js";import"./vendor-diff-JjX2GAnZ.js";import{n as qi,t as Ji}from"./DiffWorkerPoolProvider-D6XJdZWI.js";import{t as Yi}from"./toggle-BR_nJmIu.js";import{t as Xi}from"./assistantPersonalityOptions-BnBdEssM.js";import{a as Zi,c as Qi,i as $i,n as ea,o as ta,r as na,s as ra,t as ia}from"./ProviderModelPicker-Bze2CcYx.js";import{t as aa}from"./NoActiveThreadState-CQmuWJhb.js";import{t as oa}from"./vendor--xterm-addon-fit-2SkXNpWc.js";import{At as sa,Ft as ca,H as la,I as ua,L as da,Lt as fa,M as pa,Mt as ma,St as Y,V as ha,X as ga,at as _a,g as va,h as ya,ht as ba,jt as xa,kt as Sa,l as Ca,mt as wa,p as Ta,q as Ea,rt as Da,v as Oa,w as ka}from"./vendor--lexical-clipboard-DCk1K_zj.js";import{a as Aa,c as ja,i as Ma,o as Na,r as Pa,s as Fa,t as Ia}from"./dialog-BzCtORYk.js";import{t as La}from"./textarea-CeNMtAmc.js";import{t as Ra}from"./badge-1VUDnpuQ.js";import{n as za,t as Ba}from"./queuedTurnsStore-CIDk30NZ.js";import{t as Va}from"./DockedSidebarResizeHandle-DkVhNVa1.js";var X=l(),Z=e(r(),1),Ha=`about:blank`;function Ua(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)}function Wa(e){let t=e.trim();return t.length===0?Ha: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}`:Ua(t)?t:`https://${t}`}function Ga(e){return`persist:shioricode-browser-${encodeURIComponent(e)}`}function Ka(e){try{let t=e.getURL?.()??e.getAttribute(`src`)??``;return t===`about:blank`?``:t}catch{return``}}function qa(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 Ja(e,t){let n=e[t];if(typeof n!=`function`)return!1;try{return!!n.call(e)}catch{return!1}}function Ya(e,t){let n=Ka(e);return{title:qa(e,n),url:n,isLoading:Ja(e,`isLoading`),canGoBack:Ja(e,`canGoBack`),canGoForward:Ja(e,`canGoForward`),error:t}}function Xa(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 Za(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 Qa(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 $a(e,t){return Qa(e,t,`type`)}function eo(e,t){return Qa(e,t,`fill`)}function to(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 no(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 ro(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 io(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 ao(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 oo(e){return Ya(e,null)}function so(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 co(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 lo(e,t,n={}){try{if(e.type===`navigate`){let n=Wa(e.url);return t.loadURL?await t.loadURL(n):t.setAttribute(`src`,n),{ok:!0,address:n===`about:blank`?``:n,value:oo(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:oo(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=co(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(Xa(e),!0);return{ok:!0,value:{...oo(t),page:n}}}return e.type===`click-selector`?so(await t.executeJavaScript(Za(e.selector),!0)):e.type===`hover-selector`?so(await t.executeJavaScript(to(e.selector),!0)):e.type===`fill-selector`?so(await t.executeJavaScript(eo(e.selector,e.text??``),!0)):e.type===`select-selector`?so(await t.executeJavaScript(no(e.selector,e.value??``),!0)):e.type===`wait`?so(await t.executeJavaScript(ro(e),!0)):e.type===`scroll`?so(await t.executeJavaScript(io(e),!0)):e.type===`press-key`?{ok:!0,value:await t.executeJavaScript(ao(e.key),!0)}:so(await t.executeJavaScript($a(e.selector,e.text??``),!0))}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}var Q=x(),uo={title:`New page`,url:``,isLoading:!1,canGoBack:!1,canGoForward:!1,error:null};function fo(e){return e.trim().length>0}function po(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 mo(e){let t=(0,X.c)(86),{threadId:n,active:r,cwd:i,isAgentWorking:a,onClose:o,onStopAgent:s}=e,c=M&&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)(uo),[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`,Ga(n)),t.setAttribute(`src`,Ha),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`,po(t,e),e.append(t);let r=null,i=()=>{h(Ya(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(()=>{po(t,e)});s?.observe(e),i();let f=d.current;return f&&(d.current=null,t.loadURL?.(f).catch(e=>{h(Ya(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=N()?.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=Wa(e.url)),t(e,!1,void 0,`The Browser panel webview is not ready.`);return}try{let n=await lo(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(Ya(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=Wa(g);if(_(n===`about:blank`?``:n),!t.loadURL){t.setAttribute(`src`,n),y(!1);return}t.loadURL(n).catch(e=>{h(Ya(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`){mi.add({type:`error`,title:`Screenshot unavailable`,description:`The browser page is still starting.`});return}window.desktopBridge.browser.captureVisiblePage({threadId:n,webContentsId:t}).then(_o).catch(go)},t[13]=n,t[14]=O);let k=O,A;t[15]===m.url?A=t[16]:(A=()=>{fo(m.url)&&N()?.shell.openExternal(m.url).catch(ho)},t[15]=m.url,t[16]=A);let j=A;if(!c){let e;t[17]===o?e=t[18]:(e=(0,Q.jsx)(vo,{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)(Bn,{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 P=r?`true`:`false`,F;t[22]===o?F=t[23]:(F=o?{onClose:o}:{},t[22]=o,t[23]=F);let I;t[24]===s?I=t[25]:(I=s?{onStopAgent:s}:{},t[24]=s,t[25]=I);let L;t[26]!==a||t[27]!==m.title||t[28]!==F||t[29]!==I?(L=(0,Q.jsx)(vo,{title:m.title,isAgentWorking:a,...F,...I}),t[26]=a,t[27]=m.title,t[28]=F,t[29]=I,t[30]=L):L=t[30];let R=!m.canGoBack,z,B;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>u.current?.goBack?.(),B=(0,Q.jsx)(_r,{}),t[31]=z,t[32]=B):(z=t[31],B=t[32]);let V;t[33]===R?V=t[34]:(V=(0,Q.jsx)(yo,{label:`Back`,disabled:R,onClick:z,children:B}),t[33]=R,t[34]=V);let ee=!m.canGoForward,te,H;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(te=()=>u.current?.goForward?.(),H=(0,Q.jsx)(vn,{}),t[35]=te,t[36]=H):(te=t[35],H=t[36]);let ne;t[37]===ee?ne=t[38]:(ne=(0,Q.jsx)(yo,{label:`Forward`,disabled:ee,onClick:te,children:H}),t[37]=ee,t[38]=ne);let re=m.isLoading?`Stop loading`:`Reload`,U=!m.isLoading&&m.url.length===0,ie,ae;t[39]===m.isLoading?(ie=t[40],ae=t[41]):(ie=()=>m.isLoading?u.current?.stop?.():u.current?.reload?.(),ae=m.isLoading?(0,Q.jsx)(wn,{}):(0,Q.jsx)(Tn,{}),t[39]=m.isLoading,t[40]=ie,t[41]=ae);let oe;t[42]!==re||t[43]!==U||t[44]!==ie||t[45]!==ae?(oe=(0,Q.jsx)(yo,{label:re,disabled:U,onClick:ie,children:ae}),t[42]=re,t[43]=U,t[44]=ie,t[45]=ae,t[46]=oe):oe=t[46];let se;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,Q.jsx)(fn,{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=W(`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 fe;t[52]===g?fe=t[53]:(fe=(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]=fe);let pe=!fo(m.url),me;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,Q.jsx)(Zn,{}),t[54]=me):me=t[54];let he;t[55]!==j||t[56]!==pe?(he=(0,Q.jsx)(yo,{label:`Open externally`,disabled:pe,onClick:j,children:me}),t[55]=j,t[56]=pe,t[57]=he):he=t[57];let ge=!fo(m.url),_e;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,Q.jsx)(Gt,{}),t[58]=_e):_e=t[58];let ve;t[59]!==k||t[60]!==ge?(ve=(0,Q.jsx)(yo,{label:`Capture screenshot`,disabled:ge,onClick:k,children:_e}),t[59]=k,t[60]=ge,t[61]=ve):ve=t[61];let ye;t[62]!==D||t[63]!==V||t[64]!==ne||t[65]!==oe||t[66]!==fe||t[67]!==he||t[68]!==ve?(ye=(0,Q.jsxs)(`form`,{className:`flex min-w-0 items-center gap-1 px-2 pb-2`,onSubmit:D,children:[V,ne,oe,fe,he,ve]}),t[62]=D,t[63]=V,t[64]=ne,t[65]=oe,t[66]=fe,t[67]=he,t[68]=ve,t[69]=ye):ye=t[69];let be;t[70]!==L||t[71]!==ye?(be=(0,Q.jsxs)(`div`,{className:`shrink-0 border-b border-border/70 bg-card`,children:[L,ye]}),t[70]=L,t[71]=ye,t[72]=be):be=t[72];let G;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(G=(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]=G):G=t[73];let xe;t[74]!==i||t[75]!==m.url?(xe=fo(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)(Bn,{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 Se;t[77]===m.error?Se=t[78]:(Se=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]=Se);let Ce;t[79]!==xe||t[80]!==Se?(Ce=(0,Q.jsxs)(`div`,{className:`relative min-h-0 min-w-0 flex-1 bg-background`,children:[G,xe,Se]}),t[79]=xe,t[80]=Se,t[81]=Ce):Ce=t[81];let we;return t[82]!==P||t[83]!==be||t[84]!==Ce?(we=(0,Q.jsxs)(`div`,{"data-browser-panel-active":P,className:`flex h-full min-h-0 min-w-0 flex-1 flex-col bg-card text-foreground`,children:[be,Ce]}),t[82]=P,t[83]=be,t[84]=Ce,t[85]=we):we=t[85],we}function ho(e){mi.add({type:`error`,title:`Could not open browser`,description:e instanceof Error?e.message:`An unknown error occurred.`})}function go(e){mi.add({type:`error`,title:`Could not capture screenshot`,description:e instanceof Error?e.message:`An unknown error occurred.`})}function _o(e){if(!e.ok){mi.add({type:`error`,title:`Could not capture screenshot`,description:e.message??`An unknown error occurred.`});return}mi.add({type:`success`,title:`Screenshot copied`,description:`The browser viewport is on your clipboard.`})}function vo(e){let t=(0,X.c)(12),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(Bn,{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 yo(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)(Vr,{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)(Xr,{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)(Yr,{children:[n,r]}),t[7]=n,t[8]=r,t[9]=i):i=t[9],i}var bo=e(c(),1),xo=/(^|\s)@([^\s@]+)(?=\s)/g;function So(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 Co(e){let t=[];if(!e)return t;let n=0;for(let r of e.matchAll(xo)){let i=r[0],a=r[1]??``,o=r[2]??``,s=(r.index??0)+a.length,c=s+i.length-a.length;s>n&&So(t,e.slice(n,s)),o.length>0?t.push({type:`mention`,path:o}):So(t,e.slice(s,c)),n=c}return n<e.length&&So(t,e.slice(n)),t}function wo(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(...Co(e.slice(r,a))),n.push({type:`terminal-context`,context:t[i]??null}),i+=1,r=a+1);return r<e.length&&n.push(...Co(e.slice(r))),n}var To=[`compact`,`fast`,`fork`,`goal`,`mcp`,`memories`,`model`,`personality`,`plan`,`default`,`review`],Eo=[`default`,`friendly`,`sassy`,`coach`,`pragmatic`],Do=[`local`,`worktree`],Oo=e=>e.type!==`text`;function ko(e,t){return Number.isFinite(t)?Math.max(0,Math.min(e.length,Math.floor(t))):e.length}function Ao(e){return e===` `||e===`
|
|
246
|
+
`||e===` `||e===`\r`||e===``}function jo(e,t){let n=t-1;for(;n>=0&&!Ao(e[n]??``);)--n;return n+1}function Mo(e,t){let n=ko(e,t),r=wo(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 No(e){return e.type===`text`?e.text.length:1}function Po(e,t){let n=e.reduce((e,t)=>e+No(t),0);return Number.isFinite(t)?Math.max(0,Math.min(n,Math.floor(t))):n}function Fo(e,t){return Po(wo(e),t)}function Io(e,t){let n=ko(e,t),r=wo(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 Lo(e,t,n){let r=wo(e);if(!r.some(Oo))return!1;let i=Po(r,t),a=0;for(let e of r){if(Oo(e)&&(n===`left`&&i===a+1||n===`right`&&i===a))return!0;a+=No(e)}return!1}function Ro(e,t){let n=ko(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}:To.some(e=>e===t)?{kind:`slash-command`,query:i,command:t,rangeStart:r,rangeEnd:n}:e[2]===void 0&&To.some(e=>e.startsWith(t))?{kind:`slash-command`,query:t,rangeStart:r,rangeEnd:n}:i.length>0&&t.length>0?null:To.some(e=>e.startsWith(t))?{kind:`slash-command`,query:t,rangeStart:r,rangeEnd:n}:null}}let a=jo(e,n),o=e.slice(a,n);return o.startsWith(`@`)?{kind:`path`,query:o.slice(1),rangeStart:a,rangeEnd:n}:null}function zo(e){let t=e.trim(),n=/^\/fork(?:\s+(local|worktree))?\s*$/i.exec(t);if(n){let e=n[1]?.toLowerCase();return e&&Do.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&&Eo.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 Bo(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 Vo(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 Ho(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function Uo(e){return Ho(e?.customAnswer)||Ho(e?.selectedOptionLabel)}function Wo(e,t){let n=t.trim().length>0?void 0:e?.selectedOptionLabel;return{customAnswer:t,...n?{selectedOptionLabel:n}:{}}}function Go(e,t){let n={};for(let r of e){let e=Uo(t[r.id]);if(!e)return null;n[r.id]=e}return n}function Ko(e,t){return e.reduce((e,n)=>Uo(t[n.id])?e+1:e,0)}function qo(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=Uo(a),s=a?.customAnswer??``,c=Ko(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:Go(e,t)!==null,canAdvance:!!o}}function Jo(e){let t=e.match(/^\s{0,3}#{1,6}\s+(.+)$/m)?.[1]?.trim();return t&&t.length>0?t:null}function Yo(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 Xo(e,t){let n=t?.maxLines??8,r=Yo(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?Jo(e)??`Plan preview unavailable.`:(o&&i.push(``,`...`),i.join(`
|
|
249
|
+
`))}function Zo(e){let t=e.toLowerCase().replace(/[`'".,!?()[\]{}]+/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t.length>0?t:`plan`}function Qo(e){return`PLEASE IMPLEMENT THIS PLAN:\n${e.trim()}`}function $o(e){let t=e.draftText.trim();return t.length>0?{text:t,interactionMode:`plan`}:{text:Qo(e.planMarkdown),interactionMode:`default`}}function es(e){let t=Jo(e);return t?`Implement ${t}`:`Implement plan`}function ts(e){return`${Zo(Jo(e)??`plan`)}.md`}function ns(e){return`${e.trimEnd()}\n`}function rs(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 is(e){let t=(0,X.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=W(`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 as(e){let t=e.indexOf(`/`);return t<=0||t===e.length-1?e:e.slice(t+1)}n([`local`,`worktree`]);function os(e){let{activeWorktreePath:t,hasServerThread:n,draftThreadEnvMode:r}=e;return t||!n&&r===`worktree`?`worktree`:`local`}function ss(e){let{nextWorktreePath:t,currentWorktreePath:n,effectiveEnvMode:r}=e;return t||r===`worktree`&&!n?`worktree`:`local`}function cs(e){let{envMode:t,activeWorktreePath:n,activeThreadBranch:r,currentGitBranch:i}=e;return t===`worktree`&&!n?r??i:i??r}function ls(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 us(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 ds=/^https:\/\/github\.com\/[^/\s]+\/[^/\s]+\/pull\/(\d+)(?:[/?#].*)?$/i,fs=/^#?(\d+)$/,ps=/^gh\s+pr\s+checkout\s+(.+)$/i;function ms(e){let t=e.trim();if(t.length===0)return null;let n=ps.exec(t)?.[1]?.trim()??t;if(n.length===0)return null;if(ds.exec(n)?.[1])return n;let r=fs.exec(n);return r?.[1]?n.startsWith(`#`)?n:r[1]:null}var hs=Z.createContext({chipsRef:null,multiple:!1});function gs(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)(dn,{...e}),t[2]=e,t[3]=s);let c;return t[4]!==s||t[5]!==o?(c=(0,Q.jsx)(hs.Provider,{value:o,children:s}),t[4]=s,t[5]=o,t[6]=c):c=t[6],c}function _s(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=W(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=W(`has-disabled:opacity-100`,r),t[14]=r,t[15]=g);let _;t[16]!==d||t[17]!==g?(_=(0,Q.jsx)(jr,{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)(nr,{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)(vs,{className:W(`-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)(En,{})})}),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)(Cs,{className:W(`-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 vs(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)(rn,{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 ys(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(hs),m=r??p,h;t[9]===a?h=t[10]:(h=W(`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)(gr,{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)(Sn,{children:(0,Q.jsx)(Wt,{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 bs(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=W(`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=W(`col-start-1`,c),t[7]=c,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(un,{}),t[9]=u):u=t[9];let d;t[10]===l?d=t[11]:(d=(0,Q.jsx)(Gn,{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)(tn,{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 xs(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=W(`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)(qt,{className:i,"data-slot":`combobox-empty`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ss(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=W(`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)(Mr,{scrollbarGutter:!0,scrollFade:!0,children:(0,Q.jsx)(xn,{className:i,"data-slot":`combobox-list`,...r})}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Cs(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)(Xt,{className:n,"data-slot":`combobox-clear`,...r}),t[3]=n,t[4]=r,t[5]=i):i=t[5],i}function ws(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=W(`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)($t,{className:i,"data-slot":`combobox-status`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ts(e){return e instanceof Error?e.message:`An error occurred.`}function Es(e){let{activeWorktreePath:t,effectiveEnvMode:n,resolvedActiveBranch:r}=e;return r?n===`worktree`&&!t?`From ${r}`:r:`Select branch`}function Ds({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(Tr(r)),b=f.trim(),x=g.trim();(0,Z.useEffect)(()=>{r&&l.prefetchInfiniteQuery(kr({cwd:r,query:``}))},[r,l]);let{data:S,fetchNextPage:C,hasNextPage:w,isFetchingNextPage:T,isPending:E}=_(kr({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=cs({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(),P=ms(b),F=i===`worktree`&&!a&&!n,I=P&&s?`__checkout_pull_request__:${P}`:null,L=!F&&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]),V=(0,Z.useMemo)(()=>M.length===0?B:B.filter(e=>us({itemValue:e,normalizedQuery:M,createBranchItemValue:z,checkoutPullRequestItemValue:I})),[B,I,z,M]),[ee,te]=(0,Z.useOptimistic)(k,(e,t)=>t),[H,ne]=(0,Z.useTransition)(),re=V.length>40,U=S?.pages[0]?.totalCount??0,ie=E?`Loading branches...`:T?`Loading more branches...`:w?`Showing ${D.length} of ${U} branches`:null,ae=e=>{ne(async()=>{await e().catch(()=>void 0),await Er(l).catch(()=>void 0)})},oe=t=>{let i=N();if(!i||!r||H)return;if(F){o(t.name,null),d(!1),c?.();return}let a=ls({activeProjectCwd:e,activeWorktreePath:n,branch:t});if(a.reuseExistingWorktree){o(t.name,a.nextWorktreePath),d(!1),c?.();return}let s=t.isRemote?as(t.name):t.name;d(!1),c?.(),ae(async()=>{te(s);try{await i.git.checkout({cwd:a.checkoutCwd,branch:t.name}),await Er(l)}catch(e){mi.add({type:`error`,title:`Failed to checkout branch.`,description:Ts(e)});return}let e=s;if(t.isRemote){let t=await i.git.status({cwd:a.checkoutCwd}).catch(()=>null);t?.branch&&(e=t.branch)}te(e),o(e,a.nextWorktreePath)})},se=e=>{let t=e.trim(),i=N();!i||!r||!t||H||(d(!1),c?.(),ae(async()=>{te(t);try{await i.git.createBranch({cwd:r,branch:t});try{await i.git.checkout({cwd:r,branch:t})}catch(e){mi.add({type:`error`,title:`Failed to checkout branch.`,description:Ts(e)});return}}catch(e){mi.add({type:`error`,title:`Failed to create branch.`,description:Ts(e)});return}te(t),o(t,n),m(``)}))};(0,Z.useEffect)(()=>{i!==`worktree`||n||t||!O||o(O,null)},[t,n,O,i,o]);let ce=(0,Z.useCallback)(e=>{if(d(e),!e){m(``);return}l.invalidateQueries({queryKey:wr.branches(r)})},[r,l]),le=(0,Z.useRef)(null),ue=(0,Z.useCallback)(()=>{if(!u||!w||T)return;let e=le.current;e&&(e.scrollHeight-e.scrollTop-e.clientHeight>96||C().catch(()=>void 0))},[C,w,u,T]),de=v({count:V.length,estimateSize:e=>V[e]===I?44:28,getScrollElement:()=>le.current,overscan:12,enabled:u&&re,initialRect:{height:224,width:0}}),fe=de.getVirtualItems(),pe=(0,Z.useCallback)(e=>{le.current=e?.parentElement??null,e&&de.measure()},[de]);(0,Z.useEffect)(()=>{!u||!re||queueMicrotask(()=>{de.measure()})},[de,V.length,u,re]),(0,Z.useEffect)(()=>{u&&le.current?.scrollTo({top:0})},[x,u]),(0,Z.useEffect)(()=>{let e=le.current;if(!e||!u)return;let t=()=>{ue()};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>{e.removeEventListener(`scroll`,t)}},[u,ue]),(0,Z.useEffect)(()=>{ue()},[D.length,ue]);let me=Es({activeWorktreePath:n,effectiveEnvMode:i,resolvedActiveBranch:ee});function he(t,n,r){if(I&&t===I)return(0,Q.jsx)(bs,{hideIndicator:!0,index:n,value:t,style:r,onClick:()=>{!P||!s||(d(!1),m(``),c?.(),s(P))},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:P})]})},t);if(z&&t===z)return(0,Q.jsx)(bs,{hideIndicator:!0,index:n,value:t,style:r,onClick:()=>se(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)(bs,{hideIndicator:!0,index:n,value:t,style:r,onClick:()=>oe(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)(gs,{items:B,filteredItems:V,autoHighlight:!0,virtualized:re,onItemHighlighted:(e,t)=>{!u||t.index<0||de.scrollToIndex(t.index,{align:`auto`})},onOpenChange:ce,open:u,value:ee,children:[(0,Q.jsxs)(vs,{className:W(Qi({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||H,children:[(0,Q.jsx)(Cn,{className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`max-w-[240px] truncate`,children:me}),(0,Q.jsx)($n,{className:`size-3 opacity-50`})]}),(0,Q.jsxs)(ys,{align:`end`,side:`top`,className:`w-80`,children:[(0,Q.jsx)(`div`,{className:`border-b p-1`,children:(0,Q.jsx)(_s,{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)(xs,{children:`No branches found.`}),(0,Q.jsx)(Ss,{ref:pe,className:`max-h-56`,children:re?(0,Q.jsx)(`div`,{className:`relative`,style:{height:`${de.getTotalSize()}px`},children:fe.map(e=>{let t=V[e.index];return t?he(t,e.index,{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`}):null})}):V.map((e,t)=>he(e,t))}),ie?(0,Q.jsx)(ws,{children:ie}):null]})]})}var Os=[{value:`local`,label:`Work locally`},{value:`worktree`,label:`New worktree`}];function ks(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=ut(Is),u=ut(Fs),d=ut(Ps),f;t[0]===n?f=t[1]:(f=e=>e.getDraftThread(n),t[0]=n,t[1]=f);let p=bt(f),m=bt(Ns),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=os({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=N();if(_?.session&&t!==w&&r&&r.orchestration.dispatchCommand({type:`thread.session.stop`,commandId:B(),threadId:S,createdAt:new Date().toISOString()}).catch(Ms),r&&E&&r.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:B(),threadId:S,branch:e,worktreePath:t}),E){d(S,e,t);return}m(n,{branch:e,worktreePath:t,envMode:ss({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||Cr({projectId:e,navigate:h,routeThreadId:S??null})},t[25]=v,t[26]=S,t[27]=h,t[28]=M):M=t[28];let P=M;if(!S||!x)return null;let F;t[29]!==x.id||t[30]!==x.name||t[31]!==P||t[32]!==E||t[33]!==u?(F=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)(hr,{className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:x.name})]}):(0,Q.jsxs)(na,{value:x.id,onValueChange:e=>P(e),items:u.map(js),children:[(0,Q.jsxs)(ta,{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)(is,{}),(0,Q.jsx)(ra,{className:`max-w-[10rem] truncate`})]}),(0,Q.jsx)(Zi,{children:u.map(As)})]}),t[29]=x.id,t[30]=x.name,t[31]=P,t[32]=E,t[33]=u,t[34]=F):F=t[34];let I=F,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)(Cn,{className:`size-3`}),`Worktree`]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Rn,{className:`size-3.5`}),`Work locally`]})}):(0,Q.jsxs)(na,{value:k,onValueChange:e=>r(e),items:Os,children:[(0,Q.jsxs)(ta,{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)(Cn,{className:`size-3`}):(0,Q.jsx)(Rn,{className:`size-3.5`}),(0,Q.jsx)(ra,{})]}),(0,Q.jsxs)(Zi,{children:[(0,Q.jsx)($i,{value:`local`,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(Rn,{className:`size-3.5`}),`Work locally`]})}),(0,Q.jsx)($i,{value:`worktree`,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(Cn,{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)(Rn,{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,z;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?(z=c?(0,Q.jsx)(Ds,{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]=z):z=t[51];let V=z,ee;return t[52]!==V||t[53]!==R||t[54]!==I?(ee=(0,Q.jsxs)(Q.Fragment,{children:[I,R,V]}),t[52]=V,t[53]=R,t[54]=I,t[55]=ee):ee=t[55],ee}function As(e){return(0,Q.jsx)($i,{value:e.id,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(hr,{className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]})},e.id)}function js(e){return{value:e.id,label:e.name}}function Ms(){}function Ns(e){return e.setDraftThreadContext}function Ps(e){return e.setThreadBranch}function Fs(e){return e.projects}function Is(e){return e.threads}function Ls(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)(un,{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 Rs=(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}=yi(),m=r?.planMarkdown??null,h;t[0]===m?h=t[1]:(h=m?Yo(m):null,t[0]=m,t[1]=h);let g=h,_;t[2]===m?_=t[3]:(_=m?Jo(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&&rs(ts(m),ns(m))},t[7]=m,t[8]=x);let S=x,C;t[9]!==m||t[10]!==a?(C=()=>{let e=N();if(!e||!a||!m)return;let t=ts(m);d(!0),e.projects.writeFile({cwd:a,relativePath:t,contents:ns(m)}).then(zs).catch(Bs).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:ri(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)(At,{children:[(0,Q.jsx)(le,{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)(Pn,{className:`size-3.5`})}),(0,Q.jsxs)(Le,{align:`end`,children:[(0,Q.jsx)(Pt,{onClick:b,children:p?`Copied!`:`Copy to clipboard`}),(0,Q.jsx)(Pt,{onClick:S,children:`Download as markdown`}),(0,Q.jsx)(Pt,{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 P;t[35]===n?P=t[36]:(P=n?.explanation?(0,Q.jsx)(`p`,{className:`text-[13px] leading-relaxed text-muted-foreground/60`,children:n.explanation}):null,t[35]=n,t[36]=P);let F;t[37]===n?F=t[38]:(F=n&&n.steps.length>0?(0,Q.jsx)(`div`,{className:`space-y-px`,children:n.steps.map(Vs)}):null,t[37]=n,t[38]=F);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(Hs),children:[c?(0,Q.jsx)($n,{className:`size-3 shrink-0 text-muted-foreground/30`}):(0,Q.jsx)(Wn,{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)(Ki,{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]!==P||t[49]!==F||t[50]!==L||t[51]!==R?(z=(0,Q.jsx)(Mr,{className:`min-h-0 flex-1`,children:(0,Q.jsxs)(`div`,{className:`space-y-3 px-3 pb-3`,children:[P,F,L,R]})}),t[48]=P,t[49]=F,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 zs(e){mi.add({type:`success`,title:`Plan saved`,description:e.relativePath})}function Bs(e){mi.add({type:`error`,title:`Could not save plan`,description:e instanceof Error?e.message:`An error occurred.`})}function Vs(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)(Ls,{status:e.status})}),(0,Q.jsx)(`p`,{className:W(`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)(fi,{children:e.step}):e.step})]},`${e.status}:${e.step}`)}function Hs(e){return!e}var Us=Dn;function Ws(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)(zn,{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 Gs(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?(_=W(`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=W(`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)(Ln,{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)(er,{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)(Hn,{children:(0,Q.jsx)(Xn,{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 Ks=180,qs=.75,Js=260;function Ys(){return typeof window>`u`?280:Math.max(Ks,Math.floor(window.innerHeight*qs))}function Xs(e){let t=Number.isFinite(e)?e:280,n=Ys();return Math.min(Math.max(Math.round(t),Ks),n)}function Zs(e,t){e.write(`\r\n[terminal] ${t}\r\n`)}function Qs(e,t){e.write(`\x1Bc`),t.history.length>0&&e.write(t.history)}function $s(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 ec(e,t){return e.filter(e=>e.id>t)}function tc(e){if(!e)return``;let t=Object.entries(e);return t.length===0?``:JSON.stringify(t.toSorted(([e],[t])=>e.localeCompare(t)))}function nc(){return J()}function rc(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 ic(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 ac(e){return e>=2?Js:0}function oc(e,t){return e&&t===0}function sc(e){return e.type!==`keydown`||e.isComposing?null:e.key===`Enter`||e.code===`NumpadEnter`?`\r`:null}function cc({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)(()=>tc(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 oa,s=new O({cursorBlink:!0,lineHeight:1.2,fontSize:12,scrollback:5e3,fontFamily:`"Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace`,theme:nc()});s.loadAddon(o),s.open(n),o.fit(),f.current=s,p.current=o;let l=N();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=rc(n);return{position:ic({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){Zs(i,e instanceof Error?e.message:r)}};s.attachCustomKeyEventHandler(e=>{let t=sc(e);if(t!==null)return e.preventDefault(),e.stopPropagation(),D(t,`Failed to submit terminal command`),!1;let n=Jr(e);return n===null?Kr(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=Ri(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(!Ni(e))return;let n=f.current;if(n){if(t.kind===`url`){l.shell.openExternal(t.text).catch(e=>{Zs(n,e instanceof Error?e.message:`Unable to open link`)});return}Ci(l,Pi(t.text,r)).catch(e=>{Zs(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=>Zs(s,e instanceof Error?e.message:`Terminal write failed`))}),j=s.onSelectionChange(()=>{f.current?.hasSelection()||u()}),M=e=>{let t=oc(g.current,e.button);if(g.current=!1,!t)return;h.current={x:e.clientX,y:e.clientY};let n=ac(e.detail);y.current=window.setTimeout(()=>{y.current=null,window.requestAnimationFrame(()=>{E()})},n)},P=e=>{u(),g.current=e.button===0};window.addEventListener(`mouseup`,M),n.addEventListener(`pointerdown`,P);let F=new MutationObserver(()=>{let e=f.current;e&&(e.options.theme=nc(),e.refresh(0,e.rows-1))});F.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(),Qs(t,e.snapshot);return}if(e.type===`cleared`){u(),t.clear(),t.write(`\x1Bc`);return}if(e.type===`error`){Zs(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(`, `);Zs(t,n.length>0?`Process exited (${n})`:`Process exited`),!m.current&&(m.current=!0,window.setTimeout(()=>{m.current&&C()},0))},L=e=>{let t=ec(e,b.current);if(t.length!==0){for(let e of t)I(e.event);b.current=t.at(-1)?.id??b.current}},R=Bt.subscribe((n,r)=>{if(!x.current)return;let i=Vt(r.terminalEventEntriesByKey,e,t).at(-1)?.id??0,a=Vt(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=Vt(Bt.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;Qs(n,u);let d=Vt(Bt.getState().terminalEventEntriesByKey,e,t),m=$s(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;Zs(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`,P),F.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=N(),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 lc(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)(Ws,{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)(Gs,{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)(Us,{children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function uc({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)(()=>Xs(i)),[x,S]=(0,Z.useState)(0),C=(0,Z.useRef)(y),w=(0,Z.useRef)(Xs(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:[wt]},[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]),V=(0,Z.useCallback)(()=>{d()},[d]);(0,Z.useEffect)(()=>{T.current=_},[_]),(0,Z.useEffect)(()=>{C.current=y},[y]);let ee=(0,Z.useCallback)(e=>{let t=Xs(e);w.current!==t&&(w.current=t,T.current(t))},[]);(0,Z.useEffect)(()=>{let e=Xs(i);b(e),C.current=e,w.current=e},[i,e]);let te=(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})},[]),H=(0,Z.useCallback)(e=>{let t=E.current;if(!t||t.pointerId!==e.pointerId)return;e.preventDefault();let n=Xs(t.startHeight+(t.startY-e.clientY));n!==C.current&&(D.current=!0,C.current=n,b(n))},[]),ne=(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&&(ee(C.current),S(e=>e+1)))},[ee]);return(0,Z.useEffect)(()=>{if(!r)return;let e=()=>{let e=Xs(C.current);e!==C.current&&(b(e),C.current=e),E.current||ee(e),S(e=>e+1)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[ee,r]),(0,Z.useEffect)(()=>{r&&S(e=>e+1)},[r]),(0,Z.useEffect)(()=>()=>{ee(C.current)},[ee]),(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:te,onPointerMove:H,onPointerUp:ne,onPointerCancel:ne}),!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)(lc,{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)(an,{className:`size-3.25`})}),(0,Q.jsx)(`div`,{className:`h-4 w-px bg-border/80`}),(0,Q.jsx)(lc,{className:`p-1 text-foreground/90 transition-colors hover:bg-accent`,onClick:V,label:R,children:(0,Q.jsx)(Zt,{className:`size-3.25`})}),(0,Q.jsx)(`div`,{className:`h-4 w-px bg-border/80`}),(0,Q.jsx)(lc,{className:`p-1 text-foreground/90 transition-colors hover:bg-accent`,onClick:()=>g(k),label:z,children:(0,Q.jsx)(Jt,{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)(cc,{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)(cc,{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)(lc,{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)(an,{className:`size-3`})}),(0,Q.jsx)(lc,{className:`inline-flex size-[18px] items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,onClick:V,label:R,children:(0,Q.jsx)(Zt,{className:`size-3`})}),(0,Q.jsx)(lc,{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)(Jt,{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)(Us,{children:[(0,Q.jsx)(Ws,{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)(Gs,{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)(Us,{children:[(0,Q.jsx)(Ws,{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)(Gs,{tooltipStyle:!0,side:`bottom`,sideOffset:6,align:`center`,className:`pointer-events-none select-none`,children:n})]})]},e)})]},e.id)})})]})]})})]})}function dc(e){return e&&typeof e==`object`?e:null}function fc(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function pc(e){return typeof e==`boolean`?e:null}function mc(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(!n||n.kind!==`context-window.updated`)continue;let r=dc(n.payload),i=fc(r?.usedTokens);if(i===null||i<=0)continue;let a=fc(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:fc(r?.totalProcessedTokens),maxTokens:a,remainingTokens:s,usedPercentage:o,remainingPercentage:c,inputTokens:fc(r?.inputTokens),cachedInputTokens:fc(r?.cachedInputTokens),outputTokens:fc(r?.outputTokens),reasoningOutputTokens:fc(r?.reasoningOutputTokens),lastUsedTokens:fc(r?.lastUsedTokens),lastInputTokens:fc(r?.lastInputTokens),lastCachedInputTokens:fc(r?.lastCachedInputTokens),lastOutputTokens:fc(r?.lastOutputTokens),lastReasoningOutputTokens:fc(r?.lastReasoningOutputTokens),toolUses:fc(r?.toolUses),durationMs:fc(r?.durationMs),compactsAutomatically:pc(r?.compactsAutomatically)??!1,updatedAt:n.createdAt}}return null}function hc(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 gc=8,_c=.5;function vc(e,t){let n=t?.hasWideActions?780:620;return e!==null&&e<n}function yc(e,t){return t?.hasWideActions?e!==null&&e<780:!1}function bc(e){let t=e.footerContentWidth,n=e.leadingContentWidth,r=e.actionsWidth;return t===null||n===null||r===null?null:Math.max(0,n+r+gc-t)}function xc(e){let t=bc(e);return t===null?!1:t>_c}function Sc(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 Cc={text:``,linewise:!1},wc=``;function Tc(e=`insert`){return{mode:e,countBuffer:``,pendingOperator:null,pendingGCount:null,register:Cc,visualAnchor:null,awaitingReplace:null}}function Ec(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 Dc(e){let t=wo(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}`:wc;n.push({collapsedStart:i,collapsedEnd:i+1,expandedStart:r,expandedEnd:r+t.length,text:wc}),i+=1,r+=t.length}return n}function Oc(e){return e.map(e=>e.text).join(``)}function kc(e){return Oc(Dc(e)).length}function Ac(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===wc?t<=n.collapsedStart?n.expandedStart:n.expandedEnd:n.expandedStart+(t-n.collapsedStart)}return e[e.length-1]?.expandedEnd??0}function jc(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 Mc(e){return{...e,countBuffer:``,pendingOperator:null,pendingGCount:null,awaitingReplace:null}}function Nc(e,t,n,r=null){return{handled:!0,state:e,text:t,cursor:Fo(t,n),selection:r}}function Pc(e,t,n){return{handled:!1,state:e,text:t,cursor:n,selection:null}}function Fc(e){return/^[0-9]$/.test(e)}function Ic(e){return e===`Alt`||e===`Control`||e===`Meta`||e===`Shift`}function Lc(e){return e===void 0||/\s/.test(e)}function Rc(e){return e!==void 0&&!/\s/.test(e)}function zc(e,t){return e.lastIndexOf(`
|
|
252
|
+
`,Math.max(0,t-1))+1}function Bc(e,t){let n=e.indexOf(`
|
|
253
|
+
`,t);return n===-1?e.length:n}function Vc(e,t){let n=zc(e,t),r=Bc(e,t);return Math.max(n,r-1)}function Hc(e,t){let n=Bc(e,t);return n<e.length?n+1:n}function Uc(e,t){let n=zc(e,t),r=Bc(e,t),i=n;for(;i<r&&(e[i]===` `||e[i]===` `);)i+=1;return i}function Wc(e,t,n){let r=zc(e,t),i=Math.max(0,t-r),a=r;if(n>0)for(let t=0;t<n;t+=1){let t=Hc(e,a);if(t>=e.length)break;a=t}else for(let t=0;t<Math.abs(n)&&!(a<=0);t+=1)a=zc(e,a-1);let o=Bc(e,a);return Math.min(a+i,Math.max(a,o-1))}function Gc(e,t){let n=Math.min(t,e.length);if(n<e.length&&Rc(e[n]))for(;n<e.length&&Rc(e[n]);)n+=1;for(;n<e.length&&Lc(e[n]);)n+=1;return n}function Kc(e,t){let n=Math.max(0,t-1);for(;n>0&&Lc(e[n]);)--n;for(;n>0&&Rc(e[n-1]);)--n;return n}function qc(e,t){let n=Math.min(t,Math.max(0,e.length-1));if(Lc(e[n]))for(;n<e.length&&Lc(e[n]);)n+=1;else n+1<e.length&&Rc(e[n+1])&&(n+=1);for(;n+1<e.length&&Rc(e[n+1]);)n+=1;return Math.min(Math.max(0,e.length-1),n)}function Jc(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=Wc(e,i,1):n===`k`||n===`ArrowUp`?i=Wc(e,i,-1):n===`0`?i=zc(e,i):n===`^`?i=Uc(e,i):n===`$`?i=Vc(e,i):n===`w`||n===`W`?i=Gc(e,i):n===`b`||n===`B`?i=Kc(e,i):n===`e`||n===`E`?i=qc(e,i):n===`G`?i=zc(e,e.length):n===`g`&&(i=0);return i}function Yc(e,t,n){let r=zc(e,t),i=r;for(let t=0;t<Math.max(1,n)&&(i=Hc(e,i),!(i>=e.length));t+=1);return{start:r,end:i}}function Xc(e,t,n,r){return r?{start:zc(e,Math.min(t,n)),end:Hc(e,Math.max(t,n))}:{start:Math.min(t,n),end:Math.min(e.length,Math.max(t,n)+1)}}function Zc(e){let t=Dc(e.text),n=Math.max(0,Math.min(e.start,e.end)),r=Math.max(n,e.end),i=Ac(t,n),a=Ac(t,r);return{text:`${e.text.slice(0,i)}${e.replacement}${e.text.slice(a)}`,cursor:n+kc(e.replacement),removed:e.text.slice(i,a)}}function Qc(e,t,n,r){if(e!==`visual`&&e!==`visual-line`)return null;let i=Xc(t,n??r,r,e===`visual-line`);return{anchor:i.start,focus:i.end}}function $c(e,t,n){return{state:{...Mc(e),mode:t,visualAnchor:t===`visual`||t===`visual-line`?n:null},cursor:n}}function el(e){let t=e.before?zc(e.text,e.cursor):Hc(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:Zc({text:e.text,start:t,end:t,replacement:n}).text,cursor:t}}function tl(e){let t=e.before?e.cursor:Math.min(kc(e.text),e.cursor+1),n=e.register.text.repeat(Math.max(1,e.count)),r=Zc({text:e.text,start:t,end:t,replacement:n});return{text:r.text,cursor:Math.max(t,r.cursor-1)}}function nl(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=Zc({text:n,start:o,end:s,replacement:``});if(i===`yank`){let e=Dc(n),r=Ac(e,o),i=Ac(e,s);return Nc(Mc({...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,kc(c.text)-1));return Nc(Mc({...t,mode:l,visualAnchor:null,register:{text:c.removed,linewise:a}}),c.text,u)}function rl(e,t,n,r){let i=Jc(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 il(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 al(e,t){if(e.key===`Escape`||e.ctrlKey&&e.key===`[`){let n=$c(t,`normal`,Math.max(0,Fo(e.text,e.cursor)-1));return Nc(n.state,e.text,n.cursor)}return Pc(t,e.text,e.cursor)}function ol(e,t){let n=Oc(Dc(e.text)),r=Fo(e.text,e.cursor);if(e.key===`Escape`||e.ctrlKey&&e.key===`[`)return Nc($c(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=Xc(n,t.visualAnchor??r,r,t.mode===`visual-line`);return nl({state:t,text:e.text,range:a,operator:i,linewise:t.mode===`visual-line`})}if(il(e.key)){let i=Jc(n,r,e.key,jc(t.countBuffer)),a={...t,countBuffer:``};return Nc(a,e.text,i,Qc(a.mode,n,a.visualAnchor,i))}return Fc(e.key)&&(e.key!==`0`||t.countBuffer.length>0)?Nc({...t,countBuffer:`${t.countBuffer}${e.key}`,pendingGCount:null},e.text,r):Nc({...t,countBuffer:``},e.text,r,Qc(t.mode,n,t.visualAnchor,r))}function sl(e,t){let n=Ec(t),r=Oc(Dc(e.text)),i=Fo(e.text,e.cursor);if(Ic(e.key))return Pc(n,e.text,i);if(n.mode===`insert`)return al(e,n);if(n.mode===`visual`||n.mode===`visual-line`)return ol(e,n);if(n.awaitingReplace){if(e.key.length!==1||e.ctrlKey)return Nc({...n,awaitingReplace:null},e.text,i);let t=Zc({text:e.text,start:i,end:Math.min(r.length,i+n.awaitingReplace.count),replacement:e.key.repeat(n.awaitingReplace.count)});return Nc(Mc(n),t.text,i)}if(e.key===`Escape`||e.ctrlKey&&e.key===`[`)return Nc(Mc({...n,mode:`normal`,visualAnchor:null}),e.text,i);if(e.key===`u`&&!e.ctrlKey)return{...Nc(Mc(n),e.text,i),undo:!0};if(e.ctrlKey&&e.key.toLowerCase()===`r`)return{...Nc(Mc(n),e.text,i),redo:!0};if(Fc(e.key)&&(e.key!==`0`||n.countBuffer.length>0))return Nc({...n,countBuffer:`${n.countBuffer}${e.key}`,pendingGCount:null},e.text,i);let a=jc(n.countBuffer);if(n.pendingGCount!==null)return e.key===`g`?Nc(Mc(n),e.text,0):Nc(Mc(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 nl({state:o,text:e.text,range:Yc(r,i,t),operator:n.pendingOperator.operator,linewise:!0});if(il(e.key)){let a=rl(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 nl({state:o,text:e.text,range:a,operator:n.pendingOperator.operator,linewise:!1})}return Nc(Mc(n),e.text,i)}if(il(e.key)){if(e.key===`g`)return Nc({...n,countBuffer:``,pendingOperator:null,pendingGCount:a},e.text,i);let t=Jc(r,i,e.key,a);return Nc({...n,countBuffer:``},e.text,t)}if(e.key===`i`){let t=$c(n,`insert`,i);return Nc(t.state,e.text,t.cursor)}if(e.key===`a`){let t=$c(n,`insert`,Math.min(r.length,i+1));return Nc(t.state,e.text,t.cursor)}if(e.key===`I`){let t=$c(n,`insert`,Uc(r,i));return Nc(t.state,e.text,t.cursor)}if(e.key===`A`){let t=$c(n,`insert`,Bc(r,i));return Nc(t.state,e.text,t.cursor)}if(e.key===`o`||e.key===`O`){let t=Bc(r,i),a=e.key===`o`?Hc(r,i):zc(r,i);e.key;let o=Zc({text:e.text,start:a,end:a,replacement:`
|
|
255
|
+
`}),s=e.key===`o`&&t===r.length?a+1:a;return Nc($c(n,`insert`,s).state,o.text,s)}if(e.key===`v`||e.key===`V`){let t=$c(n,e.key===`v`?`visual`:`visual-line`,i);return Nc(t.state,e.text,i,Qc(t.state.mode,r,t.state.visualAnchor,i))}if(e.key===`x`)return nl({state:n,text:e.text,range:{start:i,end:Math.min(r.length,i+a)},operator:`delete`,linewise:!1});if(e.key===`X`)return nl({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 nl({state:n,text:e.text,range:{start:i,end:Bc(r,i)},operator:e.key===`D`?`delete`:`change`,linewise:!1});if(e.key===`Y`)return nl({state:n,text:e.text,range:Yc(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 Nc({...n,countBuffer:``,pendingOperator:{operator:t,count:a}},e.text,i)}if(e.key===`r`)return Nc({...n,countBuffer:``,awaitingReplace:{count:a}},e.text,i);if(e.key===`p`||e.key===`P`){if(!n.register.text)return Nc({...n,countBuffer:``},e.text,i);let t=n.register.linewise?el({text:e.text,cursor:i,register:n.register,count:a,before:e.key===`P`}):tl({text:e.text,cursor:i,register:n.register,count:a,before:e.key===`P`});return Nc({...n,countBuffer:``},t.text,t.cursor)}return Nc({...n,countBuffer:``},e.text,i)}var cl=`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`,ll=`size-3.5 shrink-0 opacity-85`,ul=`truncate select-none leading-tight`;function dl(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=W(cl,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=W(ll,`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:ul,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)(Vr,{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)(Xr,{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)(Yr,{children:[p,m]}),t[15]=p,t[16]=m,t[17]=h):h=t[17],h}function fl(e){let t=(0,X.c)(8),{context:n}=e,r;t[0]===n?r=t[1]:(r=St(n),t[0]=n,t[1]=r);let i=r,a;t[2]===n?a=t[3]:(a=lt(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)(dl,{label:i,tooltipText:s,expired:o}),t[4]=o,t[5]=i,t[6]=s,t[7]=c):c=t[7],c}var pl=`composer-editor-${Math.random().toString(36).slice(2)}`,ml=(0,Z.createContext)({onRemoveTerminalContext:()=>{}}),hl=class e extends ba{__path;static getType(){return`composer-mention`}static clone(t){return new e(t.__path,t.__key)}static importJSON(e){return gl(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=cl,t.contentEditable=`false`,t.setAttribute(`spellcheck`,`false`),Sl(t,this.__path),t}updateDOM(e,t,n){return t.contentEditable=`false`,(e.__text!==this.__text||e.__path!==this.__path)&&Sl(t,this.__path),!1}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}isTextEntity(){return!0}isToken(){return!0}};function gl(e){return la(new hl(e))}function _l(e){let t=(0,X.c)(2),n;return t[0]===e.context?n=t[1]:(n=(0,Q.jsx)(fl,{context:e.context}),t[0]=e.context,t[1]=n),n}var vl=class e extends Oa{__context;static getType(){return`composer-terminal-context`}static clone(t){return new e(t.__context,t.__key)}static importJSON(e){return yl(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)(_l,{context:this.__context})}};function yl(e){return la(new vl(e))}function bl(e){return e instanceof hl||e instanceof vl}function xl(){return document.documentElement.classList.contains(`dark`)?`dark`:`light`}function Sl(e,t){e.textContent=``,e.style.setProperty(`user-select`,`none`),e.style.setProperty(`-webkit-user-select`,`none`);let n=xl(),r=document.createElement(`img`);r.alt=``,r.ariaHidden=`true`,r.className=ll,r.loading=`lazy`,r.src=Vi(t,Bi(t),n);let i=document.createElement(`span`);i.className=ul,i.textContent=Wi(t),e.append(r,i)}function Cl(e){return e.map(e=>[e.id,e.threadId,e.terminalId,e.terminalLabel,e.lineStart,e.lineEnd,e.createdAt,e.text].join(``)).join(``)}function wl(e,t){return Number.isFinite(t)?Math.max(0,Math.min(e.length,Math.floor(t))):e.length}function Tl(e){return 1}function El(e){return e.getTextContentSize()}function Dl(e,t,n){return t+(n>0?Tl(e):0)}function Ol(e,t,n){return t+(n>0?El(e):0)}function kl(e,t){let n=e.getParent();if(!n||!ua(n))return null;let r=e.getIndexWithinParent();return t.value===0?{key:n.getKey(),offset:r,type:`element`}:t.value===Tl(e)?{key:n.getKey(),offset:r+1,type:`element`}:(t.value-=Tl(e),null)}function Al(e){return bl(e)?Tl(e):ca(e)?e.getTextContentSize():Da(e)?1:ua(e)?e.getChildren().reduce((e,t)=>e+Al(t),0):0}function jl(e){return bl(e)?El(e):ca(e)?e.getTextContentSize():Da(e)?1:ua(e)?e.getChildren().reduce((e,t)=>e+jl(t),0):0}function Ml(e,t){let n=0,r=e;for(;r;){let e=r.getParent();if(!e||!ua(e))break;let t=e.getChildren(),i=r.getIndexWithinParent();for(let e=0;e<i;e+=1){let r=t[e];r&&(n+=Al(r))}r=e}if(ca(e))return e instanceof hl?Dl(e,n,t):n+Math.min(t,e.getTextContentSize());if(e instanceof vl)return Dl(e,n,t);if(Da(e))return n+Math.min(t,1);if(ua(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+=Al(t))}return n}return n}function Nl(e,t){let n=0,r=e;for(;r;){let e=r.getParent();if(!e||!ua(e))break;let t=e.getChildren(),i=r.getIndexWithinParent();for(let e=0;e<i;e+=1){let r=t[e];r&&(n+=jl(r))}r=e}if(ca(e))return e instanceof hl?Ol(e,n,t):n+Math.min(t,e.getTextContentSize());if(e instanceof vl)return Ol(e,n,t);if(Da(e))return n+Math.min(t,1);if(ua(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+=jl(t))}return n}return n}function Pl(e,t){if(e instanceof hl||e instanceof vl)return kl(e,t);if(ca(e)){let n=e.getTextContentSize();return t.value<=n?{key:e.getKey(),offset:t.value,type:`text`}:(t.value-=n,null)}if(Da(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(ua(e)){let n=e.getChildren();for(let e of n){let n=Pl(e,t);if(n)return n}if(t.value===0)return{key:e.getKey(),offset:n.length,type:`element`}}return null}function Fl(){return ka().getChildren().reduce((e,t)=>e+Al(t),0)}function Il(e){let t=ka(),n=Fl(),r=Pl(t,{value:Math.max(0,Math.min(e,n))})??{key:t.getKey(),offset:t.getChildren().length,type:`element`},i=ga();i.anchor.set(r.key,r.offset,r.type),i.focus.set(r.key,r.offset,r.type),fa(i)}function Ll(e,t){let n=ka(),r=Fl(),i=Math.max(0,Math.min(e,r)),a=Math.max(0,Math.min(t,r)),o={value:i},s={value:a},c=Pl(n,o)??{key:n.getKey(),offset:n.getChildren().length,type:`element`},l=Pl(n,s)??{key:n.getKey(),offset:n.getChildren().length,type:`element`},u=ga();u.anchor.set(c.key,c.offset,c.type),u.focus.set(l.key,l.offset,l.type),fa(u)}function Rl(e){let t=Ca();if(!xa(t)||!t.isCollapsed())return e;let n=Ml(t.anchor.getNode(),t.anchor.offset),r=Fl();return Math.max(0,Math.min(n,r))}function zl(e){let t=Ca();if(!xa(t)||!t.isCollapsed())return e;let n=Nl(t.anchor.getNode(),t.anchor.offset),r=ka().getTextContent().length;return Math.max(0,Math.min(n,r))}function Bl(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(Y(r)),t<n.length-1&&e.append(da())}}function Vl(e,t){let n=ka();n.clear();let r=Ea();n.append(r);let i=wo(e,t);for(let e of i){if(e.type===`mention`){r.append(gl(e.path));continue}if(e.type===`terminal-context`){e.context&&r.append(yl(e.context));continue}Bl(r,e.text)}}function Hl(e){return e instanceof vl?[e.__context.id]:ua(e)?e.getChildren().flatMap(e=>Hl(e)):[]}function Ul(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(sa,e=>t(`ArrowDown`,e),3),i=n.registerCommand(_a,e=>t(`ArrowUp`,e),3),a=n.registerCommand(va,e=>t(`Enter`,e),3),o=n.registerCommand(ya,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 Wl(e){let t=(0,X.c)(19),[n]=E(),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Tc(`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=Tc(`insert`),o.current?.(null);return}i.current=Tc(`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(ha,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=ka().getTextContent(),c=Rl(a.current)});let l=i.current.mode,u=sl({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(ma,void 0),!0):u.redo?(n.dispatchCommand(Ta,void 0),!0):(n.update(()=>{if(u.text!==s&&Vl(u.text,e.terminalContexts),u.selection)Ll(u.selection.anchor,u.selection.focus);else{let e=u.cursor+1;u.state.mode===`normal`&&e<=u.text.length?Ll(u.cursor,e):Il(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 Gl(){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(wa,e=>{let n=null;if(t.getEditorState().read(()=>{let e=Ca();if(!xa(e)||!e.isCollapsed())return;let t=Rl(0);t<=0||Lo(ka().getTextContent(),t,`left`)&&(n=t-1)}),n===null)return!1;let r=n;return e?.preventDefault(),e?.stopPropagation(),t.update(()=>{Il(r)}),!0},3),n=t.registerCommand(Sa,e=>{let n=null;if(t.getEditorState().read(()=>{let e=Ca();if(!xa(e)||!e.isCollapsed())return;let t=Rl(0);t>=Fl()||Lo(ka().getTextContent(),t,`right`)&&(n=t+1)}),n===null)return!1;let r=n;return e?.preventDefault(),e?.stopPropagation(),t.update(()=>{Il(r)}),!0},3);return()=>{e(),n()}},r=[t],e[0]=t,e[1]=n,e[2]=r),(0,Z.useEffect)(n,r),null}function Kl(){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=Ca();if(!xa(e)||!e.isCollapsed())return;let t=e.anchor.getNode();bl(t)&&e.anchor.offset!==0&&(r=Ml(t,0)+1)}),r!==null&&queueMicrotask(()=>{t.update(()=>{Il(r)})})}),r=[t],e[0]=t,e[1]=n,e[2]=r),(0,Z.useEffect)(n,r),null}function ql(){let e=(0,X.c)(4),[t]=E(),{onRemoveTerminalContext:n}=(0,Z.useContext)(ml),r,i;return e[0]!==t||e[1]!==n?(r=()=>t.registerCommand(pa,e=>{let t=Ca();if(!xa(t)||!t.isCollapsed())return!1;let r=t.anchor.getNode(),i=Rl(0),a=t=>{if(!bl(t))return!1;let r=Ml(t,0);return t.remove(),t instanceof vl?(n(t.__context.id),Il(i)):Il(r),e?.preventDefault(),!0};if(a(r))return!0;if(ca(r)){if(t.anchor.offset>0)return!1;if(a(r.getPreviousSibling()))return!0;let e=r.getParent();if(ua(e)){let t=r.getIndexWithinParent();if(t>0&&a(e.getChildAtIndex(t-1)))return!0}return!1}if(ua(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 Jl(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=Fo(n,r),y;t[0]===i?y=t[1]:(y=Cl(i),t[0]=i,t[1]=y);let x=y,w=(0,Z.useRef)(x),O=Mo(n,v),k;t[2]===i?k=t[3]:(k=i.map(Xl),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 V,ee;t[16]!==a||t[17]!==g?(V=()=>{g.setEditable(!a)},ee=[a,g],t[16]=a,t[17]=g,t[18]=V,t[19]=ee):(V=t[18],ee=t[19]),(0,Z.useEffect)(V,ee);let te,H;t[20]===c?(te=t[21],H=t[22]):(te=()=>{P(c?`insert`:null)},H=[c],t[20]=c,t[21]=te,t[22]=H),(0,Z.useEffect)(te,H);let ne;t[23]===u?ne=t[24]:(ne=e=>{P(e),u?.(e)},t[23]=u,t[24]=ne);let re=ne,U,ie;t[25]!==r||t[26]!==g||t[27]!==i||t[28]!==x||t[29]!==n?(U=()=>{let e=Fo(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:Mo(n,e),terminalContextIds:i.map(Yl)},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&&Vl(n,i),(r||s)&&Il(e)}),queueMicrotask(()=>{F.current=!1}))},ie=[r,g,i,x,n],t[25]=r,t[26]=g,t[27]=i,t[28]=x,t[29]=n,t[30]=U,t[31]=ie):(U=t[30],ie=t[31]),(0,Z.useLayoutEffect)(U,ie);let ae;t[32]===g?ae=t[33]:(ae=e=>{let t=g.getRootElement();if(!t)return;let n=Fo(j.current.value,e);t.focus(),g.update(()=>{Il(n)}),j.current={value:j.current.value,cursor:n,expandedCursor:Mo(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]=ae);let oe=ae,se;t[34]===g?se=t[35]:(se=()=>{let e;return e=j.current,g.getEditorState().read(()=>{let t=ka().getTextContent();e={value:t,cursor:Fo(t,Rl(Fo(t,j.current.cursor))),expandedCursor:wl(t,zl(wl(t,j.current.expandedCursor))),terminalContextIds:Hl(ka())}}),j.current=e,e},t[34]=g,t[35]=se);let ce=se,le,ue;t[36]!==oe||t[37]!==ce?(le=()=>({focus:()=>{oe(j.current.cursor)},focusAt:oe,focusAtEnd:()=>{oe(Io(j.current.value,j.current.value.length))},readSnapshot:ce}),ue=[oe,ce],t[36]=oe,t[37]=ce,t[38]=le,t[39]=ue):(le=t[38],ue=t[39]),(0,Z.useImperativeHandle)(h,le,ue);let de;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(de=e=>{e.read(()=>{let e=ka().getTextContent(),t=Fo(e,Rl(Fo(e,j.current.cursor))),n=wl(e,zl(wl(e,j.current.expandedCursor))),r=Hl(ka()),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=Lo(e,t,`left`)||Lo(e,t,`right`);_.current(e,t,n,a,r)})},t[40]=de):de=t[40];let fe=de,pe;t[41]===s?pe=t[42]:(pe=W(`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]!==re||t[58]!==i||t[59]!==n||t[60]!==l||t[61]!==c?(be=(0,Q.jsx)(Wl,{enabled:c,commandMenuActive:l,value:n,cursor:r,terminalContexts:i,onModeChange:re}),t[56]=r,t[57]=re,t[58]=i,t[59]=n,t[60]=l,t[61]=c,t[62]=be):be=t[62];let G;t[63]===p?G=t[64]:(G=(0,Q.jsx)(Ul,{...p?{onCommandKeyDown:p}:{}}),t[63]=p,t[64]=G);let xe,Se,Ce,we;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,Q.jsx)(Gl,{}),Se=(0,Q.jsx)(Kl,{}),Ce=(0,Q.jsx)(ql,{}),we=(0,Q.jsx)(T,{}),t[65]=xe,t[66]=Se,t[67]=Ce,t[68]=we):(xe=t[65],Se=t[66],Ce=t[67],we=t[68]);let Te;t[69]!==ve||t[70]!==be||t[71]!==G?(Te=(0,Q.jsxs)(`div`,{className:`relative min-w-0`,children:[ve,ye,be,G,xe,Se,Ce,we]}),t[69]=ve,t[70]=be,t[71]=G,t[72]=Te):Te=t[72];let Ee;return t[73]!==Te||t[74]!==R?(Ee=(0,Q.jsx)(ml.Provider,{value:R,children:Te}),t[73]=Te,t[74]=R,t[75]=Ee):Ee=t[75],Ee}function Yl(e){return e.id}function Xl(e){return e.id}var Zl=(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:[hl,vl],editorState:()=>{Vl(g.current,_.current)},onError:Ql},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)(Jl,{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})},pl),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 Ql(e){throw e}function $l({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=ms(s),b=ms(_),x=p(Ar({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(Dr({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)(Ia,{open:e,onOpenChange:e=>{C.isPending||r(e)},children:(0,Q.jsxs)(Fa,{className:`max-w-xl`,children:[(0,Q.jsxs)(Aa,{children:[(0,Q.jsx)(ja,{children:`Checkout Pull Request`}),(0,Q.jsx)(Pa,{children:`Resolve a GitHub pull request, then create the draft thread in the main repo or in a dedicated worktree.`})]}),(0,Q.jsxs)(Na,{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)(jr,{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:W(`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)(fi,{children:`Resolving pull request`})}):null,O?(0,Q.jsx)(`p`,{className:`text-destructive text-xs`,children:O}):null]}),(0,Q.jsxs)(Ma,{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)(fi,{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)(fi,{children:`Preparing worktree`}):`Worktree`})]})]})})}var eu=new WeakMap;function tu(e){return typeof e.additions!=`number`||typeof e.deletions!=`number`?null:{additions:e.additions,deletions:e.deletions}}function nu(e){let t=eu.get(e);if(t)return t;let n=e.reduce((e,t)=>{let n=tu(t);return n?{additions:e.additions+n.additions,deletions:e.deletions+n.deletions}:e},{additions:0,deletions:0});return eu.set(e,n),n}function ru(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 iu=(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:au},t[0]=p):p=t[0];let{copyToClipboard:m,isCopied:h}=yi(p),g=(0,Z.useId)(),_;t[1]===n?_=t[2]:(_=Jo(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=Yo(n),t[3]=n,t[4]=x);let S=x,C;t[5]!==b||t[6]!==n?(C=b?Xo(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=ts(n),t[8]=n,t[9]=T);let E=T,D;t[10]===n?D=t[11]:(D=ns(n),t[10]=n,t[11]=D);let O=D,k;t[12]!==E||t[13]!==O?(k=()=>{rs(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,P;t[18]!==E||t[19]!==i?(P=()=>{if(!i){mi.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]=P):P=t[20];let F=P,L;t[21]!==O||t[22]!==l||t[23]!==i?(L=()=>{let e=N(),t=l.trim();if(!(!e||!i)){if(!t){mi.add({type:`warning`,title:`Enter a workspace path`});return}f(!0),e.projects.writeFile({cwd:i,relativePath:t,contents:O}).then(e=>{c(!1),mi.add({type:`success`,title:`Plan saved to workspace`,description:e.relativePath})}).catch(ou).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=W(Ui,`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 V;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,Q.jsx)(le,{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)(Pn,{"aria-hidden":`true`,className:`size-3.5`})}),t[28]=V):V=t[28];let ee=h?`Copied!`:`Copy to clipboard`,te;t[29]!==M||t[30]!==ee?(te=(0,Q.jsx)(Pt,{onClick:M,children:ee}),t[29]=M,t[30]=ee,t[31]=te):te=t[31];let H;t[32]===A?H=t[33]:(H=(0,Q.jsx)(Pt,{onClick:A,children:`Download as markdown`}),t[32]=A,t[33]=H);let ne=!i||d,re;t[34]!==F||t[35]!==ne?(re=(0,Q.jsx)(Pt,{onClick:F,disabled:ne,children:`Save to workspace`}),t[34]=F,t[35]=ne,t[36]=re):re=t[36];let U;t[37]!==te||t[38]!==H||t[39]!==re?(U=(0,Q.jsxs)(At,{children:[V,(0,Q.jsxs)(Le,{align:`end`,children:[te,H,re]})]}),t[37]=te,t[38]=H,t[39]=re,t[40]=U):U=t[40];let ie;t[41]!==B||t[42]!==U?(ie=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[B,U]}),t[41]=B,t[42]=U,t[43]=ie):ie=t[43];let ae=b&&!a&&`max-h-80 overflow-hidden`,oe;t[44]===ae?oe=t[45]:(oe=W(`relative`,ae),t[44]=ae,t[45]=oe);let se;t[46]!==b||t[47]!==w||t[48]!==r||t[49]!==S||t[50]!==a?(se=b&&!a?(0,Q.jsx)(Ki,{text:w??``,cwd:r,isStreaming:!1}):(0,Q.jsx)(Ki,{text:S,cwd:r,isStreaming:!1}),t[46]=b,t[47]=w,t[48]=r,t[49]=S,t[50]=a,t[51]=se):se=t[51];let ce;t[52]!==b||t[53]!==a?(ce=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]=ce):ce=t[54];let ue;t[55]!==oe||t[56]!==se||t[57]!==ce?(ue=(0,Q.jsxs)(`div`,{className:oe,children:[se,ce]}),t[55]=oe,t[56]=se,t[57]=ce,t[58]=ue):ue=t[58];let de;t[59]!==b||t[60]!==a?(de=b?(0,Q.jsx)(`button`,{type:`button`,"data-scroll-anchor-ignore":!0,onClick:()=>o(su),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]=de):de=t[61];let fe;t[62]!==ue||t[63]!==de?(fe=(0,Q.jsxs)(`div`,{className:`mt-2`,children:[ue,de]}),t[62]=ue,t[63]=de,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)(ja,{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)(Aa,{children:[me,(0,Q.jsxs)(Pa,{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:W(Ui,`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)(jr,{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)(Na,{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 G;t[80]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>c(!1),t[80]=G):G=t[80];let xe;t[81]===d?xe=t[82]:(xe=(0,Q.jsx)(I,{variant:`outline`,size:`sm`,onClick:G,disabled:d,children:`Cancel`}),t[81]=d,t[82]=xe);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]!==xe||t[90]!==we?(Te=(0,Q.jsxs)(Ma,{children:[xe,we]}),t[89]=xe,t[90]=we,t[91]=Te):Te=t[91];let Ee;t[92]!==ge||t[93]!==be||t[94]!==Te?(Ee=(0,Q.jsxs)(Fa,{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)(Ia,{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]!==ie||t[101]!==fe||t[102]!==De?(Oe=(0,Q.jsxs)(`div`,{className:`border-l-2 border-primary/25 pl-4`,children:[ie,fe,De]}),t[100]=ie,t[101]=fe,t[102]=De,t[103]=Oe):Oe=t[103],Oe});function au(e){mi.add({type:`error`,title:`Could not copy plan`,description:e instanceof Error?e.message:`An error occurred while copying.`})}function ou(e){mi.add({type:`error`,title:`Could not save plan`,description:e instanceof Error?e.message:`An error occurred while saving.`})}function su(e){return!e}function cu(e){return e.additions>0||e.deletions>0}var lu=(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}),uu=200,du=new WeakMap,fu=new Map;function pu(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.substring(t+1):e}var mu={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 hu(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 mu[e.substring(t+1).toLowerCase()]??`text`}var gu=new Map,_u=Pr(()=>import(`./dist-DNQcGyCm.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]));function vu(e){let t=gu.get(e);if(t)return t;let n=_u.then(({getSharedHighlighter:t})=>t({themes:[Fi(`dark`),Fi(`light`)],langs:[e],preferredHighlighter:`shiki-js`})).catch(t=>{if(gu.delete(e),e===`text`)throw t;return vu(`text`)});return gu.set(e,n),n}function yu(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function bu(e){return typeof e==`string`&&e.length>0?e:null}function xu(e){let t=yu(e),n=Array.isArray(t?.display)?t.display:null;if(!n)return null;for(let e of n){let t=yu(e);if(t?.type!==`diff`)continue;let n=bu(t.old_text),r=bu(t.new_text);if(n!=null&&r!=null)return{oldText:n,newText:r,path:bu(t.path)}}return null}function Su(e){let t=yu(e);if(!t)return null;let n=yu(t.result);if(n){let e=n.content;if(Array.isArray(e))for(let t of e){let e=yu(t);if(e?.type===`text`&&typeof e.text==`string`)try{let t=yu(JSON.parse(e.text));if(t)return t}catch{}}return n}return t}function Cu(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 wu(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 Tu(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 Eu(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 Du=80,Ou=new Set([`write`,`write_file`,`writefile`]),ku=`strreplacefile`;function Au(e){return e.replace(/[.\s-]+/g,`_`).trim().toLowerCase()}function ju(e,t){let n=t??``;if(e&&typeof e==`object`){let t=du.get(e)?.get(n);if(t!==void 0)return t}else{let t=`${typeof e}:${String(e)}\u0000${n}`,r=fu.get(t);if(r!==void 0)return r}let r=t=>{if(e&&typeof e==`object`){let r=e,i=du.get(r);return i?i.set(n,t):du.set(r,new Map([[n,t]])),t}let r=`${typeof e}:${String(e)}\u0000${n}`;if(fu.set(r,t),fu.size>uu){let e=fu.keys().next().value;typeof e==`string`&&fu.delete(e)}return t},i=yu(e),a=Su(e);if(!a)return r(null);let o=yu(a.input),s=yu(i?.input),c=yu(o?.edit),l=yu(s?.edit),u=bu(i?.toolName)??bu(a.toolName)??null,d=u===null?null:Au(u),f=bu(a.filePath)??bu(a.path)??bu(a.relativePath)??bu(a.filename)??bu(s?.path)??bu(s?.file_path)??bu(o?.file_path)??bu(o?.path)??t??null;if(Array.isArray(a.structuredPatch)&&a.structuredPatch.length>0){let e=Eu(a.structuredPatch);if(e.length>0)return r(Mu(f,e))}let p=bu(yu(a.gitDiff)?.patch);if(p){let e=wu(p);if(e.length>0)return r(Mu(f,e))}let m=bu(a.patch)??bu(a.diff);if(m){let e=wu(m);if(e.length>0)return r(Mu(f??Tu(m),e))}let h=bu(o?.patch)??bu(s?.patch);if(h){let e=wu(h);if(e.length>0)return r(Mu(f??Tu(h),e))}let g=d===ku?xu(a)??xu(i?.result)??xu(i):null;if(g){let e=Cu(g.oldText,g.newText);if(e.length>0)return r(Mu(f??g.path,e))}let _=bu(o?.old_string)??bu(s?.old_string)??bu(c?.old)??bu(l?.old)??bu(a.oldString)??bu(i?.oldString),v=bu(o?.new_string)??bu(s?.new_string)??bu(c?.new)??bu(l?.new)??bu(a.newString)??bu(i?.newString);if(_!=null&&v!=null){let e=Cu(_,v);if(e.length>0)return r(Mu(f,e))}let y=d!==null&&Ou.has(d),b=bu(s?.content)??bu(o?.content);if(b!=null&&(y||f!==null)){let e=Cu(``,b);if(e.length>0)return r(Mu(f,e))}let x=yu(a.item);if(x&&Array.isArray(x.changes))for(let e of x.changes){let t=yu(e);if(!t)continue;let n=bu(t.path),i=bu(t.diff);if(i){let e=wu(i);if(e.length>0)return r(Mu(n??f,e))}}return r(null)}function Mu(e,t){let n=t.length>Du?t.slice(0,Du):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 Nu={added:`bg-success/8 text-foreground/85`,removed:`bg-destructive/8 text-foreground/85`,context:`text-foreground/60`},Pu={added:`text-success/60`,removed:`text-destructive/60`,context:`text-foreground/30`},Fu={added:`+`,removed:`-`,context:` `},Iu=(0,Z.memo)(function(e){let t=(0,X.c)(46),{diff:n,className:r}=e,{copyToClipboard:i,isCopied:a}=yi(),{resolvedTheme:o}=zi(),s;t[0]===o?s=t[1]:(s=Fi(o),t[0]=o,t[1]=s);let c=s,l,u;t[2]===n.filePath?u=t[3]:(u=hu(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(Ru).join(`
|
|
262
|
+
`);return vu(d).then(n=>{if(e)return;let r=n.codeToTokens(t,{lang:d,theme:c});e||p(r.tokens)}).catch(zu),()=>{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=W(`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=W(Ui,`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:pu(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)(un,{className:`size-3.5 text-success`}):(0,Q.jsx)(mn,{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=W(Ui,`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:W(`flex`,Nu[e.type]),children:[(0,Q.jsx)(`span`,{className:W(`select-none border-r border-border/30 px-2 text-right`,Pu[e.type]),style:{minWidth:`${v+2}ch`},children:e.oldLineNo??e.newLineNo??``}),(0,Q.jsx)(`span`,{className:W(`select-none px-1`,Pu[e.type]),"aria-hidden":`true`,children:Fu[e.type]}),(0,Q.jsx)(`span`,{className:`flex-1 whitespace-pre pr-3`,children:(0,Q.jsx)(Lu,{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>=Du&&(0,Q.jsx)(`div`,{className:W(`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}),Lu=(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(Bu),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 Ru(e){return e.content}function zu(){}function Bu(e){return(0,Q.jsx)(`span`,{style:e.color?{color:e.color}:void 0,children:e.content},`${e.offset}:${e.content.length}`)}var Vu=(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}=yi(),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)(un,{className:`size-3 text-success`}):(0,Q.jsx)(mn,{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}),Hu=2,Uu=24,Wu=`data-item-clamped-viewport`,Gu=`data-item-clamped-viewport-item`;function Ku(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>Hu)},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(Ju(qu(e),o)),x(e),y(e)};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);for(let t of qu(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<=Uu&&(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=W(`relative`,r),t[22]=r,t[23]=O);let k;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(k={[Wu]:``},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=W(`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 qu(e){return Array.from(e.querySelectorAll(`[${Gu}]`)).filter(t=>t.closest(`[${Wu}]`)===e)}function Ju(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 Yu=/^(.*?)\s+line(?:s)?\s+(\d+)(?:-(\d+))?$/i;function Xu(e){return e.map(e=>e.header.trim()).filter(e=>e.length>0).map(Zu).join(` `)}function Zu(e){let t=e.trim(),n=Yu.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,`-`)}`:at({terminalLabel:n[1]?.trim()||`terminal`,lineStart:r,lineEnd:i})}function Qu(e,t){let n=0;for(let r of t){let t=Zu(r.header),i=e.indexOf(t,n);if(i===-1)return!1;n=i+t.length}return!0}var $u=72,ed=56,td=22,nd=22.75,rd=33,id=88,ad=2,od=228,sd=.75,cd=32,ld=8,ud=7.2,dd=7.2,fd=4,pd=20;function md(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 hd(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}function gd(e){if(!hd(e))return ed;let t=e*sd,n=Math.max(t-cd,0);return Math.max(fd,Math.floor(n/ud))}function _d(e){if(!hd(e))return $u;let t=Math.max(e-ld,0);return Math.max(pd,Math.floor(t/dd))}function vd(e,t={timelineWidthPx:null}){if(e.role===`assistant`){let n=_d(t.timelineWidthPx);return rd+md(e.text,n)*nd}if(e.role===`user`){let n=gd(t.timelineWidthPx),r=Ot(e.text),i=md(r.contexts.length>0?[Xu(r.contexts),r.visibleText].filter(e=>e.length>0).join(` `):r.visibleText,n),a=e.attachments?.length??0,o=Math.ceil(a/ad)*od;return id+i*td+o}let n=_d(t.timelineWidthPx);return rd+md(e.text,n)*nd}var yd=new WeakMap;function bd(e){return Math.max(1,e.split(/\r?\n/g).length)}function xd(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function Sd(e){let t=e.content;if(typeof t==`string`&&t.length>0)return t;let n=xd(e.result)?.content;if(typeof n==`string`&&n.length>0)return n;let r=xd(e.item);if(r){let e=r.content;if(typeof e==`string`&&e.length>0)return e;let t=xd(r.result)?.content;if(typeof t==`string`&&t.length>0)return t}return null}function Cd(e){let t=yd.get(e);if(t)return t;let n=e,r=Sd(n);if(r!==null){let t={text:r,lineCount:bd(r),format:`text`};return yd.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:bd(r),format:`text`};return yd.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:bd(t),format:`text`};return yd.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 yd.set(e,t),t}try{let t=JSON.stringify(e,null,2),n={text:typeof t==`string`?t:null,lineCount:typeof t==`string`?bd(t):1,format:`json`};return yd.set(e,n),n}catch{let t={text:null,lineCount:1,format:`text`};return yd.set(e,t),t}}function wd(e){if(e==null)return{text:null,lineCount:0,format:`text`};if(typeof e==`string`)return{text:e||null,lineCount:e.length>0?bd(e):0,format:`text`};if(typeof e==`object`)return Cd(e);try{let t=JSON.stringify(e,null,2);return{text:typeof t==`string`?t:null,lineCount:typeof t==`string`?bd(t):1,format:`json`}}catch{return{text:null,lineCount:1,format:`text`}}}function Td(e){let t=e.itemId?.trim();return t&&t.length>0?`work-item:${t}`:e.id}function Ed(e,t){let n=t?.[e.expansionId];return n===void 0?t?.[e.id]:n}function Dd(e){return e.groupedEntries.some(e=>e.running)||e.stickyInProgress?!0:e.childRows.some(e=>Dd(e))}function Od(e,t){let n=Ed(e,t);return n===void 0?Dd(e):n}function kd(e,t){return Ed(e,t)??!1}function Ad(e){return e.role===`assistant`&&e.text.trim().length===0}function jd(e){if(e.groupedEntries.length>1||(e.inlineEntries?.length??0)>0)return!0;let t=e.groupedEntries[0];return!!(t?.running&&!Ef(t))}function Md(e){return`work-entry:${e}`}function Nd(e){return`turn-work:${e}`}function Pd(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 Fd(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 Id(e){return e.replace(/\s+(?:start|started|complete|completed)\s*$/i,``).trim()}var Ld=new Set([`read file`,`list directory`]),Rd=new Set([`read`,`read file`,`view`]),zd=new Set([`list`,`list directory`,`ls`]),Bd=new Set([`ack`,`ag`,`fd`,`find`,`glob`,`grep`,`rg`,`ripgrep`,`search`,`web search`]),Vd=new Set([`create file`]),Hd=new Set([`delete file`]),Ud=[`cat`,`fd`,`find`,`grep`,`head`,`less`,`ls`,`pwd`,`read`,`rg`,`sed`,`stat`,`tail`,`tree`],Wd=new Set([`oldPath`,`old_path`,`prevPath`,`prev_path`]),Gd=new Set([`newPath`,`new_path`]),Kd=/(^new file mode\b|^--- \/dev\/null$)/m,qd=/(^deleted file mode\b|^\+\+\+ \/dev\/null$)/m,Jd=`/dev/null`;function Yd(e){return Id(e.toolTitle??e.label).replace(/[._-]/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function Xd(e){let t=Yd(e);return t===`runtime warning`||t===`runtime error`}function Zd(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 Qd(e){return Be($d(e))}function $d(e){return e?$(/^([A-Za-z][A-Za-z0-9 _-]{1,48}):\s*[[{"]/u.exec(e.trim())?.[1]):null}function ef(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 Zd(JSON.parse(t[1]))}catch{return null}}function tf(e){return Be(nf(e))||Qd(e.detail)}function nf(e){return $(dt(e.output)?.toolName)??$(e.toolTitle)??$d(e.detail)}function rf(e){return(dt(e.output)?.input??null)||ef(e.detail)}function af(e,t){return e.itemType===`mcp_tool_call`||t?.startsWith(`mcp `)===!0||Yd(e)===`mcp tool call`}function of(e){return af(e,tf(e))}function sf(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[._-]+/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function cf(e){let t=nf(e);if(t){let e=sf(/^mcp__([^_]+(?:_[^_]+)*)__([\s\S]+)$/u.exec(t)?.[2]??t.replace(/^mcp[_\s-]+/iu,``));if(e.length>0&&e!==`tool call`)return e}let n=Yd(e);return n!==`mcp tool call`&&n.length>0?n:`tool`}function lf(e,t,n=0){if(n>5)return!1;if(Array.isArray(e))return e.some(e=>lf(e,t,n+1));let r=Zd(e);if(!r)return!1;for(let[e,i]of Object.entries(r))if(t.has(e)&&$(i)===Jd||lf(i,t,n+1))return!0;return!1}function uf(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=>uf(e,t,n+1));let r=Zd(e);return r?Object.values(r).some(e=>uf(e,t,n+1)):!1}function df(e){let t=tf(e);return t&&Vd.has(t)?`create`:t&&Hd.has(t)?`delete`:lf(e.output,Wd)||uf(e.output,Kd)?`create`:lf(e.output,Gd)||uf(e.output,qd)?`delete`:e.requestKind===`file-change`||e.itemType===`file_change`||ce(t)===`file-change`?`edit`:null}function ff(e){return df(e)!==null}function pf(e){return tf(e)===`skill`}function mf(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 hf(e){return e?Rd.has(e)?`read`:zd.has(e)?`list`:Bd.has(e)?`search`:null:null}function gf(e){return He(e)}function _f(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 vf(e){let t=e.detail??e.changedFiles?.[0]??null;return t?_f(t)?null:t:null}function yf(e){return e.replace(/[._-]/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function bf(e,t){return t?yf(e)===yf(t)?null:t:null}function xf(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 Sf(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||yf(n)===`file`?null:n}function Cf(e){if(e.providerToolPath)return e.providerToolPath;let t=bf(e.action,e.explicitDetail);return t?Sf(t):null}function wf(e){return(e.command??e.detail??``).trim().toLowerCase()}function Tf(e){let t=wf(e);return t.length===0?!1:t.split(/&&|\|\||[;|]/g).map(e=>e.trim()).filter(e=>e.length>0).some(e=>Ud.some(t=>e===t||e.startsWith(`${t} `)))}function Ef(e){if(e.requestKind===`file-read`||e.itemType===`image_view`||e.itemType===`web_search`)return!0;let t=Yd(e);return Ld.has(t)||t.includes(`search`)||hf(tf(e))!==null?!0:e.requestKind===`command`||e.itemType===`command_execution`?Tf(e):!1}function Df(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 Of(e){return e?$(e.skill)??$(e.skill_name)??$(e.skillName)??$(e.name):null}function kf(e){return $(e?.tool_use_id)??$(e?.toolUseId)}function Af(e){if(!e)return null;let t=$(e.content);if(t)return t;if(Array.isArray(e.content)){let t=e.content.map(e=>$(Zd(e)?.text)).filter(e=>e!==null).join(`
|
|
264
|
+
|
|
265
|
+
`);return t.length>0?t:null}return null}function jf(e){return e?Zd(e.content)??e:null}function Mf(e){if(tf(e)!==`skill`)return null;let t=rf(e),n=Zd(dt(e.output)?.result),r=jf(n);return{skillName:Of(t)??$(r?.skill)??$(r?.name),skillPath:$(r?.path),skillMarkdown:$(r?.content),toolUseId:kf(n),resultText:Af(n)}}function Nf(e){if(e.itemType!==`collab_agent_tool_call`)return null;let t=rf(e);if(!t)return null;let n=Zd(dt(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:kf(n),resultText:Af(n)}}function Pf(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]?Zd(n[0]):null)?.question)}function Ff(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 If(e){if(!e)return null;let t=(Array.isArray(e.todos)?e.todos:null)?.filter(e=>{let t=Zd(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 Lf(e){let t=Pe(e.providerToolInput),n=Ce(e.providerToolInput),r=G(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 Rf(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=Zd(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 zf(e){let t=_e(e.providerToolInput),n=Te(e.providerToolInput),r=De(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 Bf=/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|`([^`\\]|\\.)*`|[^\s]+/g,Vf=new Set([`ack`,`ag`,`fd`,`find`,`grep`,`rg`]),Hf=new Set([`bat`,`cat`,`head`,`less`,`more`,`read`,`sed`,`tail`]),Uf=new Set([`dir`,`ls`,`pwd`,`stat`,`tree`]),Wf=new Set([`awk`,`cat`,`cut`,`grep`,`head`,`jq`,`sed`,`sort`,`tail`,`tr`,`uniq`,`wc`]);function Gf(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 Kf(e){let t=e.match(Bf);return t?t.map(Gf).filter(e=>e.length>0):[]}function qf(e){if(!e)return``;let t=e.replace(/\\/g,`/`);return(t.split(`/`).at(-1)??t).toLowerCase()}function Jf(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 Yf(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(!(!n||n===`--`||n.startsWith(`-`)))return n}return null}function Xf(e){let t=Kf(e);if(t.length===0)return null;let n=qf(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:Jf(r),monospace:!0,dedupeKey:null}}if(Vf.has(n))return{kind:`search`,action:`Searched for`,detail:Jf(r),monospace:!1,dedupeKey:null};if(Hf.has(n)){let e=Yf(r);return{kind:`read`,action:`Read`,detail:e,monospace:!0,dedupeKey:e?`read:${e}`:null}}return Uf.has(n)?{kind:`list`,action:`Listed`,detail:n===`pwd`?null:Yf(r)??Jf(r),monospace:!0,dedupeKey:null}:null}function Zf(e){return e.label.trim().toLowerCase()===`status update`}function Qf(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 $f(e){return Zf(e)&&!Qf(e)}function ep(e){if(!e)return!1;let t=Kf(e);if(t.length===0)return!1;let n=qf(t[0]);return Wf.has(n)?!t.some(e=>e===`--`||e.includes(`/`)||e.includes(`\\`)||e.startsWith(`.`)||e.startsWith(`~`)):!1}function tp(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 np(e){let t=Yd(e),n=vf(e),r=e.running===!0,i=rf(e),a=tf(e),o=hf(a),s=je(i),c=_e(i),l=df(e),u=Df(i),d=Of(i),f=Pf(i),p=Ff(i),m=If(i),h=Rf(i);if(Xd(e))return{kind:`other`,action:t===`runtime error`?`Runtime error`:`Runtime warning`,detail:null,monospace:!1,dedupeKey:null};if(af(e,a))return{kind:`other`,action:r?`Using MCP`:`Used MCP`,detail:cf(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&&Lt(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&&ue(a))return Lf({toolName:a,providerToolInput:i,running:r,fallbackDetail:n});if(gf(a))return{kind:`other`,action:r?`Updating`:`Updated`,detail:m,monospace:!1,dedupeKey:null};if(a&&ye(a))return{kind:`other`,action:r?`Requesting input`:`Requested input`,detail:f??n,monospace:!1,dedupeKey:null};if(l){let e=mf({operation:l,running:r,providerToolName:a});return{kind:`edit`,action:e,detail:Cf({action:e,explicitDetail:n,providerToolPath:s}),monospace:!0,dedupeKey:null}}if(e.itemType===`web_search`)return zf({providerToolInput:i,running:r,fallbackDetail:n||e.command||null});if(o===`list`){let t=xf(`list`,n);return s===null&&Zf(e)&&ep(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=xf(`read`,n);return s===null&&Zf(e)&&ep(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=xf(`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=xf(`read`,n);return Zf(e)&&ep(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(Ef(e)){let t=Xf(e.command??e.detail??``);if(t)return r?{...t,action:tp(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?Id(e.toolTitle):Id(e.label),_=g.length>0?`${g.charAt(0).toUpperCase()}${g.slice(1)}`:g;return{kind:`other`,action:_,detail:bf(_,e.command||n||null),monospace:!1,dedupeKey:null}}function rp(e,t,n=ip(t)){return`${e} ${e===1?t:n}`}function ip(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 ap(e){if(e.count<=0)return null;let t=rp(e.count,e.singular,e.plural);return{leadingVerb:e.leadingVerb,leadingRest:t,trailing:`${e.trailingVerb} ${t}`}}function op(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 sp(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=np(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 cp(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 sp(e)){let e=tf(d),f=np(d);if(af(d,e)){l=!0;continue}if(d.itemType===`web_search`){u=!0;continue}if(d.itemType===`collab_agent_tool_call`||e&&Lt(e)){t=!0;continue}if(e===`skill`){s=!0;continue}if(gf(e)||ue(e)){c=!0;continue}if(df(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`&&up(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 lp(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 sp(e)){if(t.itemType===`web_search`){_+=1;continue}let e=np(t),n=tf(t),v=df(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(Ef(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(gf(n)){m+=1,e.detail&&h.push(e.detail);continue}if(ue(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`&&up(t)!==null&&(p+=1)}let v=[ap({count:r.size+s,leadingVerb:n?`Creating`:`Created`,trailingVerb:n?`creating`:`created`,singular:`file`}),ap({count:i.size+c,leadingVerb:n?`Editing`:`Edited`,trailingVerb:n?`editing`:`edited`,singular:`file`}),ap({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(rp(o.size,`file`)),u>0&&y.push(rp(u,`search`)),d>0&&y.push(rp(d,`list`)),y.length>0){let e=y.join(`, `);v.push({leadingVerb:n?`Exploring`:`Explored`,leadingRest:e,trailing:`${n?`exploring`:`explored`} ${e}`})}let b=ap({count:f,leadingVerb:n?`Running`:`Ran`,trailingVerb:n?`running`:`ran`,singular:`command`});b&&v.push(b);let x=ap({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=ap({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 op(v);if(e.length===1){let t=np(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 up(e){let t=e.label.trim().toLowerCase()===`status update`,n=tf(e);if(e.itemType===`web_search`)return`web-search`;if(ff(e))return`edit`;if(Ef(e))return`explore`;if(e.requestKind===`command`||e.itemType===`command_execution`)return`command`;if(e.itemType===`collab_agent_tool_call`){let t=np(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=Id(e.toolTitle??e.label);return r.length>0?`other:${r.toLowerCase()}`:null}function dp(e){let t=[],n=new Set,r=Fd(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(hp(t)){r+=1;continue}break}o.push(t),n.add(t.id),r+=1}t.push(...gp(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}),fp(t,e.expandedWorkGroups)}function fp(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(...mp(s,t))}return r}function pp(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=fe(t.message.createdAt,n);return i?`Worked for ${i}`:null}function mp(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`&&!Ad(n.message)){r=t;break}}if(r<=1)return e;let i=pp(e);if(!i)return e;let a=Nd(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 hp(e){return e.kind===`message`&&Ad(e.message)}function gp(e,t){let n=e.flatMap(e=>e.kind===`work`&&!$f(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=_p(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`&&$f(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($f(t.entry)){i+=1;continue}o.push(t.entry),i+=1}a.push(..._p(o,{stickyTailInProgress:t.stickyTailInProgress&&i>=e.length})),n=i-1}return a}function _p(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`&&up(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:Td(u),createdAt:u.createdAt,groupedEntries:r,stickyInProgress:t.stickyTailInProgress&&l>=a.length,childRows:_p(d,{stickyTailInProgress:!1})}),e=l-1}return o}function vp(e,t){switch(e.kind){case`work`:return bp(e,t);case`proposed-plan`:return Cp(e.proposedPlan);case`reasoning`:return yp(e.reasoning.text);case`turn-divider`:return 44;case`working`:return 40;case`message`:{if(Ad(e.message))return 0;let n=vd(e.message,{timelineWidthPx:t.timelineWidthPx}),r=t.turnDiffSummaryByAssistantMessageId?.get(e.message.id);return r&&r.files.length>0&&(n+=Tp(r)),n}}}function yp(e){let t=Math.max(1,e.split(/\r?\n/g).length);return 36+Math.min(t*14,140)}function bp(e,t){let n=e=>{let t=ff(e)?ju(e.output,e.detail):null;if(t)return 70+t.lines.length*20+8;let n=Sp(e.output);return 42+Math.min(Math.max(n,1)*18,192)},r=e=>xp(e.map(e=>bp(e,t)+6)),i=e=>e.running?22:e.itemType===`web_search`?26:t.expandedWorkGroups?.[Md(e.id)]??!1?n(e):26,a=e=>xp(e.map(e=>e.kind===`reasoning`?yp(e.reasoning.text)+6:i(e.entry)));if(e.childRows.length>0)return Od(e,t.expandedWorkGroups)?42+r(e.childRows)+8:42;let o=sp(e.groupedEntries),s=o.length;if(!jd(e)&&s===1){let r=o[0];return r.running?40:kd(e,t.expandedWorkGroups)?n(r):42}return(s===1&&!e.inlineEntries?kd(e,t.expandedWorkGroups):Od(e,t.expandedWorkGroups))?e.inlineEntries?42+a(e.inlineEntries)+8:42+xp(o.map(i))+8:42}function xp(e){return(e.length<=5?e:e.toSorted((e,t)=>t-e).slice(0,5)).reduce((e,t)=>e+t,0)}function Sp(e){return wd(e).lineCount}function Cp(e){let t=Math.max(1,Math.ceil(e.planMarkdown.length/72));return 120+Math.min(t*22,880)}var wp=5;function Tp(e){let t=e.files.length;return t>wp?68+wp*24+24:68+t*24}var Ep=`.assistant-text-selectable`,Dp=92;function Op(e){let t=window.innerWidth||document.documentElement.clientWidth;return t<=Dp*2?e:Math.min(Math.max(e,Dp),t-Dp)}function kp(e){return e?e.nodeType===Node.ELEMENT_NODE?e:e.parentElement:null}function Ap(e){return kp(e)?.closest(Ep)??null}function jp(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 Mp(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=Ap(t.anchorNode),i=Ap(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=jp(a);if(!o)return null;let s=o.top>=52?`above`:`below`;return{selectedText:n,left:Op(o.left+o.width/2),top:s===`above`?Math.max(8,o.top-8):o.bottom+8,placement:s}}var Np=(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=Mp(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=Fp,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)(Pp,{onPointerDown:p,onClick:h}),t[14]=h,t[15]=v);let y;return t[16]!==_||t[17]!==v?(y=(0,bo.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 Pp(e){let t=(0,X.c)(5),{onPointerDown:n,onClick:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=W(`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)(yn,{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 Fp(e){e.preventDefault()}var Ip=12;function Lp({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:Vo(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+Ip,behavior:`smooth`})});return()=>window.cancelAnimationFrame(o)},[r,n,e,t])}var Rp=10,zp=300,Bp=120,Vp=`pb-2`,Hp=`min-w-0 py-0.5`,Up=.5,Wp=96,Gp=new Map,Kp=new Set,qp={current:0};function Jp({hasMessages:e,isWorking:t,showWorkingIndicator:n=t,activeTurnInProgress:r,activeTurnStartedAt:a,activeTurnId:o=null,revealingBufferedAssistantMessageIds:s=Kp,scrollContainer:c,workGroupAutoScrollSuppressRef:l=qp,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,V]=(0,Z.useState)(null),[ee,te]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{te(!1)},[d]);let H=(0,Z.useRef)(null),ne=(0,Z.useCallback)(()=>{H.current===null?P.current+=1:window.clearTimeout(H.current),H.current=window.setTimeout(()=>{H.current=null,--P.current},zp)},[P]);(0,Z.useEffect)(()=>()=>{H.current!==null&&(window.clearTimeout(H.current),H.current=null,--P.current)},[P]);let re=m?p:Gp;(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 U=(0,Z.useMemo)(()=>dp({timelineEntries:u,completionDividerBeforeEntryId:d,isWorking:n,activeTurnStartedAt:a,expandedWorkGroups:h}),[u,d,n,a,h]),ie=(0,Z.useMemo)(()=>Pd({rows:U,activeTurnInProgress:r,activeTurnStartedAt:a,tailRowCount:8}),[r,a,U]),{collapsibleRowIds:ae,hasCollapsibleWork:oe,firstCollapsibleRowIndex:se,latestTurnSummary:ce}=(0,Z.useMemo)(()=>{let e=-1,t=-1;for(let n=U.length-1;n>=0;--n){let r=U[n];if(!(!r||r.kind!==`message`)&&(t===-1&&r.showCompletionDivider&&(t=n),r.message.role===`user`)){e=n;break}}let n=t>=0?t:U.length,r=new Set,i=-1;for(let t=e+1;t<n;t+=1){let e=U[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?pp(U.slice(e)):null}},[U]),le=oe&&!ee,ue=ce??f,de=U.length>=Bp?Math.min(i(ie,{minimum:0,maximum:U.length}),se>=0?se:U.length):0,fe=R===null?`width:unknown`:`width:${Math.round(R)}`;(0,Z.useEffect)(()=>{let e=new Set(U.map(e=>e.id));for(let t of L.current.keys())e.has(t)||L.current.delete(t)},[U]);let pe=(0,Z.useCallback)(e=>tm(e,re,h),[h,re]),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)<=Up||L.current.set(e,{cacheKey:t,height:n})},[]),he=v({count:de,getScrollElement:()=>c,getItemKey:e=>{let t=U[e];return t?`${fe}:${pe(t)}`:`${fe}:${e}`},estimateSize:e=>{let t=U[e];if(!t)return 96;let n=L.current.get(t.id);return n?.cacheKey===pe(t)?n.height:vp(t,{expandedWorkGroups:h,timelineWidthPx:R,turnDiffSummaryByAssistantMessageId:re})},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,de).flatMap(e=>{let t=U[e.index];return t?[{id:t.id,kind:t.kind,index:e.index,size:e.size,start:e.start,end:e.end}]:[]})})},[M,he,U,de]);let ye=he.getVirtualItems(),be=U.slice(de);(0,Z.useLayoutEffect)(()=>{he.measure()},[U[de]?.id??null,he,U.length,de]);let G=(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 U)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`&&Ad(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,U]),xe=(0,Z.useMemo)(()=>{let e=new Set,t=e=>e.kind===`working`||e.kind===`message`&&Ad(e.message)?null:e.kind===`message`&&e.message.role===`user`?`user`:`assistant-side`,n=null;for(let r of U){let i=t(r);i!==null&&(n!==null&&n!==i&&e.add(r.id),n=i)}return e},[U]),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=Dd(e),s=Od(e,h),c=np(i),l=c.action,u=c.detail??``,d=u.length>0?`${l} ${u}`:l,f=cp(r),p=f===`tool`&&r.some(of)?`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:W(Ui,`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)(om,{kind:f,iconName:p,className:W(`text-muted-foreground/75 transition-colors duration-150`,`group-hover:text-foreground`)}),(0,Q.jsxs)(`span`,{className:`truncate`,children:[(0,Q.jsx)(`span`,{className:W(`transition-colors duration-150`,o&&`group-hover:text-foreground`),children:l}),u.length>0?(0,Q.jsxs)(`span`,{className:W(g&&`shimmer shimmer-spread-200`),children:[` `,u]}):null]})]}),(0,Q.jsx)(`button`,{type:`button`,"aria-controls":v,"aria-expanded":s,className:W(`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)($n,{className:W(`size-3 transition-transform duration-150`,!s&&`-rotate-90`)})})]}),(0,Q.jsx)(Fr,{open:s,children:(0,Q.jsx)(`div`,{id:v,className:`mt-0.5 pr-1`,children:(0,Q.jsx)(Ku,{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=Dd(e);if(Tm(i))return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Dm,{workEntry:i})});if(jd(e)){let i=e.inlineEntries?Od(e,h):kd(e,h),s=lp(r,e.stickyInProgress);return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)($m,{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`||pf(i))return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Fm,{workEntry:i,indented:!1,cwd:D})});let t=kd(e,h);return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Qm,{workEntry:i,isExpanded:t,onToggle:()=>_(n,t),onHeightChange:_e,cwd:D})})}return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Fm,{workEntry:i,indented:!1,cwd:D})})}let o=Dd(e),s=t>0||Od(e,h),l=lp(r,e.stickyInProgress);return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)($m,{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`&&Ad(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=G.get(e.id);return(0,Q.jsxs)(`div`,{className:W(Vp,!n?.suppressBoundaryGap&&xe.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)(Lm,{children:Se(e)}),e.kind===`turn-divider`&&(0,Q.jsx)(Im,{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=Ot(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=()=>{V(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)(La,{autoFocus:!0,size:`sm`,value:B.draft,"aria-label":`Edit message`,onChange:t=>V({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)(Vu,{text:r.copyText}),o&&(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`outline`,disabled:T||t,onClick:()=>{V({id:e.message.id,draft:e.message.text}),_e()},title:`Edit message`,children:(0,Q.jsx)(sr,{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)(gn,{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:W(`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=ru(n,e.id);t&&E(t)},children:(0,Q.jsx)(`img`,{src:e.previewUrl,alt:e.name,className:W(`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:W(`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)(Cm,{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&&!oe&&(0,Q.jsx)(Im,{className:`mb-2 mt-0.5`,summary:ue,expanded:!1}),(0,Q.jsxs)(`div`,{className:Hp,children:[(0,Q.jsx)(Ki,{text:t,cwd:D,isStreaming:!!e.message.streaming,revealBlocks:s.has(e.message.id)}),(()=>{let t=re.get(e.message.id);return!t||t.files.length===0?null:(0,Q.jsx)(im,{turnSummary:t,resolvedTheme:O,onOpenArtifact:y,onOpenTurnDiff:b,onHeightChange:_e})})()]})]})})(),e.kind===`reasoning`&&(0,Q.jsx)(wm,{reasoning:e.reasoning,markdownCwd:D,onHeightChange:_e}),e.kind===`proposed-plan`&&(0,Q.jsx)(`div`,{className:Hp,children:(0,Q.jsx)(iu,{planMarkdown:e.proposedPlan.planMarkdown,cwd:D,workspaceRoot:A})}),e.kind===`working`&&(0,Q.jsx)(`div`,{className:`py-0.5`,children:(0,Q.jsx)(vm,{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)(Vu,{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)(Tn,{className:`size-3`})})]}),(0,Q.jsx)(_m,{createdAt:e.createdAt,durationStart:n,completedAt:e.completedAt,streaming:!!e.streaming,timestampFormat:k})]})})()]})},we=()=>(0,Q.jsx)(Im,{className:`mb-2 mt-4`,summary:ue,expanded:ee,onToggle:()=>{ne(),te(e=>!e),_e()}});return!e&&!t?(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:W(Ui,`text-foreground/55`),children:`Send a message to start the conversation.`})}):(0,Q.jsx)(cr,{features:Ut,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)(Np,{containerRef:F,onAddSelectedText:j}):null,de>0&&(0,Q.jsx)(`div`,{className:`relative`,style:{height:`${he.getTotalSize()}px`},children:ye.map(e=>{let t=U[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)(nm,{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(!ae.has(r.id)){t.push(e(r)),n+=1;continue}let i=[];for(;n<be.length;){let e=be[n];if(!e||!ae.has(e.id))break;i.push(e),n+=1}t.push((0,Q.jsxs)(Z.Fragment,{children:[oe&&we(),(0,Q.jsx)(Fr,{open:!le,animateOnMount:!1,unmountOnExit:!1,fade:!0,className:`shiori-expand-panel--smooth`,children:i.map(t=>e(t,{suppressBoundaryGap:oe}))})]},`latest-turn-work-collapse`))}return t})()]})})}var Yp=(0,Z.memo)(Jp);function Xp(e){return e.length<=Wp*2?`${e.length}:${e}`:[e.length,e.slice(0,Wp),e.slice(-Wp)].join(`:`)}function Zp(e){return!e||e.files.length===0?`diff:none`:`diff:${e.files.length}:${Xp(e.files.map(e=>`${e.path}:${e.additions??0}:${e.deletions??0}`).join(`
|
|
266
|
+
`))}`}function Qp(e){let t=wd(e.output);return[e.id,e.itemId??``,e.parentItemId??``,e.running?`running`:`settled`,e.itemType??``,e.tone,Xp(e.label),Xp(e.detail??``),Xp(e.command??``),t.lineCount,t.format,Xp(t.text??``)].join(`:`)}function $p(e){return[`work`,e.id,e.expansionId,e.stickyInProgress?`sticky`:`settled`,e.groupedEntries.map(Qp).join(`|`),(e.inlineEntries??[]).map(e=>e.kind===`work`?`inline-work:${e.id}:${Qp(e.entry)}`:`inline-reasoning:${e.id}:${e.reasoning.streaming?`streaming`:`settled`}:${Xp(e.reasoning.text)}`).join(`|`),e.childRows.map($p).join(`|`)].join(`:`)}function em(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(Md(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 tm(e,t,n){switch(e.kind){case`work`:return`expanded:${em(e,n)}:${$p(e)}`;case`reasoning`:return`reasoning:${e.id}:${e.reasoning.streaming?`streaming`:`settled`}:${Xp(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,Xp(e.message.text),Zp(t.get(e.message.id))].join(`:`);case`proposed-plan`:return`proposed-plan:${e.id}:${Xp(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 nm=(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}),rm=5,im=(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?Jn:vr,p=c?`Show changed files`:`Hide changed files`,m=s.length>rm,h;t[0]!==m||t[1]!==s||t[2]!==u?(h=m&&!u?s.slice(0,rm):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=nu(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=W(Ui,`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=cu(e)&&(0,Q.jsx)(`span`,{className:`font-mono text-[13px] tabular-nums`,children:(0,Q.jsx)(lu,{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=W(Ui,`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=W(Ui,`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(nh),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)(Vr,{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)(Xr,{side:`top`,children:p}),t[41]=p,t[42]=P);let F;t[43]!==N||t[44]!==P?(F=(0,Q.jsxs)(Yr,{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:W(`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)(Hi,{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)(lu,{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(rh),className:W(`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}),am={agent:pn,command:bn,edit:sr,file:hn,list:hr,search:fn,skill:Kt,todo:jn,tool:cn,"web-search":On,work:dr},om=(0,Z.memo)(function(e){let t=(0,X.c)(6),n=am[e.kind]??dr,r;t[0]===e.className?r=t[1]:(r=W(`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}),sm=(0,Z.memo)(function(){let e=(0,X.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(om,{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 cm(e){return e.tone===`tool`?`text-foreground/60`:`text-foreground`}function lm(e){return e.tone===`tool`?null:`assistant-text-selectable`}function um(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 ${dm(Math.max(0,Math.floor((r-n)/1e3)))}`}function dm(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?fm([[t,`day`],[n,`hour`]]):n>0?fm([[n,`hour`],[r,`minute`]]):r>0?fm([[r,`minute`],[i,`second`]]):pm(i,`second`)}function fm(e){let t=e.filter(([e])=>e>0).map(([e,t])=>pm(e,t));return t.length>0?t.join(` `):`0 seconds`}function pm(e,t){return`${e} ${e===1?t:`${t}s`}`}function mm(e,t,n){return t?`${ri(e,n)} • ${t}`:ri(e,n)}function hm(e){let t=(0,X.c)(5),[n,r]=(0,Z.useState)(gm),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 gm(){return Date.now()}var _m=(0,Z.memo)(function(e){let t=hm(e.streaming),n=(0,Z.useMemo)(()=>e.streaming?fe(e.durationStart,t):fe(e.durationStart,e.completedAt),[t,e.completedAt,e.durationStart,e.streaming]);return(0,Q.jsx)(`p`,{className:W(Ui,`text-muted-foreground/70`),children:mm(e.createdAt,n,e.timestampFormat)})}),vm=(0,Z.memo)(function(e){let t=hm(e.createdAt!==null),n=um(e.createdAt,t),r=(0,Z.useRef)(null);return r.current===null&&(r.current=zr()),(0,Q.jsxs)(`p`,{className:W(Ui,`text-foreground`),children:[(0,Q.jsx)(Br,{className:`mr-1.5 text-foreground`,spinnerName:r.current}),(0,Q.jsx)(`span`,{className:`shimmer shimmer-spread-200`,children:n})]})}),ym=(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)(dl,{label:e.context.header,tooltipText:n}),t[0]=e.context.header,t[1]=n,t[2]=r):r=t[2],r}),bm=10;function xm(e){return Math.max(1,e.split(/\r?\n/g).length)}function Sm(e,t){let n=e.split(/\r?\n/g);return n.length<=t?e:n.slice(0,t).join(`
|
|
267
|
+
`)}var Cm=(0,Z.memo)(function(e){let t=(0,X.c)(15),[n,r]=(0,Z.useState)(!1),i=xm(e.text)>bm,a;t[0]!==n||t[1]!==e.text||t[2]!==i?(a=i&&!n?Sm(e.text,bm):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=Qu(t,e.terminalContexts),r=Xu(e.terminalContexts),i=[];if(n){let n=0;for(let r of e.terminalContexts){let e=Zu(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)(ym,{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:W(Ui,`wrap-break-word whitespace-pre-wrap text-foreground`),children:i})}for(let t of e.terminalContexts)i.push((0,Q.jsx)(ym,{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:W(Ui,`wrap-break-word whitespace-pre-wrap text-foreground`),children:i})}return t.length===0?null:(0,Q.jsx)(`div`,{className:W(Ui,`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(ih),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}),wm=(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=W(Ui,`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(ah)},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]:(_=W(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=W(`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)($n,{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)(Ki,{text:n.text,cwd:r,isStreaming:n.streaming,className:`text-foreground/55`})}):(0,Q.jsx)(`p`,{className:W(Ui,`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)(Fr,{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 Tm(e){return e.label.trim().toLowerCase()===`status update`}function Em(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 Dm=(0,Z.memo)(function(e){let t=(0,X.c)(7),n;t[0]===e.workEntry?n=t[1]:(n=Em(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=W(Ui,`wrap-break-word whitespace-pre-wrap`,cm(e.workEntry),lm(e.workEntry)),t[2]=e.workEntry,t[3]=i);let a;return t[4]!==i||t[5]!==r?(a=(0,Q.jsx)(`div`,{className:Hp,children:(0,Q.jsx)(`p`,{className:i,children:r})}),t[4]=i,t[5]=r,t[6]=a):a=t[6],a});function Om(e){let t=np(e);return{action:t.action,detail:t.detail}}var km=(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=W(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 Am(e){return e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function jm(e,t){return!t||Am(e)?e:`${t.replace(/[\\/]+$/,``)}/${e.replace(/^\.\/+/,``)}`}function Mm(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 Nm=(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}=zi(),l;t[0]!==i||t[1]!==r?(l=jm(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=N();t&&Ci(t,u).catch(oh)},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=W(`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)(Hi,{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}),Pm=(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)(Nm,{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}),Fm=(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=Om(n),t[0]=n,t[1]=u);let{action:d,detail:f}=u,p;t[2]===n?p=t[3]:(p=np(n),t[2]=n,t[3]=p);let m=p,h,g;t[4]===n?g=t[5]:(g=Mf(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&&of(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=W(Ui,`list-none truncate py-0.5`,cm(n),lm(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)(sm,{}),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)(Pm,{basename:pu(f),path:f,cwd:a}):b?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(Nm,{label:f,path:b,cwd:a})]}):(0,Q.jsx)(km,{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}),Im=(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=W(`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)($n,{className:W(`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}),Lm=(0,Z.memo)(function(e){let t=(0,X.c)(6),n=_n(),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)(In.div,{...i,transition:a,children:e.children}),t[3]=i,t[4]=e.children,t[5]=o):o=t[5],o});function Rm(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function zm(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function Bm(...e){for(let t of e){let e=zm(t);if(e)return e}return null}function Vm(e){return typeof e!=`string`||e.trim().length===0?null:e.trimEnd()}function Hm(...e){for(let t of e){let e=Vm(t);if(e)return e}return null}function Um(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 Wm(e){let t=Rm(e);if(!t)return null;let n=Rm(t.result)??Rm(Rm(t.item)?.result);return n&&n.is_error===!0?Um(zm(n.content)):null}function Gm(e){let t=Rm(e);if(!t)return null;let n=Rm(t.item)??t,r=Rm(n.result)??Rm(t.result),i=Hm(n.result,t.result),a=zm(n.type)??zm(n.kind),o=ce(dt(e)?.toolName);if(!(a?.toLowerCase().includes(`command`)===!0||`commandActions`in n||`processId`in n||`cwd`in n||o===`command`))return null;let s=Hm(r?.stdout,n.stdout,t.stdout,r?.output,n.output,t.output,r?.content,i),c=Hm(r?.stderr,n.stderr,t.stderr),l=(Array.isArray(n.commandActions)?n.commandActions:[]).map(e=>{let t=Rm(e);if(!t)return null;let n=zm(t.label)??zm(t.title)??zm(t.name)??zm(t.kind)??zm(t.type);return!n||n.toLowerCase()===`unknown`?null:{label:n,detail:zm(t.description)??zm(t.prompt)??zm(t.value)??zm(t.command)}}).filter(e=>e!==null)??[];return{command:Bm(n.command,Rm(n.input)?.command,Rm(t.input)?.command,r?.command),cwd:Bm(n.cwd,r?.cwd,t.cwd),status:Bm(n.status,r?.status,t.status),processId:Bm(n.processId,r?.processId,t.processId),source:Bm(n.source,r?.source,t.source),stdout:s,stderr:c,actions:l}}function Km(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 qm(e){let t=dt(e);if(!t)return null;let n=Be(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=Rm(e);if(!t)continue;let n=zm(t.content)??zm(t.activeForm)??zm(t.text);n&&i.push({text:n,status:Km(t.status)})}return i.length>0?i:null}function Jm(e){let t=dt(e);if(!t)return null;let n=Be(t.toolName);return n!==`exit plan mode`&&n!==`exitplanmode`?null:zm(t.input?.plan)}function Ym(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 Xm=(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=Mm(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=W(Ui,`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)(Ki,{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)(Nm,{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}),Zm=(0,Z.memo)(function(e){let t=(0,X.c)(23),{card:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=W(Ui,`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}),Qm=(0,Z.memo)(function(e){let{workEntry:t,isExpanded:n,onToggle:r,onHeightChange:i,cwd:a,showMcpToolboxIcon:o=!0}=e,{action:s,detail:c}=Om(t),l=np(t),u=(0,Z.useMemo)(()=>Gm(t.output),[t.output]),d=Ym(u?.stdout??null,c??null),f=d&&u?.stderr?`${d}\n\n${u.stderr}`:d??u?.stderr??null,p=(0,Z.useMemo)(()=>qm(t.output),[t.output]),m=(0,Z.useMemo)(()=>Jm(t.output),[t.output]),h=(0,Z.useMemo)(()=>Wm(t.output),[t.output]),g=Xd(t)?t.detail?.trim()??null:null,_=l.monospace,v=(0,Z.useMemo)(()=>Mf(t),[t]),y=(0,Z.useMemo)(()=>Nf(t),[t]),b=c&&v?.skillName===c?v.skillPath:null,x=!!(v??y),S=(0,Z.useMemo)(()=>wd(t.output),[t.output]),C=u||p||m||x?null:Ym(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&&of(t),M=O||k,N=(0,Z.useMemo)(()=>O?ju(t.output,t.detail):null,[O,t.output,t.detail]),P=(0,Z.useMemo)(()=>!N&&typeof C==`string`&&S.lineCount>Rp,[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)(sm,{}),(0,Q.jsx)(`span`,{children:s}),c&&(M?(0,Q.jsx)(Pm,{basename:pu(c),path:c,cwd:a}):b?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(Nm,{label:c,path:b,cwd:a})]}):(0,Q.jsx)(km,{detail:c,monospace:_})),N&&cu(N)&&(0,Q.jsx)(`span`,{className:W(`text-sm font-normal leading-relaxed`,`ml-1 tabular-nums`),children:(0,Q.jsx)(lu,{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:W(Ui,`flex min-w-0 items-center gap-1 rounded-sm py-0.5 transition-colors duration-150 hover:text-foreground`,cm(t),lm(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:W(Ui,`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`,cm(t),lm(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:W(`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)($n,{className:W(`size-3 transition-transform duration-150`,!n&&`-rotate-90`)})})]}),(0,Q.jsx)(Fr,{open:n,children:(0,Q.jsxs)(`div`,{id:D,children:[v&&(0,Q.jsx)(Xm,{card:v,cwd:a}),y&&(0,Q.jsx)(Zm,{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)(Vu,{text:g,title:l.action===`Runtime error`?`Copy runtime error`:`Copy runtime warning`})}),(0,Q.jsx)(`pre`,{className:W(`text-sm font-normal leading-relaxed`,`wrap-break-word whitespace-pre-wrap`,cm(t),lm(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:W(`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:W(`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:W(`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:W(`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:W(`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)(Ki,{text:m,cwd:a})})}),N&&(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(Iu,{diff:N})}),h&&(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(`p`,{className:W(`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:W(`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)(Vu,{text:C,title:`Copy JSON output`})}),(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(`pre`,{className:W(`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:W(`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`})]})]})})]})}),$m=(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)(()=>sp(r),[r]),_=(0,Z.useMemo)(()=>cp(r),[r]),v=(0,Z.useMemo)(()=>_===`tool`&&r.some(of)?`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 Lp({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:W(Ui,`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)(om,{kind:_,iconName:v,className:W(`text-muted-foreground/75 transition-colors duration-150`,`group-hover:text-foreground`)}),(0,Q.jsxs)(`span`,{className:`truncate`,children:[(0,Q.jsx)(`span`,{className:W(`transition-colors duration-150`,s&&`group-hover:text-foreground`),children:m.leadingVerb}),m.rest.length>0?(0,Q.jsxs)(`span`,{className:W(b&&`shimmer shimmer-spread-200`),children:[` `,m.rest]}):null]}),(0,Q.jsx)($n,{className:W(`size-3 shrink-0 opacity-0 transition-all duration-150 group-hover:opacity-100`,!o&&`-rotate-90`)})]}),(0,Q.jsx)(Fr,{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)(Ku,{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)(wm,{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)(Fm,{workEntry:t,indented:!1,cwd:c,showMcpToolboxIcon:!1})},`work-row:${t.id}`);let i=Md(t.id),a=n[i]??!1;return(0,Q.jsx)(`li`,{className:r,"data-item-clamped-viewport-item":``,children:(0,Q.jsx)(Qm,{workEntry:t,isExpanded:a,onToggle:()=>f(i,a),cwd:c,showMcpToolboxIcon:!1,...u?{onHeightChange:u}:{}})},`work-row:${t.id}`)})})})})})})]})},eh);function eh(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 th(t))if(e.expandedWorkGroups[n]!==t.expandedWorkGroups[n])return!1;return!0}function th(e){return(e.inlineEntries??sp(e.entries).map(e=>({kind:`work`,id:e.id,entry:e}))).flatMap(e=>e.kind===`work`&&!e.entry.running&&e.entry.itemType!==`web_search`?[Md(e.entry.id)]:[])}function nh(e){return!e}function rh(e){return!e}function ih(e){return!e}function ah(e){return!e}function oh(e){console.error(`Failed to open file in preferred editor`,e)}var sh=(e,t)=>[{label:`Cursor`,Icon:K,value:`cursor`},{label:`Trae`,Icon:Lr,value:`trae`},{label:`VS Code`,Icon:Ei,value:`vscode`},{label:`VS Code Insiders`,Icon:Ei,value:`vscode-insiders`},{label:`VSCodium`,Icon:Ei,value:`vscodium`},{label:`Zed`,Icon:qr,value:`zed`},{label:`Antigravity`,Icon:Oi,value:`antigravity`},{label:U(e)?`Finder`:te(e)?`Explorer`:`Files`,Icon:hr,value:`file-manager`}].filter(e=>t.includes(e.value)),ch=(0,Z.memo)(function({keybindings:e,availableEditors:t,openInCwd:n}){let[r,i]=ii(t),a=(0,Z.useMemo)(()=>sh(navigator.platform,t),[t]),o=a.find(({value:e})=>e===r)??null,s=(0,Z.useCallback)(e=>{let t=N();if(!t||!n)return;let a=e??r;a&&(t.shell.openInEditor(n,a),i(a))},[r,n,i]),c=(0,Z.useMemo)(()=>Di(e,`editor.openFavorite`),[e]);return(0,Z.useEffect)(()=>{let t=t=>{let i=N();ki(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)(At,{children:[(0,Q.jsx)(le,{render:(0,Q.jsx)(I,{"aria-label":`Editor options`,size:`icon-xs`,variant:`outline`}),children:(0,Q.jsx)($n,{"aria-hidden":`true`,className:`size-4`})}),(0,Q.jsxs)(Le,{align:`end`,children:[a.length===0&&(0,Q.jsx)(Pt,{disabled:!0,children:`No installed editors found`}),a.map(({label:e,Icon:t,value:n})=>(0,Q.jsxs)(Pt,{onClick:()=>s(n),children:[(0,Q.jsx)(t,{"aria-hidden":`true`,className:`text-muted-foreground`}),e,n===r&&c&&(0,Q.jsx)(ge,{children:c})]},n))]})]})]})}),lh=se(`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 uh(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=W(lh({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 dh(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=W(`[[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)(Nr,{className:o,orientation:a,...r}),t[6]=a,t[7]=r,t[8]=o,t[9]=s):s=t[9],s}var fh=(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(ph),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)(Ir,{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)(At,{children:[(0,Q.jsx)(le,{render:(0,Q.jsxs)(I,{variant:`ghost`,size:`xs`,className:`h-6 px-2 text-[11px]`,children:[C,(0,Q.jsx)($n,{className:`size-3`})]})}),(0,Q.jsx)(Le,{align:`start`,side:`bottom`,children:g.map(e=>(0,Q.jsx)(Pt,{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)(Yr,{children:[(0,Q.jsx)(Vr,{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)(Cn,{className:`size-3`}),`Fork`]})}),(0,Q.jsx)(Xr,{side:`bottom`,children:`Create a linked child thread`})]}),T||E||D?(0,Q.jsx)(dh,{}):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)(ch,{keybindings:o,availableEditors:s,openInCwd:a}),E||D?(0,Q.jsx)(dh,{}):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)(Yr,{children:[(0,Q.jsx)(Vr,{render:(0,Q.jsxs)(Yi,{className:`shrink-0 px-2.5`,pressed:d,onPressedChange:y,"aria-label":`Toggle browser panel`,variant:`outline`,size:`xs`,children:[(0,Q.jsx)(Bn,{className:`size-3`}),`Browser`]})}),(0,Q.jsx)(Xr,{side:`bottom`,children:c?`Toggle browser panel (${c})`:`Toggle browser panel`})]}),D?(0,Q.jsx)(dh,{}):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)(Yr,{children:[(0,Q.jsx)(Vr,{render:(0,Q.jsxs)(Yi,{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)(or,{className:`size-3`}),`View diff`]})}),(0,Q.jsx)(Xr,{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)(uh,{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 ph(e){return e.archivedAt!==null}function mh(e){return e===null||!Number.isFinite(e)?null:e<10?`${e.toFixed(1).replace(/\.0$/,``)}%`:`${Math.round(e)}%`}function hh(e){let t=(0,X.c)(25),{usage:n}=e,r;t[0]===n.usedPercentage?r=t[1]:(r=mh(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 ${hc(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=W(`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?hc(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)(Ws,{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)(Gs,{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:[hc(n.usedTokens),`/`,hc(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:[hc(n.totalProcessedTokens??null),` total`]})]}):null]}):(0,Q.jsxs)(`span`,{className:`font-medium text-foreground`,children:[hc(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)(Us,{children:[h,g]}),t[22]=h,t[23]=g,t[24]=_):_=t[24],_}var gh=(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)(_h,{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)(Zr,{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)(si,{autoHighlight:!1,mode:`none`,onItemHighlighted:a,children:l}),t[25]=a,t[26]=l,t[27]=u):u=t[27],u}),_h=(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=W(`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)(Hi,{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)(Ra,{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)(Ra,{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)(q,{value:n,"data-composer-item-id":r,className:a,onMouseMove:o,onMouseDown:vh,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 vh(e){e.preventDefault()}var yh=[{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 bh(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function xh(e){if(!Array.isArray(e))return null;let t=e.filter(e=>typeof e==`string`);return t.length===e.length?t:null}function Sh(e){let t=bh(e)?.proposedExecpolicyAmendment,n=bh(t);return xh(t)??xh(n?.execpolicy_amendment)??xh(n?.execpolicyAmendment)}function Ch(e){let t=bh(e),[n]=Array.isArray(t?.proposedNetworkPolicyAmendments)?t.proposedNetworkPolicyAmendments:[],r=bh(n),i=typeof r?.host==`string`?r.host.trim():``;if(i.length>0)return{host:i,action:`allow`};let a=bh(t?.networkApprovalContext),o=typeof a?.host==`string`?a.host.trim():``;return o.length>0?{host:o,action:`allow`}:null}function wh(e,t){switch(e){case`accept`:return yh.find(e=>e.key===`accept`)??null;case`acceptForSession`:return yh.find(e=>e.key===`acceptForSession`)??null;case`decline`:return yh.find(e=>e.key===`decline`)??null;case`cancel`:return yh.find(e=>e.key===`cancel`)??null;case`acceptWithExecpolicyAmendment`:{let e=Sh(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=Ch(t.data);return e?{key:`applyNetworkPolicyAmendment`,label:`Allow network host`,variant:`outline`,decision:{applyNetworkPolicyAmendment:{network_policy_amendment:e}}}:null}default:return null}}function Th(e){let t=xh(bh(e.data)?.availableDecisions);if(!t||t.length===0)return yh;let n=t.flatMap(t=>{let n=wh(t,e);return n?[n]:[]});return n.length>0?n:yh}function Eh(e,t){return e===null?!1:typeof e==`string`?e===t.decision:typeof t.decision==`string`?!1:t.key in e}var Dh=(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=Th(n).map(e=>(0,Q.jsxs)(I,{size:`sm`,variant:e.variant,disabled:r,onClick:()=>void a(n.requestId,e.decision),children:[Eh(i,e)?(0,Q.jsx)(Kn,{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 Oh(e){return e===`full-access`?`Full access`:`Supervised`}function kh(e){return e===`full-access`?`Full access — click to require approvals`:`Supervised — click for full access`}var Ah=(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)(le,{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)(Pn,{"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)(Mt,{value:`approval-required`,children:Oh(`approval-required`)}),t[4]=a):a=t[4];let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(Mt,{value:`full-access`,children:Oh(`full-access`)}),t[5]=o):o=t[5];let s;t[6]!==e.runtimeMode||t[7]!==i?(s=(0,Q.jsxs)(Qe,{children:[r,(0,Q.jsxs)(pe,{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)(ze,{}),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)(ze,{}),(0,Q.jsxs)(Pt,{onClick:e.onTogglePlanSidebar,children:[(0,Q.jsx)(qn,{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)(At,{children:[n,(0,Q.jsxs)(Le,{align:`start`,children:[s,c,l]})]}),t[15]=s,t[16]=c,t[17]=l,t[18]=u):u=t[18],u}),jh=(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=Oh(e.runtimeMode),t[0]=e.runtimeMode,t[1]=r);let i=r,a;t[2]===e.runtimeMode?a=t[3]:(a=kh(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=W(`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)(Fn,{}):(0,Q.jsx)(ur,{}),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}),Mh=(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=bt(Nh),m;t[0]!==a||t[1]!==i||t[2]!==r?(m=Ee(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=de(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&&vt(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)(le,{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)(Zt,{"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)(Qt,{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)(Pt,{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)(ze,{}),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)(pr,{className:`size-4 shrink-0`}),`Goal`]}),t[37]=z):z=t[37];let B;t[38]!==l||t[39]!==R?(B=(0,Q.jsx)(It,{variant:`switch`,checked:l,onClick:R,children:z}),t[38]=l,t[39]=R,t[40]=B):B=t[40];let V;t[41]===c?V=t[42]:(V=e=>{e.preventDefault(),c()},t[41]=c,t[42]=V);let ee;t[43]!==s||t[44]!==V?(ee=(0,Q.jsx)(It,{variant:`switch`,checked:s,onClick:V,children:`Plan mode`}),t[43]=s,t[44]=V,t[45]=ee):ee=t[45];let te;t[46]!==S||t[47]!==v?(te=v===null?null:(0,Q.jsx)(It,{variant:`switch`,checked:v,onClick:e=>{e.preventDefault(),S()},children:`Thinking`}),t[46]=S,t[47]=v,t[48]=te):te=t[48];let H;t[49]!==h.supportsFastMode||t[50]!==b||t[51]!==y||t[52]!==w?(H=h.supportsFastMode?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ze,{}),(0,Q.jsxs)(he,{children:[(0,Q.jsxs)(mt,{children:[(0,Q.jsx)(Mn,{className:`size-4 shrink-0`}),`Speed`]}),(0,Q.jsx)(Ae,{children:(0,Q.jsxs)(pe,{value:y?`fast`:`standard`,onValueChange:w,children:[(0,Q.jsx)(Mt,{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)(Mt,{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]=H):H=t[53];let ne;t[54]!==F||t[55]!==B||t[56]!==ee||t[57]!==te||t[58]!==H?(ne=(0,Q.jsxs)(At,{children:[k,(0,Q.jsxs)(Le,{align:`start`,side:`top`,sideOffset:8,children:[F,L,B,ee,te,H]})]}),t[54]=F,t[55]=B,t[56]=ee,t[57]=te,t[58]=H,t[59]=ne):ne=t[59];let re;return t[60]!==ne||t[61]!==O?(re=(0,Q.jsxs)(Q.Fragment,{children:[O,ne]}),t[60]=ne,t[61]=O,t[62]=re):re=t[62],re});function Nh(e){return e.setProviderModelOptions}var Ph=Yn,Fh=Vn;function Ih(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=W(`fixed inset-0 z-50 bg-black/32 backdrop-blur-sm transition-all duration-200 ease-out data-ending-style:opacity-0 data-starting-style:opacity-0`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Nn,{className:i,"data-slot":`alert-dialog-backdrop`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Lh(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=W(`fixed inset-0 z-50 grid grid-rows-[1fr_auto_3fr] justify-items-center p-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Qn,{className:i,"data-slot":`alert-dialog-viewport`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Rh(e){let t=(0,X.c)(16),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,bottomStickOnMobile:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?!0:i,o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(Ih,{}),t[4]=o):o=t[4];let s=a&&`max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12`,c;t[5]===s?c=t[6]:(c=W(s),t[5]=s,t[6]=c);let l=a&&`max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none`,u;t[7]!==n||t[8]!==l?(u=W(`-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative row-start-2 flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,l,n),t[7]=n,t[8]=l,t[9]=u):u=t[9];let d;t[10]!==r||t[11]!==u?(d=(0,Q.jsx)(kn,{className:u,"data-slot":`alert-dialog-popup`,...r}),t[10]=r,t[11]=u,t[12]=d):d=t[12];let f;return t[13]!==c||t[14]!==d?(f=(0,Q.jsxs)(Fh,{children:[o,(0,Q.jsx)(Lh,{className:c,children:d})]}),t[13]=c,t[14]=d,t[15]=f):f=t[15],f}function zh(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=W(`flex flex-col gap-2 p-6 text-center max-sm:pb-4 sm:text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(`div`,{className:i,"data-slot":`alert-dialog-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Bh(e){let t=(0,X.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,variant:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`default`:i,o=a===`default`&&`border-t bg-muted/72 py-4`,s=a===`bare`&&`pb-6`,c;t[4]!==n||t[5]!==o||t[6]!==s?(c=W(`flex flex-col-reverse gap-2 px-6 sm:flex-row sm:justify-end sm:rounded-b-[calc(var(--radius-2xl)-1px)]`,o,s,n),t[4]=n,t[5]=o,t[6]=s,t[7]=c):c=t[7];let l;return t[8]!==r||t[9]!==c?(l=(0,Q.jsx)(`div`,{className:c,"data-slot":`alert-dialog-footer`,...r}),t[8]=r,t[9]=c,t[10]=l):l=t[10],l}function Vh(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=W(`font-heading font-semibold text-xl leading-none`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(tr,{className:i,"data-slot":`alert-dialog-title`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Hh(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=W(`text-muted-foreground text-sm`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(fr,{className:i,"data-slot":`alert-dialog-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Uh(e){let t=Math.max(0,Math.floor(e));if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60),i=n%60;return r>=24?`${Math.floor(r/24)}d ${r%24}h ${i}m`:i===0?`${r}h`:`${r}h ${i}m`}function Wh(e){let t=Math.max(0,Math.floor(e));if(t<1e3)return String(t);let n=[{threshold:0xe8d4a51000,divisor:0xe8d4a51000,suffix:`T`},{threshold:1e9,divisor:1e9,suffix:`B`},{threshold:1e6,divisor:1e6,suffix:`M`},{threshold:1e3,divisor:1e3,suffix:`K`}].find(e=>t>=e.threshold),r=t/n.divisor,i=r<10?2:r<100?1:0;return`${r.toFixed(i).replace(/\.0+$/,``).replace(/(\.\d*?)0+$/,`$1`)}${n.suffix}`}function Gh(e){return e.tokenBudget===null?null:Math.min(100,Math.max(0,e.tokensUsed/e.tokenBudget*100))}function Kh(e){let t=e.trim();if(t.length===0)return null;if(!/^[1-9]\d*$/.test(t))return;let n=Number(t);return Number.isSafeInteger(n)&&n>0?n:void 0}function qh(e){let t=0;for(let n of e){let e=n.codePointAt(0);if(e===void 0||e>=55296&&e<=57343)return null;t+=1}return t}function Jh(e){let t=e.objective.trim();if(t.length===0)return{ok:!1,error:`Enter a goal objective.`};let n=qh(t);if(n===null||n>4e3)return{ok:!1,error:`Use valid Unicode text within ${z.toLocaleString()} characters.`};let r=Kh(e.tokenBudgetInput);if(r===void 0)return{ok:!1,error:`Token budget must be a positive whole number, or blank.`};if(e.mode===`resumeBudget`&&r!==null&&r<=e.goal.tokensUsed)return{ok:!1,error:`Set a budget above ${Wh(e.goal.tokensUsed)} tokens, or leave it blank for no limit.`};let i={};return t!==e.goal.objective&&(i.objective=t),(r!==e.goal.tokenBudget||e.mode===`resumeBudget`)&&(i.tokenBudget=r),(e.mode===`resumeBudget`||e.goal.status===`complete`)&&(i.status=`active`),{ok:!0,patch:i}}function Yh(e,t){return e instanceof Error&&e.message.trim().length>0?e.message:t}var Xh={active:`Active`,paused:`Paused`,blocked:`Blocked`,usageLimited:`Usage limited`,budgetLimited:`Budget limited`,complete:`Complete`};function Zh(e){switch(e){case`active`:return`success`;case`blocked`:case`budgetLimited`:case`usageLimited`:return`warning`;case`complete`:return`info`;case`paused`:return`outline`}}var Qh=(0,Z.memo)(function(e){let t=(0,X.c)(16),{goal:n}=e,r;t[0]===n.timeUsedSeconds?r=t[1]:(r=Uh(n.timeUsedSeconds),t[0]=n.timeUsedSeconds,t[1]=r);let i=r,a=Gh(n),o=Wh(n.tokensUsed),s=n.tokenBudget===null?null:Wh(n.tokenBudget),c;t[2]===i?c=t[3]:(c=(0,Q.jsxs)(`span`,{children:[`Time `,i]}),t[2]=i,t[3]=c);let l=s===null?`${o} tokens used`:`${o}/${s} tokens`,u;t[4]===l?u=t[5]:(u=(0,Q.jsx)(`span`,{children:l}),t[4]=l,t[5]=u);let d;t[6]!==c||t[7]!==u?(d=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[c,u]}),t[6]=c,t[7]=u,t[8]=d):d=t[8];let f;t[9]!==n.tokenBudget||t[10]!==n.tokensUsed||t[11]!==a?(f=n.tokenBudget!==null&&a!==null?(0,Q.jsx)(`div`,{"aria-label":`Goal token budget: ${n.tokensUsed} of ${n.tokenBudget} tokens used`,"aria-valuemax":n.tokenBudget,"aria-valuemin":0,"aria-valuenow":Math.min(n.tokensUsed,n.tokenBudget),className:`h-1.5 overflow-hidden rounded-full bg-muted`,role:`progressbar`,children:(0,Q.jsx)(`div`,{className:W(`h-full rounded-full transition-[width]`,a>=100?`bg-warning`:`bg-primary/70`),style:{width:`${a}%`}})}):null,t[9]=n.tokenBudget,t[10]=n.tokensUsed,t[11]=a,t[12]=f):f=t[12];let p;return t[13]!==d||t[14]!==f?(p=(0,Q.jsxs)(`div`,{className:`space-y-1.5 text-[11px] text-muted-foreground`,children:[d,f]}),t[13]=d,t[14]=f,t[15]=p):p=t[15],p}),$h=(0,Z.memo)(function({goal:e,disabled:t=!1,onUpdateGoal:n,onClearGoal:r}){let i=(0,Z.useId)(),a=(0,Z.useId)(),o=(0,Z.useId)(),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(e.objective),[h,g]=(0,Z.useState)(e.tokenBudget===null?``:String(e.tokenBudget)),[_,v]=(0,Z.useState)(!1),y=Gh(e),b=Uh(e.timeUsedSeconds),x=e.tokenBudget===null?`${Wh(e.tokensUsed)} tokens used`:`${Wh(e.tokensUsed)}/${Wh(e.tokenBudget)} tokens`,S=s!==null,C=async(e,t,n)=>{if(s!==null)return!1;u(null),c(e);try{return await t(),!0}catch(e){return u(Yh(e,n)),!1}finally{c(null)}},w=e=>C(e,()=>n({status:e}),`Could not update the goal.`),T=t=>{u(null),m(e.objective),g(e.tokenBudget===null?``:String(e.tokenBudget)),f(t)},E=async()=>{if(d===null)return;let t=Jh({goal:e,mode:d,objective:p,tokenBudgetInput:h});if(!t.ok){u(t.error);return}if(Object.keys(t.patch).length===0){f(null);return}await C(d,()=>n(t.patch),d===`resumeBudget`?`Could not update the budget and resume the goal.`:`Could not save goal changes.`)&&f(null)},D=async()=>{await C(`clear`,r,`Could not clear the goal.`)&&v(!1)};return(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,"aria-busy":S||void 0,children:[(0,Q.jsxs)(At,{children:[(0,Q.jsxs)(le,{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 ${Xh[e.status]}. Time ${b}. ${x}.`,disabled:t||S,type:`button`}),children:[S?(0,Q.jsx)(lr,{"aria-hidden":!0,className:`size-4 animate-spin`}):(0,Q.jsx)(pr,{"aria-hidden":!0,className:`size-4`}),(0,Q.jsx)(`span`,{className:`hidden max-w-24 truncate text-[11px] sm:inline`,children:Xh[e.status]}),(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`hidden text-[10px] text-muted-foreground/64 md:inline`,children:b}),e.tokenBudget===null?null:(0,Q.jsxs)(`span`,{"aria-hidden":!0,className:`hidden text-[10px] text-muted-foreground/64 lg:inline`,children:[Wh(e.tokensUsed),`/`,Wh(e.tokenBudget)]}),y===null?null:(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`hidden h-1 w-9 overflow-hidden rounded-full bg-muted xl:block`,children:(0,Q.jsx)(`span`,{className:W(`block h-full`,y>=100?`bg-warning`:`bg-primary/70`),style:{width:`${y}%`}})})]}),(0,Q.jsxs)(Le,{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)(Ra,{size:`sm`,variant:Zh(e.status),children:Xh[e.status]})]}),(0,Q.jsx)(`p`,{className:`line-clamp-3 text-sm text-foreground`,children:e.objective}),(0,Q.jsx)(Qh,{goal:e})]}),(0,Q.jsx)(ze,{}),(0,Q.jsxs)(Pt,{disabled:S,onClick:()=>T(e.status===`budgetLimited`?`resumeBudget`:`edit`),children:[(0,Q.jsx)(sr,{"aria-hidden":!0}),`Edit goal`]}),e.status===`active`?(0,Q.jsx)(Pt,{disabled:S,onClick:()=>void w(`paused`),children:`Pause goal`}):e.status!==`complete`&&e.status!==`budgetLimited`?(0,Q.jsx)(Pt,{disabled:S,onClick:()=>void w(`active`),children:`Resume goal`}):null,e.status===`complete`?null:(0,Q.jsx)(Pt,{disabled:S,onClick:()=>void w(`complete`),children:`Mark complete`}),(0,Q.jsx)(ze,{}),(0,Q.jsx)(Pt,{disabled:S,onClick:()=>{u(null),v(!0)},className:W(`text-destructive focus:text-destructive`),children:`Clear goal…`})]})]}),l!==null&&d===null&&!_?(0,Q.jsx)(`span`,{role:`alert`,title:l,className:`max-w-40 truncate text-[11px] text-destructive`,children:l}):null,(0,Q.jsx)(Ia,{open:d!==null,onOpenChange:e=>{!e&&!S&&f(null)},children:(0,Q.jsxs)(Fa,{"aria-busy":S||void 0,className:`max-w-md`,children:[(0,Q.jsxs)(Aa,{children:[(0,Q.jsx)(ja,{children:d===`resumeBudget`?`Adjust budget and resume`:`Edit goal`}),(0,Q.jsx)(Pa,{children:d===`resumeBudget`?`Increase the exhausted budget, or leave it blank to continue without a limit.`:`Update the objective or optional token budget without resetting progress.`})]}),(0,Q.jsx)(Na,{className:`space-y-4`,children:(0,Q.jsxs)(`form`,{id:o,className:`space-y-4`,onSubmit:e=>{e.preventDefault(),E()},children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{htmlFor:i,className:`text-[11px] font-medium text-muted-foreground/75`,children:`Objective`}),(0,Q.jsx)(La,{id:i,autoFocus:!0,disabled:S,value:p,"aria-invalid":p.trim().length===0||void 0,onChange:e=>m(e.currentTarget.value),rows:4})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsxs)(`label`,{htmlFor:a,className:`text-[11px] font-medium text-muted-foreground/75`,children:[`Token budget `,(0,Q.jsx)(`span`,{className:`font-normal`,children:`(optional)`})]}),(0,Q.jsx)(jr,{id:a,disabled:S,inputMode:`numeric`,min:1,step:1,type:`number`,value:h,onChange:e=>g(e.currentTarget.value)}),(0,Q.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:d===`resumeBudget`?`${Wh(e.tokensUsed)} tokens used so far. The new limit must be higher.`:`Leave blank for no token limit.`})]}),l===null?null:(0,Q.jsx)(`p`,{role:`alert`,className:`text-sm text-destructive`,children:l})]})}),(0,Q.jsxs)(Ma,{variant:`bare`,children:[(0,Q.jsx)(I,{type:`button`,variant:`outline`,size:`sm`,disabled:S,onClick:()=>f(null),children:`Cancel`}),(0,Q.jsxs)(I,{type:`submit`,form:o,size:`sm`,disabled:S,children:[S?(0,Q.jsx)(lr,{"aria-hidden":!0,className:`size-3.5 animate-spin`}):null,d===`resumeBudget`?`Save and resume`:`Save changes`]})]})]})}),(0,Q.jsx)(Ph,{open:_,onOpenChange:e=>{S||v(e)},children:(0,Q.jsxs)(Rh,{"aria-busy":S||void 0,className:`max-w-md`,children:[(0,Q.jsxs)(zh,{children:[(0,Q.jsx)(Vh,{children:`Clear goal?`}),(0,Q.jsx)(Hh,{children:`This removes the current goal and its recorded progress from this thread.`}),l===null?null:(0,Q.jsx)(`p`,{role:`alert`,className:`text-sm text-destructive`,children:l})]}),(0,Q.jsxs)(Bh,{children:[(0,Q.jsx)(I,{type:`button`,variant:`outline`,size:`sm`,disabled:S,onClick:()=>v(!1),children:`Keep goal`}),(0,Q.jsxs)(I,{type:`button`,variant:`destructive`,size:`sm`,disabled:S,onClick:()=>void D(),children:[S?(0,Q.jsx)(lr,{"aria-hidden":!0,className:`size-3.5 animate-spin`}):null,`Clear goal`]})]})]})})]})}),eg=(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)(pr,{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}),tg=U(navigator.platform)?`⌘`:`Ctrl`,ng=(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:[tg,`+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}),rg=(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}),ig=e=>e.isResponding?`Submitting...`:e.compact?e.isLastQuestion?`Submit`:`Next`:e.isLastQuestion?`Submit answers`:`Next question`,ag=(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=W(`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)(An,{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=W(`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=ig({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=W(`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:W(`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:W(`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)(Kn,{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=W(`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=W(`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)($n,{className:`size-3.5`}),t[61]=f):f=t[61];let p;t[62]===d?p=t[63]:(p=(0,Q.jsx)(le,{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)(Le,{align:`end`,side:`top`,children:(0,Q.jsx)(Pt,{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)(At,{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)(Kn,{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}),og=(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 sg(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=W(`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 cg=(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)(lg,{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}),lg=(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=qo(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)(Ra,{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:W(`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)(sg,{className:W(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)(un,{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}),ug=(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 dg(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:_}=ft(),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=W(`[-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 fg(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=W(`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 pg=`linear-gradient(to bottom, transparent 0, black 0.75rem, black calc(100% - 0.75rem), transparent 100%)`;function mg(e){let t=(0,X.c)(9),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={maskImage:pg,WebkitMaskImage:pg},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=W(`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 hg=5,gg=3,_g=4;function vg(e){let t=Je(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 yg=(0,Z.memo)(function(e){let t=(0,X.c)(40),{queuedTurn:n}=e,r,i;t[0]===n?i=t[1]:(i=vg(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=W(`size-3 shrink-0`,l),t[2]=l,t[3]=u);let d;t[4]===u?d=t[5]:(d=(0,Q.jsx)(ln,{"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=W(`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)(Jt,{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)(Pn,{className:`size-3.5`}),t[21]=y):y=t[21];let b;t[22]===v?b=t[23]:(b=(0,Q.jsx)(le,{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)(sr,{className:`size-4`}),t[27]=S):S=t[27];let C;t[28]===x?C=t[29]:(C=(0,Q.jsx)(Le,{align:`end`,side:`bottom`,children:(0,Q.jsxs)(Pt,{onClick:x,children:[S,`Edit message`]})}),t[28]=x,t[29]=C);let w;t[30]!==b||t[31]!==C?(w=(0,Q.jsxs)(At,{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 bg(e){return e===`completed`}function xg(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 Sg(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 Cg=(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=W(`size-[14px] shrink-0 [stroke-width:2.25]`,xg(n));switch(e.status){case`completed`:r=(0,Q.jsx)(un,{className:i,"aria-hidden":`true`});break bb0;case`inProgress`:r=(0,Q.jsx)(Kn,{className:W(i,`animate-spin`),"aria-hidden":`true`});break bb0;case`failed`:case`stopped`:{let e;t[2]===i?e=t[3]:(e=(0,Q.jsx)(Yt,{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)(mr,{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}),wg=(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=W(`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=Sg(n.status),t[2]=n.status,t[3]=o);let s;t[4]===n.status?s=t[5]:(s=(0,Q.jsx)(Cg,{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=W(`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}),Tg=[`text-orange-500`,`text-emerald-500`,`text-sky-500`,`text-fuchsia-500`,`text-amber-500`,`text-lime-500`];function Eg(e){return Tg[e%Tg.length]}var Dg=(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=W(`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)(ar,{className:`size-4`}):(0,Q.jsx)($n,{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(Ag),"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)(Fr,{open:i,children:(0,Q.jsx)(dg,{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(jg)})}):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}),Og=(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)(ar,{className:`size-3.5`}):(0,Q.jsx)($n,{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)(Fr,{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],_}),kg=(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=>bg(e.status)).length,total:e}})():null;return(0,Q.jsxs)(fg,{"data-chat-composer-context-panel":`true`,children:[r?(0,Q.jsx)(Og,{title:`Queued`,icon:nn,count:String(r.length),open:e.queuedOpen,onOpenChange:e.onQueuedOpenChange,children:(0,Q.jsx)(mg,{scrollable:r.length>_g,ariaLabel:`Queued messages list`,children:r.map(t=>(0,Q.jsx)(yg,{queuedTurn:t,onDelete:e.onDeleteQueuedTurn,onEdit:e.onEditQueuedTurn},t.id))})}):null,t&&i?(0,Q.jsx)(Og,{title:`Tasks`,icon:jn,count:`${i.completed}/${i.total}`,open:e.taskListOpen,onOpenChange:e.onTaskListOpenChange,children:(0,Q.jsx)(mg,{scrollable:t.items.length>hg,ariaLabel:`Tasks list`,children:t.items.map(e=>(0,Q.jsx)(wg,{item:e},e.id))})}):null,n?(0,Q.jsx)(`div`,{"data-chat-background-subagents-panel":`true`,children:(0,Q.jsx)(Og,{title:`Background agents`,icon:pn,count:String(n.length),open:e.backgroundSubagentsOpen,onOpenChange:e.onBackgroundSubagentsOpenChange,children:(0,Q.jsx)(mg,{scrollable:n.length>gg,ariaLabel:`Background agents list`,children:n.map((e,t)=>(0,Q.jsx)(Dg,{row:e,index:t},e.id))})})}):null]})});function Ag(e){return!e}function jg(e){return(0,Q.jsx)(Fm,{workEntry:e,indented:!1},e.id)}function Mg(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=W(`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)(ir,{className:o}),t[4]=o,t[5]=s),s}var Ng=(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(zg),t[2]=d):d=t[2];let f=i===`error`?`text-destructive`:`text-foreground/85`,p;t[3]===f?p=t[4]:(p=W(`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)(ar,{className:`size-3`}):(0,Q.jsx)($n,{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)(Fr,{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}),Pg=(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=ie[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)(Mg,{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)(rr,{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)(Ng,{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}),Fg=(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)(Mg,{variant:`error`}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==r?(a=(0,Q.jsx)(Ng,{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 Ig(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 Lg=(0,Z.memo)(function(e){let t=(0,X.c)(15),{resumeState:n,onResumeAction:r}=e,i;t[0]===n?i=t[1]:(i=Ig(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)(Kn,{className:`mt-[3px] size-3.5 animate-spin text-warning`}):(0,Q.jsx)(Mg,{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:W(`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)(Tn,{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)(Ng,{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}),Rg=(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)(Pg,{status:n}),t[0]=n,t[1]=s);let c;t[2]!==o||t[3]!==r?(c=(0,Q.jsx)(Lg,{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)(Fg,{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)(fg,{"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 zg(e){return!e}function Bg(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=W(`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 Vg=[.22,1,.36,1],Hg=[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}?`],Ug=[`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 Wg(e){let t=e?.trim();if(t){let e=Hg[Math.floor(Math.random()*Hg.length)];return e(t)}return Ug[Math.floor(Math.random()*Ug.length)]}function Gg(e){let t=(0,X.c)(9),{projectName:n}=e,r=!!_n(),i,a;t[0]===n?a=t[1]:(a=Wg(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:Vg},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)(cr,{features:Ut,children:(0,Q.jsx)(In.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 Kg=`shioricode`;o(ae,t);function qg(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 Jg(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 Yg(e){!e||typeof URL>`u`||!e.startsWith(`blob:`)||URL.revokeObjectURL(e)}function Xg(e){if(!(e.role!==`user`||!e.attachments))for(let t of e.attachments)t.type===`image`&&Yg(t.previewUrl)}function Zg(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 Qg(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 $g(){return`${Kg}/${H().slice(0,8).toLowerCase()}`}function e_(e){if(typeof URL>`u`||!e.previewUrl.startsWith(`blob:`))return e;try{return{...e,previewUrl:URL.createObjectURL(e.file)}}catch{return e}}function t_(e){let t=Je(e.prompt).trim(),n=nt(e.terminalContexts);return{trimmedPrompt:t,sendableTerminalContexts:n,expiredTerminalContextCount:e.terminalContexts.length-n.length,hasSendableContent:t.length>0||e.imageCount>0||n.length>0}}function n_(e){let t=e.objective.trim();return!e.goalSendMode||e.interactionMode===`plan`||t.length===0||e.standaloneSlashCommand?.command===`compact`||e.standaloneSlashCommand?.command===`review`?null:{objective:t,status:`active`,tokenBudget:null}}function r_(e){return e!==null&&e.status!==`complete`}function i_(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 a_(e){let t=i_(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 o_(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 s_(e){return e.enabled&&e.installed&&(e.status===`warning`||e.status===`error`)&&e.message?.toLowerCase().includes(`timed out while running command.`)===!0}function c_(e){return!e||e.status===`ready`||e.status===`disabled`||s_(e)||Fe(e)?null:e}function l_(e){return!!(e&&(e.latestTurn!==null||e.messages.length>0||e.session!==null))}async function u_(e,t=1e3){let n=()=>ut.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=ut.subscribe(t=>{t.threads.some(t=>t.id===e)&&o(!0)});if(n()){o(!0);return}a=globalThis.setTimeout(()=>{o(!1)},t)})}async function d_(e,t=1e3){let n=()=>ut.getState().threads.find(t=>t.id===e);return l_(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=ut.subscribe(t=>{l_(t.threads.find(t=>t.id===e))&&o(!0)});if(l_(n())){o(!0);return}a=globalThis.setTimeout(()=>{o(!1)},t)})}var f_=5e3,p_=420,m_=`${Math.round(re/(1024*1024))}MB`,h_=`[User attached one or more images without additional text. Respond using the conversation context and the attached image(s).]`,g_=[],__=[],v_=[],y_={},b_={insert:`INSERT`,normal:`NORMAL`,visual:`VISUAL`,"visual-line":`V-LINE`};function x_(e){let t=(0,X.c)(2),{mode:n}=e,r=b_[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 S_(e){return e.enabled&&e.installed&&(e.status===`warning`||e.status===`error`)}var C_=new Gi(500,512*1024);function w_(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 T_(e){let t=C_.get(e.id);if(t&&t.proposedPlans===e.proposedPlans)return t.entry;let n={id:e.id,proposedPlans:e.proposedPlans};return C_.set(e.id,{proposedPlans:e.proposedPlans,entry:n},w_(e)),n}function E_(e){return ut((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?[T_(e)]:[]),n)}},[e]))}function D_(e){let t=Ee(e.models,e.model,e.provider);return e.effort&&t.promptInjectedEffortLevels.includes(e.effort)?be(e.text,e.effort):e.text}function O_(e){return e?.options?{[e.provider]:e.options}:null}function k_(e){return`${e} doesn't support image attachments. Remove the images or switch to a multimodal model.`}var A_=`Review the recent changes and suggest improvements.`,j_=`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.`,M_=120,N_=(e,t,n)=>n.endsWith(` `)&&e[t]===` `?t+1:t,P_=(e,t)=>{let n=new Map(e.map(e=>[e.id,e]));return t.flatMap(e=>{let t=n.get(e);return t?[t]:[]})},F_=(e,t)=>e.length===t.length&&e.every((e,n)=>e.id===t[n]);function I_(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=W(`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 ut((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 R_(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=ut(n),i=ut(B_),a=ut(z_),o;t[2]!==i||t[3]!==e.activeThread||t[4]!==e.threadId?(o=t=>{if(!e.threadId)return;let n=!!t?.preparingWorktree,r=ut.getState().pendingThreadDispatchById[e.threadId]??null,a=r?r.preparingWorktree===n?r:{...r,preparingWorktree:n}:Ye(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=yt({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 z_(e){return e.clearPendingThreadDispatch}function B_(e){return e.beginPendingThreadDispatch}function V_({threadId:e,visible:t,focusRequestId:n,splitShortcutLabel:r,newShortcutLabel:i,closeShortcutLabel:a,onAddTerminalContext:o}){let s=xr(e),c=bt(t=>t.draftThreadsByThreadId[e]??null),l=Sr(s?.projectId??c?.projectId),u=Bt(t=>zt(t.terminalStateByThreadId,e)),d=Bt(e=>e.setTerminalHeight),f=Bt(e=>e.splitTerminal),p=Bt(e=>e.newTerminal),m=Bt(e=>e.setActiveTerminal),h=Bt(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-${H()}`),O()},[O,f,e]),j=(0,Z.useCallback)(()=>{p(e,`terminal-${H()}`),O()},[O,p,e]),M=(0,Z.useCallback)(t=>{m(e,t),O()},[O,m,e]),P=(0,Z.useCallback)(t=>{let n=N();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]),F=(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)(uc,{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:P,onHeightChange:k,onAddTerminalContext:F})})})}function H_({isFocusedPane:e=!0,threadId:t}){let n=xr(t),r=ut(e=>e.setError),i=ut(e=>e.setThreadBranch),a=Ht(e=>e.markThreadVisited),o=Ht(e=>e.threadLastVisitedAtById[t]),s=yr(),{updateSettings:c}=br(),l=bt(e=>e.setStickyModelSelection),u=s.timestampFormat,g=y(),_=d({strict:!1,select:e=>bi(e)}),v=e?_:_.panes?{panes:_.panes}:{},{resolvedTheme:b}=zi(),x=f(Or({queryClient:h()})),S=Tt(t),C=S.prompt,w=S.images,T=S.terminalContexts,E=(0,Z.useMemo)(()=>t_({prompt:C,imageCount:w.length,terminalContexts:T}),[w.length,T,C]),D=S.nonPersistedImageIds,O=bt(e=>e.setPrompt),j=bt(e=>e.setModelSelection),P=bt(e=>e.setProviderModelOptions),F=bt(e=>e.setRuntimeMode),L=bt(e=>e.setInteractionMode),z=bt(e=>e.addImage),ee=bt(e=>e.addImages),te=bt(e=>e.removeImage),re=bt(e=>e.insertTerminalContext),ie=bt(e=>e.addTerminalContexts),ae=bt(e=>e.removeTerminalContext),se=bt(e=>e.setTerminalContexts),ce=bt(e=>e.clearPersistedAttachments),le=bt(e=>e.syncPersistedAttachments),ue=bt(e=>e.clearComposerContent),pe=bt(e=>e.setDraftThreadContext),he=bt(e=>e.getDraftThreadByProjectId),ge=bt(e=>e.getDraftThread),_e=bt(e=>e.setProjectDraftThreadId),ye=bt(e=>e.clearProjectDraftThreadId),be=bt(e=>e.draftThreadsByThreadId[t]??null),G=(0,Z.useRef)(C),[Ce,Te]=(0,Z.useState)(!1),[De,Ae]=(0,Z.useState)(!1),je=(0,Z.useRef)({showScrollToBottom:!1,isScrolledFromTop:!1}),Pe=(0,Z.useRef)(null),Fe=(0,Z.useRef)(null),Le=(0,Z.useRef)(new Set),ze=(0,Z.useRef)(new Map),[Be,He]=(0,Z.useState)(()=>new Set),[Je,Ye]=(0,Z.useState)(!1),[Qe,nt]=(0,Z.useState)(null),[at,lt]=(0,Z.useState)([]),dt=(0,Z.useRef)(at);dt.current=at;let ft=(0,Z.useRef)(T),[mt,yt]=(0,Z.useState)({}),[wt,Ot]=(0,Z.useState)(!1),[At,Mt]=(0,Z.useState)(!1),[Pt,It]=(0,Z.useState)([]),[Lt,Vt]=(0,Z.useState)(null),[Ut,Wt]=(0,Z.useState)([]),[Gt,Kt]=(0,Z.useState)({}),[qt,Jt]=(0,Z.useState)({}),[Yt,Xt]=(0,Z.useState)({}),[Zt,Qt]=(0,Z.useState)(!1),[$t,en]=(0,Z.useState)(!1),[tn,nn]=(0,Z.useState)(!1),[rn,an]=(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)(()=>Io(C,C.length)),[En,Dn]=(0,Z.useState)(()=>Ro(C,C.length)),[On,kn]=(0,Z.useState)(!1),jn=(0,Z.useRef)(null),[Mn,Nn]=(0,Z.useState)(null),Pn=(0,Z.useRef)(!0),Fn=(0,Z.useRef)(0),In=(0,Z.useRef)(0),Ln=(0,Z.useRef)(!1),Rn=(0,Z.useRef)(null),zn=(0,Z.useRef)(!1),Bn=(0,Z.useRef)(null),Vn=(0,Z.useRef)(0),Hn=(0,Z.useRef)(null),Gn=(0,Z.useRef)(null),Kn=(0,Z.useRef)(null),Jn=(0,Z.useRef)(null),Yn=(0,Z.useRef)(0),Xn=(0,Z.useRef)(null),Zn=(0,Z.useRef)(null),Qn=(0,Z.useRef)(null),er=(0,Z.useRef)([]),tr=(0,Z.useRef)(!1),nr=(0,Z.useRef)(!1),rr=(0,Z.useRef)([]),ir=(0,Z.useRef)(null),ar=(0,Z.useRef)({}),or=(0,Z.useRef)({}),sr=(0,Z.useRef)(!1),cr=(0,Z.useRef)(new Map),lr=(0,Z.useRef)(0),ur=(0,Z.useRef)({}),dr=(0,Z.useCallback)(e=>{jn.current=e,Nn(e)},[]),fr=Bt(e=>e.terminalStateByThreadId),pr=(0,Z.useMemo)(()=>zt(fr,t),[fr,t]),mr=(0,Z.useMemo)(()=>Object.entries(fr).flatMap(([e,t])=>t.terminalOpen?[e]:[]),[fr]),hr=Bt(e=>e.setTerminalOpen),gr=Bt(e=>e.splitTerminal),_r=Bt(e=>e.newTerminal),vr=Bt(e=>e.closeTerminal),{branchThread:Cr}=Si(),wr=za(e=>Ba(e.queuedTurnsByThreadId,t)),Er=za(e=>e.enqueueQueuedTurn),Dr=za(e=>e.removeQueuedTurn),kr=bt(e=>e.draftThreadsByThreadId),Ar=(0,Z.useMemo)(()=>Object.keys(kr),[kr]),[jr,Mr]=(0,Z.useState)([]),Nr=(0,Z.useCallback)(e=>{O(t,e)},[O,t]),Pr=(0,Z.useCallback)(e=>{z(t,e)},[z,t]),Fr=(0,Z.useCallback)(e=>{ee(t,e)},[ee,t]),Ir=(0,Z.useCallback)(e=>{ie(t,e)},[ie,t]),Lr=(0,Z.useCallback)(e=>{te(t,e)},[te,t]),zr=(0,Z.useCallback)(e=>{let n=T.findIndex(t=>t.id===e);if(n<0)return;let r=st(G.current,n);G.current=r.prompt,Nr(r.prompt),ae(t,e),Tn(r.cursor),Dn(Ro(r.prompt,Mo(r.prompt,r.cursor)))},[T,ae,Nr,t]),Br=Sr(be?.projectId),Hr=n?null:mt[t]??null,Ur=(0,Z.useMemo)(()=>be?qg(t,be,Br?.defaultModelSelection??{provider:`codex`,model:oe.codex},Hr):void 0,[be,Br?.defaultModelSelection,Hr,t]),K=n??Ur,Kr=S.runtimeMode??K?.runtimeMode??`full-access`,qr=S.interactionMode??K?.interactionMode??`default`,Jr=n!==void 0,Zr=!Jr&&Ur!==void 0,Qr=Zr,$r=ui(),ei=ti(v,{browserEnabled:$r}),ri=ei===`diff`,ii=ei===`browser`,q=K?.id??null,{serverThreadIds:oi,parentThread:si,childThreads:ci}=L_({isServerThread:Jr,serverThreadId:n?.id,parentThreadId:n?.parentThreadId??null}),li=(0,Z.useMemo)(()=>{let e=new Set([...oi,...Ar]);return mr.filter(t=>e.has(t))},[Ar,mr,oi]),fi=K?.latestTurn??null,pi=E_((0,Z.useMemo)(()=>{let e=[];K?.id&&e.push(K.id);let t=fi?.sourceProposedPlan?.threadId;return t&&t!==K?.id&&e.push(t),e},[fi?.sourceProposedPlan?.threadId,K?.id])),gi=(0,Z.useMemo)(()=>mc(K?.activities??[]),[K?.activities]);(0,Z.useEffect)(()=>{Mr(e=>{let t=Jg({currentThreadIds:e,openThreadIds:li,activeThreadId:q,activeThreadTerminalOpen:!!(q&&pr.terminalOpen),maxHiddenThreadCount:10});return e.length===t.length&&e.every((e,n)=>e===t[n])?e:t})},[q,li,pr.terminalOpen]);let _i=me(fi,K?.session??null),vi=Sr(K?.projectId),yi=K?.projectId===null,xi=vi!==void 0,Ci=(0,Z.useCallback)(async()=>{if(!(!Jr||!n))try{await Cr(n.id)}catch(e){mi.add({type:`error`,title:`Could not branch thread`,description:e instanceof Error?e.message:`An unknown error occurred.`})}},[Cr,Jr,n]),Ti=(0,Z.useCallback)(e=>{Qr&&(bn({initialReference:e??null,key:Date.now()}),vn(null))},[Qr]),Ei=(0,Z.useCallback)(()=>{bn(null)},[]),Oi=(0,Z.useCallback)(async e=>{if(!vi)throw Error(`No active project is available for this pull request.`);let n=he(vi.id);if(n)return pe(n.threadId,e),_e(vi.id,n.threadId,e),n.threadId!==t&&await g({to:`/$threadId`,params:{threadId:n.threadId}}),n.threadId;let r=ge(t);if(!Jr&&r?.projectId===vi.id)return pe(t,e),_e(vi.id,t,e),t;ye(vi.id);let i=V();return _e(vi.id,i,{createdAt:new Date().toISOString(),runtimeMode:Se,interactionMode:ve,...e}),await g({to:`/$threadId`,params:{threadId:i}}),i},[vi,ye,ge,he,Jr,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||!_i||!fi?.completedAt)return;let e=Date.parse(fi.completedAt);if(Number.isNaN(e))return;let t=o?Date.parse(o):NaN;!Number.isNaN(t)&&t>=e||a(n.id)},[fi?.completedAt,o,_i,a,n?.id]);let Ai=K?.session?.provider??null,ji=S.activeProvider??null,Mi=K?.modelSelection.provider??vi?.defaultModelSelection?.provider??null,Ni=l_(K),Pi=Ni?Ai??Mi??ji??null:null,Fi=R()?.providers??v_,Ii=(0,Z.useMemo)(()=>({kimiCode:Fi.find(e=>e.provider===`kimiCode`)?.models??[],gemini:Fi.find(e=>e.provider===`gemini`)?.models??[],glm:Fi.find(e=>e.provider===`glm`)?.models??[],cursor:Fi.find(e=>e.provider===`cursor`)?.models??[],codex:Fi.find(e=>e.provider===`codex`)?.models??[],claudeAgent:Fi.find(e=>e.provider===`claudeAgent`)?.models??[]}),[Fi]),Li=(0,Z.useRef)(!1),Ri=Ue(Fi,ji??Mi??`codex`),J=Pi??Ri,{modelOptions:Bi,selectedModel:Vi}=et({threadId:t,providers:Fi,selectedProvider:J,threadModelSelection:K?.modelSelection,projectModelSelection:vi?.defaultModelSelection,settings:s}),Hi=Me(Fi,J),Ui=(0,Z.useMemo)(()=>Ge({provider:J,model:Vi,models:Hi,prompt:C,modelOptions:Bi}),[Bi,C,Vi,J,Hi]),Gi=Ui.promptEffort,Ki=Ui.modelOptionsForDispatch,Ji=(0,Z.useMemo)(()=>Oe(Hi,Vi,J),[Vi,J,Hi]),Yi=(0,Z.useMemo)(()=>de(Hi,Vi,J),[Vi,J,Hi]),Zi=(0,Z.useMemo)(()=>We(J,Vi,Ki),[Vi,Ki,J]),Qi=(0,Z.useCallback)((e,t,n)=>{let r=Me(Fi,e.provider),i=Ge({provider:e.provider,model:e.model,models:r,prompt:n,modelOptions:O_(e)});return D_({provider:e.provider,model:e.model,models:r,effort:i.promptEffort,text:t})},[Fi]);(0,Z.useEffect)(()=>{if(Li.current||!Fi.some(S_))return;let e=N();e&&(Li.current=!0,e.server.refreshProviders().catch(()=>{Li.current=!1}))},[Fi]);let $i=(0,Z.useCallback)(e=>{let t=we(Fi,e);if(t)throw Error(t)},[Fi]),ta=(0,Z.useCallback)(e=>{let t=e.composerImagesSnapshot[0]?.name??null,n=e.trimmedPrompt;return n||=t?`Image: ${t}`:e.composerTerminalContextsSnapshot.length>0?St(e.composerTerminalContextsSnapshot[0]):`New Thread`,$e(n)},[]),na=(0,Z.useCallback)(async e=>{if(!Zr||!K)return!1;if(l_(ut.getState().threads.find(e=>e.id===t)??null))return!0;let n=cr.current.get(t);if(n)return n;let r=N();if(!r)return!1;let i=r.orchestration.dispatchCommand({type:`thread.create`,commandId:B(),threadId:t,projectId:K.projectId,projectlessCwd:K.projectId===null?K.projectlessCwd??null:null,title:e.title,modelSelection:e.modelSelection,runtimeMode:Kr,interactionMode:qr,parentThreadId:null,branchSourceTurnId:null,branch:e.branch,worktreePath:e.worktreePath,createdAt:K.createdAt}).then(async()=>(await u_(t),r.orchestration.dispatchCommand({type:`thread.session.ensure`,commandId:B(),threadId:t,createdAt:new Date().toISOString()}).catch(()=>void 0),!0)).catch(()=>!1).finally(()=>{cr.current.delete(t)});return cr.current.set(t,i),i},[K,qr,Zr,Kr,t]),ra=Vi,oa=(0,Z.useMemo)(()=>We(J,Vi||vi?.defaultModelSelection?.model||oe.codex,Zi.options),[vi?.defaultModelSelection?.model,Vi,Zi.options,J]),sa=ot(K?.session??null),ca=K?.activities??g_,la=(0,Z.useMemo)(()=>Ze(ca,void 0),[ca]),ua=(0,Z.useMemo)(()=>qe(ca),[ca]),da=(0,Z.useMemo)(()=>Re(ca,fi?.turnId),[fi?.turnId,ca]),fa=K?.session?.orchestrationStatus??null,pa=(0,Z.useMemo)(()=>fa===`running`?gt(ca):[],[ca,fa]),ma=(0,Z.useMemo)(()=>fa===`running`?ct(ca):[],[ca,fa]),Y=ma[0]??null,ha=(0,Z.useMemo)(()=>Y?Gt[Y.requestId]??y_:y_,[Y,Gt]),ga=Y?qt[Y.requestId]??0:0,_a=(0,Z.useMemo)(()=>Y?qo(Y.questions,ha,ga):null,[ha,ga,Y]),va=(0,Z.useMemo)(()=>Y?Go(Y.questions,ha):null,[ha,Y]),ya=Y?Ut.includes(Y.requestId):!1,[ba,xa]=(0,Z.useState)({}),Sa=(0,Z.useMemo)(()=>_i?Nt(K?.proposedPlans??[],fi?.turnId??null):null,[fi?.turnId,K?.proposedPlans,_i]),Ca=(0,Z.useMemo)(()=>Ie({threads:pi,latestTurn:fi,latestTurnSettled:_i,threadId:K?.id??null}),[fi,K?.id,_i,pi]),wa=(0,Z.useMemo)(()=>Dt(ca,fi?.turnId??void 0),[fi?.turnId,ca]),Ta=(0,Z.useMemo)(()=>tt(ca,fi?.turnId??void 0),[fi?.turnId,ca]),Ea=ma.length===0&&qr===`plan`&&_i&&jt(Sa),Da=Ea&&C.trim().length===0&&Sa!==null,Oa=(Sa?ba[Sa.id]??null:null)??Zi,ka=Ue(Fi,Oa.provider),Aa=Me(Fi,ka),ja=Ct(ka,s,Fi,Oa.provider===ka?Oa.model:void 0),Ma=Oa.provider===ka?Oa.options:void 0,Na=(0,Z.useMemo)(()=>Ge({provider:ka,model:ja,models:Aa,prompt:``,modelOptions:Ma?{[ka]:Ma}:null}),[ja,ka,Aa,Ma]),Pa=(0,Z.useMemo)(()=>We(ka,ja,Na.modelOptionsForDispatch),[ja,ka,Na.modelOptionsForDispatch]),Fa=(0,Z.useMemo)(()=>Ii[ka].some(e=>e.slug===ja)?ja:Ve(ja,ka)??ja,[ja,ka,Ii]),Ia=pa[0]??null,{beginLocalDispatch:La,resetLocalDispatch:Ra,localDispatchStartedAt:Va,isPreparingWorktree:X,isSendBusy:Ha}=R_({threadId:K?.id??null,activeThread:K,activeLatestTurn:fi,phase:sa,activities:ca,activePendingApproval:Ia?.requestId??null,activePendingUserInput:Y?.requestId??null,threadError:K?.error}),Ua=ke(fi,K?.session??null),Wa=K?.session?.activeTurnId??fi?.turnId??null,Ga=Ua&&J===`codex`&&w.length===0&&Wa!==null,Ka=Ua||Ha||wt||At,qa=it(fi,K?.session??null,Va),Ja=fi?.startedAt??qa,Ya=Ia!==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}:${wt}:${X}`,[ya,_a,E.hasSendableContent,wt,X,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=Io(e,e.length);Tn(a),Dn(Ro(e,Mo(e,a))),vn(null)},[_a?.customAnswer,Y?.requestId,_a?.activeQuestion?.id]),(0,Z.useEffect)(()=>{ar.current=xn},[xn]);let ro=(0,Z.useCallback)(()=>{for(let e of Object.values(or.current))window.clearTimeout(e);or.current={};for(let e of Object.values(ar.current))for(let t of e)Yg(t);ar.current={},Sn({})},[]);(0,Z.useEffect)(()=>()=>{ro();for(let e of dt.current)Xg(e)},[ro]);let io=(0,Z.useCallback)((e,t)=>{if(t.length===0)return;let n=ar.current[e]??[];for(let e of n)t.includes(e)||Yg(e);Sn(n=>{let r={...n,[e]:t};return ar.current=r,r});let r=or.current[e];typeof r==`number`&&window.clearTimeout(r),or.current[e]=window.setTimeout(()=>{let t=ar.current[e];if(t)for(let e of t)Yg(e);Sn(t=>{if(!(e in t))return t;let n={...t};return delete n[e],ar.current=n,n}),delete or.current[e]},f_)},[]),ao=K?.messages,oo=pt(K?.session?.provider)||pt(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(at.length===0)return t;let n=new Set(t.map(e=>e.id)),r=at.filter(e=>!n.has(e.id));return r.length===0?Ft(t,K?.session??null,{preserveCompletedAssistantMessages:oo}):Ft([...t,...r],K?.session??null,{preserveCompletedAssistantMessages:oo})},[ao,xn,at,K?.session,oo]),co=(0,Z.useMemo)(()=>kt(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 ze.current.values())window.clearTimeout(e);ze.current.clear()},n=()=>{Le.current=new Set(e),He(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);He(e=>{let t=new Set(e);for(let e of i)t.add(e);return t});for(let e of i){let t=ze.current.get(e);t!==void 0&&window.clearTimeout(t);let n=window.setTimeout(()=>{ze.current.delete(e),He(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},p_);ze.current.set(e,n)}}},[K?.id,s.enableAssistantStreaming,co]),(0,Z.useEffect)(()=>()=>{for(let e of ze.current.values())window.clearTimeout(e);ze.current.clear()},[]);let lo=K?.session?.activeTurnId??fi?.turnId??null,uo=!At&&(Ha||wt),fo=co.length===0&&!Ka,{turnDiffSummaries:po,inferredCheckpointTurnCountByTurnId:mo}=qi(K),ho=(0,Z.useMemo)(()=>{let e=new Map;for(let t of po)t.assistantMessageId&&e.set(t.assistantMessageId,t);return e},[po]),go=(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=ho.get(r.message.id);if(!e)continue;let n=e.checkpointTurnCount??mo[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},[mo,co,ho]),_o=(0,Z.useMemo)(()=>{if(!_i||!fi?.startedAt||!fi.completedAt||!da)return null;let e=fe(fi.startedAt,fi.completedAt);return e?`Worked for ${e}`:null},[fi?.completedAt,fi?.startedAt,da,_i]),vo=(0,Z.useMemo)(()=>!_i||!_o?null:xt(co,fi),[fi,_o,_i,co]),yo=(0,Z.useMemo)(()=>K?.id??`no-thread`,[K?.id]),xo=vi?K?.worktreePath??vi.cwd:null,So=En?.kind??null,Co=En?.kind===`path`?En.query:``,wo=So===`path`,[To,Eo]=m(Co,{wait:M_},e=>({isPending:e.isPending})),Do=Co.length>0?To:``,Oo=p(Tr(xo)),ko=A(),Ao=k(),jo=(0,Z.useMemo)(()=>Ii[J].some(e=>e.slug===ra)?ra:Ve(ra,J)??ra,[Ii,ra,J]),No=(0,Z.useMemo)(()=>ia.filter(e=>(Pi===null||e.value===Pi)&&!Rt(xe(Fi,e.value))).flatMap(e=>Ii[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()}))),[Pi,Ii,Fi]),Po=(0,Z.useMemo)(()=>Ee(Hi,Vi,J),[Vi,J,Hi]),Lo=Po.supportsFastMode&&Zi.options?.fastMode===!0,Ho=(0,Z.useMemo)(()=>Xi.find(e=>e.value===s.assistantPersonality)??Xi[0],[s.assistantPersonality]),Uo=p(hi({cwd:xo,query:Do,enabled:wo,limit:80})),Ko=Uo.data?.entries??__,Yo=(0,Z.useMemo)(()=>K?Wr({provider:K.session?.provider??K.modelSelection.provider,workEntries:la,activities:K.activities}):[],[K,la]);(0,Z.useEffect)(()=>{Yo.length===0&&un(!0)},[Yo.length]);let Xo=(0,Z.useMemo)(()=>{if(!En)return[];if(En.kind===`path`){let e=En.query.trim().toLowerCase(),t=Yo.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=Ko.map(e=>({id:`path:${e.kind}:${e.path}`,type:`path`,path:e.path,pathKind:e.kind,label:Wi(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:Lo?`Turn off Fast mode and return to standard inference speed`:Po.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:Ho.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 Xi.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 No.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}`}))},[Ho.label,Yo,En,Lo,On,No,Po.supportsFastMode,s.generateMemories,Ko]),Zo=!!En,ts=(0,Z.useMemo)(()=>Xo.find(e=>e.id===_n)??Xo[0]??null,[_n,Xo]);nr.current=Zo,rr.current=Xo,ir.current=ts,(0,Z.useEffect)(()=>{if(!s.composerVimMode){an(null);return}an(e=>e??`insert`)},[s.composerVimMode]);let ns=(0,Z.useMemo)(()=>new Set(D),[D]),rs=(0,Z.useMemo)(()=>c_(Fi.find(e=>e.provider===J)??null),[J,Fi]),is=Oo.data?.isRepo??!0,as=(0,Z.useMemo)(()=>({context:{terminalFocus:!0,terminalOpen:!!pr.terminalOpen}}),[pr.terminalOpen]),os=(0,Z.useMemo)(()=>({context:{terminalFocus:!1,terminalOpen:!!pr.terminalOpen}}),[pr.terminalOpen]),ss=(0,Z.useMemo)(()=>Di(ko,`terminal.toggle`),[ko]),cs=(0,Z.useMemo)(()=>Di(ko,`terminal.split`,as),[ko,as]),ls=(0,Z.useMemo)(()=>Di(ko,`terminal.new`,as),[ko,as]),us=(0,Z.useMemo)(()=>Di(ko,`terminal.close`,as),[ko,as]),ds=(0,Z.useMemo)(()=>Di(ko,`diff.toggle`,os),[ko,os]),fs=(0,Z.useMemo)(()=>Di(ko,`browser.toggle`,os),[ko,os]),ps=(0,Z.useCallback)(()=>{xi&&g({to:`/$threadId`,params:{threadId:t},replace:!0,search:e=>{if(ri){let t={...ni(e),diff:void 0};return e.panel===`diff`?ai(t):t}return{...e,diff:`1`,panel:`diff`}}})},[ri,xi,g,t]),ms=(0,Z.useCallback)(()=>{g({to:`/$threadId`,params:{threadId:t},replace:!0,search:e=>{let t=wi(e);return e.panel===`browser`?ai(t):t}})},[g,t]),hs=(0,Z.useCallback)(()=>{if(!$r){ms();return}g({to:`/$threadId`,params:{threadId:t},replace:!0,search:e=>({...e,browser:`1`,panel:`browser`})})},[$r,ms,g,t]),gs=(0,Z.useCallback)(()=>{if(!$r){ms();return}if(ii){ms();return}hs()},[ii,$r,ms,hs]);(0,Z.useEffect)(()=>{$r||v.browser!==`1`||ms()},[$r,ms,v.browser]);let _s=!!(K&&(K.messages.length>0||K.session!==null&&K.session.status!==`closed`)),vs=((pr.terminalGroups.find(e=>e.id===pr.activeTerminalGroupId)??pr.terminalGroups.find(e=>e.terminalIds.includes(pr.activeTerminalId))??null)?.terminalIds.length??0)>=4,ys=(0,Z.useCallback)((e,t)=>{if(e){if(ut.getState().threads.some(t=>t.id===e)){r(e,t);return}yt(n=>(n[e]??null)===t?n:{...n,[e]:t})}},[r]),bs=(0,Z.useCallback)(async e=>{if(G.current.length>0||er.current.length>0||ft.current.length>0){let e=`Replace the current composer draft with this queued message?`,t=N();if(!(t?await t.dialogs.confirm(e):window.confirm(e)))return!1}Dr(e.threadId,e.id),ue(e.threadId);let t=e.composerSnapshot.prompt;G.current=t,Nr(t),se(e.threadId,[...e.composerSnapshot.terminalContexts]);let n=Xe(e.composerSnapshot.persistedAttachments);return n.length>0&&(Fr(n),le(e.threadId,[...e.composerSnapshot.persistedAttachments])),j(e.threadId,e.modelSelection),F(e.threadId,e.runtimeMode),L(e.threadId,e.interactionMode),e.goalIntent&&kn(!0),Tn(Io(t,t.length)),Dn(Ro(t,t.length)),ys(e.threadId,null),window.requestAnimationFrame(()=>{Kn.current?.focusAtEnd()}),!0},[Fr,ue,Dr,L,j,F,se,Nr,ys,le]),xs=(0,Z.useCallback)(e=>{K&&Dr(K.id,e)},[K,Dr]),Ss=(0,Z.useCallback)(async e=>{let t=wr.find(t=>t.id===e);t&&await bs(t)},[wr,bs]),Cs=(0,Z.useCallback)(()=>{Kn.current?.focusAtEnd()},[]),ws=(0,Z.useCallback)(()=>{window.requestAnimationFrame(()=>{Cs()})},[Cs]),Ts=(0,Z.useCallback)(e=>{if(!K)return;let t=Kn.current?.readSnapshot()??{value:G.current,cursor:Cn,expandedCursor:Mo(G.current,Cn),terminalContextIds:T.map(e=>e.id)},n=_t(t.value,t.expandedCursor),r=Io(n.prompt,n.cursor);re(K.id,n.prompt,{id:H(),threadId:K.id,createdAt:new Date().toISOString(),...e},n.contextIndex)&&(G.current=n.prompt,Tn(r),Dn(Ro(n.prompt,n.cursor)),window.requestAnimationFrame(()=>{Kn.current?.focusAt(r)}))},[K,Cn,T,re]),Es=(0,Z.useCallback)(e=>{q&&hr(q,e)},[q,hr]),Ds=(0,Z.useCallback)(()=>{q&&Es(!pr.terminalOpen)},[q,Es,pr.terminalOpen]),Os=(0,Z.useCallback)(()=>{!q||vs||(gr(q,`terminal-${H()}`),gn(e=>e+1))},[q,vs,gr]),As=(0,Z.useCallback)(()=>{q&&(_r(q,`terminal-${H()}`),gn(e=>e+1))},[q,_r]),js=(0,Z.useCallback)(e=>{let t=N();if(!q||!t)return;let n=pr.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(),vr(q,e),gn(e=>e+1)},[q,vr,pr.terminalIds.length]),Ms=(0,Z.useCallback)(e=>{e!==Kr&&(F(t,e),Zr&&pe(t,{runtimeMode:e}),ws())},[Zr,Kr,ws,F,pe,t]),Ns=(0,Z.useCallback)(e=>{e!==qr&&(L(t,e),Zr&&pe(t,{interactionMode:e}),ws())},[qr,Zr,ws,L,pe,t]),Ps=(0,Z.useCallback)(()=>{Ns(qr===`plan`?`default`:`plan`)},[Ns,qr]),Fs=(0,Z.useCallback)(async()=>K?Jr?!0:Zr?na({title:K.title,modelSelection:oa,branch:K.branch,worktreePath:K.worktreePath}):!1:!1,[K,oa,Zr,Jr,na]),Is=(0,Z.useCallback)(async e=>{let n=N();if(!n||!await Fs()){let e=Error(`Start or reconnect this thread before setting a goal.`);throw mi.add({type:`warning`,title:`Goal mode is unavailable`,description:e.message}),e}await n.orchestration.dispatchCommand({type:`thread.goal.set`,commandId:B(),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()})},[Fs,t]),Ls=(0,Z.useCallback)(async()=>{let e=N();if(!e||!await Fs()){let e=Error(`Start or reconnect this thread before clearing the goal.`);throw mi.add({type:`warning`,title:`Goal mode is unavailable`,description:e.message}),e}await e.orchestration.dispatchCommand({type:`thread.goal.clear`,commandId:B(),threadId:t,createdAt:new Date().toISOString()})},[Fs,t]),zs=(0,Z.useCallback)(()=>{if(qr===`plan`){kn(!1),ws();return}kn(e=>!e),ws()},[qr,ws]);(0,Z.useEffect)(()=>{kn(!1)},[t]),(0,Z.useEffect)(()=>{qr===`plan`&&kn(!1)},[qr]);let Bs=(0,Z.useCallback)(()=>{Ms(Kr===`full-access`?`approval-required`:`full-access`)},[Ms,Kr]),Vs=(0,Z.useCallback)(e=>{c({assistantPersonality:e}),ws()},[ws,c]),Hs=(0,Z.useCallback)(()=>{c({generateMemories:!s.generateMemories}),ws()},[ws,s.generateMemories,c]),Us=(0,Z.useCallback)(()=>{if(!K)return;if(!Po.supportsFastMode){mi.add({type:`warning`,title:`Fast mode is unavailable`,description:`${Ji} does not support Fast mode.`}),ws();return}let e={...Bi?.[J],fastMode:!Lo};P(K.id,J,e,{persistSticky:!0}),vt(!Lo),ws()},[K,Bi,Lo,ws,Po.supportsFastMode,Ji,J,P]),Ws=(0,Z.useCallback)(e=>{g({to:e})},[g]),Gs=(0,Z.useCallback)(async(e=`local`)=>{if(n){await Cr(n.id,{mode:e});return}mi.add({type:`warning`,title:`Fork is unavailable for this thread`,description:`Start the thread first, then fork it from the slash menu.`})},[Cr,n]),Ks=(0,Z.useCallback)(()=>{Qt(e=>{if(e){let e=wa?.turnId??Ca?.turnId??null;e&&(pn.current=e)}else pn.current=null;return!e})},[wa?.turnId,Ca?.turnId]),qs=(0,Z.useCallback)(async e=>{if(!n)return;let t=N();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:B(),threadId:e.threadId,modelSelection:e.modelSelection}),e.runtimeMode!==n.runtimeMode&&await t.orchestration.dispatchCommand({type:`thread.runtime-mode.set`,commandId:B(),threadId:e.threadId,runtimeMode:e.runtimeMode,createdAt:e.createdAt}),e.interactionMode!==n.interactionMode&&await t.orchestration.dispatchCommand({type:`thread.interaction-mode.set`,commandId:B(),threadId:e.threadId,interactionMode:e.interactionMode,createdAt:e.createdAt}))},[n]);(0,Z.useEffect)(()=>{if(!Jr||!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!==Kr,n=K.interactionMode!==qr,r=K.session===null||K.session.orchestrationStatus===`stopped`||K.session.orchestrationStatus===`error`;if(!e&&!t&&!n&&!r)return;let i=N();i&&(async()=>{await qs({threadId:K.id,createdAt:new Date().toISOString(),modelSelection:oa,runtimeMode:Kr,interactionMode:qr}).catch(()=>void 0),await i.orchestration.dispatchCommand({type:`thread.session.ensure`,commandId:B(),threadId:K.id,createdAt:new Date().toISOString()}).catch(()=>void 0)})()},[K,oa,qr,Jr,qs,Kr]);let Js=so.length,Ys=(0,Z.useCallback)((e=`auto`)=>{let t=jn.current;t&&(t.scrollTo({top:t.scrollHeight,behavior:e}),In.current=t.scrollTop,Pn.current=!0)},[]),Xs=(0,Z.useCallback)(()=>{Vn.current=0;let e=Bn.current;e!==null&&(Bn.current=null,window.cancelAnimationFrame(e))},[]),Zs=(0,Z.useCallback)(()=>{let e=Gn.current;e!==null&&(Gn.current=null,window.cancelAnimationFrame(e))},[]),Qs=(0,Z.useCallback)(()=>{let e=Pe.current;e!==null&&(Pe.current=null,window.cancelAnimationFrame(e))},[]),$s=(0,Z.useCallback)(e=>{let t=je.current;t.showScrollToBottom===e.showScrollToBottom&&t.isScrolledFromTop===e.isScrolledFromTop||(je.current=e,Pe.current===null&&(Pe.current=window.requestAnimationFrame(()=>{Pe.current=null;let e=je.current;Te(e.showScrollToBottom),Ae(e.isScrolledFromTop)})))},[]),ec=(0,Z.useCallback)(()=>{if(Bn.current!==null)return;let e=()=>{if(Bn.current=null,Ys(),Vn.current<=0||!Pn.current){Vn.current=0;return}--Vn.current,Bn.current=window.requestAnimationFrame(e)};Bn.current=window.requestAnimationFrame(e)},[Ys]),tc=(0,Z.useCallback)((e=2)=>{Vn.current=Math.max(Vn.current,e),ec()},[ec]),nc=(0,Z.useCallback)(e=>{let t=jn.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},Zs(),Gn.current=window.requestAnimationFrame(()=>{Gn.current=null;let e=Hn.current;Hn.current=null;let t=jn.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,In.current=t.scrollTop)}))},[Zs]),rc=(0,Z.useCallback)(()=>{Pn.current=!1,zn.current=!1;let e=jn.current;$s({showScrollToBottom:e!==null&&e.scrollHeight>e.clientHeight,isScrolledFromTop:e?e.scrollTop>8:!1})},[$s]),ic=(0,Z.useCallback)(()=>{Pn.current=!0,zn.current=!1,Xs(),tc(3)},[Xs,tc]),ac=(0,Z.useCallback)(()=>{let e=jn.current;if(!e)return;let t=e.scrollTop,n=Vo(e);!Pn.current&&n?(Pn.current=!0,zn.current=!1):Pn.current&&zn.current?(t<In.current-1&&!n&&(Pn.current=!1),zn.current=!1):Pn.current&&Ln.current?t<In.current-1&&!n&&(Pn.current=!1):Pn.current&&!n&&t<In.current-1&&(Pn.current=!1);let r=e.scrollHeight>e.clientHeight;$s({showScrollToBottom:!Pn.current&&r,isScrolledFromTop:t>8}),In.current=t},[$s]),oc=(0,Z.useCallback)(e=>{e.deltaY<0&&(zn.current=!0)},[]),sc=(0,Z.useCallback)(e=>{e.target instanceof Element&&e.target.closest(`button, summary, [role='button'], [data-scroll-anchor-target]`)||(Ln.current=!0)},[]),cc=(0,Z.useCallback)(e=>{Ln.current=!1},[]),lc=(0,Z.useCallback)(e=>{Ln.current=!1},[]),uc=(0,Z.useCallback)(e=>{let t=e.touches[0];t&&(Rn.current=t.clientY)},[]),dc=(0,Z.useCallback)(e=>{let t=e.touches[0];if(!t)return;let n=Rn.current;n!==null&&t.clientY>n+1&&(zn.current=!0),Rn.current=t.clientY},[]),fc=(0,Z.useCallback)(e=>{Rn.current=null},[]);(0,Z.useEffect)(()=>()=>{Xs(),Zs(),Qs()},[Zs,Qs,Xs]),(0,Z.useLayoutEffect)(()=>{if(!K?.id)return;Pn.current=!0,tc();let e=window.setTimeout(()=>{let e=jn.current;e&&(Vo(e)||tc())},96);return()=>{window.clearTimeout(e)}},[K?.id,tc]),(0,Z.useLayoutEffect)(()=>{let e=Jn.current;if(!e)return;let t=()=>e.clientWidth,n=()=>{let e=t(),n=vc(e,{hasWideActions:eo}),r=Xn.current,i=r?window.getComputedStyle(r):null,a={footerContentWidth:Sc({footerWidth:r?.clientWidth??null,paddingLeft:i?Number.parseFloat(i.paddingLeft):null,paddingRight:i?Number.parseFloat(i.paddingRight):null}),leadingContentWidth:Zn.current?.scrollWidth??null,actionsWidth:Qn.current?.scrollWidth??null},o=n||xc(a);return{primaryActionsCompact:o&&yc(e,{hasWideActions:eo}),footerCompact:o}};Yn.current=e.getBoundingClientRect().height;let r=n();if(nn(r.primaryActionsCompact),en(r.footerCompact),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(e=>{let[t]=e;if(!t)return;let r=n();nn(e=>e===r.primaryActionsCompact?e:r.primaryActionsCompact),en(e=>e===r.footerCompact?e:r.footerCompact);let i=t.contentRect.height,a=Yn.current;Yn.current=i,!(a>0&&Math.abs(i-a)<.5)&&Pn.current&&ec()});return i.observe(e),()=>{i.disconnect()}},[K?.id,to,eo,ec]),(0,Z.useEffect)(()=>{Pn.current&&ec()},[Js,ec]),(0,Z.useEffect)(()=>{if(Pn.current){if(Ua){if(Fn.current>0)return;ec();return}tc()}},[Ua,ec,tc,co]),(0,Z.useEffect)(()=>{let e=Mn;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>{e.scrollHeight>e.clientHeight||$s({showScrollToBottom:!1,isScrolledFromTop:!1}),Pn.current&&Fn.current===0&&tc(1)});t.observe(e);let n=e.querySelector(`[data-timeline-root="true"]`);return n&&t.observe(n),()=>t.disconnect()},[Mn,yo,tc,$s]),(0,Z.useEffect)(()=>{Xt({}),bn(null),mn.current?(mn.current=!1,Qt(!0)):Qt(!1),pn.current=null},[K?.id]),(0,Z.useEffect)(()=>{if(!Zo){vn(null);return}vn(e=>e&&Xo.some(t=>t.id===e)?e:Xo[0]?.id??null)},[Xo,Zo]),(0,Z.useEffect)(()=>{Mt(!1)},[K?.id]),(0,Z.useEffect)(()=>{if(!e||!K?.id||pr.terminalOpen)return;let t=window.requestAnimationFrame(()=>{Cs()});return()=>{window.cancelAnimationFrame(t)}},[K?.id,Cs,e,pr.terminalOpen]),(0,Z.useEffect)(()=>{er.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=at.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=Zg(e);if(t.length>0){io(e.id,t);continue}Xg(e)}return()=>{window.clearTimeout(n)}},[K?.id,K?.messages,io,at]),(0,Z.useEffect)(()=>{G.current=C,Tn(e=>Fo(C,e))},[C]),(0,Z.useEffect)(()=>{lt(e=>{for(let t of e)Xg(t);return[]}),Ra(),vn(null),Tn(Io(G.current,G.current.length)),Dn(Ro(G.current,G.current.length)),lr.current=0,Ye(!1),nt(null)},[Ra,t]),(0,Z.useEffect)(()=>{let e=!1;return(async()=>{if(w.length===0){ce(t);return}let n=()=>bt.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 Qg(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 pc=(0,Z.useCallback)(()=>{nt(null)},[]),hc=(0,Z.useCallback)(e=>{nt(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(!Qe)return;let e=e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),pc();return}if(!(Qe.images.length<=1)){if(e.key===`ArrowLeft`){e.preventDefault(),e.stopPropagation(),hc(-1);return}e.key===`ArrowRight`&&(e.preventDefault(),e.stopPropagation(),hc(1))}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[pc,Qe,hc]);let gc=K?.worktreePath?`worktree`:Zr?be?.envMode??`local`:`local`;(0,Z.useEffect)(()=>{if(!q)return;let e=ur.current[q]??!1,t=!!pr.terminalOpen;if(!e&&t){ur.current[q]=t,gn(e=>e+1);return}else if(e&&!t){ur.current[q]=t;let e=window.requestAnimationFrame(()=>{Cs()});return()=>{window.cancelAnimationFrame(e)}}ur.current[q]=t},[q,Cs,pr.terminalOpen]),(0,Z.useEffect)(()=>{let t=t=>{if(!e||!q||t.defaultPrevented)return;if(t.shiftKey&&t.key.toLowerCase()===`p`&&(U(navigator.platform)?t.metaKey:t.ctrlKey)){t.preventDefault(),t.stopPropagation(),Ps();return}let n=Rr(t,ko,{context:{terminalFocus:Gr(),terminalOpen:!!pr.terminalOpen}});if(n){if(n===`terminal.toggle`){t.preventDefault(),t.stopPropagation(),Ds();return}if(n===`terminal.split`){t.preventDefault(),t.stopPropagation(),pr.terminalOpen||Es(!0),Os();return}if(n===`terminal.close`){if(t.preventDefault(),t.stopPropagation(),!pr.terminalOpen)return;js(pr.activeTerminalId);return}if(n===`terminal.new`){t.preventDefault(),t.stopPropagation(),pr.terminalOpen||Es(!0),As();return}if(n===`diff.toggle`){t.preventDefault(),t.stopPropagation(),ps();return}if(n===`browser.toggle`){if(!$r)return;t.preventDefault(),t.stopPropagation(),gs()}}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,pr.terminalOpen,pr.activeTerminalId,q,js,As,Es,Os,ko,$r,gs,ps,Ps,Ds]);let _c=e=>{if(!q||e.length===0)return;if(ma.length>0){mi.add({type:`error`,title:`Attach images after answering plan questions.`});return}if(!Yi){mi.add({type:`error`,title:`Image attachments unavailable`,description:k_(Ji)});return}let t=[],n=er.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 ${m_} 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:H(),name:i.name||`image`,mimeType:i.type,sizeBytes:i.size,previewUrl:e,file:i}),n+=1}t.length===1&&t[0]?Pr(t[0]):t.length>1&&Fr(t),ys(q,r)},bc=e=>{Lr(e)},Cc=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(),_c(n))},wc=e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),lr.current+=1,Ye(!0))},Tc=e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`,Ye(!0))},Ec=e=>{if(!e.dataTransfer.types.includes(`Files`))return;e.preventDefault();let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||(lr.current=Math.max(0,lr.current-1),lr.current===0&&Ye(!1))},Dc=e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),lr.current=0,Ye(!1),_c(Array.from(e.dataTransfer.files)),Cs())},Oc=(0,Z.useCallback)(async e=>{let t=N();if(!(!t||!K||At)){if(Ua||Ha||wt){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:B(),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,wt,At,Ha,Ua,ys]),kc=async(e,t=`steer`)=>{e?.preventDefault();let n=N();if(!n||!K||Ha||wt||sr.current)return;if(_a){_a.isLastQuestion&&va&&ic(),Ic();return}let a=G.current,{trimmedPrompt:o,sendableTerminalContexts:s,expiredTerminalContextCount:c,hasSendableContent:l}=t_({prompt:a,imageCount:w.length,terminalContexts:T});if(Ea&&Sa){let e=$o({draftText:o,planMarkdown:Sa.planMarkdown});if(G.current=``,ue(K.id),vn(null),Tn(0),Dn(null),e.interactionMode===`default`&&Pa.provider!==J){await zc(Pa);return}await Rc({text:e.text,interactionMode:e.interactionMode,...e.interactionMode===`default`?{modelSelection:Pa}:{}});return}let u=l,d=w.length===0&&s.length===0?zo(o):null;if(d)if(d.command===`review`)a=A_,G.current=a,u=!0,ue(K.id),vn(null),Tn(0),Dn(null);else if(d.command===`compact`)a=j_,G.current=a,u=!0,ue(K.id),vn(null),Tn(0),Dn(null);else if(d.command===`fast`){Us(),G.current=``,ue(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`goal`){zs(),G.current=``,ue(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`fork`){await Gs(d.value??`local`),G.current=``,ue(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`mcp`){Ws(`/settings/mcp`),G.current=``,ue(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`memories`){Hs(),G.current=``,ue(K.id),vn(null),Tn(0),Dn(null);return}else if(d.command===`personality`){Vs(d.value),G.current=``,ue(K.id),vn(null),Tn(0),Dn(null);return}else{Ns(d.command),G.current=``,ue(K.id),vn(null),Tn(0),Dn(null);return}if(!u){if(c>0){let e=o_(c,`empty`);mi.add({type:`warning`,title:e.title,description:e.description})}return}if(w.length>0&&!Yi){ys(K.id,k_(Ji));return}if(!K)return;let f=vi,p=K.id,m=!Jr||K.messages.length===0,h=f&&m&&gc===`worktree`&&!K.worktreePath?K.branch:null;if(m&&gc===`worktree`&&!K.worktreePath&&!K.branch){r(p,`Select a base branch before sending in New worktree mode.`);return}try{await $i(Zi.provider)}catch(e){r(p,e instanceof Error?e.message:`Selected provider is unavailable.`);return}sr.current=!0;let g=n_({goalSendMode:On,objective:o,interactionMode:qr,standaloneSlashCommand:d});if(g&&r_(K.goal??null)&&!await n.dialogs.confirm(`Replace goal?\n\nNew objective: ${$e(g.objective,200)}`).catch(e=>(ys(p,e instanceof Error?e.message:`Could not confirm goal replacement.`),!1))){sr.current=!1;return}g&&kn(!1);let _=[...w],v=[...s],y=ht(a,v),b=ne(),S=new Date().toISOString(),C=D_({provider:J,model:Vi,models:Hi,effort:Gi,text:y||h_}),E=ta({trimmedPrompt:o,composerImagesSnapshot:_,composerTerminalContextsSnapshot:v}),D=Promise.all(_.map(async e=>{let t=await Qg(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}}})),O=_.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??fi?.turnId;if(t===`steer`&&Zi.provider===`codex`&&_.length===0&&e!=null){if(c>0){let e=o_(c,`omitted`);mi.add({type:`warning`,title:e.title,description:e.description})}(0,bo.flushSync)(()=>{G.current=``,ue(p),vn(null),Tn(0),Dn(null),ys(p,null)}),ic(),await n.orchestration.dispatchCommand({type:`thread.turn.steer`,commandId:B(),threadId:p,turnId:e,message:{messageId:b,role:`user`,text:C},...g?{goalIntent:g}:{},createdAt:S}).catch(e=>{G.current.length===0&&er.current.length===0&&ft.current.length===0&&(G.current=a,Nr(a),Tn(Io(a,a.length)),Ir(v),Dn(Ro(a,a.length))),ys(p,e instanceof Error?e.message:`Failed to steer the running turn.`),g&&kn(!0)}),sr.current=!1,Ra();return}let r=await D;if(c>0){let e=o_(c,`omitted`);mi.add({type:`warning`,title:e.title,description:e.description})}(0,bo.flushSync)(()=>{Er({id:H(),threadId:p,messageId:String(b),text:C,attachments:r.map(e=>e.uploadAttachment),modelSelection:Zi,runtimeMode:Kr,interactionMode:qr,goalIntent:g,titleSeed:K.title.trim()||`New Thread`,createdAt:S,composerSnapshot:{prompt:a,persistedAttachments:r.map(e=>e.persistedAttachment),terminalContexts:v}}),G.current=``,ue(p),vn(null),Tn(0),Dn(null),ys(p,null)}),ic(),mi.add({type:`info`,title:`Message queued`,description:`It will send automatically when the current turn finishes.`,data:{icon:Un}}),sr.current=!1,Ra();return}if((0,bo.flushSync)(()=>{La({preparingWorktree:!!h}),lt(e=>[...e,{id:b,role:`user`,text:C,...O.length>0?{attachments:O}:{},createdAt:S,streaming:!1}]),ys(p,null),G.current=``,ue(p),vn(null),Tn(0),Dn(null)}),ic(),c>0){let e=o_(c,`omitted`);mi.add({type:`warning`,title:e.title,description:e.description})}let k=!1,A=!1,j=Jr,M=K.branch,P=K.worktreePath;await(async()=>{if(!j&&Zr&&(j=await na({title:E,modelSelection:oa,branch:M,worktreePath:P})),h&&f){La({preparingWorktree:!0});let e=$g(),t=await x.mutateAsync({cwd:f.cwd,branch:h,newBranch:e});M=t.worktree.branch,P=t.worktree.path,j&&(await n.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:B(),threadId:p,branch:t.worktree.branch,worktreePath:t.worktree.path}),i(p,t.worktree.branch,t.worktree.path))}Zr&&!j&&(await n.orchestration.dispatchCommand({type:`thread.create`,commandId:B(),threadId:p,projectId:K.projectId,projectlessCwd:K.projectId===null?K.projectlessCwd??null:null,title:E,modelSelection:oa,runtimeMode:Kr,interactionMode:qr,parentThreadId:null,branchSourceTurnId:null,branch:M,worktreePath:P,createdAt:K.createdAt}),k=!0,j=!0),m&&j&&await n.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:B(),threadId:p,title:E}),j&&await qs({threadId:p,createdAt:S,...Vi?{modelSelection:Zi}:{},runtimeMode:Kr,interactionMode:qr}),La({preparingWorktree:!1});let e=(await D).map(e=>e.uploadAttachment);await $i(Zi.provider),await n.orchestration.dispatchCommand({type:`thread.turn.start`,commandId:B(),threadId:p,message:{messageId:b,role:`user`,text:C,attachments:e},modelSelection:Zi,titleSeed:E,runtimeMode:Kr,interactionMode:qr,...g?{goalIntent:g}:{},createdAt:S}),A=!0})().catch(async e=>{k&&!A&&await n.orchestration.dispatchCommand({type:`thread.delete`,commandId:B(),threadId:p}).catch(()=>void 0),!A&&G.current.length===0&&er.current.length===0&&ft.current.length===0&&(lt(e=>{let t=e.filter(e=>e.id===b);for(let e of t)Xg(e);let n=e.filter(e=>e.id!==b);return n.length===e.length?e:n}),G.current=a,Nr(a),Tn(Io(a,a.length)),Fr(_.map(e_)),Ir(v),Dn(Ro(a,a.length))),ys(p,e instanceof Error?e.message:`Failed to send message.`),!A&&g&&kn(!0)}),sr.current=!1,A||Ra()},Ac=async()=>{let e=N();!e||!K||await e.orchestration.dispatchCommand({type:`thread.turn.interrupt`,commandId:B(),threadId:K.id,...fi?.turnId?{turnId:fi.turnId}:{},createdAt:new Date().toISOString()})},jc=(0,Z.useCallback)(async(e,t)=>{let n=N();!n||!q||(It(t=>t.includes(e)?t:[...t,e]),Vt(t),await n.orchestration.dispatchCommand({type:`thread.approval.respond`,commandId:B(),threadId:q,requestId:e,decision:t,createdAt:new Date().toISOString()}).catch(e=>{r(q,e instanceof Error?e.message:`Failed to submit approval decision.`)}),It(t=>t.filter(t=>t!==e)),Vt(null))},[q,r]),Mc=(0,Z.useCallback)(async(e,t)=>{let n=N();!n||!q||(Wt(t=>t.includes(e)?t:[...t,e]),await n.orchestration.dispatchCommand({type:`thread.user-input.respond`,commandId:B(),threadId:q,requestId:e,answers:t,createdAt:new Date().toISOString()}).catch(e=>{r(q,e instanceof Error?e.message:`Failed to submit user input.`)}),Wt(t=>t.filter(t=>t!==e)))},[q,r]),Nc=(0,Z.useCallback)(e=>{Y&&Jt(t=>({...t,[Y.requestId]:e}))},[Y]),Pc=(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]),Fc=(0,Z.useCallback)((e,t,n,r,i)=>{Y&&(G.current=t,Kt(n=>({...n,[Y.requestId]:{...n[Y.requestId],[e]:Wo(n[Y.requestId]?.[e],t)}})),Tn(n),Dn(i?null:Ro(t,r)))},[Y]),Ic=(0,Z.useCallback)(()=>{if(!(!Y||!_a)){if(_a.isLastQuestion){va&&Mc(Y.requestId,va);return}Nc(_a.questionIndex+1)}},[_a,va,Y,Mc,Nc]),Lc=(0,Z.useCallback)(()=>{_a&&Nc(Math.max(_a.questionIndex-1,0))},[_a,Nc]),Rc=(0,Z.useCallback)(async({text:e,interactionMode:t,modelSelection:n})=>{let r=N();if(!r||!K||!Jr||Ha||wt||sr.current)return;let i=e.trim();if(!i)return;let a=K.id,o=ne(),s=new Date().toISOString(),c=n??Zi,l=n===void 0?D_({provider:J,model:Vi,models:Hi,effort:Gi,text:i}):Qi(n,i,``);try{await $i(c.provider)}catch(e){ys(a,e instanceof Error?e.message:`Selected provider is unavailable.`);return}sr.current=!0,(0,bo.flushSync)(()=>{La({preparingWorktree:!1})}),ys(a,null),lt(e=>[...e,{id:o,role:`user`,text:l,createdAt:s,streaming:!1}]),ic();try{await qs({threadId:a,createdAt:s,modelSelection:c,runtimeMode:Kr,interactionMode:t}),L(a,t),await $i(c.provider),await r.orchestration.dispatchCommand({type:`thread.turn.start`,commandId:B(),threadId:a,message:{messageId:o,role:`user`,text:l,attachments:[]},modelSelection:c,titleSeed:K.title,runtimeMode:Kr,interactionMode:t,...t===`default`&&Sa?{sourceProposedPlan:{threadId:K.id,planId:Sa.id}}:{},createdAt:s}),t===`default`&&(pn.current=null,Qt(!0)),sr.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.`),sr.current=!1,Ra()}},[K,Sa,ic,La,$i,Qi,wt,Ha,Jr,qs,Ra,Kr,Gi,Zi,J,Hi,L,ys,Vi]),zc=(0,Z.useCallback)(async e=>{let t=N();if(!t||!K||!Sa||!Jr||Ha||wt||sr.current)return;let n=new Date().toISOString(),r=V(),i=Sa.planMarkdown,a=Qo(i),o=$e(es(i)),s=e??Zi,c=e===void 0?D_({provider:J,model:Vi,models:Hi,effort:Gi,text:a}):Qi(e,a,``);try{await $i(s.provider)}catch(e){mi.add({type:`error`,title:`Could not start implementation thread`,description:e instanceof Error?e.message:`Selected provider is unavailable.`});return}sr.current=!0,(0,bo.flushSync)(()=>{La({preparingWorktree:!1})});let l=()=>{sr.current=!1,Ra()};await t.orchestration.dispatchCommand({type:`thread.create`,commandId:B(),threadId:r,projectId:K.projectId,projectlessCwd:K.projectId===null?K.projectlessCwd??null:null,title:o,modelSelection:s,runtimeMode:Kr,interactionMode:`default`,parentThreadId:null,branchSourceTurnId:null,branch:K.branch,worktreePath:K.worktreePath,createdAt:n}).then(()=>$i(s.provider)).then(()=>t.orchestration.dispatchCommand({type:`thread.turn.start`,commandId:B(),threadId:r,message:{messageId:ne(),role:`user`,text:c,attachments:[]},modelSelection:s,titleSeed:o,runtimeMode:Kr,interactionMode:`default`,sourceProposedPlan:{threadId:K.id,planId:Sa.id},createdAt:n})).then(()=>d_(r)).then(()=>(mn.current=!0,g({to:`/$threadId`,params:{threadId:r}}))).catch(async e=>{await t.orchestration.dispatchCommand({type:`thread.delete`,commandId:B(),threadId:r}).catch(()=>void 0),mi.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,La,$i,Qi,wt,Ha,Jr,g,Ra,Kr,Gi,Zi,J,Hi,Vi]),Bc=(0,Z.useCallback)((e,t)=>{if(!K)return;if(Pi!==null&&e!==Pi){ws();return}let n=Ue(Fi,e),r=Ct(n,s,Fi,t),i={provider:n,model:r};if(j(K.id,i),l(i),er.current.length>0){let e=Me(Fi,n);de(e,r,n)||mi.add({type:`warning`,title:`Attached images won't send with this model`,description:k_(Oe(e,r,n))})}ws()},[K,Pi,Fi,ws,j,l,s]),Vc=(0,Z.useCallback)((e,t)=>{if(!Sa)return;let n=Ue(Fi,e),r=Ct(n,s,Fi,t),i=ba[Sa.id],a=We(n,r,i?.provider===n?i.options:Zi.provider===n?Zi.options:void 0);xa(e=>({...e,[Sa.id]:a})),ws()},[Sa,ba,Fi,ws,Zi,s]),Hc=(0,Z.useCallback)(e=>{K&&(P(K.id,J,e,{persistSticky:!0}),ws())},[K,ws,J,P]),Uc=(0,Z.useCallback)(e=>{if(!Sa)return;let t=We(ka,ja,e);xa(e=>({...e,[Sa.id]:t})),ws()},[Sa,ja,ka,ws]),Wc=(0,Z.useCallback)(e=>{if(e===G.current){ws();return}G.current=e,Nr(e),Tn(Io(e,e.length)),Dn(Ro(e,e.length)),ws()},[ws,Nr]),Gc=Ke({provider:J,threadId:t,model:Vi,models:Hi,modelOptions:Bi?.[J],prompt:C,onPromptChange:Wc,includeFastMode:!1}),Kc=Et(J,{threadId:t}),qc=rt({provider:J,models:Hi,model:Vi,prompt:C,onPromptChange:Wc,modelOptions:Bi?.[J],allowPromptInjectedEffort:!0,updateModelOptions:Kc}),Jc=qc.effort&&qc.effortLevels.length>0?{value:qc.ultrathinkPromptControlled?`ultrathink`:qc.effort,label:qc.ultrathinkPromptControlled?`Ultrathink`:qc.effortLevels.find(e=>e.value===qc.effort)?.label??qc.effort,levels:qc.effortLevels,onChange:qc.handleEffortChange,locked:qc.ultrathinkInBodyText||qc.ultrathinkPromptControlled}:null,Yc=Ne({provider:J,threadId:t,model:Vi,models:Hi,modelOptions:Bi?.[J],prompt:C,onPromptChange:Wc}),Xc=!!(Gc||wa||Ca||Zt),Zc=(0,Z.useCallback)(e=>{Zr&&pe(t,{envMode:e}),ws()},[Zr,ws,pe,t]),Qc=(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=Bo(G.current,e,t,n),c=Io(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]:Wo(e[Y.requestId]?.[l.id],s.text)}})):Nr(s.text),Tn(c),Dn(Ro(s.text,Mo(s.text,c))),window.requestAnimationFrame(()=>{Kn.current?.focusAt(c)}),!0},[_a?.activeQuestion,Y,Nr]),$c=(0,Z.useCallback)(()=>Kn.current?.readSnapshot()||{value:G.current,cursor:Cn,expandedCursor:Mo(G.current,Cn),terminalContextIds:T.map(e=>e.id)},[Cn,T]),el=(0,Z.useCallback)(e=>{let t=$c(),n=Fo(G.current,t.cursor),r=a_({prompt:G.current,cursor:n,selectedText:e});r.length!==0&&Qc(n,n,r)},[Qc,$c]),tl=(0,Z.useCallback)(()=>{let e=$c();return{snapshot:e,trigger:Ro(e.value,e.expandedCursor)}},[$c]),nl=(0,Z.useCallback)(e=>{if(tr.current)return;tr.current=!0,window.requestAnimationFrame(()=>{tr.current=!1});let{snapshot:t,trigger:n}=tl();if(n){if(e.type===`agent`){let r=`@${e.mentionName} `,i=N_(t.value,n.rangeEnd,r);Qc(n.rangeStart,i,r,{expectedText:t.value.slice(n.rangeStart,i)})&&vn(null);return}if(e.type===`path`){let r=`@${e.path} `,i=N_(t.value,n.rangeEnd,r);Qc(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=N_(t.value,n.rangeEnd,e);Qc(n.rangeStart,r,e,{expectedText:t.value.slice(n.rangeStart,r)})&&vn(null);return}if(e.command===`personality`&&!e.value){let e=`/personality `,r=N_(t.value,n.rangeEnd,e);Qc(n.rangeStart,r,e,{expectedText:t.value.slice(n.rangeStart,r)})&&vn(null);return}if(e.command===`fork`&&!e.value){let e=`/fork `,r=N_(t.value,n.rangeEnd,e);Qc(n.rangeStart,r,e,{expectedText:t.value.slice(n.rangeStart,r)})&&vn(null);return}if(e.command===`review`){let e=A_;Qc(n.rangeStart,n.rangeEnd,e,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&vn(null);return}if(e.command===`compact`){Qc(n.rangeStart,n.rangeEnd,j_,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&vn(null);return}e.command===`fast`?Us():e.command===`goal`?zs():e.command===`fork`?Gs(e.value===`worktree`?`worktree`:`local`):e.command===`mcp`?Ws(`/settings/mcp`):e.command===`memories`?Hs():e.command===`personality`&&e.value?Vs(e.value):Ns(e.command===`plan`?`plan`:`default`),Qc(n.rangeStart,n.rangeEnd,``,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&vn(null);return}Bc(e.provider,e.model),Qc(n.rangeStart,n.rangeEnd,``,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&vn(null)}},[Qc,Vs,Gs,Ns,Ws,Bc,tl,Us,zs,Hs]),rl=(0,Z.useCallback)(e=>{vn(e)},[]),il=(0,Z.useCallback)(e=>{if(Xo.length===0)return;let t=_n?Xo.findIndex(e=>e.id===_n):-1,n=Xo[((t>=0?t:0)+(e===`ArrowDown`?1:-1)+Xo.length)%Xo.length];vn(n?.id??null)},[_n,Xo]),al=So===`path`&&(Co.length>0&&Eo.state.isPending||Uo.isLoading||Uo.isFetching),ol=Ui.composerFrameClassName!==void 0&&Ui.composerFrameClassName.length>0,sl=(0,Z.useCallback)((e,n,r,i,a)=>{if(_a?.activeQuestion&&Y){Fc(_a.activeQuestion.id,e,n,r,i);return}G.current=e,Nr(e),F_(T,a)||se(t,P_(T,a)),Tn(n),Dn(i?null:Ro(e,r))},[_a?.activeQuestion,Y,T,Fc,Nr,se,t]),cl=(0,Z.useCallback)(e=>{an(e),e&&e!==`insert`&&(Dn(null),vn(null))},[]),ll=(e,t)=>{if(e===`Tab`&&t.shiftKey)return Ps(),!0;let{trigger:n}=tl();if(nr.current||n!==null){let t=rr.current;if(e===`ArrowDown`&&t.length>0)return il(`ArrowDown`),!0;if(e===`ArrowUp`&&t.length>0)return il(`ArrowUp`),!0;if(e===`Tab`||e===`Enter`){let e=ir.current??t[0];if(e)return nl(e),!0}}return e===`Enter`&&!t.shiftKey?(kc(),!0):!1},ul=(0,Z.useCallback)((e,t)=>{let n=jn.current;(n?Vo(n):Pn.current)?(Pn.current=!0,zn.current=!1,$s({showScrollToBottom:!1,isScrolledFromTop:n?n.scrollTop>8:!1}),tc(18)):t&&rc(),Xt(n=>({...n,[e]:!t}))},[rc,tc,$s]),dl=(0,Z.useCallback)(e=>{nt(e)},[]),fl=Qe?Qe.images[Qe.index]:null,pl=(0,Z.useCallback)((e,n)=>{xi&&g({to:`/$threadId`,params:{threadId:t},search:t=>{let r=ni(t);return n?{...r,diff:`1`,diffTurnId:e,diffFilePath:n,panel:`diff`}:{...r,diff:`1`,diffTurnId:e,panel:`diff`}}})},[xi,g,t]),ml=(0,Z.useCallback)(e=>{xi&&g({to:`/$threadId`,params:{threadId:t},search:t=>({...di(t),artifact:`1`,artifactPath:e,panel:`artifact`})})},[xi,g,t]),hl=e=>{let t=go.get(e);typeof t==`number`&&Oc(t)},gl=(0,Z.useCallback)(async e=>{let t=N();if(!(!t||!K||At||Ua||Ha||wt||sr.current))try{ic(),await t.orchestration.dispatchCommand({type:`thread.turn.retry`,commandId:B(),threadId:K.id,assistantMessageId:e,createdAt:new Date().toISOString()})}catch(e){ys(K.id,e instanceof Error?e.message:`Failed to retry message.`)}},[K,ic,wt,At,Ha,Ua,ys]),_l=(0,Z.useCallback)(async(e,t)=>{let n=N();if(!(!n||!K||At||Ua||Ha||wt||sr.current||t.trim().length===0))try{ic(),await n.orchestration.dispatchCommand({type:`thread.message.edit`,commandId:B(),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,ic,wt,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:W(`px-3 sm:px-5`,M?`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)(fh,{activeThreadTitle:K.title,activeProjectPath:xo??void 0,isGitRepo:is,openInCwd:xo,keybindings:ko,availableEditors:Ao,terminalToggleShortcutLabel:ss,browserToggleShortcutLabel:fs,diffToggleShortcutLabel:ds,browserEnabled:$r,browserOpen:ii,diffOpen:ri,isBranchedThread:K.parentThreadId!==null,parentThread:si?{threadId:si.id,title:si.title,archivedAt:si.archivedAt}:null,missingParentThread:K.parentThreadId&&!si?{threadId:K.parentThreadId}:null,childThreads:ci.map(e=>({threadId:e.id,title:e.title,archivedAt:e.archivedAt})),onBranchThread:Jr&&K.archivedAt===null?Ci: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:[!fo&&(0,Q.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,Q.jsx)(`div`,{ref:dr,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, ${De?`transparent 0%, black 5rem`:`black 0%`}, ${Ce?`black calc(100% - 5rem), transparent 100%`:`black 100%`})`},onScroll:ac,onClickCapture:nc,onWheel:oc,onPointerDown:sc,onPointerUp:cc,onPointerCancel:lc,onTouchStart:uc,onTouchMove:dc,onTouchEnd:fc,onTouchCancel:fc,children:(0,Q.jsx)(Yp,{hasMessages:co.length>0,isWorking:Ka,showWorkingIndicator:Ka&&!uo,activeTurnInProgress:Ka||!_i,activeTurnStartedAt:Ja,activeTurnId:lo,revealingBufferedAssistantMessageIds:Be,scrollContainer:Mn,workGroupAutoScrollSuppressRef:Fn,timelineEntries:co,completionDividerBeforeEntryId:vo,completionSummary:_o,turnDiffSummaryByAssistantMessageId:ho,showTurnDiffActions:xi,expandedWorkGroups:Yt,onToggleWorkGroup:ul,onOpenTurnDiff:pl,onOpenArtifact:ml,revertTurnCountByUserMessageId:go,onRevertUserMessage:hl,onRetryAssistantMessage:gl,onEditUserMessage:_l,isRevertingCheckpoint:At,onImageExpand:dl,markdownCwd:xo??void 0,resolvedTheme:b,timestampFormat:u,workspaceRoot:vi?.cwd??void 0,...Ya?{}:{onAddAssistantSelectionToChat:el}},yo)}),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:()=>Ys(`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)($n,{className:`size-3.5`}),`Scroll to bottom`]})})]}),(0,Q.jsxs)(`div`,{className:W(`relative w-full min-w-0`,fo?`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:[fo&&(0,Q.jsx)(Bg,{promptLength:C.trim().length}),fo&&(0,Q.jsx)(`div`,{className:`relative z-10 mx-auto mb-8 w-full min-w-0 max-w-[44rem]`,children:(0,Q.jsx)(Gg,{projectName:vi?.name})}),(0,Q.jsxs)(`form`,{ref:Jn,onSubmit:kc,className:`relative z-10 mx-auto w-full min-w-0 max-w-[44rem]`,"data-chat-composer-form":`true`,children:[Qa&&(0,Q.jsx)(ng,{onActivate:Ps,onDismiss:()=>Za(!0)}),(0,Q.jsx)(kg,{taskList:Ta,taskListOpen:sn,backgroundSubagents:Yo,backgroundSubagentsOpen:ln,queuedTurns:wr,queuedOpen:dn,onTaskListOpenChange:cn,onBackgroundSubagentsOpenChange:un,onQueuedOpenChange:fn,onDeleteQueuedTurn:xs,onEditQueuedTurn:e=>void Ss(e)}),(0,Q.jsx)(Rg,{providerStatus:rs,resumeState:K.resumeState,threadError:K.error,onDismissError:()=>ys(K.id,null),onResumeAction:()=>Cs()}),(0,Q.jsxs)(`div`,{className:`relative`,children:[Zo&&!Ya&&(0,Q.jsx)(`div`,{className:`absolute inset-x-0 bottom-full z-20 mb-2 px-4`,children:(0,Q.jsx)(gh,{items:Xo,resolvedTheme:b,isLoading:al,triggerKind:So,activeItemId:ts?.id??null,onHighlightedItemChange:rl,onSelect:nl})}),(0,Q.jsx)(`div`,{"data-chat-composer-frame":`true`,className:W(`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`,ol?[`rounded-[22px] p-px`,Ui.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:wc,onDragOver:Tc,onDragLeave:Ec,onDrop:Dc,children:(0,Q.jsxs)(`div`,{"data-chat-composer-surface":`true`,className:W(`min-w-0`,!ol&&`rounded-[19px] bg-card`,ol&&[`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)]`,Je&&`bg-accent/30`,Ui.composerSurfaceClassName]),children:[Ia?(0,Q.jsx)(`div`,{className:`rounded-t-[19px] border-b border-border/65 bg-muted/20`,children:(0,Q.jsx)(og,{approval:Ia,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)(cg,{pendingUserInputs:ma,respondingRequestIds:Pt,answers:ha,questionIndex:ga,onSelectOption:Pc,onAdvance:Ic})}):Ea&&Sa?(0,Q.jsx)(`div`,{className:`rounded-t-[19px] border-b border-border/65 bg-muted/20`,children:(0,Q.jsx)(ug,{planTitle:Jo(Sa.planMarkdown)??null},Sa.id)}):null,(0,Q.jsxs)(`div`,{className:W(`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=ru(w,e.id);t&&nt(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)(Yr,{children:[(0,Q.jsx)(Vr,{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)(on,{className:`size-3`})})}),(0,Q.jsx)(Xr,{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:()=>bc(e.id),"aria-label":`Remove ${e.name}`,children:(0,Q.jsx)(wn,{})})]},e.id))}),s.composerVimMode&&rn&&rn!==`insert`?(0,Q.jsx)(x_,{mode:rn}):null,(0,Q.jsx)(Zl,{ref:Kn,value:Ya?``:_a?_a.customAnswer:C,cursor:Cn,terminalContexts:!Ya&&ma.length===0?T:[],onRemoveTerminalContext:zr,onChange:sl,onCommandKeyDown:ll,onPaste:Cc,vimModeEnabled:s.composerVimMode,vimCommandMenuActive:Zo,onVimModeChange:cl,placeholder:Ya?Ia?.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`:Ni&&sa===`disconnected`?`Ask for follow-up changes or attach images`:`Ask anything, @tag files/folders, or use / to show available commands`,disabled:wt||Ya})]}),Ia?(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)(Dh,{approval:Ia,isResponding:Pt.includes(Ia.requestId),respondingDecision:Lt,onRespondToApproval:jc})}):(0,Q.jsxs)(`div`,{ref:Xn,"data-chat-composer-footer":`true`,"data-chat-composer-footer-compact":$t?`true`:`false`,className:W(`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`,$t?`gap-1.5`:`gap-2 sm:gap-0`),children:[(0,Q.jsxs)(`div`,{ref:Zn,className:`flex min-w-0 shrink-0 items-center gap-1`,children:[(0,Q.jsx)(Mh,{threadId:t,provider:J,models:Hi,model:Vi,modelOptions:Bi?.[J],planModeActive:qr===`plan`,onTogglePlanMode:Ps,goalModeActive:On,onToggleGoalMode:zs,onAddFiles:_c}),K?.goal?(0,Q.jsx)($h,{goal:K.goal,disabled:!K,onUpdateGoal:Is,onClearGoal:Ls}):null,$t&&Xc?(0,Q.jsx)(Ah,{activePlan:!!(wa||Ca||Zt),planSidebarOpen:Zt,runtimeMode:Kr,traitsMenuContent:Gc,onTogglePlanSidebar:Ks,onRuntimeModeChange:Ms}):(0,Q.jsx)(jh,{compact:$t,runtimeMode:Kr,onToggle:Bs}),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)(eg,{onDismiss:()=>kn(!1)})]}):null,qr===`plan`?(0,Q.jsx)(rg,{onDisable:Ps}):null]}),(0,Q.jsxs)(`div`,{ref:Qn,"data-chat-composer-actions":`right`,"data-chat-composer-primary-actions-compact":tn?`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)(ea,{compact:$t,provider:ka,model:Fa,lockedProvider:null,providers:Fi,modelOptionsByProvider:Ii,modelOptions:Pa.options,onModelOptionsChange:Uc,...Na.modelPickerIconClassName?{activeProviderIconClassName:Na.modelPickerIconClassName}:{},onProviderModelChange:Vc}):(0,Q.jsx)(ea,{compact:$t,provider:J,model:jo,lockedProvider:Pi,providers:Fi,modelOptionsByProvider:Ii,modelOptions:Bi?.[J],onModelOptionsChange:Hc,effort:Jc,...Ui.modelPickerIconClassName?{activeProviderIconClassName:Ui.modelPickerIconClassName}:{},onProviderModelChange:Bc}),!Da&&!$t&&Yc?Yc:null,!$t&&(wa||Ca||Zt)?(0,Q.jsxs)(I,{variant:`ghost`,className:W(`shrink-0 whitespace-nowrap px-2 sm:px-2.5`,Zt?`text-blue-400 hover:text-blue-300`:`text-muted-foreground/70 hover:text-foreground/80`),size:`sm`,type:`button`,onClick:Ks,title:Zt?`Hide plan sidebar`:`Show plan sidebar`,children:[(0,Q.jsx)(qn,{}),(0,Q.jsx)(`span`,{className:`sr-only sm:not-sr-only`,children:`Plan`})]}):null,gi?(0,Q.jsx)(hh,{usage:gi}):null,X?(0,Q.jsx)(`span`,{className:`ms-1 text-muted-foreground/70 text-xs`,children:`Preparing worktree...`}):null,(0,Q.jsx)(`div`,{className:gi?`ml-1`:void 0,children:(0,Q.jsx)(ag,{compact:tn,pendingAction:_a?{questionIndex:_a.questionIndex,isLastQuestion:_a.isLastQuestion,canAdvance:_a.canAdvance,isResponding:ya,isComplete:!!va}:null,isRunning:Ua,awaitingSendAck:uo,queuedTurnCount:wr.length,showPlanFollowUpPrompt:ma.length===0&&Ea,promptHasText:C.trim().length>0,isSendBusy:Ha,isConnecting:wt,isPreparingWorktree:X,hasSendableContent:E.hasSendableContent,canSteerRunningTurn:Ga,onQueueRunningTurn:()=>void kc(void 0,`queue`),onPreviousPendingQuestion:Lc,onInterrupt:()=>void Ac(),onImplementPlanInNewThread:()=>void zc(Pa)})})]})]})]})})]})]}),fo&&yi?(0,Q.jsx)(I_,{emptyThread:!0}):null,fo&&!yi&&(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)(ks,{threadId:K.id,onEnvModeChange:Zc,envLocked:_s,isGitRepo:is,onComposerFocusRequest:ws,...Qr?{onCheckoutPullRequestRequest:Ti}:{}})})]}),!fo&&yi?(0,Q.jsx)(I_,{emptyThread:!1}):null,yn?(0,Q.jsx)($l,{open:!0,cwd:vi?.cwd??null,initialReference:yn.initialReference,onOpenChange:e=>{e||Ei()},onPrepared:ki},yn.key):null]}),Zt?(0,Q.jsx)(Rs,{activePlan:wa,activeProposedPlan:Ca,markdownCwd:xo??void 0,workspaceRoot:vi?.cwd??void 0,timestampFormat:u,onClose:()=>{Qt(!1);let e=wa?.turnId??Ca?.turnId??null;e&&(pn.current=e)}}):null]}),jr.map(e=>(0,Q.jsx)(V_,{threadId:e,visible:e===q&&pr.terminalOpen,focusRequestId:e===q?hn:0,splitShortcutLabel:cs??void 0,newShortcutLabel:ls??void 0,closeShortcutLabel:us??void 0,onAddTerminalContext:Ts},e)),Qe&&fl&&(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:pc}),Qe.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:()=>{hc(-1)},children:(0,Q.jsx)(An,{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:pc,"aria-label":`Close image preview`,children:(0,Q.jsx)(wn,{})}),(0,Q.jsx)(`img`,{src:fl.src,alt:fl.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:[fl.name,Qe.images.length>1?` (${Qe.index+1}/${Qe.images.length})`:``]})]}),Qe.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:()=>{hc(1)},children:(0,Q.jsx)(Wn,{className:`size-5`})})]})]}):(0,Q.jsx)(aa,{})}function U_(e){let t=(0,X.c)(31),n=(0,Z.useRef)(0),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=e=>{li(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=>{li(t.dataTransfer)&&(t.preventDefault(),t.dataTransfer.dropEffect=`copy`,e.onDropZoneChange(gi(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=>{li(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=$r(t.dataTransfer);if(!r){e.onDropZoneChange(null);return}t.preventDefault();let i=gi(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=W(`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:W(`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:W(`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)(H_,{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)(W_,{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 W_(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=W(`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 G_=`pane_layout_split_sizes`,K_=64,q_=o(t,s(a));function J_(e){return`${e.direction}:${e.children.map(ei).join(`|`)}`}function Y_(e){return e>0?Array.from({length:e},()=>1/e):[]}function X_(e,t){if(t<=0)return[];if(!e||e.length!==t||e.some(e=>!Number.isFinite(e)||e<=0))return Y_(t);let n=e.reduce((e,t)=>e+t,0);return n>0?e.map(e=>e/n):Y_(t)}function Z_(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 Q_(e,t){return X_(ev()[e],t)}function $_(e,t){let{[e]:n,...r}=ev(),i=Object.entries(r),a=i.slice(Math.max(0,i.length+1-K_));try{L(G_,{...Object.fromEntries(a),[e]:[...t]},q_)}catch{}}function ev(){try{return F(G_,q_)??{}}catch{return{}}}var tv=240,nv=.02;function rv(e){let t=(0,X.c)(4),n=e.minPaneSizePx??tv,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)(iv,{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 iv(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)(av,{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 av(e){let{minPaneSizePx:t,node:n,renderPane:r}=e,i=n.direction===`row`,a=n.children.length,o=J_(n),s=(0,Z.useRef)(null),c=(0,Z.useRef)(null),[l,u]=(0,Z.useState)(()=>Q_(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=Q_(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(Z_(t.startSizes,t.dividerIndex,r,p(t.containerSizePx))),e.preventDefault()},_=e=>{let t=c.current;!t||t.pointerId!==e.pointerId||($_(o,d.current),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),m(),e.preventDefault())},v=e=>{d.current=e,u(e),$_(o,e)},y=e=>t=>{let n=i?`ArrowLeft`:`ArrowUp`,r=i?`ArrowRight`:`ArrowDown`,a=t.key===n?-nv:t.key===r?nv:null;if(a===null)return;t.preventDefault();let o=s.current?.getBoundingClientRect(),c=o?i?o.width:o.height:0;v(Z_(d.current,e,a,p(c)))},b=()=>{v(Y_(a))};return(0,Q.jsx)(`div`,{ref:s,className:W(`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)(ov,{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)(iv,{node:e,renderPane:r,minPaneSizePx:t})})]},ei(e)||`pane-${i}`))})}function ov(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=W(`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=W(`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 sv=5e3;function cv(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(uv).map(lv);if(e.length===0)return;let t=null,n=()=>{t!==null&&(window.clearInterval(t),t=null)},i=()=>{for(let t of e)j(t)},a=()=>{for(let t of e)P(t)},o=()=>{n(),!(typeof document<`u`&&document.hidden)&&(i(),t=window.setInterval(()=>{typeof document<`u`&&document.hidden||i()},sv))},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 lv(e){return ee.makeUnsafe(e)}function uv(e){return e.length>0}var dv=(0,Z.lazy)(()=>Pr(()=>import(`./DiffPanel-Dj0UZJm3.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]))),fv=(0,Z.lazy)(()=>Pr(()=>import(`./ArtifactPanel-CdR4rtqI.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]))),pv=320,mv=`(max-width: 1180px)`,hv=`chat_diff_sidebar_width`,gv=416,_v=448,vv=704,yv=.48,bv=208;function xv(e){return!e.bootstrapComplete||e.routeThreadExists||e.missingSinceMs===null?!1:e.nowMs-e.missingSinceMs>=750}function Sv(e){return Math.max(gv,Math.min(e,vv))}function Cv(){return typeof window>`u`?_v:Sv(window.innerWidth*yv)}var wv=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)(Ur,{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)(vi,{open:e.open,onOpenChange:n,children:r}),t[4]=e.open,t[5]=n,t[6]=r,t[7]=i):i=t[7],i},Tv=e=>{let t=(0,X.c)(6),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(Li,{}),t[0]=n):n=t[0];let r;t[1]===e.label?r=t[2]:(r=(0,Q.jsx)(Mi,{label:e.label}),t[1]=e.label,t[2]=r);let i;return t[3]!==e.mode||t[4]!==r?(i=(0,Q.jsx)(Ii,{mode:e.mode,header:n,children:r}),t[3]=e.mode,t[4]=r,t[5]=i):i=t[5],i},Ev=e=>{let t=(0,X.c)(8),n;t[0]===e.mode?n=t[1]:(n=(0,Q.jsx)(Tv,{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)(dv,{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)(Ji,{children:(0,Q.jsx)(Z.Suspense,{fallback:n,children:r})}),t[5]=n,t[6]=r,t[7]=i):i=t[7],i},Dv=e=>{let t=(0,X.c)(10),n;t[0]===e.mode?n=t[1]:(n=(0,Q.jsx)(Tv,{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)(fv,{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 Ov(e){switch(e){case`artifact`:return`artifact`;case`browser`:return`browser`;case`diff`:return`diff`}}var kv=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:W(`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 ${Ov(e.activePanel)} panel`,l=`Close ${Ov(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},Av=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=W(`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},jv=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)(Pv),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=bv+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=Sv(e);l(t),L(hv,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=Sv(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:W(`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)(Va,{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 Mv(){let e=ut(e=>e.bootstrapComplete),t=y(),n=xi.useParams({select:e=>ee.makeUnsafe(e.threadId)}),r=xi.useSearch(),i=ut(e=>e.threads.find(e=>e.id===n)??null),a=ut(e=>i?e.projects.find(e=>e.id===i.projectId)??null:null),o=ut(e=>e.threadIndexById),s=ut(e=>e.threads.some(e=>e.id===n)),c=bt(e=>e.draftThreadsByThreadId),l=s||Object.hasOwn(c,n),u=Nv(i),d=ui(),f=r.diff===`1`,p=r.artifact===`1`&&!!r.artifactPath,m=d&&r.browser===`1`,h=ti(r,{browserEnabled:d}),g=h!==null,_=a?i?.worktreePath??a.cwd:null,v=ke(i?.latestTurn??null,i?.session??null),b=Hr(mv),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?Ti({focusedThreadId:n,layout:Qr(r.panes),isThreadAvailable:S}):null,[S,l,r.panes,n]),w=(0,Z.useMemo)(()=>Ai(C),[C]),T=oi(C),E=w.length>1,[D,O]=(0,Z.useState)(null),k=D!==null;cv(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,P]=(0,Z.useState)(p),[F,I]=(0,Z.useState)(m),L=(0,Z.useCallback)(()=>{t({to:`/$threadId`,params:{threadId:n},search:e=>_i(e)})},[t,n]);if((0,Z.useEffect)(()=>{f&&j(!0)},[f]),(0,Z.useEffect)(()=>{p&&P(!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,xv({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=N();t&&t.orchestration.dispatchCommand({type:`thread.session.ensure`,commandId:B(),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:oi(n)})})},z=e=>{e!==n&&R(e,C,{replace:!0})},V=(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=ci({droppedThreadId:r,focusedThreadId:n,layout:C,targetThreadId:e,zone:t});R(i.focusedThreadId,i.layout,{replace:!0})},H=e=>{if(C===null)return;let r=pi({closingThreadId:e,focusedThreadId:n,layout:C});if(r.focusedThreadId===null){t({to:`/`,replace:!0});return}R(r.focusedThreadId,r.layout)},ne=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`})})},re=()=>{if(!i)return;let e=N();e&&e.orchestration.dispatchCommand({type:`thread.turn.interrupt`,commandId:B(),threadId:i.id,...i.latestTurn?.turnId?{turnId:i.latestTurn.turnId}:{},createdAt:new Date().toISOString()})},U=[..._?[{id:`diff`,label:`Diff`,icon:(0,Q.jsx)(or,{className:`size-3.5`})}]:[],...d?[{id:`browser`,label:`Browser`,icon:(0,Q.jsx)(Bn,{className:`size-3.5`})}]:[],...p?[{id:`artifact`,label:`Artifact`,icon:(0,Q.jsx)(en,{className:`size-3.5`})}]:[]],ie=f||A,ae=p||M,W=m||F,oe=e=>h?(0,Q.jsxs)(kv,{activePanel:h,tabs:U,onClosePanel:L,onSelectPanel:ne,children:[(0,Q.jsx)(Av,{panel:`diff`,active:h===`diff`,children:ie?(0,Q.jsx)(Ev,{mode:e}):null}),(0,Q.jsx)(Av,{panel:`browser`,active:h===`browser`,children:W&&d?(0,Q.jsx)(mo,{threadId:n,active:h===`browser`,cwd:_,isAgentWorking:v,onStopAgent:re}):null}),(0,Q.jsx)(Av,{panel:`artifact`,active:h===`artifact`,children:ae?(0,Q.jsx)(Dv,{cwd:_,mode:e,relativePath:r.artifactPath??null}):null})]}):null,se=C===null?null:(0,Q.jsx)(rv,{layout:C,minPaneSizePx:pv,renderPane:e=>{let t=ee.makeUnsafe(e);return(0,Q.jsx)(U_,{threadId:t,focused:t===n,multiPane:E,dropZone:D?.threadId===t?D.zone:null,onDropZoneChange:e=>V(t,e),onThreadDrop:(e,n)=>te(t,n,e),onFocus:()=>z(t),onClose:()=>H(t)})}});return b?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ji,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground`,children:se}),(0,Q.jsx)(wv,{open:g,onClosePanel:L,children:oe(`sheet`)})]}):(0,Q.jsx)(ji,{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:[se,(0,Q.jsx)(jv,{open:g,ariaLabel:`Resize ${h?Ov(h):`right`} panel`,children:oe(`sidebar`)})]})})}function Nv(e){return e===null||e.resumeState===`unrecoverable`||e.resumeState===`resuming`?!1:e.session===null||e.session.orchestrationStatus===`stopped`||e.session.orchestrationStatus===`error`}function Pv(){let e=F(hv,a);return e===null?Cv():Sv(e)}export{Mv as component,Nv as shouldPrewarmThreadSession,xv as shouldRedirectMissingThread};
|
|
289
|
+
//# sourceMappingURL=_chat._threadId-CU4xs7Dd.js.map
|