@openchambery/web 2.1.7-beta.10 → 2.1.7-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AssistantView-gJYQLjJ3.js → AssistantView-DEV_EZCY.js} +3 -3
- package/dist/assets/{DiagramView-BfOWoVlT.js → DiagramView-vm7p8KMi.js} +1 -1
- package/dist/assets/{MarkdownRenderer-DiQPj3zp.js → MarkdownRenderer-q5V4ZlgT.js} +2 -2
- package/dist/assets/{MarkdownRendererImpl-Bbiy-nFx.js → MarkdownRendererImpl-BxzsyUtH.js} +1 -1
- package/dist/assets/{MarkstreamRendererImpl-Du_pQflq.js → MarkstreamRendererImpl-lq_8_t5r.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-DHEof6Xp.js → MobileDetailNavigation-CHtiYCLE.js} +1 -1
- package/dist/assets/{MobileShareBridge-RncdV5OG.js → MobileShareBridge-Ym4X0EM9.js} +1 -1
- package/dist/assets/{MobileTabPageHeader-htBRNUU5.js → MobileTabPageHeader-CTRGeyyi.js} +1 -1
- package/dist/assets/{MultiRunWindow-ga6oMWY6.js → MultiRunWindow-DUthkqCr.js} +1 -1
- package/dist/assets/{SettingsView-D5STpT-G.js → SettingsView-BV3ilqiX.js} +1 -1
- package/dist/assets/{SettingsWindow-BjtKpUgd.js → SettingsWindow-CK8Fwr84.js} +1 -1
- package/dist/assets/{TerminalView-B73IPj8t.js → TerminalView-AnkW8WJ6.js} +1 -1
- package/dist/assets/{ToolOutputDialog-Ol_NdZdw.js → ToolOutputDialog-BgPIMkaj.js} +1 -1
- package/dist/assets/{appThemeRegistry-BpqASUSd.js → appThemeRegistry-Dp10BTjy.js} +1 -1
- package/dist/assets/{fileMentionTouchSelection-UGCePzqT.js → fileMentionTouchSelection-JvGzwilV.js} +1 -1
- package/dist/assets/{gitApi-jesfo75O.js → gitApi-CURsWm52.js} +1 -1
- package/dist/assets/{insertionBoundaries-BKaakPCA.js → insertionBoundaries-DUU55aZF.js} +1 -1
- package/dist/assets/{main-D7axZ-68.js → main-Bgix4Kf6.js} +2 -2
- package/dist/assets/{main-B70CpYy5.js → main-DzYIRW83.js} +11 -11
- package/dist/assets/{mcpQueries-D0hGK5or.js → mcpQueries-zdiD9C1g.js} +1 -1
- package/dist/assets/{miniChat-CHz-dfV6.js → miniChat-DUJ9jiJR.js} +2 -2
- package/dist/assets/{mobile-IDzFxCKP.js → mobile-B6mpIdE1.js} +2 -2
- package/dist/assets/{multirun-DJHCRK8q.js → multirun-DcX_Banm.js} +1 -1
- package/dist/assets/{projectMeta-C2W05Ema.js → projectMeta-Bnh3ZgOT.js} +1 -1
- package/dist/assets/renderElectronMiniChatApp-LiY1kDIg.js +2 -0
- package/dist/assets/{renderMobileApp-DYUCAwQx.js → renderMobileApp-D4g2UAaM.js} +5 -5
- package/dist/assets/{runtimeConfig-qrx2Um5J.js → runtimeConfig-BhNeoGAP.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-DjAuC4DZ.js → runtimeEndpointReset-DxcBb4nE.js} +14 -14
- package/dist/assets/{sessionChangeSummary-Du4sCUoa.js → sessionChangeSummary-Cl1QDDt7.js} +1 -1
- package/dist/assets/{sessionLookup-qmXzah_M.js → sessionLookup-1A909qPG.js} +1 -1
- package/dist/assets/{speechSettingsQueries-CDN4NwYP.js → speechSettingsQueries-DmJlWwy6.js} +1 -1
- package/dist/assets/{useAppFontEffects-CA6OGq9Z.js → useAppFontEffects-_TQwmCb1.js} +30 -30
- package/dist/assets/{useDesktopWindowControlsLayout-XV0q6OV5.js → useDesktopWindowControlsLayout-DDlENzS4.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-DlNcsuzO.js → useEffectiveDirectory-CdjwYYGz.js} +1 -1
- package/dist/assets/{useMobileNavigationStore-BaX-xQnU.js → useMobileNavigationStore-CpvIC2u2.js} +3 -3
- package/dist/assets/{useWorkerHighlightedLines-BrZrVBSe.js → useWorkerHighlightedLines-ismMTowL.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/mini-chat.html +2 -2
- package/dist/mobile.html +2 -2
- package/package.json +1 -1
- package/dist/assets/renderElectronMiniChatApp-BVBUj0PS.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-
|
|
2
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{S as t,l as n}from"./runtime-auth-C8w0nlKy.js";import{c as r,f as i,i as a,l as o,n as s,o as c,r as l,t as u}from"./runtime-switch-3ad3yzM7.js";import{n as d}from"./runtime-fetch-QCWYlAx0.js";import{$ as f,C as p,D as m,Dt as h,E as g,Et as _,I as v,It as y,K as b,L as x,Mn as S,Mt as C,Nt as w,O as T,Q as E,R as D,S as O,T as k,U as A,V as j,Vt as M,W as N,Wt as P,X as F,Z as I,_t as L,an as R,at as z,b as B,bt as V,d as H,dt as ee,en as U,et as te,ft as ne,h as W,ht as G,i as re,it as ie,j as ae,jt as oe,k as se,ln as K,lt as ce,m as le,mt as ue,nt as de,on as fe,ot as pe,pt as me,q as he,r as ge,rn as _e,sn as ve,st as ye,t as be,tt as xe,un as Se,v as Ce,vn as we,w as Te,xt as Ee}from"./persistence-B7ORJ371.js";import{_ as De,c as Oe,d as ke,f as Ae,h as je,i as Me,l as Ne,m as Pe,n as Fe,o as Ie,p as Le,r as Re,s as ze}from"./desktopHosts-DSBZ-9-L.js";import{r as Be}from"./desktopRelayRestore-DK8TzHRx.js";import{a as Ve,i as He,o as Ue,r as We,s as Ge,t as Ke}from"./vendor-zustand-o69pgTEK.js";import{d as qe,f as Je,it as Ye,l as Xe,nt as Ze,p as Qe,rt as $e,u as et}from"./vendor-base-ui-CdzJ6My_.js";import{At as tt,Bi as nt,Ci as rt,Cn as it,Cr as at,Ct as ot,Dn as st,Dr as ct,Ei as lt,En as ut,Er as dt,Hn as ft,In as pt,It as mt,Kn as ht,Ln as gt,Lt as _t,Mn as vt,Ni as yt,Nr as bt,Nt as xt,Oi as St,On as Ct,Or as wt,Ot as Tt,Qt as Et,Ri as Dt,Sn as Ot,Sr as kt,Tn as At,Vn as jt,Wn as Mt,Xt as Nt,Yt as Pt,_i as Ft,an as It,br as Lt,cn as Rt,en as zt,fn as Bt,hn as Vt,jn as Ht,jr as Ut,jt as Wt,ki as Gt,kn as Kt,kt as qt,mn as Jt,n as Yt,nn as Xt,on as Zt,pn as Qt,qt as $t,rn as en,rr as tn,sn as nn,t as rn,tn as an,vn as on,vr as sn,xi as cn,xn as ln,xr as un,yn as dn,zi as fn}from"./platform-CiBU2bCp.js";import{_ as pn,b as mn,c as hn,f as gn,g as _n,h as vn,n as q,y as yn}from"./useUIStore-CDMI_Yzu.js";import{n as bn}from"./vendor-react-BP2cRVqX.js";import{o as xn}from"./vendor-aparajita-capacitor-secure-storage-xol_6BsB.js";import{i as Sn}from"./vendor-tanstack-query-core-BWz0ose6.js";import{c as Cn,i as wn,n as Tn,o as En,t as Dn}from"./vendor-tanstack-react-query-CdqCAt40.js";import{B as On,R as kn,V as An,c as jn}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{i as Mn,u as Nn}from"./vendor-pierre-diffs-DPBtNDJ5.js";import{r as Pn,t as Fn}from"./vendor-sonner-ZS8XIOVl.js";import{a as In,f as Ln,i as Rn,m as zn,n as J,o as Bn,p as Vn,r as Hn,u as Un}from"./vendor-reactuses-core-BpfIZ1tg.js";import{_ as Wn,d as Gn,f as Kn,i as qn,l as Jn,p as Yn,r as Y,t as Xn,v as Zn}from"./button-DymteyMv.js";import{i as Qn,t as $n}from"./store-n-H5RvRn.js";import{$ as er,$i as tr,$n as nr,$t as rr,A as ir,Aa as ar,Ai as or,Ar as sr,At as cr,B as lr,Bi as ur,Bn as dr,Br as fr,C as pr,Ci as mr,Ct as hr,D as gr,Da as _r,Di as vr,Dn as yr,Dt as br,E as xr,Ea as Sr,En as Cr,Et as wr,F as Tr,Fa as Er,Fn as Dr,Ft as Or,G as kr,Ga as Ar,Gi as jr,Gt as Mr,H as Nr,Ha as Pr,Hi as Fr,Hn as Ir,Hr as Lr,I as Rr,In as zr,It as Br,J as Vr,Ji as Hr,Jn as Ur,Jr as Wr,Jt as Gr,K as Kr,Ki as qr,Kr as Jr,Kt as Yr,L as Xr,Ln as Zr,Lt as Qr,M as $r,Ma as ei,Mi as ti,Mt as ni,N as ri,Na as ii,Nn as ai,O as oi,Oa as si,Oi as ci,On as li,Ot as ui,P as di,Pa as fi,Pn as pi,Pr as mi,Q as hi,Qi as gi,Qr as _i,Qt as vi,R as yi,Rn as bi,Sa as xi,Si,St as Ci,T as wi,Ti,Tn as Ei,Tt as Di,U as Oi,Ui as ki,Un as Ai,Ur as ji,Ut as Mi,V as Ni,Va as Pi,Vi as Fi,Vn as Ii,Vr as Li,W as Ri,Wi as zi,Wn as Bi,Wt as Vi,X as Hi,Xi as Ui,Xr as Wi,Xt as Gi,Y as Ki,Yi as qi,Yn as Ji,Z as Yi,Zi as Xi,Zt as Zi,_a as Qi,_n as $i,_r as ea,_t as ta,aa as na,an as ra,at as ia,ba as aa,bn as oa,bo as sa,bt as ca,c as la,ca as ua,ci as da,cn as fa,co as pa,d as ma,dn as ha,ea as ga,ei as _a,en as va,er as ya,et as ba,fa as xa,fi as Sa,fn as Ca,ft as wa,g as Ta,ga as Ea,gi as Da,gn as Oa,go as ka,gr as Aa,hi as ja,hn as Ma,ho as Na,hr as Pa,ht as Fa,i as Ia,ia as La,ii as Ra,in as za,it as Ba,j as Va,ja as Ha,ji as Ua,jn as Wa,jt as Ga,k as Ka,ka as qa,ki as Ja,kn as Ya,kr as Xa,kt as Za,ln as Qa,m as $a,mi as eo,mn as to,mr as no,mt as ro,n as io,na as ao,ni as oo,nt as so,oa as co,oi as lo,on as uo,ot as fo,pi as po,pn as mo,pt as ho,q as go,qi as _o,qr as vo,qt as yo,r as bo,ra as xo,ri as So,ro as Co,rr as wo,rt as To,s as Eo,sa as Do,si as Oo,sn as ko,so as Ao,ta as jo,ti as Mo,tr as No,tt as Po,ui as Fo,v as Io,vi as Lo,vn as Ro,vt as zo,wi as Bo,wn as Vo,wt as Ho,xn as Uo,xt as Wo,ya as Go,yn as Ko,yo as qo,yt as Jo,z as Yo,za as Xo,zn as Zo,zt as Qo}from"./useMobileNavigationStore-BaX-xQnU.js";import{n as $o}from"./rasterizePng-CpK-xCkB.js";import{t as es}from"./dualLimitLru-D8Sphgua.js";import{n as ts,r as ns,t as rs}from"./AgentAvatar-CAR4F5Sn.js";import{n as is,r as as,t as os}from"./useThemeSystem-8jhE4Zyk.js";import{n as X}from"./Icon-DDB7S6Vz.js";import{a as ss,i as cs,n as ls,o as us,r as ds,s as fs,t as ps}from"./dialog-DfUeXqdE.js";import{E as ms,n as hs}from"./gitApi-jesfo75O.js";import{a as gs}from"./vendor-simplewebauthn-browser-Dwhcdg_5.js";import{A as _s,C as vs,D as ys,O as bs,S as xs,_ as Ss,a as Cs,b as ws,f as Ts,h as Es,i as Ds,k as Os,l as ks,m as As,n as js,o as Ms,s as Ns,u as Ps,w as Fs,x as Is,y as Ls}from"./projectMeta-C2W05Ema.js";import{t as Rs}from"./input-BvpZiRHI.js";import{i as zs,n as Bs,t as Vs}from"./tooltip-D-1Pgmq1.js";import{$ as Hs,$t as Us,B as Ws,Et as Gs,Ft as Ks,Gt as qs,Ht as Js,Kt as Ys,Mt as Xs,Nt as Zs,Pt as Qs,Q as $s,R as ec,Rt as tc,U as nc,Ut as rc,V as ic,W as ac,Wt as oc,X as sc,Xt as cc,Z as lc,Zt as uc,_t as dc,a as fc,at as pc,bt as mc,ct as hc,dn as gc,et as _c,f as vc,gt as yc,i as bc,it as xc,ln as Sc,lt as Cc,mt as wc,n as Tc,nt as Ec,ot as Dc,pt as Oc,qt as kc,rn as Ac,rt as jc,s as Mc,st as Nc,tt as Pc,un as Fc,vt as Ic,xt as Lc,z as Rc,zt as zc}from"./speechSettingsQueries-CDN4NwYP.js";import{i as Bc,t as Vc}from"./OverlayScrollbar-BkxmoyYl.js";import{_ as Hc,b as Uc,d as Wc,g as Gc,h as Kc,l as qc,m as Jc,n as Yc,p as Xc,r as Zc,s as Qc,u as $c,v as el,y as tl}from"./image-loading-qNtUCy69.js";import{S as nl,a as rl,c as il,g as al,l as ol,o as sl,x as cl,y as ll}from"./dropdown-menu.styles-B6YMNOZz.js";import{n as ul,r as dl,t as fl}from"./useRuntimeAPIs-Cx8S1HLz.js";import{C as pl,S as ml,i as hl,n as gl,r as _l,w as vl}from"./textarea-ClPlugKE.js";import{A as yl,C as bl,E as xl,F as Sl,M as Cl,N as wl,O as Tl,P as El,S as Dl,T as Ol,_ as kl,a as Al,b as jl,c as Ml,d as Nl,f as Pl,g as Fl,h as Il,j as Ll,k as Rl,l as zl,m as Bl,o as Vl,p as Hl,s as Ul,u as Wl,v as Gl,w as Kl,x as ql,y as Jl}from"./sessionChangeSummary-Du4sCUoa.js";import{o as Yl}from"./vendor-framer-motion-D-oiwsxL.js";import{C as Xl,D as Zl,E as Ql,O as $l,S as eu,T as tu,a as nu,b as ru,c as iu,d as au,f as ou,i as su,j as cu,k as lu,l as uu,n as du,o as fu,p as pu,r as mu,s as hu,t as gu,u as _u,w as vu,x as yu,y as bu}from"./insertionBoundaries-BKaakPCA.js";import{a as xu,c as Su,i as Cu,o as wu,s as Tu}from"./fileMentionTouchSelection-UGCePzqT.js";import{A as Eu,C as Du,D as Ou,E as ku,N as Au,O as ju,S as Mu,T as Nu,_ as Pu,b as Fu,c as Iu,d as Lu,f as Ru,g as zu,h as Bu,i as Vu,k as Hu,l as Uu,m as Wu,o as Gu,p as Ku,s as qu,t as Ju,u as Yu,v as Xu,w as Zu,x as Qu,y as $u}from"./appThemeRegistry-BpqASUSd.js";import{a as ed,n as td,o as nd,r as rd,t as id}from"./MarkdownRenderer-DiQPj3zp.js";import{_ as ad,a as od,c as sd,g as cd,l as ld,o as ud,t as dd,v as fd,y as pd}from"./vendor-dnd-kit-core-5pNnzVdw.js";import{i as md,n as hd,o as gd,s as _d,t as vd}from"./vendor-dnd-kit-sortable-Dm50I0m7.js";import{a as yd,n as bd,t as xd}from"./url-nbXEti6c.js";import{a as Sd,l as Cd,m as wd,u as Td}from"./markdown-worker-DFNZ3KJ_.js";import{n as Ed,t as Dd}from"./useEffectiveDirectory-DlNcsuzO.js";import{a as Od,i as kd,l as Ad,n as jd,o as Md,r as Nd,s as Pd,t as Fd,u as Id}from"./FadeInOnReveal-CCVddfP5.js";import{i as Ld,n as Rd,r as zd}from"./markdownTheme-CV7_0QAL.js";import{t as Bd}from"./ImageLoadingPlaceholder-C6fDEcU1.js";import{t as Vd}from"./LoadingImage-ByBH-5WW.js";import{A as Hd,C as Ud,D as Wd,E as Gd,M as Kd,O as qd,S as Jd,T as Yd,a as Xd,b as Zd,c as Qd,g as $d,h as ef,i as tf,j as nf,k as rf,o as af,p as of,r as sf,s as cf,t as lf,v as uf,w as df,x as ff,y as pf}from"./useWorkerHighlightedLines-BrZrVBSe.js";import{t as mf}from"./vendor-cmdk-RDxC-9Iz.js";import{t as hf}from"./sortable-tabs-strip-CWR8KhJB.js";import{a as gf}from"./markdownHeightCache-MW1NYOaG.js";import{n as _f,t as vf}from"./vendor-tanstack-react-virtual-B_EO--9t.js";import{t as yf}from"./vendor-motion-88WXBOBf.js";import{t as bf}from"./vendor-legendapp-list-CNxU_ALy.js";import{n as xf,t as Sf}from"./useFontPreferences-6LD7d7hP.js";var Cf=e=>{if(typeof e!=`string`)return;let t=e.trim();if(t)return{location:{directory:t}}};typeof window<`u`&&(window.__opencodeDebug={getLastAssistantMessage(){let e=ma.getState().currentSessionId;if(!e)return null;let t=jt(e);if(!t||t.length===0)return null;for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.role===`assistant`){let e=(ft(n.id)||[]).map(e=>{let t={id:e.id,type:e.type};return e.type===`text`?(t.text=e.text,t.textLength=e.text?.length||0):e.type===`tool`?(t.tool=e.tool,t.state=e.state?.status):(e.type===`step-start`||e.type===`step-finish`)&&(t.isStepMarker=!0),t}),t=e.some(e=>e.type===`text`&&e.text&&e.text.trim().length>0),r=e.some(e=>e.type===`tool`),i=e.some(e=>e.type===`step-start`||e.type===`step-finish`),a=e.length===0,o=!t&&!r&&(!a||i),s={messageId:n.id,role:n.role,timestamp:n.time?.created||0,partsCount:e.length,parts:e,isEmpty:a,isEmptyResponse:o,raw:n};return s.messageId,s.partsCount,s.isEmpty,s.isEmptyResponse,s.isEmpty&&console.warn(`[WARNING] Message has NO parts!`),s.isEmptyResponse&&(console.warn(`[WARNING] Message has parts but NO meaningful content (empty text, no tools)!`),i&&!t&&!r&&console.warn(`[CRITICAL] CLAUDE EMPTY RESPONSE BUG: Only step-start/step-finish markers, no actual content!`)),s}}return null},truncateString(e,t=80){return!e||typeof e!=`string`||e.length<=t?e:e.substring(0,t)+`…`},truncateMessages(e){return e.map(e=>({...e,parts:(ft(e.id)||[]).map(e=>{let t={...e};return`text`in e&&(t.text=this.truncateString(e.text)),`textPreview`in e&&(t.textPreview=this.truncateString(e.textPreview)),e.state&&(t.state={...e.state},`output`in e.state&&(t.state.output=this.truncateString(e.state.output)),`error`in e.state&&(t.state.error=this.truncateString(e.state.error)),e.state.metadata&&`preview`in e.state.metadata&&(t.state.metadata={...e.state.metadata,preview:this.truncateString(e.state.metadata.preview)})),t})}))},getAllMessages(e=!1){let t=ma.getState().currentSessionId;if(!t)return[];let n=jt(t);return`${n.length}`,n.forEach((e,t)=>{let n=ft(e.id)||[];`${t}${e.role}${e.id}${n.length}`}),e?this.truncateMessages(n):n},async getAppStatus(){let e=ot.getState(),t=ma.getState(),n=pa.getState(),r=e.currentDirectory||null,i=xt.getDirectory()??null,a=Mt(),o=new Set,s={};a.forEach(e=>{let t=e.directory;typeof t==`string`&&t.trim().length>0?(o.add(t),s[t]=(s[t]??0)+1):s[`(none)`]=(s[`(none)`]??0)+1});let c=(()=>{if(typeof window>`u`)return{available:!1};try{return{available:!0,lastDirectory:window.localStorage.getItem(`lastDirectory`),homeDirectory:window.localStorage.getItem(`homeDirectory`)}}catch(e){return{available:!1,error:e instanceof Error?e.message:String(e)}}})(),l=S(),u=typeof window<`u`&&!!window.__OPENCHAMBER_ELECTRON__,f=async e=>{try{return await e.json()}catch{return null}},p=async e=>{try{return await e.text()}catch{return null}},m=async e=>{try{let t=await d(e);return t.ok?await f(t):{status:t.status}}catch(e){return{error:e instanceof Error?e.message:String(e)}}},h=null,g=null,_=null,v=null;try{let e=await xt.getSdkClient().location.get(Cf(r));h=_t(e)}catch(e){h={error:e instanceof Error?e.message:String(e)}}try{g=(await xt.getSdkClient().location.get(Cf(r)))?.project??null}catch(e){g={error:e instanceof Error?e.message:String(e)}}_=await m(`/api/config/settings`);try{let e=await d(`/api/health`),t=e.headers.get(`content-type`)||``,n=await p(e),r=t.toLowerCase().includes(`application/json`),i=null;if(r&&n)try{let e=JSON.parse(n);e&&typeof e==`object`&&!Array.isArray(e)&&(i=e)}catch{i=null}v={status:e.status,ok:e.ok,contentType:t,type:r?`json`:`html`,openCodePort:i?.openCodePort??null,openCodeRunning:i?.openCodeRunning??null,openCodeSecureConnection:i?.openCodeSecureConnection??null,openCodeAuthSource:i?.openCodeAuthSource??null,isOpenCodeReady:i?.isOpenCodeReady??null,lastOpenCodeError:i?.lastOpenCodeError??null,preview:n?n.slice(0,120):null}}catch(e){v={error:e instanceof Error?e.message:String(e)}}let y={isGitRepo:null};if(r)try{y.isGitRepo=await hs(r)}catch(e){y={isGitRepo:null,error:e instanceof Error?e.message:String(e)}}let b=n.projects.map(e=>({id:e.id,path:e.path,label:e.label}));return{runtime:{platform:l?.runtime?.platform??null,isDesktop:u,isVSCode:!!l?.runtime?.isVSCode,hasRuntimeApis:!!l,desktopServerOrigin:null},location:typeof window<`u`?{href:window.location?.href??null,origin:window.location?.origin??null}:null,directories:{currentDirectory:r,opencodeDirectory:h?.directory||h?.worktree||i,homeDirectory:e.homeDirectory||null,isHomeReady:e.isHomeReady,hasPersistedDirectory:e.hasPersistedDirectory,isSwitchingDirectory:e.isSwitchingDirectory},projects:{total:n.projects.length,activeProjectId:n.activeProjectId,samples:b},sessions:{total:a.length,currentSessionId:t.currentSessionId,lastLoadedDirectory:t.lastLoadedDirectory,uniqueDirectories:o.size,directorySamples:Array.from(o).slice(0,5),directoryCounts:s},worktrees:{available:t.availableWorktrees.length,metadataEntries:t.worktreeMetadata.size},git:y,localStorage:c,opencode:{pathInfo:h,projectInfo:g,health:v},openchamber:{settingsInfo:_}}},async buildDiagnosticsReport(){let e=await this.getAppStatus();return JSON.stringify(e,null,2)},async copyTextToClipboard(e){return Gn(e)},async copyDiagnosticsReport(){let e=await this.buildDiagnosticsReport();return{...await this.copyTextToClipboard(e),report:e}},checkLastMessage(){let e=this.getLastAssistantMessage();if(!e)return!1;let t=e.isEmpty||e.isEmptyResponse;return t&&(console.error(`[ALERT] PROBLEMATIC MESSAGE DETECTED!`),e.messageId,e.isEmpty,e.isEmptyResponse,e.partsCount,e.parts.length>0&&e.parts),t},getStreamingState(){let e=ma.getState(),t=Wa.getState(),n=e.currentSessionId?t.streamingMessageIds.get(e.currentSessionId)??null:null;return Array.from(t.streamingMessageIds.entries()),Array.from(t.messageStreamStates.entries()),{streamingMessageId:n,streamingMessageIds:t.streamingMessageIds,streamStates:t.messageStreamStates}},findEmptyMessages(){let e=ma.getState().currentSessionId;if(!e)return[];let t=jt(e).filter(e=>e.role===`assistant`).filter(e=>{let t=ft(e.id)||[],n=t.some(e=>e.type===`text`&&e.text&&e.text.trim().length>0),r=t.some(e=>e.type===`tool`);return t.length===0||!n&&!r});return`${t.length}`,t.forEach((e,t)=>{let n=ft(e.id)||[];`${t}`,e.id,n.length,e.providerID,e.modelID,e.time?.created}),t},showRetryHelp(){},analyzeMessageCompletionConsistency(e={}){let{includeNonAssistant:t=!1,verbose:n=!0,maxTableRows:r=25}=e,i=ma.getState().currentSessionId;if(!i)return{summary:null,rows:[]};let a=jt(i),o=t?a:a.filter(e=>e.role===`assistant`),s={totalMessages:a.length,analyzedMessages:o.length,completedMissing:0,completedBeforeTool:0,completedBeforeReasoning:0,runningToolsWhenCompleted:0,reasoningOpenWhenCompleted:0,withTools:0,withReasoning:0},c=e=>typeof e==`number`&&Number.isFinite(e)?e:null,l=e=>{let t=e.filter(e=>typeof e==`number`);return t.length>0?Math.max(...t):null},u=o.map((e,t)=>{let n=e,r=ft(e.id)||[],i=n.time??{},a=c(i.completed),o=a!==null,u=r.filter(e=>e.type===`tool`),d=r.filter(e=>e.type===`reasoning`),f=l(u.map(e=>c(e.state?.time?.end??e.state?.time?.start))),p=l(d.map(e=>c(e.time?.end??e.time?.start))),m=l([f,p].filter(e=>e!==null)),h=u.some(e=>[`pending`,`running`,`started`].includes(e.state?.status)),g=d.some(e=>typeof e.time?.end!=`number`);u.length>0&&(s.withTools+=1),d.length>0&&(s.withReasoning+=1),o||(s.completedMissing+=1);let _=!!(o&&typeof f==`number`&&a<f);_&&(s.completedBeforeTool+=1);let v=!!(o&&typeof p==`number`&&a<p);return v&&(s.completedBeforeReasoning+=1),o&&h&&(s.runningToolsWhenCompleted+=1),o&&g&&(s.reasoningOpenWhenCompleted+=1),{index:t,messageId:n.id,role:n.role,completedAt:a,latestToolTimestamp:f,latestReasoningTimestamp:p,latestPartTimestamp:m,completed_missing:!o,completed_before_tool:_,completed_before_reasoning:v,running_tools_when_completed:!!(o&&h),reasoning_open_when_completed:!!(o&&g),has_tools:u.length>0,has_reasoning:d.length>0}});return n&&(console.table(u.slice(0,r)),u.length>r&&`${r}${u.length}`),{summary:s,rows:u}},checkCompletionStatus(){let e=ma.getState().currentSessionId;if(!e)return null;let t=jt(e).filter(e=>e.role===`assistant`);if(t.length===0)return null;let n=t[t.length-1],r=(ft(n.id)||[]).filter(e=>e.type===`step-finish`),i=n.finish===`stop`,a=n.time?.completed,o=n.status,s=typeof a==`number`&&a>0||o===`completed`,c=!!(s&&i),l=Wa.getState();n.sessionID&&l.streamingMessageIds.get(n.sessionID);let u=l.messageStreamStates.get(n.id);return n.id,n.id,u?.phase,{messageId:n.id,completed:a,status:o,hasCompletedFlag:s,hasStopReason:i,messageIsComplete:c,stepFinishParts:r,raw:n}}},Tt(),window.addEventListener(`error`,e=>{try{let t=e.message||``,n=e.filename||``;typeof t==`string`&&t.includes(`this._renderer.value.dimensions`)&&/xterm/i.test(String(n))&&e.preventDefault()}catch{}}));var Z=e(Ye(),1),Q=bn(),wf=async()=>{if(typeof window>`u`)return;let e=null;try{e=M(`lastDirectory`)}catch(e){console.warn(`Failed to read saved directory preferences:`,e)}e&&!K()&&ot.getState().setDirectory(e,{showOverlay:!1})},Tf=new Map,Ef=e=>Tf.get(e)??null,Df=({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,onError:i},a={})=>{let o=Tf.get(e);if(o&&!a.force)return o;let s=(async()=>{o&&await o;try{await t()}catch(e){return i(`appearance`,e),!1}try{await Promise.all([n(),r()])}catch(e){i(`secondary`,e)}return!0})();return Tf.set(e,s),s},Of=async({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,startWatchers:i,onError:a})=>{await Df({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,onError:a})&&i()},kf=(e,t=50)=>{let n=null,r;return{schedule:i=>{r=i,n&&clearTimeout(n),n=setTimeout(()=>{n=null;let t=r;r=void 0,t!==void 0&&e(t)},t)},cancel:()=>{n&&clearTimeout(n),n=null,r=void 0}}};function Af(e){return!e||e===`idle`?null:e===`ready`?`ok`:e===`error`?`unreachable`:`auth`}function jf(e,t){let n=e.via===`relay`;return t?n:!n}function Mf(e){let{isActive:t,isSsh:n,runtimeIsConnected:r,runtimeConnectionPhase:i,currentTransportIsRelay:a,probe:o,sshPhase:s}=e,c;c=t?r&&i===`connected`?`ok`:`checking`:n?Af(s):o?.status??`checking`;let l=t?a:o?.via===`relay`,u=null;return!n&&c===`ok`&&o?.status===`ok`&&typeof o.latencyMs==`number`&&(!t||jf(o,a))&&(u=Math.max(0,Math.round(o.latencyMs))),{statusKind:c,showViaRelay:l,latencyMs:u}}var $=$e(),Nf=`local`,Pf=9e4,Ff=`SSH connection cancelled`,If=e=>Be(e),Lf={},Rf=e=>{let t=Le(e);if(!t)return e.trim();try{let e=new URL(t);return e.pathname.endsWith(`/`)||(e.pathname=`${e.pathname}/`),e.toString()}catch{return t}},zf=()=>typeof window>`u`?``:window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,Bf=async()=>ve()?Ie().catch(()=>``):``,Vf=e=>e===`ok`?`bg-status-success`:e===`auth`||e===`update-recommended`?`bg-status-warning`:e===`incompatible`||e===`wrong-service`||e===`unreachable`?`bg-status-error`:e===`checking`?`bg-status-info`:`bg-muted-foreground/40`,Hf=e=>e===`ok`?`text-[var(--status-success)]`:e===`auth`||e===`update-recommended`?`text-[var(--status-warning)]`:e===`incompatible`||e===`wrong-service`||e===`unreachable`?`text-[var(--status-error)]`:`text-muted-foreground`,Uf=e=>e===`unreachable`||e===`wrong-service`||e===`incompatible`,Wf=e=>e===`unreachable`||e===`wrong-service`||e===`incompatible`,Gf=e=>e===`ok`?`desktopHostSwitcher.status.connected`:e===`auth`?`desktopHostSwitcher.status.authRequired`:e===`checking`?`desktopHostSwitcher.status.checking`:e===`update-recommended`?`desktopHostSwitcher.status.updateRecommended`:e===`incompatible`?`desktopHostSwitcher.status.incompatible`:e===`wrong-service`?`desktopHostSwitcher.status.wrongService`:e===`unreachable`?`desktopHostSwitcher.status.unreachable`:`desktopHostSwitcher.status.unknown`,Kf=e=>new Promise(t=>window.setTimeout(t,e)),qf=e=>{switch(e){case`ready`:return`desktopHostSwitcher.sshPhase.ready`;case`error`:return`desktopHostSwitcher.sshPhase.error`;case`degraded`:return`desktopHostSwitcher.sshPhase.reconnecting`;case`config_resolved`:return`desktopHostSwitcher.sshPhase.resolvingConfig`;case`auth_check`:return`desktopHostSwitcher.sshPhase.checkingAuth`;case`master_connecting`:return`desktopHostSwitcher.sshPhase.connectingSsh`;case`remote_probe`:return`desktopHostSwitcher.sshPhase.probingRemote`;case`installing`:return`desktopHostSwitcher.sshPhase.installing`;case`updating`:return`desktopHostSwitcher.sshPhase.updating`;case`server_detecting`:return`desktopHostSwitcher.sshPhase.detectingServer`;case`server_starting`:return`desktopHostSwitcher.sshPhase.startingServer`;case`forwarding`:return`desktopHostSwitcher.sshPhase.forwardingPorts`;default:return`desktopHostSwitcher.sshPhase.idle`}},Jf=async()=>{let e=await Ac().catch(()=>[]),t={};for(let n of e)t[n.id]=n;return t},Yf=async(e,t,n,r)=>{let i=Date.now()+t;for(;Date.now()<i;){if(r?.())throw Error(Ff);let t=(await Ac(e).catch(()=>[])).find(t=>t.id===e);if(t){if(n(t),t.phase===`ready`)return t;if(t.phase===`error`)throw Error(t.detail||`SSH connection failed`)}await Kf(700)}throw r?.()?Error(Ff):Error(`Timed out waiting for SSH connection`)},Xf=e=>({id:Nf,label:`Local`,url:e||zf()}),Zf=e=>{let t=typeof window>`u`?``:window.location.href,n=e.find(e=>e.id===Nf)?.url||zf(),r=u(),i=Le(n)||n,a=Le(t)||t,o=l(),s=e.find(e=>e.relay&&If(e)===o);if(s)return{id:s.id,label:s.label,url:s.url};if(r&&Ae(r,n))return{id:Nf,label:`Local`,url:i};let c=e.find(e=>r?Ae(r,Ne(e)):!1);if(c)return{id:c.id,label:c.label,url:Le(Ne(c))||Ne(c)};if(t&&Ae(t,n))return{id:Nf,label:`Local`,url:i};let d=e.find(e=>t?Ae(t,e.url):!1);return d?{id:d.id,label:d.label,url:Le(d.url)||d.url}:t.startsWith(`openchamber-ui://`)?{id:Nf,label:`Local`,url:i}:{id:`custom`,label:je(a||`Instance`),url:a}};function Qf({open:e,onOpenChange:t,embedded:n=!1,onHostSwitched:i}){let{t:o}=Kn(),s=q(e=>e.setSettingsDialogOpen),c=q(e=>e.setSettingsPage),l=aa(e=>e.isConnected),u=aa(e=>e.connectionPhase),[d,f]=Z.useState([]),[p,m]=Z.useState(null),[h,g]=Z.useState(()=>({...Lf}));Z.useEffect(()=>{Object.assign(Lf,h)},[h]);let[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),[x,S]=Z.useState(!1),C=Fc(),w=gc(),[T,E]=Z.useState(null),D=T||w,[O,k]=Z.useState({}),[A,j]=Z.useState({}),[M,N]=Z.useState({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),[P,F]=Z.useState(``),[I,L]=Z.useState(()=>zf()),[R,z]=Z.useState(null),[B,V]=Z.useState(``),[H,ee]=Z.useState(``),[U,te]=Z.useState(0),ne=Z.useRef(0),W=Z.useMemo(()=>[Xf(I),...d.map(e=>({...e,url:Le(e.url)||e.url}))],[d,I]),G=Z.useMemo(()=>new Set(Object.keys(O)),[O]),re=Z.useMemo(()=>W.filter(e=>e.id===Nf||ke(e,G)),[W,G]);Z.useEffect(()=>r(()=>te(e=>e+1)),[]);let ie=Z.useMemo(()=>Zf(W),[W,U]),ae=Z.useMemo(()=>a().startsWith(`relay:`),[U]),oe=Z.useMemo(()=>{let e=p||Nf;return W.find(t=>t.id===e)?.label||o(`desktopHostSwitcher.instance.local`)},[W,p,o]),se=Z.useCallback(async(e,t)=>{if(fe()){S(!0),F(``);try{let n=e.filter(e=>e.id!==Nf);await Me({hosts:n,defaultHostId:t}),f(n),m(t)}catch(e){F(e instanceof Error?e.message:o(`desktopHostSwitcher.error.failedToSave`))}finally{S(!1)}}},[o]),K=Z.useCallback(()=>{c(`remote-instances`),s(!0),t(!1)},[t,s,c]),ce=Z.useCallback(async()=>{if(fe()){v(!0),F(``);try{let[e,t,n]=await Promise.all([Re(),Us().catch(()=>({instances:[]})),Jf()]);e.localOrigin&&L(e.localOrigin);let r={};for(let e of t.instances)r[e.id]=!0;f(e.hosts||[]),m(e.defaultHostId??null),k(r),j(n)}catch(e){F(e instanceof Error?e.message:o(`desktopHostSwitcher.error.failedToLoad`)),f([]),m(null),k({}),j({})}finally{v(!1)}}},[o]),le=Z.useCallback(async e=>{if(fe()){b(!0);try{let t=await Bf(),n=await Promise.all(e.map(async e=>{let n=async()=>{let t=await Pe(e.relay,{clientToken:e.clientToken||null}).catch(()=>({status:`unreachable`,latencyMs:0}));return{status:t.status,latencyMs:t.latencyMs,...t.status===`ok`?{via:`relay`}:{}}};if(e.relay&&!e.apiUrl)return[e.id,await n()];let r=Le(ve()?Ne(e):e.url);if(!r)return[e.id,{status:`unreachable`,latencyMs:0}];let i=e.id===Nf?t:e.clientToken||``,a=await Fe(r,{clientToken:i||null,requestHeaders:e.requestHeaders||null}).catch(()=>({status:`unreachable`,latencyMs:0}));if(Uf(a.status)&&e.relay){let t=await n();if(t.status===`ok`)return[e.id,t]}return[e.id,{status:a.status,latencyMs:a.latencyMs}]})),r={};for(let[e,t]of n)r[e]=t;g(r)}finally{b(!1)}}},[]);Z.useEffect(()=>{if(!e){z(null),V(``),ee(``),E(null),N({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),F(``);return}ce()},[e,ce]),Z.useEffect(()=>{e&&le(re)},[e,re,le]),Z.useEffect(()=>{if(!e||!fe())return;let t=!1,n=async()=>{let e=await Jf();t||j(e)};n();let r=window.setInterval(()=>{typeof document<`u`&&document.visibilityState!==`visible`||n()},1500);return()=>{t=!0,window.clearInterval(r)}},[e]);let ue=J(async e=>{let t=e.id===Nf?I:Le(e.url)||``,n=e.id===Nf?I:Le(Ne(e))||``,r=!!e.relay&&!e.apiUrl&&e.id!==Nf;if(!t&&!r)return;if(ve()){if(!n&&!e.relay||C)return;let t=e.id===Nf?await Bf():null,r=await Sc({host:e,cachedProbe:h[e.id]||null,...e.id===Nf?{localApiOrigin:n,localClientToken:t}:{}});g(t=>({...t,[e.id]:r.status})),r.ok&&i?.();return}let a=!!O[e.id];if(e.id!==Nf&&a&&fe()){let n=A[e.id],r=await Ac(e.id).then(t=>t.find(t=>t.id===e.id)||null).catch(()=>null);r&&(n=r,j(t=>({...t,[e.id]:r})));let a=Le(n?.localUrl||e.url||``);if(n?.phase===`ready`&&a){let e=Rf(a);i?.(),window.location.assign(e);return}E(e.id);let s=ne.current+1;ne.current=s,N({open:!0,hostId:e.id,hostLabel:je(e.label),phase:`master_connecting`,detail:null,error:null,errorCode:null});try{if(await cc(e.id),s!==ne.current)return;let n=await Yf(e.id,Pf,e=>{j(t=>({...t,[e.id]:e})),N(t=>({...t,phase:e.phase,detail:e.detail||null,errorCode:e.errorCode||null}))},()=>s!==ne.current);if(s!==ne.current)return;let r=Rf(Le(n.localUrl||``)||t);i?.(),window.location.assign(r);return}catch(t){if(s!==ne.current)return;let n=t instanceof Error?t.message:String(t);if(n===Ff)return;let r=qs(M.errorCode,n);N(e=>({...e,error:n,errorCode:r})),mi.error(o(`desktopHostSwitcher.toast.sshFailedToConnect`,{host:je(e.label)}),{description:oc(o(Ys(r)),r,n)});return}finally{s===ne.current&&E(null)}}if(e.id!==Nf&&fe()){E(e.id);let n=await Fe(t,{clientToken:e.clientToken||null,requestHeaders:e.requestHeaders||null}).catch(()=>({status:`unreachable`,latencyMs:0}));if(g(t=>({...t,[e.id]:{status:n.status,latencyMs:n.latencyMs}})),Uf(n.status)){mi.error(o(`desktopHostSwitcher.toast.instanceUnreachable`,{host:je(e.label)})),E(null);return}}let s=Rf(t);i?.();try{window.location.assign(s)}catch{window.location.href=s}}),de=Z.useCallback(()=>{z(null),V(``),ee(``)},[]),pe=Z.useCallback(e=>{e.stopPropagation()},[]),me=Z.useCallback(async()=>{if(!R)return;if(R===Nf){de();return}let e=De(H);if(!e){F(o(`desktopHostSwitcher.error.invalidUrl`));return}let t=e.persistedUrl,n=(B||je(t)).trim(),r=d.map(e=>e.id===R?{...e,label:n,url:t,apiUrl:t}:e);await se(r,p),de(),e.redeemUrl&&window.location.assign(e.redeemUrl)},[de,d,p,B,H,R,se,o]),he=Z.useCallback(async e=>{await se(d,e===Nf?Nf:e)},[d,se]),ge=Z.useCallback(e=>{let t=e=>{mi.error(o(`desktopHostSwitcher.error.failedToOpenNewWindow`),{description:e instanceof Error?e.message:String(e)})};if(e.relay&&e.id!==Nf){Oe(e.id).catch(t);return}let n=e.id===Nf?I:Ne(e);if(!n)return;let r=Rf(n);ze(r,{clientToken:e.clientToken||null,requestHeaders:e.requestHeaders||null}).catch(t)},[I,o]),_e=J(async()=>{ne.current+=1,E(null),N(e=>({...e,open:!1,hostId:null,error:null,errorCode:null,detail:null,phase:`idle`}));let e=Rf(I);if(ve()){if(C)return;let e=await Bf();(await Sc({host:Xf(I),localApiOrigin:I,localClientToken:e})).ok&&i?.();return}i?.(),window.location.assign(e)}),ye=Z.useCallback(async()=>{let e=M.hostId||D;ne.current+=1,E(null),N({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),!(!e||e===Nf||!fe())&&await uc(e).catch(()=>{})},[M.hostId,D]),be=Z.useCallback(()=>{let e=M.hostId;if(!e)return;let t=W.find(t=>t.id===e);t&&ue(t)},[W,ue,M.hostId]),xe=Z.useCallback(async e=>{if(fe()){E(e.id);try{await cc(e.id),(await Yf(e.id,Pf,e=>{j(t=>({...t,[e.id]:e}))})).phase===`ready`&&mi.success(o(`desktopHostSwitcher.toast.sshConnected`,{host:je(e.label)}))}catch(t){let n=t instanceof Error?t.message:String(t);if(n!==Ff){let t=qs(null,n);mi.error(o(`desktopHostSwitcher.toast.sshFailedToConnect`,{host:je(e.label)}),{description:oc(o(Ys(t)),t,n)})}}finally{E(null)}}},[o]);if(!fe())return null;let Se=fe(),Ce=(0,$.jsxs)($.Fragment,{children:[n?(0,$.jsx)(`div`,{className:`flex-shrink-0 border-b border-[var(--interactive-border)] px-3 py-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex items-baseline gap-1.5 typography-ui-label`,children:[(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:o(`desktopHostSwitcher.header.current`)}),(0,$.jsx)(`span`,{className:`max-w-[9rem] truncate text-muted-foreground`,children:je(ie.label)}),(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`•`}),(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:o(`desktopHostSwitcher.header.default`)}),(0,$.jsx)(`span`,{className:`max-w-[9rem] truncate text-muted-foreground`,children:je(oe)})]}),(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:text-foreground hover:bg-interactive-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),onClick:()=>void le(re),disabled:!Se||_||y,"aria-label":o(`desktopHostSwitcher.actions.refreshInstancesAria`),children:(0,$.jsx)(X,{name:`refresh`,className:Y(`h-4 w-4`,y&&`animate-spin`)})})]})}):(0,$.jsxs)(ss,{className:`flex-shrink-0`,children:[(0,$.jsxs)(us,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`server`,className:`h-5 w-5`}),o(`desktopHostSwitcher.title`)]}),(0,$.jsx)(ds,{children:o(`desktopHostSwitcher.description`)})]}),!n&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 flex-shrink-0`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`desktopHostSwitcher.header.currentColon`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:je(ie.label)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`desktopHostSwitcher.header.currentDefaultColon`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:je(oe)})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,$.jsxs)(Xn,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>void le(re),disabled:!Se||_||y,children:[(0,$.jsx)(X,{name:`refresh`,className:Y(`h-4 w-4`,y&&`animate-spin`)}),o(`desktopHostSwitcher.actions.refresh`)]})})]}),!Se&&(0,$.jsx)(`div`,{className:`flex-shrink-0 rounded-lg border border-border/50 bg-muted/20 p-3`,children:(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:o(`desktopHostSwitcher.state.limitedOnPage`)})}),(0,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,$.jsx)(`div`,{className:Y(`space-y-1`,n&&`space-y-1.5 px-3 py-1`),children:_?(0,$.jsx)(`div`,{className:`px-2 py-2 text-muted-foreground text-sm`,children:o(`desktopHostSwitcher.state.loading`)}):re.map(e=>{let t=e.id===Nf,r=!!O[e.id],i=e.id===ie.id,a=(p||Nf)===e.id,s=h[e.id]||null,c=A[e.id]||null,d=Mf({isActive:i,isSsh:r,runtimeIsConnected:l,runtimeConnectionPhase:u,currentTransportIsRelay:ae,probe:s,sshPhase:c?.phase}),f=d.statusKind,m=d.showViaRelay,g=R===e.id,_=t?I:Le(e.url)||e.url,v=e.id===Nf?o(`desktopHostSwitcher.instance.local`):je(e.label),y=e.relay&&!e.apiUrl?o(`mobile.connect.relay.badge`):je(_);return(0,$.jsxs)(`div`,{className:Y(`app-region-no-drag group flex items-center gap-2 px-2.5 py-2 rounded-md overflow-hidden`,n&&`rounded-xl bg-[var(--surface-muted)] px-3 py-2.5`,n&&i&&`bg-[var(--interactive-selection)]/25`,g?`bg-interactive-hover/20`:`hover:bg-interactive-hover/30`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(`flex items-center gap-2 flex-1 min-w-0 text-left`,g&&`pointer-events-none opacity-70`),onClick:()=>void ue(e),disabled:D===e.id,"aria-label":o(`desktopHostSwitcher.actions.switchToAria`,{instance:v}),children:[(0,$.jsx)(`span`,{className:Y(`h-2 w-2 rounded-full flex-shrink-0`,Vf(f))}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-medium truncate text-foreground`,children:v}),i&&(0,$.jsx)(`span`,{className:`typography-micro flex-shrink-0 text-muted-foreground bg-muted px-1 rounded leading-none pb-px border border-border/50`,children:o(`desktopHostSwitcher.header.current`)}),r&&(0,$.jsx)(`span`,{className:`typography-micro flex-shrink-0 px-1 rounded leading-none pb-px text-[var(--status-info)] bg-[var(--status-info)]/10`,children:`SSH`})]}),(0,$.jsxs)(`div`,{className:Y(`typography-micro truncate`,Hf(f)),children:[o(r&&!i?qf(c?.phase):Gf(f)),d.latencyMs==null?``:o(`desktopHostSwitcher.status.ping`,{ms:d.latencyMs}),m?` · ${o(`settings.remoteInstances.clientAuth.state.viaRelay`)}`:``]}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70 truncate font-mono`,children:y})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[r&&!t&&(c?.phase===`idle`||!c?.phase?(0,$.jsxs)(Xn,{type:`button`,variant:`outline`,size:`sm`,className:`h-8 px-2.5`,disabled:D===e.id,onClick:t=>{t.stopPropagation(),xe(e)},children:[D===e.id?(0,$.jsx)(X,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}):(0,$.jsx)(X,{name:`plug-2`,className:`h-3.5 w-3.5`}),o(`desktopHostSwitcher.actions.connect`)]}):(0,$.jsx)(`div`,{className:`h-8 w-8 opacity-0 pointer-events-none`,"aria-hidden":`true`})),(0,$.jsxs)(Vs,{delayDuration:600,children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:Y(`app-region-no-drag h-8 w-8 rounded-md inline-flex items-center justify-center hover:bg-interactive-hover transition-colors`,a?`text-primary hover:text-primary/80`:`text-muted-foreground/60 hover:text-primary/80`),onClick:()=>void he(e.id),"aria-label":o(a?`desktopHostSwitcher.actions.defaultInstanceAria`:`desktopHostSwitcher.actions.setAsDefaultAria`),disabled:x||!a&&Wf(f),children:a?(0,$.jsx)(X,{name:`star-fill`,className:`h-4 w-4`}):(0,$.jsx)(X,{name:`star`,className:`h-4 w-4`})})}),(0,$.jsx)(Bs,{sideOffset:6,children:o(a?`desktopHostSwitcher.header.default`:`desktopHostSwitcher.actions.setAsDefault`)})]}),(0,$.jsxs)(Vs,{delayDuration:600,children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:Y(`app-region-no-drag h-8 w-8 rounded-md inline-flex items-center justify-center hover:bg-interactive-hover transition-colors`,Wf(f)?`text-muted-foreground/30 cursor-not-allowed`:`text-muted-foreground/60 hover:text-foreground`),onClick:t=>{t.stopPropagation(),ge(e)},disabled:Wf(f),"aria-label":o(`desktopHostSwitcher.actions.openInNewWindowAria`),children:(0,$.jsx)(X,{name:`window`,className:`h-4 w-4`})})}),(0,$.jsx)(Bs,{sideOffset:6,children:Wf(f)?o(`desktopHostSwitcher.state.instanceUnreachable`):o(`desktopHostSwitcher.actions.openInNewWindow`)})]})]})]},e.id)})})}),Se&&R&&R!==Nf&&(0,$.jsxs)(`div`,{className:`flex-shrink-0 rounded-lg border border-border/50 bg-muted/20 p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-medium text-foreground`,children:o(`desktopHostSwitcher.edit.title`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Xn,{type:`button`,variant:`outline`,size:`sm`,onClick:de,disabled:x,children:o(`desktopHostSwitcher.actions.cancel`)}),(0,$.jsxs)(Xn,{type:`button`,size:`sm`,onClick:()=>void me(),disabled:x,children:[x?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):null,o(`desktopHostSwitcher.actions.save`)]})]})]}),(0,$.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,$.jsx)(Rs,{value:B,onChange:e=>V(e.target.value),onKeyDown:pe,placeholder:o(`desktopHostSwitcher.field.labelPlaceholder`),disabled:x}),(0,$.jsx)(Rs,{value:H,onChange:e=>ee(e.target.value),onKeyDown:pe,placeholder:o(`desktopHostSwitcher.field.urlPlaceholder`),disabled:x})]})]}),(0,$.jsx)(`div`,{className:`flex-shrink-0 border-t border-[var(--interactive-border)]`,children:(0,$.jsxs)(`button`,{type:`button`,className:`w-full flex items-center gap-2 px-2 py-2 text-left text-muted-foreground hover:text-foreground hover:bg-interactive-hover/30 transition-colors`,onClick:K,children:[(0,$.jsx)(X,{name:`add`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label`,children:o(`desktopHostSwitcher.actions.addInstance`)})]})}),P&&(0,$.jsx)(`div`,{className:`flex-shrink-0 typography-meta text-status-error`,children:P})]}),we=(0,$.jsx)(ps,{open:M.open,onOpenChange:e=>{if(!e&&D){ye();return}N(t=>({...t,open:e,...e?{}:{hostId:null,error:null,errorCode:null,detail:null,phase:`idle`}}))},children:(0,$.jsxs)(ls,{className:`w-[min(28rem,calc(100vw-2rem))] max-w-none`,children:[(0,$.jsxs)(ss,{children:[(0,$.jsxs)(us,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(`h-4 w-4`,!M.error&&`animate-spin`)}),o(`desktopHostSwitcher.ssh.connectingTo`,{host:M.hostLabel||o(`desktopHostSwitcher.ssh.instanceFallback`)})]}),M.error?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ds,{className:`sr-only`,children:o(kc(qs(M.errorCode,M.error)))}),(0,$.jsx)(rc,{errorCode:M.errorCode,detail:M.error})]}):(0,$.jsx)(ds,{children:M.detail||o(qf(M.phase))})]}),M.error?(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,$.jsx)(Xn,{type:`button`,size:`sm`,variant:`outline`,onClick:()=>{K(),ye()},children:o(`desktopHostSwitcher.sshError.openRemoteSettings`)}),(0,$.jsx)(Xn,{type:`button`,size:`sm`,variant:`outline`,onClick:()=>void _e(),children:o(`desktopHostSwitcher.actions.switchToLocal`)}),(0,$.jsx)(Xn,{type:`button`,size:`sm`,onClick:be,disabled:!M.hostId,children:o(`desktopHostSwitcher.actions.retry`)})]}):null]})});return n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`w-full max-h-[70vh] flex flex-col overflow-hidden gap-2`,children:Ce}),we]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ps,{open:e,onOpenChange:t,children:(0,$.jsx)(ls,{className:`w-[min(42rem,calc(100vw-2rem))] max-w-none max-h-[70vh] flex flex-col overflow-hidden gap-3`,children:Ce})}),we]})}function $f(){let e=(0,Q.c)(11),[t,n]=Z.useState(!1),{t:r}=Kn();if(!fe())return null;let i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>n(!0),a=(0,$.jsx)(X,{name:`server`,className:`h-4 w-4`}),e[0]=i,e[1]=a):(i=e[0],a=e[1]);let o;e[2]===r?o=e[3]:(o=r(`desktopHostSwitcher.actions.switchInstance`),e[2]=r,e[3]=o);let s;e[4]===o?s=e[5]:(s=(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`sm`,"data-oc-host-switcher":!0,className:`w-full justify-center`,onClick:i,children:[a,o]}),e[4]=o,e[5]=s);let c;e[6]===t?c=e[7]:(c=(0,$.jsx)(Qf,{open:t,onOpenChange:n}),e[6]=t,e[7]=c);let l;return e[8]!==s||e[9]!==c?(l=(0,$.jsxs)($.Fragment,{children:[s,c]}),e[8]=s,e[9]=c,e[10]=l):l=e[10],l}var ep=e=>e.shouldUseDesktopShellPasswordLogin?`locked`:`error`,tp=`/auth/session`,np=4,rp=1500,ip=`openchamber.uiAuth.trustDevice`,ap=`desktop-local`,op=`desktop-local`,sp=()=>{if(typeof window>`u`)return``;let e=window.__OPENCHAMBER_LOCAL_ORIGIN__;return typeof e==`string`?e.trim():``},cp=(e,t)=>{let n=Le(e),r=Le(t);if(!n||!r)return!1;try{return new URL(n).origin===new URL(r).origin}catch{return!1}},lp=()=>fe(),up=e=>{let t=e.replace(/^\[|\]$/g,``);return t===`localhost`||t===`127.0.0.1`||t===`::1`},dp=()=>{if(!fe())return!1;let e=sp();if(!e)return!1;let t=u()||(typeof window<`u`?window.location.origin:``);if(cp(e,t))return!0;try{let e=Le(t);return!!(e&&up(new URL(e).hostname))}catch{return!1}},fp=()=>dp()?{clientKind:ap,dedupeKey:op}:{},pp=async()=>await d(tp,{method:`GET`,credentials:`include`,headers:{Accept:`application/json`}}),mp=()=>typeof window>`u`?!1:window.localStorage.getItem(ip)===`true`,hp=async(e,t)=>{let n=lp();return await d(tp,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({password:e,trustDevice:t,issueClientToken:n,clientLabel:`OpenChamberY Desktop`,...fp()})})},gp=async()=>{if(!fe())return``;let e=await d(`/api/client-auth/clients`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({label:`OpenChamberY Desktop`,...fp()})}).catch(()=>null);if(!e?.ok)return``;let t=await e.json().catch(()=>null);return typeof t?.token==`string`?t.token.trim():``},_p=()=>fe()&&!dp(),vp=async(e,t)=>{if(!fe()||typeof window>`u`)return null;let r=await _e(`desktop_remote_password_login`,{url:u(),password:e,trustDevice:t,requestHeaders:n()}).catch(()=>null);if(!r||typeof r!=`object`)return null;let i=r.token,a=r.status;return{token:typeof i==`string`?i.trim():``,...typeof a==`number`?{status:a}:{}}},yp=async(e,t)=>{if(!fe()||!t)return;let n=await Re().catch(()=>null);if(!n)return;if(n.localOrigin&&cp(n.localOrigin,e)){await Me({hosts:n.hosts,defaultHostId:n.defaultHostId,initialHostChoiceCompleted:n.initialHostChoiceCompleted,localClientToken:t}).catch(()=>void 0);return}let r=!1,i=n.hosts.map(n=>!cp(Ne(n),e)||n.clientToken===t?n:(r=!0,{...n,clientToken:t}));r&&await Me({hosts:i,defaultHostId:n.defaultHostId,initialHostChoiceCompleted:n.initialHostChoiceCompleted}).catch(()=>void 0)},bp=async e=>{if(!e)return;let r=u(),i=n();await yp(r,e),o({apiBaseUrl:r,clientToken:e,requestHeaders:Object.keys(i).length>0?i:null,relay:t()})},xp=e=>{let t=(0,Q.c)(7),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={height:`var(--oc-wco-titlebar-height, 0px)`,right:`var(--oc-wco-right-inset, 0px)`},t[0]=r):r=t[0];let i=r,a,o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a={fontFamily:`"Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif`},o=(0,$.jsx)(`div`,{className:`app-region-drag fixed left-0 top-0 z-20`,style:i,"aria-hidden":!0}),t[1]=a,t[2]=o):(a=t[1],o=t[2]);let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 opacity-55`,style:{background:`radial-gradient(120% 140% at 50% -20%, var(--surface-overlay) 0%, transparent 68%)`}}),t[3]=s):s=t[3];let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:{backgroundColor:`var(--surface-subtle)`,opacity:.22}}),t[4]=c):c=t[4];let l;return t[5]===n?l=t[6]:(l=(0,$.jsxs)(`div`,{className:`relative flex min-h-screen items-center justify-center overflow-hidden bg-background text-foreground`,style:a,children:[o,s,c,(0,$.jsx)(`div`,{className:`app-region-no-drag relative z-10 flex w-full justify-center px-4 py-12 sm:px-6`,children:n})]}),t[5]=n,t[6]=l),l},Sp=()=>{let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-background text-foreground`,children:(0,$.jsx)(Js,{width:120,height:120})}),e[0]=t):t=e[0],t},Cp=e=>{let t=(0,Q.c)(23),{onRetry:n,errorType:r,retryAfter:i,children:a}=e,o=r===void 0?`network`:r,{t:s}=Kn(),c=o===`rate-limit`,l=i?Math.ceil(i/60):1,u;t[0]!==c||t[1]!==s?(u=s(c?`sessionAuth.error.rateLimitTitle`:`sessionAuth.error.networkTitle`),t[0]=c,t[1]=s,t[2]=u):u=t[2];let d;t[3]===u?d=t[4]:(d=(0,$.jsx)(`h1`,{className:`typography-ui-header font-semibold text-destructive`,children:u}),t[3]=u,t[4]=d);let f;t[5]!==c||t[6]!==l||t[7]!==s?(f=c?s(l>1?`sessionAuth.error.rateLimitDescriptionPlural`:`sessionAuth.error.rateLimitDescriptionSingle`,{minutes:l}):s(`sessionAuth.error.networkDescription`),t[5]=c,t[6]=l,t[7]=s,t[8]=f):f=t[8];let p;t[9]===f?p=t[10]:(p=(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground max-w-xs`,children:f}),t[9]=f,t[10]=p);let m;t[11]!==d||t[12]!==p?(m=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[d,p]}),t[11]=d,t[12]=p,t[13]=m):m=t[13];let h;t[14]===s?h=t[15]:(h=s(`sessionAuth.error.retry`),t[14]=s,t[15]=h);let g;t[16]!==n||t[17]!==h?(g=(0,$.jsx)(Xn,{type:`button`,onClick:n,className:`w-full max-w-xs`,children:h}),t[16]=n,t[17]=h,t[18]=g):g=t[18];let _;return t[19]!==a||t[20]!==m||t[21]!==g?(_=(0,$.jsx)(xp,{children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-6 text-center`,children:[m,g,a]})}),t[19]=a,t[20]=m,t[21]=g,t[22]=_):_=t[22],_},wp=({children:e})=>{let{t}=Kn(),n=Z.useMemo(()=>K(),[]),i=n,a=Z.useMemo(()=>fe()&&!n,[n]),[o,s]=Z.useState(()=>i?`authenticated`:`pending`),[u,d]=Z.useState(``),[f,p]=Z.useState(!1),[m,h]=Z.useState(``),[g,_]=Z.useState(void 0),[v,y]=Z.useState(!1),[b,x]=Z.useState(Qs),[S,C]=Z.useState(!1),[w,T]=Z.useState(!1),[E,D]=Z.useState(()=>mp()),[O,k]=Z.useState(null),[A,j]=Z.useState(i),M=Z.useRef(null),N=Z.useRef(i);Z.useEffect(()=>{typeof window>`u`||window.localStorage.setItem(ip,E?`true`:`false`)},[E]);let P=Z.useCallback(async()=>{if(i)return Qs;try{let e=await Ks();return x(e),e}catch{return x(Qs),Qs}},[i]);Z.useEffect(()=>{let e=!1;if(!i)return(async()=>{try{if(!window.isSecureContext||!gs()){e||C(!1);return}e||C(!0)}catch{e||C(!1)}})(),()=>{e=!0}},[i]);let F=Z.useRef(0),I=Z.useRef(null),L=Z.useRef(null),R=Z.useCallback(()=>{I.current!==null&&(window.clearTimeout(I.current),I.current=null)},[]),z=Z.useCallback(()=>{F.current=0,R()},[R]),B=Z.useCallback(()=>F.current>=np?!1:(F.current+=1,R(),I.current=window.setTimeout(()=>{I.current=null,L.current?.()},rp*F.current),!0),[R]);Z.useEffect(()=>R,[R]);let V=Z.useCallback(async()=>{if(i){s(`authenticated`);return}s(e=>e===`authenticated`?e:`pending`);try{let[e,t]=await Promise.all([pp(),P()]),n=await e.text();if(e.ok){z(),s(`authenticated`),y(!1),h(``),_(void 0);return}if(e.status===401){let e={};try{e=JSON.parse(n)}catch{e={}}z(),y(e.tunnelLocked===!0),x(t),s(`locked`),_(void 0);return}if(e.status===429){let e={};try{e=JSON.parse(n)}catch{e={}}z(),_(e.retryAfter),y(!1),s(`rate-limited`);return}if(B())return;s(`error`),y(!1)}catch(e){if(console.warn(`Failed to check session status:`,e),ep({shouldUseDesktopShellPasswordLogin:_p()})===`locked`){s(`locked`),_(void 0),y(!1);return}if(B())return;s(`error`),y(!1)}},[P,z,B,i]);Z.useEffect(()=>{L.current=V},[V]),Z.useEffect(()=>{i||V()},[V,i]),Z.useEffect(()=>{if(o===`pending`||o===`authenticated`||typeof document>`u`)return;let e=document.getElementById(`initial-loading`);if(!e)return;e.classList.add(`fade-out`);let t=window.setTimeout(()=>{e.remove()},300);return()=>{window.clearTimeout(t)}},[o]),Z.useEffect(()=>{if(i)return;let e=kf(e=>{c(e)&&(d(``),h(``),_(void 0),y(!1),z(),j(!1),N.current=!1,s(`pending`),V())}),t=r(t=>e.schedule(t));return()=>{t(),e.cancel()}},[V,z,i]),Z.useEffect(()=>{!i&&o===`locked`&&(N.current=!1,j(!1))},[i,o]),Z.useEffect(()=>{o===`locked`&&M.current&&(M.current.focus(),M.current.select())},[o]),Z.useEffect(()=>{if(!i&&o===`authenticated`&&!N.current){N.current=!0;let e=!1;return Df({runtimeKey:l(),initializeAppearance:be,syncSettings:ge,applyDirectory:wf,onError:(e,t)=>{console.error(`[SessionAuthGate] ${e} settings hydration failed:`,t)}},{force:!0}).then(()=>{e||j(!0)}),()=>{e=!0}}},[i,o]);let H=async e=>{e.preventDefault(),await te(!1)},ee=Z.useCallback(async()=>{k(`register`),T(!0);try{await zc()}finally{k(null),T(!1)}await P()},[P]),U=Z.useCallback(()=>{Zs(),k(null),T(!1)},[]),te=Z.useCallback(async e=>{if(!v&&!(!u||f)){w&&U(),p(!0),h(``);try{if(_p()){let e=await vp(u,E);if(e?.token){d(``),y(!1),await bp(e.token),s(`authenticated`);return}if(e?.status===401){h(t(`sessionAuth.error.incorrectPassword`)),y(!1),s(`locked`);return}if(e?.status===429){_(void 0),y(!1),s(`rate-limited`);return}}let n=await hp(u,E);if(n.ok){let r=await n.json().catch(()=>null),i=lp(),a=``;if(i&&(a=typeof r?.clientToken==`string`&&r.clientToken.trim()?r.clientToken.trim():``,a||=(await vp(u,E))?.token||await gp()),d(``),y(!1),a&&await bp(a),e&&S)try{await ee(),mi.success(t(`sessionAuth.toast.passkeyAdded`)),s(`authenticated`);return}catch(e){if(tc(e))mi.message(t(`sessionAuth.toast.passkeySetupCanceled`));else{let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySetupFailed`);mi.error(n)}s(`authenticated`);return}s(`authenticated`);return}if(n.status===401){h(t(`sessionAuth.error.incorrectPassword`)),y(!1),s(`locked`);return}if(n.status===429){let e=await n.json().catch(()=>({}));_(e.retryAfter),y(!1),s(`rate-limited`);return}h(t(`sessionAuth.error.unexpectedResponse`)),y(!1),s(`error`)}catch(e){console.warn(`Failed to submit UI password:`,e);let n=_p()?await vp(u,E):null;if(n?.token){d(``),y(!1),await bp(n.token),s(`authenticated`);return}if(n?.status===401){h(t(`sessionAuth.error.incorrectPassword`)),y(!1),s(`locked`);return}if(n?.status===429){_(void 0),y(!1),s(`rate-limited`);return}h(t(`sessionAuth.error.networkRetry`)),y(!1),s(`error`)}finally{p(!1)}}},[U,w,f,v,u,ee,S,t,E]),ne=Z.useCallback(async()=>{if(!(f||!S)){if(w){U();return}T(!0),k(`auth`),h(``);try{let e=await Xs(E,{issueClientToken:lp(),clientLabel:`OpenChamberY Desktop`,...fp()}),t=lp()&&typeof e?.clientToken==`string`&&e.clientToken.trim()?e.clientToken.trim():``;t&&await bp(t),d(``),s(`authenticated`)}catch(e){if(tc(e))h(``);else{let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySignInCanceled`);h(n)}}finally{k(null),T(!1)}}},[U,w,f,S,t,E]),W=Z.useCallback(async()=>{if(!(f||v||!S)){if(w){U();return}if(o!==`authenticated`){if(!u){h(t(`sessionAuth.error.enterPasswordForPasskey`));return}await te(!0);return}h(``);try{await ee(),mi.success(t(`sessionAuth.toast.passkeyAdded`))}catch(e){if(tc(e)){mi.message(t(`sessionAuth.toast.passkeySetupCanceled`));return}let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySetupFailed`);mi.error(n)}}},[U,te,w,f,v,u,ee,o,S,t]),G=S&&b.enabled,re=G&&b.hasPasskeys;return o===`pending`||o===`authenticated`&&!A?(0,$.jsx)(Sp,{}):o===`error`?(0,$.jsx)(Cp,{onRetry:()=>{z(),V()},errorType:`network`,children:a&&(0,$.jsxs)(`div`,{className:`w-full max-w-xs`,children:[(0,$.jsx)($f,{}),(0,$.jsx)(`p`,{className:`mt-1 text-center typography-micro text-muted-foreground`,children:t(`sessionAuth.locked.hostSwitcherHint`)})]})}):o===`rate-limited`?(0,$.jsx)(Cp,{onRetry:()=>void V(),errorType:`rate-limit`,retryAfter:g}):o===`locked`?(0,$.jsx)(xp,{children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-6 w-full max-w-xs`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,$.jsx)(`h1`,{className:`text-xl font-semibold text-foreground`,children:t(v?`sessionAuth.locked.tunnelTitle`:`sessionAuth.locked.unlockTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:t(v?`sessionAuth.locked.tunnelDescription`:`sessionAuth.locked.passwordDescription`)})]}),!v&&(0,$.jsxs)(`form`,{onSubmit:H,className:`w-full space-y-2`,children:[re&&(0,$.jsxs)(Xn,{type:`button`,variant:`outline`,className:`w-full`,onClick:()=>void ne(),disabled:f||w&&O!==`auth`,children:[w?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):(0,$.jsx)(X,{name:`lock-unlock`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:t(w&&O===`auth`?`sessionAuth.actions.cancelPasskey`:`sessionAuth.actions.usePasskey`)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`relative flex-1`,children:[(0,$.jsx)(X,{name:`lock`,className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground/60`}),(0,$.jsx)(Rs,{id:`openchamber-ui-password`,ref:M,type:`password`,autoComplete:`current-password`,placeholder:t(`sessionAuth.password.placeholder`),value:u,onChange:e=>{d(e.target.value),m&&h(``)},className:`pl-10`,"aria-invalid":!!m||void 0,"aria-describedby":m?`oc-ui-auth-error`:void 0,disabled:f})]}),(0,$.jsx)(Xn,{type:`submit`,size:`icon`,disabled:!u||f,"aria-label":t(f?`sessionAuth.actions.unlockingAria`:`sessionAuth.actions.unlockAria`),children:f?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):(0,$.jsx)(X,{name:`lock-unlock`,className:`h-4 w-4`})})]}),G?(0,$.jsxs)(`div`,{className:`flex items-center justify-between pt-1`,children:[(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-center typography-micro text-muted-foreground`,children:[(0,$.jsx)(_s,{checked:E,onChange:D,disabled:f,ariaLabel:t(`sessionAuth.actions.trustDeviceAria`),className:`size-4`,iconClassName:`size-4`}),(0,$.jsx)(`span`,{children:t(`sessionAuth.actions.trustDevice`)})]}),(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`sm`,className:`text-muted-foreground hover:text-foreground`,onClick:()=>void W(),disabled:f,children:t(w&&O===`register`?`sessionAuth.actions.cancelPasskeySetup`:`sessionAuth.actions.addPasskey`)})]}):(0,$.jsxs)(`label`,{className:`flex items-center justify-center gap-2 pt-1 text-center typography-micro text-muted-foreground`,children:[(0,$.jsx)(_s,{checked:E,onChange:D,disabled:f,ariaLabel:t(`sessionAuth.actions.trustDeviceAria`),className:`size-4`,iconClassName:`size-4`}),(0,$.jsx)(`span`,{children:t(`sessionAuth.actions.trustDevice`)})]}),m&&(0,$.jsx)(`p`,{id:`oc-ui-auth-error`,className:`typography-meta text-destructive`,children:m})]}),a&&(0,$.jsxs)(`div`,{className:`w-full`,children:[(0,$.jsx)($f,{}),(0,$.jsx)(`p`,{className:`mt-1 text-center typography-micro text-muted-foreground`,children:t(`sessionAuth.locked.hostSwitcherHint`)})]})]})}):(0,$.jsx)($.Fragment,{children:e})},Tp=e=>!!e&&typeof e==`object`&&!Array.isArray(e),Ep=e=>typeof e==`string`&&e.trim()?e.trim():null,Dp=e=>{if(!Tp(e))throw Error(`Could not check OpenCode compatibility`);let t=e.state,n=e.installation;if(t!==`compatible`&&t!==`incompatible`&&t!==`unavailable`||n!==`managed`&&n!==`external`&&n!==`bundled`)throw Error(`Could not check OpenCode compatibility`);let r=Ep(e.minimumVersion),i=Ep(e.targetVersion);if(!r||!i||typeof e.canInstall!=`boolean`)throw Error(`Could not check OpenCode compatibility`);return{state:t,version:Ep(e.version),installation:n,minimumVersion:r,targetVersion:i,canInstall:e.canInstall,guidance:Ep(e.guidance)}},Op=async()=>{let e=await d(`/api/opencode/compatibility`,{signal:AbortSignal.timeout(2e4)});if(!e.ok)throw Error(`Could not check OpenCode compatibility`);return Dp(await e.json())},kp=async()=>{let e=await d(`/api/opencode/install-required`,{method:`POST`}),t=await e.json().catch(()=>null),n=Tp(t)?t:null,r=Ep(n?.error);if(!e.ok||n?.success!==!0||n?.upgraded!==!0)throw Error(r||`OpenCode installation failed`);let i=Ep(n.version);if(!i)throw Error(r||`OpenCode installation did not report a verified version`);return{version:i}},Ap=(e,t)=>e instanceof Error&&e.message.trim()?e.message.trim():t,jp=({children:e})=>{let{t}=Kn(),[n,i]=Z.useState(null),[a,o]=Z.useState(!1),[s,c]=Z.useState(null),[l,u]=Z.useState(null),d=Z.useId(),f=Z.useRef(null),p=Z.useRef(0);Z.useEffect(()=>{let e=!0,t=async()=>{let t=++p.current;try{let n=await Op();if(!e||t!==p.current)return;i(n),n.state!==`incompatible`&&u(null)}catch{}finally{e&&t===p.current&&o(!0)}};t();let n=r(()=>{e&&(i(null),o(!1),c(null),u(null),t())});return()=>{e=!1,p.current+=1,n()}},[]);let m=n?.state===`incompatible`;Z.useEffect(()=>{m&&(document.getElementById(`initial-loading`)?.remove(),f.current?.focus())},[m]);let h=J(async e=>{if(s)return;let n=++p.current;c(e),u(null);try{if(e===`install`){let e=await kp();if(n!==p.current)return;if(!e.version)throw Error(t(`opencodeUpgrade.screen.failedGeneric`));window.location.reload();return}let r=await Op();if(n!==p.current)return;if(r.state===`incompatible`){i(r);return}if(r.state!==`compatible`)throw Error(t(`opencodeUpgrade.screen.failedGeneric`));window.location.reload()}catch(e){if(n!==p.current)return;u(Ap(e,t(`opencodeUpgrade.screen.failedGeneric`)))}finally{n===p.current&&c(null)}});if(!a)return null;if(!m||!n)return(0,$.jsx)($.Fragment,{children:e});let g=!!n.version?.startsWith(`2.`),_=n.installation===`bundled`?`opencodeUpgrade.screen.bundled`:n.installation===`external`?g?`opencodeUpgrade.screen.outdatedExternal`:`opencodeUpgrade.screen.external`:g?`opencodeUpgrade.screen.outdatedLocal`:`opencodeUpgrade.screen.local`,v=n.minimumVersion,y=s!==null;return(0,$.jsx)(`section`,{className:`app-region-drag flex h-full min-h-dvh min-h-0 items-center justify-center overflow-y-auto bg-background px-4 py-10 text-foreground select-none sm:px-6`,"aria-labelledby":d,"aria-busy":y,"data-opencode-upgrade-screen":`true`,children:(0,$.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col items-center text-center`,children:[(0,$.jsx)(Js,{width:48,height:48}),(0,$.jsx)(`h1`,{id:d,ref:f,tabIndex:-1,className:`mt-6 text-xl font-semibold tracking-tight text-balance outline-none`,children:t(g?`opencodeUpgrade.screen.outdatedTitle`:`opencodeUpgrade.screen.title`)}),(0,$.jsxs)(`p`,{className:`mt-2 text-sm leading-relaxed text-muted-foreground text-balance`,children:[t(_,{version:n.version??``,minimum:v}),n.canInstall?(0,$.jsxs)($.Fragment,{children:[` `,t(`opencodeUpgrade.screen.installDescription`,{minimum:v})]}):null]}),n.canInstall?null:(0,$.jsx)(`p`,{className:`mt-3 text-sm leading-relaxed text-muted-foreground text-balance`,children:t(`opencodeUpgrade.screen.manualGuidance`)}),n.version?(0,$.jsxs)(`div`,{className:`mt-5 inline-flex max-w-full items-center gap-2 rounded-md border border-border px-2.5 py-1 font-mono text-xs`,"aria-hidden":!0,children:[(0,$.jsx)(`span`,{className:`truncate text-muted-foreground`,children:n.version}),(0,$.jsx)(X,{name:`arrow-right`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`span`,{className:`text-foreground`,children:[v,`+`]})]}):null,l?(0,$.jsxs)(`p`,{role:`alert`,className:`mt-5 w-full break-words rounded-md border border-[var(--status-error)]/30 bg-[var(--status-error-background)] px-3 py-2 text-left text-sm text-[var(--status-error-text)]`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:t(`opencodeUpgrade.screen.failedTitle`)}),` `,l]}):null,(0,$.jsxs)(`div`,{className:`app-region-no-drag mt-7 flex w-full flex-wrap items-center justify-center gap-2`,children:[n.canInstall?(0,$.jsxs)(Xn,{type:`button`,disabled:y,onClick:()=>void h(`install`),children:[(0,$.jsx)(X,{name:s===`install`?`refresh`:`download`,className:s===`install`?`size-4 motion-safe:animate-spin`:`size-4`}),(0,$.jsx)(`span`,{role:s===`install`?`status`:void 0,children:s===`install`?t(g?`opencodeUpgrade.screen.updating`:`opencodeUpgrade.screen.installing`):t(g?`opencodeUpgrade.screen.update`:`opencodeUpgrade.screen.install`,{minimum:v})})]}):null,(0,$.jsxs)(Xn,{type:`button`,variant:n.canInstall?`ghost`:`default`,disabled:y,onClick:()=>void h(`reconnect`),children:[(0,$.jsx)(X,{name:`refresh`,className:s===`reconnect`?`size-4 motion-safe:animate-spin`:`size-4`}),(0,$.jsx)(`span`,{role:s===`reconnect`?`status`:void 0,children:t(s===`reconnect`?`opencodeUpgrade.screen.reconnecting`:`opencodeUpgrade.screen.reconnect`)})]})]}),(0,$.jsxs)(`a`,{className:`app-region-no-drag mt-6 inline-flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,href:`https://opencode.ai/download`,target:`_blank`,rel:`noopener noreferrer`,children:[t(`opencodeUpgrade.screen.guide`),(0,$.jsx)(X,{name:`external-link`,className:`size-3`})]}),(0,$.jsx)(`div`,{className:`app-region-no-drag mt-3 w-full`,children:(0,$.jsx)($f,{})})]})})},Mp=e=>{let t=(0,Q.c)(14),{children:n}=e,r=q(Np),i=q(Pp),a=q(Fp),o=q(Ip),s=q(Lp),{deviceType:c,hasTouchInput:l}=Bc(),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=typeof document<`u`&&yn(),t[0]=u):u=t[0];let d=u,f;t[1]!==s||t[2]!==a?(f=()=>{a(),s()},t[1]=s,t[2]=a,t[3]=f):f=t[3];let p;t[4]!==s||t[5]!==a||t[6]!==i||t[7]!==c||t[8]!==r||t[9]!==l||t[10]!==o?(p=[r,i,a,o,s,c,l,d],t[4]=s,t[5]=a,t[6]=i,t[7]=c,t[8]=r,t[9]=l,t[10]=o,t[11]=p):p=t[11],Z.useLayoutEffect(f,p);let m;return t[12]===n?m=t[13]:(m=(0,$.jsx)($.Fragment,{children:n}),t[12]=n,t[13]=m),m};function Np(e){return e.fontSize}function Pp(e){return e.codeFontSize}function Fp(e){return e.applyTypography}function Ip(e){return e.padding}function Lp(e){return e.applyPadding}var Rp=e(Ze(),1),zp=e=>{if(!e||typeof e!=`string`)return null;let t=e.trim();if(!t.startsWith(`#`))return null;let n=t.slice(1);if((n.length===3||n.length===4)&&(n=n.split(``).map(e=>e+e).join(``)),n.length===8&&(n=n.slice(0,6)),n.length!==6)return null;let r=Number.parseInt(n,16);return Number.isNaN(r)?null:`${r>>16&255} ${r>>8&255} ${r&255}`},Bp=class{inheritanceMap=new Map;constructor(){this.initializeInheritanceMap()}generate(e){let t=[];return t.push(...this.generateTailwindVariables(e)),t.push(...this.generatePrimaryColors(e.colors.primary)),t.push(...this.generateSurfaceColors(e.colors.surface)),t.push(...this.generateInteractiveColors(e.colors.interactive)),t.push(...this.generateStatusColors(e.colors.status)),t.push(...this.generatePullRequestColors(e)),t.push(...this.generateSyntaxColors(e.colors.syntax)),t.push(...this.generateComponentColors(e.colors,e)),t.push(...this.generateTypographyVariables()),e.config&&t.push(...this.generateConfigVariables(e.config)),t.join(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-BgPIMkaj.js","assets/rolldown-runtime-hePW80VL.js","assets/runtime-fetch-QCWYlAx0.js","assets/runtime-auth-C8w0nlKy.js","assets/runtime-switch-3ad3yzM7.js","assets/vendor-base-ui-CdzJ6My_.js","assets/useUIStore-CDMI_Yzu.js","assets/vendor-zustand-o69pgTEK.js","assets/vendor-react-BP2cRVqX.js","assets/vendor-pierre-diffs-DPBtNDJ5.js","assets/vendor-aparajita-capacitor-secure-storage-xol_6BsB.js","assets/vendor-hast-util-to-html-Bw_SgZ1t.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-BMOrLc9L.js","assets/vendor-reactuses-core-BpfIZ1tg.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/button-DymteyMv.js","assets/persistence-B7ORJ371.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/store-n-H5RvRn.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/useThemeSystem-8jhE4Zyk.js","assets/Icon-DDB7S6Vz.js","assets/dialog-DfUeXqdE.js","assets/image-loading-qNtUCy69.js","assets/fileQueries-BGE5l3Jd.js","assets/vendor-tanstack-react-query-CdqCAt40.js","assets/useRuntimeAPIs-Cx8S1HLz.js","assets/relay-image-stream-qI2NTXbG.js","assets/image-loading-CObM4tcX.css","assets/appThemeRegistry-Dp10BTjy.js","assets/platform-CiBU2bCp.js","assets/vendor-opencode-client-MF2GBrFx.js","assets/useMobileNavigationStore-CpvIC2u2.js","assets/vendor-sonner-ZS8XIOVl.js","assets/useAssistantUIStore-Dlvb7P0q.js","assets/vendor-zod-Dzk5kdUU.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/rasterizePng-CpK-xCkB.js","assets/MarkdownRenderer-q5V4ZlgT.js","assets/markdownHeightCache-MW1NYOaG.js","assets/dualLimitLru-D8Sphgua.js","assets/markdown-worker-DFNZ3KJ_.js","assets/useEffectiveDirectory-CdjwYYGz.js","assets/markdownTheme-CV7_0QAL.js","assets/ImageLoadingPlaceholder-C6fDEcU1.js","assets/useWorkerHighlightedLines-ismMTowL.js","assets/tooltip-D-1Pgmq1.js","assets/vendor-tanstack-react-virtual-B_EO--9t.js","assets/ToolOutputDialog-DesCcdFD.css","assets/vendor-capacitor-app-B5H_XtmE.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{S as t,l as n}from"./runtime-auth-C8w0nlKy.js";import{c as r,f as i,i as a,l as o,n as s,o as c,r as l,t as u}from"./runtime-switch-3ad3yzM7.js";import{n as d}from"./runtime-fetch-QCWYlAx0.js";import{$ as f,C as p,D as m,Dt as h,E as g,Et as _,I as v,It as y,K as b,L as x,Mn as S,Mt as C,Nt as w,O as T,Q as E,R as D,S as O,T as k,U as A,V as j,Vt as M,W as N,Wt as P,X as F,Z as I,_t as L,an as R,at as z,b as B,bt as V,d as H,dt as ee,en as U,et as te,ft as ne,h as W,ht as G,i as re,it as ie,j as ae,jt as oe,k as se,ln as K,lt as ce,m as le,mt as ue,nt as de,on as fe,ot as pe,pt as me,q as he,r as ge,rn as _e,sn as ve,st as ye,t as be,tt as xe,un as Se,v as Ce,vn as we,w as Te,xt as Ee}from"./persistence-B7ORJ371.js";import{_ as De,c as Oe,d as ke,f as Ae,h as je,i as Me,l as Ne,m as Pe,n as Fe,o as Ie,p as Le,r as Re,s as ze}from"./desktopHosts-DSBZ-9-L.js";import{r as Be}from"./desktopRelayRestore-DK8TzHRx.js";import{a as Ve,i as He,o as Ue,r as We,s as Ge,t as Ke}from"./vendor-zustand-o69pgTEK.js";import{d as qe,f as Je,it as Ye,l as Xe,nt as Ze,p as Qe,rt as $e,u as et}from"./vendor-base-ui-CdzJ6My_.js";import{At as tt,Bi as nt,Ci as rt,Cn as it,Cr as at,Ct as ot,Dn as st,Dr as ct,Ei as lt,En as ut,Er as dt,Hn as ft,In as pt,It as mt,Kn as ht,Ln as gt,Lt as _t,Mn as vt,Ni as yt,Nr as bt,Nt as xt,Oi as St,On as Ct,Or as wt,Ot as Tt,Qt as Et,Ri as Dt,Sn as Ot,Sr as kt,Tn as At,Vn as jt,Wn as Mt,Xt as Nt,Yt as Pt,_i as Ft,an as It,br as Lt,cn as Rt,en as zt,fn as Bt,hn as Vt,jn as Ht,jr as Ut,jt as Wt,ki as Gt,kn as Kt,kt as qt,mn as Jt,n as Yt,nn as Xt,on as Zt,pn as Qt,qt as $t,rn as en,rr as tn,sn as nn,t as rn,tn as an,vn as on,vr as sn,xi as cn,xn as ln,xr as un,yn as dn,zi as fn}from"./platform-CiBU2bCp.js";import{_ as pn,b as mn,c as hn,f as gn,g as _n,h as vn,n as q,y as yn}from"./useUIStore-CDMI_Yzu.js";import{n as bn}from"./vendor-react-BP2cRVqX.js";import{o as xn}from"./vendor-aparajita-capacitor-secure-storage-xol_6BsB.js";import{i as Sn}from"./vendor-tanstack-query-core-BWz0ose6.js";import{c as Cn,i as wn,n as Tn,o as En,t as Dn}from"./vendor-tanstack-react-query-CdqCAt40.js";import{B as On,R as kn,V as An,c as jn}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{i as Mn,u as Nn}from"./vendor-pierre-diffs-DPBtNDJ5.js";import{r as Pn,t as Fn}from"./vendor-sonner-ZS8XIOVl.js";import{a as In,f as Ln,i as Rn,m as zn,n as J,o as Bn,p as Vn,r as Hn,u as Un}from"./vendor-reactuses-core-BpfIZ1tg.js";import{_ as Wn,d as Gn,f as Kn,i as qn,l as Jn,p as Yn,r as Y,t as Xn,v as Zn}from"./button-DymteyMv.js";import{i as Qn,t as $n}from"./store-n-H5RvRn.js";import{$ as er,$i as tr,$n as nr,$t as rr,A as ir,Aa as ar,Ai as or,Ar as sr,At as cr,B as lr,Bi as ur,Bn as dr,Br as fr,C as pr,Ci as mr,Ct as hr,D as gr,Da as _r,Di as vr,Dn as yr,Dt as br,E as xr,Ea as Sr,En as Cr,Et as wr,F as Tr,Fa as Er,Fn as Dr,Ft as Or,G as kr,Ga as Ar,Gi as jr,Gt as Mr,H as Nr,Ha as Pr,Hi as Fr,Hn as Ir,Hr as Lr,I as Rr,In as zr,It as Br,J as Vr,Ji as Hr,Jn as Ur,Jr as Wr,Jt as Gr,K as Kr,Ki as qr,Kr as Jr,Kt as Yr,L as Xr,Ln as Zr,Lt as Qr,M as $r,Ma as ei,Mi as ti,Mt as ni,N as ri,Na as ii,Nn as ai,O as oi,Oa as si,Oi as ci,On as li,Ot as ui,P as di,Pa as fi,Pn as pi,Pr as mi,Q as hi,Qi as gi,Qr as _i,Qt as vi,R as yi,Rn as bi,Sa as xi,Si,St as Ci,T as wi,Ti,Tn as Ei,Tt as Di,U as Oi,Ui as ki,Un as Ai,Ur as ji,Ut as Mi,V as Ni,Va as Pi,Vi as Fi,Vn as Ii,Vr as Li,W as Ri,Wi as zi,Wn as Bi,Wt as Vi,X as Hi,Xi as Ui,Xr as Wi,Xt as Gi,Y as Ki,Yi as qi,Yn as Ji,Z as Yi,Zi as Xi,Zt as Zi,_a as Qi,_n as $i,_r as ea,_t as ta,aa as na,an as ra,at as ia,ba as aa,bn as oa,bo as sa,bt as ca,c as la,ca as ua,ci as da,cn as fa,co as pa,d as ma,dn as ha,ea as ga,ei as _a,en as va,er as ya,et as ba,fa as xa,fi as Sa,fn as Ca,ft as wa,g as Ta,ga as Ea,gi as Da,gn as Oa,go as ka,gr as Aa,hi as ja,hn as Ma,ho as Na,hr as Pa,ht as Fa,i as Ia,ia as La,ii as Ra,in as za,it as Ba,j as Va,ja as Ha,ji as Ua,jn as Wa,jt as Ga,k as Ka,ka as qa,ki as Ja,kn as Ya,kr as Xa,kt as Za,ln as Qa,m as $a,mi as eo,mn as to,mr as no,mt as ro,n as io,na as ao,ni as oo,nt as so,oa as co,oi as lo,on as uo,ot as fo,pi as po,pn as mo,pt as ho,q as go,qi as _o,qr as vo,qt as yo,r as bo,ra as xo,ri as So,ro as Co,rr as wo,rt as To,s as Eo,sa as Do,si as Oo,sn as ko,so as Ao,ta as jo,ti as Mo,tr as No,tt as Po,ui as Fo,v as Io,vi as Lo,vn as Ro,vt as zo,wi as Bo,wn as Vo,wt as Ho,xn as Uo,xt as Wo,ya as Go,yn as Ko,yo as qo,yt as Jo,z as Yo,za as Xo,zn as Zo,zt as Qo}from"./useMobileNavigationStore-CpvIC2u2.js";import{n as $o}from"./rasterizePng-CpK-xCkB.js";import{t as es}from"./dualLimitLru-D8Sphgua.js";import{n as ts,r as ns,t as rs}from"./AgentAvatar-CAR4F5Sn.js";import{n as is,r as as,t as os}from"./useThemeSystem-8jhE4Zyk.js";import{n as X}from"./Icon-DDB7S6Vz.js";import{a as ss,i as cs,n as ls,o as us,r as ds,s as fs,t as ps}from"./dialog-DfUeXqdE.js";import{E as ms,n as hs}from"./gitApi-CURsWm52.js";import{a as gs}from"./vendor-simplewebauthn-browser-Dwhcdg_5.js";import{A as _s,C as vs,D as ys,O as bs,S as xs,_ as Ss,a as Cs,b as ws,f as Ts,h as Es,i as Ds,k as Os,l as ks,m as As,n as js,o as Ms,s as Ns,u as Ps,w as Fs,x as Is,y as Ls}from"./projectMeta-Bnh3ZgOT.js";import{t as Rs}from"./input-BvpZiRHI.js";import{i as zs,n as Bs,t as Vs}from"./tooltip-D-1Pgmq1.js";import{$ as Hs,$t as Us,B as Ws,Et as Gs,Ft as Ks,Gt as qs,Ht as Js,Kt as Ys,Mt as Xs,Nt as Zs,Pt as Qs,Q as $s,R as ec,Rt as tc,U as nc,Ut as rc,V as ic,W as ac,Wt as oc,X as sc,Xt as cc,Z as lc,Zt as uc,_t as dc,a as fc,at as pc,bt as mc,ct as hc,dn as gc,et as _c,f as vc,gt as yc,i as bc,it as xc,ln as Sc,lt as Cc,mt as wc,n as Tc,nt as Ec,ot as Dc,pt as Oc,qt as kc,rn as Ac,rt as jc,s as Mc,st as Nc,tt as Pc,un as Fc,vt as Ic,xt as Lc,z as Rc,zt as zc}from"./speechSettingsQueries-DmJlWwy6.js";import{i as Bc,t as Vc}from"./OverlayScrollbar-BkxmoyYl.js";import{_ as Hc,b as Uc,d as Wc,g as Gc,h as Kc,l as qc,m as Jc,n as Yc,p as Xc,r as Zc,s as Qc,u as $c,v as el,y as tl}from"./image-loading-qNtUCy69.js";import{S as nl,a as rl,c as il,g as al,l as ol,o as sl,x as cl,y as ll}from"./dropdown-menu.styles-B6YMNOZz.js";import{n as ul,r as dl,t as fl}from"./useRuntimeAPIs-Cx8S1HLz.js";import{C as pl,S as ml,i as hl,n as gl,r as _l,w as vl}from"./textarea-ClPlugKE.js";import{A as yl,C as bl,E as xl,F as Sl,M as Cl,N as wl,O as Tl,P as El,S as Dl,T as Ol,_ as kl,a as Al,b as jl,c as Ml,d as Nl,f as Pl,g as Fl,h as Il,j as Ll,k as Rl,l as zl,m as Bl,o as Vl,p as Hl,s as Ul,u as Wl,v as Gl,w as Kl,x as ql,y as Jl}from"./sessionChangeSummary-Cl1QDDt7.js";import{o as Yl}from"./vendor-framer-motion-D-oiwsxL.js";import{C as Xl,D as Zl,E as Ql,O as $l,S as eu,T as tu,a as nu,b as ru,c as iu,d as au,f as ou,i as su,j as cu,k as lu,l as uu,n as du,o as fu,p as pu,r as mu,s as hu,t as gu,u as _u,w as vu,x as yu,y as bu}from"./insertionBoundaries-DUU55aZF.js";import{a as xu,c as Su,i as Cu,o as wu,s as Tu}from"./fileMentionTouchSelection-JvGzwilV.js";import{A as Eu,C as Du,D as Ou,E as ku,N as Au,O as ju,S as Mu,T as Nu,_ as Pu,b as Fu,c as Iu,d as Lu,f as Ru,g as zu,h as Bu,i as Vu,k as Hu,l as Uu,m as Wu,o as Gu,p as Ku,s as qu,t as Ju,u as Yu,v as Xu,w as Zu,x as Qu,y as $u}from"./appThemeRegistry-Dp10BTjy.js";import{a as ed,n as td,o as nd,r as rd,t as id}from"./MarkdownRenderer-q5V4ZlgT.js";import{_ as ad,a as od,c as sd,g as cd,l as ld,o as ud,t as dd,v as fd,y as pd}from"./vendor-dnd-kit-core-5pNnzVdw.js";import{i as md,n as hd,o as gd,s as _d,t as vd}from"./vendor-dnd-kit-sortable-Dm50I0m7.js";import{a as yd,n as bd,t as xd}from"./url-nbXEti6c.js";import{a as Sd,l as Cd,m as wd,u as Td}from"./markdown-worker-DFNZ3KJ_.js";import{n as Ed,t as Dd}from"./useEffectiveDirectory-CdjwYYGz.js";import{a as Od,i as kd,l as Ad,n as jd,o as Md,r as Nd,s as Pd,t as Fd,u as Id}from"./FadeInOnReveal-CCVddfP5.js";import{i as Ld,n as Rd,r as zd}from"./markdownTheme-CV7_0QAL.js";import{t as Bd}from"./ImageLoadingPlaceholder-C6fDEcU1.js";import{t as Vd}from"./LoadingImage-ByBH-5WW.js";import{A as Hd,C as Ud,D as Wd,E as Gd,M as Kd,O as qd,S as Jd,T as Yd,a as Xd,b as Zd,c as Qd,g as $d,h as ef,i as tf,j as nf,k as rf,o as af,p as of,r as sf,s as cf,t as lf,v as uf,w as df,x as ff,y as pf}from"./useWorkerHighlightedLines-ismMTowL.js";import{t as mf}from"./vendor-cmdk-RDxC-9Iz.js";import{t as hf}from"./sortable-tabs-strip-CWR8KhJB.js";import{a as gf}from"./markdownHeightCache-MW1NYOaG.js";import{n as _f,t as vf}from"./vendor-tanstack-react-virtual-B_EO--9t.js";import{t as yf}from"./vendor-motion-88WXBOBf.js";import{t as bf}from"./vendor-legendapp-list-CNxU_ALy.js";import{n as xf,t as Sf}from"./useFontPreferences-6LD7d7hP.js";var Cf=e=>{if(typeof e!=`string`)return;let t=e.trim();if(t)return{location:{directory:t}}};typeof window<`u`&&(window.__opencodeDebug={getLastAssistantMessage(){let e=ma.getState().currentSessionId;if(!e)return null;let t=jt(e);if(!t||t.length===0)return null;for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.role===`assistant`){let e=(ft(n.id)||[]).map(e=>{let t={id:e.id,type:e.type};return e.type===`text`?(t.text=e.text,t.textLength=e.text?.length||0):e.type===`tool`?(t.tool=e.tool,t.state=e.state?.status):(e.type===`step-start`||e.type===`step-finish`)&&(t.isStepMarker=!0),t}),t=e.some(e=>e.type===`text`&&e.text&&e.text.trim().length>0),r=e.some(e=>e.type===`tool`),i=e.some(e=>e.type===`step-start`||e.type===`step-finish`),a=e.length===0,o=!t&&!r&&(!a||i),s={messageId:n.id,role:n.role,timestamp:n.time?.created||0,partsCount:e.length,parts:e,isEmpty:a,isEmptyResponse:o,raw:n};return s.messageId,s.partsCount,s.isEmpty,s.isEmptyResponse,s.isEmpty&&console.warn(`[WARNING] Message has NO parts!`),s.isEmptyResponse&&(console.warn(`[WARNING] Message has parts but NO meaningful content (empty text, no tools)!`),i&&!t&&!r&&console.warn(`[CRITICAL] CLAUDE EMPTY RESPONSE BUG: Only step-start/step-finish markers, no actual content!`)),s}}return null},truncateString(e,t=80){return!e||typeof e!=`string`||e.length<=t?e:e.substring(0,t)+`…`},truncateMessages(e){return e.map(e=>({...e,parts:(ft(e.id)||[]).map(e=>{let t={...e};return`text`in e&&(t.text=this.truncateString(e.text)),`textPreview`in e&&(t.textPreview=this.truncateString(e.textPreview)),e.state&&(t.state={...e.state},`output`in e.state&&(t.state.output=this.truncateString(e.state.output)),`error`in e.state&&(t.state.error=this.truncateString(e.state.error)),e.state.metadata&&`preview`in e.state.metadata&&(t.state.metadata={...e.state.metadata,preview:this.truncateString(e.state.metadata.preview)})),t})}))},getAllMessages(e=!1){let t=ma.getState().currentSessionId;if(!t)return[];let n=jt(t);return`${n.length}`,n.forEach((e,t)=>{let n=ft(e.id)||[];`${t}${e.role}${e.id}${n.length}`}),e?this.truncateMessages(n):n},async getAppStatus(){let e=ot.getState(),t=ma.getState(),n=pa.getState(),r=e.currentDirectory||null,i=xt.getDirectory()??null,a=Mt(),o=new Set,s={};a.forEach(e=>{let t=e.directory;typeof t==`string`&&t.trim().length>0?(o.add(t),s[t]=(s[t]??0)+1):s[`(none)`]=(s[`(none)`]??0)+1});let c=(()=>{if(typeof window>`u`)return{available:!1};try{return{available:!0,lastDirectory:window.localStorage.getItem(`lastDirectory`),homeDirectory:window.localStorage.getItem(`homeDirectory`)}}catch(e){return{available:!1,error:e instanceof Error?e.message:String(e)}}})(),l=S(),u=typeof window<`u`&&!!window.__OPENCHAMBER_ELECTRON__,f=async e=>{try{return await e.json()}catch{return null}},p=async e=>{try{return await e.text()}catch{return null}},m=async e=>{try{let t=await d(e);return t.ok?await f(t):{status:t.status}}catch(e){return{error:e instanceof Error?e.message:String(e)}}},h=null,g=null,_=null,v=null;try{let e=await xt.getSdkClient().location.get(Cf(r));h=_t(e)}catch(e){h={error:e instanceof Error?e.message:String(e)}}try{g=(await xt.getSdkClient().location.get(Cf(r)))?.project??null}catch(e){g={error:e instanceof Error?e.message:String(e)}}_=await m(`/api/config/settings`);try{let e=await d(`/api/health`),t=e.headers.get(`content-type`)||``,n=await p(e),r=t.toLowerCase().includes(`application/json`),i=null;if(r&&n)try{let e=JSON.parse(n);e&&typeof e==`object`&&!Array.isArray(e)&&(i=e)}catch{i=null}v={status:e.status,ok:e.ok,contentType:t,type:r?`json`:`html`,openCodePort:i?.openCodePort??null,openCodeRunning:i?.openCodeRunning??null,openCodeSecureConnection:i?.openCodeSecureConnection??null,openCodeAuthSource:i?.openCodeAuthSource??null,isOpenCodeReady:i?.isOpenCodeReady??null,lastOpenCodeError:i?.lastOpenCodeError??null,preview:n?n.slice(0,120):null}}catch(e){v={error:e instanceof Error?e.message:String(e)}}let y={isGitRepo:null};if(r)try{y.isGitRepo=await hs(r)}catch(e){y={isGitRepo:null,error:e instanceof Error?e.message:String(e)}}let b=n.projects.map(e=>({id:e.id,path:e.path,label:e.label}));return{runtime:{platform:l?.runtime?.platform??null,isDesktop:u,isVSCode:!!l?.runtime?.isVSCode,hasRuntimeApis:!!l,desktopServerOrigin:null},location:typeof window<`u`?{href:window.location?.href??null,origin:window.location?.origin??null}:null,directories:{currentDirectory:r,opencodeDirectory:h?.directory||h?.worktree||i,homeDirectory:e.homeDirectory||null,isHomeReady:e.isHomeReady,hasPersistedDirectory:e.hasPersistedDirectory,isSwitchingDirectory:e.isSwitchingDirectory},projects:{total:n.projects.length,activeProjectId:n.activeProjectId,samples:b},sessions:{total:a.length,currentSessionId:t.currentSessionId,lastLoadedDirectory:t.lastLoadedDirectory,uniqueDirectories:o.size,directorySamples:Array.from(o).slice(0,5),directoryCounts:s},worktrees:{available:t.availableWorktrees.length,metadataEntries:t.worktreeMetadata.size},git:y,localStorage:c,opencode:{pathInfo:h,projectInfo:g,health:v},openchamber:{settingsInfo:_}}},async buildDiagnosticsReport(){let e=await this.getAppStatus();return JSON.stringify(e,null,2)},async copyTextToClipboard(e){return Gn(e)},async copyDiagnosticsReport(){let e=await this.buildDiagnosticsReport();return{...await this.copyTextToClipboard(e),report:e}},checkLastMessage(){let e=this.getLastAssistantMessage();if(!e)return!1;let t=e.isEmpty||e.isEmptyResponse;return t&&(console.error(`[ALERT] PROBLEMATIC MESSAGE DETECTED!`),e.messageId,e.isEmpty,e.isEmptyResponse,e.partsCount,e.parts.length>0&&e.parts),t},getStreamingState(){let e=ma.getState(),t=Wa.getState(),n=e.currentSessionId?t.streamingMessageIds.get(e.currentSessionId)??null:null;return Array.from(t.streamingMessageIds.entries()),Array.from(t.messageStreamStates.entries()),{streamingMessageId:n,streamingMessageIds:t.streamingMessageIds,streamStates:t.messageStreamStates}},findEmptyMessages(){let e=ma.getState().currentSessionId;if(!e)return[];let t=jt(e).filter(e=>e.role===`assistant`).filter(e=>{let t=ft(e.id)||[],n=t.some(e=>e.type===`text`&&e.text&&e.text.trim().length>0),r=t.some(e=>e.type===`tool`);return t.length===0||!n&&!r});return`${t.length}`,t.forEach((e,t)=>{let n=ft(e.id)||[];`${t}`,e.id,n.length,e.providerID,e.modelID,e.time?.created}),t},showRetryHelp(){},analyzeMessageCompletionConsistency(e={}){let{includeNonAssistant:t=!1,verbose:n=!0,maxTableRows:r=25}=e,i=ma.getState().currentSessionId;if(!i)return{summary:null,rows:[]};let a=jt(i),o=t?a:a.filter(e=>e.role===`assistant`),s={totalMessages:a.length,analyzedMessages:o.length,completedMissing:0,completedBeforeTool:0,completedBeforeReasoning:0,runningToolsWhenCompleted:0,reasoningOpenWhenCompleted:0,withTools:0,withReasoning:0},c=e=>typeof e==`number`&&Number.isFinite(e)?e:null,l=e=>{let t=e.filter(e=>typeof e==`number`);return t.length>0?Math.max(...t):null},u=o.map((e,t)=>{let n=e,r=ft(e.id)||[],i=n.time??{},a=c(i.completed),o=a!==null,u=r.filter(e=>e.type===`tool`),d=r.filter(e=>e.type===`reasoning`),f=l(u.map(e=>c(e.state?.time?.end??e.state?.time?.start))),p=l(d.map(e=>c(e.time?.end??e.time?.start))),m=l([f,p].filter(e=>e!==null)),h=u.some(e=>[`pending`,`running`,`started`].includes(e.state?.status)),g=d.some(e=>typeof e.time?.end!=`number`);u.length>0&&(s.withTools+=1),d.length>0&&(s.withReasoning+=1),o||(s.completedMissing+=1);let _=!!(o&&typeof f==`number`&&a<f);_&&(s.completedBeforeTool+=1);let v=!!(o&&typeof p==`number`&&a<p);return v&&(s.completedBeforeReasoning+=1),o&&h&&(s.runningToolsWhenCompleted+=1),o&&g&&(s.reasoningOpenWhenCompleted+=1),{index:t,messageId:n.id,role:n.role,completedAt:a,latestToolTimestamp:f,latestReasoningTimestamp:p,latestPartTimestamp:m,completed_missing:!o,completed_before_tool:_,completed_before_reasoning:v,running_tools_when_completed:!!(o&&h),reasoning_open_when_completed:!!(o&&g),has_tools:u.length>0,has_reasoning:d.length>0}});return n&&(console.table(u.slice(0,r)),u.length>r&&`${r}${u.length}`),{summary:s,rows:u}},checkCompletionStatus(){let e=ma.getState().currentSessionId;if(!e)return null;let t=jt(e).filter(e=>e.role===`assistant`);if(t.length===0)return null;let n=t[t.length-1],r=(ft(n.id)||[]).filter(e=>e.type===`step-finish`),i=n.finish===`stop`,a=n.time?.completed,o=n.status,s=typeof a==`number`&&a>0||o===`completed`,c=!!(s&&i),l=Wa.getState();n.sessionID&&l.streamingMessageIds.get(n.sessionID);let u=l.messageStreamStates.get(n.id);return n.id,n.id,u?.phase,{messageId:n.id,completed:a,status:o,hasCompletedFlag:s,hasStopReason:i,messageIsComplete:c,stepFinishParts:r,raw:n}}},Tt(),window.addEventListener(`error`,e=>{try{let t=e.message||``,n=e.filename||``;typeof t==`string`&&t.includes(`this._renderer.value.dimensions`)&&/xterm/i.test(String(n))&&e.preventDefault()}catch{}}));var Z=e(Ye(),1),Q=bn(),wf=async()=>{if(typeof window>`u`)return;let e=null;try{e=M(`lastDirectory`)}catch(e){console.warn(`Failed to read saved directory preferences:`,e)}e&&!K()&&ot.getState().setDirectory(e,{showOverlay:!1})},Tf=new Map,Ef=e=>Tf.get(e)??null,Df=({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,onError:i},a={})=>{let o=Tf.get(e);if(o&&!a.force)return o;let s=(async()=>{o&&await o;try{await t()}catch(e){return i(`appearance`,e),!1}try{await Promise.all([n(),r()])}catch(e){i(`secondary`,e)}return!0})();return Tf.set(e,s),s},Of=async({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,startWatchers:i,onError:a})=>{await Df({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,onError:a})&&i()},kf=(e,t=50)=>{let n=null,r;return{schedule:i=>{r=i,n&&clearTimeout(n),n=setTimeout(()=>{n=null;let t=r;r=void 0,t!==void 0&&e(t)},t)},cancel:()=>{n&&clearTimeout(n),n=null,r=void 0}}};function Af(e){return!e||e===`idle`?null:e===`ready`?`ok`:e===`error`?`unreachable`:`auth`}function jf(e,t){let n=e.via===`relay`;return t?n:!n}function Mf(e){let{isActive:t,isSsh:n,runtimeIsConnected:r,runtimeConnectionPhase:i,currentTransportIsRelay:a,probe:o,sshPhase:s}=e,c;c=t?r&&i===`connected`?`ok`:`checking`:n?Af(s):o?.status??`checking`;let l=t?a:o?.via===`relay`,u=null;return!n&&c===`ok`&&o?.status===`ok`&&typeof o.latencyMs==`number`&&(!t||jf(o,a))&&(u=Math.max(0,Math.round(o.latencyMs))),{statusKind:c,showViaRelay:l,latencyMs:u}}var $=$e(),Nf=`local`,Pf=9e4,Ff=`SSH connection cancelled`,If=e=>Be(e),Lf={},Rf=e=>{let t=Le(e);if(!t)return e.trim();try{let e=new URL(t);return e.pathname.endsWith(`/`)||(e.pathname=`${e.pathname}/`),e.toString()}catch{return t}},zf=()=>typeof window>`u`?``:window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,Bf=async()=>ve()?Ie().catch(()=>``):``,Vf=e=>e===`ok`?`bg-status-success`:e===`auth`||e===`update-recommended`?`bg-status-warning`:e===`incompatible`||e===`wrong-service`||e===`unreachable`?`bg-status-error`:e===`checking`?`bg-status-info`:`bg-muted-foreground/40`,Hf=e=>e===`ok`?`text-[var(--status-success)]`:e===`auth`||e===`update-recommended`?`text-[var(--status-warning)]`:e===`incompatible`||e===`wrong-service`||e===`unreachable`?`text-[var(--status-error)]`:`text-muted-foreground`,Uf=e=>e===`unreachable`||e===`wrong-service`||e===`incompatible`,Wf=e=>e===`unreachable`||e===`wrong-service`||e===`incompatible`,Gf=e=>e===`ok`?`desktopHostSwitcher.status.connected`:e===`auth`?`desktopHostSwitcher.status.authRequired`:e===`checking`?`desktopHostSwitcher.status.checking`:e===`update-recommended`?`desktopHostSwitcher.status.updateRecommended`:e===`incompatible`?`desktopHostSwitcher.status.incompatible`:e===`wrong-service`?`desktopHostSwitcher.status.wrongService`:e===`unreachable`?`desktopHostSwitcher.status.unreachable`:`desktopHostSwitcher.status.unknown`,Kf=e=>new Promise(t=>window.setTimeout(t,e)),qf=e=>{switch(e){case`ready`:return`desktopHostSwitcher.sshPhase.ready`;case`error`:return`desktopHostSwitcher.sshPhase.error`;case`degraded`:return`desktopHostSwitcher.sshPhase.reconnecting`;case`config_resolved`:return`desktopHostSwitcher.sshPhase.resolvingConfig`;case`auth_check`:return`desktopHostSwitcher.sshPhase.checkingAuth`;case`master_connecting`:return`desktopHostSwitcher.sshPhase.connectingSsh`;case`remote_probe`:return`desktopHostSwitcher.sshPhase.probingRemote`;case`installing`:return`desktopHostSwitcher.sshPhase.installing`;case`updating`:return`desktopHostSwitcher.sshPhase.updating`;case`server_detecting`:return`desktopHostSwitcher.sshPhase.detectingServer`;case`server_starting`:return`desktopHostSwitcher.sshPhase.startingServer`;case`forwarding`:return`desktopHostSwitcher.sshPhase.forwardingPorts`;default:return`desktopHostSwitcher.sshPhase.idle`}},Jf=async()=>{let e=await Ac().catch(()=>[]),t={};for(let n of e)t[n.id]=n;return t},Yf=async(e,t,n,r)=>{let i=Date.now()+t;for(;Date.now()<i;){if(r?.())throw Error(Ff);let t=(await Ac(e).catch(()=>[])).find(t=>t.id===e);if(t){if(n(t),t.phase===`ready`)return t;if(t.phase===`error`)throw Error(t.detail||`SSH connection failed`)}await Kf(700)}throw r?.()?Error(Ff):Error(`Timed out waiting for SSH connection`)},Xf=e=>({id:Nf,label:`Local`,url:e||zf()}),Zf=e=>{let t=typeof window>`u`?``:window.location.href,n=e.find(e=>e.id===Nf)?.url||zf(),r=u(),i=Le(n)||n,a=Le(t)||t,o=l(),s=e.find(e=>e.relay&&If(e)===o);if(s)return{id:s.id,label:s.label,url:s.url};if(r&&Ae(r,n))return{id:Nf,label:`Local`,url:i};let c=e.find(e=>r?Ae(r,Ne(e)):!1);if(c)return{id:c.id,label:c.label,url:Le(Ne(c))||Ne(c)};if(t&&Ae(t,n))return{id:Nf,label:`Local`,url:i};let d=e.find(e=>t?Ae(t,e.url):!1);return d?{id:d.id,label:d.label,url:Le(d.url)||d.url}:t.startsWith(`openchamber-ui://`)?{id:Nf,label:`Local`,url:i}:{id:`custom`,label:je(a||`Instance`),url:a}};function Qf({open:e,onOpenChange:t,embedded:n=!1,onHostSwitched:i}){let{t:o}=Kn(),s=q(e=>e.setSettingsDialogOpen),c=q(e=>e.setSettingsPage),l=aa(e=>e.isConnected),u=aa(e=>e.connectionPhase),[d,f]=Z.useState([]),[p,m]=Z.useState(null),[h,g]=Z.useState(()=>({...Lf}));Z.useEffect(()=>{Object.assign(Lf,h)},[h]);let[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),[x,S]=Z.useState(!1),C=Fc(),w=gc(),[T,E]=Z.useState(null),D=T||w,[O,k]=Z.useState({}),[A,j]=Z.useState({}),[M,N]=Z.useState({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),[P,F]=Z.useState(``),[I,L]=Z.useState(()=>zf()),[R,z]=Z.useState(null),[B,V]=Z.useState(``),[H,ee]=Z.useState(``),[U,te]=Z.useState(0),ne=Z.useRef(0),W=Z.useMemo(()=>[Xf(I),...d.map(e=>({...e,url:Le(e.url)||e.url}))],[d,I]),G=Z.useMemo(()=>new Set(Object.keys(O)),[O]),re=Z.useMemo(()=>W.filter(e=>e.id===Nf||ke(e,G)),[W,G]);Z.useEffect(()=>r(()=>te(e=>e+1)),[]);let ie=Z.useMemo(()=>Zf(W),[W,U]),ae=Z.useMemo(()=>a().startsWith(`relay:`),[U]),oe=Z.useMemo(()=>{let e=p||Nf;return W.find(t=>t.id===e)?.label||o(`desktopHostSwitcher.instance.local`)},[W,p,o]),se=Z.useCallback(async(e,t)=>{if(fe()){S(!0),F(``);try{let n=e.filter(e=>e.id!==Nf);await Me({hosts:n,defaultHostId:t}),f(n),m(t)}catch(e){F(e instanceof Error?e.message:o(`desktopHostSwitcher.error.failedToSave`))}finally{S(!1)}}},[o]),K=Z.useCallback(()=>{c(`remote-instances`),s(!0),t(!1)},[t,s,c]),ce=Z.useCallback(async()=>{if(fe()){v(!0),F(``);try{let[e,t,n]=await Promise.all([Re(),Us().catch(()=>({instances:[]})),Jf()]);e.localOrigin&&L(e.localOrigin);let r={};for(let e of t.instances)r[e.id]=!0;f(e.hosts||[]),m(e.defaultHostId??null),k(r),j(n)}catch(e){F(e instanceof Error?e.message:o(`desktopHostSwitcher.error.failedToLoad`)),f([]),m(null),k({}),j({})}finally{v(!1)}}},[o]),le=Z.useCallback(async e=>{if(fe()){b(!0);try{let t=await Bf(),n=await Promise.all(e.map(async e=>{let n=async()=>{let t=await Pe(e.relay,{clientToken:e.clientToken||null}).catch(()=>({status:`unreachable`,latencyMs:0}));return{status:t.status,latencyMs:t.latencyMs,...t.status===`ok`?{via:`relay`}:{}}};if(e.relay&&!e.apiUrl)return[e.id,await n()];let r=Le(ve()?Ne(e):e.url);if(!r)return[e.id,{status:`unreachable`,latencyMs:0}];let i=e.id===Nf?t:e.clientToken||``,a=await Fe(r,{clientToken:i||null,requestHeaders:e.requestHeaders||null}).catch(()=>({status:`unreachable`,latencyMs:0}));if(Uf(a.status)&&e.relay){let t=await n();if(t.status===`ok`)return[e.id,t]}return[e.id,{status:a.status,latencyMs:a.latencyMs}]})),r={};for(let[e,t]of n)r[e]=t;g(r)}finally{b(!1)}}},[]);Z.useEffect(()=>{if(!e){z(null),V(``),ee(``),E(null),N({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),F(``);return}ce()},[e,ce]),Z.useEffect(()=>{e&&le(re)},[e,re,le]),Z.useEffect(()=>{if(!e||!fe())return;let t=!1,n=async()=>{let e=await Jf();t||j(e)};n();let r=window.setInterval(()=>{typeof document<`u`&&document.visibilityState!==`visible`||n()},1500);return()=>{t=!0,window.clearInterval(r)}},[e]);let ue=J(async e=>{let t=e.id===Nf?I:Le(e.url)||``,n=e.id===Nf?I:Le(Ne(e))||``,r=!!e.relay&&!e.apiUrl&&e.id!==Nf;if(!t&&!r)return;if(ve()){if(!n&&!e.relay||C)return;let t=e.id===Nf?await Bf():null,r=await Sc({host:e,cachedProbe:h[e.id]||null,...e.id===Nf?{localApiOrigin:n,localClientToken:t}:{}});g(t=>({...t,[e.id]:r.status})),r.ok&&i?.();return}let a=!!O[e.id];if(e.id!==Nf&&a&&fe()){let n=A[e.id],r=await Ac(e.id).then(t=>t.find(t=>t.id===e.id)||null).catch(()=>null);r&&(n=r,j(t=>({...t,[e.id]:r})));let a=Le(n?.localUrl||e.url||``);if(n?.phase===`ready`&&a){let e=Rf(a);i?.(),window.location.assign(e);return}E(e.id);let s=ne.current+1;ne.current=s,N({open:!0,hostId:e.id,hostLabel:je(e.label),phase:`master_connecting`,detail:null,error:null,errorCode:null});try{if(await cc(e.id),s!==ne.current)return;let n=await Yf(e.id,Pf,e=>{j(t=>({...t,[e.id]:e})),N(t=>({...t,phase:e.phase,detail:e.detail||null,errorCode:e.errorCode||null}))},()=>s!==ne.current);if(s!==ne.current)return;let r=Rf(Le(n.localUrl||``)||t);i?.(),window.location.assign(r);return}catch(t){if(s!==ne.current)return;let n=t instanceof Error?t.message:String(t);if(n===Ff)return;let r=qs(M.errorCode,n);N(e=>({...e,error:n,errorCode:r})),mi.error(o(`desktopHostSwitcher.toast.sshFailedToConnect`,{host:je(e.label)}),{description:oc(o(Ys(r)),r,n)});return}finally{s===ne.current&&E(null)}}if(e.id!==Nf&&fe()){E(e.id);let n=await Fe(t,{clientToken:e.clientToken||null,requestHeaders:e.requestHeaders||null}).catch(()=>({status:`unreachable`,latencyMs:0}));if(g(t=>({...t,[e.id]:{status:n.status,latencyMs:n.latencyMs}})),Uf(n.status)){mi.error(o(`desktopHostSwitcher.toast.instanceUnreachable`,{host:je(e.label)})),E(null);return}}let s=Rf(t);i?.();try{window.location.assign(s)}catch{window.location.href=s}}),de=Z.useCallback(()=>{z(null),V(``),ee(``)},[]),pe=Z.useCallback(e=>{e.stopPropagation()},[]),me=Z.useCallback(async()=>{if(!R)return;if(R===Nf){de();return}let e=De(H);if(!e){F(o(`desktopHostSwitcher.error.invalidUrl`));return}let t=e.persistedUrl,n=(B||je(t)).trim(),r=d.map(e=>e.id===R?{...e,label:n,url:t,apiUrl:t}:e);await se(r,p),de(),e.redeemUrl&&window.location.assign(e.redeemUrl)},[de,d,p,B,H,R,se,o]),he=Z.useCallback(async e=>{await se(d,e===Nf?Nf:e)},[d,se]),ge=Z.useCallback(e=>{let t=e=>{mi.error(o(`desktopHostSwitcher.error.failedToOpenNewWindow`),{description:e instanceof Error?e.message:String(e)})};if(e.relay&&e.id!==Nf){Oe(e.id).catch(t);return}let n=e.id===Nf?I:Ne(e);if(!n)return;let r=Rf(n);ze(r,{clientToken:e.clientToken||null,requestHeaders:e.requestHeaders||null}).catch(t)},[I,o]),_e=J(async()=>{ne.current+=1,E(null),N(e=>({...e,open:!1,hostId:null,error:null,errorCode:null,detail:null,phase:`idle`}));let e=Rf(I);if(ve()){if(C)return;let e=await Bf();(await Sc({host:Xf(I),localApiOrigin:I,localClientToken:e})).ok&&i?.();return}i?.(),window.location.assign(e)}),ye=Z.useCallback(async()=>{let e=M.hostId||D;ne.current+=1,E(null),N({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),!(!e||e===Nf||!fe())&&await uc(e).catch(()=>{})},[M.hostId,D]),be=Z.useCallback(()=>{let e=M.hostId;if(!e)return;let t=W.find(t=>t.id===e);t&&ue(t)},[W,ue,M.hostId]),xe=Z.useCallback(async e=>{if(fe()){E(e.id);try{await cc(e.id),(await Yf(e.id,Pf,e=>{j(t=>({...t,[e.id]:e}))})).phase===`ready`&&mi.success(o(`desktopHostSwitcher.toast.sshConnected`,{host:je(e.label)}))}catch(t){let n=t instanceof Error?t.message:String(t);if(n!==Ff){let t=qs(null,n);mi.error(o(`desktopHostSwitcher.toast.sshFailedToConnect`,{host:je(e.label)}),{description:oc(o(Ys(t)),t,n)})}}finally{E(null)}}},[o]);if(!fe())return null;let Se=fe(),Ce=(0,$.jsxs)($.Fragment,{children:[n?(0,$.jsx)(`div`,{className:`flex-shrink-0 border-b border-[var(--interactive-border)] px-3 py-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex items-baseline gap-1.5 typography-ui-label`,children:[(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:o(`desktopHostSwitcher.header.current`)}),(0,$.jsx)(`span`,{className:`max-w-[9rem] truncate text-muted-foreground`,children:je(ie.label)}),(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`•`}),(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:o(`desktopHostSwitcher.header.default`)}),(0,$.jsx)(`span`,{className:`max-w-[9rem] truncate text-muted-foreground`,children:je(oe)})]}),(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:text-foreground hover:bg-interactive-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`),onClick:()=>void le(re),disabled:!Se||_||y,"aria-label":o(`desktopHostSwitcher.actions.refreshInstancesAria`),children:(0,$.jsx)(X,{name:`refresh`,className:Y(`h-4 w-4`,y&&`animate-spin`)})})]})}):(0,$.jsxs)(ss,{className:`flex-shrink-0`,children:[(0,$.jsxs)(us,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`server`,className:`h-5 w-5`}),o(`desktopHostSwitcher.title`)]}),(0,$.jsx)(ds,{children:o(`desktopHostSwitcher.description`)})]}),!n&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 flex-shrink-0`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`desktopHostSwitcher.header.currentColon`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:je(ie.label)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`desktopHostSwitcher.header.currentDefaultColon`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:je(oe)})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,$.jsxs)(Xn,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>void le(re),disabled:!Se||_||y,children:[(0,$.jsx)(X,{name:`refresh`,className:Y(`h-4 w-4`,y&&`animate-spin`)}),o(`desktopHostSwitcher.actions.refresh`)]})})]}),!Se&&(0,$.jsx)(`div`,{className:`flex-shrink-0 rounded-lg border border-border/50 bg-muted/20 p-3`,children:(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:o(`desktopHostSwitcher.state.limitedOnPage`)})}),(0,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,$.jsx)(`div`,{className:Y(`space-y-1`,n&&`space-y-1.5 px-3 py-1`),children:_?(0,$.jsx)(`div`,{className:`px-2 py-2 text-muted-foreground text-sm`,children:o(`desktopHostSwitcher.state.loading`)}):re.map(e=>{let t=e.id===Nf,r=!!O[e.id],i=e.id===ie.id,a=(p||Nf)===e.id,s=h[e.id]||null,c=A[e.id]||null,d=Mf({isActive:i,isSsh:r,runtimeIsConnected:l,runtimeConnectionPhase:u,currentTransportIsRelay:ae,probe:s,sshPhase:c?.phase}),f=d.statusKind,m=d.showViaRelay,g=R===e.id,_=t?I:Le(e.url)||e.url,v=e.id===Nf?o(`desktopHostSwitcher.instance.local`):je(e.label),y=e.relay&&!e.apiUrl?o(`mobile.connect.relay.badge`):je(_);return(0,$.jsxs)(`div`,{className:Y(`app-region-no-drag group flex items-center gap-2 px-2.5 py-2 rounded-md overflow-hidden`,n&&`rounded-xl bg-[var(--surface-muted)] px-3 py-2.5`,n&&i&&`bg-[var(--interactive-selection)]/25`,g?`bg-interactive-hover/20`:`hover:bg-interactive-hover/30`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(`flex items-center gap-2 flex-1 min-w-0 text-left`,g&&`pointer-events-none opacity-70`),onClick:()=>void ue(e),disabled:D===e.id,"aria-label":o(`desktopHostSwitcher.actions.switchToAria`,{instance:v}),children:[(0,$.jsx)(`span`,{className:Y(`h-2 w-2 rounded-full flex-shrink-0`,Vf(f))}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-medium truncate text-foreground`,children:v}),i&&(0,$.jsx)(`span`,{className:`typography-micro flex-shrink-0 text-muted-foreground bg-muted px-1 rounded leading-none pb-px border border-border/50`,children:o(`desktopHostSwitcher.header.current`)}),r&&(0,$.jsx)(`span`,{className:`typography-micro flex-shrink-0 px-1 rounded leading-none pb-px text-[var(--status-info)] bg-[var(--status-info)]/10`,children:`SSH`})]}),(0,$.jsxs)(`div`,{className:Y(`typography-micro truncate`,Hf(f)),children:[o(r&&!i?qf(c?.phase):Gf(f)),d.latencyMs==null?``:o(`desktopHostSwitcher.status.ping`,{ms:d.latencyMs}),m?` · ${o(`settings.remoteInstances.clientAuth.state.viaRelay`)}`:``]}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70 truncate font-mono`,children:y})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[r&&!t&&(c?.phase===`idle`||!c?.phase?(0,$.jsxs)(Xn,{type:`button`,variant:`outline`,size:`sm`,className:`h-8 px-2.5`,disabled:D===e.id,onClick:t=>{t.stopPropagation(),xe(e)},children:[D===e.id?(0,$.jsx)(X,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}):(0,$.jsx)(X,{name:`plug-2`,className:`h-3.5 w-3.5`}),o(`desktopHostSwitcher.actions.connect`)]}):(0,$.jsx)(`div`,{className:`h-8 w-8 opacity-0 pointer-events-none`,"aria-hidden":`true`})),(0,$.jsxs)(Vs,{delayDuration:600,children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:Y(`app-region-no-drag h-8 w-8 rounded-md inline-flex items-center justify-center hover:bg-interactive-hover transition-colors`,a?`text-primary hover:text-primary/80`:`text-muted-foreground/60 hover:text-primary/80`),onClick:()=>void he(e.id),"aria-label":o(a?`desktopHostSwitcher.actions.defaultInstanceAria`:`desktopHostSwitcher.actions.setAsDefaultAria`),disabled:x||!a&&Wf(f),children:a?(0,$.jsx)(X,{name:`star-fill`,className:`h-4 w-4`}):(0,$.jsx)(X,{name:`star`,className:`h-4 w-4`})})}),(0,$.jsx)(Bs,{sideOffset:6,children:o(a?`desktopHostSwitcher.header.default`:`desktopHostSwitcher.actions.setAsDefault`)})]}),(0,$.jsxs)(Vs,{delayDuration:600,children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:Y(`app-region-no-drag h-8 w-8 rounded-md inline-flex items-center justify-center hover:bg-interactive-hover transition-colors`,Wf(f)?`text-muted-foreground/30 cursor-not-allowed`:`text-muted-foreground/60 hover:text-foreground`),onClick:t=>{t.stopPropagation(),ge(e)},disabled:Wf(f),"aria-label":o(`desktopHostSwitcher.actions.openInNewWindowAria`),children:(0,$.jsx)(X,{name:`window`,className:`h-4 w-4`})})}),(0,$.jsx)(Bs,{sideOffset:6,children:Wf(f)?o(`desktopHostSwitcher.state.instanceUnreachable`):o(`desktopHostSwitcher.actions.openInNewWindow`)})]})]})]},e.id)})})}),Se&&R&&R!==Nf&&(0,$.jsxs)(`div`,{className:`flex-shrink-0 rounded-lg border border-border/50 bg-muted/20 p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-medium text-foreground`,children:o(`desktopHostSwitcher.edit.title`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Xn,{type:`button`,variant:`outline`,size:`sm`,onClick:de,disabled:x,children:o(`desktopHostSwitcher.actions.cancel`)}),(0,$.jsxs)(Xn,{type:`button`,size:`sm`,onClick:()=>void me(),disabled:x,children:[x?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):null,o(`desktopHostSwitcher.actions.save`)]})]})]}),(0,$.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,$.jsx)(Rs,{value:B,onChange:e=>V(e.target.value),onKeyDown:pe,placeholder:o(`desktopHostSwitcher.field.labelPlaceholder`),disabled:x}),(0,$.jsx)(Rs,{value:H,onChange:e=>ee(e.target.value),onKeyDown:pe,placeholder:o(`desktopHostSwitcher.field.urlPlaceholder`),disabled:x})]})]}),(0,$.jsx)(`div`,{className:`flex-shrink-0 border-t border-[var(--interactive-border)]`,children:(0,$.jsxs)(`button`,{type:`button`,className:`w-full flex items-center gap-2 px-2 py-2 text-left text-muted-foreground hover:text-foreground hover:bg-interactive-hover/30 transition-colors`,onClick:K,children:[(0,$.jsx)(X,{name:`add`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label`,children:o(`desktopHostSwitcher.actions.addInstance`)})]})}),P&&(0,$.jsx)(`div`,{className:`flex-shrink-0 typography-meta text-status-error`,children:P})]}),we=(0,$.jsx)(ps,{open:M.open,onOpenChange:e=>{if(!e&&D){ye();return}N(t=>({...t,open:e,...e?{}:{hostId:null,error:null,errorCode:null,detail:null,phase:`idle`}}))},children:(0,$.jsxs)(ls,{className:`w-[min(28rem,calc(100vw-2rem))] max-w-none`,children:[(0,$.jsxs)(ss,{children:[(0,$.jsxs)(us,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(`h-4 w-4`,!M.error&&`animate-spin`)}),o(`desktopHostSwitcher.ssh.connectingTo`,{host:M.hostLabel||o(`desktopHostSwitcher.ssh.instanceFallback`)})]}),M.error?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ds,{className:`sr-only`,children:o(kc(qs(M.errorCode,M.error)))}),(0,$.jsx)(rc,{errorCode:M.errorCode,detail:M.error})]}):(0,$.jsx)(ds,{children:M.detail||o(qf(M.phase))})]}),M.error?(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,$.jsx)(Xn,{type:`button`,size:`sm`,variant:`outline`,onClick:()=>{K(),ye()},children:o(`desktopHostSwitcher.sshError.openRemoteSettings`)}),(0,$.jsx)(Xn,{type:`button`,size:`sm`,variant:`outline`,onClick:()=>void _e(),children:o(`desktopHostSwitcher.actions.switchToLocal`)}),(0,$.jsx)(Xn,{type:`button`,size:`sm`,onClick:be,disabled:!M.hostId,children:o(`desktopHostSwitcher.actions.retry`)})]}):null]})});return n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`w-full max-h-[70vh] flex flex-col overflow-hidden gap-2`,children:Ce}),we]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ps,{open:e,onOpenChange:t,children:(0,$.jsx)(ls,{className:`w-[min(42rem,calc(100vw-2rem))] max-w-none max-h-[70vh] flex flex-col overflow-hidden gap-3`,children:Ce})}),we]})}function $f(){let e=(0,Q.c)(11),[t,n]=Z.useState(!1),{t:r}=Kn();if(!fe())return null;let i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>n(!0),a=(0,$.jsx)(X,{name:`server`,className:`h-4 w-4`}),e[0]=i,e[1]=a):(i=e[0],a=e[1]);let o;e[2]===r?o=e[3]:(o=r(`desktopHostSwitcher.actions.switchInstance`),e[2]=r,e[3]=o);let s;e[4]===o?s=e[5]:(s=(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`sm`,"data-oc-host-switcher":!0,className:`w-full justify-center`,onClick:i,children:[a,o]}),e[4]=o,e[5]=s);let c;e[6]===t?c=e[7]:(c=(0,$.jsx)(Qf,{open:t,onOpenChange:n}),e[6]=t,e[7]=c);let l;return e[8]!==s||e[9]!==c?(l=(0,$.jsxs)($.Fragment,{children:[s,c]}),e[8]=s,e[9]=c,e[10]=l):l=e[10],l}var ep=e=>e.shouldUseDesktopShellPasswordLogin?`locked`:`error`,tp=`/auth/session`,np=4,rp=1500,ip=`openchamber.uiAuth.trustDevice`,ap=`desktop-local`,op=`desktop-local`,sp=()=>{if(typeof window>`u`)return``;let e=window.__OPENCHAMBER_LOCAL_ORIGIN__;return typeof e==`string`?e.trim():``},cp=(e,t)=>{let n=Le(e),r=Le(t);if(!n||!r)return!1;try{return new URL(n).origin===new URL(r).origin}catch{return!1}},lp=()=>fe(),up=e=>{let t=e.replace(/^\[|\]$/g,``);return t===`localhost`||t===`127.0.0.1`||t===`::1`},dp=()=>{if(!fe())return!1;let e=sp();if(!e)return!1;let t=u()||(typeof window<`u`?window.location.origin:``);if(cp(e,t))return!0;try{let e=Le(t);return!!(e&&up(new URL(e).hostname))}catch{return!1}},fp=()=>dp()?{clientKind:ap,dedupeKey:op}:{},pp=async()=>await d(tp,{method:`GET`,credentials:`include`,headers:{Accept:`application/json`}}),mp=()=>typeof window>`u`?!1:window.localStorage.getItem(ip)===`true`,hp=async(e,t)=>{let n=lp();return await d(tp,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({password:e,trustDevice:t,issueClientToken:n,clientLabel:`OpenChamberY Desktop`,...fp()})})},gp=async()=>{if(!fe())return``;let e=await d(`/api/client-auth/clients`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({label:`OpenChamberY Desktop`,...fp()})}).catch(()=>null);if(!e?.ok)return``;let t=await e.json().catch(()=>null);return typeof t?.token==`string`?t.token.trim():``},_p=()=>fe()&&!dp(),vp=async(e,t)=>{if(!fe()||typeof window>`u`)return null;let r=await _e(`desktop_remote_password_login`,{url:u(),password:e,trustDevice:t,requestHeaders:n()}).catch(()=>null);if(!r||typeof r!=`object`)return null;let i=r.token,a=r.status;return{token:typeof i==`string`?i.trim():``,...typeof a==`number`?{status:a}:{}}},yp=async(e,t)=>{if(!fe()||!t)return;let n=await Re().catch(()=>null);if(!n)return;if(n.localOrigin&&cp(n.localOrigin,e)){await Me({hosts:n.hosts,defaultHostId:n.defaultHostId,initialHostChoiceCompleted:n.initialHostChoiceCompleted,localClientToken:t}).catch(()=>void 0);return}let r=!1,i=n.hosts.map(n=>!cp(Ne(n),e)||n.clientToken===t?n:(r=!0,{...n,clientToken:t}));r&&await Me({hosts:i,defaultHostId:n.defaultHostId,initialHostChoiceCompleted:n.initialHostChoiceCompleted}).catch(()=>void 0)},bp=async e=>{if(!e)return;let r=u(),i=n();await yp(r,e),o({apiBaseUrl:r,clientToken:e,requestHeaders:Object.keys(i).length>0?i:null,relay:t()})},xp=e=>{let t=(0,Q.c)(7),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={height:`var(--oc-wco-titlebar-height, 0px)`,right:`var(--oc-wco-right-inset, 0px)`},t[0]=r):r=t[0];let i=r,a,o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a={fontFamily:`"Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif`},o=(0,$.jsx)(`div`,{className:`app-region-drag fixed left-0 top-0 z-20`,style:i,"aria-hidden":!0}),t[1]=a,t[2]=o):(a=t[1],o=t[2]);let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 opacity-55`,style:{background:`radial-gradient(120% 140% at 50% -20%, var(--surface-overlay) 0%, transparent 68%)`}}),t[3]=s):s=t[3];let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:{backgroundColor:`var(--surface-subtle)`,opacity:.22}}),t[4]=c):c=t[4];let l;return t[5]===n?l=t[6]:(l=(0,$.jsxs)(`div`,{className:`relative flex min-h-screen items-center justify-center overflow-hidden bg-background text-foreground`,style:a,children:[o,s,c,(0,$.jsx)(`div`,{className:`app-region-no-drag relative z-10 flex w-full justify-center px-4 py-12 sm:px-6`,children:n})]}),t[5]=n,t[6]=l),l},Sp=()=>{let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-background text-foreground`,children:(0,$.jsx)(Js,{width:120,height:120})}),e[0]=t):t=e[0],t},Cp=e=>{let t=(0,Q.c)(23),{onRetry:n,errorType:r,retryAfter:i,children:a}=e,o=r===void 0?`network`:r,{t:s}=Kn(),c=o===`rate-limit`,l=i?Math.ceil(i/60):1,u;t[0]!==c||t[1]!==s?(u=s(c?`sessionAuth.error.rateLimitTitle`:`sessionAuth.error.networkTitle`),t[0]=c,t[1]=s,t[2]=u):u=t[2];let d;t[3]===u?d=t[4]:(d=(0,$.jsx)(`h1`,{className:`typography-ui-header font-semibold text-destructive`,children:u}),t[3]=u,t[4]=d);let f;t[5]!==c||t[6]!==l||t[7]!==s?(f=c?s(l>1?`sessionAuth.error.rateLimitDescriptionPlural`:`sessionAuth.error.rateLimitDescriptionSingle`,{minutes:l}):s(`sessionAuth.error.networkDescription`),t[5]=c,t[6]=l,t[7]=s,t[8]=f):f=t[8];let p;t[9]===f?p=t[10]:(p=(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground max-w-xs`,children:f}),t[9]=f,t[10]=p);let m;t[11]!==d||t[12]!==p?(m=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[d,p]}),t[11]=d,t[12]=p,t[13]=m):m=t[13];let h;t[14]===s?h=t[15]:(h=s(`sessionAuth.error.retry`),t[14]=s,t[15]=h);let g;t[16]!==n||t[17]!==h?(g=(0,$.jsx)(Xn,{type:`button`,onClick:n,className:`w-full max-w-xs`,children:h}),t[16]=n,t[17]=h,t[18]=g):g=t[18];let _;return t[19]!==a||t[20]!==m||t[21]!==g?(_=(0,$.jsx)(xp,{children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-6 text-center`,children:[m,g,a]})}),t[19]=a,t[20]=m,t[21]=g,t[22]=_):_=t[22],_},wp=({children:e})=>{let{t}=Kn(),n=Z.useMemo(()=>K(),[]),i=n,a=Z.useMemo(()=>fe()&&!n,[n]),[o,s]=Z.useState(()=>i?`authenticated`:`pending`),[u,d]=Z.useState(``),[f,p]=Z.useState(!1),[m,h]=Z.useState(``),[g,_]=Z.useState(void 0),[v,y]=Z.useState(!1),[b,x]=Z.useState(Qs),[S,C]=Z.useState(!1),[w,T]=Z.useState(!1),[E,D]=Z.useState(()=>mp()),[O,k]=Z.useState(null),[A,j]=Z.useState(i),M=Z.useRef(null),N=Z.useRef(i);Z.useEffect(()=>{typeof window>`u`||window.localStorage.setItem(ip,E?`true`:`false`)},[E]);let P=Z.useCallback(async()=>{if(i)return Qs;try{let e=await Ks();return x(e),e}catch{return x(Qs),Qs}},[i]);Z.useEffect(()=>{let e=!1;if(!i)return(async()=>{try{if(!window.isSecureContext||!gs()){e||C(!1);return}e||C(!0)}catch{e||C(!1)}})(),()=>{e=!0}},[i]);let F=Z.useRef(0),I=Z.useRef(null),L=Z.useRef(null),R=Z.useCallback(()=>{I.current!==null&&(window.clearTimeout(I.current),I.current=null)},[]),z=Z.useCallback(()=>{F.current=0,R()},[R]),B=Z.useCallback(()=>F.current>=np?!1:(F.current+=1,R(),I.current=window.setTimeout(()=>{I.current=null,L.current?.()},rp*F.current),!0),[R]);Z.useEffect(()=>R,[R]);let V=Z.useCallback(async()=>{if(i){s(`authenticated`);return}s(e=>e===`authenticated`?e:`pending`);try{let[e,t]=await Promise.all([pp(),P()]),n=await e.text();if(e.ok){z(),s(`authenticated`),y(!1),h(``),_(void 0);return}if(e.status===401){let e={};try{e=JSON.parse(n)}catch{e={}}z(),y(e.tunnelLocked===!0),x(t),s(`locked`),_(void 0);return}if(e.status===429){let e={};try{e=JSON.parse(n)}catch{e={}}z(),_(e.retryAfter),y(!1),s(`rate-limited`);return}if(B())return;s(`error`),y(!1)}catch(e){if(console.warn(`Failed to check session status:`,e),ep({shouldUseDesktopShellPasswordLogin:_p()})===`locked`){s(`locked`),_(void 0),y(!1);return}if(B())return;s(`error`),y(!1)}},[P,z,B,i]);Z.useEffect(()=>{L.current=V},[V]),Z.useEffect(()=>{i||V()},[V,i]),Z.useEffect(()=>{if(o===`pending`||o===`authenticated`||typeof document>`u`)return;let e=document.getElementById(`initial-loading`);if(!e)return;e.classList.add(`fade-out`);let t=window.setTimeout(()=>{e.remove()},300);return()=>{window.clearTimeout(t)}},[o]),Z.useEffect(()=>{if(i)return;let e=kf(e=>{c(e)&&(d(``),h(``),_(void 0),y(!1),z(),j(!1),N.current=!1,s(`pending`),V())}),t=r(t=>e.schedule(t));return()=>{t(),e.cancel()}},[V,z,i]),Z.useEffect(()=>{!i&&o===`locked`&&(N.current=!1,j(!1))},[i,o]),Z.useEffect(()=>{o===`locked`&&M.current&&(M.current.focus(),M.current.select())},[o]),Z.useEffect(()=>{if(!i&&o===`authenticated`&&!N.current){N.current=!0;let e=!1;return Df({runtimeKey:l(),initializeAppearance:be,syncSettings:ge,applyDirectory:wf,onError:(e,t)=>{console.error(`[SessionAuthGate] ${e} settings hydration failed:`,t)}},{force:!0}).then(()=>{e||j(!0)}),()=>{e=!0}}},[i,o]);let H=async e=>{e.preventDefault(),await te(!1)},ee=Z.useCallback(async()=>{k(`register`),T(!0);try{await zc()}finally{k(null),T(!1)}await P()},[P]),U=Z.useCallback(()=>{Zs(),k(null),T(!1)},[]),te=Z.useCallback(async e=>{if(!v&&!(!u||f)){w&&U(),p(!0),h(``);try{if(_p()){let e=await vp(u,E);if(e?.token){d(``),y(!1),await bp(e.token),s(`authenticated`);return}if(e?.status===401){h(t(`sessionAuth.error.incorrectPassword`)),y(!1),s(`locked`);return}if(e?.status===429){_(void 0),y(!1),s(`rate-limited`);return}}let n=await hp(u,E);if(n.ok){let r=await n.json().catch(()=>null),i=lp(),a=``;if(i&&(a=typeof r?.clientToken==`string`&&r.clientToken.trim()?r.clientToken.trim():``,a||=(await vp(u,E))?.token||await gp()),d(``),y(!1),a&&await bp(a),e&&S)try{await ee(),mi.success(t(`sessionAuth.toast.passkeyAdded`)),s(`authenticated`);return}catch(e){if(tc(e))mi.message(t(`sessionAuth.toast.passkeySetupCanceled`));else{let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySetupFailed`);mi.error(n)}s(`authenticated`);return}s(`authenticated`);return}if(n.status===401){h(t(`sessionAuth.error.incorrectPassword`)),y(!1),s(`locked`);return}if(n.status===429){let e=await n.json().catch(()=>({}));_(e.retryAfter),y(!1),s(`rate-limited`);return}h(t(`sessionAuth.error.unexpectedResponse`)),y(!1),s(`error`)}catch(e){console.warn(`Failed to submit UI password:`,e);let n=_p()?await vp(u,E):null;if(n?.token){d(``),y(!1),await bp(n.token),s(`authenticated`);return}if(n?.status===401){h(t(`sessionAuth.error.incorrectPassword`)),y(!1),s(`locked`);return}if(n?.status===429){_(void 0),y(!1),s(`rate-limited`);return}h(t(`sessionAuth.error.networkRetry`)),y(!1),s(`error`)}finally{p(!1)}}},[U,w,f,v,u,ee,S,t,E]),ne=Z.useCallback(async()=>{if(!(f||!S)){if(w){U();return}T(!0),k(`auth`),h(``);try{let e=await Xs(E,{issueClientToken:lp(),clientLabel:`OpenChamberY Desktop`,...fp()}),t=lp()&&typeof e?.clientToken==`string`&&e.clientToken.trim()?e.clientToken.trim():``;t&&await bp(t),d(``),s(`authenticated`)}catch(e){if(tc(e))h(``);else{let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySignInCanceled`);h(n)}}finally{k(null),T(!1)}}},[U,w,f,S,t,E]),W=Z.useCallback(async()=>{if(!(f||v||!S)){if(w){U();return}if(o!==`authenticated`){if(!u){h(t(`sessionAuth.error.enterPasswordForPasskey`));return}await te(!0);return}h(``);try{await ee(),mi.success(t(`sessionAuth.toast.passkeyAdded`))}catch(e){if(tc(e)){mi.message(t(`sessionAuth.toast.passkeySetupCanceled`));return}let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySetupFailed`);mi.error(n)}}},[U,te,w,f,v,u,ee,o,S,t]),G=S&&b.enabled,re=G&&b.hasPasskeys;return o===`pending`||o===`authenticated`&&!A?(0,$.jsx)(Sp,{}):o===`error`?(0,$.jsx)(Cp,{onRetry:()=>{z(),V()},errorType:`network`,children:a&&(0,$.jsxs)(`div`,{className:`w-full max-w-xs`,children:[(0,$.jsx)($f,{}),(0,$.jsx)(`p`,{className:`mt-1 text-center typography-micro text-muted-foreground`,children:t(`sessionAuth.locked.hostSwitcherHint`)})]})}):o===`rate-limited`?(0,$.jsx)(Cp,{onRetry:()=>void V(),errorType:`rate-limit`,retryAfter:g}):o===`locked`?(0,$.jsx)(xp,{children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-6 w-full max-w-xs`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,$.jsx)(`h1`,{className:`text-xl font-semibold text-foreground`,children:t(v?`sessionAuth.locked.tunnelTitle`:`sessionAuth.locked.unlockTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:t(v?`sessionAuth.locked.tunnelDescription`:`sessionAuth.locked.passwordDescription`)})]}),!v&&(0,$.jsxs)(`form`,{onSubmit:H,className:`w-full space-y-2`,children:[re&&(0,$.jsxs)(Xn,{type:`button`,variant:`outline`,className:`w-full`,onClick:()=>void ne(),disabled:f||w&&O!==`auth`,children:[w?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):(0,$.jsx)(X,{name:`lock-unlock`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:t(w&&O===`auth`?`sessionAuth.actions.cancelPasskey`:`sessionAuth.actions.usePasskey`)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`relative flex-1`,children:[(0,$.jsx)(X,{name:`lock`,className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground/60`}),(0,$.jsx)(Rs,{id:`openchamber-ui-password`,ref:M,type:`password`,autoComplete:`current-password`,placeholder:t(`sessionAuth.password.placeholder`),value:u,onChange:e=>{d(e.target.value),m&&h(``)},className:`pl-10`,"aria-invalid":!!m||void 0,"aria-describedby":m?`oc-ui-auth-error`:void 0,disabled:f})]}),(0,$.jsx)(Xn,{type:`submit`,size:`icon`,disabled:!u||f,"aria-label":t(f?`sessionAuth.actions.unlockingAria`:`sessionAuth.actions.unlockAria`),children:f?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):(0,$.jsx)(X,{name:`lock-unlock`,className:`h-4 w-4`})})]}),G?(0,$.jsxs)(`div`,{className:`flex items-center justify-between pt-1`,children:[(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-center typography-micro text-muted-foreground`,children:[(0,$.jsx)(_s,{checked:E,onChange:D,disabled:f,ariaLabel:t(`sessionAuth.actions.trustDeviceAria`),className:`size-4`,iconClassName:`size-4`}),(0,$.jsx)(`span`,{children:t(`sessionAuth.actions.trustDevice`)})]}),(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`sm`,className:`text-muted-foreground hover:text-foreground`,onClick:()=>void W(),disabled:f,children:t(w&&O===`register`?`sessionAuth.actions.cancelPasskeySetup`:`sessionAuth.actions.addPasskey`)})]}):(0,$.jsxs)(`label`,{className:`flex items-center justify-center gap-2 pt-1 text-center typography-micro text-muted-foreground`,children:[(0,$.jsx)(_s,{checked:E,onChange:D,disabled:f,ariaLabel:t(`sessionAuth.actions.trustDeviceAria`),className:`size-4`,iconClassName:`size-4`}),(0,$.jsx)(`span`,{children:t(`sessionAuth.actions.trustDevice`)})]}),m&&(0,$.jsx)(`p`,{id:`oc-ui-auth-error`,className:`typography-meta text-destructive`,children:m})]}),a&&(0,$.jsxs)(`div`,{className:`w-full`,children:[(0,$.jsx)($f,{}),(0,$.jsx)(`p`,{className:`mt-1 text-center typography-micro text-muted-foreground`,children:t(`sessionAuth.locked.hostSwitcherHint`)})]})]})}):(0,$.jsx)($.Fragment,{children:e})},Tp=e=>!!e&&typeof e==`object`&&!Array.isArray(e),Ep=e=>typeof e==`string`&&e.trim()?e.trim():null,Dp=e=>{if(!Tp(e))throw Error(`Could not check OpenCode compatibility`);let t=e.state,n=e.installation;if(t!==`compatible`&&t!==`incompatible`&&t!==`unavailable`||n!==`managed`&&n!==`external`&&n!==`bundled`)throw Error(`Could not check OpenCode compatibility`);let r=Ep(e.minimumVersion),i=Ep(e.targetVersion);if(!r||!i||typeof e.canInstall!=`boolean`)throw Error(`Could not check OpenCode compatibility`);return{state:t,version:Ep(e.version),installation:n,minimumVersion:r,targetVersion:i,canInstall:e.canInstall,guidance:Ep(e.guidance)}},Op=async()=>{let e=await d(`/api/opencode/compatibility`,{signal:AbortSignal.timeout(2e4)});if(!e.ok)throw Error(`Could not check OpenCode compatibility`);return Dp(await e.json())},kp=async()=>{let e=await d(`/api/opencode/install-required`,{method:`POST`}),t=await e.json().catch(()=>null),n=Tp(t)?t:null,r=Ep(n?.error);if(!e.ok||n?.success!==!0||n?.upgraded!==!0)throw Error(r||`OpenCode installation failed`);let i=Ep(n.version);if(!i)throw Error(r||`OpenCode installation did not report a verified version`);return{version:i}},Ap=(e,t)=>e instanceof Error&&e.message.trim()?e.message.trim():t,jp=({children:e})=>{let{t}=Kn(),[n,i]=Z.useState(null),[a,o]=Z.useState(!1),[s,c]=Z.useState(null),[l,u]=Z.useState(null),d=Z.useId(),f=Z.useRef(null),p=Z.useRef(0);Z.useEffect(()=>{let e=!0,t=async()=>{let t=++p.current;try{let n=await Op();if(!e||t!==p.current)return;i(n),n.state!==`incompatible`&&u(null)}catch{}finally{e&&t===p.current&&o(!0)}};t();let n=r(()=>{e&&(i(null),o(!1),c(null),u(null),t())});return()=>{e=!1,p.current+=1,n()}},[]);let m=n?.state===`incompatible`;Z.useEffect(()=>{m&&(document.getElementById(`initial-loading`)?.remove(),f.current?.focus())},[m]);let h=J(async e=>{if(s)return;let n=++p.current;c(e),u(null);try{if(e===`install`){let e=await kp();if(n!==p.current)return;if(!e.version)throw Error(t(`opencodeUpgrade.screen.failedGeneric`));window.location.reload();return}let r=await Op();if(n!==p.current)return;if(r.state===`incompatible`){i(r);return}if(r.state!==`compatible`)throw Error(t(`opencodeUpgrade.screen.failedGeneric`));window.location.reload()}catch(e){if(n!==p.current)return;u(Ap(e,t(`opencodeUpgrade.screen.failedGeneric`)))}finally{n===p.current&&c(null)}});if(!a)return null;if(!m||!n)return(0,$.jsx)($.Fragment,{children:e});let g=!!n.version?.startsWith(`2.`),_=n.installation===`bundled`?`opencodeUpgrade.screen.bundled`:n.installation===`external`?g?`opencodeUpgrade.screen.outdatedExternal`:`opencodeUpgrade.screen.external`:g?`opencodeUpgrade.screen.outdatedLocal`:`opencodeUpgrade.screen.local`,v=n.minimumVersion,y=s!==null;return(0,$.jsx)(`section`,{className:`app-region-drag flex h-full min-h-dvh min-h-0 items-center justify-center overflow-y-auto bg-background px-4 py-10 text-foreground select-none sm:px-6`,"aria-labelledby":d,"aria-busy":y,"data-opencode-upgrade-screen":`true`,children:(0,$.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col items-center text-center`,children:[(0,$.jsx)(Js,{width:48,height:48}),(0,$.jsx)(`h1`,{id:d,ref:f,tabIndex:-1,className:`mt-6 text-xl font-semibold tracking-tight text-balance outline-none`,children:t(g?`opencodeUpgrade.screen.outdatedTitle`:`opencodeUpgrade.screen.title`)}),(0,$.jsxs)(`p`,{className:`mt-2 text-sm leading-relaxed text-muted-foreground text-balance`,children:[t(_,{version:n.version??``,minimum:v}),n.canInstall?(0,$.jsxs)($.Fragment,{children:[` `,t(`opencodeUpgrade.screen.installDescription`,{minimum:v})]}):null]}),n.canInstall?null:(0,$.jsx)(`p`,{className:`mt-3 text-sm leading-relaxed text-muted-foreground text-balance`,children:t(`opencodeUpgrade.screen.manualGuidance`)}),n.version?(0,$.jsxs)(`div`,{className:`mt-5 inline-flex max-w-full items-center gap-2 rounded-md border border-border px-2.5 py-1 font-mono text-xs`,"aria-hidden":!0,children:[(0,$.jsx)(`span`,{className:`truncate text-muted-foreground`,children:n.version}),(0,$.jsx)(X,{name:`arrow-right`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`span`,{className:`text-foreground`,children:[v,`+`]})]}):null,l?(0,$.jsxs)(`p`,{role:`alert`,className:`mt-5 w-full break-words rounded-md border border-[var(--status-error)]/30 bg-[var(--status-error-background)] px-3 py-2 text-left text-sm text-[var(--status-error-text)]`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:t(`opencodeUpgrade.screen.failedTitle`)}),` `,l]}):null,(0,$.jsxs)(`div`,{className:`app-region-no-drag mt-7 flex w-full flex-wrap items-center justify-center gap-2`,children:[n.canInstall?(0,$.jsxs)(Xn,{type:`button`,disabled:y,onClick:()=>void h(`install`),children:[(0,$.jsx)(X,{name:s===`install`?`refresh`:`download`,className:s===`install`?`size-4 motion-safe:animate-spin`:`size-4`}),(0,$.jsx)(`span`,{role:s===`install`?`status`:void 0,children:s===`install`?t(g?`opencodeUpgrade.screen.updating`:`opencodeUpgrade.screen.installing`):t(g?`opencodeUpgrade.screen.update`:`opencodeUpgrade.screen.install`,{minimum:v})})]}):null,(0,$.jsxs)(Xn,{type:`button`,variant:n.canInstall?`ghost`:`default`,disabled:y,onClick:()=>void h(`reconnect`),children:[(0,$.jsx)(X,{name:`refresh`,className:s===`reconnect`?`size-4 motion-safe:animate-spin`:`size-4`}),(0,$.jsx)(`span`,{role:s===`reconnect`?`status`:void 0,children:t(s===`reconnect`?`opencodeUpgrade.screen.reconnecting`:`opencodeUpgrade.screen.reconnect`)})]})]}),(0,$.jsxs)(`a`,{className:`app-region-no-drag mt-6 inline-flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,href:`https://opencode.ai/download`,target:`_blank`,rel:`noopener noreferrer`,children:[t(`opencodeUpgrade.screen.guide`),(0,$.jsx)(X,{name:`external-link`,className:`size-3`})]}),(0,$.jsx)(`div`,{className:`app-region-no-drag mt-3 w-full`,children:(0,$.jsx)($f,{})})]})})},Mp=e=>{let t=(0,Q.c)(14),{children:n}=e,r=q(Np),i=q(Pp),a=q(Fp),o=q(Ip),s=q(Lp),{deviceType:c,hasTouchInput:l}=Bc(),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=typeof document<`u`&&yn(),t[0]=u):u=t[0];let d=u,f;t[1]!==s||t[2]!==a?(f=()=>{a(),s()},t[1]=s,t[2]=a,t[3]=f):f=t[3];let p;t[4]!==s||t[5]!==a||t[6]!==i||t[7]!==c||t[8]!==r||t[9]!==l||t[10]!==o?(p=[r,i,a,o,s,c,l,d],t[4]=s,t[5]=a,t[6]=i,t[7]=c,t[8]=r,t[9]=l,t[10]=o,t[11]=p):p=t[11],Z.useLayoutEffect(f,p);let m;return t[12]===n?m=t[13]:(m=(0,$.jsx)($.Fragment,{children:n}),t[12]=n,t[13]=m),m};function Np(e){return e.fontSize}function Pp(e){return e.codeFontSize}function Fp(e){return e.applyTypography}function Ip(e){return e.padding}function Lp(e){return e.applyPadding}var Rp=e(Ze(),1),zp=e=>{if(!e||typeof e!=`string`)return null;let t=e.trim();if(!t.startsWith(`#`))return null;let n=t.slice(1);if((n.length===3||n.length===4)&&(n=n.split(``).map(e=>e+e).join(``)),n.length===8&&(n=n.slice(0,6)),n.length!==6)return null;let r=Number.parseInt(n,16);return Number.isNaN(r)?null:`${r>>16&255} ${r>>8&255} ${r&255}`},Bp=class{inheritanceMap=new Map;constructor(){this.initializeInheritanceMap()}generate(e){let t=[];return t.push(...this.generateTailwindVariables(e)),t.push(...this.generatePrimaryColors(e.colors.primary)),t.push(...this.generateSurfaceColors(e.colors.surface)),t.push(...this.generateInteractiveColors(e.colors.interactive)),t.push(...this.generateStatusColors(e.colors.status)),t.push(...this.generatePullRequestColors(e)),t.push(...this.generateSyntaxColors(e.colors.syntax)),t.push(...this.generateComponentColors(e.colors,e)),t.push(...this.generateTypographyVariables()),e.config&&t.push(...this.generateConfigVariables(e.config)),t.join(`
|
|
3
3
|
`)}generateTailwindVariables(e){let t=[];t.push(` --background: ${e.colors.surface.background} !important;`),t.push(` --foreground: ${e.colors.surface.foreground} !important;`),t.push(` --muted: ${e.colors.surface.muted} !important;`),t.push(` --muted-foreground: ${e.colors.surface.mutedForeground} !important;`),t.push(` --card: ${e.colors.surface.elevated} !important;`),t.push(` --card-foreground: ${e.colors.surface.elevatedForeground} !important;`),t.push(` --popover: ${e.colors.surface.elevated} !important;`),t.push(` --popover-foreground: ${e.colors.surface.elevatedForeground} !important;`),t.push(` --border: ${e.colors.interactive.border} !important;`),t.push(` --input: ${e.colors.interactive.border} !important;`),t.push(` --primary: ${e.colors.primary.base} !important;`),t.push(` --primary-foreground: ${e.colors.primary.foreground} !important;`),t.push(` --secondary: ${e.colors.surface.muted} !important;`),t.push(` --secondary-foreground: ${e.colors.surface.mutedForeground} !important;`),t.push(` --accent: ${e.colors.surface.subtle} !important;`),t.push(` --accent-foreground: ${e.colors.surface.foreground} !important;`),t.push(` --destructive: ${e.colors.status.error} !important;`),t.push(` --destructive-foreground: ${e.colors.status.errorForeground} !important;`),t.push(` --ring: ${e.colors.interactive.focusRing} !important;`);let n=zp(e.colors.surface.muted),r=zp(e.colors.surface.subtle),i=zp(e.colors.interactive.border);t.push(` --sidebar-base: ${e.colors.surface.muted} !important;`),n&&t.push(` --sidebar-base-rgb: ${n} !important;`),t.push(` --sidebar: var(--sidebar-base) !important;`),t.push(` --sidebar-foreground: ${e.colors.surface.mutedForeground} !important;`),t.push(` --sidebar-primary: ${e.colors.primary.base} !important;`),t.push(` --sidebar-primary-foreground: ${e.colors.primary.foreground} !important;`),t.push(` --sidebar-accent-base: ${e.colors.surface.subtle} !important;`),r&&t.push(` --sidebar-accent-base-rgb: ${r} !important;`),t.push(` --sidebar-accent: var(--sidebar-accent-base) !important;`),t.push(` --sidebar-accent-foreground: ${e.colors.surface.foreground} !important;`),t.push(` --sidebar-border: ${e.colors.interactive.border} !important;`),i&&t.push(` --sidebar-border-rgb: ${i} !important;`),t.push(` --sidebar-ring: ${e.colors.interactive.focusRing} !important;`);let a=e.metadata.variant===`dark`,o=a?.15:.5,s=a?.1:.3,c=a?.42:.52;if(n)t.push(` --sidebar-overlay-strong: rgb(${n} / ${o}) !important;`),t.push(` --sidebar-overlay-soft: rgb(${n} / ${s}) !important;`),t.push(` --sidebar-vibrancy-overlay: rgb(${n} / ${c}) !important;`);else{let n=e.colors.surface.muted;t.push(` --sidebar-overlay-strong: ${this.opacity(n,o)} !important;`),t.push(` --sidebar-overlay-soft: ${this.opacity(n,s)} !important;`),t.push(` --sidebar-vibrancy-overlay: ${this.opacity(n,c)} !important;`)}return e.colors.charts?.series&&Array.isArray(e.colors.charts.series)&&e.colors.charts.series.forEach((e,n)=>{t.push(` --chart-${n+1}: ${e};`)}),e.colors.loading?(t.push(` --loading-spinner: ${e.colors.loading.spinner||e.colors.primary.base};`),t.push(` --loading-spinner-track: ${e.colors.loading.spinnerTrack||e.colors.surface.muted};`)):(t.push(` --loading-spinner: ${e.colors.primary.base};`),t.push(` --loading-spinner-track: ${e.colors.surface.muted};`)),t}apply(e){let t=this.generate(e),n=document.createElement(`style`);n.id=`opencode-theme-variables`;let r=``;e.metadata.variant===`dark`?(r=`:root {\n${t}\n}\n\n.dark {\n${t}\n}`,document.documentElement.classList.add(`dark`),document.documentElement.classList.remove(`light`)):(r=`:root {\n${t}\n}\n\n:root:not(.dark) {\n${t}\n}`,document.documentElement.classList.remove(`dark`),document.documentElement.classList.add(`light`)),n.textContent=r;let i=document.getElementById(`opencode-theme-variables`);i&&i.remove(),document.head.appendChild(n),document.documentElement.setAttribute(`data-theme`,e.metadata.variant);let a=typeof window<`u`&&window.__OPENCHAMBER_ELECTRON__?.runtime===`electron`&&window.__OPENCHAMBER_ELECTRON__?.macVibrancy===!0;document.documentElement.toggleAttribute(`data-oc-vibrancy`,a),a&&document.documentElement.toggleAttribute(`data-oc-vibrancy-ready`,!0)}generatePrimaryColors(e){let t=[];return t.push(` --primary-base: ${e.base};`),t.push(` --primary-hover: ${e.hover||this.darken(e.base,10)};`),t.push(` --primary-active: ${e.active||this.darken(e.base,20)};`),t.push(` --primary-foreground: ${e.foreground||`#ffffff`};`),t.push(` --primary-muted: ${e.muted||this.opacity(e.base,.5)};`),t.push(` --primary-emphasis: ${e.emphasis||this.lighten(e.base,10)};`),t}generateSurfaceColors(e){let t=[];return t.push(` --surface-background: ${e.background};`),t.push(` --surface-foreground: ${e.foreground};`),t.push(` --surface-muted: ${e.muted};`),t.push(` --surface-muted-foreground: ${e.mutedForeground};`),t.push(` --surface-elevated: ${e.elevated};`),t.push(` --surface-elevated-foreground: ${e.elevatedForeground};`),t.push(` --surface-overlay: ${e.overlay};`),t.push(` --surface-subtle: ${e.subtle};`),t}generateInteractiveColors(e){let t=[];return t.push(` --interactive-border: ${e.border};`),t.push(` --interactive-border-hover: ${e.borderHover};`),t.push(` --interactive-border-focus: ${e.borderFocus};`),t.push(` --interactive-selection: ${e.selection};`),t.push(` --interactive-selection-foreground: ${e.selectionForeground};`),t.push(` --interactive-focus: ${e.focus};`),t.push(` --interactive-focus-ring: ${e.focusRing};`),t.push(` --interactive-cursor: ${e.cursor};`),t.push(` --interactive-hover: ${e.hover};`),t.push(` --interactive-active: ${e.active};`),t}generateStatusColors(e){let t=[];return t.push(` --status-error: ${e.error};`),t.push(` --status-error-foreground: ${e.errorForeground};`),t.push(` --status-error-background: ${e.errorBackground};`),t.push(` --status-error-border: ${e.errorBorder};`),t.push(` --status-warning: ${e.warning};`),t.push(` --status-warning-foreground: ${e.warningForeground};`),t.push(` --status-warning-background: ${e.warningBackground};`),t.push(` --status-warning-border: ${e.warningBorder};`),t.push(` --status-success: ${e.success};`),t.push(` --status-success-foreground: ${e.successForeground};`),t.push(` --status-success-background: ${e.successBackground};`),t.push(` --status-success-border: ${e.successBorder};`),t.push(` --status-info: ${e.info};`),t.push(` --status-info-foreground: ${e.infoForeground};`),t.push(` --status-info-background: ${e.infoBackground};`),t.push(` --status-info-border: ${e.infoBorder};`),t}generatePullRequestColors(e){let t=[],n=e.colors.pr;return t.push(` --pr-open: ${n?.open||e.colors.status.success};`),t.push(` --pr-draft: ${n?.draft||e.colors.surface.mutedForeground};`),t.push(` --pr-blocked: ${n?.blocked||e.colors.status.warning};`),t.push(` --pr-merged: ${n?.merged||(e.metadata.variant===`dark`?`#8957e5`:`#8250df`)};`),t.push(` --pr-closed: ${n?.closed||e.colors.status.error};`),t}generateSyntaxColors(e){let t=[];t.push(` --syntax-background: ${e.base.background};`),t.push(` --syntax-foreground: ${e.base.foreground};`),t.push(` --syntax-comment: ${e.base.comment};`),t.push(` --syntax-keyword: ${e.base.keyword};`),t.push(` --syntax-string: ${e.base.string};`),t.push(` --syntax-number: ${e.base.number};`),t.push(` --syntax-function: ${e.base.function};`),t.push(` --syntax-variable: ${e.base.variable};`),t.push(` --syntax-type: ${e.base.type};`),t.push(` --syntax-operator: ${e.base.operator};`);let n=this.generateSyntaxTokens(e);for(let[e,r]of Object.entries(n))t.push(` --syntax-${this.kebabCase(e)}: ${r};`);return t}generateSyntaxTokens(e){let t=e.base,n=e.tokens||{};return{commentDoc:n.commentDoc||this.lighten(t.comment,10),stringEscape:n.stringEscape||this.darken(t.string,20),stringInterpolation:n.stringInterpolation||t.variable,stringRegex:n.stringRegex||this.adjustHue(t.string,15),keywordControl:n.keywordControl||t.keyword,keywordOperator:n.keywordOperator||t.operator,keywordImport:n.keywordImport||this.lighten(t.keyword,10),keywordReturn:n.keywordReturn||this.emphasize(t.keyword),functionCall:n.functionCall||this.lighten(t.function,5),functionBuiltin:n.functionBuiltin||this.darken(t.function,10),method:n.method||t.function,methodCall:n.methodCall||this.lighten(t.function,5),variableBuiltin:n.variableBuiltin||this.emphasize(t.variable),variableProperty:n.variableProperty||this.lighten(t.variable,10),variableReadonly:n.variableReadonly||t.number,parameter:n.parameter||t.variable,typePrimitive:n.typePrimitive||this.darken(t.type,10),typeInterface:n.typeInterface||t.type,className:n.className||this.emphasize(t.type),enum:n.enum||t.type,boolean:n.boolean||t.number,null:n.null||this.opacity(t.number,.7),constant:n.constant||t.number,punctuation:n.punctuation||this.opacity(t.foreground,.7),delimiter:n.delimiter||this.opacity(t.foreground,.8),bracket:n.bracket||t.foreground,tag:n.tag||t.keyword,tagAttribute:n.tagAttribute||t.variable,tagAttributeValue:n.tagAttributeValue||t.string,tagBracket:n.tagBracket||this.opacity(t.foreground,.8),decorator:n.decorator||t.function,annotation:n.annotation||t.function,namespace:n.namespace||this.opacity(t.type,.8),module:n.module||this.opacity(t.type,.8),...n}}generateComponentColors(e,t){let n=[];return e.markdown?n.push(...this.generateMarkdownColors(e.markdown,t)):n.push(...this.generateDefaultMarkdownColors(t)),e.chat?n.push(...this.generateChatColors(e.chat,t)):n.push(...this.generateDefaultChatColors(t)),e.tools?n.push(...this.generateToolColors(e.tools,t)):n.push(...this.generateDefaultToolColors(t)),n}generateMarkdownColors(e,t){let n=[],r=t.colors.primary.base,i=t.colors.chat?.background||t.colors.surface.background;return n.push(` --markdown-heading1: ${e.heading1||r};`),n.push(` --markdown-heading2: ${e.heading2||this.opacity(r,.9)};`),n.push(` --markdown-heading3: ${e.heading3||this.opacity(r,.8)};`),n.push(` --markdown-heading4: ${e.heading4||t.colors.surface.foreground};`),n.push(` --markdown-link: ${e.link||r};`),n.push(` --markdown-link-hover: ${e.linkHover||t.colors.primary.hover||this.darken(r,10)};`),n.push(` --markdown-inline-code: ${e.inlineCode||t.colors.syntax.base.string};`),n.push(` --markdown-inline-code-bg: ${e.inlineCodeBackground||i};`),n.push(` --markdown-blockquote: ${e.blockquote||t.colors.surface.mutedForeground};`),n.push(` --markdown-blockquote-border: ${e.blockquoteBorder||t.colors.interactive.border};`),n.push(` --markdown-list-marker: ${r};`),n.push(` --markdown-bold: ${e.bold||t.colors.surface.foreground};`),n.push(` --markdown-italic: ${e.italic||this.opacity(t.colors.surface.foreground,.9)};`),n.push(` --markdown-strikethrough: ${e.strikethrough||t.colors.surface.mutedForeground};`),n.push(` --markdown-hr: ${e.hr||t.colors.interactive.border};`),n}generateDefaultMarkdownColors(e){let t=[],n=e.colors.primary.base,r=e.colors.chat?.background||e.colors.surface.background;return t.push(` --markdown-heading1: ${n};`),t.push(` --markdown-heading2: ${this.opacity(n,.9)};`),t.push(` --markdown-heading3: ${this.opacity(n,.8)};`),t.push(` --markdown-heading4: ${e.colors.surface.foreground};`),t.push(` --markdown-link: ${n};`),t.push(` --markdown-link-hover: ${e.colors.primary.hover||this.darken(n,10)};`),t.push(` --markdown-inline-code: ${e.colors.syntax.base.string};`),t.push(` --markdown-inline-code-bg: ${r};`),t.push(` --markdown-blockquote: ${e.colors.surface.mutedForeground};`),t.push(` --markdown-blockquote-border: ${e.colors.interactive.border};`),t.push(` --markdown-list-marker: ${n};`),t.push(` --markdown-bold: ${e.colors.surface.foreground};`),t.push(` --markdown-italic: ${this.opacity(e.colors.surface.foreground,.9)};`),t.push(` --markdown-strikethrough: ${e.colors.surface.mutedForeground};`),t.push(` --markdown-hr: ${e.colors.interactive.border};`),t}generateChatColors(e,t){let n=[],r=e.background||t.colors.surface.background,i=e.composerSkill||this.getDefaultComposerSkillColor(t);return n.push(` --chat-background: ${r};`),n.push(` --chat-user-message: ${e.userMessage||t.colors.surface.foreground};`),n.push(` --chat-user-message-bg: ${e.userMessageBackground||t.colors.surface.elevated};`),n.push(` --chat-assistant-message: ${e.assistantMessage||t.colors.surface.foreground};`),n.push(` --chat-assistant-message-bg: ${e.assistantMessageBackground||t.colors.surface.muted};`),n.push(` --chat-timestamp: ${e.timestamp||t.colors.surface.mutedForeground};`),n.push(` --chat-divider: ${e.divider||t.colors.interactive.border};`),n.push(` --chat-typing: ${e.typing||t.colors.surface.mutedForeground};`),n.push(` --chat-composer-skill: ${i};`),n}generateDefaultChatColors(e){let t=[];return t.push(` --chat-background: ${e.colors.surface.background};`),t.push(` --chat-user-message: ${e.colors.surface.foreground};`),t.push(` --chat-user-message-bg: ${e.colors.surface.elevated};`),t.push(` --chat-assistant-message: ${e.colors.surface.foreground};`),t.push(` --chat-assistant-message-bg: ${e.colors.surface.muted};`),t.push(` --chat-timestamp: ${e.colors.surface.mutedForeground};`),t.push(` --chat-divider: ${e.colors.interactive.border};`),t.push(` --chat-typing: ${e.colors.surface.mutedForeground};`),t.push(` --chat-composer-skill: ${this.getDefaultComposerSkillColor(e)};`),t}getDefaultComposerSkillColor(e){return e.metadata.variant===`dark`?this.lighten(e.colors.status.warning,25):e.colors.status.warning}generateToolColors(e,t){let n=[];return n.push(` --tools-background: ${e?.background||this.opacity(t.colors.surface.muted,.2)};`),n.push(` --tools-border: ${e?.border||this.opacity(t.colors.interactive.border,.3)};`),n.push(` --tools-header-hover: ${e?.headerHover||this.opacity(t.colors.surface.muted,.3)};`),n.push(` --tools-icon: ${e?.icon||t.colors.surface.mutedForeground};`),n.push(` --tools-title: ${e?.title||t.colors.surface.foreground};`),n.push(` --tools-description: ${e?.description||this.opacity(t.colors.surface.mutedForeground,.6)};`),e?.edit?(n.push(` --tools-edit-added: ${e.edit.added||t.colors.status.success};`),n.push(` --tools-edit-added-bg: ${e.edit.addedBackground||t.colors.status.successBackground};`),n.push(` --tools-edit-removed: ${e.edit.removed||t.colors.status.error};`),n.push(` --tools-edit-removed-bg: ${e.edit.removedBackground||t.colors.status.errorBackground};`),n.push(` --tools-edit-modified: ${e.edit.modified||t.colors.status.info};`),n.push(` --tools-edit-modified-bg: ${e.edit.modifiedBackground||t.colors.status.infoBackground};`),n.push(` --tools-edit-line-number: ${e.edit.lineNumber||this.opacity(t.colors.surface.mutedForeground,.6)};`)):(n.push(` --tools-edit-added: ${t.colors.status.success};`),n.push(` --tools-edit-added-bg: ${t.colors.status.successBackground};`),n.push(` --tools-edit-removed: ${t.colors.status.error};`),n.push(` --tools-edit-removed-bg: ${t.colors.status.errorBackground};`),n.push(` --tools-edit-modified: ${t.colors.status.info};`),n.push(` --tools-edit-modified-bg: ${t.colors.status.infoBackground};`),n.push(` --tools-edit-line-number: ${this.opacity(t.colors.surface.mutedForeground,.6)};`)),n}generateDefaultToolColors(e){let t=[];return t.push(` --tools-background: ${this.opacity(e.colors.surface.muted,.2)};`),t.push(` --tools-border: ${this.opacity(e.colors.interactive.border,.3)};`),t.push(` --tools-header-hover: ${this.opacity(e.colors.surface.muted,.3)};`),t.push(` --tools-icon: ${e.colors.surface.mutedForeground};`),t.push(` --tools-title: ${e.colors.surface.foreground};`),t.push(` --tools-description: ${this.opacity(e.colors.surface.mutedForeground,.6)};`),t.push(` --tools-edit-added: ${e.colors.status.success};`),t.push(` --tools-edit-added-bg: ${this.addTransparency(this.removeTransparency(e.colors.status.successBackground),.15)};`),t.push(` --tools-edit-removed: ${e.colors.status.error};`),t.push(` --tools-edit-removed-bg: ${this.addTransparency(this.removeTransparency(e.colors.status.errorBackground),.15)};`),t.push(` --tools-edit-modified: ${e.colors.status.info};`),t.push(` --tools-edit-modified-bg: ${this.addTransparency(this.removeTransparency(e.colors.status.infoBackground),.15)};`),t.push(` --tools-edit-line-number: ${this.opacity(e.colors.surface.mutedForeground,.6)};`),t}generateConfigVariables(e){let t=[];return e?(e.fonts&&(e.fonts.sans&&(t.push(` --font-sans: ${e.fonts.sans};`),t.push(` --font-family-sans: ${e.fonts.sans};`)),e.fonts.mono&&(t.push(` --font-mono: ${e.fonts.mono};`),t.push(` --font-family-mono: ${e.fonts.mono};`)),e.fonts.heading&&t.push(` --font-heading: ${e.fonts.heading};`)),e.transitions&&(e.transitions.fast&&t.push(` --transition-fast: ${e.transitions.fast};`),e.transitions.normal&&t.push(` --transition-normal: ${e.transitions.normal};`),e.transitions.slow&&t.push(` --transition-slow: ${e.transitions.slow};`)),t):t}generateTypographyVariables(){let e=[],t=K()?_n:vn;return e.push(` /* Semantic Typography Variables */`),e.push(` --ui-regular-font-weight: 400;`),e.push(` /* Markdown content - all markdown elements use same size */`),e.push(` --text-markdown: ${t.markdown};`),e.push(` /* Code content - all code elements use same size */`),e.push(` --text-code: ${t.code};`),e.push(` /* UI headers - dialog titles, panel headers */`),e.push(` --text-ui-header: ${t.uiHeader};`),e.push(` /* UI labels - buttons, menus, navigation */`),e.push(` --text-ui-label: ${t.uiLabel};`),e.push(` /* Metadata - timestamps, status, helper text */`),e.push(` --text-meta: ${t.meta};`),e.push(` /* Micro text - badges, shortcuts, indicators */`),e.push(` --text-micro: ${t.micro};`),e.push(` /* Heading line height and letter spacing */`),e.push(` --h1-line-height: 1.25rem;`),e.push(` --h2-line-height: 1.25rem;`),e.push(` --h3-line-height: 1.5rem;`),e.push(` --h4-line-height: 1.5rem;`),e.push(` --h5-line-height: 1.5rem;`),e.push(` --h6-line-height: 1.5rem;`),e.push(` --h1-letter-spacing: -0.025em;`),e.push(` --h2-letter-spacing: -0.02em;`),e.push(` --h3-letter-spacing: -0.015em;`),e.push(` --h4-letter-spacing: -0.01em;`),e.push(` --h5-letter-spacing: 0;`),e.push(` --h6-letter-spacing: 0.01em;`),e.push(` /* UI element line height and letter spacing */`),e.push(` --ui-button-line-height: 1.375rem;`),e.push(` --ui-button-letter-spacing: 0.02em;`),e.push(` --ui-button-font-weight: 500;`),e.push(` --ui-label-line-height: 1rem;`),e.push(` --ui-label-letter-spacing: 0.03em;`),e.push(` --ui-label-font-weight: 500;`),e.push(` --ui-caption-line-height: 1rem;`),e.push(` --ui-caption-letter-spacing: 0.025em;`),e.push(` --ui-caption-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` /* Markdown line height and letter spacing */`),e.push(` --markdown-body-line-height: 1.625;`),e.push(` --markdown-body-letter-spacing: 0;`),e.push(` --markdown-body-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` --markdown-h1-line-height: 1.25rem;`),e.push(` --markdown-h1-letter-spacing: -0.025em;`),e.push(` --markdown-h2-line-height: 1.25rem;`),e.push(` --markdown-h2-letter-spacing: -0.02em;`),e.push(` --markdown-h3-line-height: 1.5rem;`),e.push(` --markdown-h3-letter-spacing: -0.015em;`),e.push(` --markdown-h4-line-height: 1.5rem;`),e.push(` --markdown-h4-letter-spacing: -0.01em;`),e.push(` --markdown-h5-line-height: 1.5rem;`),e.push(` --markdown-h5-letter-spacing: 0;`),e.push(` --markdown-h6-line-height: 1.5rem;`),e.push(` --markdown-h6-letter-spacing: 0.01em;`),e.push(` --markdown-list-line-height: 1.625;`),e.push(` --markdown-code-block-line-height: 1rem;`),e.push(` --ui-button-small-line-height: 1.25rem;`),e.push(` --ui-button-small-letter-spacing: 0.02em;`),e.push(` --ui-button-small-font-weight: 500;`),e.push(` --markdown-body-small-line-height: 1.5;`),e.push(` --markdown-body-small-letter-spacing: 0;`),e.push(` --markdown-body-small-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` --ui-button-large-line-height: 1.5rem;`),e.push(` --ui-button-large-letter-spacing: 0.02em;`),e.push(` --ui-button-large-font-weight: 500;`),e.push(` --markdown-body-large-line-height: 1.625;`),e.push(` --markdown-body-large-letter-spacing: 0;`),e.push(` --markdown-body-large-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` /* Code line height and letter spacing */`),e.push(` --code-inline-line-height: 1rem;`),e.push(` --code-inline-letter-spacing: 0;`),e.push(` --code-inline-font-weight: 400;`),e.push(` --code-block-line-height: 1.4rem;`),e.push(` --code-block-letter-spacing: 0;`),e.push(` --code-block-font-weight: 400;`),e.push(` --code-line-numbers-line-height: 1.25rem;`),e.push(` --code-line-numbers-letter-spacing: 0;`),e.push(` --code-line-numbers-font-weight: 400;`),e.push(` /* Additional UI element line height and letter spacing */`),e.push(` --ui-badge-line-height: 1rem;`),e.push(` --ui-badge-letter-spacing: 0.025em;`),e.push(` --ui-badge-font-weight: 500;`),e.push(` --ui-tooltip-line-height: 1rem;`),e.push(` --ui-tooltip-letter-spacing: 0.025em;`),e.push(` --ui-tooltip-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` --ui-input-line-height: 1.375rem;`),e.push(` --ui-input-letter-spacing: 0.02em;`),e.push(` --ui-input-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` --ui-helper-text-line-height: 1rem;`),e.push(` --ui-helper-text-letter-spacing: 0.025em;`),e.push(` --ui-helper-text-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` /* Additional markdown line height and letter spacing */`),e.push(` --markdown-blockquote-line-height: 1.625;`),e.push(` --markdown-blockquote-letter-spacing: 0;`),e.push(` --markdown-blockquote-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` --markdown-list-letter-spacing: 0;`),e.push(` --markdown-list-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` --markdown-link-line-height: 1.625;`),e.push(` --markdown-link-letter-spacing: 0;`),e.push(` --markdown-link-font-weight: var(--ui-regular-font-weight, 400);`),e.push(` --markdown-code-line-height: 1.35;`),e.push(` --markdown-code-letter-spacing: 0;`),e.push(` --markdown-code-font-weight: 400;`),e.push(` --markdown-code-block-letter-spacing: 0;`),e.push(` --markdown-code-block-font-weight: 400;`),e}initializeInheritanceMap(){this.inheritanceMap.set(`header.background`,`surface.background`),this.inheritanceMap.set(`header.foreground`,`surface.foreground`),this.inheritanceMap.set(`header.logoTint`,`primary.base`),this.inheritanceMap.set(`header.divider`,`interactive.border`),this.inheritanceMap.set(`sidebar.background`,`surface.muted`),this.inheritanceMap.set(`sidebar.foreground`,`surface.mutedForeground`),this.inheritanceMap.set(`sidebar.hover`,`interactive.hover`),this.inheritanceMap.set(`sidebar.active`,`primary.base`),this.inheritanceMap.set(`sidebar.activeForeground`,`primary.foreground`)}opacity(e,t){return e.startsWith(`#`)?`${e}${Math.round(t*255).toString(16).padStart(2,`0`)}`:e.startsWith(`rgb`)?e.replace(`rgb`,`rgba`).replace(`)`,`, ${t})`):e}removeTransparency(e){return e.startsWith(`#`)?e.length===9?e.slice(0,7):e.length===5?e.slice(0,4):e:e.startsWith(`rgba`)?e.replace(`rgba`,`rgb`).replace(/,\s*[\d.]+\)$/,`)`):e}addTransparency(e,t){if(e.startsWith(`#`)){let n=e.slice(1);if(n.length===3)return`rgba(${parseInt(n[0]+n[0],16)}, ${parseInt(n[1]+n[1],16)}, ${parseInt(n[2]+n[2],16)}, ${t})`;if(n.length===6)return`rgba(${parseInt(n.slice(0,2),16)}, ${parseInt(n.slice(2,4),16)}, ${parseInt(n.slice(4,6),16)}, ${t})`}return e.startsWith(`rgb`)?e.replace(`rgb`,`rgba`).replace(`)`,`, ${t})`):e}darken(e,t){if(e.startsWith(`#`)){let n=parseInt(e.slice(1),16),r=Math.round(2.55*t),i=(n>>16)-r,a=(n>>8&255)-r,o=(n&255)-r;return`#`+(16777216+(i<255?i<0?0:i:255)*65536+(a<255?a<0?0:a:255)*256+(o<255?o<0?0:o:255)).toString(16).slice(1)}return e}lighten(e,t){if(e.startsWith(`#`)){let n=parseInt(e.slice(1),16),r=Math.round(2.55*t),i=(n>>16)+r,a=(n>>8&255)+r,o=(n&255)+r;return`#`+(16777216+(i<255?i<0?0:i:255)*65536+(a<255?a<0?0:a:255)*256+(o<255?o<0?0:o:255)).toString(16).slice(1)}return e}adjustHue(e,t){return this.lighten(e,t/10)}emphasize(e){return this.lighten(e,15)}kebabCase(e){return e.replace(/([a-z])([A-Z])/g,`$1-$2`).toLowerCase()}},Vp=()=>cl()?new URLSearchParams(window.location.search):null,Hp=()=>typeof window>`u`||window.matchMedia(`(prefers-color-scheme: dark)`).matches,Up=()=>{let e=Vp()?.get(`themeVariant`);return e===`dark`||e===`light`?e===`dark`:Hp()},Wp=(e,t)=>t.reduce((e,t)=>e&&typeof e==`object`?e[t]:void 0,e),Gp=e=>typeof e==`string`&&e.trim().length>0,Kp=e=>{if(!e||typeof e!=`object`)return!1;for(let t of[[`metadata`,`id`],[`metadata`,`name`],[`metadata`,`variant`],[`colors`,`primary`,`base`],[`colors`,`primary`,`foreground`],[`colors`,`surface`,`background`],[`colors`,`surface`,`foreground`],[`colors`,`surface`,`muted`],[`colors`,`surface`,`mutedForeground`],[`colors`,`surface`,`elevated`],[`colors`,`surface`,`elevatedForeground`],[`colors`,`surface`,`subtle`],[`colors`,`interactive`,`border`],[`colors`,`interactive`,`selection`],[`colors`,`interactive`,`selectionForeground`],[`colors`,`interactive`,`focusRing`],[`colors`,`interactive`,`hover`],[`colors`,`status`,`error`],[`colors`,`status`,`errorForeground`],[`colors`,`status`,`errorBackground`],[`colors`,`status`,`errorBorder`],[`colors`,`status`,`warning`],[`colors`,`status`,`warningForeground`],[`colors`,`status`,`warningBackground`],[`colors`,`status`,`warningBorder`],[`colors`,`status`,`success`],[`colors`,`status`,`successForeground`],[`colors`,`status`,`successBackground`],[`colors`,`status`,`successBorder`],[`colors`,`status`,`info`],[`colors`,`status`,`infoForeground`],[`colors`,`status`,`infoBackground`],[`colors`,`status`,`infoBorder`],[`colors`,`syntax`,`base`,`background`],[`colors`,`syntax`,`base`,`foreground`],[`colors`,`syntax`,`base`,`keyword`],[`colors`,`syntax`,`base`,`string`],[`colors`,`syntax`,`base`,`number`],[`colors`,`syntax`,`base`,`function`],[`colors`,`syntax`,`base`,`variable`],[`colors`,`syntax`,`base`,`type`],[`colors`,`syntax`,`base`,`comment`],[`colors`,`syntax`,`base`,`operator`],[`colors`,`syntax`,`highlights`,`diffAdded`],[`colors`,`syntax`,`highlights`,`diffRemoved`],[`colors`,`syntax`,`highlights`,`lineNumber`]])if(!Gp(Wp(e,t)))return!1;let t=Wp(e,[`metadata`,`variant`]);return t===`light`||t===`dark`},qp=e=>Kp(e.currentTheme)?e.currentTheme:null,Jp=e=>qp(e)?.metadata.variant??null,Yp=Hc,Xp=Gc,Zp=()=>{let e=Vp()?.get(`currentTheme`);if(!e)return null;try{let t=JSON.parse(e);return Kp(t)?t:null}catch{return null}},Qp=e=>el(e===`dark`),$p=typeof window<`u`?Z.useLayoutEffect:Z.useEffect,em=()=>{if(typeof document>`u`)return;let e=document.documentElement;e.classList.add(`oc-theme-switching`);let t=window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{e.classList.remove(`oc-theme-switching`)})});return()=>{window.cancelAnimationFrame(t),e.classList.remove(`oc-theme-switching`)}},tm=e=>{let t=Yp,n=Xp,r=`system`;if(typeof window<`u`){let e=Vp(),i=e?.get(`themeMode`),a=e?.get(`lightThemeId`),o=e?.get(`darkThemeId`),s=B(`themeMode`),c=B(`lightThemeId`),l=B(`darkThemeId`),u=B(`useSystemTheme`),d=B(`selectedThemeId`),f=B(`selectedThemeVariant`);if(i===`light`||i===`dark`||i===`system`)r=i;else if(s===`light`||s===`dark`||s===`system`)r=s;else if(u!==null){if(u===`true`)r=`system`;else if(d){let e=tl(d);e&&(r=e.metadata.variant===`dark`?`dark`:`light`,e.metadata.variant===`dark`?n=e.metadata.id:t=e.metadata.id)}}else(f===`light`||f===`dark`)&&(r=f);typeof a==`string`&&a.trim().length>0?t=a.trim():typeof c==`string`&&c.trim().length>0&&(t=c.trim()),typeof o==`string`&&o.trim().length>0?n=o.trim():typeof l==`string`&&l.trim().length>0&&(n=l.trim())}if(e){let r=tl(e);r&&(r.metadata.variant===`light`?t=r.metadata.id:n=r.metadata.id)}return{themeMode:r,lightThemeId:t,darkThemeId:n}};function nm({children:e,defaultThemeId:t}){let n=(0,Z.useMemo)(()=>new Bp,[]),[i,a]=(0,Z.useState)(()=>tm(t)),[o,s]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(()=>Up()),[f,p]=(0,Z.useState)([]),[m]=(0,Z.useState)(()=>Zp()),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(()=>typeof window>`u`||!K()?null:window.__OPENCHAMBER_VSCODE_THEME__||null),x=(0,Z.useMemo)(()=>K(),[]),S=(0,Z.useMemo)(()=>R(),[]),C=(0,Z.useMemo)(()=>fe(),[]),w=(0,Z.useMemo)(()=>typeof window>`u`?!1:Vp()!==null,[]),T=(0,Z.useMemo)(()=>{let e=[],t=new Set,n=n=>{let r=n.metadata.id;t.has(r)||(t.add(r),e.push(n))};return x&&y&&n(y),h&&n(h),m&&n(m),f.forEach(n),Uc.forEach(n),e},[f,m,h,x,y]),E=(0,Z.useMemo)(()=>e=>T.find(t=>t.metadata.id===e),[T]),D=(0,Z.useMemo)(()=>(e,t)=>{let n=E(e);return n&&n.metadata.variant===t?n:T.find(e=>e.metadata.variant===t)??Qp(t)},[T,E]),k=(0,Z.useMemo)(()=>x&&y?y:i.themeMode===`light`?D(i.lightThemeId,`light`):i.themeMode===`dark`||l?D(i.darkThemeId,`dark`):D(i.lightThemeId,`light`),[D,x,i,l,y]),A=J(async()=>{if(!(typeof window>`u`||x)){v(!0);try{let e=await d(`/api/config/themes`,{method:`GET`,credentials:S?`omit`:`include`,headers:{Accept:`application/json`}});if(e.status===401||!e.ok)return;let t=await e.json(),n=(Array.isArray(t?.themes)?t.themes:[]).filter(Kp);p(n)}catch{}finally{v(!1)}}});(0,Z.useEffect)(()=>{A()},[A]),(0,Z.useEffect)(()=>{if(!x)return;let e=e=>{b(e)},t=t=>{let n=t.detail;n?.theme&&e(n.theme)},n=window.__OPENCHAMBER_VSCODE_THEME__;return n&&e(n),window.addEventListener(`openchamber:vscode-theme`,t),()=>window.removeEventListener(`openchamber:vscode-theme`,t)},[x]);let j=J(e=>{if(typeof document>`u`)return;let t=document.documentElement.hasAttribute(`data-oc-vibrancy`)||window.__OPENCHAMBER_ELECTRON__?.macVibrancy===!0?`transparent`:e.colors.surface.background;document.body.style.backgroundColor=t;let n=document.querySelector(`meta[name="theme-color"]`);n||(n=document.createElement(`meta`),n.setAttribute(`name`,`theme-color`),document.head.appendChild(n)),n.setAttribute(`content`,t);let r=e.metadata.variant===`dark`?`(prefers-color-scheme: dark)`:`(prefers-color-scheme: light)`,i=document.querySelector(`meta[name="theme-color"][media="${r}"]`);i||(i=document.createElement(`meta`),i.setAttribute(`name`,`theme-color`),i.setAttribute(`media`,r),document.head.appendChild(i)),i.setAttribute(`content`,t)}),M=J(e=>{typeof document>`u`||document.documentElement.classList.toggle(`vscode-runtime`,e)});$p(()=>{if(typeof window>`u`)return;let e=em();n.apply(k),M(x),j(k);let t=document.documentElement;return t.classList.remove(`light`,`dark`),t.classList.add(k.metadata.variant),e},[M,n,k,x,j]),(0,Z.useEffect)(()=>{if(i.themeMode!==`system`||typeof window>`u`||w)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=e=>{u(e.matches)};return u(e.matches),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[i.themeMode,w]),(0,Z.useEffect)(()=>{if(w||typeof window>`u`)return;O(`themeMode`,i.themeMode),O(`lightThemeId`,i.lightThemeId),O(`darkThemeId`,i.darkThemeId),O(`useSystemTheme`,String(i.themeMode===`system`)),O(`selectedThemeId`,k.metadata.id),O(`selectedThemeVariant`,k.metadata.variant===`light`?`light`:`dark`);let e=D(i.lightThemeId,`light`),t=D(i.darkThemeId,`dark`);O(`splashBgLight`,e.colors.surface.background),O(`splashFgLight`,e.colors.surface.foreground),O(`splashBgDark`,t.colors.surface.background),O(`splashFgDark`,t.colors.surface.foreground),S&&(localStorage.setItem(`themeMode`,i.themeMode),localStorage.setItem(`useSystemTheme`,String(i.themeMode===`system`)),localStorage.setItem(`splashBgLight`,e.colors.surface.background),localStorage.setItem(`splashFgLight`,e.colors.surface.foreground),localStorage.setItem(`splashBgDark`,t.colors.surface.background),localStorage.setItem(`splashFgDark`,t.colors.surface.foreground))},[i,k,D,S,w]),(0,Z.useEffect)(()=>{if(typeof window>`u`||w)return;let e=e=>{e.storageArea===window.localStorage&&(Ce(e.key,`themeMode`)||Ce(e.key,`lightThemeId`)||Ce(e.key,`darkThemeId`))&&a(e=>{let t=B(`themeMode`),n=t===`light`||t===`dark`||t===`system`?t:e.themeMode,r=B(`lightThemeId`),i=typeof r==`string`&&r.trim().length>0?r.trim():e.lightThemeId,a=B(`darkThemeId`),o=typeof a==`string`&&a.trim().length>0?a.trim():e.darkThemeId;return n===e.themeMode&&i===e.lightThemeId&&o===e.darkThemeId?e:{themeMode:n,lightThemeId:i,darkThemeId:o}})};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[w]);let N=J(e=>{let t=e.themeMode,n=e.lightThemeId,r=e.darkThemeId,i=Jp(e),o=qp(e);if(t!==`light`&&t!==`dark`&&t!==`system`||typeof n!=`string`||typeof r!=`string`)return;let s=n.trim(),c=r.trim();!s||!c||(em(),(0,Rp.flushSync)(()=>{w&&o&&g(o),t===`system`&&i&&u(i===`dark`),a(e=>e.themeMode===t&&e.lightThemeId===s&&e.darkThemeId===c?e:{themeMode:t,lightThemeId:s,darkThemeId:c})}))});(0,Z.useEffect)(()=>{if(typeof window>`u`)return;let e=window;return e.__openchamberApplyThemeSync=N,()=>{e.__openchamberApplyThemeSync===N&&delete e.__openchamberApplyThemeSync}},[N]),(0,Z.useEffect)(()=>{if(typeof window>`u`)return;let e=e=>{if(e.origin!==window.location.origin)return;let t=e.data;t?.type!==`openchamber:theme-sync`||!t.payload||N(t.payload)};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[N]),(0,Z.useEffect)(()=>{if(w||!o)return;let e=D(i.lightThemeId,`light`),t=D(i.darkThemeId,`dark`);re({themeId:k.metadata.id,themeVariant:k.metadata.variant===`light`?`light`:`dark`,useSystemTheme:i.themeMode===`system`,lightThemeId:i.lightThemeId,darkThemeId:i.darkThemeId,splashBgLight:e.colors.surface.background,splashFgLight:e.colors.surface.foreground,splashBgDark:t.colors.surface.background,splashFgDark:t.colors.surface.foreground})},[k.metadata.id,k.metadata.variant,D,i.themeMode,i.lightThemeId,i.darkThemeId,w,o]),(0,Z.useEffect)(()=>{w||!C||(async()=>{await Wn(i.themeMode,k.metadata.variant)})()},[k.metadata.variant,C,i.themeMode,w]),(0,Z.useEffect)(()=>{if(typeof window>`u`)return;let e=e=>{let t=e.detail;t&&(a(e=>{let n=e.themeMode;t.useSystemTheme===!0?n=`system`:t.useSystemTheme===!1&&(t.themeVariant===`dark`||t.themeVariant===`light`)&&(n=t.themeVariant);let r=e.lightThemeId;typeof t.lightThemeId==`string`&&t.lightThemeId.length>0&&(r=t.lightThemeId.trim());let i=e.darkThemeId;return typeof t.darkThemeId==`string`&&t.darkThemeId.length>0&&(i=t.darkThemeId.trim()),n===e.themeMode&&r===e.lightThemeId&&i===e.darkThemeId?e:{themeMode:n,lightThemeId:r,darkThemeId:i}}),s(!0))};return window.addEventListener(`openchamber:settings-synced`,e),()=>window.removeEventListener(`openchamber:settings-synced`,e)},[]),(0,Z.useEffect)(()=>{if(!(w||typeof window>`u`))return r(e=>{c(e)&&(a(e=>{let t=B(`themeMode`),n=t===`light`||t===`dark`||t===`system`?t:e.themeMode,r=B(`lightThemeId`),i=typeof r==`string`&&r.trim().length>0?r.trim():e.lightThemeId,a=B(`darkThemeId`),o=typeof a==`string`&&a.trim().length>0?a.trim():e.darkThemeId;return n===e.themeMode&&i===e.lightThemeId&&o===e.darkThemeId?e:{themeMode:n,lightThemeId:i,darkThemeId:o}}),s(!1))})},[w]);let P=J(e=>{let t=T.find(t=>t.metadata.id===e);t&&a(e=>t.metadata.variant===`dark`?e.darkThemeId===t.metadata.id&&e.themeMode===`dark`?e:{...e,darkThemeId:t.metadata.id,themeMode:`dark`}:e.lightThemeId===t.metadata.id&&e.themeMode===`light`?e:{...e,lightThemeId:t.metadata.id,themeMode:`light`})}),F=J(e=>{a(t=>t.themeMode===e?t:{...t,themeMode:e})}),I=J(e=>{if(e){a(e=>e.themeMode===`system`?e:{...e,themeMode:`system`});return}let t=k.metadata.variant===`dark`?`dark`:`light`;a(e=>e.themeMode===t?e:{...e,themeMode:t})}),L=J(e=>{let t=T.find(t=>t.metadata.id===e&&t.metadata.variant===`light`);t&&a(e=>e.lightThemeId===t.metadata.id?e:{...e,lightThemeId:t.metadata.id})}),z=J(e=>{let t=T.find(t=>t.metadata.id===e&&t.metadata.variant===`dark`);t&&a(e=>e.darkThemeId===t.metadata.id?e:{...e,darkThemeId:t.metadata.id})}),V=(0,Z.useMemo)(()=>({currentTheme:k,availableThemes:T,setTheme:P,customThemesLoading:_,reloadCustomThemes:A,isSystemPreference:i.themeMode===`system`,setSystemPreference:I,themeMode:i.themeMode,setThemeMode:F,lightThemeId:i.lightThemeId,darkThemeId:i.darkThemeId,setLightThemePreference:L,setDarkThemePreference:z}),[T,k,_,i.darkThemeId,i.lightThemeId,i.themeMode,A,z,L,I,P,F]);return(0,$.jsx)(as.Provider,{value:V,children:e})}var rm=!1,im=()=>{if(rm||typeof window>`u`)return;rm=!0;let e={showReasoningTraces:q.getState().showReasoningTraces,sessionTitleRefreshEnabled:q.getState().sessionTitleRefreshEnabled,sessionGoalEnabled:q.getState().sessionGoalEnabled,sessionGoalDefaultBudgetEnabled:q.getState().sessionGoalDefaultBudgetEnabled,sessionGoalDefaultBudget:q.getState().sessionGoalDefaultBudget,collapsibleThinkingBlocks:q.getState().collapsibleThinkingBlocks,showDeletionDialog:q.getState().showDeletionDialog,nativeNotificationsEnabled:q.getState().nativeNotificationsEnabled,notificationMode:q.getState().notificationMode,notifyOnSubtasks:q.getState().notifyOnSubtasks,notifyOnCompletion:q.getState().notifyOnCompletion,notifyOnError:q.getState().notifyOnError,notifyOnQuestion:q.getState().notifyOnQuestion,notificationTemplates:q.getState().notificationTemplates,summarizeLastMessage:q.getState().summarizeLastMessage,summaryThreshold:q.getState().summaryThreshold,summaryLength:q.getState().summaryLength,maxLastMessageLength:q.getState().maxLastMessageLength,autoDeleteEnabled:q.getState().autoDeleteEnabled,autoDeleteAfterDays:q.getState().autoDeleteAfterDays,sessionRetentionAction:q.getState().sessionRetentionAction,fontSize:q.getState().fontSize,terminalFontSize:q.getState().terminalFontSize,editorFontSize:q.getState().editorFontSize,uiFont:q.getState().uiFont,monoFont:q.getState().monoFont,padding:q.getState().padding,cornerRadius:q.getState().cornerRadius,inputBarOffset:q.getState().inputBarOffset,mobileKeyboardMode:q.getState().mobileKeyboardMode,diffLayoutPreference:q.getState().diffLayoutPreference,gitChangesViewMode:q.getState().gitChangesViewMode},t=null,n=null,r=()=>{let e=t;t=null,n=null,e&&Object.keys(e).length>0&&re(e)},i=e=>{t={...t??{},...e},!n&&(n=setTimeout(r,150))};q.subscribe(t=>{let n={showReasoningTraces:t.showReasoningTraces,sessionTitleRefreshEnabled:t.sessionTitleRefreshEnabled,sessionGoalEnabled:t.sessionGoalEnabled,sessionGoalDefaultBudgetEnabled:t.sessionGoalDefaultBudgetEnabled,sessionGoalDefaultBudget:t.sessionGoalDefaultBudget,collapsibleThinkingBlocks:t.collapsibleThinkingBlocks,showDeletionDialog:t.showDeletionDialog,nativeNotificationsEnabled:t.nativeNotificationsEnabled,notificationMode:t.notificationMode,notifyOnSubtasks:t.notifyOnSubtasks,notifyOnCompletion:t.notifyOnCompletion,notifyOnError:t.notifyOnError,notifyOnQuestion:t.notifyOnQuestion,notificationTemplates:t.notificationTemplates,summarizeLastMessage:t.summarizeLastMessage,summaryThreshold:t.summaryThreshold,summaryLength:t.summaryLength,maxLastMessageLength:t.maxLastMessageLength,autoDeleteEnabled:t.autoDeleteEnabled,autoDeleteAfterDays:t.autoDeleteAfterDays,sessionRetentionAction:t.sessionRetentionAction,fontSize:t.fontSize,terminalFontSize:t.terminalFontSize,editorFontSize:t.editorFontSize,uiFont:t.uiFont,monoFont:t.monoFont,padding:t.padding,cornerRadius:t.cornerRadius,inputBarOffset:t.inputBarOffset,mobileKeyboardMode:t.mobileKeyboardMode,diffLayoutPreference:t.diffLayoutPreference,gitChangesViewMode:t.gitChangesViewMode},r={};n.showReasoningTraces!==e.showReasoningTraces&&(r.showReasoningTraces=n.showReasoningTraces),n.sessionTitleRefreshEnabled!==e.sessionTitleRefreshEnabled&&(r.sessionTitleRefreshEnabled=n.sessionTitleRefreshEnabled),n.sessionGoalEnabled!==e.sessionGoalEnabled&&(r.sessionGoalEnabled=n.sessionGoalEnabled),n.sessionGoalDefaultBudgetEnabled!==e.sessionGoalDefaultBudgetEnabled&&(r.sessionGoalDefaultBudgetEnabled=n.sessionGoalDefaultBudgetEnabled),n.sessionGoalDefaultBudget!==e.sessionGoalDefaultBudget&&(r.sessionGoalDefaultBudget=n.sessionGoalDefaultBudget),n.collapsibleThinkingBlocks!==e.collapsibleThinkingBlocks&&(r.collapsibleThinkingBlocks=n.collapsibleThinkingBlocks),n.showDeletionDialog!==e.showDeletionDialog&&(r.showDeletionDialog=n.showDeletionDialog),n.nativeNotificationsEnabled!==e.nativeNotificationsEnabled&&(r.nativeNotificationsEnabled=n.nativeNotificationsEnabled),n.notificationMode!==e.notificationMode&&(r.notificationMode=n.notificationMode),n.notifyOnSubtasks!==e.notifyOnSubtasks&&(r.notifyOnSubtasks=n.notifyOnSubtasks),n.notifyOnCompletion!==e.notifyOnCompletion&&(r.notifyOnCompletion=n.notifyOnCompletion),n.notifyOnError!==e.notifyOnError&&(r.notifyOnError=n.notifyOnError),n.notifyOnQuestion!==e.notifyOnQuestion&&(r.notifyOnQuestion=n.notifyOnQuestion),JSON.stringify(n.notificationTemplates)!==JSON.stringify(e.notificationTemplates)&&(r.notificationTemplates=n.notificationTemplates),n.summarizeLastMessage!==e.summarizeLastMessage&&(r.summarizeLastMessage=n.summarizeLastMessage),n.summaryThreshold!==e.summaryThreshold&&(r.summaryThreshold=n.summaryThreshold),n.summaryLength!==e.summaryLength&&(r.summaryLength=n.summaryLength),n.maxLastMessageLength!==e.maxLastMessageLength&&(r.maxLastMessageLength=n.maxLastMessageLength),n.autoDeleteEnabled!==e.autoDeleteEnabled&&(r.autoDeleteEnabled=n.autoDeleteEnabled),n.autoDeleteAfterDays!==e.autoDeleteAfterDays&&(r.autoDeleteAfterDays=n.autoDeleteAfterDays),n.sessionRetentionAction!==e.sessionRetentionAction&&(r.sessionRetentionAction=n.sessionRetentionAction),n.fontSize!==e.fontSize&&(r.fontSize=n.fontSize),n.terminalFontSize!==e.terminalFontSize&&(r.terminalFontSize=n.terminalFontSize),n.editorFontSize!==e.editorFontSize&&(r.editorFontSize=n.editorFontSize),n.uiFont!==e.uiFont&&(r.uiFont=n.uiFont),n.monoFont!==e.monoFont&&(r.monoFont=n.monoFont),n.padding!==e.padding&&(r.padding=n.padding),n.cornerRadius!==e.cornerRadius&&(r.cornerRadius=n.cornerRadius),n.inputBarOffset!==e.inputBarOffset&&(r.inputBarOffset=n.inputBarOffset),n.mobileKeyboardMode!==e.mobileKeyboardMode&&(r.mobileKeyboardMode=n.mobileKeyboardMode),n.diffLayoutPreference!==e.diffLayoutPreference&&(r.diffLayoutPreference=n.diffLayoutPreference),n.gitChangesViewMode!==e.gitChangesViewMode&&(r.gitChangesViewMode=n.gitChangesViewMode),e=n,Object.keys(r).length>0&&i(r)})},am=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]?.providerID!==t[n]?.providerID||e[n]?.modelID!==t[n]?.modelID||e[n]?.variant!==t[n]?.variant)return!1;return!0},om=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]?.providerID!==t[n]?.providerID||e[n]?.modelID!==t[n]?.modelID)return!1;return!0},sm=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0},cm=(e,t)=>{if(e===t)return!0;let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Array.isArray(t[n])&&sm(e[n],t[n]))},lm=()=>{let e=q.getState();return{favoriteModels:e.favoriteModels,hiddenModels:e.hiddenModels,collapsedModelProviders:e.collapsedModelProviders,recentModels:e.recentModels,recentAgents:e.recentAgents,recentEfforts:e.recentEfforts}},um=(e,t)=>am(e.favoriteModels,t.favoriteModels)&&om(e.hiddenModels,t.hiddenModels)&&sm(e.collapsedModelProviders,t.collapsedModelProviders)&&am(e.recentModels,t.recentModels)&&sm(e.recentAgents,t.recentAgents)&&cm(e.recentEfforts,t.recentEfforts),dm=e=>({favoriteModels:e.favoriteModels.slice(),hiddenModels:e.hiddenModels.slice(),collapsedModelProviders:e.collapsedModelProviders.slice(),recentModels:e.recentModels.slice(),recentAgents:e.recentAgents.slice(),recentEfforts:Object.fromEntries(Object.entries(e.recentEfforts).map(([e,t])=>[e,t.slice()]))}),fm=()=>{if(typeof window>`u`)return()=>{};let e=null,t=null,n=!1,r=()=>{e=null;let n=lm();t&&um(t,n)||(t=dm(n),re(n).catch(()=>{}))},i=()=>{if(!n){n=!0;return}e!==null&&window.clearTimeout(e),e=window.setTimeout(r,1200)},a=q.subscribe((e,t)=>{um({favoriteModels:e.favoriteModels,hiddenModels:e.hiddenModels,collapsedModelProviders:e.collapsedModelProviders,recentModels:e.recentModels,recentAgents:e.recentAgents,recentEfforts:e.recentEfforts},{favoriteModels:t.favoriteModels,hiddenModels:t.hiddenModels,collapsedModelProviders:t.collapsedModelProviders,recentModels:t.recentModels,recentAgents:t.recentAgents,recentEfforts:t.recentEfforts})||i()});return()=>{a(),e!==null&&window.clearTimeout(e)}},pm=!1,mm=`openchamber-typography-base`,hm=()=>{if(typeof document>`u`)return;let e=`:root {\n${Object.entries(vn).map(([e,t])=>` --text-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}: ${t};`).join(`
|
|
4
4
|
`)}\n}\n`,t=document.getElementById(mm);if(t){t.textContent=e;return}let n=document.createElement(`style`);n.id=mm,n.textContent=e,document.head.appendChild(n)},gm=()=>{pm||typeof window>`u`||(pm=!0,hm())};function _m(e){let t=(0,Q.c)(3),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0],(0,Z.useEffect)(vm,r);let i;return t[1]===n?i=t[2]:(i=(0,$.jsx)(Cn,{client:le,children:n}),t[1]=n,t[2]=i),i}function vm(){return H(le)}var ym=15,bm=2e3,xm=40,Sm=2e4,Cm=e=>{let t=aa(e=>e.isConnected),n=aa(e=>e.providers.length),r=aa(e=>e.agents.length),i=aa(e=>e.activeDirectoryKey),a=aa(e=>e.refreshMissingCatalogs),o=e.enabled&&t&&(n===0||r===0),s=Z.useRef(0),c=Z.useRef(!1),[l,u]=Z.useState(`fast`),d=e.source,f=J(async()=>{if(!o||c.current||l===`done`)return;let e=l===`fast`?ym:xm;if(s.current>=e){if(l===`fast`){s.current=0,u(`slow`);return}u(`done`);return}let t=aa.getState();if(!(t.providers.length>0&&t.agents.length>0)){c.current=!0,s.current+=1;try{await a({source:d})}catch{}finally{c.current=!1}}});Z.useEffect(()=>{s.current=0,c.current=!1,u(`fast`),o&&f()},[o,i]),In(f,!o||l===`done`?null:l===`slow`?Sm:bm)},wm=40,Tm=20971520,Em=new Map,Dm=0;function Om(e){return e.length*2}function km(e,t){let n=Em.get(e);n!==void 0&&(Dm-=n),Em.delete(e),Em.set(e,t),Dm+=t}function Am(e,t){let n=Em.get(e);(n!==void 0||t!==void 0)&&km(e,t??n??0)}function jm(e){let t=Em.get(e);t!==void 0&&(Em.delete(e),Dm-=t)}function Mm(e,t){let n=e??new Set;for(;Em.size>wm||Dm>Tm;){let e=Em.keys().next().value;if(!e)return;if(n.has(e)){if(Am(e),Em.size<=n.size)return;continue}jm(e),t(e)}}function Nm(e,t){km(e,t)}function Pm(e){jm(e)}function Fm(e,t){Am(e,t)}function Im(e){let t=new Map,n=e=>{t.delete(e),Pm(e)},r=e=>{let r=e.endsWith(`/`)?e:`${e}/`;for(let i of t.keys())(i===e||i.startsWith(r))&&n(i)},i=(e,t)=>t.isFile?e.mtimeMs!==void 0&&t.mtimeMs!==void 0?e.mtimeMs===t.mtimeMs&&e.size===t.size:e.size===t.size:!1,a=(e,r,i)=>{if(r.exists===!1)return n(e),r;let a=Om(r.content);return t.set(e,{...r,size:i?.isFile?i.size:void 0,mtimeMs:i?.isFile?i.mtimeMs:void 0}),Nm(e,a),Mm(new Set,e=>{t.delete(e)}),r},o=async(t,n)=>{let r=await e.statFile?.(t,n).catch(()=>null),i=await e.readFile(t,n),o=await e.statFile?.(t,n).catch(()=>null);if(r&&o&&r.isFile&&o.isFile){if(r.size===o.size&&r.mtimeMs===o.mtimeMs)return a(t,i,o);let s=await e.statFile?.(t,n).catch(()=>null),c=await e.readFile(t,n),l=await e.statFile?.(t,n).catch(()=>null);return s&&l&&s.isFile&&l.isFile&&s.size===l.size&&(s.mtimeMs,l.mtimeMs),a(t,c,l)}return a(t,i,o??r)},s=e.readFile?async(r,a)=>{if(a?.allowOutsideWorkspace)return o(r,a);let s=t.get(r);if(s){if(a?.optional&&(s.exists===void 0||!e.statFile))return o(r,a);if(e.statFile){let t=await e.statFile(r,a).catch(()=>(n(r),null));if(!t||!i(s,t))return n(r),o(r,a)}return Fm(r),{content:s.content,path:s.path,exists:s.exists}}return o(r,a)}:void 0,c=e.writeFile?async(t,r)=>(n(t),e.writeFile(t,r)):void 0,l=e.delete?async t=>(r(t),e.delete(t)):void 0,u=e.rename?async(t,n)=>(r(t),r(n),e.rename(t,n)):void 0;return{...e,readFile:s,writeFile:c,delete:l,rename:u}}function Lm(e){let t=(0,Q.c)(8),{apis:n,children:r}=e,i;t[0]===n.files?i=t[1]:(i=Im(n.files),t[0]=n.files,t[1]=i);let a;t[2]!==n||t[3]!==i?(a={...n,files:i},t[2]=n,t[3]=i,t[4]=a):a=t[4];let o=a,s;return t[5]!==o||t[6]!==r?(s=(0,$.jsx)(dl.Provider,{value:o,children:r}),t[5]=o,t[6]=r,t[7]=s):s=t[7],s}var Rm=`var(--oc-toast-shadow, inset 0 1px 0 0 rgba(255,255,255,0.12), inset 0 0 0 1px rgba(255,255,255,0.08), 0 0 0 1px rgba(0,0,0,0.36), 0 1px 1px -0.5px rgba(0,0,0,0.22), 0 3px 3px -1.5px rgba(0,0,0,0.20), 0 6px 6px -3px rgba(0,0,0,0.16))`,zm=`var(--oc-toast-shadow, inset 0 1px 0 0 rgba(255,255,255,0.8), inset 0 0 0 1px rgba(0,0,0,0.04), 0 0 0 1px rgba(0,0,0,0.10), 0 1px 2px -0.5px rgba(0,0,0,0.08), 0 4px 8px -2px rgba(0,0,0,0.08), 0 12px 20px -4px rgba(0,0,0,0.08))`,Bm={success:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`checkbox-circle-fill`,className:`oc-toast-status-icon-desktop size-5`}),(0,$.jsx)(X,{name:`check`,className:`oc-toast-status-icon-mobile hidden size-[18px]`})]}),info:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`information-fill`,className:`oc-toast-status-icon-desktop size-5`}),(0,$.jsx)(X,{name:`information`,className:`oc-toast-status-icon-mobile hidden size-[18px]`})]}),warning:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`alert-fill`,className:`oc-toast-status-icon-desktop size-5`}),(0,$.jsx)(X,{name:`error-warning`,className:`oc-toast-status-icon-mobile hidden size-[18px]`})]}),error:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`error-warning-fill`,className:`oc-toast-status-icon-desktop size-5`}),(0,$.jsx)(X,{name:`alert`,className:`oc-toast-status-icon-mobile hidden size-[18px]`})]})};function Vm(){let e=(0,Q.c)(2),t=Hm,[n,r]=Z.useState(t),i,a;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>{let e=()=>r(t()),n=new MutationObserver(e);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),e(),()=>n.disconnect()},a=[],e[0]=i,e[1]=a):(i=e[0],a=e[1]),Z.useEffect(i,a),n}function Hm(){return typeof document<`u`&&document.documentElement.classList.contains(`dark`)}function Um(e,t){let n=(0,Q.c)(4),r,i;n[0]!==t||n[1]!==e?(r=()=>{let n=t.current;if(!n)return;let r=document.createElement(`div`).style;r.setProperty(`box-shadow`,e,`important`),r.setProperty(`outline`,`none`,`important`);let i=t=>{(t.style.getPropertyValue(`box-shadow`)!==r.getPropertyValue(`box-shadow`)||t.style.getPropertyPriority(`box-shadow`)!==`important`)&&t.style.setProperty(`box-shadow`,e,`important`),(t.style.getPropertyValue(`outline`)!==r.getPropertyValue(`outline`)||t.style.getPropertyPriority(`outline`)!==`important`)&&t.style.setProperty(`outline`,`none`,`important`),t.getAttribute(`tabindex`)===`0`&&t.setAttribute(`tabindex`,`-1`)};n.querySelectorAll(`[data-sonner-toast]`).forEach(i);let a=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.target instanceof HTMLElement&&t.target.matches(`[data-sonner-toast]`)&&i(t.target),t.addedNodes.forEach(e=>{e instanceof HTMLElement&&(e.matches?.(`[data-sonner-toast]`)&&i(e),e.querySelectorAll?.(`[data-sonner-toast]`).forEach(i))})});return a.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`,`tabindex`,`data-expanded`,`data-swiping`]}),()=>a.disconnect()},i=[e,t],n[0]=t,n[1]=e,n[2]=r,n[3]=i):(r=n[2],i=n[3]),Z.useEffect(r,i)}var Wm=e=>{let t=(0,Q.c)(8),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r=Vm(),i=r?Rm:zm,a=Z.useRef(null);Um(i,a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o={display:`contents`},t[2]=o):o=t[2];let s=r?`dark`:`light`,c,l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c={classNames:{toast:`group/toast toast !flex !min-w-[min(var(--width),calc(100vw-2rem))] !max-w-[calc(100vw-2rem)] !items-center !rounded-[var(--radius-xl)] !border-0 !px-3.5 !py-3 !gap-2.5 !text-foreground`,content:`!min-w-0 !flex-1 !text-left`,title:`typography-ui-label !font-medium !text-foreground`,description:`typography-meta !text-muted-foreground !mt-0.5`,actionButton:`!ms-0 !me-0 !shrink-0 !rounded-[var(--radius-md)] !bg-[var(--oc-toast-action-background,var(--primary-base))] !text-[var(--oc-toast-action-foreground,var(--primary-foreground))] hover:!opacity-85 !px-2 !py-1 typography-meta !font-medium transition-opacity`,cancelButton:`!ms-0 !me-0 !shrink-0 !rounded-[var(--radius-md)] !bg-[var(--oc-toast-cancel-background,var(--interactive-hover))] !text-[var(--oc-toast-cancel-foreground,var(--foreground))] hover:!bg-[var(--interactive-active)] !px-2 !py-1 typography-meta !font-medium transition-colors`,closeButton:`!rounded-[var(--radius-md)] !bg-[var(--interactive-hover)] !text-foreground hover:!bg-[var(--interactive-active)]`,icon:`!shrink-0 !text-muted-foreground`,success:`[&_[data-icon]]:!text-[var(--status-success)]`,error:`[&_[data-icon]]:!text-[var(--status-error)]`,warning:`[&_[data-icon]]:!text-[var(--status-warning)]`,info:`[&_[data-icon]]:!text-[var(--status-info)]`},style:{borderRadius:`var(--radius-xl)`,backgroundColor:`var(--oc-toast-background, var(--surface-elevated))`}},l={"--normal-bg":`var(--oc-toast-background, var(--surface-elevated))`,"--normal-text":`var(--foreground)`,"--normal-border":`transparent`,"--error-bg":`var(--oc-toast-background, var(--surface-elevated))`,"--error-text":`var(--foreground)`,"--error-border":`transparent`,"--success-bg":`var(--oc-toast-background, var(--surface-elevated))`,"--success-text":`var(--foreground)`,"--success-border":`transparent`,"--warning-bg":`var(--oc-toast-background, var(--surface-elevated))`,"--warning-text":`var(--foreground)`,"--warning-border":`transparent`,"--info-bg":`var(--oc-toast-background, var(--surface-elevated))`,"--info-text":`var(--foreground)`,"--info-border":`transparent`},t[3]=c,t[4]=l):(c=t[3],l=t[4]);let u;return t[5]!==n||t[6]!==s?(u=(0,$.jsx)(`div`,{ref:a,style:o,children:(0,$.jsx)(Fn,{theme:s,className:`toaster group`,closeButton:!1,icons:Bm,toastOptions:c,style:l,...n})}),t[5]=n,t[6]=s,t[7]=u):u=t[7],u},Gm=new Map,Km=(e,t,n)=>`${+!!t}:${n}:${e.map(e=>`${e.id}\0${e.title}\0${e.subtitle??``}\0${e.badge??``}\0${e.iconName}`).join(`|`)}`,qm=async e=>{let t=Ou(`--surface-foreground`);return Promise.all(e.slice(0,40).map(async e=>{let n=`${e.iconName}:${t}`,r=Gm.get(n);return r===void 0&&(r=await Su(e.iconName,t)??``,Gm.set(n,r)),{id:e.id,title:e.title,subtitle:e.subtitle??``,badge:e.badge??``,iconBase64:r}}))},Jm=[],Ym=e=>void 0,Xm=()=>void 0;function Zm(e){let t=Au()&&e.enabled&&Wu(e.isMobile),n=(0,Z.useRef)(null),r=(0,Z.useRef)(e.text),i=(0,Z.useRef)(!1),a=(0,Z.useRef)(-1),o=(0,Z.useRef)(null),s=(0,Z.useRef)(``),c=(0,Z.useRef)(``),l=ts(e.agentName),u=(0,Z.useRef)([]),d=(0,Z.useRef)(Bu()),f=J(e.onText),p=J(e.onSend),m=J(e.onAbort),h=J(e.onAttach),g=J(e.onFiles),_=J(e.onRemoveAttachment),v=J(e.onOpenModel),y=J(e.onCycleAgent),b=J(e.onOpenAgent),x=J(e.onScrollToBottom),S=J(e.onAutocompleteAccept??Ym),C=J(e.onAutocompleteDismiss??Xm),w=J(e=>{typeof document>`u`||Yu(document.documentElement,e)});qu.bind({onText:(e,t,n)=>{Eu({incoming:e,replacedText:o.current})||(o.current=null,r.current=e,i.current=!0,f(e,t,n))},onSend:e=>{r.current=e,p(e)},onAbort:m,onAttach:h,onFiles:g,onRemoveAttachment:_,onOpenModel:v,onCycleAgent:y,onOpenAgent:b,onHeight:w,onScrollToBottom:x,onAutocompleteAccept:e=>{i.current=!1,S(e)},onAutocompleteDismiss:C});let T=()=>({text:e.text,placeholder:e.placeholder,modelLabel:e.modelLabel,modelVariantLabel:e.modelVariantLabel,modelIcon:s.current,canSend:e.canSend,canAbort:e.canAbort,attachmentCount:e.attachmentCount,attachmentPreviews:u.current,citationRanges:Ht(e.text,e.attachments.map(e=>e.filename)),chipRanges:Ru($u(e.text,e.chipHighlights),Ou(`--primary`)),appearance:typeof document>`u`?`dark`:Mu(document.documentElement),attachAria:e.attachAria,attachTitle:e.attachTitle,attachPhotosLabel:e.attachPhotosLabel,attachFilesLabel:e.attachFilesLabel,attachCancelLabel:e.attachCancelLabel,sendAria:e.sendAria,queueAria:e.queueAria,stopAria:e.stopAria,modelAria:e.modelAria,agentAria:e.agentAria,agentLabel:e.agentLabel,agentColor:Qu(e.agentName||void 0),agentIdenticon:Du(e.agentName||void 0),agentIcon:c.current,suppressed:e.suppressed,showScrollToBottom:e.showScrollToBottom,scrollAria:e.scrollAria,autocomplete:d.current});(0,Z.useLayoutEffect)(()=>{if(!t||typeof document>`u`)return;let e=document.documentElement;return Hu(e,!0),()=>{Hu(e,!1)}},[t]),(0,Z.useEffect)(()=>{if(!t||typeof document>`u`)return;let e=document.documentElement,i=T();n.current=i,r.current=i.text,qu.rememberText(i.text),qu.retain(e,i);let a=Gu();return()=>{n.current=null,a(),qu.release(e)}},[t]),(0,Z.useEffect)(()=>{if(!t)return;let r=!1,i=e=>{c.current=e,n.current&&={...n.current,agentIcon:e},zu().update({agentIcon:e})};return i(``),Nu(ns(`agent`,e.agentName||void 0,!1,l)).then(e=>{r||i(e??``)}),()=>{r=!0}},[t,e.agentName,l]),(0,Z.useEffect)(()=>{if(!t)return;let r=!1,i=Os(e.modelId,e.providerId),a={modelIcon:``,modelLabel:e.modelLabel,modelVariantLabel:e.modelVariantLabel};if(s.current=``,n.current&&={...n.current,...a},zu().update(a),i)return Nu(i).then(t=>{if(r)return;let i=t??``;s.current=i;let a={modelIcon:i,modelLabel:e.modelLabel,modelVariantLabel:e.modelVariantLabel};n.current&&={...n.current,...a},zu().update(a)}),()=>{r=!0}},[t,e.modelId,e.providerId,e.modelLabel,e.modelVariantLabel]);let E=Lu(e.attachments);(0,Z.useEffect)(()=>{if(!t)return;let r=!1,i=e.attachments;if(i.length===0){u.current=[],n.current&&(n.current={...n.current,attachmentPreviews:[]},qu.rememberState(n.current)),zu().update({attachmentPreviews:[]});return}return Promise.all(i.map(async t=>{let n=t.mimeType.startsWith(`image/`)&&t.dataUrl?await Zu(t.dataUrl):``;return{id:t.id,filename:t.filename,mime:t.mimeType,thumbnailBase64:n??``,removeAria:e.removeAttachmentNamedAria(t.filename)}})).then(e=>{r||(u.current=e,n.current&&(n.current={...n.current,attachmentPreviews:e},qu.rememberState(n.current)),zu().update({attachmentPreviews:e}))}),()=>{r=!0}},[t,E]);let D=e.autocompleteRows??Jm,O=e.autocompleteOpen===!0,k=e.autocompleteHighlightedIndex??0,A=e.autocompleteQuery??``,j=`${Km(D,O,k)}\0${A}`;(0,Z.useEffect)(()=>{if(!t)return;let e=!1;if(!(O&&D.length>0)){let e=Bu();Xu(d.current,e)||(d.current=e,n.current&&(n.current={...n.current,autocomplete:e},qu.rememberState(n.current)),zu().update({autocomplete:e}));return}return qm(D).then(t=>{if(e)return;let r={open:t.length>0,highlightedIndex:Math.max(0,Math.min(k,Math.max(t.length-1,0))),query:A,highlightColor:Ou(`--primary-base`)||Ou(`--primary`),rows:t};Xu(d.current,r)||(d.current=r,n.current&&(n.current={...n.current,autocomplete:r},qu.rememberState(n.current)),zu().update({autocomplete:r}))}),()=>{e=!0}},[t,j]);let M=t?$u(e.text,e.chipHighlights).map(e=>`${e.start}:${e.end}:${e.triggerLength}`).join(`|`):``;return(0,Z.useEffect)(()=>{if(!t)return;let s=T(),c=n.current;if(c&&Fu(c,s)){i.current=!1,a.current=e.textPresetEpoch;return}n.current=s,qu.rememberState(s);let l=e.textPresetEpoch!==a.current;a.current=e.textPresetEpoch;let u=ju({nextText:s.text,nativeOwnedText:r.current,echoingNative:i.current,preset:l});i.current=!1,!u.omitText&&u.forceText&&(o.current=r.current),u.omitText||(r.current=s.text);let d=Ku(c,s,u,{caret:e.caret});d&&zu().update(d)},[t,e.text,e.textPresetEpoch,e.placeholder,e.modelLabel,e.modelVariantLabel,e.modelId,e.providerId,e.canSend,e.canAbort,e.attachmentCount,E,e.suppressed,e.attachAria,e.attachTitle,e.attachPhotosLabel,e.attachFilesLabel,e.attachCancelLabel,e.sendAria,e.queueAria,e.stopAria,e.modelAria,e.agentName,e.agentLabel,e.agentAria,e.showScrollToBottom,e.scrollAria,M]),t}var Qm=e=>{let t=Math.floor(e/60),n=e%60;return`${t}:${String(n).padStart(2,`0`)}`},$m=e=>{let t=(0,Q.c)(4),{volume:n}=e,{currentTheme:r}=is(),i=Math.min(1,Math.max(0,n)),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=[.45,.7,1,.7,.45],t[0]=a):a=t[0];let o=a,s;return t[1]!==r||t[2]!==i?(s=(0,$.jsx)(`div`,{className:`flex h-6 w-10 flex-shrink-0 items-center justify-center gap-1`,"aria-hidden":`true`,children:o.map((e,t)=>(0,$.jsx)(`span`,{className:`h-full w-1 rounded-full transition-transform duration-75 ease-out motion-reduce:transition-none`,style:{backgroundColor:r.colors.primary.base,transform:`scaleY(${.25+i*e*.75})`}},t))}),t[1]=r,t[2]=i,t[3]=s):s=t[3],s},eh=e=>{let t=aa(e=>e.sttLocalModel),[n,r]=Z.useState(null);return Z.useEffect(()=>{if(!e){r(null);return}let n=!1,i=async()=>{try{let e=await d(`/api/dictation/status`,{query:{provider:`local`,localModel:t}});if(!e.ok||n)return;let i=await e.json(),a=Array.isArray(i?.models)?i.models.find(e=>e.id===t):null;n||r(typeof a?.downloadProgress==`number`?a.downloadProgress:null)}catch{}};i();let a=setInterval(()=>{i()},2e3);return()=>{n=!0,clearInterval(a)}},[e,t]),e?n:null},th=e=>{let t=(0,Q.c)(89),{radius:n,isMobile:r,footerIconButtonClass:i,footerPaddingClass:a,iconSizeClass:o,sendIconSizeClass:s,disabled:c,onInsert:l,onInsertAndSend:u,onActiveChange:d,onContentHeightChange:f,renderTrigger:p,topAccessory:m}=e,h=p===void 0||p,{t:g}=Kn(),{currentTheme:_}=is(),v=aa(nh),y=q(rh),b;t[0]===y?b=t[1]:(b=Ic(mc(`toggle_dictation`,y)),t[0]=y,t[1]=b);let x=b,[S]=Z.useState(ih),C=Z.useRef(null),w=Z.useRef(l),T=Z.useRef(u),E,D;t[2]!==l||t[3]!==u?(E=()=>{w.current=l,T.current=u},D=[l,u],t[2]=l,t[3]=u,t[4]=E,t[5]=D):(E=t[4],D=t[5]),Z.useEffect(E,D);let O;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(O={onTranscript:e=>{let t=C.current;C.current=null,t===`send`?T.current(e):w.current(e)}},t[6]=O):O=t[6];let{status:k,partialTranscript:A,volume:j,duration:M,error:N,errorReason:P,startDictation:F,confirmDictation:I,cancelDictation:L,retryFailedDictation:R,acceptPartialTranscript:z,discardFailedDictation:B}=rl(O),V=k===`recording`&&P===`model_download_in_progress`,H=eh(V),ee=Z.useRef(k),U,te;t[7]===k?(U=t[8],te=t[9]):(U=()=>{ee.current=k},te=[k],t[7]=k,t[8]=U,t[9]=te),Z.useEffect(U,te);let ne,W;t[10]!==d||t[11]!==k?(ne=()=>(d?.(k!==`idle`),()=>d?.(!1)),W=[k,d],t[10]=d,t[11]=k,t[12]=ne,t[13]=W):(ne=t[12],W=t[13]),Z.useLayoutEffect(ne,W);let G,re;t[14]!==I||t[15]!==v||t[16]!==c||t[17]!==F||t[18]!==S?(G=()=>{if(!S||!v||c)return;let e=()=>{ee.current===`idle`?F():ee.current===`recording`&&(C.current=`insert`,I())};return window.addEventListener(`openchamber:dictation-toggle`,e),()=>window.removeEventListener(`openchamber:dictation-toggle`,e)},re=[S,v,c,F,I],t[14]=I,t[15]=v,t[16]=c,t[17]=F,t[18]=S,t[19]=G,t[20]=re):(G=t[19],re=t[20]),Z.useEffect(G,re);let ie,ae;t[21]!==L||t[22]!==I||t[23]!==k?(ie=()=>{if(k!==`recording`)return;let e=e=>{if(!e.isComposing){if(e.key===`Enter`&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey){e.preventDefault(),e.stopPropagation(),C.current=`insert`,I();return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),L())}};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},ae=[k,I,L],t[21]=L,t[22]=I,t[23]=k,t[24]=ie,t[25]=ae):(ie=t[24],ae=t[25]),Z.useEffect(ie,ae);let oe=Z.useRef(null),se=Z.useRef(null),K=Z.useRef(null),[ce,le]=Z.useState(null),ue=k!==`idle`,de=Z.useRef(f),fe,pe;t[26]===f?(fe=t[27],pe=t[28]):(fe=()=>{de.current=f},pe=[f],t[26]=f,t[27]=fe,t[28]=pe),Z.useEffect(fe,pe);let me=Z.useRef(!1),he;t[29]===ue?he=t[30]:(he=()=>{if(!ue){me.current&&(me.current=!1,de.current?.(null));return}let e=se.current,t=K.current;if(!e||!t)return;let n=window.getComputedStyle(e),r=(parseFloat(n.paddingTop)||0)+(parseFloat(n.paddingBottom)||0);me.current=!0,de.current?.(t.offsetHeight+r),e.scrollTop=e.scrollHeight},t[29]=ue,t[30]=he);let ge;t[31]!==N||t[32]!==ue||t[33]!==A||t[34]!==k?(ge=[ue,A,k,N],t[31]=N,t[32]=ue,t[33]=A,t[34]=k,t[35]=ge):ge=t[35],Z.useLayoutEffect(he,ge);let _e,ve;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(_e=()=>()=>{me.current&&(me.current=!1,de.current?.(null))},ve=[],t[36]=_e,t[37]=ve):(_e=t[36],ve=t[37]),Z.useEffect(_e,ve);let ye,be;if(t[38]===ue?(ye=t[39],be=t[40]):(ye=()=>{if(!ue)return;let e=oe.current?.closest(`[data-chat-input-footer="true"]`);e&&e.offsetHeight>0&&le(e.offsetHeight)},be=[ue],t[38]=ue,t[39]=ye,t[40]=be),Z.useLayoutEffect(ye,be),!S||!v)return null;let xe=k!==`idle`,Se;t[41]===I?Se=t[42]:(Se=e=>{C.current=e,I()},t[41]=I,t[42]=Se);let Ce=Se,we;t[43]===R?we=t[44]:(we=()=>{C.current=`insert`,R()},t[43]=R,t[44]=we);let Te=we,Ee;bb0:{if(k===`failed`){Ee=``;break bb0}if(k===`uploading`){let e;t[45]===g?e=t[46]:(e=g(`chat.dictation.processing`),t[45]=g,t[46]=e),Ee=e;break bb0}if(V){let e;t[47]!==H||t[48]!==g?(e=H===null?g(`chat.dictation.downloadingModel`):g(`chat.dictation.downloadingModelProgress`,{percent:String(H)}),t[47]=H,t[48]=g,t[49]=e):e=t[49],Ee=e;break bb0}let e;t[50]===g?e=t[51]:(e=g(`chat.dictation.listening`),t[50]=g,t[51]=e),Ee=e}let De=Ee,Oe;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Oe={onMouseDown:ah,onPointerDownCapture:oh},t[52]=Oe):Oe=t[52];let ke=Oe,Ae;t[53]!==x||t[54]!==c||t[55]!==i||t[56]!==o||t[57]!==xe||t[58]!==h||t[59]!==F||t[60]!==g?(Ae=h?(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:()=>{F()},disabled:c||xe,title:x?`${g(`chat.dictation.start`)} (${x})`:g(`chat.dictation.start`),"aria-label":g(`chat.dictation.start`),children:(0,$.jsx)(X,{name:`mic`,className:Y(o,`text-current`)})}):null,t[53]=x,t[54]=c,t[55]=i,t[56]=o,t[57]=xe,t[58]=h,t[59]=F,t[60]=g,t[61]=Ae):Ae=t[61];let je;t[62]!==z||t[63]!==L||t[64]!==Ce||t[65]!==_||t[66]!==B||t[67]!==M||t[68]!==N||t[69]!==ce||t[70]!==i||t[71]!==a||t[72]!==o||t[73]!==xe||t[74]!==r||t[75]!==V||t[76]!==A||t[77]!==De||t[78]!==n||t[79]!==Te||t[80]!==s||t[81]!==k||t[82]!==g||t[83]!==m||t[84]!==j?(je=xe?(0,$.jsxs)(`div`,{ref:oe,className:Y(`absolute inset-0 z-50 flex flex-col overflow-x-hidden overflow-y-hidden`,r&&`oc-composer-morph-content-fade`),style:{borderRadius:n,backgroundColor:_.colors.surface.subtle},role:`dialog`,"aria-label":g(`chat.dictation.overlayAria`),children:[m,(0,$.jsx)(`div`,{ref:se,className:Y(`scrollbar-none flex-1 min-h-0 overflow-y-auto px-3`,r?`pt-3.5 pb-2.5`:`pt-5 pb-2`),children:(0,$.jsxs)(`div`,{ref:K,className:Y(!A&&`translate-y-1.5`),children:[A?(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label whitespace-pre-wrap`,style:{color:_.colors.surface.foreground},children:A}):k===`recording`?(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,style:{color:_.colors.surface.mutedForeground},children:[(0,$.jsx)($m,{volume:j}),(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,children:De})]}):(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,style:{color:_.colors.surface.mutedForeground},children:De}),k===`failed`?(0,$.jsx)(`p`,{className:`typography-meta mt-1`,style:{color:_.colors.status.error},children:N||g(`chat.dictation.failed`)}):null,k===`recording`&&N&&!V?(0,$.jsx)(`p`,{className:`typography-meta mt-1`,style:{color:_.colors.status.warning},children:N}):null]})}),(0,$.jsxs)(`div`,{className:Y(`flex flex-shrink-0 items-center gap-x-3`,a),style:ce?{height:ce}:void 0,children:[k===`recording`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`span`,{className:`relative ml-1 flex h-2 w-2 flex-shrink-0`,"aria-hidden":`true`,children:[(0,$.jsx)(`span`,{className:`absolute inline-flex h-full w-full animate-ping rounded-full opacity-60`,style:{backgroundColor:_.colors.status.error}}),(0,$.jsx)(`span`,{className:`relative inline-flex h-2 w-2 rounded-full`,style:{backgroundColor:_.colors.status.error}})]}),(0,$.jsx)($m,{volume:j}),(0,$.jsx)(`span`,{className:`typography-meta tabular-nums`,style:{color:_.colors.surface.mutedForeground},children:Qm(M)})]}):k===`uploading`?(0,$.jsx)(X,{name:`loader-4`,className:`ml-1 h-4 w-4 animate-spin`,style:{color:_.colors.surface.mutedForeground}}):null,(0,$.jsx)(`div`,{className:Y(`ml-auto flex items-center`,r?`gap-x-1`:`gap-x-1.5 md:gap-x-3`),children:k===`recording`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-muted-foreground hover:text-foreground`),onClick:()=>{L()},title:g(`chat.dictation.cancel`),"aria-label":g(`chat.dictation.cancel`),children:(0,$.jsx)(X,{name:`close`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:()=>Ce(`insert`),title:g(`chat.dictation.insert`),"aria-label":g(`chat.dictation.insert`),children:(0,$.jsx)(X,{name:`check`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-primary hover:text-primary`),onClick:()=>Ce(`send`),title:g(`chat.dictation.insertAndSend`),"aria-label":g(`chat.dictation.insertAndSend`),children:(0,$.jsx)(X,{name:`send-plane-2`,className:s})})]}):k===`uploading`?(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-muted-foreground hover:text-foreground`),onClick:()=>{L()},title:g(`chat.dictation.cancel`),"aria-label":g(`chat.dictation.cancel`),children:(0,$.jsx)(X,{name:`close`,className:o})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-muted-foreground hover:text-foreground`),onClick:B,title:g(`chat.dictation.discard`),"aria-label":g(`chat.dictation.discard`),children:(0,$.jsx)(X,{name:`close`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:Te,title:g(`chat.dictation.retry`),"aria-label":g(`chat.dictation.retry`),children:(0,$.jsx)(X,{name:`refresh`,className:o})}),A.trim()?(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:()=>{C.current=`insert`,z()},title:g(`chat.dictation.insert`),"aria-label":g(`chat.dictation.insert`),children:(0,$.jsx)(X,{name:`check`,className:o})}):null]})})]})]}):null,t[62]=z,t[63]=L,t[64]=Ce,t[65]=_,t[66]=B,t[67]=M,t[68]=N,t[69]=ce,t[70]=i,t[71]=a,t[72]=o,t[73]=xe,t[74]=r,t[75]=V,t[76]=A,t[77]=De,t[78]=n,t[79]=Te,t[80]=s,t[81]=k,t[82]=g,t[83]=m,t[84]=j,t[85]=je):je=t[85];let Me;return t[86]!==Ae||t[87]!==je?(Me=(0,$.jsxs)($.Fragment,{children:[Ae,je]}),t[86]=Ae,t[87]=je,t[88]=Me):Me=t[88],Me};function nh(e){return e.dictationEnabled}function rh(e){return e.shortcutOverrides}function ih(){return!K()&&sl()}function ah(e){return e.preventDefault()}function oh(e){e.pointerType===`touch`&&e.preventDefault()}function sh(e){let t=(0,Q.c)(11),{kind:n,active:r,className:i}=e,a;t[0]===i?a=t[1]:(a=Y(`relative inline-flex shrink-0 items-center justify-center`,i),t[0]=i,t[1]=a);let o;t[2]===r?o=t[3]:(o=r&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`pointer-events-none absolute -inset-1.5 rounded-full bg-[var(--voice-active-fill)]/15 motion-safe:animate-pulse motion-safe:[animation-duration:2.4s]`}),(0,$.jsx)(`span`,{className:`pointer-events-none absolute -inset-1 rounded-full bg-[var(--voice-active-fill)]/25 motion-safe:animate-pulse motion-safe:[animation-delay:300ms] motion-safe:[animation-duration:2.4s]`}),(0,$.jsx)(`span`,{className:`pointer-events-none absolute -inset-0.5 rounded-full bg-[var(--voice-active-fill)]`})]}),t[2]=r,t[3]=o);let s;t[4]!==r||t[5]!==n?(s=n===`mic`?r?(0,$.jsx)(X,{name:`mic-fill`,className:`relative size-full p-0.5 text-[var(--primary-foreground)]`}):(0,$.jsx)(X,{name:`mic`,className:`relative size-full`}):r?(0,$.jsx)(X,{name:`volume-up-fill`,className:`relative size-full p-0.5 text-[var(--primary-foreground)]`}):(0,$.jsx)(X,{name:`volume-up`,weight:`medium`,className:`relative size-full`}),t[4]=r,t[5]=n,t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==o||t[9]!==s?(c=(0,$.jsxs)(`span`,{"aria-hidden":`true`,className:a,children:[o,s]}),t[7]=a,t[8]=o,t[9]=s,t[10]=c):c=t[10],c}function ch({onInsert:e,onPartial:t,onStart:n,onCancel:r,className:i,iconClassName:a,inputRef:o,onRecordingChange:s,onActiveChange:c,interactionMode:l=`desktop`,disabled:u=!1}){let{t:d}=Kn(),f=q(e=>e.shortcutOverrides),p=Ic(mc(`toggle_dictation`,f)),m=rl({onTranscript:e,onPartialTranscript:t}),h=(0,Z.useRef)(!1),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(!1),b=g||m.isStarting,x=m.status===`recording`,S=m.status===`uploading`,C=l===`mobile`,w=b||v||S,T=x||w,E=J(e=>c?.(e));(0,Z.useEffect)(()=>(E(T),()=>E(!1)),[T,E]);let D=(0,Z.useRef)(null),O=(0,Z.useRef)(null),k=(0,Z.useRef)(null),A=(0,Z.useRef)(null),j=(0,Z.useRef)({x:0,y:0}),M=J(e=>s?.(e));(0,Z.useEffect)(()=>(M(x&&(C||!w)),()=>M(!1)),[x,w,C,M]);let N=(0,Z.useRef)(0);(0,Z.useEffect)(()=>()=>{N.current+=1},[]);let P=J(async(e=!1)=>{if(v)return;let t=o?.current,n=N.current;h.current=!1,y(!0);try{await m.confirmDictation()}finally{y(!1),e&&!C&&n===N.current&&t?.isConnected&&o?.current===t&&!t.disabled&&!t.readOnly&&!document.hidden&&document.hasFocus()&&(document.activeElement===document.body||document.activeElement===t||k.current?.contains(document.activeElement))&&(t.focus({preventScroll:!0}),t.setSelectionRange(t.value.length,t.value.length))}}),F=J(()=>{D.current=null,x&&(h.current=!1,P())}),I=J(async()=>{if(!(v||S)){if(x){F();return}if(!(S||b||u)){m.status===`failed`&&(r(),m.discardFailedDictation()),h.current=!1,n(),_(!0);try{await m.startDictation(),h.current=!0}finally{_(!1)}}}}),[,L,R]=Vn(()=>{let e=O.current;O.current=null;let t=o?.current;!e||!t||t.disabled||t.readOnly||u||T||t.selectionStart!==t.selectionEnd||(D.current=e.id,k.current?.setPointerCapture?.(e.id),t.blur(),t.setSelectionRange(t.value.length,t.value.length),I())},500,{immediate:!1}),z=J(()=>{O.current&&(O.current=null,R())});Hn(`pointerdown`,e=>{if(C)return;let t=o?.current;!t||e.target!==t||t.disabled||t.readOnly||e.pointerType!==`mouse`||e.button!==0||e.detail>1||u||T||D.current!==null||(O.current={id:e.pointerId,x:e.clientX,y:e.clientY},j.current={x:e.clientX,y:e.clientY},L())},window,{capture:!0}),Hn(`pointermove`,e=>{let t=O.current;t?.id===e.pointerId&&Math.hypot(e.clientX-t.x,e.clientY-t.y)>6&&z(),D.current===e.pointerId&&(e.preventDefault(),j.current={x:e.clientX,y:e.clientY},A.current&&(A.current.style.transform=`translate(${e.clientX}px, ${e.clientY}px)`))},window,{capture:!0}),Hn(`selectstart`,e=>{D.current!==null&&e.preventDefault()},document,{capture:!0}),Hn(`mousemove`,e=>{D.current!==null&&e.preventDefault()},window,{capture:!0}),Hn(`selectionchange`,()=>{if(D.current===null)return;let e=o?.current;e&&e.selectionStart!==e.selectionEnd&&e.setSelectionRange(e.selectionEnd,e.selectionEnd);let t=document.getSelection();t&&!t.isCollapsed&&t.removeAllRanges()},document),Hn(`pointerup`,e=>{O.current?.id===e.pointerId&&z(),D.current===e.pointerId&&e.button===0&&(D.current=null,h.current=!1,P(!0))},window,{capture:!0}),Hn(`pointercancel`,e=>{O.current?.id===e.pointerId&&z(),D.current===e.pointerId&&(D.current=null,h.current=!1,r(),m.cancelDictation())},window,{capture:!0});let B=J(()=>{D.current!==null&&(D.current=null,h.current=!1,P())});Hn(`blur`,()=>{C||(z(),D.current===null?h.current&&F():B())},window),Hn(`visibilitychange`,()=>{C||document.hidden&&(z(),D.current===null?h.current&&F():B())},document),Hn(C?`openchamber:mobile-dictation-toggle`:`openchamber:dictation-toggle`,()=>{I()},window),Hn(`keydown`,e=>{if(!C&&(z(),!(e.isComposing||e.keyCode===229))){if(e.key===`Enter`&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&(x||S)){e.preventDefault(),e.stopPropagation(),e.repeat||F();return}e.key!==`Escape`||!x&&!S&&m.status!==`failed`||(e.preventDefault(),e.stopPropagation(),h.current=!1,D.current=null,r(),m.status===`failed`?m.discardFailedDictation():m.cancelDictation())}},window,{capture:!0});let V=d(x?`settings.voice.volcengine.finishRecording`:S?`chat.dictation.processing`:`chat.dictation.start`);return(0,$.jsxs)(`div`,{ref:k,"data-dictation-control":!0,className:`relative flex shrink-0 items-center gap-1.5`,children:[!C&&(x||b)&&D.current!==null&&(0,Rp.createPortal)((0,$.jsxs)(`span`,{ref:A,"data-listening-cursor":!0,"aria-hidden":`true`,className:`pointer-events-none fixed left-0 top-0 z-[100]`,style:{transform:`translate(${j.current.x}px, ${j.current.y}px)`},children:[(0,$.jsx)(`style`,{children:`html, html * { cursor: none !important; user-select: none !important; -webkit-user-select: none !important; } @keyframes oc-listening-cursor { from { transform: scaleY(0.35); } to { transform: scaleY(1); } }`}),(0,$.jsx)(`span`,{className:`absolute -left-5 -top-5 flex size-10 items-center justify-center gap-1`,children:b?(0,$.jsx)(Ll,{decorative:!0}):[0,1,2].map(e=>(0,$.jsx)(`span`,{className:`h-6 w-[3px] rounded-full bg-[var(--voice-active-fill)] motion-safe:animate-[oc-listening-cursor_450ms_ease-in-out_infinite_alternate]`,style:{animationDelay:`${e*-150}ms`}},e))})]}),document.body),(0,$.jsxs)(Vs,{delayDuration:0,children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{variant:`ghost`,size:`icon`,className:Y(`shadow-none`,i),"aria-label":V,"aria-pressed":x,"aria-busy":w,disabled:S||v||u&&!x,onClick:()=>{I()},onBlur:C?void 0:F,children:w?(0,$.jsx)(Ll,{decorative:!0}):(0,$.jsx)(sh,{kind:`mic`,active:x&&!m.error,className:Y(a??`size-5`,m.error&&`text-[var(--status-error)]`)})})}),(0,$.jsx)(Bs,{side:`top`,sideOffset:8,className:`oc-composer-tooltip max-w-64 break-words`,children:m.error||(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:V}),!C&&p&&(0,$.jsx)(`kbd`,{className:`font-sans text-[10px] opacity-70`,children:p})]})})]}),!C&&x&&!w&&(0,$.jsx)(`span`,{className:`pointer-events-none select-none whitespace-nowrap text-[10px] leading-none text-muted-foreground`,children:d(D.current===null?`chat.dictation.keyboardHint`:`chat.dictation.releaseConfirm`)})]})}var lh=2e3,uh=Ve((e,t)=>({pending:!1,expiresAt:null,arm:(t=lh)=>{let n=Date.now()+t;return e({pending:!0,expiresAt:n}),n},clear:()=>{!t().pending&&t().expiresAt===null||e({pending:!1,expiresAt:null})}})),dh=new class{inFlightByScope=new WeakMap;generationByScope=new WeakMap;run(e){let t=this.inFlightByScope.get(e.scope);t||(t=new Map,this.inFlightByScope.set(e.scope,t));let n=t.get(e.key);if(n)return n;let r=this.generationByScope.get(e.scope);r||(r=new Map,this.generationByScope.set(e.scope,r));let i=(r.get(e.key)??0)+1;r.set(e.key,i);let a=e.request(()=>r?.get(e.key)!==i);return t.set(e.key,a),a.finally(()=>{t?.get(e.key)===a&&t.delete(e.key)}).catch(()=>{}),a}},fh=e=>En({queryKey:[e.transport,`sessionChildren`,e.generation,z(e.directory),e.sessionID],queryFn:({signal:t})=>e.request(t),staleTime:0,gcTime:6e4,retry:!1}),ph=e=>le.fetchQuery(fh(e)),mh=(e,t)=>e.id<t.id?-1:+(e.id>t.id),hh=(e,t,n)=>{let r=new Set(e.map(e=>e.id)),i=t.filter(e=>!e?.id||r.has(e.id)||e.parentID!==n?!1:(r.add(e.id),!0));return i.length===0?e:[...e,...i].sort(mh)},gh=30,_h=new Map;function vh(e,t=!1){return{limit:e.loadedTurns,cursor:e.kind===`has-more`?e.cursor:void 0,complete:e.kind===`exhausted`,loading:t}}function yh(e,t){let n=at();if(!n)return!1;let r=n.getTranscript(bt(e,t));return r.messageOrder.length!==0&&r.messageOrder.length>Fr()}function bh(e){return!!e.force||!e.hasSession||e.shouldLoadMessages}function xh(e,t,n){let r=[...e.getState().session],i=co.search(r,t,e=>e.id);i.found?r[i.index]=n:r.splice(i.index,0,n),e.setState({session:r})}function Sh(){let e=oa(),t=Mr(),n=Mi(),r=(0,Z.useCallback)((t,n=e)=>`${n}\n${t}`,[e]),i=(0,Z.useCallback)((t,n=e)=>{let r=at();if(!r||!t)return vh({kind:`unknown`,loadedTurns:0},!1);let i=bt(n,t),a=r.getPagination(i),o=r.getRequestState?.(i);return vh(a.boundary,o?.status===`loading`)},[e]),o=(0,Z.useCallback)((e,t)=>{if(t.length===0)return;let r=n.getChild(e);if(!r)return;let i=r.getState(),a={session_status:{...i.session_status},session_status_observed_at:{...i.session_status_observed_at},session_error_at:{...i.session_error_at},session_diff:{...i.session_diff},todo:{...i.todo},permission:{...i.permission},question:{...i.question}};pi(a,t),Or(r,t),r.setState(a);for(let n of t)ct(e,n)},[n]),c=(0,Z.useCallback)((t=e)=>{let n=_h.get(t);if(n)return _h.delete(t),_h.set(t,n),n;let r=new Set;for(_h.set(t,r);_h.size>gh;){let e=_h.keys().next().value;if(!e)break;let t=[..._h.get(e)??[]];_h.delete(e),o(e,t)}return r},[e,o]),l=(0,Z.useCallback)((r,i=e)=>{let a=i===e?t:n.ensureChild(i,{bootstrap:!1}),s=c(i),l=Dr(a.getState()),u=ur(),d=zr({seen:s,keep:r,limit:u,preserve:l});if(o(i,d),Fi()){let e=new Set([r,...s,...l]),t=(at()?.getCacheBudget?.().listCanonical({directory:i})??[]).map(e=>e.scope.sessionID),n=(t.length>0?t:Array.from(s)).filter(t=>t===r||e.has(t)?!1:yh(i,t));if(n.length>0){for(let e of n)s.delete(e);o(i,n)}}},[n,e,c,o,t]),u=(0,Z.useCallback)(async(r,i)=>{let a=i?.directory??e;if(!r||!a||a===`global`)return;let o=a===e?t:n.ensureChild(a,{bootstrap:!1}),s=o.getState(),c=s.session_status?.[r],l=s.session_status_observed_at?.[r];try{i?.purpose===`prepend`||i?.before?await un(a,r):await wt(a,r,{background:!0})}catch{return}if(i?.isStale?.())return;let u=at()?.getTranscript(bt(a,r));eo({directory:a,sessionID:r,store:o,transcript:u,isStale:i?.isStale}),await ti({directory:a,sessionID:r,store:o,statusBeforePull:c,statusObservedAtBeforePull:l,hasMessages:(u?.messageOrder.length??0)>0,isTailPage:!i?.before,isStale:i?.isStale})},[n,t,e]),d=(0,Z.useCallback)(async(t,i)=>{await qo();let a=typeof i==`boolean`?i:i?.force,o=typeof i==`object`?i.directory??e:e,s=n.ensureChild(o,{bootstrap:!1}),c=xt.getScopedSdkClient(o);l(t,o);let d=r(t,o);return dh.run({scope:s,key:d,request:async e=>{let n=s.getState(),r=at(),i=bt(o,t),l=r?.hasSession?.(i)??(r?.getTranscript(i).messageOrder.length??0)>0,d=r?.getPagination(i)?.boundary??{kind:`unknown`,loadedTurns:0},f=co.search(n.session,t,e=>e.id).found,p=r?.getRequestState?.(i);if(!a&&l&&d.kind!==`unknown`&&p?.status!==`error`&&f&&zi(o,t)){eo({directory:o,sessionID:t,store:s,isStale:e});return}let m=!!(a||!l||f),h=bh({hasSession:f,shouldLoadMessages:m,force:!!a});await Promise.all([h?(async()=>{try{let n=await Qi(async()=>c.session.get({sessionID:t}));if(n&&!e()){let r=Ea(Dt(n));e()||xh(s,t,r)}}catch(e){console.error(`[sync] failed to fetch session`,t,e)}})():Promise.resolve(),m?u(t,{isStale:e,directory:o}):Promise.resolve()])}})},[n,r,l,u,e]),f=J(async(t,r)=>{let i=r||e;if(!t||!i)return;let o=n.ensureChild(i,{bootstrap:!1}),c=xt.getScopedSdkClient(i),l=s(),u=a(),d=()=>l!==s()||u!==a()||n.getChild(i)!==o,f=await ph({transport:u,generation:l,directory:i,sessionID:t,request:async e=>{let n=[],r=new Set,o;do{if(e.throwIfAborted(),l!==s()||u!==a())throw new DOMException(`Session children runtime changed`,`AbortError`);let d=await c.session.list(o?{cursor:o,limit:50}:{directory:i,parentID:t,limit:50},{signal:e});if(!Array.isArray(d?.data))throw Error(`session.list children returned no data`);if(n.push(...d.data.map(Dt)),d.data.length<50)break;if(o=d.cursor?.next??void 0,!o||r.has(o))throw Error(`session.list children pagination did not advance`);r.add(o)}while(o);return n}}).catch(e=>{if(d())return null;throw e});!f||d()||o.setState(e=>{let n=hh(e.session,f,t);return n===e.session?e:{session:n,limit:Math.max(e.limit,n.length)}})}),p=(0,Z.useCallback)((t,n)=>{let r=i(t,n?.directory??e);return!r.complete&&!!r.cursor},[e,i]),m=(0,Z.useCallback)((t,n)=>i(t,n?.directory??e).loading,[e,i]),h=(0,Z.useCallback)((t,n)=>i(t,n?.directory??e).complete,[e,i]),g=(0,Z.useCallback)(t=>{let n=t.directory||e;sn(bt(n,t.sessionID),{type:`optimistic-add`,message:t.message,parts:t.parts})},[e]),_=(0,Z.useCallback)(t=>{let n=t.directory||e;sn(bt(n,t.sessionID),{type:`optimistic-remove`,messageID:t.messageID})},[e]),v=(0,Z.useCallback)(t=>{let n=t.directory||e;sn(bt(n,t.sessionID),{type:`optimistic-confirm`,messageID:t.messageID})},[e]),y=J(async(t,r)=>{if(!t)return;await qo();let i=r?.directory??e;if(!i||i===`global`)return;let o=n.ensureChild(i,{bootstrap:!1}),c=s(),l=a(),u=()=>c!==s()||l!==a()||n.ensureChild(i,{bootstrap:!1})!==o,d=o.getState();try{if(await wt(i,t),u())return;eo({directory:i,sessionID:t,store:o}),await ti({directory:i,sessionID:t,store:o,statusBeforePull:d.session_status?.[t],statusObservedAtBeforePull:d.session_status_observed_at?.[t],hasMessages:(at()?.getTranscript(bt(i,t)).messageOrder.length??0)>0,isStale:u})}catch{throw Error(`refresh transcript failed`)}});return(0,Z.useMemo)(()=>({ensureSessionRenderable:d,syncSession:d,loadChildren:f,hasMore:p,isLoading:m,isComplete:h,refreshSessionTranscript:y,optimistic:{add:g,remove:_,confirm:v}}),[d,f,p,m,h,y,g,_,v])}var Ch=e=>e===`diff`||e===`file`||e===`preview-console`||e===`preview-annotation`,wh=e=>e===`original`||e===`modified`,Th=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?Math.max(1,Math.floor(t)):null},Eh=e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.sessionKey!=`string`||t.sessionKey.trim().length===0||!Ch(t.source))return null;let n=Th(t.startLine),r=Th(t.endLine);return!n||!r?null:{id:typeof t.id==`string`&&t.id.trim().length>0?t.id:`icd-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,sessionKey:t.sessionKey,source:t.source,fileLabel:typeof t.fileLabel==`string`?t.fileLabel:`unknown`,startLine:n,endLine:r,side:wh(t.side)?t.side:void 0,code:typeof t.code==`string`?t.code:``,language:typeof t.language==`string`?t.language:`text`,text:typeof t.text==`string`?t.text:``,createdAt:Number.isFinite(t.createdAt)?Number(t.createdAt):Date.now()}},Dh=e=>{if(!e||typeof e!=`object`)return{};let t=Object.entries(e),n={};for(let[e,r]of t){if(!Array.isArray(r))continue;let t=r.map(Eh).filter(e=>!!e).filter(t=>t.sessionKey===e);t.length>0&&(n[e]=t)}return n},Oh=Ve()(We(He((e,t)=>({drafts:{},addDraft:t=>{let n=`icd-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,r={...t,id:n,createdAt:Date.now()};return e(e=>{let n=e.drafts[t.sessionKey]??[];return{drafts:{...e.drafts,[t.sessionKey]:[...n,r]}}}),n},updateDraft:(t,n,r)=>{e(e=>{let i=(e.drafts[t]??[]).map(e=>e.id===n?{...e,...r}:e);return{drafts:{...e.drafts,[t]:i}}})},removeDraft:(t,n)=>{e(e=>{let r=(e.drafts[t]??[]).filter(e=>e.id!==n);if(r.length===0){let{[t]:n,...r}=e.drafts;return{drafts:r}}return{drafts:{...e.drafts,[t]:r}}})},clearDrafts:t=>{e(e=>{let{[t]:n,...r}=e.drafts;return{drafts:r}})},getDrafts:e=>t().drafts[e]??[],consumeDrafts:n=>{let r=t().drafts[n]??[];if(r.length===0)return[];let i=[...r].sort((e,t)=>e.createdAt-t.createdAt);return e(e=>{let{[n]:t,...r}=e.drafts;return{drafts:r}}),i},getDraftCount:e=>(t().drafts[e]??[]).length,hasDrafts:e=>(t().drafts[e]??[]).length>0}),{name:`openchamber-inline-comment-drafts`,storage:mn(),version:1,migrate:e=>!e||typeof e!=`object`?{drafts:{}}:{drafts:Dh(e.drafts)}}),{name:`inline-comment-draft-store`}));function kh(e){let{fileLabel:t,startLine:n,endLine:r,side:i,language:a,code:o,text:s}=e;return e.source===`diff`&&i?`Comment on \`${t}\` lines ${n}-${r} (${i}):\n\`\`\`${a}\n${o}\n\`\`\`\n\n${s}`:e.source===`preview-console`?`Attached preview context from \`${t}\`:\n\`\`\`${a}\n${o}\n\`\`\`\n\n${s}`:e.source===`preview-annotation`?s?`${o}\n\n${s}`:o:`Comment on \`${t}\` lines ${n}-${r}:\n\`\`\`${a}\n${o}\n\`\`\`\n\n${s}`}function Ah(e){return e.length===0?``:e.every(e=>e.source===`preview-annotation`)?e.map(kh).join(`
|
|
5
5
|
|
|
@@ -6541,7 +6541,7 @@ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{S as t,l as n}from"./r
|
|
|
6541
6541
|
|
|
6542
6542
|
`),`Follow-up question:`,gw(t)].join(`
|
|
6543
6543
|
|
|
6544
|
-
`)},vw=(e,t,n,r,i)=>{if(sw(e,n)&&rw===r.epoch){if(a()!==r.transport||s()!==r.generation){mw(e,t,{pending:!1});return}mw(e,t,i)}},yw=e=>{let t=typeof e.sessionId==`string`?e.sessionId.trim():``;return t?{sessionId:t,directory:typeof e.directory==`string`&&e.directory.trim()?e.directory:e.directory??null}:null},bw=e=>{let t=tw.get(e);t&&(uw(e),mw(e,t.turnId,{pending:!1}))},xw=e=>{let t=yw(e);if(!t)return null;let n=ew(t),r=jw.getState().sendSelection[n];if(r?.providerID&&r?.modelID)return r;let i=Sr.getState().getSessionModelSelection(t.sessionId);if(i)return{providerID:i.providerId,modelID:i.modelId,agent:Sr.getState().getSessionAgentSelection(t.sessionId)??void 0};let a=aa.getState();return a.currentProviderId&&a.currentModelId?{providerID:a.currentProviderId,modelID:a.currentModelId,agent:a.currentAgentName??void 0,variant:a.currentVariant??null}:null},Sw=async e=>{let t=xw({sessionId:e.sessionId,directory:e.directory});if(!t)return;let n=typeof t.variant==`string`&&t.variant.trim()?t.variant.trim():void 0;await xt.applySendSelection(e.sessionId,{model:{providerID:t.providerID,id:t.modelID,...n?{variant:n}:{}},...t.agent?{agent:t.agent}:{}},e.directory)},Cw=(e,t)=>{let n=yw(e);if(!n)return;let r=ew(n);jw.setState(e=>({sendSelection:{...e.sendSelection,[r]:t}})),Sr.getState().saveSessionModelSelection(n.sessionId,t.providerID,t.modelID),t.agent&&Sr.getState().saveSessionAgentSelection(n.sessionId,t.agent)},ww=async(e,t,n,r)=>{let i=n.id,o={epoch:rw,transport:a(),generation:s()},c=new AbortController;tw.set(t,{controller:c,turnId:i});try{if(await Sw(e),!sw(t,c))return;let a=await xt.generateSessionAside({sessionId:e.sessionId,directory:e.directory,prompt:_w(r,n),signal:c.signal}),s=typeof a?.text==`string`?a.text.trim():``;vw(t,i,c,o,s?{answer:s,error:null,pending:!1}:{answer:``,error:`empty response`,pending:!1})}catch(e){vw(t,i,c,o,ow(e,c.signal)?{pending:!1}:{error:aw(e),pending:!1})}finally{sw(t,c)&&tw.delete(t)}},Tw=async(e,t)=>{let n=typeof t==`string`?t.trim():``,r=yw(e);if(!n||!r)return;let i=ew(r);bw(i);let a=jw.getState().entries[i]??$C;iw+=1;let o={id:`btw_${iw}`,quotes:a.quotes,question:n,answer:``,error:null,pending:!0};fw(i,e=>({turns:[...e.turns,o].slice(-50),quotes:$C.quotes})),await ww(r,i,o,a.turns)},Ew=async e=>{let t=yw(e);if(!t)return;let n=ew(t),r=jw.getState().entries[n]?.turns??[],i=r[r.length-1];i&&(bw(n),mw(n,i.id,{answer:``,error:null,pending:!0}),await ww(t,n,i,r.slice(0,-1)))},Dw=(e,t)=>{let n=typeof t==`string`?t.trim():``;!n||!yw(e)||fw(ew(e),e=>e.quotes.includes(n)?null:{...e,quotes:[...e.quotes,n].slice(-10)})},Ow=(e,t)=>{let n=ew(e);jw.getState().entries[n]&&fw(n,e=>t<0||t>=e.quotes.length?null:{...e,quotes:e.quotes.filter((e,n)=>n!==t)})},kw=e=>{bw(ew(e))},Aw=e=>{let t=ew(e);uw(t),nw=nw.filter(e=>e!==t),jw.setState(e=>{let n=t in e.entries,r=t in e.sendSelection;if(!n&&!r)return e;let i=n?{...e.entries}:e.entries,a=r?{...e.sendSelection}:e.sendSelection;return n&&delete i[t],r&&delete a[t],{entries:i,sendSelection:a}})},jw=Ve(()=>({entries:{},sendSelection:{},setSendSelection:Cw,ask:Tw,retry:Ew,cancel:kw,addQuote:Dw,removeQuote:Ow,clear:Aw})),Mw=()=>{rw+=1;for(let{controller:e}of tw.values())e.abort();tw.clear(),nw=[],jw.setState({entries:{},sendSelection:{}})},Nw=(e=>{let t=new Map,n=()=>{let e=0;for(let n of t.values())e+=n;return e};return{hold(r){let i=(t.get(r)??0)+1;t.set(r,i),n()===1&&e.conceal();let a=!1;return()=>{if(a)return;a=!0;let i=(t.get(r)??1)-1;i<=0?t.delete(r):t.set(r,i),n()===0&&e.reveal()}}}})(qu),Pw=new Map,Fw=e=>Nw.hold(e),Iw=e=>{Pw.has(e)||Pw.set(e,Nw.hold(e))},Lw=e=>{let t=Pw.get(e);t&&(Pw.delete(e),t())},Rw=`btw-page`,zw=`btw-sheet`,Bw=`text-selection`,Vw=`1.5rem`,Hw=`box-border w-full whitespace-pre-wrap break-words px-3 typography-markdown [font-family:inherit] [font-style:inherit] [font-weight:inherit] leading-[inherit] tracking-[inherit] md:typography-ui-label pt-4 pb-2`,Uw=`box-border w-full whitespace-pre-wrap break-words px-3 py-2.5 typography-markdown [font-family:inherit] [font-style:inherit] [font-weight:inherit] leading-[inherit] tracking-[inherit]`;function Ww(e){let t=(0,Q.c)(40),{turn:n,isLast:r,scope:i}=e,{t:a}=Kn(),o;t[0]!==a||t[1]!==n.error?(o=n.error===`empty response`||n.error===`session.btw failed`?a(`chat.btw.failed`):n.error,t[0]=a,t[1]=n.error,t[2]=o):o=t[2];let s=o,c=!n.pending&&!n.error&&!n.answer,l;t[3]!==a||t[4]!==n.answer?(l=async()=>{(await Gn(n.answer)).ok?mi.success(a(`contextSidebar.actions.copied`)):mi.error(a(`filesView.toast.copyFailed`))},t[3]=a,t[4]=n.answer,t[5]=l):l=t[5];let u=J(l),d=n.id,f;t[6]===n.quotes?f=t[7]:(f=n.quotes.map(Gw),t[6]=n.quotes,t[7]=f);let p;t[8]===n.question?p=t[9]:(p=(0,$.jsx)(`div`,{className:`whitespace-pre-wrap break-words typography-markdown text-foreground`,children:n.question}),t[8]=n.question,t[9]=p);let m;t[10]!==f||t[11]!==p?(m=(0,$.jsxs)(`div`,{className:`ml-8 flex flex-col gap-1.5 self-end rounded-xl bg-[var(--surface-elevated)] px-3 py-2`,children:[f,p]}),t[10]=f,t[11]=p,t[12]=m):m=t[12];let h;t[13]!==a||t[14]!==n.pending?(h=n.pending?(0,$.jsxs)(`p`,{role:`status`,className:`flex items-center gap-1.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`,"aria-hidden":`true`}),a(`chat.btw.pending`)]}):null,t[13]=a,t[14]=n.pending,t[15]=h):h=t[15];let g;t[16]===s?g=t[17]:(g=s?(0,$.jsxs)(`p`,{role:`alert`,className:`whitespace-pre-wrap break-words typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`error-warning`,className:`mr-1.5 inline size-3.5 align-[-2px] text-[var(--status-error)]/85`,"aria-hidden":`true`}),s]}):null,t[16]=s,t[17]=g);let _;t[18]!==c||t[19]!==a?(_=c?(0,$.jsx)(`p`,{role:`status`,className:`typography-meta text-muted-foreground`,children:a(`chat.btw.cancelled`)}):null,t[18]=c,t[19]=a,t[20]=_):_=t[20];let v;t[21]===n.answer?v=t[22]:(v=n.answer?(0,$.jsx)(`div`,{className:`min-w-0 text-foreground`,children:(0,$.jsx)(td,{content:n.answer,enableFileReferences:!1})}):null,t[21]=n.answer,t[22]=v);let y;t[23]!==c||t[24]!==u||t[25]!==s||t[26]!==r||t[27]!==i||t[28]!==a||t[29]!==n.answer||t[30]!==n.pending?(y=!n.pending&&(n.answer||r&&(s||c))?(0,$.jsxs)(`div`,{className:`-ml-2 flex items-center gap-0.5`,children:[n.answer?(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,onClick:u,"aria-label":a(`contextSidebar.actions.copy`),children:(0,$.jsx)(X,{name:`file-copy`,className:`size-3.5`})}):null,r?(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>void jw.getState().retry(i),"aria-label":a(`contextPanel.preview.actions.retry`),children:(0,$.jsx)(X,{name:`refresh`,className:`size-3.5`})}):null]}):null,t[23]=c,t[24]=u,t[25]=s,t[26]=r,t[27]=i,t[28]=a,t[29]=n.answer,t[30]=n.pending,t[31]=y):y=t[31];let b;return t[32]!==v||t[33]!==y||t[34]!==m||t[35]!==h||t[36]!==g||t[37]!==_||t[38]!==n.id?(b=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-btw-turn":d,children:[m,h,g,_,v,y]}),t[32]=v,t[33]=y,t[34]=m,t[35]=h,t[36]=g,t[37]=_,t[38]=n.id,t[39]=b):b=t[39],b}function Gw(e,t){return(0,$.jsx)(`p`,{"data-btw-quote":!0,"data-conversation-quote":!0,className:`m-0 whitespace-pre-wrap break-words border-l-2 border-border pl-1.5 typography-meta text-muted-foreground`,children:e},t)}function Kw(e){let t=(0,Q.c)(62),{scope:n,pending:r,quotes:i,foot:a}=e,{t:o}=Kn(),s;t[0]===n?s=t[1]:(s=e=>e.sendSelection[ew(n)],t[0]=n,t[1]=s);let c=jw(s),l;t[2]!==n||t[3]!==c?(l=c??xw(n),t[2]=n,t[3]=c,t[4]=l):l=t[4];let u=l,d=aa(qw),f;bb0:{if(!u?.providerID||!u?.modelID){f=null;break bb0}let e;if(t[5]!==d||t[6]!==u.modelID||t[7]!==u.providerID){let n;t[9]===u.providerID?n=t[10]:(n=e=>e.id===u.providerID,t[9]=u.providerID,t[10]=n);let r=d.find(n);e=fi(r,u.modelID)||u.modelID,t[5]=d,t[6]=u.modelID,t[7]=u.providerID,t[8]=e}else e=t[8];f=e}let p=f,[m,h]=Z.useState(``),g=Z.useRef(null),_;t[11]!==m||t[12]!==r||t[13]!==n?(_=()=>{let e=m.trim();!e||r||(h(``),jw.getState().ask(n,e))},t[11]=m,t[12]=r,t[13]=n,t[14]=_):_=t[14];let v=J(_),y;t[15]!==p||t[16]!==u?(y=u&&p?(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 rounded-lg px-2.5 py-1`,"aria-label":p,children:[(0,$.jsx)(bs,{modelId:u.modelID,providerId:u.providerID,className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-meta font-medium text-foreground`,children:p})]}):null,t[15]=p,t[16]=u,t[17]=y):y=t[17];let b=y,x=a!==`panel`,S=x?`oc-mobile-composer`:`pb-3`,C=a===`page`?`bottom-safe-area`:``,w;t[18]!==S||t[19]!==C?(w=[`shrink-0 px-3 pt-1`,S,C].filter(Boolean),t[18]=S,t[19]=C,t[20]=w):w=t[20];let T=w.join(` `),E;t[21]===v?E=t[22]:(E=e=>{e.preventDefault(),v()},t[21]=v,t[22]=E);let D;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(D=e=>h(e),t[23]=D):D=t[23];let O;t[24]===n?O=t[25]:(O=()=>jw.getState().cancel(n),t[24]=n,t[25]=O);let k;t[26]===o?k=t[27]:(k=o(`chat.btw.placeholder`),t[26]=o,t[27]=k);let A;t[28]===o?A=t[29]:(A=o(`chat.chatInput.actions.sendMessageAria`),t[28]=o,t[29]=A);let j;t[30]===o?j=t[31]:(j=o(`chat.statusRow.actions.stopGeneratingAria`),t[30]=o,t[31]=j);let M;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(M={autoFocus:!0},t[32]=M):M=t[32];let N=x?`relative z-10 oc-mobile-composer-surface`:`relative z-10`,P;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(P={borderRadius:Vw},t[33]=P):P=t[33];let F=x?Uw:Hw,I;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(I={borderTopLeftRadius:Vw,borderTopRightRadius:Vw},t[34]=I):I=t[34];let L;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(L={borderBottomLeftRadius:Vw,borderBottomRightRadius:Vw},t[35]=L):L=t[35];let R;t[36]===o?R=t[37]:(R=o(`chat.btw.removeQuoteAria`),t[36]=o,t[37]=R);let z;t[38]===n?z=t[39]:(z=e=>jw.getState().removeQuote(n,e),t[38]=n,t[39]=z);let B;t[40]!==i||t[41]!==R||t[42]!==z?(B=(0,$.jsx)(tg,{quotes:i,removeLabel:R,onRemove:z}),t[40]=i,t[41]=R,t[42]=z,t[43]=B):B=t[43];let V;t[44]!==m||t[45]!==x||t[46]!==b||t[47]!==r||t[48]!==v||t[49]!==O||t[50]!==k||t[51]!==A||t[52]!==j||t[53]!==N||t[54]!==F||t[55]!==B?(V=(0,$.jsx)(bl,{value:m,onChange:D,onSubmit:v,onStop:O,pending:r,disableInputWhilePending:!1,isMobile:x,placeholder:k,sendLabel:A,stopLabel:j,inputRef:g,textareaProps:M,leftControls:b,className:N,style:P,textLayoutClassName:F,inputStyle:I,footerClassName:`z-30 bg-transparent flex-shrink-0 px-2.5 py-1.5`,footerStyle:L,inputHeader:B}),t[44]=m,t[45]=x,t[46]=b,t[47]=r,t[48]=v,t[49]=O,t[50]=k,t[51]=A,t[52]=j,t[53]=N,t[54]=F,t[55]=B,t[56]=V):V=t[56];let H;return t[57]!==a||t[58]!==E||t[59]!==V||t[60]!==T?(H=(0,$.jsx)(`form`,{"data-btw-composer":!0,"data-btw-composer-foot":a,className:T,onSubmit:E,children:V}),t[57]=a,t[58]=E,t[59]=V,t[60]=T,t[61]=H):H=t[61],H}function qw(e){return e.providers}function Jw(e){let t=(0,Q.c)(29),{scope:n,foot:r}=e,i=r===void 0?`panel`:r,{t:a}=Kn(),o;t[0]===n?o=t[1]:(o=ew(n),t[0]=n,t[1]=o);let s=o,c;t[2]===s?c=t[3]:(c=e=>(e.entries[s]??$C).turns,t[2]=s,t[3]=c);let l=jw(c),u;t[4]===s?u=t[5]:(u=e=>(e.entries[s]??$C).quotes,t[4]=s,t[5]=u);let d=jw(u),f;t[6]===l?f=t[7]:(f=l.some(Yw),t[6]=l,t[7]=f);let p=f,m=Z.useRef(null),h=l[l.length-1],g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{let e=m.current;e&&(e.scrollTop=e.scrollHeight)},t[8]=g):g=t[8];let _=h?.answer,v=h?.pending,y;t[9]!==_||t[10]!==v||t[11]!==l.length?(y=[l.length,_,v],t[9]=_,t[10]=v,t[11]=l.length,t[12]=y):y=t[12],Z.useLayoutEffect(g,y);let b;t[13]===a?b=t[14]:(b=a(`chat.btw.title`),t[13]=a,t[14]=b);let x;t[15]!==n||t[16]!==a||t[17]!==l?(x=(0,$.jsx)(`div`,{ref:m,className:`overlay-scrollbar-container min-h-0 flex-1 overflow-y-auto overscroll-contain px-4 py-3`,children:l.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:a(`chat.btw.description`)}):(0,$.jsx)(`div`,{className:`flex flex-col gap-5`,children:l.map((e,t)=>(0,$.jsx)(Ww,{turn:e,isLast:t===l.length-1,scope:n},e.id))})}),t[15]=n,t[16]=a,t[17]=l,t[18]=x):x=t[18];let S;t[19]!==i||t[20]!==s||t[21]!==p||t[22]!==d||t[23]!==n?(S=(0,$.jsx)(Kw,{scope:n,pending:p,quotes:d,foot:i},s),t[19]=i,t[20]=s,t[21]=p,t[22]=d,t[23]=n,t[24]=S):S=t[24];let C;return t[25]!==b||t[26]!==x||t[27]!==S?(C=(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 min-w-0 flex-col text-foreground`,"aria-label":b,children:[x,S]}),t[25]=b,t[26]=x,t[27]=S,t[28]=C):C=t[28],C}function Yw(e){return e.pending}function Xw(e){let t=(0,Q.c)(53),{scope:n,active:r,mobile:i}=e,{t:a}=Kn(),{sessionId:o,directory:s}=n,c;t[0]===n?c=t[1]:(c=ew(n),t[0]=n,t[1]=c);let l=c,u;t[2]===s?u=t[3]:(u=z(s),t[2]=s,t[3]=u);let d=u,f;t[4]===d?f=t[5]:(f=e=>e.contextPanelByDirectory[d],t[4]=d,t[5]=f);let p=q(f),m;t[6]!==r||t[7]!==p?(m=r&&!!(p?.isOpen&&p.tabs.find(e=>e.id===p.activeTabId)?.mode===`btw`),t[6]=r,t[7]=p,t[8]=m):m=t[8];let h=m,g;t[9]===p?g=t[10]:(g=p?.isOpen&&p.tabs.some(Qw),t[9]=p,t[10]=g);let _=!!g,v;t[11]!==l||t[12]!==_?(v={key:l,retained:_},t[11]=l,t[12]=_,t[13]=v):v=t[13];let y=Z.useRef(v),b,x;t[14]!==l||t[15]!==_||t[16]!==s||t[17]!==o?(b=()=>{let e={sessionId:o,directory:s},t=y.current;y.current={key:l,retained:_},t.key===l&&t.retained&&!_&&jw.getState().clear(e)},x=[l,_,o,s],t[14]=l,t[15]=_,t[16]=s,t[17]=o,t[18]=b,t[19]=x):(b=t[18],x=t[19]),Z.useEffect(b,x);let S=Z.useRef(null),C,w;t[20]!==r||t[21]!==l||t[22]!==s||t[23]!==o?(w=()=>{let e={sessionId:o,directory:s},t={key:l,active:r};S.current=t;let n=()=>io({sessionId:o,directory:s??null});return!r&&!n()&&jw.getState().cancel(e),()=>{let r=jw.getState().entries[l];queueMicrotask(()=>{let i=S.current;i!==t&&i?.key===l&&i.active||n()||ew(e)===l&&jw.getState().entries[l]===r&&jw.getState().cancel(e)})}},C=[l,r,o,s],t[20]=r,t[21]=l,t[22]=s,t[23]=o,t[24]=C,t[25]=w):(C=t[24],w=t[25]),Z.useEffect(w,C);let T;t[26]!==d||t[27]!==n?(T=()=>{jw.getState().clear(n),q.getState().closeContextPanel(d)},t[26]=d,t[27]=n,t[28]=T):T=t[28];let E=J(T),D,O;if(t[29]!==i||t[30]!==h?(D=()=>{if(!i||!h){Lw(zw);return}return Iw(zw),Zw},O=[i,h],t[29]=i,t[30]=h,t[31]=D,t[32]=O):(D=t[31],O=t[32]),Z.useEffect(D,O),!i)return null;let k;t[33]===E?k=t[34]:(k=e=>{e||E()},t[33]=E,t[34]=k);let A;t[35]===a?A=t[36]:(A=a(`chat.btw.title`),t[35]=a,t[36]=A);let j;t[37]===a?j=t[38]:(j=a(`chat.btw.title`),t[37]=a,t[38]=j);let M;t[39]===a?M=t[40]:(M=a(`gitView.common.close`),t[39]=a,t[40]=M);let N;t[41]===a?N=t[42]:(N=a(`chat.btw.resize`),t[41]=a,t[42]=N);let P;t[43]===n?P=t[44]:(P=(0,$.jsx)(Jw,{scope:n,foot:`sheet`}),t[43]=n,t[44]=P);let F;return t[45]!==h||t[46]!==k||t[47]!==A||t[48]!==j||t[49]!==M||t[50]!==N||t[51]!==P?(F=(0,$.jsx)(hl,{id:`session-btw`,open:h,onOpenChange:k,title:A,ariaLabel:j,closeAriaLabel:M,resizeAriaLabel:N,children:P}),t[45]=h,t[46]=k,t[47]=A,t[48]=j,t[49]=M,t[50]=N,t[51]=P,t[52]=F):F=t[52],F}function Zw(){return Lw(zw)}function Qw(e){return e.mode===`btw`}var $w=()=>{typeof window>`u`||window.requestAnimationFrame(()=>{document.querySelector(`[data-btw-composer] textarea`)?.focus()})},eT=e=>{let t=e.directory??null;bo({sessionId:e.sessionId,directory:t})?Iw(Rw):q.getState().openContextPanelTab(t??``,{mode:`btw`}),$w()},tT=({currentSessionId:e,messageRef:t,replacePlainDocument:n})=>{let r=e;return t.current=``,n(``),r},nT=async({command:e,consumeCommandText:t,forkSession:n,waitForConnection:r,getDirectoryForSession:i,summarizeSession:a,onCompactError:o,onForkError:s})=>{if(t(),e===`fork`){try{await n()}catch(e){s(e)}return}try{await r();let e=i();if(!e){o();return}await a(e)}catch{o()}},rT=e=>!e.queuedOnly&&!e.resourcePolicy&&e.rootAttachmentCount>0,iT=e=>e.surfaceKind===`primary`&&!!e.currentSessionId&&!e.queuedOnly&&e.delivery!==`queue`&&!e.resourcePolicy&&e.inputMode!==`shell`&&!e.localCommand,aT=e=>e.surfaceKind!==`primary`||!e.stagedSessionId||!e.stagedMessageId||e.stagedMessageId!==e.blurredMessageId||e.submitInFlight||e.focusHeld||e.overlayOpen||e.focusInsideComposer?{action:`keep`}:{action:`disarm`,sessionId:e.stagedSessionId},oT=e=>({state:`bound`,transportIdentity:e.transportIdentity,directory:e.directory,sessionID:e.sessionID,deliveryTarget:{kind:`primary`},runtimeGeneration:e.runtimeGeneration}),sT=(e,t)=>{let n=A.getState();return n.bindLegacyQueue(D(e.sessionID),e),n.stageAdmission(e,{requestID:t.requestID,queueItemID:t.queueItemID,operationID:t.operationID,messageID:t.messageID,content:t.content,createdAt:t.createdAt,attachmentCount:t.attachments.length,...t.composerDocument?{composerDocument:t.composerDocument}:{},...t.composerMentions?{composerMentions:t.composerMentions}:{}}),n.confirmAdmission(e,{requestID:t.requestID,sendConfig:t.sendConfig,attachments:t.attachments}).ok},cT=async e=>{let t=ni.getState().takeEstablishingPending(e.draftID);if(t.length===0)return{drained:0,failed:0};let n=oT(e),r=0,i=0;for(let a of t)try{if(e.admitServer&&(await e.admitServer(a)).status===`committed`){r+=1;continue}sT(n,a)?r+=1:i+=1}catch{try{sT(n,a)?r+=1:i+=1}catch{i+=1}}return{drained:r,failed:i}},lT=(e,t)=>Promise.resolve().then(()=>e()).catch(()=>{t()}),uT=e=>{let t=e.ctrlEnter&&e.canQueue&&e.primary&&e.sessionIsRunning&&!e.autoReviewRunning;return e.followUpBehavior===`queue`?t?{kind:`submit`,steerAfterAdmit:!0}:e.ctrlEnter||!e.canQueue?{kind:`submit`}:e.primary?{kind:`submit`,delivery:`queue`}:e.queueUsable?{kind:`queue`}:{kind:`submit`,delivery:`steer`}:t?{kind:`submit`,steerAfterAdmit:!0}:e.ctrlEnter||!e.canQueue?{kind:`submit`}:{kind:`submit`,delivery:`steer`}},dT=e=>Object.prototype.hasOwnProperty.call(e,`permissions`)?e.permissions:e.permission,fT=e=>{let t=nc(e);for(let e=t.length-1;e>=0;--e){let n=t[e];if(n){if(n.action===`*`&&n.resource===`*`)return n.effect===`ask`;if(n.effect===`ask`)return!0}}return!0},pT=(e,t)=>{let n=t?.trim();if(!n)return e.length===0||e.some(e=>fT(dT(e)));let r=e.find(e=>e?.name===n);return!r||fT(dT(r))},mT=e=>{let{permissionScopeSessionId:t,newSessionDraftOpen:n,draftPermissionAutoAcceptEnabled:r,permissionAutoAcceptEnabled:i,setDraftPermissionAutoAcceptEnabled:a,setSessionAutoAccept:o,onOpenSessionFirst:s,onToggleFailed:c}=e;if(!t){if(!n){s();return}a(!r);return}o(t,!i).catch(c)},hT=null,gT=new Set,_T=()=>{for(let e of gT)e()},vT=e=>e===`chat`||e===`assistant`,yT=()=>hT,bT=e=>{hT!==e&&(hT=e,_T())},xT=e=>{hT&&(e&&hT.surfaceID!==e||(hT=null,_T()))},ST=(e,t)=>{if(e.transportIdentity!==t.transportIdentity||e.runtimeGeneration!==t.runtimeGeneration)throw Error(`chat-input-delivery-runtime-stale`)},CT=e=>{let t=e.options?.delivery===`steer`?`steer`:e.options?.delivery===`queue`?`queue`:void 0,n={...t?{delivery:t}:{},...e.options?.commitStagedMessageEdit===void 0?{}:{commitStagedMessageEdit:e.options.commitStagedMessageEdit},...e.options?.messageID?{messageID:e.options.messageID}:{},...e.options?.ticket?{ticket:e.options.ticket}:{}},r=e.options?.sessionId??e.sessionID??void 0;if(!r)return n;let i=e.options?.directoryHint===void 0?e.directory||null:e.options.directoryHint;return{...n,sessionId:r,directoryHint:i}},wT=(e,t,n={})=>({operation:t,surfaceID:e.surfaceID,transportIdentity:e.transportIdentity,runtimeGeneration:e.runtimeGeneration,sessionID:e.sessionID,directory:e.directory??``,draftKey:e.draftKey,deliveryTarget:e.deliveryTarget,...n}),TT=e=>{if(!e.active||!e.draftKey||!e.directory)return null;let t=e.activity?.phase??`idle`,n=e.activity?.canAbort??(t===`busy`||t===`retry`);return{send:async t=>{let n=wT(e,`send`,t);return await e.selection.flush(),e.kind===`secondary`&&await e.shortcuts.submit(),e.backend.send(n)},sendQueued:async(t,n={})=>{let{manual:r,...i}=n,a=wT(e,`send`,i),o=Qy(e);if(await e.selection.flush(),!o)throw Error(`chat-input-queue-scope-incomplete`);return e.backend.sendQueued({...a,queueItemID:t,manual:r,queueScope:o})},create:async()=>{let t=wT(e,`create`);return await e.selection.flush(),e.backend.create(t)},compact:async t=>{let n=wT(e,`compact`,t);return await e.selection.flush(),e.backend.compact(n)},abort:async()=>{let t=wT(e,`abort`);return await e.selection.flush(),e.backend.abort(t)},queueScope:Qy(e),canAbort:n,canQueue:t===`busy`||t===`retry`,allowsCommand:t=>Gy(e,{name:t,source:`openchamber`}),shortcut:async(t,n=1)=>{if(e.kind===`secondary`){t===`cycle`?await e.shortcuts.cycle(n):t===`new`?await e.shortcuts.new():t===`abort`?await e.shortcuts.abort():await e.shortcuts.submit();return}if(t===`abort`){let t=wT(e,`abort`);await e.selection.flush(),await e.backend.abort(t);return}if(t===`new`){let t=wT(e,`create`);await e.selection.flush(),await e.backend.create(t);return}t!==`submit`&&await e.shortcuts?.cycle(n)},resources:e.resources??null}},ET=(e,t,n)=>{let r=e.agent;r&&r!==t.currentAgentName&&t.setAgent(r),e.providerID&&t.setProvider(e.providerID),e.modelID&&t.setModel(e.modelID),t.setCurrentVariant(e.variant);let i=r??t.currentAgentName;i&&e.providerID&&e.modelID&&t.saveAgentModelSelection(i,e.providerID,e.modelID,e.variant);let a=n?.sessionId,o=n?.memory;!a||!o||!e.providerID||!e.modelID||(o.saveSessionModelSelection(a,e.providerID,e.modelID),i&&o.saveSessionAgentSelection&&o.saveSessionAgentSelection(a,i),i&&(o.saveAgentModelForSession(a,i,e.providerID,e.modelID),o.saveAgentModelVariantForSession(a,i,e.providerID,e.modelID,e.variant)))},DT=(e,t,n)=>{let r=e.providers.find(e=>e.id===t);return r?(Array.isArray(r.models)?r.models:[]).some(e=>e.id===n):!1},OT=(e,t)=>e.agents.some(e=>e.name===t),kT=(e,t,n,r)=>{if(!r)return!0;let i=e.providers.find(e=>e.id===t)?.models?.find(e=>e.id===n)?.variants;return i?Array.isArray(i)?i.includes(r):typeof i==`object`&&Object.prototype.hasOwnProperty.call(i,r):!1},AT=e=>{let{catalog:t,providerID:n,modelID:r,historyVariant:i,memoryVariant:a}=e;if(i)return kT(t,n,r,i)?i:void 0;if(a&&kT(t,n,r,a))return a},jT=e=>{let{sessionId:t,choice:n,catalog:r,memory:i,fallbackAgentName:a,source:o}=e;if(!n.providerID||!n.modelID||!DT(r,n.providerID,n.modelID))return null;let s=n.agent&&OT(r,n.agent)?n.agent:i?.getSessionAgentSelection?.(t)&&OT(r,i.getSessionAgentSelection(t))?i.getSessionAgentSelection(t):a&&OT(r,a)?a:void 0,c=s?i?.getAgentModelVariantForSession?.(t,s,n.providerID,n.modelID):void 0,l=AT({catalog:r,providerID:n.providerID,modelID:n.modelID,historyVariant:n.variant,memoryVariant:c});return{agent:s,providerID:n.providerID,modelID:n.modelID,variant:l,source:o,messageId:n.id}},MT=e=>{let{sessionId:t,latestUserChoice:n,latestExecution:r,catalog:i,memory:a,sessionEntity:o,fallbackAgentName:s,transcriptReady:c=!0}=e;if(c&&r){let e=jT({sessionId:t,choice:r,catalog:i,memory:a,fallbackAgentName:s,source:`execution`});if(e)return e}if(c&&n){let e=jT({sessionId:t,choice:n,catalog:i,memory:a,fallbackAgentName:s,source:`history`});if(e)return e}if(c&&a){let e=a.getSessionAgentSelection?.(t)??null,n=e&&OT(i,e)?e:s&&OT(i,s)?s:void 0;if(n){let e=a.getAgentModelForSession?.(t,n);if(e&&DT(i,e.providerId,e.modelId)){let r=a.getAgentModelVariantForSession?.(t,n,e.providerId,e.modelId),o=r&&kT(i,e.providerId,e.modelId,r)?r:void 0;return{agent:n,providerID:e.providerId,modelID:e.modelId,variant:o,source:`session-memory`}}}let r=a.getSessionModelSelection?.(t);if(r&&DT(i,r.providerId,r.modelId)){let e=n?a.getAgentModelVariantForSession?.(t,n,r.providerId,r.modelId):void 0,o=e&&kT(i,r.providerId,r.modelId,e)?e:void 0;return{agent:n,providerID:r.providerId,modelID:r.modelId,variant:o,source:`session-memory`}}}let l=o?.model;if(l&&DT(i,l.providerID,l.id)){let e=a?.getSessionAgentSelection?.(t)??null,n=(o?.agent&&OT(i,o.agent)?o.agent:void 0)??(e&&OT(i,e)?e:s&&OT(i,s)?s:void 0),r=l.variant,c=r&&kT(i,l.providerID,l.id,r)?r:void 0;return{agent:n,providerID:l.providerID,modelID:l.id,variant:c,source:`session-entity`}}return null},NT=(e,t,n)=>{let r=e.agent;r&&r!==t.currentAgentName&&t.setAgent(r),e.providerID&&t.setProvider(e.providerID),e.modelID&&t.setModel(e.modelID),t.setCurrentVariant(e.variant);let{sessionId:i,memory:a}=n;a.saveSessionModelSelection(i,e.providerID,e.modelID);let o=r??t.currentAgentName;o&&a.saveSessionAgentSelection&&a.saveSessionAgentSelection(i,o),o&&(a.saveAgentModelForSession(i,o,e.providerID,e.modelID),a.saveAgentModelVariantForSession(i,o,e.providerID,e.modelID,e.variant))},PT=(e,t)=>{if((t?.expectedConfigKey===void 0||t.activeDirectoryKey===t.expectedConfigKey)&&!(!e.currentProviderId||!e.currentModelId))return{providerID:e.currentProviderId,modelID:e.currentModelId,agent:e.currentAgentName,variant:e.currentVariant}},FT=e=>e.editRevision<=0?!1:e.pinnedHistoryMessageId==null||e.latestHistoryMessageId==null||e.latestHistoryMessageId===e.pinnedHistoryMessageId,IT=e=>{if(e.captured?.providerID&&e.captured?.modelID)return e.captured;let t=e.surfaceSelection;if(!(!t?.providerID||!t?.modelID))return{providerID:t.providerID,modelID:t.modelID,...t.agent?{agent:t.agent}:{},...t.variant?{variant:t.variant}:{}}},LT=e=>typeof e==`string`&&e.trim().length>0?e:void 0,RT=e=>LT(e.agent)??LT(e.mode),zT=e=>LT(typeof e.model==`object`?e.model?.variant:void 0)??LT(e.variant),BT=e=>{let t=typeof e.model==`object`?e.model:void 0,n=LT(e.providerID)??LT(t?.providerID),r=LT(e.modelID)??LT(t?.modelID)??LT(t?.id);return!n||!r?null:{providerID:n,modelID:r}},VT=e=>BT(e),HT=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role!==`user`||n.nativeType===`synthetic`||n.type===`synthetic`)continue;let r=BT(n);return{id:typeof n.id==`string`?n.id:void 0,agent:RT(n),providerID:r?.providerID,modelID:r?.modelID,variant:zT(n)}}return null},UT=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.nativeType===`synthetic`||n.type===`synthetic`)continue;if(n.role===`user`){if(BT(n))return null;continue}if(n.role!==`assistant`)continue;let r=VT(n);if(r)return{id:typeof n.id==`string`?n.id:void 0,agent:RT(n),providerID:r.providerID,modelID:r.modelID,variant:zT(n)}}return null},WT=500,GT=e=>Array.from(e).length,KT=e=>{let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return(t>>>0).toString(36)},qT=e=>GT(e)>=WT,JT=e=>{let t=xe(e.text,e.references).document.references,n=t.reduce((e,t)=>{let n=t.kind===`paste`?t.index:0;return typeof n==`number`&&Number.isSafeInteger(n)&&n>=1?Math.max(e,n):e},0);if(n<2**53-1)return n+1;let r=new Set(t.flatMap(e=>e.kind===`paste`&&typeof e.index==`number`&&Number.isSafeInteger(e.index)&&e.index>=1?[e.index]:[]));for(let e=1;e<=t.length+1;e+=1)if(!r.has(e))return e;return 1},YT=(e,t)=>{let n=t??e;return typeof n!=`string`||!qT(n)?!1:N(typeof e==`string`?{text:``,references:[]}:e,n)},XT=(e,t,n,r,i=1)=>{let a=GT(e),o=new Set(n.map(e=>e.token));for(let n=i;n<2**53-1;n+=1){let i=`[${r({index:n,count:a})}]`;if(!(t.includes(i)||o.has(i)))return{id:`pasted-text-${n}-${KT(e)}`,token:i,text:e,characterCount:a,index:n}}throw Error(`Unable to create a unique pasted text reference`)},ZT=e=>({text:e?.text??``,references:e?.composerReferences??[]}),QT=e=>({text:e.text,references:e.references.map(e=>({...e}))}),$T=e=>({transportIdentity:e.transportIdentity,owner:{...e.owner}}),eE=e=>JSON.stringify([e.text,e.references]),tE=(e,t)=>e!==null&&t!==null&&h(e)===t,nE=(e,t,n)=>{let r=e?$T(e):null,i=r?n(r):void 0;return{document:he(ZT(i),t),mentions:i?.mentions??[],revision:i?.revision??0,key:r,keyID:r?h(r):null}},rE=(e,t,n,r)=>{if(!t||h(t.key)!==r.keyID||t.revision<r.appliedRevision)return`ignore`;let i=eE(ZT(t));return n?.keyID===r.keyID&&n.revision===t.revision&&n.fingerprint===i?`local-echo`:t.revision===r.appliedRevision?`ignore`:i===eE(e)?`same-document-metadata`:`external-document`},iE=(e,t,n)=>{let r=n.newEnd-n.oldEnd;return e.flatMap(e=>{if(e.range.start<n.oldEnd&&e.range.end>n.oldStart)return[];let i=e.range.start>=n.oldEnd?{start:e.range.start+r,end:e.range.end+r}:e.range;return t.text.slice(i.start,i.end)===`@${e.value}`?[{...e,range:i}]:[]})},aE=e=>e.map((e,t)=>({mention:e,index:t})).sort((e,t)=>e.mention.range.start-t.mention.range.start||e.mention.range.end-t.mention.range.end||e.index-t.index).map(({mention:e})=>e),oE=(e,t,n,r,i=r)=>{let a=E(e,n,r,i);return{document:a.document,mentions:iE(t,a.document,a.edit),requiresTextCorrection:a.requiresTextCorrection,selectionStart:a.selectionStart,selectionEnd:a.selectionEnd,removedReferences:a.removedReferences}},sE=(e,t,n)=>({preview:{real:QT(e),realMentions:[...t]},document:{text:n.text,references:[]},mentions:[]}),cE=e=>({document:e.real,mentions:e.realMentions}),lE=(e,t,n,r)=>{let i=[...e,...t.map(e=>({...e,range:{start:e.range.start+r,end:e.range.end+r}}))],a=new Set;return i.filter(e=>{let t=`${e.kind}:${e.value}:${e.range.start}:${e.range.end}`;return a.has(t)||n.text.slice(e.range.start,e.range.end)!==`@${e.value}`?!1:(a.add(t),!0)})},uE=(e,t)=>{let n=ZT(t),r=F(e.document,n),i=e.document.text===n.text&&JSON.stringify(e.document.references)===JSON.stringify(n.references)?0:e.document.text.length+2;return{document:r,mentions:lE(e.mentions,t?.mentions??[],r,i)}},dE=({draftKey:e,sessionTitles:t,persistenceEnabled:n,onResourcesChanged:r,store:i=ka})=>{let a=e?h(e):null,o=(0,Z.useSyncExternalStore)(i.subscribe,()=>a?i.getState().drafts[a]:void 0,()=>void 0),s=(0,Z.useSyncExternalStore)(i.subscribe,()=>a?i.getState().draftHydration[a]??`idle`:`idle`,()=>`idle`),c=(0,Z.useSyncExternalStore)(i.subscribe,()=>a?i.getState().draftPersistence[a]:void 0,()=>void 0),[l,u]=(0,Z.useState)(()=>nE(e,t,i.getState().getDraft).document),[d,p]=(0,Z.useState)(()=>nE(e,t,i.getState().getDraft).mentions),[m,g]=(0,Z.useState)(`compose`),[_,v]=(0,Z.useState)(0),y=(0,Z.useRef)(l),x=(0,Z.useRef)(d),S=(0,Z.useRef)(t),C=(0,Z.useRef)(r),T=(0,Z.useRef)(e),D=(0,Z.useRef)(e?$T(e):null),O=(0,Z.useRef)(a),k=(0,Z.useRef)(a),A=(0,Z.useRef)(0),j=(0,Z.useRef)(o?.revision??0),M=(0,Z.useRef)(void 0),N=(0,Z.useRef)(void 0),P=(0,Z.useRef)(Wl());y.current=l,x.current=d,S.current=t,C.current=r,T.current=e,O.current=a;let F=(0,Z.useCallback)((e,t)=>{y.current=e,x.current=t,u(e),p(t)},[]),L=(0,Z.useCallback)((e,t)=>{let n=ie(e,t);C.current?.(n)},[]);(0,Z.useEffect)(()=>{i.getState().setDraftPersistenceEnabled(n)},[n,i]),(0,Z.useLayoutEffect)(()=>{A.current+=1;let e=A.current;k.current=a;let t=nE(T.current,S.current,i.getState().getDraft),n=t.key;if(D.current=t.key,M.current=void 0,N.current=void 0,P.current=Wl(),g(`compose`),j.current=t.revision,F(t.document,t.mentions),v(e=>e+1),n?.owner.kind===`draft`){let r=t.revision;i.getState().claimLegacyNewDraft(n).then(t=>{let o=i.getState().getDraft(n);!t||!tE(D.current,a)||k.current!==a||O.current!==a||A.current!==e||j.current!==r||o?.revision!==t.revision||(j.current=t.revision,F(he(ZT(t),S.current),t.mentions))})}},[a,F,i]),(0,Z.useEffect)(()=>{if(!a||k.current!==a||N.current)return;let e=rE(y.current,o,M.current,{keyID:a,epoch:A.current,appliedRevision:j.current});if(e!==`ignore`){if(o&&(j.current=o.revision),e===`local-echo`||e===`same-document-metadata`){o&&p(o.mentions);return}e===`external-document`&&o&&(M.current=void 0,F(he(ZT(o),S.current),o.mentions),g(`compose`),v(e=>e+1))}},[a,F,o]);let R=(0,Z.useCallback)((e,t)=>{let n=D.current;if(!tE(n,O.current)||N.current)return;let r=y.current,a=i.getState().setDraftComposerState(n,{document:e,mentions:aE(t)});if(!a)return;let o=ZT(a);return M.current={keyID:h(n),revision:a.revision,fingerprint:eE(o)},j.current=a.revision,F(o,a.mentions),L(r,o),a},[i,F,L]),z=(0,Z.useCallback)((e,t,n,r,i,a)=>{P.current=Nl(P.current,{before:zl(e,t,n),after:zl(r,i,a)})},[]),B=(0,Z.useCallback)(()=>N.current?(N.current=void 0,g(`compose`),!0):!1,[]),V=(0,Z.useCallback)(e=>(B(),R({text:e,references:[]},[])),[R,B]),H=(0,Z.useCallback)((e,t=[])=>{B();let n=w(e.text,e.references);return n?R(he(n,S.current),t):void 0},[R,B]),ee=(0,Z.useCallback)((e,t,n=t,r)=>{let i=B(),a=QT(y.current),o=i?[]:x.current,s=oE(a,o,e,t,n),c=r?r(s.mentions,s.document):s.mentions;return R(s.document,c),s.removedReferences.length>0&&z(a,o,{start:s.selectionStart,end:s.selectionEnd},s.document,c,{start:s.selectionStart,end:s.selectionEnd}),{start:s.selectionStart,end:s.selectionEnd,requiresTextCorrection:s.requiresTextCorrection}},[R,B,z]),U=(0,Z.useCallback)((e,t)=>{let n=y.current,r=Math.max(0,Math.min(e.start,n.text.length)),i=Math.max(r,Math.min(e.end,n.text.length)),a=B(),o=E(n,`${n.text.slice(0,r)}${e.text}${n.text.slice(i)}`,r+e.text.length),s=iE(a?[]:x.current,o.document,o.edit);return R(o.document,t?t(s,o.document):s),{start:o.selectionStart,end:o.selectionEnd}},[R,B]),te=(0,Z.useCallback)((e,t)=>{let n=y.current;return U({start:0,end:n.text.length,text:e},t)},[U]),ne=(0,Z.useCallback)((e,t,n,r)=>{let i=B(),a=b(y.current,e,t,n,r);return R(a.document,iE(i?[]:x.current,a.document,a.edit)),{start:a.caret,end:a.caret,caret:a.caret,document:a.document}},[R,B]),W=(0,Z.useCallback)(e=>{let t=QT(y.current),n=f(t,e);if(!n)return null;let r=B()?[]:x.current,i=iE(r,n.document,n.edit),a=I(n.document.text,n.caret),o=E(n.document,a.text,a.caret),s=iE(i,o.document,o.edit);return R(o.document,s),z(t,r,{start:e.selectionStart,end:e.selectionEnd},o.document,s,{start:o.selectionStart,end:o.selectionEnd}),{start:o.selectionStart,end:o.selectionEnd}},[R,B,z]),G=(0,Z.useCallback)(e=>{if(N.current)return null;let t=e===`undo`?Hl(P.current,y.current):Pl(P.current,y.current);return!t||!R(t.snapshot.document,t.snapshot.mentions)?null:(P.current=t.history,t.snapshot.selection)},[R]),re=(0,Z.useCallback)(e=>R(y.current,e),[R]),ae=(0,Z.useCallback)(e=>{let t=N.current?{document:{text:e.text,references:[]},mentions:[]}:sE(y.current,x.current,e);`preview`in t&&(N.current=t.preview),g(`history-preview`),F(t.document,t.mentions),v(e=>e+1)},[F]),oe=(0,Z.useCallback)(()=>{let e=N.current;if(!e)return;N.current=void 0,g(`compose`);let t=cE(e);F(t.document,t.mentions),v(e=>e+1)},[F]),se=(0,Z.useCallback)(()=>{let e=D.current;if(!tE(e,O.current))return null;let t=i.getState().getDraft(e);return{key:$T(e),keyID:h(e),revision:t?.revision??0,document:QT(y.current),mentions:x.current.map(e=>({...e,range:{...e.range}})),epoch:A.current,runtime:i.getState().captureDraftRuntime()}},[i]),K=(0,Z.useCallback)(e=>{let t=uE(e,i.getState().getDraft(e.key)),n=ZT(i.getState().getDraft(e.key)),r=xe(n.text,n.references).document,a=i.getState().setDraftComposerState(e.key,{...t,mentions:aE(t.mentions)});if(a){let e=ZT(a);L(r,e)}return a},[L,i]),ce=(0,Z.useCallback)(()=>y.current,[]);return(0,Z.useMemo)(()=>({document:l,mentions:d,confirmedFileMentions:d.filter(e=>e.kind===`file`||e.kind===`directory`),inputMode:m,hydration:s,persistence:c,textPresetEpoch:_,getDocument:ce,replacePlainDocument:V,replaceMaterializedDocument:H,applyBrowserEdit:ee,applyProgrammaticEdit:U,replaceProgrammaticText:te,insertReference:ne,deleteReference:W,restoreReferenceHistory:G,commitMentions:re,enterHistoryPreview:ae,exitHistoryPreview:oe,captureSubmission:se,recoverSubmission:K}),[ee,U,se,re,W,l,ae,oe,ce,s,m,ne,d,c,K,H,V,te,G,_])};function fE(e){let t=e.maxLines??8,n=e.lineHeight*t+e.paddingTotal,r=Math.max(e.scrollHeight,e.dictationHeight);return{height:Math.min(r,n),maxHeight:n,overflowY:r>n?`auto`:`hidden`}}function pE(e){let t=(0,Q.c)(22),{inputRef:n,message:r,expanded:i,isMobile:a,dictationHeight:o,manualHeight:s}=e,c=s!==void 0&&s,[l,u]=(0,Z.useState)(null),d=(0,Z.useRef)(null),f;t[0]!==o||t[1]!==i||t[2]!==n||t[3]!==c?(f=e=>{let t=n.current;if(!t||c)return;let r=t.scrollTop;if(i){t.style.height=`100%`,t.style.maxHeight=`none`,t.style.overflowY=`auto`,u(null),t.scrollTop!==r&&(t.scrollTop=r);return}t.style.overflow=`hidden`,t.style.overflowX=`hidden`,t.style.overflowY=`hidden`,(e?.allowShrink??!0)&&(t.style.height=`auto`);let a=t.ownerDocument?.defaultView,s=a?a.getComputedStyle(t):null,l=s?parseFloat(s.lineHeight):NaN,d=s?parseFloat(s.paddingTop):NaN,f=s?parseFloat(s.paddingBottom):NaN,p=Number.isNaN(d)||Number.isNaN(f)?16:d+f,m=fE({scrollHeight:t.scrollHeight||t.offsetHeight,dictationHeight:o??0,lineHeight:Number.isNaN(l)?22:l,paddingTotal:p});t.style.height=`${m.height}px`,t.style.maxHeight=`${m.maxHeight}px`,t.style.overflowY=m.overflowY,t.scrollTop!==r&&(t.scrollTop=r),u(e=>e?.height===m.height&&e.maxHeight===m.maxHeight?e:{height:m.height,maxHeight:m.maxHeight})},t[0]=o,t[1]=i,t[2]=n,t[3]=c,t[4]=f):f=t[4];let p=J(f),m=c?null:r,h;t[5]!==m?.length||t[6]!==o||t[7]!==i||t[8]!==c||t[9]!==p?(h=()=>{let e=d.current,t=m?.length??0,n=!e||e.manualHeight||t<e.length||i!==e.expanded||e.dictationHeight!==null&&o===null;d.current={length:t,expanded:i,dictationHeight:o,manualHeight:c},p({allowShrink:n})},t[5]=m?.length,t[6]=o,t[7]=i,t[8]=c,t[9]=p,t[10]=h):h=t[10];let g;t[11]!==m||t[12]!==o||t[13]!==i||t[14]!==n||t[15]!==a||t[16]!==c||t[17]!==p?(g=[m,i,a,o,c,n,p],t[11]=m,t[12]=o,t[13]=i,t[14]=n,t[15]=a,t[16]=c,t[17]=p,t[18]=g):g=t[18],(0,Z.useLayoutEffect)(h,g);let _;return t[19]!==p||t[20]!==l?(_={size:l,resize:p},t[19]=p,t[20]=l,t[21]=_):_=t[21],_}function mE(e){let t=(0,Q.c)(26),{enabled:n,hasContent:r,draftID:i,inputRef:a}=e,o=n&&r,s;t[0]===a?s=t[1]:(s=()=>{let e=a.current;if(!e)return[];let t=e.closest(`[data-mobile-composer-surface]`)??e,n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=getComputedStyle(e),o=parseFloat(i.lineHeight)||22,s=(parseFloat(i.paddingTop)||0)+(parseFloat(i.paddingBottom)||0),c=Math.max(parseFloat(i.minHeight)||0,o+s),l=window.visualViewport,u=l?.offsetTop??0;for(let e=t.parentElement;e;e=e.parentElement){let t=e.querySelector(`.oc-mobile-detail-navigation, [data-mobile-chat-header]`);if(t){u=Math.max(u,t.getBoundingClientRect().bottom);break}}let d=Math.min(r.bottom,(l?.offsetTop??0)+(l?.height??window.innerHeight)),f=r.height-n.height,p=Math.max(c,d-u-f),m=e.style.height,h=e.scrollTop;e.style.height=`0px`;let g=fE({scrollHeight:e.scrollHeight,dictationHeight:0,lineHeight:o,paddingTotal:s}).height;return e.style.height=m,e.scrollTop=h,[{id:`auto`,height:Math.min(p,Math.max(c,g))},{id:`min`,height:c},{id:`full`,height:p}]},t[0]=a,t[1]=s);let c;t[2]!==a||t[3]!==s?(c={surfaceRef:a,initialPoint:`auto`,getPoints:s},t[2]=a,t[3]=s,t[4]=c):c=t[4];let l=ml(c),{reset:u}=l,d;t[5]===u?d=t[6]:(d=()=>{u()},t[5]=u,t[6]=d);let f;t[7]!==o||t[8]!==i||t[9]!==u?(f=[o,i,u],t[7]=o,t[8]=i,t[9]=u,t[10]=f):f=t[10],(0,Z.useLayoutEffect)(d,f);let p;t[11]!==o||t[12]!==l?(p=()=>{o&&l.snapPoint===`full`&&l.settleAt(`full`,void 0,!1)},t[11]=o,t[12]=l,t[13]=p):p=t[13];let m=J(p),h;t[14]===o?h=t[15]:(h=()=>o?window:null,t[14]=o,t[15]=h),Hn(`resize`,m,h);let g;t[16]===o?g=t[17]:(g=()=>o?window:null,t[16]=o,t[17]=g),Hn(`oc:keyboard-settled`,m,g);let _;t[18]===o?_=t[19]:(_=()=>o?window.visualViewport:null,t[18]=o,t[19]=_),Hn(`resize`,m,_);let v;t[20]===o?v=t[21]:(v=()=>o?window.visualViewport:null,t[20]=o,t[21]=v),Hn(`scroll`,m,v);let y=o&&(l.dragging||l.settling||l.snapPoint!==`auto`),b;return t[22]!==o||t[23]!==l||t[24]!==y?(b={...l,visible:o,manualHeight:y},t[22]=o,t[23]=l,t[24]=y,t[25]=b):b=t[25],b}var hE=(0,Z.memo)(function(e){let t=(0,Q.c)(23),{inputRef:n,draftID:r,ariaLabel:i,onManualHeightChange:a}=e,o=(0,Z.useRef)(null),s;t[0]!==r||t[1]!==n?(s={enabled:!0,hasContent:!0,draftID:r,inputRef:n},t[0]=r,t[1]=n,t[2]=s):s=t[2];let c=mE(s),{snapPoint:l,manualHeight:u,dragging:d,settling:f}=c,p,m;t[3]!==d||t[4]!==u||t[5]!==a||t[6]!==f||t[7]!==l?(p=()=>{let e=o.current?.closest(`[data-mobile-composer-surface]`);e&&(e.dataset.composerHeightSnap=l,e.toggleAttribute(`data-composer-height-manual`,u),d||f?e.dataset.mobileComposerResizing=`true`:delete e.dataset.mobileComposerResizing),a(u)},m=[l,u,d,f,a],t[3]=d,t[4]=u,t[5]=a,t[6]=f,t[7]=l,t[8]=p,t[9]=m):(p=t[8],m=t[9]),(0,Z.useLayoutEffect)(p,m);let h,g;t[10]===a?(h=t[11],g=t[12]):(h=()=>{let e=o.current?.closest(`[data-mobile-composer-surface]`);return()=>{e?.removeAttribute(`data-composer-height-snap`),e?.removeAttribute(`data-composer-height-manual`),e?.removeAttribute(`data-mobile-composer-resizing`),a(!1)}},g=[a],t[10]=a,t[11]=h,t[12]=g),(0,Z.useLayoutEffect)(h,g);let _=l===`min`?0:l===`auto`?1:2,v;return t[13]!==i||t[14]!==c.handleClick||t[15]!==c.handleKeyDown||t[16]!==c.handleLostPointerCapture||t[17]!==c.handlePointerCancel||t[18]!==c.handlePointerDown||t[19]!==c.handlePointerMove||t[20]!==c.handlePointerUp||t[21]!==_?(v=(0,$.jsx)(pl,{ref:o,"data-mobile-composer-snap-handle":!0,"aria-label":i,"aria-valuemin":0,"aria-valuemax":2,"aria-valuenow":_,className:`absolute top-1 left-1/2 z-40 h-2.5 w-20 -translate-x-1/2 items-center`,onPointerDown:c.handlePointerDown,onPointerMove:c.handlePointerMove,onPointerUp:c.handlePointerUp,onPointerCancel:c.handlePointerCancel,onLostPointerCapture:c.handleLostPointerCapture,onClick:c.handleClick,onKeyDown:c.handleKeyDown}),t[13]=i,t[14]=c.handleClick,t[15]=c.handleKeyDown,t[16]=c.handleLostPointerCapture,t[17]=c.handlePointerCancel,t[18]=c.handlePointerDown,t[19]=c.handlePointerMove,t[20]=c.handlePointerUp,t[21]=_,t[22]=v):v=t[22],v}),gE=`box-border w-full whitespace-pre-wrap break-words px-3 typography-markdown [font-family:inherit] [font-style:inherit] [font-weight:inherit] leading-[inherit] tracking-[inherit] md:typography-ui-label`,_E=nd(()=>xn(()=>import(`./ToolOutputDialog-Ol_NdZdw.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,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,51,52,53,54,55,56,57,58]))),vE=[],yE=[],bE=[],xE=[],SE=/^@[^\s]+$/,CE=({inputMode:e,message:t,showCommandAutocomplete:n})=>e!==`shell`&&(n||/(^|\s)\/[A-Za-z0-9_-]*/.test(t)),wE=/^(https?:\/\/|mailto:)\S+$/i,TE=(e,t)=>e.name===t?e:new File([e],t,{type:e.type,lastModified:e.lastModified}),EE=(e,t)=>{if(e===t)return``;let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n+=1;let r=e.length,i=t.length;for(;r>n&&i>n&&e[r-1]===t[i-1];)--r,--i;return t.slice(n,i)},DE=e=>e.includes(`@`)?`paste`:`manual`,OE=(e,t)=>{let n=t,r=t;for(;n>0&&/\s/.test(e[n-1]);)--n;for(;r<e.length&&/\s/.test(e[r]);)r+=1;let i=n>0&&r<e.length?` `:``;return{text:`${e.slice(0,n)}${i}${e.slice(r)}`,caret:n+i.length}},kE=(e,t)=>jt(e,t).some(e=>e.role===`user`),AE=(e,t)=>{let n=e.filter(e=>e.type===`text`&&!na(e)).map(e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``}).join(`
|
|
6544
|
+
`)},vw=(e,t,n,r,i)=>{if(sw(e,n)&&rw===r.epoch){if(a()!==r.transport||s()!==r.generation){mw(e,t,{pending:!1});return}mw(e,t,i)}},yw=e=>{let t=typeof e.sessionId==`string`?e.sessionId.trim():``;return t?{sessionId:t,directory:typeof e.directory==`string`&&e.directory.trim()?e.directory:e.directory??null}:null},bw=e=>{let t=tw.get(e);t&&(uw(e),mw(e,t.turnId,{pending:!1}))},xw=e=>{let t=yw(e);if(!t)return null;let n=ew(t),r=jw.getState().sendSelection[n];if(r?.providerID&&r?.modelID)return r;let i=Sr.getState().getSessionModelSelection(t.sessionId);if(i)return{providerID:i.providerId,modelID:i.modelId,agent:Sr.getState().getSessionAgentSelection(t.sessionId)??void 0};let a=aa.getState();return a.currentProviderId&&a.currentModelId?{providerID:a.currentProviderId,modelID:a.currentModelId,agent:a.currentAgentName??void 0,variant:a.currentVariant??null}:null},Sw=async e=>{let t=xw({sessionId:e.sessionId,directory:e.directory});if(!t)return;let n=typeof t.variant==`string`&&t.variant.trim()?t.variant.trim():void 0;await xt.applySendSelection(e.sessionId,{model:{providerID:t.providerID,id:t.modelID,...n?{variant:n}:{}},...t.agent?{agent:t.agent}:{}},e.directory)},Cw=(e,t)=>{let n=yw(e);if(!n)return;let r=ew(n);jw.setState(e=>({sendSelection:{...e.sendSelection,[r]:t}})),Sr.getState().saveSessionModelSelection(n.sessionId,t.providerID,t.modelID),t.agent&&Sr.getState().saveSessionAgentSelection(n.sessionId,t.agent)},ww=async(e,t,n,r)=>{let i=n.id,o={epoch:rw,transport:a(),generation:s()},c=new AbortController;tw.set(t,{controller:c,turnId:i});try{if(await Sw(e),!sw(t,c))return;let a=await xt.generateSessionAside({sessionId:e.sessionId,directory:e.directory,prompt:_w(r,n),signal:c.signal}),s=typeof a?.text==`string`?a.text.trim():``;vw(t,i,c,o,s?{answer:s,error:null,pending:!1}:{answer:``,error:`empty response`,pending:!1})}catch(e){vw(t,i,c,o,ow(e,c.signal)?{pending:!1}:{error:aw(e),pending:!1})}finally{sw(t,c)&&tw.delete(t)}},Tw=async(e,t)=>{let n=typeof t==`string`?t.trim():``,r=yw(e);if(!n||!r)return;let i=ew(r);bw(i);let a=jw.getState().entries[i]??$C;iw+=1;let o={id:`btw_${iw}`,quotes:a.quotes,question:n,answer:``,error:null,pending:!0};fw(i,e=>({turns:[...e.turns,o].slice(-50),quotes:$C.quotes})),await ww(r,i,o,a.turns)},Ew=async e=>{let t=yw(e);if(!t)return;let n=ew(t),r=jw.getState().entries[n]?.turns??[],i=r[r.length-1];i&&(bw(n),mw(n,i.id,{answer:``,error:null,pending:!0}),await ww(t,n,i,r.slice(0,-1)))},Dw=(e,t)=>{let n=typeof t==`string`?t.trim():``;!n||!yw(e)||fw(ew(e),e=>e.quotes.includes(n)?null:{...e,quotes:[...e.quotes,n].slice(-10)})},Ow=(e,t)=>{let n=ew(e);jw.getState().entries[n]&&fw(n,e=>t<0||t>=e.quotes.length?null:{...e,quotes:e.quotes.filter((e,n)=>n!==t)})},kw=e=>{bw(ew(e))},Aw=e=>{let t=ew(e);uw(t),nw=nw.filter(e=>e!==t),jw.setState(e=>{let n=t in e.entries,r=t in e.sendSelection;if(!n&&!r)return e;let i=n?{...e.entries}:e.entries,a=r?{...e.sendSelection}:e.sendSelection;return n&&delete i[t],r&&delete a[t],{entries:i,sendSelection:a}})},jw=Ve(()=>({entries:{},sendSelection:{},setSendSelection:Cw,ask:Tw,retry:Ew,cancel:kw,addQuote:Dw,removeQuote:Ow,clear:Aw})),Mw=()=>{rw+=1;for(let{controller:e}of tw.values())e.abort();tw.clear(),nw=[],jw.setState({entries:{},sendSelection:{}})},Nw=(e=>{let t=new Map,n=()=>{let e=0;for(let n of t.values())e+=n;return e};return{hold(r){let i=(t.get(r)??0)+1;t.set(r,i),n()===1&&e.conceal();let a=!1;return()=>{if(a)return;a=!0;let i=(t.get(r)??1)-1;i<=0?t.delete(r):t.set(r,i),n()===0&&e.reveal()}}}})(qu),Pw=new Map,Fw=e=>Nw.hold(e),Iw=e=>{Pw.has(e)||Pw.set(e,Nw.hold(e))},Lw=e=>{let t=Pw.get(e);t&&(Pw.delete(e),t())},Rw=`btw-page`,zw=`btw-sheet`,Bw=`text-selection`,Vw=`1.5rem`,Hw=`box-border w-full whitespace-pre-wrap break-words px-3 typography-markdown [font-family:inherit] [font-style:inherit] [font-weight:inherit] leading-[inherit] tracking-[inherit] md:typography-ui-label pt-4 pb-2`,Uw=`box-border w-full whitespace-pre-wrap break-words px-3 py-2.5 typography-markdown [font-family:inherit] [font-style:inherit] [font-weight:inherit] leading-[inherit] tracking-[inherit]`;function Ww(e){let t=(0,Q.c)(40),{turn:n,isLast:r,scope:i}=e,{t:a}=Kn(),o;t[0]!==a||t[1]!==n.error?(o=n.error===`empty response`||n.error===`session.btw failed`?a(`chat.btw.failed`):n.error,t[0]=a,t[1]=n.error,t[2]=o):o=t[2];let s=o,c=!n.pending&&!n.error&&!n.answer,l;t[3]!==a||t[4]!==n.answer?(l=async()=>{(await Gn(n.answer)).ok?mi.success(a(`contextSidebar.actions.copied`)):mi.error(a(`filesView.toast.copyFailed`))},t[3]=a,t[4]=n.answer,t[5]=l):l=t[5];let u=J(l),d=n.id,f;t[6]===n.quotes?f=t[7]:(f=n.quotes.map(Gw),t[6]=n.quotes,t[7]=f);let p;t[8]===n.question?p=t[9]:(p=(0,$.jsx)(`div`,{className:`whitespace-pre-wrap break-words typography-markdown text-foreground`,children:n.question}),t[8]=n.question,t[9]=p);let m;t[10]!==f||t[11]!==p?(m=(0,$.jsxs)(`div`,{className:`ml-8 flex flex-col gap-1.5 self-end rounded-xl bg-[var(--surface-elevated)] px-3 py-2`,children:[f,p]}),t[10]=f,t[11]=p,t[12]=m):m=t[12];let h;t[13]!==a||t[14]!==n.pending?(h=n.pending?(0,$.jsxs)(`p`,{role:`status`,className:`flex items-center gap-1.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`,"aria-hidden":`true`}),a(`chat.btw.pending`)]}):null,t[13]=a,t[14]=n.pending,t[15]=h):h=t[15];let g;t[16]===s?g=t[17]:(g=s?(0,$.jsxs)(`p`,{role:`alert`,className:`whitespace-pre-wrap break-words typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`error-warning`,className:`mr-1.5 inline size-3.5 align-[-2px] text-[var(--status-error)]/85`,"aria-hidden":`true`}),s]}):null,t[16]=s,t[17]=g);let _;t[18]!==c||t[19]!==a?(_=c?(0,$.jsx)(`p`,{role:`status`,className:`typography-meta text-muted-foreground`,children:a(`chat.btw.cancelled`)}):null,t[18]=c,t[19]=a,t[20]=_):_=t[20];let v;t[21]===n.answer?v=t[22]:(v=n.answer?(0,$.jsx)(`div`,{className:`min-w-0 text-foreground`,children:(0,$.jsx)(td,{content:n.answer,enableFileReferences:!1})}):null,t[21]=n.answer,t[22]=v);let y;t[23]!==c||t[24]!==u||t[25]!==s||t[26]!==r||t[27]!==i||t[28]!==a||t[29]!==n.answer||t[30]!==n.pending?(y=!n.pending&&(n.answer||r&&(s||c))?(0,$.jsxs)(`div`,{className:`-ml-2 flex items-center gap-0.5`,children:[n.answer?(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,onClick:u,"aria-label":a(`contextSidebar.actions.copy`),children:(0,$.jsx)(X,{name:`file-copy`,className:`size-3.5`})}):null,r?(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>void jw.getState().retry(i),"aria-label":a(`contextPanel.preview.actions.retry`),children:(0,$.jsx)(X,{name:`refresh`,className:`size-3.5`})}):null]}):null,t[23]=c,t[24]=u,t[25]=s,t[26]=r,t[27]=i,t[28]=a,t[29]=n.answer,t[30]=n.pending,t[31]=y):y=t[31];let b;return t[32]!==v||t[33]!==y||t[34]!==m||t[35]!==h||t[36]!==g||t[37]!==_||t[38]!==n.id?(b=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-btw-turn":d,children:[m,h,g,_,v,y]}),t[32]=v,t[33]=y,t[34]=m,t[35]=h,t[36]=g,t[37]=_,t[38]=n.id,t[39]=b):b=t[39],b}function Gw(e,t){return(0,$.jsx)(`p`,{"data-btw-quote":!0,"data-conversation-quote":!0,className:`m-0 whitespace-pre-wrap break-words border-l-2 border-border pl-1.5 typography-meta text-muted-foreground`,children:e},t)}function Kw(e){let t=(0,Q.c)(62),{scope:n,pending:r,quotes:i,foot:a}=e,{t:o}=Kn(),s;t[0]===n?s=t[1]:(s=e=>e.sendSelection[ew(n)],t[0]=n,t[1]=s);let c=jw(s),l;t[2]!==n||t[3]!==c?(l=c??xw(n),t[2]=n,t[3]=c,t[4]=l):l=t[4];let u=l,d=aa(qw),f;bb0:{if(!u?.providerID||!u?.modelID){f=null;break bb0}let e;if(t[5]!==d||t[6]!==u.modelID||t[7]!==u.providerID){let n;t[9]===u.providerID?n=t[10]:(n=e=>e.id===u.providerID,t[9]=u.providerID,t[10]=n);let r=d.find(n);e=fi(r,u.modelID)||u.modelID,t[5]=d,t[6]=u.modelID,t[7]=u.providerID,t[8]=e}else e=t[8];f=e}let p=f,[m,h]=Z.useState(``),g=Z.useRef(null),_;t[11]!==m||t[12]!==r||t[13]!==n?(_=()=>{let e=m.trim();!e||r||(h(``),jw.getState().ask(n,e))},t[11]=m,t[12]=r,t[13]=n,t[14]=_):_=t[14];let v=J(_),y;t[15]!==p||t[16]!==u?(y=u&&p?(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 rounded-lg px-2.5 py-1`,"aria-label":p,children:[(0,$.jsx)(bs,{modelId:u.modelID,providerId:u.providerID,className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-meta font-medium text-foreground`,children:p})]}):null,t[15]=p,t[16]=u,t[17]=y):y=t[17];let b=y,x=a!==`panel`,S=x?`oc-mobile-composer`:`pb-3`,C=a===`page`?`bottom-safe-area`:``,w;t[18]!==S||t[19]!==C?(w=[`shrink-0 px-3 pt-1`,S,C].filter(Boolean),t[18]=S,t[19]=C,t[20]=w):w=t[20];let T=w.join(` `),E;t[21]===v?E=t[22]:(E=e=>{e.preventDefault(),v()},t[21]=v,t[22]=E);let D;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(D=e=>h(e),t[23]=D):D=t[23];let O;t[24]===n?O=t[25]:(O=()=>jw.getState().cancel(n),t[24]=n,t[25]=O);let k;t[26]===o?k=t[27]:(k=o(`chat.btw.placeholder`),t[26]=o,t[27]=k);let A;t[28]===o?A=t[29]:(A=o(`chat.chatInput.actions.sendMessageAria`),t[28]=o,t[29]=A);let j;t[30]===o?j=t[31]:(j=o(`chat.statusRow.actions.stopGeneratingAria`),t[30]=o,t[31]=j);let M;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(M={autoFocus:!0},t[32]=M):M=t[32];let N=x?`relative z-10 oc-mobile-composer-surface`:`relative z-10`,P;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(P={borderRadius:Vw},t[33]=P):P=t[33];let F=x?Uw:Hw,I;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(I={borderTopLeftRadius:Vw,borderTopRightRadius:Vw},t[34]=I):I=t[34];let L;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(L={borderBottomLeftRadius:Vw,borderBottomRightRadius:Vw},t[35]=L):L=t[35];let R;t[36]===o?R=t[37]:(R=o(`chat.btw.removeQuoteAria`),t[36]=o,t[37]=R);let z;t[38]===n?z=t[39]:(z=e=>jw.getState().removeQuote(n,e),t[38]=n,t[39]=z);let B;t[40]!==i||t[41]!==R||t[42]!==z?(B=(0,$.jsx)(tg,{quotes:i,removeLabel:R,onRemove:z}),t[40]=i,t[41]=R,t[42]=z,t[43]=B):B=t[43];let V;t[44]!==m||t[45]!==x||t[46]!==b||t[47]!==r||t[48]!==v||t[49]!==O||t[50]!==k||t[51]!==A||t[52]!==j||t[53]!==N||t[54]!==F||t[55]!==B?(V=(0,$.jsx)(bl,{value:m,onChange:D,onSubmit:v,onStop:O,pending:r,disableInputWhilePending:!1,isMobile:x,placeholder:k,sendLabel:A,stopLabel:j,inputRef:g,textareaProps:M,leftControls:b,className:N,style:P,textLayoutClassName:F,inputStyle:I,footerClassName:`z-30 bg-transparent flex-shrink-0 px-2.5 py-1.5`,footerStyle:L,inputHeader:B}),t[44]=m,t[45]=x,t[46]=b,t[47]=r,t[48]=v,t[49]=O,t[50]=k,t[51]=A,t[52]=j,t[53]=N,t[54]=F,t[55]=B,t[56]=V):V=t[56];let H;return t[57]!==a||t[58]!==E||t[59]!==V||t[60]!==T?(H=(0,$.jsx)(`form`,{"data-btw-composer":!0,"data-btw-composer-foot":a,className:T,onSubmit:E,children:V}),t[57]=a,t[58]=E,t[59]=V,t[60]=T,t[61]=H):H=t[61],H}function qw(e){return e.providers}function Jw(e){let t=(0,Q.c)(29),{scope:n,foot:r}=e,i=r===void 0?`panel`:r,{t:a}=Kn(),o;t[0]===n?o=t[1]:(o=ew(n),t[0]=n,t[1]=o);let s=o,c;t[2]===s?c=t[3]:(c=e=>(e.entries[s]??$C).turns,t[2]=s,t[3]=c);let l=jw(c),u;t[4]===s?u=t[5]:(u=e=>(e.entries[s]??$C).quotes,t[4]=s,t[5]=u);let d=jw(u),f;t[6]===l?f=t[7]:(f=l.some(Yw),t[6]=l,t[7]=f);let p=f,m=Z.useRef(null),h=l[l.length-1],g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{let e=m.current;e&&(e.scrollTop=e.scrollHeight)},t[8]=g):g=t[8];let _=h?.answer,v=h?.pending,y;t[9]!==_||t[10]!==v||t[11]!==l.length?(y=[l.length,_,v],t[9]=_,t[10]=v,t[11]=l.length,t[12]=y):y=t[12],Z.useLayoutEffect(g,y);let b;t[13]===a?b=t[14]:(b=a(`chat.btw.title`),t[13]=a,t[14]=b);let x;t[15]!==n||t[16]!==a||t[17]!==l?(x=(0,$.jsx)(`div`,{ref:m,className:`overlay-scrollbar-container min-h-0 flex-1 overflow-y-auto overscroll-contain px-4 py-3`,children:l.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:a(`chat.btw.description`)}):(0,$.jsx)(`div`,{className:`flex flex-col gap-5`,children:l.map((e,t)=>(0,$.jsx)(Ww,{turn:e,isLast:t===l.length-1,scope:n},e.id))})}),t[15]=n,t[16]=a,t[17]=l,t[18]=x):x=t[18];let S;t[19]!==i||t[20]!==s||t[21]!==p||t[22]!==d||t[23]!==n?(S=(0,$.jsx)(Kw,{scope:n,pending:p,quotes:d,foot:i},s),t[19]=i,t[20]=s,t[21]=p,t[22]=d,t[23]=n,t[24]=S):S=t[24];let C;return t[25]!==b||t[26]!==x||t[27]!==S?(C=(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 min-w-0 flex-col text-foreground`,"aria-label":b,children:[x,S]}),t[25]=b,t[26]=x,t[27]=S,t[28]=C):C=t[28],C}function Yw(e){return e.pending}function Xw(e){let t=(0,Q.c)(53),{scope:n,active:r,mobile:i}=e,{t:a}=Kn(),{sessionId:o,directory:s}=n,c;t[0]===n?c=t[1]:(c=ew(n),t[0]=n,t[1]=c);let l=c,u;t[2]===s?u=t[3]:(u=z(s),t[2]=s,t[3]=u);let d=u,f;t[4]===d?f=t[5]:(f=e=>e.contextPanelByDirectory[d],t[4]=d,t[5]=f);let p=q(f),m;t[6]!==r||t[7]!==p?(m=r&&!!(p?.isOpen&&p.tabs.find(e=>e.id===p.activeTabId)?.mode===`btw`),t[6]=r,t[7]=p,t[8]=m):m=t[8];let h=m,g;t[9]===p?g=t[10]:(g=p?.isOpen&&p.tabs.some(Qw),t[9]=p,t[10]=g);let _=!!g,v;t[11]!==l||t[12]!==_?(v={key:l,retained:_},t[11]=l,t[12]=_,t[13]=v):v=t[13];let y=Z.useRef(v),b,x;t[14]!==l||t[15]!==_||t[16]!==s||t[17]!==o?(b=()=>{let e={sessionId:o,directory:s},t=y.current;y.current={key:l,retained:_},t.key===l&&t.retained&&!_&&jw.getState().clear(e)},x=[l,_,o,s],t[14]=l,t[15]=_,t[16]=s,t[17]=o,t[18]=b,t[19]=x):(b=t[18],x=t[19]),Z.useEffect(b,x);let S=Z.useRef(null),C,w;t[20]!==r||t[21]!==l||t[22]!==s||t[23]!==o?(w=()=>{let e={sessionId:o,directory:s},t={key:l,active:r};S.current=t;let n=()=>io({sessionId:o,directory:s??null});return!r&&!n()&&jw.getState().cancel(e),()=>{let r=jw.getState().entries[l];queueMicrotask(()=>{let i=S.current;i!==t&&i?.key===l&&i.active||n()||ew(e)===l&&jw.getState().entries[l]===r&&jw.getState().cancel(e)})}},C=[l,r,o,s],t[20]=r,t[21]=l,t[22]=s,t[23]=o,t[24]=C,t[25]=w):(C=t[24],w=t[25]),Z.useEffect(w,C);let T;t[26]!==d||t[27]!==n?(T=()=>{jw.getState().clear(n),q.getState().closeContextPanel(d)},t[26]=d,t[27]=n,t[28]=T):T=t[28];let E=J(T),D,O;if(t[29]!==i||t[30]!==h?(D=()=>{if(!i||!h){Lw(zw);return}return Iw(zw),Zw},O=[i,h],t[29]=i,t[30]=h,t[31]=D,t[32]=O):(D=t[31],O=t[32]),Z.useEffect(D,O),!i)return null;let k;t[33]===E?k=t[34]:(k=e=>{e||E()},t[33]=E,t[34]=k);let A;t[35]===a?A=t[36]:(A=a(`chat.btw.title`),t[35]=a,t[36]=A);let j;t[37]===a?j=t[38]:(j=a(`chat.btw.title`),t[37]=a,t[38]=j);let M;t[39]===a?M=t[40]:(M=a(`gitView.common.close`),t[39]=a,t[40]=M);let N;t[41]===a?N=t[42]:(N=a(`chat.btw.resize`),t[41]=a,t[42]=N);let P;t[43]===n?P=t[44]:(P=(0,$.jsx)(Jw,{scope:n,foot:`sheet`}),t[43]=n,t[44]=P);let F;return t[45]!==h||t[46]!==k||t[47]!==A||t[48]!==j||t[49]!==M||t[50]!==N||t[51]!==P?(F=(0,$.jsx)(hl,{id:`session-btw`,open:h,onOpenChange:k,title:A,ariaLabel:j,closeAriaLabel:M,resizeAriaLabel:N,children:P}),t[45]=h,t[46]=k,t[47]=A,t[48]=j,t[49]=M,t[50]=N,t[51]=P,t[52]=F):F=t[52],F}function Zw(){return Lw(zw)}function Qw(e){return e.mode===`btw`}var $w=()=>{typeof window>`u`||window.requestAnimationFrame(()=>{document.querySelector(`[data-btw-composer] textarea`)?.focus()})},eT=e=>{let t=e.directory??null;bo({sessionId:e.sessionId,directory:t})?Iw(Rw):q.getState().openContextPanelTab(t??``,{mode:`btw`}),$w()},tT=({currentSessionId:e,messageRef:t,replacePlainDocument:n})=>{let r=e;return t.current=``,n(``),r},nT=async({command:e,consumeCommandText:t,forkSession:n,waitForConnection:r,getDirectoryForSession:i,summarizeSession:a,onCompactError:o,onForkError:s})=>{if(t(),e===`fork`){try{await n()}catch(e){s(e)}return}try{await r();let e=i();if(!e){o();return}await a(e)}catch{o()}},rT=e=>!e.queuedOnly&&!e.resourcePolicy&&e.rootAttachmentCount>0,iT=e=>e.surfaceKind===`primary`&&!!e.currentSessionId&&!e.queuedOnly&&e.delivery!==`queue`&&!e.resourcePolicy&&e.inputMode!==`shell`&&!e.localCommand,aT=e=>e.surfaceKind!==`primary`||!e.stagedSessionId||!e.stagedMessageId||e.stagedMessageId!==e.blurredMessageId||e.submitInFlight||e.focusHeld||e.overlayOpen||e.focusInsideComposer?{action:`keep`}:{action:`disarm`,sessionId:e.stagedSessionId},oT=e=>({state:`bound`,transportIdentity:e.transportIdentity,directory:e.directory,sessionID:e.sessionID,deliveryTarget:{kind:`primary`},runtimeGeneration:e.runtimeGeneration}),sT=(e,t)=>{let n=A.getState();return n.bindLegacyQueue(D(e.sessionID),e),n.stageAdmission(e,{requestID:t.requestID,queueItemID:t.queueItemID,operationID:t.operationID,messageID:t.messageID,content:t.content,createdAt:t.createdAt,attachmentCount:t.attachments.length,...t.composerDocument?{composerDocument:t.composerDocument}:{},...t.composerMentions?{composerMentions:t.composerMentions}:{}}),n.confirmAdmission(e,{requestID:t.requestID,sendConfig:t.sendConfig,attachments:t.attachments}).ok},cT=async e=>{let t=ni.getState().takeEstablishingPending(e.draftID);if(t.length===0)return{drained:0,failed:0};let n=oT(e),r=0,i=0;for(let a of t)try{if(e.admitServer&&(await e.admitServer(a)).status===`committed`){r+=1;continue}sT(n,a)?r+=1:i+=1}catch{try{sT(n,a)?r+=1:i+=1}catch{i+=1}}return{drained:r,failed:i}},lT=(e,t)=>Promise.resolve().then(()=>e()).catch(()=>{t()}),uT=e=>{let t=e.ctrlEnter&&e.canQueue&&e.primary&&e.sessionIsRunning&&!e.autoReviewRunning;return e.followUpBehavior===`queue`?t?{kind:`submit`,steerAfterAdmit:!0}:e.ctrlEnter||!e.canQueue?{kind:`submit`}:e.primary?{kind:`submit`,delivery:`queue`}:e.queueUsable?{kind:`queue`}:{kind:`submit`,delivery:`steer`}:t?{kind:`submit`,steerAfterAdmit:!0}:e.ctrlEnter||!e.canQueue?{kind:`submit`}:{kind:`submit`,delivery:`steer`}},dT=e=>Object.prototype.hasOwnProperty.call(e,`permissions`)?e.permissions:e.permission,fT=e=>{let t=nc(e);for(let e=t.length-1;e>=0;--e){let n=t[e];if(n){if(n.action===`*`&&n.resource===`*`)return n.effect===`ask`;if(n.effect===`ask`)return!0}}return!0},pT=(e,t)=>{let n=t?.trim();if(!n)return e.length===0||e.some(e=>fT(dT(e)));let r=e.find(e=>e?.name===n);return!r||fT(dT(r))},mT=e=>{let{permissionScopeSessionId:t,newSessionDraftOpen:n,draftPermissionAutoAcceptEnabled:r,permissionAutoAcceptEnabled:i,setDraftPermissionAutoAcceptEnabled:a,setSessionAutoAccept:o,onOpenSessionFirst:s,onToggleFailed:c}=e;if(!t){if(!n){s();return}a(!r);return}o(t,!i).catch(c)},hT=null,gT=new Set,_T=()=>{for(let e of gT)e()},vT=e=>e===`chat`||e===`assistant`,yT=()=>hT,bT=e=>{hT!==e&&(hT=e,_T())},xT=e=>{hT&&(e&&hT.surfaceID!==e||(hT=null,_T()))},ST=(e,t)=>{if(e.transportIdentity!==t.transportIdentity||e.runtimeGeneration!==t.runtimeGeneration)throw Error(`chat-input-delivery-runtime-stale`)},CT=e=>{let t=e.options?.delivery===`steer`?`steer`:e.options?.delivery===`queue`?`queue`:void 0,n={...t?{delivery:t}:{},...e.options?.commitStagedMessageEdit===void 0?{}:{commitStagedMessageEdit:e.options.commitStagedMessageEdit},...e.options?.messageID?{messageID:e.options.messageID}:{},...e.options?.ticket?{ticket:e.options.ticket}:{}},r=e.options?.sessionId??e.sessionID??void 0;if(!r)return n;let i=e.options?.directoryHint===void 0?e.directory||null:e.options.directoryHint;return{...n,sessionId:r,directoryHint:i}},wT=(e,t,n={})=>({operation:t,surfaceID:e.surfaceID,transportIdentity:e.transportIdentity,runtimeGeneration:e.runtimeGeneration,sessionID:e.sessionID,directory:e.directory??``,draftKey:e.draftKey,deliveryTarget:e.deliveryTarget,...n}),TT=e=>{if(!e.active||!e.draftKey||!e.directory)return null;let t=e.activity?.phase??`idle`,n=e.activity?.canAbort??(t===`busy`||t===`retry`);return{send:async t=>{let n=wT(e,`send`,t);return await e.selection.flush(),e.kind===`secondary`&&await e.shortcuts.submit(),e.backend.send(n)},sendQueued:async(t,n={})=>{let{manual:r,...i}=n,a=wT(e,`send`,i),o=Qy(e);if(await e.selection.flush(),!o)throw Error(`chat-input-queue-scope-incomplete`);return e.backend.sendQueued({...a,queueItemID:t,manual:r,queueScope:o})},create:async()=>{let t=wT(e,`create`);return await e.selection.flush(),e.backend.create(t)},compact:async t=>{let n=wT(e,`compact`,t);return await e.selection.flush(),e.backend.compact(n)},abort:async()=>{let t=wT(e,`abort`);return await e.selection.flush(),e.backend.abort(t)},queueScope:Qy(e),canAbort:n,canQueue:t===`busy`||t===`retry`,allowsCommand:t=>Gy(e,{name:t,source:`openchamber`}),shortcut:async(t,n=1)=>{if(e.kind===`secondary`){t===`cycle`?await e.shortcuts.cycle(n):t===`new`?await e.shortcuts.new():t===`abort`?await e.shortcuts.abort():await e.shortcuts.submit();return}if(t===`abort`){let t=wT(e,`abort`);await e.selection.flush(),await e.backend.abort(t);return}if(t===`new`){let t=wT(e,`create`);await e.selection.flush(),await e.backend.create(t);return}t!==`submit`&&await e.shortcuts?.cycle(n)},resources:e.resources??null}},ET=(e,t,n)=>{let r=e.agent;r&&r!==t.currentAgentName&&t.setAgent(r),e.providerID&&t.setProvider(e.providerID),e.modelID&&t.setModel(e.modelID),t.setCurrentVariant(e.variant);let i=r??t.currentAgentName;i&&e.providerID&&e.modelID&&t.saveAgentModelSelection(i,e.providerID,e.modelID,e.variant);let a=n?.sessionId,o=n?.memory;!a||!o||!e.providerID||!e.modelID||(o.saveSessionModelSelection(a,e.providerID,e.modelID),i&&o.saveSessionAgentSelection&&o.saveSessionAgentSelection(a,i),i&&(o.saveAgentModelForSession(a,i,e.providerID,e.modelID),o.saveAgentModelVariantForSession(a,i,e.providerID,e.modelID,e.variant)))},DT=(e,t,n)=>{let r=e.providers.find(e=>e.id===t);return r?(Array.isArray(r.models)?r.models:[]).some(e=>e.id===n):!1},OT=(e,t)=>e.agents.some(e=>e.name===t),kT=(e,t,n,r)=>{if(!r)return!0;let i=e.providers.find(e=>e.id===t)?.models?.find(e=>e.id===n)?.variants;return i?Array.isArray(i)?i.includes(r):typeof i==`object`&&Object.prototype.hasOwnProperty.call(i,r):!1},AT=e=>{let{catalog:t,providerID:n,modelID:r,historyVariant:i,memoryVariant:a}=e;if(i)return kT(t,n,r,i)?i:void 0;if(a&&kT(t,n,r,a))return a},jT=e=>{let{sessionId:t,choice:n,catalog:r,memory:i,fallbackAgentName:a,source:o}=e;if(!n.providerID||!n.modelID||!DT(r,n.providerID,n.modelID))return null;let s=n.agent&&OT(r,n.agent)?n.agent:i?.getSessionAgentSelection?.(t)&&OT(r,i.getSessionAgentSelection(t))?i.getSessionAgentSelection(t):a&&OT(r,a)?a:void 0,c=s?i?.getAgentModelVariantForSession?.(t,s,n.providerID,n.modelID):void 0,l=AT({catalog:r,providerID:n.providerID,modelID:n.modelID,historyVariant:n.variant,memoryVariant:c});return{agent:s,providerID:n.providerID,modelID:n.modelID,variant:l,source:o,messageId:n.id}},MT=e=>{let{sessionId:t,latestUserChoice:n,latestExecution:r,catalog:i,memory:a,sessionEntity:o,fallbackAgentName:s,transcriptReady:c=!0}=e;if(c&&r){let e=jT({sessionId:t,choice:r,catalog:i,memory:a,fallbackAgentName:s,source:`execution`});if(e)return e}if(c&&n){let e=jT({sessionId:t,choice:n,catalog:i,memory:a,fallbackAgentName:s,source:`history`});if(e)return e}if(c&&a){let e=a.getSessionAgentSelection?.(t)??null,n=e&&OT(i,e)?e:s&&OT(i,s)?s:void 0;if(n){let e=a.getAgentModelForSession?.(t,n);if(e&&DT(i,e.providerId,e.modelId)){let r=a.getAgentModelVariantForSession?.(t,n,e.providerId,e.modelId),o=r&&kT(i,e.providerId,e.modelId,r)?r:void 0;return{agent:n,providerID:e.providerId,modelID:e.modelId,variant:o,source:`session-memory`}}}let r=a.getSessionModelSelection?.(t);if(r&&DT(i,r.providerId,r.modelId)){let e=n?a.getAgentModelVariantForSession?.(t,n,r.providerId,r.modelId):void 0,o=e&&kT(i,r.providerId,r.modelId,e)?e:void 0;return{agent:n,providerID:r.providerId,modelID:r.modelId,variant:o,source:`session-memory`}}}let l=o?.model;if(l&&DT(i,l.providerID,l.id)){let e=a?.getSessionAgentSelection?.(t)??null,n=(o?.agent&&OT(i,o.agent)?o.agent:void 0)??(e&&OT(i,e)?e:s&&OT(i,s)?s:void 0),r=l.variant,c=r&&kT(i,l.providerID,l.id,r)?r:void 0;return{agent:n,providerID:l.providerID,modelID:l.id,variant:c,source:`session-entity`}}return null},NT=(e,t,n)=>{let r=e.agent;r&&r!==t.currentAgentName&&t.setAgent(r),e.providerID&&t.setProvider(e.providerID),e.modelID&&t.setModel(e.modelID),t.setCurrentVariant(e.variant);let{sessionId:i,memory:a}=n;a.saveSessionModelSelection(i,e.providerID,e.modelID);let o=r??t.currentAgentName;o&&a.saveSessionAgentSelection&&a.saveSessionAgentSelection(i,o),o&&(a.saveAgentModelForSession(i,o,e.providerID,e.modelID),a.saveAgentModelVariantForSession(i,o,e.providerID,e.modelID,e.variant))},PT=(e,t)=>{if((t?.expectedConfigKey===void 0||t.activeDirectoryKey===t.expectedConfigKey)&&!(!e.currentProviderId||!e.currentModelId))return{providerID:e.currentProviderId,modelID:e.currentModelId,agent:e.currentAgentName,variant:e.currentVariant}},FT=e=>e.editRevision<=0?!1:e.pinnedHistoryMessageId==null||e.latestHistoryMessageId==null||e.latestHistoryMessageId===e.pinnedHistoryMessageId,IT=e=>{if(e.captured?.providerID&&e.captured?.modelID)return e.captured;let t=e.surfaceSelection;if(!(!t?.providerID||!t?.modelID))return{providerID:t.providerID,modelID:t.modelID,...t.agent?{agent:t.agent}:{},...t.variant?{variant:t.variant}:{}}},LT=e=>typeof e==`string`&&e.trim().length>0?e:void 0,RT=e=>LT(e.agent)??LT(e.mode),zT=e=>LT(typeof e.model==`object`?e.model?.variant:void 0)??LT(e.variant),BT=e=>{let t=typeof e.model==`object`?e.model:void 0,n=LT(e.providerID)??LT(t?.providerID),r=LT(e.modelID)??LT(t?.modelID)??LT(t?.id);return!n||!r?null:{providerID:n,modelID:r}},VT=e=>BT(e),HT=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role!==`user`||n.nativeType===`synthetic`||n.type===`synthetic`)continue;let r=BT(n);return{id:typeof n.id==`string`?n.id:void 0,agent:RT(n),providerID:r?.providerID,modelID:r?.modelID,variant:zT(n)}}return null},UT=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.nativeType===`synthetic`||n.type===`synthetic`)continue;if(n.role===`user`){if(BT(n))return null;continue}if(n.role!==`assistant`)continue;let r=VT(n);if(r)return{id:typeof n.id==`string`?n.id:void 0,agent:RT(n),providerID:r.providerID,modelID:r.modelID,variant:zT(n)}}return null},WT=500,GT=e=>Array.from(e).length,KT=e=>{let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return(t>>>0).toString(36)},qT=e=>GT(e)>=WT,JT=e=>{let t=xe(e.text,e.references).document.references,n=t.reduce((e,t)=>{let n=t.kind===`paste`?t.index:0;return typeof n==`number`&&Number.isSafeInteger(n)&&n>=1?Math.max(e,n):e},0);if(n<2**53-1)return n+1;let r=new Set(t.flatMap(e=>e.kind===`paste`&&typeof e.index==`number`&&Number.isSafeInteger(e.index)&&e.index>=1?[e.index]:[]));for(let e=1;e<=t.length+1;e+=1)if(!r.has(e))return e;return 1},YT=(e,t)=>{let n=t??e;return typeof n!=`string`||!qT(n)?!1:N(typeof e==`string`?{text:``,references:[]}:e,n)},XT=(e,t,n,r,i=1)=>{let a=GT(e),o=new Set(n.map(e=>e.token));for(let n=i;n<2**53-1;n+=1){let i=`[${r({index:n,count:a})}]`;if(!(t.includes(i)||o.has(i)))return{id:`pasted-text-${n}-${KT(e)}`,token:i,text:e,characterCount:a,index:n}}throw Error(`Unable to create a unique pasted text reference`)},ZT=e=>({text:e?.text??``,references:e?.composerReferences??[]}),QT=e=>({text:e.text,references:e.references.map(e=>({...e}))}),$T=e=>({transportIdentity:e.transportIdentity,owner:{...e.owner}}),eE=e=>JSON.stringify([e.text,e.references]),tE=(e,t)=>e!==null&&t!==null&&h(e)===t,nE=(e,t,n)=>{let r=e?$T(e):null,i=r?n(r):void 0;return{document:he(ZT(i),t),mentions:i?.mentions??[],revision:i?.revision??0,key:r,keyID:r?h(r):null}},rE=(e,t,n,r)=>{if(!t||h(t.key)!==r.keyID||t.revision<r.appliedRevision)return`ignore`;let i=eE(ZT(t));return n?.keyID===r.keyID&&n.revision===t.revision&&n.fingerprint===i?`local-echo`:t.revision===r.appliedRevision?`ignore`:i===eE(e)?`same-document-metadata`:`external-document`},iE=(e,t,n)=>{let r=n.newEnd-n.oldEnd;return e.flatMap(e=>{if(e.range.start<n.oldEnd&&e.range.end>n.oldStart)return[];let i=e.range.start>=n.oldEnd?{start:e.range.start+r,end:e.range.end+r}:e.range;return t.text.slice(i.start,i.end)===`@${e.value}`?[{...e,range:i}]:[]})},aE=e=>e.map((e,t)=>({mention:e,index:t})).sort((e,t)=>e.mention.range.start-t.mention.range.start||e.mention.range.end-t.mention.range.end||e.index-t.index).map(({mention:e})=>e),oE=(e,t,n,r,i=r)=>{let a=E(e,n,r,i);return{document:a.document,mentions:iE(t,a.document,a.edit),requiresTextCorrection:a.requiresTextCorrection,selectionStart:a.selectionStart,selectionEnd:a.selectionEnd,removedReferences:a.removedReferences}},sE=(e,t,n)=>({preview:{real:QT(e),realMentions:[...t]},document:{text:n.text,references:[]},mentions:[]}),cE=e=>({document:e.real,mentions:e.realMentions}),lE=(e,t,n,r)=>{let i=[...e,...t.map(e=>({...e,range:{start:e.range.start+r,end:e.range.end+r}}))],a=new Set;return i.filter(e=>{let t=`${e.kind}:${e.value}:${e.range.start}:${e.range.end}`;return a.has(t)||n.text.slice(e.range.start,e.range.end)!==`@${e.value}`?!1:(a.add(t),!0)})},uE=(e,t)=>{let n=ZT(t),r=F(e.document,n),i=e.document.text===n.text&&JSON.stringify(e.document.references)===JSON.stringify(n.references)?0:e.document.text.length+2;return{document:r,mentions:lE(e.mentions,t?.mentions??[],r,i)}},dE=({draftKey:e,sessionTitles:t,persistenceEnabled:n,onResourcesChanged:r,store:i=ka})=>{let a=e?h(e):null,o=(0,Z.useSyncExternalStore)(i.subscribe,()=>a?i.getState().drafts[a]:void 0,()=>void 0),s=(0,Z.useSyncExternalStore)(i.subscribe,()=>a?i.getState().draftHydration[a]??`idle`:`idle`,()=>`idle`),c=(0,Z.useSyncExternalStore)(i.subscribe,()=>a?i.getState().draftPersistence[a]:void 0,()=>void 0),[l,u]=(0,Z.useState)(()=>nE(e,t,i.getState().getDraft).document),[d,p]=(0,Z.useState)(()=>nE(e,t,i.getState().getDraft).mentions),[m,g]=(0,Z.useState)(`compose`),[_,v]=(0,Z.useState)(0),y=(0,Z.useRef)(l),x=(0,Z.useRef)(d),S=(0,Z.useRef)(t),C=(0,Z.useRef)(r),T=(0,Z.useRef)(e),D=(0,Z.useRef)(e?$T(e):null),O=(0,Z.useRef)(a),k=(0,Z.useRef)(a),A=(0,Z.useRef)(0),j=(0,Z.useRef)(o?.revision??0),M=(0,Z.useRef)(void 0),N=(0,Z.useRef)(void 0),P=(0,Z.useRef)(Wl());y.current=l,x.current=d,S.current=t,C.current=r,T.current=e,O.current=a;let F=(0,Z.useCallback)((e,t)=>{y.current=e,x.current=t,u(e),p(t)},[]),L=(0,Z.useCallback)((e,t)=>{let n=ie(e,t);C.current?.(n)},[]);(0,Z.useEffect)(()=>{i.getState().setDraftPersistenceEnabled(n)},[n,i]),(0,Z.useLayoutEffect)(()=>{A.current+=1;let e=A.current;k.current=a;let t=nE(T.current,S.current,i.getState().getDraft),n=t.key;if(D.current=t.key,M.current=void 0,N.current=void 0,P.current=Wl(),g(`compose`),j.current=t.revision,F(t.document,t.mentions),v(e=>e+1),n?.owner.kind===`draft`){let r=t.revision;i.getState().claimLegacyNewDraft(n).then(t=>{let o=i.getState().getDraft(n);!t||!tE(D.current,a)||k.current!==a||O.current!==a||A.current!==e||j.current!==r||o?.revision!==t.revision||(j.current=t.revision,F(he(ZT(t),S.current),t.mentions))})}},[a,F,i]),(0,Z.useEffect)(()=>{if(!a||k.current!==a||N.current)return;let e=rE(y.current,o,M.current,{keyID:a,epoch:A.current,appliedRevision:j.current});if(e!==`ignore`){if(o&&(j.current=o.revision),e===`local-echo`||e===`same-document-metadata`){o&&p(o.mentions);return}e===`external-document`&&o&&(M.current=void 0,F(he(ZT(o),S.current),o.mentions),g(`compose`),v(e=>e+1))}},[a,F,o]);let R=(0,Z.useCallback)((e,t)=>{let n=D.current;if(!tE(n,O.current)||N.current)return;let r=y.current,a=i.getState().setDraftComposerState(n,{document:e,mentions:aE(t)});if(!a)return;let o=ZT(a);return M.current={keyID:h(n),revision:a.revision,fingerprint:eE(o)},j.current=a.revision,F(o,a.mentions),L(r,o),a},[i,F,L]),z=(0,Z.useCallback)((e,t,n,r,i,a)=>{P.current=Nl(P.current,{before:zl(e,t,n),after:zl(r,i,a)})},[]),B=(0,Z.useCallback)(()=>N.current?(N.current=void 0,g(`compose`),!0):!1,[]),V=(0,Z.useCallback)(e=>(B(),R({text:e,references:[]},[])),[R,B]),H=(0,Z.useCallback)((e,t=[])=>{B();let n=w(e.text,e.references);return n?R(he(n,S.current),t):void 0},[R,B]),ee=(0,Z.useCallback)((e,t,n=t,r)=>{let i=B(),a=QT(y.current),o=i?[]:x.current,s=oE(a,o,e,t,n),c=r?r(s.mentions,s.document):s.mentions;return R(s.document,c),s.removedReferences.length>0&&z(a,o,{start:s.selectionStart,end:s.selectionEnd},s.document,c,{start:s.selectionStart,end:s.selectionEnd}),{start:s.selectionStart,end:s.selectionEnd,requiresTextCorrection:s.requiresTextCorrection}},[R,B,z]),U=(0,Z.useCallback)((e,t)=>{let n=y.current,r=Math.max(0,Math.min(e.start,n.text.length)),i=Math.max(r,Math.min(e.end,n.text.length)),a=B(),o=E(n,`${n.text.slice(0,r)}${e.text}${n.text.slice(i)}`,r+e.text.length),s=iE(a?[]:x.current,o.document,o.edit);return R(o.document,t?t(s,o.document):s),{start:o.selectionStart,end:o.selectionEnd}},[R,B]),te=(0,Z.useCallback)((e,t)=>{let n=y.current;return U({start:0,end:n.text.length,text:e},t)},[U]),ne=(0,Z.useCallback)((e,t,n,r)=>{let i=B(),a=b(y.current,e,t,n,r);return R(a.document,iE(i?[]:x.current,a.document,a.edit)),{start:a.caret,end:a.caret,caret:a.caret,document:a.document}},[R,B]),W=(0,Z.useCallback)(e=>{let t=QT(y.current),n=f(t,e);if(!n)return null;let r=B()?[]:x.current,i=iE(r,n.document,n.edit),a=I(n.document.text,n.caret),o=E(n.document,a.text,a.caret),s=iE(i,o.document,o.edit);return R(o.document,s),z(t,r,{start:e.selectionStart,end:e.selectionEnd},o.document,s,{start:o.selectionStart,end:o.selectionEnd}),{start:o.selectionStart,end:o.selectionEnd}},[R,B,z]),G=(0,Z.useCallback)(e=>{if(N.current)return null;let t=e===`undo`?Hl(P.current,y.current):Pl(P.current,y.current);return!t||!R(t.snapshot.document,t.snapshot.mentions)?null:(P.current=t.history,t.snapshot.selection)},[R]),re=(0,Z.useCallback)(e=>R(y.current,e),[R]),ae=(0,Z.useCallback)(e=>{let t=N.current?{document:{text:e.text,references:[]},mentions:[]}:sE(y.current,x.current,e);`preview`in t&&(N.current=t.preview),g(`history-preview`),F(t.document,t.mentions),v(e=>e+1)},[F]),oe=(0,Z.useCallback)(()=>{let e=N.current;if(!e)return;N.current=void 0,g(`compose`);let t=cE(e);F(t.document,t.mentions),v(e=>e+1)},[F]),se=(0,Z.useCallback)(()=>{let e=D.current;if(!tE(e,O.current))return null;let t=i.getState().getDraft(e);return{key:$T(e),keyID:h(e),revision:t?.revision??0,document:QT(y.current),mentions:x.current.map(e=>({...e,range:{...e.range}})),epoch:A.current,runtime:i.getState().captureDraftRuntime()}},[i]),K=(0,Z.useCallback)(e=>{let t=uE(e,i.getState().getDraft(e.key)),n=ZT(i.getState().getDraft(e.key)),r=xe(n.text,n.references).document,a=i.getState().setDraftComposerState(e.key,{...t,mentions:aE(t.mentions)});if(a){let e=ZT(a);L(r,e)}return a},[L,i]),ce=(0,Z.useCallback)(()=>y.current,[]);return(0,Z.useMemo)(()=>({document:l,mentions:d,confirmedFileMentions:d.filter(e=>e.kind===`file`||e.kind===`directory`),inputMode:m,hydration:s,persistence:c,textPresetEpoch:_,getDocument:ce,replacePlainDocument:V,replaceMaterializedDocument:H,applyBrowserEdit:ee,applyProgrammaticEdit:U,replaceProgrammaticText:te,insertReference:ne,deleteReference:W,restoreReferenceHistory:G,commitMentions:re,enterHistoryPreview:ae,exitHistoryPreview:oe,captureSubmission:se,recoverSubmission:K}),[ee,U,se,re,W,l,ae,oe,ce,s,m,ne,d,c,K,H,V,te,G,_])};function fE(e){let t=e.maxLines??8,n=e.lineHeight*t+e.paddingTotal,r=Math.max(e.scrollHeight,e.dictationHeight);return{height:Math.min(r,n),maxHeight:n,overflowY:r>n?`auto`:`hidden`}}function pE(e){let t=(0,Q.c)(22),{inputRef:n,message:r,expanded:i,isMobile:a,dictationHeight:o,manualHeight:s}=e,c=s!==void 0&&s,[l,u]=(0,Z.useState)(null),d=(0,Z.useRef)(null),f;t[0]!==o||t[1]!==i||t[2]!==n||t[3]!==c?(f=e=>{let t=n.current;if(!t||c)return;let r=t.scrollTop;if(i){t.style.height=`100%`,t.style.maxHeight=`none`,t.style.overflowY=`auto`,u(null),t.scrollTop!==r&&(t.scrollTop=r);return}t.style.overflow=`hidden`,t.style.overflowX=`hidden`,t.style.overflowY=`hidden`,(e?.allowShrink??!0)&&(t.style.height=`auto`);let a=t.ownerDocument?.defaultView,s=a?a.getComputedStyle(t):null,l=s?parseFloat(s.lineHeight):NaN,d=s?parseFloat(s.paddingTop):NaN,f=s?parseFloat(s.paddingBottom):NaN,p=Number.isNaN(d)||Number.isNaN(f)?16:d+f,m=fE({scrollHeight:t.scrollHeight||t.offsetHeight,dictationHeight:o??0,lineHeight:Number.isNaN(l)?22:l,paddingTotal:p});t.style.height=`${m.height}px`,t.style.maxHeight=`${m.maxHeight}px`,t.style.overflowY=m.overflowY,t.scrollTop!==r&&(t.scrollTop=r),u(e=>e?.height===m.height&&e.maxHeight===m.maxHeight?e:{height:m.height,maxHeight:m.maxHeight})},t[0]=o,t[1]=i,t[2]=n,t[3]=c,t[4]=f):f=t[4];let p=J(f),m=c?null:r,h;t[5]!==m?.length||t[6]!==o||t[7]!==i||t[8]!==c||t[9]!==p?(h=()=>{let e=d.current,t=m?.length??0,n=!e||e.manualHeight||t<e.length||i!==e.expanded||e.dictationHeight!==null&&o===null;d.current={length:t,expanded:i,dictationHeight:o,manualHeight:c},p({allowShrink:n})},t[5]=m?.length,t[6]=o,t[7]=i,t[8]=c,t[9]=p,t[10]=h):h=t[10];let g;t[11]!==m||t[12]!==o||t[13]!==i||t[14]!==n||t[15]!==a||t[16]!==c||t[17]!==p?(g=[m,i,a,o,c,n,p],t[11]=m,t[12]=o,t[13]=i,t[14]=n,t[15]=a,t[16]=c,t[17]=p,t[18]=g):g=t[18],(0,Z.useLayoutEffect)(h,g);let _;return t[19]!==p||t[20]!==l?(_={size:l,resize:p},t[19]=p,t[20]=l,t[21]=_):_=t[21],_}function mE(e){let t=(0,Q.c)(26),{enabled:n,hasContent:r,draftID:i,inputRef:a}=e,o=n&&r,s;t[0]===a?s=t[1]:(s=()=>{let e=a.current;if(!e)return[];let t=e.closest(`[data-mobile-composer-surface]`)??e,n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=getComputedStyle(e),o=parseFloat(i.lineHeight)||22,s=(parseFloat(i.paddingTop)||0)+(parseFloat(i.paddingBottom)||0),c=Math.max(parseFloat(i.minHeight)||0,o+s),l=window.visualViewport,u=l?.offsetTop??0;for(let e=t.parentElement;e;e=e.parentElement){let t=e.querySelector(`.oc-mobile-detail-navigation, [data-mobile-chat-header]`);if(t){u=Math.max(u,t.getBoundingClientRect().bottom);break}}let d=Math.min(r.bottom,(l?.offsetTop??0)+(l?.height??window.innerHeight)),f=r.height-n.height,p=Math.max(c,d-u-f),m=e.style.height,h=e.scrollTop;e.style.height=`0px`;let g=fE({scrollHeight:e.scrollHeight,dictationHeight:0,lineHeight:o,paddingTotal:s}).height;return e.style.height=m,e.scrollTop=h,[{id:`auto`,height:Math.min(p,Math.max(c,g))},{id:`min`,height:c},{id:`full`,height:p}]},t[0]=a,t[1]=s);let c;t[2]!==a||t[3]!==s?(c={surfaceRef:a,initialPoint:`auto`,getPoints:s},t[2]=a,t[3]=s,t[4]=c):c=t[4];let l=ml(c),{reset:u}=l,d;t[5]===u?d=t[6]:(d=()=>{u()},t[5]=u,t[6]=d);let f;t[7]!==o||t[8]!==i||t[9]!==u?(f=[o,i,u],t[7]=o,t[8]=i,t[9]=u,t[10]=f):f=t[10],(0,Z.useLayoutEffect)(d,f);let p;t[11]!==o||t[12]!==l?(p=()=>{o&&l.snapPoint===`full`&&l.settleAt(`full`,void 0,!1)},t[11]=o,t[12]=l,t[13]=p):p=t[13];let m=J(p),h;t[14]===o?h=t[15]:(h=()=>o?window:null,t[14]=o,t[15]=h),Hn(`resize`,m,h);let g;t[16]===o?g=t[17]:(g=()=>o?window:null,t[16]=o,t[17]=g),Hn(`oc:keyboard-settled`,m,g);let _;t[18]===o?_=t[19]:(_=()=>o?window.visualViewport:null,t[18]=o,t[19]=_),Hn(`resize`,m,_);let v;t[20]===o?v=t[21]:(v=()=>o?window.visualViewport:null,t[20]=o,t[21]=v),Hn(`scroll`,m,v);let y=o&&(l.dragging||l.settling||l.snapPoint!==`auto`),b;return t[22]!==o||t[23]!==l||t[24]!==y?(b={...l,visible:o,manualHeight:y},t[22]=o,t[23]=l,t[24]=y,t[25]=b):b=t[25],b}var hE=(0,Z.memo)(function(e){let t=(0,Q.c)(23),{inputRef:n,draftID:r,ariaLabel:i,onManualHeightChange:a}=e,o=(0,Z.useRef)(null),s;t[0]!==r||t[1]!==n?(s={enabled:!0,hasContent:!0,draftID:r,inputRef:n},t[0]=r,t[1]=n,t[2]=s):s=t[2];let c=mE(s),{snapPoint:l,manualHeight:u,dragging:d,settling:f}=c,p,m;t[3]!==d||t[4]!==u||t[5]!==a||t[6]!==f||t[7]!==l?(p=()=>{let e=o.current?.closest(`[data-mobile-composer-surface]`);e&&(e.dataset.composerHeightSnap=l,e.toggleAttribute(`data-composer-height-manual`,u),d||f?e.dataset.mobileComposerResizing=`true`:delete e.dataset.mobileComposerResizing),a(u)},m=[l,u,d,f,a],t[3]=d,t[4]=u,t[5]=a,t[6]=f,t[7]=l,t[8]=p,t[9]=m):(p=t[8],m=t[9]),(0,Z.useLayoutEffect)(p,m);let h,g;t[10]===a?(h=t[11],g=t[12]):(h=()=>{let e=o.current?.closest(`[data-mobile-composer-surface]`);return()=>{e?.removeAttribute(`data-composer-height-snap`),e?.removeAttribute(`data-composer-height-manual`),e?.removeAttribute(`data-mobile-composer-resizing`),a(!1)}},g=[a],t[10]=a,t[11]=h,t[12]=g),(0,Z.useLayoutEffect)(h,g);let _=l===`min`?0:l===`auto`?1:2,v;return t[13]!==i||t[14]!==c.handleClick||t[15]!==c.handleKeyDown||t[16]!==c.handleLostPointerCapture||t[17]!==c.handlePointerCancel||t[18]!==c.handlePointerDown||t[19]!==c.handlePointerMove||t[20]!==c.handlePointerUp||t[21]!==_?(v=(0,$.jsx)(pl,{ref:o,"data-mobile-composer-snap-handle":!0,"aria-label":i,"aria-valuemin":0,"aria-valuemax":2,"aria-valuenow":_,className:`absolute top-1 left-1/2 z-40 h-2.5 w-20 -translate-x-1/2 items-center`,onPointerDown:c.handlePointerDown,onPointerMove:c.handlePointerMove,onPointerUp:c.handlePointerUp,onPointerCancel:c.handlePointerCancel,onLostPointerCapture:c.handleLostPointerCapture,onClick:c.handleClick,onKeyDown:c.handleKeyDown}),t[13]=i,t[14]=c.handleClick,t[15]=c.handleKeyDown,t[16]=c.handleLostPointerCapture,t[17]=c.handlePointerCancel,t[18]=c.handlePointerDown,t[19]=c.handlePointerMove,t[20]=c.handlePointerUp,t[21]=_,t[22]=v):v=t[22],v}),gE=`box-border w-full whitespace-pre-wrap break-words px-3 typography-markdown [font-family:inherit] [font-style:inherit] [font-weight:inherit] leading-[inherit] tracking-[inherit] md:typography-ui-label`,_E=nd(()=>xn(()=>import(`./ToolOutputDialog-BgPIMkaj.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,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,51,52,53,54,55,56,57,58]))),vE=[],yE=[],bE=[],xE=[],SE=/^@[^\s]+$/,CE=({inputMode:e,message:t,showCommandAutocomplete:n})=>e!==`shell`&&(n||/(^|\s)\/[A-Za-z0-9_-]*/.test(t)),wE=/^(https?:\/\/|mailto:)\S+$/i,TE=(e,t)=>e.name===t?e:new File([e],t,{type:e.type,lastModified:e.lastModified}),EE=(e,t)=>{if(e===t)return``;let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n+=1;let r=e.length,i=t.length;for(;r>n&&i>n&&e[r-1]===t[i-1];)--r,--i;return t.slice(n,i)},DE=e=>e.includes(`@`)?`paste`:`manual`,OE=(e,t)=>{let n=t,r=t;for(;n>0&&/\s/.test(e[n-1]);)--n;for(;r<e.length&&/\s/.test(e[r]);)r+=1;let i=n>0&&r<e.length?` `:``;return{text:`${e.slice(0,n)}${i}${e.slice(r)}`,caret:n+i.length}},kE=(e,t)=>jt(e,t).some(e=>e.role===`user`),AE=(e,t)=>{let n=e.filter(e=>e.type===`text`&&!na(e)).map(e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``}).join(`
|
|
6545
6545
|
`).replace(/\s+/g,` `).trim();if(n)return n;let r=e.find(e=>e.type===`file`);return r?.filename?`[${r.filename}]`:t},jE=`file://`,ME=e=>{let t=e.replace(/\\/g,`/`);return/^[A-Za-z]:/.test(t)&&(t=`/${t}`),t.split(`/`).map((e,t)=>t===1&&/^[A-Za-z]:$/.test(e)?e:encodeURIComponent(e)).join(`/`)},NE=e=>{let t=e.replace(/\\/g,`/`).trim();return t.toLowerCase().startsWith(jE)?t:`file://${ME(t)}`},PE=e=>{if(!e)return[];let t=[...kC(e).map(AC),...Array.from(e.files||[]).map(e=>U(e)).filter(e=>!!e)];return Array.from(new Set(t.filter(jC)))},FE=e=>{if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let n=t.replace(/\\/g,`/`);return n===`/`?`/`:n.length>1?n.replace(/\/+$/,``):n},IE=e=>qn(e.path),LE=(e,t)=>{if(!t)return e;let n=e.indexOf(t);return n===-1?e:(0,$.jsxs)($.Fragment,{children:[e.slice(0,n),(0,$.jsx)(`span`,{className:`font-medium`,children:t}),e.slice(n+t.length)]})},RE=e=>(e??[]).map(e=>({...e,dataUrl:e.source===`server`&&e.serverPath?NE(e.serverPath):e.dataUrl})),zE=(e,t)=>{let n=e.ownerDocument,r=n.defaultView;if(!r)return null;let i=r.getComputedStyle(e),a=n.createElement(`div`),o=a.style;o.position=`absolute`,o.visibility=`hidden`,o.pointerEvents=`none`,o.whiteSpace=`pre-wrap`,o.wordWrap=`break-word`,o.overflow=`hidden`,o.left=`-9999px`,o.top=`0`,o.width=`${e.clientWidth}px`,o.font=i.font,o.fontSize=i.fontSize,o.fontFamily=i.fontFamily,o.fontWeight=i.fontWeight,o.fontStyle=i.fontStyle,o.fontVariant=i.fontVariant,o.letterSpacing=i.letterSpacing,o.textTransform=i.textTransform,o.textIndent=i.textIndent,o.padding=i.padding,o.border=i.border,o.boxSizing=i.boxSizing,o.lineHeight=i.lineHeight,o.tabSize=i.tabSize,a.textContent=e.value.slice(0,t);let s=n.createElement(`span`);s.textContent=e.value.slice(t,t+1)||` `,a.appendChild(s),n.body.appendChild(a);let c=s.offsetTop,l=s.offsetLeft;return n.body.removeChild(a),{top:c,left:l}},BE=e=>{if(!e)return!1;if(e.files&&e.files.length>0)return!0;if(e.types){let t=Array.from(e.types).map(e=>e.toLowerCase());if(t.includes(`files`)||t.includes(`text/uri-list`)||t.includes(`codefiles`)||t.includes(`application/x-openchamber-file-path`)||t.some(e=>e.includes(`vnd.code.tree`)))return!0}return kC(e).length>0},VE=e=>{if(!e)return[];let t=Array.from(e.files||[]);return t.length>0?t:Array.from(e.items||[]).filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(e=>!!e)},HE=e=>{let t=e.icon?Ds[e.icon]:null,n=e.color?js[e.color]:void 0,r=(0,$.jsx)(X,{name:t??`folder`,className:`h-3.5 w-3.5`,style:n?{color:n}:void 0});return(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,children:e.iconImage?(0,$.jsx)(Cs,{project:e,className:`size-full object-contain`,fallback:r}):r}),(0,$.jsx)(`span`,{className:`truncate`,children:IE(e)})]})},UE=Z.memo(vb),WE=Z.memo(th),GE=(0,$.jsx)(`span`,{"data-oc-composer-dictation-active":`true`,className:`hidden`,"aria-hidden":`true`}),KE=Z.memo(ch),qE=Z.memo(Ex),JE=Z.memo(kx),YE=Z.memo(Gb),XE=Z.memo(({sessionId:e,directory:t})=>{let{t:n}=Kn(),r=q(e=>e.isMobile),i=ma(e=>e.revertToMessage),a=ma(e=>e.forkFromMessage),o=ma(e=>e.handleSlashRedo),[s,c]=Z.useState(null),[l,u]=Z.useState(null),[d,f]=Z.useState(!0),p=Z.useRef(cC),m=oa(),h=t||m,g=Mr(h),_=tn(e??``,h,g),v=Yr(e=>e.session,h),y=Z.useMemo(()=>{let t=_.messageOrder.map(e=>_.messagesByID[e]).filter(e=>!!e),n=dC({session:v,messages:t,partsByMessageID:_.partsByMessageID},e,p.current);return p.current=n,n},[e,v,_]),b=y.revertMessageID,x=Z.useMemo(()=>{let t=v.find(t=>t.id===e);return $t(t?.revert)},[e,v]),S=Z.useMemo(()=>y.records.map(e=>e.message),[y]),C=n(`chat.revertPopover.noTextContent`),w=Z.useMemo(()=>b?y.records.map(e=>({id:e.message.id,text:AE(e.parts,C)})):[],[C,b,y]),T=w[0]?.id;Z.useEffect(()=>{f(!0)},[b,T]);let E=J(async t=>{if(!(!e||s)){c(t);try{let n=S.find(e=>e.id>t);n?await i(e,n.id,{skipRedoPush:!0}):await o(e,{fullUnrevert:!0})}finally{c(null)}}}),D=J(async t=>{if(!(!e||l)){u(t);try{await a(e,t)}finally{u(null)}}});return!e||w.length===0?null:(0,$.jsx)(`div`,{className:Y(`w-full px-1`,r?`pb-1 text-xs`:`pb-2`),children:(0,$.jsxs)(`div`,{className:Y(`border border-border/60 bg-[var(--surface-elevated)] text-[var(--surface-elevated-foreground)] shadow-sm dark:shadow-none overflow-hidden`,r?`rounded-lg`:`rounded-xl`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(`flex w-full items-center text-left hover:bg-[var(--interactive-hover)] transition-colors`,r?`gap-1.5 px-2 py-1`:`gap-2 px-3 py-2`),onClick:()=>f(e=>!e),"aria-expanded":!d,children:[(0,$.jsxs)(`span`,{className:`typography-ui-label font-medium text-foreground flex-shrink-0`,children:[n(`chat.revertPopover.title`),` messages `,w.length]}),x.length>0&&(0,$.jsxs)(`span`,{className:`min-w-0 truncate typography-ui-label text-muted-foreground`,children:[n(`chat.revertPopover.files`),`: `,x.join(`, `)]}),(0,$.jsx)(X,{name:`arrow-down-s`,className:Y(`ml-auto text-muted-foreground transition-transform`,r?`size-3.5`:`size-4`,!d&&`rotate-180`),"aria-hidden":`true`})]}),!d&&(0,$.jsx)(`div`,{className:Y(`flex flex-col overflow-y-auto`,r?`max-h-[8rem] gap-1 px-2 pb-1.5`:`max-h-[10.5rem] gap-1.5 px-3 pb-3`),children:w.map(e=>(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 items-center`,r?`gap-1.5`:`gap-2 py-1`),children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label text-foreground`,children:e.text}),(0,$.jsxs)(Xn,{type:`button`,variant:`secondary`,size:`xs`,disabled:!!(s||l),onClick:()=>{D(e.id)},children:[l===e.id?(0,$.jsx)(X,{name:`loader-4`,className:`h-3 w-3 animate-spin`,"aria-hidden":`true`}):(0,$.jsx)(X,{name:`git-branch`,className:`h-3 w-3`,"aria-hidden":`true`}),n(`chat.revertPopover.fork`)]}),(0,$.jsxs)(Xn,{type:`button`,variant:`secondary`,size:`xs`,disabled:!!(s||l),onClick:()=>{E(e.id)},children:[s===e.id?(0,$.jsx)(X,{name:`loader-4`,className:`h-3 w-3 animate-spin`,"aria-hidden":`true`}):(0,$.jsx)(X,{name:`arrow-go-forward`,className:`h-3 w-3`,"aria-hidden":`true`}),n(`chat.revertPopover.restore`)]})]},e.id))})]})})});XE.displayName=`RevertedMessageDock`;function ZE({projects:e,query:t,renderLabel:n,onSelect:r,selectedId:i}){return e.filter(e=>vs(IE(e),t)||vs(e.path,t)).map(e=>r?(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-2.5 text-left typography-ui-label hover:bg-[var(--interactive-hover)]`,onClick:()=>r(e.id),children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1`,children:n(e)}),e.id===i?(0,$.jsx)(X,{name:`check`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}):null]},e.id):(0,$.jsx)(Ss,{value:e.id,className:`max-w-[24rem] truncate`,children:n(e)},e.id))}var QE=Z.memo(function(e){let t=(0,Q.c)(42),{t:n}=Kn(),{isVSCode:r,footerIconButtonClass:i,iconSizeClass:a,handlePickLocalFiles:o,openIssuePicker:s,openPrPicker:c,onOpenSettings:l,withTooltip:u}=e,d=u!==void 0&&u,f=!!e.onOpenMobileSheet,p;t[0]===n?p=t[1]:(p=n(`chat.chatInput.actions.attachFiles`),t[0]=n,t[1]=p);let m=p,h=o,g;t[2]!==h||t[3]!==e?(g=()=>e.onOpenAndroidPickSheet?e.onOpenAndroidPickSheet():h(),t[2]=h,t[3]=e,t[4]=g):g=t[4];let _=f?cD:void 0,v=f?lD:void 0,y=d?void 0:m,b;t[5]===a?b=t[6]:(b=Y(a,`text-current`),t[5]=a,t[6]=b);let x;t[7]===b?x=t[8]:(x=(0,$.jsx)(X,{name:`attachment-2`,className:b}),t[7]=b,t[8]=x);let S;t[9]!==m||t[10]!==i||t[11]!==g||t[12]!==_||t[13]!==v||t[14]!==y||t[15]!==x?(S=(0,$.jsx)(`button`,{type:`button`,className:i,onClick:g,onMouseDown:_,onPointerDownCapture:v,title:y,"aria-label":m,children:x}),t[9]=m,t[10]=i,t[11]=g,t[12]=_,t[13]=v,t[14]=y,t[15]=x,t[16]=S):S=t[16];let C=S,w;t[17]!==C||t[18]!==m||t[19]!==d?(w=d?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:C}),(0,$.jsx)(Bs,{side:`top`,sideOffset:8,className:`oc-composer-tooltip`,children:m})]}):C,t[17]=C,t[18]=m,t[19]=d,t[20]=w):w=t[20];let T;t[21]!==i||t[22]!==o||t[23]!==a||t[24]!==r||t[25]!==s||t[26]!==c||t[27]!==e.onMenuOpenChange||t[28]!==e.onOpenMobileSheet||t[29]!==n?(T=null,t[21]=i,t[22]=o,t[23]=a,t[24]=r,t[25]=s,t[26]=c,t[27]=e.onMenuOpenChange,t[28]=e.onOpenMobileSheet,t[29]=n,t[30]=T):T=t[30];let E;t[31]!==T||t[32]!==w?(E=(0,$.jsxs)(`div`,{className:`relative inline-flex`,children:[w,T]}),t[31]=T,t[32]=w,t[33]=E):E=t[33];let D;t[34]!==i||t[35]!==a||t[36]!==l||t[37]!==n?(D=l?(0,$.jsx)(`button`,{type:`button`,onClick:l,className:i,title:n(`chat.chatInput.actions.modelAgentSettings`),"aria-label":n(`chat.chatInput.actions.modelAgentSettings`),children:(0,$.jsx)(X,{name:`ai-agent`,className:Y(a,`text-current`)})}):null,t[34]=i,t[35]=a,t[36]=l,t[37]=n,t[38]=D):D=t[38];let O;return t[39]!==E||t[40]!==D?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-x-1.5`,children:[E,D]}),t[39]=E,t[40]=D,t[41]=O):O=t[41],O},(e,t)=>e.isVSCode===t.isVSCode&&e.footerIconButtonClass===t.footerIconButtonClass&&e.iconSizeClass===t.iconSizeClass&&e.onOpenSettings===t.onOpenSettings&&e.onMenuOpenChange===t.onMenuOpenChange&&e.onOpenMobileSheet===t.onOpenMobileSheet&&e.onOpenAndroidPickSheet===t.onOpenAndroidPickSheet&&e.withTooltip===t.withTooltip),$E=Z.memo(function(e){let t=(0,Q.c)(29),{t:n}=Kn(),r=e.enabled?`chat.chatInput.permissionAutoAccept.disable`:`chat.chatInput.permissionAutoAccept.enable`,i;t[0]!==n||t[1]!==r?(i=n(r),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i,o=e.saving,s=e.enabled,c=e.footerIconButtonClass,l;t[3]!==e.draftEnabled||t[4]!==e.draftOpen||t[5]!==e.enabled||t[6]!==e.onOpenSessionFirst||t[7]!==e.onSetDraftEnabled||t[8]!==e.onSetSessionEnabled||t[9]!==e.onToggleFailed||t[10]!==e.sessionId?(l=()=>mT({permissionScopeSessionId:e.sessionId,newSessionDraftOpen:e.draftOpen,draftPermissionAutoAcceptEnabled:e.draftEnabled,permissionAutoAcceptEnabled:e.enabled,setDraftPermissionAutoAcceptEnabled:e.onSetDraftEnabled,setSessionAutoAccept:e.onSetSessionEnabled,onOpenSessionFirst:e.onOpenSessionFirst,onToggleFailed:e.onToggleFailed}),t[3]=e.draftEnabled,t[4]=e.draftOpen,t[5]=e.enabled,t[6]=e.onOpenSessionFirst,t[7]=e.onSetDraftEnabled,t[8]=e.onSetSessionEnabled,t[9]=e.onToggleFailed,t[10]=e.sessionId,t[11]=l):l=t[11];let u=e.enabled?`shield-check`:`shield`,d;t[12]===e.iconSizeClass?d=t[13]:(d=Y(e.iconSizeClass,`text-current`),t[12]=e.iconSizeClass,t[13]=d);let f;t[14]!==u||t[15]!==d?(f=(0,$.jsx)(X,{name:u,className:d}),t[14]=u,t[15]=d,t[16]=f):f=t[16];let p;t[17]!==a||t[18]!==e.enabled||t[19]!==e.footerIconButtonClass||t[20]!==e.saving||t[21]!==l||t[22]!==f?(p=(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,disabled:o,"aria-pressed":s,"aria-label":a,className:c,onClick:l,onMouseDown:uD,onPointerDownCapture:dD,children:f})}),t[17]=a,t[18]=e.enabled,t[19]=e.footerIconButtonClass,t[20]=e.saving,t[21]=l,t[22]=f,t[23]=p):p=t[23];let m;t[24]===a?m=t[25]:(m=(0,$.jsx)(Bs,{side:`top`,sideOffset:8,className:`oc-composer-tooltip`,children:a}),t[24]=a,t[25]=m);let h;return t[26]!==m||t[27]!==p?(h=(0,$.jsxs)(Vs,{children:[p,m]}),t[26]=m,t[27]=p,t[28]=h):h=t[28],h}),eD=Z.memo(function(e){let t=(0,Q.c)(65),{isMobile:n,compact:r,footerIconButtonClass:i,stopFooterIconButtonClass:a,compactCircleButtonClass:o,sendIconSizeClass:s,stopIconSizeClass:c,canSend:l,canAbort:u,abortPending:d,hasContent:f,currentSessionId:p,newSessionDraftOpen:m,draftSubmitting:h,submissionBlocked:g,sendPhase:_,queueFrozen:v,queueFallbackAvailable:y,onPrimaryAction:b,onAbort:x}=e,S=r!==void 0&&r,{t:C}=Kn(),w=u,T,E,D,O,k;if(t[0]!==w||t[1]!==l||t[2]!==S||t[3]!==o||t[4]!==p||t[5]!==h||t[6]!==i||t[7]!==f||t[8]!==n||t[9]!==m||t[10]!==b||t[11]!==y||t[12]!==v||t[13]!==s||t[14]!==_||t[15]!==a||t[16]!==c||t[17]!==g||t[18]!==C){k=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Vx({canSend:l,hasSessionTarget:!!(p||m),draftSubmitting:!!h,submissionBlocked:g,sendPhase:_,queueFrozen:v,queueFallbackAvailable:y}),r;t[24]===n?r=t[25]:(r=n?{onMouseDown:fD,onPointerDownCapture:pD}:{},t[24]=n,t[25]=r);let u=r,d=_.inFlight,x=d&&_.flightKind===`queue`,A=d&&_.flightKind!==`queue`,j;t[26]!==x||t[27]!==A||t[28]!==C?(j=C(x?`chat.chatInput.actions.queuingMessageAria`:A?`chat.chatInput.actions.sendingMessageAria`:`chat.chatInput.actions.sendMessageAria`),t[26]=x,t[27]=A,t[28]=C,t[29]=j):j=t[29];let M=j;T=S?o??a??i:a??i,E=c;let N=!w&&(!e.sendDisabled||d),P;t[30]!==n||t[31]!==b?(P=e=>{n&&(e.preventDefault(),b())},t[30]=n,t[31]=b,t[32]=P):P=t[32];let F;t[33]!==w||t[34]!==d||t[35]!==x||t[36]!==A||t[37]!==C?(F=C(A||!w&&d?x?`chat.chatInput.actions.queuingMessageAria`:`chat.chatInput.actions.sendingMessageAria`:`chat.chatInput.actions.sendMessageAria`),t[33]=w,t[34]=d,t[35]=x,t[36]=A,t[37]=C,t[38]=F):F=t[38];let I;t[39]!==w||t[40]!==E||t[41]!==d||t[42]!==s||t[43]!==N?(I=N?(0,$.jsx)(Kl,{className:E,spinning:!!(d&&!w)}):(0,$.jsx)(X,{name:`send-plane-2`,className:s}),t[39]=w,t[40]=E,t[41]=d,t[42]=s,t[43]=N,t[44]=I):I=t[44];let L=(0,$.jsx)(`button`,{type:n?`button`:`submit`,"data-composer-send":`true`,"data-composer-circle":N?`true`:void 0,disabled:e.sendDisabled,"aria-busy":d||void 0,...u,onClick:P,className:Y(N?T:i,N?void 0:e.sendDisabled?e.disabledClass:`text-primary hover:text-primary`),"aria-label":F,children:I});if(!w){k=L;break bb0}let R=!S&&(f||x),z=!e.sendDisabled&&!x,B=S&&`h-full`;t[45]===B?D=t[46]:(D=Y(`relative z-30 overflow-visible`,B),t[45]=B,t[46]=D),O=R?(0,$.jsx)(`button`,{type:`button`,"data-composer-send":`true`,"data-composer-circle":z||x?`true`:void 0,disabled:e.sendDisabled||x,"aria-busy":x||void 0,...u,onClick:e=>{e.preventDefault(),!x&&b()},className:Y(z||x?T:i,`absolute z-30 bottom-full left-1/2 -translate-x-1/2 mb-1`,z||x?void 0:e.disabledClass),"aria-label":M,children:z||x?(0,$.jsx)(Kl,{className:E,spinning:x}):(0,$.jsx)(X,{name:`send-plane-2`,className:s})}):null}t[0]=w,t[1]=l,t[2]=S,t[3]=o,t[4]=p,t[5]=h,t[6]=i,t[7]=f,t[8]=n,t[9]=m,t[10]=b,t[11]=y,t[12]=v,t[13]=s,t[14]=_,t[15]=a,t[16]=c,t[17]=g,t[18]=C,t[19]=T,t[20]=E,t[21]=D,t[22]=O,t[23]=k}else T=t[19],E=t[20],D=t[21],O=t[22],k=t[23];if(k!==Symbol.for(`react.early_return_sentinel`))return k;let A=d||void 0,j;t[47]===T?j=t[48]:(j=Y(T,`relative z-30`),t[47]=T,t[48]=j);let M;t[49]===C?M=t[50]:(M=C(`chat.chatInput.actions.stopGeneratingAria`),t[49]=C,t[50]=M);let N;t[51]!==d||t[52]!==E?(N=d?(0,$.jsx)(Kl,{className:E,spinning:!0}):(0,$.jsx)(Ol,{className:Y(E)}),t[51]=d,t[52]=E,t[53]=N):N=t[53];let P;t[54]!==d||t[55]!==x||t[56]!==A||t[57]!==j||t[58]!==M||t[59]!==N?(P=(0,$.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,onClick:x,disabled:d,"aria-busy":A,className:j,"aria-label":M,children:N}),t[54]=d,t[55]=x,t[56]=A,t[57]=j,t[58]=M,t[59]=N,t[60]=P):P=t[60];let F;return t[61]!==D||t[62]!==O||t[63]!==P?(F=(0,$.jsxs)(`div`,{className:D,children:[O,P]}),t[61]=D,t[62]=O,t[63]=P,t[64]=F):F=t[64],F},(e,t)=>e.isMobile===t.isMobile&&e.compact===t.compact&&e.footerIconButtonClass===t.footerIconButtonClass&&e.stopFooterIconButtonClass===t.stopFooterIconButtonClass&&e.compactCircleButtonClass===t.compactCircleButtonClass&&e.sendIconSizeClass===t.sendIconSizeClass&&e.stopIconSizeClass===t.stopIconSizeClass&&e.canSend===t.canSend&&e.canAbort===t.canAbort&&e.abortPending===t.abortPending&&e.hasContent===t.hasContent&&e.currentSessionId===t.currentSessionId&&e.newSessionDraftOpen===t.newSessionDraftOpen&&e.draftSubmitting===t.draftSubmitting&&e.submissionBlocked===t.submissionBlocked&&e.sendPhase===t.sendPhase&&e.queueFrozen===t.queueFrozen&&e.queueFallbackAvailable===t.queueFallbackAvailable&&e.onPrimaryAction===t.onPrimaryAction&&e.onAbort===t.onAbort),tD=(e,t)=>`${e}${e?e.endsWith(`
|
|
6546
6546
|
|
|
6547
6547
|
`)?``:e.endsWith(`
|
|
@@ -6554,53 +6554,53 @@ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{S as t,l as n}from"./r
|
|
|
6554
6554
|
`)?`${t}\n`:`${t}\n\n`}`,nD=(e,t)=>{let n=t.trim();return n?e?`${e}${/[\s\n]$/.test(e)?``:` `}${n} `:`${n} `:e},rD=(e,t,n,r)=>t?y({transportIdentity:e},t):n?C({transportIdentity:e},n):r,iD=[],aD=({onOpenSettings:e,scrollToBottom:t,showScrollToBottom:n=!1,onScrollToBottom:i,submissionBlocked:o=!1,surface:c})=>{let{t:u,locale:d}=Kn(),f=Au(),[p,m]=Z.useState({open:!1,title:``,content:``}),[g,_]=Z.useState(`normal`),[y,b]=Z.useState(!1),[S,C]=Z.useState(!1),[w,T]=Z.useState(!1),[E,O]=Z.useState(``),[k,M]=Z.useState(!1),[N,P]=Z.useState(``),[F,I]=Z.useState([]),[R,B]=Z.useState(0),[H,ee]=Z.useState(null),U=Z.useRef(null),ne=Z.useRef(null),[W,re]=Z.useState(!1),ie=Z.useRef(null);Z.useEffect(()=>()=>{ie.current!==null&&window.clearTimeout(ie.current),U.current!==null&&window.clearTimeout(U.current),ne.current!==null&&window.clearTimeout(ne.current)},[]);let[ae,oe]=Z.useState(!1),[se,ue]=Z.useState(!1),[fe,pe]=Z.useState(null),he=Z.useId(),[ge,_e]=Z.useState(``),[ve,be]=Z.useState(``),[Se,Ce]=Z.useState(!1),[we,Te]=Z.useState(!1),De=Z.useRef(0),Oe=J(()=>{De.current=Date.now()+500}),ke=Z.useRef(0),Ae=Z.useRef(!1),[je,Me]=Z.useState(-1),Ne=Z.useRef(()=>{}),Pe=Z.useRef((...e)=>Promise.resolve().then(()=>ma.getState().sendMessage(...e))).current,Fe=ma(e=>e.currentSessionId),Ie=aa(e=>e.currentProviderId),Le=aa(e=>e.currentModelId),Re=aa(e=>e.currentAgentName),ze=aa(e=>e.currentVariant),Be=aa(e=>e.providers),Ve=aa(e=>e.agents),He=aa(e=>e.getVisibleAgents),Ue=Z.useMemo(()=>Ny(He()),[He,Ve]),We=aa(e=>e.providerConfigLoadingByDirectory[e.activeDirectoryKey]===!0),Ge=aa(e=>e.agentConfigLoadingByDirectory[e.activeDirectoryKey]===!0),Ke=Z.useMemo(()=>{let e=Be.find(e=>e.id===Ie)?.models?.find(e=>e.id===Le);return Hy(e)},[Le,Ie,Be]),qe=Z.useMemo(()=>({providers:Be,agents:Ue,variants:Ke,variantsReady:!We,modelsReady:!We,agentsReady:!Ge,ready:!We&&!Ge,loading:We||Ge}),[Be,Ue,Ke,We,Ge]),Je=ot(e=>e.currentDirectory),Ye=Ed()??Je,{ensureSessionRenderable:Xe}=Sh(),Ze=ma(Z.useMemo(()=>e=>Fe?e.getDirectoryForSession(Fe):null,[Fe])),Qe=Qa(Fe??``,Ze??void 0),$e=Z.useMemo(()=>HT(Qe),[Qe]),et=Z.useMemo(()=>UT(Qe),[Qe]),tt=ra(Fe??``,Ze??void 0).renderable,nt=va(Fe,Ze??void 0),at=nt?.agent,st=nt?.model?.id,ct=nt?.model?.providerID,lt=nt?.model?.variant,ut=aa(e=>e.activeDirectoryKey),dt=Z.useRef(0),ft=Z.useRef(null),mt=Z.useRef(null),gt=ma(e=>e.newSessionDraft),_t=!!gt?.open,yt=ma(e=>e.newSessionDraft.draftSubmitting??!1),bt=ma(e=>e.newSessionDraft.draftEstablishing??!1),St=yt||bt,wt=ma(e=>e.openNewSessionDraft),Tt=ma(e=>e.setDraftPermissionAutoAcceptEnabled),Et=Vo(e=>e.autoAccept),Dt=Vo(e=>e.saving),kt=Vo(e=>e.setSessionAutoAccept),At=ma(e=>e.setNewSessionDraftTarget),Mt=ma(e=>e.availableWorktreesByProject),Pt=ma(e=>e.abortPromptSessionId),Ft=ma(e=>e.abortPromptExpiresAt),It=ma(e=>e.clearAbortPrompt),Lt=ka(e=>e.consumePendingInputText),Rt=ka(e=>e.pendingPresetSubmit),Vt=ka(e=>e.pendingInputText),Ut=ka(e=>e.pendingInputMode),Wt=ka(e=>e.consumePendingSyntheticParts),Gt=ka(e=>e.activeAttachmentDraft),qt=Oh(Z.useMemo(()=>e=>{let t=Fe??(_t?`draft`:``);return t?e.drafts[t]??yE:yE},[_t,Fe])),$t=Uo(Fe??``),en=Z.useSyncExternalStore(r,a,a),tn=Gt?.transportIdentity??null,nn=Gt?.owner.kind??null,rn=Gt?.owner.ownerID??null,on=Z.useMemo(()=>rD(en,Fe,gt.draftID,tn&&nn&&rn?{transportIdentity:tn,owner:{kind:nn,ownerID:rn}}:null),[rn,nn,tn,en,Fe,gt.draftID]),sn=on?h(on):null,un=ka(Z.useMemo(()=>e=>sn?e.draftAttachmentViews[sn]:void 0,[sn])),fn=ka(Z.useMemo(()=>e=>sn?e.drafts[sn]:void 0,[sn])),pn=Z.useMemo(()=>{if(!fn||!un)return iD;let e=fn.attachments.flatMap(e=>{let t=un[e.attachmentRefID];return t?[t]:[]});return e.length===0?iD:e},[un,fn]);Z.useEffect(()=>{on&&ka.getState().hydrateDraftAttachments(on)},[on]);let mn=qy(),hn=q(e=>e.activeMainTab===`chat`),gn=to(Fe??``,Ye??void 0),_n=Jy({kind:`primary`,surfaceID:`primary`,active:hn,sessionID:Fe,directory:Ye??null,activity:{phase:gn?.type===`busy`?`busy`:gn?.type===`retry`?`retry`:`idle`,canAbort:gn?.type===`busy`||gn?.type===`retry`},draftKey:on,transportIdentity:en,runtimeGeneration:s(),selection:{value:{providerID:Ie,modelID:Le,agent:Re,variant:ze},catalog:qe,flush:async()=>{let e=ma.getState().currentSessionId;if(!e)return;let t=s(),n=a(),r=dt.current,i=e,o=ma.getState().getDirectoryForSession(i)??null,c=Go(o);if(aa.getState().activeDirectoryKey!==c&&await aa.getState().activateDirectory(o),s()!==t||a()!==n||ma.getState().currentSessionId!==i||aa.getState().activeDirectoryKey!==c||dt.current!==r)return;await Xe(i,{directory:o??void 0});let l=ma.getState().getDirectoryForSession(i)??null,u=Go(l);if(s()!==t||a()!==n||ma.getState().currentSessionId!==i||l!==o||u!==c||aa.getState().activeDirectoryKey!==c||dt.current!==r)return;let d=aa.getState(),f={providers:d.providers,agents:d.getVisibleAgents()};if(f.providers.length===0||f.agents.length===0)return;let p=jt(i,l??void 0),m=HT(p),h=UT(p);if(FT({editRevision:r,pinnedHistoryMessageId:ft.current,latestHistoryMessageId:m?.id??null}))return;let g=Sr.getState(),_=pt().get(i),v=MT({sessionId:i,latestUserChoice:m,latestExecution:h,catalog:f,memory:g,sessionEntity:_?.model?{agent:_.agent,model:{id:_.model.id,providerID:_.model.providerID,variant:_.model.variant}}:_?.agent?{agent:_.agent}:null,fallbackAgentName:d.currentAgentName});if(!v)return;let y=[i,v.source,v.messageId??``,v.agent??``,v.providerID,v.modelID,v.variant??``,c].join(`|`);mt.current!==y&&(NT(v,{currentAgentName:d.currentAgentName,setAgent:d.setAgent,setProvider:d.setProvider,setModel:d.setModel,setCurrentVariant:d.setCurrentVariant},{sessionId:i,memory:g}),mt.current=y)},change:async e=>{dt.current+=1;let t=ma.getState().currentSessionId;if(t){let e=ma.getState().getDirectoryForSession(t)??void 0,n=HT(jt(t,e));ft.current=n?.id??null}else ft.current=null;let n=aa.getState();ET(e,{currentAgentName:n.currentAgentName,setAgent:n.setAgent,setProvider:n.setProvider,setModel:n.setModel,setCurrentVariant:n.setCurrentVariant,saveAgentModelSelection:n.saveAgentModelSelection},{sessionId:t,memory:Sr.getState()})}},resources:{attachments:pn,addAttachment:async e=>{on&&await jr(on,()=>ka.getState()).addLocal(e)},removeAttachment:async e=>on?jr(on,()=>ka.getState()).removeByAttachmentID(e):!1,clearAttachments:async()=>on?jr(on,()=>ka.getState()).clearRootAttachments():!1,restoreAttachments:async e=>on?jr(on,()=>ka.getState()).restoreRootAttachments(e):!1,pendingInput:Vt===null?null:{text:Vt,mode:Ut},consumePendingInput:Lt,pendingPreset:Rt,consumePendingPreset:()=>ka.getState().consumePendingPresetSubmit(),consumeSyntheticParts:Wt,restoreSyntheticParts:e=>ka.setState(t=>({pendingSyntheticParts:[...e,...t.pendingSyntheticParts??[]]})),inlineDrafts:qt,removeInlineDraft:e=>{let t=Fe??(_t?`draft`:``);t&&Oh.getState().removeDraft(t,e)},restoreInlineDrafts:e=>{let t=Fe??(_t?`draft`:``);!t||e.length===0||Oh.setState(n=>{let r=n.drafts[t]??[],i=new Set(e.map(e=>e.id));return{drafts:{...n.drafts,[t]:[...e,...r.filter(e=>!i.has(e.id))]}}})},history:$t,captureRuntime:()=>ka.getState().captureDraftRuntime(),getDraft:e=>ka.getState().getDraft(e),abortPrompt:{sessionID:Pt,clear:It}},backend:{send:e=>{ST(e,{transportIdentity:a(),runtimeGeneration:s()});let t=CT(e);return Pe(e.text??``,e.providerID,e.modelID,e.agent,e.attachments??[],e.agentMention,e.parts,e.variant,e.inputMode,t)},sendQueued:e=>Yo(e.sessionID??``,{delivery:e.options?.delivery===`steer`?`steer`:void 0,queueItemID:e.queueItemID,manual:e.manual,scope:e.queueScope?{state:`bound`,...e.queueScope}:void 0}),create:async()=>wt(),compact:async e=>xt.summarizeSession(e.sessionID??``,e.providerID??``,e.modelID??``,e.directory),abort:e=>(e.sessionID&&Tr(e.sessionID),Wi(e.sessionID??``))},shortcuts:{cycle:e=>Ne.current(e),new:()=>wt(),abort:()=>(Fe&&Tr(Fe),Wi(Fe??``)),submit:()=>{}},deliveryTarget:{kind:`primary`}}),vn=Yy(_n,c??mn);Xy(vn),Z.useLayoutEffect(()=>{if(!vn.active){xT(vn.surfaceID);return}return bT(vn),()=>xT(vn.surfaceID)},[vn]);let yn=TT(vn),bn=vn.resources??(vn.kind===`primary`?_n.resources:void 0);if(!bn)throw Error(`chat-input-surface-resources-incomplete`);let xn=[...bn.attachments],Sn=vn.sessionID,Cn=Zy(vn,St),wn=vn.kind===`secondary`?vn.commands.hasNewDraft:_t,Tn=wn,En=vn.directory??Ye,Dn=vn.draftKey??on,On=Z.useMemo(()=>{if(vn.kind===`secondary`)return $y(vn,!1,!1);let e=Sn?kE(Sn,Ze??void 0):!1;return $y(vn,e,wn)},[vn,Sn,Ze,wn]),kn=(e,t,n,r,i,a,o,s,c,l)=>yn?yn.send({providerID:t,modelID:n,agent:r,variant:s,text:e,attachments:i,agentMention:a,parts:o,systemContext:o?.filter(e=>e.synthetic).map(e=>({text:e.text,synthetic:!0})),inputMode:c,options:l}):Promise.reject(Error(`chat-input-surface-incomplete`)),An=J(()=>yn?yn.abort():Promise.reject(Error(`chat-input-surface-incomplete`))),jn=pa(e=>e.projects),Mn=pa(e=>e.activeProjectId),Nn=pa(e=>e.setActiveProjectIdOnly),[Pn,Fn]=Z.useState(!1),[In,Rn]=Z.useState(!1),zn=Z.useMemo(()=>Sn?Ei({autoAccept:Et,sessions:[],sessionById:pt(),sessionID:Sn}):gt.permissionAutoAcceptEnabled===!0,[Sn,gt.permissionAutoAcceptEnabled,Et]),Bn=aa(e=>e.agents),Vn=vn.kind===`secondary`?vn.selection.value.agent:Re,Un=vn.kind===`secondary`?Ny(vn.selection.catalog?.agents):Bn,Wn=K()||pT(Un,Vn),Gn=J(()=>{mi.error(u(`chat.chatInput.toast.togglePermissionAutoAcceptFailed`))}),Jn=vn.selection.value,Yn=vn.selection.change,Zn=vn.selection.catalog,Qn=J(async e=>{if(!Yn)throw Error(`chat-input-surface-selection-readonly`);await Yn({...e,agent:e.agent??void 0,variant:e.variant})}),$n=Z.useMemo(()=>({selection:{providerID:Jn.providerID??``,modelID:Jn.modelID??``,agent:Jn.agent??null,variant:Jn.variant},onChange:Qn,disabled:!vn.active,catalog:Zn}),[Zn,Qn,Jn.agent,Jn.modelID,Jn.providerID,Jn.variant,vn.active]);Z.useEffect(()=>{dt.current=0,ft.current=null,mt.current=null},[Fe]),Z.useEffect(()=>{if(vn.kind!==`primary`||!Fe||We||Ge||Be.length===0||Ue.length===0)return;let e=Go(Ze);if(ut!==e)return;let t=Sr.getState(),n={providers:Be,agents:Ue};if(FT({editRevision:dt.current,pinnedHistoryMessageId:ft.current,latestHistoryMessageId:$e?.id??null}))return;let r=MT({sessionId:Fe,latestUserChoice:$e,latestExecution:et,catalog:n,memory:t,sessionEntity:ct&&st?{agent:at,model:{id:st,providerID:ct,variant:lt}}:at?{agent:at}:null,fallbackAgentName:Re,transcriptReady:tt});if(!r)return;let i=[Fe,r.source,r.messageId??``,r.agent??``,r.providerID,r.modelID,r.variant??``,ut].join(`|`);if(mt.current===i)return;if((r.agent===void 0||r.agent===Re)&&r.providerID===Ie&&r.modelID===Le&&r.variant===ze){mt.current=i;return}if(aa.getState().activeDirectoryKey!==e)return;let a=aa.getState();NT(r,{currentAgentName:a.currentAgentName,setAgent:a.setAgent,setProvider:a.setProvider,setModel:a.setModel,setCurrentVariant:a.setCurrentVariant},{sessionId:Fe,memory:t}),mt.current=i},[vn.kind,Fe,$e,et,tt,Be,Ue,We,Ge,ut,Ze,Re,Ie,Le,ze,at,st,ct,lt]);let tr=aa(e=>e.getVisibleAgents),nr=vn.kind===`primary`?tr():bE,rr=aa(e=>vn.kind===`primary`?e.providers:xE),ir=vn.kind===`secondary`?Ny(vn.selection.catalog?.agents):nr,or=vn.kind===`secondary`?vn.selection.catalog?.providers??xE:rr,sr=vn.kind===`secondary`&&(!vn.selection.catalog?.ready||!!vn.selection.catalog.error),lr=!vn.active||!vn.selection.change||sr,ur=q(e=>e.isMobile),dr=Sl(),fr=q(e=>e.setImagePreviewOpen),pr=J(e=>{e.image&&(m(e),fr(!0))}),mr=J(e=>{m(t=>({...t,open:e})),fr(e)}),hr=uh(e=>e.pending),gr=q(e=>e.inputBarOffset),vr=q(e=>e.persistChatDraft),yr=q(e=>e.inputSpellcheckEnabled),xr=q(e=>e.isExpandedInput),Cr=q(e=>e.setExpandedInput),wr=q(e=>e.setTimelineDialogOpen),Er=dE({draftKey:Dn,sessionTitles:new Map(Array.from(pt(),([e,t])=>[e,t.title||e])),persistenceEnabled:vr}),Dr=Er.document,Or=Dr.text,{replacePlainDocument:Mr,replaceProgrammaticText:Nr,applyBrowserEdit:Fr,insertReference:Ir,deleteReference:Lr,enterHistoryPreview:Rr,exitHistoryPreview:zr,captureSubmission:Br,recoverSubmission:Ur,confirmedFileMentions:Gr,mentions:Jr}=Er,Yr=J((e,t)=>Nr(e,t)),Xr=Z.useMemo(()=>new Set(Gr.map(e=>e.value)),[Gr]),Zr=Z.useRef(null),Qr=Z.useRef(!1),$r=Z.useRef(0),ti=Z.useRef(null),ri=Z.useRef(null),ii=Z.useRef(0),ai=Z.useRef(!1),oi=Z.useRef(null),ci=Z.useRef(!1),li=Z.useRef(null),di=Z.useRef([]),fi=Z.useRef(!1),pi=Z.useRef(null),vi=Z.useRef(!1),yi=Z.useRef(null),bi=Z.useRef(Or),Si=Z.useRef(new Set),Ci=Er.getDocument,wi=J((e,t,n=[])=>Yr(e,(e,r)=>{let i=[],a=new Set(n);for(let e of t){let t=0,n=`@${e}`;for(;t<r.text.length;){let o=r.text.indexOf(n,t);if(o<0)break;i.push({kind:a.has(e)?`directory`:`file`,value:e,path:e,label:e,range:{start:o,end:o+n.length}}),t=o+n.length}}let o=new Set(e.map(e=>`${e.kind}:${e.value}:${e.range.start}:${e.range.end}`));return[...e,...i.filter(e=>!o.has(`${e.kind}:${e.value}:${e.range.start}:${e.range.end}`))]})),Ti=Vb(Bb()),{git:Di,vscode:Oi}=ul(),ki=q(e=>e.shortcutOverrides.cycle_agent),Ai=q(e=>e.shortcutOverrides),ji=Z.useMemo(()=>mc(`cycle_agent`,ki?{cycle_agent:ki}:void 0),[ki]),Mi=Z.useMemo(()=>mc(`clear_all_messages`,Ai),[Ai]),{currentTheme:Ni}=is(),Pi=$l(),Fi=ru(En),Ii=bu(e=>En?e.directories.get(En)?.status??null:null),Li=bu(e=>e.ensureStatus),zi=bu(e=>e.fetchStatus),[Bi,Vi]=Z.useState(!1),Hi=Z.useRef(null);Z.useEffect(()=>{!En||!Di||Li(En,Di)},[En,Di,Li]),Z.useEffect(()=>{if(!(!En||!Di))return Da.onGitRefreshHint(e=>{FE(e.directory)===FE(En)&&zi(En,Di)})},[En,Di,zi]);let Gi=J(async e=>{if(!Sn)return;let t=ma.getState().getDirectoryForSession(Sn)||En||``;if(!t){mi.error(u(`diffView.reviewDialog.toast.noSessionDirectory`));return}Rn(!0);try{await Wr({originalSessionID:Sn,directory:t,providerID:e.providerID,modelID:e.modelID,agent:e.agent||void 0,variant:e.variant||void 0,generateHandoff:e.generateHandoff,returnAfterHandoffRequest:e.generateHandoff,autoReview:e.autoReview}),Fn(!1)}catch(e){console.error(`[review-flow] failed to start review flow`,e),mi.error(e instanceof Error?e.message:u(`diffView.reviewDialog.toast.startFailed`))}finally{Rn(!1)}}),qi=xr&&!ur,Ji=xr&&ur,Zi=qi||Ji,Qi=`1.5rem`,$i=u(Sn||wn?g===`shell`?`chat.chatInput.placeholder.shell`:ur?`chat.chatInput.placeholder.chatCompact`:`chat.chatInput.placeholder.chat`:`chat.chatInput.placeholder.selectSession`),ea=xn,ta=Z.useMemo(()=>new Set(ir.map(e=>e.name.toLowerCase())),[ir]),na=Z.useRef(ta);na.current=ta;let oa=CE({inputMode:g,message:Or,showCommandAutocomplete:k}),sa=Ao({directory:En,enabled:oa}),ca=Z.useMemo(()=>sa.data??[],[sa.data]),ua=Ar({directory:En,enabled:g!==`shell`}),fa=Z.useMemo(()=>ua.data??[],[ua.data]),ha=Z.useMemo(()=>new Map(fa.map(e=>[e.name.toLowerCase(),e.name])),[fa]),ga=Z.useMemo(()=>{let e=new Set([`init`,`review`,`undo`,`redo`,`fork`,`timeline`,`model`,`compact`,`summary`,`workspace-review`,`craft-goal`,`goal`,`catch-up`,`debug`,`weigh`,`explore`]);K()&&e.add(`reload`),!ur&&!K()&&e.add(`handoff-review`);for(let t of ca)t.source!==`skill`&&e.add(t.name.toLowerCase());return e},[ca,ur]),_a=Z.useMemo(()=>{if(!Or||!Or.includes(`/`)||g===`shell`||ga.size===0)return[];let e=[],t=RegExp(`(^|\\s)/(${me})?([A-Za-z0-9][A-Za-z0-9_-]*)`,`g`),n;for(;(n=t.exec(Or))!==null;){let t=n[2]??``,r=n[3];if(!ga.has(r.toLowerCase()))continue;let i=n.index+n[1].length,a=1+t.length+r.length;e.push({start:i,end:i+a,style:`mentionCommand`,visual:L({trigger:`/`,icon:`command`,label:r},Or.slice(i,i+a))})}return e},[g,ga,Or]),ya=Z.useMemo(()=>!Or||!Or.includes(`@`)||g===`shell`?[]:ia(Or,{confirmedValues:Xr,agentNames:ta}),[Xr,g,ta,Or]),Sa=Z.useMemo(()=>{if(!Or||!Or.includes(`[`)||g===`shell`||ea.length===0)return[];let e=ea.filter(vt),t=new Map(e.map(e=>[e.filename.trim().toLowerCase(),e.mimeType.startsWith(`image/`)?`image`:`attachment`]));return Ht(Or,e.map(e=>e.filename)).flatMap(e=>{let n=V(Or.slice(e.start+1,e.end-1)).trim(),r=t.get(n.toLowerCase());return[{...e,style:`mentionFile`,priority:101,visual:L({trigger:`[`,icon:r===`image`?`file-image`:`attachment-2`,label:n,suffix:`]`},Or.slice(e.start,e.end))}]})},[g,Or,ea]),{globallyEnabled:Ca,enabled:Ta,hint:Ea,onHintChange:Oa}=Rl({available:ur}),Aa=u(Ea===`recording`?`chat.dictation.releaseSend`:Ea===`cancelling`?`chat.dictation.releaseCancel`:Ea===`editing`?`chat.dictation.releaseEdit`:Ea===`processing`?`chat.dictation.processing`:`chat.dictation.inputPlaceholder`),[ja,Ma]=Z.useState(!1),[Na,Pa]=Z.useState(!1),Fa=f&&Wu(ur)&&vn.kind===`primary`&&!Ta,[Ia,La]=Z.useState(null),Ra=Z.useMemo(()=>{if(!Or||g===`shell`)return null;let e=[...Fa?[]:Dl(Or),...Fa?[]:xC(Or),...Jl(ya),..._a,...Sa,...Ia?.draftID===sn&&Ia?.text===Or?[{start:Ia.start,end:Ia.end,style:`dictation`}]:[],...Dr.references.map(e=>({start:e.start,end:e.end,priority:103,...de(e)}))];return Il(Or,e)},[Sa,_a,ya,Dr.references,g,Or,Fa,Ia,sn]),[za,Va]=Z.useState(null),Ha=Z.useRef(null),[Ua,Wa]=Z.useState(!1),[Ka,Ja]=Z.useState(!1),[Ya,Xa]=Z.useState(null),[$a,eo]=Z.useState(null),no=A(e=>e.followUpBehavior),ro=Z.useMemo(()=>{let e=yn?.queueScope;return e?{state:`bound`,transportIdentity:e.transportIdentity,directory:e.directory,sessionID:e.sessionID,deliveryTarget:e.deliveryTarget,runtimeGeneration:e.runtimeGeneration}:null},[yn]),io=Vh({transportIdentity:ro?.transportIdentity??``,directory:ro?.directory??``,sessionID:ro?.sessionID??``}),ao=Z.useMemo(()=>Sn?D(Sn):null,[Sn]),oo=A(Z.useMemo(()=>e=>ro?x(e,ro):vE,[ro])),co=A(Z.useMemo(()=>e=>ao?x(e,ao):vE,[ao])),lo=Z.useMemo(()=>co.length===0?oo:oo.length===0?co:[...co,...oo],[oo,co]),uo=io.mode===`server`?vE:lo,mo=A(Z.useMemo(()=>e=>ro?v(e,ro):vE,[ro])),ho=A(e=>e.clearQueue),_o=A(e=>e.removeFromQueue),vo=bn.inlineDrafts,yo=vo.length>0,[bo,xo,So]=Z.useMemo(()=>{let e=0,t=0,n=0;for(let r of vo)r.source===`preview-console`?e+=1:r.source===`preview-annotation`?t+=1:n+=1;return[e,t,n]},[vo]),Co=J(e=>{for(let t of bn.inlineDrafts)t.source===e&&bn.removeInlineDraft(t.id)}),wo=J(()=>{for(let e of bn.inlineDrafts)e.source!==`preview-console`&&e.source!==`preview-annotation`&&bn.removeInlineDraft(e.id)}),Oo=bn.history;Z.useEffect(()=>{bi.current=Or},[Or]),Z.useLayoutEffect(()=>{_(`normal`),Me(-1)},[Dn?.transportIdentity,Dn?.owner.kind,Dn?.owner.ownerID]),Z.useLayoutEffect(()=>{if(!wn||ur)return;let e=()=>{let e=Zr.current;!e||e.disabled||e.focus({preventScroll:!0})};e();let t=window.requestAnimationFrame(e);return()=>window.cancelAnimationFrame(t)},[wn,ur]);let ko=Px(vn.kind===`primary`?Sn:null,vn.kind===`primary`?En??void 0:void 0),jo=vn.activity?.phase??ko.phase,No=Do(Z.useMemo(()=>e=>{if(!Sn)return!1;let t=e.runsByOriginalSessionID[Sn];return t?.status===`running`&&t.runtimeKey===l()},[Sn])),Fo=J(e=>{ur&&(Oe(),ee(e),Zr.current?.blur(),aa.getState().refreshCatalogsOnPickerOpen({source:`chatInput:mobilePanel`}))}),Lo=bn.pendingInput,Ro=bn.consumePendingInput;Z.useEffect(()=>{if(Lo===null)return;let e=Ro();if(e){if(e.mode===`append`){if(!e.text.trim())return;let t=tD(bi.current,e.text);bi.current=t,Yr(t)}else if(e.mode===`append-inline`){let t=nD(bi.current,e.text);bi.current=t,Yr(t)}else Mr(e.text);setTimeout(()=>{Zr.current?.focus()},0)}},[Lo,Ro,Mr,Yr]);let zo=n_(Sn,gt.draftID),Bo=m_(h_(zo)),Ho=Or.trim().length>0||ea.length>0||yo||Bo.length>0,Wo=vn.kind===`primary`&&KC(Or,g)===`btw`,Ko=io.mode===`server`?io.items.length>0:uo.length>0||mo.length>0,qo=!Wo&&!Q_(io.mode),Jo=Ho||Ko,Zo=ma(e=>e.stagedMessageEdit?.sessionId===Sn?e.stagedMessageEdit.messageId:null),Qo=jo===`busy`||jo===`retry`,$o=!Wo&&(vn.activity?.canAbort??Qo),es=J(()=>{let e=Zr.current,t=e?.value??Ci().text;t!==Ci().text&&Fr(t,e?.selectionStart??t.length,e?.selectionEnd??e?.selectionStart??t.length);let n=Ci();return{message:n.text,document:n,hasContent:n.text.trim().length>0||ea.length>0||yo||Bo.length>0}}),ts=vn.surfaceID,ns=gt?.draftID??null,rs=ni(Z.useMemo(()=>Za(ts),[ts])),as=ni(Z.useMemo(()=>Ga(ns),[ns])),os=Z.useMemo(()=>ui(Wo?null:rs,!Wo&&as),[rs,as,Wo]),ss=(e=`send`)=>ni.getState().beginFlight(ts,e),cs=()=>{ni.getState().endFlight(ts)},ls=()=>ni.getState().isInFlight(ts),us=Z.useRef(null);Z.useEffect(()=>{if(vn.kind!==`primary`||!Zo){us.current=null;return}if(us.current!==Zo){if(us.current=Zo,Fa){zu().focus();return}zy(Zr)||requestAnimationFrame(()=>zy(Zr))}},[Fa,Zo,vn.kind]);let ds=ni(Z.useMemo(()=>cr(ns),[ns])),fs=Jt(Z.useMemo(()=>e=>Sn?e.bySession[Sn]:void 0,[Sn])),ps=Z.useMemo(()=>{if(!fs?.length)return Xt;let e=new Set(Qe.map(e=>e.id));return fs.filter(t=>!e.has(t.id)).map(Bt)},[fs,Qe]),[ms,hs]=Z.useState(null),[gs,_s]=Z.useState(()=>new Set),vs=ms&&ms.sessionID===Sn&&hi(ms.runtime,bn.captureRuntime())&&!Zt(ms.sessionID,ms.item.messageID)&&!ps.some(e=>e.messageID===ms.item.messageID)?ms.item:null,ys=Z.useMemo(()=>[...ds,...ps,...vs?[vs]:[]],[ds,ps,vs]);Z.useEffect(()=>{_s(e=>{if(e.size===0)return e;let t=new Set;for(let e of ps)t.add(e.messageID);vs&&t.add(vs.messageID);let n=!1;for(let r of e)if(!t.has(r)){n=!0;break}if(!n)return e;let r=new Set;for(let n of e)t.has(n)&&r.add(n);return r})},[ps,vs]);let bs=rt(Z.useMemo(()=>e=>Sn?e.runningBySession[Sn]===!0:!1,[Sn])),xs=J(async()=>{let e=ma.getState().newSessionDraft.draftID;if(!e||!ni.getState().isEstablishing(e))return!1;let t=es();if(!t.hasContent)return!1;let n=n_(null,e),r=n?m_.getState().quotesByKey[n]??[]:[],i=f_(t.document,r),a=te(i,`queue-canonical`);if(!a.ok)return mi.error(u(`chat.chatInput.toast.messageSendFailed`)),!1;if(await vn.selection.flush(),!ni.getState().isEstablishing(e))return!1;let o=PT(aa.getState());if(!o?.providerID||!o?.modelID)return mi.error(u(`chat.chatInput.toast.messageSendFailed`)),!1;let s=RE(ea);return ni.getState().enqueueEstablishingFollowUp({draftID:e,content:a.text,sendConfig:{providerID:o.providerID,modelID:o.modelID,...o.agent?{agent:o.agent}:{},...o.variant?{variant:o.variant}:{}},attachments:s,composerDocument:i})?(Mr(``),n&&i!==t.document&&m_.getState().clear(n),Me(-1),Cr(!1),s.length>0&&bn.clearAttachments(),!0):!1}),Ss=()=>{if(Sn)return!1;let e=ma.getState().newSessionDraft.draftID;return ni.getState().isEstablishing(e)?(xs(),!0):!1},Cs=J(async()=>{if(!vn.active||ls())return;if(vn.kind===`primary`&&Sn){let e=ma.getState().stagedMessageEdit;if(e&&e.sessionId===Sn){await Ns();return}}let e=es(),t=te(e.document);if(!t.ok){mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}let n={chunks:t.chunks??[],semantics:t.semantics??[]},r=t.text,i=r.trimStart(),c=n.chunks.every(e=>e.provenance===`authored`)&&g===`normal`&&i.startsWith(`/`)?Tu(i.slice(1).trim()).split(/\s+/)[0]?.toLowerCase():void 0;if(c&&!Ql(c,e=>Gy(vn,{name:e.name,source:`openchamber`}))||o||!e.hasContent||!Sn)return;if(qo||!kr(vn.deliveryTarget?.kind,io.mode)){Ns(Qo?{delivery:`steer`}:void 0);return}if(n.chunks.every(e=>e.provenance===`authored`)&&JC(r,g)){Ns();return}if(!ss(`queue`))return;let l=vn.transportIdentity,d=vn.runtimeGeneration,f=bn.captureRuntime(),p=ro,m=vn.kind===`primary`?ro?.sessionID??Sn:null,h=[...bn.inlineDrafts].sort((e,t)=>e.createdAt-t.createdAt),_=h.length>0?xe(jh(e.document.text,h),e.document.references).document:e.document,v=zo?m_.getState().quotesByKey[zo]??[]:[],y=f_(_,v),b=y!==_,x=te(y,`queue-canonical`);if(!x.ok){cs(),mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}let S=RE(ea),C=Br(),w=S,T=Ki(),E=!1,O=null,k=()=>{E&&p&&(io.actions.unstageAdmission({requestID:T.requestID,scope:{directory:p.directory,sessionID:p.sessionID}}),E=!1),O&&p&&(A.getState().unstageAdmission(p,O),O=null)},j=async e=>{k(),C&&Ur(C),w.length>0&&await bn.restoreAttachments(w),e&&bn.restoreSyntheticParts(e),h.length>0&&bn.restoreInlineDrafts(h),b&&zo&&m_.getState().restore(zo,v)};try{if(!p){mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}if(io.mode===`server`){if(!Dn){mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}go({stage:()=>{io.actions.stageAdmission({requestID:T.requestID,scope:{directory:p.directory,sessionID:p.sessionID},item:{queueItemID:T.queueItemID,operationID:T.operationID,messageID:T.messageID,content:x.text,createdAt:T.createdAt,attachmentCount:S.length,composerDocument:y,composerMentions:Jr}}),E=!0},clearComposer:()=>{Mr(``),b&&zo&&m_.getState().clear(zo),Me(-1),Cr(!1)}})}else go({stage:()=>{A.getState().bindLegacyQueue(D(p.sessionID),p),A.getState().stageAdmission(p,{requestID:T.requestID,queueItemID:T.queueItemID,operationID:T.operationID,messageID:T.messageID,content:x.text,createdAt:T.createdAt,attachmentCount:S.length,composerDocument:y,composerMentions:Jr}),O=T.requestID},clearComposer:()=>{Mr(``),b&&zo&&m_.getState().clear(zo),Me(-1),Cr(!1)}});if(await vn.selection.flush(),!hi({transportIdentity:l,generation:d},{transportIdentity:a(),generation:s()})){await j();return}if(!hi(f,bn.captureRuntime())){await j();return}if(m&&ma.getState().currentSessionId!==m){await j();return}if(p.transportIdentity!==a()||p.runtimeGeneration!==s()||p.sessionID!==(m??p.sessionID)||m&&z(ma.getState().getDirectoryForSession(m))!==z(p.directory)){await j();return}let t=p,n=vn.kind===`primary`?(()=>{let e=aa.getState(),t=m?ma.getState().getDirectoryForSession(m)??null:null;return PT(e,{expectedConfigKey:Go(t),activeDirectoryKey:e.activeDirectoryKey})})():vn.selection.value.providerID&&vn.selection.value.modelID?{...vn.selection.value,providerID:vn.selection.value.providerID,modelID:vn.selection.value.modelID}:void 0;if(!Yi(n)){await j();return}if(io.mode===`server`){if(!Dn){await j(),mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}let r=Vr({draftKey:Dn,runtime:f,document:e.document,attachments:ea,inlineDrafts:h}),i=t.deliveryTarget.kind===`assistant`?bn.consumeSyntheticParts()?.map(e=>({...e,partID:e.partID??ye()}))??null:null,a,o=[],s=t.deliveryTarget.kind===`assistant`?(()=>{let e=To({plan:{chunks:x.chunks??[],semantics:x.semantics??[]},agents:ir,installedSkillNames:new Set(Pr(le,En).map(e=>e.name)),directory:En,root:Pi||En,confirmedFilePaths:Gr.map(e=>e.path),confirmedDirectoryPaths:Gr.filter(e=>e.kind===`directory`).map(e=>e.path),citationAttachments:ea});return o=e.attachments,ba({text:h.length>0?jh(e.text,h):e.text,attachments:[...S,...e.attachments],semanticParts:Ui(e.semantics,t.directory),syntheticParts:i})})():void 0;try{let e=[...Kr(S),...Kr(o),...(i??[]).flatMap(e=>Kr(e.attachments??[],e.partID))],t=s?new Set(s.flatMap(e=>e.type===`file`?[e.attachmentID]:[])):null;a=e.filter((n,r)=>e.findIndex(e=>e.attachmentID===n.attachmentID)===r&&(!t||t.has(n.attachmentID)))}catch(e){await j(i),mi.error(u(e instanceof RangeError?`chat.chatInput.toast.attachmentsTooLarge`:`chat.chatInput.toast.messageSendFailed`));return}let c=s&&i?Po(s,i.map(e=>({...e,partID:e.partID}))):void 0;try{let e=!1,o=await Ri({capture:r,admit:async()=>{let r=await io.actions.admit({requestID:T.requestID,scope:{directory:t.directory,sessionID:t.sessionID},item:{queueItemID:T.queueItemID,operationID:T.operationID,messageID:T.messageID,content:x.text,composerDocument:y,composerMentions:Jr,sendConfig:n,deliveryTarget:t.deliveryTarget,...s?{deliveryParts:s}:{},...c?{syntheticParts:c}:{},attachmentIssues:[],createdAt:T.createdAt},attachments:a});return r.status===`committed`&&(e=!0,E=!1),r},captureRuntime:bn.captureRuntime,getCurrentDraftKey:()=>Dn,getDocument:Ci,consumeBody:()=>Mr(``),getAttachments:()=>bn.attachments,removeAttachment:bn.removeAttachment,getInlineDrafts:()=>bn.inlineDrafts,removeInlineDraft:bn.removeInlineDraft});if(!e){await j(i),o.status===`stale`&&mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}if(o.status===`partial`){mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}o.status===`committed`&&!ur&&Zr.current?.focus()}catch(e){await j(i),mi.error(u(e instanceof RangeError?`chat.chatInput.toast.attachmentsTooLarge`:`chat.chatInput.toast.messageSendFailed`))}return}if(!A.getState().confirmAdmission(t,{requestID:T.requestID,sendConfig:n,attachments:S.length>0?S:void 0}).ok){await j(),mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}O=null;for(let e of h)bn.removeInlineDraft(e.id);S.length>0&&bn.clearAttachments(),ur||Zr.current?.focus()}catch(e){await j(),mi.error(u(e instanceof RangeError?`chat.chatInput.toast.attachmentsTooLarge`:`chat.chatInput.toast.messageSendFailed`))}finally{cs()}}),Ts=J(()=>{lT(()=>Cs(),()=>{mi.error(u(`chat.chatInput.toast.messageSendFailed`))})}),Ds=J(async(e,t,n,r)=>{if(qo||!vn.draftKey)return!1;try{let i=await Hr({content:e,composerDocument:n,composerMentions:r,attachments:t}),a=ka.getState(),o=a.getDraft(vn.draftKey);return ev(await qr({key:vn.draftKey,expectedRevision:o?.revision??`absent`,payload:i,runtime:a.captureDraftRuntime()}))?!0:(mi.error(u(`chat.chatInput.toast.messageSendFailed`)),!1)}catch{return mi.error(u(`chat.chatInput.toast.messageSendFailed`)),!1}}),Os=J(e=>{if(!(o||qo)){if(yn){yn.sendQueued(e,{options:{delivery:`steer`},manual:!0});return}mi.error(u(`chat.chatInput.toast.messageSendFailed`))}}),ks=J(()=>{Oe(),ee(`agent`),Zr.current?.blur(),aa.getState().refreshCatalogsOnPickerOpen({source:`chatInput:mobileAgentPanel`})}),js=J(()=>{Wa(!0)}),Ms=J(()=>{Ja(!0)}),Ns=J(async e=>{if(!vn.active||o)return;if(!e?.queuedOnly){let t=e?.presetText==null?es():null;if(XC({text:e?.presetText??t?.message??``,inputMode:g,scope:Sn&&En?{sessionId:Sn,directory:En}:null,hasReferences:!!(t?.document.references.length||Jr.length),allowed:vn.kind===`primary`&&Gy(vn,{name:`btw`,source:`openchamber`}),ask:jw.getState().ask,clearText:()=>{Mr(``),M(!1),P(``)},open:()=>{ur&&(Oe(),Zr.current?.blur()),Sn&&eT({sessionId:Sn,directory:En??null})},notify:e=>mi.error(u(`chat.btw.${e}`))}))return}if(Ss()||ls())return;let n=e?.queuedOnly??!1,r=e?.queuedMessageId,i=ma.getState().stagedMessageEdit,c=vn.kind===`primary`&&!n&&!!(Sn&&i?.sessionId===Sn),l=!c&&e?.steerAfterAdmit===!0&&Qo&&!No&&vn.kind===`primary`,d=c?`steer`:l?`queue`:e?.delivery,f=d===`queue`&&(Qo||No)?`queue`:d===`steer`&&Qo?`steer`:void 0,p=e?.presetText==null?es():{message:e.presetText,document:{text:e.presetText,references:[]},hasContent:e.presetText.trim().length>0||ea.length>0||yo},m=e?.presetText==null?Br():null,h=xn,_=te(p.document,`direct-send-display`);if(!_.ok){mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}let v=_.text,y={chunks:_.chunks??[],semantics:_.semantics??[]},b=y.chunks.every(e=>e.provenance===`authored`),S=v.trimStart(),C=b?KC(S,g):null,w=b&&JC(v,g),T=b&&g===`normal`&&/^\/model(?:\s|$)/i.test(S),E=b&&g===`normal`&&S.startsWith(`/`)?Tu(S.slice(1).trim()).split(/\s+/)[0]?.toLowerCase():void 0;if(E&&!Ql(E,e=>Gy(vn,{name:e.name,source:`openchamber`}))||n&&qo)return;if(!n&&T){M(!1),P(``),ur?Fo(`model`):(q.getState().setModelSelectorOpen(!0),aa.getState().refreshCatalogsOnPickerOpen({source:`chatInput:modelCommand`}));return}let D=!c&&!l&&er({hasQueuedMessages:Ko,sessionIsRunning:Qo,autoReviewRunning:No,queuedOnly:n,delivery:f});if(!(!n&&C&&C!==`model`)){if(Sn&&D&&qo)return;if(Sn&&D&&io.mode===`server`){p.hasContent&&Ts();return}if(Sn&&D){p.hasContent&&Ts();let e=uo[0];e&&yn&&await yn.sendQueued(e.queueItemID,{options:Qo?{delivery:`steer`}:void 0});return}}let O=w||!n&&p.hasContent&&!r?[]:r?uo.filter(e=>e.id===r):uo;if(n&&No)return;if(n){if(O.length===0||!Sn)return}else if(!p.hasContent&&!Ko||!Sn&&!wn)return;if(!Sn&&Cn||!ss(f===`queue`?`queue`:`send`))return;let k=!Sn&&wn&&!n&&!w?ma.getState().newSessionDraft.draftID??null:null,N=k?ce(`msg`):void 0;if(k&&N&&!ni.getState().beginEstablishing({draftID:k,primaryMessageID:N})){cs();return}let F=()=>{la(),k&&ni.getState().clearEstablishing(k)},I=e=>{let t=ma.getState().currentSessionId,n=(t?ma.getState().getDirectoryForSession(t):null)??En??``;if(!t||!n){ni.getState().clearEstablishing(e);return}cT({draftID:e,sessionID:t,directory:n,transportIdentity:a(),runtimeGeneration:s(),admitServer:io.mode===`server`?async e=>io.actions.admit({requestID:e.requestID,scope:{directory:n,sessionID:t},item:{queueItemID:e.queueItemID,operationID:e.operationID,messageID:e.messageID,content:e.content,createdAt:e.createdAt,sendConfig:e.sendConfig,attachmentIssues:[],...e.composerDocument?{composerDocument:e.composerDocument}:{},...e.composerMentions?{composerMentions:e.composerMentions}:{}},attachments:e.attachments.length>0?Kr(e.attachments):void 0}):void 0})};if(Sn&&!n&&!w&&!c&&No){cs(),Ts();return}let L=!n&&!w,R=vn.kind===`primary`&&Sn&&f===`queue`&&!n&&!w&&!C&&g===`normal`?ce(`msg`):void 0,z=()=>{R&&hs(e=>e?.item.messageID===R?null:e)};R&&Sn&&(l&&_s(e=>{if(e.has(R))return e;let t=new Set(e);return t.add(R),t}),hs({sessionID:Sn,runtime:bn.captureRuntime(),item:{kind:`pending-admission`,requestID:R,queueItemID:R,operationID:R,messageID:R,content:v,createdAt:Date.now(),phase:`admitting`,attachmentCount:ea.length,composerDocument:p.document,composerMentions:Jr}}));let B=zo?m_.getState().quotesByKey[zo]??[]:[],V=l_(B,v)!==v,H=!1,ee=()=>{!H||!zo||(m_.getState().restore(zo,B),H=!1)};L&&(Mr(``),V&&zo&&(m_.getState().clear(zo),H=!0),Me(-1),Cr(!1));let U=!1,ne,W,G=bn.captureRuntime(),re=!1;try{if(iT({surfaceKind:vn.kind,currentSessionId:Sn,queuedOnly:n,delivery:f,resourcePolicy:w,inputMode:g,localCommand:C})&&Sn){let e=ma.getState().getDirectoryForSession(Sn)??En??null,t=ma.getState().stagedMessageEdit;t&&t.sessionId===Sn&&(W={sessionId:t.sessionId,messageId:t.messageId},ma.getState().beginMessageEditCommit(t.sessionId,t.messageId));let n=aa.getState(),r=IT({captured:PT(n,{expectedConfigKey:Go(e),activeDirectoryKey:n.activeDirectoryKey}),surfaceSelection:vn.selection.value});if(!W&&r?.providerID&&r?.modelID){let t=RE(ea);ne=_i({sessionId:Sn,directory:e,content:V?l_(B,v):v,providerID:r.providerID,modelID:r.modelID,agent:r.agent,variant:r.variant,files:t.map(e=>({type:`file`,mime:e.mimeType,url:e.dataUrl,filename:e.filename}))})}}let e=vn.kind===`primary`?(()=>{if(n){let e=O[0]?.owner;if(e?.state===`bound`||e?.state===`unbound-legacy`)return e.sessionID;if(ro?.sessionID)return ro.sessionID}return Sn})():null,i=n?O[0]?.sendConfig:void 0;if(n&&i||await vn.selection.flush(),e!==null&&ma.getState().currentSessionId!==e)return;let a=async()=>{let t=i?{...i}:vn.kind===`primary`?(()=>{let t=aa.getState();if(!e)return IT({captured:PT(t),surfaceSelection:vn.selection.value});let n=ma.getState().getDirectoryForSession(e)??En??null;return IT({captured:PT(t,{expectedConfigKey:Go(n),activeDirectoryKey:t.activeDirectoryKey}),surfaceSelection:vn.selection.value})})():vn.selection.value.providerID&&vn.selection.value.modelID?{...vn.selection.value,providerID:vn.selection.value.providerID,modelID:vn.selection.value.modelID}:void 0;if(vn.kind===`primary`&&e&&(!t?.providerID||!t?.modelID)){let n=ma.getState().getDirectoryForSession(e)??En??null,r=Go(n);if(aa.getState().activeDirectoryKey!==r&&await aa.getState().activateDirectory(n),ma.getState().currentSessionId===e){let e=aa.getState();t=IT({captured:PT(e,{expectedConfigKey:Go(n),activeDirectoryKey:e.activeDirectoryKey}),surfaceSelection:vn.selection.value})}}return t},o=await a(),s=!1,c=o?.providerID,d=o?.modelID,_=o?.agent,b=o?.variant;if(!c||!d){if(!s){s=!0;try{await aa.getState().loadProviders({forceRefresh:!0,source:`chat-input-send-recovery`}),o=await a(),c=o?.providerID,d=o?.modelID,_=o?.agent,b=o?.variant}catch{}}if(!c||!d){console.warn(`Cannot send message: provider or model not selected`),mi.error(u(`chat.chatInput.toast.messageSendFailed`));return}}Sn&&!n&&!w&&f!==`queue`&&await Mo(Sn)&&await Wi(Sn);let S={...f?{delivery:f}:{},commitStagedMessageEdit:!n&&f!==`queue`,...ne?{messageID:ne.messageID,ticket:ne}:R||N?{messageID:R??N}:{},...e?{sessionId:e,directoryHint:ma.getState().getDirectoryForSession(e)??En??null}:vn.kind===`primary`&&Sn?{sessionId:Sn,directoryHint:ma.getState().getDirectoryForSession(Sn)??En??null}:{}},T=``,E=[],D,M=[],P=new Set(Pr(le,En).map(e=>e.name)),L=[],H=w?void 0:bn.consumeSyntheticParts();for(let e=0;e<O.length;e++){let t=O[e],n=t.composerDocument&&te(t.composerDocument,`direct-send-display`),r=n&&n.ok?{chunks:n.chunks??[],semantics:n.semantics??[]}:null,i=t.owner?.state===`bound`?t.owner.directory:En,a=new Set(Pr(le,i).map(e=>e.name)),o=To({plan:r??Ba(t.content),agents:ir,installedSkillNames:a,directory:i,root:i,confirmedFilePaths:t.composerMentions?.filter(e=>e.kind===`file`||e.kind===`directory`).map(e=>e.path||e.value),confirmedDirectoryPaths:t.composerMentions?.filter(e=>e.kind===`directory`).map(e=>e.path||e.value),citationAttachments:t.attachments});if(L.push(...o.semantics),!D&&o.agent&&(D=o.agent),e===0)T=o.text,E=Xi([...RE(t.attachments),...o.attachments]);else{let e=RE(t.attachments);M.push({text:o.text,attachments:Xi([...e,...o.attachments])})}}if(!n&&p.hasContent){let e=RE(ea),t=To({plan:y,agents:ir,installedSkillNames:P,directory:En,root:Pi||En,confirmedFilePaths:Gr.map(e=>e.path),confirmedDirectoryPaths:Gr.filter(e=>e.kind===`directory`).map(e=>e.path),citationAttachments:ea});L.push(...t.semantics),!D&&t.agent&&(D=t.agent);let n=V?l_(B,t.text):t.text;O.length===0?(T=n,E=Xi([...e,...t.attachments])):M.push({text:n,attachments:Xi([...e,...t.attachments])})}let ie=Sn??(wn?`draft`:null),ae=[];if(!n&&ie&&!w&&(ae=[...bn.inlineDrafts].sort((e,t)=>e.createdAt-t.createdAt)),ae.length>0)if(O.length===0)T=jh(T,ae);else if(M.length>0){let e=M[M.length-1];e.text=jh(e.text,ae)}else T=jh(T,ae);if(H&&H.length>0&&M.push(...so(H)),Ya&&M.push({text:Ya.contextText,synthetic:!0}),$a&&(M.push({text:$a.instructionsText,synthetic:!0}),M.push({text:$a.contextText,synthetic:!0})),M.push(...Ui(L,Sn&&ma.getState().getDirectoryForSession(Sn)||En)),!T&&E.length===0&&M.length===0)return;if(k&&N){if(!await Eo({messageID:N,providerID:c,modelID:d,agent:_,text:T,attachments:E,additionalParts:M,agentMentionName:D}))return;if(!ni.getState().isEstablishing(k)){F();return}}let oe=async()=>{if(ee(),F(),ro&&O.length>0&&A.setState(e=>{let t=j(ro),n=e.queuedMessages[t]??[],r=new Set(O.map(e=>e.id));return{queuedMessages:{...e.queuedMessages,[t]:[...O,...n.filter(e=>!r.has(e.id))]}}}),n)return H&&bn.restoreSyntheticParts(H),!0;bn.pendingInput?.text===p.message&&bn.consumePendingInput(),m&&Ur(m);let e=!0;return h.length>0&&(e=await bn.restoreAttachments(h)),H&&bn.restoreSyntheticParts(H),ae.length>0&&bn.restoreInlineDrafts(ae),e};if(!w&&Sn&&r){let e=ro?x(A.getState(),ro).find(e=>e.id===r||e.queueItemID===r):void 0;ro&&e?.queueItemID&&e.operationID&&_o(ro,e.queueItemID,e.operationID)}else!w&&Sn&&O.length>0&&ro&&ho(ro);!n&&!w&&(Mr(``),Me(-1),Cr(!1),rT({queuedOnly:n,resourcePolicy:w,rootAttachmentCount:h.length})&&bn.clearAttachments());let se=()=>tT({currentSessionId:Sn,messageRef:bi,replacePlainDocument:Mr}),ce=T.trimStart();if(g===`normal`&&ce.startsWith(`/`)){let e=Tu(ce.slice(1).trim()).split(/\s+/)[0]?.toLowerCase();if(!Ql(e,e=>Gy(vn,{name:e.name,source:`openchamber`})))return;if(Sn&&(e===`undo`||e===`redo`)&&YC(ce,g)&&se(),e===`undo`&&Sn){try{await ma.getState().handleSlashUndo(Sn),t?.()}catch(e){mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.messageSendFailed`))}return}if(e===`new`){YC(ce,g)&&se(),await yn?.shortcut(`new`);return}if(e===`redo`&&Sn){try{await ma.getState().handleSlashRedo(Sn),t?.()}catch(e){mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.messageSendFailed`))}return}if(e===`fork`&&Sn){await nT({command:`fork`,consumeCommandText:se,forkSession:()=>ma.getState().forkCurrentSession(Sn),waitForConnection:po,getDirectoryForSession:()=>ma.getState().getDirectoryForSession(Sn),summarizeSession:async()=>void 0,onCompactError:()=>void 0,onForkError:e=>{mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.messageSendFailed`))}});return}if(e===`timeline`&&Sn&&Ti.timeline){wr(!0);return}if(e===`reload`&&K()){se(),mi.info(u(`chat.chatInput.toast.reloadStarted`)),Xo().then(()=>{mi.success(u(`chat.chatInput.toast.reloadSucceeded`))},()=>{mi.error(u(`chat.chatInput.toast.reloadFailed`))});return}if(e===`compact`&&Sn){nT({command:`compact`,consumeCommandText:se,forkSession:async()=>void 0,waitForConnection:po,getDirectoryForSession:()=>vn.directory??``,summarizeSession:e=>Dn?vn.backend.compact({operation:`compact`,surfaceID:vn.surfaceID,transportIdentity:vn.transportIdentity,runtimeGeneration:vn.runtimeGeneration,sessionID:Sn,directory:e,draftKey:Dn,deliveryTarget:vn.deliveryTarget,providerID:c,modelID:d,agent:_,variant:b}):Promise.reject(Error(`chat-input-surface-incomplete`)),onCompactError:()=>{mi.error(u(`chat.chatInput.toast.compactFailed`))},onForkError:()=>void 0});return}if(e===`summary`&&Sn){try{await po();let e=ce.replace(/^\/\u2003?summary\b/i,``).trim(),n=e?` focused on: ${e}`:``,r=e?`The user asked you to focus this summary on: ${e}. Prioritize that topic; mention unrelated threads only in passing.`:``,i=await xa(`session.summary.visible`,{topic_line:n}),a=await xa(`session.summary.instructions`,{topic_block:r});await kn(i,c,d,_,[],D,[{text:a,synthetic:!0}],b,g,S),t?.()}catch(e){await oe(),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.summaryFailed`))}return}if(e===`workspace-review`&&(Sn||wn)){try{await po();let e=await xa(`session.review.visible`),n=await xa(`session.review.instructions`);await kn(e,c,d,_,[],D,[{text:n,synthetic:!0}],b,g,S),t?.()}catch(e){await oe(),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.reviewFailed`))}return}if(e===`handoff-review`&&Sn&&!ur&&!K()){Fn(!0);return}if(e===`goal`&&(Sn||wn)){F(),br.getState().setArmed(!0);let e=qC(ce,g)??``;Mr(e),bi.current=e,Me(-1),e||Cr(!1);return}if(e===`craft-goal`&&(Sn||wn)){try{await po();let e=ce.replace(/^\/\u2003?craft-goal\b/i,``).trim(),n=await xa(`session.craftGoal.visible`,{idea_block:e?`\n\nHere is my initial idea:\n${e}`:``}),r=await xa(`session.craftGoal.instructions`);await kn(n,c,d,_,[],D,[{text:r,synthetic:!0}],b,g,S),t?.()}catch(e){await oe(),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.craftGoalFailed`))}return}if(e===`catch-up`&&(Sn||wn)){try{await po();let e=await xa(`session.catchup.visible`),n=await xa(`session.catchup.instructions`);await kn(e,c,d,_,[],D,[{text:n,synthetic:!0}],b,g,S),t?.()}catch(e){await oe(),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.catchUpFailed`))}return}if(e===`debug`&&(Sn||wn)){try{await po();let e=await xa(`session.debug.visible`),n=await xa(`session.debug.instructions`);await kn(e,c,d,_,[],D,[{text:n,synthetic:!0}],b,g,S),t?.()}catch(e){await oe(),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.debugFailed`))}return}if(e===`weigh`&&(Sn||wn)){try{await po();let e=await xa(`session.weigh.visible`),n=await xa(`session.weigh.instructions`);await kn(e,c,d,_,[],D,[{text:n,synthetic:!0}],b,g,S),t?.()}catch(e){await oe(),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.weighFailed`))}return}if(e===`explore`&&(Sn||wn)){try{await po();let e=await xa(`session.explore.visible`),n=await xa(`session.explore.instructions`);await kn(e,c,d,_,[],D,[{text:n,synthetic:!0}],b,g,S),t?.()}catch(e){await oe(),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.exploreFailed`))}return}}let ue=Sn&&ma.getState().getDirectoryForSession(Sn)||En;if(Tn||Sn&&!kE(Sn,ue)){let e=await xi().catch(()=>null);e&&M.push({text:dn(e),synthetic:!0})}re=!0;let de=kn(T,c,d,_,E,D,M.length>0?M:void 0,b,g,S);U=!0,de.finally(()=>{z(),cs(),W&&hi(G,bn.captureRuntime())&&ma.getState().endMessageEditCommit(W.sessionId,W.messageId)}).catch(()=>{}),k&&de.then(()=>{I(k)}).catch(()=>{ni.getState().clearEstablishing(k)}),typeof window>`u`?t?.():window.requestAnimationFrame(()=>{t?.()}),de.then(async()=>{if(l&&R&&e){let t=()=>{_s(e=>{if(!e.has(R))return e;let t=new Set(e);return t.delete(R),t})};if(Zt(e,R)||!cn({sessionID:e}))t();else{let n=ma.getState().getDirectoryForSession(e)??En??``;try{await an({sessionID:e,inboxID:R,directory:n})}catch{t(),Jt.getState().list(e).some(e=>e.id===R)&&mi.error(u(`chat.chatInput.toast.messageSendFailed`))}}}Ya&&Xa(null),$a&&eo(null)}).catch(e=>{ne&&da(ne),oe().then(e=>{e||mi.error(u(`chat.chatInput.toast.messageSendFailed`))});let t=e instanceof Error?e.message:typeof e==`string`?e:String(e??``),n=t.toLowerCase();console.error(`Message send failed:`,t||e);let r=n.includes(`timeout`)||n.includes(`timed out`)||n.includes(`may still be processing`)||n.includes(`being processed`)||n.includes(`failed to fetch`)||n.includes(`networkerror`)||n.includes(`network error`)||n.includes(`gateway timeout`)||n===`failed to send message`;if(n.includes(`payload too large`)||n.includes(`413`)||n.includes(`entity too large`)){mi.error(u(`chat.chatInput.toast.attachmentsTooLarge`));return}if(r){h.length>0&&mi.error(u(`chat.chatInput.toast.sendAttachmentsFailed`));return}mi.error(t||u(`chat.chatInput.toast.messageSendFailed`))}),ur||Zr.current?.focus()}finally{re||(ne&&da(ne),W&&hi(G,bn.captureRuntime())&&ma.getState().endMessageEditCommit(W.sessionId,W.messageId)),U||(z(),L&&m&&(Ur(m),ee()),cs(),k&&I(k))}}),Ps=J(()=>{if(KC(es().message,g)===`btw`){Ns();return}if(Ss()||ls())return;let e=es(),t=g===`normal`&&e.hasContent&&Sn&&(Qo||No),n=t&&Q_(io.mode)&&kr(vn.deliveryTarget?.kind,io.mode),r=uT({followUpBehavior:no,ctrlEnter:!1,canQueue:!!t,queueUsable:!!n,primary:vn.kind===`primary`,sessionIsRunning:Qo,autoReviewRunning:No});r.kind===`queue`?Ts():r.delivery?Ns({delivery:r.delivery}):Ns()}),Fs=J(e=>{if(ls())return;let t=(Zr.current?.value??bi.current).trim(),n=t?`${e}\n${t}`:e;Ns({presetText:n})}),zs=J(e=>{let t=nD(Ci().text,e);Yr(t),Zr.current&&(Zr.current.value=t),setTimeout(()=>{Zr.current?.focus()},0)}),Bs=Z.useRef(null),Vs=J(()=>{La(null);let e=Ci().text;Bs.current={base:e,expected:e}}),Hs=J((e,t=!1)=>{let n=Bs.current;if(!n)return;if(Ci().text!==n.expected){Bs.current=null,La(null);return}let r=nD(n.base,e),i=e.trim();La(t||!i?null:{draftID:sn,text:r,start:r.length-i.length-1,end:r.length-1}),r!==n.expected&&(Yr(r),Zr.current&&(Zr.current.value=r),n.expected=r),t&&(Bs.current=null)}),Us=J(e=>Hs(e,!0)),Ws=J(()=>{La(null),Bs.current=null}),Ks=J(e=>{if(ls())return;let t=nD(Zr.current?.value??bi.current,e);Ns({presetText:t})}),qs=Z.useRef(null),Js=J(e=>{let t=Ci().text,n=nD(t,e);qs.current={base:t,expected:n},Yr(n),Zr.current&&(Zr.current.value=n)}),Ys=J((e,t)=>{let n=qs.current;if(qs.current=null,!n||Ci().text!==n.expected)return;let r=nD(n.base,e);Yr(r),Zr.current&&(Zr.current.value=r),t&&Ps()}),Xs=J(e=>Ys(e,!1)),Zs=J(e=>Ys(e,!0)),Qs=J(()=>{qs.current=null}),$s=bn.pendingPreset,ec=bn.consumePendingPreset;Z.useEffect(()=>{if($s==null)return;let e=ec();e&&Fs(e)},[$s,ec,Fs]);let tc=J(()=>{Mr(``),Me(-1),xn.length>0&&bn.clearAttachments(),ro&&ho(ro),M(!1),T(!1),g===`shell`&&_(`normal`)}),nc=J(e=>{if(!vn.active||xl(e))return;if(Mi&&yc(e,Mi)&&!hr){let t=Zr.current;if(!(t&&t.selectionStart!==t.selectionEnd)){e.preventDefault(),tc();return}}if(g===`shell`&&e.key===`Escape`){e.preventDefault(),_(`normal`);return}if(g===`shell`&&e.key===`Backspace`&&Or.length===0){e.preventDefault(),_(`normal`);return}if(e.key===`Backspace`&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&!e.shiftKey&&Bo.length>0){let t=Zr.current,n=t?.selectionStart??0,r=t?.selectionEnd??0;if(n===0&&r===0&&zo){e.preventDefault(),m_.getState().removeLast(zo);return}}if((e.key===`Backspace`||e.key===`Delete`)&&!e.metaKey&&!e.ctrlKey){let t=Zr.current,n=t?.selectionStart??Or.length,r=t?.selectionEnd??Or.length,i=Lr({key:e.key,selectionStart:n,selectionEnd:r,altKey:e.altKey});if(i){let t=OE(Er.getDocument().text,i.start);e.preventDefault(),Yr(t.text),requestAnimationFrame(()=>{Zr.current?.setSelectionRange(t.caret,t.caret),Tc()}),Ec(t.text,t.caret);return}let a=Kt(Or,xn.filter(vt).map(e=>e.filename),{key:e.key,selectionStart:n,selectionEnd:r,altKey:e.altKey});if(a){let t=new Set(a.removedFilenames.map(e=>e.toLowerCase())),n=OE(a.text,a.caret);e.preventDefault(),Yr(n.text);for(let e of xn)t.has(e.filename.toLowerCase())&&bn.removeAttachment(e.id);requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=n.caret,Zr.current.selectionEnd=n.caret),Tc()}),Ec(n.text,n.caret);return}let o=ql(Or,ha.keys(),{key:e.key,selectionStart:n,selectionEnd:r,altKey:e.altKey});if(o){let t=OE(o.text,o.caret);e.preventDefault(),Yr(t.text),requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=t.caret,Zr.current.selectionEnd=t.caret),Tc()}),Ec(t.text,t.caret);return}if(n===r&&!e.altKey){let t=e.key===`Backspace`?n-1:n;if(t>=0&&t<Or.length){let n=Ht(Or,xn.map(e=>e.filename)).find(e=>t>=e.start&&t<e.end);if(n){let t=V(Or.slice(n.start+1,n.end-1)).trim(),r=xn.find(e=>e.filename.toLowerCase()===t.toLowerCase()),i=Or[n.end]===` `?n.end+1:n.end,a=`${Or.slice(0,n.start)}${Or.slice(i)}`;e.preventDefault(),Yr(a),r&&bn.removeAttachment(r.id),requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=n.start,Zr.current.selectionEnd=n.start),Tc()}),Ec(a,n.start);return}let r=Jr.find(n=>(n.kind===`file`||n.kind===`directory`)&&Or.slice(n.range.start,n.range.end)===`@${n.value}`&&(t>=n.range.start&&t<n.range.end||e.key===`Backspace`&&Or[t]===` `&&n.range.end===t));if(r){let t=Or[r.range.end]===` `?r.range.end+1:r.range.end,n=`${Or.slice(0,r.range.start)}${Or.slice(t)}`;e.preventDefault(),Yr(n),requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=r.range.start,Zr.current.selectionEnd=r.range.start),Tc()}),Ec(n,r.range.start);return}let i=t;for(;i>0&&!/\s/.test(Or[i-1]);)--i;let a=t+1;for(;a<Or.length&&!/\s/.test(Or[a]);)a+=1;let o=Or.slice(i,a),s=o.slice(1);if(SE.test(o)&&!na.current.has(s.toLowerCase())&&wa({mention:s,confirmed:Xr.has(s),terminated:a<Or.length&&/\s/.test(Or[a])})){let t=Or[a]===` `?a+1:a,n=`${Or.slice(0,i)}${Or.slice(t)}`;e.preventDefault(),Yr(n),requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=i,Zr.current.selectionEnd=i),Tc()}),Ec(n,i);return}}}}let t=(e.key===`ArrowUp`||e.key===`ArrowDown`)&&!e.metaKey&&!e.ctrlKey;if(k&&yi.current&&(e.key===`Enter`||e.key===`Escape`||e.key===`Tab`||t)){e.preventDefault(),e.stopPropagation(),yi.current.handleKeyDown(e.key);return}if(w&&pi.current&&(e.key===`Enter`||e.key===`Escape`||e.key===`Tab`||t)){e.preventDefault(),e.stopPropagation(),pi.current.handleKeyDown(e.key);return}if(qi&&e.key===`Escape`){e.preventDefault(),Cr(!1);return}let n=ji&&!ji.includes(`shift`)?Gs(`shift+${ji}`):``,r=n&&yc(e,n)?-1:+!!yc(e,ji);if(r!==0&&!k&&!w){e.preventDefault(),e.stopPropagation(),yn?.shortcut(`cycle`,r),requestAnimationFrame(()=>{Zr.current?.focus({preventScroll:!0})});return}let i=k||w,a=Zr.current?.selectionStart===0&&Zr.current?.selectionEnd===0,o=Zr.current?.selectionStart===Or.length&&Zr.current?.selectionEnd===Or.length,s=!i&&(Or.length===0||a),c=!i&&(Or.length===0||o);if(g===`normal`&&!i&&!e.metaKey&&!e.ctrlKey&&!e.altKey){let t=Zr.current,n=t?.selectionStart??-1,r=t?.selectionEnd??-1;if(t&&n>=0){let t=(t,n,r)=>{e.preventDefault(),Yr(t),requestAnimationFrame(()=>{let e=Zr.current;e&&(e.selectionStart=n,e.selectionEnd=r),Tc()}),Ec(t,r)},i={"`":["`","`"],"*":[`*`,`*`],_:[`_`,`_`],"~":[`~`,`~`],"(":[`(`,`)`],"[":[`[`,`]`],"{":[`{`,`}`],'"':[`"`,`"`],"'":[`'`,`'`]};if(r>n&&i[e.key]){let[a,o]=i[e.key],s=Or.slice(n,r);t(`${Or.slice(0,n)}${a}${s}${o}${Or.slice(r)}`,n+a.length,r+a.length);return}if(e.key==="`"&&n===r){let e=Or.slice(0,n);if(/(^|\n)``$/.test(e)){let n=`${e}\`\n\n\`\`\`${Or.slice(r)}`,i=e.length+2;t(n,i,i);return}}}}if(e.key===`ArrowUp`&&!e.metaKey&&!e.ctrlKey&&s&&Oo.length>0){if(e.preventDefault(),je===-1)Me(0),Rr({text:Oo[0],references:[]});else if(je<Oo.length-1){let e=je+1;Me(e),Rr({text:Oo[e],references:[]})}requestAnimationFrame(()=>{Zr.current?.setSelectionRange(0,0)});return}if(e.key===`ArrowDown`&&!e.metaKey&&!e.ctrlKey&&c&&je>=0){if(e.preventDefault(),je===0)Me(-1),zr();else{let e=je-1;Me(e),Rr({text:Oo[e],references:[]})}return}if(e.key===`Enter`&&!e.shiftKey){if(e.preventDefault(),KC(es().message,g)===`btw`){Ns();return}if(Ss()||ls())return;let t=e.ctrlKey||e.metaKey,n=g===`normal`&&Ho&&Sn&&(Qo||No),r=n&&Q_(io.mode)&&kr(vn.deliveryTarget?.kind,io.mode),i=uT({followUpBehavior:no,ctrlEnter:t,canQueue:!!n,queueUsable:!!r,primary:vn.kind===`primary`,sessionIsRunning:Qo,autoReviewRunning:No});i.kind===`queue`?Ts():i.steerAfterAdmit?Ns({steerAfterAdmit:!0}):i.delivery?Ns({delivery:i.delivery}):Ns()}}),rc=J(()=>{if(!qi){Va(null);return}if(!k&&!w){Va(null);return}let e=Zr.current,t=ri.current;if(!e||!t)return;let n=zE(e,e.selectionStart??Or.length);if(!n)return;let r=e.getBoundingClientRect(),i=t.getBoundingClientRect(),a=r.top-i.top+(n.top-e.scrollTop),o=r.left-i.left+(n.left-e.scrollLeft),s=a-8,c=i.height-a-8,l=c>=260||c>=s?`below`:`above`,u=w?520:k?450:360,d=Math.max(8,Math.min(o-24,i.width-u-8)),f=Math.max(120,Math.min(260,l===`below`?c:s));Va({top:l===`below`?a+22:a-6,left:d,place:l,maxHeight:f})});Z.useLayoutEffect(()=>{rc()},[rc,Or,k,w,qi]),Hn(`resize`,rc,()=>qi?window:null);let ic=J(()=>{Ha.current&&=(clearTimeout(Ha.current),null),Vi(!0),Ha.current=setTimeout(()=>{Vi(!1),Ha.current=null},1800)}),ac=Z.useRef(new Set),[oc,sc]=Z.useState(()=>new Set),cc=JSON.stringify([vn.transportIdentity,vn.runtimeGeneration,vn.surfaceID,vn.directory,Sn]),lc=$o&&oc.has(cc),uc=J(async()=>{if(ac.current.has(cc))return;let e=cc;ac.current.add(e),sc(new Set(ac.current)),bn.abortPrompt.clear(),ic();let t;try{let e=vn.kind===`secondary`?yn?.shortcut(`abort`):An();await Promise.race([e,new Promise(e=>{t=setTimeout(()=>{vn.kind===`secondary`&&mi.error(u(`chat.chatInput.stopUnconfirmed`)),e()},5e3)})])}catch(e){console.error(`[ChatInput] abort failed`,e)}finally{clearTimeout(t),ac.current.delete(e),sc(new Set(ac.current))}}),dc=J((e=1)=>{if(sr)return;let t=qa(ir,vn.selection.value.agent??Vn,e);if(!t||!vn.selection.change)return;let n=ei({providerID:vn.selection.value.providerID??``,modelID:vn.selection.value.modelID??``,agent:vn.selection.value.agent??null},t,ir,or);vn.selection.change({...vn.selection.value,...n,agent:n.agent??void 0}),vn.kind===`primary`&&(q.getState().addRecentAgent(t),vn.sessionID&&Sr.getState().saveSessionAgentSelection(vn.sessionID,t))});Ne.current=dc;let[fc,pc]=Z.useState(null),[hc,gc]=Z.useState(!1),_c=Z.useRef(null),vc=Z.useRef(!0);Z.useLayoutEffect(()=>{vc.current=!0},[sn]),Z.useLayoutEffect(()=>{let e=_c.current;e&&(hc||ja)&&vc.current&&(e.scrollLeft=e.scrollWidth)},[Or,hc,ja]);let bc=J(e=>{pc(t=>t===e?t:e)}),xc=ur&&!Fa&&!Zi&&Or.length>0,[Sc,Cc]=Z.useState(!1),{size:wc,resize:Tc}=pE({inputRef:Zr,message:Or,expanded:Zi,isMobile:ur,dictationHeight:fc,manualHeight:xc&&Sc});Z.useLayoutEffect(()=>{if(!ur||!hc)return;let e=Zr.current;e&&(e.style.overflowY=`auto`,e.scrollTop=e.scrollHeight,Hi.current&&(Hi.current.style.transform=`translateY(-${e.scrollTop}px)`))},[ur,hc,Or]);let Ec=J((e,t,n=`manual`,r)=>{let i=xu({text:e,cursor:t,inputMode:g,mentionInputSource:n,insertedText:r});if(ti.current=i,!i){M(!1),T(!1);return}if(i.kind===`slash-command`){P(i.query),M(!0),T(!1);return}M(!1),O(i.query),T(!0)}),Dc=J((e,t,n,r=`manual`,i)=>{let a=e,o=t,s=n;if(g===`normal`&&!Qr.current&&ga.size>0&&e.includes(`/`)){let r=wu(e,ga,n);r&&(a=r.text,o=t+(r.caret-n),s=r.caret)}let c=Fr(a,o,s,(e,t)=>{let n=[...e];for(let i of fo(t.text,{agentNames:ta,includeUnterminatedPastedReferences:r===`paste`,confirmedValues:new Set(e.flatMap(e=>e.kind===`file`||e.kind===`directory`?[e.value]:[]))}))n=du(n,{kind:i.kind,value:i.value,path:i.value,label:i.value,range:{start:i.start,end:i.end}});return n}),l=Ci(),u=c.requiresTextCorrection||o!==c.start||s!==c.end||a!==e;return requestAnimationFrame(()=>{let e=Zr.current;e&&By(u,Qr.current)&&(e.value=l.text,e.setSelectionRange(c.start,c.end)),Tc()}),Ec(l.text,c.end,r,i),{document:l,selection:c}}),Oc=J((e,t=`manual`)=>{if(!e)return;let n=Zr.current;if(!n){let n=Or+e;Dc(n,n.length,n.length,t,e);return}let r=n.selectionStart??Or.length,i=n.selectionEnd??Or.length,a=`${Or.substring(0,r)}${e}${Or.substring(i)}`,o=r+e.length;Dc(a,o,o,t,e)}),kc=J((e,t)=>{let n=new Set(it(xn.map(e=>e.filename),e,t));if(n.size!==0)for(let e of xn)n.has(e.filename)&&bn.removeAttachment(e.id)}),Ac=J(e=>{bn.removeAttachment(e.id)}),jc=J(()=>{ai.current=!1,di.current=[],oi.current&&=(clearTimeout(oi.current),null)}),Mc=J(()=>{oi.current&&clearTimeout(oi.current),oi.current=setTimeout(()=>{jc()},700)}),Nc=J(()=>{ci.current=!1,li.current&&=(clearTimeout(li.current),null)}),Pc=J(()=>{ci.current=!0,li.current&&clearTimeout(li.current),li.current=setTimeout(()=>{ci.current=!1,li.current=null},700)}),Fc=J(e=>{!K()||!ai.current||e.nativeEvent?.inputType===`insertFromDrop`&&(e.preventDefault(),jc())}),Ic=J(e=>{if(hr)return;let t=e.nativeEvent;if(K()&&ai.current){let n=di.current;if(t?.inputType===`insertFromDrop`||n.some(t=>t.length>0&&e.target.value.includes(t))){jc();return}}let n=e.target.value;kc(bi.current,n);let r=e.target.selectionStart??n.length,i=t?.inputType?.startsWith(`insertFromPaste`)?EE(bi.current,n):``,a=i.includes(`@`)||ci.current;ci.current&&Nc();let o=a?`paste`:`manual`;if(g===`normal`&&n.startsWith(`!`)){let e=n.slice(1),t=Math.max(0,r-1);_(`shell`),Mr(e),Tc(),M(!1),T(!1),requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=t,Zr.current.selectionEnd=t)});return}Dc(n,r,e.target.selectionEnd??r,o,i)});Z.useEffect(()=>()=>{jc(),Nc()},[jc,Nc]);let Lc=J(e=>{let t=Array.from(new Set(e.map(e=>e.trim()).filter(Boolean)));if(t.length===0)return;let n=t.map(e=>`@${e}`).join(` `),r=Zr.current,i=r?.selectionStart??Or.length,a=r?.selectionEnd??Or.length,o=su(n,Or.slice(0,i),Or.slice(a)),s=`${Or.slice(0,i)}${o}${Or.slice(a)}`;kc(Or,s),wi(s,t);let c=gu(s,i+o.length);$r.current=c,T(!1),O(``),requestAnimationFrame(()=>{Zr.current?.setSelectionRange(c,c),Tc(),Ec(s,c)})}),Rc=J(async e=>{let t=Array.from(e.clipboardData.files||[]).filter(e=>e.type.startsWith(`image/`)),n=Array.from(e.clipboardData.items||[]).filter(e=>e.kind===`file`&&e.type.startsWith(`image/`)).map(e=>e.getAsFile()).filter(e=>!!e),r=t.length>0?t:(()=>{if(n.length<=1)return n;let e=n.find(e=>/image\/(png|webp|jpe?g|gif)/i.test(e.type));return e?[e]:[n[0]]})(),i=PE(e.clipboardData);if(r.length===0&&i.length>0&&(Sn||wn)){e.preventDefault(),Lc(i);return}if(r.length===0&&g===`normal`&&(Sn||wn)){let t=Zr.current,n=t?.selectionStart??-1,r=t?.selectionEnd??-1;if(t&&r>n){let t=e.clipboardData.getData(`text`).trim(),i=Or.slice(n,r);if(wE.test(t)&&!/\s/.test(t)&&i.trim().length>0&&!i.includes(`](`)){e.preventDefault();let a=`${Or.slice(0,n)}[${i}](${t})${Or.slice(r)}`,o=n+1+i.length+2+t.length+1;Yr(a),requestAnimationFrame(()=>{let e=Zr.current;e&&(e.selectionStart=o,e.selectionEnd=o),Tc()}),Ec(a,o,DE(t),t);return}}}let a=e.clipboardData.getData(`text`),o=r.length>0&&i.includes(AC(a.trim().replace(/^(['"])(.*)\1$/,`$2`)))?``:a;if(r.length===0){if(g===`normal`&&YT(Ci(),o)){e.preventDefault();let t=Ci().text,n=Zr.current,r=n?.selectionStart??Or.length,i=n?.selectionEnd??Or.length,a=XT(o,Or,Ci().references.flatMap(e=>e.kind===`paste`?[{id:e.id,token:e.display,text:e.text,characterCount:e.characterCount,index:e.index}]:[]),({index:e,count:t})=>u(`chat.chatInput.pastedTextReference`,{index:e,count:t}),JT(Ci())),s=Ir(r,i,{id:a.id,kind:`paste`,text:a.text,characterCount:a.characterCount,index:a.index,display:a.token},{inlineBoundaries:!0,padDocumentEdges:!0}),c=gu(s.document.text,s.caret);Zr.current&&(Zr.current.value=s.document.text),requestAnimationFrame(()=>{Zr.current?.setSelectionRange(c,c),Tc()}),Ec(s.document.text,c),kc(t,s.document.text);return}o.includes(`@`)&&Pc();return}if(!Sn&&!wn){o.includes(`@`)&&Pc();return}e.preventDefault();let s=ln(r,[...xn.map(e=>e.filename),...Si.current]),c=Ot(s),l=Ci().text,d=Zr.current,f=d?.selectionStart??Or.length,p=d?.selectionEnd??Or.length,m=g===`normal`&&YT(Ci(),o)?XT(o,Or,Ci().references.flatMap(e=>e.kind===`paste`?[{id:e.id,token:e.display,text:e.text,characterCount:e.characterCount,index:e.index}]:[]),({index:e,count:t})=>u(`chat.chatInput.pastedTextReference`,{index:e,count:t}),JT(Ci())):null,h=o?`${o}${/\s$/.test(o)?``:` `}${c}`:c,_=su(h,Or.slice(0,f),Or.slice(p));if(m){let e=Ir(f,p,{id:m.id,kind:`paste`,text:m.text,characterCount:m.characterCount,index:m.index,display:m.token},{inlineBoundaries:!0,padDocumentEdges:!0}),t=gu(e.document.text,e.caret),n=`${e.document.text.slice(0,t)}${c}${e.document.text.slice(t)}`;Dc(n,t+c.length,t+c.length,DE(n),c),kc(l,n)}else Oc(_,DE(_)),kc(l,`${Or.slice(0,f)}${_}${Or.slice(p)}`);for(let e=0;e<r.length;e+=1){let t=s[e],n=TE(r[e],t);Si.current.add(t);try{await bn.addAttachment(n)}catch(e){console.error(`Clipboard image attach failed`,e),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.clipboardAttachFailed`))}finally{Si.current.delete(t)}}}),zc=J((e,t)=>{let n=e.currentTarget,r=n.selectionStart??0,i=n.selectionEnd??r;if(i<=r)return;let a=jl(r,i,[...Ht(Or,xn.filter(vt).map(e=>e.filename)),...Fl(Or,ha.keys()),...Ci().references]),o=a?.start??r,s=a?.end??i,c=Or.slice(o,s),l=Ee(c);if(!(l===c&&!a))if(e.preventDefault(),e.clipboardData.setData(`text/plain`,l),t===`cut`){let e=`${Or.slice(0,o)}${Or.slice(s)}`;Dc(e,o,o),requestAnimationFrame(()=>{Zr.current?.setSelectionRange(o,o),Tc()})}else a&&(a.start!==r||a.end!==i)&&requestAnimationFrame(()=>{Zr.current?.setSelectionRange(o,s)})}),Bc=J(e=>{zc(e,`copy`)}),Vc=J(e=>{zc(e,`cut`)}),Hc=e=>{let t=Zr.current,n=t&&document.activeElement===t?t.selectionStart??$r.current:$r.current;return ku(e,n)},Uc=()=>{Wu(ur)||Zr.current?.focus()},Wc=J(e=>{let t=Hc(Or.length),n=Cu(Or,t,ti.current),r=Or.substring(0,t).lastIndexOf(`@`),i=e.relativePath&&e.relativePath.trim().length>0?e.relativePath.trim():Qc(e.path)||e.name,a=e.isDirectory?[i]:[],o=n?.start??(r===-1?t:r),s=n?.end??t,c=mu(Or,o,s,`@${i}`);wi(c.text,[i],a),$r.current=c.caret,requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=c.caret,Zr.current.selectionEnd=c.caret),Tc(),Ec(c.text,c.caret)}),T(!1),O(``),Uc()}),Gc=J(e=>{let t=Hc(Or.length),n=Cu(Or,t,ti.current),r=Or.substring(0,t).lastIndexOf(`@`),i=n?.start??(r===-1?t:r),a=n?.end??t,o=mu(Or,i,a,`@${e}`);Yr(o.text,t=>du(t,{kind:`agent`,value:e,path:e,label:e,range:{start:o.start,end:o.end}})),$r.current=o.caret,requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=o.caret,Zr.current.selectionEnd=o.caret),Tc(),Ec(o.text,o.caret)}),T(!1),O(``),Uc()}),Kc=J(e=>{vi.current||(vi.current=!0,(async()=>{try{let t=ma.getState().getAuthoritativeDirectoryForSession(e.id);if(!t){mi.error(u(`chat.chatInput.toast.sessionReferenceLoadFailed`));return}if(await Xe(e.id,{directory:t}),!ht(e.id,t)){mi.error(u(`chat.chatInput.toast.sessionReferenceLoadFailed`));return}gi([{type:`session`,sessionId:e.id}],t).catch(()=>void 0);let n=Ci(),r=Hc(n.text.length),i=Cu(n.text,r,ti.current),a=n.text.substring(0,r).lastIndexOf(`@`),o=pt().get(e.id)?.title||e.title||e.id,s=i?.start??(a===-1?r:a),c=i?.end??r,l={id:`session:${e.id}:${ye()}`,kind:`session`,sessionId:e.id,display:G({trigger:`@`,icon:`chat-thread`,label:o})},d=Ir(s,c,l,{inlineBoundaries:!0,padDocumentEdges:!0}),f=gu(d.document.text,d.caret);$r.current=f,requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=f,Zr.current.selectionEnd=f),Tc(),Ec(d.document.text,f)}),T(!1),O(``),Uc()}catch{mi.error(u(`chat.chatInput.toast.sessionReferenceLoadFailed`))}finally{vi.current=!1}})())}),qc=J(e=>{let t=Ci(),n=Hc(t.text.length),r=Cu(t.text,n,ti.current)??tu(t.text,n);if(!r)return!1;let i=Ir(r.start,r.end,e,{inlineBoundaries:!0,padDocumentEdges:!0,padLeadingDocumentEdge:!1}),a=i.document.references.some(t=>t.id===e.id),o=gu(i.document.text,i.caret);return $r.current=o,requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=o,Zr.current.selectionEnd=o),Tc(),Ec(i.document.text,o),a&&(M(!1),T(!1))}),Uc(),a}),Jc=J(e=>{let t=Ci(),n=Hc(t.text.length),r=Cu(t.text,n,ti.current);if(!r)return;let i=Ir(r.start,r.end,{id:`skill:${e.name}:${ye()}`,kind:`skill`,skillName:e.name,display:G({trigger:`@`,icon:`book-open`,label:e.name})},{inlineBoundaries:!0,padDocumentEdges:!0,padLeadingDocumentEdge:!1}),a=gu(i.document.text,i.caret);$r.current=a,requestAnimationFrame(()=>{Zr.current&&(Zr.current.selectionStart=a,Zr.current.selectionEnd=a),Tc(),Ec(i.document.text,a),T(!1),O(``)}),Uc()}),Yc=J((e,t=!1)=>{if(!Gy(vn,e))return;let n=`/${e.name}`;if(!t&&e.isSkill){qc({id:`skill:${e.name}:${ye()}`,kind:`skill`,skillName:e.name,display:G({trigger:`@`,icon:`book-open`,label:e.name})})&&P(``);return}if(!t&&e.source===`opencode`&&!e.isSkill&&e.isBuiltIn!==!0&&qc({id:`command:${e.name}:${ye()}`,kind:`command`,commandName:e.name,reference:e.reference??e.name,display:G({trigger:`/`,icon:`command`,label:e.name})})){P(``);return}let r=e.isSkill?` ${n} `:`${n} `,i=wu(r,new Set([...ga,e.name.toLowerCase()]),r.length);if(e.name===`btw`){let e=Ci(),t=tu(e.text,Zr.current?.selectionStart??e.text.length);if(t){let n=i?.text??r;Yr(e.text.slice(0,t.start)+n+e.text.slice(t.end))}}else Mr(i?.text??r);let a=Zr.current;if(a&&(a._commandMetadata=e),M(!1),P(``),t){Ns({presetText:n});return}let o=()=>{if(!Wu(ur)&&Zr.current){try{Zr.current.focus({preventScroll:!0})}catch{Zr.current.focus()}Zr.current.setSelectionRange(Zr.current.value.length,Zr.current.value.length)}};requestAnimationFrame(()=>{o(),requestAnimationFrame(o)}),setTimeout(o,60)});Z.useEffect(()=>{Sn&&Zr.current&&!ur&&Zr.current.focus()},[Sn,ur]),Z.useEffect(()=>{ur||ee(null)},[ur]);let Xc=bn.abortPrompt.sessionID,Zc=bn.abortPrompt.clear;Z.useEffect(()=>{Xc&&Xc!==Sn&&Zc()},[Sn,Xc,Zc]),Z.useEffect(()=>{fi.current=!!(Sn||wn)},[Sn,wn]);let Qc=J(e=>{let t=e.replace(/\\/g,`/`).trim(),n=(Pi||``).replace(/\\/g,`/`).replace(/\/+$/,``);if(!n||t===n)return t;let r=`${n}/`;return t.startsWith(r)?t.slice(r.length):t}),$c=J(e=>{if(!BE(e.dataTransfer))return;e.preventDefault(),e.stopPropagation(),ii.current++;let t=e.dataTransfer.types?.includes(`application/x-openchamber-file-path`)??!1;t!==S&&C(t),(Sn||wn)&&!y&&b(!0)}),el=J(e=>{BE(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,(Sn||wn)&&!y&&b(!0))}),tl=J(e=>{e.preventDefault(),e.stopPropagation(),ii.current--,ii.current<=0&&(ii.current=0,b(!1),C(!1),jc())}),nl=J(()=>{ii.current=0,b(!1),C(!1),jc()}),rl=J(async e=>{if(ii.current=0,!BE(e.dataTransfer)){jc();return}if(e.preventDefault(),e.stopPropagation(),b(!1),!Sn&&!wn)return;let t=e.dataTransfer.getData(`application/x-openchamber-file-path`);if(t&&t!==`.`){let e=`@${t}`,n=Zr.current,r=bi.current;if(n){let t=n.selectionStart??$r.current,i=n.selectionEnd??t,a=mu(r,t,i,e);Yr(a.text),requestAnimationFrame(()=>{n.selectionStart=a.caret,n.selectionEnd=a.caret,$r.current=a.caret,n.focus()})}else{let t=mu(r,r.length,r.length,e);Yr(t.text)}jc();return}let n=PE(e.dataTransfer);if(n.length>0){K()&&(di.current=n),Lc(n),K()||jc();return}let r=VE(e.dataTransfer);if(r.length>0){let e=Ot(r.map(e=>e.name)),t=su(e,bi.current.slice(0,Zr.current?.selectionStart??bi.current.length),bi.current.slice(Zr.current?.selectionEnd??bi.current.length));Oc(t);for(let e of r)try{await bn.addAttachment(e)}catch(e){console.error(`File attach failed`,e),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.attachFileFailed`))}}jc()}),il=J(e=>{BE(e.dataTransfer)&&(e.preventDefault(),K()&&(ai.current=!0,Mc()))}),al=Z.useRef(null),ol=Z.useRef(null),cl=J((e=!0)=>{De.current=0;let t=()=>{let t=Ry(Zr);if(!t||(zy(Zr),!e))return;let n=t.value.length;try{t.setSelectionRange(n,n)}catch{}};t(),window.requestAnimationFrame(t)}),ll=J(async e=>{let t=Array.isArray(e)?e:Array.from(e);if(t.length>0){let e=Ot(t.map(e=>e.name)),n=su(e,bi.current.slice(0,Zr.current?.selectionStart??bi.current.length),bi.current.slice(Zr.current?.selectionEnd??bi.current.length));Oc(n)}for(let e of t)try{await bn.addAttachment(e)}catch(e){console.error(`File attach failed`,e),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.attachFileFailed`))}}),dl=J(async()=>{try{let e=await Oi?.pickFiles?.(),t=Array.isArray(e?.files)?e.files:[],n=Array.isArray(e?.skipped)?e.skipped:[];if(n.length>0){let e=n.map(e=>`${e?.name||`file`}: ${e?.reason||`skipped`}`).join(`
|
|
6555
6555
|
`);mi.error(u(`chat.chatInput.toast.someFilesSkipped`,{summary:e}))}let r=t.map(e=>{if(!e?.dataUrl)return null;try{let[t,n]=e.dataUrl.split(`,`),r=e.mimeType||t?.match(/data:(.*);base64/)?.[1]||`application/octet-stream`;if(!n)return null;let i=atob(n),a=new Uint8Array(i.length);for(let e=0;e<i.length;e++)a[e]=i.charCodeAt(e);let o=new Blob([a],{type:r});return new File([o],e.name||`file`,{type:r})}catch(e){return console.error(`Failed to decode VS Code picked file`,e),null}}).filter(Boolean);r.length>0&&(cl(!1),await ll(r),cl())}catch(e){console.error(`VS Code file pick failed`,e),mi.error(e instanceof Error?e.message:u(`chat.chatInput.toast.vscodePickFailed`))}}),fl=J(()=>{if(K()){dl();return}al.current?.click()}),pl=J(()=>{if(K()){dl();return}ol.current?.click()}),ml=J(async()=>{if(!wl()){pl();return}try{let e=await El(20);if(e===null){pl();return}e.length>0&&(cl(!1),await ll(e),cl())}catch(e){console.error(`Native photo pick failed`,e),mi.error(u(`chat.chatInput.toast.attachFileFailed`))}}),_l=J(async e=>{let t=e.target.files;!t||t.length===0||(cl(!1),await ll(t),e.target.value=``,cl())}),Tl=`gap-x-1.5 gap-y-0`,Ol=K(),kl=vn.kind===`primary`&&Tn&&!Ol&&!St,Al=Z.useMemo(()=>(gt?.selectedProjectId?jn.find(e=>e.id===gt.selectedProjectId)??null:null)||(Mn?jn.find(e=>e.id===Mn)??null:null)||(jn[0]??null),[Mn,gt?.selectedProjectId,jn]),Ml=Z.useMemo(()=>FE(Al?.path??null),[Al?.path]),Nl=Al?IE(Al):null,Pl=ou(Ml),Ll=bu(e=>Ml?e.directories.get(Ml)?.lastBranchesFetch??0:0),zl=ru(Ml),Vl=!!Pl?.all,Hl=bu(e=>e.fetchBranches),[Ul,Wl]=Z.useState(!1);Z.useEffect(()=>{!kl||!Ml||!Di||zl!==null||zi(Ml,Di,{silent:!0})},[zi,Di,zl,Ml,kl]),Z.useEffect(()=>{if(!kl||!Ml||!Al||!Di||zl!==!0){Wl(!1);return}let e=!Ll||Date.now()-Ll>3e4;if(Vl&&!e){Wl(!1);return}let t=!1;return Wl(!Vl),Hl(Ml,Di).finally(()=>{t||Wl(!1)}),()=>{t=!0}},[Hl,Di,Al,Ll,Vl,zl,Ml,kl]);let Gl=au(Ml),Kl=Pl?.current?.trim()||Gl?.trim()||``,Yl=Z.useMemo(()=>{if(!Al)return null;let e=FE(Al.path);return!e||!Kl?null:{value:e,label:Kl}},[Al,Kl]),Xl=Z.useMemo(()=>{if(!Al)return[];let e=Ml?Mt.get(Ml)??Mt.get(Al.path)??[]:[];return Io({projectRoot:FE(Al.path)??``,rootBranch:Kl,worktrees:e,pendingBootstrapDirectory:gt?.bootstrapPendingDirectory??null}).filter(e=>e.kind===`worktree`)},[Mt,gt?.bootstrapPendingDirectory,Al,Kl,Ml]),eu=Z.useMemo(()=>FE(gt?.bootstrapPendingDirectory??null)??FE(gt?.directoryOverride??null)??Ml,[gt?.bootstrapPendingDirectory,gt?.directoryOverride,Ml]),nu=Z.useMemo(()=>{let e=FE(gt?.bootstrapPendingDirectory??null);return!!(gt?.preserveDirectoryOverride||gt?.pendingWorktreeRequestId||e&&e===eu)},[gt?.bootstrapPendingDirectory,gt?.pendingWorktreeRequestId,gt?.preserveDirectoryOverride,eu]),iu=Z.useMemo(()=>{let e=[];return Yl&&e.push(Yl),e.push(...Xl),!eu||e.some(e=>e.value===eu)||!nu?e:[...e,{value:eu,label:qn(eu)}]},[Yl,eu,nu,Xl]),lu=Z.useMemo(()=>QS({selectedDirectory:eu,projectRootOption:Yl,worktreeOptions:Xl}),[Yl,eu,Xl]),uu=wx()===`mini-chat`,fu=Z.useMemo(()=>uu||Fi!==!0||!Ii||Ii.isClean?!1:lx(Ii.files),[Ii,Fi,uu]),pu=Z.useMemo(()=>!eu||Yl?.value===eu||Xl.some(e=>e.value===eu),[Yl?.value,eu,Xl]);Z.useEffect(()=>{gt?.open&&(!gt.preserveDirectoryOverride&&!gt.bootstrapPendingDirectory||!eu||!pu||(gt.preserveDirectoryOverride&&ma.getState().setDraftPreserveDirectoryOverride(!1),gt.bootstrapPendingDirectory&&ma.getState().setDraftBootstrapPendingDirectory(null)))},[gt?.bootstrapPendingDirectory,gt?.open,gt?.preserveDirectoryOverride,pu,eu]);let hu=Z.useMemo(()=>zl!==!0||Ul?!1:Yl?!0:Xl.length>0,[Ul,Yl,zl,Xl.length]),_u=J(e=>{if(ma.getState().newSessionDraft?.pendingWorktreeRequestId)return;let t=jn.find(t=>t.id===e);t&&(Mn!==e&&Nn(e),At({projectId:e,directoryOverride:t.path},{force:!0}))}),yu=J(e=>{ma.getState().newSessionDraft?.pendingWorktreeRequestId||Al&&At({projectId:Al.id,directoryOverride:e},{force:!0})});Z.useEffect(()=>{!kl||!Al||!eu||gt?.pendingWorktreeRequestId||gt?.bootstrapPendingDirectory||gt?.preserveDirectoryOverride||iu.some(e=>e.value===eu)||At({projectId:Al.id,directoryOverride:Al.path})},[iu,gt?.bootstrapPendingDirectory,gt?.pendingWorktreeRequestId,gt?.preserveDirectoryOverride,eu,Al,At,kl]);let Su=J(()=>{Oe(),oe(!0),Zr.current?.blur()}),Eu=J(()=>{Oe(),ue(!0),Zr.current?.blur()});Z.useEffect(()=>{if(!ur||typeof document>`u`)return;let e=document.getElementById(`mobile-overlay-root`);e||(e=document.createElement(`div`),e.id=`mobile-overlay-root`,document.body.appendChild(e));let t=e,n=()=>Te(Ux(t.children));n();let r=new MutationObserver(n);return r.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Hx]}),()=>r.disconnect()},[ur]);let Du=we||!!H||ae||se||Ua||Ka,Ou=ar(or.find(e=>e.id===vn.selection.value.providerID),vn.selection.value.modelID,u(`chat.modelControls.selectModel`)),ju=vn.selection.value.variant?.trim(),Mu=J(e=>{I(t=>cu(t,e.rows)),B(t=>t===e.highlightedIndex?t:e.highlightedIndex)}),Nu=J(e=>(e.name!==`btw`||vn.kind===`primary`)&&Gy(vn,e)),Fu=J(e=>{if(k){yi.current?.acceptIndex(e,!0);return}w&&pi.current?.acceptIndex(e)}),Iu=J(()=>{ti.current=null,M(!1),T(!1),I([]),B(0)}),Lu=Zm({enabled:ur&&vn.kind===`primary`&&!Ta,isMobile:ur,text:Or,textPresetEpoch:Er.textPresetEpoch,placeholder:$i,modelLabel:Ou,modelVariantLabel:ju?_r(ju):``,canSend:Jo,canAbort:$o,attachmentCount:xn.length,suppressed:Du,attachAria:u(`chat.chatInput.actions.addAttachment`),attachTitle:u(`chat.chatInput.actions.addAttachment`),attachPhotosLabel:u(`chat.chatInput.actions.attachPhotos`),attachFilesLabel:u(`chat.chatInput.actions.attachFiles`),attachCancelLabel:u(`chat.chatInput.actions.attachCancel`),sendAria:u(`chat.chatInput.actions.sendMessageAria`),queueAria:u(`chat.chatInput.actions.queueMessageAria`),stopAria:u(`chat.chatInput.actions.stopGeneratingAria`),modelAria:u(`chat.modelControls.selectModel`),modelId:vn.selection.value.modelID,providerId:vn.selection.value.providerID,agentName:vn.selection.value.agent??``,agentLabel:si(ir,vn.selection.value.agent??void 0),agentAria:u(`chat.modelControls.selectAgent`),attachments:xn,removeAttachmentNamedAria:e=>u(`chat.fileAttachment.actions.removeNamed`,{name:e}),onText:(e,t,n)=>{let r=ku(e.length,n?.end??n?.start??e.length);if($r.current=r,t){Zr.current&&(Zr.current.value=e),Yr(e);return}let i=bi.current,a=Ct(i,e,xn.filter(vt).map(e=>e.filename)),o=a?.text??e;Zr.current&&(Zr.current.value=o),Yr(o);let s=ku(o.length,n?.end??n?.start??o.length);if($r.current=s,Ec(o,s),!a)return;let c=new Set(a.removedFilenames.map(e=>e.toLowerCase()));for(let e of xn)c.has(e.filename.toLowerCase())&&bn.removeAttachment(e.id)},onSend:e=>{Zr.current&&(Zr.current.value=e),Pu({text:e,applyDocument:Yr,submit:Ps})},onAbort:uc,onAttach:Oe,onFiles:(e,t)=>{t.length>0&&mi.error(u(`chat.chatInput.toast.someFilesSkipped`,{summary:t.join(`
|
|
6556
6556
|
`)})),e.length!==0&&ll(e)},onRemoveAttachment:e=>{bn.removeAttachment(e)},onOpenModel:()=>Fo(`model`),onCycleAgent:()=>dc(),onOpenAgent:ks,showScrollToBottom:!!(n&&i),scrollAria:u(`chat.scrollToBottom.aria`),onScrollToBottom:i??(()=>{}),autocompleteOpen:F.length>0&&(k||w),autocompleteHighlightedIndex:R,autocompleteRows:F,autocompleteQuery:w?E:N,caret:$r.current,onAutocompleteAccept:Fu,onAutocompleteDismiss:Iu,chipHighlights:Ra}),Ru=Z.useRef(null);Ln(Lu?Ru:null,()=>{let e=Ru.current?.getBoundingClientRect().height??0;Uu(document.documentElement,e)});let Bu=Z.useRef(!1);Bu.current=Ua||Ka;let Vu=Z.useRef(!1),Hu=Z.useRef(0),Gu=Z.useRef(0),Ku=J(()=>{let e=ma.getState().stagedMessageEdit;!e||e.sessionId!==Sn||window.setTimeout(()=>{let t=ma.getState().stagedMessageEdit,n=document.activeElement,r=aT({surfaceKind:vn.kind,stagedSessionId:t?.sessionId??null,stagedMessageId:t?.messageId??null,blurredMessageId:e.messageId,submitInFlight:ls(),focusHeld:Date.now()<Gu.current,overlayOpen:Hu.current>0||Bu.current,focusInsideComposer:n instanceof Element&&!!(n.closest(`[data-composer-content="true"]`)||n.closest(`[data-slot="dropdown-menu-content"]`))||Date.now()<De.current});r.action===`disarm`&&ma.getState().clearStagedMessageEdit(r.sessionId)},0)});Z.useEffect(()=>{if(!ur||Yt()||typeof window>`u`||!window.matchMedia?.(`(display-mode: standalone)`)?.matches)return;let e=()=>{Hu.current+=1},t=()=>{if(Hu.current=Math.max(0,Hu.current-1),Vu.current){Vu.current=!1;return}if(!Ae.current||Bu.current||Hu.current>0)return;if(vl()){Ae.current=!1;return}Ae.current=!1,Gu.current=Date.now()+600,Zr.current?.focus(),document.activeElement===Zr.current&&re(!0);let e=()=>{let e=Zr.current;!e||document.activeElement!==e||(qu.current??e).scrollIntoView({block:`end`})};U.current!==null&&(window.clearTimeout(U.current),U.current=null),ne.current!==null&&(window.clearTimeout(ne.current),ne.current=null),U.current=window.setTimeout(()=>{U.current=null,e()},300),ne.current=window.setTimeout(()=>{ne.current=null,e()},650)};return window.addEventListener(`oc:mobile-overlay-opened`,e),window.addEventListener(`oc:mobile-overlay-closed`,t),()=>{U.current!==null&&(window.clearTimeout(U.current),U.current=null),ne.current!==null&&(window.clearTimeout(ne.current),ne.current=null),window.removeEventListener(`oc:mobile-overlay-opened`,e),window.removeEventListener(`oc:mobile-overlay-closed`,t)}},[ur]),Z.useEffect(()=>{if(!ur)return;if(Du){(W||Date.now()-ke.current<800)&&(Ae.current=!0);return}if(!Ae.current)return;let e=window.setTimeout(()=>{if(Ae.current=!1,vl())return;let e=Zr.current;e&&document.activeElement!==e&&e.focus({preventScroll:Yt()})},180);return()=>window.clearTimeout(e)},[ur,Du,W]),Z.useEffect(()=>{if(!ur||Yt()||typeof document>`u`||W||!window.matchMedia?.(`(display-mode: standalone)`)?.matches)return;let e=document.documentElement,t=window.setTimeout(()=>{document.activeElement!==Zr.current&&(window.scrollTo(0,0),document.body.scrollTop=0,e.scrollTop=0)},350);return()=>window.clearTimeout(t)},[ur,W]),Z.useEffect(()=>{_e(``)},[fe]);let qu=Z.useRef(null),Ju=ur?`px-1.5 py-1.5`:Ol?`px-1.5 py-1`:`px-2.5 py-1.5`,Yu=ur?`h-8 w-8`:Ol?`h-5 w-5`:`h-6 w-6`,Xu=ur?`h-4 w-4`:Ol?`h-3.5 w-3.5`:`h-4 w-4`,Zu=ur?`h-6 w-6`:`size-full`,Qu=ur?`h-[1.125rem] w-[1.125rem]`:Ol?`h-4 w-4`:`h-[1.125rem] w-[1.125rem]`,$u=Y(`flex cursor-pointer items-center justify-center text-foreground transition-none outline-none focus:outline-none flex-shrink-0 disabled:cursor-not-allowed`,xy),ed=Y($u,Yu),td=Y(`flex cursor-pointer items-center justify-center transition-none outline-none focus:outline-none flex-shrink-0 disabled:cursor-not-allowed rounded-full hover:opacity-80`,Yu),nd=Y(`flex cursor-pointer items-center justify-center transition-none outline-none focus:outline-none flex-shrink-0 disabled:cursor-not-allowed rounded-full hover:opacity-80`,`h-6 w-6`);Z.useEffect(()=>()=>{Ha.current&&=(clearTimeout(Ha.current),null)},[]);let rd=(0,$.jsx)(tg,{quotes:Bo,removeLabel:u(`chat.btw.removeQuoteAria`),onRemove:e=>{zo&&m_.getState().removeQuote(zo,e)}}),id=ur?(0,$.jsxs)(`div`,{"data-composer-action":`true`,className:`composer-mobile-model-controls flex min-w-0 flex-1 items-center justify-end gap-x-1.5`,children:[(0,$.jsx)(qE,{onOpenAgentPanel:ks,onCycleAgent:()=>{Oe(),dc()},agentName:vn.selection.value.agent,agents:ir,disabled:lr}),(0,$.jsx)(JE,{onOpenModel:()=>Fo(`model`),providerID:vn.selection.value.providerID,modelID:vn.selection.value.modelID,provider:or.find(e=>e.id===vn.selection.value.providerID),variant:vn.selection.value.variant})]}):null,ad=(0,$.jsxs)(`div`,{className:`oc-mobile-composer-attachment-content relative z-10 flex flex-wrap items-center gap-1 px-3 pt-1`,children:[(0,$.jsx)(vg,{attachments:xn,onShowPopup:pr,onRemoveAttachedFile:Ac}),vn.kind===`primary`?(0,$.jsx)(Sg,{attachedFiles:xn,onAddVSCodeFile:(e,t,n)=>{Dn&&jr(Dn,()=>ka.getState()).addVSCodeFile(e,t,n)},onAddVSCodeSelection:(e,t)=>{if(Dn)return jr(Dn,()=>ka.getState()).addVSCodeSelection(e,t)}}):null]}),od=Ra?.map((e,t)=>(0,$.jsx)(`span`,{className:e.className,children:e.visual?(0,$.jsx)(Bl,{visual:e.visual,text:e.text}):e.text},`${t}-${e.text.length}`)),sd=!ur&&Na?(0,$.jsxs)($.Fragment,{children:[od??Or,(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`oc-dictation-caret`,children:Ia?.draftID===sn&&Ia.text===Or&&(0,$.jsx)(`span`,{className:`oc-dictation-caret-trail`},Or)})]}):od,cd=ur&&Ta?(0,$.jsx)(Xn,{variant:`ghost`,size:`icon`,className:ed,"data-composer-action":`true`,"aria-label":u(ja?`settings.voice.volcengine.finishRecording`:`chat.dictation.start`),"aria-pressed":ja,disabled:!ja&&(Cn||hc||Ea!==null||!Sn&&!wn),onClick:()=>window.dispatchEvent(new Event(`openchamber:mobile-dictation-toggle`)),children:(0,$.jsx)(X,{name:`mic`,className:Y(Qu,ja&&`text-[var(--voice-active-fill)]`)})}):null,ld=ur?(0,$.jsxs)(`div`,{className:Y(`oc-mobile-composer-compact-chrome`,$o&&`oc-mobile-composer-compact-chrome--aborting`,Jo&&!$o&&`oc-mobile-composer-compact-chrome--sending`,n&&i&&`oc-mobile-composer-compact-chrome--with-scroll`),children:[(0,$.jsx)(`div`,{"data-mobile-composer-compact-slot":`attach`,"data-composer-action":`true`,className:`composer-mobile-actions flex shrink-0 items-center`,children:(0,$.jsx)(QE,{isVSCode:Ol,footerIconButtonClass:ed,iconSizeClass:Qu,handlePickLocalFiles:fl,handlePickLocalImages:pl,openIssuePicker:js,openPrPicker:Ms,onOpenMobileSheet:Su,onOpenAndroidPickSheet:dr?Eu:void 0})}),(0,$.jsxs)(`div`,{"data-mobile-composer-compact-slot":`trailing`,className:`composer-mobile-actions ml-auto flex shrink-0 items-center justify-end gap-x-3`,children:[n&&i?(0,$.jsx)(`div`,{"data-composer-action":`true`,className:`flex shrink-0 items-center`,children:(0,$.jsx)(Sx,{placement:`compact`,visible:n,onClick:i})}):null,cd,$o||Jo||lc?(0,$.jsx)(`div`,{"data-mobile-composer-compact-slot":`action`,"data-composer-action":`true`,className:`flex shrink-0 items-center justify-end`,children:(0,$.jsx)(eD,{isMobile:!0,compact:!0,footerIconButtonClass:ed,stopFooterIconButtonClass:td,compactCircleButtonClass:nd,sendIconSizeClass:Xu,stopIconSizeClass:Zu,canSend:Jo,canAbort:$o,abortPending:lc,hasContent:!1,currentSessionId:Sn,newSessionDraftOpen:wn,draftSubmitting:Cn,submissionBlocked:o,sendPhase:os,queueFrozen:qo,queueFallbackAvailable:$o||Qo,onPrimaryAction:Ps,onAbort:uc})}):null]})]}):null,ud=ur?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`div`,{className:`oc-mobile-composer-full-chrome flex w-full min-w-0 items-center gap-x-1.5`,"data-composer-action":`true`,children:[(0,$.jsxs)(`div`,{className:`composer-mobile-actions flex shrink-0 items-center gap-x-2 pl-1`,children:[(0,$.jsx)(QE,{isVSCode:Ol,footerIconButtonClass:ed,iconSizeClass:Qu,handlePickLocalFiles:fl,handlePickLocalImages:pl,openIssuePicker:js,openPrPicker:Ms,onOpenSettings:e,onOpenMobileSheet:Su,onOpenAndroidPickSheet:dr?Eu:void 0}),Wn?(0,$.jsx)($E,{sessionId:Sn,draftOpen:wn,draftEnabled:gt.permissionAutoAcceptEnabled===!0,enabled:zn,saving:Sn?Dt:!1,footerIconButtonClass:ed,iconSizeClass:Qu,onSetDraftEnabled:Tt,onSetSessionEnabled:kt,onOpenSessionFirst:wt,onToggleFailed:Gn}):null,(0,$.jsx)(RC,{sessionId:Sn,directory:Ze??En,draftOpen:wn}),(0,$.jsx)(zC,{length:Or.length}),Ta&&(0,$.jsx)(KE,{interactionMode:`mobile`,disabled:Cn||Ea!==null||!Sn&&!wn,onRecordingChange:Ma,onActiveChange:gc,className:ed,iconClassName:Qu,onStart:Vs,onPartial:Hs,onInsert:Us,onCancel:Ws},sn)]}),id,(0,$.jsx)(`div`,{className:`relative z-30 flex shrink-0 items-center justify-end gap-x-1.5`,children:(0,$.jsx)(eD,{isMobile:ur,footerIconButtonClass:ed,stopFooterIconButtonClass:td,sendIconSizeClass:Xu,stopIconSizeClass:Zu,canSend:Jo,canAbort:$o,abortPending:lc,hasContent:!!Ho,currentSessionId:Sn,newSessionDraftOpen:wn,draftSubmitting:Cn,submissionBlocked:o,sendPhase:os,queueFrozen:qo,queueFallbackAvailable:$o||Qo,onPrimaryAction:Ps,onAbort:uc})})]})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:Y(`flex flex-shrink-0 items-center`,Tl,Na&&`[&>*:not([data-dictation-control])]:opacity-40`),children:[(0,$.jsx)(QE,{isVSCode:Ol,footerIconButtonClass:ed,iconSizeClass:Qu,handlePickLocalFiles:fl,handlePickLocalImages:pl,openIssuePicker:js,openPrPicker:Ms,onOpenSettings:e,withTooltip:!0}),Wn?(0,$.jsx)($E,{sessionId:Sn,draftOpen:wn,draftEnabled:gt.permissionAutoAcceptEnabled===!0,enabled:zn,saving:Sn?Dt:!1,footerIconButtonClass:ed,iconSizeClass:Qu,onSetDraftEnabled:Tt,onSetSessionEnabled:kt,onOpenSessionFirst:wt,onToggleFailed:Gn}):null,(0,$.jsx)(RC,{sessionId:Sn,directory:Ze??En,draftOpen:wn}),(0,$.jsx)(zC,{length:Or.length}),Ca&&!K()&&sl()&&(0,$.jsx)(KE,{inputRef:Zr,onActiveChange:Pa,onRecordingChange:Ma,className:ed,iconClassName:Qu,onStart:Vs,onPartial:Hs,onInsert:Us,onCancel:Ws},sn)]}),(0,$.jsxs)(`div`,{className:Y(`relative z-30 flex flex-1 items-center justify-end md:gap-x-1.5`,Tl,Na&&`opacity-40`),children:[(0,$.jsx)(UE,{className:`min-w-0 flex-1 justify-end`,composerTextareaRef:Zr,selectionAdapter:$n}),(0,$.jsx)(eD,{isMobile:ur,footerIconButtonClass:ed,stopFooterIconButtonClass:td,sendIconSizeClass:Xu,stopIconSizeClass:Zu,canSend:Jo,canAbort:$o,abortPending:lc,hasContent:!!Ho,currentSessionId:Sn,newSessionDraftOpen:wn,draftSubmitting:Cn,submissionBlocked:o,sendPhase:os,queueFrozen:qo,queueFallbackAvailable:$o||Qo,onPrimaryAction:Ps,onAbort:uc})]})]}),dd=J(()=>{if(ur){Gu.current=Date.now()+600;let e=()=>{Zr.current?.focus({preventScroll:Yt()}),document.activeElement===Zr.current&&re(!0)};e(),window.requestAnimationFrame(e);return}let e=()=>{if(!zy(Zr))return;let e=Ry(Zr);if(!e)return;let t=e.value.length;try{e.setSelectionRange(t,t)}catch{}};e(),window.requestAnimationFrame(()=>{e(),window.setTimeout(e,0)})}),fd=Ze??En,pd=vn.kind===`secondary`?vn.directory:Ze,{goal:md,enabled:hd}=MC(Sn??``,fd),gd=(0,$.jsx)(Iv,{onEditMessage:Ds,onSendMessage:Os,onEditCommitted:dd,draftKey:Dn,scope:ro,draftTarget:Dn?{key:Dn,expectedRevision:()=>bn.getDraft(Dn)?.revision??`absent`}:null,clientPendingItems:ys,compactionBarrier:bs,steeringMessageIDs:gs,onSteerClientPending:e=>{if(!Sn||!cn({sessionID:Sn}))return;let t=Ze??En??``,n=Sn;return _s(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n}),an({sessionID:n,inboxID:e,directory:t}).catch(()=>{_s(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),mi.error(u(`chat.chatInput.toast.messageSendFailed`))})},onQueueClientPending:e=>{Sn&&zt({sessionID:Sn,inboxID:e,directory:Ze??En??``}).then(()=>{Qt(Sn,e,`queue`)}).catch(()=>{mi.error(u(`chat.chatInput.toast.messageSendFailed`))})},onRemoveClientPending:e=>{let t=ni.getState().removeEstablishingFollowUp(e);if(!t){Sn&&Nt({sessionID:Sn,inboxID:e,directory:Ze??En??``}).catch(()=>{mi.error(u(`chat.chatInput.toast.messageSendFailed`))});return}t.content&&Mr(t.content),t.attachments.length>0&&bn.restoreAttachments(t.attachments)},trailing:Sn&&hd&&md?(0,$.jsx)(LC,{sessionId:Sn,directory:fd}):null});return(0,$.jsxs)($.Fragment,{children:[vn.kind===`primary`&&Sn?(0,$.jsx)(Xw,{scope:{sessionId:Sn,directory:En},active:vn.active,mobile:ur}):null,(0,$.jsxs)(`form`,{ref:qu,onSubmit:e=>{e.preventDefault(),Ps()},onPointerDownCapture:e=>{ur&&Ly(e,Oe)},className:Y(`relative w-full pt-0 pb-4`,qi&&`flex h-full min-h-0 flex-col pt-4`,Ji&&`flex h-full min-h-0 flex-col pt-1`,ur&&`bottom-safe-area oc-mobile-composer`),"data-native-ios-composer":Lu?`true`:void 0,"data-hold-to-talk":Ta?`true`:void 0,"data-hold-to-talk-empty":Ta&&Or.length===0?`true`:void 0,"data-dictation-hint":Ta?Ea??void 0:void 0,style:ur&&Yt()&&!Lu&&gr>0&&!W?{marginBottom:`${gr}px`}:void 0,children:[Tn&&!qi&&!ur&&!Ol&&!uu?(0,$.jsx)(`div`,{className:`chat-input-column mb-7 text-center`,children:(0,$.jsx)(`h1`,{className:`text-balance text-2xl font-normal tracking-tight text-foreground md:text-3xl`,children:LE(Nl?u(`chat.emptyState.draftTitleWithProject`,{project:Nl}):u(`chat.emptyState.draftTitle`),Nl)})}):null,Ta&&(0,$.jsx)(yl,{containerRef:qu,disabled:!Sn&&!wn||Cn||hc,onInsert:Xs,onSend:Zs,onRelease:Js,onError:Qs,onHintChange:Oa},Dn?h(Dn):Sn??`new`),(0,$.jsxs)(`div`,{className:Y(`chat-input-column relative overflow-visible`,Zi&&`flex flex-1 min-h-0 flex-col`),children:[Lu?null:(0,$.jsx)(yg,{attachments:xn,onShowPopup:pr,onRemoveAttachedFile:Ac}),(0,$.jsx)(ny,{}),yo&&(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 pb-2`,children:[So>0?(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 rounded-xl border px-2.5 py-1`,style:{backgroundColor:Ni?.colors?.surface?.elevated,borderColor:Ni?.colors?.interactive?.border},children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:u(`chat.chatInput.reviewComments`)}),(0,$.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:Ni?.colors?.status?.info},children:So}),(0,$.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,style:{minHeight:0,minWidth:0},onClick:wo,"aria-label":u(`chat.chatInput.reviewCommentsRemove`),title:u(`chat.chatInput.reviewCommentsRemove`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`})})]}):null,bo>0?(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 rounded-xl border px-2.5 py-1`,style:{backgroundColor:Ni?.colors?.surface?.elevated,borderColor:Ni?.colors?.interactive?.border},children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:u(`chat.chatInput.devServerLogs`)}),(0,$.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:Ni?.colors?.status?.info},children:bo}),(0,$.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,style:{minHeight:0,minWidth:0},onClick:()=>Co(`preview-console`),"aria-label":u(`chat.chatInput.devServerLogsRemove`),title:u(`chat.chatInput.devServerLogsRemove`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`})})]}):null,xo>0?(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 rounded-xl border px-2.5 py-1`,style:{backgroundColor:Ni?.colors?.surface?.elevated,borderColor:Ni?.colors?.interactive?.border},children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:u(`chat.chatInput.previewAnnotations`)}),(0,$.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:Ni?.colors?.status?.info},children:xo}),(0,$.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,style:{minHeight:0,minWidth:0},onClick:()=>Co(`preview-annotation`),"aria-label":u(`chat.chatInput.previewContextRemove`),title:u(`chat.chatInput.previewContextRemove`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`})})]}):null]}),Ya&&!Ol&&(0,$.jsx)(`div`,{className:`pb-2 w-full px-1`,children:(0,$.jsxs)(`div`,{className:`flex w-full items-center gap-1.5 text-sm h-5 px-1`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>Wa(!0),className:`flex min-w-0 flex-1 items-center gap-1.5 text-left hover:opacity-80 transition-opacity`,children:[Ya.author?.avatarUrl&&(0,$.jsx)(`img`,{src:Ya.author.avatarUrl,alt:Ya.author.login,className:`h-5 w-5 rounded-full flex-shrink-0`}),(0,$.jsxs)(`span`,{className:`text-muted-foreground flex-shrink-0`,children:[`#`,Ya.number,Ya.author&&(0,$.jsx)(`span`,{className:`ml-1`,children:u(`chat.chatInput.linked.byAuthor`,{author:Ya.author.login})})]}),(0,$.jsx)(`span`,{className:`text-foreground truncate`,children:Ya.title})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 flex-shrink-0`,children:[(0,$.jsx)(`a`,{href:Ya.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":u(`chat.chatInput.linked.issue.openInBrowserAria`),children:(0,$.jsx)(X,{name:`external-link`,className:`h-4 w-4 text-muted-foreground`})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{Xa(null)},className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":u(`chat.chatInput.linked.issue.removeAria`),title:u(`chat.chatInput.linked.issue.removeAria`),children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4 text-muted-foreground`})})]})]})}),$a&&!Ol&&(0,$.jsx)(`div`,{className:`pb-2 w-full px-1`,children:(0,$.jsxs)(`div`,{className:`flex w-full items-center gap-1.5 text-sm h-5 px-1`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>Ja(!0),className:`flex min-w-0 flex-1 items-center gap-1.5 text-left hover:opacity-80 transition-opacity`,children:[$a.author?.avatarUrl&&(0,$.jsx)(`img`,{src:$a.author.avatarUrl,alt:$a.author.login,className:`h-5 w-5 rounded-full flex-shrink-0`}),(0,$.jsxs)(`span`,{className:`text-muted-foreground flex-shrink-0`,children:[u(`chat.chatInput.linked.pr.number`,{number:$a.number}),$a.author&&(0,$.jsx)(`span`,{className:`ml-1`,children:u(`chat.chatInput.linked.byAuthor`,{author:$a.author.login})})]}),(0,$.jsx)(`span`,{className:`text-foreground truncate`,children:$a.title}),(0,$.jsxs)(`span`,{className:`text-muted-foreground flex-shrink-0 typography-meta`,children:[$a.head,` → `,$a.base]})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 flex-shrink-0`,children:[(0,$.jsx)(`a`,{href:$a.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":u(`chat.chatInput.linked.pr.openInBrowserAria`),children:(0,$.jsx)(X,{name:`external-link`,className:`h-4 w-4 text-muted-foreground`})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{eo(null)},className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":u(`chat.chatInput.linked.pr.removeAria`),title:u(`chat.chatInput.linked.pr.removeAria`),children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4 text-muted-foreground`})})]})]})}),(0,$.jsx)(XE,{sessionId:Sn,directory:Ze??En}),(0,$.jsxs)(`div`,{className:ur?`relative oc-mobile-composer-stack`:`contents`,children:[(0,$.jsxs)(`div`,{className:ur?`oc-mobile-composer-expanded-layer`:`contents`,children:[(0,$.jsx)(`div`,{className:ur?`oc-mobile-composer-reveal`:`contents`,children:(0,$.jsxs)(`div`,{ref:Ru,"data-native-composer-accessories":`true`,children:[(0,$.jsx)(YE,{className:ur?`mb-0`:void 0,showAbortStatus:Bi,showAbortPrompt:!!(qi&&Sn&&Pt===Sn&&typeof Ft==`number`&&Ft>Date.now()),showAssistantStatus:!1,showTodos:!0,leftAccessory:wn||!fu?null:(0,$.jsx)(bx,{})}),!ur&&kl?(0,$.jsxs)(`div`,{className:`mb-1.5 flex min-w-0 items-center gap-1.5 px-0.5`,children:[Al?(0,$.jsxs)(As,{value:Al.id,open:Se,onValueChange:_u,onOpenChange:e=>{Ce(e),e||be(``)},children:[(0,$.jsx)(ws,{asChild:!0,size:`sm`,children:(0,$.jsxs)(`button`,{type:`button`,className:Y(`group relative inline-flex h-6 min-w-0 w-fit max-w-[42vw] items-center rounded-lg !border-0 px-1.5 py-1 pr-1.5 typography-micro font-medium text-foreground/80 transition-[padding] hover:pr-5 focus-visible:pr-5 data-[popup-open]:pr-5 sm:max-w-[18rem]`,yy),children:[(0,$.jsx)(Is,{children:HE(Al)}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`pointer-events-none absolute right-1 size-3.5 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100 group-data-[popup-open]:opacity-100`,"aria-hidden":`true`})]})}),(0,$.jsxs)(Es,{fitContent:!0,children:[(0,$.jsx)(Rs,{autoFocus:!0,value:ve,onChange:e=>be(e.target.value),onKeyDown:e=>e.stopPropagation(),placeholder:u(`chat.chatInput.draftPicker.searchProjects`),className:`mb-1 h-8 min-w-56`}),(0,$.jsx)(ZE,{projects:jn,query:ve,renderLabel:HE}),(0,$.jsx)(Ls,{}),(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-left typography-ui-label text-foreground hover:bg-interactive-hover`,onPointerDown:e=>{e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),Ce(!1),requestAnimationFrame(()=>Da.requestDirectoryDialog())},children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:u(`chat.chatInput.draftPicker.newProject`)})]})]})]}):(0,$.jsxs)(`button`,{type:`button`,className:Y(`inline-flex h-auto min-h-6 cursor-pointer items-center gap-1.5 rounded-lg px-2.5 py-1 typography-micro font-medium text-foreground/80`,yy),onClick:()=>Da.requestDirectoryDialog(),children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:u(`chat.chatInput.draftPicker.newProject`)})]}),Al&&hu?(0,$.jsx)(aC,{directory:eu,projectDirectory:Ml,label:lu,projectRootOption:Yl,worktreeOptions:Xl,onSelectDirectory:yu}):null]}):null,ur&&kl?(0,$.jsxs)(`div`,{className:`oc-mobile-draft-target-selectors mb-1.5 flex min-w-0 items-center gap-1.5 px-0.5`,children:[Al?(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex h-[1.625rem] min-w-0 max-w-[46%] shrink items-center gap-1.5 rounded-lg px-1.5 text-[11px] leading-none font-medium text-foreground/80`,yy),onClick:()=>pe(`project`),children:HE(Al)}):(0,$.jsxs)(`button`,{type:`button`,className:Y(`inline-flex h-[1.625rem] min-w-0 max-w-[46%] items-center gap-1.5 rounded-lg px-1.5 text-[11px] leading-none font-medium text-foreground/80`,yy),onClick:()=>Da.requestDirectoryDialog(),children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:u(`chat.chatInput.draftPicker.newProject`)})]}),Al&&hu?(0,$.jsx)(aC,{directory:eu,projectDirectory:Ml,label:lu,projectRootOption:Yl,worktreeOptions:Xl,onSelectDirectory:yu,maxWidthClassName:`max-w-[50%]`,presentation:`mobile-sheet`}):null]}):null,vn.active&&Sn&&pd?(0,$.jsx)(Qv,{sessionId:Sn,directory:pd}):null,gd]})}),(0,$.jsx)(`div`,{className:Y(!ur&&`contents`,ur&&`contents`,Ji&&`flex min-h-0 flex-1 flex-col`),children:(0,$.jsxs)(`div`,{className:ur?`oc-mobile-composer-motion-viewport`:`contents`,children:[(0,$.jsxs)(bl,{value:Or,attachments:[],disabled:!Sn&&!wn||Cn&&!os.establishing,pending:$o||os.inFlight&&!os.establishing,isMobile:ur,onSubmit:Ps,"data-mobile-composer-surface":ur?`true`:void 0,expanded:Zi,focusedTone:g===`shell`?`info`:`primary`,className:Y(`relative z-10`,Na&&`!ring-0 [&_textarea]:caret-transparent`,y&&`ring-2 ring-primary ring-offset-2`,hr&&`ring-1 ring-[var(--interactive-selection)] border-[var(--interactive-selection)]`,ur&&`oc-mobile-composer-surface`),style:{borderRadius:Qi,...Na?{borderColor:`var(--voice-active-fill)`}:{}},ref:ri,onDropCapture:il,onDragEnter:$c,onDragOver:el,onDragLeave:tl,onDrop:rl,onDragEnd:nl,autoResize:!1,disableInputWhilePending:!1,contentClassName:Zi?`flex-1 min-h-0`:void 0,inputHeader:rd,attachmentContent:ad,highlightedContent:sd,highlightRef:Hi,inputRef:Zr,textLayoutClassName:Y(gE,Zi?Y(`h-full min-h-0`,ur?`py-2.5`:`py-4`):ur?`py-2.5`:`pt-4 pb-2`,g===`shell`?`font-mono`:`typography-markdown md:typography-ui-label`),inputOuterClassName:Y(Zi&&`flex-1 min-h-0`),inputStyle:{flex:Zi?`1 1 auto`:`none`,height:!Zi&&wc?`${wc.height}px`:void 0,maxHeight:!Zi&&wc?`${wc.maxHeight}px`:void 0,"--oc-composer-textarea-resting-height":Zi?`100%`:wc?`${wc.height}px`:`auto`,"--oc-composer-textarea-resting-max-height":!Zi&&wc?`${wc.maxHeight}px`:`none`,borderTopLeftRadius:Qi,borderTopRightRadius:Qi},footerClassName:Y(`z-30 bg-transparent flex-shrink-0`,Ju,ur?`flex items-center gap-x-1.5`:Y(`flex items-center justify-between`,Tl)),footerStyle:{borderBottomLeftRadius:Qi,borderBottomRightRadius:Qi},footerContent:ud,placeholder:Ta?Aa:!ur&&Na?u(`chat.dictation.recordingPlaceholder`):!ur&&Ca&&!K()&&sl()?`${$i}${d.startsWith(`zh`)?`,`:d===`ja`?`、`:`, `}${u(`chat.dictation.holdHere`)}`:$i,onChange:(e,t)=>Ic(t),textareaProps:{readOnly:hr,onCompositionStart:()=>{Qr.current=!0},onCompositionEnd:e=>{Qr.current=!1;let t=e.currentTarget;Dc(t.value,t.selectionStart??t.value.length,t.selectionEnd??t.selectionStart??t.value.length)},onBeforeInput:Fc,onKeyDown:nc,onCopy:Bc,onCut:Vc,onPaste:Rc,onDragEnter:$c,onDragOver:el,onDropCapture:il,onDrop:rl,onDragEnd:nl,onKeyUp:rc,onClick:()=>{rc()},onScroll:e=>{rc();let t=e.currentTarget.scrollTop;Hi.current&&(Hi.current.style.transform=`translateY(-${t}px)`)},onSelect:e=>{let t=e.currentTarget,n=t.selectionStart??0,r=t.selectionEnd??n;if(Qr.current){$r.current=r;return}let i=jl(n,r,[...Ht(Or,xn.filter(vt).map(e=>e.filename)),...Fl(Or,ha.keys()),...Dr.references]);i&&(i.start!==n||i.end!==r)?(t.setSelectionRange(i.start,i.end),$r.current=i.end):$r.current=n,rc()},onFocus:()=>{if(ur){if(Date.now()<De.current){let e=Zr.current;e&&e.blur();return}ie.current!==null&&(window.clearTimeout(ie.current),ie.current=null),re(!0)}},onBlur:e=>{if(Qr.current=!1,$r.current=e.currentTarget.selectionStart??$r.current,Ku(),ur){if(Date.now()<Gu.current){let e=Zr.current;if(e){e.focus(),window.setTimeout(()=>{Date.now()<Gu.current&&document.activeElement!==e&&e.focus()},50);return}}if(ke.current=Date.now(),Yt()){re(!1);return}ie.current!==null&&window.clearTimeout(ie.current),ie.current=window.setTimeout(()=>{ie.current=null,re(!1)},120)}},autoCorrect:ur?`on`:`off`,autoCapitalize:ur?`sentences`:`off`,spellCheck:ur||yr,fillContainer:Zi,rows:1},children:[(0,$.jsx)(bb,{}),xc?(0,$.jsx)(hE,{inputRef:Zr,draftID:Dn?h(Dn):null,ariaLabel:u(`textarea.resizeHandleAria`),onManualHeightChange:Cc}):null,y&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-50 flex items-center justify-center bg-background/90`,style:{borderRadius:Qi},children:(0,$.jsxs)(`div`,{className:`text-center`,children:[(0,$.jsx)(`div`,{className:`inline-flex justify-center`,children:(0,$.jsx)(`button`,{type:`button`,className:$u,onClick:()=>fl(),title:u(`chat.chatInput.actions.attachFiles`),"aria-label":u(`chat.chatInput.actions.attachFiles`),children:(0,$.jsx)(X,{name:`attachment-2`,className:Y(Qu,`text-current`)})})}),(0,$.jsx)(`p`,{className:`mt-2 typography-ui-label text-muted-foreground`,children:u(S?`chat.chatInput.drop.insertMention`:`chat.chatInput.drop.attachFiles`)})]})}),k&&(0,$.jsx)(vu,{ref:yi,searchQuery:N,directory:En,onCommandSelect:Yc,onClose:()=>M(!1),commandPolicy:Nu,commandContext:On,onRowsChange:Lu?Mu:void 0,style:qi&&za?{left:`${za.left}px`,top:`${za.top}px`,bottom:`auto`,width:`min(450px, calc(100% - ${za.left+8}px))`,maxHeight:`${za.maxHeight}px`,transform:za.place===`above`?`translateY(-100%)`:void 0}:void 0}),w&&(0,$.jsx)(Zl,{ref:pi,searchQuery:E,onFileSelect:Wc,onAgentSelect:Gc,onSkillSelect:Jc,onSessionSelect:Kc,onClose:()=>T(!1),onRowsChange:Lu?Mu:void 0,style:qi&&za?{left:`${za.left}px`,top:`${za.top}px`,bottom:`auto`,width:`min(520px, calc(100% - ${za.left+8}px))`,maxHeight:`${za.maxHeight}px`,transform:za.place===`above`?`translateY(-100%)`:void 0}:void 0})]}),ur&&Ca&&!Ta?(0,$.jsx)(WE,{radius:Qi,isMobile:ur,footerIconButtonClass:ed,footerPaddingClass:Ju,iconSizeClass:Qu,sendIconSizeClass:Xu,onInsert:zs,onInsertAndSend:Ks,onContentHeightChange:bc,onActiveChange:gc,disabled:Cn||Ea!==null||!Sn&&!wn,renderTrigger:!1,topAccessory:GE},sn):null]})})]}),ur?(0,$.jsxs)(`div`,{className:`oc-mobile-composer-compact-layer`,"data-oc-composer-compact-surface":`true`,children:[ld,(0,$.jsx)(`div`,{ref:_c,onPointerDown:()=>{vc.current=!1},onScroll:e=>{let t=e.currentTarget;vc.current=t.scrollWidth-t.clientWidth-t.scrollLeft<=2},className:Y(`oc-mobile-composer-compact-preview`,!Or.trim()&&`oc-mobile-composer-compact-preview--placeholder`),style:cd?{right:`${.625+2.5*(1+Number(!!(n&&i))+Number(!!($o||Jo||lc)))}rem`}:void 0,"aria-hidden":`true`,children:Or.trim()?Or:Ta?Aa:$i})]}):null]}),ur?(0,$.jsx)(UE,{className:`hidden`,composerTextareaRef:Zr,selectionAdapter:$n,mobilePanel:H,onMobilePanelChange:ee}):null]}),wn&&!qi&&!ur&&!Ol&&!uu?(0,$.jsx)(MS,{onSubmit:Fs,className:`chat-input-column mt-4`}):null]}),p.open?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(_E,{popup:p,onOpenChange:mr,isMobile:ur})}):null,(0,$.jsx)(lS,{open:Ua,onOpenChange:Wa,mode:`select`,onSelect:e=>{Xa(e),eo(null)}}),(0,$.jsx)(fS,{open:Ka,onOpenChange:Ja,onSelect:e=>{eo(e),Xa(null)}}),(0,$.jsx)(Wh,{open:Pn,onOpenChange:Fn,projectDirectory:Ze??En??null,submitting:In,onConfirm:Gi}),(0,$.jsx)(`input`,{ref:al,type:`file`,multiple:!0,className:`hidden`,onChange:_l,accept:`*/*`}),(0,$.jsx)(`input`,{ref:ol,type:`file`,multiple:!0,className:`hidden`,onChange:_l,accept:`image/*`}),null,dr?(0,$.jsx)(Cl,{id:`android-media-pick-sheet`,open:se,onOpenChange:e=>{e||ue(!1)},onPickPhotos:()=>{Ae.current=!1,ue(!1),requestAnimationFrame(ml)},onPickFiles:()=>{Ae.current=!1,ue(!1),requestAnimationFrame(fl)}}):null,ur&&kl&&Al?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(hl,{id:`mobile-draft-project-picker-sheet-${he}`,open:fe===`project`,onOpenChange:e=>{e||pe(null)},ariaLabel:u(`chat.chatInput.draftPicker.projectTitle`),closeAriaLabel:u(`mobile.surface.closeAria`),resizeAriaLabel:u(`mobile.sessions.sheet.resizeAria`),children:[(0,$.jsx)(`div`,{className:`shrink-0 px-3 pb-2 pt-1`,"data-mobile-sheet-no-dismiss":``,children:(0,$.jsx)(Rs,{value:ge,onChange:e=>_e(e.target.value),placeholder:u(`chat.chatInput.draftPicker.searchProjects`),className:`h-9`})}),(0,$.jsx)(gl,{outerClassName:`min-h-0 flex-1`,disableHorizontal:!0,children:(0,$.jsx)(`div`,{className:`flex flex-col px-3 pb-2`,children:(0,$.jsx)(ZE,{projects:jn,query:ge,renderLabel:HE,selectedId:Al.id,onSelect:e=>{_u(e),pe(null)}})})}),(0,$.jsx)(`div`,{className:`shrink-0 px-3 pb-4 pt-1`,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2 rounded-lg border-t border-border/50 px-2 py-2.5 text-left typography-ui-label hover:bg-[var(--interactive-hover)]`,onClick:()=>{pe(null),Da.requestDirectoryDialog()},children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:u(`chat.chatInput.draftPicker.newProject`)})]})})]})}):null]})},oD=e=>{let t=(0,Q.c)(3),n=qy(),r=e.surface??n;if(r&&!r.active)return null;let i=r??void 0,a;return t[0]!==e||t[1]!==i?(a=(0,$.jsx)(aD,{...e,surface:i}),t[0]=e,t[1]=i,t[2]=a):a=t[2],a};oD.displayName=`ChatInput`;var sD=Z.memo(oD);function cD(e){return e.preventDefault()}function lD(e){e.preventDefault()}function uD(e){return e.preventDefault()}function dD(e){e.pointerType===`touch`&&e.preventDefault()}function fD(e){e.preventDefault()}function pD(e){e.pointerType===`touch`&&e.preventDefault()}function mD(){let e=(0,Q.c)(47),{t}=Kn(),[n,r]=Z.useState(null),[i,a]=Z.useState(!1),o=Z.useRef(null),s=!!n,c,l;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>zd(e=>{r(e),a(!1)}),l=[],e[0]=c,e[1]=l):(c=e[0],l=e[1]),Z.useEffect(c,l);let u;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=e=>{e||(r(null),a(!1))},e[2]=u):u=e[2];let d=J(u),f;e[3]===d?f=e[4]:(f=()=>(d(!1),!0),e[3]=d,e[4]=f);let p;e[5]!==s||e[6]!==f?(p={id:`image-save-actions`,active:s,layer:`overlay`,onBack:f,surfaceRef:o},e[5]=s,e[6]=f,e[7]=p):p=e[7],Vu(p);let m;e[8]!==i||e[9]!==t||e[10]!==n?(m=async()=>{if(!(!n||i)){a(!0);try{await uf(n),mi.success(t(`chat.image.actions.saveSuccess`)),r(null)}catch(e){let n=e;if(n instanceof DOMException&&n.name===`AbortError`){a(!1);return}mi.error(t(`chat.image.actions.saveFailed`)),a(!1);return}a(!1)}},e[8]=i,e[9]=t,e[10]=n,e[11]=m):m=e[11];let h=J(m);if(!n)return null;let g;e[12]!==t||e[13]!==n.filename?(g=n.filename?.trim()||t(`chat.image.actions.sheetTitle`),e[12]=t,e[13]=n.filename,e[14]=g):g=e[14];let _=g,v;e[15]===t?v=e[16]:(v=Yt()?t(`chat.image.actions.saveToPhotos`):t(`chat.image.actions.saveImage`),e[15]=t,e[16]=v);let y=v,b;e[17]===_?b=e[18]:(b=(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:_}),e[17]=_,e[18]=b);let x;e[19]===t?x=e[20]:(x=t(`mobile.surface.closeAria`),e[19]=t,e[20]=x);let S;e[21]===t?S=e[22]:(S=t(`mobile.sessions.sheet.resizeAria`),e[21]=t,e[22]=S);let C;e[23]===h?C=e[24]:(C=()=>{h()},e[23]=h,e[24]=C);let w=i?`loader-4`:`download`,T=i?`size-5 animate-spin`:`size-5`,E;e[25]!==w||e[26]!==T?(E=(0,$.jsx)(X,{name:w,className:T}),e[25]=w,e[26]=T,e[27]=E):E=e[27];let D;e[28]!==y||e[29]!==i||e[30]!==t?(D=i?t(`chat.image.actions.saving`):y,e[28]=y,e[29]=i,e[30]=t,e[31]=D):D=e[31];let O;e[32]===D?O=e[33]:(O=(0,$.jsx)(`span`,{className:`truncate`,children:D}),e[32]=D,e[33]=O);let k;e[34]!==i||e[35]!==C||e[36]!==E||e[37]!==O?(k=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-col overflow-y-auto overscroll-contain px-3 pb-3`,children:(0,$.jsx)(`div`,{className:`overflow-hidden rounded-2xl bg-[var(--surface-muted)]`,"data-page-scroll-lock":`true`,children:(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`lg`,className:`h-auto min-h-12 w-full justify-start gap-3 rounded-none supports-[corner-shape:squircle]:rounded-none px-4 border-b border-[var(--surface-subtle)] last:border-b-0`,"data-mobile-press-feedback":`none`,disabled:i,onClick:C,children:[E,O]})})}),e[34]=i,e[35]=C,e[36]=E,e[37]=O,e[38]=k):k=e[38];let A;return e[39]!==d||e[40]!==s||e[41]!==S||e[42]!==k||e[43]!==b||e[44]!==x||e[45]!==_?(A=(0,$.jsx)(`div`,{ref:o,children:(0,$.jsx)(hl,{id:`image-save-actions-sheet`,open:s,onOpenChange:d,title:b,ariaLabel:_,closeAriaLabel:x,resizeAriaLabel:S,fitContent:!0,children:k})}),e[39]=d,e[40]=s,e[41]=S,e[42]=k,e[43]=b,e[44]=x,e[45]=_,e[46]=A):A=e[46],A}var hD=e=>!!(e&&typeof e==`object`&&typeof e.type==`string`),gD=e=>e.filter(hD),_D=e=>{let t=e,n=t.text;return typeof n==`string`?n:t.content||t.value||``},vD=e=>/[^\s\u200B-\u200D\u2060\uFEFF]/u.test(e),yD=e=>e.type===`text`&&!vD(_D(e)),bD=(e,t={})=>{let{includeReasoning:n=!0}=t,r=gD(e),i=r.some(e=>!e.synthetic);return r.filter(e=>{let t=!!e.synthetic;if(e.type===`text`){if(yD(e))return!1;let t=_D(e);if(t.includes(`<system-reminder>`)&&on(t).length===0)return!1}return t&&i||!n&&e.type===`reasoning`?!1:e.type!==`patch`})},xD=`GitHub issue context (JSON)`,SD=`GitHub pull request context (JSON)`,CD=`The user referenced these OpenCode sessions (id, title, owning directory).`,wD=e=>typeof e==`number`&&Number.isFinite(e)&&e>0,TD=(e,t)=>{let n=e.trimStart();if(!n.startsWith(t))return null;let r=n.indexOf(`{`);if(r<0)return null;try{return JSON.parse(n.slice(r))}catch{return null}},ED=e=>{let t=TD(e,xD);if(t){let e=t.issue,n=e?.number,r=e?.title,i=e?.url;return!wD(n)||typeof r!=`string`||typeof i!=`string`?null:{type:`file`,mime:`application/vnd.github.issue-link`,filename:`Issue #${n}: ${r}`,url:i}}let n=TD(e,SD);if(n){let e=n.pr,t=e?.number,r=e?.title,i=e?.url;return!wD(t)||typeof r!=`string`||typeof i!=`string`?null:{type:`file`,mime:`application/vnd.github.pull-request-link`,filename:`PR #${t}: ${r}`,url:i}}return null},DD=e=>!!e.trim().startsWith(`The following tool was executed by the user`),OD=e=>e.trimStart().startsWith(`Continue working toward the active session goal.`),kD=e=>e.trim()===`/compact`,AD=e=>e.flatMap(e=>{if(e.type===`compaction`)return[];if(e.type===`text`){let t=e.text;if(typeof t==`string`){let n=ga(t);if(n.trim().length===0||OD(n)||kD(n)||n.trimStart().startsWith(CD)||n.includes(`<system-reminder>`)&&on(n).length===0)return[];n!==t&&(e={...e,text:n})}}if(e.synthetic!==!0)return[e];if(e.type!==`text`)return[];let t=e.text;if(typeof t!=`string`)return[];let n=t.trimStart();return DD(t)||n.startsWith(xD)||n.startsWith(SD)?[e]:[]}).map(e=>{let t=e;if(t.type===`text`){let n=typeof t.text==`string`?t.text.trim():``;if(t.synthetic===!0){let e=ED(n);if(e)return e}if(n.startsWith(`The following tool was executed by the user`))return{...e,type:`text`,text:`/shell`};if(n.includes(`<system-reminder>`))return{...e,type:`text`,text:on(n)}}return e}),jD=e=>e.some(e=>{if(e.type===`text`)return!yD(e);if(e.type===`file`){let t=e,n=typeof t.mime==`string`?t.mime:``,r=typeof t.url==`string`?t.url:``;return(!!n||!!r)&&!!r&&!At(e)}return!0}),MD=e=>e?.length?jD(AD(e)):!1,ND=(e,t)=>{if(t.length===0)return e;let n=new Map(t.map(e=>[e.info.id,e])),r=!1,i=e.map(e=>{if(MD(e.parts))return e;let t=n.get(e.info.id);return t?(r=!0,t):e}),a=r?i:e,o=new Set(e.map(e=>e.info.id)),s=t.filter(e=>!o.has(e.info.id));return s.length===0?a:[...a,...s]},PD=(e,t)=>{if(e.length===0)return!1;let n;for(let t of e){let e=t.info.time?.created;typeof e==`number`&&(n===void 0||e>n)&&(n=e)}return!t.resolvedSessionStatus||typeof t.sessionStatusObservedAt!=`number`||typeof n!=`number`||n>t.sessionStatusObservedAt},FD=e=>{let t=e.boundary.kind===`exhausted`,n=e.boundary.kind===`has-more`,r=t&&!e.assistantComplete,i=n||r;return{complete:t&&e.assistantComplete,canLoadEarlier:i}},ID=e=>e.syncLoading||e.assistantLoading,LD=e=>e.isMobile&&(e.canLoadEarlier||e.isLoadingOlder),RD=e=>e.isLoadingOlder,zD=e=>!e.isMobile&&e.isLoadingOlder,BD=e=>e.transcriptMessageCount>0||e.pendingUserCount>0||e.historyPrefixCount>0,VD=e=>e.hasImmediateShell||e.hasTranscriptShell&&e.hasRenderableSessionSnapshot||e.transcriptRecords?.some(e=>e.info.role===`user`?MD(e.parts):e.parts.some(e=>e.type===`tool`||e.type===`text`&&e.text.trim().length>0))||e.hasPaintedTranscript?`pass`:e.prefetchStatus===`loading`||e.syncLoading||e.userRetrying?`hydrating`:e.prefetchStatus===`error`?`load-error`:e.hasRenderableSessionSnapshot?`pass`:`hydrating`,HD=e=>{let{sessionId:t,messages:n,retained:r}=e;return t?n.length>0?{messages:n,retained:{sessionId:t,messages:n}}:r?.sessionId===t?{messages:r.messages,retained:r}:{messages:n,retained:null}:{messages:n,retained:null}},UD=e=>({newSessionDraft:e?.features?.newSessionDraft??!e,promptNavigator:e?.features?.promptNavigator??!e,returnToParent:e?.features?.returnToParent??!e}),WD=`text-[13px] leading-4 sm:text-[length:var(--text-micro)] sm:leading-5`,GD=`relative bottom-safe-area oc-mobile-readonly-prompt-foot`,KD=e=>{let t=(0,Q.c)(8),{providerId:n,modelId:r,label:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(X,{name:`brain-ai-3`,className:`size-3.5`}),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=(0,$.jsx)(`span`,{role:`img`,"aria-label":i,className:`inline-flex size-3.5 shrink-0 items-center justify-center`,children:a}),t[1]=i,t[2]=o);let s;return t[3]!==i||t[4]!==r||t[5]!==n||t[6]!==o?(s=(0,$.jsx)(bs,{modelId:r,providerId:n,alt:i,className:`size-3.5 shrink-0`,fallback:o}),t[3]=i,t[4]=r,t[5]=n,t[6]=o,t[7]=s):s=t[7],s},qD=e=>{let t=(0,Q.c)(42),{t:n}=Kn(),r=q(JD),i=`agentName`in e||`providerId`in e||`modelId`in e||`modelName`in e;if(!i){let e=r&&GD,i;t[0]===e?i=t[1]:(i=Y(`p-3`,e),t[0]=e,t[1]=i);let a;t[2]===n?a=t[3]:(a=n(`chat.container.readOnlySubagentPromptBanner`),t[2]=n,t[3]=a);let o;t[4]===a?o=t[5]:(o=(0,$.jsx)(`div`,{className:`rounded-2xl border border-border/70 bg-[var(--surface-background)] px-4 py-3 text-muted-foreground ${WD}`,children:a}),t[4]=a,t[5]=o);let s;return t[6]!==i||t[7]!==o?(s=(0,$.jsx)(`div`,{className:i,children:o}),t[6]=i,t[7]=o,t[8]=s):s=t[8],s}let a;t[9]===n?a=t[10]:(a=n(`common.unavailable`),t[9]=n,t[10]=a);let o=a,s;t[11]!==e.agentName||t[12]!==o?(s=e.agentName?e.agentName.charAt(0).toUpperCase()+e.agentName.slice(1):o,t[11]=e.agentName,t[12]=o,t[13]=s):s=t[13];let c=s,l=e.modelName||o,u;t[14]===n?u=t[15]:(u=n(`chat.leaderKey.action.agent`),t[14]=n,t[15]=u);let d=`${u}: ${c}`,f;t[16]===n?f=t[17]:(f=n(`chat.leaderKey.action.model`),t[16]=n,t[17]=f);let p=`${f}: ${l}`,m=r&&GD,h;t[18]===m?h=t[19]:(h=Y(`shrink-0 border-t border-border/70 bg-[var(--surface-background)] p-3`,m),t[18]=m,t[19]=h);let g=r&&`oc-mobile-readonly-prompt-surface`,_;t[20]===g?_=t[21]:(_=Y(`rounded-2xl border border-border/70 bg-[var(--surface-elevated)] px-3 py-2.5 sm:px-4 sm:py-3`,g),t[20]=g,t[21]=_);let v;t[22]===n?v=t[23]:(v=n(`chat.container.readOnlySubagentPromptBanner`),t[22]=n,t[23]=v);let y;t[24]===v?y=t[25]:(y=(0,$.jsx)(`div`,{className:`text-muted-foreground ${WD}`,children:v}),t[24]=v,t[25]=y);let b;t[26]!==d||t[27]!==c||t[28]!==p||t[29]!==l||t[30]!==e.agentName||t[31]!==e.modelId||t[32]!==e.providerId||t[33]!==i?(b=i?(0,$.jsxs)(`div`,{"data-testid":`read-only-prompt-banner-meta`,className:`mt-1.5 flex min-w-0 items-center justify-between gap-3 border-t border-border/70 pt-1.5 text-[13px] leading-none sm:text-[length:var(--text-micro)]`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden`,children:[(0,$.jsx)(rs,{name:e.agentName,size:14,label:d}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-foreground`,title:c,children:c})]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 max-w-[55%] items-center justify-end gap-1.5 overflow-hidden`,children:[(0,$.jsx)(KD,{providerId:e.providerId,modelId:e.modelId,label:p}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-right text-foreground`,title:l,children:l})]})]}):null,t[26]=d,t[27]=c,t[28]=p,t[29]=l,t[30]=e.agentName,t[31]=e.modelId,t[32]=e.providerId,t[33]=i,t[34]=b):b=t[34];let x;t[35]!==b||t[36]!==_||t[37]!==y?(x=(0,$.jsxs)(`div`,{className:_,children:[y,b]}),t[35]=b,t[36]=_,t[37]=y,t[38]=x):x=t[38];let S;return t[39]!==x||t[40]!==h?(S=(0,$.jsx)(`aside`,{className:h,children:x}),t[39]=x,t[40]=h,t[41]=S):S=t[41],S};function JD(e){return e.isMobile}var YD=Z.memo(()=>{let e=(0,Q.c)(5),{t}=Kn(),{currentTheme:n}=is(),r=ai(XD),i=n?.colors?.surface?.mutedForeground||`var(--muted-foreground)`,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Js,{width:140,height:140,className:`opacity-20`}),e[0]=a):a=e[0];let o;return e[1]!==r||e[2]!==t||e[3]!==i?(o=(0,$.jsxs)(`div`,{className:`flex flex-col items-center justify-center min-h-full w-full gap-6`,children:[a,r?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 max-w-md text-center px-4`,children:[(0,$.jsx)(`span`,{className:`typography-markdown font-medium text-destructive`,children:t(`chat.emptyState.opencodeUnreachable`)}),(0,$.jsx)(`span`,{className:`typography-meta`,style:{color:i},children:r.message})]}):(0,$.jsx)(`span`,{className:`typography-markdown`,style:{color:i},children:t(`chat.emptyState.startNewChat`)})]}),e[1]=r,e[2]=t,e[3]=i,e[4]=o):o=e[4],o});function XD(e){return e.error}var ZD=`oc_asst_session_divider:`,QD=[],$D=e=>typeof e?.info?.id==`string`&&e.info.id.startsWith(`oc_asst_session_divider:`),eO=(e,t=0)=>({info:{id:`${ZD}${e}`,role:`system`,time:{created:t}},parts:[]}),tO=e=>!!(e?.info&&typeof e.info==`object`&&e.info.openchamberAssistantAdmission),nO=(e,t,n=QD)=>{if(!e.length)return QD;let r=[],i=!1,a=null;for(let n of e)n.sessionID!==t&&(i&&a!==n.sessionID&&r.push(eO(n.sessionID,Number(n.info.time?.created??0))),r.push({info:n.info,parts:n.parts,sourceSessionID:n.sessionID,sourceDirectory:n.directory}),i=!0,a=n.sessionID);return r.length===0?QD:sO(n,r)?n:r},rO=(e,t)=>{if(t.length===0)return e;if(e.length===0)return t;let n=new Map;for(let e of t)e?.id&&n.set(e.id,e);for(let t of e)t?.id&&n.set(t.id,t);let r=new Set,i=[];for(let e of t){if(!e?.id||r.has(e.id))continue;let t=n.get(e.id);t&&(i.push(t),r.add(e.id))}for(let t of e)!t?.id||r.has(t.id)||(i.push(t),r.add(t.id));return i.length===e.length&&i.every((t,n)=>t===e[n])?e:i},iO=(e,t)=>{if(!t)return e;if(e.info.role===`assistant`&&t.parts.length>0){let n=rO(e.parts,t.parts);return n===e.parts&&e.info===t.info?e:n===t.parts&&e.info===t.info&&e.parts===t.parts?t:{...e,parts:n,...t.sourceParts&&!e.sourceParts?{sourceParts:t.sourceParts}:{}}}return MD(e.parts)?e:MD(t.parts)?e.info===t.info&&e.parts===t.parts?t:{...e,parts:t.parts,...t.sourceParts&&!e.sourceParts?{sourceParts:t.sourceParts}:{}}:e.parts.length>0||t.parts.length===0?e:e.info===t.info&&e.parts===t.parts?t:{...e,parts:t.parts,...t.sourceParts&&!e.sourceParts?{sourceParts:t.sourceParts}:{}}},aO=(e,t,n,r=QD)=>{if(!t)return n.length>0?Array.from(n):QD;let i=new Map,a=0;for(let n of e)n.sessionID===t&&(tO(n)||i.set(n.info.id,{message:{info:n.info,parts:n.parts},order:a++}));for(let e of n){let t=i.get(e.info.id);i.set(e.info.id,{message:iO(e,t?.message),order:t?.order??a++})}if(i.size===0)return QD;let o=[...i.values()].sort((e,t)=>Number(e.message.info.time?.created??0)-Number(t.message.info.time?.created??0)||e.order-t.order).map(({message:e})=>e);return sO(r,o)?r:o},oO=(e,t)=>{if(!$D(e)||!$D(t))return!1;let n=Number(e.info.time?.created??0),r=Number(t.info.time?.created??0);return e.info.id===t.info.id&&n===r},sO=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||!(r===i||oO(r,i))&&(r?.info!==i?.info||r?.parts!==i?.parts||r.sourceSessionID!==i.sourceSessionID||r.sourceDirectory!==i.sourceDirectory))return!1}return!0},cO=()=>Ge(e=>({expanded:new Set,toggle:t=>e(e=>{let n=new Set(e.expanded);return n.has(t)?n.delete(t):n.add(t),{expanded:n}})})),lO=(0,Z.createContext)(null);function uO(e){let t=(0,Q.c)(7),n=(0,Z.useContext)(lO),r;t[0]===n?r=t[1]:(r=()=>n??cO(),t[0]=n,t[1]=r);let[i]=(0,Z.useState)(r),a=n??i,o;t[2]===e?o=t[3]:(o=t=>t.expanded.has(e),t[2]=e,t[3]=o);let s=Ue(a,o),c=Ue(a,dO),l;return t[4]!==s||t[5]!==c?(l={expanded:s,toggle:c},t[4]=s,t[5]=c,t[6]=l):l=t[6],l}function dO(e){return e.toggle}var fO={onPointerEnter:e=>{e.pointerType!==`touch`&&e.currentTarget.setAttribute(`data-message-hovered`,``)},onPointerLeave:e=>{e.currentTarget.removeAttribute(`data-message-hovered`)},onPointerCancel:e=>{e.currentTarget.removeAttribute(`data-message-hovered`)}},pO=class e{static instance;sessionStartTimes=new Map;seenMessageIds=new Set;messageCreationTimes=new Map;constructor(){}static getInstance(){return e.instance||=new e,e.instance}recordSessionStart(e){this.sessionStartTimes.set(e,Date.now())}getSessionStartTime(e){return this.sessionStartTimes.get(e)}shouldAnimateMessage(e,t){if(e.role!==`assistant`||this.seenMessageIds.has(e.id))return!1;let n=this.sessionStartTimes.get(t);if(!n)return this.seenMessageIds.add(e.id),this.messageCreationTimes.set(e.id,e.time.created),!1;let r=e.time.created>n-5e3;return r||(this.seenMessageIds.add(e.id),this.messageCreationTimes.set(e.id,e.time.created)),r}clearSession(e){this.sessionStartTimes.delete(e)}hasSessionTiming(e){return this.sessionStartTimes.has(e)}hasBeenAnimated(e){return this.seenMessageIds.has(e)}markMessageAsAnimated(e,t){this.seenMessageIds.add(e),this.messageCreationTimes.set(e,t)}clearAll(){this.sessionStartTimes.clear(),this.seenMessageIds.clear(),this.messageCreationTimes.clear()}getDebugInfo(){return{sessionStartTimes:new Map(this.sessionStartTimes),seenMessageIds:new Set(this.seenMessageIds),messageCreationTimes:new Map(this.messageCreationTimes)}}},mO=e=>{if(!e?.trim())return null;let t=e.trim();return t.toLowerCase()==="default"?null:_r(t)},hO=Z.memo(e=>{let t=(0,Q.c)(30),{isUser:n,isMobile:r,providerID:i,modelID:a,agentName:o,modelName:s,variant:c}=e,l;t[0]!==r||t[1]!==n||t[2]!==c?(l=!n&&!r?mO(c):null,t[0]=r,t[1]=n,t[2]=c,t[3]=l):l=t[3];let u=l,d=s||`Assistant`,f,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=Y(`mb-1.5`),p=Y(`flex items-center justify-between gap-2`),t[4]=f,t[5]=p):(f=t[4],p=t[5]);let m;t[6]!==o||t[7]!==n||t[8]!==a||t[9]!==i?(m=(0,$.jsx)(`div`,{className:`flex-shrink-0`,children:n?(0,$.jsx)(`div`,{className:`w-9 h-9 rounded-xl bg-primary/10 flex items-center justify-center`,children:(0,$.jsx)(X,{name:`user-3`,className:`h-4 w-4 text-primary`})}):(0,$.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,$.jsx)(bs,{modelId:a,providerId:i,className:`h-4 w-4`,fallback:(0,$.jsx)(X,{name:`brain-ai-3`,className:`h-4 w-4`,style:{color:`var(${$o(o).var})`}})})})}),t[6]=o,t[7]=n,t[8]=a,t[9]=i,t[10]=m):m=t[10];let h=n?`text-primary`:`text-foreground`,g;t[11]===h?g=t[12]:(g=Y(`inline-flex min-w-0 items-center gap-1.5 font-semibold typography-ui-header tracking-tight leading-tight`,h),t[11]=h,t[12]=g);let _=n?`You`:d,v;t[13]===_?v=t[14]:(v=(0,$.jsx)(`span`,{className:`truncate`,children:_}),t[13]=_,t[14]=v);let y;t[15]===u?y=t[16]:(y=u?(0,$.jsx)(`span`,{className:`shrink-0 text-xs font-normal leading-tight text-muted-foreground`,children:u}):null,t[15]=u,t[16]=y);let b;t[17]!==g||t[18]!==v||t[19]!==y?(b=(0,$.jsxs)(`h3`,{className:g,children:[v,y]}),t[17]=g,t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;t[21]!==o||t[22]!==n?(x=!n&&o&&(0,$.jsxs)(`div`,{className:Y(`agent-badge inline-flex shrink-0 items-center gap-1 cursor-default rounded px-1.5 py-0 font-normal leading-none text-[10px]`,$o(o).class),children:[(0,$.jsx)(rs,{name:o,size:10,shape:`square`}),(0,$.jsx)(`span`,{children:o.charAt(0).toUpperCase()+o.slice(1)})]}),t[21]=o,t[22]=n,t[23]=x):x=t[23];let S;t[24]!==b||t[25]!==x?(S=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[b,x]}),t[24]=b,t[25]=x,t[26]=S):S=t[26];let C;return t[27]!==S||t[28]!==m?(C=(0,$.jsx)(`div`,{className:f,children:(0,$.jsx)(`div`,{className:p,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[m,S]})})}),t[27]=S,t[28]=m,t[29]=C):C=t[29],C}),gO=6e5,_O=new Map,vO=e=>{let t=Jc(e);if(!t)return;let n=_O.get(t);if(n){if(n.expiresAt<=Date.now()){_O.delete(t);return}return n.outsideFileGrant}},yO=(e,t,n)=>{let r=Jc(e);!r||!t||_O.set(r,{outsideFileGrant:t,expiresAt:typeof n==`number`&&Number.isFinite(n)?n:Date.now()+gO})},bO=async(e,t)=>{let n=Jc(e);if(!n||!t||Xc(n,t))return;let r=vO(n);if(r)return r;let i=await we(n);if(!(!i.success||!i.path||!i.outsideFileGrant))return yO(i.path,i.outsideFileGrant),Jc(i.path)!==n&&yO(n,i.outsideFileGrant),i.outsideFileGrant},xO=/(^|\s)\/([a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?)/g,SO=/(```[\s\S]*?```|~~~[\s\S]*?~~~)/g,CO=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`),wO=(e,t)=>e.split(SO).map((e,n)=>n%2==1?e:t(e)).join(``),TO=e=>wO(e,e=>e.replace(/ *\n/g,`
|
|
6557
|
-
`)),EO=({textContent:e,agentMention:t,skillNames:n,decorateInlineReferences:r=!0})=>{let i=wO(e,CO);if(r){if(t?.token&&i.includes(t.token)){let e=`[${t.token}](${Od(t.name)})`;i=i.replace(t.token,e)}i=i.replace(xO,(e,t,r)=>n.has(r)?`${t}[/${r}](${Pd(r)})`:e)}return TO(i)},DO=e=>(xO.lastIndex=0,xO.test(e)||e.includes(`[skill:`)),OO=e=>{if(typeof window>`u`)return!1;let t=window.getSelection();if(!t||t.isCollapsed||t.rangeCount===0)return!1;let n=t.getRangeAt(0);return e.contains(n.startContainer)||e.contains(n.endContainer)},kO=Z.memo(e=>{let t=(0,Q.c)(80),{part:n,messageId:r,agentMention:i,messageParts:a}=e,o=n,s=o.text,c=typeof s==`string`?s:o.content||o.value||``,l;t[0]===c?l=t[1]:(l=c_(c),t[0]=c,t[1]=l);let u=l,d=u?u.body:c,[f,p]=Z.useState(!1),[m,h]=Z.useState(!1),g=q(AO),_=Ed(),v;t[2]===d?v=t[3]:(v=DO(d),t[2]=d,t[3]=v);let y;t[4]!==_||t[5]!==v?(y={directory:_,enabled:v},t[4]=_,t[5]=v,t[6]=y):y=t[6];let b=Ar(y),x;t[7]===b.data?x=t[8]:(x=b.data??[],t[7]=b.data,t[8]=x);let S=x,C=q(jO),{t:w}=Kn(),T=g&&!f,E=Z.useRef(null),D;t[9]===S?D=t[10]:(D=new Map(S.map(MO)),t[9]=S,t[10]=D);let O=D,k;t[11]!==a||t[12]!==d?(k=J_(a,d),t[11]=a,t[12]=d,t[13]=k):k=t[13];let A=k,j;if(t[14]!==a||t[15]!==d){let e=new Map;for(let t of a??[]){if(t.type!==`text`||!na(t))continue;let n=t.text;if(typeof n==`string`)for(let t of tr(n))e.set(t.id,{sessionId:t.id,sessionLabel:t.title||t.id})}if(d.includes(`@`))for(let[t,n]of pt()){let r=typeof n.title==`string`?n.title.trim():``;!r||e.has(t)||(d.includes(`@${r}`)||d.includes(`@${me}${r}`))&&e.set(t,{sessionId:t,sessionLabel:r})}j=Array.from(e.values()),t[14]=a,t[15]=d,t[16]=j}else j=t[16];let M=j,N;t[17]!==_||t[18]!==C||t[19]!==O?(N=e=>{let t=O.get(e),n=typeof t?.path==`string`?t.path:``,r=Jc(n);if(!r||r===`<built-in>`)return;let i=r.toLowerCase().endsWith(`/skill.md`)?r:`${r}/SKILL.md`,a=_||$c(``,i)||`/`,o=()=>{C(a,i)};if(_&&!Xc(i,_)){bO(i,_).then(o);return}o()},t[17]=_,t[18]=C,t[19]=O,t[20]=N):N=t[20];let P=J(N),F;t[21]!==g||t[22]!==f?(F=()=>{let e=E.current;if(!e)return;let t=()=>{g&&!f&&e.scrollHeight>e.clientHeight&&h(!0)};h(!1),t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},t[21]=g,t[22]=f,t[23]=F):F=t[23];let I;t[24]!==g||t[25]!==f||t[26]!==d?(I=[g,d,f],t[24]=g,t[25]=f,t[26]=d,t[27]=I):I=t[27],Z.useEffect(F,I);let L,R;t[28]===g?(L=t[29],R=t[30]):(L=()=>{g||(p(!1),h(!1))},R=[g],t[28]=g,t[29]=L,t[30]=R),Z.useEffect(L,R);let z;t[31]!==g||t[32]!==f||t[33]!==m||t[34]!==P?(z=e=>{let t=e.target,n=(t?.closest(`[data-skill-name]`))?.dataset.skillName??Ad(t?.closest(`a[href]`)?.getAttribute(`href`));if(n){e.preventDefault(),e.stopPropagation(),P(n);return}let r=E.current;r&&(OO(r)||g&&!f&&m&&p(!0))},t[31]=g,t[32]=f,t[33]=m,t[34]=P,t[35]=z):z=t[35];let B=J(z),V;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{e.stopPropagation(),p(!1)},t[36]=V):V=t[36];let H=J(V),ee;t[37]!==i||t[38]!==A.displayNames||t[39]!==A.icons||t[40]!==M||t[41]!==O||t[42]!==d?(ee=H_(d,{skillNames:new Set(O.keys()),citationIcons:A.icons,citationDisplayNames:A.displayNames,sessionMentions:M,agentNames:i?.name?new Set([i.name.toLowerCase(),i.token.replace(/^@/,``).toLowerCase()]):void 0,allowPathHeuristics:!0}),t[37]=i,t[38]=A.displayNames,t[39]=A.icons,t[40]=M,t[41]=O,t[42]=d,t[43]=ee):ee=t[43];let U=ee,te;t[44]!==i||t[45]!==U||t[46]!==O||t[47]!==d?(te=EO({textContent:d,agentMention:i,skillNames:new Set(O.keys()),decorateInlineReferences:!U}),t[44]=i,t[45]=U,t[46]=O,t[47]=d,t[48]=te):te=t[48];let ne=te,W;t[49]===T?W=t[50]:(W=(e,t)=>{if(!e)return null;let n=EO({textContent:e,skillNames:new Set,decorateInlineReferences:!1});return(0,$.jsx)(td,{content:n,className:Y(`inline w-auto align-baseline [&_.markdown-content]:contents [&_.markdown-content_p]:inline [&_[data-markdown-size-spacer]]:inline`,`[&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,T&&[`[&_.markdown-content>*]:my-0`,`[&_[data-component='markdown-code']]:my-0`,`[&_[data-component='markdown-code']]:inline`,`[&_[data-component='markdown-code']]:border-0`,`[&_[data-component='markdown-code']]:bg-transparent`,`[&_[data-component='markdown-code']>*:first-child]:hidden`,`[&_[data-component='markdown-code']>div]:inline`,`[&_[data-component='markdown-code']>div]:p-0`,`[&_[data-component='markdown-code']_pre]:inline`,`[&_[data-component='markdown-code']_code]:inline`,`[&_[data-md-code-line-numbers]]:hidden`]),disableLinkSafety:!0,enableFileReferences:!1},t)},t[49]=T,t[50]=W);let G=W,re;t[51]!==P||t[52]!==G?(re=e=>e.map((e,t)=>e.type===`text`?G(e.text,`text-${t}`):(0,$.jsx)(X_,{decoration:e.decoration,onOpenSkill:P},`ref-${t}-${e.span.start}`)),t[51]=P,t[52]=G,t[53]=re):re=t[53];let ie=re;if((!d||d.trim().length===0)&&!u?.quotes.length)return null;let ae=T&&m,oe=n.id||`${r}-user-text`,se=ae?`true`:void 0,K;t[54]!==g||t[55]!==H||t[56]!==f||t[57]!==w?(K=g&&f&&(0,$.jsx)(`button`,{type:`button`,onClick:H,className:`absolute top-0 right-0 z-10 flex items-center justify-center rounded-sm bg-[var(--surface-elevated)] p-0.5 text-[var(--surface-mutedForeground)] hover:text-[var(--surface-foreground)] hover:bg-[var(--interactive-hover)] transition-colors`,"aria-label":w(`chat.message.userText.collapseAria`),children:(0,$.jsx)(X,{name:`arrow-up-s`,className:`h-3.5 w-3.5`})}),t[54]=g,t[55]=H,t[56]=f,t[57]=w,t[58]=K):K=t[58];let ce;t[59]!==r||t[60]!==n.id||t[61]!==u||t[62]!==w?(ce=u&&u.quotes.length>0?(0,$.jsx)(`div`,{className:`mb-1 flex flex-col gap-0.5`,"data-conversation-quotes":!0,"aria-label":w(`chat.message.conversationQuotesLabel`),children:u.quotes.map((e,t)=>(0,$.jsx)(`p`,{"data-conversation-quote":!0,className:`m-0 whitespace-pre-wrap break-words border-l-2 border-border pl-1.5 typography-meta text-muted-foreground`,children:e},`${n.id||r}-quote-${t}`))}):null,t[59]=r,t[60]=n.id,t[61]=u,t[62]=w,t[63]=ce):ce=t[63];let le;t[64]!==g||t[65]!==B||t[66]!==T||t[67]!==f||t[68]!==m||t[69]!==ne||t[70]!==U||t[71]!==ie||t[72]!==d?(le=d.trim().length>0?(0,$.jsx)(`div`,{className:Y(`break-words font-sans typography-markdown-body`,f&&`pb-3`,T&&`line-clamp-10`,g&&m&&!f&&`cursor-pointer`),"data-user-message-collapse":T?`true`:void 0,ref:E,onClick:B,children:U?ie(U):(0,$.jsx)(td,{content:ne,className:Y(`[&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,T&&[`[&_.markdown-content>*]:my-0`,`[&_[data-component='markdown-code']]:my-0`,`[&_[data-component='markdown-code']]:inline`,`[&_[data-component='markdown-code']]:border-0`,`[&_[data-component='markdown-code']]:bg-transparent`,`[&_[data-component='markdown-code']>*:first-child]:hidden`,`[&_[data-component='markdown-code']>div]:inline`,`[&_[data-component='markdown-code']>div]:p-0`,`[&_[data-component='markdown-code']_pre]:inline`,`[&_[data-component='markdown-code']_code]:inline`,`[&_[data-md-code-line-numbers]]:hidden`]),disableLinkSafety:!0,enableFileReferences:!1})}):null,t[64]=g,t[65]=B,t[66]=T,t[67]=f,t[68]=m,t[69]=ne,t[70]=U,t[71]=ie,t[72]=d,t[73]=le):le=t[73];let ue;return t[74]!==oe||t[75]!==se||t[76]!==K||t[77]!==ce||t[78]!==le?(ue=(0,$.jsxs)(`div`,{className:`relative`,"data-user-message-clamp":se,children:[K,ce,le]},oe),t[74]=oe,t[75]=se,t[76]=K,t[77]=ce,t[78]=le,t[79]=ue):ue=t[79],ue});function AO(e){return e.collapsibleUserMessages}function jO(e){return e.openContextFile}function MO(e){return[e.name,e]}var NO=[{variant:`static`,component:({children:e,className:t,...n})=>(0,$.jsx)(`span`,{...n,className:t,children:e})},{variant:`generate-effect`,component:({children:e,className:t,...n})=>{if(e==null)return null;let r=typeof e==`string`?e:typeof e==`number`?String(e):Array.isArray(e)?e.map(e=>typeof e==`string`||typeof e==`number`?String(e):``).join(``):``;return r?(0,$.jsx)(`span`,{className:Y(`inline-block align-baseline`,t),children:r.split(``).map((e,t)=>(0,Z.createElement)(yf.span,{...n,key:e+String(t),className:Y(`inline-block whitespace-pre align-baseline`),initial:{opacity:0},animate:{opacity:1},transition:{ease:`easeOut`,duration:.14,delay:Math.min(t*.0045,.14)}},e))}):null}},{variant:`glitch`,component:({children:e,className:t,...n})=>(0,$.jsxs)(`div`,{className:`group relative overflow-hidden font-medium`,children:[(0,$.jsx)(`span`,{...n,className:Y(`invisible`,t),children:e}),(0,$.jsx)(`span`,{...n,className:Y(`absolute top-0 left-0 text-primary-muted transition-transform duration-500 ease-in-out`,`group-hover:-translate-y-full hover:duration-300`,t),children:e}),(0,$.jsx)(`span`,{...n,className:Y(`absolute top-0 left-0 translate-y-full text-primary-muted transition-transform duration-500`,`ease-in-out hover:duration-300 group-hover:translate-y-0`,t),children:e})]})},{variant:`hover-enter`,component:({children:e,className:t,...n})=>{if(typeof e!=`string`)return null;let r=.25,i=.025,a=e.split(``).map(e=>e===` `?`\xA0`:e);return(0,$.jsxs)(yf.span,{...n,className:Y(`relative block select-none overflow-hidden whitespace-nowrap text-primary-muted`,t),initial:`initial`,whileHover:`hovered`,style:{lineHeight:.9},children:[(0,$.jsx)(`div`,{children:a.map((e,t)=>(0,$.jsx)(yf.span,{className:`inline-block`,variants:{initial:{y:0},hovered:{y:`-100%`}},transition:{duration:r,ease:`easeInOut`,delay:i*t},children:e},String(t)))}),(0,$.jsx)(`div`,{className:Y(`absolute inset-0`),children:a.map((e,t)=>(0,$.jsx)(yf.span,{className:`inline-block`,variants:{initial:{y:`100%`},hovered:{y:0}},transition:{duration:r,ease:`easeInOut`,delay:i*t},children:e},String(t)))})]})}},{variant:`shake`,component:({children:e,className:t,...n})=>(0,$.jsx)(`span`,{...n,className:Y(`text-primary-muted hover:animate-text-shake`,t),children:e})},{variant:`hover-decoration`,component:({children:e,className:t,...n})=>(0,$.jsx)(`div`,{className:Y(`relative after:absolute after:bottom-0 after:left-0 after:h-px after:w-full after:origin-bottom-right`,`after:scale-x-0 after:bg-primary-muted after:transition-transform after:duration-300 after:ease-in-out hover:after:origin-bottom-left hover:after:scale-x-100`),children:(0,$.jsx)(`span`,{...n,className:Y(`text-primary-muted`,t),children:e})})}];function PO(e){let t=(0,Q.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({variant:i,className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`static`:i,o;t[4]===a?o=t[5]:(o=NO.find(e=>e.variant===a)?.component,t[4]=a,t[5]=o);let s=o||NO[0].component,c;return t[6]!==s||t[7]!==n||t[8]!==r?(c=(0,$.jsx)(s,{...r,className:n}),t[6]=s,t[7]=n,t[8]=r,t[9]=c):c=t[9],c}var FO=e=>{let t=`h-3.5 w-3.5 flex-shrink-0`,n=`h-[13px] w-[13px] flex-shrink-0`,r=e.toLowerCase();return r===`edit`||r===`multiedit`||r===`apply_patch`||r===`patch`||r===`str_replace`||r===`str_replace_based_edit_tool`?(0,$.jsx)(X,{name:`pencil`,className:n}):r===`write`||r===`create`||r===`file_write`?(0,$.jsx)(X,{name:`file-edit`,className:n}):r===`read`||r===`view`||r===`file_read`||r===`cat`?(0,$.jsx)(X,{name:`file-text`,className:t}):r===`bash`||r===`shell`||r===`cmd`||r===`terminal`?(0,$.jsx)(X,{name:`terminal-box`,className:t}):r===`execute`?(0,$.jsx)(X,{name:`code-box`,className:t}):r===`list`||r===`ls`||r===`dir`||r===`list_files`?(0,$.jsx)(X,{name:`folder-6`,className:t}):r===`search`||r===`grep`||r===`find`||r===`ripgrep`?(0,$.jsx)(X,{name:`menu-search`,className:t}):r===`glob`?(0,$.jsx)(X,{name:`file-search`,className:t}):r===`fetch`||r===`curl`||r===`wget`||r===`webfetch`||r===`browser`||r===`web-search`||r===`websearch`||r===`search_web`||r===`codesearch`||r===`google`||r===`bing`||r===`duckduckgo`||r===`perplexity`?(0,$.jsx)(X,{name:`global`,className:t}):r===`todowrite`||r===`todoread`?(0,$.jsx)(X,{name:`list-check-3`,className:t}):r===`structuredoutput`||r===`structured_output`?(0,$.jsx)(X,{name:`list-check-2`,className:t}):r===`skill`?(0,$.jsx)(X,{name:`book`,className:t}):r===`task`||r===`subagent`?(0,$.jsx)(X,{name:`ai-agent`,className:t}):r===`question`?(0,$.jsx)(X,{name:`survey`,className:t}):r===`lsp`?(0,$.jsx)(X,{name:`scan-2`,className:t}):r.startsWith(`git`)?(0,$.jsx)(X,{name:`git-branch`,className:t}):(0,$.jsx)(X,{name:`tools`,className:t})},IO=new Map,LO=e=>{let t=IO.get(e);if(t)return t;let n={subscribers:new Set,timerId:null};return IO.set(e,n),n},RO=(e,t)=>{let n=LO(e);return n.subscribers.add(t),t(Date.now()),n.timerId===null&&typeof window<`u`&&(n.timerId=window.setInterval(()=>{let e=Date.now();n.subscribers.forEach(t=>{t(e)})},e)),()=>{let n=IO.get(e);n&&(n.subscribers.delete(t),!(n.subscribers.size>0)&&(n.timerId!==null&&typeof window<`u`&&window.clearInterval(n.timerId),IO.delete(e)))}},zO=(e,t)=>{let n=(0,Q.c)(4),r=t===void 0?250:t,[i,a]=Z.useState(BO),o,s;return n[0]!==e||n[1]!==r?(o=()=>{if(e)return RO(r,a)},s=[e,r],n[0]=e,n[1]=r,n[2]=o,n[3]=s):(o=n[2],s=n[3]),Z.useEffect(o,s),i};function BO(){return Date.now()}var VO=e=>e.match(/<task\s+id="([^"]+)"(?:\s+[^>]*)?>/i)?.[1],HO=e=>{if(e&&typeof e==`object`&&!Array.isArray(e))return e;if(typeof e!=`string`)return;let t=e.trim();if(t.startsWith(`{`))try{let e=JSON.parse(t);if(e&&typeof e==`object`&&!Array.isArray(e))return e}catch{return}},UO=(...e)=>{for(let t of e){let e=HO(t);if(!e)continue;let n=[e.subagent_type,e.subagentType,e.agent,e.subagent];for(let e of n){if(typeof e!=`string`)continue;let t=e.trim();if(t.length>0)return t}}},WO=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},GO=e=>{if(typeof e!=`string`)return``;let t=e.trim().toLowerCase();if(!t)return``;let n=t.replace(/:\d+$/,``);if(n.includes(`.`)){let e=n.split(`.`).filter(Boolean);return e[e.length-1]??n}return n},KO=e=>{let t=GO(e);return t===`task`||t===`subagent`},qO=e=>{let t=GO(e);return t===`shell`||t===`bash`||t===`cmd`||t===`terminal`},JO=e=>KO(e)||qO(e),YO=e=>{if(!e||typeof e!=`object`)return;let t=e;return WO(t.sessionId)??WO(t.sessionID)},XO=(e,t)=>{if(!t)return e;let n=!1,r=e.map(e=>e?.type!==`subtask`||e.taskSessionID===t?e:(n=!0,{...e,taskSessionID:t}));return n?r:e},ZO=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n==`string`){t.push({tool:`tool`,state:{status:`completed`,title:n}});continue}if(!n||typeof n!=`object`)continue;let e=n;t.push({id:typeof e.id==`string`?e.id:void 0,tool:typeof e.tool==`string`?e.tool:`tool`,state:{status:typeof e.state?.status==`string`?e.state.status:typeof e.status==`string`?e.status:void 0,title:typeof e.state?.title==`string`?e.state.title:typeof e.title==`string`?e.title:void 0,input:e.state?.input&&typeof e.state.input==`object`?e.state.input:void 0}})}return t},QO=e=>{if(typeof e!=`string`||e.trim().length===0)return{summaryEntries:[]};let t=e.match(/<task_metadata>\s*([\s\S]*?)\s*<\/task_metadata>/i);if(!t?.[1])return{summaryEntries:[]};try{let e=JSON.parse(t[1].trim());return{sessionId:WO(e.sessionId)??WO(e.sessionID),status:WO(e.status),summaryEntries:ZO(e.summary??e.entries??e.tools??e.calls)}}catch{return{summaryEntries:[]}}},$O=e=>{if(typeof e!=`string`||e.trim().length===0)return;let t=QO(e);if(t.sessionId)return t.sessionId;let n=e.match(/task_id\s*:\s*([^\s<"']+)/i),r=e.match(/session[_\s-]?id\s*:\s*([^\s<"']+)/i);return WO((n?.[1]??r?.[1])||VO(e))},ek=e=>{if(!(!e||typeof e!=`object`))return WO(e.status)},tk=/"status"\s*:\s*"running"/i,nk=/\bstatus\s*[:=]\s*["'`]?running\b/i,rk=e=>{if(typeof e!=`string`||e.trim().length===0)return!1;let t=e.match(/<task_metadata>\s*([\s\S]*?)\s*<\/task_metadata>/i);return t?.[1]&&tk.test(t[1])?!0:nk.test(e)},ik=/<subagent\s+([^>]*?)>([\s\S]*?)<\/subagent>/i,ak=(e,t)=>WO(e.match(RegExp(`${t}\\s*=\\s*"([^"]*)"`,`i`))?.[1]),ok=e=>{if(e===`completed`||e===`error`||e===`cancelled`)return e},sk=e=>{if(typeof e!=`string`||e.trim().length===0)return;let t=e.trim().match(ik);if(!t)return;let n=ak(t[1],`sessionID`)??ak(t[1],`sessionId`),r=ok(ak(t[1],`state`));if(!(!n||!r))return{sessionID:n,state:r,description:ak(t[1],`description`),body:t[2].trim()}},ck=/<shell\s+([^>]*?)>([\s\S]*?)<\/shell>/i,lk=e=>{if(typeof e!=`string`||e.trim().length===0)return;let t=e.trim().match(ck);if(!t)return;let n=ak(t[1],`id`),r=ok(ak(t[1],`state`));if(!(!n||!r))return{id:n,state:r,command:ak(t[1],`command`),body:t[2].trim()}},uk=new WeakMap,dk=e=>{let t=uk.get(e);if(t)return t;let n=[];if(e.info.role===`assistant`)for(let t of e.parts){if(t.type!==`tool`)continue;let e=t.tool?.trim().toLowerCase();if(!e||KO(e)||e===`todowrite`||e===`todoread`)continue;let r=t.state;n.push({id:t.id,tool:t.tool,state:{status:r?.status,title:r?.title,input:r?.input&&typeof r.input==`object`?r.input:void 0}})}return uk.set(e,n),n},fk=e=>{let t=[];for(let n of e)t.push(...dk(n));return t},pk=e=>e.replace(/\n*<task_metadata>[\s\S]*?<\/task_metadata>\s*$/i,``).trimEnd(),mk=[`summary`,`changes`,`verification`],hk={summary:`Summary`,changes:`Changes`,verification:`Verification`},gk=/<(summary|changes|verification)(?:\s[^>]*)?>/i,_k=()=>RegExp(`<(${mk.join(`|`)})(?:\\s[^>]*)?>\\s*([\\s\\S]*?)\\s*<\\/\\1>`,`gi`),vk=e=>typeof e!=`string`||e.length===0?!1:gk.test(e),yk=e=>typeof e!=`string`||e.length===0||!e.includes(`<`)||!vk(e)?e:e.replace(_k(),(e,t,n)=>{let r=hk[t.toLowerCase()]??t,i=n.trim();return i.length>0?`## ${r}\n\n${i}`:`## ${r}`}).trimEnd(),bk=e=>yk(pk(e)),xk=e=>{if(!e.isTaskTool)return{isDelegating:!1,showAvatar:!1,title:e.displayName};let t=e.taskAgentName?e.formatName(e.taskAgentName):void 0,n=!!(e.taskSessionId||t);return!e.isFinalized&&!n?{isDelegating:!0,showAvatar:!1,title:e.delegatingLabel}:{isDelegating:!1,showAvatar:n,title:t??e.displayName}},Sk=e=>{if(!(!e||typeof e!=`object`||Array.isArray(e)))return e},Ck=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},wk=e=>GO(e.tool??e.name),Tk=e=>Sk(e.state),Ek=e=>Sk(Tk(e)?.metadata)??Sk(e.metadata),Dk=e=>Sk(Tk(e)?.input)??Sk(e.input),Ok=e=>Ck(Tk(e)?.status)?.toLowerCase(),kk=e=>(Array.isArray(e.parts)?e.parts:Array.isArray(e.content)?e.content:[]).filter(e=>!!e&&typeof e==`object`),Ak=e=>{let t=[],n=Ck(Sk(e.metadata)?.text);n&&t.push(n);for(let n of kk(e)){let e=Ck(n.text);e&&t.push(e)}let r=Ck(e.text);return r&&t.push(r),t},jk=e=>{let t=Ck(e)?.toLowerCase();if(t===`completed`||t===`error`||t===`cancelled`)return t},Mk=e=>{let t=new Map,n=new Map,r=(e,n)=>{e&&t.set(e,n)},i=(e,t)=>{e&&n.set(e,t)};for(let t of e){let e=Sk(t.metadata),n=Ck(e?.source)?.toLowerCase(),a=jk(e?.state);n===`shell`&&a&&(r(Ck(e?.shellID),a),r(Ck(e?.jobID),a),r(Ck(e?.id),a)),n===`subagent`&&a&&i(Ck(e?.childID)??Ck(e?.sessionID)??Ck(e?.sessionId),a);for(let e of Ak(t)){let t=lk(e);t&&(r(t.id,t.state),r(t.shellID,t.state),r(t.jobID,t.state));let n=sk(e);n&&i(n.sessionID,n.state)}}return{byShellOrJobID:t,byChildSessionID:n}},Nk=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return t.type!==void 0&&t.type!==`tool`||!JO(wk(t))||Ok(t)!==`completed`?!1:ek(Ek(t))===`running`||ek(Tk(t))===`running`},Pk=e=>{if(!e||typeof e!=`object`)return!1;let t=e;if(t.type!==void 0&&t.type!==`tool`||!JO(wk(t)))return!1;let n=Ok(t);return n===`running`||n===`pending`||n===`started`},Fk=e=>{if(!e||typeof e!=`object`)return;let t=e,n=wk(t);if(!JO(n))return;let r=Ek(t),i=Dk(t);if(KO(n)){let e=YO(r)??YO(Tk(t))??YO(i),n=Ck(i?.description),a=Ck(i?.agent)??Ck(i?.subagent_type)??Ck(i?.subagentType);return{type:`subagent`,id:e,label:n??e,agent:a}}let a=Ck(r?.shellID)??Ck(Tk(t)?.shellID),o=Ck(r?.jobID)??Ck(Tk(t)?.jobID),s=Ck(i?.command),c=Ck(t.id);return{type:`shell`,id:a??o??c,label:s??a??o??c}},Ik=(e,t,n)=>{if(!n)return;let r=Ek(t),i=Tk(t),a=[e.id,Ck(r?.shellID),Ck(r?.jobID),Ck(i?.shellID),Ck(i?.jobID),Ck(t.id)];for(let e of a){if(!e)continue;let t=n.byShellOrJobID.get(e);if(t)return t}},Lk=(e,t)=>{if(!(!t||!e.id))return t.byChildSessionID.get(e.id)},Rk=e=>{let{part:t,completions:n,childSessionStatusType:r}=e;if(!t||typeof t!=`object`)return{kind:`settled`};let i=t;if(i.type!==void 0&&i.type!==`tool`||!JO(wk(i)))return{kind:`settled`};if(Pk(t))return{kind:`blocking`};let a=Fk(t);if(!a)return{kind:`settled`};if(a.type===`shell`){let e=Ik(a,i,n);return e?{kind:`terminal`,state:e}:Nk(t)?{kind:`background-running`}:{kind:`settled`}}let o=Ck(r)?.toLowerCase();if(o===`idle`)return{kind:`settled`};if(o===`busy`||o===`retry`)return{kind:`background-running`};let s=Lk(a,n);return s?{kind:`terminal`,state:s}:Nk(t)?(a.id,{kind:`background-running`}):{kind:`settled`}},zk=async(e,t)=>{let n=e.trim();if(!n)return{ok:!1,error:`sessionID required`};try{return await t.session.background({sessionID:n}),{ok:!0}}catch(e){return{ok:!1,error:(e instanceof Error?e.message:String(e))||`session.background failed`}}},Bk=e=>{if(!e||typeof e!=`object`)return;let t=e;if(!qO(wk(t)))return;let n=Ek(t),r=Tk(t),i=Ck(n?.shellID)??Ck(r?.shellID),a=Ck(n?.jobID)??Ck(r?.jobID),o=Ck(t.id);return{shellID:i,jobID:a,workID:i??a??o}};function Vk(e){if(!e.isTaskTool||e.isFinalized)return!1;let t=e.taskSessionId?e.childSessionStatus:e.parentSessionStatus;if(t){if(t.type!==`idle`)return!1;if(typeof e.taskStartedAt==`number`&&typeof e.statusObservedAt==`number`&&e.taskStartedAt<=e.statusObservedAt)return!0}return typeof e.taskStartedAt==`number`&&typeof e.statusSnapshotAt==`number`&&e.taskStartedAt<=e.statusSnapshotAt}var Hk=(e,t)=>{if(e===t)return!0;if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;let n=e,r=t;return n.input===r.input&&n.output===r.output&&n.reasoning===r.reasoning&&n.cache?.read===r.cache?.read&&n.cache?.write===r.cache?.write},Uk=e=>{if(!e)return null;let t=e.id;return typeof t==`string`&&t.length>0?t:null},Wk=e=>{let t=e?.state?.status;return typeof t==`string`?t:null},Gk=e=>e?.state,Kk=e=>e?.metadata,qk=e=>{let t=e?.time;return{start:typeof t?.start==`number`?t.start:null,end:typeof t?.end==`number`?t.end:null}},Jk=e=>{let t=e;return t?[typeof t.text==`string`?t.text:``,typeof t.content==`string`?t.content:``,typeof t.value==`string`?t.value:``].reduce((e,t)=>t.length>e.length?t:e,``):``},Yk=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.type!==i.type||Uk(r)!==Uk(i))return!1;if(r.type===`compaction`){let e=r,t=i;if(e.status!==t.status||e.summary!==t.summary||e.reason!==t.reason||e.recent!==t.recent||e.error?.type!==t.error?.type||e.error?.message!==t.error?.message||e.error?.status!==t.error?.status)return!1}if(r.type===`tool`){if(Gk(r)!==Gk(i)||Kk(r)!==Kk(i)||Wk(r)!==Wk(i))return!1;let e=qk(r),t=qk(i);if(e.start!==t.start||e.end!==t.end||r.tool!==i.tool||r.output!==i.output)return!1;continue}let a=qk(r),o=qk(i);if(a.start!==o.start||a.end!==o.end)return!1;if(r.type===`text`||r.type===`reasoning`){if(Jk(r)!==Jk(i))return!1;let e=r.shellAction,t=i.shellAction;if((e||t)&&(e?.command!==t?.command||e?.output!==t?.output||e?.status!==t?.status))return!1}}return!0},Xk=(e,t)=>e===t||e.id===t.id&&e.role===t.role&&e.sessionID===t.sessionID&&e.finish===t.finish&&e.status===t.status&&e.error===t.error&&e.mode===t.mode&&e.agent===t.agent&&e.providerID===t.providerID&&e.modelID===t.modelID&&e.variant===t.variant&&e.clientRole===t.clientRole&&e.userMessageMarker===t.userMessageMarker&&(e.time?.created??null)===(t.time?.created??null)&&(e.time?.completed??null)===(t.time?.completed??null)&&e.time?.streamed===t.time?.streamed&&Hk(e.tokens,t.tokens),Zk=(e,t)=>Xk(e.info,t.info)&&Yk(e.parts,t.parts),Qk=(e,t)=>!e||!t?e===t:Zk(e,t),$k=(e,t)=>!e||!t?e===t:e.additions===t.additions&&e.deletions===t.deletions&&e.files===t.files&&e.hasDiffs===t.hasDiffs,eA=(e,t)=>{if(e===t)return!0;if(!e||!t)return!e&&!t;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.file!==i.file||r.additions!==i.additions||r.deletions!==i.deletions)return!1}return!0},tA=(e,t)=>e.id===t.id&&e.messageId===t.messageId&&e.kind===t.kind&&e.partIndex===t.partIndex&&e.endedAt===t.endedAt&&Yk([e.part],[t.part]),nA=(e,t,n)=>{let r=0,i=0;for(;;){for(;r<(e?.length??0)&&e?.[r]?.messageId!==n;)r+=1;for(;i<(t?.length??0)&&t?.[i]?.messageId!==n;)i+=1;let a=e?.[r],o=t?.[i];if(!a||!o)return a===o;if(!tA(a,o))return!1;r+=1,i+=1}},rA=(e,t)=>{if(e.id!==t.id||e.anchorMessageId!==t.anchorMessageId||e.afterToolPartId!==t.afterToolPartId||e.parts.length!==t.parts.length)return!1;for(let n=0;n<e.parts.length;n+=1)if(!tA(e.parts[n],t.parts[n]))return!1;return!0},iA=(e,t)=>!!e?.some(e=>e.anchorMessageId===t),aA=(e,t,n)=>{let r=0,i=0;for(;;){for(;r<(e?.length??0)&&e?.[r]?.anchorMessageId!==n;)r+=1;for(;i<(t?.length??0)&&t?.[i]?.anchorMessageId!==n;)i+=1;let a=e?.[r],o=t?.[i];if(!a||!o)return a===o;if(!rA(a,o))return!1;r+=1,i+=1}},oA=(e,t,n,r)=>{if(e===t)return!0;if(!e||!t)return e===t;if(r)return!0;if(e.isGroupExpanded!==t.isGroupExpanded||e.turnId!==t.turnId||e.isFirstAssistantInTurn!==t.isFirstAssistantInTurn||e.isLastAssistantInTurn!==t.isLastAssistantInTurn||e.isLatestTurn!==t.isLatestTurn||e.isWorking!==t.isWorking||e.isTurnSettled!==t.isTurnSettled||e.hasTools!==t.hasTools||e.hasReasoning!==t.hasReasoning||e.userMessageCreatedAt!==t.userMessageCreatedAt||e.userMessageVariant!==t.userMessageVariant||e.assistantTps!==t.assistantTps||(e.headerMessageId===n||t.headerMessageId===n)&&e.headerMessageId!==t.headerMessageId)return!1;let i=e.activityOwnerMessageId===n||t.activityOwnerMessageId===n;if(i&&e.activityOwnerMessageId!==t.activityOwnerMessageId||!nA(e.activityParts,t.activityParts,n)||!aA(e.activityGroupSegments,t.activityGroupSegments,n))return!1;let a=iA(e.activityGroupSegments,n)||iA(t.activityGroupSegments,n);return!((i||a)&&e.toggleGroup!==t.toggleGroup||(i||a||e.isLastAssistantInTurn||t.isLastAssistantInTurn)&&!$k(e.diffStats,t.diffStats)||(i||a||e.isLastAssistantInTurn||t.isLastAssistantInTurn)&&!eA(e.changedFiles,t.changedFiles))},sA=/^\*\*\*\s+(?:Begin Patch|End Patch|Add File:|Update File:|Delete File:|Move to:)/m,cA=/^@@\s+-\d+(?:,\d+)?\s+\+\d+(?:,\d+)?\s+@@/m,lA=/(?=^diff --git\s+)/gm,uA=/^diff --git\s+/m,dA=/(?=^---\s+\S)/gm,fA=/^---\s+\S/m,pA=e=>typeof e==`object`&&!!e,mA=e=>e.replace(/\r\n/g,`
|
|
6557
|
+
`)),EO=({textContent:e,agentMention:t,skillNames:n,decorateInlineReferences:r=!0})=>{let i=wO(e,CO);if(r){if(t?.token&&i.includes(t.token)){let e=`[${t.token}](${Od(t.name)})`;i=i.replace(t.token,e)}i=i.replace(xO,(e,t,r)=>n.has(r)?`${t}[/${r}](${Pd(r)})`:e)}return TO(i)},DO=e=>(xO.lastIndex=0,xO.test(e)||e.includes(`[skill:`)),OO=e=>{if(typeof window>`u`)return!1;let t=window.getSelection();if(!t||t.isCollapsed||t.rangeCount===0)return!1;let n=t.getRangeAt(0);return e.contains(n.startContainer)||e.contains(n.endContainer)},kO=Z.memo(e=>{let t=(0,Q.c)(80),{part:n,messageId:r,agentMention:i,messageParts:a}=e,o=n,s=o.text,c=typeof s==`string`?s:o.content||o.value||``,l;t[0]===c?l=t[1]:(l=c_(c),t[0]=c,t[1]=l);let u=l,d=u?u.body:c,[f,p]=Z.useState(!1),[m,h]=Z.useState(!1),g=q(AO),_=Ed(),v;t[2]===d?v=t[3]:(v=DO(d),t[2]=d,t[3]=v);let y;t[4]!==_||t[5]!==v?(y={directory:_,enabled:v},t[4]=_,t[5]=v,t[6]=y):y=t[6];let b=Ar(y),x;t[7]===b.data?x=t[8]:(x=b.data??[],t[7]=b.data,t[8]=x);let S=x,C=q(jO),{t:w}=Kn(),T=g&&!f,E=Z.useRef(null),D;t[9]===S?D=t[10]:(D=new Map(S.map(MO)),t[9]=S,t[10]=D);let O=D,k;t[11]!==a||t[12]!==d?(k=J_(a,d),t[11]=a,t[12]=d,t[13]=k):k=t[13];let A=k,j;if(t[14]!==a||t[15]!==d){let e=new Map;for(let t of a??[]){if(t.type!==`text`||!na(t))continue;let n=t.text;if(typeof n==`string`)for(let t of tr(n))e.set(t.id,{sessionId:t.id,sessionLabel:t.title||t.id})}if(d.includes(`@`))for(let[t,n]of pt()){let r=typeof n.title==`string`?n.title.trim():``;!r||e.has(t)||(d.includes(`@${r}`)||d.includes(`@${me}${r}`))&&e.set(t,{sessionId:t,sessionLabel:r})}j=Array.from(e.values()),t[14]=a,t[15]=d,t[16]=j}else j=t[16];let M=j,N;t[17]!==_||t[18]!==C||t[19]!==O?(N=e=>{let t=O.get(e),n=typeof t?.path==`string`?t.path:``,r=Jc(n);if(!r||r===`<built-in>`)return;let i=r.toLowerCase().endsWith(`/skill.md`)?r:`${r}/SKILL.md`,a=_||$c(``,i)||`/`,o=()=>{C(a,i)};if(_&&!Xc(i,_)){bO(i,_).then(o);return}o()},t[17]=_,t[18]=C,t[19]=O,t[20]=N):N=t[20];let P=J(N),F;t[21]!==g||t[22]!==f?(F=()=>{let e=E.current;if(!e)return;let t=()=>{g&&!f&&e.scrollHeight>e.clientHeight&&h(!0)};h(!1),t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},t[21]=g,t[22]=f,t[23]=F):F=t[23];let I;t[24]!==g||t[25]!==f||t[26]!==d?(I=[g,d,f],t[24]=g,t[25]=f,t[26]=d,t[27]=I):I=t[27],Z.useEffect(F,I);let L,R;t[28]===g?(L=t[29],R=t[30]):(L=()=>{g||(p(!1),h(!1))},R=[g],t[28]=g,t[29]=L,t[30]=R),Z.useEffect(L,R);let z;t[31]!==g||t[32]!==f||t[33]!==m||t[34]!==P?(z=e=>{let t=e.target,n=(t?.closest(`[data-skill-name]`))?.dataset.skillName??Ad(t?.closest(`a[href]`)?.getAttribute(`href`));if(n){e.preventDefault(),e.stopPropagation(),P(n);return}let r=E.current;r&&(OO(r)||g&&!f&&m&&p(!0))},t[31]=g,t[32]=f,t[33]=m,t[34]=P,t[35]=z):z=t[35];let B=J(z),V;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{e.stopPropagation(),p(!1)},t[36]=V):V=t[36];let H=J(V),ee;t[37]!==i||t[38]!==A.displayNames||t[39]!==A.icons||t[40]!==M||t[41]!==O||t[42]!==d?(ee=H_(d,{skillNames:new Set(O.keys()),citationIcons:A.icons,citationDisplayNames:A.displayNames,sessionMentions:M,agentNames:i?.name?new Set([i.name.toLowerCase(),i.token.replace(/^@/,``).toLowerCase()]):void 0,allowPathHeuristics:!0}),t[37]=i,t[38]=A.displayNames,t[39]=A.icons,t[40]=M,t[41]=O,t[42]=d,t[43]=ee):ee=t[43];let U=ee,te;t[44]!==i||t[45]!==U||t[46]!==O||t[47]!==d?(te=EO({textContent:d,agentMention:i,skillNames:new Set(O.keys()),decorateInlineReferences:!U}),t[44]=i,t[45]=U,t[46]=O,t[47]=d,t[48]=te):te=t[48];let ne=te,W;t[49]===T?W=t[50]:(W=(e,t)=>{if(!e)return null;let n=EO({textContent:e,skillNames:new Set,decorateInlineReferences:!1});return(0,$.jsx)(td,{content:n,className:Y(`inline w-auto align-baseline [&_.markdown-content]:contents [&_.markdown-content_p]:inline [&_[data-markdown-size-spacer]]:inline`,`[&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,T&&[`[&_.markdown-content>*]:my-0`,`[&_[data-component='markdown-code']]:my-0`,`[&_[data-component='markdown-code']]:inline`,`[&_[data-component='markdown-code']]:border-0`,`[&_[data-component='markdown-code']]:bg-transparent`,`[&_[data-component='markdown-code']>*:first-child]:hidden`,`[&_[data-component='markdown-code']>div]:inline`,`[&_[data-component='markdown-code']>div]:p-0`,`[&_[data-component='markdown-code']_pre]:inline`,`[&_[data-component='markdown-code']_code]:inline`,`[&_[data-md-code-line-numbers]]:hidden`]),disableLinkSafety:!0,enableFileReferences:!1},t)},t[49]=T,t[50]=W);let G=W,re;t[51]!==P||t[52]!==G?(re=e=>e.map((e,t)=>e.type===`text`?G(e.text,`text-${t}`):(0,$.jsx)(X_,{decoration:e.decoration,onOpenSkill:P},`ref-${t}-${e.span.start}`)),t[51]=P,t[52]=G,t[53]=re):re=t[53];let ie=re;if((!d||d.trim().length===0)&&!u?.quotes.length)return null;let ae=T&&m,oe=n.id||`${r}-user-text`,se=ae?`true`:void 0,K;t[54]!==g||t[55]!==H||t[56]!==f||t[57]!==w?(K=g&&f&&(0,$.jsx)(`button`,{type:`button`,onClick:H,className:`absolute top-0 right-0 z-10 flex items-center justify-center rounded-sm bg-[var(--surface-elevated)] p-0.5 text-[var(--surface-mutedForeground)] hover:text-[var(--surface-foreground)] hover:bg-[var(--interactive-hover)] transition-colors`,"aria-label":w(`chat.message.userText.collapseAria`),children:(0,$.jsx)(X,{name:`arrow-up-s`,className:`h-3.5 w-3.5`})}),t[54]=g,t[55]=H,t[56]=f,t[57]=w,t[58]=K):K=t[58];let ce;t[59]!==r||t[60]!==n.id||t[61]!==u||t[62]!==w?(ce=u&&u.quotes.length>0?(0,$.jsx)(`div`,{className:`mb-1 flex flex-col gap-0.5`,"data-conversation-quotes":!0,"aria-label":w(`chat.message.conversationQuotesLabel`),children:u.quotes.map((e,t)=>(0,$.jsx)(`p`,{"data-conversation-quote":!0,className:`m-0 whitespace-pre-wrap break-words border-l-2 border-border pl-1.5 typography-meta text-muted-foreground`,children:e},`${n.id||r}-quote-${t}`))}):null,t[59]=r,t[60]=n.id,t[61]=u,t[62]=w,t[63]=ce):ce=t[63];let le;t[64]!==g||t[65]!==B||t[66]!==T||t[67]!==f||t[68]!==m||t[69]!==ne||t[70]!==U||t[71]!==ie||t[72]!==d?(le=d.trim().length>0?(0,$.jsx)(`div`,{className:Y(`break-words font-sans typography-markdown-body`,f&&`pb-3`,T&&`line-clamp-10`,g&&m&&!f&&`cursor-pointer`),"data-user-message-collapse":T?`true`:void 0,ref:E,onClick:B,children:U?ie(U):(0,$.jsx)(td,{content:ne,className:Y(`[&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,T&&[`[&_.markdown-content>*]:my-0`,`[&_[data-component='markdown-code']]:my-0`,`[&_[data-component='markdown-code']]:inline`,`[&_[data-component='markdown-code']]:border-0`,`[&_[data-component='markdown-code']]:bg-transparent`,`[&_[data-component='markdown-code']>*:first-child]:hidden`,`[&_[data-component='markdown-code']>div]:inline`,`[&_[data-component='markdown-code']>div]:p-0`,`[&_[data-component='markdown-code']_pre]:inline`,`[&_[data-component='markdown-code']_code]:inline`,`[&_[data-md-code-line-numbers]]:hidden`]),disableLinkSafety:!0,enableFileReferences:!1})}):null,t[64]=g,t[65]=B,t[66]=T,t[67]=f,t[68]=m,t[69]=ne,t[70]=U,t[71]=ie,t[72]=d,t[73]=le):le=t[73];let ue;return t[74]!==oe||t[75]!==se||t[76]!==K||t[77]!==ce||t[78]!==le?(ue=(0,$.jsxs)(`div`,{className:`relative`,"data-user-message-clamp":se,children:[K,ce,le]},oe),t[74]=oe,t[75]=se,t[76]=K,t[77]=ce,t[78]=le,t[79]=ue):ue=t[79],ue});function AO(e){return e.collapsibleUserMessages}function jO(e){return e.openContextFile}function MO(e){return[e.name,e]}var NO=[{variant:`static`,component:({children:e,className:t,...n})=>(0,$.jsx)(`span`,{...n,className:t,children:e})},{variant:`generate-effect`,component:({children:e,className:t,...n})=>{if(e==null)return null;let r=typeof e==`string`?e:typeof e==`number`?String(e):Array.isArray(e)?e.map(e=>typeof e==`string`||typeof e==`number`?String(e):``).join(``):``;return r?(0,$.jsx)(`span`,{className:Y(`inline-block align-baseline`,t),children:r.split(``).map((e,t)=>(0,Z.createElement)(yf.span,{...n,key:e+String(t),className:Y(`inline-block whitespace-pre align-baseline`),initial:{opacity:0},animate:{opacity:1},transition:{ease:`easeOut`,duration:.14,delay:Math.min(t*.0045,.14)}},e))}):null}},{variant:`glitch`,component:({children:e,className:t,...n})=>(0,$.jsxs)(`div`,{className:`group relative overflow-hidden font-medium`,children:[(0,$.jsx)(`span`,{...n,className:Y(`invisible`,t),children:e}),(0,$.jsx)(`span`,{...n,className:Y(`absolute top-0 left-0 text-primary-muted transition-transform duration-500 ease-in-out`,`group-hover:-translate-y-full hover:duration-300`,t),children:e}),(0,$.jsx)(`span`,{...n,className:Y(`absolute top-0 left-0 translate-y-full text-primary-muted transition-transform duration-500`,`ease-in-out hover:duration-300 group-hover:translate-y-0`,t),children:e})]})},{variant:`hover-enter`,component:({children:e,className:t,...n})=>{if(typeof e!=`string`)return null;let r=.25,i=.025,a=e.split(``).map(e=>e===` `?`\xA0`:e);return(0,$.jsxs)(yf.span,{...n,className:Y(`relative block select-none overflow-hidden whitespace-nowrap text-primary-muted`,t),initial:`initial`,whileHover:`hovered`,style:{lineHeight:.9},children:[(0,$.jsx)(`div`,{children:a.map((e,t)=>(0,$.jsx)(yf.span,{className:`inline-block`,variants:{initial:{y:0},hovered:{y:`-100%`}},transition:{duration:r,ease:`easeInOut`,delay:i*t},children:e},String(t)))}),(0,$.jsx)(`div`,{className:Y(`absolute inset-0`),children:a.map((e,t)=>(0,$.jsx)(yf.span,{className:`inline-block`,variants:{initial:{y:`100%`},hovered:{y:0}},transition:{duration:r,ease:`easeInOut`,delay:i*t},children:e},String(t)))})]})}},{variant:`shake`,component:({children:e,className:t,...n})=>(0,$.jsx)(`span`,{...n,className:Y(`text-primary-muted hover:animate-text-shake`,t),children:e})},{variant:`hover-decoration`,component:({children:e,className:t,...n})=>(0,$.jsx)(`div`,{className:Y(`relative after:absolute after:bottom-0 after:left-0 after:h-px after:w-full after:origin-bottom-right`,`after:scale-x-0 after:bg-primary-muted after:transition-transform after:duration-300 after:ease-in-out hover:after:origin-bottom-left hover:after:scale-x-100`),children:(0,$.jsx)(`span`,{...n,className:Y(`text-primary-muted`,t),children:e})})}];function PO(e){let t=(0,Q.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({variant:i,className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`static`:i,o;t[4]===a?o=t[5]:(o=NO.find(e=>e.variant===a)?.component,t[4]=a,t[5]=o);let s=o||NO[0].component,c;return t[6]!==s||t[7]!==n||t[8]!==r?(c=(0,$.jsx)(s,{...r,className:n}),t[6]=s,t[7]=n,t[8]=r,t[9]=c):c=t[9],c}var FO=e=>{let t=`h-3.5 w-3.5 flex-shrink-0`,n=`h-[13px] w-[13px] flex-shrink-0`,r=e.toLowerCase();return r===`edit`||r===`multiedit`||r===`apply_patch`||r===`patch`||r===`str_replace`||r===`str_replace_based_edit_tool`?(0,$.jsx)(X,{name:`pencil`,className:n}):r===`write`||r===`create`||r===`file_write`?(0,$.jsx)(X,{name:`file-edit`,className:n}):r===`read`||r===`view`||r===`file_read`||r===`cat`?(0,$.jsx)(X,{name:`file-text`,className:t}):r===`bash`||r===`shell`||r===`cmd`||r===`terminal`?(0,$.jsx)(X,{name:`terminal-box`,className:t}):r===`execute`?(0,$.jsx)(X,{name:`code-box`,className:t}):r===`list`||r===`ls`||r===`dir`||r===`list_files`?(0,$.jsx)(X,{name:`folder-6`,className:t}):r===`search`||r===`grep`||r===`find`||r===`ripgrep`?(0,$.jsx)(X,{name:`menu-search`,className:t}):r===`glob`?(0,$.jsx)(X,{name:`file-search`,className:t}):r===`fetch`||r===`curl`||r===`wget`||r===`webfetch`||r===`browser`||r===`web-search`||r===`websearch`||r===`search_web`||r===`codesearch`||r===`google`||r===`bing`||r===`duckduckgo`||r===`perplexity`?(0,$.jsx)(X,{name:`global`,className:t}):r===`todowrite`||r===`todoread`?(0,$.jsx)(X,{name:`list-check-3`,className:t}):r===`structuredoutput`||r===`structured_output`?(0,$.jsx)(X,{name:`list-check-2`,className:t}):r===`skill`?(0,$.jsx)(X,{name:`book`,className:t}):r===`task`||r===`subagent`?(0,$.jsx)(X,{name:`ai-agent`,className:t}):r===`question`?(0,$.jsx)(X,{name:`survey`,className:t}):r===`lsp`?(0,$.jsx)(X,{name:`scan-2`,className:t}):r.startsWith(`git`)?(0,$.jsx)(X,{name:`git-branch`,className:t}):(0,$.jsx)(X,{name:`tools`,className:t})},IO=new Map,LO=e=>{let t=IO.get(e);if(t)return t;let n={subscribers:new Set,timerId:null};return IO.set(e,n),n},RO=(e,t)=>{let n=LO(e);return n.subscribers.add(t),t(Date.now()),n.timerId===null&&typeof window<`u`&&(n.timerId=window.setInterval(()=>{let e=Date.now();n.subscribers.forEach(t=>{t(e)})},e)),()=>{let n=IO.get(e);n&&(n.subscribers.delete(t),!(n.subscribers.size>0)&&(n.timerId!==null&&typeof window<`u`&&window.clearInterval(n.timerId),IO.delete(e)))}},zO=(e,t)=>{let n=(0,Q.c)(4),r=t===void 0?250:t,[i,a]=Z.useState(BO),o,s;return n[0]!==e||n[1]!==r?(o=()=>{if(e)return RO(r,a)},s=[e,r],n[0]=e,n[1]=r,n[2]=o,n[3]=s):(o=n[2],s=n[3]),Z.useEffect(o,s),i};function BO(){return Date.now()}var VO=e=>e.match(/<task\s+id="([^"]+)"(?:\s+[^>]*)?>/i)?.[1],HO=e=>{if(e&&typeof e==`object`&&!Array.isArray(e))return e;if(typeof e!=`string`)return;let t=e.trim();if(t.startsWith(`{`))try{let e=JSON.parse(t);if(e&&typeof e==`object`&&!Array.isArray(e))return e}catch{return}},UO=(...e)=>{for(let t of e){let e=HO(t);if(!e)continue;let n=[e.subagent_type,e.subagentType,e.agent,e.subagent];for(let e of n){if(typeof e!=`string`)continue;let t=e.trim();if(t.length>0)return t}}},WO=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},GO=e=>{if(typeof e!=`string`)return``;let t=e.trim().toLowerCase();if(!t)return``;let n=t.replace(/:\d+$/,``);if(n.includes(`.`)){let e=n.split(`.`).filter(Boolean);return e[e.length-1]??n}return n},KO=e=>{let t=GO(e);return t===`task`||t===`subagent`},qO=e=>{let t=GO(e);return t===`shell`||t===`bash`||t===`cmd`||t===`terminal`},JO=e=>KO(e)||qO(e),YO=e=>{if(!e||typeof e!=`object`)return;let t=e;return WO(t.sessionId)??WO(t.sessionID)},XO=(e,t)=>{if(!t)return e;let n=!1,r=e.map(e=>e?.type!==`subtask`||e.taskSessionID===t?e:(n=!0,{...e,taskSessionID:t}));return n?r:e},ZO=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n==`string`){t.push({tool:`tool`,state:{status:`completed`,title:n}});continue}if(!n||typeof n!=`object`)continue;let e=n;t.push({id:typeof e.id==`string`?e.id:void 0,tool:typeof e.tool==`string`?e.tool:`tool`,state:{status:typeof e.state?.status==`string`?e.state.status:typeof e.status==`string`?e.status:void 0,title:typeof e.state?.title==`string`?e.state.title:typeof e.title==`string`?e.title:void 0,input:e.state?.input&&typeof e.state.input==`object`?e.state.input:void 0}})}return t},QO=e=>{if(typeof e!=`string`||e.trim().length===0)return{summaryEntries:[]};let t=e.match(/<task_metadata>\s*([\s\S]*?)\s*<\/task_metadata>/i);if(!t?.[1])return{summaryEntries:[]};try{let e=JSON.parse(t[1].trim());return{sessionId:WO(e.sessionId)??WO(e.sessionID),status:WO(e.status),summaryEntries:ZO(e.summary??e.entries??e.tools??e.calls)}}catch{return{summaryEntries:[]}}},$O=e=>{if(typeof e!=`string`||e.trim().length===0)return;let t=QO(e);if(t.sessionId)return t.sessionId;let n=e.match(/task_id\s*:\s*([^\s<"']+)/i),r=e.match(/session[_\s-]?id\s*:\s*([^\s<"']+)/i);return WO((n?.[1]??r?.[1])||VO(e))},ek=e=>{let t=e.state;return YO(t?.metadata)??YO(t)??YO(t?.input)??YO(e.metadata)??$O(typeof t?.output==`string`?t.output:void 0)},tk=e=>{if(!(!e||typeof e!=`object`))return WO(e.status)},nk=/"status"\s*:\s*"running"/i,rk=/\bstatus\s*[:=]\s*["'`]?running\b/i,ik=e=>{if(typeof e!=`string`||e.trim().length===0)return!1;let t=e.match(/<task_metadata>\s*([\s\S]*?)\s*<\/task_metadata>/i);return t?.[1]&&nk.test(t[1])?!0:rk.test(e)},ak=/<subagent\s+([^>]*?)>([\s\S]*?)<\/subagent>/i,ok=(e,t)=>WO(e.match(RegExp(`${t}\\s*=\\s*"([^"]*)"`,`i`))?.[1]),sk=e=>{if(e===`completed`||e===`error`||e===`cancelled`)return e},ck=e=>{if(typeof e!=`string`||e.trim().length===0)return;let t=e.trim().match(ak);if(!t)return;let n=ok(t[1],`sessionID`)??ok(t[1],`sessionId`),r=sk(ok(t[1],`state`));if(!(!n||!r))return{sessionID:n,state:r,description:ok(t[1],`description`),body:t[2].trim()}},lk=/<shell\s+([^>]*?)>([\s\S]*?)<\/shell>/i,uk=e=>{if(typeof e!=`string`||e.trim().length===0)return;let t=e.trim().match(lk);if(!t)return;let n=ok(t[1],`id`),r=sk(ok(t[1],`state`));if(!(!n||!r))return{id:n,state:r,command:ok(t[1],`command`),body:t[2].trim()}},dk=new WeakMap,fk=e=>{let t=dk.get(e);if(t)return t;let n=[];if(e.info.role===`assistant`)for(let t of e.parts){if(t.type!==`tool`)continue;let e=t.tool?.trim().toLowerCase();if(!e||KO(e)||e===`todowrite`||e===`todoread`)continue;let r=t.state;n.push({id:t.id,tool:t.tool,state:{status:r?.status,title:r?.title,input:r?.input&&typeof r.input==`object`?r.input:void 0}})}return dk.set(e,n),n},pk=e=>{let t=[];for(let n of e)t.push(...fk(n));return t},mk=e=>e.replace(/\n*<task_metadata>[\s\S]*?<\/task_metadata>\s*$/i,``).trimEnd(),hk=[`summary`,`changes`,`verification`],gk={summary:`Summary`,changes:`Changes`,verification:`Verification`},_k=/<(summary|changes|verification)(?:\s[^>]*)?>/i,vk=()=>RegExp(`<(${hk.join(`|`)})(?:\\s[^>]*)?>\\s*([\\s\\S]*?)\\s*<\\/\\1>`,`gi`),yk=e=>typeof e!=`string`||e.length===0?!1:_k.test(e),bk=e=>typeof e!=`string`||e.length===0||!e.includes(`<`)||!yk(e)?e:e.replace(vk(),(e,t,n)=>{let r=gk[t.toLowerCase()]??t,i=n.trim();return i.length>0?`## ${r}\n\n${i}`:`## ${r}`}).trimEnd(),xk=e=>bk(mk(e)),Sk=e=>{if(!e.isTaskTool)return{isDelegating:!1,showAvatar:!1,title:e.displayName};let t=e.taskAgentName?e.formatName(e.taskAgentName):void 0,n=!!(e.taskSessionId||t);return!e.isFinalized&&!n?{isDelegating:!0,showAvatar:!1,title:e.delegatingLabel}:{isDelegating:!1,showAvatar:n,title:t??e.displayName}},Ck=e=>{if(!(!e||typeof e!=`object`||Array.isArray(e)))return e},wk=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},Tk=e=>GO(e.tool??e.name),Ek=e=>Ck(e.state),Dk=e=>Ck(Ek(e)?.metadata)??Ck(e.metadata),Ok=e=>Ck(Ek(e)?.input)??Ck(e.input),kk=e=>wk(Ek(e)?.status)?.toLowerCase(),Ak=e=>(Array.isArray(e.parts)?e.parts:Array.isArray(e.content)?e.content:[]).filter(e=>!!e&&typeof e==`object`),jk=e=>{let t=[],n=wk(Ck(e.metadata)?.text);n&&t.push(n);for(let n of Ak(e)){let e=wk(n.text);e&&t.push(e)}let r=wk(e.text);return r&&t.push(r),t},Mk=e=>{let t=wk(e)?.toLowerCase();if(t===`completed`||t===`error`||t===`cancelled`)return t},Nk=e=>{let t=new Map,n=new Map,r=(e,n)=>{e&&t.set(e,n)},i=(e,t)=>{e&&n.set(e,t)};for(let t of e){let e=Ck(t.metadata),n=wk(e?.source)?.toLowerCase(),a=Mk(e?.state);n===`shell`&&a&&(r(wk(e?.shellID),a),r(wk(e?.jobID),a),r(wk(e?.id),a)),n===`subagent`&&a&&i(wk(e?.childID)??wk(e?.sessionID)??wk(e?.sessionId),a);for(let e of jk(t)){let t=uk(e);t&&(r(t.id,t.state),r(t.shellID,t.state),r(t.jobID,t.state));let n=ck(e);n&&i(n.sessionID,n.state)}}return{byShellOrJobID:t,byChildSessionID:n}},Pk=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return t.type!==void 0&&t.type!==`tool`||!JO(Tk(t))||kk(t)!==`completed`?!1:tk(Dk(t))===`running`||tk(Ek(t))===`running`},Fk=e=>{if(!e||typeof e!=`object`)return!1;let t=e;if(t.type!==void 0&&t.type!==`tool`||!JO(Tk(t)))return!1;let n=kk(t);return n===`running`||n===`pending`||n===`started`},Ik=e=>{if(!e||typeof e!=`object`)return;let t=e,n=Tk(t);if(!JO(n))return;let r=Dk(t),i=Ok(t);if(KO(n)){let e=YO(r)??YO(Ek(t))??YO(i),n=wk(i?.description),a=wk(i?.agent)??wk(i?.subagent_type)??wk(i?.subagentType);return{type:`subagent`,id:e,label:n??e,agent:a}}let a=wk(r?.shellID)??wk(Ek(t)?.shellID),o=wk(r?.jobID)??wk(Ek(t)?.jobID),s=wk(i?.command),c=wk(t.id);return{type:`shell`,id:a??o??c,label:s??a??o??c}},Lk=(e,t,n)=>{if(!n)return;let r=Dk(t),i=Ek(t),a=[e.id,wk(r?.shellID),wk(r?.jobID),wk(i?.shellID),wk(i?.jobID),wk(t.id)];for(let e of a){if(!e)continue;let t=n.byShellOrJobID.get(e);if(t)return t}},Rk=(e,t)=>{if(!(!t||!e.id))return t.byChildSessionID.get(e.id)},zk=e=>{let{part:t,completions:n,childSessionStatusType:r}=e;if(!t||typeof t!=`object`)return{kind:`settled`};let i=t;if(i.type!==void 0&&i.type!==`tool`||!JO(Tk(i)))return{kind:`settled`};if(Fk(t))return{kind:`blocking`};let a=Ik(t);if(!a)return{kind:`settled`};if(a.type===`shell`){let e=Lk(a,i,n);return e?{kind:`terminal`,state:e}:Pk(t)?{kind:`background-running`}:{kind:`settled`}}let o=wk(r)?.toLowerCase();if(o===`idle`)return{kind:`settled`};if(o===`busy`||o===`retry`)return{kind:`background-running`};let s=Rk(a,n);return s?{kind:`terminal`,state:s}:Pk(t)?(a.id,{kind:`background-running`}):{kind:`settled`}},Bk=async(e,t)=>{let n=e.trim();if(!n)return{ok:!1,error:`sessionID required`};try{return await t.session.background({sessionID:n}),{ok:!0}}catch(e){return{ok:!1,error:(e instanceof Error?e.message:String(e))||`session.background failed`}}},Vk=e=>{if(!e||typeof e!=`object`)return;let t=e;if(!qO(Tk(t)))return;let n=Dk(t),r=Ek(t),i=wk(n?.shellID)??wk(r?.shellID),a=wk(n?.jobID)??wk(r?.jobID),o=wk(t.id);return{shellID:i,jobID:a,workID:i??a??o}};function Hk(e){if(!e.isTaskTool||e.isFinalized)return!1;let t=e.taskSessionId?e.childSessionStatus:e.parentSessionStatus;if(t){if(t.type!==`idle`)return!1;if(typeof e.taskStartedAt==`number`&&typeof e.statusObservedAt==`number`&&e.taskStartedAt<=e.statusObservedAt)return!0}return typeof e.taskStartedAt==`number`&&typeof e.statusSnapshotAt==`number`&&e.taskStartedAt<=e.statusSnapshotAt}var Uk=(e,t)=>{if(e===t)return!0;if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;let n=e,r=t;return n.input===r.input&&n.output===r.output&&n.reasoning===r.reasoning&&n.cache?.read===r.cache?.read&&n.cache?.write===r.cache?.write},Wk=e=>{if(!e)return null;let t=e.id;return typeof t==`string`&&t.length>0?t:null},Gk=e=>{let t=e?.state?.status;return typeof t==`string`?t:null},Kk=e=>e?.state,qk=e=>e?.metadata,Jk=e=>{let t=e?.time;return{start:typeof t?.start==`number`?t.start:null,end:typeof t?.end==`number`?t.end:null}},Yk=e=>{let t=e;return t?[typeof t.text==`string`?t.text:``,typeof t.content==`string`?t.content:``,typeof t.value==`string`?t.value:``].reduce((e,t)=>t.length>e.length?t:e,``):``},Xk=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.type!==i.type||Wk(r)!==Wk(i))return!1;if(r.type===`compaction`){let e=r,t=i;if(e.status!==t.status||e.summary!==t.summary||e.reason!==t.reason||e.recent!==t.recent||e.error?.type!==t.error?.type||e.error?.message!==t.error?.message||e.error?.status!==t.error?.status)return!1}if(r.type===`tool`){if(Kk(r)!==Kk(i)||qk(r)!==qk(i)||Gk(r)!==Gk(i))return!1;let e=Jk(r),t=Jk(i);if(e.start!==t.start||e.end!==t.end||r.tool!==i.tool||r.output!==i.output)return!1;continue}let a=Jk(r),o=Jk(i);if(a.start!==o.start||a.end!==o.end)return!1;if(r.type===`text`||r.type===`reasoning`){if(Yk(r)!==Yk(i))return!1;let e=r.shellAction,t=i.shellAction;if((e||t)&&(e?.command!==t?.command||e?.output!==t?.output||e?.status!==t?.status))return!1}}return!0},Zk=(e,t)=>e===t||e.id===t.id&&e.role===t.role&&e.sessionID===t.sessionID&&e.finish===t.finish&&e.status===t.status&&e.error===t.error&&e.mode===t.mode&&e.agent===t.agent&&e.providerID===t.providerID&&e.modelID===t.modelID&&e.variant===t.variant&&e.clientRole===t.clientRole&&e.userMessageMarker===t.userMessageMarker&&(e.time?.created??null)===(t.time?.created??null)&&(e.time?.completed??null)===(t.time?.completed??null)&&e.time?.streamed===t.time?.streamed&&Uk(e.tokens,t.tokens),Qk=(e,t)=>Zk(e.info,t.info)&&Xk(e.parts,t.parts),$k=(e,t)=>!e||!t?e===t:Qk(e,t),eA=(e,t)=>!e||!t?e===t:e.additions===t.additions&&e.deletions===t.deletions&&e.files===t.files&&e.hasDiffs===t.hasDiffs,tA=(e,t)=>{if(e===t)return!0;if(!e||!t)return!e&&!t;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.file!==i.file||r.additions!==i.additions||r.deletions!==i.deletions)return!1}return!0},nA=(e,t)=>e.id===t.id&&e.messageId===t.messageId&&e.kind===t.kind&&e.partIndex===t.partIndex&&e.endedAt===t.endedAt&&Xk([e.part],[t.part]),rA=(e,t,n)=>{let r=0,i=0;for(;;){for(;r<(e?.length??0)&&e?.[r]?.messageId!==n;)r+=1;for(;i<(t?.length??0)&&t?.[i]?.messageId!==n;)i+=1;let a=e?.[r],o=t?.[i];if(!a||!o)return a===o;if(!nA(a,o))return!1;r+=1,i+=1}},iA=(e,t)=>{if(e.id!==t.id||e.anchorMessageId!==t.anchorMessageId||e.afterToolPartId!==t.afterToolPartId||e.parts.length!==t.parts.length)return!1;for(let n=0;n<e.parts.length;n+=1)if(!nA(e.parts[n],t.parts[n]))return!1;return!0},aA=(e,t)=>!!e?.some(e=>e.anchorMessageId===t),oA=(e,t,n)=>{let r=0,i=0;for(;;){for(;r<(e?.length??0)&&e?.[r]?.anchorMessageId!==n;)r+=1;for(;i<(t?.length??0)&&t?.[i]?.anchorMessageId!==n;)i+=1;let a=e?.[r],o=t?.[i];if(!a||!o)return a===o;if(!iA(a,o))return!1;r+=1,i+=1}},sA=(e,t,n,r)=>{if(e===t)return!0;if(!e||!t)return e===t;if(r)return!0;if(e.isGroupExpanded!==t.isGroupExpanded||e.turnId!==t.turnId||e.isFirstAssistantInTurn!==t.isFirstAssistantInTurn||e.isLastAssistantInTurn!==t.isLastAssistantInTurn||e.isLatestTurn!==t.isLatestTurn||e.isWorking!==t.isWorking||e.isTurnSettled!==t.isTurnSettled||e.hasTools!==t.hasTools||e.hasReasoning!==t.hasReasoning||e.userMessageCreatedAt!==t.userMessageCreatedAt||e.userMessageVariant!==t.userMessageVariant||e.assistantTps!==t.assistantTps||(e.headerMessageId===n||t.headerMessageId===n)&&e.headerMessageId!==t.headerMessageId)return!1;let i=e.activityOwnerMessageId===n||t.activityOwnerMessageId===n;if(i&&e.activityOwnerMessageId!==t.activityOwnerMessageId||!rA(e.activityParts,t.activityParts,n)||!oA(e.activityGroupSegments,t.activityGroupSegments,n))return!1;let a=aA(e.activityGroupSegments,n)||aA(t.activityGroupSegments,n);return!((i||a)&&e.toggleGroup!==t.toggleGroup||(i||a||e.isLastAssistantInTurn||t.isLastAssistantInTurn)&&!eA(e.diffStats,t.diffStats)||(i||a||e.isLastAssistantInTurn||t.isLastAssistantInTurn)&&!tA(e.changedFiles,t.changedFiles))},cA=/^\*\*\*\s+(?:Begin Patch|End Patch|Add File:|Update File:|Delete File:|Move to:)/m,lA=/^@@\s+-\d+(?:,\d+)?\s+\+\d+(?:,\d+)?\s+@@/m,uA=/(?=^diff --git\s+)/gm,dA=/^diff --git\s+/m,fA=/(?=^---\s+\S)/gm,pA=/^---\s+\S/m,mA=e=>typeof e==`object`&&!!e,hA=e=>e.replace(/\r\n/g,`
|
|
6558
6558
|
`).replace(/\r/g,`
|
|
6559
|
-
`).trim(),
|
|
6559
|
+
`).trim(),gA=e=>{let t=!1;return e.split(`
|
|
6560
6560
|
`).map(e=>{if(e.startsWith(`@@`))return t=!0,e;if(t)return e;let n=e.match(/^\s*(---|\+\+\+)\s+(.+)$/);if(!n)return e;let r=n[1],i=n[2]??``;return i.trim()===`/dev/null`?`${r} /dev/null`:`${r} ${i.replace(/\\/g,`/`)}`}).join(`
|
|
6561
|
-
`)},
|
|
6561
|
+
`)},_A=e=>{let t=!1;return e.split(`
|
|
6562
6562
|
`).map(e=>{if(e.startsWith(`@@`))return t=!0,e;if(!t||e.startsWith(`--- `)||e.startsWith(`+++ `)||e.startsWith(`diff --git`))return e;if(e.length===0)return` `;let n=e[0];return n===` `||n===`+`||n===`-`||n===`\\`?e:` ${e}`}).join(`
|
|
6563
|
-
`)},
|
|
6564
|
-
`),n=[...t];for(let e=0;e<t.length;e+=1){let r=(t[e]??``).match(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@(.*)$/);if(!r)continue;let i=0,a=0;for(let n=e+1;n<t.length;n+=1){let e=t[n]??``;if(e.startsWith(`@@`)||e.startsWith(`--- `)||e.startsWith(`diff --git`))break;if(!e.startsWith(`\\`)){if(e.startsWith(`+`)){a+=1;continue}if(e.startsWith(`-`)){i+=1;continue}i+=1,a+=1}}n[e]=`@@ -${
|
|
6565
|
-
`)},
|
|
6566
|
-
`)){if(n.startsWith(`@@`)){if(!
|
|
6567
|
-
`),n,r;for(let e of t){let t=e.replace(/\r$/,``),i=t.match(/^@@\s+-\d+(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/);if(i){let e=Number.parseInt(i[1]??``,10);Number.isFinite(e)&&(n=Math.max(1,e),Number.isFinite(r)||(r=n));continue}if(!(n===void 0||!Number.isFinite(n))&&!(t.startsWith(`+++`)||t.startsWith(`---`)||t.startsWith(`diff `))){if(t.startsWith(`+`))return n;if(t.startsWith(` `)){n+=1;continue}t.startsWith(`-`)||t.startsWith(`\\`)}}return r},
|
|
6563
|
+
`)},vA=(e,t)=>t===1?e:`${e},${t}`,yA=e=>{let t=e.split(`
|
|
6564
|
+
`),n=[...t];for(let e=0;e<t.length;e+=1){let r=(t[e]??``).match(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@(.*)$/);if(!r)continue;let i=0,a=0;for(let n=e+1;n<t.length;n+=1){let e=t[n]??``;if(e.startsWith(`@@`)||e.startsWith(`--- `)||e.startsWith(`diff --git`))break;if(!e.startsWith(`\\`)){if(e.startsWith(`+`)){a+=1;continue}if(e.startsWith(`-`)){i+=1;continue}i+=1,a+=1}}n[e]=`@@ -${vA(r[1]??`0`,i)} +${vA(r[2]??`0`,a)} @@${r[3]??``}`}return n.join(`
|
|
6565
|
+
`)},bA=e=>yA(_A(gA(hA(e)))),xA=e=>{if(typeof e==`string`)return/\S/.test(e)?e:void 0;if(mA(e)){let t=e.patch;if(typeof t==`string`)return/\S/.test(t)?t:void 0}},SA=e=>{let t=(e??``).trim().replace(/\t.*$/,``);return!t||t===`/dev/null`?``:t.replace(/^[ab]\//,``)},CA=e=>{let t=e.trim().replace(/\s+/g,`-`);return t.length>0?t:`file`},wA=e=>{let t=!1;for(let n of e.split(`
|
|
6566
|
+
`)){if(n.startsWith(`@@`)){if(!lA.test(n))return!1;t=!0;continue}if(!t||n.length===0)continue;let e=n[0];if(e!==` `&&e!==`+`&&e!==`-`&&e!==`\\`)return!1}return!0},TA=e=>{let t=bA(e);if(!t||cA.test(t)||!lA.test(t)||!wA(t))return null;try{let e=Nn(t,void 0,!0);if(e.length!==1)return null;let n=e[0]?.files??[],r=n[0];return n.length!==1||!r||r.hunks.length===0?null:{patch:t,title:SA(r.name)}}catch{return null}},EA=e=>{let t=dA.test(e),n=pA.test(e);return!t&&!n?[]:e.split(t?uA:fA).map(e=>e.trim()).filter(e=>e.length>0)},DA=(e,t,n,r)=>{let i=bA(e);if(!i)return[];let a=TA(i);if(a){let e=a.title?r(a.title):r(t);return[{id:`${n}-0`,title:e,patch:a.patch,renderMode:`diff`}]}let o=[];for(let e of EA(i)){let i=TA(e),a=i?.title?r(i.title):r(t);if(!i){(lA.test(e)||dA.test(e)||pA.test(e))&&o.push({id:`${n}-${o.length}`,title:a,patch:e,renderMode:`text`});continue}o.push({id:`${n}-${o.length}`,title:a,patch:i.patch,renderMode:`diff`})}if(o.length>0)return o;if(!cA.test(i)&&lA.test(i)){let e=CA(t),a=TA(`--- ${e}\n+++ ${e}\n${i}`);if(a)return[{id:`${n}-0`,title:r(t),patch:a.patch,renderMode:`diff`}]}return[{id:`${n}-0`,title:r(t),patch:i,renderMode:`text`}]},OA=e=>{if(!mA(e))return``;for(let t of[`movePath`,`relativePath`,`filePath`,`file`]){let n=e[t];if(typeof n==`string`&&n.length>0)return n}return``},kA=e=>{if(!mA(e))return null;let t=xA(e.patch)??xA(e.diff);return t?{patch:t,title:OA(e)}:null},AA=(e,t,n)=>{let r=(Array.isArray(e?.files)?e.files:[]).flatMap((e,t)=>{let r=kA(e);return r?DA(r.patch,r.title||`File ${t+1}`,`file-${t}`,n):[]});return r.length>0?r:DA(typeof t==`string`?t:``,`Diff`,`fallback`,n)},jA=e=>e.trim().replace(/\\/g,`/`).replace(/\/{2,}/g,`/`).replace(/\/+$/,``).replace(/^\.\//,``),MA=(e,t)=>{let n=jA(e),r=jA(t);if(!n||!r)return!1;if(n===r)return!0;let i=n.length>=r.length?n:r,a=n.length>=r.length?r:n;if(!a.includes(`/`))return!1;let o=a.startsWith(`/`)?a:`/${a}`;return i.endsWith(o)},NA=(e,t)=>{if(e.length!==0)return t?e.find(e=>MA(OA(e),t))??(e.length===1?e[0]:void 0):e[0]},PA=(e,t,n,r,i)=>{let a=AA(t,n,i);if(a.length===0||a.some(e=>e.renderMode!==`diff`))return[];let o=Array.isArray(t?.files)?t.files:[];if(e===`apply_patch`){if(o.length>0){let e=o.reduce((e,t)=>kA(t)?e+1:e,0);if(e>0&&e!==o.length)return[]}return new Set(a.map(e=>jA(e.title))).size===a.length?a:[]}let s=a.find(e=>MA(e.title,r))??a[0];return s?[s]:[]},FA=e=>{if(typeof e==`number`&&Number.isFinite(e))return Math.max(0,Math.trunc(e));if(typeof e==`string`){let t=Number.parseInt(e,10);if(Number.isFinite(t))return Math.max(0,t)}return null},IA=e=>{let t=0,n=0,r=0;for(let i=0;i<=e.length;i+=1){if(i<e.length&&e.charCodeAt(i)!==10)continue;let a=e.slice(r,i);a.startsWith(`+`)&&!a.startsWith(`+++`)&&(t+=1),a.startsWith(`-`)&&!a.startsWith(`---`)&&(n+=1),r=i+1}return{added:t,removed:n}},LA=e=>{if(!e?.content||typeof e.content!=`string`)return 0;let t=1;for(let n=0;n<e.content.length;n+=1)e.content.charCodeAt(n)===10&&(t+=1);return t},RA=e=>{if(!mA(e))return{};let t=mA(e.state)?e.state:{};return{metadata:mA(t.metadata)?t.metadata:mA(e.metadata)?e.metadata:void 0,input:mA(t.input)?t.input:void 0}},zA=e=>{let{metadata:t,input:n}=RA(e),r=FA(t?.additions),i=FA(t?.deletions);if(r!==null||i!==null)return{added:r??0,removed:i??0};let a=Array.isArray(t?.files)?t.files:[],o=0,s=0,c=!1;for(let e of a){if(!mA(e))continue;let t=FA(e.additions),n=FA(e.deletions);(t!==null||n!==null)&&(c=!0,o+=t??0,s+=n??0)}if(c)return{added:o,removed:s};let l=xA(t?.patch)??xA(t?.diff);if(l){let e=IA(l);if(e.added>0||e.removed>0)return e}let u=0,d=0;for(let e of a){if(!mA(e))continue;let t=xA(e.patch)??xA(e.diff);if(!t)continue;let n=IA(t);u+=n.added,d+=n.removed}if(u>0||d>0)return{added:u,removed:d};let f=LA(n);return f>0?{added:f,removed:0}:{added:0,removed:0}},BA=e=>{let t=0,n=0;for(let r of e){let e=zA(r);t+=e.added,n+=e.removed}return{added:t,removed:n}},VA=Z.createContext(!1),HA=()=>Z.useContext(VA),UA=`relative ml-2 pl-3`,WA=(e,t=`default`,n=!1)=>t===`todo`?`relative flex min-w-0 flex-col gap-1 py-0.5`:e?`relative flex min-w-0 flex-col ${n?`gap-1`:`gap-2`} py-2`:`relative flex flex-col gap-2 pr-2 pb-2 pt-2 pl-4`,GA=e=>e?`p-0`:`p-2`,KA=`1.25rem`,qA=28,JA=3,YA=4,XA=10,ZA=1,QA=4,$A=e=>{let t=(0,Q.c)(17),{size:n,isMobile:r,className:i,label:a}=e,o=r!==void 0&&r,s=a===void 0?``:a,c=n??(o?12:14),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=Array.from({length:9},ej),t[0]=l):l=t[0];let u=l,d;t[1]===i?d=t[2]:(d=Y(`relative block flex-none overflow-clip`,i),t[1]=i,t[2]=d);let f;t[3]===c?f=t[4]:(f={width:c,height:c},t[3]=c,t[4]=f);let p=s?`img`:void 0,m=s||void 0,h=!s||void 0,g=`scale(${c/qA})`,_;t[5]===g?_=t[6]:(_={width:qA,height:qA,transform:g,transformOrigin:`top left`},t[5]=g,t[6]=_);let v;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=u.map(tj),t[7]=v):v=t[7];let y;t[8]===_?y=t[9]:(y=(0,$.jsx)(`span`,{className:`pointer-events-none absolute left-0 top-0 block`,style:_,children:v}),t[8]=_,t[9]=y);let b;return t[10]!==y||t[11]!==d||t[12]!==f||t[13]!==p||t[14]!==m||t[15]!==h?(b=(0,$.jsx)(`span`,{className:d,style:f,role:p,"aria-label":m,"aria-hidden":h,children:y}),t[10]=y,t[11]=d,t[12]=f,t[13]=p,t[14]=m,t[15]=h,t[16]=b):b=t[16],b};function ej(e,t){let n=t%JA,r=Math.floor(t/JA),i=n-ZA,a=r-ZA,o=i===0&&a===0;return{x:n,y:r,isCenter:o,delay:Math.hypot(i,a)*700-(o?180:0)}}function tj(e){let{x:t,y:n,isCenter:r,delay:i}=e;return(0,$.jsx)(`span`,{className:`oc-lattice-orb-dot absolute block rounded-full bg-current`,"data-center":r?`true`:void 0,style:{left:YA+t*XA,top:YA+n*XA,width:QA,height:QA,transform:`translate(-50%, -50%)`,animationDelay:`${i}ms`}},`${t}-${n}`)}var nj=new Set([`read`,`skill`]),rj=new Set([`task`,`subagent`]),ij=new Set([`read`,`glob`,`grep`,`list`]),aj=new Set([`completed`,`error`,`failed`,`aborted`,`timeout`,`cancelled`]),oj=new Set([`pending`,`started`,`running`]),sj=e=>{if(typeof e!=`string`)return``;let t=e.trim().toLowerCase();if(!t)return``;let n=t.replace(/:\d+$/,``);if(n.includes(`.`)){let e=n.split(`.`).filter(Boolean);return e[e.length-1]??n}return n},cj=e=>!uj(e),lj=e=>rj.has(sj(e)),uj=e=>nj.has(sj(e)),dj=e=>ij.has(sj(e)),fj=e=>sj(e)===`skill`,pj=e=>{let t=sj(e);return!(!t||ij.has(t)||t===`skill`||rj.has(t)||t===`question`)},mj=e=>dj(e)||pj(e),hj=e=>{if(!e||typeof e!=`object`)return!1;let t=e.state;if(!t||typeof t!=`object`)return!1;let n=t.status;if(typeof n==`string`){let e=n.trim().toLowerCase();if(oj.has(e))return!1;if(aj.has(e))return!0}let r=t.time;if(!r||typeof r!=`object`)return!1;let i=r.start,a=r.end;return typeof a!=`number`||!Number.isFinite(a)?!1:typeof i!=`number`||!Number.isFinite(i)||a>=i},gj=e=>!hj(e),_j=sj,vj=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,yj=Y(`typography-meta font-medium`,vj),bj=Y(`typography-meta`,vj),xj=`typography-micro !text-[length:calc(var(--text-meta)-0.0625rem)] !leading-5 tracking-normal`,Sj=`flex w-full min-w-0 flex-col gap-1`,Cj=e=>e.length>0?e.charAt(0).toUpperCase()+e.slice(1):e,wj=new es({maxEntries:2e3,maxBytes:262144}),Tj=(e,t=!0,n=!0)=>{let r=Array.isArray(e?.files)?e?.files:[];if(r.length<=1)return null;let i=e=>{if(typeof e==`number`&&Number.isFinite(e))return Math.max(0,Math.trunc(e));if(typeof e==`string`){let t=Number.parseInt(e,10);if(Number.isFinite(t))return Math.max(0,t)}return null},a=(e,t)=>e===null?t:t===null?e:e+t,o=new Map;for(let e of r){let t=e,n=OA(e);if(!n)continue;let r=n.split(`/`).pop()||n,s=i(t.additions),c=i(t.deletions),l=o.get(n);if(l){l.added=a(l.added,s),l.removed=a(l.removed,c);continue}o.set(n,{path:n,name:r,added:s,removed:c})}let s=Array.from(o.values());return(0,$.jsx)($.Fragment,{children:s.map(e=>{let r=e.added!==null||e.removed!==null;return(0,$.jsxs)(`span`,{className:Y(`inline-flex min-w-0 max-w-full items-center gap-1`,bj),style:{color:`var(--tools-description)`},children:[n?(0,$.jsx)(pg,{filePath:e.path,className:`h-3.5 w-3.5`}):null,(0,$.jsx)(PO,{variant:t?`generate-effect`:`static`,className:Y(`min-w-0 max-w-full truncate`,bj),style:{color:`var(--tools-description)`},title:e.path,children:e.name}),r?(0,$.jsxs)(`span`,{className:`flex-shrink-0 inline-flex items-center gap-0 typography-meta`,children:[(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,e.added??0]}),(0,$.jsx)(`span`,{style:{color:`var(--tools-description)`},children:`/`}),(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,e.removed??0]})]}):null]},e.path)})})},Ej=e=>{if(typeof e!=`string`)return``;let t=e.trim().toLowerCase();if(!t)return``;let n=t.includes(`.`)?t.split(`.`).filter(Boolean).pop()??t:t;return n===`shell`||n===`cmd`||n===`terminal`?`bash`:n===`patch`?`apply_patch`:n},Dj=new Set([`bash`,`edit`,`write`,`apply_patch`,`patch`,`task`]),Oj=new Set([`edit`,`multiedit`,`apply_patch`,`write`,`create`,`file_write`]),kj=e=>Oj.has(e),Aj=e=>e===`write`||e===`create`||e===`file_write`,jj=(e,t,n=Date.now())=>{let r=Math.max(0,(t??n)-e)/1e3;return r>=60?`${(r/60).toFixed(1)}m`:`${(r<.05&&t!==void 0?.1:r).toFixed(1)}s`},Mj=e=>{let t=(0,Q.c)(6),{start:n,end:r,active:i}=e,a=zO(i,250),o;t[0]!==r||t[1]!==a||t[2]!==n?(o=jj(n,r,a),t[0]=r,t[1]=a,t[2]=n,t[3]=o):o=t[3];let s;return t[4]===o?s=t[5]:(s=(0,$.jsx)($.Fragment,{children:o}),t[4]=o,t[5]=s),s},Nj=e=>{let t=zA({state:{metadata:e}});return t.added===0&&t.removed===0?null:t},Pj=e=>{if(!e?.content||typeof e.content!=`string`)return null;let t=1;for(let n=0;n<e.content.length;n+=1)e.content.charCodeAt(n)===10&&(t+=1);return t},Fj=e=>{if(!e||typeof e!=`string`)return;let t=e.split(`
|
|
6567
|
+
`),n,r;for(let e of t){let t=e.replace(/\r$/,``),i=t.match(/^@@\s+-\d+(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/);if(i){let e=Number.parseInt(i[1]??``,10);Number.isFinite(e)&&(n=Math.max(1,e),Number.isFinite(r)||(r=n));continue}if(!(n===void 0||!Number.isFinite(n))&&!(t.startsWith(`+++`)||t.startsWith(`---`)||t.startsWith(`diff `))){if(t.startsWith(`+`))return n;if(t.startsWith(` `)){n+=1;continue}t.startsWith(`-`)||t.startsWith(`\\`)}}return r},Ij=(e,t)=>{let n=t.replace(/\r\n/g,`
|
|
6568
6568
|
`);if(!n.trim())return;let r=(()=>{let t=(e??``).trim();return t?t.startsWith(`/`)?t.slice(1):t:`new-file`})(),i=n.split(`
|
|
6569
6569
|
`),a=i.length,o=i.map(e=>`+${e}`).join(`
|
|
6570
6570
|
`);return[`--- /dev/null`,`+++ b/${r}`,`@@ -0,0 +1,${a} @@`,o].join(`
|
|
6571
|
-
`)},
|
|
6572
|
-
`)[0].substring(0,100);if((e.tool===`task`||e.tool===`subagent`)&&a?.description&&typeof a.description==`string`)return a.description.substring(0,80);if(e.tool===`lsp`)return Jj(a,n);let s=a?.description||i?.description||`title`in t&&t.title||``;return typeof s==`string`?s:``},Xj=e=>{let t=(0,Q.c)(17),{children:n,isMobile:r,maxHeightClass:i,className:a,outerClassName:o,disableHorizontal:s}=e,c=r!==void 0&&r,l=i===void 0?`max-h-[60vh]`:i,u=s!==void 0&&s,d;t[0]===o?d=t[1]:(d=Y(`w-full min-w-0 flex-none overflow-hidden`,o),t[0]=o,t[1]=d);let f;if(t[2]!==a||t[3]!==u||t[4]!==c||t[5]!==l){let e;t[7]===c?e=t[8]:(e=c&&WA(!0),t[7]=c,t[8]=e),f=Y(`tool-output-surface rounded-xl w-full min-w-0`,WA(c),l,u?`overflow-y-auto overflow-x-hidden`:`overflow-auto`,a,e),t[2]=a,t[3]=u,t[4]=c,t[5]=l,t[6]=f}else f=t[6];let p;t[9]===n?p=t[10]:(p=(0,$.jsx)(`div`,{className:`w-full min-w-0`,children:n}),t[9]=n,t[10]=p);let m;t[11]!==f||t[12]!==p?(m=(0,$.jsx)(_l,{className:f,children:p}),t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==d||t[15]!==m?(h=(0,$.jsx)(`div`,{className:d,children:m}),t[14]=d,t[15]=m,t[16]=h):h=t[16],h},Zj=(e,t,n,r)=>t.tool===`bash`?`bash`:Xd(af(e,t.tool,n),t.tool,r),Qj=(e,t,n)=>t.tool===`bash`?e:af(e,t.tool,n),$j=e=>{let t=(0,Q.c)(80),{output:n,part:r,metadata:i,input:a,isMobile:o}=e,s=o!==void 0&&o,{t:c}=Kn(),l;t[0]!==i||t[1]!==n||t[2]!==r?(l=Qj(n,r,i),t[0]=i,t[1]=n,t[2]=r,t[3]=l):l=t[3];let u=l,d;t[4]!==a||t[5]!==i||t[6]!==n||t[7]!==r?(d=Zj(n,r,i,a),t[4]=a,t[5]=i,t[6]=n,t[7]=r,t[8]=d):d=t[8];let f=d,p;t[9]===u?p=t[10]:(p=ef(u),t[9]=u,t[10]=p);let m=p,[h,g]=Z.useState(`formatted`),[_,v]=Z.useState(!1),y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{g(`formatted`),v(!1)},t[11]=y):y=t[11];let b;t[12]===u?b=t[13]:(b=[u],t[12]=u,t[13]=b),Z.useEffect(y,b);let x;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=(e,t)=>{t.stopPropagation(),g(e)},t[14]=x):x=t[14];let S=J(x),C;t[15]!==u||t[16]!==c?(C=async e=>{if(e.stopPropagation(),!(await Gn(u)).ok){mi.error(c(`chat.toolPart.copyOutputFailed`));return}v(!0),typeof window<`u`&&window.setTimeout(()=>v(!1),1200)},t[15]=u,t[16]=c,t[17]=C):C=t[17];let w=J(C);if(m.isJson){let e=h===`formatted`&&`bg-[var(--interactive-selection)] text-[var(--interactive-selection-foreground)]`,n;t[18]===e?n=t[19]:(n=Y(`h-6 w-6 rounded-md text-muted-foreground hover:text-foreground`,e),t[18]=e,t[19]=n);let r;t[20]===S?r=t[21]:(r=e=>S(`formatted`,e),t[20]=S,t[21]=r);let i;t[22]===c?i=t[23]:(i=c(`chat.toolPart.showFormattedJson`),t[22]=c,t[23]=i);let a;t[24]===c?a=t[25]:(a=c(`chat.toolPart.showFormattedJson`),t[24]=c,t[25]=a);let o;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(X,{name:`node-tree`,className:`h-3.5 w-3.5`}),t[26]=o):o=t[26];let s;t[27]!==n||t[28]!==r||t[29]!==i||t[30]!==a?(s=(0,$.jsx)(Xn,{variant:`ghost`,size:`icon`,className:n,onClick:r,onPointerDown:TM,"aria-label":i,title:a,children:o}),t[27]=n,t[28]=r,t[29]=i,t[30]=a,t[31]=s):s=t[31];let l=h===`raw`&&`bg-[var(--interactive-selection)] text-[var(--interactive-selection-foreground)]`,d;t[32]===l?d=t[33]:(d=Y(`h-6 w-6 rounded-md text-muted-foreground hover:text-foreground`,l),t[32]=l,t[33]=d);let f;t[34]===S?f=t[35]:(f=e=>S(`raw`,e),t[34]=S,t[35]=f);let p;t[36]===c?p=t[37]:(p=c(`chat.toolPart.showRawJson`),t[36]=c,t[37]=p);let g;t[38]===c?g=t[39]:(g=c(`chat.toolPart.showRawJson`),t[38]=c,t[39]=g);let v;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(X,{name:`code-box`,className:`h-3.5 w-3.5`}),t[40]=v):v=t[40];let y;t[41]!==d||t[42]!==f||t[43]!==p||t[44]!==g?(y=(0,$.jsx)(Xn,{variant:`ghost`,size:`icon`,className:d,onClick:f,onPointerDown:EM,"aria-label":p,title:g,children:v}),t[41]=d,t[42]=f,t[43]=p,t[44]=g,t[45]=y):y=t[45];let b;t[46]!==_||t[47]!==c?(b=c(_?`chat.toolPart.copiedOutput`:`chat.toolPart.copyOutput`),t[46]=_,t[47]=c,t[48]=b):b=t[48];let x;t[49]!==_||t[50]!==c?(x=c(_?`chat.toolPart.copiedOutput`:`chat.toolPart.copyOutput`),t[49]=_,t[50]=c,t[51]=x):x=t[51];let C=_?`check`:`file-copy`,T;t[52]===C?T=t[53]:(T=(0,$.jsx)(X,{name:C,className:`h-3.5 w-3.5`}),t[52]=C,t[53]=T);let E;t[54]!==w||t[55]!==b||t[56]!==x||t[57]!==T?(E=(0,$.jsx)(Xn,{variant:`ghost`,size:`icon`,className:`h-6 w-6 rounded-md bg-[var(--surface-elevated)]/80 text-muted-foreground hover:text-foreground`,onClick:w,onPointerDown:DM,"aria-label":b,title:x,children:T}),t[54]=w,t[55]=b,t[56]=x,t[57]=T,t[58]=E):E=t[58];let D;t[59]!==s||t[60]!==y||t[61]!==E?(D=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2 z-10 flex items-center gap-1`,children:[s,y,E]}),t[59]=s,t[60]=y,t[61]=E,t[62]=D):D=t[62];let O;t[63]!==m.data||t[64]!==h||t[65]!==u?(O=h===`formatted`?(0,$.jsx)(sf,{data:m.data,initiallyExpandedDepth:1,maxHeight:`400px`}):(0,$.jsx)(`div`,{className:`typography-code pr-12 text-muted-foreground/90`,children:(0,$.jsx)($d,{language:`json`,code:u,style:uM,codeStyle:dM.style,wrap:!0})}),t[63]=m.data,t[64]=h,t[65]=u,t[66]=O):O=t[66];let k;return t[67]!==D||t[68]!==O?(k=(0,$.jsxs)(`div`,{className:`tool-output-surface relative p-2 rounded-xl w-full min-w-0`,children:[D,O]}),t[67]=D,t[68]=O,t[69]=k):k=t[69],k}let T=r.tool===`bash`?`typography-code text-muted-foreground/90`:void 0,E;t[70]!==s||t[71]!==r.tool?(E={...uM,...s&&r.tool===`bash`?{lineHeight:GA}:{}},t[70]=s,t[71]=r.tool,t[72]=E):E=t[72];let D;t[73]!==f||t[74]!==u||t[75]!==E?(D=(0,$.jsx)($d,{language:f,code:u,style:E,codeStyle:dM.style,wrap:!0}),t[73]=f,t[74]=u,t[75]=E,t[76]=D):D=t[76];let O;return t[77]!==D||t[78]!==T?(O=(0,$.jsx)(`div`,{className:T,children:D}),t[77]=D,t[78]=T,t[79]=O):O=t[79],O};$j.displayName=`ToolScrollableTextOutput`;var eM=e=>{let t=e.state?.title;if(typeof t==`string`&&t.trim().length>0)return t;let n=e.state?.input;if(n&&typeof n==`object`){let e=n.filePath??n.file_path??n.path;if(typeof e==`string`&&e.trim().length>0)return e.trim();let t=n.url;if(typeof t==`string`&&t.trim().length>0)return t.trim()}return``},tM=new Set([`read`,`view`,`file_read`,`cat`,`write`,`create`,`file_write`,`edit`,`multiedit`,`apply_patch`]),nM=(e,t)=>{if(!tM.has(e.toLowerCase()))return!1;let n=t.trim();if(!n||n===`Patch`||/^\d+\s+files$/.test(n))return!1;if(n.includes(`/`)||n.includes(`\\`))return!0;let r=n.split(/[\\/]/).pop()||n;return r.startsWith(`.`)||r.includes(`.`)?!0:/^[A-Za-z0-9_-]+$/.test(r)},rM=e=>{let t=Tj(e.tool),n=e.state?.status??``,r=eM(e);return`${e.id??``}\u0001${t}\u0001${n}\u0001${r}`},iM=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(rM(e[n])!==rM(t[n]))return!1;return!0},aM=Z.memo(e=>{let t=(0,Q.c)(10),{entry:n,isMobile:r,animateTailText:i,showToolFileIcons:a}=e,{t:o}=Kn(),s;if(t[0]!==i||t[1]!==n||t[2]!==r||t[3]!==a||t[4]!==o){let e=Tj(n.tool),c=e.length>0?e:`tool`,l=eM(n),u=l.trim().length>0,d=n.state?.status,f=wd(c,o),p=r?`items-start`:`items-center`,m;t[6]===p?m=t[7]:(m=Y(`flex gap-1.5 min-w-0 w-full py-px`,p),t[6]=p,t[7]=m);let h,g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=Y(bj,`text-foreground/80 flex-shrink-0`),g={color:`var(--tools-title)`},t[8]=h,t[9]=g):(h=t[8],g=t[9]),s=(0,$.jsxs)(`div`,{className:m,children:[(0,$.jsx)(`span`,{className:`flex-shrink-0 scale-90 text-foreground/80`,children:FO(c)}),(0,$.jsx)(`span`,{className:h,style:g,title:f,children:f}),u?d!==`error`&&nM(c,l)?_M(l,i,!0,a,bj):d===`error`?(0,$.jsx)(`span`,{className:Y(bj,`flex-1 min-w-0 text-[var(--status-error)]`,r?`whitespace-normal break-words`:`truncate`),children:l}):(0,$.jsx)(PO,{variant:i?`generate-effect`:`static`,className:Y(bj,`flex-1 min-w-0 text-muted-foreground/70`,r?`whitespace-normal break-words`:`truncate`),style:{color:`var(--tools-description)`},title:l,children:l}):null]}),t[0]=i,t[1]=n,t[2]=r,t[3]=a,t[4]=o,t[5]=s}else s=t[5];return s},(e,t)=>e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&e.showToolFileIcons===t.showToolFileIcons&&rM(e.entry)===rM(t.entry));aM.displayName=`TaskSummaryEntryRow`;var oM=Z.memo(e=>{let t=(0,Q.c)(24),{entries:n,isExpanded:r,isMobile:i,animateTailText:a,showToolFileIcons:o}=e,s;t[0]!==n||t[1]!==r?(s=r?n:n.slice(-6),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c=s,l=Math.max(0,n.length-c.length),u=n.length-c.length,d=r?`max-h-[40vh]`:`max-h-56`,f;t[3]===l?f=t[4]:(f=l>0?(0,$.jsxs)(`div`,{className:Y(bj,`text-muted-foreground/70`),children:[`+`,l,` more…`]}):null,t[3]=l,t[4]=f);let p;if(t[5]!==a||t[6]!==r||t[7]!==i||t[8]!==o||t[9]!==c||t[10]!==u){let e;t[12]!==a||t[13]!==r||t[14]!==i||t[15]!==o||t[16]!==u?(e=(e,t)=>{let n=r?t:u+t,s=e.id??`${rM(e)}:${n}`;return(0,$.jsx)(aM,{entry:e,isMobile:i,animateTailText:a,showToolFileIcons:o},s)},t[12]=a,t[13]=r,t[14]=i,t[15]=o,t[16]=u,t[17]=e):e=t[17],p=c.map(e),t[5]=a,t[6]=r,t[7]=i,t[8]=o,t[9]=c,t[10]=u,t[11]=p}else p=t[11];let m;t[18]!==f||t[19]!==p?(m=(0,$.jsxs)(`div`,{className:xj,children:[f,p]}),t[18]=f,t[19]=p,t[20]=m):m=t[20];let h;return t[21]!==d||t[22]!==m?(h=(0,$.jsx)(Xj,{maxHeightClass:d,disableHorizontal:!0,children:m}),t[21]=d,t[22]=m,t[23]=h):h=t[23],h},(e,t)=>e.isExpanded===t.isExpanded&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&e.showToolFileIcons===t.showToolFileIcons&&iM(e.entries,t.entries));oM.displayName=`TaskSummaryEntriesList`;var sM=e=>{let t=(0,Q.c)(44),{entries:n,isExpanded:r,isMobile:i,output:a,sessionId:o,onShowPopup:s,input:c,animateTailText:l,isActive:u}=e,d=l===void 0||l,f=u!==void 0&&u,{t:p}=Kn(),m=Ed(),h=ma(OM),g=q(kM),_=q(AM),v=Z.useContext(dl),y=Bb(),b=y.directory||m,x;t[0]===a?x=t[1]:(x=typeof a==`string`?bk(a):``,t[0]=a,t[1]=x);let S=x,C=S.length>0,[w,T]=Z.useState(!1),E,D,O,k;if(t[2]!==d||t[3]!==b||t[4]!==n||t[5]!==C||t[6]!==c||t[7]!==f||t[8]!==r||t[9]!==i||t[10]!==g||t[11]!==v?.runtime||t[12]!==o||t[13]!==y||t[14]!==h||t[15]!==_||t[16]!==p){k=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Sj(UO(c)??`subagent`),a=t=>{t.stopPropagation(),o&&b&&Hb(y,o,b,()=>{if(!Ia({sessionId:o,directory:b})){if(cl()||i||v?.runtime.isVSCode){h(o,b);return}g(b,{mode:`chat`,dedupeKey:`session:${o}`,label:e,readOnly:!0})}})};if(n.length===0&&!C&&!o){let e;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(e=Y(bj,`text-muted-foreground/70`),t[21]=e):e=t[21];let n=f?`Waiting for subagent activity...`:`No subagent session id on task metadata.`,r;t[22]===n?r=t[23]:(r=(0,$.jsx)(`div`,{className:`relative flex flex-col gap-1 pr-2 pb-1.5 pt-0.5 pl-[1.4375rem]`,children:(0,$.jsx)(`div`,{className:e,children:n})}),t[22]=n,t[23]=r),k=r;break bb0}t[24]===Symbol.for(`react.memo_cache_sentinel`)?(E=Y(`relative flex flex-col gap-1 pr-2 pb-1.5 pt-0.5 pl-[1.4375rem]`,`before:absolute before:left-[0.4375rem] before:w-px before:bg-border/80 before:content-[""]`,`before:top-0 before:bottom-0`),t[24]=E):E=t[24],t[25]!==d||t[26]!==n||t[27]!==r||t[28]!==i||t[29]!==_?(D=n.length>0?(0,$.jsx)(oM,{entries:n,isExpanded:r,isMobile:i,animateTailText:d,showToolFileIcons:_}):null,t[25]=d,t[26]=n,t[27]=r,t[28]=i,t[29]=_,t[30]=D):D=t[30],O=o&&y.capabilities.navigateNestedSession&&(0,$.jsxs)(`button`,{type:`button`,className:Y(`flex items-center gap-1.5 text-primary hover:text-primary/80 w-full`,bj),onPointerDown:jM,onClick:a,children:[(0,$.jsx)(X,{name:`external-link`,className:`h-3 w-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:Y(bj,`text-primary font-medium`),children:p(`chat.toolPart.openSubtask`,{type:e})})]})}t[2]=d,t[3]=b,t[4]=n,t[5]=C,t[6]=c,t[7]=f,t[8]=r,t[9]=i,t[10]=g,t[11]=v?.runtime,t[12]=o,t[13]=y,t[14]=h,t[15]=_,t[16]=p,t[17]=E,t[18]=D,t[19]=O,t[20]=k}else E=t[17],D=t[18],O=t[19],k=t[20];if(k!==Symbol.for(`react.early_return_sentinel`))return k;let A;t[31]!==n.length||t[32]!==C||t[33]!==w||t[34]!==s||t[35]!==o||t[36]!==p||t[37]!==S?(A=C?(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,(n.length>0||o)&&`pt-1`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(`flex items-center gap-1.5 text-foreground/80 hover:text-foreground w-full`,bj),onPointerDown:MM,onClick:e=>{e.stopPropagation(),T(NM)},children:[w?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3 w-3 flex-shrink-0`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:Y(bj,`text-foreground/80 font-medium`),children:p(`chat.toolPart.output`)})]}),w?(0,$.jsx)(Xj,{maxHeightClass:`max-h-[50vh]`,children:(0,$.jsx)(`div`,{className:`w-full min-w-0`,children:(0,$.jsx)(td,{content:S,variant:`tool`,onShowPopup:s})})}):null]}):null,t[31]=n.length,t[32]=C,t[33]=w,t[34]=s,t[35]=o,t[36]=p,t[37]=S,t[38]=A):A=t[38];let j;return t[39]!==E||t[40]!==D||t[41]!==O||t[42]!==A?(j=(0,$.jsxs)(`div`,{className:E,children:[D,O,A]}),t[39]=E,t[40]=D,t[41]=O,t[42]=A,t[43]=j):j=t[43],j},cM=`
|
|
6571
|
+
`)},Lj=(e,t,n)=>{if(!t||e!==`edit`&&e!==`multiedit`&&e!==`apply_patch`)return;let r=Rj(e,t,n);if(r){let e=Fj(r);if(Number.isFinite(e))return e}},Rj=(e,t,n)=>{if(!t||e!==`edit`&&e!==`multiedit`&&e!==`apply_patch`)return;let r=Array.isArray(t.files)?t.files:[];if(r.length>0){let e=NA(r,typeof n==`string`&&n.length>0?n:void 0);if(e&&typeof e==`object`){let t=xA(e.patch)??xA(e.diff);if(t)return t}}let i=t.filediff;if(i&&typeof i==`object`){let e=xA(i.patch)??xA(i.diff);if(e)return e}let a=xA(t.patch)??xA(t.diff);if(a)return a},zj=e=>{let t=e.trim().replace(/\\/g,`/`).replace(/\/{2,}/g,`/`);return!t||t===`/`?t:t.replace(/\/+$/,``)},Bj=(e,t)=>{let n=zj(e),r=zj(t);if(!n)return``;if(!r)return n;if(n===r)return`.`;let i=`${r}/`;return n.startsWith(i)?n.slice(i.length):n},Vj=5,Hj=e=>typeof e==`object`&&!!e,Uj=e=>{if(!Hj(e))return null;let t=typeof e.message==`string`?e.message.trim():``;if(!t)return null;let n=typeof e.severity==`number`&&Number.isFinite(e.severity)?Math.trunc(e.severity):void 0;if(n!==void 0&&n!==1)return null;let r=Hj(e.range)?e.range:void 0,i=r&&Hj(r.start)?r.start:void 0,a=typeof i?.line==`number`&&Number.isFinite(i.line)?Math.max(0,Math.trunc(i.line)):0,o=typeof i?.character==`number`&&Number.isFinite(i.character)?Math.max(0,Math.trunc(i.character)):0;return{message:t,line:a+1,character:o+1}},Wj=(e,t,n)=>{let r=Hj(n?.filediff)?n.filediff:void 0,i=Hj(r)&&typeof r.file==`string`?r.file:null;if(e===`apply_patch`){let e=OA((Array.isArray(n?.files)?n.files:[]).find(e=>OA(e).length>0));if(e)return e;let t=xA(n?.patch)??xA(n?.diff),r=t?AA(void 0,t,e=>e).find(e=>e.renderMode===`diff`):void 0;return r?.title?r.title:i}return e===`edit`||e===`multiedit`?i||(typeof t?.filePath==`string`?t.filePath:typeof t?.file_path==`string`?t.file_path:typeof t?.path==`string`?t.path:null):e===`write`?typeof t?.filePath==`string`?t.filePath:typeof t?.file_path==`string`?t.file_path:typeof t?.path==`string`?t.path:null:null},Gj=(e,t,n,r)=>{if(![`edit`,`multiedit`,`write`,`apply_patch`].includes(e))return null;let i=Wj(e,t,n);if(!i||!n||!Hj(n.diagnostics))return null;let a=zj(i),o=a.startsWith(`/`)?a:`${zj(r)}/${a}`.replace(/\/+/g,`/`),s=n.diagnostics[a]??n.diagnostics[o];if(!Array.isArray(s))return null;let c=s.map(e=>Uj(e)).filter(e=>!!e);if(c.length===0)return null;let l=c.slice(0,Vj);return{displayPath:a.startsWith(`/`)?Bj(a,r):a,diagnostics:l,remaining:Math.max(0,c.length-l.length)}},Kj=()=>{let e=(0,Q.c)(22),t=os(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=el(!1),e[0]=n):n=e[0];let r=n,i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=el(!0),e[1]=i):i=e[1];let a=i,o;e[2]===t?.availableThemes?o=e[3]:(o=()=>t?.availableThemes??[r,a],e[2]=t?.availableThemes,e[3]=o),t?.availableThemes;let s;e[4]===o?s=e[5]:(s=o(),e[4]=o,e[5]=s);let c=s,l=t?.lightThemeId??r.metadata.id,u=t?.darkThemeId??a.metadata.id,d;e[6]!==c||e[7]!==l?(d=c.find(e=>e.metadata.id===l)??r,e[6]=c,e[7]=l,e[8]=d):d=e[8];let f=d,p;e[9]!==c||e[10]!==u?(p=c.find(e=>e.metadata.id===u)??a,e[9]=c,e[10]=u,e[11]=p):p=e[11];let m=p,h,g;e[12]!==m||e[13]!==f?(h=()=>{Ju(f),Ju(m)},g=[m,f],e[12]=m,e[13]=f,e[14]=h,e[15]=g):(h=e[14],g=e[15]),Z.useEffect(h,g);let _=t?.currentTheme.metadata.variant??`light`,v;e[16]!==m.metadata.id||e[17]!==f.metadata.id?(v={light:f.metadata.id,dark:m.metadata.id},e[16]=m.metadata.id,e[17]=f.metadata.id,e[18]=v):v=e[18];let y=_===`dark`?`dark`:`light`,b;return e[19]!==v||e[20]!==y?(b={pierreTheme:v,pierreThemeType:y},e[19]=v,e[20]=y,e[21]=b):b=e[21],b},qj=e=>{let t=e.match(/^User has answered your questions:\s*(.+?)\.\s*You can now/s);if(!t)return null;let n=[],r=t[1],i=/"([^"]+)"="([^"]*(?:[^"\\]|\\.)*)"/g,a;for(;(a=i.exec(r))!==null;)n.push({question:a[1],answer:a[2]});return n.length>0?n:null},Jj=(e,t,n)=>{let r=t,i=r.metadata,a=r.input;if(e.tool===`apply_patch`){let e=Array.isArray(i?.files)?i?.files:[],t=OA(e[0]);return e.length>1?null:t?Bj(t,n):null}if((e.tool===`edit`||e.tool===`multiedit`)&&a){let e=a?.filePath||a?.file_path||a?.path||i?.filePath||i?.file_path||i?.path;if(typeof e==`string`)return Bj(e,n)}if(e.tool===`read`&&a){let e=a?.filePath||a?.file_path||a?.path||i?.filePath||i?.file_path||i?.path;if(typeof e==`string`)return Bj(e,n)}if([`write`,`create`,`file_write`].includes(e.tool)&&a){let e=a?.filePath||a?.file_path||a?.path;if(typeof e==`string`)return Bj(e,n)}if(e.tool===`lsp`&&a){let e=a?.filePath||a?.file_path||a?.path;if(typeof e==`string`)return Bj(e,n)}return null},Yj=(e,t)=>{if(!e)return``;let n=typeof e.operation==`string`?e.operation:`lsp`;if(n===`workspaceSymbol`)return`${n}${typeof e.query==`string`&&e.query.trim().length>0?` "${e.query.trim()}"`:``}`;let r=typeof e.filePath==`string`?e.filePath:typeof e.file_path==`string`?e.file_path:typeof e.path==`string`?e.path:``,i=r?Bj(r,t):``;if(n===`documentSymbol`)return i?`${n} ${i}`:n;let a=typeof e.line==`number`&&Number.isFinite(e.line)?Math.trunc(e.line):void 0,o=typeof e.character==`number`&&Number.isFinite(e.character)?Math.trunc(e.character):void 0,s=a!==void 0&&o!==void 0?`:${a}:${o}`:``;return i?`${n} ${i}${s}`:n},Xj=(e,t,n)=>{let r=t,i=r.metadata,a=r.input,o=Jj(e,t,n);if(o)return o;if(e.tool===`apply_patch`){let e=Array.isArray(i?.files)?i?.files:[];return e.length>1?`${e.length} files`:``}if(e.tool===`question`&&a?.questions&&Array.isArray(a.questions)){let e=a.questions.length;return`Asked ${e} question${e===1?``:`s`}`}if(e.tool===`bash`&&a?.command&&typeof a.command==`string`)return a.command.split(`
|
|
6572
|
+
`)[0].substring(0,100);if((e.tool===`task`||e.tool===`subagent`)&&a?.description&&typeof a.description==`string`)return a.description.substring(0,80);if(e.tool===`lsp`)return Yj(a,n);let s=a?.description||i?.description||`title`in t&&t.title||``;return typeof s==`string`?s:``},Zj=e=>{let t=(0,Q.c)(17),{children:n,isMobile:r,maxHeightClass:i,className:a,outerClassName:o,disableHorizontal:s}=e,c=r!==void 0&&r,l=i===void 0?`max-h-[60vh]`:i,u=s!==void 0&&s,d;t[0]===o?d=t[1]:(d=Y(`w-full min-w-0 flex-none overflow-hidden`,o),t[0]=o,t[1]=d);let f;if(t[2]!==a||t[3]!==u||t[4]!==c||t[5]!==l){let e;t[7]===c?e=t[8]:(e=c&&GA(!0),t[7]=c,t[8]=e),f=Y(`tool-output-surface rounded-xl w-full min-w-0`,GA(c),l,u?`overflow-y-auto overflow-x-hidden`:`overflow-auto`,a,e),t[2]=a,t[3]=u,t[4]=c,t[5]=l,t[6]=f}else f=t[6];let p;t[9]===n?p=t[10]:(p=(0,$.jsx)(`div`,{className:`w-full min-w-0`,children:n}),t[9]=n,t[10]=p);let m;t[11]!==f||t[12]!==p?(m=(0,$.jsx)(_l,{className:f,children:p}),t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==d||t[15]!==m?(h=(0,$.jsx)(`div`,{className:d,children:m}),t[14]=d,t[15]=m,t[16]=h):h=t[16],h},Qj=(e,t,n,r)=>t.tool===`bash`?`bash`:Xd(af(e,t.tool,n),t.tool,r),$j=(e,t,n)=>t.tool===`bash`?e:af(e,t.tool,n),eM=e=>{let t=(0,Q.c)(80),{output:n,part:r,metadata:i,input:a,isMobile:o}=e,s=o!==void 0&&o,{t:c}=Kn(),l;t[0]!==i||t[1]!==n||t[2]!==r?(l=$j(n,r,i),t[0]=i,t[1]=n,t[2]=r,t[3]=l):l=t[3];let u=l,d;t[4]!==a||t[5]!==i||t[6]!==n||t[7]!==r?(d=Qj(n,r,i,a),t[4]=a,t[5]=i,t[6]=n,t[7]=r,t[8]=d):d=t[8];let f=d,p;t[9]===u?p=t[10]:(p=ef(u),t[9]=u,t[10]=p);let m=p,[h,g]=Z.useState(`formatted`),[_,v]=Z.useState(!1),y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{g(`formatted`),v(!1)},t[11]=y):y=t[11];let b;t[12]===u?b=t[13]:(b=[u],t[12]=u,t[13]=b),Z.useEffect(y,b);let x;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=(e,t)=>{t.stopPropagation(),g(e)},t[14]=x):x=t[14];let S=J(x),C;t[15]!==u||t[16]!==c?(C=async e=>{if(e.stopPropagation(),!(await Gn(u)).ok){mi.error(c(`chat.toolPart.copyOutputFailed`));return}v(!0),typeof window<`u`&&window.setTimeout(()=>v(!1),1200)},t[15]=u,t[16]=c,t[17]=C):C=t[17];let w=J(C);if(m.isJson){let e=h===`formatted`&&`bg-[var(--interactive-selection)] text-[var(--interactive-selection-foreground)]`,n;t[18]===e?n=t[19]:(n=Y(`h-6 w-6 rounded-md text-muted-foreground hover:text-foreground`,e),t[18]=e,t[19]=n);let r;t[20]===S?r=t[21]:(r=e=>S(`formatted`,e),t[20]=S,t[21]=r);let i;t[22]===c?i=t[23]:(i=c(`chat.toolPart.showFormattedJson`),t[22]=c,t[23]=i);let a;t[24]===c?a=t[25]:(a=c(`chat.toolPart.showFormattedJson`),t[24]=c,t[25]=a);let o;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(X,{name:`node-tree`,className:`h-3.5 w-3.5`}),t[26]=o):o=t[26];let s;t[27]!==n||t[28]!==r||t[29]!==i||t[30]!==a?(s=(0,$.jsx)(Xn,{variant:`ghost`,size:`icon`,className:n,onClick:r,onPointerDown:EM,"aria-label":i,title:a,children:o}),t[27]=n,t[28]=r,t[29]=i,t[30]=a,t[31]=s):s=t[31];let l=h===`raw`&&`bg-[var(--interactive-selection)] text-[var(--interactive-selection-foreground)]`,d;t[32]===l?d=t[33]:(d=Y(`h-6 w-6 rounded-md text-muted-foreground hover:text-foreground`,l),t[32]=l,t[33]=d);let f;t[34]===S?f=t[35]:(f=e=>S(`raw`,e),t[34]=S,t[35]=f);let p;t[36]===c?p=t[37]:(p=c(`chat.toolPart.showRawJson`),t[36]=c,t[37]=p);let g;t[38]===c?g=t[39]:(g=c(`chat.toolPart.showRawJson`),t[38]=c,t[39]=g);let v;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(X,{name:`code-box`,className:`h-3.5 w-3.5`}),t[40]=v):v=t[40];let y;t[41]!==d||t[42]!==f||t[43]!==p||t[44]!==g?(y=(0,$.jsx)(Xn,{variant:`ghost`,size:`icon`,className:d,onClick:f,onPointerDown:DM,"aria-label":p,title:g,children:v}),t[41]=d,t[42]=f,t[43]=p,t[44]=g,t[45]=y):y=t[45];let b;t[46]!==_||t[47]!==c?(b=c(_?`chat.toolPart.copiedOutput`:`chat.toolPart.copyOutput`),t[46]=_,t[47]=c,t[48]=b):b=t[48];let x;t[49]!==_||t[50]!==c?(x=c(_?`chat.toolPart.copiedOutput`:`chat.toolPart.copyOutput`),t[49]=_,t[50]=c,t[51]=x):x=t[51];let C=_?`check`:`file-copy`,T;t[52]===C?T=t[53]:(T=(0,$.jsx)(X,{name:C,className:`h-3.5 w-3.5`}),t[52]=C,t[53]=T);let E;t[54]!==w||t[55]!==b||t[56]!==x||t[57]!==T?(E=(0,$.jsx)(Xn,{variant:`ghost`,size:`icon`,className:`h-6 w-6 rounded-md bg-[var(--surface-elevated)]/80 text-muted-foreground hover:text-foreground`,onClick:w,onPointerDown:OM,"aria-label":b,title:x,children:T}),t[54]=w,t[55]=b,t[56]=x,t[57]=T,t[58]=E):E=t[58];let D;t[59]!==s||t[60]!==y||t[61]!==E?(D=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2 z-10 flex items-center gap-1`,children:[s,y,E]}),t[59]=s,t[60]=y,t[61]=E,t[62]=D):D=t[62];let O;t[63]!==m.data||t[64]!==h||t[65]!==u?(O=h===`formatted`?(0,$.jsx)(sf,{data:m.data,initiallyExpandedDepth:1,maxHeight:`400px`}):(0,$.jsx)(`div`,{className:`typography-code pr-12 text-muted-foreground/90`,children:(0,$.jsx)($d,{language:`json`,code:u,style:dM,codeStyle:fM.style,wrap:!0})}),t[63]=m.data,t[64]=h,t[65]=u,t[66]=O):O=t[66];let k;return t[67]!==D||t[68]!==O?(k=(0,$.jsxs)(`div`,{className:`tool-output-surface relative p-2 rounded-xl w-full min-w-0`,children:[D,O]}),t[67]=D,t[68]=O,t[69]=k):k=t[69],k}let T=r.tool===`bash`?`typography-code text-muted-foreground/90`:void 0,E;t[70]!==s||t[71]!==r.tool?(E={...dM,...s&&r.tool===`bash`?{lineHeight:KA}:{}},t[70]=s,t[71]=r.tool,t[72]=E):E=t[72];let D;t[73]!==f||t[74]!==u||t[75]!==E?(D=(0,$.jsx)($d,{language:f,code:u,style:E,codeStyle:fM.style,wrap:!0}),t[73]=f,t[74]=u,t[75]=E,t[76]=D):D=t[76];let O;return t[77]!==D||t[78]!==T?(O=(0,$.jsx)(`div`,{className:T,children:D}),t[77]=D,t[78]=T,t[79]=O):O=t[79],O};eM.displayName=`ToolScrollableTextOutput`;var tM=e=>{let t=e.state?.title;if(typeof t==`string`&&t.trim().length>0)return t;let n=e.state?.input;if(n&&typeof n==`object`){let e=n.filePath??n.file_path??n.path;if(typeof e==`string`&&e.trim().length>0)return e.trim();let t=n.url;if(typeof t==`string`&&t.trim().length>0)return t.trim()}return``},nM=new Set([`read`,`view`,`file_read`,`cat`,`write`,`create`,`file_write`,`edit`,`multiedit`,`apply_patch`]),rM=(e,t)=>{if(!nM.has(e.toLowerCase()))return!1;let n=t.trim();if(!n||n===`Patch`||/^\d+\s+files$/.test(n))return!1;if(n.includes(`/`)||n.includes(`\\`))return!0;let r=n.split(/[\\/]/).pop()||n;return r.startsWith(`.`)||r.includes(`.`)?!0:/^[A-Za-z0-9_-]+$/.test(r)},iM=e=>{let t=Ej(e.tool),n=e.state?.status??``,r=tM(e);return`${e.id??``}\u0001${t}\u0001${n}\u0001${r}`},aM=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(iM(e[n])!==iM(t[n]))return!1;return!0},oM=Z.memo(e=>{let t=(0,Q.c)(10),{entry:n,isMobile:r,animateTailText:i,showToolFileIcons:a}=e,{t:o}=Kn(),s;if(t[0]!==i||t[1]!==n||t[2]!==r||t[3]!==a||t[4]!==o){let e=Ej(n.tool),c=e.length>0?e:`tool`,l=tM(n),u=l.trim().length>0,d=n.state?.status,f=wd(c,o),p=r?`items-start`:`items-center`,m;t[6]===p?m=t[7]:(m=Y(`flex gap-1.5 min-w-0 w-full py-px`,p),t[6]=p,t[7]=m);let h,g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=Y(xj,`text-foreground/80 flex-shrink-0`),g={color:`var(--tools-title)`},t[8]=h,t[9]=g):(h=t[8],g=t[9]),s=(0,$.jsxs)(`div`,{className:m,children:[(0,$.jsx)(`span`,{className:`flex-shrink-0 scale-90 text-foreground/80`,children:FO(c)}),(0,$.jsx)(`span`,{className:h,style:g,title:f,children:f}),u?d!==`error`&&rM(c,l)?vM(l,i,!0,a,xj):d===`error`?(0,$.jsx)(`span`,{className:Y(xj,`flex-1 min-w-0 text-[var(--status-error)]`,r?`whitespace-normal break-words`:`truncate`),children:l}):(0,$.jsx)(PO,{variant:i?`generate-effect`:`static`,className:Y(xj,`flex-1 min-w-0 text-muted-foreground/70`,r?`whitespace-normal break-words`:`truncate`),style:{color:`var(--tools-description)`},title:l,children:l}):null]}),t[0]=i,t[1]=n,t[2]=r,t[3]=a,t[4]=o,t[5]=s}else s=t[5];return s},(e,t)=>e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&e.showToolFileIcons===t.showToolFileIcons&&iM(e.entry)===iM(t.entry));oM.displayName=`TaskSummaryEntryRow`;var sM=Z.memo(e=>{let t=(0,Q.c)(24),{entries:n,isExpanded:r,isMobile:i,animateTailText:a,showToolFileIcons:o}=e,s;t[0]!==n||t[1]!==r?(s=r?n:n.slice(-6),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c=s,l=Math.max(0,n.length-c.length),u=n.length-c.length,d=r?`max-h-[40vh]`:`max-h-56`,f;t[3]===l?f=t[4]:(f=l>0?(0,$.jsxs)(`div`,{className:Y(xj,`text-muted-foreground/70`),children:[`+`,l,` more…`]}):null,t[3]=l,t[4]=f);let p;if(t[5]!==a||t[6]!==r||t[7]!==i||t[8]!==o||t[9]!==c||t[10]!==u){let e;t[12]!==a||t[13]!==r||t[14]!==i||t[15]!==o||t[16]!==u?(e=(e,t)=>{let n=r?t:u+t,s=e.id??`${iM(e)}:${n}`;return(0,$.jsx)(oM,{entry:e,isMobile:i,animateTailText:a,showToolFileIcons:o},s)},t[12]=a,t[13]=r,t[14]=i,t[15]=o,t[16]=u,t[17]=e):e=t[17],p=c.map(e),t[5]=a,t[6]=r,t[7]=i,t[8]=o,t[9]=c,t[10]=u,t[11]=p}else p=t[11];let m;t[18]!==f||t[19]!==p?(m=(0,$.jsxs)(`div`,{className:Sj,children:[f,p]}),t[18]=f,t[19]=p,t[20]=m):m=t[20];let h;return t[21]!==d||t[22]!==m?(h=(0,$.jsx)(Zj,{maxHeightClass:d,disableHorizontal:!0,children:m}),t[21]=d,t[22]=m,t[23]=h):h=t[23],h},(e,t)=>e.isExpanded===t.isExpanded&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&e.showToolFileIcons===t.showToolFileIcons&&aM(e.entries,t.entries));sM.displayName=`TaskSummaryEntriesList`;var cM=e=>{let t=(0,Q.c)(44),{entries:n,isExpanded:r,isMobile:i,output:a,sessionId:o,onShowPopup:s,input:c,animateTailText:l,isActive:u}=e,d=l===void 0||l,f=u!==void 0&&u,{t:p}=Kn(),m=Ed(),h=ma(kM),g=q(AM),_=q(jM),v=Z.useContext(dl),y=Bb(),b=y.directory||m,x;t[0]===a?x=t[1]:(x=typeof a==`string`?xk(a):``,t[0]=a,t[1]=x);let S=x,C=S.length>0,[w,T]=Z.useState(!1),E,D,O,k;if(t[2]!==d||t[3]!==b||t[4]!==n||t[5]!==C||t[6]!==c||t[7]!==f||t[8]!==r||t[9]!==i||t[10]!==g||t[11]!==v?.runtime||t[12]!==o||t[13]!==y||t[14]!==h||t[15]!==_||t[16]!==p){k=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Cj(UO(c)??`subagent`),a=t=>{t.stopPropagation(),o&&b&&Hb(y,o,b,()=>{if(!Ia({sessionId:o,directory:b})){if(cl()||i||v?.runtime.isVSCode){h(o,b);return}g(b,{mode:`chat`,dedupeKey:`session:${o}`,label:e,readOnly:!0})}})};if(n.length===0&&!C&&!o){let e;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(e=Y(xj,`text-muted-foreground/70`),t[21]=e):e=t[21];let n=f?`Waiting for subagent activity...`:`No subagent session id on task metadata.`,r;t[22]===n?r=t[23]:(r=(0,$.jsx)(`div`,{className:`relative flex flex-col gap-1 pr-2 pb-1.5 pt-0.5 pl-[1.4375rem]`,children:(0,$.jsx)(`div`,{className:e,children:n})}),t[22]=n,t[23]=r),k=r;break bb0}t[24]===Symbol.for(`react.memo_cache_sentinel`)?(E=Y(`relative flex flex-col gap-1 pr-2 pb-1.5 pt-0.5 pl-[1.4375rem]`,`before:absolute before:left-[0.4375rem] before:w-px before:bg-border/80 before:content-[""]`,`before:top-0 before:bottom-0`),t[24]=E):E=t[24],t[25]!==d||t[26]!==n||t[27]!==r||t[28]!==i||t[29]!==_?(D=n.length>0?(0,$.jsx)(sM,{entries:n,isExpanded:r,isMobile:i,animateTailText:d,showToolFileIcons:_}):null,t[25]=d,t[26]=n,t[27]=r,t[28]=i,t[29]=_,t[30]=D):D=t[30],O=o&&y.capabilities.navigateNestedSession&&(0,$.jsxs)(`button`,{type:`button`,className:Y(`flex items-center gap-1.5 text-primary hover:text-primary/80 w-full`,xj),onPointerDown:MM,onClick:a,children:[(0,$.jsx)(X,{name:`external-link`,className:`h-3 w-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:Y(xj,`text-primary font-medium`),children:p(`chat.toolPart.openSubtask`,{type:e})})]})}t[2]=d,t[3]=b,t[4]=n,t[5]=C,t[6]=c,t[7]=f,t[8]=r,t[9]=i,t[10]=g,t[11]=v?.runtime,t[12]=o,t[13]=y,t[14]=h,t[15]=_,t[16]=p,t[17]=E,t[18]=D,t[19]=O,t[20]=k}else E=t[17],D=t[18],O=t[19],k=t[20];if(k!==Symbol.for(`react.early_return_sentinel`))return k;let A;t[31]!==n.length||t[32]!==C||t[33]!==w||t[34]!==s||t[35]!==o||t[36]!==p||t[37]!==S?(A=C?(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,(n.length>0||o)&&`pt-1`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(`flex items-center gap-1.5 text-foreground/80 hover:text-foreground w-full`,xj),onPointerDown:NM,onClick:e=>{e.stopPropagation(),T(PM)},children:[w?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3 w-3 flex-shrink-0`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:Y(xj,`text-foreground/80 font-medium`),children:p(`chat.toolPart.output`)})]}),w?(0,$.jsx)(Zj,{maxHeightClass:`max-h-[50vh]`,children:(0,$.jsx)(`div`,{className:`w-full min-w-0`,children:(0,$.jsx)(td,{content:S,variant:`tool`,onShowPopup:s})})}):null]}):null,t[31]=n.length,t[32]=C,t[33]=w,t[34]=s,t[35]=o,t[36]=p,t[37]=S,t[38]=A):A=t[38];let j;return t[39]!==E||t[40]!==D||t[41]!==O||t[42]!==A?(j=(0,$.jsxs)(`div`,{className:E,children:[D,O,A]}),t[39]=E,t[40]=D,t[41]=O,t[42]=A,t[43]=j):j=t[43],j},lM=`
|
|
6573
6573
|
[data-diff-header],
|
|
6574
6574
|
[data-diff] {
|
|
6575
6575
|
[data-separator] {
|
|
6576
6576
|
height: 24px !important;
|
|
6577
6577
|
}
|
|
6578
6578
|
}
|
|
6579
|
-
`,lM={hunkLineCount:50,lineHeight:24,diffHeaderHeight:44,hunkSeparatorHeight:24,spacing:0},uM={...pn.getCollapsedStyles(),padding:0,overflow:`visible`},dM={style:{background:`transparent`,backgroundColor:`transparent`}},fM={color:`var(--status-error)`},pM={color:`var(--tools-icon)`},mM={color:`var(--status-error)`},hM={color:`var(--tools-title)`},gM=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(`span`,{className:Y(`min-w-0 truncate typography-ui-label text-foreground`,t&&`flex-1`),style:{direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},title:e,children:e});let r=e.slice(0,n),i=e.slice(n+1),a=r.startsWith(`/`),o=a?r.slice(1):r;return(0,$.jsxs)(`span`,{className:Y(`min-w-0 flex items-baseline overflow-hidden typography-ui-label`,t&&`flex-1`),title:e,children:[a?(0,$.jsx)(`span`,{className:`flex-shrink-0 text-muted-foreground`,children:`/`}):null,(0,$.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,style:{direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:o}),(0,$.jsxs)(`span`,{className:`flex-shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`/`}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:i})]})]})},_M=(e,t=!0,n=!0,r=!0,i=yj)=>{let a=e.lastIndexOf(`/`),o=i===bj?`h-3 w-3 flex-shrink-0`:`h-3.5 w-3.5 flex-shrink-0`;if(a===-1)return(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex items-center gap-1 overflow-hidden`,n&&`flex-1`),title:e,children:[r?(0,$.jsx)(pg,{filePath:e,className:o}):null,(0,$.jsx)(PO,{variant:t?`generate-effect`:`static`,className:Y(`min-w-0 truncate whitespace-nowrap`,i,n&&`flex-1`),style:{color:`var(--tools-description)`},children:e})]});let s=e.slice(0,a),c=e.slice(a+1),l=s.startsWith(`/`),u=l?s.slice(1):s;return(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex items-center gap-1 overflow-hidden`,n&&`flex-1`),title:e,children:[r?(0,$.jsx)(pg,{filePath:e,className:o}):null,(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex max-w-full items-baseline overflow-hidden`,i,n&&`flex-1`),children:[l?(0,$.jsx)(`span`,{className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:`/`}):null,(0,$.jsx)(`span`,{className:`min-w-0 shrink truncate whitespace-nowrap`,style:{color:`var(--tools-description)`,direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:u}),(0,$.jsx)(`span`,{className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:`/`}),(0,$.jsx)(PO,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:c})]})]})},vM=e=>{let t=(0,Q.c)(3),{diff:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={backgroundColor:`var(--syntax-base-background)`,color:`var(--syntax-base-foreground)`},t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsx)(`pre`,{className:`m-0 overflow-auto whitespace-pre-wrap break-words rounded-lg p-2 typography-code`,style:r,children:n}),t[1]=n,t[2]=i),i},yM=class extends Z.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidUpdate(e){e.resetKey!==this.props.resetKey&&this.state.hasError&&this.setState({hasError:!1})}componentDidCatch(e){}render(){return this.state.hasError?this.props.fallback:this.props.children}},bM=Z.memo(e=>{let t=(0,Q.c)(13),{diff:n,pierreTheme:r,pierreThemeType:i,diffViewMode:a}=e,o=a===`side-by-side`?`split`:`unified`,s;t[0]!==r||t[1]!==i||t[2]!==o?(s={diffStyle:o,diffIndicators:`none`,hunkSeparators:`line-info-basic`,lineDiffType:`none`,disableFileHeader:!0,maxLineDiffLength:1e3,expansionLineCount:20,overflow:`wrap`,theme:r,themeType:i,unsafeCSS:cM},t[0]=r,t[1]=i,t[2]=o,t[3]=s):s=t[3];let c=s,l;t[4]===n?l=t[5]:(l=(0,$.jsx)(vM,{diff:n}),t[4]=n,t[5]=l);let u=l,d;t[6]!==n||t[7]!==c?(d=(0,$.jsx)(Mn,{patch:n,metrics:lM,options:c,className:`block w-full`}),t[6]=n,t[7]=c,t[8]=d):d=t[8];let f;return t[9]!==n||t[10]!==u||t[11]!==d?(f=(0,$.jsx)(`div`,{className:`typography-code px-1 pb-1 pt-0`,children:(0,$.jsx)(yM,{resetKey:n,fallback:u,children:d})}),t[9]=n,t[10]=u,t[11]=d,t[12]=f):f=t[12],f});bM.displayName=`DiffPreview`;var xM=Z.memo(({part:e,state:t,currentDirectory:n,isExpanded:r,isMobile:i,onShowPopup:a})=>{let{t:o}=Kn(),{pierreTheme:s,pierreThemeType:c}=Gj(),[l,u]=Z.useState(`unified`),d=t,f=d.metadata,p=d.input,m=d.output,h=typeof m==`string`&&m.length>0,g=typeof m==`string`?m:``,_=Vj(f?.filediff)?f.filediff:void 0,v=bA(f?.patch)??bA(f?.diff)??bA(_?.patch)??bA(_?.diff)??null,y=Z.useMemo(()=>kA(f,v??void 0,e=>zj(e,n)),[n,v,f]),b=e.tool===`apply_patch`||e.tool===`edit`||e.tool===`multiedit`,x=Z.useMemo(()=>Wj(e.tool,p,f,n),[n,p,f,e.tool]),S=Z.useMemo(()=>!p||typeof p!=`object`||Object.keys(p).length===0?``:`command`in p&&typeof p.command==`string`&&e.tool===`bash`?cf(p,e.tool):typeof p.content==`string`?p.content??``:cf(p,e.tool),[p,e.tool]),C=!b&&S.trim().length>0,w=e.tool===`write`||e.tool===`create`||e.tool===`file_write`,T=e.tool===`todowrite`||e.tool===`todoread`,E=Z.useMemo(()=>Array.isArray(p?.todos)?JSON.stringify(p.todos):g,[p?.todos,g]),D=Z.useMemo(()=>!w||!C?void 0:Fj(typeof p?.filePath==`string`?p.filePath:typeof p?.file_path==`string`?p.file_path:typeof p?.path==`string`?p.path:void 0,S),[C,p?.filePath,p?.file_path,p?.path,S,w]);Z.useEffect(()=>{u(`unified`)},[e.id]);let O=(e,t)=>(0,$.jsx)(Xj,{isMobile:i,maxHeightClass:t?.maxHeightClass,className:t?.className,disableHorizontal:t?.disableHorizontal,outerClassName:t?.outerClassName,children:e}),k=()=>{let n=()=>x?(0,$.jsxs)(`div`,{className:`tool-output-surface flex flex-col gap-2 rounded-xl border p-2`,style:{borderColor:`var(--status-error-border)`,backgroundColor:`var(--status-error-background)`},children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium`,style:{color:`var(--status-error)`},children:o(`chat.toolPart.lspErrors`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1 min-w-0`,children:gM(x.displayPath,!1)}),(0,$.jsx)(`div`,{className:`flex flex-col gap-1`,children:x.diagnostics.map((e,t)=>(0,$.jsx)(`div`,{className:`rounded-md border px-2 py-1`,style:{borderColor:`var(--status-error-border)`,backgroundColor:`var(--surface-elevated)`},children:(0,$.jsxs)(`div`,{className:`flex items-start gap-2 min-w-0`,children:[(0,$.jsxs)(`span`,{className:`typography-micro shrink-0`,style:{color:`var(--status-error)`},children:[`[`,e.line,`:`,e.character,`]`]}),(0,$.jsx)(`span`,{className:`typography-meta text-foreground whitespace-pre-wrap break-words`,children:e.message})]})},`${x.displayPath}:${e.line}:${e.character}:${t}`))}),x.remaining>0?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:o(`chat.toolPart.moreErrors`,{count:x.remaining})}):null]})]}):null;if(e.tool===`question`){if(t.status===`completed`&&h){let e=Kj(g);if(e&&e.length>0)return O((0,$.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:e.question}),(0,$.jsx)(`div`,{className:`typography-meta text-foreground whitespace-pre-wrap`,children:e.answer})]},t))}),{maxHeightClass:`max-h-[40vh]`})}if(t.status===`error`&&`error`in t)return(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-muted-foreground`,children:o(`chat.toolPart.error`)}),(0,$.jsx)(`div`,{className:`typography-meta p-2 rounded-xl border`,style:{backgroundColor:`var(--status-error-background)`,color:`var(--status-error)`,borderColor:`var(--status-error-border)`},children:tf(t.error)})]});let e=p;return e?.questions&&Array.isArray(e.questions)&&e.questions.length>0?O((0,$.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.questions.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[e.header?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:tf(e.header)}):null,(0,$.jsx)(`div`,{className:`typography-meta text-foreground`,children:tf(e.question)}),Array.isArray(e.options)&&e.options.length>0?(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-0.5`,children:e.options.map(e=>(0,$.jsx)(`span`,{className:`typography-micro px-1.5 py-0.5 rounded bg-muted/30 border border-border/30 text-muted-foreground`,children:tf(e.label)},tf(e.label)))}):null]},t))}),{maxHeightClass:`max-h-[40vh]`}):(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:o(`chat.toolPart.awaitingResponse`)})}return(e.tool===`task`||e.tool===`subagent`)&&h?O((0,$.jsx)(`div`,{className:`w-full min-w-0`,children:(0,$.jsx)(td,{content:tf(g),variant:`tool`,onShowPopup:a})})):(e.tool===`edit`||e.tool===`multiedit`||e.tool===`apply_patch`||e.tool===`write`)&&(y.length>0||x)?O((0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[y.map(e=>(0,$.jsx)(`div`,{className:`w-full min-w-0`,children:e.renderMode===`diff`?(0,$.jsx)(bM,{diff:e.patch,pierreTheme:s,pierreThemeType:c,diffViewMode:l}):(0,$.jsx)(vM,{diff:e.patch})},e.id)),n()]}),{className:`p-1`}):e.tool===`write`&&x?O((0,$.jsx)(`div`,{className:`flex flex-col gap-3`,children:n()}),{className:`p-1`}):w?null:h&&g.trim()?O((0,$.jsx)($j,{output:tf(g),part:e,metadata:f,input:p,isMobile:i}),{className:e.tool===`bash`?`p-1 rounded-none`:`p-1`,maxHeightClass:e.tool===`bash`?`max-h-[46vh]`:void 0}):O((0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground/70`,children:o(`chat.toolPart.noOutputProduced`)}),{maxHeightClass:`max-h-60`})};if(T){if(t.status===`error`&&`error`in t)return(0,$.jsxs)(`div`,{className:UA(i,`todo-error`),children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-muted-foreground/80`,children:o(`chat.toolPart.error`)}),(0,$.jsx)(`div`,{className:`typography-meta p-2 rounded-none border`,style:{backgroundColor:`var(--status-error-background)`,color:`var(--status-error)`,borderColor:`var(--status-error-border)`},children:t.error})]});let n=of(E,void 0,{listClassName:nf});return(0,$.jsx)(`div`,{className:UA(i,`todo`),children:O(n??(0,$.jsx)($j,{output:E,part:e,metadata:f,input:p,isMobile:i}),Kd)})}return(0,$.jsx)(`div`,{className:UA(i,`default`,e.tool===`bash`),children:e.tool===`question`?k():(0,$.jsxs)($.Fragment,{children:[C?(0,$.jsx)(`div`,{children:O(e.tool===`bash`?(0,$.jsx)(`pre`,{className:`tool-input-text whitespace-pre-wrap break-words typography-code text-muted-foreground/90 m-0 p-0`,style:i?{lineHeight:GA}:void 0,children:S}):w&&D?(0,$.jsx)(bM,{diff:D,pierreTheme:s,pierreThemeType:c,diffViewMode:l}):(0,$.jsx)(`blockquote`,{className:`tool-input-text m-0 whitespace-pre-wrap break-words typography-meta italic text-muted-foreground/70`,children:S}),{maxHeightClass:w&&D&&r?`max-h-[50vh]`:`max-h-60`,className:e.tool===`bash`?`tool-input-surface p-0 rounded-none`:`tool-input-surface`})}):null,t.status===`completed`&&`output`in t&&(0,$.jsx)(`div`,{children:k()}),t.status===`error`&&`error`in t&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-muted-foreground/80`,children:o(`chat.toolPart.error`)}),(0,$.jsx)(`div`,{className:`typography-meta p-2 rounded-xl border`,style:{backgroundColor:`var(--status-error-background)`,color:`var(--status-error)`,borderColor:`var(--status-error-border)`},children:tf(t.error)})]})]})})});xM.displayName=`ToolExpandedContent`;var SM=({part:e,messageId:t,isExpanded:n,onToggle:r,isMobile:i,onContentChange:a,onShowPopup:o,animateTailText:s=!0})=>{let c=e.state,l=q(e=>e.showToolFileIcons),u=q(e=>e.showSubagentTaskDetails),d=q(e=>e.openContextPanelTab),f=q(e=>e.openContextDiff),p=q(e=>e.openContextToolDiff),m=q(e=>e.navigateToDiff),{t:h}=Kn(),g=Ed(),_=ma(e=>e.setCurrentSession),v=Tl(),y=Bb(),b=y.directory||g||``,x=Tj(e.tool),S=KO(x||e.tool),C=qO(x||e.tool),w=JO(x||e.tool),T=x===`todowrite`||x===`todoread`,E=Oj(x),D=c?.status,O=mj(e),k=D===`error`||D===`failed`,[A,j]=Z.useState(!O),M=Z.useRef(e.id),N=Z.useRef(``);Z.useEffect(()=>{M.current!==e.id&&(M.current=e.id,N.current=``,j(!O))},[O,e.id]),Z.useEffect(()=>{O||j(!0)},[O]),Z.useEffect(()=>{if(!O||k||!b||!Ej.has(x))return;let t=`${e.id}:${D??`unknown`}`;N.current!==t&&(N.current=t,Da.requestGitRefresh({directory:b}))},[b,k,O,x,e.id,D]);let P=O||S,F=Z.useRef(a);F.current=a;let I=Z.useRef(null);Z.useLayoutEffect(()=>{if(S||E)return;let e=I.current;if(!e){P&&F.current?.(`structural`);return}e.style.height=n?`auto`:`0px`,e.style.overflow=n?`visible`:`hidden`,P&&F.current?.(`structural`)},[n,E,S,P]);let L=c,R=L.metadata,z=e.metadata,B=L.input,V=L.time,H=typeof V?.start==`number`&&Number.isFinite(V.start)?V.start:void 0,ee=Z.useMemo(()=>typeof L.output==`string`?L.output:void 0,[L.output]),U=Z.useMemo(()=>QO(ee),[ee]),te=Z.useMemo(()=>{if(!S)return[];let e=R,t=ZO(e?.summary??e?.entries??e?.tools??e?.calls);return t.length>0?t:U.summaryEntries},[S,R,U.summaryEntries]),ne=O&&te.length>0,W=Z.useMemo(()=>S?YO(R)||YO(L)||YO(B)||YO(z)||(U.sessionId?U.sessionId:$O(ee)):void 0,[B,S,R,U.sessionId,z,L,ee]),G=Z.useMemo(()=>!O||!w?!1:!!(Nk(e)||ek(R)===`running`||ek(L)===`running`||ek(z)===`running`||S&&(U.status===`running`||rk(ee))),[w,O,S,R,U.status,e,z,L,ee]),re=!!(S&&G),ie=!!(C&&G),[ae,oe]=Z.useState(!0),se=Gr(S?W??``:``),K=typeof e.sessionID==`string`?e.sessionID.trim():``,ce=!!(w&&G&&(S?!se:ae)&&K),le=fa(ce?K:``,b),ue=Z.useMemo(()=>ce?Mk(le):void 0,[le,ce]),de=S&&!O&&A,fe=de?W:void 0,pe=de&&!W?e.sessionID:void 0,me=fe??pe,he=to(pe??``,b),ge=Ma(me??``,b),_e=Oa(b,de),ve=Z.useMemo(()=>Rk({part:e,completions:ue,childSessionStatusType:se?.type}),[ue,se?.type,e]);Z.useEffect(()=>{C&&ve.kind===`terminal`&&oe(!1)},[ve.kind,C]);let ye=!!(S&&!k&&(se?.type===`busy`||se?.type===`retry`||re&&ve.kind===`background-running`)&&W),be=!!(C&&ie&&ae&&!k&&ve.kind===`background-running`&&Bk(e)?.workID),xe=Pk(e),[Se,Ce]=Z.useState(!1),we=J(async()=>{if(!xe||Se)return;let t=typeof e.sessionID==`string`?e.sessionID.trim():``;if(!t){mi.error(h(`chat.sessionBackground.moveFailed`));return}Ce(!0);try{let e=await zk(t,xt.getSdkClient());e.ok||mi.error(h(`chat.sessionBackground.moveFailed`),{description:e.error})}finally{Ce(!1)}}),Te=!u||ne?``:W??``,Ee=fa(Te,b);yo(Te,b);let De=Z.useMemo(()=>!S||!W||!Array.isArray(Ee)||Ee.length===0?[]:fk(Ee),[Ee,S,W]),Oe=O&&typeof V?.end==`number`&&Number.isFinite(V.end)?V.end:void 0,ke=!O&&A,Ae=Vk({isTaskTool:S,isFinalized:O,taskSessionId:W,childSessionStatus:se,parentSessionStatus:he,statusObservedAt:ge,taskStartedAt:H,statusSnapshotAt:_e}),je=ke&&!Ae||ye||be,Me=!!(S&&je&&!k);Z.useEffect(()=>{Ae&&j(!1)},[Ae]);let Ne=O,Pe=Z.useMemo(()=>De.length>0?De:te,[De,te]),Fe=Z.useMemo(()=>Pe.map(rM).join(`\0`),[Pe]),Ie=Z.useRef(null);Z.useEffect(()=>{if(!S){Ie.current=null;return}let e=Ie.current;Ie.current=Fe,e!==null&&e!==Fe&&Pe.length!==0&&F.current?.(`structural`)},[S,Pe.length,Fe]);let Le=Z.useMemo(()=>x===`edit`||x===`multiedit`||x===`apply_patch`?Mj(R):null,[R,x]),Re=Z.useMemo(()=>x===`write`?Nj(B):null,[B,x]),ze=x===`apply_patch`&&Array.isArray(R?.files)&&(R?.files).length>1,Be=x===e.tool?e:{...e,tool:x},Ve=qj(Be,c,b),He=Yj(Be,c,b),Ue=wd(x||e.tool,h),We=va(S?W:void 0,b),Ge=va(S?W:void 0),Ke=S?UO(B,R,z,We??Ge):void 0,qe=xk({isTaskTool:S,isFinalized:O,taskSessionId:W,taskAgentName:Ke,displayName:Ue,delegatingLabel:h(`chat.assistantStatus.delegatingTask`),formatName:Sj}),Je=S&&qe.isDelegating,Ye=qe.title,Xe=typeof e.sessionID==`string`?e.sessionID.trim():``,Ze=Z.useMemo(()=>{if(!S||!Xe)return null;let n=typeof W==`string`&&W.trim().length>0?W.trim():void 0,r=typeof e.id==`string`&&e.id.trim().length>0?e.id.trim():void 0,i=typeof e.messageID==`string`&&e.messageID.trim().length>0?e.messageID.trim():typeof t==`string`&&t.trim().length>0?t.trim():void 0;return{sessionID:Xe,...r?{partID:r}:{},...i?{messageID:i}:{},...b?{directory:b}:{},directoryPresent:!!b,childSessionPresent:!!n,...n?{childSessionID:n}:{},...D?{toolStatus:D}:{},finalized:O,backgroundRunning:ye,effectiveActive:je,suppressLoading:Ae,delegating:Je,childStatus:ci(se),parentStatus:ci(he),idleConfirmed:se?.type===`idle`,navigateCapability:y.capabilities.navigateNestedSession,surfaceKind:y.kind,...typeof H==`number`?{taskStartedAt:H}:{},...typeof ge==`number`?{statusObservedAt:ge}:{},...typeof _e==`number`?{statusSnapshotAt:_e}:{}}},[se,b,je,H,Je,O,S,t,Xe,he,e.id,e.messageID,y.capabilities.navigateNestedSession,y.kind,D,ge,_e,Ae,ye,W]),Qe=Ze?or(Ze):``,$e=Z.useRef(Ze);$e.current=Ze,Z.useEffect(()=>{let e=$e.current;!e||!Qe||mr(e)},[Qe]);let et=J((e,t)=>{let n=$e.current;n&&Si({...n,opened:e,clickSource:t})}),tt=Je?{"data-delegating":`true`}:void 0,nt=Z.useMemo(()=>{if(x===`bash`||x===`apply_patch`||x===`lsp`||Ve&&(x===`apply_patch`||x===`edit`||x===`multiedit`||x===`write`))return null;let e=L.title;if(typeof e==`string`&&e.trim().length>0)return e;let t=B?.description;return typeof t==`string`&&t.trim().length>0?t:null},[Ve,x,L,B]),rt=Z.useContext(dl),it=Z.useRef(!1),at=J(e=>{let t=e??W;return!t||!b?!1:(it.current=!1,Hb(y,t,b,()=>{if(!Ia({sessionId:t,directory:b})){if(i||rt?.runtime.isVSCode){_(t,b);return}d(b,{mode:`chat`,dedupeKey:`session:${t}`,label:Ye,readOnly:!0})}}))});Z.useEffect(()=>{!it.current||!W||et(at(W),`queued-effect`)},[W]);let ot=n=>{if(S){n.stopPropagation();let e=y.capabilities.navigateNestedSession,t=e?at():!1;et(t,`row`),e&&!t&&(it.current=!0);return}if(E&&!b)return;let a,o,s;if(x===`edit`||x===`multiedit`||x===`apply_patch`)a=Uj(x,B,R),o=Ij(x,R,typeof a==`string`?a:void 0),typeof a==`string`&&(s=Lj(x,R,a));else if([`write`,`create`,`file_write`].includes(x))a=B?.filePath||B?.file_path||B?.path||R?.filePath||R?.file_path||R?.path,o=1,typeof a==`string`&&typeof B?.content==`string`&&(s=Fj(a,B.content));else if(x===`lsp`){a=B?.filePath||B?.file_path||B?.path;let e=B?.line;o=typeof e==`number`&&Number.isFinite(e)?Math.trunc(e):void 0}if(typeof a==`string`){n.stopPropagation();let r=Kc(b,a)||(a.startsWith(`/`)?a:b.endsWith(`/`)?b+a:`${b}/${a}`);if(E){let e=zj(r,b),n=Xc(r,b),a=n?e:r,c=s?NA(x,R,s,a,e=>zj(e,b)):[],l=(kj(x)||!n)&&c.length===1&&c[0]?[{path:a,patch:c[0].patch}]:c.map(e=>({path:e.title,patch:e.patch}));if(rt?.runtime.isVSCode&&rt.editor&&s){let e=`${a} (changes)`;rt.editor.openDiff(``,r,e,{line:o,patch:s});return}if(l.length>0||n){v?l.length>0?v.openToolDiff({diffPath:a,patches:l,targetLine:o}):x===`apply_patch`?v.openTurnDiff(t,y.sessionId):v.openChanges({diffPath:e,staged:!1,targetLine:o}):i&&l.length===0?m(e,!1,kj(x)?`working`:`turn`,o):l.length>0?p(b,a,l,o,t,y.sessionId):f(b,e,!1,kj(x)?`working`:`turn`,o,t,y.sessionId);return}if(rt?.editor){rt.editor.openFile(r,o);return}bO(r,b).then(()=>{let e=q.getState(),t=$c(b,r);if(typeof o==`number`&&Number.isFinite(o)){e.openContextFileAtLine(t,r,Math.max(1,Math.trunc(o)),1);return}e.openContextFile(t,r)});return}if(x===`lsp`){if(rt?.editor){rt.editor.openFile(r,o);return}let e=()=>{let e=q.getState(),t=$c(b,r);if(typeof o==`number`&&Number.isFinite(o)){e.openContextFileAtLine(t,r,Math.max(1,Math.trunc(o)),1);return}e.openContextFile(t,r)};if(!Xc(r,b)){bO(r,b).then(e);return}e();return}if(rt?.editor){if(rt.runtime.isVSCode&&s&&(e.tool===`edit`||e.tool===`multiedit`||e.tool===`apply_patch`)){let e=`${zj(r,b)} (changes)`;rt.editor.openDiff(``,r,e,{line:o,patch:s});return}rt.editor.openFile(r,o);return}}if(x===`apply_patch`&&v){n.stopPropagation(),v.openTurnDiff(t,y.sessionId);return}if(x===`apply_patch`&&b&&!v&&!i&&!rt?.runtime.isVSCode){n.stopPropagation(),d(b,{mode:`diff`,diffScope:`turn`,diffTurnMessageId:t,diffSessionId:y.sessionId});return}E||r(e.id)},st=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ot(e))},ct=!S&&k?fM:pM,lt=!S&&k?mM:hM,ut=S&&u&&(Pe.length>0||je||Ne||!!W),dt=!S&&!E&&n;return!Ne&&!ke&&!S?null:(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:Y(`group/tool flex gap-1.5 cursor-pointer`,vy,S&&`hover:!bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)]`,ze?`flex-wrap items-start`:`items-center`),"data-mobile-press-feedback":`soft`,...tt,onClick:ot,onKeyDown:st,role:`button`,tabIndex:0,children:[(0,$.jsxs)(`div`,{className:Y(`flex gap-1.5`,ze?`w-full min-w-0 flex-wrap items-center gap-x-2 gap-y-0.5`:`items-center flex-shrink-0`),children:[(0,$.jsx)(`div`,{className:Y(`relative flex-shrink-0`,i?`size-4`:`size-3.5`),children:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,style:S&&qe.showAvatar?void 0:ct,children:S&&qe.showAvatar?(0,$.jsx)(rs,{name:Ke||`subagent`,size:14,label:Ye}):je?(0,$.jsx)(QA,{isMobile:i,className:`text-[var(--tools-icon)]`,label:h(`chat.assistantStatus.usingTool`,{tool:Ye})}):FO(x||e.tool)})}),ze?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:Y(vj,`flex-shrink-0`),style:lt,title:Ue,children:Ue}),wj(R,s,l)]}):(0,$.jsxs)($.Fragment,{children:[Me?(0,$.jsx)(`span`,{className:Y(vj,`shrink-0 whitespace-nowrap animate-text-shimmer`),style:{color:`var(--tools-title)`,"--oc-text-shimmer-base":`var(--tools-title)`},title:Ye,children:Ye}):(0,$.jsx)(`span`,{className:Y(vj,`shrink-0 whitespace-nowrap`),style:lt,title:Ye,children:Ye}),(x===`bash`||C)&&typeof H==`number`&&(!O||typeof Oe==`number`||be)?(0,$.jsx)(`span`,{className:Y(`flex-shrink-0 tabular-nums text-muted-foreground/80`,yj),children:(0,$.jsx)(jj,{start:H,end:typeof Oe==`number`&&!be?Oe:void 0,active:!!(je&&(!Oe||be))})}):null]})]}),!ze&&(0,$.jsx)(`div`,{className:Y(`flex items-center gap-1 flex-1 min-w-0`,yj),style:{color:`var(--tools-description)`},children:(0,$.jsxs)(`div`,{className:`flex items-center gap-1 flex-1 min-w-0`,children:[nt&&(0,$.jsx)(`span`,{className:Y(`min-w-0 truncate`,yj,Me&&`animate-text-shimmer`),style:Me?{"--oc-text-shimmer-base":`var(--surface-muted-foreground)`}:{color:`var(--tools-description)`,opacity:.8},title:nt,children:nt}),!nt&&x===`lsp`&&Ve?_M(Ve,s,!1,l):null,!nt&&x!==`lsp`&&He&&(Ve&&He===Ve?_M(Ve,s,!1,l):(0,$.jsx)(PO,{variant:s?`generate-effect`:`static`,className:Y(`min-w-0 truncate`,yj),style:{color:`var(--tools-description)`},title:He,children:He})),Le&&(0,$.jsxs)(`span`,{className:`flex-shrink-0 inline-flex items-center gap-0 typography-meta`,children:[(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,Le.added]}),(0,$.jsx)(`span`,{style:{color:`var(--tools-description)`},children:`/`}),(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,Le.removed]})]}),Re&&(0,$.jsx)(`span`,{className:`flex-shrink-0 inline-flex items-center gap-0 typography-meta`,children:(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,Re]})})]})}),xe?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,disabled:Se,className:`shrink-0 text-muted-foreground hover:text-foreground`,"data-component":`session-background-move`,"aria-label":h(Se?`chat.sessionBackground.moving`:`chat.sessionBackground.moveRunning`),"aria-busy":Se,onKeyDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),we()},children:(0,$.jsx)(X,{name:Se?`loader-4`:`picture-in-picture-2`,className:Y(`size-3.5`,Se&&`animate-spin`)})})}),(0,$.jsx)(Bs,{side:`top`,children:h(Se?`chat.sessionBackground.moving`:`chat.sessionBackground.moveRunning`)})]}):null,!E&&(!S||u)?(0,$.jsx)(`span`,{className:`ml-auto inline-flex size-3.5 flex-shrink-0 items-center justify-center text-muted-foreground opacity-70`,onClick:S?t=>{t.stopPropagation(),r(e.id)}:void 0,children:(0,$.jsx)(X,{name:n?`arrow-down-s`:`arrow-right-s`,className:`size-3.5`})}):null]}),ut?(0,$.jsx)(sM,{entries:Pe,isExpanded:n,isMobile:i,output:ee,sessionId:W,onShowPopup:o,input:B,animateTailText:s,isActive:je}):null,!S&&!E&&n?(0,$.jsx)(`div`,{ref:I,"aria-hidden":!1,style:{height:`auto`,overflow:`visible`,overflowAnchor:`none`},children:dt?(0,$.jsxs)(`div`,{className:T?`relative ml-0.5 pl-1.5`:HA,children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-0 top-px bottom-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),(0,$.jsx)(xM,{part:Be,state:c,currentDirectory:b,isExpanded:n,isMobile:i,onShowPopup:o})]}):null}):null]})},CM=class extends Z.Component{state={hasError:!1};static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidUpdate(e){e.resetKey!==this.props.resetKey&&this.state.hasError&&this.setState({hasError:!1,error:void 0})}componentDidCatch(e){}render(){if(!this.state.hasError)return this.props.children;let e=this.state.error?.message;return(0,$.jsxs)(`div`,{className:Y(`flex items-center gap-1.5 min-w-0`,my),children:[(0,$.jsx)(`div`,{className:`h-3.5 w-3.5 flex-shrink-0`,style:fM,children:FO(this.props.toolName)}),(0,$.jsx)(`span`,{className:Y(vj,`flex-shrink-0`),style:mM,children:this.props.displayName}),e?(0,$.jsxs)(`span`,{className:Y(yj,`min-w-0 truncate`),style:{color:`var(--tools-description)`},title:e,children:[this.props.errorLabel,`: `,e]}):null]})}},wM=Z.memo(e=>{let t=(0,Q.c)(30),{t:n}=Kn(),r=VA(),i,a;t[0]!==e.part.tool||t[1]!==n?(a=Tj(e.part.tool)||`tool`,i=wd(a,n),t[0]=e.part.tool,t[1]=n,t[2]=i,t[3]=a):(i=t[2],a=t[3]);let o=i,s;t[4]!==r||t[5]!==e.part.id?(s=()=>!r||Cj.get(e.part.id)===!0,t[4]=r,t[5]=e.part.id,t[6]=s):s=t[6];let[c,l]=Z.useState(s),u,d;if(t[7]!==r||t[8]!==c||t[9]!==e.part.id?(u=()=>{if(!(!r||c))return kd(()=>{Cj.set(e.part.id,!0,e.part.id.length*2+8),Z.startTransition(()=>{l(!0)})})},d=[r,c,e.part.id],t[7]=r,t[8]=c,t[9]=e.part.id,t[10]=u,t[11]=d):(u=t[10],d=t[11]),Z.useEffect(u,d),!c){let e,n,r;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=Y(`flex min-w-0 items-center gap-2`,my),n=(0,$.jsx)(`span`,{className:`h-3.5 w-3.5 shrink-0 rounded bg-muted/50`,"aria-hidden":`true`}),r=Y(vj,`shrink-0 text-muted-foreground`),t[12]=e,t[13]=n,t[14]=r):(e=t[12],n=t[13],r=t[14]);let i;t[15]===o?i=t[16]:(i=(0,$.jsx)(`span`,{className:r,children:o}),t[15]=o,t[16]=i);let a;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`span`,{className:`h-3 w-24 min-w-0 rounded bg-muted/40`,"aria-hidden":`true`}),t[17]=a):a=t[17];let s;return t[18]===i?s=t[19]:(s=(0,$.jsxs)(`div`,{className:e,children:[n,i,a]}),t[18]=i,t[19]=s),s}let f;t[20]===n?f=t[21]:(f=n(`chat.toolPart.error`),t[20]=n,t[21]=f);let p;t[22]===e?p=t[23]:(p=(0,$.jsx)(SM,{...e}),t[22]=e,t[23]=p);let m;return t[24]!==o||t[25]!==e.part||t[26]!==f||t[27]!==p||t[28]!==a?(m=(0,$.jsx)(CM,{displayName:o,errorLabel:f,resetKey:e.part,toolName:a,children:p}),t[24]=o,t[25]=e.part,t[26]=f,t[27]=p,t[28]=a,t[29]=m):m=t[29],m},(e,t)=>Yk([e.part],[t.part])&&e.messageId===t.messageId&&e.isExpanded===t.isExpanded&&e.isMobile===t.isMobile&&e.alwaysShowActions===t.alwaysShowActions&&e.onContentChange===t.onContentChange&&e.onShowPopup===t.onShowPopup&&e.animateTailText===t.animateTailText);function TM(e){return e.stopPropagation()}function EM(e){return e.stopPropagation()}function DM(e){return e.stopPropagation()}function OM(e){return e.setCurrentSession}function kM(e){return e.openContextPanelTab}function AM(e){return e.showToolFileIcons}function jM(e){return e.stopPropagation()}function MM(e){return e.stopPropagation()}function NM(e){return!e}var PM=(e,t,n)=>{let r=t-e;return Math.max(0,n-r)},FM=e=>{e.timer&&=(clearTimeout(e.timer),null)},IM=({text:e,isStreaming:t,throttleMs:n=Nd(rn()).textThrottleMs,identityKey:r})=>{let[i,a]=Z.useState(e),o=Z.useRef(e),s=Z.useRef(i),c=Z.useRef({timer:null,pendingText:e,lastEmitAt:0});return Z.useEffect(()=>{o.current=e},[e]),Z.useEffect(()=>{s.current=i},[i]),Z.useEffect(()=>{let e=c.current;FM(e),e.pendingText=o.current,e.lastEmitAt=0,a(o.current)},[r]),Z.useEffect(()=>{let r=c.current;r.pendingText=e;let i=s.current,o=t&&i.length>e.length?i:e;if(!t){FM(r),r.lastEmitAt=Date.now(),a(o);return}let l=Date.now(),u=PM(r.lastEmitAt,l,n);if(u<=0){FM(r),r.lastEmitAt=l,a(o);return}return FM(r),r.timer=setTimeout(()=>{r.timer=null,r.lastEmitAt=Date.now(),a(e=>t&&e.length>r.pendingText.length?e:r.pendingText)},u),()=>{FM(r)}},[t,e,n]),Z.useEffect(()=>{let e=c.current;return()=>{FM(e)}},[]),i},LM=e=>e.isStreaming?e.throttledTextContent:e.textContent,RM=e=>!e.isFinalized&&e.displayTextContent.trim().length===0?!1:e.displayTextContent.trim().length>0,zM=e=>{let t=(0,Q.c)(44),{result:n}=e,{t:r}=Kn(),[i,a]=Z.useState(!1),o=Z.useRef(null),s,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>()=>{o.current!==null&&window.clearTimeout(o.current)},c=[],t[0]=s,t[1]=c):(s=t[0],c=t[1]),Z.useEffect(s,c);let l;bb0:{if(n.kind===`commit`){let e;t[2]!==n.highlights||t[3]!==n.subject?(e=[n.subject,...n.highlights.map(BM)],t[2]=n.highlights,t[3]=n.subject,t[4]=e):e=t[4],l=e.join(`
|
|
6579
|
+
`,uM={hunkLineCount:50,lineHeight:24,diffHeaderHeight:44,hunkSeparatorHeight:24,spacing:0},dM={...pn.getCollapsedStyles(),padding:0,overflow:`visible`},fM={style:{background:`transparent`,backgroundColor:`transparent`}},pM={color:`var(--status-error)`},mM={color:`var(--tools-icon)`},hM={color:`var(--status-error)`},gM={color:`var(--tools-title)`},_M=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(`span`,{className:Y(`min-w-0 truncate typography-ui-label text-foreground`,t&&`flex-1`),style:{direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},title:e,children:e});let r=e.slice(0,n),i=e.slice(n+1),a=r.startsWith(`/`),o=a?r.slice(1):r;return(0,$.jsxs)(`span`,{className:Y(`min-w-0 flex items-baseline overflow-hidden typography-ui-label`,t&&`flex-1`),title:e,children:[a?(0,$.jsx)(`span`,{className:`flex-shrink-0 text-muted-foreground`,children:`/`}):null,(0,$.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,style:{direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:o}),(0,$.jsxs)(`span`,{className:`flex-shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`/`}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:i})]})]})},vM=(e,t=!0,n=!0,r=!0,i=bj)=>{let a=e.lastIndexOf(`/`),o=i===xj?`h-3 w-3 flex-shrink-0`:`h-3.5 w-3.5 flex-shrink-0`;if(a===-1)return(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex items-center gap-1 overflow-hidden`,n&&`flex-1`),title:e,children:[r?(0,$.jsx)(pg,{filePath:e,className:o}):null,(0,$.jsx)(PO,{variant:t?`generate-effect`:`static`,className:Y(`min-w-0 truncate whitespace-nowrap`,i,n&&`flex-1`),style:{color:`var(--tools-description)`},children:e})]});let s=e.slice(0,a),c=e.slice(a+1),l=s.startsWith(`/`),u=l?s.slice(1):s;return(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex items-center gap-1 overflow-hidden`,n&&`flex-1`),title:e,children:[r?(0,$.jsx)(pg,{filePath:e,className:o}):null,(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex max-w-full items-baseline overflow-hidden`,i,n&&`flex-1`),children:[l?(0,$.jsx)(`span`,{className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:`/`}):null,(0,$.jsx)(`span`,{className:`min-w-0 shrink truncate whitespace-nowrap`,style:{color:`var(--tools-description)`,direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:u}),(0,$.jsx)(`span`,{className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:`/`}),(0,$.jsx)(PO,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:c})]})]})},yM=e=>{let t=(0,Q.c)(3),{diff:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={backgroundColor:`var(--syntax-base-background)`,color:`var(--syntax-base-foreground)`},t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsx)(`pre`,{className:`m-0 overflow-auto whitespace-pre-wrap break-words rounded-lg p-2 typography-code`,style:r,children:n}),t[1]=n,t[2]=i),i},bM=class extends Z.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidUpdate(e){e.resetKey!==this.props.resetKey&&this.state.hasError&&this.setState({hasError:!1})}componentDidCatch(e){}render(){return this.state.hasError?this.props.fallback:this.props.children}},xM=Z.memo(e=>{let t=(0,Q.c)(13),{diff:n,pierreTheme:r,pierreThemeType:i,diffViewMode:a}=e,o=a===`side-by-side`?`split`:`unified`,s;t[0]!==r||t[1]!==i||t[2]!==o?(s={diffStyle:o,diffIndicators:`none`,hunkSeparators:`line-info-basic`,lineDiffType:`none`,disableFileHeader:!0,maxLineDiffLength:1e3,expansionLineCount:20,overflow:`wrap`,theme:r,themeType:i,unsafeCSS:lM},t[0]=r,t[1]=i,t[2]=o,t[3]=s):s=t[3];let c=s,l;t[4]===n?l=t[5]:(l=(0,$.jsx)(yM,{diff:n}),t[4]=n,t[5]=l);let u=l,d;t[6]!==n||t[7]!==c?(d=(0,$.jsx)(Mn,{patch:n,metrics:uM,options:c,className:`block w-full`}),t[6]=n,t[7]=c,t[8]=d):d=t[8];let f;return t[9]!==n||t[10]!==u||t[11]!==d?(f=(0,$.jsx)(`div`,{className:`typography-code px-1 pb-1 pt-0`,children:(0,$.jsx)(bM,{resetKey:n,fallback:u,children:d})}),t[9]=n,t[10]=u,t[11]=d,t[12]=f):f=t[12],f});xM.displayName=`DiffPreview`;var SM=Z.memo(({part:e,state:t,currentDirectory:n,isExpanded:r,isMobile:i,onShowPopup:a})=>{let{t:o}=Kn(),{pierreTheme:s,pierreThemeType:c}=Kj(),[l,u]=Z.useState(`unified`),d=t,f=d.metadata,p=d.input,m=d.output,h=typeof m==`string`&&m.length>0,g=typeof m==`string`?m:``,_=Hj(f?.filediff)?f.filediff:void 0,v=xA(f?.patch)??xA(f?.diff)??xA(_?.patch)??xA(_?.diff)??null,y=Z.useMemo(()=>AA(f,v??void 0,e=>Bj(e,n)),[n,v,f]),b=e.tool===`apply_patch`||e.tool===`edit`||e.tool===`multiedit`,x=Z.useMemo(()=>Gj(e.tool,p,f,n),[n,p,f,e.tool]),S=Z.useMemo(()=>!p||typeof p!=`object`||Object.keys(p).length===0?``:`command`in p&&typeof p.command==`string`&&e.tool===`bash`?cf(p,e.tool):typeof p.content==`string`?p.content??``:cf(p,e.tool),[p,e.tool]),C=!b&&S.trim().length>0,w=e.tool===`write`||e.tool===`create`||e.tool===`file_write`,T=e.tool===`todowrite`||e.tool===`todoread`,E=Z.useMemo(()=>Array.isArray(p?.todos)?JSON.stringify(p.todos):g,[p?.todos,g]),D=Z.useMemo(()=>!w||!C?void 0:Ij(typeof p?.filePath==`string`?p.filePath:typeof p?.file_path==`string`?p.file_path:typeof p?.path==`string`?p.path:void 0,S),[C,p?.filePath,p?.file_path,p?.path,S,w]);Z.useEffect(()=>{u(`unified`)},[e.id]);let O=(e,t)=>(0,$.jsx)(Zj,{isMobile:i,maxHeightClass:t?.maxHeightClass,className:t?.className,disableHorizontal:t?.disableHorizontal,outerClassName:t?.outerClassName,children:e}),k=()=>{let n=()=>x?(0,$.jsxs)(`div`,{className:`tool-output-surface flex flex-col gap-2 rounded-xl border p-2`,style:{borderColor:`var(--status-error-border)`,backgroundColor:`var(--status-error-background)`},children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium`,style:{color:`var(--status-error)`},children:o(`chat.toolPart.lspErrors`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1 min-w-0`,children:_M(x.displayPath,!1)}),(0,$.jsx)(`div`,{className:`flex flex-col gap-1`,children:x.diagnostics.map((e,t)=>(0,$.jsx)(`div`,{className:`rounded-md border px-2 py-1`,style:{borderColor:`var(--status-error-border)`,backgroundColor:`var(--surface-elevated)`},children:(0,$.jsxs)(`div`,{className:`flex items-start gap-2 min-w-0`,children:[(0,$.jsxs)(`span`,{className:`typography-micro shrink-0`,style:{color:`var(--status-error)`},children:[`[`,e.line,`:`,e.character,`]`]}),(0,$.jsx)(`span`,{className:`typography-meta text-foreground whitespace-pre-wrap break-words`,children:e.message})]})},`${x.displayPath}:${e.line}:${e.character}:${t}`))}),x.remaining>0?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:o(`chat.toolPart.moreErrors`,{count:x.remaining})}):null]})]}):null;if(e.tool===`question`){if(t.status===`completed`&&h){let e=qj(g);if(e&&e.length>0)return O((0,$.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:e.question}),(0,$.jsx)(`div`,{className:`typography-meta text-foreground whitespace-pre-wrap`,children:e.answer})]},t))}),{maxHeightClass:`max-h-[40vh]`})}if(t.status===`error`&&`error`in t)return(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-muted-foreground`,children:o(`chat.toolPart.error`)}),(0,$.jsx)(`div`,{className:`typography-meta p-2 rounded-xl border`,style:{backgroundColor:`var(--status-error-background)`,color:`var(--status-error)`,borderColor:`var(--status-error-border)`},children:tf(t.error)})]});let e=p;return e?.questions&&Array.isArray(e.questions)&&e.questions.length>0?O((0,$.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.questions.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[e.header?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:tf(e.header)}):null,(0,$.jsx)(`div`,{className:`typography-meta text-foreground`,children:tf(e.question)}),Array.isArray(e.options)&&e.options.length>0?(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-0.5`,children:e.options.map(e=>(0,$.jsx)(`span`,{className:`typography-micro px-1.5 py-0.5 rounded bg-muted/30 border border-border/30 text-muted-foreground`,children:tf(e.label)},tf(e.label)))}):null]},t))}),{maxHeightClass:`max-h-[40vh]`}):(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:o(`chat.toolPart.awaitingResponse`)})}return(e.tool===`task`||e.tool===`subagent`)&&h?O((0,$.jsx)(`div`,{className:`w-full min-w-0`,children:(0,$.jsx)(td,{content:tf(g),variant:`tool`,onShowPopup:a})})):(e.tool===`edit`||e.tool===`multiedit`||e.tool===`apply_patch`||e.tool===`write`)&&(y.length>0||x)?O((0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[y.map(e=>(0,$.jsx)(`div`,{className:`w-full min-w-0`,children:e.renderMode===`diff`?(0,$.jsx)(xM,{diff:e.patch,pierreTheme:s,pierreThemeType:c,diffViewMode:l}):(0,$.jsx)(yM,{diff:e.patch})},e.id)),n()]}),{className:`p-1`}):e.tool===`write`&&x?O((0,$.jsx)(`div`,{className:`flex flex-col gap-3`,children:n()}),{className:`p-1`}):w?null:h&&g.trim()?O((0,$.jsx)(eM,{output:tf(g),part:e,metadata:f,input:p,isMobile:i}),{className:e.tool===`bash`?`p-1 rounded-none`:`p-1`,maxHeightClass:e.tool===`bash`?`max-h-[46vh]`:void 0}):O((0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground/70`,children:o(`chat.toolPart.noOutputProduced`)}),{maxHeightClass:`max-h-60`})};if(T){if(t.status===`error`&&`error`in t)return(0,$.jsxs)(`div`,{className:WA(i,`todo-error`),children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-muted-foreground/80`,children:o(`chat.toolPart.error`)}),(0,$.jsx)(`div`,{className:`typography-meta p-2 rounded-none border`,style:{backgroundColor:`var(--status-error-background)`,color:`var(--status-error)`,borderColor:`var(--status-error-border)`},children:t.error})]});let n=of(E,void 0,{listClassName:nf});return(0,$.jsx)(`div`,{className:WA(i,`todo`),children:O(n??(0,$.jsx)(eM,{output:E,part:e,metadata:f,input:p,isMobile:i}),Kd)})}return(0,$.jsx)(`div`,{className:WA(i,`default`,e.tool===`bash`),children:e.tool===`question`?k():(0,$.jsxs)($.Fragment,{children:[C?(0,$.jsx)(`div`,{children:O(e.tool===`bash`?(0,$.jsx)(`pre`,{className:`tool-input-text whitespace-pre-wrap break-words typography-code text-muted-foreground/90 m-0 p-0`,style:i?{lineHeight:KA}:void 0,children:S}):w&&D?(0,$.jsx)(xM,{diff:D,pierreTheme:s,pierreThemeType:c,diffViewMode:l}):(0,$.jsx)(`blockquote`,{className:`tool-input-text m-0 whitespace-pre-wrap break-words typography-meta italic text-muted-foreground/70`,children:S}),{maxHeightClass:w&&D&&r?`max-h-[50vh]`:`max-h-60`,className:e.tool===`bash`?`tool-input-surface p-0 rounded-none`:`tool-input-surface`})}):null,t.status===`completed`&&`output`in t&&(0,$.jsx)(`div`,{children:k()}),t.status===`error`&&`error`in t&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-muted-foreground/80`,children:o(`chat.toolPart.error`)}),(0,$.jsx)(`div`,{className:`typography-meta p-2 rounded-xl border`,style:{backgroundColor:`var(--status-error-background)`,color:`var(--status-error)`,borderColor:`var(--status-error-border)`},children:tf(t.error)})]})]})})});SM.displayName=`ToolExpandedContent`;var CM=({part:e,messageId:t,isExpanded:n,onToggle:r,isMobile:i,onContentChange:a,onShowPopup:o,animateTailText:s=!0})=>{let c=e.state,l=q(e=>e.showToolFileIcons),u=q(e=>e.showSubagentTaskDetails),d=q(e=>e.openContextPanelTab),f=q(e=>e.openContextDiff),p=q(e=>e.openContextToolDiff),m=q(e=>e.navigateToDiff),{t:h}=Kn(),g=Ed(),_=ma(e=>e.setCurrentSession),v=Tl(),y=Bb(),b=y.directory||g||``,x=Ej(e.tool),S=KO(x||e.tool),C=qO(x||e.tool),w=JO(x||e.tool),T=x===`todowrite`||x===`todoread`,E=kj(x),D=c?.status,O=hj(e),k=D===`error`||D===`failed`,[A,j]=Z.useState(!O),M=Z.useRef(e.id),N=Z.useRef(``);Z.useEffect(()=>{M.current!==e.id&&(M.current=e.id,N.current=``,j(!O))},[O,e.id]),Z.useEffect(()=>{O||j(!0)},[O]),Z.useEffect(()=>{if(!O||k||!b||!Dj.has(x))return;let t=`${e.id}:${D??`unknown`}`;N.current!==t&&(N.current=t,Da.requestGitRefresh({directory:b}))},[b,k,O,x,e.id,D]);let P=O||S,F=Z.useRef(a);F.current=a;let I=Z.useRef(null);Z.useLayoutEffect(()=>{if(S||E)return;let e=I.current;if(!e){P&&F.current?.(`structural`);return}e.style.height=n?`auto`:`0px`,e.style.overflow=n?`visible`:`hidden`,P&&F.current?.(`structural`)},[n,E,S,P]);let L=c,R=L.metadata,z=e.metadata,B=L.input,V=L.time,H=typeof V?.start==`number`&&Number.isFinite(V.start)?V.start:void 0,ee=Z.useMemo(()=>typeof L.output==`string`?L.output:void 0,[L.output]),U=Z.useMemo(()=>QO(ee),[ee]),te=Z.useMemo(()=>{if(!S)return[];let e=R,t=ZO(e?.summary??e?.entries??e?.tools??e?.calls);return t.length>0?t:U.summaryEntries},[S,R,U.summaryEntries]),ne=O&&te.length>0,W=Z.useMemo(()=>S?YO(R)||YO(L)||YO(B)||YO(z)||(U.sessionId?U.sessionId:$O(ee)):void 0,[B,S,R,U.sessionId,z,L,ee]),G=Z.useMemo(()=>!O||!w?!1:!!(Pk(e)||tk(R)===`running`||tk(L)===`running`||tk(z)===`running`||S&&(U.status===`running`||ik(ee))),[w,O,S,R,U.status,e,z,L,ee]),re=!!(S&&G),ie=!!(C&&G),[ae,oe]=Z.useState(!0),se=Gr(S?W??``:``),K=typeof e.sessionID==`string`?e.sessionID.trim():``,ce=!!(w&&G&&(S?!se:ae)&&K),le=fa(ce?K:``,b),ue=Z.useMemo(()=>ce?Nk(le):void 0,[le,ce]),de=S&&!O&&A,fe=de?W:void 0,pe=de&&!W?e.sessionID:void 0,me=fe??pe,he=to(pe??``,b),ge=Ma(me??``,b),_e=Oa(b,de),ve=Z.useMemo(()=>zk({part:e,completions:ue,childSessionStatusType:se?.type}),[ue,se?.type,e]);Z.useEffect(()=>{C&&ve.kind===`terminal`&&oe(!1)},[ve.kind,C]);let ye=!!(S&&!k&&(se?.type===`busy`||se?.type===`retry`||re&&ve.kind===`background-running`)&&W),be=!!(C&&ie&&ae&&!k&&ve.kind===`background-running`&&Vk(e)?.workID),xe=Fk(e),[Se,Ce]=Z.useState(!1),we=J(async()=>{if(!xe||Se)return;let t=typeof e.sessionID==`string`?e.sessionID.trim():``;if(!t){mi.error(h(`chat.sessionBackground.moveFailed`));return}Ce(!0);try{let e=await Bk(t,xt.getSdkClient());e.ok||mi.error(h(`chat.sessionBackground.moveFailed`),{description:e.error})}finally{Ce(!1)}}),Te=!u||ne?``:W??``,Ee=fa(Te,b);yo(Te,b);let De=Z.useMemo(()=>!S||!W||!Array.isArray(Ee)||Ee.length===0?[]:pk(Ee),[Ee,S,W]),Oe=O&&typeof V?.end==`number`&&Number.isFinite(V.end)?V.end:void 0,ke=!O&&A,Ae=Hk({isTaskTool:S,isFinalized:O,taskSessionId:W,childSessionStatus:se,parentSessionStatus:he,statusObservedAt:ge,taskStartedAt:H,statusSnapshotAt:_e}),je=ke&&!Ae||ye||be,Me=!!(S&&je&&!k);Z.useEffect(()=>{Ae&&j(!1)},[Ae]);let Ne=O,Pe=Z.useMemo(()=>De.length>0?De:te,[De,te]),Fe=Z.useMemo(()=>Pe.map(iM).join(`\0`),[Pe]),Ie=Z.useRef(null);Z.useEffect(()=>{if(!S){Ie.current=null;return}let e=Ie.current;Ie.current=Fe,e!==null&&e!==Fe&&Pe.length!==0&&F.current?.(`structural`)},[S,Pe.length,Fe]);let Le=Z.useMemo(()=>x===`edit`||x===`multiedit`||x===`apply_patch`?Nj(R):null,[R,x]),Re=Z.useMemo(()=>x===`write`?Pj(B):null,[B,x]),ze=x===`apply_patch`&&Array.isArray(R?.files)&&(R?.files).length>1,Be=x===e.tool?e:{...e,tool:x},Ve=Jj(Be,c,b),He=Xj(Be,c,b),Ue=wd(x||e.tool,h),We=va(S?W:void 0,b),Ge=va(S?W:void 0),Ke=Sk({isTaskTool:S,isFinalized:O,taskSessionId:W,taskAgentName:S?UO(B,R,z,We??Ge):void 0,displayName:Ue,delegatingLabel:h(`chat.assistantStatus.delegatingTask`),formatName:Cj}),qe=S&&Ke.isDelegating,Je=Ke.title,Ye=typeof e.sessionID==`string`?e.sessionID.trim():``,Xe=Z.useMemo(()=>{if(!S||!Ye)return null;let n=typeof W==`string`&&W.trim().length>0?W.trim():void 0,r=typeof e.id==`string`&&e.id.trim().length>0?e.id.trim():void 0,i=typeof e.messageID==`string`&&e.messageID.trim().length>0?e.messageID.trim():typeof t==`string`&&t.trim().length>0?t.trim():void 0;return{sessionID:Ye,...r?{partID:r}:{},...i?{messageID:i}:{},...b?{directory:b}:{},directoryPresent:!!b,childSessionPresent:!!n,...n?{childSessionID:n}:{},...D?{toolStatus:D}:{},finalized:O,backgroundRunning:ye,effectiveActive:je,suppressLoading:Ae,delegating:qe,childStatus:ci(se),parentStatus:ci(he),idleConfirmed:se?.type===`idle`,navigateCapability:y.capabilities.navigateNestedSession,surfaceKind:y.kind,...typeof H==`number`?{taskStartedAt:H}:{},...typeof ge==`number`?{statusObservedAt:ge}:{},...typeof _e==`number`?{statusSnapshotAt:_e}:{}}},[se,b,je,H,qe,O,S,t,Ye,he,e.id,e.messageID,y.capabilities.navigateNestedSession,y.kind,D,ge,_e,Ae,ye,W]),Ze=Xe?or(Xe):``,Qe=Z.useRef(Xe);Qe.current=Xe,Z.useEffect(()=>{let e=Qe.current;!e||!Ze||mr(e)},[Ze]);let $e=J((e,t)=>{let n=Qe.current;n&&Si({...n,opened:e,clickSource:t})}),et=qe?{"data-delegating":`true`}:void 0,tt=Z.useMemo(()=>{if(x===`bash`||x===`apply_patch`||x===`lsp`||Ve&&(x===`apply_patch`||x===`edit`||x===`multiedit`||x===`write`))return null;let e=L.title;if(typeof e==`string`&&e.trim().length>0)return e;let t=B?.description;return typeof t==`string`&&t.trim().length>0?t:null},[Ve,x,L,B]),nt=Z.useContext(dl),rt=Z.useRef(!1),it=J(e=>{let t=e??W;return!t||!b?!1:(rt.current=!1,Hb(y,t,b,()=>{if(!Ia({sessionId:t,directory:b})){if(i||nt?.runtime.isVSCode){_(t,b);return}d(b,{mode:`chat`,dedupeKey:`session:${t}`,label:Je,readOnly:!0})}}))});Z.useEffect(()=>{!rt.current||!W||$e(it(W),`queued-effect`)},[W]);let at=n=>{if(S){n.stopPropagation();let e=y.capabilities.navigateNestedSession,t=e?it():!1;$e(t,`row`),e&&!t&&(rt.current=!0);return}if(E&&!b)return;let a,o,s;if(x===`edit`||x===`multiedit`||x===`apply_patch`)a=Wj(x,B,R),o=Lj(x,R,typeof a==`string`?a:void 0),typeof a==`string`&&(s=Rj(x,R,a));else if([`write`,`create`,`file_write`].includes(x))a=B?.filePath||B?.file_path||B?.path||R?.filePath||R?.file_path||R?.path,o=1,typeof a==`string`&&typeof B?.content==`string`&&(s=Ij(a,B.content));else if(x===`lsp`){a=B?.filePath||B?.file_path||B?.path;let e=B?.line;o=typeof e==`number`&&Number.isFinite(e)?Math.trunc(e):void 0}if(typeof a==`string`){n.stopPropagation();let r=Kc(b,a)||(a.startsWith(`/`)?a:b.endsWith(`/`)?b+a:`${b}/${a}`);if(E){let e=Bj(r,b),n=Xc(r,b),a=n?e:r,c=s?PA(x,R,s,a,e=>Bj(e,b)):[],l=(Aj(x)||!n)&&c.length===1&&c[0]?[{path:a,patch:c[0].patch}]:c.map(e=>({path:e.title,patch:e.patch}));if(nt?.runtime.isVSCode&&nt.editor&&s){let e=`${a} (changes)`;nt.editor.openDiff(``,r,e,{line:o,patch:s});return}if(l.length>0||n){v?l.length>0?v.openToolDiff({diffPath:a,patches:l,targetLine:o}):x===`apply_patch`?v.openTurnDiff(t,y.sessionId):v.openChanges({diffPath:e,staged:!1,targetLine:o}):i&&l.length===0?m(e,!1,Aj(x)?`working`:`turn`,o):l.length>0?p(b,a,l,o,t,y.sessionId):f(b,e,!1,Aj(x)?`working`:`turn`,o,t,y.sessionId);return}if(nt?.editor){nt.editor.openFile(r,o);return}bO(r,b).then(()=>{let e=q.getState(),t=$c(b,r);if(typeof o==`number`&&Number.isFinite(o)){e.openContextFileAtLine(t,r,Math.max(1,Math.trunc(o)),1);return}e.openContextFile(t,r)});return}if(x===`lsp`){if(nt?.editor){nt.editor.openFile(r,o);return}let e=()=>{let e=q.getState(),t=$c(b,r);if(typeof o==`number`&&Number.isFinite(o)){e.openContextFileAtLine(t,r,Math.max(1,Math.trunc(o)),1);return}e.openContextFile(t,r)};if(!Xc(r,b)){bO(r,b).then(e);return}e();return}if(nt?.editor){if(nt.runtime.isVSCode&&s&&(e.tool===`edit`||e.tool===`multiedit`||e.tool===`apply_patch`)){let e=`${Bj(r,b)} (changes)`;nt.editor.openDiff(``,r,e,{line:o,patch:s});return}nt.editor.openFile(r,o);return}}if(x===`apply_patch`&&v){n.stopPropagation(),v.openTurnDiff(t,y.sessionId);return}if(x===`apply_patch`&&b&&!v&&!i&&!nt?.runtime.isVSCode){n.stopPropagation(),d(b,{mode:`diff`,diffScope:`turn`,diffTurnMessageId:t,diffSessionId:y.sessionId});return}E||r(e.id)},ot=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),at(e))},st=!S&&k?pM:mM,ct=!S&&k?hM:gM,lt=S&&u&&(Pe.length>0||je||Ne||!!W),ut=!S&&!E&&n;return!Ne&&!ke&&!S?null:(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:Y(`group/tool flex gap-1.5 cursor-pointer`,vy,S&&`hover:!bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)]`,ze?`flex-wrap items-start`:`items-center`),"data-mobile-press-feedback":`soft`,...et,onClick:at,onKeyDown:ot,role:`button`,tabIndex:0,children:[(0,$.jsxs)(`div`,{className:Y(`flex gap-1.5`,ze?`w-full min-w-0 flex-wrap items-center gap-x-2 gap-y-0.5`:`items-center flex-shrink-0`),children:[(0,$.jsx)(`div`,{className:Y(`relative flex-shrink-0`,i?`size-4`:`size-3.5`),children:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,style:S&&Ke.showAvatar?void 0:st,children:S&&Ke.showAvatar?(0,$.jsx)(rs,{name:W||e.id,size:14,label:Je}):je?(0,$.jsx)($A,{isMobile:i,className:`text-[var(--tools-icon)]`,label:h(`chat.assistantStatus.usingTool`,{tool:Je})}):FO(x||e.tool)})}),ze?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:Y(yj,`flex-shrink-0`),style:ct,title:Ue,children:Ue}),Tj(R,s,l)]}):(0,$.jsxs)($.Fragment,{children:[Me?(0,$.jsx)(`span`,{className:Y(yj,`shrink-0 whitespace-nowrap animate-text-shimmer`),style:{color:`var(--tools-title)`,"--oc-text-shimmer-base":`var(--tools-title)`},title:Je,children:Je}):(0,$.jsx)(`span`,{className:Y(yj,`shrink-0 whitespace-nowrap`),style:ct,title:Je,children:Je}),(x===`bash`||C)&&typeof H==`number`&&(!O||typeof Oe==`number`||be)?(0,$.jsx)(`span`,{className:Y(`flex-shrink-0 tabular-nums text-muted-foreground/80`,bj),children:(0,$.jsx)(Mj,{start:H,end:typeof Oe==`number`&&!be?Oe:void 0,active:!!(je&&(!Oe||be))})}):null]})]}),!ze&&(0,$.jsx)(`div`,{className:Y(`flex items-center gap-1 flex-1 min-w-0`,bj),style:{color:`var(--tools-description)`},children:(0,$.jsxs)(`div`,{className:`flex items-center gap-1 flex-1 min-w-0`,children:[tt&&(0,$.jsx)(`span`,{className:Y(`min-w-0 truncate`,bj,Me&&`animate-text-shimmer`),style:Me?{"--oc-text-shimmer-base":`var(--surface-muted-foreground)`}:{color:`var(--tools-description)`,opacity:.8},title:tt,children:tt}),!tt&&x===`lsp`&&Ve?vM(Ve,s,!1,l):null,!tt&&x!==`lsp`&&He&&(Ve&&He===Ve?vM(Ve,s,!1,l):(0,$.jsx)(PO,{variant:s?`generate-effect`:`static`,className:Y(`min-w-0 truncate`,bj),style:{color:`var(--tools-description)`},title:He,children:He})),Le&&(0,$.jsxs)(`span`,{className:`flex-shrink-0 inline-flex items-center gap-0 typography-meta`,children:[(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,Le.added]}),(0,$.jsx)(`span`,{style:{color:`var(--tools-description)`},children:`/`}),(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,Le.removed]})]}),Re&&(0,$.jsx)(`span`,{className:`flex-shrink-0 inline-flex items-center gap-0 typography-meta`,children:(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,Re]})})]})}),xe?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,disabled:Se,className:`shrink-0 text-muted-foreground hover:text-foreground`,"data-component":`session-background-move`,"aria-label":h(Se?`chat.sessionBackground.moving`:`chat.sessionBackground.moveRunning`),"aria-busy":Se,onKeyDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),we()},children:(0,$.jsx)(X,{name:Se?`loader-4`:`picture-in-picture-2`,className:Y(`size-3.5`,Se&&`animate-spin`)})})}),(0,$.jsx)(Bs,{side:`top`,children:h(Se?`chat.sessionBackground.moving`:`chat.sessionBackground.moveRunning`)})]}):null,!E&&(!S||u)?(0,$.jsx)(`span`,{className:`ml-auto inline-flex size-3.5 flex-shrink-0 items-center justify-center text-muted-foreground opacity-70`,onClick:S?t=>{t.stopPropagation(),r(e.id)}:void 0,children:(0,$.jsx)(X,{name:n?`arrow-down-s`:`arrow-right-s`,className:`size-3.5`})}):null]}),lt?(0,$.jsx)(cM,{entries:Pe,isExpanded:n,isMobile:i,output:ee,sessionId:W,onShowPopup:o,input:B,animateTailText:s,isActive:je}):null,!S&&!E&&n?(0,$.jsx)(`div`,{ref:I,"aria-hidden":!1,style:{height:`auto`,overflow:`visible`,overflowAnchor:`none`},children:ut?(0,$.jsxs)(`div`,{className:T?`relative ml-0.5 pl-1.5`:UA,children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-0 top-px bottom-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),(0,$.jsx)(SM,{part:Be,state:c,currentDirectory:b,isExpanded:n,isMobile:i,onShowPopup:o})]}):null}):null]})},wM=class extends Z.Component{state={hasError:!1};static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidUpdate(e){e.resetKey!==this.props.resetKey&&this.state.hasError&&this.setState({hasError:!1,error:void 0})}componentDidCatch(e){}render(){if(!this.state.hasError)return this.props.children;let e=this.state.error?.message;return(0,$.jsxs)(`div`,{className:Y(`flex items-center gap-1.5 min-w-0`,my),children:[(0,$.jsx)(`div`,{className:`h-3.5 w-3.5 flex-shrink-0`,style:pM,children:FO(this.props.toolName)}),(0,$.jsx)(`span`,{className:Y(yj,`flex-shrink-0`),style:hM,children:this.props.displayName}),e?(0,$.jsxs)(`span`,{className:Y(bj,`min-w-0 truncate`),style:{color:`var(--tools-description)`},title:e,children:[this.props.errorLabel,`: `,e]}):null]})}},TM=Z.memo(e=>{let t=(0,Q.c)(30),{t:n}=Kn(),r=HA(),i,a;t[0]!==e.part.tool||t[1]!==n?(a=Ej(e.part.tool)||`tool`,i=wd(a,n),t[0]=e.part.tool,t[1]=n,t[2]=i,t[3]=a):(i=t[2],a=t[3]);let o=i,s;t[4]!==r||t[5]!==e.part.id?(s=()=>!r||wj.get(e.part.id)===!0,t[4]=r,t[5]=e.part.id,t[6]=s):s=t[6];let[c,l]=Z.useState(s),u,d;if(t[7]!==r||t[8]!==c||t[9]!==e.part.id?(u=()=>{if(!(!r||c))return kd(()=>{wj.set(e.part.id,!0,e.part.id.length*2+8),Z.startTransition(()=>{l(!0)})})},d=[r,c,e.part.id],t[7]=r,t[8]=c,t[9]=e.part.id,t[10]=u,t[11]=d):(u=t[10],d=t[11]),Z.useEffect(u,d),!c){let e,n,r;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=Y(`flex min-w-0 items-center gap-2`,my),n=(0,$.jsx)(`span`,{className:`h-3.5 w-3.5 shrink-0 rounded bg-muted/50`,"aria-hidden":`true`}),r=Y(yj,`shrink-0 text-muted-foreground`),t[12]=e,t[13]=n,t[14]=r):(e=t[12],n=t[13],r=t[14]);let i;t[15]===o?i=t[16]:(i=(0,$.jsx)(`span`,{className:r,children:o}),t[15]=o,t[16]=i);let a;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`span`,{className:`h-3 w-24 min-w-0 rounded bg-muted/40`,"aria-hidden":`true`}),t[17]=a):a=t[17];let s;return t[18]===i?s=t[19]:(s=(0,$.jsxs)(`div`,{className:e,children:[n,i,a]}),t[18]=i,t[19]=s),s}let f;t[20]===n?f=t[21]:(f=n(`chat.toolPart.error`),t[20]=n,t[21]=f);let p;t[22]===e?p=t[23]:(p=(0,$.jsx)(CM,{...e}),t[22]=e,t[23]=p);let m;return t[24]!==o||t[25]!==e.part||t[26]!==f||t[27]!==p||t[28]!==a?(m=(0,$.jsx)(wM,{displayName:o,errorLabel:f,resetKey:e.part,toolName:a,children:p}),t[24]=o,t[25]=e.part,t[26]=f,t[27]=p,t[28]=a,t[29]=m):m=t[29],m},(e,t)=>Xk([e.part],[t.part])&&e.messageId===t.messageId&&e.isExpanded===t.isExpanded&&e.isMobile===t.isMobile&&e.alwaysShowActions===t.alwaysShowActions&&e.onContentChange===t.onContentChange&&e.onShowPopup===t.onShowPopup&&e.animateTailText===t.animateTailText);function EM(e){return e.stopPropagation()}function DM(e){return e.stopPropagation()}function OM(e){return e.stopPropagation()}function kM(e){return e.setCurrentSession}function AM(e){return e.openContextPanelTab}function jM(e){return e.showToolFileIcons}function MM(e){return e.stopPropagation()}function NM(e){return e.stopPropagation()}function PM(e){return!e}var FM=(e,t,n)=>{let r=t-e;return Math.max(0,n-r)},IM=e=>{e.timer&&=(clearTimeout(e.timer),null)},LM=({text:e,isStreaming:t,throttleMs:n=Nd(rn()).textThrottleMs,identityKey:r})=>{let[i,a]=Z.useState(e),o=Z.useRef(e),s=Z.useRef(i),c=Z.useRef({timer:null,pendingText:e,lastEmitAt:0});return Z.useEffect(()=>{o.current=e},[e]),Z.useEffect(()=>{s.current=i},[i]),Z.useEffect(()=>{let e=c.current;IM(e),e.pendingText=o.current,e.lastEmitAt=0,a(o.current)},[r]),Z.useEffect(()=>{let r=c.current;r.pendingText=e;let i=s.current,o=t&&i.length>e.length?i:e;if(!t){IM(r),r.lastEmitAt=Date.now(),a(o);return}let l=Date.now(),u=FM(r.lastEmitAt,l,n);if(u<=0){IM(r),r.lastEmitAt=l,a(o);return}return IM(r),r.timer=setTimeout(()=>{r.timer=null,r.lastEmitAt=Date.now(),a(e=>t&&e.length>r.pendingText.length?e:r.pendingText)},u),()=>{IM(r)}},[t,e,n]),Z.useEffect(()=>{let e=c.current;return()=>{IM(e)}},[]),i},RM=e=>e.isStreaming?e.throttledTextContent:e.textContent,zM=e=>!e.isFinalized&&e.displayTextContent.trim().length===0?!1:e.displayTextContent.trim().length>0,BM=e=>{let t=(0,Q.c)(44),{result:n}=e,{t:r}=Kn(),[i,a]=Z.useState(!1),o=Z.useRef(null),s,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>()=>{o.current!==null&&window.clearTimeout(o.current)},c=[],t[0]=s,t[1]=c):(s=t[0],c=t[1]),Z.useEffect(s,c);let l;bb0:{if(n.kind===`commit`){let e;t[2]!==n.highlights||t[3]!==n.subject?(e=[n.subject,...n.highlights.map(VM)],t[2]=n.highlights,t[3]=n.subject,t[4]=e):e=t[4],l=e.join(`
|
|
6580
6580
|
`);break bb0}let e;t[5]!==n.body||t[6]!==n.title?(e=[n.title,n.body].filter(Boolean),t[5]=n.body,t[6]=n.title,t[7]=e):e=t[7],l=e.join(`
|
|
6581
6581
|
|
|
6582
|
-
`)}let u=l,d;t[8]!==u||t[9]!==n.raw?(d=async()=>{(await Gn(u||n.raw)).ok&&(o.current!==null&&window.clearTimeout(o.current),a(!0),o.current=window.setTimeout(()=>{o.current=null,a(!1)},2e3))},t[8]=u,t[9]=n.raw,t[10]=d):d=t[10];let f=J(d),p;t[11]!==n.kind||t[12]!==r?(p=n.kind===`commit`?r(`chat.generatedResult.commit.title`):r(`chat.generatedResult.pullRequest.title`),t[11]=n.kind,t[12]=r,t[13]=p):p=t[13];let m;t[14]===p?m=t[15]:(m=(0,$.jsx)(`span`,{className:`font-mono text-[13px] text-muted-foreground`,children:p}),t[14]=p,t[15]=m);let h;t[16]===f?h=t[17]:(h=()=>{f()},t[16]=f,t[17]=h);let g;t[18]!==i||t[19]!==r?(g=r(i?`chat.generatedResult.actions.copied`:`chat.generatedResult.actions.copy`),t[18]=i,t[19]=r,t[20]=g):g=t[20];let _;t[21]!==i||t[22]!==r?(_=r(i?`chat.generatedResult.actions.copied`:`chat.generatedResult.actions.copy`),t[21]=i,t[22]=r,t[23]=_):_=t[23];let v;t[24]===i?v=t[25]:(v=i?(0,$.jsx)(X,{name:`check`,className:`size-3.5`}):(0,$.jsx)(X,{name:`file-copy`,className:`size-3.5`}),t[24]=i,t[25]=v);let y;t[26]!==v||t[27]!==h||t[28]!==g||t[29]!==_?(y=(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,onClick:h,title:g,"aria-label":_,className:`text-muted-foreground hover:text-foreground md:opacity-0 md:group-hover:opacity-100`,children:v}),t[26]=v,t[27]=h,t[28]=g,t[29]=_,t[30]=y):y=t[30];let b;t[31]!==y||t[32]!==m?(b=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 px-3 py-1.5`,children:[m,y]}),t[31]=y,t[32]=m,t[33]=b):b=t[33];let x;t[34]!==n.body||t[35]!==n.highlights||t[36]!==n.kind||t[37]!==n.subject||t[38]!==n.title||t[39]!==r?(x=(0,$.jsx)(`div`,{className:`space-y-3 px-3 py-3`,children:n.kind===`commit`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:n.subject}),n.highlights.length>0?(0,$.jsx)(`ul`,{className:`space-y-1 text-sm text-muted-foreground`,children:n.highlights.map(
|
|
6582
|
+
`)}let u=l,d;t[8]!==u||t[9]!==n.raw?(d=async()=>{(await Gn(u||n.raw)).ok&&(o.current!==null&&window.clearTimeout(o.current),a(!0),o.current=window.setTimeout(()=>{o.current=null,a(!1)},2e3))},t[8]=u,t[9]=n.raw,t[10]=d):d=t[10];let f=J(d),p;t[11]!==n.kind||t[12]!==r?(p=n.kind===`commit`?r(`chat.generatedResult.commit.title`):r(`chat.generatedResult.pullRequest.title`),t[11]=n.kind,t[12]=r,t[13]=p):p=t[13];let m;t[14]===p?m=t[15]:(m=(0,$.jsx)(`span`,{className:`font-mono text-[13px] text-muted-foreground`,children:p}),t[14]=p,t[15]=m);let h;t[16]===f?h=t[17]:(h=()=>{f()},t[16]=f,t[17]=h);let g;t[18]!==i||t[19]!==r?(g=r(i?`chat.generatedResult.actions.copied`:`chat.generatedResult.actions.copy`),t[18]=i,t[19]=r,t[20]=g):g=t[20];let _;t[21]!==i||t[22]!==r?(_=r(i?`chat.generatedResult.actions.copied`:`chat.generatedResult.actions.copy`),t[21]=i,t[22]=r,t[23]=_):_=t[23];let v;t[24]===i?v=t[25]:(v=i?(0,$.jsx)(X,{name:`check`,className:`size-3.5`}):(0,$.jsx)(X,{name:`file-copy`,className:`size-3.5`}),t[24]=i,t[25]=v);let y;t[26]!==v||t[27]!==h||t[28]!==g||t[29]!==_?(y=(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,onClick:h,title:g,"aria-label":_,className:`text-muted-foreground hover:text-foreground md:opacity-0 md:group-hover:opacity-100`,children:v}),t[26]=v,t[27]=h,t[28]=g,t[29]=_,t[30]=y):y=t[30];let b;t[31]!==y||t[32]!==m?(b=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 px-3 py-1.5`,children:[m,y]}),t[31]=y,t[32]=m,t[33]=b):b=t[33];let x;t[34]!==n.body||t[35]!==n.highlights||t[36]!==n.kind||t[37]!==n.subject||t[38]!==n.title||t[39]!==r?(x=(0,$.jsx)(`div`,{className:`space-y-3 px-3 py-3`,children:n.kind===`commit`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:n.subject}),n.highlights.length>0?(0,$.jsx)(`ul`,{className:`space-y-1 text-sm text-muted-foreground`,children:n.highlights.map(HM)}):null]}):(0,$.jsxs)($.Fragment,{children:[n.title?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`typography-micro uppercase tracking-[0.12em] text-muted-foreground`,children:r(`chat.generatedResult.pullRequest.titleLabel`)}),(0,$.jsx)(`div`,{className:`mt-1 typography-ui-label text-foreground`,children:n.title})]}):null,n.body?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`typography-micro uppercase tracking-[0.12em] text-muted-foreground`,children:r(`chat.generatedResult.pullRequest.bodyLabel`)}),(0,$.jsx)(`pre`,{className:`mt-1 whitespace-pre-wrap break-words text-sm leading-relaxed text-muted-foreground font-sans`,children:n.body})]}):null]})}),t[34]=n.body,t[35]=n.highlights,t[36]=n.kind,t[37]=n.subject,t[38]=n.title,t[39]=r,t[40]=x):x=t[40];let S;return t[41]!==b||t[42]!==x?(S=(0,$.jsxs)(`div`,{"data-component":`generated-json-result`,className:`my-4 group overflow-clip rounded-2xl border border-border/80 bg-[var(--surface-elevated)]`,children:[b,x]}),t[41]=b,t[42]=x,t[43]=S):S=t[43],S};function VM(e){return`- ${e}`}function HM(e,t){return(0,$.jsxs)(`li`,{className:`flex gap-2`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground/70`,children:`-`}),(0,$.jsx)(`span`,{children:e})]},`${t}-${e}`)}var UM=e=>{let t=e.trim(),n=[],r=t.match(/^```(?:json)?\s*([\s\S]*?)```$/i);r?.[1]&&n.push(r[1].trim()),t.startsWith(`{`)&&t.endsWith(`}`)&&n.push(t);let i=[];for(let e of n)try{let t=JSON.parse(e);t&&typeof t==`object`&&!Array.isArray(t)&&i.push(t)}catch{}return i},WM=e=>{for(let t of UM(e)){let e=typeof t.subject==`string`?t.subject.trim():``,n=Array.isArray(t.highlights)?t.highlights.filter(e=>typeof e==`string`).map(e=>e.trim()).filter(Boolean).slice(0,3):[];if(e)return{kind:`commit`,subject:e,highlights:n,raw:JSON.stringify({subject:e,highlights:n},null,2)};let r=typeof t.title==`string`?t.title.trim():``,i=typeof t.body==`string`?t.body.trim():``;if(r||i)return{kind:`pr`,title:r,body:i,raw:JSON.stringify({title:r,body:i},null,2)}}return null},GM=Z.memo(e=>{let t=(0,Q.c)(32),{part:n,sessionId:r,messageId:i,streamPhase:a,chatRenderMode:o,allowSortedFinalStreaming:s,hasStreamingHapticLifecycle:c,onShowPopup:l}=e,u=o===void 0?`live`:o,d=s!==void 0&&s,f=c!==void 0&&c,p=n,m=[typeof p.text==`string`?p.text:``,typeof p.content==`string`?p.content:``,typeof p.value==`string`?p.value:``].reduce(KM,``),h=(u===`live`||d)&&(a===`streaming`||a===`cooldown`);qt(`ui.assistant_text_part.render`),h&&qt(`ui.assistant_text_part.render.streaming`);let g=RM({textContent:m,throttledTextContent:LM({text:m,isStreaming:h,identityKey:`${i}:${n.id??`text`}`}),isStreaming:h}),_=`${i}:${n.id??`text`}`,v=Z.useRef(null),y,b;t[0]!==g||t[1]!==_||t[2]!==f||t[3]!==i||t[4]!==n.id||t[5]!==n.type||t[6]!==r?(y=()=>{if(!Lr())return;let e=n.type===`text`||n.type===`reasoning`,t=Li(v.current,{identity:_,content:g,isActive:f&&e,mode:n.type===`reasoning`?`appearance`:`changes`});v.current=t.nextState,!(!t.shouldEmit||!r)&&fr({sessionID:r,messageID:i,partID:n.id,kind:n.type===`reasoning`?`thinking`:`text`})},b=[g,_,f,i,n.id,n.type,r],t[0]=g,t[1]=_,t[2]=f,t[3]=i,t[4]=n.id,t[5]=n.type,t[6]=r,t[7]=y,t[8]=b):(y=t[7],b=t[8]),Z.useEffect(y,b),Wt(`ui.assistant_text_part.display_len`,g.length);let x=p.time,S=!!(x&&x.end!==void 0);if(n.type!==`text`&&n.type!==`reasoning`||!zM({displayTextContent:g,isFinalized:S}))return null;let C;t[9]!==g||t[10]!==S||t[11]!==h?(C=!h&&S?WM(g):null,t[9]=g,t[10]=S,t[11]=h,t[12]=C):C=t[12];let w=C;if(w){let e=`group/assistant-text relative break-words ${u===`live`?`my-1`:``}`,r=n.id||`${i}-text`,a;t[13]===w?a=t[14]:(a=(0,$.jsx)(BM,{result:w}),t[13]=w,t[14]=a);let o;return t[15]!==e||t[16]!==r||t[17]!==a?(o=(0,$.jsx)(`div`,{className:e,children:a},r),t[15]=e,t[16]=r,t[17]=a,t[18]=o):o=t[18],o}let T=`group/assistant-text relative break-words ${u===`live`?`my-1`:``}`,E=n.id||`${i}-text`,D=u===`sorted`&&!d,O=n.type===`reasoning`?`reasoning`:`assistant`,k=!h,A;t[19]!==g||t[20]!==h||t[21]!==i||t[22]!==l||t[23]!==n||t[24]!==O||t[25]!==k||t[26]!==D?(A=(0,$.jsx)(id,{content:g,part:n,messageId:i,isAnimated:!1,isStreaming:h,disableStreamAnimation:D,variant:O,enableFileReferences:k,onShowPopup:l}),t[19]=g,t[20]=h,t[21]=i,t[22]=l,t[23]=n,t[24]=O,t[25]=k,t[26]=D,t[27]=A):A=t[27];let j;return t[28]!==A||t[29]!==T||t[30]!==E?(j=(0,$.jsx)(`div`,{className:T,children:A},E),t[28]=A,t[29]=T,t[30]=E,t[31]=j):j=t[31],j});function KM(e,t){return t.length>e.length?t:e}var qM=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,JM=Y(`typography-meta font-medium`,qM),YM=Y(`typography-meta`,qM),XM=e=>typeof e!=`string`||e.trim().length===0?``:e.split(`
|
|
6583
6583
|
`).map(e=>e.replace(/^>\s?/,``).trimEnd()).filter(e=>e.trim().length>0).join(`
|
|
6584
|
-
`).trim(),XM=80,ZM=200,QM={duration:.2,ease:`easeOut`},$M=e=>e.replace(/<!--\s*-->/g,``).replace(/```[\w]*\n?([\s\S]*?)```/g,(e,t)=>t.trim()).replace(/`([^`]+)`/g,`$1`).replace(/\*{1,3}([^*]+)\*{1,3}/g,`$1`).replace(/_{1,3}([^_]+)_{1,3}/g,`$1`).replace(/^#{1,6}\s+/gm,``).replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`).replace(/^>\s?/gm,``).replace(/^[-*_]{3,}\s*$/gm,``).trim(),eN=e=>{if(!e)return``;let t=$M(e).replace(/\s+/g,` `).trim();if(t.length<=XM)return t;let n=t.lastIndexOf(` `,XM),r=n>0?n:XM;return`${t.substring(0,r).trimEnd()}…`},tN=({text:e,variant:t,onContentChange:n,blockId:r,time:i,isStreaming:a=!1,actions:o,defaultExpanded:s})=>{let{t:c}=Kn(),l=q(e=>e.isMobile),u=typeof i?.end==`number`,d=a&&!u,[f,p]=Z.useState(()=>s===!0?{expanded:!0,source:`user`}:{expanded:d,source:`auto`}),m=f.expanded,[h,g]=Z.useState(s===!0||d),_=Z.useId(),v=Z.useRef(null),y=Z.useRef(null),b=Z.useRef(!1),x=Z.useRef(n);x.current=n;let S=Z.useMemo(()=>eN(e),[e]),C=c(m?`chat.reasoningTrace.collapseAria`:`chat.reasoningTrace.expandAria`),w=J(()=>{g(!0),p({expanded:!m,source:`user`}),n?.(`structural`)}),T=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),w())});if(Z.useLayoutEffect(()=>{p(e=>e.source===`user`||e.expanded||!d?e:{expanded:!0,source:`auto`})},[d]),Z.useEffect(()=>{e.trim().length!==0&&n?.(`structural`)},[n,e]),Z.useEffect(()=>{if(m||a){g(!0);return}if(!h)return;if(typeof window>`u`){g(!1);return}let e=window.setTimeout(()=>{g(!1)},ZM);return()=>{window.clearTimeout(e)}},[m,a,h]),Z.useLayoutEffect(()=>{let e=v.current;if(!e)return;if(y.current?.stop(),!b.current){if(b.current=!0,!m){e.style.height=`0px`,e.style.overflow=`hidden`;return}e.style.height=`0px`,e.style.overflow=`hidden`;let t=Yl(e,{height:`auto`},QM);return y.current=t,t.finished.then(()=>{y.current===t&&(y.current=null,e.style.overflow=`visible`,e.style.height=`auto`)}).catch(()=>void 0),()=>{t.stop(),y.current===t&&(y.current=null)}}e.style.overflow=`hidden`,m?e.style.height=`0px`:(e.style.height=`${e.scrollHeight}px`,x.current?.(`animation`));let t=Yl(e,{height:m?`auto`:`0px`},QM);return y.current=t,t.finished.then(()=>{y.current===t&&(y.current=null,m?(e.style.overflow=`visible`,e.style.height=`auto`):e.style.overflow=`hidden`)}).catch(()=>void 0),()=>{t.stop(),y.current===t&&(y.current=null)}},[m]),Z.useEffect(()=>()=>{y.current?.stop(),y.current=null},[]),!e||e.trim().length===0)return null;let E=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{"data-message-text-export-source":`true`,children:(0,$.jsx)(id,{content:e,messageId:r,isAnimated:!1,isStreaming:a,variant:`reasoning`})}),o?(0,$.jsx)(`div`,{className:`mt-2 mb-1 flex items-center justify-start gap-1.5`,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,"data-message-action-group":`true`,children:o})}):null]});return(0,$.jsxs)(`div`,{"data-reasoning-block-id":r,"data-message-text-export-root":`true`,children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":m,"aria-controls":_,"aria-label":C,"data-mobile-press-feedback":`soft`,className:Y(`group/tool flex gap-1.5 cursor-pointer items-center`,vy),onClick:w,onKeyDown:T,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 flex-shrink-0`,children:[(0,$.jsxs)(`div`,{className:`relative h-3.5 w-3.5 flex-shrink-0 cursor-pointer`,children:[(0,$.jsx)(`div`,{className:Y(`absolute inset-0 transition-opacity`,m&&`opacity-0`,!m&&`group-hover/tool:opacity-0`),style:{color:`var(--tools-icon)`},children:(0,$.jsx)(X,{name:`brain-ai-3`,className:`h-3.5 w-3.5`})}),(0,$.jsx)(`div`,{className:Y(`absolute inset-0 transition-opacity flex items-center justify-center`,m&&`opacity-100`,!m&&`opacity-0 group-hover/tool:opacity-100`),style:{color:`var(--tools-icon)`},children:m?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3.5 w-3.5`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3.5 w-3.5`})})]}),a?(0,$.jsxs)(`span`,{className:Y(`flex items-center gap-1`,qM),style:{color:`var(--tools-title)`},children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,style:{"--oc-text-shimmer-base":`var(--tools-title)`},children:c(t===`justification`?`chat.reasoningTrace.justification`:`chat.reasoningTrace.thinking`)}),(0,$.jsx)(QA,{isMobile:l,className:`block text-[var(--tools-icon)]`})]}):m?(0,$.jsx)(`span`,{className:qM,style:{color:`var(--tools-title)`},children:c(t===`justification`?`chat.reasoningTrace.justification`:`chat.reasoningTrace.thinking`)}):(0,$.jsx)(`span`,{className:qM,style:{color:`var(--tools-title)`},children:c(t===`justification`?`chat.reasoningTrace.justification`:`chat.reasoningTrace.thought`)})]}),(0,$.jsx)(`div`,{className:Y(`flex items-center gap-1 flex-1 min-w-0`,JM),style:{color:`var(--tools-description)`},children:!a&&!m&&S?(0,$.jsx)(`span`,{className:Y(`min-w-0 truncate`,JM),style:{color:`var(--tools-description)`,opacity:.8},title:S,children:S}):(0,$.jsx)(`span`,{className:`min-w-0 flex-1`})})]}),h?(0,$.jsx)(`div`,{ref:v,id:_,"aria-hidden":!m,style:{height:m?`auto`:`0px`,overflow:m?`visible`:`hidden`,overflowAnchor:`none`},children:(0,$.jsxs)(`div`,{className:`relative ml-2 pl-3 pb-1 pt-0.5`,style:{opacity:+!!m,transform:m?`translateY(0)`:`translateY(-4px)`,transition:`opacity 180ms ease-out, transform 180ms ease-out`},children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-0 top-0 bottom-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),a?(0,$.jsx)(`div`,{className:`p-0`,children:E}):(0,$.jsx)(gl,{as:`div`,outerClassName:`max-h-80`,className:`p-0`,useScrollShadow:!0,scrollShadowSize:36,userIntentOnly:!0,children:E})]})}):null]})},nN=Z.memo(e=>{let t=(0,Q.c)(20),{part:n,onContentChange:r,messageId:i,streamPhase:a}=e,o=q(rN),s=n,c=s.text||s.content||``,l;t[0]===c?l=t[1]:(l=YM(c),t[0]=c,t[1]=l);let u=l,d=s.time,f=a===void 0||a!==`completed`,p=o===`live`&&f&&typeof d?.end!=`number`,m=`${i}:${n.id??`reasoning`}`,h;t[2]!==p||t[3]!==m||t[4]!==u?(h={text:u,isStreaming:p,identityKey:m},t[2]=p,t[3]=m,t[4]=u,t[5]=h):h=t[5];let g=IM(h),_=`${i}:${n.id??`reasoning`}`,v=Z.useRef(null),y=n.sessionID,b=f&&typeof d?.end!=`number`,x,S;if(t[6]!==_||t[7]!==b||t[8]!==i||t[9]!==n.id||t[10]!==y||t[11]!==g?(x=()=>{if(!Lr())return;let e=Li(v.current,{identity:_,content:g,isActive:b,mode:`appearance`});v.current=e.nextState,!(!e.shouldEmit||!y)&&fr({sessionID:y,messageID:i,partID:n.id,kind:`thinking`})},S=[_,b,i,n.id,y,g],t[6]=_,t[7]=b,t[8]=i,t[9]=n.id,t[10]=y,t[11]=g,t[12]=x,t[13]=S):(x=t[12],S=t[13]),Z.useEffect(x,S),!g||g.trim().length===0)return null;let C=n.id||`${i}-reasoning`,w;return t[14]!==p||t[15]!==r||t[16]!==C||t[17]!==g||t[18]!==d?(w=(0,$.jsx)(tN,{text:g,variant:`thinking`,onContentChange:r,blockId:C,time:d,isStreaming:p}),t[14]=p,t[15]=r,t[16]=C,t[17]=g,t[18]=d,t[19]=w):w=t[19],w});function rN(e){return e.chatRenderMode}var iN=(e,t)=>{let n=Kc(e,t)||Jc(t);return n?Xc(n,e)?{kind:`diff`,path:Wc(n,e)||t}:{kind:`file`,path:n,notice:`turn-diff-outside-workspace`}:{kind:`diff`,path:t}},aN=e=>{let t=q.getState(),n=iN(e.directory,e.filePath);if(n.kind===`file`){bO(n.path,e.directory).then(()=>{t.openContextFile(e.directory,n.path,{fileNotice:n.notice}),e.mobile&&t.setRightSidebarOpen(!1)});return}if(e.mobile){t.navigateToDiff(n.path,!1,`turn`),t.setRightSidebarOpen(!1);return}t.openContextDiff(e.directory,n.path,!1,`turn`,void 0,e.turnMessageId,e.sessionId)},oN=Z.memo(e=>{let t=(0,Q.c)(35),{activityParts:n}=e,[r,i]=Z.useState(!1),[a,o]=Z.useState(null),s=Z.useRef(null),c=Bb(),l=ot(sN),u=c.directory||l,d=ru(u),f;if(t[0]!==n||t[1]!==d){bb0:{if(d!==!1){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[3]=e):e=t[3],f=e;break bb0}if(!n||n.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[4]=e):e=t[4],f=e;break bb0}let e=[];for(let t of n){let n=t.part;n.type===`tool`&&rx.has(n.tool)&&e.push(n)}if(e.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[5]=e):e=t[5],f=e;break bb0}f=sx(e)}t[0]=n,t[1]=d,t[2]=f}else f=t[2];let p=f;if(p.length===0)return null;let m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{let e=s.current?.closest(`[data-slot="dialog-content"], [role="dialog"]`);o(e||null)},t[6]=m):m=t[6];let h=m,g;t[7]!==u||t[8]!==c?(g=e=>{if(!u)return;let t=q.getState();aN({directory:u,filePath:e.path,sessionId:c.sessionId,mobile:t.isMobile}),i(!1)},t[7]=u,t[8]=c,t[9]=g):g=t[9];let _=g,v=p.length,y=`${v} file${v===1?``:`s`}`,b=`${y} changed in this turn`,x;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(X,{name:`file-edit`,className:`h-3.5 w-3.5`}),t[10]=x):x=t[10];let S;t[11]===y?S=t[12]:(S=(0,$.jsx)(`span`,{className:`message-footer__label`,children:y}),t[11]=y,t[12]=S);let C;t[13]===r?C=t[14]:(C=r?(0,$.jsx)(X,{name:`arrow-up-s`,className:`h-3.5 w-3.5`}):(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3.5 w-3.5`}),t[13]=r,t[14]=C);let w;t[15]!==b||t[16]!==S||t[17]!==C?(w=(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Je,{render:(0,$.jsxs)(`button`,{ref:s,type:`button`,className:`flex items-center gap-1 text-sm text-muted-foreground/60 hover:text-muted-foreground tabular-nums`,"aria-label":b,onPointerDownCapture:h,onFocusCapture:h,children:[x,S,C]})})}),t[15]=b,t[16]=S,t[17]=C,t[18]=w):w=t[18];let T;t[19]===y?T=t[20]:(T=(0,$.jsxs)(Bs,{children:[y,` changed in this turn`]}),t[19]=y,t[20]=T);let E;t[21]!==w||t[22]!==T?(E=(0,$.jsxs)(Vs,{children:[w,T]}),t[21]=w,t[22]=T,t[23]=E):E=t[23];let D=a||void 0,O;t[24]!==p||t[25]!==u||t[26]!==_?(O=(0,$.jsx)(et,{side:`top`,align:`start`,sideOffset:4,collisionPadding:8,children:(0,$.jsx)(Xe,{style:yx,className:`${vx} transition-all duration-150 ease-out data-[starting-style]:opacity-0 data-[starting-style]:scale-95 data-[ending-style]:opacity-0 data-[ending-style]:scale-95`,children:(0,$.jsx)(_x,{files:p,currentDirectory:u,onOpenFile:_})})}),t[24]=p,t[25]=u,t[26]=_,t[27]=O):O=t[27];let k;t[28]!==D||t[29]!==O?(k=(0,$.jsx)(qe,{container:D,children:O}),t[28]=D,t[29]=O,t[30]=k):k=t[30];let A;return t[31]!==r||t[32]!==E||t[33]!==k?(A=(0,$.jsxs)(Qe,{open:r,onOpenChange:i,children:[E,k]}),t[31]=r,t[32]=E,t[33]=k,t[34]=A):A=t[34],A});oN.displayName=`TurnChangedFilesDropdown`;function sN(e){return e.currentDirectory}var cN=e=>e.type===`tool`&&e.metadata?.providerExecuted===!0,lN=e=>{if(e.type!==`tool`)return!1;let t=e.state;return t?.status===`error`&&t.metadata?.interrupted===!0},uN=e=>e.type!==`tool`||cN(e)?!1:!lN(e),dN=e=>{let t=0;for(let n of e)uN(n)&&(t+=1);return t},fN=(e,t)=>e===`stop`&&dN(t)===0,pN=e=>{if(e.type!==`text`||e.synthetic===!0)return!1;let t=e.text;return typeof t==`string`&&vD(t)},mN=e=>{if(dN(e)!==0)return-1;for(let t=e.length-1;t>=0;--t){let n=e[t];if(pN(n))return t;if(n.type===`tool`||n.type===`reasoning`||n.type===`file`||n.type===`agent`||n.type===`subtask`)break}return-1},hN=(e,t,n)=>{if(n||!fN(e,t))return!1;for(let e of t)if(pN(e))return!0;return!1},gN=e=>e===`streaming`||e===`cooldown`,_N=e=>e.parts.some(pN),vN=e=>gN(e.streamPhase)?_N(e):!1,yN=3e4,bN=null,xN=null;async function SN(){return bN&&Date.now()-bN.checkedAt<yN?bN:xN||(xN=(async()=>{try{let e=await d(`/api/tts/say/status`);if(!e.ok){let e={available:!1,voices:[],checkedAt:Date.now()};return bN=e,e}let t=await e.json(),n={available:!!t.available,voices:Array.isArray(t.voices)?t.voices:[],checkedAt:Date.now()};return bN=n,n}catch{let e={available:!1,voices:[],checkedAt:Date.now()};return bN=e,e}finally{xN=null}})(),xN)}var CN=null;function wN(){return il(),CN||=new(window.AudioContext||window.webkitAudioContext),CN}function TN(e={}){let t=e.enabled??!0,[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)([]),[c,l]=(0,Z.useState)(null),u=(0,Z.useRef)(null),f=(0,Z.useRef)(null),p=(0,Z.useCallback)(async()=>{try{let e=wN();e.state===`suspended`&&await e.resume();let t=e.createBuffer(1,1,22050),n=e.createBufferSource();n.buffer=t,n.connect(e.destination),n.start(0)}catch(e){console.error(`[useSayTTS] Failed to unlock audio:`,e)}},[]),m=(0,Z.useCallback)(async()=>{if(!t)return a(!1),s([]),!1;try{let e=await SN();return a(e.available),s(e.voices),e.available}catch{return a(!1),s([]),!1}},[t]);(0,Z.useEffect)(()=>{m()},[m]);let h=(0,Z.useCallback)(()=>{if(u.current){try{u.current.stop()}catch{}u.current=null}f.current&&=(f.current.abort(),null),r(!1)},[]),g=(0,Z.useCallback)(async(e,t)=>{if(h(),!e.trim()){l(`No text to speak`),t?.onError?.(`No text to speak`);return}l(null);try{f.current=new AbortController;let n=await d(`/api/tts/say/speak`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:e.trim()}),signal:f.current.signal});if(!n.ok){let e=await n.json().catch(()=>({error:`Unknown error`}));throw Error(e.error||`HTTP ${n.status}`)}let i=await n.blob(),a=await i.arrayBuffer();i.size;let o=wN();o.state===`suspended`&&await o.resume();let s=await o.decodeAudioData(a),c=o.createBufferSource();c.buffer=s,c.connect(o.destination),u.current=c,c.onended=()=>{r(!1),u.current=null,t?.onEnd?.()},r(!0),t?.onStart?.(),c.start(0)}catch(e){if(e.name===`AbortError`)return;let n=e instanceof Error?e.message:`Failed to speak`;console.error(`[useSayTTS] Error:`,n),l(n),t?.onError?.(n),r(!1)}},[h]);return(0,Z.useEffect)(()=>ol(h),[h]),(0,Z.useEffect)(()=>()=>{h()},[h]),{isPlaying:n,isAvailable:i,voices:o,error:c,speak:g,stop:h,checkAvailability:m,unlockAudio:p}}function EN(e){return e?e.replace(/```[\s\S]*?```/g,``).replace(/`([^`\n]*)`/g,`$1`).replace(/!\[(?:\\.|[^\]\\])*\]\((?:\\.|[^()\\]|\((?:\\.|[^()\\])*\))*\)/g,` `).replace(/[*_~#]/g,``).replace(/https?:\/\/[^\s]+/g,``).replace(/(^|\s)\/(?:[\w.-]+\/)*[\w.-]+/g,`$1`).replace(/[//]+/g,` `).replace(/^\s*[$#>]\s*/gm,``).replace(/[[\]{}()<>|&;]/g,` `).replace(/\\/g,``).replace(/\s+/g,` `).trim():``}var DN=600,ON=null,kN=`Summarize the assistant reply for text-to-speech listening. Reply with 2-4 sentences of plain spoken prose in the same language as the reply. No markdown, no lists, no code — mention code changes briefly in words instead.`;async function AN(e,t){try{let n=await d(`/api/small-model/generate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({prompt:e,system:kN,...t.providerID?{preferredProviderID:t.providerID}:{},...t.modelID?{preferredModelID:t.modelID}:{}})});if(!n.ok)return null;let r=await n.json().catch(()=>null);return typeof r?.text==`string`&&r.text.trim()?r.text.trim():null}catch{return null}}function jN(e={}){let[t,n]=(0,Z.useState)(!1),r=(0,Z.useRef)(0),i=aa(e=>e.voiceProvider),a=aa(e=>e.speechRate),o=aa(e=>e.speechPitch),s=aa(e=>e.speechVolume),c=aa(e=>e.browserVoice),l=aa(e=>e.showMessageTTSButtons),u=aa(e=>e.ttsInputMode),d=i===`openai`||i===`openai-compatible`||i===`volcengine`,f=(e.enabled??l)&&i===`say`,{speak:p,stop:m,unlockAudio:h}=ic({enabled:!1}),{speak:g,stop:_,unlockAudio:v,isAvailable:y}=TN({enabled:f}),{speak:b,stop:x,unlockAudio:S}=Ws(),C=J(()=>{r.current+=1,n(!1),m(),_(),x(),ON===C&&(ON=null,Rc.cancelSpeech())});Hn(`keydown`,e=>{e.key!==`Escape`||e.isComposing||!t||(e.preventDefault(),e.stopPropagation(),C())},()=>t?window:null,{capture:!0}),(0,Z.useEffect)(()=>ol(C),[C]);let w=J(async()=>{let e=i===`local`?S:i===`say`?v:d?h:null;await Promise.all([e?.(),Rc.resumeAudioContext()])});return(0,Z.useEffect)(()=>()=>{ON===C?C():r.current+=1},[C]),{isPlaying:t,play:J(async(e,t)=>{if(!e.trim()){t?.();return}ON?.(),C(),ON=C;let l=r.current,f=!1,m=e=>{l!==r.current||f||(f=!0,ON===C&&(ON=null),n(!1),t?.(e))},h=e=>m(Error(e));n(!0);try{let t=e;if(u===`summarized`&&e.length>=DN){let{currentProviderId:n,currentModelId:r}=aa.getState(),i=await AN(e,{providerID:n||void 0,modelID:r||void 0});i&&(t=i)}if(l!==r.current)return;let n=u===`raw`&&d,f=EN(t),_=n?t:f;if(!_.trim()){m();return}if(d)await p(_,{onEnd:()=>m(),onError:h});else if(i===`local`)await b(f,{onEnd:()=>m(),onError:h});else if(i===`say`&&y)await g(f,{onEnd:()=>m(),onError:h});else{if(await Rc.waitForVoices(),await Rc.resumeAudioContext(),l!==r.current)return;await Rc.speakText(f,navigator.language||`en-US`,()=>m(),{rate:a,pitch:o,volume:s,voiceName:c||void 0})}}catch(e){console.error(`[useMessageTTS] Playback error:`,e),m(e instanceof Error?e:Error(String(e)))}}),stop:C,unlock:w}}var MN=(0,Z.createContext)(null),NN=(0,Z.createContext)(null);function PN(e){let t=(0,Q.c)(9),{sessionId:n,messageId:r,created:i,text:a,completed:o,streaming:s}=e,c=s!==void 0&&s,l=(0,Z.useContext)(MN),u,d;t[0]!==o||t[1]!==l||t[2]!==i||t[3]!==r||t[4]!==n||t[5]!==c||t[6]!==a?(u=()=>{if(!l?.enabled||(c&&l.streaming(n,r),!o))return;let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>l.rendered({sessionId:n,messageId:r,created:i,text:a}))});return()=>{cancelAnimationFrame(t),cancelAnimationFrame(e)}},d=[l,n,r,i,a,o,c],t[0]=o,t[1]=l,t[2]=i,t[3]=r,t[4]=n,t[5]=c,t[6]=a,t[7]=u,t[8]=d):(u=t[7],d=t[8]),(0,Z.useEffect)(u,d)}var FN=e=>{let t=Number.isFinite(e.cssInsetPx)?Math.max(0,e.cssInsetPx):0,n=e.visualHeight,r=n==null||!Number.isFinite(n)?0:Math.max(0,e.innerHeight-n-(e.visualOffsetTop??0));return Math.max(t,r)},IN=e=>{let t=Number.parseFloat(e??``);return Number.isFinite(t)?Math.max(0,t):0},LN=48,RN=88,zN=e=>{let t=e.composer;if(t&&t.height>=LN&&t.width>=LN)return{left:t.left,top:t.top,width:t.width,height:t.height};let n=e.nativeComposerHeightPx>=LN?e.nativeComposerHeightPx:e.lastHeightPx>=LN?e.lastHeightPx:RN,r=Math.max(0,e.keyboardOverlapPx);return{left:0,top:Math.max(0,e.viewportHeight-r-n),width:Math.max(0,e.viewportWidth),height:n}},BN=8,VN=`mod+l`,HN=`mod+shift+s`,UN=[`⌃`,`⌥`,`⇧`,`⌘`],WN=e=>{let t=Ic(e).split(` + `);if(!Jn())return t.join(`+`);let n=t[t.length-1];return[...t.slice(0,-1).sort((e,t)=>UN.indexOf(e)-UN.indexOf(t)),n].join(``)},GN=280,KN=()=>{if(typeof document>`u`)return null;let e=null;for(let t of document.querySelectorAll(`.oc-mobile-composer`)){let n=window.getComputedStyle(t);if(n.display===`none`||n.visibility===`hidden`)continue;let r=t.getBoundingClientRect();r.height<48||r.width<48||r.bottom<0||r.top>window.innerHeight||(!e||r.bottom>e.top+e.height)&&(e={left:r.left,top:r.top,width:r.width,height:r.height})}return e},qN=e=>{let t=document.documentElement,n=window.visualViewport;return zN({composer:KN(),viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,keyboardOverlapPx:FN({cssInsetPx:IN(t.style.getPropertyValue(`--oc-keyboard-inset`)),innerHeight:window.innerHeight,visualHeight:n?.height,visualOffsetTop:n?.offsetTop}),nativeComposerHeightPx:IN(t.style.getPropertyValue(Iu)),lastHeightPx:e})},JN=null;$a(()=>{typeof window<`u`&&window.getSelection()?.removeAllRanges(),JN&&(0,Rp.flushSync)(JN)});var YN=new Set(`address.article.aside.blockquote.dd.div.dl.dt.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hr.li.main.nav.ol.p.pre.section.table.ul`.split(`.`)),XN=e=>e.replace(/\r\n?/g,`
|
|
6585
|
-
`),
|
|
6586
|
-
`;if(n===`strong`||n===`b`)return`**${r}**`;if(n===`em`||n===`i`)return`*${r}*`;if(n===`code`)return`\`${r.replace(/`/g,"\\`")}\``;if(n===`a`){let e=t.getAttribute(`href`);return e?`[${r}](${e})`:r}return r},
|
|
6587
|
-
`),
|
|
6584
|
+
`).trim(),ZM=80,QM=200,$M={duration:.2,ease:`easeOut`},eN=e=>e.replace(/<!--\s*-->/g,``).replace(/```[\w]*\n?([\s\S]*?)```/g,(e,t)=>t.trim()).replace(/`([^`]+)`/g,`$1`).replace(/\*{1,3}([^*]+)\*{1,3}/g,`$1`).replace(/_{1,3}([^_]+)_{1,3}/g,`$1`).replace(/^#{1,6}\s+/gm,``).replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`).replace(/^>\s?/gm,``).replace(/^[-*_]{3,}\s*$/gm,``).trim(),tN=e=>{if(!e)return``;let t=eN(e).replace(/\s+/g,` `).trim();if(t.length<=ZM)return t;let n=t.lastIndexOf(` `,ZM),r=n>0?n:ZM;return`${t.substring(0,r).trimEnd()}…`},nN=({text:e,variant:t,onContentChange:n,blockId:r,time:i,isStreaming:a=!1,actions:o,defaultExpanded:s})=>{let{t:c}=Kn(),l=q(e=>e.isMobile),u=typeof i?.end==`number`,d=a&&!u,[f,p]=Z.useState(()=>s===!0?{expanded:!0,source:`user`}:{expanded:d,source:`auto`}),m=f.expanded,[h,g]=Z.useState(s===!0||d),_=Z.useId(),v=Z.useRef(null),y=Z.useRef(null),b=Z.useRef(!1),x=Z.useRef(n);x.current=n;let S=Z.useMemo(()=>tN(e),[e]),C=c(m?`chat.reasoningTrace.collapseAria`:`chat.reasoningTrace.expandAria`),w=J(()=>{g(!0),p({expanded:!m,source:`user`}),n?.(`structural`)}),T=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),w())});if(Z.useLayoutEffect(()=>{p(e=>e.source===`user`||e.expanded||!d?e:{expanded:!0,source:`auto`})},[d]),Z.useEffect(()=>{e.trim().length!==0&&n?.(`structural`)},[n,e]),Z.useEffect(()=>{if(m||a){g(!0);return}if(!h)return;if(typeof window>`u`){g(!1);return}let e=window.setTimeout(()=>{g(!1)},QM);return()=>{window.clearTimeout(e)}},[m,a,h]),Z.useLayoutEffect(()=>{let e=v.current;if(!e)return;if(y.current?.stop(),!b.current){if(b.current=!0,!m){e.style.height=`0px`,e.style.overflow=`hidden`;return}e.style.height=`0px`,e.style.overflow=`hidden`;let t=Yl(e,{height:`auto`},$M);return y.current=t,t.finished.then(()=>{y.current===t&&(y.current=null,e.style.overflow=`visible`,e.style.height=`auto`)}).catch(()=>void 0),()=>{t.stop(),y.current===t&&(y.current=null)}}e.style.overflow=`hidden`,m?e.style.height=`0px`:(e.style.height=`${e.scrollHeight}px`,x.current?.(`animation`));let t=Yl(e,{height:m?`auto`:`0px`},$M);return y.current=t,t.finished.then(()=>{y.current===t&&(y.current=null,m?(e.style.overflow=`visible`,e.style.height=`auto`):e.style.overflow=`hidden`)}).catch(()=>void 0),()=>{t.stop(),y.current===t&&(y.current=null)}},[m]),Z.useEffect(()=>()=>{y.current?.stop(),y.current=null},[]),!e||e.trim().length===0)return null;let E=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{"data-message-text-export-source":`true`,children:(0,$.jsx)(id,{content:e,messageId:r,isAnimated:!1,isStreaming:a,variant:`reasoning`})}),o?(0,$.jsx)(`div`,{className:`mt-2 mb-1 flex items-center justify-start gap-1.5`,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,"data-message-action-group":`true`,children:o})}):null]});return(0,$.jsxs)(`div`,{"data-reasoning-block-id":r,"data-message-text-export-root":`true`,children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":m,"aria-controls":_,"aria-label":C,"data-mobile-press-feedback":`soft`,className:Y(`group/tool flex gap-1.5 cursor-pointer items-center`,vy),onClick:w,onKeyDown:T,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 flex-shrink-0`,children:[(0,$.jsxs)(`div`,{className:`relative h-3.5 w-3.5 flex-shrink-0 cursor-pointer`,children:[(0,$.jsx)(`div`,{className:Y(`absolute inset-0 transition-opacity`,m&&`opacity-0`,!m&&`group-hover/tool:opacity-0`),style:{color:`var(--tools-icon)`},children:(0,$.jsx)(X,{name:`brain-ai-3`,className:`h-3.5 w-3.5`})}),(0,$.jsx)(`div`,{className:Y(`absolute inset-0 transition-opacity flex items-center justify-center`,m&&`opacity-100`,!m&&`opacity-0 group-hover/tool:opacity-100`),style:{color:`var(--tools-icon)`},children:m?(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3.5 w-3.5`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3.5 w-3.5`})})]}),a?(0,$.jsxs)(`span`,{className:Y(`flex items-center gap-1`,JM),style:{color:`var(--tools-title)`},children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,style:{"--oc-text-shimmer-base":`var(--tools-title)`},children:c(t===`justification`?`chat.reasoningTrace.justification`:`chat.reasoningTrace.thinking`)}),(0,$.jsx)($A,{isMobile:l,className:`block text-[var(--tools-icon)]`})]}):m?(0,$.jsx)(`span`,{className:JM,style:{color:`var(--tools-title)`},children:c(t===`justification`?`chat.reasoningTrace.justification`:`chat.reasoningTrace.thinking`)}):(0,$.jsx)(`span`,{className:JM,style:{color:`var(--tools-title)`},children:c(t===`justification`?`chat.reasoningTrace.justification`:`chat.reasoningTrace.thought`)})]}),(0,$.jsx)(`div`,{className:Y(`flex items-center gap-1 flex-1 min-w-0`,YM),style:{color:`var(--tools-description)`},children:!a&&!m&&S?(0,$.jsx)(`span`,{className:Y(`min-w-0 truncate`,YM),style:{color:`var(--tools-description)`,opacity:.8},title:S,children:S}):(0,$.jsx)(`span`,{className:`min-w-0 flex-1`})})]}),h?(0,$.jsx)(`div`,{ref:v,id:_,"aria-hidden":!m,style:{height:m?`auto`:`0px`,overflow:m?`visible`:`hidden`,overflowAnchor:`none`},children:(0,$.jsxs)(`div`,{className:`relative ml-2 pl-3 pb-1 pt-0.5`,style:{opacity:+!!m,transform:m?`translateY(0)`:`translateY(-4px)`,transition:`opacity 180ms ease-out, transform 180ms ease-out`},children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-0 top-0 bottom-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),a?(0,$.jsx)(`div`,{className:`p-0`,children:E}):(0,$.jsx)(gl,{as:`div`,outerClassName:`max-h-80`,className:`p-0`,useScrollShadow:!0,scrollShadowSize:36,userIntentOnly:!0,children:E})]})}):null]})},rN=Z.memo(e=>{let t=(0,Q.c)(20),{part:n,onContentChange:r,messageId:i,streamPhase:a}=e,o=q(iN),s=n,c=s.text||s.content||``,l;t[0]===c?l=t[1]:(l=XM(c),t[0]=c,t[1]=l);let u=l,d=s.time,f=a===void 0||a!==`completed`,p=o===`live`&&f&&typeof d?.end!=`number`,m=`${i}:${n.id??`reasoning`}`,h;t[2]!==p||t[3]!==m||t[4]!==u?(h={text:u,isStreaming:p,identityKey:m},t[2]=p,t[3]=m,t[4]=u,t[5]=h):h=t[5];let g=LM(h),_=`${i}:${n.id??`reasoning`}`,v=Z.useRef(null),y=n.sessionID,b=f&&typeof d?.end!=`number`,x,S;if(t[6]!==_||t[7]!==b||t[8]!==i||t[9]!==n.id||t[10]!==y||t[11]!==g?(x=()=>{if(!Lr())return;let e=Li(v.current,{identity:_,content:g,isActive:b,mode:`appearance`});v.current=e.nextState,!(!e.shouldEmit||!y)&&fr({sessionID:y,messageID:i,partID:n.id,kind:`thinking`})},S=[_,b,i,n.id,y,g],t[6]=_,t[7]=b,t[8]=i,t[9]=n.id,t[10]=y,t[11]=g,t[12]=x,t[13]=S):(x=t[12],S=t[13]),Z.useEffect(x,S),!g||g.trim().length===0)return null;let C=n.id||`${i}-reasoning`,w;return t[14]!==p||t[15]!==r||t[16]!==C||t[17]!==g||t[18]!==d?(w=(0,$.jsx)(nN,{text:g,variant:`thinking`,onContentChange:r,blockId:C,time:d,isStreaming:p}),t[14]=p,t[15]=r,t[16]=C,t[17]=g,t[18]=d,t[19]=w):w=t[19],w});function iN(e){return e.chatRenderMode}var aN=(e,t)=>{let n=Kc(e,t)||Jc(t);return n?Xc(n,e)?{kind:`diff`,path:Wc(n,e)||t}:{kind:`file`,path:n,notice:`turn-diff-outside-workspace`}:{kind:`diff`,path:t}},oN=e=>{let t=q.getState(),n=aN(e.directory,e.filePath);if(n.kind===`file`){bO(n.path,e.directory).then(()=>{t.openContextFile(e.directory,n.path,{fileNotice:n.notice}),e.mobile&&t.setRightSidebarOpen(!1)});return}if(e.mobile){t.navigateToDiff(n.path,!1,`turn`),t.setRightSidebarOpen(!1);return}t.openContextDiff(e.directory,n.path,!1,`turn`,void 0,e.turnMessageId,e.sessionId)},sN=Z.memo(e=>{let t=(0,Q.c)(35),{activityParts:n}=e,[r,i]=Z.useState(!1),[a,o]=Z.useState(null),s=Z.useRef(null),c=Bb(),l=ot(cN),u=c.directory||l,d=ru(u),f;if(t[0]!==n||t[1]!==d){bb0:{if(d!==!1){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[3]=e):e=t[3],f=e;break bb0}if(!n||n.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[4]=e):e=t[4],f=e;break bb0}let e=[];for(let t of n){let n=t.part;n.type===`tool`&&rx.has(n.tool)&&e.push(n)}if(e.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[5]=e):e=t[5],f=e;break bb0}f=sx(e)}t[0]=n,t[1]=d,t[2]=f}else f=t[2];let p=f;if(p.length===0)return null;let m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{let e=s.current?.closest(`[data-slot="dialog-content"], [role="dialog"]`);o(e||null)},t[6]=m):m=t[6];let h=m,g;t[7]!==u||t[8]!==c?(g=e=>{if(!u)return;let t=q.getState();oN({directory:u,filePath:e.path,sessionId:c.sessionId,mobile:t.isMobile}),i(!1)},t[7]=u,t[8]=c,t[9]=g):g=t[9];let _=g,v=p.length,y=`${v} file${v===1?``:`s`}`,b=`${y} changed in this turn`,x;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(X,{name:`file-edit`,className:`h-3.5 w-3.5`}),t[10]=x):x=t[10];let S;t[11]===y?S=t[12]:(S=(0,$.jsx)(`span`,{className:`message-footer__label`,children:y}),t[11]=y,t[12]=S);let C;t[13]===r?C=t[14]:(C=r?(0,$.jsx)(X,{name:`arrow-up-s`,className:`h-3.5 w-3.5`}):(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-3.5 w-3.5`}),t[13]=r,t[14]=C);let w;t[15]!==b||t[16]!==S||t[17]!==C?(w=(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Je,{render:(0,$.jsxs)(`button`,{ref:s,type:`button`,className:`flex items-center gap-1 text-sm text-muted-foreground/60 hover:text-muted-foreground tabular-nums`,"aria-label":b,onPointerDownCapture:h,onFocusCapture:h,children:[x,S,C]})})}),t[15]=b,t[16]=S,t[17]=C,t[18]=w):w=t[18];let T;t[19]===y?T=t[20]:(T=(0,$.jsxs)(Bs,{children:[y,` changed in this turn`]}),t[19]=y,t[20]=T);let E;t[21]!==w||t[22]!==T?(E=(0,$.jsxs)(Vs,{children:[w,T]}),t[21]=w,t[22]=T,t[23]=E):E=t[23];let D=a||void 0,O;t[24]!==p||t[25]!==u||t[26]!==_?(O=(0,$.jsx)(et,{side:`top`,align:`start`,sideOffset:4,collisionPadding:8,children:(0,$.jsx)(Xe,{style:yx,className:`${vx} transition-all duration-150 ease-out data-[starting-style]:opacity-0 data-[starting-style]:scale-95 data-[ending-style]:opacity-0 data-[ending-style]:scale-95`,children:(0,$.jsx)(_x,{files:p,currentDirectory:u,onOpenFile:_})})}),t[24]=p,t[25]=u,t[26]=_,t[27]=O):O=t[27];let k;t[28]!==D||t[29]!==O?(k=(0,$.jsx)(qe,{container:D,children:O}),t[28]=D,t[29]=O,t[30]=k):k=t[30];let A;return t[31]!==r||t[32]!==E||t[33]!==k?(A=(0,$.jsxs)(Qe,{open:r,onOpenChange:i,children:[E,k]}),t[31]=r,t[32]=E,t[33]=k,t[34]=A):A=t[34],A});sN.displayName=`TurnChangedFilesDropdown`;function cN(e){return e.currentDirectory}var lN=e=>e.type===`tool`&&e.metadata?.providerExecuted===!0,uN=e=>{if(e.type!==`tool`)return!1;let t=e.state;return t?.status===`error`&&t.metadata?.interrupted===!0},dN=e=>e.type!==`tool`||lN(e)?!1:!uN(e),fN=e=>{let t=0;for(let n of e)dN(n)&&(t+=1);return t},pN=(e,t)=>e===`stop`&&fN(t)===0,mN=e=>{if(e.type!==`text`||e.synthetic===!0)return!1;let t=e.text;return typeof t==`string`&&vD(t)},hN=e=>{if(fN(e)!==0)return-1;for(let t=e.length-1;t>=0;--t){let n=e[t];if(mN(n))return t;if(n.type===`tool`||n.type===`reasoning`||n.type===`file`||n.type===`agent`||n.type===`subtask`)break}return-1},gN=(e,t,n)=>{if(n||!pN(e,t))return!1;for(let e of t)if(mN(e))return!0;return!1},_N=e=>e===`streaming`||e===`cooldown`,vN=e=>e.parts.some(mN),yN=e=>_N(e.streamPhase)?vN(e):!1,bN=3e4,xN=null,SN=null;async function CN(){return xN&&Date.now()-xN.checkedAt<bN?xN:SN||(SN=(async()=>{try{let e=await d(`/api/tts/say/status`);if(!e.ok){let e={available:!1,voices:[],checkedAt:Date.now()};return xN=e,e}let t=await e.json(),n={available:!!t.available,voices:Array.isArray(t.voices)?t.voices:[],checkedAt:Date.now()};return xN=n,n}catch{let e={available:!1,voices:[],checkedAt:Date.now()};return xN=e,e}finally{SN=null}})(),SN)}var wN=null;function TN(){return il(),wN||=new(window.AudioContext||window.webkitAudioContext),wN}function EN(e={}){let t=e.enabled??!0,[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)([]),[c,l]=(0,Z.useState)(null),u=(0,Z.useRef)(null),f=(0,Z.useRef)(null),p=(0,Z.useCallback)(async()=>{try{let e=TN();e.state===`suspended`&&await e.resume();let t=e.createBuffer(1,1,22050),n=e.createBufferSource();n.buffer=t,n.connect(e.destination),n.start(0)}catch(e){console.error(`[useSayTTS] Failed to unlock audio:`,e)}},[]),m=(0,Z.useCallback)(async()=>{if(!t)return a(!1),s([]),!1;try{let e=await CN();return a(e.available),s(e.voices),e.available}catch{return a(!1),s([]),!1}},[t]);(0,Z.useEffect)(()=>{m()},[m]);let h=(0,Z.useCallback)(()=>{if(u.current){try{u.current.stop()}catch{}u.current=null}f.current&&=(f.current.abort(),null),r(!1)},[]),g=(0,Z.useCallback)(async(e,t)=>{if(h(),!e.trim()){l(`No text to speak`),t?.onError?.(`No text to speak`);return}l(null);try{f.current=new AbortController;let n=await d(`/api/tts/say/speak`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:e.trim()}),signal:f.current.signal});if(!n.ok){let e=await n.json().catch(()=>({error:`Unknown error`}));throw Error(e.error||`HTTP ${n.status}`)}let i=await n.blob(),a=await i.arrayBuffer();i.size;let o=TN();o.state===`suspended`&&await o.resume();let s=await o.decodeAudioData(a),c=o.createBufferSource();c.buffer=s,c.connect(o.destination),u.current=c,c.onended=()=>{r(!1),u.current=null,t?.onEnd?.()},r(!0),t?.onStart?.(),c.start(0)}catch(e){if(e.name===`AbortError`)return;let n=e instanceof Error?e.message:`Failed to speak`;console.error(`[useSayTTS] Error:`,n),l(n),t?.onError?.(n),r(!1)}},[h]);return(0,Z.useEffect)(()=>ol(h),[h]),(0,Z.useEffect)(()=>()=>{h()},[h]),{isPlaying:n,isAvailable:i,voices:o,error:c,speak:g,stop:h,checkAvailability:m,unlockAudio:p}}function DN(e){return e?e.replace(/```[\s\S]*?```/g,``).replace(/`([^`\n]*)`/g,`$1`).replace(/!\[(?:\\.|[^\]\\])*\]\((?:\\.|[^()\\]|\((?:\\.|[^()\\])*\))*\)/g,` `).replace(/[*_~#]/g,``).replace(/https?:\/\/[^\s]+/g,``).replace(/(^|\s)\/(?:[\w.-]+\/)*[\w.-]+/g,`$1`).replace(/[//]+/g,` `).replace(/^\s*[$#>]\s*/gm,``).replace(/[[\]{}()<>|&;]/g,` `).replace(/\\/g,``).replace(/\s+/g,` `).trim():``}var ON=600,kN=null,AN=`Summarize the assistant reply for text-to-speech listening. Reply with 2-4 sentences of plain spoken prose in the same language as the reply. No markdown, no lists, no code — mention code changes briefly in words instead.`;async function jN(e,t){try{let n=await d(`/api/small-model/generate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({prompt:e,system:AN,...t.providerID?{preferredProviderID:t.providerID}:{},...t.modelID?{preferredModelID:t.modelID}:{}})});if(!n.ok)return null;let r=await n.json().catch(()=>null);return typeof r?.text==`string`&&r.text.trim()?r.text.trim():null}catch{return null}}function MN(e={}){let[t,n]=(0,Z.useState)(!1),r=(0,Z.useRef)(0),i=aa(e=>e.voiceProvider),a=aa(e=>e.speechRate),o=aa(e=>e.speechPitch),s=aa(e=>e.speechVolume),c=aa(e=>e.browserVoice),l=aa(e=>e.showMessageTTSButtons),u=aa(e=>e.ttsInputMode),d=i===`openai`||i===`openai-compatible`||i===`volcengine`,f=(e.enabled??l)&&i===`say`,{speak:p,stop:m,unlockAudio:h}=ic({enabled:!1}),{speak:g,stop:_,unlockAudio:v,isAvailable:y}=EN({enabled:f}),{speak:b,stop:x,unlockAudio:S}=Ws(),C=J(()=>{r.current+=1,n(!1),m(),_(),x(),kN===C&&(kN=null,Rc.cancelSpeech())});Hn(`keydown`,e=>{e.key!==`Escape`||e.isComposing||!t||(e.preventDefault(),e.stopPropagation(),C())},()=>t?window:null,{capture:!0}),(0,Z.useEffect)(()=>ol(C),[C]);let w=J(async()=>{let e=i===`local`?S:i===`say`?v:d?h:null;await Promise.all([e?.(),Rc.resumeAudioContext()])});return(0,Z.useEffect)(()=>()=>{kN===C?C():r.current+=1},[C]),{isPlaying:t,play:J(async(e,t)=>{if(!e.trim()){t?.();return}kN?.(),C(),kN=C;let l=r.current,f=!1,m=e=>{l!==r.current||f||(f=!0,kN===C&&(kN=null),n(!1),t?.(e))},h=e=>m(Error(e));n(!0);try{let t=e;if(u===`summarized`&&e.length>=ON){let{currentProviderId:n,currentModelId:r}=aa.getState(),i=await jN(e,{providerID:n||void 0,modelID:r||void 0});i&&(t=i)}if(l!==r.current)return;let n=u===`raw`&&d,f=DN(t),_=n?t:f;if(!_.trim()){m();return}if(d)await p(_,{onEnd:()=>m(),onError:h});else if(i===`local`)await b(f,{onEnd:()=>m(),onError:h});else if(i===`say`&&y)await g(f,{onEnd:()=>m(),onError:h});else{if(await Rc.waitForVoices(),await Rc.resumeAudioContext(),l!==r.current)return;await Rc.speakText(f,navigator.language||`en-US`,()=>m(),{rate:a,pitch:o,volume:s,voiceName:c||void 0})}}catch(e){console.error(`[useMessageTTS] Playback error:`,e),m(e instanceof Error?e:Error(String(e)))}}),stop:C,unlock:w}}var NN=(0,Z.createContext)(null),PN=(0,Z.createContext)(null);function FN(e){let t=(0,Q.c)(9),{sessionId:n,messageId:r,created:i,text:a,completed:o,streaming:s}=e,c=s!==void 0&&s,l=(0,Z.useContext)(NN),u,d;t[0]!==o||t[1]!==l||t[2]!==i||t[3]!==r||t[4]!==n||t[5]!==c||t[6]!==a?(u=()=>{if(!l?.enabled||(c&&l.streaming(n,r),!o))return;let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>l.rendered({sessionId:n,messageId:r,created:i,text:a}))});return()=>{cancelAnimationFrame(t),cancelAnimationFrame(e)}},d=[l,n,r,i,a,o,c],t[0]=o,t[1]=l,t[2]=i,t[3]=r,t[4]=n,t[5]=c,t[6]=a,t[7]=u,t[8]=d):(u=t[7],d=t[8]),(0,Z.useEffect)(u,d)}var IN=e=>{let t=Number.isFinite(e.cssInsetPx)?Math.max(0,e.cssInsetPx):0,n=e.visualHeight,r=n==null||!Number.isFinite(n)?0:Math.max(0,e.innerHeight-n-(e.visualOffsetTop??0));return Math.max(t,r)},LN=e=>{let t=Number.parseFloat(e??``);return Number.isFinite(t)?Math.max(0,t):0},RN=48,zN=88,BN=e=>{let t=e.composer;if(t&&t.height>=RN&&t.width>=RN)return{left:t.left,top:t.top,width:t.width,height:t.height};let n=e.nativeComposerHeightPx>=RN?e.nativeComposerHeightPx:e.lastHeightPx>=RN?e.lastHeightPx:zN,r=Math.max(0,e.keyboardOverlapPx);return{left:0,top:Math.max(0,e.viewportHeight-r-n),width:Math.max(0,e.viewportWidth),height:n}},VN=8,HN=`mod+l`,UN=`mod+shift+s`,WN=[`⌃`,`⌥`,`⇧`,`⌘`],GN=e=>{let t=Ic(e).split(` + `);if(!Jn())return t.join(`+`);let n=t[t.length-1];return[...t.slice(0,-1).sort((e,t)=>WN.indexOf(e)-WN.indexOf(t)),n].join(``)},KN=280,qN=()=>{if(typeof document>`u`)return null;let e=null;for(let t of document.querySelectorAll(`.oc-mobile-composer`)){let n=window.getComputedStyle(t);if(n.display===`none`||n.visibility===`hidden`)continue;let r=t.getBoundingClientRect();r.height<48||r.width<48||r.bottom<0||r.top>window.innerHeight||(!e||r.bottom>e.top+e.height)&&(e={left:r.left,top:r.top,width:r.width,height:r.height})}return e},JN=e=>{let t=document.documentElement,n=window.visualViewport;return BN({composer:qN(),viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,keyboardOverlapPx:IN({cssInsetPx:LN(t.style.getPropertyValue(`--oc-keyboard-inset`)),innerHeight:window.innerHeight,visualHeight:n?.height,visualOffsetTop:n?.offsetTop}),nativeComposerHeightPx:LN(t.style.getPropertyValue(Iu)),lastHeightPx:e})},YN=null;$a(()=>{typeof window<`u`&&window.getSelection()?.removeAllRanges(),YN&&(0,Rp.flushSync)(YN)});var XN=new Set(`address.article.aside.blockquote.dd.div.dl.dt.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hr.li.main.nav.ol.p.pre.section.table.ul`.split(`.`)),ZN=e=>e.replace(/\r\n?/g,`
|
|
6585
|
+
`),QN=e=>ZN(e).trim(),$N=(e,t)=>{if(e.contains(t))return!0;let n=t instanceof ShadowRoot?t:t.getRootNode();return n instanceof ShadowRoot&&e.contains(n.host)},eP=e=>{let t=[],n=e=>{for(let r of e.querySelectorAll(`*`))r.shadowRoot&&(t.push(r.shadowRoot),n(r.shadowRoot))};return n(e),t},tP=(e,t)=>{let n=eP(t),r=e.getComposedRanges?.({shadowRoots:n})[0];if(r){let e=document.createRange();if(e.setStart(r.startContainer,r.startOffset),e.setEnd(r.endContainer,r.endOffset),$N(t,e.commonAncestorContainer))return e}if(e.rangeCount===0)return null;let i=e.getRangeAt(0);return $N(t,i.commonAncestorContainer)?i:null},nP=e=>e.replace(/\s+/g,` `).trim(),rP=e=>{if(e.nodeType===Node.TEXT_NODE)return nP(e.textContent||``);if(e.nodeType!==Node.ELEMENT_NODE)return``;let t=e,n=t.tagName.toLowerCase(),r=Array.from(t.childNodes).map(e=>rP(e)).join(``).replace(/\s+/g,` `).trim();if(!r&&n!==`br`)return``;if(n===`br`)return`
|
|
6586
|
+
`;if(n===`strong`||n===`b`)return`**${r}**`;if(n===`em`||n===`i`)return`*${r}*`;if(n===`code`)return`\`${r.replace(/`/g,"\\`")}\``;if(n===`a`){let e=t.getAttribute(`href`);return e?`[${r}](${e})`:r}return r},iP=(e,t)=>Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.tagName.toLowerCase()===`li`).map((e,n)=>{let r=t?`${n+1}. `:`- `,i=Array.from(e.childNodes).map(e=>rP(e)).join(``).replace(/\s+/g,` `).trim();return i?`${r}${i}`:``}).filter(Boolean).join(`
|
|
6587
|
+
`),aP=e=>{if(e.nodeType===Node.TEXT_NODE)return QN(e.textContent||``);if(e.nodeType!==Node.ELEMENT_NODE)return``;let t=e,n=t.tagName.toLowerCase();if(n===`pre`){let e=t.querySelector(`code`);return`\`\`\`${((e?.className||``).match(/language-([\w-]+)/)?.[1]||``).trim()}\n${ZN(e?.textContent||t.textContent||``).replace(/\n$/,``)}\n\`\`\``}if(n===`code`){let e=ZN(t.textContent||``).trim();return e?`\`${e.replace(/`/g,"\\`")}\``:``}if(n===`ul`)return iP(t,!1);if(n===`ol`)return iP(t,!0);if(n===`blockquote`)return QN(Array.from(t.childNodes).map(e=>aP(e)).join(`
|
|
6588
6588
|
`)).split(`
|
|
6589
6589
|
`).filter(e=>e.length>0).map(e=>`> ${e}`).join(`
|
|
6590
|
-
`);if(/^h[1-6]$/.test(n)){let e=Number.parseInt(n[1],10),r=
|
|
6590
|
+
`);if(/^h[1-6]$/.test(n)){let e=Number.parseInt(n[1],10),r=QN(Array.from(t.childNodes).map(e=>rP(e)).join(``));return r?`${`#`.repeat(e)} ${r}`:``}if(n===`p`||n===`div`||n===`li`)return QN(Array.from(t.childNodes).map(e=>rP(e)).join(``));let r=Array.from(t.childNodes).map(e=>aP(e)).filter(e=>e.length>0);return r.length>0?r.join(`
|
|
6591
6591
|
|
|
6592
|
-
`):
|
|
6592
|
+
`):QN(Array.from(t.childNodes).map(e=>rP(e)).join(``))},oP=e=>Array.from(e.childNodes).every(e=>{if(e.nodeType===Node.TEXT_NODE||e.nodeType!==Node.ELEMENT_NODE)return!0;let t=e;return!XN.has(t.tagName.toLowerCase())}),sP=(e,t)=>{let n=e.cloneContents();if(oP(n)){let e=QN(Array.from(n.childNodes).map(e=>rP(e)).join(``));if(e)return e}return Array.from(n.childNodes).map(e=>aP(e)).filter(e=>e.length>0).join(`
|
|
6593
6593
|
|
|
6594
|
-
`).trim()||ZN(t)},sP=({containerRef:e})=>{let{t}=Kn(),[n,r]=Z.useState({x:0,y:0,show:!1}),[i,a]=Z.useState(``),o=Z.useRef(!1),[s,c]=Z.useState(!1),l=Z.useRef(null),u=Z.useRef(GN),d=Z.useRef(null),f=Z.useRef(null),p=Z.useRef(null),m=Z.useRef(!1),h=Z.useRef(0),[g,_]=Z.useState(null),v=ma(e=>e.currentSessionId),y=Ed()??null,b=q(e=>e.isMobile),x=Bb(),S=Vb(x).textSelectionMutation,C=x.kind===`primary`&&!!v;Z.useEffect(()=>{m.current=n.show},[n.show]),Z.useEffect(()=>()=>{f.current!==null&&(window.cancelAnimationFrame(f.current),f.current=null),p.current!==null&&(window.clearTimeout(p.current),p.current=null)},[]);let w=Z.useCallback(()=>{d.current=null,JN===w&&(JN=null),m.current&&=(f.current!==null&&(window.cancelAnimationFrame(f.current),f.current=null),c(!1),r(e=>({...e,show:!1})),a(``),!1)},[]);Z.useEffect(()=>()=>{JN===w&&(JN=null)},[w]);let T=Z.useCallback(e=>{if(typeof window>`u`)return e;let t=window.innerWidth,n=u.current/2,r=BN+n,i=t-BN-n;return r>i?t/2:Math.min(Math.max(e,r),i)},[]),E=Z.useCallback(()=>{if(!d.current)return;JN!==w&&(JN?.(),JN=w);let{markdownText:e,rect:t}=d.current,i=!n.show,o=b?t.left+t.width/2:T(t.left+t.width/2),s=t.top-10;a(e),r({x:o,y:s,show:!0}),m.current=!0,i&&(c(!0),f.current!==null&&window.cancelAnimationFrame(f.current),f.current=window.requestAnimationFrame(()=>{c(!1),f.current=null}))},[T,w,b,n.show]);Z.useLayoutEffect(()=>{if(!n.show||b||!l.current)return;let e=l.current.offsetWidth;!Number.isFinite(e)||e<=0||e===u.current||(u.current=e,r(e=>({...e,x:T(e.x)})))},[T,b,n.show]),Z.useEffect(()=>{if(!n.show||b)return;let e=()=>{r(e=>({...e,x:T(e.x)}))};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[T,b,n.show]);let D=Z.useCallback(()=>{let t=window.getSelection(),n=e.current;if(!t||!n){o.current||w();return}let r=ZN(t.toString());if(!r){o.current||w();return}let i=eP(t,n);if(!i){o.current||w();return}let a=i.getBoundingClientRect();d.current={plainText:r,markdownText:oP(i,r),rect:a},o.current||E()},[e,w,E]);Z.useEffect(()=>{let t=e.current;if(!t)return;let n=()=>{o.current=!0,w()},r=()=>{o.current=!1,p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{p.current=null,D()},10)},i=new Set,a=()=>{for(let e of $N(t))i.has(e)||(i.add(e),e.addEventListener(`selectionchange`,D))};a();let s=new MutationObserver(a);s.observe(t,{childList:!0,subtree:!0}),document.addEventListener(`selectionchange`,D),t.addEventListener(`mousedown`,n),document.addEventListener(`mouseup`,r);let c=e=>{l.current&&!l.current.contains(e.target)&&!window.getSelection()?.toString().trim()&&w()};return document.addEventListener(`mousedown`,c),()=>{p.current!==null&&(window.clearTimeout(p.current),p.current=null),s.disconnect();for(let e of i)e.removeEventListener(`selectionchange`,D);document.removeEventListener(`selectionchange`,D),t.removeEventListener(`mousedown`,n),document.removeEventListener(`mouseup`,r),document.removeEventListener(`mousedown`,c)}},[e,D,w,E]),Z.useLayoutEffect(()=>{if(!b||!n.show){h.current=0,_(null);return}let e=Fw(Bw),t=0,r=0,i=()=>{let e=qN(h.current);h.current=e.height,_(t=>t&&t.left===e.left&&t.top===e.top&&t.width===e.width&&t.height===e.height?t:e)},a=e=>{i(),e<r&&(t=window.requestAnimationFrame(a))},o=()=>{r=performance.now()+320,window.cancelAnimationFrame(t),t=window.requestAnimationFrame(a)};i(),o();let s=window.visualViewport;return s?.addEventListener(`resize`,o),s?.addEventListener(`scroll`,o),window.addEventListener(`resize`,o),window.addEventListener(`oc:keyboard-anim`,o),window.addEventListener(`oc:keyboard-settled`,o),()=>{window.cancelAnimationFrame(t),s?.removeEventListener(`resize`,o),s?.removeEventListener(`scroll`,o),window.removeEventListener(`resize`,o),window.removeEventListener(`oc:keyboard-anim`,o),window.removeEventListener(`oc:keyboard-settled`,o),e()}},[b,n.show]),Z.useEffect(()=>{if(!n.show)return;let e=e=>{l.current&&e.target instanceof Node&&l.current.contains(e.target)||w()};return window.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>{window.removeEventListener(`scroll`,e,!0)}},[n.show,w]);let O=()=>{w(),window.getSelection()?.removeAllRanges()},k=J(e=>{if(!e)return;let t=ma.getState().newSessionDraft.draftID,n=n_(v,t);n&&(m_.getState().addQuote(n,e),O(),requestAnimationFrame(()=>{Array.from(document.querySelectorAll(`textarea[data-chat-input="true"]`)).find(e=>!e.disabled&&e.getClientRects().length>0&&!e.closest(`[data-btw-composer]`))?.focus({preventScroll:!0})}))}),A=J(e=>{if(!e||!v)return;let t={sessionId:v,directory:y};jw.getState().addQuote(t,e),O(),eT(t)});if(Z.useEffect(()=>{if(!S)return;let t=t=>{let n=yc(t,VN),r=C&&yc(t,HN);if(!n&&!r)return;let i=window.getSelection(),a=e.current;if(!i||!a||!i.toString().trim())return;let o=eP(i,a);if(!o)return;t.preventDefault(),t.stopPropagation();let s=oP(o,i.toString());n?k(s):A(s)};return window.addEventListener(`keydown`,t,!0),()=>window.removeEventListener(`keydown`,t,!0)},[k,A,C,S,e]),!n.show||!S)return null;let j=[{id:`chat`,label:t(`chat.textSelection.actions.addToChat`),shortcut:VN,run:()=>k(i)},...C?[{id:`side`,label:t(`chat.textSelection.actions.addToSideChat`),shortcut:HN,run:()=>A(i)}]:[]];if(b){let e=g??{left:0,top:Math.max(0,window.innerHeight-88),width:window.innerWidth,height:88};return(0,Rp.createPortal)((0,$.jsx)(`div`,{ref:l,"data-text-selection-menu":!0,className:Y(`fixed z-50 flex items-center justify-center gap-2 bg-background px-4`,`transition-opacity duration-200 ease-out`,s?`opacity-0`:`opacity-100`),style:{left:e.left,top:e.top,width:e.width,height:e.height,paddingBottom:`max(0.75rem, var(--oc-safe-area-bottom-visual, env(safe-area-inset-bottom, 0px)))`},onPointerDown:e=>{e.preventDefault()},children:j.map(e=>(0,$.jsx)(Xn,{type:`button`,variant:`secondary`,size:`sm`,onClick:e.run,className:`max-w-[11rem] min-w-0`,children:(0,$.jsx)(`span`,{className:`truncate`,children:e.label})},e.id))}),document.body)}return(0,Rp.createPortal)((0,$.jsx)(`div`,{ref:l,"data-text-selection-menu":!0,className:`fixed z-50`,style:{left:n.x,top:n.y,transform:`translate(-50%, -100%)`},children:(0,$.jsx)(`div`,{className:Y(`flex items-center gap-0.5 whitespace-nowrap rounded-lg p-0.5`,`border border-[var(--interactive-border)] bg-[var(--surface-elevated)] shadow-sm`,`transition-[opacity,transform] duration-200 ease-out will-change-[opacity,transform]`,s?`opacity-0 translate-y-[4px]`:`opacity-100 translate-y-0`),children:j.map((e,t)=>(0,$.jsxs)(Z.Fragment,{children:[t>0?(0,$.jsx)(`div`,{className:`h-3 w-px shrink-0 bg-[var(--interactive-border)]`}):null,(0,$.jsxs)(`button`,{type:`button`,onClick:e.run,className:`flex h-6 items-center gap-1.5 rounded-md px-2 typography-meta text-[var(--surface-foreground)] transition-colors duration-150 hover:bg-[var(--interactive-hover)]`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`span`,{className:`tracking-[0.08em] text-[var(--surface-muted-foreground)]`,"aria-hidden":`true`,children:WN(e.shortcut)})]})]},e.id))})}),document.body)},cP=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),lP=(e,t)=>{let n=new Date(t);return n.setDate(t.getDate()-1),cP(e,n)},uP=e=>Number.isFinite(e)&&!Number.isNaN(new Date(e).getTime()),dP=e=>String(e).padStart(2,`0`),fP=e=>{if(!uP(e))return``;let t=new Date(e);return`${t.getFullYear()}-${dP(t.getMonth()+1)}-${dP(t.getDate())} ${dP(t.getHours())}:${dP(t.getMinutes())}`},pP=(e,t)=>{if(!uP(e))return``;let n=new Date(e),r=new Date,i=ec(n,t),a=Yn(),o=Qn.getState().dictionary;if(cP(n,r))return i;if(lP(n,r))return $n(o,`common.date.yesterdayWithTime`,{time:i});let s=`${n.toLocaleString(a,{month:`short`})} ${n.getDate()}`;return n.getFullYear()===r.getFullYear()?`${s}, ${i}`:`${s}, ${n.getFullYear()}, ${i}`},mP=144,hP=null,gP=new Set,_P=!1,vP=null;function yP(){for(let e of gP)e()}function bP(){return hP}function xP(){return vP}function SP(e){return gP.add(e),()=>{gP.delete(e)}}function CP(e,t){let n=Z.useSyncExternalStore(SP,bP,xP);return t&&n===e}function wP(e){!e||hP===e||(hP=e,yP())}function TP(e){hP!==null&&(e&&hP!==e||(hP=null,yP()))}function EP(e){return e instanceof Element?e.closest(`[data-message-id]`)?.getAttribute(`data-message-id`)??null:null}function DP(){_P||typeof document>`u`||(_P=!0,document.addEventListener(`pointerdown`,e=>{hP&&EP(e.target)!==hP&&TP()},!0))}function OP(e,t){DP();let n=0,r=0,i=!1,a=e=>{e.button===0&&(i=!0,n=e.clientX,r=e.clientY)},o=e=>{if(!i)return;i=!1;let a=e.clientX-n,o=e.clientY-r;a*a+o*o>mP||wP(t)},s=()=>{i=!1};return e.addEventListener(`pointerdown`,a),e.addEventListener(`pointerup`,o),e.addEventListener(`pointercancel`,s),()=>{e.removeEventListener(`pointerdown`,a),e.removeEventListener(`pointerup`,o),e.removeEventListener(`pointercancel`,s),TP(t)}}var kP=e=>typeof e!=`number`||!Number.isFinite(e)||e<0?0:e,AP=e=>{let t=0,n=0,r=!0;return e.map(e=>{if(typeof e.createdAt==`number`&&Number.isFinite(e.createdAt)&&typeof e.streamedAt==`number`&&Number.isFinite(e.streamedAt)?n+=Math.max(0,e.streamedAt-e.createdAt):r=!1,t+=kP(e.outputTokens)+kP(e.reasoningTokens),!r||t<=0||n<=0)return null;let i=t/(n/1e3);return Number.isFinite(i)&&i>0?i:null})},jP=e=>{let t=AP(e);return t[t.length-1]??null},MP=e=>e.completionDisposition!==`active`&&typeof e.tps==`number`&&Number.isFinite(e.tps)&&e.tps>0,NP=e=>!Number.isFinite(e)||e<=0?``:`${e.toFixed(1)} tok/s`,PP=Z.memo(e=>{let t=(0,Q.c)(5),{sessionId:n}=e,{t:r}=Kn(),i=Zi(n);if(i===0)return null;let a;t[0]!==i||t[1]!==r?(a=r(`chat.sessionBackground.tasksRunning`,{count:i}),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;return t[3]===a?o=t[4]:(o=(0,$.jsx)(`span`,{className:`inline-flex h-3.5 items-center text-[11px] leading-none font-normal text-muted-foreground`,"data-background-activity":`true`,children:(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:a})}),t[3]=a,t[4]=o),o});PP.displayName=`BackgroundActivityHint`;var FP=e=>{let t=(0,Q.c)(20),{text:n,active:r,className:i}=e,a=Z.useRef(n),[o,s]=Z.useState(n),[c,l]=Z.useState(null),u,d;t[0]!==r||t[1]!==n?(u=()=>{if(n===a.current)return;let e=a.current;if(a.current=n,!r||e.length===0){l(null),s(n);return}l(e),s(n)},d=[r,n],t[0]=r,t[1]=n,t[2]=u,t[3]=d):(u=t[2],d=t[3]),Z.useEffect(u,d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{l(null)},t[4]=f):f=t[4];let p=J(f),m;t[5]===i?m=t[6]:(m=Y(`oc-summary-flip-viewport relative block h-5 min-h-0 w-full min-w-0 max-w-full overflow-clip sm:h-6`,i),t[5]=i,t[6]=m);let h=c&&`invisible`,g;t[7]===h?g=t[8]:(g=Y(`block h-full min-w-0 truncate leading-5 sm:leading-6`,h),t[7]=h,t[8]=g);let _;t[9]!==o||t[10]!==g?(_=(0,$.jsx)(`span`,{className:g,children:o}),t[9]=o,t[10]=g,t[11]=_):_=t[11];let v;t[12]!==o||t[13]!==p||t[14]!==c?(v=c?(0,$.jsxs)(`span`,{className:`oc-summary-flip-stage absolute inset-0 block overflow-clip`,children:[(0,$.jsx)(`span`,{className:`oc-summary-flip-out absolute inset-x-0 top-0 block h-full truncate`,"aria-hidden":`true`,children:c}),(0,$.jsx)(`span`,{className:`oc-summary-flip-in absolute inset-x-0 top-0 block h-full truncate`,onAnimationEnd:p,children:o})]}):null,t[12]=o,t[13]=p,t[14]=c,t[15]=v):v=t[15];let y;return t[16]!==m||t[17]!==_||t[18]!==v?(y=(0,$.jsxs)(`span`,{className:m,children:[_,v]}),t[16]=m,t[17]=_,t[18]=v,t[19]=y):y=t[19],y},IP=[`search`,`read`,`list`];function LP(e){let t=gj(e);return t===`read`?`read`:t===`glob`||t===`grep`?`search`:t===`list`?`list`:null}function RP(e){let t={read:0,search:0,list:0};for(let n of e){let e=LP(n);e&&(t[e]+=1)}return t}var zP=[`edit`,`command`,`other`],BP=new Set([`edit`,`multiedit`,`write`,`create`,`file_write`,`apply_patch`,`patch`]),VP=new Set([`bash`,`shell`,`cmd`,`command`,`exec`,`terminal`]);function HP(e){if(!fj(e))return null;let t=gj(e);return BP.has(t)?`edit`:VP.has(t)?`command`:`other`}function UP(e){let t={edit:0,command:0,other:0};for(let n of e){let e=HP(n);e&&(t[e]+=1)}return t}function WP(e){return zA(e)}var GP=[...IP,...zP];function KP(e){return{...RP(e),...UP(e)}}function qP(e){return hj(e)}function JP(e){return e.kind===`reasoning`||e.type===`reasoning`?!1:e.kind===`justification`||e.type===`text`?!0:e.kind===`tool`||e.type===`tool`?!pj(e.toolName):e.kind!=null||e.type!=null}function YP(e,t,n){for(let r=t;r<e.length;r+=1)if(JP(n(e[r])))return!0;return!1}function XP(e){return`parts`in e?e.parts.some(e=>qP(e))?!0:!e.hasFollowingOtherType&&e.isTurnLive:e.some(e=>qP(e))}function ZP(e,t,n){let r=[],i=t;for(;i<e.length&&pj(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var QP=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,$P=e=>{let t=(0,Q.c)(12),{added:n,removed:r}=e;if(n<=0&&r<=0)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=Y(`inline-flex flex-none items-center gap-0.5 tabular-nums`,QP),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=n>0?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,n]}):null,t[1]=n,t[2]=a);let o;t[3]!==n||t[4]!==r?(o=n>0&&r>0?(0,$.jsx)(`span`,{style:{color:`var(--tools-description)`},children:`/`}):null,t[3]=n,t[4]=r,t[5]=o):o=t[5];let s;t[6]===r?s=t[7]:(s=r>0?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,r]}):null,t[6]=r,t[7]=s);let c;return t[8]!==a||t[9]!==o||t[10]!==s?(c=(0,$.jsxs)(`span`,{className:i,children:[a,o,s]}),t[8]=a,t[9]=o,t[10]=s,t[11]=c):c=t[11],c},eF=({activities:e,isMobile:t,isTurnLive:n=!1,hasFollowingOtherType:r=!1,exploring:i,children:a})=>{let{t:o}=Kn(),[s,c]=Z.useState(!1),l=Z.useId(),u=e.map(e=>e.part),d=i??XP({parts:u,hasFollowingOtherType:r,isTurnLive:n}),f=KP(u.map(e=>e.tool)),p=WP(u),m=GP.filter(e=>f[e]>0).map(e=>{let t=f[e];return o(e===`search`?t===1?`chat.contextGroup.searchSingle`:`chat.contextGroup.searchPlural`:e===`read`?t===1?`chat.contextGroup.readSingle`:`chat.contextGroup.readPlural`:e===`list`?t===1?`chat.contextGroup.listSingle`:`chat.contextGroup.listPlural`:e===`edit`?t===1?`chat.usedGroup.editSingle`:`chat.usedGroup.editPlural`:e===`command`?t===1?`chat.usedGroup.commandSingle`:`chat.usedGroup.commandPlural`:t===1?`chat.usedGroup.otherSingle`:`chat.usedGroup.otherPlural`,{count:t})}).join(`, `),h=J(()=>{c(e=>!e)}),g=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),h())}),_=o(s?`chat.usedGroup.collapseAria`:`chat.usedGroup.expandAria`),v=o(d?`chat.usedGroup.running`:`chat.usedGroup.used`),y=t?`h-5`:`h-6`;return(0,$.jsxs)(`div`,{"data-component":`context-tool-group`,className:hy(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":s,"aria-controls":l,"aria-label":_,"data-mobile-press-feedback":`soft`,className:Y(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,vy),onClick:h,onKeyDown:g,children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center self-center`,y,t?`w-4`:`w-3.5`),style:{color:`var(--tools-icon)`},children:d?(0,$.jsx)(QA,{isMobile:t,label:o(`chat.usedGroup.running`),className:`block`}):(0,$.jsx)(X,{name:`search`,className:`block h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:Y(`typography-meta inline-flex flex-none items-center self-center font-medium`,y,QP,d&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...d?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:v}),m?(0,$.jsx)(`span`,{className:Y(`typography-meta inline-flex min-h-0 w-0 min-w-0 max-w-full flex-1 items-center self-center overflow-clip`,y,QP),style:{color:`var(--tools-description)`},children:(0,$.jsx)(FP,{text:m,active:d,className:t?`!h-5 sm:!h-5`:`!h-6 sm:!h-6`})}):null,(0,$.jsx)($P,{added:p.added,removed:p.removed}),(0,$.jsx)(X,{name:s?`arrow-down-s`:`arrow-right-s`,className:`ml-auto size-3.5 flex-none self-center text-muted-foreground opacity-70`})]}),s&&a?(0,$.jsxs)(`div`,{id:l,className:gy(t),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-0 left-0 top-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),a]}):null]})};function tF(e,t,n){let r=[],i=t;for(;i<e.length&&dj(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var nF=e=>{if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null};function rF(e){if(!e||typeof e!=`object`)return null;let t=e.state;if(!t||typeof t!=`object`)return null;let n=t;if(n.metadata&&typeof n.metadata==`object`){let e=nF(n.metadata.name);if(e)return e}if(n.input&&typeof n.input==`object`){let e=n.input,t=nF(e.name);if(t)return t;let r=nF(e.id);if(r)return r}if(n.output&&typeof n.output==`object`){let e=nF(n.output.name);if(e)return e}return null}function iF(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=n.trim();e&&t.push(e)}let n=t.slice(0,3);return{visibleNames:n,hiddenCount:Math.max(0,t.length-n.length),joinedVisible:n.join(`, `)}}var aF=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,oF=({activities:e,isMobile:t,children:n})=>{let{t:r}=Kn(),[i,a]=Z.useState(!1),o=Z.useId(),s=e.map(e=>e.part),c=s.some(e=>hj(e)),{joinedVisible:l,hiddenCount:u}=iF(s.map(rF)),d=u>0?r(`chat.skillGroup.summaryOverflow`,{names:l,count:u}):l,f=J(()=>{a(e=>!e)}),p=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f())}),m=r(i?`chat.skillGroup.collapseAria`:`chat.skillGroup.expandAria`),h=r(`chat.tools.display.skill`);return(0,$.jsxs)(`div`,{"data-component":`skill-tool-group`,className:hy(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":i,"aria-controls":o,"aria-label":m,"data-mobile-press-feedback":`soft`,className:Y(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,vy),onClick:f,onKeyDown:p,children:[(0,$.jsx)(`span`,{className:Y(`flex flex-none items-center justify-center`,t?`size-4`:`size-3.5`),style:{color:`var(--tools-icon)`},children:c?(0,$.jsx)(QA,{isMobile:t,label:h,className:`block`}):(0,$.jsx)(X,{name:`book`,className:`h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:Y(`typography-meta flex-none font-medium`,aF,c&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...c?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:h}),d?(0,$.jsx)(`span`,{className:Y(`typography-meta h-5 min-h-0 w-0 min-w-0 max-w-full flex-1 overflow-clip sm:h-6`,aF),style:{color:`var(--tools-description)`},children:(0,$.jsx)(FP,{text:d,active:c})}):null,(0,$.jsx)(X,{name:i?`arrow-down-s`:`arrow-right-s`,className:`ml-auto size-3.5 flex-none text-muted-foreground opacity-70`})]}),i&&n?(0,$.jsxs)(`div`,{id:o,className:gy(t),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-0 left-0 top-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),n]}):null]})},sF=Z.memo(e=>{let t=(0,Q.c)(18),{part:n,messageId:r,onContentChange:i,actions:a,streamPhase:o,onShowPopup:s}=e,c=q(cF),l=n,u=typeof l.text==`string`?l.text:``,d=typeof l.content==`string`?l.content:``,f=d.length>u.length?d:u,p=l.time,m=n.sessionID,h=o===void 0||o!==`completed`,g,_;if(t[0]!==i||t[1]!==f?(g=()=>{f.trim().length!==0&&i?.(`structural`)},_=[i,f],t[0]=i,t[1]=f,t[2]=g,t[3]=_):(g=t[2],_=t[3]),Z.useEffect(g,_),!f||f.trim().length===0)return null;let v=o??`streaming`,y=h&&typeof p?.end!=`number`,b;t[4]!==c||t[5]!==r||t[6]!==i||t[7]!==s||t[8]!==n||t[9]!==m||t[10]!==v||t[11]!==y?(b=(0,$.jsx)(`div`,{"data-message-text-export-source":`true`,children:(0,$.jsx)(WM,{part:n,sessionId:m,messageId:r,streamPhase:v,chatRenderMode:c,hasStreamingHapticLifecycle:y,onContentChange:i,onShowPopup:s})}),t[4]=c,t[5]=r,t[6]=i,t[7]=s,t[8]=n,t[9]=m,t[10]=v,t[11]=y,t[12]=b):b=t[12];let x;t[13]===a?x=t[14]:(x=a?(0,$.jsx)(`div`,{className:`mt-2 mb-1 flex items-center justify-start gap-1.5`,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,"data-message-action-group":`true`,children:a})}):null,t[13]=a,t[14]=x);let S;return t[15]!==b||t[16]!==x?(S=(0,$.jsxs)(`div`,{"data-message-text-export-root":`true`,children:[b,x]}),t[15]=b,t[16]=x,t[17]=S):S=t[17],S});function cF(e){return e.chatRenderMode}var lF=e=>{let t=Math.max(0,Math.round(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},uF=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,dF=Y(`typography-meta font-medium`,uF),fF=Y(`typography-meta`,uF),pF=[],mF=e=>{let t=e.part;return t.slim===!0&&(t.type===`tool`||t.type===`reasoning`||t.type===`file`)},hF=e=>{let t=new Set;for(let n of e)mF(n)&&n.messageId&&t.add(n.messageId);return[...t]},gF=(e,t)=>e.some(e=>{if(!t.has(e.messageId))return!1;let n=e.part;if(n.slim===!0)return!1;if(n.type===`reasoning`)return typeof n.text==`string`&&n.text.trim().length>0;if(n.type===`file`)return typeof n.url==`string`&&n.url.trim().length>0;if(n.type===`tool`){let e=n.state?.output,t=n.state?.error;return(typeof e==`string`?e.trim().length>0:e!=null)||(typeof t==`string`?t.trim().length>0:t!=null)}return!1}),_F=e=>{let t=(0,Q.c)(5),{href:n}=e,[r,i]=Z.useState(!1),a;t[0]===n?a=t[1]:(a=bd(n),t[0]=n,t[1]=a);let o=a;if(!o||r)return null;let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>i(!0),t[2]=s):s=t[2];let c;return t[3]===o?c=t[4]:(c=(0,$.jsx)(`span`,{className:`inline-flex size-[18px] flex-shrink-0 items-center justify-center rounded border border-[var(--border)] bg-[var(--interactive-hover)]`,children:(0,$.jsx)(`img`,{src:o,alt:``,"aria-hidden":`true`,loading:`lazy`,decoding:`async`,className:`size-3.5 rounded-sm`,onError:s})}),t[3]=o,t[4]=c),c},vF=e=>e,yF=e=>{let t=e.part.state,n=t?.input,r=t?.metadata,i=n?.filePath||n?.file_path||n?.path||r?.filePath||r?.file_path||r?.path;if(typeof i==`string`&&i.trim().length>0){let e=i.lastIndexOf(`/`);return e>=0?i.slice(e+1):i}return null},bF=e=>{let t=e.part.state,n=t?.input,r=t?.metadata,i=n?.filePath||n?.file_path||n?.path||r?.filePath||r?.file_path||r?.path;return typeof i==`string`&&i.trim().length>0?i:null},xF=e=>{let t=e.part.state?.metadata?.dir;return typeof t==`string`&&t.trim().length>0?t:null},SF=e=>{if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t===`pending`?`pending`:t===`in_progress`||t===`in progress`||t===`inprogress`?`in_progress`:t===`completed`||t===`done`?`completed`:t===`cancelled`||t===`canceled`?`cancelled`:null},CF=e=>{if(e.length===0)return`0 tasks`;let t=0,n=0;for(let r of e){if(!r||typeof r!=`object`)continue;let e=SF(r.status);e&&(e===`pending`&&(t+=1),e===`in_progress`&&(n+=1))}let r=t+n;return r===0?`0 tasks`:`${r} ${r===1?`task`:`tasks`}`},wF=e=>{let t=e.part.state,n=t?.input,r=t?.output;if(Array.isArray(n?.todos)){let e=CF(n.todos);if(e)return e}if(Array.isArray(r)){let e=CF(r);if(e)return e}if(r&&typeof r==`object`&&Array.isArray(r.todos)){let e=CF(r.todos);if(e)return e}if(typeof r==`string`&&r.trim().length>0)try{let e=JSON.parse(r);if(Array.isArray(e)){let t=CF(e);if(t)return t}if(e&&typeof e==`object`&&Array.isArray(e.todos)){let t=CF(e.todos);if(t)return t}}catch{}return null},TF=e=>{let t=e.part.state,n=t?.input,r=t?.metadata,i=(typeof n?.offset==`number`&&Number.isFinite(n.offset)?n.offset:void 0)??(typeof n?.line==`number`&&Number.isFinite(n.line)?n.line:void 0)??(typeof r?.offset==`number`&&Number.isFinite(r.offset)?r.offset:void 0)??(typeof r?.line==`number`&&Number.isFinite(r.line)?r.line:void 0);if(!(typeof i!=`number`||i<=0))return Math.floor(i)},EF=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(PO,{variant:t?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,fF),style:{color:`var(--tools-description)`},title:e,children:e});let r=e.slice(0,n),i=e.slice(n+1),a=r.startsWith(`/`),o=a?r.slice(1):r;return(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex max-w-full flex-1 items-baseline overflow-hidden`,fF),title:e,children:[a?(0,$.jsx)(`span`,{className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:`/`}):null,(0,$.jsx)(`span`,{className:`min-w-0 shrink truncate whitespace-nowrap`,style:{color:`var(--tools-description)`,direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:o}),(0,$.jsx)(`span`,{className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:`/`}),(0,$.jsx)(PO,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:i})]})},DF=e=>{let t=Jc(e);return t?t.toLowerCase().endsWith(`/skill.md`)?t:`${t}/SKILL.md`:``},OF=e=>{let t=e.part,n=t.tool?.toLowerCase()??``,r=t.state,i=r?.input,a=r?.metadata;if(n===`grep`||n===`search`||n===`find`||n===`ripgrep`){let e=i?.pattern;if(typeof e==`string`&&e.trim().length>0)return e.length>40?e.slice(0,40)+`...`:e}if(n===`glob`){let e=i?.pattern;if(typeof e==`string`&&e.trim().length>0)return e.length>40?e.slice(0,40)+`...`:e}if(n===`websearch`||n===`web-search`||n===`search_web`||n===`codesearch`||n===`perplexity`){let e=i?.query;if(typeof e==`string`&&e.trim().length>0)return e.length>50?e.slice(0,50)+`...`:e}if(n===`skill`)return rF(t);if(n===`webfetch`||n===`fetch`||n===`curl`||n===`wget`){let e=typeof i?.url==`string`&&i.url||typeof i?.URL==`string`&&i.URL||typeof a?.url==`string`&&a.url||typeof a?.URL==`string`&&a.URL||``;if(typeof e==`string`&&e.trim().length>0)return e.trim()}return n===`todowrite`||n===`todoread`?wF(e):yF(e)},kF=e=>{let t=[],n=[];for(let r of e){if(r.kind!==`tool`)continue;let e=r.part;if(!KO(e.tool)||!(typeof e.id==`string`&&e.id.trim()))continue;let i=e.state;if(!i||typeof i!=`object`)continue;let a=i,o=UO(a.input,a.metadata,e.metadata)||`subagent`;n.push(o),(a.status===`pending`||a.status===`running`)&&t.push(o)}return{active:t,all:n}},AF=Z.memo(e=>{let t=(0,Q.c)(16),{activity:n,isExpanded:r,isMobile:i,onToggleTool:a,onShowPopup:o,onContentChange:s}=e,c;t[0]!==n.id||t[1]!==a?(c=()=>{a(n.id)},t[0]=n.id,t[1]=a,t[2]=c):c=t[2];let l=J(c),u;t[3]===i?u=t[4]:(u=hy(i),t[3]=i,t[4]=u);let d=n.part,f;t[5]!==n.messageId||t[6]!==l||t[7]!==r||t[8]!==i||t[9]!==s||t[10]!==o||t[11]!==d?(f=(0,$.jsx)(wM,{part:d,messageId:n.messageId,isExpanded:r,onToggle:l,isMobile:i,onContentChange:s,onShowPopup:o,animateTailText:!1}),t[5]=n.messageId,t[6]=l,t[7]=r,t[8]=i,t[9]=s,t[10]=o,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==u||t[14]!==f?(p=(0,$.jsx)(`div`,{className:u,children:f}),t[13]=u,t[14]=f,t[15]=p):p=t[15],p},(e,t)=>e.isExpanded===t.isExpanded&&e.isMobile===t.isMobile&&e.onToggleTool===t.onToggleTool&&e.onShowPopup===t.onShowPopup&&e.onContentChange===t.onContentChange&&e.activity.id===t.activity.id&&e.activity.messageId===t.activity.messageId&&e.activity.kind===t.activity.kind&&e.activity.endedAt===t.activity.endedAt&&Yk([e.activity.part],[t.activity.part])),jF=Z.memo(e=>{let t=(0,Q.c)(9),{toolName:n,activities:r,isMobile:i}=e,a;t[0]===i?a=t[1]:(a=hy(i),t[0]=i,t[1]=a);let o;t[2]!==r||t[3]!==i||t[4]!==n?(o=(0,$.jsx)(PF,{toolName:n,activities:r,isMobile:i,animateTailText:!1}),t[2]=r,t[3]=i,t[4]=n,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,$.jsx)(`div`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&NF(e.activities,t.activities)),MF=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.kind===`reasoning`){if(!_D(r.part).trim()){n++;continue}t.push({type:`reasoning`,activity:r}),n++;continue}if(r.kind===`justification`){t.push({type:`justification`,activity:r}),n++;continue}let i=r.part.tool?.toLowerCase()??``;if(pj(i)){let r=ZP(e,n,e=>e.part.tool);t.push({type:`tool-context-group`,activities:r.items,hasFollowingOtherType:YP(e,r.end,e=>({kind:e.kind,toolName:e.part.tool}))}),n=r.end;continue}if(dj(i)){let r=tF(e,n,e=>e.part.tool);if(r.items.length>0){t.push({type:`tool-skill-group`,activities:r.items}),n=r.end;continue}}if(cj(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(sj(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(lj(i)){t.push({type:`tool-static-group`,toolName:i,activities:[r]}),n++;continue}t.push({type:`tool-fallback`,activity:r}),n++}return t},NF=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.id!==i.id||r.kind!==i.kind||r.endedAt!==i.endedAt||!Yk([r.part],[i.part]))return!1}return!0},PF=Z.memo(e=>{let t=(0,Q.c)(106),{toolName:n,activities:r,isMobile:i,animateTailText:a}=e,{t:o}=Kn(),s=q(RF),c=wd(n,o),l;t[0]===n?l=t[1]:(l=FO(n),t[0]=n,t[1]=l);let u=l,d;t[2]===n?d=t[3]:(d=n.toLowerCase(),t[2]=n,t[3]=d);let f=d===`read`,p=Z.useContext(dl),m=Tl(),h=ot(zF),g=Bb(),_=g.kind===`embedded`?g.directory:h,v;t[4]===n?v=t[5]:(v=n.toLowerCase(),t[4]=n,t[5]=v);let y=v===`skill`,b;t[6]===y?b=t[7]:(b={enabled:y},t[6]=y,t[7]=b);let x=Ar(b),S;t[8]===x.data?S=t[9]:(S=x.data??[],t[8]=x.data,t[9]=S);let C=S,w;t[10]===C?w=t[11]:(w=new Map(C.map(BF)),t[10]=C,t[11]=w);let T=w,E=r[0]??null,D=!E||hj(E.part),O;t[12]===E?O=t[13]:(O=E?OF(E):null,t[12]=E,t[13]=O);let k=O,A;if(t[14]!==k||t[15]!==E||t[16]!==T||t[17]!==n){bb0:{if(n.toLowerCase()!==`skill`||!E||!k){A=null;break bb0}let e=T.get(k)?.path||xF(E);if(!e||e===`<built-in>`){A=null;break bb0}let r=DF(e);if(!r){A=null;break bb0}let i;t[19]!==k||t[20]!==r?(i={name:k,path:r},t[19]=k,t[20]=r,t[21]=i):i=t[21],A=i}t[14]=k,t[15]=E,t[16]=T,t[17]=n,t[18]=A}else A=t[18];let j=A,M;if(t[22]!==_||t[23]!==f||t[24]!==E){bb1:{if(!f||!E){M=null;break bb1}let e=bF(E);if(!e){M=null;break bb1}let n=Wc(e,_);if(!n){M=null;break bb1}let r;t[26]===E?r=t[27]:(r=TF(E),t[26]=E,t[27]=r);let i;t[28]!==n||t[29]!==e||t[30]!==r?(i={path:e,displayPath:n,offset:r},t[28]=n,t[29]=e,t[30]=r,t[31]=i):i=t[31],M=i}t[22]=_,t[23]=f,t[24]=E,t[25]=M}else M=t[25];let N=M,P;t[32]!==_||t[33]!==m||t[34]!==p?(P=(e,t)=>{if(!_)return;let n=Kc(_,e);if(!n)return;if(m){m.openFile({path:n,targetLine:t&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):void 0});return}if(p?.editor){p.editor.openFile(n,t);return}if(!Xc(n,_)){bO(n,_).then(()=>{let e=q.getState(),r=_||$c(_,n);if(t&&Number.isFinite(t)){e.openContextFileAtLine(r,n,Math.max(1,Math.trunc(t)),1);return}e.openContextFile(r,n)});return}let r=q.getState(),i=$c(_,n);if(t&&Number.isFinite(t)){r.openContextFileAtLine(i,n,Math.max(1,Math.trunc(t)),1);return}r.openContextFile(i,n)},t[32]=_,t[33]=m,t[34]=p,t[35]=P):P=t[35];let F=J(P),I;t[36]!==_||t[37]!==m?(I=e=>{let t=Jc(e);if(!t)return;let n=()=>{if(m){m.openFile({path:t});return}let e=q.getState(),n=_||$c(``,t);e.openContextFile(n,t)};if(_&&!Xc(t,_)){bO(t,_).then(n);return}n()},t[36]=_,t[37]=m,t[38]=I):I=t[38];let L=J(I),R;t[39]===n?R=t[40]:(R=n.toLowerCase(),t[39]=n,t[40]=R);let z=R,B=z===`grep`||z===`search`||z===`find`||z===`ripgrep`||z===`glob`,V=z===`webfetch`||z===`fetch`||z===`curl`||z===`wget`,H=z===`skill`,ee=!!(N||j),U=!!(N&&_||j),te;t[41]!==U||t[42]!==F||t[43]!==L||t[44]!==ee||t[45]!==N||t[46]!==j?(te=()=>{if(!(!ee||!U)){if(N){F(N.path,N.offset);return}j&&L(j.path)}},t[41]=U,t[42]=F,t[43]=L,t[44]=ee,t[45]=N,t[46]=j,t[47]=te):te=t[47];let ne=J(te),W;t[48]===ne?W=t[49]:(W=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ne())},t[48]=ne,t[49]=W);let G=J(W),re=ee&&U&&`cursor-pointer`,ie=ee&&!U&&`cursor-default opacity-70`,ae;t[50]!==re||t[51]!==ie?(ae=Y(`flex w-full items-center gap-x-1.5 min-w-0`,vy,re,ie),t[50]=re,t[51]=ie,t[52]=ae):ae=t[52];let oe=ee?`soft`:void 0,se=ee?ne:void 0,K=ee?G:void 0,ce=ee?`button`:void 0,le=ee&&U?0:void 0,ue=ee&&!U?!0:void 0,de=i?`size-4`:`size-3.5`,fe;t[53]===de?fe=t[54]:(fe=Y(`inline-flex items-center justify-center flex-shrink-0`,de),t[53]=de,t[54]=fe);let pe;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(pe={color:`var(--tools-icon)`},t[55]=pe):pe=t[55];let me=D?(0,$.jsx)(QA,{isMobile:i,label:o(`chat.assistantStatus.usingTool`,{tool:c})}):u,he;t[56]!==fe||t[57]!==pe||t[58]!==me?(he=(0,$.jsx)(`div`,{className:fe,style:pe,children:me}),t[56]=fe,t[57]=pe,t[58]=me,t[59]=he):he=t[59];let ge,_e;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(ge=Y(dF,`inline-flex items-center flex-shrink-0 opacity-85`),_e={color:`var(--tools-title)`},t[60]=ge,t[61]=_e):(ge=t[60],_e=t[61]);let ve;t[62]===c?ve=t[63]:(ve=(0,$.jsx)(`span`,{className:ge,style:_e,title:c,children:c}),t[62]=c,t[63]=ve);let ye;t[64]!==a||t[65]!==f||t[66]!==N||t[67]!==s?(ye=f&&N?(0,$.jsxs)(`span`,{className:Y(`inline-flex !min-h-0 items-center justify-start gap-1 min-w-0 flex-1 text-left`,fF),style:{color:`var(--tools-description)`},title:N.offset?`${N.displayPath}:${N.offset}`:N.displayPath,children:[s?(0,$.jsx)(pg,{filePath:N.path,className:`h-3.5 w-3.5`}):null,EF(N.displayPath,a)]}):null,t[64]=a,t[65]=f,t[66]=N,t[67]=s,t[68]=ye):ye=t[68];let be;t[69]!==a||t[70]!==k||t[71]!==B?(be=B&&k?(0,$.jsx)(`span`,{className:`inline-flex min-w-0 flex-1`,children:(0,$.jsxs)(PO,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,fF),style:{color:`var(--tools-description)`},title:k,children:[`"`,k,`"`]})}):null,t[69]=a,t[70]=k,t[71]=B,t[72]=be):be=t[72];let xe;t[73]!==k||t[74]!==V?(xe=V&&k?(0,$.jsxs)(`a`,{href:k,target:`_blank`,rel:`noopener noreferrer`,onClick:VF,className:Y(`min-w-0 flex-1 inline-flex items-center gap-1.5 underline decoration-[color:var(--status-info)] underline-offset-2 hover:opacity-90`,`truncate whitespace-nowrap`,fF),style:{color:`var(--status-info)`},title:k,children:[(0,$.jsx)(_F,{href:k}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:k})]}):null,t[73]=k,t[74]=V,t[75]=xe):xe=t[75];let Se;t[76]!==H||t[77]!==j?(Se=H&&j?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,fF),style:{color:`var(--tools-description)`},title:j.path,children:j.name}):null,t[76]=H,t[77]=j,t[78]=Se):Se=t[78];let Ce;t[79]!==k||t[80]!==H||t[81]!==j?(Ce=H&&!j&&k?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,fF),style:{color:`var(--tools-description)`},title:k,children:k}):null,t[79]=k,t[80]=H,t[81]=j,t[82]=Ce):Ce=t[82];let we;t[83]!==a||t[84]!==k||t[85]!==V||t[86]!==f||t[87]!==B||t[88]!==H?(we=!f&&!B&&!V&&!H&&k?(0,$.jsx)(PO,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,fF),style:{color:`var(--tools-description)`},children:k}):null,t[83]=a,t[84]=k,t[85]=V,t[86]=f,t[87]=B,t[88]=H,t[89]=we):we=t[89];let Te;return t[90]!==ae||t[91]!==oe||t[92]!==se||t[93]!==K||t[94]!==ce||t[95]!==le||t[96]!==ue||t[97]!==he||t[98]!==ve||t[99]!==ye||t[100]!==be||t[101]!==xe||t[102]!==Se||t[103]!==Ce||t[104]!==we?(Te=(0,$.jsxs)(`div`,{className:ae,"data-mobile-press-feedback":oe,onClick:se,onKeyDown:K,role:ce,tabIndex:le,"aria-disabled":ue,children:[he,ve,ye,be,xe,Se,Ce,we]}),t[90]=ae,t[91]=oe,t[92]=se,t[93]=K,t[94]=ce,t[95]=le,t[96]=ue,t[97]=he,t[98]=ve,t[99]=ye,t[100]=be,t[101]=xe,t[102]=Se,t[103]=Ce,t[104]=we,t[105]=Te):Te=t[105],Te},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&NF(e.activities,t.activities)),FF=Z.memo(e=>{let t=(0,Q.c)(5),{activity:n,onContentChange:r,streamPhase:i}=e,a;return t[0]!==n.messageId||t[1]!==n.part||t[2]!==r||t[3]!==i?(a=(0,$.jsx)(nN,{part:n.part,messageId:n.messageId,streamPhase:i,onContentChange:r}),t[0]=n.messageId,t[1]=n.part,t[2]=r,t[3]=i,t[4]=a):a=t[4],a}),IF=Z.memo(e=>{let t=(0,Q.c)(7),{activity:n,onContentChange:r,onShowPopup:i,actions:a,streamPhase:o}=e,s;return t[0]!==a||t[1]!==n.messageId||t[2]!==n.part||t[3]!==r||t[4]!==i||t[5]!==o?(s=(0,$.jsx)(sF,{part:n.part,messageId:n.messageId,onContentChange:r,onShowPopup:i,actions:a,streamPhase:o}),t[0]=a,t[1]=n.messageId,t[2]=n.part,t[3]=r,t[4]=i,t[5]=o,t[6]=s):s=t[6],s}),LF=Z.memo(({parts:e,materializationParts:t=e,isExpanded:n,collapsedPreviewCount:r=0,completionDisposition:i,activityPresentationKind:a=`default`,durationMs:o,onToggle:s,isMobile:c,expandedTools:l,onToggleTool:u,onShowPopup:d,onContentChange:f,streamPhase:p,showHeader:m,renderJustificationActions:h})=>{let{t:g}=Kn(),_=Ed()??``,v=Z.useMemo(()=>hF(t),[t]),y=Z.useRef(new Set),b=Z.useRef(new Map),x=Z.useRef(new Set),[,S]=Z.useState(0),C=Z.useRef(null),w=Z.useRef(null),T=i===`active`,E=!T&&(i===`normal`||i===`abnormal`)&&typeof o==`number`&&Number.isFinite(o)&&o>=0?lF(o):null,D=i===`normal`||i===`abnormal`,O=a===`compaction`,k=D&&!O,A=O?`fold-vertical`:`stack`,j=g(i===void 0?`chat.activity.title`:T?O?`chat.activity.compacting`:`chat.activity.active`:D?O?`chat.activity.compactionCompleted`:`chat.activity.completedStatus`:`chat.activity.title`),M=Z.useMemo(()=>{let t=[];for(let n of e)n.kind===`tool`&&t.push(n.part);return zA(t)},[e]),N=M.added>0||M.removed>0,P=Z.useMemo(()=>kF(e),[e]),F=T?P.active:P.all,I=F.slice(0,c?2:3),L=J((e=!1,n=!1)=>{if(!(!_||!v.length)){for(let r of v){let i=t.find(e=>e.messageId===r)?.part.sessionID;if(!i)continue;let a=kt(_,i,r);if(a.status===`ready`||n&&a.status===`error`||e&&a.status!==`error`&&!x.current.has(r)||(y.current.add(r),x.current.delete(r),b.current.has(r)))continue;let o=dt(_,i,r,{priority:n?`background`:`user`}).catch(()=>{x.current.add(r)}).finally(()=>{b.current.delete(r),S(e=>e+1)});b.current.set(r,o)}S(e=>e+1)}}),R=J(e=>{e.stopPropagation(),L(!0)}),z=T,B=z||n,V=J(()=>{if(z)return;let e=C.current;w.current=e?{top:e.getBoundingClientRect().top,scrollContainer:e.closest(`[data-scrollbar="chat"]`)}:null,B||L(),s()});Z.useEffect(()=>{T||!B||L(!1,!0)},[T,B]),Z.useLayoutEffect(()=>{let e=w.current,t=C.current;if(!e||!t)return;let n=()=>{if(!t.isConnected)return;let n=t.getBoundingClientRect().top-e.top;if(!(Math.abs(n)<.5)){if(e.scrollContainer?.isConnected){e.scrollContainer.scrollTop+=n;return}window.scrollBy(0,n)}};if(n(),typeof window>`u`||typeof window.requestAnimationFrame!=`function`){w.current=null;return}let r=window.requestAnimationFrame(()=>{n(),w.current=null});return()=>window.cancelAnimationFrame(r)},[B]);let H=m&&!B?Math.max(0,Math.floor(r)):0,ee=!m||B||H>0,U=y.current,te=[...U].map(e=>{if(b.current.has(e))return`loading`;if(x.current.has(e))return`error`;let n=t.find(t=>t.messageId===e)?.part.sessionID??``;return kt(_,n,e).status}),ne=te.includes(`loading`),W=te.includes(`error`),G=te.length>0&&te.every(e=>e===`ready`),re=t.some(e=>U.has(e.messageId)&&mF(e)),ie=G&&!re&&!gF(t,U),ae=Z.useMemo(()=>ee?vF(e):pF,[e,ee]),oe=Z.useMemo(()=>ee?MF(ae.filter(e=>e.kind!==`reasoning`||_D(e.part).trim().length>0)):[],[ee,ae]),se=Z.useMemo(()=>B||H===0?0:Math.max(0,oe.length-H),[B,H,oe.length]),K=Z.useMemo(()=>B||H===0?oe:oe.slice(-H),[B,H,oe]),ce=!!m&&!(T&&!O);if((!ce||z&&!O)&&oe.length===0)return null;let le=(e,t)=>{let n=(0,$.jsx)(`div`,{className:hy(c),children:t});return(0,$.jsx)(Z.Fragment,{children:n},e)},ue=ee?K.map((e,t)=>{switch(e.type){case`reasoning`:return le(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(FF,{activity:e.activity,streamPhase:p,onContentChange:f})}));case`justification`:return le(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(IF,{activity:e.activity,onContentChange:f,onShowPopup:d,actions:h?.(e.activity),streamPhase:p})}));case`tool-expandable`:return(0,$.jsx)(AF,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);case`tool-static-group`:return(0,$.jsx)(jF,{toolName:e.toolName,activities:e.activities,isMobile:c},e.activities[0]?.id??`static-${e.toolName}-${t}`);case`tool-context-group`:return(0,$.jsx)(eF,{activities:e.activities,isMobile:c,isTurnLive:T,hasFollowingOtherType:e.hasFollowingOtherType,children:e.activities.map(e=>{let t=e.part,n=t.tool?.toLowerCase()??``;return uj(n)?(0,$.jsx)(PF,{toolName:n,activities:[e],isMobile:c,animateTailText:!1},e.id):(0,$.jsx)(wM,{part:t,messageId:e.messageId,isExpanded:l.has(e.id),onToggle:u,isMobile:c,onContentChange:f,onShowPopup:d,animateTailText:!1},e.id)})},e.activities[0]?.id??`context-${t}`);case`tool-skill-group`:return(0,$.jsx)(oF,{activities:e.activities,isMobile:c,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(PF,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`skill-${t}`);case`tool-fallback`:return(0,$.jsx)(AF,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);default:return null}}):null,de=K.length>0;return(0,$.jsxs)(`div`,{className:ce?hy(c):`flow-root`,children:[ce?(0,$.jsxs)(`button`,{ref:C,type:`button`,className:Y(`group/tool flex w-[calc(100%+1rem)] min-w-0 flex-nowrap items-center text-left`,c?`gap-x-1`:`gap-x-2`,!z&&vy,z&&`oc-tool-row -mx-2 rounded-lg px-2 py-0.5 cursor-default`,c&&`pr-0`),"data-mobile-press-feedback":z?void 0:`soft`,onClick:z?void 0:V,"aria-expanded":B,"aria-disabled":z||void 0,"aria-label":z?j:g(B?`chat.activity.collapseAria`:`chat.activity.expandAria`),children:[(0,$.jsx)(`span`,{className:Y(`inline-flex min-w-0 items-center overflow-clip`,c?`gap-x-1`:`gap-x-1.5`),children:k?(0,$.jsxs)(`span`,{className:Y(`typography-meta inline-flex shrink-0 items-center gap-1.5 tabular-nums text-muted-foreground`,c?`h-5`:`h-6`),children:[E?g(`chat.activity.completed`,{duration:E}):j,(0,$.jsx)(X,{name:B?`arrow-down-s`:`arrow-right-s`,className:`size-3.5 shrink-0 opacity-0 group-hover/tool:opacity-70 group-focus-visible/tool:opacity-70`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center`,c?`h-5 w-4`:`h-6 w-3.5`),style:{color:`var(--tools-icon)`},children:T&&!O?(0,$.jsx)(QA,{isMobile:c,label:j,className:`block`}):(0,$.jsx)(X,{name:A,className:`h-3.5 w-3.5`})}),(0,$.jsx)(`span`,{className:Y(`inline-flex flex-shrink-0 items-center`,c?`typography-meta h-5`:`typography-ui-label h-5 font-semibold`,T?`animate-text-shimmer text-[var(--status-info)] [--oc-text-shimmer-base:var(--status-info)]`:`text-foreground/85`),children:j}),E?(0,$.jsx)(`span`,{className:`typography-meta shrink-0 tabular-nums text-muted-foreground`,children:E}):null]})}),(0,$.jsxs)(`span`,{className:Y(`ml-auto inline-flex max-w-[min(14rem,55%)] shrink-0 items-center`,c?`gap-0.5`:`gap-1`),children:[F.length>0?(0,$.jsxs)(`span`,{className:Y(`inline-flex min-w-0 items-center text-muted-foreground`,c?`gap-1`:`gap-1.5`),children:[(0,$.jsx)(`span`,{className:`inline-flex shrink-0 items-center gap-0.5`,"aria-hidden":`true`,children:I.map((e,t)=>(0,$.jsx)(rs,{name:e,size:c?12:14,className:Y(`flex-none`,c?`size-3 min-h-3 min-w-3 max-h-3 max-w-3`:`size-3.5 min-h-3.5 min-w-3.5 max-h-3.5 max-w-3.5`)},`${e}-${t}`))}),(0,$.jsx)(`span`,{className:`typography-meta min-w-0 truncate`,children:g(T?`chat.activity.agentsWorking`:`chat.activity.agentsInvolved`,{count:F.length})})]}):null,N?(0,$.jsx)(`span`,{"data-activity-diff-totals":``,className:`inline-flex shrink-0`,children:(0,$.jsx)($P,{added:M.added,removed:M.removed})}):null,!z&&!k?(0,$.jsx)(X,{name:B?`arrow-down-s`:`arrow-right-s`,className:Y(`flex-shrink-0 text-muted-foreground opacity-70`,c&&`-mr-0.5`,c?`size-3`:`size-3.5`)}):null]})]}):null,de?(0,$.jsxs)(`div`,{className:z?void 0:`relative ml-2 pl-3`,children:[z?null:(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-0 top-px bottom-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),se>0?(0,$.jsxs)(`button`,{type:`button`,onClick:V,className:`typography-meta leading-4 px-2 py-1 text-muted-foreground/45 hover:text-muted-foreground/65 text-left`,children:[`+`,se,` more...`]}):null,(0,$.jsx)(`div`,{className:`flow-root`,children:ue})]}):null,B&&(ne||W||ie)?(0,$.jsx)(`div`,{className:Y(`typography-meta flex min-h-9 items-center gap-2 px-2 text-muted-foreground`,z?void 0:`ml-5`,W&&`text-[var(--status-error)]`),role:W?`alert`:`status`,children:ne?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 shrink-0 animate-spin`}),(0,$.jsx)(`span`,{children:g(`chat.activity.outputLoading`)})]}):W?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`error-warning`,className:`size-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1`,children:g(`chat.activity.outputLoadFailed`)}),(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,onClick:R,children:g(`chat.activity.outputRetry`)})]}):(0,$.jsx)(`span`,{children:g(`chat.toolOutputDialog.noOutputProduced`)})}):null]})});function RF(e){return e.showToolFileIcons}function zF(e){return e.currentDirectory}function BF(e){return[e.name,e]}function VF(e){e.stopPropagation()}var HF=Z.memo(e=>{let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(LF,{...e}),t[0]=e,t[1]=n),n});function UF(e){let t=(0,Q.c)(9),{presentation:n,sessionId:r,messageId:i,directory:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={bootstrap:!1},t[0]=o):o=t[0];let s=Mr(a,o),c;t[1]===r?c=t[2]:(c=e=>!!e.session_execution_recovery[r],t[1]=r,t[2]=c);let l=Ue(s,c),u;t[3]===r?u=t[4]:(u=e=>e.session_status[r]?.type===`retry`,t[3]=r,t[4]=u);let d=Ue(s,u),f=Qa(r,a);if(!l&&!d){let e;return t[5]===n?e=t[6]:(e=(0,$.jsx)(Zv,{presentation:n}),t[5]=n,t[6]=e),e}let p;for(let e=f.length-1;e>=0;--e)if(f[e].role===`assistant`){p=f[e].id;break}if(p===i&&(d||l&&n.detail===`aborted`&&n.icon===`pause-circle`))return null;let m;return t[7]===n?m=t[8]:(m=(0,$.jsx)(Zv,{presentation:n}),t[7]=n,t[8]=m),m}function WF(e){let t=(0,Q.c)(5),n=Bb();if(!e.sessionId||!n.active||!n.capabilities.compose){let n;return t[0]===e.presentation?n=t[1]:(n=(0,$.jsx)(Zv,{presentation:e.presentation}),t[0]=e.presentation,t[1]=n),n}let r=n.directory??e.directory,i;return t[2]!==e||t[3]!==r?(i=(0,$.jsx)(UF,{...e,sessionId:e.sessionId,directory:r}),t[2]=e,t[3]=r,t[4]=i):i=t[4],i}var GF={contain:`layout`},KF={containerType:`inline-size`,containerName:`message-footer`},qF=`mt-1.5 mb-0.5 flex items-center justify-start gap-1.5`,JF=`mt-3 mb-0.5 flex items-center justify-start gap-1.5`,YF=`size-6! p-0 text-muted-foreground bg-transparent hover:text-foreground hover:!bg-transparent active:!bg-transparent focus-visible:!bg-transparent focus-visible:ring-2 focus-visible:ring-primary/50`,XF=`size-3.5!`,ZF=`mt-1.5 mb-0.5 flex flex-wrap items-center gap-3`,QF=`mt-3 mb-0.5 flex flex-wrap items-center gap-3 -ml-[5px]`,$F=`flex items-center gap-2`,eI=`flex items-center gap-2 text-muted-foreground`,tI=`h-3.5 items-center gap-1 text-[11px] leading-none tabular-nums text-muted-foreground`,nI=`inline-flex ${tI}`,rI=`size-3.5!`,iI=`medium`,aI=e=>{let t=(0,Q.c)(6),{messageId:n,label:r,focusReveal:i}=e,a=CP(n,i),o=i?a?`inline-flex`:`hidden`:`hidden oc-message-hover-time`,s;t[0]===o?s=t[1]:(s=Y(tI,`whitespace-nowrap`,o),t[0]=o,t[1]=s);let c=i?a?`true`:`false`:void 0,l;return t[2]!==r||t[3]!==s||t[4]!==c?(l=(0,$.jsx)(`span`,{className:s,"data-message-time":``,"data-message-time-visible":c,children:r}),t[2]=r,t[3]=s,t[4]=c,t[5]=l):l=t[5],l},oI=e=>{let t=(0,Q.c)(16),{label:n}=e,{t:r}=Kn(),i;t[0]!==n||t[1]!==r?(i=r(`chat.messageBody.meta.tpsAria`,{rate:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(X,{weight:iI,name:`pulse`,className:rI}),t[3]=a):a=t[3];let o;t[4]===n?o=t[5]:(o=(0,$.jsx)(`span`,{className:`message-footer__label`,children:n}),t[4]=n,t[5]=o);let s;t[6]!==i||t[7]!==o?(s=(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:nI,"aria-label":i,children:[a,o]})}),t[6]=i,t[7]=o,t[8]=s):s=t[8];let c;t[9]===r?c=t[10]:(c=r(`chat.messageBody.meta.tpsTooltip`),t[9]=r,t[10]=c);let l;t[11]===c?l=t[12]:(l=(0,$.jsx)(Bs,{children:c}),t[11]=c,t[12]=l);let u;return t[13]!==s||t[14]!==l?(u=(0,$.jsxs)(Vs,{children:[s,l]}),t[13]=s,t[14]=l,t[15]=u):u=t[15],u},sI=e=>e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e,cI=`w-full min-w-0 justify-start rounded-[var(--radius-md)] bg-transparent px-1 hover:!bg-interactive-hover focus-visible:!bg-interactive-hover active:!bg-interactive-active supports-[corner-shape:squircle]:rounded-[var(--radius-md)]`,lI=`h-7 gap-1.5`,uI=`h-6 gap-1`,dI=`text-[11px] leading-none`,fI=`size-3.5`,pI=`size-3`,mI=5,hI=Z.memo(e=>{let t=(0,Q.c)(30),{file:n,isMobile:r}=e,i=r?`gap-1 text-[11px]`:`gap-1.5 text-xs`,a;t[0]===i?a=t[1]:(a=Y(`flex min-w-0 flex-1 items-center leading-none text-muted-foreground`,i),t[0]=i,t[1]=a);let o=n.file,s=r?`h-3 w-3`:`h-3.5 w-3.5`,c;t[2]===s?c=t[3]:(c=Y(`flex-shrink-0`,s),t[2]=s,t[3]=c);let l;t[4]!==n.file||t[5]!==c?(l=(0,$.jsx)(pg,{filePath:o,className:c}),t[4]=n.file,t[5]=c,t[6]=l):l=t[6];let u=n.file,d;t[7]===n.file?d=t[8]:(d=sI(n.file),t[7]=n.file,t[8]=d);let f;t[9]!==n.file||t[10]!==d?(f=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left text-foreground/80`,title:u,children:d}),t[9]=n.file,t[10]=d,t[11]=f):f=t[11];let p=r?`text-[11px]`:`typography-meta`,m;t[12]===p?m=t[13]:(m=Y(`inline-flex flex-shrink-0 items-center gap-0 leading-none tabular-nums`,p),t[12]=p,t[13]=m);let h;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(h={color:`var(--status-success)`},t[14]=h):h=t[14];let g;t[15]===n.additions?g=t[16]:(g=(0,$.jsxs)(`span`,{style:h,children:[`+`,n.additions]}),t[15]=n.additions,t[16]=g);let _,v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:`text-muted-foreground/70`,children:`/`}),v={color:`var(--status-error)`},t[17]=_,t[18]=v):(_=t[17],v=t[18]);let y;t[19]===n.deletions?y=t[20]:(y=(0,$.jsxs)(`span`,{style:v,children:[`-`,n.deletions]}),t[19]=n.deletions,t[20]=y);let b;t[21]!==m||t[22]!==g||t[23]!==y?(b=(0,$.jsxs)(`span`,{className:m,children:[g,_,y]}),t[21]=m,t[22]=g,t[23]=y,t[24]=b):b=t[24];let x;return t[25]!==b||t[26]!==a||t[27]!==l||t[28]!==f?(x=(0,$.jsxs)(`span`,{className:a,children:[l,f,b]}),t[25]=b,t[26]=a,t[27]=l,t[28]=f,t[29]=x):x=t[29],x}),gI=Z.memo(e=>{let t=(0,Q.c)(18),{file:n,canOpen:r,isMobile:i,onOpen:a}=e,{t:o}=Kn(),s;t[0]!==n.file||t[1]!==a?(s=()=>{a(n.file)},t[0]=n.file,t[1]=a,t[2]=s):s=t[2];let c=J(s),l=!r,u=i?uI:lI,d;t[3]===u?d=t[4]:(d=Y(cI,u),t[3]=u,t[4]=d);let f;t[5]!==n.file||t[6]!==o?(f=o(`chat.changedFiles.actions.openFileTitle`,{path:n.file}),t[5]=n.file,t[6]=o,t[7]=f):f=t[7];let p;t[8]!==n||t[9]!==i?(p=(0,$.jsx)(hI,{file:n,isMobile:i}),t[8]=n,t[9]=i,t[10]=p):p=t[10];let m;return t[11]!==n.file||t[12]!==c||t[13]!==l||t[14]!==d||t[15]!==f||t[16]!==p?(m=(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,disabled:l,"data-turn-change-file":`true`,className:d,"aria-label":f,title:n.file,onClick:c,children:p}),t[11]=n.file,t[12]=c,t[13]=l,t[14]=d,t[15]=f,t[16]=p,t[17]=m):m=t[17],m}),_I=Z.memo(e=>{let t=(0,Q.c)(53),{fileCount:n,changedFiles:r,turnId:i,isLatestTurn:a,isMobile:o}=e,{t:s}=Kn(),c=Ed(),l=Bb(),u=l.directory||c,d=l.sessionId,f=Tl(),p=q(AI),m;t[0]===r?m=t[1]:(m=r??[],t[0]=r,t[1]=m);let h=m,g;t[2]===h?g=t[3]:(g=h.slice(0,mI),t[2]=h,t[3]=g);let _=g,v=Math.max(0,h.length-_.length),y=h.length>0?h.length:n,b=!!(f||!o&&u||o&&a),x;t[4]!==y||t[5]!==s?(x=s(y===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:y}),t[4]=y,t[5]=s,t[6]=x):x=t[6];let S=x,C;t[7]!==v||t[8]!==s?(C=s(v===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:v}),t[7]=v,t[8]=s,t[9]=C):C=t[9];let w=C,T=Y(cI,o?uI:lI),E=o?pI:fI,D;t[10]===o?D=t[11]:(D=o?Y(dI,`font-semibold text-foreground/85`):`typography-meta font-semibold text-foreground/85`,t[10]=o,t[11]=D);let O=D,k;t[12]===o?k=t[13]:(k=o?Y(dI,`text-muted-foreground`):`typography-meta text-muted-foreground`,t[12]=o,t[13]=k);let A=k,j;t[14]===o?j=t[15]:(j=o?Y(dI,`font-medium`):`typography-meta font-medium`,t[14]=o,t[15]=j);let M=j,N;t[16]!==u||t[17]!==d||t[18]!==a||t[19]!==o||t[20]!==f||t[21]!==i?(N=e=>{if(f){f.openTurnDiff(i,d,e);return}if(!o&&u){aN({directory:u,filePath:e,turnMessageId:i,sessionId:d});return}o&&a&&u&&aN({directory:u,filePath:e,turnMessageId:i,sessionId:d,mobile:!0})},t[16]=u,t[17]=d,t[18]=a,t[19]=o,t[20]=f,t[21]=i,t[22]=N):N=t[22];let P=J(N),F;t[23]!==u||t[24]!==d||t[25]!==a||t[26]!==o||t[27]!==f||t[28]!==p||t[29]!==i||t[30]!==_[0]?.file?(F=()=>{if(f){f.openTurnDiff(i,d);return}if(!o&&u){p(u,{mode:`diff`,dedupeKey:`turn-diff:${d||`session`}:${i}`,targetPath:null,diffScope:`turn`,diffTurnMessageId:i,diffSessionId:d});return}let e=_[0]?.file;e&&o&&a&&u&&aN({directory:u,filePath:e,turnMessageId:i,sessionId:d,mobile:!0})},t[23]=u,t[24]=d,t[25]=a,t[26]=o,t[27]=f,t[28]=p,t[29]=i,t[30]=_[0]?.file,t[31]=F):F=t[31];let I=J(F),L=o?`gap-0 border-foreground/15 p-1`:`gap-0.5 border-border/50 p-1.5`,R;t[32]===L?R=t[33]:(R=Y(`mt-4 flex min-w-0 flex-col rounded-[var(--radius-lg)] border bg-muted/20`,L),t[32]=L,t[33]=R);let z=Y(T,`max-w-full text-muted-foreground hover:text-foreground`),B;t[34]===s?B=t[35]:(B=s(`diffView.actions.reviewAria`),t[34]=s,t[35]=B);let V;t[36]===s?V=t[37]:(V=s(`diffView.actions.reviewAria`),t[36]=s,t[37]=V);let H;t[38]===E?H=t[39]:(H=(0,$.jsx)(X,{name:`file-edit`,className:E}),t[38]=E,t[39]=H);let ee=`turn-changes-${i}`,U;t[40]===s?U=t[41]:(U=s(`chat.changedFiles.title`),t[40]=s,t[41]=U);let te;t[42]!==ee||t[43]!==U||t[44]!==O?(te=(0,$.jsx)(`span`,{id:ee,className:O,children:U}),t[42]=ee,t[43]=U,t[44]=O,t[45]=te):te=t[45];let ne;t[46]!==S||t[47]!==A?(ne=(0,$.jsx)(`span`,{className:A,children:S}),t[46]=S,t[47]=A,t[48]=ne):ne=t[48];let W;t[49]===E?W=t[50]:(W=Y(E,`opacity-60`),t[49]=E,t[50]=W);let G;return t[51]===W?G=t[52]:(G=(0,$.jsx)(X,{name:`arrow-right-s`,className:W}),t[51]=W,t[52]=G),(0,$.jsxs)(`section`,{className:R,"data-turn-changes-preview":`true`,"data-message-action-group":`true`,"aria-labelledby":`turn-changes-${i}`,children:[(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`xs`,disabled:!b,onClick:I,className:z,"aria-label":B,title:V,children:[H,te,ne,G]}),_.length>0?(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col`,o?`gap-0`:`gap-0.5`),children:[_.map(e=>(0,$.jsx)(gI,{file:e,canOpen:b,isMobile:o,onOpen:P},e.file)),v>0?(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`xs`,disabled:!b,className:Y(T,`text-muted-foreground hover:text-foreground`),onClick:I,"aria-label":s(`diffView.actions.reviewAria`),title:s(`diffView.actions.reviewAria`),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:Y(E,`flex-shrink-0`)}),(0,$.jsxs)(`span`,{className:M,children:[`+`,w]}),(0,$.jsx)(X,{name:`arrow-right-s`,className:E})]}):null]}):null]})}),vI=e=>e.type===`subtask`,yI=e=>{let t=e;return t.type===`text`&&typeof t.shellAction==`object`&&t.shellAction!==null},bI=e=>{if(!e||typeof e!=`object`)return null;let t=typeof e.providerID==`string`?e.providerID.trim():``,n=typeof e.modelID==`string`?e.modelID.trim():``;return!t||!n?null:`${t}/${n}`},xI=e=>{let t=(0,Q.c)(49),{part:n}=e,[r,i]=Z.useState(!1),a=Ed(),{isMobile:o}=Bc(),s=ma(jI),c=q(MI),l=Bb(),{t:u}=Kn(),d;t[0]===n.description?d=t[1]:(d=typeof n.description==`string`?n.description.trim():``,t[0]=n.description,t[1]=d);let f=d,p;t[2]===n.command?p=t[3]:(p=typeof n.command==`string`?n.command.trim():``,t[2]=n.command,t[3]=p);let m=p,h;t[4]===n.agent?h=t[5]:(h=typeof n.agent==`string`?n.agent.trim():``,t[4]=n.agent,t[5]=h);let g=h,_;t[6]===n.prompt?_=t[7]:(_=typeof n.prompt==`string`?n.prompt.trim():``,t[6]=n.prompt,t[7]=_);let v=_,y;t[8]===n.taskSessionID?y=t[9]:(y=typeof n.taskSessionID==`string`?n.taskSessionID.trim():``,t[8]=n.taskSessionID,t[9]=y);let b=y,x;t[10]===n.model?x=t[11]:(x=bI(n.model),t[10]=n.model,t[11]=x);let S=x,C=!!v&&!(o&&l.kind===`primary`),w;t[12]===u?w=t[13]:(w=u(`chat.messageBody.subtask.title`),t[12]=u,t[13]=w);let T;t[14]===w?T=t[15]:(T=(0,$.jsx)(`span`,{className:`typography-meta font-semibold text-foreground`,children:w}),t[14]=w,t[15]=T);let E;t[16]===m?E=t[17]:(E=m?(0,$.jsxs)(`span`,{className:`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none bg-foreground/5 text-muted-foreground`,children:[`/`,m]}):null,t[16]=m,t[17]=E);let D;t[18]===g?D=t[19]:(D=g?(0,$.jsxs)(`span`,{className:`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none bg-foreground/5 text-muted-foreground`,children:[`@`,g]}):null,t[18]=g,t[19]=D);let O;t[20]===S?O=t[21]:(O=S?(0,$.jsx)(`span`,{className:`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none bg-foreground/5 text-muted-foreground`,children:S}):null,t[20]=S,t[21]=O);let k;t[22]!==D||t[23]!==O||t[24]!==T||t[25]!==E?(k=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[T,E,D,O]}),t[22]=D,t[23]=O,t[24]=T,t[25]=E,t[26]=k):k=t[26];let A;t[27]===f?A=t[28]:(A=f?(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground/90 mt-1.5`,children:f}):null,t[27]=f,t[28]=A);let j;t[29]!==r||t[30]!==v||t[31]!==C||t[32]!==u?(j=C?(0,$.jsxs)(`div`,{className:`mt-2 border-t border-border/60 pt-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,className:`typography-meta text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2`,onClick:()=>i(NI),children:u(r?`chat.messageBody.subtask.hidePrompt`:`chat.messageBody.subtask.showPrompt`)}),r?(0,$.jsx)(`pre`,{className:`typography-meta mt-1.5 overflow-x-auto whitespace-pre-wrap break-words text-foreground/85`,children:v}):null]}):null,t[29]=r,t[30]=v,t[31]=C,t[32]=u,t[33]=j):j=t[33];let M;t[34]!==g||t[35]!==f||t[36]!==a||t[37]!==o||t[38]!==c||t[39]!==l||t[40]!==s||t[41]!==u||t[42]!==b?(M=b&&l.capabilities.navigateNestedSession?(0,$.jsx)(`div`,{className:`mt-1.5`,children:(0,$.jsx)(`button`,{type:`button`,className:`typography-meta text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2`,onClick:()=>{let e=l.directory||a;e&&Hb(l,b,e,()=>{if(!Ia({sessionId:b,directory:e})){if(cl()||o||K()){s(b,e);return}c(e,{mode:`chat`,dedupeKey:`session:${b}`,label:f||g||u(`contextPanel.mode.chat`),readOnly:!0})}})},children:u(`chat.messageBody.subtask.openSession`)})}):null,t[34]=g,t[35]=f,t[36]=a,t[37]=o,t[38]=c,t[39]=l,t[40]=s,t[41]=u,t[42]=b,t[43]=M):M=t[43];let N;return t[44]!==k||t[45]!==A||t[46]!==j||t[47]!==M?(N=(0,$.jsxs)(`div`,{className:`mt-2`,children:[k,A,j,M]}),t[44]=k,t[45]=A,t[46]=j,t[47]=M,t[48]=N):N=t[48],N},SI=e=>{let t=(0,Q.c)(34),{notification:n}=e,r=Ed(),i=q(PI),{isMobile:a}=Bc(),{t:o}=Kn(),s;t[0]!==r||t[1]!==a?(s=r&&!a&&!K(),t[0]=r,t[1]=a,t[2]=s):s=t[2];let c=!!s,l;t[3]!==n.state||t[4]!==o?(l=n.state===`completed`?o(`chat.messageBody.subagent.completed`):n.state===`error`?o(`chat.messageBody.subagent.error`):o(`chat.messageBody.subagent.cancelled`),t[3]=n.state,t[4]=o,t[5]=l):l=t[5];let u=l,d=n.state===`completed`?o(`chat.messageBody.subagent.completedDescription`):n.state===`error`?o(`chat.messageBody.subagent.errorDescription`):o(`chat.messageBody.subagent.cancelledDescription`),f=n.description||d,p=J(()=>{!c||!r||i(r,{mode:`chat`,dedupeKey:`session:${n.sessionID}`,label:f,readOnly:!0})}),m;t[6]===p?m=t[7]:(m=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p())},t[6]=p,t[7]=m);let h=J(m),g=c&&`cursor-pointer hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,_;t[8]===g?_=t[9]:(_=Y(`mt-2 flex min-w-0 gap-2.5 rounded-[var(--radius-lg)] border border-border/60 bg-muted/20 px-3 py-2.5`,g),t[8]=g,t[9]=_);let v=c?`button`:void 0,y=c?0:void 0,b=c?o(`chat.messageBody.subagent.openSession`,{label:f}):void 0,x=c?p:void 0,S=c?h:void 0,C;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`span`,{className:`mt-0.5 flex size-6 flex-shrink-0 items-center justify-center rounded-md bg-foreground/5 text-muted-foreground`,children:(0,$.jsx)(X,{name:`robot-2`,className:`size-3.5`})}),t[10]=C):C=t[10];let w;t[11]===f?w=t[12]:(w=(0,$.jsx)(`span`,{className:`typography-meta min-w-0 flex-1 truncate font-semibold text-foreground/90`,children:f}),t[11]=f,t[12]=w);let T=n.state===`completed`?`bg-[var(--status-success-background)] text-[var(--status-success)]`:n.state===`error`?`bg-[var(--status-error-background)] text-[var(--status-error)]`:`bg-foreground/5 text-muted-foreground`,E;t[13]===T?E=t[14]:(E=Y(`inline-flex h-5 flex-shrink-0 items-center rounded px-1.5 text-[11px] leading-none`,T),t[13]=T,t[14]=E);let D;t[15]!==u||t[16]!==E?(D=(0,$.jsx)(`span`,{className:E,children:u}),t[15]=u,t[16]=E,t[17]=D):D=t[17];let O;t[18]!==w||t[19]!==D?(O=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[w,D]}),t[18]=w,t[19]=D,t[20]=O):O=t[20];let k;t[21]===n.body?k=t[22]:(k=n.body?(0,$.jsx)(`div`,{className:`typography-meta mt-1 max-h-16 overflow-clip text-muted-foreground [&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,children:(0,$.jsx)(td,{content:n.body,variant:`tool`,enableFileReferences:!1})}):null,t[21]=n.body,t[22]=k);let A;t[23]!==O||t[24]!==k?(A=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[O,k]}),t[23]=O,t[24]=k,t[25]=A):A=t[25];let j;return t[26]!==S||t[27]!==A||t[28]!==_||t[29]!==v||t[30]!==y||t[31]!==b||t[32]!==x?(j=(0,$.jsxs)(`div`,{className:_,role:v,tabIndex:y,"aria-label":b,onClick:x,onKeyDown:S,children:[C,A]}),t[26]=S,t[27]=A,t[28]=_,t[29]=v,t[30]=y,t[31]=b,t[32]=x,t[33]=j):j=t[33],j},CI={background:`transparent`,backgroundColor:`transparent`},wI=e=>{let t=(0,Q.c)(37),{part:n}=e,[r,i]=Z.useState(!1),a=Z.useRef(null),{t:o}=Kn(),s;t[0]===n.shellAction?s=t[1]:(s=typeof n.shellAction?.command==`string`?n.shellAction.command.trim():``,t[0]=n.shellAction,t[1]=s);let c=s,l=typeof n.shellAction?.output==`string`?n.shellAction.output:``,u;t[2]===n.shellAction?u=t[3]:(u=typeof n.shellAction?.status==`string`?n.shellAction.status.trim().toLowerCase():``,t[2]=n.shellAction,t[3]=u);let d=u,f=l.length>0,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>{a.current!==null&&typeof window<`u`&&(window.clearTimeout(a.current),a.current=null)},t[4]=p):p=t[4];let m=J(p),h,g;t[5]===m?(h=t[6],g=t[7]):(h=()=>()=>{m()},g=[m],t[5]=m,t[6]=h,t[7]=g),Z.useEffect(h,g);let _;t[8]!==m||t[9]!==f||t[10]!==l?(_=async()=>{f&&(await Gn(l)).ok&&(m(),i(!0),typeof window<`u`&&(a.current=window.setTimeout(()=>{i(!1),a.current=null},2e3)))},t[8]=m,t[9]=f,t[10]=l,t[11]=_):_=t[11];let v=J(_),y;t[12]===o?y=t[13]:(y=o(`chat.messageBody.shellCommand.title`),t[12]=o,t[13]=y);let b;t[14]===y?b=t[15]:(b=(0,$.jsx)(`span`,{className:`typography-meta font-semibold text-foreground`,children:y}),t[14]=y,t[15]=b);let x;t[16]!==d||t[17]!==o?(x=d&&d!==`completed`?(0,$.jsx)(`span`,{className:Y(`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none`,d===`error`?`bg-[var(--status-error-background)] text-[var(--status-error)]`:`bg-foreground/5 text-muted-foreground`),role:d===`error`?`alert`:`status`,children:d===`running`?o(`chat.assistantStatus.runningCommand`):d===`pending`?o(`chat.statusRow.todo.status.pending`):d===`error`?o(`chat.toolPart.error`):d}):null,t[16]=d,t[17]=o,t[18]=x):x=t[18];let S;t[19]!==r||t[20]!==v||t[21]!==f||t[22]!==o?(S=f?(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,className:`ml-auto text-muted-foreground`,onClick:()=>{v()},"aria-label":o(r?`chat.messageBody.shellCommand.copied`:`chat.messageBody.shellCommand.copyOutput`),title:o(r?`chat.messageBody.shellCommand.copied`:`chat.messageBody.shellCommand.copyOutput`),children:(0,$.jsx)(X,{name:r?`check`:`file-copy`,className:`h-3.5 w-3.5`})}):null,t[19]=r,t[20]=v,t[21]=f,t[22]=o,t[23]=S):S=t[23];let C;t[24]!==S||t[25]!==b||t[26]!==x?(C=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[b,x,S]}),t[24]=S,t[25]=b,t[26]=x,t[27]=C):C=t[27];let w;t[28]===c?w=t[29]:(w=c?(0,$.jsx)(`div`,{className:`typography-meta mt-1.5 overflow-x-auto font-mono`,children:(0,$.jsx)($d,{language:`bash`,code:c,codeStyle:CI,wrap:!0})}):null,t[28]=c,t[29]=w);let T;t[30]!==f||t[31]!==l?(T=f?(0,$.jsx)(`div`,{className:`mt-2 border-t border-border/60 pt-1.5`,children:(0,$.jsx)(`pre`,{className:`typography-meta max-h-56 overflow-auto whitespace-pre-wrap break-words font-mono text-foreground/85`,tabIndex:0,children:l})}):null,t[30]=f,t[31]=l,t[32]=T):T=t[32];let E;return t[33]!==C||t[34]!==w||t[35]!==T?(E=(0,$.jsxs)(`div`,{className:`min-w-0 rounded-lg border border-border/60 bg-[var(--surface-elevated)] px-3 py-2`,children:[C,w,T]}),t[33]=C,t[34]=w,t[35]=T,t[36]=E):E=t[36],E},TI=e=>{let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},EI=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,messageCreatedAt:i,isMobile:a,alwaysShowActions:o=a,hasTouchInput:s,hasTextContent:c,onCopyMessage:l,copiedMessage:u,onShowPopup:d,agentMention:f,onEdit:p,onRevert:m,onFork:h,pendingMessageAction:g,editing:_,editStaged:v,onCancelEdit:y,userActionsMode:b=`inline`,stickyUserHeaderEnabled:x=!0})=>{let{locale:S,t:C}=Kn(),w=wx(),T=Vb(Bb()),E=q(e=>e.timeFormatPreference),[D,O]=Z.useState(!1),k=Z.useRef(null),A=Z.useMemo(()=>n.filter(e=>e.type===`text`?!yD(e):!!(vI(e)||yI(e))),[n]),j=Z.useMemo(()=>A.map(e=>na(e)?sk(_D(e)):void 0),[A]),M=f?.token,N=!1,P=!!l,F=!!u,I=!!(s??a),L=!!c,R=b!==`external-actions`,z=b!==`external-content`,B=x&&b===`inline`,V=J(()=>{k.current!==null&&typeof window<`u`&&(window.clearTimeout(k.current),k.current=null)}),H=J(()=>{!I||!P||!L||typeof window>`u`||(V(),O(!0),k.current=window.setTimeout(()=>{O(!1),k.current=null},1800))});Z.useEffect(()=>{L||(O(!1),V())},[V,L]);let ee=J(e=>{!l||!L||(e.stopPropagation(),e.preventDefault(),l(),I&&H())}),U=w===`mini-chat`||!T.fork?void 0:h,te=Z.useMemo(()=>{if(typeof i!=`number`||i<=0)return null;let e=pP(i,E);return e.length>0?e:null},[S,i,E]),ne=Y(`oc-user-actions-hover-scope`,a?b===`inline`?`flex items-center justify-end pt-2 pb-3`:x?`flex h-9 items-start justify-end pt-0`:`flex h-11 items-start justify-end pt-0`:b===`inline`?`absolute top-full left-0 right-0 z-10 pt-5`:`flex h-8 items-start justify-end pt-2`),W=!_&&v&&z?(0,$.jsx)(`div`,{className:ne,...fO,children:(0,$.jsxs)(`div`,{className:Y($F,`justify-end`,!a&&b===`inline`&&`translate-x-5`,`pointer-events-auto opacity-100`),"data-message-action-group":`true`,children:[(0,$.jsxs)(`span`,{className:Y(nI,`text-primary`),"aria-live":`polite`,children:[(0,$.jsx)(X,{weight:iI,name:`edit`,className:rI}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:C(`chat.messageBody.actions.editStaged`)})]}),y?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:YF,"aria-label":C(`chat.messageBody.actions.cancelEdit`),onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),y()},children:(0,$.jsx)(X,{weight:iI,name:`close`,className:XF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.cancelEdit`)})]}):null]})}):null,G=(_&&z?(0,$.jsx)(`div`,{className:ne,...fO,children:(0,$.jsx)(`div`,{className:Y($F,`justify-end`,!a&&b===`inline`&&`translate-x-5`,`pointer-events-none opacity-100`),children:(0,$.jsx)(`span`,{className:Y(nI,`animate-text-shimmer`),"aria-live":`polite`,children:C(`chat.messageBody.actions.editing`)})})}):null)??W??((P&&L||p||m||U)&&z?(0,$.jsx)(`div`,{className:ne,...fO,children:(0,$.jsxs)(`div`,{className:Y($F,`justify-end`,!a&&b===`inline`&&`translate-x-5`,o?`pointer-events-auto opacity-100`:`pointer-events-none opacity-0 transition-opacity duration-150 oc-message-hover-actions`),"data-message-action-group":`true`,children:[te?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:Y(nI,`mr-1`),"aria-label":`Message time: ${te}`,children:[(0,$.jsx)(X,{weight:iI,name:`time`,className:rI}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:te})]})}),(0,$.jsx)(Bs,{children:te})]}):null,m&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:YF,"aria-label":C(`chat.messageBody.actions.revertAria`),"aria-busy":g===`revert`,disabled:!!g,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),m()},children:(0,$.jsx)(X,{weight:iI,name:g===`revert`?`loader-4`:`arrow-go-back`,className:Y(XF,g===`revert`&&`animate-spin`)})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.revert`)})]}),p&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:YF,"aria-label":C(`chat.messageBody.actions.editAria`),disabled:!!g,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),p()},children:(0,$.jsx)(X,{weight:iI,name:`edit`,className:XF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.edit`)})]}),U&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:YF,"aria-label":C(`chat.messageBody.actions.forkAria`),"aria-busy":g===`fork`,disabled:!!g,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),U()},children:(0,$.jsx)(X,{weight:iI,name:g===`fork`?`loader-4`:`git-branch`,className:Y(XF,g===`fork`&&`animate-spin`)})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.fork`)})]}),P&&L&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":D||F?`true`:void 0,className:YF,"aria-label":C(`chat.messageBody.actions.copyMessageAria`),onPointerDown:e=>e.stopPropagation(),onClick:ee,onFocus:()=>O(!0),onBlur:()=>{F||O(!1)},children:F?(0,$.jsx)(X,{weight:iI,name:`check`,className:Y(XF,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:iI,name:`file-copy`,className:XF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.copyMessage`)})]})]})}):null);return R?(0,$.jsxs)(`div`,{className:`relative w-full oc-message-hover-scope`,...fO,"data-user-message-body":`true`,style:GF,onTouchStart:I&&P&&L?H:void 0,children:[(0,$.jsx)(`div`,{className:Y(`leading-relaxed text-foreground/90 text-base overflow-x-hidden`,B?`overflow-y-auto overscroll-contain scrollbar-none`:`overflow-y-hidden`),style:B?{maxHeight:`calc(var(--chat-scroll-height, 100dvh) * 0.4)`}:void 0,children:A.map((e,i)=>{if(vI(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(xI,{part:e})},e.id??`user-subtask-${i}`);if(yI(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(wI,{part:e})},e.id??`user-shell-${i}`);let o=j[i];if(o)return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(SI,{notification:o})},e.id??`subagent-notification-${i}`);let s;return f&&M&&!N&&_D(e).includes(M)&&(s=f,N=!0),(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(kO,{part:e,messageId:t,isMobile:a,agentMention:s,messageParts:r??n})},e.id??`user-text-${i}`)})}),(0,$.jsx)(zg,{files:n,messageID:t,sessionID:e,onShowPopup:d,compact:!0}),G]}):(0,$.jsx)($.Fragment,{children:G})}),DI=Z.memo(({messageId:e,hasCopyableText:t,isTouchContext:n,onCopyMessage:r,reviewTransferAction:i,ttsText:a,sessionId:o})=>{let{t:s}=Kn(),c=wx(),l=Bb(),u=Vb(l),{isPlaying:d,play:f,stop:p}=jN(),m=Z.useContext(NN),h=!!(m&&m.sessionId===o&&m.messageId===e),g=d||h,_=aa(e=>e.showMessageTTSButtons),v=aa(e=>e.voiceProvider),[y,b]=Z.useState(!1),[x,S]=Z.useState(!1),[C,w]=Z.useState(!1),T=Z.useRef(null),E=Z.useRef(null),D=!!r,O=!!((l.sessionId||o)&&l.directory&&u.openSourceSession&&c!==`mini-chat`),k=J(()=>{T.current!==null&&typeof window<`u`&&(window.clearTimeout(T.current),T.current=null)}),A=J(()=>{E.current!==null&&typeof window<`u`&&(window.clearTimeout(E.current),E.current=null)});Z.useEffect(()=>()=>{k(),A()},[A,k]),Z.useEffect(()=>{(!t||!D)&&(b(!1),S(!1),k(),A())},[D,A,k,t]);let j=J(()=>{!n||!D||!t||typeof window>`u`||(k(),b(!0),T.current=window.setTimeout(()=>{b(!1),T.current=null},1800))}),M=J(async e=>{!r||!t||(e.stopPropagation(),e.preventDefault(),await r()!==!1&&(A(),S(!0),typeof window<`u`&&(E.current=window.setTimeout(()=>{S(!1),E.current=null},2e3)),n&&j()))}),N=J(async e=>{if(e.stopPropagation(),e.preventDefault(),!(!i||C||!t)){w(!0);try{await i.onClick()}finally{w(!1)}}}),P=J(e=>{e.stopPropagation(),e.preventDefault();let t=l.sessionId||o;!t||!l.directory||!l.openSourceSession||l.openSourceSession(t,l.directory)}),F=Z.useMemo(()=>g?s(`chat.messageBody.tts.stopSpeaking`):s(`chat.messageBody.tts.readAloudWithProvider`,{provider:v===`browser`?`Browser`:v===`openai`?`OpenAI`:v===`openai-compatible`?`Custom`:`Say`}),[g,s,v]),I=J(e=>{if(e.stopPropagation(),e.preventDefault(),g){h&&m?.stop(),p();return}a.trim()&&f(a)});return(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":y||x?`true`:void 0,className:Y(YF,!t&&`opacity-50`),disabled:!t,"aria-label":s(`chat.messageBody.actions.copyMessageAria`),"aria-hidden":!t,onPointerDown:e=>e.stopPropagation(),onClick:e=>{M(e)},onFocus:()=>{t&&b(!0)},onBlur:()=>{x||b(!1)},children:x?(0,$.jsx)(X,{weight:iI,name:`check`,className:Y(XF,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:iI,name:`file-copy`,className:XF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:s(`chat.messageBody.actions.copyAnswer`)})]}),O?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:YF,"aria-label":s(`chat.messageBody.actions.openSourceSessionAria`),onPointerDown:e=>e.stopPropagation(),onClick:P,children:(0,$.jsx)(X,{weight:iI,name:`target`,className:XF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:s(`chat.messageBody.actions.openSourceSession`)})]}):null,i&&c!==`mini-chat`&&u.reviewTransfer?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,size:`icon`,variant:`ghost`,disabled:C||!t,className:Y(YF,(!t||C)&&`opacity-50`),"aria-label":i.ariaLabel,onPointerDown:e=>e.stopPropagation(),onClick:e=>{N(e)},children:C?(0,$.jsx)(X,{weight:iI,name:`loader-4`,className:Y(XF,`animate-spin`)}):(0,$.jsx)(X,{weight:iI,name:`arrow-left-right`,className:XF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:i.tooltip})]}):null,c!==`mini-chat`&&_&&t&&a.trim()&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:Y(YF,`!bg-transparent shadow-none`,g?`text-[var(--primary-base)]`:`hover:text-foreground/80`),"aria-label":s(g?`chat.messageBody.tts.stopSpeaking`:`chat.messageBody.tts.readAloud`),"aria-pressed":g,onPointerDown:e=>e.stopPropagation(),onClick:I,children:(0,$.jsx)(sh,{kind:`speaker`,active:g,className:XF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:F})]})]})}),OI=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,isMessageCompleted:i,messageFinish:a,messageCompletedAt:o,messageCreatedAt:s,isMobile:c,alwaysShowActions:l,hasTouchInput:u,expandedTools:d,onToggleTool:f,onShowPopup:p,streamPhase:m,allowAnimation:h,onContentChange:g,hasTextContent:_=!1,onCopyMessage:v,onAuxiliaryContentComplete:y,showReasoningTraces:b=!1,shouldShowHeader:x=!1,turnGroupingContext:S,errorPresentation:C,reviewTransferDirection:w=null})=>{let T=C?.text,{t:E}=Kn(),D=wx(),O=Bb(),k=Vb(O),A=m,j=Z.useRef(null),M=Z.useRef(null),N=m===`streaming`||m===`cooldown`,P=Z.useRef({messageId:t,experiencedStreamingOrCooldown:N});P.current.messageId===t?N&&(P.current.experiencedStreamingOrCooldown=!0):P.current={messageId:t,experiencedStreamingOrCooldown:N};let F=!!(u??c),I=!!(l??c),L=c?QF:ZF,R=!i,z=Z.useMemo(()=>n.filter(e=>!yD(e)).filter(e=>e.type!==`reasoning`||b&&_D(e).trim().length>0).filter(e=>e.type!==`compaction`),[n,b]),B=Z.useMemo(()=>z.filter(e=>e.type===`tool`),[z]),V=Z.useMemo(()=>z.filter(e=>e.type===`text`),[z]),H=Z.useMemo(()=>ua(V),[V]),ee=q(e=>e.openContextPreview),U=K(),te=D===`mini-chat`,ne=Z.useMemo(()=>{if(U||c||te)return null;for(let e of V){let t=e.text;if(typeof t!=`string`||t.length===0)continue;let n=xd(t)[0];if(n)return n.includes(`0.0.0.0`)?n.replace(`0.0.0.0`,`127.0.0.1`):n}for(let e of B){let t=e.state,n=t&&typeof t.output==`string`?t.output:null;if(!n)continue;let r=xd(n.replace(/\x1b\[[0-9;]*m/g,``))[0];if(r)return r.includes(`0.0.0.0`)?r.replace(`0.0.0.0`,`127.0.0.1`):r}return null},[V,c,te,U,B]),W=ma(e=>e.forkFromMessage),G=ma(e=>e.forkTransition),re=ma(e=>e.currentSessionId),ie=ma(e=>e.getDirectoryForSession),ae=Ed(),oe=w===`review-to-original`,se=!c&&!U?w:null,ce=Z.useMemo(()=>{let t=H.trim();if(!(!e||!ae||!t||!se))return se===`review-to-original`?{ariaLabel:E(`chat.messageBody.actions.sendReviewFeedback`),tooltip:E(`chat.messageBody.actions.sendReviewFeedback`),onClick:async()=>{try{await vo(e,ae,t)}catch(e){console.error(`[review-flow] failed to send review feedback`,e)}}}:{ariaLabel:E(`chat.messageBody.actions.sendImplementationResponse`),tooltip:E(`chat.messageBody.actions.sendImplementationResponse`),onClick:async()=>{try{await Jr(e,ae,t)}catch(e){console.error(`[review-flow] failed to send implementation response`,e)}}}},[H,ae,se,e,E]),[le,ue]=Z.useState(!1),de=q(e=>e.chatRenderMode),fe=S?de:`live`,pe=q(e=>e.collapsibleThinkingBlocks),me=q(e=>e.showSplitAssistantMessageActions),he=q(e=>e.showAssistantTps),ge=fe===`sorted`,_e=S?.isLastAssistantInTurn??!1,ve=a===`stop`,ye=(ve||i||!!T)&&(S?.isTurnSettled??!0),be=ve?`completed`:A,xe=B.length>0,Se=Z.useMemo(()=>B.some(e=>hj(e)),[B]),Ce=hj,we=mj,Te=P.current.experiencedStreamingOrCooldown,Ee=Z.useRef({messageId:t,initialized:!1,observedPartIds:new Set});Z.useEffect(()=>{if(Ee.current.messageId!==t&&(Ee.current={messageId:t,initialized:!1,observedPartIds:new Set}),!Te||!Lr())return;let n=Ee.current,r=!n.initialized;n.initialized=!0;for(let i of B){if(n.observedPartIds.has(i.id))continue;if(!ji(r,Ce(i))){n.observedPartIds.add(i.id);continue}let a=e??i.sessionID;a&&(n.observedPartIds.add(i.id),fr({sessionID:a,messageID:t,partID:i.id,kind:`tool`}))}},[Te,Ce,t,e,B]);let De=Z.useMemo(()=>B.length===0||!Se&&B.every(e=>we(e)),[B,Se,we]),Oe=Z.useMemo(()=>z.filter(e=>e.type===`reasoning`),[z]),ke=Z.useMemo(()=>Oe.length===0||Oe.every(e=>typeof e.time?.end==`number`),[Oe]),Ae=typeof a!=`string`,je=Oe.length>0&&xe&&(Se||Ae||!De),Me=R||xe&&(Se||Ae||!De),Ne=R||je,Pe=xe||Oe.length>0,Fe=V.length===0,Ie=Pe&&Fe&&!Me&&!Ne&&De&&ke,Le=Z.useRef(!1),Re=Z.useRef(!1);Z.useEffect(()=>{Re.current=!1},[t]),Z.useEffect(()=>{if(!Ie){Le.current=!1;return}Le.current||(Le.current=!0,y?.())},[Ie,y]),Z.useEffect(()=>{if(R){Re.current=!1;return}if(xe){Re.current=!1;return}Oe.length!==0&&(Ne||!ke||Re.current||(Re.current=!0,g?.(`structural`)))},[R,xe,g,ke,Oe.length,Ne]);let ze=!!_&&!R,Be=J(async n=>{if(n.stopPropagation(),n.preventDefault(),!(!e||!t||le||G)){ue(!0);try{await W(e,t)}finally{ue(!1)}}}),Ve=Z.useMemo(()=>{let e=S?.activityParts;return!ge||!e?[]:e},[ge,S?.activityParts]),He=Z.useMemo(()=>{let e=S?.activityGroupSegments;return!ge||!e?[]:e.filter(e=>e.anchorMessageId===t)},[ge,t,S?.activityGroupSegments]),Ue=He.length>0,We=Z.useMemo(()=>{let e=new Map,t=new Map;return Ve.forEach(n=>{e.set(n.part,n);let r=n.part.id;typeof r==`string`&&r.length>0&&t.set(r,n)}),{get:n=>{let r=e.get(n);if(r)return r;let i=n.id;if(typeof i==`string`&&i.length>0)return t.get(i)}}},[Ve]),Ge=S?.toggleGroup,Ke=S?.activityPresentationKind===`compaction`,qe=S?.isGroupExpanded===!0,Je=ge&&Ke&&!qe,Ye=ge?S?.activityOwnerMessageId===t||Ue:!S?.activityOwnerMessageId||S.activityOwnerMessageId===t||Ue,Xe=ge&&Ye&&(Ue||Ke)&&!!Ge,Ze=fN(a,z),Qe={finish:a,parts:z,streamPhase:be,error:T,isLastAssistantInTurn:_e},$e=_N(Qe),et=aa(e=>e.ttsInputMode),tt=Z.useMemo(()=>{if(!_e||Ke||!ye||!$e)return``;let e=r??n,t=mN(e);return t<0?``:_D(e[t])},[_e,Ke,ye,$e,r,n]),nt=et===`final`?tt:H;PN({sessionId:e??``,messageId:t,created:s??0,text:nt,streaming:c&&O.active&&(A===`streaming`||A===`cooldown`),completed:c&&O.active&&i&&A!==`streaming`&&A!==`cooldown`&&!T});let rt=ge&&vN(Qe),it=ge&&!$e&&!(Ke&&qe),at=ze,ot=_e&&ye&&C?.variant!==`error`&&!Je&&(_||!!T||i),st=S?.diffStats?.hasDiffs===!0,ct=S?.isLatestTurn&&e&&O.active&&!te,lt=!te&&_e&&Ze&&ye&&!Je&&S?.diffStats?.hasDiffs===!0,ut=me&&at&&!ot&&!ge,dt=Z.useMemo(()=>(0,$.jsx)(DI,{messageId:t,hasCopyableText:ze,isTouchContext:F,onCopyMessage:v,ttsText:nt,reviewTransferAction:ce,sessionId:e}),[nt,ze,F,v,ce,e,t]),ft=Z.useMemo(()=>e=>{if(!me||!ge)return null;let t=_D(e.part).trim();return t?(0,$.jsx)(DI,{hasCopyableText:!0,isTouchContext:F,onCopyMessage:async()=>(await Gn(t)).ok,ttsText:et===`final`?``:t}):null},[ge,F,me,et]),pt=Z.useMemo(()=>{if(!ut)return-1;let e=-1;for(let t=0;t<z.length;t+=1){let n=z[t];!n||n.type!==`text`||it||We.get(n)?.kind!==`justification`&&(e=t)}return e},[We,it,ut,z]),mt=ut&&pt<0,ht=Z.useMemo(()=>{let n=[];if(Xe&&Ge&&S){let e=(e,t,r=t)=>{n.push((0,$.jsx)(`div`,{children:(0,$.jsx)(HF,{parts:t,materializationParts:r,isExpanded:S.isGroupExpanded===!0,collapsedPreviewCount:0,completionDisposition:S.completionDisposition,activityPresentationKind:S.activityPresentationKind,durationMs:S.durationMs,startedAt:S.userMessageCreatedAt,onToggle:Ge,isMobile:c,expandedTools:d,onToggleTool:f,onShowPopup:p,onContentChange:g,streamPhase:be,showHeader:!0,diffStats:S.diffStats,renderJustificationActions:ft})},`progressive-group-${e}`))};He.length>0?He.forEach(t=>{let n=b?t.parts:t.parts.filter(e=>e.kind!==`reasoning`);e(t.id,n,t.parts)}):Ke&&e(`${t}:compaction-status`,[])}let r=0;for(;r<z.length;){let i=z[r];if(i.type===`text`){let a=We.get(i);if(it){r+=1;continue}if(Je){r+=1;continue}if(a?.kind===`justification`){r+=1;continue}n.push((0,$.jsx)(`div`,{ref:M,"data-message-text-export-source":`true`,children:(0,$.jsx)(WM,{part:i,sessionId:e,messageId:t,streamPhase:be,chatRenderMode:fe,allowSortedFinalStreaming:rt,hasStreamingHapticLifecycle:Te,onContentChange:g,onShowPopup:p})},`assistant-text-${t}-${i.id??r}`)),ut&&r===pt&&n.push((0,$.jsx)(`div`,{className:c?JF:qF,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:$F,"data-message-action-group":`true`,children:dt})},`message-actions-${t}`)),r++;continue}if(i.type===`reasoning`){if(We.get(i)?.kind===`reasoning`){r+=1;continue}if(!_D(i).trim()){r+=1;continue}b&&(pe?n.push((0,$.jsx)(`div`,{className:hy(c),children:(0,$.jsx)(nN,{part:i,messageId:t,streamPhase:be,onContentChange:g})},`reasoning-${t}-${i.id??r}`)):n.push((0,$.jsx)(WM,{part:i,sessionId:e,messageId:t,streamPhase:be,chatRenderMode:fe,hasStreamingHapticLifecycle:Te,onContentChange:g,onShowPopup:p},`reasoning-${t}-${i.id??r}`))),r++;continue}if(i.type===`tool`){let e=i,a=e.tool?.toLowerCase()??``;if(ge&&!Ye){r+=1;continue}if(We.get(i)?.kind===`tool`){r+=1;continue}if(ge&&pj(a)){let e=ZP(z,r,e=>e.type!==`tool`||We.get(e)?.kind===`tool`?``:e.tool);if(e.items.length>0){let i=e.items.map((e,n)=>{let i=e;return{id:i.id,turnId:``,messageId:t,partIndex:r+n,part:i,kind:`tool`}});n.push((0,$.jsx)(eF,{activities:i,isMobile:c,isTurnLive:be!==`completed`,hasFollowingOtherType:YP(z,e.end,e=>({type:e.type,toolName:e.type===`tool`?e.tool:void 0})),children:i.map(e=>{let n=e.part.tool?.toLowerCase()??``;return uj(n)?(0,$.jsx)(PF,{toolName:n,activities:[e],isMobile:c,animateTailText:!1},e.id):(0,$.jsx)(wM,{part:e.part,messageId:t,isExpanded:d.has(e.part.id),onToggle:f,isMobile:c,alwaysShowActions:I,onContentChange:g,onShowPopup:p,animateTailText:!1},e.id)})},`context-tools-${i[0].id}`)),r=e.end;continue}}if(dj(a)){let e=tF(z,r,e=>e.type!==`tool`||We.get(e)?.kind===`tool`?``:e.tool);if(e.items.length>0){let i=e.items.map((e,n)=>{let i=e;return{id:i.id,turnId:``,messageId:t,partIndex:r+n,part:i,kind:`tool`}});n.push((0,$.jsx)(oF,{activities:i,isMobile:c,children:i.map(e=>(0,$.jsx)(PF,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id))},`skill-tools-${i[0].id}`)),r=e.end;continue}}if(sj(a)){n.push((0,$.jsx)(`div`,{className:hy(c),children:(0,$.jsx)(wM,{part:e,messageId:t,isExpanded:d.has(e.id),onToggle:f,isMobile:c,alwaysShowActions:I,onContentChange:g,onShowPopup:p,animateTailText:!1})},`tool-${e.id}`)),r++;continue}n.push((0,$.jsx)(`div`,{className:hy(c),children:(0,$.jsx)(PF,{toolName:a,activities:[{id:e.id,turnId:``,messageId:t,partIndex:r,part:e,kind:`tool`}],isMobile:c,animateTailText:!1})},`static-tools-${e.id}`)),r++;continue}r++}let i=n.at(-1);if(Z.isValidElement(i)&&i.props[`data-message-text-export-source`]===`true`&&be!==`completed`&&!ye&&!C&&(!S||S.isLastAssistantInTurn)){let e=i;n[n.length-1]=Z.cloneElement(e,{className:Y(typeof e.props.className==`string`?e.props.className:void 0,c?`pb-1`:`pb-1.5`),"data-live-status-text-gap":``})}return n},[We,He,I,fe,pe,0,d,Je,Ke,c,Ye,ge,pt,t,dt,ft,e,g,p,f,Xe,ut,be,C,Te,ye,b,it,rt,Ge,S,z]),gt=Z.useMemo(()=>{if(!_e||!ye)return;let e=S?.durationMs;if(!(typeof e!=`number`||e<=0))return TI(e)},[_e,ye,S?.durationMs]),_t=Z.useMemo(()=>{let e=typeof o==`number`&&o>0?o:typeof s==`number`&&s>0?s:null;if(e===null)return null;let t=fP(e);return t.length>0?t:null},[o,s]),vt=Z.useMemo(()=>{if(!he||!_e||C?.variant===`error`)return null;let e=S?.assistantTps;if(!MP({completionDisposition:S?.completionDisposition,tps:e}))return null;let t=NP(e??0);return t.length>0?t:null},[he,C?.variant,_e,S?.assistantTps,S?.completionDisposition]),yt=(0,$.jsxs)($.Fragment,{children:[!te&&!c&&!U&&ne?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:YF,"aria-label":E(`chat.messageBody.actions.openPreviewAria`),onPointerDown:e=>e.stopPropagation(),onClick:()=>{let e=ae??(re?ie(re):null);e&&ee(e,ne)},children:(0,$.jsx)(X,{weight:iI,name:`global`,className:XF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:E(`chat.messageBody.actions.openPreview`)})]}):null,!te&&!oe&&k.fork?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,size:`icon`,variant:`ghost`,className:YF,"aria-label":E(`chat.messageBody.actions.forkAria`),"aria-busy":le,disabled:le||!!G,onPointerDown:e=>e.stopPropagation(),onClick:e=>{Be(e)},children:(0,$.jsx)(X,{weight:iI,name:le?`loader-4`:`git-branch`,className:Y(XF,le&&`animate-spin`)})})}),(0,$.jsx)(Bs,{sideOffset:6,children:E(`chat.messageBody.actions.fork`)})]}):null]});return(0,$.jsxs)(`div`,{ref:j,"data-message-text-export-root":`true`,...fO,className:Y(`relative w-full oc-message-hover-scope`),style:GF,children:[(0,$.jsx)(sP,{containerRef:j}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:Y(`message-content-text leading-relaxed text-foreground/90 [&_p:last-child]:mb-0 [&_ul:last-child]:mb-0 [&_ol:last-child]:mb-0`,(x||S?.headerMessageId===t)&&(c?`[&>[data-message-text-export-source]:first-child]:pt-1.5`:`[&>[data-message-text-export-source]:first-child]:pt-2`)),children:[ht,C&&(0,$.jsx)(jd,{children:(0,$.jsx)(`div`,{className:`my-1.5`,"data-assistant-error":C.variant,children:(0,$.jsx)(WF,{presentation:C,sessionId:e,messageId:t,directory:ae??void 0})})},`assistant-error`)]}),lt&&S?.diffStats?(0,$.jsx)(_I,{fileCount:S.diffStats.files,changedFiles:S.changedFiles,turnId:S.turnId,isLatestTurn:S.isLatestTurn,isMobile:c}):null,(0,$.jsx)(zg,{files:n,messageID:t,sessionID:e,onShowPopup:p}),mt&&(0,$.jsx)(`div`,{className:Y(c?JF:qF),"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:$F,"data-message-action-group":`true`,children:dt})}),ot&&(0,$.jsxs)(`div`,{className:L,"data-message-footer":`true`,style:KF,children:[(0,$.jsxs)(`div`,{className:$F,"data-message-action-group":`true`,children:[dt,yt]}),vt||gt||_t||ct?(0,$.jsxs)(`div`,{className:eI,children:[vt?(0,$.jsx)(oI,{label:vt}):null,gt?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:nI,children:[(0,$.jsx)(X,{weight:iI,name:`hourglass`,className:rI}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:gt})]})}),(0,$.jsx)(Bs,{children:gt})]}):null,ct&&e?(0,$.jsx)(PP,{sessionId:e}):null,_t?(0,$.jsx)(aI,{messageId:t,label:_t,focusReveal:c}):null]}):null,!te&&_e&&ve&&!st?(0,$.jsx)(oN,{activityParts:S?.activityParts}):null]}),!ot&&!Je&&vt?(0,$.jsx)(`div`,{className:L,"data-message-footer":`true`,"data-message-tps":`interrupted`,style:KF,children:(0,$.jsx)(`div`,{className:eI,children:(0,$.jsx)(oI,{label:vt})})}):null]})]})}),kI=Z.memo(e=>{let t=(0,Q.c)(28),n,r;if(t[0]===e?(n=t[1],r=t[2]):({isUser:n,...r}=e,t[0]=e,t[1]=n,t[2]=r),n){let e;return t[3]!==r.agentMention||t[4]!==r.alwaysShowActions||t[5]!==r.copiedMessage||t[6]!==r.editStaged||t[7]!==r.editing||t[8]!==r.hasTextContent||t[9]!==r.hasTouchInput||t[10]!==r.isMobile||t[11]!==r.messageCreatedAt||t[12]!==r.messageId||t[13]!==r.onCancelEdit||t[14]!==r.onCopyMessage||t[15]!==r.onEdit||t[16]!==r.onFork||t[17]!==r.onRevert||t[18]!==r.onShowPopup||t[19]!==r.parts||t[20]!==r.pendingMessageAction||t[21]!==r.sessionId||t[22]!==r.sourceParts||t[23]!==r.stickyUserHeaderEnabled||t[24]!==r.userActionsMode?(e=(0,$.jsx)(EI,{sessionId:r.sessionId,messageId:r.messageId,parts:r.parts,sourceParts:r.sourceParts,messageCreatedAt:r.messageCreatedAt,isMobile:r.isMobile,alwaysShowActions:r.alwaysShowActions,hasTouchInput:r.hasTouchInput,hasTextContent:r.hasTextContent,onCopyMessage:r.onCopyMessage,copiedMessage:r.copiedMessage,onShowPopup:r.onShowPopup,agentMention:r.agentMention,onEdit:r.onEdit,onRevert:r.onRevert,onFork:r.onFork,pendingMessageAction:r.pendingMessageAction,editing:r.editing,editStaged:r.editStaged,onCancelEdit:r.onCancelEdit,userActionsMode:r.userActionsMode,stickyUserHeaderEnabled:r.stickyUserHeaderEnabled}),t[3]=r.agentMention,t[4]=r.alwaysShowActions,t[5]=r.copiedMessage,t[6]=r.editStaged,t[7]=r.editing,t[8]=r.hasTextContent,t[9]=r.hasTouchInput,t[10]=r.isMobile,t[11]=r.messageCreatedAt,t[12]=r.messageId,t[13]=r.onCancelEdit,t[14]=r.onCopyMessage,t[15]=r.onEdit,t[16]=r.onFork,t[17]=r.onRevert,t[18]=r.onShowPopup,t[19]=r.parts,t[20]=r.pendingMessageAction,t[21]=r.sessionId,t[22]=r.sourceParts,t[23]=r.stickyUserHeaderEnabled,t[24]=r.userActionsMode,t[25]=e):e=t[25],e}let i;return t[26]===r?i=t[27]:(i=(0,$.jsx)(OI,{...r}),t[26]=r,t[27]=i),i});function AI(e){return e.openContextPanelTab}function jI(e){return e.setCurrentSession}function MI(e){return e.openContextPanelTab}function NI(e){return!e}function PI(e){return e.openContextPanelTab}var FI=e=>{let t=e,n=t?.clientRole,r=t?.role;return t?.userMessageMarker===!0||n===`user`||r===`user`||t?.origin===`user`||t?.source===`user`?{role:`user`,isUser:!0}:{role:n||r||`assistant`,isUser:!1}},II=e=>{if(typeof e!=`string`)return!1;let t=e.toLowerCase().trim();if(!t)return!1;if(t.includes(`token refresh failed`)||t.includes(`unauthorized`)||t.includes(`invalid token`)||t.includes(`expired token`))return!0;let n=t.includes(`oauth`),r=t.includes(`failed`)||t.includes(`invalid`)||t.includes(`expired`);if(n&&r)return!0;let i=/\b401\b/.test(t),a=t.includes(`auth`)||t.includes(`token`)||t.includes(`unauthorized`);return i&&a},LI={"provider.rate-limit":`chat.response.rateLimit`,"provider.auth":`chat.response.auth`,"provider.quota":`chat.response.quota`,"provider.content-filter":`chat.response.contentFilter`,"provider.transport":`chat.response.transport`,"provider.internal":`chat.response.internal`,"provider.invalid-output":`chat.response.invalidOutput`,"provider.invalid-request":`chat.response.invalidRequest`,"provider.unsupported-operation":`chat.response.unsupportedOperation`,"provider.no-route":`chat.response.noRoute`,"provider.unknown":`chat.response.providerUnknown`,"provider.timeout":`chat.response.timeout`,"permission.rejected":`chat.response.permissionRejected`,"tool.execution":`chat.response.toolExecution`,"compaction.failed":`chat.response.compactionFailed`,"compaction.unavailable":`chat.response.compactionUnavailable`,"compaction.interrupted":`chat.response.compactionInterrupted`},RI={icon:`pause-circle`,variant:`muted`};function zI(e,t){if(!e||typeof e!=`object`)return;let n=e,r=typeof n.data?.message==`string`?n.data.message:typeof n.message==`string`?n.message:void 0,i=typeof n.name==`string`?n.name:void 0,a=typeof n.type==`string`?n.type.trim():void 0,o=typeof n.status==`number`&&Number.isInteger(n.status)&&n.status>=100&&n.status<=599?n.status:void 0;if(!r&&!a&&!i&&o===void 0)return;let s=[a&&a!==`unknown`&&a!==`error`?a:void 0,o].filter(e=>e!==void 0).join(` · `)||void 0,c=(e,n,i=`error`,a=!1)=>({text:t(e),icon:n,variant:i,...r&&!a?{rawMessage:r}:{},...s?{detail:s}:{}});if(i===`SessionRetry`)return c(`chat.response.retrying`,`refresh`,`info`);if(a===`aborted`)return r===`Execution was interrupted repeatedly and will not be resumed automatically.`?c(`chat.response.resumeExhausted`,`error-warning`,`error`,!0):r===`Session interrupted by user`?c(`chat.response.stopped`,`stop-circle`,`muted`,!0):r===`Compaction cancelled`?c(`chat.response.compactionCancelled`,`stop-circle`,`muted`,!0):r===`Tool execution interrupted`?c(`chat.response.toolInterrupted`,RI.icon,RI.variant,!0):c(`chat.response.interrupted`,RI.icon,RI.variant,r===`Step interrupted`);if(i===`MessageAbortedError`||!a&&r?.trim().toLowerCase()===`aborted`)return c(`chat.response.stopped`,`stop-circle`,`muted`,!0);if(a&&Object.hasOwn(LI,a)){if(a===`compaction.interrupted`)return c(LI[a],RI.icon,RI.variant,r===`Compaction was interrupted`);if(a===`compaction.unavailable`)return c(LI[a],`information`,`info`,r===`Nothing to compact yet`);let e=a===`provider.auth`||a===`permission.rejected`?`lock`:a===`provider.timeout`?`time`:`error-warning`;return c(LI[a],e)}return(!a||a===`unknown`||a===`error`)&&II(r)?c(`chat.response.auth`,`lock`):{...c(`chat.response.failed`,`error-warning`),...!r&&i?{rawMessage:i}:{}}}function BI(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.nativeType===`synthetic`&&t.description===`Continuing after restart`}function VI(e,t){if(BI(e))return{text:t(`chat.response.continuingAfterRestart`),icon:`restart`,variant:`info`}}function HI(e){return!e}function UI(e){let t=(0,Q.c)(60),{part:n,isMobile:r}=e,i=r!==void 0&&r,{t:a}=Kn(),o;t[0]!==n.id||t[1]!==n.messageID||t[2]!==n.sessionID?(o=JSON.stringify([n.sessionID,n.messageID,n.id]),t[0]=n.id,t[1]=n.messageID,t[2]=n.sessionID,t[3]=o):o=t[3];let s=o,{expanded:c,toggle:l}=uO(s),u=(0,Z.useId)(),d;t[4]!==s||t[5]!==l?(d=()=>l(s),t[4]=s,t[5]=l,t[6]=d):d=t[6];let f=J(d),p=n.status===`running`,m=n.status===`failed`,h;t[7]!==m||t[8]!==p||t[9]!==a?(h=a(p?`chat.activity.compacting`:m?`chat.activity.compactionFailed`:`chat.activity.compactionCompleted`),t[7]=m,t[8]=p,t[9]=a,t[10]=h):h=t[10];let g=h,_;t[11]!==m||t[12]!==n.error||t[13]!==a?(_=m?zI(n.error,a):void 0,t[11]=m,t[12]=n.error,t[13]=a,t[14]=_):_=t[14];let v=_,y;t[15]!==m||t[16]!==n.summary?(y=m?``:n.summary?.trim()??``,t[15]=m,t[16]=n.summary,t[17]=y):y=t[17];let b=y,x,S,C,w,T,E,D,O,k;if(t[18]!==u||t[19]!==c||t[20]!==v?.text||t[21]!==m||t[22]!==i||t[23]!==p||t[24]!==n.status||t[25]!==b||t[26]!==g||t[27]!==f){let e=Y(`shrink-0 typography-meta`,m?`text-[var(--status-error)]/85`:`text-muted-foreground`);E=`w-full min-w-0`,D=``,O=n.status;let r=i?`min-h-7`:`min-h-8`;t[37]===r?k=t[38]:(k=Y(`flex w-full items-center gap-3`,r),t[37]=r,t[38]=k),x=`separator`,S=p?`polite`:void 0,C=v?.text??g,t[39]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 border-t`,"aria-hidden":`true`}),t[39]=w):w=t[39],T=b?(0,$.jsxs)(Xn,{variant:`ghost`,size:`sm`,className:Y(e,_y),"aria-expanded":c,"aria-controls":u,onClick:f,children:[g,(0,$.jsx)(X,{name:`arrow-down-s`,className:Y(`size-4 transition-transform`,c&&`rotate-180`)})]}):(0,$.jsx)(`span`,{className:e,children:g}),t[18]=u,t[19]=c,t[20]=v?.text,t[21]=m,t[22]=i,t[23]=p,t[24]=n.status,t[25]=b,t[26]=g,t[27]=f,t[28]=x,t[29]=S,t[30]=C,t[31]=w,t[32]=T,t[33]=E,t[34]=D,t[35]=O,t[36]=k}else x=t[28],S=t[29],C=t[30],w=t[31],T=t[32],E=t[33],D=t[34],O=t[35],k=t[36];let A;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 border-t`,"aria-hidden":`true`}),t[40]=A):A=t[40];let j;t[41]!==x||t[42]!==S||t[43]!==C||t[44]!==w||t[45]!==T||t[46]!==D||t[47]!==O||t[48]!==k?(j=(0,$.jsxs)(`div`,{"data-compaction-card":D,"data-compaction-status":O,className:k,role:x,"aria-live":S,"aria-label":C,children:[w,T,A]}),t[41]=x,t[42]=S,t[43]=C,t[44]=w,t[45]=T,t[46]=D,t[47]=O,t[48]=k,t[49]=j):j=t[49];let M;t[50]!==u||t[51]!==c||t[52]!==p||t[53]!==n.messageID||t[54]!==b?(M=b&&c?(0,$.jsx)(`div`,{id:u,className:`py-2`,children:(0,$.jsx)(id,{content:b,messageId:n.messageID,isStreaming:p})}):null,t[50]=u,t[51]=c,t[52]=p,t[53]=n.messageID,t[54]=b,t[55]=M):M=t[55];let N;return t[56]!==E||t[57]!==j||t[58]!==M?(N=(0,$.jsxs)(`div`,{className:E,children:[j,M]}),t[56]=E,t[57]=j,t[58]=M,t[59]=N):N=t[59],N}var WI=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},GI=e=>{if(typeof e!=`object`||!e)return null;let t=e,n=typeof t.model==`object`&&t.model!==null?t.model:void 0,r=typeof t.metadata==`object`&&t.metadata!==null?t.metadata:void 0,i=typeof r?.model==`object`&&r.model!==null?r.model:void 0,a=WI(t.mode)??WI(t.agent)??WI(r?.agent),o=WI(t.providerID)??WI(n?.providerID)??WI(i?.providerID),s=WI(t.modelID)??WI(n?.modelID)??WI(n?.id)??WI(i?.modelID)??WI(i?.id),c=WI(n?.variant)??WI(i?.variant)??WI(t.variant)??WI(r?.variant);return!a&&!o&&!s&&!c?null:{agentName:a,providerId:o,modelId:s,variant:c}},KI=e=>{let t=e?.providerId?.trim(),n=e?.modelId?.trim();return!t||!n?null:{providerId:t,modelId:n}},qI=e=>KI(e.assistantIdentity)??KI(e.userIdentity)??(e.allowComposerFallback?KI(e.composerSelection):null)??KI(e.sessionSelection),JI=e=>{let t=e?.modelId??null;return{providerID:e?.providerId??null,modelID:t,agentName:e?.agentName,modelName:fi(void 0,t)||void 0,variant:e?.variant}},YI=e=>!(!e.isLastTurn||!e.sessionIsWorking||e.hasAssistantMessages||e.activityPresentationKind===`compaction`||e.hasActiveStreamingMessage),XI=(e,t,n)=>e===`active`||n?.isLastTurn&&n.hasConfirmedFinalBody!==!0?!0:t===`summary`,ZI=e=>!e,QI=e=>e.completionDisposition===`active`?e.isLastTurn&&e.sessionIsWorking?{completionDisposition:`active`,durationMs:e.durationMs}:{completionDisposition:`abnormal`,durationMs:e.durationMs}:{completionDisposition:e.completionDisposition,durationMs:e.durationMs},$I=e=>!(e.completionDisposition===`active`||e.isLastTurn&&e.sessionIsWorking&&!e.hasConfirmedSettledAssistant),eL=e=>e.isWorking?!0:e.isInActiveTurn?e.headerCompletionDisposition!==`normal`&&e.headerCompletionDisposition!==`abnormal`:!1,tL=e=>e.turnCompletionDisposition===`active`&&(e.isLastTurn||e.hasAssistantMessages)?`active`:e.headerPresentationDisposition,nL=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},rL=e=>{let t=e.info;return typeof t.parentID==`string`&&t.parentID.length>0?t.parentID:null},iL=e=>!e||nL(e)!==`user`?!1:e.parts.some(e=>{if(e?.type!==`text`)return!1;let t=e.text;return e.synthetic===!0&&typeof t==`string`&&t.trim().startsWith(`The following tool was executed by the user`)}),aL=e=>nL(e)===`user`?iL(e)||e.parts.some(e=>{let t=e.shellAction;return e.type===`text`&&typeof t==`object`&&!!t}):!1,oL=(e,t)=>{if(nL(e)!==`assistant`||t&&rL(e)!==t||e.parts.length!==1)return{hide:!1,details:null};let n=e.parts[0];return n?.type!==`tool`||(typeof n.tool==`string`?n.tool.toLowerCase():``)!==`bash`?{hide:!1,details:null}:{hide:!0,details:{command:typeof n.state?.input?.command==`string`?n.state.input.command:void 0,output:(typeof n.state?.output==`string`?n.state.output:void 0)??(typeof n.state?.metadata?.output==`string`?n.state.metadata.output:void 0),status:typeof n.state?.status==`string`?n.state.status:void 0}}},sL=(e,t)=>{let n=e[t];if(!n)return null;let r=n.info.id;for(let n=t+1;n<e.length;n+=1){let t=e[n];if(nL(t)===`user`)break;let{hide:i,details:a}=oL(t,r);if(i){let e=typeof a?.command==`string`?a.command.trim():``;return e.length>0?e:null}}return null},cL=nd(()=>xn(()=>import(`./ToolOutputDialog-Ol_NdZdw.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,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,51,52,53,54,55,56,57,58]))),lL=4e3,uL=new Map,dL=new Map,fL=new Set([`bash`,`shell`,`cmd`,`terminal`]),pL=e=>{if(typeof e!=`string`)return``;let t=e.trim().toLowerCase();if(!t)return``;let n=t.replace(/:\d+$/,``);if(!n.includes(`.`))return n;let r=n.split(`.`).filter(Boolean);return r[r.length-1]??n},mL=e=>{let t=uL.get(e);return t?new Set(t):new Set},hL=(e,t)=>{if(uL.size>=lL&&!uL.has(e)){let e=uL.keys().next().value;typeof e==`string`&&uL.delete(e)}uL.set(e,new Set(t))},gL=e=>{let t=dL.get(e);return t?new Set(t):new Set},_L=(e,t)=>{if(dL.size>=lL&&!dL.has(e)){let e=dL.keys().next().value;typeof e==`string`&&dL.delete(e)}dL.set(e,new Set(t))},vL=200,yL=new Map,bL=e=>yL.get(e),xL=(e,t)=>{if(!t.agent&&!t.provider&&!t.model)return;let n=yL.get(e);if(!(n&&n.agent===t.agent&&n.provider===t.provider&&n.model===t.model)){if(yL.size>=vL&&!yL.has(e)){let e=yL.keys().next().value;typeof e==`string`&&yL.delete(e)}yL.set(e,t)}};function SL(e){let t=(0,Q.c)(3),[n,r]=Z.useState(e),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{e!=null&&r(e)},a=[e],t[0]=e,t[1]=i,t[2]=a),Z.useEffect(i,a),e??n}var CL=(e,t)=>{if(typeof e==`object`&&e)return e[t]},wL=Z.memo(({message:e,previousMessage:t,nextMessage:n,onContentChange:r,animationHandlers:i,turnGroupingContext:a,assistantHeaderMessageId:o,turnOwnsAssistantHeader:s=!1,isInActiveTurn:c=!1,activeStreamingPhase:l=null,animateUserOnMount:u=!1,onUserAnimationConsumed:d,reviewTransferDirection:f=null})=>{let{t:p}=Kn(),{isMobile:m,isTablet:h,hasTouchInput:g}=Bc(),_=Bb(),v=Vb(_),y=m||h,b=Z.useRef(null),x=Z.useRef(null),S=J(t=>{b.current=t,x.current?.(),x.current=null,t&&m&&(x.current=OP(t,e.info.id))});Z.useEffect(()=>{let t=b.current;return x.current?.(),x.current=null,t&&m&&(x.current=OP(t,e.info.id)),()=>{x.current?.(),x.current=null}},[m,e.info.id]);let C=ma(e=>e.currentSessionId),w=ma(e=>e.revertToMessage),T=ma(e=>e.editMessagePreservingChanges),E=ma(e=>e.forkFromMessage),D=ma(t=>t.messageEditCommitting?.messageId===e.info.id&&t.messageEditCommitting?.sessionId===e.info.sessionID),O=ma(t=>t.stagedMessageEdit?.messageId===e.info.id&&t.stagedMessageEdit?.sessionId===e.info.sessionID),k=ma(e=>e.clearStagedMessageEdit);qt(`ui.chat_message.render`),c&&qt(`ui.chat_message.render.streaming`);let A=aa(e=>e.providers),{showReasoningTraces:j,stickyUserHeader:M,chatRenderMode:N,showExpandedBashTools:P}=q(Ke(e=>({showReasoningTraces:e.showReasoningTraces,stickyUserHeader:e.stickyUserHeader,chatRenderMode:e.chatRenderMode,showExpandedBashTools:e.showExpandedBashTools})));Z.useEffect(()=>{C&&pO.getInstance().recordSessionStart(C)},[C]);let[F,I]=Z.useState(null),[L,R]=Z.useState(!1),[z,B]=Z.useState(null),V=Z.useRef(null),[H,ee]=Z.useState(()=>mL(e.info.id)),[U,te]=Z.useState(()=>gL(e.info.id)),[ne,W]=Z.useState({open:!1,title:``,content:``});Z.useEffect(()=>{ee(mL(e.info.id)),te(gL(e.info.id))},[e.info.id]);let G=Z.useMemo(()=>FI(e.info),[e.info]).isUser,re=Z.useMemo(()=>lt(e.parts),[e.parts]),ie=G&&(m||!M),ae=G&&!m&&M&&!ie,oe=e.info.sessionID,{currentContextAgent:se,savedSessionAgentSelection:K}=My(Ke(e=>({currentContextAgent:c&&oe?e.currentAgentContext.get(oe):void 0,savedSessionAgentSelection:c&&oe?e.sessionAgentSelections.get(oe):void 0}))),ce=Z.useMemo(()=>gD(e.sourceParts??e.parts),[e.parts,e.sourceParts]),le=Z.useMemo(()=>G?AD(ce):gD(e.parts),[G,e.parts,ce]),ue=Z.useMemo(()=>{if(G||!t)return null;let e=CL(t.info,`clientRole`),n=CL(t.info,`role`);return(typeof e==`string`?e:typeof n==`string`?n:void 0)===`user`&&GI(t.info)||null},[G,t]),de=Z.useMemo(()=>{if(G)return;let t=CL(e.info,`mode`);if(typeof t==`string`&&t.trim().length>0)return t;let n=CL(e.info,`agent`);if(typeof n==`string`&&n.trim().length>0)return n;if(ue?.agentName)return ue.agentName;if(oe)return se||(K??void 0)},[G,e.info,ue,oe,se,K]),fe=G?null:GI(e.info),pe=fe?.providerId??null,me=fe?.modelId??null,he=Sr(Ke(e=>{if(G||!oe)return null;if(ue?.providerId&&ue?.modelId)return{providerId:ue.providerId,modelId:ue.modelId};if(de){let t=e.getAgentModelForSession(oe,de);if(t?.providerId&&t?.modelId)return t}let t=e.getSessionModelSelection(oe);return t?.providerId&&t?.modelId?t:null})),ge=Z.useMemo(()=>G?null:typeof pe==`string`&&pe.trim().length>0?pe:he?.providerId??null,[G,pe,he]),_e=Z.useMemo(()=>G?null:typeof me==`string`&&me.trim().length>0?me:he?.modelId??null,[G,me,he]),ve=e.info.id?bL(e.info.id):void 0;G||xL(e.info.id,{agent:de,provider:ge??void 0,model:_e??void 0});let ye=de??ve?.agent,be=ge??ve?.provider??null,xe=_e??ve?.model??null,Se=Z.useMemo(()=>{if(G)return;let e=be&&A.length>0?A.find(e=>e.id===be):void 0;return fi(e,xe)||void 0},[G,be,xe,A]),Ce=Z.useMemo(()=>{if(G||!ge||!_e)return!1;let e=A.find(e=>e.id===ge);if(!e?.models||!Array.isArray(e.models))return!1;let t=e.models.find(e=>e.id===_e)?.variants;return!!(t&&Object.keys(t).length>0)},[G,_e,ge,A]),we=SL(ye),Te=SL(be??void 0),Ee=SL(xe??void 0),De=SL(Se),Oe=we??void 0,ke=Te??null,Ae=Ee??null,je=De??void 0,Me=Z.useMemo(()=>{let t=e.info.time;return typeof t?.completed==`number`?t.completed:null},[e.info.time]),Ne=Z.useMemo(()=>{let t=e.info.time;return typeof t?.created==`number`?t.created:null},[e.info.time]),Pe=Z.useMemo(()=>G?!0:!!(Me&&Me>0),[G,Me]),Fe=Z.useMemo(()=>{let t=e.info.finish;return typeof t==`string`?t:void 0},[e.info]),Ie=Z.useMemo(()=>bD(le,{includeReasoning:j}),[le,j]),Le=Z.useMemo(()=>G?Ie:!Pe&&N===`sorted`?[]:Ie,[N,Pe,G,Ie]),Re=Z.useMemo(()=>G?[]:Ie.filter(e=>e.type===`text`),[G,Ie]),ze=Z.useMemo(()=>G?[]:Ie.filter(e=>e.type===`tool`),[G,Ie]),Be=Z.useMemo(()=>{if(!P)return new Set;let e=new Set;for(let t of ze){let n=typeof t?.id==`string`?t.id:``;if(!n)continue;let r=pL(t.tool);!r||!fL.has(r)||e.add(n)}for(let t of a?.activityParts??[]){if(t.kind!==`tool`)continue;let n=pL(t.part.tool);!n||!fL.has(n)||e.add(t.id)}return e},[P,ze,a?.activityParts]),Ve=Z.useMemo(()=>{if(Be.size===0&&U.size===0)return H;let e=new Set(H);return Be.forEach(t=>{U.has(t)||e.add(t)}),U.forEach(t=>{e.delete(t)}),e},[U,Be,H]),He=Z.useMemo(()=>{if(!G)return;let e=le.find(e=>e.type===`agent`);if(!e)return;let t=e,n=typeof t.name==`string`?t.name:void 0;if(n)return{name:n,token:t.source&&typeof t.source.value==`string`&&t.source.value.trim().length>0?t.source.value:`@${n}`}},[G,le]),Ue=G&&!jD(Le),We=typeof Fe!=`string`,Ge=Z.useMemo(()=>G?!1:Re.length===0||ze.length===0?We:!0,[Re.length,ze.length,We,G]),qe=Z.useMemo(()=>!G&&pO.getInstance().shouldAnimateMessage(e.info,C||e.info.sessionID),[e.info,C,G]),[Je,Ye]=Z.useState(!1),Xe=Z.useMemo(()=>n?FI(n.info):null,[n]),Ze=!!a,Qe=a?.isLastAssistantInTurn??!1,$e=eL({isWorking:a?.isWorking===!0,isInActiveTurn:c,headerCompletionDisposition:a?.completionDisposition}),et=Z.useMemo(()=>G?!1:Ze?!Qe:Xe?!Xe.isUser&&Xe.role===`assistant`:!1,[Ze,Qe,G,Xe]),tt=Z.useMemo(()=>Pe?`completed`:c?l??`streaming`:`completed`,[l,c,Pe]);Z.useEffect(()=>{!G||!u||d?.(e.info.id)},[u,G,e.info.id,d]),Z.useEffect(()=>{Ye(!1)},[e.info.id]),Z.useEffect(()=>{let t=o??a?.headerMessageId;G||!t||t!==e.info.id||(tt===`streaming`||tt===`cooldown`)&&Ye(!0)},[o,G,e.info.id,tt,a?.headerMessageId]);let nt=Z.useMemo(()=>{if(G)return!0;if(s)return!1;let t=o??a?.headerMessageId;return t?e.info.id===t?tt===`completed`||Je||tt===`streaming`||tt===`cooldown`:!1:!0},[o,Je,G,a,tt,e.info.id,s]),rt=Z.useCallback(e=>{Gn(e).then(t=>{t.ok&&(I(e),setTimeout(()=>I(null),2e3))})},[]),it=G?void 0:a?.userMessageVariant??ue?.variant,at=!G&&Ce&&typeof it==`string`&&it.trim().length>0?it:void 0,ot=Z.useMemo(()=>{if(!G&&!HI(Ze?Qe:!et))return zI(e.info?.error,p)},[Ze,et,Qe,G,e.info,p]),st=ot?.text,ct=Z.useMemo(()=>{if(G){let e=Le.filter(e=>e.type===`text`).map(e=>{let t=e.shellAction?.output;return typeof t==`string`?t.trim():``}).filter(e=>e.length>0);if(e.length>0)return e.join(`
|
|
6594
|
+
`).trim()||QN(t)},cP=({containerRef:e})=>{let{t}=Kn(),[n,r]=Z.useState({x:0,y:0,show:!1}),[i,a]=Z.useState(``),o=Z.useRef(!1),[s,c]=Z.useState(!1),l=Z.useRef(null),u=Z.useRef(KN),d=Z.useRef(null),f=Z.useRef(null),p=Z.useRef(null),m=Z.useRef(!1),h=Z.useRef(0),[g,_]=Z.useState(null),v=ma(e=>e.currentSessionId),y=Ed()??null,b=q(e=>e.isMobile),x=Bb(),S=Vb(x).textSelectionMutation,C=x.kind===`primary`&&!!v;Z.useEffect(()=>{m.current=n.show},[n.show]),Z.useEffect(()=>()=>{f.current!==null&&(window.cancelAnimationFrame(f.current),f.current=null),p.current!==null&&(window.clearTimeout(p.current),p.current=null)},[]);let w=Z.useCallback(()=>{d.current=null,YN===w&&(YN=null),m.current&&=(f.current!==null&&(window.cancelAnimationFrame(f.current),f.current=null),c(!1),r(e=>({...e,show:!1})),a(``),!1)},[]);Z.useEffect(()=>()=>{YN===w&&(YN=null)},[w]);let T=Z.useCallback(e=>{if(typeof window>`u`)return e;let t=window.innerWidth,n=u.current/2,r=VN+n,i=t-VN-n;return r>i?t/2:Math.min(Math.max(e,r),i)},[]),E=Z.useCallback(()=>{if(!d.current)return;YN!==w&&(YN?.(),YN=w);let{markdownText:e,rect:t}=d.current,i=!n.show,o=b?t.left+t.width/2:T(t.left+t.width/2),s=t.top-10;a(e),r({x:o,y:s,show:!0}),m.current=!0,i&&(c(!0),f.current!==null&&window.cancelAnimationFrame(f.current),f.current=window.requestAnimationFrame(()=>{c(!1),f.current=null}))},[T,w,b,n.show]);Z.useLayoutEffect(()=>{if(!n.show||b||!l.current)return;let e=l.current.offsetWidth;!Number.isFinite(e)||e<=0||e===u.current||(u.current=e,r(e=>({...e,x:T(e.x)})))},[T,b,n.show]),Z.useEffect(()=>{if(!n.show||b)return;let e=()=>{r(e=>({...e,x:T(e.x)}))};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[T,b,n.show]);let D=Z.useCallback(()=>{let t=window.getSelection(),n=e.current;if(!t||!n){o.current||w();return}let r=QN(t.toString());if(!r){o.current||w();return}let i=tP(t,n);if(!i){o.current||w();return}let a=i.getBoundingClientRect();d.current={plainText:r,markdownText:sP(i,r),rect:a},o.current||E()},[e,w,E]);Z.useEffect(()=>{let t=e.current;if(!t)return;let n=()=>{o.current=!0,w()},r=()=>{o.current=!1,p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{p.current=null,D()},10)},i=new Set,a=()=>{for(let e of eP(t))i.has(e)||(i.add(e),e.addEventListener(`selectionchange`,D))};a();let s=new MutationObserver(a);s.observe(t,{childList:!0,subtree:!0}),document.addEventListener(`selectionchange`,D),t.addEventListener(`mousedown`,n),document.addEventListener(`mouseup`,r);let c=e=>{l.current&&!l.current.contains(e.target)&&!window.getSelection()?.toString().trim()&&w()};return document.addEventListener(`mousedown`,c),()=>{p.current!==null&&(window.clearTimeout(p.current),p.current=null),s.disconnect();for(let e of i)e.removeEventListener(`selectionchange`,D);document.removeEventListener(`selectionchange`,D),t.removeEventListener(`mousedown`,n),document.removeEventListener(`mouseup`,r),document.removeEventListener(`mousedown`,c)}},[e,D,w,E]),Z.useLayoutEffect(()=>{if(!b||!n.show){h.current=0,_(null);return}let e=Fw(Bw),t=0,r=0,i=()=>{let e=JN(h.current);h.current=e.height,_(t=>t&&t.left===e.left&&t.top===e.top&&t.width===e.width&&t.height===e.height?t:e)},a=e=>{i(),e<r&&(t=window.requestAnimationFrame(a))},o=()=>{r=performance.now()+320,window.cancelAnimationFrame(t),t=window.requestAnimationFrame(a)};i(),o();let s=window.visualViewport;return s?.addEventListener(`resize`,o),s?.addEventListener(`scroll`,o),window.addEventListener(`resize`,o),window.addEventListener(`oc:keyboard-anim`,o),window.addEventListener(`oc:keyboard-settled`,o),()=>{window.cancelAnimationFrame(t),s?.removeEventListener(`resize`,o),s?.removeEventListener(`scroll`,o),window.removeEventListener(`resize`,o),window.removeEventListener(`oc:keyboard-anim`,o),window.removeEventListener(`oc:keyboard-settled`,o),e()}},[b,n.show]),Z.useEffect(()=>{if(!n.show)return;let e=e=>{l.current&&e.target instanceof Node&&l.current.contains(e.target)||w()};return window.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>{window.removeEventListener(`scroll`,e,!0)}},[n.show,w]);let O=()=>{w(),window.getSelection()?.removeAllRanges()},k=J(e=>{if(!e)return;let t=ma.getState().newSessionDraft.draftID,n=n_(v,t);n&&(m_.getState().addQuote(n,e),O(),requestAnimationFrame(()=>{Array.from(document.querySelectorAll(`textarea[data-chat-input="true"]`)).find(e=>!e.disabled&&e.getClientRects().length>0&&!e.closest(`[data-btw-composer]`))?.focus({preventScroll:!0})}))}),A=J(e=>{if(!e||!v)return;let t={sessionId:v,directory:y};jw.getState().addQuote(t,e),O(),eT(t)});if(Z.useEffect(()=>{if(!S)return;let t=t=>{let n=yc(t,HN),r=C&&yc(t,UN);if(!n&&!r)return;let i=window.getSelection(),a=e.current;if(!i||!a||!i.toString().trim())return;let o=tP(i,a);if(!o)return;t.preventDefault(),t.stopPropagation();let s=sP(o,i.toString());n?k(s):A(s)};return window.addEventListener(`keydown`,t,!0),()=>window.removeEventListener(`keydown`,t,!0)},[k,A,C,S,e]),!n.show||!S)return null;let j=[{id:`chat`,label:t(`chat.textSelection.actions.addToChat`),shortcut:HN,run:()=>k(i)},...C?[{id:`side`,label:t(`chat.textSelection.actions.addToSideChat`),shortcut:UN,run:()=>A(i)}]:[]];if(b){let e=g??{left:0,top:Math.max(0,window.innerHeight-88),width:window.innerWidth,height:88};return(0,Rp.createPortal)((0,$.jsx)(`div`,{ref:l,"data-text-selection-menu":!0,className:Y(`fixed z-50 flex items-center justify-center gap-2 bg-background px-4`,`transition-opacity duration-200 ease-out`,s?`opacity-0`:`opacity-100`),style:{left:e.left,top:e.top,width:e.width,height:e.height,paddingBottom:`max(0.75rem, var(--oc-safe-area-bottom-visual, env(safe-area-inset-bottom, 0px)))`},onPointerDown:e=>{e.preventDefault()},children:j.map(e=>(0,$.jsx)(Xn,{type:`button`,variant:`secondary`,size:`sm`,onClick:e.run,className:`max-w-[11rem] min-w-0`,children:(0,$.jsx)(`span`,{className:`truncate`,children:e.label})},e.id))}),document.body)}return(0,Rp.createPortal)((0,$.jsx)(`div`,{ref:l,"data-text-selection-menu":!0,className:`fixed z-50`,style:{left:n.x,top:n.y,transform:`translate(-50%, -100%)`},children:(0,$.jsx)(`div`,{className:Y(`flex items-center gap-0.5 whitespace-nowrap rounded-lg p-0.5`,`border border-[var(--interactive-border)] bg-[var(--surface-elevated)] shadow-sm`,`transition-[opacity,transform] duration-200 ease-out will-change-[opacity,transform]`,s?`opacity-0 translate-y-[4px]`:`opacity-100 translate-y-0`),children:j.map((e,t)=>(0,$.jsxs)(Z.Fragment,{children:[t>0?(0,$.jsx)(`div`,{className:`h-3 w-px shrink-0 bg-[var(--interactive-border)]`}):null,(0,$.jsxs)(`button`,{type:`button`,onClick:e.run,className:`flex h-6 items-center gap-1.5 rounded-md px-2 typography-meta text-[var(--surface-foreground)] transition-colors duration-150 hover:bg-[var(--interactive-hover)]`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`span`,{className:`tracking-[0.08em] text-[var(--surface-muted-foreground)]`,"aria-hidden":`true`,children:GN(e.shortcut)})]})]},e.id))})}),document.body)},lP=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),uP=(e,t)=>{let n=new Date(t);return n.setDate(t.getDate()-1),lP(e,n)},dP=e=>Number.isFinite(e)&&!Number.isNaN(new Date(e).getTime()),fP=e=>String(e).padStart(2,`0`),pP=e=>{if(!dP(e))return``;let t=new Date(e);return`${t.getFullYear()}-${fP(t.getMonth()+1)}-${fP(t.getDate())} ${fP(t.getHours())}:${fP(t.getMinutes())}`},mP=(e,t)=>{if(!dP(e))return``;let n=new Date(e),r=new Date,i=ec(n,t),a=Yn(),o=Qn.getState().dictionary;if(lP(n,r))return i;if(uP(n,r))return $n(o,`common.date.yesterdayWithTime`,{time:i});let s=`${n.toLocaleString(a,{month:`short`})} ${n.getDate()}`;return n.getFullYear()===r.getFullYear()?`${s}, ${i}`:`${s}, ${n.getFullYear()}, ${i}`},hP=144,gP=null,_P=new Set,vP=!1,yP=null;function bP(){for(let e of _P)e()}function xP(){return gP}function SP(){return yP}function CP(e){return _P.add(e),()=>{_P.delete(e)}}function wP(e,t){let n=Z.useSyncExternalStore(CP,xP,SP);return t&&n===e}function TP(e){!e||gP===e||(gP=e,bP())}function EP(e){gP!==null&&(e&&gP!==e||(gP=null,bP()))}function DP(e){return e instanceof Element?e.closest(`[data-message-id]`)?.getAttribute(`data-message-id`)??null:null}function OP(){vP||typeof document>`u`||(vP=!0,document.addEventListener(`pointerdown`,e=>{gP&&DP(e.target)!==gP&&EP()},!0))}function kP(e,t){OP();let n=0,r=0,i=!1,a=e=>{e.button===0&&(i=!0,n=e.clientX,r=e.clientY)},o=e=>{if(!i)return;i=!1;let a=e.clientX-n,o=e.clientY-r;a*a+o*o>hP||TP(t)},s=()=>{i=!1};return e.addEventListener(`pointerdown`,a),e.addEventListener(`pointerup`,o),e.addEventListener(`pointercancel`,s),()=>{e.removeEventListener(`pointerdown`,a),e.removeEventListener(`pointerup`,o),e.removeEventListener(`pointercancel`,s),EP(t)}}var AP=e=>typeof e!=`number`||!Number.isFinite(e)||e<0?0:e,jP=e=>{let t=0,n=0,r=!0;return e.map(e=>{if(typeof e.createdAt==`number`&&Number.isFinite(e.createdAt)&&typeof e.streamedAt==`number`&&Number.isFinite(e.streamedAt)?n+=Math.max(0,e.streamedAt-e.createdAt):r=!1,t+=AP(e.outputTokens)+AP(e.reasoningTokens),!r||t<=0||n<=0)return null;let i=t/(n/1e3);return Number.isFinite(i)&&i>0?i:null})},MP=e=>{let t=jP(e);return t[t.length-1]??null},NP=e=>e.completionDisposition!==`active`&&typeof e.tps==`number`&&Number.isFinite(e.tps)&&e.tps>0,PP=e=>!Number.isFinite(e)||e<=0?``:`${e.toFixed(1)} tok/s`,FP=Z.memo(e=>{let t=(0,Q.c)(5),{sessionId:n}=e,{t:r}=Kn(),i=Zi(n);if(i===0)return null;let a;t[0]!==i||t[1]!==r?(a=r(`chat.sessionBackground.tasksRunning`,{count:i}),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;return t[3]===a?o=t[4]:(o=(0,$.jsx)(`span`,{className:`inline-flex h-3.5 items-center text-[11px] leading-none font-normal text-muted-foreground`,"data-background-activity":`true`,children:(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:a})}),t[3]=a,t[4]=o),o});FP.displayName=`BackgroundActivityHint`;var IP=e=>{let t=(0,Q.c)(20),{text:n,active:r,className:i}=e,a=Z.useRef(n),[o,s]=Z.useState(n),[c,l]=Z.useState(null),u,d;t[0]!==r||t[1]!==n?(u=()=>{if(n===a.current)return;let e=a.current;if(a.current=n,!r||e.length===0){l(null),s(n);return}l(e),s(n)},d=[r,n],t[0]=r,t[1]=n,t[2]=u,t[3]=d):(u=t[2],d=t[3]),Z.useEffect(u,d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{l(null)},t[4]=f):f=t[4];let p=J(f),m;t[5]===i?m=t[6]:(m=Y(`oc-summary-flip-viewport relative block h-5 min-h-0 w-full min-w-0 max-w-full overflow-clip sm:h-6`,i),t[5]=i,t[6]=m);let h=c&&`invisible`,g;t[7]===h?g=t[8]:(g=Y(`block h-full min-w-0 truncate leading-5 sm:leading-6`,h),t[7]=h,t[8]=g);let _;t[9]!==o||t[10]!==g?(_=(0,$.jsx)(`span`,{className:g,children:o}),t[9]=o,t[10]=g,t[11]=_):_=t[11];let v;t[12]!==o||t[13]!==p||t[14]!==c?(v=c?(0,$.jsxs)(`span`,{className:`oc-summary-flip-stage absolute inset-0 block overflow-clip`,children:[(0,$.jsx)(`span`,{className:`oc-summary-flip-out absolute inset-x-0 top-0 block h-full truncate`,"aria-hidden":`true`,children:c}),(0,$.jsx)(`span`,{className:`oc-summary-flip-in absolute inset-x-0 top-0 block h-full truncate`,onAnimationEnd:p,children:o})]}):null,t[12]=o,t[13]=p,t[14]=c,t[15]=v):v=t[15];let y;return t[16]!==m||t[17]!==_||t[18]!==v?(y=(0,$.jsxs)(`span`,{className:m,children:[_,v]}),t[16]=m,t[17]=_,t[18]=v,t[19]=y):y=t[19],y},LP=[`search`,`read`,`list`];function RP(e){let t=_j(e);return t===`read`?`read`:t===`glob`||t===`grep`?`search`:t===`list`?`list`:null}function zP(e){let t={read:0,search:0,list:0};for(let n of e){let e=RP(n);e&&(t[e]+=1)}return t}var BP=[`edit`,`command`,`other`],VP=new Set([`edit`,`multiedit`,`write`,`create`,`file_write`,`apply_patch`,`patch`]),HP=new Set([`bash`,`shell`,`cmd`,`command`,`exec`,`terminal`]);function UP(e){if(!pj(e))return null;let t=_j(e);return VP.has(t)?`edit`:HP.has(t)?`command`:`other`}function WP(e){let t={edit:0,command:0,other:0};for(let n of e){let e=UP(n);e&&(t[e]+=1)}return t}function GP(e){return BA(e)}var KP=[...LP,...BP];function qP(e){return{...zP(e),...WP(e)}}function JP(e){return gj(e)}function YP(e){return e.kind===`reasoning`||e.type===`reasoning`?!1:e.kind===`justification`||e.type===`text`?!0:e.kind===`tool`||e.type===`tool`?!mj(e.toolName):e.kind!=null||e.type!=null}function XP(e,t,n){for(let r=t;r<e.length;r+=1)if(YP(n(e[r])))return!0;return!1}function ZP(e){return`parts`in e?e.parts.some(e=>JP(e))?!0:!e.hasFollowingOtherType&&e.isTurnLive:e.some(e=>JP(e))}function QP(e,t,n){let r=[],i=t;for(;i<e.length&&mj(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var $P=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,eF=e=>{let t=(0,Q.c)(12),{added:n,removed:r}=e;if(n<=0&&r<=0)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=Y(`inline-flex flex-none items-center gap-0.5 tabular-nums`,$P),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=n>0?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,n]}):null,t[1]=n,t[2]=a);let o;t[3]!==n||t[4]!==r?(o=n>0&&r>0?(0,$.jsx)(`span`,{style:{color:`var(--tools-description)`},children:`/`}):null,t[3]=n,t[4]=r,t[5]=o):o=t[5];let s;t[6]===r?s=t[7]:(s=r>0?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,r]}):null,t[6]=r,t[7]=s);let c;return t[8]!==a||t[9]!==o||t[10]!==s?(c=(0,$.jsxs)(`span`,{className:i,children:[a,o,s]}),t[8]=a,t[9]=o,t[10]=s,t[11]=c):c=t[11],c},tF=({activities:e,isMobile:t,isTurnLive:n=!1,hasFollowingOtherType:r=!1,exploring:i,children:a})=>{let{t:o}=Kn(),[s,c]=Z.useState(!1),l=Z.useId(),u=e.map(e=>e.part),d=i??ZP({parts:u,hasFollowingOtherType:r,isTurnLive:n}),f=qP(u.map(e=>e.tool)),p=GP(u),m=KP.filter(e=>f[e]>0).map(e=>{let t=f[e];return o(e===`search`?t===1?`chat.contextGroup.searchSingle`:`chat.contextGroup.searchPlural`:e===`read`?t===1?`chat.contextGroup.readSingle`:`chat.contextGroup.readPlural`:e===`list`?t===1?`chat.contextGroup.listSingle`:`chat.contextGroup.listPlural`:e===`edit`?t===1?`chat.usedGroup.editSingle`:`chat.usedGroup.editPlural`:e===`command`?t===1?`chat.usedGroup.commandSingle`:`chat.usedGroup.commandPlural`:t===1?`chat.usedGroup.otherSingle`:`chat.usedGroup.otherPlural`,{count:t})}).join(`, `),h=J(()=>{c(e=>!e)}),g=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),h())}),_=o(s?`chat.usedGroup.collapseAria`:`chat.usedGroup.expandAria`),v=o(d?`chat.usedGroup.running`:`chat.usedGroup.used`),y=t?`h-5`:`h-6`;return(0,$.jsxs)(`div`,{"data-component":`context-tool-group`,className:hy(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":s,"aria-controls":l,"aria-label":_,"data-mobile-press-feedback":`soft`,className:Y(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,vy),onClick:h,onKeyDown:g,children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center self-center`,y,t?`w-4`:`w-3.5`),style:{color:`var(--tools-icon)`},children:d?(0,$.jsx)($A,{isMobile:t,label:o(`chat.usedGroup.running`),className:`block`}):(0,$.jsx)(X,{name:`search`,className:`block h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:Y(`typography-meta inline-flex flex-none items-center self-center font-medium`,y,$P,d&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...d?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:v}),m?(0,$.jsx)(`span`,{className:Y(`typography-meta inline-flex min-h-0 w-0 min-w-0 max-w-full flex-1 items-center self-center overflow-clip`,y,$P),style:{color:`var(--tools-description)`},children:(0,$.jsx)(IP,{text:m,active:d,className:t?`!h-5 sm:!h-5`:`!h-6 sm:!h-6`})}):null,(0,$.jsx)(eF,{added:p.added,removed:p.removed}),(0,$.jsx)(X,{name:s?`arrow-down-s`:`arrow-right-s`,className:`ml-auto size-3.5 flex-none self-center text-muted-foreground opacity-70`})]}),s&&a?(0,$.jsxs)(`div`,{id:l,className:gy(t),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-0 left-0 top-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),a]}):null]})};function nF(e,t,n){let r=[],i=t;for(;i<e.length&&fj(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var rF=e=>{if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null};function iF(e){if(!e||typeof e!=`object`)return null;let t=e.state;if(!t||typeof t!=`object`)return null;let n=t;if(n.metadata&&typeof n.metadata==`object`){let e=rF(n.metadata.name);if(e)return e}if(n.input&&typeof n.input==`object`){let e=n.input,t=rF(e.name);if(t)return t;let r=rF(e.id);if(r)return r}if(n.output&&typeof n.output==`object`){let e=rF(n.output.name);if(e)return e}return null}function aF(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=n.trim();e&&t.push(e)}let n=t.slice(0,3);return{visibleNames:n,hiddenCount:Math.max(0,t.length-n.length),joinedVisible:n.join(`, `)}}var oF=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,sF=({activities:e,isMobile:t,children:n})=>{let{t:r}=Kn(),[i,a]=Z.useState(!1),o=Z.useId(),s=e.map(e=>e.part),c=s.some(e=>gj(e)),{joinedVisible:l,hiddenCount:u}=aF(s.map(iF)),d=u>0?r(`chat.skillGroup.summaryOverflow`,{names:l,count:u}):l,f=J(()=>{a(e=>!e)}),p=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f())}),m=r(i?`chat.skillGroup.collapseAria`:`chat.skillGroup.expandAria`),h=r(`chat.tools.display.skill`);return(0,$.jsxs)(`div`,{"data-component":`skill-tool-group`,className:hy(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":i,"aria-controls":o,"aria-label":m,"data-mobile-press-feedback":`soft`,className:Y(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,vy),onClick:f,onKeyDown:p,children:[(0,$.jsx)(`span`,{className:Y(`flex flex-none items-center justify-center`,t?`size-4`:`size-3.5`),style:{color:`var(--tools-icon)`},children:c?(0,$.jsx)($A,{isMobile:t,label:h,className:`block`}):(0,$.jsx)(X,{name:`book`,className:`h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:Y(`typography-meta flex-none font-medium`,oF,c&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...c?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:h}),d?(0,$.jsx)(`span`,{className:Y(`typography-meta h-5 min-h-0 w-0 min-w-0 max-w-full flex-1 overflow-clip sm:h-6`,oF),style:{color:`var(--tools-description)`},children:(0,$.jsx)(IP,{text:d,active:c})}):null,(0,$.jsx)(X,{name:i?`arrow-down-s`:`arrow-right-s`,className:`ml-auto size-3.5 flex-none text-muted-foreground opacity-70`})]}),i&&n?(0,$.jsxs)(`div`,{id:o,className:gy(t),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-0 left-0 top-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),n]}):null]})},cF=Z.memo(e=>{let t=(0,Q.c)(18),{part:n,messageId:r,onContentChange:i,actions:a,streamPhase:o,onShowPopup:s}=e,c=q(lF),l=n,u=typeof l.text==`string`?l.text:``,d=typeof l.content==`string`?l.content:``,f=d.length>u.length?d:u,p=l.time,m=n.sessionID,h=o===void 0||o!==`completed`,g,_;if(t[0]!==i||t[1]!==f?(g=()=>{f.trim().length!==0&&i?.(`structural`)},_=[i,f],t[0]=i,t[1]=f,t[2]=g,t[3]=_):(g=t[2],_=t[3]),Z.useEffect(g,_),!f||f.trim().length===0)return null;let v=o??`streaming`,y=h&&typeof p?.end!=`number`,b;t[4]!==c||t[5]!==r||t[6]!==i||t[7]!==s||t[8]!==n||t[9]!==m||t[10]!==v||t[11]!==y?(b=(0,$.jsx)(`div`,{"data-message-text-export-source":`true`,children:(0,$.jsx)(GM,{part:n,sessionId:m,messageId:r,streamPhase:v,chatRenderMode:c,hasStreamingHapticLifecycle:y,onContentChange:i,onShowPopup:s})}),t[4]=c,t[5]=r,t[6]=i,t[7]=s,t[8]=n,t[9]=m,t[10]=v,t[11]=y,t[12]=b):b=t[12];let x;t[13]===a?x=t[14]:(x=a?(0,$.jsx)(`div`,{className:`mt-2 mb-1 flex items-center justify-start gap-1.5`,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,"data-message-action-group":`true`,children:a})}):null,t[13]=a,t[14]=x);let S;return t[15]!==b||t[16]!==x?(S=(0,$.jsxs)(`div`,{"data-message-text-export-root":`true`,children:[b,x]}),t[15]=b,t[16]=x,t[17]=S):S=t[17],S});function lF(e){return e.chatRenderMode}var uF=e=>{let t=Math.max(0,Math.round(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},dF=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,fF=Y(`typography-meta font-medium`,dF),pF=Y(`typography-meta`,dF),mF=[],hF=e=>{let t=e.part;return t.slim===!0&&(t.type===`tool`||t.type===`reasoning`||t.type===`file`)},gF=e=>{let t=new Set;for(let n of e)hF(n)&&n.messageId&&t.add(n.messageId);return[...t]},_F=(e,t)=>e.some(e=>{if(!t.has(e.messageId))return!1;let n=e.part;if(n.slim===!0)return!1;if(n.type===`reasoning`)return typeof n.text==`string`&&n.text.trim().length>0;if(n.type===`file`)return typeof n.url==`string`&&n.url.trim().length>0;if(n.type===`tool`){let e=n.state?.output,t=n.state?.error;return(typeof e==`string`?e.trim().length>0:e!=null)||(typeof t==`string`?t.trim().length>0:t!=null)}return!1}),vF=e=>{let t=(0,Q.c)(5),{href:n}=e,[r,i]=Z.useState(!1),a;t[0]===n?a=t[1]:(a=bd(n),t[0]=n,t[1]=a);let o=a;if(!o||r)return null;let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>i(!0),t[2]=s):s=t[2];let c;return t[3]===o?c=t[4]:(c=(0,$.jsx)(`span`,{className:`inline-flex size-[18px] flex-shrink-0 items-center justify-center rounded border border-[var(--border)] bg-[var(--interactive-hover)]`,children:(0,$.jsx)(`img`,{src:o,alt:``,"aria-hidden":`true`,loading:`lazy`,decoding:`async`,className:`size-3.5 rounded-sm`,onError:s})}),t[3]=o,t[4]=c),c},yF=e=>e,bF=e=>{let t=e.part.state,n=t?.input,r=t?.metadata,i=n?.filePath||n?.file_path||n?.path||r?.filePath||r?.file_path||r?.path;if(typeof i==`string`&&i.trim().length>0){let e=i.lastIndexOf(`/`);return e>=0?i.slice(e+1):i}return null},xF=e=>{let t=e.part.state,n=t?.input,r=t?.metadata,i=n?.filePath||n?.file_path||n?.path||r?.filePath||r?.file_path||r?.path;return typeof i==`string`&&i.trim().length>0?i:null},SF=e=>{let t=e.part.state?.metadata?.dir;return typeof t==`string`&&t.trim().length>0?t:null},CF=e=>{if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t===`pending`?`pending`:t===`in_progress`||t===`in progress`||t===`inprogress`?`in_progress`:t===`completed`||t===`done`?`completed`:t===`cancelled`||t===`canceled`?`cancelled`:null},wF=e=>{if(e.length===0)return`0 tasks`;let t=0,n=0;for(let r of e){if(!r||typeof r!=`object`)continue;let e=CF(r.status);e&&(e===`pending`&&(t+=1),e===`in_progress`&&(n+=1))}let r=t+n;return r===0?`0 tasks`:`${r} ${r===1?`task`:`tasks`}`},TF=e=>{let t=e.part.state,n=t?.input,r=t?.output;if(Array.isArray(n?.todos)){let e=wF(n.todos);if(e)return e}if(Array.isArray(r)){let e=wF(r);if(e)return e}if(r&&typeof r==`object`&&Array.isArray(r.todos)){let e=wF(r.todos);if(e)return e}if(typeof r==`string`&&r.trim().length>0)try{let e=JSON.parse(r);if(Array.isArray(e)){let t=wF(e);if(t)return t}if(e&&typeof e==`object`&&Array.isArray(e.todos)){let t=wF(e.todos);if(t)return t}}catch{}return null},EF=e=>{let t=e.part.state,n=t?.input,r=t?.metadata,i=(typeof n?.offset==`number`&&Number.isFinite(n.offset)?n.offset:void 0)??(typeof n?.line==`number`&&Number.isFinite(n.line)?n.line:void 0)??(typeof r?.offset==`number`&&Number.isFinite(r.offset)?r.offset:void 0)??(typeof r?.line==`number`&&Number.isFinite(r.line)?r.line:void 0);if(!(typeof i!=`number`||i<=0))return Math.floor(i)},DF=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(PO,{variant:t?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,pF),style:{color:`var(--tools-description)`},title:e,children:e});let r=e.slice(0,n),i=e.slice(n+1),a=r.startsWith(`/`),o=a?r.slice(1):r;return(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex max-w-full flex-1 items-baseline overflow-hidden`,pF),title:e,children:[a?(0,$.jsx)(`span`,{className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:`/`}):null,(0,$.jsx)(`span`,{className:`min-w-0 shrink truncate whitespace-nowrap`,style:{color:`var(--tools-description)`,direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:o}),(0,$.jsx)(`span`,{className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:`/`}),(0,$.jsx)(PO,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:i})]})},OF=e=>{let t=Jc(e);return t?t.toLowerCase().endsWith(`/skill.md`)?t:`${t}/SKILL.md`:``},kF=e=>{let t=e.part,n=t.tool?.toLowerCase()??``,r=t.state,i=r?.input,a=r?.metadata;if(n===`grep`||n===`search`||n===`find`||n===`ripgrep`){let e=i?.pattern;if(typeof e==`string`&&e.trim().length>0)return e.length>40?e.slice(0,40)+`...`:e}if(n===`glob`){let e=i?.pattern;if(typeof e==`string`&&e.trim().length>0)return e.length>40?e.slice(0,40)+`...`:e}if(n===`websearch`||n===`web-search`||n===`search_web`||n===`codesearch`||n===`perplexity`){let e=i?.query;if(typeof e==`string`&&e.trim().length>0)return e.length>50?e.slice(0,50)+`...`:e}if(n===`skill`)return iF(t);if(n===`webfetch`||n===`fetch`||n===`curl`||n===`wget`){let e=typeof i?.url==`string`&&i.url||typeof i?.URL==`string`&&i.URL||typeof a?.url==`string`&&a.url||typeof a?.URL==`string`&&a.URL||``;if(typeof e==`string`&&e.trim().length>0)return e.trim()}return n===`todowrite`||n===`todoread`?TF(e):bF(e)},AF=e=>{let t=[],n=[];for(let r of e){if(r.kind!==`tool`)continue;let e=r.part;if(!KO(e.tool))continue;let i=typeof e.id==`string`?e.id.trim():``;if(!i)continue;let a=e.state;if(!a||typeof a!=`object`)continue;let o=a,s=ek(e)||i;n.push(s),(o.status===`pending`||o.status===`running`)&&t.push(s)}return{active:t,all:n}},jF=Z.memo(e=>{let t=(0,Q.c)(16),{activity:n,isExpanded:r,isMobile:i,onToggleTool:a,onShowPopup:o,onContentChange:s}=e,c;t[0]!==n.id||t[1]!==a?(c=()=>{a(n.id)},t[0]=n.id,t[1]=a,t[2]=c):c=t[2];let l=J(c),u;t[3]===i?u=t[4]:(u=hy(i),t[3]=i,t[4]=u);let d=n.part,f;t[5]!==n.messageId||t[6]!==l||t[7]!==r||t[8]!==i||t[9]!==s||t[10]!==o||t[11]!==d?(f=(0,$.jsx)(TM,{part:d,messageId:n.messageId,isExpanded:r,onToggle:l,isMobile:i,onContentChange:s,onShowPopup:o,animateTailText:!1}),t[5]=n.messageId,t[6]=l,t[7]=r,t[8]=i,t[9]=s,t[10]=o,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==u||t[14]!==f?(p=(0,$.jsx)(`div`,{className:u,children:f}),t[13]=u,t[14]=f,t[15]=p):p=t[15],p},(e,t)=>e.isExpanded===t.isExpanded&&e.isMobile===t.isMobile&&e.onToggleTool===t.onToggleTool&&e.onShowPopup===t.onShowPopup&&e.onContentChange===t.onContentChange&&e.activity.id===t.activity.id&&e.activity.messageId===t.activity.messageId&&e.activity.kind===t.activity.kind&&e.activity.endedAt===t.activity.endedAt&&Xk([e.activity.part],[t.activity.part])),MF=Z.memo(e=>{let t=(0,Q.c)(9),{toolName:n,activities:r,isMobile:i}=e,a;t[0]===i?a=t[1]:(a=hy(i),t[0]=i,t[1]=a);let o;t[2]!==r||t[3]!==i||t[4]!==n?(o=(0,$.jsx)(FF,{toolName:n,activities:r,isMobile:i,animateTailText:!1}),t[2]=r,t[3]=i,t[4]=n,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,$.jsx)(`div`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&PF(e.activities,t.activities)),NF=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.kind===`reasoning`){if(!_D(r.part).trim()){n++;continue}t.push({type:`reasoning`,activity:r}),n++;continue}if(r.kind===`justification`){t.push({type:`justification`,activity:r}),n++;continue}let i=r.part.tool?.toLowerCase()??``;if(mj(i)){let r=QP(e,n,e=>e.part.tool);t.push({type:`tool-context-group`,activities:r.items,hasFollowingOtherType:XP(e,r.end,e=>({kind:e.kind,toolName:e.part.tool}))}),n=r.end;continue}if(fj(i)){let r=nF(e,n,e=>e.part.tool);if(r.items.length>0){t.push({type:`tool-skill-group`,activities:r.items}),n=r.end;continue}}if(lj(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(cj(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(uj(i)){t.push({type:`tool-static-group`,toolName:i,activities:[r]}),n++;continue}t.push({type:`tool-fallback`,activity:r}),n++}return t},PF=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.id!==i.id||r.kind!==i.kind||r.endedAt!==i.endedAt||!Xk([r.part],[i.part]))return!1}return!0},FF=Z.memo(e=>{let t=(0,Q.c)(106),{toolName:n,activities:r,isMobile:i,animateTailText:a}=e,{t:o}=Kn(),s=q(zF),c=wd(n,o),l;t[0]===n?l=t[1]:(l=FO(n),t[0]=n,t[1]=l);let u=l,d;t[2]===n?d=t[3]:(d=n.toLowerCase(),t[2]=n,t[3]=d);let f=d===`read`,p=Z.useContext(dl),m=Tl(),h=ot(BF),g=Bb(),_=g.kind===`embedded`?g.directory:h,v;t[4]===n?v=t[5]:(v=n.toLowerCase(),t[4]=n,t[5]=v);let y=v===`skill`,b;t[6]===y?b=t[7]:(b={enabled:y},t[6]=y,t[7]=b);let x=Ar(b),S;t[8]===x.data?S=t[9]:(S=x.data??[],t[8]=x.data,t[9]=S);let C=S,w;t[10]===C?w=t[11]:(w=new Map(C.map(VF)),t[10]=C,t[11]=w);let T=w,E=r[0]??null,D=!E||gj(E.part),O;t[12]===E?O=t[13]:(O=E?kF(E):null,t[12]=E,t[13]=O);let k=O,A;if(t[14]!==k||t[15]!==E||t[16]!==T||t[17]!==n){bb0:{if(n.toLowerCase()!==`skill`||!E||!k){A=null;break bb0}let e=T.get(k)?.path||SF(E);if(!e||e===`<built-in>`){A=null;break bb0}let r=OF(e);if(!r){A=null;break bb0}let i;t[19]!==k||t[20]!==r?(i={name:k,path:r},t[19]=k,t[20]=r,t[21]=i):i=t[21],A=i}t[14]=k,t[15]=E,t[16]=T,t[17]=n,t[18]=A}else A=t[18];let j=A,M;if(t[22]!==_||t[23]!==f||t[24]!==E){bb1:{if(!f||!E){M=null;break bb1}let e=xF(E);if(!e){M=null;break bb1}let n=Wc(e,_);if(!n){M=null;break bb1}let r;t[26]===E?r=t[27]:(r=EF(E),t[26]=E,t[27]=r);let i;t[28]!==n||t[29]!==e||t[30]!==r?(i={path:e,displayPath:n,offset:r},t[28]=n,t[29]=e,t[30]=r,t[31]=i):i=t[31],M=i}t[22]=_,t[23]=f,t[24]=E,t[25]=M}else M=t[25];let N=M,P;t[32]!==_||t[33]!==m||t[34]!==p?(P=(e,t)=>{if(!_)return;let n=Kc(_,e);if(!n)return;if(m){m.openFile({path:n,targetLine:t&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):void 0});return}if(p?.editor){p.editor.openFile(n,t);return}if(!Xc(n,_)){bO(n,_).then(()=>{let e=q.getState(),r=_||$c(_,n);if(t&&Number.isFinite(t)){e.openContextFileAtLine(r,n,Math.max(1,Math.trunc(t)),1);return}e.openContextFile(r,n)});return}let r=q.getState(),i=$c(_,n);if(t&&Number.isFinite(t)){r.openContextFileAtLine(i,n,Math.max(1,Math.trunc(t)),1);return}r.openContextFile(i,n)},t[32]=_,t[33]=m,t[34]=p,t[35]=P):P=t[35];let F=J(P),I;t[36]!==_||t[37]!==m?(I=e=>{let t=Jc(e);if(!t)return;let n=()=>{if(m){m.openFile({path:t});return}let e=q.getState(),n=_||$c(``,t);e.openContextFile(n,t)};if(_&&!Xc(t,_)){bO(t,_).then(n);return}n()},t[36]=_,t[37]=m,t[38]=I):I=t[38];let L=J(I),R;t[39]===n?R=t[40]:(R=n.toLowerCase(),t[39]=n,t[40]=R);let z=R,B=z===`grep`||z===`search`||z===`find`||z===`ripgrep`||z===`glob`,V=z===`webfetch`||z===`fetch`||z===`curl`||z===`wget`,H=z===`skill`,ee=!!(N||j),U=!!(N&&_||j),te;t[41]!==U||t[42]!==F||t[43]!==L||t[44]!==ee||t[45]!==N||t[46]!==j?(te=()=>{if(!(!ee||!U)){if(N){F(N.path,N.offset);return}j&&L(j.path)}},t[41]=U,t[42]=F,t[43]=L,t[44]=ee,t[45]=N,t[46]=j,t[47]=te):te=t[47];let ne=J(te),W;t[48]===ne?W=t[49]:(W=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ne())},t[48]=ne,t[49]=W);let G=J(W),re=ee&&U&&`cursor-pointer`,ie=ee&&!U&&`cursor-default opacity-70`,ae;t[50]!==re||t[51]!==ie?(ae=Y(`flex w-full items-center gap-x-1.5 min-w-0`,vy,re,ie),t[50]=re,t[51]=ie,t[52]=ae):ae=t[52];let oe=ee?`soft`:void 0,se=ee?ne:void 0,K=ee?G:void 0,ce=ee?`button`:void 0,le=ee&&U?0:void 0,ue=ee&&!U?!0:void 0,de=i?`size-4`:`size-3.5`,fe;t[53]===de?fe=t[54]:(fe=Y(`inline-flex items-center justify-center flex-shrink-0`,de),t[53]=de,t[54]=fe);let pe;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(pe={color:`var(--tools-icon)`},t[55]=pe):pe=t[55];let me=D?(0,$.jsx)($A,{isMobile:i,label:o(`chat.assistantStatus.usingTool`,{tool:c})}):u,he;t[56]!==fe||t[57]!==pe||t[58]!==me?(he=(0,$.jsx)(`div`,{className:fe,style:pe,children:me}),t[56]=fe,t[57]=pe,t[58]=me,t[59]=he):he=t[59];let ge,_e;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(ge=Y(fF,`inline-flex items-center flex-shrink-0 opacity-85`),_e={color:`var(--tools-title)`},t[60]=ge,t[61]=_e):(ge=t[60],_e=t[61]);let ve;t[62]===c?ve=t[63]:(ve=(0,$.jsx)(`span`,{className:ge,style:_e,title:c,children:c}),t[62]=c,t[63]=ve);let ye;t[64]!==a||t[65]!==f||t[66]!==N||t[67]!==s?(ye=f&&N?(0,$.jsxs)(`span`,{className:Y(`inline-flex !min-h-0 items-center justify-start gap-1 min-w-0 flex-1 text-left`,pF),style:{color:`var(--tools-description)`},title:N.offset?`${N.displayPath}:${N.offset}`:N.displayPath,children:[s?(0,$.jsx)(pg,{filePath:N.path,className:`h-3.5 w-3.5`}):null,DF(N.displayPath,a)]}):null,t[64]=a,t[65]=f,t[66]=N,t[67]=s,t[68]=ye):ye=t[68];let be;t[69]!==a||t[70]!==k||t[71]!==B?(be=B&&k?(0,$.jsx)(`span`,{className:`inline-flex min-w-0 flex-1`,children:(0,$.jsxs)(PO,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,pF),style:{color:`var(--tools-description)`},title:k,children:[`"`,k,`"`]})}):null,t[69]=a,t[70]=k,t[71]=B,t[72]=be):be=t[72];let xe;t[73]!==k||t[74]!==V?(xe=V&&k?(0,$.jsxs)(`a`,{href:k,target:`_blank`,rel:`noopener noreferrer`,onClick:HF,className:Y(`min-w-0 flex-1 inline-flex items-center gap-1.5 underline decoration-[color:var(--status-info)] underline-offset-2 hover:opacity-90`,`truncate whitespace-nowrap`,pF),style:{color:`var(--status-info)`},title:k,children:[(0,$.jsx)(vF,{href:k}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:k})]}):null,t[73]=k,t[74]=V,t[75]=xe):xe=t[75];let Se;t[76]!==H||t[77]!==j?(Se=H&&j?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,pF),style:{color:`var(--tools-description)`},title:j.path,children:j.name}):null,t[76]=H,t[77]=j,t[78]=Se):Se=t[78];let Ce;t[79]!==k||t[80]!==H||t[81]!==j?(Ce=H&&!j&&k?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,pF),style:{color:`var(--tools-description)`},title:k,children:k}):null,t[79]=k,t[80]=H,t[81]=j,t[82]=Ce):Ce=t[82];let we;t[83]!==a||t[84]!==k||t[85]!==V||t[86]!==f||t[87]!==B||t[88]!==H?(we=!f&&!B&&!V&&!H&&k?(0,$.jsx)(PO,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,pF),style:{color:`var(--tools-description)`},children:k}):null,t[83]=a,t[84]=k,t[85]=V,t[86]=f,t[87]=B,t[88]=H,t[89]=we):we=t[89];let Te;return t[90]!==ae||t[91]!==oe||t[92]!==se||t[93]!==K||t[94]!==ce||t[95]!==le||t[96]!==ue||t[97]!==he||t[98]!==ve||t[99]!==ye||t[100]!==be||t[101]!==xe||t[102]!==Se||t[103]!==Ce||t[104]!==we?(Te=(0,$.jsxs)(`div`,{className:ae,"data-mobile-press-feedback":oe,onClick:se,onKeyDown:K,role:ce,tabIndex:le,"aria-disabled":ue,children:[he,ve,ye,be,xe,Se,Ce,we]}),t[90]=ae,t[91]=oe,t[92]=se,t[93]=K,t[94]=ce,t[95]=le,t[96]=ue,t[97]=he,t[98]=ve,t[99]=ye,t[100]=be,t[101]=xe,t[102]=Se,t[103]=Ce,t[104]=we,t[105]=Te):Te=t[105],Te},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&PF(e.activities,t.activities)),IF=Z.memo(e=>{let t=(0,Q.c)(5),{activity:n,onContentChange:r,streamPhase:i}=e,a;return t[0]!==n.messageId||t[1]!==n.part||t[2]!==r||t[3]!==i?(a=(0,$.jsx)(rN,{part:n.part,messageId:n.messageId,streamPhase:i,onContentChange:r}),t[0]=n.messageId,t[1]=n.part,t[2]=r,t[3]=i,t[4]=a):a=t[4],a}),LF=Z.memo(e=>{let t=(0,Q.c)(7),{activity:n,onContentChange:r,onShowPopup:i,actions:a,streamPhase:o}=e,s;return t[0]!==a||t[1]!==n.messageId||t[2]!==n.part||t[3]!==r||t[4]!==i||t[5]!==o?(s=(0,$.jsx)(cF,{part:n.part,messageId:n.messageId,onContentChange:r,onShowPopup:i,actions:a,streamPhase:o}),t[0]=a,t[1]=n.messageId,t[2]=n.part,t[3]=r,t[4]=i,t[5]=o,t[6]=s):s=t[6],s}),RF=Z.memo(({parts:e,materializationParts:t=e,isExpanded:n,collapsedPreviewCount:r=0,completionDisposition:i,activityPresentationKind:a=`default`,durationMs:o,onToggle:s,isMobile:c,expandedTools:l,onToggleTool:u,onShowPopup:d,onContentChange:f,streamPhase:p,showHeader:m,renderJustificationActions:h})=>{let{t:g}=Kn(),_=Ed()??``,v=Z.useMemo(()=>gF(t),[t]),y=Z.useRef(new Set),b=Z.useRef(new Map),x=Z.useRef(new Set),[,S]=Z.useState(0),C=Z.useRef(null),w=Z.useRef(null),T=i===`active`,E=!T&&(i===`normal`||i===`abnormal`)&&typeof o==`number`&&Number.isFinite(o)&&o>=0?uF(o):null,D=i===`normal`||i===`abnormal`,O=a===`compaction`,k=D&&!O,A=O?`fold-vertical`:`stack`,j=g(i===void 0?`chat.activity.title`:T?O?`chat.activity.compacting`:`chat.activity.active`:D?O?`chat.activity.compactionCompleted`:`chat.activity.completedStatus`:`chat.activity.title`),M=Z.useMemo(()=>{let t=[];for(let n of e)n.kind===`tool`&&t.push(n.part);return BA(t)},[e]),N=M.added>0||M.removed>0,P=Z.useMemo(()=>AF(e),[e]),F=T?P.active:P.all,I=F.slice(0,c?2:3),L=J((e=!1,n=!1)=>{if(!(!_||!v.length)){for(let r of v){let i=t.find(e=>e.messageId===r)?.part.sessionID;if(!i)continue;let a=kt(_,i,r);if(a.status===`ready`||n&&a.status===`error`||e&&a.status!==`error`&&!x.current.has(r)||(y.current.add(r),x.current.delete(r),b.current.has(r)))continue;let o=dt(_,i,r,{priority:n?`background`:`user`}).catch(()=>{x.current.add(r)}).finally(()=>{b.current.delete(r),S(e=>e+1)});b.current.set(r,o)}S(e=>e+1)}}),R=J(e=>{e.stopPropagation(),L(!0)}),z=T,B=z||n,V=J(()=>{if(z)return;let e=C.current;w.current=e?{top:e.getBoundingClientRect().top,scrollContainer:e.closest(`[data-scrollbar="chat"]`)}:null,B||L(),s()});Z.useEffect(()=>{T||!B||L(!1,!0)},[T,B]),Z.useLayoutEffect(()=>{let e=w.current,t=C.current;if(!e||!t)return;let n=()=>{if(!t.isConnected)return;let n=t.getBoundingClientRect().top-e.top;if(!(Math.abs(n)<.5)){if(e.scrollContainer?.isConnected){e.scrollContainer.scrollTop+=n;return}window.scrollBy(0,n)}};if(n(),typeof window>`u`||typeof window.requestAnimationFrame!=`function`){w.current=null;return}let r=window.requestAnimationFrame(()=>{n(),w.current=null});return()=>window.cancelAnimationFrame(r)},[B]);let H=m&&!B?Math.max(0,Math.floor(r)):0,ee=!m||B||H>0,U=y.current,te=[...U].map(e=>{if(b.current.has(e))return`loading`;if(x.current.has(e))return`error`;let n=t.find(t=>t.messageId===e)?.part.sessionID??``;return kt(_,n,e).status}),ne=te.includes(`loading`),W=te.includes(`error`),G=te.length>0&&te.every(e=>e===`ready`),re=t.some(e=>U.has(e.messageId)&&hF(e)),ie=G&&!re&&!_F(t,U),ae=Z.useMemo(()=>ee?yF(e):mF,[e,ee]),oe=Z.useMemo(()=>ee?NF(ae.filter(e=>e.kind!==`reasoning`||_D(e.part).trim().length>0)):[],[ee,ae]),se=Z.useMemo(()=>B||H===0?0:Math.max(0,oe.length-H),[B,H,oe.length]),K=Z.useMemo(()=>B||H===0?oe:oe.slice(-H),[B,H,oe]),ce=!!m&&!(T&&!O);if((!ce||z&&!O)&&oe.length===0)return null;let le=(e,t)=>{let n=(0,$.jsx)(`div`,{className:hy(c),children:t});return(0,$.jsx)(Z.Fragment,{children:n},e)},ue=ee?K.map((e,t)=>{switch(e.type){case`reasoning`:return le(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(IF,{activity:e.activity,streamPhase:p,onContentChange:f})}));case`justification`:return le(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(LF,{activity:e.activity,onContentChange:f,onShowPopup:d,actions:h?.(e.activity),streamPhase:p})}));case`tool-expandable`:return(0,$.jsx)(jF,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);case`tool-static-group`:return(0,$.jsx)(MF,{toolName:e.toolName,activities:e.activities,isMobile:c},e.activities[0]?.id??`static-${e.toolName}-${t}`);case`tool-context-group`:return(0,$.jsx)(tF,{activities:e.activities,isMobile:c,isTurnLive:T,hasFollowingOtherType:e.hasFollowingOtherType,children:e.activities.map(e=>{let t=e.part,n=t.tool?.toLowerCase()??``;return dj(n)?(0,$.jsx)(FF,{toolName:n,activities:[e],isMobile:c,animateTailText:!1},e.id):(0,$.jsx)(TM,{part:t,messageId:e.messageId,isExpanded:l.has(e.id),onToggle:u,isMobile:c,onContentChange:f,onShowPopup:d,animateTailText:!1},e.id)})},e.activities[0]?.id??`context-${t}`);case`tool-skill-group`:return(0,$.jsx)(sF,{activities:e.activities,isMobile:c,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(FF,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`skill-${t}`);case`tool-fallback`:return(0,$.jsx)(jF,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);default:return null}}):null,de=K.length>0;return(0,$.jsxs)(`div`,{className:ce?hy(c):`flow-root`,children:[ce?(0,$.jsxs)(`button`,{ref:C,type:`button`,className:Y(`group/tool flex w-[calc(100%+1rem)] min-w-0 flex-nowrap items-center text-left`,c?`gap-x-1`:`gap-x-2`,!z&&vy,z&&`oc-tool-row -mx-2 rounded-lg px-2 py-0.5 cursor-default`,c&&`pr-0`),"data-mobile-press-feedback":z?void 0:`soft`,onClick:z?void 0:V,"aria-expanded":B,"aria-disabled":z||void 0,"aria-label":z?j:g(B?`chat.activity.collapseAria`:`chat.activity.expandAria`),children:[(0,$.jsx)(`span`,{className:Y(`inline-flex min-w-0 items-center overflow-clip`,c?`gap-x-1`:`gap-x-1.5`),children:k?(0,$.jsxs)(`span`,{className:Y(`typography-meta inline-flex shrink-0 items-center gap-1.5 tabular-nums text-muted-foreground`,c?`h-5`:`h-6`),children:[E?g(`chat.activity.completed`,{duration:E}):j,(0,$.jsx)(X,{name:B?`arrow-down-s`:`arrow-right-s`,className:`size-3.5 shrink-0 opacity-0 group-hover/tool:opacity-70 group-focus-visible/tool:opacity-70`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center`,c?`h-5 w-4`:`h-6 w-3.5`),style:{color:`var(--tools-icon)`},children:T&&!O?(0,$.jsx)($A,{isMobile:c,label:j,className:`block`}):(0,$.jsx)(X,{name:A,className:`h-3.5 w-3.5`})}),(0,$.jsx)(`span`,{className:Y(`inline-flex flex-shrink-0 items-center`,c?`typography-meta h-5`:`typography-ui-label h-5 font-semibold`,T?`animate-text-shimmer text-[var(--status-info)] [--oc-text-shimmer-base:var(--status-info)]`:`text-foreground/85`),children:j}),E?(0,$.jsx)(`span`,{className:`typography-meta shrink-0 tabular-nums text-muted-foreground`,children:E}):null]})}),(0,$.jsxs)(`span`,{className:Y(`ml-auto inline-flex max-w-[min(14rem,55%)] shrink-0 items-center`,c?`gap-0.5`:`gap-1`),children:[F.length>0?(0,$.jsxs)(`span`,{className:Y(`inline-flex min-w-0 items-center text-muted-foreground`,c?`gap-1`:`gap-1.5`),children:[(0,$.jsx)(`span`,{className:`inline-flex shrink-0 items-center gap-0.5`,"aria-hidden":`true`,children:I.map((e,t)=>(0,$.jsx)(rs,{name:e,size:c?12:14,className:Y(`flex-none`,c?`size-3 min-h-3 min-w-3 max-h-3 max-w-3`:`size-3.5 min-h-3.5 min-w-3.5 max-h-3.5 max-w-3.5`)},`${e}-${t}`))}),(0,$.jsx)(`span`,{className:`typography-meta min-w-0 truncate`,children:g(T?`chat.activity.agentsWorking`:`chat.activity.agentsInvolved`,{count:F.length})})]}):null,N?(0,$.jsx)(`span`,{"data-activity-diff-totals":``,className:`inline-flex shrink-0`,children:(0,$.jsx)(eF,{added:M.added,removed:M.removed})}):null,!z&&!k?(0,$.jsx)(X,{name:B?`arrow-down-s`:`arrow-right-s`,className:Y(`flex-shrink-0 text-muted-foreground opacity-70`,c&&`-mr-0.5`,c?`size-3`:`size-3.5`)}):null]})]}):null,de?(0,$.jsxs)(`div`,{className:z?void 0:`relative ml-2 pl-3`,children:[z?null:(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-0 top-px bottom-0 w-px opacity-40`,style:{backgroundColor:`var(--tools-border)`}}),se>0?(0,$.jsxs)(`button`,{type:`button`,onClick:V,className:`typography-meta leading-4 px-2 py-1 text-muted-foreground/45 hover:text-muted-foreground/65 text-left`,children:[`+`,se,` more...`]}):null,(0,$.jsx)(`div`,{className:`flow-root`,children:ue})]}):null,B&&(ne||W||ie)?(0,$.jsx)(`div`,{className:Y(`typography-meta flex min-h-9 items-center gap-2 px-2 text-muted-foreground`,z?void 0:`ml-5`,W&&`text-[var(--status-error)]`),role:W?`alert`:`status`,children:ne?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 shrink-0 animate-spin`}),(0,$.jsx)(`span`,{children:g(`chat.activity.outputLoading`)})]}):W?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`error-warning`,className:`size-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1`,children:g(`chat.activity.outputLoadFailed`)}),(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,onClick:R,children:g(`chat.activity.outputRetry`)})]}):(0,$.jsx)(`span`,{children:g(`chat.toolOutputDialog.noOutputProduced`)})}):null]})});function zF(e){return e.showToolFileIcons}function BF(e){return e.currentDirectory}function VF(e){return[e.name,e]}function HF(e){e.stopPropagation()}var UF=Z.memo(e=>{let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(RF,{...e}),t[0]=e,t[1]=n),n});function WF(e){let t=(0,Q.c)(9),{presentation:n,sessionId:r,messageId:i,directory:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={bootstrap:!1},t[0]=o):o=t[0];let s=Mr(a,o),c;t[1]===r?c=t[2]:(c=e=>!!e.session_execution_recovery[r],t[1]=r,t[2]=c);let l=Ue(s,c),u;t[3]===r?u=t[4]:(u=e=>e.session_status[r]?.type===`retry`,t[3]=r,t[4]=u);let d=Ue(s,u),f=Qa(r,a);if(!l&&!d){let e;return t[5]===n?e=t[6]:(e=(0,$.jsx)(Zv,{presentation:n}),t[5]=n,t[6]=e),e}let p;for(let e=f.length-1;e>=0;--e)if(f[e].role===`assistant`){p=f[e].id;break}if(p===i&&(d||l&&n.detail===`aborted`&&n.icon===`pause-circle`))return null;let m;return t[7]===n?m=t[8]:(m=(0,$.jsx)(Zv,{presentation:n}),t[7]=n,t[8]=m),m}function GF(e){let t=(0,Q.c)(5),n=Bb();if(!e.sessionId||!n.active||!n.capabilities.compose){let n;return t[0]===e.presentation?n=t[1]:(n=(0,$.jsx)(Zv,{presentation:e.presentation}),t[0]=e.presentation,t[1]=n),n}let r=n.directory??e.directory,i;return t[2]!==e||t[3]!==r?(i=(0,$.jsx)(WF,{...e,sessionId:e.sessionId,directory:r}),t[2]=e,t[3]=r,t[4]=i):i=t[4],i}var KF={contain:`layout`},qF={containerType:`inline-size`,containerName:`message-footer`},JF=`mt-1.5 mb-0.5 flex items-center justify-start gap-1.5`,YF=`mt-3 mb-0.5 flex items-center justify-start gap-1.5`,XF=`size-6! p-0 text-muted-foreground bg-transparent hover:text-foreground hover:!bg-transparent active:!bg-transparent focus-visible:!bg-transparent focus-visible:ring-2 focus-visible:ring-primary/50`,ZF=`size-3.5!`,QF=`mt-1.5 mb-0.5 flex flex-wrap items-center gap-3`,$F=`mt-3 mb-0.5 flex flex-wrap items-center gap-3 -ml-[5px]`,eI=`flex items-center gap-2`,tI=`flex items-center gap-2 text-muted-foreground`,nI=`h-3.5 items-center gap-1 text-[11px] leading-none tabular-nums text-muted-foreground`,rI=`inline-flex ${nI}`,iI=`size-3.5!`,aI=`medium`,oI=e=>{let t=(0,Q.c)(6),{messageId:n,label:r,focusReveal:i}=e,a=wP(n,i),o=i?a?`inline-flex`:`hidden`:`hidden oc-message-hover-time`,s;t[0]===o?s=t[1]:(s=Y(nI,`whitespace-nowrap`,o),t[0]=o,t[1]=s);let c=i?a?`true`:`false`:void 0,l;return t[2]!==r||t[3]!==s||t[4]!==c?(l=(0,$.jsx)(`span`,{className:s,"data-message-time":``,"data-message-time-visible":c,children:r}),t[2]=r,t[3]=s,t[4]=c,t[5]=l):l=t[5],l},sI=e=>{let t=(0,Q.c)(16),{label:n}=e,{t:r}=Kn(),i;t[0]!==n||t[1]!==r?(i=r(`chat.messageBody.meta.tpsAria`,{rate:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(X,{weight:aI,name:`pulse`,className:iI}),t[3]=a):a=t[3];let o;t[4]===n?o=t[5]:(o=(0,$.jsx)(`span`,{className:`message-footer__label`,children:n}),t[4]=n,t[5]=o);let s;t[6]!==i||t[7]!==o?(s=(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:rI,"aria-label":i,children:[a,o]})}),t[6]=i,t[7]=o,t[8]=s):s=t[8];let c;t[9]===r?c=t[10]:(c=r(`chat.messageBody.meta.tpsTooltip`),t[9]=r,t[10]=c);let l;t[11]===c?l=t[12]:(l=(0,$.jsx)(Bs,{children:c}),t[11]=c,t[12]=l);let u;return t[13]!==s||t[14]!==l?(u=(0,$.jsxs)(Vs,{children:[s,l]}),t[13]=s,t[14]=l,t[15]=u):u=t[15],u},cI=e=>e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e,lI=`w-full min-w-0 justify-start rounded-[var(--radius-md)] bg-transparent px-1 hover:!bg-interactive-hover focus-visible:!bg-interactive-hover active:!bg-interactive-active supports-[corner-shape:squircle]:rounded-[var(--radius-md)]`,uI=`h-7 gap-1.5`,dI=`h-6 gap-1`,fI=`text-[11px] leading-none`,pI=`size-3.5`,mI=`size-3`,hI=5,gI=Z.memo(e=>{let t=(0,Q.c)(30),{file:n,isMobile:r}=e,i=r?`gap-1 text-[11px]`:`gap-1.5 text-xs`,a;t[0]===i?a=t[1]:(a=Y(`flex min-w-0 flex-1 items-center leading-none text-muted-foreground`,i),t[0]=i,t[1]=a);let o=n.file,s=r?`h-3 w-3`:`h-3.5 w-3.5`,c;t[2]===s?c=t[3]:(c=Y(`flex-shrink-0`,s),t[2]=s,t[3]=c);let l;t[4]!==n.file||t[5]!==c?(l=(0,$.jsx)(pg,{filePath:o,className:c}),t[4]=n.file,t[5]=c,t[6]=l):l=t[6];let u=n.file,d;t[7]===n.file?d=t[8]:(d=cI(n.file),t[7]=n.file,t[8]=d);let f;t[9]!==n.file||t[10]!==d?(f=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left text-foreground/80`,title:u,children:d}),t[9]=n.file,t[10]=d,t[11]=f):f=t[11];let p=r?`text-[11px]`:`typography-meta`,m;t[12]===p?m=t[13]:(m=Y(`inline-flex flex-shrink-0 items-center gap-0 leading-none tabular-nums`,p),t[12]=p,t[13]=m);let h;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(h={color:`var(--status-success)`},t[14]=h):h=t[14];let g;t[15]===n.additions?g=t[16]:(g=(0,$.jsxs)(`span`,{style:h,children:[`+`,n.additions]}),t[15]=n.additions,t[16]=g);let _,v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:`text-muted-foreground/70`,children:`/`}),v={color:`var(--status-error)`},t[17]=_,t[18]=v):(_=t[17],v=t[18]);let y;t[19]===n.deletions?y=t[20]:(y=(0,$.jsxs)(`span`,{style:v,children:[`-`,n.deletions]}),t[19]=n.deletions,t[20]=y);let b;t[21]!==m||t[22]!==g||t[23]!==y?(b=(0,$.jsxs)(`span`,{className:m,children:[g,_,y]}),t[21]=m,t[22]=g,t[23]=y,t[24]=b):b=t[24];let x;return t[25]!==b||t[26]!==a||t[27]!==l||t[28]!==f?(x=(0,$.jsxs)(`span`,{className:a,children:[l,f,b]}),t[25]=b,t[26]=a,t[27]=l,t[28]=f,t[29]=x):x=t[29],x}),_I=Z.memo(e=>{let t=(0,Q.c)(18),{file:n,canOpen:r,isMobile:i,onOpen:a}=e,{t:o}=Kn(),s;t[0]!==n.file||t[1]!==a?(s=()=>{a(n.file)},t[0]=n.file,t[1]=a,t[2]=s):s=t[2];let c=J(s),l=!r,u=i?dI:uI,d;t[3]===u?d=t[4]:(d=Y(lI,u),t[3]=u,t[4]=d);let f;t[5]!==n.file||t[6]!==o?(f=o(`chat.changedFiles.actions.openFileTitle`,{path:n.file}),t[5]=n.file,t[6]=o,t[7]=f):f=t[7];let p;t[8]!==n||t[9]!==i?(p=(0,$.jsx)(gI,{file:n,isMobile:i}),t[8]=n,t[9]=i,t[10]=p):p=t[10];let m;return t[11]!==n.file||t[12]!==c||t[13]!==l||t[14]!==d||t[15]!==f||t[16]!==p?(m=(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,disabled:l,"data-turn-change-file":`true`,className:d,"aria-label":f,title:n.file,onClick:c,children:p}),t[11]=n.file,t[12]=c,t[13]=l,t[14]=d,t[15]=f,t[16]=p,t[17]=m):m=t[17],m}),vI=Z.memo(e=>{let t=(0,Q.c)(53),{fileCount:n,changedFiles:r,turnId:i,isLatestTurn:a,isMobile:o}=e,{t:s}=Kn(),c=Ed(),l=Bb(),u=l.directory||c,d=l.sessionId,f=Tl(),p=q(jI),m;t[0]===r?m=t[1]:(m=r??[],t[0]=r,t[1]=m);let h=m,g;t[2]===h?g=t[3]:(g=h.slice(0,hI),t[2]=h,t[3]=g);let _=g,v=Math.max(0,h.length-_.length),y=h.length>0?h.length:n,b=!!(f||!o&&u||o&&a),x;t[4]!==y||t[5]!==s?(x=s(y===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:y}),t[4]=y,t[5]=s,t[6]=x):x=t[6];let S=x,C;t[7]!==v||t[8]!==s?(C=s(v===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:v}),t[7]=v,t[8]=s,t[9]=C):C=t[9];let w=C,T=Y(lI,o?dI:uI),E=o?mI:pI,D;t[10]===o?D=t[11]:(D=o?Y(fI,`font-semibold text-foreground/85`):`typography-meta font-semibold text-foreground/85`,t[10]=o,t[11]=D);let O=D,k;t[12]===o?k=t[13]:(k=o?Y(fI,`text-muted-foreground`):`typography-meta text-muted-foreground`,t[12]=o,t[13]=k);let A=k,j;t[14]===o?j=t[15]:(j=o?Y(fI,`font-medium`):`typography-meta font-medium`,t[14]=o,t[15]=j);let M=j,N;t[16]!==u||t[17]!==d||t[18]!==a||t[19]!==o||t[20]!==f||t[21]!==i?(N=e=>{if(f){f.openTurnDiff(i,d,e);return}if(!o&&u){oN({directory:u,filePath:e,turnMessageId:i,sessionId:d});return}o&&a&&u&&oN({directory:u,filePath:e,turnMessageId:i,sessionId:d,mobile:!0})},t[16]=u,t[17]=d,t[18]=a,t[19]=o,t[20]=f,t[21]=i,t[22]=N):N=t[22];let P=J(N),F;t[23]!==u||t[24]!==d||t[25]!==a||t[26]!==o||t[27]!==f||t[28]!==p||t[29]!==i||t[30]!==_[0]?.file?(F=()=>{if(f){f.openTurnDiff(i,d);return}if(!o&&u){p(u,{mode:`diff`,dedupeKey:`turn-diff:${d||`session`}:${i}`,targetPath:null,diffScope:`turn`,diffTurnMessageId:i,diffSessionId:d});return}let e=_[0]?.file;e&&o&&a&&u&&oN({directory:u,filePath:e,turnMessageId:i,sessionId:d,mobile:!0})},t[23]=u,t[24]=d,t[25]=a,t[26]=o,t[27]=f,t[28]=p,t[29]=i,t[30]=_[0]?.file,t[31]=F):F=t[31];let I=J(F),L=o?`gap-0 border-foreground/15 p-1`:`gap-0.5 border-border/50 p-1.5`,R;t[32]===L?R=t[33]:(R=Y(`mt-4 flex min-w-0 flex-col rounded-[var(--radius-lg)] border bg-muted/20`,L),t[32]=L,t[33]=R);let z=Y(T,`max-w-full text-muted-foreground hover:text-foreground`),B;t[34]===s?B=t[35]:(B=s(`diffView.actions.reviewAria`),t[34]=s,t[35]=B);let V;t[36]===s?V=t[37]:(V=s(`diffView.actions.reviewAria`),t[36]=s,t[37]=V);let H;t[38]===E?H=t[39]:(H=(0,$.jsx)(X,{name:`file-edit`,className:E}),t[38]=E,t[39]=H);let ee=`turn-changes-${i}`,U;t[40]===s?U=t[41]:(U=s(`chat.changedFiles.title`),t[40]=s,t[41]=U);let te;t[42]!==ee||t[43]!==U||t[44]!==O?(te=(0,$.jsx)(`span`,{id:ee,className:O,children:U}),t[42]=ee,t[43]=U,t[44]=O,t[45]=te):te=t[45];let ne;t[46]!==S||t[47]!==A?(ne=(0,$.jsx)(`span`,{className:A,children:S}),t[46]=S,t[47]=A,t[48]=ne):ne=t[48];let W;t[49]===E?W=t[50]:(W=Y(E,`opacity-60`),t[49]=E,t[50]=W);let G;return t[51]===W?G=t[52]:(G=(0,$.jsx)(X,{name:`arrow-right-s`,className:W}),t[51]=W,t[52]=G),(0,$.jsxs)(`section`,{className:R,"data-turn-changes-preview":`true`,"data-message-action-group":`true`,"aria-labelledby":`turn-changes-${i}`,children:[(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`xs`,disabled:!b,onClick:I,className:z,"aria-label":B,title:V,children:[H,te,ne,G]}),_.length>0?(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col`,o?`gap-0`:`gap-0.5`),children:[_.map(e=>(0,$.jsx)(_I,{file:e,canOpen:b,isMobile:o,onOpen:P},e.file)),v>0?(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`xs`,disabled:!b,className:Y(T,`text-muted-foreground hover:text-foreground`),onClick:I,"aria-label":s(`diffView.actions.reviewAria`),title:s(`diffView.actions.reviewAria`),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:Y(E,`flex-shrink-0`)}),(0,$.jsxs)(`span`,{className:M,children:[`+`,w]}),(0,$.jsx)(X,{name:`arrow-right-s`,className:E})]}):null]}):null]})}),yI=e=>e.type===`subtask`,bI=e=>{let t=e;return t.type===`text`&&typeof t.shellAction==`object`&&t.shellAction!==null},xI=e=>{if(!e||typeof e!=`object`)return null;let t=typeof e.providerID==`string`?e.providerID.trim():``,n=typeof e.modelID==`string`?e.modelID.trim():``;return!t||!n?null:`${t}/${n}`},SI=e=>{let t=(0,Q.c)(49),{part:n}=e,[r,i]=Z.useState(!1),a=Ed(),{isMobile:o}=Bc(),s=ma(MI),c=q(NI),l=Bb(),{t:u}=Kn(),d;t[0]===n.description?d=t[1]:(d=typeof n.description==`string`?n.description.trim():``,t[0]=n.description,t[1]=d);let f=d,p;t[2]===n.command?p=t[3]:(p=typeof n.command==`string`?n.command.trim():``,t[2]=n.command,t[3]=p);let m=p,h;t[4]===n.agent?h=t[5]:(h=typeof n.agent==`string`?n.agent.trim():``,t[4]=n.agent,t[5]=h);let g=h,_;t[6]===n.prompt?_=t[7]:(_=typeof n.prompt==`string`?n.prompt.trim():``,t[6]=n.prompt,t[7]=_);let v=_,y;t[8]===n.taskSessionID?y=t[9]:(y=typeof n.taskSessionID==`string`?n.taskSessionID.trim():``,t[8]=n.taskSessionID,t[9]=y);let b=y,x;t[10]===n.model?x=t[11]:(x=xI(n.model),t[10]=n.model,t[11]=x);let S=x,C=!!v&&!(o&&l.kind===`primary`),w;t[12]===u?w=t[13]:(w=u(`chat.messageBody.subtask.title`),t[12]=u,t[13]=w);let T;t[14]===w?T=t[15]:(T=(0,$.jsx)(`span`,{className:`typography-meta font-semibold text-foreground`,children:w}),t[14]=w,t[15]=T);let E;t[16]===m?E=t[17]:(E=m?(0,$.jsxs)(`span`,{className:`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none bg-foreground/5 text-muted-foreground`,children:[`/`,m]}):null,t[16]=m,t[17]=E);let D;t[18]===g?D=t[19]:(D=g?(0,$.jsxs)(`span`,{className:`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none bg-foreground/5 text-muted-foreground`,children:[`@`,g]}):null,t[18]=g,t[19]=D);let O;t[20]===S?O=t[21]:(O=S?(0,$.jsx)(`span`,{className:`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none bg-foreground/5 text-muted-foreground`,children:S}):null,t[20]=S,t[21]=O);let k;t[22]!==D||t[23]!==O||t[24]!==T||t[25]!==E?(k=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[T,E,D,O]}),t[22]=D,t[23]=O,t[24]=T,t[25]=E,t[26]=k):k=t[26];let A;t[27]===f?A=t[28]:(A=f?(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground/90 mt-1.5`,children:f}):null,t[27]=f,t[28]=A);let j;t[29]!==r||t[30]!==v||t[31]!==C||t[32]!==u?(j=C?(0,$.jsxs)(`div`,{className:`mt-2 border-t border-border/60 pt-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,className:`typography-meta text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2`,onClick:()=>i(PI),children:u(r?`chat.messageBody.subtask.hidePrompt`:`chat.messageBody.subtask.showPrompt`)}),r?(0,$.jsx)(`pre`,{className:`typography-meta mt-1.5 overflow-x-auto whitespace-pre-wrap break-words text-foreground/85`,children:v}):null]}):null,t[29]=r,t[30]=v,t[31]=C,t[32]=u,t[33]=j):j=t[33];let M;t[34]!==g||t[35]!==f||t[36]!==a||t[37]!==o||t[38]!==c||t[39]!==l||t[40]!==s||t[41]!==u||t[42]!==b?(M=b&&l.capabilities.navigateNestedSession?(0,$.jsx)(`div`,{className:`mt-1.5`,children:(0,$.jsx)(`button`,{type:`button`,className:`typography-meta text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2`,onClick:()=>{let e=l.directory||a;e&&Hb(l,b,e,()=>{if(!Ia({sessionId:b,directory:e})){if(cl()||o||K()){s(b,e);return}c(e,{mode:`chat`,dedupeKey:`session:${b}`,label:f||g||u(`contextPanel.mode.chat`),readOnly:!0})}})},children:u(`chat.messageBody.subtask.openSession`)})}):null,t[34]=g,t[35]=f,t[36]=a,t[37]=o,t[38]=c,t[39]=l,t[40]=s,t[41]=u,t[42]=b,t[43]=M):M=t[43];let N;return t[44]!==k||t[45]!==A||t[46]!==j||t[47]!==M?(N=(0,$.jsxs)(`div`,{className:`mt-2`,children:[k,A,j,M]}),t[44]=k,t[45]=A,t[46]=j,t[47]=M,t[48]=N):N=t[48],N},CI=e=>{let t=(0,Q.c)(34),{notification:n}=e,r=Ed(),i=q(FI),{isMobile:a}=Bc(),{t:o}=Kn(),s;t[0]!==r||t[1]!==a?(s=r&&!a&&!K(),t[0]=r,t[1]=a,t[2]=s):s=t[2];let c=!!s,l;t[3]!==n.state||t[4]!==o?(l=n.state===`completed`?o(`chat.messageBody.subagent.completed`):n.state===`error`?o(`chat.messageBody.subagent.error`):o(`chat.messageBody.subagent.cancelled`),t[3]=n.state,t[4]=o,t[5]=l):l=t[5];let u=l,d=n.state===`completed`?o(`chat.messageBody.subagent.completedDescription`):n.state===`error`?o(`chat.messageBody.subagent.errorDescription`):o(`chat.messageBody.subagent.cancelledDescription`),f=n.description||d,p=J(()=>{!c||!r||i(r,{mode:`chat`,dedupeKey:`session:${n.sessionID}`,label:f,readOnly:!0})}),m;t[6]===p?m=t[7]:(m=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p())},t[6]=p,t[7]=m);let h=J(m),g=c&&`cursor-pointer hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,_;t[8]===g?_=t[9]:(_=Y(`mt-2 flex min-w-0 gap-2.5 rounded-[var(--radius-lg)] border border-border/60 bg-muted/20 px-3 py-2.5`,g),t[8]=g,t[9]=_);let v=c?`button`:void 0,y=c?0:void 0,b=c?o(`chat.messageBody.subagent.openSession`,{label:f}):void 0,x=c?p:void 0,S=c?h:void 0,C;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`span`,{className:`mt-0.5 flex size-6 flex-shrink-0 items-center justify-center rounded-md bg-foreground/5 text-muted-foreground`,children:(0,$.jsx)(X,{name:`robot-2`,className:`size-3.5`})}),t[10]=C):C=t[10];let w;t[11]===f?w=t[12]:(w=(0,$.jsx)(`span`,{className:`typography-meta min-w-0 flex-1 truncate font-semibold text-foreground/90`,children:f}),t[11]=f,t[12]=w);let T=n.state===`completed`?`bg-[var(--status-success-background)] text-[var(--status-success)]`:n.state===`error`?`bg-[var(--status-error-background)] text-[var(--status-error)]`:`bg-foreground/5 text-muted-foreground`,E;t[13]===T?E=t[14]:(E=Y(`inline-flex h-5 flex-shrink-0 items-center rounded px-1.5 text-[11px] leading-none`,T),t[13]=T,t[14]=E);let D;t[15]!==u||t[16]!==E?(D=(0,$.jsx)(`span`,{className:E,children:u}),t[15]=u,t[16]=E,t[17]=D):D=t[17];let O;t[18]!==w||t[19]!==D?(O=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[w,D]}),t[18]=w,t[19]=D,t[20]=O):O=t[20];let k;t[21]===n.body?k=t[22]:(k=n.body?(0,$.jsx)(`div`,{className:`typography-meta mt-1 max-h-16 overflow-clip text-muted-foreground [&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,children:(0,$.jsx)(td,{content:n.body,variant:`tool`,enableFileReferences:!1})}):null,t[21]=n.body,t[22]=k);let A;t[23]!==O||t[24]!==k?(A=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[O,k]}),t[23]=O,t[24]=k,t[25]=A):A=t[25];let j;return t[26]!==S||t[27]!==A||t[28]!==_||t[29]!==v||t[30]!==y||t[31]!==b||t[32]!==x?(j=(0,$.jsxs)(`div`,{className:_,role:v,tabIndex:y,"aria-label":b,onClick:x,onKeyDown:S,children:[C,A]}),t[26]=S,t[27]=A,t[28]=_,t[29]=v,t[30]=y,t[31]=b,t[32]=x,t[33]=j):j=t[33],j},wI={background:`transparent`,backgroundColor:`transparent`},TI=e=>{let t=(0,Q.c)(37),{part:n}=e,[r,i]=Z.useState(!1),a=Z.useRef(null),{t:o}=Kn(),s;t[0]===n.shellAction?s=t[1]:(s=typeof n.shellAction?.command==`string`?n.shellAction.command.trim():``,t[0]=n.shellAction,t[1]=s);let c=s,l=typeof n.shellAction?.output==`string`?n.shellAction.output:``,u;t[2]===n.shellAction?u=t[3]:(u=typeof n.shellAction?.status==`string`?n.shellAction.status.trim().toLowerCase():``,t[2]=n.shellAction,t[3]=u);let d=u,f=l.length>0,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>{a.current!==null&&typeof window<`u`&&(window.clearTimeout(a.current),a.current=null)},t[4]=p):p=t[4];let m=J(p),h,g;t[5]===m?(h=t[6],g=t[7]):(h=()=>()=>{m()},g=[m],t[5]=m,t[6]=h,t[7]=g),Z.useEffect(h,g);let _;t[8]!==m||t[9]!==f||t[10]!==l?(_=async()=>{f&&(await Gn(l)).ok&&(m(),i(!0),typeof window<`u`&&(a.current=window.setTimeout(()=>{i(!1),a.current=null},2e3)))},t[8]=m,t[9]=f,t[10]=l,t[11]=_):_=t[11];let v=J(_),y;t[12]===o?y=t[13]:(y=o(`chat.messageBody.shellCommand.title`),t[12]=o,t[13]=y);let b;t[14]===y?b=t[15]:(b=(0,$.jsx)(`span`,{className:`typography-meta font-semibold text-foreground`,children:y}),t[14]=y,t[15]=b);let x;t[16]!==d||t[17]!==o?(x=d&&d!==`completed`?(0,$.jsx)(`span`,{className:Y(`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none`,d===`error`?`bg-[var(--status-error-background)] text-[var(--status-error)]`:`bg-foreground/5 text-muted-foreground`),role:d===`error`?`alert`:`status`,children:d===`running`?o(`chat.assistantStatus.runningCommand`):d===`pending`?o(`chat.statusRow.todo.status.pending`):d===`error`?o(`chat.toolPart.error`):d}):null,t[16]=d,t[17]=o,t[18]=x):x=t[18];let S;t[19]!==r||t[20]!==v||t[21]!==f||t[22]!==o?(S=f?(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`xs`,className:`ml-auto text-muted-foreground`,onClick:()=>{v()},"aria-label":o(r?`chat.messageBody.shellCommand.copied`:`chat.messageBody.shellCommand.copyOutput`),title:o(r?`chat.messageBody.shellCommand.copied`:`chat.messageBody.shellCommand.copyOutput`),children:(0,$.jsx)(X,{name:r?`check`:`file-copy`,className:`h-3.5 w-3.5`})}):null,t[19]=r,t[20]=v,t[21]=f,t[22]=o,t[23]=S):S=t[23];let C;t[24]!==S||t[25]!==b||t[26]!==x?(C=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[b,x,S]}),t[24]=S,t[25]=b,t[26]=x,t[27]=C):C=t[27];let w;t[28]===c?w=t[29]:(w=c?(0,$.jsx)(`div`,{className:`typography-meta mt-1.5 overflow-x-auto font-mono`,children:(0,$.jsx)($d,{language:`bash`,code:c,codeStyle:wI,wrap:!0})}):null,t[28]=c,t[29]=w);let T;t[30]!==f||t[31]!==l?(T=f?(0,$.jsx)(`div`,{className:`mt-2 border-t border-border/60 pt-1.5`,children:(0,$.jsx)(`pre`,{className:`typography-meta max-h-56 overflow-auto whitespace-pre-wrap break-words font-mono text-foreground/85`,tabIndex:0,children:l})}):null,t[30]=f,t[31]=l,t[32]=T):T=t[32];let E;return t[33]!==C||t[34]!==w||t[35]!==T?(E=(0,$.jsxs)(`div`,{className:`min-w-0 rounded-lg border border-border/60 bg-[var(--surface-elevated)] px-3 py-2`,children:[C,w,T]}),t[33]=C,t[34]=w,t[35]=T,t[36]=E):E=t[36],E},EI=e=>{let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},DI=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,messageCreatedAt:i,isMobile:a,alwaysShowActions:o=a,hasTouchInput:s,hasTextContent:c,onCopyMessage:l,copiedMessage:u,onShowPopup:d,agentMention:f,onEdit:p,onRevert:m,onFork:h,pendingMessageAction:g,editing:_,editStaged:v,onCancelEdit:y,userActionsMode:b=`inline`,stickyUserHeaderEnabled:x=!0})=>{let{locale:S,t:C}=Kn(),w=wx(),T=Vb(Bb()),E=q(e=>e.timeFormatPreference),[D,O]=Z.useState(!1),k=Z.useRef(null),A=Z.useMemo(()=>n.filter(e=>e.type===`text`?!yD(e):!!(yI(e)||bI(e))),[n]),j=Z.useMemo(()=>A.map(e=>na(e)?ck(_D(e)):void 0),[A]),M=f?.token,N=!1,P=!!l,F=!!u,I=!!(s??a),L=!!c,R=b!==`external-actions`,z=b!==`external-content`,B=x&&b===`inline`,V=J(()=>{k.current!==null&&typeof window<`u`&&(window.clearTimeout(k.current),k.current=null)}),H=J(()=>{!I||!P||!L||typeof window>`u`||(V(),O(!0),k.current=window.setTimeout(()=>{O(!1),k.current=null},1800))});Z.useEffect(()=>{L||(O(!1),V())},[V,L]);let ee=J(e=>{!l||!L||(e.stopPropagation(),e.preventDefault(),l(),I&&H())}),U=w===`mini-chat`||!T.fork?void 0:h,te=Z.useMemo(()=>{if(typeof i!=`number`||i<=0)return null;let e=mP(i,E);return e.length>0?e:null},[S,i,E]),ne=Y(`oc-user-actions-hover-scope`,a?b===`inline`?`flex items-center justify-end pt-2 pb-3`:x?`flex h-9 items-start justify-end pt-0`:`flex h-11 items-start justify-end pt-0`:b===`inline`?`absolute top-full left-0 right-0 z-10 pt-5`:`flex h-8 items-start justify-end pt-2`),W=!_&&v&&z?(0,$.jsx)(`div`,{className:ne,...fO,children:(0,$.jsxs)(`div`,{className:Y(eI,`justify-end`,!a&&b===`inline`&&`translate-x-5`,`pointer-events-auto opacity-100`),"data-message-action-group":`true`,children:[(0,$.jsxs)(`span`,{className:Y(rI,`text-primary`),"aria-live":`polite`,children:[(0,$.jsx)(X,{weight:aI,name:`edit`,className:iI}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:C(`chat.messageBody.actions.editStaged`)})]}),y?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:XF,"aria-label":C(`chat.messageBody.actions.cancelEdit`),onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),y()},children:(0,$.jsx)(X,{weight:aI,name:`close`,className:ZF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.cancelEdit`)})]}):null]})}):null,G=(_&&z?(0,$.jsx)(`div`,{className:ne,...fO,children:(0,$.jsx)(`div`,{className:Y(eI,`justify-end`,!a&&b===`inline`&&`translate-x-5`,`pointer-events-none opacity-100`),children:(0,$.jsx)(`span`,{className:Y(rI,`animate-text-shimmer`),"aria-live":`polite`,children:C(`chat.messageBody.actions.editing`)})})}):null)??W??((P&&L||p||m||U)&&z?(0,$.jsx)(`div`,{className:ne,...fO,children:(0,$.jsxs)(`div`,{className:Y(eI,`justify-end`,!a&&b===`inline`&&`translate-x-5`,o?`pointer-events-auto opacity-100`:`pointer-events-none opacity-0 transition-opacity duration-150 oc-message-hover-actions`),"data-message-action-group":`true`,children:[te?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:Y(rI,`mr-1`),"aria-label":`Message time: ${te}`,children:[(0,$.jsx)(X,{weight:aI,name:`time`,className:iI}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:te})]})}),(0,$.jsx)(Bs,{children:te})]}):null,m&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:XF,"aria-label":C(`chat.messageBody.actions.revertAria`),"aria-busy":g===`revert`,disabled:!!g,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),m()},children:(0,$.jsx)(X,{weight:aI,name:g===`revert`?`loader-4`:`arrow-go-back`,className:Y(ZF,g===`revert`&&`animate-spin`)})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.revert`)})]}),p&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:XF,"aria-label":C(`chat.messageBody.actions.editAria`),disabled:!!g,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),p()},children:(0,$.jsx)(X,{weight:aI,name:`edit`,className:ZF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.edit`)})]}),U&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:XF,"aria-label":C(`chat.messageBody.actions.forkAria`),"aria-busy":g===`fork`,disabled:!!g,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),U()},children:(0,$.jsx)(X,{weight:aI,name:g===`fork`?`loader-4`:`git-branch`,className:Y(ZF,g===`fork`&&`animate-spin`)})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.fork`)})]}),P&&L&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":D||F?`true`:void 0,className:XF,"aria-label":C(`chat.messageBody.actions.copyMessageAria`),onPointerDown:e=>e.stopPropagation(),onClick:ee,onFocus:()=>O(!0),onBlur:()=>{F||O(!1)},children:F?(0,$.jsx)(X,{weight:aI,name:`check`,className:Y(ZF,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:aI,name:`file-copy`,className:ZF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:C(`chat.messageBody.actions.copyMessage`)})]})]})}):null);return R?(0,$.jsxs)(`div`,{className:`relative w-full oc-message-hover-scope`,...fO,"data-user-message-body":`true`,style:KF,onTouchStart:I&&P&&L?H:void 0,children:[(0,$.jsx)(`div`,{className:Y(`leading-relaxed text-foreground/90 text-base overflow-x-hidden`,B?`overflow-y-auto overscroll-contain scrollbar-none`:`overflow-y-hidden`),style:B?{maxHeight:`calc(var(--chat-scroll-height, 100dvh) * 0.4)`}:void 0,children:A.map((e,i)=>{if(yI(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(SI,{part:e})},e.id??`user-subtask-${i}`);if(bI(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(TI,{part:e})},e.id??`user-shell-${i}`);let o=j[i];if(o)return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(CI,{notification:o})},e.id??`subagent-notification-${i}`);let s;return f&&M&&!N&&_D(e).includes(M)&&(s=f,N=!0),(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(kO,{part:e,messageId:t,isMobile:a,agentMention:s,messageParts:r??n})},e.id??`user-text-${i}`)})}),(0,$.jsx)(zg,{files:n,messageID:t,sessionID:e,onShowPopup:d,compact:!0}),G]}):(0,$.jsx)($.Fragment,{children:G})}),OI=Z.memo(({messageId:e,hasCopyableText:t,isTouchContext:n,onCopyMessage:r,reviewTransferAction:i,ttsText:a,sessionId:o})=>{let{t:s}=Kn(),c=wx(),l=Bb(),u=Vb(l),{isPlaying:d,play:f,stop:p}=MN(),m=Z.useContext(PN),h=!!(m&&m.sessionId===o&&m.messageId===e),g=d||h,_=aa(e=>e.showMessageTTSButtons),v=aa(e=>e.voiceProvider),[y,b]=Z.useState(!1),[x,S]=Z.useState(!1),[C,w]=Z.useState(!1),T=Z.useRef(null),E=Z.useRef(null),D=!!r,O=!!((l.sessionId||o)&&l.directory&&u.openSourceSession&&c!==`mini-chat`),k=J(()=>{T.current!==null&&typeof window<`u`&&(window.clearTimeout(T.current),T.current=null)}),A=J(()=>{E.current!==null&&typeof window<`u`&&(window.clearTimeout(E.current),E.current=null)});Z.useEffect(()=>()=>{k(),A()},[A,k]),Z.useEffect(()=>{(!t||!D)&&(b(!1),S(!1),k(),A())},[D,A,k,t]);let j=J(()=>{!n||!D||!t||typeof window>`u`||(k(),b(!0),T.current=window.setTimeout(()=>{b(!1),T.current=null},1800))}),M=J(async e=>{!r||!t||(e.stopPropagation(),e.preventDefault(),await r()!==!1&&(A(),S(!0),typeof window<`u`&&(E.current=window.setTimeout(()=>{S(!1),E.current=null},2e3)),n&&j()))}),N=J(async e=>{if(e.stopPropagation(),e.preventDefault(),!(!i||C||!t)){w(!0);try{await i.onClick()}finally{w(!1)}}}),P=J(e=>{e.stopPropagation(),e.preventDefault();let t=l.sessionId||o;!t||!l.directory||!l.openSourceSession||l.openSourceSession(t,l.directory)}),F=Z.useMemo(()=>g?s(`chat.messageBody.tts.stopSpeaking`):s(`chat.messageBody.tts.readAloudWithProvider`,{provider:v===`browser`?`Browser`:v===`openai`?`OpenAI`:v===`openai-compatible`?`Custom`:`Say`}),[g,s,v]),I=J(e=>{if(e.stopPropagation(),e.preventDefault(),g){h&&m?.stop(),p();return}a.trim()&&f(a)});return(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":y||x?`true`:void 0,className:Y(XF,!t&&`opacity-50`),disabled:!t,"aria-label":s(`chat.messageBody.actions.copyMessageAria`),"aria-hidden":!t,onPointerDown:e=>e.stopPropagation(),onClick:e=>{M(e)},onFocus:()=>{t&&b(!0)},onBlur:()=>{x||b(!1)},children:x?(0,$.jsx)(X,{weight:aI,name:`check`,className:Y(ZF,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:aI,name:`file-copy`,className:ZF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:s(`chat.messageBody.actions.copyAnswer`)})]}),O?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:XF,"aria-label":s(`chat.messageBody.actions.openSourceSessionAria`),onPointerDown:e=>e.stopPropagation(),onClick:P,children:(0,$.jsx)(X,{weight:aI,name:`target`,className:ZF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:s(`chat.messageBody.actions.openSourceSession`)})]}):null,i&&c!==`mini-chat`&&u.reviewTransfer?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,size:`icon`,variant:`ghost`,disabled:C||!t,className:Y(XF,(!t||C)&&`opacity-50`),"aria-label":i.ariaLabel,onPointerDown:e=>e.stopPropagation(),onClick:e=>{N(e)},children:C?(0,$.jsx)(X,{weight:aI,name:`loader-4`,className:Y(ZF,`animate-spin`)}):(0,$.jsx)(X,{weight:aI,name:`arrow-left-right`,className:ZF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:i.tooltip})]}):null,c!==`mini-chat`&&_&&t&&a.trim()&&(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:Y(XF,`!bg-transparent shadow-none`,g?`text-[var(--primary-base)]`:`hover:text-foreground/80`),"aria-label":s(g?`chat.messageBody.tts.stopSpeaking`:`chat.messageBody.tts.readAloud`),"aria-pressed":g,onPointerDown:e=>e.stopPropagation(),onClick:I,children:(0,$.jsx)(sh,{kind:`speaker`,active:g,className:ZF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:F})]})]})}),kI=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,isMessageCompleted:i,messageFinish:a,messageCompletedAt:o,messageCreatedAt:s,isMobile:c,alwaysShowActions:l,hasTouchInput:u,expandedTools:d,onToggleTool:f,onShowPopup:p,streamPhase:m,allowAnimation:h,onContentChange:g,hasTextContent:_=!1,onCopyMessage:v,onAuxiliaryContentComplete:y,showReasoningTraces:b=!1,shouldShowHeader:x=!1,turnGroupingContext:S,errorPresentation:C,reviewTransferDirection:w=null})=>{let T=C?.text,{t:E}=Kn(),D=wx(),O=Bb(),k=Vb(O),A=m,j=Z.useRef(null),M=Z.useRef(null),N=m===`streaming`||m===`cooldown`,P=Z.useRef({messageId:t,experiencedStreamingOrCooldown:N});P.current.messageId===t?N&&(P.current.experiencedStreamingOrCooldown=!0):P.current={messageId:t,experiencedStreamingOrCooldown:N};let F=!!(u??c),I=!!(l??c),L=c?$F:QF,R=!i,z=Z.useMemo(()=>n.filter(e=>!yD(e)).filter(e=>e.type!==`reasoning`||b&&_D(e).trim().length>0).filter(e=>e.type!==`compaction`),[n,b]),B=Z.useMemo(()=>z.filter(e=>e.type===`tool`),[z]),V=Z.useMemo(()=>z.filter(e=>e.type===`text`),[z]),H=Z.useMemo(()=>ua(V),[V]),ee=q(e=>e.openContextPreview),U=K(),te=D===`mini-chat`,ne=Z.useMemo(()=>{if(U||c||te)return null;for(let e of V){let t=e.text;if(typeof t!=`string`||t.length===0)continue;let n=xd(t)[0];if(n)return n.includes(`0.0.0.0`)?n.replace(`0.0.0.0`,`127.0.0.1`):n}for(let e of B){let t=e.state,n=t&&typeof t.output==`string`?t.output:null;if(!n)continue;let r=xd(n.replace(/\x1b\[[0-9;]*m/g,``))[0];if(r)return r.includes(`0.0.0.0`)?r.replace(`0.0.0.0`,`127.0.0.1`):r}return null},[V,c,te,U,B]),W=ma(e=>e.forkFromMessage),G=ma(e=>e.forkTransition),re=ma(e=>e.currentSessionId),ie=ma(e=>e.getDirectoryForSession),ae=Ed(),oe=w===`review-to-original`,se=!c&&!U?w:null,ce=Z.useMemo(()=>{let t=H.trim();if(!(!e||!ae||!t||!se))return se===`review-to-original`?{ariaLabel:E(`chat.messageBody.actions.sendReviewFeedback`),tooltip:E(`chat.messageBody.actions.sendReviewFeedback`),onClick:async()=>{try{await vo(e,ae,t)}catch(e){console.error(`[review-flow] failed to send review feedback`,e)}}}:{ariaLabel:E(`chat.messageBody.actions.sendImplementationResponse`),tooltip:E(`chat.messageBody.actions.sendImplementationResponse`),onClick:async()=>{try{await Jr(e,ae,t)}catch(e){console.error(`[review-flow] failed to send implementation response`,e)}}}},[H,ae,se,e,E]),[le,ue]=Z.useState(!1),de=q(e=>e.chatRenderMode),fe=S?de:`live`,pe=q(e=>e.collapsibleThinkingBlocks),me=q(e=>e.showSplitAssistantMessageActions),he=q(e=>e.showAssistantTps),ge=fe===`sorted`,_e=S?.isLastAssistantInTurn??!1,ve=a===`stop`,ye=(ve||i||!!T)&&(S?.isTurnSettled??!0),be=ve?`completed`:A,xe=B.length>0,Se=Z.useMemo(()=>B.some(e=>gj(e)),[B]),Ce=gj,we=hj,Te=P.current.experiencedStreamingOrCooldown,Ee=Z.useRef({messageId:t,initialized:!1,observedPartIds:new Set});Z.useEffect(()=>{if(Ee.current.messageId!==t&&(Ee.current={messageId:t,initialized:!1,observedPartIds:new Set}),!Te||!Lr())return;let n=Ee.current,r=!n.initialized;n.initialized=!0;for(let i of B){if(n.observedPartIds.has(i.id))continue;if(!ji(r,Ce(i))){n.observedPartIds.add(i.id);continue}let a=e??i.sessionID;a&&(n.observedPartIds.add(i.id),fr({sessionID:a,messageID:t,partID:i.id,kind:`tool`}))}},[Te,Ce,t,e,B]);let De=Z.useMemo(()=>B.length===0||!Se&&B.every(e=>we(e)),[B,Se,we]),Oe=Z.useMemo(()=>z.filter(e=>e.type===`reasoning`),[z]),ke=Z.useMemo(()=>Oe.length===0||Oe.every(e=>typeof e.time?.end==`number`),[Oe]),Ae=typeof a!=`string`,je=Oe.length>0&&xe&&(Se||Ae||!De),Me=R||xe&&(Se||Ae||!De),Ne=R||je,Pe=xe||Oe.length>0,Fe=V.length===0,Ie=Pe&&Fe&&!Me&&!Ne&&De&&ke,Le=Z.useRef(!1),Re=Z.useRef(!1);Z.useEffect(()=>{Re.current=!1},[t]),Z.useEffect(()=>{if(!Ie){Le.current=!1;return}Le.current||(Le.current=!0,y?.())},[Ie,y]),Z.useEffect(()=>{if(R){Re.current=!1;return}if(xe){Re.current=!1;return}Oe.length!==0&&(Ne||!ke||Re.current||(Re.current=!0,g?.(`structural`)))},[R,xe,g,ke,Oe.length,Ne]);let ze=!!_&&!R,Be=J(async n=>{if(n.stopPropagation(),n.preventDefault(),!(!e||!t||le||G)){ue(!0);try{await W(e,t)}finally{ue(!1)}}}),Ve=Z.useMemo(()=>{let e=S?.activityParts;return!ge||!e?[]:e},[ge,S?.activityParts]),He=Z.useMemo(()=>{let e=S?.activityGroupSegments;return!ge||!e?[]:e.filter(e=>e.anchorMessageId===t)},[ge,t,S?.activityGroupSegments]),Ue=He.length>0,We=Z.useMemo(()=>{let e=new Map,t=new Map;return Ve.forEach(n=>{e.set(n.part,n);let r=n.part.id;typeof r==`string`&&r.length>0&&t.set(r,n)}),{get:n=>{let r=e.get(n);if(r)return r;let i=n.id;if(typeof i==`string`&&i.length>0)return t.get(i)}}},[Ve]),Ge=S?.toggleGroup,Ke=S?.activityPresentationKind===`compaction`,qe=S?.isGroupExpanded===!0,Je=ge&&Ke&&!qe,Ye=ge?S?.activityOwnerMessageId===t||Ue:!S?.activityOwnerMessageId||S.activityOwnerMessageId===t||Ue,Xe=ge&&Ye&&(Ue||Ke)&&!!Ge,Ze=pN(a,z),Qe={finish:a,parts:z,streamPhase:be,error:T,isLastAssistantInTurn:_e},$e=vN(Qe),et=aa(e=>e.ttsInputMode),tt=Z.useMemo(()=>{if(!_e||Ke||!ye||!$e)return``;let e=r??n,t=hN(e);return t<0?``:_D(e[t])},[_e,Ke,ye,$e,r,n]),nt=et===`final`?tt:H;FN({sessionId:e??``,messageId:t,created:s??0,text:nt,streaming:c&&O.active&&(A===`streaming`||A===`cooldown`),completed:c&&O.active&&i&&A!==`streaming`&&A!==`cooldown`&&!T});let rt=ge&&yN(Qe),it=ge&&!$e&&!(Ke&&qe),at=ze,ot=_e&&ye&&C?.variant!==`error`&&!Je&&(_||!!T||i),st=S?.diffStats?.hasDiffs===!0,ct=S?.isLatestTurn&&e&&O.active&&!te,lt=!te&&_e&&Ze&&ye&&!Je&&S?.diffStats?.hasDiffs===!0,ut=me&&at&&!ot&&!ge,dt=Z.useMemo(()=>(0,$.jsx)(OI,{messageId:t,hasCopyableText:ze,isTouchContext:F,onCopyMessage:v,ttsText:nt,reviewTransferAction:ce,sessionId:e}),[nt,ze,F,v,ce,e,t]),ft=Z.useMemo(()=>e=>{if(!me||!ge)return null;let t=_D(e.part).trim();return t?(0,$.jsx)(OI,{hasCopyableText:!0,isTouchContext:F,onCopyMessage:async()=>(await Gn(t)).ok,ttsText:et===`final`?``:t}):null},[ge,F,me,et]),pt=Z.useMemo(()=>{if(!ut)return-1;let e=-1;for(let t=0;t<z.length;t+=1){let n=z[t];!n||n.type!==`text`||it||We.get(n)?.kind!==`justification`&&(e=t)}return e},[We,it,ut,z]),mt=ut&&pt<0,ht=Z.useMemo(()=>{let n=[];if(Xe&&Ge&&S){let e=(e,t,r=t)=>{n.push((0,$.jsx)(`div`,{children:(0,$.jsx)(UF,{parts:t,materializationParts:r,isExpanded:S.isGroupExpanded===!0,collapsedPreviewCount:0,completionDisposition:S.completionDisposition,activityPresentationKind:S.activityPresentationKind,durationMs:S.durationMs,startedAt:S.userMessageCreatedAt,onToggle:Ge,isMobile:c,expandedTools:d,onToggleTool:f,onShowPopup:p,onContentChange:g,streamPhase:be,showHeader:!0,diffStats:S.diffStats,renderJustificationActions:ft})},`progressive-group-${e}`))};He.length>0?He.forEach(t=>{let n=b?t.parts:t.parts.filter(e=>e.kind!==`reasoning`);e(t.id,n,t.parts)}):Ke&&e(`${t}:compaction-status`,[])}let r=0;for(;r<z.length;){let i=z[r];if(i.type===`text`){let a=We.get(i);if(it){r+=1;continue}if(Je){r+=1;continue}if(a?.kind===`justification`){r+=1;continue}n.push((0,$.jsx)(`div`,{ref:M,"data-message-text-export-source":`true`,children:(0,$.jsx)(GM,{part:i,sessionId:e,messageId:t,streamPhase:be,chatRenderMode:fe,allowSortedFinalStreaming:rt,hasStreamingHapticLifecycle:Te,onContentChange:g,onShowPopup:p})},`assistant-text-${t}-${i.id??r}`)),ut&&r===pt&&n.push((0,$.jsx)(`div`,{className:c?YF:JF,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:eI,"data-message-action-group":`true`,children:dt})},`message-actions-${t}`)),r++;continue}if(i.type===`reasoning`){if(We.get(i)?.kind===`reasoning`){r+=1;continue}if(!_D(i).trim()){r+=1;continue}b&&(pe?n.push((0,$.jsx)(`div`,{className:hy(c),children:(0,$.jsx)(rN,{part:i,messageId:t,streamPhase:be,onContentChange:g})},`reasoning-${t}-${i.id??r}`)):n.push((0,$.jsx)(GM,{part:i,sessionId:e,messageId:t,streamPhase:be,chatRenderMode:fe,hasStreamingHapticLifecycle:Te,onContentChange:g,onShowPopup:p},`reasoning-${t}-${i.id??r}`))),r++;continue}if(i.type===`tool`){let e=i,a=e.tool?.toLowerCase()??``;if(ge&&!Ye){r+=1;continue}if(We.get(i)?.kind===`tool`){r+=1;continue}if(ge&&mj(a)){let e=QP(z,r,e=>e.type!==`tool`||We.get(e)?.kind===`tool`?``:e.tool);if(e.items.length>0){let i=e.items.map((e,n)=>{let i=e;return{id:i.id,turnId:``,messageId:t,partIndex:r+n,part:i,kind:`tool`}});n.push((0,$.jsx)(tF,{activities:i,isMobile:c,isTurnLive:be!==`completed`,hasFollowingOtherType:XP(z,e.end,e=>({type:e.type,toolName:e.type===`tool`?e.tool:void 0})),children:i.map(e=>{let n=e.part.tool?.toLowerCase()??``;return dj(n)?(0,$.jsx)(FF,{toolName:n,activities:[e],isMobile:c,animateTailText:!1},e.id):(0,$.jsx)(TM,{part:e.part,messageId:t,isExpanded:d.has(e.part.id),onToggle:f,isMobile:c,alwaysShowActions:I,onContentChange:g,onShowPopup:p,animateTailText:!1},e.id)})},`context-tools-${i[0].id}`)),r=e.end;continue}}if(fj(a)){let e=nF(z,r,e=>e.type!==`tool`||We.get(e)?.kind===`tool`?``:e.tool);if(e.items.length>0){let i=e.items.map((e,n)=>{let i=e;return{id:i.id,turnId:``,messageId:t,partIndex:r+n,part:i,kind:`tool`}});n.push((0,$.jsx)(sF,{activities:i,isMobile:c,children:i.map(e=>(0,$.jsx)(FF,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id))},`skill-tools-${i[0].id}`)),r=e.end;continue}}if(cj(a)){n.push((0,$.jsx)(`div`,{className:hy(c),children:(0,$.jsx)(TM,{part:e,messageId:t,isExpanded:d.has(e.id),onToggle:f,isMobile:c,alwaysShowActions:I,onContentChange:g,onShowPopup:p,animateTailText:!1})},`tool-${e.id}`)),r++;continue}n.push((0,$.jsx)(`div`,{className:hy(c),children:(0,$.jsx)(FF,{toolName:a,activities:[{id:e.id,turnId:``,messageId:t,partIndex:r,part:e,kind:`tool`}],isMobile:c,animateTailText:!1})},`static-tools-${e.id}`)),r++;continue}r++}let i=n.at(-1);if(Z.isValidElement(i)&&i.props[`data-message-text-export-source`]===`true`&&be!==`completed`&&!ye&&!C&&(!S||S.isLastAssistantInTurn)){let e=i;n[n.length-1]=Z.cloneElement(e,{className:Y(typeof e.props.className==`string`?e.props.className:void 0,c?`pb-1`:`pb-1.5`),"data-live-status-text-gap":``})}return n},[We,He,I,fe,pe,0,d,Je,Ke,c,Ye,ge,pt,t,dt,ft,e,g,p,f,Xe,ut,be,C,Te,ye,b,it,rt,Ge,S,z]),gt=Z.useMemo(()=>{if(!_e||!ye)return;let e=S?.durationMs;if(!(typeof e!=`number`||e<=0))return EI(e)},[_e,ye,S?.durationMs]),_t=Z.useMemo(()=>{let e=typeof o==`number`&&o>0?o:typeof s==`number`&&s>0?s:null;if(e===null)return null;let t=pP(e);return t.length>0?t:null},[o,s]),vt=Z.useMemo(()=>{if(!he||!_e||C?.variant===`error`)return null;let e=S?.assistantTps;if(!NP({completionDisposition:S?.completionDisposition,tps:e}))return null;let t=PP(e??0);return t.length>0?t:null},[he,C?.variant,_e,S?.assistantTps,S?.completionDisposition]),yt=(0,$.jsxs)($.Fragment,{children:[!te&&!c&&!U&&ne?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:XF,"aria-label":E(`chat.messageBody.actions.openPreviewAria`),onPointerDown:e=>e.stopPropagation(),onClick:()=>{let e=ae??(re?ie(re):null);e&&ee(e,ne)},children:(0,$.jsx)(X,{weight:aI,name:`global`,className:ZF})})}),(0,$.jsx)(Bs,{sideOffset:6,children:E(`chat.messageBody.actions.openPreview`)})]}):null,!te&&!oe&&k.fork?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,size:`icon`,variant:`ghost`,className:XF,"aria-label":E(`chat.messageBody.actions.forkAria`),"aria-busy":le,disabled:le||!!G,onPointerDown:e=>e.stopPropagation(),onClick:e=>{Be(e)},children:(0,$.jsx)(X,{weight:aI,name:le?`loader-4`:`git-branch`,className:Y(ZF,le&&`animate-spin`)})})}),(0,$.jsx)(Bs,{sideOffset:6,children:E(`chat.messageBody.actions.fork`)})]}):null]});return(0,$.jsxs)(`div`,{ref:j,"data-message-text-export-root":`true`,...fO,className:Y(`relative w-full oc-message-hover-scope`),style:KF,children:[(0,$.jsx)(cP,{containerRef:j}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:Y(`message-content-text leading-relaxed text-foreground/90 [&_p:last-child]:mb-0 [&_ul:last-child]:mb-0 [&_ol:last-child]:mb-0`,(x||S?.headerMessageId===t)&&(c?`[&>[data-message-text-export-source]:first-child]:pt-1.5`:`[&>[data-message-text-export-source]:first-child]:pt-2`)),children:[ht,C&&(0,$.jsx)(jd,{children:(0,$.jsx)(`div`,{className:`my-1.5`,"data-assistant-error":C.variant,children:(0,$.jsx)(GF,{presentation:C,sessionId:e,messageId:t,directory:ae??void 0})})},`assistant-error`)]}),lt&&S?.diffStats?(0,$.jsx)(vI,{fileCount:S.diffStats.files,changedFiles:S.changedFiles,turnId:S.turnId,isLatestTurn:S.isLatestTurn,isMobile:c}):null,(0,$.jsx)(zg,{files:n,messageID:t,sessionID:e,onShowPopup:p}),mt&&(0,$.jsx)(`div`,{className:Y(c?YF:JF),"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:eI,"data-message-action-group":`true`,children:dt})}),ot&&(0,$.jsxs)(`div`,{className:L,"data-message-footer":`true`,style:qF,children:[(0,$.jsxs)(`div`,{className:eI,"data-message-action-group":`true`,children:[dt,yt]}),vt||gt||_t||ct?(0,$.jsxs)(`div`,{className:tI,children:[vt?(0,$.jsx)(sI,{label:vt}):null,gt?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:rI,children:[(0,$.jsx)(X,{weight:aI,name:`hourglass`,className:iI}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:gt})]})}),(0,$.jsx)(Bs,{children:gt})]}):null,ct&&e?(0,$.jsx)(FP,{sessionId:e}):null,_t?(0,$.jsx)(oI,{messageId:t,label:_t,focusReveal:c}):null]}):null,!te&&_e&&ve&&!st?(0,$.jsx)(sN,{activityParts:S?.activityParts}):null]}),!ot&&!Je&&vt?(0,$.jsx)(`div`,{className:L,"data-message-footer":`true`,"data-message-tps":`interrupted`,style:qF,children:(0,$.jsx)(`div`,{className:tI,children:(0,$.jsx)(sI,{label:vt})})}):null]})]})}),AI=Z.memo(e=>{let t=(0,Q.c)(28),n,r;if(t[0]===e?(n=t[1],r=t[2]):({isUser:n,...r}=e,t[0]=e,t[1]=n,t[2]=r),n){let e;return t[3]!==r.agentMention||t[4]!==r.alwaysShowActions||t[5]!==r.copiedMessage||t[6]!==r.editStaged||t[7]!==r.editing||t[8]!==r.hasTextContent||t[9]!==r.hasTouchInput||t[10]!==r.isMobile||t[11]!==r.messageCreatedAt||t[12]!==r.messageId||t[13]!==r.onCancelEdit||t[14]!==r.onCopyMessage||t[15]!==r.onEdit||t[16]!==r.onFork||t[17]!==r.onRevert||t[18]!==r.onShowPopup||t[19]!==r.parts||t[20]!==r.pendingMessageAction||t[21]!==r.sessionId||t[22]!==r.sourceParts||t[23]!==r.stickyUserHeaderEnabled||t[24]!==r.userActionsMode?(e=(0,$.jsx)(DI,{sessionId:r.sessionId,messageId:r.messageId,parts:r.parts,sourceParts:r.sourceParts,messageCreatedAt:r.messageCreatedAt,isMobile:r.isMobile,alwaysShowActions:r.alwaysShowActions,hasTouchInput:r.hasTouchInput,hasTextContent:r.hasTextContent,onCopyMessage:r.onCopyMessage,copiedMessage:r.copiedMessage,onShowPopup:r.onShowPopup,agentMention:r.agentMention,onEdit:r.onEdit,onRevert:r.onRevert,onFork:r.onFork,pendingMessageAction:r.pendingMessageAction,editing:r.editing,editStaged:r.editStaged,onCancelEdit:r.onCancelEdit,userActionsMode:r.userActionsMode,stickyUserHeaderEnabled:r.stickyUserHeaderEnabled}),t[3]=r.agentMention,t[4]=r.alwaysShowActions,t[5]=r.copiedMessage,t[6]=r.editStaged,t[7]=r.editing,t[8]=r.hasTextContent,t[9]=r.hasTouchInput,t[10]=r.isMobile,t[11]=r.messageCreatedAt,t[12]=r.messageId,t[13]=r.onCancelEdit,t[14]=r.onCopyMessage,t[15]=r.onEdit,t[16]=r.onFork,t[17]=r.onRevert,t[18]=r.onShowPopup,t[19]=r.parts,t[20]=r.pendingMessageAction,t[21]=r.sessionId,t[22]=r.sourceParts,t[23]=r.stickyUserHeaderEnabled,t[24]=r.userActionsMode,t[25]=e):e=t[25],e}let i;return t[26]===r?i=t[27]:(i=(0,$.jsx)(kI,{...r}),t[26]=r,t[27]=i),i});function jI(e){return e.openContextPanelTab}function MI(e){return e.setCurrentSession}function NI(e){return e.openContextPanelTab}function PI(e){return!e}function FI(e){return e.openContextPanelTab}var II=e=>{let t=e,n=t?.clientRole,r=t?.role;return t?.userMessageMarker===!0||n===`user`||r===`user`||t?.origin===`user`||t?.source===`user`?{role:`user`,isUser:!0}:{role:n||r||`assistant`,isUser:!1}},LI=e=>{if(typeof e!=`string`)return!1;let t=e.toLowerCase().trim();if(!t)return!1;if(t.includes(`token refresh failed`)||t.includes(`unauthorized`)||t.includes(`invalid token`)||t.includes(`expired token`))return!0;let n=t.includes(`oauth`),r=t.includes(`failed`)||t.includes(`invalid`)||t.includes(`expired`);if(n&&r)return!0;let i=/\b401\b/.test(t),a=t.includes(`auth`)||t.includes(`token`)||t.includes(`unauthorized`);return i&&a},RI={"provider.rate-limit":`chat.response.rateLimit`,"provider.auth":`chat.response.auth`,"provider.quota":`chat.response.quota`,"provider.content-filter":`chat.response.contentFilter`,"provider.transport":`chat.response.transport`,"provider.internal":`chat.response.internal`,"provider.invalid-output":`chat.response.invalidOutput`,"provider.invalid-request":`chat.response.invalidRequest`,"provider.unsupported-operation":`chat.response.unsupportedOperation`,"provider.no-route":`chat.response.noRoute`,"provider.unknown":`chat.response.providerUnknown`,"provider.timeout":`chat.response.timeout`,"permission.rejected":`chat.response.permissionRejected`,"tool.execution":`chat.response.toolExecution`,"compaction.failed":`chat.response.compactionFailed`,"compaction.unavailable":`chat.response.compactionUnavailable`,"compaction.interrupted":`chat.response.compactionInterrupted`},zI={icon:`pause-circle`,variant:`muted`};function BI(e,t){if(!e||typeof e!=`object`)return;let n=e,r=typeof n.data?.message==`string`?n.data.message:typeof n.message==`string`?n.message:void 0,i=typeof n.name==`string`?n.name:void 0,a=typeof n.type==`string`?n.type.trim():void 0,o=typeof n.status==`number`&&Number.isInteger(n.status)&&n.status>=100&&n.status<=599?n.status:void 0;if(!r&&!a&&!i&&o===void 0)return;let s=[a&&a!==`unknown`&&a!==`error`?a:void 0,o].filter(e=>e!==void 0).join(` · `)||void 0,c=(e,n,i=`error`,a=!1)=>({text:t(e),icon:n,variant:i,...r&&!a?{rawMessage:r}:{},...s?{detail:s}:{}});if(i===`SessionRetry`)return c(`chat.response.retrying`,`refresh`,`info`);if(a===`aborted`)return r===`Execution was interrupted repeatedly and will not be resumed automatically.`?c(`chat.response.resumeExhausted`,`error-warning`,`error`,!0):r===`Session interrupted by user`?c(`chat.response.stopped`,`stop-circle`,`muted`,!0):r===`Compaction cancelled`?c(`chat.response.compactionCancelled`,`stop-circle`,`muted`,!0):r===`Tool execution interrupted`?c(`chat.response.toolInterrupted`,zI.icon,zI.variant,!0):c(`chat.response.interrupted`,zI.icon,zI.variant,r===`Step interrupted`);if(i===`MessageAbortedError`||!a&&r?.trim().toLowerCase()===`aborted`)return c(`chat.response.stopped`,`stop-circle`,`muted`,!0);if(a&&Object.hasOwn(RI,a)){if(a===`compaction.interrupted`)return c(RI[a],zI.icon,zI.variant,r===`Compaction was interrupted`);if(a===`compaction.unavailable`)return c(RI[a],`information`,`info`,r===`Nothing to compact yet`);let e=a===`provider.auth`||a===`permission.rejected`?`lock`:a===`provider.timeout`?`time`:`error-warning`;return c(RI[a],e)}return(!a||a===`unknown`||a===`error`)&&LI(r)?c(`chat.response.auth`,`lock`):{...c(`chat.response.failed`,`error-warning`),...!r&&i?{rawMessage:i}:{}}}function VI(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.nativeType===`synthetic`&&t.description===`Continuing after restart`}function HI(e,t){if(VI(e))return{text:t(`chat.response.continuingAfterRestart`),icon:`restart`,variant:`info`}}function UI(e){return!e}function WI(e){let t=(0,Q.c)(60),{part:n,isMobile:r}=e,i=r!==void 0&&r,{t:a}=Kn(),o;t[0]!==n.id||t[1]!==n.messageID||t[2]!==n.sessionID?(o=JSON.stringify([n.sessionID,n.messageID,n.id]),t[0]=n.id,t[1]=n.messageID,t[2]=n.sessionID,t[3]=o):o=t[3];let s=o,{expanded:c,toggle:l}=uO(s),u=(0,Z.useId)(),d;t[4]!==s||t[5]!==l?(d=()=>l(s),t[4]=s,t[5]=l,t[6]=d):d=t[6];let f=J(d),p=n.status===`running`,m=n.status===`failed`,h;t[7]!==m||t[8]!==p||t[9]!==a?(h=a(p?`chat.activity.compacting`:m?`chat.activity.compactionFailed`:`chat.activity.compactionCompleted`),t[7]=m,t[8]=p,t[9]=a,t[10]=h):h=t[10];let g=h,_;t[11]!==m||t[12]!==n.error||t[13]!==a?(_=m?BI(n.error,a):void 0,t[11]=m,t[12]=n.error,t[13]=a,t[14]=_):_=t[14];let v=_,y;t[15]!==m||t[16]!==n.summary?(y=m?``:n.summary?.trim()??``,t[15]=m,t[16]=n.summary,t[17]=y):y=t[17];let b=y,x,S,C,w,T,E,D,O,k;if(t[18]!==u||t[19]!==c||t[20]!==v?.text||t[21]!==m||t[22]!==i||t[23]!==p||t[24]!==n.status||t[25]!==b||t[26]!==g||t[27]!==f){let e=Y(`shrink-0 typography-meta`,m?`text-[var(--status-error)]/85`:`text-muted-foreground`);E=`w-full min-w-0`,D=``,O=n.status;let r=i?`min-h-7`:`min-h-8`;t[37]===r?k=t[38]:(k=Y(`flex w-full items-center gap-3`,r),t[37]=r,t[38]=k),x=`separator`,S=p?`polite`:void 0,C=v?.text??g,t[39]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 border-t`,"aria-hidden":`true`}),t[39]=w):w=t[39],T=b?(0,$.jsxs)(Xn,{variant:`ghost`,size:`sm`,className:Y(e,_y),"aria-expanded":c,"aria-controls":u,onClick:f,children:[g,(0,$.jsx)(X,{name:`arrow-down-s`,className:Y(`size-4 transition-transform`,c&&`rotate-180`)})]}):(0,$.jsx)(`span`,{className:e,children:g}),t[18]=u,t[19]=c,t[20]=v?.text,t[21]=m,t[22]=i,t[23]=p,t[24]=n.status,t[25]=b,t[26]=g,t[27]=f,t[28]=x,t[29]=S,t[30]=C,t[31]=w,t[32]=T,t[33]=E,t[34]=D,t[35]=O,t[36]=k}else x=t[28],S=t[29],C=t[30],w=t[31],T=t[32],E=t[33],D=t[34],O=t[35],k=t[36];let A;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 border-t`,"aria-hidden":`true`}),t[40]=A):A=t[40];let j;t[41]!==x||t[42]!==S||t[43]!==C||t[44]!==w||t[45]!==T||t[46]!==D||t[47]!==O||t[48]!==k?(j=(0,$.jsxs)(`div`,{"data-compaction-card":D,"data-compaction-status":O,className:k,role:x,"aria-live":S,"aria-label":C,children:[w,T,A]}),t[41]=x,t[42]=S,t[43]=C,t[44]=w,t[45]=T,t[46]=D,t[47]=O,t[48]=k,t[49]=j):j=t[49];let M;t[50]!==u||t[51]!==c||t[52]!==p||t[53]!==n.messageID||t[54]!==b?(M=b&&c?(0,$.jsx)(`div`,{id:u,className:`py-2`,children:(0,$.jsx)(id,{content:b,messageId:n.messageID,isStreaming:p})}):null,t[50]=u,t[51]=c,t[52]=p,t[53]=n.messageID,t[54]=b,t[55]=M):M=t[55];let N;return t[56]!==E||t[57]!==j||t[58]!==M?(N=(0,$.jsxs)(`div`,{className:E,children:[j,M]}),t[56]=E,t[57]=j,t[58]=M,t[59]=N):N=t[59],N}var GI=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},KI=e=>{if(typeof e!=`object`||!e)return null;let t=e,n=typeof t.model==`object`&&t.model!==null?t.model:void 0,r=typeof t.metadata==`object`&&t.metadata!==null?t.metadata:void 0,i=typeof r?.model==`object`&&r.model!==null?r.model:void 0,a=GI(t.mode)??GI(t.agent)??GI(r?.agent),o=GI(t.providerID)??GI(n?.providerID)??GI(i?.providerID),s=GI(t.modelID)??GI(n?.modelID)??GI(n?.id)??GI(i?.modelID)??GI(i?.id),c=GI(n?.variant)??GI(i?.variant)??GI(t.variant)??GI(r?.variant);return!a&&!o&&!s&&!c?null:{agentName:a,providerId:o,modelId:s,variant:c}},qI=e=>{let t=e?.providerId?.trim(),n=e?.modelId?.trim();return!t||!n?null:{providerId:t,modelId:n}},JI=e=>qI(e.assistantIdentity)??qI(e.userIdentity)??(e.allowComposerFallback?qI(e.composerSelection):null)??qI(e.sessionSelection),YI=e=>{let t=e?.modelId??null;return{providerID:e?.providerId??null,modelID:t,agentName:e?.agentName,modelName:fi(void 0,t)||void 0,variant:e?.variant}},XI=e=>!(!e.isLastTurn||!e.sessionIsWorking||e.hasAssistantMessages||e.activityPresentationKind===`compaction`||e.hasActiveStreamingMessage),ZI=(e,t,n)=>e===`active`||n?.isLastTurn&&n.hasConfirmedFinalBody!==!0?!0:t===`summary`,QI=e=>!e,$I=e=>e.completionDisposition===`active`?e.isLastTurn&&e.sessionIsWorking?{completionDisposition:`active`,durationMs:e.durationMs}:{completionDisposition:`abnormal`,durationMs:e.durationMs}:{completionDisposition:e.completionDisposition,durationMs:e.durationMs},eL=e=>!(e.completionDisposition===`active`||e.isLastTurn&&e.sessionIsWorking&&!e.hasConfirmedSettledAssistant),tL=e=>e.isWorking?!0:e.isInActiveTurn?e.headerCompletionDisposition!==`normal`&&e.headerCompletionDisposition!==`abnormal`:!1,nL=e=>e.turnCompletionDisposition===`active`&&(e.isLastTurn||e.hasAssistantMessages)?`active`:e.headerPresentationDisposition,rL=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},iL=e=>{let t=e.info;return typeof t.parentID==`string`&&t.parentID.length>0?t.parentID:null},aL=e=>!e||rL(e)!==`user`?!1:e.parts.some(e=>{if(e?.type!==`text`)return!1;let t=e.text;return e.synthetic===!0&&typeof t==`string`&&t.trim().startsWith(`The following tool was executed by the user`)}),oL=e=>rL(e)===`user`?aL(e)||e.parts.some(e=>{let t=e.shellAction;return e.type===`text`&&typeof t==`object`&&!!t}):!1,sL=(e,t)=>{if(rL(e)!==`assistant`||t&&iL(e)!==t||e.parts.length!==1)return{hide:!1,details:null};let n=e.parts[0];return n?.type!==`tool`||(typeof n.tool==`string`?n.tool.toLowerCase():``)!==`bash`?{hide:!1,details:null}:{hide:!0,details:{command:typeof n.state?.input?.command==`string`?n.state.input.command:void 0,output:(typeof n.state?.output==`string`?n.state.output:void 0)??(typeof n.state?.metadata?.output==`string`?n.state.metadata.output:void 0),status:typeof n.state?.status==`string`?n.state.status:void 0}}},cL=(e,t)=>{let n=e[t];if(!n)return null;let r=n.info.id;for(let n=t+1;n<e.length;n+=1){let t=e[n];if(rL(t)===`user`)break;let{hide:i,details:a}=sL(t,r);if(i){let e=typeof a?.command==`string`?a.command.trim():``;return e.length>0?e:null}}return null},lL=nd(()=>xn(()=>import(`./ToolOutputDialog-BgPIMkaj.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,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,51,52,53,54,55,56,57,58]))),uL=4e3,dL=new Map,fL=new Map,pL=new Set([`bash`,`shell`,`cmd`,`terminal`]),mL=e=>{if(typeof e!=`string`)return``;let t=e.trim().toLowerCase();if(!t)return``;let n=t.replace(/:\d+$/,``);if(!n.includes(`.`))return n;let r=n.split(`.`).filter(Boolean);return r[r.length-1]??n},hL=e=>{let t=dL.get(e);return t?new Set(t):new Set},gL=(e,t)=>{if(dL.size>=uL&&!dL.has(e)){let e=dL.keys().next().value;typeof e==`string`&&dL.delete(e)}dL.set(e,new Set(t))},_L=e=>{let t=fL.get(e);return t?new Set(t):new Set},vL=(e,t)=>{if(fL.size>=uL&&!fL.has(e)){let e=fL.keys().next().value;typeof e==`string`&&fL.delete(e)}fL.set(e,new Set(t))},yL=200,bL=new Map,xL=e=>bL.get(e),SL=(e,t)=>{if(!t.agent&&!t.provider&&!t.model)return;let n=bL.get(e);if(!(n&&n.agent===t.agent&&n.provider===t.provider&&n.model===t.model)){if(bL.size>=yL&&!bL.has(e)){let e=bL.keys().next().value;typeof e==`string`&&bL.delete(e)}bL.set(e,t)}};function CL(e){let t=(0,Q.c)(3),[n,r]=Z.useState(e),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{e!=null&&r(e)},a=[e],t[0]=e,t[1]=i,t[2]=a),Z.useEffect(i,a),e??n}var wL=(e,t)=>{if(typeof e==`object`&&e)return e[t]},TL=Z.memo(({message:e,previousMessage:t,nextMessage:n,onContentChange:r,animationHandlers:i,turnGroupingContext:a,assistantHeaderMessageId:o,turnOwnsAssistantHeader:s=!1,isInActiveTurn:c=!1,activeStreamingPhase:l=null,animateUserOnMount:u=!1,onUserAnimationConsumed:d,reviewTransferDirection:f=null})=>{let{t:p}=Kn(),{isMobile:m,isTablet:h,hasTouchInput:g}=Bc(),_=Bb(),v=Vb(_),y=m||h,b=Z.useRef(null),x=Z.useRef(null),S=J(t=>{b.current=t,x.current?.(),x.current=null,t&&m&&(x.current=kP(t,e.info.id))});Z.useEffect(()=>{let t=b.current;return x.current?.(),x.current=null,t&&m&&(x.current=kP(t,e.info.id)),()=>{x.current?.(),x.current=null}},[m,e.info.id]);let C=ma(e=>e.currentSessionId),w=ma(e=>e.revertToMessage),T=ma(e=>e.editMessagePreservingChanges),E=ma(e=>e.forkFromMessage),D=ma(t=>t.messageEditCommitting?.messageId===e.info.id&&t.messageEditCommitting?.sessionId===e.info.sessionID),O=ma(t=>t.stagedMessageEdit?.messageId===e.info.id&&t.stagedMessageEdit?.sessionId===e.info.sessionID),k=ma(e=>e.clearStagedMessageEdit);qt(`ui.chat_message.render`),c&&qt(`ui.chat_message.render.streaming`);let A=aa(e=>e.providers),{showReasoningTraces:j,stickyUserHeader:M,chatRenderMode:N,showExpandedBashTools:P}=q(Ke(e=>({showReasoningTraces:e.showReasoningTraces,stickyUserHeader:e.stickyUserHeader,chatRenderMode:e.chatRenderMode,showExpandedBashTools:e.showExpandedBashTools})));Z.useEffect(()=>{C&&pO.getInstance().recordSessionStart(C)},[C]);let[F,I]=Z.useState(null),[L,R]=Z.useState(!1),[z,B]=Z.useState(null),V=Z.useRef(null),[H,ee]=Z.useState(()=>hL(e.info.id)),[U,te]=Z.useState(()=>_L(e.info.id)),[ne,W]=Z.useState({open:!1,title:``,content:``});Z.useEffect(()=>{ee(hL(e.info.id)),te(_L(e.info.id))},[e.info.id]);let G=Z.useMemo(()=>II(e.info),[e.info]).isUser,re=Z.useMemo(()=>lt(e.parts),[e.parts]),ie=G&&(m||!M),ae=G&&!m&&M&&!ie,oe=e.info.sessionID,{currentContextAgent:se,savedSessionAgentSelection:K}=My(Ke(e=>({currentContextAgent:c&&oe?e.currentAgentContext.get(oe):void 0,savedSessionAgentSelection:c&&oe?e.sessionAgentSelections.get(oe):void 0}))),ce=Z.useMemo(()=>gD(e.sourceParts??e.parts),[e.parts,e.sourceParts]),le=Z.useMemo(()=>G?AD(ce):gD(e.parts),[G,e.parts,ce]),ue=Z.useMemo(()=>{if(G||!t)return null;let e=wL(t.info,`clientRole`),n=wL(t.info,`role`);return(typeof e==`string`?e:typeof n==`string`?n:void 0)===`user`&&KI(t.info)||null},[G,t]),de=Z.useMemo(()=>{if(G)return;let t=wL(e.info,`mode`);if(typeof t==`string`&&t.trim().length>0)return t;let n=wL(e.info,`agent`);if(typeof n==`string`&&n.trim().length>0)return n;if(ue?.agentName)return ue.agentName;if(oe)return se||(K??void 0)},[G,e.info,ue,oe,se,K]),fe=G?null:KI(e.info),pe=fe?.providerId??null,me=fe?.modelId??null,he=Sr(Ke(e=>{if(G||!oe)return null;if(ue?.providerId&&ue?.modelId)return{providerId:ue.providerId,modelId:ue.modelId};if(de){let t=e.getAgentModelForSession(oe,de);if(t?.providerId&&t?.modelId)return t}let t=e.getSessionModelSelection(oe);return t?.providerId&&t?.modelId?t:null})),ge=Z.useMemo(()=>G?null:typeof pe==`string`&&pe.trim().length>0?pe:he?.providerId??null,[G,pe,he]),_e=Z.useMemo(()=>G?null:typeof me==`string`&&me.trim().length>0?me:he?.modelId??null,[G,me,he]),ve=e.info.id?xL(e.info.id):void 0;G||SL(e.info.id,{agent:de,provider:ge??void 0,model:_e??void 0});let ye=de??ve?.agent,be=ge??ve?.provider??null,xe=_e??ve?.model??null,Se=Z.useMemo(()=>{if(G)return;let e=be&&A.length>0?A.find(e=>e.id===be):void 0;return fi(e,xe)||void 0},[G,be,xe,A]),Ce=Z.useMemo(()=>{if(G||!ge||!_e)return!1;let e=A.find(e=>e.id===ge);if(!e?.models||!Array.isArray(e.models))return!1;let t=e.models.find(e=>e.id===_e)?.variants;return!!(t&&Object.keys(t).length>0)},[G,_e,ge,A]),we=CL(ye),Te=CL(be??void 0),Ee=CL(xe??void 0),De=CL(Se),Oe=we??void 0,ke=Te??null,Ae=Ee??null,je=De??void 0,Me=Z.useMemo(()=>{let t=e.info.time;return typeof t?.completed==`number`?t.completed:null},[e.info.time]),Ne=Z.useMemo(()=>{let t=e.info.time;return typeof t?.created==`number`?t.created:null},[e.info.time]),Pe=Z.useMemo(()=>G?!0:!!(Me&&Me>0),[G,Me]),Fe=Z.useMemo(()=>{let t=e.info.finish;return typeof t==`string`?t:void 0},[e.info]),Ie=Z.useMemo(()=>bD(le,{includeReasoning:j}),[le,j]),Le=Z.useMemo(()=>G?Ie:!Pe&&N===`sorted`?[]:Ie,[N,Pe,G,Ie]),Re=Z.useMemo(()=>G?[]:Ie.filter(e=>e.type===`text`),[G,Ie]),ze=Z.useMemo(()=>G?[]:Ie.filter(e=>e.type===`tool`),[G,Ie]),Be=Z.useMemo(()=>{if(!P)return new Set;let e=new Set;for(let t of ze){let n=typeof t?.id==`string`?t.id:``;if(!n)continue;let r=mL(t.tool);!r||!pL.has(r)||e.add(n)}for(let t of a?.activityParts??[]){if(t.kind!==`tool`)continue;let n=mL(t.part.tool);!n||!pL.has(n)||e.add(t.id)}return e},[P,ze,a?.activityParts]),Ve=Z.useMemo(()=>{if(Be.size===0&&U.size===0)return H;let e=new Set(H);return Be.forEach(t=>{U.has(t)||e.add(t)}),U.forEach(t=>{e.delete(t)}),e},[U,Be,H]),He=Z.useMemo(()=>{if(!G)return;let e=le.find(e=>e.type===`agent`);if(!e)return;let t=e,n=typeof t.name==`string`?t.name:void 0;if(n)return{name:n,token:t.source&&typeof t.source.value==`string`&&t.source.value.trim().length>0?t.source.value:`@${n}`}},[G,le]),Ue=G&&!jD(Le),We=typeof Fe!=`string`,Ge=Z.useMemo(()=>G?!1:Re.length===0||ze.length===0?We:!0,[Re.length,ze.length,We,G]),qe=Z.useMemo(()=>!G&&pO.getInstance().shouldAnimateMessage(e.info,C||e.info.sessionID),[e.info,C,G]),[Je,Ye]=Z.useState(!1),Xe=Z.useMemo(()=>n?II(n.info):null,[n]),Ze=!!a,Qe=a?.isLastAssistantInTurn??!1,$e=tL({isWorking:a?.isWorking===!0,isInActiveTurn:c,headerCompletionDisposition:a?.completionDisposition}),et=Z.useMemo(()=>G?!1:Ze?!Qe:Xe?!Xe.isUser&&Xe.role===`assistant`:!1,[Ze,Qe,G,Xe]),tt=Z.useMemo(()=>Pe?`completed`:c?l??`streaming`:`completed`,[l,c,Pe]);Z.useEffect(()=>{!G||!u||d?.(e.info.id)},[u,G,e.info.id,d]),Z.useEffect(()=>{Ye(!1)},[e.info.id]),Z.useEffect(()=>{let t=o??a?.headerMessageId;G||!t||t!==e.info.id||(tt===`streaming`||tt===`cooldown`)&&Ye(!0)},[o,G,e.info.id,tt,a?.headerMessageId]);let nt=Z.useMemo(()=>{if(G)return!0;if(s)return!1;let t=o??a?.headerMessageId;return t?e.info.id===t?tt===`completed`||Je||tt===`streaming`||tt===`cooldown`:!1:!0},[o,Je,G,a,tt,e.info.id,s]),rt=Z.useCallback(e=>{Gn(e).then(t=>{t.ok&&(I(e),setTimeout(()=>I(null),2e3))})},[]),it=G?void 0:a?.userMessageVariant??ue?.variant,at=!G&&Ce&&typeof it==`string`&&it.trim().length>0?it:void 0,ot=Z.useMemo(()=>{if(!G&&!UI(Ze?Qe:!et))return BI(e.info?.error,p)},[Ze,et,Qe,G,e.info,p]),st=ot?.text,ct=Z.useMemo(()=>{if(G){let e=Le.filter(e=>e.type===`text`).map(e=>{let t=e.shellAction?.output;return typeof t==`string`?t.trim():``}).filter(e=>e.length>0);if(e.length>0)return e.join(`
|
|
6595
6595
|
|
|
6596
6596
|
`);let t=Le.filter(e=>e.type===`text`).map(e=>{let t=e.shellAction?.command;return typeof t==`string`?t.trim():``}).filter(e=>e.length>0);return t.length>0?t.join(`
|
|
6597
6597
|
`):Le.filter(e=>e.type===`text`).map(e=>(e.text||e.content||``).trim()).filter(e=>e.length>0).join(`
|
|
6598
6598
|
`).replace(/\n\s*\n+/g,`
|
|
6599
|
-
`)}return st&&st.trim().length>0?st:ua(Le)},[st,Le,G]),ut=ct.length>0,dt=Z.useCallback(async()=>(await Gn(ct)).ok?(G&&(R(!0),setTimeout(()=>R(!1),2e3)),!0):!1,[G,ct]),ft=J(async()=>{if(!(!oe||!e.info.id||V.current)){V.current=`revert`,B(`revert`);try{_.onRevertMessage?await _.onRevertMessage(e.info.id):await w(oe,e.info.id,{directory:_.directory??void 0})}catch(e){_.onRevertMessage&&Pn.error(p(`chat.revert.toast.failed`),{id:`session-revert-error`,description:e&&typeof e==`object`&&`message`in e?String(e.message):String(e)})}finally{V.current=null,B(null)}}}),pt=J(()=>{if(!oe||!e.info.id||V.current)return;let t={info:e.info,parts:e.parts};if(_.onEditMessage){_.onEditMessage(e.info.id,t).catch(()=>{});return}T(oe,e.info.id,t).catch(()=>{})}),mt=J(()=>{oe&&k(oe)}),ht=Z.useCallback(async()=>{if(e.info.id,!oe||!e.info.id){console.warn(`[session-fork] message action is missing identifiers`,{hasSessionId:!!oe,hasMessageId:!!e.info.id});return}if(!V.current){V.current=`fork`,B(`fork`);try{await E(oe,e.info.id)}finally{V.current=null,B(null)}}},[oe,e.info.id,E]),gt=J(t=>{let n=Be.has(t),r=Ve.has(t);if(n){te(n=>{let i=new Set(n);return r?i.add(t):i.delete(t),_L(e.info.id,i),i}),r||ee(n=>{let r=new Set(n);return r.delete(t),hL(e.info.id,r),r});return}ee(n=>{let r=new Set(n);return r.has(t)?r.delete(t):r.add(t),hL(e.info.id,r),r}),te(n=>{if(!n.has(t))return n;let r=new Set(n);return r.delete(t),_L(e.info.id,r),r})}),_t=i??null,vt=Z.useRef(!1),yt=Z.useRef(!1),bt=Z.useRef(!1),xt=Z.useRef(!1),St=Z.useRef(!1),Ct=Z.useRef(!1);Z.useEffect(()=>{yt.current=!1,bt.current=!1,xt.current=!1,St.current=!1,vt.current=!1,Ct.current=!1},[e.info.id]);let wt=Z.useCallback(()=>{G||vt.current||(vt.current=!0,r?.(`structural`))},[G,r]),Tt=q(e=>e.setImagePreviewOpen),Et=Z.useCallback(e=>{(e.image||e.mermaid)&&(W(e),Tt(!0))},[Tt]),Dt=Z.useCallback(e=>{W(t=>({...t,open:e})),Tt(e)},[Tt]),Ot=!!CL(e.info,`animationSettled`),kt=tt===`streaming`||tt===`cooldown`;kt&&(Ct.current=!0);let At=Z.useMemo(()=>!G&&Ie.some(e=>e.type===`reasoning`),[G,Ie]),jt=qe&&!Ot&&!kt&&!Ct.current,Mt=!G&&qe&&Re.length>0&&!Ge;Z.useEffect(()=>{if(_t?.onStreamingCandidate){if(!Mt){bt.current&&=(At&&_t?.onReasoningBlock?_t.onReasoningBlock():_t?.onReservationCancelled&&_t.onReservationCancelled(),!1);return}St.current||(St.current=!0,_t.onStreamingCandidate(),bt.current=!0)}},[_t,Mt,At]),Z.useEffect(()=>{_t?.onAnimationStart&&jt&&(xt.current||=(_t.onAnimationStart(),!0))},[_t,jt]),Z.useEffect(()=>{if(G)return;let e=_t?.onAnimatedHeightChange;if(!e||!(jt||Mt))return;let t=b.current;if(!t)return;if(typeof window>`u`||typeof ResizeObserver>`u`){e(t.getBoundingClientRect().height);return}let n=null,r=t=>{if(typeof window>`u`){e(t);return}n!==null&&window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{e(t)})},i=new ResizeObserver(e=>{let t=e[0];t&&r(t.contentRect.height)});return i.observe(t),r(t.getBoundingClientRect().height),()=>{n!==null&&(window.cancelAnimationFrame(n),n=null),i.disconnect()}},[jt,G,_t,Mt]);let Nt=Z.useMemo(()=>G?!0:Ie.some(e=>e.type===`text`||e.type===`reasoning`?_D(e).trim().length>0:e.type===`tool`||e.type===`file`),[G,Ie]),Pt=!!(a?.activityOwnerMessageId===e.info.id&&((a.activityParts?.length??0)>0||a.hasTools||a.hasReasoning)),Ft=!G&&!re&&(Pe||!c||!!a)&&!ot&&!Nt&&!Pt,It=VI(e.info,p);if(It)return(0,$.jsx)(`div`,{ref:S,className:`chat-message-column py-1.5`,id:`message-${e.info.id}`,"data-message-id":e.info.id,"data-restart-notice":``,children:(0,$.jsx)(Zv,{presentation:It})});if(Ue||Ft)return null;if(re)return(0,$.jsx)(`div`,{className:Y(`group w-full`,m?`py-2`:`py-3`),id:`message-${e.info.id}`,"data-message-id":e.info.id,"data-compaction-status":re.status,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)(UI,{part:re,isMobile:m})})});let Lt=!G&&nt?m?M?`pt-4`:`pt-0`:`pt-6`:`pt-0`,Rt=aL(e);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:Y(`w-full`,!G&&`oc-message-hover-scope`,G?m?`pt-2`:`pt-6`:Lt,G||et||s?`pb-0`:$e?`pb-1`:`pb-8`),id:`message-${e.info.id}`,"data-message-id":e.info.id,...fO,ref:S,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:G?jD(Le)?(0,$.jsx)(jd,{forceAnimation:!0,skipAnimation:!u,ignoreContextDisabled:!0,respectReducedMotion:!0,children:(0,$.jsx)(`div`,{...fO,className:Y(`relative flex`,Rt?`justify-start`:`justify-end`,m?void 0:`oc-user-shell-hover-scope`),children:(0,$.jsxs)(`div`,{className:Y(Rt?`w-full min-w-0`:`max-w-[85%]`,ae&&!Rt?`pb-5`:void 0),children:[(0,$.jsx)(`div`,{style:Rt?void 0:{backgroundColor:`var(--chat-user-message-bg)`,borderRadius:`var(--radius-xl)`,borderBottomRightRadius:`var(--radius-sm)`},className:Rt?`min-w-0 text-left`:`px-3 py-1.5 shadow-none border border-primary/5`,"data-user-message-bubble":Rt?void 0:`true`,"data-shell-result":Rt?`true`:void 0,children:(0,$.jsx)(kI,{messageId:e.info.id,parts:Le,sourceParts:ce,isUser:G,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:F,onCopyCode:rt,expandedTools:H,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:!1,hasTextContent:ut,onCopyMessage:dt,copiedMessage:L,showReasoningTraces:j,onAuxiliaryContentComplete:wt,agentMention:He,onEdit:!D&&v.edit?pt:void 0,onRevert:!D&&v.revert?ft:void 0,onFork:!D&&G&&v.fork?ht:void 0,editing:D,editStaged:O,onCancelEdit:O?mt:void 0,pendingMessageAction:z,errorPresentation:ot,userActionsMode:ie?`external-content`:`inline`,stickyUserHeaderEnabled:M&&!Rt})}),ie?(0,$.jsx)(kI,{messageId:e.info.id,parts:Le,sourceParts:ce,isUser:G,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:F,onCopyCode:rt,expandedTools:H,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:!1,hasTextContent:ut,onCopyMessage:dt,copiedMessage:L,showReasoningTraces:j,onAuxiliaryContentComplete:wt,agentMention:He,onEdit:!D&&v.edit?pt:void 0,onRevert:!D&&v.revert?ft:void 0,onFork:!D&&G&&v.fork?ht:void 0,editing:D,editStaged:O,onCancelEdit:O?mt:void 0,pendingMessageAction:z,errorPresentation:ot,userActionsMode:`external-actions`,stickyUserHeaderEnabled:M}):null]})})}):null:(0,$.jsxs)(`div`,{className:`relative`,children:[nt&&(0,$.jsx)(hO,{isUser:G,isMobile:m,providerID:ke,modelID:Ae,agentName:Oe,modelName:je,variant:at}),!Nt&&!Pt&&!ot&&c&&!Pe&&(0,$.jsxs)(`div`,{role:`status`,"aria-label":p(`common.loading`),"data-assistant-content-loading":``,className:`space-y-2 py-2`,children:[(0,$.jsx)(gf,{className:`h-3.5 w-2/3`}),(0,$.jsx)(gf,{className:`h-3.5 w-1/3`})]}),(0,$.jsx)(kI,{sessionId:e.info.sessionID,messageId:e.info.id,parts:Ie,sourceParts:le,isUser:G,isMessageCompleted:Pe,messageFinish:Fe,messageCompletedAt:Me??void 0,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:F,onCopyCode:rt,expandedTools:Ve,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:nt,hasTextContent:ut,onCopyMessage:dt,copiedMessage:L,onAuxiliaryContentComplete:wt,showReasoningTraces:j,agentMention:He,turnGroupingContext:a,errorPresentation:ot,reviewTransferDirection:f})]})})}),ne.open?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(cL,{popup:ne,onOpenChange:Dt,isMobile:m})}):null]})},(e,t)=>Zk({info:e.message.info,parts:e.message.parts},{info:t.message.info,parts:t.message.parts})&&e.message.sourceParts===t.message.sourceParts&&Qk(e.previousMessage?{info:e.previousMessage.info,parts:e.previousMessage.parts}:void 0,t.previousMessage?{info:t.previousMessage.info,parts:t.previousMessage.parts}:void 0)&&Qk(e.nextMessage?{info:e.nextMessage.info,parts:e.nextMessage.parts}:void 0,t.nextMessage?{info:t.nextMessage.info,parts:t.nextMessage.parts}:void 0)&&e.isInActiveTurn===t.isInActiveTurn&&e.activeStreamingPhase===t.activeStreamingPhase&&e.reviewTransferDirection===t.reviewTransferDirection&&e.assistantHeaderMessageId===t.assistantHeaderMessageId&&e.turnOwnsAssistantHeader===t.turnOwnsAssistantHeader&&e.animateUserOnMount===t.animateUserOnMount&&e.onUserAnimationConsumed===t.onUserAnimationConsumed&&oA(e.turnGroupingContext,t.turnGroupingContext,e.message.info.id,FI(e.message.info).isUser)),TL=e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``},EL=e=>{let t=e?.type;return t===`compaction`?!Gt(e):t===`text`&&TL(e).trim()===`/compact`},DL=e=>e?e.some(e=>EL(e)):!1,OL=e=>DL(e.parts),kL=e=>e?DL(e.sourceParts)||DL(e.parts):!1,AL=e=>{if(!OL(e))return e;let t=!1,n=e.parts.map(e=>e?.type!==`compaction`||Gt(e)?e:(t=!0,{type:`text`,text:`/compact`})),r=e.info.clientRole!==`user`;return!t&&!r?e:{...e,info:r?{...e.info,clientRole:`user`}:e.info,parts:t?n:e.parts}},jL=e=>{let t=gD(e.parts);return t.length===e.parts.length?e:{...e,parts:t}},ML=new WeakMap,NL=e=>{let t=ML.get(e);if(t)return t;let n=AL(jL(e)),r=n.parts,i=xo(r),a=i===r?n:{...n,parts:i,sourceParts:r};return ML.set(e,a),a},PL={activity:`idle`,hasWorkingContext:!1,hasActiveTools:!1,isWorking:!1,isStreaming:!1,isCooldown:!1,lifecyclePhase:null,statusText:null,isGenericStatus:!0,isWaitingForPermission:!1,canAbort:!1,compactionDeadline:null,activePartType:void 0,activeToolName:void 0,wasAborted:!1,abortActive:!1,lastCompletionId:null,isComplete:!1,isTurnSettled:!1,retryInfo:null,turnStartedAt:void 0},FL=[],IL=`\0`,LL=new Set([`edit`,`write`,`apply_patch`]),RL={read:`chat.assistantStatus.readingFile`,write:`chat.assistantStatus.writingFile`,edit:`chat.assistantStatus.editingFile`,apply_patch:`chat.assistantStatus.applyingPatch`,bash:`chat.assistantStatus.runningCommand`,grep:`chat.assistantStatus.searchingContent`,glob:`chat.assistantStatus.findingFiles`,list:`chat.assistantStatus.listingDirectory`,task:`chat.assistantStatus.delegatingTask`,webfetch:`chat.assistantStatus.fetchingUrl`,websearch:`chat.assistantStatus.searchingWeb`,codesearch:`chat.assistantStatus.webCodeSearch`,todowrite:`chat.assistantStatus.updatingTodos`,todoread:`chat.assistantStatus.readingTodos`,skill:`chat.assistantStatus.learningSkill`,question:`chat.assistantStatus.askingQuestion`,execute:`chat.assistantStatus.executing`,session_rename:`chat.assistantStatus.renamingSession`,session_move:`chat.assistantStatus.movingSession`,browser:`chat.assistantStatus.usingBrowser`},zL=[`chat.assistantStatus.working`,`chat.assistantStatus.processing`,`chat.assistantStatus.preparing`,`chat.assistantStatus.warmingUp`,`chat.assistantStatus.gearsTurning`,`chat.assistantStatus.computing`,`chat.assistantStatus.calculating`,`chat.assistantStatus.analyzing`,`chat.assistantStatus.wheelsSpinning`,`chat.assistantStatus.calibrating`,`chat.assistantStatus.synthesizing`,`chat.assistantStatus.connectingDots`,`chat.assistantStatus.inspectingLogic`,`chat.assistantStatus.weighingOptions`],BL=(e,t)=>{let n=RL[Sd(e)];return n?t(n):t(`chat.assistantStatus.usingTool`,{tool:e})},VL=e=>{let t=0;for(let n=0;n<e.length;n+=1)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)},HL=(e,t)=>t(zL[VL(e)%zL.length]??`chat.assistantStatus.working`),UL=(e,t,n)=>{let r,i;if(!La(e))for(let t=e.length-1;t>=0;--t){let n=e[t];if(n)switch(n.type){case`reasoning`:{let e=n.time??YL(n);(!e||e.end===void 0)&&!r&&(r=`reasoning`);break}case`tool`:{let e=n.state?.status;if((e===`running`||e===`pending`)&&!r){let e=Sd(XL(n));LL.has(e)?(r=`editing`,i=e):(r=`tool`,i=e)}break}case`text`:{let e=JL(n)??``;if(typeof e==`string`&&e.trim().length>0){let e=YL(n);(!e||e.end===void 0)&&!r&&(r=`text`)}break}}}let a=r===void 0,o=r===`editing`?n(`chat.assistantStatus.editingFile`):r===`tool`&&i?BL(i,n):r===`reasoning`?n(`chat.assistantStatus.thinking`):r===`text`?n(`chat.assistantStatus.composing`):HL(t,n);return{activePartType:r,activeToolName:i,statusText:o,isGenericStatus:a}},WL=e=>[e.activePartType??``,e.activeToolName??``,e.statusText,e.isGenericStatus?`1`:`0`].join(IL),GL=e=>{let[t,n,r=`working`,i]=e.split(IL);return{activePartType:t===`text`||t===`tool`||t===`reasoning`||t===`editing`?t:void 0,activeToolName:n||void 0,statusText:r,isGenericStatus:i===`1`}},KL=e=>e.type===`reasoning`,qL=e=>e.type===`text`,JL=e=>{if(qL(e))return e.text;let t=e;if(typeof t.text==`string`)return t.text;if(typeof t.content==`string`)return t.content;if(typeof t.value==`string`)return t.value},YL=e=>(qL(e)||KL(e),e.time),XL=e=>{if(e.tool)return e.tool;let t=e;return typeof t.name==`string`?t.name:`tool`};function ZL(e,t){let{t:n}=Kn(),r=ma(e=>e.currentSessionId),i=ma(e=>e.currentSessionDirectory),a=e??r,o=t??i,s=Yr(e=>!!(a&&e.session_execution_recovery[a]),o??void 0),c=Z.useMemo(()=>e=>a?e.pendingSendMessageIDs.get(a)??null:null,[a]),l=ma(c),u=Qa(a??``,o??void 0),d=Z.useMemo(()=>{for(let e=u.length-1;e>=0;e--){let t=u[e];if(t.role===`assistant`)return{id:t.id,index:e,finish:t.finish,error:t.error,isCompaction:t.clientRole===`compaction`,startedAt:Number.isFinite(t.time.created)?t.time.created:void 0}}return{id:null,index:-1,finish:void 0,error:void 0,isCompaction:!1,startedAt:void 0}},[u]),f=d.id,p=Z.useMemo(()=>{for(let e=u.length-1;e>=0;e--){let t=u[e];if(t.role===`user`&&!St(t))return{id:t.id,index:e,turnStartedAt:Number.isFinite(t.time.created)?t.time.created:void 0}}return{id:null,index:-1,turnStartedAt:void 0}},[u]),m=p.id,h=ha(f??``,o??void 0,a??void 0),g=ha(m??``,o??void 0,a??void 0),_=!!m&&DL(g),v=d.isCompaction&&d.index>p.index?h.find(e=>e.type===`compaction`):void 0,y=v?.reason===`manual`?d.startedAt:p.turnStartedAt,b=!!(f&&d.index>p.index&&(v?v.status===`failed`||v.reason===`manual`&&v.status===`completed`:hN(d.finish,h,d.error))),x=Z.useMemo(()=>{let e=`${a??``}:${f??``}`;return WL(UL(f&&!d.error&&d.index>p.index?h:FL,e,n))},[a,f,d.error,d.index,p.index,h,n]),S=Ca(a??``,o??void 0),C=mo(a??``,o??void 0),w=Z.useMemo(()=>e=>a?e.sessionAbortFlags?.get(a)??null:null,[a]),T=ma(w),{phase:E,isWorking:D}=Px(a,o??void 0),O=!!(d.error&&d.index>p.index),k=to(a??``,o??void 0),A=k?.type===`retry`?k.attempt:void 0,j=k?.type===`retry`?k.next:void 0,M=Z.useMemo(()=>GL(x),[x]),N=Z.useMemo(()=>{let e=!!(T&&!T.acknowledged);return{wasAborted:e,abortActive:e}},[T]),P=Z.useMemo(()=>{if(s)return{...PL,isRecovering:!0,canAbort:D};if(O&&E!==`retry`)return{...PL,isTurnSettled:!0,canAbort:D};if(N.wasAborted)return{...PL,wasAborted:!0,abortActive:N.abortActive,activity:`idle`,hasWorkingContext:!1,isWorking:!1,isStreaming:!1,isCooldown:!1,statusText:null,canAbort:!1,retryInfo:null};if(b)return{...PL,isComplete:v?.status!==`failed`,isTurnSettled:!0,turnStartedAt:y};let e=D,t=E===`busy`,r=E===`retry`,i=e&&(_||v?.status===`running`),a=`idle`;e&&(a=!i&&(M.activePartType===`tool`||M.activePartType===`editing`)?`tooling`:`streaming`);let o=r?{attempt:A,next:j,message:k?.type===`retry`?k.message:void 0}:null;return{activity:a,hasWorkingContext:e,hasActiveTools:!i&&(M.activePartType===`tool`||M.activePartType===`editing`),isWorking:e,isStreaming:t,isCooldown:!1,lifecyclePhase:t?`streaming`:null,statusText:e?i?n(`chat.assistantStatus.compacting`):M.statusText:null,isGenericStatus:!e||!i&&M.isGenericStatus,isWaitingForPermission:!1,canAbort:e,compactionDeadline:null,activePartType:e&&!i?M.activePartType:void 0,activeToolName:e&&!i?M.activeToolName:void 0,wasAborted:!1,abortActive:!1,lastCompletionId:null,isComplete:!1,isTurnSettled:!1,retryInfo:o,turnStartedAt:y}},[s,O,E,D,b,_,v?.status,y,M,N,A,j,k,n]);return{forming:Z.useMemo(()=>({isActive:!s&&!O&&D&&M.activePartType===`text`,characterCount:0}),[s,O,D,M.activePartType]),working:Z.useMemo(()=>{if(s||P.wasAborted||P.abortActive)return P;if(l)return{...P,activity:`streaming`,hasWorkingContext:!0,isWorking:!0,isStreaming:!0,isCooldown:!1,lifecyclePhase:`streaming`,statusText:n(`chat.assistantStatus.sendingMessage`),isGenericStatus:!1,isWaitingForPermission:!1,canAbort:!0,activePartType:void 0,activeToolName:void 0,isComplete:!1,isTurnSettled:!1,retryInfo:null};let e=S.length>0,t=C.length>0;return!e&&!t?P:t?{...P,statusText:null,isWorking:!1,hasWorkingContext:!1,hasActiveTools:!1,canAbort:!1,activePartType:void 0,activeToolName:void 0,retryInfo:null}:{...P,statusText:n(`chat.assistantStatus.waitingForPermission`),isWaitingForPermission:!0,canAbort:!1,retryInfo:null}},[s,P,l,S,C,n])}}var QL=Z.memo(()=>{let e=(0,Q.c)(15),t=Bb(),n=ma($L),r=ma(eR),i=t.sessionId??n,a=t.directory??r??void 0,o;e[0]===i?o=e[1]:(o=e=>i?e.sessionAbortFlags?.get(i)??null:null,e[0]=i,e[1]=o);let s=ma(o),c=ma(tR),l=ma(nR),{working:u}=ZL(i,a),d=aa(rR),f=!!(s&&!s.acknowledged),p=!!(i&&c===i&&typeof l==`number`&&l>Date.now()),m=u.isWaitingForPermission||!!u.retryInfo||f||u.wasAborted||u.isWorking;if(u.isRecovering)return null;let h=f||u.wasAborted,g=f||u.abortActive,_;return e[2]!==d||e[3]!==p||e[4]!==m||e[5]!==h||e[6]!==g||e[7]!==u.isGenericStatus||e[8]!==u.isTurnSettled||e[9]!==u.isWaitingForPermission||e[10]!==u.isWorking||e[11]!==u.retryInfo||e[12]!==u.statusText||e[13]!==u.turnStartedAt?(_=(0,$.jsx)(Gb,{isWorking:u.isWorking,statusText:u.statusText,isGenericStatus:u.isGenericStatus,isWaitingForPermission:u.isWaitingForPermission,wasAborted:h,abortActive:g,retryInfo:u.retryInfo,turnStartedAt:u.turnStartedAt,isTurnSettled:u.isTurnSettled,showAbortPrompt:p,showAssistantStatus:m,showTodos:!1,agentName:d}),e[2]=d,e[3]=p,e[4]=m,e[5]=h,e[6]=g,e[7]=u.isGenericStatus,e[8]=u.isTurnSettled,e[9]=u.isWaitingForPermission,e[10]=u.isWorking,e[11]=u.retryInfo,e[12]=u.statusText,e[13]=u.turnStartedAt,e[14]=_):_=e[14],_});QL.displayName=`StatusRowContainer`;function $L(e){return e.currentSessionId}function eR(e){return e.currentSessionDirectory}function tR(e){return e.abortPromptSessionId}function nR(e){return e.abortPromptExpiresAt}function rR(e){return e.currentAgentName}var iR=(e,t)=>{if(typeof e!=`object`||!e)return;let n=e[t];if(typeof n!=`string`)return;let r=n.trim();return r.length>0?r:void 0},aR=e=>{let t=(0,Q.c)(3),[n,r]=Z.useState(e),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{e!=null&&r(e)},a=[e],t[0]=e,t[1]=i,t[2]=a),Z.useEffect(i,a),e??n},oR=Z.memo(e=>{let t=(0,Q.c)(37),{assistantMessage:n,userMessage:r,pendingPresentation:i,assistantIsInActiveTurn:a,isMobile:o}=e,s=aa(sR),c=aa(Ke(cR)),l=n?.info.sessionID??r?.info.sessionID,u;t[0]!==a||t[1]!==l?(u=e=>({currentContextAgent:a&&l?e.currentAgentContext.get(l):void 0,savedSessionAgentSelection:a&&l?e.sessionAgentSelections.get(l):void 0}),t[0]=a,t[1]=l,t[2]=u):u=t[2];let{currentContextAgent:d,savedSessionAgentSelection:f}=My(Ke(u)),p;t[3]===r?p=t[4]:(p=r?GI(r.info):null,t[3]=r,t[4]=p);let m=p,h;t[5]===n?h=t[6]:(h=n?GI(n.info):null,t[5]=n,t[6]=h);let g=h,_;t[7]!==n||t[8]!==d||t[9]!==i?.agentName||t[10]!==f||t[11]!==m?.agentName?(_=()=>n?iR(n.info,`mode`)??iR(n.info,`agent`)??m?.agentName??d??f:i?.agentName??m?.agentName,t[7]=n,t[8]=d,t[9]=i?.agentName,t[10]=f,t[11]=m?.agentName,t[12]=_):_=t[12],i?.agentName,m?.agentName;let v;t[13]===_?v=t[14]:(v=_(),t[13]=_,t[14]=v);let y=v,b;t[15]!==y||t[16]!==l?(b=e=>{if(l&&y){let t=e.getAgentModelForSession(l,y);if(t?.providerId&&t.modelId)return t}if(!l)return null;let t=e.getSessionModelSelection(l);return t?.providerId&&t.modelId?t:null},t[15]=y,t[16]=l,t[17]=b):b=t[17];let x=Sr(b),S=!n||a,C;t[18]!==g||t[19]!==c||t[20]!==x||t[21]!==S||t[22]!==m?(C=qI({assistantIdentity:g,userIdentity:m,sessionSelection:x,composerSelection:c,allowComposerFallback:S}),t[18]=g,t[19]=c,t[20]=x,t[21]=S,t[22]=m,t[23]=C):C=t[23];let w=C,T=w?.providerId,E=w?.modelId,D=aR(y),O=aR(T),k=aR(E),A,j;if(t[24]!==i?.modelName||t[25]!==s||t[26]!==k||t[27]!==O){let e=O?s.find(e=>e.id===O):void 0;A=fi(e,k??null)||i?.modelName||void 0,j=e?.models?.find(e=>e.id===k),t[24]=i?.modelName,t[25]=s,t[26]=k,t[27]=O,t[28]=A,t[29]=j}else A=t[28],j=t[29];let M=j,N=M?.variants&&Object.keys(M.variants).length>0?m?.variant??i?.variant:void 0,P=O??null,F=k??null,I=D??void 0,L;return t[30]!==o||t[31]!==A||t[32]!==P||t[33]!==F||t[34]!==I||t[35]!==N?(L=(0,$.jsx)(hO,{isUser:!1,isMobile:o,providerID:P,modelID:F,agentName:I,modelName:A,variant:N}),t[30]=o,t[31]=A,t[32]=P,t[33]=F,t[34]=I,t[35]=N,t[36]=L):L=t[36],L});function sR(e){return e.providers}function cR(e){return{providerId:e.currentProviderId,modelId:e.currentModelId}}var lR=Z.memo(e=>{let t=(0,Q.c)(19),{assistantMessages:n,messages:r,activityExpanded:i,renderMessage:a}=e,o;bb0:{let e=+(r[0]?.role===`user`);if(!r.some((t,n)=>n>=e&&t.role!==`assistant`)){o=n;break bb0}let i;t[0]===n?i=t[1]:(i=new Set(n.map(uR)),t[0]=n,t[1]=i);let a=i,s;if(t[2]!==r||t[3]!==e||t[4]!==a){let n;t[6]!==e||t[7]!==a?(n=(t,n)=>n>=e&&(t.role!==`assistant`||a.has(t.messageId))?[t.message]:[],t[6]=e,t[7]=a,t[8]=n):n=t[8],s=r.flatMap(n),t[2]=r,t[3]=e,t[4]=a,t[5]=s}else s=t[5];o=s}let s=o,c;if(t[9]!==i||t[10]!==a||t[11]!==s){let e;t[13]!==i||t[14]!==a?(e=e=>a(e,i),t[13]=i,t[14]=a,t[15]=e):e=t[15],c=s.map(e),t[9]=i,t[10]=a,t[11]=s,t[12]=c}else c=t[12];let l;return t[16]!==i||t[17]!==c?(l=(0,$.jsx)(`div`,{className:`relative z-0`,"data-turn-assistant-activity-expanded":i,children:c}),t[16]=i,t[17]=c,t[18]=l):l=t[18],l});function uR(e){return e.info.id}var dR=e=>{let t=(0,Q.c)(13),{sessionId:n,directory:r,hasInlineError:i,fallbackHeader:a}=e,o=i!==void 0&&i,{t:s}=Kn(),c=Ji(n),l=za(n,r??void 0),u;if(t[0]===n?u=t[1]:(u=e=>!!(e.session_execution_recovery[n]||e.session_status[n]?.type===`retry`),t[0]=n,t[1]=u),Yr(u,r??void 0)||l===void 0||!c||o||c.directory&&r&&c.directory!==r)return null;let d;t[2]!==c.error||t[3]!==s?(d=zI(c.error,s)??{text:s(`chat.chatInput.toast.messageSendFailed`),icon:`error-warning`,variant:`error`},t[2]=c.error,t[3]=s,t[4]=d):d=t[4];let f=d,p;t[5]===a?p=t[6]:(p=a?(0,$.jsx)(`div`,{className:`pb-2`,children:a}):null,t[5]=a,t[6]=p);let m;t[7]===f?m=t[8]:(m=(0,$.jsx)(Zv,{presentation:f}),t[7]=f,t[8]=m);let h;return t[9]!==n||t[10]!==p||t[11]!==m?(h=(0,$.jsxs)(`div`,{className:`chat-message-column py-1.5`,"data-session-error":n,children:[p,m]}),t[9]=n,t[10]=p,t[11]=m,t[12]=h):h=t[12],h},fR=new Set,pR=()=>{},mR=()=>{},hR=Z.memo(e=>{let t=(0,Q.c)(53),{turn:n,showSessionError:r,activityExpanded:i,showCompactionStatus:a,pendingAssistantHeader:o,assistantHeaderMessage:s,assistantHeaderIsInActiveTurn:c,preserveActiveTurnGap:l,onToggleActivity:u,stickyUserHeader:d,renderMessage:f}=e,p=r!==void 0&&r,m=o===void 0?null:o,h=c!==void 0&&c,g=l!==void 0&&l,_=d===void 0||d,v=q(gR),y=Bb(),b=n.userMessage?.info.time?.created,x=n.userMessage??n.assistantMessages[0],S=n.activityPresentationKind===`compaction`,C;t[0]===n.userMessage?C=t[1]:(C=n.userMessage&&aL(n.userMessage),t[0]=n.userMessage,t[1]=C);let w=!!C,T=`relative w-full ${g?`pb-1`:`pb-8`}`,E=`turn-${n.turnId}`,D=n.userMessageId??n.turnId,O;t[2]!==i||t[3]!==S||t[4]!==w||t[5]!==f||t[6]!==_||t[7]!==n.userMessage?(O=!n.userMessage||S?null:_&&!w?(0,$.jsxs)(`div`,{className:`sticky top-0 z-20 relative bg-[var(--surface-background)] [overflow-anchor:none]`,children:[(0,$.jsx)(`div`,{className:`relative z-10`,children:f(n.userMessage,i)}),(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-x-0 top-full z-0 h-4 bg-gradient-to-b from-[var(--surface-background)] to-transparent sm:h-8`})]}):f(n.userMessage,i),t[2]=i,t[3]=S,t[4]=w,t[5]=f,t[6]=_,t[7]=n.userMessage,t[8]=O):O=t[8];let k;t[9]!==h||t[10]!==s||t[11]!==v||t[12]!==w||t[13]!==m||t[14]!==_||t[15]!==n.userMessage?(k=!w&&(m||s)?(0,$.jsx)(`div`,{className:`group w-full ${v?_?`pt-4`:`pt-0`:`pt-6`} pb-0`,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)(oR,{assistantMessage:s,userMessage:n.userMessage,pendingPresentation:m,assistantIsInActiveTurn:h,isMobile:v})})}):null,t[9]=h,t[10]=s,t[11]=v,t[12]=w,t[13]=m,t[14]=_,t[15]=n.userMessage,t[16]=k):k=t[16];let A;t[17]!==i||t[18]!==v||t[19]!==u||t[20]!==a||t[21]!==n.completionDisposition||t[22]!==n.durationMs||t[23]!==b?(A=a?(0,$.jsx)(`div`,{className:`group w-full ${v?`pt-4`:`pt-6`} pb-0`,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)(HF,{parts:[],isExpanded:i,completionDisposition:n.completionDisposition,activityPresentationKind:`compaction`,durationMs:n.durationMs,startedAt:typeof b==`number`?b:void 0,onToggle:u,isMobile:v,expandedTools:fR,onToggleTool:pR,onShowPopup:mR,streamPhase:n.completionDisposition===`active`?`streaming`:`completed`,showHeader:!0})})}):null,t[17]=i,t[18]=v,t[19]=u,t[20]=a,t[21]=n.completionDisposition,t[22]=n.durationMs,t[23]=b,t[24]=A):A=t[24];let j;t[25]!==i||t[26]!==f||t[27]!==n.assistantMessages||t[28]!==n.messages?(j=(0,$.jsx)(lR,{assistantMessages:n.assistantMessages,messages:n.messages,activityExpanded:i,renderMessage:f}),t[25]=i,t[26]=f,t[27]=n.assistantMessages,t[28]=n.messages,t[29]=j):j=t[29];let M;t[30]!==s||t[31]!==v||t[32]!==w||t[33]!==m||t[34]!==p||t[35]!==x||t[36]!==y||t[37]!==n.assistantMessages||t[38]!==n.userMessage?(M=p&&x&&y.active&&y.capabilities.compose&&(!y.sessionId||y.sessionId===x.info.sessionID)?(0,$.jsx)(dR,{sessionId:x.info.sessionID,directory:x.sourceDirectory??y.directory,hasInlineError:!!n.assistantMessages.at(-1)?.info.error,fallbackHeader:!w&&!m&&!s?(0,$.jsx)(oR,{userMessage:n.userMessage,pendingPresentation:JI(GI(x.info)),assistantIsInActiveTurn:!1,isMobile:v}):void 0}):null,t[30]=s,t[31]=v,t[32]=w,t[33]=m,t[34]=p,t[35]=x,t[36]=y,t[37]=n.assistantMessages,t[38]=n.userMessage,t[39]=M):M=t[39];let N;t[40]!==k||t[41]!==A||t[42]!==j||t[43]!==M?(N=(0,$.jsxs)(`div`,{className:`oc-message-hover-scope`,...fO,children:[k,A,j,M]}),t[40]=k,t[41]=A,t[42]=j,t[43]=M,t[44]=N):N=t[44];let P;return t[45]!==i||t[46]!==O||t[47]!==N||t[48]!==T||t[49]!==E||t[50]!==D||t[51]!==n.turnId?(P=(0,$.jsxs)(`section`,{className:T,id:E,"data-turn-id":n.turnId,"data-turn-activity-expanded":i,"data-scroll-spy-id":D,children:[O,N]}),t[45]=i,t[46]=O,t[47]=N,t[48]=T,t[49]=E,t[50]=D,t[51]=n.turnId,t[52]=P):P=t[52],P});function gR(e){return e.isMobile}var _R=(e,t,n)=>t.id??`${e}-part-${n}-${t.type}`,vR=e=>{let t=e.state?.time?.end;if(typeof t==`number`)return t;let n=e.time?.end;return typeof n==`number`?n:void 0},yR=e=>{let t=e.text;if(typeof t==`string`&&vD(t))return t;let n=e.content;if(typeof n==`string`&&vD(n))return n},bR=(e,t,n,r)=>({id:_R(t,n,r),turnId:e,messageId:t,part:n,partIndex:r,endedAt:vR(n)}),xR=e=>{let t=[],n=new Map,r=!1,i=!1;e.assistantMessages.forEach(e=>{e.parts.forEach(e=>{if(e.type===`tool`){r=!0;return}e.type===`reasoning`&&yR(e)&&(i=!0)})});let a=e.assistantMessages.at(-1),o=a?mN(a.parts):-1;e.assistantMessages.forEach(r=>{let i=[];r.parts.forEach((n,s)=>{let c=n.type===`tool`,l=n.type===`reasoning`||n.type===`text`?yR(n):void 0,u=r===a&&s===o,d=null;if(c?d=`tool`:n.type===`reasoning`?d=`reasoning`:e.showTextJustificationActivity&&n.type===`text`&&l&&!u&&(d=`justification`),!d)return;let f={...bR(e.turnId,r.info.id,n,s),kind:d};t.push(f),i.push(f)}),n.set(r.info.id,i)});let s=[],c=e.messages??e.assistantMessages.map(e=>({role:`assistant`,messageId:e.info.id,message:e})),l;for(let t of c){if(t.role!==`assistant`){if(t.message.info.nativeType===`synthetic`&&!BI(t.message.info)&&!MD(t.message.parts))continue;l=void 0;continue}l||(l={id:t.messageId===e.assistantMessages[0]?.info.id?`${e.turnId}:activity`:`${e.turnId}:activity:${t.messageId}`,anchorMessageId:t.messageId,afterToolPartId:null,parts:[]},s.push(l)),l.parts.push(...n.get(t.messageId)??[])}let u=s.filter(e=>e.parts.length>0);return u.length===1&&(u[0].parts=t),{activityParts:t,activitySegments:u,hasTools:r,hasReasoning:i}},SR=e=>{let t=new Map,n=new Map,r=new Map,i=new Set;e.forEach(e=>{t.set(e.turnId,e);let a=e.assistantMessages[0]?.info.id,o=e.assistantMessages[e.assistantMessages.length-1]?.info.id;e.userMessageId&&(n.set(e.userMessageId,e.turnId),i.add(e.userMessageId),r.set(e.userMessageId,{turnId:e.turnId,messageId:e.userMessageId,userMessageId:e.userMessageId,isUserMessage:!0,isAssistantMessage:!1,isFirstAssistantInTurn:!1,isLastAssistantInTurn:!1,headerMessageId:e.headerMessageId})),e.assistantMessageIds.forEach(t=>{n.set(t,e.turnId),i.add(t),r.set(t,{turnId:e.turnId,messageId:t,userMessageId:e.userMessageId,isUserMessage:!1,isAssistantMessage:!0,isFirstAssistantInTurn:t===a,isLastAssistantInTurn:t===o,headerMessageId:e.headerMessageId})});for(let t of e.messages)t.messageId!==e.userMessageId&&t.role!==`assistant`&&(n.set(t.messageId,e.turnId),r.set(t.messageId,{turnId:e.turnId,messageId:t.messageId,userMessageId:e.userMessageId,isUserMessage:!1,isAssistantMessage:!1,isFirstAssistantInTurn:!1,isLastAssistantInTurn:!1,headerMessageId:e.headerMessageId}))});let a=e.length>0?e[e.length-1]:null,o=new Set;return a&&(a.userMessageId&&o.add(a.userMessageId),a.messages.forEach(e=>{o.add(e.messageId)})),{turns:e,indexes:{turnById:t,messageToTurnId:n,messageMetaById:r},lastTurnId:a?.turnId??null,lastTurnMessageIds:o,ungroupedMessageIds:new Set}},CR=e=>{let t=e.text;if(typeof t==`string`&&t.trim().length>0)return t;let n=e.content;if(typeof n==`string`&&n.trim().length>0)return n},wR=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(!n)continue;let r=n.info.finish;if(fN(r,n.parts))for(let e=n.parts.length-1;e>=0;--e){let t=n.parts[e];if(!t||!pN(t))continue;let r=CR(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:_R(n.info.id,t,e)}}}for(let t=e.length-1;t>=0;--t){let n=e[t];if(n)for(let e=n.parts.length-1;e>=0;--e){let t=n.parts[e];if(!t||t.type!==`text`)continue;let r=CR(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:_R(n.info.id,t,e)}}}return{}},TR=e=>{let t=e.info.summary,n=t?.diffs,r=Array.isArray(n)?n:[],i=typeof t?.diffCount==`number`&&Number.isFinite(t.diffCount)?Math.max(0,Math.trunc(t.diffCount)):void 0,a=0,o=0,s=0;r.forEach(e=>{if(!e)return;let t=typeof e.additions==`number`?e.additions:0,n=typeof e.deletions==`number`?e.deletions:0;(t!==0||n!==0)&&(s+=1),a+=t,o+=n});let c=i??s,l=t?.hasDiffs===!0||c>0||r.length>0;if(l)return{additions:a,deletions:o,files:c,hasDiffs:l}},ER=e=>{let t=e.info.summary?.diffs;if(!Array.isArray(t)||t.length===0)return;let n=t.map(e=>{if(!e||typeof e.file!=`string`||e.file.trim().length===0)return null;let t=typeof e.additions==`number`?e.additions:0,n=typeof e.deletions==`number`?e.deletions:0;return t===0&&n===0?null:{file:e.file,additions:t,deletions:n}}).filter(e=>e!==null);return n.length>0?n:void 0},DR=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},OR=e=>e.info.nativeType===`synthetic`,kR=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},AR=e=>{let t=e.info.time?.created;return typeof t==`number`?t:void 0},jR=e=>{let t=e.info.time?.completed;return typeof t==`number`?t:void 0},MR=e=>{let t=e.info.time?.streamed;return typeof t==`number`&&Number.isFinite(t)?t:void 0},NR=e=>{let t=e.state?.time?.end;if(typeof t==`number`)return t;let n=e.time?.end;return typeof n==`number`?n:void 0},PR=e=>{let t=e.info?.summary?.body;if(typeof t==`string`)return t.trim().length>0?t:void 0},FR=(e,t)=>{let n=DR(e);return{messageId:e.info.id,role:n,parentMessageId:kR(e),message:e,order:t}},IR=(e,t)=>{let n=e?AR(e):void 0,r,i,a,o=!1;t.forEach(e=>{let t=jR(e);typeof t==`number`?r=Math.max(r??0,t):o=!0;let n=MR(e);typeof n==`number`&&(i=Math.max(i??0,n)),e.parts.forEach(e=>{let t=NR(e);typeof t==`number`&&(a=Math.max(a??0,t))})});let s=r??i??a,c=typeof n==`number`&&typeof s==`number`&&s>=n?s-n:void 0;return{isStreaming:o,isRetrying:t.length>1,startedAt:n,completedAt:r,durationMs:c}},LR=e=>{if(e.length===0)return`active`;let t=e[e.length-1];if(!t)return`active`;let n=t.info.finish;if(t.info.error)return`abnormal`;if(n===`tool-calls`||dN(t.parts)>0)return`active`;if(n===`stop`)return`normal`;if(typeof n==`string`&&n.length>0)return`abnormal`;for(let t of e)if(typeof jR(t)!=`number`)return`active`;return`active`},RR=e=>{let t=e[e.length-1];if(!t)return!1;let n=t.info;return hN(n.finish,t.parts,n.error)},zR=e=>kL(e)?`compaction`:`default`,BR={previousProjection:null,showTextJustificationActivity:!1,showTurnChangedFiles:!1},VR=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n].message!==t[n].message)return!1;return!0},HR=(e,t)=>e.userMessage===t.userMessage&&e.headerMessageId===t.headerMessageId&&VR(e.messages,t.messages),UR=(e,t)=>{e.summary=wR(e.assistantMessages),e.summaryText=e.summary.text??(e.userMessage?PR(e.userMessage):void 0),e.diffStats=e.userMessage?TR(e.userMessage):void 0,e.changedFiles=t.showTurnChangedFiles&&e.userMessage?ER(e.userMessage):void 0,e.completionDisposition=LR(e.assistantMessages),e.hasConfirmedFinalBody=RR(e.assistantMessages);for(let t=e.messages.length-1;t>=0;--t){let n=e.messages[t];if(n.role===`assistant`)break;if(n.role!==`compaction`)continue;let r=n.message.parts.find(Gt);r?.reason===`auto`&&r.status!==`failed`&&(e.completionDisposition=`active`,e.hasConfirmedFinalBody=!1);break}e.activityPresentationKind=e.userMessage?zR(e.userMessage):`default`;let n=xR({turnId:e.turnId,assistantMessages:e.assistantMessages,messages:e.messages,showTextJustificationActivity:t.showTextJustificationActivity}),r=t.previousProjection?.indexes.turnById.get(e.turnId);if(r){let e=new Map(r.activitySegments.map(e=>[e.anchorMessageId,e]));for(let t of n.activitySegments)for(let n of t.parts){let r=e.get(n.messageId);if(r){t.id=r.id,t.anchorMessageId=r.anchorMessageId;break}}}return e.activityParts=n.activityParts,e.activitySegments=n.activitySegments,e.hasTools=n.hasTools,e.hasReasoning=n.hasReasoning,e.stream=IR(e.userMessage,e.assistantMessages),e.startedAt=e.stream.startedAt,e.completedAt=e.stream.completedAt,e.durationMs=e.stream.durationMs,e},WR=(e,t)=>{let n=t.previousProjection;if(!n||n.turns.length===0||e.length===0)return e.map(e=>UR(e,t));let r=n.turns.length===e.length,i=!1,a=e.map((e,a)=>{let o=n.indexes.turnById.get(e.turnId);return o&&HR(o,e)?(i=!0,n.turns[a]!==o&&(r=!1),o):(r=!1,UR(e,t))});return r&&i?n.turns:a},GR=e=>{if(e.length<=1)return e;let t=!1,n=e.map((n,r)=>{if(r===e.length-1||n.completionDisposition!==`active`||(e[r+1]?.assistantMessages.length??0)===0)return n;t=!0;let i=e[r+1]?.startedAt,a=n.durationMs,o=n.completedAt;return typeof a!=`number`&&typeof n.startedAt==`number`&&typeof i==`number`&&i>=n.startedAt&&(o=i,a=i-n.startedAt),{...n,completionDisposition:`abnormal`,completedAt:o,durationMs:a,stream:{...n.stream,isStreaming:!1,completedAt:o??n.stream.completedAt,durationMs:a}}});return t?n:e},KR=(e,t)=>{let n={...BR,...t},r=[],i=new Map,a=new Map,o=new Set;e.forEach((e,t)=>{let n=DR(e);if(n===`compaction`&&r.length>0){a.set(e.info.id,r[r.length-1]),o.add(e.info.id);return}let s=n===`assistant`&&r.length===0&&!kR(e);if(n!==`user`&&!s)return;if(r.length>0&&OR(e)){a.set(e.info.id,r[r.length-1]),o.add(e.info.id);return}let c={turnId:e.info.id,userMessageId:s?void 0:e.info.id,userMessage:s?void 0:e,headerMessageId:void 0,messages:s?[]:[FR(e,t)],assistantMessageIds:[],assistantMessages:[],activityParts:[],activitySegments:[],summary:{},summaryText:void 0,hasTools:!1,hasReasoning:!1,diffStats:void 0,changedFiles:void 0,stream:{isStreaming:!1,isRetrying:!1},completionDisposition:`active`,activityPresentationKind:`default`,hasConfirmedFinalBody:!1};r.push(c),c.userMessageId&&(i.set(c.userMessageId,c),o.add(e.info.id))});let s=r[0]?.userMessage?void 0:r[0];e.forEach((e,t)=>{let n=DR(e),r=i.get(e.info.id);r&&(s=r);let c=a.get(e.info.id);if(c){c.messages.push(FR(e,t));return}if(n!==`assistant`)return;let l=kR(e),u=l?i.get(l):s;u&&(u.assistantMessages.push(e),u.assistantMessageIds.push(e.info.id),u.messages.push(FR(e,t)),u.headerMessageId||=e.info.id,o.add(e.info.id))});let c=n.previousProjection;if(c)for(let e of r)for(let t of e.assistantMessages){let n=c.indexes.messageToTurnId.get(t.info.id),r=n?c.indexes.turnById.get(n):void 0;if(r&&(!r.userMessage||r.userMessageId===e.userMessageId)){e.turnId=r.turnId,r.headerMessageId&&e.assistantMessageIds.includes(r.headerMessageId)&&(e.headerMessageId=r.headerMessageId);break}}let l=SR(GR(WR(r,n))),u=new Set;return e.forEach(e=>{o.has(e.info.id)||DR(e)===`assistant`&&kR(e)||u.add(e.info.id)}),{...l,ungroupedMessageIds:u}},qR=30,JR=4,YR=4,XR=33554432,ZR=8388608,QR=new Map,$R=new Map,ez=0,tz=new WeakMap,nz=1,rz=()=>K()?JR:ki()?YR:qR,iz=()=>K()||ki()?ZR:XR,az=(e,t)=>{let n=e.length*2+256;for(let e of t.turns)n+=512,n+=e.messages.length*160,n+=e.activityParts.length*128,n+=(e.changedFiles?.length??0)*160,n+=(e.summaryText?.length??0)*2;return n},oz=e=>{QR.delete(e);let t=$R.get(e)??0;$R.delete(e),ez=Math.max(0,ez-t)},sz=e=>{let t=tz.get(e);if(t!==void 0)return t;let n=nz;return nz+=1,tz.set(e,n),n},cz=e=>e.map(e=>`${sz(e.info)}:${sz(e.parts)}:${e.parts.map(e=>sz(e)).join(`,`)}`).join(`;`),lz=(e,t,n,r)=>{let i=t.length>0?t[t.length-1]:void 0,a=i?.info?.id??``,o=i?.parts?.length??0;return[e,t.length,a,o,cz(t),n?`1`:`0`,r?`1`:`0`].join(`|`)},uz=e=>{let t=QR.get(e);return t&&(QR.delete(e),QR.set(e,t)),t},dz=(e,t)=>{oz(e);let n=rz(),r=iz(),i=az(e,t);if(!(i>r)){for(;QR.size>=n||ez+i>r;){let e=QR.keys().next().value;if(typeof e!=`string`)break;oz(e)}QR.set(e,t),$R.set(e,i),ez+=i}},fz=[],pz=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0},mz=e=>{if(!e.hasLiveTail)return null;if(e.turnCount===0)return e.previousStart;let t=e.previousStart??e.turnCount-1,n=Math.min(Math.max(t,0),e.turnCount-1);return!e.liveTailActive&&e.turnCount-n>12?e.turnCount-1:n},hz=(e,t)=>t===null?{staticTurns:e,streamingTurns:fz}:{staticTurns:t===0?fz:e.slice(0,t),streamingTurns:e.slice(t)},gz=(e,t)=>{let n=Z.useRef(null),r=Z.useRef([]),i=Z.useRef(fz),a=Z.useRef(null),o=Z.useRef(t.sessionKey),s=Z.useRef(t.showTextJustificationActivity),c=Z.useRef(t.showTurnChangedFiles);(o.current!==t.sessionKey||s.current!==t.showTextJustificationActivity||c.current!==t.showTurnChangedFiles)&&(o.current=t.sessionKey,s.current=t.showTextJustificationActivity,c.current=t.showTurnChangedFiles,n.current=null,r.current=[],i.current=fz,a.current=null);let l=Z.useMemo(()=>{let r=lz(t.sessionKey??``,e,t.showTextJustificationActivity,t.showTurnChangedFiles),i=uz(r);return i&&(!n.current||i===n.current)?(n.current=i,i):tt(`ui.turns.projection_ms`,()=>{let i=KR(e,{previousProjection:n.current,showTextJustificationActivity:t.showTextJustificationActivity,showTurnChangedFiles:t.showTurnChangedFiles});return n.current=i,dz(r,i),i})},[e,t.showTextJustificationActivity,t.showTurnChangedFiles,t.sessionKey]),u=a.current?.turnId,d=Z.useMemo(()=>u?l.turns.findIndex(e=>e.turnId===u):-1,[l.turns,u]),f=mz({turnCount:l.turns.length,hasLiveTail:t.hasLiveTail,liveTailActive:t.liveTailActive,previousStart:d>=0?d:a.current?.index??null});return f===null?a.current=null:l.turns[f]&&(a.current={turnId:l.turns[f].turnId,index:f}),{projection:l,staticTurns:Z.useMemo(()=>{let e=hz(l.turns,f).staticTurns;return pz(r.current,e)?r.current:r.current=e},[f,l.turns]),streamingTurns:Z.useMemo(()=>{let e=hz(l.turns,f).streamingTurns;return pz(i.current,e)?i.current:i.current=e},[f,l.turns])}},_z=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},vz=(e,t)=>{if(!t.sessionId)return e;let n={name:`SessionRetry`,message:t.message,data:{message:t.message}},r=-1;for(let t=e.length-1;t>=0;--t)if(_z(e[t])===`user`){r=t;break}if(r<0)return e;let i=-1;for(let t=e.length-1;t>r;--t)if(_z(e[t])===`assistant`){i=t;break}if(i>=0)return e[i].info.error?e:e.map((e,t)=>t===i?{...e,info:{...e.info,error:n}}:e);let a=typeof t.confirmedAt==`number`?t.confirmedAt:t.fallbackTimestamp,o={info:{id:`synthetic_retry_notice_${t.sessionId}`,sessionID:t.sessionId,role:`assistant`,time:{created:a,completed:a},finish:`stop`,error:n},parts:[]},s=e.slice();return s.splice(r+1,0,o),s},yz=(e,t,n)=>{if(e.info.id!==t||e.parts===n)return e;let r=Ft(e.parts,n,e.info);return r.length===e.parts.length&&r.every((t,n)=>t===e.parts[n])?e:NL({...e,parts:r})},bz=(e,t)=>{let n=t.activeStreamingMessageId;if(!n)return e;if(e.kind===`ungrouped`){let r=yz(e.message,n,t.liveParts);return r===e.message?e:{...e,message:r}}let r=!1,i=e.turn.assistantMessages.map(e=>{let i=yz(e,n,t.liveParts);return i!==e&&(r=!0),i});if(!r)return e;let a=new Map(i.map(e=>[e.info.id,e])),o=KR(e.turn.messages.map(e=>a.get(e.messageId)??e.message),{showTextJustificationActivity:t.showTextJustificationActivity,showTurnChangedFiles:t.showTurnChangedFiles}).turns[0]??{...e.turn,assistantMessages:i,assistantMessageIds:i.map(e=>e.info.id)};return{...e,turn:o}},xz=[],Sz=(e,t)=>({kind:`turn`,key:`turn:${e.turnId}`,turn:e,isLastTurn:e.turnId===t}),Cz=(e,t)=>{let n=e[t];return{kind:`ungrouped`,key:`msg:${n.info.id}`,message:n,previousMessage:t>0?e[t-1]:void 0,nextMessage:t<e.length-1?e[t+1]:void 0}},wz=(e,t,n,r)=>{let i=new Map;for(let e of t){let t=e.userMessage??e.assistantMessages?.[0];t&&i.set(t.info.id,e)}let a=[];for(let t=0;t<e.length;t+=1){let o=e[t],s=i.get(o.info.id);if(s){a.push(Sz(s,r));continue}n.has(o.info.id)&&a.push(Cz(e,t))}return a};function Tz(e){let{messages:t,turns:n,streamingTurns:r,ungroupedMessageIds:i,lastTurnId:a}=e;if(i.size===0){if(r.length===0)return{history:n.map(e=>Sz(e,a)),tail:xz};let e=r[0].turnId,t=n.findIndex(t=>t.turnId===e);return t<0?{history:n.map(e=>Sz(e,a)),tail:r.map(e=>Sz(e,a))}:{history:n.slice(0,t).map(e=>Sz(e,a)),tail:n.slice(t).map(e=>Sz(e,a))}}let o=wz(t,n,i,a);if(r.length===0){let e=t[t.length-1];if(!e||!i.has(e.info.id))return{history:o,tail:xz};let n=o.find(t=>t.kind===`ungrouped`&&t.message.info.id===e.info.id);return{history:n?o.filter(e=>e!==n):o,tail:n?[n]:xz}}let s=r[0].turnId,c=o.findIndex(e=>e.kind===`turn`&&e.turn.turnId===s);return c<0?{history:o,tail:r.map(e=>Sz(e,a))}:{history:o.slice(0,c),tail:o.slice(c)}}var Ez=e=>{let t=Z.useRef(e);return t.current=e,Z.useMemo(()=>(...e)=>t.current(...e),[])},Dz=2,Oz=2,kz=e=>Math.min(Math.max(0,e),Dz),Az=(e,t)=>Math.min(Math.max(0,t),Math.max(0,e)+Oz),jz=e=>{let t=(0,Q.c)(3),{children:n,enabled:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(BA.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},Mz=e=>{let t=(0,Q.c)(3),{children:n,enabled:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(rd.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},Nz=12,Pz=16,Fz=new Map,Iz=e=>{let t=Fz.get(e);if(t)return Fz.delete(e),Fz.set(e,t),t},Lz=(e,t)=>{if(t.size!==0)for(Fz.delete(e),Fz.set(e,t);Fz.size>Pz;){let e=Fz.keys().next().value;if(typeof e!=`string`)break;Fz.delete(e)}},Rz=(e,t)=>{let n=Math.max(1,Math.floor(t?.seedCount??Nz)),r=new Set;for(let t=Math.max(0,e.length-n);t<e.length;t+=1){let n=e[t];n&&r.add(n)}let i=t?.restore;if(i&&i.size>0){let t=new Set(e);for(let e of i)t.has(e)&&r.add(e)}return r},zz=(e,t)=>{let n=t[t.length-1];if(!n||e.has(n))return e;let r=new Set(e);return r.add(n),r},Bz=({entryKeys:e,mountedIndexes:t,visibleStartIndex:n,visibleEndIndex:r,scrollDirection:i,preloadEntries:a,hydratedKeys:o})=>{if(e.length===0||t.length===0)return{visible:[],preload:[]};let s=new Set(t),c=[],l=[],u=new Set,d=(t,n)=>{if(n<0||n>=e.length||!s.has(n))return;let r=e[n];!r||o.has(r)||u.has(r)||(u.add(r),t.push(r))},f=e.length-1,p=Math.min(f,Math.max(0,Math.floor(n))),m=Math.min(f,Math.max(p,Math.floor(r)));for(let e=m;e>=p;--e)d(c,e);let h=Math.max(0,Math.floor(a)),g=()=>{let e=Math.min(f,m+h);for(let t=m+1;t<=e;t+=1)d(l,t)},_=()=>{let e=Math.max(0,p-h);for(let t=p-1;t>=e;--t)d(l,t)};return i===`backward`?(_(),g()):(g(),_()),{visible:c,preload:l}},Vz=e=>{let{visible:t,preload:n}=Bz(e),r=n.slice(0,Math.max(0,Math.floor(e.preloadReleaseLimit)));if(!e.allowVisibleRelease)return r;let i=e.visibleReleaseLimit,a=typeof i==`number`&&i>0?t.slice(0,Math.floor(i)):t;return a.length>0?[...a,...r]:r},Hz=(e,t)=>{let n=new Set(t),r=!1,i=new Set;for(let t of e)n.has(t)?i.add(t):r=!0;return r?i:e},Uz=`data-markdown-ready`,Wz=`data-markdown-hydration`,Gz=`data-markdown-pin-reveal`,Kz=e=>[...Rz(e.entryKeys,{seedCount:e.seedCount,restore:e.restore})],qz=e=>e.reason===`jump-to-latest`||!e.alreadyRevealedForScope,Jz=e=>{if(e.querySelector(`[data-markdown-hydration="deferred"]`))return!1;let t=e.querySelectorAll(`[data-markdown-content]`);if(t.length===0)return!0;for(let e of t)if(!e.closest(`[data-markdown-ready="true"]`))return!1;return!0},Yz=(e,t)=>{if(t.size===0)return!0;let n=e.querySelectorAll(`[data-turn-entry]`),r=!1;for(let e of n){let n=e.getAttribute(`data-turn-entry`);if(!(!n||!t.has(n))&&(r=!0,!Jz(e)))return!1}return r},Xz=(e,t)=>{if(e){if(t){e.style.visibility=`hidden`,e.setAttribute(Gz,`pending`);return}e.style.removeProperty(`visibility`),e.setAttribute(Gz,`ready`)}},Zz=(e,t)=>t?{...e,visibility:`hidden`}:e,Qz=({root:e,relevantKeys:t,onReady:n,timeoutMs:r=600,signal:i})=>{let a=!1,o=()=>{a||(a=!0,d(),n())},s=()=>{if(i?.aborted){o();return}Yz(e,t)&&o()},c=null;if(typeof MutationObserver<`u`){c=new MutationObserver(s);let t=e instanceof Element?e:e instanceof Document?e.documentElement:null;t&&c.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[Uz,Wz,`data-turn-entry`]})}let l=null;r>0&&(l=setTimeout(o,r));let u=()=>o();i?.addEventListener(`abort`,u,{once:!0});let d=()=>{c?.disconnect(),c=null,l!==null&&(clearTimeout(l),l=null),i?.removeEventListener(`abort`,u)};return s(),queueMicrotask(s),()=>{a||(a=!0,d())}},$z=e=>{let t=new Map,n=!1,r=()=>{if(n=!1,t.size===0)return;let r=new Map(t);t.clear(),e(r)};return{enqueue(e,i){t.set(e,i),!n&&(n=!0,queueMicrotask(r))},flush:r,clear(){t.clear(),n=!1},pendingCount:()=>t.size}},eB=e=>{let t=e.borderBoxSize?.[0];return t?{width:t.inlineSize,height:t.blockSize}:{width:e.contentRect.width,height:e.contentRect.height}},tB=e=>{let t=$z(e),n=typeof ResizeObserver>`u`?null:new ResizeObserver(e=>{for(let n of e)t.enqueue(n.target,eB(n))});return{observe(e){n?.observe(e)},unobserve(e){n?.unobserve(e)},disconnect(){n?.disconnect(),t.clear()}}},nB=(e,t)=>{let n=e.resizeItem.bind(e),r=!1,i=$z(e=>{let i=()=>{for(let[t,r]of e)n(t,r)};r?i():((0,Rp.flushSync)(i),t?.())});return e.resizeItem=(e,t)=>{i.enqueue(e,t)},()=>{r=!0,e.resizeItem=n,i.flush()}},rB=({scopeKey:e,generation:t=0,root:n,relevantKeys:r,enabled:i=!0,initiallyRevealed:a=!1})=>{let o=`${e}:${t}`,[s,c]=Z.useState(o),[l,u]=Z.useState(i&&!a),d=Z.useRef(new Set(a?[e]:[]));i&&s!==o&&(qz({reason:t>0&&s.startsWith(`${e}:`)?`jump-to-latest`:`session-open`,alreadyRevealedForScope:d.current.has(e)})&&u(!0),c(o)),!i&&l&&u(!1);let f=r.join(`\0`),p=Z.useMemo(()=>new Set(r),[f]),m=J(()=>{d.current.add(e),u(!1)});return Bn(()=>{if(!i||!l){Xz(n,!1);return}if(Xz(n,!0),n)return Qz({root:n,relevantKeys:p,onReady:m})},[i,l,n,p,o]),i&&l},iB=(e,t)=>{if(t.length===0||!Number.isFinite(e.scroll)||!Number.isFinite(e.start))return null;let n=Math.max(0,Math.min(Math.floor(e.start),t.length-1)),r=t[n];if(r===void 0)return null;let i=e.positionAtIndex(n);return i===void 0||!Number.isFinite(i)?null:{key:r,offsetFromViewportTop:i-e.scroll}},aB=(e,t)=>{let n=iB(e,t);return n===null?null:{anchor:n,knownKeys:new Set(t)}},oB=e=>{if(e.historyAnchorToken<=e.armedToken)return null;let t=e.list&&e.committedEntryKeys.length>0?aB(e.list,e.committedEntryKeys):null;return{armedToken:e.historyAnchorToken,arm:t}},sB=15e3,cB=(e,t)=>{let n=e.positionByKey(t.key);return n===void 0||!Number.isFinite(n)?null:n-t.offsetFromViewportTop},lB=(e,t)=>{if(!Number.isFinite(e.scroll))return null;let n=cB(e,t);return n===null?null:e.scroll-n},uB=e=>{if(e.drift===null||e.elapsedMs>=3e3)return{action:`release`,stableFrames:0};if(Math.abs(e.drift)<=1){let t=e.stableFrames+1;return{action:t>=8?`release`:`wait`,stableFrames:t}}return{action:e.msSinceLastCorrection>=64?`correct`:`wait`,stableFrames:0}},dB=1;function fB(e,{offset:t=0,hideTopShadow:n=!1,hideBottomShadow:r=!1}={}){let i=e.scrollTop>t+dB,a=e.scrollHeight-(e.scrollTop+e.clientHeight)>t+dB,o=!n&&i;return r&&(a=!1),o&&a?(e.dataset.topBottomScroll=`true`,e.removeAttribute(`data-top-scroll`),e.removeAttribute(`data-bottom-scroll`)):(e.dataset.topScroll=String(o),e.dataset.bottomScroll=String(a),e.removeAttribute(`data-top-bottom-scroll`)),o&&a?`both`:o?`top`:a?`bottom`:`none`}function pB(e,t=48){e.dataset.scrollShadow=`true`,e.dataset.orientation=`vertical`,e.style.setProperty(`--scroll-shadow-size`,`${t}px`)}var mB=.4,hB=e=>!Number.isFinite(e)||e<=0?0:e*mB,gB=(e,t=16)=>Number.isFinite(e)&&e>0?e:t,_B=({viewportHeight:e,endInsetHeight:t=0,anchorOffset:n=16})=>!Number.isFinite(e)||e<=0?0:Math.max(0,e-(Number.isFinite(t)?Math.max(0,t):0)-n),vB=e=>{let{contentLength:t,scrollLength:n}=e;return typeof t!=`number`||typeof n!=`number`||!Number.isFinite(t)||!Number.isFinite(n)?null:Math.max(0,t-n)},yB=({anchorTop:e,anchorOffset:t=16,maxScrollOffset:n})=>{let r=Math.max(0,e-t);return typeof n!=`number`||!Number.isFinite(n)?r:Math.min(r,Math.max(0,n))},bB=({scroll:e,parkOffset:t})=>!Number.isFinite(e)||!Number.isFinite(t)?0:Math.max(0,t-e),xB=`data-oc-timeline-park-end`,SB=e=>{if(!e)return null;let t=e.getAttribute(xB);if(t===null||t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null},CB=(e,t)=>{if(!e)return;if(t===null||!Number.isFinite(t)){e.hasAttribute(`data-oc-timeline-park-end`)&&e.removeAttribute(xB);return}let n=String(Math.round(t));e.getAttribute(`data-oc-timeline-park-end`)!==n&&e.setAttribute(xB,n)},wB=(e,t)=>t!==null&&Number.isFinite(t)?bB({scroll:e.scrollTop,parkOffset:t}):Math.max(0,e.scrollHeight-e.scrollTop-e.clientHeight),TB=({usableViewportHeight:e,viewportHeight:t,contentHeight:n})=>{if(!Number.isFinite(e)||e<=0)return 0;let r=hB(Number.isFinite(t)&&t>0?t:e),i=r>0?Math.min(e,r):e;return n===null||!Number.isFinite(n)||n<=0?i:Math.min(i,Math.max(0,e-n))},EB=(e,t)=>!Number.isFinite(e)||!Number.isFinite(t)||t<=0?!1:e>t+1,DB=({overflowsUsableViewport:e=!1,previousEndSpaceSize:t,nextEndSpaceSize:n})=>e?!0:t===void 0||n===void 0||!Number.isFinite(t)||!Number.isFinite(n)?!1:n>t+1,OB=({previous:e,reserveId:t,entryKey:n,contentHeight:r,usableViewportHeight:i,viewportHeight:a})=>{let o=TB({usableViewportHeight:i,viewportHeight:a,contentHeight:r}),s=r!==null&&EB(r,i),c={reserveId:t,entryKey:n,contentHeight:r,spacerHeight:s?0:o};return s?{snapshot:c,release:!0}:e===null||e.reserveId!==t||e.entryKey!==n?{snapshot:c,release:!1}:e.contentHeight!==null&&r!==null&&r+1<e.contentHeight&&DB({previousEndSpaceSize:e.spacerHeight,nextEndSpaceSize:o})?{snapshot:{...c,spacerHeight:0},release:!0}:{snapshot:c,release:!1}},kB=(e,t)=>{let n=e.positionAtIndex(t),r=e.sizeAtIndex(t);return typeof n!=`number`||typeof r!=`number`||!Number.isFinite(n)||!Number.isFinite(r)?null:n+Math.max(1,r)},AB=({state:e,anchorIndex:t,endInsetHeight:n,anchorOffset:r,lastIndex:i})=>{if(e.data.length===0)return null;let a=Math.max(0,Math.min(t,e.data.length-1)),o=e.positionAtIndex(a),s=kB(e,Math.max(0,Math.min(i??e.data.length-1,e.data.length-1)));if(typeof o!=`number`||!Number.isFinite(o)||s===null)return null;let c=_B({viewportHeight:e.scrollLength,endInsetHeight:n,anchorOffset:r}),l=Math.max(0,s-o),u=e.scroll+c,d=Math.max(0,s-c),f=Math.max(0,d-e.scroll);return{anchorTop:o,lastBottom:s,turnHeight:l,usableViewportHeight:c,visibleUsableBottom:u,overflowsUsableViewport:l>c,targetScrollToRevealEnd:d,scrollDeltaToRevealEnd:f}},jB=e=>{if(!e)return;let{contentLength:t,scroll:n,scrollLength:r}=e;return typeof t==`number`&&typeof n==`number`&&typeof r==`number`&&Number.isFinite(t)?t-(n+r)<=40:e.isNearEnd??e.isAtEnd},MB=e=>{if(!e)return;let{contentLength:t,scroll:n,scrollLength:r}=e;if(!(typeof t!=`number`||typeof n!=`number`||typeof r!=`number`||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)))return Math.max(0,t-(n+r))},NB=(e,t)=>e===void 0||!Number.isFinite(e)?t:e<=40?!1:e>=80||t,PB=(e,t)=>{if(e.length===0||t.length<=e.length)return!1;let n=e[0];return n===void 0||t[0]===n?!1:t.includes(n)},FB=`data-oc-timeline-anchoring`,IB=1200,LB=(e,t,n,r={})=>{if(t!==null)for(let i=e.length-1;i>=0;--i){let a=e[i];if(a!==void 0&&n(a)===t)return{anchorIndex:i,anchorOffset:r.anchorOffset??16,anchorId:t}}},RB=({sessionChanged:e,previousUserOrder:t,currentUserOrder:n,currentAnchorId:r,consumedSendMessageId:i})=>{if(i!==null)return i;if(e||r===null)return null;if(n.includes(r))return r;let a=t[t.length-1],o=n[n.length-1];return r===a&&o!==void 0&&n.length===t.length&&t.length>0?o:r},zB=(e,t)=>!Number.isFinite(t)||t<=0||typeof e!=`number`||!Number.isFinite(e)||t+1>=e?null:t,BB={itemVisiblePercentThreshold:0},VB=100,HB=116,UB=500,WB=new Set,GB=Z.createContext(WB),KB=`oc-reply-reserve`,qB=e=>e.kind===KB,JB=e=>{if(qB(e))return e.spacerHeight>0?e.spacerHeight:void 0},YB=(e,t,n,r,i)=>{if(!e||t)return null;let a=AB({state:n,anchorIndex:e.anchorIndex,lastIndex:e.anchorIndex,endInsetHeight:r,anchorOffset:i});return a?yB({anchorTop:a.anchorTop,anchorOffset:i,maxScrollOffset:vB(n)}):null},XB=(e,t)=>{if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t;let n=e?.clientHeight??0;return n>0?n:0},ZB=e=>e.key,QB=e=>e.kind,$B=()=>{let e=(0,Q.c)(6),t=Z.useRef(null),n=Z.useRef(0),[r,i]=Z.useState(null),[a,o]=Z.useState(0),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=t.current?.offsetHeight??0;n.current=e,o(t=>t===e?t:e)},e[0]=s):s=e[0];let c=J(s),l;e[1]===c?l=e[2]:(l=e=>{t.current=e,i(t=>t===e?t:e),c()},e[1]=c,e[2]=l);let u=J(l);Ln(typeof ResizeObserver<`u`?r:null,c);let d;return e[3]!==a||e[4]!==u?(d={height:a,heightRef:n,setElement:u},e[3]=a,e[4]=u,e[5]=d):d=e[5],d},eV=({entry:e,index:t,renderEntryRef:n,sizeObserverRef:r})=>{let i=Z.useContext(GB),a=Z.useRef(null);return Z.useLayoutEffect(()=>{let e=a.current,t=r.current;if(!(!e||!t))return t.observe(e),()=>t.unobserve(e)},[e.key,r]),(0,$.jsx)(`div`,{ref:a,"data-turn-entry":e.key,className:`oc-chat-message-layout-boundary`,children:n.current?.(e,t,i.has(e.key))})},tV=Z.memo(({entries:e,timelineCacheKey:t,estimatedItemSize:n,hydrationTuning:r,renderEntry:i,rowInvalidationKey:a,scrollElementRef:o,scrollElementDataset:s,hideTopScrollShadow:c=!1,hideBottomScrollShadow:l=!1,registerList:u,anchoredEndSpace:d,onAnchoredTurnParkReleased:f,followEnabled:p=!0,historyAnchorToken:m=0,pinRevealGeneration:h=0,initialPinRevealComplete:g=!1,sessionIsWorking:_=!1,onIsAtEndChange:v,onScroll:y,header:b,footer:x,className:S,style:C,contentContainerClassName:w,contentContainerStyle:T})=>{let E=Z.useRef(null),D=Z.useMemo(()=>e.map(e=>e.key),[e]),O=Z.useRef(D);O.current=D;let k=Z.useRef(D),A=Z.useRef(r);A.current=r;let j=J(e=>{E.current=e,u?.(e)}),M=Z.useRef(null),[N,P]=Z.useState(null),[F,I]=Z.useState(0),{height:L,setElement:R}=$B(),{height:z,heightRef:B,setElement:V}=$B(),H=b==null?null:(0,$.jsx)(`div`,{ref:R,"data-oc-timeline-header":``,children:b}),ee=x==null?null:(0,$.jsx)(`div`,{ref:V,"data-oc-timeline-footer":``,children:x}),U=Z.useRef(c);U.current=c;let te=Z.useRef(l);te.current=l;let ne=J((e=M.current)=>{!e||s?.scrollShadow!==`true`||(pB(e),fB(e,{hideTopShadow:U.current,hideBottomShadow:te.current}))}),W=J(e=>{let t=e?.getScrollableNode?.()??null;if(t&&s){for(let[e,n]of Object.entries(s))t.dataset[e]=n;ne(t)}M.current=t,o&&(o.current=t),P(t);let n=XB(t,E.current?.getState()?.scrollLength);I(e=>e===n?e:n)}),G=J(()=>{let e=XB(M.current,E.current?.getState()?.scrollLength);I(t=>t===e?t:e),ne()});Z.useLayoutEffect(()=>{ne(N)},[l,c,N]),Ln(typeof ResizeObserver<`u`?N:null,G);let[re,ie]=Z.useState(0),[ae,oe]=Z.useState(0),se=re!==ae,K=Z.useRef(!0),ce=Z.useRef(!1),[le,ue]=Z.useState(!1),de=Z.useRef(!1);Z.useLayoutEffect(()=>{K.current=!0,ce.current=!1,de.current=!1,ue(!1)},[t]);let[fe,pe]=Z.useState(null),[me,he]=Z.useState(0),ge=J(e=>{pe(t=>t?.token===e?null:t)});if(m>me){let e=oB({historyAnchorToken:m,armedToken:me,list:E.current?.getState()??null,committedEntryKeys:k.current});e&&(he(e.armedToken),e.arm&&pe({token:m,arm:e.arm,holding:!1}))}Z.useEffect(()=>{p&&pe(null)},[p]),Z.useEffect(()=>{if(!fe||fe.holding)return;let{token:e}=fe,t=window.setTimeout(()=>{pe(t=>t?.token===e&&!t.holding?null:t)},sB);return()=>window.clearTimeout(t)},[fe]),Z.useLayoutEffect(()=>{let e=k.current;k.current=D,PB(e,D)&&(ie(e=>e+1),pe(e=>e===null||e.holding?e:{...e,holding:!0}))},[D]),Z.useEffect(()=>{if(!se)return;let e=window.setTimeout(()=>{oe(re)},IB);return()=>window.clearTimeout(e)},[se,re]),Z.useEffect(()=>{if(!fe?.holding)return;let{token:e,arm:{anchor:t}}=fe,n=E.current;if(!n||typeof window>`u`){ge(e);return}let r=M.current,i=Date.now(),a=0,o=null,s=null,c=!1,l=[],u=t=>{if(!c){c=!0,s!==null&&(window.cancelAnimationFrame(s),s=null);for(let[e,t]of l)r?.removeEventListener(e,t);t&&ge(e)}},d=()=>{if(s=null,c)return;let e=n.getState();if(jB(e)??e.isAtEnd){u(!0);return}let r=Date.now(),l=uB({drift:lB(e,t),elapsedMs:r-i,stableFrames:a,msSinceLastCorrection:o===null?1/0:r-o});if(a=l.stableFrames,l.action===`release`){u(!0);return}if(l.action===`correct`){let i=cB(e,t);i!==null&&(o=r,n.scrollToOffset({offset:i,animated:!1}))}s=window.requestAnimationFrame(d)},f=()=>{u(!0)};for(let e of[`touchstart`,`touchmove`,`wheel`,`pointerdown`,`keydown`])l.push([e,f]);for(let[e,t]of l)r?.addEventListener(e,t,{passive:!0});return s=window.requestAnimationFrame(d),()=>{u(!1)}},[ge,fe]);let _e=se||fe!==null;Z.useLayoutEffect(()=>{let e=M.current;if(!(!e||!_e))return e.setAttribute(FB,`true`),()=>{e.removeAttribute(FB)}},[_e]);let ve=Z.useMemo(()=>{if(fe===null)return{data:!0,size:se};let{knownKeys:e}=fe.arm;return{data:!0,size:!0,shouldRestorePosition:t=>e.has(t.key)}},[fe,se]),[ye,be]=Z.useState(()=>Rz(D,{restore:Iz(t)??null})),xe=Z.useRef(ye);xe.current=ye;let Se=Z.useRef(0),Ce=Z.useRef(0),we=Z.useRef(null),Te=Z.useRef(!1),Ee=Z.useRef(null),De=Z.useMemo(()=>zz(ye,D),[ye,D]),Oe=Zz(C,rB({scopeKey:t,generation:h,root:N,relevantKeys:Z.useMemo(()=>Kz({entryKeys:D}),[t,h,D.length,D[D.length-1]]),enabled:!1,initiallyRevealed:g}));Z.useEffect(()=>{be(e=>Hz(e,D))},[D]),Z.useEffect(()=>()=>{Lz(t,xe.current)},[t]);let ke=J(()=>{Te.current=!1;let e=E.current;if(!e)return;let t=O.current;if(t.length===0)return;let n=e.getState(),r=t.length-1,i=Math.max(0,Math.floor(n.startBuffered)),a=Math.min(r,Math.floor(n.endBuffered));if(!Number.isFinite(i)||!Number.isFinite(a)||a<i)return;let o=[];for(let e=i;e<=a;e+=1)o.push(e);let s=Math.max(0,Math.floor(n.start)),c=Math.min(r,Math.floor(n.end)),l=Math.max(0,c-s+1),u=Date.now()-Se.current>=VB,d=A.current,f=d.resolvePreloadEntries(l),p=Vz({entryKeys:t,mountedIndexes:o,visibleStartIndex:s,visibleEndIndex:c,scrollDirection:we.current,preloadEntries:f,hydratedKeys:xe.current,allowVisibleRelease:u,preloadReleaseLimit:u?f:d.resolvePreloadReleaseWhileScrolling(),visibleReleaseLimit:d.resolveVisibleReleaseLimit()});p.length!==0&&(je(),Z.startTransition(()=>{be(e=>{let t=!1,n=new Set(e);for(let e of p)n.has(e)||(n.add(e),t=!0);return t?n:e})}))}),Ae=J(()=>{Te.current||(Te.current=!0,kd(ke))}),je=J(()=>{typeof window>`u`||(Ee.current!==null&&window.clearTimeout(Ee.current),Ee.current=window.setTimeout(()=>{Ee.current=null,Ae()},HB))});Z.useEffect(()=>()=>{Ee.current!==null&&(window.clearTimeout(Ee.current),Ee.current=null)},[]);let Me=J(()=>{Ae()}),Ne=J(()=>{Se.current=Date.now();let e=E.current;if(e){let t=e.getState(),n=t.scroll;Number.isFinite(n)&&n!==Ce.current&&(we.current=n>Ce.current?`forward`:`backward`,Ce.current=n);let r=XB(M.current,t.scrollLength);r>0&&I(e=>e===r?e:r);let i=YB(Ze.current,Re.current,t,B.current,$e.current);CB(M.current,i);let a=i===null?null:bB({scroll:t.scroll,parkOffset:i}),o=a??MB(t),s=a===null?jB(t)??t.isAtEnd:a<=40,c=NB(o,ce.current);(s!==K.current||c!==ce.current)&&(K.current=s,ce.current=c,v?.(s,c)),s&&!de.current&&(de.current=!0,ue(!0))}y?.(),ne(),Ae(),je()}),Pe=Z.useRef(i);Pe.current=i;let[Fe,Ie]=Z.useState(null),Le=Z.useRef(null),Re=Z.useRef(!1),ze=Z.useRef(null),Be=Z.useRef(null),Ve=Z.useRef(0),He=Z.useRef(0),Ue=Z.useRef(null),We=J((e,t)=>{let n=E.current,r=n?.getState().sizes.get(e);if(n&&zB(r,t.height)!==null&&n.setItemSize(e,t),Re.current||e!==Be.current)return;let i=ze.current;if(i===null)return;let{snapshot:a,release:o}=OB({previous:Le.current,reserveId:i,entryKey:e,contentHeight:t.height,usableViewportHeight:Ve.current,viewportHeight:He.current});if(o){Ie(null),ut(i),dt(`reveal`);return}let s=Le.current;(s?.spacerHeight!==a.spacerHeight||s?.contentHeight!==a.contentHeight||s?.entryKey!==a.entryKey||s?.reserveId!==a.reserveId)&&Ie(a),Ue.current!==i&&dt(`park`)&&(Ue.current=i)}),Ge=Z.useRef(We);Ge.current=We;let Ke=Z.useMemo(()=>tB(e=>{for(let[t,n]of e){let e=t instanceof HTMLElement?t.dataset.turnEntry:void 0;e&&n.height>0&&Ge.current(e,n)}}),[]),qe=Z.useRef(Ke);qe.current=Ke,Z.useEffect(()=>()=>{Ke.disconnect()},[Ke]);let Je=Z.useMemo(()=>({item:e,index:t})=>qB(e)?(0,$.jsx)(`div`,{"data-oc-reply-reserve":`true`,"aria-hidden":`true`,style:{height:e.spacerHeight,flexShrink:0}}):(0,$.jsx)(eV,{entry:e,index:t,renderEntryRef:Pe,sizeObserverRef:qe}),[]),Ye=Z.useRef(p);Ye.current=p;let Xe=Z.useRef(fe);Xe.current=fe;let Ze=Z.useRef(d);Ze.current=d;let Qe=Z.useRef(0),$e=Z.useRef(16),et=Z.useRef(null),[tt,nt]=Z.useState(null),rt=d?e[d.anchorIndex]?.key??null:null,it=d?.anchorId??rt,at=it!==null&&tt===it;d||(Ue.current=null,Qe.current=0);let ot=F>0?F:XB(M.current,E.current?.getState()?.scrollLength),st=gB(L),ct=_B({viewportHeight:ot,endInsetHeight:z,anchorOffset:st}),lt=Fe;if(!it||!rt||at)Fe!==null&&Ie(null),lt=null;else if(ct<=0)lt=Fe!==null&&Fe.reserveId===it&&Fe.entryKey===rt?Fe:null;else if(Fe===null||Fe.reserveId!==it||Fe.entryKey!==rt){let{snapshot:e}=OB({previous:Fe?.reserveId===it?Fe:null,reserveId:it,entryKey:rt,contentHeight:Fe?.reserveId===it?Fe.contentHeight:null,usableViewportHeight:ct,viewportHeight:ot});Ie(e),lt=e}Le.current=lt,Re.current=at,ze.current=it,Be.current=rt,Ve.current=ct,He.current=ot,$e.current=st,Z.useLayoutEffect(()=>{Ue.current=null,Qe.current=0,et.current=null,nt(null)},[t]),Z.useLayoutEffect(()=>{d&&G()},[d]);let ut=J(e=>{e!==null&&et.current!==e&&(et.current=e,nt(e),f?.(e))}),dt=J(t=>{let n=Ze.current;if(!n||Xe.current)return!1;let r=E.current;if(!r)return!1;let i=r.getState(),a=$e.current,o=AB({state:i,anchorIndex:n.anchorIndex,lastIndex:n.anchorIndex,endInsetHeight:B.current,anchorOffset:a});if(!o)return!1;if(t===`park`){let e=Math.max(0,o.anchorTop-a),t=typeof performance<`u`?performance.now():Date.now(),n=!(typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)&&Math.abs(i.scroll-e)>=1;return n&&(Qe.current=t+UB),r.scrollToOffset({offset:e,animated:n}),!0}return EB(o.turnHeight,Ve.current)&&ut(n.anchorId??e[n.anchorIndex]?.key??null),(typeof performance<`u`?performance.now():Date.now())<Qe.current||!Ye.current||o.scrollDeltaToRevealEnd<1?!1:(r.scrollToOffset({offset:o.targetScrollToRevealEnd,animated:!1}),!0)});Z.useLayoutEffect(()=>{if(!it||!rt||at||ct<=0)return;let e=Le.current;if(e===null||e.reserveId!==it||e.entryKey!==rt)return;let{snapshot:t,release:n}=OB({previous:e,reserveId:it,entryKey:rt,contentHeight:e.contentHeight,usableViewportHeight:ct,viewportHeight:ot});if(n){Ie(null),ut(it),dt(`reveal`);return}t.spacerHeight!==e.spacerHeight&&Ie(t)},[rt,at,it,ot,ct]),Z.useLayoutEffect(()=>{!lt||fe||Ue.current!==it&&dt(`park`)&&(Ue.current=it)},[lt,fe,it]),Z.useLayoutEffect(()=>{let e=M.current,t=E.current;if(e){if(!t){CB(e,null);return}CB(e,YB(d,at,t.getState(),z,st))}},[d,z,st,at]);let ft=Z.useMemo(()=>{let t=lt?.spacerHeight??0;return!lt||t<=0?e:[...e,{key:`${KB}:${lt.reserveId}`,kind:KB,spacerHeight:t}]},[lt,e]),pt=Z.useMemo(()=>d&&!at||!p||fe?!1:{animated:_&&le,on:{dataChange:!0,itemLayout:!0,layout:!0,footerLayout:!0}},[d,le,p,fe,at,_]);return(0,$.jsx)(GB.Provider,{value:De,children:(0,$.jsx)(bf,{ref:j,refScrollView:W,data:ft,extraData:a,keyExtractor:ZB,getItemType:QB,getFixedItemSize:JB,renderItem:Je,estimatedItemSize:n,initialScrollAtEnd:!0,recycleItems:!1,maintainScrollAtEnd:pt,maintainVisibleContentPosition:ve,onScroll:Ne,onViewableItemsChanged:Me,viewabilityConfig:BB,ListHeaderComponent:H,ListFooterComponent:ee,className:S,style:Oe,contentContainerClassName:w,contentContainerStyle:T})})}),nV=(e,t,n)=>{let r=n.scrollOffset??0,i=n.itemSizeCache.get(e.key);return i===void 0?e.start<r:e.start+i<=r},rV=e=>{let t=e.info,n=t.time?.completed,r=t.status;return typeof n!=`number`||n<=0?!1:typeof r!=`string`||r===`completed`},iV=(e,t)=>e,aV=e=>e.isActivelyProcessing||e.expansionDisposition===`active`?!0:XI(e.expansionDisposition,e.activityRenderMode,{isLastTurn:e.isLastTurn,hasConfirmedFinalBody:e.hasConfirmedFinalBody}),oV=()=>ki()?5:12,sV=16,cV=(e,t)=>e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e===t[n]),lV=320,uV=168,dV=8,fV=16,pV=6,mV=12,hV=4,gV=1,_V=2,vV=6,yV=4,bV=()=>ki()?fV:dV,xV=30,SV=180,CV=80,wV=160,TV=90,EV=(e,t)=>{if(e.length===0||t.length<=e.length||e[e.length-1]?.key!==t[t.length-1]?.key)return!1;let n=e[0]?.key;return t.findIndex(e=>e.key===n)>0},DV=(e=>{let t=new Map;return{read:(e,n)=>{let r=t.get(e);if(r){if(cV(r.keys,n))return r.items;t.delete(e)}},write:(n,r,i)=>{if(r.length!==0)for(t.delete(n),t.set(n,{keys:r.slice(),items:i});t.size>e;){let e=t.keys().next().value;if(typeof e!=`string`)break;t.delete(e)}}}})(sV),OV=(e,t,n)=>{if(t.size===0)return[];let r=0;return e.map((e,i)=>{let a=t.get(e)??n,o={index:i,key:e,start:r,size:a,end:r+a,lane:0};return r+=a,o})},kV=(e,t)=>({sessionKey:e,virtualizerKey:t??e}),AV=e=>e===`collapsed`?uV:lV,jV=(e,t)=>`${e}::activity:${t}`,MV=(e,t)=>!Number.isFinite(t)||t<=0||e===null?!1:Math.round(e)!==Math.round(t),NV=(e,t,n)=>{let r=Number.isFinite(e)?Math.max(0,e):0,i=Number.isFinite(t)?Math.max(r,t):r,a=Number.isFinite(n)?Math.max(0,n):0;return{marginTop:Number.isFinite(e)?Math.min(0,e):0,paddingTop:r,paddingBottom:Math.max(0,a-i),minHeight:a}},PV=(e,t)=>{if(!e)return;let n=`${Math.max(0,Number.isFinite(t)?t:0)}px`;e.style.height!==``&&(e.style.height=``),e.style.minHeight!==n&&(e.style.minHeight=n)},FV=(e,t=0)=>Math.max(e===`collapsed`?mV:pV,Math.max(0,Math.floor(t))),IV=e=>e===`collapsed`?_V:gV,LV=e=>e===`collapsed`?yV:vV,RV=(e,t)=>{e.current=t},zV=(e,t)=>DV.read(e,t),BV=(e,t,n)=>{!n||t.length===0||DV.write(e,t,n.takeSnapshot())},VV=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},HV=(e,t)=>{if(VV(e)!==`system`)return e;let n=GV(e);return!n||!t.has(n)||e.info.clientRole===`assistant`?e:{...e,info:{...e.info,clientRole:`assistant`}}},UV=e=>!e||VV(e)!==`user`?!1:e.parts.some(e=>e?.type===`subtask`),WV=e=>{if(!e)return null;let t=e.info.id;return typeof t==`string`&&t.trim().length>0?t:null},GV=e=>{let t=e.info.parentID;return typeof t==`string`&&t.trim().length>0?t:null},KV=(e,t,n)=>{if(typeof window>`u`)return!1;let r=e;for(;r&&r!==t;){if(window.getComputedStyle(r).position===`sticky`&&r.getBoundingClientRect().top<=n+1)return!0;r=r.parentElement}return!1},qV=(e,t)=>Array.from(e.querySelectorAll(`[data-message-id]`)).find(e=>e.dataset.messageId===t)??null,JV=(e,t=e)=>{let n=e.getBoundingClientRect(),r=Array.from(t.querySelectorAll(`[data-message-id]`)),i=r.find(t=>t.getBoundingClientRect().bottom>n.top+1&&!KV(t,e,n.top))??r.find(e=>e.getBoundingClientRect().bottom>n.top+1),a=i?.dataset.messageId;return!i||!a?null:{messageId:a,offsetTop:i.getBoundingClientRect().top-n.top}},YV=(e,t)=>{let n=JV(t,e);if(!n)return null;let r=qV(e,n.messageId)?.closest(`[data-turn-entry]`),i=r?.dataset.turnEntry;return!i||!r?null:{...n,entryKey:i,entryStart:r.getBoundingClientRect().top-e.getBoundingClientRect().top,attempts:0}},XV=e=>{let t=e,n=t.state?.metadata,r=YO(n)??null;if(r)return r;let i=t.state?.output;return typeof i==`string`?$O(i)??null:null},ZV=e=>{if(VV(e)!==`assistant`||e.parts.length!==1)return{hide:!1,taskSessionId:null};let t=e.parts[0];if(t?.type!==`tool`)return{hide:!1,taskSessionId:null};let n=typeof t.tool==`string`?t.tool.toLowerCase():``;return n!==`task`&&n!==`subagent`?{hide:!1,taskSessionId:null}:{hide:!0,taskSessionId:XV(e.parts[0])}},QV=(e,t)=>{if(!t)return e;let n=XO(e.parts,t);return n===e.parts?e:{...e,parts:n}},$V=(e,t)=>{let n=typeof t?.command==`string`?t.command.trim():``,r=typeof t?.output==`string`?t.output:``,i=typeof t?.status==`string`?t.status.trim():``,a=[],o=!1;for(let t of e.parts){if(!o&&t?.type===`text`){let e=t.text;if(t.synthetic===!0&&typeof e==`string`&&e.trim().startsWith(`The following tool was executed by the user`)){a.push({type:`text`,text:`/shell`,shellAction:{...n?{command:n}:{},...r?{output:r}:{},...i?{status:i}:{}}}),o=!0;continue}}a.push(t)}return o||a.push({type:`text`,text:`/shell`,shellAction:{...n?{command:n}:{},...r?{output:r}:{},...i?{status:i}:{}}}),{...e,parts:a}},eH=e=>e.kind===`turn`?e.turn.userMessage?.info.id??e.turn.assistantMessages[0]?.info.id??e.turn.turnId:VV(e.message)===`user`?e.message.info.id:null,tH=e=>e.chatRenderMode!==`sorted`||e.activityPresentationKind!==`compaction`||e.hasVisibleActivitySegments||e.hasAssistantMessages?!1:e.completionDisposition===`normal`||e.completionDisposition===`abnormal`||e.completionDisposition===`active`&&e.isLastTurn&&e.sessionIsWorking,nH=Z.memo(e=>{let t=(0,Q.c)(23),{message:n,previousMessage:r,nextMessage:i,turnGroupingContext:a,assistantHeaderMessageId:o,turnOwnsAssistantHeader:s,isInActiveTurn:c,activeStreamingPhase:l,animateUserOnMount:u,onUserAnimationConsumed:d,onContentChange:f,animationHandlers:p,scrollToBottom:m,reviewTransferDirection:h}=e,g=Bb(),_;t[0]!==n.sourceDirectory||t[1]!==n.sourceSessionID||t[2]!==g?(_=n.sourceSessionID?{...g,sessionId:n.sourceSessionID,directory:n.sourceDirectory??null,onRevertMessage:void 0,onEditMessage:void 0,capabilities:{...g.capabilities,compose:!1,mutateSession:!1,answerRequests:!1,openTimeline:!1,forkSession:!1}}:g,t[0]=n.sourceDirectory,t[1]=n.sourceSessionID,t[2]=g,t[3]=_):_=t[3];let v=_,y;t[4]!==l||t[5]!==u||t[6]!==p||t[7]!==o||t[8]!==c||t[9]!==n||t[10]!==i||t[11]!==f||t[12]!==d||t[13]!==r||t[14]!==h||t[15]!==m||t[16]!==a||t[17]!==s?(y=(0,$.jsx)(wL,{message:n,previousMessage:r,nextMessage:i,animateUserOnMount:u,onUserAnimationConsumed:d,onContentChange:f,animationHandlers:p,scrollToBottom:m,turnGroupingContext:a,assistantHeaderMessageId:o,turnOwnsAssistantHeader:s,isInActiveTurn:c,activeStreamingPhase:l,reviewTransferDirection:h}),t[4]=l,t[5]=u,t[6]=p,t[7]=o,t[8]=c,t[9]=n,t[10]=i,t[11]=f,t[12]=d,t[13]=r,t[14]=h,t[15]=m,t[16]=a,t[17]=s,t[18]=y):y=t[18];let b=y,x;return t[19]!==b||t[20]!==v||t[21]!==g?(x=v===g?b:(0,$.jsx)(zb.Provider,{value:v,children:b}),t[19]=b,t[20]=v,t[21]=g,t[22]=x):x=t[22],x},(e,t)=>{let n=e.turnGroupingContext,r=t.turnGroupingContext;return Zk(e.message,t.message)&&e.message.sourceSessionID===t.message.sourceSessionID&&e.message.sourceDirectory===t.message.sourceDirectory&&Qk(e.previousMessage,t.previousMessage)&&Qk(e.nextMessage,t.nextMessage)&&e.animateUserOnMount===t.animateUserOnMount&&e.onUserAnimationConsumed===t.onUserAnimationConsumed&&e.onContentChange===t.onContentChange&&e.scrollToBottom===t.scrollToBottom&&oA(n,r,e.message.info.id,VV(e.message)===`user`)&&e.assistantHeaderMessageId===t.assistantHeaderMessageId&&e.turnOwnsAssistantHeader===t.turnOwnsAssistantHeader&&e.isInActiveTurn===t.isInActiveTurn&&e.activeStreamingPhase===t.activeStreamingPhase&&e.reviewTransferDirection===t.reviewTransferDirection&&e.animationHandlers?.onChunk===t.animationHandlers?.onChunk&&e.animationHandlers?.onComplete===t.animationHandlers?.onComplete&&e.animationHandlers?.onStreamingCandidate===t.animationHandlers?.onStreamingCandidate&&e.animationHandlers?.onAnimationStart===t.animationHandlers?.onAnimationStart&&e.animationHandlers?.onReservationCancelled===t.animationHandlers?.onReservationCancelled&&e.animationHandlers?.onReasoningBlock===t.animationHandlers?.onReasoningBlock&&e.animationHandlers?.onAnimatedHeightChange===t.animationHandlers?.onAnimatedHeightChange});nH.displayName=`MessageRow`;var rH=Z.memo(({turn:e,isLastTurn:t,sessionIsWorking:n,activityRenderMode:r,turnUiStates:i,onToggleTurnGroup:a,chatRenderMode:o,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,stickyUserHeader:u=!0,shouldAnimateUserMessage:d,onUserAnimationConsumed:f,activeStreamingMessageId:p,activeStreamingPhase:m,reviewTransferDirection:h})=>{let g=q(e=>e.showReasoningTraces),_=Z.useMemo(()=>!!e.userMessage||e.assistantMessages.some(e=>!!e.info.error||bD(e.parts,{includeReasoning:g}).some(e=>e.type===`tool`||e.type===`file`||(e.type===`text`||e.type===`reasoning`)&&_D(e).trim().length>0)),[e.userMessage,e.assistantMessages,g]),v=Z.useRef(null);v.current===e.turnId&&!t&&e.completionDisposition!==`active`?v.current=null:t&&n&&(v.current=e.turnId);let y=v.current===e.turnId,b=Z.useRef({turnId:e.turnId,shown:!1});b.current.turnId!==e.turnId&&(b.current={turnId:e.turnId,shown:!1});let x=i.get(e.turnId),S=QI({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,durationMs:e.durationMs}),C=aV({expansionDisposition:tL({isLastTurn:t,turnCompletionDisposition:e.completionDisposition,headerPresentationDisposition:S.completionDisposition,hasAssistantMessages:e.assistantMessages.length>0}),activityRenderMode:r,isLastTurn:t,isActivelyProcessing:t&&n,hasConfirmedFinalBody:e.hasConfirmedFinalBody}),w=x?.automatic&&e.completionDisposition===`normal`&&e.hasConfirmedFinalBody&&!(t&&n),T=x&&!w?x.isExpanded:C,E=J(()=>{a(e.turnId,T)}),D=Z.useMemo(()=>{let t=e.userMessage?[e.userMessage,...e.assistantMessages]:e.assistantMessages,n=new Map;return t.forEach((e,t)=>{n.set(e.info.id,t)}),{ordered:t,lookup:n}},[e.assistantMessages,e.userMessage]),O=Z.useMemo(()=>{if(p&&e.assistantMessages.some(e=>e.info.id===p))return p;for(let t=e.assistantMessages.length-1;t>=0;--t){let n=e.assistantMessages[t];if(!rV(n))return n.info.id}return null},[p,e.assistantMessages]),k=Z.useMemo(()=>o===`live`?e.assistantMessages:iV(e.assistantMessages,O),[o,O,e.assistantMessages]),A=Z.useMemo(()=>{let e=new Map;return k.forEach((t,n)=>{e.set(t.info.id,n)}),e},[k]),j=Z.useMemo(()=>new Set(k.map(e=>e.info.id)),[k]),M=Z.useMemo(()=>e.headerMessageId&&A.has(e.headerMessageId)?e.headerMessageId:k[0]?.info.id,[e.headerMessageId,A,k]),N=Z.useMemo(()=>o===`sorted`?j.size===e.assistantMessages.length?e.activityParts:e.activityParts.filter(e=>j.has(e.messageId)):e.activityParts,[o,j,e.activityParts,e.assistantMessages.length]),P=Z.useMemo(()=>o!==`sorted`||j.size===e.assistantMessages.length?e.activitySegments:e.activitySegments.map(e=>{let t=e.parts.filter(e=>j.has(e.messageId));if(t.length===0)return null;let n=j.has(e.anchorMessageId)?e.anchorMessageId:t[0]?.messageId;return n?{...e,anchorMessageId:n,parts:t}:null}).filter(e=>e!==null),[o,j,e.activitySegments,e.assistantMessages.length]),F=Z.useMemo(()=>{let t=e.userMessage?.info.time?.created,n=e.userMessage?.info,r=n?.model?.variant??n?.variant,i=typeof r==`string`&&r.trim().length>0?r:void 0;return{turnId:e.turnId,assistantTps:jP(e.assistantMessages.map(e=>({createdAt:e.info.time.created,streamedAt:e.info.time.streamed,outputTokens:e.info.tokens?.output,reasoningTokens:e.info.tokens?.reasoning}))),summaryBody:e.summaryText,activityParts:N,activityGroupSegments:P,headerMessageId:e.headerMessageId,hasTools:e.hasTools,hasReasoning:e.hasReasoning,activityPresentationKind:e.activityPresentationKind,diffStats:e.diffStats,changedFiles:e.changedFiles,userMessageCreatedAt:typeof t==`number`?t:void 0,userMessageVariant:i}},[e.activityPresentationKind,e.assistantMessages,e.changedFiles,e.diffStats,e.hasReasoning,e.hasTools,e.headerMessageId,e.summaryText,e.turnId,e.userMessage?.info,N,P]),I=Ez((r,i)=>{let a=VV(r)===`user`,u=D.lookup.get(r.info.id),p=A.get(r.info.id)??-1,g=p>=0,_=p===0,v=p===k.length-1,y=!!M&&r.info.id===M,b=P.some(e=>e.anchorMessageId===r.info.id),x=o===`sorted`?g:y||_||v,S=k[0]?.info.id??e.headerMessageId,C=a?void 0:g?_?e.userMessage:void 0:typeof u==`number`&&u>0?D.ordered[u-1]:void 0,w=QI({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,durationMs:e.durationMs}),T=g?{turnId:e.turnId,activityOwnerMessageId:M,isFirstAssistantInTurn:_,isLastAssistantInTurn:v,isLatestTurn:t,isWorking:(t||e.completionDisposition===`active`)&&n&&(o===`sorted`?b:r.info.id===O),isTurnSettled:$I({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,hasConfirmedSettledAssistant:e.hasConfirmedFinalBody}),hasTools:e.hasTools,hasReasoning:e.hasReasoning,completionDisposition:w.completionDisposition,activityPresentationKind:e.activityPresentationKind,durationMs:w.durationMs,assistantTps:F.assistantTps,...x?{summaryBody:F.summaryBody,activityParts:F.activityParts,activityGroupSegments:F.activityGroupSegments,headerMessageId:F.headerMessageId,diffStats:F.diffStats,changedFiles:F.changedFiles,userMessageCreatedAt:F.userMessageCreatedAt,userMessageVariant:F.userMessageVariant,isGroupExpanded:i,toggleGroup:E}:{}}:void 0;return(0,$.jsx)(nH,{message:r,previousMessage:C,nextMessage:void 0,turnGroupingContext:T,assistantHeaderMessageId:S,turnOwnsAssistantHeader:g,isInActiveTurn:!!O&&r.info.id===O,activeStreamingPhase:r.info.id===O?m:null,reviewTransferDirection:h,animateUserOnMount:d(r),onUserAnimationConsumed:f,onContentChange:s,animationHandlers:c(r.info.id),scrollToBottom:l},r.info.id)}),L=Z.useMemo(()=>k===e.assistantMessages?e:{...e,assistantMessages:k},[e,k]),R=Z.useMemo(()=>((YI({isLastTurn:t,sessionIsWorking:n,hasAssistantMessages:e.assistantMessages.length>0,activityPresentationKind:e.activityPresentationKind,hasActiveStreamingMessage:!!p})||e.assistantMessages.length>0)&&(b.current.shown=!0),!b.current.shown||e.activityPresentationKind===`compaction`?null:e.userMessage?JI(GI(e.userMessage.info)):null),[p,t,n,e.activityPresentationKind,e.assistantMessages.length,e.userMessage]);if(!_){let t=e.assistantMessages.find(e=>e.info.id===p);return t?(0,$.jsx)(iH,{message:t,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,shouldAnimateUserMessage:d,onUserAnimationConsumed:f,activeStreamingMessageId:p,activeStreamingPhase:m,reviewTransferDirection:h}):null}return(0,$.jsx)(hR,{turn:L,showSessionError:t,activityExpanded:T,onToggleActivity:E,showCompactionStatus:tH({chatRenderMode:o,activityPresentationKind:e.activityPresentationKind,hasVisibleActivitySegments:P.length>0,hasAssistantMessages:e.assistantMessages.length>0,completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n}),pendingAssistantHeader:R,assistantHeaderMessage:k[0],assistantHeaderIsInActiveTurn:k[0]?.info.id===O,preserveActiveTurnGap:y,stickyUserHeader:u,renderMessage:I})});rH.displayName=`TurnBlock`;var iH=Z.memo(e=>{let t=(0,Q.c)(31),{message:n,previousMessage:r,nextMessage:i,onMessageContentChange:a,getAnimationHandlers:o,scrollToBottom:s,shouldAnimateUserMessage:c,onUserAnimationConsumed:l,activeStreamingMessageId:u,activeStreamingPhase:d,reviewTransferDirection:f}=e,{t:p}=Kn();if($D(n)){let e;t[0]===p?e=t[1]:(e=p(`assistants.conversation.newSessionDivider`),t[0]=p,t[1]=e);let n;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:`min-w-0 flex-1 border-t`}),t[2]=n):n=t[2];let r;t[3]===p?r=t[4]:(r=p(`assistants.conversation.newSessionDivider`),t[3]=p,t[4]=r);let i;t[5]===r?i=t[6]:(i=(0,$.jsx)(`span`,{className:`shrink-0 typography-meta text-muted-foreground`,children:r}),t[5]=r,t[6]=i);let a;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`div`,{className:`min-w-0 flex-1 border-t`}),t[7]=a):a=t[7];let o;t[8]===i?o=t[9]:(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[n,i,a]}),t[8]=i,t[9]=o);let s;return t[10]!==e||t[11]!==o?(s=(0,$.jsx)(`div`,{className:`chat-message-column px-4 py-5`,role:`separator`,"aria-label":e,children:o}),t[10]=e,t[11]=o,t[12]=s):s=t[12],s}let m;t[13]!==n||t[14]!==c?(m=c(n),t[13]=n,t[14]=c,t[15]=m):m=t[15];let h;t[16]!==o||t[17]!==n.info.id?(h=o(n.info.id),t[16]=o,t[17]=n.info.id,t[18]=h):h=t[18];let g=!!u&&n.info.id===u,_=n.info.id===u?d:null,v;return t[19]!==n||t[20]!==i||t[21]!==a||t[22]!==l||t[23]!==r||t[24]!==f||t[25]!==s||t[26]!==m||t[27]!==h||t[28]!==g||t[29]!==_?(v=(0,$.jsx)(nH,{message:n,previousMessage:r,nextMessage:i,animateUserOnMount:m,onUserAnimationConsumed:l,onContentChange:a,animationHandlers:h,scrollToBottom:s,isInActiveTurn:g,activeStreamingPhase:_,reviewTransferDirection:f}),t[19]=n,t[20]=i,t[21]=a,t[22]=l,t[23]=r,t[24]=f,t[25]=s,t[26]=m,t[27]=h,t[28]=g,t[29]=_,t[30]=v):v=t[30],v});iH.displayName=`UngroupedMessageRow`;var aH=Z.memo(e=>{let t=(0,Q.c)(24),{entry:n,onMessageContentChange:r,getAnimationHandlers:i,scrollToBottom:a,stickyUserHeader:o,sessionIsWorking:s,activityRenderMode:c,turnUiStates:l,onToggleTurnGroup:u,chatRenderMode:d,shouldAnimateUserMessage:f,onUserAnimationConsumed:p,activeStreamingMessageId:m,activeStreamingPhase:h,reviewTransferDirection:g,showLiveStatusRow:_}=e,v=_!==void 0&&_,y;t[0]!==m||t[1]!==h||t[2]!==c||t[3]!==d||t[4]!==n.isLastTurn||t[5]!==n.kind||t[6]!==n.message||t[7]!==n.nextMessage||t[8]!==n.previousMessage||t[9]!==n.turn||t[10]!==i||t[11]!==r||t[12]!==u||t[13]!==p||t[14]!==g||t[15]!==a||t[16]!==s||t[17]!==f||t[18]!==o||t[19]!==l?(y=n.kind===`ungrouped`?(0,$.jsx)(iH,{message:n.message,previousMessage:n.previousMessage,nextMessage:n.nextMessage,onMessageContentChange:r,getAnimationHandlers:i,scrollToBottom:a,shouldAnimateUserMessage:f,onUserAnimationConsumed:p,activeStreamingMessageId:m,activeStreamingPhase:h,reviewTransferDirection:g}):(0,$.jsx)(rH,{turn:n.turn,isLastTurn:n.isLastTurn,sessionIsWorking:s,activityRenderMode:c,turnUiStates:l,onToggleTurnGroup:u,chatRenderMode:d,shouldAnimateUserMessage:f,onUserAnimationConsumed:p,activeStreamingMessageId:m,activeStreamingPhase:h,reviewTransferDirection:g,onMessageContentChange:r,getAnimationHandlers:i,scrollToBottom:a,stickyUserHeader:o}),t[0]=m,t[1]=h,t[2]=c,t[3]=d,t[4]=n.isLastTurn,t[5]=n.kind,t[6]=n.message,t[7]=n.nextMessage,t[8]=n.previousMessage,t[9]=n.turn,t[10]=i,t[11]=r,t[12]=u,t[13]=p,t[14]=g,t[15]=a,t[16]=s,t[17]=f,t[18]=o,t[19]=l,t[20]=y):y=t[20];let b=y;if(!v)return b;let x;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`div`,{className:`mb-1`,children:(0,$.jsx)(QL,{})}),t[21]=x):x=t[21];let S;return t[22]===b?S=t[23]:(S=(0,$.jsxs)($.Fragment,{children:[b,x]}),t[22]=b,t[23]=S),S});aH.displayName=`MessageListEntry`;var oH=Z.memo(({entries:e,historyAnchorToken:t,engine:n,contentRef:r,scrollRef:i,registerTanstackVirtualizer:a,virtualizerKey:o,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,stickyUserHeader:u,activityRenderMode:d,turnUiStates:f,onToggleTurnGroup:p,chatRenderMode:m,shouldAnimateUserMessage:h,onUserAnimationConsumed:g,reviewTransferDirection:_})=>{let[v,y]=Z.useState(e),b=n===`tanstack`&&v.length>=oV(),x=Z.useRef(n),S=Z.useRef(null),[C,w]=Z.useReducer(e=>e+1,0);if(!b)S.current=null;else if(x.current===`none`&&b&&S.current===null){let e=r.current,t=i?.current;e&&t&&(S.current=YV(e,t))}let T=Z.useRef(!1),E=Z.useRef(0),D=Z.useRef(null),O=ki();Z.useEffect(()=>{if(!O)return;let e=i?.current;if(!e)return;let t=()=>{T.current=!0},n=()=>{T.current=!1},r=()=>{E.current=performance.now()};return e.addEventListener(`touchstart`,t,{passive:!0}),e.addEventListener(`touchend`,n,{passive:!0}),e.addEventListener(`touchcancel`,n,{passive:!0}),e.addEventListener(`scroll`,r,{passive:!0}),()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),e.removeEventListener(`touchcancel`,n),e.removeEventListener(`scroll`,r)}},[O,i]);let k=()=>T.current||performance.now()-E.current<wV,A=v;e===v?D.current!==null&&(D.current=null):O&&EV(v,e)&&k()?D.current===null&&(D.current=performance.now()):(D.current=null,y(e),A=e);let[,j]=Z.useReducer(e=>e+1,0);In(()=>{D.current!==null&&(k()||j())},O&&D.current!==null?TV:null);let M=Z.useRef(A);M.current=A;let N=Z.useMemo(()=>A.map(e=>e.key),[A]),P=bV(),[F,I]=Z.useState(()=>kz(P));Z.useEffect(()=>{if(!(!b||F>=P))return kd(()=>{Z.startTransition(()=>{I(e=>Az(e,P))})})},[F,b,P]);let L=jV(o,d),[R]=Z.useState(()=>b?zV(L,e.map(e=>e.key)):void 0),z=Z.useRef(null),B=J(e=>{z.current=e,r.current=e}),V=Z.useRef(null),H=Z.useRef(t),ee=Z.useRef(A),U=ee.current!==A&&EV(ee.current,A);if(ee.current=A,H.current!==t||U){H.current=t;let e=i?.current,n=z.current??r.current;V.current=e&&n?JV(e,n):null}let te=J(()=>{V.current=null});Hn(`wheel`,te,void 0,{passive:!0,capture:!0}),Hn(`touchstart`,te,void 0,{passive:!0,capture:!0}),Hn(`pointerdown`,te,void 0,{passive:!0,capture:!0}),Hn(`click`,te,void 0,{capture:!0}),Hn(`keydown`,te,void 0,{capture:!0});let ne=J(()=>{let e=V.current,t=i?.current;if(!e||!t)return;let n=qV(t,e.messageId);if(!n)return;let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(r)>.5&&K.scrollToOffset(t.scrollTop+r,{behavior:`auto`})}),W=AV(d),G=Z.useRef(W),re=Z.useRef(d);re.current!==d&&(re.current=d,G.current=W);let ie=Z.useRef(b),ae=Z.useRef(new Map),oe=Z.useRef(void 0);if(Z.useLayoutEffect(()=>{b||(oe.current=void 0)}),b&&oe.current===void 0){if(!R){let e=ae.current;e.clear(),r?.current?.querySelectorAll(`[data-turn-entry]`).forEach(t=>{let n=t.dataset.turnEntry;n&&e.set(n,t.getBoundingClientRect().height)})}oe.current=R??OV(N,ae.current,G.current)}let se=Z.useMemo(()=>b?{width:i?.current?.clientWidth??0,height:i?.current?.clientHeight??0}:void 0,[b,i]),K=vf({count:A.length,enabled:b,initialRect:se,getScrollElement:()=>i?.current??null,estimateSize:()=>G.current,overscan:F,measureElement:(e,t,n)=>{let r=n.options.getItemKey(n.indexFromElement(e)),i=n.itemSizeCache.get(r);if(n.options.useCachedMeasurements)return i??n.options.estimateSize(n.indexFromElement(e));let a=t?.borderBoxSize?.[0]?.blockSize;return a===void 0?!t&&i!==void 0?i:e.getBoundingClientRect().height:a},scrollToFn:(e,t,n)=>{PV(z.current,n.getTotalSize()),_f(e,t,n)},getItemKey:e=>M.current[e]?.key??`index:${e}`,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:CV,initialOffset:()=>{if(ie.current){let e=G.current,t=(oe.current??[]).reduce((t,n)=>t+(n.index<A.length?n.size-e:0),A.length*e);return Math.max(0,t-(i?.current?.clientHeight??0))}let e=S.current,t=e&&oe.current?.find(t=>t.key===e.entryKey);return(i?.current?.scrollTop??0)+(t&&e?t.start-e.entryStart:0)},initialMeasurementsCache:oe.current});Bn(()=>{if(b)return K.shouldAdjustScrollPositionOnItemSizeChange=nV,nB(K,ne)},[b,K]);let ce=Z.useRef(null),le=Z.useRef(null);b||(ce.current=null);let ue=J(()=>{if(!b)return;let e=z.current??i?.current;if(!e)return;let t=e.offsetWidth;if(!MV(ce.current,t)){ce.current===null&&t>0&&(ce.current=t);return}ce.current=t,le.current!==null&&clearTimeout(le.current),le.current=setTimeout(()=>{le.current=null,K.measure()},220)}),de=b&&typeof ResizeObserver<`u`;Ln(de?z:null,ue),Ln(de&&i?i:null,ue),zn(()=>{le.current!==null&&(clearTimeout(le.current),le.current=null)}),Bn(()=>{b&&ue()},[b]),Bn(()=>{if(x.current=b?`tanstack`:`none`,!b){S.current=null;return}let e=S.current,t=i?.current;if(!e||!t)return;let n=qV(t,e.messageId);if(n){let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(r)>.5&&K.scrollToOffset(t.scrollTop+r,{behavior:`auto`}),S.current=null;return}let r=N.indexOf(e.entryKey);if(r<0||e.attempts>=1){S.current=null;return}e.attempts+=1,K.scrollToIndex(r,{align:`start`}),w()},[n,N,b,K,C]);let fe=K.getVirtualItems(),pe=fe.map(e=>e.index),[me,he]=Z.useState(()=>Rz(N,{seedCount:FV(d),restore:Iz(L)})),ge=zz(me,N);for(let e of ae.current.keys())ge.has(e)||(ge===me&&(ge=new Set(ge)),ge.add(e));ge!==me&&he(ge);let _e=Z.useRef(ge);_e.current=ge;let ve=Z.useRef(null);K.scrollDirection&&(ve.current=K.scrollDirection);let ye=K.range?.startIndex??fe[0]?.index??Math.max(0,A.length-1),be=K.range?.endIndex??fe[fe.length-1]?.index??Math.max(0,A.length-1),xe=K.isScrolling,Se=Math.max(0,be-ye+1),Ce=Vz({entryKeys:N,mountedIndexes:pe,visibleStartIndex:ye,visibleEndIndex:be,scrollDirection:ve.current,preloadEntries:FV(d,Se),hydratedKeys:ge,allowVisibleRelease:!xe,preloadReleaseLimit:xe?IV(d):hV,visibleReleaseLimit:xe?0:LV(d)}),we=Ce.join(`\0`),Te=Z.useRef(Ce);Te.current=Ce,Z.useEffect(()=>{if(!(!b||!we))return kd(()=>{Z.startTransition(()=>{he(e=>{let t=null;for(let n of Te.current)e.has(n)||(t??=new Set(e),t.add(n));return t??e})})})},[b,we]),Z.useEffect(()=>{he(e=>Hz(e,N))},[N]),Z.useEffect(()=>{if(b)return a?.(K),()=>{BV(L,M.current.map(e=>e.key),K),Lz(L,_e.current),a?.(null)}},[b,K,L]);let Ee=Ez((e,t=!0)=>(0,$.jsx)(Mz,{enabled:t,children:(0,$.jsx)(aH,{entry:e,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,stickyUserHeader:u,sessionIsWorking:!1,activityRenderMode:d,turnUiStates:f,onToggleTurnGroup:p,chatRenderMode:m,shouldAnimateUserMessage:h,onUserAnimationConsumed:g,reviewTransferDirection:_},e.key)}));if(!b)return(0,$.jsx)(`div`,{ref:B,className:`relative w-full`,children:(0,$.jsx)(`div`,{children:A.map(e=>(0,$.jsx)(`div`,{"data-turn-entry":e.key,className:`oc-chat-message-layout-boundary`,children:Ee(e)},e.key))})});if(n===`tanstack`){let e=NV(fe[0]?.start??0,fe[fe.length-1]?.end??0,K.getTotalSize());return(0,$.jsx)(`div`,{ref:B,className:`relative flow-root w-full`,style:{minHeight:e.minHeight},children:(0,$.jsx)(`div`,{style:{marginTop:e.marginTop,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom},children:fe.map(e=>{let t=A[e.index];return t?(0,$.jsx)(`div`,{"data-index":e.index,ref:K.measureElement,"data-turn-entry":t.key,className:`oc-chat-message-layout-boundary`,children:Ee(t,ge.has(t.key))},t.key):null})})})}return null});oH.displayName=`StaticHistoryList`;var sH=Z.memo(e=>{let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(`div`,{className:`oc-chat-message-layout-boundary`,children:(0,$.jsx)(aH,{...e})}),t[0]=e,t[1]=n),n});sH.displayName=`TailEntry`;var cH=e=>{let t=(0,Q.c)(43),{entries:n,directory:r,sessionId:i,onMessageContentChange:a,getAnimationHandlers:o,scrollToBottom:s,stickyUserHeader:c,sessionIsWorking:l,activityRenderMode:u,turnUiStates:d,onToggleTurnGroup:f,chatRenderMode:p,showTurnChangedFiles:m,shouldAnimateUserMessage:h,onUserAnimationConsumed:g,activeStreamingMessageId:_,activeStreamingPhase:v,reviewTransferDirection:y}=e,b=n.length-1,x=ha(_??``,r,i??void 0),S;bb0:{let e=n[b];if(!e){S=void 0;break bb0}let r=p===`sorted`,i;t[0]!==_||t[1]!==x||t[2]!==e||t[3]!==m||t[4]!==r?(i=bz(e,{activeStreamingMessageId:_,liveParts:x,showTextJustificationActivity:r,showTurnChangedFiles:m}),t[0]=_,t[1]=x,t[2]=e,t[3]=m,t[4]=r,t[5]=i):i=t[5],S=i}let C=S,w;if(t[6]!==_||t[7]!==v||t[8]!==u||t[9]!==p||t[10]!==n||t[11]!==o||t[12]!==C||t[13]!==b||t[14]!==a||t[15]!==f||t[16]!==g||t[17]!==y||t[18]!==s||t[19]!==l||t[20]!==h||t[21]!==c||t[22]!==d){let e;t[24]!==_||t[25]!==v||t[26]!==u||t[27]!==p||t[28]!==o||t[29]!==C||t[30]!==b||t[31]!==a||t[32]!==f||t[33]!==g||t[34]!==y||t[35]!==s||t[36]!==l||t[37]!==h||t[38]!==c||t[39]!==d?(e=(e,t)=>{let n=t===b;return(0,$.jsx)(sH,{entry:n?C??e:e,onMessageContentChange:a,getAnimationHandlers:o,scrollToBottom:s,stickyUserHeader:c,sessionIsWorking:n?l:!1,activityRenderMode:u,turnUiStates:d,onToggleTurnGroup:f,chatRenderMode:p,shouldAnimateUserMessage:h,onUserAnimationConsumed:g,activeStreamingMessageId:n?_:null,activeStreamingPhase:n?v:null,reviewTransferDirection:y},e.key)},t[24]=_,t[25]=v,t[26]=u,t[27]=p,t[28]=o,t[29]=C,t[30]=b,t[31]=a,t[32]=f,t[33]=g,t[34]=y,t[35]=s,t[36]=l,t[37]=h,t[38]=c,t[39]=d,t[40]=e):e=t[40],w=n.map(e),t[6]=_,t[7]=v,t[8]=u,t[9]=p,t[10]=n,t[11]=o,t[12]=C,t[13]=b,t[14]=a,t[15]=f,t[16]=g,t[17]=y,t[18]=s,t[19]=l,t[20]=h,t[21]=c,t[22]=d,t[23]=w}else w=t[23];let T;return t[41]===w?T=t[42]:(T=(0,$.jsx)($.Fragment,{children:w}),t[41]=w,t[42]=T),T};cH.displayName=`StreamingTailContent`;var lH=e=>{let t=(0,Q.c)(74),{historyEntries:n,tailEntries:r,timelineCacheKey:i,directory:a,sessionId:o,scrollRef:s,registerList:c,onHistoryContentChange:l,onTailContentChange:u,getAnimationHandlers:d,scrollToBottom:f,stickyUserHeader:p,sessionIsWorking:m,activityRenderMode:h,turnUiStates:g,onToggleTurnGroup:_,chatRenderMode:v,showTurnChangedFiles:y,shouldAnimateUserMessage:b,onUserAnimationConsumed:x,activeStreamingMessageId:S,activeStreamingPhase:C,reviewTransferDirection:w,header:T,footer:E,scrollClassName:D,scrollStyle:O,scrollDataset:k,onScroll:A,followEnabled:j,historyAnchorToken:M,pinRevealGeneration:N,initialPinRevealComplete:P,onIsAtEndChange:F,anchoredUserMessageId:I,onAnchoredTurnParkReleased:L}=e,R=j===void 0||j,z=N===void 0?0:N,B=P!==void 0&&P,V=I===void 0?null:I,H=q(fH),ee=n.length,U=r.length>0?r[r.length-1]:void 0,te=U?.key??null,ne=ha(S??``,a,o??void 0),W;bb0:{if(!U){W=r;break bb0}let e=v===`sorted`,n;t[0]!==S||t[1]!==ne||t[2]!==U||t[3]!==y||t[4]!==e?(n=bz(U,{activeStreamingMessageId:S,liveParts:ne,showTextJustificationActivity:e,showTurnChangedFiles:y}),t[0]=S,t[1]=ne,t[2]=U,t[3]=y,t[4]=e,t[5]=n):n=t[5];let i=n;if(i===U){W=r;break bb0}let a;t[6]!==i||t[7]!==r?(a=r.slice(),a[a.length-1]=i,t[6]=i,t[7]=r,t[8]=a):a=t[8],W=a}let G=W,re;t[9]!==n||t[10]!==G?(re=G.length>0?[...n,...G]:n,t[9]=n,t[10]=G,t[11]=re):re=t[11];let ie=re,ae;t[12]!==ie||t[13]!==V?(ae=LB(ie,V,eH,{anchorOffset:16}),t[12]=ie,t[13]=V,t[14]=ae):ae=t[14];let oe=ae,se;t[15]===h?se=t[16]:(se={resolvePreloadEntries:e=>FV(h,e),resolvePreloadReleaseWhileScrolling:()=>IV(h),resolveVisibleReleaseLimit:()=>LV(h)},t[15]=h,t[16]=se);let K=se,ce;t[17]!==S||t[18]!==C||t[19]!==h||t[20]!==v||t[21]!==ee||t[22]!==te||t[23]!==w||t[24]!==m||t[25]!==y||t[26]!==p||t[27]!==g?(ce={historyCount:ee,newestTailKey:te,sessionIsWorking:m,activityRenderMode:h,turnUiStates:g,chatRenderMode:v,showTurnChangedFiles:y,stickyUserHeader:p,activeStreamingMessageId:S,activeStreamingPhase:C,reviewTransferDirection:w},t[17]=S,t[18]=C,t[19]=h,t[20]=v,t[21]=ee,t[22]=te,t[23]=w,t[24]=m,t[25]=y,t[26]=p,t[27]=g,t[28]=ce):ce=t[28];let le=ce,ue;t[29]!==S||t[30]!==C||t[31]!==h||t[32]!==v||t[33]!==d||t[34]!==ee||t[35]!==te||t[36]!==l||t[37]!==u||t[38]!==_||t[39]!==x||t[40]!==w||t[41]!==f||t[42]!==m||t[43]!==b||t[44]!==p||t[45]!==g?(ue=(e,t,n)=>{let r=t>=ee,i=te!==null&&e.key===te;return(0,$.jsx)(Fd,{disabled:!r,children:(0,$.jsx)(Mz,{enabled:n,children:(0,$.jsx)(aH,{entry:e,onMessageContentChange:r?u:l,getAnimationHandlers:d,scrollToBottom:f,stickyUserHeader:p,sessionIsWorking:i?m:!1,activityRenderMode:h,turnUiStates:g,onToggleTurnGroup:_,chatRenderMode:v,shouldAnimateUserMessage:b,onUserAnimationConsumed:x,activeStreamingMessageId:i?S:null,activeStreamingPhase:i?C:null,reviewTransferDirection:w,showLiveStatusRow:i})})})},t[29]=S,t[30]=C,t[31]=h,t[32]=v,t[33]=d,t[34]=ee,t[35]=te,t[36]=l,t[37]=u,t[38]=_,t[39]=x,t[40]=w,t[41]=f,t[42]=m,t[43]=b,t[44]=p,t[45]=g,t[46]=ue):ue=t[46];let de=Ez(ue),fe;t[47]===h?fe=t[48]:(fe=AV(h),t[47]=h,t[48]=fe);let pe=H&&p,me;return t[49]!==ie||t[50]!==oe||t[51]!==R||t[52]!==E||t[53]!==T||t[54]!==M||t[55]!==K||t[56]!==B||t[57]!==H||t[58]!==L||t[59]!==F||t[60]!==A||t[61]!==z||t[62]!==c||t[63]!==de||t[64]!==le||t[65]!==D||t[66]!==k||t[67]!==s||t[68]!==O||t[69]!==m||t[70]!==fe||t[71]!==pe||t[72]!==i?(me=(0,$.jsx)(jz,{enabled:!0,children:(0,$.jsx)(tV,{entries:ie,timelineCacheKey:i,estimatedItemSize:fe,hydrationTuning:K,renderEntry:de,rowInvalidationKey:le,scrollElementRef:s,registerList:c,followEnabled:R,historyAnchorToken:M,pinRevealGeneration:z,initialPinRevealComplete:B,anchoredEndSpace:oe,onAnchoredTurnParkReleased:L,sessionIsWorking:m,header:T,footer:E,className:D,style:O,scrollElementDataset:k,hideTopScrollShadow:pe,hideBottomScrollShadow:H,onScroll:A,onIsAtEndChange:F})}),t[49]=ie,t[50]=oe,t[51]=R,t[52]=E,t[53]=T,t[54]=M,t[55]=K,t[56]=B,t[57]=H,t[58]=L,t[59]=F,t[60]=A,t[61]=z,t[62]=c,t[63]=de,t[64]=le,t[65]=D,t[66]=k,t[67]=s,t[68]=O,t[69]=m,t[70]=fe,t[71]=pe,t[72]=i,t[73]=me):me=t[73],me};lH.displayName=`LegendTimelineHost`;var uH=Z.forwardRef(({sessionKey:e,virtualizerKey:t,messages:n,sessionIsWorking:r=!1,activeStreamingMessageId:i=null,activeStreamingPhase:a=null,retryOverlay:o=null,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,scrollRef:u,directory:d,headerSlot:f,footerSlot:p,liveStatusSlot:m,timelineScrollClassName:h,timelineScrollStyle:g,timelineScrollDataset:_,timelineOnScroll:v,timelineFollowEnabled:y,timelineHistoryAnchorToken:b,timelineOnIsAtEndChange:x,enableSendPark:S=!0,initialPinRevealComplete:C=!1},w)=>{qt(`ui.message_list.render`);let{sessionKey:T,virtualizerKey:E}=kV(e,t),D=Z.useMemo(()=>cO(),[T,d]),O=q(e=>e.stickyUserHeader),k=q(e=>e.chatRenderMode),A=q(e=>e.activityRenderMode),j=q(e=>e.showTurnChangedFiles),M=sr(e=>e.reviewTransferBySessionId.get(T)??null),[N,P]=Z.useState(()=>new Map),[F,I]=Z.useState(T);F!==T&&(I(T),P(new Map));let L=Z.useRef({sessionKey:void 0,previousOrder:[],animatedIds:new Set}),[R,z]=Z.useState(null),B=Z.useRef(null);B.current=R;let V=J(t=>{jo(e),B.current===t&&z(null)});Bn(()=>{if(S)return()=>{queueMicrotask(()=>{jo(e)})}},[S,e]);let H=J(c),ee=J(()=>{l?.()}),U=J((e,t)=>{P(n=>{let r=new Map(n);return r.set(e,{isExpanded:ZI(t)}),r})}),te=Z.useMemo(()=>tt(`ui.message_list.base_display_ms`,()=>{let e=new Set,t=new Map,r=[];for(let e of n){let n=e.info?.id;typeof n==`string`&&t.set(n,e)}for(let i=0;i<n.length;i+=1){let a=n[i],o=a.info?.id;if(typeof o==`string`){if(e.has(o))continue;e.add(o)}r.push(NL(typeof o==`string`?t.get(o)??a:a))}let i=[],a=new Set,o=-1;for(let e=r.length-1;e>=0;--e)if(r[e].info.role===`assistant`){o=e;break}for(let e=0;e<r.length;e+=1){let t=r[e];if(e<o&&BI(t.info))continue;let n=HV(t,a);kL(t)&&a.add(t.info.id);let s=i.length>0?i[i.length-1]:void 0;if(UV(s)){let e=ZV(n);if(e.hide){i[i.length-1]=QV(s,e.taskSessionId);continue}}if(iL(s)){let e=oL(n,WV(s));if(e.hide){i[i.length-1]=$V(s,e.details);continue}}i.push(n)}return i}),[n]),ne=Z.useRef(null),W=Z.useRef(null),G=Z.useCallback(()=>{let e=W.current;e&&(W.current=null,e.cancel())},[]);Z.useEffect(()=>()=>{G()},[G]);let re=J(()=>u?.current?u.current:typeof document>`u`?null:document.querySelector(`[data-scrollbar="chat"]`)),ie=Z.useMemo(()=>tt(`ui.message_list.retry_overlay_ms`,()=>vz(te,{sessionId:o?.sessionId??null,message:o?.message??`Quota limit reached. Retrying automatically.`,confirmedAt:o?.confirmedAt,fallbackTimestamp:o?.fallbackTimestamp??0})),[te,o]),ae=r||!!i,{projection:oe,streamingTurns:se}=gz(ie,{sessionKey:T,showTextJustificationActivity:k===`sorted`,showTurnChangedFiles:j,hasLiveTail:!0,liveTailActive:ae});Bn(()=>{ae&&P(e=>{let t=e;for(let n of se)n.completionDisposition!==`active`||n.assistantMessages.length===0||e.has(n.turnId)||(t===e&&(t=new Map(e)),t.set(n.turnId,{isExpanded:!0,automatic:!0}));return t})},[ae,se]);let K=Z.useMemo(()=>tt(`ui.message_list.render_entries_ms`,()=>Tz({messages:ie,turns:oe.turns,streamingTurns:se,ungroupedMessageIds:oe.ungroupedMessageIds,lastTurnId:oe.lastTurnId})),[ie,oe.lastTurnId,oe.turns,oe.ungroupedMessageIds,se]),ce=K.history,le=K.tail,ue=le.length>0;ue&&ae&&qt(`ui.message_list.render.streaming`);let de=ce,fe=de.length>=oV(),pe=Z.useRef(fe);RV(pe,fe);let me=fe?`tanstack`:`none`,he=ed(e=>e.legendTimelineEnabled),ge=Z.useRef(null),_e=J(e=>{ge.current=e}),ve=Z.useRef(null),ye=J(e=>{ve.current=e}),be=Z.useMemo(()=>le.length>0?[...de,...le]:de,[de,le]),[xe,Se]=Z.useState(0),[Ce,we]=Z.useState(null),Te=jV(E,A),Ee=Zz(void 0,rB({scopeKey:Te,generation:xe,root:Ce,relevantKeys:Z.useMemo(()=>Kz({entryKeys:be.map(e=>e.key),seedCount:FV(A)}),[Te,xe,be.length,be[be.length-1]?.key,A]),enabled:!1,initiallyRevealed:C})),De=J(e=>{s(e)}),Oe=J(e=>{s(e)}),ke=Z.useMemo(()=>n.filter(e=>VV(e)===`user`).map(e=>e.info.id),[n]),Ae=L.current,je=Ae.sessionKey!==e,Me=Ae.previousOrder;je&&(S&&Ae.sessionKey!==void 0&&jo(Ae.sessionKey),Ae.sessionKey=e,Ae.previousOrder=ke,Ae.animatedIds=new Set);let Ne=S?ao({sessionId:e,sessionChanged:je,previousUserOrder:Me,currentUserOrder:ke,animatedIds:Ae.animatedIds}):null;Ae.previousOrder=ke;let Pe=S?RB({sessionChanged:je,previousUserOrder:Me,currentUserOrder:ke,currentAnchorId:R,consumedSendMessageId:Ne}):null;S&&Pe!==R&&z(Pe),S&&(B.current=Pe);let Fe=J(e=>VV(e)===`user`&&L.current.animatedIds.has(e.info.id)),Ie=J(e=>{L.current.animatedIds.delete(e)}),Le=Z.useMemo(()=>{let e=new Map;return be.forEach((t,n)=>{if(t.kind===`ungrouped`){e.set(t.message.info.id,n);return}t.turn.userMessage&&e.set(t.turn.userMessage.info.id,n),t.turn.assistantMessages.forEach(t=>{e.set(t.info.id,n)})}),e},[be]),Re=Z.useMemo(()=>{let e=new Map;return be.forEach((t,n)=>{t.kind===`turn`&&e.set(t.turn.turnId,n)}),e},[be]),ze=J(e=>{let t=re();return t?t.querySelector(`[data-message-id="${e}"]`):null}),Be=J((e,t=`auto`)=>{if(e<0||e>=de.length)return!1;if(he){let n=ge.current;return n?(n.scrollToIndex({index:e,animated:t===`smooth`,viewOffset:0}),!0):!1}if(!fe)return!1;let n=ve.current;return n?(n.scrollToIndex(e,{align:`start`,behavior:t===`smooth`?`smooth`:`auto`}),!0):!1}),Ve=J((e,t=`auto`)=>{let n=re();if(!n)return!1;let r=ze(e);if(!r)return!1;let i=n.getBoundingClientRect(),a=r.getBoundingClientRect().top-i.top+n.scrollTop-50;return n.scrollTo({top:a,behavior:t}),!0});return Z.useEffect(()=>{if(!w)return;let e={scrollToTurnId:(e,t)=>{let n=t?.behavior??`auto`,r=Re.get(e);if(r===void 0)return!1;let i=re();if(!i)return!1;let a=i.querySelector(`[data-turn-id="${e}"]`);return a?(a.scrollIntoView({behavior:n,block:`start`}),!0):ue&&r>=de.length?!1:Be(r,n)},scrollToMessageId:(e,t)=>{let n=t?.behavior??`auto`,r=Le.get(e);return r===void 0?!1:Ve(e,n)||(ue&&r>=de.length?!1:Be(r,n))},holdViewportAnchor:e=>{let t=re();if(!t||typeof window>`u`)return;G();let n=0,r=0,i=!1,a=null,o=()=>{t.removeEventListener(`touchstart`,c),t.removeEventListener(`wheel`,c),t.removeEventListener(`keydown`,c),t.removeEventListener(`pointerdown`,c)},s=()=>{i||(i=!0,a!==null&&(window.cancelAnimationFrame(a),a=null),o(),W.current?.cancel===s&&(W.current=null))},c=()=>{s()};W.current={cancel:s},t.addEventListener(`touchstart`,c,{passive:!0}),t.addEventListener(`wheel`,c,{passive:!0}),t.addEventListener(`keydown`,c),t.addEventListener(`pointerdown`,c,{passive:!0});let l=()=>{if(i)return;let o=ze(e.messageId);if(o){let n=o.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(n)>.5?(t.scrollTop+=n,r=0):r+=1}if(n+=1,r>=xV||n>=SV){s();return}a=window.requestAnimationFrame(l)};a=window.requestAnimationFrame(l)},cancelViewportAnchorHold:G,isHistoryVirtualized:()=>he?!0:pe.current,captureViewportAnchor:()=>{let e=re();if(!e)return null;let t=e.getBoundingClientRect(),n=Array.from(e.querySelectorAll(`[data-message-id]`)),r=n.find(n=>n.getBoundingClientRect().bottom<=t.top+1?!1:typeof window>`u`||!KV(n,e,t.top))??n.find(e=>e.getBoundingClientRect().bottom>t.top+1);if(!r)return null;let i=r.dataset.messageId;return i?{messageId:i,offsetTop:r.getBoundingClientRect().top-t.top}:null},restoreViewportAnchor:e=>{let t=re();if(!t||!Le.has(e.messageId))return!1;let n=()=>{let n=ze(e.messageId);if(!n)return!1;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect().top-r.top-e.offsetTop;if(i!==0){let e=t.scrollTop+i,n=ve.current;if(fe&&n){if(n.options.count!==de.length)return!0;n.scrollToOffset(e,{behavior:`auto`})}else t.scrollTop=e}return!0};if(!n()){let t=Le.get(e.messageId);if(typeof t==`number`&&t<de.length)return Be(t,`auto`)}return n()},cancelScroll:()=>{G(),ve.current?.cancelScroll()},scrollToBottom:({behavior:e=`auto`,reveal:t=!0}={})=>{if(t&&Se(e=>e+1),he){let e=SB(re());return e===null?(ge.current?.scrollToEnd({animated:!1}),!0):(ge.current?.scrollToOffset({offset:e,animated:!1}),!0)}return fe&&de.length>0&&ve.current?(ve.current.scrollToEnd({behavior:e}),!0):!1}};if(typeof w==`function`)return w(e),()=>{w(null)};let t=w;return t.current=e,()=>{t.current=null}},[G,de.length,he,Le,fe,ue,Re,w]),he?(0,$.jsx)(lO.Provider,{value:D,children:(0,$.jsx)(lH,{historyEntries:de,tailEntries:le,timelineCacheKey:jV(E,A),directory:d,sessionId:T,scrollRef:u,registerList:_e,onHistoryContentChange:De,onTailContentChange:Oe,getAnimationHandlers:H,scrollToBottom:ee,stickyUserHeader:O,sessionIsWorking:r,activityRenderMode:A,turnUiStates:N,onToggleTurnGroup:U,chatRenderMode:k,showTurnChangedFiles:j,shouldAnimateUserMessage:Fe,onUserAnimationConsumed:Ie,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:M,header:f,footer:p,scrollClassName:h,scrollStyle:g,scrollDataset:_,onScroll:v,followEnabled:y,historyAnchorToken:b,pinRevealGeneration:xe,initialPinRevealComplete:C,onIsAtEndChange:x,anchoredUserMessageId:Pe,onAnchoredTurnParkReleased:V},E)}):(0,$.jsx)(lO.Provider,{value:D,children:(0,$.jsx)(`div`,{children:(0,$.jsx)(Fd,{disabled:!1,children:(0,$.jsxs)(`div`,{ref:we,className:`relative w-full`,style:Ee,children:[(0,$.jsx)(Fd,{disabled:fe,children:(0,$.jsx)(jz,{enabled:!0,children:(0,$.jsx)(oH,{entries:de,historyAnchorToken:b,engine:me,contentRef:ne,scrollRef:u,registerTanstackVirtualizer:ye,virtualizerKey:E,onMessageContentChange:De,getAnimationHandlers:H,scrollToBottom:ee,stickyUserHeader:O,activityRenderMode:A,turnUiStates:N,onToggleTurnGroup:U,chatRenderMode:k,shouldAnimateUserMessage:Fe,onUserAnimationConsumed:Ie,reviewTransferDirection:M},E)})}),(0,$.jsx)(cH,{entries:le,directory:d,sessionId:T,onMessageContentChange:Oe,getAnimationHandlers:H,scrollToBottom:ee,stickyUserHeader:O,sessionIsWorking:r,activityRenderMode:A,turnUiStates:N,onToggleTurnGroup:U,chatRenderMode:k,showTurnChangedFiles:j,shouldAnimateUserMessage:Fe,onUserAnimationConsumed:Ie,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:M}),m]})})})})});uH.displayName=`MessageList`;var dH=Z.memo(uH);function fH(e){return e.isMobile}var pH=e=>{let t=(0,Q.c)(3),{content:n,html:r}=e,i;return t[0]!==n||t[1]!==r?(i=r===void 0?(0,$.jsx)(`span`,{className:`whitespace-pre-wrap break-all`,children:n}):(0,$.jsx)(`span`,{className:`whitespace-pre-wrap break-all`,dangerouslySetInnerHTML:{__html:r}}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},mH=({diff:e,filePath:t})=>{let{currentTheme:n}=is(),r=Z.useMemo(()=>Rd(n),[n]),i=Z.useMemo(()=>Qd(e),[e]),a=Cd(t||i[0]?.file)||`text`,o=Z.useMemo(()=>i.flatMap(e=>e.lines.map(e=>e.content)).join(`
|
|
6600
|
-
`),[i]),s=lf(o,a),c=0;return(0,$.jsx)(`div`,{className:`typography-code px-1 pb-1 pt-0 space-y-0`,style:r,children:i.map((e,n)=>(0,$.jsxs)(`div`,{className:`-mx-1 px-1 border-b border-border/20 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`bg-muted/20 px-2 py-1 typography-meta font-medium text-muted-foreground border-b border-border/10 break-words -mx-1`,children:`${e.file||t?.split(`/`).pop()||`file`} (line ${e.oldStart})`}),(0,$.jsx)(`div`,{children:e.lines.map((e,t)=>{let n=s?.[c];return c+=1,(0,$.jsxs)(`div`,{className:Y(`typography-code font-mono px-2 py-0.5 flex -mx-2`,e.type===`context`&&`bg-transparent`,e.type===`removed`&&`bg-transparent`,e.type===`added`&&`bg-transparent`),style:e.type===`removed`?{backgroundColor:`var(--tools-edit-removed-bg)`}:e.type===`added`?{backgroundColor:`var(--tools-edit-added-bg)`}:{},children:[(0,$.jsx)(`span`,{className:`w-10 flex-shrink-0 text-right pr-3 select-none border-r mr-3 -my-0.5 py-0.5`,style:{color:`var(--tools-edit-line-number)`,borderColor:`var(--tools-border)`},children:e.lineNumber||``}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,$.jsx)(
|
|
6601
|
-
`),t[2]=n,t[3]=s);let c=s,l;t[4]===r?l=t[5]:(l=Cd(r??``)||`text`,t[4]=r,t[5]=l);let u=l,d;t[6]===r?d=t[7]:(d=r?.split(`/`).pop()||`New file`,t[6]=r,t[7]=d);let f=d,p=Math.max(c.length,1),m=p===1?`line 1`:`lines 1-${p}`,h=lf(n,u),g=o,_=`${f} (${m})`,v;t[8]===_?v=t[9]:(v=(0,$.jsx)(`div`,{className:`bg-muted/20 px-2 py-1 typography-meta font-medium text-muted-foreground border border-border/10 rounded-lg mb-1`,children:_}),t[8]=_,t[9]=v);let y;if(t[10]!==h||t[11]!==c){let e;t[13]===h?e=t[14]:(e=(e,t)=>(0,$.jsxs)(`div`,{className:`typography-code font-mono px-2 py-0.5 flex -mx-1`,children:[(0,$.jsx)(`span`,{className:`w-10 flex-shrink-0 text-right pr-3 select-none border-r mr-3 -my-0.5 py-0.5`,style:{color:`var(--tools-edit-line-number)`,borderColor:`var(--tools-border)`},children:t+1}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,$.jsx)(pH,{content:e||` `,html:h?.[t]})})]},t),t[13]=h,t[14]=e),y=c.map(e),t[10]=h,t[11]=c,t[12]=y}else y=t[12];let b;t[15]===y?b=t[16]:(b=(0,$.jsx)(`div`,{className:`space-y-0`,children:y}),t[15]=y,t[16]=b);let x;return t[17]!==g||t[18]!==v||t[19]!==b?(x=(0,$.jsxs)(`div`,{className:`w-full min-w-0`,style:g,children:[v,b]}),t[17]=g,t[18]=v,t[19]=b,t[20]=x):x=t[20],x},gH=new Set([`id`,`identifier`,`title`,`name`]),_H=e=>typeof e==`object`&&!!e&&!Array.isArray(e),vH=e=>e.replace(/([A-Z])/g,` $1`).replace(/[_-]/g,` `).replace(/^./,e=>e.toUpperCase()),yH=e=>{let t=typeof e.id==`string`?e.id:typeof e.identifier==`string`?e.identifier:``,n=typeof e.title==`string`?e.title:typeof e.name==`string`?e.name:``;return t&&n?`${t} · ${n}`:n||t||null},bH=e=>{try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}},xH=Z.memo(e=>{let t=(0,Q.c)(54),{value:n,label:r,depth:i}=e;if(Array.isArray(n)){let e;t[0]!==r||t[1]!==n.length?(e=r?`${vH(r)} (${n.length})`:`(${n.length})`,t[0]=r,t[1]=n.length,t[2]=e):e=t[2];let a=e,o=i<2,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3.5 w-3.5 shrink-0 transition-transform group-open/json-summary:rotate-90`}),t[3]=s):s=t[3];let c;t[4]===a?c=t[5]:(c=(0,$.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-1.5 py-1.5 typography-meta text-[var(--surface-foreground)] hover:text-[var(--surface-mutedForeground)]`,children:[s,(0,$.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:a})]}),t[4]=a,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-1 left-0 top-0 w-px bg-[var(--tools-border)] opacity-40`}),t[6]=l):l=t[6];let u;if(t[7]!==i||t[8]!==n){let e;t[10]===i?e=t[11]:(e=(e,t)=>(0,$.jsx)(xH,{value:e,depth:i+1},t),t[10]=i,t[11]=e),u=n.map(e),t[7]=i,t[8]=n,t[9]=u}else u=t[9];let d;t[12]===u?d=t[13]:(d=(0,$.jsxs)(`div`,{className:`relative ml-1 pl-3 pb-1`,children:[l,(0,$.jsx)(`div`,{className:`space-y-1`,children:u})]}),t[12]=u,t[13]=d);let f;return t[14]!==o||t[15]!==c||t[16]!==d?(f=(0,$.jsxs)(`details`,{open:o,className:`group/json-summary`,children:[c,d]}),t[14]=o,t[15]=c,t[16]=d,t[17]=f):f=t[17],f}if(_H(n)){let e;t[18]===n?e=t[19]:(e=yH(n),t[18]=n,t[19]=e);let a=e,o;t[20]===n?o=t[21]:(o=Object.entries(n).filter(CH),t[20]=n,t[21]=o);let s=o,c;t[22]!==a||t[23]!==r?(c=r?`${vH(r)}${a?` · ${a}`:``}`:a,t[22]=a,t[23]=r,t[24]=c):c=t[24];let l=c,u;t[25]!==i||t[26]!==s?(u=(0,$.jsx)(`div`,{className:`space-y-1`,children:s.map(e=>{let[t,n]=e;return(0,$.jsx)(xH,{label:t,value:n,depth:i+1},t)})}),t[25]=i,t[26]=s,t[27]=u):u=t[27];let d=u;if(!r&&i===0){let e;t[28]===a?e=t[29]:(e=a?(0,$.jsx)(`div`,{className:`typography-meta font-medium text-[var(--surface-foreground)]`,children:a}):null,t[28]=a,t[29]=e);let n;return t[30]!==d||t[31]!==e?(n=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[e,d]}),t[30]=d,t[31]=e,t[32]=n):n=t[32],n}let f=i<2,p;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3.5 w-3.5 shrink-0 transition-transform group-open/json-summary:rotate-90`}),t[33]=p):p=t[33];let m;t[34]!==r||t[35]!==l?(m=l??(r?vH(r):`{}`),t[34]=r,t[35]=l,t[36]=m):m=t[36];let h;t[37]===m?h=t[38]:(h=(0,$.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-1.5 py-1.5 typography-meta text-[var(--surface-foreground)] hover:text-[var(--surface-mutedForeground)]`,children:[p,(0,$.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:m})]}),t[37]=m,t[38]=h);let g;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-1 left-0 top-0 w-px bg-[var(--tools-border)] opacity-40`}),t[39]=g):g=t[39];let _;t[40]===d?_=t[41]:(_=(0,$.jsxs)(`div`,{className:`relative ml-1 pl-3 pb-1`,children:[g,d]}),t[40]=d,t[41]=_);let v;return t[42]!==_||t[43]!==f||t[44]!==h?(v=(0,$.jsxs)(`details`,{open:f,className:`group/json-summary`,children:[h,_]}),t[42]=_,t[43]=f,t[44]=h,t[45]=v):v=t[45],v}let a=n===null?`null`:typeof n==`boolean`?n?`true`:`false`:String(n),o;t[46]!==a||t[47]!==n?(o=typeof n==`string`&&bH(n)?(0,$.jsx)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,className:`truncate text-[var(--status-info)] underline underline-offset-2 hover:opacity-80`,title:n,children:n}):(0,$.jsx)(`span`,{className:Y(`min-w-0 break-words`,n===null?`text-[var(--surface-mutedForeground)]`:`text-[var(--surface-foreground)]`),children:a}),t[46]=a,t[47]=n,t[48]=o):o=t[48];let s=o,c;t[49]===r?c=t[50]:(c=r?(0,$.jsx)(`span`,{className:`truncate text-[var(--surface-mutedForeground)]`,title:r,children:vH(r)}):(0,$.jsx)(`span`,{}),t[49]=r,t[50]=c);let l;return t[51]!==s||t[52]!==c?(l=(0,$.jsxs)(`div`,{className:`grid grid-cols-[minmax(6rem,auto)_minmax(0,1fr)] gap-x-2 py-1 typography-meta`,children:[c,s]}),t[51]=s,t[52]=c,t[53]=l):l=t[53],l});xH.displayName=`JsonSummaryValue`;var SH=Z.memo(e=>{let t=(0,Q.c)(2),{data:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsx)(xH,{value:n,depth:0})}),t[0]=n,t[1]=r),r});SH.displayName=`JsonSummaryView`;function CH(e){let[t]=e;return!gH.has(t)}function wH(e){let t=(0,Q.c)(20),{header:n,children:r,footer:i,afterBody:a,mobile:o,questionCard:s,onInteraction:c}=e,l=o!==void 0&&o,u=s!==void 0&&s?``:void 0,d=l?`px-3 py-2`:`px-2 py-1.5`,f;t[0]===d?f=t[1]:(f=Y(`border-b border-border/20`,d),t[0]=d,t[1]=f);let p;t[2]!==n||t[3]!==f?(p=(0,$.jsx)(`div`,{className:f,children:n}),t[2]=n,t[3]=f,t[4]=p):p=t[4];let m=l?`px-3 py-3`:`px-2 py-2`,h;t[5]===m?h=t[6]:(h=Y(m),t[5]=m,t[6]=h);let g;t[7]!==r||t[8]!==h?(g=(0,$.jsx)(`div`,{className:h,children:r}),t[7]=r,t[8]=h,t[9]=g):g=t[9];let _;t[10]!==i||t[11]!==l?(_=i?(0,$.jsx)(`div`,{className:Y(`flex flex-wrap items-center gap-1.5 border-t border-border/20`,l?`px-3 py-2`:`px-2 pb-1.5 pt-1`),children:i}):null,t[10]=i,t[11]=l,t[12]=_):_=t[12];let v;return t[13]!==a||t[14]!==c||t[15]!==_||t[16]!==u||t[17]!==p||t[18]!==g?(v=(0,$.jsx)(`div`,{className:`group w-full pt-0 pb-2`,children:(0,$.jsx)(`div`,{className:`chat-column`,children:(0,$.jsxs)(`div`,{"data-interaction-card":!0,"data-question-card":u,className:`-mt-1 overflow-hidden rounded-xl border border-border/30 bg-muted/10`,onClickCapture:c,onKeyDownCapture:c,onInputCapture:c,onPasteCapture:c,onCompositionStartCapture:c,children:[p,g,a,_]})})}),t[13]=a,t[14]=c,t[15]=_,t[16]=u,t[17]=p,t[18]=g,t[19]=v):v=t[19],v}var TH={margin:0,padding:`0.5rem`,fontSize:`var(--text-meta)`,lineHeight:`1.25rem`,background:`rgb(var(--muted) / 0.3)`,borderRadius:`0.25rem`,whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflowWrap:`break-word`,overflow:`visible`},EH={style:{whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflowWrap:`break-word`}},DH=e=>{let t=`h-3 w-3`,n=e.toLowerCase();return n===`edit`||n===`multiedit`||n===`str_replace`||n===`str_replace_based_edit_tool`?(0,$.jsx)(X,{name:`pencil-ai`,className:t}):n===`write`||n===`create`||n===`file_write`?(0,$.jsx)(X,{name:`file-edit`,className:t}):n===`bash`||n===`shell`||n===`cmd`||n===`terminal`||n===`shell_command`?(0,$.jsx)(X,{name:`terminal-box`,className:t}):n===`webfetch`||n===`fetch`||n===`curl`||n===`wget`?(0,$.jsx)(X,{name:`global`,className:t}):(0,$.jsx)(X,{name:`tools`,className:t})},OH=e=>{let t=e.toLowerCase();return t===`edit`||t===`multiedit`||t===`str_replace`||t===`str_replace_based_edit_tool`?`edit`:t===`write`||t===`create`||t===`file_write`?`write`:t===`bash`||t===`shell`||t===`cmd`||t===`terminal`||t===`shell_command`?`bash`:t===`webfetch`||t===`fetch`||t===`curl`||t===`wget`?`webfetch`:e},kH=e=>e===`filepath`||e===`file_path`?`filePath`:e===`parentDir`||e===`parent_dir`?`parentDirectory`:e,AH=e=>{let t=(0,Q.c)(2),{data:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`rounded-lg border border-border/20 bg-muted/15 px-2 py-1 sm:px-2.5 sm:py-1.5 [&_.typography-meta]:!text-xs [&_summary]:py-1`,children:(0,$.jsx)(SH,{data:n})}),t[0]=n,t[1]=r),r},jH=({permission:e,onResponse:t})=>{let{t:n}=Kn(),r=q(e=>e.isMobile),[i,a]=Z.useState(!1),[o,s]=Z.useState(!1),c=lo,l=Ko(),u=ma(e=>e.currentSessionId),d=Z.useMemo(()=>{if(!u||e.sessionID===u)return!1;let t=l.find(t=>t.id===e.sessionID);return!!(t?.parentID&&t.parentID===u)},[e.sessionID,u,l]),f=async n=>{a(!0);try{await c(e.sessionID,e.id,n),s(!0),t?.(n)}catch(e){console.error(`[PermissionCard] Failed to respond to permission:`,e)}finally{a(!1)}};if(o)return null;let p=e.permission||`unknown`,m=p.toLowerCase(),h=(t,n=``)=>{let r=e.metadata[t];return typeof r==`string`?r:typeof r==`number`?String(r):n},g=t=>{let n=e.metadata[t];return typeof n==`number`?n:void 0},_=t=>!!e.metadata[t],v=OH(p),y=Object.fromEntries(Object.entries(e.metadata).filter(([e])=>e!==`always`).map(([e,t])=>[kH(e),t]));return(0,$.jsx)(wH,{mobile:r,header:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 sm:gap-2`,children:[(0,$.jsx)(X,{name:`question`,className:`h-3.5 w-3.5 text-[var(--status-warning)]`}),(0,$.jsx)(`span`,{className:`truncate text-xs leading-4 sm:text-[length:var(--text-meta)] font-medium text-muted-foreground`,children:n(`sessions.sidebar.session.status.permissionRequired`)}),d?(0,$.jsx)(`span`,{className:`hidden sm:inline typography-micro text-muted-foreground px-1.5 py-0.5 rounded bg-foreground/5`,children:n(`chat.questionCard.fromSubagent`)}):null]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 max-w-[48%] items-center gap-1.5`,children:[DH(p),(0,$.jsx)(`span`,{className:`truncate text-xs leading-4 sm:text-[length:var(--text-meta)] text-muted-foreground font-medium`,children:v})]})]}),footer:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`grid w-full grid-cols-1 gap-1.5 sm:flex sm:items-center sm:flex-wrap`,children:[(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>f(`once`),disabled:i,className:`min-h-9 min-w-0 w-full gap-1.5 px-2 !text-xs leading-4 text-foreground sm:w-auto`,children:[(0,$.jsx)(X,{name:`check`,className:`size-3.5 shrink-0 text-[var(--status-success)] sm:size-3`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`chat.permissionCard.allowOnce`)})]}),(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>f(`always`),disabled:i,className:`min-h-9 min-w-0 w-full gap-1.5 px-2 !text-xs leading-4 text-foreground sm:w-auto`,children:[(0,$.jsx)(X,{name:`arrow-right`,className:`size-3.5 shrink-0 text-[var(--status-success)] sm:size-3`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`chat.permissionCard.alwaysAgree`)})]}),(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>f(`reject`),disabled:i,className:`min-h-9 min-w-0 w-full gap-1.5 px-2 !text-xs leading-4 text-[var(--status-error)] sm:w-auto`,children:[(0,$.jsx)(X,{name:`close`,className:`size-3.5 shrink-0 sm:size-3`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`chat.permissionToast.actions.deny`)})]})]}),i?(0,$.jsx)(`div`,{className:`flex justify-center w-full py-1 sm:w-auto sm:ml-auto typography-meta text-muted-foreground`,children:(0,$.jsx)(`div`,{className:`animate-spin h-3 w-3 border border-primary border-t-transparent rounded-full`})}):null]}),children:(0,$.jsxs)(`div`,{className:`[&_.typography-meta]:!text-xs [&_.typography-micro]:!text-[0.6875rem]`,children:[e.patterns.length>0&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:n(`chat.permissionCard.patterns`)}),(0,$.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border/20 bg-muted/15`,children:e.patterns.map((e,t)=>(0,$.jsx)(`code`,{className:Y(`block break-all px-2 py-1.5 text-xs leading-4 sm:text-[length:var(--text-meta)]`,t>0&&`border-t border-border/15`),children:e},`${e}-${t}`))})]}),(()=>{if(m===`bash`||m===`shell`||m===`shell_command`){let e=h(`command`)||h(`cmd`)||h(`script`),t=h(`description`),r=h(`cwd`)||h(`working_directory`)||h(`directory`)||h(`path`),i=g(`timeout`);return(0,$.jsxs)($.Fragment,{children:[t&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:t}),r&&(0,$.jsxs)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:[(0,$.jsx)(`span`,{className:`font-semibold`,children:n(`chat.permissionCard.workingDirectory`)}),` `,(0,$.jsx)(`code`,{className:`px-1 py-0.5 bg-muted/30 rounded`,children:r})]}),i&&(0,$.jsxs)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:[(0,$.jsx)(`span`,{className:`font-semibold`,children:n(`chat.permissionCard.timeout`)}),` `,i,`ms`]}),e&&(0,$.jsx)(`div`,{children:(0,$.jsx)($d,{language:`bash`,code:e,style:TH,codeStyle:EH.style,wrap:!0})})]})}if(m===`edit`||m===`multiedit`||m===`str_replace`||m===`str_replace_based_edit_tool`){let e=h(`path`)||h(`file_path`)||h(`filename`)||h(`filePath`),t=h(`changes`)||h(`diff`),r=_(`replace_all`)||_(`replaceAll`);return(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:(0,$.jsxs)(`span`,{className:`font-semibold`,children:[`⚠️ `,n(`chat.permissionCard.replaceAll`)]})}),t&&(0,$.jsx)(gl,{outerClassName:`max-h-[60vh]`,className:`tool-output-surface p-1 rounded-xl border border-border/20 bg-transparent`,children:(0,$.jsx)(mH,{diff:t,filePath:e})})]})}if(m===`write`||m===`create`||m===`file_write`){let e=h(`path`)||h(`file_path`)||h(`filename`)||h(`filePath`),t=h(`content`)||h(`text`)||h(`data`);return t?(0,$.jsx)(gl,{outerClassName:`max-h-[60vh]`,className:`tool-output-surface p-1 rounded-xl border border-border/20 bg-transparent`,children:(0,$.jsx)(hH,{content:t,filePath:e})}):null}if(m===`webfetch`||m===`fetch`||m===`curl`||m===`wget`){let t=h(`url`)||h(`uri`)||h(`endpoint`),r=h(`method`)||`GET`,i=e.metadata.headers&&typeof e.metadata.headers==`object`?e.metadata.headers:void 0,a=e.metadata.body??e.metadata.data??e.metadata.payload,o=g(`timeout`),s=h(`format`)||h(`responseType`);return(0,$.jsxs)($.Fragment,{children:[t&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-1`,children:n(`chat.permissionCard.request`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold px-1.5 py-0.5 bg-primary/20 text-primary rounded`,children:r}),(0,$.jsx)(`code`,{className:`typography-meta px-2 py-1 bg-muted/30 rounded flex-1 break-all`,children:t})]})]}),i&&Object.keys(i).length>0&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-1`,children:n(`chat.permissionCard.headers`)}),(0,$.jsx)(gl,{outerClassName:`max-h-32`,className:`p-0`,children:(0,$.jsx)(AH,{data:i})})]}),a&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-1`,children:n(`chat.permissionCard.body`)}),(0,$.jsx)(gl,{outerClassName:`max-h-32`,className:`p-0`,children:typeof a==`object`&&a?(0,$.jsx)(AH,{data:a}):(0,$.jsx)(`pre`,{className:`typography-meta font-mono px-2 py-1.5 bg-muted/20 border border-border/20 rounded-lg whitespace-pre-wrap break-all`,children:String(a)})})]}),(o||s)&&(0,$.jsxs)(`div`,{className:`typography-micro text-muted-foreground`,children:[o&&(0,$.jsxs)(`span`,{children:[n(`chat.permissionCard.timeout`),` `,o,`ms`]}),o&&s&&(0,$.jsx)(`span`,{children:` • `}),s&&(0,$.jsxs)(`span`,{children:[n(`chat.permissionCard.responseFormat`),` `,s]})]})]})}return Object.keys(y).length===0?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:n(`chat.permissionCard.details`)}),(0,$.jsx)(gl,{outerClassName:`max-h-48`,className:`p-0`,children:(0,$.jsx)(AH,{data:y})})]})})()]})})};function MH(e){let t=[];return(e.questions??[]).forEach((e,n)=>{let r=e.header?.trim(),i=r&&r.length>0?r:`Question ${n+1}`;t.push(`## ${i}`),t.push(``),t.push(e.question),t.push(``),e.multiple&&(t.push(`_Select all that apply._`),t.push(``)),e.options.forEach(e=>{let n=e.label,r=e.description?.trim();t.push(r?`- **${n}** — ${r}`:`- **${n}**`)}),t.push(``)}),t.join(`
|
|
6602
|
-
`).trimEnd()}function NH(e){let t={questions:(e.questions??[]).map(e=>({header:e.header??null,question:e.question,multiple:!!e.multiple,options:e.options.map(e=>({label:e.label,description:e.description??null}))}))};return JSON.stringify(t,null,2)}var PH=200;function FH(e){return Math.min(Math.max(e,40),PH)}var IH=`summary`,LH=Z.memo(function(e){let t=(0,Q.c)(27),{value:n,placeholder:r,disabled:i,onValueChange:a,onKeyDown:o}=e,s=Z.useRef(null),[c,l]=Z.useState(n),[u,d]=Z.useState(40),[f,p]=Z.useState(!1),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{let e=s.current;if(!e||document.activeElement!==e)return;let t=e.closest(`.chat-scroll`);if(!t){e.scrollIntoView({block:`nearest`});return}let n=window.visualViewport,r=t.getBoundingClientRect(),i=n?.offsetTop??0,a=n?n.offsetTop+n.height:document.documentElement.clientHeight,o=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(`--oc-kb-scroll-inset`))||0,c=Math.max(r.top,i),l=Math.min(r.bottom,a-o),u=Math.max(0,l-c),d=e.closest(`[data-question-card]`),f=d?.getBoundingClientRect(),p=(d&&f&&f.height<=u?d:e).getBoundingClientRect();p.bottom>l-12?t.scrollTop+=p.bottom-l+12:p.top<c+12&&(t.scrollTop+=p.top-c-12)},t[0]=m):m=t[0];let h=J(m),g;t[1]===h?g=t[2]:(g=()=>{requestAnimationFrame(h)},t[1]=h,t[2]=g);let _=J(g),v;t[3]===h?v=t[4]:(v=()=>{let e=()=>requestAnimationFrame(h);return e(),window.addEventListener(`oc:keyboard-settled`,e),window.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`scroll`,e),()=>{window.removeEventListener(`oc:keyboard-settled`,e),window.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`scroll`,e)}},t[3]=h,t[4]=v);let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],t[5]=y):y=t[5],Z.useEffect(v,y);let b,x;t[6]===n?(b=t[7],x=t[8]):(b=()=>{l(n)},x=[n],t[6]=n,t[7]=b,t[8]=x),Z.useEffect(b,x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>{let e=s.current;if(!e)return;e.style.height=`auto`,e.style.overflowY=`hidden`;let t=e.scrollHeight,n=FH(t),r=t>n;e.style.height=`${n}px`,e.style.overflowY=``,d(e=>e===n?e:n),p(e=>e===r?e:r)},t[9]=S):S=t[9];let C;t[10]===c?C=t[11]:(C=[c],t[10]=c,t[11]=C),Z.useLayoutEffect(S,C);let w;t[12]===a?w=t[13]:(w=e=>{let t=e.target.value;l(t),a(t)},t[12]=a,t[13]=w);let T;t[14]===u?T=t[15]:(T={height:u},t[14]=u,t[15]=T);let E=f?`overflow-y-auto`:`overflow-hidden`,D;t[16]===E?D=t[17]:(D=Y(`w-full bg-transparent border border-border/30 focus:border-primary rounded px-2 py-1 outline-none typography-meta text-foreground placeholder:text-muted-foreground/50 transition-colors resize-none`,E),t[16]=E,t[17]=D);let O;return t[18]!==i||t[19]!==_||t[20]!==c||t[21]!==o||t[22]!==r||t[23]!==T||t[24]!==D||t[25]!==w?(O=(0,$.jsx)(`textarea`,{ref:s,value:c,onChange:w,placeholder:r,disabled:i,rows:2,onKeyDown:o,onFocus:_,style:T,className:D,autoFocus:!0}),t[18]=i,t[19]=_,t[20]=c,t[21]=o,t[22]=r,t[23]=T,t[24]=D,t[25]=w,t[26]=O):O=t[26],O}),RH=({question:e})=>{let{t}=Kn(),n=bi(e),r=Oo,i=oo,a=q(e=>e.isMobile),o=Ko(),s=ma(e=>e.currentSessionId),c=Z.useMemo(()=>{if(!s||e.sessionID===s)return!1;let t=o.find(t=>t.id===e.sessionID);return!!(t?.parentID&&t.parentID===s)},[e.sessionID,s,o]),l=n.scope,u=Ai(e=>e.drafts[l]?.activeTab??`0`),d=e=>Ir(l,()=>({activeTab:e})),[f,p]=Z.useState(!1),m=f||n.claimed||n.request?.state===`submitting`||n.request?.state===`uncertain`||n.request?.state===`settled`,[h,g]=Z.useState(!1),_=Ai(e=>Ii(e,l).selectedOptions),v=Ai(e=>Ii(e,l).customMode),y=Ai(e=>Ii(e,l).customTextFilled),b=Z.useMemo(()=>e.questions??[],[e.questions]),x=u===IH,S=x?-1:Math.max(0,Math.min(b.length-1,Number(u)||0)),C=x?null:b[S],w=Z.useMemo(()=>{if(x)return null;let e=C?.header?.trim();return e&&e.length>0?e:null},[C?.header,x]);Z.useEffect(()=>{g(!1)},[l]);let T=Z.useMemo(()=>{let e=b.map((e,t)=>({value:String(t),label:e.header?.trim()||`Q${t+1}`}));return b.length>1&&e.push({value:IH,label:t(`chat.questionCard.summaryTab`)}),e},[b,t]),E=e=>{if(v[e])return(dr(l).customText[e]??``).trim()||t(`chat.questionCard.noAnswer`);let n=_[e]??[];return n.length>0?n.join(`, `):t(`chat.questionCard.noAnswer`)},D=!!C?.multiple,O=_[S]??[],k=!!v[S],A=Z.useMemo(()=>{let e=[];for(let t=0;t<b.length;t+=1){if(v[t]){y[t]||e.push(t);continue}(_[t]??[]).length===0&&e.push(t)}return e},[v,y,b.length,_]),j=Z.useMemo(()=>b.length!==0&&A.length===0,[b.length,A.length]),M=J(()=>{if(b.length===0||A.length===0)return;let e=x?-1:S;for(let t=1;t<=b.length;t+=1){let n=(e+t+b.length)%b.length;if(A.includes(n)){d(String(n));return}}d(String(A[0]))}),N=()=>{let e=[];for(let t=0;t<b.length;t+=1){if(v[t]){let n=(dr(l).customText[t]??``).trim();e.push(n?[n]:[]);continue}e.push(_[t]??[])}return e},P=J(e=>{C&&Ir(l,t=>{let n=t.selectedOptions[S]??[],r=D?n.includes(e)?n.filter(t=>t!==e):[...n,e]:[e];return{selectedOptions:{...t.selectedOptions,[S]:r},customMode:{...t.customMode,[S]:!1},customTextFilled:t.customTextFilled[S]?{...t.customTextFilled,[S]:!1}:t.customTextFilled}})}),F=J(()=>{Ir(l,e=>({customMode:{...e.customMode,[S]:!0},selectedOptions:{...e.selectedOptions,[S]:[]},customTextFilled:{...e.customTextFilled,[S]:(e.customText[S]??``).trim().length>0}}))}),I=J(e=>{let t=e.trim().length>0;Ir(l,n=>({customText:{...n.customText,[S]:e},customTextFilled:n.customTextFilled[S]===t?n.customTextFilled:{...n.customTextFilled,[S]:t}}))}),L=J(async()=>{if(!j||m)return;let i=n.scope;p(!0);try{let t=N();await r(e.sessionID,e.id,t,n.request?.directory),Zo(i),g(!0)}catch(e){Ra(e)?await n.submissionClaimed(i):So(e)?(Zo(i),mi.info(t(`chat.questionCard.noLongerPending`)),g(!0)):mi.error(t(`chat.questionCard.submitFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{p(!1)}}),R=J(e=>{xl(e)||e.key===`Enter`&&!e.shiftKey&&(!a||e.ctrlKey||e.metaKey)&&(e.preventDefault(),j?L():M())}),z=J(async()=>{if(m)return;let r=n.scope;p(!0);try{await i(e.sessionID,e.id,n.request?.directory),Zo(r),g(!0)}catch(e){Ra(e)?await n.submissionClaimed(r):So(e)?(Zo(r),mi.info(t(`chat.questionCard.noLongerPending`)),g(!0)):mi.error(t(`chat.questionCard.dismissFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{p(!1)}}),B=J(async()=>{let n=MH(e);if((await Gn(n)).ok){mi.success(t(`chat.questionCard.copiedMarkdown`));return}mi.error(t(`chat.questionCard.copyFailed`))}),V=J(async()=>{let n=NH(e);if((await Gn(n)).ok){mi.success(t(`chat.questionCard.copiedJson`));return}mi.error(t(`chat.questionCard.copyFailed`))});return h||b.length===0?null:(0,$.jsxs)(wH,{mobile:a,questionCard:!0,header:(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 items-center gap-2`,a&&`flex-wrap`),children:[(0,$.jsx)(X,{name:`question`,className:`h-3.5 w-3.5 text-primary`}),(0,$.jsx)(`span`,{className:`min-w-0 typography-meta font-medium text-muted-foreground`,children:t(`chat.questionCard.inputNeeded`)}),c?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground px-1.5 py-0.5 rounded bg-foreground/5`,children:t(`chat.questionCard.fromSubagent`)}):null,w?(0,$.jsx)(`span`,{className:`ml-auto min-w-0 truncate typography-micro font-medium text-foreground/70 px-1.5 py-0.5 rounded bg-muted/30 border border-border/20`,children:w}):null,(0,$.jsxs)(`div`,{className:Y(`flex items-center gap-0.5`,w?null:`ml-auto`),children:[(0,$.jsx)(`button`,{type:`button`,onClick:B,title:t(`chat.questionCard.copyMarkdown`),"aria-label":t(`chat.questionCard.copyMarkdown`),className:`flex items-center justify-center h-5 w-5 rounded text-muted-foreground hover:text-foreground hover:bg-interactive-hover/30 transition-colors`,children:(0,$.jsx)(X,{name:`file-text`,className:`h-3 w-3`})}),(0,$.jsx)(`button`,{type:`button`,onClick:V,title:t(`chat.questionCard.copyJson`),"aria-label":t(`chat.questionCard.copyJson`),className:`flex items-center justify-center h-5 w-5 rounded text-muted-foreground hover:text-foreground hover:bg-interactive-hover/30 transition-colors`,children:(0,$.jsx)(X,{name:`code-box`,className:`h-3 w-3`})})]})]}),onInteraction:n.interaction,afterBody:(0,$.jsx)(Zr,{delegation:n}),footer:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:j?L:M,disabled:m,className:Y(`flex min-h-9 items-center gap-1 px-2 py-1 typography-meta font-medium rounded transition-colors`,`bg-[rgb(var(--status-success)/0.1)] text-[var(--status-success)] hover:bg-[rgb(var(--status-success)/0.2)]`,`disabled:opacity-50 disabled:cursor-not-allowed`),children:[j?(0,$.jsx)(X,{name:`check`,className:`h-3 w-3`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3`}),t(j?`chat.questionCard.submit`:`chat.questionCard.next`)]}),(0,$.jsxs)(`button`,{type:`button`,onClick:z,disabled:m,className:Y(`flex min-h-9 items-center gap-1 px-2 py-1 typography-meta font-medium rounded transition-colors`,`bg-[rgb(var(--status-error)/0.1)] text-[var(--status-error)] hover:bg-[rgb(var(--status-error)/0.2)]`,`disabled:opacity-50 disabled:cursor-not-allowed`),children:[(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`}),t(`chat.questionCard.dismiss`)]}),m?(0,$.jsx)(`div`,{className:`ml-auto`,children:(0,$.jsx)(`div`,{className:`animate-spin h-3 w-3 border border-primary border-t-transparent rounded-full`})}):null]}),children:[T.length>1?(0,$.jsx)(`div`,{className:`flex items-center gap-1 mb-2 flex-wrap`,children:T.map(e=>{let t=u===e.value,n=e.value===IH,r=n?-1:Number(e.value),i=!n&&Number.isFinite(r)&&!A.includes(r);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>d(e.value),className:Y(`px-2 py-0.5 typography-meta font-medium rounded transition-colors flex items-center gap-1`,t?`bg-interactive-selection/40 text-foreground`:n?`text-muted-foreground hover:text-foreground hover:bg-interactive-hover/20`:i?`text-muted-foreground/60 hover:text-muted-foreground hover:bg-interactive-hover/20`:`text-foreground/85 hover:text-foreground hover:bg-interactive-hover/20`),children:[n?(0,$.jsx)(X,{name:`list-check-3`,className:`h-3 w-3`}):null,e.label]},e.value)})}):null,x?(0,$.jsx)(`div`,{className:`space-y-2`,children:b.map((e,n)=>{let r=E(n),i=r!==t(`chat.questionCard.noAnswer`);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>d(String(n)),className:`w-full text-left rounded px-1.5 py-1 hover:bg-interactive-hover/20 transition-colors`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:e.header||t(`chat.questionCard.questionFallback`,{index:n+1})}),(0,$.jsx)(`div`,{className:Y(`typography-meta`,i?`text-foreground`:`text-muted-foreground/50 italic`),children:r})]},n)})}):C?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-foreground mb-1.5`,children:C.question}),D?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1.5`,children:t(`chat.questionCard.selectMultiple`)}):null,(0,$.jsxs)(`div`,{className:Y(`space-y-0.5`,a&&`space-y-1`),children:[C.options.map((e,n)=>{let r=O.includes(e.label),i=/\(recommended\)/i.test(e.label);return(0,$.jsx)(`button`,{type:`button`,onClick:()=>P(e.label),disabled:m,"aria-pressed":r,className:Y(`w-full min-h-9 px-2 py-1.5 text-left rounded transition-colors`,`hover:bg-interactive-hover/30`,r?`bg-interactive-selection/20`:null,m?`opacity-60 cursor-not-allowed`:null),children:(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(`div`,{className:`mt-0.5 shrink-0`,"aria-hidden":`true`,children:D?(0,$.jsx)(`span`,{className:Y(`flex size-4 items-center justify-center rounded border`,r?`border-primary bg-primary text-primary-foreground`:`border-border bg-background`),children:r?(0,$.jsx)(X,{name:`check`,className:`size-3`}):null}):(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center rounded-full border border-border bg-background`,children:r?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-primary`}):null})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:Y(`typography-meta break-all`,r?`text-foreground font-medium`:`text-foreground/80`),children:e.label}),i?(0,$.jsx)(`span`,{className:`typography-micro text-primary/80`,children:t(`chat.questionCard.recommended`)}):null]}),e.description?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground break-words`,children:e.description}):null]})]})},`${n}:${e.label}`)}),(0,$.jsx)(`button`,{type:`button`,onClick:F,disabled:m,"aria-pressed":k,className:Y(`w-full min-h-9 px-2 py-1.5 text-left rounded transition-colors`,`hover:bg-interactive-hover/30`,k?`bg-interactive-selection/20`:null,m?`opacity-60 cursor-not-allowed`:null),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`edit`,className:Y(`h-3.5 w-3.5`,k?`text-primary`:`text-muted-foreground/50`)}),(0,$.jsx)(`span`,{className:Y(`typography-meta`,k?`text-foreground font-medium`:`text-muted-foreground`),children:t(`chat.questionCard.other`)})]})}),k?(0,$.jsx)(`div`,{className:`pl-6 pr-1 pt-0.5`,children:(0,$.jsx)(LH,{value:dr(l).customText[S]??``,onValueChange:I,placeholder:t(`chat.questionCard.yourAnswer`),disabled:m,onKeyDown:R})}):null]})]}):null]})};function zH(e){if(e.type!==`external`)return e.type===`multiselect`?e.default??[]:e.type===`boolean`?e.default??!1:e.type===`number`||e.type===`integer`?e.default:e.default??(e.type===`string`?e.options?.[0]?.value:void 0)??``}var BH=({form:e,directory:t})=>{let{t:n}=Kn(),r=q(e=>e.isMobile),[i,a]=Z.useState(!1),[o,s]=Z.useState(null),[c,l]=Z.useState(()=>{let t={};for(let n of e.fields){let e=zH(n);e!==void 0&&(t[n.key]=e)}return t}),u=(e,t)=>{l(n=>({...n,[e]:t}))},d=J(async()=>{if(!i){s(null),a(!0);try{await Ya({sessionID:e.sessionID,formID:e.id,answer:c,directory:t}),yr.getState().remove(e.sessionID,e.id)}catch{s(`reply`)}finally{a(!1)}}}),f=J(async()=>{if(!i){s(null),a(!0);try{await li({sessionID:e.sessionID,formID:e.id,directory:t}),yr.getState().remove(e.sessionID,e.id)}catch{s(`cancel`)}finally{a(!1)}}});return(0,$.jsxs)(wH,{mobile:r,header:(0,$.jsx)(`div`,{className:`typography-meta font-medium text-muted-foreground`,children:e.title||n(`chat.form.title`)}),footer:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Xn,{type:`button`,variant:`default`,size:`sm`,onClick:()=>void d(),disabled:i,children:n(`chat.form.reply`)}),(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void f(),disabled:i,children:n(`chat.form.cancel`)})]}),children:[(0,$.jsx)(`div`,{className:`space-y-2`,children:e.fields.map(e=>{if(e.type===`external`)return(0,$.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,className:`block typography-meta text-primary underline`,children:e.title||e.url},e.key);if(e.type===`boolean`)return(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta`,children:[(0,$.jsx)(_s,{checked:!!c[e.key],onChange:t=>u(e.key,t),disabled:i}),(0,$.jsx)(`span`,{children:e.title||e.key})]},e.key);if(e.type===`multiselect`){let t=Array.isArray(c[e.key])?c[e.key]:[];return(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e.title||e.key}),e.options.map(n=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta`,children:[(0,$.jsx)(_s,{checked:t.includes(n.value),onChange:r=>{let i=r?[...t,n.value]:t.filter(e=>e!==n.value);u(e.key,i)},disabled:i}),(0,$.jsx)(`span`,{children:n.label})]},n.value))]},e.key)}if(e.type===`number`||e.type===`integer`)return(0,$.jsxs)(`label`,{className:`block space-y-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.title||e.key}),(0,$.jsx)(Rs,{type:`number`,value:typeof c[e.key]==`number`?String(c[e.key]):``,onChange:t=>u(e.key,t.target.value===``?``:Number(t.target.value)),disabled:i})]},e.key);let t=e.type===`string`?e.options:void 0;return t&&t.length>0?(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.title||e.key}),e.description?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e.description}):null,(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,role:`group`,"aria-label":e.title||e.key,children:t.map(t=>(0,$.jsx)(Xn,{type:`button`,variant:`chip`,size:`sm`,"aria-pressed":c[e.key]===t.value,disabled:i,onClick:()=>u(e.key,t.value),children:t.label},t.value))}),e.type===`string`&&e.custom?(0,$.jsx)(Rs,{"aria-label":e.title||e.key,value:typeof c[e.key]==`string`?c[e.key]:``,disabled:i,onChange:t=>u(e.key,t.target.value)}):null]},e.key):(0,$.jsxs)(`label`,{className:`block space-y-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.title||e.key}),(0,$.jsx)(Rs,{value:typeof c[e.key]==`string`?c[e.key]:``,placeholder:e.type===`string`?e.placeholder:void 0,onChange:t=>u(e.key,t.target.value),disabled:i})]},e.key)})}),o?(0,$.jsx)(`div`,{role:`alert`,className:`mt-2 typography-meta text-[var(--status-error)]`,children:n(o===`reply`?`chat.questionCard.submitFailed`:`chat.questionCard.dismissFailed`)}):null]})};function VH(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function HH(e){return typeof e==`string`&&e.length>0?e:void 0}function UH(e){if(!VH(e))return null;let t=HH(e.reason),n=HH(e.provider),r=HH(e.title),i=HH(e.message),a=HH(e.label);return!t||!n||!r||!i||!a?null:{reason:t,provider:n,title:r,message:i,label:a,...HH(e.link)?{link:HH(e.link)}:{}}}function WH(e){return!VH(e)||e.type!==`retry`?!1:UH(e.action)!==null}function GH(e,t){if(!WH(e))return null;let n=e.action,r=n.reason===`account_rate_limit`?t(`chat.retry.action.account`):t(`chat.retry.action.quota`);return{title:n.title||r,message:n.message||e.message||r,label:n.label||t(`chat.retry.action.open`),...n.link?{link:n.link}:{}}}function KH(e){return e.filter(e=>e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
|
|
6603
|
-
`)}function qH(e,t=80){let n=KH(e).replace(/\n/g,` `);return n.length>t?`${n.slice(0,t)}…`:n}var JH=new Set;function YH(e,t){let n=(0,Q.c)(4),[r,i]=Z.useState(JH),a,o;return n[0]!==e||n[1]!==t?(a=()=>{let n=e?.current;if(i(JH),!n||!t||typeof IntersectionObserver>`u`)return;let r=new Map,a=new Set,o=()=>{let e=new Set;for(let t of a){let n=r.get(t);n&&e.add(n)}i(t=>t.size===e.size&&[...e].every(e=>t.has(e))?t:e)},s=new IntersectionObserver(e=>{for(let t of e)r.has(t.target)&&(t.isIntersecting&&t.intersectionRect.height>0?a.add(t.target):a.delete(t.target));o()},{root:n,threshold:0}),c=XH,l=e=>{if(r.has(e))return;let n=e.dataset.scrollSpyId??e.dataset.turnId??e.dataset.messageId,i=n?t.get(n):void 0;i&&(r.set(e,i),s.observe(e))},u=e=>{s.unobserve(e),r.delete(e),a.delete(e)};c(n,l);let d=new MutationObserver(e=>{for(let t of e){if(t.type===`attributes`&&t.target instanceof HTMLElement){u(t.target),l(t.target);continue}t.removedNodes.forEach(e=>c(e,u)),t.addedNodes.forEach(e=>c(e,l))}o()});return d.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-turn-id`,`data-message-id`,`data-scroll-spy-id`]}),()=>{d.disconnect(),s.disconnect()}},o=[e,t],n[0]=e,n[1]=t,n[2]=a,n[3]=o):(a=n[2],o=n[3]),Z.useEffect(a,o),r}function XH(e,t){e instanceof HTMLElement&&(e.matches(`[data-turn-id], [data-message-id]`)&&t(e),e.querySelectorAll(`[data-turn-id], [data-message-id]`).forEach(t))}var ZH=160,QH=28,$H=12,eU=6,tU=30,nU=12,rU=18,iU=80,aU=4,oU=10,sU=14,cU=20,lU=48,uU=160,dU=(e,t)=>e.map(e=>{let n=t.get(e)??[],r=KH(n),i=B_(r,{citationIcons:K_(n)}),a=[],o=0;for(let e of i)a.push(r.slice(o,e.start)),o=e.end;a.push(r.slice(o));let s=a.join(` `).replace(/\s+/g,` `).trim();return{turnId:e,preview:s.length>ZH?`${s.slice(0,ZH)}…`:s}}),fU=[1,.6,.35,.15],pU=(e,t,n)=>{let r=n?sU:oU;if(t===null)return r;let i=fU[Math.abs(e-t)]??0;return Math.round(r+(cU-r)*i)};function mU({turnIds:e,previewsByTurnId:t,activeTurnId:n,scrollRef:r,turnByMessageId:i,repliesByTurnId:a,onSelectTurn:o,canLoadEarlier:s,isLoadingOlder:c,onLoadEarlier:l}){let{t:u}=Kn(),d=YH(r,i),f=q(e=>e.isPromptNavigatorPanelOpen),p=q(e=>e.setPromptNavigatorPanelOpen),m=Z.useRef(null),h=Z.useRef(null),[g,_]=Z.useState(null),[v,y]=Z.useState(0),[b,x]=Z.useState(!1);Z.useEffect(()=>{let e=h.current?.parentElement;if(!e||typeof ResizeObserver>`u`)return;let t=()=>{let t=e.querySelector(`.chat-message-column`);if(!t){x(!1);return}let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.left+eU+QH;x(r.left<i)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let S=Z.useMemo(()=>dU(e,t),[t,e]),C=Math.min(S.length,tU),w=Math.max(0,S.length-C),T=Math.min(v,w),E=T+C,D=T>0,O=E<S.length,k=u(`chat.timeline.noTextContent`),A=u(`chat.promptNavigator.loadMore`),j=Z.useMemo(()=>n?S.findIndex(e=>e.turnId===n):-1,[n,S]),M=Z.useRef(T);M.current=T;let N=Z.useRef(S.length);N.current=S.length;let P=Z.useRef(null),F=Z.useRef(null),I=Z.useRef(0),L=Z.useCallback(e=>{y(t=>{let n=N.current,r=Math.min(n,tU),i=Math.max(0,n-r),a=Math.min(t,i);return e<a?e:e>=a+r?Math.min(i,e-r+1):a})},[]),R=Z.useRef(S[0]?.turnId),z=Z.useRef(S.length);Z.useLayoutEffect(()=>{let e=R.current,t=z.current,n=S.length-t;n>0&&t>0&&e&&S[0]?.turnId!==e&&(y(e=>e+n),_(e=>e===null?null:e+n)),R.current=S[0]?.turnId,z.current=S.length},[S]),Z.useEffect(()=>{if(g!==null)return;let e=j>=0?j:S.length-1;y(()=>{let t=N.current,n=Math.min(t,tU),r=Math.max(0,t-n);return Math.max(0,Math.min(r,e-Math.floor(n/2)))})},[j,g,S.length]);let B=Z.useCallback(e=>{let t=m.current;if(!t)return null;let n=t.getBoundingClientRect(),r=Math.floor((e-n.top)/nU),i=Math.min(N.current,tU);return i===0?null:Math.max(0,Math.min(i-1,r))},[]),V=Z.useCallback(()=>{I.current=0,F.current!==null&&(window.clearInterval(F.current),F.current=null)},[]),H=Z.useCallback(()=>{let e=I.current;if(e===0){V();return}let t=N.current,n=Math.max(0,t-Math.min(t,tU)),r=Math.min(M.current,n),i=Math.max(0,Math.min(n,r+e));if(i===r){V();return}M.current=i,y(i);let a=P.current;if(a!==null){let e=B(a);e!==null&&_(Math.min(t-1,i+e))}},[B,V]),ee=Z.useCallback(e=>{let t=m.current;if(!t)return;let n=t.getBoundingClientRect(),r=e-n.top,i=0;if(r<=rU&&D?i=-1:r>=n.height-rU&&O&&(i=1),I.current=i,i===0){V();return}F.current===null&&(F.current=window.setInterval(H,iU))},[H,D,O,V]);Z.useEffect(()=>()=>{F.current!==null&&window.clearInterval(F.current)},[]);let U=Z.useRef(null),te=Z.useCallback(()=>{U.current!==null&&(window.clearTimeout(U.current),U.current=null)},[]),ne=Z.useCallback(()=>{te(),U.current=window.setTimeout(()=>{U.current=null,_(null)},uU)},[te]);Z.useEffect(()=>()=>{U.current!==null&&window.clearTimeout(U.current)},[]);let W=Z.useCallback(e=>{te(),P.current=e.clientY;let t=B(e.clientY);t!==null&&_(Math.min(N.current-1,M.current+t)),ee(e.clientY)},[te,B,ee]),G=Z.useCallback(()=>{P.current=null,V(),ne()},[ne,V]),re=Z.useCallback(()=>{p(!1)},[p]),ie=Z.useCallback(e=>{if(e===null)return;let t=S[e];t&&(o(t.turnId),V(),_(null),re(),m.current?.blur())},[re,o,S,V]),ae=Z.useCallback(e=>{let t=B(e.clientY);t!==null&&ie(Math.min(S.length-1,M.current+t))},[ie,S.length,B]);Z.useEffect(()=>{if(!f)return;let e=m.current;!e||e===document.activeElement||(e.focus(),_(e=>{if(e!==null)return e;let t=j>=0?j:S.length-1;return L(t),t}))},[j,L,f,S.length]),Z.useEffect(()=>()=>{p(!1)},[p]);let oe=Z.useCallback(e=>{if(S.length===0)return;let t=g??(j>=0?j:S.length-1),n=e=>{let t=Math.max(0,Math.min(S.length-1,e));L(t),_(t)};if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault(),n(t+(e.key===`ArrowUp`?-1:1));return}if(e.key===`Home`){e.preventDefault(),n(0);return}if(e.key===`End`){e.preventDefault(),n(S.length-1);return}if(e.key===`Enter`||e.key===` `){e.preventDefault(),ie(t);return}e.key===`Escape`&&(e.preventDefault(),_(null),re(),m.current?.blur())},[j,re,L,ie,g,S.length]),se=Z.useCallback(()=>{V(),_(null),re()},[re,V]),K=Z.useRef(null),ce=Z.useRef(g);ce.current=g;let le=g!==null,ue=Z.useRef(0);Z.useEffect(()=>{let e=K.current;if(!e)return;let t=e=>{e.preventDefault(),e.stopPropagation(),ue.current+=e.deltaY;let t=Math.trunc(ue.current/lU);if(t===0)return;ue.current-=t*lU;let n=ce.current;if(n===null)return;let r=Math.max(0,Math.min(N.current-1,n+t));r!==n&&(L(r),_(r))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[L,le]);let de=g===null?void 0:S[g],fe=de?a?.get(de.turnId):void 0,pe=Math.max(0,T-aU),me=Math.min(S.length,E+aU),he=S.slice(pe,me),ge=D||O?`linear-gradient(to bottom, ${D?`transparent, black 14%`:`black`}, ${O?`black 86%, transparent`:`black`})`:void 0;return S.length===0?null:(0,$.jsx)(`nav`,{ref:h,"aria-label":u(`chat.promptNavigator.aria`),className:`pointer-events-none absolute left-1.5 top-1/2 z-20 -translate-y-1/2`,children:(0,$.jsxs)(`div`,{className:`pointer-events-auto flex flex-col items-start`,children:[s?(0,$.jsx)(`button`,{type:`button`,tabIndex:-1,className:Y(`-ml-px mb-1.5 flex size-5 shrink-0 items-center justify-center rounded-full`,`text-[var(--surface-mutedForeground)] transition-colors`,`hover:bg-[var(--interactive-hover)]/60 hover:text-[var(--surface-foreground)]`,c?`cursor-wait opacity-70`:void 0),"aria-label":A,title:A,disabled:c,onClick:e=>{e.stopPropagation(),c||l()},children:c?(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{name:`arrow-up-s`,className:`size-3.5`})}):null,(0,$.jsxs)(`div`,{ref:m,role:`listbox`,tabIndex:-1,"aria-activedescendant":de?`prompt-rail-tick-${de.turnId}`:void 0,className:`relative cursor-pointer outline-none`,style:{width:`${b?$H:QH}px`,height:`${C*nU}px`},onMouseMove:W,onMouseLeave:G,onClick:ae,onKeyDown:oe,onBlur:se,children:[(0,$.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,style:ge?{maskImage:ge,WebkitMaskImage:ge}:void 0,children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-300 ease-out`,style:{transform:`translateY(-${T*nU}px)`},children:he.map((e,t)=>{let n=pe+t,r=d.has(e.turnId),i=g===n,a=pU(n,g,r);return(0,$.jsx)(`div`,{id:`prompt-rail-tick-${e.turnId}`,role:`option`,"aria-selected":i,"aria-current":r?`true`:void 0,"aria-label":e.preview.trim()||k,className:`pointer-events-none absolute left-1 flex items-center justify-start`,style:{top:`${n*nU}px`,height:`${nU}px`},children:(0,$.jsx)(`span`,{"aria-hidden":`true`,className:Y(`block h-0.5 rounded-full transition-all duration-200 ease-out`,r?`bg-[var(--surface-foreground)]`:i?`bg-[var(--surface-foreground)]/80`:`bg-[var(--surface-foreground)]/30`),style:{width:`${a}px`}})},e.turnId)})},S[0]?.turnId)}),de&&g!==null?(0,$.jsxs)(`div`,{ref:K,className:Y(`pointer-events-auto absolute left-full z-30 ml-3 -translate-y-1/2`,`w-[min(20rem,calc(100vw-6rem))] overflow-hidden rounded-xl`,`bg-[var(--surface-elevated)] p-3 typography-meta`),style:{top:`${(g-T+.5)*nU}px`},onMouseEnter:te,onMouseLeave:ne,onMouseMove:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),ie(g)},children:[(0,$.jsx)(`p`,{className:`truncate font-medium leading-relaxed text-[var(--surface-foreground)]`,children:de.preview||k}),fe?(0,$.jsx)(`p`,{className:`mt-2 line-clamp-4 whitespace-pre-line [overflow-wrap:anywhere] leading-relaxed text-[var(--surface-mutedForeground)]`,children:fe}):null]}):null]})]})})}var hU=100,gU=(e,t)=>{if(e.length===0)return;let n=0,r=e.length-1,i=0;for(;n<=r;){let a=n+r>>1,o=e[a]?.top;if(o===void 0)break;if(o<=t){i=a,n=a+1;continue}r=a-1}return e[i]?.id},_U=e=>{let t=e.raf??requestAnimationFrame,n=e.caf??cancelAnimationFrame,r=e.ResizeObserver??globalThis.ResizeObserver,i=e.MutationObserver??globalThis.MutationObserver,a,o,s,c,l,u,d=!0,f=new Map,p=[],m=()=>{c===void 0&&(c=t(()=>{c=void 0,g()}))},h=()=>{let e=a;if(!e){p=[],d=!1;return}let t=e.getBoundingClientRect().top;p=[...f].map(([n,r])=>({id:n,top:r.getBoundingClientRect().top-t+e.scrollTop})),p.sort((e,t)=>e.top-t.top),d=!1},g=()=>{let t=a;if(!t)return;d&&h();let n=gU(p,t.scrollTop+hU);!n||n===u||(u=n,e.onActive(n))},_=()=>{let e=a;if(e){if(clearTimeout(l),l=void 0,o?.disconnect(),o=void 0,r){o=new r(()=>{clearTimeout(l),l=setTimeout(()=>{d=!0,m()},100)}),o.observe(e);for(let e of f.values())o.observe(e)}if(s?.disconnect(),s=void 0,i){s=new i(()=>{d=!0,m()});let t={subtree:!0,childList:!0};r||(t.characterData=!0,t.characterDataOldValue=!1),s.observe(e,t)}d=!0,m()}},v=e=>{a!==e&&(a=e,u=void 0,_())},y=(e,t)=>{let n=f.get(t);n&&n!==e&&o?.unobserve(n),f.set(t,e),o&&o.observe(e),d=!0,m()},b=e=>{let t=f.get(e);t&&(o?.unobserve(t),f.delete(e),d=!0,m())},x=()=>{d=!0,m()},S=()=>{for(let e of f.values())o?.unobserve(e);f.clear(),p=[],u=void 0,d=!0};return{setContainer:v,register:y,unregister:b,onScroll:m,markDirty:x,clear:S,destroy:()=>{c!==void 0&&n(c),c=void 0,clearTimeout(l),l=void 0,S(),o?.disconnect(),s?.disconnect(),o=void 0,s=void 0,a=void 0},getActiveId:()=>u}},vU=10,yU=`${vU}vh`,bU=`144px`,xU=`calc(${bU} + var(--oc-chat-foot-inset))`,SU=(e,t)=>e?144:t<=0?96:Math.max(48,vU/100*t),CU=(e,t)=>({sessionId:e,viewportKey:t}),wU=(e,t)=>e?.sessionId===t?.sessionId&&e?.viewportKey===t?.viewportKey,TU=(e,t)=>wU(e,t),EU=(e,t,n)=>({identity:e,anchor:t,scrollPosition:n}),DU=150,OU=1500,kU=2,AU=350,jU=600,MU=8e3,NU=24,PU=2,FU=(e,t)=>e<t,IU=()=>typeof performance<`u`?performance.now():Date.now(),LU=e=>({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}),RU=e=>e.scrollHeight-e.scrollTop-e.clientHeight,zU=e=>RU(LU(e)),BU=e=>e.scrollHeight-e.clientHeight>1,VU=(e,t)=>RU(e)<=SU(t,e.clientHeight),HU=({enabled:e=!0,scrollControllerRef:t,currentSessionId:n,viewportKey:r,sessionMessageCount:i,sessionIsWorking:a,isMobile:o,onActiveTurnChange:s,onUpwardUserIntent:c})=>{let l=Z.useRef(null),[u,d]=Z.useState(null),f=Z.useRef(null),[p,m]=Z.useState(`following`),[h,g]=Z.useState(!1),[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),x=Z.useRef(`following`),S=Z.useRef(o);S.current=o;let C=Z.useRef(i);C.current=i;let w=Z.useRef(CU(n,r));w.current=CU(n,r);let T=Z.useRef(null),E=Z.useRef(null),D=Z.useRef(null),O=Z.useRef(0),k=Z.useRef(null),A=Z.useRef(null),j=Z.useRef(0),M=Z.useRef(!1),N=Z.useRef(!1),P=Z.useRef(null),F=Z.useRef(0),I=Z.useRef(!1),L=Z.useRef(null),R=Z.useRef(null),z=J(()=>{F.current=IU()+450,R.current=null}),B=Z.useRef(0),V=Z.useRef(!1),H=Z.useRef(null),ee=Z.useRef(null),U=Z.useRef(0),te=Z.useRef(!1),ne=Z.useRef(null),W=Z.useRef(null),G=Z.useRef(null),re=pr(e=>e.updateViewportAnchor);Z.useLayoutEffect(()=>{l.current!==f.current&&(f.current=l.current,d(l.current))});let ie=J(e=>{x.current!==e&&(x.current=e,m(e))}),ae=J(e=>{E.current={top:Math.max(0,e.scrollHeight-e.clientHeight),time:IU()},D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{E.current=null,D.current=null},OU)}),oe=J(e=>{let t=E.current;return t?IU()-t.time>OU?(E.current=null,!1):Math.abs(e.scrollTop-t.top)<kU:!1}),se=J(()=>IU()<j.current),K=J(()=>{V.current=!1,H.current&&=(clearTimeout(H.current),null),ee.current&&=(clearTimeout(ee.current),null)}),ce=J(()=>{H.current&&clearTimeout(H.current),H.current=setTimeout(()=>{H.current=null,K()},jU)}),le=J(()=>{let e=l.current;e&&(V.current=!0,U.current=e.scrollHeight,ce(),ee.current&&clearTimeout(ee.current),ee.current=setTimeout(()=>{ee.current=null,K()},MU))}),ue=J(e=>{let t=l.current;if(!t){g(!1),v(!1);return}let n=e??LU(t),r=BU(n);if(g(r),!r){v(!1);return}let i=x.current===`released`&&!VU(n,S.current);v(i)}),de=J(()=>{O.current+=1,k.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(k.current),k.current=null),A.current?.(),A.current=null});Z.useEffect(()=>()=>de(),[u]);let fe=J(()=>{if(!e)return;let n=l.current;if(!n)return;if(de(),t?.current?.scrollToBottom({behavior:`auto`,reveal:!1})){ae(n),ue();return}let r=O.current,i=n.style.overflowX,a=n.style.overflowY,o=n.style.scrollBehavior;n.style.scrollBehavior=`auto`,n.style.overflow=`hidden`,n.scrollTop=n.scrollHeight,n.scrollHeight,n.style.overflowX=i,n.style.overflowY=a,n.style.scrollBehavior=o;let s=()=>{ae(n),n.scrollTop=n.scrollHeight,B.current=n.scrollTop};if(s(),ue(),typeof window>`u`)return;let c=0,u=()=>{FU(IU(),F.current)||de()};n.addEventListener(`touchstart`,u,{passive:!0,once:!0}),A.current=()=>n.removeEventListener(`touchstart`,u);let d=()=>{if(r===O.current){if(zU(n)>PU&&s(),c+=1,c>=NU){k.current=null,A.current?.(),A.current=null,ue();return}k.current=window.requestAnimationFrame(d)}};k.current=window.requestAnimationFrame(d)}),pe=J(e=>{let n=l.current;if(n&&(ae(n),!t?.current?.scrollToBottom({behavior:e,reveal:!1}))){if(e===`smooth`){n.scrollTo({top:n.scrollHeight,behavior:e});return}n.scrollTop=n.scrollHeight}}),me=J((t,n=`auto`)=>{if(!e)return;let r=l.current;if(t&&x.current!==`following`&&ie(`following`),r&&!(!t&&x.current!==`following`)){if(zU(r)<kU){ae(r);return}pe(t?n:`auto`)}}),he=J(e=>{let t=l.current;if(!t)return;let n=e??LU(t);BU(n)&&x.current!==`released`&&(ie(`released`),ue(n))}),ge=J((e=`instant`,n)=>{if(I.current=!1,te.current=!1,ie(`following`),K(),de(),t?.current?.scrollToBottom({behavior:e===`smooth`?`smooth`:`auto`,...n})){let e=l.current;e&&ae(e),ue();return}if(e===`instant`){fe();return}de(),me(!0,`smooth`),ue()}),_e=J(()=>{te.current=!1,me(!0)}),ve=J(()=>{I.current=!1,de(),t?.current?.cancelScroll(),K(),ie(`released`),ue()}),ye=J(()=>{te.current=!0,ve()}),be=J(()=>{te.current=!1}),xe=Z.useRef(c);xe.current=c;let Se=J(()=>{FU(IU(),F.current)||(I.current=!1,de(),t?.current?.cancelScroll(),K(),he())}),Ce=J(()=>{F.current=0,Se(),xe.current?.()}),we=J(()=>{ne.current!==null&&(clearTimeout(ne.current),ne.current=null);let e=W.current;if(e){if(!e.identity.sessionId){W.current=null;return}re(e.identity.sessionId,e.anchor,e.scrollPosition,e.identity.viewportKey),W.current=null}}),Te=J(()=>{let e=w.current;if(!e.sessionId)return;let t=l.current;if(!t)return;let{scrollTop:n,scrollHeight:r,clientHeight:i}=t,a=r>0?(n+i/2)/r:0,o=Math.floor(a*C.current);W.current=EU(e,o,{scrollTop:n,scrollHeight:r,clientHeight:i}),ne.current===null&&(ne.current=setTimeout(()=>{ne.current=null,we()},DU))}),Ee=J(()=>{we()}),De=J(async(e=w.current)=>{if(!e.sessionId||x.current===`released`&&wU(e,T.current))return!1;te.current=!1;let t=l.current;return t?(G.current=null,ie(`following`),z(),S.current?fe():me(!0),B.current=t.scrollTop,le(),ue(),!1):(G.current=e,ie(`following`),!1)});Z.useEffect(()=>{let e=w.current,t=T.current;wU(e,t)||(we(),de(),z(),T.current=e,I.current=!1,L.current=null,E.current=null,B.current=0,K(),te.current=!1,ie(`following`),G.current=null,n&&n!==t?.sessionId&&pO.getInstance().recordSessionStart(n))},[n,r]),Z.useEffect(()=>{a&&!te.current&&x.current===`following`&&me(!0)},[a]),Z.useEffect(()=>{b(p===`following`&&a)},[p,a]),Z.useLayoutEffect(()=>{if(!u)return;let e=G.current;e&&TU(e,w.current)&&De(e)},[u,n,r]);let Oe=J(()=>{let e=l.current;if(!e)return;let t=LU(e),n=B.current;B.current=t.scrollTop;let r=t.scrollTop>n+.5,i=Math.abs(t.scrollTop-n)<.5;if(ue(t),te.current){Te();return}if(BU(t)){if(VU(t,S.current)){let e=Math.min(n,Math.max(0,t.scrollHeight-t.clientHeight));if(t.scrollTop<e-.5){Se(),Te();return}(x.current===`following`||r&&I.current)&&(ie(`following`),I.current=!1),Te();return}if(x.current===`following`&&(oe(e)||se()||i)){M.current||me(!1),Te();return}(x.current===`following`||!r)&&Se(),Te()}});Z.useEffect(()=>{!e||!u||(B.current=u.scrollTop)},[u,e]);let ke=J(e=>{let t=l.current;if(t){if(e.deltaY>0){Vl(t,e.target)||(I.current=!0);return}e.deltaY>=0||Ul(t,e.target)||Ce()}}),Ae=J(e=>{I.current=!1;let t=e.touches.item(0);R.current=t?{x:t.clientX,y:t.clientY,dx:0,dy:0}:null}),je=J(e=>{let t=l.current,n=e.touches.item(0);if(!n){R.current=null;return}let r=R.current;if(!r)return;let i=n.clientY-r.y,a=i*r.dy<0,o=(a?0:r.dx)+n.clientX-r.x,s=(a?0:r.dy)+i;if(R.current={x:n.clientX,y:n.clientY,dx:o,dy:s},!(Math.abs(o)>=Math.abs(s))&&t){if(s<-2){Vl(t,e.target)||(I.current=!0);return}if(!(s<=0)){if(Ul(t,e.target)){R.current.dx=0,R.current.dy=0;return}s<=2||Ce()}}}),Me=J(()=>{R.current=null}),Ne=J(e=>{let t=e.target;if(!(e.defaultPrevented||t instanceof HTMLElement&&(t.isContentEditable||t.closest(`input, textarea, select`)))){if(!e.altKey&&!e.ctrlKey&&!e.metaKey&&[`ArrowDown`,`PageDown`,`End`].includes(e.key)){let e=l.current;e&&!Vl(e,t)&&(I.current=!0);return}Al(e)&&Ce()}}),Pe=J(e=>{let t=e.target;t instanceof Element&&t.closest(`[data-overlay-scrollbar-thumb]`)&&(F.current=0,Se(),L.current={id:e.pointerId,y:e.clientY})}),Fe=J(e=>{let t=L.current;!t||t.id!==e.pointerId||(e.clientY!==t.y&&(I.current=e.clientY>t.y),t.y=e.clientY)}),Ie=J(()=>{L.current=null}),Le=J(()=>{I.current=!1}),Re=Z.useMemo(()=>()=>void 0,[]),ze=e&&u?u:Re,Be=Z.useMemo(()=>({passive:!0}),[]);Hn(`scroll`,Oe,ze,Be),Hn(`scrollend`,Le,ze,Be),Hn(`wheel`,ke,ze,Be),Hn(`touchstart`,Ae,ze,Be),Hn(`touchmove`,je,ze,Be),Hn(`touchend`,Me,ze,Be),Hn(`touchcancel`,Me,ze,Be),Hn(`keydown`,Ne,ze),Hn(`pointermove`,Fe,e&&typeof window<`u`?window:Re,!0),Hn(`pointerup`,Ie,e&&typeof window<`u`?window:Re,!0),Hn(`pointercancel`,Ie,e&&typeof window<`u`?window:Re,!0),Hn(`pointerdown`,Pe,e&&typeof window<`u`?window:Re,!0);let Ve=J(()=>{let e=l.current;if(M.current){ue(e?LU(e):void 0);return}if(te.current){ue(e?LU(e):void 0);return}if(!e){ue(void 0);return}let t=LU(e);if(!BU(t)){ue(t);return}if(ue(t),V.current){let n=t.scrollHeight>U.current+1;U.current=t.scrollHeight,RU(t)<=kU?ae(e):me(!0),n&&ce();return}if(x.current===`following`){if(RU(t)<=kU){ae(e);return}me(!1)}}),He=typeof ResizeObserver<`u`,Ue=He&&e?u:null,We=He&&e&&u&&u.firstElementChild instanceof Element?u.firstElementChild:null;Ln(Ue,Ve),Ln(We,Ve);let Ge=J(()=>{P.current!==null&&(clearTimeout(P.current),P.current=null)}),Ke=J(e=>{M.current=!0,typeof e==`number`&&e>0?j.current=IU()+e+AU:j.current=Math.max(j.current,IU()+AU)}),qe=J(e=>{let t=e.detail;if(t){if(t.open===!0){Ke(),Ge(),P.current=setTimeout(()=>{P.current=null,N.current||(M.current=!1)},1500);return}Ge(),Ke()}}),Je=J(e=>{let t=e.detail;t&&(Ge(),Ke(t.durationMs))}),Ye=J(e=>{let t=e.detail;Ge(),t?.open===!0?(N.current=!0,M.current=!0):(N.current=!1,M.current=!0,P.current=setTimeout(()=>{P.current=null,N.current||(M.current=!1)},AU)),ue()}),Xe=e&&typeof window<`u`?window:Re;Hn(`oc:keyboard-intent`,qe,Xe),Hn(`oc:keyboard-anim`,Je,Xe),Hn(`oc:keyboard-settled`,Ye,Xe),Z.useEffect(()=>{if(!(!e||typeof window>`u`))return()=>{Ge(),M.current=!1,N.current=!1}},[e]),Z.useEffect(()=>{e&&ue()},[e,i]);let Ze=J(t=>{if(e){if(t===`animation`&&(j.current=IU()+AU),ue(),V.current){me(!0),ce();return}x.current===`following`&&me(!1)}}),Qe=Z.useRef(new Map),$e=J(t=>{let n=Qe.current.get(t);if(n)return n;let r=()=>{e&&x.current===`following`&&me(!1)},i={onChunk:r,onComplete:()=>{e&&ue()},onStreamingCandidate:()=>{},onAnimationStart:()=>{},onAnimatedHeightChange:r,onReservationCancelled:()=>{},onReasoningBlock:()=>{}};return Qe.current.set(t,i),i});Z.useEffect(()=>()=>{D.current&&=(clearTimeout(D.current),null),de(),K(),we(),ne.current!==null&&(clearTimeout(ne.current),ne.current=null)},[]);let et=J(e=>{s?.(e)}),tt=!!s;return Z.useEffect(()=>{if(!e||!tt)return;let t=u;if(!t)return;let n=null,r=_U({onActive:e=>{e!==n&&(n=e,et(e))}});r.setContainer(t);let i=new Map,a=e=>{let t=e.dataset.turnId;return t?(i.set(t,e),r.register(e,t),!0):!1},o=e=>{let t=e.dataset.turnId;return!t||i.get(t)!==e?!1:(i.delete(t),r.unregister(t),!0)},s=e=>{if(!(e instanceof HTMLElement))return[];let t=[];return e.matches(`[data-turn-id]`)&&t.push(e),e.querySelectorAll(`[data-turn-id]`).forEach(e=>t.push(e)),t};t.querySelectorAll(`[data-turn-id]`).forEach(a),r.markDirty();let c=new MutationObserver(e=>{let t=!1;e.forEach(e=>{e.removedNodes.forEach(e=>{s(e).forEach(e=>{o(e)&&(t=!0)})}),e.addedNodes.forEach(e=>{s(e).forEach(e=>{a(e)&&(t=!0)})})}),t&&r.markDirty()});c.observe(t,{subtree:!0,childList:!0});let l=()=>r.onScroll();return t.addEventListener(`scroll`,l,{passive:!0}),()=>{t.removeEventListener(`scroll`,l),c.disconnect(),r.destroy()}},[u,e,tt]),{scrollRef:l,state:p,isPinned:p===`following`,isOverflowing:h,isFollowingProgrammatically:y,showScrollButton:_,notifyContentChange:Ze,getAnimationHandlers:$e,goToBottom:ge,scrollToBottomOnSend:_e,releaseAutoFollow:ve,beginHistoryViewportPreservation:ye,endHistoryViewportPreservation:be,saveSnapshotNow:Ee,restoreSnapshot:De}},UU=`--oc-mobile-composer-swap`,WU=`--oc-native-composer-dock`,GU=()=>({phase:`rest`,rest:`expanded`,progress:0,pinned:!1}),KU=(e,t,n)=>Math.min(n,Math.max(t,e)),qU=(e,t)=>e.phase===t.phase&&e.rest===t.rest&&e.progress===t.progress&&e.pinned===t.pinned,JU=(e,t)=>{let n={phase:t.phase,rest:t.rest,progress:t.progress,pinned:t.pinned??e.pinned};return qU(e,n)?e:n},YU=(e,t)=>t?JU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0}):e.pinned?JU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!1}):e,XU=(e,t)=>{if(e.pinned&&t===`compact`)return e;let n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:JU(e,{phase:`snapping`,rest:t,progress:n})},ZU=e=>KU(e/80,0,1),QU=e=>e>=80?1:KU(e/80,0,1),$U=(e,t,n={})=>{if(e.pinned||n.userDriven===!1)return e;let r=Math.max(0,t),i=e.phase===`snapping`?JU(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e;if(i.rest===`expanded`){if(r<=2||n.holdExpanded)return JU(i,{phase:`rest`,rest:`expanded`,progress:0});let e=ZU(r);return e>=1?JU(i,{phase:`rest`,rest:`compact`,progress:1}):JU(i,{phase:`tracking`,rest:`expanded`,progress:e})}if(r<=2)return JU(i,{phase:`rest`,rest:`expanded`,progress:0});if(n.suppressReturn)return JU(i,{phase:`rest`,rest:`compact`,progress:1});if(n.towardBottom&&r>=80)return JU(i,{phase:`snapping`,rest:`expanded`,progress:0});let a=QU(r);return a>=1?JU(i,{phase:`rest`,rest:`compact`,progress:1}):JU(i,{phase:`tracking`,rest:`compact`,progress:a})},eW=e=>e.pinned?`expanded`:e.rest===`expanded`?e.progress>=.5?`compact`:`expanded`:e.progress<=.5?`expanded`:`compact`,tW=e=>{if(e.pinned)return JU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0});if(e.phase===`snapping`)return e;let t=eW(e),n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:JU(e,{phase:`snapping`,rest:t,progress:n})},nW=e=>e.phase===`snapping`?JU(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e,rW=e=>KU(Math.max(0,e)/80,0,1),iW=(e,t=`away`)=>{let n=Math.max(0,e);return n<=2?{progress:0,rest:`bottom`}:t===`away`||n>=40?{progress:1,rest:`away`}:{progress:rW(n),rest:`bottom`}},aW=e=>{e.style.removeProperty(UU),e.style.removeProperty(WU),delete e.dataset.ocComposerSwapPhase,delete e.dataset.ocComposerSwapRest,delete e.dataset.ocNativeComposerDock},oW=(e,t,n)=>{let r=iW(t,n?.rest===`bottom`?`bottom`:`away`),i=String(r.progress),a=r.rest;return n?.progress!==i&&e.style.setProperty(WU,i),n?.rest!==a&&(e.dataset.ocNativeComposerDock=a),{progress:i,rest:a}},sW=(e,t,n)=>{let r=String(t.progress),i=t.phase,a=t.rest;return n?.phase!==i&&(e.dataset.ocComposerSwapPhase=i,i===`snapping`&&n&&n.phase!==`snapping`&&e.offsetWidth),n?.progress!==r&&e.style.setProperty(UU,r),n?.rest!==a&&(e.dataset.ocComposerSwapRest=a),{progress:r,phase:i,rest:a}},cW=e=>({scrollHeight:e.scrollHeight,scrollTop:e.scrollTop,clientHeight:e.clientHeight}),lW=()=>{let e=document.documentElement;return e.classList.contains(`oc-keyboard-open`)||e.classList.contains(`oc-kb-animating`)},uW=e=>{if(lW()||e.querySelector(`[data-oc-composer-dictation-active="true"]`)||e.querySelector(`[data-composer-height-snap="full"], [data-mobile-composer-resizing="true"]`))return!0;let t=document.activeElement;return t instanceof HTMLElement&&t.matches(`textarea[data-chat-input="true"]`)&&e.contains(t)},dW=e=>{let t=Z.useRef(GU()),n=Z.useRef(void 0),r=Z.useRef(void 0),i=Z.useRef(null),a=Z.useRef(null),o=Z.useRef(0),s=Z.useRef(!1),c=Z.useRef(0),l=Z.useRef(new Map),u=Z.useRef(!1),d=Z.useRef(0),f=Z.useRef(null),p=Z.useRef(null),m=Z.useRef(0),h=Z.useRef(0),g=Z.useRef(!1),_=Z.useRef(e.enabled);_.current=e.enabled;let v=e=>{e.current!==null&&(window.clearTimeout(e.current),e.current=null)},y=J(t=>{let r=e.scopeRef.current;r&&(n.current=sW(r,t,n.current))}),b=J(e=>{e!==t.current&&(t.current=e,y(e))}),x=J(()=>{if(v(a),t.current.phase!==`snapping`)return;let e=t.current.rest;a.current=window.setTimeout(()=>{a.current=null;let n=nW(t.current);b(n),n.rest===`compact`&&e===`compact`&&(o.current=Date.now()+320,s.current=!0)},240)}),S=J(()=>{let n=e.scopeRef.current;!n||!_.current||b(YU(t.current,uW(n)))}),C=J(e=>s.current?Date.now()>=o.current?(s.current=!1,!1):e>=80?(s.current=!1,o.current=0,!1):!0:!1),w=J(()=>{if(v(i),!_.current||c.current>0||t.current.phase!==`tracking`)return;let e=tW(t.current);b(e),x()}),T=J(()=>{u.current=!1,d.current=0;for(let e of l.current.values())e.startX=e.currentX,e.startY=e.currentY}),E=J(e=>{if(!_.current)return;let t=!1;for(let n=0;n<e.changedTouches.length;n+=1){let r=e.changedTouches[n];if(!r)continue;let i=l.current.get(r.identifier);if(!i){l.current.set(r.identifier,{startX:r.clientX,startY:r.clientY,currentX:r.clientX,currentY:r.clientY});continue}i.currentX=r.clientX,i.currentY=r.clientY;let a=Math.abs(i.currentX-i.startX),o=Math.abs(i.currentY-i.startY);o>0&&o>a&&(t=!0)}!t&&!u.current||(u.current=!0,d.current=Date.now(),s.current=!1,o.current=0)}),D=J(t=>{if(_.current){if(c.current===0){l.current.clear(),T(),m.current=0,h.current=0;let t=e.scrollRef.current;if(t){let e=cW(t);p.current=e,f.current=wB(e,SB(t))}}for(let e=0;e<t.changedTouches.length;e+=1){let n=t.changedTouches[e];n&&l.current.set(n.identifier,{startX:n.clientX,startY:n.clientY,currentX:n.clientX,currentY:n.clientY})}c.current=l.current.size,v(i)}}),O=J(()=>{if(!_.current)return;let n=e.scrollRef.current,o=e.scopeRef.current;if(!n||!o)return;let s=uW(o),l=cW(n),y=wB(l,SB(n)),S=f.current,E=p.current;if(f.current=y,p.current=l,n.hasAttribute(`data-oc-timeline-anchoring`)){m.current=0,h.current=0,T();return}r.current=oW(o,y,r.current);let D=u.current&&(c.current>0||Date.now()-d.current<=1200),O=E!==null&&(E.scrollHeight!==l.scrollHeight||E.clientHeight!==l.clientHeight),k=D&&!O,A=S===null?0:S-y;k?A>0?(h.current=0,l.scrollTop>0&&(m.current+=A)):A<0&&(m.current=0,h.current+=-A,h.current>=24&&(g.current=!1)):(m.current=0,h.current=0),k&&y<=2&&(g.current=!1);let j=t.current,M=YU(j,s);if(!s){let e=M.rest===`compact`;M=$U(M,y,{suppressReturn:k&&C(y),towardBottom:m.current>=24,holdExpanded:g.current,userDriven:k}),e&&M.rest===`expanded`&&y>2&&(g.current=!0,m.current=0)}if(b(M),k){if(v(i),M.phase===`snapping`){(j.phase!==`snapping`||j.rest!==M.rest||j.progress!==M.progress)&&x();return}j.phase===`snapping`&&v(a),M.phase===`tracking`&&c.current===0&&(i.current=window.setTimeout(()=>{i.current=null,w()},120))}}),k=J(()=>{u.current&&(c.current>0||Date.now()-d.current<=1200)&&w()}),A=J((e,n)=>{if(_.current){for(let t=0;t<e.changedTouches.length;t+=1){let n=e.changedTouches[t];n&&l.current.delete(n.identifier)}c.current=l.current.size,!(c.current>0)&&(l.current.clear(),n&&u.current?d.current=Date.now():T(),t.current.phase===`tracking`&&(v(i),i.current=window.setTimeout(()=>{i.current=null,w()},120)))}}),j=J(e=>{A(e,!0)}),M=J(e=>{A(e,!1)}),N=J(()=>{let t=e.scopeRef.current;if(!t||typeof window>`u`)return;let n=e=>{e.preventDefault(),e.stopPropagation()};t.addEventListener(`pointerup`,n,!0),t.addEventListener(`click`,n,!0),window.setTimeout(()=>{t.removeEventListener(`pointerup`,n,!0),t.removeEventListener(`click`,n,!0)},240)}),P=J(n=>{if(!_.current)return;let r=n.target;if(!(r instanceof Element)||!r.closest(`[data-oc-composer-compact-surface="true"]`)||r.closest(`[data-composer-action="true"]`))return;let i=r.closest(`.oc-mobile-composer-compact-preview`);n.type===`pointerdown`&&i||n.type===`click`&&!i||(`preventDefault`in n&&n.preventDefault(),`stopPropagation`in n&&n.stopPropagation(),g.current=!0,m.current=0,h.current=0,b(XU(t.current,`expanded`)),x(),N(),(e.scopeRef.current?.querySelector(`textarea[data-chat-input="true"]`))?.focus({preventScroll:!0}))}),[F,I]=Z.useState(null),[L,R]=Z.useState(null),z=Z.useRef(null),B=J(e=>{e&&aW(e),n.current=void 0,r.current=void 0,s.current=!1,o.current=0,c.current=0,l.current.clear(),u.current=!1,d.current=0,f.current=null,p.current=null,m.current=0,h.current=0,g.current=!1,b(GU())});Z.useLayoutEffect(()=>{let t=e.enabled?e.scrollRef.current:null,n=e.enabled?e.scopeRef.current:null;z.current&&z.current!==n&&B(z.current),z.current=n,I(e=>e===t?e:t),R(e=>e===n?e:n)});let V=Z.useMemo(()=>()=>void 0,[]),H=e.enabled&&F?F:V,ee=e.enabled&&L?L:V,U=e.enabled&&typeof window<`u`?window:V,te=Z.useMemo(()=>({passive:!0}),[]);Hn(`scroll`,O,H,te),Hn(`scrollend`,k,H,te),Hn(`touchstart`,D,H,te),Hn(`touchmove`,E,H,te),Hn(`touchend`,j,H,te),Hn(`touchcancel`,M,H,te),Hn(`pointerdown`,P,ee),Hn(`click`,P,ee),Hn(`focusin`,S,ee),Hn(`focusout`,S,ee),Hn(`oc:keyboard-intent`,S,U),Hn(`oc:keyboard-anim`,S,U),Hn(`oc:keyboard-settled`,S,U),Z.useEffect(()=>{if(!e.enabled){B(z.current),z.current=null;return}return S(),O(),()=>{v(i),v(a)}},[e.enabled,F,L])},fW=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},pW=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},mW=e=>{if(!e)return null;let t=fW(e);return`${typeof e.info?.id==`string`?e.info.id:``}::${t}::${pW(e)??``}`},hW=e=>({turnIds:[...e.turnIds],turnMessageStartIndexes:[...e.turnMessageStartIndexes],turnIndexById:new Map(e.turnIndexById),messageToTurnId:new Map(e.messageToTurnId),messageToTurnIndex:new Map(e.messageToTurnIndex),turnCount:e.turnCount}),gW=(e,t,n)=>{if(!e||!t)return null;if(t.length===n.length){let r=-1;for(let e=0;e<n.length;e+=1)if(t[e]!==n[e]){if(r!==-1)return null;r=e}return r===-1||r===n.length-1&&mW(t[r])===mW(n[r])?e:null}if(n.length!==t.length+1)return null;for(let e=0;e<t.length;e+=1)if(t[e]!==n[e])return null;let r=n[n.length-1];if(!r)return null;let i=fW(r),a=r.info.id,o=hW(e);if(i===`user`){let e=o.turnIds.length;return o.turnIds.push(a),o.turnMessageStartIndexes.push(n.length-1),o.turnIndexById.set(a,e),o.messageToTurnId.set(a,a),o.messageToTurnIndex.set(a,e),o.turnCount=o.turnIds.length,o}if(i!==`assistant`){let e=o.turnIds.length-1;if(e<0)return null;let t=o.turnIds[e];return t?(o.messageToTurnId.set(a,t),o.messageToTurnIndex.set(a,e),o):null}let s=pW(r);if(!s)return o;let c=o.turnIndexById.get(s);if(typeof c!=`number`||c<0)return null;let l=o.turnIds[c];return l?(o.messageToTurnId.set(a,l),o.messageToTurnIndex.set(a,c),o):null},_W=e=>{let t=[],n=[],r=new Map,i=new Map,a=new Map,o=new Map,s=-1;return e.forEach((e,c)=>{let l=fW(e),u=e.info.id;if(l===`user`){s=t.length,t.push(u),n.push(c),r.set(u,s),o.set(u,s),i.set(u,u),a.set(u,s);return}if(l!==`assistant`){if(s>=0){let e=t[s];e&&(i.set(u,e),a.set(u,s))}return}let d=pW(e);if(!d)return;let f=o.get(d);if(typeof f!=`number`||f<0)return;let p=t[f];p&&(i.set(u,p),a.set(u,f))}),{turnIds:t,turnMessageStartIndexes:n,turnIndexById:r,messageToTurnId:i,messageToTurnIndex:a,turnCount:t.length}},vW=200,yW={MAX_SESSIONS:3,ZOMBIE_TIMEOUT:6e5},bW=()=>vW,xW=()=>Math.round(bW()*.6),SW={MAX_SESSIONS:yW.MAX_SESSIONS,VIEWPORT_MESSAGES:Math.round(vW*.6),HISTORICAL_MESSAGES:vW,FETCH_BUFFER:20,HISTORY_CHUNK:vW,STREAMING_BUFFER:1/0,ZOMBIE_TIMEOUT:yW.ZOMBIE_TIMEOUT},CW=()=>{let e=bW(),t=xW();return{...SW,HISTORICAL_MESSAGES:e,VIEWPORT_MESSAGES:t,HISTORY_CHUNK:e}},wW=SW,TW=600,EW=6e3,DW=.5,OW=(e,t)=>e.querySelector(`[data-message-id="${CSS.escape(t)}"]`),kW=e=>{let t=e.getBoundingClientRect(),n=e.querySelectorAll(`[data-message-id]`);for(let e of n)if(e.getBoundingClientRect().bottom>t.top)return e;return null},AW=(e,t)=>{let n=OW(e,t);if(n||=kW(e),!n)return null;let r=n.dataset.messageId;if(!r)return null;let i=e.getBoundingClientRect();return{messageId:r,offsetTop:n.getBoundingClientRect().top-i.top}},jW=e=>{let{container:t,quiesceMs:n=TW,maxLifetimeMs:r=EW}=e,i={messageId:e.anchor.messageId,offsetTop:e.anchor.offsetTop},a=!1,o=e.pending??!1,s=null,c=null,l=!1,u=!1,d=t.scrollTop,f=()=>{s!==null&&(clearTimeout(s),s=null)},p=()=>{c!==null&&(clearTimeout(c),c=null)},m=()=>{a||(a=!0,x.disconnect(),t.removeEventListener(`scroll`,b),f(),p())},h=()=>{f(),!(a||o)&&(s=setTimeout(()=>{s=null,m()},n))},g=()=>{p(),!(a||o)&&(c=setTimeout(()=>{c=null,m()},r))},_=()=>{if(a)return;let e=AW(t,i.messageId);if(!e){m();return}i.messageId=e.messageId,i.offsetTop=e.offsetTop,d=t.scrollTop,u=!1},v=()=>{if(a)return;if(e.isUserScrolling?.()){u=!0;return}if(u){_();return}if(Math.abs(t.scrollTop-d)>DW){_();return}let n=OW(t,i.messageId);if(!n){let e=kW(t);if(!e){m();return}let r=e.dataset.messageId;if(!r){m();return}let a=t.getBoundingClientRect();i.messageId=r,i.offsetTop=e.getBoundingClientRect().top-a.top,n=e,d=t.scrollTop}let r=t.getBoundingClientRect(),o=n.getBoundingClientRect().top-r.top-i.offsetTop;Math.abs(o)>DW&&(t.scrollTop+=o),d=t.scrollTop},y=()=>{a||l||(l=!0,queueMicrotask(()=>{l=!1,v()}))},b=()=>{e.isUserScrolling?.()?u=!0:(u||Math.abs(t.scrollTop-d)>DW)&&_(),h(),g()},x=new MutationObserver(()=>{a||(y(),h())});return x.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`style`,`class`]}),t.addEventListener(`scroll`,b,{passive:!0}),g(),h(),{rebase:_,dispose:m,settle(){a||!o||(o=!1,h(),g())}}},MW=30,NW=1200,PW=1.5,FW=e=>Math.max(NW,e*PW),IW=4,LW=30,RW=4,zW=30,BW=250,VW=1500,HW=2e3,UW=Lo+2e3,WW=40,GW=`history-loading-timeout`,KW=e=>!!(e&&typeof e==`object`&&e.code===`history-loading-timeout`),qW=()=>{let e=Error(`chat history pagination wait timed out`);return e.code=GW,e},JW=(e,t,n)=>{if(e===`no-growth`){console.error(`[chat-history] load older completed without prepending messages`,t instanceof Error?t:Error(`chat history pagination returned no growth`),n);return}if(e===`timeout`){console.error(`[chat-history] load older timed out waiting for sync pagination`,t,n);return}console.error(`[chat-history] load older failed`,t,n)},YW=2500,XW=new Map,ZW=()=>K()?IW:ki()?RW:MW,QW=e=>K()?e.length<=LW:!ki()||e.length<=zW,$W=(e,t)=>{if(XW.delete(e),!QW(t.messages))return;let n=ZW();for(;XW.size>=n;){let e=XW.keys().next().value;if(typeof e!=`string`)break;XW.delete(e)}XW.set(e,t)},eG=e=>!!(e.previousOldestId&&e.currentOldestId&&e.currentOldestId!==e.previousOldestId&&e.previousNewestId&&e.currentNewestId&&e.currentNewestId===e.previousNewestId),tG=e=>e?{owner:`tanstack-core`}:{owner:`controller`},nG=(e,t)=>e?e.canLoadEarlier:t>=CW().HISTORICAL_MESSAGES,rG=e=>!(e.isLoadingOlder||e.pendingRevealWork||!e.canLoadEarlier||e.source===`scroll`&&e.isPinned||e.scrollTop>=FW(e.clientHeight)),iG=e=>e.hasMoreAbove?e.scrollHeightAfter-e.scrollHeightBefore>1?`stop-visible`:e.messageCountAfter>e.messageCountBefore||typeof e.oldestIdBefore==`string`&&typeof e.oldestIdAfter==`string`&&e.oldestIdBefore!==e.oldestIdAfter||e.cursorBefore==null&&e.limitAfter>e.limitBefore||typeof e.cursorAfter==`string`&&e.cursorAfter!==e.cursorBefore?e.pagesLoaded>=e.maxPages?`stop-bounded`:`continue`:`stop-no-growth`:`stop-exhausted`,aG=8,oG=1,sG=8,cG=e=>[`chat-timeline-load-earlier`,e.runtimeKey,e.sessionId],lG=80,uG=new WeakMap,dG=e=>{let t=e?uG.get(e):void 0;return!!(t&&(t.touches>0||performance.now()-t.lastScrollAt<160))},fG=e=>{let t=uG.get(e);t&&(t.touches=0,t.lastScrollAt=-1/0,t.pending=null,t.settleScheduled=!1)},pG=e=>{mG(e)},mG=e=>{let t=uG.get(e);if(t)return t;let n={touches:0,lastScrollAt:-1/0,pending:null,settleScheduled:!1};e.addEventListener(`touchstart`,()=>{n.touches+=1},{passive:!0});let r=()=>{n.touches=Math.max(0,n.touches-1),n.touches===0&&n.pending&&hG(e,n)};return e.addEventListener(`touchend`,r,{passive:!0}),e.addEventListener(`touchcancel`,r,{passive:!0}),e.addEventListener(`scroll`,()=>{n.lastScrollAt=performance.now()},{passive:!0}),uG.set(e,n),n},hG=(e,t)=>{t.settleScheduled||typeof window>`u`||(t.settleScheduled=!0,window.requestAnimationFrame(()=>{t.settleScheduled=!1;let n=t.pending;t.pending=null,!(!n||t.touches>0||!e.isConnected)&&(Math.abs(e.scrollTop-n.anchorTop)>n.delta+lG||gG(e,n.anchorTop+n.delta))}))},gG=(e,t)=>{let n=e.style.overflowX,r=e.style.overflowY;e.style.overflow=`hidden`,e.scrollTop=t,e.scrollHeight,e.style.overflowX=n,e.style.overflowY=r,e.scrollTop=t},_G=(e,t,n)=>{let r=mG(e);if(r.touches>0&&typeof n==`number`&&n>0){r.pending=r.pending?{anchorTop:r.pending.anchorTop,delta:r.pending.delta+n}:{anchorTop:e.scrollTop,delta:n};return}r.pending=null,gG(e,t)},vG=(e,t,n)=>!e||!t||t===e?!1:n.some(t=>t.info.id===e),yG=({sessionId:e,directory:t=null,messages:n,historyMeta:r,scrollRef:i,messageListRef:a,loadMoreMessages:o,goToBottom:c,releaseAutoFollow:u,beginHistoryViewportPreservation:d,endHistoryViewportPreservation:f,isPinned:p,showScrollButton:m,isMobile:h,onWillLoadEarlier:g})=>{let _=Z.useRef(h);_.current=h;let v=Z.useRef(null),y=Z.useRef(null),b=Z.useMemo(()=>{let t=e??``,r=t?XW.get(t):void 0;if(r&&r.messages===n)return $W(t,r),v.current=r.model,y.current=n,r.model;let i=gW(v.current,y.current,n)??_W(n);return v.current=i,y.current=n,t&&n.length>0&&$W(t,{messages:n,model:i}),i},[n,e]),[x,S]=Z.useState(!1),[C,w]=Z.useState(!1),[T,E]=Z.useState(null),D=Z.useRef(0),O=l(),k=s(),A=Z.useMemo(()=>({runtimeKey:O,runtimeGeneration:k,sessionId:e,directory:t}),[O,k,e,t]),j=Z.useRef(A);j.current=A;let M=`chat-history-error:${JSON.stringify([O,t??null,e])}`;Bn(()=>(j.current=A,()=>{j.current===A&&(j.current=null),mi.dismiss(M)}),[A,M]);let N=Z.useRef(b),P=Z.useRef(p),F=Z.useRef(x),I=Z.useRef(C),L=Z.useRef(e),R=Z.useRef(t??null),z=Z.useRef(n),B=Z.useRef(r),V=Z.useRef([]),H=Z.useRef(null),ee=Z.useRef(null),U=Z.useRef(!1),te=Z.useRef(null),ne=Z.useRef({authorized:!1,consumed:!1,top:0}),W=Z.useRef(null),G=J(()=>{ne.current={authorized:!1,consumed:F.current,top:i.current?.scrollTop??0}}),re=()=>h?i.current??void 0:void 0,ie=J(e=>{e.repeat||G()});Hn(`touchstart`,G,re,{passive:!0,capture:!0}),Hn(`wheel`,G,re,{passive:!0,capture:!0}),Hn(`keydown`,ie,re,{capture:!0});let[ae,oe]=Z.useState(A);ae!==A&&(oe(A),te.current!==null&&typeof window<`u`&&(window.clearTimeout(te.current),te.current=null),U.current=!1,F.current=!1,ee.current=null,S(!1),w(!1),E(null),D.current=0,ne.current={authorized:!1,consumed:!1,top:0},W.current=null);let se=Z.useMemo(()=>{let e=nG(r,n.length);return{hasBufferedTurns:!1,hasMoreAboveTurns:e,historyLoading:!!r?.loading,canLoadEarlier:e}},[r,n.length]),K=Z.useRef(se);N.current=b,P.current=p,I.current=C,K.current=se,L.current=e,R.current=t??null,z.current=n,B.current=r,Bn(()=>{r?.complete&&mi.dismiss(M)},[r?.complete,M]);let ce=J(()=>{U.current=!0,te.current!==null&&typeof window<`u`&&(window.clearTimeout(te.current),te.current=null)}),le=J(()=>{if(typeof window>`u`){U.current=!1;return}te.current!==null&&window.clearTimeout(te.current),te.current=window.setTimeout(()=>{te.current=null,U.current=!1},HW)}),ue=J(()=>{let e=V.current;e.length!==0&&(V.current=[],e.forEach(e=>e()))}),de=J(()=>new Promise(e=>{if(typeof window>`u`){e();return}let t=!1,n=()=>{t||(t=!0,window.clearTimeout(r),e())};V.current.push(n);let r=window.setTimeout(n,BW)})),fe=J(e=>{let t=H.current;t&&(H.current=null,t.resolve(e))}),pe=J(()=>{let e=H.current;if(e){if(e.sessionId!==L.current){fe(!1);return}if(e.kind===`turn`?a.current?.scrollToTurnId(e.id,{behavior:e.behavior})??!1:a.current?.scrollToMessageId(e.id,{behavior:e.behavior})??!1){e.turnId&&(ee.current={turnId:e.turnId,expiresAt:Date.now()+YW},E(e.turnId)),fe(!0);return}typeof(e.kind===`turn`?N.current.turnIndexById.get(e.id):N.current.messageToTurnIndex.get(e.id))==`number`&&fe(!1)}}),me=Z.useRef(null),he=J(()=>{let e=me.current;e&&(me.current=null,e.dispose())});zn(()=>{te.current!==null&&typeof window<`u`&&(window.clearTimeout(te.current),te.current=null),he(),ue(),fe(!1)});let ge=Z.useRef({scope:A,messages:n}),_e=ge.current,ve=_e.scope===A&&_e.messages!==n&&ki()&&!a.current?.isHistoryVirtualized()&&vG(_e.messages[0]?.info?.id??null,n[0]?.info?.id??null,n)&&dG(i.current),ye=ve?_e.messages:n;Bn(()=>{ge.current={scope:A,messages:ye}},[A,ye]);let[,be]=Z.useReducer(e=>e+1,0);Bn(()=>{ue(),pe()},[ye]);let xe=Z.useRef(null),Se=J(()=>a.current?.captureViewportAnchor()??null),Ce=J(e=>a.current?.restoreViewportAnchor(e)??!1),we=J(()=>{if(he(),a.current?.isHistoryVirtualized())return;let e=i.current;if(!e)return;let t=Se();if(t)return me.current=jW({container:e,anchor:t,pending:!0,isUserScrolling:ki()?()=>dG(e):void 0}),me.current}),Te=Z.useRef(null);In(J(()=>{let e=i.current;if(!e||!ve)return;let t=e.scrollHeight;Te.current={oldestId:ye[0]?.info?.id??null,newestId:ye.at(-1)?.info?.id??null,scrollHeight:t};let n=xe.current;n&&(xe.current={...n,height:t,top:e.scrollTop,anchor:Se()}),be()}),ve?50:null);let Ee=Z.useRef(null);Bn(()=>{if(!ki())return;let e=i.current;if(!e){Ee.current=null;return}let t=Ee.current;(t?.container!==e||t.scope!==A)&&(pG(e),fG(e),Ee.current={container:e,scope:A})}),Bn(()=>{he(),xe.current=null,Te.current=null,a.current?.cancelViewportAnchorHold()},[A]),Bn(()=>{let e=i.current;if(!e)return;let t=xe.current;a.current?.isHistoryVirtualized()&&he(),t&&Math.abs(e.scrollTop-t.top)>sG&&(xe.current=null,t=null);let n=Te.current,r=ye[0]?.info?.id??null,o=ye[ye.length-1]?.info?.id??null,s=n?eG({previousOldestId:n.oldestId,previousNewestId:n.newestId,currentOldestId:r,currentNewestId:o})||vG(n.oldestId,r,ye):!1;t&&t.sessionId!==L.current&&(xe.current=null,t=null);let l=t?eG({previousOldestId:t.oldestId,previousNewestId:t.newestId,currentOldestId:r,currentNewestId:o})||vG(t.oldestId,r,ye):!1,u=s||l,d=e=>{Te.current={oldestId:r,newestId:o,scrollHeight:e??Te.current?.scrollHeight??null}};if(P.current&&!t){he(),u?(xe.current=null,c(`instant`,{reveal:!1}),d(e.scrollHeight)):d();return}let f=tG(a.current?.isHistoryVirtualized()??!1);if(t){if(f.owner===`tanstack-core`){a.current?.cancelViewportAnchorHold();let e=t.anchor;e&&Ce(e),d();return}let n=e.scrollHeight,r=n-t.height;if(ki()){r>0&&_G(e,t.top+r,r),d(n);return}let i=t.anchor;!(i&&Ce(i))&&r>0&&(e.scrollTop=t.top+r),me.current?.rebase(),d(n);return}if(s&&n&&f.owner===`controller`){let t=e.scrollHeight,r=n.scrollHeight===null?0:t-n.scrollHeight;if(r>0){let t=e.scrollTop+r;ki()?_G(e,t,r):e.scrollTop=t}d(t),we();return}d()},[ye,c]);let De=J(async()=>!1),Oe=J(async e=>{let t=j.current,n=()=>t===j.current&&t?.runtimeKey===l()&&t?.runtimeGeneration===s(),r=Date.now(),i=r+UW,a=R.current,o=a?at()?.getRequestState?.(bt(a,e)):void 0;for(K.current.historyLoading,B.current,o?.status,o?.error;K.current.historyLoading;){if(!n()||L.current!==e)return Date.now()-r,`switched`;if(Date.now()>=i){let t=a?at()?.getRequestState?.(bt(a,e)):void 0;return console.error(`[chat-history] historyLoading wait timed out — sync flag still true`,{sessionId:e,directory:a,elapsedMs:Date.now()-r,waitMs:UW,hostTurnPageTimeoutMs:Lo,historyLoading:K.current.historyLoading,historyMeta:B.current,requestStatusAtStart:o?.status??null,requestStatusAtTimeout:t?.status??null,requestErrorAtTimeout:t?.error??null,likelyStaleLoadingFlag:t?.status===`ready`||t?.status===`error`||t==null}),`timeout`}await new Promise(e=>{if(typeof window>`u`){e();return}window.setTimeout(e,WW)})}return Date.now()-r,a&&at()?.getRequestState?.(bt(a,e))?.status,n()&&L.current===e?`cleared`:`switched`}),ke=J(async e=>{if(!L.current||F.current||!K.current.hasMoreAboveTurns)return!1;F.current=!0,ce(),S(!0);let t=L.current,n=j.current,r=()=>n===j.current&&n?.runtimeKey===l()&&n?.runtimeGeneration===s(),c=()=>n?.directory?at()?.getPagination(bt(n.directory,t)).cursor??null:null,u=M,p=null,m=null,h=!!e.userInitiated;h&&d();let g=()=>{r()&&(m?.settle(),p&&xe.current===p&&(xe.current=null,a.current?.cancelViewportAnchorHold()),h&&(h=!1,f()))};try{if(K.current.historyLoading){if(!e.userInitiated)return!1;let n=await Oe(t);if(n===`timeout`)throw qW();if(n===`switched`||!K.current.hasMoreAboveTurns)return!1}if(!r()||!L.current||L.current!==t)return!1;let n=i.current,a=z.current,s=a.length,l=a[0]?.info?.id??null,d=B.current?.limit??CW().HISTORICAL_MESSAGES;e.preserveViewport&&n&&(p={sessionId:L.current,height:n.scrollHeight,top:n.scrollTop,anchor:Se(),oldestId:l,newestId:a[a.length-1]?.info?.id??null},xe.current=p,Te.current={oldestId:p.oldestId,newestId:p.newestId,scrollHeight:p.height},m=we()??null);let f=s,h=l,_=d,v=0,y=0;for(;;){if(K.current.historyLoading)if(e.userInitiated){let e=await Oe(t);if(e===`timeout`)throw g(),qW();if(e===`switched`)return g(),!1}else return g(),!1;let n=i.current?.scrollHeight??0,a=f,s=h,l=_,d=c();if(await o(t,`up`),v+=1,!r()||L.current!==t)return g(),!1;if(await de(),!r())return!1;let p=(()=>{let t=z.current;return iG({scrollHeightBefore:n,scrollHeightAfter:i.current?.scrollHeight??n,messageCountBefore:a,messageCountAfter:t.length,oldestIdBefore:s,oldestIdAfter:t[0]?.info?.id??null,limitBefore:l,limitAfter:B.current?.limit??_,cursorBefore:d,cursorAfter:c(),hasMoreAbove:K.current.hasMoreAboveTurns,pagesLoaded:v,maxPages:e.singlePage?1:aG})})();if(p===`continue`){let e=z.current;f=e.length,h=e[0]?.info?.id??null,_=B.current?.limit??_;continue}if(p===`stop-no-growth`){if(e.singlePage)return g(),!1;if(K.current.historyLoading){if(e.userInitiated){let e=await Oe(t);if(e===`timeout`)throw g(),qW();if(e===`switched`)return g(),!1;--v;continue}return g(),!1}if(y<oG){y+=1,--v;continue}return D.current=Date.now()+VW,g(),!1}return D.current=0,mi.dismiss(u),!0}}catch(e){throw r()&&(D.current=Date.now()+VW),g(),e}finally{r()&&(F.current=!1,S(!1),le(),de().then(g))}}),{t:Ae}=Kn(),je=Tn({mutationKey:cG({runtimeKey:l(),sessionId:e??``}),mutationFn:async e=>{if(j.current!==e.scope||l()!==e.scope.runtimeKey||s()!==e.scope.runtimeGeneration||L.current!==e.sessionId)return!1;ce(),e.userInitiated&&u();try{return await ke({preserveViewport:!0,userInitiated:!!e.userInitiated,singlePage:e.singlePage})}finally{j.current===e.scope&&s()===e.scope.runtimeGeneration&&le()}}}),Me=J(async e=>{let t=L.current;if(!t||!K.current.canLoadEarlier)return;let n=A,r=M,i=()=>j.current===n&&l()===n.runtimeKey&&s()===n.runtimeGeneration;if(!(je.isPending&&je.variables?.sessionId===t&&je.variables?.scope===n)){e?.userInitiated&&g?.();try{let r=await je.mutateAsync({sessionId:t,scope:n,userInitiated:!!e?.userInitiated,singlePage:e?.singlePage});if(!i())return;if(r===!1&&K.current.canLoadEarlier){let n={sessionId:t,grew:r,userInitiated:!!e?.userInitiated,canLoadEarlier:K.current.canLoadEarlier,hasMoreAboveTurns:K.current.hasMoreAboveTurns,historyLoading:K.current.historyLoading,historyMeta:B.current,messageCount:z.current.length,oldestMessageId:z.current[0]?.info?.id??null};JW(`no-growth`,Error(`chat history pagination returned no growth`),n)}}catch(n){let a={sessionId:t,userInitiated:!!e?.userInitiated,waitMs:UW,hostTurnPageTimeoutMs:Lo,canLoadEarlier:K.current.canLoadEarlier,historyLoading:K.current.historyLoading,historyMeta:B.current,messageCount:z.current.length,oldestMessageId:z.current[0]?.info?.id??null};KW(n)?JW(`timeout`,n,a):JW(`failed`,n,a),i()&&e?.userInitiated&&mi.error(KW(n)?Ae(`chat.history.loadOlderTimeout`):Ae(`chat.history.loadOlderFailed`),{id:r})}}}),Ne=je.isPending&&je.variables?.sessionId===e&&je.variables?.scope===A||x,Pe=J(e=>{if(Date.now()<D.current)return;let t=i.current;if(t){if(_.current){let n=ne.current,r=t.scrollTop<n.top;if(n.top=t.scrollTop,n.consumed||(e===`upward-intent`&&(n.authorized=!0),!n.authorized||e===`scroll`&&!r))return}else if(F.current){W.current=null;return}else if(e===`upward-intent`)W.current={top:t.scrollTop};else{let e=W.current;if(!e)return;let n=t.scrollTop<e.top;if(t.scrollTop>e.top||P.current?W.current=null:e.top=t.scrollTop,!n)return}rG({source:e,isMobile:_.current,isPinned:P.current,scrollTop:t.scrollTop,clientHeight:t.clientHeight,canLoadEarlier:K.current.canLoadEarlier,isLoadingOlder:F.current,pendingRevealWork:I.current})&&(_.current&&(ne.current.consumed=!0),W.current=null,Me({userInitiated:!0,singlePage:_.current}))}}),Fe=J(()=>{Pe(`scroll`)}),Ie=J(()=>{Pe(`upward-intent`)}),Le=J(async(t,n)=>{if(!t||!L.current)return!1;u(),w(!0);try{return L.current!==e||typeof N.current.turnIndexById.get(t)!=`number`?!1:!!await new Promise(r=>{H.current={sessionId:L.current??e??``,kind:`turn`,id:t,behavior:n?.behavior??`auto`,turnId:t,resolve:r},pe()})}finally{w(!1)}}),Re=Z.useRef(null),ze=J(async(t,n)=>{if(!t||!L.current)return!1;let r=`${L.current}:${t}`;if(Re.current===r)return!1;Re.current=r;let i=L.current;u(),w(!0);try{if(L.current!==e)return!1;for(;!N.current.messageToTurnId.has(t)&&K.current.hasMoreAboveTurns;){if(L.current!==i||Re.current!==r)return!1;let e=z.current[0]?.info.id;if(await Me({userInitiated:!0,singlePage:!0}),await de(),z.current[0]?.info.id===e)break}if(L.current!==i||Re.current!==r)return!1;let a=N.current.messageToTurnId.get(t);return typeof N.current.messageToTurnIndex.get(t)==`number`&&!!await new Promise(r=>{H.current={sessionId:L.current??e??``,kind:`message`,id:t,behavior:n?.behavior??`auto`,turnId:a??null,resolve:r},pe()})}finally{Re.current===r&&(Re.current=null),w(!1)}}),Be=J(async()=>{Re.current=null,w(!1),F.current=!1,S(!1),c(`smooth`)}),Ve=J(async()=>{w(!1),F.current=!1,S(!1),c(`instant`)}),He=J(e=>{let t=ee.current;if(t){if(e!==t.turnId&&Date.now()<t.expiresAt)return;ee.current=null}E(e)});return{turnIds:b.turnIds,turnStart:0,renderedMessages:ye,historySignals:se,isLoadingOlder:Ne,pendingRevealWork:C,activeTurnId:T,showScrollToBottom:m&&!C,turnWindowModel:b,loadEarlier:Me,revealBufferedTurns:De,resumeToBottom:Be,resumeToBottomInstant:Ve,scrollToTurn:Le,scrollToMessage:ze,handleHistoryScroll:Fe,handleHistoryUpwardIntent:Ie,captureViewportAnchor:Se,restoreViewportAnchor:Ce,handleActiveTurnChange:He}},bG=12,xG=50,SG=800;function CG(e){let t=(0,Q.c)(15),{scope:n,enabled:r,cursor:i,loadedTurns:a,messages:o,scrollRef:s,loadPrevious:c}=e,[l,u]=Z.useState(null),d=Z.useRef(l),f=Z.useRef(!1),p=Z.useRef(null),m=r&&i!==null&&a<bG&&l!==n,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{d.current=null,u(null)},t[0]=h):h=t[0];let g;t[1]===n?g=t[2]:(g=[n],t[1]=n,t[2]=g),Z.useEffect(h,g);let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{p.current=null},t[3]=_):_=t[3];let v;t[4]!==i||t[5]!==m||t[6]!==o||t[7]!==n?(v=[n,m,i,o],t[4]=i,t[5]=m,t[6]=o,t[7]=n,t[8]=v):v=t[8],Z.useEffect(_,v);let y;t[9]!==i||t[10]!==m||t[11]!==c||t[12]!==n||t[13]!==s?(y=()=>{let e=s.current;if(d.current===n)return;if(!m||!i||!e||f.current||document.visibilityState===`hidden`){p.current=null;return}let t=e.scrollHeight,r=e.scrollTop,a=p.current;if(!a||a.height!==t||a.top!==r){p.current={height:t,top:r,since:Date.now()};return}Date.now()-a.since<SG||(d.current=n,u(n),f.current=!0,c(xG).catch(wG).finally(()=>{f.current=!1}))},t[9]=i,t[10]=m,t[11]=c,t[12]=n,t[13]=s,t[14]=y):y=t[14],In(J(y),m?200:null)}function wG(e){console.error(`[chat-history] desktop history warmup failed`,e)}var TG=({mutateSession:e,forkSession:t})=>({revert:e,fork:t}),EG=({open:e,onOpenChange:t,sessionID:n,directory:r,onScrollToMessage:i,onScrollByTurnOffset:a,onResumeToLatest:o,canLoadEarlier:s=!1,isLoadingEarlier:c=!1,onLoadEarlier:l,onRevertMessage:u})=>{let[d,f]=Z.useState(null),[p,m]=Z.useState(``),[h,g]=Z.useState(0),_=Z.useRef(!1),v=Z.useRef(0),y=J(async(e,n,r)=>{if(_.current)return;_.current=!0;let i=v.current+1;v.current=i,f({type:e,messageId:n});try{await r(),t(!1)}finally{v.current===i&&(_.current=!1,f(null))}});return n?(0,$.jsx)(ps,{open:e,onOpenChange:t,children:(0,$.jsx)(ls,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:(0,$.jsx)(DG,{open:e,onOpenChange:t,sessionID:n,directory:r,onScrollToMessage:i,onScrollByTurnOffset:a,onResumeToLatest:o,canLoadEarlier:s,isLoadingEarlier:c,onLoadEarlier:l,onRevertMessage:u,searchQuery:p,onSearchQueryChange:m,selectedIndex:h,onSelectedIndexChange:g,pendingAction:d,runPendingMessageAction:y})})}):null},DG=e=>{let t=(0,Q.c)(145),{open:n,onOpenChange:r,sessionID:i,directory:a,onScrollToMessage:o,onScrollByTurnOffset:s,onResumeToLatest:c,canLoadEarlier:l,isLoadingEarlier:u,onLoadEarlier:d,onRevertMessage:f,searchQuery:p,onSearchQueryChange:m,selectedIndex:h,onSelectedIndexChange:g,pendingAction:_,runPendingMessageAction:v}=e,{t:y}=Kn(),b=Bb(),x=i,S=fa(x??``,a),C=ma(kG),w=ma(AG),T;t[0]===b.capabilities?T=t[1]:(T=TG(b.capabilities),t[0]=b.capabilities,t[1]=T);let E=T,{isMobile:D,isTablet:O}=Bc(),k=D||O,A;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(A=[],t[2]=A):A=t[2];let j=Z.useRef(A),M=Z.useRef(null),N=Z.useRef(null),P=Z.useRef(!1),F=Z.useRef(!1),I=jG,L=MG,R;t[3]===S?R=t[4]:(R=S.filter(NG).map(PG),t[3]=S,t[4]=R);let z=R,B;if(t[5]!==p||t[6]!==z){bb0:{let e=p.trim();if(!e){B=z;break bb0}let t=e.toLowerCase();B=z.filter(e=>{let{message:n}=e;return KH(n.parts).toLowerCase().includes(t)})}t[5]=p,t[6]=z,t[7]=B}else B=t[7];let V=B,H;t[8]!==V.length||t[9]!==g||t[10]!==p?(H=()=>{P.current||g(p.trim()?0:Math.max(0,V.length-1))},t[8]=V.length,t[9]=g,t[10]=p,t[11]=H):H=t[11];let ee;t[12]!==V||t[13]!==g||t[14]!==p?(ee=[V,p,g],t[12]=V,t[13]=g,t[14]=p,t[15]=ee):ee=t[15],Z.useEffect(H,ee);let U,te;t[16]===V.length?(U=t[17],te=t[18]):(U=()=>{j.current=j.current.slice(0,V.length)},te=[V.length],t[16]=V.length,t[17]=U,t[18]=te),Z.useEffect(U,te);let ne,W;t[19]===h?(ne=t[20],W=t[21]):(W=()=>{P.current||j.current[h]?.scrollIntoView({block:`nearest`})},ne=[h],t[19]=h,t[20]=ne,t[21]=W),Z.useEffect(W,ne);let G;t[22]===u?G=t[23]:(G=()=>{!P.current||N.current||u||(P.current=!1)},t[22]=u,t[23]=G);let re;t[24]!==V.length||t[25]!==u?(re=[V.length,u],t[24]=V.length,t[25]=u,t[26]=re):re=t[26],Z.useEffect(G,re);let ie,ae;t[27]!==n||t[28]!==p?(ie=()=>{let e=F.current;if(F.current=n,!n||e||P.current||p.trim())return;let t=M.current;t&&(t.scrollTop=t.scrollHeight)},ae=[n,p],t[27]=n,t[28]=p,t[29]=ie,t[30]=ae):(ie=t[29],ae=t[30]),Z.useLayoutEffect(ie,ae);let oe;t[31]===u?oe=t[32]:(oe=()=>{let e=N.current,t=M.current;if(!e||!t||u)return;N.current=null;let n=j.current.find(t=>t?.dataset.timelineMessageId===e.messageId);if(!n)return;let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top;t.scrollTop+=r-e.top},t[31]=u,t[32]=oe);let se;t[33]!==V.length||t[34]!==u?(se=[V.length,u],t[33]=V.length,t[34]=u,t[35]=se):se=t[35],Z.useLayoutEffect(oe,se);let K;t[36]===d?K=t[37]:(K=()=>{let e=M.current;if(e){let t=e.getBoundingClientRect().top,n=j.current.find(e=>e?e.getBoundingClientRect().bottom>=t:!1);n?.dataset.timelineMessageId&&(N.current={messageId:n.dataset.timelineMessageId,top:n.getBoundingClientRect().top-t})}P.current=!0,d?.()},t[36]=d,t[37]=K);let ce=J(K),le;t[38]!==r||t[39]!==o?(le=async e=>{await o?.(e)!==!1&&r(!1)},t[38]=r,t[39]=o,t[40]=le):le=t[40];let ue=J(le),de;t[41]!==V||t[42]!==ue||t[43]!==g||t[44]!==h?(de=e=>{let t=V.length;if(t!==0){if(e.key===`ArrowDown`){e.preventDefault(),g(e=>(e+1)%t);return}if(e.key===`ArrowUp`){e.preventDefault(),g(e=>(e-1+t)%t);return}if(e.key===`Enter`){e.preventDefault();let n=(h%t+t)%t,r=V[n];r&&ue(r.message.info.id)}}},t[41]=V,t[42]=ue,t[43]=g,t[44]=h,t[45]=de):de=t[45];let fe=J(de),pe;t[46]!==x||t[47]!==a||t[48]!==w||t[49]!==f||t[50]!==C||t[51]!==v?(pe=async(e,t)=>{x&&await v(e,t,async()=>{e===`revert`?f?await f(t):await C(x,t,{directory:a}):await w(x,t,{directory:a})})},t[46]=x,t[47]=a,t[48]=w,t[49]=f,t[50]=C,t[51]=v,t[52]=pe):pe=t[52];let me=J(pe),he;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(X,{name:`time`,className:`h-5 w-5`}),t[53]=he):he=t[53];let ge;t[54]===y?ge=t[55]:(ge=y(`chat.timeline.title`),t[54]=y,t[55]=ge);let _e;t[56]===ge?_e=t[57]:(_e=(0,$.jsxs)(us,{className:`flex items-center gap-2`,children:[he,ge]}),t[56]=ge,t[57]=_e);let ve;t[58]===y?ve=t[59]:(ve=y(`chat.timeline.description`),t[58]=y,t[59]=ve);let ye;t[60]===ve?ye=t[61]:(ye=(0,$.jsx)(ds,{children:ve}),t[60]=ve,t[61]=ye);let be;t[62]!==_e||t[63]!==ye?(be=(0,$.jsxs)(ss,{children:[_e,ye]}),t[62]=_e,t[63]=ye,t[64]=be):be=t[64];let xe;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(X,{name:`search`,className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),t[65]=xe):xe=t[65];let Se;t[66]===y?Se=t[67]:(Se=y(`chat.timeline.searchPlaceholder`),t[66]=y,t[67]=Se);let Ce;t[68]===m?Ce=t[69]:(Ce=e=>m(e.target.value),t[68]=m,t[69]=Ce);let we;t[70]!==fe||t[71]!==p||t[72]!==Se||t[73]!==Ce?(we=(0,$.jsxs)(`div`,{className:`relative mt-2`,children:[xe,(0,$.jsx)(Rs,{autoFocus:!0,placeholder:Se,value:p,onChange:Ce,onKeyDown:fe,className:`pl-9 w-full`})]}),t[70]=fe,t[71]=p,t[72]=Se,t[73]=Ce,t[74]=we):we=t[74];let Te;t[75]!==l||t[76]!==ce||t[77]!==u||t[78]!==d||t[79]!==y?(Te=l&&d&&(0,$.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,$.jsxs)(Xn,{type:`button`,variant:`link`,size:`sm`,onClick:ce,disabled:u,className:`h-auto px-1 py-0 text-muted-foreground hover:text-foreground`,children:[u&&(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),y(`chat.history.loadOlder`)]})}),t[75]=l,t[76]=ce,t[77]=u,t[78]=d,t[79]=y,t[80]=Te):Te=t[80];let Ee;t[81]!==E.fork||t[82]!==E.revert||t[83]!==k||t[84]!==V||t[85]!==me||t[86]!==ue||t[87]!==g||t[88]!==_||t[89]!==p||t[90]!==h||t[91]!==y?(Ee=V.length===0?(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:y(p?`chat.timeline.empty.search`:`chat.timeline.empty.session`)}):V.map((e,t)=>{let{message:n}=e,r=qH(n.parts),i=n.info.time.created,a=I(i),o=V[t-1],s=a!==(o?I(o.message.info.time.created):null),c=L(i),l=t===h,u=p.trim()?OG(KH(n.parts),p):null;return(0,$.jsxs)(Z.Fragment,{children:[s&&(0,$.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-3 bg-background/95 py-2 backdrop-blur-sm`,children:[(0,$.jsx)(`div`,{className:`h-px flex-1 bg-border/60`}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a}),(0,$.jsx)(`div`,{className:`h-px flex-1 bg-border/60`})]}),(0,$.jsxs)(`div`,{ref:e=>{j.current[t]=e},"data-timeline-message-id":n.info.id,className:Y(`group flex items-center gap-3 py-1.5 hover:bg-interactive-hover/30 rounded transition-colors cursor-pointer`,l&&`bg-interactive-selection text-interactive-selection-foreground`),onClick:()=>void ue(n.info.id),onMouseEnter:()=>g(t),children:[(0,$.jsx)(`span`,{className:Y(`typography-meta w-16 flex-shrink-0 text-right tabular-nums`,l?`text-interactive-selection-foreground/70`:`text-muted-foreground`),children:c}),(0,$.jsxs)(`p`,{className:Y(`flex-1 min-w-0 typography-micro truncate`,l?`text-interactive-selection-foreground`:`text-foreground`),children:[u??(r||y(`chat.timeline.noTextContent`)),!u&&r&&r.length>=80&&`…`]}),(0,$.jsx)(`div`,{className:`flex-shrink-0 h-5 flex items-center mr-2`,children:(0,$.jsxs)(`div`,{className:Y(`gap-1`,k?`flex`:`hidden group-hover:flex`),children:[E.revert?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:`size-5 text-muted-foreground hover:text-foreground`,"aria-busy":_?.type===`revert`&&_.messageId===n.info.id,disabled:_!==null,onClick:e=>{e.stopPropagation(),me(`revert`,n.info.id)},children:(0,$.jsx)(X,{name:_?.type===`revert`&&_.messageId===n.info.id?`loader-4`:`arrow-go-back`,className:Y(`h-4 w-4`,_?.type===`revert`&&_.messageId===n.info.id&&`animate-spin`)})})}),(0,$.jsx)(Bs,{sideOffset:6,children:y(`chat.timeline.actions.revertFromHere`)})]}):null,E.fork?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:`size-5 text-muted-foreground hover:text-foreground`,"aria-busy":_?.type===`fork`&&_.messageId===n.info.id,onClick:e=>{e.stopPropagation(),me(`fork`,n.info.id)},disabled:_!==null,children:_?.type===`fork`&&_.messageId===n.info.id?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):(0,$.jsx)(X,{name:`git-branch`,className:`h-4 w-4`})})}),(0,$.jsx)(Bs,{sideOffset:6,children:y(`chat.timeline.actions.forkFromHere`)})]}):null]})})]})]},n.info.id)}),t[81]=E.fork,t[82]=E.revert,t[83]=k,t[84]=V,t[85]=me,t[86]=ue,t[87]=g,t[88]=_,t[89]=p,t[90]=h,t[91]=y,t[92]=Ee):Ee=t[92];let De;t[93]===Ee?De=t[94]:(De=(0,$.jsx)(`div`,{ref:M,className:`flex-1 overflow-y-auto`,children:Ee}),t[93]=Ee,t[94]=De);let Oe;t[95]===y?Oe=t[96]:(Oe=y(`chat.timeline.actions.title`),t[95]=y,t[96]=Oe);let ke;t[97]===Oe?ke=t[98]:(ke=(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground font-medium mb-2`,children:Oe}),t[97]=Oe,t[98]=ke);let Ae;t[99]!==r||t[100]!==s?(Ae=()=>{s?.(-1),r(!1)},t[99]=r,t[100]=s,t[101]=Ae):Ae=t[101];let je;t[102]===y?je=t[103]:(je=y(`chat.timeline.actions.previousTurn`),t[102]=y,t[103]=je);let Me;t[104]!==Ae||t[105]!==je?(Me=(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:Ae,children:je}),t[104]=Ae,t[105]=je,t[106]=Me):Me=t[106];let Ne;t[107]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`/`}),t[107]=Ne):Ne=t[107];let Pe;t[108]!==r||t[109]!==c?(Pe=()=>{c?.(),r(!1)},t[108]=r,t[109]=c,t[110]=Pe):Pe=t[110];let Fe;t[111]===y?Fe=t[112]:(Fe=y(`chat.timeline.actions.latest`),t[111]=y,t[112]=Fe);let Ie;t[113]!==Pe||t[114]!==Fe?(Ie=(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:Pe,children:Fe}),t[113]=Pe,t[114]=Fe,t[115]=Ie):Ie=t[115];let Le;t[116]!==Me||t[117]!==Ie?(Le=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[Me,Ne,Ie]}),t[116]=Me,t[117]=Ie,t[118]=Le):Le=t[118];let Re;t[119]===y?Re=t[120]:(Re=y(`chat.timeline.help.clickMessage`),t[119]=y,t[120]=Re);let ze;t[121]===Re?ze=t[122]:(ze=(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(`span`,{children:Re})}),t[121]=Re,t[122]=ze);let Be;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,$.jsx)(X,{name:`arrow-go-back`,className:`h-4 w-4 flex-shrink-0`}),t[123]=Be):Be=t[123];let Ve;t[124]===y?Ve=t[125]:(Ve=y(`chat.timeline.help.undoToPoint`),t[124]=y,t[125]=Ve);let He;t[126]===Ve?He=t[127]:(He=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Be,(0,$.jsx)(`span`,{children:Ve})]}),t[126]=Ve,t[127]=He);let Ue;t[128]!==E.fork||t[129]!==y?(Ue=E.fork?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{children:y(`chat.timeline.help.createSessionFromHere`)})]}):null,t[128]=E.fork,t[129]=y,t[130]=Ue):Ue=t[130];let We;t[131]!==ze||t[132]!==He||t[133]!==Ue?(We=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 typography-meta text-muted-foreground`,children:[ze,He,Ue]}),t[131]=ze,t[132]=He,t[133]=Ue,t[134]=We):We=t[134];let Ge;t[135]!==ke||t[136]!==Le||t[137]!==We?(Ge=(0,$.jsxs)(`div`,{className:`mt-4 p-3 bg-muted/30 rounded-lg`,children:[ke,Le,We]}),t[135]=ke,t[136]=Le,t[137]=We,t[138]=Ge):Ge=t[138];let Ke;return t[139]!==be||t[140]!==we||t[141]!==Te||t[142]!==De||t[143]!==Ge?(Ke=(0,$.jsxs)($.Fragment,{children:[be,we,Te,De,Ge]}),t[139]=be,t[140]=we,t[141]=Te,t[142]=De,t[143]=Ge,t[144]=Ke):Ke=t[144],Ke};function OG(e,t,n=30){let r=e.toLowerCase(),i=t.toLowerCase(),a=r.indexOf(i);if(a===-1)return null;let o=Math.max(0,a-n),s=Math.min(e.length,a+t.length+n);return`${o>0?`…`:``}${e.slice(o,s).replace(/\n/g,` `)}${s<e.length?`…`:``}`}function kG(e){return e.revertToMessage}function AG(e){return e.forkFromMessage}function jG(e){return Ec(e)}function MG(e){return jc(e)}function NG(e){return e.info.role===`user`}function PG(e){return{message:e}}var FG=e=>{let t=e.startsWith(`#`)?e.slice(1):e;if(!t)return null;let n=t.match(/^turn-(.+)$/);if(n?.[1])return{kind:`turn`,id:n[1]};let r=t.match(/^message-(.+)$/);return r?.[1]?{kind:`message`,id:r[1]}:null},IG=(e,t,n)=>{if(n===0||e.length===0)return{kind:`noop`};let r=t?e.indexOf(t):e.length-1,i=(r>=0?r:e.length-1)+n;if(i>=e.length)return{kind:`resume`};let a=e[Math.max(0,i)];return a?{kind:`turn`,turnId:a}:{kind:`noop`}},LG=e=>{if(typeof window>`u`)return;let t=e?`#${e}`:``,n=`${window.location.pathname}${window.location.search}${t}`;window.history.replaceState(window.history.state,``,n),e&&window.dispatchEvent(new HashChangeEvent(`hashchange`))},RG=e=>{e&&LG(`message-${e}`)},zG=e=>{let t=(0,Q.c)(29),{sessionId:n,turnIds:r,activeTurnId:i,scrollToTurn:a,scrollToMessage:o,resumeToBottom:s}=e,c=Z.useRef(r),l=Z.useRef(i),u,d;t[0]===r?(u=t[1],d=t[2]):(u=()=>{c.current=r},d=[r],t[0]=r,t[1]=u,t[2]=d),Z.useEffect(u,d);let f,p;t[3]===i?(f=t[4],p=t[5]):(f=()=>{l.current=i},p=[i],t[3]=i,t[4]=f,t[5]=p),Z.useEffect(f,p);let m;t[6]===a?m=t[7]:(m=async(e,t)=>e?(t?.updateHash!==!1&&LG(`turn-${e}`),a(e,{behavior:t?.behavior})):!1,t[6]=a,t[7]=m);let h=m,g;t[8]===o?g=t[9]:(g=async(e,t)=>e?(t?.updateHash!==!1&&LG(`message-${e}`),o(e,{behavior:t?.behavior})):!1,t[8]=o,t[9]=g);let _=g,v;t[10]!==s||t[11]!==h?(v=async(e,t)=>{let n=c.current,r=IG(n,l.current,e);if(r.kind===`noop`)return e===0;if(r.kind===`resume`){if(t?.resumePastEnd===!1){let e=n[n.length-1];return e?h(e,{behavior:`auto`}):!1}return LG(null),s(),!0}return h(r.turnId,{behavior:`auto`})},t[10]=s,t[11]=h,t[12]=v):v=t[12];let y=v,b;t[13]===s?b=t[14]:(b=()=>{LG(null),s()},t[13]=s,t[14]=b);let x=b,S;t[15]!==_||t[16]!==h||t[17]!==n?(S=()=>{if(!n||typeof window>`u`)return;let e=()=>{let e=FG(window.location.hash);if(e){if(e.kind===`turn`){h(e.id,{behavior:`auto`,updateHash:!1});return}_(e.id,{behavior:`auto`,updateHash:!1})}};return e(),window.addEventListener(`hashchange`,e),()=>{window.removeEventListener(`hashchange`,e)}},t[15]=_,t[16]=h,t[17]=n,t[18]=S):S=t[18];let C;t[19]!==_||t[20]!==h||t[21]!==n||t[22]!==r.length?(C=[n,_,h,r.length],t[19]=_,t[20]=h,t[21]=n,t[22]=r.length,t[23]=C):C=t[23],Z.useEffect(S,C);let w;return t[24]!==x||t[25]!==y||t[26]!==_||t[27]!==h?(w={scrollToTurnId:h,scrollToMessageId:_,scrollByTurnOffset:y,resumeToLatest:x},t[24]=x,t[25]=y,t[26]=_,t[27]=h,t[28]=w):w=t[28],w},BG=2e4,VG=6e4,HG=2e3,UG=e=>e?(typeof e.text==`string`?e.text.length:0)+(typeof e.state?.output==`string`?e.state.output.length:0):0,WG=e=>{if(e.length===0)return`0`;let t=e[e.length-1];if(!t)return`0`;let n=t.parts??[],r=n[n.length-1],i=0;for(let e of n)i+=UG(e);return[e.length,t.info.id,n.length,r?.id??``,r?.state?.status??``,i].join(`:`)},GG={sessionKey:null,fingerprint:null,lastMovementAt:null,lastRefreshAt:null,attempts:0},KG=(e,t)=>{let{sessionKey:n,working:r,streaming:i,fingerprint:a,now:o}=t;if(!n)return{state:GG,shouldRefresh:!1,stalledForMs:0};if(e.sessionKey!==n)return{state:{sessionKey:n,fingerprint:a,lastMovementAt:o,lastRefreshAt:null,attempts:0},shouldRefresh:!1,stalledForMs:0};if(e.fingerprint!==a)return{state:{...e,fingerprint:a,lastMovementAt:o,attempts:0},shouldRefresh:!1,stalledForMs:0};if(!r||i)return{state:{...e,lastMovementAt:o},shouldRefresh:!1,stalledForMs:0};let s=e.lastMovementAt??o,c=o-s,l=e.lastRefreshAt===null||o-e.lastRefreshAt>=t.cooldownMs,u=c>=t.thresholdMs&&l&&e.attempts<t.maxAttempts;return{state:{...e,lastMovementAt:s,lastRefreshAt:u?o:e.lastRefreshAt,attempts:u?e.attempts+1:e.attempts},shouldRefresh:u,stalledForMs:c}},qG=e=>{console.warn(`[transcript] tail frozen while session is working — refetching authority`,e)};function JG(e){return!!(e.active&&e.sessionId&&e.sessionKey&&e.sessionIsWorking)}function YG(e){return e===GG?e:GG}function XG(e){let t=e.match(/^User has answered your questions:\s*(.+?)\.\s*You can now/s);if(!t)return null;let n=[],r=t[1],i=/"([^"]+)"="([^"]*(?:[^"\\]|\\.)*)"/g,a;for(;(a=i.exec(r))!==null;)n.push({question:a[1],answer:a[2]});return n.length>0?n:null}function ZG(e){if(typeof e.id==`string`&&e.id)return e.id;if(typeof e.callID==`string`&&e.callID)return e.callID;let t=e.state;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t.callID;if(typeof e==`string`&&e)return e}return null}function QG(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;if(t.type!==`tool`||t.tool!==`question`)return!1;let n=t.state&&typeof t.state==`object`&&!Array.isArray(t.state)?t.state:{},r=typeof n.status==`string`?n.status:void 0;if(r===`error`)return!1;if(r===`pending`||r===`running`||r===void 0)return!0;if(r!==`completed`)return!1;let i=typeof n.output==`string`?n.output:``;return!i||XG(i)==null}function $G(e){let t=[];for(let n of e){let e=Array.isArray(n.parts)?n.parts:[];for(let n of e){if(!QG(n))continue;let e=ZG(n);e&&t.push(e)}}return t}function eK(e,t){return`${e}:${t.join(`,`)}`}function tK(e){let t=e.sessionId?.trim()??``,n=e.directory?.trim()??``;if(!t||!n||e.sessionQuestionCount>0||e.unansweredToolIds.length===0)return{recover:!1,attemptKey:null};let r=eK(t,e.unansweredToolIds);return e.attemptedKey===r?{recover:!1,attemptKey:r}:{recover:!0,attemptKey:r}}function nK(e,t,n,r){let i=(0,Q.c)(7),a=Mi(),o=Z.useRef(null),s=Z.useRef(`${e??``}:${t??``}`),c,l;i[0]!==a||i[1]!==t||i[2]!==n||i[3]!==e||i[4]!==r?(c=()=>{let i=`${e??``}:${t??``}`;s.current!==i&&(o.current=null,s.current=i);let c=tK({sessionId:e,directory:t,sessionQuestionCount:r,unansweredToolIds:$G(n),attemptedKey:o.current});if(!c.recover||!e||!t||!c.attemptKey)return;let l=a.getChild(t);l&&(o.current=c.attemptKey,Br(t,l,[e]))},l=[e,t,n,r,a],i[0]=a,i[1]=t,i[2]=n,i[3]=e,i[4]=r,i[5]=c,i[6]=l):(c=i[5],l=i[6]),Z.useEffect(c,l)}var rK=e=>!Number.isFinite(e)||e<0?0:Math.ceil(e),iK=(e,t)=>({...e,key:aK(e),estimatedBytes:rK(t)}),aK=({runtimeKey:e,sessionId:t,directory:n})=>JSON.stringify([e,n??``,t]),oK=e=>({key:e?aK(e):null,selection:e}),sK=(e,t,n)=>{let r=Math.max(1,Math.floor(n.maxEntries)),i=Math.max(0,n.maxEstimatedBytes),a=e.reduce((e,t)=>e+t.estimatedBytes,0);if(e.length<=r&&a<=i)return e;let o=[...e];for(;o.length>r||a>i;){let e=o.findIndex(e=>e.key!==t);if(e===-1)break;let[n]=o.splice(e,1);a-=n?.estimatedBytes??0}return o},cK=(e,t,n,r)=>{let i=aK(t),a=e.findIndex(e=>e.key===i),o=a>=0?e[a]:void 0;if(o&&a===e.length-1)return sK(e,i,n);let s=o||iK(t,r),c=a>=0?e.filter((e,t)=>t!==a):[...e];return c.push(s),sK(c,i,n)},lK=(e,t,n)=>{let r=rK(n),i=e.findIndex(e=>e.key===t);return i===-1||e[i].estimatedBytes===r?e:e.map((e,t)=>t===i?{...e,estimatedBytes:r}:e)},uK=(e,t)=>t&&e.some(e=>e.key===t)?t:null,dK=(e,t,n)=>{let r=t.key?e.cachedSessionViews.find(e=>e.key===t.key):void 0,i=r&&t.selection?cK(e.cachedSessionViews,t.selection,n,r.estimatedBytes):sK(e.cachedSessionViews,t.key??``,n),a=!r&&e.pendingSessionView?.intent===t?e.pendingSessionView:null;return e.activeIntent===t&&!e.cacheNeedsTrim&&i===e.cachedSessionViews&&a===e.pendingSessionView?e:{activeIntent:t,cacheNeedsTrim:!1,cachedSessionViews:i,pendingSessionView:a}},fK=(e,t,n,r)=>{if(n!==t||e.activeIntent!==t||!t.selection||e.cachedSessionViews.some(e=>e.key===t.key))return e;let i={entry:iK(t.selection,r),intent:t};return e.pendingSessionView?.intent===t?e:{activeIntent:e.activeIntent,cacheNeedsTrim:e.cacheNeedsTrim,cachedSessionViews:e.cachedSessionViews,pendingSessionView:i}},pK=(e,t,n)=>{let r=e.pendingSessionView;return e.activeIntent!==t||r?.intent!==t||!t.selection?e:{activeIntent:e.activeIntent,cacheNeedsTrim:!1,cachedSessionViews:cK(e.cachedSessionViews,t.selection,n,r.entry.estimatedBytes),pendingSessionView:null}},mK=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},hK=e=>{if(!(!e.info||typeof e.info!=`object`))return e.info},gK=e=>hK(e)?.role===`assistant`,_K=(e,t)=>{let n=hK(t);n&&(e.agentName??=mK(n.agent),e.providerId??=mK(n.providerID),e.modelId??=mK(n.modelID))},vK=e=>!!(e.agentName&&e.providerId&&e.modelId),yK=e=>{let t={};for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||!gK(r))&&(_K(t,r),vK(t)))return t}for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||gK(r))&&(_K(t,r),vK(t)))break}return t},bK=e=>!!e.sessionId&&!(e.hasRenderableSessionSnapshot&&e.hasCurrentSessionEntity),xK=[],SK=[],CK=[],wK={type:`idle`},TK=`openchamber:chat-force-scroll-bottom`,EK=()=>void 0,DK=`Quota limit reached. Retrying automatically.`,OK=1048576,kK=OK,AK=20,jK=OK,MK=16*OK,NK={maxEntries:3,maxEstimatedBytes:32*OK},PK={maxEntries:2,maxEstimatedBytes:32*OK},FK=e=>r(()=>e()),IK={overflowAnchor:`none`,overscrollBehavior:`contain`,overscrollBehaviorY:`contain`},LK={scrollbar:`chat`,scrollShadow:`true`,orientation:`vertical`},RK=()=>{let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-x-0 bottom-full z-0 h-11 bg-gradient-to-t from-[var(--surface-background)] to-transparent`}),e[0]=t):t=e[0],t},zK=`calc(max(0.625rem, var(--oc-safe-area-top, 0px)) + var(--oc-mobile-detail-navigation-height) + 1.25rem)`,BK=xU,VK=[`a[href]`,`button`,`input`,`select`,`textarea`,`[contenteditable="true"]`,`[role="button"]`,`[role="combobox"]`,`[role="dialog"]`,`[role="listbox"]`,`[role="menu"]`,`[role="menuitem"]`,`[role="option"]`,`[role="textbox"]`,`[data-radix-popper-content-wrapper]`].join(`,`),HK=e=>e instanceof HTMLElement,UK=e=>HK(e)?!!e.closest(VK):!1,WK=(e,t)=>typeof document>`u`||!e||e===document.body||e===document.documentElement||UK(e)?!0:!t?.contains(e),GK=()=>{let{isAboutDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isImagePreviewOpen:r,isMultiRunLauncherOpen:i,isSessionSwitcherOpen:a,isSettingsDialogOpen:o}=q.getState();return e||t||n||r||i||a||o},KK=Z.memo(({currentSessionId:e,virtualizerKey:t,isDesktopExpandedInput:n,isMobile:r,stickyUserHeader:i,directory:a,scrollRef:o,messageListRef:s,pendingRevealWork:c,initialPinRevealComplete:l=!1,renderedMessages:u,isLoadingOlder:d,sessionIsWorking:f,streamingMessageId:p,activeStreamingPhase:m,retryOverlay:h,handleMessageContentChange:g,getAnimationHandlers:_,handleHistoryScroll:v,handleHistoryUpwardIntent:y,onTimelineIsAtEndChange:b,timelineFollowSuspended:x,timelineHistoryAnchorToken:S,scrollToBottom:C,sessionQuestions:w,sessionPermissions:T,sessionForms:E,retryActionCopy:D,isProgrammaticFollowActive:O,showLoadOlderButton:k,turnIds:A,activeTurnId:j,onSelectTurn:M,showPromptNavigator:N,canLoadEarlierPrompts:P,isLoadingOlderPrompts:F,onLoadEarlierPrompts:I,transcriptStatusRow:L})=>{let{t:R}=Kn(),z=ed(e=>e.legendTimelineEnabled),B=RD({isLoadingOlder:d}),[V,H]=Z.useState({sessionId:e,directory:a,reserved:k}),ee=V.sessionId===e&&V.directory===a,U=ee&&V.reserved||k;(!ee||V.reserved!==U)&&H({sessionId:e,directory:a,reserved:U});let te=zD({isMobile:r,isLoadingOlder:B})?(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 z-20 pointer-events-none`,role:`status`,"aria-live":`polite`,children:(0,$.jsx)(`div`,{className:`chat-column flex items-center justify-center gap-1.5 pt-3 pb-1`,children:(0,$.jsx)(`span`,{className:`oc-mobile-glass-control flex size-8 items-center justify-center rounded-full text-[var(--surface-mutedForeground)]`,"aria-label":R(`chat.history.loadingMore`),children:(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`,"aria-hidden":`true`})})})}):null,ne=r&&U?(0,$.jsx)(`div`,{className:Y(`flex justify-center pt-3 pb-4`,!B&&`invisible`),"aria-hidden":!B,children:(0,$.jsxs)(`span`,{role:`status`,className:`flex items-center gap-1.5 text-[var(--surface-mutedForeground)] opacity-60`,"aria-busy":B,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`typography-meta`,children:R(`chat.history.loadingMore`)})]})}):null,W=Z.useRef(new Map),G=Z.useRef(new WeakMap),re=Z.useRef(new Map),ie=Z.useMemo(()=>{let e=new Map;for(let t=0;t<u.length;t+=1){let n=u[t];if(n.info.role!==`user`)continue;if(iL(n)){let r=sL(u,t)??``,i=re.current.get(n.info.id);if(i&&i.command===r)e.set(n.info.id,i.parts);else{let t=[{type:`text`,text:r?`$ ${r}`:`/shell`}];re.current.set(n.info.id,{command:r,parts:t}),e.set(n.info.id,t)}continue}if(La(n.parts))continue;let r=G.current.get(n.parts);r||(r=AD(n.parts),G.current.set(n.parts,r)),r.length!==0&&e.set(n.info.id,r)}let t=W.current;if(t.size===e.size){let n=!0;for(let[r,i]of e)if(t.get(r)!==i){n=!1;break}if(n)return t}return W.current=e,e},[u]),ae=Z.useMemo(()=>A.filter(e=>ie.has(e)),[ie,A]),oe=Z.useRef(new Map),se=Z.useMemo(()=>{let e=new Map,t=new Map,n;for(let r of u){if(r.info.role===`user`){ie.has(r.info.id)&&(n=r.info.id),n&&e.set(r.info.id,n);continue}let i=r.info.parentID,a=i?e.get(i):n;if(!a)continue;e.set(r.info.id,a);let o=KH(r.parts).trim();o&&t.set(a,o.slice(0,600))}let r=oe.current;return(r.size!==e.size||[...e].some(([e,t])=>r.get(e)!==t))&&(oe.current=e),{owners:oe.current,replies:t}},[ie,u]),K=Z.useMemo(()=>{if(!j||ie.has(j))return j;let e=A.indexOf(j);for(let t=e-1;t>=0;--t){let e=A[t];if(ie.has(e))return e}return null},[j,ie,A]),ce=J(e=>{e.defaultPrevented||UK(e.target)||typeof window<`u`&&window.getSelection()?.type===`Range`||o.current?.focus({preventScroll:!0})});return Ml({scrollRef:o,enabled:z,onUpwardIntent:y}),z?(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,n?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":n,children:(0,$.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,$.jsx)(dH,{ref:s,sessionKey:e,virtualizerKey:t,disableStaging:c,initialPinRevealComplete:l,messages:u,sessionIsWorking:f,activeStreamingMessageId:p,activeStreamingPhase:m,retryOverlay:h,onMessageContentChange:g,getAnimationHandlers:_,isLoadingOlder:d,scrollToBottom:C,scrollRef:o,directory:a,timelineScrollClassName:`absolute inset-0 z-0 chat-scroll overlay-scrollbar-target`,timelineScrollStyle:IK,timelineScrollDataset:LK,timelineOnScroll:v,timelineFollowEnabled:!c&&!x,timelineHistoryAnchorToken:S,timelineOnIsAtEndChange:b,headerSlot:(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:zK},"aria-hidden":`true`}),ne,te]}),footerSlot:(0,$.jsxs)($.Fragment,{children:[(w.length>0||T.length>0)&&(0,$.jsxs)(`div`,{children:[w.map(e=>(0,$.jsx)(RH,{question:e},e.id)),T.map(e=>(0,$.jsx)(jH,{permission:e},e.id))]}),L?(0,$.jsx)(`div`,{className:`mb-1`,children:L}):null,(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?BK:yU},"aria-hidden":`true`})]})}),(0,$.jsx)(Vc,{containerRef:o,suppressVisibility:O,userIntentOnly:!0,observeMutations:!1}),N&&ae.length>=2?(0,$.jsx)(mU,{turnIds:ae,previewsByTurnId:ie,scrollRef:o,turnByMessageId:se.owners,repliesByTurnId:se.replies,activeTurnId:K,onSelectTurn:M,canLoadEarlier:P,isLoadingOlder:F,onLoadEarlier:I}):null]})}):(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,n?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":n,children:(0,$.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,$.jsx)(_l,{className:Y(`absolute inset-0 overflow-y-auto overflow-x-hidden z-0 chat-scroll overlay-scrollbar-target`),ref:o,style:IK,observeMutations:!1,hideTopShadow:r&&i,hideBottomShadow:r,tabIndex:0,onClick:ce,onScroll:v,"data-scroll-shadow":`true`,"data-scrollbar":`chat`,children:(0,$.jsxs)(`div`,{className:Y(`oc-chat-scroll-content relative z-0 min-h-full`,r&&`chat-scroll-foot-inset`),children:[ne,te,(0,$.jsx)(dH,{ref:s,sessionKey:e,virtualizerKey:t,timelineHistoryAnchorToken:S,disableStaging:c,initialPinRevealComplete:l,messages:u,sessionIsWorking:f,activeStreamingMessageId:p,activeStreamingPhase:m,retryOverlay:h,onMessageContentChange:g,getAnimationHandlers:_,isLoadingOlder:d,scrollToBottom:C,scrollRef:o,directory:a,liveStatusSlot:u.length>0?(0,$.jsx)(`div`,{className:`mb-1`,children:L??(0,$.jsx)(QL,{})}):null}),(w.length>0||T.length>0||E.length>0||D)&&(0,$.jsxs)(`div`,{children:[D?(0,$.jsxs)(`div`,{className:`mb-2 rounded-xl border border-border/20 bg-muted/10 px-2.5 py-2`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:D.title}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mt-1`,children:D.message}),D.link?(0,$.jsx)(`a`,{href:D.link,target:`_blank`,rel:`noreferrer`,className:`mt-2 inline-block typography-meta text-primary underline`,children:D.label}):null]}):null,w.map(e=>(0,$.jsx)(RH,{question:e},e.id)),T.map(e=>(0,$.jsx)(jH,{permission:e},e.id)),E.map(e=>(0,$.jsx)(BH,{form:e,directory:a},e.id))]}),(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?bU:yU},"aria-hidden":`true`})]})}),(0,$.jsx)(Vc,{containerRef:o,suppressVisibility:O,userIntentOnly:!0,observeMutations:!1}),N&&ae.length>=2?(0,$.jsx)(mU,{turnIds:ae,previewsByTurnId:ie,scrollRef:o,turnByMessageId:se.owners,repliesByTurnId:se.replies,activeTurnId:K,onSelectTurn:M,canLoadEarlier:P,isLoadingOlder:F,onLoadEarlier:I}):null]})})},(e,t)=>e.currentSessionId===t.currentSessionId&&e.virtualizerKey===t.virtualizerKey&&e.isDesktopExpandedInput===t.isDesktopExpandedInput&&e.isMobile===t.isMobile&&e.stickyUserHeader===t.stickyUserHeader&&e.directory===t.directory&&e.scrollRef===t.scrollRef&&e.messageListRef===t.messageListRef&&e.pendingRevealWork===t.pendingRevealWork&&e.initialPinRevealComplete===t.initialPinRevealComplete&&e.renderedMessages===t.renderedMessages&&e.isLoadingOlder===t.isLoadingOlder&&e.sessionIsWorking===t.sessionIsWorking&&e.streamingMessageId===t.streamingMessageId&&e.activeStreamingPhase===t.activeStreamingPhase&&e.retryOverlay===t.retryOverlay&&e.handleMessageContentChange===t.handleMessageContentChange&&e.getAnimationHandlers===t.getAnimationHandlers&&e.handleHistoryScroll===t.handleHistoryScroll&&e.handleHistoryUpwardIntent===t.handleHistoryUpwardIntent&&e.onTimelineIsAtEndChange===t.onTimelineIsAtEndChange&&e.timelineFollowSuspended===t.timelineFollowSuspended&&e.timelineHistoryAnchorToken===t.timelineHistoryAnchorToken&&e.scrollToBottom===t.scrollToBottom&&e.sessionQuestions===t.sessionQuestions&&e.sessionPermissions===t.sessionPermissions&&e.sessionForms===t.sessionForms&&e.retryActionCopy===t.retryActionCopy&&e.isProgrammaticFollowActive===t.isProgrammaticFollowActive&&e.showLoadOlderButton===t.showLoadOlderButton&&e.turnIds===t.turnIds&&e.activeTurnId===t.activeTurnId&&e.onSelectTurn===t.onSelectTurn&&e.showPromptNavigator===t.showPromptNavigator&&e.canLoadEarlierPrompts===t.canLoadEarlierPrompts&&e.isLoadingOlderPrompts===t.isLoadingOlderPrompts&&e.onLoadEarlierPrompts===t.onLoadEarlierPrompts&&e.transcriptStatusRow===t.transcriptStatusRow);KK.displayName=`ChatViewport`;var qK=[{id:1,toolRows:[{id:`search`,titleWidth:`w-24`,detailWidth:`w-52`},{id:`read`,titleWidth:`w-20`,detailWidth:`w-36`}],textWidths:[`w-24`,`w-[92%]`,`w-[78%]`]}],JK=e=>qn(e.path),YK=(e,t)=>{if(!t)return e;let n=e.indexOf(t);return n===-1?e:(0,$.jsxs)($.Fragment,{children:[e.slice(0,n),(0,$.jsx)(`span`,{className:`font-medium`,children:t}),e.slice(n+t.length)]})},XK=e=>{let t=Math.ceil(Math.max(0,e)/AK);return Math.min(MK,kK+t*jK)},ZK=Z.memo(({autoOpenDraft:e=!0,readOnly:t=!1,active:n=!0,sessionId:r,sessionDirectory:i,sessionViewKey:a,onSessionViewEstimateChange:o,composerSurface:s,hostedFeatures:c,assistantHistory:u,onRevertMessage:d,warning:f=null,pendingUserMessages:p=SK,onPendingUserMessagesMaterialized:m,committedDraftHandoffMessageId:h=null})=>{let g=c??UD(void 0),{t:_}=Kn();Bn(()=>{Ta()},[]);let v=ma(e=>e.openNewSessionDraft),y=ma(e=>e.setCurrentSession),b=ma(e=>e.newSessionDraft),x=ma(e=>e.newSessionDraft.draftSubmitting??!1),S=ma(e=>e.newSessionDraft.draftEstablishing??!1),C=ma(e=>e.forkTransition),w=pa(e=>e.projects),T=pa(e=>e.activeProjectId),E=aa(e=>e.providers),D=Sh(),O=oa(),k=i??O;Bn(()=>{!n||!r||!k||Qr(k,r)},[n,r,k]);let A=J(e=>D.ensureSessionRenderable(e,{directory:k})),j=q(e=>e.isExpandedInput),M=q(e=>e.stickyUserHeader),N=q(e=>e.promptNavigatorEnabled),P=q(e=>e.allowPromptingSubagentSessions),F=q(e=>e.isTimelineDialogOpen),I=q(e=>e.setTimelineDialogOpen),L=Wa(e=>n&&r?e.streamingMessageIds.get(r)??null:null),R=Wa(e=>L?e.messageStreamStates.get(L)?.phase??null:null),z=uo(r??``,k),B=XK(z);Z.useEffect(()=>{!a||!o||o(a,B)},[o,B,a]);let V=ra(r??``,k).renderable,H=va(r,k),ee=Vi(r),U=H??ee,te=Fx({sessionId:r,hasSessionEntity:!!U,hasRenderableSessionSnapshot:V,composerSurfaceKind:s?.kind}),ne=r?JSON.stringify([k,r]):null,[W,G]=Z.useState({key:ne,attempt:0}),re=fa(r??``,k,{suspendPartUpdates:!!L,suspendPartUpdatesForMessageId:L,enabled:n}),ie=r?re:xK,ae=b.pendingUserMessage,oe=ma(e=>r?e.retainedPendingUserMessages.get(r):void 0)??SK,se=!!(h||oe.length>0),ce=ma(e=>e.clearRetainedPendingUserMessages),le=Z.useMemo(()=>{if(oe.length===0)return p;if(p.length===0)return oe;let e=new Set(p.map(e=>e.info.id));return[...p,...oe.filter(t=>!e.has(t.info.id))]},[p,oe]),ue=Z.useMemo(()=>yK(ie),[ie]),de=Z.useMemo(()=>{if(!ue.modelId)return _(`common.unavailable`);let e=E.find(e=>e.id===ue.providerId);return fi(e,ue.modelId)||ue.modelId},[E,ue.modelId,ue.providerId,_]),fe=ko(r??``,k),pe=$i(r??``,k),[me,he]=Z.useState(null),ge=!!r&&me===r,_e=J(()=>{if(!r||ge)return;let e=r,t=k;he(e);let n=vr(()=>{let n=at();if(!n)throw Error(`unbound`);return n.getTranscript(bt(t,e))});Bo(Ja({kind:`refresh`,sessionID:e,directory:t,purpose:`retry`,source:`network`,request:fe?{sessionID:e,status:fe.status===`ready`?`ready`:fe.status,error:fe.error}:void 0,hydration:pe,error:fe?.error})),(async()=>{try{await Ut(t,e),await D.ensureSessionRenderable(e,{directory:t});try{let r=vr(()=>{let n=at();if(!n)throw Error(`unbound`);return n.getTranscript(bt(t,e))});n&&r&&Ti({trigger:`user-refresh`,sessionID:e,directory:t,purpose:`retry`,before:n,after:r})}catch{}}catch(n){Bo(Ja({kind:`request-error`,sessionID:e,directory:t,purpose:`retry`,source:`network`,hydration:pe,error:n}))}finally{he(t=>t===e?null:t)}})()}),ve=Ro(r??``,k).boundary,ye=J(async e=>{if(ve.kind===`has-more`){await un(k,e,Le||Re?void 0:50);return}if(ve.kind===`unknown`){await Lt(k,e);return}u&&!u.complete&&await u.fetchPrevious()}),be=to(r??``,k),xe=Ma(r??``,k),Se=Oa(k),Ce=be??wK,we=vi(r,k),Te=rr(r,k),Ee=yr(e=>r?e.forms[r]??CK:CK),De=Z.useMemo(()=>Ee.filter(e=>!mt(e.metadata)),[Ee]);Z.useEffect(()=>{r&&Cr({sessionID:r,directory:k}).catch(e=>{console.error(`[ChatContainer] Failed to list session forms:`,e)})},[r,k]),nK(r,k,ie,Te.length);let Oe=Z.useMemo(()=>{if(!r||we.length>0||Te.length>0)return!1;let e=Ce.type??`idle`;if(e===`busy`||e===`retry`||PD(le,{resolvedSessionStatus:be,sessionStatusObservedAt:xe}))return!0;let t=ie[ie.length-1]?.info,n=t?.time?.created;return be&&typeof xe==`number`&&typeof n==`number`&&n<=xe||typeof Se==`number`&&typeof n==`number`&&n<=Se?!1:!!(t&&t.role===`assistant`&&typeof t.time?.completed!=`number`)},[r,le,be,ie,we.length,Te.length,Ce.type,xe,Se]),ke=Z.useMemo(()=>!r||Ce.type!==`retry`?null:{sessionId:r,message:(typeof Ce.message==`string`?(Ce.message??``).trim():``)||DK,confirmedAt:Ce.confirmedAt},[r,Ce]),[Ae,je]=Z.useState(0),Me=Z.useRef(null);Z.useEffect(()=>{if(!ke||typeof ke.confirmedAt==`number`){Me.current=null,je(0);return}Me.current!==ke.sessionId&&(Me.current=ke.sessionId,je(Date.now()))},[ke]);let Ne=Z.useMemo(()=>!ke||WH(Ce)?null:{...ke,fallbackTimestamp:Ae},[ke,Ae,Ce]),Pe=Z.useMemo(()=>GH(Ce,e=>_(e)),[Ce,_]),Fe=!!(r&&D.isLoading(r,{directory:k})),Ie=Z.useMemo(()=>{if(!r)return null;let e=FD({boundary:ve,assistantComplete:u?.complete??!0});return{limit:ve.loadedTurns,complete:e.complete,canLoadEarlier:e.canLoadEarlier,loading:ID({syncLoading:Fe,assistantLoading:!!u?.loading})}},[u?.complete,u?.loading,r,ve,Fe]),Le=q(e=>e.isMobile),Re=Tl()!==null,ze=K(),Be=wx(),Ve=!!b?.open,He=ai(e=>e.error),Ue=j,We=Re||Le||ze||Be===`mini-chat`,Ge=Z.useRef(null),Ke=Z.useMemo(()=>{let e=b?.selectedProjectId?w.find(e=>e.id===b.selectedProjectId)??null:null,t=T?w.find(e=>e.id===T)??null:null,n=e??t??w[0]??null;return n?JK(n):null},[T,b?.selectedProjectId,w]),qe=Gi(r,k),Je=a??r??``,[Ye,Xe]=Z.useState(null),Ze=Bx(Ye,Je,qe,ue);Bn(()=>{Xe(e=>Bx(e,Je,qe,ue))},[qe,ue,Je]);let Qe=qe??Ze?.parentTarget??null,$e=Ze?.execution??ue,et=ll(),tt=et!==null&&r===et,nt=J(()=>{Qe&&y(Qe.id,Qe.directory)}),rt=Qe?.session?.title,it=g.returnToParent&&Qe&&!tt?(0,$.jsxs)(Xn,{type:`button`,variant:`outline`,size:`xs`,onClick:nt,className:`absolute left-3 top-3 z-20 !font-normal bg-[var(--surface-background)]/95`,"aria-label":_(`chat.container.returnToParent.aria`),title:rt?.trim()?_(`chat.container.returnToParent.titleNamed`,{title:rt}):_(`chat.container.returnToParent.title`),children:[(0,$.jsx)(X,{name:`arrow-left`,className:`h-4 w-4`}),_(`chat.container.returnToParent.label`)]}):null,ot=Ix({readOnly:t,sessionIdentityPending:te,isSubagentSession:!!U?.parentID||!!Ze,allowPromptingSubagentSessions:P}),st=$e.modelId===ue.modelId?de:$e.modelId?fi(E.find(e=>e.id===$e.providerId),$e.modelId)||$e.modelId:_(`common.unavailable`),ct=Qe?(0,$.jsx)(qD,{agentName:$e.agentName,providerId:$e.providerId,modelId:$e.modelId,modelName:st}):(0,$.jsx)(qD,{}),lt=J(e=>{q.getState().setAllowPromptingSubagentSessions(e.allowPromptingSubagentSessions)}),ut=J(e=>{if(typeof window>`u`||e.source!==window.parent||e.origin!==window.location.origin)return;let t=e.data;t?.type===`openchamber:chat-settings-sync`&&typeof t.payload?.allowPromptingSubagentSessions==`boolean`&<({allowPromptingSubagentSessions:t.payload.allowPromptingSubagentSessions})}),dt=typeof window<`u`&&window.parent!==window;Hn(`message`,ut,dt?window:EK),Un(()=>{if(!dt)return;let e=window;e.__openchamberApplyChatSettingsSync=lt,window.parent.postMessage({type:`openchamber:chat-settings-request`},window.location.origin)}),zn(()=>{if(typeof window>`u`)return;let e=window;e.__openchamberApplyChatSettingsSync===lt&&delete e.__openchamberApplyChatSettingsSync}),Z.useEffect(()=>{g.newSessionDraft&&e&&!r&&!Ve&&v()},[e,r,Ve,g.newSessionDraft,v]);let ft=Z.useRef(()=>{}),pt=J(e=>{ft.current(e)}),ht=Z.useRef(()=>{}),gt=J(()=>{ht.current()}),_t=ed(e=>e.legendTimelineEnabled),[vt,yt]=Z.useState(!0),[xt,St]=Z.useState(!1),[Ct,Tt]=Z.useState(!1),[Et,Dt]=Z.useState(0),Ot=J(()=>{Dt(e=>e+1)}),kt=J((e,t)=>{yt(e),e&&Tt(!1),t!==void 0&&St(t)});Z.useEffect(()=>{yt(!0),St(!1),Tt(!1)},[r]);let{scrollRef:At,notifyContentChange:jt,getAnimationHandlers:Mt,goToBottom:Nt,scrollToBottomOnSend:Pt,releaseAutoFollow:Ft,beginHistoryViewportPreservation:It,endHistoryViewportPreservation:Rt,restoreSnapshot:zt,isPinned:Bt,isFollowingProgrammatically:Vt,showScrollButton:Ht}=HU({scrollControllerRef:Ge,enabled:n&&!_t,currentSessionId:r,viewportKey:a,sessionMessageCount:z,sessionIsWorking:Oe,isMobile:Le,onActiveTurnChange:pt,onUpwardUserIntent:gt}),Wt=Z.useRef(null);dW({enabled:Le,scrollRef:At,scopeRef:Wt});let Gt=Z.useRef([]),Kt=Z.useMemo(()=>{let e=nO(u?.entries??[],r,Gt.current);return Gt.current=e,e},[u?.entries,r]),qt=Z.useRef([]),Jt=Z.useMemo(()=>{if(!u)return ie;let e=aO(u.entries,r,ie,qt.current);return qt.current=e,e},[u,r,ie]),Yt=Z.useMemo(()=>ND(Kt.length===0?Jt:r?[...Kt,eO(r),...Jt]:Kt,le),[r,Jt,Kt,le]),Xt=Z.useRef(null),Zt=Z.useMemo(()=>HD({sessionId:r,messages:Yt,retained:Xt.current}),[r,Yt]);Xt.current=Zt.retained;let Qt=Zt.messages,$t=Z.useRef(null),en=$t.current===r,tn=Z.useRef(GG),nn=r?`${k}\n${r}`:null,rn=J(()=>WG(Qt));Z.useEffect(()=>{if(!JG({active:n,sessionId:r,sessionKey:nn,sessionIsWorking:Oe})){tn.current=YG(tn.current);return}let e=r,t=k,i=setInterval(()=>{let n=rn(),r=KG(tn.current,{sessionKey:nn,working:!0,streaming:!!L,fingerprint:n,now:Date.now(),thresholdMs:BG,cooldownMs:VG,maxAttempts:3});tn.current=r.state,r.shouldRefresh&&(qG({sessionId:e,directory:t,stalledForMs:r.stalledForMs,attempt:r.state.attempts,fingerprint:n}),wt(t,e).catch(()=>{}))},HG);return()=>clearInterval(i)},[n,r,k,rn,Oe,L,nn]);let an=Z.useMemo(()=>{if(le.length===0)return[];let e=new Set([...Kt,...Jt].filter(e=>MD(e.parts)).map(e=>e.info.id));return le.map(e=>e.info.id).filter(t=>e.has(t))},[Jt,Kt,le]);Z.useEffect(()=>{an.length!==0&&(m?.(an),r&&ce(r,an))},[ce,r,an,m]);let on=yG({sessionId:r,directory:k,messages:Qt,historyMeta:Ie,scrollRef:At,messageListRef:Ge,loadMoreMessages:ye,goToBottom:Nt,releaseAutoFollow:Ft,beginHistoryViewportPreservation:It,endHistoryViewportPreservation:Rt,isPinned:_t?vt:Bt,showScrollButton:_t?xt:Ht,isMobile:Le,onWillLoadEarlier:Ot}),sn=J(()=>{Tt(!1),Nt(`instant`)}),cn=J(()=>{Tt(!1),Pt()}),ln=J(()=>{Tt(!0),on.handleHistoryUpwardIntent()}),dn=LD({isMobile:Le,canLoadEarlier:on.historySignals.canLoadEarlier,isLoadingOlder:on.isLoadingOlder}),fn=on.isLoadingOlder,pn=on.loadEarlier,mn=J(()=>{Tt(!0),pn({userInitiated:!0})});ft.current=on.handleActiveTurnChange,ht.current=on.handleHistoryUpwardIntent,Z.useEffect(()=>{(we.length!==0||Te.length!==0)&&jt(`permission`)},[jt,we,Te]);let hn=zG({sessionId:r,turnIds:on.turnIds,activeTurnId:on.activeTurnId,scrollToTurn:on.scrollToTurn,scrollToMessage:on.scrollToMessage,resumeToBottom:sn}),gn=ot.showReadOnlyBanner?ct:t?null:(0,$.jsx)(sD,{surface:s,scrollToBottom:cn,showScrollToBottom:Le&&on.showScrollToBottom,onScrollToBottom:hn.resumeToLatest,submissionBlocked:ot.blockSubmission},`composer-input`),_n=J(e=>{hn.scrollToTurnId(e,{behavior:`smooth`})}),vn=on.historySignals.canLoadEarlier,yn=g.promptNavigator&&!Le&&!ze&&!Ue&&N&&on.turnIds.length>=2;Z.useEffect(()=>{yn||q.getState().setPromptNavigatorPanelOpen(!1)},[yn]);let bn=J(e=>{if(!n||!r)return;let t=e;t.detail?.sessionId&&t.detail.sessionId!==r||Nt(`instant`)});Hn(TK,bn,n&&r&&typeof window<`u`?window:EK);let xn=J(e=>{if(!n||!r||Ue||e.defaultPrevented||e.isComposing||e.key!==`ArrowUp`&&e.key!==`ArrowDown`||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let{activeMainTab:t}=q.getState();if(t!==`chat`||GK())return;let i=At.current;if(WK(document.activeElement,i)||UK(e.target))return;e.preventDefault();let a=e.key===`ArrowUp`?-1:1;hn.scrollByTurnOffset(a,{resumePastEnd:!1})});Hn(`keydown`,xn,n&&r&&!Ue&&typeof window<`u`?window:EK);let Sn=Z.useRef(0),Cn=J(()=>{let e=At.current;e&&e.style.setProperty(`--chat-scroll-height`,`${e.clientHeight}px`)}),wn=J(()=>{Sn.current||=requestAnimationFrame(()=>{Sn.current=0,Cn()})});Bn(()=>{n&&Cn()},[n,r,Ue,Cn]);let Tn=typeof ResizeObserver<`u`;Ln(n&&Tn?At:null,wn),Hn(`resize`,wn,n&&!Tn&&typeof window<`u`?window:EK),zn(()=>{Sn.current&&=(cancelAnimationFrame(Sn.current),0)});let En=Z.useRef(null),Dn=Z.useRef(0),On=BD({transcriptMessageCount:ie.length,pendingUserCount:le.length,historyPrefixCount:Kt.length}),kn=VD({hasTranscriptShell:On,transcriptRecords:ie,p0Satisfied:pe.p0Satisfied,hasBusyShell:Oe&&On,hasImmediateShell:le.length>0||Kt.length>0,hasRenderableSessionSnapshot:V,prefetchStatus:fe?.status,syncLoading:!!(r&&D.isLoading(r,{directory:k})),userRetrying:ge,hasPaintedTranscript:en});kn===`pass`&&Qt.length>0&&($t.current=r);let An=!!r&&kn===`hydrating`;CG({scope:JSON.stringify([l(),k,r]),enabled:n&&!Le&&!Re&&!!r&&kn===`pass`&&pe.p0Satisfied&&!Oe&&!Ie?.loading&&!on.isLoadingOlder,cursor:ve.kind===`has-more`?ve.cursor:null,loadedTurns:ve.loadedTurns,messages:Qt,scrollRef:At,loadPrevious:e=>un(k,r,e)});let jn=!!r&&kn===`load-error`;Z.useEffect(()=>{!jn||!r||Bo(Ja({kind:`request-error`,sessionID:r,directory:k,purpose:`load-failed`,source:`network`,request:fe?{sessionID:r,status:fe.status===`ready`?`ready`:fe.status,error:fe.error}:void 0,hydration:pe,error:fe?.error}))},[r,k,jn,fe,pe]),Z.useEffect(()=>{if(!n||!r||An)return;let e=Qt.length,t=En.current!==r,i=!t&&Dn.current===0&&e>0;if(!t&&!i){En.current===r&&(Dn.current=e);return}let a=typeof window<`u`&&window.location.hash.length>0;if(En.current=r,Dn.current=e,a){Ft();return}let o=()=>{zt()};typeof window>`u`?o():window.requestAnimationFrame(o)},[n,r,An,Ft,zt,Qt.length]),Z.useEffect(()=>{G(e=>e.key===ne?e:{key:ne,attempt:0})},[ne]),Z.useEffect(()=>{if(!n||!r||W.key!==ne||!bK({sessionId:r,hasRenderableSessionSnapshot:V,hasCurrentSessionEntity:!!U})||(A(r),U||W.attempt>=2))return;let e=W.attempt+1,t=window.setTimeout(()=>{G(t=>t.key===ne&&t.attempt===W.attempt?{key:ne,attempt:e}:t)},e*1e3);return()=>window.clearTimeout(t)},[n,U,r,k,A,V,ne,W]);let Mn=C&&r&&(C.targetSessionId?r===C.targetSessionId:r===C.sourceSessionId)?C:null;if(Mn){let e=Mn.stage===`preparing`?`chat.forkTransition.preparing`:Mn.stage===`copying`?`chat.forkTransition.copying`:Mn.stage===`opening`?`chat.forkTransition.opening`:`chat.forkTransition.loading`,t=[`preparing`,`copying`,`opening`,`loading`],n=_(`chat.forkTransition.progress`,{current:Math.max(1,t.indexOf(Mn.stage)+1),total:t.length});return(0,$.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center bg-background px-6 text-center`,children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,role:`status`,"aria-live":`polite`,"aria-label":`${_(e)}. ${n}`,children:[(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(e)}),(0,$.jsx)(ey,{})]}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground/70 tabular-nums`,children:n})]})})}if(!r&&!Ve)return e&&!He?(0,$.jsx)(`div`,{className:`flex h-full flex-col bg-background`}):(0,$.jsx)(`div`,{className:`flex flex-col h-full bg-background`,children:(0,$.jsx)(YD,{})});if(!r&&Ve){if((x||S)&&ae){let e=`draft:${b.draftID??`pending`}`;return(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex h-full flex-col bg-background`,Le&&`oc-chat-composer-swap-scope`),children:[(0,$.jsx)(KK,{currentSessionId:e,virtualizerKey:e,isDesktopExpandedInput:!1,isMobile:Le,stickyUserHeader:M,directory:k,scrollRef:At,messageListRef:Ge,pendingRevealWork:!1,initialPinRevealComplete:!0,renderedMessages:[ae],isLoadingOlder:!1,sessionIsWorking:!0,streamingMessageId:null,activeStreamingPhase:null,retryOverlay:null,handleMessageContentChange:jt,getAnimationHandlers:Mt,handleHistoryScroll:on.handleHistoryScroll,handleHistoryUpwardIntent:ln,onTimelineIsAtEndChange:kt,timelineFollowSuspended:!1,timelineHistoryAnchorToken:Et,scrollToBottom:sn,sessionQuestions:[],sessionPermissions:[],sessionForms:[],retryActionCopy:null,isProgrammaticFollowActive:Vt,showLoadOlderButton:!1,turnIds:[],activeTurnId:null,onSelectTurn:_n,showPromptNavigator:!1,canLoadEarlierPrompts:!1,isLoadingOlderPrompts:!1,onLoadEarlierPrompts:mn,transcriptStatusRow:(0,$.jsx)(`div`,{className:`chat-column`,role:`status`,"aria-live":`polite`,children:(0,$.jsxs)(`div`,{className:`flex h-[1.2rem] items-center py-0.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(ey,{})]})})},e),(0,$.jsxs)(`div`,{className:Y(`invisible pointer-events-none relative z-10`,Le&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Ue?`absolute inset-0 bg-background`:`bg-background`),"aria-hidden":`true`,children:[!Le&&!Ue?(0,$.jsx)(RK,{}):null,gn]}),(0,$.jsx)(mD,{})]})}return x||S?(0,$.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center bg-background px-6 text-center`,children:(0,$.jsx)(`div`,{className:`flex flex-col items-center gap-3`,role:`status`,"aria-live":`polite`,"aria-label":_(`chat.emptyState.establishingConversation`),children:(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(ey,{})]})})}):(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[We&&!Ue?(0,$.jsxs)(`div`,{className:`oc-draft-center flex min-h-0 flex-1 flex-col items-center justify-center px-6 text-center`,children:[(0,$.jsx)(`h1`,{className:`text-balance text-3xl font-normal tracking-tight text-foreground`,children:YK(Ke?_(`chat.emptyState.draftTitleWithProject`,{project:Ke}):_(`chat.emptyState.draftTitle`),Ke)}),(0,$.jsx)(MS,{onSubmit:e=>ka.getState().requestPresetSubmit(e),className:`oc-draft-starters mt-8 max-w-md`})]}):null,(0,$.jsx)(`div`,{className:Y(`relative z-10 flex min-h-0`,Le&&`oc-mobile-composer-foot`,Ue?`flex-1 bg-background`:We?Y(`bg-background`,`px-0`):`flex-1 items-center justify-center bg-background px-0 pb-[6vh]`),children:gn})]})}return r?jn?(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[it,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Ue?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Ue,children:Ue?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center px-6`,children:(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center text-center`,role:`alert`,"aria-live":`polite`,children:[(0,$.jsx)(`div`,{className:`mb-4 flex size-10 items-center justify-center rounded-full bg-[var(--status-error-background)] text-[var(--status-error-foreground)]`,children:(0,$.jsx)(X,{name:`error-warning`,className:`size-5`,"aria-hidden":`true`})}),(0,$.jsx)(`h2`,{className:`typography-ui-header text-foreground`,children:_(`chat.history.loadFailedTitle`)}),(0,$.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:_(`chat.history.loadFailedDescription`)}),(0,$.jsxs)(Xn,{type:`button`,className:`mt-5`,onClick:_e,children:[(0,$.jsx)(X,{name:`refresh`,className:`size-4`,"aria-hidden":`true`}),_(`chat.history.retry`)]})]})})}),(0,$.jsx)(`div`,{className:Y(`relative z-10`,Le&&`oc-mobile-composer-foot`,Ue?`flex-1 min-h-0 bg-background`:`bg-background`),children:gn},`composer-foot`)]}):An?(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex flex-col h-full bg-background`,Le&&`oc-chat-composer-swap-scope`),children:[it,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Ue?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Ue,children:(0,$.jsx)(`div`,{ref:At,className:`absolute inset-0 overflow-y-auto overflow-x-hidden bg-background pt-6 chat-scroll`,style:IK,children:(0,$.jsx)(`div`,{className:`space-y-4 chat-scroll-foot-inset`,children:qK.map(e=>(0,$.jsx)(`div`,{className:`group w-full`,children:(0,$.jsx)(`div`,{className:`chat-message-column`,children:(0,$.jsxs)(`div`,{className:`space-y-2.5 px-4 py-3`,children:[(0,$.jsx)(`div`,{className:`space-y-1.5`,children:e.toolRows.map(t=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(gf,{className:`h-3.5 w-3.5 rounded-full flex-shrink-0`}),(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,t.titleWidth)}),(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,t.detailWidth)})]},`${e.id}-${t.id}`))}),(0,$.jsxs)(`div`,{className:`space-y-1.5 pt-1`,children:[(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,e.textWidths[0])}),(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,e.textWidths[1])}),(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,e.textWidths[2])})]})]})})},e.id))})})}),(0,$.jsxs)(`div`,{className:Y(`relative z-10`,Le&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Ue?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!Le&&!Ue?(0,$.jsx)(RK,{}):null,gn]},`composer-foot`)]}):Qt.length===0&&!Oe?(0,$.jsxs)(`div`,{className:`relative flex flex-col h-full bg-background`,children:[it,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Ue?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Ue,children:Ue?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,$.jsx)(YD,{})})}),(0,$.jsx)(`div`,{className:Y(`relative z-10`,Le&&`oc-mobile-composer-foot`,Ue?`flex-1 min-h-0 bg-background`:`bg-background`),children:gn},`composer-foot`),(0,$.jsx)(mD,{})]}):(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex flex-col h-full bg-background`,Le&&`oc-chat-composer-swap-scope`),children:[f?(0,$.jsx)(`div`,{className:`shrink-0 border-b border-border bg-[var(--status-warning-background)] px-4 py-2.5 typography-meta text-[var(--status-warning-foreground)]`,children:f}):null,it,(0,$.jsx)(KK,{currentSessionId:r,virtualizerKey:a??r,isDesktopExpandedInput:Ue,isMobile:Le,stickyUserHeader:M,directory:k,scrollRef:At,messageListRef:Ge,pendingRevealWork:on.pendingRevealWork,initialPinRevealComplete:se,renderedMessages:on.renderedMessages,isLoadingOlder:fn,sessionIsWorking:Oe,streamingMessageId:L,activeStreamingPhase:R,retryOverlay:Ne,handleMessageContentChange:jt,getAnimationHandlers:Mt,handleHistoryScroll:on.handleHistoryScroll,handleHistoryUpwardIntent:ln,onTimelineIsAtEndChange:kt,timelineFollowSuspended:Ct,timelineHistoryAnchorToken:Et,scrollToBottom:sn,sessionQuestions:Te,sessionPermissions:we,sessionForms:De,retryActionCopy:Pe,isProgrammaticFollowActive:Vt,showLoadOlderButton:dn,turnIds:on.turnIds,activeTurnId:on.activeTurnId,onSelectTurn:_n,showPromptNavigator:yn,canLoadEarlierPrompts:vn,isLoadingOlderPrompts:fn,onLoadEarlierPrompts:mn},r),(0,$.jsxs)(`div`,{className:Y(`relative z-10`,Le&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Ue?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!Le&&!Ue?(0,$.jsx)(RK,{}):null,!Ue&&Qt.length>0&&(Le?(0,$.jsx)(Sx,{placement:`expanded`,visible:on.showScrollToBottom,onClick:hn.resumeToLatest}):(0,$.jsx)(Sx,{visible:on.showScrollToBottom,onClick:hn.resumeToLatest})),gn]},`composer-foot`),(0,$.jsx)(mD,{}),(0,$.jsx)(EG,{open:F,onOpenChange:I,sessionID:r??void 0,directory:k,onRevertMessage:d,onScrollToMessage:on.scrollToMessage,onScrollByTurnOffset:hn.scrollByTurnOffset,onResumeToLatest:sn,canLoadEarlier:on.historySignals.canLoadEarlier,isLoadingEarlier:fn,onLoadEarlier:mn})]}):null});ZK.displayName=`MemoizedChatContainerContent`;var QK=()=>{let e=(0,Q.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(gf,{className:`h-4 w-4/5 animate-none rounded-md`}),(0,$.jsx)(gf,{className:`h-4 w-2/3 animate-none rounded-md`}),(0,$.jsx)(gf,{className:`h-4 w-1/2 animate-none rounded-md`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:`flex h-full flex-col bg-background`,"data-session-view-loading":`true`,"aria-hidden":`true`,children:(0,$.jsx)(`div`,{className:`mt-auto w-full pb-5 motion-safe:animate-pulse`,children:(0,$.jsxs)(`div`,{className:`chat-message-column space-y-2 px-4`,children:[t,(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(gf,{className:`h-4 w-5/6 animate-none rounded-md`}),(0,$.jsx)(gf,{className:`h-4 w-3/5 animate-none rounded-md`})]})]})})}),e[1]=n):n=e[1],n},$K=({runtimeKey:e,...t})=>{let n=wx(),r=oa(),i=ma(Ke(e=>({sessionId:e.currentSessionId,directory:e.currentSessionDirectory,draftID:e.newSessionDraft.open?e.newSessionDraft.draftID:null,draftPendingMessageId:e.newSessionDraft.open?e.newSessionDraft.pendingUserMessage?.info.id??null:null}))),a=Z.useRef(null),o=i.draftID&&i.draftPendingMessageId?`${i.draftID}:${i.draftPendingMessageId}`:null;o&&a.current?.identity!==o&&(a.current=null),Bn(()=>{!o||!i.draftPendingMessageId||(a.current={identity:o,messageId:i.draftPendingMessageId})},[o,i.draftPendingMessageId]);let s=ma(e=>i.sessionId?e.retainedPendingUserMessages.get(i.sessionId)??SK:SK),c=a.current,l=c&&s.some(e=>e.info.id===c.messageId)?c.messageId:null,u=Z.useMemo(()=>i.sessionId?{runtimeKey:e,sessionId:i.sessionId,directory:i.directory??r}:null,[e,i.directory,i.sessionId,r]),d=Z.useMemo(()=>oK(u),[u]),f=d.key,p=ki()||K()||n===`mini-chat`?PK:NK,[m,h]=Z.useState(()=>({activeIntent:d,cacheNeedsTrim:!1,cachedSessionViews:u?cK([],u,p,kK):[],pendingSessionView:null})),g=Z.useRef(d),_=Z.useRef(f),{cacheNeedsTrim:v,cachedSessionViews:y,pendingSessionView:b}=m,x=b?.intent===d?b.entry:null,S=Z.useMemo(()=>!u||!l?null:cK([],u,p,kK)[0]??null,[p,l,u]),C=Z.useMemo(()=>{let e=[...y];return x&&!e.some(e=>e.key===x.key)&&e.push(x),S&&!e.some(e=>e.key===S.key)&&e.push(S),e.sort((e,t)=>e.key.localeCompare(t.key))},[y,S,x]),w=uK(C,f),T=!!(f&&!w);Bn(()=>{g.current=d,_.current=f,h(e=>{let t=dK(e,d,p);return l?fK(t,d,d,kK):t})},[p,v,l,d,f]);let E=b?.intent??null;Bn(()=>{E&&h(e=>pK(e,E,p))},[p,E]),Z.useEffect(()=>{if(!d.selection||w)return;let e=d,t=f;return kd(()=>{g.current===e&&_.current===t&&h(n=>_.current===t?fK(n,e,g.current,kK):n)},{priority:`user-blocking`})},[w,p,d,f]);let D=J((e,t)=>{let n=g.current,r=_.current;h(i=>{if(g.current!==n||_.current!==r||i.activeIntent!==n||e!==r)return i;let a=lK(i.cachedSessionViews,e,t);return a===i.cachedSessionViews?i:{...i,cacheNeedsTrim:!0,cachedSessionViews:a}})});return(0,$.jsxs)(`div`,{className:`h-full bg-background`,"aria-busy":T||void 0,children:[T?(0,$.jsx)(QK,{},f):null,C.map(e=>(0,$.jsx)(Z.Activity,{name:`chat-session-${e.sessionId}`,mode:w===e.key?`visible`:`hidden`,children:(0,$.jsx)(ZK,{...t,sessionId:e.sessionId,sessionDirectory:e.directory,sessionViewKey:e.key,onSessionViewEstimateChange:D,committedDraftHandoffMessageId:w===e.key?l:null})},e.key)),f?null:(0,$.jsx)(ZK,{...t,sessionId:null,sessionDirectory:i.directory})]})},eq=e=>{let t=(0,Q.c)(24),{host:n,runtimeKey:r,readOnly:i}=e,a=i!==void 0&&i,o;t[0]===n?o=t[1]:(o=UD(n),t[0]=n,t[1]=o);let s=o,c;t[2]===n.onRevertMessage?c=t[3]:(c=n.onRevertMessage?{onRevertMessage:n.onRevertMessage}:{},t[2]=n.onRevertMessage,t[3]=c);let l;t[4]!==n.directory||t[5]!==n.sessionId||t[6]!==n.sessionSurface||t[7]!==c?(l={...n.sessionSurface,sessionId:n.sessionId,directory:n.directory,...c},t[4]=n.directory,t[5]=n.sessionId,t[6]=n.sessionSurface,t[7]=c,t[8]=l):l=t[8];let u=l,d=`host:${r}:${u.surfaceId}:${n.sessionId}`,f;t[9]!==n.assistantHistory||t[10]!==n.composerSurface||t[11]!==n.directory||t[12]!==n.onPendingUserMessagesMaterialized||t[13]!==n.onRevertMessage||t[14]!==n.pendingUserMessages||t[15]!==n.sessionId||t[16]!==n.warning||t[17]!==s||t[18]!==a||t[19]!==d?(f=(0,$.jsx)(`div`,{className:`h-full bg-background`,children:(0,$.jsx)(ZK,{autoOpenDraft:!1,readOnly:a,sessionId:n.sessionId,sessionDirectory:n.directory,sessionViewKey:d,composerSurface:n.composerSurface,hostedFeatures:s,assistantHistory:n.assistantHistory,pendingUserMessages:n.pendingUserMessages,onPendingUserMessagesMaterialized:n.onPendingUserMessagesMaterialized,onRevertMessage:n.onRevertMessage,warning:n.warning})}),t[9]=n.assistantHistory,t[10]=n.composerSurface,t[11]=n.directory,t[12]=n.onPendingUserMessagesMaterialized,t[13]=n.onRevertMessage,t[14]=n.pendingUserMessages,t[15]=n.sessionId,t[16]=n.warning,t[17]=s,t[18]=a,t[19]=d,t[20]=f):f=t[20];let p;return t[21]!==u||t[22]!==f?(p=(0,$.jsx)(zb.Provider,{value:u,children:f}),t[21]=u,t[22]=f,t[23]=p):p=t[23],p},tq=e=>{let t=(0,Q.c)(16),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({explicitSession:n,runtimeKey:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=oa(),o=n.directory??a,s;t[4]!==o||t[5]!==n?(s=Rb({...n,directory:o}),t[4]=o,t[5]=n,t[6]=s):s=t[6];let c=s,l=`explicit:${i}:${n.viewKey}`,u;t[7]!==o||t[8]!==n.active||t[9]!==n.sessionId||t[10]!==r||t[11]!==l?(u=(0,$.jsx)(`div`,{className:`h-full bg-background`,children:(0,$.jsx)(ZK,{...r,active:n.active,sessionId:n.sessionId,sessionDirectory:o,sessionViewKey:l})}),t[7]=o,t[8]=n.active,t[9]=n.sessionId,t[10]=r,t[11]=l,t[12]=u):u=t[12];let d;return t[13]!==c||t[14]!==u?(d=(0,$.jsx)(zb.Provider,{value:c,children:u}),t[13]=c,t[14]=u,t[15]=d):d=t[15],d},nq=e=>{let t=(0,Q.c)(14),n=Z.useSyncExternalStore(FK,l,l);if(e.host){let r=`${n}:${e.host.sessionSurface.surfaceId}`,i;return t[0]!==e||t[1]!==n||t[2]!==r?(i=(0,$.jsx)(eq,{...e,host:e.host,runtimeKey:n},r),t[0]=e,t[1]=n,t[2]=r,t[3]=i):i=t[3],i}if(e.explicitSession){let r=`${n}:${e.explicitSession.viewKey}`,i;return t[4]!==e.active||t[5]!==e.autoOpenDraft||t[6]!==e.explicitSession||t[7]!==e.readOnly||t[8]!==n||t[9]!==r?(i=(0,$.jsx)(tq,{autoOpenDraft:e.autoOpenDraft,readOnly:e.readOnly,active:e.active,explicitSession:e.explicitSession,runtimeKey:n},r),t[4]=e.active,t[5]=e.autoOpenDraft,t[6]=e.explicitSession,t[7]=e.readOnly,t[8]=n,t[9]=r,t[10]=i):i=t[10],i}let r;return t[11]!==e||t[12]!==n?(r=(0,$.jsx)($K,{...e,runtimeKey:n},n),t[11]=e,t[12]=n,t[13]=r):r=t[13],r},rq=2e4,iq=()=>typeof document>`u`||document.visibilityState===`visible`&&document.hasFocus()?`visible`:`hidden`,aq=e=>{if(!Se()&&!Yt())return;let t=S();t?.push?.setVisibility&&t.push.setVisibility({visible:e,platform:rn()})},oq=e=>{let t=e?.enabled??!0;Z.useEffect(()=>{if(!t||!Se()&&!Yt()||typeof window>`u`)return;if(Yt()){let e=!0,t=!1,n=null,r=()=>aq(e);xn(async()=>{let{App:e}=await import(`./vendor-capacitor-app-B5H_XtmE.js`).then(e=>e.t);return{App:e}},__vite__mapDeps([59,1,10])).then(async({App:i})=>{if(t)return;let a=await i.getState().catch(()=>null);a&&(e=a.isActive===!0),r();let o=await i.addListener(`appStateChange`,({isActive:t})=>{e=t===!0,r()});if(t){o.remove();return}n=()=>void o.remove()}).catch(()=>void 0);let i=window.setInterval(()=>{e&&aq(!0)},rq);return()=>{t=!0,window.clearInterval(i),n?.()}}if(typeof document>`u`)return;let e=()=>{aq(iq()===`visible`)},n=()=>{iq()===`visible`&&aq(!0)},r=()=>{aq(!1)};e();let i=window.setInterval(n,rq);return document.addEventListener(`visibilitychange`,e),window.addEventListener(`pagehide`,r),window.addEventListener(`pageshow`,e),window.addEventListener(`focus`,e),window.addEventListener(`blur`,e),()=>{window.clearInterval(i),document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`pagehide`,r),window.removeEventListener(`pageshow`,e),window.removeEventListener(`focus`,e),window.removeEventListener(`blur`,e)}},[t])},sq=`OpenChamberY`,cq=e=>{let t=e.replace(/\\/g,`/`).replace(/\/+$/,``).split(`/`).filter(Boolean);return t[t.length-1]??``},lq=(e,t)=>[e,t,sq].filter(e=>typeof e==`string`&&e.trim().length>0).join(` | `),uq=()=>{let e=pa(e=>e.activeProjectId?e.projects.find(t=>t.id===e.activeProjectId)??null:null),t=Z.useMemo(()=>e&&cq(e.path)||null,[e]),[n,r]=Z.useState(null);Z.useEffect(()=>{if(typeof window>`u`||!fe()){r(null);return}let e=!1,t=async()=>{try{if(R()){e||r(null);return}let t=window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,n=u();if(n&&Ae(n,t)){e||r(null);return}let i=(await Re()).hosts.find(e=>n?Ae(n,Ne(e)):!1),a=i?.label?.trim()?je(i.label.trim()):`Instance`;e||r(a)}catch{e||r(`Instance`)}};t();let n=()=>{t()};return window.addEventListener(`focus`,n),()=>{e=!0,window.removeEventListener(`focus`,n)}},[]);let i=Z.useMemo(()=>lq(t,n),[t,n]);Z.useEffect(()=>{typeof document<`u`&&(document.title=i),fe()&&(async()=>{try{if(typeof navigator<`u`&&/Macintosh|Mac OS X/.test(navigator.userAgent||``))return;await Zn(i)}catch{return}})()},[i])},dq=e=>{let t=[];return e.hideGit||t.push(`git`),t.push(`files`),e.showBrowser&&t.push(`browser`),t},fq=e=>e===`git`||e===`files`||e===`browser`,pq=()=>{let e=ma.getState().currentSessionId;if(!e)return``;let t=Mt().find(t=>t.id===e);return typeof t?.directory==`string`?t.directory:``},mq=async(e,t=6e3)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),t),i=Date.now();try{let t=await d(e,{method:`GET`,headers:{Accept:`application/json`},signal:n.signal}),r=Date.now()-i,a=t.headers.get(`content-type`)||``,o=a.toLowerCase(),s=o.includes(`json`)&&!o.includes(`text/html`),c=``;if(s){let e=await t.json().catch(()=>null);if(Array.isArray(e))c=`json[array] len=${e.length}`;else if(e&&typeof e==`object`){let t=Object.keys(e).slice(0,8);c=`json[object] keys=${t.join(`,`)}${Object.keys(e).length>t.length?`,…`:``}`}else c=`json[${typeof e}]`}else c=a?`content-type=${a}`:`no content-type`;return{ok:t.ok&&s,status:t.status,elapsedMs:r,summary:c}}catch(e){return{ok:!1,status:0,elapsedMs:Date.now()-i,summary:`error=${n.signal.aborted||e instanceof Error&&(e.name===`AbortError`||e.message.toLowerCase().includes(`aborted`))?`timeout after ${t}ms`:e instanceof Error?e.message:String(e)}`}}finally{clearTimeout(r)}},hq=e=>{if(!e||!Number.isFinite(e))return`(n/a)`;try{return new Date(e).toISOString()}catch{return`(invalid)`}},gq=e=>{if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.trunc(e);if(typeof e==`string`){let t=Number.parseInt(e,10);if(Number.isFinite(t)&&t>0)return t}return null},_q=e=>!!e&&typeof e==`object`&&!Array.isArray(e),vq=(e,t=`(n/a)`)=>typeof e==`string`?e.trim()||t:typeof e==`number`&&Number.isFinite(e)?String(e):typeof e==`boolean`?e?`true`:`false`:t,yq=(e,t,n)=>e===`node-shebang`||e===`node-launcher`?t?`node (${t})`:`node`:e===`bun-shebang`?n?`bun (${n})`:`bun`:e||`direct executable`,bq=async()=>{let e=new Date,t=typeof navigator<`u`?navigator.userAgent:`(no navigator)`,n=pq(),r=q.getState().eventStreamStatus,a=typeof window<`u`?window.location.origin:``,o=i(),s=o.health(),c=o.api(`/api/`),l=await(async()=>{if(!s)return null;let e=new AbortController,t=setTimeout(()=>e.abort(),5e3);try{let t=await d(s,{method:`GET`,headers:{Accept:`application/json`},signal:e.signal});if(!t.ok)return null;let n=await t.json().catch(()=>null);return!n||typeof n!=`object`||Array.isArray(n)?null:n}catch{return null}finally{clearTimeout(t)}})(),u=await(async()=>{if(!c)return null;let e=new AbortController,t=setTimeout(()=>e.abort(),7e3);try{let t=await d(o.api(`/api/config/opencode-resolution`),{method:`GET`,headers:{Accept:`application/json`},signal:e.signal}),n=t.headers.get(`content-type`)||`(none)`;if(!t.ok)return{data:null,status:t.status,error:`http ${t.status} content-type=${n}`};let r=await t.text(),i=null;try{i=JSON.parse(r)}catch{let e=r.replace(/\s+/g,` `).slice(0,120);return{data:null,status:t.status,error:`invalid json content-type=${n} body=${e||`(empty)`}`}}return!i||typeof i!=`object`||Array.isArray(i)?{data:null,status:t.status,error:`invalid json-shape content-type=${n}`}:{data:i,status:t.status,error:null}}catch(e){return{data:null,status:null,error:e instanceof Error?e.message:String(e)}}finally{clearTimeout(t)}})()||{data:null,status:null,error:null},f=(e,t=!0)=>{if(!c)return null;let r=new URL(e.replace(/^\/+/,``),c);return t&&n&&r.searchParams.set(`directory`,n),r.toString()},p=c?await Promise.all([{label:`health`,path:`/health`,includeDirectory:!1},{label:`config`,path:`/config`,includeDirectory:!0},{label:`providers`,path:`/config/providers`,includeDirectory:!0},{label:`agents`,path:`/agent`,includeDirectory:!0,timeoutMs:12e3},{label:`commands`,path:`/command`,includeDirectory:!0,timeoutMs:1e4},{label:`project`,path:`/project/current`,includeDirectory:!0},{label:`path`,path:`/path`,includeDirectory:!0},{label:`sessions`,path:`/session`,includeDirectory:!0,timeoutMs:12e3},{label:`sessionStatus`,path:`/session/status`,includeDirectory:!0}].map(async e=>{let t=f(e.path,e.includeDirectory!==!1);if(!t)return{label:e.label,url:`(none)`,result:null};let n=await mq(t,typeof e.timeoutMs==`number`?e.timeoutMs:void 0);return{label:e.label,url:t,result:n}})):[],m=[];m.push(`Time: ${e.toISOString()}`),m.push(`OpenChamberY version: 2.1.7-beta.10`),m.push(`Runtime: ${a||`(unknown)`} (api=${c||`(unknown)`})`),m.push(`OpenCode SDK base: ${xt.getBaseUrl()}`),m.push(`Event stream: ${r}`),m.push(`Directory: ${n||`(none)`}`),m.push(`Platform: ${t}`);let h=gq(l?.openCodePort);if(m.push(`OpenCode runtime port: ${h??`(unknown)`}`),typeof l?.openCodeRunning==`boolean`&&m.push(`OpenCode runtime running: ${l.openCodeRunning?`yes`:`no`}`),typeof l?.openCodeSecureConnection==`boolean`&&m.push(`Secure OpenCode connection: ${l.openCodeSecureConnection?`true`:`false`}`),typeof l?.openCodeAuthSource==`string`&&l.openCodeAuthSource.trim()&&m.push(`OpenCode auth source: ${l.openCodeAuthSource}`),typeof l?.openCodeServeVersion==`string`&&l.openCodeServeVersion.trim()&&m.push(`OpenCode serve version: ${l.openCodeServeVersion}`),typeof l?.openCodeCliVersion==`string`&&l.openCodeCliVersion.trim()&&m.push(`OpenCode CLI version: ${l.openCodeCliVersion}`),_q(l?.runtimeContract)){let e=l.runtimeContract,t=typeof e.phase==`string`?e.phase:`(unknown)`,n=e.executionAllowed===!0?`allowed`:`limited`,r=e.protocolCompatible===!0?`compatible`:`incompatible`;m.push(`OpenCode runtime contract: phase=${t} protocol=${r} execution=${n}`),Array.isArray(e.reasons)&&e.reasons.length>0&&m.push(`OpenCode contract reasons: ${e.reasons.filter(e=>typeof e==`string`).join(`, `)}`)}if(typeof window<`u`){let e=window.__OPENCHAMBER_MACOS_MAJOR__;typeof e==`number`&&Number.isFinite(e)&&e>0&&m.push(`macOS major: ${e}`)}if(/Mac OS X|Macintosh/.test(t)){m.push(``),m.push(`OpenCode CLI resolution:`);let e=_q(l?.lastOpenCodeLaunchDiagnostics)?l.lastOpenCodeLaunchDiagnostics:null,t=e&&Array.isArray(e.args)?e.args.filter(e=>typeof e==`string`):[],n=u.data,r=n&&typeof n.configured==`string`?n.configured:null,i=n&&typeof n.resolved==`string`?n.resolved:l&&typeof l.opencodeBinaryResolved==`string`?l.opencodeBinaryResolved:``,a=n&&typeof n.resolvedDir==`string`?n.resolvedDir:``,o=n&&typeof n.source==`string`?n.source:l&&typeof l.opencodeBinarySource==`string`?l.opencodeBinarySource:``,s=n&&typeof n.launchBinary==`string`?n.launchBinary:l&&typeof l.opencodeLaunchBinary==`string`?l.opencodeLaunchBinary:``,c=n&&typeof n.launchWrapperType==`string`?n.launchWrapperType:l&&typeof l.opencodeLaunchWrapperType==`string`?l.opencodeLaunchWrapperType:``,d=n&&Array.isArray(n.launchArgs)?n.launchArgs.filter(e=>typeof e==`string`):l&&Array.isArray(l.opencodeLaunchArgs)?l.opencodeLaunchArgs.filter(e=>typeof e==`string`):[],f=n&&typeof n.node==`string`?n.node:l&&typeof l.nodeBinaryResolved==`string`?l.nodeBinaryResolved:``,p=n&&typeof n.bun==`string`?n.bun:l&&typeof l.bunBinaryResolved==`string`?l.bunBinaryResolved:``,h=n&&typeof n.detectedNow==`string`?n.detectedNow:``,g=n&&typeof n.detectedSourceNow==`string`?n.detectedSourceNow:``;if(r!==null&&m.push(`- configured: ${r.trim().length===0?`(cleared)`:r}`),i){let e=a||(i.includes(`/`)?i.split(`/`).slice(0,-1).join(`/`)||`/`:``);m.push(`- opencode: ${i}${e?` (dir=${e})`:``}`)}else m.push(`- opencode: (n/a)`);m.push(`- source: ${o||`(n/a)`}`),h&&(m.push(`- detected-now: ${h}`),m.push(`- detected-source: ${g||`(n/a)`}`)),e?(m.push(`- launched-at: ${vq(e.launchedAt)}`),m.push(`- launch: ${vq(e.binary)} ${t.join(` `)}`.trim()),m.push(`- cwd: ${vq(e.cwd)}`),m.push(`- wrapper: ${vq(e.wrapperType)}`),m.push(`- runtime: ${yq(vq(e.wrapperType,``),f,p)}`),m.push(`- PATH entries: ${vq(e.pathEntryCount,`(unknown)`)}`),m.push(`- shell env: ${vq(e.hasShellEnv,`(unknown)`)} (${vq(e.shellEnvKeysCount,`?`)} keys)`)):(m.push(`- launch-binary: ${s||`(n/a)`}`),m.push(`- launch-wrapper: ${c||`(n/a)`}`),m.push(`- launch-args: ${d.length?d.join(` `):`(none)`}`),m.push(`- runtime: ${yq(c||``,f,p)}`)),!n&&u.error&&m.push(`- resolution-endpoint: ${u.error}`)}if(m.push(``),p.length){m.push(`OpenCode API probes:`);for(let e of p){if(!e.result){m.push(`- ${e.label}: (no url)`);continue}let{ok:t,status:n,elapsedMs:r,summary:i}=e.result,a=t?``:` url=${e.url}`;m.push(`- ${e.label}: ${t?`ok`:`fail`} status=${n} time=${r}ms ${i}${a}`)}}else m.push(`OpenCode API probes: (skipped)`);return m.push(``),m.push(`Generated: ${hq(Date.now())}`),m.join(`
|
|
6604
|
-
`)},xq=async()=>{let e=await bq(),t=q.getState();t.setOpenCodeStatusText(e),t.setOpenCodeStatusDialogOpen(!0)},Sq=(e,t)=>e===t?!0:!e||!t?!1:e.scope===t.scope&&e.sessionId===t.sessionId&&e.projectId===t.projectId,Cq=e=>e?`${e.scope}:${e.projectId??``}:${e.sessionId}`:null,wq=e=>({scope:`project`,sessionId:e,projectId:null}),Tq=Ve()(e=>({focus:null,setFocus:t=>e(e=>Sq(e.focus,t)?e:{focus:t})})),Eq=null,Dq=0,Oq=(e,t)=>{let n=new Set,r=[];for(let i of t){if(!i.sessionId)continue;let t=e===`pinned`?i.sessionId:`${i.projectId??``}:${i.sessionId}`;n.has(t)||(n.add(t),r.push(i.scope===e?i:{...i,scope:e}))}return r},kq=e=>{let t=++Dq;return Eq={pinned:Oq(`pinned`,e.pinned),project:Oq(`project`,e.project)},()=>{Dq===t&&(Eq=null)}},Aq=()=>Eq,jq=e=>!!e.parentID,Mq=(e,t)=>{if(!e)return null;let n=new Map(t.map(e=>[e.id,e])),r=n.get(e);if(!r)return e;for(;r&&jq(r);){let e=r.parentID;if(!e)break;let t=n.get(e);if(!t)return e;r=t}return r?.id??e},Nq=()=>{let e=sr.getState().activeSessions;if(e.length>0)return e;let t=gt();return t.length>0?t:Mt()},Pq=(e,t,n)=>{if(!t)return-1;if(n?.scope){let r=e.findIndex(e=>e.scope===n.scope&&e.sessionId===t&&(!n.projectId||e.projectId===n.projectId));if(r>=0)return r}if(n?.projectId){let r=e.findIndex(e=>e.sessionId===t&&e.projectId===n.projectId);if(r>=0)return r}return e.findIndex(e=>e.sessionId===t)},Fq=e=>[...e.pinned,...e.project],Iq=(e,t,n,r)=>{if(e.length===0)return null;let i=Pq(e,n,r);return i<0?t>0?e[0]??null:e[e.length-1]??null:e[(i+t+e.length)%e.length]??null},Lq=(e,t,n=Tq.getState().focus)=>{let r=Mq(t,Nq()),i=n?.sessionId===t?n:null,a=Aq();return a?Iq(Fq(a),e,r,i):null},Rq=(e,t,n=e=>{ma.getState().setCurrentSession(e.sessionId,e.directory)})=>{let r=Lq(e,t);return r?(Tq.getState().setFocus({scope:r.scope,sessionId:r.sessionId,projectId:r.projectId}),n(r),r):null},zq=.5,Bq=.1,Vq=`oc.webviewZoomFactor`,Hq=e=>Number.isFinite(e)?Math.min(3,Math.max(zq,Math.round(e*100)/100)):1,Uq=()=>{if(typeof window>`u`)return 1;try{let e=window.localStorage.getItem(Vq);return e?Hq(Number.parseFloat(e)):1}catch{return 1}},Wq=e=>{if(!(typeof window>`u`))try{window.localStorage.setItem(Vq,String(e))}catch{}},Gq=e=>{let t=Hq(e);return typeof document<`u`&&(document.documentElement.style.zoom=t===1?``:String(t)),Wq(t),t},Kq=()=>{if(typeof document>`u`)return 1;let e=document.documentElement.style.zoom;if(!e)return Uq();let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?Hq(t):Uq()},qq=()=>{if(P())return;let e=Uq();e!==1&&Gq(e)},Jq=async()=>{if(P())try{let e=await _e(`desktop_zoom_in`);if(typeof e==`number`&&Number.isFinite(e))return Hq(e)}catch(e){console.warn(`[webview-zoom] desktop_zoom_in failed, using CSS zoom`,e)}return Gq(Kq()+Bq)},Yq=async()=>{if(P())try{let e=await _e(`desktop_zoom_out`);if(typeof e==`number`&&Number.isFinite(e))return Hq(e)}catch(e){console.warn(`[webview-zoom] desktop_zoom_out failed, using CSS zoom`,e)}return Gq(Kq()-Bq)},Xq=async()=>{if(P())try{let e=await _e(`desktop_zoom_reset`);if(typeof e==`number`&&Number.isFinite(e))return Hq(e)}catch(e){console.warn(`[webview-zoom] desktop_zoom_reset failed, using CSS zoom`,e)}return Gq(1)},Zq=9,Qq=null,$q=0,eJ=({pinnedTargets:e,projectTargets:t})=>[...e,...t].slice(0,Zq),tJ=(e,t)=>{let n=e.findIndex(e=>e.scope===t.scope&&e.sessionId===t.sessionId&&(e.projectId??null)===(t.projectId??null));return n>=0?n+1:null},nJ=e=>{let t=++$q;return Qq={targets:e.targets.slice(0,Zq),activate:e.activate},()=>{$q===t&&(Qq=null)}},rJ=e=>{if(!Number.isInteger(e)||e<1||e>Zq)return!1;let t=Qq,n=t?.targets[e-1];return!t||!n?!1:(t.activate(n),!0)},iJ=e=>{let t=e.trim();if(!t)return null;let n=xf.getState(),r=n.createTab(t);return!r||r===`tab-invalid`?null:(n.setActiveTab(t,r),r)},aJ=e=>{let t=e.trim();if(!t)return null;let n=q.getState();return!n.isBottomTerminalOpen&&n.activeMainTab!==`terminal`&&n.setBottomTerminalOpen(!0),iJ(t)},oJ=(e,t)=>{let n=e.trim();if(!n)return!1;let r=xf.getState(),i=r.getDirectoryState(n);if(!i||i.tabs.length<2)return!1;let a=i.tabs.findIndex(e=>e.id===i.activeTabId),o=((a>=0?a:0)+t+i.tabs.length)%i.tabs.length,s=i.tabs[o]?.id;return!s||s===i.activeTabId?!1:(r.setActiveTab(n,s),!0)},sJ=e=>{let t=e.trim();if(!t)return{closed:!1,wasLastTab:!1};let n=xf.getState(),r=n.getDirectoryState(t),i=r?.activeTabId??null;if(!r||!i)return{closed:!1,wasLastTab:!1};let a=r.tabs.length===1;return n.closeTab(t,i),{closed:!0,wasLastTab:a}},cJ=()=>typeof window>`u`||window.parent===window||!nl(window.location.search)?!1:(window.parent.postMessage({type:al},window.location.origin),!0),lJ=()=>{let{isMobile:e,closeActiveContextPanelTab:t}=q.getState();if(e)return!1;let n=Dd();return n&&t(n)?!0:P()?(_e(`desktop_close_current_window`).catch(e=>{console.warn(`[keyboard-shortcuts] failed to close current window`,e)}),!0):!1},uJ=({sessionId:e,surfaceKind:t,wiringCanAbort:n,primaryCanAbort:r,pendingSend:i=!1})=>e?i||n?!0:t!==`secondary`&&r:!1,dJ=async({sessionId:e,currentProviderId:t,currentModelId:n,waitForConnectionOrThrow:r,getAuthoritativeDirectoryForSession:i,summarizeSession:a,onCompactFailed:o})=>{try{await r();let s=i(e);if(!s){o();return}await a(e,t,n,s)}catch(e){o(e)}},fJ=()=>{let e=(0,Q.c)(69),{t}=Kn(),n=ma(pJ),r=ma(mJ),i=ma(hJ),a=ma(gJ),o=Wi,s=q(_J),c=q(vJ),l=q(yJ),u=q(bJ),d=q(xJ),f=q(SJ),p=q(CJ),m=q(wJ),h=q(TJ),g=q(EJ),_=q(DJ),v=q(OJ),y=q(kJ),b=q(AJ),x=q(jJ),S=q(MJ),C=q(NJ),w=q(PJ),T=q(FJ),E=ot(IJ),D=pa(LJ),{themeMode:O,setThemeMode:k}=is(),{working:A}=ZL(),j=Z.useRef(null),M=Z.useRef(null),N=Z.useRef(null),F=Z.useRef(!1),I=Z.useRef(O),L,R;e[0]===O?(L=e[1],R=e[2]):(L=()=>{I.current=O},R=[O],e[0]=O,e[1]=L,e[2]=R),Z.useEffect(L,R);let z;e[3]===i?z=e[4]:(z=()=>{M.current&&=(clearTimeout(M.current),null),j.current=null,i()},e[3]=i,e[4]=z);let B=z,V;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(V=()=>{N.current&&=(clearTimeout(N.current),null),uh.getState().clear()},e[5]=V):V=e[5];let H=V,ee;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>{N.current&&=(clearTimeout(N.current),null);let e=uh.getState().arm(lh);N.current=setTimeout(()=>{let{expiresAt:e}=uh.getState();e&&Date.now()>=e&&uh.getState().clear(),N.current=null},Math.max(0,e-Date.now()))},e[6]=ee):ee=e[6];let U=ee,te;e[7]!==D?.id||e[8]!==D?.path||e[9]!==r||e[10]!==E||e[11]!==h||e[12]!==n||e[13]!==B||e[14]!==_||e[15]!==b||e[16]!==m||e[17]!==y||e[18]!==C||e[19]!==d||e[20]!==f||e[21]!==g||e[22]!==v||e[23]!==k||e[24]!==x||e[25]!==T||e[26]!==t||e[27]!==p||e[28]!==s||e[29]!==w||e[30]!==c||e[31]!==S||e[32]!==u||e[33]!==l||e[34]!==A?(te=()=>{let e=e=>mc(e,T),i=e=>Lc(e,T),a=RJ,O=[`[data-slot="dropdown-menu-content"]`,`[data-slot="select-content"]`,`[role="combobox"]`,`[role="listbox"]`,`[role="menu"]`,`[role="menuitem"]`,`[role="option"]`,`[data-radix-popper-content-wrapper]`].join(`,`),N=e=>e instanceof Element&&!!e.closest(O),L=BJ,R=HJ,z=UJ,V=async()=>{let e=yT(),n=e?TT(e):null;if(n&&e){try{await n.compact({providerID:e.selection.value.providerID,modelID:e.selection.value.modelID,agent:e.selection.value.agent,variant:e.selection.value.variant})}catch(e){let n=e;mi.error(n instanceof Error?n.message:t(`chat.chatInput.toast.compactFailed`))}return}let r=ma.getState().currentSessionId;if(!r)return;let{currentProviderId:i,currentModelId:a}=aa.getState();await dJ({sessionId:r,currentProviderId:i,currentModelId:a,waitForConnectionOrThrow:po,getAuthoritativeDirectoryForSession:ma.getState().getAuthoritativeDirectoryForSession,summarizeSession:WJ,onCompactFailed:e=>{mi.error(e instanceof Error?e.message:t(`chat.chatInput.toast.compactFailed`))}})},ee=t=>{let r=uh.getState().pending;if(t.repeat||t.isComposing&&!r||t.defaultPrevented&&!r||a(t.target)&&!r)return;let i=e(`leader_key`);if(r){let e=()=>{F.current=!0,window.setTimeout(()=>{F.current=!1},0)};if(i&&yc(t,i)){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),U();return}let r=t.key.toLowerCase();if(r===`escape`){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),H();return}if(t.key===`Control`||t.key===`Shift`||t.key===`Alt`||t.key===`Meta`)return;if(t.metaKey||t.ctrlKey||t.altKey){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H();return}let{activeMainTab:a,isModelSelectorOpen:o,isAgentSelectorOpen:s}=q.getState(),c=vT(a)&&!z();if(r===`m`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),window.requestAnimationFrame(()=>{y(!o,{instant:!0})});return}if(r===`a`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),b(!s,{instant:!0});return}if(r===`n`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H();let r=yT(),i=r?TT(r):null;i?i.shortcut(`new`):(_(`chat`),g(!1),n());return}if(r===`c`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),V(),R();return}t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),R();return}if(!i||!yc(t,i)||z())return;let{activeMainTab:o}=q.getState();vT(o)&&(t.preventDefault(),t.stopPropagation(),U())},te=()=>uh.getState().pending||F.current,ne=e=>{te()&&e.preventDefault()},W=e=>{te()&&(e.preventDefault(),e.stopPropagation())},G=t=>{if(a(t.target)){if(!K()&&yc(t,e(`new_terminal_tab`))){let e=Dd();if(!e||!iJ(e))return;t.preventDefault(),t.stopPropagation();return}if(!K()&&yc(t,e(`previous_terminal_tab`))){let e=Dd();if(!e||!oJ(e,-1))return;t.preventDefault(),t.stopPropagation();return}if(!K()&&yc(t,e(`next_terminal_tab`))){let e=Dd();if(!e||!oJ(e,1))return;t.preventDefault(),t.stopPropagation();return}if(yc(t,e(`close_context_panel_tab`))){let e=Dd();if(!e)return;let{closed:n,wasLastTab:r}=sJ(e);if(!n)return;if(t.preventDefault(),t.stopPropagation(),r){let e=q.getState();e.setBottomTerminalOpen(!1),e.activeMainTab===`terminal`&&e.setActiveMainTab(`chat`)}return}if(yc(t,e(`toggle_terminal`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),t.stopPropagation(),p();return}if(yc(t,e(`toggle_bottom_panel`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),t.stopPropagation(),p();return}if(yc(t,e(`toggle_terminal_expanded`))){let{isMobile:e,isBottomTerminalExpanded:n}=q.getState();if(e)return;t.preventDefault(),t.stopPropagation(),m(!n);return}}},re=GJ,ie=t=>{if(t.defaultPrevented)return;if(yc(t,e(`close_context_panel_tab`))){(cJ()||lJ())&&(t.preventDefault(),t.stopPropagation());return}if(a(t.target))return;let r=KJ;if(r(t.target)&&t.ctrlKey&&!t.metaKey&&!t.shiftKey&&!t.altKey&&t.key.toLowerCase()===`t`){t.preventDefault(),re();return}if(yc(t,e(`open_command_palette`))){t.preventDefault(),s();return}if(yc(t,e(`open_timeline_dialog`))){t.preventDefault(),x(!0);return}if(yc(t,e(`toggle_prompt_navigator`))){let{activeMainTab:e,promptNavigatorEnabled:n,isSettingsDialogOpen:r,isCommandPaletteOpen:i,isHelpDialogOpen:a,isSessionSwitcherOpen:o,isAboutDialogOpen:s,isTimelineDialogOpen:c,isMultiRunLauncherOpen:l,isImagePreviewOpen:u}=q.getState();if(!n||h||K()||e!==`chat`||r||i||a||o||s||c||l||u)return;t.preventDefault(),S();return}if(yc(t,e(`open_status`))){t.preventDefault(),xq();return}if(yc(t,e(`open_help`))){t.preventDefault(),c();return}if(P()&&yc(t,e(`new_mini_chat`))){t.preventDefault(),_e(`desktop_open_draft_mini_chat_window`,{directory:E||D?.path||``,projectId:D?.id??null}).catch(qJ);return}let o=yc(t,e(`new_chat`)),b=yc(t,e(`new_chat_worktree`));if(o||b){if(t.preventDefault(),_(`chat`),g(!1),!K()&&b){iS();return}n();return}if(yc(t,e(`cycle_theme`))){if(t.preventDefault(),Vp()!==null&&window.parent&&window.parent!==window){window.parent.postMessage({type:`openchamber:cycle-theme-request`},window.location.origin);return}let e=[`light`,`dark`,`system`],n=document.activeElement,r=(e.indexOf(I.current)+1)%e.length;k(e[r]),requestAnimationFrame(()=>{typeof document>`u`||typeof window>`u`||(document.hasFocus()||window.focus(),n&&document.contains(n)&&n.focus({preventScroll:!0}))});return}if(dc(t,`in`,e(`zoom_in`))){t.preventDefault(),Jq();return}if(dc(t,`out`,e(`zoom_out`))){t.preventDefault(),Yq();return}if(yc(t,e(`zoom_reset`))){t.preventDefault(),Xq();return}if(yc(t,e(`open_settings`))){t.preventDefault();let{isSettingsDialogOpen:e}=q.getState();v(!e);return}if(yc(t,e(`toggle_sidebar`))){t.preventDefault();let{isMobile:e,isSessionSwitcherOpen:n}=q.getState();e?g(!n):l();return}if(yc(t,e(`focus_input`))){t.preventDefault(),document.querySelector(`textarea[data-chat-input="true"]`)?.focus();return}let C=e(`cycle_agent`),T=C&&!C.includes(`shift`)?Gs(`shift+${C}`):``,O=T&&yc(t,T)?-1:+!!yc(t,C);if(O!==0){let{isSettingsDialogOpen:e,isCommandPaletteOpen:n,isHelpDialogOpen:i,isSessionSwitcherOpen:a,isAboutDialogOpen:o,activeMainTab:s}=q.getState();if(e||n||i||a||o||!vT(s)||!r(t.target))return;let c=yT(),l=c?TT(c):null;if(l){t.preventDefault(),l.shortcut(`cycle`,O);return}let u=aa.getState(),d=qa(u.getVisibleAgents(),u.currentAgentName,O);if(!d)return;t.preventDefault(),u.setAgent(d),q.getState().addRecentAgent(d);let f=ma.getState().currentSessionId;f&&Sr.getState().saveSessionAgentSelection(f,d);return}if(i(`toggle_right_sidebar`).some(e=>yc(t,e))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),u();return}if(yc(t,e(`open_right_sidebar_git`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),d(!0),f(`git`);return}if(yc(t,e(`open_right_sidebar_files`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),d(!0),f(`files`);return}if(yc(t,e(`cycle_right_sidebar_tab`))){let{isMobile:e,rightSidebarTab:n}=q.getState();if(e)return;let r=dq({hideGit:q.getState().activeMainTab===`git`,showBrowser:vc(Mc())}),i=r[(r.indexOf(n)+1)%r.length];t.preventDefault(),d(!0),f(i);return}let A=e=>Rq(e,ma.getState().currentSessionId,e=>{_(`chat`),g(!1),ma.getState().setCurrentSession(e.sessionId,e.directory)});if(i(`previous_session`).some(e=>yc(t,e))){t.preventDefault(),A(-1);return}if(i(`next_session`).some(e=>yc(t,e))){t.preventDefault(),A(1);return}for(let n=1;n<=9;n+=1)if(yc(t,e(`switch_tab_${n}`))){rJ(n)&&t.preventDefault();return}if(yc(t,e(`toggle_terminal`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),p();return}if(yc(t,e(`open_new_terminal`))){let{isMobile:e}=q.getState();if(e||K())return;let n=Dd();if(!n||!aJ(n))return;t.preventDefault();return}if(yc(t,e(`toggle_bottom_panel`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),p();return}if(yc(t,e(`toggle_terminal_expanded`))){let{isMobile:e,isBottomTerminalExpanded:n}=q.getState();if(e)return;t.preventDefault(),m(!n);return}if(yc(t,e(`open_model_selector`))){let{isSettingsDialogOpen:e,isCommandPaletteOpen:n,isHelpDialogOpen:r,isSessionSwitcherOpen:i,isAboutDialogOpen:a,activeMainTab:o,isModelSelectorOpen:s}=q.getState();if(e)return;let c=n||r||i||a,l=vT(o);if(c||!l)return;t.preventDefault(),y(!s,{instant:!0});return}if(yc(t,e(`cycle_thinking_variant`))){re()&&t.preventDefault();return}if(yc(t,e(`cycle_favorite_model_forward`))||yc(t,e(`cycle_favorite_model_backward`))){let{isSettingsDialogOpen:n,isCommandPaletteOpen:r,isHelpDialogOpen:i,isSessionSwitcherOpen:a,isAboutDialogOpen:o,activeMainTab:s,favoriteModels:c,addRecentModel:l}=q.getState();if(n)return;let u=r||i||a||o,d=vT(s);if(u||!d||c.length===0)return;t.preventDefault();let f=c.length,p=yc(t,e(`cycle_favorite_model_forward`))?1:-1,m=yT();if(m?.selection.change){let e=m.selection.value.providerID,t=m.selection.value.modelID,n=c[(c.findIndex(n=>n.providerID===e&&n.modelID===t)+p+f)%f],r=aa.getState().providers.find(e=>e.id===n.providerID)?.models?.find(e=>e.id===n.modelID),i=r?.variants?Object.keys(r.variants):[],a=n.variant!==void 0&&i.includes(n.variant)?n.variant:void 0;m.selection.change({...m.selection.value,providerID:n.providerID,modelID:n.modelID,variant:a}),l(n.providerID,n.modelID,a);return}let{currentProviderId:h,currentModelId:g,providers:_,setProvider:v,setModel:y,setCurrentVariant:b}=aa.getState(),x=c[(c.findIndex(e=>e.providerID===h&&e.modelID===g)+p+f)%f];v(x.providerID),y(x.modelID);let S=_.find(e=>e.id===x.providerID)?.models?.find(e=>e.id===x.modelID),C=S?.variants?Object.keys(S.variants):[],w=x.variant!==void 0&&C.includes(x.variant)?x.variant:void 0;b(w),l(x.providerID,x.modelID,w);return}if(yc(t,e(`expand_input`))){if(h)return;t.preventDefault(),w();return}if(yc(t,e(`toggle_dictation`))){let{activeMainTab:e,isCommandPaletteOpen:n,isHelpDialogOpen:r,isSessionSwitcherOpen:i,isSettingsDialogOpen:a}=q.getState();if(!vT(e)||n||r||i||a)return;t.preventDefault(),window.dispatchEvent(new CustomEvent(`openchamber:dictation-toggle`));return}},ae=e=>{if(e.key!==`Escape`||e.isComposing)return;let t=e.target,n=!!t?.closest(`[role="dialog"]`),i=!!document.querySelector(`[data-settings-view="true"]`),a=!!(t?.closest(`.terminal-viewport-container`)||t?.getAttribute(`data-terminal-hidden-input`)===`true`),s=N(t)||L(),{isSettingsDialogOpen:c,isCommandPaletteOpen:l,isHelpDialogOpen:u,isSessionSwitcherOpen:d,isAboutDialogOpen:f,isMultiRunLauncherOpen:p,isImagePreviewOpen:m,isPromptNavigatorPanelOpen:h}=q.getState();if(n||a||s){B();return}if(h){e.preventDefault(),C(!1),B();return}if(c){e.preventDefault(),v(!1),B();return}if(i){B();return}if(l||u||d||f||p||m){B();return}let g=yT(),_=g?TT(g):null,y=g?.sessionID??ma.getState().currentSessionId,b=!!(y&&ma.getState().pendingSendMessageIDs.get(y));if(!uJ({sessionId:y,surfaceKind:g?.kind,wiringCanAbort:_?.canAbort,primaryCanAbort:A.canAbort,pendingSend:b})){B();return}e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();let x=Date.now(),S=j.current;if(S&&x<S){B(),_?_.abort():(y&&Tr(y),o(y??``));return}let w=g?.kind===`secondary`?x+3e3:r(3e3)??x+3e3;j.current=w,M.current&&clearTimeout(M.current);let T=Math.max(w-x,0);M.current=setTimeout(()=>{j.current&&Date.now()>=j.current&&B()},T||0)};return window.addEventListener(`keydown`,ee,!0),window.addEventListener(`beforeinput`,ne,!0),window.addEventListener(`compositionstart`,W,!0),window.addEventListener(`compositionupdate`,W,!0),window.addEventListener(`compositionend`,W,!0),window.addEventListener(`keydown`,G,!0),window.addEventListener(`keydown`,ae,!0),window.addEventListener(`keydown`,ie),()=>{window.removeEventListener(`keydown`,ee,!0),window.removeEventListener(`beforeinput`,ne,!0),window.removeEventListener(`compositionstart`,W,!0),window.removeEventListener(`compositionupdate`,W,!0),window.removeEventListener(`compositionend`,W,!0),window.removeEventListener(`keydown`,G,!0),window.removeEventListener(`keydown`,ae,!0),window.removeEventListener(`keydown`,ie)}},e[7]=D?.id,e[8]=D?.path,e[9]=r,e[10]=E,e[11]=h,e[12]=n,e[13]=B,e[14]=_,e[15]=b,e[16]=m,e[17]=y,e[18]=C,e[19]=d,e[20]=f,e[21]=g,e[22]=v,e[23]=k,e[24]=x,e[25]=T,e[26]=t,e[27]=p,e[28]=s,e[29]=w,e[30]=c,e[31]=S,e[32]=u,e[33]=l,e[34]=A,e[35]=te):te=e[35];let ne=D?.id,W=D?.path,G;e[36]!==r||e[37]!==E||e[38]!==a||e[39]!==h||e[40]!==n||e[41]!==B||e[42]!==_||e[43]!==b||e[44]!==m||e[45]!==y||e[46]!==C||e[47]!==d||e[48]!==f||e[49]!==g||e[50]!==v||e[51]!==k||e[52]!==x||e[53]!==T||e[54]!==t||e[55]!==ne||e[56]!==W||e[57]!==p||e[58]!==s||e[59]!==w||e[60]!==c||e[61]!==S||e[62]!==u||e[63]!==l||e[64]!==A?(G=[n,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,k,A,r,B,U,H,a,E,ne,W,T,t],e[36]=r,e[37]=E,e[38]=a,e[39]=h,e[40]=n,e[41]=B,e[42]=_,e[43]=b,e[44]=m,e[45]=y,e[46]=C,e[47]=d,e[48]=f,e[49]=g,e[50]=v,e[51]=k,e[52]=x,e[53]=T,e[54]=t,e[55]=ne,e[56]=W,e[57]=p,e[58]=s,e[59]=w,e[60]=c,e[61]=S,e[62]=u,e[63]=l,e[64]=A,e[65]=G):G=e[65],Z.useEffect(te,G);let re,ie;e[66]===B?(re=e[67],ie=e[68]):(ie=()=>()=>{B(),H()},re=[B,H],e[66]=B,e[67]=re,e[68]=ie),Z.useEffect(ie,re)};function pJ(e){return e.openNewSessionDraft}function mJ(e){return e.armAbortPrompt}function hJ(e){return e.clearAbortPrompt}function gJ(e){return e.currentSessionId}function _J(e){return e.toggleCommandPalette}function vJ(e){return e.toggleHelpDialog}function yJ(e){return e.toggleSidebar}function bJ(e){return e.toggleRightSidebar}function xJ(e){return e.setRightSidebarOpen}function SJ(e){return e.setRightSidebarTab}function CJ(e){return e.toggleBottomTerminal}function wJ(e){return e.setBottomTerminalExpanded}function TJ(e){return e.isMobile}function EJ(e){return e.setSessionSwitcherOpen}function DJ(e){return e.setActiveMainTab}function OJ(e){return e.setSettingsDialogOpen}function kJ(e){return e.setModelSelectorOpen}function AJ(e){return e.setAgentSelectorOpen}function jJ(e){return e.setTimelineDialogOpen}function MJ(e){return e.togglePromptNavigatorPanel}function NJ(e){return e.setPromptNavigatorPanelOpen}function PJ(e){return e.toggleExpandedInput}function FJ(e){return e.shortcutOverrides}function IJ(e){return e.currentDirectory}function LJ(e){return e.getActiveProject()}function RJ(e){return e instanceof Element&&!!(e.closest(`[data-terminal-view="true"]`)||e.closest(`.terminal-viewport-container`)||e.getAttribute(`data-terminal-hidden-input`)===`true`)}function zJ(e){return e.getClientRects().length>0}function BJ(){let e=document.querySelectorAll(`[data-slot="dropdown-menu-content"], [data-slot="select-content"], [role="menu"], [data-radix-popper-content-wrapper]`);return Array.from(e).some(zJ)}function VJ(){document.querySelector(`textarea[data-chat-input="true"]`)?.focus({preventScroll:!0})}function HJ(){window.requestAnimationFrame(VJ)}function UJ(){let{isSettingsDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isSessionSwitcherOpen:r,isAboutDialogOpen:i}=q.getState();return e||t||n||r||i}function WJ(e,t,n,r){return xt.summarizeSession(e,t,n,r)}function GJ(){let{isSettingsDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isSessionSwitcherOpen:r,isAboutDialogOpen:i,activeMainTab:a}=q.getState();if(e||t||n||r||i||!vT(a))return!1;let o=yT();if(o?.selection.change){let e=o.selection.catalog?.variants??[];if(e.length===0)return!1;let t=o.selection.value.variant,n=e[((t?e.indexOf(t):-1)+1)%e.length];return o.selection.change({...o.selection.value,variant:n}),!0}let s=aa.getState();if(s.getCurrentModelVariants().length===0)return!1;s.cycleCurrentVariant();let c=aa.getState().currentVariant,l=ma.getState().currentSessionId,u=aa.getState().currentAgentName,d=aa.getState().currentProviderId,f=aa.getState().currentModelId;return l&&u&&d&&f&&Sr.getState().saveAgentModelVariantForSession(l,u,d,f,c),u&&d&&f&&aa.getState().saveAgentModelSelection(u,d,f,c),!0}function KJ(e){return e instanceof HTMLTextAreaElement&&e.getAttribute(`data-chat-input`)===`true`}function qJ(e){console.warn(`[keyboard-shortcuts] failed to open draft mini chat window`,e)}var JJ=3,YJ=(e,t)=>{if(typeof e!=`string`)return t;let n=e.trim().replace(/\s+/g,` `);return n?n.slice(0,48):t},XJ=(e,t)=>{let n=t?[...e.filter(e=>e.id===t),...e.filter(e=>e.id!==t)]:e,r=[],i=new Set;for(let e of n){let t=typeof e.id==`string`?e.id.trim():``;if(!(!t||i.has(t))&&(i.add(t),r.push({sessionId:t,title:YJ(e.title,`Session ${r.length+1}`)}),r.length>=JJ))break}return r},ZJ=()=>{let e=(0,Q.c)(9),t=Ko(),n=ma(QJ),r;e[0]!==n||e[1]!==t?(r=XJ(t,n),e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a;e[3]===i?a=e[4]:(a=JSON.stringify(i),e[3]=i,e[4]=a);let o=a,s,c;e[5]!==i||e[6]!==o?(s=()=>{if(!(typeof window>`u`||!Se())){try{i.length===0?localStorage.removeItem(fc):localStorage.setItem(fc,o)}catch{return}window.__OPENCHAMBER_UPDATE_PWA_MANIFEST__?.()}},c=[i,o],e[5]=i,e[6]=o,e[7]=s,e[8]=c):(s=e[7],c=e[8]),Z.useEffect(s,c)};function QJ(e){return e.currentSessionId}var $J=e=>Number.isFinite(e)?`${Math.max(0,Math.round(e))}px`:`0px`,eY=(e,t,n,r)=>{e.style.setProperty(`--oc-wco-left-inset`,$J(t)),e.style.setProperty(`--oc-wco-right-inset`,$J(n)),e.style.setProperty(`--oc-wco-titlebar-height`,$J(r))},tY=()=>{let e=(0,Q.c)(1),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],Z.useEffect(nY,t)};function nY(){if(typeof window>`u`||!Se())return;let e=document.documentElement,t=typeof window.matchMedia==`function`?window.matchMedia(`(display-mode: window-controls-overlay)`):null,n=window.navigator.windowControlsOverlay,r=()=>{if(!n||!t?.matches||!n.visible){eY(e,0,0,0);return}let r=n.getTitlebarAreaRect(),i=Math.max(0,Number(r.x)||0),a=Math.max(0,Number(r.width)||0),o=Math.max(0,Number(r.height)||0),s=Math.max(0,window.innerWidth-(i+a));eY(e,i,s,o)},i=()=>{r()};return r(),window.addEventListener(`resize`,r),window.addEventListener(`focus`,r),t&&(typeof t.addEventListener==`function`?t.addEventListener(`change`,i):typeof t.addListener==`function`&&t.addListener(i)),n&&typeof n.addEventListener==`function`&&n.addEventListener(`geometrychange`,r),()=>{window.removeEventListener(`resize`,r),window.removeEventListener(`focus`,r),t&&(typeof t.removeEventListener==`function`?t.removeEventListener(`change`,i):typeof t.removeListener==`function`&&t.removeListener(i)),n&&typeof n.removeEventListener==`function`&&n.removeEventListener(`geometrychange`,r),eY(e,0,0,0)}}var rY=null,iY=e=>{let t=rY;return rY=e,()=>{rY===e&&(rY=t)}},aY=()=>({orderByProject:{},pendingProjectIDs:{}}),oY=(e,t)=>!!(e&&e.length===t.length&&e.every((e,n)=>e===t[n])),sY=a(),cY=Ve()(He((e,t)=>({runtimeIdentity:sY,...aY(),serverRevisionByProject:{},deferredServerOrderByProject:{},runtimeOrdersByIdentity:{[sY]:aY()},activateWorktreeOrderRuntime:t=>e(e=>{if(e.runtimeIdentity===t)return e;let n=e.runtimeOrdersByIdentity[t]??aY();return{runtimeIdentity:t,orderByProject:n.orderByProject,pendingProjectIDs:n.pendingProjectIDs,serverRevisionByProject:{},deferredServerOrderByProject:{},runtimeOrdersByIdentity:e.runtimeOrdersByIdentity[t]?e.runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[t]:n}}}),setWorktreeOrder:(t,n,r)=>{let i=!1;e(e=>{let n=oY(e.orderByProject[t],r),a=e.pendingProjectIDs[t]?e.pendingProjectIDs:{...e.pendingProjectIDs,[t]:!0};if(i=!n||a!==e.pendingProjectIDs,!i)return e;let o=n?e.orderByProject:{...e.orderByProject,[t]:r},s={orderByProject:o,pendingProjectIDs:a};return{orderByProject:o,pendingProjectIDs:a,runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[e.runtimeIdentity]:s}}}),i&&rY?.(t,n,r)},markPendingWorktreeOrder:t=>e(e=>{if(e.pendingProjectIDs[t])return e;let n={...e.pendingProjectIDs,[t]:!0};return{pendingProjectIDs:n,runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[e.runtimeIdentity]:{orderByProject:e.orderByProject,pendingProjectIDs:n}}}}),applyServerWorktreeOrder:(t,n,r)=>e(e=>{let i=e.serverRevisionByProject[t];if(i!==void 0&&r<=i)return e;let a={...e.serverRevisionByProject,[t]:r};if(e.pendingProjectIDs[t])return{serverRevisionByProject:a,deferredServerOrderByProject:{...e.deferredServerOrderByProject,[t]:{orderedPaths:n,revision:r}}};if(oY(e.orderByProject[t],n))return{serverRevisionByProject:a};let o={...e.orderByProject,[t]:n};return{orderByProject:o,serverRevisionByProject:a,runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[e.runtimeIdentity]:{orderByProject:o,pendingProjectIDs:e.pendingProjectIDs}}}}),setServerRevision:(t,n)=>e(e=>{let r=e.serverRevisionByProject[t];return r!==void 0&&n<=r?e:{serverRevisionByProject:{...e.serverRevisionByProject,[t]:n}}}),resolvePendingWorktreeOrder:(t,n)=>e(e=>{let r=e.serverRevisionByProject[t],i=e.deferredServerOrderByProject[t],a=Math.max(r??0,n,i?.revision??0),o=r===a?e.serverRevisionByProject:{...e.serverRevisionByProject,[t]:a},s=i?(()=>{let n={...e.deferredServerOrderByProject};return delete n[t],n})():e.deferredServerOrderByProject;if(!e.pendingProjectIDs[t])return o===e.serverRevisionByProject&&s===e.deferredServerOrderByProject?e:{serverRevisionByProject:o,deferredServerOrderByProject:s};let c={...e.pendingProjectIDs};delete c[t];let l=i&&i.revision>n&&!oY(e.orderByProject[t],i.orderedPaths)?{...e.orderByProject,[t]:i.orderedPaths}:e.orderByProject;return{pendingProjectIDs:c,orderByProject:l,serverRevisionByProject:o,deferredServerOrderByProject:s,runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[e.runtimeIdentity]:{orderByProject:l,pendingProjectIDs:c}}}}),resetServerWorktreeOrders:()=>e(e=>Object.keys(e.serverRevisionByProject).length===0&&Object.keys(e.deferredServerOrderByProject).length===0?e:{serverRevisionByProject:{},deferredServerOrderByProject:{}}),hasPendingWorktreeOrder:e=>!!t().pendingProjectIDs[e]}),{name:`mobile-worktree-order`,version:2,partialize:e=>({runtimeOrdersByIdentity:e.runtimeOrdersByIdentity}),migrate:e=>{let t=e;return t.runtimeOrdersByIdentity?{runtimeOrdersByIdentity:t.runtimeOrdersByIdentity}:{runtimeOrdersByIdentity:{[sY]:{orderByProject:t.orderByProject??{},pendingProjectIDs:t.pendingProjectIDs??{}}}}},merge:(e,t)=>{let n=e.runtimeOrdersByIdentity??t.runtimeOrdersByIdentity,r=n[t.runtimeIdentity]??aY();return{...t,runtimeOrdersByIdentity:n,orderByProject:r.orderByProject,pendingProjectIDs:r.pendingProjectIDs}}})),lY=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``),uY=(e,t)=>{if(!e||e.length===0)return t;let n=new Map(e.map((e,t)=>[lY(e),t]));return t.map((e,t)=>({worktree:e,index:t})).sort((e,t)=>(n.get(lY(e.worktree.path))??2**53-1)-(n.get(lY(t.worktree.path))??2**53-1)||e.index-t.index).map(e=>e.worktree)},dY=3e4,fY=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,pY=e=>e instanceof Ci?e.status===501?`unsupported`:e.status>=400&&e.status<500&&e.status!==408&&e.status!==429&&e.code!==`revision_conflict`?`permanent`:`retry`:`retry`,mY=(e,t)=>new Promise((n,r)=>{let i=()=>{clearTimeout(a),t.removeEventListener(`abort`,i),r(new DOMException(`Aborted`,`AbortError`))},a=setTimeout(()=>{t.removeEventListener(`abort`,i),n()},e);t.aborted?i():t.addEventListener(`abort`,i,{once:!0})}),hY=(e,t)=>e.then(e=>{if(t?.aborted)throw new DOMException(`Aborted`,`AbortError`);return e}),gY={fetchSnapshot:e=>hY(ca(le),e),refreshSnapshot:e=>hY(Wo(le),e),fetchOrder:Ho,setOrder:Di,waitInvalidation:wr,captureRuntime:()=>({transportIdentity:a(),generation:s()}),isCurrent:e=>e.transportIdentity===a()&&e.generation===s(),sleep:mY,createRequestID:()=>typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`worktree-order-${Date.now()}-${Math.random().toString(36).slice(2)}`},_Y=new Map,vY=()=>{for(let e of _Y.values())e.controller.abort();_Y.clear()},yY=(e,t,n,r=gY)=>{_Y.get(e)?.controller.abort();let i={projectDirectory:fY(t),orderedPaths:[...n],capture:r.captureRuntime(),controller:new AbortController,backoffMs:500,running:!1};_Y.set(e,i),bY(e,r)},bY=async(e,t=gY)=>{let n=_Y.get(e);if(!(!n||n.running)){n.running=!0;try{for(;;){let n=_Y.get(e);if(!n||!t.isCurrent(n.capture)||n.controller.signal.aborted)return;let r=cY.getState().serverRevisionByProject[e]??0;n.expectedRevision!==r&&(n.expectedRevision=r,n.requestID=t.createRequestID());try{let i=await t.setOrder({requestID:n.requestID,projectDirectory:n.projectDirectory,expectedRevision:r,orderedPaths:n.orderedPaths,signal:n.controller.signal});if(!t.isCurrent(n.capture)||_Y.get(e)!==n)return;let a=i.worktreeOrder??{projectDirectory:n.projectDirectory,orderedPaths:n.orderedPaths,revision:i.revision};cY.getState().setServerRevision(e,a.revision),cY.getState().resolvePendingWorktreeOrder(e,a.revision),_Y.delete(e);return}catch(r){if(n.controller.signal.aborted||!t.isCurrent(n.capture)||_Y.get(e)!==n)return;if(r instanceof Ci&&r.code===`revision_conflict`)try{let r=await t.fetchOrder(n.projectDirectory,n.controller.signal);if(_Y.get(e)!==n||!t.isCurrent(n.capture))return;cY.getState().applyServerWorktreeOrder(e,r.orderedPaths,r.revision),n.expectedRevision=void 0,n.requestID=void 0,n.backoffMs=500;continue}catch(e){if(pY(e)!==`retry`)return}else if(pY(r)!==`retry`)return;if(await t.sleep(n.backoffMs,n.controller.signal).catch(()=>{}),n.backoffMs=Math.min(n.backoffMs*2,dY),n.controller.signal.aborted)return}}}finally{_Y.get(e)===n&&(!t.isCurrent(n.capture)||n.controller.signal.aborted)&&_Y.delete(e),_Y.get(e)===n&&(n.running=!1)}}},xY=(e,t,n,r)=>{let i=new Map(t.map(e=>[fY(e.path),e.id]));for(let t of e){let e=i.get(fY(t.projectDirectory));e&&r.isCurrent(n)&&cY.getState().applyServerWorktreeOrder(e,t.orderedPaths,t.revision)}},SY=(e,t=gY)=>{let n=null,r=()=>n?.abort();return{start:()=>{r(),n=new AbortController;let i=n.signal,a=t.captureRuntime();(async()=>{let n=0,r=500;for(;!i.aborted&&t.isCurrent(a);)try{let r=await t.fetchSnapshot(i);if(i.aborted||!t.isCurrent(a))return;n=r.revision;let o=e();xY(r.worktreeOrders,o,a,t);let s=new Set(r.worktreeOrders.map(e=>fY(e.projectDirectory)));for(let e of o){let n=cY.getState(),r=n.orderByProject[e.id];n.pendingProjectIDs[e.id]?yY(e.id,e.path,r??[],t):r?.length&&!s.has(fY(e.path))&&(n.markPendingWorktreeOrder(e.id),yY(e.id,e.path,r,t))}break}catch(e){if(pY(e)!==`retry`)return;await t.sleep(r,i).catch(()=>{}),r=Math.min(r*2,dY)}for(;!i.aborted&&t.isCurrent(a);)try{let o=await t.waitInvalidation(n,{signal:i});if(i.aborted||!t.isCurrent(a)||o===`aborted`)return;let s=await(t.refreshSnapshot??t.fetchSnapshot)(i);if(i.aborted||!t.isCurrent(a))return;n=s.revision,xY(s.worktreeOrders,e(),a,t),r=500}catch(e){if(pY(e)!==`retry`)return;await t.sleep(r,i).catch(()=>{}),r=Math.min(r*2,dY)}})()},stop:r}},CY=()=>{let e=(0,Q.c)(2),t=pa(TY),n;e[0]===t?n=e[1]:(n=[t],e[0]=t,e[1]=n),Z.useEffect(OY,n)};function wY(e){return[e.id,fY(e.path)]}function TY(e){return JSON.stringify(e.projects.map(wY))}function EY(e,t,n){return yY(e,t,n)}function DY(){return pa.getState().projects}function OY(){let e=a();cY.getState().activateWorktreeOrderRuntime(e);let t=iY(EY),n=SY(DY);n.start();let i=r(e=>{c(e)&&(vY(),cY.getState().activateWorktreeOrderRuntime(a()),n.start())});return()=>{t(),i(),n.stop(),vY()}}var kY=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,AY=e=>{let t=!1,n=0,r=0,i=0,a=new Map,o=new Map,s=new Set,c=new Set,l=new Map,u=new Set,d=new Set,f=new Set,p=``,m=[],h=t=>{let n=kY(t);return e.getProjects().find(e=>kY(e.path)===n)},g=(n,i=150)=>{let s=kY(n.path),c=o.get(s);c&&e.clearTimer(c.timer);let l=r,u=e.setTimer(()=>{!t||l!==r||(o.delete(s),a.set(s,n),_(l))},i);o.set(s,{timer:u,epoch:l})},_=(n=r)=>{if(!(!t||n!==r))for(;i<2&&a.size>0;){let[n,o]=a.entries().next().value;a.delete(n),i+=1;let s=e.generation(),c=r;e.refresh(o,{isCurrent:()=>t&&c===r&&s===e.generation()}).then(i=>{if(!(!t||c!==r||s!==e.generation())){f.add(n);for(let e of i.addedDirectories)u.add(kY(e));if(e.needsSessionSync)for(let t of i.worktrees){let n=kY(t.path);e.needsSessionSync(n)&&u.add(n)}v(c,s),y()}}).then(()=>{t&&c===r&&s===e.generation()&&l.delete(n)}).catch(()=>{if(!t||c!==r||s!==e.generation())return;let i=(l.get(n)??0)+1;l.set(n,i),t&&c===r&&g(o,[1e3,2e3,5e3,15e3,3e4][Math.min(i-1,4)])}).finally(()=>{c===r&&(--i,_(c))})}},v=(n,i)=>{if(u.size===0)return;let a=[...u];u.clear(),e.syncAdded(a).catch(()=>{if(t&&n===r&&i===e.generation()){for(let e of a)u.add(e);let o=e.setTimer(()=>{s.delete(o),t&&n===r&&v(n,i)},1e3);s.add(o)}})},y=()=>{if(f.size!==e.getProjects().length)return;let t=e.getCatalog();for(let e of d){let n=e.slice(e.indexOf(`:`)+1);[...t.entries()].some(([e,t])=>kY(e)===n||t.some(e=>kY(e.path)===n))||c.add(e)}},b=()=>{f.clear();for(let t of e.getProjects())g(t,0)},x=()=>{let t=e.getCatalog(),r=e.getProjects(),i=new Set;for(let t of e.getActiveDirectories())t.trim()&&i.add(kY(t));for(let e of[...d]){let t=e.slice(e.indexOf(`:`)+1);i.has(t)||d.delete(e)}for(let e of[...c]){let t=e.slice(e.indexOf(`:`)+1);i.has(t)||c.delete(e)}for(let e of i)if(!r.find(n=>{let r=kY(n.path),i=t.get(r)?.some(t=>kY(t.path)===e);return e===r||i})){let t=`${n}:${e}`;!c.has(t)&&!d.has(t)&&(d.add(t),b())}},S=()=>{r+=1,c.clear(),d.clear(),l.clear(),u.clear(),f.clear();for(let t of o.values())e.clearTimer(t.timer);o.clear();for(let t of s)e.clearTimer(t);s.clear(),a.clear(),i=0};return{start:()=>{t||e.isVSCode()||(t=!0,m.push(e.subscribeEvents(e=>{if(e.type===`event-stream-ready`&&(n+=1,S(),b()),e.type===`worktree-topology-changed`&&e.projectDirectory){let t=h(e.projectDirectory);t&&g(t)}})),p=e.getProjects().map(e=>`${e.id}\u0000${kY(e.path)}`).sort().join(`
|
|
6605
|
-
`),m.push(e.subscribeProjects(()=>{let t=e.getProjects().map(e=>`${e.id}\u0000${
|
|
6606
|
-
`);t!==p&&(p=t,S(),b(),x())})),m.push(e.subscribeCatalog(x)),m.push(e.subscribeSessions(x)),m.push(e.subscribeRuntime(e=>{e&&(n+=1,S(),b())})),b(),x())},stop:()=>{t=!1,S();for(let{timer:t}of o.values())e.clearTimer(t);for(o.clear(),a.clear(),i=0;m.length;)m.pop()?.()},reconcileAll:b}},
|
|
6599
|
+
`)}return st&&st.trim().length>0?st:ua(Le)},[st,Le,G]),ut=ct.length>0,dt=Z.useCallback(async()=>(await Gn(ct)).ok?(G&&(R(!0),setTimeout(()=>R(!1),2e3)),!0):!1,[G,ct]),ft=J(async()=>{if(!(!oe||!e.info.id||V.current)){V.current=`revert`,B(`revert`);try{_.onRevertMessage?await _.onRevertMessage(e.info.id):await w(oe,e.info.id,{directory:_.directory??void 0})}catch(e){_.onRevertMessage&&Pn.error(p(`chat.revert.toast.failed`),{id:`session-revert-error`,description:e&&typeof e==`object`&&`message`in e?String(e.message):String(e)})}finally{V.current=null,B(null)}}}),pt=J(()=>{if(!oe||!e.info.id||V.current)return;let t={info:e.info,parts:e.parts};if(_.onEditMessage){_.onEditMessage(e.info.id,t).catch(()=>{});return}T(oe,e.info.id,t).catch(()=>{})}),mt=J(()=>{oe&&k(oe)}),ht=Z.useCallback(async()=>{if(e.info.id,!oe||!e.info.id){console.warn(`[session-fork] message action is missing identifiers`,{hasSessionId:!!oe,hasMessageId:!!e.info.id});return}if(!V.current){V.current=`fork`,B(`fork`);try{await E(oe,e.info.id)}finally{V.current=null,B(null)}}},[oe,e.info.id,E]),gt=J(t=>{let n=Be.has(t),r=Ve.has(t);if(n){te(n=>{let i=new Set(n);return r?i.add(t):i.delete(t),vL(e.info.id,i),i}),r||ee(n=>{let r=new Set(n);return r.delete(t),gL(e.info.id,r),r});return}ee(n=>{let r=new Set(n);return r.has(t)?r.delete(t):r.add(t),gL(e.info.id,r),r}),te(n=>{if(!n.has(t))return n;let r=new Set(n);return r.delete(t),vL(e.info.id,r),r})}),_t=i??null,vt=Z.useRef(!1),yt=Z.useRef(!1),bt=Z.useRef(!1),xt=Z.useRef(!1),St=Z.useRef(!1),Ct=Z.useRef(!1);Z.useEffect(()=>{yt.current=!1,bt.current=!1,xt.current=!1,St.current=!1,vt.current=!1,Ct.current=!1},[e.info.id]);let wt=Z.useCallback(()=>{G||vt.current||(vt.current=!0,r?.(`structural`))},[G,r]),Tt=q(e=>e.setImagePreviewOpen),Et=Z.useCallback(e=>{(e.image||e.mermaid)&&(W(e),Tt(!0))},[Tt]),Dt=Z.useCallback(e=>{W(t=>({...t,open:e})),Tt(e)},[Tt]),Ot=!!wL(e.info,`animationSettled`),kt=tt===`streaming`||tt===`cooldown`;kt&&(Ct.current=!0);let At=Z.useMemo(()=>!G&&Ie.some(e=>e.type===`reasoning`),[G,Ie]),jt=qe&&!Ot&&!kt&&!Ct.current,Mt=!G&&qe&&Re.length>0&&!Ge;Z.useEffect(()=>{if(_t?.onStreamingCandidate){if(!Mt){bt.current&&=(At&&_t?.onReasoningBlock?_t.onReasoningBlock():_t?.onReservationCancelled&&_t.onReservationCancelled(),!1);return}St.current||(St.current=!0,_t.onStreamingCandidate(),bt.current=!0)}},[_t,Mt,At]),Z.useEffect(()=>{_t?.onAnimationStart&&jt&&(xt.current||=(_t.onAnimationStart(),!0))},[_t,jt]),Z.useEffect(()=>{if(G)return;let e=_t?.onAnimatedHeightChange;if(!e||!(jt||Mt))return;let t=b.current;if(!t)return;if(typeof window>`u`||typeof ResizeObserver>`u`){e(t.getBoundingClientRect().height);return}let n=null,r=t=>{if(typeof window>`u`){e(t);return}n!==null&&window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{e(t)})},i=new ResizeObserver(e=>{let t=e[0];t&&r(t.contentRect.height)});return i.observe(t),r(t.getBoundingClientRect().height),()=>{n!==null&&(window.cancelAnimationFrame(n),n=null),i.disconnect()}},[jt,G,_t,Mt]);let Nt=Z.useMemo(()=>G?!0:Ie.some(e=>e.type===`text`||e.type===`reasoning`?_D(e).trim().length>0:e.type===`tool`||e.type===`file`),[G,Ie]),Pt=!!(a?.activityOwnerMessageId===e.info.id&&((a.activityParts?.length??0)>0||a.hasTools||a.hasReasoning)),Ft=!G&&!re&&(Pe||!c||!!a)&&!ot&&!Nt&&!Pt,It=HI(e.info,p);if(It)return(0,$.jsx)(`div`,{ref:S,className:`chat-message-column py-1.5`,id:`message-${e.info.id}`,"data-message-id":e.info.id,"data-restart-notice":``,children:(0,$.jsx)(Zv,{presentation:It})});if(Ue||Ft)return null;if(re)return(0,$.jsx)(`div`,{className:Y(`group w-full`,m?`py-2`:`py-3`),id:`message-${e.info.id}`,"data-message-id":e.info.id,"data-compaction-status":re.status,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)(WI,{part:re,isMobile:m})})});let Lt=!G&&nt?m?M?`pt-4`:`pt-0`:`pt-6`:`pt-0`,Rt=oL(e);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:Y(`w-full`,!G&&`oc-message-hover-scope`,G?m?`pt-2`:`pt-6`:Lt,G||et||s?`pb-0`:$e?`pb-1`:`pb-8`),id:`message-${e.info.id}`,"data-message-id":e.info.id,...fO,ref:S,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:G?jD(Le)?(0,$.jsx)(jd,{forceAnimation:!0,skipAnimation:!u,ignoreContextDisabled:!0,respectReducedMotion:!0,children:(0,$.jsx)(`div`,{...fO,className:Y(`relative flex`,Rt?`justify-start`:`justify-end`,m?void 0:`oc-user-shell-hover-scope`),children:(0,$.jsxs)(`div`,{className:Y(Rt?`w-full min-w-0`:`max-w-[85%]`,ae&&!Rt?`pb-5`:void 0),children:[(0,$.jsx)(`div`,{style:Rt?void 0:{backgroundColor:`var(--chat-user-message-bg)`,borderRadius:`var(--radius-xl)`,borderBottomRightRadius:`var(--radius-sm)`},className:Rt?`min-w-0 text-left`:`px-3 py-1.5 shadow-none border border-primary/5`,"data-user-message-bubble":Rt?void 0:`true`,"data-shell-result":Rt?`true`:void 0,children:(0,$.jsx)(AI,{messageId:e.info.id,parts:Le,sourceParts:ce,isUser:G,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:F,onCopyCode:rt,expandedTools:H,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:!1,hasTextContent:ut,onCopyMessage:dt,copiedMessage:L,showReasoningTraces:j,onAuxiliaryContentComplete:wt,agentMention:He,onEdit:!D&&v.edit?pt:void 0,onRevert:!D&&v.revert?ft:void 0,onFork:!D&&G&&v.fork?ht:void 0,editing:D,editStaged:O,onCancelEdit:O?mt:void 0,pendingMessageAction:z,errorPresentation:ot,userActionsMode:ie?`external-content`:`inline`,stickyUserHeaderEnabled:M&&!Rt})}),ie?(0,$.jsx)(AI,{messageId:e.info.id,parts:Le,sourceParts:ce,isUser:G,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:F,onCopyCode:rt,expandedTools:H,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:!1,hasTextContent:ut,onCopyMessage:dt,copiedMessage:L,showReasoningTraces:j,onAuxiliaryContentComplete:wt,agentMention:He,onEdit:!D&&v.edit?pt:void 0,onRevert:!D&&v.revert?ft:void 0,onFork:!D&&G&&v.fork?ht:void 0,editing:D,editStaged:O,onCancelEdit:O?mt:void 0,pendingMessageAction:z,errorPresentation:ot,userActionsMode:`external-actions`,stickyUserHeaderEnabled:M}):null]})})}):null:(0,$.jsxs)(`div`,{className:`relative`,children:[nt&&(0,$.jsx)(hO,{isUser:G,isMobile:m,providerID:ke,modelID:Ae,agentName:Oe,modelName:je,variant:at}),!Nt&&!Pt&&!ot&&c&&!Pe&&(0,$.jsxs)(`div`,{role:`status`,"aria-label":p(`common.loading`),"data-assistant-content-loading":``,className:`space-y-2 py-2`,children:[(0,$.jsx)(gf,{className:`h-3.5 w-2/3`}),(0,$.jsx)(gf,{className:`h-3.5 w-1/3`})]}),(0,$.jsx)(AI,{sessionId:e.info.sessionID,messageId:e.info.id,parts:Ie,sourceParts:le,isUser:G,isMessageCompleted:Pe,messageFinish:Fe,messageCompletedAt:Me??void 0,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:F,onCopyCode:rt,expandedTools:Ve,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:nt,hasTextContent:ut,onCopyMessage:dt,copiedMessage:L,onAuxiliaryContentComplete:wt,showReasoningTraces:j,agentMention:He,turnGroupingContext:a,errorPresentation:ot,reviewTransferDirection:f})]})})}),ne.open?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(lL,{popup:ne,onOpenChange:Dt,isMobile:m})}):null]})},(e,t)=>Qk({info:e.message.info,parts:e.message.parts},{info:t.message.info,parts:t.message.parts})&&e.message.sourceParts===t.message.sourceParts&&$k(e.previousMessage?{info:e.previousMessage.info,parts:e.previousMessage.parts}:void 0,t.previousMessage?{info:t.previousMessage.info,parts:t.previousMessage.parts}:void 0)&&$k(e.nextMessage?{info:e.nextMessage.info,parts:e.nextMessage.parts}:void 0,t.nextMessage?{info:t.nextMessage.info,parts:t.nextMessage.parts}:void 0)&&e.isInActiveTurn===t.isInActiveTurn&&e.activeStreamingPhase===t.activeStreamingPhase&&e.reviewTransferDirection===t.reviewTransferDirection&&e.assistantHeaderMessageId===t.assistantHeaderMessageId&&e.turnOwnsAssistantHeader===t.turnOwnsAssistantHeader&&e.animateUserOnMount===t.animateUserOnMount&&e.onUserAnimationConsumed===t.onUserAnimationConsumed&&sA(e.turnGroupingContext,t.turnGroupingContext,e.message.info.id,II(e.message.info).isUser)),EL=e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``},DL=e=>{let t=e?.type;return t===`compaction`?!Gt(e):t===`text`&&EL(e).trim()===`/compact`},OL=e=>e?e.some(e=>DL(e)):!1,kL=e=>OL(e.parts),AL=e=>e?OL(e.sourceParts)||OL(e.parts):!1,jL=e=>{if(!kL(e))return e;let t=!1,n=e.parts.map(e=>e?.type!==`compaction`||Gt(e)?e:(t=!0,{type:`text`,text:`/compact`})),r=e.info.clientRole!==`user`;return!t&&!r?e:{...e,info:r?{...e.info,clientRole:`user`}:e.info,parts:t?n:e.parts}},ML=e=>{let t=gD(e.parts);return t.length===e.parts.length?e:{...e,parts:t}},NL=new WeakMap,PL=e=>{let t=NL.get(e);if(t)return t;let n=jL(ML(e)),r=n.parts,i=xo(r),a=i===r?n:{...n,parts:i,sourceParts:r};return NL.set(e,a),a},FL={activity:`idle`,hasWorkingContext:!1,hasActiveTools:!1,isWorking:!1,isStreaming:!1,isCooldown:!1,lifecyclePhase:null,statusText:null,isGenericStatus:!0,isWaitingForPermission:!1,canAbort:!1,compactionDeadline:null,activePartType:void 0,activeToolName:void 0,wasAborted:!1,abortActive:!1,lastCompletionId:null,isComplete:!1,isTurnSettled:!1,retryInfo:null,turnStartedAt:void 0},IL=[],LL=`\0`,RL=new Set([`edit`,`write`,`apply_patch`]),zL={read:`chat.assistantStatus.readingFile`,write:`chat.assistantStatus.writingFile`,edit:`chat.assistantStatus.editingFile`,apply_patch:`chat.assistantStatus.applyingPatch`,bash:`chat.assistantStatus.runningCommand`,grep:`chat.assistantStatus.searchingContent`,glob:`chat.assistantStatus.findingFiles`,list:`chat.assistantStatus.listingDirectory`,task:`chat.assistantStatus.delegatingTask`,webfetch:`chat.assistantStatus.fetchingUrl`,websearch:`chat.assistantStatus.searchingWeb`,codesearch:`chat.assistantStatus.webCodeSearch`,todowrite:`chat.assistantStatus.updatingTodos`,todoread:`chat.assistantStatus.readingTodos`,skill:`chat.assistantStatus.learningSkill`,question:`chat.assistantStatus.askingQuestion`,execute:`chat.assistantStatus.executing`,session_rename:`chat.assistantStatus.renamingSession`,session_move:`chat.assistantStatus.movingSession`,browser:`chat.assistantStatus.usingBrowser`},BL=[`chat.assistantStatus.working`,`chat.assistantStatus.processing`,`chat.assistantStatus.preparing`,`chat.assistantStatus.warmingUp`,`chat.assistantStatus.gearsTurning`,`chat.assistantStatus.computing`,`chat.assistantStatus.calculating`,`chat.assistantStatus.analyzing`,`chat.assistantStatus.wheelsSpinning`,`chat.assistantStatus.calibrating`,`chat.assistantStatus.synthesizing`,`chat.assistantStatus.connectingDots`,`chat.assistantStatus.inspectingLogic`,`chat.assistantStatus.weighingOptions`],VL=(e,t)=>{let n=zL[Sd(e)];return n?t(n):t(`chat.assistantStatus.usingTool`,{tool:e})},HL=e=>{let t=0;for(let n=0;n<e.length;n+=1)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)},UL=(e,t)=>t(BL[HL(e)%BL.length]??`chat.assistantStatus.working`),WL=(e,t,n)=>{let r,i;if(!La(e))for(let t=e.length-1;t>=0;--t){let n=e[t];if(n)switch(n.type){case`reasoning`:{let e=n.time??XL(n);(!e||e.end===void 0)&&!r&&(r=`reasoning`);break}case`tool`:{let e=n.state?.status;if((e===`running`||e===`pending`)&&!r){let e=Sd(ZL(n));RL.has(e)?(r=`editing`,i=e):(r=`tool`,i=e)}break}case`text`:{let e=YL(n)??``;if(typeof e==`string`&&e.trim().length>0){let e=XL(n);(!e||e.end===void 0)&&!r&&(r=`text`)}break}}}let a=r===void 0,o=r===`editing`?n(`chat.assistantStatus.editingFile`):r===`tool`&&i?VL(i,n):r===`reasoning`?n(`chat.assistantStatus.thinking`):r===`text`?n(`chat.assistantStatus.composing`):UL(t,n);return{activePartType:r,activeToolName:i,statusText:o,isGenericStatus:a}},GL=e=>[e.activePartType??``,e.activeToolName??``,e.statusText,e.isGenericStatus?`1`:`0`].join(LL),KL=e=>{let[t,n,r=`working`,i]=e.split(LL);return{activePartType:t===`text`||t===`tool`||t===`reasoning`||t===`editing`?t:void 0,activeToolName:n||void 0,statusText:r,isGenericStatus:i===`1`}},qL=e=>e.type===`reasoning`,JL=e=>e.type===`text`,YL=e=>{if(JL(e))return e.text;let t=e;if(typeof t.text==`string`)return t.text;if(typeof t.content==`string`)return t.content;if(typeof t.value==`string`)return t.value},XL=e=>(JL(e)||qL(e),e.time),ZL=e=>{if(e.tool)return e.tool;let t=e;return typeof t.name==`string`?t.name:`tool`};function QL(e,t){let{t:n}=Kn(),r=ma(e=>e.currentSessionId),i=ma(e=>e.currentSessionDirectory),a=e??r,o=t??i,s=Yr(e=>!!(a&&e.session_execution_recovery[a]),o??void 0),c=Z.useMemo(()=>e=>a?e.pendingSendMessageIDs.get(a)??null:null,[a]),l=ma(c),u=Qa(a??``,o??void 0),d=Z.useMemo(()=>{for(let e=u.length-1;e>=0;e--){let t=u[e];if(t.role===`assistant`)return{id:t.id,index:e,finish:t.finish,error:t.error,isCompaction:t.clientRole===`compaction`,startedAt:Number.isFinite(t.time.created)?t.time.created:void 0}}return{id:null,index:-1,finish:void 0,error:void 0,isCompaction:!1,startedAt:void 0}},[u]),f=d.id,p=Z.useMemo(()=>{for(let e=u.length-1;e>=0;e--){let t=u[e];if(t.role===`user`&&!St(t))return{id:t.id,index:e,turnStartedAt:Number.isFinite(t.time.created)?t.time.created:void 0}}return{id:null,index:-1,turnStartedAt:void 0}},[u]),m=p.id,h=ha(f??``,o??void 0,a??void 0),g=ha(m??``,o??void 0,a??void 0),_=!!m&&OL(g),v=d.isCompaction&&d.index>p.index?h.find(e=>e.type===`compaction`):void 0,y=v?.reason===`manual`?d.startedAt:p.turnStartedAt,b=!!(f&&d.index>p.index&&(v?v.status===`failed`||v.reason===`manual`&&v.status===`completed`:gN(d.finish,h,d.error))),x=Z.useMemo(()=>{let e=`${a??``}:${f??``}`;return GL(WL(f&&!d.error&&d.index>p.index?h:IL,e,n))},[a,f,d.error,d.index,p.index,h,n]),S=Ca(a??``,o??void 0),C=mo(a??``,o??void 0),w=Z.useMemo(()=>e=>a?e.sessionAbortFlags?.get(a)??null:null,[a]),T=ma(w),{phase:E,isWorking:D}=Px(a,o??void 0),O=!!(d.error&&d.index>p.index),k=to(a??``,o??void 0),A=k?.type===`retry`?k.attempt:void 0,j=k?.type===`retry`?k.next:void 0,M=Z.useMemo(()=>KL(x),[x]),N=Z.useMemo(()=>{let e=!!(T&&!T.acknowledged);return{wasAborted:e,abortActive:e}},[T]),P=Z.useMemo(()=>{if(s)return{...FL,isRecovering:!0,canAbort:D};if(O&&E!==`retry`)return{...FL,isTurnSettled:!0,canAbort:D};if(N.wasAborted)return{...FL,wasAborted:!0,abortActive:N.abortActive,activity:`idle`,hasWorkingContext:!1,isWorking:!1,isStreaming:!1,isCooldown:!1,statusText:null,canAbort:!1,retryInfo:null};if(b)return{...FL,isComplete:v?.status!==`failed`,isTurnSettled:!0,turnStartedAt:y};let e=D,t=E===`busy`,r=E===`retry`,i=e&&(_||v?.status===`running`),a=`idle`;e&&(a=!i&&(M.activePartType===`tool`||M.activePartType===`editing`)?`tooling`:`streaming`);let o=r?{attempt:A,next:j,message:k?.type===`retry`?k.message:void 0}:null;return{activity:a,hasWorkingContext:e,hasActiveTools:!i&&(M.activePartType===`tool`||M.activePartType===`editing`),isWorking:e,isStreaming:t,isCooldown:!1,lifecyclePhase:t?`streaming`:null,statusText:e?i?n(`chat.assistantStatus.compacting`):M.statusText:null,isGenericStatus:!e||!i&&M.isGenericStatus,isWaitingForPermission:!1,canAbort:e,compactionDeadline:null,activePartType:e&&!i?M.activePartType:void 0,activeToolName:e&&!i?M.activeToolName:void 0,wasAborted:!1,abortActive:!1,lastCompletionId:null,isComplete:!1,isTurnSettled:!1,retryInfo:o,turnStartedAt:y}},[s,O,E,D,b,_,v?.status,y,M,N,A,j,k,n]);return{forming:Z.useMemo(()=>({isActive:!s&&!O&&D&&M.activePartType===`text`,characterCount:0}),[s,O,D,M.activePartType]),working:Z.useMemo(()=>{if(s||P.wasAborted||P.abortActive)return P;if(l)return{...P,activity:`streaming`,hasWorkingContext:!0,isWorking:!0,isStreaming:!0,isCooldown:!1,lifecyclePhase:`streaming`,statusText:n(`chat.assistantStatus.sendingMessage`),isGenericStatus:!1,isWaitingForPermission:!1,canAbort:!0,activePartType:void 0,activeToolName:void 0,isComplete:!1,isTurnSettled:!1,retryInfo:null};let e=S.length>0,t=C.length>0;return!e&&!t?P:t?{...P,statusText:null,isWorking:!1,hasWorkingContext:!1,hasActiveTools:!1,canAbort:!1,activePartType:void 0,activeToolName:void 0,retryInfo:null}:{...P,statusText:n(`chat.assistantStatus.waitingForPermission`),isWaitingForPermission:!0,canAbort:!1,retryInfo:null}},[s,P,l,S,C,n])}}var $L=Z.memo(()=>{let e=(0,Q.c)(15),t=Bb(),n=ma(eR),r=ma(tR),i=t.sessionId??n,a=t.directory??r??void 0,o;e[0]===i?o=e[1]:(o=e=>i?e.sessionAbortFlags?.get(i)??null:null,e[0]=i,e[1]=o);let s=ma(o),c=ma(nR),l=ma(rR),{working:u}=QL(i,a),d=aa(iR),f=!!(s&&!s.acknowledged),p=!!(i&&c===i&&typeof l==`number`&&l>Date.now()),m=u.isWaitingForPermission||!!u.retryInfo||f||u.wasAborted||u.isWorking;if(u.isRecovering)return null;let h=f||u.wasAborted,g=f||u.abortActive,_;return e[2]!==d||e[3]!==p||e[4]!==m||e[5]!==h||e[6]!==g||e[7]!==u.isGenericStatus||e[8]!==u.isTurnSettled||e[9]!==u.isWaitingForPermission||e[10]!==u.isWorking||e[11]!==u.retryInfo||e[12]!==u.statusText||e[13]!==u.turnStartedAt?(_=(0,$.jsx)(Gb,{isWorking:u.isWorking,statusText:u.statusText,isGenericStatus:u.isGenericStatus,isWaitingForPermission:u.isWaitingForPermission,wasAborted:h,abortActive:g,retryInfo:u.retryInfo,turnStartedAt:u.turnStartedAt,isTurnSettled:u.isTurnSettled,showAbortPrompt:p,showAssistantStatus:m,showTodos:!1,agentName:d}),e[2]=d,e[3]=p,e[4]=m,e[5]=h,e[6]=g,e[7]=u.isGenericStatus,e[8]=u.isTurnSettled,e[9]=u.isWaitingForPermission,e[10]=u.isWorking,e[11]=u.retryInfo,e[12]=u.statusText,e[13]=u.turnStartedAt,e[14]=_):_=e[14],_});$L.displayName=`StatusRowContainer`;function eR(e){return e.currentSessionId}function tR(e){return e.currentSessionDirectory}function nR(e){return e.abortPromptSessionId}function rR(e){return e.abortPromptExpiresAt}function iR(e){return e.currentAgentName}var aR=(e,t)=>{if(typeof e!=`object`||!e)return;let n=e[t];if(typeof n!=`string`)return;let r=n.trim();return r.length>0?r:void 0},oR=e=>{let t=(0,Q.c)(3),[n,r]=Z.useState(e),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{e!=null&&r(e)},a=[e],t[0]=e,t[1]=i,t[2]=a),Z.useEffect(i,a),e??n},sR=Z.memo(e=>{let t=(0,Q.c)(37),{assistantMessage:n,userMessage:r,pendingPresentation:i,assistantIsInActiveTurn:a,isMobile:o}=e,s=aa(cR),c=aa(Ke(lR)),l=n?.info.sessionID??r?.info.sessionID,u;t[0]!==a||t[1]!==l?(u=e=>({currentContextAgent:a&&l?e.currentAgentContext.get(l):void 0,savedSessionAgentSelection:a&&l?e.sessionAgentSelections.get(l):void 0}),t[0]=a,t[1]=l,t[2]=u):u=t[2];let{currentContextAgent:d,savedSessionAgentSelection:f}=My(Ke(u)),p;t[3]===r?p=t[4]:(p=r?KI(r.info):null,t[3]=r,t[4]=p);let m=p,h;t[5]===n?h=t[6]:(h=n?KI(n.info):null,t[5]=n,t[6]=h);let g=h,_;t[7]!==n||t[8]!==d||t[9]!==i?.agentName||t[10]!==f||t[11]!==m?.agentName?(_=()=>n?aR(n.info,`mode`)??aR(n.info,`agent`)??m?.agentName??d??f:i?.agentName??m?.agentName,t[7]=n,t[8]=d,t[9]=i?.agentName,t[10]=f,t[11]=m?.agentName,t[12]=_):_=t[12],i?.agentName,m?.agentName;let v;t[13]===_?v=t[14]:(v=_(),t[13]=_,t[14]=v);let y=v,b;t[15]!==y||t[16]!==l?(b=e=>{if(l&&y){let t=e.getAgentModelForSession(l,y);if(t?.providerId&&t.modelId)return t}if(!l)return null;let t=e.getSessionModelSelection(l);return t?.providerId&&t.modelId?t:null},t[15]=y,t[16]=l,t[17]=b):b=t[17];let x=Sr(b),S=!n||a,C;t[18]!==g||t[19]!==c||t[20]!==x||t[21]!==S||t[22]!==m?(C=JI({assistantIdentity:g,userIdentity:m,sessionSelection:x,composerSelection:c,allowComposerFallback:S}),t[18]=g,t[19]=c,t[20]=x,t[21]=S,t[22]=m,t[23]=C):C=t[23];let w=C,T=w?.providerId,E=w?.modelId,D=oR(y),O=oR(T),k=oR(E),A,j;if(t[24]!==i?.modelName||t[25]!==s||t[26]!==k||t[27]!==O){let e=O?s.find(e=>e.id===O):void 0;A=fi(e,k??null)||i?.modelName||void 0,j=e?.models?.find(e=>e.id===k),t[24]=i?.modelName,t[25]=s,t[26]=k,t[27]=O,t[28]=A,t[29]=j}else A=t[28],j=t[29];let M=j,N=M?.variants&&Object.keys(M.variants).length>0?m?.variant??i?.variant:void 0,P=O??null,F=k??null,I=D??void 0,L;return t[30]!==o||t[31]!==A||t[32]!==P||t[33]!==F||t[34]!==I||t[35]!==N?(L=(0,$.jsx)(hO,{isUser:!1,isMobile:o,providerID:P,modelID:F,agentName:I,modelName:A,variant:N}),t[30]=o,t[31]=A,t[32]=P,t[33]=F,t[34]=I,t[35]=N,t[36]=L):L=t[36],L});function cR(e){return e.providers}function lR(e){return{providerId:e.currentProviderId,modelId:e.currentModelId}}var uR=Z.memo(e=>{let t=(0,Q.c)(19),{assistantMessages:n,messages:r,activityExpanded:i,renderMessage:a}=e,o;bb0:{let e=+(r[0]?.role===`user`);if(!r.some((t,n)=>n>=e&&t.role!==`assistant`)){o=n;break bb0}let i;t[0]===n?i=t[1]:(i=new Set(n.map(dR)),t[0]=n,t[1]=i);let a=i,s;if(t[2]!==r||t[3]!==e||t[4]!==a){let n;t[6]!==e||t[7]!==a?(n=(t,n)=>n>=e&&(t.role!==`assistant`||a.has(t.messageId))?[t.message]:[],t[6]=e,t[7]=a,t[8]=n):n=t[8],s=r.flatMap(n),t[2]=r,t[3]=e,t[4]=a,t[5]=s}else s=t[5];o=s}let s=o,c;if(t[9]!==i||t[10]!==a||t[11]!==s){let e;t[13]!==i||t[14]!==a?(e=e=>a(e,i),t[13]=i,t[14]=a,t[15]=e):e=t[15],c=s.map(e),t[9]=i,t[10]=a,t[11]=s,t[12]=c}else c=t[12];let l;return t[16]!==i||t[17]!==c?(l=(0,$.jsx)(`div`,{className:`relative z-0`,"data-turn-assistant-activity-expanded":i,children:c}),t[16]=i,t[17]=c,t[18]=l):l=t[18],l});function dR(e){return e.info.id}var fR=e=>{let t=(0,Q.c)(13),{sessionId:n,directory:r,hasInlineError:i,fallbackHeader:a}=e,o=i!==void 0&&i,{t:s}=Kn(),c=Ji(n),l=za(n,r??void 0),u;if(t[0]===n?u=t[1]:(u=e=>!!(e.session_execution_recovery[n]||e.session_status[n]?.type===`retry`),t[0]=n,t[1]=u),Yr(u,r??void 0)||l===void 0||!c||o||c.directory&&r&&c.directory!==r)return null;let d;t[2]!==c.error||t[3]!==s?(d=BI(c.error,s)??{text:s(`chat.chatInput.toast.messageSendFailed`),icon:`error-warning`,variant:`error`},t[2]=c.error,t[3]=s,t[4]=d):d=t[4];let f=d,p;t[5]===a?p=t[6]:(p=a?(0,$.jsx)(`div`,{className:`pb-2`,children:a}):null,t[5]=a,t[6]=p);let m;t[7]===f?m=t[8]:(m=(0,$.jsx)(Zv,{presentation:f}),t[7]=f,t[8]=m);let h;return t[9]!==n||t[10]!==p||t[11]!==m?(h=(0,$.jsxs)(`div`,{className:`chat-message-column py-1.5`,"data-session-error":n,children:[p,m]}),t[9]=n,t[10]=p,t[11]=m,t[12]=h):h=t[12],h},pR=new Set,mR=()=>{},hR=()=>{},gR=Z.memo(e=>{let t=(0,Q.c)(53),{turn:n,showSessionError:r,activityExpanded:i,showCompactionStatus:a,pendingAssistantHeader:o,assistantHeaderMessage:s,assistantHeaderIsInActiveTurn:c,preserveActiveTurnGap:l,onToggleActivity:u,stickyUserHeader:d,renderMessage:f}=e,p=r!==void 0&&r,m=o===void 0?null:o,h=c!==void 0&&c,g=l!==void 0&&l,_=d===void 0||d,v=q(_R),y=Bb(),b=n.userMessage?.info.time?.created,x=n.userMessage??n.assistantMessages[0],S=n.activityPresentationKind===`compaction`,C;t[0]===n.userMessage?C=t[1]:(C=n.userMessage&&oL(n.userMessage),t[0]=n.userMessage,t[1]=C);let w=!!C,T=`relative w-full ${g?`pb-1`:`pb-8`}`,E=`turn-${n.turnId}`,D=n.userMessageId??n.turnId,O;t[2]!==i||t[3]!==S||t[4]!==w||t[5]!==f||t[6]!==_||t[7]!==n.userMessage?(O=!n.userMessage||S?null:_&&!w?(0,$.jsxs)(`div`,{className:`sticky top-0 z-20 relative bg-[var(--surface-background)] [overflow-anchor:none]`,children:[(0,$.jsx)(`div`,{className:`relative z-10`,children:f(n.userMessage,i)}),(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-x-0 top-full z-0 h-4 bg-gradient-to-b from-[var(--surface-background)] to-transparent sm:h-8`})]}):f(n.userMessage,i),t[2]=i,t[3]=S,t[4]=w,t[5]=f,t[6]=_,t[7]=n.userMessage,t[8]=O):O=t[8];let k;t[9]!==h||t[10]!==s||t[11]!==v||t[12]!==w||t[13]!==m||t[14]!==_||t[15]!==n.userMessage?(k=!w&&(m||s)?(0,$.jsx)(`div`,{className:`group w-full ${v?_?`pt-4`:`pt-0`:`pt-6`} pb-0`,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)(sR,{assistantMessage:s,userMessage:n.userMessage,pendingPresentation:m,assistantIsInActiveTurn:h,isMobile:v})})}):null,t[9]=h,t[10]=s,t[11]=v,t[12]=w,t[13]=m,t[14]=_,t[15]=n.userMessage,t[16]=k):k=t[16];let A;t[17]!==i||t[18]!==v||t[19]!==u||t[20]!==a||t[21]!==n.completionDisposition||t[22]!==n.durationMs||t[23]!==b?(A=a?(0,$.jsx)(`div`,{className:`group w-full ${v?`pt-4`:`pt-6`} pb-0`,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)(UF,{parts:[],isExpanded:i,completionDisposition:n.completionDisposition,activityPresentationKind:`compaction`,durationMs:n.durationMs,startedAt:typeof b==`number`?b:void 0,onToggle:u,isMobile:v,expandedTools:pR,onToggleTool:mR,onShowPopup:hR,streamPhase:n.completionDisposition===`active`?`streaming`:`completed`,showHeader:!0})})}):null,t[17]=i,t[18]=v,t[19]=u,t[20]=a,t[21]=n.completionDisposition,t[22]=n.durationMs,t[23]=b,t[24]=A):A=t[24];let j;t[25]!==i||t[26]!==f||t[27]!==n.assistantMessages||t[28]!==n.messages?(j=(0,$.jsx)(uR,{assistantMessages:n.assistantMessages,messages:n.messages,activityExpanded:i,renderMessage:f}),t[25]=i,t[26]=f,t[27]=n.assistantMessages,t[28]=n.messages,t[29]=j):j=t[29];let M;t[30]!==s||t[31]!==v||t[32]!==w||t[33]!==m||t[34]!==p||t[35]!==x||t[36]!==y||t[37]!==n.assistantMessages||t[38]!==n.userMessage?(M=p&&x&&y.active&&y.capabilities.compose&&(!y.sessionId||y.sessionId===x.info.sessionID)?(0,$.jsx)(fR,{sessionId:x.info.sessionID,directory:x.sourceDirectory??y.directory,hasInlineError:!!n.assistantMessages.at(-1)?.info.error,fallbackHeader:!w&&!m&&!s?(0,$.jsx)(sR,{userMessage:n.userMessage,pendingPresentation:YI(KI(x.info)),assistantIsInActiveTurn:!1,isMobile:v}):void 0}):null,t[30]=s,t[31]=v,t[32]=w,t[33]=m,t[34]=p,t[35]=x,t[36]=y,t[37]=n.assistantMessages,t[38]=n.userMessage,t[39]=M):M=t[39];let N;t[40]!==k||t[41]!==A||t[42]!==j||t[43]!==M?(N=(0,$.jsxs)(`div`,{className:`oc-message-hover-scope`,...fO,children:[k,A,j,M]}),t[40]=k,t[41]=A,t[42]=j,t[43]=M,t[44]=N):N=t[44];let P;return t[45]!==i||t[46]!==O||t[47]!==N||t[48]!==T||t[49]!==E||t[50]!==D||t[51]!==n.turnId?(P=(0,$.jsxs)(`section`,{className:T,id:E,"data-turn-id":n.turnId,"data-turn-activity-expanded":i,"data-scroll-spy-id":D,children:[O,N]}),t[45]=i,t[46]=O,t[47]=N,t[48]=T,t[49]=E,t[50]=D,t[51]=n.turnId,t[52]=P):P=t[52],P});function _R(e){return e.isMobile}var vR=(e,t,n)=>t.id??`${e}-part-${n}-${t.type}`,yR=e=>{let t=e.state?.time?.end;if(typeof t==`number`)return t;let n=e.time?.end;return typeof n==`number`?n:void 0},bR=e=>{let t=e.text;if(typeof t==`string`&&vD(t))return t;let n=e.content;if(typeof n==`string`&&vD(n))return n},xR=(e,t,n,r)=>({id:vR(t,n,r),turnId:e,messageId:t,part:n,partIndex:r,endedAt:yR(n)}),SR=e=>{let t=[],n=new Map,r=!1,i=!1;e.assistantMessages.forEach(e=>{e.parts.forEach(e=>{if(e.type===`tool`){r=!0;return}e.type===`reasoning`&&bR(e)&&(i=!0)})});let a=e.assistantMessages.at(-1),o=a?hN(a.parts):-1;e.assistantMessages.forEach(r=>{let i=[];r.parts.forEach((n,s)=>{let c=n.type===`tool`,l=n.type===`reasoning`||n.type===`text`?bR(n):void 0,u=r===a&&s===o,d=null;if(c?d=`tool`:n.type===`reasoning`?d=`reasoning`:e.showTextJustificationActivity&&n.type===`text`&&l&&!u&&(d=`justification`),!d)return;let f={...xR(e.turnId,r.info.id,n,s),kind:d};t.push(f),i.push(f)}),n.set(r.info.id,i)});let s=[],c=e.messages??e.assistantMessages.map(e=>({role:`assistant`,messageId:e.info.id,message:e})),l;for(let t of c){if(t.role!==`assistant`){if(t.message.info.nativeType===`synthetic`&&!VI(t.message.info)&&!MD(t.message.parts))continue;l=void 0;continue}l||(l={id:t.messageId===e.assistantMessages[0]?.info.id?`${e.turnId}:activity`:`${e.turnId}:activity:${t.messageId}`,anchorMessageId:t.messageId,afterToolPartId:null,parts:[]},s.push(l)),l.parts.push(...n.get(t.messageId)??[])}let u=s.filter(e=>e.parts.length>0);return u.length===1&&(u[0].parts=t),{activityParts:t,activitySegments:u,hasTools:r,hasReasoning:i}},CR=e=>{let t=new Map,n=new Map,r=new Map,i=new Set;e.forEach(e=>{t.set(e.turnId,e);let a=e.assistantMessages[0]?.info.id,o=e.assistantMessages[e.assistantMessages.length-1]?.info.id;e.userMessageId&&(n.set(e.userMessageId,e.turnId),i.add(e.userMessageId),r.set(e.userMessageId,{turnId:e.turnId,messageId:e.userMessageId,userMessageId:e.userMessageId,isUserMessage:!0,isAssistantMessage:!1,isFirstAssistantInTurn:!1,isLastAssistantInTurn:!1,headerMessageId:e.headerMessageId})),e.assistantMessageIds.forEach(t=>{n.set(t,e.turnId),i.add(t),r.set(t,{turnId:e.turnId,messageId:t,userMessageId:e.userMessageId,isUserMessage:!1,isAssistantMessage:!0,isFirstAssistantInTurn:t===a,isLastAssistantInTurn:t===o,headerMessageId:e.headerMessageId})});for(let t of e.messages)t.messageId!==e.userMessageId&&t.role!==`assistant`&&(n.set(t.messageId,e.turnId),r.set(t.messageId,{turnId:e.turnId,messageId:t.messageId,userMessageId:e.userMessageId,isUserMessage:!1,isAssistantMessage:!1,isFirstAssistantInTurn:!1,isLastAssistantInTurn:!1,headerMessageId:e.headerMessageId}))});let a=e.length>0?e[e.length-1]:null,o=new Set;return a&&(a.userMessageId&&o.add(a.userMessageId),a.messages.forEach(e=>{o.add(e.messageId)})),{turns:e,indexes:{turnById:t,messageToTurnId:n,messageMetaById:r},lastTurnId:a?.turnId??null,lastTurnMessageIds:o,ungroupedMessageIds:new Set}},wR=e=>{let t=e.text;if(typeof t==`string`&&t.trim().length>0)return t;let n=e.content;if(typeof n==`string`&&n.trim().length>0)return n},TR=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(!n)continue;let r=n.info.finish;if(pN(r,n.parts))for(let e=n.parts.length-1;e>=0;--e){let t=n.parts[e];if(!t||!mN(t))continue;let r=wR(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:vR(n.info.id,t,e)}}}for(let t=e.length-1;t>=0;--t){let n=e[t];if(n)for(let e=n.parts.length-1;e>=0;--e){let t=n.parts[e];if(!t||t.type!==`text`)continue;let r=wR(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:vR(n.info.id,t,e)}}}return{}},ER=e=>{let t=e.info.summary,n=t?.diffs,r=Array.isArray(n)?n:[],i=typeof t?.diffCount==`number`&&Number.isFinite(t.diffCount)?Math.max(0,Math.trunc(t.diffCount)):void 0,a=0,o=0,s=0;r.forEach(e=>{if(!e)return;let t=typeof e.additions==`number`?e.additions:0,n=typeof e.deletions==`number`?e.deletions:0;(t!==0||n!==0)&&(s+=1),a+=t,o+=n});let c=i??s,l=t?.hasDiffs===!0||c>0||r.length>0;if(l)return{additions:a,deletions:o,files:c,hasDiffs:l}},DR=e=>{let t=e.info.summary?.diffs;if(!Array.isArray(t)||t.length===0)return;let n=t.map(e=>{if(!e||typeof e.file!=`string`||e.file.trim().length===0)return null;let t=typeof e.additions==`number`?e.additions:0,n=typeof e.deletions==`number`?e.deletions:0;return t===0&&n===0?null:{file:e.file,additions:t,deletions:n}}).filter(e=>e!==null);return n.length>0?n:void 0},OR=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},kR=e=>e.info.nativeType===`synthetic`,AR=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},jR=e=>{let t=e.info.time?.created;return typeof t==`number`?t:void 0},MR=e=>{let t=e.info.time?.completed;return typeof t==`number`?t:void 0},NR=e=>{let t=e.info.time?.streamed;return typeof t==`number`&&Number.isFinite(t)?t:void 0},PR=e=>{let t=e.state?.time?.end;if(typeof t==`number`)return t;let n=e.time?.end;return typeof n==`number`?n:void 0},FR=e=>{let t=e.info?.summary?.body;if(typeof t==`string`)return t.trim().length>0?t:void 0},IR=(e,t)=>{let n=OR(e);return{messageId:e.info.id,role:n,parentMessageId:AR(e),message:e,order:t}},LR=(e,t)=>{let n=e?jR(e):void 0,r,i,a,o=!1;t.forEach(e=>{let t=MR(e);typeof t==`number`?r=Math.max(r??0,t):o=!0;let n=NR(e);typeof n==`number`&&(i=Math.max(i??0,n)),e.parts.forEach(e=>{let t=PR(e);typeof t==`number`&&(a=Math.max(a??0,t))})});let s=r??i??a,c=typeof n==`number`&&typeof s==`number`&&s>=n?s-n:void 0;return{isStreaming:o,isRetrying:t.length>1,startedAt:n,completedAt:r,durationMs:c}},RR=e=>{if(e.length===0)return`active`;let t=e[e.length-1];if(!t)return`active`;let n=t.info.finish;if(t.info.error)return`abnormal`;if(n===`tool-calls`||fN(t.parts)>0)return`active`;if(n===`stop`)return`normal`;if(typeof n==`string`&&n.length>0)return`abnormal`;for(let t of e)if(typeof MR(t)!=`number`)return`active`;return`active`},zR=e=>{let t=e[e.length-1];if(!t)return!1;let n=t.info;return gN(n.finish,t.parts,n.error)},BR=e=>AL(e)?`compaction`:`default`,VR={previousProjection:null,showTextJustificationActivity:!1,showTurnChangedFiles:!1},HR=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n].message!==t[n].message)return!1;return!0},UR=(e,t)=>e.userMessage===t.userMessage&&e.headerMessageId===t.headerMessageId&&HR(e.messages,t.messages),WR=(e,t)=>{e.summary=TR(e.assistantMessages),e.summaryText=e.summary.text??(e.userMessage?FR(e.userMessage):void 0),e.diffStats=e.userMessage?ER(e.userMessage):void 0,e.changedFiles=t.showTurnChangedFiles&&e.userMessage?DR(e.userMessage):void 0,e.completionDisposition=RR(e.assistantMessages),e.hasConfirmedFinalBody=zR(e.assistantMessages);for(let t=e.messages.length-1;t>=0;--t){let n=e.messages[t];if(n.role===`assistant`)break;if(n.role!==`compaction`)continue;let r=n.message.parts.find(Gt);r?.reason===`auto`&&r.status!==`failed`&&(e.completionDisposition=`active`,e.hasConfirmedFinalBody=!1);break}e.activityPresentationKind=e.userMessage?BR(e.userMessage):`default`;let n=SR({turnId:e.turnId,assistantMessages:e.assistantMessages,messages:e.messages,showTextJustificationActivity:t.showTextJustificationActivity}),r=t.previousProjection?.indexes.turnById.get(e.turnId);if(r){let e=new Map(r.activitySegments.map(e=>[e.anchorMessageId,e]));for(let t of n.activitySegments)for(let n of t.parts){let r=e.get(n.messageId);if(r){t.id=r.id,t.anchorMessageId=r.anchorMessageId;break}}}return e.activityParts=n.activityParts,e.activitySegments=n.activitySegments,e.hasTools=n.hasTools,e.hasReasoning=n.hasReasoning,e.stream=LR(e.userMessage,e.assistantMessages),e.startedAt=e.stream.startedAt,e.completedAt=e.stream.completedAt,e.durationMs=e.stream.durationMs,e},GR=(e,t)=>{let n=t.previousProjection;if(!n||n.turns.length===0||e.length===0)return e.map(e=>WR(e,t));let r=n.turns.length===e.length,i=!1,a=e.map((e,a)=>{let o=n.indexes.turnById.get(e.turnId);return o&&UR(o,e)?(i=!0,n.turns[a]!==o&&(r=!1),o):(r=!1,WR(e,t))});return r&&i?n.turns:a},KR=e=>{if(e.length<=1)return e;let t=!1,n=e.map((n,r)=>{if(r===e.length-1||n.completionDisposition!==`active`||(e[r+1]?.assistantMessages.length??0)===0)return n;t=!0;let i=e[r+1]?.startedAt,a=n.durationMs,o=n.completedAt;return typeof a!=`number`&&typeof n.startedAt==`number`&&typeof i==`number`&&i>=n.startedAt&&(o=i,a=i-n.startedAt),{...n,completionDisposition:`abnormal`,completedAt:o,durationMs:a,stream:{...n.stream,isStreaming:!1,completedAt:o??n.stream.completedAt,durationMs:a}}});return t?n:e},qR=(e,t)=>{let n={...VR,...t},r=[],i=new Map,a=new Map,o=new Set;e.forEach((e,t)=>{let n=OR(e);if(n===`compaction`&&r.length>0){a.set(e.info.id,r[r.length-1]),o.add(e.info.id);return}let s=n===`assistant`&&r.length===0&&!AR(e);if(n!==`user`&&!s)return;if(r.length>0&&kR(e)){a.set(e.info.id,r[r.length-1]),o.add(e.info.id);return}let c={turnId:e.info.id,userMessageId:s?void 0:e.info.id,userMessage:s?void 0:e,headerMessageId:void 0,messages:s?[]:[IR(e,t)],assistantMessageIds:[],assistantMessages:[],activityParts:[],activitySegments:[],summary:{},summaryText:void 0,hasTools:!1,hasReasoning:!1,diffStats:void 0,changedFiles:void 0,stream:{isStreaming:!1,isRetrying:!1},completionDisposition:`active`,activityPresentationKind:`default`,hasConfirmedFinalBody:!1};r.push(c),c.userMessageId&&(i.set(c.userMessageId,c),o.add(e.info.id))});let s=r[0]?.userMessage?void 0:r[0];e.forEach((e,t)=>{let n=OR(e),r=i.get(e.info.id);r&&(s=r);let c=a.get(e.info.id);if(c){c.messages.push(IR(e,t));return}if(n!==`assistant`)return;let l=AR(e),u=l?i.get(l):s;u&&(u.assistantMessages.push(e),u.assistantMessageIds.push(e.info.id),u.messages.push(IR(e,t)),u.headerMessageId||=e.info.id,o.add(e.info.id))});let c=n.previousProjection;if(c)for(let e of r)for(let t of e.assistantMessages){let n=c.indexes.messageToTurnId.get(t.info.id),r=n?c.indexes.turnById.get(n):void 0;if(r&&(!r.userMessage||r.userMessageId===e.userMessageId)){e.turnId=r.turnId,r.headerMessageId&&e.assistantMessageIds.includes(r.headerMessageId)&&(e.headerMessageId=r.headerMessageId);break}}let l=CR(KR(GR(r,n))),u=new Set;return e.forEach(e=>{o.has(e.info.id)||OR(e)===`assistant`&&AR(e)||u.add(e.info.id)}),{...l,ungroupedMessageIds:u}},JR=30,YR=4,XR=4,ZR=33554432,QR=8388608,$R=new Map,ez=new Map,tz=0,nz=new WeakMap,rz=1,iz=()=>K()?YR:ki()?XR:JR,az=()=>K()||ki()?QR:ZR,oz=(e,t)=>{let n=e.length*2+256;for(let e of t.turns)n+=512,n+=e.messages.length*160,n+=e.activityParts.length*128,n+=(e.changedFiles?.length??0)*160,n+=(e.summaryText?.length??0)*2;return n},sz=e=>{$R.delete(e);let t=ez.get(e)??0;ez.delete(e),tz=Math.max(0,tz-t)},cz=e=>{let t=nz.get(e);if(t!==void 0)return t;let n=rz;return rz+=1,nz.set(e,n),n},lz=e=>e.map(e=>`${cz(e.info)}:${cz(e.parts)}:${e.parts.map(e=>cz(e)).join(`,`)}`).join(`;`),uz=(e,t,n,r)=>{let i=t.length>0?t[t.length-1]:void 0,a=i?.info?.id??``,o=i?.parts?.length??0;return[e,t.length,a,o,lz(t),n?`1`:`0`,r?`1`:`0`].join(`|`)},dz=e=>{let t=$R.get(e);return t&&($R.delete(e),$R.set(e,t)),t},fz=(e,t)=>{sz(e);let n=iz(),r=az(),i=oz(e,t);if(!(i>r)){for(;$R.size>=n||tz+i>r;){let e=$R.keys().next().value;if(typeof e!=`string`)break;sz(e)}$R.set(e,t),ez.set(e,i),tz+=i}},pz=[],mz=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0},hz=e=>{if(!e.hasLiveTail)return null;if(e.turnCount===0)return e.previousStart;let t=e.previousStart??e.turnCount-1,n=Math.min(Math.max(t,0),e.turnCount-1);return!e.liveTailActive&&e.turnCount-n>12?e.turnCount-1:n},gz=(e,t)=>t===null?{staticTurns:e,streamingTurns:pz}:{staticTurns:t===0?pz:e.slice(0,t),streamingTurns:e.slice(t)},_z=(e,t)=>{let n=Z.useRef(null),r=Z.useRef([]),i=Z.useRef(pz),a=Z.useRef(null),o=Z.useRef(t.sessionKey),s=Z.useRef(t.showTextJustificationActivity),c=Z.useRef(t.showTurnChangedFiles);(o.current!==t.sessionKey||s.current!==t.showTextJustificationActivity||c.current!==t.showTurnChangedFiles)&&(o.current=t.sessionKey,s.current=t.showTextJustificationActivity,c.current=t.showTurnChangedFiles,n.current=null,r.current=[],i.current=pz,a.current=null);let l=Z.useMemo(()=>{let r=uz(t.sessionKey??``,e,t.showTextJustificationActivity,t.showTurnChangedFiles),i=dz(r);return i&&(!n.current||i===n.current)?(n.current=i,i):tt(`ui.turns.projection_ms`,()=>{let i=qR(e,{previousProjection:n.current,showTextJustificationActivity:t.showTextJustificationActivity,showTurnChangedFiles:t.showTurnChangedFiles});return n.current=i,fz(r,i),i})},[e,t.showTextJustificationActivity,t.showTurnChangedFiles,t.sessionKey]),u=a.current?.turnId,d=Z.useMemo(()=>u?l.turns.findIndex(e=>e.turnId===u):-1,[l.turns,u]),f=hz({turnCount:l.turns.length,hasLiveTail:t.hasLiveTail,liveTailActive:t.liveTailActive,previousStart:d>=0?d:a.current?.index??null});return f===null?a.current=null:l.turns[f]&&(a.current={turnId:l.turns[f].turnId,index:f}),{projection:l,staticTurns:Z.useMemo(()=>{let e=gz(l.turns,f).staticTurns;return mz(r.current,e)?r.current:r.current=e},[f,l.turns]),streamingTurns:Z.useMemo(()=>{let e=gz(l.turns,f).streamingTurns;return mz(i.current,e)?i.current:i.current=e},[f,l.turns])}},vz=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},yz=(e,t)=>{if(!t.sessionId)return e;let n={name:`SessionRetry`,message:t.message,data:{message:t.message}},r=-1;for(let t=e.length-1;t>=0;--t)if(vz(e[t])===`user`){r=t;break}if(r<0)return e;let i=-1;for(let t=e.length-1;t>r;--t)if(vz(e[t])===`assistant`){i=t;break}if(i>=0)return e[i].info.error?e:e.map((e,t)=>t===i?{...e,info:{...e.info,error:n}}:e);let a=typeof t.confirmedAt==`number`?t.confirmedAt:t.fallbackTimestamp,o={info:{id:`synthetic_retry_notice_${t.sessionId}`,sessionID:t.sessionId,role:`assistant`,time:{created:a,completed:a},finish:`stop`,error:n},parts:[]},s=e.slice();return s.splice(r+1,0,o),s},bz=(e,t,n)=>{if(e.info.id!==t||e.parts===n)return e;let r=Ft(e.parts,n,e.info);return r.length===e.parts.length&&r.every((t,n)=>t===e.parts[n])?e:PL({...e,parts:r})},xz=(e,t)=>{let n=t.activeStreamingMessageId;if(!n)return e;if(e.kind===`ungrouped`){let r=bz(e.message,n,t.liveParts);return r===e.message?e:{...e,message:r}}let r=!1,i=e.turn.assistantMessages.map(e=>{let i=bz(e,n,t.liveParts);return i!==e&&(r=!0),i});if(!r)return e;let a=new Map(i.map(e=>[e.info.id,e])),o=qR(e.turn.messages.map(e=>a.get(e.messageId)??e.message),{showTextJustificationActivity:t.showTextJustificationActivity,showTurnChangedFiles:t.showTurnChangedFiles}).turns[0]??{...e.turn,assistantMessages:i,assistantMessageIds:i.map(e=>e.info.id)};return{...e,turn:o}},Sz=[],Cz=(e,t)=>({kind:`turn`,key:`turn:${e.turnId}`,turn:e,isLastTurn:e.turnId===t}),wz=(e,t)=>{let n=e[t];return{kind:`ungrouped`,key:`msg:${n.info.id}`,message:n,previousMessage:t>0?e[t-1]:void 0,nextMessage:t<e.length-1?e[t+1]:void 0}},Tz=(e,t,n,r)=>{let i=new Map;for(let e of t){let t=e.userMessage??e.assistantMessages?.[0];t&&i.set(t.info.id,e)}let a=[];for(let t=0;t<e.length;t+=1){let o=e[t],s=i.get(o.info.id);if(s){a.push(Cz(s,r));continue}n.has(o.info.id)&&a.push(wz(e,t))}return a};function Ez(e){let{messages:t,turns:n,streamingTurns:r,ungroupedMessageIds:i,lastTurnId:a}=e;if(i.size===0){if(r.length===0)return{history:n.map(e=>Cz(e,a)),tail:Sz};let e=r[0].turnId,t=n.findIndex(t=>t.turnId===e);return t<0?{history:n.map(e=>Cz(e,a)),tail:r.map(e=>Cz(e,a))}:{history:n.slice(0,t).map(e=>Cz(e,a)),tail:n.slice(t).map(e=>Cz(e,a))}}let o=Tz(t,n,i,a);if(r.length===0){let e=t[t.length-1];if(!e||!i.has(e.info.id))return{history:o,tail:Sz};let n=o.find(t=>t.kind===`ungrouped`&&t.message.info.id===e.info.id);return{history:n?o.filter(e=>e!==n):o,tail:n?[n]:Sz}}let s=r[0].turnId,c=o.findIndex(e=>e.kind===`turn`&&e.turn.turnId===s);return c<0?{history:o,tail:r.map(e=>Cz(e,a))}:{history:o.slice(0,c),tail:o.slice(c)}}var Dz=e=>{let t=Z.useRef(e);return t.current=e,Z.useMemo(()=>(...e)=>t.current(...e),[])},Oz=2,kz=2,Az=e=>Math.min(Math.max(0,e),Oz),jz=(e,t)=>Math.min(Math.max(0,t),Math.max(0,e)+kz),Mz=e=>{let t=(0,Q.c)(3),{children:n,enabled:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(VA.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},Nz=e=>{let t=(0,Q.c)(3),{children:n,enabled:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(rd.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},Pz=12,Fz=16,Iz=new Map,Lz=e=>{let t=Iz.get(e);if(t)return Iz.delete(e),Iz.set(e,t),t},Rz=(e,t)=>{if(t.size!==0)for(Iz.delete(e),Iz.set(e,t);Iz.size>Fz;){let e=Iz.keys().next().value;if(typeof e!=`string`)break;Iz.delete(e)}},zz=(e,t)=>{let n=Math.max(1,Math.floor(t?.seedCount??Pz)),r=new Set;for(let t=Math.max(0,e.length-n);t<e.length;t+=1){let n=e[t];n&&r.add(n)}let i=t?.restore;if(i&&i.size>0){let t=new Set(e);for(let e of i)t.has(e)&&r.add(e)}return r},Bz=(e,t)=>{let n=t[t.length-1];if(!n||e.has(n))return e;let r=new Set(e);return r.add(n),r},Vz=({entryKeys:e,mountedIndexes:t,visibleStartIndex:n,visibleEndIndex:r,scrollDirection:i,preloadEntries:a,hydratedKeys:o})=>{if(e.length===0||t.length===0)return{visible:[],preload:[]};let s=new Set(t),c=[],l=[],u=new Set,d=(t,n)=>{if(n<0||n>=e.length||!s.has(n))return;let r=e[n];!r||o.has(r)||u.has(r)||(u.add(r),t.push(r))},f=e.length-1,p=Math.min(f,Math.max(0,Math.floor(n))),m=Math.min(f,Math.max(p,Math.floor(r)));for(let e=m;e>=p;--e)d(c,e);let h=Math.max(0,Math.floor(a)),g=()=>{let e=Math.min(f,m+h);for(let t=m+1;t<=e;t+=1)d(l,t)},_=()=>{let e=Math.max(0,p-h);for(let t=p-1;t>=e;--t)d(l,t)};return i===`backward`?(_(),g()):(g(),_()),{visible:c,preload:l}},Hz=e=>{let{visible:t,preload:n}=Vz(e),r=n.slice(0,Math.max(0,Math.floor(e.preloadReleaseLimit)));if(!e.allowVisibleRelease)return r;let i=e.visibleReleaseLimit,a=typeof i==`number`&&i>0?t.slice(0,Math.floor(i)):t;return a.length>0?[...a,...r]:r},Uz=(e,t)=>{let n=new Set(t),r=!1,i=new Set;for(let t of e)n.has(t)?i.add(t):r=!0;return r?i:e},Wz=`data-markdown-ready`,Gz=`data-markdown-hydration`,Kz=`data-markdown-pin-reveal`,qz=e=>[...zz(e.entryKeys,{seedCount:e.seedCount,restore:e.restore})],Jz=e=>e.reason===`jump-to-latest`||!e.alreadyRevealedForScope,Yz=e=>{if(e.querySelector(`[data-markdown-hydration="deferred"]`))return!1;let t=e.querySelectorAll(`[data-markdown-content]`);if(t.length===0)return!0;for(let e of t)if(!e.closest(`[data-markdown-ready="true"]`))return!1;return!0},Xz=(e,t)=>{if(t.size===0)return!0;let n=e.querySelectorAll(`[data-turn-entry]`),r=!1;for(let e of n){let n=e.getAttribute(`data-turn-entry`);if(!(!n||!t.has(n))&&(r=!0,!Yz(e)))return!1}return r},Zz=(e,t)=>{if(e){if(t){e.style.visibility=`hidden`,e.setAttribute(Kz,`pending`);return}e.style.removeProperty(`visibility`),e.setAttribute(Kz,`ready`)}},Qz=(e,t)=>t?{...e,visibility:`hidden`}:e,$z=({root:e,relevantKeys:t,onReady:n,timeoutMs:r=600,signal:i})=>{let a=!1,o=()=>{a||(a=!0,d(),n())},s=()=>{if(i?.aborted){o();return}Xz(e,t)&&o()},c=null;if(typeof MutationObserver<`u`){c=new MutationObserver(s);let t=e instanceof Element?e:e instanceof Document?e.documentElement:null;t&&c.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[Wz,Gz,`data-turn-entry`]})}let l=null;r>0&&(l=setTimeout(o,r));let u=()=>o();i?.addEventListener(`abort`,u,{once:!0});let d=()=>{c?.disconnect(),c=null,l!==null&&(clearTimeout(l),l=null),i?.removeEventListener(`abort`,u)};return s(),queueMicrotask(s),()=>{a||(a=!0,d())}},eB=e=>{let t=new Map,n=!1,r=()=>{if(n=!1,t.size===0)return;let r=new Map(t);t.clear(),e(r)};return{enqueue(e,i){t.set(e,i),!n&&(n=!0,queueMicrotask(r))},flush:r,clear(){t.clear(),n=!1},pendingCount:()=>t.size}},tB=e=>{let t=e.borderBoxSize?.[0];return t?{width:t.inlineSize,height:t.blockSize}:{width:e.contentRect.width,height:e.contentRect.height}},nB=e=>{let t=eB(e),n=typeof ResizeObserver>`u`?null:new ResizeObserver(e=>{for(let n of e)t.enqueue(n.target,tB(n))});return{observe(e){n?.observe(e)},unobserve(e){n?.unobserve(e)},disconnect(){n?.disconnect(),t.clear()}}},rB=(e,t)=>{let n=e.resizeItem.bind(e),r=!1,i=eB(e=>{let i=()=>{for(let[t,r]of e)n(t,r)};r?i():((0,Rp.flushSync)(i),t?.())});return e.resizeItem=(e,t)=>{i.enqueue(e,t)},()=>{r=!0,e.resizeItem=n,i.flush()}},iB=({scopeKey:e,generation:t=0,root:n,relevantKeys:r,enabled:i=!0,initiallyRevealed:a=!1})=>{let o=`${e}:${t}`,[s,c]=Z.useState(o),[l,u]=Z.useState(i&&!a),d=Z.useRef(new Set(a?[e]:[]));i&&s!==o&&(Jz({reason:t>0&&s.startsWith(`${e}:`)?`jump-to-latest`:`session-open`,alreadyRevealedForScope:d.current.has(e)})&&u(!0),c(o)),!i&&l&&u(!1);let f=r.join(`\0`),p=Z.useMemo(()=>new Set(r),[f]),m=J(()=>{d.current.add(e),u(!1)});return Bn(()=>{if(!i||!l){Zz(n,!1);return}if(Zz(n,!0),n)return $z({root:n,relevantKeys:p,onReady:m})},[i,l,n,p,o]),i&&l},aB=(e,t)=>{if(t.length===0||!Number.isFinite(e.scroll)||!Number.isFinite(e.start))return null;let n=Math.max(0,Math.min(Math.floor(e.start),t.length-1)),r=t[n];if(r===void 0)return null;let i=e.positionAtIndex(n);return i===void 0||!Number.isFinite(i)?null:{key:r,offsetFromViewportTop:i-e.scroll}},oB=(e,t)=>{let n=aB(e,t);return n===null?null:{anchor:n,knownKeys:new Set(t)}},sB=e=>{if(e.historyAnchorToken<=e.armedToken)return null;let t=e.list&&e.committedEntryKeys.length>0?oB(e.list,e.committedEntryKeys):null;return{armedToken:e.historyAnchorToken,arm:t}},cB=15e3,lB=(e,t)=>{let n=e.positionByKey(t.key);return n===void 0||!Number.isFinite(n)?null:n-t.offsetFromViewportTop},uB=(e,t)=>{if(!Number.isFinite(e.scroll))return null;let n=lB(e,t);return n===null?null:e.scroll-n},dB=e=>{if(e.drift===null||e.elapsedMs>=3e3)return{action:`release`,stableFrames:0};if(Math.abs(e.drift)<=1){let t=e.stableFrames+1;return{action:t>=8?`release`:`wait`,stableFrames:t}}return{action:e.msSinceLastCorrection>=64?`correct`:`wait`,stableFrames:0}},fB=1;function pB(e,{offset:t=0,hideTopShadow:n=!1,hideBottomShadow:r=!1}={}){let i=e.scrollTop>t+fB,a=e.scrollHeight-(e.scrollTop+e.clientHeight)>t+fB,o=!n&&i;return r&&(a=!1),o&&a?(e.dataset.topBottomScroll=`true`,e.removeAttribute(`data-top-scroll`),e.removeAttribute(`data-bottom-scroll`)):(e.dataset.topScroll=String(o),e.dataset.bottomScroll=String(a),e.removeAttribute(`data-top-bottom-scroll`)),o&&a?`both`:o?`top`:a?`bottom`:`none`}function mB(e,t=48){e.dataset.scrollShadow=`true`,e.dataset.orientation=`vertical`,e.style.setProperty(`--scroll-shadow-size`,`${t}px`)}var hB=.4,gB=e=>!Number.isFinite(e)||e<=0?0:e*hB,_B=(e,t=16)=>Number.isFinite(e)&&e>0?e:t,vB=({viewportHeight:e,endInsetHeight:t=0,anchorOffset:n=16})=>!Number.isFinite(e)||e<=0?0:Math.max(0,e-(Number.isFinite(t)?Math.max(0,t):0)-n),yB=e=>{let{contentLength:t,scrollLength:n}=e;return typeof t!=`number`||typeof n!=`number`||!Number.isFinite(t)||!Number.isFinite(n)?null:Math.max(0,t-n)},bB=({anchorTop:e,anchorOffset:t=16,maxScrollOffset:n})=>{let r=Math.max(0,e-t);return typeof n!=`number`||!Number.isFinite(n)?r:Math.min(r,Math.max(0,n))},xB=({scroll:e,parkOffset:t})=>!Number.isFinite(e)||!Number.isFinite(t)?0:Math.max(0,t-e),SB=`data-oc-timeline-park-end`,CB=e=>{if(!e)return null;let t=e.getAttribute(SB);if(t===null||t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null},wB=(e,t)=>{if(!e)return;if(t===null||!Number.isFinite(t)){e.hasAttribute(`data-oc-timeline-park-end`)&&e.removeAttribute(SB);return}let n=String(Math.round(t));e.getAttribute(`data-oc-timeline-park-end`)!==n&&e.setAttribute(SB,n)},TB=(e,t)=>t!==null&&Number.isFinite(t)?xB({scroll:e.scrollTop,parkOffset:t}):Math.max(0,e.scrollHeight-e.scrollTop-e.clientHeight),EB=({usableViewportHeight:e,viewportHeight:t,contentHeight:n})=>{if(!Number.isFinite(e)||e<=0)return 0;let r=gB(Number.isFinite(t)&&t>0?t:e),i=r>0?Math.min(e,r):e;return n===null||!Number.isFinite(n)||n<=0?i:Math.min(i,Math.max(0,e-n))},DB=(e,t)=>!Number.isFinite(e)||!Number.isFinite(t)||t<=0?!1:e>t+1,OB=({overflowsUsableViewport:e=!1,previousEndSpaceSize:t,nextEndSpaceSize:n})=>e?!0:t===void 0||n===void 0||!Number.isFinite(t)||!Number.isFinite(n)?!1:n>t+1,kB=({previous:e,reserveId:t,entryKey:n,contentHeight:r,usableViewportHeight:i,viewportHeight:a})=>{let o=EB({usableViewportHeight:i,viewportHeight:a,contentHeight:r}),s=r!==null&&DB(r,i),c={reserveId:t,entryKey:n,contentHeight:r,spacerHeight:s?0:o};return s?{snapshot:c,release:!0}:e===null||e.reserveId!==t||e.entryKey!==n?{snapshot:c,release:!1}:e.contentHeight!==null&&r!==null&&r+1<e.contentHeight&&OB({previousEndSpaceSize:e.spacerHeight,nextEndSpaceSize:o})?{snapshot:{...c,spacerHeight:0},release:!0}:{snapshot:c,release:!1}},AB=(e,t)=>{let n=e.positionAtIndex(t),r=e.sizeAtIndex(t);return typeof n!=`number`||typeof r!=`number`||!Number.isFinite(n)||!Number.isFinite(r)?null:n+Math.max(1,r)},jB=({state:e,anchorIndex:t,endInsetHeight:n,anchorOffset:r,lastIndex:i})=>{if(e.data.length===0)return null;let a=Math.max(0,Math.min(t,e.data.length-1)),o=e.positionAtIndex(a),s=AB(e,Math.max(0,Math.min(i??e.data.length-1,e.data.length-1)));if(typeof o!=`number`||!Number.isFinite(o)||s===null)return null;let c=vB({viewportHeight:e.scrollLength,endInsetHeight:n,anchorOffset:r}),l=Math.max(0,s-o),u=e.scroll+c,d=Math.max(0,s-c),f=Math.max(0,d-e.scroll);return{anchorTop:o,lastBottom:s,turnHeight:l,usableViewportHeight:c,visibleUsableBottom:u,overflowsUsableViewport:l>c,targetScrollToRevealEnd:d,scrollDeltaToRevealEnd:f}},MB=e=>{if(!e)return;let{contentLength:t,scroll:n,scrollLength:r}=e;return typeof t==`number`&&typeof n==`number`&&typeof r==`number`&&Number.isFinite(t)?t-(n+r)<=40:e.isNearEnd??e.isAtEnd},NB=e=>{if(!e)return;let{contentLength:t,scroll:n,scrollLength:r}=e;if(!(typeof t!=`number`||typeof n!=`number`||typeof r!=`number`||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)))return Math.max(0,t-(n+r))},PB=(e,t)=>e===void 0||!Number.isFinite(e)?t:e<=40?!1:e>=80||t,FB=(e,t)=>{if(e.length===0||t.length<=e.length)return!1;let n=e[0];return n===void 0||t[0]===n?!1:t.includes(n)},IB=`data-oc-timeline-anchoring`,LB=1200,RB=(e,t,n,r={})=>{if(t!==null)for(let i=e.length-1;i>=0;--i){let a=e[i];if(a!==void 0&&n(a)===t)return{anchorIndex:i,anchorOffset:r.anchorOffset??16,anchorId:t}}},zB=({sessionChanged:e,previousUserOrder:t,currentUserOrder:n,currentAnchorId:r,consumedSendMessageId:i})=>{if(i!==null)return i;if(e||r===null)return null;if(n.includes(r))return r;let a=t[t.length-1],o=n[n.length-1];return r===a&&o!==void 0&&n.length===t.length&&t.length>0?o:r},BB=(e,t)=>!Number.isFinite(t)||t<=0||typeof e!=`number`||!Number.isFinite(e)||t+1>=e?null:t,VB={itemVisiblePercentThreshold:0},HB=100,UB=116,WB=500,GB=new Set,KB=Z.createContext(GB),qB=`oc-reply-reserve`,JB=e=>e.kind===qB,YB=e=>{if(JB(e))return e.spacerHeight>0?e.spacerHeight:void 0},XB=(e,t,n,r,i)=>{if(!e||t)return null;let a=jB({state:n,anchorIndex:e.anchorIndex,lastIndex:e.anchorIndex,endInsetHeight:r,anchorOffset:i});return a?bB({anchorTop:a.anchorTop,anchorOffset:i,maxScrollOffset:yB(n)}):null},ZB=(e,t)=>{if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t;let n=e?.clientHeight??0;return n>0?n:0},QB=e=>e.key,$B=e=>e.kind,eV=()=>{let e=(0,Q.c)(6),t=Z.useRef(null),n=Z.useRef(0),[r,i]=Z.useState(null),[a,o]=Z.useState(0),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=t.current?.offsetHeight??0;n.current=e,o(t=>t===e?t:e)},e[0]=s):s=e[0];let c=J(s),l;e[1]===c?l=e[2]:(l=e=>{t.current=e,i(t=>t===e?t:e),c()},e[1]=c,e[2]=l);let u=J(l);Ln(typeof ResizeObserver<`u`?r:null,c);let d;return e[3]!==a||e[4]!==u?(d={height:a,heightRef:n,setElement:u},e[3]=a,e[4]=u,e[5]=d):d=e[5],d},tV=({entry:e,index:t,renderEntryRef:n,sizeObserverRef:r})=>{let i=Z.useContext(KB),a=Z.useRef(null);return Z.useLayoutEffect(()=>{let e=a.current,t=r.current;if(!(!e||!t))return t.observe(e),()=>t.unobserve(e)},[e.key,r]),(0,$.jsx)(`div`,{ref:a,"data-turn-entry":e.key,className:`oc-chat-message-layout-boundary`,children:n.current?.(e,t,i.has(e.key))})},nV=Z.memo(({entries:e,timelineCacheKey:t,estimatedItemSize:n,hydrationTuning:r,renderEntry:i,rowInvalidationKey:a,scrollElementRef:o,scrollElementDataset:s,hideTopScrollShadow:c=!1,hideBottomScrollShadow:l=!1,registerList:u,anchoredEndSpace:d,onAnchoredTurnParkReleased:f,followEnabled:p=!0,historyAnchorToken:m=0,pinRevealGeneration:h=0,initialPinRevealComplete:g=!1,sessionIsWorking:_=!1,onIsAtEndChange:v,onScroll:y,header:b,footer:x,className:S,style:C,contentContainerClassName:w,contentContainerStyle:T})=>{let E=Z.useRef(null),D=Z.useMemo(()=>e.map(e=>e.key),[e]),O=Z.useRef(D);O.current=D;let k=Z.useRef(D),A=Z.useRef(r);A.current=r;let j=J(e=>{E.current=e,u?.(e)}),M=Z.useRef(null),[N,P]=Z.useState(null),[F,I]=Z.useState(0),{height:L,setElement:R}=eV(),{height:z,heightRef:B,setElement:V}=eV(),H=b==null?null:(0,$.jsx)(`div`,{ref:R,"data-oc-timeline-header":``,children:b}),ee=x==null?null:(0,$.jsx)(`div`,{ref:V,"data-oc-timeline-footer":``,children:x}),U=Z.useRef(c);U.current=c;let te=Z.useRef(l);te.current=l;let ne=J((e=M.current)=>{!e||s?.scrollShadow!==`true`||(mB(e),pB(e,{hideTopShadow:U.current,hideBottomShadow:te.current}))}),W=J(e=>{let t=e?.getScrollableNode?.()??null;if(t&&s){for(let[e,n]of Object.entries(s))t.dataset[e]=n;ne(t)}M.current=t,o&&(o.current=t),P(t);let n=ZB(t,E.current?.getState()?.scrollLength);I(e=>e===n?e:n)}),G=J(()=>{let e=ZB(M.current,E.current?.getState()?.scrollLength);I(t=>t===e?t:e),ne()});Z.useLayoutEffect(()=>{ne(N)},[l,c,N]),Ln(typeof ResizeObserver<`u`?N:null,G);let[re,ie]=Z.useState(0),[ae,oe]=Z.useState(0),se=re!==ae,K=Z.useRef(!0),ce=Z.useRef(!1),[le,ue]=Z.useState(!1),de=Z.useRef(!1);Z.useLayoutEffect(()=>{K.current=!0,ce.current=!1,de.current=!1,ue(!1)},[t]);let[fe,pe]=Z.useState(null),[me,he]=Z.useState(0),ge=J(e=>{pe(t=>t?.token===e?null:t)});if(m>me){let e=sB({historyAnchorToken:m,armedToken:me,list:E.current?.getState()??null,committedEntryKeys:k.current});e&&(he(e.armedToken),e.arm&&pe({token:m,arm:e.arm,holding:!1}))}Z.useEffect(()=>{p&&pe(null)},[p]),Z.useEffect(()=>{if(!fe||fe.holding)return;let{token:e}=fe,t=window.setTimeout(()=>{pe(t=>t?.token===e&&!t.holding?null:t)},cB);return()=>window.clearTimeout(t)},[fe]),Z.useLayoutEffect(()=>{let e=k.current;k.current=D,FB(e,D)&&(ie(e=>e+1),pe(e=>e===null||e.holding?e:{...e,holding:!0}))},[D]),Z.useEffect(()=>{if(!se)return;let e=window.setTimeout(()=>{oe(re)},LB);return()=>window.clearTimeout(e)},[se,re]),Z.useEffect(()=>{if(!fe?.holding)return;let{token:e,arm:{anchor:t}}=fe,n=E.current;if(!n||typeof window>`u`){ge(e);return}let r=M.current,i=Date.now(),a=0,o=null,s=null,c=!1,l=[],u=t=>{if(!c){c=!0,s!==null&&(window.cancelAnimationFrame(s),s=null);for(let[e,t]of l)r?.removeEventListener(e,t);t&&ge(e)}},d=()=>{if(s=null,c)return;let e=n.getState();if(MB(e)??e.isAtEnd){u(!0);return}let r=Date.now(),l=dB({drift:uB(e,t),elapsedMs:r-i,stableFrames:a,msSinceLastCorrection:o===null?1/0:r-o});if(a=l.stableFrames,l.action===`release`){u(!0);return}if(l.action===`correct`){let i=lB(e,t);i!==null&&(o=r,n.scrollToOffset({offset:i,animated:!1}))}s=window.requestAnimationFrame(d)},f=()=>{u(!0)};for(let e of[`touchstart`,`touchmove`,`wheel`,`pointerdown`,`keydown`])l.push([e,f]);for(let[e,t]of l)r?.addEventListener(e,t,{passive:!0});return s=window.requestAnimationFrame(d),()=>{u(!1)}},[ge,fe]);let _e=se||fe!==null;Z.useLayoutEffect(()=>{let e=M.current;if(!(!e||!_e))return e.setAttribute(IB,`true`),()=>{e.removeAttribute(IB)}},[_e]);let ve=Z.useMemo(()=>{if(fe===null)return{data:!0,size:se};let{knownKeys:e}=fe.arm;return{data:!0,size:!0,shouldRestorePosition:t=>e.has(t.key)}},[fe,se]),[ye,be]=Z.useState(()=>zz(D,{restore:Lz(t)??null})),xe=Z.useRef(ye);xe.current=ye;let Se=Z.useRef(0),Ce=Z.useRef(0),we=Z.useRef(null),Te=Z.useRef(!1),Ee=Z.useRef(null),De=Z.useMemo(()=>Bz(ye,D),[ye,D]),Oe=Qz(C,iB({scopeKey:t,generation:h,root:N,relevantKeys:Z.useMemo(()=>qz({entryKeys:D}),[t,h,D.length,D[D.length-1]]),enabled:!1,initiallyRevealed:g}));Z.useEffect(()=>{be(e=>Uz(e,D))},[D]),Z.useEffect(()=>()=>{Rz(t,xe.current)},[t]);let ke=J(()=>{Te.current=!1;let e=E.current;if(!e)return;let t=O.current;if(t.length===0)return;let n=e.getState(),r=t.length-1,i=Math.max(0,Math.floor(n.startBuffered)),a=Math.min(r,Math.floor(n.endBuffered));if(!Number.isFinite(i)||!Number.isFinite(a)||a<i)return;let o=[];for(let e=i;e<=a;e+=1)o.push(e);let s=Math.max(0,Math.floor(n.start)),c=Math.min(r,Math.floor(n.end)),l=Math.max(0,c-s+1),u=Date.now()-Se.current>=HB,d=A.current,f=d.resolvePreloadEntries(l),p=Hz({entryKeys:t,mountedIndexes:o,visibleStartIndex:s,visibleEndIndex:c,scrollDirection:we.current,preloadEntries:f,hydratedKeys:xe.current,allowVisibleRelease:u,preloadReleaseLimit:u?f:d.resolvePreloadReleaseWhileScrolling(),visibleReleaseLimit:d.resolveVisibleReleaseLimit()});p.length!==0&&(je(),Z.startTransition(()=>{be(e=>{let t=!1,n=new Set(e);for(let e of p)n.has(e)||(n.add(e),t=!0);return t?n:e})}))}),Ae=J(()=>{Te.current||(Te.current=!0,kd(ke))}),je=J(()=>{typeof window>`u`||(Ee.current!==null&&window.clearTimeout(Ee.current),Ee.current=window.setTimeout(()=>{Ee.current=null,Ae()},UB))});Z.useEffect(()=>()=>{Ee.current!==null&&(window.clearTimeout(Ee.current),Ee.current=null)},[]);let Me=J(()=>{Ae()}),Ne=J(()=>{Se.current=Date.now();let e=E.current;if(e){let t=e.getState(),n=t.scroll;Number.isFinite(n)&&n!==Ce.current&&(we.current=n>Ce.current?`forward`:`backward`,Ce.current=n);let r=ZB(M.current,t.scrollLength);r>0&&I(e=>e===r?e:r);let i=XB(Ze.current,Re.current,t,B.current,$e.current);wB(M.current,i);let a=i===null?null:xB({scroll:t.scroll,parkOffset:i}),o=a??NB(t),s=a===null?MB(t)??t.isAtEnd:a<=40,c=PB(o,ce.current);(s!==K.current||c!==ce.current)&&(K.current=s,ce.current=c,v?.(s,c)),s&&!de.current&&(de.current=!0,ue(!0))}y?.(),ne(),Ae(),je()}),Pe=Z.useRef(i);Pe.current=i;let[Fe,Ie]=Z.useState(null),Le=Z.useRef(null),Re=Z.useRef(!1),ze=Z.useRef(null),Be=Z.useRef(null),Ve=Z.useRef(0),He=Z.useRef(0),Ue=Z.useRef(null),We=J((e,t)=>{let n=E.current,r=n?.getState().sizes.get(e);if(n&&BB(r,t.height)!==null&&n.setItemSize(e,t),Re.current||e!==Be.current)return;let i=ze.current;if(i===null)return;let{snapshot:a,release:o}=kB({previous:Le.current,reserveId:i,entryKey:e,contentHeight:t.height,usableViewportHeight:Ve.current,viewportHeight:He.current});if(o){Ie(null),ut(i),dt(`reveal`);return}let s=Le.current;(s?.spacerHeight!==a.spacerHeight||s?.contentHeight!==a.contentHeight||s?.entryKey!==a.entryKey||s?.reserveId!==a.reserveId)&&Ie(a),Ue.current!==i&&dt(`park`)&&(Ue.current=i)}),Ge=Z.useRef(We);Ge.current=We;let Ke=Z.useMemo(()=>nB(e=>{for(let[t,n]of e){let e=t instanceof HTMLElement?t.dataset.turnEntry:void 0;e&&n.height>0&&Ge.current(e,n)}}),[]),qe=Z.useRef(Ke);qe.current=Ke,Z.useEffect(()=>()=>{Ke.disconnect()},[Ke]);let Je=Z.useMemo(()=>({item:e,index:t})=>JB(e)?(0,$.jsx)(`div`,{"data-oc-reply-reserve":`true`,"aria-hidden":`true`,style:{height:e.spacerHeight,flexShrink:0}}):(0,$.jsx)(tV,{entry:e,index:t,renderEntryRef:Pe,sizeObserverRef:qe}),[]),Ye=Z.useRef(p);Ye.current=p;let Xe=Z.useRef(fe);Xe.current=fe;let Ze=Z.useRef(d);Ze.current=d;let Qe=Z.useRef(0),$e=Z.useRef(16),et=Z.useRef(null),[tt,nt]=Z.useState(null),rt=d?e[d.anchorIndex]?.key??null:null,it=d?.anchorId??rt,at=it!==null&&tt===it;d||(Ue.current=null,Qe.current=0);let ot=F>0?F:ZB(M.current,E.current?.getState()?.scrollLength),st=_B(L),ct=vB({viewportHeight:ot,endInsetHeight:z,anchorOffset:st}),lt=Fe;if(!it||!rt||at)Fe!==null&&Ie(null),lt=null;else if(ct<=0)lt=Fe!==null&&Fe.reserveId===it&&Fe.entryKey===rt?Fe:null;else if(Fe===null||Fe.reserveId!==it||Fe.entryKey!==rt){let{snapshot:e}=kB({previous:Fe?.reserveId===it?Fe:null,reserveId:it,entryKey:rt,contentHeight:Fe?.reserveId===it?Fe.contentHeight:null,usableViewportHeight:ct,viewportHeight:ot});Ie(e),lt=e}Le.current=lt,Re.current=at,ze.current=it,Be.current=rt,Ve.current=ct,He.current=ot,$e.current=st,Z.useLayoutEffect(()=>{Ue.current=null,Qe.current=0,et.current=null,nt(null)},[t]),Z.useLayoutEffect(()=>{d&&G()},[d]);let ut=J(e=>{e!==null&&et.current!==e&&(et.current=e,nt(e),f?.(e))}),dt=J(t=>{let n=Ze.current;if(!n||Xe.current)return!1;let r=E.current;if(!r)return!1;let i=r.getState(),a=$e.current,o=jB({state:i,anchorIndex:n.anchorIndex,lastIndex:n.anchorIndex,endInsetHeight:B.current,anchorOffset:a});if(!o)return!1;if(t===`park`){let e=Math.max(0,o.anchorTop-a),t=typeof performance<`u`?performance.now():Date.now(),n=!(typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)&&Math.abs(i.scroll-e)>=1;return n&&(Qe.current=t+WB),r.scrollToOffset({offset:e,animated:n}),!0}return DB(o.turnHeight,Ve.current)&&ut(n.anchorId??e[n.anchorIndex]?.key??null),(typeof performance<`u`?performance.now():Date.now())<Qe.current||!Ye.current||o.scrollDeltaToRevealEnd<1?!1:(r.scrollToOffset({offset:o.targetScrollToRevealEnd,animated:!1}),!0)});Z.useLayoutEffect(()=>{if(!it||!rt||at||ct<=0)return;let e=Le.current;if(e===null||e.reserveId!==it||e.entryKey!==rt)return;let{snapshot:t,release:n}=kB({previous:e,reserveId:it,entryKey:rt,contentHeight:e.contentHeight,usableViewportHeight:ct,viewportHeight:ot});if(n){Ie(null),ut(it),dt(`reveal`);return}t.spacerHeight!==e.spacerHeight&&Ie(t)},[rt,at,it,ot,ct]),Z.useLayoutEffect(()=>{!lt||fe||Ue.current!==it&&dt(`park`)&&(Ue.current=it)},[lt,fe,it]),Z.useLayoutEffect(()=>{let e=M.current,t=E.current;if(e){if(!t){wB(e,null);return}wB(e,XB(d,at,t.getState(),z,st))}},[d,z,st,at]);let ft=Z.useMemo(()=>{let t=lt?.spacerHeight??0;return!lt||t<=0?e:[...e,{key:`${qB}:${lt.reserveId}`,kind:qB,spacerHeight:t}]},[lt,e]),pt=Z.useMemo(()=>d&&!at||!p||fe?!1:{animated:_&&le,on:{dataChange:!0,itemLayout:!0,layout:!0,footerLayout:!0}},[d,le,p,fe,at,_]);return(0,$.jsx)(KB.Provider,{value:De,children:(0,$.jsx)(bf,{ref:j,refScrollView:W,data:ft,extraData:a,keyExtractor:QB,getItemType:$B,getFixedItemSize:YB,renderItem:Je,estimatedItemSize:n,initialScrollAtEnd:!0,recycleItems:!1,maintainScrollAtEnd:pt,maintainVisibleContentPosition:ve,onScroll:Ne,onViewableItemsChanged:Me,viewabilityConfig:VB,ListHeaderComponent:H,ListFooterComponent:ee,className:S,style:Oe,contentContainerClassName:w,contentContainerStyle:T})})}),rV=(e,t,n)=>{let r=n.scrollOffset??0,i=n.itemSizeCache.get(e.key);return i===void 0?e.start<r:e.start+i<=r},iV=e=>{let t=e.info,n=t.time?.completed,r=t.status;return typeof n!=`number`||n<=0?!1:typeof r!=`string`||r===`completed`},aV=(e,t)=>e,oV=e=>e.isActivelyProcessing||e.expansionDisposition===`active`?!0:ZI(e.expansionDisposition,e.activityRenderMode,{isLastTurn:e.isLastTurn,hasConfirmedFinalBody:e.hasConfirmedFinalBody}),sV=()=>ki()?5:12,cV=16,lV=(e,t)=>e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e===t[n]),uV=320,dV=168,fV=8,pV=16,mV=6,hV=12,gV=4,_V=1,vV=2,yV=6,bV=4,xV=()=>ki()?pV:fV,SV=30,CV=180,wV=80,TV=160,EV=90,DV=(e,t)=>{if(e.length===0||t.length<=e.length||e[e.length-1]?.key!==t[t.length-1]?.key)return!1;let n=e[0]?.key;return t.findIndex(e=>e.key===n)>0},OV=(e=>{let t=new Map;return{read:(e,n)=>{let r=t.get(e);if(r){if(lV(r.keys,n))return r.items;t.delete(e)}},write:(n,r,i)=>{if(r.length!==0)for(t.delete(n),t.set(n,{keys:r.slice(),items:i});t.size>e;){let e=t.keys().next().value;if(typeof e!=`string`)break;t.delete(e)}}}})(cV),kV=(e,t,n)=>{if(t.size===0)return[];let r=0;return e.map((e,i)=>{let a=t.get(e)??n,o={index:i,key:e,start:r,size:a,end:r+a,lane:0};return r+=a,o})},AV=(e,t)=>({sessionKey:e,virtualizerKey:t??e}),jV=e=>e===`collapsed`?dV:uV,MV=(e,t)=>`${e}::activity:${t}`,NV=(e,t)=>!Number.isFinite(t)||t<=0||e===null?!1:Math.round(e)!==Math.round(t),PV=(e,t,n)=>{let r=Number.isFinite(e)?Math.max(0,e):0,i=Number.isFinite(t)?Math.max(r,t):r,a=Number.isFinite(n)?Math.max(0,n):0;return{marginTop:Number.isFinite(e)?Math.min(0,e):0,paddingTop:r,paddingBottom:Math.max(0,a-i),minHeight:a}},FV=(e,t)=>{if(!e)return;let n=`${Math.max(0,Number.isFinite(t)?t:0)}px`;e.style.height!==``&&(e.style.height=``),e.style.minHeight!==n&&(e.style.minHeight=n)},IV=(e,t=0)=>Math.max(e===`collapsed`?hV:mV,Math.max(0,Math.floor(t))),LV=e=>e===`collapsed`?vV:_V,RV=e=>e===`collapsed`?bV:yV,zV=(e,t)=>{e.current=t},BV=(e,t)=>OV.read(e,t),VV=(e,t,n)=>{!n||t.length===0||OV.write(e,t,n.takeSnapshot())},HV=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},UV=(e,t)=>{if(HV(e)!==`system`)return e;let n=KV(e);return!n||!t.has(n)||e.info.clientRole===`assistant`?e:{...e,info:{...e.info,clientRole:`assistant`}}},WV=e=>!e||HV(e)!==`user`?!1:e.parts.some(e=>e?.type===`subtask`),GV=e=>{if(!e)return null;let t=e.info.id;return typeof t==`string`&&t.trim().length>0?t:null},KV=e=>{let t=e.info.parentID;return typeof t==`string`&&t.trim().length>0?t:null},qV=(e,t,n)=>{if(typeof window>`u`)return!1;let r=e;for(;r&&r!==t;){if(window.getComputedStyle(r).position===`sticky`&&r.getBoundingClientRect().top<=n+1)return!0;r=r.parentElement}return!1},JV=(e,t)=>Array.from(e.querySelectorAll(`[data-message-id]`)).find(e=>e.dataset.messageId===t)??null,YV=(e,t=e)=>{let n=e.getBoundingClientRect(),r=Array.from(t.querySelectorAll(`[data-message-id]`)),i=r.find(t=>t.getBoundingClientRect().bottom>n.top+1&&!qV(t,e,n.top))??r.find(e=>e.getBoundingClientRect().bottom>n.top+1),a=i?.dataset.messageId;return!i||!a?null:{messageId:a,offsetTop:i.getBoundingClientRect().top-n.top}},XV=(e,t)=>{let n=YV(t,e);if(!n)return null;let r=JV(e,n.messageId)?.closest(`[data-turn-entry]`),i=r?.dataset.turnEntry;return!i||!r?null:{...n,entryKey:i,entryStart:r.getBoundingClientRect().top-e.getBoundingClientRect().top,attempts:0}},ZV=e=>{let t=e,n=t.state?.metadata,r=YO(n)??null;if(r)return r;let i=t.state?.output;return typeof i==`string`?$O(i)??null:null},QV=e=>{if(HV(e)!==`assistant`||e.parts.length!==1)return{hide:!1,taskSessionId:null};let t=e.parts[0];if(t?.type!==`tool`)return{hide:!1,taskSessionId:null};let n=typeof t.tool==`string`?t.tool.toLowerCase():``;return n!==`task`&&n!==`subagent`?{hide:!1,taskSessionId:null}:{hide:!0,taskSessionId:ZV(e.parts[0])}},$V=(e,t)=>{if(!t)return e;let n=XO(e.parts,t);return n===e.parts?e:{...e,parts:n}},eH=(e,t)=>{let n=typeof t?.command==`string`?t.command.trim():``,r=typeof t?.output==`string`?t.output:``,i=typeof t?.status==`string`?t.status.trim():``,a=[],o=!1;for(let t of e.parts){if(!o&&t?.type===`text`){let e=t.text;if(t.synthetic===!0&&typeof e==`string`&&e.trim().startsWith(`The following tool was executed by the user`)){a.push({type:`text`,text:`/shell`,shellAction:{...n?{command:n}:{},...r?{output:r}:{},...i?{status:i}:{}}}),o=!0;continue}}a.push(t)}return o||a.push({type:`text`,text:`/shell`,shellAction:{...n?{command:n}:{},...r?{output:r}:{},...i?{status:i}:{}}}),{...e,parts:a}},tH=e=>e.kind===`turn`?e.turn.userMessage?.info.id??e.turn.assistantMessages[0]?.info.id??e.turn.turnId:HV(e.message)===`user`?e.message.info.id:null,nH=e=>e.chatRenderMode!==`sorted`||e.activityPresentationKind!==`compaction`||e.hasVisibleActivitySegments||e.hasAssistantMessages?!1:e.completionDisposition===`normal`||e.completionDisposition===`abnormal`||e.completionDisposition===`active`&&e.isLastTurn&&e.sessionIsWorking,rH=Z.memo(e=>{let t=(0,Q.c)(23),{message:n,previousMessage:r,nextMessage:i,turnGroupingContext:a,assistantHeaderMessageId:o,turnOwnsAssistantHeader:s,isInActiveTurn:c,activeStreamingPhase:l,animateUserOnMount:u,onUserAnimationConsumed:d,onContentChange:f,animationHandlers:p,scrollToBottom:m,reviewTransferDirection:h}=e,g=Bb(),_;t[0]!==n.sourceDirectory||t[1]!==n.sourceSessionID||t[2]!==g?(_=n.sourceSessionID?{...g,sessionId:n.sourceSessionID,directory:n.sourceDirectory??null,onRevertMessage:void 0,onEditMessage:void 0,capabilities:{...g.capabilities,compose:!1,mutateSession:!1,answerRequests:!1,openTimeline:!1,forkSession:!1}}:g,t[0]=n.sourceDirectory,t[1]=n.sourceSessionID,t[2]=g,t[3]=_):_=t[3];let v=_,y;t[4]!==l||t[5]!==u||t[6]!==p||t[7]!==o||t[8]!==c||t[9]!==n||t[10]!==i||t[11]!==f||t[12]!==d||t[13]!==r||t[14]!==h||t[15]!==m||t[16]!==a||t[17]!==s?(y=(0,$.jsx)(TL,{message:n,previousMessage:r,nextMessage:i,animateUserOnMount:u,onUserAnimationConsumed:d,onContentChange:f,animationHandlers:p,scrollToBottom:m,turnGroupingContext:a,assistantHeaderMessageId:o,turnOwnsAssistantHeader:s,isInActiveTurn:c,activeStreamingPhase:l,reviewTransferDirection:h}),t[4]=l,t[5]=u,t[6]=p,t[7]=o,t[8]=c,t[9]=n,t[10]=i,t[11]=f,t[12]=d,t[13]=r,t[14]=h,t[15]=m,t[16]=a,t[17]=s,t[18]=y):y=t[18];let b=y,x;return t[19]!==b||t[20]!==v||t[21]!==g?(x=v===g?b:(0,$.jsx)(zb.Provider,{value:v,children:b}),t[19]=b,t[20]=v,t[21]=g,t[22]=x):x=t[22],x},(e,t)=>{let n=e.turnGroupingContext,r=t.turnGroupingContext;return Qk(e.message,t.message)&&e.message.sourceSessionID===t.message.sourceSessionID&&e.message.sourceDirectory===t.message.sourceDirectory&&$k(e.previousMessage,t.previousMessage)&&$k(e.nextMessage,t.nextMessage)&&e.animateUserOnMount===t.animateUserOnMount&&e.onUserAnimationConsumed===t.onUserAnimationConsumed&&e.onContentChange===t.onContentChange&&e.scrollToBottom===t.scrollToBottom&&sA(n,r,e.message.info.id,HV(e.message)===`user`)&&e.assistantHeaderMessageId===t.assistantHeaderMessageId&&e.turnOwnsAssistantHeader===t.turnOwnsAssistantHeader&&e.isInActiveTurn===t.isInActiveTurn&&e.activeStreamingPhase===t.activeStreamingPhase&&e.reviewTransferDirection===t.reviewTransferDirection&&e.animationHandlers?.onChunk===t.animationHandlers?.onChunk&&e.animationHandlers?.onComplete===t.animationHandlers?.onComplete&&e.animationHandlers?.onStreamingCandidate===t.animationHandlers?.onStreamingCandidate&&e.animationHandlers?.onAnimationStart===t.animationHandlers?.onAnimationStart&&e.animationHandlers?.onReservationCancelled===t.animationHandlers?.onReservationCancelled&&e.animationHandlers?.onReasoningBlock===t.animationHandlers?.onReasoningBlock&&e.animationHandlers?.onAnimatedHeightChange===t.animationHandlers?.onAnimatedHeightChange});rH.displayName=`MessageRow`;var iH=Z.memo(({turn:e,isLastTurn:t,sessionIsWorking:n,activityRenderMode:r,turnUiStates:i,onToggleTurnGroup:a,chatRenderMode:o,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,stickyUserHeader:u=!0,shouldAnimateUserMessage:d,onUserAnimationConsumed:f,activeStreamingMessageId:p,activeStreamingPhase:m,reviewTransferDirection:h})=>{let g=q(e=>e.showReasoningTraces),_=Z.useMemo(()=>!!e.userMessage||e.assistantMessages.some(e=>!!e.info.error||bD(e.parts,{includeReasoning:g}).some(e=>e.type===`tool`||e.type===`file`||(e.type===`text`||e.type===`reasoning`)&&_D(e).trim().length>0)),[e.userMessage,e.assistantMessages,g]),v=Z.useRef(null);v.current===e.turnId&&!t&&e.completionDisposition!==`active`?v.current=null:t&&n&&(v.current=e.turnId);let y=v.current===e.turnId,b=Z.useRef({turnId:e.turnId,shown:!1});b.current.turnId!==e.turnId&&(b.current={turnId:e.turnId,shown:!1});let x=i.get(e.turnId),S=$I({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,durationMs:e.durationMs}),C=oV({expansionDisposition:nL({isLastTurn:t,turnCompletionDisposition:e.completionDisposition,headerPresentationDisposition:S.completionDisposition,hasAssistantMessages:e.assistantMessages.length>0}),activityRenderMode:r,isLastTurn:t,isActivelyProcessing:t&&n,hasConfirmedFinalBody:e.hasConfirmedFinalBody}),w=x?.automatic&&e.completionDisposition===`normal`&&e.hasConfirmedFinalBody&&!(t&&n),T=x&&!w?x.isExpanded:C,E=J(()=>{a(e.turnId,T)}),D=Z.useMemo(()=>{let t=e.userMessage?[e.userMessage,...e.assistantMessages]:e.assistantMessages,n=new Map;return t.forEach((e,t)=>{n.set(e.info.id,t)}),{ordered:t,lookup:n}},[e.assistantMessages,e.userMessage]),O=Z.useMemo(()=>{if(p&&e.assistantMessages.some(e=>e.info.id===p))return p;for(let t=e.assistantMessages.length-1;t>=0;--t){let n=e.assistantMessages[t];if(!iV(n))return n.info.id}return null},[p,e.assistantMessages]),k=Z.useMemo(()=>o===`live`?e.assistantMessages:aV(e.assistantMessages,O),[o,O,e.assistantMessages]),A=Z.useMemo(()=>{let e=new Map;return k.forEach((t,n)=>{e.set(t.info.id,n)}),e},[k]),j=Z.useMemo(()=>new Set(k.map(e=>e.info.id)),[k]),M=Z.useMemo(()=>e.headerMessageId&&A.has(e.headerMessageId)?e.headerMessageId:k[0]?.info.id,[e.headerMessageId,A,k]),N=Z.useMemo(()=>o===`sorted`?j.size===e.assistantMessages.length?e.activityParts:e.activityParts.filter(e=>j.has(e.messageId)):e.activityParts,[o,j,e.activityParts,e.assistantMessages.length]),P=Z.useMemo(()=>o!==`sorted`||j.size===e.assistantMessages.length?e.activitySegments:e.activitySegments.map(e=>{let t=e.parts.filter(e=>j.has(e.messageId));if(t.length===0)return null;let n=j.has(e.anchorMessageId)?e.anchorMessageId:t[0]?.messageId;return n?{...e,anchorMessageId:n,parts:t}:null}).filter(e=>e!==null),[o,j,e.activitySegments,e.assistantMessages.length]),F=Z.useMemo(()=>{let t=e.userMessage?.info.time?.created,n=e.userMessage?.info,r=n?.model?.variant??n?.variant,i=typeof r==`string`&&r.trim().length>0?r:void 0;return{turnId:e.turnId,assistantTps:MP(e.assistantMessages.map(e=>({createdAt:e.info.time.created,streamedAt:e.info.time.streamed,outputTokens:e.info.tokens?.output,reasoningTokens:e.info.tokens?.reasoning}))),summaryBody:e.summaryText,activityParts:N,activityGroupSegments:P,headerMessageId:e.headerMessageId,hasTools:e.hasTools,hasReasoning:e.hasReasoning,activityPresentationKind:e.activityPresentationKind,diffStats:e.diffStats,changedFiles:e.changedFiles,userMessageCreatedAt:typeof t==`number`?t:void 0,userMessageVariant:i}},[e.activityPresentationKind,e.assistantMessages,e.changedFiles,e.diffStats,e.hasReasoning,e.hasTools,e.headerMessageId,e.summaryText,e.turnId,e.userMessage?.info,N,P]),I=Dz((r,i)=>{let a=HV(r)===`user`,u=D.lookup.get(r.info.id),p=A.get(r.info.id)??-1,g=p>=0,_=p===0,v=p===k.length-1,y=!!M&&r.info.id===M,b=P.some(e=>e.anchorMessageId===r.info.id),x=o===`sorted`?g:y||_||v,S=k[0]?.info.id??e.headerMessageId,C=a?void 0:g?_?e.userMessage:void 0:typeof u==`number`&&u>0?D.ordered[u-1]:void 0,w=$I({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,durationMs:e.durationMs}),T=g?{turnId:e.turnId,activityOwnerMessageId:M,isFirstAssistantInTurn:_,isLastAssistantInTurn:v,isLatestTurn:t,isWorking:(t||e.completionDisposition===`active`)&&n&&(o===`sorted`?b:r.info.id===O),isTurnSettled:eL({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,hasConfirmedSettledAssistant:e.hasConfirmedFinalBody}),hasTools:e.hasTools,hasReasoning:e.hasReasoning,completionDisposition:w.completionDisposition,activityPresentationKind:e.activityPresentationKind,durationMs:w.durationMs,assistantTps:F.assistantTps,...x?{summaryBody:F.summaryBody,activityParts:F.activityParts,activityGroupSegments:F.activityGroupSegments,headerMessageId:F.headerMessageId,diffStats:F.diffStats,changedFiles:F.changedFiles,userMessageCreatedAt:F.userMessageCreatedAt,userMessageVariant:F.userMessageVariant,isGroupExpanded:i,toggleGroup:E}:{}}:void 0;return(0,$.jsx)(rH,{message:r,previousMessage:C,nextMessage:void 0,turnGroupingContext:T,assistantHeaderMessageId:S,turnOwnsAssistantHeader:g,isInActiveTurn:!!O&&r.info.id===O,activeStreamingPhase:r.info.id===O?m:null,reviewTransferDirection:h,animateUserOnMount:d(r),onUserAnimationConsumed:f,onContentChange:s,animationHandlers:c(r.info.id),scrollToBottom:l},r.info.id)}),L=Z.useMemo(()=>k===e.assistantMessages?e:{...e,assistantMessages:k},[e,k]),R=Z.useMemo(()=>((XI({isLastTurn:t,sessionIsWorking:n,hasAssistantMessages:e.assistantMessages.length>0,activityPresentationKind:e.activityPresentationKind,hasActiveStreamingMessage:!!p})||e.assistantMessages.length>0)&&(b.current.shown=!0),!b.current.shown||e.activityPresentationKind===`compaction`?null:e.userMessage?YI(KI(e.userMessage.info)):null),[p,t,n,e.activityPresentationKind,e.assistantMessages.length,e.userMessage]);if(!_){let t=e.assistantMessages.find(e=>e.info.id===p);return t?(0,$.jsx)(aH,{message:t,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,shouldAnimateUserMessage:d,onUserAnimationConsumed:f,activeStreamingMessageId:p,activeStreamingPhase:m,reviewTransferDirection:h}):null}return(0,$.jsx)(gR,{turn:L,showSessionError:t,activityExpanded:T,onToggleActivity:E,showCompactionStatus:nH({chatRenderMode:o,activityPresentationKind:e.activityPresentationKind,hasVisibleActivitySegments:P.length>0,hasAssistantMessages:e.assistantMessages.length>0,completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n}),pendingAssistantHeader:R,assistantHeaderMessage:k[0],assistantHeaderIsInActiveTurn:k[0]?.info.id===O,preserveActiveTurnGap:y,stickyUserHeader:u,renderMessage:I})});iH.displayName=`TurnBlock`;var aH=Z.memo(e=>{let t=(0,Q.c)(31),{message:n,previousMessage:r,nextMessage:i,onMessageContentChange:a,getAnimationHandlers:o,scrollToBottom:s,shouldAnimateUserMessage:c,onUserAnimationConsumed:l,activeStreamingMessageId:u,activeStreamingPhase:d,reviewTransferDirection:f}=e,{t:p}=Kn();if($D(n)){let e;t[0]===p?e=t[1]:(e=p(`assistants.conversation.newSessionDivider`),t[0]=p,t[1]=e);let n;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:`min-w-0 flex-1 border-t`}),t[2]=n):n=t[2];let r;t[3]===p?r=t[4]:(r=p(`assistants.conversation.newSessionDivider`),t[3]=p,t[4]=r);let i;t[5]===r?i=t[6]:(i=(0,$.jsx)(`span`,{className:`shrink-0 typography-meta text-muted-foreground`,children:r}),t[5]=r,t[6]=i);let a;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`div`,{className:`min-w-0 flex-1 border-t`}),t[7]=a):a=t[7];let o;t[8]===i?o=t[9]:(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[n,i,a]}),t[8]=i,t[9]=o);let s;return t[10]!==e||t[11]!==o?(s=(0,$.jsx)(`div`,{className:`chat-message-column px-4 py-5`,role:`separator`,"aria-label":e,children:o}),t[10]=e,t[11]=o,t[12]=s):s=t[12],s}let m;t[13]!==n||t[14]!==c?(m=c(n),t[13]=n,t[14]=c,t[15]=m):m=t[15];let h;t[16]!==o||t[17]!==n.info.id?(h=o(n.info.id),t[16]=o,t[17]=n.info.id,t[18]=h):h=t[18];let g=!!u&&n.info.id===u,_=n.info.id===u?d:null,v;return t[19]!==n||t[20]!==i||t[21]!==a||t[22]!==l||t[23]!==r||t[24]!==f||t[25]!==s||t[26]!==m||t[27]!==h||t[28]!==g||t[29]!==_?(v=(0,$.jsx)(rH,{message:n,previousMessage:r,nextMessage:i,animateUserOnMount:m,onUserAnimationConsumed:l,onContentChange:a,animationHandlers:h,scrollToBottom:s,isInActiveTurn:g,activeStreamingPhase:_,reviewTransferDirection:f}),t[19]=n,t[20]=i,t[21]=a,t[22]=l,t[23]=r,t[24]=f,t[25]=s,t[26]=m,t[27]=h,t[28]=g,t[29]=_,t[30]=v):v=t[30],v});aH.displayName=`UngroupedMessageRow`;var oH=Z.memo(e=>{let t=(0,Q.c)(24),{entry:n,onMessageContentChange:r,getAnimationHandlers:i,scrollToBottom:a,stickyUserHeader:o,sessionIsWorking:s,activityRenderMode:c,turnUiStates:l,onToggleTurnGroup:u,chatRenderMode:d,shouldAnimateUserMessage:f,onUserAnimationConsumed:p,activeStreamingMessageId:m,activeStreamingPhase:h,reviewTransferDirection:g,showLiveStatusRow:_}=e,v=_!==void 0&&_,y;t[0]!==m||t[1]!==h||t[2]!==c||t[3]!==d||t[4]!==n.isLastTurn||t[5]!==n.kind||t[6]!==n.message||t[7]!==n.nextMessage||t[8]!==n.previousMessage||t[9]!==n.turn||t[10]!==i||t[11]!==r||t[12]!==u||t[13]!==p||t[14]!==g||t[15]!==a||t[16]!==s||t[17]!==f||t[18]!==o||t[19]!==l?(y=n.kind===`ungrouped`?(0,$.jsx)(aH,{message:n.message,previousMessage:n.previousMessage,nextMessage:n.nextMessage,onMessageContentChange:r,getAnimationHandlers:i,scrollToBottom:a,shouldAnimateUserMessage:f,onUserAnimationConsumed:p,activeStreamingMessageId:m,activeStreamingPhase:h,reviewTransferDirection:g}):(0,$.jsx)(iH,{turn:n.turn,isLastTurn:n.isLastTurn,sessionIsWorking:s,activityRenderMode:c,turnUiStates:l,onToggleTurnGroup:u,chatRenderMode:d,shouldAnimateUserMessage:f,onUserAnimationConsumed:p,activeStreamingMessageId:m,activeStreamingPhase:h,reviewTransferDirection:g,onMessageContentChange:r,getAnimationHandlers:i,scrollToBottom:a,stickyUserHeader:o}),t[0]=m,t[1]=h,t[2]=c,t[3]=d,t[4]=n.isLastTurn,t[5]=n.kind,t[6]=n.message,t[7]=n.nextMessage,t[8]=n.previousMessage,t[9]=n.turn,t[10]=i,t[11]=r,t[12]=u,t[13]=p,t[14]=g,t[15]=a,t[16]=s,t[17]=f,t[18]=o,t[19]=l,t[20]=y):y=t[20];let b=y;if(!v)return b;let x;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`div`,{className:`mb-1`,children:(0,$.jsx)($L,{})}),t[21]=x):x=t[21];let S;return t[22]===b?S=t[23]:(S=(0,$.jsxs)($.Fragment,{children:[b,x]}),t[22]=b,t[23]=S),S});oH.displayName=`MessageListEntry`;var sH=Z.memo(({entries:e,historyAnchorToken:t,engine:n,contentRef:r,scrollRef:i,registerTanstackVirtualizer:a,virtualizerKey:o,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,stickyUserHeader:u,activityRenderMode:d,turnUiStates:f,onToggleTurnGroup:p,chatRenderMode:m,shouldAnimateUserMessage:h,onUserAnimationConsumed:g,reviewTransferDirection:_})=>{let[v,y]=Z.useState(e),b=n===`tanstack`&&v.length>=sV(),x=Z.useRef(n),S=Z.useRef(null),[C,w]=Z.useReducer(e=>e+1,0);if(!b)S.current=null;else if(x.current===`none`&&b&&S.current===null){let e=r.current,t=i?.current;e&&t&&(S.current=XV(e,t))}let T=Z.useRef(!1),E=Z.useRef(0),D=Z.useRef(null),O=ki();Z.useEffect(()=>{if(!O)return;let e=i?.current;if(!e)return;let t=()=>{T.current=!0},n=()=>{T.current=!1},r=()=>{E.current=performance.now()};return e.addEventListener(`touchstart`,t,{passive:!0}),e.addEventListener(`touchend`,n,{passive:!0}),e.addEventListener(`touchcancel`,n,{passive:!0}),e.addEventListener(`scroll`,r,{passive:!0}),()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),e.removeEventListener(`touchcancel`,n),e.removeEventListener(`scroll`,r)}},[O,i]);let k=()=>T.current||performance.now()-E.current<TV,A=v;e===v?D.current!==null&&(D.current=null):O&&DV(v,e)&&k()?D.current===null&&(D.current=performance.now()):(D.current=null,y(e),A=e);let[,j]=Z.useReducer(e=>e+1,0);In(()=>{D.current!==null&&(k()||j())},O&&D.current!==null?EV:null);let M=Z.useRef(A);M.current=A;let N=Z.useMemo(()=>A.map(e=>e.key),[A]),P=xV(),[F,I]=Z.useState(()=>Az(P));Z.useEffect(()=>{if(!(!b||F>=P))return kd(()=>{Z.startTransition(()=>{I(e=>jz(e,P))})})},[F,b,P]);let L=MV(o,d),[R]=Z.useState(()=>b?BV(L,e.map(e=>e.key)):void 0),z=Z.useRef(null),B=J(e=>{z.current=e,r.current=e}),V=Z.useRef(null),H=Z.useRef(t),ee=Z.useRef(A),U=ee.current!==A&&DV(ee.current,A);if(ee.current=A,H.current!==t||U){H.current=t;let e=i?.current,n=z.current??r.current;V.current=e&&n?YV(e,n):null}let te=J(()=>{V.current=null});Hn(`wheel`,te,void 0,{passive:!0,capture:!0}),Hn(`touchstart`,te,void 0,{passive:!0,capture:!0}),Hn(`pointerdown`,te,void 0,{passive:!0,capture:!0}),Hn(`click`,te,void 0,{capture:!0}),Hn(`keydown`,te,void 0,{capture:!0});let ne=J(()=>{let e=V.current,t=i?.current;if(!e||!t)return;let n=JV(t,e.messageId);if(!n)return;let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(r)>.5&&K.scrollToOffset(t.scrollTop+r,{behavior:`auto`})}),W=jV(d),G=Z.useRef(W),re=Z.useRef(d);re.current!==d&&(re.current=d,G.current=W);let ie=Z.useRef(b),ae=Z.useRef(new Map),oe=Z.useRef(void 0);if(Z.useLayoutEffect(()=>{b||(oe.current=void 0)}),b&&oe.current===void 0){if(!R){let e=ae.current;e.clear(),r?.current?.querySelectorAll(`[data-turn-entry]`).forEach(t=>{let n=t.dataset.turnEntry;n&&e.set(n,t.getBoundingClientRect().height)})}oe.current=R??kV(N,ae.current,G.current)}let se=Z.useMemo(()=>b?{width:i?.current?.clientWidth??0,height:i?.current?.clientHeight??0}:void 0,[b,i]),K=vf({count:A.length,enabled:b,initialRect:se,getScrollElement:()=>i?.current??null,estimateSize:()=>G.current,overscan:F,measureElement:(e,t,n)=>{let r=n.options.getItemKey(n.indexFromElement(e)),i=n.itemSizeCache.get(r);if(n.options.useCachedMeasurements)return i??n.options.estimateSize(n.indexFromElement(e));let a=t?.borderBoxSize?.[0]?.blockSize;return a===void 0?!t&&i!==void 0?i:e.getBoundingClientRect().height:a},scrollToFn:(e,t,n)=>{FV(z.current,n.getTotalSize()),_f(e,t,n)},getItemKey:e=>M.current[e]?.key??`index:${e}`,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:wV,initialOffset:()=>{if(ie.current){let e=G.current,t=(oe.current??[]).reduce((t,n)=>t+(n.index<A.length?n.size-e:0),A.length*e);return Math.max(0,t-(i?.current?.clientHeight??0))}let e=S.current,t=e&&oe.current?.find(t=>t.key===e.entryKey);return(i?.current?.scrollTop??0)+(t&&e?t.start-e.entryStart:0)},initialMeasurementsCache:oe.current});Bn(()=>{if(b)return K.shouldAdjustScrollPositionOnItemSizeChange=rV,rB(K,ne)},[b,K]);let ce=Z.useRef(null),le=Z.useRef(null);b||(ce.current=null);let ue=J(()=>{if(!b)return;let e=z.current??i?.current;if(!e)return;let t=e.offsetWidth;if(!NV(ce.current,t)){ce.current===null&&t>0&&(ce.current=t);return}ce.current=t,le.current!==null&&clearTimeout(le.current),le.current=setTimeout(()=>{le.current=null,K.measure()},220)}),de=b&&typeof ResizeObserver<`u`;Ln(de?z:null,ue),Ln(de&&i?i:null,ue),zn(()=>{le.current!==null&&(clearTimeout(le.current),le.current=null)}),Bn(()=>{b&&ue()},[b]),Bn(()=>{if(x.current=b?`tanstack`:`none`,!b){S.current=null;return}let e=S.current,t=i?.current;if(!e||!t)return;let n=JV(t,e.messageId);if(n){let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(r)>.5&&K.scrollToOffset(t.scrollTop+r,{behavior:`auto`}),S.current=null;return}let r=N.indexOf(e.entryKey);if(r<0||e.attempts>=1){S.current=null;return}e.attempts+=1,K.scrollToIndex(r,{align:`start`}),w()},[n,N,b,K,C]);let fe=K.getVirtualItems(),pe=fe.map(e=>e.index),[me,he]=Z.useState(()=>zz(N,{seedCount:IV(d),restore:Lz(L)})),ge=Bz(me,N);for(let e of ae.current.keys())ge.has(e)||(ge===me&&(ge=new Set(ge)),ge.add(e));ge!==me&&he(ge);let _e=Z.useRef(ge);_e.current=ge;let ve=Z.useRef(null);K.scrollDirection&&(ve.current=K.scrollDirection);let ye=K.range?.startIndex??fe[0]?.index??Math.max(0,A.length-1),be=K.range?.endIndex??fe[fe.length-1]?.index??Math.max(0,A.length-1),xe=K.isScrolling,Se=Math.max(0,be-ye+1),Ce=Hz({entryKeys:N,mountedIndexes:pe,visibleStartIndex:ye,visibleEndIndex:be,scrollDirection:ve.current,preloadEntries:IV(d,Se),hydratedKeys:ge,allowVisibleRelease:!xe,preloadReleaseLimit:xe?LV(d):gV,visibleReleaseLimit:xe?0:RV(d)}),we=Ce.join(`\0`),Te=Z.useRef(Ce);Te.current=Ce,Z.useEffect(()=>{if(!(!b||!we))return kd(()=>{Z.startTransition(()=>{he(e=>{let t=null;for(let n of Te.current)e.has(n)||(t??=new Set(e),t.add(n));return t??e})})})},[b,we]),Z.useEffect(()=>{he(e=>Uz(e,N))},[N]),Z.useEffect(()=>{if(b)return a?.(K),()=>{VV(L,M.current.map(e=>e.key),K),Rz(L,_e.current),a?.(null)}},[b,K,L]);let Ee=Dz((e,t=!0)=>(0,$.jsx)(Nz,{enabled:t,children:(0,$.jsx)(oH,{entry:e,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,stickyUserHeader:u,sessionIsWorking:!1,activityRenderMode:d,turnUiStates:f,onToggleTurnGroup:p,chatRenderMode:m,shouldAnimateUserMessage:h,onUserAnimationConsumed:g,reviewTransferDirection:_},e.key)}));if(!b)return(0,$.jsx)(`div`,{ref:B,className:`relative w-full`,children:(0,$.jsx)(`div`,{children:A.map(e=>(0,$.jsx)(`div`,{"data-turn-entry":e.key,className:`oc-chat-message-layout-boundary`,children:Ee(e)},e.key))})});if(n===`tanstack`){let e=PV(fe[0]?.start??0,fe[fe.length-1]?.end??0,K.getTotalSize());return(0,$.jsx)(`div`,{ref:B,className:`relative flow-root w-full`,style:{minHeight:e.minHeight},children:(0,$.jsx)(`div`,{style:{marginTop:e.marginTop,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom},children:fe.map(e=>{let t=A[e.index];return t?(0,$.jsx)(`div`,{"data-index":e.index,ref:K.measureElement,"data-turn-entry":t.key,className:`oc-chat-message-layout-boundary`,children:Ee(t,ge.has(t.key))},t.key):null})})})}return null});sH.displayName=`StaticHistoryList`;var cH=Z.memo(e=>{let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(`div`,{className:`oc-chat-message-layout-boundary`,children:(0,$.jsx)(oH,{...e})}),t[0]=e,t[1]=n),n});cH.displayName=`TailEntry`;var lH=e=>{let t=(0,Q.c)(43),{entries:n,directory:r,sessionId:i,onMessageContentChange:a,getAnimationHandlers:o,scrollToBottom:s,stickyUserHeader:c,sessionIsWorking:l,activityRenderMode:u,turnUiStates:d,onToggleTurnGroup:f,chatRenderMode:p,showTurnChangedFiles:m,shouldAnimateUserMessage:h,onUserAnimationConsumed:g,activeStreamingMessageId:_,activeStreamingPhase:v,reviewTransferDirection:y}=e,b=n.length-1,x=ha(_??``,r,i??void 0),S;bb0:{let e=n[b];if(!e){S=void 0;break bb0}let r=p===`sorted`,i;t[0]!==_||t[1]!==x||t[2]!==e||t[3]!==m||t[4]!==r?(i=xz(e,{activeStreamingMessageId:_,liveParts:x,showTextJustificationActivity:r,showTurnChangedFiles:m}),t[0]=_,t[1]=x,t[2]=e,t[3]=m,t[4]=r,t[5]=i):i=t[5],S=i}let C=S,w;if(t[6]!==_||t[7]!==v||t[8]!==u||t[9]!==p||t[10]!==n||t[11]!==o||t[12]!==C||t[13]!==b||t[14]!==a||t[15]!==f||t[16]!==g||t[17]!==y||t[18]!==s||t[19]!==l||t[20]!==h||t[21]!==c||t[22]!==d){let e;t[24]!==_||t[25]!==v||t[26]!==u||t[27]!==p||t[28]!==o||t[29]!==C||t[30]!==b||t[31]!==a||t[32]!==f||t[33]!==g||t[34]!==y||t[35]!==s||t[36]!==l||t[37]!==h||t[38]!==c||t[39]!==d?(e=(e,t)=>{let n=t===b;return(0,$.jsx)(cH,{entry:n?C??e:e,onMessageContentChange:a,getAnimationHandlers:o,scrollToBottom:s,stickyUserHeader:c,sessionIsWorking:n?l:!1,activityRenderMode:u,turnUiStates:d,onToggleTurnGroup:f,chatRenderMode:p,shouldAnimateUserMessage:h,onUserAnimationConsumed:g,activeStreamingMessageId:n?_:null,activeStreamingPhase:n?v:null,reviewTransferDirection:y},e.key)},t[24]=_,t[25]=v,t[26]=u,t[27]=p,t[28]=o,t[29]=C,t[30]=b,t[31]=a,t[32]=f,t[33]=g,t[34]=y,t[35]=s,t[36]=l,t[37]=h,t[38]=c,t[39]=d,t[40]=e):e=t[40],w=n.map(e),t[6]=_,t[7]=v,t[8]=u,t[9]=p,t[10]=n,t[11]=o,t[12]=C,t[13]=b,t[14]=a,t[15]=f,t[16]=g,t[17]=y,t[18]=s,t[19]=l,t[20]=h,t[21]=c,t[22]=d,t[23]=w}else w=t[23];let T;return t[41]===w?T=t[42]:(T=(0,$.jsx)($.Fragment,{children:w}),t[41]=w,t[42]=T),T};lH.displayName=`StreamingTailContent`;var uH=e=>{let t=(0,Q.c)(74),{historyEntries:n,tailEntries:r,timelineCacheKey:i,directory:a,sessionId:o,scrollRef:s,registerList:c,onHistoryContentChange:l,onTailContentChange:u,getAnimationHandlers:d,scrollToBottom:f,stickyUserHeader:p,sessionIsWorking:m,activityRenderMode:h,turnUiStates:g,onToggleTurnGroup:_,chatRenderMode:v,showTurnChangedFiles:y,shouldAnimateUserMessage:b,onUserAnimationConsumed:x,activeStreamingMessageId:S,activeStreamingPhase:C,reviewTransferDirection:w,header:T,footer:E,scrollClassName:D,scrollStyle:O,scrollDataset:k,onScroll:A,followEnabled:j,historyAnchorToken:M,pinRevealGeneration:N,initialPinRevealComplete:P,onIsAtEndChange:F,anchoredUserMessageId:I,onAnchoredTurnParkReleased:L}=e,R=j===void 0||j,z=N===void 0?0:N,B=P!==void 0&&P,V=I===void 0?null:I,H=q(pH),ee=n.length,U=r.length>0?r[r.length-1]:void 0,te=U?.key??null,ne=ha(S??``,a,o??void 0),W;bb0:{if(!U){W=r;break bb0}let e=v===`sorted`,n;t[0]!==S||t[1]!==ne||t[2]!==U||t[3]!==y||t[4]!==e?(n=xz(U,{activeStreamingMessageId:S,liveParts:ne,showTextJustificationActivity:e,showTurnChangedFiles:y}),t[0]=S,t[1]=ne,t[2]=U,t[3]=y,t[4]=e,t[5]=n):n=t[5];let i=n;if(i===U){W=r;break bb0}let a;t[6]!==i||t[7]!==r?(a=r.slice(),a[a.length-1]=i,t[6]=i,t[7]=r,t[8]=a):a=t[8],W=a}let G=W,re;t[9]!==n||t[10]!==G?(re=G.length>0?[...n,...G]:n,t[9]=n,t[10]=G,t[11]=re):re=t[11];let ie=re,ae;t[12]!==ie||t[13]!==V?(ae=RB(ie,V,tH,{anchorOffset:16}),t[12]=ie,t[13]=V,t[14]=ae):ae=t[14];let oe=ae,se;t[15]===h?se=t[16]:(se={resolvePreloadEntries:e=>IV(h,e),resolvePreloadReleaseWhileScrolling:()=>LV(h),resolveVisibleReleaseLimit:()=>RV(h)},t[15]=h,t[16]=se);let K=se,ce;t[17]!==S||t[18]!==C||t[19]!==h||t[20]!==v||t[21]!==ee||t[22]!==te||t[23]!==w||t[24]!==m||t[25]!==y||t[26]!==p||t[27]!==g?(ce={historyCount:ee,newestTailKey:te,sessionIsWorking:m,activityRenderMode:h,turnUiStates:g,chatRenderMode:v,showTurnChangedFiles:y,stickyUserHeader:p,activeStreamingMessageId:S,activeStreamingPhase:C,reviewTransferDirection:w},t[17]=S,t[18]=C,t[19]=h,t[20]=v,t[21]=ee,t[22]=te,t[23]=w,t[24]=m,t[25]=y,t[26]=p,t[27]=g,t[28]=ce):ce=t[28];let le=ce,ue;t[29]!==S||t[30]!==C||t[31]!==h||t[32]!==v||t[33]!==d||t[34]!==ee||t[35]!==te||t[36]!==l||t[37]!==u||t[38]!==_||t[39]!==x||t[40]!==w||t[41]!==f||t[42]!==m||t[43]!==b||t[44]!==p||t[45]!==g?(ue=(e,t,n)=>{let r=t>=ee,i=te!==null&&e.key===te;return(0,$.jsx)(Fd,{disabled:!r,children:(0,$.jsx)(Nz,{enabled:n,children:(0,$.jsx)(oH,{entry:e,onMessageContentChange:r?u:l,getAnimationHandlers:d,scrollToBottom:f,stickyUserHeader:p,sessionIsWorking:i?m:!1,activityRenderMode:h,turnUiStates:g,onToggleTurnGroup:_,chatRenderMode:v,shouldAnimateUserMessage:b,onUserAnimationConsumed:x,activeStreamingMessageId:i?S:null,activeStreamingPhase:i?C:null,reviewTransferDirection:w,showLiveStatusRow:i})})})},t[29]=S,t[30]=C,t[31]=h,t[32]=v,t[33]=d,t[34]=ee,t[35]=te,t[36]=l,t[37]=u,t[38]=_,t[39]=x,t[40]=w,t[41]=f,t[42]=m,t[43]=b,t[44]=p,t[45]=g,t[46]=ue):ue=t[46];let de=Dz(ue),fe;t[47]===h?fe=t[48]:(fe=jV(h),t[47]=h,t[48]=fe);let pe=H&&p,me;return t[49]!==ie||t[50]!==oe||t[51]!==R||t[52]!==E||t[53]!==T||t[54]!==M||t[55]!==K||t[56]!==B||t[57]!==H||t[58]!==L||t[59]!==F||t[60]!==A||t[61]!==z||t[62]!==c||t[63]!==de||t[64]!==le||t[65]!==D||t[66]!==k||t[67]!==s||t[68]!==O||t[69]!==m||t[70]!==fe||t[71]!==pe||t[72]!==i?(me=(0,$.jsx)(Mz,{enabled:!0,children:(0,$.jsx)(nV,{entries:ie,timelineCacheKey:i,estimatedItemSize:fe,hydrationTuning:K,renderEntry:de,rowInvalidationKey:le,scrollElementRef:s,registerList:c,followEnabled:R,historyAnchorToken:M,pinRevealGeneration:z,initialPinRevealComplete:B,anchoredEndSpace:oe,onAnchoredTurnParkReleased:L,sessionIsWorking:m,header:T,footer:E,className:D,style:O,scrollElementDataset:k,hideTopScrollShadow:pe,hideBottomScrollShadow:H,onScroll:A,onIsAtEndChange:F})}),t[49]=ie,t[50]=oe,t[51]=R,t[52]=E,t[53]=T,t[54]=M,t[55]=K,t[56]=B,t[57]=H,t[58]=L,t[59]=F,t[60]=A,t[61]=z,t[62]=c,t[63]=de,t[64]=le,t[65]=D,t[66]=k,t[67]=s,t[68]=O,t[69]=m,t[70]=fe,t[71]=pe,t[72]=i,t[73]=me):me=t[73],me};uH.displayName=`LegendTimelineHost`;var dH=Z.forwardRef(({sessionKey:e,virtualizerKey:t,messages:n,sessionIsWorking:r=!1,activeStreamingMessageId:i=null,activeStreamingPhase:a=null,retryOverlay:o=null,onMessageContentChange:s,getAnimationHandlers:c,scrollToBottom:l,scrollRef:u,directory:d,headerSlot:f,footerSlot:p,liveStatusSlot:m,timelineScrollClassName:h,timelineScrollStyle:g,timelineScrollDataset:_,timelineOnScroll:v,timelineFollowEnabled:y,timelineHistoryAnchorToken:b,timelineOnIsAtEndChange:x,enableSendPark:S=!0,initialPinRevealComplete:C=!1},w)=>{qt(`ui.message_list.render`);let{sessionKey:T,virtualizerKey:E}=AV(e,t),D=Z.useMemo(()=>cO(),[T,d]),O=q(e=>e.stickyUserHeader),k=q(e=>e.chatRenderMode),A=q(e=>e.activityRenderMode),j=q(e=>e.showTurnChangedFiles),M=sr(e=>e.reviewTransferBySessionId.get(T)??null),[N,P]=Z.useState(()=>new Map),[F,I]=Z.useState(T);F!==T&&(I(T),P(new Map));let L=Z.useRef({sessionKey:void 0,previousOrder:[],animatedIds:new Set}),[R,z]=Z.useState(null),B=Z.useRef(null);B.current=R;let V=J(t=>{jo(e),B.current===t&&z(null)});Bn(()=>{if(S)return()=>{queueMicrotask(()=>{jo(e)})}},[S,e]);let H=J(c),ee=J(()=>{l?.()}),U=J((e,t)=>{P(n=>{let r=new Map(n);return r.set(e,{isExpanded:QI(t)}),r})}),te=Z.useMemo(()=>tt(`ui.message_list.base_display_ms`,()=>{let e=new Set,t=new Map,r=[];for(let e of n){let n=e.info?.id;typeof n==`string`&&t.set(n,e)}for(let i=0;i<n.length;i+=1){let a=n[i],o=a.info?.id;if(typeof o==`string`){if(e.has(o))continue;e.add(o)}r.push(PL(typeof o==`string`?t.get(o)??a:a))}let i=[],a=new Set,o=-1;for(let e=r.length-1;e>=0;--e)if(r[e].info.role===`assistant`){o=e;break}for(let e=0;e<r.length;e+=1){let t=r[e];if(e<o&&VI(t.info))continue;let n=UV(t,a);AL(t)&&a.add(t.info.id);let s=i.length>0?i[i.length-1]:void 0;if(WV(s)){let e=QV(n);if(e.hide){i[i.length-1]=$V(s,e.taskSessionId);continue}}if(aL(s)){let e=sL(n,GV(s));if(e.hide){i[i.length-1]=eH(s,e.details);continue}}i.push(n)}return i}),[n]),ne=Z.useRef(null),W=Z.useRef(null),G=Z.useCallback(()=>{let e=W.current;e&&(W.current=null,e.cancel())},[]);Z.useEffect(()=>()=>{G()},[G]);let re=J(()=>u?.current?u.current:typeof document>`u`?null:document.querySelector(`[data-scrollbar="chat"]`)),ie=Z.useMemo(()=>tt(`ui.message_list.retry_overlay_ms`,()=>yz(te,{sessionId:o?.sessionId??null,message:o?.message??`Quota limit reached. Retrying automatically.`,confirmedAt:o?.confirmedAt,fallbackTimestamp:o?.fallbackTimestamp??0})),[te,o]),ae=r||!!i,{projection:oe,streamingTurns:se}=_z(ie,{sessionKey:T,showTextJustificationActivity:k===`sorted`,showTurnChangedFiles:j,hasLiveTail:!0,liveTailActive:ae});Bn(()=>{ae&&P(e=>{let t=e;for(let n of se)n.completionDisposition!==`active`||n.assistantMessages.length===0||e.has(n.turnId)||(t===e&&(t=new Map(e)),t.set(n.turnId,{isExpanded:!0,automatic:!0}));return t})},[ae,se]);let K=Z.useMemo(()=>tt(`ui.message_list.render_entries_ms`,()=>Ez({messages:ie,turns:oe.turns,streamingTurns:se,ungroupedMessageIds:oe.ungroupedMessageIds,lastTurnId:oe.lastTurnId})),[ie,oe.lastTurnId,oe.turns,oe.ungroupedMessageIds,se]),ce=K.history,le=K.tail,ue=le.length>0;ue&&ae&&qt(`ui.message_list.render.streaming`);let de=ce,fe=de.length>=sV(),pe=Z.useRef(fe);zV(pe,fe);let me=fe?`tanstack`:`none`,he=ed(e=>e.legendTimelineEnabled),ge=Z.useRef(null),_e=J(e=>{ge.current=e}),ve=Z.useRef(null),ye=J(e=>{ve.current=e}),be=Z.useMemo(()=>le.length>0?[...de,...le]:de,[de,le]),[xe,Se]=Z.useState(0),[Ce,we]=Z.useState(null),Te=MV(E,A),Ee=Qz(void 0,iB({scopeKey:Te,generation:xe,root:Ce,relevantKeys:Z.useMemo(()=>qz({entryKeys:be.map(e=>e.key),seedCount:IV(A)}),[Te,xe,be.length,be[be.length-1]?.key,A]),enabled:!1,initiallyRevealed:C})),De=J(e=>{s(e)}),Oe=J(e=>{s(e)}),ke=Z.useMemo(()=>n.filter(e=>HV(e)===`user`).map(e=>e.info.id),[n]),Ae=L.current,je=Ae.sessionKey!==e,Me=Ae.previousOrder;je&&(S&&Ae.sessionKey!==void 0&&jo(Ae.sessionKey),Ae.sessionKey=e,Ae.previousOrder=ke,Ae.animatedIds=new Set);let Ne=S?ao({sessionId:e,sessionChanged:je,previousUserOrder:Me,currentUserOrder:ke,animatedIds:Ae.animatedIds}):null;Ae.previousOrder=ke;let Pe=S?zB({sessionChanged:je,previousUserOrder:Me,currentUserOrder:ke,currentAnchorId:R,consumedSendMessageId:Ne}):null;S&&Pe!==R&&z(Pe),S&&(B.current=Pe);let Fe=J(e=>HV(e)===`user`&&L.current.animatedIds.has(e.info.id)),Ie=J(e=>{L.current.animatedIds.delete(e)}),Le=Z.useMemo(()=>{let e=new Map;return be.forEach((t,n)=>{if(t.kind===`ungrouped`){e.set(t.message.info.id,n);return}t.turn.userMessage&&e.set(t.turn.userMessage.info.id,n),t.turn.assistantMessages.forEach(t=>{e.set(t.info.id,n)})}),e},[be]),Re=Z.useMemo(()=>{let e=new Map;return be.forEach((t,n)=>{t.kind===`turn`&&e.set(t.turn.turnId,n)}),e},[be]),ze=J(e=>{let t=re();return t?t.querySelector(`[data-message-id="${e}"]`):null}),Be=J((e,t=`auto`)=>{if(e<0||e>=de.length)return!1;if(he){let n=ge.current;return n?(n.scrollToIndex({index:e,animated:t===`smooth`,viewOffset:0}),!0):!1}if(!fe)return!1;let n=ve.current;return n?(n.scrollToIndex(e,{align:`start`,behavior:t===`smooth`?`smooth`:`auto`}),!0):!1}),Ve=J((e,t=`auto`)=>{let n=re();if(!n)return!1;let r=ze(e);if(!r)return!1;let i=n.getBoundingClientRect(),a=r.getBoundingClientRect().top-i.top+n.scrollTop-50;return n.scrollTo({top:a,behavior:t}),!0});return Z.useEffect(()=>{if(!w)return;let e={scrollToTurnId:(e,t)=>{let n=t?.behavior??`auto`,r=Re.get(e);if(r===void 0)return!1;let i=re();if(!i)return!1;let a=i.querySelector(`[data-turn-id="${e}"]`);return a?(a.scrollIntoView({behavior:n,block:`start`}),!0):ue&&r>=de.length?!1:Be(r,n)},scrollToMessageId:(e,t)=>{let n=t?.behavior??`auto`,r=Le.get(e);return r===void 0?!1:Ve(e,n)||(ue&&r>=de.length?!1:Be(r,n))},holdViewportAnchor:e=>{let t=re();if(!t||typeof window>`u`)return;G();let n=0,r=0,i=!1,a=null,o=()=>{t.removeEventListener(`touchstart`,c),t.removeEventListener(`wheel`,c),t.removeEventListener(`keydown`,c),t.removeEventListener(`pointerdown`,c)},s=()=>{i||(i=!0,a!==null&&(window.cancelAnimationFrame(a),a=null),o(),W.current?.cancel===s&&(W.current=null))},c=()=>{s()};W.current={cancel:s},t.addEventListener(`touchstart`,c,{passive:!0}),t.addEventListener(`wheel`,c,{passive:!0}),t.addEventListener(`keydown`,c),t.addEventListener(`pointerdown`,c,{passive:!0});let l=()=>{if(i)return;let o=ze(e.messageId);if(o){let n=o.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(n)>.5?(t.scrollTop+=n,r=0):r+=1}if(n+=1,r>=SV||n>=CV){s();return}a=window.requestAnimationFrame(l)};a=window.requestAnimationFrame(l)},cancelViewportAnchorHold:G,isHistoryVirtualized:()=>he?!0:pe.current,captureViewportAnchor:()=>{let e=re();if(!e)return null;let t=e.getBoundingClientRect(),n=Array.from(e.querySelectorAll(`[data-message-id]`)),r=n.find(n=>n.getBoundingClientRect().bottom<=t.top+1?!1:typeof window>`u`||!qV(n,e,t.top))??n.find(e=>e.getBoundingClientRect().bottom>t.top+1);if(!r)return null;let i=r.dataset.messageId;return i?{messageId:i,offsetTop:r.getBoundingClientRect().top-t.top}:null},restoreViewportAnchor:e=>{let t=re();if(!t||!Le.has(e.messageId))return!1;let n=()=>{let n=ze(e.messageId);if(!n)return!1;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect().top-r.top-e.offsetTop;if(i!==0){let e=t.scrollTop+i,n=ve.current;if(fe&&n){if(n.options.count!==de.length)return!0;n.scrollToOffset(e,{behavior:`auto`})}else t.scrollTop=e}return!0};if(!n()){let t=Le.get(e.messageId);if(typeof t==`number`&&t<de.length)return Be(t,`auto`)}return n()},cancelScroll:()=>{G(),ve.current?.cancelScroll()},scrollToBottom:({behavior:e=`auto`,reveal:t=!0}={})=>{if(t&&Se(e=>e+1),he){let e=CB(re());return e===null?(ge.current?.scrollToEnd({animated:!1}),!0):(ge.current?.scrollToOffset({offset:e,animated:!1}),!0)}return fe&&de.length>0&&ve.current?(ve.current.scrollToEnd({behavior:e}),!0):!1}};if(typeof w==`function`)return w(e),()=>{w(null)};let t=w;return t.current=e,()=>{t.current=null}},[G,de.length,he,Le,fe,ue,Re,w]),he?(0,$.jsx)(lO.Provider,{value:D,children:(0,$.jsx)(uH,{historyEntries:de,tailEntries:le,timelineCacheKey:MV(E,A),directory:d,sessionId:T,scrollRef:u,registerList:_e,onHistoryContentChange:De,onTailContentChange:Oe,getAnimationHandlers:H,scrollToBottom:ee,stickyUserHeader:O,sessionIsWorking:r,activityRenderMode:A,turnUiStates:N,onToggleTurnGroup:U,chatRenderMode:k,showTurnChangedFiles:j,shouldAnimateUserMessage:Fe,onUserAnimationConsumed:Ie,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:M,header:f,footer:p,scrollClassName:h,scrollStyle:g,scrollDataset:_,onScroll:v,followEnabled:y,historyAnchorToken:b,pinRevealGeneration:xe,initialPinRevealComplete:C,onIsAtEndChange:x,anchoredUserMessageId:Pe,onAnchoredTurnParkReleased:V},E)}):(0,$.jsx)(lO.Provider,{value:D,children:(0,$.jsx)(`div`,{children:(0,$.jsx)(Fd,{disabled:!1,children:(0,$.jsxs)(`div`,{ref:we,className:`relative w-full`,style:Ee,children:[(0,$.jsx)(Fd,{disabled:fe,children:(0,$.jsx)(Mz,{enabled:!0,children:(0,$.jsx)(sH,{entries:de,historyAnchorToken:b,engine:me,contentRef:ne,scrollRef:u,registerTanstackVirtualizer:ye,virtualizerKey:E,onMessageContentChange:De,getAnimationHandlers:H,scrollToBottom:ee,stickyUserHeader:O,activityRenderMode:A,turnUiStates:N,onToggleTurnGroup:U,chatRenderMode:k,shouldAnimateUserMessage:Fe,onUserAnimationConsumed:Ie,reviewTransferDirection:M},E)})}),(0,$.jsx)(lH,{entries:le,directory:d,sessionId:T,onMessageContentChange:Oe,getAnimationHandlers:H,scrollToBottom:ee,stickyUserHeader:O,sessionIsWorking:r,activityRenderMode:A,turnUiStates:N,onToggleTurnGroup:U,chatRenderMode:k,showTurnChangedFiles:j,shouldAnimateUserMessage:Fe,onUserAnimationConsumed:Ie,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:M}),m]})})})})});dH.displayName=`MessageList`;var fH=Z.memo(dH);function pH(e){return e.isMobile}var mH=e=>{let t=(0,Q.c)(3),{content:n,html:r}=e,i;return t[0]!==n||t[1]!==r?(i=r===void 0?(0,$.jsx)(`span`,{className:`whitespace-pre-wrap break-all`,children:n}):(0,$.jsx)(`span`,{className:`whitespace-pre-wrap break-all`,dangerouslySetInnerHTML:{__html:r}}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},hH=({diff:e,filePath:t})=>{let{currentTheme:n}=is(),r=Z.useMemo(()=>Rd(n),[n]),i=Z.useMemo(()=>Qd(e),[e]),a=Cd(t||i[0]?.file)||`text`,o=Z.useMemo(()=>i.flatMap(e=>e.lines.map(e=>e.content)).join(`
|
|
6600
|
+
`),[i]),s=lf(o,a),c=0;return(0,$.jsx)(`div`,{className:`typography-code px-1 pb-1 pt-0 space-y-0`,style:r,children:i.map((e,n)=>(0,$.jsxs)(`div`,{className:`-mx-1 px-1 border-b border-border/20 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`bg-muted/20 px-2 py-1 typography-meta font-medium text-muted-foreground border-b border-border/10 break-words -mx-1`,children:`${e.file||t?.split(`/`).pop()||`file`} (line ${e.oldStart})`}),(0,$.jsx)(`div`,{children:e.lines.map((e,t)=>{let n=s?.[c];return c+=1,(0,$.jsxs)(`div`,{className:Y(`typography-code font-mono px-2 py-0.5 flex -mx-2`,e.type===`context`&&`bg-transparent`,e.type===`removed`&&`bg-transparent`,e.type===`added`&&`bg-transparent`),style:e.type===`removed`?{backgroundColor:`var(--tools-edit-removed-bg)`}:e.type===`added`?{backgroundColor:`var(--tools-edit-added-bg)`}:{},children:[(0,$.jsx)(`span`,{className:`w-10 flex-shrink-0 text-right pr-3 select-none border-r mr-3 -my-0.5 py-0.5`,style:{color:`var(--tools-edit-line-number)`,borderColor:`var(--tools-border)`},children:e.lineNumber||``}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,$.jsx)(mH,{content:e.content,html:n})})]},t)})})]},n))})},gH=e=>{let t=(0,Q.c)(21),{content:n,filePath:r}=e,{currentTheme:i}=is(),a;t[0]===i?a=t[1]:(a=Rd(i),t[0]=i,t[1]=a);let o=a,s;t[2]===n?s=t[3]:(s=n.split(`
|
|
6601
|
+
`),t[2]=n,t[3]=s);let c=s,l;t[4]===r?l=t[5]:(l=Cd(r??``)||`text`,t[4]=r,t[5]=l);let u=l,d;t[6]===r?d=t[7]:(d=r?.split(`/`).pop()||`New file`,t[6]=r,t[7]=d);let f=d,p=Math.max(c.length,1),m=p===1?`line 1`:`lines 1-${p}`,h=lf(n,u),g=o,_=`${f} (${m})`,v;t[8]===_?v=t[9]:(v=(0,$.jsx)(`div`,{className:`bg-muted/20 px-2 py-1 typography-meta font-medium text-muted-foreground border border-border/10 rounded-lg mb-1`,children:_}),t[8]=_,t[9]=v);let y;if(t[10]!==h||t[11]!==c){let e;t[13]===h?e=t[14]:(e=(e,t)=>(0,$.jsxs)(`div`,{className:`typography-code font-mono px-2 py-0.5 flex -mx-1`,children:[(0,$.jsx)(`span`,{className:`w-10 flex-shrink-0 text-right pr-3 select-none border-r mr-3 -my-0.5 py-0.5`,style:{color:`var(--tools-edit-line-number)`,borderColor:`var(--tools-border)`},children:t+1}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,$.jsx)(mH,{content:e||` `,html:h?.[t]})})]},t),t[13]=h,t[14]=e),y=c.map(e),t[10]=h,t[11]=c,t[12]=y}else y=t[12];let b;t[15]===y?b=t[16]:(b=(0,$.jsx)(`div`,{className:`space-y-0`,children:y}),t[15]=y,t[16]=b);let x;return t[17]!==g||t[18]!==v||t[19]!==b?(x=(0,$.jsxs)(`div`,{className:`w-full min-w-0`,style:g,children:[v,b]}),t[17]=g,t[18]=v,t[19]=b,t[20]=x):x=t[20],x},_H=new Set([`id`,`identifier`,`title`,`name`]),vH=e=>typeof e==`object`&&!!e&&!Array.isArray(e),yH=e=>e.replace(/([A-Z])/g,` $1`).replace(/[_-]/g,` `).replace(/^./,e=>e.toUpperCase()),bH=e=>{let t=typeof e.id==`string`?e.id:typeof e.identifier==`string`?e.identifier:``,n=typeof e.title==`string`?e.title:typeof e.name==`string`?e.name:``;return t&&n?`${t} · ${n}`:n||t||null},xH=e=>{try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}},SH=Z.memo(e=>{let t=(0,Q.c)(54),{value:n,label:r,depth:i}=e;if(Array.isArray(n)){let e;t[0]!==r||t[1]!==n.length?(e=r?`${yH(r)} (${n.length})`:`(${n.length})`,t[0]=r,t[1]=n.length,t[2]=e):e=t[2];let a=e,o=i<2,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3.5 w-3.5 shrink-0 transition-transform group-open/json-summary:rotate-90`}),t[3]=s):s=t[3];let c;t[4]===a?c=t[5]:(c=(0,$.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-1.5 py-1.5 typography-meta text-[var(--surface-foreground)] hover:text-[var(--surface-mutedForeground)]`,children:[s,(0,$.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:a})]}),t[4]=a,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-1 left-0 top-0 w-px bg-[var(--tools-border)] opacity-40`}),t[6]=l):l=t[6];let u;if(t[7]!==i||t[8]!==n){let e;t[10]===i?e=t[11]:(e=(e,t)=>(0,$.jsx)(SH,{value:e,depth:i+1},t),t[10]=i,t[11]=e),u=n.map(e),t[7]=i,t[8]=n,t[9]=u}else u=t[9];let d;t[12]===u?d=t[13]:(d=(0,$.jsxs)(`div`,{className:`relative ml-1 pl-3 pb-1`,children:[l,(0,$.jsx)(`div`,{className:`space-y-1`,children:u})]}),t[12]=u,t[13]=d);let f;return t[14]!==o||t[15]!==c||t[16]!==d?(f=(0,$.jsxs)(`details`,{open:o,className:`group/json-summary`,children:[c,d]}),t[14]=o,t[15]=c,t[16]=d,t[17]=f):f=t[17],f}if(vH(n)){let e;t[18]===n?e=t[19]:(e=bH(n),t[18]=n,t[19]=e);let a=e,o;t[20]===n?o=t[21]:(o=Object.entries(n).filter(wH),t[20]=n,t[21]=o);let s=o,c;t[22]!==a||t[23]!==r?(c=r?`${yH(r)}${a?` · ${a}`:``}`:a,t[22]=a,t[23]=r,t[24]=c):c=t[24];let l=c,u;t[25]!==i||t[26]!==s?(u=(0,$.jsx)(`div`,{className:`space-y-1`,children:s.map(e=>{let[t,n]=e;return(0,$.jsx)(SH,{label:t,value:n,depth:i+1},t)})}),t[25]=i,t[26]=s,t[27]=u):u=t[27];let d=u;if(!r&&i===0){let e;t[28]===a?e=t[29]:(e=a?(0,$.jsx)(`div`,{className:`typography-meta font-medium text-[var(--surface-foreground)]`,children:a}):null,t[28]=a,t[29]=e);let n;return t[30]!==d||t[31]!==e?(n=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[e,d]}),t[30]=d,t[31]=e,t[32]=n):n=t[32],n}let f=i<2,p;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3.5 w-3.5 shrink-0 transition-transform group-open/json-summary:rotate-90`}),t[33]=p):p=t[33];let m;t[34]!==r||t[35]!==l?(m=l??(r?yH(r):`{}`),t[34]=r,t[35]=l,t[36]=m):m=t[36];let h;t[37]===m?h=t[38]:(h=(0,$.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-1.5 py-1.5 typography-meta text-[var(--surface-foreground)] hover:text-[var(--surface-mutedForeground)]`,children:[p,(0,$.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:m})]}),t[37]=m,t[38]=h);let g;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-1 left-0 top-0 w-px bg-[var(--tools-border)] opacity-40`}),t[39]=g):g=t[39];let _;t[40]===d?_=t[41]:(_=(0,$.jsxs)(`div`,{className:`relative ml-1 pl-3 pb-1`,children:[g,d]}),t[40]=d,t[41]=_);let v;return t[42]!==_||t[43]!==f||t[44]!==h?(v=(0,$.jsxs)(`details`,{open:f,className:`group/json-summary`,children:[h,_]}),t[42]=_,t[43]=f,t[44]=h,t[45]=v):v=t[45],v}let a=n===null?`null`:typeof n==`boolean`?n?`true`:`false`:String(n),o;t[46]!==a||t[47]!==n?(o=typeof n==`string`&&xH(n)?(0,$.jsx)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,className:`truncate text-[var(--status-info)] underline underline-offset-2 hover:opacity-80`,title:n,children:n}):(0,$.jsx)(`span`,{className:Y(`min-w-0 break-words`,n===null?`text-[var(--surface-mutedForeground)]`:`text-[var(--surface-foreground)]`),children:a}),t[46]=a,t[47]=n,t[48]=o):o=t[48];let s=o,c;t[49]===r?c=t[50]:(c=r?(0,$.jsx)(`span`,{className:`truncate text-[var(--surface-mutedForeground)]`,title:r,children:yH(r)}):(0,$.jsx)(`span`,{}),t[49]=r,t[50]=c);let l;return t[51]!==s||t[52]!==c?(l=(0,$.jsxs)(`div`,{className:`grid grid-cols-[minmax(6rem,auto)_minmax(0,1fr)] gap-x-2 py-1 typography-meta`,children:[c,s]}),t[51]=s,t[52]=c,t[53]=l):l=t[53],l});SH.displayName=`JsonSummaryValue`;var CH=Z.memo(e=>{let t=(0,Q.c)(2),{data:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsx)(SH,{value:n,depth:0})}),t[0]=n,t[1]=r),r});CH.displayName=`JsonSummaryView`;function wH(e){let[t]=e;return!_H.has(t)}function TH(e){let t=(0,Q.c)(20),{header:n,children:r,footer:i,afterBody:a,mobile:o,questionCard:s,onInteraction:c}=e,l=o!==void 0&&o,u=s!==void 0&&s?``:void 0,d=l?`px-3 py-2`:`px-2 py-1.5`,f;t[0]===d?f=t[1]:(f=Y(`border-b border-border/20`,d),t[0]=d,t[1]=f);let p;t[2]!==n||t[3]!==f?(p=(0,$.jsx)(`div`,{className:f,children:n}),t[2]=n,t[3]=f,t[4]=p):p=t[4];let m=l?`px-3 py-3`:`px-2 py-2`,h;t[5]===m?h=t[6]:(h=Y(m),t[5]=m,t[6]=h);let g;t[7]!==r||t[8]!==h?(g=(0,$.jsx)(`div`,{className:h,children:r}),t[7]=r,t[8]=h,t[9]=g):g=t[9];let _;t[10]!==i||t[11]!==l?(_=i?(0,$.jsx)(`div`,{className:Y(`flex flex-wrap items-center gap-1.5 border-t border-border/20`,l?`px-3 py-2`:`px-2 pb-1.5 pt-1`),children:i}):null,t[10]=i,t[11]=l,t[12]=_):_=t[12];let v;return t[13]!==a||t[14]!==c||t[15]!==_||t[16]!==u||t[17]!==p||t[18]!==g?(v=(0,$.jsx)(`div`,{className:`group w-full pt-0 pb-2`,children:(0,$.jsx)(`div`,{className:`chat-column`,children:(0,$.jsxs)(`div`,{"data-interaction-card":!0,"data-question-card":u,className:`-mt-1 overflow-hidden rounded-xl border border-border/30 bg-muted/10`,onClickCapture:c,onKeyDownCapture:c,onInputCapture:c,onPasteCapture:c,onCompositionStartCapture:c,children:[p,g,a,_]})})}),t[13]=a,t[14]=c,t[15]=_,t[16]=u,t[17]=p,t[18]=g,t[19]=v):v=t[19],v}var EH={margin:0,padding:`0.5rem`,fontSize:`var(--text-meta)`,lineHeight:`1.25rem`,background:`rgb(var(--muted) / 0.3)`,borderRadius:`0.25rem`,whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflowWrap:`break-word`,overflow:`visible`},DH={style:{whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflowWrap:`break-word`}},OH=e=>{let t=`h-3 w-3`,n=e.toLowerCase();return n===`edit`||n===`multiedit`||n===`str_replace`||n===`str_replace_based_edit_tool`?(0,$.jsx)(X,{name:`pencil-ai`,className:t}):n===`write`||n===`create`||n===`file_write`?(0,$.jsx)(X,{name:`file-edit`,className:t}):n===`bash`||n===`shell`||n===`cmd`||n===`terminal`||n===`shell_command`?(0,$.jsx)(X,{name:`terminal-box`,className:t}):n===`webfetch`||n===`fetch`||n===`curl`||n===`wget`?(0,$.jsx)(X,{name:`global`,className:t}):(0,$.jsx)(X,{name:`tools`,className:t})},kH=e=>{let t=e.toLowerCase();return t===`edit`||t===`multiedit`||t===`str_replace`||t===`str_replace_based_edit_tool`?`edit`:t===`write`||t===`create`||t===`file_write`?`write`:t===`bash`||t===`shell`||t===`cmd`||t===`terminal`||t===`shell_command`?`bash`:t===`webfetch`||t===`fetch`||t===`curl`||t===`wget`?`webfetch`:e},AH=e=>e===`filepath`||e===`file_path`?`filePath`:e===`parentDir`||e===`parent_dir`?`parentDirectory`:e,jH=e=>{let t=(0,Q.c)(2),{data:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`rounded-lg border border-border/20 bg-muted/15 px-2 py-1 sm:px-2.5 sm:py-1.5 [&_.typography-meta]:!text-xs [&_summary]:py-1`,children:(0,$.jsx)(CH,{data:n})}),t[0]=n,t[1]=r),r},MH=({permission:e,onResponse:t})=>{let{t:n}=Kn(),r=q(e=>e.isMobile),[i,a]=Z.useState(!1),[o,s]=Z.useState(!1),c=lo,l=Ko(),u=ma(e=>e.currentSessionId),d=Z.useMemo(()=>{if(!u||e.sessionID===u)return!1;let t=l.find(t=>t.id===e.sessionID);return!!(t?.parentID&&t.parentID===u)},[e.sessionID,u,l]),f=async n=>{a(!0);try{await c(e.sessionID,e.id,n),s(!0),t?.(n)}catch(e){console.error(`[PermissionCard] Failed to respond to permission:`,e)}finally{a(!1)}};if(o)return null;let p=e.permission||`unknown`,m=p.toLowerCase(),h=(t,n=``)=>{let r=e.metadata[t];return typeof r==`string`?r:typeof r==`number`?String(r):n},g=t=>{let n=e.metadata[t];return typeof n==`number`?n:void 0},_=t=>!!e.metadata[t],v=kH(p),y=Object.fromEntries(Object.entries(e.metadata).filter(([e])=>e!==`always`).map(([e,t])=>[AH(e),t]));return(0,$.jsx)(TH,{mobile:r,header:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 sm:gap-2`,children:[(0,$.jsx)(X,{name:`question`,className:`h-3.5 w-3.5 text-[var(--status-warning)]`}),(0,$.jsx)(`span`,{className:`truncate text-xs leading-4 sm:text-[length:var(--text-meta)] font-medium text-muted-foreground`,children:n(`sessions.sidebar.session.status.permissionRequired`)}),d?(0,$.jsx)(`span`,{className:`hidden sm:inline typography-micro text-muted-foreground px-1.5 py-0.5 rounded bg-foreground/5`,children:n(`chat.questionCard.fromSubagent`)}):null]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 max-w-[48%] items-center gap-1.5`,children:[OH(p),(0,$.jsx)(`span`,{className:`truncate text-xs leading-4 sm:text-[length:var(--text-meta)] text-muted-foreground font-medium`,children:v})]})]}),footer:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`grid w-full grid-cols-1 gap-1.5 sm:flex sm:items-center sm:flex-wrap`,children:[(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>f(`once`),disabled:i,className:`min-h-9 min-w-0 w-full gap-1.5 px-2 !text-xs leading-4 text-foreground sm:w-auto`,children:[(0,$.jsx)(X,{name:`check`,className:`size-3.5 shrink-0 text-[var(--status-success)] sm:size-3`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`chat.permissionCard.allowOnce`)})]}),(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>f(`always`),disabled:i,className:`min-h-9 min-w-0 w-full gap-1.5 px-2 !text-xs leading-4 text-foreground sm:w-auto`,children:[(0,$.jsx)(X,{name:`arrow-right`,className:`size-3.5 shrink-0 text-[var(--status-success)] sm:size-3`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`chat.permissionCard.alwaysAgree`)})]}),(0,$.jsxs)(Xn,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>f(`reject`),disabled:i,className:`min-h-9 min-w-0 w-full gap-1.5 px-2 !text-xs leading-4 text-[var(--status-error)] sm:w-auto`,children:[(0,$.jsx)(X,{name:`close`,className:`size-3.5 shrink-0 sm:size-3`}),(0,$.jsx)(`span`,{className:`truncate`,children:n(`chat.permissionToast.actions.deny`)})]})]}),i?(0,$.jsx)(`div`,{className:`flex justify-center w-full py-1 sm:w-auto sm:ml-auto typography-meta text-muted-foreground`,children:(0,$.jsx)(`div`,{className:`animate-spin h-3 w-3 border border-primary border-t-transparent rounded-full`})}):null]}),children:(0,$.jsxs)(`div`,{className:`[&_.typography-meta]:!text-xs [&_.typography-micro]:!text-[0.6875rem]`,children:[e.patterns.length>0&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:n(`chat.permissionCard.patterns`)}),(0,$.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border/20 bg-muted/15`,children:e.patterns.map((e,t)=>(0,$.jsx)(`code`,{className:Y(`block break-all px-2 py-1.5 text-xs leading-4 sm:text-[length:var(--text-meta)]`,t>0&&`border-t border-border/15`),children:e},`${e}-${t}`))})]}),(()=>{if(m===`bash`||m===`shell`||m===`shell_command`){let e=h(`command`)||h(`cmd`)||h(`script`),t=h(`description`),r=h(`cwd`)||h(`working_directory`)||h(`directory`)||h(`path`),i=g(`timeout`);return(0,$.jsxs)($.Fragment,{children:[t&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:t}),r&&(0,$.jsxs)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:[(0,$.jsx)(`span`,{className:`font-semibold`,children:n(`chat.permissionCard.workingDirectory`)}),` `,(0,$.jsx)(`code`,{className:`px-1 py-0.5 bg-muted/30 rounded`,children:r})]}),i&&(0,$.jsxs)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:[(0,$.jsx)(`span`,{className:`font-semibold`,children:n(`chat.permissionCard.timeout`)}),` `,i,`ms`]}),e&&(0,$.jsx)(`div`,{children:(0,$.jsx)($d,{language:`bash`,code:e,style:EH,codeStyle:DH.style,wrap:!0})})]})}if(m===`edit`||m===`multiedit`||m===`str_replace`||m===`str_replace_based_edit_tool`){let e=h(`path`)||h(`file_path`)||h(`filename`)||h(`filePath`),t=h(`changes`)||h(`diff`),r=_(`replace_all`)||_(`replaceAll`);return(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:(0,$.jsxs)(`span`,{className:`font-semibold`,children:[`⚠️ `,n(`chat.permissionCard.replaceAll`)]})}),t&&(0,$.jsx)(gl,{outerClassName:`max-h-[60vh]`,className:`tool-output-surface p-1 rounded-xl border border-border/20 bg-transparent`,children:(0,$.jsx)(hH,{diff:t,filePath:e})})]})}if(m===`write`||m===`create`||m===`file_write`){let e=h(`path`)||h(`file_path`)||h(`filename`)||h(`filePath`),t=h(`content`)||h(`text`)||h(`data`);return t?(0,$.jsx)(gl,{outerClassName:`max-h-[60vh]`,className:`tool-output-surface p-1 rounded-xl border border-border/20 bg-transparent`,children:(0,$.jsx)(gH,{content:t,filePath:e})}):null}if(m===`webfetch`||m===`fetch`||m===`curl`||m===`wget`){let t=h(`url`)||h(`uri`)||h(`endpoint`),r=h(`method`)||`GET`,i=e.metadata.headers&&typeof e.metadata.headers==`object`?e.metadata.headers:void 0,a=e.metadata.body??e.metadata.data??e.metadata.payload,o=g(`timeout`),s=h(`format`)||h(`responseType`);return(0,$.jsxs)($.Fragment,{children:[t&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-1`,children:n(`chat.permissionCard.request`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold px-1.5 py-0.5 bg-primary/20 text-primary rounded`,children:r}),(0,$.jsx)(`code`,{className:`typography-meta px-2 py-1 bg-muted/30 rounded flex-1 break-all`,children:t})]})]}),i&&Object.keys(i).length>0&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-1`,children:n(`chat.permissionCard.headers`)}),(0,$.jsx)(gl,{outerClassName:`max-h-32`,className:`p-0`,children:(0,$.jsx)(jH,{data:i})})]}),a&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mb-1`,children:n(`chat.permissionCard.body`)}),(0,$.jsx)(gl,{outerClassName:`max-h-32`,className:`p-0`,children:typeof a==`object`&&a?(0,$.jsx)(jH,{data:a}):(0,$.jsx)(`pre`,{className:`typography-meta font-mono px-2 py-1.5 bg-muted/20 border border-border/20 rounded-lg whitespace-pre-wrap break-all`,children:String(a)})})]}),(o||s)&&(0,$.jsxs)(`div`,{className:`typography-micro text-muted-foreground`,children:[o&&(0,$.jsxs)(`span`,{children:[n(`chat.permissionCard.timeout`),` `,o,`ms`]}),o&&s&&(0,$.jsx)(`span`,{children:` • `}),s&&(0,$.jsxs)(`span`,{children:[n(`chat.permissionCard.responseFormat`),` `,s]})]})]})}return Object.keys(y).length===0?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:n(`chat.permissionCard.details`)}),(0,$.jsx)(gl,{outerClassName:`max-h-48`,className:`p-0`,children:(0,$.jsx)(jH,{data:y})})]})})()]})})};function NH(e){let t=[];return(e.questions??[]).forEach((e,n)=>{let r=e.header?.trim(),i=r&&r.length>0?r:`Question ${n+1}`;t.push(`## ${i}`),t.push(``),t.push(e.question),t.push(``),e.multiple&&(t.push(`_Select all that apply._`),t.push(``)),e.options.forEach(e=>{let n=e.label,r=e.description?.trim();t.push(r?`- **${n}** — ${r}`:`- **${n}**`)}),t.push(``)}),t.join(`
|
|
6602
|
+
`).trimEnd()}function PH(e){let t={questions:(e.questions??[]).map(e=>({header:e.header??null,question:e.question,multiple:!!e.multiple,options:e.options.map(e=>({label:e.label,description:e.description??null}))}))};return JSON.stringify(t,null,2)}var FH=200;function IH(e){return Math.min(Math.max(e,40),FH)}var LH=`summary`,RH=Z.memo(function(e){let t=(0,Q.c)(27),{value:n,placeholder:r,disabled:i,onValueChange:a,onKeyDown:o}=e,s=Z.useRef(null),[c,l]=Z.useState(n),[u,d]=Z.useState(40),[f,p]=Z.useState(!1),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{let e=s.current;if(!e||document.activeElement!==e)return;let t=e.closest(`.chat-scroll`);if(!t){e.scrollIntoView({block:`nearest`});return}let n=window.visualViewport,r=t.getBoundingClientRect(),i=n?.offsetTop??0,a=n?n.offsetTop+n.height:document.documentElement.clientHeight,o=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(`--oc-kb-scroll-inset`))||0,c=Math.max(r.top,i),l=Math.min(r.bottom,a-o),u=Math.max(0,l-c),d=e.closest(`[data-question-card]`),f=d?.getBoundingClientRect(),p=(d&&f&&f.height<=u?d:e).getBoundingClientRect();p.bottom>l-12?t.scrollTop+=p.bottom-l+12:p.top<c+12&&(t.scrollTop+=p.top-c-12)},t[0]=m):m=t[0];let h=J(m),g;t[1]===h?g=t[2]:(g=()=>{requestAnimationFrame(h)},t[1]=h,t[2]=g);let _=J(g),v;t[3]===h?v=t[4]:(v=()=>{let e=()=>requestAnimationFrame(h);return e(),window.addEventListener(`oc:keyboard-settled`,e),window.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`scroll`,e),()=>{window.removeEventListener(`oc:keyboard-settled`,e),window.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`scroll`,e)}},t[3]=h,t[4]=v);let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],t[5]=y):y=t[5],Z.useEffect(v,y);let b,x;t[6]===n?(b=t[7],x=t[8]):(b=()=>{l(n)},x=[n],t[6]=n,t[7]=b,t[8]=x),Z.useEffect(b,x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>{let e=s.current;if(!e)return;e.style.height=`auto`,e.style.overflowY=`hidden`;let t=e.scrollHeight,n=IH(t),r=t>n;e.style.height=`${n}px`,e.style.overflowY=``,d(e=>e===n?e:n),p(e=>e===r?e:r)},t[9]=S):S=t[9];let C;t[10]===c?C=t[11]:(C=[c],t[10]=c,t[11]=C),Z.useLayoutEffect(S,C);let w;t[12]===a?w=t[13]:(w=e=>{let t=e.target.value;l(t),a(t)},t[12]=a,t[13]=w);let T;t[14]===u?T=t[15]:(T={height:u},t[14]=u,t[15]=T);let E=f?`overflow-y-auto`:`overflow-hidden`,D;t[16]===E?D=t[17]:(D=Y(`w-full bg-transparent border border-border/30 focus:border-primary rounded px-2 py-1 outline-none typography-meta text-foreground placeholder:text-muted-foreground/50 transition-colors resize-none`,E),t[16]=E,t[17]=D);let O;return t[18]!==i||t[19]!==_||t[20]!==c||t[21]!==o||t[22]!==r||t[23]!==T||t[24]!==D||t[25]!==w?(O=(0,$.jsx)(`textarea`,{ref:s,value:c,onChange:w,placeholder:r,disabled:i,rows:2,onKeyDown:o,onFocus:_,style:T,className:D,autoFocus:!0}),t[18]=i,t[19]=_,t[20]=c,t[21]=o,t[22]=r,t[23]=T,t[24]=D,t[25]=w,t[26]=O):O=t[26],O}),zH=({question:e})=>{let{t}=Kn(),n=bi(e),r=Oo,i=oo,a=q(e=>e.isMobile),o=Ko(),s=ma(e=>e.currentSessionId),c=Z.useMemo(()=>{if(!s||e.sessionID===s)return!1;let t=o.find(t=>t.id===e.sessionID);return!!(t?.parentID&&t.parentID===s)},[e.sessionID,s,o]),l=n.scope,u=Ai(e=>e.drafts[l]?.activeTab??`0`),d=e=>Ir(l,()=>({activeTab:e})),[f,p]=Z.useState(!1),m=f||n.claimed||n.request?.state===`submitting`||n.request?.state===`uncertain`||n.request?.state===`settled`,[h,g]=Z.useState(!1),_=Ai(e=>Ii(e,l).selectedOptions),v=Ai(e=>Ii(e,l).customMode),y=Ai(e=>Ii(e,l).customTextFilled),b=Z.useMemo(()=>e.questions??[],[e.questions]),x=u===LH,S=x?-1:Math.max(0,Math.min(b.length-1,Number(u)||0)),C=x?null:b[S],w=Z.useMemo(()=>{if(x)return null;let e=C?.header?.trim();return e&&e.length>0?e:null},[C?.header,x]);Z.useEffect(()=>{g(!1)},[l]);let T=Z.useMemo(()=>{let e=b.map((e,t)=>({value:String(t),label:e.header?.trim()||`Q${t+1}`}));return b.length>1&&e.push({value:LH,label:t(`chat.questionCard.summaryTab`)}),e},[b,t]),E=e=>{if(v[e])return(dr(l).customText[e]??``).trim()||t(`chat.questionCard.noAnswer`);let n=_[e]??[];return n.length>0?n.join(`, `):t(`chat.questionCard.noAnswer`)},D=!!C?.multiple,O=_[S]??[],k=!!v[S],A=Z.useMemo(()=>{let e=[];for(let t=0;t<b.length;t+=1){if(v[t]){y[t]||e.push(t);continue}(_[t]??[]).length===0&&e.push(t)}return e},[v,y,b.length,_]),j=Z.useMemo(()=>b.length!==0&&A.length===0,[b.length,A.length]),M=J(()=>{if(b.length===0||A.length===0)return;let e=x?-1:S;for(let t=1;t<=b.length;t+=1){let n=(e+t+b.length)%b.length;if(A.includes(n)){d(String(n));return}}d(String(A[0]))}),N=()=>{let e=[];for(let t=0;t<b.length;t+=1){if(v[t]){let n=(dr(l).customText[t]??``).trim();e.push(n?[n]:[]);continue}e.push(_[t]??[])}return e},P=J(e=>{C&&Ir(l,t=>{let n=t.selectedOptions[S]??[],r=D?n.includes(e)?n.filter(t=>t!==e):[...n,e]:[e];return{selectedOptions:{...t.selectedOptions,[S]:r},customMode:{...t.customMode,[S]:!1},customTextFilled:t.customTextFilled[S]?{...t.customTextFilled,[S]:!1}:t.customTextFilled}})}),F=J(()=>{Ir(l,e=>({customMode:{...e.customMode,[S]:!0},selectedOptions:{...e.selectedOptions,[S]:[]},customTextFilled:{...e.customTextFilled,[S]:(e.customText[S]??``).trim().length>0}}))}),I=J(e=>{let t=e.trim().length>0;Ir(l,n=>({customText:{...n.customText,[S]:e},customTextFilled:n.customTextFilled[S]===t?n.customTextFilled:{...n.customTextFilled,[S]:t}}))}),L=J(async()=>{if(!j||m)return;let i=n.scope;p(!0);try{let t=N();await r(e.sessionID,e.id,t,n.request?.directory),Zo(i),g(!0)}catch(e){Ra(e)?await n.submissionClaimed(i):So(e)?(Zo(i),mi.info(t(`chat.questionCard.noLongerPending`)),g(!0)):mi.error(t(`chat.questionCard.submitFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{p(!1)}}),R=J(e=>{xl(e)||e.key===`Enter`&&!e.shiftKey&&(!a||e.ctrlKey||e.metaKey)&&(e.preventDefault(),j?L():M())}),z=J(async()=>{if(m)return;let r=n.scope;p(!0);try{await i(e.sessionID,e.id,n.request?.directory),Zo(r),g(!0)}catch(e){Ra(e)?await n.submissionClaimed(r):So(e)?(Zo(r),mi.info(t(`chat.questionCard.noLongerPending`)),g(!0)):mi.error(t(`chat.questionCard.dismissFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{p(!1)}}),B=J(async()=>{let n=NH(e);if((await Gn(n)).ok){mi.success(t(`chat.questionCard.copiedMarkdown`));return}mi.error(t(`chat.questionCard.copyFailed`))}),V=J(async()=>{let n=PH(e);if((await Gn(n)).ok){mi.success(t(`chat.questionCard.copiedJson`));return}mi.error(t(`chat.questionCard.copyFailed`))});return h||b.length===0?null:(0,$.jsxs)(TH,{mobile:a,questionCard:!0,header:(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 items-center gap-2`,a&&`flex-wrap`),children:[(0,$.jsx)(X,{name:`question`,className:`h-3.5 w-3.5 text-primary`}),(0,$.jsx)(`span`,{className:`min-w-0 typography-meta font-medium text-muted-foreground`,children:t(`chat.questionCard.inputNeeded`)}),c?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground px-1.5 py-0.5 rounded bg-foreground/5`,children:t(`chat.questionCard.fromSubagent`)}):null,w?(0,$.jsx)(`span`,{className:`ml-auto min-w-0 truncate typography-micro font-medium text-foreground/70 px-1.5 py-0.5 rounded bg-muted/30 border border-border/20`,children:w}):null,(0,$.jsxs)(`div`,{className:Y(`flex items-center gap-0.5`,w?null:`ml-auto`),children:[(0,$.jsx)(`button`,{type:`button`,onClick:B,title:t(`chat.questionCard.copyMarkdown`),"aria-label":t(`chat.questionCard.copyMarkdown`),className:`flex items-center justify-center h-5 w-5 rounded text-muted-foreground hover:text-foreground hover:bg-interactive-hover/30 transition-colors`,children:(0,$.jsx)(X,{name:`file-text`,className:`h-3 w-3`})}),(0,$.jsx)(`button`,{type:`button`,onClick:V,title:t(`chat.questionCard.copyJson`),"aria-label":t(`chat.questionCard.copyJson`),className:`flex items-center justify-center h-5 w-5 rounded text-muted-foreground hover:text-foreground hover:bg-interactive-hover/30 transition-colors`,children:(0,$.jsx)(X,{name:`code-box`,className:`h-3 w-3`})})]})]}),onInteraction:n.interaction,afterBody:(0,$.jsx)(Zr,{delegation:n}),footer:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:j?L:M,disabled:m,className:Y(`flex min-h-9 items-center gap-1 px-2 py-1 typography-meta font-medium rounded transition-colors`,`bg-[rgb(var(--status-success)/0.1)] text-[var(--status-success)] hover:bg-[rgb(var(--status-success)/0.2)]`,`disabled:opacity-50 disabled:cursor-not-allowed`),children:[j?(0,$.jsx)(X,{name:`check`,className:`h-3 w-3`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3`}),t(j?`chat.questionCard.submit`:`chat.questionCard.next`)]}),(0,$.jsxs)(`button`,{type:`button`,onClick:z,disabled:m,className:Y(`flex min-h-9 items-center gap-1 px-2 py-1 typography-meta font-medium rounded transition-colors`,`bg-[rgb(var(--status-error)/0.1)] text-[var(--status-error)] hover:bg-[rgb(var(--status-error)/0.2)]`,`disabled:opacity-50 disabled:cursor-not-allowed`),children:[(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`}),t(`chat.questionCard.dismiss`)]}),m?(0,$.jsx)(`div`,{className:`ml-auto`,children:(0,$.jsx)(`div`,{className:`animate-spin h-3 w-3 border border-primary border-t-transparent rounded-full`})}):null]}),children:[T.length>1?(0,$.jsx)(`div`,{className:`flex items-center gap-1 mb-2 flex-wrap`,children:T.map(e=>{let t=u===e.value,n=e.value===LH,r=n?-1:Number(e.value),i=!n&&Number.isFinite(r)&&!A.includes(r);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>d(e.value),className:Y(`px-2 py-0.5 typography-meta font-medium rounded transition-colors flex items-center gap-1`,t?`bg-interactive-selection/40 text-foreground`:n?`text-muted-foreground hover:text-foreground hover:bg-interactive-hover/20`:i?`text-muted-foreground/60 hover:text-muted-foreground hover:bg-interactive-hover/20`:`text-foreground/85 hover:text-foreground hover:bg-interactive-hover/20`),children:[n?(0,$.jsx)(X,{name:`list-check-3`,className:`h-3 w-3`}):null,e.label]},e.value)})}):null,x?(0,$.jsx)(`div`,{className:`space-y-2`,children:b.map((e,n)=>{let r=E(n),i=r!==t(`chat.questionCard.noAnswer`);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>d(String(n)),className:`w-full text-left rounded px-1.5 py-1 hover:bg-interactive-hover/20 transition-colors`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:e.header||t(`chat.questionCard.questionFallback`,{index:n+1})}),(0,$.jsx)(`div`,{className:Y(`typography-meta`,i?`text-foreground`:`text-muted-foreground/50 italic`),children:r})]},n)})}):C?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-foreground mb-1.5`,children:C.question}),D?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1.5`,children:t(`chat.questionCard.selectMultiple`)}):null,(0,$.jsxs)(`div`,{className:Y(`space-y-0.5`,a&&`space-y-1`),children:[C.options.map((e,n)=>{let r=O.includes(e.label),i=/\(recommended\)/i.test(e.label);return(0,$.jsx)(`button`,{type:`button`,onClick:()=>P(e.label),disabled:m,"aria-pressed":r,className:Y(`w-full min-h-9 px-2 py-1.5 text-left rounded transition-colors`,`hover:bg-interactive-hover/30`,r?`bg-interactive-selection/20`:null,m?`opacity-60 cursor-not-allowed`:null),children:(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(`div`,{className:`mt-0.5 shrink-0`,"aria-hidden":`true`,children:D?(0,$.jsx)(`span`,{className:Y(`flex size-4 items-center justify-center rounded border`,r?`border-primary bg-primary text-primary-foreground`:`border-border bg-background`),children:r?(0,$.jsx)(X,{name:`check`,className:`size-3`}):null}):(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center rounded-full border border-border bg-background`,children:r?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-primary`}):null})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:Y(`typography-meta break-all`,r?`text-foreground font-medium`:`text-foreground/80`),children:e.label}),i?(0,$.jsx)(`span`,{className:`typography-micro text-primary/80`,children:t(`chat.questionCard.recommended`)}):null]}),e.description?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground break-words`,children:e.description}):null]})]})},`${n}:${e.label}`)}),(0,$.jsx)(`button`,{type:`button`,onClick:F,disabled:m,"aria-pressed":k,className:Y(`w-full min-h-9 px-2 py-1.5 text-left rounded transition-colors`,`hover:bg-interactive-hover/30`,k?`bg-interactive-selection/20`:null,m?`opacity-60 cursor-not-allowed`:null),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`edit`,className:Y(`h-3.5 w-3.5`,k?`text-primary`:`text-muted-foreground/50`)}),(0,$.jsx)(`span`,{className:Y(`typography-meta`,k?`text-foreground font-medium`:`text-muted-foreground`),children:t(`chat.questionCard.other`)})]})}),k?(0,$.jsx)(`div`,{className:`pl-6 pr-1 pt-0.5`,children:(0,$.jsx)(RH,{value:dr(l).customText[S]??``,onValueChange:I,placeholder:t(`chat.questionCard.yourAnswer`),disabled:m,onKeyDown:R})}):null]})]}):null]})};function BH(e){if(e.type!==`external`)return e.type===`multiselect`?e.default??[]:e.type===`boolean`?e.default??!1:e.type===`number`||e.type===`integer`?e.default:e.default??(e.type===`string`?e.options?.[0]?.value:void 0)??``}var VH=({form:e,directory:t})=>{let{t:n}=Kn(),r=q(e=>e.isMobile),[i,a]=Z.useState(!1),[o,s]=Z.useState(null),[c,l]=Z.useState(()=>{let t={};for(let n of e.fields){let e=BH(n);e!==void 0&&(t[n.key]=e)}return t}),u=(e,t)=>{l(n=>({...n,[e]:t}))},d=J(async()=>{if(!i){s(null),a(!0);try{await Ya({sessionID:e.sessionID,formID:e.id,answer:c,directory:t}),yr.getState().remove(e.sessionID,e.id)}catch{s(`reply`)}finally{a(!1)}}}),f=J(async()=>{if(!i){s(null),a(!0);try{await li({sessionID:e.sessionID,formID:e.id,directory:t}),yr.getState().remove(e.sessionID,e.id)}catch{s(`cancel`)}finally{a(!1)}}});return(0,$.jsxs)(TH,{mobile:r,header:(0,$.jsx)(`div`,{className:`typography-meta font-medium text-muted-foreground`,children:e.title||n(`chat.form.title`)}),footer:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Xn,{type:`button`,variant:`default`,size:`sm`,onClick:()=>void d(),disabled:i,children:n(`chat.form.reply`)}),(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void f(),disabled:i,children:n(`chat.form.cancel`)})]}),children:[(0,$.jsx)(`div`,{className:`space-y-2`,children:e.fields.map(e=>{if(e.type===`external`)return(0,$.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,className:`block typography-meta text-primary underline`,children:e.title||e.url},e.key);if(e.type===`boolean`)return(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta`,children:[(0,$.jsx)(_s,{checked:!!c[e.key],onChange:t=>u(e.key,t),disabled:i}),(0,$.jsx)(`span`,{children:e.title||e.key})]},e.key);if(e.type===`multiselect`){let t=Array.isArray(c[e.key])?c[e.key]:[];return(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e.title||e.key}),e.options.map(n=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta`,children:[(0,$.jsx)(_s,{checked:t.includes(n.value),onChange:r=>{let i=r?[...t,n.value]:t.filter(e=>e!==n.value);u(e.key,i)},disabled:i}),(0,$.jsx)(`span`,{children:n.label})]},n.value))]},e.key)}if(e.type===`number`||e.type===`integer`)return(0,$.jsxs)(`label`,{className:`block space-y-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.title||e.key}),(0,$.jsx)(Rs,{type:`number`,value:typeof c[e.key]==`number`?String(c[e.key]):``,onChange:t=>u(e.key,t.target.value===``?``:Number(t.target.value)),disabled:i})]},e.key);let t=e.type===`string`?e.options:void 0;return t&&t.length>0?(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.title||e.key}),e.description?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e.description}):null,(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,role:`group`,"aria-label":e.title||e.key,children:t.map(t=>(0,$.jsx)(Xn,{type:`button`,variant:`chip`,size:`sm`,"aria-pressed":c[e.key]===t.value,disabled:i,onClick:()=>u(e.key,t.value),children:t.label},t.value))}),e.type===`string`&&e.custom?(0,$.jsx)(Rs,{"aria-label":e.title||e.key,value:typeof c[e.key]==`string`?c[e.key]:``,disabled:i,onChange:t=>u(e.key,t.target.value)}):null]},e.key):(0,$.jsxs)(`label`,{className:`block space-y-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.title||e.key}),(0,$.jsx)(Rs,{value:typeof c[e.key]==`string`?c[e.key]:``,placeholder:e.type===`string`?e.placeholder:void 0,onChange:t=>u(e.key,t.target.value),disabled:i})]},e.key)})}),o?(0,$.jsx)(`div`,{role:`alert`,className:`mt-2 typography-meta text-[var(--status-error)]`,children:n(o===`reply`?`chat.questionCard.submitFailed`:`chat.questionCard.dismissFailed`)}):null]})};function HH(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function UH(e){return typeof e==`string`&&e.length>0?e:void 0}function WH(e){if(!HH(e))return null;let t=UH(e.reason),n=UH(e.provider),r=UH(e.title),i=UH(e.message),a=UH(e.label);return!t||!n||!r||!i||!a?null:{reason:t,provider:n,title:r,message:i,label:a,...UH(e.link)?{link:UH(e.link)}:{}}}function GH(e){return!HH(e)||e.type!==`retry`?!1:WH(e.action)!==null}function KH(e,t){if(!GH(e))return null;let n=e.action,r=n.reason===`account_rate_limit`?t(`chat.retry.action.account`):t(`chat.retry.action.quota`);return{title:n.title||r,message:n.message||e.message||r,label:n.label||t(`chat.retry.action.open`),...n.link?{link:n.link}:{}}}function qH(e){return e.filter(e=>e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
|
|
6603
|
+
`)}function JH(e,t=80){let n=qH(e).replace(/\n/g,` `);return n.length>t?`${n.slice(0,t)}…`:n}var YH=new Set;function XH(e,t){let n=(0,Q.c)(4),[r,i]=Z.useState(YH),a,o;return n[0]!==e||n[1]!==t?(a=()=>{let n=e?.current;if(i(YH),!n||!t||typeof IntersectionObserver>`u`)return;let r=new Map,a=new Set,o=()=>{let e=new Set;for(let t of a){let n=r.get(t);n&&e.add(n)}i(t=>t.size===e.size&&[...e].every(e=>t.has(e))?t:e)},s=new IntersectionObserver(e=>{for(let t of e)r.has(t.target)&&(t.isIntersecting&&t.intersectionRect.height>0?a.add(t.target):a.delete(t.target));o()},{root:n,threshold:0}),c=ZH,l=e=>{if(r.has(e))return;let n=e.dataset.scrollSpyId??e.dataset.turnId??e.dataset.messageId,i=n?t.get(n):void 0;i&&(r.set(e,i),s.observe(e))},u=e=>{s.unobserve(e),r.delete(e),a.delete(e)};c(n,l);let d=new MutationObserver(e=>{for(let t of e){if(t.type===`attributes`&&t.target instanceof HTMLElement){u(t.target),l(t.target);continue}t.removedNodes.forEach(e=>c(e,u)),t.addedNodes.forEach(e=>c(e,l))}o()});return d.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-turn-id`,`data-message-id`,`data-scroll-spy-id`]}),()=>{d.disconnect(),s.disconnect()}},o=[e,t],n[0]=e,n[1]=t,n[2]=a,n[3]=o):(a=n[2],o=n[3]),Z.useEffect(a,o),r}function ZH(e,t){e instanceof HTMLElement&&(e.matches(`[data-turn-id], [data-message-id]`)&&t(e),e.querySelectorAll(`[data-turn-id], [data-message-id]`).forEach(t))}var QH=160,$H=28,eU=12,tU=6,nU=30,rU=12,iU=18,aU=80,oU=4,sU=10,cU=14,lU=20,uU=48,dU=160,fU=(e,t)=>e.map(e=>{let n=t.get(e)??[],r=qH(n),i=B_(r,{citationIcons:K_(n)}),a=[],o=0;for(let e of i)a.push(r.slice(o,e.start)),o=e.end;a.push(r.slice(o));let s=a.join(` `).replace(/\s+/g,` `).trim();return{turnId:e,preview:s.length>QH?`${s.slice(0,QH)}…`:s}}),pU=[1,.6,.35,.15],mU=(e,t,n)=>{let r=n?cU:sU;if(t===null)return r;let i=pU[Math.abs(e-t)]??0;return Math.round(r+(lU-r)*i)};function hU({turnIds:e,previewsByTurnId:t,activeTurnId:n,scrollRef:r,turnByMessageId:i,repliesByTurnId:a,onSelectTurn:o,canLoadEarlier:s,isLoadingOlder:c,onLoadEarlier:l}){let{t:u}=Kn(),d=XH(r,i),f=q(e=>e.isPromptNavigatorPanelOpen),p=q(e=>e.setPromptNavigatorPanelOpen),m=Z.useRef(null),h=Z.useRef(null),[g,_]=Z.useState(null),[v,y]=Z.useState(0),[b,x]=Z.useState(!1);Z.useEffect(()=>{let e=h.current?.parentElement;if(!e||typeof ResizeObserver>`u`)return;let t=()=>{let t=e.querySelector(`.chat-message-column`);if(!t){x(!1);return}let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.left+tU+$H;x(r.left<i)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let S=Z.useMemo(()=>fU(e,t),[t,e]),C=Math.min(S.length,nU),w=Math.max(0,S.length-C),T=Math.min(v,w),E=T+C,D=T>0,O=E<S.length,k=u(`chat.timeline.noTextContent`),A=u(`chat.promptNavigator.loadMore`),j=Z.useMemo(()=>n?S.findIndex(e=>e.turnId===n):-1,[n,S]),M=Z.useRef(T);M.current=T;let N=Z.useRef(S.length);N.current=S.length;let P=Z.useRef(null),F=Z.useRef(null),I=Z.useRef(0),L=Z.useCallback(e=>{y(t=>{let n=N.current,r=Math.min(n,nU),i=Math.max(0,n-r),a=Math.min(t,i);return e<a?e:e>=a+r?Math.min(i,e-r+1):a})},[]),R=Z.useRef(S[0]?.turnId),z=Z.useRef(S.length);Z.useLayoutEffect(()=>{let e=R.current,t=z.current,n=S.length-t;n>0&&t>0&&e&&S[0]?.turnId!==e&&(y(e=>e+n),_(e=>e===null?null:e+n)),R.current=S[0]?.turnId,z.current=S.length},[S]),Z.useEffect(()=>{if(g!==null)return;let e=j>=0?j:S.length-1;y(()=>{let t=N.current,n=Math.min(t,nU),r=Math.max(0,t-n);return Math.max(0,Math.min(r,e-Math.floor(n/2)))})},[j,g,S.length]);let B=Z.useCallback(e=>{let t=m.current;if(!t)return null;let n=t.getBoundingClientRect(),r=Math.floor((e-n.top)/rU),i=Math.min(N.current,nU);return i===0?null:Math.max(0,Math.min(i-1,r))},[]),V=Z.useCallback(()=>{I.current=0,F.current!==null&&(window.clearInterval(F.current),F.current=null)},[]),H=Z.useCallback(()=>{let e=I.current;if(e===0){V();return}let t=N.current,n=Math.max(0,t-Math.min(t,nU)),r=Math.min(M.current,n),i=Math.max(0,Math.min(n,r+e));if(i===r){V();return}M.current=i,y(i);let a=P.current;if(a!==null){let e=B(a);e!==null&&_(Math.min(t-1,i+e))}},[B,V]),ee=Z.useCallback(e=>{let t=m.current;if(!t)return;let n=t.getBoundingClientRect(),r=e-n.top,i=0;if(r<=iU&&D?i=-1:r>=n.height-iU&&O&&(i=1),I.current=i,i===0){V();return}F.current===null&&(F.current=window.setInterval(H,aU))},[H,D,O,V]);Z.useEffect(()=>()=>{F.current!==null&&window.clearInterval(F.current)},[]);let U=Z.useRef(null),te=Z.useCallback(()=>{U.current!==null&&(window.clearTimeout(U.current),U.current=null)},[]),ne=Z.useCallback(()=>{te(),U.current=window.setTimeout(()=>{U.current=null,_(null)},dU)},[te]);Z.useEffect(()=>()=>{U.current!==null&&window.clearTimeout(U.current)},[]);let W=Z.useCallback(e=>{te(),P.current=e.clientY;let t=B(e.clientY);t!==null&&_(Math.min(N.current-1,M.current+t)),ee(e.clientY)},[te,B,ee]),G=Z.useCallback(()=>{P.current=null,V(),ne()},[ne,V]),re=Z.useCallback(()=>{p(!1)},[p]),ie=Z.useCallback(e=>{if(e===null)return;let t=S[e];t&&(o(t.turnId),V(),_(null),re(),m.current?.blur())},[re,o,S,V]),ae=Z.useCallback(e=>{let t=B(e.clientY);t!==null&&ie(Math.min(S.length-1,M.current+t))},[ie,S.length,B]);Z.useEffect(()=>{if(!f)return;let e=m.current;!e||e===document.activeElement||(e.focus(),_(e=>{if(e!==null)return e;let t=j>=0?j:S.length-1;return L(t),t}))},[j,L,f,S.length]),Z.useEffect(()=>()=>{p(!1)},[p]);let oe=Z.useCallback(e=>{if(S.length===0)return;let t=g??(j>=0?j:S.length-1),n=e=>{let t=Math.max(0,Math.min(S.length-1,e));L(t),_(t)};if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault(),n(t+(e.key===`ArrowUp`?-1:1));return}if(e.key===`Home`){e.preventDefault(),n(0);return}if(e.key===`End`){e.preventDefault(),n(S.length-1);return}if(e.key===`Enter`||e.key===` `){e.preventDefault(),ie(t);return}e.key===`Escape`&&(e.preventDefault(),_(null),re(),m.current?.blur())},[j,re,L,ie,g,S.length]),se=Z.useCallback(()=>{V(),_(null),re()},[re,V]),K=Z.useRef(null),ce=Z.useRef(g);ce.current=g;let le=g!==null,ue=Z.useRef(0);Z.useEffect(()=>{let e=K.current;if(!e)return;let t=e=>{e.preventDefault(),e.stopPropagation(),ue.current+=e.deltaY;let t=Math.trunc(ue.current/uU);if(t===0)return;ue.current-=t*uU;let n=ce.current;if(n===null)return;let r=Math.max(0,Math.min(N.current-1,n+t));r!==n&&(L(r),_(r))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[L,le]);let de=g===null?void 0:S[g],fe=de?a?.get(de.turnId):void 0,pe=Math.max(0,T-oU),me=Math.min(S.length,E+oU),he=S.slice(pe,me),ge=D||O?`linear-gradient(to bottom, ${D?`transparent, black 14%`:`black`}, ${O?`black 86%, transparent`:`black`})`:void 0;return S.length===0?null:(0,$.jsx)(`nav`,{ref:h,"aria-label":u(`chat.promptNavigator.aria`),className:`pointer-events-none absolute left-1.5 top-1/2 z-20 -translate-y-1/2`,children:(0,$.jsxs)(`div`,{className:`pointer-events-auto flex flex-col items-start`,children:[s?(0,$.jsx)(`button`,{type:`button`,tabIndex:-1,className:Y(`-ml-px mb-1.5 flex size-5 shrink-0 items-center justify-center rounded-full`,`text-[var(--surface-mutedForeground)] transition-colors`,`hover:bg-[var(--interactive-hover)]/60 hover:text-[var(--surface-foreground)]`,c?`cursor-wait opacity-70`:void 0),"aria-label":A,title:A,disabled:c,onClick:e=>{e.stopPropagation(),c||l()},children:c?(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{name:`arrow-up-s`,className:`size-3.5`})}):null,(0,$.jsxs)(`div`,{ref:m,role:`listbox`,tabIndex:-1,"aria-activedescendant":de?`prompt-rail-tick-${de.turnId}`:void 0,className:`relative cursor-pointer outline-none`,style:{width:`${b?eU:$H}px`,height:`${C*rU}px`},onMouseMove:W,onMouseLeave:G,onClick:ae,onKeyDown:oe,onBlur:se,children:[(0,$.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,style:ge?{maskImage:ge,WebkitMaskImage:ge}:void 0,children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-300 ease-out`,style:{transform:`translateY(-${T*rU}px)`},children:he.map((e,t)=>{let n=pe+t,r=d.has(e.turnId),i=g===n,a=mU(n,g,r);return(0,$.jsx)(`div`,{id:`prompt-rail-tick-${e.turnId}`,role:`option`,"aria-selected":i,"aria-current":r?`true`:void 0,"aria-label":e.preview.trim()||k,className:`pointer-events-none absolute left-1 flex items-center justify-start`,style:{top:`${n*rU}px`,height:`${rU}px`},children:(0,$.jsx)(`span`,{"aria-hidden":`true`,className:Y(`block h-0.5 rounded-full transition-all duration-200 ease-out`,r?`bg-[var(--surface-foreground)]`:i?`bg-[var(--surface-foreground)]/80`:`bg-[var(--surface-foreground)]/30`),style:{width:`${a}px`}})},e.turnId)})},S[0]?.turnId)}),de&&g!==null?(0,$.jsxs)(`div`,{ref:K,className:Y(`pointer-events-auto absolute left-full z-30 ml-3 -translate-y-1/2`,`w-[min(20rem,calc(100vw-6rem))] overflow-hidden rounded-xl`,`bg-[var(--surface-elevated)] p-3 typography-meta`),style:{top:`${(g-T+.5)*rU}px`},onMouseEnter:te,onMouseLeave:ne,onMouseMove:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),ie(g)},children:[(0,$.jsx)(`p`,{className:`truncate font-medium leading-relaxed text-[var(--surface-foreground)]`,children:de.preview||k}),fe?(0,$.jsx)(`p`,{className:`mt-2 line-clamp-4 whitespace-pre-line [overflow-wrap:anywhere] leading-relaxed text-[var(--surface-mutedForeground)]`,children:fe}):null]}):null]})]})})}var gU=100,_U=(e,t)=>{if(e.length===0)return;let n=0,r=e.length-1,i=0;for(;n<=r;){let a=n+r>>1,o=e[a]?.top;if(o===void 0)break;if(o<=t){i=a,n=a+1;continue}r=a-1}return e[i]?.id},vU=e=>{let t=e.raf??requestAnimationFrame,n=e.caf??cancelAnimationFrame,r=e.ResizeObserver??globalThis.ResizeObserver,i=e.MutationObserver??globalThis.MutationObserver,a,o,s,c,l,u,d=!0,f=new Map,p=[],m=()=>{c===void 0&&(c=t(()=>{c=void 0,g()}))},h=()=>{let e=a;if(!e){p=[],d=!1;return}let t=e.getBoundingClientRect().top;p=[...f].map(([n,r])=>({id:n,top:r.getBoundingClientRect().top-t+e.scrollTop})),p.sort((e,t)=>e.top-t.top),d=!1},g=()=>{let t=a;if(!t)return;d&&h();let n=_U(p,t.scrollTop+gU);!n||n===u||(u=n,e.onActive(n))},_=()=>{let e=a;if(e){if(clearTimeout(l),l=void 0,o?.disconnect(),o=void 0,r){o=new r(()=>{clearTimeout(l),l=setTimeout(()=>{d=!0,m()},100)}),o.observe(e);for(let e of f.values())o.observe(e)}if(s?.disconnect(),s=void 0,i){s=new i(()=>{d=!0,m()});let t={subtree:!0,childList:!0};r||(t.characterData=!0,t.characterDataOldValue=!1),s.observe(e,t)}d=!0,m()}},v=e=>{a!==e&&(a=e,u=void 0,_())},y=(e,t)=>{let n=f.get(t);n&&n!==e&&o?.unobserve(n),f.set(t,e),o&&o.observe(e),d=!0,m()},b=e=>{let t=f.get(e);t&&(o?.unobserve(t),f.delete(e),d=!0,m())},x=()=>{d=!0,m()},S=()=>{for(let e of f.values())o?.unobserve(e);f.clear(),p=[],u=void 0,d=!0};return{setContainer:v,register:y,unregister:b,onScroll:m,markDirty:x,clear:S,destroy:()=>{c!==void 0&&n(c),c=void 0,clearTimeout(l),l=void 0,S(),o?.disconnect(),s?.disconnect(),o=void 0,s=void 0,a=void 0},getActiveId:()=>u}},yU=10,bU=`${yU}vh`,xU=`144px`,SU=`calc(${xU} + var(--oc-chat-foot-inset))`,CU=(e,t)=>e?144:t<=0?96:Math.max(48,yU/100*t),wU=(e,t)=>({sessionId:e,viewportKey:t}),TU=(e,t)=>e?.sessionId===t?.sessionId&&e?.viewportKey===t?.viewportKey,EU=(e,t)=>TU(e,t),DU=(e,t,n)=>({identity:e,anchor:t,scrollPosition:n}),OU=150,kU=1500,AU=2,jU=350,MU=600,NU=8e3,PU=24,FU=2,IU=(e,t)=>e<t,LU=()=>typeof performance<`u`?performance.now():Date.now(),RU=e=>({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}),zU=e=>e.scrollHeight-e.scrollTop-e.clientHeight,BU=e=>zU(RU(e)),VU=e=>e.scrollHeight-e.clientHeight>1,HU=(e,t)=>zU(e)<=CU(t,e.clientHeight),UU=({enabled:e=!0,scrollControllerRef:t,currentSessionId:n,viewportKey:r,sessionMessageCount:i,sessionIsWorking:a,isMobile:o,onActiveTurnChange:s,onUpwardUserIntent:c})=>{let l=Z.useRef(null),[u,d]=Z.useState(null),f=Z.useRef(null),[p,m]=Z.useState(`following`),[h,g]=Z.useState(!1),[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),x=Z.useRef(`following`),S=Z.useRef(o);S.current=o;let C=Z.useRef(i);C.current=i;let w=Z.useRef(wU(n,r));w.current=wU(n,r);let T=Z.useRef(null),E=Z.useRef(null),D=Z.useRef(null),O=Z.useRef(0),k=Z.useRef(null),A=Z.useRef(null),j=Z.useRef(0),M=Z.useRef(!1),N=Z.useRef(!1),P=Z.useRef(null),F=Z.useRef(0),I=Z.useRef(!1),L=Z.useRef(null),R=Z.useRef(null),z=J(()=>{F.current=LU()+450,R.current=null}),B=Z.useRef(0),V=Z.useRef(!1),H=Z.useRef(null),ee=Z.useRef(null),U=Z.useRef(0),te=Z.useRef(!1),ne=Z.useRef(null),W=Z.useRef(null),G=Z.useRef(null),re=pr(e=>e.updateViewportAnchor);Z.useLayoutEffect(()=>{l.current!==f.current&&(f.current=l.current,d(l.current))});let ie=J(e=>{x.current!==e&&(x.current=e,m(e))}),ae=J(e=>{E.current={top:Math.max(0,e.scrollHeight-e.clientHeight),time:LU()},D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{E.current=null,D.current=null},kU)}),oe=J(e=>{let t=E.current;return t?LU()-t.time>kU?(E.current=null,!1):Math.abs(e.scrollTop-t.top)<AU:!1}),se=J(()=>LU()<j.current),K=J(()=>{V.current=!1,H.current&&=(clearTimeout(H.current),null),ee.current&&=(clearTimeout(ee.current),null)}),ce=J(()=>{H.current&&clearTimeout(H.current),H.current=setTimeout(()=>{H.current=null,K()},MU)}),le=J(()=>{let e=l.current;e&&(V.current=!0,U.current=e.scrollHeight,ce(),ee.current&&clearTimeout(ee.current),ee.current=setTimeout(()=>{ee.current=null,K()},NU))}),ue=J(e=>{let t=l.current;if(!t){g(!1),v(!1);return}let n=e??RU(t),r=VU(n);if(g(r),!r){v(!1);return}let i=x.current===`released`&&!HU(n,S.current);v(i)}),de=J(()=>{O.current+=1,k.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(k.current),k.current=null),A.current?.(),A.current=null});Z.useEffect(()=>()=>de(),[u]);let fe=J(()=>{if(!e)return;let n=l.current;if(!n)return;if(de(),t?.current?.scrollToBottom({behavior:`auto`,reveal:!1})){ae(n),ue();return}let r=O.current,i=n.style.overflowX,a=n.style.overflowY,o=n.style.scrollBehavior;n.style.scrollBehavior=`auto`,n.style.overflow=`hidden`,n.scrollTop=n.scrollHeight,n.scrollHeight,n.style.overflowX=i,n.style.overflowY=a,n.style.scrollBehavior=o;let s=()=>{ae(n),n.scrollTop=n.scrollHeight,B.current=n.scrollTop};if(s(),ue(),typeof window>`u`)return;let c=0,u=()=>{IU(LU(),F.current)||de()};n.addEventListener(`touchstart`,u,{passive:!0,once:!0}),A.current=()=>n.removeEventListener(`touchstart`,u);let d=()=>{if(r===O.current){if(BU(n)>FU&&s(),c+=1,c>=PU){k.current=null,A.current?.(),A.current=null,ue();return}k.current=window.requestAnimationFrame(d)}};k.current=window.requestAnimationFrame(d)}),pe=J(e=>{let n=l.current;if(n&&(ae(n),!t?.current?.scrollToBottom({behavior:e,reveal:!1}))){if(e===`smooth`){n.scrollTo({top:n.scrollHeight,behavior:e});return}n.scrollTop=n.scrollHeight}}),me=J((t,n=`auto`)=>{if(!e)return;let r=l.current;if(t&&x.current!==`following`&&ie(`following`),r&&!(!t&&x.current!==`following`)){if(BU(r)<AU){ae(r);return}pe(t?n:`auto`)}}),he=J(e=>{let t=l.current;if(!t)return;let n=e??RU(t);VU(n)&&x.current!==`released`&&(ie(`released`),ue(n))}),ge=J((e=`instant`,n)=>{if(I.current=!1,te.current=!1,ie(`following`),K(),de(),t?.current?.scrollToBottom({behavior:e===`smooth`?`smooth`:`auto`,...n})){let e=l.current;e&&ae(e),ue();return}if(e===`instant`){fe();return}de(),me(!0,`smooth`),ue()}),_e=J(()=>{te.current=!1,me(!0)}),ve=J(()=>{I.current=!1,de(),t?.current?.cancelScroll(),K(),ie(`released`),ue()}),ye=J(()=>{te.current=!0,ve()}),be=J(()=>{te.current=!1}),xe=Z.useRef(c);xe.current=c;let Se=J(()=>{IU(LU(),F.current)||(I.current=!1,de(),t?.current?.cancelScroll(),K(),he())}),Ce=J(()=>{F.current=0,Se(),xe.current?.()}),we=J(()=>{ne.current!==null&&(clearTimeout(ne.current),ne.current=null);let e=W.current;if(e){if(!e.identity.sessionId){W.current=null;return}re(e.identity.sessionId,e.anchor,e.scrollPosition,e.identity.viewportKey),W.current=null}}),Te=J(()=>{let e=w.current;if(!e.sessionId)return;let t=l.current;if(!t)return;let{scrollTop:n,scrollHeight:r,clientHeight:i}=t,a=r>0?(n+i/2)/r:0,o=Math.floor(a*C.current);W.current=DU(e,o,{scrollTop:n,scrollHeight:r,clientHeight:i}),ne.current===null&&(ne.current=setTimeout(()=>{ne.current=null,we()},OU))}),Ee=J(()=>{we()}),De=J(async(e=w.current)=>{if(!e.sessionId||x.current===`released`&&TU(e,T.current))return!1;te.current=!1;let t=l.current;return t?(G.current=null,ie(`following`),z(),S.current?fe():me(!0),B.current=t.scrollTop,le(),ue(),!1):(G.current=e,ie(`following`),!1)});Z.useEffect(()=>{let e=w.current,t=T.current;TU(e,t)||(we(),de(),z(),T.current=e,I.current=!1,L.current=null,E.current=null,B.current=0,K(),te.current=!1,ie(`following`),G.current=null,n&&n!==t?.sessionId&&pO.getInstance().recordSessionStart(n))},[n,r]),Z.useEffect(()=>{a&&!te.current&&x.current===`following`&&me(!0)},[a]),Z.useEffect(()=>{b(p===`following`&&a)},[p,a]),Z.useLayoutEffect(()=>{if(!u)return;let e=G.current;e&&EU(e,w.current)&&De(e)},[u,n,r]);let Oe=J(()=>{let e=l.current;if(!e)return;let t=RU(e),n=B.current;B.current=t.scrollTop;let r=t.scrollTop>n+.5,i=Math.abs(t.scrollTop-n)<.5;if(ue(t),te.current){Te();return}if(VU(t)){if(HU(t,S.current)){let e=Math.min(n,Math.max(0,t.scrollHeight-t.clientHeight));if(t.scrollTop<e-.5){Se(),Te();return}(x.current===`following`||r&&I.current)&&(ie(`following`),I.current=!1),Te();return}if(x.current===`following`&&(oe(e)||se()||i)){M.current||me(!1),Te();return}(x.current===`following`||!r)&&Se(),Te()}});Z.useEffect(()=>{!e||!u||(B.current=u.scrollTop)},[u,e]);let ke=J(e=>{let t=l.current;if(t){if(e.deltaY>0){Vl(t,e.target)||(I.current=!0);return}e.deltaY>=0||Ul(t,e.target)||Ce()}}),Ae=J(e=>{I.current=!1;let t=e.touches.item(0);R.current=t?{x:t.clientX,y:t.clientY,dx:0,dy:0}:null}),je=J(e=>{let t=l.current,n=e.touches.item(0);if(!n){R.current=null;return}let r=R.current;if(!r)return;let i=n.clientY-r.y,a=i*r.dy<0,o=(a?0:r.dx)+n.clientX-r.x,s=(a?0:r.dy)+i;if(R.current={x:n.clientX,y:n.clientY,dx:o,dy:s},!(Math.abs(o)>=Math.abs(s))&&t){if(s<-2){Vl(t,e.target)||(I.current=!0);return}if(!(s<=0)){if(Ul(t,e.target)){R.current.dx=0,R.current.dy=0;return}s<=2||Ce()}}}),Me=J(()=>{R.current=null}),Ne=J(e=>{let t=e.target;if(!(e.defaultPrevented||t instanceof HTMLElement&&(t.isContentEditable||t.closest(`input, textarea, select`)))){if(!e.altKey&&!e.ctrlKey&&!e.metaKey&&[`ArrowDown`,`PageDown`,`End`].includes(e.key)){let e=l.current;e&&!Vl(e,t)&&(I.current=!0);return}Al(e)&&Ce()}}),Pe=J(e=>{let t=e.target;t instanceof Element&&t.closest(`[data-overlay-scrollbar-thumb]`)&&(F.current=0,Se(),L.current={id:e.pointerId,y:e.clientY})}),Fe=J(e=>{let t=L.current;!t||t.id!==e.pointerId||(e.clientY!==t.y&&(I.current=e.clientY>t.y),t.y=e.clientY)}),Ie=J(()=>{L.current=null}),Le=J(()=>{I.current=!1}),Re=Z.useMemo(()=>()=>void 0,[]),ze=e&&u?u:Re,Be=Z.useMemo(()=>({passive:!0}),[]);Hn(`scroll`,Oe,ze,Be),Hn(`scrollend`,Le,ze,Be),Hn(`wheel`,ke,ze,Be),Hn(`touchstart`,Ae,ze,Be),Hn(`touchmove`,je,ze,Be),Hn(`touchend`,Me,ze,Be),Hn(`touchcancel`,Me,ze,Be),Hn(`keydown`,Ne,ze),Hn(`pointermove`,Fe,e&&typeof window<`u`?window:Re,!0),Hn(`pointerup`,Ie,e&&typeof window<`u`?window:Re,!0),Hn(`pointercancel`,Ie,e&&typeof window<`u`?window:Re,!0),Hn(`pointerdown`,Pe,e&&typeof window<`u`?window:Re,!0);let Ve=J(()=>{let e=l.current;if(M.current){ue(e?RU(e):void 0);return}if(te.current){ue(e?RU(e):void 0);return}if(!e){ue(void 0);return}let t=RU(e);if(!VU(t)){ue(t);return}if(ue(t),V.current){let n=t.scrollHeight>U.current+1;U.current=t.scrollHeight,zU(t)<=AU?ae(e):me(!0),n&&ce();return}if(x.current===`following`){if(zU(t)<=AU){ae(e);return}me(!1)}}),He=typeof ResizeObserver<`u`,Ue=He&&e?u:null,We=He&&e&&u&&u.firstElementChild instanceof Element?u.firstElementChild:null;Ln(Ue,Ve),Ln(We,Ve);let Ge=J(()=>{P.current!==null&&(clearTimeout(P.current),P.current=null)}),Ke=J(e=>{M.current=!0,typeof e==`number`&&e>0?j.current=LU()+e+jU:j.current=Math.max(j.current,LU()+jU)}),qe=J(e=>{let t=e.detail;if(t){if(t.open===!0){Ke(),Ge(),P.current=setTimeout(()=>{P.current=null,N.current||(M.current=!1)},1500);return}Ge(),Ke()}}),Je=J(e=>{let t=e.detail;t&&(Ge(),Ke(t.durationMs))}),Ye=J(e=>{let t=e.detail;Ge(),t?.open===!0?(N.current=!0,M.current=!0):(N.current=!1,M.current=!0,P.current=setTimeout(()=>{P.current=null,N.current||(M.current=!1)},jU)),ue()}),Xe=e&&typeof window<`u`?window:Re;Hn(`oc:keyboard-intent`,qe,Xe),Hn(`oc:keyboard-anim`,Je,Xe),Hn(`oc:keyboard-settled`,Ye,Xe),Z.useEffect(()=>{if(!(!e||typeof window>`u`))return()=>{Ge(),M.current=!1,N.current=!1}},[e]),Z.useEffect(()=>{e&&ue()},[e,i]);let Ze=J(t=>{if(e){if(t===`animation`&&(j.current=LU()+jU),ue(),V.current){me(!0),ce();return}x.current===`following`&&me(!1)}}),Qe=Z.useRef(new Map),$e=J(t=>{let n=Qe.current.get(t);if(n)return n;let r=()=>{e&&x.current===`following`&&me(!1)},i={onChunk:r,onComplete:()=>{e&&ue()},onStreamingCandidate:()=>{},onAnimationStart:()=>{},onAnimatedHeightChange:r,onReservationCancelled:()=>{},onReasoningBlock:()=>{}};return Qe.current.set(t,i),i});Z.useEffect(()=>()=>{D.current&&=(clearTimeout(D.current),null),de(),K(),we(),ne.current!==null&&(clearTimeout(ne.current),ne.current=null)},[]);let et=J(e=>{s?.(e)}),tt=!!s;return Z.useEffect(()=>{if(!e||!tt)return;let t=u;if(!t)return;let n=null,r=vU({onActive:e=>{e!==n&&(n=e,et(e))}});r.setContainer(t);let i=new Map,a=e=>{let t=e.dataset.turnId;return t?(i.set(t,e),r.register(e,t),!0):!1},o=e=>{let t=e.dataset.turnId;return!t||i.get(t)!==e?!1:(i.delete(t),r.unregister(t),!0)},s=e=>{if(!(e instanceof HTMLElement))return[];let t=[];return e.matches(`[data-turn-id]`)&&t.push(e),e.querySelectorAll(`[data-turn-id]`).forEach(e=>t.push(e)),t};t.querySelectorAll(`[data-turn-id]`).forEach(a),r.markDirty();let c=new MutationObserver(e=>{let t=!1;e.forEach(e=>{e.removedNodes.forEach(e=>{s(e).forEach(e=>{o(e)&&(t=!0)})}),e.addedNodes.forEach(e=>{s(e).forEach(e=>{a(e)&&(t=!0)})})}),t&&r.markDirty()});c.observe(t,{subtree:!0,childList:!0});let l=()=>r.onScroll();return t.addEventListener(`scroll`,l,{passive:!0}),()=>{t.removeEventListener(`scroll`,l),c.disconnect(),r.destroy()}},[u,e,tt]),{scrollRef:l,state:p,isPinned:p===`following`,isOverflowing:h,isFollowingProgrammatically:y,showScrollButton:_,notifyContentChange:Ze,getAnimationHandlers:$e,goToBottom:ge,scrollToBottomOnSend:_e,releaseAutoFollow:ve,beginHistoryViewportPreservation:ye,endHistoryViewportPreservation:be,saveSnapshotNow:Ee,restoreSnapshot:De}},WU=`--oc-mobile-composer-swap`,GU=`--oc-native-composer-dock`,KU=()=>({phase:`rest`,rest:`expanded`,progress:0,pinned:!1}),qU=(e,t,n)=>Math.min(n,Math.max(t,e)),JU=(e,t)=>e.phase===t.phase&&e.rest===t.rest&&e.progress===t.progress&&e.pinned===t.pinned,YU=(e,t)=>{let n={phase:t.phase,rest:t.rest,progress:t.progress,pinned:t.pinned??e.pinned};return JU(e,n)?e:n},XU=(e,t)=>t?YU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0}):e.pinned?YU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!1}):e,ZU=(e,t)=>{if(e.pinned&&t===`compact`)return e;let n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:YU(e,{phase:`snapping`,rest:t,progress:n})},QU=e=>qU(e/80,0,1),$U=e=>e>=80?1:qU(e/80,0,1),eW=(e,t,n={})=>{if(e.pinned||n.userDriven===!1)return e;let r=Math.max(0,t),i=e.phase===`snapping`?YU(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e;if(i.rest===`expanded`){if(r<=2||n.holdExpanded)return YU(i,{phase:`rest`,rest:`expanded`,progress:0});let e=QU(r);return e>=1?YU(i,{phase:`rest`,rest:`compact`,progress:1}):YU(i,{phase:`tracking`,rest:`expanded`,progress:e})}if(r<=2)return YU(i,{phase:`rest`,rest:`expanded`,progress:0});if(n.suppressReturn)return YU(i,{phase:`rest`,rest:`compact`,progress:1});if(n.towardBottom&&r>=80)return YU(i,{phase:`snapping`,rest:`expanded`,progress:0});let a=$U(r);return a>=1?YU(i,{phase:`rest`,rest:`compact`,progress:1}):YU(i,{phase:`tracking`,rest:`compact`,progress:a})},tW=e=>e.pinned?`expanded`:e.rest===`expanded`?e.progress>=.5?`compact`:`expanded`:e.progress<=.5?`expanded`:`compact`,nW=e=>{if(e.pinned)return YU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0});if(e.phase===`snapping`)return e;let t=tW(e),n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:YU(e,{phase:`snapping`,rest:t,progress:n})},rW=e=>e.phase===`snapping`?YU(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e,iW=e=>qU(Math.max(0,e)/80,0,1),aW=(e,t=`away`)=>{let n=Math.max(0,e);return n<=2?{progress:0,rest:`bottom`}:t===`away`||n>=40?{progress:1,rest:`away`}:{progress:iW(n),rest:`bottom`}},oW=e=>{e.style.removeProperty(WU),e.style.removeProperty(GU),delete e.dataset.ocComposerSwapPhase,delete e.dataset.ocComposerSwapRest,delete e.dataset.ocNativeComposerDock},sW=(e,t,n)=>{let r=aW(t,n?.rest===`bottom`?`bottom`:`away`),i=String(r.progress),a=r.rest;return n?.progress!==i&&e.style.setProperty(GU,i),n?.rest!==a&&(e.dataset.ocNativeComposerDock=a),{progress:i,rest:a}},cW=(e,t,n)=>{let r=String(t.progress),i=t.phase,a=t.rest;return n?.phase!==i&&(e.dataset.ocComposerSwapPhase=i,i===`snapping`&&n&&n.phase!==`snapping`&&e.offsetWidth),n?.progress!==r&&e.style.setProperty(WU,r),n?.rest!==a&&(e.dataset.ocComposerSwapRest=a),{progress:r,phase:i,rest:a}},lW=e=>({scrollHeight:e.scrollHeight,scrollTop:e.scrollTop,clientHeight:e.clientHeight}),uW=()=>{let e=document.documentElement;return e.classList.contains(`oc-keyboard-open`)||e.classList.contains(`oc-kb-animating`)},dW=e=>{if(uW()||e.querySelector(`[data-oc-composer-dictation-active="true"]`)||e.querySelector(`[data-composer-height-snap="full"], [data-mobile-composer-resizing="true"]`))return!0;let t=document.activeElement;return t instanceof HTMLElement&&t.matches(`textarea[data-chat-input="true"]`)&&e.contains(t)},fW=e=>{let t=Z.useRef(KU()),n=Z.useRef(void 0),r=Z.useRef(void 0),i=Z.useRef(null),a=Z.useRef(null),o=Z.useRef(0),s=Z.useRef(!1),c=Z.useRef(0),l=Z.useRef(new Map),u=Z.useRef(!1),d=Z.useRef(0),f=Z.useRef(null),p=Z.useRef(null),m=Z.useRef(0),h=Z.useRef(0),g=Z.useRef(!1),_=Z.useRef(e.enabled);_.current=e.enabled;let v=e=>{e.current!==null&&(window.clearTimeout(e.current),e.current=null)},y=J(t=>{let r=e.scopeRef.current;r&&(n.current=cW(r,t,n.current))}),b=J(e=>{e!==t.current&&(t.current=e,y(e))}),x=J(()=>{if(v(a),t.current.phase!==`snapping`)return;let e=t.current.rest;a.current=window.setTimeout(()=>{a.current=null;let n=rW(t.current);b(n),n.rest===`compact`&&e===`compact`&&(o.current=Date.now()+320,s.current=!0)},240)}),S=J(()=>{let n=e.scopeRef.current;!n||!_.current||b(XU(t.current,dW(n)))}),C=J(e=>s.current?Date.now()>=o.current?(s.current=!1,!1):e>=80?(s.current=!1,o.current=0,!1):!0:!1),w=J(()=>{if(v(i),!_.current||c.current>0||t.current.phase!==`tracking`)return;let e=nW(t.current);b(e),x()}),T=J(()=>{u.current=!1,d.current=0;for(let e of l.current.values())e.startX=e.currentX,e.startY=e.currentY}),E=J(e=>{if(!_.current)return;let t=!1;for(let n=0;n<e.changedTouches.length;n+=1){let r=e.changedTouches[n];if(!r)continue;let i=l.current.get(r.identifier);if(!i){l.current.set(r.identifier,{startX:r.clientX,startY:r.clientY,currentX:r.clientX,currentY:r.clientY});continue}i.currentX=r.clientX,i.currentY=r.clientY;let a=Math.abs(i.currentX-i.startX),o=Math.abs(i.currentY-i.startY);o>0&&o>a&&(t=!0)}!t&&!u.current||(u.current=!0,d.current=Date.now(),s.current=!1,o.current=0)}),D=J(t=>{if(_.current){if(c.current===0){l.current.clear(),T(),m.current=0,h.current=0;let t=e.scrollRef.current;if(t){let e=lW(t);p.current=e,f.current=TB(e,CB(t))}}for(let e=0;e<t.changedTouches.length;e+=1){let n=t.changedTouches[e];n&&l.current.set(n.identifier,{startX:n.clientX,startY:n.clientY,currentX:n.clientX,currentY:n.clientY})}c.current=l.current.size,v(i)}}),O=J(()=>{if(!_.current)return;let n=e.scrollRef.current,o=e.scopeRef.current;if(!n||!o)return;let s=dW(o),l=lW(n),y=TB(l,CB(n)),S=f.current,E=p.current;if(f.current=y,p.current=l,n.hasAttribute(`data-oc-timeline-anchoring`)){m.current=0,h.current=0,T();return}r.current=sW(o,y,r.current);let D=u.current&&(c.current>0||Date.now()-d.current<=1200),O=E!==null&&(E.scrollHeight!==l.scrollHeight||E.clientHeight!==l.clientHeight),k=D&&!O,A=S===null?0:S-y;k?A>0?(h.current=0,l.scrollTop>0&&(m.current+=A)):A<0&&(m.current=0,h.current+=-A,h.current>=24&&(g.current=!1)):(m.current=0,h.current=0),k&&y<=2&&(g.current=!1);let j=t.current,M=XU(j,s);if(!s){let e=M.rest===`compact`;M=eW(M,y,{suppressReturn:k&&C(y),towardBottom:m.current>=24,holdExpanded:g.current,userDriven:k}),e&&M.rest===`expanded`&&y>2&&(g.current=!0,m.current=0)}if(b(M),k){if(v(i),M.phase===`snapping`){(j.phase!==`snapping`||j.rest!==M.rest||j.progress!==M.progress)&&x();return}j.phase===`snapping`&&v(a),M.phase===`tracking`&&c.current===0&&(i.current=window.setTimeout(()=>{i.current=null,w()},120))}}),k=J(()=>{u.current&&(c.current>0||Date.now()-d.current<=1200)&&w()}),A=J((e,n)=>{if(_.current){for(let t=0;t<e.changedTouches.length;t+=1){let n=e.changedTouches[t];n&&l.current.delete(n.identifier)}c.current=l.current.size,!(c.current>0)&&(l.current.clear(),n&&u.current?d.current=Date.now():T(),t.current.phase===`tracking`&&(v(i),i.current=window.setTimeout(()=>{i.current=null,w()},120)))}}),j=J(e=>{A(e,!0)}),M=J(e=>{A(e,!1)}),N=J(()=>{let t=e.scopeRef.current;if(!t||typeof window>`u`)return;let n=e=>{e.preventDefault(),e.stopPropagation()};t.addEventListener(`pointerup`,n,!0),t.addEventListener(`click`,n,!0),window.setTimeout(()=>{t.removeEventListener(`pointerup`,n,!0),t.removeEventListener(`click`,n,!0)},240)}),P=J(n=>{if(!_.current)return;let r=n.target;if(!(r instanceof Element)||!r.closest(`[data-oc-composer-compact-surface="true"]`)||r.closest(`[data-composer-action="true"]`))return;let i=r.closest(`.oc-mobile-composer-compact-preview`);n.type===`pointerdown`&&i||n.type===`click`&&!i||(`preventDefault`in n&&n.preventDefault(),`stopPropagation`in n&&n.stopPropagation(),g.current=!0,m.current=0,h.current=0,b(ZU(t.current,`expanded`)),x(),N(),(e.scopeRef.current?.querySelector(`textarea[data-chat-input="true"]`))?.focus({preventScroll:!0}))}),[F,I]=Z.useState(null),[L,R]=Z.useState(null),z=Z.useRef(null),B=J(e=>{e&&oW(e),n.current=void 0,r.current=void 0,s.current=!1,o.current=0,c.current=0,l.current.clear(),u.current=!1,d.current=0,f.current=null,p.current=null,m.current=0,h.current=0,g.current=!1,b(KU())});Z.useLayoutEffect(()=>{let t=e.enabled?e.scrollRef.current:null,n=e.enabled?e.scopeRef.current:null;z.current&&z.current!==n&&B(z.current),z.current=n,I(e=>e===t?e:t),R(e=>e===n?e:n)});let V=Z.useMemo(()=>()=>void 0,[]),H=e.enabled&&F?F:V,ee=e.enabled&&L?L:V,U=e.enabled&&typeof window<`u`?window:V,te=Z.useMemo(()=>({passive:!0}),[]);Hn(`scroll`,O,H,te),Hn(`scrollend`,k,H,te),Hn(`touchstart`,D,H,te),Hn(`touchmove`,E,H,te),Hn(`touchend`,j,H,te),Hn(`touchcancel`,M,H,te),Hn(`pointerdown`,P,ee),Hn(`click`,P,ee),Hn(`focusin`,S,ee),Hn(`focusout`,S,ee),Hn(`oc:keyboard-intent`,S,U),Hn(`oc:keyboard-anim`,S,U),Hn(`oc:keyboard-settled`,S,U),Z.useEffect(()=>{if(!e.enabled){B(z.current),z.current=null;return}return S(),O(),()=>{v(i),v(a)}},[e.enabled,F,L])},pW=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},mW=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},hW=e=>{if(!e)return null;let t=pW(e);return`${typeof e.info?.id==`string`?e.info.id:``}::${t}::${mW(e)??``}`},gW=e=>({turnIds:[...e.turnIds],turnMessageStartIndexes:[...e.turnMessageStartIndexes],turnIndexById:new Map(e.turnIndexById),messageToTurnId:new Map(e.messageToTurnId),messageToTurnIndex:new Map(e.messageToTurnIndex),turnCount:e.turnCount}),_W=(e,t,n)=>{if(!e||!t)return null;if(t.length===n.length){let r=-1;for(let e=0;e<n.length;e+=1)if(t[e]!==n[e]){if(r!==-1)return null;r=e}return r===-1||r===n.length-1&&hW(t[r])===hW(n[r])?e:null}if(n.length!==t.length+1)return null;for(let e=0;e<t.length;e+=1)if(t[e]!==n[e])return null;let r=n[n.length-1];if(!r)return null;let i=pW(r),a=r.info.id,o=gW(e);if(i===`user`){let e=o.turnIds.length;return o.turnIds.push(a),o.turnMessageStartIndexes.push(n.length-1),o.turnIndexById.set(a,e),o.messageToTurnId.set(a,a),o.messageToTurnIndex.set(a,e),o.turnCount=o.turnIds.length,o}if(i!==`assistant`){let e=o.turnIds.length-1;if(e<0)return null;let t=o.turnIds[e];return t?(o.messageToTurnId.set(a,t),o.messageToTurnIndex.set(a,e),o):null}let s=mW(r);if(!s)return o;let c=o.turnIndexById.get(s);if(typeof c!=`number`||c<0)return null;let l=o.turnIds[c];return l?(o.messageToTurnId.set(a,l),o.messageToTurnIndex.set(a,c),o):null},vW=e=>{let t=[],n=[],r=new Map,i=new Map,a=new Map,o=new Map,s=-1;return e.forEach((e,c)=>{let l=pW(e),u=e.info.id;if(l===`user`){s=t.length,t.push(u),n.push(c),r.set(u,s),o.set(u,s),i.set(u,u),a.set(u,s);return}if(l!==`assistant`){if(s>=0){let e=t[s];e&&(i.set(u,e),a.set(u,s))}return}let d=mW(e);if(!d)return;let f=o.get(d);if(typeof f!=`number`||f<0)return;let p=t[f];p&&(i.set(u,p),a.set(u,f))}),{turnIds:t,turnMessageStartIndexes:n,turnIndexById:r,messageToTurnId:i,messageToTurnIndex:a,turnCount:t.length}},yW=200,bW={MAX_SESSIONS:3,ZOMBIE_TIMEOUT:6e5},xW=()=>yW,SW=()=>Math.round(xW()*.6),CW={MAX_SESSIONS:bW.MAX_SESSIONS,VIEWPORT_MESSAGES:Math.round(yW*.6),HISTORICAL_MESSAGES:yW,FETCH_BUFFER:20,HISTORY_CHUNK:yW,STREAMING_BUFFER:1/0,ZOMBIE_TIMEOUT:bW.ZOMBIE_TIMEOUT},wW=()=>{let e=xW(),t=SW();return{...CW,HISTORICAL_MESSAGES:e,VIEWPORT_MESSAGES:t,HISTORY_CHUNK:e}},TW=CW,EW=600,DW=6e3,OW=.5,kW=(e,t)=>e.querySelector(`[data-message-id="${CSS.escape(t)}"]`),AW=e=>{let t=e.getBoundingClientRect(),n=e.querySelectorAll(`[data-message-id]`);for(let e of n)if(e.getBoundingClientRect().bottom>t.top)return e;return null},jW=(e,t)=>{let n=kW(e,t);if(n||=AW(e),!n)return null;let r=n.dataset.messageId;if(!r)return null;let i=e.getBoundingClientRect();return{messageId:r,offsetTop:n.getBoundingClientRect().top-i.top}},MW=e=>{let{container:t,quiesceMs:n=EW,maxLifetimeMs:r=DW}=e,i={messageId:e.anchor.messageId,offsetTop:e.anchor.offsetTop},a=!1,o=e.pending??!1,s=null,c=null,l=!1,u=!1,d=t.scrollTop,f=()=>{s!==null&&(clearTimeout(s),s=null)},p=()=>{c!==null&&(clearTimeout(c),c=null)},m=()=>{a||(a=!0,x.disconnect(),t.removeEventListener(`scroll`,b),f(),p())},h=()=>{f(),!(a||o)&&(s=setTimeout(()=>{s=null,m()},n))},g=()=>{p(),!(a||o)&&(c=setTimeout(()=>{c=null,m()},r))},_=()=>{if(a)return;let e=jW(t,i.messageId);if(!e){m();return}i.messageId=e.messageId,i.offsetTop=e.offsetTop,d=t.scrollTop,u=!1},v=()=>{if(a)return;if(e.isUserScrolling?.()){u=!0;return}if(u){_();return}if(Math.abs(t.scrollTop-d)>OW){_();return}let n=kW(t,i.messageId);if(!n){let e=AW(t);if(!e){m();return}let r=e.dataset.messageId;if(!r){m();return}let a=t.getBoundingClientRect();i.messageId=r,i.offsetTop=e.getBoundingClientRect().top-a.top,n=e,d=t.scrollTop}let r=t.getBoundingClientRect(),o=n.getBoundingClientRect().top-r.top-i.offsetTop;Math.abs(o)>OW&&(t.scrollTop+=o),d=t.scrollTop},y=()=>{a||l||(l=!0,queueMicrotask(()=>{l=!1,v()}))},b=()=>{e.isUserScrolling?.()?u=!0:(u||Math.abs(t.scrollTop-d)>OW)&&_(),h(),g()},x=new MutationObserver(()=>{a||(y(),h())});return x.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`style`,`class`]}),t.addEventListener(`scroll`,b,{passive:!0}),g(),h(),{rebase:_,dispose:m,settle(){a||!o||(o=!1,h(),g())}}},NW=30,PW=1200,FW=1.5,IW=e=>Math.max(PW,e*FW),LW=4,RW=30,zW=4,BW=30,VW=250,HW=1500,UW=2e3,WW=Lo+2e3,GW=40,KW=`history-loading-timeout`,qW=e=>!!(e&&typeof e==`object`&&e.code===`history-loading-timeout`),JW=()=>{let e=Error(`chat history pagination wait timed out`);return e.code=KW,e},YW=(e,t,n)=>{if(e===`no-growth`){console.error(`[chat-history] load older completed without prepending messages`,t instanceof Error?t:Error(`chat history pagination returned no growth`),n);return}if(e===`timeout`){console.error(`[chat-history] load older timed out waiting for sync pagination`,t,n);return}console.error(`[chat-history] load older failed`,t,n)},XW=2500,ZW=new Map,QW=()=>K()?LW:ki()?zW:NW,$W=e=>K()?e.length<=RW:!ki()||e.length<=BW,eG=(e,t)=>{if(ZW.delete(e),!$W(t.messages))return;let n=QW();for(;ZW.size>=n;){let e=ZW.keys().next().value;if(typeof e!=`string`)break;ZW.delete(e)}ZW.set(e,t)},tG=e=>!!(e.previousOldestId&&e.currentOldestId&&e.currentOldestId!==e.previousOldestId&&e.previousNewestId&&e.currentNewestId&&e.currentNewestId===e.previousNewestId),nG=e=>e?{owner:`tanstack-core`}:{owner:`controller`},rG=(e,t)=>e?e.canLoadEarlier:t>=wW().HISTORICAL_MESSAGES,iG=e=>!(e.isLoadingOlder||e.pendingRevealWork||!e.canLoadEarlier||e.source===`scroll`&&e.isPinned||e.scrollTop>=IW(e.clientHeight)),aG=e=>e.hasMoreAbove?e.scrollHeightAfter-e.scrollHeightBefore>1?`stop-visible`:e.messageCountAfter>e.messageCountBefore||typeof e.oldestIdBefore==`string`&&typeof e.oldestIdAfter==`string`&&e.oldestIdBefore!==e.oldestIdAfter||e.cursorBefore==null&&e.limitAfter>e.limitBefore||typeof e.cursorAfter==`string`&&e.cursorAfter!==e.cursorBefore?e.pagesLoaded>=e.maxPages?`stop-bounded`:`continue`:`stop-no-growth`:`stop-exhausted`,oG=8,sG=1,cG=8,lG=e=>[`chat-timeline-load-earlier`,e.runtimeKey,e.sessionId],uG=80,dG=new WeakMap,fG=e=>{let t=e?dG.get(e):void 0;return!!(t&&(t.touches>0||performance.now()-t.lastScrollAt<160))},pG=e=>{let t=dG.get(e);t&&(t.touches=0,t.lastScrollAt=-1/0,t.pending=null,t.settleScheduled=!1)},mG=e=>{hG(e)},hG=e=>{let t=dG.get(e);if(t)return t;let n={touches:0,lastScrollAt:-1/0,pending:null,settleScheduled:!1};e.addEventListener(`touchstart`,()=>{n.touches+=1},{passive:!0});let r=()=>{n.touches=Math.max(0,n.touches-1),n.touches===0&&n.pending&&gG(e,n)};return e.addEventListener(`touchend`,r,{passive:!0}),e.addEventListener(`touchcancel`,r,{passive:!0}),e.addEventListener(`scroll`,()=>{n.lastScrollAt=performance.now()},{passive:!0}),dG.set(e,n),n},gG=(e,t)=>{t.settleScheduled||typeof window>`u`||(t.settleScheduled=!0,window.requestAnimationFrame(()=>{t.settleScheduled=!1;let n=t.pending;t.pending=null,!(!n||t.touches>0||!e.isConnected)&&(Math.abs(e.scrollTop-n.anchorTop)>n.delta+uG||_G(e,n.anchorTop+n.delta))}))},_G=(e,t)=>{let n=e.style.overflowX,r=e.style.overflowY;e.style.overflow=`hidden`,e.scrollTop=t,e.scrollHeight,e.style.overflowX=n,e.style.overflowY=r,e.scrollTop=t},vG=(e,t,n)=>{let r=hG(e);if(r.touches>0&&typeof n==`number`&&n>0){r.pending=r.pending?{anchorTop:r.pending.anchorTop,delta:r.pending.delta+n}:{anchorTop:e.scrollTop,delta:n};return}r.pending=null,_G(e,t)},yG=(e,t,n)=>!e||!t||t===e?!1:n.some(t=>t.info.id===e),bG=({sessionId:e,directory:t=null,messages:n,historyMeta:r,scrollRef:i,messageListRef:a,loadMoreMessages:o,goToBottom:c,releaseAutoFollow:u,beginHistoryViewportPreservation:d,endHistoryViewportPreservation:f,isPinned:p,showScrollButton:m,isMobile:h,onWillLoadEarlier:g})=>{let _=Z.useRef(h);_.current=h;let v=Z.useRef(null),y=Z.useRef(null),b=Z.useMemo(()=>{let t=e??``,r=t?ZW.get(t):void 0;if(r&&r.messages===n)return eG(t,r),v.current=r.model,y.current=n,r.model;let i=_W(v.current,y.current,n)??vW(n);return v.current=i,y.current=n,t&&n.length>0&&eG(t,{messages:n,model:i}),i},[n,e]),[x,S]=Z.useState(!1),[C,w]=Z.useState(!1),[T,E]=Z.useState(null),D=Z.useRef(0),O=l(),k=s(),A=Z.useMemo(()=>({runtimeKey:O,runtimeGeneration:k,sessionId:e,directory:t}),[O,k,e,t]),j=Z.useRef(A);j.current=A;let M=`chat-history-error:${JSON.stringify([O,t??null,e])}`;Bn(()=>(j.current=A,()=>{j.current===A&&(j.current=null),mi.dismiss(M)}),[A,M]);let N=Z.useRef(b),P=Z.useRef(p),F=Z.useRef(x),I=Z.useRef(C),L=Z.useRef(e),R=Z.useRef(t??null),z=Z.useRef(n),B=Z.useRef(r),V=Z.useRef([]),H=Z.useRef(null),ee=Z.useRef(null),U=Z.useRef(!1),te=Z.useRef(null),ne=Z.useRef({authorized:!1,consumed:!1,top:0}),W=Z.useRef(null),G=J(()=>{ne.current={authorized:!1,consumed:F.current,top:i.current?.scrollTop??0}}),re=()=>h?i.current??void 0:void 0,ie=J(e=>{e.repeat||G()});Hn(`touchstart`,G,re,{passive:!0,capture:!0}),Hn(`wheel`,G,re,{passive:!0,capture:!0}),Hn(`keydown`,ie,re,{capture:!0});let[ae,oe]=Z.useState(A);ae!==A&&(oe(A),te.current!==null&&typeof window<`u`&&(window.clearTimeout(te.current),te.current=null),U.current=!1,F.current=!1,ee.current=null,S(!1),w(!1),E(null),D.current=0,ne.current={authorized:!1,consumed:!1,top:0},W.current=null);let se=Z.useMemo(()=>{let e=rG(r,n.length);return{hasBufferedTurns:!1,hasMoreAboveTurns:e,historyLoading:!!r?.loading,canLoadEarlier:e}},[r,n.length]),K=Z.useRef(se);N.current=b,P.current=p,I.current=C,K.current=se,L.current=e,R.current=t??null,z.current=n,B.current=r,Bn(()=>{r?.complete&&mi.dismiss(M)},[r?.complete,M]);let ce=J(()=>{U.current=!0,te.current!==null&&typeof window<`u`&&(window.clearTimeout(te.current),te.current=null)}),le=J(()=>{if(typeof window>`u`){U.current=!1;return}te.current!==null&&window.clearTimeout(te.current),te.current=window.setTimeout(()=>{te.current=null,U.current=!1},UW)}),ue=J(()=>{let e=V.current;e.length!==0&&(V.current=[],e.forEach(e=>e()))}),de=J(()=>new Promise(e=>{if(typeof window>`u`){e();return}let t=!1,n=()=>{t||(t=!0,window.clearTimeout(r),e())};V.current.push(n);let r=window.setTimeout(n,VW)})),fe=J(e=>{let t=H.current;t&&(H.current=null,t.resolve(e))}),pe=J(()=>{let e=H.current;if(e){if(e.sessionId!==L.current){fe(!1);return}if(e.kind===`turn`?a.current?.scrollToTurnId(e.id,{behavior:e.behavior})??!1:a.current?.scrollToMessageId(e.id,{behavior:e.behavior})??!1){e.turnId&&(ee.current={turnId:e.turnId,expiresAt:Date.now()+XW},E(e.turnId)),fe(!0);return}typeof(e.kind===`turn`?N.current.turnIndexById.get(e.id):N.current.messageToTurnIndex.get(e.id))==`number`&&fe(!1)}}),me=Z.useRef(null),he=J(()=>{let e=me.current;e&&(me.current=null,e.dispose())});zn(()=>{te.current!==null&&typeof window<`u`&&(window.clearTimeout(te.current),te.current=null),he(),ue(),fe(!1)});let ge=Z.useRef({scope:A,messages:n}),_e=ge.current,ve=_e.scope===A&&_e.messages!==n&&ki()&&!a.current?.isHistoryVirtualized()&&yG(_e.messages[0]?.info?.id??null,n[0]?.info?.id??null,n)&&fG(i.current),ye=ve?_e.messages:n;Bn(()=>{ge.current={scope:A,messages:ye}},[A,ye]);let[,be]=Z.useReducer(e=>e+1,0);Bn(()=>{ue(),pe()},[ye]);let xe=Z.useRef(null),Se=J(()=>a.current?.captureViewportAnchor()??null),Ce=J(e=>a.current?.restoreViewportAnchor(e)??!1),we=J(()=>{if(he(),a.current?.isHistoryVirtualized())return;let e=i.current;if(!e)return;let t=Se();if(t)return me.current=MW({container:e,anchor:t,pending:!0,isUserScrolling:ki()?()=>fG(e):void 0}),me.current}),Te=Z.useRef(null);In(J(()=>{let e=i.current;if(!e||!ve)return;let t=e.scrollHeight;Te.current={oldestId:ye[0]?.info?.id??null,newestId:ye.at(-1)?.info?.id??null,scrollHeight:t};let n=xe.current;n&&(xe.current={...n,height:t,top:e.scrollTop,anchor:Se()}),be()}),ve?50:null);let Ee=Z.useRef(null);Bn(()=>{if(!ki())return;let e=i.current;if(!e){Ee.current=null;return}let t=Ee.current;(t?.container!==e||t.scope!==A)&&(mG(e),pG(e),Ee.current={container:e,scope:A})}),Bn(()=>{he(),xe.current=null,Te.current=null,a.current?.cancelViewportAnchorHold()},[A]),Bn(()=>{let e=i.current;if(!e)return;let t=xe.current;a.current?.isHistoryVirtualized()&&he(),t&&Math.abs(e.scrollTop-t.top)>cG&&(xe.current=null,t=null);let n=Te.current,r=ye[0]?.info?.id??null,o=ye[ye.length-1]?.info?.id??null,s=n?tG({previousOldestId:n.oldestId,previousNewestId:n.newestId,currentOldestId:r,currentNewestId:o})||yG(n.oldestId,r,ye):!1;t&&t.sessionId!==L.current&&(xe.current=null,t=null);let l=t?tG({previousOldestId:t.oldestId,previousNewestId:t.newestId,currentOldestId:r,currentNewestId:o})||yG(t.oldestId,r,ye):!1,u=s||l,d=e=>{Te.current={oldestId:r,newestId:o,scrollHeight:e??Te.current?.scrollHeight??null}};if(P.current&&!t){he(),u?(xe.current=null,c(`instant`,{reveal:!1}),d(e.scrollHeight)):d();return}let f=nG(a.current?.isHistoryVirtualized()??!1);if(t){if(f.owner===`tanstack-core`){a.current?.cancelViewportAnchorHold();let e=t.anchor;e&&Ce(e),d();return}let n=e.scrollHeight,r=n-t.height;if(ki()){r>0&&vG(e,t.top+r,r),d(n);return}let i=t.anchor;!(i&&Ce(i))&&r>0&&(e.scrollTop=t.top+r),me.current?.rebase(),d(n);return}if(s&&n&&f.owner===`controller`){let t=e.scrollHeight,r=n.scrollHeight===null?0:t-n.scrollHeight;if(r>0){let t=e.scrollTop+r;ki()?vG(e,t,r):e.scrollTop=t}d(t),we();return}d()},[ye,c]);let De=J(async()=>!1),Oe=J(async e=>{let t=j.current,n=()=>t===j.current&&t?.runtimeKey===l()&&t?.runtimeGeneration===s(),r=Date.now(),i=r+WW,a=R.current,o=a?at()?.getRequestState?.(bt(a,e)):void 0;for(K.current.historyLoading,B.current,o?.status,o?.error;K.current.historyLoading;){if(!n()||L.current!==e)return Date.now()-r,`switched`;if(Date.now()>=i){let t=a?at()?.getRequestState?.(bt(a,e)):void 0;return console.error(`[chat-history] historyLoading wait timed out — sync flag still true`,{sessionId:e,directory:a,elapsedMs:Date.now()-r,waitMs:WW,hostTurnPageTimeoutMs:Lo,historyLoading:K.current.historyLoading,historyMeta:B.current,requestStatusAtStart:o?.status??null,requestStatusAtTimeout:t?.status??null,requestErrorAtTimeout:t?.error??null,likelyStaleLoadingFlag:t?.status===`ready`||t?.status===`error`||t==null}),`timeout`}await new Promise(e=>{if(typeof window>`u`){e();return}window.setTimeout(e,GW)})}return Date.now()-r,a&&at()?.getRequestState?.(bt(a,e))?.status,n()&&L.current===e?`cleared`:`switched`}),ke=J(async e=>{if(!L.current||F.current||!K.current.hasMoreAboveTurns)return!1;F.current=!0,ce(),S(!0);let t=L.current,n=j.current,r=()=>n===j.current&&n?.runtimeKey===l()&&n?.runtimeGeneration===s(),c=()=>n?.directory?at()?.getPagination(bt(n.directory,t)).cursor??null:null,u=M,p=null,m=null,h=!!e.userInitiated;h&&d();let g=()=>{r()&&(m?.settle(),p&&xe.current===p&&(xe.current=null,a.current?.cancelViewportAnchorHold()),h&&(h=!1,f()))};try{if(K.current.historyLoading){if(!e.userInitiated)return!1;let n=await Oe(t);if(n===`timeout`)throw JW();if(n===`switched`||!K.current.hasMoreAboveTurns)return!1}if(!r()||!L.current||L.current!==t)return!1;let n=i.current,a=z.current,s=a.length,l=a[0]?.info?.id??null,d=B.current?.limit??wW().HISTORICAL_MESSAGES;e.preserveViewport&&n&&(p={sessionId:L.current,height:n.scrollHeight,top:n.scrollTop,anchor:Se(),oldestId:l,newestId:a[a.length-1]?.info?.id??null},xe.current=p,Te.current={oldestId:p.oldestId,newestId:p.newestId,scrollHeight:p.height},m=we()??null);let f=s,h=l,_=d,v=0,y=0;for(;;){if(K.current.historyLoading)if(e.userInitiated){let e=await Oe(t);if(e===`timeout`)throw g(),JW();if(e===`switched`)return g(),!1}else return g(),!1;let n=i.current?.scrollHeight??0,a=f,s=h,l=_,d=c();if(await o(t,`up`),v+=1,!r()||L.current!==t)return g(),!1;if(await de(),!r())return!1;let p=(()=>{let t=z.current;return aG({scrollHeightBefore:n,scrollHeightAfter:i.current?.scrollHeight??n,messageCountBefore:a,messageCountAfter:t.length,oldestIdBefore:s,oldestIdAfter:t[0]?.info?.id??null,limitBefore:l,limitAfter:B.current?.limit??_,cursorBefore:d,cursorAfter:c(),hasMoreAbove:K.current.hasMoreAboveTurns,pagesLoaded:v,maxPages:e.singlePage?1:oG})})();if(p===`continue`){let e=z.current;f=e.length,h=e[0]?.info?.id??null,_=B.current?.limit??_;continue}if(p===`stop-no-growth`){if(e.singlePage)return g(),!1;if(K.current.historyLoading){if(e.userInitiated){let e=await Oe(t);if(e===`timeout`)throw g(),JW();if(e===`switched`)return g(),!1;--v;continue}return g(),!1}if(y<sG){y+=1,--v;continue}return D.current=Date.now()+HW,g(),!1}return D.current=0,mi.dismiss(u),!0}}catch(e){throw r()&&(D.current=Date.now()+HW),g(),e}finally{r()&&(F.current=!1,S(!1),le(),de().then(g))}}),{t:Ae}=Kn(),je=Tn({mutationKey:lG({runtimeKey:l(),sessionId:e??``}),mutationFn:async e=>{if(j.current!==e.scope||l()!==e.scope.runtimeKey||s()!==e.scope.runtimeGeneration||L.current!==e.sessionId)return!1;ce(),e.userInitiated&&u();try{return await ke({preserveViewport:!0,userInitiated:!!e.userInitiated,singlePage:e.singlePage})}finally{j.current===e.scope&&s()===e.scope.runtimeGeneration&&le()}}}),Me=J(async e=>{let t=L.current;if(!t||!K.current.canLoadEarlier)return;let n=A,r=M,i=()=>j.current===n&&l()===n.runtimeKey&&s()===n.runtimeGeneration;if(!(je.isPending&&je.variables?.sessionId===t&&je.variables?.scope===n)){e?.userInitiated&&g?.();try{let r=await je.mutateAsync({sessionId:t,scope:n,userInitiated:!!e?.userInitiated,singlePage:e?.singlePage});if(!i())return;if(r===!1&&K.current.canLoadEarlier){let n={sessionId:t,grew:r,userInitiated:!!e?.userInitiated,canLoadEarlier:K.current.canLoadEarlier,hasMoreAboveTurns:K.current.hasMoreAboveTurns,historyLoading:K.current.historyLoading,historyMeta:B.current,messageCount:z.current.length,oldestMessageId:z.current[0]?.info?.id??null};YW(`no-growth`,Error(`chat history pagination returned no growth`),n)}}catch(n){let a={sessionId:t,userInitiated:!!e?.userInitiated,waitMs:WW,hostTurnPageTimeoutMs:Lo,canLoadEarlier:K.current.canLoadEarlier,historyLoading:K.current.historyLoading,historyMeta:B.current,messageCount:z.current.length,oldestMessageId:z.current[0]?.info?.id??null};qW(n)?YW(`timeout`,n,a):YW(`failed`,n,a),i()&&e?.userInitiated&&mi.error(qW(n)?Ae(`chat.history.loadOlderTimeout`):Ae(`chat.history.loadOlderFailed`),{id:r})}}}),Ne=je.isPending&&je.variables?.sessionId===e&&je.variables?.scope===A||x,Pe=J(e=>{if(Date.now()<D.current)return;let t=i.current;if(t){if(_.current){let n=ne.current,r=t.scrollTop<n.top;if(n.top=t.scrollTop,n.consumed||(e===`upward-intent`&&(n.authorized=!0),!n.authorized||e===`scroll`&&!r))return}else if(F.current){W.current=null;return}else if(e===`upward-intent`)W.current={top:t.scrollTop};else{let e=W.current;if(!e)return;let n=t.scrollTop<e.top;if(t.scrollTop>e.top||P.current?W.current=null:e.top=t.scrollTop,!n)return}iG({source:e,isMobile:_.current,isPinned:P.current,scrollTop:t.scrollTop,clientHeight:t.clientHeight,canLoadEarlier:K.current.canLoadEarlier,isLoadingOlder:F.current,pendingRevealWork:I.current})&&(_.current&&(ne.current.consumed=!0),W.current=null,Me({userInitiated:!0,singlePage:_.current}))}}),Fe=J(()=>{Pe(`scroll`)}),Ie=J(()=>{Pe(`upward-intent`)}),Le=J(async(t,n)=>{if(!t||!L.current)return!1;u(),w(!0);try{return L.current!==e||typeof N.current.turnIndexById.get(t)!=`number`?!1:!!await new Promise(r=>{H.current={sessionId:L.current??e??``,kind:`turn`,id:t,behavior:n?.behavior??`auto`,turnId:t,resolve:r},pe()})}finally{w(!1)}}),Re=Z.useRef(null),ze=J(async(t,n)=>{if(!t||!L.current)return!1;let r=`${L.current}:${t}`;if(Re.current===r)return!1;Re.current=r;let i=L.current;u(),w(!0);try{if(L.current!==e)return!1;for(;!N.current.messageToTurnId.has(t)&&K.current.hasMoreAboveTurns;){if(L.current!==i||Re.current!==r)return!1;let e=z.current[0]?.info.id;if(await Me({userInitiated:!0,singlePage:!0}),await de(),z.current[0]?.info.id===e)break}if(L.current!==i||Re.current!==r)return!1;let a=N.current.messageToTurnId.get(t);return typeof N.current.messageToTurnIndex.get(t)==`number`&&!!await new Promise(r=>{H.current={sessionId:L.current??e??``,kind:`message`,id:t,behavior:n?.behavior??`auto`,turnId:a??null,resolve:r},pe()})}finally{Re.current===r&&(Re.current=null),w(!1)}}),Be=J(async()=>{Re.current=null,w(!1),F.current=!1,S(!1),c(`smooth`)}),Ve=J(async()=>{w(!1),F.current=!1,S(!1),c(`instant`)}),He=J(e=>{let t=ee.current;if(t){if(e!==t.turnId&&Date.now()<t.expiresAt)return;ee.current=null}E(e)});return{turnIds:b.turnIds,turnStart:0,renderedMessages:ye,historySignals:se,isLoadingOlder:Ne,pendingRevealWork:C,activeTurnId:T,showScrollToBottom:m&&!C,turnWindowModel:b,loadEarlier:Me,revealBufferedTurns:De,resumeToBottom:Be,resumeToBottomInstant:Ve,scrollToTurn:Le,scrollToMessage:ze,handleHistoryScroll:Fe,handleHistoryUpwardIntent:Ie,captureViewportAnchor:Se,restoreViewportAnchor:Ce,handleActiveTurnChange:He}},xG=12,SG=50,CG=800;function wG(e){let t=(0,Q.c)(15),{scope:n,enabled:r,cursor:i,loadedTurns:a,messages:o,scrollRef:s,loadPrevious:c}=e,[l,u]=Z.useState(null),d=Z.useRef(l),f=Z.useRef(!1),p=Z.useRef(null),m=r&&i!==null&&a<xG&&l!==n,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{d.current=null,u(null)},t[0]=h):h=t[0];let g;t[1]===n?g=t[2]:(g=[n],t[1]=n,t[2]=g),Z.useEffect(h,g);let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{p.current=null},t[3]=_):_=t[3];let v;t[4]!==i||t[5]!==m||t[6]!==o||t[7]!==n?(v=[n,m,i,o],t[4]=i,t[5]=m,t[6]=o,t[7]=n,t[8]=v):v=t[8],Z.useEffect(_,v);let y;t[9]!==i||t[10]!==m||t[11]!==c||t[12]!==n||t[13]!==s?(y=()=>{let e=s.current;if(d.current===n)return;if(!m||!i||!e||f.current||document.visibilityState===`hidden`){p.current=null;return}let t=e.scrollHeight,r=e.scrollTop,a=p.current;if(!a||a.height!==t||a.top!==r){p.current={height:t,top:r,since:Date.now()};return}Date.now()-a.since<CG||(d.current=n,u(n),f.current=!0,c(SG).catch(TG).finally(()=>{f.current=!1}))},t[9]=i,t[10]=m,t[11]=c,t[12]=n,t[13]=s,t[14]=y):y=t[14],In(J(y),m?200:null)}function TG(e){console.error(`[chat-history] desktop history warmup failed`,e)}var EG=({mutateSession:e,forkSession:t})=>({revert:e,fork:t}),DG=({open:e,onOpenChange:t,sessionID:n,directory:r,onScrollToMessage:i,onScrollByTurnOffset:a,onResumeToLatest:o,canLoadEarlier:s=!1,isLoadingEarlier:c=!1,onLoadEarlier:l,onRevertMessage:u})=>{let[d,f]=Z.useState(null),[p,m]=Z.useState(``),[h,g]=Z.useState(0),_=Z.useRef(!1),v=Z.useRef(0),y=J(async(e,n,r)=>{if(_.current)return;_.current=!0;let i=v.current+1;v.current=i,f({type:e,messageId:n});try{await r(),t(!1)}finally{v.current===i&&(_.current=!1,f(null))}});return n?(0,$.jsx)(ps,{open:e,onOpenChange:t,children:(0,$.jsx)(ls,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:(0,$.jsx)(OG,{open:e,onOpenChange:t,sessionID:n,directory:r,onScrollToMessage:i,onScrollByTurnOffset:a,onResumeToLatest:o,canLoadEarlier:s,isLoadingEarlier:c,onLoadEarlier:l,onRevertMessage:u,searchQuery:p,onSearchQueryChange:m,selectedIndex:h,onSelectedIndexChange:g,pendingAction:d,runPendingMessageAction:y})})}):null},OG=e=>{let t=(0,Q.c)(145),{open:n,onOpenChange:r,sessionID:i,directory:a,onScrollToMessage:o,onScrollByTurnOffset:s,onResumeToLatest:c,canLoadEarlier:l,isLoadingEarlier:u,onLoadEarlier:d,onRevertMessage:f,searchQuery:p,onSearchQueryChange:m,selectedIndex:h,onSelectedIndexChange:g,pendingAction:_,runPendingMessageAction:v}=e,{t:y}=Kn(),b=Bb(),x=i,S=fa(x??``,a),C=ma(AG),w=ma(jG),T;t[0]===b.capabilities?T=t[1]:(T=EG(b.capabilities),t[0]=b.capabilities,t[1]=T);let E=T,{isMobile:D,isTablet:O}=Bc(),k=D||O,A;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(A=[],t[2]=A):A=t[2];let j=Z.useRef(A),M=Z.useRef(null),N=Z.useRef(null),P=Z.useRef(!1),F=Z.useRef(!1),I=MG,L=NG,R;t[3]===S?R=t[4]:(R=S.filter(PG).map(FG),t[3]=S,t[4]=R);let z=R,B;if(t[5]!==p||t[6]!==z){bb0:{let e=p.trim();if(!e){B=z;break bb0}let t=e.toLowerCase();B=z.filter(e=>{let{message:n}=e;return qH(n.parts).toLowerCase().includes(t)})}t[5]=p,t[6]=z,t[7]=B}else B=t[7];let V=B,H;t[8]!==V.length||t[9]!==g||t[10]!==p?(H=()=>{P.current||g(p.trim()?0:Math.max(0,V.length-1))},t[8]=V.length,t[9]=g,t[10]=p,t[11]=H):H=t[11];let ee;t[12]!==V||t[13]!==g||t[14]!==p?(ee=[V,p,g],t[12]=V,t[13]=g,t[14]=p,t[15]=ee):ee=t[15],Z.useEffect(H,ee);let U,te;t[16]===V.length?(U=t[17],te=t[18]):(U=()=>{j.current=j.current.slice(0,V.length)},te=[V.length],t[16]=V.length,t[17]=U,t[18]=te),Z.useEffect(U,te);let ne,W;t[19]===h?(ne=t[20],W=t[21]):(W=()=>{P.current||j.current[h]?.scrollIntoView({block:`nearest`})},ne=[h],t[19]=h,t[20]=ne,t[21]=W),Z.useEffect(W,ne);let G;t[22]===u?G=t[23]:(G=()=>{!P.current||N.current||u||(P.current=!1)},t[22]=u,t[23]=G);let re;t[24]!==V.length||t[25]!==u?(re=[V.length,u],t[24]=V.length,t[25]=u,t[26]=re):re=t[26],Z.useEffect(G,re);let ie,ae;t[27]!==n||t[28]!==p?(ie=()=>{let e=F.current;if(F.current=n,!n||e||P.current||p.trim())return;let t=M.current;t&&(t.scrollTop=t.scrollHeight)},ae=[n,p],t[27]=n,t[28]=p,t[29]=ie,t[30]=ae):(ie=t[29],ae=t[30]),Z.useLayoutEffect(ie,ae);let oe;t[31]===u?oe=t[32]:(oe=()=>{let e=N.current,t=M.current;if(!e||!t||u)return;N.current=null;let n=j.current.find(t=>t?.dataset.timelineMessageId===e.messageId);if(!n)return;let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top;t.scrollTop+=r-e.top},t[31]=u,t[32]=oe);let se;t[33]!==V.length||t[34]!==u?(se=[V.length,u],t[33]=V.length,t[34]=u,t[35]=se):se=t[35],Z.useLayoutEffect(oe,se);let K;t[36]===d?K=t[37]:(K=()=>{let e=M.current;if(e){let t=e.getBoundingClientRect().top,n=j.current.find(e=>e?e.getBoundingClientRect().bottom>=t:!1);n?.dataset.timelineMessageId&&(N.current={messageId:n.dataset.timelineMessageId,top:n.getBoundingClientRect().top-t})}P.current=!0,d?.()},t[36]=d,t[37]=K);let ce=J(K),le;t[38]!==r||t[39]!==o?(le=async e=>{await o?.(e)!==!1&&r(!1)},t[38]=r,t[39]=o,t[40]=le):le=t[40];let ue=J(le),de;t[41]!==V||t[42]!==ue||t[43]!==g||t[44]!==h?(de=e=>{let t=V.length;if(t!==0){if(e.key===`ArrowDown`){e.preventDefault(),g(e=>(e+1)%t);return}if(e.key===`ArrowUp`){e.preventDefault(),g(e=>(e-1+t)%t);return}if(e.key===`Enter`){e.preventDefault();let n=(h%t+t)%t,r=V[n];r&&ue(r.message.info.id)}}},t[41]=V,t[42]=ue,t[43]=g,t[44]=h,t[45]=de):de=t[45];let fe=J(de),pe;t[46]!==x||t[47]!==a||t[48]!==w||t[49]!==f||t[50]!==C||t[51]!==v?(pe=async(e,t)=>{x&&await v(e,t,async()=>{e===`revert`?f?await f(t):await C(x,t,{directory:a}):await w(x,t,{directory:a})})},t[46]=x,t[47]=a,t[48]=w,t[49]=f,t[50]=C,t[51]=v,t[52]=pe):pe=t[52];let me=J(pe),he;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(X,{name:`time`,className:`h-5 w-5`}),t[53]=he):he=t[53];let ge;t[54]===y?ge=t[55]:(ge=y(`chat.timeline.title`),t[54]=y,t[55]=ge);let _e;t[56]===ge?_e=t[57]:(_e=(0,$.jsxs)(us,{className:`flex items-center gap-2`,children:[he,ge]}),t[56]=ge,t[57]=_e);let ve;t[58]===y?ve=t[59]:(ve=y(`chat.timeline.description`),t[58]=y,t[59]=ve);let ye;t[60]===ve?ye=t[61]:(ye=(0,$.jsx)(ds,{children:ve}),t[60]=ve,t[61]=ye);let be;t[62]!==_e||t[63]!==ye?(be=(0,$.jsxs)(ss,{children:[_e,ye]}),t[62]=_e,t[63]=ye,t[64]=be):be=t[64];let xe;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(X,{name:`search`,className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),t[65]=xe):xe=t[65];let Se;t[66]===y?Se=t[67]:(Se=y(`chat.timeline.searchPlaceholder`),t[66]=y,t[67]=Se);let Ce;t[68]===m?Ce=t[69]:(Ce=e=>m(e.target.value),t[68]=m,t[69]=Ce);let we;t[70]!==fe||t[71]!==p||t[72]!==Se||t[73]!==Ce?(we=(0,$.jsxs)(`div`,{className:`relative mt-2`,children:[xe,(0,$.jsx)(Rs,{autoFocus:!0,placeholder:Se,value:p,onChange:Ce,onKeyDown:fe,className:`pl-9 w-full`})]}),t[70]=fe,t[71]=p,t[72]=Se,t[73]=Ce,t[74]=we):we=t[74];let Te;t[75]!==l||t[76]!==ce||t[77]!==u||t[78]!==d||t[79]!==y?(Te=l&&d&&(0,$.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,$.jsxs)(Xn,{type:`button`,variant:`link`,size:`sm`,onClick:ce,disabled:u,className:`h-auto px-1 py-0 text-muted-foreground hover:text-foreground`,children:[u&&(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),y(`chat.history.loadOlder`)]})}),t[75]=l,t[76]=ce,t[77]=u,t[78]=d,t[79]=y,t[80]=Te):Te=t[80];let Ee;t[81]!==E.fork||t[82]!==E.revert||t[83]!==k||t[84]!==V||t[85]!==me||t[86]!==ue||t[87]!==g||t[88]!==_||t[89]!==p||t[90]!==h||t[91]!==y?(Ee=V.length===0?(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:y(p?`chat.timeline.empty.search`:`chat.timeline.empty.session`)}):V.map((e,t)=>{let{message:n}=e,r=JH(n.parts),i=n.info.time.created,a=I(i),o=V[t-1],s=a!==(o?I(o.message.info.time.created):null),c=L(i),l=t===h,u=p.trim()?kG(qH(n.parts),p):null;return(0,$.jsxs)(Z.Fragment,{children:[s&&(0,$.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-3 bg-background/95 py-2 backdrop-blur-sm`,children:[(0,$.jsx)(`div`,{className:`h-px flex-1 bg-border/60`}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a}),(0,$.jsx)(`div`,{className:`h-px flex-1 bg-border/60`})]}),(0,$.jsxs)(`div`,{ref:e=>{j.current[t]=e},"data-timeline-message-id":n.info.id,className:Y(`group flex items-center gap-3 py-1.5 hover:bg-interactive-hover/30 rounded transition-colors cursor-pointer`,l&&`bg-interactive-selection text-interactive-selection-foreground`),onClick:()=>void ue(n.info.id),onMouseEnter:()=>g(t),children:[(0,$.jsx)(`span`,{className:Y(`typography-meta w-16 flex-shrink-0 text-right tabular-nums`,l?`text-interactive-selection-foreground/70`:`text-muted-foreground`),children:c}),(0,$.jsxs)(`p`,{className:Y(`flex-1 min-w-0 typography-micro truncate`,l?`text-interactive-selection-foreground`:`text-foreground`),children:[u??(r||y(`chat.timeline.noTextContent`)),!u&&r&&r.length>=80&&`…`]}),(0,$.jsx)(`div`,{className:`flex-shrink-0 h-5 flex items-center mr-2`,children:(0,$.jsxs)(`div`,{className:Y(`gap-1`,k?`flex`:`hidden group-hover:flex`),children:[E.revert?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:`size-5 text-muted-foreground hover:text-foreground`,"aria-busy":_?.type===`revert`&&_.messageId===n.info.id,disabled:_!==null,onClick:e=>{e.stopPropagation(),me(`revert`,n.info.id)},children:(0,$.jsx)(X,{name:_?.type===`revert`&&_.messageId===n.info.id?`loader-4`:`arrow-go-back`,className:Y(`h-4 w-4`,_?.type===`revert`&&_.messageId===n.info.id&&`animate-spin`)})})}),(0,$.jsx)(Bs,{sideOffset:6,children:y(`chat.timeline.actions.revertFromHere`)})]}):null,E.fork?(0,$.jsxs)(Vs,{children:[(0,$.jsx)(zs,{asChild:!0,children:(0,$.jsx)(Xn,{type:`button`,variant:`ghost`,size:`icon`,className:`size-5 text-muted-foreground hover:text-foreground`,"aria-busy":_?.type===`fork`&&_.messageId===n.info.id,onClick:e=>{e.stopPropagation(),me(`fork`,n.info.id)},disabled:_!==null,children:_?.type===`fork`&&_.messageId===n.info.id?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):(0,$.jsx)(X,{name:`git-branch`,className:`h-4 w-4`})})}),(0,$.jsx)(Bs,{sideOffset:6,children:y(`chat.timeline.actions.forkFromHere`)})]}):null]})})]})]},n.info.id)}),t[81]=E.fork,t[82]=E.revert,t[83]=k,t[84]=V,t[85]=me,t[86]=ue,t[87]=g,t[88]=_,t[89]=p,t[90]=h,t[91]=y,t[92]=Ee):Ee=t[92];let De;t[93]===Ee?De=t[94]:(De=(0,$.jsx)(`div`,{ref:M,className:`flex-1 overflow-y-auto`,children:Ee}),t[93]=Ee,t[94]=De);let Oe;t[95]===y?Oe=t[96]:(Oe=y(`chat.timeline.actions.title`),t[95]=y,t[96]=Oe);let ke;t[97]===Oe?ke=t[98]:(ke=(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground font-medium mb-2`,children:Oe}),t[97]=Oe,t[98]=ke);let Ae;t[99]!==r||t[100]!==s?(Ae=()=>{s?.(-1),r(!1)},t[99]=r,t[100]=s,t[101]=Ae):Ae=t[101];let je;t[102]===y?je=t[103]:(je=y(`chat.timeline.actions.previousTurn`),t[102]=y,t[103]=je);let Me;t[104]!==Ae||t[105]!==je?(Me=(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:Ae,children:je}),t[104]=Ae,t[105]=je,t[106]=Me):Me=t[106];let Ne;t[107]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`/`}),t[107]=Ne):Ne=t[107];let Pe;t[108]!==r||t[109]!==c?(Pe=()=>{c?.(),r(!1)},t[108]=r,t[109]=c,t[110]=Pe):Pe=t[110];let Fe;t[111]===y?Fe=t[112]:(Fe=y(`chat.timeline.actions.latest`),t[111]=y,t[112]=Fe);let Ie;t[113]!==Pe||t[114]!==Fe?(Ie=(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:Pe,children:Fe}),t[113]=Pe,t[114]=Fe,t[115]=Ie):Ie=t[115];let Le;t[116]!==Me||t[117]!==Ie?(Le=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[Me,Ne,Ie]}),t[116]=Me,t[117]=Ie,t[118]=Le):Le=t[118];let Re;t[119]===y?Re=t[120]:(Re=y(`chat.timeline.help.clickMessage`),t[119]=y,t[120]=Re);let ze;t[121]===Re?ze=t[122]:(ze=(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(`span`,{children:Re})}),t[121]=Re,t[122]=ze);let Be;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,$.jsx)(X,{name:`arrow-go-back`,className:`h-4 w-4 flex-shrink-0`}),t[123]=Be):Be=t[123];let Ve;t[124]===y?Ve=t[125]:(Ve=y(`chat.timeline.help.undoToPoint`),t[124]=y,t[125]=Ve);let He;t[126]===Ve?He=t[127]:(He=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Be,(0,$.jsx)(`span`,{children:Ve})]}),t[126]=Ve,t[127]=He);let Ue;t[128]!==E.fork||t[129]!==y?(Ue=E.fork?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{children:y(`chat.timeline.help.createSessionFromHere`)})]}):null,t[128]=E.fork,t[129]=y,t[130]=Ue):Ue=t[130];let We;t[131]!==ze||t[132]!==He||t[133]!==Ue?(We=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 typography-meta text-muted-foreground`,children:[ze,He,Ue]}),t[131]=ze,t[132]=He,t[133]=Ue,t[134]=We):We=t[134];let Ge;t[135]!==ke||t[136]!==Le||t[137]!==We?(Ge=(0,$.jsxs)(`div`,{className:`mt-4 p-3 bg-muted/30 rounded-lg`,children:[ke,Le,We]}),t[135]=ke,t[136]=Le,t[137]=We,t[138]=Ge):Ge=t[138];let Ke;return t[139]!==be||t[140]!==we||t[141]!==Te||t[142]!==De||t[143]!==Ge?(Ke=(0,$.jsxs)($.Fragment,{children:[be,we,Te,De,Ge]}),t[139]=be,t[140]=we,t[141]=Te,t[142]=De,t[143]=Ge,t[144]=Ke):Ke=t[144],Ke};function kG(e,t,n=30){let r=e.toLowerCase(),i=t.toLowerCase(),a=r.indexOf(i);if(a===-1)return null;let o=Math.max(0,a-n),s=Math.min(e.length,a+t.length+n);return`${o>0?`…`:``}${e.slice(o,s).replace(/\n/g,` `)}${s<e.length?`…`:``}`}function AG(e){return e.revertToMessage}function jG(e){return e.forkFromMessage}function MG(e){return Ec(e)}function NG(e){return jc(e)}function PG(e){return e.info.role===`user`}function FG(e){return{message:e}}var IG=e=>{let t=e.startsWith(`#`)?e.slice(1):e;if(!t)return null;let n=t.match(/^turn-(.+)$/);if(n?.[1])return{kind:`turn`,id:n[1]};let r=t.match(/^message-(.+)$/);return r?.[1]?{kind:`message`,id:r[1]}:null},LG=(e,t,n)=>{if(n===0||e.length===0)return{kind:`noop`};let r=t?e.indexOf(t):e.length-1,i=(r>=0?r:e.length-1)+n;if(i>=e.length)return{kind:`resume`};let a=e[Math.max(0,i)];return a?{kind:`turn`,turnId:a}:{kind:`noop`}},RG=e=>{if(typeof window>`u`)return;let t=e?`#${e}`:``,n=`${window.location.pathname}${window.location.search}${t}`;window.history.replaceState(window.history.state,``,n),e&&window.dispatchEvent(new HashChangeEvent(`hashchange`))},zG=e=>{e&&RG(`message-${e}`)},BG=e=>{let t=(0,Q.c)(29),{sessionId:n,turnIds:r,activeTurnId:i,scrollToTurn:a,scrollToMessage:o,resumeToBottom:s}=e,c=Z.useRef(r),l=Z.useRef(i),u,d;t[0]===r?(u=t[1],d=t[2]):(u=()=>{c.current=r},d=[r],t[0]=r,t[1]=u,t[2]=d),Z.useEffect(u,d);let f,p;t[3]===i?(f=t[4],p=t[5]):(f=()=>{l.current=i},p=[i],t[3]=i,t[4]=f,t[5]=p),Z.useEffect(f,p);let m;t[6]===a?m=t[7]:(m=async(e,t)=>e?(t?.updateHash!==!1&&RG(`turn-${e}`),a(e,{behavior:t?.behavior})):!1,t[6]=a,t[7]=m);let h=m,g;t[8]===o?g=t[9]:(g=async(e,t)=>e?(t?.updateHash!==!1&&RG(`message-${e}`),o(e,{behavior:t?.behavior})):!1,t[8]=o,t[9]=g);let _=g,v;t[10]!==s||t[11]!==h?(v=async(e,t)=>{let n=c.current,r=LG(n,l.current,e);if(r.kind===`noop`)return e===0;if(r.kind===`resume`){if(t?.resumePastEnd===!1){let e=n[n.length-1];return e?h(e,{behavior:`auto`}):!1}return RG(null),s(),!0}return h(r.turnId,{behavior:`auto`})},t[10]=s,t[11]=h,t[12]=v):v=t[12];let y=v,b;t[13]===s?b=t[14]:(b=()=>{RG(null),s()},t[13]=s,t[14]=b);let x=b,S;t[15]!==_||t[16]!==h||t[17]!==n?(S=()=>{if(!n||typeof window>`u`)return;let e=()=>{let e=IG(window.location.hash);if(e){if(e.kind===`turn`){h(e.id,{behavior:`auto`,updateHash:!1});return}_(e.id,{behavior:`auto`,updateHash:!1})}};return e(),window.addEventListener(`hashchange`,e),()=>{window.removeEventListener(`hashchange`,e)}},t[15]=_,t[16]=h,t[17]=n,t[18]=S):S=t[18];let C;t[19]!==_||t[20]!==h||t[21]!==n||t[22]!==r.length?(C=[n,_,h,r.length],t[19]=_,t[20]=h,t[21]=n,t[22]=r.length,t[23]=C):C=t[23],Z.useEffect(S,C);let w;return t[24]!==x||t[25]!==y||t[26]!==_||t[27]!==h?(w={scrollToTurnId:h,scrollToMessageId:_,scrollByTurnOffset:y,resumeToLatest:x},t[24]=x,t[25]=y,t[26]=_,t[27]=h,t[28]=w):w=t[28],w},VG=2e4,HG=6e4,UG=2e3,WG=e=>e?(typeof e.text==`string`?e.text.length:0)+(typeof e.state?.output==`string`?e.state.output.length:0):0,GG=e=>{if(e.length===0)return`0`;let t=e[e.length-1];if(!t)return`0`;let n=t.parts??[],r=n[n.length-1],i=0;for(let e of n)i+=WG(e);return[e.length,t.info.id,n.length,r?.id??``,r?.state?.status??``,i].join(`:`)},KG={sessionKey:null,fingerprint:null,lastMovementAt:null,lastRefreshAt:null,attempts:0},qG=(e,t)=>{let{sessionKey:n,working:r,streaming:i,fingerprint:a,now:o}=t;if(!n)return{state:KG,shouldRefresh:!1,stalledForMs:0};if(e.sessionKey!==n)return{state:{sessionKey:n,fingerprint:a,lastMovementAt:o,lastRefreshAt:null,attempts:0},shouldRefresh:!1,stalledForMs:0};if(e.fingerprint!==a)return{state:{...e,fingerprint:a,lastMovementAt:o,attempts:0},shouldRefresh:!1,stalledForMs:0};if(!r||i)return{state:{...e,lastMovementAt:o},shouldRefresh:!1,stalledForMs:0};let s=e.lastMovementAt??o,c=o-s,l=e.lastRefreshAt===null||o-e.lastRefreshAt>=t.cooldownMs,u=c>=t.thresholdMs&&l&&e.attempts<t.maxAttempts;return{state:{...e,lastMovementAt:s,lastRefreshAt:u?o:e.lastRefreshAt,attempts:u?e.attempts+1:e.attempts},shouldRefresh:u,stalledForMs:c}},JG=e=>{console.warn(`[transcript] tail frozen while session is working — refetching authority`,e)};function YG(e){return!!(e.active&&e.sessionId&&e.sessionKey&&e.sessionIsWorking)}function XG(e){return e===KG?e:KG}function ZG(e){let t=e.match(/^User has answered your questions:\s*(.+?)\.\s*You can now/s);if(!t)return null;let n=[],r=t[1],i=/"([^"]+)"="([^"]*(?:[^"\\]|\\.)*)"/g,a;for(;(a=i.exec(r))!==null;)n.push({question:a[1],answer:a[2]});return n.length>0?n:null}function QG(e){if(typeof e.id==`string`&&e.id)return e.id;if(typeof e.callID==`string`&&e.callID)return e.callID;let t=e.state;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t.callID;if(typeof e==`string`&&e)return e}return null}function $G(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;if(t.type!==`tool`||t.tool!==`question`)return!1;let n=t.state&&typeof t.state==`object`&&!Array.isArray(t.state)?t.state:{},r=typeof n.status==`string`?n.status:void 0;if(r===`error`)return!1;if(r===`pending`||r===`running`||r===void 0)return!0;if(r!==`completed`)return!1;let i=typeof n.output==`string`?n.output:``;return!i||ZG(i)==null}function eK(e){let t=[];for(let n of e){let e=Array.isArray(n.parts)?n.parts:[];for(let n of e){if(!$G(n))continue;let e=QG(n);e&&t.push(e)}}return t}function tK(e,t){return`${e}:${t.join(`,`)}`}function nK(e){let t=e.sessionId?.trim()??``,n=e.directory?.trim()??``;if(!t||!n||e.sessionQuestionCount>0||e.unansweredToolIds.length===0)return{recover:!1,attemptKey:null};let r=tK(t,e.unansweredToolIds);return e.attemptedKey===r?{recover:!1,attemptKey:r}:{recover:!0,attemptKey:r}}function rK(e,t,n,r){let i=(0,Q.c)(7),a=Mi(),o=Z.useRef(null),s=Z.useRef(`${e??``}:${t??``}`),c,l;i[0]!==a||i[1]!==t||i[2]!==n||i[3]!==e||i[4]!==r?(c=()=>{let i=`${e??``}:${t??``}`;s.current!==i&&(o.current=null,s.current=i);let c=nK({sessionId:e,directory:t,sessionQuestionCount:r,unansweredToolIds:eK(n),attemptedKey:o.current});if(!c.recover||!e||!t||!c.attemptKey)return;let l=a.getChild(t);l&&(o.current=c.attemptKey,Br(t,l,[e]))},l=[e,t,n,r,a],i[0]=a,i[1]=t,i[2]=n,i[3]=e,i[4]=r,i[5]=c,i[6]=l):(c=i[5],l=i[6]),Z.useEffect(c,l)}var iK=e=>!Number.isFinite(e)||e<0?0:Math.ceil(e),aK=(e,t)=>({...e,key:oK(e),estimatedBytes:iK(t)}),oK=({runtimeKey:e,sessionId:t,directory:n})=>JSON.stringify([e,n??``,t]),sK=e=>({key:e?oK(e):null,selection:e}),cK=(e,t,n)=>{let r=Math.max(1,Math.floor(n.maxEntries)),i=Math.max(0,n.maxEstimatedBytes),a=e.reduce((e,t)=>e+t.estimatedBytes,0);if(e.length<=r&&a<=i)return e;let o=[...e];for(;o.length>r||a>i;){let e=o.findIndex(e=>e.key!==t);if(e===-1)break;let[n]=o.splice(e,1);a-=n?.estimatedBytes??0}return o},lK=(e,t,n,r)=>{let i=oK(t),a=e.findIndex(e=>e.key===i),o=a>=0?e[a]:void 0;if(o&&a===e.length-1)return cK(e,i,n);let s=o||aK(t,r),c=a>=0?e.filter((e,t)=>t!==a):[...e];return c.push(s),cK(c,i,n)},uK=(e,t,n)=>{let r=iK(n),i=e.findIndex(e=>e.key===t);return i===-1||e[i].estimatedBytes===r?e:e.map((e,t)=>t===i?{...e,estimatedBytes:r}:e)},dK=(e,t)=>t&&e.some(e=>e.key===t)?t:null,fK=(e,t,n)=>{let r=t.key?e.cachedSessionViews.find(e=>e.key===t.key):void 0,i=r&&t.selection?lK(e.cachedSessionViews,t.selection,n,r.estimatedBytes):cK(e.cachedSessionViews,t.key??``,n),a=!r&&e.pendingSessionView?.intent===t?e.pendingSessionView:null;return e.activeIntent===t&&!e.cacheNeedsTrim&&i===e.cachedSessionViews&&a===e.pendingSessionView?e:{activeIntent:t,cacheNeedsTrim:!1,cachedSessionViews:i,pendingSessionView:a}},pK=(e,t,n,r)=>{if(n!==t||e.activeIntent!==t||!t.selection||e.cachedSessionViews.some(e=>e.key===t.key))return e;let i={entry:aK(t.selection,r),intent:t};return e.pendingSessionView?.intent===t?e:{activeIntent:e.activeIntent,cacheNeedsTrim:e.cacheNeedsTrim,cachedSessionViews:e.cachedSessionViews,pendingSessionView:i}},mK=(e,t,n)=>{let r=e.pendingSessionView;return e.activeIntent!==t||r?.intent!==t||!t.selection?e:{activeIntent:e.activeIntent,cacheNeedsTrim:!1,cachedSessionViews:lK(e.cachedSessionViews,t.selection,n,r.entry.estimatedBytes),pendingSessionView:null}},hK=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},gK=e=>{if(!(!e.info||typeof e.info!=`object`))return e.info},_K=e=>gK(e)?.role===`assistant`,vK=(e,t)=>{let n=gK(t);n&&(e.agentName??=hK(n.agent),e.providerId??=hK(n.providerID),e.modelId??=hK(n.modelID))},yK=e=>!!(e.agentName&&e.providerId&&e.modelId),bK=e=>{let t={};for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||!_K(r))&&(vK(t,r),yK(t)))return t}for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||_K(r))&&(vK(t,r),yK(t)))break}return t},xK=e=>!!e.sessionId&&!(e.hasRenderableSessionSnapshot&&e.hasCurrentSessionEntity),SK=[],CK=[],wK=[],TK={type:`idle`},EK=`openchamber:chat-force-scroll-bottom`,DK=()=>void 0,OK=`Quota limit reached. Retrying automatically.`,kK=1048576,AK=kK,jK=20,MK=kK,NK=16*kK,PK={maxEntries:3,maxEstimatedBytes:32*kK},FK={maxEntries:2,maxEstimatedBytes:32*kK},IK=e=>r(()=>e()),LK={overflowAnchor:`none`,overscrollBehavior:`contain`,overscrollBehaviorY:`contain`},RK={scrollbar:`chat`,scrollShadow:`true`,orientation:`vertical`},zK=()=>{let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-x-0 bottom-full z-0 h-11 bg-gradient-to-t from-[var(--surface-background)] to-transparent`}),e[0]=t):t=e[0],t},BK=`calc(max(0.625rem, var(--oc-safe-area-top, 0px)) + var(--oc-mobile-detail-navigation-height) + 1.25rem)`,VK=SU,HK=[`a[href]`,`button`,`input`,`select`,`textarea`,`[contenteditable="true"]`,`[role="button"]`,`[role="combobox"]`,`[role="dialog"]`,`[role="listbox"]`,`[role="menu"]`,`[role="menuitem"]`,`[role="option"]`,`[role="textbox"]`,`[data-radix-popper-content-wrapper]`].join(`,`),UK=e=>e instanceof HTMLElement,WK=e=>UK(e)?!!e.closest(HK):!1,GK=(e,t)=>typeof document>`u`||!e||e===document.body||e===document.documentElement||WK(e)?!0:!t?.contains(e),KK=()=>{let{isAboutDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isImagePreviewOpen:r,isMultiRunLauncherOpen:i,isSessionSwitcherOpen:a,isSettingsDialogOpen:o}=q.getState();return e||t||n||r||i||a||o},qK=Z.memo(({currentSessionId:e,virtualizerKey:t,isDesktopExpandedInput:n,isMobile:r,stickyUserHeader:i,directory:a,scrollRef:o,messageListRef:s,pendingRevealWork:c,initialPinRevealComplete:l=!1,renderedMessages:u,isLoadingOlder:d,sessionIsWorking:f,streamingMessageId:p,activeStreamingPhase:m,retryOverlay:h,handleMessageContentChange:g,getAnimationHandlers:_,handleHistoryScroll:v,handleHistoryUpwardIntent:y,onTimelineIsAtEndChange:b,timelineFollowSuspended:x,timelineHistoryAnchorToken:S,scrollToBottom:C,sessionQuestions:w,sessionPermissions:T,sessionForms:E,retryActionCopy:D,isProgrammaticFollowActive:O,showLoadOlderButton:k,turnIds:A,activeTurnId:j,onSelectTurn:M,showPromptNavigator:N,canLoadEarlierPrompts:P,isLoadingOlderPrompts:F,onLoadEarlierPrompts:I,transcriptStatusRow:L})=>{let{t:R}=Kn(),z=ed(e=>e.legendTimelineEnabled),B=RD({isLoadingOlder:d}),[V,H]=Z.useState({sessionId:e,directory:a,reserved:k}),ee=V.sessionId===e&&V.directory===a,U=ee&&V.reserved||k;(!ee||V.reserved!==U)&&H({sessionId:e,directory:a,reserved:U});let te=zD({isMobile:r,isLoadingOlder:B})?(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 z-20 pointer-events-none`,role:`status`,"aria-live":`polite`,children:(0,$.jsx)(`div`,{className:`chat-column flex items-center justify-center gap-1.5 pt-3 pb-1`,children:(0,$.jsx)(`span`,{className:`oc-mobile-glass-control flex size-8 items-center justify-center rounded-full text-[var(--surface-mutedForeground)]`,"aria-label":R(`chat.history.loadingMore`),children:(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`,"aria-hidden":`true`})})})}):null,ne=r&&U?(0,$.jsx)(`div`,{className:Y(`flex justify-center pt-3 pb-4`,!B&&`invisible`),"aria-hidden":!B,children:(0,$.jsxs)(`span`,{role:`status`,className:`flex items-center gap-1.5 text-[var(--surface-mutedForeground)] opacity-60`,"aria-busy":B,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`typography-meta`,children:R(`chat.history.loadingMore`)})]})}):null,W=Z.useRef(new Map),G=Z.useRef(new WeakMap),re=Z.useRef(new Map),ie=Z.useMemo(()=>{let e=new Map;for(let t=0;t<u.length;t+=1){let n=u[t];if(n.info.role!==`user`)continue;if(aL(n)){let r=cL(u,t)??``,i=re.current.get(n.info.id);if(i&&i.command===r)e.set(n.info.id,i.parts);else{let t=[{type:`text`,text:r?`$ ${r}`:`/shell`}];re.current.set(n.info.id,{command:r,parts:t}),e.set(n.info.id,t)}continue}if(La(n.parts))continue;let r=G.current.get(n.parts);r||(r=AD(n.parts),G.current.set(n.parts,r)),r.length!==0&&e.set(n.info.id,r)}let t=W.current;if(t.size===e.size){let n=!0;for(let[r,i]of e)if(t.get(r)!==i){n=!1;break}if(n)return t}return W.current=e,e},[u]),ae=Z.useMemo(()=>A.filter(e=>ie.has(e)),[ie,A]),oe=Z.useRef(new Map),se=Z.useMemo(()=>{let e=new Map,t=new Map,n;for(let r of u){if(r.info.role===`user`){ie.has(r.info.id)&&(n=r.info.id),n&&e.set(r.info.id,n);continue}let i=r.info.parentID,a=i?e.get(i):n;if(!a)continue;e.set(r.info.id,a);let o=qH(r.parts).trim();o&&t.set(a,o.slice(0,600))}let r=oe.current;return(r.size!==e.size||[...e].some(([e,t])=>r.get(e)!==t))&&(oe.current=e),{owners:oe.current,replies:t}},[ie,u]),K=Z.useMemo(()=>{if(!j||ie.has(j))return j;let e=A.indexOf(j);for(let t=e-1;t>=0;--t){let e=A[t];if(ie.has(e))return e}return null},[j,ie,A]),ce=J(e=>{e.defaultPrevented||WK(e.target)||typeof window<`u`&&window.getSelection()?.type===`Range`||o.current?.focus({preventScroll:!0})});return Ml({scrollRef:o,enabled:z,onUpwardIntent:y}),z?(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,n?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":n,children:(0,$.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,$.jsx)(fH,{ref:s,sessionKey:e,virtualizerKey:t,disableStaging:c,initialPinRevealComplete:l,messages:u,sessionIsWorking:f,activeStreamingMessageId:p,activeStreamingPhase:m,retryOverlay:h,onMessageContentChange:g,getAnimationHandlers:_,isLoadingOlder:d,scrollToBottom:C,scrollRef:o,directory:a,timelineScrollClassName:`absolute inset-0 z-0 chat-scroll overlay-scrollbar-target`,timelineScrollStyle:LK,timelineScrollDataset:RK,timelineOnScroll:v,timelineFollowEnabled:!c&&!x,timelineHistoryAnchorToken:S,timelineOnIsAtEndChange:b,headerSlot:(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:BK},"aria-hidden":`true`}),ne,te]}),footerSlot:(0,$.jsxs)($.Fragment,{children:[(w.length>0||T.length>0)&&(0,$.jsxs)(`div`,{children:[w.map(e=>(0,$.jsx)(zH,{question:e},e.id)),T.map(e=>(0,$.jsx)(MH,{permission:e},e.id))]}),L?(0,$.jsx)(`div`,{className:`mb-1`,children:L}):null,(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?VK:bU},"aria-hidden":`true`})]})}),(0,$.jsx)(Vc,{containerRef:o,suppressVisibility:O,userIntentOnly:!0,observeMutations:!1}),N&&ae.length>=2?(0,$.jsx)(hU,{turnIds:ae,previewsByTurnId:ie,scrollRef:o,turnByMessageId:se.owners,repliesByTurnId:se.replies,activeTurnId:K,onSelectTurn:M,canLoadEarlier:P,isLoadingOlder:F,onLoadEarlier:I}):null]})}):(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,n?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":n,children:(0,$.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,$.jsx)(_l,{className:Y(`absolute inset-0 overflow-y-auto overflow-x-hidden z-0 chat-scroll overlay-scrollbar-target`),ref:o,style:LK,observeMutations:!1,hideTopShadow:r&&i,hideBottomShadow:r,tabIndex:0,onClick:ce,onScroll:v,"data-scroll-shadow":`true`,"data-scrollbar":`chat`,children:(0,$.jsxs)(`div`,{className:Y(`oc-chat-scroll-content relative z-0 min-h-full`,r&&`chat-scroll-foot-inset`),children:[ne,te,(0,$.jsx)(fH,{ref:s,sessionKey:e,virtualizerKey:t,timelineHistoryAnchorToken:S,disableStaging:c,initialPinRevealComplete:l,messages:u,sessionIsWorking:f,activeStreamingMessageId:p,activeStreamingPhase:m,retryOverlay:h,onMessageContentChange:g,getAnimationHandlers:_,isLoadingOlder:d,scrollToBottom:C,scrollRef:o,directory:a,liveStatusSlot:u.length>0?(0,$.jsx)(`div`,{className:`mb-1`,children:L??(0,$.jsx)($L,{})}):null}),(w.length>0||T.length>0||E.length>0||D)&&(0,$.jsxs)(`div`,{children:[D?(0,$.jsxs)(`div`,{className:`mb-2 rounded-xl border border-border/20 bg-muted/10 px-2.5 py-2`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:D.title}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mt-1`,children:D.message}),D.link?(0,$.jsx)(`a`,{href:D.link,target:`_blank`,rel:`noreferrer`,className:`mt-2 inline-block typography-meta text-primary underline`,children:D.label}):null]}):null,w.map(e=>(0,$.jsx)(zH,{question:e},e.id)),T.map(e=>(0,$.jsx)(MH,{permission:e},e.id)),E.map(e=>(0,$.jsx)(VH,{form:e,directory:a},e.id))]}),(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?xU:bU},"aria-hidden":`true`})]})}),(0,$.jsx)(Vc,{containerRef:o,suppressVisibility:O,userIntentOnly:!0,observeMutations:!1}),N&&ae.length>=2?(0,$.jsx)(hU,{turnIds:ae,previewsByTurnId:ie,scrollRef:o,turnByMessageId:se.owners,repliesByTurnId:se.replies,activeTurnId:K,onSelectTurn:M,canLoadEarlier:P,isLoadingOlder:F,onLoadEarlier:I}):null]})})},(e,t)=>e.currentSessionId===t.currentSessionId&&e.virtualizerKey===t.virtualizerKey&&e.isDesktopExpandedInput===t.isDesktopExpandedInput&&e.isMobile===t.isMobile&&e.stickyUserHeader===t.stickyUserHeader&&e.directory===t.directory&&e.scrollRef===t.scrollRef&&e.messageListRef===t.messageListRef&&e.pendingRevealWork===t.pendingRevealWork&&e.initialPinRevealComplete===t.initialPinRevealComplete&&e.renderedMessages===t.renderedMessages&&e.isLoadingOlder===t.isLoadingOlder&&e.sessionIsWorking===t.sessionIsWorking&&e.streamingMessageId===t.streamingMessageId&&e.activeStreamingPhase===t.activeStreamingPhase&&e.retryOverlay===t.retryOverlay&&e.handleMessageContentChange===t.handleMessageContentChange&&e.getAnimationHandlers===t.getAnimationHandlers&&e.handleHistoryScroll===t.handleHistoryScroll&&e.handleHistoryUpwardIntent===t.handleHistoryUpwardIntent&&e.onTimelineIsAtEndChange===t.onTimelineIsAtEndChange&&e.timelineFollowSuspended===t.timelineFollowSuspended&&e.timelineHistoryAnchorToken===t.timelineHistoryAnchorToken&&e.scrollToBottom===t.scrollToBottom&&e.sessionQuestions===t.sessionQuestions&&e.sessionPermissions===t.sessionPermissions&&e.sessionForms===t.sessionForms&&e.retryActionCopy===t.retryActionCopy&&e.isProgrammaticFollowActive===t.isProgrammaticFollowActive&&e.showLoadOlderButton===t.showLoadOlderButton&&e.turnIds===t.turnIds&&e.activeTurnId===t.activeTurnId&&e.onSelectTurn===t.onSelectTurn&&e.showPromptNavigator===t.showPromptNavigator&&e.canLoadEarlierPrompts===t.canLoadEarlierPrompts&&e.isLoadingOlderPrompts===t.isLoadingOlderPrompts&&e.onLoadEarlierPrompts===t.onLoadEarlierPrompts&&e.transcriptStatusRow===t.transcriptStatusRow);qK.displayName=`ChatViewport`;var JK=[{id:1,toolRows:[{id:`search`,titleWidth:`w-24`,detailWidth:`w-52`},{id:`read`,titleWidth:`w-20`,detailWidth:`w-36`}],textWidths:[`w-24`,`w-[92%]`,`w-[78%]`]}],YK=e=>qn(e.path),XK=(e,t)=>{if(!t)return e;let n=e.indexOf(t);return n===-1?e:(0,$.jsxs)($.Fragment,{children:[e.slice(0,n),(0,$.jsx)(`span`,{className:`font-medium`,children:t}),e.slice(n+t.length)]})},ZK=e=>{let t=Math.ceil(Math.max(0,e)/jK);return Math.min(NK,AK+t*MK)},QK=Z.memo(({autoOpenDraft:e=!0,readOnly:t=!1,active:n=!0,sessionId:r,sessionDirectory:i,sessionViewKey:a,onSessionViewEstimateChange:o,composerSurface:s,hostedFeatures:c,assistantHistory:u,onRevertMessage:d,warning:f=null,pendingUserMessages:p=CK,onPendingUserMessagesMaterialized:m,committedDraftHandoffMessageId:h=null})=>{let g=c??UD(void 0),{t:_}=Kn();Bn(()=>{Ta()},[]);let v=ma(e=>e.openNewSessionDraft),y=ma(e=>e.setCurrentSession),b=ma(e=>e.newSessionDraft),x=ma(e=>e.newSessionDraft.draftSubmitting??!1),S=ma(e=>e.newSessionDraft.draftEstablishing??!1),C=ma(e=>e.forkTransition),w=pa(e=>e.projects),T=pa(e=>e.activeProjectId),E=aa(e=>e.providers),D=Sh(),O=oa(),k=i??O;Bn(()=>{!n||!r||!k||Qr(k,r)},[n,r,k]);let A=J(e=>D.ensureSessionRenderable(e,{directory:k})),j=q(e=>e.isExpandedInput),M=q(e=>e.stickyUserHeader),N=q(e=>e.promptNavigatorEnabled),P=q(e=>e.allowPromptingSubagentSessions),F=q(e=>e.isTimelineDialogOpen),I=q(e=>e.setTimelineDialogOpen),L=Wa(e=>n&&r?e.streamingMessageIds.get(r)??null:null),R=Wa(e=>L?e.messageStreamStates.get(L)?.phase??null:null),z=uo(r??``,k),B=ZK(z);Z.useEffect(()=>{!a||!o||o(a,B)},[o,B,a]);let V=ra(r??``,k).renderable,H=va(r,k),ee=Vi(r),U=H??ee,te=Fx({sessionId:r,hasSessionEntity:!!U,hasRenderableSessionSnapshot:V,composerSurfaceKind:s?.kind}),ne=r?JSON.stringify([k,r]):null,[W,G]=Z.useState({key:ne,attempt:0}),re=fa(r??``,k,{suspendPartUpdates:!!L,suspendPartUpdatesForMessageId:L,enabled:n}),ie=r?re:SK,ae=b.pendingUserMessage,oe=ma(e=>r?e.retainedPendingUserMessages.get(r):void 0)??CK,se=!!(h||oe.length>0),ce=ma(e=>e.clearRetainedPendingUserMessages),le=Z.useMemo(()=>{if(oe.length===0)return p;if(p.length===0)return oe;let e=new Set(p.map(e=>e.info.id));return[...p,...oe.filter(t=>!e.has(t.info.id))]},[p,oe]),ue=Z.useMemo(()=>bK(ie),[ie]),de=Z.useMemo(()=>{if(!ue.modelId)return _(`common.unavailable`);let e=E.find(e=>e.id===ue.providerId);return fi(e,ue.modelId)||ue.modelId},[E,ue.modelId,ue.providerId,_]),fe=ko(r??``,k),pe=$i(r??``,k),[me,he]=Z.useState(null),ge=!!r&&me===r,_e=J(()=>{if(!r||ge)return;let e=r,t=k;he(e);let n=vr(()=>{let n=at();if(!n)throw Error(`unbound`);return n.getTranscript(bt(t,e))});Bo(Ja({kind:`refresh`,sessionID:e,directory:t,purpose:`retry`,source:`network`,request:fe?{sessionID:e,status:fe.status===`ready`?`ready`:fe.status,error:fe.error}:void 0,hydration:pe,error:fe?.error})),(async()=>{try{await Ut(t,e),await D.ensureSessionRenderable(e,{directory:t});try{let r=vr(()=>{let n=at();if(!n)throw Error(`unbound`);return n.getTranscript(bt(t,e))});n&&r&&Ti({trigger:`user-refresh`,sessionID:e,directory:t,purpose:`retry`,before:n,after:r})}catch{}}catch(n){Bo(Ja({kind:`request-error`,sessionID:e,directory:t,purpose:`retry`,source:`network`,hydration:pe,error:n}))}finally{he(t=>t===e?null:t)}})()}),ve=Ro(r??``,k).boundary,ye=J(async e=>{if(ve.kind===`has-more`){await un(k,e,Le||Re?void 0:50);return}if(ve.kind===`unknown`){await Lt(k,e);return}u&&!u.complete&&await u.fetchPrevious()}),be=to(r??``,k),xe=Ma(r??``,k),Se=Oa(k),Ce=be??TK,we=vi(r,k),Te=rr(r,k),Ee=yr(e=>r?e.forms[r]??wK:wK),De=Z.useMemo(()=>Ee.filter(e=>!mt(e.metadata)),[Ee]);Z.useEffect(()=>{r&&Cr({sessionID:r,directory:k}).catch(e=>{console.error(`[ChatContainer] Failed to list session forms:`,e)})},[r,k]),rK(r,k,ie,Te.length);let Oe=Z.useMemo(()=>{if(!r||we.length>0||Te.length>0)return!1;let e=Ce.type??`idle`;if(e===`busy`||e===`retry`||PD(le,{resolvedSessionStatus:be,sessionStatusObservedAt:xe}))return!0;let t=ie[ie.length-1]?.info,n=t?.time?.created;return be&&typeof xe==`number`&&typeof n==`number`&&n<=xe||typeof Se==`number`&&typeof n==`number`&&n<=Se?!1:!!(t&&t.role===`assistant`&&typeof t.time?.completed!=`number`)},[r,le,be,ie,we.length,Te.length,Ce.type,xe,Se]),ke=Z.useMemo(()=>!r||Ce.type!==`retry`?null:{sessionId:r,message:(typeof Ce.message==`string`?(Ce.message??``).trim():``)||OK,confirmedAt:Ce.confirmedAt},[r,Ce]),[Ae,je]=Z.useState(0),Me=Z.useRef(null);Z.useEffect(()=>{if(!ke||typeof ke.confirmedAt==`number`){Me.current=null,je(0);return}Me.current!==ke.sessionId&&(Me.current=ke.sessionId,je(Date.now()))},[ke]);let Ne=Z.useMemo(()=>!ke||GH(Ce)?null:{...ke,fallbackTimestamp:Ae},[ke,Ae,Ce]),Pe=Z.useMemo(()=>KH(Ce,e=>_(e)),[Ce,_]),Fe=!!(r&&D.isLoading(r,{directory:k})),Ie=Z.useMemo(()=>{if(!r)return null;let e=FD({boundary:ve,assistantComplete:u?.complete??!0});return{limit:ve.loadedTurns,complete:e.complete,canLoadEarlier:e.canLoadEarlier,loading:ID({syncLoading:Fe,assistantLoading:!!u?.loading})}},[u?.complete,u?.loading,r,ve,Fe]),Le=q(e=>e.isMobile),Re=Tl()!==null,ze=K(),Be=wx(),Ve=!!b?.open,He=ai(e=>e.error),Ue=j,We=Re||Le||ze||Be===`mini-chat`,Ge=Z.useRef(null),Ke=Z.useMemo(()=>{let e=b?.selectedProjectId?w.find(e=>e.id===b.selectedProjectId)??null:null,t=T?w.find(e=>e.id===T)??null:null,n=e??t??w[0]??null;return n?YK(n):null},[T,b?.selectedProjectId,w]),qe=Gi(r,k),Je=a??r??``,[Ye,Xe]=Z.useState(null),Ze=Bx(Ye,Je,qe,ue);Bn(()=>{Xe(e=>Bx(e,Je,qe,ue))},[qe,ue,Je]);let Qe=qe??Ze?.parentTarget??null,$e=Ze?.execution??ue,et=ll(),tt=et!==null&&r===et,nt=J(()=>{Qe&&y(Qe.id,Qe.directory)}),rt=Qe?.session?.title,it=g.returnToParent&&Qe&&!tt?(0,$.jsxs)(Xn,{type:`button`,variant:`outline`,size:`xs`,onClick:nt,className:`absolute left-3 top-3 z-20 !font-normal bg-[var(--surface-background)]/95`,"aria-label":_(`chat.container.returnToParent.aria`),title:rt?.trim()?_(`chat.container.returnToParent.titleNamed`,{title:rt}):_(`chat.container.returnToParent.title`),children:[(0,$.jsx)(X,{name:`arrow-left`,className:`h-4 w-4`}),_(`chat.container.returnToParent.label`)]}):null,ot=Ix({readOnly:t,sessionIdentityPending:te,isSubagentSession:!!U?.parentID||!!Ze,allowPromptingSubagentSessions:P}),st=$e.modelId===ue.modelId?de:$e.modelId?fi(E.find(e=>e.id===$e.providerId),$e.modelId)||$e.modelId:_(`common.unavailable`),ct=Qe?(0,$.jsx)(qD,{agentName:$e.agentName,providerId:$e.providerId,modelId:$e.modelId,modelName:st}):(0,$.jsx)(qD,{}),lt=J(e=>{q.getState().setAllowPromptingSubagentSessions(e.allowPromptingSubagentSessions)}),ut=J(e=>{if(typeof window>`u`||e.source!==window.parent||e.origin!==window.location.origin)return;let t=e.data;t?.type===`openchamber:chat-settings-sync`&&typeof t.payload?.allowPromptingSubagentSessions==`boolean`&<({allowPromptingSubagentSessions:t.payload.allowPromptingSubagentSessions})}),dt=typeof window<`u`&&window.parent!==window;Hn(`message`,ut,dt?window:DK),Un(()=>{if(!dt)return;let e=window;e.__openchamberApplyChatSettingsSync=lt,window.parent.postMessage({type:`openchamber:chat-settings-request`},window.location.origin)}),zn(()=>{if(typeof window>`u`)return;let e=window;e.__openchamberApplyChatSettingsSync===lt&&delete e.__openchamberApplyChatSettingsSync}),Z.useEffect(()=>{g.newSessionDraft&&e&&!r&&!Ve&&v()},[e,r,Ve,g.newSessionDraft,v]);let ft=Z.useRef(()=>{}),pt=J(e=>{ft.current(e)}),ht=Z.useRef(()=>{}),gt=J(()=>{ht.current()}),_t=ed(e=>e.legendTimelineEnabled),[vt,yt]=Z.useState(!0),[xt,St]=Z.useState(!1),[Ct,Tt]=Z.useState(!1),[Et,Dt]=Z.useState(0),Ot=J(()=>{Dt(e=>e+1)}),kt=J((e,t)=>{yt(e),e&&Tt(!1),t!==void 0&&St(t)});Z.useEffect(()=>{yt(!0),St(!1),Tt(!1)},[r]);let{scrollRef:At,notifyContentChange:jt,getAnimationHandlers:Mt,goToBottom:Nt,scrollToBottomOnSend:Pt,releaseAutoFollow:Ft,beginHistoryViewportPreservation:It,endHistoryViewportPreservation:Rt,restoreSnapshot:zt,isPinned:Bt,isFollowingProgrammatically:Vt,showScrollButton:Ht}=UU({scrollControllerRef:Ge,enabled:n&&!_t,currentSessionId:r,viewportKey:a,sessionMessageCount:z,sessionIsWorking:Oe,isMobile:Le,onActiveTurnChange:pt,onUpwardUserIntent:gt}),Wt=Z.useRef(null);fW({enabled:Le,scrollRef:At,scopeRef:Wt});let Gt=Z.useRef([]),Kt=Z.useMemo(()=>{let e=nO(u?.entries??[],r,Gt.current);return Gt.current=e,e},[u?.entries,r]),qt=Z.useRef([]),Jt=Z.useMemo(()=>{if(!u)return ie;let e=aO(u.entries,r,ie,qt.current);return qt.current=e,e},[u,r,ie]),Yt=Z.useMemo(()=>ND(Kt.length===0?Jt:r?[...Kt,eO(r),...Jt]:Kt,le),[r,Jt,Kt,le]),Xt=Z.useRef(null),Zt=Z.useMemo(()=>HD({sessionId:r,messages:Yt,retained:Xt.current}),[r,Yt]);Xt.current=Zt.retained;let Qt=Zt.messages,$t=Z.useRef(null),en=$t.current===r,tn=Z.useRef(KG),nn=r?`${k}\n${r}`:null,rn=J(()=>GG(Qt));Z.useEffect(()=>{if(!YG({active:n,sessionId:r,sessionKey:nn,sessionIsWorking:Oe})){tn.current=XG(tn.current);return}let e=r,t=k,i=setInterval(()=>{let n=rn(),r=qG(tn.current,{sessionKey:nn,working:!0,streaming:!!L,fingerprint:n,now:Date.now(),thresholdMs:VG,cooldownMs:HG,maxAttempts:3});tn.current=r.state,r.shouldRefresh&&(JG({sessionId:e,directory:t,stalledForMs:r.stalledForMs,attempt:r.state.attempts,fingerprint:n}),wt(t,e).catch(()=>{}))},UG);return()=>clearInterval(i)},[n,r,k,rn,Oe,L,nn]);let an=Z.useMemo(()=>{if(le.length===0)return[];let e=new Set([...Kt,...Jt].filter(e=>MD(e.parts)).map(e=>e.info.id));return le.map(e=>e.info.id).filter(t=>e.has(t))},[Jt,Kt,le]);Z.useEffect(()=>{an.length!==0&&(m?.(an),r&&ce(r,an))},[ce,r,an,m]);let on=bG({sessionId:r,directory:k,messages:Qt,historyMeta:Ie,scrollRef:At,messageListRef:Ge,loadMoreMessages:ye,goToBottom:Nt,releaseAutoFollow:Ft,beginHistoryViewportPreservation:It,endHistoryViewportPreservation:Rt,isPinned:_t?vt:Bt,showScrollButton:_t?xt:Ht,isMobile:Le,onWillLoadEarlier:Ot}),sn=J(()=>{Tt(!1),Nt(`instant`)}),cn=J(()=>{Tt(!1),Pt()}),ln=J(()=>{Tt(!0),on.handleHistoryUpwardIntent()}),dn=LD({isMobile:Le,canLoadEarlier:on.historySignals.canLoadEarlier,isLoadingOlder:on.isLoadingOlder}),fn=on.isLoadingOlder,pn=on.loadEarlier,mn=J(()=>{Tt(!0),pn({userInitiated:!0})});ft.current=on.handleActiveTurnChange,ht.current=on.handleHistoryUpwardIntent,Z.useEffect(()=>{(we.length!==0||Te.length!==0)&&jt(`permission`)},[jt,we,Te]);let hn=BG({sessionId:r,turnIds:on.turnIds,activeTurnId:on.activeTurnId,scrollToTurn:on.scrollToTurn,scrollToMessage:on.scrollToMessage,resumeToBottom:sn}),gn=ot.showReadOnlyBanner?ct:t?null:(0,$.jsx)(sD,{surface:s,scrollToBottom:cn,showScrollToBottom:Le&&on.showScrollToBottom,onScrollToBottom:hn.resumeToLatest,submissionBlocked:ot.blockSubmission},`composer-input`),_n=J(e=>{hn.scrollToTurnId(e,{behavior:`smooth`})}),vn=on.historySignals.canLoadEarlier,yn=g.promptNavigator&&!Le&&!ze&&!Ue&&N&&on.turnIds.length>=2;Z.useEffect(()=>{yn||q.getState().setPromptNavigatorPanelOpen(!1)},[yn]);let bn=J(e=>{if(!n||!r)return;let t=e;t.detail?.sessionId&&t.detail.sessionId!==r||Nt(`instant`)});Hn(EK,bn,n&&r&&typeof window<`u`?window:DK);let xn=J(e=>{if(!n||!r||Ue||e.defaultPrevented||e.isComposing||e.key!==`ArrowUp`&&e.key!==`ArrowDown`||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let{activeMainTab:t}=q.getState();if(t!==`chat`||KK())return;let i=At.current;if(GK(document.activeElement,i)||WK(e.target))return;e.preventDefault();let a=e.key===`ArrowUp`?-1:1;hn.scrollByTurnOffset(a,{resumePastEnd:!1})});Hn(`keydown`,xn,n&&r&&!Ue&&typeof window<`u`?window:DK);let Sn=Z.useRef(0),Cn=J(()=>{let e=At.current;e&&e.style.setProperty(`--chat-scroll-height`,`${e.clientHeight}px`)}),wn=J(()=>{Sn.current||=requestAnimationFrame(()=>{Sn.current=0,Cn()})});Bn(()=>{n&&Cn()},[n,r,Ue,Cn]);let Tn=typeof ResizeObserver<`u`;Ln(n&&Tn?At:null,wn),Hn(`resize`,wn,n&&!Tn&&typeof window<`u`?window:DK),zn(()=>{Sn.current&&=(cancelAnimationFrame(Sn.current),0)});let En=Z.useRef(null),Dn=Z.useRef(0),On=BD({transcriptMessageCount:ie.length,pendingUserCount:le.length,historyPrefixCount:Kt.length}),kn=VD({hasTranscriptShell:On,transcriptRecords:ie,p0Satisfied:pe.p0Satisfied,hasBusyShell:Oe&&On,hasImmediateShell:le.length>0||Kt.length>0,hasRenderableSessionSnapshot:V,prefetchStatus:fe?.status,syncLoading:!!(r&&D.isLoading(r,{directory:k})),userRetrying:ge,hasPaintedTranscript:en});kn===`pass`&&Qt.length>0&&($t.current=r);let An=!!r&&kn===`hydrating`;wG({scope:JSON.stringify([l(),k,r]),enabled:n&&!Le&&!Re&&!!r&&kn===`pass`&&pe.p0Satisfied&&!Oe&&!Ie?.loading&&!on.isLoadingOlder,cursor:ve.kind===`has-more`?ve.cursor:null,loadedTurns:ve.loadedTurns,messages:Qt,scrollRef:At,loadPrevious:e=>un(k,r,e)});let jn=!!r&&kn===`load-error`;Z.useEffect(()=>{!jn||!r||Bo(Ja({kind:`request-error`,sessionID:r,directory:k,purpose:`load-failed`,source:`network`,request:fe?{sessionID:r,status:fe.status===`ready`?`ready`:fe.status,error:fe.error}:void 0,hydration:pe,error:fe?.error}))},[r,k,jn,fe,pe]),Z.useEffect(()=>{if(!n||!r||An)return;let e=Qt.length,t=En.current!==r,i=!t&&Dn.current===0&&e>0;if(!t&&!i){En.current===r&&(Dn.current=e);return}let a=typeof window<`u`&&window.location.hash.length>0;if(En.current=r,Dn.current=e,a){Ft();return}let o=()=>{zt()};typeof window>`u`?o():window.requestAnimationFrame(o)},[n,r,An,Ft,zt,Qt.length]),Z.useEffect(()=>{G(e=>e.key===ne?e:{key:ne,attempt:0})},[ne]),Z.useEffect(()=>{if(!n||!r||W.key!==ne||!xK({sessionId:r,hasRenderableSessionSnapshot:V,hasCurrentSessionEntity:!!U})||(A(r),U||W.attempt>=2))return;let e=W.attempt+1,t=window.setTimeout(()=>{G(t=>t.key===ne&&t.attempt===W.attempt?{key:ne,attempt:e}:t)},e*1e3);return()=>window.clearTimeout(t)},[n,U,r,k,A,V,ne,W]);let Mn=C&&r&&(C.targetSessionId?r===C.targetSessionId:r===C.sourceSessionId)?C:null;if(Mn){let e=Mn.stage===`preparing`?`chat.forkTransition.preparing`:Mn.stage===`copying`?`chat.forkTransition.copying`:Mn.stage===`opening`?`chat.forkTransition.opening`:`chat.forkTransition.loading`,t=[`preparing`,`copying`,`opening`,`loading`],n=_(`chat.forkTransition.progress`,{current:Math.max(1,t.indexOf(Mn.stage)+1),total:t.length});return(0,$.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center bg-background px-6 text-center`,children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,role:`status`,"aria-live":`polite`,"aria-label":`${_(e)}. ${n}`,children:[(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(e)}),(0,$.jsx)(ey,{})]}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground/70 tabular-nums`,children:n})]})})}if(!r&&!Ve)return e&&!He?(0,$.jsx)(`div`,{className:`flex h-full flex-col bg-background`}):(0,$.jsx)(`div`,{className:`flex flex-col h-full bg-background`,children:(0,$.jsx)(YD,{})});if(!r&&Ve){if((x||S)&&ae){let e=`draft:${b.draftID??`pending`}`;return(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex h-full flex-col bg-background`,Le&&`oc-chat-composer-swap-scope`),children:[(0,$.jsx)(qK,{currentSessionId:e,virtualizerKey:e,isDesktopExpandedInput:!1,isMobile:Le,stickyUserHeader:M,directory:k,scrollRef:At,messageListRef:Ge,pendingRevealWork:!1,initialPinRevealComplete:!0,renderedMessages:[ae],isLoadingOlder:!1,sessionIsWorking:!0,streamingMessageId:null,activeStreamingPhase:null,retryOverlay:null,handleMessageContentChange:jt,getAnimationHandlers:Mt,handleHistoryScroll:on.handleHistoryScroll,handleHistoryUpwardIntent:ln,onTimelineIsAtEndChange:kt,timelineFollowSuspended:!1,timelineHistoryAnchorToken:Et,scrollToBottom:sn,sessionQuestions:[],sessionPermissions:[],sessionForms:[],retryActionCopy:null,isProgrammaticFollowActive:Vt,showLoadOlderButton:!1,turnIds:[],activeTurnId:null,onSelectTurn:_n,showPromptNavigator:!1,canLoadEarlierPrompts:!1,isLoadingOlderPrompts:!1,onLoadEarlierPrompts:mn,transcriptStatusRow:(0,$.jsx)(`div`,{className:`chat-column`,role:`status`,"aria-live":`polite`,children:(0,$.jsxs)(`div`,{className:`flex h-[1.2rem] items-center py-0.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(ey,{})]})})},e),(0,$.jsxs)(`div`,{className:Y(`invisible pointer-events-none relative z-10`,Le&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Ue?`absolute inset-0 bg-background`:`bg-background`),"aria-hidden":`true`,children:[!Le&&!Ue?(0,$.jsx)(zK,{}):null,gn]}),(0,$.jsx)(mD,{})]})}return x||S?(0,$.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center bg-background px-6 text-center`,children:(0,$.jsx)(`div`,{className:`flex flex-col items-center gap-3`,role:`status`,"aria-live":`polite`,"aria-label":_(`chat.emptyState.establishingConversation`),children:(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(ey,{})]})})}):(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[We&&!Ue?(0,$.jsxs)(`div`,{className:`oc-draft-center flex min-h-0 flex-1 flex-col items-center justify-center px-6 text-center`,children:[(0,$.jsx)(`h1`,{className:`text-balance text-3xl font-normal tracking-tight text-foreground`,children:XK(Ke?_(`chat.emptyState.draftTitleWithProject`,{project:Ke}):_(`chat.emptyState.draftTitle`),Ke)}),(0,$.jsx)(MS,{onSubmit:e=>ka.getState().requestPresetSubmit(e),className:`oc-draft-starters mt-8 max-w-md`})]}):null,(0,$.jsx)(`div`,{className:Y(`relative z-10 flex min-h-0`,Le&&`oc-mobile-composer-foot`,Ue?`flex-1 bg-background`:We?Y(`bg-background`,`px-0`):`flex-1 items-center justify-center bg-background px-0 pb-[6vh]`),children:gn})]})}return r?jn?(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[it,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Ue?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Ue,children:Ue?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center px-6`,children:(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center text-center`,role:`alert`,"aria-live":`polite`,children:[(0,$.jsx)(`div`,{className:`mb-4 flex size-10 items-center justify-center rounded-full bg-[var(--status-error-background)] text-[var(--status-error-foreground)]`,children:(0,$.jsx)(X,{name:`error-warning`,className:`size-5`,"aria-hidden":`true`})}),(0,$.jsx)(`h2`,{className:`typography-ui-header text-foreground`,children:_(`chat.history.loadFailedTitle`)}),(0,$.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:_(`chat.history.loadFailedDescription`)}),(0,$.jsxs)(Xn,{type:`button`,className:`mt-5`,onClick:_e,children:[(0,$.jsx)(X,{name:`refresh`,className:`size-4`,"aria-hidden":`true`}),_(`chat.history.retry`)]})]})})}),(0,$.jsx)(`div`,{className:Y(`relative z-10`,Le&&`oc-mobile-composer-foot`,Ue?`flex-1 min-h-0 bg-background`:`bg-background`),children:gn},`composer-foot`)]}):An?(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex flex-col h-full bg-background`,Le&&`oc-chat-composer-swap-scope`),children:[it,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Ue?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Ue,children:(0,$.jsx)(`div`,{ref:At,className:`absolute inset-0 overflow-y-auto overflow-x-hidden bg-background pt-6 chat-scroll`,style:LK,children:(0,$.jsx)(`div`,{className:`space-y-4 chat-scroll-foot-inset`,children:JK.map(e=>(0,$.jsx)(`div`,{className:`group w-full`,children:(0,$.jsx)(`div`,{className:`chat-message-column`,children:(0,$.jsxs)(`div`,{className:`space-y-2.5 px-4 py-3`,children:[(0,$.jsx)(`div`,{className:`space-y-1.5`,children:e.toolRows.map(t=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(gf,{className:`h-3.5 w-3.5 rounded-full flex-shrink-0`}),(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,t.titleWidth)}),(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,t.detailWidth)})]},`${e.id}-${t.id}`))}),(0,$.jsxs)(`div`,{className:`space-y-1.5 pt-1`,children:[(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,e.textWidths[0])}),(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,e.textWidths[1])}),(0,$.jsx)(gf,{className:Y(`h-4 rounded-md`,e.textWidths[2])})]})]})})},e.id))})})}),(0,$.jsxs)(`div`,{className:Y(`relative z-10`,Le&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Ue?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!Le&&!Ue?(0,$.jsx)(zK,{}):null,gn]},`composer-foot`)]}):Qt.length===0&&!Oe?(0,$.jsxs)(`div`,{className:`relative flex flex-col h-full bg-background`,children:[it,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Ue?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Ue,children:Ue?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,$.jsx)(YD,{})})}),(0,$.jsx)(`div`,{className:Y(`relative z-10`,Le&&`oc-mobile-composer-foot`,Ue?`flex-1 min-h-0 bg-background`:`bg-background`),children:gn},`composer-foot`),(0,$.jsx)(mD,{})]}):(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex flex-col h-full bg-background`,Le&&`oc-chat-composer-swap-scope`),children:[f?(0,$.jsx)(`div`,{className:`shrink-0 border-b border-border bg-[var(--status-warning-background)] px-4 py-2.5 typography-meta text-[var(--status-warning-foreground)]`,children:f}):null,it,(0,$.jsx)(qK,{currentSessionId:r,virtualizerKey:a??r,isDesktopExpandedInput:Ue,isMobile:Le,stickyUserHeader:M,directory:k,scrollRef:At,messageListRef:Ge,pendingRevealWork:on.pendingRevealWork,initialPinRevealComplete:se,renderedMessages:on.renderedMessages,isLoadingOlder:fn,sessionIsWorking:Oe,streamingMessageId:L,activeStreamingPhase:R,retryOverlay:Ne,handleMessageContentChange:jt,getAnimationHandlers:Mt,handleHistoryScroll:on.handleHistoryScroll,handleHistoryUpwardIntent:ln,onTimelineIsAtEndChange:kt,timelineFollowSuspended:Ct,timelineHistoryAnchorToken:Et,scrollToBottom:sn,sessionQuestions:Te,sessionPermissions:we,sessionForms:De,retryActionCopy:Pe,isProgrammaticFollowActive:Vt,showLoadOlderButton:dn,turnIds:on.turnIds,activeTurnId:on.activeTurnId,onSelectTurn:_n,showPromptNavigator:yn,canLoadEarlierPrompts:vn,isLoadingOlderPrompts:fn,onLoadEarlierPrompts:mn},r),(0,$.jsxs)(`div`,{className:Y(`relative z-10`,Le&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Ue?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!Le&&!Ue?(0,$.jsx)(zK,{}):null,!Ue&&Qt.length>0&&(Le?(0,$.jsx)(Sx,{placement:`expanded`,visible:on.showScrollToBottom,onClick:hn.resumeToLatest}):(0,$.jsx)(Sx,{visible:on.showScrollToBottom,onClick:hn.resumeToLatest})),gn]},`composer-foot`),(0,$.jsx)(mD,{}),(0,$.jsx)(DG,{open:F,onOpenChange:I,sessionID:r??void 0,directory:k,onRevertMessage:d,onScrollToMessage:on.scrollToMessage,onScrollByTurnOffset:hn.scrollByTurnOffset,onResumeToLatest:sn,canLoadEarlier:on.historySignals.canLoadEarlier,isLoadingEarlier:fn,onLoadEarlier:mn})]}):null});QK.displayName=`MemoizedChatContainerContent`;var $K=()=>{let e=(0,Q.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(gf,{className:`h-4 w-4/5 animate-none rounded-md`}),(0,$.jsx)(gf,{className:`h-4 w-2/3 animate-none rounded-md`}),(0,$.jsx)(gf,{className:`h-4 w-1/2 animate-none rounded-md`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:`flex h-full flex-col bg-background`,"data-session-view-loading":`true`,"aria-hidden":`true`,children:(0,$.jsx)(`div`,{className:`mt-auto w-full pb-5 motion-safe:animate-pulse`,children:(0,$.jsxs)(`div`,{className:`chat-message-column space-y-2 px-4`,children:[t,(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(gf,{className:`h-4 w-5/6 animate-none rounded-md`}),(0,$.jsx)(gf,{className:`h-4 w-3/5 animate-none rounded-md`})]})]})})}),e[1]=n):n=e[1],n},eq=({runtimeKey:e,...t})=>{let n=wx(),r=oa(),i=ma(Ke(e=>({sessionId:e.currentSessionId,directory:e.currentSessionDirectory,draftID:e.newSessionDraft.open?e.newSessionDraft.draftID:null,draftPendingMessageId:e.newSessionDraft.open?e.newSessionDraft.pendingUserMessage?.info.id??null:null}))),a=Z.useRef(null),o=i.draftID&&i.draftPendingMessageId?`${i.draftID}:${i.draftPendingMessageId}`:null;o&&a.current?.identity!==o&&(a.current=null),Bn(()=>{!o||!i.draftPendingMessageId||(a.current={identity:o,messageId:i.draftPendingMessageId})},[o,i.draftPendingMessageId]);let s=ma(e=>i.sessionId?e.retainedPendingUserMessages.get(i.sessionId)??CK:CK),c=a.current,l=c&&s.some(e=>e.info.id===c.messageId)?c.messageId:null,u=Z.useMemo(()=>i.sessionId?{runtimeKey:e,sessionId:i.sessionId,directory:i.directory??r}:null,[e,i.directory,i.sessionId,r]),d=Z.useMemo(()=>sK(u),[u]),f=d.key,p=ki()||K()||n===`mini-chat`?FK:PK,[m,h]=Z.useState(()=>({activeIntent:d,cacheNeedsTrim:!1,cachedSessionViews:u?lK([],u,p,AK):[],pendingSessionView:null})),g=Z.useRef(d),_=Z.useRef(f),{cacheNeedsTrim:v,cachedSessionViews:y,pendingSessionView:b}=m,x=b?.intent===d?b.entry:null,S=Z.useMemo(()=>!u||!l?null:lK([],u,p,AK)[0]??null,[p,l,u]),C=Z.useMemo(()=>{let e=[...y];return x&&!e.some(e=>e.key===x.key)&&e.push(x),S&&!e.some(e=>e.key===S.key)&&e.push(S),e.sort((e,t)=>e.key.localeCompare(t.key))},[y,S,x]),w=dK(C,f),T=!!(f&&!w);Bn(()=>{g.current=d,_.current=f,h(e=>{let t=fK(e,d,p);return l?pK(t,d,d,AK):t})},[p,v,l,d,f]);let E=b?.intent??null;Bn(()=>{E&&h(e=>mK(e,E,p))},[p,E]),Z.useEffect(()=>{if(!d.selection||w)return;let e=d,t=f;return kd(()=>{g.current===e&&_.current===t&&h(n=>_.current===t?pK(n,e,g.current,AK):n)},{priority:`user-blocking`})},[w,p,d,f]);let D=J((e,t)=>{let n=g.current,r=_.current;h(i=>{if(g.current!==n||_.current!==r||i.activeIntent!==n||e!==r)return i;let a=uK(i.cachedSessionViews,e,t);return a===i.cachedSessionViews?i:{...i,cacheNeedsTrim:!0,cachedSessionViews:a}})});return(0,$.jsxs)(`div`,{className:`h-full bg-background`,"aria-busy":T||void 0,children:[T?(0,$.jsx)($K,{},f):null,C.map(e=>(0,$.jsx)(Z.Activity,{name:`chat-session-${e.sessionId}`,mode:w===e.key?`visible`:`hidden`,children:(0,$.jsx)(QK,{...t,sessionId:e.sessionId,sessionDirectory:e.directory,sessionViewKey:e.key,onSessionViewEstimateChange:D,committedDraftHandoffMessageId:w===e.key?l:null})},e.key)),f?null:(0,$.jsx)(QK,{...t,sessionId:null,sessionDirectory:i.directory})]})},tq=e=>{let t=(0,Q.c)(24),{host:n,runtimeKey:r,readOnly:i}=e,a=i!==void 0&&i,o;t[0]===n?o=t[1]:(o=UD(n),t[0]=n,t[1]=o);let s=o,c;t[2]===n.onRevertMessage?c=t[3]:(c=n.onRevertMessage?{onRevertMessage:n.onRevertMessage}:{},t[2]=n.onRevertMessage,t[3]=c);let l;t[4]!==n.directory||t[5]!==n.sessionId||t[6]!==n.sessionSurface||t[7]!==c?(l={...n.sessionSurface,sessionId:n.sessionId,directory:n.directory,...c},t[4]=n.directory,t[5]=n.sessionId,t[6]=n.sessionSurface,t[7]=c,t[8]=l):l=t[8];let u=l,d=`host:${r}:${u.surfaceId}:${n.sessionId}`,f;t[9]!==n.assistantHistory||t[10]!==n.composerSurface||t[11]!==n.directory||t[12]!==n.onPendingUserMessagesMaterialized||t[13]!==n.onRevertMessage||t[14]!==n.pendingUserMessages||t[15]!==n.sessionId||t[16]!==n.warning||t[17]!==s||t[18]!==a||t[19]!==d?(f=(0,$.jsx)(`div`,{className:`h-full bg-background`,children:(0,$.jsx)(QK,{autoOpenDraft:!1,readOnly:a,sessionId:n.sessionId,sessionDirectory:n.directory,sessionViewKey:d,composerSurface:n.composerSurface,hostedFeatures:s,assistantHistory:n.assistantHistory,pendingUserMessages:n.pendingUserMessages,onPendingUserMessagesMaterialized:n.onPendingUserMessagesMaterialized,onRevertMessage:n.onRevertMessage,warning:n.warning})}),t[9]=n.assistantHistory,t[10]=n.composerSurface,t[11]=n.directory,t[12]=n.onPendingUserMessagesMaterialized,t[13]=n.onRevertMessage,t[14]=n.pendingUserMessages,t[15]=n.sessionId,t[16]=n.warning,t[17]=s,t[18]=a,t[19]=d,t[20]=f):f=t[20];let p;return t[21]!==u||t[22]!==f?(p=(0,$.jsx)(zb.Provider,{value:u,children:f}),t[21]=u,t[22]=f,t[23]=p):p=t[23],p},nq=e=>{let t=(0,Q.c)(16),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({explicitSession:n,runtimeKey:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=oa(),o=n.directory??a,s;t[4]!==o||t[5]!==n?(s=Rb({...n,directory:o}),t[4]=o,t[5]=n,t[6]=s):s=t[6];let c=s,l=`explicit:${i}:${n.viewKey}`,u;t[7]!==o||t[8]!==n.active||t[9]!==n.sessionId||t[10]!==r||t[11]!==l?(u=(0,$.jsx)(`div`,{className:`h-full bg-background`,children:(0,$.jsx)(QK,{...r,active:n.active,sessionId:n.sessionId,sessionDirectory:o,sessionViewKey:l})}),t[7]=o,t[8]=n.active,t[9]=n.sessionId,t[10]=r,t[11]=l,t[12]=u):u=t[12];let d;return t[13]!==c||t[14]!==u?(d=(0,$.jsx)(zb.Provider,{value:c,children:u}),t[13]=c,t[14]=u,t[15]=d):d=t[15],d},rq=e=>{let t=(0,Q.c)(14),n=Z.useSyncExternalStore(IK,l,l);if(e.host){let r=`${n}:${e.host.sessionSurface.surfaceId}`,i;return t[0]!==e||t[1]!==n||t[2]!==r?(i=(0,$.jsx)(tq,{...e,host:e.host,runtimeKey:n},r),t[0]=e,t[1]=n,t[2]=r,t[3]=i):i=t[3],i}if(e.explicitSession){let r=`${n}:${e.explicitSession.viewKey}`,i;return t[4]!==e.active||t[5]!==e.autoOpenDraft||t[6]!==e.explicitSession||t[7]!==e.readOnly||t[8]!==n||t[9]!==r?(i=(0,$.jsx)(nq,{autoOpenDraft:e.autoOpenDraft,readOnly:e.readOnly,active:e.active,explicitSession:e.explicitSession,runtimeKey:n},r),t[4]=e.active,t[5]=e.autoOpenDraft,t[6]=e.explicitSession,t[7]=e.readOnly,t[8]=n,t[9]=r,t[10]=i):i=t[10],i}let r;return t[11]!==e||t[12]!==n?(r=(0,$.jsx)(eq,{...e,runtimeKey:n},n),t[11]=e,t[12]=n,t[13]=r):r=t[13],r},iq=2e4,aq=()=>typeof document>`u`||document.visibilityState===`visible`&&document.hasFocus()?`visible`:`hidden`,oq=e=>{if(!Se()&&!Yt())return;let t=S();t?.push?.setVisibility&&t.push.setVisibility({visible:e,platform:rn()})},sq=e=>{let t=e?.enabled??!0;Z.useEffect(()=>{if(!t||!Se()&&!Yt()||typeof window>`u`)return;if(Yt()){let e=!0,t=!1,n=null,r=()=>oq(e);xn(async()=>{let{App:e}=await import(`./vendor-capacitor-app-B5H_XtmE.js`).then(e=>e.t);return{App:e}},__vite__mapDeps([59,1,10])).then(async({App:i})=>{if(t)return;let a=await i.getState().catch(()=>null);a&&(e=a.isActive===!0),r();let o=await i.addListener(`appStateChange`,({isActive:t})=>{e=t===!0,r()});if(t){o.remove();return}n=()=>void o.remove()}).catch(()=>void 0);let i=window.setInterval(()=>{e&&oq(!0)},iq);return()=>{t=!0,window.clearInterval(i),n?.()}}if(typeof document>`u`)return;let e=()=>{oq(aq()===`visible`)},n=()=>{aq()===`visible`&&oq(!0)},r=()=>{oq(!1)};e();let i=window.setInterval(n,iq);return document.addEventListener(`visibilitychange`,e),window.addEventListener(`pagehide`,r),window.addEventListener(`pageshow`,e),window.addEventListener(`focus`,e),window.addEventListener(`blur`,e),()=>{window.clearInterval(i),document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`pagehide`,r),window.removeEventListener(`pageshow`,e),window.removeEventListener(`focus`,e),window.removeEventListener(`blur`,e)}},[t])},cq=`OpenChamberY`,lq=e=>{let t=e.replace(/\\/g,`/`).replace(/\/+$/,``).split(`/`).filter(Boolean);return t[t.length-1]??``},uq=(e,t)=>[e,t,cq].filter(e=>typeof e==`string`&&e.trim().length>0).join(` | `),dq=()=>{let e=pa(e=>e.activeProjectId?e.projects.find(t=>t.id===e.activeProjectId)??null:null),t=Z.useMemo(()=>e&&lq(e.path)||null,[e]),[n,r]=Z.useState(null);Z.useEffect(()=>{if(typeof window>`u`||!fe()){r(null);return}let e=!1,t=async()=>{try{if(R()){e||r(null);return}let t=window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,n=u();if(n&&Ae(n,t)){e||r(null);return}let i=(await Re()).hosts.find(e=>n?Ae(n,Ne(e)):!1),a=i?.label?.trim()?je(i.label.trim()):`Instance`;e||r(a)}catch{e||r(`Instance`)}};t();let n=()=>{t()};return window.addEventListener(`focus`,n),()=>{e=!0,window.removeEventListener(`focus`,n)}},[]);let i=Z.useMemo(()=>uq(t,n),[t,n]);Z.useEffect(()=>{typeof document<`u`&&(document.title=i),fe()&&(async()=>{try{if(typeof navigator<`u`&&/Macintosh|Mac OS X/.test(navigator.userAgent||``))return;await Zn(i)}catch{return}})()},[i])},fq=e=>{let t=[];return e.hideGit||t.push(`git`),t.push(`files`),e.showBrowser&&t.push(`browser`),t},pq=e=>e===`git`||e===`files`||e===`browser`,mq=()=>{let e=ma.getState().currentSessionId;if(!e)return``;let t=Mt().find(t=>t.id===e);return typeof t?.directory==`string`?t.directory:``},hq=async(e,t=6e3)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),t),i=Date.now();try{let t=await d(e,{method:`GET`,headers:{Accept:`application/json`},signal:n.signal}),r=Date.now()-i,a=t.headers.get(`content-type`)||``,o=a.toLowerCase(),s=o.includes(`json`)&&!o.includes(`text/html`),c=``;if(s){let e=await t.json().catch(()=>null);if(Array.isArray(e))c=`json[array] len=${e.length}`;else if(e&&typeof e==`object`){let t=Object.keys(e).slice(0,8);c=`json[object] keys=${t.join(`,`)}${Object.keys(e).length>t.length?`,…`:``}`}else c=`json[${typeof e}]`}else c=a?`content-type=${a}`:`no content-type`;return{ok:t.ok&&s,status:t.status,elapsedMs:r,summary:c}}catch(e){return{ok:!1,status:0,elapsedMs:Date.now()-i,summary:`error=${n.signal.aborted||e instanceof Error&&(e.name===`AbortError`||e.message.toLowerCase().includes(`aborted`))?`timeout after ${t}ms`:e instanceof Error?e.message:String(e)}`}}finally{clearTimeout(r)}},gq=e=>{if(!e||!Number.isFinite(e))return`(n/a)`;try{return new Date(e).toISOString()}catch{return`(invalid)`}},_q=e=>{if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.trunc(e);if(typeof e==`string`){let t=Number.parseInt(e,10);if(Number.isFinite(t)&&t>0)return t}return null},vq=e=>!!e&&typeof e==`object`&&!Array.isArray(e),yq=(e,t=`(n/a)`)=>typeof e==`string`?e.trim()||t:typeof e==`number`&&Number.isFinite(e)?String(e):typeof e==`boolean`?e?`true`:`false`:t,bq=(e,t,n)=>e===`node-shebang`||e===`node-launcher`?t?`node (${t})`:`node`:e===`bun-shebang`?n?`bun (${n})`:`bun`:e||`direct executable`,xq=async()=>{let e=new Date,t=typeof navigator<`u`?navigator.userAgent:`(no navigator)`,n=mq(),r=q.getState().eventStreamStatus,a=typeof window<`u`?window.location.origin:``,o=i(),s=o.health(),c=o.api(`/api/`),l=await(async()=>{if(!s)return null;let e=new AbortController,t=setTimeout(()=>e.abort(),5e3);try{let t=await d(s,{method:`GET`,headers:{Accept:`application/json`},signal:e.signal});if(!t.ok)return null;let n=await t.json().catch(()=>null);return!n||typeof n!=`object`||Array.isArray(n)?null:n}catch{return null}finally{clearTimeout(t)}})(),u=await(async()=>{if(!c)return null;let e=new AbortController,t=setTimeout(()=>e.abort(),7e3);try{let t=await d(o.api(`/api/config/opencode-resolution`),{method:`GET`,headers:{Accept:`application/json`},signal:e.signal}),n=t.headers.get(`content-type`)||`(none)`;if(!t.ok)return{data:null,status:t.status,error:`http ${t.status} content-type=${n}`};let r=await t.text(),i=null;try{i=JSON.parse(r)}catch{let e=r.replace(/\s+/g,` `).slice(0,120);return{data:null,status:t.status,error:`invalid json content-type=${n} body=${e||`(empty)`}`}}return!i||typeof i!=`object`||Array.isArray(i)?{data:null,status:t.status,error:`invalid json-shape content-type=${n}`}:{data:i,status:t.status,error:null}}catch(e){return{data:null,status:null,error:e instanceof Error?e.message:String(e)}}finally{clearTimeout(t)}})()||{data:null,status:null,error:null},f=(e,t=!0)=>{if(!c)return null;let r=new URL(e.replace(/^\/+/,``),c);return t&&n&&r.searchParams.set(`directory`,n),r.toString()},p=c?await Promise.all([{label:`health`,path:`/health`,includeDirectory:!1},{label:`config`,path:`/config`,includeDirectory:!0},{label:`providers`,path:`/config/providers`,includeDirectory:!0},{label:`agents`,path:`/agent`,includeDirectory:!0,timeoutMs:12e3},{label:`commands`,path:`/command`,includeDirectory:!0,timeoutMs:1e4},{label:`project`,path:`/project/current`,includeDirectory:!0},{label:`path`,path:`/path`,includeDirectory:!0},{label:`sessions`,path:`/session`,includeDirectory:!0,timeoutMs:12e3},{label:`sessionStatus`,path:`/session/status`,includeDirectory:!0}].map(async e=>{let t=f(e.path,e.includeDirectory!==!1);if(!t)return{label:e.label,url:`(none)`,result:null};let n=await hq(t,typeof e.timeoutMs==`number`?e.timeoutMs:void 0);return{label:e.label,url:t,result:n}})):[],m=[];m.push(`Time: ${e.toISOString()}`),m.push(`OpenChamberY version: 2.1.7-beta.11`),m.push(`Runtime: ${a||`(unknown)`} (api=${c||`(unknown)`})`),m.push(`OpenCode SDK base: ${xt.getBaseUrl()}`),m.push(`Event stream: ${r}`),m.push(`Directory: ${n||`(none)`}`),m.push(`Platform: ${t}`);let h=_q(l?.openCodePort);if(m.push(`OpenCode runtime port: ${h??`(unknown)`}`),typeof l?.openCodeRunning==`boolean`&&m.push(`OpenCode runtime running: ${l.openCodeRunning?`yes`:`no`}`),typeof l?.openCodeSecureConnection==`boolean`&&m.push(`Secure OpenCode connection: ${l.openCodeSecureConnection?`true`:`false`}`),typeof l?.openCodeAuthSource==`string`&&l.openCodeAuthSource.trim()&&m.push(`OpenCode auth source: ${l.openCodeAuthSource}`),typeof l?.openCodeServeVersion==`string`&&l.openCodeServeVersion.trim()&&m.push(`OpenCode serve version: ${l.openCodeServeVersion}`),typeof l?.openCodeCliVersion==`string`&&l.openCodeCliVersion.trim()&&m.push(`OpenCode CLI version: ${l.openCodeCliVersion}`),vq(l?.runtimeContract)){let e=l.runtimeContract,t=typeof e.phase==`string`?e.phase:`(unknown)`,n=e.executionAllowed===!0?`allowed`:`limited`,r=e.protocolCompatible===!0?`compatible`:`incompatible`;m.push(`OpenCode runtime contract: phase=${t} protocol=${r} execution=${n}`),Array.isArray(e.reasons)&&e.reasons.length>0&&m.push(`OpenCode contract reasons: ${e.reasons.filter(e=>typeof e==`string`).join(`, `)}`)}if(typeof window<`u`){let e=window.__OPENCHAMBER_MACOS_MAJOR__;typeof e==`number`&&Number.isFinite(e)&&e>0&&m.push(`macOS major: ${e}`)}if(/Mac OS X|Macintosh/.test(t)){m.push(``),m.push(`OpenCode CLI resolution:`);let e=vq(l?.lastOpenCodeLaunchDiagnostics)?l.lastOpenCodeLaunchDiagnostics:null,t=e&&Array.isArray(e.args)?e.args.filter(e=>typeof e==`string`):[],n=u.data,r=n&&typeof n.configured==`string`?n.configured:null,i=n&&typeof n.resolved==`string`?n.resolved:l&&typeof l.opencodeBinaryResolved==`string`?l.opencodeBinaryResolved:``,a=n&&typeof n.resolvedDir==`string`?n.resolvedDir:``,o=n&&typeof n.source==`string`?n.source:l&&typeof l.opencodeBinarySource==`string`?l.opencodeBinarySource:``,s=n&&typeof n.launchBinary==`string`?n.launchBinary:l&&typeof l.opencodeLaunchBinary==`string`?l.opencodeLaunchBinary:``,c=n&&typeof n.launchWrapperType==`string`?n.launchWrapperType:l&&typeof l.opencodeLaunchWrapperType==`string`?l.opencodeLaunchWrapperType:``,d=n&&Array.isArray(n.launchArgs)?n.launchArgs.filter(e=>typeof e==`string`):l&&Array.isArray(l.opencodeLaunchArgs)?l.opencodeLaunchArgs.filter(e=>typeof e==`string`):[],f=n&&typeof n.node==`string`?n.node:l&&typeof l.nodeBinaryResolved==`string`?l.nodeBinaryResolved:``,p=n&&typeof n.bun==`string`?n.bun:l&&typeof l.bunBinaryResolved==`string`?l.bunBinaryResolved:``,h=n&&typeof n.detectedNow==`string`?n.detectedNow:``,g=n&&typeof n.detectedSourceNow==`string`?n.detectedSourceNow:``;if(r!==null&&m.push(`- configured: ${r.trim().length===0?`(cleared)`:r}`),i){let e=a||(i.includes(`/`)?i.split(`/`).slice(0,-1).join(`/`)||`/`:``);m.push(`- opencode: ${i}${e?` (dir=${e})`:``}`)}else m.push(`- opencode: (n/a)`);m.push(`- source: ${o||`(n/a)`}`),h&&(m.push(`- detected-now: ${h}`),m.push(`- detected-source: ${g||`(n/a)`}`)),e?(m.push(`- launched-at: ${yq(e.launchedAt)}`),m.push(`- launch: ${yq(e.binary)} ${t.join(` `)}`.trim()),m.push(`- cwd: ${yq(e.cwd)}`),m.push(`- wrapper: ${yq(e.wrapperType)}`),m.push(`- runtime: ${bq(yq(e.wrapperType,``),f,p)}`),m.push(`- PATH entries: ${yq(e.pathEntryCount,`(unknown)`)}`),m.push(`- shell env: ${yq(e.hasShellEnv,`(unknown)`)} (${yq(e.shellEnvKeysCount,`?`)} keys)`)):(m.push(`- launch-binary: ${s||`(n/a)`}`),m.push(`- launch-wrapper: ${c||`(n/a)`}`),m.push(`- launch-args: ${d.length?d.join(` `):`(none)`}`),m.push(`- runtime: ${bq(c||``,f,p)}`)),!n&&u.error&&m.push(`- resolution-endpoint: ${u.error}`)}if(m.push(``),p.length){m.push(`OpenCode API probes:`);for(let e of p){if(!e.result){m.push(`- ${e.label}: (no url)`);continue}let{ok:t,status:n,elapsedMs:r,summary:i}=e.result,a=t?``:` url=${e.url}`;m.push(`- ${e.label}: ${t?`ok`:`fail`} status=${n} time=${r}ms ${i}${a}`)}}else m.push(`OpenCode API probes: (skipped)`);return m.push(``),m.push(`Generated: ${gq(Date.now())}`),m.join(`
|
|
6604
|
+
`)},Sq=async()=>{let e=await xq(),t=q.getState();t.setOpenCodeStatusText(e),t.setOpenCodeStatusDialogOpen(!0)},Cq=(e,t)=>e===t?!0:!e||!t?!1:e.scope===t.scope&&e.sessionId===t.sessionId&&e.projectId===t.projectId,wq=e=>e?`${e.scope}:${e.projectId??``}:${e.sessionId}`:null,Tq=e=>({scope:`project`,sessionId:e,projectId:null}),Eq=Ve()(e=>({focus:null,setFocus:t=>e(e=>Cq(e.focus,t)?e:{focus:t})})),Dq=null,Oq=0,kq=(e,t)=>{let n=new Set,r=[];for(let i of t){if(!i.sessionId)continue;let t=e===`pinned`?i.sessionId:`${i.projectId??``}:${i.sessionId}`;n.has(t)||(n.add(t),r.push(i.scope===e?i:{...i,scope:e}))}return r},Aq=e=>{let t=++Oq;return Dq={pinned:kq(`pinned`,e.pinned),project:kq(`project`,e.project)},()=>{Oq===t&&(Dq=null)}},jq=()=>Dq,Mq=e=>!!e.parentID,Nq=(e,t)=>{if(!e)return null;let n=new Map(t.map(e=>[e.id,e])),r=n.get(e);if(!r)return e;for(;r&&Mq(r);){let e=r.parentID;if(!e)break;let t=n.get(e);if(!t)return e;r=t}return r?.id??e},Pq=()=>{let e=sr.getState().activeSessions;if(e.length>0)return e;let t=gt();return t.length>0?t:Mt()},Fq=(e,t,n)=>{if(!t)return-1;if(n?.scope){let r=e.findIndex(e=>e.scope===n.scope&&e.sessionId===t&&(!n.projectId||e.projectId===n.projectId));if(r>=0)return r}if(n?.projectId){let r=e.findIndex(e=>e.sessionId===t&&e.projectId===n.projectId);if(r>=0)return r}return e.findIndex(e=>e.sessionId===t)},Iq=e=>[...e.pinned,...e.project],Lq=(e,t,n,r)=>{if(e.length===0)return null;let i=Fq(e,n,r);return i<0?t>0?e[0]??null:e[e.length-1]??null:e[(i+t+e.length)%e.length]??null},Rq=(e,t,n=Eq.getState().focus)=>{let r=Nq(t,Pq()),i=n?.sessionId===t?n:null,a=jq();return a?Lq(Iq(a),e,r,i):null},zq=(e,t,n=e=>{ma.getState().setCurrentSession(e.sessionId,e.directory)})=>{let r=Rq(e,t);return r?(Eq.getState().setFocus({scope:r.scope,sessionId:r.sessionId,projectId:r.projectId}),n(r),r):null},Bq=.5,Vq=.1,Hq=`oc.webviewZoomFactor`,Uq=e=>Number.isFinite(e)?Math.min(3,Math.max(Bq,Math.round(e*100)/100)):1,Wq=()=>{if(typeof window>`u`)return 1;try{let e=window.localStorage.getItem(Hq);return e?Uq(Number.parseFloat(e)):1}catch{return 1}},Gq=e=>{if(!(typeof window>`u`))try{window.localStorage.setItem(Hq,String(e))}catch{}},Kq=e=>{let t=Uq(e);return typeof document<`u`&&(document.documentElement.style.zoom=t===1?``:String(t)),Gq(t),t},qq=()=>{if(typeof document>`u`)return 1;let e=document.documentElement.style.zoom;if(!e)return Wq();let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?Uq(t):Wq()},Jq=()=>{if(P())return;let e=Wq();e!==1&&Kq(e)},Yq=async()=>{if(P())try{let e=await _e(`desktop_zoom_in`);if(typeof e==`number`&&Number.isFinite(e))return Uq(e)}catch(e){console.warn(`[webview-zoom] desktop_zoom_in failed, using CSS zoom`,e)}return Kq(qq()+Vq)},Xq=async()=>{if(P())try{let e=await _e(`desktop_zoom_out`);if(typeof e==`number`&&Number.isFinite(e))return Uq(e)}catch(e){console.warn(`[webview-zoom] desktop_zoom_out failed, using CSS zoom`,e)}return Kq(qq()-Vq)},Zq=async()=>{if(P())try{let e=await _e(`desktop_zoom_reset`);if(typeof e==`number`&&Number.isFinite(e))return Uq(e)}catch(e){console.warn(`[webview-zoom] desktop_zoom_reset failed, using CSS zoom`,e)}return Kq(1)},Qq=9,$q=null,eJ=0,tJ=({pinnedTargets:e,projectTargets:t})=>[...e,...t].slice(0,Qq),nJ=(e,t)=>{let n=e.findIndex(e=>e.scope===t.scope&&e.sessionId===t.sessionId&&(e.projectId??null)===(t.projectId??null));return n>=0?n+1:null},rJ=e=>{let t=++eJ;return $q={targets:e.targets.slice(0,Qq),activate:e.activate},()=>{eJ===t&&($q=null)}},iJ=e=>{if(!Number.isInteger(e)||e<1||e>Qq)return!1;let t=$q,n=t?.targets[e-1];return!t||!n?!1:(t.activate(n),!0)},aJ=e=>{let t=e.trim();if(!t)return null;let n=xf.getState(),r=n.createTab(t);return!r||r===`tab-invalid`?null:(n.setActiveTab(t,r),r)},oJ=e=>{let t=e.trim();if(!t)return null;let n=q.getState();return!n.isBottomTerminalOpen&&n.activeMainTab!==`terminal`&&n.setBottomTerminalOpen(!0),aJ(t)},sJ=(e,t)=>{let n=e.trim();if(!n)return!1;let r=xf.getState(),i=r.getDirectoryState(n);if(!i||i.tabs.length<2)return!1;let a=i.tabs.findIndex(e=>e.id===i.activeTabId),o=((a>=0?a:0)+t+i.tabs.length)%i.tabs.length,s=i.tabs[o]?.id;return!s||s===i.activeTabId?!1:(r.setActiveTab(n,s),!0)},cJ=e=>{let t=e.trim();if(!t)return{closed:!1,wasLastTab:!1};let n=xf.getState(),r=n.getDirectoryState(t),i=r?.activeTabId??null;if(!r||!i)return{closed:!1,wasLastTab:!1};let a=r.tabs.length===1;return n.closeTab(t,i),{closed:!0,wasLastTab:a}},lJ=()=>typeof window>`u`||window.parent===window||!nl(window.location.search)?!1:(window.parent.postMessage({type:al},window.location.origin),!0),uJ=()=>{let{isMobile:e,closeActiveContextPanelTab:t}=q.getState();if(e)return!1;let n=Dd();return n&&t(n)?!0:P()?(_e(`desktop_close_current_window`).catch(e=>{console.warn(`[keyboard-shortcuts] failed to close current window`,e)}),!0):!1},dJ=({sessionId:e,surfaceKind:t,wiringCanAbort:n,primaryCanAbort:r,pendingSend:i=!1})=>e?i||n?!0:t!==`secondary`&&r:!1,fJ=async({sessionId:e,currentProviderId:t,currentModelId:n,waitForConnectionOrThrow:r,getAuthoritativeDirectoryForSession:i,summarizeSession:a,onCompactFailed:o})=>{try{await r();let s=i(e);if(!s){o();return}await a(e,t,n,s)}catch(e){o(e)}},pJ=()=>{let e=(0,Q.c)(69),{t}=Kn(),n=ma(mJ),r=ma(hJ),i=ma(gJ),a=ma(_J),o=Wi,s=q(vJ),c=q(yJ),l=q(bJ),u=q(xJ),d=q(SJ),f=q(CJ),p=q(wJ),m=q(TJ),h=q(EJ),g=q(DJ),_=q(OJ),v=q(kJ),y=q(AJ),b=q(jJ),x=q(MJ),S=q(NJ),C=q(PJ),w=q(FJ),T=q(IJ),E=ot(LJ),D=pa(RJ),{themeMode:O,setThemeMode:k}=is(),{working:A}=QL(),j=Z.useRef(null),M=Z.useRef(null),N=Z.useRef(null),F=Z.useRef(!1),I=Z.useRef(O),L,R;e[0]===O?(L=e[1],R=e[2]):(L=()=>{I.current=O},R=[O],e[0]=O,e[1]=L,e[2]=R),Z.useEffect(L,R);let z;e[3]===i?z=e[4]:(z=()=>{M.current&&=(clearTimeout(M.current),null),j.current=null,i()},e[3]=i,e[4]=z);let B=z,V;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(V=()=>{N.current&&=(clearTimeout(N.current),null),uh.getState().clear()},e[5]=V):V=e[5];let H=V,ee;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>{N.current&&=(clearTimeout(N.current),null);let e=uh.getState().arm(lh);N.current=setTimeout(()=>{let{expiresAt:e}=uh.getState();e&&Date.now()>=e&&uh.getState().clear(),N.current=null},Math.max(0,e-Date.now()))},e[6]=ee):ee=e[6];let U=ee,te;e[7]!==D?.id||e[8]!==D?.path||e[9]!==r||e[10]!==E||e[11]!==h||e[12]!==n||e[13]!==B||e[14]!==_||e[15]!==b||e[16]!==m||e[17]!==y||e[18]!==C||e[19]!==d||e[20]!==f||e[21]!==g||e[22]!==v||e[23]!==k||e[24]!==x||e[25]!==T||e[26]!==t||e[27]!==p||e[28]!==s||e[29]!==w||e[30]!==c||e[31]!==S||e[32]!==u||e[33]!==l||e[34]!==A?(te=()=>{let e=e=>mc(e,T),i=e=>Lc(e,T),a=zJ,O=[`[data-slot="dropdown-menu-content"]`,`[data-slot="select-content"]`,`[role="combobox"]`,`[role="listbox"]`,`[role="menu"]`,`[role="menuitem"]`,`[role="option"]`,`[data-radix-popper-content-wrapper]`].join(`,`),N=e=>e instanceof Element&&!!e.closest(O),L=VJ,R=UJ,z=WJ,V=async()=>{let e=yT(),n=e?TT(e):null;if(n&&e){try{await n.compact({providerID:e.selection.value.providerID,modelID:e.selection.value.modelID,agent:e.selection.value.agent,variant:e.selection.value.variant})}catch(e){let n=e;mi.error(n instanceof Error?n.message:t(`chat.chatInput.toast.compactFailed`))}return}let r=ma.getState().currentSessionId;if(!r)return;let{currentProviderId:i,currentModelId:a}=aa.getState();await fJ({sessionId:r,currentProviderId:i,currentModelId:a,waitForConnectionOrThrow:po,getAuthoritativeDirectoryForSession:ma.getState().getAuthoritativeDirectoryForSession,summarizeSession:GJ,onCompactFailed:e=>{mi.error(e instanceof Error?e.message:t(`chat.chatInput.toast.compactFailed`))}})},ee=t=>{let r=uh.getState().pending;if(t.repeat||t.isComposing&&!r||t.defaultPrevented&&!r||a(t.target)&&!r)return;let i=e(`leader_key`);if(r){let e=()=>{F.current=!0,window.setTimeout(()=>{F.current=!1},0)};if(i&&yc(t,i)){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),U();return}let r=t.key.toLowerCase();if(r===`escape`){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),H();return}if(t.key===`Control`||t.key===`Shift`||t.key===`Alt`||t.key===`Meta`)return;if(t.metaKey||t.ctrlKey||t.altKey){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H();return}let{activeMainTab:a,isModelSelectorOpen:o,isAgentSelectorOpen:s}=q.getState(),c=vT(a)&&!z();if(r===`m`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),window.requestAnimationFrame(()=>{y(!o,{instant:!0})});return}if(r===`a`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),b(!s,{instant:!0});return}if(r===`n`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H();let r=yT(),i=r?TT(r):null;i?i.shortcut(`new`):(_(`chat`),g(!1),n());return}if(r===`c`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),V(),R();return}t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),R();return}if(!i||!yc(t,i)||z())return;let{activeMainTab:o}=q.getState();vT(o)&&(t.preventDefault(),t.stopPropagation(),U())},te=()=>uh.getState().pending||F.current,ne=e=>{te()&&e.preventDefault()},W=e=>{te()&&(e.preventDefault(),e.stopPropagation())},G=t=>{if(a(t.target)){if(!K()&&yc(t,e(`new_terminal_tab`))){let e=Dd();if(!e||!aJ(e))return;t.preventDefault(),t.stopPropagation();return}if(!K()&&yc(t,e(`previous_terminal_tab`))){let e=Dd();if(!e||!sJ(e,-1))return;t.preventDefault(),t.stopPropagation();return}if(!K()&&yc(t,e(`next_terminal_tab`))){let e=Dd();if(!e||!sJ(e,1))return;t.preventDefault(),t.stopPropagation();return}if(yc(t,e(`close_context_panel_tab`))){let e=Dd();if(!e)return;let{closed:n,wasLastTab:r}=cJ(e);if(!n)return;if(t.preventDefault(),t.stopPropagation(),r){let e=q.getState();e.setBottomTerminalOpen(!1),e.activeMainTab===`terminal`&&e.setActiveMainTab(`chat`)}return}if(yc(t,e(`toggle_terminal`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),t.stopPropagation(),p();return}if(yc(t,e(`toggle_bottom_panel`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),t.stopPropagation(),p();return}if(yc(t,e(`toggle_terminal_expanded`))){let{isMobile:e,isBottomTerminalExpanded:n}=q.getState();if(e)return;t.preventDefault(),t.stopPropagation(),m(!n);return}}},re=KJ,ie=t=>{if(t.defaultPrevented)return;if(yc(t,e(`close_context_panel_tab`))){(lJ()||uJ())&&(t.preventDefault(),t.stopPropagation());return}if(a(t.target))return;let r=qJ;if(r(t.target)&&t.ctrlKey&&!t.metaKey&&!t.shiftKey&&!t.altKey&&t.key.toLowerCase()===`t`){t.preventDefault(),re();return}if(yc(t,e(`open_command_palette`))){t.preventDefault(),s();return}if(yc(t,e(`open_timeline_dialog`))){t.preventDefault(),x(!0);return}if(yc(t,e(`toggle_prompt_navigator`))){let{activeMainTab:e,promptNavigatorEnabled:n,isSettingsDialogOpen:r,isCommandPaletteOpen:i,isHelpDialogOpen:a,isSessionSwitcherOpen:o,isAboutDialogOpen:s,isTimelineDialogOpen:c,isMultiRunLauncherOpen:l,isImagePreviewOpen:u}=q.getState();if(!n||h||K()||e!==`chat`||r||i||a||o||s||c||l||u)return;t.preventDefault(),S();return}if(yc(t,e(`open_status`))){t.preventDefault(),Sq();return}if(yc(t,e(`open_help`))){t.preventDefault(),c();return}if(P()&&yc(t,e(`new_mini_chat`))){t.preventDefault(),_e(`desktop_open_draft_mini_chat_window`,{directory:E||D?.path||``,projectId:D?.id??null}).catch(JJ);return}let o=yc(t,e(`new_chat`)),b=yc(t,e(`new_chat_worktree`));if(o||b){if(t.preventDefault(),_(`chat`),g(!1),!K()&&b){iS();return}n();return}if(yc(t,e(`cycle_theme`))){if(t.preventDefault(),Vp()!==null&&window.parent&&window.parent!==window){window.parent.postMessage({type:`openchamber:cycle-theme-request`},window.location.origin);return}let e=[`light`,`dark`,`system`],n=document.activeElement,r=(e.indexOf(I.current)+1)%e.length;k(e[r]),requestAnimationFrame(()=>{typeof document>`u`||typeof window>`u`||(document.hasFocus()||window.focus(),n&&document.contains(n)&&n.focus({preventScroll:!0}))});return}if(dc(t,`in`,e(`zoom_in`))){t.preventDefault(),Yq();return}if(dc(t,`out`,e(`zoom_out`))){t.preventDefault(),Xq();return}if(yc(t,e(`zoom_reset`))){t.preventDefault(),Zq();return}if(yc(t,e(`open_settings`))){t.preventDefault();let{isSettingsDialogOpen:e}=q.getState();v(!e);return}if(yc(t,e(`toggle_sidebar`))){t.preventDefault();let{isMobile:e,isSessionSwitcherOpen:n}=q.getState();e?g(!n):l();return}if(yc(t,e(`focus_input`))){t.preventDefault(),document.querySelector(`textarea[data-chat-input="true"]`)?.focus();return}let C=e(`cycle_agent`),T=C&&!C.includes(`shift`)?Gs(`shift+${C}`):``,O=T&&yc(t,T)?-1:+!!yc(t,C);if(O!==0){let{isSettingsDialogOpen:e,isCommandPaletteOpen:n,isHelpDialogOpen:i,isSessionSwitcherOpen:a,isAboutDialogOpen:o,activeMainTab:s}=q.getState();if(e||n||i||a||o||!vT(s)||!r(t.target))return;let c=yT(),l=c?TT(c):null;if(l){t.preventDefault(),l.shortcut(`cycle`,O);return}let u=aa.getState(),d=qa(u.getVisibleAgents(),u.currentAgentName,O);if(!d)return;t.preventDefault(),u.setAgent(d),q.getState().addRecentAgent(d);let f=ma.getState().currentSessionId;f&&Sr.getState().saveSessionAgentSelection(f,d);return}if(i(`toggle_right_sidebar`).some(e=>yc(t,e))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),u();return}if(yc(t,e(`open_right_sidebar_git`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),d(!0),f(`git`);return}if(yc(t,e(`open_right_sidebar_files`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),d(!0),f(`files`);return}if(yc(t,e(`cycle_right_sidebar_tab`))){let{isMobile:e,rightSidebarTab:n}=q.getState();if(e)return;let r=fq({hideGit:q.getState().activeMainTab===`git`,showBrowser:vc(Mc())}),i=r[(r.indexOf(n)+1)%r.length];t.preventDefault(),d(!0),f(i);return}let A=e=>zq(e,ma.getState().currentSessionId,e=>{_(`chat`),g(!1),ma.getState().setCurrentSession(e.sessionId,e.directory)});if(i(`previous_session`).some(e=>yc(t,e))){t.preventDefault(),A(-1);return}if(i(`next_session`).some(e=>yc(t,e))){t.preventDefault(),A(1);return}for(let n=1;n<=9;n+=1)if(yc(t,e(`switch_tab_${n}`))){iJ(n)&&t.preventDefault();return}if(yc(t,e(`toggle_terminal`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),p();return}if(yc(t,e(`open_new_terminal`))){let{isMobile:e}=q.getState();if(e||K())return;let n=Dd();if(!n||!oJ(n))return;t.preventDefault();return}if(yc(t,e(`toggle_bottom_panel`))){let{isMobile:e}=q.getState();if(e)return;t.preventDefault(),p();return}if(yc(t,e(`toggle_terminal_expanded`))){let{isMobile:e,isBottomTerminalExpanded:n}=q.getState();if(e)return;t.preventDefault(),m(!n);return}if(yc(t,e(`open_model_selector`))){let{isSettingsDialogOpen:e,isCommandPaletteOpen:n,isHelpDialogOpen:r,isSessionSwitcherOpen:i,isAboutDialogOpen:a,activeMainTab:o,isModelSelectorOpen:s}=q.getState();if(e)return;let c=n||r||i||a,l=vT(o);if(c||!l)return;t.preventDefault(),y(!s,{instant:!0});return}if(yc(t,e(`cycle_thinking_variant`))){re()&&t.preventDefault();return}if(yc(t,e(`cycle_favorite_model_forward`))||yc(t,e(`cycle_favorite_model_backward`))){let{isSettingsDialogOpen:n,isCommandPaletteOpen:r,isHelpDialogOpen:i,isSessionSwitcherOpen:a,isAboutDialogOpen:o,activeMainTab:s,favoriteModels:c,addRecentModel:l}=q.getState();if(n)return;let u=r||i||a||o,d=vT(s);if(u||!d||c.length===0)return;t.preventDefault();let f=c.length,p=yc(t,e(`cycle_favorite_model_forward`))?1:-1,m=yT();if(m?.selection.change){let e=m.selection.value.providerID,t=m.selection.value.modelID,n=c[(c.findIndex(n=>n.providerID===e&&n.modelID===t)+p+f)%f],r=aa.getState().providers.find(e=>e.id===n.providerID)?.models?.find(e=>e.id===n.modelID),i=r?.variants?Object.keys(r.variants):[],a=n.variant!==void 0&&i.includes(n.variant)?n.variant:void 0;m.selection.change({...m.selection.value,providerID:n.providerID,modelID:n.modelID,variant:a}),l(n.providerID,n.modelID,a);return}let{currentProviderId:h,currentModelId:g,providers:_,setProvider:v,setModel:y,setCurrentVariant:b}=aa.getState(),x=c[(c.findIndex(e=>e.providerID===h&&e.modelID===g)+p+f)%f];v(x.providerID),y(x.modelID);let S=_.find(e=>e.id===x.providerID)?.models?.find(e=>e.id===x.modelID),C=S?.variants?Object.keys(S.variants):[],w=x.variant!==void 0&&C.includes(x.variant)?x.variant:void 0;b(w),l(x.providerID,x.modelID,w);return}if(yc(t,e(`expand_input`))){if(h)return;t.preventDefault(),w();return}if(yc(t,e(`toggle_dictation`))){let{activeMainTab:e,isCommandPaletteOpen:n,isHelpDialogOpen:r,isSessionSwitcherOpen:i,isSettingsDialogOpen:a}=q.getState();if(!vT(e)||n||r||i||a)return;t.preventDefault(),window.dispatchEvent(new CustomEvent(`openchamber:dictation-toggle`));return}},ae=e=>{if(e.key!==`Escape`||e.isComposing)return;let t=e.target,n=!!t?.closest(`[role="dialog"]`),i=!!document.querySelector(`[data-settings-view="true"]`),a=!!(t?.closest(`.terminal-viewport-container`)||t?.getAttribute(`data-terminal-hidden-input`)===`true`),s=N(t)||L(),{isSettingsDialogOpen:c,isCommandPaletteOpen:l,isHelpDialogOpen:u,isSessionSwitcherOpen:d,isAboutDialogOpen:f,isMultiRunLauncherOpen:p,isImagePreviewOpen:m,isPromptNavigatorPanelOpen:h}=q.getState();if(n||a||s){B();return}if(h){e.preventDefault(),C(!1),B();return}if(c){e.preventDefault(),v(!1),B();return}if(i){B();return}if(l||u||d||f||p||m){B();return}let g=yT(),_=g?TT(g):null,y=g?.sessionID??ma.getState().currentSessionId,b=!!(y&&ma.getState().pendingSendMessageIDs.get(y));if(!dJ({sessionId:y,surfaceKind:g?.kind,wiringCanAbort:_?.canAbort,primaryCanAbort:A.canAbort,pendingSend:b})){B();return}e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();let x=Date.now(),S=j.current;if(S&&x<S){B(),_?_.abort():(y&&Tr(y),o(y??``));return}let w=g?.kind===`secondary`?x+3e3:r(3e3)??x+3e3;j.current=w,M.current&&clearTimeout(M.current);let T=Math.max(w-x,0);M.current=setTimeout(()=>{j.current&&Date.now()>=j.current&&B()},T||0)};return window.addEventListener(`keydown`,ee,!0),window.addEventListener(`beforeinput`,ne,!0),window.addEventListener(`compositionstart`,W,!0),window.addEventListener(`compositionupdate`,W,!0),window.addEventListener(`compositionend`,W,!0),window.addEventListener(`keydown`,G,!0),window.addEventListener(`keydown`,ae,!0),window.addEventListener(`keydown`,ie),()=>{window.removeEventListener(`keydown`,ee,!0),window.removeEventListener(`beforeinput`,ne,!0),window.removeEventListener(`compositionstart`,W,!0),window.removeEventListener(`compositionupdate`,W,!0),window.removeEventListener(`compositionend`,W,!0),window.removeEventListener(`keydown`,G,!0),window.removeEventListener(`keydown`,ae,!0),window.removeEventListener(`keydown`,ie)}},e[7]=D?.id,e[8]=D?.path,e[9]=r,e[10]=E,e[11]=h,e[12]=n,e[13]=B,e[14]=_,e[15]=b,e[16]=m,e[17]=y,e[18]=C,e[19]=d,e[20]=f,e[21]=g,e[22]=v,e[23]=k,e[24]=x,e[25]=T,e[26]=t,e[27]=p,e[28]=s,e[29]=w,e[30]=c,e[31]=S,e[32]=u,e[33]=l,e[34]=A,e[35]=te):te=e[35];let ne=D?.id,W=D?.path,G;e[36]!==r||e[37]!==E||e[38]!==a||e[39]!==h||e[40]!==n||e[41]!==B||e[42]!==_||e[43]!==b||e[44]!==m||e[45]!==y||e[46]!==C||e[47]!==d||e[48]!==f||e[49]!==g||e[50]!==v||e[51]!==k||e[52]!==x||e[53]!==T||e[54]!==t||e[55]!==ne||e[56]!==W||e[57]!==p||e[58]!==s||e[59]!==w||e[60]!==c||e[61]!==S||e[62]!==u||e[63]!==l||e[64]!==A?(G=[n,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,k,A,r,B,U,H,a,E,ne,W,T,t],e[36]=r,e[37]=E,e[38]=a,e[39]=h,e[40]=n,e[41]=B,e[42]=_,e[43]=b,e[44]=m,e[45]=y,e[46]=C,e[47]=d,e[48]=f,e[49]=g,e[50]=v,e[51]=k,e[52]=x,e[53]=T,e[54]=t,e[55]=ne,e[56]=W,e[57]=p,e[58]=s,e[59]=w,e[60]=c,e[61]=S,e[62]=u,e[63]=l,e[64]=A,e[65]=G):G=e[65],Z.useEffect(te,G);let re,ie;e[66]===B?(re=e[67],ie=e[68]):(ie=()=>()=>{B(),H()},re=[B,H],e[66]=B,e[67]=re,e[68]=ie),Z.useEffect(ie,re)};function mJ(e){return e.openNewSessionDraft}function hJ(e){return e.armAbortPrompt}function gJ(e){return e.clearAbortPrompt}function _J(e){return e.currentSessionId}function vJ(e){return e.toggleCommandPalette}function yJ(e){return e.toggleHelpDialog}function bJ(e){return e.toggleSidebar}function xJ(e){return e.toggleRightSidebar}function SJ(e){return e.setRightSidebarOpen}function CJ(e){return e.setRightSidebarTab}function wJ(e){return e.toggleBottomTerminal}function TJ(e){return e.setBottomTerminalExpanded}function EJ(e){return e.isMobile}function DJ(e){return e.setSessionSwitcherOpen}function OJ(e){return e.setActiveMainTab}function kJ(e){return e.setSettingsDialogOpen}function AJ(e){return e.setModelSelectorOpen}function jJ(e){return e.setAgentSelectorOpen}function MJ(e){return e.setTimelineDialogOpen}function NJ(e){return e.togglePromptNavigatorPanel}function PJ(e){return e.setPromptNavigatorPanelOpen}function FJ(e){return e.toggleExpandedInput}function IJ(e){return e.shortcutOverrides}function LJ(e){return e.currentDirectory}function RJ(e){return e.getActiveProject()}function zJ(e){return e instanceof Element&&!!(e.closest(`[data-terminal-view="true"]`)||e.closest(`.terminal-viewport-container`)||e.getAttribute(`data-terminal-hidden-input`)===`true`)}function BJ(e){return e.getClientRects().length>0}function VJ(){let e=document.querySelectorAll(`[data-slot="dropdown-menu-content"], [data-slot="select-content"], [role="menu"], [data-radix-popper-content-wrapper]`);return Array.from(e).some(BJ)}function HJ(){document.querySelector(`textarea[data-chat-input="true"]`)?.focus({preventScroll:!0})}function UJ(){window.requestAnimationFrame(HJ)}function WJ(){let{isSettingsDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isSessionSwitcherOpen:r,isAboutDialogOpen:i}=q.getState();return e||t||n||r||i}function GJ(e,t,n,r){return xt.summarizeSession(e,t,n,r)}function KJ(){let{isSettingsDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isSessionSwitcherOpen:r,isAboutDialogOpen:i,activeMainTab:a}=q.getState();if(e||t||n||r||i||!vT(a))return!1;let o=yT();if(o?.selection.change){let e=o.selection.catalog?.variants??[];if(e.length===0)return!1;let t=o.selection.value.variant,n=e[((t?e.indexOf(t):-1)+1)%e.length];return o.selection.change({...o.selection.value,variant:n}),!0}let s=aa.getState();if(s.getCurrentModelVariants().length===0)return!1;s.cycleCurrentVariant();let c=aa.getState().currentVariant,l=ma.getState().currentSessionId,u=aa.getState().currentAgentName,d=aa.getState().currentProviderId,f=aa.getState().currentModelId;return l&&u&&d&&f&&Sr.getState().saveAgentModelVariantForSession(l,u,d,f,c),u&&d&&f&&aa.getState().saveAgentModelSelection(u,d,f,c),!0}function qJ(e){return e instanceof HTMLTextAreaElement&&e.getAttribute(`data-chat-input`)===`true`}function JJ(e){console.warn(`[keyboard-shortcuts] failed to open draft mini chat window`,e)}var YJ=3,XJ=(e,t)=>{if(typeof e!=`string`)return t;let n=e.trim().replace(/\s+/g,` `);return n?n.slice(0,48):t},ZJ=(e,t)=>{let n=t?[...e.filter(e=>e.id===t),...e.filter(e=>e.id!==t)]:e,r=[],i=new Set;for(let e of n){let t=typeof e.id==`string`?e.id.trim():``;if(!(!t||i.has(t))&&(i.add(t),r.push({sessionId:t,title:XJ(e.title,`Session ${r.length+1}`)}),r.length>=YJ))break}return r},QJ=()=>{let e=(0,Q.c)(9),t=Ko(),n=ma($J),r;e[0]!==n||e[1]!==t?(r=ZJ(t,n),e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a;e[3]===i?a=e[4]:(a=JSON.stringify(i),e[3]=i,e[4]=a);let o=a,s,c;e[5]!==i||e[6]!==o?(s=()=>{if(!(typeof window>`u`||!Se())){try{i.length===0?localStorage.removeItem(fc):localStorage.setItem(fc,o)}catch{return}window.__OPENCHAMBER_UPDATE_PWA_MANIFEST__?.()}},c=[i,o],e[5]=i,e[6]=o,e[7]=s,e[8]=c):(s=e[7],c=e[8]),Z.useEffect(s,c)};function $J(e){return e.currentSessionId}var eY=e=>Number.isFinite(e)?`${Math.max(0,Math.round(e))}px`:`0px`,tY=(e,t,n,r)=>{e.style.setProperty(`--oc-wco-left-inset`,eY(t)),e.style.setProperty(`--oc-wco-right-inset`,eY(n)),e.style.setProperty(`--oc-wco-titlebar-height`,eY(r))},nY=()=>{let e=(0,Q.c)(1),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],Z.useEffect(rY,t)};function rY(){if(typeof window>`u`||!Se())return;let e=document.documentElement,t=typeof window.matchMedia==`function`?window.matchMedia(`(display-mode: window-controls-overlay)`):null,n=window.navigator.windowControlsOverlay,r=()=>{if(!n||!t?.matches||!n.visible){tY(e,0,0,0);return}let r=n.getTitlebarAreaRect(),i=Math.max(0,Number(r.x)||0),a=Math.max(0,Number(r.width)||0),o=Math.max(0,Number(r.height)||0),s=Math.max(0,window.innerWidth-(i+a));tY(e,i,s,o)},i=()=>{r()};return r(),window.addEventListener(`resize`,r),window.addEventListener(`focus`,r),t&&(typeof t.addEventListener==`function`?t.addEventListener(`change`,i):typeof t.addListener==`function`&&t.addListener(i)),n&&typeof n.addEventListener==`function`&&n.addEventListener(`geometrychange`,r),()=>{window.removeEventListener(`resize`,r),window.removeEventListener(`focus`,r),t&&(typeof t.removeEventListener==`function`?t.removeEventListener(`change`,i):typeof t.removeListener==`function`&&t.removeListener(i)),n&&typeof n.removeEventListener==`function`&&n.removeEventListener(`geometrychange`,r),tY(e,0,0,0)}}var iY=null,aY=e=>{let t=iY;return iY=e,()=>{iY===e&&(iY=t)}},oY=()=>({orderByProject:{},pendingProjectIDs:{}}),sY=(e,t)=>!!(e&&e.length===t.length&&e.every((e,n)=>e===t[n])),cY=a(),lY=Ve()(He((e,t)=>({runtimeIdentity:cY,...oY(),serverRevisionByProject:{},deferredServerOrderByProject:{},runtimeOrdersByIdentity:{[cY]:oY()},activateWorktreeOrderRuntime:t=>e(e=>{if(e.runtimeIdentity===t)return e;let n=e.runtimeOrdersByIdentity[t]??oY();return{runtimeIdentity:t,orderByProject:n.orderByProject,pendingProjectIDs:n.pendingProjectIDs,serverRevisionByProject:{},deferredServerOrderByProject:{},runtimeOrdersByIdentity:e.runtimeOrdersByIdentity[t]?e.runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[t]:n}}}),setWorktreeOrder:(t,n,r)=>{let i=!1;e(e=>{let n=sY(e.orderByProject[t],r),a=e.pendingProjectIDs[t]?e.pendingProjectIDs:{...e.pendingProjectIDs,[t]:!0};if(i=!n||a!==e.pendingProjectIDs,!i)return e;let o=n?e.orderByProject:{...e.orderByProject,[t]:r},s={orderByProject:o,pendingProjectIDs:a};return{orderByProject:o,pendingProjectIDs:a,runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[e.runtimeIdentity]:s}}}),i&&iY?.(t,n,r)},markPendingWorktreeOrder:t=>e(e=>{if(e.pendingProjectIDs[t])return e;let n={...e.pendingProjectIDs,[t]:!0};return{pendingProjectIDs:n,runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[e.runtimeIdentity]:{orderByProject:e.orderByProject,pendingProjectIDs:n}}}}),applyServerWorktreeOrder:(t,n,r)=>e(e=>{let i=e.serverRevisionByProject[t];if(i!==void 0&&r<=i)return e;let a={...e.serverRevisionByProject,[t]:r};if(e.pendingProjectIDs[t])return{serverRevisionByProject:a,deferredServerOrderByProject:{...e.deferredServerOrderByProject,[t]:{orderedPaths:n,revision:r}}};if(sY(e.orderByProject[t],n))return{serverRevisionByProject:a};let o={...e.orderByProject,[t]:n};return{orderByProject:o,serverRevisionByProject:a,runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[e.runtimeIdentity]:{orderByProject:o,pendingProjectIDs:e.pendingProjectIDs}}}}),setServerRevision:(t,n)=>e(e=>{let r=e.serverRevisionByProject[t];return r!==void 0&&n<=r?e:{serverRevisionByProject:{...e.serverRevisionByProject,[t]:n}}}),resolvePendingWorktreeOrder:(t,n)=>e(e=>{let r=e.serverRevisionByProject[t],i=e.deferredServerOrderByProject[t],a=Math.max(r??0,n,i?.revision??0),o=r===a?e.serverRevisionByProject:{...e.serverRevisionByProject,[t]:a},s=i?(()=>{let n={...e.deferredServerOrderByProject};return delete n[t],n})():e.deferredServerOrderByProject;if(!e.pendingProjectIDs[t])return o===e.serverRevisionByProject&&s===e.deferredServerOrderByProject?e:{serverRevisionByProject:o,deferredServerOrderByProject:s};let c={...e.pendingProjectIDs};delete c[t];let l=i&&i.revision>n&&!sY(e.orderByProject[t],i.orderedPaths)?{...e.orderByProject,[t]:i.orderedPaths}:e.orderByProject;return{pendingProjectIDs:c,orderByProject:l,serverRevisionByProject:o,deferredServerOrderByProject:s,runtimeOrdersByIdentity:{...e.runtimeOrdersByIdentity,[e.runtimeIdentity]:{orderByProject:l,pendingProjectIDs:c}}}}),resetServerWorktreeOrders:()=>e(e=>Object.keys(e.serverRevisionByProject).length===0&&Object.keys(e.deferredServerOrderByProject).length===0?e:{serverRevisionByProject:{},deferredServerOrderByProject:{}}),hasPendingWorktreeOrder:e=>!!t().pendingProjectIDs[e]}),{name:`mobile-worktree-order`,version:2,partialize:e=>({runtimeOrdersByIdentity:e.runtimeOrdersByIdentity}),migrate:e=>{let t=e;return t.runtimeOrdersByIdentity?{runtimeOrdersByIdentity:t.runtimeOrdersByIdentity}:{runtimeOrdersByIdentity:{[cY]:{orderByProject:t.orderByProject??{},pendingProjectIDs:t.pendingProjectIDs??{}}}}},merge:(e,t)=>{let n=e.runtimeOrdersByIdentity??t.runtimeOrdersByIdentity,r=n[t.runtimeIdentity]??oY();return{...t,runtimeOrdersByIdentity:n,orderByProject:r.orderByProject,pendingProjectIDs:r.pendingProjectIDs}}})),uY=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``),dY=(e,t)=>{if(!e||e.length===0)return t;let n=new Map(e.map((e,t)=>[uY(e),t]));return t.map((e,t)=>({worktree:e,index:t})).sort((e,t)=>(n.get(uY(e.worktree.path))??2**53-1)-(n.get(uY(t.worktree.path))??2**53-1)||e.index-t.index).map(e=>e.worktree)},fY=3e4,pY=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,mY=e=>e instanceof Ci?e.status===501?`unsupported`:e.status>=400&&e.status<500&&e.status!==408&&e.status!==429&&e.code!==`revision_conflict`?`permanent`:`retry`:`retry`,hY=(e,t)=>new Promise((n,r)=>{let i=()=>{clearTimeout(a),t.removeEventListener(`abort`,i),r(new DOMException(`Aborted`,`AbortError`))},a=setTimeout(()=>{t.removeEventListener(`abort`,i),n()},e);t.aborted?i():t.addEventListener(`abort`,i,{once:!0})}),gY=(e,t)=>e.then(e=>{if(t?.aborted)throw new DOMException(`Aborted`,`AbortError`);return e}),_Y={fetchSnapshot:e=>gY(ca(le),e),refreshSnapshot:e=>gY(Wo(le),e),fetchOrder:Ho,setOrder:Di,waitInvalidation:wr,captureRuntime:()=>({transportIdentity:a(),generation:s()}),isCurrent:e=>e.transportIdentity===a()&&e.generation===s(),sleep:hY,createRequestID:()=>typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`worktree-order-${Date.now()}-${Math.random().toString(36).slice(2)}`},vY=new Map,yY=()=>{for(let e of vY.values())e.controller.abort();vY.clear()},bY=(e,t,n,r=_Y)=>{vY.get(e)?.controller.abort();let i={projectDirectory:pY(t),orderedPaths:[...n],capture:r.captureRuntime(),controller:new AbortController,backoffMs:500,running:!1};vY.set(e,i),xY(e,r)},xY=async(e,t=_Y)=>{let n=vY.get(e);if(!(!n||n.running)){n.running=!0;try{for(;;){let n=vY.get(e);if(!n||!t.isCurrent(n.capture)||n.controller.signal.aborted)return;let r=lY.getState().serverRevisionByProject[e]??0;n.expectedRevision!==r&&(n.expectedRevision=r,n.requestID=t.createRequestID());try{let i=await t.setOrder({requestID:n.requestID,projectDirectory:n.projectDirectory,expectedRevision:r,orderedPaths:n.orderedPaths,signal:n.controller.signal});if(!t.isCurrent(n.capture)||vY.get(e)!==n)return;let a=i.worktreeOrder??{projectDirectory:n.projectDirectory,orderedPaths:n.orderedPaths,revision:i.revision};lY.getState().setServerRevision(e,a.revision),lY.getState().resolvePendingWorktreeOrder(e,a.revision),vY.delete(e);return}catch(r){if(n.controller.signal.aborted||!t.isCurrent(n.capture)||vY.get(e)!==n)return;if(r instanceof Ci&&r.code===`revision_conflict`)try{let r=await t.fetchOrder(n.projectDirectory,n.controller.signal);if(vY.get(e)!==n||!t.isCurrent(n.capture))return;lY.getState().applyServerWorktreeOrder(e,r.orderedPaths,r.revision),n.expectedRevision=void 0,n.requestID=void 0,n.backoffMs=500;continue}catch(e){if(mY(e)!==`retry`)return}else if(mY(r)!==`retry`)return;if(await t.sleep(n.backoffMs,n.controller.signal).catch(()=>{}),n.backoffMs=Math.min(n.backoffMs*2,fY),n.controller.signal.aborted)return}}}finally{vY.get(e)===n&&(!t.isCurrent(n.capture)||n.controller.signal.aborted)&&vY.delete(e),vY.get(e)===n&&(n.running=!1)}}},SY=(e,t,n,r)=>{let i=new Map(t.map(e=>[pY(e.path),e.id]));for(let t of e){let e=i.get(pY(t.projectDirectory));e&&r.isCurrent(n)&&lY.getState().applyServerWorktreeOrder(e,t.orderedPaths,t.revision)}},CY=(e,t=_Y)=>{let n=null,r=()=>n?.abort();return{start:()=>{r(),n=new AbortController;let i=n.signal,a=t.captureRuntime();(async()=>{let n=0,r=500;for(;!i.aborted&&t.isCurrent(a);)try{let r=await t.fetchSnapshot(i);if(i.aborted||!t.isCurrent(a))return;n=r.revision;let o=e();SY(r.worktreeOrders,o,a,t);let s=new Set(r.worktreeOrders.map(e=>pY(e.projectDirectory)));for(let e of o){let n=lY.getState(),r=n.orderByProject[e.id];n.pendingProjectIDs[e.id]?bY(e.id,e.path,r??[],t):r?.length&&!s.has(pY(e.path))&&(n.markPendingWorktreeOrder(e.id),bY(e.id,e.path,r,t))}break}catch(e){if(mY(e)!==`retry`)return;await t.sleep(r,i).catch(()=>{}),r=Math.min(r*2,fY)}for(;!i.aborted&&t.isCurrent(a);)try{let o=await t.waitInvalidation(n,{signal:i});if(i.aborted||!t.isCurrent(a)||o===`aborted`)return;let s=await(t.refreshSnapshot??t.fetchSnapshot)(i);if(i.aborted||!t.isCurrent(a))return;n=s.revision,SY(s.worktreeOrders,e(),a,t),r=500}catch(e){if(mY(e)!==`retry`)return;await t.sleep(r,i).catch(()=>{}),r=Math.min(r*2,fY)}})()},stop:r}},wY=()=>{let e=(0,Q.c)(2),t=pa(EY),n;e[0]===t?n=e[1]:(n=[t],e[0]=t,e[1]=n),Z.useEffect(kY,n)};function TY(e){return[e.id,pY(e.path)]}function EY(e){return JSON.stringify(e.projects.map(TY))}function DY(e,t,n){return bY(e,t,n)}function OY(){return pa.getState().projects}function kY(){let e=a();lY.getState().activateWorktreeOrderRuntime(e);let t=aY(DY),n=CY(OY);n.start();let i=r(e=>{c(e)&&(yY(),lY.getState().activateWorktreeOrderRuntime(a()),n.start())});return()=>{t(),i(),n.stop(),yY()}}var AY=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,jY=e=>{let t=!1,n=0,r=0,i=0,a=new Map,o=new Map,s=new Set,c=new Set,l=new Map,u=new Set,d=new Set,f=new Set,p=``,m=[],h=t=>{let n=AY(t);return e.getProjects().find(e=>AY(e.path)===n)},g=(n,i=150)=>{let s=AY(n.path),c=o.get(s);c&&e.clearTimer(c.timer);let l=r,u=e.setTimer(()=>{!t||l!==r||(o.delete(s),a.set(s,n),_(l))},i);o.set(s,{timer:u,epoch:l})},_=(n=r)=>{if(!(!t||n!==r))for(;i<2&&a.size>0;){let[n,o]=a.entries().next().value;a.delete(n),i+=1;let s=e.generation(),c=r;e.refresh(o,{isCurrent:()=>t&&c===r&&s===e.generation()}).then(i=>{if(!(!t||c!==r||s!==e.generation())){f.add(n);for(let e of i.addedDirectories)u.add(AY(e));if(e.needsSessionSync)for(let t of i.worktrees){let n=AY(t.path);e.needsSessionSync(n)&&u.add(n)}v(c,s),y()}}).then(()=>{t&&c===r&&s===e.generation()&&l.delete(n)}).catch(()=>{if(!t||c!==r||s!==e.generation())return;let i=(l.get(n)??0)+1;l.set(n,i),t&&c===r&&g(o,[1e3,2e3,5e3,15e3,3e4][Math.min(i-1,4)])}).finally(()=>{c===r&&(--i,_(c))})}},v=(n,i)=>{if(u.size===0)return;let a=[...u];u.clear(),e.syncAdded(a).catch(()=>{if(t&&n===r&&i===e.generation()){for(let e of a)u.add(e);let o=e.setTimer(()=>{s.delete(o),t&&n===r&&v(n,i)},1e3);s.add(o)}})},y=()=>{if(f.size!==e.getProjects().length)return;let t=e.getCatalog();for(let e of d){let n=e.slice(e.indexOf(`:`)+1);[...t.entries()].some(([e,t])=>AY(e)===n||t.some(e=>AY(e.path)===n))||c.add(e)}},b=()=>{f.clear();for(let t of e.getProjects())g(t,0)},x=()=>{let t=e.getCatalog(),r=e.getProjects(),i=new Set;for(let t of e.getActiveDirectories())t.trim()&&i.add(AY(t));for(let e of[...d]){let t=e.slice(e.indexOf(`:`)+1);i.has(t)||d.delete(e)}for(let e of[...c]){let t=e.slice(e.indexOf(`:`)+1);i.has(t)||c.delete(e)}for(let e of i)if(!r.find(n=>{let r=AY(n.path),i=t.get(r)?.some(t=>AY(t.path)===e);return e===r||i})){let t=`${n}:${e}`;!c.has(t)&&!d.has(t)&&(d.add(t),b())}},S=()=>{r+=1,c.clear(),d.clear(),l.clear(),u.clear(),f.clear();for(let t of o.values())e.clearTimer(t.timer);o.clear();for(let t of s)e.clearTimer(t);s.clear(),a.clear(),i=0};return{start:()=>{t||e.isVSCode()||(t=!0,m.push(e.subscribeEvents(e=>{if(e.type===`event-stream-ready`&&(n+=1,S(),b()),e.type===`worktree-topology-changed`&&e.projectDirectory){let t=h(e.projectDirectory);t&&g(t)}})),p=e.getProjects().map(e=>`${e.id}\u0000${AY(e.path)}`).sort().join(`
|
|
6605
|
+
`),m.push(e.subscribeProjects(()=>{let t=e.getProjects().map(e=>`${e.id}\u0000${AY(e.path)}`).sort().join(`
|
|
6606
|
+
`);t!==p&&(p=t,S(),b(),x())})),m.push(e.subscribeCatalog(x)),m.push(e.subscribeSessions(x)),m.push(e.subscribeRuntime(e=>{e&&(n+=1,S(),b())})),b(),x())},stop:()=>{t=!1,S();for(let{timer:t}of o.values())e.clearTimer(t);for(o.clear(),a.clear(),i=0;m.length;)m.pop()?.()},reconcileAll:b}},MY=null,NY=0,PY=()=>(MY||=jY({isVSCode:K,getProjects:()=>pa.getState().projects,getCatalog:()=>ma.getState().availableWorktreesByProject,getActiveDirectories:()=>{let e=sr.getState(),t=[];for(let n of e.activeSessions)typeof n.directory==`string`&&t.push(n.directory);for(let n of e.cachedDirectories)t.push(n);return t},needsSessionSync:e=>!sr.getState().loadedDirectories.has(AY(e)),refresh:Ns,syncAdded:e=>Xa(e,sr.getState().activeSessions),subscribeProjects:e=>pa.subscribe(e),subscribeCatalog:e=>ma.subscribe((t,n)=>{t.availableWorktreesByProject!==n.availableWorktreesByProject&&e()}),subscribeSessions:e=>sr.subscribe((t,n)=>{(t.activeSessions!==n.activeSessions||t.cachedDirectories!==n.cachedDirectories)&&e()}),subscribeEvents:sa,subscribeRuntime:e=>r(t=>e(c(t))),generation:s,setTimer:(e,t)=>globalThis.setTimeout(e,t),clearTimer:e=>globalThis.clearTimeout(e)}),NY+=1,MY.start(),()=>{NY=Math.max(0,NY-1),NY===0&&MY?.stop()});function FY(){if(S()?.runtime.isVSCode)return()=>{};let e=new Sn(le,Tc()),t=sa(e=>{(e.type===`speech-settings-changed`||e.type===`event-stream-ready`)&&le.invalidateQueries({queryKey:Tc().queryKey,exact:!0})}),n=t=>{if(!t.data||e.options.queryKey[0]!==a())return;let n=aa.getState();Object.entries(t.data).some(([e,t])=>n[e]!==t)&&aa.setState(t.data)},i=e.subscribe(n);n(e.getCurrentResult());let o=r(()=>{aa.setState(Na),e.setOptions(Tc()),n(e.getCurrentResult())});return()=>{o(),i(),t(),e.destroy()}}var IY=`openchamber:mini-chat-presence`,LY=()=>{let e=Sh(),t=Z.useRef(e.optimistic.add),n=Z.useRef(e.optimistic.remove),r=Z.useRef(e.optimistic.confirm);return t.current=e.optimistic.add,n.current=e.optimistic.remove,r.current=e.optimistic.confirm,Z.useEffect(()=>{Fo(e=>t.current(e),e=>n.current(e),e=>r.current(e))},[]),Z.useEffect(()=>PY(),[]),null},RY=()=>{let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],Z.useEffect(WY,t),null};function zY(e){let t=(0,Q.c)(5),{embeddedBackgroundWorkEnabled:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0],Z.useEffect(FY,r);let i;t[1]===n?i=t[2]:(i={enabled:n,autoRun:!1},t[1]=n,t[2]=i),bc(i);let a=Z.useSyncExternalStore(Ni,lr,lr);Oi(n&&a===`legacy-enabled`),Xr();let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=[],t[3]=o):o=t[3],Z.useEffect(BY,o);let s;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(LY,{}),t[4]=s):s=t[4],s}function BY(){let e=ta(),t=yi();e.start(),t.start();let n=zo(e);return()=>{n(),t.stop(),e.stop()}}function VY(e){let t=(0,Q.c)(6),{embeddedBackgroundWorkEnabled:n}=e;QJ(),nY(),pJ(),wY();let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0],Z.useEffect(HY,r);let i;t[1]===n?i=t[2]:(i=(0,$.jsx)(zY,{embeddedBackgroundWorkEnabled:n}),t[1]=n,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(RY,{}),t[3]=a):a=t[3];let o;return t[4]===i?o=t[5]:(o=(0,$.jsxs)($.Fragment,{children:[i,a]}),t[4]=i,t[5]=o),o}function HY(){Jq()}function UY(e){let t=e.data;if(t?.type!==`mini-chat-session-presence`||!t.sessionId||!t.directory)return;let n=t.viewed!==!1;Qo(t.directory,t.sessionId,n),n&&Ur(t.sessionId)}function WY(){if(typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(IY);return e.onmessage=UY,()=>e.close()}var GY=new Set,KY=new Map,qY=(e,t)=>`https://cdn.jsdelivr.net/npm/${encodeURIComponent(e.packageName).replace(`%40`,`@`).replace(`%2F`,`/`)}/files/${e.filePrefix}-latin-${t}-normal.woff2`,JY=(e,t)=>{let n=`${e.family}:${t}`;if(GY.has(n))return Promise.resolve();let r=KY.get(n);if(r)return r;if(typeof document>`u`||typeof FontFace>`u`||!document.fonts)return Promise.resolve();let i=new FontFace(e.family,`url(${qY(e,t)}) format('woff2')`,{style:`normal`,weight:String(t),display:`swap`});document.fonts.add(i);let a=i.load().then(()=>{GY.add(n)}).catch(n=>{document.fonts.delete(i),console.warn(`Failed to load font: ${e.family} ${t}`,n)}).finally(()=>{KY.delete(n)});return KY.set(n,a),a},YY=e=>e?Promise.all(e.weights.map(t=>JY(e,t))).then(()=>void 0):Promise.resolve(),XY=e=>YY(gn[e]?.source),ZY=e=>YY(hn[e]?.source),QY={family:`Syne`,packageName:`@fontsource/syne`,filePrefix:`syne`,weights:[700]},$Y=()=>YY(QY);function eX(){let e=(0,Q.c)(4),{uiFont:t,monoFont:n}=Sf(),r,i;e[0]!==n||e[1]!==t?(r=()=>{if(typeof document>`u`)return;let e=document.documentElement,r=gn[t]?.stack??gn.system.stack,i=hn[n]?.stack??hn[`system-mono`].stack;XY(t),ZY(n),e.style.setProperty(`--font-sans`,r),e.style.setProperty(`--font-heading`,r),e.style.setProperty(`--font-family-sans`,r),e.style.setProperty(`--font-mono`,i),e.style.setProperty(`--font-family-mono`,i),e.style.setProperty(`--ui-regular-font-weight`,`400`),document.body&&(document.body.style.fontFamily=r)},i=[t,n],e[0]=n,e[1]=t,e[2]=r,e[3]=i):(r=e[2],i=e[3]),Z.useEffect(r,i)}export{Mw as $,SW as A,fm as At,NN as B,wf as Bt,fq as C,Oh as Ct,bK as D,Cm as Dt,rq as E,Lm as Et,II as F,wp as Ft,UO as G,MN as H,MP as I,Qf as It,Jw as J,vO as K,jP as L,kf as Lt,bU as M,nm as Mt,fH as N,Mp as Nt,zG as O,_m as Ot,qR as P,jp as Pt,Lw as Q,PP as R,Ef as Rt,pq as S,Wh as St,sq as T,Wm as Tt,KO as U,PN as V,ek as W,Iw as X,Rw as Y,Fw as Z,Tq as _,Oy as _t,zY as a,_S as at,Eq as b,ey as bt,oJ as c,hS as ct,rJ as d,Ux as dt,jw as et,Zq as f,Cx as ft,Aq as g,zb as gt,zq as h,Ib as ht,VY as i,gS as it,UU as j,im as jt,TW as k,gm as kt,tJ as l,iS as lt,Xq as m,gx as mt,$Y as n,BS as nt,dY as o,mS as ot,Yq as p,Sx as pt,qD as q,XY as r,pS as rt,lY as s,yS as st,eX as t,ZS as tt,nJ as u,Hx as ut,wq as v,sy as vt,dq as w,Sh as wt,Sq as x,pg as xt,Cq as y,cy as yt,cP as z,Of as zt};
|