shioricode 0.5.1 → 0.5.2

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.
Files changed (68) hide show
  1. package/dist/bin.mjs +1 -1
  2. package/dist/client/apple-touch-icon.png +0 -0
  3. package/dist/client/assets/{ArtifactPanel-1Tg5ZLm5.js → ArtifactPanel-BPQ8FX7l.js} +2 -2
  4. package/dist/client/assets/{ChatMarkdown-BvwoXC6z.js → ChatMarkdown-jcE8Pq97.js} +2 -2
  5. package/dist/client/assets/{DiffPanel-D-xp36wD.js → DiffPanel-CPmbtIC0.js} +3 -3
  6. package/dist/client/assets/{DiffPanelShell-DdBr4p9c.js → DiffPanelShell-CqS9jPrk.js} +2 -2
  7. package/dist/client/assets/{DiffWorkerPoolProvider--93ReMXi.js → DiffWorkerPoolProvider-CEnxoS9v.js} +2 -2
  8. package/dist/client/assets/{NoActiveThreadState-B_C5Y_aO.js → NoActiveThreadState-Bt_jFQ4-.js} +2 -2
  9. package/dist/client/assets/{ProviderModelPicker-BWTkQW8f.js → ProviderModelPicker-BRDu3BzU.js} +2 -2
  10. package/dist/client/assets/SettingsPanels-BX2dAbn4.js +4 -0
  11. package/dist/client/assets/{_chat-BhqvWJHj.js → _chat-C_aCgqFw.js} +2 -2
  12. package/dist/client/assets/_chat._threadId-DLIOcnXQ.js +289 -0
  13. package/dist/client/assets/{_chat.index-oZTnMcB3.js → _chat.index-B9u7xlCv.js} +2 -2
  14. package/dist/client/assets/automations-CJVFqqLv.js +2 -0
  15. package/dist/client/assets/{badge-BkzSFcY-.js → badge-iReKY3O4.js} +2 -2
  16. package/dist/client/assets/{clientSettings--1UP2ayD.js → clientSettings-DFgmWajw.js} +2 -2
  17. package/dist/client/assets/{collapsible-CqRg_DyH.js → collapsible-BEW6Xu4N.js} +2 -2
  18. package/dist/client/assets/{dialog-C7Ppq2qI.js → dialog-BwIZs3EF.js} +2 -2
  19. package/dist/client/assets/{gitReactQuery-BBOGuHot.js → gitReactQuery-BxToLb49.js} +2 -2
  20. package/dist/client/assets/{index-DvBh1mNh.js → index-DKZPXV4a.js} +5 -5
  21. package/dist/client/assets/{input-emuaAuIe.js → input-CthhcRBE.js} +2 -2
  22. package/dist/client/assets/pull-requests-CQHYo-fV.js +46 -0
  23. package/dist/client/assets/{queuedTurnsStore-I4LoXHLF.js → queuedTurnsStore-CYufNsaQ.js} +2 -2
  24. package/dist/client/assets/{scroll-area-kK2XF1gm.js → scroll-area-D6P_hAXV.js} +2 -2
  25. package/dist/client/assets/{separator-CSqq2xHm.js → separator-ByukCTaZ.js} +2 -2
  26. package/dist/client/assets/{settings-C9R1j3GG.js → settings-i7-rb7s9.js} +2 -2
  27. package/dist/client/assets/{settings.appearance-Cac_fbGk.js → settings.appearance-Dwkl1cOq.js} +2 -2
  28. package/dist/client/assets/settings.archived-DZPSjNZJ.js +2 -0
  29. package/dist/client/assets/{settings.computer-use-BL801Zu5.js → settings.computer-use-CLy6GP7W.js} +2 -2
  30. package/dist/client/assets/{settings.credits-Brx-cGXe.js → settings.credits-DiXAbJQa.js} +2 -2
  31. package/dist/client/assets/settings.general-CuNCor2d.js +2 -0
  32. package/dist/client/assets/{settings.mcp-DEMm4v5q.js → settings.mcp-DwWQDGSB.js} +2 -2
  33. package/dist/client/assets/{settings.mobile-DF1raoba.js → settings.mobile-B73fICiz.js} +2 -2
  34. package/dist/client/assets/{settings.plugins-CewrpoKP.js → settings.plugins-BjW05gj4.js} +2 -2
  35. package/dist/client/assets/{settings.remote-BufK_lG_.js → settings.remote-D_iWhzEN.js} +2 -2
  36. package/dist/client/assets/{settings.skills-Cz9xy1ba.js → settings.skills-BCB4uvnE.js} +2 -2
  37. package/dist/client/assets/{settings.theme-builder-BU_DRAvo.js → settings.theme-builder-CS2XB4es.js} +2 -2
  38. package/dist/client/assets/{skillsMcpShared-DxxY1mEt.js → skillsMcpShared-CiunLdEL.js} +2 -2
  39. package/dist/client/assets/{store-BQMb1nBV.js → store-LT9wKN7R.js} +3 -3
  40. package/dist/client/assets/{terminalStateStore-C38k-Eaw.js → terminalStateStore-B-V7Awi_.js} +2 -2
  41. package/dist/client/assets/{textarea-DXuuOfmM.js → textarea-DAzODx1v.js} +2 -2
  42. package/dist/client/assets/{toggle-group-CvAnsecf.js → toggle-group-CMWeXyeK.js} +2 -2
  43. package/dist/client/assets/{toggle-nUm5N7vp.js → toggle-uzFsauJb.js} +2 -2
  44. package/dist/client/assets/{uiStateStore-Di3ieZaJ.js → uiStateStore-CgvPrTF8.js} +2 -2
  45. package/dist/client/assets/{useHandleNewThread-WYMZPumx.js → useHandleNewThread-Chs2blac.js} +2 -2
  46. package/dist/client/assets/{useSettings-DOuHg9jg.js → useSettings-CaigvboL.js} +2 -2
  47. package/dist/client/assets/{useTheme-Dhz9U3on.js → useTheme-7QjQMsSZ.js} +2 -2
  48. package/dist/client/assets/{vendor-ui-DmvKhMzf.js → vendor-ui-Ds9VgrYb.js} +2 -2
  49. package/dist/client/favicon-16x16.png +0 -0
  50. package/dist/client/favicon-32x32.png +0 -0
  51. package/dist/client/favicon.ico +0 -0
  52. package/dist/client/index.html +12 -12
  53. package/package.json +5 -38
  54. package/dist/BunHttpServer-BvXfeDdm.cjs +0 -375
  55. package/dist/BunPTY-l5TwbZzE.cjs +0 -91
  56. package/dist/BunServices-07vLsX26.cjs +0 -74
  57. package/dist/NodeHttpServer-OQzpZjfj.cjs +0 -4142
  58. package/dist/NodePTY-BNeKL1sW.cjs +0 -86
  59. package/dist/NodeSqliteClient-K1HOOjni.cjs +0 -147
  60. package/dist/SqlError-UTW5yuSG.cjs +0 -262
  61. package/dist/SqliteClient-CVOnk2wf.cjs +0 -125
  62. package/dist/bin.cjs +0 -703456
  63. package/dist/client/assets/SettingsPanels-DGYlfoWv.js +0 -4
  64. package/dist/client/assets/_chat._threadId-Blwb3CRP.js +0 -289
  65. package/dist/client/assets/automations-ChGelqHO.js +0 -2
  66. package/dist/client/assets/pull-requests-xKFO2G81.js +0 -46
  67. package/dist/client/assets/settings.archived-KRU4XARw.js +0 -2
  68. package/dist/client/assets/settings.general-BXcV60tY.js +0 -2
@@ -0,0 +1,289 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-C5QFNSAb.js","assets/vendor-diffs-TCBcYN7E.js","assets/rolldown-runtime-COnpUsM8.js","assets/vendor--effect-atom-react-6hEhKm5I.js","assets/vendor--lexical-react-B6TeCrpE.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-WreJbm08.js","assets/vendor--lexical-dragon-BWkDBdfg.js","assets/vendor--lexical-history-BmCIf2Hc.js","assets/vendor--lexical-plain-text-Dk9Pmo4j.js","assets/vendor--shikijs-core-BvuCEFk2.js","assets/vendor--shikijs-engine-javascript-9nIWxzwA.js","assets/vendor--shikijs-engine-oniguruma-CHLjiLaC.js","assets/vendor--shikijs-transformers-llbiZRed.js","assets/vendor-diff-BC6ceXD2.js","assets/DiffPanel-CPmbtIC0.js","assets/index-DKZPXV4a.js","assets/clientSettings-DFgmWajw.js","assets/utils-B-Di8CjF.js","assets/vendor-class-variance-authority-M1Ix6tns.js","assets/vendor-effect-Chd9hYxF.js","assets/vendor-tailwind-merge-BB8g8WaZ.js","assets/vendor-ui-Ds9VgrYb.js","assets/vendor-tanstack-CM5SpFmF.js","assets/vendor-motion-dom-B1NO2AyA.js","assets/vendor-reselect-BSJZJSJu.js","assets/vendor-tabbable-BbbBzppI.js","assets/vendor-react-BvVnE5E6.js","assets/useHandleNewThread-Chs2blac.js","assets/store-LT9wKN7R.js","assets/vendor-zustand-qsUGoIcm.js","assets/useSettings-CaigvboL.js","assets/uiStateStore-CgvPrTF8.js","assets/dotmatrix-core-CnY83Cc6.js","assets/dotmatrix-core-71nPaRVi.css","assets/dotm-hex-5-BHMk4AiZ.js","assets/input-CthhcRBE.js","assets/scroll-area-D6P_hAXV.js","assets/separator-ByukCTaZ.js","assets/gitReactQuery-BxToLb49.js","assets/terminalStateStore-B-V7Awi_.js","assets/vendor--xterm-xterm-B85yPPkf.js","assets/vendor--xterm-xterm-BrP-ENHg.css","assets/index-BgrJjdw5.css","assets/DiffPanelShell-CqS9jPrk.js","assets/DiffWorkerPoolProvider-CEnxoS9v.js","assets/useTheme-7QjQMsSZ.js","assets/toggle-group-CMWeXyeK.js","assets/toggle-uzFsauJb.js","assets/ArtifactPanel-BPQ8FX7l.js","assets/ChatMarkdown-jcE8Pq97.js","assets/vendor-markdown-DHoMS86o.js","assets/vendor--ungap-structured-clone-gq95-Rac.js","assets/vendor-bail-DhrDEj3K.js","assets/vendor-decode-named-character-reference-BSa-H5E1.js","assets/vendor-devlop-CczaZgST.js","assets/vendor-extend-BW3CRMi7.js","assets/vendor-hast-util-raw-DrJxi__t.js","assets/vendor-entities-DUknvTjV.js","assets/vendor-hast-util-from-dom-au1lVC4c.js","assets/vendor-hast-util-from-parse5-DmgJK_2_.js","assets/vendor-hast-util-to-jsx-runtime-Cj_7lYX5.js","assets/vendor-estree-util-is-identifier-name-DorDRIRc.js","assets/vendor-html-url-attributes-D4rN65P3.js","assets/vendor-is-plain-obj-BHbCDlbd.js","assets/vendor-longest-streak-CMXHzExg.js","assets/vendor-escape-string-regexp-p5L46G1N.js","assets/vendor-rehype-katex-Cslyo582.js","assets/vendor-hast-util-from-html-isomorphic-K8KOY4Zz.js","assets/vendor-hast-util-to-text-dhtewVzz.js","assets/vendor-hast-util-is-element-D35XnMcP.js","assets/vendor-katex-C_40Fys8.js","assets/vendor-katex-CSceNpVM.css","assets/vendor-rehype-raw-CztSeCAV.js","assets/vendor-remark-math-MaPo0twq.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-CM5SpFmF.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-B6TeCrpE.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-DFgmWajw.js";import"./vendor-effect-Chd9hYxF.js";import{Z as z,a as B,c as ee,ct as te,i as ne,l as V,o as re,q as ie,r as H,rt as ae,st as oe,t as U,tt as se}from"./utils-B-Di8CjF.js";import{t as ce}from"./vendor-class-variance-authority-M1Ix6tns.js";import{A as le,At as ue,B as de,Bt as fe,C as pe,Ct as me,D as he,Dt as ge,Et as _e,F as ve,Ft as ye,H as be,Ht as xe,I as Se,Jt as W,Kt as Ce,L as we,Lt as Te,M as Ee,Mt as De,N as Oe,Nt as ke,O as Ae,Ot as je,P as Me,Pt as Ne,Q as Pe,R as Fe,Rt as Ie,S as Le,St as Re,T as ze,Tt as Be,U as Ve,Ut as He,V as Ue,Vt as We,W as Ge,Wt as Ke,X as qe,Z as Je,_ as Ye,_t as Xe,a as Ze,at as Qe,b as $e,bt as et,c as tt,ct as nt,d as rt,dt as it,et as at,f as ot,ft as st,g as ct,gt as lt,h as ut,ht as dt,i as ft,j as pt,jt as mt,k as ht,kt as gt,lt as _t,m as vt,mt as yt,nt as bt,o as xt,ot as St,p as Ct,pt as wt,q as Tt,qt as Et,st as Dt,tt as Ot,u as kt,ut as At,v as jt,vt as Mt,w as Nt,wt as Pt,x as Ft,y as It,yt as Lt,z as Rt,zt}from"./store-LT9wKN7R.js";import{n as Bt,r as Vt,t as Ht}from"./terminalStateStore-B-V7Awi_.js";import{t as Ut}from"./uiStateStore-CgvPrTF8.js";import{$ as Wt,$n as Gt,A as Kt,An as qt,B as Jt,Bn as Yt,Cn as Xt,Dn as Zt,En as Qt,Er as $t,F as en,Fn as tn,Fr as nn,G as rn,Gn as an,H as on,Hn as sn,In as cn,Ir as ln,Jn as un,K as dn,Kn as fn,Ln as pn,Mn as mn,Nn as hn,Nr as gn,P as _n,Pn as vn,Pr as yn,Q as bn,R as xn,Tn as Sn,Un as Cn,Ur as wn,V as Tn,Vr as En,W as Dn,Wn as On,Wr as kn,Z as An,_r as jn,_t as Mn,ar as Nn,bn as Pn,cr as Fn,d as In,dr as Ln,et as Rn,f as zn,fr as Bn,ft as Vn,g as Hn,gr as Un,gt as Wn,h as Gn,ht as Kn,ir as qn,j as Jn,jn as Yn,jr as Xn,kn as Zn,kr as Qn,l as $n,lr as er,m as tr,mr as nr,nr as rr,or as ir,p as ar,pr as or,pt as sr,q as cr,qn as lr,rr as ur,tr as dr,ur as fr,vn as pr,vr as mr,yn as hr,yt as gr,z as _r,zn as vr}from"./vendor-ui-Ds9VgrYb.js";import{n as yr,r as br}from"./useSettings-CaigvboL.js";import{a as xr,r as Sr,t as Cr}from"./useHandleNewThread-Chs2blac.js";import"./dotmatrix-core-CnY83Cc6.js";import"./dotm-hex-5-BHMk4AiZ.js";import{Un as wr}from"./vendor-diffs-TCBcYN7E.js";import{c as Tr,d as Er,f as Dr,i as Or,n as kr,t as Ar,u as jr}from"./gitReactQuery-BxToLb49.js";import{t as Mr}from"./input-CthhcRBE.js";import{t as Nr}from"./scroll-area-D6P_hAXV.js";import{t as Pr}from"./separator-ByukCTaZ.js";import{A as Fr,At as Ir,C as Lr,Ct as Rr,Dt as zr,E as Br,Et as Vr,G as Hr,H as Ur,K as Wr,M as Gr,Ot as Kr,S as qr,St as G,T as Jr,Tt as Yr,V as Xr,W as Zr,X as Qr,Y as $r,_ as ei,_t as ti,at as ni,bt as ri,ct as K,d as ii,dt as ai,ft as oi,g as si,gt as ci,h as li,ht as ui,it as di,kt as fi,lt as pi,mt as mi,nt as hi,ot as gi,p as _i,pt as vi,q as yi,rt as bi,s as xi,st as Si,t as Ci,ut as wi,v as Ti,vt as Ei,w as Di,wt as Oi,xt as ki,yt as Ai}from"./index-DKZPXV4a.js";import{a as ji,d as Mi,f as Ni,l as Pi,o as Fi,r as Ii,u as Li}from"./DiffPanelShell-CqS9jPrk.js";import{r as Ri,t as zi}from"./useTheme-7QjQMsSZ.js";import"./vendor--shikijs-core-BvuCEFk2.js";import"./vendor-hast-util-to-jsx-runtime-Cj_7lYX5.js";import"./vendor-hast-util-raw-DrJxi__t.js";import"./vendor-extend-BW3CRMi7.js";import"./vendor-katex-C_40Fys8.js";import{a as Bi,i as q,n as Vi,o as J,r as Hi,s as Ui,t as Wi}from"./ChatMarkdown-jcE8Pq97.js";import"./vendor--shikijs-engine-javascript-9nIWxzwA.js";import"./vendor-diff-BC6ceXD2.js";import{n as Gi,t as Ki}from"./DiffWorkerPoolProvider-CEnxoS9v.js";import{t as qi}from"./toggle-uzFsauJb.js";import{t as Ji}from"./assistantPersonalityOptions-35I7ygr6.js";import{a as Yi,c as Xi,i as Zi,n as Qi,o as $i,r as ea,s as ta,t as na}from"./ProviderModelPicker-BRDu3BzU.js";import{t as ra}from"./NoActiveThreadState-Bt_jFQ4-.js";import{t as ia}from"./vendor--xterm-addon-fit-DakFApj0.js";import{At as aa,Ft as oa,H as sa,I as ca,L as la,Lt as ua,M as da,Mt as fa,St as pa,V as ma,X as Y,at as ha,g as ga,h as _a,ht as va,jt as ya,kt as ba,l as xa,mt as Sa,p as Ca,q as wa,rt as Ta,v as Ea,w as Da}from"./vendor--lexical-clipboard-WreJbm08.js";import{a as Oa,c as ka,i as Aa,o as ja,r as Ma,s as Na,t as Pa}from"./dialog-BwIZs3EF.js";import{t as Fa}from"./textarea-DAzODx1v.js";import{t as Ia}from"./badge-iReKY3O4.js";import{n as La,t as Ra}from"./queuedTurnsStore-CYufNsaQ.js";import{t as za}from"./DockedSidebarResizeHandle-C2HyIoOR.js";var X=l(),Z=e(r(),1),Ba=`about:blank`;function Va(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)}function Ha(e){let t=e.trim();return t.length===0?Ba: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}`:Va(t)?t:`https://${t}`}function Ua(e){return`persist:shioricode-browser-${encodeURIComponent(e)}`}function Wa(e){try{let t=e.getURL?.()??e.getAttribute(`src`)??``;return t===`about:blank`?``:t}catch{return``}}function Ga(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 Ka(e,t){let n=e[t];if(typeof n!=`function`)return!1;try{return!!n.call(e)}catch{return!1}}function qa(e,t){let n=Wa(e);return{title:Ga(e,n),url:n,isLoading:Ka(e,`isLoading`),canGoBack:Ka(e,`canGoBack`),canGoForward:Ka(e,`canGoForward`),error:t}}function Ja(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 Ya(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 Xa(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 Za(e,t){return Xa(e,t,`type`)}function Qa(e,t){return Xa(e,t,`fill`)}function $a(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 eo(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 to(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 no(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 ro(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 io(e){return qa(e,null)}function ao(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 oo(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 so(e,t,n={}){try{if(e.type===`navigate`){let n=Ha(e.url);return t.loadURL?await t.loadURL(n):t.setAttribute(`src`,n),{ok:!0,address:n===`about:blank`?``:n,value:io(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:io(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=oo(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(Ja(e),!0);return{ok:!0,value:{...io(t),page:n}}}return e.type===`click-selector`?ao(await t.executeJavaScript(Ya(e.selector),!0)):e.type===`hover-selector`?ao(await t.executeJavaScript($a(e.selector),!0)):e.type===`fill-selector`?ao(await t.executeJavaScript(Qa(e.selector,e.text??``),!0)):e.type===`select-selector`?ao(await t.executeJavaScript(eo(e.selector,e.value??``),!0)):e.type===`wait`?ao(await t.executeJavaScript(to(e),!0)):e.type===`scroll`?ao(await t.executeJavaScript(no(e),!0)):e.type===`press-key`?{ok:!0,value:await t.executeJavaScript(ro(e.key),!0)}:ao(await t.executeJavaScript(Za(e.selector,e.text??``),!0))}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}var Q=x(),co={title:`New page`,url:``,isLoading:!1,canGoBack:!1,canGoForward:!1,error:null};function lo(e){return e.trim().length>0}function uo(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 fo(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)(co),[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`,Ua(n)),t.setAttribute(`src`,Ba),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`,uo(t,e),e.append(t);let r=null,i=()=>{h(qa(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(()=>{uo(t,e)});s?.observe(e),i();let f=d.current;return f&&(d.current=null,t.loadURL?.(f).catch(e=>{h(qa(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=Ha(e.url)),t(e,!1,void 0,`The Browser panel webview is not ready.`);return}try{let n=await so(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(qa(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=Ha(g);if(_(n===`about:blank`?``:n),!t.loadURL){t.setAttribute(`src`,n),y(!1);return}t.loadURL(n).catch(e=>{h(qa(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`){di.add({type:`error`,title:`Screenshot unavailable`,description:`The browser page is still starting.`});return}window.desktopBridge.browser.captureVisiblePage({threadId:n,webContentsId:t}).then(ho).catch(mo)},t[13]=n,t[14]=O);let k=O,A;t[15]===m.url?A=t[16]:(A=()=>{lo(m.url)&&N()?.shell.openExternal(m.url).catch(po)},t[15]=m.url,t[16]=A);let j=A;if(!c){let e;t[17]===o?e=t[18]:(e=(0,Q.jsx)(go,{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)(or,{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)(go,{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)(pn,{}),t[31]=z,t[32]=B):(z=t[31],B=t[32]);let ee;t[33]===R?ee=t[34]:(ee=(0,Q.jsx)(_o,{label:`Back`,disabled:R,onClick:z,children:B}),t[33]=R,t[34]=ee);let te=!m.canGoForward,ne,V;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>u.current?.goForward?.(),V=(0,Q.jsx)(cn,{}),t[35]=ne,t[36]=V):(ne=t[35],V=t[36]);let re;t[37]===te?re=t[38]:(re=(0,Q.jsx)(_o,{label:`Forward`,disabled:te,onClick:ne,children:V}),t[37]=te,t[38]=re);let ie=m.isLoading?`Stop loading`:`Reload`,H=!m.isLoading&&m.url.length===0,ae,oe;t[39]===m.isLoading?(ae=t[40],oe=t[41]):(ae=()=>m.isLoading?u.current?.stop?.():u.current?.reload?.(),oe=m.isLoading?(0,Q.jsx)(sn,{}):(0,Q.jsx)(un,{}),t[39]=m.isLoading,t[40]=ae,t[41]=oe);let se;t[42]!==ie||t[43]!==H||t[44]!==ae||t[45]!==oe?(se=(0,Q.jsx)(_o,{label:ie,disabled:H,onClick:ae,children:oe}),t[42]=ie,t[43]=H,t[44]=ae,t[45]=oe,t[46]=se):se=t[46];let ce;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,Q.jsx)(qt,{className:`-translate-y-1/2 pointer-events-none absolute left-2.5 top-1/2 size-3.5 text-muted-foreground/60`}),t[47]=ce):ce=t[47];let le,ue,de;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(le=e=>_(e.currentTarget.value),ue=()=>y(!0),de=()=>y(!1),t[48]=le,t[49]=ue,t[50]=de):(le=t[48],ue=t[49],de=t[50]);let fe;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(fe=U(`h-8 w-full min-w-0 rounded-md border border-border bg-background pl-8 pr-2`,`text-sm text-foreground outline-none transition-colors`,`placeholder:text-muted-foreground/60 focus:border-ring/60`),t[51]=fe):fe=t[51];let pe;t[52]===g?pe=t[53]:(pe=(0,Q.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[ce,(0,Q.jsx)(`input`,{value:g,onChange:le,onFocus:ue,onBlur:de,placeholder:`Enter a URL`,className:fe,spellCheck:!1})]}),t[52]=g,t[53]=pe);let me=!lo(m.url),he;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,Q.jsx)(Ln,{}),t[54]=he):he=t[54];let ge;t[55]!==j||t[56]!==me?(ge=(0,Q.jsx)(_o,{label:`Open externally`,disabled:me,onClick:j,children:he}),t[55]=j,t[56]=me,t[57]=ge):ge=t[57];let _e=!lo(m.url),ve;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,Q.jsx)(ln,{}),t[58]=ve):ve=t[58];let ye;t[59]!==k||t[60]!==_e?(ye=(0,Q.jsx)(_o,{label:`Capture screenshot`,disabled:_e,onClick:k,children:ve}),t[59]=k,t[60]=_e,t[61]=ye):ye=t[61];let be;t[62]!==D||t[63]!==ee||t[64]!==re||t[65]!==se||t[66]!==pe||t[67]!==ge||t[68]!==ye?(be=(0,Q.jsxs)(`form`,{className:`flex min-w-0 items-center gap-1 px-2 pb-2`,onSubmit:D,children:[ee,re,se,pe,ge,ye]}),t[62]=D,t[63]=ee,t[64]=re,t[65]=se,t[66]=pe,t[67]=ge,t[68]=ye,t[69]=be):be=t[69];let xe;t[70]!==L||t[71]!==be?(xe=(0,Q.jsxs)(`div`,{className:`shrink-0 border-b border-border/70 bg-card`,children:[L,be]}),t[70]=L,t[71]=be,t[72]=xe):xe=t[72];let Se;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(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]=Se):Se=t[73];let W;t[74]!==i||t[75]!==m.url?(W=lo(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)(or,{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]=W):W=t[76];let Ce;t[77]===m.error?Ce=t[78]:(Ce=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]=Ce);let we;t[79]!==W||t[80]!==Ce?(we=(0,Q.jsxs)(`div`,{className:`relative min-h-0 min-w-0 flex-1 bg-background`,children:[Se,W,Ce]}),t[79]=W,t[80]=Ce,t[81]=we):we=t[81];let Te;return t[82]!==P||t[83]!==xe||t[84]!==we?(Te=(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:[xe,we]}),t[82]=P,t[83]=xe,t[84]=we,t[85]=Te):Te=t[85],Te}function po(e){di.add({type:`error`,title:`Could not open browser`,description:e instanceof Error?e.message:`An unknown error occurred.`})}function mo(e){di.add({type:`error`,title:`Could not capture screenshot`,description:e instanceof Error?e.message:`An unknown error occurred.`})}function ho(e){if(!e.ok){di.add({type:`error`,title:`Could not capture screenshot`,description:e.message??`An unknown error occurred.`});return}di.add({type:`success`,title:`Screenshot copied`,description:`The browser viewport is on your clipboard.`})}function go(e){let t=(0,X.c)(12),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(or,{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)(sn,{})}):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 _o(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)(yi,{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)(Wr,{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)(Hr,{children:[n,r]}),t[7]=n,t[8]=r,t[9]=i):i=t[9],i}var vo=e(c(),1),yo=/(^|\s)@([^\s@]+)(?=\s)/g;function bo(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 xo(e){let t=[];if(!e)return t;let n=0;for(let r of e.matchAll(yo)){let i=r[0],a=r[1]??``,o=r[2]??``,s=(r.index??0)+a.length,c=s+i.length-a.length;s>n&&bo(t,e.slice(n,s)),o.length>0?t.push({type:`mention`,path:o}):bo(t,e.slice(s,c)),n=c}return n<e.length&&bo(t,e.slice(n)),t}function So(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(...xo(e.slice(r,a))),n.push({type:`terminal-context`,context:t[i]??null}),i+=1,r=a+1);return r<e.length&&n.push(...xo(e.slice(r))),n}var Co=[`compact`,`fast`,`fork`,`goal`,`mcp`,`memories`,`model`,`personality`,`plan`,`default`,`review`],wo=[`default`,`friendly`,`sassy`,`coach`,`pragmatic`],To=[`local`,`worktree`],Eo=e=>e.type!==`text`;function Do(e,t){return Number.isFinite(t)?Math.max(0,Math.min(e.length,Math.floor(t))):e.length}function Oo(e){return e===` `||e===`
246
+ `||e===` `||e===`\r`||e===``}function ko(e,t){let n=t-1;for(;n>=0&&!Oo(e[n]??``);)--n;return n+1}function Ao(e,t){let n=Do(e,t),r=So(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 jo(e){return e.type===`text`?e.text.length:1}function Mo(e,t){let n=e.reduce((e,t)=>e+jo(t),0);return Number.isFinite(t)?Math.max(0,Math.min(n,Math.floor(t))):n}function No(e,t){return Mo(So(e),t)}function Po(e,t){let n=Do(e,t),r=So(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 Fo(e,t,n){let r=So(e);if(!r.some(Eo))return!1;let i=Mo(r,t),a=0;for(let e of r){if(Eo(e)&&(n===`left`&&i===a+1||n===`right`&&i===a))return!0;a+=jo(e)}return!1}function Io(e,t){let n=Do(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}:Co.some(e=>e===t)?{kind:`slash-command`,query:i,command:t,rangeStart:r,rangeEnd:n}:e[2]===void 0&&Co.some(e=>e.startsWith(t))?{kind:`slash-command`,query:t,rangeStart:r,rangeEnd:n}:i.length>0&&t.length>0?null:Co.some(e=>e.startsWith(t))?{kind:`slash-command`,query:t,rangeStart:r,rangeEnd:n}:null}}let a=ko(e,n),o=e.slice(a,n);return o.startsWith(`@`)?{kind:`path`,query:o.slice(1),rangeStart:a,rangeEnd:n}:null}function Lo(e){let t=e.trim(),n=/^\/fork(?:\s+(local|worktree))?\s*$/i.exec(t);if(n){let e=n[1]?.toLowerCase();return e&&To.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&&wo.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 Ro(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 zo(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 Bo(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function Vo(e){return Bo(e?.customAnswer)||Bo(e?.selectedOptionLabel)}function Ho(e,t){let n=t.trim().length>0?void 0:e?.selectedOptionLabel;return{customAnswer:t,...n?{selectedOptionLabel:n}:{}}}function Uo(e,t){let n={};for(let r of e){let e=Vo(t[r.id]);if(!e)return null;n[r.id]=e}return n}function Wo(e,t){return e.reduce((e,n)=>Vo(t[n.id])?e+1:e,0)}function Go(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=Vo(a),s=a?.customAnswer??``,c=Wo(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:Uo(e,t)!==null,canAdvance:!!o}}function Ko(e){let t=e.match(/^\s{0,3}#{1,6}\s+(.+)$/m)?.[1]?.trim();return t&&t.length>0?t:null}function qo(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 Jo(e,t){let n=t?.maxLines??8,r=qo(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?Ko(e)??`Plan preview unavailable.`:(o&&i.push(``,`...`),i.join(`
249
+ `))}function Yo(e){let t=e.toLowerCase().replace(/[`'".,!?()[\]{}]+/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t.length>0?t:`plan`}function Xo(e){return`PLEASE IMPLEMENT THIS PLAN:\n${e.trim()}`}function Zo(e){let t=e.draftText.trim();return t.length>0?{text:t,interactionMode:`plan`}:{text:Xo(e.planMarkdown),interactionMode:`default`}}function Qo(e){let t=Ko(e);return t?`Implement ${t}`:`Implement plan`}function $o(e){return`${Yo(Ko(e)??`plan`)}.md`}function es(e){return`${e.trimEnd()}\n`}function ts(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 ns(e){let t=(0,X.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=U(`relative inline-block size-3.5 shrink-0 [perspective:80px]`,n),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinejoin:`miter`,strokeLinecap:`square`,className:`absolute inset-0 size-full overflow-visible`,children:[(0,Q.jsx)(`path`,{d:`M21 7C21 5.89543 20.1046 5 19 5H13.5L10.5 2H5C3.89543 2 3 2.89543 3 4V7`,className:`opacity-0 transition-opacity duration-200 ease-out in-data-[popup-open]:opacity-100 in-data-[popup-open]:delay-150`}),(0,Q.jsx)(`path`,{d:`M20 21L22 11L2 11L4 21L20 21Z`,className:`origin-top opacity-0 transition-[opacity,transform] duration-200 ease-out [transform-box:fill-box] [transform:scaleY(0.2)] in-data-[popup-open]:opacity-100 in-data-[popup-open]:delay-150 in-data-[popup-open]:[transform:scaleY(1)]`}),(0,Q.jsx)(`path`,{d:`M2 5V18C2 19.1046 2.89543 20 4 20H20C21.1046 20 22 19.1046 22 18V8C22 6.89543 21.1046 6 20 6H13L10 3H4C2.89543 3 2 3.89543 2 5Z`,className:`origin-bottom transition-transform duration-300 ease-out [transform-box:fill-box] in-data-[popup-open]:[transform:rotateX(82deg)]`})]}),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,Q.jsx)(`span`,{"aria-hidden":!0,className:r,children:i}),t[3]=r,t[4]=a),a}function rs(e){let t=e.indexOf(`/`);return t<=0||t===e.length-1?e:e.slice(t+1)}n([`local`,`worktree`]);function is(e){let{activeWorktreePath:t,hasServerThread:n,draftThreadEnvMode:r}=e;return t||!n&&r===`worktree`?`worktree`:`local`}function as(e){let{nextWorktreePath:t,currentWorktreePath:n,effectiveEnvMode:r}=e;return t||r===`worktree`&&!n?`worktree`:`local`}function os(e){let{envMode:t,activeWorktreePath:n,activeThreadBranch:r,currentGitBranch:i}=e;return t===`worktree`&&!n?r??i:i??r}function ss(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 cs(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 ls=/^https:\/\/github\.com\/[^/\s]+\/[^/\s]+\/pull\/(\d+)(?:[/?#].*)?$/i,us=/^#?(\d+)$/,ds=/^gh\s+pr\s+checkout\s+(.+)$/i;function fs(e){let t=e.trim();if(t.length===0)return null;let n=ds.exec(t)?.[1]?.trim()??t;if(n.length===0)return null;if(ls.exec(n)?.[1])return n;let r=us.exec(n);return r?.[1]?n.startsWith(`#`)?n:r[1]:null}var ps=Z.createContext({chipsRef:null,multiple:!1});function ms(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)(Jn,{...e}),t[2]=e,t[3]=s);let c;return t[4]!==s||t[5]!==o?(c=(0,Q.jsx)(ps.Provider,{value:o,children:s}),t[4]=s,t[5]=o,t[6]=c):c=t[6],c}function hs(e){let t=(0,X.c)(34),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({className:n,inputClassName:r,showTrigger:s,showClear:c,startAddon:o,size:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=s===void 0?!0:s,u=c===void 0?!1:c,d=a??`default`,f;t[8]===o?f=t[9]:(f=o&&(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:`[&_svg]:-mx-0.5 pointer-events-none absolute inset-y-0 start-px z-10 flex items-center ps-[calc(--spacing(3)-1px)] opacity-80 has-[+[data-size=sm]]:ps-[calc(--spacing(2.5)-1px)] [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4`,"data-slot":`combobox-start-addon`,children:o}),t[8]=o,t[9]=f);let p=o&&`data-[size=sm]:*:data-[slot=combobox-input]:ps-[calc(--spacing(7.5)-1px)] *:data-[slot=combobox-input]:ps-[calc(--spacing(8.5)-1px)] sm:data-[size=sm]:*:data-[slot=combobox-input]:ps-[calc(--spacing(7)-1px)] sm:*:data-[slot=combobox-input]:ps-[calc(--spacing(8)-1px)]`,m=d===`sm`?`has-[+[data-slot=combobox-trigger],+[data-slot=combobox-clear]]:*:data-[slot=combobox-input]:pe-6.5`:`has-[+[data-slot=combobox-trigger],+[data-slot=combobox-clear]]:*:data-[slot=combobox-input]:pe-7`,h;t[10]!==n||t[11]!==p||t[12]!==m?(h=U(p,m,n),t[10]=n,t[11]=p,t[12]=m,t[13]=h):h=t[13];let g;t[14]===r?g=t[15]:(g=U(`has-disabled:opacity-100`,r),t[14]=r,t[15]=g);let _;t[16]!==d||t[17]!==g?(_=(0,Q.jsx)(Mr,{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)(dn,{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)(gs,{className:U(`-translate-y-1/2 absolute top-1/2 inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent opacity-80 outline-none transition-opacity pointer-coarse:after:absolute pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:opacity-100 has-[+[data-slot=combobox-clear]]:hidden sm:size-7 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,d===`sm`?`end-0`:`end-0.5`),children:(0,Q.jsx)(rn,{"data-slot":`combobox-icon`,children:(0,Q.jsx)(lr,{})})}),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)(xs,{className:U(`-translate-y-1/2 absolute top-1/2 inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent opacity-80 outline-none transition-opacity pointer-coarse:after:absolute pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:opacity-100 has-[+[data-slot=combobox-clear]]:hidden sm:size-7 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,d===`sm`?`end-0`:`end-0.5`),children:(0,Q.jsx)(sn,{})}),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 gs(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)(cr,{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 _s(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(ps),m=r??p,h;t[9]===a?h=t[10]:(h=U(`relative flex max-h-full min-w-(--anchor-width) max-w-(--available-width) origin-(--transform-origin) rounded-lg border bg-popover not-dark:bg-clip-padding shadow-lg/5 transition-[scale,opacity] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,a),t[9]=a,t[10]=h);let g;t[11]!==i||t[12]!==o?(g=(0,Q.jsx)(xn,{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)(Jt,{children:(0,Q.jsx)(_r,{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 vs(e){let t=(0,X.c)(20),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,children:n,hideIndicator:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=a===void 0?!1:a,s;t[5]===r?s=t[6]:(s=U(`grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default grid-cols-[1rem_1fr] items-center gap-2 rounded-sm py-1 ps-2 pe-4 text-base outline-none hover:bg-accent data-disabled:pointer-events-none data-selected:bg-accent/50 data-selected:text-foreground data-highlighted:bg-accent data-highlighted:text-accent-foreground [&[data-highlighted][data-selected]]:bg-accent [&[data-highlighted][data-selected]]:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,r),t[5]=r,t[6]=s);let c=o&&`hidden`,l;t[7]===c?l=t[8]:(l=U(`col-start-1`,c),t[7]=c,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(gn,{}),t[9]=u):u=t[9];let d;t[10]===l?d=t[11]:(d=(0,Q.jsx)(Kt,{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)(en,{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 ys(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`not-empty:p-2 text-center text-base text-muted-foreground sm:text-sm`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(_n,{className:i,"data-slot":`combobox-empty`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function bs(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`not-empty:scroll-py-1 not-empty:px-1 not-empty:py-1 in-data-has-overflow-y:pe-3`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Nr,{scrollbarGutter:!0,scrollFade:!0,children:(0,Q.jsx)(on,{className:i,"data-slot":`combobox-list`,...r})}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function xs(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)(Dn,{className:n,"data-slot":`combobox-clear`,...r}),t[3]=n,t[4]=r,t[5]=i):i=t[5],i}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=U(`px-3 py-2 font-medium text-muted-foreground text-xs empty:m-0 empty:p-0`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Tn,{className:i,"data-slot":`combobox-status`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Cs(e){return e instanceof Error?e.message:`An error occurred.`}function ws(e){let{activeWorktreePath:t,effectiveEnvMode:n,resolvedActiveBranch:r}=e;return r?n===`worktree`&&!t?`From ${r}`:r:`Select branch`}function Ts({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(Er(r)),b=f.trim(),x=g.trim();(0,Z.useEffect)(()=>{r&&l.prefetchInfiniteQuery(Ar({cwd:r,query:``}))},[r,l]);let{data:S,fetchNextPage:C,hasNextPage:w,isFetchingNextPage:T,isPending:E}=_(Ar({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=os({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=fs(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]),ee=(0,Z.useMemo)(()=>M.length===0?B:B.filter(e=>cs({itemValue:e,normalizedQuery:M,createBranchItemValue:z,checkoutPullRequestItemValue:I})),[B,I,z,M]),[te,ne]=(0,Z.useOptimistic)(k,(e,t)=>t),[V,re]=(0,Z.useTransition)(),ie=ee.length>40,H=S?.pages[0]?.totalCount??0,ae=E?`Loading branches...`:T?`Loading more branches...`:w?`Showing ${D.length} of ${H} branches`:null,oe=e=>{re(async()=>{await e().catch(()=>void 0),await Dr(l).catch(()=>void 0)})},se=t=>{let i=N();if(!i||!r||V)return;if(F){o(t.name,null),d(!1),c?.();return}let a=ss({activeProjectCwd:e,activeWorktreePath:n,branch:t});if(a.reuseExistingWorktree){o(t.name,a.nextWorktreePath),d(!1),c?.();return}let s=t.isRemote?rs(t.name):t.name;d(!1),c?.(),oe(async()=>{ne(s);try{await i.git.checkout({cwd:a.checkoutCwd,branch:t.name}),await Dr(l)}catch(e){di.add({type:`error`,title:`Failed to checkout branch.`,description:Cs(e)});return}let e=s;if(t.isRemote){let t=await i.git.status({cwd:a.checkoutCwd}).catch(()=>null);t?.branch&&(e=t.branch)}ne(e),o(e,a.nextWorktreePath)})},ce=e=>{let t=e.trim(),i=N();!i||!r||!t||V||(d(!1),c?.(),oe(async()=>{ne(t);try{await i.git.createBranch({cwd:r,branch:t});try{await i.git.checkout({cwd:r,branch:t})}catch(e){di.add({type:`error`,title:`Failed to checkout branch.`,description:Cs(e)});return}}catch(e){di.add({type:`error`,title:`Failed to create branch.`,description:Cs(e)});return}ne(t),o(t,n),m(``)}))};(0,Z.useEffect)(()=>{i!==`worktree`||n||t||!O||o(O,null)},[t,n,O,i,o]);let le=(0,Z.useCallback)(e=>{if(d(e),!e){m(``);return}l.invalidateQueries({queryKey:Tr.branches(r)})},[r,l]),ue=(0,Z.useRef)(null),de=(0,Z.useCallback)(()=>{if(!u||!w||T)return;let e=ue.current;e&&(e.scrollHeight-e.scrollTop-e.clientHeight>96||C().catch(()=>void 0))},[C,w,u,T]),fe=v({count:ee.length,estimateSize:e=>ee[e]===I?44:28,getScrollElement:()=>ue.current,overscan:12,enabled:u&&ie,initialRect:{height:224,width:0}}),pe=fe.getVirtualItems(),me=(0,Z.useCallback)(e=>{ue.current=e?.parentElement??null,e&&fe.measure()},[fe]);(0,Z.useEffect)(()=>{!u||!ie||queueMicrotask(()=>{fe.measure()})},[fe,ee.length,u,ie]),(0,Z.useEffect)(()=>{u&&ue.current?.scrollTo({top:0})},[x,u]),(0,Z.useEffect)(()=>{let e=ue.current;if(!e||!u)return;let t=()=>{de()};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>{e.removeEventListener(`scroll`,t)}},[u,de]),(0,Z.useEffect)(()=>{de()},[D.length,de]);let he=ws({activeWorktreePath:n,effectiveEnvMode:i,resolvedActiveBranch:te});function ge(t,n,r){if(I&&t===I)return(0,Q.jsx)(vs,{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)(vs,{hideIndicator:!0,index:n,value:t,style:r,onClick:()=>ce(b),children:(0,Q.jsxs)(`span`,{className:`truncate`,children:[`Create new branch "`,b,`"`]})},t);let i=j.get(t);if(!i)return null;let a=i.worktreePath&&i.worktreePath!==e,o=i.current?`current`:a?`worktree`:i.isRemote?`remote`:i.isDefault?`default`:null;return(0,Q.jsx)(vs,{hideIndicator:!0,index:n,value:t,style:r,onClick:()=>se(i),children:(0,Q.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-2`,children:[(0,Q.jsx)(`span`,{className:`truncate`,children:t}),o&&(0,Q.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/45`,children:o})]})},t)}return(0,Q.jsxs)(ms,{items:B,filteredItems:ee,autoHighlight:!0,virtualized:ie,onItemHighlighted:(e,t)=>{!u||t.index<0||fe.scrollToIndex(t.index,{align:`auto`})},onOpenChange:le,open:u,value:te,children:[(0,Q.jsxs)(gs,{className:U(Xi({size:`xs`,variant:`ghost`}),`h-auto gap-1.5 rounded-full py-1.5 font-medium transition-none hover:text-foreground/80 sm:h-auto sm:py-1.5`),disabled:E&&D.length===0||V,children:[(0,Q.jsx)(vr,{className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`max-w-[240px] truncate`,children:he}),(0,Q.jsx)(qn,{className:`size-3 opacity-50`})]}),(0,Q.jsxs)(_s,{align:`end`,side:`top`,className:`w-80`,children:[(0,Q.jsx)(`div`,{className:`border-b p-1`,children:(0,Q.jsx)(hs,{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)(ys,{children:`No branches found.`}),(0,Q.jsx)(bs,{ref:me,className:`max-h-56`,children:ie?(0,Q.jsx)(`div`,{className:`relative`,style:{height:`${fe.getTotalSize()}px`},children:pe.map(e=>{let t=ee[e.index];return t?ge(t,e.index,{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`}):null})}):ee.map((e,t)=>ge(e,t))}),ae?(0,Q.jsx)(Ss,{children:ae}):null]})]})}var Es=[{value:`local`,label:`Work locally`},{value:`worktree`,label:`New worktree`}];function Ds(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=ft(Ps),u=ft(Ns),d=ft(Ms),f;t[0]===n?f=t[1]:(f=e=>e.getDraftThread(n),t[0]=n,t[1]=f);let p=St(f),m=St(js),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=is({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(As),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:as({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)(Un,{className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:x.name})]}):(0,Q.jsxs)(ea,{value:x.id,onValueChange:e=>P(e),items:u.map(ks),children:[(0,Q.jsxs)($i,{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)(ns,{}),(0,Q.jsx)(ta,{className:`max-w-[10rem] truncate`})]}),(0,Q.jsx)(Yi,{children:u.map(Os)})]}),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)(vr,{className:`size-3`}),`Worktree`]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(fr,{className:`size-3.5`}),`Work locally`]})}):(0,Q.jsxs)(ea,{value:k,onValueChange:e=>r(e),items:Es,children:[(0,Q.jsxs)($i,{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)(vr,{className:`size-3`}):(0,Q.jsx)(fr,{className:`size-3.5`}),(0,Q.jsx)(ta,{})]}),(0,Q.jsxs)(Yi,{children:[(0,Q.jsx)(Zi,{value:`local`,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(fr,{className:`size-3.5`}),`Work locally`]})}),(0,Q.jsx)(Zi,{value:`worktree`,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(vr,{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)(fr,{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)(Ts,{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 ee=z,te;return t[52]!==ee||t[53]!==R||t[54]!==I?(te=(0,Q.jsxs)(Q.Fragment,{children:[I,R,ee]}),t[52]=ee,t[53]=R,t[54]=I,t[55]=te):te=t[55],te}function Os(e){return(0,Q.jsx)(Zi,{value:e.id,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(Un,{className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]})},e.id)}function ks(e){return{value:e.id,label:e.name}}function As(){}function js(e){return e.setDraftThreadContext}function Ms(e){return e.setThreadBranch}function Ns(e){return e.projects}function Ps(e){return e.threads}function Fs(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)(gn,{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 Is=(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}=ni(),m=r?.planMarkdown??null,h;t[0]===m?h=t[1]:(h=m?qo(m):null,t[0]=m,t[1]=h);let g=h,_;t[2]===m?_=t[3]:(_=m?Ko(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&&ts($o(m),es(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=$o(m);d(!0),e.projects.writeFile({cwd:a,relativePath:t,contents:es(m)}).then(Ls).catch(Rs).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:hi(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)(Mt,{children:[(0,Q.jsx)(mt,{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)(ir,{className:`size-3.5`})}),(0,Q.jsxs)(me,{align:`end`,children:[(0,Q.jsx)(Re,{onClick:b,children:p?`Copied!`:`Copy to clipboard`}),(0,Q.jsx)(Re,{onClick:S,children:`Download as markdown`}),(0,Q.jsx)(Re,{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)(sn,{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(zs)}):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(Bs),children:[c?(0,Q.jsx)(qn,{className:`size-3 shrink-0 text-muted-foreground/30`}):(0,Q.jsx)(rr,{className:`size-3 shrink-0 text-muted-foreground/30`}),(0,Q.jsx)(`span`,{className:`text-[11px] text-muted-foreground/40 group-hover:text-muted-foreground/60`,children:v??`Full plan`})]}),c?(0,Q.jsx)(`div`,{className:`border-l border-border/40 pl-3`,children:(0,Q.jsx)(Wi,{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)(Nr,{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 Ls(e){di.add({type:`success`,title:`Plan saved`,description:e.relativePath})}function Rs(e){di.add({type:`error`,title:`Could not save plan`,description:e instanceof Error?e.message:`An error occurred.`})}function zs(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)(Fs,{status:e.status})}),(0,Q.jsx)(`p`,{className:U(`text-[13px] leading-snug`,e.status===`completed`?`text-muted-foreground/35 line-through decoration-muted-foreground/15`:e.status===`inProgress`?`text-foreground/80`:`text-muted-foreground/55`),children:e.status===`inProgress`?(0,Q.jsx)(li,{children:e.step}):e.step})]},`${e.status}:${e.step}`)}function Bs(e){return!e}var Vs=Hn;function Hs(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)(Gn,{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 Us(e){let t=(0,X.c)(29),n,r,i,a,o,s,c,l,u;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9]):({children:r,className:i,side:o,align:s,sideOffset:c,alignOffset:l,tooltipStyle:u,anchor:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u);let d=o===void 0?`bottom`:o,f=s===void 0?`center`:s,p=c===void 0?4:c,m=l===void 0?0:l,h=u===void 0?!1:u,g=h&&`w-fit text-balance rounded-md text-xs shadow-md/5 before:rounded-[calc(var(--radius-md)-1px)]`,_;t[10]!==i||t[11]!==g?(_=U(`relative flex h-(--popup-height,auto) w-(--popup-width,auto) origin-(--transform-origin) rounded-lg border bg-popover not-dark:bg-clip-padding text-popover-foreground shadow-lg/5 outline-none transition-[width,height,scale,opacity] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] has-data-[slot=calendar]:rounded-xl has-data-[slot=calendar]:before:rounded-[calc(var(--radius-xl)-1px)] data-starting-style:scale-98 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,g,i),t[10]=i,t[11]=g,t[12]=_):_=t[12];let v=h?`py-1 [--viewport-inline-padding:--spacing(2)]`:`not-data-transitioning:overflow-y-auto`,y;t[13]===v?y=t[14]:(y=U(`relative size-full max-h-(--available-height) overflow-clip px-(--viewport-inline-padding) py-4 [--viewport-inline-padding:--spacing(4)] has-data-[slot=calendar]:p-2 data-instant:transition-none **:data-current:data-ending-style:opacity-0 **:data-current:data-starting-style:opacity-0 **:data-previous:data-ending-style:opacity-0 **:data-previous:data-starting-style:opacity-0 **:data-current:w-[calc(var(--popup-width)-2*var(--viewport-inline-padding)-2px)] **:data-previous:w-[calc(var(--popup-width)-2*var(--viewport-inline-padding)-2px)] **:data-current:opacity-100 **:data-previous:opacity-100 **:data-current:transition-opacity **:data-previous:transition-opacity`,v),t[13]=v,t[14]=y);let b;t[15]!==r||t[16]!==y?(b=(0,Q.jsx)(In,{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)(zn,{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)(tr,{children:(0,Q.jsx)(ar,{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 Ws=180,Gs=.75,Ks=260;function qs(){return typeof window>`u`?280:Math.max(Ws,Math.floor(window.innerHeight*Gs))}function Js(e){let t=Number.isFinite(e)?e:280,n=qs();return Math.min(Math.max(Math.round(t),Ws),n)}function Ys(e,t){e.write(`\r\n[terminal] ${t}\r\n`)}function Xs(e,t){e.write(`\x1Bc`),t.history.length>0&&e.write(t.history)}function Zs(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 Qs(e,t){return e.filter(e=>e.id>t)}function $s(e){if(!e)return``;let t=Object.entries(e);return t.length===0?``:JSON.stringify(t.toSorted(([e],[t])=>e.localeCompare(t)))}function ec(){return Ri()}function tc(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 nc(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 rc(e){return e>=2?Ks:0}function ic(e,t){return e&&t===0}function ac(e){return e.type!==`keydown`||e.isComposing?null:e.key===`Enter`||e.code===`NumpadEnter`?`\r`:null}function oc({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)(()=>$s(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 ia,s=new O({cursorBlink:!0,lineHeight:1.2,fontSize:12,scrollback:5e3,fontFamily:`"Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace`,theme:ec()});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=tc(n);return{position:nc({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){Ys(i,e instanceof Error?e.message:r)}};s.attachCustomKeyEventHandler(e=>{let t=ac(e);if(t!==null)return e.preventDefault(),e.stopPropagation(),D(t,`Failed to submit terminal command`),!1;let n=zr(e);return n===null?Oi(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=Li(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(!Mi(e))return;let n=f.current;if(n){if(t.kind===`url`){l.shell.openExternal(t.text).catch(e=>{Ys(n,e instanceof Error?e.message:`Unable to open link`)});return}ii(l,Ni(t.text,r)).catch(e=>{Ys(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=>Ys(s,e instanceof Error?e.message:`Terminal write failed`))}),j=s.onSelectionChange(()=>{f.current?.hasSelection()||u()}),M=e=>{let t=ic(g.current,e.button);if(g.current=!1,!t)return;h.current={x:e.clientX,y:e.clientY};let n=rc(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=ec(),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(),Xs(t,e.snapshot);return}if(e.type===`cleared`){u(),t.clear(),t.write(`\x1Bc`);return}if(e.type===`error`){Ys(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(`, `);Ys(t,n.length>0?`Process exited (${n})`:`Process exited`),!m.current&&(m.current=!0,window.setTimeout(()=>{m.current&&C()},0))},L=e=>{let t=Qs(e,b.current);if(t.length!==0){for(let e of t)I(e.event);b.current=t.at(-1)?.id??b.current}},R=Vt.subscribe((n,r)=>{if(!x.current)return;let i=Ht(r.terminalEventEntriesByKey,e,t).at(-1)?.id??0,a=Ht(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=Ht(Vt.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;Xs(n,u);let d=Ht(Vt.getState().terminalEventEntriesByKey,e,t),m=Zs(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;Ys(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 sc(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)(Hs,{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)(Us,{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)(Vs,{children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function cc({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)(()=>Js(i)),[x,S]=(0,Z.useState)(0),C=(0,Z.useRef)(y),w=(0,Z.useRef)(Js(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:[W]},[a]),k=O.includes(o)?o:O[0]??`default`,A=(0,Z.useMemo)(()=>{let e=new Set(O),t=new Set,n=new Set,r=[],i=e=>{if(!n.has(e))return n.add(e),e;let t=2;for(;n.has(`${e}-${t}`);)t+=1;let r=`${e}-${t}`;return n.add(r),r};for(let n of s){let a=[...new Set(n.terminalIds.map(e=>e.trim()).filter(e=>e.length>0))].filter(n=>!(!e.has(n)||t.has(n)));if(a.length===0)continue;for(let e of a)t.add(e);let o=n.id.trim().length>0?n.id.trim():`group-${a[0]??`default`}`;r.push({id:i(o),terminalIds:a})}for(let e of O)t.has(e)||r.push({id:i(`group-${e}`),terminalIds:[e]});return r.length>0?r:[{id:`group-${k}`,terminalIds:[k]}]},[O,k,s]),j=A[(0,Z.useMemo)(()=>{let e=A.findIndex(e=>e.id===c);if(e>=0)return e;let t=A.findIndex(e=>e.terminalIds.includes(k));return t>=0?t:0},[c,k,A])]?.terminalIds??[k],M=O.length>1,N=j.length>1,P=A.length>1||A.some(e=>e.terminalIds.length>1),F=j.length>=4,I=(0,Z.useMemo)(()=>new Map(O.map((e,t)=>[e,`Terminal ${t+1}`])),[O]),L=F?`Split Terminal (max 4 per group)`:f?`Split Terminal (${f})`:`Split Terminal`,R=p?`New Terminal (${p})`:`New Terminal`,z=m?`Close Terminal (${m})`:`Close Terminal`,B=(0,Z.useCallback)(()=>{F||u()},[F,u]),ee=(0,Z.useCallback)(()=>{d()},[d]);(0,Z.useEffect)(()=>{T.current=_},[_]),(0,Z.useEffect)(()=>{C.current=y},[y]);let te=(0,Z.useCallback)(e=>{let t=Js(e);w.current!==t&&(w.current=t,T.current(t))},[]);(0,Z.useEffect)(()=>{let e=Js(i);b(e),C.current=e,w.current=e},[i,e]);let ne=(0,Z.useCallback)(e=>{e.button===0&&(e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),D.current=!1,E.current={pointerId:e.pointerId,startY:e.clientY,startHeight:C.current})},[]),V=(0,Z.useCallback)(e=>{let t=E.current;if(!t||t.pointerId!==e.pointerId)return;e.preventDefault();let n=Js(t.startHeight+(t.startY-e.clientY));n!==C.current&&(D.current=!0,C.current=n,b(n))},[]),re=(0,Z.useCallback)(e=>{let t=E.current;!t||t.pointerId!==e.pointerId||(E.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),D.current&&(te(C.current),S(e=>e+1)))},[te]);return(0,Z.useEffect)(()=>{if(!r)return;let e=()=>{let e=Js(C.current);e!==C.current&&(b(e),C.current=e),E.current||te(e),S(e=>e+1)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[te,r]),(0,Z.useEffect)(()=>{r&&S(e=>e+1)},[r]),(0,Z.useEffect)(()=>()=>{te(C.current)},[te]),(0,Q.jsxs)(`aside`,{className:`thread-terminal-drawer relative flex min-w-0 shrink-0 flex-col overflow-hidden border-t border-border/80 bg-background`,style:{height:`${y}px`},children:[(0,Q.jsx)(`div`,{className:`absolute inset-x-0 top-0 z-20 h-1.5 cursor-row-resize`,onPointerDown:ne,onPointerMove:V,onPointerUp:re,onPointerCancel:re}),!M&&(0,Q.jsx)(`div`,{className:`pointer-events-none absolute right-2 top-2 z-20`,children:(0,Q.jsxs)(`div`,{className:`pointer-events-auto inline-flex items-center overflow-hidden rounded-md border border-border/80 bg-background/70`,children:[(0,Q.jsx)(sc,{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)(fn,{className:`size-3.25`})}),(0,Q.jsx)(`div`,{className:`h-4 w-px bg-border/80`}),(0,Q.jsx)(sc,{className:`p-1 text-foreground/90 transition-colors hover:bg-accent`,onClick:ee,label:R,children:(0,Q.jsx)(Cn,{className:`size-3.25`})}),(0,Q.jsx)(`div`,{className:`h-4 w-px bg-border/80`}),(0,Q.jsx)(sc,{className:`p-1 text-foreground/90 transition-colors hover:bg-accent`,onClick:()=>g(k),label:z,children:(0,Q.jsx)(hn,{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)(oc,{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)(oc,{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)(sc,{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)(fn,{className:`size-3`})}),(0,Q.jsx)(sc,{className:`inline-flex size-[18px] items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,onClick:ee,label:R,children:(0,Q.jsx)(Cn,{className:`size-3`})}),(0,Q.jsx)(sc,{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)(hn,{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)(Xt,{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)(Xt,{className:`size-3 shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:I.get(e)??`Terminal`})]}),O.length>1&&(0,Q.jsxs)(Vs,{children:[(0,Q.jsx)(Hs,{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)(sn,{className:`size-2.5`})}),(0,Q.jsx)(Us,{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)(Xt,{className:`size-3 shrink-0 opacity-60`}),(0,Q.jsx)(`span`,{className:`truncate`,children:I.get(e)??`Terminal`})]}),O.length>1&&(0,Q.jsxs)(Vs,{children:[(0,Q.jsx)(Hs,{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)(sn,{className:`size-2.5`})}),(0,Q.jsx)(Us,{tooltipStyle:!0,side:`bottom`,sideOffset:6,align:`center`,className:`pointer-events-none select-none`,children:n})]})]},e)})]},e.id)})})]})]})})]})}function lc(e){return e&&typeof e==`object`?e:null}function uc(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function dc(e){return typeof e==`boolean`?e:null}function fc(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(!n||n.kind!==`context-window.updated`)continue;let r=lc(n.payload),i=uc(r?.usedTokens);if(i===null||i<=0)continue;let a=uc(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:uc(r?.totalProcessedTokens),maxTokens:a,remainingTokens:s,usedPercentage:o,remainingPercentage:c,inputTokens:uc(r?.inputTokens),cachedInputTokens:uc(r?.cachedInputTokens),outputTokens:uc(r?.outputTokens),reasoningOutputTokens:uc(r?.reasoningOutputTokens),lastUsedTokens:uc(r?.lastUsedTokens),lastInputTokens:uc(r?.lastInputTokens),lastCachedInputTokens:uc(r?.lastCachedInputTokens),lastOutputTokens:uc(r?.lastOutputTokens),lastReasoningOutputTokens:uc(r?.lastReasoningOutputTokens),toolUses:uc(r?.toolUses),durationMs:uc(r?.durationMs),compactsAutomatically:dc(r?.compactsAutomatically)??!1,updatedAt:n.createdAt}}return null}function pc(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 mc=8,hc=.5;function gc(e,t){let n=t?.hasWideActions?780:620;return e!==null&&e<n}function _c(e,t){return t?.hasWideActions?e!==null&&e<780:!1}function vc(e){let t=e.footerContentWidth,n=e.leadingContentWidth,r=e.actionsWidth;return t===null||n===null||r===null?null:Math.max(0,n+r+mc-t)}function yc(e){let t=vc(e);return t===null?!1:t>hc}function bc(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 xc={text:``,linewise:!1},Sc=``;function Cc(e=`insert`){return{mode:e,countBuffer:``,pendingOperator:null,pendingGCount:null,register:xc,visualAnchor:null,awaitingReplace:null}}function wc(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 Tc(e){let t=So(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}`:Sc;n.push({collapsedStart:i,collapsedEnd:i+1,expandedStart:r,expandedEnd:r+t.length,text:Sc}),i+=1,r+=t.length}return n}function Ec(e){return e.map(e=>e.text).join(``)}function Dc(e){return Ec(Tc(e)).length}function Oc(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===Sc?t<=n.collapsedStart?n.expandedStart:n.expandedEnd:n.expandedStart+(t-n.collapsedStart)}return e[e.length-1]?.expandedEnd??0}function kc(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 Ac(e){return{...e,countBuffer:``,pendingOperator:null,pendingGCount:null,awaitingReplace:null}}function jc(e,t,n,r=null){return{handled:!0,state:e,text:t,cursor:No(t,n),selection:r}}function Mc(e,t,n){return{handled:!1,state:e,text:t,cursor:n,selection:null}}function Nc(e){return/^[0-9]$/.test(e)}function Pc(e){return e===`Alt`||e===`Control`||e===`Meta`||e===`Shift`}function Fc(e){return e===void 0||/\s/.test(e)}function Ic(e){return e!==void 0&&!/\s/.test(e)}function Lc(e,t){return e.lastIndexOf(`
252
+ `,Math.max(0,t-1))+1}function Rc(e,t){let n=e.indexOf(`
253
+ `,t);return n===-1?e.length:n}function zc(e,t){let n=Lc(e,t),r=Rc(e,t);return Math.max(n,r-1)}function Bc(e,t){let n=Rc(e,t);return n<e.length?n+1:n}function Vc(e,t){let n=Lc(e,t),r=Rc(e,t),i=n;for(;i<r&&(e[i]===` `||e[i]===` `);)i+=1;return i}function Hc(e,t,n){let r=Lc(e,t),i=Math.max(0,t-r),a=r;if(n>0)for(let t=0;t<n;t+=1){let t=Bc(e,a);if(t>=e.length)break;a=t}else for(let t=0;t<Math.abs(n)&&!(a<=0);t+=1)a=Lc(e,a-1);let o=Rc(e,a);return Math.min(a+i,Math.max(a,o-1))}function Uc(e,t){let n=Math.min(t,e.length);if(n<e.length&&Ic(e[n]))for(;n<e.length&&Ic(e[n]);)n+=1;for(;n<e.length&&Fc(e[n]);)n+=1;return n}function Wc(e,t){let n=Math.max(0,t-1);for(;n>0&&Fc(e[n]);)--n;for(;n>0&&Ic(e[n-1]);)--n;return n}function Gc(e,t){let n=Math.min(t,Math.max(0,e.length-1));if(Fc(e[n]))for(;n<e.length&&Fc(e[n]);)n+=1;else n+1<e.length&&Ic(e[n+1])&&(n+=1);for(;n+1<e.length&&Ic(e[n+1]);)n+=1;return Math.min(Math.max(0,e.length-1),n)}function Kc(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=Hc(e,i,1):n===`k`||n===`ArrowUp`?i=Hc(e,i,-1):n===`0`?i=Lc(e,i):n===`^`?i=Vc(e,i):n===`$`?i=zc(e,i):n===`w`||n===`W`?i=Uc(e,i):n===`b`||n===`B`?i=Wc(e,i):n===`e`||n===`E`?i=Gc(e,i):n===`G`?i=Lc(e,e.length):n===`g`&&(i=0);return i}function qc(e,t,n){let r=Lc(e,t),i=r;for(let t=0;t<Math.max(1,n)&&(i=Bc(e,i),!(i>=e.length));t+=1);return{start:r,end:i}}function Jc(e,t,n,r){return r?{start:Lc(e,Math.min(t,n)),end:Bc(e,Math.max(t,n))}:{start:Math.min(t,n),end:Math.min(e.length,Math.max(t,n)+1)}}function Yc(e){let t=Tc(e.text),n=Math.max(0,Math.min(e.start,e.end)),r=Math.max(n,e.end),i=Oc(t,n),a=Oc(t,r);return{text:`${e.text.slice(0,i)}${e.replacement}${e.text.slice(a)}`,cursor:n+Dc(e.replacement),removed:e.text.slice(i,a)}}function Xc(e,t,n,r){if(e!==`visual`&&e!==`visual-line`)return null;let i=Jc(t,n??r,r,e===`visual-line`);return{anchor:i.start,focus:i.end}}function Zc(e,t,n){return{state:{...Ac(e),mode:t,visualAnchor:t===`visual`||t===`visual-line`?n:null},cursor:n}}function Qc(e){let t=e.before?Lc(e.text,e.cursor):Bc(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:Yc({text:e.text,start:t,end:t,replacement:n}).text,cursor:t}}function $c(e){let t=e.before?e.cursor:Math.min(Dc(e.text),e.cursor+1),n=e.register.text.repeat(Math.max(1,e.count)),r=Yc({text:e.text,start:t,end:t,replacement:n});return{text:r.text,cursor:Math.max(t,r.cursor-1)}}function el(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=Yc({text:n,start:o,end:s,replacement:``});if(i===`yank`){let e=Tc(n),r=Oc(e,o),i=Oc(e,s);return jc(Ac({...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,Dc(c.text)-1));return jc(Ac({...t,mode:l,visualAnchor:null,register:{text:c.removed,linewise:a}}),c.text,u)}function tl(e,t,n,r){let i=Kc(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 nl(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 rl(e,t){if(e.key===`Escape`||e.ctrlKey&&e.key===`[`){let n=Zc(t,`normal`,Math.max(0,No(e.text,e.cursor)-1));return jc(n.state,e.text,n.cursor)}return Mc(t,e.text,e.cursor)}function il(e,t){let n=Ec(Tc(e.text)),r=No(e.text,e.cursor);if(e.key===`Escape`||e.ctrlKey&&e.key===`[`)return jc(Zc(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=Jc(n,t.visualAnchor??r,r,t.mode===`visual-line`);return el({state:t,text:e.text,range:a,operator:i,linewise:t.mode===`visual-line`})}if(nl(e.key)){let i=Kc(n,r,e.key,kc(t.countBuffer)),a={...t,countBuffer:``};return jc(a,e.text,i,Xc(a.mode,n,a.visualAnchor,i))}return Nc(e.key)&&(e.key!==`0`||t.countBuffer.length>0)?jc({...t,countBuffer:`${t.countBuffer}${e.key}`,pendingGCount:null},e.text,r):jc({...t,countBuffer:``},e.text,r,Xc(t.mode,n,t.visualAnchor,r))}function al(e,t){let n=wc(t),r=Ec(Tc(e.text)),i=No(e.text,e.cursor);if(Pc(e.key))return Mc(n,e.text,i);if(n.mode===`insert`)return rl(e,n);if(n.mode===`visual`||n.mode===`visual-line`)return il(e,n);if(n.awaitingReplace){if(e.key.length!==1||e.ctrlKey)return jc({...n,awaitingReplace:null},e.text,i);let t=Yc({text:e.text,start:i,end:Math.min(r.length,i+n.awaitingReplace.count),replacement:e.key.repeat(n.awaitingReplace.count)});return jc(Ac(n),t.text,i)}if(e.key===`Escape`||e.ctrlKey&&e.key===`[`)return jc(Ac({...n,mode:`normal`,visualAnchor:null}),e.text,i);if(e.key===`u`&&!e.ctrlKey)return{...jc(Ac(n),e.text,i),undo:!0};if(e.ctrlKey&&e.key.toLowerCase()===`r`)return{...jc(Ac(n),e.text,i),redo:!0};if(Nc(e.key)&&(e.key!==`0`||n.countBuffer.length>0))return jc({...n,countBuffer:`${n.countBuffer}${e.key}`,pendingGCount:null},e.text,i);let a=kc(n.countBuffer);if(n.pendingGCount!==null)return e.key===`g`?jc(Ac(n),e.text,0):jc(Ac(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 el({state:o,text:e.text,range:qc(r,i,t),operator:n.pendingOperator.operator,linewise:!0});if(nl(e.key)){let a=tl(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 el({state:o,text:e.text,range:a,operator:n.pendingOperator.operator,linewise:!1})}return jc(Ac(n),e.text,i)}if(nl(e.key)){if(e.key===`g`)return jc({...n,countBuffer:``,pendingOperator:null,pendingGCount:a},e.text,i);let t=Kc(r,i,e.key,a);return jc({...n,countBuffer:``},e.text,t)}if(e.key===`i`){let t=Zc(n,`insert`,i);return jc(t.state,e.text,t.cursor)}if(e.key===`a`){let t=Zc(n,`insert`,Math.min(r.length,i+1));return jc(t.state,e.text,t.cursor)}if(e.key===`I`){let t=Zc(n,`insert`,Vc(r,i));return jc(t.state,e.text,t.cursor)}if(e.key===`A`){let t=Zc(n,`insert`,Rc(r,i));return jc(t.state,e.text,t.cursor)}if(e.key===`o`||e.key===`O`){let t=Rc(r,i),a=e.key===`o`?Bc(r,i):Lc(r,i);e.key;let o=Yc({text:e.text,start:a,end:a,replacement:`
255
+ `}),s=e.key===`o`&&t===r.length?a+1:a;return jc(Zc(n,`insert`,s).state,o.text,s)}if(e.key===`v`||e.key===`V`){let t=Zc(n,e.key===`v`?`visual`:`visual-line`,i);return jc(t.state,e.text,i,Xc(t.state.mode,r,t.state.visualAnchor,i))}if(e.key===`x`)return el({state:n,text:e.text,range:{start:i,end:Math.min(r.length,i+a)},operator:`delete`,linewise:!1});if(e.key===`X`)return el({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 el({state:n,text:e.text,range:{start:i,end:Rc(r,i)},operator:e.key===`D`?`delete`:`change`,linewise:!1});if(e.key===`Y`)return el({state:n,text:e.text,range:qc(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 jc({...n,countBuffer:``,pendingOperator:{operator:t,count:a}},e.text,i)}if(e.key===`r`)return jc({...n,countBuffer:``,awaitingReplace:{count:a}},e.text,i);if(e.key===`p`||e.key===`P`){if(!n.register.text)return jc({...n,countBuffer:``},e.text,i);let t=n.register.linewise?Qc({text:e.text,cursor:i,register:n.register,count:a,before:e.key===`P`}):$c({text:e.text,cursor:i,register:n.register,count:a,before:e.key===`P`});return jc({...n,countBuffer:``},t.text,t.cursor)}return jc({...n,countBuffer:``},e.text,i)}var ol=`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`,sl=`size-3.5 shrink-0 opacity-85`,cl=`truncate select-none leading-tight`;function ll(e){let t=(0,X.c)(18),{label:n,tooltipText:r,expired:i}=e,a=i===void 0?!1:i,o=a&&`border-destructive/35 bg-destructive/8 text-destructive`,s;t[0]===o?s=t[1]:(s=U(ol,o),t[0]=o,t[1]=s);let c=a?`true`:void 0,l=a&&`opacity-100`,u;t[2]===l?u=t[3]:(u=U(sl,`size-3.5`,l),t[2]=l,t[3]=u);let d;t[4]===u?d=t[5]:(d=(0,Q.jsx)(Xt,{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:cl,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)(yi,{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)(Wr,{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)(Hr,{children:[p,m]}),t[15]=p,t[16]=m,t[17]=h):h=t[17],h}function ul(e){let t=(0,X.c)(8),{context:n}=e,r;t[0]===n?r=t[1]:(r=wt(n),t[0]=n,t[1]=r);let i=r,a;t[2]===n?a=t[3]:(a=dt(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)(ll,{label:i,tooltipText:s,expired:o}),t[4]=o,t[5]=i,t[6]=s,t[7]=c):c=t[7],c}var dl=`composer-editor-${Math.random().toString(36).slice(2)}`,fl=(0,Z.createContext)({onRemoveTerminalContext:()=>{}}),pl=class e extends va{__path;static getType(){return`composer-mention`}static clone(t){return new e(t.__path,t.__key)}static importJSON(e){return ml(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=ol,t.contentEditable=`false`,t.setAttribute(`spellcheck`,`false`),bl(t,this.__path),t}updateDOM(e,t,n){return t.contentEditable=`false`,(e.__text!==this.__text||e.__path!==this.__path)&&bl(t,this.__path),!1}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}isTextEntity(){return!0}isToken(){return!0}};function ml(e){return sa(new pl(e))}function hl(e){let t=(0,X.c)(2),n;return t[0]===e.context?n=t[1]:(n=(0,Q.jsx)(ul,{context:e.context}),t[0]=e.context,t[1]=n),n}var gl=class e extends Ea{__context;static getType(){return`composer-terminal-context`}static clone(t){return new e(t.__context,t.__key)}static importJSON(e){return _l(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)(hl,{context:this.__context})}};function _l(e){return sa(new gl(e))}function vl(e){return e instanceof pl||e instanceof gl}function yl(){return document.documentElement.classList.contains(`dark`)?`dark`:`light`}function bl(e,t){e.textContent=``,e.style.setProperty(`user-select`,`none`),e.style.setProperty(`-webkit-user-select`,`none`);let n=yl(),r=document.createElement(`img`);r.alt=``,r.ariaHidden=`true`,r.className=sl,r.loading=`lazy`,r.src=q(t,Bi(t),n);let i=document.createElement(`span`);i.className=cl,i.textContent=Hi(t),e.append(r,i)}function xl(e){return e.map(e=>[e.id,e.threadId,e.terminalId,e.terminalLabel,e.lineStart,e.lineEnd,e.createdAt,e.text].join(``)).join(``)}function Sl(e,t){return Number.isFinite(t)?Math.max(0,Math.min(e.length,Math.floor(t))):e.length}function Cl(e){return 1}function wl(e){return e.getTextContentSize()}function Tl(e,t,n){return t+(n>0?Cl(e):0)}function El(e,t,n){return t+(n>0?wl(e):0)}function Dl(e,t){let n=e.getParent();if(!n||!ca(n))return null;let r=e.getIndexWithinParent();return t.value===0?{key:n.getKey(),offset:r,type:`element`}:t.value===Cl(e)?{key:n.getKey(),offset:r+1,type:`element`}:(t.value-=Cl(e),null)}function Ol(e){return vl(e)?Cl(e):oa(e)?e.getTextContentSize():Ta(e)?1:ca(e)?e.getChildren().reduce((e,t)=>e+Ol(t),0):0}function kl(e){return vl(e)?wl(e):oa(e)?e.getTextContentSize():Ta(e)?1:ca(e)?e.getChildren().reduce((e,t)=>e+kl(t),0):0}function Al(e,t){let n=0,r=e;for(;r;){let e=r.getParent();if(!e||!ca(e))break;let t=e.getChildren(),i=r.getIndexWithinParent();for(let e=0;e<i;e+=1){let r=t[e];r&&(n+=Ol(r))}r=e}if(oa(e))return e instanceof pl?Tl(e,n,t):n+Math.min(t,e.getTextContentSize());if(e instanceof gl)return Tl(e,n,t);if(Ta(e))return n+Math.min(t,1);if(ca(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+=Ol(t))}return n}return n}function jl(e,t){let n=0,r=e;for(;r;){let e=r.getParent();if(!e||!ca(e))break;let t=e.getChildren(),i=r.getIndexWithinParent();for(let e=0;e<i;e+=1){let r=t[e];r&&(n+=kl(r))}r=e}if(oa(e))return e instanceof pl?El(e,n,t):n+Math.min(t,e.getTextContentSize());if(e instanceof gl)return El(e,n,t);if(Ta(e))return n+Math.min(t,1);if(ca(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+=kl(t))}return n}return n}function Ml(e,t){if(e instanceof pl||e instanceof gl)return Dl(e,t);if(oa(e)){let n=e.getTextContentSize();return t.value<=n?{key:e.getKey(),offset:t.value,type:`text`}:(t.value-=n,null)}if(Ta(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(ca(e)){let n=e.getChildren();for(let e of n){let n=Ml(e,t);if(n)return n}if(t.value===0)return{key:e.getKey(),offset:n.length,type:`element`}}return null}function Nl(){return Da().getChildren().reduce((e,t)=>e+Ol(t),0)}function Pl(e){let t=Da(),n=Nl(),r=Ml(t,{value:Math.max(0,Math.min(e,n))})??{key:t.getKey(),offset:t.getChildren().length,type:`element`},i=Y();i.anchor.set(r.key,r.offset,r.type),i.focus.set(r.key,r.offset,r.type),ua(i)}function Fl(e,t){let n=Da(),r=Nl(),i=Math.max(0,Math.min(e,r)),a=Math.max(0,Math.min(t,r)),o={value:i},s={value:a},c=Ml(n,o)??{key:n.getKey(),offset:n.getChildren().length,type:`element`},l=Ml(n,s)??{key:n.getKey(),offset:n.getChildren().length,type:`element`},u=Y();u.anchor.set(c.key,c.offset,c.type),u.focus.set(l.key,l.offset,l.type),ua(u)}function Il(e){let t=xa();if(!ya(t)||!t.isCollapsed())return e;let n=Al(t.anchor.getNode(),t.anchor.offset),r=Nl();return Math.max(0,Math.min(n,r))}function Ll(e){let t=xa();if(!ya(t)||!t.isCollapsed())return e;let n=jl(t.anchor.getNode(),t.anchor.offset),r=Da().getTextContent().length;return Math.max(0,Math.min(n,r))}function Rl(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(pa(r)),t<n.length-1&&e.append(la())}}function zl(e,t){let n=Da();n.clear();let r=wa();n.append(r);let i=So(e,t);for(let e of i){if(e.type===`mention`){r.append(ml(e.path));continue}if(e.type===`terminal-context`){e.context&&r.append(_l(e.context));continue}Rl(r,e.text)}}function Bl(e){return e instanceof gl?[e.__context.id]:ca(e)?e.getChildren().flatMap(e=>Bl(e)):[]}function Vl(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(aa,e=>t(`ArrowDown`,e),3),i=n.registerCommand(ha,e=>t(`ArrowUp`,e),3),a=n.registerCommand(ga,e=>t(`Enter`,e),3),o=n.registerCommand(_a,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 Hl(e){let t=(0,X.c)(19),[n]=E(),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Cc(`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=Cc(`insert`),o.current?.(null);return}i.current=Cc(`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(ma,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=Da().getTextContent(),c=Il(a.current)});let l=i.current.mode,u=al({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(fa,void 0),!0):u.redo?(n.dispatchCommand(Ca,void 0),!0):(n.update(()=>{if(u.text!==s&&zl(u.text,e.terminalContexts),u.selection)Fl(u.selection.anchor,u.selection.focus);else{let e=u.cursor+1;u.state.mode===`normal`&&e<=u.text.length?Fl(u.cursor,e):Pl(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 Ul(){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(Sa,e=>{let n=null;if(t.getEditorState().read(()=>{let e=xa();if(!ya(e)||!e.isCollapsed())return;let t=Il(0);t<=0||Fo(Da().getTextContent(),t,`left`)&&(n=t-1)}),n===null)return!1;let r=n;return e?.preventDefault(),e?.stopPropagation(),t.update(()=>{Pl(r)}),!0},3),n=t.registerCommand(ba,e=>{let n=null;if(t.getEditorState().read(()=>{let e=xa();if(!ya(e)||!e.isCollapsed())return;let t=Il(0);t>=Nl()||Fo(Da().getTextContent(),t,`right`)&&(n=t+1)}),n===null)return!1;let r=n;return e?.preventDefault(),e?.stopPropagation(),t.update(()=>{Pl(r)}),!0},3);return()=>{e(),n()}},r=[t],e[0]=t,e[1]=n,e[2]=r),(0,Z.useEffect)(n,r),null}function Wl(){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=xa();if(!ya(e)||!e.isCollapsed())return;let t=e.anchor.getNode();vl(t)&&e.anchor.offset!==0&&(r=Al(t,0)+1)}),r!==null&&queueMicrotask(()=>{t.update(()=>{Pl(r)})})}),r=[t],e[0]=t,e[1]=n,e[2]=r),(0,Z.useEffect)(n,r),null}function Gl(){let e=(0,X.c)(4),[t]=E(),{onRemoveTerminalContext:n}=(0,Z.useContext)(fl),r,i;return e[0]!==t||e[1]!==n?(r=()=>t.registerCommand(da,e=>{let t=xa();if(!ya(t)||!t.isCollapsed())return!1;let r=t.anchor.getNode(),i=Il(0),a=t=>{if(!vl(t))return!1;let r=Al(t,0);return t.remove(),t instanceof gl?(n(t.__context.id),Pl(i)):Pl(r),e?.preventDefault(),!0};if(a(r))return!0;if(oa(r)){if(t.anchor.offset>0)return!1;if(a(r.getPreviousSibling()))return!0;let e=r.getParent();if(ca(e)){let t=r.getIndexWithinParent();if(t>0&&a(e.getChildAtIndex(t-1)))return!0}return!1}if(ca(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 Kl(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=No(n,r),y;t[0]===i?y=t[1]:(y=xl(i),t[0]=i,t[1]=y);let x=y,w=(0,Z.useRef)(x),O=Ao(n,v),k;t[2]===i?k=t[3]:(k=i.map(Jl),t[2]=i,t[3]=k);let A;t[4]!==v||t[5]!==O||t[6]!==k||t[7]!==n?(A={value:n,cursor:v,expandedCursor:O,terminalContextIds:k},t[4]=v,t[5]=O,t[6]=k,t[7]=n,t[8]=A):A=t[8];let j=(0,Z.useRef)(A),M;t[9]===c?M=t[10]:(M=()=>c?`insert`:null,t[9]=c,t[10]=M);let[N,P]=(0,Z.useState)(M),F=(0,Z.useRef)(!1),I,L;t[11]===d?L=t[12]:(L={onRemoveTerminalContext:d},t[11]=d,t[12]=L),I=L;let R=I,z,B;t[13]===f?(z=t[14],B=t[15]):(z=()=>{_.current=f},B=[f],t[13]=f,t[14]=z,t[15]=B),(0,Z.useEffect)(z,B);let ee,te;t[16]!==a||t[17]!==g?(ee=()=>{g.setEditable(!a)},te=[a,g],t[16]=a,t[17]=g,t[18]=ee,t[19]=te):(ee=t[18],te=t[19]),(0,Z.useEffect)(ee,te);let ne,V;t[20]===c?(ne=t[21],V=t[22]):(ne=()=>{P(c?`insert`:null)},V=[c],t[20]=c,t[21]=ne,t[22]=V),(0,Z.useEffect)(ne,V);let re;t[23]===u?re=t[24]:(re=e=>{P(e),u?.(e)},t[23]=u,t[24]=re);let ie=re,H,ae;t[25]!==r||t[26]!==g||t[27]!==i||t[28]!==x||t[29]!==n?(H=()=>{let e=No(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:Ao(n,e),terminalContextIds:i.map(ql)},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&&zl(n,i),(r||s)&&Pl(e)}),queueMicrotask(()=>{F.current=!1}))},ae=[r,g,i,x,n],t[25]=r,t[26]=g,t[27]=i,t[28]=x,t[29]=n,t[30]=H,t[31]=ae):(H=t[30],ae=t[31]),(0,Z.useLayoutEffect)(H,ae);let oe;t[32]===g?oe=t[33]:(oe=e=>{let t=g.getRootElement();if(!t)return;let n=No(j.current.value,e);t.focus(),g.update(()=>{Pl(n)}),j.current={value:j.current.value,cursor:n,expandedCursor:Ao(j.current.value,n),terminalContextIds:j.current.terminalContextIds},_.current(j.current.value,n,j.current.expandedCursor,!1,j.current.terminalContextIds)},t[32]=g,t[33]=oe);let se=oe,ce;t[34]===g?ce=t[35]:(ce=()=>{let e;return e=j.current,g.getEditorState().read(()=>{let t=Da().getTextContent();e={value:t,cursor:No(t,Il(No(t,j.current.cursor))),expandedCursor:Sl(t,Ll(Sl(t,j.current.expandedCursor))),terminalContextIds:Bl(Da())}}),j.current=e,e},t[34]=g,t[35]=ce);let le=ce,ue,de;t[36]!==se||t[37]!==le?(ue=()=>({focus:()=>{se(j.current.cursor)},focusAt:se,focusAtEnd:()=>{se(Po(j.current.value,j.current.value.length))},readSnapshot:le}),de=[se,le],t[36]=se,t[37]=le,t[38]=ue,t[39]=de):(ue=t[38],de=t[39]),(0,Z.useImperativeHandle)(h,ue,de);let fe;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(fe=e=>{e.read(()=>{let e=Da().getTextContent(),t=No(e,Il(No(e,j.current.cursor))),n=Sl(e,Ll(Sl(e,j.current.expandedCursor))),r=Bl(Da()),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=Fo(e,t,`left`)||Fo(e,t,`right`);_.current(e,t,n,a,r)})},t[40]=fe):fe=t[40];let pe=fe,me;t[41]===s?me=t[42]:(me=U(`composer-prompt-editor block max-h-[200px] min-h-8 w-full overflow-y-auto whitespace-pre-wrap break-words bg-transparent text-[14px] leading-relaxed text-foreground focus:outline-none`,s),t[41]=s,t[42]=me);let he=N??void 0,ge;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,Q.jsx)(`span`,{}),t[43]=ge):ge=t[43];let _e;t[44]!==m||t[45]!==o||t[46]!==me||t[47]!==he?(_e=(0,Q.jsx)(b,{className:me,"data-testid":`composer-editor`,"data-vim-mode":he,"aria-placeholder":o,placeholder:ge,onPaste:m}),t[44]=m,t[45]=o,t[46]=me,t[47]=he,t[48]=_e):_e=t[48];let ve;t[49]!==o||t[50]!==i.length?(ve=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]=ve):ve=t[51];let ye;t[52]!==_e||t[53]!==ve?(ye=(0,Q.jsx)(D,{contentEditable:_e,placeholder:ve,ErrorBoundary:S}),t[52]=_e,t[53]=ve,t[54]=ye):ye=t[54];let be;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,Q.jsx)(C,{onChange:pe}),t[55]=be):be=t[55];let xe;t[56]!==r||t[57]!==ie||t[58]!==i||t[59]!==n||t[60]!==l||t[61]!==c?(xe=(0,Q.jsx)(Hl,{enabled:c,commandMenuActive:l,value:n,cursor:r,terminalContexts:i,onModeChange:ie}),t[56]=r,t[57]=ie,t[58]=i,t[59]=n,t[60]=l,t[61]=c,t[62]=xe):xe=t[62];let Se;t[63]===p?Se=t[64]:(Se=(0,Q.jsx)(Vl,{...p?{onCommandKeyDown:p}:{}}),t[63]=p,t[64]=Se);let W,Ce,we,Te;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,Q.jsx)(Ul,{}),Ce=(0,Q.jsx)(Wl,{}),we=(0,Q.jsx)(Gl,{}),Te=(0,Q.jsx)(T,{}),t[65]=W,t[66]=Ce,t[67]=we,t[68]=Te):(W=t[65],Ce=t[66],we=t[67],Te=t[68]);let Ee;t[69]!==ye||t[70]!==xe||t[71]!==Se?(Ee=(0,Q.jsxs)(`div`,{className:`relative min-w-0`,children:[ye,be,xe,Se,W,Ce,we,Te]}),t[69]=ye,t[70]=xe,t[71]=Se,t[72]=Ee):Ee=t[72];let De;return t[73]!==Ee||t[74]!==R?(De=(0,Q.jsx)(fl.Provider,{value:R,children:Ee}),t[73]=Ee,t[74]=R,t[75]=De):De=t[75],De}function ql(e){return e.id}function Jl(e){return e.id}var Yl=(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:[pl,gl],editorState:()=>{zl(g.current,_.current)},onError:Xl},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)(Kl,{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})},dl),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 Xl(e){throw e}function Zl({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=fs(s),b=fs(_),x=p(jr({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(Or({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)(Pa,{open:e,onOpenChange:e=>{C.isPending||r(e)},children:(0,Q.jsxs)(Na,{className:`max-w-xl`,children:[(0,Q.jsxs)(Oa,{children:[(0,Q.jsx)(ka,{children:`Checkout Pull Request`}),(0,Q.jsx)(Ma,{children:`Resolve a GitHub pull request, then create the draft thread in the main repo or in a dedicated worktree.`})]}),(0,Q.jsxs)(ja,{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)(Mr,{ref:o,placeholder:`https://github.com/owner/repo/pull/42, gh pr checkout 42, or #42`,value:s,onChange:e=>{u(!0),c(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),!T&&!C.isPending&&D(`local`))}})]}),w?(0,Q.jsx)(`div`,{className:`rounded-xl border border-border/70 bg-muted/24 p-3`,children:(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`p`,{className:`truncate font-medium text-sm`,children:w.title}),(0,Q.jsxs)(`p`,{className:`truncate text-muted-foreground text-xs`,children:[`#`,w.number,` · `,w.headBranch,` to`,` `,w.baseBranch]})]}),(0,Q.jsx)(`span`,{className:U(`shrink-0 text-xs capitalize`,E),children:w.state})]})}):null,T?(0,Q.jsx)(`div`,{className:`flex items-center gap-2 text-muted-foreground text-xs`,children:(0,Q.jsx)(li,{children:`Resolving pull request`})}):null,O?(0,Q.jsx)(`p`,{className:`text-destructive text-xs`,children:O}):null]}),(0,Q.jsxs)(Aa,{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)(li,{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)(li,{children:`Preparing worktree`}):`Worktree`})]})]})})}var Ql=new WeakMap;function $l(e){return typeof e.additions!=`number`||typeof e.deletions!=`number`?null:{additions:e.additions,deletions:e.deletions}}function eu(e){let t=Ql.get(e);if(t)return t;let n=e.reduce((e,t)=>{let n=$l(t);return n?{additions:e.additions+n.additions,deletions:e.deletions+n.deletions}:e},{additions:0,deletions:0});return Ql.set(e,n),n}function tu(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 nu=(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:ru},t[0]=p):p=t[0];let{copyToClipboard:m,isCopied:h}=ni(p),g=(0,Z.useId)(),_;t[1]===n?_=t[2]:(_=Ko(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=qo(n),t[3]=n,t[4]=x);let S=x,C;t[5]!==b||t[6]!==n?(C=b?Jo(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=$o(n),t[8]=n,t[9]=T);let E=T,D;t[10]===n?D=t[11]:(D=es(n),t[10]=n,t[11]=D);let O=D,k;t[12]!==E||t[13]!==O?(k=()=>{ts(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){di.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){di.add({type:`warning`,title:`Enter a workspace path`});return}f(!0),e.projects.writeFile({cwd:i,relativePath:t,contents:O}).then(e=>{c(!1),di.add({type:`success`,title:`Plan saved to workspace`,description:e.relativePath})}).catch(iu).then(()=>{f(!1)},()=>{f(!1)})}},t[21]=O,t[22]=l,t[23]=i,t[24]=L):L=t[24];let R=L,z;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(z=U(J,`truncate font-medium text-foreground`),t[25]=z):z=t[25];let B;t[26]===v?B=t[27]:(B=(0,Q.jsx)(`p`,{className:z,children:v}),t[26]=v,t[27]=B);let ee;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,Q.jsx)(mt,{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)(ir,{"aria-hidden":`true`,className:`size-3.5`})}),t[28]=ee):ee=t[28];let te=h?`Copied!`:`Copy to clipboard`,ne;t[29]!==M||t[30]!==te?(ne=(0,Q.jsx)(Re,{onClick:M,children:te}),t[29]=M,t[30]=te,t[31]=ne):ne=t[31];let V;t[32]===A?V=t[33]:(V=(0,Q.jsx)(Re,{onClick:A,children:`Download as markdown`}),t[32]=A,t[33]=V);let re=!i||d,ie;t[34]!==F||t[35]!==re?(ie=(0,Q.jsx)(Re,{onClick:F,disabled:re,children:`Save to workspace`}),t[34]=F,t[35]=re,t[36]=ie):ie=t[36];let H;t[37]!==ne||t[38]!==V||t[39]!==ie?(H=(0,Q.jsxs)(Mt,{children:[ee,(0,Q.jsxs)(me,{align:`end`,children:[ne,V,ie]})]}),t[37]=ne,t[38]=V,t[39]=ie,t[40]=H):H=t[40];let ae;t[41]!==B||t[42]!==H?(ae=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[B,H]}),t[41]=B,t[42]=H,t[43]=ae):ae=t[43];let oe=b&&!a&&`max-h-80 overflow-hidden`,se;t[44]===oe?se=t[45]:(se=U(`relative`,oe),t[44]=oe,t[45]=se);let ce;t[46]!==b||t[47]!==w||t[48]!==r||t[49]!==S||t[50]!==a?(ce=b&&!a?(0,Q.jsx)(Wi,{text:w??``,cwd:r,isStreaming:!1}):(0,Q.jsx)(Wi,{text:S,cwd:r,isStreaming:!1}),t[46]=b,t[47]=w,t[48]=r,t[49]=S,t[50]=a,t[51]=ce):ce=t[51];let le;t[52]!==b||t[53]!==a?(le=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]=le):le=t[54];let ue;t[55]!==se||t[56]!==ce||t[57]!==le?(ue=(0,Q.jsxs)(`div`,{className:se,children:[ce,le]}),t[55]=se,t[56]=ce,t[57]=le,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(au),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 he;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,Q.jsx)(ka,{children:`Save plan to workspace`}),t[67]=he):he=t[67];let ge=i??`the workspace`,_e;t[68]===ge?_e=t[69]:(_e=(0,Q.jsxs)(Oa,{children:[he,(0,Q.jsxs)(Ma,{children:[`Enter a path relative to `,(0,Q.jsx)(`code`,{children:ge}),`.`]})]}),t[68]=ge,t[69]=_e);let ve;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,Q.jsx)(`span`,{className:U(J,`font-medium text-foreground`),children:`Workspace path`}),t[70]=ve):ve=t[70];let ye;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(ye=e=>u(e.target.value),t[71]=ye):ye=t[71];let be;t[72]!==E||t[73]!==d||t[74]!==l||t[75]!==g?(be=(0,Q.jsx)(Mr,{id:g,value:l,onChange:ye,placeholder:E,spellCheck:!1,disabled:d}),t[72]=E,t[73]=d,t[74]=l,t[75]=g,t[76]=be):be=t[76];let xe;t[77]!==g||t[78]!==be?(xe=(0,Q.jsx)(ja,{className:`space-y-3`,children:(0,Q.jsxs)(`label`,{htmlFor:g,className:`grid gap-1.5`,children:[ve,be]})}),t[77]=g,t[78]=be,t[79]=xe):xe=t[79];let Se;t[80]===Symbol.for(`react.memo_cache_sentinel`)?(Se=()=>c(!1),t[80]=Se):Se=t[80];let W;t[81]===d?W=t[82]:(W=(0,Q.jsx)(I,{variant:`outline`,size:`sm`,onClick:Se,disabled:d,children:`Cancel`}),t[81]=d,t[82]=W);let Ce;t[83]===R?Ce=t[84]:(Ce=()=>void R(),t[83]=R,t[84]=Ce);let we=d?`Saving...`:`Save`,Te;t[85]!==d||t[86]!==Ce||t[87]!==we?(Te=(0,Q.jsx)(I,{size:`sm`,onClick:Ce,disabled:d,children:we}),t[85]=d,t[86]=Ce,t[87]=we,t[88]=Te):Te=t[88];let Ee;t[89]!==W||t[90]!==Te?(Ee=(0,Q.jsxs)(Aa,{children:[W,Te]}),t[89]=W,t[90]=Te,t[91]=Ee):Ee=t[91];let De;t[92]!==_e||t[93]!==xe||t[94]!==Ee?(De=(0,Q.jsxs)(Na,{className:`max-w-xl`,children:[_e,xe,Ee]}),t[92]=_e,t[93]=xe,t[94]=Ee,t[95]=De):De=t[95];let Oe;t[96]!==s||t[97]!==pe||t[98]!==De?(Oe=(0,Q.jsx)(Pa,{open:s,onOpenChange:pe,children:De}),t[96]=s,t[97]=pe,t[98]=De,t[99]=Oe):Oe=t[99];let ke;return t[100]!==ae||t[101]!==fe||t[102]!==Oe?(ke=(0,Q.jsxs)(`div`,{className:`border-l-2 border-primary/25 pl-4`,children:[ae,fe,Oe]}),t[100]=ae,t[101]=fe,t[102]=Oe,t[103]=ke):ke=t[103],ke});function ru(e){di.add({type:`error`,title:`Could not copy plan`,description:e instanceof Error?e.message:`An error occurred while copying.`})}function iu(e){di.add({type:`error`,title:`Could not save plan`,description:e instanceof Error?e.message:`An error occurred while saving.`})}function au(e){return!e}function ou(e){return e.additions>0||e.deletions>0}var su=(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}),cu=200,lu=new WeakMap,uu=new Map;function du(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.substring(t+1):e}var fu={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 pu(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 fu[e.substring(t+1).toLowerCase()]??`text`}var mu=new Map,hu=wr(()=>import(`./dist-C5QFNSAb.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]));function gu(e){let t=mu.get(e);if(t)return t;let n=hu.then(({getSharedHighlighter:t})=>t({themes:[Pi(`dark`),Pi(`light`)],langs:[e],preferredHighlighter:`shiki-js`})).catch(t=>{if(mu.delete(e),e===`text`)throw t;return gu(`text`)});return mu.set(e,n),n}function _u(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function vu(e){return typeof e==`string`&&e.length>0?e:null}function yu(e){let t=_u(e),n=Array.isArray(t?.display)?t.display:null;if(!n)return null;for(let e of n){let t=_u(e);if(t?.type!==`diff`)continue;let n=vu(t.old_text),r=vu(t.new_text);if(n!=null&&r!=null)return{oldText:n,newText:r,path:vu(t.path)}}return null}function bu(e){let t=_u(e);if(!t)return null;let n=_u(t.result);if(n){let e=n.content;if(Array.isArray(e))for(let t of e){let e=_u(t);if(e?.type===`text`&&typeof e.text==`string`)try{let t=_u(JSON.parse(e.text));if(t)return t}catch{}}return n}return t}function xu(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 Su(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 Cu(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 wu(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 Tu=80,Eu=new Set([`write`,`write_file`,`writefile`]),Du=`strreplacefile`;function Ou(e){return e.replace(/[.\s-]+/g,`_`).trim().toLowerCase()}function ku(e,t){let n=t??``;if(e&&typeof e==`object`){let t=lu.get(e)?.get(n);if(t!==void 0)return t}else{let t=`${typeof e}:${String(e)}\u0000${n}`,r=uu.get(t);if(r!==void 0)return r}let r=t=>{if(e&&typeof e==`object`){let r=e,i=lu.get(r);return i?i.set(n,t):lu.set(r,new Map([[n,t]])),t}let r=`${typeof e}:${String(e)}\u0000${n}`;if(uu.set(r,t),uu.size>cu){let e=uu.keys().next().value;typeof e==`string`&&uu.delete(e)}return t},i=_u(e),a=bu(e);if(!a)return r(null);let o=_u(a.input),s=_u(i?.input),c=_u(o?.edit),l=_u(s?.edit),u=vu(i?.toolName)??vu(a.toolName)??null,d=u===null?null:Ou(u),f=vu(a.filePath)??vu(a.path)??vu(a.relativePath)??vu(a.filename)??vu(s?.path)??vu(s?.file_path)??vu(o?.file_path)??vu(o?.path)??t??null;if(Array.isArray(a.structuredPatch)&&a.structuredPatch.length>0){let e=wu(a.structuredPatch);if(e.length>0)return r(Au(f,e))}let p=vu(_u(a.gitDiff)?.patch);if(p){let e=Su(p);if(e.length>0)return r(Au(f,e))}let m=vu(a.patch)??vu(a.diff);if(m){let e=Su(m);if(e.length>0)return r(Au(f??Cu(m),e))}let h=vu(o?.patch)??vu(s?.patch);if(h){let e=Su(h);if(e.length>0)return r(Au(f??Cu(h),e))}let g=d===Du?yu(a)??yu(i?.result)??yu(i):null;if(g){let e=xu(g.oldText,g.newText);if(e.length>0)return r(Au(f??g.path,e))}let _=vu(o?.old_string)??vu(s?.old_string)??vu(c?.old)??vu(l?.old)??vu(a.oldString)??vu(i?.oldString),v=vu(o?.new_string)??vu(s?.new_string)??vu(c?.new)??vu(l?.new)??vu(a.newString)??vu(i?.newString);if(_!=null&&v!=null){let e=xu(_,v);if(e.length>0)return r(Au(f,e))}let y=d!==null&&Eu.has(d),b=vu(s?.content)??vu(o?.content);if(b!=null&&(y||f!==null)){let e=xu(``,b);if(e.length>0)return r(Au(f,e))}let x=_u(a.item);if(x&&Array.isArray(x.changes))for(let e of x.changes){let t=_u(e);if(!t)continue;let n=vu(t.path),i=vu(t.diff);if(i){let e=Su(i);if(e.length>0)return r(Au(n??f,e))}}return r(null)}function Au(e,t){let n=t.length>Tu?t.slice(0,Tu):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 ju={added:`bg-success/8 text-foreground/85`,removed:`bg-destructive/8 text-foreground/85`,context:`text-foreground/60`},Mu={added:`text-success/60`,removed:`text-destructive/60`,context:`text-foreground/30`},Nu={added:`+`,removed:`-`,context:` `},Pu=(0,Z.memo)(function(e){let t=(0,X.c)(46),{diff:n,className:r}=e,{copyToClipboard:i,isCopied:a}=ni(),{resolvedTheme:o}=zi(),s;t[0]===o?s=t[1]:(s=Pi(o),t[0]=o,t[1]=s);let c=s,l,u;t[2]===n.filePath?u=t[3]:(u=pu(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(Iu).join(`
262
+ `);return gu(d).then(n=>{if(e)return;let r=n.codeToTokens(t,{lang:d,theme:c});e||p(r.tokens)}).catch(Lu),()=>{e=!0}},h=[n.lines,d,c],t[4]=n.lines,t[5]=d,t[6]=c,t[7]=m,t[8]=h):(m=t[7],h=t[8]),(0,Z.useEffect)(m,h);let g,_=0;for(let e of n.lines)e.oldLineNo!=null&&e.oldLineNo>_&&(_=e.oldLineNo),e.newLineNo!=null&&e.newLineNo>_&&(_=e.newLineNo);g=Math.max(2,String(_).length);let v=g,y;t[9]===r?y=t[10]:(y=U(`overflow-hidden rounded-md border border-border/50`,r),t[9]=r,t[10]=y);let b;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=U(J,`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:du(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)(gn,{className:`size-3.5 text-success`}):(0,Q.jsx)(Qn,{className:`size-3.5`})}),t[21]=i,t[22]=n.filePath,t[23]=a,t[24]=T):T=t[24];let E;t[25]!==w||t[26]!==T||t[27]!==x?(E=(0,Q.jsxs)(`div`,{className:b,children:[x,w,T]}),t[25]=w,t[26]=T,t[27]=x,t[28]=E):E=t[28];let D;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(D=U(J,`font-mono leading-5`),t[29]=D):D=t[29];let O;if(t[30]!==n.lines||t[31]!==v||t[32]!==f){let e;t[34]!==v||t[35]!==f?(e=(e,t)=>(0,Q.jsxs)(`div`,{className:U(`flex`,ju[e.type]),children:[(0,Q.jsx)(`span`,{className:U(`select-none border-r border-border/30 px-2 text-right`,Mu[e.type]),style:{minWidth:`${v+2}ch`},children:e.oldLineNo??e.newLineNo??``}),(0,Q.jsx)(`span`,{className:U(`select-none px-1`,Mu[e.type]),"aria-hidden":`true`,children:Nu[e.type]}),(0,Q.jsx)(`span`,{className:`flex-1 whitespace-pre pr-3`,children:(0,Q.jsx)(Fu,{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>=Tu&&(0,Q.jsx)(`div`,{className:U(`text-sm font-normal leading-relaxed`,`border-t border-border/50 px-3 py-1 text-center font-mono text-muted-foreground/70`),children:`Diff truncated`}),t[39]=n.lines.length,t[40]=A);let j;return t[41]!==E||t[42]!==k||t[43]!==A||t[44]!==y?(j=(0,Q.jsxs)(`div`,{"data-inline-diff":`true`,className:y,children:[E,k,A]}),t[41]=E,t[42]=k,t[43]=A,t[44]=y,t[45]=j):j=t[45],j}),Fu=(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(Ru),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 Iu(e){return e.content}function Lu(){}function Ru(e){return(0,Q.jsx)(`span`,{style:e.color?{color:e.color}:void 0,children:e.content},`${e.offset}:${e.content.length}`)}var zu=(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}=ni(),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)(gn,{className:`size-3 text-success`}):(0,Q.jsx)(Qn,{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}),Bu=2,Vu=24,Hu=`data-item-clamped-viewport`,Uu=`data-item-clamped-viewport-item`;function Wu(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>Bu)},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(Ku(Gu(e),o)),x(e),y(e)};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);for(let t of Gu(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<=Vu&&(m.current=!1)),h.current=t.scrollTop,y(t)},t[20]=c,t[21]=E);let D=E,O;t[22]===r?O=t[23]:(O=U(`relative`,r),t[22]=r,t[23]=O);let k;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(k={[Hu]:``},t[24]=k):k=t[24];let A;t[25]===u?A=t[26]:(A=u===null?void 0:{maxHeight:u},t[25]=u,t[26]=A);let j;t[27]!==n||t[28]!==D||t[29]!==A?(j=(0,Q.jsx)(`div`,{ref:l,...k,className:`overflow-y-auto overscroll-contain [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,style:A,onScroll:D,children:n}),t[27]=n,t[28]=D,t[29]=A,t[30]=j):j=t[30];let M=f?`opacity-100`:`opacity-0`,N;t[31]===M?N=t[32]:(N=U(`pointer-events-none absolute inset-x-0 top-0 h-8 bg-gradient-to-b from-background/80 to-transparent transition-opacity duration-150`,M),t[31]=M,t[32]=N);let P;t[33]===N?P=t[34]:(P=(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:N}),t[33]=N,t[34]=P);let F;return t[35]!==O||t[36]!==j||t[37]!==P?(F=(0,Q.jsxs)(`div`,{className:O,children:[j,P]}),t[35]=O,t[36]=j,t[37]=P,t[38]=F):F=t[38],F}function Gu(e){return Array.from(e.querySelectorAll(`[${Uu}]`)).filter(t=>t.closest(`[${Hu}]`)===e)}function Ku(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 qu=/^(.*?)\s+line(?:s)?\s+(\d+)(?:-(\d+))?$/i;function Ju(e){return e.map(e=>e.header.trim()).filter(e=>e.length>0).map(Yu).join(` `)}function Yu(e){let t=e.trim(),n=qu.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,`-`)}`:st({terminalLabel:n[1]?.trim()||`terminal`,lineStart:r,lineEnd:i})}function Xu(e,t){let n=0;for(let r of t){let t=Yu(r.header),i=e.indexOf(t,n);if(i===-1)return!1;n=i+t.length}return!0}var Zu=72,Qu=56,$u=22,ed=22.75,td=33,nd=88,rd=2,id=228,ad=.75,od=32,sd=8,cd=7.2,ld=7.2,ud=4,dd=20;function fd(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 pd(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}function md(e){if(!pd(e))return Qu;let t=e*ad,n=Math.max(t-od,0);return Math.max(ud,Math.floor(n/cd))}function hd(e){if(!pd(e))return Zu;let t=Math.max(e-sd,0);return Math.max(dd,Math.floor(t/ld))}function gd(e,t={timelineWidthPx:null}){if(e.role===`assistant`){let n=hd(t.timelineWidthPx);return td+fd(e.text,n)*ed}if(e.role===`user`){let n=md(t.timelineWidthPx),r=At(e.text),i=fd(r.contexts.length>0?[Ju(r.contexts),r.visibleText].filter(e=>e.length>0).join(` `):r.visibleText,n),a=e.attachments?.length??0,o=Math.ceil(a/rd)*id;return nd+i*$u+o}let n=hd(t.timelineWidthPx);return td+fd(e.text,n)*ed}var _d=new WeakMap;function vd(e){return Math.max(1,e.split(/\r?\n/g).length)}function yd(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function bd(e){let t=e.content;if(typeof t==`string`&&t.length>0)return t;let n=yd(e.result)?.content;if(typeof n==`string`&&n.length>0)return n;let r=yd(e.item);if(r){let e=r.content;if(typeof e==`string`&&e.length>0)return e;let t=yd(r.result)?.content;if(typeof t==`string`&&t.length>0)return t}return null}function xd(e){let t=_d.get(e);if(t)return t;let n=e,r=bd(n);if(r!==null){let t={text:r,lineCount:vd(r),format:`text`};return _d.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:vd(r),format:`text`};return _d.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:vd(t),format:`text`};return _d.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 _d.set(e,t),t}try{let t=JSON.stringify(e,null,2),n={text:typeof t==`string`?t:null,lineCount:typeof t==`string`?vd(t):1,format:`json`};return _d.set(e,n),n}catch{let t={text:null,lineCount:1,format:`text`};return _d.set(e,t),t}}function Sd(e){if(e==null)return{text:null,lineCount:0,format:`text`};if(typeof e==`string`)return{text:e||null,lineCount:e.length>0?vd(e):0,format:`text`};if(typeof e==`object`)return xd(e);try{let t=JSON.stringify(e,null,2);return{text:typeof t==`string`?t:null,lineCount:typeof t==`string`?vd(t):1,format:`json`}}catch{return{text:null,lineCount:1,format:`text`}}}function Cd(e){let t=e.itemId?.trim();return t&&t.length>0?`work-item:${t}`:e.id}function wd(e,t){let n=t?.[e.expansionId];return n===void 0?t?.[e.id]:n}function Td(e){return e.groupedEntries.some(e=>e.running)||e.stickyInProgress?!0:e.childRows.some(e=>Td(e))}function Ed(e,t){let n=wd(e,t);return n===void 0?Td(e):n}function Dd(e,t){return wd(e,t)??!1}function Od(e){return e.role===`assistant`&&e.text.trim().length===0}function kd(e){if(e.groupedEntries.length>1||(e.inlineEntries?.length??0)>0)return!0;let t=e.groupedEntries[0];return!!(t?.running&&!wf(t))}function Ad(e){return`work-entry:${e}`}function jd(e){return`turn-work:${e}`}function Md(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 Nd(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 Pd(e){return e.replace(/\s+(?:start|started|complete|completed)\s*$/i,``).trim()}var Fd=new Set([`read file`,`list directory`]),Id=new Set([`read`,`read file`,`view`]),Ld=new Set([`list`,`list directory`,`ls`]),Rd=new Set([`ack`,`ag`,`fd`,`find`,`glob`,`grep`,`rg`,`ripgrep`,`search`,`web search`]),zd=new Set([`create file`]),Bd=new Set([`delete file`]),Vd=[`cat`,`fd`,`find`,`grep`,`head`,`less`,`ls`,`pwd`,`read`,`rg`,`sed`,`stat`,`tail`,`tree`],Hd=new Set([`oldPath`,`old_path`,`prevPath`,`prev_path`]),Ud=new Set([`newPath`,`new_path`]),Wd=/(^new file mode\b|^--- \/dev\/null$)/m,Gd=/(^deleted file mode\b|^\+\+\+ \/dev\/null$)/m,Kd=`/dev/null`;function qd(e){return Pd(e.toolTitle??e.label).replace(/[._-]/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function Jd(e){let t=qd(e);return t===`runtime warning`||t===`runtime error`}function Yd(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 Xd(e){return Ve(Zd(e))}function Zd(e){return e?$(/^([A-Za-z][A-Za-z0-9 _-]{1,48}):\s*[[{"]/u.exec(e.trim())?.[1]):null}function Qd(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 Yd(JSON.parse(t[1]))}catch{return null}}function $d(e){return Ve(ef(e))||Xd(e.detail)}function ef(e){return $(pt(e.output)?.toolName)??$(e.toolTitle)??Zd(e.detail)}function tf(e){return(pt(e.output)?.input??null)||Qd(e.detail)}function nf(e,t){return e.itemType===`mcp_tool_call`||t?.startsWith(`mcp `)===!0||qd(e)===`mcp tool call`}function rf(e){return nf(e,$d(e))}function af(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[._-]+/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function of(e){let t=ef(e);if(t){let e=af(/^mcp__([^_]+(?:_[^_]+)*)__([\s\S]+)$/u.exec(t)?.[2]??t.replace(/^mcp[_\s-]+/iu,``));if(e.length>0&&e!==`tool call`)return e}let n=qd(e);return n!==`mcp tool call`&&n.length>0?n:`tool`}function sf(e,t,n=0){if(n>5)return!1;if(Array.isArray(e))return e.some(e=>sf(e,t,n+1));let r=Yd(e);if(!r)return!1;for(let[e,i]of Object.entries(r))if(t.has(e)&&$(i)===Kd||sf(i,t,n+1))return!0;return!1}function cf(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=>cf(e,t,n+1));let r=Yd(e);return r?Object.values(r).some(e=>cf(e,t,n+1)):!1}function lf(e){let t=$d(e);return t&&zd.has(t)?`create`:t&&Bd.has(t)?`delete`:sf(e.output,Hd)||cf(e.output,Wd)?`create`:sf(e.output,Ud)||cf(e.output,Gd)?`delete`:e.requestKind===`file-change`||e.itemType===`file_change`||le(t)===`file-change`?`edit`:null}function uf(e){return lf(e)!==null}function df(e){return $d(e)===`skill`}function ff(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 pf(e){return e?Id.has(e)?`read`:Ld.has(e)?`list`:Rd.has(e)?`search`:null:null}function mf(e){return Ue(e)}function hf(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 gf(e){let t=e.detail??e.changedFiles?.[0]??null;return t?hf(t)?null:t:null}function _f(e){return e.replace(/[._-]/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function vf(e,t){return t?_f(e)===_f(t)?null:t:null}function yf(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 bf(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||_f(n)===`file`?null:n}function xf(e){if(e.providerToolPath)return e.providerToolPath;let t=vf(e.action,e.explicitDetail);return t?bf(t):null}function Sf(e){return(e.command??e.detail??``).trim().toLowerCase()}function Cf(e){let t=Sf(e);return t.length===0?!1:t.split(/&&|\|\||[;|]/g).map(e=>e.trim()).filter(e=>e.length>0).some(e=>Vd.some(t=>e===t||e.startsWith(`${t} `)))}function wf(e){if(e.requestKind===`file-read`||e.itemType===`image_view`||e.itemType===`web_search`)return!0;let t=qd(e);return Fd.has(t)||t.includes(`search`)||pf($d(e))!==null?!0:e.requestKind===`command`||e.itemType===`command_execution`?Cf(e):!1}function Tf(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 Ef(e){return e?$(e.skill)??$(e.skill_name)??$(e.skillName)??$(e.name):null}function Df(e){return $(e?.tool_use_id)??$(e?.toolUseId)}function Of(e){if(!e)return null;let t=$(e.content);if(t)return t;if(Array.isArray(e.content)){let t=e.content.map(e=>$(Yd(e)?.text)).filter(e=>e!==null).join(`
264
+
265
+ `);return t.length>0?t:null}return null}function kf(e){return e?Yd(e.content)??e:null}function Af(e){if($d(e)!==`skill`)return null;let t=tf(e),n=Yd(pt(e.output)?.result),r=kf(n);return{skillName:Ef(t)??$(r?.skill)??$(r?.name),skillPath:$(r?.path),skillMarkdown:$(r?.content),toolUseId:Df(n),resultText:Of(n)}}function jf(e){if(e.itemType!==`collab_agent_tool_call`)return null;let t=tf(e);if(!t)return null;let n=Yd(pt(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:Df(n),resultText:Of(n)}}function Mf(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]?Yd(n[0]):null)?.question)}function Nf(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 Pf(e){if(!e)return null;let t=(Array.isArray(e.todos)?e.todos:null)?.filter(e=>{let t=Yd(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 Ff(e){let t=Fe(e.providerToolInput),n=we(e.providerToolInput),r=Se(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 If(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=Yd(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 Lf(e){let t=ve(e.providerToolInput),n=Ee(e.providerToolInput),r=Oe(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 Rf=/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|`([^`\\]|\\.)*`|[^\s]+/g,zf=new Set([`ack`,`ag`,`fd`,`find`,`grep`,`rg`]),Bf=new Set([`bat`,`cat`,`head`,`less`,`more`,`read`,`sed`,`tail`]),Vf=new Set([`dir`,`ls`,`pwd`,`stat`,`tree`]),Hf=new Set([`awk`,`cat`,`cut`,`grep`,`head`,`jq`,`sed`,`sort`,`tail`,`tr`,`uniq`,`wc`]);function Uf(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 Wf(e){let t=e.match(Rf);return t?t.map(Uf).filter(e=>e.length>0):[]}function Gf(e){if(!e)return``;let t=e.replace(/\\/g,`/`);return(t.split(`/`).at(-1)??t).toLowerCase()}function Kf(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 qf(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(!(!n||n===`--`||n.startsWith(`-`)))return n}return null}function Jf(e){let t=Wf(e);if(t.length===0)return null;let n=Gf(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:Kf(r),monospace:!0,dedupeKey:null}}if(zf.has(n))return{kind:`search`,action:`Searched for`,detail:Kf(r),monospace:!1,dedupeKey:null};if(Bf.has(n)){let e=qf(r);return{kind:`read`,action:`Read`,detail:e,monospace:!0,dedupeKey:e?`read:${e}`:null}}return Vf.has(n)?{kind:`list`,action:`Listed`,detail:n===`pwd`?null:qf(r)??Kf(r),monospace:!0,dedupeKey:null}:null}function Yf(e){return e.label.trim().toLowerCase()===`status update`}function Xf(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 Zf(e){return Yf(e)&&!Xf(e)}function Qf(e){if(!e)return!1;let t=Wf(e);if(t.length===0)return!1;let n=Gf(t[0]);return Hf.has(n)?!t.some(e=>e===`--`||e.includes(`/`)||e.includes(`\\`)||e.startsWith(`.`)||e.startsWith(`~`)):!1}function $f(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 ep(e){let t=qd(e),n=gf(e),r=e.running===!0,i=tf(e),a=$d(e),o=pf(a),s=Me(i),c=ve(i),l=lf(e),u=Tf(i),d=Ef(i),f=Mf(i),p=Nf(i),m=Pf(i),h=If(i);if(Jd(e))return{kind:`other`,action:t===`runtime error`?`Runtime error`:`Runtime warning`,detail:null,monospace:!1,dedupeKey:null};if(nf(e,a))return{kind:`other`,action:r?`Using MCP`:`Used MCP`,detail:of(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&&Rt(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&&de(a))return Ff({toolName:a,providerToolInput:i,running:r,fallbackDetail:n});if(mf(a))return{kind:`other`,action:r?`Updating`:`Updated`,detail:m,monospace:!1,dedupeKey:null};if(a&&be(a))return{kind:`other`,action:r?`Requesting input`:`Requested input`,detail:f??n,monospace:!1,dedupeKey:null};if(l){let e=ff({operation:l,running:r,providerToolName:a});return{kind:`edit`,action:e,detail:xf({action:e,explicitDetail:n,providerToolPath:s}),monospace:!0,dedupeKey:null}}if(e.itemType===`web_search`)return Lf({providerToolInput:i,running:r,fallbackDetail:n||e.command||null});if(o===`list`){let t=yf(`list`,n);return s===null&&Yf(e)&&Qf(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=yf(`read`,n);return s===null&&Yf(e)&&Qf(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=yf(`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=yf(`read`,n);return Yf(e)&&Qf(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(wf(e)){let t=Jf(e.command??e.detail??``);if(t)return r?{...t,action:$f(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?Pd(e.toolTitle):Pd(e.label),_=g.length>0?`${g.charAt(0).toUpperCase()}${g.slice(1)}`:g;return{kind:`other`,action:_,detail:vf(_,e.command||n||null),monospace:!1,dedupeKey:null}}function tp(e,t,n=np(t)){return`${e} ${e===1?t:n}`}function np(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 rp(e){if(e.count<=0)return null;let t=tp(e.count,e.singular,e.plural);return{leadingVerb:e.leadingVerb,leadingRest:t,trailing:`${e.trailingVerb} ${t}`}}function ip(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 ap(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=ep(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 op(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 ap(e)){let e=$d(d),f=ep(d);if(nf(d,e)){l=!0;continue}if(d.itemType===`web_search`){u=!0;continue}if(d.itemType===`collab_agent_tool_call`||e&&Rt(e)){t=!0;continue}if(e===`skill`){s=!0;continue}if(mf(e)||de(e)){c=!0;continue}if(lf(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`&&cp(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 sp(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 ap(e)){if(t.itemType===`web_search`){_+=1;continue}let e=ep(t),n=$d(t),v=lf(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(wf(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(mf(n)){m+=1,e.detail&&h.push(e.detail);continue}if(de(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`&&cp(t)!==null&&(p+=1)}let v=[rp({count:r.size+s,leadingVerb:n?`Creating`:`Created`,trailingVerb:n?`creating`:`created`,singular:`file`}),rp({count:i.size+c,leadingVerb:n?`Editing`:`Edited`,trailingVerb:n?`editing`:`edited`,singular:`file`}),rp({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(tp(o.size,`file`)),u>0&&y.push(tp(u,`search`)),d>0&&y.push(tp(d,`list`)),y.length>0){let e=y.join(`, `);v.push({leadingVerb:n?`Exploring`:`Explored`,leadingRest:e,trailing:`${n?`exploring`:`explored`} ${e}`})}let b=rp({count:f,leadingVerb:n?`Running`:`Ran`,trailingVerb:n?`running`:`ran`,singular:`command`});b&&v.push(b);let x=rp({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=rp({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 ip(v);if(e.length===1){let t=ep(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 cp(e){let t=e.label.trim().toLowerCase()===`status update`,n=$d(e);if(e.itemType===`web_search`)return`web-search`;if(uf(e))return`edit`;if(wf(e))return`explore`;if(e.requestKind===`command`||e.itemType===`command_execution`)return`command`;if(e.itemType===`collab_agent_tool_call`){let t=ep(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=Pd(e.toolTitle??e.label);return r.length>0?`other:${r.toLowerCase()}`:null}function lp(e){let t=[],n=new Set,r=Nd(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(pp(t)){r+=1;continue}break}o.push(t),n.add(t.id),r+=1}t.push(...mp(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}),up(t,e.expandedWorkGroups)}function up(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(...fp(s,t))}return r}function dp(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=pe(t.message.createdAt,n);return i?`Worked for ${i}`:null}function fp(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`&&!Od(n.message)){r=t;break}}if(r<=1)return e;let i=dp(e);if(!i)return e;let a=jd(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 pp(e){return e.kind===`message`&&Od(e.message)}function mp(e,t){let n=e.flatMap(e=>e.kind===`work`&&!Zf(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=hp(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`&&Zf(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(Zf(t.entry)){i+=1;continue}o.push(t.entry),i+=1}a.push(...hp(o,{stickyTailInProgress:t.stickyTailInProgress&&i>=e.length})),n=i-1}return a}function hp(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`&&cp(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:Cd(u),createdAt:u.createdAt,groupedEntries:r,stickyInProgress:t.stickyTailInProgress&&l>=a.length,childRows:hp(d,{stickyTailInProgress:!1})}),e=l-1}return o}function gp(e,t){switch(e.kind){case`work`:return vp(e,t);case`proposed-plan`:return xp(e.proposedPlan);case`reasoning`:return _p(e.reasoning.text);case`turn-divider`:return 44;case`working`:return 40;case`message`:{if(Od(e.message))return 0;let n=gd(e.message,{timelineWidthPx:t.timelineWidthPx}),r=t.turnDiffSummaryByAssistantMessageId?.get(e.message.id);return r&&r.files.length>0&&(n+=Cp(r)),n}}}function _p(e){let t=Math.max(1,e.split(/\r?\n/g).length);return 36+Math.min(t*14,140)}function vp(e,t){let n=e=>{let t=uf(e)?ku(e.output,e.detail):null;if(t)return 70+t.lines.length*20+8;let n=bp(e.output);return 42+Math.min(Math.max(n,1)*18,192)},r=e=>yp(e.map(e=>vp(e,t)+6)),i=e=>e.running?22:e.itemType===`web_search`?26:t.expandedWorkGroups?.[Ad(e.id)]??!1?n(e):26,a=e=>yp(e.map(e=>e.kind===`reasoning`?_p(e.reasoning.text)+6:i(e.entry)));if(e.childRows.length>0)return Ed(e,t.expandedWorkGroups)?42+r(e.childRows)+8:42;let o=ap(e.groupedEntries),s=o.length;if(!kd(e)&&s===1){let r=o[0];return r.running?40:Dd(e,t.expandedWorkGroups)?n(r):42}return(s===1&&!e.inlineEntries?Dd(e,t.expandedWorkGroups):Ed(e,t.expandedWorkGroups))?e.inlineEntries?42+a(e.inlineEntries)+8:42+yp(o.map(i))+8:42}function yp(e){return(e.length<=5?e:e.toSorted((e,t)=>t-e).slice(0,5)).reduce((e,t)=>e+t,0)}function bp(e){return Sd(e).lineCount}function xp(e){let t=Math.max(1,Math.ceil(e.planMarkdown.length/72));return 120+Math.min(t*22,880)}var Sp=5;function Cp(e){let t=e.files.length;return t>Sp?68+Sp*24+24:68+t*24}var wp=`.assistant-text-selectable`,Tp=92;function Ep(e){let t=window.innerWidth||document.documentElement.clientWidth;return t<=Tp*2?e:Math.min(Math.max(e,Tp),t-Tp)}function Dp(e){return e?e.nodeType===Node.ELEMENT_NODE?e:e.parentElement:null}function Op(e){return Dp(e)?.closest(wp)??null}function kp(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 Ap(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=Op(t.anchorNode),i=Op(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=kp(a);if(!o)return null;let s=o.top>=52?`above`:`below`;return{selectedText:n,left:Ep(o.left+o.width/2),top:s===`above`?Math.max(8,o.top-8):o.bottom+8,placement:s}}var jp=(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=Ap(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=Np,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)(Mp,{onPointerDown:p,onClick:h}),t[14]=h,t[15]=v);let y;return t[16]!==_||t[17]!==v?(y=(0,vo.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 Mp(e){let t=(0,X.c)(5),{onPointerDown:n,onClick:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=U(`h-6 gap-1 rounded-full bg-popover px-2 text-[10px]/3 before:rounded-full`,`text-popover-foreground hover:bg-accent hover:text-accent-foreground`),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(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 Np(e){e.preventDefault()}var Pp=12;function Fp({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:zo(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+Pp,behavior:`smooth`})});return()=>window.cancelAnimationFrame(o)},[r,n,e,t])}var Ip=10,Lp=300,Rp=120,zp=`pb-2`,Bp=`min-w-0 py-0.5`,Vp=.5,Hp=96,Up=new Map,Wp=new Set,Gp={current:0};function Kp({hasMessages:e,isWorking:t,showWorkingIndicator:n=t,activeTurnInProgress:r,activeTurnStartedAt:a,activeTurnId:o=null,revealingBufferedAssistantMessageIds:s=Wp,scrollContainer:c,workGroupAutoScrollSuppressRef:l=Gp,timelineEntries:u,completionDividerBeforeEntryId:d,completionSummary:f,turnDiffSummaryByAssistantMessageId:p,showTurnDiffActions:m=!0,expandedWorkGroups:h,onToggleWorkGroup:_,onOpenArtifact:y=()=>void 0,onOpenTurnDiff:b,revertTurnCountByUserMessageId:x,onRevertUserMessage:S,onRetryAssistantMessage:C,onEditUserMessage:w,isRevertingCheckpoint:T,onImageExpand:E,markdownCwd:D,resolvedTheme:O,timestampFormat:k,workspaceRoot:A,onAddAssistantSelectionToChat:j,onVirtualizerSnapshot:M}){let N=(0,Z.useRef)(0),P=l??N,F=(0,Z.useRef)(null),L=(0,Z.useRef)(new Map),[R,z]=(0,Z.useState)(null),[B,ee]=(0,Z.useState)(null),[te,ne]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{ne(!1)},[d]);let V=(0,Z.useRef)(null),re=(0,Z.useCallback)(()=>{V.current===null?P.current+=1:window.clearTimeout(V.current),V.current=window.setTimeout(()=>{V.current=null,--P.current},Lp)},[P]);(0,Z.useEffect)(()=>()=>{V.current!==null&&(window.clearTimeout(V.current),V.current=null,--P.current)},[P]);let ie=m?p:Up;(0,Z.useLayoutEffect)(()=>{let e=F.current;if(!e)return;let t=e=>{z(t=>t!==null&&Math.abs(t-e)<.5?t:e)};if(t(e.getBoundingClientRect().width),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>{t(e.getBoundingClientRect().width)});return n.observe(e),()=>{n.disconnect()}},[]);let H=(0,Z.useMemo)(()=>lp({timelineEntries:u,completionDividerBeforeEntryId:d,isWorking:n,activeTurnStartedAt:a,expandedWorkGroups:h}),[u,d,n,a,h]),ae=(0,Z.useMemo)(()=>Md({rows:H,activeTurnInProgress:r,activeTurnStartedAt:a,tailRowCount:8}),[r,a,H]),{collapsibleRowIds:oe,hasCollapsibleWork:se,firstCollapsibleRowIndex:ce,latestTurnSummary:le}=(0,Z.useMemo)(()=>{let e=-1,t=-1;for(let n=H.length-1;n>=0;--n){let r=H[n];if(!(!r||r.kind!==`message`)&&(t===-1&&r.showCompletionDivider&&(t=n),r.message.role===`user`)){e=n;break}}let n=t>=0?t:H.length,r=new Set,i=-1;for(let t=e+1;t<n;t+=1){let e=H[t];!e||e.kind===`working`||(i===-1&&(i=t),r.add(e.id))}return{collapsibleRowIds:r,hasCollapsibleWork:t>=0&&r.size>0,firstCollapsibleRowIndex:i,latestTurnSummary:t>=0&&e>=0?dp(H.slice(e)):null}},[H]),ue=se&&!te,de=le??f,fe=H.length>=Rp?Math.min(i(ae,{minimum:0,maximum:H.length}),ce>=0?ce:H.length):0,pe=R===null?`width:unknown`:`width:${Math.round(R)}`;(0,Z.useEffect)(()=>{let e=new Set(H.map(e=>e.id));for(let t of L.current.keys())e.has(t)||L.current.delete(t)},[H]);let me=(0,Z.useCallback)(e=>$p(e,ie,h),[h,ie]),he=(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)<=Vp||L.current.set(e,{cacheKey:t,height:n})},[]),ge=v({count:fe,getScrollElement:()=>c,getItemKey:e=>{let t=H[e];return t?`${pe}:${me(t)}`:`${pe}:${e}`},estimateSize:e=>{let t=H[e];if(!t)return 96;let n=L.current.get(t.id);return n?.cacheKey===me(t)?n.height:gp(t,{expandedWorkGroups:h,timelineWidthPx:R,turnDiffSummaryByAssistantMessageId:ie})},measureElement:g,useAnimationFrameWithResizeObserver:!0,overscan:8});(0,Z.useEffect)(()=>{R!==null&&ge.measure()},[ge,R]),(0,Z.useEffect)(()=>(ge.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},()=>{ge.shouldAdjustScrollPositionOnItemSizeChange=void 0}),[ge]);let _e=(0,Z.useRef)(null),ve=(0,Z.useCallback)(()=>{_e.current===null&&(_e.current=window.requestAnimationFrame(()=>{_e.current=null,ge.measure()}))},[ge]),ye=(0,Z.useCallback)(()=>{ve()},[ve]);(0,Z.useEffect)(()=>()=>{let e=_e.current;e!==null&&window.cancelAnimationFrame(e)},[]),(0,Z.useLayoutEffect)(()=>{M&&M({totalSize:ge.getTotalSize(),measurements:ge.measurementsCache.slice(0,fe).flatMap(e=>{let t=H[e.index];return t?[{id:t.id,kind:t.kind,index:e.index,size:e.size,start:e.start,end:e.end}]:[]})})},[M,ge,H,fe]);let be=ge.getVirtualItems(),xe=H.slice(fe);(0,Z.useLayoutEffect)(()=>{ge.measure()},[H[fe]?.id??null,ge,H.length,fe]);let Se=(0,Z.useMemo)(()=>{let e=new Map,t=null,n=null,i=null,a=!1,s=()=>{a||!n||!t||!i||e.set(i,{assistantMessage:n,turnStart:t})};for(let e of H)if(e.kind!==`working`){if(e.kind===`message`&&e.message.role===`user`){s(),t=e.message.createdAt,n=null,i=null,a=!1;continue}e.kind===`message`&&Od(e.message)||(i=e.id,e.kind===`message`&&e.message.role===`assistant`&&(t===null&&(t=e.durationStart),r&&o!==null&&e.message.turnId!==void 0&&e.message.turnId===o&&(a=!0),n=e.message))}return s(),e},[o,r,H]),W=(0,Z.useMemo)(()=>{let e=new Set,t=e=>e.kind===`working`||e.kind===`message`&&Od(e.message)?null:e.kind===`message`&&e.message.role===`user`?`user`:`assistant-side`,n=null;for(let r of H){let i=t(r);i!==null&&(n!==null&&n!==i&&e.add(r.id),n=i)}return e},[H]),Ce=(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=Td(e),s=Ed(e,h),c=ep(i),l=c.action,u=c.detail??``,d=u.length>0?`${l} ${u}`:l,f=op(r),p=f===`tool`&&r.some(rf)?`mcp-toolbox`:void 0,m=!o||f===`agent`,g=o&&f!==`agent`,v=`work-group-items-${n}`,y=()=>{_(n,s),ve()};return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Q.jsxs)(`button`,{type:`button`,"aria-label":d,className:U(J,`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)(im,{kind:f,iconName:p,className:U(`text-muted-foreground/75 transition-colors duration-150`,`group-hover:text-foreground`)}),(0,Q.jsxs)(`span`,{className:`truncate`,children:[(0,Q.jsx)(`span`,{className:U(`transition-colors duration-150`,o&&`group-hover:text-foreground`),children:l}),u.length>0?(0,Q.jsxs)(`span`,{className:U(g&&`shimmer shimmer-spread-200`),children:[` `,u]}):null]})]}),(0,Q.jsx)(`button`,{type:`button`,"aria-controls":v,"aria-expanded":s,className:U(`group flex size-5 shrink-0 items-center justify-center rounded-sm border-0 bg-transparent text-muted-foreground/60 transition-colors duration-150 hover:text-foreground focus-visible:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`),onClick:y,children:(0,Q.jsx)(qn,{className:U(`size-3 transition-transform duration-150`,!s&&`-rotate-90`)})})]}),(0,Q.jsx)(Gr,{open:s,children:(0,Q.jsx)(`div`,{id:v,className:`mt-0.5 pr-1`,children:(0,Q.jsx)(Wu,{itemCount:e.childRows.length,maxVisibleItems:5,followBottom:o,onClampChange:ve,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:Ce(e,t+1)},`nested-work-row:${e.id}`))})})})})]})})}if(r.length===1){let i=r[0],o=Td(e);if(Cm(i))return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Tm,{workEntry:i})});if(kd(e)){let i=e.inlineEntries?Ed(e,h):Dd(e,h),s=sp(r,e.stickyInProgress);return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Zm,{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:ve,onToggleGroup:()=>{_(n,i),ve()},scrollContainer:c,autoScrollSuppressRef:P})})}if(!i.running){if(i.itemType===`web_search`||df(i))return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Nm,{workEntry:i,indented:!1,cwd:D})});let t=Dd(e,h);return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Xm,{workEntry:i,isExpanded:t,onToggle:()=>_(n,t),onHeightChange:ve,cwd:D})})}return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Nm,{workEntry:i,indented:!1,cwd:D})})}let o=Td(e),s=t>0||Ed(e,h),l=sp(r,e.stickyInProgress);return(0,Q.jsx)(`div`,{className:a,children:(0,Q.jsx)(Zm,{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:ve,onToggleGroup:()=>{_(n,s),ve()},scrollContainer:c,autoScrollSuppressRef:P})})},we=(e,n)=>{if(e.kind===`message`&&Od(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=Se.get(e.id);return(0,Q.jsxs)(`div`,{className:U(zp,!n?.suppressBoundaryGap&&W.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)(Fm,{children:Ce(e)}),e.kind===`turn-divider`&&(0,Q.jsx)(Pm,{summary:e.summary,expanded:e.expanded,onToggle:()=>{_(e.expansionKey,e.expanded),ve()}}),e.kind===`message`&&e.message.role===`user`&&(()=>{let n=e.message.attachments??[],r=At(e.message.text),i=r.contexts,a=x.has(e.message.id),o=w!==void 0&&!e.message.turnId;if(B?.id===e.message.id){let n=B.draft.trim().length>0,r=()=>{ee(null),ve()},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)(Fa,{autoFocus:!0,size:`sm`,value:B.draft,"aria-label":`Edit message`,onChange:t=>ee({id:e.message.id,draft:t.target.value}),onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),r();return}e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),i())}}),(0,Q.jsxs)(`div`,{className:`mt-1.5 flex items-center justify-end gap-1.5`,children:[(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,onClick:r,children:`Cancel`}),(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`outline`,disabled:!n||T||t,onClick:i,title:`Send the edited message; later messages in this thread are discarded`,children:`Send`})]})]})}let s=r.copyText||a||o?(0,Q.jsxs)(Q.Fragment,{children:[r.copyText&&(0,Q.jsx)(zu,{text:r.copyText}),o&&(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`outline`,disabled:T||t,onClick:()=>{ee({id:e.message.id,draft:e.message.text}),ve()},title:`Edit message`,children:(0,Q.jsx)(Gt,{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)(mn,{className:`size-3`})})]}):null;return(0,Q.jsxs)(`div`,{className:`group ml-auto w-fit max-w-[75%]`,children:[(0,Q.jsx)(`div`,{className:`glass-user-message`,children:(0,Q.jsx)(`div`,{className:`min-w-0`,children:(0,Q.jsxs)(Q.Fragment,{children:[n.length>0&&(0,Q.jsx)(`div`,{className:U(`mb-2 max-w-full gap-2`,n.length===1?`inline-grid w-fit max-w-[420px] grid-cols-1`:`grid max-w-[420px] grid-cols-2`),children:n.map(e=>(0,Q.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border/80 bg-background/70`,children:e.previewUrl?(0,Q.jsx)(`button`,{type:`button`,className:`h-full w-full cursor-zoom-in`,"aria-label":`Preview ${e.name}`,onClick:()=>{let t=tu(n,e.id);t&&E(t)},children:(0,Q.jsx)(`img`,{src:e.previewUrl,alt:e.name,className:U(`max-h-[220px] max-w-full`,n.length===1?`block h-auto w-auto object-contain`:`h-full w-full object-cover`),onLoad:ye,onError:ye})}):(0,Q.jsx)(`div`,{className:U(`text-sm font-normal leading-relaxed`,`flex min-h-[72px] items-center justify-center px-2 py-3 text-center text-muted-foreground/70`),children:e.name})},e.id))}),(r.visibleText.trim().length>0||i.length>0)&&(0,Q.jsx)(xm,{text:r.visibleText,terminalContexts:i})]})})}),s&&(0,Q.jsx)(`div`,{className:`mt-1.5 flex items-center justify-end gap-1.5 opacity-0 transition-opacity duration-200 focus-within:opacity-100 group-hover:opacity-100`,children:s})]})})(),e.kind===`message`&&e.message.role===`assistant`&&(()=>{let t=e.message.text||(e.message.streaming?``:`(empty response)`);return(0,Q.jsxs)(Q.Fragment,{children:[e.showCompletionDivider&&!se&&(0,Q.jsx)(Pm,{className:`mb-2 mt-0.5`,summary:de,expanded:!1}),(0,Q.jsxs)(`div`,{className:Bp,children:[(0,Q.jsx)(Wi,{text:t,cwd:D,isStreaming:!!e.message.streaming,revealBlocks:s.has(e.message.id)}),(()=>{let t=ie.get(e.message.id);return!t||t.files.length===0?null:(0,Q.jsx)(nm,{turnSummary:t,resolvedTheme:O,onOpenArtifact:y,onOpenTurnDiff:b,onHeightChange:ve})})()]})]})})(),e.kind===`reasoning`&&(0,Q.jsx)(Sm,{reasoning:e.reasoning,markdownCwd:D,onHeightChange:ve}),e.kind===`proposed-plan`&&(0,Q.jsx)(`div`,{className:Bp,children:(0,Q.jsx)(nu,{planMarkdown:e.proposedPlan.planMarkdown,cwd:D,workspaceRoot:A})}),e.kind===`working`&&(0,Q.jsx)(`div`,{className:`py-0.5`,children:(0,Q.jsx)(gm,{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)(zu,{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)(un,{className:`size-3`})})]}),(0,Q.jsx)(hm,{createdAt:e.createdAt,durationStart:n,completedAt:e.completedAt,streaming:!!e.streaming,timestampFormat:k})]})})()]})},Te=()=>(0,Q.jsx)(Pm,{className:`mb-2 mt-4`,summary:de,expanded:te,onToggle:()=>{re(),ne(e=>!e),ve()}});return!e&&!t?(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:U(J,`text-foreground/55`),children:`Send a message to start the conversation.`})}):(0,Q.jsx)(Rn,{features:bn,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)(jp,{containerRef:F,onAddSelectedText:j}):null,fe>0&&(0,Q.jsx)(`div`,{className:`relative`,style:{height:`${ge.getTotalSize()}px`},children:be.map(e=>{let t=H[e.index];return t?(0,Q.jsx)(`div`,{"data-index":e.index,"data-virtual-row-id":t.id,"data-virtual-row-kind":t.kind,"data-virtual-row-size":e.size,"data-virtual-row-start":e.start,ref:ge.measureElement,className:`absolute left-0 top-0 w-full`,style:{transform:`translateY(${e.start}px)`},children:we(t)},`virtual-row:${String(e.key)}`):null})}),(()=>{let e=(e,t)=>(0,Q.jsx)(em,{cacheKey:me(e),rowId:e.id,onMeasured:he,children:we(e,t)},`non-virtual-row:${e.id}`),t=[],n=0;for(;n<xe.length;){let r=xe[n];if(!r){n+=1;continue}if(!oe.has(r.id)){t.push(e(r)),n+=1;continue}let i=[];for(;n<xe.length;){let e=xe[n];if(!e||!oe.has(e.id))break;i.push(e),n+=1}t.push((0,Q.jsxs)(Z.Fragment,{children:[se&&Te(),(0,Q.jsx)(Gr,{open:!ue,animateOnMount:!1,unmountOnExit:!1,fade:!0,className:`shiori-expand-panel--smooth`,children:i.map(t=>e(t,{suppressBoundaryGap:se}))})]},`latest-turn-work-collapse`))}return t})()]})})}var qp=(0,Z.memo)(Kp);function Jp(e){return e.length<=Hp*2?`${e.length}:${e}`:[e.length,e.slice(0,Hp),e.slice(-Hp)].join(`:`)}function Yp(e){return!e||e.files.length===0?`diff:none`:`diff:${e.files.length}:${Jp(e.files.map(e=>`${e.path}:${e.additions??0}:${e.deletions??0}`).join(`
266
+ `))}`}function Xp(e){let t=Sd(e.output);return[e.id,e.itemId??``,e.parentItemId??``,e.running?`running`:`settled`,e.itemType??``,e.tone,Jp(e.label),Jp(e.detail??``),Jp(e.command??``),t.lineCount,t.format,Jp(t.text??``)].join(`:`)}function Zp(e){return[`work`,e.id,e.expansionId,e.stickyInProgress?`sticky`:`settled`,e.groupedEntries.map(Xp).join(`|`),(e.inlineEntries??[]).map(e=>e.kind===`work`?`inline-work:${e.id}:${Xp(e.entry)}`:`inline-reasoning:${e.id}:${e.reasoning.streaming?`streaming`:`settled`}:${Jp(e.reasoning.text)}`).join(`|`),e.childRows.map(Zp).join(`|`)].join(`:`)}function Qp(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(Ad(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 $p(e,t,n){switch(e.kind){case`work`:return`expanded:${Qp(e,n)}:${Zp(e)}`;case`reasoning`:return`reasoning:${e.id}:${e.reasoning.streaming?`streaming`:`settled`}:${Jp(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,Jp(e.message.text),Yp(t.get(e.message.id))].join(`:`);case`proposed-plan`:return`proposed-plan:${e.id}:${Jp(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 em=(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}),tm=5,nm=(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?$t:nn,p=c?`Show changed files`:`Hide changed files`,m=s.length>tm,h;t[0]!==m||t[1]!==s||t[2]!==u?(h=m&&!u?s.slice(0,tm):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=eu(s);w=`mt-3 overflow-hidden rounded-xl border border-border/50 bg-background/40`,C=`flex items-center justify-between gap-3 px-4 pb-3 pt-3.5`,t[16]===Symbol.for(`react.memo_cache_sentinel`)?(b=U(J,`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=ou(e)&&(0,Q.jsx)(`span`,{className:`font-mono text-[13px] tabular-nums`,children:(0,Q.jsx)(su,{additions:e.additions,deletions:e.deletions})}),t[10]=s,t[11]=b,t[12]=x,t[13]=S,t[14]=C,t[15]=w}else b=t[11],x=t[12],S=t[13],C=t[14],w=t[15];let T;t[20]!==b||t[21]!==x||t[22]!==S?(T=(0,Q.jsxs)(`p`,{className:b,children:[x,S]}),t[20]=b,t[21]=x,t[22]=S,t[23]=T):T=t[23];let E;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(E=U(J,`h-auto min-h-0 px-2 py-1 text-muted-foreground/80 hover:bg-foreground/5 hover:text-foreground`),t[24]=E):E=t[24];let D;t[25]!==s[0]?.path||t[26]!==a||t[27]!==n.turnId?(D=(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,className:E,onClick:()=>a(n.turnId,s[0]?.path),children:`View diff`}),t[25]=s[0]?.path,t[26]=a,t[27]=n.turnId,t[28]=D):D=t[28];let O;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(O=U(J,`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(eh),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)(yi,{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)(Wr,{side:`top`,children:p}),t[41]=p,t[42]=P);let F;t[43]!==N||t[44]!==P?(F=(0,Q.jsxs)(Hr,{children:[N,P]}),t[43]=N,t[44]=P,t[45]=F):F=t[45];let L;t[46]!==D||t[47]!==k||t[48]!==F?(L=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[D,k,F]}),t[46]=D,t[47]=k,t[48]=F,t[49]=L):L=t[49];let R;t[50]!==L||t[51]!==C||t[52]!==T?(R=(0,Q.jsxs)(`div`,{className:C,children:[T,L]}),t[50]=L,t[51]=C,t[52]=T,t[53]=R):R=t[53];let z;t[54]!==m||t[55]!==_||t[56]!==c||t[57]!==u||t[58]!==i||t[59]!==a||t[60]!==r||t[61]!==n.turnId||t[62]!==g?(z=!c&&(0,Q.jsxs)(`div`,{className:`border-t border-border/40 py-1`,children:[g.map(e=>{let t=e.additions??0,o=e.deletions??0;return(0,Q.jsxs)(`div`,{className:U(`text-sm font-normal leading-relaxed`,`group flex w-full items-center gap-2 px-3 py-1 hover:bg-foreground/5`),children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>a(n.turnId,e.path),className:`flex min-w-0 flex-1 items-center gap-2 text-left`,children:[(0,Q.jsx)(Vi,{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)(su,{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(th),className:U(`text-sm font-normal leading-relaxed`,`flex w-full items-center gap-2 px-3 py-1 text-left text-[12.5px] text-muted-foreground/80 hover:bg-foreground/5 hover:text-foreground`),children:u?`Show fewer files`:`Show all Files (${_} more)`})]}),t[54]=m,t[55]=_,t[56]=c,t[57]=u,t[58]=i,t[59]=a,t[60]=r,t[61]=n.turnId,t[62]=g,t[63]=z):z=t[63];let B;return t[64]!==R||t[65]!==z||t[66]!==w?(B=(0,Q.jsxs)(`div`,{className:w,children:[R,z]}),t[64]=R,t[65]=z,t[66]=w,t[67]=B):B=t[67],B}),rm={agent:Yn,command:Xt,edit:Gt,file:Qt,list:Un,search:qt,skill:Sn,todo:Pn,tool:On,"web-search":nr,work:pr},im=(0,Z.memo)(function(e){let t=(0,X.c)(6),n=rm[e.kind]??pr,r;t[0]===e.className?r=t[1]:(r=U(`size-3.5 shrink-0`,e.className),t[0]=e.className,t[1]=r);let i;return t[2]!==n||t[3]!==e.iconName||t[4]!==r?(i=(0,Q.jsx)(n,{"aria-hidden":`true`,className:r,"data-icon":e.iconName}),t[2]=n,t[3]=e.iconName,t[4]=r,t[5]=i):i=t[5],i}),am=(0,Z.memo)(function(){let e=(0,X.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(im,{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 om(e){return e.tone===`tool`?`text-foreground/60`:`text-foreground`}function sm(e){return e.tone===`tool`?null:`assistant-text-selectable`}function cm(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 ${lm(Math.max(0,Math.floor((r-n)/1e3)))}`}function lm(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?um([[t,`day`],[n,`hour`]]):n>0?um([[n,`hour`],[r,`minute`]]):r>0?um([[r,`minute`],[i,`second`]]):dm(i,`second`)}function um(e){let t=e.filter(([e])=>e>0).map(([e,t])=>dm(e,t));return t.length>0?t.join(` `):`0 seconds`}function dm(e,t){return`${e} ${e===1?t:`${t}s`}`}function fm(e,t,n){return t?`${hi(e,n)} • ${t}`:hi(e,n)}function pm(e){let t=(0,X.c)(5),[n,r]=(0,Z.useState)(mm),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 mm(){return Date.now()}var hm=(0,Z.memo)(function(e){let t=pm(e.streaming),n=(0,Z.useMemo)(()=>e.streaming?pe(e.durationStart,t):pe(e.durationStart,e.completedAt),[t,e.completedAt,e.durationStart,e.streaming]);return(0,Q.jsx)(`p`,{className:U(J,`text-muted-foreground/70`),children:fm(e.createdAt,n,e.timestampFormat)})}),gm=(0,Z.memo)(function(e){let t=(0,X.c)(7),n=pm(e.createdAt!==null),r;t[0]!==n||t[1]!==e.createdAt?(r=cm(e.createdAt,n),t[0]=n,t[1]=e.createdAt,t[2]=r):r=t[2];let i=r,a,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=U(J,`flex items-center text-foreground`),o=(0,Q.jsx)(Kr,{className:`mr-1.5`}),t[3]=a,t[4]=o):(a=t[3],o=t[4]);let s;return t[5]===i?s=t[6]:(s=(0,Q.jsxs)(`p`,{className:a,children:[o,(0,Q.jsx)(`span`,{className:`shimmer shimmer-spread-200`,children:i})]}),t[5]=i,t[6]=s),s}),_m=(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)(ll,{label:e.context.header,tooltipText:n}),t[0]=e.context.header,t[1]=n,t[2]=r):r=t[2],r}),vm=10;function ym(e){return Math.max(1,e.split(/\r?\n/g).length)}function bm(e,t){let n=e.split(/\r?\n/g);return n.length<=t?e:n.slice(0,t).join(`
267
+ `)}var xm=(0,Z.memo)(function(e){let t=(0,X.c)(15),[n,r]=(0,Z.useState)(!1),i=ym(e.text)>vm,a;t[0]!==n||t[1]!==e.text||t[2]!==i?(a=i&&!n?bm(e.text,vm):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=Xu(t,e.terminalContexts),r=Ju(e.terminalContexts),i=[];if(n){let n=0;for(let r of e.terminalContexts){let e=Yu(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)(_m,{context:r},`user-terminal-context-inline:${r.header}`)),n=a+e.length}if(i.length>0)return n<t.length&&i.push((0,Q.jsx)(`span`,{children:t.slice(n)},`user-message-terminal-context-inline-rest:${n}`)),(0,Q.jsx)(`div`,{className:U(J,`wrap-break-word whitespace-pre-wrap text-foreground`),children:i})}for(let t of e.terminalContexts)i.push((0,Q.jsx)(_m,{context:t},`user-terminal-context-inline:${t.header}`)),i.push((0,Q.jsx)(`span`,{"aria-hidden":`true`,children:` `},`user-terminal-context-inline-space:${t.header}`));if(t.length>0)i.push((0,Q.jsx)(`span`,{children:t},`user-message-terminal-context-inline-text`));else if(r.length===0)return null;return(0,Q.jsx)(`div`,{className:U(J,`wrap-break-word whitespace-pre-wrap text-foreground`),children:i})}return t.length===0?null:(0,Q.jsx)(`div`,{className:U(J,`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(nh),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}),Sm=(0,Z.memo)(function(e){let t=(0,X.c)(41),{reasoning:n,markdownCwd:r,onHeightChange:i}=e,[a,o]=(0,Z.useState)(!1),s=(0,Z.useRef)(null),c=n.text.trim().length>0,l=n.streaming?`Reasoning is in progress. Details may remain hidden for this provider.`:`No visible reasoning details were provided for this step.`,u;t[0]===i?u=t[1]:(u=()=>{i?.()},t[0]=i,t[1]=u);let d;t[2]!==a||t[3]!==i||t[4]!==n.streaming||t[5]!==n.text?(d=[a,i,n.streaming,n.text],t[2]=a,t[3]=i,t[4]=n.streaming,t[5]=n.text,t[6]=d):d=t[6],(0,Z.useLayoutEffect)(u,d);let f;t[7]!==a||t[8]!==n.streaming?(f=()=>{if(!n.streaming||!a)return;let e=s.current;e&&(e.scrollTop=e.scrollHeight)},t[7]=a,t[8]=n.streaming,t[9]=f):f=t[9];let p;t[10]!==a||t[11]!==n.streaming||t[12]!==n.text?(p=[a,n.streaming,n.text],t[10]=a,t[11]=n.streaming,t[12]=n.text,t[13]=p):p=t[13],(0,Z.useLayoutEffect)(f,p);let m,h;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(m=U(J,`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(rh)},t[14]=m,t[15]=h):(m=t[14],h=t[15]);let g=n.streaming&&`shimmer shimmer-spread-200`,_;t[16]===g?_=t[17]:(_=U(g),t[16]=g,t[17]=_);let v=n.streaming?`Thinking`:`Thought`,y;t[18]!==_||t[19]!==v?(y=(0,Q.jsx)(`span`,{className:_,children:v}),t[18]=_,t[19]=v,t[20]=y):y=t[20];let b=!a&&`-rotate-90`,x;t[21]===b?x=t[22]:(x=U(`size-3 shrink-0 opacity-0 transition-all duration-150 group-hover:opacity-100`,b),t[21]=b,t[22]=x);let S;t[23]===x?S=t[24]:(S=(0,Q.jsx)(qn,{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)(Wi,{text:n.text,cwd:r,isStreaming:n.streaming,className:`text-foreground/55`})}):(0,Q.jsx)(`p`,{className:U(J,`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)(Gr,{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 Cm(e){return e.label.trim().toLowerCase()===`status update`}function wm(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 Tm=(0,Z.memo)(function(e){let t=(0,X.c)(7),n;t[0]===e.workEntry?n=t[1]:(n=wm(e.workEntry),t[0]=e.workEntry,t[1]=n);let r=n;if(!r)return null;let i;t[2]===e.workEntry?i=t[3]:(i=U(J,`wrap-break-word whitespace-pre-wrap`,om(e.workEntry),sm(e.workEntry)),t[2]=e.workEntry,t[3]=i);let a;return t[4]!==i||t[5]!==r?(a=(0,Q.jsx)(`div`,{className:Bp,children:(0,Q.jsx)(`p`,{className:i,children:r})}),t[4]=i,t[5]=r,t[6]=a):a=t[6],a});function Em(e){let t=ep(e);return{action:t.action,detail:t.detail}}var Dm=(0,Z.memo)(function(e){let t=(0,X.c)(5),{detail:n,monospace:r}=e,i=(r===void 0?!1:r)&&`font-mono`,a;t[0]===i?a=t[1]:(a=U(i,`text-inherit`),t[0]=i,t[1]=a);let o;return t[2]!==n||t[3]!==a?(o=(0,Q.jsxs)(`span`,{className:a,children:[` `,n]}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o});function Om(e){return e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function km(e,t){return!t||Om(e)?e:`${t.replace(/[\\/]+$/,``)}/${e.replace(/^\.\/+/,``)}`}function Am(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 jm=(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=km(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&&ii(t,u).catch(ih)},t[3]=u,t[4]=d);let f=d,p=s?`app-file-href-link`:`underline-offset-[3px] hover:underline focus-visible:underline`,m;t[5]===p?m=t[6]:(m=U(`cursor-pointer rounded-sm text-primary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`,p),t[5]=p,t[6]=m);let h=a??`Open ${r} in preferred editor`,g;t[7]!==u||t[8]!==c||t[9]!==s?(g=s&&(0,Q.jsx)(Vi,{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}),Mm=(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)(jm,{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}),Nm=(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=Em(n),t[0]=n,t[1]=u);let{action:d,detail:f}=u,p;t[2]===n?p=t[3]:(p=ep(n),t[2]=n,t[3]=p);let m=p,h,g;t[4]===n?g=t[5]:(g=Af(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&&rf(n),t[6]=l,t[7]=n,t[8]=x):x=t[8];let S=x,C=c?`li`:`p`,w;t[9]!==s||t[10]!==n?(w=U(J,`list-none truncate py-0.5`,om(n),sm(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)(am,{}),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)(Mm,{basename:du(f),path:f,cwd:a}):b?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(jm,{label:f,path:b,cwd:a})]}):(0,Q.jsx)(Dm,{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}),Pm=(0,Z.memo)(function(e){let t=(0,X.c)(11),{summary:n,expanded:r,onToggle:i,className:a}=e,o;t[0]===a?o=t[1]:(o=U(`flex items-center gap-3`,a),t[0]=a,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(`span`,{className:`block h-px flex-1 bg-border/60`}),t[2]=s):s=t[2];let c;t[3]!==r||t[4]!==i||t[5]!==n?(c=n&&(i?(0,Q.jsxs)(`button`,{type:`button`,"aria-expanded":r,"aria-label":r?`Hide work for this turn`:`Show work for this turn`,className:`group flex shrink-0 cursor-pointer items-center gap-1 rounded-sm border-0 bg-transparent px-1 py-0.5 text-xs text-foreground/40 transition-colors duration-150 hover:text-foreground/70 focus-visible:text-foreground/70 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`,onClick:i,children:[(0,Q.jsx)(qn,{className:U(`size-3 transition-transform duration-[240ms] [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]`,r?`rotate-0`:`-rotate-90`)}),n]}):(0,Q.jsx)(`span`,{className:`shrink-0 text-xs text-foreground/40`,children:n})),t[3]=r,t[4]=i,t[5]=n,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(`span`,{className:`block h-px flex-1 bg-border/60`}),t[7]=l):l=t[7];let u;return t[8]!==o||t[9]!==c?(u=(0,Q.jsxs)(`div`,{className:o,children:[s,c,l]}),t[8]=o,t[9]=c,t[10]=u):u=t[10],u}),Fm=(0,Z.memo)(function(e){let t=(0,X.c)(6),n=An(),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)(Wt.div,{...i,transition:a,children:e.children}),t[3]=i,t[4]=e.children,t[5]=o):o=t[5],o});function Im(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Lm(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function Rm(...e){for(let t of e){let e=Lm(t);if(e)return e}return null}function zm(e){return typeof e!=`string`||e.trim().length===0?null:e.trimEnd()}function Bm(...e){for(let t of e){let e=zm(t);if(e)return e}return null}function Vm(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 Hm(e){let t=Im(e);if(!t)return null;let n=Im(t.result)??Im(Im(t.item)?.result);return n&&n.is_error===!0?Vm(Lm(n.content)):null}function Um(e){let t=Im(e);if(!t)return null;let n=Im(t.item)??t,r=Im(n.result)??Im(t.result),i=Bm(n.result,t.result),a=Lm(n.type)??Lm(n.kind),o=le(pt(e)?.toolName);if(!(a?.toLowerCase().includes(`command`)===!0||`commandActions`in n||`processId`in n||`cwd`in n||o===`command`))return null;let s=Bm(r?.stdout,n.stdout,t.stdout,r?.output,n.output,t.output,r?.content,i),c=Bm(r?.stderr,n.stderr,t.stderr),l=(Array.isArray(n.commandActions)?n.commandActions:[]).map(e=>{let t=Im(e);if(!t)return null;let n=Lm(t.label)??Lm(t.title)??Lm(t.name)??Lm(t.kind)??Lm(t.type);return!n||n.toLowerCase()===`unknown`?null:{label:n,detail:Lm(t.description)??Lm(t.prompt)??Lm(t.value)??Lm(t.command)}}).filter(e=>e!==null)??[];return{command:Rm(n.command,Im(n.input)?.command,Im(t.input)?.command,r?.command),cwd:Rm(n.cwd,r?.cwd,t.cwd),status:Rm(n.status,r?.status,t.status),processId:Rm(n.processId,r?.processId,t.processId),source:Rm(n.source,r?.source,t.source),stdout:s,stderr:c,actions:l}}function Wm(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 Gm(e){let t=pt(e);if(!t)return null;let n=Ve(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=Im(e);if(!t)continue;let n=Lm(t.content)??Lm(t.activeForm)??Lm(t.text);n&&i.push({text:n,status:Wm(t.status)})}return i.length>0?i:null}function Km(e){let t=pt(e);if(!t)return null;let n=Ve(t.toolName);return n!==`exit plan mode`&&n!==`exitplanmode`?null:Lm(t.input?.plan)}function qm(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 Jm=(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=Am(n.skillPath)??r,t[0]=n.skillPath,t[1]=r,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=U(J,`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)(Wi,{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)(jm,{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}),Ym=(0,Z.memo)(function(e){let t=(0,X.c)(23),{card:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=U(J,`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}),Xm=(0,Z.memo)(function(e){let{workEntry:t,isExpanded:n,onToggle:r,onHeightChange:i,cwd:a,showMcpToolboxIcon:o=!0}=e,{action:s,detail:c}=Em(t),l=ep(t),u=(0,Z.useMemo)(()=>Um(t.output),[t.output]),d=qm(u?.stdout??null,c??null),f=d&&u?.stderr?`${d}\n\n${u.stderr}`:d??u?.stderr??null,p=(0,Z.useMemo)(()=>Gm(t.output),[t.output]),m=(0,Z.useMemo)(()=>Km(t.output),[t.output]),h=(0,Z.useMemo)(()=>Hm(t.output),[t.output]),g=Jd(t)?t.detail?.trim()??null:null,_=l.monospace,v=(0,Z.useMemo)(()=>Af(t),[t]),y=(0,Z.useMemo)(()=>jf(t),[t]),b=c&&v?.skillName===c?v.skillPath:null,x=!!(v??y),S=(0,Z.useMemo)(()=>Sd(t.output),[t.output]),C=u||p||m||x?null:qm(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&&rf(t),M=O||k,N=(0,Z.useMemo)(()=>O?ku(t.output,t.detail):null,[O,t.output,t.detail]),P=(0,Z.useMemo)(()=>!N&&typeof C==`string`&&S.lineCount>Ip,[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)(am,{}),(0,Q.jsx)(`span`,{children:s}),c&&(M?(0,Q.jsx)(Mm,{basename:du(c),path:c,cwd:a}):b?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(jm,{label:c,path:b,cwd:a})]}):(0,Q.jsx)(Dm,{detail:c,monospace:_})),N&&ou(N)&&(0,Q.jsx)(`span`,{className:U(`text-sm font-normal leading-relaxed`,`ml-1 tabular-nums`),children:(0,Q.jsx)(su,{additions:N.additions,deletions:N.deletions})})]});return(k||A)&&!n&&!C&&!h?(0,Q.jsx)(`div`,{className:`tool-ui-mono-muted`,children:(0,Q.jsx)(`div`,{className:U(J,`flex min-w-0 items-center gap-1 rounded-sm py-0.5 transition-colors duration-150 hover:text-foreground`,om(t),sm(t)),children:F})}):(0,Q.jsxs)(`div`,{className:`tool-ui-mono-muted`,children:[(0,Q.jsxs)(`div`,{className:`group/entry flex items-center gap-1`,children:[(0,Q.jsx)(`div`,{role:`button`,tabIndex:0,className:U(J,`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`,om(t),sm(t)),onClick:r,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},children:F}),(0,Q.jsx)(`button`,{type:`button`,"aria-controls":D,"aria-expanded":n,className:U(`flex size-5 shrink-0 items-center justify-center rounded-sm border-0 bg-transparent text-foreground/50 opacity-0 transition-all duration-150 hover:text-foreground group-hover/entry:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/50`),onClick:r,children:(0,Q.jsx)(qn,{className:U(`size-3 transition-transform duration-150`,!n&&`-rotate-90`)})})]}),(0,Q.jsx)(Gr,{open:n,children:(0,Q.jsxs)(`div`,{id:D,children:[v&&(0,Q.jsx)(Jm,{card:v,cwd:a}),y&&(0,Q.jsx)(Ym,{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)(zu,{text:g,title:l.action===`Runtime error`?`Copy runtime error`:`Copy runtime warning`})}),(0,Q.jsx)(`pre`,{className:U(`text-sm font-normal leading-relaxed`,`wrap-break-word whitespace-pre-wrap`,om(t),sm(t)),children:g})]}),u&&(0,Q.jsxs)(`div`,{className:`mt-1 space-y-2`,children:[(u.cwd||u.status||u.processId||u.source)&&(0,Q.jsxs)(`dl`,{className:U(`text-sm font-normal leading-relaxed`,`grid gap-1 text-foreground/65 sm:grid-cols-[auto_1fr] sm:items-start sm:gap-x-3`),children:[u.cwd&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`font-medium text-foreground/55`,children:`Directory`}),(0,Q.jsx)(`dd`,{className:`font-mono text-foreground/75`,children:u.cwd})]}),u.status&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`font-medium text-foreground/55`,children:`Status`}),(0,Q.jsx)(`dd`,{children:u.status})]}),u.processId&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`font-medium text-foreground/55`,children:`PID`}),(0,Q.jsx)(`dd`,{className:`font-mono text-foreground/75`,children:u.processId})]}),u.source&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`font-medium text-foreground/55`,children:`Source`}),(0,Q.jsx)(`dd`,{children:u.source})]})]}),u.actions.length>0&&(0,Q.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:u.actions.map(e=>(0,Q.jsx)(`span`,{className:U(`text-sm font-normal leading-relaxed`,`rounded-full border border-border/70 px-2 py-0.5 text-foreground/60`),title:e.detail??void 0,children:e.label},`${e.label}:${e.detail??``}`))})]}),p&&(0,Q.jsx)(`ul`,{className:U(`text-sm font-normal leading-relaxed`,`mt-1 space-y-1 text-foreground/75`),children:p.map(e=>(0,Q.jsxs)(`li`,{className:`flex items-start gap-2`,"aria-label":`Todo ${e.status}: ${e.text}`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:U(`mt-[0.35em] inline-flex size-3 shrink-0 items-center justify-center rounded-full border transition-colors`,e.status===`completed`?`border-foreground/50 bg-foreground/50 text-background`:e.status===`in_progress`?`border-foreground/60 bg-foreground/15`:`border-foreground/30`),children:e.status===`completed`?(0,Q.jsx)(`svg`,{viewBox:`0 0 12 12`,className:`size-2`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,Q.jsx)(`path`,{d:`M2.5 6.5 5 9l4.5-5.5`})}):e.status===`in_progress`?(0,Q.jsx)(`span`,{className:`size-1.5 rounded-full bg-foreground/75`}):null}),(0,Q.jsx)(`span`,{className:U(`min-w-0 flex-1`,e.status===`completed`&&`text-foreground/45 line-through`),children:e.text})]},`${e.status}:${e.text}`))}),m&&(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(`div`,{className:`rounded-lg border border-border/55 bg-muted/25 px-3 py-2 text-foreground/80`,children:(0,Q.jsx)(Wi,{text:m,cwd:a})})}),N&&(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(Pu,{diff:N})}),h&&(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(`p`,{className:U(`text-sm font-normal leading-relaxed`,`rounded-md border border-destructive/25 bg-destructive/8 px-3 py-2 text-destructive/85`),children:h})}),!N&&!h&&f&&(0,Q.jsx)(`div`,{className:`mt-0.5`,children:(0,Q.jsx)(`pre`,{className:U(`text-sm font-normal leading-relaxed`,`overflow-x-auto whitespace-pre text-foreground/60`),children:f})}),!N&&!h&&C&&(0,Q.jsxs)(`div`,{className:`mt-0.5`,children:[w&&(0,Q.jsx)(`div`,{className:`mb-1 flex justify-end`,children:(0,Q.jsx)(zu,{text:C,title:`Copy JSON output`})}),(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(`pre`,{className:U(`text-sm font-normal leading-relaxed`,`overflow-x-auto whitespace-pre text-foreground/60`,P&&!T?`max-h-48 overflow-y-hidden`:`overflow-y-visible`),style:P&&!T?{maskImage:`linear-gradient(to bottom, black calc(100% - 3rem), transparent 100%)`}:void 0,children:C}),P&&!T&&(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-x-0 bottom-0 h-12 bg-gradient-to-t from-background via-background/85 to-transparent`})]}),P&&(0,Q.jsx)(I,{type:`button`,size:`xs`,variant:`ghost`,className:U(`text-sm font-normal leading-relaxed`,`mt-1 h-auto px-0 py-0 text-foreground/65 hover:bg-transparent hover:text-foreground/85`),onClick:()=>{E(e=>!e)},children:T?`Show less`:`Show more`})]})]})})]})}),Zm=(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)(()=>ap(r),[r]),_=(0,Z.useMemo)(()=>op(r),[r]),v=(0,Z.useMemo)(()=>_===`tool`&&r.some(rf)?`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 Fp({scrollContainer:p,groupRef:h,isActive:s&&o,entryCount:x.length,globalAutoScrollSuppressRef:t}),(0,Z.useLayoutEffect)(()=>{u?.()},[o,u,x.length]),(0,Q.jsxs)(`div`,{ref:h,children:[(0,Q.jsxs)(`button`,{type:`button`,"aria-controls":i,"aria-expanded":o,"aria-label":m.rest.length>0?`${m.leadingVerb} ${m.rest}`:m.leadingVerb,className:U(J,`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)(im,{kind:_,iconName:v,className:U(`text-muted-foreground/75 transition-colors duration-150`,`group-hover:text-foreground`)}),(0,Q.jsxs)(`span`,{className:`truncate`,children:[(0,Q.jsx)(`span`,{className:U(`transition-colors duration-150`,s&&`group-hover:text-foreground`),children:m.leadingVerb}),m.rest.length>0?(0,Q.jsxs)(`span`,{className:U(b&&`shimmer shimmer-spread-200`),children:[` `,m.rest]}):null]}),(0,Q.jsx)(qn,{className:U(`size-3 shrink-0 opacity-0 transition-all duration-150 group-hover:opacity-100`,!o&&`-rotate-90`)})]}),(0,Q.jsx)(Gr,{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)(Wu,{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)(Sm,{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)(Nm,{workEntry:t,indented:!1,cwd:c,showMcpToolboxIcon:!1})},`work-row:${t.id}`);let i=Ad(t.id),a=n[i]??!1;return(0,Q.jsx)(`li`,{className:r,"data-item-clamped-viewport-item":``,children:(0,Q.jsx)(Xm,{workEntry:t,isExpanded:a,onToggle:()=>f(i,a),cwd:c,showMcpToolboxIcon:!1,...u?{onHeightChange:u}:{}})},`work-row:${t.id}`)})})})})})})]})},Qm);function Qm(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 $m(t))if(e.expandedWorkGroups[n]!==t.expandedWorkGroups[n])return!1;return!0}function $m(e){return(e.inlineEntries??ap(e.entries).map(e=>({kind:`work`,id:e.id,entry:e}))).flatMap(e=>e.kind===`work`&&!e.entry.running&&e.entry.itemType!==`web_search`?[Ad(e.entry.id)]:[])}function eh(e){return!e}function th(e){return!e}function nh(e){return!e}function rh(e){return!e}function ih(e){console.error(`Failed to open file in preferred editor`,e)}var ah=(e,t)=>[{label:`Cursor`,Icon:Lr,value:`cursor`},{label:`Trae`,Icon:Di,value:`trae`},{label:`VS Code`,Icon:Jr,value:`vscode`},{label:`VS Code Insiders`,Icon:Jr,value:`vscode-insiders`},{label:`VSCodium`,Icon:Jr,value:`vscodium`},{label:`Zed`,Icon:Br,value:`zed`},{label:`Antigravity`,Icon:qr,value:`antigravity`},{label:H(e)?`Finder`:ne(e)?`Explorer`:`Files`,Icon:Un,value:`file-manager`}].filter(e=>t.includes(e.value)),oh=(0,Z.memo)(function({keybindings:e,availableEditors:t,openInCwd:n}){let[r,i]=_i(t),a=(0,Z.useMemo)(()=>ah(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)(()=>Vr(e,`editor.openFavorite`),[e]);return(0,Z.useEffect)(()=>{let t=t=>{let i=N();Rr(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)(Mt,{children:[(0,Q.jsx)(mt,{render:(0,Q.jsx)(I,{"aria-label":`Editor options`,size:`icon-xs`,variant:`outline`}),children:(0,Q.jsx)(qn,{"aria-hidden":`true`,className:`size-4`})}),(0,Q.jsxs)(me,{align:`end`,children:[a.length===0&&(0,Q.jsx)(Re,{disabled:!0,children:`No installed editors found`}),a.map(({label:e,Icon:t,value:n})=>(0,Q.jsxs)(Re,{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))]})]})]})}),sh=ce(`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 ch(e){let t=(0,X.c)(13),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,orientation:i,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]!==r||t[6]!==i?(o=U(sh({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 lh(e){let t=(0,X.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`vertical`:i,o;t[4]===n?o=t[5]:(o=U(`[[data-slot=input-control]:focus-within+&,[data-slot=input-group]:focus-within+&,[data-slot=select-trigger]:focus-visible+*+&,[data-slot=number-field]:focus-within+input+&]:-translate-x-px pointer-events-none relative z-2 bg-input before:absolute before:inset-0 has-[+[data-slot=input-control]:focus-within,+[data-slot=input-group]:focus-within,+[data-slot=select-trigger]:focus-visible+*,+[data-slot=number-field]:focus-within]:translate-x-px has-[+[data-slot=input-control]:focus-within,+[data-slot=input-group]:focus-within,+[data-slot=select-trigger]:focus-visible+*,+[data-slot=number-field]:focus-within]:bg-ring dark:before:bg-input/32 [[data-slot=input-control]:focus-within+&,[data-slot=input-group]:focus-within+&,[data-slot=select-trigger]:focus-visible+*+&,[data-slot=number-field]:focus-within+&,[data-slot=number-field]:focus-within+input+&]:bg-ring`,n),t[4]=n,t[5]=o);let s;return t[6]!==a||t[7]!==r||t[8]!==o?(s=(0,Q.jsx)(Pr,{className:o,orientation:a,...r}),t[6]=a,t[7]=r,t[8]=o,t[9]=s):s=t[9],s}var uh=(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(dh),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)(Ur,{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)(Mt,{children:[(0,Q.jsx)(mt,{render:(0,Q.jsxs)(I,{variant:`ghost`,size:`xs`,className:`h-6 px-2 text-[11px]`,children:[C,(0,Q.jsx)(qn,{className:`size-3`})]})}),(0,Q.jsx)(me,{align:`start`,side:`bottom`,children:g.map(e=>(0,Q.jsx)(Re,{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)(Hr,{children:[(0,Q.jsx)(yi,{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)(vr,{className:`size-3`}),`Fork`]})}),(0,Q.jsx)(Wr,{side:`bottom`,children:`Create a linked child thread`})]}),T||E||D?(0,Q.jsx)(lh,{}):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)(oh,{keybindings:o,availableEditors:s,openInCwd:a}),E||D?(0,Q.jsx)(lh,{}):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)(Hr,{children:[(0,Q.jsx)(yi,{render:(0,Q.jsxs)(qi,{className:`shrink-0 px-2.5`,pressed:d,onPressedChange:y,"aria-label":`Toggle browser panel`,variant:`outline`,size:`xs`,children:[(0,Q.jsx)(or,{className:`size-3`}),`Browser`]})}),(0,Q.jsx)(Wr,{side:`bottom`,children:c?`Toggle browser panel (${c})`:`Toggle browser panel`})]}),D?(0,Q.jsx)(lh,{}):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)(Hr,{children:[(0,Q.jsx)(yi,{render:(0,Q.jsxs)(qi,{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)(Nn,{className:`size-3`}),`View diff`]})}),(0,Q.jsx)(Wr,{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)(ch,{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 dh(e){return e.archivedAt!==null}function fh(e){return e===null||!Number.isFinite(e)?null:e<10?`${e.toFixed(1).replace(/\.0$/,``)}%`:`${Math.round(e)}%`}function ph(e){let t=(0,X.c)(25),{usage:n}=e,r;t[0]===n.usedPercentage?r=t[1]:(r=fh(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 ${pc(n.usedTokens)} tokens used`,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:9.75,fill:`none`,stroke:`color-mix(in oklab, var(--color-muted) 70%, transparent)`,strokeWidth:`3`}),t[2]=l):l=t[2];let u;t[3]===s?u=t[4]:(u=(0,Q.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`-rotate-90 absolute inset-0 h-full w-full transform-gpu`,"aria-hidden":`true`,children:[l,(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:9.75,fill:`none`,stroke:`var(--color-muted-foreground)`,strokeWidth:`3`,strokeLinecap:`round`,strokeDasharray:o,strokeDashoffset:s,className:`transition-[stroke-dashoffset] duration-500 ease-out motion-reduce:transition-none`})]}),t[3]=s,t[4]=u);let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=U(`relative flex h-[15px] w-[15px] items-center justify-center rounded-full bg-background text-[8px] font-medium`,`text-muted-foreground`),t[5]=d):d=t[5];let f;t[6]!==n.usedPercentage||t[7]!==n.usedTokens?(f=n.usedPercentage===null?pc(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)(Hs,{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)(Us,{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:[pc(n.usedTokens),`/`,pc(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:[pc(n.totalProcessedTokens??null),` total`]})]}):null]}):(0,Q.jsxs)(`span`,{className:`font-medium text-foreground`,children:[pc(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)(Vs,{children:[h,g]}),t[22]=h,t[23]=g,t[24]=_):_=t[24],_}var mh=(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)(hh,{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)(Ti,{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}),hh=(0,Z.memo)(function(e){let t=(0,X.c)(29),n=e.item.id,r=e.item.id,i=e.isActive&&`bg-accent! text-accent-foreground!`,a;t[0]===i?a=t[1]:(a=U(`cursor-pointer select-none gap-2 hover:bg-transparent hover:text-inherit data-highlighted:bg-transparent data-highlighted:text-inherit`,i),t[0]=i,t[1]=a);let o;t[2]===e?o=t[3]:(o=()=>{e.isActive||e.onHighlight(e.item.id)},t[2]=e,t[3]=o);let s;t[4]===e?s=t[5]:(s=()=>{e.onSelect(e.item)},t[4]=e,t[5]=s);let c;t[6]!==e.item.path||t[7]!==e.item.pathKind||t[8]!==e.item.type||t[9]!==e.resolvedTheme?(c=e.item.type===`path`?(0,Q.jsx)(Vi,{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)(Ia,{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)(Ia,{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)(ei,{value:n,"data-composer-item-id":r,className:a,onMouseMove:o,onMouseDown:gh,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 gh(e){e.preventDefault()}var _h=[{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 vh(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function yh(e){if(!Array.isArray(e))return null;let t=e.filter(e=>typeof e==`string`);return t.length===e.length?t:null}function bh(e){let t=vh(e)?.proposedExecpolicyAmendment,n=vh(t);return yh(t)??yh(n?.execpolicy_amendment)??yh(n?.execpolicyAmendment)}function xh(e){let t=vh(e),[n]=Array.isArray(t?.proposedNetworkPolicyAmendments)?t.proposedNetworkPolicyAmendments:[],r=vh(n),i=typeof r?.host==`string`?r.host.trim():``;if(i.length>0)return{host:i,action:`allow`};let a=vh(t?.networkApprovalContext),o=typeof a?.host==`string`?a.host.trim():``;return o.length>0?{host:o,action:`allow`}:null}function Sh(e,t){switch(e){case`accept`:return _h.find(e=>e.key===`accept`)??null;case`acceptForSession`:return _h.find(e=>e.key===`acceptForSession`)??null;case`decline`:return _h.find(e=>e.key===`decline`)??null;case`cancel`:return _h.find(e=>e.key===`cancel`)??null;case`acceptWithExecpolicyAmendment`:{let e=bh(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=xh(t.data);return e?{key:`applyNetworkPolicyAmendment`,label:`Allow network host`,variant:`outline`,decision:{applyNetworkPolicyAmendment:{network_policy_amendment:e}}}:null}default:return null}}function Ch(e){let t=yh(vh(e.data)?.availableDecisions);if(!t||t.length===0)return _h;let n=t.flatMap(t=>{let n=Sh(t,e);return n?[n]:[]});return n.length>0?n:_h}function wh(e,t){return e===null?!1:typeof e==`string`?e===t.decision:typeof t.decision==`string`?!1:t.key in e}var Th=(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=Ch(n).map(e=>(0,Q.jsxs)(I,{size:`sm`,variant:e.variant,disabled:r,onClick:()=>void a(n.requestId,e.decision),children:[wh(i,e)?(0,Q.jsx)(Zn,{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 Eh(e){return e===`full-access`?`Full access`:`Supervised`}function Dh(e){return e===`full-access`?`Full access — click to require approvals`:`Supervised — click for full access`}var Oh=(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)(mt,{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)(ir,{"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)(Be,{value:`approval-required`,children:Eh(`approval-required`)}),t[4]=a):a=t[4];let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(Be,{value:`full-access`,children:Eh(`full-access`)}),t[5]=o):o=t[5];let s;t[6]!==e.runtimeMode||t[7]!==i?(s=(0,Q.jsxs)(et,{children:[r,(0,Q.jsxs)(Pt,{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)(_e,{}),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)(_e,{}),(0,Q.jsxs)(Re,{onClick:e.onTogglePlanSidebar,children:[(0,Q.jsx)(Zt,{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)(Mt,{children:[n,(0,Q.jsxs)(me,{align:`start`,children:[s,c,l]})]}),t[15]=s,t[16]=c,t[17]=l,t[18]=u):u=t[18],u}),kh=(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=Eh(e.runtimeMode),t[0]=e.runtimeMode,t[1]=r);let i=r,a;t[2]===e.runtimeMode?a=t[3]:(a=Dh(e.runtimeMode),t[2]=e.runtimeMode,t[3]=a);let o=a,s=n&&`text-orange-600 dark:text-orange-400 [&_svg:not([class*='opacity-'])]:opacity-100`,c;t[4]===s?c=t[5]:(c=U(`shrink-0 gap-1.5 whitespace-nowrap px-2 font-normal data-pressed:bg-accent/60 sm:px-2.5 [&_svg:not([class*='size-'])]:size-3.5`,s),t[4]=s,t[5]=c);let l;t[6]===n?l=t[7]:(l=n?(0,Q.jsx)(er,{}):(0,Q.jsx)(Fn,{}),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}),Ah=(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=St(jh),m;t[0]!==a||t[1]!==i||t[2]!==r?(m=ke(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=We(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&&bt(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)(mt,{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)(Cn,{"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)(En,{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)(Re,{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)(_e,{}),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)(mr,{className:`size-4 shrink-0`}),`Goal`]}),t[37]=z):z=t[37];let B;t[38]!==l||t[39]!==R?(B=(0,Q.jsx)(Lt,{variant:`switch`,checked:l,onClick:R,children:z}),t[38]=l,t[39]=R,t[40]=B):B=t[40];let ee;t[41]===c?ee=t[42]:(ee=e=>{e.preventDefault(),c()},t[41]=c,t[42]=ee);let te;t[43]!==s||t[44]!==ee?(te=(0,Q.jsx)(Lt,{variant:`switch`,checked:s,onClick:ee,children:`Plan mode`}),t[43]=s,t[44]=ee,t[45]=te):te=t[45];let ne;t[46]!==S||t[47]!==v?(ne=v===null?null:(0,Q.jsx)(Lt,{variant:`switch`,checked:v,onClick:e=>{e.preventDefault(),S()},children:`Thinking`}),t[46]=S,t[47]=v,t[48]=ne):ne=t[48];let V;t[49]!==h.supportsFastMode||t[50]!==b||t[51]!==y||t[52]!==w?(V=h.supportsFastMode?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(_e,{}),(0,Q.jsxs)(je,{children:[(0,Q.jsxs)(ue,{children:[(0,Q.jsx)(jn,{className:`size-4 shrink-0`}),`Speed`]}),(0,Q.jsx)(gt,{children:(0,Q.jsxs)(Pt,{value:y?`fast`:`standard`,onValueChange:w,children:[(0,Q.jsx)(Be,{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)(Be,{value:`fast`,children:(0,Q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Q.jsx)(`span`,{children:`Fast`}),(0,Q.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:b})]})})]})})]})]}):null,t[49]=h.supportsFastMode,t[50]=b,t[51]=y,t[52]=w,t[53]=V):V=t[53];let re;t[54]!==F||t[55]!==B||t[56]!==te||t[57]!==ne||t[58]!==V?(re=(0,Q.jsxs)(Mt,{children:[k,(0,Q.jsxs)(me,{align:`start`,side:`top`,sideOffset:8,children:[F,L,B,te,ne,V]})]}),t[54]=F,t[55]=B,t[56]=te,t[57]=ne,t[58]=V,t[59]=re):re=t[59];let ie;return t[60]!==re||t[61]!==O?(ie=(0,Q.jsxs)(Q.Fragment,{children:[O,re]}),t[60]=re,t[61]=O,t[62]=ie):ie=t[62],ie});function jh(e){return e.setProviderModelOptions}var Mh=$n,Nh=Kn;function Ph(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`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)(gr,{className:i,"data-slot":`alert-dialog-backdrop`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Fh(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`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)(sr,{className:i,"data-slot":`alert-dialog-viewport`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ih(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)(Ph,{}),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=U(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=U(`-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)(Wn,{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)(Nh,{children:[o,(0,Q.jsx)(Fh,{className:c,children:d})]}),t[13]=c,t[14]=d,t[15]=f):f=t[15],f}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=U(`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 Rh(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=U(`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 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=U(`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)(Vn,{className:i,"data-slot":`alert-dialog-title`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Bh(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`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)(Mn,{className:i,"data-slot":`alert-dialog-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Vh(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 Hh(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 Uh(e){return e.tokenBudget===null?null:Math.min(100,Math.max(0,e.tokensUsed/e.tokenBudget*100))}function Wh(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 Gh(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 Kh(e){let t=e.objective.trim();if(t.length===0)return{ok:!1,error:`Enter a goal objective.`};let n=Gh(t);if(n===null||n>4e3)return{ok:!1,error:`Use valid Unicode text within ${z.toLocaleString()} characters.`};let r=Wh(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 ${Hh(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 qh(e,t){return e instanceof Error&&e.message.trim().length>0?e.message:t}function Jh(e,t){return e!==null&&e!==`complete`&&t===`complete`}var Yh={active:`Active`,paused:`Paused`,blocked:`Blocked`,usageLimited:`Usage limited`,budgetLimited:`Budget limited`,complete:`Complete`};function Xh(e){switch(e){case`active`:return`success`;case`blocked`:case`budgetLimited`:case`usageLimited`:return`warning`;case`complete`:return`info`;case`paused`:return`outline`}}var Zh=(0,Z.memo)(function(e){let t=(0,X.c)(16),{goal:n}=e,r;t[0]===n.timeUsedSeconds?r=t[1]:(r=Vh(n.timeUsedSeconds),t[0]=n.timeUsedSeconds,t[1]=r);let i=r,a=Uh(n),o=Hh(n.tokensUsed),s=n.tokenBudget===null?null:Hh(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:U(`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}),Qh=(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=e.lifecycleId??e.createdAt,b=(0,Z.useRef)(y),x=(0,Z.useRef)(null),S=(0,Z.useRef)(0),C=Uh(e),w=Vh(e.timeUsedSeconds),T=e.tokenBudget===null?`${Hh(e.tokensUsed)} tokens used`:`${Hh(e.tokensUsed)}/${Hh(e.tokenBudget)} tokens`,E=s!==null,D=(0,Z.useCallback)(()=>{S.current+=1,c(null),m(e.objective),g(e.tokenBudget===null?``:String(e.tokenBudget)),x.current=null,f(null),u(null)},[e.objective,e.tokenBudget]);(0,Z.useEffect)(()=>{b.current!==y&&(b.current=y,S.current+=1,c(null),m(e.objective),g(e.tokenBudget===null?``:String(e.tokenBudget)),x.current=null,f(null),v(!1),u(null))},[e.objective,e.tokenBudget,y]),(0,Z.useEffect)(()=>{d===null||!Jh(x.current,e.status)||D()},[D,d,e.status]);let O=async(e,t,n)=>{if(s!==null)return!1;let r=S.current+1;S.current=r,u(null),c(e);try{return await t(),!0}catch(e){return S.current===r&&u(qh(e,n)),!1}finally{S.current===r&&c(null)}},k=e=>O(e,()=>n({status:e}),`Could not update the goal.`),A=t=>{u(null),m(e.objective),g(e.tokenBudget===null?``:String(e.tokenBudget)),x.current=e.status,f(t)},j=async()=>{if(d===null)return;if(Jh(x.current,e.status)){D();return}let t=Kh({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 O(d,()=>n(t.patch),d===`resumeBudget`?`Could not update the budget and resume the goal.`:`Could not save goal changes.`)&&f(null)},M=async()=>{await O(`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":E||void 0,children:[(0,Q.jsxs)(Mt,{children:[(0,Q.jsxs)(mt,{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 ${Yh[e.status]}. Time ${w}. ${T}.`,disabled:t||E,type:`button`}),children:[E?(0,Q.jsx)(Zn,{"aria-hidden":!0,className:`size-4 animate-spin`}):(0,Q.jsx)(mr,{"aria-hidden":!0,className:`size-4`}),(0,Q.jsx)(`span`,{className:`hidden max-w-24 truncate text-[11px] sm:inline`,children:Yh[e.status]}),(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`hidden text-[10px] text-muted-foreground/64 md:inline`,children:w}),e.tokenBudget===null?null:(0,Q.jsxs)(`span`,{"aria-hidden":!0,className:`hidden text-[10px] text-muted-foreground/64 lg:inline`,children:[Hh(e.tokensUsed),`/`,Hh(e.tokenBudget)]}),C===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:U(`block h-full`,C>=100?`bg-warning`:`bg-primary/70`),style:{width:`${C}%`}})})]}),(0,Q.jsxs)(me,{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)(Ia,{size:`sm`,variant:Xh(e.status),children:Yh[e.status]})]}),(0,Q.jsx)(`p`,{className:`line-clamp-3 text-sm text-foreground`,children:e.objective}),(0,Q.jsx)(Zh,{goal:e})]}),(0,Q.jsx)(_e,{}),(0,Q.jsxs)(Re,{disabled:E,onClick:()=>A(e.status===`budgetLimited`?`resumeBudget`:`edit`),children:[(0,Q.jsx)(Gt,{"aria-hidden":!0}),`Edit goal`]}),e.status===`active`?(0,Q.jsx)(Re,{disabled:E,onClick:()=>void k(`paused`),children:`Pause goal`}):e.status!==`complete`&&e.status!==`budgetLimited`?(0,Q.jsx)(Re,{disabled:E,onClick:()=>void k(`active`),children:`Resume goal`}):null,e.status===`complete`?null:(0,Q.jsx)(Re,{disabled:E,onClick:()=>void k(`complete`),children:`Mark complete`}),(0,Q.jsx)(_e,{}),(0,Q.jsx)(Re,{disabled:E,onClick:()=>{u(null),v(!0)},className:U(`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)(Pa,{open:d!==null,onOpenChange:e=>{!e&&!E&&f(null)},children:(0,Q.jsxs)(Na,{"aria-busy":E||void 0,className:`max-w-md`,children:[(0,Q.jsxs)(Oa,{children:[(0,Q.jsx)(ka,{children:d===`resumeBudget`?`Adjust budget and resume`:`Edit goal`}),(0,Q.jsx)(Ma,{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)(ja,{className:`space-y-4`,children:(0,Q.jsxs)(`form`,{id:o,className:`space-y-4`,onSubmit:e=>{e.preventDefault(),j()},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)(Fa,{id:i,autoFocus:!0,disabled:E,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)(Mr,{id:a,disabled:E,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`?`${Hh(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)(Aa,{variant:`bare`,children:[(0,Q.jsx)(I,{type:`button`,variant:`outline`,size:`sm`,disabled:E,onClick:()=>f(null),children:`Cancel`}),(0,Q.jsxs)(I,{type:`submit`,form:o,size:`sm`,disabled:E,children:[E?(0,Q.jsx)(Zn,{"aria-hidden":!0,className:`size-3.5 animate-spin`}):null,d===`resumeBudget`?`Save and resume`:`Save changes`]})]})]})}),(0,Q.jsx)(Mh,{open:_,onOpenChange:e=>{E||v(e)},children:(0,Q.jsxs)(Ih,{"aria-busy":E||void 0,className:`max-w-md`,children:[(0,Q.jsxs)(Lh,{children:[(0,Q.jsx)(zh,{children:`Clear goal?`}),(0,Q.jsx)(Bh,{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)(Rh,{children:[(0,Q.jsx)(I,{type:`button`,variant:`outline`,size:`sm`,disabled:E,onClick:()=>v(!1),children:`Keep goal`}),(0,Q.jsxs)(I,{type:`button`,variant:`destructive`,size:`sm`,disabled:E,onClick:()=>void M(),children:[E?(0,Q.jsx)(Zn,{"aria-hidden":!0,className:`size-3.5 animate-spin`}):null,`Clear goal`]})]})]})})]})}),$h=(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)(mr,{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)(sn,{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}),eg=H(navigator.platform)?`⌘`:`Ctrl`,tg=(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:[eg,`+Shift+P`]}),t[2]=a):a=t[2];let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(sn,{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}),ng=(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)(sn,{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}),rg=e=>e.isResponding?`Submitting...`:e.compact?e.isLastQuestion?`Submit`:`Next`:e.isLastQuestion?`Submit answers`:`Next question`,ig=(0,Z.memo)(function(e){let t=(0,X.c)(82),{compact:n,pendingAction:r,isRunning:i,awaitingSendAck:a,queuedTurnCount:o,showPlanFollowUpPrompt:s,promptHasText:c,isSendBusy:l,isConnecting:u,isPreparingWorktree:d,hasSendableContent:f,canSteerRunningTurn:p,onQueueRunningTurn:m,onPreviousPendingQuestion:h,onInterrupt:g,onImplementPlanInNewThread:_}=e,v=p?l?`Steering...`:`Steer`:l?`Queueing...`:`Queue`;if(r){let e=n?`gap-1.5`:`gap-2`,i;t[0]===e?i=t[1]:(i=U(`flex items-center justify-end`,e),t[0]=e,t[1]=i);let a;t[2]!==n||t[3]!==h||t[4]!==r.isResponding||t[5]!==r.questionIndex?(a=r.questionIndex>0?n?(0,Q.jsx)(I,{size:`icon-sm`,variant:`outline`,className:`rounded-full`,onClick:h,disabled:r.isResponding,"aria-label":`Previous question`,children:(0,Q.jsx)(ur,{className:`size-3.5`})}):(0,Q.jsx)(I,{size:`sm`,variant:`outline`,className:`rounded-full`,onClick:h,disabled:r.isResponding,children:`Previous`}):null,t[2]=n,t[3]=h,t[4]=r.isResponding,t[5]=r.questionIndex,t[6]=a):a=t[6];let o=n?`px-3`:`px-4`,s;t[7]===o?s=t[8]:(s=U(`rounded-full`,o),t[7]=o,t[8]=s);let c=r.isResponding||(r.isLastQuestion?!r.isComplete:!r.canAdvance),l;t[9]!==n||t[10]!==r.isLastQuestion||t[11]!==r.isResponding?(l=rg({compact:n,isLastQuestion:r.isLastQuestion,isResponding:r.isResponding}),t[9]=n,t[10]=r.isLastQuestion,t[11]=r.isResponding,t[12]=l):l=t[12];let u;t[13]!==s||t[14]!==c||t[15]!==l?(u=(0,Q.jsx)(I,{type:`submit`,size:`sm`,className:s,disabled:c,children:l}),t[13]=s,t[14]=c,t[15]=l,t[16]=u):u=t[16];let d;return t[17]!==i||t[18]!==a||t[19]!==u?(d=(0,Q.jsxs)(`div`,{className:i,children:[a,u]}),t[17]=i,t[18]=a,t[19]=u,t[20]=d):d=t[20],d}if(i){let e=n?`gap-1.5`:`gap-2`,r;t[21]===e?r=t[22]:(r=U(`flex items-center justify-end`,e),t[21]=e,t[22]=r);let i;t[23]===o?i=t[24]:(i=o>0?(0,Q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[o,` queued`]}):null,t[23]=o,t[24]=i);let s;t[25]!==p||t[26]!==n||t[27]!==f||t[28]!==u||t[29]!==l||t[30]!==m?(s=f&&p?(0,Q.jsx)(I,{type:`button`,size:`sm`,variant:`ghost`,className:U(`rounded-full`,n?`px-3`:`px-4`),onClick:m,disabled:l||u,children:`Queue`}):null,t[25]=p,t[26]=n,t[27]=f,t[28]=u,t[29]=l,t[30]=m,t[31]=s):s=t[31];let c;t[32]!==n||t[33]!==f||t[34]!==u||t[35]!==l||t[36]!==v?(c=f?(0,Q.jsx)(I,{type:`submit`,size:`sm`,variant:`outline`,className:U(`rounded-full`,n?`px-3`:`px-4`),disabled:l||u,children:v}):null,t[32]=n,t[33]=f,t[34]=u,t[35]=l,t[36]=v,t[37]=c):c=t[37];let d;t[38]!==a||t[39]!==g?(d=a?(0,Q.jsx)(`button`,{type:`button`,disabled:!0,className:`flex size-8 items-center justify-center rounded-full bg-primary/90 text-primary-foreground sm:h-8 sm:w-8`,"aria-label":`Waiting for response`,children:(0,Q.jsx)(Zn,{className:`size-4 animate-spin`,"aria-hidden":`true`})}):(0,Q.jsx)(`button`,{type:`button`,className:`flex size-8 cursor-pointer items-center justify-center rounded-full bg-rose-500/90 text-white transition-colors duration-150 hover:bg-rose-600 sm:h-8 sm:w-8`,onClick:g,"aria-label":`Stop generation`,children:(0,Q.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`currentColor`,"aria-hidden":`true`,children:(0,Q.jsx)(`rect`,{x:`2`,y:`2`,width:`8`,height:`8`,rx:`1.5`})})}),t[38]=a,t[39]=g,t[40]=d):d=t[40];let h;return t[41]!==r||t[42]!==i||t[43]!==s||t[44]!==c||t[45]!==d?(h=(0,Q.jsxs)(`div`,{className:r,children:[i,s,c,d]}),t[41]=r,t[42]=i,t[43]=s,t[44]=c,t[45]=d,t[46]=h):h=t[46],h}if(s){if(c){let e=n?`h-9 px-3 sm:h-8`:`h-9 px-4 sm:h-8`,r;t[47]===e?r=t[48]:(r=U(`rounded-full`,e),t[47]=e,t[48]=r);let i=l||u,a=u||l?`Sending...`:`Refine`,o;return t[49]!==r||t[50]!==i||t[51]!==a?(o=(0,Q.jsx)(I,{type:`submit`,size:`sm`,className:r,disabled:i,children:a}),t[49]=r,t[50]=i,t[51]=a,t[52]=o):o=t[52],o}let e=n?`px-3`:`px-4`,r;t[53]===e?r=t[54]:(r=U(`h-9 rounded-l-full rounded-r-none sm:h-8`,e),t[53]=e,t[54]=r);let i=l||u,a=u||l?`Sending...`:`Implement`,o;t[55]!==r||t[56]!==i||t[57]!==a?(o=(0,Q.jsx)(I,{type:`submit`,size:`sm`,className:r,disabled:i,children:a}),t[55]=r,t[56]=i,t[57]=a,t[58]=o):o=t[58];let s=l||u,d;t[59]===s?d=t[60]:(d=(0,Q.jsx)(I,{size:`sm`,variant:`default`,className:`h-9 rounded-l-none rounded-r-full border-l-white/12 px-2 sm:h-8`,"aria-label":`Implementation actions`,disabled:s}),t[59]=s,t[60]=d);let f;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(qn,{className:`size-3.5`}),t[61]=f):f=t[61];let p;t[62]===d?p=t[63]:(p=(0,Q.jsx)(mt,{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)(me,{align:`end`,side:`top`,children:(0,Q.jsx)(Re,{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)(Mt,{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)(Zn,{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}),ag=(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 og(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`pointer-events-none inline-flex h-5 min-w-5 select-none items-center justify-center gap-1 rounded bg-muted px-1 font-medium font-sans text-muted-foreground text-xs [&_svg:not([class*='size-'])]:size-3`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(`kbd`,{className:i,"data-slot":`kbd`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var sg=(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)(cg,{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}),cg=(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=Go(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)(Ia,{variant:`secondary`,size:`sm`,className:`tabular-nums`,children:[a+1,`/`,n.questions.length]}):null,t[15]=n.questions.length,t[16]=a,t[17]=v):v=t[17];let y;t[18]===u.header?y=t[19]:(y=(0,Q.jsx)(`span`,{className:`text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:u.header}),t[18]=u.header,t[19]=y);let b;t[20]!==v||t[21]!==y?(b=(0,Q.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[v,y]}),t[20]=v,t[21]=y,t[22]=b):b=t[22];let x;t[23]===u.question?x=t[24]:(x=(0,Q.jsx)(`p`,{className:`mt-1 text-sm text-foreground`,children:u.question}),t[23]=u.question,t[24]=x);let S;if(t[25]!==u.id||t[26]!==u.options||t[27]!==r||t[28]!==l.selectedOptionLabel||t[29]!==h){let e;t[31]!==u.id||t[32]!==r||t[33]!==l.selectedOptionLabel||t[34]!==h?(e=(e,t)=>{let n=l.selectedOptionLabel===e.label,i=t<9?t+1:null;return(0,Q.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>h(u.id,e.label),className:U(`flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-left transition-colors`,n?`bg-accent text-foreground`:`text-foreground/80 hover:bg-accent/50`,r&&`cursor-not-allowed opacity-50`),children:[i===null?null:(0,Q.jsx)(og,{className:U(n&&`bg-primary/15 text-primary`),children:i}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 truncate`,children:[(0,Q.jsx)(`span`,{className:`text-sm font-medium`,children:e.label}),e.description&&e.description!==e.label?(0,Q.jsx)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:e.description}):null]}),n?(0,Q.jsx)(gn,{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}),lg=(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 ug(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:_}=De(),v;t[9]===h?v=t[10]:(v=e=>{f.current=e,h(e)},t[9]=h,t[10]=v);let y=v,b;t[11]!==m||t[12]!==a?(b=e=>{m(e),a?.(e)},t[11]=m,t[12]=a,t[13]=b):b=t[13];let x=b,S;t[14]!==d||t[15]!==_?(S=()=>{if(!d)return;let e=f.current;if(!e)return;_(e);let t=new ResizeObserver(()=>{_(e)});t.observe(e);let n=new MutationObserver(()=>{_(e)});return n.observe(e,{characterData:!0,childList:!0,subtree:!0}),()=>{t.disconnect(),n.disconnect()}},t[14]=d,t[15]=_,t[16]=S):S=t[16];let C;t[17]!==i||t[18]!==d||t[19]!==_?(C=[i,d,_],t[17]=i,t[18]=d,t[19]=_,t[20]=C):C=t[20],(0,Z.useEffect)(S,C);let w;t[21]!==d||t[22]!==_?(w=()=>{if(!d)return;let e=f.current;if(!e)return;_(e);let t=window.requestAnimationFrame(()=>{_(e)});return()=>{window.cancelAnimationFrame(t)}},t[21]=d,t[22]=_,t[23]=w):w=t[23];let T;t[24]!==i||t[25]!==d||t[26]!==_?(T=[i,d,_],t[24]=i,t[25]=d,t[26]=_,t[27]=T):T=t[27],(0,Z.useLayoutEffect)(w,T);let E=g>.01,D=p>.01,O=`linear-gradient(to bottom, ${E?`transparent 0%, black ${u}`:`black 0%`}, ${D?`black calc(100% - ${u}), transparent 100%`:`black 100%`})`,k;t[28]===r?k=t[29]:(k=U(`[-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,r),t[28]=r,t[29]=k);let A;t[30]!==O||t[31]!==s?(A={...s,WebkitMaskImage:O,maskImage:O},t[30]=O,t[31]=s,t[32]=A):A=t[32];let j;return t[33]!==n||t[34]!==y||t[35]!==x||t[36]!==o||t[37]!==A||t[38]!==k?(j=(0,Q.jsx)(`div`,{ref:y,className:k,style:A,onScroll:x,...o,children:n}),t[33]=n,t[34]=y,t[35]=x,t[36]=o,t[37]=A,t[38]=k,t[39]=j):j=t[39],j}function dg(e){let t=(0,X.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=U(`relative z-0 mx-auto w-[calc(100%-3rem)] max-w-[39rem] min-w-0 overflow-hidden rounded-t-[16px] rounded-b-none border border-b-0 border-border bg-card sm:w-[calc(100%-4rem)]`,`[[data-composer-docked-panel]~&]:rounded-t-none [[data-composer-docked-panel]~&]:border-t-border/40`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(`div`,{"data-composer-docked-panel":`true`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var fg=`linear-gradient(to bottom, transparent 0, black 0.75rem, black calc(100% - 0.75rem), transparent 100%)`;function pg(e){let t=(0,X.c)(9),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={maskImage:fg,WebkitMaskImage:fg},t[0]=n):n=t[0];let r=e.ariaLabel,i=e.scrollable&&`max-h-56 overflow-y-auto [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,a;t[1]===i?a=t[2]:(a=U(`overscroll-contain`,i),t[1]=i,t[2]=a);let o;t[3]!==e.children||t[4]!==a?(o=(0,Q.jsx)(`div`,{className:a,children:e.children}),t[3]=e.children,t[4]=a,t[5]=o):o=t[5];let s;return t[6]!==e.ariaLabel||t[7]!==o?(s=(0,Q.jsx)(`div`,{className:`border-t border-border/45`,style:n,"aria-label":r,children:o}),t[6]=e.ariaLabel,t[7]=o,t[8]=s):s=t[8],s}var mg=5,hg=3,gg=4;function _g(e){let t=Xe(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 vg=(0,Z.memo)(function(e){let t=(0,X.c)(40),{queuedTurn:n}=e,r,i;t[0]===n?i=t[1]:(i=_g(n),t[0]=n,t[1]=i),r=i;let a=r,o=n.status===`sending`,s=n.status===`failed`,c=s&&n.errorMessage?n.errorMessage:a,l=o?`animate-pulse text-foreground/70`:s?`text-amber-500`:`text-muted-foreground/60`,u;t[2]===l?u=t[3]:(u=U(`size-3 shrink-0`,l),t[2]=l,t[3]=u);let d;t[4]===u?d=t[5]:(d=(0,Q.jsx)(tn,{"aria-hidden":!0,className:u}),t[4]=u,t[5]=d);let f=s?`text-amber-700 dark:text-amber-300`:`text-muted-foreground`,p;t[6]===f?p=t[7]:(p=U(`min-w-0 flex-1 truncate text-[12.5px] leading-snug`,f),t[6]=f,t[7]=p);let m;t[8]!==a||t[9]!==p||t[10]!==c?(m=(0,Q.jsx)(`p`,{className:p,title:c,children:a}),t[8]=a,t[9]=p,t[10]=c,t[11]=m):m=t[11];let h;t[12]!==e||t[13]!==n.id?(h=()=>e.onDelete(n.id),t[12]=e,t[13]=n.id,t[14]=h):h=t[14];let g;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsx)(hn,{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)(ir,{className:`size-3.5`}),t[21]=y):y=t[21];let b;t[22]===v?b=t[23]:(b=(0,Q.jsx)(mt,{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)(Gt,{className:`size-4`}),t[27]=S):S=t[27];let C;t[28]===x?C=t[29]:(C=(0,Q.jsx)(me,{align:`end`,side:`bottom`,children:(0,Q.jsxs)(Re,{onClick:x,children:[S,`Edit message`]})}),t[28]=x,t[29]=C);let w;t[30]!==b||t[31]!==C?(w=(0,Q.jsxs)(Mt,{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 yg(e){return e===`completed`}function bg(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 xg(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 Sg=(0,Z.memo)(function(e){let t=(0,X.c)(6),n=e.status,r;if(t[0]!==e.status){r=Symbol.for(`react.early_return_sentinel`);bb0:{let i=U(`size-[14px] shrink-0 [stroke-width:2.25]`,bg(n));switch(e.status){case`completed`:r=(0,Q.jsx)(gn,{className:i,"aria-hidden":`true`});break bb0;case`inProgress`:r=(0,Q.jsx)(Zn,{className:U(i,`animate-spin`),"aria-hidden":`true`});break bb0;case`failed`:case`stopped`:{let e;t[2]===i?e=t[3]:(e=(0,Q.jsx)(Xn,{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)(hr,{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}),Cg=(0,Z.memo)(function(e){let t=(0,X.c)(25),{item:n}=e,r=n.status===`inProgress`,i=n.status===`completed`&&`opacity-55`,a;t[0]===i?a=t[1]:(a=U(`group/task-row border-t border-border/35 px-4 py-2 first:border-t-0`,i),t[0]=i,t[1]=a);let o;t[2]===n.status?o=t[3]:(o=xg(n.status),t[2]=n.status,t[3]=o);let s;t[4]===n.status?s=t[5]:(s=(0,Q.jsx)(Sg,{status:n.status}),t[4]=n.status,t[5]=s);let c;t[6]!==o||t[7]!==s?(c=(0,Q.jsx)(`span`,{className:`mt-[3px] inline-flex size-3 shrink-0 items-center justify-center`,title:o,children:s}),t[6]=o,t[7]=s,t[8]=c):c=t[8];let l=r&&`shimmer shimmer-spread-200`,u;t[9]===l?u=t[10]:(u=U(`truncate text-[12.5px] font-medium text-foreground`,l),t[9]=l,t[10]=u);let d;t[11]!==n.title||t[12]!==u?(d=(0,Q.jsx)(`div`,{className:u,children:n.title}),t[11]=n.title,t[12]=u,t[13]=d):d=t[13];let f;t[14]===n.detail?f=t[15]:(f=n.detail?(0,Q.jsx)(`div`,{className:`mt-px truncate text-[11.5px] text-muted-foreground/65`,children:n.detail}):null,t[14]=n.detail,t[15]=f);let p;t[16]!==d||t[17]!==f?(p=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 leading-snug`,children:[d,f]}),t[16]=d,t[17]=f,t[18]=p):p=t[18];let m;t[19]!==c||t[20]!==p?(m=(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2.5`,children:[c,p]}),t[19]=c,t[20]=p,t[21]=m):m=t[21];let h;return t[22]!==a||t[23]!==m?(h=(0,Q.jsx)(`div`,{className:a,children:m}),t[22]=a,t[23]=m,t[24]=h):h=t[24],h}),wg=[`text-orange-500`,`text-emerald-500`,`text-sky-500`,`text-fuchsia-500`,`text-amber-500`,`text-lime-500`];function Tg(e){return wg[e%wg.length]}var Eg=(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=Tg(r),t[0]=r,t[1]=c);let l;t[2]!==n.displayName||t[3]!==c?(l=(0,Q.jsx)(`span`,{className:c,children:n.displayName}),t[2]=n.displayName,t[3]=c,t[4]=l):l=t[4];let u;t[5]===n.agentRole?u=t[6]:(u=n.agentRole?(0,Q.jsxs)(`span`,{className:`font-normal text-muted-foreground/70`,children:[` (`,n.agentRole,`)`]}):null,t[5]=n.agentRole,t[6]=u);let d=n.status===`active`&&`shimmer shimmer-spread-200`,f;t[7]===d?f=t[8]:(f=U(`font-normal text-muted-foreground/80`,d),t[7]=d,t[8]=f);let p;t[9]!==s||t[10]!==f?(p=(0,Q.jsxs)(`span`,{className:f,children:[` `,s]}),t[9]=s,t[10]=f,t[11]=p):p=t[11];let m;t[12]!==l||t[13]!==u||t[14]!==p?(m=(0,Q.jsxs)(`div`,{className:`truncate text-[12.5px] font-medium text-foreground`,children:[l,u,p]}),t[12]=l,t[13]=u,t[14]=p,t[15]=m):m=t[15];let h;t[16]===n.instruction?h=t[17]:(h=n.instruction?(0,Q.jsx)(`p`,{className:`mt-px truncate text-[11.5px] text-muted-foreground/65`,children:n.instruction}):null,t[16]=n.instruction,t[17]=h);let g;t[18]===n.hasContents?g=t[19]:(g=n.hasContents?null:(0,Q.jsx)(`p`,{className:`mt-px truncate text-[11.5px] text-muted-foreground/50`,children:`No contents`}),t[18]=n.hasContents,t[19]=g);let _;t[20]!==m||t[21]!==h||t[22]!==g?(_=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 leading-snug`,children:[m,h,g]}),t[20]=m,t[21]=h,t[22]=g,t[23]=_):_=t[23];let v;t[24]!==i||t[25]!==o||t[26]!==n.id?(v=o?(0,Q.jsx)(`span`,{"data-testid":`background-subagent-row-chevron-${n.id}`,className:`mt-0.5 inline-flex size-5 shrink-0 items-center justify-center text-muted-foreground/55`,"aria-hidden":!0,children:i?(0,Q.jsx)(dr,{className:`size-4`}):(0,Q.jsx)(qn,{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(kg),"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)(Gr,{open:i,children:(0,Q.jsx)(ug,{dependencyKey:n.childEntries.length,"data-background-subagent-activity-list":`true`,className:`max-h-40 overflow-y-auto overscroll-contain pt-2`,children:n.childEntries.map(Ag)})}):null,t[36]=i,t[37]=o,t[38]=n.childEntries,t[39]=C):C=t[39];let w;return t[40]!==x||t[41]!==S||t[42]!==C?(w=(0,Q.jsxs)(`div`,{className:`border-t border-border/35 px-4 py-2 first:border-t-0`,"data-background-subagent-row":`true`,"data-testid":x,children:[S,C]}),t[40]=x,t[41]=S,t[42]=C,t[43]=w):w=t[43],w}),Dg=(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)(dr,{className:`size-3.5`}):(0,Q.jsx)(qn,{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)(Gr,{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],_}),Og=(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=>yg(e.status)).length,total:e}})():null;return(0,Q.jsxs)(dg,{"data-chat-composer-context-panel":`true`,children:[r?(0,Q.jsx)(Dg,{title:`Queued`,icon:vn,count:String(r.length),open:e.queuedOpen,onOpenChange:e.onQueuedOpenChange,children:(0,Q.jsx)(pg,{scrollable:r.length>gg,ariaLabel:`Queued messages list`,children:r.map(t=>(0,Q.jsx)(vg,{queuedTurn:t,onDelete:e.onDeleteQueuedTurn,onEdit:e.onEditQueuedTurn},t.id))})}):null,t&&i?(0,Q.jsx)(Dg,{title:`Tasks`,icon:Pn,count:`${i.completed}/${i.total}`,open:e.taskListOpen,onOpenChange:e.onTaskListOpenChange,children:(0,Q.jsx)(pg,{scrollable:t.items.length>mg,ariaLabel:`Tasks list`,children:t.items.map(e=>(0,Q.jsx)(Cg,{item:e},e.id))})}):null,n?(0,Q.jsx)(`div`,{"data-chat-background-subagents-panel":`true`,children:(0,Q.jsx)(Dg,{title:`Background agents`,icon:Yn,count:String(n.length),open:e.backgroundSubagentsOpen,onOpenChange:e.onBackgroundSubagentsOpenChange,children:(0,Q.jsx)(pg,{scrollable:n.length>hg,ariaLabel:`Background agents list`,children:n.map((e,t)=>(0,Q.jsx)(Eg,{row:e,index:t},e.id))})})}):null]})});function kg(e){return!e}function Ag(e){return(0,Q.jsx)(Nm,{workEntry:e,indented:!1},e.id)}function jg(e){let t=(0,X.c)(6),{variant:n}=e,r=n===`error`&&`text-destructive`,i=n===`warning`&&`text-warning`,a=n===`info`&&`text-info`,o;t[0]!==r||t[1]!==i||t[2]!==a?(o=U(`size-3 shrink-0`,r,i,a),t[0]=r,t[1]=i,t[2]=a,t[3]=o):o=t[3];let s;return t[4]===o?s=t[5]:(s=(0,Q.jsx)(wn,{className:o}),t[4]=o,t[5]=s),s}var Mg=(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(Rg),t[2]=d):d=t[2];let f=i===`error`?`text-destructive`:`text-foreground/85`,p;t[3]===f?p=t[4]:(p=U(`text-[12.5px] font-medium`,f),t[3]=f,t[4]=p);let m;t[5]!==p||t[6]!==r?(m=(0,Q.jsx)(`span`,{className:p,children:r}),t[5]=p,t[6]=r,t[7]=m):m=t[7];let h;t[8]===c?h=t[9]:(h=(0,Q.jsx)(`span`,{className:`inline-flex size-4 shrink-0 items-center justify-center text-muted-foreground/50`,children:c?(0,Q.jsx)(dr,{className:`size-3`}):(0,Q.jsx)(qn,{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)(Gr,{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)(sn,{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}),Ng=(0,Z.memo)(function(e){let t=(0,X.c)(8),{status:n}=e;if(!n||n.status===`ready`||n.status===`disabled`)return null;let r=ae[n.provider]??n.provider,i=n.status===`error`?`${r} provider is unavailable.`:`${r} provider has limited availability.`,a=`${r} provider status`,o=n.status===`error`?`error`:`warning`,s;t[0]===o?s=t[1]:(s=(0,Q.jsx)(jg,{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)(an,{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)(Mg,{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}),Pg=(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)(jg,{variant:`error`}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==r?(a=(0,Q.jsx)(Mg,{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 Fg(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 Ig=(0,Z.memo)(function(e){let t=(0,X.c)(15),{resumeState:n,onResumeAction:r}=e,i;t[0]===n?i=t[1]:(i=Fg(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)(Zn,{className:`mt-[3px] size-3.5 animate-spin text-warning`}):(0,Q.jsx)(jg,{variant:a.variant}),t[2]=a.variant,t[3]=o,t[4]=s):s=t[4];let c;t[5]!==a.action||t[6]!==a.variant||t[7]!==r?(c=a.action&&r?(0,Q.jsxs)(I,{variant:`outline`,size:`sm`,className:U(`h-6 px-2 text-[11px]`,a.variant===`error`?`border-destructive/20 text-destructive/80 hover:border-destructive/30 hover:bg-destructive/[0.04] hover:text-destructive`:`border-border/50 hover:bg-muted/40`),onClick:e=>{e.stopPropagation(),r()},children:[a.action.action===`resume`&&(0,Q.jsx)(un,{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)(Mg,{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}),Lg=(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)(Ng,{status:n}),t[0]=n,t[1]=s);let c;t[2]!==o||t[3]!==r?(c=(0,Q.jsx)(Ig,{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)(Pg,{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)(dg,{"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 Rg(e){return!e}function zg(e){let t=(0,X.c)(12),{promptLength:n}=e,r=1-Math.min(1,n/14),i=(0,Z.useRef)(null),a=(0,Z.useRef)(null),o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),c,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{let e=i.current;if(!e)return;let t=e.parentElement;if(!t)return;let n=()=>{a.current=e.getBoundingClientRect()},r=()=>{s.current=null;let t=o.current,n=a.current;!t||!n||(e.style.setProperty(`--mx`,`${t.x-n.left}px`),e.style.setProperty(`--my`,`${t.y-n.top}px`))},c=()=>{s.current===null&&(s.current=window.requestAnimationFrame(r))},l=e=>{o.current={x:e.clientX,y:e.clientY},c()},u=()=>{n(),c()};n(),t.addEventListener(`pointerenter`,u),t.addEventListener(`mousemove`,l);let d=null;return typeof ResizeObserver<`u`&&(d=new ResizeObserver(()=>{n()}),d.observe(t),d.observe(e)),()=>{s.current!==null&&window.cancelAnimationFrame(s.current),d?.disconnect(),t.removeEventListener(`pointerenter`,u),t.removeEventListener(`mousemove`,l)}},l=[],t[0]=c,t[1]=l):(c=t[0],l=t[1]),(0,Z.useEffect)(c,l);let u=r<=.01?`opacity-0`:`opacity-100`,d;t[2]===u?d=t[3]:(d=U(`empty-thread-ambient pointer-events-none absolute inset-0 overflow-hidden transition-opacity duration-300 ease-out`,u),t[2]=u,t[3]=d);let f;t[4]===r?f=t[5]:(f=r.toFixed(3),t[4]=r,t[5]=f);let p=Number(f),m;t[6]===p?m=t[7]:(m={opacity:p},t[6]=p,t[7]=m);let h;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Q.jsx)(`div`,{className:`ambient-grid`}),t[8]=h):h=t[8];let g;return t[9]!==d||t[10]!==m?(g=(0,Q.jsx)(`div`,{ref:i,"aria-hidden":`true`,className:d,style:m,children:h}),t[9]=d,t[10]=m,t[11]=g):g=t[11],g}var Bg=[.22,1,.36,1],Vg=[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}?`],Hg=[`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 Ug(e){let t=e?.trim();if(t){let e=Vg[Math.floor(Math.random()*Vg.length)];return e(t)}return Hg[Math.floor(Math.random()*Hg.length)]}function Wg(e){let t=(0,X.c)(9),{projectName:n}=e,r=!!An(),i,a;t[0]===n?a=t[1]:(a=Ug(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:Bg},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)(Rn,{features:bn,children:(0,Q.jsx)(Wt.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 Gg=`shioricode`;o(oe,t);function Kg(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 qg(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 Jg(e){!e||typeof URL>`u`||!e.startsWith(`blob:`)||URL.revokeObjectURL(e)}function Yg(e){if(!(e.role!==`user`||!e.attachments))for(let t of e.attachments)t.type===`image`&&Jg(t.previewUrl)}function Xg(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 Zg(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 Qg(){return`${Gg}/${V().slice(0,8).toLowerCase()}`}function $g(e){if(typeof URL>`u`||!e.previewUrl.startsWith(`blob:`))return e;try{return{...e,previewUrl:URL.createObjectURL(e.file)}}catch{return e}}function e_(e){let t=Xe(e.prompt).trim(),n=it(e.terminalContexts);return{trimmedPrompt:t,sendableTerminalContexts:n,expiredTerminalContextCount:e.terminalContexts.length-n.length,hasSendableContent:t.length>0||e.imageCount>0||n.length>0}}function t_(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,expectedGoalLifecycleKey:e.expectedGoalLifecycleKey}}function n_(e){return e.goalIntent!==null&&e.interactionMode!==`plan`}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)||zt(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=()=>ft.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=ft.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=()=>ft.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=ft.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(ie/(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 Ui(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 ft((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=ke(e.models,e.model,e.provider);return e.effort&&t.promptInjectedEffortLevels.includes(e.effort)?He(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_=`Connect to ShioriCode and open a synced thread first.`,N_=120,P_=(e,t,n)=>n.endsWith(` `)&&e[t]===` `?t+1:t,F_=(e,t)=>{let n=new Map(e.map(e=>[e.id,e]));return t.flatMap(e=>{let t=n.get(e);return t?[t]:[]})},I_=(e,t)=>e.length===t.length&&e.every((e,n)=>e.id===t[n]);function L_(e){let t=(0,X.c)(4),n=e.emptyThread?`mt-2 max-w-[44rem]`:`max-w-3xl pb-3 pt-1`,r;t[0]===n?r=t[1]:(r=U(`relative z-10 mx-auto flex min-h-4 w-full min-w-0 items-center justify-center px-5 text-center text-muted-foreground/55 text-xs`,n),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:r}),t[2]=r,t[3]=i),i}function R_(e){return ft((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 z_(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=ft(n),i=ft(V_),a=ft(B_),o;t[2]!==i||t[3]!==e.activeThread||t[4]!==e.threadId?(o=t=>{if(!e.threadId)return;let n=!!t?.preparingWorktree,r=ft.getState().pendingThreadDispatchById[e.threadId]??null,a=r?r.preparingWorktree===n?r:{...r,preparingWorktree:n}:Ze(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=xt({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 B_(e){return e.clearPendingThreadDispatch}function V_(e){return e.beginPendingThreadDispatch}function H_({threadId:e,visible:t,focusRequestId:n,splitShortcutLabel:r,newShortcutLabel:i,closeShortcutLabel:a,onAddTerminalContext:o}){let s=xr(e),c=St(t=>t.draftThreadsByThreadId[e]??null),l=Sr(s?.projectId??c?.projectId),u=Vt(t=>Bt(t.terminalStateByThreadId,e)),d=Vt(e=>e.setTerminalHeight),f=Vt(e=>e.splitTerminal),p=Vt(e=>e.newTerminal),m=Vt(e=>e.setActiveTerminal),h=Vt(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-${V()}`),O()},[O,f,e]),j=(0,Z.useCallback)(()=>{p(e,`terminal-${V()}`),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)(cc,{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 U_({isFocusedPane:e=!0,threadId:t}){let n=xr(t),r=ft(e=>e.setError),i=ft(e=>e.setThreadBranch),a=Ut(e=>e.markThreadVisited),o=Ut(e=>e.threadLastVisitedAtById[t]),s=yr(),{updateSettings:c}=br(),l=St(e=>e.setStickyModelSelection),u=s.timestampFormat,g=y(),_=d({strict:!1,select:e=>pi(e)}),v=e?_:_.panes?{panes:_.panes}:{},{resolvedTheme:b}=zi(),x=f(kr({queryClient:h()})),S=Dt(t),C=S.prompt,w=S.images,T=S.terminalContexts,E=(0,Z.useMemo)(()=>e_({prompt:C,imageCount:w.length,terminalContexts:T}),[w.length,T,C]),D=S.nonPersistedImageIds,O=St(e=>e.setPrompt),j=St(e=>e.setModelSelection),P=St(e=>e.setProviderModelOptions),F=St(e=>e.setRuntimeMode),L=St(e=>e.setInteractionMode),z=St(e=>e.addImage),te=St(e=>e.addImages),ne=St(e=>e.removeImage),ie=St(e=>e.insertTerminalContext),ae=St(e=>e.addTerminalContexts),oe=St(e=>e.removeTerminalContext),ce=St(e=>e.setTerminalContexts),le=St(e=>e.clearPersistedAttachments),ue=St(e=>e.syncPersistedAttachments),de=St(e=>e.clearComposerContent),me=St(e=>e.setDraftThreadContext),ge=St(e=>e.getDraftThreadByProjectId),_e=St(e=>e.getDraftThread),ve=St(e=>e.setProjectDraftThreadId),be=St(e=>e.clearProjectDraftThreadId),Se=St(e=>e.draftThreadsByThreadId[t]??null),W=(0,Z.useRef)(C),[we,Ee]=(0,Z.useState)(!1),[De,Oe]=(0,Z.useState)(!1),je=(0,Z.useRef)({showScrollToBottom:!1,isScrolledFromTop:!1}),Me=(0,Z.useRef)(null),Fe=(0,Z.useRef)(null),Re=(0,Z.useRef)(new Set),Be=(0,Z.useRef)(new Map),[Ve,He]=(0,Z.useState)(()=>new Set),[Ue,Xe]=(0,Z.useState)(!1),[Ze,et]=(0,Z.useState)(null),[it,st]=(0,Z.useState)([]),dt=(0,Z.useRef)(it);dt.current=it;let pt=(0,Z.useRef)(T),[mt,gt]=(0,Z.useState)({}),[xt,At]=(0,Z.useState)(!1),[Mt,Pt]=(0,Z.useState)(!1),[Lt,Rt]=(0,Z.useState)([]),[zt,Ht]=(0,Z.useState)(null),[Wt,Gt]=(0,Z.useState)([]),[Kt,qt]=(0,Z.useState)({}),[Jt,Yt]=(0,Z.useState)({}),[Xt,Qt]=(0,Z.useState)({}),[$t,en]=(0,Z.useState)(!1),[tn,nn]=(0,Z.useState)(!1),[rn,an]=(0,Z.useState)(!1),[on,cn]=(0,Z.useState)(()=>s.composerVimMode?`insert`:null),[ln,un]=(0,Z.useState)(!0),[dn,fn]=(0,Z.useState)(!0),[pn,mn]=(0,Z.useState)(!0),hn=(0,Z.useRef)(null),gn=(0,Z.useRef)(!1),[_n,vn]=(0,Z.useState)(0),[yn,bn]=(0,Z.useState)(null),[xn,Sn]=(0,Z.useState)(null),[Cn,wn]=(0,Z.useState)({}),[Tn,En]=(0,Z.useState)(()=>Po(C,C.length)),[Dn,On]=(0,Z.useState)(()=>Io(C,C.length)),[An,jn]=(0,Z.useState)(!1),Mn=(0,Z.useRef)(null),[Nn,Pn]=(0,Z.useState)(null),Fn=(0,Z.useRef)(!0),In=(0,Z.useRef)(0),Ln=(0,Z.useRef)(0),Rn=(0,Z.useRef)(!1),zn=(0,Z.useRef)(null),Vn=(0,Z.useRef)(!1),Hn=(0,Z.useRef)(null),Un=(0,Z.useRef)(0),Wn=(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),$n=(0,Z.useRef)([]),er=(0,Z.useRef)(!1),tr=(0,Z.useRef)(!1),nr=(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),dr=(0,Z.useRef)({}),fr=(0,Z.useCallback)(e=>{Mn.current=e,Pn(e)},[]),pr=Vt(e=>e.terminalStateByThreadId),mr=(0,Z.useMemo)(()=>Bt(pr,t),[pr,t]),hr=(0,Z.useMemo)(()=>Object.entries(pr).flatMap(([e,t])=>t.terminalOpen?[e]:[]),[pr]),gr=Vt(e=>e.setTerminalOpen),_r=Vt(e=>e.splitTerminal),vr=Vt(e=>e.newTerminal),Cr=Vt(e=>e.closeTerminal),{branchThread:wr}=bi(),Tr=La(e=>Ra(e.queuedTurnsByThreadId,t)),Dr=La(e=>e.enqueueQueuedTurn),Or=La(e=>e.removeQueuedTurn),Ar=St(e=>e.draftThreadsByThreadId),jr=(0,Z.useMemo)(()=>Object.keys(Ar),[Ar]),[Mr,Nr]=(0,Z.useState)([]),Pr=(0,Z.useCallback)(e=>{O(t,e)},[O,t]),Lr=(0,Z.useCallback)(e=>{z(t,e)},[z,t]),Rr=(0,Z.useCallback)(e=>{te(t,e)},[te,t]),zr=(0,Z.useCallback)(e=>{ae(t,e)},[ae,t]),Br=(0,Z.useCallback)(e=>{ne(t,e)},[ne,t]),Ur=(0,Z.useCallback)(e=>{let n=T.findIndex(t=>t.id===e);if(n<0)return;let r=lt(W.current,n);W.current=r.prompt,Pr(r.prompt),oe(t,e),En(r.cursor),On(Io(r.prompt,Ao(r.prompt,r.cursor)))},[T,oe,Pr,t]),Gr=Sr(Se?.projectId),Kr=n?null:mt[t]??null,qr=(0,Z.useMemo)(()=>Se?Kg(t,Se,Gr?.defaultModelSelection??{provider:`codex`,model:se.codex},Kr):void 0,[Se,Gr?.defaultModelSelection,Kr,t]),G=n??qr,Jr=S.runtimeMode??G?.runtimeMode??`full-access`,Xr=S.interactionMode??G?.interactionMode??`default`,Zr=n!==void 0,Qr=!Zr&&qr!==void 0,$r=Qr,ei=Ir(),ti=wi(v,{browserEnabled:ei}),ni=ti===`diff`,ri=ti===`browser`,K=G?.id??null,{serverThreadIds:ii,parentThread:si,childThreads:ci}=R_({isServerThread:Zr,serverThreadId:n?.id,parentThreadId:n?.parentThreadId??null}),li=(0,Z.useMemo)(()=>{let e=new Set([...ii,...jr]);return hr.filter(t=>e.has(t))},[jr,hr,ii]),ui=G?.latestTurn??null,hi=E_((0,Z.useMemo)(()=>{let e=[];G?.id&&e.push(G.id);let t=ui?.sourceProposedPlan?.threadId;return t&&t!==G?.id&&e.push(t),e},[ui?.sourceProposedPlan?.threadId,G?.id])),gi=(0,Z.useMemo)(()=>fc(G?.activities??[]),[G?.activities]);(0,Z.useEffect)(()=>{Nr(e=>{let t=qg({currentThreadIds:e,openThreadIds:li,activeThreadId:K,activeThreadTerminalOpen:!!(K&&mr.terminalOpen),maxHiddenThreadCount:10});return e.length===t.length&&e.every((e,n)=>e===t[n])?e:t})},[K,li,mr.terminalOpen]);let _i=he(ui,G?.session??null),Si=Sr(G?.projectId),Ci=G?.projectId===null,Ti=Si!==void 0,Ei=(0,Z.useCallback)(async()=>{if(!(!Zr||!n))try{await wr(n.id)}catch(e){di.add({type:`error`,title:`Could not branch thread`,description:e instanceof Error?e.message:`An unknown error occurred.`})}},[wr,Zr,n]),Di=(0,Z.useCallback)(e=>{$r&&(Sn({initialReference:e??null,key:Date.now()}),bn(null))},[$r]),Oi=(0,Z.useCallback)(()=>{Sn(null)},[]),ki=(0,Z.useCallback)(async e=>{if(!Si)throw Error(`No active project is available for this pull request.`);let n=ge(Si.id);if(n)return me(n.threadId,e),ve(Si.id,n.threadId,e),n.threadId!==t&&await g({to:`/$threadId`,params:{threadId:n.threadId}}),n.threadId;let r=_e(t);if(!Zr&&r?.projectId===Si.id)return me(t,e),ve(Si.id,t,e),t;be(Si.id);let i=ee();return ve(Si.id,i,{createdAt:new Date().toISOString(),runtimeMode:Et,interactionMode:Ce,...e}),await g({to:`/$threadId`,params:{threadId:i}}),i},[Si,be,_e,ge,Zr,g,me,ve,t]),Ai=(0,Z.useCallback)(async e=>{await ki({branch:e.branch,worktreePath:e.worktreePath,envMode:e.worktreePath?`worktree`:`local`})},[ki]);(0,Z.useEffect)(()=>{if(!n?.id||!_i||!ui?.completedAt)return;let e=Date.parse(ui.completedAt);if(Number.isNaN(e))return;let t=o?Date.parse(o):NaN;!Number.isNaN(t)&&t>=e||a(n.id)},[ui?.completedAt,o,_i,a,n?.id]);let ji=G?.session?.provider??null,Mi=S.activeProvider??null,Ni=G?.modelSelection.provider??Si?.defaultModelSelection?.provider??null,Pi=l_(G),Fi=Pi?ji??Ni??Mi??null:null,Ii=R()?.providers??v_,Li=(0,Z.useMemo)(()=>({kimiCode:Ii.find(e=>e.provider===`kimiCode`)?.models??[],gemini:Ii.find(e=>e.provider===`gemini`)?.models??[],glm:Ii.find(e=>e.provider===`glm`)?.models??[],cursor:Ii.find(e=>e.provider===`cursor`)?.models??[],codex:Ii.find(e=>e.provider===`codex`)?.models??[],claudeAgent:Ii.find(e=>e.provider===`claudeAgent`)?.models??[]}),[Ii]),Ri=(0,Z.useRef)(!1),Bi=xe(Ii,Mi??Ni??`codex`),q=Fi??Bi,{modelOptions:Vi,selectedModel:J}=nt({threadId:t,providers:Ii,selectedProvider:q,threadModelSelection:G?.modelSelection,projectModelSelection:Si?.defaultModelSelection,settings:s}),Ui=ye(Ii,q),Wi=(0,Z.useMemo)(()=>qe({provider:q,model:J,models:Ui,prompt:C,modelOptions:Vi}),[Vi,C,J,q,Ui]),Ki=Wi.promptEffort,qi=Wi.modelOptionsForDispatch,Yi=(0,Z.useMemo)(()=>Ne(Ui,J,q),[J,q,Ui]),Xi=(0,Z.useMemo)(()=>We(Ui,J,q),[J,q,Ui]),Zi=(0,Z.useMemo)(()=>Ge(q,J,qi),[J,qi,q]),$i=(0,Z.useCallback)((e,t,n)=>{let r=ye(Ii,e.provider),i=qe({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})},[Ii]);(0,Z.useEffect)(()=>{if(Ri.current||!Ii.some(S_))return;let e=N();e&&(Ri.current=!0,e.server.refreshProviders().catch(()=>{Ri.current=!1}))},[Ii]);let ea=(0,Z.useCallback)(e=>{let t=Ie(Ii,e);if(t)throw Error(t)},[Ii]),ta=(0,Z.useCallback)(e=>{let t=e.composerImagesSnapshot[0]?.name??null,n=e.trimmedPrompt;return n||=t?`Image: ${t}`:e.composerTerminalContextsSnapshot.length>0?wt(e.composerTerminalContextsSnapshot[0]):`New Thread`,tt(n)},[]),ia=(0,Z.useCallback)(async e=>{if(!Qr||!G)return!1;if(l_(ft.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:G.projectId,projectlessCwd:G.projectId===null?G.projectlessCwd??null:null,title:e.title,modelSelection:e.modelSelection,runtimeMode:Jr,interactionMode:Xr,parentThreadId:null,branchSourceTurnId:null,branch:e.branch,worktreePath:e.worktreePath,createdAt:G.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},[G,Xr,Qr,Jr,t]),aa=J,oa=(0,Z.useMemo)(()=>Ge(q,J||Si?.defaultModelSelection?.model||se.codex,Zi.options),[Si?.defaultModelSelection?.model,J,Zi.options,q]),sa=ct(G?.session??null),ca=G?.activities??g_,la=(0,Z.useMemo)(()=>$e(ca,void 0),[ca]),ua=(0,Z.useMemo)(()=>Ye(ca),[ca]),da=(0,Z.useMemo)(()=>ze(ca,ui?.turnId),[ui?.turnId,ca]),fa=G?.session?.orchestrationStatus??null,pa=(0,Z.useMemo)(()=>fa===`running`?vt(ca):[],[ca,fa]),ma=(0,Z.useMemo)(()=>fa===`running`?ut(ca):[],[ca,fa]),Y=ma[0]??null,ha=(0,Z.useMemo)(()=>Y?Kt[Y.requestId]??y_:y_,[Y,Kt]),ga=Y?Jt[Y.requestId]??0:0,_a=(0,Z.useMemo)(()=>Y?Go(Y.questions,ha,ga):null,[ha,ga,Y]),va=(0,Z.useMemo)(()=>Y?Uo(Y.questions,ha):null,[ha,Y]),ya=Y?Wt.includes(Y.requestId):!1,[ba,xa]=(0,Z.useState)({}),Sa=(0,Z.useMemo)(()=>_i?Ft(G?.proposedPlans??[],ui?.turnId??null):null,[ui?.turnId,G?.proposedPlans,_i]),Ca=(0,Z.useMemo)(()=>Le({threads:hi,latestTurn:ui,latestTurnSettled:_i,threadId:G?.id??null}),[ui,G?.id,_i,hi]),wa=(0,Z.useMemo)(()=>kt(ca,ui?.turnId??void 0),[ui?.turnId,ca]),Ta=(0,Z.useMemo)(()=>rt(ca,ui?.turnId??void 0),[ui?.turnId,ca]),Ea=ma.length===0&&Xr===`plan`&&_i&&Nt(Sa),Da=Ea&&C.trim().length===0&&Sa!==null,Oa=(Sa?ba[Sa.id]??null:null)??Zi,ka=xe(Ii,Oa.provider),Aa=ye(Ii,ka),ja=Tt(ka,s,Ii,Oa.provider===ka?Oa.model:void 0),Ma=Oa.provider===ka?Oa.options:void 0,Na=(0,Z.useMemo)(()=>qe({provider:ka,model:ja,models:Aa,prompt:``,modelOptions:Ma?{[ka]:Ma}:null}),[ja,ka,Aa,Ma]),Pa=(0,Z.useMemo)(()=>Ge(ka,ja,Na.modelOptionsForDispatch),[ja,ka,Na.modelOptionsForDispatch]),Fa=(0,Z.useMemo)(()=>Li[ka].some(e=>e.slug===ja)?ja:Ke(ja,ka)??ja,[ja,ka,Li]),Ia=pa[0]??null,{beginLocalDispatch:za,resetLocalDispatch:X,localDispatchStartedAt:Ba,isPreparingWorktree:Va,isSendBusy:Ha}=z_({threadId:G?.id??null,activeThread:G,activeLatestTurn:ui,phase:sa,activities:ca,activePendingApproval:Ia?.requestId??null,activePendingUserInput:Y?.requestId??null,threadError:G?.error}),Ua=Ae(ui,G?.session??null),Wa=G?.session?.activeTurnId??ui?.turnId??null,Ga=Ua&&q===`codex`&&w.length===0&&Wa!==null,Ka=Ua||Ha||xt||Mt,qa=ot(ui,G?.session??null,Ba),Ja=ui?.startedAt??qa,Ya=Ia!==null,[Xa,Za]=(0,Z.useState)(!1),Qa=!Xa&&/\bplan\b/i.test(C)&&Xr!==`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}:${xt}:${Va}`,[ya,_a,E.hasSendableContent,xt,Va,Ha,Ua,C,Ea]),no=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{let e=_a?.customAnswer;if(typeof e!=`string`){no.current=null;return}let t=Y?.requestId??null,n=_a?.activeQuestion?.id??null,r=no.current?.requestId!==t||no.current?.questionId!==n,i=W.current!==e;if(no.current={requestId:t,questionId:n},!r&&!i)return;W.current=e;let a=Po(e,e.length);En(a),On(Io(e,Ao(e,a))),bn(null)},[_a?.customAnswer,Y?.requestId,_a?.activeQuestion?.id]),(0,Z.useEffect)(()=>{ar.current=Cn},[Cn]);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)Jg(t);ar.current={},wn({})},[]);(0,Z.useEffect)(()=>()=>{ro();for(let e of dt.current)Yg(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)||Jg(e);wn(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)Jg(e);wn(t=>{if(!(e in t))return t;let n={...t};return delete n[e],ar.current=n,n}),delete or.current[e]},f_)},[]),ao=G?.messages,oo=ht(G?.session?.provider)||ht(G?.modelSelection.provider),so=(0,Z.useMemo)(()=>{let e=ao??[],t=Object.keys(Cn).length===0?e:e.map(e=>{if(e.role!==`user`||!e.attachments||e.attachments.length===0)return e;let t=Cn[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(it.length===0)return t;let n=new Set(t.map(e=>e.id)),r=it.filter(e=>!n.has(e.id));return r.length===0?It(t,G?.session??null,{preserveCompletedAssistantMessages:oo}):It([...t,...r],G?.session??null,{preserveCompletedAssistantMessages:oo})},[ao,Cn,it,G?.session,oo]),co=(0,Z.useMemo)(()=>jt(so,ua,G?.proposedPlans??[],la),[G?.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 Be.current.values())window.clearTimeout(e);Be.current.clear()},n=()=>{Re.current=new Set(e),He(e=>e.size>0?new Set:e)},r=G?.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=>!Re.current.has(e));if(i.length!==0){for(let e of i)Re.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=Be.current.get(e);t!==void 0&&window.clearTimeout(t);let n=window.setTimeout(()=>{Be.current.delete(e),He(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},p_);Be.current.set(e,n)}}},[G?.id,s.enableAssistantStreaming,co]),(0,Z.useEffect)(()=>()=>{for(let e of Be.current.values())window.clearTimeout(e);Be.current.clear()},[]);let lo=G?.session?.activeTurnId??ui?.turnId??null,uo=!Mt&&(Ha||xt),fo=co.length===0&&!Ka,{turnDiffSummaries:po,inferredCheckpointTurnCountByTurnId:mo}=Gi(G),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||!ui?.startedAt||!ui.completedAt||!da)return null;let e=pe(ui.startedAt,ui.completedAt);return e?`Worked for ${e}`:null},[ui?.completedAt,ui?.startedAt,da,_i]),yo=(0,Z.useMemo)(()=>!_i||!_o?null:Ct(co,ui),[ui,_o,_i,co]),bo=(0,Z.useMemo)(()=>G?.id??`no-thread`,[G?.id]),xo=Si?G?.worktreePath??Si.cwd:null,So=Dn?.kind??null,Co=Dn?.kind===`path`?Dn.query:``,wo=So===`path`,[To,Eo]=m(Co,{wait:N_},e=>({isPending:e.isPending})),Do=Co.length>0?To:``,Oo=p(Er(xo)),ko=A(),jo=k(),Mo=(0,Z.useMemo)(()=>Li[q].some(e=>e.slug===aa)?aa:Ke(aa,q)??aa,[Li,aa,q]),Fo=(0,Z.useMemo)(()=>na.filter(e=>(Fi===null||e.value===Fi)&&!fe(Te(Ii,e.value))).flatMap(e=>Li[e.value].map(({slug:t,name:n})=>({provider:e.value,providerLabel:e.label,slug:t,name:n,searchSlug:t.toLowerCase(),searchName:n.toLowerCase(),searchProvider:e.label.toLowerCase()}))),[Fi,Li,Ii]),Bo=(0,Z.useMemo)(()=>ke(Ui,J,q),[J,q,Ui]),Vo=Bo.supportsFastMode&&Zi.options?.fastMode===!0,Wo=(0,Z.useMemo)(()=>Ji.find(e=>e.value===s.assistantPersonality)??Ji[0],[s.assistantPersonality]),qo=p(xi({cwd:xo,query:Do,enabled:wo,limit:80})),Jo=qo.data?.entries??__,Yo=(0,Z.useMemo)(()=>G?Fr({provider:G.session?.provider??G.modelSelection.provider,workEntries:la,activities:G.activities}):[],[G,la]);(0,Z.useEffect)(()=>{Yo.length===0&&fn(!0)},[Yo.length]);let $o=(0,Z.useMemo)(()=>{if(!Dn)return[];if(Dn.kind===`path`){let e=Dn.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=Jo.map(e=>({id:`path:${e.kind}:${e.path}`,type:`path`,path:e.path,pathKind:e.kind,label:Hi(e.path),description:e.parentPath??``}));return[...t,...n]}if(Dn.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:Vo?`Turn off Fast mode and return to standard inference speed`:Bo.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:An?`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:Wo.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(Dn.command===`fork`){let e=Dn.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(Dn.command===`personality`){let e=Dn.query.trim().toLowerCase();return Ji.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=Dn.query.trim().toLowerCase(),n=Dn.command?e.filter(e=>e.command===Dn.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 Fo.filter(({searchSlug:e,searchName:t,searchProvider:n})=>{let r=Dn.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}`}))},[Wo.label,Yo,Dn,Vo,An,Fo,Bo.supportsFastMode,s.generateMemories,Jo]),es=!!Dn,ts=(0,Z.useMemo)(()=>$o.find(e=>e.id===yn)??$o[0]??null,[yn,$o]);tr.current=es,nr.current=$o,ir.current=ts,(0,Z.useEffect)(()=>{if(!s.composerVimMode){cn(null);return}cn(e=>e??`insert`)},[s.composerVimMode]);let ns=(0,Z.useMemo)(()=>new Set(D),[D]),rs=(0,Z.useMemo)(()=>c_(Ii.find(e=>e.provider===q)??null),[q,Ii]),is=Oo.data?.isRepo??!0,as=(0,Z.useMemo)(()=>({context:{terminalFocus:!0,terminalOpen:!!mr.terminalOpen}}),[mr.terminalOpen]),os=(0,Z.useMemo)(()=>({context:{terminalFocus:!1,terminalOpen:!!mr.terminalOpen}}),[mr.terminalOpen]),ss=(0,Z.useMemo)(()=>Vr(ko,`terminal.toggle`),[ko]),cs=(0,Z.useMemo)(()=>Vr(ko,`terminal.split`,as),[ko,as]),ls=(0,Z.useMemo)(()=>Vr(ko,`terminal.new`,as),[ko,as]),us=(0,Z.useMemo)(()=>Vr(ko,`terminal.close`,as),[ko,as]),ds=(0,Z.useMemo)(()=>Vr(ko,`diff.toggle`,os),[ko,os]),fs=(0,Z.useMemo)(()=>Vr(ko,`browser.toggle`,os),[ko,os]),ps=(0,Z.useCallback)(()=>{Ti&&g({to:`/$threadId`,params:{threadId:t},replace:!0,search:e=>{if(ni){let t={...vi(e),diff:void 0};return e.panel===`diff`?mi(t):t}return{...e,diff:`1`,panel:`diff`}}})},[ni,Ti,g,t]),ms=(0,Z.useCallback)(()=>{g({to:`/$threadId`,params:{threadId:t},replace:!0,search:e=>{let t=oi(e);return e.panel===`browser`?mi(t):t}})},[g,t]),hs=(0,Z.useCallback)(()=>{if(!ei){ms();return}g({to:`/$threadId`,params:{threadId:t},replace:!0,search:e=>({...e,browser:`1`,panel:`browser`})})},[ei,ms,g,t]),gs=(0,Z.useCallback)(()=>{if(!ei){ms();return}if(ri){ms();return}hs()},[ri,ei,ms,hs]);(0,Z.useEffect)(()=>{ei||v.browser!==`1`||ms()},[ei,ms,v.browser]);let _s=!!(G&&(G.messages.length>0||G.session!==null&&G.session.status!==`closed`)),vs=((mr.terminalGroups.find(e=>e.id===mr.activeTerminalGroupId)??mr.terminalGroups.find(e=>e.terminalIds.includes(mr.activeTerminalId))??null)?.terminalIds.length??0)>=4,ys=(0,Z.useCallback)((e,t)=>{if(e){if(ft.getState().threads.some(t=>t.id===e)){r(e,t);return}gt(n=>(n[e]??null)===t?n:{...n,[e]:t})}},[r]),bs=(0,Z.useCallback)(async e=>{if(W.current.length>0||$n.current.length>0||pt.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}Or(e.threadId,e.id),de(e.threadId);let t=e.composerSnapshot.prompt;W.current=t,Pr(t),ce(e.threadId,[...e.composerSnapshot.terminalContexts]);let n=Qe(e.composerSnapshot.persistedAttachments);return n.length>0&&(Rr(n),ue(e.threadId,[...e.composerSnapshot.persistedAttachments])),j(e.threadId,e.modelSelection),F(e.threadId,e.runtimeMode),L(e.threadId,e.interactionMode),jn(n_(e)),En(Po(t,t.length)),On(Io(t,t.length)),ys(e.threadId,null),window.requestAnimationFrame(()=>{Kn.current?.focusAtEnd()}),!0},[Rr,de,Or,L,j,F,ce,Pr,ys,ue]),xs=(0,Z.useCallback)(e=>{G&&Or(G.id,e)},[G,Or]),Ss=(0,Z.useCallback)(async e=>{let t=Tr.find(t=>t.id===e);t&&await bs(t)},[Tr,bs]),Cs=(0,Z.useCallback)(()=>{Kn.current?.focusAtEnd()},[]),ws=(0,Z.useCallback)(()=>{window.requestAnimationFrame(()=>{Cs()})},[Cs]),Ts=(0,Z.useCallback)(e=>{if(!G)return;let t=Kn.current?.readSnapshot()??{value:W.current,cursor:Tn,expandedCursor:Ao(W.current,Tn),terminalContextIds:T.map(e=>e.id)},n=yt(t.value,t.expandedCursor),r=Po(n.prompt,n.cursor);ie(G.id,n.prompt,{id:V(),threadId:G.id,createdAt:new Date().toISOString(),...e},n.contextIndex)&&(W.current=n.prompt,En(r),On(Io(n.prompt,n.cursor)),window.requestAnimationFrame(()=>{Kn.current?.focusAt(r)}))},[G,Tn,T,ie]),Es=(0,Z.useCallback)(e=>{K&&gr(K,e)},[K,gr]),Os=(0,Z.useCallback)(()=>{K&&Es(!mr.terminalOpen)},[K,Es,mr.terminalOpen]),ks=(0,Z.useCallback)(()=>{!K||vs||(_r(K,`terminal-${V()}`),vn(e=>e+1))},[K,vs,_r]),As=(0,Z.useCallback)(()=>{K&&(vr(K,`terminal-${V()}`),vn(e=>e+1))},[K,vr]),js=(0,Z.useCallback)(e=>{let t=N();if(!K||!t)return;let n=mr.terminalIds.length<=1,r=()=>t.terminal.write({threadId:K,terminalId:e,data:`exit
287
+ `}).catch(()=>void 0);`close`in t.terminal&&typeof t.terminal.close==`function`?(async()=>{n&&await t.terminal.clear({threadId:K,terminalId:e}).catch(()=>void 0),await t.terminal.close({threadId:K,terminalId:e,deleteHistory:!0})})().catch(()=>r()):r(),Cr(K,e),vn(e=>e+1)},[K,Cr,mr.terminalIds.length]),Ms=(0,Z.useCallback)(e=>{e!==Jr&&(F(t,e),Qr&&me(t,{runtimeMode:e}),ws())},[Qr,Jr,ws,F,me,t]),Ns=(0,Z.useCallback)(e=>{if(e!==Xr){if(L(t,e),Qr)me(t,{interactionMode:e});else if(Zr){let n=N();n&&n.orchestration.dispatchCommand({type:`thread.interaction-mode.set`,commandId:B(),threadId:t,interactionMode:e,createdAt:new Date().toISOString()}).catch(e=>{L(t,Xr),di.add({type:`warning`,title:`Could not change interaction mode`,description:e instanceof Error?e.message:`The mode update was rejected.`})})}ws()}},[Xr,Qr,Zr,ws,L,me,t]),Ps=(0,Z.useCallback)(()=>{Ns(Xr===`plan`?`default`:`plan`)},[Ns,Xr]),Fs=(0,Z.useCallback)(async()=>G?Zr?!0:Qr?ia({title:G.title,modelSelection:oa,branch:G.branch,worktreePath:G.worktreePath}):!1:!1,[G,oa,Qr,Zr,ia]),Ls=(0,Z.useCallback)(async e=>{let n=N();if(!n||!await Fs()){let e=Error(M_);throw di.add({type:`warning`,title:`Goal update is unavailable`,description:e.message}),e}await n.orchestration.dispatchCommand({type:`thread.goal.set`,commandId:B(),threadId:t,expectedGoalLifecycleKey:G?.goal?G.goal.lifecycleId??G.goal.createdAt:null,...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()})},[G?.goal,Fs,t]),Rs=(0,Z.useCallback)(async()=>{let e=N();if(!e||!await Fs()){let e=Error(M_);throw di.add({type:`warning`,title:`Goal update is unavailable`,description:e.message}),e}await e.orchestration.dispatchCommand({type:`thread.goal.clear`,commandId:B(),threadId:t,expectedGoalLifecycleKey:G?.goal?G.goal.lifecycleId??G.goal.createdAt:null,createdAt:new Date().toISOString()})},[G?.goal,Fs,t]),zs=(0,Z.useCallback)(()=>{if(Xr===`plan`){jn(!1),ws();return}jn(e=>!e),ws()},[Xr,ws]);(0,Z.useEffect)(()=>{jn(!1)},[t]),(0,Z.useEffect)(()=>{Xr===`plan`&&jn(!1)},[Xr]);let Bs=(0,Z.useCallback)(()=>{Ms(Jr===`full-access`?`approval-required`:`full-access`)},[Ms,Jr]),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(!G)return;if(!Bo.supportsFastMode){di.add({type:`warning`,title:`Fast mode is unavailable`,description:`${Yi} does not support Fast mode.`}),ws();return}let e={...Vi?.[q],fastMode:!Vo};P(G.id,q,e,{persistSticky:!0}),bt(!Vo),ws()},[G,Vi,Vo,ws,Bo.supportsFastMode,Yi,q,P]),Ws=(0,Z.useCallback)(e=>{g({to:e})},[g]),Gs=(0,Z.useCallback)(async(e=`local`)=>{if(n){await wr(n.id,{mode:e});return}di.add({type:`warning`,title:`Fork is unavailable for this thread`,description:`Start the thread first, then fork it from the slash menu.`})},[wr,n]),Ks=(0,Z.useCallback)(()=>{en(e=>{if(e){let e=wa?.turnId??Ca?.turnId??null;e&&(hn.current=e)}else hn.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(!Zr||!G||G.messages.length>0||G.latestTurn!==null||G.resumeState===`unrecoverable`||G.resumeState===`resuming`)return;let e=G.modelSelection.provider!==oa.provider||G.modelSelection.model!==oa.model||JSON.stringify(G.modelSelection.options??null)!==JSON.stringify(oa.options??null),t=G.runtimeMode!==Jr,n=G.interactionMode!==Xr,r=G.session===null||G.session.orchestrationStatus===`stopped`||G.session.orchestrationStatus===`error`;if(!e&&!t&&!n&&!r)return;let i=N();i&&(async()=>{await qs({threadId:G.id,createdAt:new Date().toISOString(),modelSelection:oa,runtimeMode:Jr,interactionMode:Xr}).catch(()=>void 0),await i.orchestration.dispatchCommand({type:`thread.session.ensure`,commandId:B(),threadId:G.id,createdAt:new Date().toISOString()}).catch(()=>void 0)})()},[G,oa,Xr,Zr,qs,Jr]);let Js=so.length,Ys=(0,Z.useCallback)((e=`auto`)=>{let t=Mn.current;t&&(t.scrollTo({top:t.scrollHeight,behavior:e}),Ln.current=t.scrollTop,Fn.current=!0)},[]),Xs=(0,Z.useCallback)(()=>{Un.current=0;let e=Hn.current;e!==null&&(Hn.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=Me.current;e!==null&&(Me.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,Me.current===null&&(Me.current=window.requestAnimationFrame(()=>{Me.current=null;let e=je.current;Ee(e.showScrollToBottom),Oe(e.isScrolledFromTop)})))},[]),ec=(0,Z.useCallback)(()=>{if(Hn.current!==null)return;let e=()=>{if(Hn.current=null,Ys(),Un.current<=0||!Fn.current){Un.current=0;return}--Un.current,Hn.current=window.requestAnimationFrame(e)};Hn.current=window.requestAnimationFrame(e)},[Ys]),tc=(0,Z.useCallback)((e=2)=>{Un.current=Math.max(Un.current,e),ec()},[ec]),nc=(0,Z.useCallback)(e=>{let t=Mn.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]`)||(Wn.current={element:n,top:n.getBoundingClientRect().top},Zs(),Gn.current=window.requestAnimationFrame(()=>{Gn.current=null;let e=Wn.current;Wn.current=null;let t=Mn.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,Ln.current=t.scrollTop)}))},[Zs]),rc=(0,Z.useCallback)(()=>{Fn.current=!1,Vn.current=!1;let e=Mn.current;$s({showScrollToBottom:e!==null&&e.scrollHeight>e.clientHeight,isScrolledFromTop:e?e.scrollTop>8:!1})},[$s]),ic=(0,Z.useCallback)(()=>{Fn.current=!0,Vn.current=!1,Xs(),tc(3)},[Xs,tc]),ac=(0,Z.useCallback)(()=>{let e=Mn.current;if(!e)return;let t=e.scrollTop,n=zo(e);!Fn.current&&n?(Fn.current=!0,Vn.current=!1):Fn.current&&Vn.current?(t<Ln.current-1&&!n&&(Fn.current=!1),Vn.current=!1):Fn.current&&Rn.current?t<Ln.current-1&&!n&&(Fn.current=!1):Fn.current&&!n&&t<Ln.current-1&&(Fn.current=!1);let r=e.scrollHeight>e.clientHeight;$s({showScrollToBottom:!Fn.current&&r,isScrolledFromTop:t>8}),Ln.current=t},[$s]),oc=(0,Z.useCallback)(e=>{e.deltaY<0&&(Vn.current=!0)},[]),sc=(0,Z.useCallback)(e=>{e.target instanceof Element&&e.target.closest(`button, summary, [role='button'], [data-scroll-anchor-target]`)||(Rn.current=!0)},[]),cc=(0,Z.useCallback)(e=>{Rn.current=!1},[]),lc=(0,Z.useCallback)(e=>{Rn.current=!1},[]),uc=(0,Z.useCallback)(e=>{let t=e.touches[0];t&&(zn.current=t.clientY)},[]),dc=(0,Z.useCallback)(e=>{let t=e.touches[0];if(!t)return;let n=zn.current;n!==null&&t.clientY>n+1&&(Vn.current=!0),zn.current=t.clientY},[]),pc=(0,Z.useCallback)(e=>{zn.current=null},[]);(0,Z.useEffect)(()=>()=>{Xs(),Zs(),Qs()},[Zs,Qs,Xs]),(0,Z.useLayoutEffect)(()=>{if(!G?.id)return;Fn.current=!0,tc();let e=window.setTimeout(()=>{let e=Mn.current;e&&(zo(e)||tc())},96);return()=>{window.clearTimeout(e)}},[G?.id,tc]),(0,Z.useLayoutEffect)(()=>{let e=Jn.current;if(!e)return;let t=()=>e.clientWidth,n=()=>{let e=t(),n=gc(e,{hasWideActions:eo}),r=Xn.current,i=r?window.getComputedStyle(r):null,a={footerContentWidth:bc({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||yc(a);return{primaryActionsCompact:o&&_c(e,{hasWideActions:eo}),footerCompact:o}};Yn.current=e.getBoundingClientRect().height;let r=n();if(an(r.primaryActionsCompact),nn(r.footerCompact),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(e=>{let[t]=e;if(!t)return;let r=n();an(e=>e===r.primaryActionsCompact?e:r.primaryActionsCompact),nn(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)&&Fn.current&&ec()});return i.observe(e),()=>{i.disconnect()}},[G?.id,to,eo,ec]),(0,Z.useEffect)(()=>{Fn.current&&ec()},[Js,ec]),(0,Z.useEffect)(()=>{if(Fn.current){if(Ua){if(In.current>0)return;ec();return}tc()}},[Ua,ec,tc,co]),(0,Z.useEffect)(()=>{let e=Nn;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>{e.scrollHeight>e.clientHeight||$s({showScrollToBottom:!1,isScrolledFromTop:!1}),Fn.current&&In.current===0&&tc(1)});t.observe(e);let n=e.querySelector(`[data-timeline-root="true"]`);return n&&t.observe(n),()=>t.disconnect()},[Nn,bo,tc,$s]),(0,Z.useEffect)(()=>{Qt({}),Sn(null),gn.current?(gn.current=!1,en(!0)):en(!1),hn.current=null},[G?.id]),(0,Z.useEffect)(()=>{if(!es){bn(null);return}bn(e=>e&&$o.some(t=>t.id===e)?e:$o[0]?.id??null)},[$o,es]),(0,Z.useEffect)(()=>{Pt(!1)},[G?.id]),(0,Z.useEffect)(()=>{if(!e||!G?.id||mr.terminalOpen)return;let t=window.requestAnimationFrame(()=>{Cs()});return()=>{window.cancelAnimationFrame(t)}},[G?.id,Cs,e,mr.terminalOpen]),(0,Z.useEffect)(()=>{$n.current=w},[w]),(0,Z.useEffect)(()=>{pt.current=T},[T]),(0,Z.useEffect)(()=>{if(!G?.id||G.messages.length===0)return;let e=new Set(G.messages.map(e=>e.id)),t=it.filter(t=>e.has(t.id));if(t.length===0)return;let n=window.setTimeout(()=>{st(t=>t.filter(t=>!e.has(t.id)))},0);for(let e of t){let t=Xg(e);if(t.length>0){io(e.id,t);continue}Yg(e)}return()=>{window.clearTimeout(n)}},[G?.id,G?.messages,io,it]),(0,Z.useEffect)(()=>{W.current=C,En(e=>No(C,e))},[C]),(0,Z.useEffect)(()=>{st(e=>{for(let t of e)Yg(t);return[]}),X(),bn(null),En(Po(W.current,W.current.length)),On(Io(W.current,W.current.length)),lr.current=0,Xe(!1),et(null)},[X,t]),(0,Z.useEffect)(()=>{let e=!1;return(async()=>{if(w.length===0){le(t);return}let n=()=>St.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 Zg(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;ue(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;ue(t,s)}})(),()=>{e=!0}},[le,w,ue,t]);let mc=(0,Z.useCallback)(()=>{et(null)},[]),hc=(0,Z.useCallback)(e=>{et(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(!Ze)return;let e=e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),mc();return}if(!(Ze.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)},[mc,Ze,hc]);let vc=G?.worktreePath?`worktree`:Qr?Se?.envMode??`local`:`local`;(0,Z.useEffect)(()=>{if(!K)return;let e=dr.current[K]??!1,t=!!mr.terminalOpen;if(!e&&t){dr.current[K]=t,vn(e=>e+1);return}else if(e&&!t){dr.current[K]=t;let e=window.requestAnimationFrame(()=>{Cs()});return()=>{window.cancelAnimationFrame(e)}}dr.current[K]=t},[K,Cs,mr.terminalOpen]),(0,Z.useEffect)(()=>{let t=t=>{if(!e||!K||t.defaultPrevented)return;if(t.shiftKey&&t.key.toLowerCase()===`p`&&(H(navigator.platform)?t.metaKey:t.ctrlKey)){t.preventDefault(),t.stopPropagation(),Ps();return}let n=Yr(t,ko,{context:{terminalFocus:fi(),terminalOpen:!!mr.terminalOpen}});if(n){if(n===`terminal.toggle`){t.preventDefault(),t.stopPropagation(),Os();return}if(n===`terminal.split`){t.preventDefault(),t.stopPropagation(),mr.terminalOpen||Es(!0),ks();return}if(n===`terminal.close`){if(t.preventDefault(),t.stopPropagation(),!mr.terminalOpen)return;js(mr.activeTerminalId);return}if(n===`terminal.new`){t.preventDefault(),t.stopPropagation(),mr.terminalOpen||Es(!0),As();return}if(n===`diff.toggle`){t.preventDefault(),t.stopPropagation(),ps();return}if(n===`browser.toggle`){if(!ei)return;t.preventDefault(),t.stopPropagation(),gs()}}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,mr.terminalOpen,mr.activeTerminalId,K,js,As,Es,ks,ko,ei,gs,ps,Ps,Os]);let xc=e=>{if(!K||e.length===0)return;if(ma.length>0){di.add({type:`error`,title:`Attach images after answering plan questions.`});return}if(!Xi){di.add({type:`error`,title:`Image attachments unavailable`,description:k_(Yi)});return}let t=[],n=$n.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:V(),name:i.name||`image`,mimeType:i.type,sizeBytes:i.size,previewUrl:e,file:i}),n+=1}t.length===1&&t[0]?Lr(t[0]):t.length>1&&Rr(t),ys(K,r)},Sc=e=>{Br(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(),xc(n))},wc=e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),lr.current+=1,Xe(!0))},Tc=e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`,Xe(!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&&Xe(!1))},Dc=e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),lr.current=0,Xe(!1),xc(Array.from(e.dataTransfer.files)),Cs())},Oc=(0,Z.useCallback)(async e=>{let t=N();if(!(!t||!G||Mt)){if(Ua||Ha||xt){ys(G.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
+ `))){Pt(!0),ys(G.id,null);try{await t.orchestration.dispatchCommand({type:`thread.checkpoint.revert`,commandId:B(),threadId:G.id,turnCount:e,createdAt:new Date().toISOString()})}catch(e){ys(G.id,e instanceof Error?e.message:`Failed to revert thread state.`)}Pt(!1)}}},[G,xt,Mt,Ha,Ua,ys]),kc=async(e,t=`steer`)=>{e?.preventDefault();let n=N();if(!n||!G||Ha||xt||sr.current)return;if(_a){_a.isLastQuestion&&va&&ic(),Ic();return}let a=W.current,{trimmedPrompt:o,sendableTerminalContexts:s,expiredTerminalContextCount:c,hasSendableContent:l}=e_({prompt:a,imageCount:w.length,terminalContexts:T});if(Ea&&Sa){let e=Zo({draftText:o,planMarkdown:Sa.planMarkdown});if(W.current=``,de(G.id),bn(null),En(0),On(null),e.interactionMode===`default`&&Pa.provider!==q){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?Lo(o):null;if(d)if(d.command===`review`)a=A_,W.current=a,u=!0,de(G.id),bn(null),En(0),On(null);else if(d.command===`compact`)a=j_,W.current=a,u=!0,de(G.id),bn(null),En(0),On(null);else if(d.command===`fast`){Us(),W.current=``,de(G.id),bn(null),En(0),On(null);return}else if(d.command===`goal`){zs(),W.current=``,de(G.id),bn(null),En(0),On(null);return}else if(d.command===`fork`){await Gs(d.value??`local`),W.current=``,de(G.id),bn(null),En(0),On(null);return}else if(d.command===`mcp`){Ws(`/settings/mcp`),W.current=``,de(G.id),bn(null),En(0),On(null);return}else if(d.command===`memories`){Hs(),W.current=``,de(G.id),bn(null),En(0),On(null);return}else if(d.command===`personality`){Vs(d.value),W.current=``,de(G.id),bn(null),En(0),On(null);return}else{Ns(d.command),W.current=``,de(G.id),bn(null),En(0),On(null);return}if(!u){if(c>0){let e=o_(c,`empty`);di.add({type:`warning`,title:e.title,description:e.description})}return}if(w.length>0&&!Xi){ys(G.id,k_(Yi));return}if(!G)return;let f=Si,p=G.id,m=!Zr||G.messages.length===0,h=f&&m&&vc===`worktree`&&!G.worktreePath?G.branch:null;if(m&&vc===`worktree`&&!G.worktreePath&&!G.branch){r(p,`Select a base branch before sending in New worktree mode.`);return}try{await ea(Zi.provider)}catch(e){r(p,e instanceof Error?e.message:`Selected provider is unavailable.`);return}sr.current=!0;let g=t_({goalSendMode:An,objective:o,interactionMode:Xr,standaloneSlashCommand:d,expectedGoalLifecycleKey:G.goal?G.goal.lifecycleId??G.goal.createdAt:null});if(g&&r_(G.goal??null)&&!await n.dialogs.confirm(`Replace goal?\n\nNew objective: ${tt(g.objective,200)}`).catch(e=>(ys(p,e instanceof Error?e.message:`Could not confirm goal replacement.`),!1))){sr.current=!1;return}g&&jn(!1);let _=[...w],v=[...s],y=_t(a,v),b=re(),S=new Date().toISOString(),C=D_({provider:q,model:J,models:Ui,effort:Ki,text:y||h_}),E=ta({trimmedPrompt:o,composerImagesSnapshot:_,composerTerminalContextsSnapshot:v}),D=Promise.all(_.map(async e=>{let t=await Zg(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=G.session?.activeTurnId??ui?.turnId;if(t===`steer`&&Zi.provider===`codex`&&_.length===0&&e!=null){if(c>0){let e=o_(c,`omitted`);di.add({type:`warning`,title:e.title,description:e.description})}(0,vo.flushSync)(()=>{W.current=``,de(p),bn(null),En(0),On(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=>{W.current.length===0&&$n.current.length===0&&pt.current.length===0&&(W.current=a,Pr(a),En(Po(a,a.length)),zr(v),On(Io(a,a.length))),ys(p,e instanceof Error?e.message:`Failed to steer the running turn.`),g&&jn(!0)}),sr.current=!1,X();return}let r=await D;if(c>0){let e=o_(c,`omitted`);di.add({type:`warning`,title:e.title,description:e.description})}if(G.goal?.status===`active`)try{await n.orchestration.dispatchCommand({type:`thread.goal.set`,commandId:B(),threadId:p,expectedGoalLifecycleKey:G.goal.lifecycleId??G.goal.createdAt,status:`paused`,createdAt:new Date().toISOString()})}catch(e){ys(p,e instanceof Error?e.message:`Could not pause the active goal before queuing this message.`),g&&jn(!0),sr.current=!1,X();return}(0,vo.flushSync)(()=>{Dr({id:V(),threadId:p,messageId:String(b),text:C,attachments:r.map(e=>e.uploadAttachment),modelSelection:Zi,runtimeMode:Jr,interactionMode:Xr,goalIntent:g,titleSeed:G.title.trim()||`New Thread`,createdAt:S,composerSnapshot:{prompt:a,persistedAttachments:r.map(e=>e.persistedAttachment),terminalContexts:v}}),W.current=``,de(p),bn(null),En(0),On(null),ys(p,null)}),ic(),di.add({type:`info`,title:`Message queued`,description:G.goal?.status===`active`?`The active goal was paused; this message will send when the current turn stops.`:`It will send automatically when the current turn finishes.`,data:{icon:Bn}}),sr.current=!1,X();return}if((0,vo.flushSync)(()=>{za({preparingWorktree:!!h}),st(e=>[...e,{id:b,role:`user`,text:C,...O.length>0?{attachments:O}:{},createdAt:S,streaming:!1}]),ys(p,null),W.current=``,de(p),bn(null),En(0),On(null)}),ic(),c>0){let e=o_(c,`omitted`);di.add({type:`warning`,title:e.title,description:e.description})}let k=!1,A=!1,j=Zr,M=G.branch,P=G.worktreePath;await(async()=>{if(!j&&Qr&&(j=await ia({title:E,modelSelection:oa,branch:M,worktreePath:P})),h&&f){za({preparingWorktree:!0});let e=Qg(),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))}Qr&&!j&&(await n.orchestration.dispatchCommand({type:`thread.create`,commandId:B(),threadId:p,projectId:G.projectId,projectlessCwd:G.projectId===null?G.projectlessCwd??null:null,title:E,modelSelection:oa,runtimeMode:Jr,interactionMode:Xr,parentThreadId:null,branchSourceTurnId:null,branch:M,worktreePath:P,createdAt:G.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,...J?{modelSelection:Zi}:{},runtimeMode:Jr,interactionMode:Xr}),za({preparingWorktree:!1});let e=(await D).map(e=>e.uploadAttachment);await ea(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:Jr,interactionMode:Xr,...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&&W.current.length===0&&$n.current.length===0&&pt.current.length===0&&(st(e=>{let t=e.filter(e=>e.id===b);for(let e of t)Yg(e);let n=e.filter(e=>e.id!==b);return n.length===e.length?e:n}),W.current=a,Pr(a),En(Po(a,a.length)),Rr(_.map($g)),zr(v),On(Io(a,a.length))),ys(p,e instanceof Error?e.message:`Failed to send message.`),!A&&g&&jn(!0)}),sr.current=!1,A||X()},Ac=async()=>{let e=N();!e||!G||await e.orchestration.dispatchCommand({type:`thread.turn.interrupt`,commandId:B(),threadId:G.id,...ui?.turnId?{turnId:ui.turnId}:{},createdAt:new Date().toISOString()})},jc=(0,Z.useCallback)(async(e,t)=>{let n=N();!n||!K||(Rt(t=>t.includes(e)?t:[...t,e]),Ht(t),await n.orchestration.dispatchCommand({type:`thread.approval.respond`,commandId:B(),threadId:K,requestId:e,decision:t,createdAt:new Date().toISOString()}).catch(e=>{r(K,e instanceof Error?e.message:`Failed to submit approval decision.`)}),Rt(t=>t.filter(t=>t!==e)),Ht(null))},[K,r]),Mc=(0,Z.useCallback)(async(e,t)=>{let n=N();!n||!K||(Gt(t=>t.includes(e)?t:[...t,e]),await n.orchestration.dispatchCommand({type:`thread.user-input.respond`,commandId:B(),threadId:K,requestId:e,answers:t,createdAt:new Date().toISOString()}).catch(e=>{r(K,e instanceof Error?e.message:`Failed to submit user input.`)}),Gt(t=>t.filter(t=>t!==e)))},[K,r]),Nc=(0,Z.useCallback)(e=>{Y&&Yt(t=>({...t,[Y.requestId]:e}))},[Y]),Pc=(0,Z.useCallback)((e,t)=>{Y&&(qt(n=>({...n,[Y.requestId]:{...n[Y.requestId],[e]:{selectedOptionLabel:t,customAnswer:``}}})),W.current=``,En(0),On(null))},[Y]),Fc=(0,Z.useCallback)((e,t,n,r,i)=>{Y&&(W.current=t,qt(n=>({...n,[Y.requestId]:{...n[Y.requestId],[e]:Ho(n[Y.requestId]?.[e],t)}})),En(n),On(i?null:Io(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||!G||!Zr||Ha||xt||sr.current)return;let i=e.trim();if(!i)return;let a=G.id,o=re(),s=new Date().toISOString(),c=n??Zi,l=n===void 0?D_({provider:q,model:J,models:Ui,effort:Ki,text:i}):$i(n,i,``);try{await ea(c.provider)}catch(e){ys(a,e instanceof Error?e.message:`Selected provider is unavailable.`);return}sr.current=!0,(0,vo.flushSync)(()=>{za({preparingWorktree:!1})}),ys(a,null),st(e=>[...e,{id:o,role:`user`,text:l,createdAt:s,streaming:!1}]),ic();try{await qs({threadId:a,createdAt:s,modelSelection:c,runtimeMode:Jr,interactionMode:t}),L(a,t),await ea(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:G.title,runtimeMode:Jr,interactionMode:t,...t===`default`&&Sa?{sourceProposedPlan:{threadId:G.id,planId:Sa.id}}:{},createdAt:s}),t===`default`&&(hn.current=null,en(!0)),sr.current=!1}catch(e){st(e=>e.filter(e=>e.id!==o)),ys(a,e instanceof Error?e.message:`Failed to send plan follow-up.`),sr.current=!1,X()}},[G,Sa,ic,za,ea,$i,xt,Ha,Zr,qs,X,Jr,Ki,Zi,q,Ui,L,ys,J]),zc=(0,Z.useCallback)(async e=>{let t=N();if(!t||!G||!Sa||!Zr||Ha||xt||sr.current)return;let n=new Date().toISOString(),r=ee(),i=Sa.planMarkdown,a=Xo(i),o=tt(Qo(i)),s=e??Zi,c=e===void 0?D_({provider:q,model:J,models:Ui,effort:Ki,text:a}):$i(e,a,``);try{await ea(s.provider)}catch(e){di.add({type:`error`,title:`Could not start implementation thread`,description:e instanceof Error?e.message:`Selected provider is unavailable.`});return}sr.current=!0,(0,vo.flushSync)(()=>{za({preparingWorktree:!1})});let l=()=>{sr.current=!1,X()};await t.orchestration.dispatchCommand({type:`thread.create`,commandId:B(),threadId:r,projectId:G.projectId,projectlessCwd:G.projectId===null?G.projectlessCwd??null:null,title:o,modelSelection:s,runtimeMode:Jr,interactionMode:`default`,parentThreadId:null,branchSourceTurnId:null,branch:G.branch,worktreePath:G.worktreePath,createdAt:n}).then(()=>ea(s.provider)).then(()=>t.orchestration.dispatchCommand({type:`thread.turn.start`,commandId:B(),threadId:r,message:{messageId:re(),role:`user`,text:c,attachments:[]},modelSelection:s,titleSeed:o,runtimeMode:Jr,interactionMode:`default`,sourceProposedPlan:{threadId:G.id,planId:Sa.id},createdAt:n})).then(()=>d_(r)).then(()=>(gn.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),di.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,G,za,ea,$i,xt,Ha,Zr,g,X,Jr,Ki,Zi,q,Ui,J]),Bc=(0,Z.useCallback)((e,t)=>{if(!G)return;if(Fi!==null&&e!==Fi){ws();return}let n=xe(Ii,e),r=Tt(n,s,Ii,t),i={provider:n,model:r};if(j(G.id,i),l(i),$n.current.length>0){let e=ye(Ii,n);We(e,r,n)||di.add({type:`warning`,title:`Attached images won't send with this model`,description:k_(Ne(e,r,n))})}ws()},[G,Fi,Ii,ws,j,l,s]),Vc=(0,Z.useCallback)((e,t)=>{if(!Sa)return;let n=xe(Ii,e),r=Tt(n,s,Ii,t),i=ba[Sa.id],a=Ge(n,r,i?.provider===n?i.options:Zi.provider===n?Zi.options:void 0);xa(e=>({...e,[Sa.id]:a})),ws()},[Sa,ba,Ii,ws,Zi,s]),Hc=(0,Z.useCallback)(e=>{G&&(P(G.id,q,e,{persistSticky:!0}),ws())},[G,ws,q,P]),Uc=(0,Z.useCallback)(e=>{if(!Sa)return;let t=Ge(ka,ja,e);xa(e=>({...e,[Sa.id]:t})),ws()},[Sa,ja,ka,ws]),Wc=(0,Z.useCallback)(e=>{if(e===W.current){ws();return}W.current=e,Pr(e),En(Po(e,e.length)),On(Io(e,e.length)),ws()},[ws,Pr]),Gc=Je({provider:q,threadId:t,model:J,models:Ui,modelOptions:Vi?.[q],prompt:C,onPromptChange:Wc,includeFastMode:!1}),Kc=Ot(q,{threadId:t}),qc=at({provider:q,models:Ui,model:J,prompt:C,onPromptChange:Wc,modelOptions:Vi?.[q],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=Pe({provider:q,threadId:t,model:J,models:Ui,modelOptions:Vi?.[q],prompt:C,onPromptChange:Wc}),Xc=!!(Gc||wa||Ca||$t),Zc=(0,Z.useCallback)(e=>{Qr&&me(t,{envMode:e}),ws()},[Qr,ws,me,t]),Qc=(0,Z.useCallback)((e,t,n,r)=>{let i=W.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=Ro(W.current,e,t,n),c=Po(s.text,s.cursor);W.current=s.text;let l=_a?.activeQuestion;return l&&Y?qt(e=>({...e,[Y.requestId]:{...e[Y.requestId],[l.id]:Ho(e[Y.requestId]?.[l.id],s.text)}})):Pr(s.text),En(c),On(Io(s.text,Ao(s.text,c))),window.requestAnimationFrame(()=>{Kn.current?.focusAt(c)}),!0},[_a?.activeQuestion,Y,Pr]),$c=(0,Z.useCallback)(()=>Kn.current?.readSnapshot()||{value:W.current,cursor:Tn,expandedCursor:Ao(W.current,Tn),terminalContextIds:T.map(e=>e.id)},[Tn,T]),el=(0,Z.useCallback)(e=>{let t=$c(),n=No(W.current,t.cursor),r=a_({prompt:W.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:Io(e.value,e.expandedCursor)}},[$c]),nl=(0,Z.useCallback)(e=>{if(er.current)return;er.current=!0,window.requestAnimationFrame(()=>{er.current=!1});let{snapshot:t,trigger:n}=tl();if(n){if(e.type===`agent`){let r=`@${e.mentionName} `,i=P_(t.value,n.rangeEnd,r);Qc(n.rangeStart,i,r,{expectedText:t.value.slice(n.rangeStart,i)})&&bn(null);return}if(e.type===`path`){let r=`@${e.path} `,i=P_(t.value,n.rangeEnd,r);Qc(n.rangeStart,i,r,{expectedText:t.value.slice(n.rangeStart,i)})&&bn(null);return}if(e.type===`slash-command`){if(e.command===`model`){let e=`/model `,r=P_(t.value,n.rangeEnd,e);Qc(n.rangeStart,r,e,{expectedText:t.value.slice(n.rangeStart,r)})&&bn(null);return}if(e.command===`personality`&&!e.value){let e=`/personality `,r=P_(t.value,n.rangeEnd,e);Qc(n.rangeStart,r,e,{expectedText:t.value.slice(n.rangeStart,r)})&&bn(null);return}if(e.command===`fork`&&!e.value){let e=`/fork `,r=P_(t.value,n.rangeEnd,e);Qc(n.rangeStart,r,e,{expectedText:t.value.slice(n.rangeStart,r)})&&bn(null);return}if(e.command===`review`){let e=A_;Qc(n.rangeStart,n.rangeEnd,e,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&bn(null);return}if(e.command===`compact`){Qc(n.rangeStart,n.rangeEnd,j_,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&bn(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)})&&bn(null);return}Bc(e.provider,e.model),Qc(n.rangeStart,n.rangeEnd,``,{expectedText:t.value.slice(n.rangeStart,n.rangeEnd)})&&bn(null)}},[Qc,Vs,Gs,Ns,Ws,Bc,tl,Us,zs,Hs]),rl=(0,Z.useCallback)(e=>{bn(e)},[]),il=(0,Z.useCallback)(e=>{if($o.length===0)return;let t=yn?$o.findIndex(e=>e.id===yn):-1,n=$o[((t>=0?t:0)+(e===`ArrowDown`?1:-1)+$o.length)%$o.length];bn(n?.id??null)},[yn,$o]),al=So===`path`&&(Co.length>0&&Eo.state.isPending||qo.isLoading||qo.isFetching),ol=Wi.composerFrameClassName!==void 0&&Wi.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}W.current=e,Pr(e),I_(T,a)||ce(t,F_(T,a)),En(n),On(i?null:Io(e,r))},[_a?.activeQuestion,Y,T,Fc,Pr,ce,t]),cl=(0,Z.useCallback)(e=>{cn(e),e&&e!==`insert`&&(On(null),bn(null))},[]),ll=(e,t)=>{if(e===`Tab`&&t.shiftKey)return Ps(),!0;let{trigger:n}=tl();if(tr.current||n!==null){let t=nr.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=Mn.current;(n?zo(n):Fn.current)?(Fn.current=!0,Vn.current=!1,$s({showScrollToBottom:!1,isScrolledFromTop:n?n.scrollTop>8:!1}),tc(18)):t&&rc(),Qt(n=>({...n,[e]:!t}))},[rc,tc,$s]),dl=(0,Z.useCallback)(e=>{et(e)},[]),fl=Ze?Ze.images[Ze.index]:null,pl=(0,Z.useCallback)((e,n)=>{Ti&&g({to:`/$threadId`,params:{threadId:t},search:t=>{let r=vi(t);return n?{...r,diff:`1`,diffTurnId:e,diffFilePath:n,panel:`diff`}:{...r,diff:`1`,diffTurnId:e,panel:`diff`}}})},[Ti,g,t]),ml=(0,Z.useCallback)(e=>{Ti&&g({to:`/$threadId`,params:{threadId:t},search:t=>({...ai(t),artifact:`1`,artifactPath:e,panel:`artifact`})})},[Ti,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||!G||Mt||Ua||Ha||xt||sr.current))try{ic(),await t.orchestration.dispatchCommand({type:`thread.turn.retry`,commandId:B(),threadId:G.id,assistantMessageId:e,createdAt:new Date().toISOString()})}catch(e){ys(G.id,e instanceof Error?e.message:`Failed to retry message.`)}},[G,ic,xt,Mt,Ha,Ua,ys]),_l=(0,Z.useCallback)(async(e,t)=>{let n=N();if(!(!n||!G||Mt||Ua||Ha||xt||sr.current||t.trim().length===0))try{ic(),await n.orchestration.dispatchCommand({type:`thread.message.edit`,commandId:B(),threadId:G.id,userMessageId:e,text:t,createdAt:new Date().toISOString()})}catch(e){ys(G.id,e instanceof Error?e.message:`Failed to edit message.`)}},[G,ic,xt,Mt,Ha,Ua,ys]);return G?(0,Q.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-x-hidden bg-background`,children:[(0,Q.jsx)(`header`,{className:U(`px-3 sm:px-5`,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)(uh,{activeThreadTitle:G.title,activeProjectPath:xo??void 0,isGitRepo:is,openInCwd:xo,keybindings:ko,availableEditors:jo,terminalToggleShortcutLabel:ss,browserToggleShortcutLabel:fs,diffToggleShortcutLabel:ds,browserEnabled:ei,browserOpen:ri,diffOpen:ni,isBranchedThread:G.parentThreadId!==null,parentThread:si?{threadId:si.id,title:si.title,archivedAt:si.archivedAt}:null,missingParentThread:G.parentThreadId&&!si?{threadId:G.parentThreadId}:null,childThreads:ci.map(e=>({threadId:e.id,title:e.title,archivedAt:e.archivedAt})),onBranchThread:Zr&&G.archivedAt===null?Ei: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:fr,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%`}, ${we?`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:pc,onTouchCancel:pc,children:(0,Q.jsx)(qp,{hasMessages:co.length>0,isWorking:Ka,showWorkingIndicator:Ka&&!uo,activeTurnInProgress:Ka||!_i,activeTurnStartedAt:Ja,activeTurnId:lo,revealingBufferedAssistantMessageIds:Ve,scrollContainer:Nn,workGroupAutoScrollSuppressRef:In,timelineEntries:co,completionDividerBeforeEntryId:yo,completionSummary:_o,turnDiffSummaryByAssistantMessageId:ho,showTurnDiffActions:Ti,expandedWorkGroups:Xt,onToggleWorkGroup:ul,onOpenTurnDiff:pl,onOpenArtifact:ml,revertTurnCountByUserMessageId:go,onRevertUserMessage:hl,onRetryAssistantMessage:gl,onEditUserMessage:_l,isRevertingCheckpoint:Mt,onImageExpand:dl,markdownCwd:xo??void 0,resolvedTheme:b,timestampFormat:u,workspaceRoot:Si?.cwd??void 0,...Ya?{}:{onAddAssistantSelectionToChat:el}},bo)}),we&&(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)(qn,{className:`size-3.5`}),`Scroll to bottom`]})})]}),(0,Q.jsxs)(`div`,{className:U(`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)(zg,{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)(Wg,{projectName:Si?.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)(tg,{onActivate:Ps,onDismiss:()=>Za(!0)}),(0,Q.jsx)(Og,{taskList:Ta,taskListOpen:ln,backgroundSubagents:Yo,backgroundSubagentsOpen:dn,queuedTurns:Tr,queuedOpen:pn,onTaskListOpenChange:un,onBackgroundSubagentsOpenChange:fn,onQueuedOpenChange:mn,onDeleteQueuedTurn:xs,onEditQueuedTurn:e=>void Ss(e)}),(0,Q.jsx)(Lg,{providerStatus:rs,resumeState:G.resumeState,threadError:G.error,onDismissError:()=>ys(G.id,null),onResumeAction:()=>Cs()}),(0,Q.jsxs)(`div`,{className:`relative`,children:[es&&!Ya&&(0,Q.jsx)(`div`,{className:`absolute inset-x-0 bottom-full z-20 mb-2 px-4`,children:(0,Q.jsx)(mh,{items:$o,resolvedTheme:b,isLoading:al,triggerKind:So,activeItemId:ts?.id??null,onHighlightedItemChange:rl,onSelect:nl})}),(0,Q.jsx)(`div`,{"data-chat-composer-frame":`true`,className:U(`chat-composer-depth group relative z-10 min-w-0 overflow-hidden transition-[margin-top,color,box-shadow,border-color,background-color] duration-[220ms] ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none`,ol?[`rounded-[22px] p-px`,Wi.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:U(`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)]`,Ue&&`bg-accent/30`,Wi.composerSurfaceClassName]),children:[Ia?(0,Q.jsx)(`div`,{className:`rounded-t-[19px] border-b border-border/65 bg-muted/20`,children:(0,Q.jsx)(ag,{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)(sg,{pendingUserInputs:ma,respondingRequestIds:Lt,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)(lg,{planTitle:Ko(Sa.planMarkdown)??null},Sa.id)}):null,(0,Q.jsxs)(`div`,{className:U(`relative px-3 pb-2 sm:px-4`,$a?`pt-2.5 sm:pt-3`:`pt-3.5 sm:pt-4`),children:[!Ya&&ma.length===0&&w.length>0&&(0,Q.jsx)(`div`,{className:`mb-3 flex flex-wrap gap-2`,children:w.map(e=>(0,Q.jsxs)(`div`,{className:`relative h-16 w-16 overflow-hidden rounded-lg border border-border/80 bg-background`,children:[e.previewUrl?(0,Q.jsx)(`button`,{type:`button`,className:`h-full w-full cursor-zoom-in`,"aria-label":`Preview ${e.name}`,onClick:()=>{let t=tu(w,e.id);t&&et(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)(Hr,{children:[(0,Q.jsx)(yi,{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)(kn,{className:`size-3`})})}),(0,Q.jsx)(Wr,{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:()=>Sc(e.id),"aria-label":`Remove ${e.name}`,children:(0,Q.jsx)(sn,{})})]},e.id))}),s.composerVimMode&&on&&on!==`insert`?(0,Q.jsx)(x_,{mode:on}):null,(0,Q.jsx)(Yl,{ref:Kn,value:Ya?``:_a?_a.customAnswer:C,cursor:Tn,terminalContexts:!Ya&&ma.length===0?T:[],onRemoveTerminalContext:Ur,onChange:sl,onCommandKeyDown:ll,onPaste:Cc,vimModeEnabled:s.composerVimMode,vimCommandMenuActive:es,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`:Pi&&sa===`disconnected`?`Ask for follow-up changes or attach images`:`Ask anything, @tag files/folders, or use / to show available commands`,disabled:xt||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)(Th,{approval:Ia,isResponding:Lt.includes(Ia.requestId),respondingDecision:zt,onRespondToApproval:jc})}):(0,Q.jsxs)(`div`,{ref:Xn,"data-chat-composer-footer":`true`,"data-chat-composer-footer-compact":tn?`true`:`false`,className:U(`flex min-w-0 flex-nowrap items-center gap-2 overflow-hidden px-2.5 pb-2.5 sm:px-3 sm:pb-3`,`justify-between`,tn?`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)(Ah,{threadId:t,provider:q,models:Ui,model:J,modelOptions:Vi?.[q],planModeActive:Xr===`plan`,onTogglePlanMode:Ps,goalModeActive:An,onToggleGoalMode:zs,onAddFiles:xc}),G?.goal?(0,Q.jsx)(Qh,{goal:G.goal,disabled:!G,onUpdateGoal:Ls,onClearGoal:Rs}):null,tn&&Xc?(0,Q.jsx)(Oh,{activePlan:!!(wa||Ca||$t),planSidebarOpen:$t,runtimeMode:Jr,traitsMenuContent:Gc,onTogglePlanSidebar:Ks,onRuntimeModeChange:Ms}):(0,Q.jsx)(kh,{compact:tn,runtimeMode:Jr,onToggle:Bs}),An?(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)($h,{onDismiss:()=>jn(!1)})]}):null,Xr===`plan`?(0,Q.jsx)(ng,{onDisable:Ps}):null]}),(0,Q.jsxs)(`div`,{ref:Qn,"data-chat-composer-actions":`right`,"data-chat-composer-primary-actions-compact":rn?`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)(Qi,{compact:tn,provider:ka,model:Fa,lockedProvider:null,providers:Ii,modelOptionsByProvider:Li,modelOptions:Pa.options,onModelOptionsChange:Uc,...Na.modelPickerIconClassName?{activeProviderIconClassName:Na.modelPickerIconClassName}:{},onProviderModelChange:Vc}):(0,Q.jsx)(Qi,{compact:tn,provider:q,model:Mo,lockedProvider:Fi,providers:Ii,modelOptionsByProvider:Li,modelOptions:Vi?.[q],onModelOptionsChange:Hc,effort:Jc,...Wi.modelPickerIconClassName?{activeProviderIconClassName:Wi.modelPickerIconClassName}:{},onProviderModelChange:Bc}),!Da&&!tn&&Yc?Yc:null,!tn&&(wa||Ca||$t)?(0,Q.jsxs)(I,{variant:`ghost`,className:U(`shrink-0 whitespace-nowrap px-2 sm:px-2.5`,$t?`text-blue-400 hover:text-blue-300`:`text-muted-foreground/70 hover:text-foreground/80`),size:`sm`,type:`button`,onClick:Ks,title:$t?`Hide plan sidebar`:`Show plan sidebar`,children:[(0,Q.jsx)(Zt,{}),(0,Q.jsx)(`span`,{className:`sr-only sm:not-sr-only`,children:`Plan`})]}):null,gi?(0,Q.jsx)(ph,{usage:gi}):null,Va?(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)(ig,{compact:rn,pendingAction:_a?{questionIndex:_a.questionIndex,isLastQuestion:_a.isLastQuestion,canAdvance:_a.canAdvance,isResponding:ya,isComplete:!!va}:null,isRunning:Ua,awaitingSendAck:uo,queuedTurnCount:Tr.length,showPlanFollowUpPrompt:ma.length===0&&Ea,promptHasText:C.trim().length>0,isSendBusy:Ha,isConnecting:xt,isPreparingWorktree:Va,hasSendableContent:E.hasSendableContent,canSteerRunningTurn:Ga,onQueueRunningTurn:()=>void kc(void 0,`queue`),onPreviousPendingQuestion:Lc,onInterrupt:()=>void Ac(),onImplementPlanInNewThread:()=>void zc(Pa)})})]})]})]})})]})]}),fo&&Ci?(0,Q.jsx)(L_,{emptyThread:!0}):null,fo&&!Ci&&(0,Q.jsx)(`div`,{className:`relative z-0 mx-auto -mt-5 flex w-full min-w-0 max-w-[44rem] flex-wrap items-center gap-x-1 gap-y-1 rounded-b-[20px] border border-t-0 border-border bg-[color-mix(in_srgb,var(--card)_94%,var(--muted-foreground)_6%)] px-3 pt-6 pb-1.5`,children:(0,Q.jsx)(Ds,{threadId:G.id,onEnvModeChange:Zc,envLocked:_s,isGitRepo:is,onComposerFocusRequest:ws,...$r?{onCheckoutPullRequestRequest:Di}:{}})})]}),!fo&&Ci?(0,Q.jsx)(L_,{emptyThread:!1}):null,xn?(0,Q.jsx)(Zl,{open:!0,cwd:Si?.cwd??null,initialReference:xn.initialReference,onOpenChange:e=>{e||Oi()},onPrepared:Ai},xn.key):null]}),$t?(0,Q.jsx)(Is,{activePlan:wa,activeProposedPlan:Ca,markdownCwd:xo??void 0,workspaceRoot:Si?.cwd??void 0,timestampFormat:u,onClose:()=>{en(!1);let e=wa?.turnId??Ca?.turnId??null;e&&(hn.current=e)}}):null]}),Mr.map(e=>(0,Q.jsx)(H_,{threadId:e,visible:e===K&&mr.terminalOpen,focusRequestId:e===K?_n:0,splitShortcutLabel:cs??void 0,newShortcutLabel:ls??void 0,closeShortcutLabel:us??void 0,onAddTerminalContext:Ts},e)),Ze&&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:mc}),Ze.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)(ur,{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:mc,"aria-label":`Close image preview`,children:(0,Q.jsx)(sn,{})}),(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,Ze.images.length>1?` (${Ze.index+1}/${Ze.images.length})`:``]})]}),Ze.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)(rr,{className:`size-5`})})]})]}):(0,Q.jsx)(ra,{})}function W_(e){let t=(0,X.c)(31),n=(0,Z.useRef)(0),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=e=>{gi(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=>{gi(t.dataTransfer)&&(t.preventDefault(),t.dataTransfer.dropEffect=`copy`,e.onDropZoneChange(K(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=>{gi(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=Si(t.dataTransfer);if(!r){e.onDropZoneChange(null);return}t.preventDefault();let i=K(t.currentTarget.getBoundingClientRect(),t.clientX,t.clientY);e.onDropZoneChange(null),e.onThreadDrop(r,i)},t[5]=e,t[6]=l);let u=l,d=e.focused?`Focused thread pane`:`Thread pane`,f=e.focused?`true`:`false`,p=e.multiPane&&!e.focused&&`bg-muted/10`,m;t[7]===p?m=t[8]:(m=U(`relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background`,p),t[7]=p,t[8]=m);let h,g;t[9]===e?(h=t[10],g=t[11]):(h=()=>{e.focused||e.onFocus()},g=t=>{if(e.focused)return;let n=t.target;n instanceof Element&&(n.closest(`[data-thread-pane-close='true']`)||e.onFocus())},t[9]=e,t[10]=h,t[11]=g);let _;t[12]===e?_=t[13]:(_=e.multiPane?(0,Q.jsxs)(`div`,{className:U(`flex h-8 shrink-0 items-center justify-end border-b px-2`,e.focused?`border-foreground/20 bg-background`:`border-border/70 bg-muted/10`),children:[(0,Q.jsx)(`div`,{className:U(`pointer-events-none absolute inset-x-0 top-0 z-30 h-px transition-colors`,e.focused?`bg-foreground/60`:`bg-border/80`)}),(0,Q.jsx)(`button`,{type:`button`,"data-thread-pane-close":`true`,"aria-label":`Close thread pane`,className:`inline-flex size-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-sidebar-hover hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onClose()},children:(0,Q.jsx)(sn,{className:`size-3.5`})})]}):null,t[12]=e,t[13]=_);let v;t[14]!==e.focused||t[15]!==e.threadId?(v=(0,Q.jsx)(U_,{threadId:e.threadId,isFocusedPane:e.focused},e.threadId),t[14]=e.focused,t[15]=e.threadId,t[16]=v):v=t[16];let y;t[17]===e.dropZone?y=t[18]:(y=e.dropZone?(0,Q.jsx)(G_,{zone:e.dropZone}):null,t[17]=e.dropZone,t[18]=y);let b;return t[19]!==c||t[20]!==o||t[21]!==u||t[22]!==_||t[23]!==v||t[24]!==y||t[25]!==d||t[26]!==f||t[27]!==m||t[28]!==h||t[29]!==g?(b=(0,Q.jsxs)(`section`,{"aria-label":d,"data-focused":f,className:m,onFocusCapture:h,onPointerDownCapture:g,onDragEnter:i,onDragOver:o,onDragLeave:c,onDrop:u,children:[_,v,y]}),t[19]=c,t[20]=o,t[21]=u,t[22]=_,t[23]=v,t[24]=y,t[25]=d,t[26]=f,t[27]=m,t[28]=h,t[29]=g,t[30]=b):b=t[30],b}function G_(e){let t=(0,X.c)(8),n=e.zone===`center`&&`inset-1.5`,r=e.zone===`left`&&`inset-y-1.5 left-1.5 right-1/2`,i=e.zone===`right`&&`inset-y-1.5 left-1/2 right-1.5`,a=e.zone===`top`&&`inset-x-1.5 top-1.5 bottom-1/2`,o=e.zone===`bottom`&&`inset-x-1.5 top-1/2 bottom-1.5`,s;t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a||t[4]!==o?(s=U(`absolute rounded-md border border-dashed border-foreground/40 bg-foreground/10 transition-[inset]`,n,r,i,a,o),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s):s=t[5];let c;return t[6]===s?c=t[7]:(c=(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-40`,children:(0,Q.jsx)(`div`,{className:s})}),t[6]=s,t[7]=c),c}var K_=`pane_layout_split_sizes`,q_=64,J_=o(t,s(a));function Y_(e){return`${e.direction}:${e.children.map(G).join(`|`)}`}function X_(e){return e>0?Array.from({length:e},()=>1/e):[]}function Z_(e,t){if(t<=0)return[];if(!e||e.length!==t||e.some(e=>!Number.isFinite(e)||e<=0))return X_(t);let n=e.reduce((e,t)=>e+t,0);return n>0?e.map(e=>e/n):X_(t)}function Q_(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 $_(e,t){return Z_(tv()[e],t)}function ev(e,t){let{[e]:n,...r}=tv(),i=Object.entries(r),a=i.slice(Math.max(0,i.length+1-q_));try{L(K_,{...Object.fromEntries(a),[e]:[...t]},J_)}catch{}}function tv(){try{return F(K_,J_)??{}}catch{return{}}}var nv=240,rv=.02;function iv(e){let t=(0,X.c)(4),n=e.minPaneSizePx??nv,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)(av,{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 av(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)(ov,{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 ov(e){let{minPaneSizePx:t,node:n,renderPane:r}=e,i=n.direction===`row`,a=n.children.length,o=Y_(n),s=(0,Z.useRef)(null),c=(0,Z.useRef)(null),[l,u]=(0,Z.useState)(()=>$_(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=$_(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(Q_(t.startSizes,t.dividerIndex,r,p(t.containerSizePx))),e.preventDefault()},_=e=>{let t=c.current;!t||t.pointerId!==e.pointerId||(ev(o,d.current),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),m(),e.preventDefault())},v=e=>{d.current=e,u(e),ev(o,e)},y=e=>t=>{let n=i?`ArrowLeft`:`ArrowUp`,r=i?`ArrowRight`:`ArrowDown`,a=t.key===n?-rv:t.key===r?rv:null;if(a===null)return;t.preventDefault();let o=s.current?.getBoundingClientRect(),c=o?i?o.width:o.height:0;v(Q_(d.current,e,a,p(c)))},b=()=>{v(X_(a))};return(0,Q.jsx)(`div`,{ref:s,className:U(`flex min-h-0 min-w-0 flex-1 overflow-hidden`,i?`flex-row`:`flex-col`),children:n.children.map((e,i)=>(0,Q.jsxs)(Z.Fragment,{children:[i>0?(0,Q.jsx)(sv,{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)(av,{node:e,renderPane:r,minPaneSizePx:t})})]},G(e)||`pane-${i}`))})}function sv(e){let t=(0,X.c)(16),n=e.direction===`row`,r=n?`Resize panes (drag left or right)`:`Resize panes (drag up or down)`,i=n?`-mx-[3px] w-[7px] cursor-col-resize`:`-my-[3px] h-[7px] cursor-row-resize`,a;t[0]===i?a=t[1]:(a=U(`group relative z-10 flex shrink-0 touch-none items-center justify-center focus-visible:outline-hidden`,i),t[0]=i,t[1]=a);let o=e.onDoubleClick,s=e.onKeyDown,c=e.onPointerCancel,l=e.onPointerDown,u=e.onPointerMove,d=e.onPointerUp,f=n?`h-full w-px`:`h-px w-full`,p;t[2]===f?p=t[3]:(p=U(`bg-border/70 transition-colors group-hover:bg-foreground/25 group-focus-visible:bg-foreground/25 group-active:bg-foreground/30`,f),t[2]=f,t[3]=p);let m;t[4]===p?m=t[5]:(m=(0,Q.jsx)(`span`,{className:p}),t[4]=p,t[5]=m);let h;return t[6]!==e.onDoubleClick||t[7]!==e.onKeyDown||t[8]!==e.onPointerCancel||t[9]!==e.onPointerDown||t[10]!==e.onPointerMove||t[11]!==e.onPointerUp||t[12]!==r||t[13]!==m||t[14]!==a?(h=(0,Q.jsx)(`button`,{type:`button`,"aria-label":r,title:`Drag to resize, double-click to reset`,className:a,onDoubleClick:o,onKeyDown:s,onPointerCancel:c,onPointerDown:l,onPointerMove:u,onPointerUp:d,children:m}),t[6]=e.onDoubleClick,t[7]=e.onKeyDown,t[8]=e.onPointerCancel,t[9]=e.onPointerDown,t[10]=e.onPointerMove,t[11]=e.onPointerUp,t[12]=r,t[13]=m,t[14]=a,t[15]=h):h=t[15],h}var cv=5e3;function lv(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(dv).map(uv);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()},cv))},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 uv(e){return te.makeUnsafe(e)}function dv(e){return e.length>0}var fv=(0,Z.lazy)(()=>wr(()=>import(`./DiffPanel-CPmbtIC0.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,49,50]))),pv=(0,Z.lazy)(()=>wr(()=>import(`./ArtifactPanel-BPQ8FX7l.js`),__vite__mapDeps([51,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,52,46,48,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76]))),mv=320,hv=`(max-width: 1180px)`,gv=`chat_diff_sidebar_width`,_v=416,vv=448,yv=704,bv=.48,xv=208;function Sv(e){return!e.bootstrapComplete||e.routeThreadExists||e.missingSinceMs===null?!1:e.nowMs-e.missingSinceMs>=750}function Cv(e){return Math.max(_v,Math.min(e,yv))}function wv(){return typeof window>`u`?vv:Cv(window.innerWidth*bv)}var Tv=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)(Qr,{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)($r,{open:e.open,onOpenChange:n,children:r}),t[4]=e.open,t[5]=n,t[6]=r,t[7]=i):i=t[7],i},Ev=e=>{let t=(0,X.c)(6),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(Ii,{}),t[0]=n):n=t[0];let r;t[1]===e.label?r=t[2]:(r=(0,Q.jsx)(ji,{label:e.label}),t[1]=e.label,t[2]=r);let i;return t[3]!==e.mode||t[4]!==r?(i=(0,Q.jsx)(Fi,{mode:e.mode,header:n,children:r}),t[3]=e.mode,t[4]=r,t[5]=i):i=t[5],i},Dv=e=>{let t=(0,X.c)(8),n;t[0]===e.mode?n=t[1]:(n=(0,Q.jsx)(Ev,{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)(fv,{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)(Ki,{children:(0,Q.jsx)(Z.Suspense,{fallback:n,children:r})}),t[5]=n,t[6]=r,t[7]=i):i=t[7],i},Ov=e=>{let t=(0,X.c)(10),n;t[0]===e.mode?n=t[1]:(n=(0,Q.jsx)(Ev,{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)(pv,{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 kv(e){switch(e){case`artifact`:return`artifact`;case`browser`:return`browser`;case`diff`:return`diff`}}var Av=e=>{let t=(0,X.c)(22),n;t[0]===e?n=t[1]:(n=t=>{t.button===0&&(t.preventDefault(),t.stopPropagation(),e.onClosePanel())},t[0]=e,t[1]=n);let r=n,i;t[2]===e?i=t[3]:(i=t=>{t.preventDefault(),t.stopPropagation(),t.detail===0&&e.onClosePanel()},t[2]=e,t[3]=i);let a=i,o;t[4]===e?o=t[5]:(o=e.tabs.map(t=>{let n=t.id===e.activePanel;return(0,Q.jsxs)(I,{type:`button`,variant:n?`secondary`:`ghost`,size:`xs`,"aria-current":n?`page`:void 0,className:U(`min-w-0 gap-1.5 px-2.5`,n?`text-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>e.onSelectPanel(t.id),children:[t.icon,(0,Q.jsx)(`span`,{className:`truncate`,children:t.label})]},t.id)}),t[4]=e,t[5]=o);let s;t[6]===o?s=t[7]:(s=(0,Q.jsx)(`div`,{className:`no-drag flex min-w-0 flex-1 items-center gap-1 overflow-x-auto`,children:o}),t[6]=o,t[7]=s);let c=`Close ${kv(e.activePanel)} panel`,l=`Close ${kv(e.activePanel)} panel`,u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(sn,{}),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},jv=e=>{let t=(0,X.c)(7),n=e.active?void 0:!0,r=e.panel,i=e.active?`visible`:`pointer-events-none invisible`,a;t[0]===i?a=t[1]:(a=U(`absolute inset-0 min-h-0 min-w-0 overflow-hidden`,i),t[0]=i,t[1]=a);let o;return t[2]!==e.children||t[3]!==e.panel||t[4]!==n||t[5]!==a?(o=(0,Q.jsx)(`div`,{"aria-hidden":n,"data-right-sidebar-panel":r,className:a,children:e.children}),t[2]=e.children,t[3]=e.panel,t[4]=n,t[5]=a,t[6]=o):o=t[6],o},Mv=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)(Fv),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=xv+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=Cv(e);l(t),L(gv,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=Cv(t.startWidth+(t.startX-e.clientX));d(n)&&(l(n),e.preventDefault())},t[4]=v):v=t[4];let y=v,b;t[5]===c?b=t[6]:(b=e=>{let t=s.current;!t||t.pointerId!==e.pointerId||(p(c),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),h(),e.preventDefault())},t[5]=c,t[6]=b);let x=b,S,C;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>()=>{h()},C=[h],t[7]=S,t[8]=C):(S=t[7],C=t[8]),(0,Z.useEffect)(S,C);let w;return t[9]!==n||t[10]!==r||t[11]!==x||t[12]!==i||t[13]!==c?(w=i?(0,Q.jsxs)(`div`,{ref:o,className:U(`relative hidden min-h-0 shrink-0 overflow-hidden border-l border-border bg-card text-foreground md:flex`,`shadow-[-20px_0_40px_-36px_rgba(15,23,42,0.55)]`),style:{width:c},children:[(0,Q.jsx)(za,{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 Nv(){let e=ft(e=>e.bootstrapComplete),t=y(),n=Ci.useParams({select:e=>te.makeUnsafe(e.threadId)}),r=Ci.useSearch(),i=ft(e=>e.threads.find(e=>e.id===n)??null),a=ft(e=>i?e.projects.find(e=>e.id===i.projectId)??null:null),o=ft(e=>e.threadIndexById),s=ft(e=>e.threads.some(e=>e.id===n)),c=St(e=>e.draftThreadsByThreadId),l=s||Object.hasOwn(c,n),u=Pv(i),d=Ir(),f=r.diff===`1`,p=r.artifact===`1`&&!!r.artifactPath,m=d&&r.browser===`1`,h=wi(r,{browserEnabled:d}),g=h!==null,_=a?i?.worktreePath??a.cwd:null,v=Ae(i?.latestTurn??null,i?.session??null),b=Zr(hv),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?ri({focusedThreadId:n,layout:Ai(r.panes),isThreadAvailable:S}):null,[S,l,r.panes,n]),w=(0,Z.useMemo)(()=>ki(C),[C]),T=Ei(C),E=w.length>1,[D,O]=(0,Z.useState)(null),k=D!==null;lv(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=>ui(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,Sv({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:Ei(n)})})},z=e=>{e!==n&&R(e,C,{replace:!0})},ee=(e,t)=>{O(n=>t===null?n?.threadId===e?null:n:n?.threadId===e&&n.zone===t?n:{threadId:e,zone:t})},ne=(e,t,r)=>{if(C===null||!S(r))return;let i=ti({droppedThreadId:r,focusedThreadId:n,layout:C,targetThreadId:e,zone:t});R(i.focusedThreadId,i.layout,{replace:!0})},V=e=>{if(C===null)return;let r=ci({closingThreadId:e,focusedThreadId:n,layout:C});if(r.focusedThreadId===null){t({to:`/`,replace:!0});return}R(r.focusedThreadId,r.layout)},re=e=>{if(e===`browser`){if(!d)return;t({to:`/$threadId`,params:{threadId:n},search:e=>({...e,browser:`1`,panel:`browser`})});return}if(e===`artifact`){if(!p)return;t({to:`/$threadId`,params:{threadId:n},search:e=>({...e,panel:`artifact`})});return}_&&t({to:`/$threadId`,params:{threadId:n},search:e=>({...e,diff:`1`,panel:`diff`})})},ie=()=>{if(!i)return;let e=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()})},H=[..._?[{id:`diff`,label:`Diff`,icon:(0,Q.jsx)(Nn,{className:`size-3.5`})}]:[],...d?[{id:`browser`,label:`Browser`,icon:(0,Q.jsx)(or,{className:`size-3.5`})}]:[],...p?[{id:`artifact`,label:`Artifact`,icon:(0,Q.jsx)(Yt,{className:`size-3.5`})}]:[]],ae=f||A,oe=p||M,U=m||F,se=e=>h?(0,Q.jsxs)(Av,{activePanel:h,tabs:H,onClosePanel:L,onSelectPanel:re,children:[(0,Q.jsx)(jv,{panel:`diff`,active:h===`diff`,children:ae?(0,Q.jsx)(Dv,{mode:e}):null}),(0,Q.jsx)(jv,{panel:`browser`,active:h===`browser`,children:U&&d?(0,Q.jsx)(fo,{threadId:n,active:h===`browser`,cwd:_,isAgentWorking:v,onStopAgent:ie}):null}),(0,Q.jsx)(jv,{panel:`artifact`,active:h===`artifact`,children:oe?(0,Q.jsx)(Ov,{cwd:_,mode:e,relativePath:r.artifactPath??null}):null})]}):null,ce=C===null?null:(0,Q.jsx)(iv,{layout:C,minPaneSizePx:mv,renderPane:e=>{let t=te.makeUnsafe(e);return(0,Q.jsx)(W_,{threadId:t,focused:t===n,multiPane:E,dropZone:D?.threadId===t?D.zone:null,onDropZoneChange:e=>ee(t,e),onThreadDrop:(e,n)=>ne(t,n,e),onFocus:()=>z(t),onClose:()=>V(t)})}});return b?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Xr,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground`,children:ce}),(0,Q.jsx)(Tv,{open:g,onClosePanel:L,children:se(`sheet`)})]}):(0,Q.jsx)(Xr,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground`,children:(0,Q.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:[ce,(0,Q.jsx)(Mv,{open:g,ariaLabel:`Resize ${h?kv(h):`right`} panel`,children:se(`sidebar`)})]})})}function Pv(e){return e===null||e.resumeState===`unrecoverable`||e.resumeState===`resuming`?!1:e.session===null||e.session.orchestrationStatus===`stopped`||e.session.orchestrationStatus===`error`}function Fv(){let e=F(gv,a);return e===null?wv():Cv(e)}export{Nv as component,Pv as shouldPrewarmThreadSession,Sv as shouldRedirectMissingThread};
289
+ //# sourceMappingURL=_chat._threadId-DLIOcnXQ.js.map