@openchambery/web 2.0.0-beta.24 → 2.0.0-beta.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/assets/{AssistantView-qn9Hipja.js → AssistantView-DvOO2Kf5.js} +3 -3
  2. package/dist/assets/{DiagramView-BJxfEzpH.js → DiagramView-BqjeSOIg.js} +1 -1
  3. package/dist/assets/{MarkdownRenderer-DHo-HJTP.js → MarkdownRenderer-kpkRqS42.js} +2 -2
  4. package/dist/assets/{MarkdownRendererImpl-Cyx24H_y.js → MarkdownRendererImpl-CzBos-Gt.js} +1 -1
  5. package/dist/assets/{MarkstreamRendererImpl-DKT8cFlu.js → MarkstreamRendererImpl-RY_rAgKD.js} +1 -1
  6. package/dist/assets/{MobileDetailNavigation-C1Pfx1ab.js → MobileDetailNavigation-DgtRh0zu.js} +1 -1
  7. package/dist/assets/{MobileShareBridge-yzsL3AUy.js → MobileShareBridge-BM3cN-gG.js} +1 -1
  8. package/dist/assets/{MobileSurface-DOn29tPs.js → MobileSurface-ocVWenHA.js} +1 -1
  9. package/dist/assets/{MultiRunWindow-CZPkrJUM.js → MultiRunWindow-Bq4gz78C.js} +1 -1
  10. package/dist/assets/{SettingsView-BMqMEWMN.js → SettingsView-CIZz40Jg.js} +1 -1
  11. package/dist/assets/{SettingsWindow-CekCsYBw.js → SettingsWindow-CHPjbEnI.js} +1 -1
  12. package/dist/assets/{TerminalView-k9o96CEf.js → TerminalView-DCJuL2nP.js} +1 -1
  13. package/dist/assets/{ToolOutputDialog-CEtY95oc.js → ToolOutputDialog-Cg_Q1t3X.js} +1 -1
  14. package/dist/assets/{appThemeRegistry-DbhqYhdg.js → appThemeRegistry-BxuflaQt.js} +1 -1
  15. package/dist/assets/{fileMentionTouchSelection-iDGupHSi.js → fileMentionTouchSelection-Bj67pPo7.js} +1 -1
  16. package/dist/assets/{gitApi-BnEbIrdK.js → gitApi-CuIUGt04.js} +1 -1
  17. package/dist/assets/{insertionBoundaries-By_qiwC0.js → insertionBoundaries-nzs1Q3YR.js} +1 -1
  18. package/dist/assets/{main-CaXU4OGJ.js → main-DjilfYN7.js} +4 -4
  19. package/dist/assets/{main-D8lh8zYp.js → main-Sd4Auh_x.js} +2 -2
  20. package/dist/assets/{mcpQueries-BmqKC8WC.js → mcpQueries-BYNrkehM.js} +1 -1
  21. package/dist/assets/{miniChat-zZJBQLvR.js → miniChat-Hp9bNmS0.js} +2 -2
  22. package/dist/assets/{mobile-DeaWxGOe.js → mobile-fBLEOx9_.js} +2 -2
  23. package/dist/assets/{multirun-CmuIahrn.js → multirun-D7W7oCj4.js} +1 -1
  24. package/dist/assets/{projectMeta-bhpIcoPU.js → projectMeta-DrUKrYt0.js} +1 -1
  25. package/dist/assets/{renderElectronMiniChatApp-t8FY3CLa.js → renderElectronMiniChatApp-D1xipCO5.js} +2 -2
  26. package/dist/assets/{renderMobileApp-BYbN4f39.js → renderMobileApp-DSk7Qs-_.js} +4 -4
  27. package/dist/assets/runtimeConfig-pTYamMLy.js +2 -0
  28. package/dist/assets/{runtimeEndpointReset-WWmoRWPS.js → runtimeEndpointReset-B5HEMuiB.js} +1 -1
  29. package/dist/assets/{sessionChangeSummary-BvA1TWzS.js → sessionChangeSummary-DcnZyuWt.js} +1 -1
  30. package/dist/assets/{sessionLookup-BJFtStrg.js → sessionLookup-B3t-FerN.js} +1 -1
  31. package/dist/assets/{useAppFontEffects-Dc7ZKwKO.js → useAppFontEffects-BQklk6XB.js} +6 -6
  32. package/dist/assets/{useDesktopWindowControlsLayout-iq6hANF2.js → useDesktopWindowControlsLayout-CrzYwZDQ.js} +1 -1
  33. package/dist/assets/{useEffectiveDirectory-DwBnQQpk.js → useEffectiveDirectory-Ddx7sZ5A.js} +1 -1
  34. package/dist/assets/{useMobileNavigationStore-CNtROYYh.js → useMobileNavigationStore-i4cXNoOf.js} +3 -3
  35. package/dist/assets/{useSessionAutoCleanup-DFLjs5K8.js → useSessionAutoCleanup-Dzd0fGSe.js} +1 -1
  36. package/dist/assets/{useWorkerHighlightedLines-CMBw7PAo.js → useWorkerHighlightedLines-VOtVUGkO.js} +1 -1
  37. package/dist/index.html +2 -2
  38. package/dist/mini-chat.html +2 -2
  39. package/dist/mobile.html +2 -2
  40. package/package.json +1 -1
  41. package/dist/assets/runtimeConfig-D0osnvg3.js +0 -2
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-CEtY95oc.js","assets/rolldown-runtime-C0FnF6B9.js","assets/runtime-fetch-CiqQd__Y.js","assets/runtime-auth-D66yq6ie.js","assets/runtime-switch-BJM2k_uH.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-Brsa2mKs.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-pierre-diffs-DX7XTPG3.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/vendor-hast-util-to-html-B0p1k5Xa.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-DpDied8H.js","assets/vendor-reactuses-core-Dq5ocTF8.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/button-e8fYWIMM.js","assets/persistence-CMWO3jFo.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/store-D8fmTWK3.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/dialog-MRsJpHzu.js","assets/Icon-D7NdMmbi.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-DM5h1i18.js","assets/appThemeRegistry-DbhqYhdg.js","assets/platform-B0p43squ.js","assets/vendor-opencode-client-C12gfjag.js","assets/useMobileNavigationStore-CNtROYYh.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-B75cQm_z.js","assets/vendor-zod-Dzk5kdUU.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/MarkdownRenderer-DHo-HJTP.js","assets/markdownHeightCache-B5VSLl79.js","assets/dualLimitLru-D8Sphgua.js","assets/markdown-worker-bS5OgGO3.js","assets/useEffectiveDirectory-DwBnQQpk.js","assets/imageSource-BpUsiwFd.js","assets/relay-image-stream-D2XooXKZ.js","assets/useWorkerHighlightedLines-CMBw7PAo.js","assets/tooltip-C64SdRvR.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js","assets/vendor-capacitor-app-PzT84wSx.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{S as t,l as n,p as r}from"./runtime-auth-D66yq6ie.js";import{c as i,f as a,i as o,l as s,n as c,o as l,r as u,t as d}from"./runtime-switch-BJM2k_uH.js";import{n as f}from"./runtime-fetch-CiqQd__Y.js";import{B as p,Bt as m,C as h,Ct as g,Dt as _,E as v,En as y,H as b,J as x,K as S,L as C,Lt as w,M as T,Mt as E,N as D,Ot as O,P as k,Q as A,Qt as j,S as M,St as N,U as P,X as F,Y as I,Yt as L,Z as R,_ as z,_t as B,an as V,at as ee,b as H,c as U,ct as te,d as W,dt as ne,en as re,et as ie,f as ae,g as oe,gt as se,h as ce,in as le,kt as ue,lt as de,n as fe,nn as pe,nt as me,pt as he,q as ge,r as _e,rt as ve,st as ye,t as be,tn as xe,tt as Se,ut as Ce,v as we,w as Te,x as Ee,y as De,z as Oe}from"./persistence-CMWO3jFo.js";import{_ as ke,c as Ae,d as je,f as Me,h as Ne,i as Pe,l as Fe,m as Ie,n as Le,o as Re,p as ze,r as Be,s as Ve}from"./desktopHosts-C8vf9vRY.js";import{r as He}from"./desktopRelayRestore-DDJtljeu.js";import{a as Ue,i as We,o as Ge,r as Ke,t as qe}from"./vendor-zustand-B4dlGEM2.js";import{c as Je,d as Ye,f as Xe,l as Ze,nt as Qe,rt as $e,tt as et,u as tt}from"./vendor-base-ui-CnHfUmDN.js";import{$t as nt,An as rt,At as it,Bn as at,Ci as ot,Cn as st,Ct as ct,Dn as lt,En as ut,Er as dt,Fi as ft,Fn as pt,Hn as mt,Ii as ht,It as gt,Jt as _t,Lt as vt,Nt as yt,Ot as bt,Pi as xt,Pn as St,St as Ct,Ti as wt,Tn as Tt,Tr as Et,Wn as Dt,Xt as Ot,Zt as kt,bi as At,bn as jt,br as Mt,cn as Nt,fn as Pt,gr as Ft,hn as It,in as Lt,jr as Rt,jt as zt,ki as Bt,kn as Vt,kr as Ht,kt as Ut,ln as Wt,mi as Gt,mn as Kt,n as qt,nn as Jt,on as Yt,pn as Xt,rn as Zt,sn as Qt,t as $t,tn as en,tr as tn,vi as nn,vr as rn,wn as an,wr as on,xn as sn,xr as cn,yn as ln,yr as un,zn as dn}from"./platform-B0p43squ.js";import{_ as fn,b as pn,c as mn,f as hn,g as gn,h as _n,n as G,y as vn}from"./useUIStore-Brsa2mKs.js";import{n as yn}from"./vendor-react-DLPElpoQ.js";import{o as bn}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{c as xn,i as Sn,n as K,s as Cn,t as wn}from"./vendor-tanstack-react-query-D7pys_c9.js";import{B as Tn,R as En,V as Dn,c as On}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{i as kn,u as An}from"./vendor-pierre-diffs-DX7XTPG3.js";import{t as jn}from"./vendor-sonner-DVzioF3d.js";import{a as Mn,f as Nn,i as Pn,m as Fn,n as q,o as In,r as Ln,u as Rn}from"./vendor-reactuses-core-Dq5ocTF8.js";import{_ as zn,d as Bn,f as Vn,i as Hn,l as Un,p as Wn,r as J,t as Gn,v as Kn}from"./button-e8fYWIMM.js";import{i as qn,t as Jn}from"./store-D8fmTWK3.js";import{$ as Yn,$t as Xn,A as Zn,Aa as Qn,Ai as $n,An as er,Ar as tr,At as nr,B as rr,Bi as ir,Bt as ar,C as or,Ca as sr,Cr as cr,Ct as lr,D as ur,Di as dr,Dn as fr,Dt as pr,E as mr,Ei as hr,Et as gr,F as _r,Fi as vr,Fr as yr,G as br,Gi as xr,Gr as Sr,Gt as Cr,H as wr,Hi as Tr,Hn as Er,I as Dr,Ii as Or,Ir as kr,It as Ar,J as jr,Jr as Mr,K as Nr,Ki as Pr,Kn as Fr,Kr as Ir,Kt as Lr,L as Rr,Li as zr,Ln as Br,Lr as Vr,Lt as Hr,M as Ur,Mi as Wr,Mn as Gr,Mr as Kr,Mt as qr,N as Jr,Ni as Yr,Nn as Xr,Nt as Zr,O as Qr,Oa as $r,Oi as ei,On as ti,Ot as ni,P as ri,Pa as ii,Pi as ai,Pn as oi,Q as si,Qr as ci,Qt as li,R as ui,Ri as di,Rn as fi,Rt as pi,Sa as mi,Si as hi,St as gi,Ti as _i,Tn as vi,Tt as yi,U as bi,Ui as xi,Un as Si,Ur as Ci,Ut as wi,V as Ti,Vi as Ei,Vr as Di,W as Oi,Wi as ki,Wn as Ai,Wr as ji,Wt as Mi,X as Ni,Xa as Pi,Xr as Fi,Xt as Ii,Y as Li,Ya as Ri,Z as zi,Zi as Bi,Zr as Vi,Zt as Hi,_a as Ui,_i as Wi,_n as Gi,aa as Ki,ai as qi,an as Ji,ao as Yi,ar as Xi,at as Zi,ba as Qi,bi as $i,bt as ea,c as ta,ci as na,ct as ra,d as Y,da as ia,dn as aa,ei as oa,et as sa,fi as ca,fn as la,g as ua,ga as da,gn as fa,gt as pa,ha as ma,hi as ha,hn as ga,ht as _a,i as va,ia as ya,ii as ba,in as xa,ir as Sa,it as Ca,j as wa,ja as Ta,ji as Ea,jn as Da,jr as Oa,jt as ka,k as Aa,ki as ja,kn as Ma,kr as Na,kt as Pa,ln as Fa,lt as Ia,m as La,mi as Ra,mn as za,n as Ba,na as Va,ni as Ha,nn as Ua,no as Wa,nt as Ga,oi as Ka,on as qa,oo as Ja,or as Ya,ot as Xa,pi as Za,pn as Qa,q as $a,qi as eo,qr as to,qt as no,r as ro,ri as io,rn as ao,rr as oo,rt as so,s as co,sa as lo,sn as uo,st as fo,ta as po,tt as mo,un as ho,v as go,va as _o,vi as vo,vn as yo,vr as bo,vt as xo,w as So,wa as Co,wn as wo,wt as To,xa as Eo,xi as Do,xt as Oo,ya as ko,yi as Ao,yn as jo,yr as Mo,yt as No,z as Po,zi as Fo,zr as Io}from"./useMobileNavigationStore-CNtROYYh.js";import{a as Lo,i as Ro,l as zo,n as Bo,o as Vo,r as Ho,s as Uo,t as Wo}from"./dialog-MRsJpHzu.js";import{t as Go}from"./AgentAvatar-FyTdEOMr.js";import{n as X}from"./Icon-D7NdMmbi.js";import{E as Ko,n as qo}from"./gitApi-BnEbIrdK.js";import{a as Jo}from"./vendor-simplewebauthn-browser-Dwhcdg_5.js";import{A as Yo,C as Xo,D as Zo,O as Qo,S as $o,_ as es,a as ts,b as ns,f as rs,h as is,i as as,j as os,k as ss,l as cs,m as ls,n as us,o as ds,s as fs,u as ps,w as ms,x as hs,y as gs}from"./projectMeta-bhpIcoPU.js";import{t as _s}from"./input-DbOe1mdT.js";import{i as vs,n as ys,t as bs}from"./tooltip-C64SdRvR.js";import{$ as xs,$t as Ss,At as Cs,B as ws,Bt as Ts,F as Es,Ft as Ds,Ht as Os,I as ks,J as As,K as js,Kt as Ms,L as Ns,Ot as Ps,Pt as Fs,Q as Is,Rt as Ls,St as Rs,Ut as zs,Vt as Bs,X as Vs,Y as Hs,Yt as Us,Z as Ws,_t as Gs,an as Ks,at as qs,et as Js,ft as Ys,gt as Xs,i as Zs,it as Qs,jt as $s,kt as ec,l as tc,lt as nc,mt as rc,n as ic,nt as ac,on as oc,pt as sc,q as cc,qt as lc,rt as uc,sn as dc,t as fc,tt as pc,ut as mc,z as hc,zt as gc}from"./useSessionAutoCleanup-DFLjs5K8.js";import{n as _c,r as vc,t as yc}from"./useThemeSystem-DMzWVJaW.js";import{i as bc,t as xc}from"./OverlayScrollbar-mI9WVa7E.js";import{a as Sc,c as Cc,i as wc,l as Tc,n as Ec,o as Dc,r as Oc,s as kc}from"./markdownTheme-DM5h1i18.js";import{n as Ac,r as jc,t as Mc}from"./useRuntimeAPIs-DSLXJybW.js";import{S as Nc,i as Pc,n as Fc,r as Ic}from"./textarea-B5GMntHk.js";import{A as Lc,C as Rc,D as zc,O as Bc,S as Vc,T as Hc,_ as Uc,a as Wc,b as Gc,c as Kc,d as qc,f as Jc,g as Yc,h as Xc,j as Zc,k as Qc,l as $c,m as el,o as tl,p as nl,s as rl,u as il,v as al,w as ol,x as sl,y as cl}from"./sessionChangeSummary-BvA1TWzS.js";import{A as ll,C as ul,D as dl,E as fl,M as pl,O as ml,S as hl,T as gl,a as _l,b as vl,c as yl,d as bl,f as xl,i as Sl,k as Cl,l as wl,n as Tl,o as El,p as Dl,r as Ol,s as kl,t as Al,u as jl,w as Ml,x as Nl,y as Pl}from"./insertionBoundaries-By_qiwC0.js";import{a as Fl,c as Il,i as Ll,o as Rl,s as zl}from"./fileMentionTouchSelection-iDGupHSi.js";import{A as Bl,C as Vl,D as Hl,E as Ul,N as Wl,O as Gl,S as Kl,T as ql,_ as Jl,b as Yl,c as Xl,d as Zl,f as Ql,g as $l,h as eu,i as tu,k as nu,l as ru,m as iu,o as au,p as ou,s as su,t as cu,u as lu,v as uu,w as du,x as fu,y as pu}from"./appThemeRegistry-DbhqYhdg.js";import{a as mu,n as hu,o as gu,r as _u,t as vu}from"./MarkdownRenderer-DHo-HJTP.js";import{_ as yu,a as bu,c as xu,g as Su,l as Cu,o as wu,t as Tu,v as Eu,y as Du}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{i as Ou,n as ku,o as Au,s as ju,t as Mu}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{a as Nu,n as Pu,t as Fu}from"./url-DF1NFwt_.js";import{a as Iu,l as Lu,m as Ru,u as zu}from"./markdown-worker-bS5OgGO3.js";import{n as Bu,t as Vu}from"./useEffectiveDirectory-DwBnQQpk.js";import{a as Hu,c as Uu,d as Wu,f as Gu,i as Ku,l as qu,n as Ju,r as Yu,s as Xu,t as Zu}from"./FadeInOnReveal-DHDffzHs.js";import{c as Qu,f as $u,l as ed,m as td,n as nd,p as rd,r as id,s as ad,u as od}from"./imageSource-BpUsiwFd.js";import{A as sd,C as cd,D as ld,E as ud,M as dd,O as fd,S as pd,T as md,a as hd,b as gd,c as _d,g as vd,h as yd,i as bd,j as xd,k as Sd,o as Cd,p as wd,r as Td,s as Ed,t as Dd,v as Od,w as kd,x as Ad,y as jd}from"./useWorkerHighlightedLines-CMBw7PAo.js";import{t as Md}from"./vendor-cmdk-CeAGfrLo.js";import{t as Nd}from"./sortable-tabs-strip-B0sZ7mm6.js";import{a as Pd}from"./markdownHeightCache-B5VSLl79.js";import{t as Fd}from"./dualLimitLru-D8Sphgua.js";import{n as Id,t as Ld}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{i as Rd,t as zd}from"./vendor-framer-motion-DFy_BSVd.js";import{t as Bd}from"./vendor-legendapp-list-WE32lwNk.js";import{n as Vd,t as Hd}from"./useFontPreferences-CrteQiAp.js";var Ud=e=>{if(typeof e!=`string`)return;let t=e.trim();if(t)return{location:{directory:t}}};typeof window<`u`&&(window.__opencodeDebug={getLastAssistantMessage(){let e=Y.getState().currentSessionId;if(!e)return null;let t=dn(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=(at(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:(at(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=Y.getState().currentSessionId;if(!t)return[];let n=dn(t);return`${n.length}`,n.forEach((e,t)=>{let n=at(e.id)||[];`${t}${e.role}${e.id}${n.length}`}),e?this.truncateMessages(n):n},async getAppStatus(){let e=ct.getState(),t=Y.getState(),n=Pi.getState(),r=e.currentDirectory||null,i=yt.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=y(),u=typeof window<`u`&&!!window.__OPENCHAMBER_ELECTRON__,d=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 f(e);return t.ok?await d(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 yt.getSdkClient().location.get(Ud(r));h=vt(e)}catch(e){h={error:e instanceof Error?e.message:String(e)}}try{g=(await yt.getSdkClient().location.get(Ud(r)))?.project??null}catch(e){g={error:e instanceof Error?e.message:String(e)}}_=await m(`/api/config/settings`);try{let e=await f(`/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 b={isGitRepo:null};if(r)try{b.isGitRepo=await qo(r)}catch(e){b={isGitRepo:null,error:e instanceof Error?e.message:String(e)}}let x=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:x},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:b,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 Bn(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=Y.getState(),t=fr.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=Y.getState().currentSessionId;if(!e)return[];let t=dn(e).filter(e=>e.role===`assistant`).filter(e=>{let t=at(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=at(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=Y.getState().currentSessionId;if(!i)return{summary:null,rows:[]};let a=dn(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=at(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=Y.getState().currentSessionId;if(!e)return null;let t=dn(e).filter(e=>e.role===`assistant`);if(t.length===0)return null;let n=t[t.length-1],r=(at(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=fr.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}}},bt(),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($e(),1),Q=yn(),Wd=async()=>{if(typeof window>`u`)return;let e=null;try{e=w(`lastDirectory`)}catch(e){console.warn(`Failed to read saved directory preferences:`,e)}e&&!le()&&ct.getState().setDirectory(e,{showOverlay:!1})},Gd=new Map,Kd=e=>Gd.get(e)??null,qd=({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,onError:i},a={})=>{let o=Gd.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 Gd.set(e,s),s},Jd=async({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,startWatchers:i,onError:a})=>{await qd({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,onError:a})&&i()},Yd=(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 Xd(e){return!e||e===`idle`?null:e===`ready`?`ok`:e===`error`?`unreachable`:`auth`}function Zd(e,t){let n=e.via===`relay`;return t?n:!n}function Qd(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?Xd(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||Zd(o,a))&&(u=Math.max(0,Math.round(o.latencyMs))),{statusKind:c,showViaRelay:l,latencyMs:u}}var $=Qe(),$d=`local`,ef=9e4,tf=`SSH connection cancelled`,nf=e=>He(e),rf={},af=e=>{let t=ze(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}},of=()=>typeof window>`u`?``:window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,sf=async()=>pe()?Re().catch(()=>``):``,cf=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`,lf=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`,df=e=>e===`unreachable`||e===`wrong-service`||e===`incompatible`,ff=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`,pf=e=>new Promise(t=>window.setTimeout(t,e)),mf=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`}},hf=async()=>{let e=await Ss().catch(()=>[]),t={};for(let n of e)t[n.id]=n;return t},gf=async(e,t,n,r)=>{let i=Date.now()+t;for(;Date.now()<i;){if(r?.())throw Error(tf);let t=(await Ss(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 pf(700)}throw r?.()?Error(tf):Error(`Timed out waiting for SSH connection`)},_f=e=>({id:$d,label:`Local`,url:e||of()}),vf=e=>{let t=typeof window>`u`?``:window.location.href,n=e.find(e=>e.id===$d)?.url||of(),r=d(),i=ze(n)||n,a=ze(t)||t,o=u(),s=e.find(e=>e.relay&&nf(e)===o);if(s)return{id:s.id,label:s.label,url:s.url};if(r&&Me(r,n))return{id:$d,label:`Local`,url:i};let c=e.find(e=>r?Me(r,Fe(e)):!1);if(c)return{id:c.id,label:c.label,url:ze(Fe(c))||Fe(c)};if(t&&Me(t,n))return{id:$d,label:`Local`,url:i};let l=e.find(e=>t?Me(t,e.url):!1);return l?{id:l.id,label:l.label,url:ze(l.url)||l.url}:t.startsWith(`openchamber-ui://`)?{id:$d,label:`Local`,url:i}:{id:`custom`,label:Ne(a||`Instance`),url:a}};function yf({open:e,onOpenChange:t,embedded:n=!1,onHostSwitched:r}){let{t:a}=Vn(),s=G(e=>e.setSettingsDialogOpen),c=G(e=>e.setSettingsPage),l=Ki(e=>e.isConnected),u=Ki(e=>e.connectionPhase),[d,f]=Z.useState([]),[p,m]=Z.useState(null),[h,g]=Z.useState(()=>({...rf}));Z.useEffect(()=>{Object.assign(rf,h)},[h]);let[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),[x,S]=Z.useState(!1),C=oc(),w=dc(),[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(()=>of()),[R,z]=Z.useState(null),[B,V]=Z.useState(``),[ee,H]=Z.useState(``),[U,te]=Z.useState(0),W=Z.useRef(0),ne=Z.useMemo(()=>[_f(I),...d.map(e=>({...e,url:ze(e.url)||e.url}))],[d,I]),re=Z.useMemo(()=>new Set(Object.keys(O)),[O]),ie=Z.useMemo(()=>ne.filter(e=>e.id===$d||je(e,re)),[ne,re]);Z.useEffect(()=>i(()=>te(e=>e+1)),[]);let ae=Z.useMemo(()=>vf(ne),[ne,U]),oe=Z.useMemo(()=>o().startsWith(`relay:`),[U]),se=Z.useMemo(()=>{let e=p||$d;return ne.find(t=>t.id===e)?.label||a(`desktopHostSwitcher.instance.local`)},[ne,p,a]),ce=Z.useCallback(async(e,t)=>{if(xe()){S(!0),F(``);try{let n=e.filter(e=>e.id!==$d);await Pe({hosts:n,defaultHostId:t}),f(n),m(t)}catch(e){F(e instanceof Error?e.message:a(`desktopHostSwitcher.error.failedToSave`))}finally{S(!1)}}},[a]),le=Z.useCallback(()=>{c(`remote-instances`),s(!0),t(!1)},[t,s,c]),ue=Z.useCallback(async()=>{if(xe()){v(!0),F(``);try{let[e,t,n]=await Promise.all([Be(),Us().catch(()=>({instances:[]})),hf()]);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:a(`desktopHostSwitcher.error.failedToLoad`)),f([]),m(null),k({}),j({})}finally{v(!1)}}},[a]),de=Z.useCallback(async e=>{if(xe()){b(!0);try{let t=await sf(),n=await Promise.all(e.map(async e=>{let n=async()=>{let t=await Ie(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=ze(pe()?Fe(e):e.url);if(!r)return[e.id,{status:`unreachable`,latencyMs:0}];let i=e.id===$d?t:e.clientToken||``,a=await Le(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(``),H(``),E(null),N({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),F(``);return}ue()},[e,ue]),Z.useEffect(()=>{e&&de(ie)},[e,ie,de]),Z.useEffect(()=>{if(!e||!xe())return;let t=!1,n=async()=>{let e=await hf();t||j(e)};n();let r=window.setInterval(()=>{typeof document<`u`&&document.visibilityState!==`visible`||n()},1500);return()=>{t=!0,window.clearInterval(r)}},[e]);let fe=q(async e=>{let t=e.id===$d?I:ze(e.url)||``,n=e.id===$d?I:ze(Fe(e))||``,i=!!e.relay&&!e.apiUrl&&e.id!==$d;if(!t&&!i)return;if(pe()){if(!n&&!e.relay||C)return;let t=e.id===$d?await sf():null,i=await Ks({host:e,cachedProbe:h[e.id]||null,...e.id===$d?{localApiOrigin:n,localClientToken:t}:{}});g(t=>({...t,[e.id]:i.status})),i.ok&&r?.();return}let o=!!O[e.id];if(e.id!==$d&&o&&xe()){let n=A[e.id],i=await Ss(e.id).then(t=>t.find(t=>t.id===e.id)||null).catch(()=>null);i&&(n=i,j(t=>({...t,[e.id]:i})));let o=ze(n?.localUrl||e.url||``);if(n?.phase===`ready`&&o){let e=af(o);r?.(),window.location.assign(e);return}E(e.id);let s=W.current+1;W.current=s,N({open:!0,hostId:e.id,hostLabel:Ne(e.label),phase:`master_connecting`,detail:null,error:null,errorCode:null});try{if(await Ms(e.id),s!==W.current)return;let n=await gf(e.id,ef,e=>{j(t=>({...t,[e.id]:e})),N(t=>({...t,phase:e.phase,detail:e.detail||null,errorCode:e.errorCode||null}))},()=>s!==W.current);if(s!==W.current)return;let i=af(ze(n.localUrl||``)||t);r?.(),window.location.assign(i);return}catch(t){if(s!==W.current)return;let n=t instanceof Error?t.message:String(t);if(n===tf)return;let r=Bs(M.errorCode,n);N(e=>({...e,error:n,errorCode:r})),cr.error(a(`desktopHostSwitcher.toast.sshFailedToConnect`,{host:Ne(e.label)}),{description:Ts(a(Os(r)),r,n)});return}finally{s===W.current&&E(null)}}if(e.id!==$d&&xe()){E(e.id);let n=await Le(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)){cr.error(a(`desktopHostSwitcher.toast.instanceUnreachable`,{host:Ne(e.label)})),E(null);return}}let s=af(t);r?.();try{window.location.assign(s)}catch{window.location.href=s}}),me=Z.useCallback(()=>{z(null),V(``),H(``)},[]),he=Z.useCallback(e=>{e.stopPropagation()},[]),ge=Z.useCallback(async()=>{if(!R)return;if(R===$d){me();return}let e=ke(ee);if(!e){F(a(`desktopHostSwitcher.error.invalidUrl`));return}let t=e.persistedUrl,n=(B||Ne(t)).trim(),r=d.map(e=>e.id===R?{...e,label:n,url:t,apiUrl:t}:e);await ce(r,p),me(),e.redeemUrl&&window.location.assign(e.redeemUrl)},[me,d,p,B,ee,R,ce,a]),_e=Z.useCallback(async e=>{await ce(d,e===$d?$d:e)},[d,ce]),ve=Z.useCallback(e=>{let t=e=>{cr.error(a(`desktopHostSwitcher.error.failedToOpenNewWindow`),{description:e instanceof Error?e.message:String(e)})};if(e.relay&&e.id!==$d){Ae(e.id).catch(t);return}let n=e.id===$d?I:Fe(e);if(!n)return;let r=af(n);Ve(r,{clientToken:e.clientToken||null,requestHeaders:e.requestHeaders||null}).catch(t)},[I,a]),ye=q(async()=>{W.current+=1,E(null),N(e=>({...e,open:!1,hostId:null,error:null,errorCode:null,detail:null,phase:`idle`}));let e=af(I);if(pe()){if(C)return;let e=await sf();(await Ks({host:_f(I),localApiOrigin:I,localClientToken:e})).ok&&r?.();return}r?.(),window.location.assign(e)}),be=Z.useCallback(async()=>{let e=M.hostId||D;W.current+=1,E(null),N({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),!(!e||e===$d||!xe())&&await lc(e).catch(()=>{})},[M.hostId,D]),Se=Z.useCallback(()=>{let e=M.hostId;if(!e)return;let t=ne.find(t=>t.id===e);t&&fe(t)},[ne,fe,M.hostId]),Ce=Z.useCallback(async e=>{if(xe()){E(e.id);try{await Ms(e.id),(await gf(e.id,ef,e=>{j(t=>({...t,[e.id]:e}))})).phase===`ready`&&cr.success(a(`desktopHostSwitcher.toast.sshConnected`,{host:Ne(e.label)}))}catch(t){let n=t instanceof Error?t.message:String(t);if(n!==tf){let t=Bs(null,n);cr.error(a(`desktopHostSwitcher.toast.sshFailedToConnect`,{host:Ne(e.label)}),{description:Ts(a(Os(t)),t,n)})}}finally{E(null)}}},[a]);if(!xe())return null;let we=xe(),Te=(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:a(`desktopHostSwitcher.header.current`)}),(0,$.jsx)(`span`,{className:`max-w-[9rem] truncate text-muted-foreground`,children:Ne(ae.label)}),(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`•`}),(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:a(`desktopHostSwitcher.header.default`)}),(0,$.jsx)(`span`,{className:`max-w-[9rem] truncate text-muted-foreground`,children:Ne(se)})]}),(0,$.jsx)(`button`,{type:`button`,className:J(`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 de(ie),disabled:!we||_||y,"aria-label":a(`desktopHostSwitcher.actions.refreshInstancesAria`),children:(0,$.jsx)(X,{name:`refresh`,className:J(`h-4 w-4`,y&&`animate-spin`)})})]})}):(0,$.jsxs)(Lo,{className:`flex-shrink-0`,children:[(0,$.jsxs)(Vo,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`server`,className:`h-5 w-5`}),a(`desktopHostSwitcher.title`)]}),(0,$.jsx)(Ho,{children:a(`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:a(`desktopHostSwitcher.header.currentColon`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:Ne(ae.label)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a(`desktopHostSwitcher.header.currentDefaultColon`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:Ne(se)})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,$.jsxs)(Gn,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>void de(ie),disabled:!we||_||y,children:[(0,$.jsx)(X,{name:`refresh`,className:J(`h-4 w-4`,y&&`animate-spin`)}),a(`desktopHostSwitcher.actions.refresh`)]})})]}),!we&&(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:a(`desktopHostSwitcher.state.limitedOnPage`)})}),(0,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,$.jsx)(`div`,{className:J(`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:a(`desktopHostSwitcher.state.loading`)}):ie.map(e=>{let t=e.id===$d,r=!!O[e.id],i=e.id===ae.id,o=(p||$d)===e.id,s=h[e.id]||null,c=A[e.id]||null,d=Qd({isActive:i,isSsh:r,runtimeIsConnected:l,runtimeConnectionPhase:u,currentTransportIsRelay:oe,probe:s,sshPhase:c?.phase}),f=d.statusKind,m=d.showViaRelay,g=R===e.id,_=t?I:ze(e.url)||e.url,v=e.id===$d?a(`desktopHostSwitcher.instance.local`):Ne(e.label),y=e.relay&&!e.apiUrl?a(`mobile.connect.relay.badge`):Ne(_);return(0,$.jsxs)(`div`,{className:J(`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:J(`flex items-center gap-2 flex-1 min-w-0 text-left`,g&&`pointer-events-none opacity-70`),onClick:()=>void fe(e),disabled:D===e.id,"aria-label":a(`desktopHostSwitcher.actions.switchToAria`,{instance:v}),children:[(0,$.jsx)(`span`,{className:J(`h-2 w-2 rounded-full flex-shrink-0`,cf(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:a(`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:J(`typography-micro truncate`,lf(f)),children:[a(r&&!i?mf(c?.phase):ff(f)),d.latencyMs==null?``:a(`desktopHostSwitcher.status.ping`,{ms:d.latencyMs}),m?` · ${a(`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)(Gn,{type:`button`,variant:`outline`,size:`sm`,className:`h-8 px-2.5`,disabled:D===e.id,onClick:t=>{t.stopPropagation(),Ce(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`}),a(`desktopHostSwitcher.actions.connect`)]}):(0,$.jsx)(`div`,{className:`h-8 w-8 opacity-0 pointer-events-none`,"aria-hidden":`true`})),(0,$.jsxs)(bs,{delayDuration:600,children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:J(`app-region-no-drag h-8 w-8 rounded-md inline-flex items-center justify-center hover:bg-interactive-hover transition-colors`,o?`text-primary hover:text-primary/80`:`text-muted-foreground/60 hover:text-primary/80`),onClick:()=>void _e(e.id),"aria-label":a(o?`desktopHostSwitcher.actions.defaultInstanceAria`:`desktopHostSwitcher.actions.setAsDefaultAria`),disabled:x||!o&&df(f),children:o?(0,$.jsx)(X,{name:`star-fill`,className:`h-4 w-4`}):(0,$.jsx)(X,{name:`star`,className:`h-4 w-4`})})}),(0,$.jsx)(ys,{sideOffset:6,children:a(o?`desktopHostSwitcher.header.default`:`desktopHostSwitcher.actions.setAsDefault`)})]}),(0,$.jsxs)(bs,{delayDuration:600,children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:J(`app-region-no-drag h-8 w-8 rounded-md inline-flex items-center justify-center hover:bg-interactive-hover transition-colors`,df(f)?`text-muted-foreground/30 cursor-not-allowed`:`text-muted-foreground/60 hover:text-foreground`),onClick:t=>{t.stopPropagation(),ve(e)},disabled:df(f),"aria-label":a(`desktopHostSwitcher.actions.openInNewWindowAria`),children:(0,$.jsx)(X,{name:`window`,className:`h-4 w-4`})})}),(0,$.jsx)(ys,{sideOffset:6,children:df(f)?a(`desktopHostSwitcher.state.instanceUnreachable`):a(`desktopHostSwitcher.actions.openInNewWindow`)})]})]})]},e.id)})})}),we&&R&&R!==$d&&(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:a(`desktopHostSwitcher.edit.title`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Gn,{type:`button`,variant:`outline`,size:`sm`,onClick:me,disabled:x,children:a(`desktopHostSwitcher.actions.cancel`)}),(0,$.jsxs)(Gn,{type:`button`,size:`sm`,onClick:()=>void ge(),disabled:x,children:[x?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):null,a(`desktopHostSwitcher.actions.save`)]})]})]}),(0,$.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,$.jsx)(_s,{value:B,onChange:e=>V(e.target.value),onKeyDown:he,placeholder:a(`desktopHostSwitcher.field.labelPlaceholder`),disabled:x}),(0,$.jsx)(_s,{value:ee,onChange:e=>H(e.target.value),onKeyDown:he,placeholder:a(`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:le,children:[(0,$.jsx)(X,{name:`add`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label`,children:a(`desktopHostSwitcher.actions.addInstance`)})]})}),P&&(0,$.jsx)(`div`,{className:`flex-shrink-0 typography-meta text-status-error`,children:P})]}),Ee=(0,$.jsx)(Wo,{open:M.open,onOpenChange:e=>{if(!e&&D){be();return}N(t=>({...t,open:e,...e?{}:{hostId:null,error:null,errorCode:null,detail:null,phase:`idle`}}))},children:(0,$.jsxs)(Bo,{className:`w-[min(28rem,calc(100vw-2rem))] max-w-none`,children:[(0,$.jsxs)(Lo,{children:[(0,$.jsxs)(Vo,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`loader-4`,className:J(`h-4 w-4`,!M.error&&`animate-spin`)}),a(`desktopHostSwitcher.ssh.connectingTo`,{host:M.hostLabel||a(`desktopHostSwitcher.ssh.instanceFallback`)})]}),M.error?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ho,{className:`sr-only`,children:a(zs(Bs(M.errorCode,M.error)))}),(0,$.jsx)(gc,{errorCode:M.errorCode,detail:M.error})]}):(0,$.jsx)(Ho,{children:M.detail||a(mf(M.phase))})]}),M.error?(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,$.jsx)(Gn,{type:`button`,size:`sm`,variant:`outline`,onClick:()=>{le(),be()},children:a(`desktopHostSwitcher.sshError.openRemoteSettings`)}),(0,$.jsx)(Gn,{type:`button`,size:`sm`,variant:`outline`,onClick:()=>void ye(),children:a(`desktopHostSwitcher.actions.switchToLocal`)}),(0,$.jsx)(Gn,{type:`button`,size:`sm`,onClick:Se,disabled:!M.hostId,children:a(`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:Te}),Ee]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Wo,{open:e,onOpenChange:t,children:(0,$.jsx)(Bo,{className:`w-[min(42rem,calc(100vw-2rem))] max-w-none max-h-[70vh] flex flex-col overflow-hidden gap-3`,children:Te})}),Ee]})}function bf(){let e=(0,Q.c)(11),[t,n]=Z.useState(!1),{t:r}=Vn();if(!xe())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)(Gn,{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)(yf,{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 xf=e=>e.shouldUseDesktopShellPasswordLogin?`locked`:`error`,Sf=`/auth/session`,Cf=4,wf=1500,Tf=`openchamber.uiAuth.trustDevice`,Ef=`desktop-local`,Df=`desktop-local`,Of=()=>{if(typeof window>`u`)return``;let e=window.__OPENCHAMBER_LOCAL_ORIGIN__;return typeof e==`string`?e.trim():``},kf=(e,t)=>{let n=ze(e),r=ze(t);if(!n||!r)return!1;try{return new URL(n).origin===new URL(r).origin}catch{return!1}},Af=()=>xe(),jf=e=>{let t=e.replace(/^\[|\]$/g,``);return t===`localhost`||t===`127.0.0.1`||t===`::1`},Mf=()=>{if(!xe())return!1;let e=Of();if(!e)return!1;let t=d()||(typeof window<`u`?window.location.origin:``);if(kf(e,t))return!0;try{let e=ze(t);return!!(e&&jf(new URL(e).hostname))}catch{return!1}},Nf=()=>Mf()?{clientKind:Ef,dedupeKey:Df}:{},Pf=async()=>await f(Sf,{method:`GET`,credentials:`include`,headers:{Accept:`application/json`}}),Ff=()=>typeof window>`u`?!1:window.localStorage.getItem(Tf)===`true`,If=async(e,t)=>{let n=Af();return await f(Sf,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({password:e,trustDevice:t,issueClientToken:n,clientLabel:`OpenChamber Desktop`,...Nf()})})},Lf=async()=>{if(!xe())return``;let e=await f(`/api/client-auth/clients`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({label:`OpenChamber Desktop`,...Nf()})}).catch(()=>null);if(!e?.ok)return``;let t=await e.json().catch(()=>null);return typeof t?.token==`string`?t.token.trim():``},Rf=()=>xe()&&!Mf(),zf=async(e,t)=>{if(!xe()||typeof window>`u`)return null;let r=await j(`desktop_remote_password_login`,{url:d(),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}:{}}},Bf=async(e,t)=>{if(!xe()||!t)return;let n=await Be().catch(()=>null);if(!n)return;if(n.localOrigin&&kf(n.localOrigin,e)){await Pe({hosts:n.hosts,defaultHostId:n.defaultHostId,initialHostChoiceCompleted:n.initialHostChoiceCompleted,localClientToken:t}).catch(()=>void 0);return}let r=!1,i=n.hosts.map(n=>!kf(Fe(n),e)||n.clientToken===t?n:(r=!0,{...n,clientToken:t}));r&&await Pe({hosts:i,defaultHostId:n.defaultHostId,initialHostChoiceCompleted:n.initialHostChoiceCompleted}).catch(()=>void 0)},Vf=async e=>{if(!e)return;let r=d(),i=n();await Bf(r,e),s({apiBaseUrl:r,clientToken:e,requestHeaders:Object.keys(i).length>0?i:null,relay:t()})},Hf=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},Uf=()=>{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)(Ls,{width:120,height:120})}),e[0]=t):t=e[0],t},Wf=e=>{let t=(0,Q.c)(23),{onRetry:n,errorType:r,retryAfter:i,children:a}=e,o=r===void 0?`network`:r,{t:s}=Vn(),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)(Gn,{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)(Hf,{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],_},Gf=({children:e})=>{let{t}=Vn(),n=Z.useMemo(()=>le(),[]),r=n,a=Z.useMemo(()=>xe()&&!n,[n]),[o,s]=Z.useState(()=>r?`authenticated`:`pending`),[c,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(Cs),[S,C]=Z.useState(!1),[w,T]=Z.useState(!1),[E,D]=Z.useState(()=>Ff()),[O,k]=Z.useState(null),[A,j]=Z.useState(r),M=Z.useRef(null),N=Z.useRef(r);Z.useEffect(()=>{typeof window>`u`||window.localStorage.setItem(Tf,E?`true`:`false`)},[E]);let P=Z.useCallback(async()=>{if(r)return Cs;try{let e=await $s();return x(e),e}catch{return x(Cs),Cs}},[r]);Z.useEffect(()=>{let e=!1;if(!r)return(async()=>{try{if(!window.isSecureContext||!Jo()){e||C(!1);return}e||C(!0)}catch{e||C(!1)}})(),()=>{e=!0}},[r]);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>=Cf?!1:(F.current+=1,R(),I.current=window.setTimeout(()=>{I.current=null,L.current?.()},wf*F.current),!0),[R]);Z.useEffect(()=>R,[R]);let V=Z.useCallback(async()=>{if(r){s(`authenticated`);return}s(e=>e===`authenticated`?e:`pending`);try{let[e,t]=await Promise.all([Pf(),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),xf({shouldUseDesktopShellPasswordLogin:Rf()})===`locked`){s(`locked`),_(void 0),y(!1);return}if(B())return;s(`error`),y(!1)}},[P,z,B,r]);Z.useEffect(()=>{L.current=V},[V]),Z.useEffect(()=>{r||V()},[V,r]),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(r)return;let e=Yd(e=>{l(e)&&(d(``),h(``),_(void 0),y(!1),z(),j(!1),N.current=!1,s(`pending`),V())}),t=i(t=>e.schedule(t));return()=>{t(),e.cancel()}},[V,z,r]),Z.useEffect(()=>{!r&&o===`locked`&&(N.current=!1,j(!1))},[r,o]),Z.useEffect(()=>{o===`locked`&&M.current&&(M.current.focus(),M.current.select())},[o]),Z.useEffect(()=>{if(!r&&o===`authenticated`&&!N.current){N.current=!0;let e=!1;return qd({runtimeKey:u(),initializeAppearance:be,syncSettings:fe,applyDirectory:Wd,onError:(e,t)=>{console.error(`[SessionAuthGate] ${e} settings hydration failed:`,t)}},{force:!0}).then(()=>{e||j(!0)}),()=>{e=!0}}},[r,o]);let ee=async e=>{e.preventDefault(),await te(!1)},H=Z.useCallback(async()=>{k(`register`),T(!0);try{await Ds()}finally{k(null),T(!1)}await P()},[P]),U=Z.useCallback(()=>{ec(),k(null),T(!1)},[]),te=Z.useCallback(async e=>{if(!v&&!(!c||f)){w&&U(),p(!0),h(``);try{if(Rf()){let e=await zf(c,E);if(e?.token){d(``),y(!1),await Vf(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 If(c,E);if(n.ok){let r=await n.json().catch(()=>null),i=Af(),a=``;if(i&&(a=typeof r?.clientToken==`string`&&r.clientToken.trim()?r.clientToken.trim():``,a||=(await zf(c,E))?.token||await Lf()),d(``),y(!1),a&&await Vf(a),e&&S)try{await H(),cr.success(t(`sessionAuth.toast.passkeyAdded`)),s(`authenticated`);return}catch(e){if(Fs(e))cr.message(t(`sessionAuth.toast.passkeySetupCanceled`));else{let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySetupFailed`);cr.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=Rf()?await zf(c,E):null;if(n?.token){d(``),y(!1),await Vf(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,c,H,S,t,E]),W=Z.useCallback(async()=>{if(!(f||!S)){if(w){U();return}T(!0),k(`auth`),h(``);try{let e=await Ps(E,{issueClientToken:Af(),clientLabel:`OpenChamber Desktop`,...Nf()}),t=Af()&&typeof e?.clientToken==`string`&&e.clientToken.trim()?e.clientToken.trim():``;t&&await Vf(t),d(``),s(`authenticated`)}catch(e){if(Fs(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]),ne=Z.useCallback(async()=>{if(!(f||v||!S)){if(w){U();return}if(o!==`authenticated`){if(!c){h(t(`sessionAuth.error.enterPasswordForPasskey`));return}await te(!0);return}h(``);try{await H(),cr.success(t(`sessionAuth.toast.passkeyAdded`))}catch(e){if(Fs(e)){cr.message(t(`sessionAuth.toast.passkeySetupCanceled`));return}let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySetupFailed`);cr.error(n)}}},[U,te,w,f,v,c,H,o,S,t]),re=S&&b.enabled,ie=re&&b.hasPasskeys;return o===`pending`||o===`authenticated`&&!A?(0,$.jsx)(Uf,{}):o===`error`?(0,$.jsx)(Wf,{onRetry:()=>{z(),V()},errorType:`network`,children:a&&(0,$.jsxs)(`div`,{className:`w-full max-w-xs`,children:[(0,$.jsx)(bf,{}),(0,$.jsx)(`p`,{className:`mt-1 text-center typography-micro text-muted-foreground`,children:t(`sessionAuth.locked.hostSwitcherHint`)})]})}):o===`rate-limited`?(0,$.jsx)(Wf,{onRetry:()=>void V(),errorType:`rate-limit`,retryAfter:g}):o===`locked`?(0,$.jsx)(Hf,{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:ee,className:`w-full space-y-2`,children:[ie&&(0,$.jsxs)(Gn,{type:`button`,variant:`outline`,className:`w-full`,onClick:()=>void W(),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)(_s,{id:`openchamber-ui-password`,ref:M,type:`password`,autoComplete:`current-password`,placeholder:t(`sessionAuth.password.placeholder`),value:c,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)(Gn,{type:`submit`,size:`icon`,disabled:!c||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`})})]}),re?(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)(os,{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)(Gn,{type:`button`,variant:`ghost`,size:`sm`,className:`text-muted-foreground hover:text-foreground`,onClick:()=>void ne(),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)(os,{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)(bf,{}),(0,$.jsx)(`p`,{className:`mt-1 text-center typography-micro text-muted-foreground`,children:t(`sessionAuth.locked.hostSwitcherHint`)})]})]})}):(0,$.jsx)($.Fragment,{children:e})},Kf=e=>!!e&&typeof e==`object`&&!Array.isArray(e),qf=e=>typeof e==`string`&&e.trim()?e.trim():null,Jf=e=>{if(!Kf(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=qf(e.minimumVersion),i=qf(e.targetVersion);if(!r||!i||typeof e.canInstall!=`boolean`)throw Error(`Could not check OpenCode compatibility`);return{state:t,version:qf(e.version),installation:n,minimumVersion:r,targetVersion:i,canInstall:e.canInstall,guidance:qf(e.guidance)}},Yf=async()=>{let e=await f(`/api/opencode/compatibility`,{signal:AbortSignal.timeout(2e4)});if(!e.ok)throw Error(`Could not check OpenCode compatibility`);return Jf(await e.json())},Xf=async()=>{let e=await f(`/api/opencode/install-required`,{method:`POST`}),t=await e.json().catch(()=>null),n=Kf(t)?t:null,r=qf(n?.error);if(!e.ok||n?.success!==!0||n?.upgraded!==!0)throw Error(r||`OpenCode installation failed`);let i=qf(n.version);if(!i)throw Error(r||`OpenCode installation did not report a verified version`);return{version:i}},Zf=(e,t)=>e instanceof Error&&e.message.trim()?e.message.trim():t,Qf=({children:e})=>{let{t}=Vn(),[n,r]=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 Yf();if(!e||t!==p.current)return;r(n),n.state!==`incompatible`&&u(null)}catch{}finally{e&&t===p.current&&o(!0)}};t();let n=i(()=>{e&&(r(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=q(async e=>{if(s)return;let n=++p.current;c(e),u(null);try{if(e===`install`){let e=await Xf();if(n!==p.current)return;if(!e.version)throw Error(t(`opencodeUpgrade.screen.failedGeneric`));window.location.reload();return}let i=await Yf();if(n!==p.current)return;if(i.state===`incompatible`){r(i);return}if(i.state!==`compatible`)throw Error(t(`opencodeUpgrade.screen.failedGeneric`));window.location.reload()}catch(e){if(n!==p.current)return;u(Zf(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)(Ls,{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)(Gn,{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)(Gn,{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)(bf,{})})]})})},$f=e=>{let t=(0,Q.c)(14),{children:n}=e,r=G(ep),i=G(tp),a=G(np),o=G(rp),s=G(ip),{deviceType:c,hasTouchInput:l}=bc(),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=typeof document<`u`&&vn(),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 ep(e){return e.fontSize}function tp(e){return e.codeFontSize}function np(e){return e.applyTypography}function rp(e){return e.padding}function ip(e){return e.applyPadding}var ap=e(et(),1),op=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}`},sp=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-Cg_Q1t3X.js","assets/rolldown-runtime-C0FnF6B9.js","assets/runtime-fetch-CiqQd__Y.js","assets/runtime-auth-D66yq6ie.js","assets/runtime-switch-BJM2k_uH.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-Brsa2mKs.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-pierre-diffs-DX7XTPG3.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/vendor-hast-util-to-html-B0p1k5Xa.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-DpDied8H.js","assets/vendor-reactuses-core-Dq5ocTF8.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/button-e8fYWIMM.js","assets/persistence-CMWO3jFo.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/store-D8fmTWK3.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/dialog-MRsJpHzu.js","assets/Icon-D7NdMmbi.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-DM5h1i18.js","assets/appThemeRegistry-BxuflaQt.js","assets/platform-B0p43squ.js","assets/vendor-opencode-client-C12gfjag.js","assets/useMobileNavigationStore-i4cXNoOf.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-B75cQm_z.js","assets/vendor-zod-Dzk5kdUU.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/MarkdownRenderer-kpkRqS42.js","assets/markdownHeightCache-B5VSLl79.js","assets/dualLimitLru-D8Sphgua.js","assets/markdown-worker-bS5OgGO3.js","assets/useEffectiveDirectory-Ddx7sZ5A.js","assets/imageSource-BpUsiwFd.js","assets/relay-image-stream-D2XooXKZ.js","assets/useWorkerHighlightedLines-VOtVUGkO.js","assets/tooltip-C64SdRvR.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js","assets/vendor-capacitor-app-PzT84wSx.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{S as t,l as n,p as r}from"./runtime-auth-D66yq6ie.js";import{c as i,f as a,i as o,l as s,n as c,o as l,r as u,t as d}from"./runtime-switch-BJM2k_uH.js";import{n as f}from"./runtime-fetch-CiqQd__Y.js";import{B as p,Bt as m,C as h,Ct as g,Dt as _,E as v,En as y,H as b,J as x,K as S,L as C,Lt as w,M as T,Mt as E,N as D,Ot as O,P as k,Q as A,Qt as j,S as M,St as N,U as P,X as F,Y as I,Yt as L,Z as R,_ as z,_t as B,an as V,at as ee,b as H,c as U,ct as te,d as W,dt as ne,en as re,et as ie,f as ae,g as oe,gt as se,h as ce,in as le,kt as ue,lt as de,n as fe,nn as pe,nt as me,pt as he,q as ge,r as _e,rt as ve,st as ye,t as be,tn as xe,tt as Se,ut as Ce,v as we,w as Te,x as Ee,y as De,z as Oe}from"./persistence-CMWO3jFo.js";import{_ as ke,c as Ae,d as je,f as Me,h as Ne,i as Pe,l as Fe,m as Ie,n as Le,o as Re,p as ze,r as Be,s as Ve}from"./desktopHosts-C8vf9vRY.js";import{r as He}from"./desktopRelayRestore-DDJtljeu.js";import{a as Ue,i as We,o as Ge,r as Ke,t as qe}from"./vendor-zustand-B4dlGEM2.js";import{c as Je,d as Ye,f as Xe,l as Ze,nt as Qe,rt as $e,tt as et,u as tt}from"./vendor-base-ui-CnHfUmDN.js";import{$t as nt,An as rt,At as it,Bn as at,Ci as ot,Cn as st,Ct as ct,Dn as lt,En as ut,Er as dt,Fi as ft,Fn as pt,Hn as mt,Ii as ht,It as gt,Jt as _t,Lt as vt,Nt as yt,Ot as bt,Pi as xt,Pn as St,St as Ct,Ti as wt,Tn as Tt,Tr as Et,Wn as Dt,Xt as Ot,Zt as kt,bi as At,bn as jt,br as Mt,cn as Nt,fn as Pt,gr as Ft,hn as It,in as Lt,jr as Rt,jt as zt,ki as Bt,kn as Vt,kr as Ht,kt as Ut,ln as Wt,mi as Gt,mn as Kt,n as qt,nn as Jt,on as Yt,pn as Xt,rn as Zt,sn as Qt,t as $t,tn as en,tr as tn,vi as nn,vr as rn,wn as an,wr as on,xn as sn,xr as cn,yn as ln,yr as un,zn as dn}from"./platform-B0p43squ.js";import{_ as fn,b as pn,c as mn,f as hn,g as gn,h as _n,n as G,y as vn}from"./useUIStore-Brsa2mKs.js";import{n as yn}from"./vendor-react-DLPElpoQ.js";import{o as bn}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{c as xn,i as Sn,n as K,s as Cn,t as wn}from"./vendor-tanstack-react-query-D7pys_c9.js";import{B as Tn,R as En,V as Dn,c as On}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{i as kn,u as An}from"./vendor-pierre-diffs-DX7XTPG3.js";import{t as jn}from"./vendor-sonner-DVzioF3d.js";import{a as Mn,f as Nn,i as Pn,m as Fn,n as q,o as In,r as Ln,u as Rn}from"./vendor-reactuses-core-Dq5ocTF8.js";import{_ as zn,d as Bn,f as Vn,i as Hn,l as Un,p as Wn,r as J,t as Gn,v as Kn}from"./button-e8fYWIMM.js";import{i as qn,t as Jn}from"./store-D8fmTWK3.js";import{$ as Yn,$t as Xn,A as Zn,Aa as Qn,Ai as $n,An as er,Ar as tr,At as nr,B as rr,Bi as ir,Bt as ar,C as or,Ca as sr,Cr as cr,Ct as lr,D as ur,Di as dr,Dn as fr,Dt as pr,E as mr,Ei as hr,Et as gr,F as _r,Fi as vr,Fr as yr,G as br,Gi as xr,Gr as Sr,Gt as Cr,H as wr,Hi as Tr,Hn as Er,I as Dr,Ii as Or,Ir as kr,It as Ar,J as jr,Jr as Mr,K as Nr,Ki as Pr,Kn as Fr,Kr as Ir,Kt as Lr,L as Rr,Li as zr,Ln as Br,Lr as Vr,Lt as Hr,M as Ur,Mi as Wr,Mn as Gr,Mr as Kr,Mt as qr,N as Jr,Ni as Yr,Nn as Xr,Nt as Zr,O as Qr,Oa as $r,Oi as ei,On as ti,Ot as ni,P as ri,Pa as ii,Pi as ai,Pn as oi,Q as si,Qr as ci,Qt as li,R as ui,Ri as di,Rn as fi,Rt as pi,Sa as mi,Si as hi,St as gi,Ti as _i,Tn as vi,Tt as yi,U as bi,Ui as xi,Un as Si,Ur as Ci,Ut as wi,V as Ti,Vi as Ei,Vr as Di,W as Oi,Wi as ki,Wn as Ai,Wr as ji,Wt as Mi,X as Ni,Xa as Pi,Xr as Fi,Xt as Ii,Y as Li,Ya as Ri,Z as zi,Zi as Bi,Zr as Vi,Zt as Hi,_a as Ui,_i as Wi,_n as Gi,aa as Ki,ai as qi,an as Ji,ao as Yi,ar as Xi,at as Zi,ba as Qi,bi as $i,bt as ea,c as ta,ci as na,ct as ra,d as Y,da as ia,dn as aa,ei as oa,et as sa,fi as ca,fn as la,g as ua,ga as da,gn as fa,gt as pa,ha as ma,hi as ha,hn as ga,ht as _a,i as va,ia as ya,ii as ba,in as xa,ir as Sa,it as Ca,j as wa,ja as Ta,ji as Ea,jn as Da,jr as Oa,jt as ka,k as Aa,ki as ja,kn as Ma,kr as Na,kt as Pa,ln as Fa,lt as Ia,m as La,mi as Ra,mn as za,n as Ba,na as Va,ni as Ha,nn as Ua,no as Wa,nt as Ga,oi as Ka,on as qa,oo as Ja,or as Ya,ot as Xa,pi as Za,pn as Qa,q as $a,qi as eo,qr as to,qt as no,r as ro,ri as io,rn as ao,rr as oo,rt as so,s as co,sa as lo,sn as uo,st as fo,ta as po,tt as mo,un as ho,v as go,va as _o,vi as vo,vn as yo,vr as bo,vt as xo,w as So,wa as Co,wn as wo,wt as To,xa as Eo,xi as Do,xt as Oo,ya as ko,yi as Ao,yn as jo,yr as Mo,yt as No,z as Po,zi as Fo,zr as Io}from"./useMobileNavigationStore-i4cXNoOf.js";import{a as Lo,i as Ro,l as zo,n as Bo,o as Vo,r as Ho,s as Uo,t as Wo}from"./dialog-MRsJpHzu.js";import{t as Go}from"./AgentAvatar-FyTdEOMr.js";import{n as X}from"./Icon-D7NdMmbi.js";import{E as Ko,n as qo}from"./gitApi-CuIUGt04.js";import{a as Jo}from"./vendor-simplewebauthn-browser-Dwhcdg_5.js";import{A as Yo,C as Xo,D as Zo,O as Qo,S as $o,_ as es,a as ts,b as ns,f as rs,h as is,i as as,j as os,k as ss,l as cs,m as ls,n as us,o as ds,s as fs,u as ps,w as ms,x as hs,y as gs}from"./projectMeta-DrUKrYt0.js";import{t as _s}from"./input-DbOe1mdT.js";import{i as vs,n as ys,t as bs}from"./tooltip-C64SdRvR.js";import{$ as xs,$t as Ss,At as Cs,B as ws,Bt as Ts,F as Es,Ft as Ds,Ht as Os,I as ks,J as As,K as js,Kt as Ms,L as Ns,Ot as Ps,Pt as Fs,Q as Is,Rt as Ls,St as Rs,Ut as zs,Vt as Bs,X as Vs,Y as Hs,Yt as Us,Z as Ws,_t as Gs,an as Ks,at as qs,et as Js,ft as Ys,gt as Xs,i as Zs,it as Qs,jt as $s,kt as ec,l as tc,lt as nc,mt as rc,n as ic,nt as ac,on as oc,pt as sc,q as cc,qt as lc,rt as uc,sn as dc,t as fc,tt as pc,ut as mc,z as hc,zt as gc}from"./useSessionAutoCleanup-Dzd0fGSe.js";import{n as _c,r as vc,t as yc}from"./useThemeSystem-DMzWVJaW.js";import{i as bc,t as xc}from"./OverlayScrollbar-mI9WVa7E.js";import{a as Sc,c as Cc,i as wc,l as Tc,n as Ec,o as Dc,r as Oc,s as kc}from"./markdownTheme-DM5h1i18.js";import{n as Ac,r as jc,t as Mc}from"./useRuntimeAPIs-DSLXJybW.js";import{S as Nc,i as Pc,n as Fc,r as Ic}from"./textarea-B5GMntHk.js";import{A as Lc,C as Rc,D as zc,O as Bc,S as Vc,T as Hc,_ as Uc,a as Wc,b as Gc,c as Kc,d as qc,f as Jc,g as Yc,h as Xc,j as Zc,k as Qc,l as $c,m as el,o as tl,p as nl,s as rl,u as il,v as al,w as ol,x as sl,y as cl}from"./sessionChangeSummary-DcnZyuWt.js";import{A as ll,C as ul,D as dl,E as fl,M as pl,O as ml,S as hl,T as gl,a as _l,b as vl,c as yl,d as bl,f as xl,i as Sl,k as Cl,l as wl,n as Tl,o as El,p as Dl,r as Ol,s as kl,t as Al,u as jl,w as Ml,x as Nl,y as Pl}from"./insertionBoundaries-nzs1Q3YR.js";import{a as Fl,c as Il,i as Ll,o as Rl,s as zl}from"./fileMentionTouchSelection-Bj67pPo7.js";import{A as Bl,C as Vl,D as Hl,E as Ul,N as Wl,O as Gl,S as Kl,T as ql,_ as Jl,b as Yl,c as Xl,d as Zl,f as Ql,g as $l,h as eu,i as tu,k as nu,l as ru,m as iu,o as au,p as ou,s as su,t as cu,u as lu,v as uu,w as du,x as fu,y as pu}from"./appThemeRegistry-BxuflaQt.js";import{a as mu,n as hu,o as gu,r as _u,t as vu}from"./MarkdownRenderer-kpkRqS42.js";import{_ as yu,a as bu,c as xu,g as Su,l as Cu,o as wu,t as Tu,v as Eu,y as Du}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{i as Ou,n as ku,o as Au,s as ju,t as Mu}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{a as Nu,n as Pu,t as Fu}from"./url-DF1NFwt_.js";import{a as Iu,l as Lu,m as Ru,u as zu}from"./markdown-worker-bS5OgGO3.js";import{n as Bu,t as Vu}from"./useEffectiveDirectory-Ddx7sZ5A.js";import{a as Hu,c as Uu,d as Wu,f as Gu,i as Ku,l as qu,n as Ju,r as Yu,s as Xu,t as Zu}from"./FadeInOnReveal-DHDffzHs.js";import{c as Qu,f as $u,l as ed,m as td,n as nd,p as rd,r as id,s as ad,u as od}from"./imageSource-BpUsiwFd.js";import{A as sd,C as cd,D as ld,E as ud,M as dd,O as fd,S as pd,T as md,a as hd,b as gd,c as _d,g as vd,h as yd,i as bd,j as xd,k as Sd,o as Cd,p as wd,r as Td,s as Ed,t as Dd,v as Od,w as kd,x as Ad,y as jd}from"./useWorkerHighlightedLines-VOtVUGkO.js";import{t as Md}from"./vendor-cmdk-CeAGfrLo.js";import{t as Nd}from"./sortable-tabs-strip-B0sZ7mm6.js";import{a as Pd}from"./markdownHeightCache-B5VSLl79.js";import{t as Fd}from"./dualLimitLru-D8Sphgua.js";import{n as Id,t as Ld}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{i as Rd,t as zd}from"./vendor-framer-motion-DFy_BSVd.js";import{t as Bd}from"./vendor-legendapp-list-WE32lwNk.js";import{n as Vd,t as Hd}from"./useFontPreferences-CrteQiAp.js";var Ud=e=>{if(typeof e!=`string`)return;let t=e.trim();if(t)return{location:{directory:t}}};typeof window<`u`&&(window.__opencodeDebug={getLastAssistantMessage(){let e=Y.getState().currentSessionId;if(!e)return null;let t=dn(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=(at(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:(at(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=Y.getState().currentSessionId;if(!t)return[];let n=dn(t);return`${n.length}`,n.forEach((e,t)=>{let n=at(e.id)||[];`${t}${e.role}${e.id}${n.length}`}),e?this.truncateMessages(n):n},async getAppStatus(){let e=ct.getState(),t=Y.getState(),n=Pi.getState(),r=e.currentDirectory||null,i=yt.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=y(),u=typeof window<`u`&&!!window.__OPENCHAMBER_ELECTRON__,d=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 f(e);return t.ok?await d(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 yt.getSdkClient().location.get(Ud(r));h=vt(e)}catch(e){h={error:e instanceof Error?e.message:String(e)}}try{g=(await yt.getSdkClient().location.get(Ud(r)))?.project??null}catch(e){g={error:e instanceof Error?e.message:String(e)}}_=await m(`/api/config/settings`);try{let e=await f(`/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 b={isGitRepo:null};if(r)try{b.isGitRepo=await qo(r)}catch(e){b={isGitRepo:null,error:e instanceof Error?e.message:String(e)}}let x=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:x},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:b,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 Bn(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=Y.getState(),t=fr.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=Y.getState().currentSessionId;if(!e)return[];let t=dn(e).filter(e=>e.role===`assistant`).filter(e=>{let t=at(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=at(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=Y.getState().currentSessionId;if(!i)return{summary:null,rows:[]};let a=dn(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=at(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=Y.getState().currentSessionId;if(!e)return null;let t=dn(e).filter(e=>e.role===`assistant`);if(t.length===0)return null;let n=t[t.length-1],r=(at(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=fr.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}}},bt(),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($e(),1),Q=yn(),Wd=async()=>{if(typeof window>`u`)return;let e=null;try{e=w(`lastDirectory`)}catch(e){console.warn(`Failed to read saved directory preferences:`,e)}e&&!le()&&ct.getState().setDirectory(e,{showOverlay:!1})},Gd=new Map,Kd=e=>Gd.get(e)??null,qd=({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,onError:i},a={})=>{let o=Gd.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 Gd.set(e,s),s},Jd=async({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,startWatchers:i,onError:a})=>{await qd({runtimeKey:e,initializeAppearance:t,syncSettings:n,applyDirectory:r,onError:a})&&i()},Yd=(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 Xd(e){return!e||e===`idle`?null:e===`ready`?`ok`:e===`error`?`unreachable`:`auth`}function Zd(e,t){let n=e.via===`relay`;return t?n:!n}function Qd(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?Xd(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||Zd(o,a))&&(u=Math.max(0,Math.round(o.latencyMs))),{statusKind:c,showViaRelay:l,latencyMs:u}}var $=Qe(),$d=`local`,ef=9e4,tf=`SSH connection cancelled`,nf=e=>He(e),rf={},af=e=>{let t=ze(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}},of=()=>typeof window>`u`?``:window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,sf=async()=>pe()?Re().catch(()=>``):``,cf=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`,lf=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`,df=e=>e===`unreachable`||e===`wrong-service`||e===`incompatible`,ff=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`,pf=e=>new Promise(t=>window.setTimeout(t,e)),mf=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`}},hf=async()=>{let e=await Ss().catch(()=>[]),t={};for(let n of e)t[n.id]=n;return t},gf=async(e,t,n,r)=>{let i=Date.now()+t;for(;Date.now()<i;){if(r?.())throw Error(tf);let t=(await Ss(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 pf(700)}throw r?.()?Error(tf):Error(`Timed out waiting for SSH connection`)},_f=e=>({id:$d,label:`Local`,url:e||of()}),vf=e=>{let t=typeof window>`u`?``:window.location.href,n=e.find(e=>e.id===$d)?.url||of(),r=d(),i=ze(n)||n,a=ze(t)||t,o=u(),s=e.find(e=>e.relay&&nf(e)===o);if(s)return{id:s.id,label:s.label,url:s.url};if(r&&Me(r,n))return{id:$d,label:`Local`,url:i};let c=e.find(e=>r?Me(r,Fe(e)):!1);if(c)return{id:c.id,label:c.label,url:ze(Fe(c))||Fe(c)};if(t&&Me(t,n))return{id:$d,label:`Local`,url:i};let l=e.find(e=>t?Me(t,e.url):!1);return l?{id:l.id,label:l.label,url:ze(l.url)||l.url}:t.startsWith(`openchamber-ui://`)?{id:$d,label:`Local`,url:i}:{id:`custom`,label:Ne(a||`Instance`),url:a}};function yf({open:e,onOpenChange:t,embedded:n=!1,onHostSwitched:r}){let{t:a}=Vn(),s=G(e=>e.setSettingsDialogOpen),c=G(e=>e.setSettingsPage),l=Ki(e=>e.isConnected),u=Ki(e=>e.connectionPhase),[d,f]=Z.useState([]),[p,m]=Z.useState(null),[h,g]=Z.useState(()=>({...rf}));Z.useEffect(()=>{Object.assign(rf,h)},[h]);let[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),[x,S]=Z.useState(!1),C=oc(),w=dc(),[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(()=>of()),[R,z]=Z.useState(null),[B,V]=Z.useState(``),[ee,H]=Z.useState(``),[U,te]=Z.useState(0),W=Z.useRef(0),ne=Z.useMemo(()=>[_f(I),...d.map(e=>({...e,url:ze(e.url)||e.url}))],[d,I]),re=Z.useMemo(()=>new Set(Object.keys(O)),[O]),ie=Z.useMemo(()=>ne.filter(e=>e.id===$d||je(e,re)),[ne,re]);Z.useEffect(()=>i(()=>te(e=>e+1)),[]);let ae=Z.useMemo(()=>vf(ne),[ne,U]),oe=Z.useMemo(()=>o().startsWith(`relay:`),[U]),se=Z.useMemo(()=>{let e=p||$d;return ne.find(t=>t.id===e)?.label||a(`desktopHostSwitcher.instance.local`)},[ne,p,a]),ce=Z.useCallback(async(e,t)=>{if(xe()){S(!0),F(``);try{let n=e.filter(e=>e.id!==$d);await Pe({hosts:n,defaultHostId:t}),f(n),m(t)}catch(e){F(e instanceof Error?e.message:a(`desktopHostSwitcher.error.failedToSave`))}finally{S(!1)}}},[a]),le=Z.useCallback(()=>{c(`remote-instances`),s(!0),t(!1)},[t,s,c]),ue=Z.useCallback(async()=>{if(xe()){v(!0),F(``);try{let[e,t,n]=await Promise.all([Be(),Us().catch(()=>({instances:[]})),hf()]);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:a(`desktopHostSwitcher.error.failedToLoad`)),f([]),m(null),k({}),j({})}finally{v(!1)}}},[a]),de=Z.useCallback(async e=>{if(xe()){b(!0);try{let t=await sf(),n=await Promise.all(e.map(async e=>{let n=async()=>{let t=await Ie(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=ze(pe()?Fe(e):e.url);if(!r)return[e.id,{status:`unreachable`,latencyMs:0}];let i=e.id===$d?t:e.clientToken||``,a=await Le(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(``),H(``),E(null),N({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),F(``);return}ue()},[e,ue]),Z.useEffect(()=>{e&&de(ie)},[e,ie,de]),Z.useEffect(()=>{if(!e||!xe())return;let t=!1,n=async()=>{let e=await hf();t||j(e)};n();let r=window.setInterval(()=>{typeof document<`u`&&document.visibilityState!==`visible`||n()},1500);return()=>{t=!0,window.clearInterval(r)}},[e]);let fe=q(async e=>{let t=e.id===$d?I:ze(e.url)||``,n=e.id===$d?I:ze(Fe(e))||``,i=!!e.relay&&!e.apiUrl&&e.id!==$d;if(!t&&!i)return;if(pe()){if(!n&&!e.relay||C)return;let t=e.id===$d?await sf():null,i=await Ks({host:e,cachedProbe:h[e.id]||null,...e.id===$d?{localApiOrigin:n,localClientToken:t}:{}});g(t=>({...t,[e.id]:i.status})),i.ok&&r?.();return}let o=!!O[e.id];if(e.id!==$d&&o&&xe()){let n=A[e.id],i=await Ss(e.id).then(t=>t.find(t=>t.id===e.id)||null).catch(()=>null);i&&(n=i,j(t=>({...t,[e.id]:i})));let o=ze(n?.localUrl||e.url||``);if(n?.phase===`ready`&&o){let e=af(o);r?.(),window.location.assign(e);return}E(e.id);let s=W.current+1;W.current=s,N({open:!0,hostId:e.id,hostLabel:Ne(e.label),phase:`master_connecting`,detail:null,error:null,errorCode:null});try{if(await Ms(e.id),s!==W.current)return;let n=await gf(e.id,ef,e=>{j(t=>({...t,[e.id]:e})),N(t=>({...t,phase:e.phase,detail:e.detail||null,errorCode:e.errorCode||null}))},()=>s!==W.current);if(s!==W.current)return;let i=af(ze(n.localUrl||``)||t);r?.(),window.location.assign(i);return}catch(t){if(s!==W.current)return;let n=t instanceof Error?t.message:String(t);if(n===tf)return;let r=Bs(M.errorCode,n);N(e=>({...e,error:n,errorCode:r})),cr.error(a(`desktopHostSwitcher.toast.sshFailedToConnect`,{host:Ne(e.label)}),{description:Ts(a(Os(r)),r,n)});return}finally{s===W.current&&E(null)}}if(e.id!==$d&&xe()){E(e.id);let n=await Le(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)){cr.error(a(`desktopHostSwitcher.toast.instanceUnreachable`,{host:Ne(e.label)})),E(null);return}}let s=af(t);r?.();try{window.location.assign(s)}catch{window.location.href=s}}),me=Z.useCallback(()=>{z(null),V(``),H(``)},[]),he=Z.useCallback(e=>{e.stopPropagation()},[]),ge=Z.useCallback(async()=>{if(!R)return;if(R===$d){me();return}let e=ke(ee);if(!e){F(a(`desktopHostSwitcher.error.invalidUrl`));return}let t=e.persistedUrl,n=(B||Ne(t)).trim(),r=d.map(e=>e.id===R?{...e,label:n,url:t,apiUrl:t}:e);await ce(r,p),me(),e.redeemUrl&&window.location.assign(e.redeemUrl)},[me,d,p,B,ee,R,ce,a]),_e=Z.useCallback(async e=>{await ce(d,e===$d?$d:e)},[d,ce]),ve=Z.useCallback(e=>{let t=e=>{cr.error(a(`desktopHostSwitcher.error.failedToOpenNewWindow`),{description:e instanceof Error?e.message:String(e)})};if(e.relay&&e.id!==$d){Ae(e.id).catch(t);return}let n=e.id===$d?I:Fe(e);if(!n)return;let r=af(n);Ve(r,{clientToken:e.clientToken||null,requestHeaders:e.requestHeaders||null}).catch(t)},[I,a]),ye=q(async()=>{W.current+=1,E(null),N(e=>({...e,open:!1,hostId:null,error:null,errorCode:null,detail:null,phase:`idle`}));let e=af(I);if(pe()){if(C)return;let e=await sf();(await Ks({host:_f(I),localApiOrigin:I,localClientToken:e})).ok&&r?.();return}r?.(),window.location.assign(e)}),be=Z.useCallback(async()=>{let e=M.hostId||D;W.current+=1,E(null),N({open:!1,hostId:null,hostLabel:``,phase:`idle`,detail:null,error:null,errorCode:null}),!(!e||e===$d||!xe())&&await lc(e).catch(()=>{})},[M.hostId,D]),Se=Z.useCallback(()=>{let e=M.hostId;if(!e)return;let t=ne.find(t=>t.id===e);t&&fe(t)},[ne,fe,M.hostId]),Ce=Z.useCallback(async e=>{if(xe()){E(e.id);try{await Ms(e.id),(await gf(e.id,ef,e=>{j(t=>({...t,[e.id]:e}))})).phase===`ready`&&cr.success(a(`desktopHostSwitcher.toast.sshConnected`,{host:Ne(e.label)}))}catch(t){let n=t instanceof Error?t.message:String(t);if(n!==tf){let t=Bs(null,n);cr.error(a(`desktopHostSwitcher.toast.sshFailedToConnect`,{host:Ne(e.label)}),{description:Ts(a(Os(t)),t,n)})}}finally{E(null)}}},[a]);if(!xe())return null;let we=xe(),Te=(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:a(`desktopHostSwitcher.header.current`)}),(0,$.jsx)(`span`,{className:`max-w-[9rem] truncate text-muted-foreground`,children:Ne(ae.label)}),(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`•`}),(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:a(`desktopHostSwitcher.header.default`)}),(0,$.jsx)(`span`,{className:`max-w-[9rem] truncate text-muted-foreground`,children:Ne(se)})]}),(0,$.jsx)(`button`,{type:`button`,className:J(`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 de(ie),disabled:!we||_||y,"aria-label":a(`desktopHostSwitcher.actions.refreshInstancesAria`),children:(0,$.jsx)(X,{name:`refresh`,className:J(`h-4 w-4`,y&&`animate-spin`)})})]})}):(0,$.jsxs)(Lo,{className:`flex-shrink-0`,children:[(0,$.jsxs)(Vo,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`server`,className:`h-5 w-5`}),a(`desktopHostSwitcher.title`)]}),(0,$.jsx)(Ho,{children:a(`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:a(`desktopHostSwitcher.header.currentColon`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:Ne(ae.label)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a(`desktopHostSwitcher.header.currentDefaultColon`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:Ne(se)})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,$.jsxs)(Gn,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>void de(ie),disabled:!we||_||y,children:[(0,$.jsx)(X,{name:`refresh`,className:J(`h-4 w-4`,y&&`animate-spin`)}),a(`desktopHostSwitcher.actions.refresh`)]})})]}),!we&&(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:a(`desktopHostSwitcher.state.limitedOnPage`)})}),(0,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,$.jsx)(`div`,{className:J(`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:a(`desktopHostSwitcher.state.loading`)}):ie.map(e=>{let t=e.id===$d,r=!!O[e.id],i=e.id===ae.id,o=(p||$d)===e.id,s=h[e.id]||null,c=A[e.id]||null,d=Qd({isActive:i,isSsh:r,runtimeIsConnected:l,runtimeConnectionPhase:u,currentTransportIsRelay:oe,probe:s,sshPhase:c?.phase}),f=d.statusKind,m=d.showViaRelay,g=R===e.id,_=t?I:ze(e.url)||e.url,v=e.id===$d?a(`desktopHostSwitcher.instance.local`):Ne(e.label),y=e.relay&&!e.apiUrl?a(`mobile.connect.relay.badge`):Ne(_);return(0,$.jsxs)(`div`,{className:J(`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:J(`flex items-center gap-2 flex-1 min-w-0 text-left`,g&&`pointer-events-none opacity-70`),onClick:()=>void fe(e),disabled:D===e.id,"aria-label":a(`desktopHostSwitcher.actions.switchToAria`,{instance:v}),children:[(0,$.jsx)(`span`,{className:J(`h-2 w-2 rounded-full flex-shrink-0`,cf(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:a(`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:J(`typography-micro truncate`,lf(f)),children:[a(r&&!i?mf(c?.phase):ff(f)),d.latencyMs==null?``:a(`desktopHostSwitcher.status.ping`,{ms:d.latencyMs}),m?` · ${a(`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)(Gn,{type:`button`,variant:`outline`,size:`sm`,className:`h-8 px-2.5`,disabled:D===e.id,onClick:t=>{t.stopPropagation(),Ce(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`}),a(`desktopHostSwitcher.actions.connect`)]}):(0,$.jsx)(`div`,{className:`h-8 w-8 opacity-0 pointer-events-none`,"aria-hidden":`true`})),(0,$.jsxs)(bs,{delayDuration:600,children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:J(`app-region-no-drag h-8 w-8 rounded-md inline-flex items-center justify-center hover:bg-interactive-hover transition-colors`,o?`text-primary hover:text-primary/80`:`text-muted-foreground/60 hover:text-primary/80`),onClick:()=>void _e(e.id),"aria-label":a(o?`desktopHostSwitcher.actions.defaultInstanceAria`:`desktopHostSwitcher.actions.setAsDefaultAria`),disabled:x||!o&&df(f),children:o?(0,$.jsx)(X,{name:`star-fill`,className:`h-4 w-4`}):(0,$.jsx)(X,{name:`star`,className:`h-4 w-4`})})}),(0,$.jsx)(ys,{sideOffset:6,children:a(o?`desktopHostSwitcher.header.default`:`desktopHostSwitcher.actions.setAsDefault`)})]}),(0,$.jsxs)(bs,{delayDuration:600,children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:J(`app-region-no-drag h-8 w-8 rounded-md inline-flex items-center justify-center hover:bg-interactive-hover transition-colors`,df(f)?`text-muted-foreground/30 cursor-not-allowed`:`text-muted-foreground/60 hover:text-foreground`),onClick:t=>{t.stopPropagation(),ve(e)},disabled:df(f),"aria-label":a(`desktopHostSwitcher.actions.openInNewWindowAria`),children:(0,$.jsx)(X,{name:`window`,className:`h-4 w-4`})})}),(0,$.jsx)(ys,{sideOffset:6,children:df(f)?a(`desktopHostSwitcher.state.instanceUnreachable`):a(`desktopHostSwitcher.actions.openInNewWindow`)})]})]})]},e.id)})})}),we&&R&&R!==$d&&(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:a(`desktopHostSwitcher.edit.title`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Gn,{type:`button`,variant:`outline`,size:`sm`,onClick:me,disabled:x,children:a(`desktopHostSwitcher.actions.cancel`)}),(0,$.jsxs)(Gn,{type:`button`,size:`sm`,onClick:()=>void ge(),disabled:x,children:[x?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):null,a(`desktopHostSwitcher.actions.save`)]})]})]}),(0,$.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,$.jsx)(_s,{value:B,onChange:e=>V(e.target.value),onKeyDown:he,placeholder:a(`desktopHostSwitcher.field.labelPlaceholder`),disabled:x}),(0,$.jsx)(_s,{value:ee,onChange:e=>H(e.target.value),onKeyDown:he,placeholder:a(`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:le,children:[(0,$.jsx)(X,{name:`add`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label`,children:a(`desktopHostSwitcher.actions.addInstance`)})]})}),P&&(0,$.jsx)(`div`,{className:`flex-shrink-0 typography-meta text-status-error`,children:P})]}),Ee=(0,$.jsx)(Wo,{open:M.open,onOpenChange:e=>{if(!e&&D){be();return}N(t=>({...t,open:e,...e?{}:{hostId:null,error:null,errorCode:null,detail:null,phase:`idle`}}))},children:(0,$.jsxs)(Bo,{className:`w-[min(28rem,calc(100vw-2rem))] max-w-none`,children:[(0,$.jsxs)(Lo,{children:[(0,$.jsxs)(Vo,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`loader-4`,className:J(`h-4 w-4`,!M.error&&`animate-spin`)}),a(`desktopHostSwitcher.ssh.connectingTo`,{host:M.hostLabel||a(`desktopHostSwitcher.ssh.instanceFallback`)})]}),M.error?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ho,{className:`sr-only`,children:a(zs(Bs(M.errorCode,M.error)))}),(0,$.jsx)(gc,{errorCode:M.errorCode,detail:M.error})]}):(0,$.jsx)(Ho,{children:M.detail||a(mf(M.phase))})]}),M.error?(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,$.jsx)(Gn,{type:`button`,size:`sm`,variant:`outline`,onClick:()=>{le(),be()},children:a(`desktopHostSwitcher.sshError.openRemoteSettings`)}),(0,$.jsx)(Gn,{type:`button`,size:`sm`,variant:`outline`,onClick:()=>void ye(),children:a(`desktopHostSwitcher.actions.switchToLocal`)}),(0,$.jsx)(Gn,{type:`button`,size:`sm`,onClick:Se,disabled:!M.hostId,children:a(`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:Te}),Ee]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Wo,{open:e,onOpenChange:t,children:(0,$.jsx)(Bo,{className:`w-[min(42rem,calc(100vw-2rem))] max-w-none max-h-[70vh] flex flex-col overflow-hidden gap-3`,children:Te})}),Ee]})}function bf(){let e=(0,Q.c)(11),[t,n]=Z.useState(!1),{t:r}=Vn();if(!xe())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)(Gn,{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)(yf,{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 xf=e=>e.shouldUseDesktopShellPasswordLogin?`locked`:`error`,Sf=`/auth/session`,Cf=4,wf=1500,Tf=`openchamber.uiAuth.trustDevice`,Ef=`desktop-local`,Df=`desktop-local`,Of=()=>{if(typeof window>`u`)return``;let e=window.__OPENCHAMBER_LOCAL_ORIGIN__;return typeof e==`string`?e.trim():``},kf=(e,t)=>{let n=ze(e),r=ze(t);if(!n||!r)return!1;try{return new URL(n).origin===new URL(r).origin}catch{return!1}},Af=()=>xe(),jf=e=>{let t=e.replace(/^\[|\]$/g,``);return t===`localhost`||t===`127.0.0.1`||t===`::1`},Mf=()=>{if(!xe())return!1;let e=Of();if(!e)return!1;let t=d()||(typeof window<`u`?window.location.origin:``);if(kf(e,t))return!0;try{let e=ze(t);return!!(e&&jf(new URL(e).hostname))}catch{return!1}},Nf=()=>Mf()?{clientKind:Ef,dedupeKey:Df}:{},Pf=async()=>await f(Sf,{method:`GET`,credentials:`include`,headers:{Accept:`application/json`}}),Ff=()=>typeof window>`u`?!1:window.localStorage.getItem(Tf)===`true`,If=async(e,t)=>{let n=Af();return await f(Sf,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({password:e,trustDevice:t,issueClientToken:n,clientLabel:`OpenChamber Desktop`,...Nf()})})},Lf=async()=>{if(!xe())return``;let e=await f(`/api/client-auth/clients`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({label:`OpenChamber Desktop`,...Nf()})}).catch(()=>null);if(!e?.ok)return``;let t=await e.json().catch(()=>null);return typeof t?.token==`string`?t.token.trim():``},Rf=()=>xe()&&!Mf(),zf=async(e,t)=>{if(!xe()||typeof window>`u`)return null;let r=await j(`desktop_remote_password_login`,{url:d(),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}:{}}},Bf=async(e,t)=>{if(!xe()||!t)return;let n=await Be().catch(()=>null);if(!n)return;if(n.localOrigin&&kf(n.localOrigin,e)){await Pe({hosts:n.hosts,defaultHostId:n.defaultHostId,initialHostChoiceCompleted:n.initialHostChoiceCompleted,localClientToken:t}).catch(()=>void 0);return}let r=!1,i=n.hosts.map(n=>!kf(Fe(n),e)||n.clientToken===t?n:(r=!0,{...n,clientToken:t}));r&&await Pe({hosts:i,defaultHostId:n.defaultHostId,initialHostChoiceCompleted:n.initialHostChoiceCompleted}).catch(()=>void 0)},Vf=async e=>{if(!e)return;let r=d(),i=n();await Bf(r,e),s({apiBaseUrl:r,clientToken:e,requestHeaders:Object.keys(i).length>0?i:null,relay:t()})},Hf=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},Uf=()=>{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)(Ls,{width:120,height:120})}),e[0]=t):t=e[0],t},Wf=e=>{let t=(0,Q.c)(23),{onRetry:n,errorType:r,retryAfter:i,children:a}=e,o=r===void 0?`network`:r,{t:s}=Vn(),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)(Gn,{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)(Hf,{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],_},Gf=({children:e})=>{let{t}=Vn(),n=Z.useMemo(()=>le(),[]),r=n,a=Z.useMemo(()=>xe()&&!n,[n]),[o,s]=Z.useState(()=>r?`authenticated`:`pending`),[c,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(Cs),[S,C]=Z.useState(!1),[w,T]=Z.useState(!1),[E,D]=Z.useState(()=>Ff()),[O,k]=Z.useState(null),[A,j]=Z.useState(r),M=Z.useRef(null),N=Z.useRef(r);Z.useEffect(()=>{typeof window>`u`||window.localStorage.setItem(Tf,E?`true`:`false`)},[E]);let P=Z.useCallback(async()=>{if(r)return Cs;try{let e=await $s();return x(e),e}catch{return x(Cs),Cs}},[r]);Z.useEffect(()=>{let e=!1;if(!r)return(async()=>{try{if(!window.isSecureContext||!Jo()){e||C(!1);return}e||C(!0)}catch{e||C(!1)}})(),()=>{e=!0}},[r]);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>=Cf?!1:(F.current+=1,R(),I.current=window.setTimeout(()=>{I.current=null,L.current?.()},wf*F.current),!0),[R]);Z.useEffect(()=>R,[R]);let V=Z.useCallback(async()=>{if(r){s(`authenticated`);return}s(e=>e===`authenticated`?e:`pending`);try{let[e,t]=await Promise.all([Pf(),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),xf({shouldUseDesktopShellPasswordLogin:Rf()})===`locked`){s(`locked`),_(void 0),y(!1);return}if(B())return;s(`error`),y(!1)}},[P,z,B,r]);Z.useEffect(()=>{L.current=V},[V]),Z.useEffect(()=>{r||V()},[V,r]),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(r)return;let e=Yd(e=>{l(e)&&(d(``),h(``),_(void 0),y(!1),z(),j(!1),N.current=!1,s(`pending`),V())}),t=i(t=>e.schedule(t));return()=>{t(),e.cancel()}},[V,z,r]),Z.useEffect(()=>{!r&&o===`locked`&&(N.current=!1,j(!1))},[r,o]),Z.useEffect(()=>{o===`locked`&&M.current&&(M.current.focus(),M.current.select())},[o]),Z.useEffect(()=>{if(!r&&o===`authenticated`&&!N.current){N.current=!0;let e=!1;return qd({runtimeKey:u(),initializeAppearance:be,syncSettings:fe,applyDirectory:Wd,onError:(e,t)=>{console.error(`[SessionAuthGate] ${e} settings hydration failed:`,t)}},{force:!0}).then(()=>{e||j(!0)}),()=>{e=!0}}},[r,o]);let ee=async e=>{e.preventDefault(),await te(!1)},H=Z.useCallback(async()=>{k(`register`),T(!0);try{await Ds()}finally{k(null),T(!1)}await P()},[P]),U=Z.useCallback(()=>{ec(),k(null),T(!1)},[]),te=Z.useCallback(async e=>{if(!v&&!(!c||f)){w&&U(),p(!0),h(``);try{if(Rf()){let e=await zf(c,E);if(e?.token){d(``),y(!1),await Vf(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 If(c,E);if(n.ok){let r=await n.json().catch(()=>null),i=Af(),a=``;if(i&&(a=typeof r?.clientToken==`string`&&r.clientToken.trim()?r.clientToken.trim():``,a||=(await zf(c,E))?.token||await Lf()),d(``),y(!1),a&&await Vf(a),e&&S)try{await H(),cr.success(t(`sessionAuth.toast.passkeyAdded`)),s(`authenticated`);return}catch(e){if(Fs(e))cr.message(t(`sessionAuth.toast.passkeySetupCanceled`));else{let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySetupFailed`);cr.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=Rf()?await zf(c,E):null;if(n?.token){d(``),y(!1),await Vf(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,c,H,S,t,E]),W=Z.useCallback(async()=>{if(!(f||!S)){if(w){U();return}T(!0),k(`auth`),h(``);try{let e=await Ps(E,{issueClientToken:Af(),clientLabel:`OpenChamber Desktop`,...Nf()}),t=Af()&&typeof e?.clientToken==`string`&&e.clientToken.trim()?e.clientToken.trim():``;t&&await Vf(t),d(``),s(`authenticated`)}catch(e){if(Fs(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]),ne=Z.useCallback(async()=>{if(!(f||v||!S)){if(w){U();return}if(o!==`authenticated`){if(!c){h(t(`sessionAuth.error.enterPasswordForPasskey`));return}await te(!0);return}h(``);try{await H(),cr.success(t(`sessionAuth.toast.passkeyAdded`))}catch(e){if(Fs(e)){cr.message(t(`sessionAuth.toast.passkeySetupCanceled`));return}let n=e instanceof Error?e.message:t(`sessionAuth.error.passkeySetupFailed`);cr.error(n)}}},[U,te,w,f,v,c,H,o,S,t]),re=S&&b.enabled,ie=re&&b.hasPasskeys;return o===`pending`||o===`authenticated`&&!A?(0,$.jsx)(Uf,{}):o===`error`?(0,$.jsx)(Wf,{onRetry:()=>{z(),V()},errorType:`network`,children:a&&(0,$.jsxs)(`div`,{className:`w-full max-w-xs`,children:[(0,$.jsx)(bf,{}),(0,$.jsx)(`p`,{className:`mt-1 text-center typography-micro text-muted-foreground`,children:t(`sessionAuth.locked.hostSwitcherHint`)})]})}):o===`rate-limited`?(0,$.jsx)(Wf,{onRetry:()=>void V(),errorType:`rate-limit`,retryAfter:g}):o===`locked`?(0,$.jsx)(Hf,{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:ee,className:`w-full space-y-2`,children:[ie&&(0,$.jsxs)(Gn,{type:`button`,variant:`outline`,className:`w-full`,onClick:()=>void W(),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)(_s,{id:`openchamber-ui-password`,ref:M,type:`password`,autoComplete:`current-password`,placeholder:t(`sessionAuth.password.placeholder`),value:c,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)(Gn,{type:`submit`,size:`icon`,disabled:!c||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`})})]}),re?(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)(os,{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)(Gn,{type:`button`,variant:`ghost`,size:`sm`,className:`text-muted-foreground hover:text-foreground`,onClick:()=>void ne(),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)(os,{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)(bf,{}),(0,$.jsx)(`p`,{className:`mt-1 text-center typography-micro text-muted-foreground`,children:t(`sessionAuth.locked.hostSwitcherHint`)})]})]})}):(0,$.jsx)($.Fragment,{children:e})},Kf=e=>!!e&&typeof e==`object`&&!Array.isArray(e),qf=e=>typeof e==`string`&&e.trim()?e.trim():null,Jf=e=>{if(!Kf(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=qf(e.minimumVersion),i=qf(e.targetVersion);if(!r||!i||typeof e.canInstall!=`boolean`)throw Error(`Could not check OpenCode compatibility`);return{state:t,version:qf(e.version),installation:n,minimumVersion:r,targetVersion:i,canInstall:e.canInstall,guidance:qf(e.guidance)}},Yf=async()=>{let e=await f(`/api/opencode/compatibility`,{signal:AbortSignal.timeout(2e4)});if(!e.ok)throw Error(`Could not check OpenCode compatibility`);return Jf(await e.json())},Xf=async()=>{let e=await f(`/api/opencode/install-required`,{method:`POST`}),t=await e.json().catch(()=>null),n=Kf(t)?t:null,r=qf(n?.error);if(!e.ok||n?.success!==!0||n?.upgraded!==!0)throw Error(r||`OpenCode installation failed`);let i=qf(n.version);if(!i)throw Error(r||`OpenCode installation did not report a verified version`);return{version:i}},Zf=(e,t)=>e instanceof Error&&e.message.trim()?e.message.trim():t,Qf=({children:e})=>{let{t}=Vn(),[n,r]=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 Yf();if(!e||t!==p.current)return;r(n),n.state!==`incompatible`&&u(null)}catch{}finally{e&&t===p.current&&o(!0)}};t();let n=i(()=>{e&&(r(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=q(async e=>{if(s)return;let n=++p.current;c(e),u(null);try{if(e===`install`){let e=await Xf();if(n!==p.current)return;if(!e.version)throw Error(t(`opencodeUpgrade.screen.failedGeneric`));window.location.reload();return}let i=await Yf();if(n!==p.current)return;if(i.state===`incompatible`){r(i);return}if(i.state!==`compatible`)throw Error(t(`opencodeUpgrade.screen.failedGeneric`));window.location.reload()}catch(e){if(n!==p.current)return;u(Zf(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)(Ls,{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)(Gn,{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)(Gn,{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)(bf,{})})]})})},$f=e=>{let t=(0,Q.c)(14),{children:n}=e,r=G(ep),i=G(tp),a=G(np),o=G(rp),s=G(ip),{deviceType:c,hasTouchInput:l}=bc(),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=typeof document<`u`&&vn(),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 ep(e){return e.fontSize}function tp(e){return e.codeFontSize}function np(e){return e.applyTypography}function rp(e){return e.padding}function ip(e){return e.applyPadding}var ap=e(et(),1),op=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}`},sp=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=op(e.colors.surface.muted),r=op(e.colors.surface.subtle),i=op(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=le()?gn:_n;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()}},cp=`openchamber:close-embedded-session-chat`,lp=`openchamber:embedded-visibility`,up=`openchamber:embedded-visibility-request`,dp=e=>new URLSearchParams(e).get(`ocPanel`)===`session-chat`,fp=(e,t,n)=>JSON.stringify({sessionID:e,directory:t||``,readOnly:n===!0}),pp=(e,t,n,r)=>{if(typeof window>`u`)return``;let i=new URL(window.location.pathname,window.location.origin);return i.searchParams.set(`ocPanel`,`session-chat`),i.searchParams.set(`surface`,`desktop`),i.searchParams.set(`sessionId`,e),n?i.searchParams.set(`readOnly`,`1`):i.searchParams.delete(`readOnly`),t&&t.trim().length>0?i.searchParams.set(`directory`,t):i.searchParams.delete(`directory`),i.searchParams.set(`themeMode`,r.mode),i.searchParams.set(`lightThemeId`,r.lightThemeId),i.searchParams.set(`darkThemeId`,r.darkThemeId),i.searchParams.set(`themeVariant`,r.currentTheme.metadata.variant===`dark`?`dark`:`light`),i.searchParams.set(`currentTheme`,JSON.stringify(r.currentTheme)),i.hash=``,i.toString()},mp=(e,t,n,r,i,a)=>{let o=fp(n,r,i),s=e.get(t);if(s?.signature===o)return s.src;let c=pp(n,r,i,a);return e.set(t,{signature:o,src:c}),c},hp=null,gp=()=>{if(hp!==null)return hp;if(typeof window>`u`)return hp=!1,!1;try{return hp=new URLSearchParams(window.location.search).get(`ocPanel`)===`session-chat`,hp}catch{return hp=!1,!1}},_p=()=>{if(!gp())return null;try{let e=new URLSearchParams(window.location.search).get(`sessionId`);return e&&e.trim().length>0?e.trim():null}catch{return null}},vp=()=>gp()?new URLSearchParams(window.location.search):null,yp=()=>typeof window>`u`||window.matchMedia(`(prefers-color-scheme: dark)`).matches,bp=()=>{let e=vp()?.get(`themeVariant`);return e===`dark`||e===`light`?e===`dark`:yp()},xp=(e,t)=>t.reduce((e,t)=>e&&typeof e==`object`?e[t]:void 0,e),Sp=e=>typeof e==`string`&&e.trim().length>0,Cp=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(!Sp(xp(e,t)))return!1;let t=xp(e,[`metadata`,`variant`]);return t===`light`||t===`dark`},wp=e=>Cp(e.currentTheme)?e.currentTheme:null,Tp=e=>wp(e)?.metadata.variant??null,Ep=Dc,Dp=Sc,Op=()=>{let e=vp()?.get(`currentTheme`);if(!e)return null;try{let t=JSON.parse(e);return Cp(t)?t:null}catch{return null}},kp=e=>kc(e===`dark`),Ap=typeof window<`u`?Z.useLayoutEffect:Z.useEffect,jp=()=>{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`)}},Mp=e=>{let t=Ep,n=Dp,r=`system`;if(typeof window<`u`){let e=vp(),i=e?.get(`themeMode`),a=e?.get(`lightThemeId`),o=e?.get(`darkThemeId`),s=oe(`themeMode`),c=oe(`lightThemeId`),l=oe(`darkThemeId`),u=oe(`useSystemTheme`),d=oe(`selectedThemeId`),f=oe(`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=Cc(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=Cc(e);r&&(r.metadata.variant===`light`?t=r.metadata.id:n=r.metadata.id)}return{themeMode:r,lightThemeId:t,darkThemeId:n}};function Np({children:e,defaultThemeId:t}){let n=(0,Z.useMemo)(()=>new sp,[]),[r,a]=(0,Z.useState)(()=>Mp(t)),[o,s]=(0,Z.useState)(!1),[c,u]=(0,Z.useState)(()=>bp()),[d,p]=(0,Z.useState)([]),[m]=(0,Z.useState)(()=>Op()),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(()=>typeof window>`u`||!le()?null:window.__OPENCHAMBER_VSCODE_THEME__||null),x=(0,Z.useMemo)(()=>le(),[]),S=(0,Z.useMemo)(()=>re(),[]),C=(0,Z.useMemo)(()=>xe(),[]),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),d.forEach(n),Tc.forEach(n),e},[d,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)??kp(t)},[T,E]),O=(0,Z.useMemo)(()=>x&&y?y:r.themeMode===`light`?D(r.lightThemeId,`light`):r.themeMode===`dark`||c?D(r.darkThemeId,`dark`):D(r.lightThemeId,`light`),[D,x,r,c,y]),k=q(async()=>{if(!(typeof window>`u`||x)){v(!0);try{let e=await f(`/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(Cp);p(n)}catch{}finally{v(!1)}}});(0,Z.useEffect)(()=>{k()},[k]),(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 A=q(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)}),j=q(e=>{typeof document>`u`||document.documentElement.classList.toggle(`vscode-runtime`,e)});Ap(()=>{if(typeof window>`u`)return;let e=jp();n.apply(O),j(x),A(O);let t=document.documentElement;return t.classList.remove(`light`,`dark`),t.classList.add(O.metadata.variant),e},[j,n,O,x,A]),(0,Z.useEffect)(()=>{if(r.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)},[r.themeMode,w]),(0,Z.useEffect)(()=>{if(w||typeof window>`u`)return;z(`themeMode`,r.themeMode),z(`lightThemeId`,r.lightThemeId),z(`darkThemeId`,r.darkThemeId),z(`useSystemTheme`,String(r.themeMode===`system`)),z(`selectedThemeId`,O.metadata.id),z(`selectedThemeVariant`,O.metadata.variant===`light`?`light`:`dark`);let e=D(r.lightThemeId,`light`),t=D(r.darkThemeId,`dark`);z(`splashBgLight`,e.colors.surface.background),z(`splashFgLight`,e.colors.surface.foreground),z(`splashBgDark`,t.colors.surface.background),z(`splashFgDark`,t.colors.surface.foreground),S&&(localStorage.setItem(`themeMode`,r.themeMode),localStorage.setItem(`useSystemTheme`,String(r.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))},[r,O,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=oe(`themeMode`),n=t===`light`||t===`dark`||t===`system`?t:e.themeMode,r=oe(`lightThemeId`),i=typeof r==`string`&&r.trim().length>0?r.trim():e.lightThemeId,a=oe(`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 M=q(e=>{let t=e.themeMode,n=e.lightThemeId,r=e.darkThemeId,i=Tp(e),o=wp(e);if(t!==`light`&&t!==`dark`&&t!==`system`||typeof n!=`string`||typeof r!=`string`)return;let s=n.trim(),c=r.trim();!s||!c||(jp(),(0,ap.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=M,()=>{e.__openchamberApplyThemeSync===M&&delete e.__openchamberApplyThemeSync}},[M]),(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||M(t.payload)};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[M]),(0,Z.useEffect)(()=>{if(w||!o)return;let e=D(r.lightThemeId,`light`),t=D(r.darkThemeId,`dark`);_e({themeId:O.metadata.id,themeVariant:O.metadata.variant===`light`?`light`:`dark`,useSystemTheme:r.themeMode===`system`,lightThemeId:r.lightThemeId,darkThemeId:r.darkThemeId,splashBgLight:e.colors.surface.background,splashFgLight:e.colors.surface.foreground,splashBgDark:t.colors.surface.background,splashFgDark:t.colors.surface.foreground})},[O.metadata.id,O.metadata.variant,D,r.themeMode,r.lightThemeId,r.darkThemeId,w,o]),(0,Z.useEffect)(()=>{w||!C||(async()=>{await zn(r.themeMode,O.metadata.variant)})()},[O.metadata.variant,C,r.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 i(e=>{l(e)&&(a(e=>{let t=oe(`themeMode`),n=t===`light`||t===`dark`||t===`system`?t:e.themeMode,r=oe(`lightThemeId`),i=typeof r==`string`&&r.trim().length>0?r.trim():e.lightThemeId,a=oe(`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 N=q(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`})}),P=q(e=>{a(t=>t.themeMode===e?t:{...t,themeMode:e})}),F=q(e=>{if(e){a(e=>e.themeMode===`system`?e:{...e,themeMode:`system`});return}let t=O.metadata.variant===`dark`?`dark`:`light`;a(e=>e.themeMode===t?e:{...e,themeMode:t})}),I=q(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})}),L=q(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})}),R=(0,Z.useMemo)(()=>({currentTheme:O,availableThemes:T,setTheme:N,customThemesLoading:_,reloadCustomThemes:k,isSystemPreference:r.themeMode===`system`,setSystemPreference:F,themeMode:r.themeMode,setThemeMode:P,lightThemeId:r.lightThemeId,darkThemeId:r.darkThemeId,setLightThemePreference:I,setDarkThemePreference:L}),[T,O,_,r.darkThemeId,r.lightThemeId,r.themeMode,k,L,I,F,N,P]);return(0,$.jsx)(vc.Provider,{value:R,children:e})}var Pp=!1,Fp=()=>{if(Pp||typeof window>`u`)return;Pp=!0;let e={showReasoningTraces:G.getState().showReasoningTraces,sessionTitleRefreshEnabled:G.getState().sessionTitleRefreshEnabled,sessionGoalEnabled:G.getState().sessionGoalEnabled,sessionGoalDefaultBudgetEnabled:G.getState().sessionGoalDefaultBudgetEnabled,sessionGoalDefaultBudget:G.getState().sessionGoalDefaultBudget,collapsibleThinkingBlocks:G.getState().collapsibleThinkingBlocks,showDeletionDialog:G.getState().showDeletionDialog,nativeNotificationsEnabled:G.getState().nativeNotificationsEnabled,notificationMode:G.getState().notificationMode,notifyOnSubtasks:G.getState().notifyOnSubtasks,notifyOnCompletion:G.getState().notifyOnCompletion,notifyOnError:G.getState().notifyOnError,notifyOnQuestion:G.getState().notifyOnQuestion,notificationTemplates:G.getState().notificationTemplates,summarizeLastMessage:G.getState().summarizeLastMessage,summaryThreshold:G.getState().summaryThreshold,summaryLength:G.getState().summaryLength,maxLastMessageLength:G.getState().maxLastMessageLength,autoDeleteEnabled:G.getState().autoDeleteEnabled,autoDeleteAfterDays:G.getState().autoDeleteAfterDays,sessionRetentionAction:G.getState().sessionRetentionAction,fontSize:G.getState().fontSize,terminalFontSize:G.getState().terminalFontSize,editorFontSize:G.getState().editorFontSize,uiFont:G.getState().uiFont,monoFont:G.getState().monoFont,padding:G.getState().padding,cornerRadius:G.getState().cornerRadius,inputBarOffset:G.getState().inputBarOffset,mobileKeyboardMode:G.getState().mobileKeyboardMode,diffLayoutPreference:G.getState().diffLayoutPreference,gitChangesViewMode:G.getState().gitChangesViewMode},t=null,n=null,r=()=>{let e=t;t=null,n=null,e&&Object.keys(e).length>0&&_e(e)},i=e=>{t={...t??{},...e},!n&&(n=setTimeout(r,150))};G.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)})},Ip=(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},Lp=(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},Rp=(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},zp=(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])&&Rp(e[n],t[n]))},Bp=()=>{let e=G.getState();return{favoriteModels:e.favoriteModels,hiddenModels:e.hiddenModels,collapsedModelProviders:e.collapsedModelProviders,recentModels:e.recentModels,recentAgents:e.recentAgents,recentEfforts:e.recentEfforts}},Vp=(e,t)=>Ip(e.favoriteModels,t.favoriteModels)&&Lp(e.hiddenModels,t.hiddenModels)&&Rp(e.collapsedModelProviders,t.collapsedModelProviders)&&Ip(e.recentModels,t.recentModels)&&Rp(e.recentAgents,t.recentAgents)&&zp(e.recentEfforts,t.recentEfforts),Hp=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()]))}),Up=()=>{if(typeof window>`u`)return()=>{};let e=null,t=null,n=!1,r=()=>{e=null;let n=Bp();t&&Vp(t,n)||(t=Hp(n),_e(n).catch(()=>{}))},i=()=>{if(!n){n=!0;return}e!==null&&window.clearTimeout(e),e=window.setTimeout(r,1200)},a=G.subscribe((e,t)=>{Vp({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)}},Wp=!1,Gp=`openchamber-typography-base`,Kp=()=>{if(typeof document>`u`)return;let e=`:root {\n${Object.entries(_n).map(([e,t])=>` --text-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}: ${t};`).join(`
4
4
  `)}\n}\n`,t=document.getElementById(Gp);if(t){t.textContent=e;return}let n=document.createElement(`style`);n.id=Gp,n.textContent=e,document.head.appendChild(n)},qp=()=>{Wp||typeof window>`u`||(Wp=!0,Kp())};function Jp(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)(Yp,r);let i;return t[1]===n?i=t[2]:(i=(0,$.jsx)(xn,{client:W,children:n}),t[1]=n,t[2]=i),i}function Yp(){return U(W)}var Xp=15,Zp=2e3,Qp=e=>{let t=Ki(e=>e.isConnected),n=Ki(e=>e.providers.length),r=Ki(e=>e.agents.length),i=Ki(e=>e.activeDirectoryKey),a=Ki(e=>e.refreshMissingCatalogs),o=e.enabled&&t&&(n===0||r===0),s=Z.useRef(0),c=Z.useRef(!1),[l,u]=Z.useState(!1),d=e.source,f=q(async()=>{if(!o||c.current)return;if(s.current>=Xp){u(!0);return}let e=Ki.getState();if(!(e.providers.length>0&&e.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(!1),o&&f()},[o,i]),Mn(f,o&&!l?Zp:null)},$p=40,em=20971520,tm=new Map,nm=0;function rm(e){return e.length*2}function im(e,t){let n=tm.get(e);n!==void 0&&(nm-=n),tm.delete(e),tm.set(e,t),nm+=t}function am(e,t){let n=tm.get(e);(n!==void 0||t!==void 0)&&im(e,t??n??0)}function om(e){let t=tm.get(e);t!==void 0&&(tm.delete(e),nm-=t)}function sm(e,t){let n=e??new Set;for(;tm.size>$p||nm>em;){let e=tm.keys().next().value;if(!e)return;if(n.has(e)){if(am(e),tm.size<=n.size)return;continue}om(e),t(e)}}function cm(e,t){im(e,t)}function lm(e){om(e)}function um(e,t){am(e,t)}function dm(e){let t=new Map,n=e=>{t.delete(e),lm(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,n,r)=>{let i=rm(n.content);return t.set(e,{...n,size:r?.isFile?r.size:void 0,mtimeMs:r?.isFile?r.mtimeMs:void 0}),cm(e,i),sm(new Set,e=>{t.delete(e)}),n},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(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 um(r),{content:s.content,path:s.path}}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 fm(e){let t=(0,Q.c)(8),{apis:n,children:r}=e,i;t[0]===n.files?i=t[1]:(i=dm(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)(jc.Provider,{value:o,children:r}),t[5]=o,t[6]=r,t[7]=s):s=t[7],s}var pm=`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))`,mm=`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))`,hm={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 gm(){let e=(0,Q.c)(2),t=_m,[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 _m(){return typeof document<`u`&&document.documentElement.classList.contains(`dark`)}function vm(e){let t=(0,Q.c)(3),n,r;t[0]===e?(n=t[1],r=t[2]):(n=()=>{if(typeof document>`u`)return;let t=t=>{t.style.setProperty(`box-shadow`,e,`important`),t.style.setProperty(`outline`,`none`,`important`),t.getAttribute(`tabindex`)===`0`&&t.setAttribute(`tabindex`,`-1`)},n=()=>{document.querySelectorAll(`[data-sonner-toast]`).forEach(t)};n();let r=new MutationObserver(e=>{for(let n of e)n.addedNodes.forEach(e=>{e instanceof HTMLElement&&(e.matches?.(`[data-sonner-toast]`)&&t(e),e.querySelectorAll?.(`[data-sonner-toast]`).forEach(t))});n()});return r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`,`tabindex`,`data-expanded`,`data-swiping`]}),()=>r.disconnect()},r=[e],t[0]=e,t[1]=n,t[2]=r),Z.useEffect(n,r)}var ym=e=>{let t=(0,Q.c)(7),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r=gm();vm(r?pm:mm);let i=r?`dark`:`light`,a,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a={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))`}},o={"--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[2]=a,t[3]=o):(a=t[2],o=t[3]);let s;return t[4]!==n||t[5]!==i?(s=(0,$.jsx)(jn,{theme:i,className:`toaster group`,closeButton:!1,icons:hm,toastOptions:a,style:o,...n}),t[4]=n,t[5]=i,t[6]=s):s=t[6],s},bm=new Map,xm=(e,t,n)=>`${+!!t}:${n}:${e.map(e=>`${e.id}\0${e.title}\0${e.subtitle??``}\0${e.badge??``}\0${e.iconName}`).join(`|`)}`,Sm=async e=>{let t=Hl(`--surface-foreground`);return Promise.all(e.slice(0,40).map(async e=>{let n=`${e.iconName}:${t}`,r=bm.get(n);return r===void 0&&(r=await Il(e.iconName,t)??``,bm.set(n,r)),{id:e.id,title:e.title,subtitle:e.subtitle??``,badge:e.badge??``,iconBase64:r}}))},Cm=[],wm=e=>void 0,Tm=()=>void 0;function Em(e){let t=Wl()&&e.enabled&&iu(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=(0,Z.useRef)(eu()),u=q(e.onText),d=q(e.onSend),f=q(e.onAbort),p=q(e.onAttach),m=q(e.onFiles),h=q(e.onRemoveAttachment),g=q(e.onOpenModel),_=q(e.onCycleAgent),v=q(e.onOpenAgent),y=q(e.onScrollToBottom),b=q(e.onAutocompleteAccept??wm),x=q(e.onAutocompleteDismiss??Tm),S=q(e=>{typeof document>`u`||lu(document.documentElement,e)});su.bind({onText:(e,t,n)=>{Bl({incoming:e,replacedText:o.current})||(o.current=null,r.current=e,i.current=!0,u(e,t,n))},onSend:e=>{r.current=e,d(e)},onAbort:f,onAttach:p,onFiles:m,onRemoveAttachment:h,onOpenModel:g,onCycleAgent:_,onOpenAgent:v,onHeight:S,onScrollToBottom:y,onAutocompleteAccept:e=>{i.current=!1,b(e)},onAutocompleteDismiss:x});let C=()=>({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:c.current,citationRanges:Vt(e.text,e.attachments.map(e=>e.filename)),chipRanges:Ql(pu(e.text,e.chipHighlights),Hl(`--primary`)),appearance:typeof document>`u`?`dark`:Kl(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:fu(e.agentName||void 0),agentIdenticon:Vl(e.agentName||void 0),suppressed:e.suppressed,showScrollToBottom:e.showScrollToBottom,scrollAria:e.scrollAria,autocomplete:l.current});(0,Z.useLayoutEffect)(()=>{if(!t||typeof document>`u`)return;let e=document.documentElement;return nu(e,!0),()=>{nu(e,!1)}},[t]),(0,Z.useEffect)(()=>{if(!t||typeof document>`u`)return;let e=document.documentElement,i=C();n.current=i,r.current=i.text,su.rememberText(i.text),su.retain(e,i);let a=au();return()=>{n.current=null,a(),su.release(e)}},[t]),(0,Z.useEffect)(()=>{if(!t)return;let r=!1,i=Yo(e.modelId,e.providerId),a={modelIcon:``,modelLabel:e.modelLabel,modelVariantLabel:e.modelVariantLabel};if(s.current=``,n.current&&={...n.current,...a},$l().update(a),i)return ql(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},$l().update(a)}),()=>{r=!0}},[t,e.modelId,e.providerId,e.modelLabel,e.modelVariantLabel]);let w=Zl(e.attachments);(0,Z.useEffect)(()=>{if(!t)return;let r=!1,i=e.attachments;if(i.length===0){c.current=[],n.current&&(n.current={...n.current,attachmentPreviews:[]},su.rememberState(n.current)),$l().update({attachmentPreviews:[]});return}return Promise.all(i.map(async t=>{let n=t.mimeType.startsWith(`image/`)&&t.dataUrl?await du(t.dataUrl):``;return{id:t.id,filename:t.filename,mime:t.mimeType,thumbnailBase64:n??``,removeAria:e.removeAttachmentNamedAria(t.filename)}})).then(e=>{r||(c.current=e,n.current&&(n.current={...n.current,attachmentPreviews:e},su.rememberState(n.current)),$l().update({attachmentPreviews:e}))}),()=>{r=!0}},[t,w]);let T=e.autocompleteRows??Cm,E=e.autocompleteOpen===!0,D=e.autocompleteHighlightedIndex??0,O=e.autocompleteQuery??``,k=`${xm(T,E,D)}\0${O}`;(0,Z.useEffect)(()=>{if(!t)return;let e=!1;if(!(E&&T.length>0)){let e=eu();uu(l.current,e)||(l.current=e,n.current&&(n.current={...n.current,autocomplete:e},su.rememberState(n.current)),$l().update({autocomplete:e}));return}return Sm(T).then(t=>{if(e)return;let r={open:t.length>0,highlightedIndex:Math.max(0,Math.min(D,Math.max(t.length-1,0))),query:O,highlightColor:Hl(`--primary-base`)||Hl(`--primary`),rows:t};uu(l.current,r)||(l.current=r,n.current&&(n.current={...n.current,autocomplete:r},su.rememberState(n.current)),$l().update({autocomplete:r}))}),()=>{e=!0}},[t,k]);let A=t?pu(e.text,e.chipHighlights).map(e=>`${e.start}:${e.end}:${e.triggerLength}`).join(`|`):``;return(0,Z.useEffect)(()=>{if(!t)return;let s=C(),c=n.current;if(c&&Yl(c,s)){i.current=!1,a.current=e.textPresetEpoch;return}n.current=s,su.rememberState(s);let l=e.textPresetEpoch!==a.current;a.current=e.textPresetEpoch;let u=Gl({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=ou(c,s,u,{caret:e.caret});d&&$l().update(d)},[t,e.text,e.textPresetEpoch,e.placeholder,e.modelLabel,e.modelVariantLabel,e.modelId,e.providerId,e.canSend,e.canAbort,e.attachmentCount,w,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,A]),t}var Dm=(e,t,n)=>{let r=Error(e);return r.name=`DictationStreamError`,r.retryable=t,n&&(r.reasonCode=n),r},Om=1e4,km=15e3,Am=3e4,jm=3e4,Mm=new class{socket=null;connectPromise=null;idleCloseTimer=null;pendingStarts=new Map;pendingFinishes=new Map;connectionListeners=new Set;partialListeners=new Set;activeDictations=0;get isConnected(){return this.socket?.readyState===WebSocket.OPEN}subscribeConnectionStatus(e){return this.connectionListeners.add(e),()=>{this.connectionListeners.delete(e)}}onPartial(e){return this.partialListeners.add(e),()=>{this.partialListeners.delete(e)}}async ensureConnected(){if(!this.isConnected){if(this.connectPromise){await this.connectPromise;return}try{await r()}catch{}this.connectPromise=new Promise((e,t)=>{let n=!1,r;try{let e=a().websocket(`/api/dictation/ws`);r=Ct(e)}catch(e){this.connectPromise=null,t(e instanceof Error?e:Error(String(e)));return}let i=setTimeout(()=>{if(!n){n=!0,this.connectPromise=null;try{r.close()}catch{}t(Error(`Dictation connection timed out`))}},Om);r.onopen=()=>{},r.onmessage=t=>{let a;try{a=JSON.parse(String(t.data))}catch{return}if(!n&&a.type===`ready`){n=!0,clearTimeout(i),this.socket=r,this.connectPromise=null,this.notifyConnection(!0),e();return}this.handleMessage(a)},r.onerror=()=>{window.setTimeout(()=>{n||(n=!0,clearTimeout(i),this.connectPromise=null,t(Error(`Dictation connection failed`)))},250)},r.onclose=e=>{if(!n){n=!0,clearTimeout(i),this.connectPromise=null;let r=e?.reason?`: ${e.reason}`:``;t(Error(`Dictation connection failed${r}`));return}this.socket===r&&(this.socket=null,this.rejectAllPending(Error(`Dictation connection lost`)),this.notifyConnection(!1))}}),await this.connectPromise}}async startDictationStream(e,t,n){return await this.ensureConnected(),this.activeDictations+=1,this.clearIdleCloseTimer(),new Promise((r,i)=>{let a=setTimeout(()=>{this.pendingStarts.delete(e),this.releaseDictation(),i(Error(`Dictation start timed out`))},km);this.pendingStarts.set(e,{resolve:()=>{clearTimeout(a),r()},reject:e=>{clearTimeout(a),this.releaseDictation(),i(e)},timeout:a}),this.send({type:`start`,dictationId:e,format:t,options:n})||(clearTimeout(a),this.pendingStarts.delete(e),this.releaseDictation(),i(Error(`Dictation connection lost`)))})}sendDictationStreamChunk(e,t,n){return this.send({type:`chunk`,dictationId:e,seq:t,audio:n})}finishDictationStream(e,t){return new Promise((n,r)=>{let i={resolve:e=>{i.timeout&&clearTimeout(i.timeout),this.releaseDictation(),n(e)},reject:e=>{i.timeout&&clearTimeout(i.timeout),this.releaseDictation(),r(e)},timeout:null};i.timeout=setTimeout(()=>{this.pendingFinishes.delete(e),this.releaseDictation(),r(Error(`Timed out waiting for transcription`))},jm),this.pendingFinishes.set(e,i),this.send({type:`finish`,dictationId:e,finalSeq:t})||(this.pendingFinishes.delete(e),i.reject(Error(`Dictation connection lost`)))})}cancelDictationStream(e){this.send({type:`cancel`,dictationId:e});let t=this.pendingStarts.get(e);t&&(this.pendingStarts.delete(e),t.reject(Error(`Dictation cancelled`)));let n=this.pendingFinishes.get(e);n&&(this.pendingFinishes.delete(e),n.reject(Error(`Dictation cancelled`))),this.releaseDictation(),this.scheduleIdleCloseIfReady()}handleMessage(e){let t=e.dictationId;if(t)switch(e.type){case`ack`:{let e=this.pendingStarts.get(t);e&&(this.pendingStarts.delete(t),e.resolve());return}case`partial`:for(let n of this.partialListeners)n(t,e.text??``);return;case`finish_accepted`:{let n=this.pendingFinishes.get(t);n&&typeof e.timeoutMs==`number`&&(n.timeout&&clearTimeout(n.timeout),n.timeout=setTimeout(()=>{this.pendingFinishes.delete(t),n.reject(Error(`Timed out waiting for transcription`))},e.timeoutMs+5e3));return}case`final`:{let n=this.pendingFinishes.get(t);n&&(this.pendingFinishes.delete(t),n.resolve({text:e.text??``})),this.scheduleIdleCloseIfReady();return}case`error`:{let n=Dm(e.error||`Dictation failed`,e.retryable!==!1,e.reasonCode),r=this.pendingStarts.get(t);r&&(this.pendingStarts.delete(t),r.reject(n));let i=this.pendingFinishes.get(t);i&&(this.pendingFinishes.delete(t),i.reject(n)),this.scheduleIdleCloseIfReady();return}}}send(e){if(!this.isConnected||!this.socket)return!1;try{return this.socket.send(JSON.stringify(e)),!0}catch{return!1}}notifyConnection(e){for(let t of this.connectionListeners)t(e)}rejectAllPending(e){for(let[t,n]of this.pendingStarts)this.pendingStarts.delete(t),n.reject(e);for(let[t,n]of this.pendingFinishes)this.pendingFinishes.delete(t),n.reject(e);this.activeDictations=0}releaseDictation(){this.activeDictations=Math.max(0,this.activeDictations-1),this.scheduleIdleCloseIfReady()}scheduleIdleCloseIfReady(){this.activeDictations>0||this.pendingFinishes.size>0||this.pendingStarts.size>0||(this.clearIdleCloseTimer(),this.idleCloseTimer=setTimeout(()=>{if(this.activeDictations===0&&this.pendingFinishes.size===0&&this.pendingStarts.size===0){let e=this.socket;if(this.socket=null,e){try{e.close(1e3,`idle`)}catch{}this.notifyConnection(!1)}}},Am))}cancelAllForRuntimeSwitch(){this.clearIdleCloseTimer();let e=this.socket;if(this.socket=null,this.connectPromise=null,this.rejectAllPending(Error(`Runtime changed`)),e){try{e.close(1e3,`runtime switch`)}catch{}this.notifyConnection(!1)}}clearIdleCloseTimer(){this.idleCloseTimer&&=(clearTimeout(this.idleCloseTimer),null)}};typeof window<`u`&&window.addEventListener(`openchamber:runtime-endpoint-changed`,()=>{Mm.cancelAllForRuntimeSwitch()});var Nm=128,Pm=`audio/pcm;rate=16000;bits=16`,Fm=()=>new Promise(e=>setTimeout(e,0)),Im=()=>{let e=Math.random().toString(36).slice(2,10);return`dic_${Date.now().toString(16)}${e}`},Lm=class{client;format;createDictationId;getStartOptions;dictationId=null;sendSeq=0;segments=[];streamReady=!1;flushTimer=null;drainWaiters=[];startGeneration=0;startPromise=null;constructor(e){this.client=e.client,this.format=e.format??Pm,this.getStartOptions=e.getStartOptions,this.createDictationId=e.createDictationId??Im}getDictationId(){return this.dictationId}getFinalSeq(){return this.segments.length-1}hasSegments(){return this.segments.length>0}clearAll(){this.clearScheduledFlush(),this.dictationId=null,this.sendSeq=0,this.segments=[],this.streamReady=!1,this.startPromise=null,this.startGeneration+=1}resetStreamForReplay(){this.clearScheduledFlush(),this.dictationId=null,this.sendSeq=0,this.streamReady=!1,this.startPromise=null,this.startGeneration+=1}enqueueSegment(e){if(this.segments.push(e),this.client.isConnected){if(!this.dictationId){this.startPromise||this.restartStream().catch(()=>{});return}this.flush()}}flush(){let e=this.dictationId;if(!this.client.isConnected||!e||!this.streamReady)return 0;let t=0;for(;this.sendSeq<this.segments.length&&t<Nm;){let n=this.sendSeq,r=this.segments[n];if(!this.client.sendDictationStreamChunk(e,n,r))break;this.sendSeq=n+1,t+=1}return this.hasPendingSegments()?this.scheduleFlush():this.resolveDrainWaiters(),t}async restartStream(){this.startGeneration+=1;let e=this.startGeneration,t=this.createDictationId();this.dictationId=t,this.sendSeq=0,this.streamReady=!1;let n=(async()=>{await this.client.startDictationStream(t,this.format,this.getStartOptions()),this.startGeneration===e&&this.dictationId===t&&(this.streamReady=!0,this.flush())})().catch(n=>{throw this.startGeneration===e&&this.dictationId===t&&(this.dictationId=null,this.streamReady=!1),n}).finally(()=>{this.startPromise===n&&(this.startPromise=null)});this.startPromise=n,await n}async finish(e){this.dictationId||await this.restartStream(),this.startPromise&&await this.startPromise;let t=this.dictationId;if(!t||!this.streamReady)throw Error(`Failed to start dictation stream`);return this.flush(),await this.waitForFlushDrain(),{dictationId:t,text:(await this.client.finishDictationStream(t,e)).text}}cancel(){let e=this.dictationId;this.client.isConnected&&e&&this.client.cancelDictationStream(e),this.resetStreamForReplay()}hasPendingSegments(){return this.sendSeq<this.segments.length}scheduleFlush(){this.flushTimer||=setTimeout(()=>{this.flushTimer=null,this.flush()},0)}clearScheduledFlush(){this.flushTimer&&=(clearTimeout(this.flushTimer),null)}async waitForFlushDrain(){for(;this.hasPendingSegments();){if(!this.client.isConnected||!this.dictationId||!this.streamReady)throw Error(`Failed to flush dictation stream`);await new Promise(e=>{this.drainWaiters.push(e)}),await Fm()}}resolveDrainWaiters(){let e=this.drainWaiters;this.drainWaiters=[];for(let t of e)t()}},Rm=16e3,zm=Rm,Bm=()=>{if(typeof window>`u`)return null;let e=window;return e.AudioContext||e.webkitAudioContext||null},Vm=e=>{let t=Math.max(-1,Math.min(1,e));return Math.round(t<0?t*32768:t*32767)},Hm=(e,t,n)=>{if(e.length===0)return new Int16Array;if(t===n){let t=new Int16Array(e.length);for(let n=0;n<e.length;n++)t[n]=Vm(e[n]);return t}let r=t/n,i=Math.max(1,Math.round(e.length/r)),a=new Int16Array(i);for(let t=0;t<i;t++){let n=t*r,i=Math.floor(n),o=Math.min(e.length-1,i+1),s=n-i;a[t]=Vm(e[i]*(1-s)+e[o]*s)}return a},Um=(e,t)=>{if(e.length===0)return t;if(t.length===0)return e;let n=new Int16Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n},Wm=e=>{let t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=``;for(let e=0;e<t.length;e++)n+=String.fromCharCode(t[e]);return btoa(n)},Gm=()=>({stream:null,context:null,source:null,processor:null,gain:null,pending:new Int16Array,started:!1}),Km=e=>{if(e)try{e.disconnect()}catch{}},qm=()=>typeof navigator>`u`||typeof window>`u`||!navigator.mediaDevices||typeof navigator.mediaDevices.getUserMedia!=`function`?!1:Bm()!==null;function Jm(e){let t=(0,Q.c)(12),[n,r]=(0,Z.useState)(0),i=(0,Z.useRef)(e.onPcmSegment),a=(0,Z.useRef)(e.onError),o,s;t[0]!==e.onError||t[1]!==e.onPcmSegment?(o=()=>{i.current=e.onPcmSegment,a.current=e.onError},s=[e.onPcmSegment,e.onError],t[0]=e.onError,t[1]=e.onPcmSegment,t[2]=o,t[3]=s):(o=t[2],s=t[3]),(0,Z.useEffect)(o,s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=Gm(),t[4]=c):c=t[4];let l=(0,Z.useRef)(c),u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=async()=>{if(l.current.started)return;if(typeof navigator>`u`||!navigator.mediaDevices||typeof navigator.mediaDevices.getUserMedia!=`function`)throw Error(`Microphone capture is not supported in this environment`);let e=Bm();if(!e)throw Error(`AudioContext unavailable`);let t=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,noiseSuppression:!0,echoCancellation:!0,autoGainControl:!0}}),n=new e;try{n.state===`suspended`&&await n.resume().catch(Zm);let e=n.createMediaStreamSource(t),a=n.createScriptProcessor(4096,1,1),o=n.createGain();o.gain.value=0,l.current={stream:t,context:n,source:e,processor:a,gain:o,pending:new Int16Array,started:!0},a.onaudioprocess=e=>{let t=l.current;if(!t.started)return;let a=e.inputBuffer.getChannelData(0),o=0;for(let e=0;e<a.length;e++)o+=a[e]*a[e];let s=Math.sqrt(o/Math.max(1,a.length));r(Math.min(1,Math.max(0,s*2)));let c=Hm(a,n.sampleRate,Rm);for(t.pending=Um(t.pending,c);t.pending.length>=zm;){let e=t.pending.slice(0,zm);t.pending=t.pending.slice(zm),i.current(Wm(e))}},e.connect(a),a.connect(o),o.connect(n.destination)}catch(e){let r=e;t.getTracks().forEach(Xm);try{await n.close()}catch{}throw l.current=Gm(),r instanceof Error?r:Error(String(r))}},t[5]=u):u=t[5];let d=u,f;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(f=async()=>{let e=l.current;if(e.started=!1,r(0),e.processor)try{e.processor.onaudioprocess=null}catch{}Km(e.processor),Km(e.source),Km(e.gain),e.stream&&e.stream.getTracks().forEach(Ym);let t=e.pending;if(e.pending=new Int16Array,t.length>0&&i.current(Wm(t)),e.context)try{await e.context.close()}catch{}l.current===e&&(l.current=Gm())},t[6]=f):f=t[6];let p=f,m,h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>()=>{p().catch(e=>{a.current?.(e instanceof Error?e:Error(String(e)))})},h=[p],t[7]=m,t[8]=h):(m=t[7],h=t[8]),(0,Z.useEffect)(m,h);let g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=async()=>{try{await d()}catch(e){let t=e,n=t instanceof Error?t:Error(String(t));throw a.current?.(n),n}},t[9]=g):g=t[9];let _;return t[10]===n?_=t[11]:(_={start:g,stop:p,volume:n},t[10]=n,t[11]=_),_}function Ym(e){try{e.stop()}catch{}}function Xm(e){try{e.stop()}catch{}}function Zm(){}var Qm=1e3,$m=e=>e instanceof Error?e:Error(String(e)),eh=()=>{let e=Ki.getState(),t=e.sttLanguage?.trim();return e.sttProvider===`openai-compatible`?{provider:`openai-compatible`,...t?{language:t}:{},openaiCompatible:{baseUrl:e.sttServerUrl,model:e.sttModel,...e.sttApiKey?{apiKey:e.sttApiKey}:{}}}:{provider:`local`,...t?{language:t}:{},localModel:e.sttLocalModel}};function th(e={}){let{onTranscript:t,onError:n,canStart:r}=e,[i,a]=(0,Z.useState)(`idle`),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(0),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(null),m=(0,Z.useRef)(i);(0,Z.useEffect)(()=>{m.current=i},[i]);let h=(0,Z.useRef)(``),g=(0,Z.useRef)(null),_=(0,Z.useRef)({starting:!1,confirming:!1,cancelling:!1}),v=(0,Z.useRef)(t),y=(0,Z.useRef)(n);(0,Z.useEffect)(()=>{v.current=t,y.current=n},[t,n]);let b=(0,Z.useRef)(null);b.current||=new Lm({client:Mm,getStartOptions:eh});let x=(0,Z.useCallback)(()=>{g.current&&=(clearInterval(g.current),null)},[]),S=(0,Z.useCallback)(()=>{g.current||=setInterval(()=>{l(e=>e+1)},Qm)},[]),C=(0,Z.useCallback)(e=>{let t=$m(e);d(t.message);let n=t.reasonCode;p(typeof n==`string`?n:null),y.current?.(t)},[]),w=(0,Z.useCallback)(()=>{d(null),p(null)},[]),T=(0,Z.useCallback)(()=>{b.current?.clearAll(),h.current=``,s(``)},[]);(0,Z.useEffect)(()=>Mm.onPartial((e,t)=>{let n=b.current?.getDictationId();!n||e!==n||(h.current=t,s(t))}),[]),(0,Z.useEffect)(()=>Mm.subscribeConnectionStatus(e=>{e&&m.current===`recording`&&b.current?.restartStream().catch(e=>{C(e)})}),[C]);let E=Jm({onPcmSegment:e=>{b.current?.enqueueSegment(e)},onError:e=>{y.current?.(e)}}),D=(0,Z.useRef)(E.stop);(0,Z.useEffect)(()=>{D.current=E.stop},[E.stop]);let O=(0,Z.useCallback)(e=>{l(0),a(`idle`);let t=e.trim().length>0?e.trim():h.current.trim();return T(),t?(v.current?.(t),t):null},[T]),k=(0,Z.useCallback)(e=>{b.current?.hasSegments()?a(`failed`):a(`idle`),C(e)},[C]),A=(0,Z.useCallback)(async()=>{let e=_.current;if(!(e.starting||e.confirming||e.cancelling)&&m.current===`idle`&&!(r&&!r())){e.starting=!0,w(),s(``),l(0),a(`recording`),m.current=`recording`,T();try{await E.start(),S(),await b.current?.restartStream().catch(e=>{C(e)})}catch(e){await E.stop().catch(()=>void 0),x(),a(`idle`),m.current=`idle`,C(e)}finally{e.starting=!1}}},[E,r,w,T,C,S,x]),j=(0,Z.useCallback)(async()=>{let e=_.current;if(!e.cancelling&&(m.current===`recording`||m.current===`uploading`)){e.cancelling=!0,x(),l(0),w(),a(`idle`),m.current=`idle`;try{b.current?.cancel()}catch{}T();try{await E.stop()}catch{}finally{e.cancelling=!1}}},[E,w,T,x]),M=(0,Z.useCallback)(async()=>{let e=_.current;if(e.confirming||m.current!==`recording`)return null;e.confirming=!0,w(),x();try{await E.stop(),a(`uploading`),m.current=`uploading`;let e=b.current?.getFinalSeq()??-1;if(e<0)return O(``);let t=await b.current.finish(e);return O(t.text)}catch(e){return k(e),null}finally{e.confirming=!1}},[E,w,k,O,x]),N=(0,Z.useCallback)(async()=>{if(m.current!==`failed`||!b.current?.hasSegments())return null;w(),a(`uploading`),m.current=`uploading`;try{b.current.resetStreamForReplay();let e=b.current.getFinalSeq(),t=await b.current.finish(e);return O(t.text)}catch(e){return k(e),null}},[w,k,O]),P=(0,Z.useCallback)(()=>{if(m.current!==`failed`)return null;let e=h.current.trim();l(0),a(`idle`),m.current=`idle`,w();try{b.current?.cancel()}catch{}return T(),e?(v.current?.(e),e):null},[w,T]),F=(0,Z.useCallback)(()=>{l(0),a(`idle`),m.current=`idle`,w(),T()},[w,T]);return(0,Z.useEffect)(()=>{if(i!==`recording`||f!==`model_download_in_progress`)return;let e=setInterval(()=>{m.current!==`recording`||b.current?.getDictationId()||b.current?.restartStream().then(()=>{w()}).catch(e=>{C(e)})},3e3);return()=>clearInterval(e)},[i,f,w,C]),(0,Z.useEffect)(()=>()=>{x(),D.current().catch(()=>void 0),b.current?.cancel()},[x]),{status:i,isRecording:i===`recording`,isProcessing:i===`uploading`,partialTranscript:o,volume:E.volume,duration:c,error:u,errorReason:f,startDictation:A,confirmDictation:M,cancelDictation:j,retryFailedDictation:N,acceptPartialTranscript:P,discardFailedDictation:F}}var nh=e=>{let t=Math.floor(e/60),n=e%60;return`${t}:${String(n).padStart(2,`0`)}`},rh=e=>{let t=(0,Q.c)(4),{volume:n}=e,{currentTheme:r}=_c(),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},ih=e=>{let t=Ki(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 f(`/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},ah=e=>{let t=(0,Q.c)(86),{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}=Vn(),{currentTheme:_}=_c(),v=Ki(oh),y=G(sh),b;t[0]===y?b=t[1]:(b=rc(Xs(`toggle_dictation`,y)),t[0]=y,t[1]=b);let x=b,[S]=Z.useState(ch),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}=th(O),V=k===`recording`&&P===`model_download_in_progress`,ee=ih(V),H=Z.useRef(k),U,te;t[7]===k?(U=t[8],te=t[9]):(U=()=>{H.current=k},te=[k],t[7]=k,t[8]=U,t[9]=te),Z.useEffect(U,te);let W,ne;t[10]!==d||t[11]!==k?(W=()=>{d?.(k!==`idle`)},ne=[k,d],t[10]=d,t[11]=k,t[12]=W,t[13]=ne):(W=t[12],ne=t[13]),Z.useLayoutEffect(W,ne);let re,ie;t[14]!==I||t[15]!==F?(re=()=>{let e=()=>{H.current===`idle`?F():H.current===`recording`&&(C.current=`insert`,I())};return window.addEventListener(`openchamber:dictation-toggle`,e),()=>window.removeEventListener(`openchamber:dictation-toggle`,e)},ie=[F,I],t[14]=I,t[15]=F,t[16]=re,t[17]=ie):(re=t[16],ie=t[17]),Z.useEffect(re,ie);let ae,oe;t[18]!==L||t[19]!==I||t[20]!==k?(ae=()=>{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})},oe=[k,I,L],t[18]=L,t[19]=I,t[20]=k,t[21]=ae,t[22]=oe):(ae=t[21],oe=t[22]),Z.useEffect(ae,oe);let se=Z.useRef(null),ce=Z.useRef(null),le=Z.useRef(null),[ue,de]=Z.useState(null),fe=k!==`idle`,pe=Z.useRef(f),me,he;t[23]===f?(me=t[24],he=t[25]):(me=()=>{pe.current=f},he=[f],t[23]=f,t[24]=me,t[25]=he),Z.useEffect(me,he);let ge=Z.useRef(!1),_e;t[26]===fe?_e=t[27]:(_e=()=>{if(!fe){ge.current&&(ge.current=!1,pe.current?.(null));return}let e=ce.current,t=le.current;if(!e||!t)return;let n=window.getComputedStyle(e),r=(parseFloat(n.paddingTop)||0)+(parseFloat(n.paddingBottom)||0);ge.current=!0,pe.current?.(t.offsetHeight+r),e.scrollTop=e.scrollHeight},t[26]=fe,t[27]=_e);let ve;t[28]!==N||t[29]!==fe||t[30]!==A||t[31]!==k?(ve=[fe,A,k,N],t[28]=N,t[29]=fe,t[30]=A,t[31]=k,t[32]=ve):ve=t[32],Z.useLayoutEffect(_e,ve);let ye,be;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ye=()=>()=>{ge.current&&(ge.current=!1,pe.current?.(null))},be=[],t[33]=ye,t[34]=be):(ye=t[33],be=t[34]),Z.useEffect(ye,be);let xe,Se;if(t[35]===fe?(xe=t[36],Se=t[37]):(xe=()=>{if(!fe)return;let e=se.current?.closest(`[data-chat-input-footer="true"]`);e&&e.offsetHeight>0&&de(e.offsetHeight)},Se=[fe],t[35]=fe,t[36]=xe,t[37]=Se),Z.useLayoutEffect(xe,Se),!S||!v)return null;let Ce=k!==`idle`,we;t[38]===I?we=t[39]:(we=e=>{C.current=e,I()},t[38]=I,t[39]=we);let Te=we,Ee;t[40]===R?Ee=t[41]:(Ee=()=>{C.current=`insert`,R()},t[40]=R,t[41]=Ee);let De=Ee,Oe;bb0:{if(k===`failed`){Oe=``;break bb0}if(k===`uploading`){let e;t[42]===g?e=t[43]:(e=g(`chat.dictation.processing`),t[42]=g,t[43]=e),Oe=e;break bb0}if(V){let e;t[44]!==ee||t[45]!==g?(e=ee===null?g(`chat.dictation.downloadingModel`):g(`chat.dictation.downloadingModelProgress`,{percent:String(ee)}),t[44]=ee,t[45]=g,t[46]=e):e=t[46],Oe=e;break bb0}let e;t[47]===g?e=t[48]:(e=g(`chat.dictation.listening`),t[47]=g,t[48]=e),Oe=e}let ke=Oe,Ae;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ae={onMouseDown:lh,onPointerDownCapture:uh},t[49]=Ae):Ae=t[49];let je=Ae,Me;t[50]!==x||t[51]!==c||t[52]!==i||t[53]!==o||t[54]!==Ce||t[55]!==h||t[56]!==F||t[57]!==g?(Me=h?(0,$.jsx)(`button`,{type:`button`,...je,className:i,onClick:()=>{F()},disabled:c||Ce,title:x?`${g(`chat.dictation.start`)} (${x})`:g(`chat.dictation.start`),"aria-label":g(`chat.dictation.start`),children:(0,$.jsx)(X,{name:`mic`,className:J(o,`text-current`)})}):null,t[50]=x,t[51]=c,t[52]=i,t[53]=o,t[54]=Ce,t[55]=h,t[56]=F,t[57]=g,t[58]=Me):Me=t[58];let Ne;t[59]!==z||t[60]!==L||t[61]!==Te||t[62]!==_||t[63]!==B||t[64]!==M||t[65]!==N||t[66]!==ue||t[67]!==i||t[68]!==a||t[69]!==o||t[70]!==Ce||t[71]!==r||t[72]!==V||t[73]!==A||t[74]!==ke||t[75]!==n||t[76]!==De||t[77]!==s||t[78]!==k||t[79]!==g||t[80]!==m||t[81]!==j?(Ne=Ce?(0,$.jsxs)(`div`,{ref:se,className:J(`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:ce,className:J(`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:le,className:J(!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)(rh,{volume:j}),(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,children:ke})]}):(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,style:{color:_.colors.surface.mutedForeground},children:ke}),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:J(`flex flex-shrink-0 items-center gap-x-3`,a),style:ue?{height:ue}: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)(rh,{volume:j}),(0,$.jsx)(`span`,{className:`typography-meta tabular-nums`,style:{color:_.colors.surface.mutedForeground},children:nh(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:J(`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`,...je,className:J(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`,...je,className:i,onClick:()=>Te(`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`,...je,className:J(i,`text-primary hover:text-primary`),onClick:()=>Te(`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`,...je,className:J(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`,...je,className:J(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`,...je,className:i,onClick:De,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`,...je,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[59]=z,t[60]=L,t[61]=Te,t[62]=_,t[63]=B,t[64]=M,t[65]=N,t[66]=ue,t[67]=i,t[68]=a,t[69]=o,t[70]=Ce,t[71]=r,t[72]=V,t[73]=A,t[74]=ke,t[75]=n,t[76]=De,t[77]=s,t[78]=k,t[79]=g,t[80]=m,t[81]=j,t[82]=Ne):Ne=t[82];let Pe;return t[83]!==Me||t[84]!==Ne?(Pe=(0,$.jsxs)($.Fragment,{children:[Me,Ne]}),t[83]=Me,t[84]=Ne,t[85]=Pe):Pe=t[85],Pe};function oh(e){return e.dictationEnabled}function sh(e){return e.shortcutOverrides}function ch(){return!le()&&qm()}function lh(e){return e.preventDefault()}function uh(e){e.pointerType===`touch`&&e.preventDefault()}var dh=2e3,fh=Ue((e,t)=>({pending:!1,expiresAt:null,arm:(t=dh)=>{let n=Date.now()+t;return e({pending:!0,expiresAt:n}),n},clear:()=>{!t().pending&&t().expiresAt===null||e({pending:!1,expiresAt:null})}})),ph=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}},mh=15e3,hh=100,gh=new Map,_h=new Map,vh=e=>`${e.runtimeKey}\n${e.directory}\n${e.sessionID}`,yh=e=>{let t=vh(e),n=e.now??Date.now(),r=_h.get(t);if(r&&n-r.loadedAt<mh)return Promise.resolve(r.sessions);let i=gh.get(t);if(i)return i;let a=e.request().then(e=>{for(_h.delete(t);_h.size>=hh;){let e=_h.keys().next().value;if(typeof e!=`string`)break;_h.delete(e)}return _h.set(t,{loadedAt:Date.now(),sessions:e}),e});return gh.set(t,a),a.then(()=>{gh.get(t)===a&&gh.delete(t)},()=>{gh.get(t)===a&&gh.delete(t)}),a},bh=(e,t)=>e.id<t.id?-1:+(e.id>t.id),xh=(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);return i.length===0?e:[...e,...i].sort(bh)},Sh=30;function Ch(e){return e===`busy`||e===`retry`}var wh=new Map;function Th(e,t=!1){return{limit:e.loadedTurns,cursor:e.kind===`has-more`?e.cursor:void 0,complete:e.kind===`exhausted`,loading:t}}function Eh(e,t){let n=cn();if(!n)return!1;let r=n.getTranscript(Rt(e,t));return r.messageOrder.length!==0&&r.messageOrder.length>dr()}function Dh(e){return!!e.force||!e.hasSession||e.shouldLoadMessages}function Oh(e,t,n){let r=[...e.getState().session],i=xr.search(r,t,e=>e.id);i.found?r[i.index]=n:r.splice(i.index,0,n),e.setState({session:r})}function kh(){let e=yo(),t=Cr(),n=wi(),r=(0,Z.useCallback)((t,n=e)=>`${n}\n${t}`,[e]),i=(0,Z.useCallback)((t,n=e)=>{let r=cn();if(!r||!t)return Th({kind:`unknown`,loadedTurns:0},!1);let i=Rt(n,t),a=r.getPagination(i),o=r.getRequestState?.(i);return Th(a.boundary,o?.status===`loading`)},[e]),a=(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}};Ma(a,t),Ar(r,t),r.setState(a);for(let n of t)Et(e,n)},[n]),o=(0,Z.useCallback)((t=e)=>{let n=wh.get(t);if(n)return wh.delete(t),wh.set(t,n),n;let r=new Set;for(wh.set(t,r);wh.size>Sh;){let e=wh.keys().next().value;if(!e)break;let t=[...wh.get(e)??[]];wh.delete(e),a(e,t)}return r},[e,a]),s=(0,Z.useCallback)((r,i=e)=>{let s=i===e?t:n.ensureChild(i,{bootstrap:!1}),c=o(i),l=er(s.getState()),u=_i(),d=Da({seen:c,keep:r,limit:u,preserve:l});if(a(i,d),hr()){let e=new Set([r,...c,...l]),t=(cn()?.getCacheBudget?.().listCanonical({directory:i})??[]).map(e=>e.scope.sessionID),n=(t.length>0?t:Array.from(c)).filter(t=>t===r||e.has(t)?!1:Eh(i,t));if(n.length>0){for(let e of n)c.delete(e);a(i,n)}}},[n,e,o,a,t]),c=(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 dt(a,r)}catch{return}if(i?.isStale?.())return;let u=cn()?.getTranscript(Rt(a,r));ba({directory:a,sessionID:r,store:o,transcript:u,isStale:i?.isStale}),await hi({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]),l=(0,Z.useCallback)(async(t,i)=>{await Yi();let a=typeof i==`boolean`?i:i?.force,o=typeof i==`object`?i.directory??e:e,l=n.ensureChild(o,{bootstrap:!1}),u=yt.getScopedSdkClient(o);s(t,o);let d=r(t,o);return ph.run({scope:l,key:d,request:async e=>{let n=l.getState(),r=cn(),i=Rt(o,t),s=r?.hasSession?.(i)??(r?.getTranscript(i).messageOrder.length??0)>0,d=r?.getPagination(i)?.boundary??{kind:`unknown`,loadedTurns:0},f=xr.search(n.session,t,e=>e.id).found,p=r?.getRequestState?.(i);if(!a&&s&&d.kind!==`unknown`&&p?.status!==`error`&&f&&ja(o,t)){ba({directory:o,sessionID:t,store:l,isStale:e});return}let m=!!(a||!s||f),h=Dh({hasSession:f,shouldLoadMessages:m,force:!!a});await Promise.all([h?(async()=>{try{let n=await Va(async()=>u.session.get({sessionID:t}));if(n&&!e()){let r=po(xt(n));e()||Oh(l,t,r)}}catch(e){console.error(`[sync] failed to fetch session`,t,e)}})():Promise.resolve(),m?c(t,{isStale:e,directory:o}):Promise.resolve()])}})},[n,r,s,c,e]),d=(0,Z.useCallback)(async(t,r)=>{let i=r||e;if(!t||!i)return;let a=n.ensureChild(i,{bootstrap:!1}),o=yt.getScopedSdkClient(i),s=await yh({runtimeKey:u(),directory:i,sessionID:t,request:async()=>((await o.session.list({directory:i,parentID:t})).data??[]).map(xt)});a.setState(e=>{let n=xh(e.session,s,t);return n===e.session?e:{session:n,limit:Math.max(e.limit,n.length)}})},[n,e]),f=(0,Z.useCallback)((t,n)=>{let r=i(t,n?.directory??e);return!r.complete&&!!r.cursor},[e,i]),p=(0,Z.useCallback)((t,n)=>i(t,n?.directory??e).loading,[e,i]),m=(0,Z.useCallback)((t,n)=>i(t,n?.directory??e).complete,[e,i]),h=(0,Z.useCallback)(t=>{let n=t.directory||e;Ft(Rt(n,t.sessionID),{type:`optimistic-add`,message:t.message,parts:t.parts})},[e]),g=(0,Z.useCallback)(t=>{let n=t.directory||e;Ft(Rt(n,t.sessionID),{type:`optimistic-remove`,messageID:t.messageID})},[e]),_=(0,Z.useCallback)(t=>{let n=t.directory||e;Ft(Rt(n,t.sessionID),{type:`optimistic-confirm`,messageID:t.messageID})},[e]),v=(0,Z.useCallback)(async(t,r)=>{if(!t)return;await Yi();let i=r?.directory??e;if(!i||i===`global`)return;let a=n.ensureChild(i,{bootstrap:!1}),o=a.getState().session_status?.[t]?.type;if(Ch(o))throw Error(`refresh transcript busy`);try{await dt(i,t),ba({directory:i,sessionID:t,store:a})}catch(e){throw e instanceof Error&&e.message===`refresh transcript busy`?e:Error(`refresh transcript failed`)}},[n,e]);return(0,Z.useMemo)(()=>({ensureSessionRenderable:l,syncSession:l,loadChildren:d,hasMore:f,isLoading:p,isComplete:m,refreshSessionTranscript:v,optimistic:{add:h,remove:g,confirm:_}}),[l,d,f,p,m,v,h,g,_])}var Ah=e=>e===`diff`||e===`file`||e===`preview-console`||e===`preview-annotation`,jh=e=>e===`original`||e===`modified`,Mh=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?Math.max(1,Math.floor(t)):null},Nh=e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.sessionKey!=`string`||t.sessionKey.trim().length===0||!Ah(t.source))return null;let n=Mh(t.startLine),r=Mh(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:jh(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()}},Ph=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(Nh).filter(e=>!!e).filter(t=>t.sessionKey===e);t.length>0&&(n[e]=t)}return n},Fh=Ue()(Ke(We((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:pn(),version:1,migrate:e=>!e||typeof e!=`object`?{drafts:{}}:{drafts:Ph(e.drafts)}}),{name:`inline-comment-draft-store`}));function Ih(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 Lh(e){return e.length===0?``:e.every(e=>e.source===`preview-annotation`)?e.map(Ih).join(`
5
5
 
@@ -6541,7 +6541,7 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{S as t,l as n,p as r}f
6541
6541
 
6542
6542
  `),`Follow-up question:`,yw(t)].join(`
6543
6543
 
6544
- `)},xw=(e,t,n,r,i)=>{if(uw(e,n)&&ow===r.epoch){if(o()!==r.transport||c()!==r.generation){_w(e,t,{pending:!1});return}_w(e,t,i)}},Sw=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},Cw=e=>{let t=iw.get(e);t&&(pw(e),_w(e,t.turnId,{pending:!1}))},ww=e=>{let t=Sw(e);if(!t)return null;let n=rw(t),r=Pw.getState().sendSelection[n];if(r?.providerID&&r?.modelID)return r;let i=ma.getState().getSessionModelSelection(t.sessionId);if(i)return{providerID:i.providerId,modelID:i.modelId,agent:ma.getState().getSessionAgentSelection(t.sessionId)??void 0};let a=Ki.getState();return a.currentProviderId&&a.currentModelId?{providerID:a.currentProviderId,modelID:a.currentModelId,agent:a.currentAgentName??void 0,variant:a.currentVariant??null}:null},Tw=async e=>{let t=ww({sessionId:e.sessionId,directory:e.directory});if(!t)return;let n=typeof t.variant==`string`&&t.variant.trim()?t.variant.trim():void 0;await yt.applySendSelection(e.sessionId,{model:{providerID:t.providerID,id:t.modelID,...n?{variant:n}:{}},...t.agent?{agent:t.agent}:{}},e.directory)},Ew=(e,t)=>{let n=Sw(e);if(!n)return;let r=rw(n);Pw.setState(e=>({sendSelection:{...e.sendSelection,[r]:t}})),ma.getState().saveSessionModelSelection(n.sessionId,t.providerID,t.modelID),t.agent&&ma.getState().saveSessionAgentSelection(n.sessionId,t.agent)},Dw=async(e,t,n,r)=>{let i=n.id,a={epoch:ow,transport:o(),generation:c()},s=new AbortController;iw.set(t,{controller:s,turnId:i});try{if(await Tw(e),!uw(t,s))return;let o=await yt.generateSessionAside({sessionId:e.sessionId,directory:e.directory,prompt:bw(r,n),signal:s.signal}),c=typeof o?.text==`string`?o.text.trim():``;xw(t,i,s,a,c?{answer:c,error:null,pending:!1}:{answer:``,error:`empty response`,pending:!1})}catch(e){xw(t,i,s,a,lw(e,s.signal)?{pending:!1}:{error:cw(e),pending:!1})}finally{uw(t,s)&&iw.delete(t)}},Ow=async(e,t)=>{let n=typeof t==`string`?t.trim():``,r=Sw(e);if(!n||!r)return;let i=rw(r);Cw(i);let a=Pw.getState().entries[i]??nw;sw+=1;let o={id:`btw_${sw}`,quotes:a.quotes,question:n,answer:``,error:null,pending:!0};hw(i,e=>({turns:[...e.turns,o].slice(-50),quotes:nw.quotes})),await Dw(r,i,o,a.turns)},kw=async e=>{let t=Sw(e);if(!t)return;let n=rw(t),r=Pw.getState().entries[n]?.turns??[],i=r[r.length-1];i&&(Cw(n),_w(n,i.id,{answer:``,error:null,pending:!0}),await Dw(t,n,i,r.slice(0,-1)))},Aw=(e,t)=>{let n=typeof t==`string`?t.trim():``;!n||!Sw(e)||hw(rw(e),e=>e.quotes.includes(n)?null:{...e,quotes:[...e.quotes,n].slice(-10)})},jw=(e,t)=>{let n=rw(e);Pw.getState().entries[n]&&hw(n,e=>t<0||t>=e.quotes.length?null:{...e,quotes:e.quotes.filter((e,n)=>n!==t)})},Mw=e=>{Cw(rw(e))},Nw=e=>{let t=rw(e);pw(t),aw=aw.filter(e=>e!==t),Pw.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}})},Pw=Ue(()=>({entries:{},sendSelection:{},setSendSelection:Ew,ask:Ow,retry:kw,cancel:Mw,addQuote:Aw,removeQuote:jw,clear:Nw})),Fw=()=>{ow+=1;for(let{controller:e}of iw.values())e.abort();iw.clear(),aw=[],Pw.setState({entries:{},sendSelection:{}})},Iw=(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()}}}})(su),Lw=new Map,Rw=e=>Iw.hold(e),zw=e=>{Lw.has(e)||Lw.set(e,Iw.hold(e))},Bw=e=>{let t=Lw.get(e);t&&(Lw.delete(e),t())},Vw=`btw-page`,Hw=`btw-sheet`,Uw=`text-selection`,Ww=`1.5rem`,Gw=`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`,Kw=`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 qw(e){let t=(0,Q.c)(40),{turn:n,isLast:r,scope:i}=e,{t:a}=Vn(),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 Bn(n.answer)).ok?cr.success(a(`contextSidebar.actions.copied`)):cr.error(a(`filesView.toast.copyFailed`))},t[3]=a,t[4]=n.answer,t[5]=l):l=t[5];let u=q(l),d=n.id,f;t[6]===n.quotes?f=t[7]:(f=n.quotes.map(Jw),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)(hu,{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)(Gn,{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)(Gn,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>void Pw.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 Jw(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 Yw(e){let t=(0,Q.c)(62),{scope:n,pending:r,quotes:i,foot:a}=e,{t:o}=Vn(),s;t[0]===n?s=t[1]:(s=e=>e.sendSelection[rw(n)],t[0]=n,t[1]=s);let c=Pw(s),l;t[2]!==n||t[3]!==c?(l=c??ww(n),t[2]=n,t[3]=c,t[4]=l):l=t[4];let u=l,d=Ki(Xw),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=sr(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(``),Pw.getState().ask(n,e))},t[11]=m,t[12]=r,t[13]=n,t[14]=_):_=t[14];let v=q(_),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)(Qo,{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=()=>Pw.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:Ww},t[33]=P):P=t[33];let F=x?Kw:Gw,I;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(I={borderTopLeftRadius:Ww,borderTopRightRadius:Ww},t[34]=I):I=t[34];let L;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(L={borderBottomLeftRadius:Ww,borderBottomRightRadius:Ww},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=>Pw.getState().removeQuote(n,e),t[38]=n,t[39]=z);let B;t[40]!==i||t[41]!==R||t[42]!==z?(B=(0,$.jsx)(cg,{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)(Vc,{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 ee;return t[57]!==a||t[58]!==E||t[59]!==V||t[60]!==T?(ee=(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]=ee):ee=t[61],ee}function Xw(e){return e.providers}function Zw(e){let t=(0,Q.c)(29),{scope:n,foot:r}=e,i=r===void 0?`panel`:r,{t:a}=Vn(),o;t[0]===n?o=t[1]:(o=rw(n),t[0]=n,t[1]=o);let s=o,c;t[2]===s?c=t[3]:(c=e=>(e.entries[s]??nw).turns,t[2]=s,t[3]=c);let l=Pw(c),u;t[4]===s?u=t[5]:(u=e=>(e.entries[s]??nw).quotes,t[4]=s,t[5]=u);let d=Pw(u),f;t[6]===l?f=t[7]:(f=l.some(Qw),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)(qw,{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)(Yw,{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 Qw(e){return e.pending}function $w(e){let t=(0,Q.c)(53),{scope:n,active:r,mobile:i}=e,{t:a}=Vn(),{sessionId:o,directory:s}=n,c;t[0]===n?c=t[1]:(c=rw(n),t[0]=n,t[1]=c);let l=c,u;t[2]===s?u=t[3]:(u=Se(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=G(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(tT),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&&!_&&Pw.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=()=>Ba({sessionId:o,directory:s??null});return!r&&!n()&&Pw.getState().cancel(e),()=>{let r=Pw.getState().entries[l];queueMicrotask(()=>{let i=S.current;i!==t&&i?.key===l&&i.active||n()||rw(e)===l&&Pw.getState().entries[l]===r&&Pw.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=()=>{Pw.getState().clear(n),G.getState().closeContextPanel(d)},t[26]=d,t[27]=n,t[28]=T):T=t[28];let E=q(T),D,O;if(t[29]!==i||t[30]!==h?(D=()=>{if(!i||!h){Bw(Hw);return}return zw(Hw),eT},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)(Zw,{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)(Pc,{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 eT(){return Bw(Hw)}function tT(e){return e.mode===`btw`}var nT=()=>{typeof window>`u`||window.requestAnimationFrame(()=>{document.querySelector(`[data-btw-composer] textarea`)?.focus()})},rT=e=>{let t=e.directory??null;ro({sessionId:e.sessionId,directory:t})?zw(Vw):G.getState().openContextPanelTab(t??``,{mode:`btw`}),nT()},iT=({currentSessionId:e,messageRef:t,replacePlainDocument:n})=>{let r=e;return t.current=``,n(``),r},aT=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()}},oT=e=>!e.queuedOnly&&!e.resourcePolicy&&e.rootAttachmentCount>0,sT=e=>e.surfaceKind===`primary`&&!!e.currentSessionId&&!e.queuedOnly&&e.delivery!==`queue`&&!e.resourcePolicy&&e.inputMode!==`shell`&&!e.localCommand,cT=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},lT=e=>({state:`bound`,transportIdentity:e.transportIdentity,directory:e.directory,sessionID:e.sessionID,deliveryTarget:{kind:`primary`},runtimeGeneration:e.runtimeGeneration}),uT=(e,t)=>{let n=Oe.getState();return n.bindLegacyQueue(k(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},dT=async e=>{let t=Zr.getState().takeEstablishingPending(e.draftID);if(t.length===0)return{drained:0,failed:0};let n=lT(e),r=0,i=0;for(let a of t)try{if(e.admitServer&&(await e.admitServer(a)).status===`committed`){r+=1;continue}uT(n,a)?r+=1:i+=1}catch{try{uT(n,a)?r+=1:i+=1}catch{i+=1}}return{drained:r,failed:i}},fT=(e,t)=>Promise.resolve().then(()=>e()).catch(()=>{t()}),pT=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`}},mT=e=>Object.prototype.hasOwnProperty.call(e,`permissions`)?e.permissions:e.permission,hT=e=>{let t=hc(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},gT=(e,t)=>{let n=t?.trim();if(!n)return e.length===0||e.some(e=>hT(mT(e)));let r=e.find(e=>e?.name===n);return!r||hT(mT(r))},_T=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)},vT=null,yT=new Set,bT=()=>{for(let e of yT)e()},xT=e=>e===`chat`||e===`assistant`,ST=()=>vT,CT=e=>{vT!==e&&(vT=e,bT())},wT=e=>{vT&&(e&&vT.surfaceID!==e||(vT=null,bT()))},TT=(e,t)=>{if(e.transportIdentity!==t.transportIdentity||e.runtimeGeneration!==t.runtimeGeneration)throw Error(`chat-input-delivery-runtime-stale`)},ET=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}},DT=(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}),OT=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=DT(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=DT(e,`send`,i),o=nb(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=DT(e,`create`);return await e.selection.flush(),e.backend.create(t)},compact:async t=>{let n=DT(e,`compact`,t);return await e.selection.flush(),e.backend.compact(n)},abort:async()=>{let t=DT(e,`abort`);return await e.selection.flush(),e.backend.abort(t)},queueScope:nb(e),canAbort:n,canQueue:t===`busy`||t===`retry`,allowsCommand:t=>Yy(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=DT(e,`abort`);await e.selection.flush(),await e.backend.abort(t);return}if(t===`new`){let t=DT(e,`create`);await e.selection.flush(),await e.backend.create(t);return}t!==`submit`&&await e.shortcuts?.cycle(n)},resources:e.resources??null}},kT=(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)))},AT=(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},jT=(e,t)=>e.agents.some(e=>e.name===t),MT=(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},NT=e=>{let{catalog:t,providerID:n,modelID:r,historyVariant:i,memoryVariant:a}=e;if(i)return MT(t,n,r,i)?i:void 0;if(a&&MT(t,n,r,a))return a},PT=e=>{let{sessionId:t,choice:n,catalog:r,memory:i,fallbackAgentName:a,source:o}=e;if(!n.providerID||!n.modelID||!AT(r,n.providerID,n.modelID))return null;let s=n.agent&&jT(r,n.agent)?n.agent:i?.getSessionAgentSelection?.(t)&&jT(r,i.getSessionAgentSelection(t))?i.getSessionAgentSelection(t):a&&jT(r,a)?a:void 0,c=s?i?.getAgentModelVariantForSession?.(t,s,n.providerID,n.modelID):void 0,l=NT({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}},FT=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=PT({sessionId:t,choice:r,catalog:i,memory:a,fallbackAgentName:s,source:`execution`});if(e)return e}if(c&&n){let e=PT({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&&jT(i,e)?e:s&&jT(i,s)?s:void 0;if(n){let e=a.getAgentModelForSession?.(t,n);if(e&&AT(i,e.providerId,e.modelId)){let r=a.getAgentModelVariantForSession?.(t,n,e.providerId,e.modelId),o=r&&MT(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&&AT(i,r.providerId,r.modelId)){let e=n?a.getAgentModelVariantForSession?.(t,n,r.providerId,r.modelId):void 0,o=e&&MT(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&&AT(i,l.providerID,l.id)){let e=a?.getSessionAgentSelection?.(t)??null,n=(o?.agent&&jT(i,o.agent)?o.agent:void 0)??(e&&jT(i,e)?e:s&&jT(i,s)?s:void 0),r=l.variant,c=r&&MT(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},IT=(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))},LT=(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}},RT=e=>e.editRevision<=0?!1:e.pinnedHistoryMessageId==null||e.latestHistoryMessageId==null||e.latestHistoryMessageId===e.pinnedHistoryMessageId,zT=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}:{}}},BT=e=>typeof e==`string`&&e.trim().length>0?e:void 0,VT=e=>BT(e.agent)??BT(e.mode),HT=e=>BT(typeof e.model==`object`?e.model?.variant:void 0)??BT(e.variant),UT=e=>{let t=typeof e.model==`object`?e.model:void 0,n=BT(e.providerID)??BT(t?.providerID),r=BT(e.modelID)??BT(t?.modelID)??BT(t?.id);return!n||!r?null:{providerID:n,modelID:r}},WT=e=>UT(e),GT=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role!==`user`)continue;let r=UT(n);return{id:typeof n.id==`string`?n.id:void 0,agent:VT(n),providerID:r?.providerID,modelID:r?.modelID,variant:HT(n)}}return null},KT=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role===`user`){if(UT(n))return null;continue}if(n.role!==`assistant`)continue;let r=WT(n);if(r)return{id:typeof n.id==`string`?n.id:void 0,agent:VT(n),providerID:r.providerID,modelID:r.modelID,variant:HT(n)}}return null},qT=500,JT=e=>Array.from(e).length,YT=e=>{let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return(t>>>0).toString(36)},XT=e=>JT(e)>=qT,ZT=e=>{let t=R(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},QT=(e,t)=>{let n=t??e;return typeof n!=`string`||!XT(n)?!1:p(typeof e==`string`?{text:``,references:[]}:e,n)},$T=(e,t,n,r,i=1)=>{let a=JT(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}-${YT(e)}`,token:i,text:e,characterCount:a,index:n}}throw Error(`Unable to create a unique pasted text reference`)},eE=e=>({text:e?.text??``,references:e?.composerReferences??[]}),tE=e=>({text:e.text,references:e.references.map(e=>({...e}))}),nE=e=>({transportIdentity:e.transportIdentity,owner:{...e.owner}}),rE=e=>JSON.stringify([e.text,e.references]),iE=(e,t)=>e!==null&&t!==null&&g(e)===t,aE=(e,t,n)=>{let r=e?nE(e):null,i=r?n(r):void 0;return{document:P(eE(i),t),mentions:i?.mentions??[],revision:i?.revision??0,key:r,keyID:r?g(r):null}},oE=(e,t,n,r)=>{if(!t||g(t.key)!==r.keyID||t.revision<r.appliedRevision)return`ignore`;let i=rE(eE(t));return n?.keyID===r.keyID&&n.revision===t.revision&&n.fingerprint===i?`local-echo`:t.revision===r.appliedRevision?`ignore`:i===rE(e)?`same-document-metadata`:`external-document`},sE=(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}]:[]})},cE=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),lE=(e,t,n,r,i=r)=>{let a=x(e,n,r,i);return{document:a.document,mentions:sE(t,a.document,a.edit),requiresTextCorrection:a.requiresTextCorrection,selectionStart:a.selectionStart,selectionEnd:a.selectionEnd,removedReferences:a.removedReferences}},uE=(e,t,n)=>({preview:{real:tE(e),realMentions:[...t]},document:{text:n.text,references:[]},mentions:[]}),dE=e=>({document:e.real,mentions:e.realMentions}),fE=(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)})},pE=(e,t)=>{let n=eE(t),r=S(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:fE(e.mentions,t?.mentions??[],r,i)}},mE=({draftKey:e,sessionTitles:t,persistenceEnabled:n,onResourcesChanged:r,store:i=Wa})=>{let a=e?g(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)(()=>aE(e,t,i.getState().getDraft).document),[d,f]=(0,Z.useState)(()=>aE(e,t,i.getState().getDraft).mentions),[p,m]=(0,Z.useState)(`compose`),[h,_]=(0,Z.useState)(0),v=(0,Z.useRef)(l),y=(0,Z.useRef)(d),S=(0,Z.useRef)(t),C=(0,Z.useRef)(r),w=(0,Z.useRef)(e),T=(0,Z.useRef)(e?nE(e):null),E=(0,Z.useRef)(a),D=(0,Z.useRef)(a),O=(0,Z.useRef)(0),k=(0,Z.useRef)(o?.revision??0),A=(0,Z.useRef)(void 0),j=(0,Z.useRef)(void 0),M=(0,Z.useRef)($c());v.current=l,y.current=d,S.current=t,C.current=r,w.current=e,E.current=a;let N=(0,Z.useCallback)((e,t)=>{v.current=e,y.current=t,u(e),f(t)},[]),F=(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)(()=>{O.current+=1;let e=O.current;D.current=a;let t=aE(w.current,S.current,i.getState().getDraft),n=t.key;if(T.current=t.key,A.current=void 0,j.current=void 0,M.current=$c(),m(`compose`),k.current=t.revision,N(t.document,t.mentions),_(e=>e+1),n?.owner.kind===`draft`){let r=t.revision;i.getState().claimLegacyNewDraft(n).then(t=>{let o=i.getState().getDraft(n);!t||!iE(T.current,a)||D.current!==a||E.current!==a||O.current!==e||k.current!==r||o?.revision!==t.revision||(k.current=t.revision,N(P(eE(t),S.current),t.mentions))})}},[a,N,i]),(0,Z.useEffect)(()=>{if(!a||D.current!==a||j.current)return;let e=oE(v.current,o,A.current,{keyID:a,epoch:O.current,appliedRevision:k.current});if(e!==`ignore`){if(o&&(k.current=o.revision),e===`local-echo`||e===`same-document-metadata`){o&&f(o.mentions);return}e===`external-document`&&o&&(A.current=void 0,N(P(eE(o),S.current),o.mentions),m(`compose`),_(e=>e+1))}},[a,N,o]);let L=(0,Z.useCallback)((e,t)=>{let n=T.current;if(!iE(n,E.current)||j.current)return;let r=v.current,a=i.getState().setDraftComposerState(n,{document:e,mentions:cE(t)});if(!a)return;let o=eE(a);return A.current={keyID:g(n),revision:a.revision,fingerprint:rE(o)},k.current=a.revision,N(o,a.mentions),F(r,o),a},[i,N,F]),z=(0,Z.useCallback)((e,t,n,r,i,a)=>{M.current=il(M.current,{before:Kc(e,t,n),after:Kc(r,i,a)})},[]),B=(0,Z.useCallback)(()=>j.current?(j.current=void 0,m(`compose`),!0):!1,[]),V=(0,Z.useCallback)(e=>(B(),L({text:e,references:[]},[])),[L,B]),ee=(0,Z.useCallback)((e,t=[])=>{B();let n=ue(e.text,e.references);return n?L(P(n,S.current),t):void 0},[L,B]),H=(0,Z.useCallback)((e,t,n=t,r)=>{let i=B(),a=tE(v.current),o=i?[]:y.current,s=lE(a,o,e,t,n),c=r?r(s.mentions,s.document):s.mentions;return L(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}},[L,B,z]),U=(0,Z.useCallback)((e,t)=>{let n=v.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=x(n,`${n.text.slice(0,r)}${e.text}${n.text.slice(i)}`,r+e.text.length),s=sE(a?[]:y.current,o.document,o.edit);return L(o.document,t?t(s,o.document):s),{start:o.selectionStart,end:o.selectionEnd}},[L,B]),te=(0,Z.useCallback)((e,t)=>{let n=v.current;return U({start:0,end:n.text.length,text:e},t)},[U]),W=(0,Z.useCallback)((e,t,n,r)=>{let i=B(),a=b(v.current,e,t,n,r);return L(a.document,sE(i?[]:y.current,a.document,a.edit)),{start:a.caret,end:a.caret,caret:a.caret,document:a.document}},[L,B]),ne=(0,Z.useCallback)(e=>{let t=tE(v.current),n=I(t,e);if(!n)return null;let r=B()?[]:y.current,i=sE(r,n.document,n.edit),a=ge(n.document.text,n.caret),o=x(n.document,a.text,a.caret),s=sE(i,o.document,o.edit);return L(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}},[L,B,z]),re=(0,Z.useCallback)(e=>{if(j.current)return null;let t=e===`undo`?Jc(M.current,v.current):qc(M.current,v.current);return!t||!L(t.snapshot.document,t.snapshot.mentions)?null:(M.current=t.history,t.snapshot.selection)},[L]),ae=(0,Z.useCallback)(e=>L(v.current,e),[L]),oe=(0,Z.useCallback)(e=>{let t=j.current?{document:{text:e.text,references:[]},mentions:[]}:uE(v.current,y.current,e);`preview`in t&&(j.current=t.preview),m(`history-preview`),N(t.document,t.mentions),_(e=>e+1)},[N]),se=(0,Z.useCallback)(()=>{let e=j.current;if(!e)return;j.current=void 0,m(`compose`);let t=dE(e);N(t.document,t.mentions),_(e=>e+1)},[N]),ce=(0,Z.useCallback)(()=>{let e=T.current;if(!iE(e,E.current))return null;let t=i.getState().getDraft(e);return{key:nE(e),keyID:g(e),revision:t?.revision??0,document:tE(v.current),mentions:y.current.map(e=>({...e,range:{...e.range}})),epoch:O.current,runtime:i.getState().captureDraftRuntime()}},[i]),le=(0,Z.useCallback)(e=>{let t=pE(e,i.getState().getDraft(e.key)),n=eE(i.getState().getDraft(e.key)),r=R(n.text,n.references).document,a=i.getState().setDraftComposerState(e.key,{...t,mentions:cE(t.mentions)});if(a){let e=eE(a);F(r,e)}return a},[F,i]),de=(0,Z.useCallback)(()=>v.current,[]);return(0,Z.useMemo)(()=>({document:l,mentions:d,confirmedFileMentions:d.filter(e=>e.kind===`file`||e.kind===`directory`),inputMode:p,hydration:s,persistence:c,textPresetEpoch:h,getDocument:de,replacePlainDocument:V,replaceMaterializedDocument:ee,applyBrowserEdit:H,applyProgrammaticEdit:U,replaceProgrammaticText:te,insertReference:W,deleteReference:ne,restoreReferenceHistory:re,commitMentions:ae,enterHistoryPreview:oe,exitHistoryPreview:se,captureSubmission:ce,recoverSubmission:le}),[H,U,ce,ae,ne,l,oe,se,de,s,p,W,d,c,le,ee,V,te,re,h])};function hE(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`}}var 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=gu(()=>bn(()=>import(`./ToolOutputDialog-CEtY95oc.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]))),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=560,EE=(e,t)=>e.name===t?e:new File([e],t,{type:e.type,lastModified:e.lastModified}),DE=(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)},OE=e=>e.includes(`@`)?`paste`:`manual`,kE=(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}},AE=(e,t)=>dn(e,t).some(e=>e.role===`user`),jE=(e,t)=>{let n=e.filter(e=>e.type===`text`&&!ki(e)).map(e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``}).join(`
6544
+ `)},xw=(e,t,n,r,i)=>{if(uw(e,n)&&ow===r.epoch){if(o()!==r.transport||c()!==r.generation){_w(e,t,{pending:!1});return}_w(e,t,i)}},Sw=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},Cw=e=>{let t=iw.get(e);t&&(pw(e),_w(e,t.turnId,{pending:!1}))},ww=e=>{let t=Sw(e);if(!t)return null;let n=rw(t),r=Pw.getState().sendSelection[n];if(r?.providerID&&r?.modelID)return r;let i=ma.getState().getSessionModelSelection(t.sessionId);if(i)return{providerID:i.providerId,modelID:i.modelId,agent:ma.getState().getSessionAgentSelection(t.sessionId)??void 0};let a=Ki.getState();return a.currentProviderId&&a.currentModelId?{providerID:a.currentProviderId,modelID:a.currentModelId,agent:a.currentAgentName??void 0,variant:a.currentVariant??null}:null},Tw=async e=>{let t=ww({sessionId:e.sessionId,directory:e.directory});if(!t)return;let n=typeof t.variant==`string`&&t.variant.trim()?t.variant.trim():void 0;await yt.applySendSelection(e.sessionId,{model:{providerID:t.providerID,id:t.modelID,...n?{variant:n}:{}},...t.agent?{agent:t.agent}:{}},e.directory)},Ew=(e,t)=>{let n=Sw(e);if(!n)return;let r=rw(n);Pw.setState(e=>({sendSelection:{...e.sendSelection,[r]:t}})),ma.getState().saveSessionModelSelection(n.sessionId,t.providerID,t.modelID),t.agent&&ma.getState().saveSessionAgentSelection(n.sessionId,t.agent)},Dw=async(e,t,n,r)=>{let i=n.id,a={epoch:ow,transport:o(),generation:c()},s=new AbortController;iw.set(t,{controller:s,turnId:i});try{if(await Tw(e),!uw(t,s))return;let o=await yt.generateSessionAside({sessionId:e.sessionId,directory:e.directory,prompt:bw(r,n),signal:s.signal}),c=typeof o?.text==`string`?o.text.trim():``;xw(t,i,s,a,c?{answer:c,error:null,pending:!1}:{answer:``,error:`empty response`,pending:!1})}catch(e){xw(t,i,s,a,lw(e,s.signal)?{pending:!1}:{error:cw(e),pending:!1})}finally{uw(t,s)&&iw.delete(t)}},Ow=async(e,t)=>{let n=typeof t==`string`?t.trim():``,r=Sw(e);if(!n||!r)return;let i=rw(r);Cw(i);let a=Pw.getState().entries[i]??nw;sw+=1;let o={id:`btw_${sw}`,quotes:a.quotes,question:n,answer:``,error:null,pending:!0};hw(i,e=>({turns:[...e.turns,o].slice(-50),quotes:nw.quotes})),await Dw(r,i,o,a.turns)},kw=async e=>{let t=Sw(e);if(!t)return;let n=rw(t),r=Pw.getState().entries[n]?.turns??[],i=r[r.length-1];i&&(Cw(n),_w(n,i.id,{answer:``,error:null,pending:!0}),await Dw(t,n,i,r.slice(0,-1)))},Aw=(e,t)=>{let n=typeof t==`string`?t.trim():``;!n||!Sw(e)||hw(rw(e),e=>e.quotes.includes(n)?null:{...e,quotes:[...e.quotes,n].slice(-10)})},jw=(e,t)=>{let n=rw(e);Pw.getState().entries[n]&&hw(n,e=>t<0||t>=e.quotes.length?null:{...e,quotes:e.quotes.filter((e,n)=>n!==t)})},Mw=e=>{Cw(rw(e))},Nw=e=>{let t=rw(e);pw(t),aw=aw.filter(e=>e!==t),Pw.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}})},Pw=Ue(()=>({entries:{},sendSelection:{},setSendSelection:Ew,ask:Ow,retry:kw,cancel:Mw,addQuote:Aw,removeQuote:jw,clear:Nw})),Fw=()=>{ow+=1;for(let{controller:e}of iw.values())e.abort();iw.clear(),aw=[],Pw.setState({entries:{},sendSelection:{}})},Iw=(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()}}}})(su),Lw=new Map,Rw=e=>Iw.hold(e),zw=e=>{Lw.has(e)||Lw.set(e,Iw.hold(e))},Bw=e=>{let t=Lw.get(e);t&&(Lw.delete(e),t())},Vw=`btw-page`,Hw=`btw-sheet`,Uw=`text-selection`,Ww=`1.5rem`,Gw=`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`,Kw=`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 qw(e){let t=(0,Q.c)(40),{turn:n,isLast:r,scope:i}=e,{t:a}=Vn(),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 Bn(n.answer)).ok?cr.success(a(`contextSidebar.actions.copied`)):cr.error(a(`filesView.toast.copyFailed`))},t[3]=a,t[4]=n.answer,t[5]=l):l=t[5];let u=q(l),d=n.id,f;t[6]===n.quotes?f=t[7]:(f=n.quotes.map(Jw),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)(hu,{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)(Gn,{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)(Gn,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>void Pw.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 Jw(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 Yw(e){let t=(0,Q.c)(62),{scope:n,pending:r,quotes:i,foot:a}=e,{t:o}=Vn(),s;t[0]===n?s=t[1]:(s=e=>e.sendSelection[rw(n)],t[0]=n,t[1]=s);let c=Pw(s),l;t[2]!==n||t[3]!==c?(l=c??ww(n),t[2]=n,t[3]=c,t[4]=l):l=t[4];let u=l,d=Ki(Xw),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=sr(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(``),Pw.getState().ask(n,e))},t[11]=m,t[12]=r,t[13]=n,t[14]=_):_=t[14];let v=q(_),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)(Qo,{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=()=>Pw.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:Ww},t[33]=P):P=t[33];let F=x?Kw:Gw,I;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(I={borderTopLeftRadius:Ww,borderTopRightRadius:Ww},t[34]=I):I=t[34];let L;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(L={borderBottomLeftRadius:Ww,borderBottomRightRadius:Ww},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=>Pw.getState().removeQuote(n,e),t[38]=n,t[39]=z);let B;t[40]!==i||t[41]!==R||t[42]!==z?(B=(0,$.jsx)(cg,{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)(Vc,{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 ee;return t[57]!==a||t[58]!==E||t[59]!==V||t[60]!==T?(ee=(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]=ee):ee=t[61],ee}function Xw(e){return e.providers}function Zw(e){let t=(0,Q.c)(29),{scope:n,foot:r}=e,i=r===void 0?`panel`:r,{t:a}=Vn(),o;t[0]===n?o=t[1]:(o=rw(n),t[0]=n,t[1]=o);let s=o,c;t[2]===s?c=t[3]:(c=e=>(e.entries[s]??nw).turns,t[2]=s,t[3]=c);let l=Pw(c),u;t[4]===s?u=t[5]:(u=e=>(e.entries[s]??nw).quotes,t[4]=s,t[5]=u);let d=Pw(u),f;t[6]===l?f=t[7]:(f=l.some(Qw),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)(qw,{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)(Yw,{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 Qw(e){return e.pending}function $w(e){let t=(0,Q.c)(53),{scope:n,active:r,mobile:i}=e,{t:a}=Vn(),{sessionId:o,directory:s}=n,c;t[0]===n?c=t[1]:(c=rw(n),t[0]=n,t[1]=c);let l=c,u;t[2]===s?u=t[3]:(u=Se(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=G(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(tT),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&&!_&&Pw.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=()=>Ba({sessionId:o,directory:s??null});return!r&&!n()&&Pw.getState().cancel(e),()=>{let r=Pw.getState().entries[l];queueMicrotask(()=>{let i=S.current;i!==t&&i?.key===l&&i.active||n()||rw(e)===l&&Pw.getState().entries[l]===r&&Pw.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=()=>{Pw.getState().clear(n),G.getState().closeContextPanel(d)},t[26]=d,t[27]=n,t[28]=T):T=t[28];let E=q(T),D,O;if(t[29]!==i||t[30]!==h?(D=()=>{if(!i||!h){Bw(Hw);return}return zw(Hw),eT},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)(Zw,{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)(Pc,{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 eT(){return Bw(Hw)}function tT(e){return e.mode===`btw`}var nT=()=>{typeof window>`u`||window.requestAnimationFrame(()=>{document.querySelector(`[data-btw-composer] textarea`)?.focus()})},rT=e=>{let t=e.directory??null;ro({sessionId:e.sessionId,directory:t})?zw(Vw):G.getState().openContextPanelTab(t??``,{mode:`btw`}),nT()},iT=({currentSessionId:e,messageRef:t,replacePlainDocument:n})=>{let r=e;return t.current=``,n(``),r},aT=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()}},oT=e=>!e.queuedOnly&&!e.resourcePolicy&&e.rootAttachmentCount>0,sT=e=>e.surfaceKind===`primary`&&!!e.currentSessionId&&!e.queuedOnly&&e.delivery!==`queue`&&!e.resourcePolicy&&e.inputMode!==`shell`&&!e.localCommand,cT=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},lT=e=>({state:`bound`,transportIdentity:e.transportIdentity,directory:e.directory,sessionID:e.sessionID,deliveryTarget:{kind:`primary`},runtimeGeneration:e.runtimeGeneration}),uT=(e,t)=>{let n=Oe.getState();return n.bindLegacyQueue(k(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},dT=async e=>{let t=Zr.getState().takeEstablishingPending(e.draftID);if(t.length===0)return{drained:0,failed:0};let n=lT(e),r=0,i=0;for(let a of t)try{if(e.admitServer&&(await e.admitServer(a)).status===`committed`){r+=1;continue}uT(n,a)?r+=1:i+=1}catch{try{uT(n,a)?r+=1:i+=1}catch{i+=1}}return{drained:r,failed:i}},fT=(e,t)=>Promise.resolve().then(()=>e()).catch(()=>{t()}),pT=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`}},mT=e=>Object.prototype.hasOwnProperty.call(e,`permissions`)?e.permissions:e.permission,hT=e=>{let t=hc(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},gT=(e,t)=>{let n=t?.trim();if(!n)return e.length===0||e.some(e=>hT(mT(e)));let r=e.find(e=>e?.name===n);return!r||hT(mT(r))},_T=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)},vT=null,yT=new Set,bT=()=>{for(let e of yT)e()},xT=e=>e===`chat`||e===`assistant`,ST=()=>vT,CT=e=>{vT!==e&&(vT=e,bT())},wT=e=>{vT&&(e&&vT.surfaceID!==e||(vT=null,bT()))},TT=(e,t)=>{if(e.transportIdentity!==t.transportIdentity||e.runtimeGeneration!==t.runtimeGeneration)throw Error(`chat-input-delivery-runtime-stale`)},ET=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}},DT=(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}),OT=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=DT(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=DT(e,`send`,i),o=nb(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=DT(e,`create`);return await e.selection.flush(),e.backend.create(t)},compact:async t=>{let n=DT(e,`compact`,t);return await e.selection.flush(),e.backend.compact(n)},abort:async()=>{let t=DT(e,`abort`);return await e.selection.flush(),e.backend.abort(t)},queueScope:nb(e),canAbort:n,canQueue:t===`busy`||t===`retry`,allowsCommand:t=>Yy(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=DT(e,`abort`);await e.selection.flush(),await e.backend.abort(t);return}if(t===`new`){let t=DT(e,`create`);await e.selection.flush(),await e.backend.create(t);return}t!==`submit`&&await e.shortcuts?.cycle(n)},resources:e.resources??null}},kT=(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)))},AT=(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},jT=(e,t)=>e.agents.some(e=>e.name===t),MT=(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},NT=e=>{let{catalog:t,providerID:n,modelID:r,historyVariant:i,memoryVariant:a}=e;if(i)return MT(t,n,r,i)?i:void 0;if(a&&MT(t,n,r,a))return a},PT=e=>{let{sessionId:t,choice:n,catalog:r,memory:i,fallbackAgentName:a,source:o}=e;if(!n.providerID||!n.modelID||!AT(r,n.providerID,n.modelID))return null;let s=n.agent&&jT(r,n.agent)?n.agent:i?.getSessionAgentSelection?.(t)&&jT(r,i.getSessionAgentSelection(t))?i.getSessionAgentSelection(t):a&&jT(r,a)?a:void 0,c=s?i?.getAgentModelVariantForSession?.(t,s,n.providerID,n.modelID):void 0,l=NT({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}},FT=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=PT({sessionId:t,choice:r,catalog:i,memory:a,fallbackAgentName:s,source:`execution`});if(e)return e}if(c&&n){let e=PT({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&&jT(i,e)?e:s&&jT(i,s)?s:void 0;if(n){let e=a.getAgentModelForSession?.(t,n);if(e&&AT(i,e.providerId,e.modelId)){let r=a.getAgentModelVariantForSession?.(t,n,e.providerId,e.modelId),o=r&&MT(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&&AT(i,r.providerId,r.modelId)){let e=n?a.getAgentModelVariantForSession?.(t,n,r.providerId,r.modelId):void 0,o=e&&MT(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&&AT(i,l.providerID,l.id)){let e=a?.getSessionAgentSelection?.(t)??null,n=(o?.agent&&jT(i,o.agent)?o.agent:void 0)??(e&&jT(i,e)?e:s&&jT(i,s)?s:void 0),r=l.variant,c=r&&MT(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},IT=(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))},LT=(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}},RT=e=>e.editRevision<=0?!1:e.pinnedHistoryMessageId==null||e.latestHistoryMessageId==null||e.latestHistoryMessageId===e.pinnedHistoryMessageId,zT=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}:{}}},BT=e=>typeof e==`string`&&e.trim().length>0?e:void 0,VT=e=>BT(e.agent)??BT(e.mode),HT=e=>BT(typeof e.model==`object`?e.model?.variant:void 0)??BT(e.variant),UT=e=>{let t=typeof e.model==`object`?e.model:void 0,n=BT(e.providerID)??BT(t?.providerID),r=BT(e.modelID)??BT(t?.modelID)??BT(t?.id);return!n||!r?null:{providerID:n,modelID:r}},WT=e=>UT(e),GT=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role!==`user`)continue;let r=UT(n);return{id:typeof n.id==`string`?n.id:void 0,agent:VT(n),providerID:r?.providerID,modelID:r?.modelID,variant:HT(n)}}return null},KT=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role===`user`){if(UT(n))return null;continue}if(n.role!==`assistant`)continue;let r=WT(n);if(r)return{id:typeof n.id==`string`?n.id:void 0,agent:VT(n),providerID:r.providerID,modelID:r.modelID,variant:HT(n)}}return null},qT=500,JT=e=>Array.from(e).length,YT=e=>{let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return(t>>>0).toString(36)},XT=e=>JT(e)>=qT,ZT=e=>{let t=R(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},QT=(e,t)=>{let n=t??e;return typeof n!=`string`||!XT(n)?!1:p(typeof e==`string`?{text:``,references:[]}:e,n)},$T=(e,t,n,r,i=1)=>{let a=JT(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}-${YT(e)}`,token:i,text:e,characterCount:a,index:n}}throw Error(`Unable to create a unique pasted text reference`)},eE=e=>({text:e?.text??``,references:e?.composerReferences??[]}),tE=e=>({text:e.text,references:e.references.map(e=>({...e}))}),nE=e=>({transportIdentity:e.transportIdentity,owner:{...e.owner}}),rE=e=>JSON.stringify([e.text,e.references]),iE=(e,t)=>e!==null&&t!==null&&g(e)===t,aE=(e,t,n)=>{let r=e?nE(e):null,i=r?n(r):void 0;return{document:P(eE(i),t),mentions:i?.mentions??[],revision:i?.revision??0,key:r,keyID:r?g(r):null}},oE=(e,t,n,r)=>{if(!t||g(t.key)!==r.keyID||t.revision<r.appliedRevision)return`ignore`;let i=rE(eE(t));return n?.keyID===r.keyID&&n.revision===t.revision&&n.fingerprint===i?`local-echo`:t.revision===r.appliedRevision?`ignore`:i===rE(e)?`same-document-metadata`:`external-document`},sE=(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}]:[]})},cE=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),lE=(e,t,n,r,i=r)=>{let a=x(e,n,r,i);return{document:a.document,mentions:sE(t,a.document,a.edit),requiresTextCorrection:a.requiresTextCorrection,selectionStart:a.selectionStart,selectionEnd:a.selectionEnd,removedReferences:a.removedReferences}},uE=(e,t,n)=>({preview:{real:tE(e),realMentions:[...t]},document:{text:n.text,references:[]},mentions:[]}),dE=e=>({document:e.real,mentions:e.realMentions}),fE=(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)})},pE=(e,t)=>{let n=eE(t),r=S(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:fE(e.mentions,t?.mentions??[],r,i)}},mE=({draftKey:e,sessionTitles:t,persistenceEnabled:n,onResourcesChanged:r,store:i=Wa})=>{let a=e?g(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)(()=>aE(e,t,i.getState().getDraft).document),[d,f]=(0,Z.useState)(()=>aE(e,t,i.getState().getDraft).mentions),[p,m]=(0,Z.useState)(`compose`),[h,_]=(0,Z.useState)(0),v=(0,Z.useRef)(l),y=(0,Z.useRef)(d),S=(0,Z.useRef)(t),C=(0,Z.useRef)(r),w=(0,Z.useRef)(e),T=(0,Z.useRef)(e?nE(e):null),E=(0,Z.useRef)(a),D=(0,Z.useRef)(a),O=(0,Z.useRef)(0),k=(0,Z.useRef)(o?.revision??0),A=(0,Z.useRef)(void 0),j=(0,Z.useRef)(void 0),M=(0,Z.useRef)($c());v.current=l,y.current=d,S.current=t,C.current=r,w.current=e,E.current=a;let N=(0,Z.useCallback)((e,t)=>{v.current=e,y.current=t,u(e),f(t)},[]),F=(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)(()=>{O.current+=1;let e=O.current;D.current=a;let t=aE(w.current,S.current,i.getState().getDraft),n=t.key;if(T.current=t.key,A.current=void 0,j.current=void 0,M.current=$c(),m(`compose`),k.current=t.revision,N(t.document,t.mentions),_(e=>e+1),n?.owner.kind===`draft`){let r=t.revision;i.getState().claimLegacyNewDraft(n).then(t=>{let o=i.getState().getDraft(n);!t||!iE(T.current,a)||D.current!==a||E.current!==a||O.current!==e||k.current!==r||o?.revision!==t.revision||(k.current=t.revision,N(P(eE(t),S.current),t.mentions))})}},[a,N,i]),(0,Z.useEffect)(()=>{if(!a||D.current!==a||j.current)return;let e=oE(v.current,o,A.current,{keyID:a,epoch:O.current,appliedRevision:k.current});if(e!==`ignore`){if(o&&(k.current=o.revision),e===`local-echo`||e===`same-document-metadata`){o&&f(o.mentions);return}e===`external-document`&&o&&(A.current=void 0,N(P(eE(o),S.current),o.mentions),m(`compose`),_(e=>e+1))}},[a,N,o]);let L=(0,Z.useCallback)((e,t)=>{let n=T.current;if(!iE(n,E.current)||j.current)return;let r=v.current,a=i.getState().setDraftComposerState(n,{document:e,mentions:cE(t)});if(!a)return;let o=eE(a);return A.current={keyID:g(n),revision:a.revision,fingerprint:rE(o)},k.current=a.revision,N(o,a.mentions),F(r,o),a},[i,N,F]),z=(0,Z.useCallback)((e,t,n,r,i,a)=>{M.current=il(M.current,{before:Kc(e,t,n),after:Kc(r,i,a)})},[]),B=(0,Z.useCallback)(()=>j.current?(j.current=void 0,m(`compose`),!0):!1,[]),V=(0,Z.useCallback)(e=>(B(),L({text:e,references:[]},[])),[L,B]),ee=(0,Z.useCallback)((e,t=[])=>{B();let n=ue(e.text,e.references);return n?L(P(n,S.current),t):void 0},[L,B]),H=(0,Z.useCallback)((e,t,n=t,r)=>{let i=B(),a=tE(v.current),o=i?[]:y.current,s=lE(a,o,e,t,n),c=r?r(s.mentions,s.document):s.mentions;return L(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}},[L,B,z]),U=(0,Z.useCallback)((e,t)=>{let n=v.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=x(n,`${n.text.slice(0,r)}${e.text}${n.text.slice(i)}`,r+e.text.length),s=sE(a?[]:y.current,o.document,o.edit);return L(o.document,t?t(s,o.document):s),{start:o.selectionStart,end:o.selectionEnd}},[L,B]),te=(0,Z.useCallback)((e,t)=>{let n=v.current;return U({start:0,end:n.text.length,text:e},t)},[U]),W=(0,Z.useCallback)((e,t,n,r)=>{let i=B(),a=b(v.current,e,t,n,r);return L(a.document,sE(i?[]:y.current,a.document,a.edit)),{start:a.caret,end:a.caret,caret:a.caret,document:a.document}},[L,B]),ne=(0,Z.useCallback)(e=>{let t=tE(v.current),n=I(t,e);if(!n)return null;let r=B()?[]:y.current,i=sE(r,n.document,n.edit),a=ge(n.document.text,n.caret),o=x(n.document,a.text,a.caret),s=sE(i,o.document,o.edit);return L(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}},[L,B,z]),re=(0,Z.useCallback)(e=>{if(j.current)return null;let t=e===`undo`?Jc(M.current,v.current):qc(M.current,v.current);return!t||!L(t.snapshot.document,t.snapshot.mentions)?null:(M.current=t.history,t.snapshot.selection)},[L]),ae=(0,Z.useCallback)(e=>L(v.current,e),[L]),oe=(0,Z.useCallback)(e=>{let t=j.current?{document:{text:e.text,references:[]},mentions:[]}:uE(v.current,y.current,e);`preview`in t&&(j.current=t.preview),m(`history-preview`),N(t.document,t.mentions),_(e=>e+1)},[N]),se=(0,Z.useCallback)(()=>{let e=j.current;if(!e)return;j.current=void 0,m(`compose`);let t=dE(e);N(t.document,t.mentions),_(e=>e+1)},[N]),ce=(0,Z.useCallback)(()=>{let e=T.current;if(!iE(e,E.current))return null;let t=i.getState().getDraft(e);return{key:nE(e),keyID:g(e),revision:t?.revision??0,document:tE(v.current),mentions:y.current.map(e=>({...e,range:{...e.range}})),epoch:O.current,runtime:i.getState().captureDraftRuntime()}},[i]),le=(0,Z.useCallback)(e=>{let t=pE(e,i.getState().getDraft(e.key)),n=eE(i.getState().getDraft(e.key)),r=R(n.text,n.references).document,a=i.getState().setDraftComposerState(e.key,{...t,mentions:cE(t.mentions)});if(a){let e=eE(a);F(r,e)}return a},[F,i]),de=(0,Z.useCallback)(()=>v.current,[]);return(0,Z.useMemo)(()=>({document:l,mentions:d,confirmedFileMentions:d.filter(e=>e.kind===`file`||e.kind===`directory`),inputMode:p,hydration:s,persistence:c,textPresetEpoch:h,getDocument:de,replacePlainDocument:V,replaceMaterializedDocument:ee,applyBrowserEdit:H,applyProgrammaticEdit:U,replaceProgrammaticText:te,insertReference:W,deleteReference:ne,restoreReferenceHistory:re,commitMentions:ae,enterHistoryPreview:oe,exitHistoryPreview:se,captureSubmission:ce,recoverSubmission:le}),[H,U,ce,ae,ne,l,oe,se,de,s,p,W,d,c,le,ee,V,te,re,h])};function hE(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`}}var 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=gu(()=>bn(()=>import(`./ToolOutputDialog-Cg_Q1t3X.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]))),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=560,EE=(e,t)=>e.name===t?e:new File([e],t,{type:e.type,lastModified:e.lastModified}),DE=(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)},OE=e=>e.includes(`@`)?`paste`:`manual`,kE=(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}},AE=(e,t)=>dn(e,t).some(e=>e.role===`user`),jE=(e,t)=>{let n=e.filter(e=>e.type===`text`&&!ki(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},ME=`file://`,NE=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(`/`)},PE=e=>{let t=e.replace(/\\/g,`/`).trim();return t.toLowerCase().startsWith(ME)?t:`file://${NE(t)}`},FE=e=>{if(!e)return[];let t=[...MC(e).map(NC),...Array.from(e.files||[]).map(e=>L(e)).filter(e=>!!e)];return Array.from(new Set(t.filter(PC)))},IE=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},LE=e=>Hn(e.path),RE=(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)]})},zE=Z.memo(Sb),BE=Z.memo(ah),VE=Z.memo(Nx),HE=Z.memo(Ix),UE=Z.memo(Qb),WE=Z.memo(({sessionId:e,directory:t})=>{let{t:n}=Vn(),r=G(e=>e.isMobile),i=Y(e=>e.revertToMessage),a=Y(e=>e.forkFromMessage),o=Y(e=>e.handleSlashRedo),[s,c]=Z.useState(null),[l,u]=Z.useState(null),[d,f]=Z.useState(!0),p=Z.useRef(dC),m=yo(),h=t||m,g=Cr(h),_=tn(e??``,h,g),v=Lr(e=>e.session,h),y=Z.useMemo(()=>{let t=_.messageOrder.map(e=>_.messagesByID[e]).filter(e=>!!e),n=mC({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:jE(e.parts,C)})):[],[C,b,y]),T=w[0]?.id;Z.useEffect(()=>{f(!0)},[b,T]);let E=Z.useCallback(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)}}},[o,i,s,e,S]),D=Z.useCallback(async t=>{if(!(!e||l)){u(t);try{await a(e,t)}finally{u(null)}}},[a,l,e]);return!e||w.length===0?null:(0,$.jsx)(`div`,{className:J(`w-full px-1`,r?`pb-1 text-xs`:`pb-2`),children:(0,$.jsxs)(`div`,{className:J(`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:J(`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:J(`ml-auto text-muted-foreground transition-transform`,r?`size-3.5`:`size-4`,!d&&`rotate-180`),"aria-hidden":`true`})]}),!d&&(0,$.jsx)(`div`,{className:J(`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:J(`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)(Gn,{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)(Gn,{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))})]})})});WE.displayName=`RevertedMessageDock`;var GE=Z.memo(function(e){let t=(0,Q.c)(41),{t:n}=Vn(),{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?tD:void 0,v=f?nD:void 0,y;t[5]===a?y=t[6]:(y=J(a,`text-current`),t[5]=a,t[6]=y);let b;t[7]===y?b=t[8]:(b=(0,$.jsx)(X,{name:`attachment-2`,className:y}),t[7]=y,t[8]=b);let x;t[9]!==m||t[10]!==i||t[11]!==g||t[12]!==_||t[13]!==v||t[14]!==b?(x=(0,$.jsx)(`button`,{type:`button`,className:i,onClick:g,onMouseDown:_,onPointerDownCapture:v,title:m,"aria-label":m,children:b}),t[9]=m,t[10]=i,t[11]=g,t[12]=_,t[13]=v,t[14]=b,t[15]=x):x=t[15];let S=x,C;t[16]!==S||t[17]!==m||t[18]!==d?(C=d?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:S}),(0,$.jsx)(ys,{side:`top`,sideOffset:8,children:m})]}):S,t[16]=S,t[17]=m,t[18]=d,t[19]=C):C=t[19];let w;t[20]!==i||t[21]!==o||t[22]!==a||t[23]!==r||t[24]!==s||t[25]!==c||t[26]!==e.onMenuOpenChange||t[27]!==e.onOpenMobileSheet||t[28]!==n?(w=null,t[20]=i,t[21]=o,t[22]=a,t[23]=r,t[24]=s,t[25]=c,t[26]=e.onMenuOpenChange,t[27]=e.onOpenMobileSheet,t[28]=n,t[29]=w):w=t[29];let T;t[30]!==C||t[31]!==w?(T=(0,$.jsxs)(`div`,{className:`relative inline-flex`,children:[C,w]}),t[30]=C,t[31]=w,t[32]=T):T=t[32];let E;t[33]!==i||t[34]!==a||t[35]!==l||t[36]!==n?(E=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:J(a,`text-current`)})}):null,t[33]=i,t[34]=a,t[35]=l,t[36]=n,t[37]=E):E=t[37];let D;return t[38]!==T||t[39]!==E?(D=(0,$.jsxs)(`div`,{className:`flex items-center gap-x-1.5`,children:[T,E]}),t[38]=T,t[39]=E,t[40]=D):D=t[40],D},(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),KE=Z.memo(function(e){let t=(0,Q.c)(29),{t:n}=Vn(),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=()=>_T({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=J(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)(vs,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,disabled:o,"aria-pressed":s,"aria-label":a,className:c,onClick:l,onMouseDown:rD,onPointerDownCapture:iD,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)(ys,{side:`top`,sideOffset:8,children:a}),t[24]=a,t[25]=m);let h;return t[26]!==m||t[27]!==p?(h=(0,$.jsxs)(bs,{children:[p,m]}),t[26]=m,t[27]=p,t[28]=h):h=t[28],h}),qE=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}=Vn(),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=Jx({canSend:l,hasSessionTarget:!!(p||m),draftSubmitting:!!h,submissionBlocked:g,sendPhase:_,queueFrozen:v,queueFallbackAvailable:y}),r;t[24]===n?r=t[25]:(r=n?{onMouseDown:aD,onPointerDownCapture:oD}:{},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)(Rc,{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:J(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=J(`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:J(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)(Rc,{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=J(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)(Rc,{className:E,spinning:!0}):(0,$.jsx)(ol,{className:J(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),JE=(e,t)=>`${e}${e?e.endsWith(`
6546
6546
 
6547
6547
  `)?``:e.endsWith(`
@@ -6591,16 +6591,16 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{S as t,l as n,p as r}f
6591
6591
 
6592
6592
  `):FN(Array.from(t.childNodes).map(e=>BN(e)).join(``))},UN=e=>Array.from(e.childNodes).every(e=>{if(e.nodeType===Node.TEXT_NODE||e.nodeType!==Node.ELEMENT_NODE)return!0;let t=e;return!NN.has(t.tagName.toLowerCase())}),WN=(e,t)=>{let n=e.cloneContents();if(UN(n)){let e=FN(Array.from(n.childNodes).map(e=>BN(e)).join(``));if(e)return e}return Array.from(n.childNodes).map(e=>HN(e)).filter(e=>e.length>0).join(`
6593
6593
 
6594
- `).trim()||FN(t)},GN=({containerRef:e})=>{let{t}=Vn(),[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=Y(e=>e.currentSessionId),y=Bu()??null,b=G(e=>e.isMobile),x=qb(),S=Jb(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,MN===w&&(MN=null),m.current&&=(f.current!==null&&(window.cancelAnimationFrame(f.current),f.current=null),c(!1),r(e=>({...e,show:!1})),a(``),!1)},[]);Z.useEffect(()=>()=>{MN===w&&(MN=null)},[w]);let T=Z.useCallback(e=>{if(typeof window>`u`)return e;let t=window.innerWidth,n=u.current/2,r=wN+n,i=t-wN-n;return r>i?t/2:Math.min(Math.max(e,r),i)},[]),E=Z.useCallback(()=>{if(!d.current)return;MN!==w&&(MN?.(),MN=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=FN(t.toString());if(!r){o.current||w();return}let i=RN(t,n);if(!i){o.current||w();return}let a=i.getBoundingClientRect();d.current={plainText:r,markdownText:WN(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 LN(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=Rw(Uw),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=q(e=>{if(!e)return;let t=Y.getState().newSessionDraft.draftID,n=l_(v,t);n&&(x_.getState().addQuote(n,e),O(),requestAnimationFrame(()=>{Array.from(document.querySelectorAll(`textarea[data-chat-input="true"]`)).find(e=>!e.closest(`[data-btw-composer]`))?.focus()}))}),A=q(e=>{if(!e||!v)return;let t={sessionId:v,directory:y};Pw.getState().addQuote(t,e),O(),rT(t)});if(Z.useEffect(()=>{if(!S)return;let t=t=>{let n=Ys(t,TN),r=C&&Ys(t,EN);if(!n&&!r)return;let i=window.getSelection(),a=e.current;if(!i||!a||!i.toString().trim())return;let o=RN(i,a);if(!o)return;t.preventDefault(),t.stopPropagation();let s=WN(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:TN,run:()=>k(i)},...C?[{id:`side`,label:t(`chat.textSelection.actions.addToSideChat`),shortcut:EN,run:()=>A(i)}]:[]];if(b){let e=g??{left:0,top:Math.max(0,window.innerHeight-88),width:window.innerWidth,height:88};return(0,ap.createPortal)((0,$.jsx)(`div`,{ref:l,"data-text-selection-menu":!0,className:J(`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)(Gn,{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,ap.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:J(`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:ON(e.shortcut)})]})]},e.id))})}),document.body)},KN=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),qN=(e,t)=>{let n=new Date(t);return n.setDate(t.getDate()-1),KN(e,n)},JN=e=>Number.isFinite(e)&&!Number.isNaN(new Date(e).getTime()),YN=(e,t)=>{if(!JN(e))return``;let n=new Date(e),r=new Date,i=Es(n,t),a=Wn(),o=qn.getState().dictionary;if(KN(n,r))return i;if(qN(n,r))return Jn(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}`},XN=e=>typeof e!=`number`||!Number.isFinite(e)||e<0?0:e,ZN=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+=XN(e.outputTokens)+XN(e.reasoningTokens),!r||t<=0||n<=0)return null;let i=t/(n/1e3);return Number.isFinite(i)&&i>0?i:null})},QN=e=>{let t=ZN(e);return t[t.length-1]??null},$N=e=>e.completionDisposition!==`active`&&typeof e.tps==`number`&&Number.isFinite(e.tps)&&e.tps>0,eP=e=>!Number.isFinite(e)||e<=0?``:`${e.toFixed(1)} tok/s`,tP=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=q(f),m;t[5]===i?m=t[6]:(m=J(`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=J(`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},nP=[`search`,`read`,`list`];function rP(e){let t=JA(e);return t===`read`?`read`:t===`glob`||t===`grep`?`search`:t===`list`?`list`:null}function iP(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 aP=[`edit`,`command`,`other`],oP=new Set([`edit`,`multiedit`,`write`,`create`,`file_write`,`apply_patch`,`patch`]),sP=new Set([`bash`,`shell`,`cmd`,`command`,`exec`,`terminal`]);function cP(e){if(!WA(e))return null;let t=JA(e);return oP.has(t)?`edit`:sP.has(t)?`command`:`other`}function lP(e){let t={edit:0,command:0,other:0};for(let n of e){let e=cP(n);e&&(t[e]+=1)}return t}function uP(e){return _A(e)}var dP=[...nP,...aP];function fP(e){return{...iP(e),...lP(e)}}function pP(e){return qA(e)}function mP(e){return e.kind===`reasoning`||e.type===`reasoning`?!1:e.kind===`justification`||e.type===`text`?!0:e.kind===`tool`||e.type===`tool`?!GA(e.toolName):e.kind!=null||e.type!=null}function hP(e,t,n){for(let r=t;r<e.length;r+=1)if(mP(n(e[r])))return!0;return!1}function gP(e){return`parts`in e?e.parts.some(e=>pP(e))?!0:!e.hasFollowingOtherType&&e.isTurnLive:e.some(e=>pP(e))}function _P(e,t,n){let r=[],i=t;for(;i<e.length&&GA(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var vP=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,yP=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=J(`inline-flex flex-none items-center gap-0.5 tabular-nums`,vP),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},bP=({activities:e,isMobile:t,isTurnLive:n=!1,hasFollowingOtherType:r=!1,exploring:i,children:a})=>{let{t:o}=Vn(),[s,c]=Z.useState(!1),l=Z.useId(),u=e.map(e=>e.part),d=i??gP({parts:u,hasFollowingOtherType:r,isTurnLive:n}),f=fP(u.map(e=>e.tool)),p=uP(u),m=dP.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=q(()=>{c(e=>!e)}),g=q(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:Sy(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":s,"aria-controls":l,"aria-label":_,"data-mobile-press-feedback":`soft`,className:J(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,wy),onClick:h,onKeyDown:g,children:[(0,$.jsx)(`span`,{className:J(`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)(AA,{isMobile:t,label:o(`chat.usedGroup.running`),className:`block`}):(0,$.jsx)(X,{name:`search`,className:`block h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:J(`typography-meta inline-flex flex-none items-center self-center font-medium`,y,vP,d&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...d?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:v}),m?(0,$.jsx)(`span`,{className:J(`typography-meta inline-flex min-h-0 w-0 min-w-0 max-w-full flex-1 items-center self-center overflow-clip`,y,vP),style:{color:`var(--tools-description)`},children:(0,$.jsx)(tP,{text:m,active:d,className:t?`!h-5 sm:!h-5`:`!h-6 sm:!h-6`})}):null,(0,$.jsx)(yP,{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:Cy(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 xP(e,t,n){let r=[],i=t;for(;i<e.length&&UA(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var SP=e=>{if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null};function CP(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=SP(n.metadata.name);if(e)return e}if(n.input&&typeof n.input==`object`){let e=n.input,t=SP(e.name);if(t)return t;let r=SP(e.id);if(r)return r}if(n.output&&typeof n.output==`object`){let e=SP(n.output.name);if(e)return e}return null}function wP(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 TP=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,EP=({activities:e,isMobile:t,children:n})=>{let{t:r}=Vn(),[i,a]=Z.useState(!1),o=Z.useId(),s=e.map(e=>e.part),c=s.some(e=>qA(e)),{joinedVisible:l,hiddenCount:u}=wP(s.map(CP)),d=u>0?r(`chat.skillGroup.summaryOverflow`,{names:l,count:u}):l,f=q(()=>{a(e=>!e)}),p=q(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:Sy(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":i,"aria-controls":o,"aria-label":m,"data-mobile-press-feedback":`soft`,className:J(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,wy),onClick:f,onKeyDown:p,children:[(0,$.jsx)(`span`,{className:J(`flex flex-none items-center justify-center`,t?`size-4`:`size-3.5`),style:{color:`var(--tools-icon)`},children:c?(0,$.jsx)(AA,{isMobile:t,label:h,className:`block`}):(0,$.jsx)(X,{name:`book`,className:`h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:J(`typography-meta flex-none font-medium`,TP,c&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...c?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:h}),d?(0,$.jsx)(`span`,{className:J(`typography-meta h-5 min-h-0 w-0 min-w-0 max-w-full flex-1 overflow-clip sm:h-6`,TP),style:{color:`var(--tools-description)`},children:(0,$.jsx)(tP,{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:Cy(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]})},DP=Z.memo(e=>{let t=(0,Q.c)(18),{part:n,messageId:r,onContentChange:i,actions:a,streamPhase:o,onShowPopup:s}=e,c=G(OP),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)(TM,{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 OP(e){return e.chatRenderMode}var kP=e=>{let t=Math.max(0,Math.round(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},AP=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,jP=J(`typography-meta font-medium`,AP),MP=J(`typography-meta`,AP),NP=[],PP=e=>{let t=e.part;return t.slim===!0&&(t.type===`tool`||t.type===`reasoning`||t.type===`file`)},FP=e=>{let t=new Set;for(let n of e)PP(n)&&n.messageId&&t.add(n.messageId);return[...t]},IP=(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}),LP=e=>{let t=(0,Q.c)(5),{href:n}=e,[r,i]=Z.useState(!1),a;t[0]===n?a=t[1]:(a=Pu(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},RP=e=>e,zP=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},BP=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},VP=e=>{let t=e.part.state?.metadata?.dir;return typeof t==`string`&&t.trim().length>0?t:null},HP=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},UP=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=HP(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`}`},WP=e=>{let t=e.part.state,n=t?.input,r=t?.output;if(Array.isArray(n?.todos)){let e=UP(n.todos);if(e)return e}if(Array.isArray(r)){let e=UP(r);if(e)return e}if(r&&typeof r==`object`&&Array.isArray(r.todos)){let e=UP(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=UP(e);if(t)return t}if(e&&typeof e==`object`&&Array.isArray(e.todos)){let t=UP(e.todos);if(t)return t}}catch{}return null},GP=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)},KP=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(mO,{variant:t?`generate-effect`:`static`,className:J(`min-w-0 flex-1 truncate whitespace-nowrap`,MP),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:J(`min-w-0 inline-flex max-w-full flex-1 items-baseline overflow-hidden`,MP),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)(mO,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:i})]})},qP=e=>{let t=rd(e);return t?t.toLowerCase().endsWith(`/skill.md`)?t:`${t}/SKILL.md`:``},JP=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 CP(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`?WP(e):zP(e)},YP=e=>{let t=[],n=[];for(let r of e){if(r.kind!==`tool`)continue;let e=r.part,i=e.tool?.trim().toLowerCase()??``;if(i!==`task`&&i!==`subagent`)continue;let a=typeof e.id==`string`?e.id.trim():``;if(!a)continue;let o=e.state;if(!o||typeof o!=`object`)continue;let s=o;n.push(a),(s.status===`pending`||s.status===`running`)&&t.push(a)}return{active:t,all:n}},XP=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=q(c),u;t[3]===i?u=t[4]:(u=Sy(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)(aM,{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&&Dk([e.activity.part],[t.activity.part])),ZP=Z.memo(e=>{let t=(0,Q.c)(9),{toolName:n,activities:r,isMobile:i}=e,a;t[0]===i?a=t[1]:(a=Sy(i),t[0]=i,t[1]=a);let o;t[2]!==r||t[3]!==i||t[4]!==n?(o=(0,$.jsx)(eF,{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&&$P(e.activities,t.activities)),QP=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.kind===`reasoning`){if(!uD(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(GA(i)){let r=_P(e,n,e=>e.part.tool);t.push({type:`tool-context-group`,activities:r.items,hasFollowingOtherType:hP(e,r.end,e=>({kind:e.kind,toolName:e.part.tool}))}),n=r.end;continue}if(UA(i)){let r=xP(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(BA(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(zA(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(VA(i)){t.push({type:`tool-static-group`,toolName:i,activities:[r]}),n++;continue}t.push({type:`tool-fallback`,activity:r}),n++}return t},$P=(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||!Dk([r.part],[i.part]))return!1}return!0},eF=Z.memo(e=>{let t=(0,Q.c)(106),{toolName:n,activities:r,isMobile:i,animateTailText:a}=e,{t:o}=Vn(),s=G(iF),c=Ru(n,o),l;t[0]===n?l=t[1]:(l=hO(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(jc),m=zc(),h=ct(aF),g=qb(),_=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=ii(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(oF)),t[10]=C,t[11]=w);let T=w,E=r[0]??null,D=!E||qA(E.part),O;t[12]===E?O=t[13]:(O=E?JP(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||VP(E);if(!e||e===`<built-in>`){A=null;break bb0}let r=qP(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=BP(E);if(!e){M=null;break bb1}let n=od(e,_);if(!n){M=null;break bb1}let r;t[26]===E?r=t[27]:(r=GP(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=td(_,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(!$u(n,_)){Hu(n,_).then(()=>{let e=G.getState(),r=_||ed(_,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=G.getState(),i=ed(_,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=q(P),I;t[36]!==_||t[37]!==m?(I=e=>{let t=rd(e);if(!t)return;let n=()=>{if(m){m.openFile({path:t});return}let e=G.getState(),n=_||ed(``,t);e.openContextFile(n,t)};if(_&&!$u(t,_)){Hu(t,_).then(n);return}n()},t[36]=_,t[37]=m,t[38]=I):I=t[38];let L=q(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`,ee=z===`skill`,H=!!(N||j),U=!!(N&&_||j),te;t[41]!==U||t[42]!==F||t[43]!==L||t[44]!==H||t[45]!==N||t[46]!==j?(te=()=>{if(!(!H||!U)){if(N){F(N.path,N.offset);return}j&&L(j.path)}},t[41]=U,t[42]=F,t[43]=L,t[44]=H,t[45]=N,t[46]=j,t[47]=te):te=t[47];let W=q(te),ne;t[48]===W?ne=t[49]:(ne=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),W())},t[48]=W,t[49]=ne);let re=q(ne),ie=H&&U&&`cursor-pointer`,ae=H&&!U&&`cursor-default opacity-70`,oe;t[50]!==ie||t[51]!==ae?(oe=J(`flex w-full items-center gap-x-1.5 min-w-0`,wy,ie,ae),t[50]=ie,t[51]=ae,t[52]=oe):oe=t[52];let se=H?`soft`:void 0,ce=H?W:void 0,le=H?re:void 0,ue=H?`button`:void 0,de=H&&U?0:void 0,fe=H&&!U?!0:void 0,pe=i?`size-4`:`size-3.5`,me;t[53]===pe?me=t[54]:(me=J(`inline-flex items-center justify-center flex-shrink-0`,pe),t[53]=pe,t[54]=me);let he;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(he={color:`var(--tools-icon)`},t[55]=he):he=t[55];let ge=D?(0,$.jsx)(AA,{isMobile:i,label:o(`chat.assistantStatus.usingTool`,{tool:c})}):u,_e;t[56]!==me||t[57]!==he||t[58]!==ge?(_e=(0,$.jsx)(`div`,{className:me,style:he,children:ge}),t[56]=me,t[57]=he,t[58]=ge,t[59]=_e):_e=t[59];let ve,ye;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(ve=J(jP,`inline-flex items-center flex-shrink-0 opacity-85`),ye={color:`var(--tools-title)`},t[60]=ve,t[61]=ye):(ve=t[60],ye=t[61]);let be;t[62]===c?be=t[63]:(be=(0,$.jsx)(`span`,{className:ve,style:ye,title:c,children:c}),t[62]=c,t[63]=be);let xe;t[64]!==a||t[65]!==f||t[66]!==N||t[67]!==s?(xe=f&&N?(0,$.jsxs)(`span`,{className:J(`inline-flex !min-h-0 items-center justify-start gap-1 min-w-0 flex-1 text-left`,MP),style:{color:`var(--tools-description)`},title:N.offset?`${N.displayPath}:${N.offset}`:N.displayPath,children:[s?(0,$.jsx)(bg,{filePath:N.path,className:`h-3.5 w-3.5`}):null,KP(N.displayPath,a)]}):null,t[64]=a,t[65]=f,t[66]=N,t[67]=s,t[68]=xe):xe=t[68];let Se;t[69]!==a||t[70]!==k||t[71]!==B?(Se=B&&k?(0,$.jsx)(`span`,{className:`inline-flex min-w-0 flex-1`,children:(0,$.jsxs)(mO,{variant:a?`generate-effect`:`static`,className:J(`min-w-0 flex-1 truncate whitespace-nowrap`,MP),style:{color:`var(--tools-description)`},title:k,children:[`"`,k,`"`]})}):null,t[69]=a,t[70]=k,t[71]=B,t[72]=Se):Se=t[72];let Ce;t[73]!==k||t[74]!==V?(Ce=V&&k?(0,$.jsxs)(`a`,{href:k,target:`_blank`,rel:`noopener noreferrer`,onClick:sF,className:J(`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`,MP),style:{color:`var(--status-info)`},title:k,children:[(0,$.jsx)(LP,{href:k}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:k})]}):null,t[73]=k,t[74]=V,t[75]=Ce):Ce=t[75];let we;t[76]!==ee||t[77]!==j?(we=ee&&j?(0,$.jsx)(`span`,{className:J(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,MP),style:{color:`var(--tools-description)`},title:j.path,children:j.name}):null,t[76]=ee,t[77]=j,t[78]=we):we=t[78];let Te;t[79]!==k||t[80]!==ee||t[81]!==j?(Te=ee&&!j&&k?(0,$.jsx)(`span`,{className:J(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,MP),style:{color:`var(--tools-description)`},title:k,children:k}):null,t[79]=k,t[80]=ee,t[81]=j,t[82]=Te):Te=t[82];let Ee;t[83]!==a||t[84]!==k||t[85]!==V||t[86]!==f||t[87]!==B||t[88]!==ee?(Ee=!f&&!B&&!V&&!ee&&k?(0,$.jsx)(mO,{variant:a?`generate-effect`:`static`,className:J(`min-w-0 flex-1 truncate whitespace-nowrap`,MP),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]=ee,t[89]=Ee):Ee=t[89];let De;return t[90]!==oe||t[91]!==se||t[92]!==ce||t[93]!==le||t[94]!==ue||t[95]!==de||t[96]!==fe||t[97]!==_e||t[98]!==be||t[99]!==xe||t[100]!==Se||t[101]!==Ce||t[102]!==we||t[103]!==Te||t[104]!==Ee?(De=(0,$.jsxs)(`div`,{className:oe,"data-mobile-press-feedback":se,onClick:ce,onKeyDown:le,role:ue,tabIndex:de,"aria-disabled":fe,children:[_e,be,xe,Se,Ce,we,Te,Ee]}),t[90]=oe,t[91]=se,t[92]=ce,t[93]=le,t[94]=ue,t[95]=de,t[96]=fe,t[97]=_e,t[98]=be,t[99]=xe,t[100]=Se,t[101]=Ce,t[102]=we,t[103]=Te,t[104]=Ee,t[105]=De):De=t[105],De},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&$P(e.activities,t.activities)),tF=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)(LM,{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}),nF=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)(DP,{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}=Vn(),_=Bu()??``,v=Z.useMemo(()=>FP(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?kP(o):null,D=i===`normal`||i===`abnormal`,O=a===`compaction`,k=O?`fold-vertical`:`stack`,A=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`),j=Z.useMemo(()=>YP(e),[e]),M=T?j.active:j.all,N=M.slice(0,c?2:3),P=q((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=Mt(_,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=on(_,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)}}),F=q(e=>{e.stopPropagation(),P(!0)}),I=T,L=I||n,R=q(()=>{if(I)return;let e=C.current;w.current=e?{top:e.getBoundingClientRect().top,scrollContainer:e.closest(`[data-scrollbar="chat"]`)}:null,L||P(),s()});Z.useEffect(()=>{T||!L||P(!1,!0)},[T,L]),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)},[L]);let z=m&&!L?Math.max(0,Math.floor(r)):0,B=!m||L||z>0,V=y.current,ee=[...V].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 Mt(_,n,e).status}),H=ee.includes(`loading`),U=ee.includes(`error`),te=ee.length>0&&ee.every(e=>e===`ready`),W=t.some(e=>V.has(e.messageId)&&PP(e)),ne=te&&!W&&!IP(t,V),re=Z.useMemo(()=>B?RP(e):NP,[e,B]),ie=Z.useMemo(()=>B?QP(re):[],[B,re]),ae=Z.useMemo(()=>L||z===0?0:Math.max(0,ie.length-z),[L,z,ie.length]),oe=Z.useMemo(()=>L||z===0?ie:ie.slice(-z),[L,z,ie]),se=!!m&&!(T&&!O);if((!se||I&&!O)&&ie.length===0)return null;let ce=(e,t)=>{let n=(0,$.jsx)(`div`,{className:Sy(c),children:t});return(0,$.jsx)(Z.Fragment,{children:n},e)},le=B?oe.map((e,t)=>{switch(e.type){case`reasoning`:return ce(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(tF,{activity:e.activity,streamPhase:p,onContentChange:f})}));case`justification`:return ce(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(nF,{activity:e.activity,onContentChange:f,onShowPopup:d,actions:h?.(e.activity),streamPhase:p})}));case`tool-expandable`:return(0,$.jsx)(XP,{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)(ZP,{toolName:e.toolName,activities:e.activities,isMobile:c},e.activities[0]?.id??`static-${e.toolName}-${t}`);case`tool-context-group`:return(0,$.jsx)(bP,{activities:e.activities,isMobile:c,isTurnLive:T,hasFollowingOtherType:e.hasFollowingOtherType,children:e.activities.map(e=>{let t=e.part,n=t.tool?.toLowerCase()??``;return HA(n)?(0,$.jsx)(eF,{toolName:n,activities:[e],isMobile:c,animateTailText:!1},e.id):(0,$.jsx)(aM,{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)(EP,{activities:e.activities,isMobile:c,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(eF,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`skill-${t}`);case`tool-fallback`:return(0,$.jsx)(XP,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);default:return null}}):null,ue=oe.length>0;return se?(0,$.jsxs)(`div`,{className:Sy(c),children:[(0,$.jsxs)(`button`,{ref:C,type:`button`,className:J(`group/tool flex w-full min-w-0 flex-nowrap items-center text-left`,c?`gap-x-1`:`gap-x-2`,!I&&wy,I&&`oc-tool-row -mx-2 rounded-lg px-2 py-0.5 cursor-default`,c&&`pr-0`),"data-mobile-press-feedback":I?void 0:`soft`,onClick:I?void 0:R,"aria-expanded":L,"aria-disabled":I||void 0,"aria-label":I?A:g(L?`chat.activity.collapseAria`:`chat.activity.expandAria`),children:[(0,$.jsxs)(`span`,{className:J(`inline-flex min-w-0 flex-1 items-center overflow-clip`,c?`gap-x-1`:`gap-x-1.5`),children:[(0,$.jsx)(`span`,{className:J(`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)(AA,{isMobile:c,label:A,className:`block`}):(0,$.jsx)(X,{name:k,className:`h-3.5 w-3.5`})}),(0,$.jsx)(`span`,{className:J(`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:A}),E?(0,$.jsx)(`span`,{className:`typography-meta shrink-0 tabular-nums text-muted-foreground`,children:E}):null]}),(0,$.jsxs)(`span`,{className:J(`ml-auto inline-flex max-w-[min(14rem,55%)] shrink-0 items-center justify-end`,c?`gap-0.5`:`gap-1`),children:[M.length>0?(0,$.jsxs)(`span`,{className:J(`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:N.map((e,t)=>(0,$.jsx)(Go,{name:e,size:c?12:14,className:J(`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:M.length})})]}):null,I?null:(0,$.jsx)(X,{name:L?`arrow-down-s`:`arrow-right-s`,className:J(`flex-shrink-0 text-muted-foreground opacity-70`,c&&`-mr-0.5`,c?`size-3`:`size-3.5`)})]})]}),ue?(0,$.jsxs)(`div`,{className:I?void 0:`relative ml-2 pl-3`,children:[I?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)`}}),ae>0?(0,$.jsxs)(`button`,{type:`button`,onClick:R,className:`typography-meta leading-4 px-2 py-1 text-muted-foreground/45 hover:text-muted-foreground/65 text-left`,children:[`+`,ae,` more...`]}):null,(0,$.jsx)(`div`,{className:`flow-root`,children:le})]}):null,L&&(H||U||ne)?(0,$.jsx)(`div`,{className:J(`typography-meta flex min-h-9 items-center gap-2 px-2 text-muted-foreground`,I?void 0:`ml-5`,U&&`text-[var(--status-error)]`),role:U?`alert`:`status`,children:H?(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`)})]}):U?(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)(Gn,{type:`button`,variant:`ghost`,size:`xs`,onClick:F,children:g(`chat.activity.outputRetry`)})]}):(0,$.jsx)(`span`,{children:g(`chat.toolOutputDialog.noOutputProduced`)})}):null]}):(0,$.jsx)(`div`,{className:Sy(c),children:le})});function iF(e){return e.showToolFileIcons}function aF(e){return e.currentDirectory}function oF(e){return[e.name,e]}function sF(e){e.stopPropagation()}var cF=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 lF(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=Cr(a,o),c;t[1]===r?c=t[2]:(c=e=>!!e.session_execution_recovery[r],t[1]=r,t[2]=c);let l=Ge(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=Ge(s,u),f=uo(r,a);if(!l&&!d){let e;return t[5]===n?e=t[6]:(e=(0,$.jsx)(iy,{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)(iy,{presentation:n}),t[7]=n,t[8]=m),m}function uF(e){let t=(0,Q.c)(5),n=qb();if(!e.sessionId||!n.active||!n.capabilities.compose){let n;return t[0]===e.presentation?n=t[1]:(n=(0,$.jsx)(iy,{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)(lF,{...e,sessionId:e.sessionId,directory:r}),t[2]=e,t[3]=r,t[4]=i):i=t[4],i}var dF={contain:`layout`},fF={containerType:`inline-size`,containerName:`message-footer`},pF=`mt-1.5 mb-0.5 flex items-center justify-start gap-1.5`,mF=`mt-3 mb-0.5 flex items-center justify-start gap-1.5`,hF=`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`,gF=`size-3.5!`,_F=`mt-1.5 mb-0.5 flex flex-wrap items-center gap-3`,vF=`mt-3 mb-0.5 flex flex-wrap items-center gap-3 -ml-[5px]`,yF=`flex items-center gap-2`,bF=`flex items-center gap-2 text-muted-foreground`,xF=`inline-flex h-3.5 items-center gap-1 text-[11px] leading-none tabular-nums text-muted-foreground`,SF=`size-3.5!`,CF=`medium`,wF=e=>{let t=(0,Q.c)(16),{label:n}=e,{t:r}=Vn(),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:CF,name:`pulse`,className:SF}),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)(vs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:xF,"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)(ys,{children:c}),t[11]=c,t[12]=l);let u;return t[13]!==s||t[14]!==l?(u=(0,$.jsxs)(bs,{children:[s,l]}),t[13]=s,t[14]=l,t[15]=u):u=t[15],u},TF=e=>e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e,EF=`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)]`,DF=`h-7 gap-1.5`,OF=`h-6 gap-1`,kF=`text-[11px] leading-none`,AF=`size-3.5`,jF=`size-3`,MF=5,NF=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=J(`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=J(`flex-shrink-0`,s),t[2]=s,t[3]=c);let l;t[4]!==n.file||t[5]!==c?(l=(0,$.jsx)(bg,{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=TF(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=J(`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}),PF=Z.memo(e=>{let t=(0,Q.c)(18),{file:n,canOpen:r,isMobile:i,onOpen:a}=e,{t:o}=Vn(),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=q(s),l=!r,u=i?OF:DF,d;t[3]===u?d=t[4]:(d=J(EF,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)(NF,{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)(Gn,{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}),FF=Z.memo(e=>{let t=(0,Q.c)(53),{fileCount:n,changedFiles:r,turnId:i,isLatestTurn:a,isMobile:o}=e,{t:s}=Vn(),c=Bu(),l=qb(),u=l.directory||c,d=l.sessionId,f=zc(),p=G(JF),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,MF),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=J(EF,o?OF:DF),E=o?jF:AF,D;t[10]===o?D=t[11]:(D=o?J(kF,`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?J(kF,`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?J(kF,`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){BM({directory:u,filePath:e,turnMessageId:i,sessionId:d});return}o&&a&&u&&BM({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=q(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&&BM({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=q(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=J(`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=J(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 ee;t[38]===E?ee=t[39]:(ee=(0,$.jsx)(X,{name:`file-edit`,className:E}),t[38]=E,t[39]=ee);let H=`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]!==H||t[43]!==U||t[44]!==O?(te=(0,$.jsx)(`span`,{id:H,className:O,children:U}),t[42]=H,t[43]=U,t[44]=O,t[45]=te):te=t[45];let W;t[46]!==S||t[47]!==A?(W=(0,$.jsx)(`span`,{className:A,children:S}),t[46]=S,t[47]=A,t[48]=W):W=t[48];let ne;t[49]===E?ne=t[50]:(ne=J(E,`opacity-60`),t[49]=E,t[50]=ne);let re;return t[51]===ne?re=t[52]:(re=(0,$.jsx)(X,{name:`arrow-right-s`,className:ne}),t[51]=ne,t[52]=re),(0,$.jsxs)(`section`,{className:R,"data-turn-changes-preview":`true`,"data-message-action-group":`true`,"aria-labelledby":`turn-changes-${i}`,children:[(0,$.jsxs)(Gn,{type:`button`,variant:`ghost`,size:`xs`,disabled:!b,onClick:I,className:z,"aria-label":B,title:V,children:[ee,te,W,re]}),_.length>0?(0,$.jsxs)(`div`,{className:J(`flex min-w-0 flex-col`,o?`gap-0`:`gap-0.5`),children:[_.map(e=>(0,$.jsx)(PF,{file:e,canOpen:b,isMobile:o,onOpen:P},e.file)),v>0?(0,$.jsxs)(Gn,{type:`button`,variant:`ghost`,size:`xs`,disabled:!b,className:J(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:J(E,`flex-shrink-0`)}),(0,$.jsxs)(`span`,{className:M,children:[`+`,w]}),(0,$.jsx)(X,{name:`arrow-right-s`,className:E})]}):null]}):null]})}),IF=e=>e.type===`subtask`,LF=e=>{let t=e;return t.type===`text`&&typeof t.shellAction==`object`&&t.shellAction!==null},RF=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}`},zF=e=>{let t=(0,Q.c)(49),{part:n}=e,[r,i]=Z.useState(!1),a=Bu(),{isMobile:o}=bc(),s=Y(YF),c=G(XF),l=qb(),{t:u}=Vn(),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=RF(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(ZF),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&&Yb(l,b,e,()=>{if(!va({sessionId:b,directory:e})){if(gp()||o||le()){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},BF=e=>{let t=(0,Q.c)(34),{notification:n}=e,r=Bu(),i=G(QF),{isMobile:a}=bc(),{t:o}=Vn(),s;t[0]!==r||t[1]!==a?(s=r&&!a&&!le(),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=q(()=>{!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=q(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]:(_=J(`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=J(`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)(hu,{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},VF={background:`transparent`,backgroundColor:`transparent`},HF=e=>{let t=(0,Q.c)(37),{part:n}=e,[r,i]=Z.useState(!1),a=Z.useRef(null),{t:o}=Vn(),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=q(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 Bn(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=q(_),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:J(`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)(Gn,{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)(vd,{language:`bash`,code:c,codeStyle:VF,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},UF=e=>{let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},WF=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}=Vn(),w=jx(),T=Jb(qb()),E=G(e=>e.timeFormatPreference),[D,O]=Z.useState(!1),k=Z.useRef(null),A=Z.useMemo(()=>n.filter(e=>e.type===`text`?!dD(e):!!(IF(e)||LF(e))),[n]),j=Z.useMemo(()=>A.map(e=>ki(e)?zO(uD(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=q(()=>{k.current!==null&&typeof window<`u`&&(window.clearTimeout(k.current),k.current=null)}),ee=q(()=>{!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 H=q(e=>{!l||!L||(e.stopPropagation(),e.preventDefault(),l(),I&&ee())}),U=w===`mini-chat`||!T.fork?void 0:h,te=Z.useMemo(()=>{if(typeof i!=`number`||i<=0)return null;let e=YN(i,E);return e.length>0?e:null},[S,i,E]),W=J(`group/user-actions`,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`),ne=!_&&v&&z?(0,$.jsx)(`div`,{className:W,children:(0,$.jsxs)(`div`,{className:J(yF,`justify-end`,!a&&b===`inline`&&`translate-x-5`,`pointer-events-auto opacity-100`),"data-message-action-group":`true`,children:[(0,$.jsxs)(`span`,{className:J(xF,`text-primary`),"aria-live":`polite`,children:[(0,$.jsx)(X,{weight:CF,name:`edit`,className:SF}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:C(`chat.messageBody.actions.editStaged`)})]}),y?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"aria-label":C(`chat.messageBody.actions.cancelEdit`),onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),y()},children:(0,$.jsx)(X,{weight:CF,name:`close`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.cancelEdit`)})]}):null]})}):null,re=(_&&z?(0,$.jsx)(`div`,{className:W,children:(0,$.jsx)(`div`,{className:J(yF,`justify-end`,!a&&b===`inline`&&`translate-x-5`,`pointer-events-none opacity-100`),children:(0,$.jsx)(`span`,{className:J(xF,`animate-text-shimmer`),"aria-live":`polite`,children:C(`chat.messageBody.actions.editing`)})})}):null)??ne??((P&&L||p||m||U)&&z?(0,$.jsx)(`div`,{className:W,children:(0,$.jsxs)(`div`,{className:J(yF,`justify-end`,!a&&b===`inline`&&`translate-x-5`,o?`pointer-events-auto opacity-100`:`pointer-events-none opacity-0 transition-opacity duration-150 group-hover/message:pointer-events-auto group-hover/message:opacity-100 group-hover/user-actions:pointer-events-auto group-hover/user-actions:opacity-100 group-hover/user-shell:pointer-events-auto group-hover/user-shell:opacity-100`),"data-message-action-group":`true`,children:[te?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:J(xF,`mr-1`),"aria-label":`Message time: ${te}`,children:[(0,$.jsx)(X,{weight:CF,name:`time`,className:SF}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:te})]})}),(0,$.jsx)(ys,{children:te})]}):null,m&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"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:CF,name:g===`revert`?`loader-4`:`arrow-go-back`,className:J(gF,g===`revert`&&`animate-spin`)})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.revert`)})]}),p&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"aria-label":C(`chat.messageBody.actions.editAria`),disabled:!!g,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),p()},children:(0,$.jsx)(X,{weight:CF,name:`edit`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.edit`)})]}),U&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"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:CF,name:g===`fork`?`loader-4`:`git-branch`,className:J(gF,g===`fork`&&`animate-spin`)})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.fork`)})]}),P&&L&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":D||F?`true`:void 0,className:hF,"aria-label":C(`chat.messageBody.actions.copyMessageAria`),onPointerDown:e=>e.stopPropagation(),onClick:H,onFocus:()=>O(!0),onBlur:()=>{F||O(!1)},children:F?(0,$.jsx)(X,{weight:CF,name:`check`,className:J(gF,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:CF,name:`file-copy`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.copyMessage`)})]})]})}):null);return R?(0,$.jsxs)(`div`,{className:`relative w-full group/message`,"data-user-message-body":`true`,style:dF,onTouchStart:I&&P&&L?ee:void 0,children:[(0,$.jsx)(`div`,{className:J(`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(IF(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(zF,{part:e})},e.id??`user-subtask-${i}`);if(LF(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(HF,{part:e})},e.id??`user-shell-${i}`);let o=j[i];if(o)return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(BF,{notification:o})},e.id??`subagent-notification-${i}`);let s;return f&&M&&!N&&uD(e).includes(M)&&(s=f,N=!0),(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(fO,{part:e,messageId:t,isMobile:a,agentMention:s,messageParts:r??n})},e.id??`user-text-${i}`)})}),(0,$.jsx)(Kg,{files:n,messageID:t,sessionID:e,onShowPopup:d,compact:!0}),re]}):(0,$.jsx)($.Fragment,{children:re})}),GF=Z.memo(({hasCopyableText:e,isTouchContext:t,onCopyMessage:n,reviewTransferAction:r,ttsText:i,sessionId:a})=>{let{t:o}=Vn(),s=jx(),c=qb(),l=Jb(c),{isPlaying:u,play:d,stop:f}=vN(),p=Ki(e=>e.showMessageTTSButtons),m=Ki(e=>e.voiceProvider),[h,g]=Z.useState(!1),[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),x=Z.useRef(null),S=Z.useRef(null),C=!!n,w=!!((c.sessionId||a)&&c.directory&&l.openSourceSession&&s!==`mini-chat`),T=q(()=>{x.current!==null&&typeof window<`u`&&(window.clearTimeout(x.current),x.current=null)}),E=q(()=>{S.current!==null&&typeof window<`u`&&(window.clearTimeout(S.current),S.current=null)});Z.useEffect(()=>()=>{T(),E()},[E,T]),Z.useEffect(()=>{(!e||!C)&&(g(!1),v(!1),T(),E())},[C,E,T,e]);let D=q(()=>{!t||!C||!e||typeof window>`u`||(T(),g(!0),x.current=window.setTimeout(()=>{g(!1),x.current=null},1800))}),O=q(async r=>{!n||!e||(r.stopPropagation(),r.preventDefault(),await n()!==!1&&(E(),v(!0),typeof window<`u`&&(S.current=window.setTimeout(()=>{v(!1),S.current=null},2e3)),t&&D()))}),k=q(async t=>{if(t.stopPropagation(),t.preventDefault(),!(!r||y||!e)){b(!0);try{await r.onClick()}finally{b(!1)}}}),A=q(e=>{e.stopPropagation(),e.preventDefault();let t=c.sessionId||a;!t||!c.directory||!c.openSourceSession||c.openSourceSession(t,c.directory)}),j=Z.useMemo(()=>u?o(`chat.messageBody.tts.stopSpeaking`):o(`chat.messageBody.tts.readAloudWithProvider`,{provider:m===`browser`?`Browser`:m===`openai`?`OpenAI`:m===`openai-compatible`?`Custom`:`Say`}),[u,o,m]),M=q(e=>{if(e.stopPropagation(),e.preventDefault(),u){f();return}i.trim()&&d(i)});return(0,$.jsxs)($.Fragment,{children:[n&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":h||_?`true`:void 0,className:J(hF,!e&&`opacity-50`),disabled:!e,"aria-label":o(`chat.messageBody.actions.copyMessageAria`),"aria-hidden":!e,onPointerDown:e=>e.stopPropagation(),onClick:e=>{O(e)},onFocus:()=>{e&&g(!0)},onBlur:()=>{_||g(!1)},children:_?(0,$.jsx)(X,{weight:CF,name:`check`,className:J(gF,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:CF,name:`file-copy`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:o(`chat.messageBody.actions.copyAnswer`)})]}),w?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"aria-label":o(`chat.messageBody.actions.openSourceSessionAria`),onPointerDown:e=>e.stopPropagation(),onClick:A,children:(0,$.jsx)(X,{weight:CF,name:`target`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:o(`chat.messageBody.actions.openSourceSession`)})]}):null,r&&s!==`mini-chat`&&l.reviewTransfer?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,size:`icon`,variant:`ghost`,disabled:y||!e,className:J(hF,(!e||y)&&`opacity-50`),"aria-label":r.ariaLabel,onPointerDown:e=>e.stopPropagation(),onClick:e=>{k(e)},children:y?(0,$.jsx)(X,{weight:CF,name:`loader-4`,className:J(gF,`animate-spin`)}):(0,$.jsx)(X,{weight:CF,name:`arrow-left-right`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:r.tooltip})]}):null,s!==`mini-chat`&&p&&e&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:J(hF,u?`text-green-500`:`hover:text-foreground/80`),"aria-label":o(u?`chat.messageBody.tts.stopSpeaking`:`chat.messageBody.tts.readAloud`),onPointerDown:e=>e.stopPropagation(),onClick:M,children:u?(0,$.jsx)(X,{weight:CF,name:`stop`,className:gF}):(0,$.jsx)(X,{weight:CF,name:`volume-up`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:j})]})]})}),KF=Z.memo(({sessionId:e,messageId:t,parts:n,isMessageCompleted:r,messageFinish:i,messageCompletedAt:a,messageCreatedAt:o,isMobile:s,alwaysShowActions:c,hasTouchInput:l,expandedTools:u,onToggleTool:d,onShowPopup:f,streamPhase:p,allowAnimation:m,onContentChange:h,hasTextContent:g=!1,onCopyMessage:_,onAuxiliaryContentComplete:v,showReasoningTraces:y=!1,turnGroupingContext:b,errorPresentation:x,reviewTransferDirection:S=null})=>{let C=x?.text,{t:w,locale:T}=Vn(),E=jx(),D=Jb(qb()),O=p,k=Z.useRef(null),A=Z.useRef(null),j=p===`streaming`||p===`cooldown`,M=Z.useRef({messageId:t,experiencedStreamingOrCooldown:j});M.current.messageId===t?j&&(M.current.experiencedStreamingOrCooldown=!0):M.current={messageId:t,experiencedStreamingOrCooldown:j};let N=!!(l??s),P=!!(c??s),F=s?vF:_F,I=!r,L=Z.useMemo(()=>n.filter(e=>!dD(e)).filter(e=>e.type!==`compaction`),[n]),R=Z.useMemo(()=>L.filter(e=>e.type===`tool`),[L]),z=Z.useMemo(()=>L.filter(e=>e.type===`text`),[L]),B=Z.useMemo(()=>eo(z),[z]),V=G(e=>e.openContextPreview),ee=le(),H=E===`mini-chat`,U=Z.useMemo(()=>{if(ee||s||H)return null;for(let e of z){let t=e.text;if(typeof t!=`string`||t.length===0)continue;let n=Fu(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 R){let t=e.state,n=t&&typeof t.output==`string`?t.output:null;if(!n)continue;let r=Fu(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},[z,s,H,ee,R]),te=Y(e=>e.forkFromMessage),W=Y(e=>e.forkTransition),ne=Y(e=>e.currentSessionId),re=Y(e=>e.getDirectoryForSession),ie=Bu(),ae=S===`review-to-original`,oe=!s&&!ee?S:null,se=Z.useMemo(()=>{let t=B.trim();if(!(!e||!ie||!t||!oe))return oe===`review-to-original`?{ariaLabel:w(`chat.messageBody.actions.sendReviewFeedback`),tooltip:w(`chat.messageBody.actions.sendReviewFeedback`),onClick:async()=>{try{await kr(e,ie,t)}catch(e){console.error(`[review-flow] failed to send review feedback`,e)}}}:{ariaLabel:w(`chat.messageBody.actions.sendImplementationResponse`),tooltip:w(`chat.messageBody.actions.sendImplementationResponse`),onClick:async()=>{try{await yr(e,ie,t)}catch(e){console.error(`[review-flow] failed to send implementation response`,e)}}}},[B,ie,oe,e,w]),[ce,ue]=Z.useState(!1),de=G(e=>e.chatRenderMode),fe=b?de:`live`,pe=G(e=>e.collapsibleThinkingBlocks),me=G(e=>e.showSplitAssistantMessageActions),he=G(e=>e.showAssistantTps),ge=G(e=>e.timeFormatPreference),_e=fe===`sorted`,ve=b?.isLastAssistantInTurn??!1,ye=i===`stop`,be=(ye||r||!!C)&&(b?.isTurnSettled??!0),xe=ye?`completed`:O,Se=R.length>0,Ce=Z.useMemo(()=>R.some(e=>qA(e)),[R]),we=qA,Te=KA,Ee=M.current.experiencedStreamingOrCooldown,De=Z.useRef({messageId:t,initialized:!1,observedPartIds:new Set});Z.useEffect(()=>{if(De.current.messageId!==t&&(De.current={messageId:t,initialized:!1,observedPartIds:new Set}),!Ee||!Oa())return;let n=De.current,r=!n.initialized;n.initialized=!0;for(let i of R){if(n.observedPartIds.has(i.id))continue;if(!Kr(r,we(i))){n.observedPartIds.add(i.id);continue}let a=e??i.sessionID;a&&(n.observedPartIds.add(i.id),Na({sessionID:a,messageID:t,partID:i.id,kind:`tool`}))}},[Ee,we,t,e,R]);let Oe=Z.useMemo(()=>R.length===0||!Ce&&R.every(e=>Te(e)),[R,Ce,Te]),ke=Z.useMemo(()=>L.filter(e=>e.type===`reasoning`),[L]),Ae=Z.useMemo(()=>ke.length===0||ke.every(e=>typeof e.time?.end==`number`),[ke]),je=typeof i!=`string`,Me=ke.length>0&&Se&&(Ce||je||!Oe),Ne=I||Se&&(Ce||je||!Oe),Pe=I||Me,Fe=Se||ke.length>0,Ie=z.length===0,Le=Fe&&Ie&&!Ne&&!Pe&&Oe&&Ae,Re=Z.useRef(!1),ze=Z.useRef(!1);Z.useEffect(()=>{ze.current=!1},[t]),Z.useEffect(()=>{if(!Le){Re.current=!1;return}Re.current||(Re.current=!0,v?.())},[Le,v]),Z.useEffect(()=>{if(I){ze.current=!1;return}if(Se){ze.current=!1;return}ke.length!==0&&(Pe||!Ae||ze.current||(ze.current=!0,h?.(`structural`)))},[I,Se,h,Ae,ke.length,Pe]);let Be=!!g&&!I,Ve=q(async n=>{if(n.stopPropagation(),n.preventDefault(),!(!e||!t||ce||W)){ue(!0);try{await te(e,t)}finally{ue(!1)}}}),He=Z.useMemo(()=>{let e=b?.activityParts;return!_e||!e?[]:e},[_e,b?.activityParts]),Ue=Z.useMemo(()=>{let e=b?.activityGroupSegments;return!_e||!e?[]:e.filter(e=>e.anchorMessageId===t)},[_e,t,b?.activityGroupSegments]),We=Ue.length>0,Ge=Z.useMemo(()=>{let e=new Map,t=new Map;return He.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)}}},[He]),Ke=b?.toggleGroup,qe=b?.activityPresentationKind===`compaction`,Je=b?.isGroupExpanded===!0,Ye=_e&&qe&&!Je,Xe=_e?b?.activityOwnerMessageId===t||We:!b?.activityOwnerMessageId||b.activityOwnerMessageId===t||We,Ze=_e&&Xe&&(We||qe)&&!!Ke,Qe=qM(i,L),$e={finish:i,parts:L,streamPhase:xe,error:C,isLastAssistantInTurn:ve},et=QM($e),tt=_e&&$M($e),nt=_e&&!et&&!(qe&&Je),rt=Be,it=ve&&be&&!Ye&&(g||!!C||r),at=b?.diffStats?.hasDiffs===!0,ot=!H&&ve&&Qe&&be&&!Ye&&b?.diffStats?.hasDiffs===!0,st=me&&rt&&!it&&!_e,ct=Z.useMemo(()=>(0,$.jsx)(GF,{hasCopyableText:Be,isTouchContext:N,onCopyMessage:_,ttsText:B,reviewTransferAction:se,sessionId:e}),[B,Be,N,_,se,e]),lt=Z.useMemo(()=>e=>{if(!me||!_e)return null;let t=uD(e.part).trim();return t?(0,$.jsx)(GF,{hasCopyableText:!0,isTouchContext:N,onCopyMessage:async()=>(await Bn(t)).ok,ttsText:t}):null},[_e,N,me]),ut=Z.useMemo(()=>{if(!st)return-1;let e=-1;for(let t=0;t<L.length;t+=1){let n=L[t];!n||n.type!==`text`||nt||Ge.get(n)?.kind!==`justification`&&(e=t)}return e},[Ge,nt,st,L]),dt=st&&ut<0,ft=Z.useMemo(()=>{let n=[];if(Ze&&Ke&&b){let e=(e,t,r=t)=>{n.push((0,$.jsx)(`div`,{children:(0,$.jsx)(cF,{parts:t,materializationParts:r,isExpanded:b.isGroupExpanded===!0,collapsedPreviewCount:0,completionDisposition:b.completionDisposition,activityPresentationKind:b.activityPresentationKind,durationMs:b.durationMs,startedAt:b.userMessageCreatedAt,onToggle:Ke,isMobile:s,expandedTools:u,onToggleTool:d,onShowPopup:f,onContentChange:h,streamPhase:xe,showHeader:!0,diffStats:b.diffStats,renderJustificationActions:lt})},`progressive-group-${e}`))};Ue.length>0?Ue.forEach(t=>{let n=y?t.parts:t.parts.filter(e=>e.kind!==`reasoning`);e(t.id,n,t.parts)}):qe&&e(`${t}:compaction-status`,[])}let r=0;for(;r<L.length;){let i=L[r];if(i.type===`text`){let a=Ge.get(i);if(nt){r+=1;continue}if(Ye){r+=1;continue}if(a?.kind===`justification`){r+=1;continue}n.push((0,$.jsx)(`div`,{ref:A,"data-message-text-export-source":`true`,children:(0,$.jsx)(TM,{part:i,sessionId:e,messageId:t,streamPhase:xe,chatRenderMode:fe,allowSortedFinalStreaming:tt,hasStreamingHapticLifecycle:Ee,onContentChange:h,onShowPopup:f})},`assistant-text-${t}-${i.id??r}`)),st&&r===ut&&n.push((0,$.jsx)(`div`,{className:s?mF:pF,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:yF,"data-message-action-group":`true`,children:ct})},`message-actions-${t}`)),r++;continue}if(i.type===`reasoning`){if(Ge.get(i)?.kind===`reasoning`){r+=1;continue}if(!uD(i).trim()){r+=1;continue}y&&(pe?n.push((0,$.jsx)(`div`,{className:Sy(s),children:(0,$.jsx)(LM,{part:i,messageId:t,streamPhase:xe,onContentChange:h})},`reasoning-${t}-${i.id??r}`)):n.push((0,$.jsx)(TM,{part:i,sessionId:e,messageId:t,streamPhase:xe,chatRenderMode:fe,hasStreamingHapticLifecycle:Ee,onContentChange:h,onShowPopup:f},`reasoning-${t}-${i.id??r}`))),r++;continue}if(i.type===`tool`){let e=i,a=e.tool?.toLowerCase()??``;if(_e&&!Xe){r+=1;continue}if(Ge.get(i)?.kind===`tool`){r+=1;continue}if(GA(a)){let e=_P(L,r,e=>e.type!==`tool`||Ge.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)(bP,{activities:i,isMobile:s,isTurnLive:xe!==`completed`,hasFollowingOtherType:hP(L,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 HA(n)?(0,$.jsx)(eF,{toolName:n,activities:[e],isMobile:s,animateTailText:!1},e.id):(0,$.jsx)(aM,{part:e.part,messageId:t,isExpanded:u.has(e.part.id),onToggle:d,isMobile:s,alwaysShowActions:P,onContentChange:h,onShowPopup:f,animateTailText:!1},e.id)})},`context-tools-${i[0].id}`)),r=e.end;continue}}if(UA(a)){let e=xP(L,r,e=>e.type!==`tool`||Ge.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)(EP,{activities:i,isMobile:s,children:i.map(e=>(0,$.jsx)(eF,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:s,animateTailText:!1},e.id))},`skill-tools-${i[0].id}`)),r=e.end;continue}}if(zA(a)){n.push((0,$.jsx)(`div`,{className:Sy(s),children:(0,$.jsx)(aM,{part:e,messageId:t,isExpanded:u.has(e.id),onToggle:d,isMobile:s,alwaysShowActions:P,onContentChange:h,onShowPopup:f,animateTailText:!1})},`tool-${e.id}`)),r++;continue}n.push((0,$.jsx)(`div`,{className:Sy(s),children:(0,$.jsx)(eF,{toolName:a,activities:[{id:e.id,turnId:``,messageId:t,partIndex:r,part:e,kind:`tool`}],isMobile:s,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`&&xe!==`completed`&&!be&&!x&&(!b||b.isLastAssistantInTurn)){let e=i;n[n.length-1]=Z.cloneElement(e,{className:J(typeof e.props.className==`string`?e.props.className:void 0,s?`pb-1`:`pb-1.5`),"data-live-status-text-gap":``})}return n},[Ge,Ue,P,fe,pe,0,u,Ye,qe,s,Xe,_e,ut,t,ct,lt,e,h,f,d,Ze,st,xe,x,Ee,be,y,nt,tt,Ke,b,L]),pt=Z.useMemo(()=>{if(!ve||!be)return;let e=b?.durationMs;if(!(typeof e!=`number`||e<=0))return UF(e)},[ve,be,b?.durationMs]),mt=Z.useMemo(()=>{let e=typeof a==`number`&&a>0?a:typeof o==`number`&&o>0?o:null;if(e===null)return null;let t=YN(e,ge);return t.length>0?t:null},[a,o,ge,T]),ht=Z.useMemo(()=>{if(!he||!ve)return null;let e=b?.assistantTps;if(!$N({completionDisposition:b?.completionDisposition,tps:e}))return null;let t=eP(e??0);return t.length>0?t:null},[he,ve,b?.assistantTps,b?.completionDisposition]),gt=(0,$.jsxs)($.Fragment,{children:[!H&&!s&&!ee&&U?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"aria-label":w(`chat.messageBody.actions.openPreviewAria`),onPointerDown:e=>e.stopPropagation(),onClick:()=>{let e=ie??(ne?re(ne):null);e&&V(e,U)},children:(0,$.jsx)(X,{weight:CF,name:`global`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:w(`chat.messageBody.actions.openPreview`)})]}):null,!H&&!ae&&D.fork?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,size:`icon`,variant:`ghost`,className:hF,"aria-label":w(`chat.messageBody.actions.forkAria`),"aria-busy":ce,disabled:ce||!!W,onPointerDown:e=>e.stopPropagation(),onClick:e=>{Ve(e)},children:(0,$.jsx)(X,{weight:CF,name:ce?`loader-4`:`git-branch`,className:J(gF,ce&&`animate-spin`)})})}),(0,$.jsx)(ys,{sideOffset:6,children:w(`chat.messageBody.actions.fork`)})]}):null]});return(0,$.jsxs)(`div`,{ref:k,"data-message-text-export-root":`true`,className:J(`relative w-full group/message`),style:dF,children:[(0,$.jsx)(GN,{containerRef:k}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`message-content-text leading-relaxed text-foreground/90 [&_p:last-child]:mb-0 [&_ul:last-child]:mb-0 [&_ol:last-child]:mb-0`,children:[ft,x&&(0,$.jsx)(Ju,{children:(0,$.jsx)(`div`,{className:`my-1.5`,"data-assistant-error":x.variant,children:(0,$.jsx)(uF,{presentation:x,sessionId:e,messageId:t,directory:ie??void 0})})},`assistant-error`)]}),ot&&b?.diffStats?(0,$.jsx)(FF,{fileCount:b.diffStats.files,changedFiles:b.changedFiles,turnId:b.turnId,isLatestTurn:b.isLatestTurn,isMobile:s}):null,(0,$.jsx)(Kg,{files:n,messageID:t,sessionID:e,onShowPopup:f}),dt&&(0,$.jsx)(`div`,{className:J(s?mF:pF),"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:yF,"data-message-action-group":`true`,children:ct})}),it&&(0,$.jsxs)(`div`,{className:F,"data-message-footer":`true`,style:fF,children:[(0,$.jsxs)(`div`,{className:yF,"data-message-action-group":`true`,children:[ct,gt]}),ht||pt||mt?(0,$.jsxs)(`div`,{className:bF,children:[ht?(0,$.jsx)(wF,{label:ht}):null,pt?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:xF,children:[(0,$.jsx)(X,{weight:CF,name:`hourglass`,className:SF}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:pt})]})}),(0,$.jsx)(ys,{children:pt})]}):null,mt?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:xF,"aria-label":`Message time: ${mt}`,children:[(0,$.jsx)(X,{weight:CF,name:`time`,className:SF}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:mt})]})}),(0,$.jsx)(ys,{children:mt})]}):null]}):null,!H&&ve&&ye&&!at?(0,$.jsx)(VM,{activityParts:b?.activityParts}):null]}),!it&&!Ye&&ht?(0,$.jsx)(`div`,{className:F,"data-message-footer":`true`,"data-message-tps":`interrupted`,style:fF,children:(0,$.jsx)(`div`,{className:bF,children:(0,$.jsx)(wF,{label:ht})})}):null]})]})}),qF=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)(WF,{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)(KF,{...r}),t[26]=r,t[27]=i),i});function JF(e){return e.openContextPanelTab}function YF(e){return e.setCurrentSession}function XF(e){return e.openContextPanelTab}function ZF(e){return!e}function QF(e){return e.openContextPanelTab}var $F=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}},eI=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},tI={"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`},nI={icon:`pause-circle`,variant:`muted`};function rI(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`,nI.icon,nI.variant,!0):c(`chat.response.interrupted`,nI.icon,nI.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(tI,a)){if(a===`compaction.interrupted`)return c(tI[a],nI.icon,nI.variant,r===`Compaction was interrupted`);if(a===`compaction.unavailable`)return c(tI[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(tI[a],e)}return(!a||a===`unknown`||a===`error`)&&eI(r)?c(`chat.response.auth`,`lock`):{...c(`chat.response.failed`,`error-warning`),...!r&&i?{rawMessage:i}:{}}}function iI(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.nativeType===`synthetic`&&t.description===`Continuing after restart`}function aI(e,t){if(iI(e))return{text:t(`chat.response.continuingAfterRestart`),icon:`restart`,variant:`info`}}function oI(e){return!e}function sI(e){let t=(0,Q.c)(23),{part:n,isMobile:r}=e,i=r!==void 0&&r,{t:a}=Vn(),o=n.status===`running`,s=n.status===`failed`,c;t[0]!==s||t[1]!==o||t[2]!==a?(c=a(o?`chat.activity.compacting`:s?`chat.activity.compactionFailed`:`chat.activity.compactionCompleted`),t[0]=s,t[1]=o,t[2]=a,t[3]=c):c=t[3];let l=c,u;t[4]!==s||t[5]!==n.error||t[6]!==a?(u=s?rI(n.error,a):void 0,t[4]=s,t[5]=n.error,t[6]=a,t[7]=u):u=t[7];let d=u,f=n.status,p=i?`h-7`:`h-8`,m;t[8]===p?m=t[9]:(m=J(`flex w-full items-center gap-3`,p),t[8]=p,t[9]=m);let h=o?`polite`:void 0,g=d?.text??l,_;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 border-t`,"aria-hidden":`true`}),t[10]=_):_=t[10];let v=o?`animate-text-shimmer text-[var(--status-info)] [--oc-text-shimmer-base:var(--status-info)]`:s?`text-[var(--status-error)]/85`:`text-muted-foreground`,y;t[11]===v?y=t[12]:(y=J(`shrink-0 typography-meta`,v),t[11]=v,t[12]=y);let b;t[13]!==y||t[14]!==l?(b=(0,$.jsx)(`span`,{className:y,children:l}),t[13]=y,t[14]=l,t[15]=b):b=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 border-t`,"aria-hidden":`true`}),t[16]=x):x=t[16];let S;return t[17]!==n.status||t[18]!==b||t[19]!==m||t[20]!==h||t[21]!==g?(S=(0,$.jsxs)(`div`,{"data-compaction-card":``,"data-compaction-status":f,className:m,role:`separator`,"aria-live":h,"aria-label":g,children:[_,b,x]}),t[17]=n.status,t[18]=b,t[19]=m,t[20]=h,t[21]=g,t[22]=S):S=t[22],S}var cI=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},lI=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=cI(t.mode)??cI(t.agent)??cI(r?.agent),o=cI(t.providerID)??cI(n?.providerID)??cI(i?.providerID),s=cI(t.modelID)??cI(n?.modelID)??cI(n?.id)??cI(i?.modelID)??cI(i?.id),c=cI(n?.variant)??cI(i?.variant)??cI(t.variant)??cI(r?.variant);return!a&&!o&&!s&&!c?null:{agentName:a,providerId:o,modelId:s,variant:c}},uI=e=>{let t=e?.providerId?.trim(),n=e?.modelId?.trim();return!t||!n?null:{providerId:t,modelId:n}},dI=e=>uI(e.assistantIdentity)??uI(e.userIdentity)??(e.allowComposerFallback?uI(e.composerSelection):null)??uI(e.sessionSelection),fI=e=>{let t=e?.modelId??null;return{providerID:e?.providerId??null,modelID:t,agentName:e?.agentName,modelName:sr(void 0,t)||void 0,variant:e?.variant}},pI=e=>!(!e.isLastTurn||!e.sessionIsWorking||e.hasAssistantMessages||e.activityPresentationKind===`compaction`||e.hasActiveStreamingMessage),mI=(e,t,n)=>e===`active`||n?.isLastTurn&&n.hasConfirmedFinalBody!==!0?!0:t===`summary`,hI=e=>!e,gI=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),vI=e=>e.isWorking?!0:e.isInActiveTurn?e.headerCompletionDisposition!==`normal`&&e.headerCompletionDisposition!==`abnormal`:!1,yI=e=>e.turnCompletionDisposition===`active`&&(e.isLastTurn||e.hasAssistantMessages)?`active`:e.headerPresentationDisposition,bI=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},xI=e=>{let t=e.info;return typeof t.parentID==`string`&&t.parentID.length>0?t.parentID:null},SI=e=>!e||bI(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`)}),CI=e=>bI(e)===`user`?SI(e)||e.parts.some(e=>{let t=e.shellAction;return e.type===`text`&&typeof t==`object`&&!!t}):!1,wI=(e,t)=>{if(bI(e)!==`assistant`||t&&xI(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}}},TI=(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(bI(t)===`user`)break;let{hide:i,details:a}=wI(t,r);if(i){let e=typeof a?.command==`string`?a.command.trim():``;return e.length>0?e:null}}return null},EI=gu(()=>bn(()=>import(`./ToolOutputDialog-CEtY95oc.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]))),DI=4e3,OI=new Map,kI=new Map,AI=new Set([`bash`,`shell`,`cmd`,`terminal`]),jI=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},MI=e=>{let t=OI.get(e);return t?new Set(t):new Set},NI=(e,t)=>{if(OI.size>=DI&&!OI.has(e)){let e=OI.keys().next().value;typeof e==`string`&&OI.delete(e)}OI.set(e,new Set(t))},PI=e=>{let t=kI.get(e);return t?new Set(t):new Set},FI=(e,t)=>{if(kI.size>=DI&&!kI.has(e)){let e=kI.keys().next().value;typeof e==`string`&&kI.delete(e)}kI.set(e,new Set(t))},II=200,LI=new Map,RI=e=>LI.get(e),zI=(e,t)=>{if(!t.agent&&!t.provider&&!t.model)return;let n=LI.get(e);if(!(n&&n.agent===t.agent&&n.provider===t.provider&&n.model===t.model)){if(LI.size>=II&&!LI.has(e)){let e=LI.keys().next().value;typeof e==`string`&&LI.delete(e)}LI.set(e,t)}};function BI(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 VI=(e,t)=>{if(typeof e==`object`&&e)return e[t]},HI=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}=Vn(),{isMobile:m,isTablet:h,hasTouchInput:g}=bc(),_=qb(),v=Jb(_),y=m||h,b=Z.useRef(null),x=Y(e=>e.currentSessionId),S=Y(e=>e.revertToMessage),C=Y(e=>e.editMessagePreservingChanges),w=Y(e=>e.forkFromMessage),T=Y(t=>t.messageEditCommitting?.messageId===e.info.id&&t.messageEditCommitting?.sessionId===e.info.sessionID),E=Y(t=>t.stagedMessageEdit?.messageId===e.info.id&&t.stagedMessageEdit?.sessionId===e.info.sessionID),D=Y(e=>e.clearStagedMessageEdit);Ut(`ui.chat_message.render`),c&&Ut(`ui.chat_message.render.streaming`);let O=Ki(e=>e.providers),{showReasoningTraces:k,stickyUserHeader:A,chatRenderMode:j,showExpandedBashTools:M}=G(qe(e=>({showReasoningTraces:e.showReasoningTraces,stickyUserHeader:e.stickyUserHeader,chatRenderMode:e.chatRenderMode,showExpandedBashTools:e.showExpandedBashTools})));Z.useEffect(()=>{x&&eO.getInstance().recordSessionStart(x)},[x]);let[N,P]=Z.useState(null),[F,I]=Z.useState(!1),[L,R]=Z.useState(null),z=Z.useRef(null),[B,V]=Z.useState(()=>MI(e.info.id)),[ee,H]=Z.useState(()=>PI(e.info.id)),[U,te]=Z.useState({open:!1,title:``,content:``});Z.useEffect(()=>{V(MI(e.info.id)),H(PI(e.info.id))},[e.info.id]);let W=Z.useMemo(()=>$F(e.info),[e.info]).isUser,ne=Z.useMemo(()=>ot(e.parts),[e.parts]),re=W&&(m||!A),ie=W&&!m&&A&&!re,ae=e.info.sessionID,{currentContextAgent:oe,savedSessionAgentSelection:se}=Ry(qe(e=>({currentContextAgent:c&&ae?e.currentAgentContext.get(ae):void 0,savedSessionAgentSelection:c&&ae?e.sessionAgentSelections.get(ae):void 0}))),ce=Z.useMemo(()=>lD(e.sourceParts??e.parts),[e.parts,e.sourceParts]),le=Z.useMemo(()=>W?SD(ce):lD(e.parts),[W,e.parts,ce]),ue=Z.useMemo(()=>{if(W||!t)return null;let e=VI(t.info,`clientRole`),n=VI(t.info,`role`);return(typeof e==`string`?e:typeof n==`string`?n:void 0)===`user`&&lI(t.info)||null},[W,t]),de=Z.useMemo(()=>{if(W)return;let t=VI(e.info,`mode`);if(typeof t==`string`&&t.trim().length>0)return t;let n=VI(e.info,`agent`);if(typeof n==`string`&&n.trim().length>0)return n;if(ue?.agentName)return ue.agentName;if(ae)return oe||(se??void 0)},[W,e.info,ue,ae,oe,se]),fe=W?null:lI(e.info),pe=fe?.providerId??null,me=fe?.modelId??null,he=ma(qe(e=>{if(W||!ae)return null;if(ue?.providerId&&ue?.modelId)return{providerId:ue.providerId,modelId:ue.modelId};if(de){let t=e.getAgentModelForSession(ae,de);if(t?.providerId&&t?.modelId)return t}let t=e.getSessionModelSelection(ae);return t?.providerId&&t?.modelId?t:null})),ge=Z.useMemo(()=>W?null:typeof pe==`string`&&pe.trim().length>0?pe:he?.providerId??null,[W,pe,he]),_e=Z.useMemo(()=>W?null:typeof me==`string`&&me.trim().length>0?me:he?.modelId??null,[W,me,he]),ve=e.info.id?RI(e.info.id):void 0;W||zI(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(W)return;let e=be&&O.length>0?O.find(e=>e.id===be):void 0;return sr(e,xe)||void 0},[W,be,xe,O]),Ce=Z.useMemo(()=>{if(W||!ge||!_e)return!1;let e=O.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)},[W,_e,ge,O]),we=BI(ye),Te=BI(be??void 0),Ee=BI(xe??void 0),De=BI(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(()=>W?!0:!!(Me&&Me>0),[W,Me]),Fe=Z.useMemo(()=>{let t=e.info.finish;return typeof t==`string`?t:void 0},[e.info]),Ie=Z.useMemo(()=>fD(le,{includeReasoning:k}),[le,k]),Le=Z.useMemo(()=>W?Ie:!Pe&&j===`sorted`?[]:Ie,[j,Pe,W,Ie]),Re=Z.useMemo(()=>W?[]:Ie.filter(e=>e.type===`text`),[W,Ie]),ze=Z.useMemo(()=>W?[]:Ie.filter(e=>e.type===`tool`),[W,Ie]),Be=Z.useMemo(()=>{if(!M)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=jI(t.tool);!r||!AI.has(r)||e.add(n)}for(let t of a?.activityParts??[]){if(t.kind!==`tool`)continue;let n=jI(t.part.tool);!n||!AI.has(n)||e.add(t.id)}return e},[M,ze,a?.activityParts]),Ve=Z.useMemo(()=>{if(Be.size===0&&ee.size===0)return B;let e=new Set(B);return Be.forEach(t=>{ee.has(t)||e.add(t)}),ee.forEach(t=>{e.delete(t)}),e},[ee,Be,B]),He=Z.useMemo(()=>{if(!W)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}`}},[W,le]),Ue=W&&!CD(Le),We=typeof Fe!=`string`,Ge=Z.useMemo(()=>W?!1:Re.length===0||ze.length===0?We:!0,[Re.length,ze.length,We,W]),Ke=Z.useMemo(()=>!W&&eO.getInstance().shouldAnimateMessage(e.info,x||e.info.sessionID),[e.info,x,W]),[Je,Ye]=Z.useState(!1),Xe=Z.useMemo(()=>n?$F(n.info):null,[n]),Ze=!!a,Qe=a?.isLastAssistantInTurn??!1,$e=vI({isWorking:a?.isWorking===!0,isInActiveTurn:c,headerCompletionDisposition:a?.completionDisposition}),et=Z.useMemo(()=>W?!1:Ze?!Qe:Xe?!Xe.isUser&&Xe.role===`assistant`:!1,[Ze,Qe,W,Xe]),tt=Z.useMemo(()=>Pe?`completed`:c?l??`streaming`:`completed`,[l,c,Pe]);Z.useEffect(()=>{!W||!u||d?.(e.info.id)},[u,W,e.info.id,d]),Z.useEffect(()=>{Ye(!1)},[e.info.id]),Z.useEffect(()=>{let t=o??a?.headerMessageId;W||!t||t!==e.info.id||(tt===`streaming`||tt===`cooldown`)&&Ye(!0)},[o,W,e.info.id,tt,a?.headerMessageId]);let nt=Z.useMemo(()=>{if(W)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,W,a,tt,e.info.id,s]),rt=Z.useCallback(e=>{Bn(e).then(t=>{t.ok&&(P(e),setTimeout(()=>P(null),2e3))})},[]),it=W?void 0:a?.userMessageVariant??ue?.variant,at=!W&&Ce&&typeof it==`string`&&it.trim().length>0?it:void 0,st=Z.useMemo(()=>{if(!W&&!oI(Ze?Qe:!et))return rI(e.info?.error,p)},[Ze,et,Qe,W,e.info,p]),ct=st?.text,lt=Z.useMemo(()=>{if(W){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()||FN(t)},GN=({containerRef:e})=>{let{t}=Vn(),[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=Y(e=>e.currentSessionId),y=Bu()??null,b=G(e=>e.isMobile),x=qb(),S=Jb(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,MN===w&&(MN=null),m.current&&=(f.current!==null&&(window.cancelAnimationFrame(f.current),f.current=null),c(!1),r(e=>({...e,show:!1})),a(``),!1)},[]);Z.useEffect(()=>()=>{MN===w&&(MN=null)},[w]);let T=Z.useCallback(e=>{if(typeof window>`u`)return e;let t=window.innerWidth,n=u.current/2,r=wN+n,i=t-wN-n;return r>i?t/2:Math.min(Math.max(e,r),i)},[]),E=Z.useCallback(()=>{if(!d.current)return;MN!==w&&(MN?.(),MN=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=FN(t.toString());if(!r){o.current||w();return}let i=RN(t,n);if(!i){o.current||w();return}let a=i.getBoundingClientRect();d.current={plainText:r,markdownText:WN(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 LN(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=Rw(Uw),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=q(e=>{if(!e)return;let t=Y.getState().newSessionDraft.draftID,n=l_(v,t);n&&(x_.getState().addQuote(n,e),O(),requestAnimationFrame(()=>{Array.from(document.querySelectorAll(`textarea[data-chat-input="true"]`)).find(e=>!e.closest(`[data-btw-composer]`))?.focus()}))}),A=q(e=>{if(!e||!v)return;let t={sessionId:v,directory:y};Pw.getState().addQuote(t,e),O(),rT(t)});if(Z.useEffect(()=>{if(!S)return;let t=t=>{let n=Ys(t,TN),r=C&&Ys(t,EN);if(!n&&!r)return;let i=window.getSelection(),a=e.current;if(!i||!a||!i.toString().trim())return;let o=RN(i,a);if(!o)return;t.preventDefault(),t.stopPropagation();let s=WN(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:TN,run:()=>k(i)},...C?[{id:`side`,label:t(`chat.textSelection.actions.addToSideChat`),shortcut:EN,run:()=>A(i)}]:[]];if(b){let e=g??{left:0,top:Math.max(0,window.innerHeight-88),width:window.innerWidth,height:88};return(0,ap.createPortal)((0,$.jsx)(`div`,{ref:l,"data-text-selection-menu":!0,className:J(`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)(Gn,{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,ap.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:J(`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:ON(e.shortcut)})]})]},e.id))})}),document.body)},KN=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),qN=(e,t)=>{let n=new Date(t);return n.setDate(t.getDate()-1),KN(e,n)},JN=e=>Number.isFinite(e)&&!Number.isNaN(new Date(e).getTime()),YN=(e,t)=>{if(!JN(e))return``;let n=new Date(e),r=new Date,i=Es(n,t),a=Wn(),o=qn.getState().dictionary;if(KN(n,r))return i;if(qN(n,r))return Jn(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}`},XN=e=>typeof e!=`number`||!Number.isFinite(e)||e<0?0:e,ZN=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+=XN(e.outputTokens)+XN(e.reasoningTokens),!r||t<=0||n<=0)return null;let i=t/(n/1e3);return Number.isFinite(i)&&i>0?i:null})},QN=e=>{let t=ZN(e);return t[t.length-1]??null},$N=e=>e.completionDisposition!==`active`&&typeof e.tps==`number`&&Number.isFinite(e.tps)&&e.tps>0,eP=e=>!Number.isFinite(e)||e<=0?``:`${e.toFixed(1)} tok/s`,tP=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=q(f),m;t[5]===i?m=t[6]:(m=J(`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=J(`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},nP=[`search`,`read`,`list`];function rP(e){let t=JA(e);return t===`read`?`read`:t===`glob`||t===`grep`?`search`:t===`list`?`list`:null}function iP(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 aP=[`edit`,`command`,`other`],oP=new Set([`edit`,`multiedit`,`write`,`create`,`file_write`,`apply_patch`,`patch`]),sP=new Set([`bash`,`shell`,`cmd`,`command`,`exec`,`terminal`]);function cP(e){if(!WA(e))return null;let t=JA(e);return oP.has(t)?`edit`:sP.has(t)?`command`:`other`}function lP(e){let t={edit:0,command:0,other:0};for(let n of e){let e=cP(n);e&&(t[e]+=1)}return t}function uP(e){return _A(e)}var dP=[...nP,...aP];function fP(e){return{...iP(e),...lP(e)}}function pP(e){return qA(e)}function mP(e){return e.kind===`reasoning`||e.type===`reasoning`?!1:e.kind===`justification`||e.type===`text`?!0:e.kind===`tool`||e.type===`tool`?!GA(e.toolName):e.kind!=null||e.type!=null}function hP(e,t,n){for(let r=t;r<e.length;r+=1)if(mP(n(e[r])))return!0;return!1}function gP(e){return`parts`in e?e.parts.some(e=>pP(e))?!0:!e.hasFollowingOtherType&&e.isTurnLive:e.some(e=>pP(e))}function _P(e,t,n){let r=[],i=t;for(;i<e.length&&GA(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var vP=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,yP=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=J(`inline-flex flex-none items-center gap-0.5 tabular-nums`,vP),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},bP=({activities:e,isMobile:t,isTurnLive:n=!1,hasFollowingOtherType:r=!1,exploring:i,children:a})=>{let{t:o}=Vn(),[s,c]=Z.useState(!1),l=Z.useId(),u=e.map(e=>e.part),d=i??gP({parts:u,hasFollowingOtherType:r,isTurnLive:n}),f=fP(u.map(e=>e.tool)),p=uP(u),m=dP.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=q(()=>{c(e=>!e)}),g=q(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:Sy(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":s,"aria-controls":l,"aria-label":_,"data-mobile-press-feedback":`soft`,className:J(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,wy),onClick:h,onKeyDown:g,children:[(0,$.jsx)(`span`,{className:J(`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)(AA,{isMobile:t,label:o(`chat.usedGroup.running`),className:`block`}):(0,$.jsx)(X,{name:`search`,className:`block h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:J(`typography-meta inline-flex flex-none items-center self-center font-medium`,y,vP,d&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...d?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:v}),m?(0,$.jsx)(`span`,{className:J(`typography-meta inline-flex min-h-0 w-0 min-w-0 max-w-full flex-1 items-center self-center overflow-clip`,y,vP),style:{color:`var(--tools-description)`},children:(0,$.jsx)(tP,{text:m,active:d,className:t?`!h-5 sm:!h-5`:`!h-6 sm:!h-6`})}):null,(0,$.jsx)(yP,{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:Cy(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 xP(e,t,n){let r=[],i=t;for(;i<e.length&&UA(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var SP=e=>{if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null};function CP(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=SP(n.metadata.name);if(e)return e}if(n.input&&typeof n.input==`object`){let e=n.input,t=SP(e.name);if(t)return t;let r=SP(e.id);if(r)return r}if(n.output&&typeof n.output==`object`){let e=SP(n.output.name);if(e)return e}return null}function wP(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 TP=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,EP=({activities:e,isMobile:t,children:n})=>{let{t:r}=Vn(),[i,a]=Z.useState(!1),o=Z.useId(),s=e.map(e=>e.part),c=s.some(e=>qA(e)),{joinedVisible:l,hiddenCount:u}=wP(s.map(CP)),d=u>0?r(`chat.skillGroup.summaryOverflow`,{names:l,count:u}):l,f=q(()=>{a(e=>!e)}),p=q(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:Sy(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":i,"aria-controls":o,"aria-label":m,"data-mobile-press-feedback":`soft`,className:J(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,wy),onClick:f,onKeyDown:p,children:[(0,$.jsx)(`span`,{className:J(`flex flex-none items-center justify-center`,t?`size-4`:`size-3.5`),style:{color:`var(--tools-icon)`},children:c?(0,$.jsx)(AA,{isMobile:t,label:h,className:`block`}):(0,$.jsx)(X,{name:`book`,className:`h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:J(`typography-meta flex-none font-medium`,TP,c&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...c?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:h}),d?(0,$.jsx)(`span`,{className:J(`typography-meta h-5 min-h-0 w-0 min-w-0 max-w-full flex-1 overflow-clip sm:h-6`,TP),style:{color:`var(--tools-description)`},children:(0,$.jsx)(tP,{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:Cy(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]})},DP=Z.memo(e=>{let t=(0,Q.c)(18),{part:n,messageId:r,onContentChange:i,actions:a,streamPhase:o,onShowPopup:s}=e,c=G(OP),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)(TM,{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 OP(e){return e.chatRenderMode}var kP=e=>{let t=Math.max(0,Math.round(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},AP=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,jP=J(`typography-meta font-medium`,AP),MP=J(`typography-meta`,AP),NP=[],PP=e=>{let t=e.part;return t.slim===!0&&(t.type===`tool`||t.type===`reasoning`||t.type===`file`)},FP=e=>{let t=new Set;for(let n of e)PP(n)&&n.messageId&&t.add(n.messageId);return[...t]},IP=(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}),LP=e=>{let t=(0,Q.c)(5),{href:n}=e,[r,i]=Z.useState(!1),a;t[0]===n?a=t[1]:(a=Pu(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},RP=e=>e,zP=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},BP=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},VP=e=>{let t=e.part.state?.metadata?.dir;return typeof t==`string`&&t.trim().length>0?t:null},HP=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},UP=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=HP(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`}`},WP=e=>{let t=e.part.state,n=t?.input,r=t?.output;if(Array.isArray(n?.todos)){let e=UP(n.todos);if(e)return e}if(Array.isArray(r)){let e=UP(r);if(e)return e}if(r&&typeof r==`object`&&Array.isArray(r.todos)){let e=UP(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=UP(e);if(t)return t}if(e&&typeof e==`object`&&Array.isArray(e.todos)){let t=UP(e.todos);if(t)return t}}catch{}return null},GP=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)},KP=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(mO,{variant:t?`generate-effect`:`static`,className:J(`min-w-0 flex-1 truncate whitespace-nowrap`,MP),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:J(`min-w-0 inline-flex max-w-full flex-1 items-baseline overflow-hidden`,MP),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)(mO,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:i})]})},qP=e=>{let t=rd(e);return t?t.toLowerCase().endsWith(`/skill.md`)?t:`${t}/SKILL.md`:``},JP=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 CP(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`?WP(e):zP(e)},YP=e=>{let t=[],n=[];for(let r of e){if(r.kind!==`tool`)continue;let e=r.part,i=e.tool?.trim().toLowerCase()??``;if(i!==`task`&&i!==`subagent`)continue;let a=typeof e.id==`string`?e.id.trim():``;if(!a)continue;let o=e.state;if(!o||typeof o!=`object`)continue;let s=o;n.push(a),(s.status===`pending`||s.status===`running`)&&t.push(a)}return{active:t,all:n}},XP=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=q(c),u;t[3]===i?u=t[4]:(u=Sy(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)(aM,{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&&Dk([e.activity.part],[t.activity.part])),ZP=Z.memo(e=>{let t=(0,Q.c)(9),{toolName:n,activities:r,isMobile:i}=e,a;t[0]===i?a=t[1]:(a=Sy(i),t[0]=i,t[1]=a);let o;t[2]!==r||t[3]!==i||t[4]!==n?(o=(0,$.jsx)(eF,{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&&$P(e.activities,t.activities)),QP=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.kind===`reasoning`){if(!uD(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(GA(i)){let r=_P(e,n,e=>e.part.tool);t.push({type:`tool-context-group`,activities:r.items,hasFollowingOtherType:hP(e,r.end,e=>({kind:e.kind,toolName:e.part.tool}))}),n=r.end;continue}if(UA(i)){let r=xP(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(BA(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(zA(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(VA(i)){t.push({type:`tool-static-group`,toolName:i,activities:[r]}),n++;continue}t.push({type:`tool-fallback`,activity:r}),n++}return t},$P=(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||!Dk([r.part],[i.part]))return!1}return!0},eF=Z.memo(e=>{let t=(0,Q.c)(106),{toolName:n,activities:r,isMobile:i,animateTailText:a}=e,{t:o}=Vn(),s=G(iF),c=Ru(n,o),l;t[0]===n?l=t[1]:(l=hO(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(jc),m=zc(),h=ct(aF),g=qb(),_=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=ii(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(oF)),t[10]=C,t[11]=w);let T=w,E=r[0]??null,D=!E||qA(E.part),O;t[12]===E?O=t[13]:(O=E?JP(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||VP(E);if(!e||e===`<built-in>`){A=null;break bb0}let r=qP(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=BP(E);if(!e){M=null;break bb1}let n=od(e,_);if(!n){M=null;break bb1}let r;t[26]===E?r=t[27]:(r=GP(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=td(_,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(!$u(n,_)){Hu(n,_).then(()=>{let e=G.getState(),r=_||ed(_,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=G.getState(),i=ed(_,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=q(P),I;t[36]!==_||t[37]!==m?(I=e=>{let t=rd(e);if(!t)return;let n=()=>{if(m){m.openFile({path:t});return}let e=G.getState(),n=_||ed(``,t);e.openContextFile(n,t)};if(_&&!$u(t,_)){Hu(t,_).then(n);return}n()},t[36]=_,t[37]=m,t[38]=I):I=t[38];let L=q(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`,ee=z===`skill`,H=!!(N||j),U=!!(N&&_||j),te;t[41]!==U||t[42]!==F||t[43]!==L||t[44]!==H||t[45]!==N||t[46]!==j?(te=()=>{if(!(!H||!U)){if(N){F(N.path,N.offset);return}j&&L(j.path)}},t[41]=U,t[42]=F,t[43]=L,t[44]=H,t[45]=N,t[46]=j,t[47]=te):te=t[47];let W=q(te),ne;t[48]===W?ne=t[49]:(ne=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),W())},t[48]=W,t[49]=ne);let re=q(ne),ie=H&&U&&`cursor-pointer`,ae=H&&!U&&`cursor-default opacity-70`,oe;t[50]!==ie||t[51]!==ae?(oe=J(`flex w-full items-center gap-x-1.5 min-w-0`,wy,ie,ae),t[50]=ie,t[51]=ae,t[52]=oe):oe=t[52];let se=H?`soft`:void 0,ce=H?W:void 0,le=H?re:void 0,ue=H?`button`:void 0,de=H&&U?0:void 0,fe=H&&!U?!0:void 0,pe=i?`size-4`:`size-3.5`,me;t[53]===pe?me=t[54]:(me=J(`inline-flex items-center justify-center flex-shrink-0`,pe),t[53]=pe,t[54]=me);let he;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(he={color:`var(--tools-icon)`},t[55]=he):he=t[55];let ge=D?(0,$.jsx)(AA,{isMobile:i,label:o(`chat.assistantStatus.usingTool`,{tool:c})}):u,_e;t[56]!==me||t[57]!==he||t[58]!==ge?(_e=(0,$.jsx)(`div`,{className:me,style:he,children:ge}),t[56]=me,t[57]=he,t[58]=ge,t[59]=_e):_e=t[59];let ve,ye;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(ve=J(jP,`inline-flex items-center flex-shrink-0 opacity-85`),ye={color:`var(--tools-title)`},t[60]=ve,t[61]=ye):(ve=t[60],ye=t[61]);let be;t[62]===c?be=t[63]:(be=(0,$.jsx)(`span`,{className:ve,style:ye,title:c,children:c}),t[62]=c,t[63]=be);let xe;t[64]!==a||t[65]!==f||t[66]!==N||t[67]!==s?(xe=f&&N?(0,$.jsxs)(`span`,{className:J(`inline-flex !min-h-0 items-center justify-start gap-1 min-w-0 flex-1 text-left`,MP),style:{color:`var(--tools-description)`},title:N.offset?`${N.displayPath}:${N.offset}`:N.displayPath,children:[s?(0,$.jsx)(bg,{filePath:N.path,className:`h-3.5 w-3.5`}):null,KP(N.displayPath,a)]}):null,t[64]=a,t[65]=f,t[66]=N,t[67]=s,t[68]=xe):xe=t[68];let Se;t[69]!==a||t[70]!==k||t[71]!==B?(Se=B&&k?(0,$.jsx)(`span`,{className:`inline-flex min-w-0 flex-1`,children:(0,$.jsxs)(mO,{variant:a?`generate-effect`:`static`,className:J(`min-w-0 flex-1 truncate whitespace-nowrap`,MP),style:{color:`var(--tools-description)`},title:k,children:[`"`,k,`"`]})}):null,t[69]=a,t[70]=k,t[71]=B,t[72]=Se):Se=t[72];let Ce;t[73]!==k||t[74]!==V?(Ce=V&&k?(0,$.jsxs)(`a`,{href:k,target:`_blank`,rel:`noopener noreferrer`,onClick:sF,className:J(`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`,MP),style:{color:`var(--status-info)`},title:k,children:[(0,$.jsx)(LP,{href:k}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:k})]}):null,t[73]=k,t[74]=V,t[75]=Ce):Ce=t[75];let we;t[76]!==ee||t[77]!==j?(we=ee&&j?(0,$.jsx)(`span`,{className:J(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,MP),style:{color:`var(--tools-description)`},title:j.path,children:j.name}):null,t[76]=ee,t[77]=j,t[78]=we):we=t[78];let Te;t[79]!==k||t[80]!==ee||t[81]!==j?(Te=ee&&!j&&k?(0,$.jsx)(`span`,{className:J(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,MP),style:{color:`var(--tools-description)`},title:k,children:k}):null,t[79]=k,t[80]=ee,t[81]=j,t[82]=Te):Te=t[82];let Ee;t[83]!==a||t[84]!==k||t[85]!==V||t[86]!==f||t[87]!==B||t[88]!==ee?(Ee=!f&&!B&&!V&&!ee&&k?(0,$.jsx)(mO,{variant:a?`generate-effect`:`static`,className:J(`min-w-0 flex-1 truncate whitespace-nowrap`,MP),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]=ee,t[89]=Ee):Ee=t[89];let De;return t[90]!==oe||t[91]!==se||t[92]!==ce||t[93]!==le||t[94]!==ue||t[95]!==de||t[96]!==fe||t[97]!==_e||t[98]!==be||t[99]!==xe||t[100]!==Se||t[101]!==Ce||t[102]!==we||t[103]!==Te||t[104]!==Ee?(De=(0,$.jsxs)(`div`,{className:oe,"data-mobile-press-feedback":se,onClick:ce,onKeyDown:le,role:ue,tabIndex:de,"aria-disabled":fe,children:[_e,be,xe,Se,Ce,we,Te,Ee]}),t[90]=oe,t[91]=se,t[92]=ce,t[93]=le,t[94]=ue,t[95]=de,t[96]=fe,t[97]=_e,t[98]=be,t[99]=xe,t[100]=Se,t[101]=Ce,t[102]=we,t[103]=Te,t[104]=Ee,t[105]=De):De=t[105],De},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&$P(e.activities,t.activities)),tF=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)(LM,{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}),nF=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)(DP,{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}=Vn(),_=Bu()??``,v=Z.useMemo(()=>FP(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?kP(o):null,D=i===`normal`||i===`abnormal`,O=a===`compaction`,k=O?`fold-vertical`:`stack`,A=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`),j=Z.useMemo(()=>YP(e),[e]),M=T?j.active:j.all,N=M.slice(0,c?2:3),P=q((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=Mt(_,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=on(_,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)}}),F=q(e=>{e.stopPropagation(),P(!0)}),I=T,L=I||n,R=q(()=>{if(I)return;let e=C.current;w.current=e?{top:e.getBoundingClientRect().top,scrollContainer:e.closest(`[data-scrollbar="chat"]`)}:null,L||P(),s()});Z.useEffect(()=>{T||!L||P(!1,!0)},[T,L]),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)},[L]);let z=m&&!L?Math.max(0,Math.floor(r)):0,B=!m||L||z>0,V=y.current,ee=[...V].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 Mt(_,n,e).status}),H=ee.includes(`loading`),U=ee.includes(`error`),te=ee.length>0&&ee.every(e=>e===`ready`),W=t.some(e=>V.has(e.messageId)&&PP(e)),ne=te&&!W&&!IP(t,V),re=Z.useMemo(()=>B?RP(e):NP,[e,B]),ie=Z.useMemo(()=>B?QP(re):[],[B,re]),ae=Z.useMemo(()=>L||z===0?0:Math.max(0,ie.length-z),[L,z,ie.length]),oe=Z.useMemo(()=>L||z===0?ie:ie.slice(-z),[L,z,ie]),se=!!m&&!(T&&!O);if((!se||I&&!O)&&ie.length===0)return null;let ce=(e,t)=>{let n=(0,$.jsx)(`div`,{className:Sy(c),children:t});return(0,$.jsx)(Z.Fragment,{children:n},e)},le=B?oe.map((e,t)=>{switch(e.type){case`reasoning`:return ce(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(tF,{activity:e.activity,streamPhase:p,onContentChange:f})}));case`justification`:return ce(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(nF,{activity:e.activity,onContentChange:f,onShowPopup:d,actions:h?.(e.activity),streamPhase:p})}));case`tool-expandable`:return(0,$.jsx)(XP,{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)(ZP,{toolName:e.toolName,activities:e.activities,isMobile:c},e.activities[0]?.id??`static-${e.toolName}-${t}`);case`tool-context-group`:return(0,$.jsx)(bP,{activities:e.activities,isMobile:c,isTurnLive:T,hasFollowingOtherType:e.hasFollowingOtherType,children:e.activities.map(e=>{let t=e.part,n=t.tool?.toLowerCase()??``;return HA(n)?(0,$.jsx)(eF,{toolName:n,activities:[e],isMobile:c,animateTailText:!1},e.id):(0,$.jsx)(aM,{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)(EP,{activities:e.activities,isMobile:c,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(eF,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`skill-${t}`);case`tool-fallback`:return(0,$.jsx)(XP,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);default:return null}}):null,ue=oe.length>0;return se?(0,$.jsxs)(`div`,{className:Sy(c),children:[(0,$.jsxs)(`button`,{ref:C,type:`button`,className:J(`group/tool flex w-full min-w-0 flex-nowrap items-center text-left`,c?`gap-x-1`:`gap-x-2`,!I&&wy,I&&`oc-tool-row -mx-2 rounded-lg px-2 py-0.5 cursor-default`,c&&`pr-0`),"data-mobile-press-feedback":I?void 0:`soft`,onClick:I?void 0:R,"aria-expanded":L,"aria-disabled":I||void 0,"aria-label":I?A:g(L?`chat.activity.collapseAria`:`chat.activity.expandAria`),children:[(0,$.jsxs)(`span`,{className:J(`inline-flex min-w-0 flex-1 items-center overflow-clip`,c?`gap-x-1`:`gap-x-1.5`),children:[(0,$.jsx)(`span`,{className:J(`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)(AA,{isMobile:c,label:A,className:`block`}):(0,$.jsx)(X,{name:k,className:`h-3.5 w-3.5`})}),(0,$.jsx)(`span`,{className:J(`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:A}),E?(0,$.jsx)(`span`,{className:`typography-meta shrink-0 tabular-nums text-muted-foreground`,children:E}):null]}),(0,$.jsxs)(`span`,{className:J(`ml-auto inline-flex max-w-[min(14rem,55%)] shrink-0 items-center justify-end`,c?`gap-0.5`:`gap-1`),children:[M.length>0?(0,$.jsxs)(`span`,{className:J(`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:N.map((e,t)=>(0,$.jsx)(Go,{name:e,size:c?12:14,className:J(`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:M.length})})]}):null,I?null:(0,$.jsx)(X,{name:L?`arrow-down-s`:`arrow-right-s`,className:J(`flex-shrink-0 text-muted-foreground opacity-70`,c&&`-mr-0.5`,c?`size-3`:`size-3.5`)})]})]}),ue?(0,$.jsxs)(`div`,{className:I?void 0:`relative ml-2 pl-3`,children:[I?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)`}}),ae>0?(0,$.jsxs)(`button`,{type:`button`,onClick:R,className:`typography-meta leading-4 px-2 py-1 text-muted-foreground/45 hover:text-muted-foreground/65 text-left`,children:[`+`,ae,` more...`]}):null,(0,$.jsx)(`div`,{className:`flow-root`,children:le})]}):null,L&&(H||U||ne)?(0,$.jsx)(`div`,{className:J(`typography-meta flex min-h-9 items-center gap-2 px-2 text-muted-foreground`,I?void 0:`ml-5`,U&&`text-[var(--status-error)]`),role:U?`alert`:`status`,children:H?(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`)})]}):U?(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)(Gn,{type:`button`,variant:`ghost`,size:`xs`,onClick:F,children:g(`chat.activity.outputRetry`)})]}):(0,$.jsx)(`span`,{children:g(`chat.toolOutputDialog.noOutputProduced`)})}):null]}):(0,$.jsx)(`div`,{className:Sy(c),children:le})});function iF(e){return e.showToolFileIcons}function aF(e){return e.currentDirectory}function oF(e){return[e.name,e]}function sF(e){e.stopPropagation()}var cF=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 lF(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=Cr(a,o),c;t[1]===r?c=t[2]:(c=e=>!!e.session_execution_recovery[r],t[1]=r,t[2]=c);let l=Ge(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=Ge(s,u),f=uo(r,a);if(!l&&!d){let e;return t[5]===n?e=t[6]:(e=(0,$.jsx)(iy,{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)(iy,{presentation:n}),t[7]=n,t[8]=m),m}function uF(e){let t=(0,Q.c)(5),n=qb();if(!e.sessionId||!n.active||!n.capabilities.compose){let n;return t[0]===e.presentation?n=t[1]:(n=(0,$.jsx)(iy,{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)(lF,{...e,sessionId:e.sessionId,directory:r}),t[2]=e,t[3]=r,t[4]=i):i=t[4],i}var dF={contain:`layout`},fF={containerType:`inline-size`,containerName:`message-footer`},pF=`mt-1.5 mb-0.5 flex items-center justify-start gap-1.5`,mF=`mt-3 mb-0.5 flex items-center justify-start gap-1.5`,hF=`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`,gF=`size-3.5!`,_F=`mt-1.5 mb-0.5 flex flex-wrap items-center gap-3`,vF=`mt-3 mb-0.5 flex flex-wrap items-center gap-3 -ml-[5px]`,yF=`flex items-center gap-2`,bF=`flex items-center gap-2 text-muted-foreground`,xF=`inline-flex h-3.5 items-center gap-1 text-[11px] leading-none tabular-nums text-muted-foreground`,SF=`size-3.5!`,CF=`medium`,wF=e=>{let t=(0,Q.c)(16),{label:n}=e,{t:r}=Vn(),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:CF,name:`pulse`,className:SF}),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)(vs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:xF,"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)(ys,{children:c}),t[11]=c,t[12]=l);let u;return t[13]!==s||t[14]!==l?(u=(0,$.jsxs)(bs,{children:[s,l]}),t[13]=s,t[14]=l,t[15]=u):u=t[15],u},TF=e=>e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e,EF=`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)]`,DF=`h-7 gap-1.5`,OF=`h-6 gap-1`,kF=`text-[11px] leading-none`,AF=`size-3.5`,jF=`size-3`,MF=5,NF=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=J(`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=J(`flex-shrink-0`,s),t[2]=s,t[3]=c);let l;t[4]!==n.file||t[5]!==c?(l=(0,$.jsx)(bg,{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=TF(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=J(`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}),PF=Z.memo(e=>{let t=(0,Q.c)(18),{file:n,canOpen:r,isMobile:i,onOpen:a}=e,{t:o}=Vn(),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=q(s),l=!r,u=i?OF:DF,d;t[3]===u?d=t[4]:(d=J(EF,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)(NF,{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)(Gn,{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}),FF=Z.memo(e=>{let t=(0,Q.c)(53),{fileCount:n,changedFiles:r,turnId:i,isLatestTurn:a,isMobile:o}=e,{t:s}=Vn(),c=Bu(),l=qb(),u=l.directory||c,d=l.sessionId,f=zc(),p=G(JF),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,MF),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=J(EF,o?OF:DF),E=o?jF:AF,D;t[10]===o?D=t[11]:(D=o?J(kF,`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?J(kF,`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?J(kF,`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){BM({directory:u,filePath:e,turnMessageId:i,sessionId:d});return}o&&a&&u&&BM({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=q(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&&BM({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=q(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=J(`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=J(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 ee;t[38]===E?ee=t[39]:(ee=(0,$.jsx)(X,{name:`file-edit`,className:E}),t[38]=E,t[39]=ee);let H=`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]!==H||t[43]!==U||t[44]!==O?(te=(0,$.jsx)(`span`,{id:H,className:O,children:U}),t[42]=H,t[43]=U,t[44]=O,t[45]=te):te=t[45];let W;t[46]!==S||t[47]!==A?(W=(0,$.jsx)(`span`,{className:A,children:S}),t[46]=S,t[47]=A,t[48]=W):W=t[48];let ne;t[49]===E?ne=t[50]:(ne=J(E,`opacity-60`),t[49]=E,t[50]=ne);let re;return t[51]===ne?re=t[52]:(re=(0,$.jsx)(X,{name:`arrow-right-s`,className:ne}),t[51]=ne,t[52]=re),(0,$.jsxs)(`section`,{className:R,"data-turn-changes-preview":`true`,"data-message-action-group":`true`,"aria-labelledby":`turn-changes-${i}`,children:[(0,$.jsxs)(Gn,{type:`button`,variant:`ghost`,size:`xs`,disabled:!b,onClick:I,className:z,"aria-label":B,title:V,children:[ee,te,W,re]}),_.length>0?(0,$.jsxs)(`div`,{className:J(`flex min-w-0 flex-col`,o?`gap-0`:`gap-0.5`),children:[_.map(e=>(0,$.jsx)(PF,{file:e,canOpen:b,isMobile:o,onOpen:P},e.file)),v>0?(0,$.jsxs)(Gn,{type:`button`,variant:`ghost`,size:`xs`,disabled:!b,className:J(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:J(E,`flex-shrink-0`)}),(0,$.jsxs)(`span`,{className:M,children:[`+`,w]}),(0,$.jsx)(X,{name:`arrow-right-s`,className:E})]}):null]}):null]})}),IF=e=>e.type===`subtask`,LF=e=>{let t=e;return t.type===`text`&&typeof t.shellAction==`object`&&t.shellAction!==null},RF=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}`},zF=e=>{let t=(0,Q.c)(49),{part:n}=e,[r,i]=Z.useState(!1),a=Bu(),{isMobile:o}=bc(),s=Y(YF),c=G(XF),l=qb(),{t:u}=Vn(),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=RF(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(ZF),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&&Yb(l,b,e,()=>{if(!va({sessionId:b,directory:e})){if(gp()||o||le()){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},BF=e=>{let t=(0,Q.c)(34),{notification:n}=e,r=Bu(),i=G(QF),{isMobile:a}=bc(),{t:o}=Vn(),s;t[0]!==r||t[1]!==a?(s=r&&!a&&!le(),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=q(()=>{!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=q(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]:(_=J(`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=J(`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)(hu,{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},VF={background:`transparent`,backgroundColor:`transparent`},HF=e=>{let t=(0,Q.c)(37),{part:n}=e,[r,i]=Z.useState(!1),a=Z.useRef(null),{t:o}=Vn(),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=q(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 Bn(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=q(_),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:J(`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)(Gn,{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)(vd,{language:`bash`,code:c,codeStyle:VF,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},UF=e=>{let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},WF=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}=Vn(),w=jx(),T=Jb(qb()),E=G(e=>e.timeFormatPreference),[D,O]=Z.useState(!1),k=Z.useRef(null),A=Z.useMemo(()=>n.filter(e=>e.type===`text`?!dD(e):!!(IF(e)||LF(e))),[n]),j=Z.useMemo(()=>A.map(e=>ki(e)?zO(uD(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=q(()=>{k.current!==null&&typeof window<`u`&&(window.clearTimeout(k.current),k.current=null)}),ee=q(()=>{!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 H=q(e=>{!l||!L||(e.stopPropagation(),e.preventDefault(),l(),I&&ee())}),U=w===`mini-chat`||!T.fork?void 0:h,te=Z.useMemo(()=>{if(typeof i!=`number`||i<=0)return null;let e=YN(i,E);return e.length>0?e:null},[S,i,E]),W=J(`group/user-actions`,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`),ne=!_&&v&&z?(0,$.jsx)(`div`,{className:W,children:(0,$.jsxs)(`div`,{className:J(yF,`justify-end`,!a&&b===`inline`&&`translate-x-5`,`pointer-events-auto opacity-100`),"data-message-action-group":`true`,children:[(0,$.jsxs)(`span`,{className:J(xF,`text-primary`),"aria-live":`polite`,children:[(0,$.jsx)(X,{weight:CF,name:`edit`,className:SF}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:C(`chat.messageBody.actions.editStaged`)})]}),y?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"aria-label":C(`chat.messageBody.actions.cancelEdit`),onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),y()},children:(0,$.jsx)(X,{weight:CF,name:`close`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.cancelEdit`)})]}):null]})}):null,re=(_&&z?(0,$.jsx)(`div`,{className:W,children:(0,$.jsx)(`div`,{className:J(yF,`justify-end`,!a&&b===`inline`&&`translate-x-5`,`pointer-events-none opacity-100`),children:(0,$.jsx)(`span`,{className:J(xF,`animate-text-shimmer`),"aria-live":`polite`,children:C(`chat.messageBody.actions.editing`)})})}):null)??ne??((P&&L||p||m||U)&&z?(0,$.jsx)(`div`,{className:W,children:(0,$.jsxs)(`div`,{className:J(yF,`justify-end`,!a&&b===`inline`&&`translate-x-5`,o?`pointer-events-auto opacity-100`:`pointer-events-none opacity-0 transition-opacity duration-150 group-hover/message:pointer-events-auto group-hover/message:opacity-100 group-hover/user-actions:pointer-events-auto group-hover/user-actions:opacity-100 group-hover/user-shell:pointer-events-auto group-hover/user-shell:opacity-100`),"data-message-action-group":`true`,children:[te?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:J(xF,`mr-1`),"aria-label":`Message time: ${te}`,children:[(0,$.jsx)(X,{weight:CF,name:`time`,className:SF}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:te})]})}),(0,$.jsx)(ys,{children:te})]}):null,m&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"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:CF,name:g===`revert`?`loader-4`:`arrow-go-back`,className:J(gF,g===`revert`&&`animate-spin`)})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.revert`)})]}),p&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"aria-label":C(`chat.messageBody.actions.editAria`),disabled:!!g,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),p()},children:(0,$.jsx)(X,{weight:CF,name:`edit`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.edit`)})]}),U&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"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:CF,name:g===`fork`?`loader-4`:`git-branch`,className:J(gF,g===`fork`&&`animate-spin`)})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.fork`)})]}),P&&L&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":D||F?`true`:void 0,className:hF,"aria-label":C(`chat.messageBody.actions.copyMessageAria`),onPointerDown:e=>e.stopPropagation(),onClick:H,onFocus:()=>O(!0),onBlur:()=>{F||O(!1)},children:F?(0,$.jsx)(X,{weight:CF,name:`check`,className:J(gF,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:CF,name:`file-copy`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:C(`chat.messageBody.actions.copyMessage`)})]})]})}):null);return R?(0,$.jsxs)(`div`,{className:`relative w-full group/message`,"data-user-message-body":`true`,style:dF,onTouchStart:I&&P&&L?ee:void 0,children:[(0,$.jsx)(`div`,{className:J(`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(IF(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(zF,{part:e})},e.id??`user-subtask-${i}`);if(LF(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(HF,{part:e})},e.id??`user-shell-${i}`);let o=j[i];if(o)return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(BF,{notification:o})},e.id??`subagent-notification-${i}`);let s;return f&&M&&!N&&uD(e).includes(M)&&(s=f,N=!0),(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(fO,{part:e,messageId:t,isMobile:a,agentMention:s,messageParts:r??n})},e.id??`user-text-${i}`)})}),(0,$.jsx)(Kg,{files:n,messageID:t,sessionID:e,onShowPopup:d,compact:!0}),re]}):(0,$.jsx)($.Fragment,{children:re})}),GF=Z.memo(({hasCopyableText:e,isTouchContext:t,onCopyMessage:n,reviewTransferAction:r,ttsText:i,sessionId:a})=>{let{t:o}=Vn(),s=jx(),c=qb(),l=Jb(c),{isPlaying:u,play:d,stop:f}=vN(),p=Ki(e=>e.showMessageTTSButtons),m=Ki(e=>e.voiceProvider),[h,g]=Z.useState(!1),[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),x=Z.useRef(null),S=Z.useRef(null),C=!!n,w=!!((c.sessionId||a)&&c.directory&&l.openSourceSession&&s!==`mini-chat`),T=q(()=>{x.current!==null&&typeof window<`u`&&(window.clearTimeout(x.current),x.current=null)}),E=q(()=>{S.current!==null&&typeof window<`u`&&(window.clearTimeout(S.current),S.current=null)});Z.useEffect(()=>()=>{T(),E()},[E,T]),Z.useEffect(()=>{(!e||!C)&&(g(!1),v(!1),T(),E())},[C,E,T,e]);let D=q(()=>{!t||!C||!e||typeof window>`u`||(T(),g(!0),x.current=window.setTimeout(()=>{g(!1),x.current=null},1800))}),O=q(async r=>{!n||!e||(r.stopPropagation(),r.preventDefault(),await n()!==!1&&(E(),v(!0),typeof window<`u`&&(S.current=window.setTimeout(()=>{v(!1),S.current=null},2e3)),t&&D()))}),k=q(async t=>{if(t.stopPropagation(),t.preventDefault(),!(!r||y||!e)){b(!0);try{await r.onClick()}finally{b(!1)}}}),A=q(e=>{e.stopPropagation(),e.preventDefault();let t=c.sessionId||a;!t||!c.directory||!c.openSourceSession||c.openSourceSession(t,c.directory)}),j=Z.useMemo(()=>u?o(`chat.messageBody.tts.stopSpeaking`):o(`chat.messageBody.tts.readAloudWithProvider`,{provider:m===`browser`?`Browser`:m===`openai`?`OpenAI`:m===`openai-compatible`?`Custom`:`Say`}),[u,o,m]),M=q(e=>{if(e.stopPropagation(),e.preventDefault(),u){f();return}i.trim()&&d(i)});return(0,$.jsxs)($.Fragment,{children:[n&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":h||_?`true`:void 0,className:J(hF,!e&&`opacity-50`),disabled:!e,"aria-label":o(`chat.messageBody.actions.copyMessageAria`),"aria-hidden":!e,onPointerDown:e=>e.stopPropagation(),onClick:e=>{O(e)},onFocus:()=>{e&&g(!0)},onBlur:()=>{_||g(!1)},children:_?(0,$.jsx)(X,{weight:CF,name:`check`,className:J(gF,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:CF,name:`file-copy`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:o(`chat.messageBody.actions.copyAnswer`)})]}),w?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"aria-label":o(`chat.messageBody.actions.openSourceSessionAria`),onPointerDown:e=>e.stopPropagation(),onClick:A,children:(0,$.jsx)(X,{weight:CF,name:`target`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:o(`chat.messageBody.actions.openSourceSession`)})]}):null,r&&s!==`mini-chat`&&l.reviewTransfer?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,size:`icon`,variant:`ghost`,disabled:y||!e,className:J(hF,(!e||y)&&`opacity-50`),"aria-label":r.ariaLabel,onPointerDown:e=>e.stopPropagation(),onClick:e=>{k(e)},children:y?(0,$.jsx)(X,{weight:CF,name:`loader-4`,className:J(gF,`animate-spin`)}):(0,$.jsx)(X,{weight:CF,name:`arrow-left-right`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:r.tooltip})]}):null,s!==`mini-chat`&&p&&e&&(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:J(hF,u?`text-green-500`:`hover:text-foreground/80`),"aria-label":o(u?`chat.messageBody.tts.stopSpeaking`:`chat.messageBody.tts.readAloud`),onPointerDown:e=>e.stopPropagation(),onClick:M,children:u?(0,$.jsx)(X,{weight:CF,name:`stop`,className:gF}):(0,$.jsx)(X,{weight:CF,name:`volume-up`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:j})]})]})}),KF=Z.memo(({sessionId:e,messageId:t,parts:n,isMessageCompleted:r,messageFinish:i,messageCompletedAt:a,messageCreatedAt:o,isMobile:s,alwaysShowActions:c,hasTouchInput:l,expandedTools:u,onToggleTool:d,onShowPopup:f,streamPhase:p,allowAnimation:m,onContentChange:h,hasTextContent:g=!1,onCopyMessage:_,onAuxiliaryContentComplete:v,showReasoningTraces:y=!1,turnGroupingContext:b,errorPresentation:x,reviewTransferDirection:S=null})=>{let C=x?.text,{t:w,locale:T}=Vn(),E=jx(),D=Jb(qb()),O=p,k=Z.useRef(null),A=Z.useRef(null),j=p===`streaming`||p===`cooldown`,M=Z.useRef({messageId:t,experiencedStreamingOrCooldown:j});M.current.messageId===t?j&&(M.current.experiencedStreamingOrCooldown=!0):M.current={messageId:t,experiencedStreamingOrCooldown:j};let N=!!(l??s),P=!!(c??s),F=s?vF:_F,I=!r,L=Z.useMemo(()=>n.filter(e=>!dD(e)).filter(e=>e.type!==`compaction`),[n]),R=Z.useMemo(()=>L.filter(e=>e.type===`tool`),[L]),z=Z.useMemo(()=>L.filter(e=>e.type===`text`),[L]),B=Z.useMemo(()=>eo(z),[z]),V=G(e=>e.openContextPreview),ee=le(),H=E===`mini-chat`,U=Z.useMemo(()=>{if(ee||s||H)return null;for(let e of z){let t=e.text;if(typeof t!=`string`||t.length===0)continue;let n=Fu(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 R){let t=e.state,n=t&&typeof t.output==`string`?t.output:null;if(!n)continue;let r=Fu(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},[z,s,H,ee,R]),te=Y(e=>e.forkFromMessage),W=Y(e=>e.forkTransition),ne=Y(e=>e.currentSessionId),re=Y(e=>e.getDirectoryForSession),ie=Bu(),ae=S===`review-to-original`,oe=!s&&!ee?S:null,se=Z.useMemo(()=>{let t=B.trim();if(!(!e||!ie||!t||!oe))return oe===`review-to-original`?{ariaLabel:w(`chat.messageBody.actions.sendReviewFeedback`),tooltip:w(`chat.messageBody.actions.sendReviewFeedback`),onClick:async()=>{try{await kr(e,ie,t)}catch(e){console.error(`[review-flow] failed to send review feedback`,e)}}}:{ariaLabel:w(`chat.messageBody.actions.sendImplementationResponse`),tooltip:w(`chat.messageBody.actions.sendImplementationResponse`),onClick:async()=>{try{await yr(e,ie,t)}catch(e){console.error(`[review-flow] failed to send implementation response`,e)}}}},[B,ie,oe,e,w]),[ce,ue]=Z.useState(!1),de=G(e=>e.chatRenderMode),fe=b?de:`live`,pe=G(e=>e.collapsibleThinkingBlocks),me=G(e=>e.showSplitAssistantMessageActions),he=G(e=>e.showAssistantTps),ge=G(e=>e.timeFormatPreference),_e=fe===`sorted`,ve=b?.isLastAssistantInTurn??!1,ye=i===`stop`,be=(ye||r||!!C)&&(b?.isTurnSettled??!0),xe=ye?`completed`:O,Se=R.length>0,Ce=Z.useMemo(()=>R.some(e=>qA(e)),[R]),we=qA,Te=KA,Ee=M.current.experiencedStreamingOrCooldown,De=Z.useRef({messageId:t,initialized:!1,observedPartIds:new Set});Z.useEffect(()=>{if(De.current.messageId!==t&&(De.current={messageId:t,initialized:!1,observedPartIds:new Set}),!Ee||!Oa())return;let n=De.current,r=!n.initialized;n.initialized=!0;for(let i of R){if(n.observedPartIds.has(i.id))continue;if(!Kr(r,we(i))){n.observedPartIds.add(i.id);continue}let a=e??i.sessionID;a&&(n.observedPartIds.add(i.id),Na({sessionID:a,messageID:t,partID:i.id,kind:`tool`}))}},[Ee,we,t,e,R]);let Oe=Z.useMemo(()=>R.length===0||!Ce&&R.every(e=>Te(e)),[R,Ce,Te]),ke=Z.useMemo(()=>L.filter(e=>e.type===`reasoning`),[L]),Ae=Z.useMemo(()=>ke.length===0||ke.every(e=>typeof e.time?.end==`number`),[ke]),je=typeof i!=`string`,Me=ke.length>0&&Se&&(Ce||je||!Oe),Ne=I||Se&&(Ce||je||!Oe),Pe=I||Me,Fe=Se||ke.length>0,Ie=z.length===0,Le=Fe&&Ie&&!Ne&&!Pe&&Oe&&Ae,Re=Z.useRef(!1),ze=Z.useRef(!1);Z.useEffect(()=>{ze.current=!1},[t]),Z.useEffect(()=>{if(!Le){Re.current=!1;return}Re.current||(Re.current=!0,v?.())},[Le,v]),Z.useEffect(()=>{if(I){ze.current=!1;return}if(Se){ze.current=!1;return}ke.length!==0&&(Pe||!Ae||ze.current||(ze.current=!0,h?.(`structural`)))},[I,Se,h,Ae,ke.length,Pe]);let Be=!!g&&!I,Ve=q(async n=>{if(n.stopPropagation(),n.preventDefault(),!(!e||!t||ce||W)){ue(!0);try{await te(e,t)}finally{ue(!1)}}}),He=Z.useMemo(()=>{let e=b?.activityParts;return!_e||!e?[]:e},[_e,b?.activityParts]),Ue=Z.useMemo(()=>{let e=b?.activityGroupSegments;return!_e||!e?[]:e.filter(e=>e.anchorMessageId===t)},[_e,t,b?.activityGroupSegments]),We=Ue.length>0,Ge=Z.useMemo(()=>{let e=new Map,t=new Map;return He.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)}}},[He]),Ke=b?.toggleGroup,qe=b?.activityPresentationKind===`compaction`,Je=b?.isGroupExpanded===!0,Ye=_e&&qe&&!Je,Xe=_e?b?.activityOwnerMessageId===t||We:!b?.activityOwnerMessageId||b.activityOwnerMessageId===t||We,Ze=_e&&Xe&&(We||qe)&&!!Ke,Qe=qM(i,L),$e={finish:i,parts:L,streamPhase:xe,error:C,isLastAssistantInTurn:ve},et=QM($e),tt=_e&&$M($e),nt=_e&&!et&&!(qe&&Je),rt=Be,it=ve&&be&&!Ye&&(g||!!C||r),at=b?.diffStats?.hasDiffs===!0,ot=!H&&ve&&Qe&&be&&!Ye&&b?.diffStats?.hasDiffs===!0,st=me&&rt&&!it&&!_e,ct=Z.useMemo(()=>(0,$.jsx)(GF,{hasCopyableText:Be,isTouchContext:N,onCopyMessage:_,ttsText:B,reviewTransferAction:se,sessionId:e}),[B,Be,N,_,se,e]),lt=Z.useMemo(()=>e=>{if(!me||!_e)return null;let t=uD(e.part).trim();return t?(0,$.jsx)(GF,{hasCopyableText:!0,isTouchContext:N,onCopyMessage:async()=>(await Bn(t)).ok,ttsText:t}):null},[_e,N,me]),ut=Z.useMemo(()=>{if(!st)return-1;let e=-1;for(let t=0;t<L.length;t+=1){let n=L[t];!n||n.type!==`text`||nt||Ge.get(n)?.kind!==`justification`&&(e=t)}return e},[Ge,nt,st,L]),dt=st&&ut<0,ft=Z.useMemo(()=>{let n=[];if(Ze&&Ke&&b){let e=(e,t,r=t)=>{n.push((0,$.jsx)(`div`,{children:(0,$.jsx)(cF,{parts:t,materializationParts:r,isExpanded:b.isGroupExpanded===!0,collapsedPreviewCount:0,completionDisposition:b.completionDisposition,activityPresentationKind:b.activityPresentationKind,durationMs:b.durationMs,startedAt:b.userMessageCreatedAt,onToggle:Ke,isMobile:s,expandedTools:u,onToggleTool:d,onShowPopup:f,onContentChange:h,streamPhase:xe,showHeader:!0,diffStats:b.diffStats,renderJustificationActions:lt})},`progressive-group-${e}`))};Ue.length>0?Ue.forEach(t=>{let n=y?t.parts:t.parts.filter(e=>e.kind!==`reasoning`);e(t.id,n,t.parts)}):qe&&e(`${t}:compaction-status`,[])}let r=0;for(;r<L.length;){let i=L[r];if(i.type===`text`){let a=Ge.get(i);if(nt){r+=1;continue}if(Ye){r+=1;continue}if(a?.kind===`justification`){r+=1;continue}n.push((0,$.jsx)(`div`,{ref:A,"data-message-text-export-source":`true`,children:(0,$.jsx)(TM,{part:i,sessionId:e,messageId:t,streamPhase:xe,chatRenderMode:fe,allowSortedFinalStreaming:tt,hasStreamingHapticLifecycle:Ee,onContentChange:h,onShowPopup:f})},`assistant-text-${t}-${i.id??r}`)),st&&r===ut&&n.push((0,$.jsx)(`div`,{className:s?mF:pF,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:yF,"data-message-action-group":`true`,children:ct})},`message-actions-${t}`)),r++;continue}if(i.type===`reasoning`){if(Ge.get(i)?.kind===`reasoning`){r+=1;continue}if(!uD(i).trim()){r+=1;continue}y&&(pe?n.push((0,$.jsx)(`div`,{className:Sy(s),children:(0,$.jsx)(LM,{part:i,messageId:t,streamPhase:xe,onContentChange:h})},`reasoning-${t}-${i.id??r}`)):n.push((0,$.jsx)(TM,{part:i,sessionId:e,messageId:t,streamPhase:xe,chatRenderMode:fe,hasStreamingHapticLifecycle:Ee,onContentChange:h,onShowPopup:f},`reasoning-${t}-${i.id??r}`))),r++;continue}if(i.type===`tool`){let e=i,a=e.tool?.toLowerCase()??``;if(_e&&!Xe){r+=1;continue}if(Ge.get(i)?.kind===`tool`){r+=1;continue}if(GA(a)){let e=_P(L,r,e=>e.type!==`tool`||Ge.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)(bP,{activities:i,isMobile:s,isTurnLive:xe!==`completed`,hasFollowingOtherType:hP(L,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 HA(n)?(0,$.jsx)(eF,{toolName:n,activities:[e],isMobile:s,animateTailText:!1},e.id):(0,$.jsx)(aM,{part:e.part,messageId:t,isExpanded:u.has(e.part.id),onToggle:d,isMobile:s,alwaysShowActions:P,onContentChange:h,onShowPopup:f,animateTailText:!1},e.id)})},`context-tools-${i[0].id}`)),r=e.end;continue}}if(UA(a)){let e=xP(L,r,e=>e.type!==`tool`||Ge.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)(EP,{activities:i,isMobile:s,children:i.map(e=>(0,$.jsx)(eF,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:s,animateTailText:!1},e.id))},`skill-tools-${i[0].id}`)),r=e.end;continue}}if(zA(a)){n.push((0,$.jsx)(`div`,{className:Sy(s),children:(0,$.jsx)(aM,{part:e,messageId:t,isExpanded:u.has(e.id),onToggle:d,isMobile:s,alwaysShowActions:P,onContentChange:h,onShowPopup:f,animateTailText:!1})},`tool-${e.id}`)),r++;continue}n.push((0,$.jsx)(`div`,{className:Sy(s),children:(0,$.jsx)(eF,{toolName:a,activities:[{id:e.id,turnId:``,messageId:t,partIndex:r,part:e,kind:`tool`}],isMobile:s,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`&&xe!==`completed`&&!be&&!x&&(!b||b.isLastAssistantInTurn)){let e=i;n[n.length-1]=Z.cloneElement(e,{className:J(typeof e.props.className==`string`?e.props.className:void 0,s?`pb-1`:`pb-1.5`),"data-live-status-text-gap":``})}return n},[Ge,Ue,P,fe,pe,0,u,Ye,qe,s,Xe,_e,ut,t,ct,lt,e,h,f,d,Ze,st,xe,x,Ee,be,y,nt,tt,Ke,b,L]),pt=Z.useMemo(()=>{if(!ve||!be)return;let e=b?.durationMs;if(!(typeof e!=`number`||e<=0))return UF(e)},[ve,be,b?.durationMs]),mt=Z.useMemo(()=>{let e=typeof a==`number`&&a>0?a:typeof o==`number`&&o>0?o:null;if(e===null)return null;let t=YN(e,ge);return t.length>0?t:null},[a,o,ge,T]),ht=Z.useMemo(()=>{if(!he||!ve)return null;let e=b?.assistantTps;if(!$N({completionDisposition:b?.completionDisposition,tps:e}))return null;let t=eP(e??0);return t.length>0?t:null},[he,ve,b?.assistantTps,b?.completionDisposition]),gt=(0,$.jsxs)($.Fragment,{children:[!H&&!s&&!ee&&U?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,variant:`ghost`,size:`icon`,className:hF,"aria-label":w(`chat.messageBody.actions.openPreviewAria`),onPointerDown:e=>e.stopPropagation(),onClick:()=>{let e=ie??(ne?re(ne):null);e&&V(e,U)},children:(0,$.jsx)(X,{weight:CF,name:`global`,className:gF})})}),(0,$.jsx)(ys,{sideOffset:6,children:w(`chat.messageBody.actions.openPreview`)})]}):null,!H&&!ae&&D.fork?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{type:`button`,size:`icon`,variant:`ghost`,className:hF,"aria-label":w(`chat.messageBody.actions.forkAria`),"aria-busy":ce,disabled:ce||!!W,onPointerDown:e=>e.stopPropagation(),onClick:e=>{Ve(e)},children:(0,$.jsx)(X,{weight:CF,name:ce?`loader-4`:`git-branch`,className:J(gF,ce&&`animate-spin`)})})}),(0,$.jsx)(ys,{sideOffset:6,children:w(`chat.messageBody.actions.fork`)})]}):null]});return(0,$.jsxs)(`div`,{ref:k,"data-message-text-export-root":`true`,className:J(`relative w-full group/message`),style:dF,children:[(0,$.jsx)(GN,{containerRef:k}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`message-content-text leading-relaxed text-foreground/90 [&_p:last-child]:mb-0 [&_ul:last-child]:mb-0 [&_ol:last-child]:mb-0`,children:[ft,x&&(0,$.jsx)(Ju,{children:(0,$.jsx)(`div`,{className:`my-1.5`,"data-assistant-error":x.variant,children:(0,$.jsx)(uF,{presentation:x,sessionId:e,messageId:t,directory:ie??void 0})})},`assistant-error`)]}),ot&&b?.diffStats?(0,$.jsx)(FF,{fileCount:b.diffStats.files,changedFiles:b.changedFiles,turnId:b.turnId,isLatestTurn:b.isLatestTurn,isMobile:s}):null,(0,$.jsx)(Kg,{files:n,messageID:t,sessionID:e,onShowPopup:f}),dt&&(0,$.jsx)(`div`,{className:J(s?mF:pF),"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:yF,"data-message-action-group":`true`,children:ct})}),it&&(0,$.jsxs)(`div`,{className:F,"data-message-footer":`true`,style:fF,children:[(0,$.jsxs)(`div`,{className:yF,"data-message-action-group":`true`,children:[ct,gt]}),ht||pt||mt?(0,$.jsxs)(`div`,{className:bF,children:[ht?(0,$.jsx)(wF,{label:ht}):null,pt?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:xF,children:[(0,$.jsx)(X,{weight:CF,name:`hourglass`,className:SF}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:pt})]})}),(0,$.jsx)(ys,{children:pt})]}):null,mt?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsxs)(`span`,{className:xF,"aria-label":`Message time: ${mt}`,children:[(0,$.jsx)(X,{weight:CF,name:`time`,className:SF}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:mt})]})}),(0,$.jsx)(ys,{children:mt})]}):null]}):null,!H&&ve&&ye&&!at?(0,$.jsx)(VM,{activityParts:b?.activityParts}):null]}),!it&&!Ye&&ht?(0,$.jsx)(`div`,{className:F,"data-message-footer":`true`,"data-message-tps":`interrupted`,style:fF,children:(0,$.jsx)(`div`,{className:bF,children:(0,$.jsx)(wF,{label:ht})})}):null]})]})}),qF=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)(WF,{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)(KF,{...r}),t[26]=r,t[27]=i),i});function JF(e){return e.openContextPanelTab}function YF(e){return e.setCurrentSession}function XF(e){return e.openContextPanelTab}function ZF(e){return!e}function QF(e){return e.openContextPanelTab}var $F=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}},eI=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},tI={"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`},nI={icon:`pause-circle`,variant:`muted`};function rI(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`,nI.icon,nI.variant,!0):c(`chat.response.interrupted`,nI.icon,nI.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(tI,a)){if(a===`compaction.interrupted`)return c(tI[a],nI.icon,nI.variant,r===`Compaction was interrupted`);if(a===`compaction.unavailable`)return c(tI[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(tI[a],e)}return(!a||a===`unknown`||a===`error`)&&eI(r)?c(`chat.response.auth`,`lock`):{...c(`chat.response.failed`,`error-warning`),...!r&&i?{rawMessage:i}:{}}}function iI(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.nativeType===`synthetic`&&t.description===`Continuing after restart`}function aI(e,t){if(iI(e))return{text:t(`chat.response.continuingAfterRestart`),icon:`restart`,variant:`info`}}function oI(e){return!e}function sI(e){let t=(0,Q.c)(23),{part:n,isMobile:r}=e,i=r!==void 0&&r,{t:a}=Vn(),o=n.status===`running`,s=n.status===`failed`,c;t[0]!==s||t[1]!==o||t[2]!==a?(c=a(o?`chat.activity.compacting`:s?`chat.activity.compactionFailed`:`chat.activity.compactionCompleted`),t[0]=s,t[1]=o,t[2]=a,t[3]=c):c=t[3];let l=c,u;t[4]!==s||t[5]!==n.error||t[6]!==a?(u=s?rI(n.error,a):void 0,t[4]=s,t[5]=n.error,t[6]=a,t[7]=u):u=t[7];let d=u,f=n.status,p=i?`h-7`:`h-8`,m;t[8]===p?m=t[9]:(m=J(`flex w-full items-center gap-3`,p),t[8]=p,t[9]=m);let h=o?`polite`:void 0,g=d?.text??l,_;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 border-t`,"aria-hidden":`true`}),t[10]=_):_=t[10];let v=o?`animate-text-shimmer text-[var(--status-info)] [--oc-text-shimmer-base:var(--status-info)]`:s?`text-[var(--status-error)]/85`:`text-muted-foreground`,y;t[11]===v?y=t[12]:(y=J(`shrink-0 typography-meta`,v),t[11]=v,t[12]=y);let b;t[13]!==y||t[14]!==l?(b=(0,$.jsx)(`span`,{className:y,children:l}),t[13]=y,t[14]=l,t[15]=b):b=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 border-t`,"aria-hidden":`true`}),t[16]=x):x=t[16];let S;return t[17]!==n.status||t[18]!==b||t[19]!==m||t[20]!==h||t[21]!==g?(S=(0,$.jsxs)(`div`,{"data-compaction-card":``,"data-compaction-status":f,className:m,role:`separator`,"aria-live":h,"aria-label":g,children:[_,b,x]}),t[17]=n.status,t[18]=b,t[19]=m,t[20]=h,t[21]=g,t[22]=S):S=t[22],S}var cI=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},lI=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=cI(t.mode)??cI(t.agent)??cI(r?.agent),o=cI(t.providerID)??cI(n?.providerID)??cI(i?.providerID),s=cI(t.modelID)??cI(n?.modelID)??cI(n?.id)??cI(i?.modelID)??cI(i?.id),c=cI(n?.variant)??cI(i?.variant)??cI(t.variant)??cI(r?.variant);return!a&&!o&&!s&&!c?null:{agentName:a,providerId:o,modelId:s,variant:c}},uI=e=>{let t=e?.providerId?.trim(),n=e?.modelId?.trim();return!t||!n?null:{providerId:t,modelId:n}},dI=e=>uI(e.assistantIdentity)??uI(e.userIdentity)??(e.allowComposerFallback?uI(e.composerSelection):null)??uI(e.sessionSelection),fI=e=>{let t=e?.modelId??null;return{providerID:e?.providerId??null,modelID:t,agentName:e?.agentName,modelName:sr(void 0,t)||void 0,variant:e?.variant}},pI=e=>!(!e.isLastTurn||!e.sessionIsWorking||e.hasAssistantMessages||e.activityPresentationKind===`compaction`||e.hasActiveStreamingMessage),mI=(e,t,n)=>e===`active`||n?.isLastTurn&&n.hasConfirmedFinalBody!==!0?!0:t===`summary`,hI=e=>!e,gI=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),vI=e=>e.isWorking?!0:e.isInActiveTurn?e.headerCompletionDisposition!==`normal`&&e.headerCompletionDisposition!==`abnormal`:!1,yI=e=>e.turnCompletionDisposition===`active`&&(e.isLastTurn||e.hasAssistantMessages)?`active`:e.headerPresentationDisposition,bI=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},xI=e=>{let t=e.info;return typeof t.parentID==`string`&&t.parentID.length>0?t.parentID:null},SI=e=>!e||bI(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`)}),CI=e=>bI(e)===`user`?SI(e)||e.parts.some(e=>{let t=e.shellAction;return e.type===`text`&&typeof t==`object`&&!!t}):!1,wI=(e,t)=>{if(bI(e)!==`assistant`||t&&xI(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}}},TI=(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(bI(t)===`user`)break;let{hide:i,details:a}=wI(t,r);if(i){let e=typeof a?.command==`string`?a.command.trim():``;return e.length>0?e:null}}return null},EI=gu(()=>bn(()=>import(`./ToolOutputDialog-Cg_Q1t3X.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]))),DI=4e3,OI=new Map,kI=new Map,AI=new Set([`bash`,`shell`,`cmd`,`terminal`]),jI=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},MI=e=>{let t=OI.get(e);return t?new Set(t):new Set},NI=(e,t)=>{if(OI.size>=DI&&!OI.has(e)){let e=OI.keys().next().value;typeof e==`string`&&OI.delete(e)}OI.set(e,new Set(t))},PI=e=>{let t=kI.get(e);return t?new Set(t):new Set},FI=(e,t)=>{if(kI.size>=DI&&!kI.has(e)){let e=kI.keys().next().value;typeof e==`string`&&kI.delete(e)}kI.set(e,new Set(t))},II=200,LI=new Map,RI=e=>LI.get(e),zI=(e,t)=>{if(!t.agent&&!t.provider&&!t.model)return;let n=LI.get(e);if(!(n&&n.agent===t.agent&&n.provider===t.provider&&n.model===t.model)){if(LI.size>=II&&!LI.has(e)){let e=LI.keys().next().value;typeof e==`string`&&LI.delete(e)}LI.set(e,t)}};function BI(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 VI=(e,t)=>{if(typeof e==`object`&&e)return e[t]},HI=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}=Vn(),{isMobile:m,isTablet:h,hasTouchInput:g}=bc(),_=qb(),v=Jb(_),y=m||h,b=Z.useRef(null),x=Y(e=>e.currentSessionId),S=Y(e=>e.revertToMessage),C=Y(e=>e.editMessagePreservingChanges),w=Y(e=>e.forkFromMessage),T=Y(t=>t.messageEditCommitting?.messageId===e.info.id&&t.messageEditCommitting?.sessionId===e.info.sessionID),E=Y(t=>t.stagedMessageEdit?.messageId===e.info.id&&t.stagedMessageEdit?.sessionId===e.info.sessionID),D=Y(e=>e.clearStagedMessageEdit);Ut(`ui.chat_message.render`),c&&Ut(`ui.chat_message.render.streaming`);let O=Ki(e=>e.providers),{showReasoningTraces:k,stickyUserHeader:A,chatRenderMode:j,showExpandedBashTools:M}=G(qe(e=>({showReasoningTraces:e.showReasoningTraces,stickyUserHeader:e.stickyUserHeader,chatRenderMode:e.chatRenderMode,showExpandedBashTools:e.showExpandedBashTools})));Z.useEffect(()=>{x&&eO.getInstance().recordSessionStart(x)},[x]);let[N,P]=Z.useState(null),[F,I]=Z.useState(!1),[L,R]=Z.useState(null),z=Z.useRef(null),[B,V]=Z.useState(()=>MI(e.info.id)),[ee,H]=Z.useState(()=>PI(e.info.id)),[U,te]=Z.useState({open:!1,title:``,content:``});Z.useEffect(()=>{V(MI(e.info.id)),H(PI(e.info.id))},[e.info.id]);let W=Z.useMemo(()=>$F(e.info),[e.info]).isUser,ne=Z.useMemo(()=>ot(e.parts),[e.parts]),re=W&&(m||!A),ie=W&&!m&&A&&!re,ae=e.info.sessionID,{currentContextAgent:oe,savedSessionAgentSelection:se}=Ry(qe(e=>({currentContextAgent:c&&ae?e.currentAgentContext.get(ae):void 0,savedSessionAgentSelection:c&&ae?e.sessionAgentSelections.get(ae):void 0}))),ce=Z.useMemo(()=>lD(e.sourceParts??e.parts),[e.parts,e.sourceParts]),le=Z.useMemo(()=>W?SD(ce):lD(e.parts),[W,e.parts,ce]),ue=Z.useMemo(()=>{if(W||!t)return null;let e=VI(t.info,`clientRole`),n=VI(t.info,`role`);return(typeof e==`string`?e:typeof n==`string`?n:void 0)===`user`&&lI(t.info)||null},[W,t]),de=Z.useMemo(()=>{if(W)return;let t=VI(e.info,`mode`);if(typeof t==`string`&&t.trim().length>0)return t;let n=VI(e.info,`agent`);if(typeof n==`string`&&n.trim().length>0)return n;if(ue?.agentName)return ue.agentName;if(ae)return oe||(se??void 0)},[W,e.info,ue,ae,oe,se]),fe=W?null:lI(e.info),pe=fe?.providerId??null,me=fe?.modelId??null,he=ma(qe(e=>{if(W||!ae)return null;if(ue?.providerId&&ue?.modelId)return{providerId:ue.providerId,modelId:ue.modelId};if(de){let t=e.getAgentModelForSession(ae,de);if(t?.providerId&&t?.modelId)return t}let t=e.getSessionModelSelection(ae);return t?.providerId&&t?.modelId?t:null})),ge=Z.useMemo(()=>W?null:typeof pe==`string`&&pe.trim().length>0?pe:he?.providerId??null,[W,pe,he]),_e=Z.useMemo(()=>W?null:typeof me==`string`&&me.trim().length>0?me:he?.modelId??null,[W,me,he]),ve=e.info.id?RI(e.info.id):void 0;W||zI(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(W)return;let e=be&&O.length>0?O.find(e=>e.id===be):void 0;return sr(e,xe)||void 0},[W,be,xe,O]),Ce=Z.useMemo(()=>{if(W||!ge||!_e)return!1;let e=O.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)},[W,_e,ge,O]),we=BI(ye),Te=BI(be??void 0),Ee=BI(xe??void 0),De=BI(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(()=>W?!0:!!(Me&&Me>0),[W,Me]),Fe=Z.useMemo(()=>{let t=e.info.finish;return typeof t==`string`?t:void 0},[e.info]),Ie=Z.useMemo(()=>fD(le,{includeReasoning:k}),[le,k]),Le=Z.useMemo(()=>W?Ie:!Pe&&j===`sorted`?[]:Ie,[j,Pe,W,Ie]),Re=Z.useMemo(()=>W?[]:Ie.filter(e=>e.type===`text`),[W,Ie]),ze=Z.useMemo(()=>W?[]:Ie.filter(e=>e.type===`tool`),[W,Ie]),Be=Z.useMemo(()=>{if(!M)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=jI(t.tool);!r||!AI.has(r)||e.add(n)}for(let t of a?.activityParts??[]){if(t.kind!==`tool`)continue;let n=jI(t.part.tool);!n||!AI.has(n)||e.add(t.id)}return e},[M,ze,a?.activityParts]),Ve=Z.useMemo(()=>{if(Be.size===0&&ee.size===0)return B;let e=new Set(B);return Be.forEach(t=>{ee.has(t)||e.add(t)}),ee.forEach(t=>{e.delete(t)}),e},[ee,Be,B]),He=Z.useMemo(()=>{if(!W)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}`}},[W,le]),Ue=W&&!CD(Le),We=typeof Fe!=`string`,Ge=Z.useMemo(()=>W?!1:Re.length===0||ze.length===0?We:!0,[Re.length,ze.length,We,W]),Ke=Z.useMemo(()=>!W&&eO.getInstance().shouldAnimateMessage(e.info,x||e.info.sessionID),[e.info,x,W]),[Je,Ye]=Z.useState(!1),Xe=Z.useMemo(()=>n?$F(n.info):null,[n]),Ze=!!a,Qe=a?.isLastAssistantInTurn??!1,$e=vI({isWorking:a?.isWorking===!0,isInActiveTurn:c,headerCompletionDisposition:a?.completionDisposition}),et=Z.useMemo(()=>W?!1:Ze?!Qe:Xe?!Xe.isUser&&Xe.role===`assistant`:!1,[Ze,Qe,W,Xe]),tt=Z.useMemo(()=>Pe?`completed`:c?l??`streaming`:`completed`,[l,c,Pe]);Z.useEffect(()=>{!W||!u||d?.(e.info.id)},[u,W,e.info.id,d]),Z.useEffect(()=>{Ye(!1)},[e.info.id]),Z.useEffect(()=>{let t=o??a?.headerMessageId;W||!t||t!==e.info.id||(tt===`streaming`||tt===`cooldown`)&&Ye(!0)},[o,W,e.info.id,tt,a?.headerMessageId]);let nt=Z.useMemo(()=>{if(W)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,W,a,tt,e.info.id,s]),rt=Z.useCallback(e=>{Bn(e).then(t=>{t.ok&&(P(e),setTimeout(()=>P(null),2e3))})},[]),it=W?void 0:a?.userMessageVariant??ue?.variant,at=!W&&Ce&&typeof it==`string`&&it.trim().length>0?it:void 0,st=Z.useMemo(()=>{if(!W&&!oI(Ze?Qe:!et))return rI(e.info?.error,p)},[Ze,et,Qe,W,e.info,p]),ct=st?.text,lt=Z.useMemo(()=>{if(W){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 ct&&ct.trim().length>0?ct:eo(Le)},[ct,Le,W]),ut=lt.length>0,dt=Z.useCallback(async()=>(await Bn(lt)).ok?(W&&(I(!0),setTimeout(()=>I(!1),2e3)),!0):!1,[W,lt]),ft=Z.useCallback(async()=>{if(!(!ae||!e.info.id||z.current)){z.current=`revert`,R(`revert`);try{_.onRevertMessage?await _.onRevertMessage(e.info.id):await S(ae,e.info.id,{directory:_.directory??void 0})}finally{z.current=null,R(null)}}},[ae,e.info.id,S,_]),pt=q(()=>{if(!ae||!e.info.id||z.current)return;let t={info:e.info,parts:e.parts};if(_.onEditMessage){_.onEditMessage(e.info.id,t).catch(()=>{});return}C(ae,e.info.id,t).catch(()=>{})}),mt=q(()=>{ae&&D(ae)}),ht=Z.useCallback(async()=>{if(e.info.id,!ae||!e.info.id){console.warn(`[session-fork] message action is missing identifiers`,{hasSessionId:!!ae,hasMessageId:!!e.info.id});return}if(!z.current){z.current=`fork`,R(`fork`);try{await w(ae,e.info.id)}finally{z.current=null,R(null)}}},[ae,e.info.id,w]),gt=q(t=>{let n=Be.has(t),r=Ve.has(t);if(n){H(n=>{let i=new Set(n);return r?i.add(t):i.delete(t),FI(e.info.id,i),i}),r||V(n=>{let r=new Set(n);return r.delete(t),NI(e.info.id,r),r});return}V(n=>{let r=new Set(n);return r.has(t)?r.delete(t):r.add(t),NI(e.info.id,r),r}),H(n=>{if(!n.has(t))return n;let r=new Set(n);return r.delete(t),FI(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(()=>{W||vt.current||(vt.current=!0,r?.(`structural`))},[W,r]),Tt=G(e=>e.setImagePreviewOpen),Et=Z.useCallback(e=>{(e.image||e.mermaid)&&(te(e),Tt(!0))},[Tt]),Dt=Z.useCallback(e=>{te(t=>({...t,open:e})),Tt(e)},[Tt]),Ot=!!VI(e.info,`animationSettled`),kt=tt===`streaming`||tt===`cooldown`;kt&&(Ct.current=!0);let At=Z.useMemo(()=>!W&&Ie.some(e=>e.type===`reasoning`),[W,Ie]),jt=Ke&&!Ot&&!kt&&!Ct.current,Mt=!W&&Ke&&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(W)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,W,_t,Mt]);let Nt=Z.useMemo(()=>W?!0:Ie.some(e=>e.type===`text`||e.type===`reasoning`?uD(e).trim().length>0:e.type===`tool`||e.type===`file`),[W,Ie]),Pt=!!(a?.activityOwnerMessageId===e.info.id&&((a.activityParts?.length??0)>0||a.hasTools||a.hasReasoning)),Ft=!W&&!ne&&(Pe||!c)&&!st&&!Nt&&!Pt,It=aI(e.info,p);if(It)return(0,$.jsx)(`div`,{ref:b,className:`chat-message-column py-1.5`,id:`message-${e.info.id}`,"data-message-id":e.info.id,"data-restart-notice":``,children:(0,$.jsx)(iy,{presentation:It})});if(Ue||Ft)return null;if(ne)return(0,$.jsx)(`div`,{className:J(`group w-full`,m?`py-2`:`py-3`),id:`message-${e.info.id}`,"data-message-id":e.info.id,"data-compaction-status":ne.status,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)(sI,{part:ne,isMobile:m})})});let Lt=!W&&nt?m?A?`pt-4`:`pt-0`:`pt-6`:`pt-0`,Rt=CI(e);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:J(`group w-full`,W?m?`pt-2`:`pt-6`:Lt,W||et||s?`pb-0`:$e?`pb-1`:`pb-8`),id:`message-${e.info.id}`,"data-message-id":e.info.id,ref:b,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:W?CD(Le)?(0,$.jsx)(Ju,{forceAnimation:!0,skipAnimation:!u,ignoreContextDisabled:!0,respectReducedMotion:!0,children:(0,$.jsx)(`div`,{className:J(`relative flex`,Rt?`justify-start`:`justify-end`,m?void 0:`group/user-shell`),children:(0,$.jsxs)(`div`,{className:J(Rt?`w-full min-w-0`:`max-w-[85%]`,ie&&!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)(qF,{messageId:e.info.id,parts:Le,sourceParts:ce,isUser:W,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:N,onCopyCode:rt,expandedTools:B,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:!1,hasTextContent:ut,onCopyMessage:dt,copiedMessage:F,showReasoningTraces:k,onAuxiliaryContentComplete:wt,agentMention:He,onEdit:!T&&v.edit?pt:void 0,onRevert:!T&&v.revert?ft:void 0,onFork:!T&&W&&v.fork?ht:void 0,editing:T,editStaged:E,onCancelEdit:E?mt:void 0,pendingMessageAction:L,errorPresentation:st,userActionsMode:re?`external-content`:`inline`,stickyUserHeaderEnabled:A&&!Rt})}),re?(0,$.jsx)(qF,{messageId:e.info.id,parts:Le,sourceParts:ce,isUser:W,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:N,onCopyCode:rt,expandedTools:B,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:!1,hasTextContent:ut,onCopyMessage:dt,copiedMessage:F,showReasoningTraces:k,onAuxiliaryContentComplete:wt,agentMention:He,onEdit:!T&&v.edit?pt:void 0,onRevert:!T&&v.revert?ft:void 0,onFork:!T&&W&&v.fork?ht:void 0,editing:T,editStaged:E,onCancelEdit:E?mt:void 0,pendingMessageAction:L,errorPresentation:st,userActionsMode:`external-actions`,stickyUserHeaderEnabled:A}):null]})})}):null:(0,$.jsxs)(`div`,{className:`relative`,children:[nt&&(0,$.jsx)(nO,{isUser:W,isMobile:m,providerID:ke,modelID:Ae,agentName:Oe,modelName:je,variant:at}),!Nt&&!Pt&&!st&&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)(Pd,{className:`h-3.5 w-2/3`}),(0,$.jsx)(Pd,{className:`h-3.5 w-1/3`})]}),(0,$.jsx)(qF,{sessionId:e.info.sessionID,messageId:e.info.id,parts:Ie,sourceParts:le,isUser:W,isMessageCompleted:Pe,messageFinish:Fe,messageCompletedAt:Me??void 0,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:N,onCopyCode:rt,expandedTools:Ve,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:nt,hasTextContent:ut,onCopyMessage:dt,copiedMessage:F,onAuxiliaryContentComplete:wt,showReasoningTraces:k,agentMention:He,turnGroupingContext:a,errorPresentation:st,reviewTransferDirection:f})]})})}),U.open?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(EI,{popup:U,onOpenChange:Dt,isMobile:m})}):null]})},(e,t)=>kk({info:e.message.info,parts:e.message.parts},{info:t.message.info,parts:t.message.parts})&&e.message.sourceParts===t.message.sourceParts&&Ak(e.previousMessage?{info:e.previousMessage.info,parts:e.previousMessage.parts}:void 0,t.previousMessage?{info:t.previousMessage.info,parts:t.previousMessage.parts}:void 0)&&Ak(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&&Rk(e.turnGroupingContext,t.turnGroupingContext,e.message.info.id,$F(e.message.info).isUser)),UI=e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``},WI=e=>{let t=e?.type;return t===`compaction`?!wt(e):t===`text`&&UI(e).trim()===`/compact`},GI=e=>e?e.some(e=>WI(e)):!1,KI=e=>GI(e.parts),qI=e=>e?GI(e.sourceParts)||GI(e.parts):!1,JI=e=>{if(!KI(e))return e;let t=!1,n=e.parts.map(e=>e?.type!==`compaction`||wt(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}},YI=e=>{let t=lD(e.parts);return t.length===e.parts.length?e:{...e,parts:t}},XI=new WeakMap,ZI=e=>{let t=XI.get(e);if(t)return t;let n=JI(YI(e)),r=n.parts,i=Tr(r),a=i===r?n:{...n,parts:i,sourceParts:r};return XI.set(e,a),a},QI={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},$I=[],eL=`\0`,tL=new Set([`edit`,`write`,`apply_patch`]),nL={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`},rL=[`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`],iL=(e,t)=>{let n=nL[Iu(e)];return n?t(n):t(`chat.assistantStatus.usingTool`,{tool:e})},aL=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)},oL=(e,t)=>t(rL[aL(e)%rL.length]??`chat.assistantStatus.working`),sL=(e,t,n)=>{let r,i;if(!xi(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??pL(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=Iu(mL(n));tL.has(e)?(r=`editing`,i=e):(r=`tool`,i=e)}break}case`text`:{let e=fL(n)??``;if(typeof e==`string`&&e.trim().length>0){let e=pL(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?iL(i,n):r===`reasoning`?n(`chat.assistantStatus.thinking`):r===`text`?n(`chat.assistantStatus.composing`):oL(t,n);return{activePartType:r,activeToolName:i,statusText:o,isGenericStatus:a}},cL=e=>[e.activePartType??``,e.activeToolName??``,e.statusText,e.isGenericStatus?`1`:`0`].join(eL),lL=e=>{let[t,n,r=`working`,i]=e.split(eL);return{activePartType:t===`text`||t===`tool`||t===`reasoning`||t===`editing`?t:void 0,activeToolName:n||void 0,statusText:r,isGenericStatus:i===`1`}},uL=e=>e.type===`reasoning`,dL=e=>e.type===`text`,fL=e=>{if(dL(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},pL=e=>(dL(e)||uL(e),e.time),mL=e=>{if(e.tool)return e.tool;let t=e;return typeof t.name==`string`?t.name:`tool`};function hL(e,t){let{t:n}=Vn(),r=Y(e=>e.currentSessionId),i=Y(e=>e.currentSessionDirectory),a=e??r,o=t??i,s=Lr(e=>!!(a&&e.session_execution_recovery[a]),o??void 0),c=Z.useMemo(()=>e=>a?e.pendingSendMessageIDs.get(a)??null:null,[a]),l=Y(c),u=uo(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}}return{id:null,index:-1,finish:void 0,error: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`)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=Fa(f??``,o??void 0,a??void 0),g=Fa(m??``,o??void 0,a??void 0),_=!!m&&GI(g),v=!!(f&&d.index>p.index&&YM(d.finish,h,d.error)),y=Z.useMemo(()=>{let e=`${a??``}:${f??``}`;return cL(sL(f&&!d.error&&d.index>p.index?h:$I,e,n))},[a,f,d.error,d.index,p.index,h,n]),b=ho(a??``,o??void 0),x=aa(a??``,o??void 0),S=Z.useMemo(()=>e=>a?e.sessionAbortFlags?.get(a)??null:null,[a]),C=Y(S),{phase:w,isWorking:T}=Vx(a,o??void 0),E=!!(d.error&&d.index>p.index),D=la(a??``,o??void 0),O=D?.type===`retry`?D.attempt:void 0,k=D?.type===`retry`?D.next:void 0,A=Z.useMemo(()=>lL(y),[y]),j=Z.useMemo(()=>{let e=!!(C&&!C.acknowledged);return{wasAborted:e,abortActive:e}},[C]),M=Z.useMemo(()=>{if(s)return{...QI,isRecovering:!0,canAbort:T};if(E&&w!==`retry`)return{...QI,isTurnSettled:!0,canAbort:T};if(j.wasAborted)return{...QI,wasAborted:!0,abortActive:j.abortActive,activity:`idle`,hasWorkingContext:!1,isWorking:!1,isStreaming:!1,isCooldown:!1,statusText:null,canAbort:!1,retryInfo:null};if(v)return{...QI,isComplete:!0,isTurnSettled:!0,turnStartedAt:p.turnStartedAt};let e=T,t=w===`busy`,r=w===`retry`,i=e&&_,a=`idle`;e&&(a=!i&&(A.activePartType===`tool`||A.activePartType===`editing`)?`tooling`:`streaming`);let o=r?{attempt:O,next:k}:null;return{activity:a,hasWorkingContext:e,hasActiveTools:!i&&(A.activePartType===`tool`||A.activePartType===`editing`),isWorking:e,isStreaming:t,isCooldown:!1,lifecyclePhase:t?`streaming`:null,statusText:e?i?n(`chat.assistantStatus.compacting`):A.statusText:null,isGenericStatus:!e||!i&&A.isGenericStatus,isWaitingForPermission:!1,canAbort:e,compactionDeadline:null,activePartType:e&&!i?A.activePartType:void 0,activeToolName:e&&!i?A.activeToolName:void 0,wasAborted:!1,abortActive:!1,lastCompletionId:null,isComplete:!1,isTurnSettled:!1,retryInfo:o,turnStartedAt:p.turnStartedAt}},[s,E,w,T,v,_,p.turnStartedAt,A,j,O,k,n]);return{forming:Z.useMemo(()=>({isActive:!s&&!E&&T&&A.activePartType===`text`,characterCount:0}),[s,E,T,A.activePartType]),working:Z.useMemo(()=>{if(s||M.wasAborted||M.abortActive)return M;if(l)return{...M,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=b.length>0,t=x.length>0;return!e&&!t?M:t?{...M,statusText:null,isWorking:!1,hasWorkingContext:!1,hasActiveTools:!1,canAbort:!1,activePartType:void 0,activeToolName:void 0,retryInfo:null}:{...M,statusText:n(`chat.assistantStatus.waitingForPermission`),isWaitingForPermission:!0,canAbort:!1,retryInfo:null}},[s,M,l,b,x,n])}}var gL=Z.memo(()=>{let e=(0,Q.c)(15),t=qb(),n=Y(_L),r=Y(vL),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=Y(o),c=Y(yL),l=Y(bL),{working:u}=hL(i,a),d=Ki(xL),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)(Qb,{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],_});gL.displayName=`StatusRowContainer`;function _L(e){return e.currentSessionId}function vL(e){return e.currentSessionDirectory}function yL(e){return e.abortPromptSessionId}function bL(e){return e.abortPromptExpiresAt}function xL(e){return e.currentAgentName}var SL=(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},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},wL=Z.memo(e=>{let t=(0,Q.c)(37),{assistantMessage:n,userMessage:r,pendingPresentation:i,assistantIsInActiveTurn:a,isMobile:o}=e,s=Ki(TL),c=Ki(qe(EL)),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}=Ry(qe(u)),p;t[3]===r.info?p=t[4]:(p=lI(r.info),t[3]=r.info,t[4]=p);let m=p,h;t[5]===n?h=t[6]:(h=n?lI(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?SL(n.info,`mode`)??SL(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=ma(b),S=!n||a,C;t[18]!==g||t[19]!==c||t[20]!==x||t[21]!==S||t[22]!==m?(C=dI({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=CL(y),O=CL(T),k=CL(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=sr(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)(nO,{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 TL(e){return e.providers}function EL(e){return{providerId:e.currentProviderId,modelId:e.currentModelId}}var DL=Z.memo(e=>{let t=(0,Q.c)(17),{assistantMessages:n,messages:r,activityExpanded:i,renderMessage:a}=e,o;bb0:{if(!r.some(OL)){o=n;break bb0}let e;t[0]===n?e=t[1]:(e=new Set(n.map(kL)),t[0]=n,t[1]=e);let i=e,a;if(t[2]!==r||t[3]!==i){let e;t[5]===i?e=t[6]:(e=(e,t)=>t>0&&(e.role!==`assistant`||i.has(e.messageId))?[e.message]:[],t[5]=i,t[6]=e),a=r.flatMap(e),t[2]=r,t[3]=i,t[4]=a}else a=t[4];o=a}let s=o,c;if(t[7]!==i||t[8]!==a||t[9]!==s){let e;t[11]!==i||t[12]!==a?(e=e=>a(e,i),t[11]=i,t[12]=a,t[13]=e):e=t[13],c=s.map(e),t[7]=i,t[8]=a,t[9]=s,t[10]=c}else c=t[10];let l;return t[14]!==i||t[15]!==c?(l=(0,$.jsx)(`div`,{className:`relative z-0`,"data-turn-assistant-activity-expanded":i,children:c}),t[14]=i,t[15]=c,t[16]=l):l=t[16],l});function OL(e,t){return t>0&&e.role!==`assistant`}function kL(e){return e.info.id}var AL=e=>{let t=(0,Q.c)(13),{sessionId:n,directory:r,hasInlineError:i,fallbackHeader:a}=e,o=i!==void 0&&i,{t:s}=Vn(),c=fi(n),l=Ua(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),Lr(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=rI(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)(iy,{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},jL=new Set,ML=()=>{},NL=()=>{},PL=Z.memo(e=>{let t=(0,Q.c)(49),{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=G(FL),y=qb(),b=n.userMessage.info.time?.created,x=n.activityPresentationKind===`compaction`,S;t[0]===n.userMessage?S=t[1]:(S=CI(n.userMessage),t[0]=n.userMessage,t[1]=S);let C=S,w=`relative w-full ${g?`pb-1`:`pb-8`}`,T=`turn-${n.turnId}`,E;t[2]!==i||t[3]!==x||t[4]!==C||t[5]!==f||t[6]!==_||t[7]!==n.userMessage?(E=x?null:_&&!C?(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]=x,t[4]=C,t[5]=f,t[6]=_,t[7]=n.userMessage,t[8]=E):E=t[8];let D;t[9]!==h||t[10]!==s||t[11]!==v||t[12]!==C||t[13]!==m||t[14]!==_||t[15]!==n.userMessage?(D=!C&&(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)(wL,{assistantMessage:s,userMessage:n.userMessage,pendingPresentation:m,assistantIsInActiveTurn:h,isMobile:v})})}):null,t[9]=h,t[10]=s,t[11]=v,t[12]=C,t[13]=m,t[14]=_,t[15]=n.userMessage,t[16]=D):D=t[16];let O;t[17]!==i||t[18]!==v||t[19]!==u||t[20]!==a||t[21]!==n.completionDisposition||t[22]!==n.durationMs||t[23]!==b?(O=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)(cF,{parts:[],isExpanded:i,completionDisposition:n.completionDisposition,activityPresentationKind:`compaction`,durationMs:n.durationMs,startedAt:typeof b==`number`?b:void 0,onToggle:u,isMobile:v,expandedTools:jL,onToggleTool:ML,onShowPopup:NL,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]=O):O=t[24];let k;t[25]!==i||t[26]!==f||t[27]!==n.assistantMessages||t[28]!==n.messages?(k=(0,$.jsx)(DL,{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]=k):k=t[29];let A;t[30]!==s||t[31]!==v||t[32]!==C||t[33]!==m||t[34]!==p||t[35]!==y||t[36]!==n.assistantMessages||t[37]!==n.userMessage?(A=p&&y.active&&y.capabilities.compose&&(!y.sessionId||y.sessionId===n.userMessage.info.sessionID)?(0,$.jsx)(AL,{sessionId:n.userMessage.info.sessionID,directory:n.userMessage.sourceDirectory??y.directory,hasInlineError:!!n.assistantMessages.at(-1)?.info.error,fallbackHeader:!C&&!m&&!s?(0,$.jsx)(wL,{userMessage:n.userMessage,pendingPresentation:fI(lI(n.userMessage.info)),assistantIsInActiveTurn:!1,isMobile:v}):void 0}):null,t[30]=s,t[31]=v,t[32]=C,t[33]=m,t[34]=p,t[35]=y,t[36]=n.assistantMessages,t[37]=n.userMessage,t[38]=A):A=t[38];let j;return t[39]!==i||t[40]!==D||t[41]!==O||t[42]!==k||t[43]!==A||t[44]!==w||t[45]!==T||t[46]!==E||t[47]!==n.turnId?(j=(0,$.jsxs)(`section`,{className:w,id:T,"data-turn-id":n.turnId,"data-turn-activity-expanded":i,"data-scroll-spy-id":n.turnId,children:[E,D,O,k,A]}),t[39]=i,t[40]=D,t[41]=O,t[42]=k,t[43]=A,t[44]=w,t[45]=T,t[46]=E,t[47]=n.turnId,t[48]=j):j=t[48],j});function FL(e){return e.isMobile}var IL=(e,t,n)=>t.id??`${e}-part-${n}-${t.type}`,LL=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},RL=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},zL=e=>{let t=e.info.finish;return typeof t==`string`?t:void 0},BL=(e,t,n,r)=>({id:IL(t,n,r),turnId:e,messageId:t,part:n,partIndex:r,endedAt:LL(n)}),VL=e=>{let t=[],n=!1,r=!1;e.assistantMessages.forEach(e=>{e.parts.forEach(e=>{if(e.type===`tool`){n=!0;return}e.type===`reasoning`&&RL(e)&&(r=!0)})});let i=!!e.summarySourceMessageId&&!!e.summarySourcePartId&&e.assistantMessages.some(t=>t.info.id===e.summarySourceMessageId&&qM(zL(t),t.parts));e.assistantMessages.forEach(n=>{let r=zL(n),a=n.parts.some(e=>e.type===`tool`);n.parts.forEach((o,s)=>{let c=o.type===`tool`,l=o.type===`reasoning`||o.type===`text`?RL(o):void 0,u=IL(n.info.id,o,s),d=o.type===`text`&&typeof l==`string`&&qM(r,n.parts)&&e.summarySourceMessageId===n.info.id&&e.summarySourcePartId===u,f=null;c?f=`tool`:o.type===`reasoning`?f=`reasoning`:e.showTextJustificationActivity&&o.type===`text`&&l&&!d&&(i||a||typeof r==`string`&&r!==`stop`)&&(f=`justification`),f&&t.push({...BL(e.turnId,n.info.id,o,s),kind:f})})});let a=[];if(t.length>0){let n=e.assistantMessages[0]?.info.id;n&&a.push({id:`${e.turnId}:activity`,anchorMessageId:n,afterToolPartId:null,parts:t})}return{activityParts:t,activitySegments:a,hasTools:n,hasReasoning:r}},HL=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;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&&(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}},UL=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},WL=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(!n)continue;let r=n.info.finish;if(qM(r,n.parts))for(let e=n.parts.length-1;e>=0;--e){let t=n.parts[e];if(!t||!JM(t))continue;let r=UL(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:IL(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=UL(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:IL(n.info.id,t,e)}}}return{}},GL=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}},KL=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},qL=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},JL=e=>e.info.nativeType===`synthetic`,YL=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},XL=e=>{let t=e.info.time?.created;return typeof t==`number`?t:void 0},ZL=e=>{let t=e.info.time?.completed;return typeof t==`number`?t:void 0},QL=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},$L=e=>{let t=e.info?.summary?.body;if(typeof t==`string`)return t.trim().length>0?t:void 0},eR=(e,t)=>{let n=qL(e);return{messageId:e.info.id,role:n,parentMessageId:YL(e),message:e,order:t}},tR=(e,t)=>{let n=XL(e),r,i,a=!1;t.forEach(e=>{let t=ZL(e);typeof t==`number`?r=Math.max(r??0,t):a=!0,e.parts.forEach(e=>{let t=QL(e);typeof t==`number`&&(i=Math.max(i??0,t))})});let o=r??i,s=typeof n==`number`&&typeof o==`number`&&o>=n?o-n:void 0;return{isStreaming:a,isRetrying:t.length>1,startedAt:n,completedAt:r,durationMs:s}},nR=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`||KM(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 ZL(t)!=`number`)return`active`;return`active`},rR=e=>{let t=e[e.length-1];if(!t)return!1;let n=t.info;return YM(n.finish,t.parts,n.error)},iR=e=>qI(e)?`compaction`:`default`,aR={previousProjection:null,showTextJustificationActivity:!1,showTurnChangedFiles:!1},oR=(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},sR=(e,t)=>e.userMessage===t.userMessage&&e.headerMessageId===t.headerMessageId&&oR(e.messages,t.messages),cR=(e,t)=>{e.summary=WL(e.assistantMessages),e.summaryText=e.summary.text??$L(e.userMessage),e.diffStats=GL(e.userMessage),e.changedFiles=t.showTurnChangedFiles?KL(e.userMessage):void 0,e.completionDisposition=nR(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(wt);r?.reason===`auto`&&r.status!==`failed`&&(e.completionDisposition=`active`,e.hasConfirmedFinalBody=!1);break}e.activityPresentationKind=iR(e.userMessage);let n=VL({turnId:e.turnId,assistantMessages:e.assistantMessages,summarySourceMessageId:e.summary.sourceMessageId,summarySourcePartId:e.summary.sourcePartId,showTextJustificationActivity:t.showTextJustificationActivity});return e.activityParts=n.activityParts,e.activitySegments=n.activitySegments,e.hasTools=n.hasTools,e.hasReasoning=n.hasReasoning,e.stream=tR(e.userMessage,e.assistantMessages),e.startedAt=e.stream.startedAt,e.completedAt=e.stream.completedAt,e.durationMs=e.stream.durationMs,e},lR=(e,t)=>{let n=t.previousProjection;if(!n||n.turns.length===0||e.length===0)return e.map(e=>cR(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&&sR(o,e)?(i=!0,n.turns[a]!==o&&(r=!1),o):(r=!1,cR(e,t))});return r&&i?n.turns:a},uR=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},dR=(e,t)=>{let n={...aR,...t},r=[],i=new Map,a=new Map,o=new Set;e.forEach((e,t)=>{let n=qL(e);if(n===`compaction`&&r.length>0){a.set(e.info.id,r[r.length-1]),o.add(e.info.id);return}if(n!==`user`)return;if(r.length>0&&JL(e)){a.set(e.info.id,r[r.length-1]),o.add(e.info.id);return}let s={turnId:e.info.id,userMessageId:e.info.id,userMessage:e,headerMessageId:void 0,messages:[eR(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(s),i.set(s.userMessageId,s),o.add(e.info.id)}),e.forEach((e,t)=>{let n=qL(e),s=a.get(e.info.id);if(s){s.messages.push(eR(e,t));return}if(n!==`assistant`)return;let c=YL(e),l=c?i.get(c):void 0;if(!l&&!c){let t=XL(e);for(let e=r.length-1;e>=0;e--){let n=r[e],i=XL(n.userMessage);if(t===void 0||i===void 0||i<=t){l=n;break}}}l&&(l.assistantMessages.push(e),l.assistantMessageIds.push(e.info.id),l.messages.push(eR(e,t)),l.headerMessageId||(l.headerMessageId=e.info.id),o.add(e.info.id))});let s=HL(uR(lR(r,n))),c=new Set;return e.forEach(e=>{o.has(e.info.id)||qL(e)===`assistant`&&(YL(e)||r.length>0)||c.add(e.info.id)}),{...s,ungroupedMessageIds:c}},fR=30,pR=4,mR=4,hR=33554432,gR=8388608,_R=new Map,vR=new Map,yR=0,bR=new WeakMap,xR=1,SR=()=>le()?pR:ei()?mR:fR,CR=()=>le()||ei()?gR:hR,wR=(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},TR=e=>{_R.delete(e);let t=vR.get(e)??0;vR.delete(e),yR=Math.max(0,yR-t)},ER=e=>{let t=bR.get(e);if(t!==void 0)return t;let n=xR;return xR+=1,bR.set(e,n),n},DR=e=>e.map(e=>`${ER(e.info)}:${ER(e.parts)}:${e.parts.map(e=>ER(e)).join(`,`)}`).join(`;`),OR=(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,DR(t),n?`1`:`0`,r?`1`:`0`].join(`|`)},kR=e=>{let t=_R.get(e);return t&&(_R.delete(e),_R.set(e,t)),t},AR=(e,t)=>{TR(e);let n=SR(),r=CR(),i=wR(e,t);if(!(i>r)){for(;_R.size>=n||yR+i>r;){let e=_R.keys().next().value;if(typeof e!=`string`)break;TR(e)}_R.set(e,t),vR.set(e,i),yR+=i}},jR=[],MR=(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},NR=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},PR=(e,t)=>t===null?{staticTurns:e,streamingTurns:jR}:{staticTurns:t===0?jR:e.slice(0,t),streamingTurns:e.slice(t)},FR=(e,t)=>{let n=Z.useRef(null),r=Z.useRef([]),i=Z.useRef(jR),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=jR,a.current=null);let l=Z.useMemo(()=>{let r=OR(t.sessionKey??``,e,t.showTextJustificationActivity,t.showTurnChangedFiles),i=kR(r);return i?(n.current=i,i):it(`ui.turns.projection_ms`,()=>{let i=dR(e,{previousProjection:n.current,showTextJustificationActivity:t.showTextJustificationActivity,showTurnChangedFiles:t.showTurnChangedFiles});return n.current=i,AR(r,i),i})},[e,t.showTextJustificationActivity,t.showTurnChangedFiles,t.sessionKey]),u=NR({turnCount:l.turns.length,hasLiveTail:t.hasLiveTail,liveTailActive:t.liveTailActive,previousStart:a.current});return a.current=u,{projection:l,staticTurns:Z.useMemo(()=>{let e=PR(l.turns,u).staticTurns;return MR(r.current,e)?r.current:r.current=e},[u,l.turns]),streamingTurns:Z.useMemo(()=>{let e=PR(l.turns,u).streamingTurns;return MR(i.current,e)?i.current:i.current=e},[u,l.turns])}},IR=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},LR=(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(IR(e[t])===`user`){r=t;break}if(r<0)return e;let i=-1;for(let t=e.length-1;t>r;--t)if(IR(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},RR=(e,t,n)=>{if(e.info.id!==t||e.parts===n)return e;let r=Gt(e.parts,n,e.info);return r.length===e.parts.length&&r.every((t,n)=>t===e.parts[n])?e:ZI({...e,parts:r})},zR=(e,t)=>{let n=t.activeStreamingMessageId;if(!n)return e;if(e.kind===`ungrouped`){let r=RR(e.message,n,t.liveParts);return r===e.message?e:{...e,message:r}}let r=!1,i=e.turn.assistantMessages.map(e=>{let i=RR(e,n,t.liveParts);return i!==e&&(r=!0),i});if(!r)return e;let a=dR([e.turn.userMessage,...i],{showTextJustificationActivity:t.showTextJustificationActivity,showTurnChangedFiles:t.showTurnChangedFiles}).turns[0]??{...e.turn,assistantMessages:i,assistantMessageIds:i.map(e=>e.info.id)};return{...e,turn:a}},BR=[],VR=(e,t)=>({kind:`turn`,key:`turn:${e.turnId}`,turn:e,isLastTurn:e.turnId===t}),HR=(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}},UR=(e,t,n,r)=>{let i=new Map;for(let e of t)i.set(e.userMessage.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(VR(s,r));continue}n.has(o.info.id)&&a.push(HR(e,t))}return a};function WR(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=>VR(e,a)),tail:BR};let e=r[0].turnId,t=n.findIndex(t=>t.turnId===e);return t<0?{history:n.map(e=>VR(e,a)),tail:r.map(e=>VR(e,a))}:{history:n.slice(0,t).map(e=>VR(e,a)),tail:n.slice(t).map(e=>VR(e,a))}}let o=UR(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:BR};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]:BR}}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=>VR(e,a))}:{history:o.slice(0,c),tail:o.slice(c)}}var GR=e=>{let t=Z.useRef(e);return t.current=e,Z.useMemo(()=>(...e)=>t.current(...e),[])},KR=2,qR=2,JR=e=>Math.min(Math.max(0,e),KR),YR=(e,t)=>Math.min(Math.max(0,t),Math.max(0,e)+qR),XR=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},ZR=e=>{let t=(0,Q.c)(3),{children:n,enabled:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(_u.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},QR=12,$R=16,ez=new Map,tz=e=>{let t=ez.get(e);if(t)return ez.delete(e),ez.set(e,t),t},nz=(e,t)=>{if(t.size!==0)for(ez.delete(e),ez.set(e,t);ez.size>$R;){let e=ez.keys().next().value;if(typeof e!=`string`)break;ez.delete(e)}},rz=(e,t)=>{let n=Math.max(1,Math.floor(t?.seedCount??QR)),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},iz=(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},az=({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}},oz=e=>{let{visible:t,preload:n}=az(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},sz=(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},cz=`data-markdown-ready`,lz=`data-markdown-hydration`,uz=`data-markdown-pin-reveal`,dz=e=>[...rz(e.entryKeys,{seedCount:e.seedCount,restore:e.restore})],fz=e=>e.reason===`jump-to-latest`||!e.alreadyRevealedForScope,pz=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},mz=(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,!pz(e)))return!1}return r},hz=(e,t)=>{if(e){if(t){e.style.visibility=`hidden`,e.setAttribute(uz,`pending`);return}e.style.removeProperty(`visibility`),e.setAttribute(uz,`ready`)}},gz=(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}mz(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:[cz,lz,`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())}},vz=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}},yz=e=>{let t=e.borderBoxSize?.[0];return t?{width:t.inlineSize,height:t.blockSize}:{width:e.contentRect.width,height:e.contentRect.height}},bz=e=>{let t=vz(e),n=typeof ResizeObserver>`u`?null:new ResizeObserver(e=>{for(let n of e)t.enqueue(n.target,yz(n))});return{observe(e){n?.observe(e)},unobserve(e){n?.unobserve(e)},disconnect(){n?.disconnect(),t.clear()}}},xz=(e,t)=>{let n=e.resizeItem.bind(e),r=!1,i=vz(e=>{let i=()=>{for(let[t,r]of e)n(t,r)};r?i():((0,ap.flushSync)(i),t?.())});return e.resizeItem=(e,t)=>{i.enqueue(e,t)},()=>{r=!0,e.resizeItem=n,i.flush()}},Sz=({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&&(fz({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=q(()=>{d.current.add(e),u(!1)});return In(()=>{if(!i||!l){hz(n,!1);return}if(hz(n,!0),n)return _z({root:n,relevantKeys:p,onReady:m})},[i,l,n,p,o]),i&&l},Cz=(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}},wz=(e,t)=>{let n=Cz(e,t);return n===null?null:{anchor:n,knownKeys:new Set(t)}},Tz=e=>{if(e.historyAnchorToken<=e.armedToken)return null;let t=e.list&&e.committedEntryKeys.length>0?wz(e.list,e.committedEntryKeys):null;return{armedToken:e.historyAnchorToken,arm:t}},Ez=15e3,Dz=(e,t)=>{let n=e.positionByKey(t.key);return n===void 0||!Number.isFinite(n)?null:n-t.offsetFromViewportTop},Oz=(e,t)=>{if(!Number.isFinite(e.scroll))return null;let n=Dz(e,t);return n===null?null:e.scroll-n},kz=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}},Az=1;function jz(e,{offset:t=0,hideTopShadow:n=!1,hideBottomShadow:r=!1}={}){let i=e.scrollTop>t+Az,a=e.scrollHeight-(e.scrollTop+e.clientHeight)>t+Az,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 Mz(e,t=48){e.dataset.scrollShadow=`true`,e.dataset.orientation=`vertical`,e.style.setProperty(`--scroll-shadow-size`,`${t}px`)}var Nz=.4,Pz=e=>!Number.isFinite(e)||e<=0?0:e*Nz,Fz=(e,t=16)=>Number.isFinite(e)&&e>0?e:t,Iz=({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),Lz=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)},Rz=({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))},zz=({scroll:e,parkOffset:t})=>!Number.isFinite(e)||!Number.isFinite(t)?0:Math.max(0,t-e),Bz=`data-oc-timeline-park-end`,Vz=e=>{if(!e)return null;let t=e.getAttribute(Bz);if(t===null||t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null},Hz=(e,t)=>{if(!e)return;if(t===null||!Number.isFinite(t)){e.hasAttribute(`data-oc-timeline-park-end`)&&e.removeAttribute(Bz);return}let n=String(Math.round(t));e.getAttribute(`data-oc-timeline-park-end`)!==n&&e.setAttribute(Bz,n)},Uz=(e,t)=>t!==null&&Number.isFinite(t)?zz({scroll:e.scrollTop,parkOffset:t}):Math.max(0,e.scrollHeight-e.scrollTop-e.clientHeight),Wz=({usableViewportHeight:e,viewportHeight:t,contentHeight:n})=>{if(!Number.isFinite(e)||e<=0)return 0;let r=Pz(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))},Gz=(e,t)=>!Number.isFinite(e)||!Number.isFinite(t)||t<=0?!1:e>t+1,Kz=({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,qz=({previous:e,reserveId:t,entryKey:n,contentHeight:r,usableViewportHeight:i,viewportHeight:a})=>{let o=Wz({usableViewportHeight:i,viewportHeight:a,contentHeight:r}),s=r!==null&&Gz(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&&Kz({previousEndSpaceSize:e.spacerHeight,nextEndSpaceSize:o})?{snapshot:{...c,spacerHeight:0},release:!0}:{snapshot:c,release:!1}},Jz=(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)},Yz=({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=Jz(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=Iz({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}},Xz=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},Zz=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))},Qz=(e,t)=>e===void 0||!Number.isFinite(e)?t:e<=40?!1:e>=80||t,$z=(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)},eB=`data-oc-timeline-anchoring`,tB=1200,nB=(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},iB=(e,t)=>!Number.isFinite(t)||t<=0||typeof e!=`number`||!Number.isFinite(e)||t+1>=e?null:t,aB={itemVisiblePercentThreshold:0},oB=100,sB=116,cB=500,lB=new Set,uB=Z.createContext(lB),dB=`oc-reply-reserve`,fB=e=>e.kind===dB,pB=e=>{if(fB(e))return e.spacerHeight>0?e.spacerHeight:void 0},mB=(e,t,n,r,i)=>{if(!e||t)return null;let a=Yz({state:n,anchorIndex:e.anchorIndex,lastIndex:e.anchorIndex,endInsetHeight:r,anchorOffset:i});return a?Rz({anchorTop:a.anchorTop,anchorOffset:i,maxScrollOffset:Lz(n)}):null},hB=(e,t)=>{if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t;let n=e?.clientHeight??0;return n>0?n:0},gB=e=>e.key,_B=e=>e.kind,vB=()=>{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=q(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=q(l);Nn(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},yB=({entry:e,index:t,renderEntryRef:n,sizeObserverRef:r})=>{let i=Z.useContext(uB),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))})},bB=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=q(e=>{E.current=e,u?.(e)}),M=Z.useRef(null),[N,P]=Z.useState(null),[F,I]=Z.useState(0),{height:L,setElement:R}=vB(),{height:z,heightRef:B,setElement:V}=vB(),ee=b==null?null:(0,$.jsx)(`div`,{ref:R,"data-oc-timeline-header":``,children:b}),H=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 W=q((e=M.current)=>{!e||s?.scrollShadow!==`true`||(Mz(e),jz(e,{hideTopShadow:U.current,hideBottomShadow:te.current}))}),ne=q(e=>{let t=e?.getScrollableNode?.()??null;if(t&&s){for(let[e,n]of Object.entries(s))t.dataset[e]=n;W(t)}M.current=t,o&&(o.current=t),P(t);let n=hB(t,E.current?.getState()?.scrollLength);I(e=>e===n?e:n)}),re=q(()=>{let e=hB(M.current,E.current?.getState()?.scrollLength);I(t=>t===e?t:e),W()});Z.useLayoutEffect(()=>{W(N)},[l,c,N]),Nn(typeof ResizeObserver<`u`?N:null,re);let[ie,ae]=Z.useState(0),[oe,se]=Z.useState(0),ce=ie!==oe,le=Z.useRef(!0),ue=Z.useRef(!1),[de,fe]=Z.useState(!1),pe=Z.useRef(!1);Z.useLayoutEffect(()=>{le.current=!0,ue.current=!1,pe.current=!1,fe(!1)},[t]);let[me,he]=Z.useState(null),[ge,_e]=Z.useState(0),ve=q(e=>{he(t=>t?.token===e?null:t)});if(m>ge){let e=Tz({historyAnchorToken:m,armedToken:ge,list:E.current?.getState()??null,committedEntryKeys:k.current});e&&(_e(e.armedToken),e.arm&&he({token:m,arm:e.arm,holding:!1}))}Z.useEffect(()=>{p&&he(null)},[p]),Z.useEffect(()=>{if(!me||me.holding)return;let{token:e}=me,t=window.setTimeout(()=>{he(t=>t?.token===e&&!t.holding?null:t)},Ez);return()=>window.clearTimeout(t)},[me]),Z.useLayoutEffect(()=>{let e=k.current;k.current=D,$z(e,D)&&(ae(e=>e+1),he(e=>e===null||e.holding?e:{...e,holding:!0}))},[D]),Z.useEffect(()=>{if(!ce)return;let e=window.setTimeout(()=>{se(ie)},tB);return()=>window.clearTimeout(e)},[ce,ie]),Z.useEffect(()=>{if(!me?.holding)return;let{token:e,arm:{anchor:t}}=me,n=E.current;if(!n||typeof window>`u`){ve(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&&ve(e)}},d=()=>{if(s=null,c)return;let e=n.getState();if(Xz(e)??e.isAtEnd){u(!0);return}let r=Date.now(),l=kz({drift:Oz(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=Dz(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)}},[ve,me]);let ye=ce||me!==null;Z.useLayoutEffect(()=>{let e=M.current;if(!(!e||!ye))return e.setAttribute(eB,`true`),()=>{e.removeAttribute(eB)}},[ye]);let be=Z.useMemo(()=>{if(me===null)return{data:!0,size:ce};let{knownKeys:e}=me.arm;return{data:!0,size:!0,shouldRestorePosition:t=>e.has(t.key)}},[me,ce]),[xe,Se]=Z.useState(()=>rz(D,{restore:tz(t)??null})),Ce=Z.useRef(xe);Ce.current=xe;let we=Z.useRef(0),Te=Z.useRef(0),Ee=Z.useRef(null),De=Z.useRef(!1),Oe=Z.useRef(null),ke=Z.useMemo(()=>iz(xe,D),[xe,D]),Ae=gz(C,Sz({scopeKey:t,generation:h,root:N,relevantKeys:Z.useMemo(()=>dz({entryKeys:D}),[t,h,D.length,D[D.length-1]]),enabled:D.length>0,initiallyRevealed:g}));Z.useEffect(()=>{Se(e=>sz(e,D))},[D]),Z.useEffect(()=>()=>{nz(t,Ce.current)},[t]);let je=q(()=>{De.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()-we.current>=oB,d=A.current,f=d.resolvePreloadEntries(l),p=oz({entryKeys:t,mountedIndexes:o,visibleStartIndex:s,visibleEndIndex:c,scrollDirection:Ee.current,preloadEntries:f,hydratedKeys:Ce.current,allowVisibleRelease:u,preloadReleaseLimit:u?f:d.resolvePreloadReleaseWhileScrolling(),visibleReleaseLimit:d.resolveVisibleReleaseLimit()});p.length!==0&&(Ne(),Z.startTransition(()=>{Se(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})}))}),Me=q(()=>{De.current||(De.current=!0,Ku(je))}),Ne=q(()=>{typeof window>`u`||(Oe.current!==null&&window.clearTimeout(Oe.current),Oe.current=window.setTimeout(()=>{Oe.current=null,Me()},sB))});Z.useEffect(()=>()=>{Oe.current!==null&&(window.clearTimeout(Oe.current),Oe.current=null)},[]);let Pe=q(()=>{Me()}),Fe=q(()=>{we.current=Date.now();let e=E.current;if(e){let t=e.getState(),n=t.scroll;Number.isFinite(n)&&n!==Te.current&&(Ee.current=n>Te.current?`forward`:`backward`,Te.current=n);let r=hB(M.current,t.scrollLength);r>0&&I(e=>e===r?e:r);let i=mB($e.current,Be.current,t,B.current,tt.current);Hz(M.current,i);let a=i===null?null:zz({scroll:t.scroll,parkOffset:i}),o=a??Zz(t),s=a===null?Xz(t)??t.isAtEnd:a<=40,c=Qz(o,ue.current);(s!==le.current||c!==ue.current)&&(le.current=s,ue.current=c,v?.(s,c)),s&&!pe.current&&(pe.current=!0,fe(!0))}y?.(),W(),Me(),Ne()}),Ie=Z.useRef(i);Ie.current=i;let[Le,Re]=Z.useState(null),ze=Z.useRef(null),Be=Z.useRef(!1),Ve=Z.useRef(null),He=Z.useRef(null),Ue=Z.useRef(0),We=Z.useRef(0),Ge=Z.useRef(null),Ke=q((e,t)=>{let n=E.current,r=n?.getState().sizes.get(e);if(n&&iB(r,t.height)!==null&&n.setItemSize(e,t),Be.current||e!==He.current)return;let i=Ve.current;if(i===null)return;let{snapshot:a,release:o}=qz({previous:ze.current,reserveId:i,entryKey:e,contentHeight:t.height,usableViewportHeight:Ue.current,viewportHeight:We.current});if(o){Re(null),ft(i),pt(`reveal`);return}let s=ze.current;(s?.spacerHeight!==a.spacerHeight||s?.contentHeight!==a.contentHeight||s?.entryKey!==a.entryKey||s?.reserveId!==a.reserveId)&&Re(a),Ge.current!==i&&pt(`park`)&&(Ge.current=i)}),qe=Z.useRef(Ke);qe.current=Ke;let Je=Z.useMemo(()=>bz(e=>{for(let[t,n]of e){let e=t instanceof HTMLElement?t.dataset.turnEntry:void 0;e&&n.height>0&&qe.current(e,n)}}),[]),Ye=Z.useRef(Je);Ye.current=Je,Z.useEffect(()=>()=>{Je.disconnect()},[Je]);let Xe=Z.useMemo(()=>({item:e,index:t})=>fB(e)?(0,$.jsx)(`div`,{"data-oc-reply-reserve":`true`,"aria-hidden":`true`,style:{height:e.spacerHeight,flexShrink:0}}):(0,$.jsx)(yB,{entry:e,index:t,renderEntryRef:Ie,sizeObserverRef:Ye}),[]),Ze=Z.useRef(p);Ze.current=p;let Qe=Z.useRef(me);Qe.current=me;let $e=Z.useRef(d);$e.current=d;let et=Z.useRef(0),tt=Z.useRef(16),nt=Z.useRef(null),[rt,it]=Z.useState(null),at=d?e[d.anchorIndex]?.key??null:null,ot=d?.anchorId??at,st=ot!==null&&rt===ot;d||(Ge.current=null,et.current=0);let ct=F>0?F:hB(M.current,E.current?.getState()?.scrollLength),lt=Fz(L),ut=Iz({viewportHeight:ct,endInsetHeight:z,anchorOffset:lt}),dt=Le;if(!ot||!at||st)Le!==null&&Re(null),dt=null;else if(ut<=0)dt=Le!==null&&Le.reserveId===ot&&Le.entryKey===at?Le:null;else if(Le===null||Le.reserveId!==ot||Le.entryKey!==at){let{snapshot:e}=qz({previous:Le?.reserveId===ot?Le:null,reserveId:ot,entryKey:at,contentHeight:Le?.reserveId===ot?Le.contentHeight:null,usableViewportHeight:ut,viewportHeight:ct});Re(e),dt=e}ze.current=dt,Be.current=st,Ve.current=ot,He.current=at,Ue.current=ut,We.current=ct,tt.current=lt,Z.useLayoutEffect(()=>{Ge.current=null,et.current=0,nt.current=null,it(null)},[t]),Z.useLayoutEffect(()=>{d&&re()},[d]);let ft=q(e=>{e!==null&&nt.current!==e&&(nt.current=e,it(e),f?.(e))}),pt=q(t=>{let n=$e.current;if(!n||Qe.current)return!1;let r=E.current;if(!r)return!1;let i=r.getState(),a=tt.current,o=Yz({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&&(et.current=t+cB),r.scrollToOffset({offset:e,animated:n}),!0}return Gz(o.turnHeight,Ue.current)&&ft(n.anchorId??e[n.anchorIndex]?.key??null),(typeof performance<`u`?performance.now():Date.now())<et.current||!Ze.current||o.scrollDeltaToRevealEnd<1?!1:(r.scrollToOffset({offset:o.targetScrollToRevealEnd,animated:!1}),!0)});Z.useLayoutEffect(()=>{if(!ot||!at||st||ut<=0)return;let e=ze.current;if(e===null||e.reserveId!==ot||e.entryKey!==at)return;let{snapshot:t,release:n}=qz({previous:e,reserveId:ot,entryKey:at,contentHeight:e.contentHeight,usableViewportHeight:ut,viewportHeight:ct});if(n){Re(null),ft(ot),pt(`reveal`);return}t.spacerHeight!==e.spacerHeight&&Re(t)},[at,st,ot,ct,ut]),Z.useLayoutEffect(()=>{!dt||me||Ge.current!==ot&&pt(`park`)&&(Ge.current=ot)},[dt,me,ot]),Z.useLayoutEffect(()=>{let e=M.current,t=E.current;if(e){if(!t){Hz(e,null);return}Hz(e,mB(d,st,t.getState(),z,lt))}},[d,z,lt,st]);let mt=Z.useMemo(()=>{let t=dt?.spacerHeight??0;return!dt||t<=0?e:[...e,{key:`${dB}:${dt.reserveId}`,kind:dB,spacerHeight:t}]},[dt,e]),ht=Z.useMemo(()=>d&&!st||!p||me?!1:{animated:_&&de,on:{dataChange:!0,itemLayout:!0,layout:!0,footerLayout:!0}},[d,de,p,me,st,_]);return(0,$.jsx)(uB.Provider,{value:ke,children:(0,$.jsx)(Bd,{ref:j,refScrollView:ne,data:mt,extraData:a,keyExtractor:gB,getItemType:_B,getFixedItemSize:pB,renderItem:Xe,estimatedItemSize:n,initialScrollAtEnd:!0,recycleItems:!1,maintainScrollAtEnd:ht,maintainVisibleContentPosition:be,onScroll:Fe,onViewableItemsChanged:Pe,viewabilityConfig:aB,ListHeaderComponent:ee,ListFooterComponent:H,className:S,style:Ae,contentContainerClassName:w,contentContainerStyle:T})})}),xB=e=>{let t=e.info,n=t.time?.completed,r=t.status;return typeof n!=`number`||n<=0?!1:typeof r!=`string`||r===`completed`},SB=(e,t)=>{if(e.length===0)return[];if(e.filter(xB).length===e.length)return e;if(t){let n=e.findIndex(e=>e.info.id===t);if(n>=0)return e.slice(0,n+1)}return e},CB=e=>{if(e.chatRenderMode!==`sorted`)return null;let t=e.streamingAssistantMessageId;if(!t)return null;let n=e.assistants.find(e=>e.info.id===t);if(!n)return null;let r=n.info,i=ZM({finish:r.finish,isMessageCompleted:xB(n),activeStreamingPhase:e.activeStreamingPhase});return QM({finish:r.finish,parts:n.parts,streamPhase:i,error:r.error,isLastAssistantInTurn:!0})?t:null},wB=(e,t)=>{if(!t)return e;let n=e.filter(e=>e.kind!==`justification`||e.messageId!==t);return n.length===e.length?e:n},TB=(e,t)=>{if(!t)return e;let n=!1,r=e.map(e=>{let r=wB(e.parts,t);return r===e.parts?e:(n=!0,{...e,parts:r})});return n?r:e},EB=e=>e.isActivelyProcessing||e.expansionDisposition===`active`?!0:mI(e.expansionDisposition,e.activityRenderMode,{isLastTurn:e.isLastTurn,hasConfirmedFinalBody:e.hasConfirmedFinalBody}),DB=5,OB=16,kB=(e,t)=>e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e===t[n]),AB=320,jB=168,MB=8,NB=16,PB=6,FB=12,IB=4,LB=1,RB=2,zB=6,BB=4,VB=()=>ei()?NB:MB,HB=30,UB=180,WB=80,GB=160,KB=1500,qB=1.5,JB=90,YB=(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},XB=(e=>{let t=new Map;return{read:(e,n)=>{let r=t.get(e);if(r){if(kB(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)}}}})(OB),ZB=(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})},QB=(e,t)=>({sessionKey:e,virtualizerKey:t??e}),$B=e=>e===`collapsed`?jB:AB,eV=(e,t)=>`${e}::activity:${t}`,tV=(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{paddingTop:r,paddingBottom:Math.max(0,a-i),minHeight:a}},rV=(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`?FB:PB,Math.max(0,Math.floor(t))),aV=e=>e===`collapsed`?RB:LB,oV=e=>e===`collapsed`?BB:zB,sV=(e,t)=>{e.current=t},cV=(e,t)=>XB.read(e,t),lV=(e,t,n)=>{!n||t.length===0||XB.write(e,t,n.takeSnapshot())},uV=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},dV=(e,t)=>{if(uV(e)!==`system`)return e;let n=mV(e);return!n||!t.has(n)||e.info.clientRole===`assistant`?e:{...e,info:{...e.info,clientRole:`assistant`}}},fV=e=>!e||uV(e)!==`user`?!1:e.parts.some(e=>e?.type===`subtask`),pV=e=>{if(!e)return null;let t=e.info.id;return typeof t==`string`&&t.trim().length>0?t:null},mV=e=>{let t=e.info.parentID;return typeof t==`string`&&t.trim().length>0?t:null},hV=(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},gV=(e,t)=>Array.from(e.querySelectorAll(`[data-message-id]`)).find(e=>e.dataset.messageId===t)??null,_V=(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&&!hV(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}},vV=(e,t)=>{let n=_V(t,e);if(!n)return null;let r=gV(e,n.messageId)?.closest(`[data-turn-entry]`)?.dataset.turnEntry;return r?{...n,entryKey:r,attempts:0}:null},yV=e=>{let t=e,n=t.state?.metadata,r=DO(n)??null;if(r)return r;let i=t.state?.output;return typeof i==`string`?jO(i)??null:null},bV=e=>{if(uV(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:yV(e.parts[0])}},xV=(e,t)=>{if(!t)return e;let n=OO(e.parts,t);return n===e.parts?e:{...e,parts:n}},SV=(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}},CV=e=>e.kind===`turn`?e.turn.userMessage.info.id:uV(e.message)===`user`?e.message.info.id:null,wV=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,TV=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=qb(),_;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)(HI,{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)(Kb.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 kk(e.message,t.message)&&e.message.sourceSessionID===t.message.sourceSessionID&&e.message.sourceDirectory===t.message.sourceDirectory&&Ak(e.previousMessage,t.previousMessage)&&Ak(e.nextMessage,t.nextMessage)&&e.animateUserOnMount===t.animateUserOnMount&&e.onUserAnimationConsumed===t.onUserAnimationConsumed&&e.onContentChange===t.onContentChange&&e.scrollToBottom===t.scrollToBottom&&Rk(n,r,e.message.info.id,uV(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});TV.displayName=`MessageRow`;var EV=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=Z.useRef(null);g.current===e.turnId&&!t&&e.completionDisposition!==`active`?g.current=null:e.completionDisposition===`active`&&t&&n&&(g.current=e.turnId);let _=g.current===e.turnId,v=Z.useRef({turnId:e.turnId,shown:!1});v.current.turnId!==e.turnId&&(v.current={turnId:e.turnId,shown:!1});let y=i.get(e.turnId),b=gI({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,durationMs:e.durationMs}),x=EB({expansionDisposition:yI({isLastTurn:t,turnCompletionDisposition:e.completionDisposition,headerPresentationDisposition:b.completionDisposition,hasAssistantMessages:e.assistantMessages.length>0}),activityRenderMode:r,isLastTurn:t,isActivelyProcessing:t&&n,hasConfirmedFinalBody:e.hasConfirmedFinalBody}),S=y?y.isExpanded:x,C=q(()=>{a(e.turnId,x)}),w=Z.useMemo(()=>{let t=[e.userMessage,...e.assistantMessages],n=new Map;return t.forEach((e,t)=>{n.set(e.info.id,t)}),{ordered:t,lookup:n}},[e.assistantMessages,e.userMessage]),T=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(!xB(n))return n.info.id}return null},[p,e.assistantMessages]),E=Z.useMemo(()=>CB({chatRenderMode:o,assistants:e.assistantMessages,streamingAssistantMessageId:T,activeStreamingPhase:m}),[m,o,T,e.assistantMessages]),D=Z.useMemo(()=>o===`live`?e.assistantMessages:SB(e.assistantMessages,T),[o,T,e.assistantMessages]),O=Z.useMemo(()=>{let e=new Map;return D.forEach((t,n)=>{e.set(t.info.id,n)}),e},[D]),k=Z.useMemo(()=>new Set(D.map(e=>e.info.id)),[D]),A=Z.useMemo(()=>D[0]?.info.id,[D]),j=Z.useMemo(()=>o===`sorted`?wB(k.size===e.assistantMessages.length?e.activityParts:e.activityParts.filter(e=>k.has(e.messageId)),E):e.activityParts,[o,E,k,e.activityParts,e.assistantMessages.length]),M=Z.useMemo(()=>o===`sorted`?E?TB(e.activitySegments,E):k.size===e.assistantMessages.length?e.activitySegments:e.activitySegments.map(e=>{let t=e.parts.filter(e=>k.has(e.messageId));if(t.length===0)return null;let n=k.has(e.anchorMessageId)?e.anchorMessageId:t[0]?.messageId;return n?{...e,anchorMessageId:n,parts:t}:null}).filter(e=>e!==null):e.activitySegments,[o,E,k,e.activitySegments,e.assistantMessages.length]),N=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:QN(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:j,activityGroupSegments:M,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,j,M]),P=GR((r,i)=>{let a=uV(r)===`user`,u=w.lookup.get(r.info.id),p=O.get(r.info.id)??-1,g=p>=0,_=p===0,v=p===D.length-1,y=!!A&&r.info.id===A,b=M.some(e=>e.anchorMessageId===r.info.id),x=o===`sorted`?g:y||_||v,S=D[0]?.info.id??e.headerMessageId,E=a?void 0:g?_?e.userMessage:void 0:typeof u==`number`&&u>0?w.ordered[u-1]:void 0,k=gI({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,durationMs:e.durationMs}),j=g?{turnId:e.turnId,activityOwnerMessageId:A,isFirstAssistantInTurn:_,isLastAssistantInTurn:v,isLatestTurn:t,isWorking:(t||e.completionDisposition===`active`)&&n&&(o===`sorted`?b:r.info.id===T),isTurnSettled:_I({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,hasConfirmedSettledAssistant:e.hasConfirmedFinalBody}),hasTools:e.hasTools,hasReasoning:e.hasReasoning,completionDisposition:k.completionDisposition,activityPresentationKind:e.activityPresentationKind,durationMs:k.durationMs,assistantTps:N.assistantTps,...x?{summaryBody:N.summaryBody,activityParts:N.activityParts,activityGroupSegments:N.activityGroupSegments,headerMessageId:N.headerMessageId,diffStats:N.diffStats,changedFiles:N.changedFiles,userMessageCreatedAt:N.userMessageCreatedAt,userMessageVariant:N.userMessageVariant,isGroupExpanded:i,toggleGroup:C}:{}}:void 0;return(0,$.jsx)(TV,{message:r,previousMessage:E,nextMessage:void 0,turnGroupingContext:j,assistantHeaderMessageId:S,turnOwnsAssistantHeader:g,isInActiveTurn:!!T&&r.info.id===T,activeStreamingPhase:r.info.id===T?m:null,reviewTransferDirection:h,animateUserOnMount:d(r),onUserAnimationConsumed:f,onContentChange:s,animationHandlers:c(r.info.id),scrollToBottom:l},r.info.id)}),F=Z.useMemo(()=>D===e.assistantMessages?e:{...e,assistantMessages:D},[e,D]),I=Z.useMemo(()=>((pI({isLastTurn:t,sessionIsWorking:n,hasAssistantMessages:e.assistantMessages.length>0,activityPresentationKind:e.activityPresentationKind,hasActiveStreamingMessage:!!p})||e.assistantMessages.length>0)&&(v.current.shown=!0),!v.current.shown||e.activityPresentationKind===`compaction`?null:fI(lI(e.userMessage.info))),[p,t,n,e.activityPresentationKind,e.assistantMessages.length,e.userMessage.info]);return(0,$.jsx)(PL,{turn:F,showSessionError:t,activityExpanded:S,onToggleActivity:C,showCompactionStatus:wV({chatRenderMode:o,activityPresentationKind:e.activityPresentationKind,hasVisibleActivitySegments:M.length>0,hasAssistantMessages:e.assistantMessages.length>0,completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n}),pendingAssistantHeader:I,assistantHeaderMessage:D[0],assistantHeaderIsInActiveTurn:D[0]?.info.id===T,preserveActiveTurnGap:_,stickyUserHeader:u,renderMessage:P})});EV.displayName=`TurnBlock`;var DV=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}=Vn();if(GD(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)(TV,{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});DV.displayName=`UngroupedMessageRow`;var OV=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)(DV,{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)(EV,{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)(gL,{})}),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});OV.displayName=`MessageListEntry`;var kV=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=n===`tanstack`,y=Z.useRef(n),b=Z.useRef(null),[x,S]=Z.useReducer(e=>e+1,0);if(n===`none`)b.current=null;else if(y.current===`none`&&v&&b.current===null){let e=r.current,t=i?.current;e&&t&&(b.current=vV(e,t))}let C=Z.useRef(!1),w=Z.useRef(0),T=Z.useRef(null),E=v&&ei();Z.useEffect(()=>{if(!E)return;let e=i?.current;if(!e)return;let t=()=>{C.current=!0},n=()=>{C.current=!1},r=()=>{w.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)}},[E,i]);let D=()=>C.current||performance.now()-w.current<GB,O=()=>{let e=i?.current;return!e||e.scrollTop<e.clientHeight*qB},[k,A]=Z.useState(e),j=k;e===k?T.current!==null&&(T.current=null):E&&YB(k,e)&&D()&&!O()&&(T.current===null||performance.now()-T.current<KB)?T.current===null&&(T.current=performance.now()):(T.current=null,A(e),j=e);let[,M]=Z.useReducer(e=>e+1,0);Mn(()=>{if(T.current===null)return;let e=performance.now()-T.current>=KB;(!D()||O()||e)&&M()},E?JB:null);let N=Z.useRef(j);N.current=j;let P=Z.useMemo(()=>j.map(e=>e.key),[j]),F=VB(),[I,L]=Z.useState(()=>JR(F));Z.useEffect(()=>{if(!(!v||I>=F))return Ku(()=>{Z.startTransition(()=>{L(e=>YR(e,F))})})},[I,v,F]);let R=eV(o,d),[z]=Z.useState(()=>v?cV(R,e.map(e=>e.key)):void 0),B=Z.useRef(null),V=Z.useRef(null),ee=Z.useRef(t);if(ee.current!==t){ee.current=t;let e=i?.current,n=B.current??r.current;V.current=e&&n?_V(e,n):null}let H=q(()=>{V.current=null});Ln(`wheel`,H,void 0,{passive:!0,capture:!0}),Ln(`touchstart`,H,void 0,{passive:!0,capture:!0}),Ln(`pointerdown`,H,void 0,{passive:!0,capture:!0}),Ln(`click`,H,void 0,{capture:!0}),Ln(`keydown`,H,void 0,{capture:!0});let U=q(()=>{let e=V.current,t=i?.current;if(!e||!t)return;let n=gV(t,e.messageId);if(!n)return;let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(r)>.5&&(t.scrollTop+=r)}),te=$B(d),W=Z.useRef(te),ne=Z.useRef(d);ne.current!==d&&(ne.current=d,W.current=te);let re=Z.useRef(v),ie=Z.useRef(new Map),ae=Z.useRef(void 0);Z.useLayoutEffect(()=>{if(v)return;let e=r?.current;if(!e)return;let t=ie.current;t.clear(),e.querySelectorAll(`[data-turn-entry]`).forEach(e=>{let n=e.dataset.turnEntry;n&&t.set(n,e.getBoundingClientRect().height)}),ae.current=void 0}),v&&ae.current===void 0&&(ae.current=z??ZB(P,ie.current,W.current));let oe=Ld({count:j.length,enabled:v,getScrollElement:()=>i?.current??null,estimateSize:()=>W.current,overscan:I,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)=>{rV(B.current,n.getTotalSize()),Id(e,t,n)},getItemKey:e=>N.current[e]?.key??`index:${e}`,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:WB,initialOffset:()=>re.current?2**53-1:i?.current?.scrollTop??0,initialMeasurementsCache:ae.current});In(()=>{if(v)return xz(oe,U)},[v,oe]);let se=Z.useRef(null),ce=Z.useRef(null);v||(se.current=null);let le=q(()=>{if(!v)return;let e=B.current??i?.current;if(!e)return;let t=e.offsetWidth;if(!tV(se.current,t)){se.current===null&&t>0&&(se.current=t);return}se.current=t,ce.current!==null&&clearTimeout(ce.current),ce.current=setTimeout(()=>{ce.current=null,oe.measure()},220)}),ue=v&&typeof ResizeObserver<`u`;Nn(ue?B:null,le),Nn(ue&&i?i:null,le),Fn(()=>{ce.current!==null&&(clearTimeout(ce.current),ce.current=null)}),In(()=>{v&&le()},[v]),In(()=>{if(y.current=n,!v){b.current=null;return}let e=b.current,t=i?.current;if(!e||!t)return;let r=gV(t,e.messageId);if(r){let n=r.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(n)>.5&&(t.scrollTop+=n),b.current=null;return}let a=P.indexOf(e.entryKey);if(a<0||e.attempts>=1){b.current=null;return}e.attempts+=1,oe.scrollToIndex(a,{align:`start`}),S()},[n,P,v,oe,x]);let de=oe.getVirtualItems(),fe=de.map(e=>e.index),[pe,me]=Z.useState(()=>rz(P,{seedCount:iV(d),restore:tz(R)})),he=iz(pe,P);he!==pe&&me(he);let ge=Z.useRef(he);ge.current=he;let _e=Z.useRef(null);oe.scrollDirection&&(_e.current=oe.scrollDirection);let ve=oe.range?.startIndex??de[0]?.index??Math.max(0,j.length-1),ye=oe.range?.endIndex??de[de.length-1]?.index??Math.max(0,j.length-1),be=oe.isScrolling,xe=Math.max(0,ye-ve+1),Se=oz({entryKeys:P,mountedIndexes:fe,visibleStartIndex:ve,visibleEndIndex:ye,scrollDirection:_e.current,preloadEntries:iV(d,xe),hydratedKeys:he,allowVisibleRelease:!be,preloadReleaseLimit:be?aV(d):IB,visibleReleaseLimit:be?0:oV(d)}),Ce=Se.join(`\0`),we=Z.useRef(Se);we.current=Se,Z.useEffect(()=>{if(!(!v||!Ce))return Ku(()=>{Z.startTransition(()=>{me(e=>{let t=null;for(let n of we.current)e.has(n)||(t??=new Set(e),t.add(n));return t??e})})})},[v,Ce]),Z.useEffect(()=>{me(e=>sz(e,P))},[P]),Z.useEffect(()=>{if(v)return a?.(oe),()=>{lV(R,N.current.map(e=>e.key),oe),nz(R,ge.current),a?.(null)}},[v,oe,R]);let Te=GR((e,t=!0)=>(0,$.jsx)(ZR,{enabled:t,children:(0,$.jsx)(OV,{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(n===`none`)return(0,$.jsx)(`div`,{ref:r,className:`relative w-full`,children:j.map(e=>(0,$.jsx)(`div`,{"data-turn-entry":e.key,className:`oc-chat-message-layout-boundary`,children:Te(e)},e.key))});if(n===`tanstack`){let e=nV(de[0]?.start??0,de[de.length-1]?.end??0,oe.getTotalSize());return(0,$.jsx)(`div`,{ref:B,className:`relative w-full`,style:{minHeight:e.minHeight},children:(0,$.jsx)(`div`,{style:{paddingTop:e.paddingTop,paddingBottom:e.paddingBottom},children:de.map(e=>{let t=j[e.index];return t?(0,$.jsx)(`div`,{"data-index":e.index,ref:oe.measureElement,"data-turn-entry":t.key,className:`oc-chat-message-layout-boundary`,children:Te(t,he.has(t.key))},t.key):null})})})}return null});kV.displayName=`StaticHistoryList`;var AV=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)(OV,{...e})}),t[0]=e,t[1]=n),n});AV.displayName=`TailEntry`;var jV=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=Fa(_??``,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=zR(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)(AV,{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};jV.displayName=`StreamingTailContent`;var MV=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,ee=G(FV),H=n.length,U=r.length>0?r[r.length-1]:void 0,te=U?.key??null,W=Fa(S??``,a,o??void 0),ne;bb0:{if(!U){ne=r;break bb0}let e=v===`sorted`,n;t[0]!==S||t[1]!==W||t[2]!==U||t[3]!==y||t[4]!==e?(n=zR(U,{activeStreamingMessageId:S,liveParts:W,showTextJustificationActivity:e,showTurnChangedFiles:y}),t[0]=S,t[1]=W,t[2]=U,t[3]=y,t[4]=e,t[5]=n):n=t[5];let i=n;if(i===U){ne=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],ne=a}let re=ne,ie;t[9]!==n||t[10]!==re?(ie=re.length>0?[...n,...re]:n,t[9]=n,t[10]=re,t[11]=ie):ie=t[11];let ae=ie,oe;t[12]!==ae||t[13]!==V?(oe=nB(ae,V,CV,{anchorOffset:16}),t[12]=ae,t[13]=V,t[14]=oe):oe=t[14];let se=oe,ce;t[15]===h?ce=t[16]:(ce={resolvePreloadEntries:e=>iV(h,e),resolvePreloadReleaseWhileScrolling:()=>aV(h),resolveVisibleReleaseLimit:()=>oV(h)},t[15]=h,t[16]=ce);let le=ce,ue;t[17]!==S||t[18]!==C||t[19]!==h||t[20]!==v||t[21]!==H||t[22]!==te||t[23]!==w||t[24]!==m||t[25]!==y||t[26]!==p||t[27]!==g?(ue={historyCount:H,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]=H,t[22]=te,t[23]=w,t[24]=m,t[25]=y,t[26]=p,t[27]=g,t[28]=ue):ue=t[28];let de=ue,fe;t[29]!==S||t[30]!==C||t[31]!==h||t[32]!==v||t[33]!==d||t[34]!==H||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?(fe=(e,t,n)=>{let r=t>=H,i=te!==null&&e.key===te;return(0,$.jsx)(Zu,{disabled:!r,children:(0,$.jsx)(ZR,{enabled:n,children:(0,$.jsx)(OV,{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]=H,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]=fe):fe=t[46];let pe=GR(fe),me;t[47]===h?me=t[48]:(me=$B(h),t[47]=h,t[48]=me);let he=ee&&p,ge;return t[49]!==ae||t[50]!==se||t[51]!==R||t[52]!==E||t[53]!==T||t[54]!==M||t[55]!==le||t[56]!==B||t[57]!==ee||t[58]!==L||t[59]!==F||t[60]!==A||t[61]!==z||t[62]!==c||t[63]!==pe||t[64]!==de||t[65]!==D||t[66]!==k||t[67]!==s||t[68]!==O||t[69]!==m||t[70]!==me||t[71]!==he||t[72]!==i?(ge=(0,$.jsx)(XR,{enabled:!0,children:(0,$.jsx)(bB,{entries:ae,timelineCacheKey:i,estimatedItemSize:me,hydrationTuning:le,renderEntry:pe,rowInvalidationKey:de,scrollElementRef:s,registerList:c,followEnabled:R,historyAnchorToken:M,pinRevealGeneration:z,initialPinRevealComplete:B,anchoredEndSpace:se,onAnchoredTurnParkReleased:L,sessionIsWorking:m,header:T,footer:E,className:D,style:O,scrollElementDataset:k,hideTopScrollShadow:he,hideBottomScrollShadow:ee,onScroll:A,onIsAtEndChange:F})}),t[49]=ae,t[50]=se,t[51]=R,t[52]=E,t[53]=T,t[54]=M,t[55]=le,t[56]=B,t[57]=ee,t[58]=L,t[59]=F,t[60]=A,t[61]=z,t[62]=c,t[63]=pe,t[64]=de,t[65]=D,t[66]=k,t[67]=s,t[68]=O,t[69]=m,t[70]=me,t[71]=he,t[72]=i,t[73]=ge):ge=t[73],ge};MV.displayName=`LegendTimelineHost`;var NV=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)=>{Ut(`ui.message_list.render`);let{sessionKey:T,virtualizerKey:E}=QB(e,t),D=G(e=>e.stickyUserHeader),O=G(e=>e.chatRenderMode),k=G(e=>e.activityRenderMode),A=G(e=>e.showTurnChangedFiles),j=Mo(e=>e.reviewTransferBySessionId.get(T)??null),[M,N]=Z.useState(()=>new Map),P=Z.useRef({sessionKey:void 0,previousOrder:[],animatedIds:new Set}),[F,I]=Z.useState(null),L=Z.useRef(null);L.current=F;let R=q(t=>{ir(e),L.current===t&&I(null)});In(()=>{if(S)return()=>{queueMicrotask(()=>{ir(e)})}},[S,e]);let z=q(c),B=q(()=>{l?.()}),V=q((e,t)=>{N(n=>{let r=new Map(n),i=n.get(e)?.isExpanded??t;return r.set(e,{isExpanded:hI(i)}),r})}),ee=Z.useMemo(()=>it(`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(ZI(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&&iI(t.info))continue;let n=dV(t,a);qI(t)&&a.add(t.info.id);let s=i.length>0?i[i.length-1]:void 0;if(fV(s)){let e=bV(n);if(e.hide){i[i.length-1]=xV(s,e.taskSessionId);continue}}if(SI(s)){let e=wI(n,pV(s));if(e.hide){i[i.length-1]=SV(s,e.details);continue}}i.push(n)}return i}),[n]),H=Z.useRef(null),U=Z.useRef(null),te=Z.useCallback(()=>{let e=U.current;e&&(U.current=null,e.cancel())},[]);Z.useEffect(()=>()=>{te()},[te]);let W=q(()=>u?.current?u.current:typeof document>`u`?null:document.querySelector(`[data-scrollbar="chat"]`)),ne=Z.useMemo(()=>it(`ui.message_list.retry_overlay_ms`,()=>LR(ee,{sessionId:o?.sessionId??null,message:o?.message??`Quota limit reached. Retrying automatically.`,confirmedAt:o?.confirmedAt,fallbackTimestamp:o?.fallbackTimestamp??0})),[ee,o]),re=r||!!i,ie=Z.useRef(re),ae=Z.useRef(T);ae.current!==T&&(ae.current=T,ie.current=!1),re&&(ie.current=!0);let{projection:oe,streamingTurns:se}=FR(ne,{sessionKey:T,showTextJustificationActivity:O===`sorted`,showTurnChangedFiles:A,hasLiveTail:re||ie.current,liveTailActive:re}),ce=Z.useMemo(()=>it(`ui.message_list.render_entries_ms`,()=>WR({messages:ne,turns:oe.turns,streamingTurns:se,ungroupedMessageIds:oe.ungroupedMessageIds,lastTurnId:oe.lastTurnId})),[ne,oe.lastTurnId,oe.turns,oe.ungroupedMessageIds,se]),le=ce.history,ue=ce.tail,de=ue.length>0;de&&re&&Ut(`ui.message_list.render.streaming`);let fe=le,pe=fe.length>=DB,me=Z.useRef(pe);sV(me,pe);let he=pe?`tanstack`:`none`,ge=mu(e=>e.legendTimelineEnabled),_e=Z.useRef(null),ve=q(e=>{_e.current=e}),ye=Z.useRef(null),be=q(e=>{ye.current=e}),xe=Z.useMemo(()=>ue.length>0?[...fe,...ue]:fe,[fe,ue]),[Se,Ce]=Z.useState(0),[we,Te]=Z.useState(null),Ee=eV(E,k),De=gz(void 0,Sz({scopeKey:Ee,generation:Se,root:we,relevantKeys:Z.useMemo(()=>dz({entryKeys:xe.map(e=>e.key),seedCount:iV(k)}),[Ee,Se,xe.length,xe[xe.length-1]?.key,k]),enabled:!ge&&xe.length>0,initiallyRevealed:C})),Oe=q(e=>{s(e)}),ke=q(e=>{s(e)}),Ae=Z.useMemo(()=>n.filter(e=>uV(e)===`user`).map(e=>e.info.id),[n]),je=P.current,Me=je.sessionKey!==e,Ne=je.previousOrder;Me&&(S&&je.sessionKey!==void 0&&ir(je.sessionKey),je.sessionKey=e,je.previousOrder=Ae,je.animatedIds=new Set);let Pe=S?Ei({sessionId:e,sessionChanged:Me,previousUserOrder:Ne,currentUserOrder:Ae,animatedIds:je.animatedIds}):null;je.previousOrder=Ae;let Fe=S?rB({sessionChanged:Me,previousUserOrder:Ne,currentUserOrder:Ae,currentAnchorId:F,consumedSendMessageId:Pe}):null;S&&Fe!==F&&I(Fe),S&&(L.current=Fe);let Ie=q(e=>uV(e)===`user`&&P.current.animatedIds.has(e.info.id)),Le=q(e=>{P.current.animatedIds.delete(e)}),Re=Z.useMemo(()=>{let e=new Map;return xe.forEach((t,n)=>{if(t.kind===`ungrouped`){e.set(t.message.info.id,n);return}e.set(t.turn.userMessage.info.id,n),t.turn.assistantMessages.forEach(t=>{e.set(t.info.id,n)})}),e},[xe]),ze=Z.useMemo(()=>{let e=new Map;return xe.forEach((t,n)=>{t.kind===`turn`&&e.set(t.turn.turnId,n)}),e},[xe]),Be=q(e=>{let t=W();return t?t.querySelector(`[data-message-id="${e}"]`):null}),Ve=q((e,t=`auto`)=>{if(e<0||e>=fe.length)return!1;if(ge){let n=_e.current;return n?(n.scrollToIndex({index:e,animated:t===`smooth`,viewOffset:0}),!0):!1}if(!pe)return!1;let n=ye.current;return n?(n.scrollToIndex(e,{align:`start`,behavior:t===`smooth`?`smooth`:`auto`}),!0):!1}),He=q((e,t=`auto`)=>{let n=W();if(!n)return!1;let r=Be(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=ze.get(e);if(r===void 0)return!1;let i=W();if(!i)return!1;let a=i.querySelector(`[data-turn-id="${e}"]`);return a?(a.scrollIntoView({behavior:n,block:`start`}),!0):de&&r>=fe.length?!1:Ve(r,n)},scrollToMessageId:(e,t)=>{let n=t?.behavior??`auto`,r=Re.get(e);return r===void 0?!1:He(e,n)||(de&&r>=fe.length?!1:Ve(r,n))},holdViewportAnchor:e=>{let t=W();if(!t||typeof window>`u`)return;te();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(),U.current?.cancel===s&&(U.current=null))},c=()=>{s()};U.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=Be(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>=HB||n>=UB){s();return}a=window.requestAnimationFrame(l)};a=window.requestAnimationFrame(l)},cancelViewportAnchorHold:te,isHistoryVirtualized:()=>ge?!0:me.current,captureViewportAnchor:()=>{let e=W();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`||!hV(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=W();if(!t||!Re.has(e.messageId))return!1;let n=()=>{let n=Be(e.messageId);if(!n)return!1;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect().top-r.top-e.offsetTop;return i!==0&&(t.scrollTop+=i),!0};if(!n()){let t=Re.get(e.messageId);if(typeof t==`number`&&t<fe.length)return Ve(t,`auto`)}return n()},scrollToBottom:()=>{if(Ce(e=>e+1),ge){let e=Vz(W());if(e!==null){_e.current?.scrollToOffset({offset:e,animated:!1});return}_e.current?.scrollToEnd({animated:!1});return}if(pe&&fe.length>0&&ye.current){ye.current.scrollToEnd();return}let e=W();e&&(e.scrollTop=e.scrollHeight)}};if(typeof w==`function`)return w(e),()=>{w(null)};let t=w;return t.current=e,()=>{t.current=null}},[te,fe.length,ge,Re,pe,de,ze,w]),ge?(0,$.jsx)(MV,{historyEntries:fe,tailEntries:ue,timelineCacheKey:eV(E,k),directory:d,sessionId:T,scrollRef:u,registerList:ve,onHistoryContentChange:Oe,onTailContentChange:ke,getAnimationHandlers:z,scrollToBottom:B,stickyUserHeader:D,sessionIsWorking:r,activityRenderMode:k,turnUiStates:M,onToggleTurnGroup:V,chatRenderMode:O,showTurnChangedFiles:A,shouldAnimateUserMessage:Ie,onUserAnimationConsumed:Le,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:j,header:f,footer:p,scrollClassName:h,scrollStyle:g,scrollDataset:_,onScroll:v,followEnabled:y,historyAnchorToken:b,pinRevealGeneration:Se,initialPinRevealComplete:C,onIsAtEndChange:x,anchoredUserMessageId:Fe,onAnchoredTurnParkReleased:R},E):(0,$.jsx)(`div`,{children:(0,$.jsx)(Zu,{disabled:!1,children:(0,$.jsxs)(`div`,{ref:Te,className:`relative w-full`,style:De,children:[(0,$.jsx)(Zu,{disabled:pe,children:(0,$.jsx)(XR,{enabled:!0,children:(0,$.jsx)(kV,{entries:fe,historyAnchorToken:b,engine:he,contentRef:H,scrollRef:u,registerTanstackVirtualizer:be,virtualizerKey:E,onMessageContentChange:Oe,getAnimationHandlers:z,scrollToBottom:B,stickyUserHeader:D,activityRenderMode:k,turnUiStates:M,onToggleTurnGroup:V,chatRenderMode:O,shouldAnimateUserMessage:Ie,onUserAnimationConsumed:Le,reviewTransferDirection:j},E)})}),(0,$.jsx)(jV,{entries:ue,directory:d,sessionId:T,onMessageContentChange:ke,getAnimationHandlers:z,scrollToBottom:B,stickyUserHeader:D,sessionIsWorking:r,activityRenderMode:k,turnUiStates:M,onToggleTurnGroup:V,chatRenderMode:O,showTurnChangedFiles:A,shouldAnimateUserMessage:Ie,onUserAnimationConsumed:Le,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:j}),m]})})})});NV.displayName=`MessageList`;var PV=Z.memo(NV);function FV(e){return e.isMobile}var IV=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},LV=({diff:e,filePath:t})=>{let{currentTheme:n}=_c(),r=Z.useMemo(()=>Ec(n),[n]),i=Z.useMemo(()=>_d(e),[e]),a=Lu(t||i[0]?.file)||`text`,o=Z.useMemo(()=>i.flatMap(e=>e.lines.map(e=>e.content)).join(`
6599
+ `)}return ct&&ct.trim().length>0?ct:eo(Le)},[ct,Le,W]),ut=lt.length>0,dt=Z.useCallback(async()=>(await Bn(lt)).ok?(W&&(I(!0),setTimeout(()=>I(!1),2e3)),!0):!1,[W,lt]),ft=Z.useCallback(async()=>{if(!(!ae||!e.info.id||z.current)){z.current=`revert`,R(`revert`);try{_.onRevertMessage?await _.onRevertMessage(e.info.id):await S(ae,e.info.id,{directory:_.directory??void 0})}finally{z.current=null,R(null)}}},[ae,e.info.id,S,_]),pt=q(()=>{if(!ae||!e.info.id||z.current)return;let t={info:e.info,parts:e.parts};if(_.onEditMessage){_.onEditMessage(e.info.id,t).catch(()=>{});return}C(ae,e.info.id,t).catch(()=>{})}),mt=q(()=>{ae&&D(ae)}),ht=Z.useCallback(async()=>{if(e.info.id,!ae||!e.info.id){console.warn(`[session-fork] message action is missing identifiers`,{hasSessionId:!!ae,hasMessageId:!!e.info.id});return}if(!z.current){z.current=`fork`,R(`fork`);try{await w(ae,e.info.id)}finally{z.current=null,R(null)}}},[ae,e.info.id,w]),gt=q(t=>{let n=Be.has(t),r=Ve.has(t);if(n){H(n=>{let i=new Set(n);return r?i.add(t):i.delete(t),FI(e.info.id,i),i}),r||V(n=>{let r=new Set(n);return r.delete(t),NI(e.info.id,r),r});return}V(n=>{let r=new Set(n);return r.has(t)?r.delete(t):r.add(t),NI(e.info.id,r),r}),H(n=>{if(!n.has(t))return n;let r=new Set(n);return r.delete(t),FI(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(()=>{W||vt.current||(vt.current=!0,r?.(`structural`))},[W,r]),Tt=G(e=>e.setImagePreviewOpen),Et=Z.useCallback(e=>{(e.image||e.mermaid)&&(te(e),Tt(!0))},[Tt]),Dt=Z.useCallback(e=>{te(t=>({...t,open:e})),Tt(e)},[Tt]),Ot=!!VI(e.info,`animationSettled`),kt=tt===`streaming`||tt===`cooldown`;kt&&(Ct.current=!0);let At=Z.useMemo(()=>!W&&Ie.some(e=>e.type===`reasoning`),[W,Ie]),jt=Ke&&!Ot&&!kt&&!Ct.current,Mt=!W&&Ke&&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(W)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,W,_t,Mt]);let Nt=Z.useMemo(()=>W?!0:Ie.some(e=>e.type===`text`||e.type===`reasoning`?uD(e).trim().length>0:e.type===`tool`||e.type===`file`),[W,Ie]),Pt=!!(a?.activityOwnerMessageId===e.info.id&&((a.activityParts?.length??0)>0||a.hasTools||a.hasReasoning)),Ft=!W&&!ne&&(Pe||!c||!!a)&&!st&&!Nt&&!Pt,It=aI(e.info,p);if(It)return(0,$.jsx)(`div`,{ref:b,className:`chat-message-column py-1.5`,id:`message-${e.info.id}`,"data-message-id":e.info.id,"data-restart-notice":``,children:(0,$.jsx)(iy,{presentation:It})});if(Ue||Ft)return null;if(ne)return(0,$.jsx)(`div`,{className:J(`group w-full`,m?`py-2`:`py-3`),id:`message-${e.info.id}`,"data-message-id":e.info.id,"data-compaction-status":ne.status,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)(sI,{part:ne,isMobile:m})})});let Lt=!W&&nt?m?A?`pt-4`:`pt-0`:`pt-6`:`pt-0`,Rt=CI(e);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:J(`group w-full`,W?m?`pt-2`:`pt-6`:Lt,W||et||s?`pb-0`:$e?`pb-1`:`pb-8`),id:`message-${e.info.id}`,"data-message-id":e.info.id,ref:b,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:W?CD(Le)?(0,$.jsx)(Ju,{forceAnimation:!0,skipAnimation:!u,ignoreContextDisabled:!0,respectReducedMotion:!0,children:(0,$.jsx)(`div`,{className:J(`relative flex`,Rt?`justify-start`:`justify-end`,m?void 0:`group/user-shell`),children:(0,$.jsxs)(`div`,{className:J(Rt?`w-full min-w-0`:`max-w-[85%]`,ie&&!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)(qF,{messageId:e.info.id,parts:Le,sourceParts:ce,isUser:W,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:N,onCopyCode:rt,expandedTools:B,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:!1,hasTextContent:ut,onCopyMessage:dt,copiedMessage:F,showReasoningTraces:k,onAuxiliaryContentComplete:wt,agentMention:He,onEdit:!T&&v.edit?pt:void 0,onRevert:!T&&v.revert?ft:void 0,onFork:!T&&W&&v.fork?ht:void 0,editing:T,editStaged:E,onCancelEdit:E?mt:void 0,pendingMessageAction:L,errorPresentation:st,userActionsMode:re?`external-content`:`inline`,stickyUserHeaderEnabled:A&&!Rt})}),re?(0,$.jsx)(qF,{messageId:e.info.id,parts:Le,sourceParts:ce,isUser:W,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:N,onCopyCode:rt,expandedTools:B,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:!1,hasTextContent:ut,onCopyMessage:dt,copiedMessage:F,showReasoningTraces:k,onAuxiliaryContentComplete:wt,agentMention:He,onEdit:!T&&v.edit?pt:void 0,onRevert:!T&&v.revert?ft:void 0,onFork:!T&&W&&v.fork?ht:void 0,editing:T,editStaged:E,onCancelEdit:E?mt:void 0,pendingMessageAction:L,errorPresentation:st,userActionsMode:`external-actions`,stickyUserHeaderEnabled:A}):null]})})}):null:(0,$.jsxs)(`div`,{className:`relative`,children:[nt&&(0,$.jsx)(nO,{isUser:W,isMobile:m,providerID:ke,modelID:Ae,agentName:Oe,modelName:je,variant:at}),!Nt&&!Pt&&!st&&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)(Pd,{className:`h-3.5 w-2/3`}),(0,$.jsx)(Pd,{className:`h-3.5 w-1/3`})]}),(0,$.jsx)(qF,{sessionId:e.info.sessionID,messageId:e.info.id,parts:Ie,sourceParts:le,isUser:W,isMessageCompleted:Pe,messageFinish:Fe,messageCompletedAt:Me??void 0,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:N,onCopyCode:rt,expandedTools:Ve,onToggleTool:gt,onShowPopup:Et,streamPhase:tt,allowAnimation:jt,onContentChange:r,shouldShowHeader:nt,hasTextContent:ut,onCopyMessage:dt,copiedMessage:F,onAuxiliaryContentComplete:wt,showReasoningTraces:k,agentMention:He,turnGroupingContext:a,errorPresentation:st,reviewTransferDirection:f})]})})}),U.open?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(EI,{popup:U,onOpenChange:Dt,isMobile:m})}):null]})},(e,t)=>kk({info:e.message.info,parts:e.message.parts},{info:t.message.info,parts:t.message.parts})&&e.message.sourceParts===t.message.sourceParts&&Ak(e.previousMessage?{info:e.previousMessage.info,parts:e.previousMessage.parts}:void 0,t.previousMessage?{info:t.previousMessage.info,parts:t.previousMessage.parts}:void 0)&&Ak(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&&Rk(e.turnGroupingContext,t.turnGroupingContext,e.message.info.id,$F(e.message.info).isUser)),UI=e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``},WI=e=>{let t=e?.type;return t===`compaction`?!wt(e):t===`text`&&UI(e).trim()===`/compact`},GI=e=>e?e.some(e=>WI(e)):!1,KI=e=>GI(e.parts),qI=e=>e?GI(e.sourceParts)||GI(e.parts):!1,JI=e=>{if(!KI(e))return e;let t=!1,n=e.parts.map(e=>e?.type!==`compaction`||wt(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}},YI=e=>{let t=lD(e.parts);return t.length===e.parts.length?e:{...e,parts:t}},XI=new WeakMap,ZI=e=>{let t=XI.get(e);if(t)return t;let n=JI(YI(e)),r=n.parts,i=Tr(r),a=i===r?n:{...n,parts:i,sourceParts:r};return XI.set(e,a),a},QI={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},$I=[],eL=`\0`,tL=new Set([`edit`,`write`,`apply_patch`]),nL={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`},rL=[`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`],iL=(e,t)=>{let n=nL[Iu(e)];return n?t(n):t(`chat.assistantStatus.usingTool`,{tool:e})},aL=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)},oL=(e,t)=>t(rL[aL(e)%rL.length]??`chat.assistantStatus.working`),sL=(e,t,n)=>{let r,i;if(!xi(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??pL(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=Iu(mL(n));tL.has(e)?(r=`editing`,i=e):(r=`tool`,i=e)}break}case`text`:{let e=fL(n)??``;if(typeof e==`string`&&e.trim().length>0){let e=pL(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?iL(i,n):r===`reasoning`?n(`chat.assistantStatus.thinking`):r===`text`?n(`chat.assistantStatus.composing`):oL(t,n);return{activePartType:r,activeToolName:i,statusText:o,isGenericStatus:a}},cL=e=>[e.activePartType??``,e.activeToolName??``,e.statusText,e.isGenericStatus?`1`:`0`].join(eL),lL=e=>{let[t,n,r=`working`,i]=e.split(eL);return{activePartType:t===`text`||t===`tool`||t===`reasoning`||t===`editing`?t:void 0,activeToolName:n||void 0,statusText:r,isGenericStatus:i===`1`}},uL=e=>e.type===`reasoning`,dL=e=>e.type===`text`,fL=e=>{if(dL(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},pL=e=>(dL(e)||uL(e),e.time),mL=e=>{if(e.tool)return e.tool;let t=e;return typeof t.name==`string`?t.name:`tool`};function hL(e,t){let{t:n}=Vn(),r=Y(e=>e.currentSessionId),i=Y(e=>e.currentSessionDirectory),a=e??r,o=t??i,s=Lr(e=>!!(a&&e.session_execution_recovery[a]),o??void 0),c=Z.useMemo(()=>e=>a?e.pendingSendMessageIDs.get(a)??null:null,[a]),l=Y(c),u=uo(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}}return{id:null,index:-1,finish:void 0,error: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`)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=Fa(f??``,o??void 0,a??void 0),g=Fa(m??``,o??void 0,a??void 0),_=!!m&&GI(g),v=!!(f&&d.index>p.index&&YM(d.finish,h,d.error)),y=Z.useMemo(()=>{let e=`${a??``}:${f??``}`;return cL(sL(f&&!d.error&&d.index>p.index?h:$I,e,n))},[a,f,d.error,d.index,p.index,h,n]),b=ho(a??``,o??void 0),x=aa(a??``,o??void 0),S=Z.useMemo(()=>e=>a?e.sessionAbortFlags?.get(a)??null:null,[a]),C=Y(S),{phase:w,isWorking:T}=Vx(a,o??void 0),E=!!(d.error&&d.index>p.index),D=la(a??``,o??void 0),O=D?.type===`retry`?D.attempt:void 0,k=D?.type===`retry`?D.next:void 0,A=Z.useMemo(()=>lL(y),[y]),j=Z.useMemo(()=>{let e=!!(C&&!C.acknowledged);return{wasAborted:e,abortActive:e}},[C]),M=Z.useMemo(()=>{if(s)return{...QI,isRecovering:!0,canAbort:T};if(E&&w!==`retry`)return{...QI,isTurnSettled:!0,canAbort:T};if(j.wasAborted)return{...QI,wasAborted:!0,abortActive:j.abortActive,activity:`idle`,hasWorkingContext:!1,isWorking:!1,isStreaming:!1,isCooldown:!1,statusText:null,canAbort:!1,retryInfo:null};if(v)return{...QI,isComplete:!0,isTurnSettled:!0,turnStartedAt:p.turnStartedAt};let e=T,t=w===`busy`,r=w===`retry`,i=e&&_,a=`idle`;e&&(a=!i&&(A.activePartType===`tool`||A.activePartType===`editing`)?`tooling`:`streaming`);let o=r?{attempt:O,next:k}:null;return{activity:a,hasWorkingContext:e,hasActiveTools:!i&&(A.activePartType===`tool`||A.activePartType===`editing`),isWorking:e,isStreaming:t,isCooldown:!1,lifecyclePhase:t?`streaming`:null,statusText:e?i?n(`chat.assistantStatus.compacting`):A.statusText:null,isGenericStatus:!e||!i&&A.isGenericStatus,isWaitingForPermission:!1,canAbort:e,compactionDeadline:null,activePartType:e&&!i?A.activePartType:void 0,activeToolName:e&&!i?A.activeToolName:void 0,wasAborted:!1,abortActive:!1,lastCompletionId:null,isComplete:!1,isTurnSettled:!1,retryInfo:o,turnStartedAt:p.turnStartedAt}},[s,E,w,T,v,_,p.turnStartedAt,A,j,O,k,n]);return{forming:Z.useMemo(()=>({isActive:!s&&!E&&T&&A.activePartType===`text`,characterCount:0}),[s,E,T,A.activePartType]),working:Z.useMemo(()=>{if(s||M.wasAborted||M.abortActive)return M;if(l)return{...M,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=b.length>0,t=x.length>0;return!e&&!t?M:t?{...M,statusText:null,isWorking:!1,hasWorkingContext:!1,hasActiveTools:!1,canAbort:!1,activePartType:void 0,activeToolName:void 0,retryInfo:null}:{...M,statusText:n(`chat.assistantStatus.waitingForPermission`),isWaitingForPermission:!0,canAbort:!1,retryInfo:null}},[s,M,l,b,x,n])}}var gL=Z.memo(()=>{let e=(0,Q.c)(15),t=qb(),n=Y(_L),r=Y(vL),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=Y(o),c=Y(yL),l=Y(bL),{working:u}=hL(i,a),d=Ki(xL),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)(Qb,{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],_});gL.displayName=`StatusRowContainer`;function _L(e){return e.currentSessionId}function vL(e){return e.currentSessionDirectory}function yL(e){return e.abortPromptSessionId}function bL(e){return e.abortPromptExpiresAt}function xL(e){return e.currentAgentName}var SL=(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},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},wL=Z.memo(e=>{let t=(0,Q.c)(37),{assistantMessage:n,userMessage:r,pendingPresentation:i,assistantIsInActiveTurn:a,isMobile:o}=e,s=Ki(TL),c=Ki(qe(EL)),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}=Ry(qe(u)),p;t[3]===r.info?p=t[4]:(p=lI(r.info),t[3]=r.info,t[4]=p);let m=p,h;t[5]===n?h=t[6]:(h=n?lI(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?SL(n.info,`mode`)??SL(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=ma(b),S=!n||a,C;t[18]!==g||t[19]!==c||t[20]!==x||t[21]!==S||t[22]!==m?(C=dI({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=CL(y),O=CL(T),k=CL(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=sr(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)(nO,{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 TL(e){return e.providers}function EL(e){return{providerId:e.currentProviderId,modelId:e.currentModelId}}var DL=Z.memo(e=>{let t=(0,Q.c)(17),{assistantMessages:n,messages:r,activityExpanded:i,renderMessage:a}=e,o;bb0:{if(!r.some(OL)){o=n;break bb0}let e;t[0]===n?e=t[1]:(e=new Set(n.map(kL)),t[0]=n,t[1]=e);let i=e,a;if(t[2]!==r||t[3]!==i){let e;t[5]===i?e=t[6]:(e=(e,t)=>t>0&&(e.role!==`assistant`||i.has(e.messageId))?[e.message]:[],t[5]=i,t[6]=e),a=r.flatMap(e),t[2]=r,t[3]=i,t[4]=a}else a=t[4];o=a}let s=o,c;if(t[7]!==i||t[8]!==a||t[9]!==s){let e;t[11]!==i||t[12]!==a?(e=e=>a(e,i),t[11]=i,t[12]=a,t[13]=e):e=t[13],c=s.map(e),t[7]=i,t[8]=a,t[9]=s,t[10]=c}else c=t[10];let l;return t[14]!==i||t[15]!==c?(l=(0,$.jsx)(`div`,{className:`relative z-0`,"data-turn-assistant-activity-expanded":i,children:c}),t[14]=i,t[15]=c,t[16]=l):l=t[16],l});function OL(e,t){return t>0&&e.role!==`assistant`}function kL(e){return e.info.id}var AL=e=>{let t=(0,Q.c)(13),{sessionId:n,directory:r,hasInlineError:i,fallbackHeader:a}=e,o=i!==void 0&&i,{t:s}=Vn(),c=fi(n),l=Ua(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),Lr(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=rI(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)(iy,{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},jL=new Set,ML=()=>{},NL=()=>{},PL=Z.memo(e=>{let t=(0,Q.c)(49),{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=G(FL),y=qb(),b=n.userMessage.info.time?.created,x=n.activityPresentationKind===`compaction`,S;t[0]===n.userMessage?S=t[1]:(S=CI(n.userMessage),t[0]=n.userMessage,t[1]=S);let C=S,w=`relative w-full ${g?`pb-1`:`pb-8`}`,T=`turn-${n.turnId}`,E;t[2]!==i||t[3]!==x||t[4]!==C||t[5]!==f||t[6]!==_||t[7]!==n.userMessage?(E=x?null:_&&!C?(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]=x,t[4]=C,t[5]=f,t[6]=_,t[7]=n.userMessage,t[8]=E):E=t[8];let D;t[9]!==h||t[10]!==s||t[11]!==v||t[12]!==C||t[13]!==m||t[14]!==_||t[15]!==n.userMessage?(D=!C&&(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)(wL,{assistantMessage:s,userMessage:n.userMessage,pendingPresentation:m,assistantIsInActiveTurn:h,isMobile:v})})}):null,t[9]=h,t[10]=s,t[11]=v,t[12]=C,t[13]=m,t[14]=_,t[15]=n.userMessage,t[16]=D):D=t[16];let O;t[17]!==i||t[18]!==v||t[19]!==u||t[20]!==a||t[21]!==n.completionDisposition||t[22]!==n.durationMs||t[23]!==b?(O=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)(cF,{parts:[],isExpanded:i,completionDisposition:n.completionDisposition,activityPresentationKind:`compaction`,durationMs:n.durationMs,startedAt:typeof b==`number`?b:void 0,onToggle:u,isMobile:v,expandedTools:jL,onToggleTool:ML,onShowPopup:NL,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]=O):O=t[24];let k;t[25]!==i||t[26]!==f||t[27]!==n.assistantMessages||t[28]!==n.messages?(k=(0,$.jsx)(DL,{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]=k):k=t[29];let A;t[30]!==s||t[31]!==v||t[32]!==C||t[33]!==m||t[34]!==p||t[35]!==y||t[36]!==n.assistantMessages||t[37]!==n.userMessage?(A=p&&y.active&&y.capabilities.compose&&(!y.sessionId||y.sessionId===n.userMessage.info.sessionID)?(0,$.jsx)(AL,{sessionId:n.userMessage.info.sessionID,directory:n.userMessage.sourceDirectory??y.directory,hasInlineError:!!n.assistantMessages.at(-1)?.info.error,fallbackHeader:!C&&!m&&!s?(0,$.jsx)(wL,{userMessage:n.userMessage,pendingPresentation:fI(lI(n.userMessage.info)),assistantIsInActiveTurn:!1,isMobile:v}):void 0}):null,t[30]=s,t[31]=v,t[32]=C,t[33]=m,t[34]=p,t[35]=y,t[36]=n.assistantMessages,t[37]=n.userMessage,t[38]=A):A=t[38];let j;return t[39]!==i||t[40]!==D||t[41]!==O||t[42]!==k||t[43]!==A||t[44]!==w||t[45]!==T||t[46]!==E||t[47]!==n.turnId?(j=(0,$.jsxs)(`section`,{className:w,id:T,"data-turn-id":n.turnId,"data-turn-activity-expanded":i,"data-scroll-spy-id":n.turnId,children:[E,D,O,k,A]}),t[39]=i,t[40]=D,t[41]=O,t[42]=k,t[43]=A,t[44]=w,t[45]=T,t[46]=E,t[47]=n.turnId,t[48]=j):j=t[48],j});function FL(e){return e.isMobile}var IL=(e,t,n)=>t.id??`${e}-part-${n}-${t.type}`,LL=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},RL=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},zL=e=>{let t=e.info.finish;return typeof t==`string`?t:void 0},BL=(e,t,n,r)=>({id:IL(t,n,r),turnId:e,messageId:t,part:n,partIndex:r,endedAt:LL(n)}),VL=e=>{let t=[],n=!1,r=!1;e.assistantMessages.forEach(e=>{e.parts.forEach(e=>{if(e.type===`tool`){n=!0;return}e.type===`reasoning`&&RL(e)&&(r=!0)})});let i=!!e.summarySourceMessageId&&!!e.summarySourcePartId&&e.assistantMessages.some(t=>t.info.id===e.summarySourceMessageId&&qM(zL(t),t.parts));e.assistantMessages.forEach(n=>{let r=zL(n),a=n.parts.some(e=>e.type===`tool`);n.parts.forEach((o,s)=>{let c=o.type===`tool`,l=o.type===`reasoning`||o.type===`text`?RL(o):void 0,u=IL(n.info.id,o,s),d=o.type===`text`&&typeof l==`string`&&qM(r,n.parts)&&e.summarySourceMessageId===n.info.id&&e.summarySourcePartId===u,f=null;c?f=`tool`:o.type===`reasoning`?f=`reasoning`:e.showTextJustificationActivity&&o.type===`text`&&l&&!d&&(i||a||typeof r==`string`&&r!==`stop`)&&(f=`justification`),f&&t.push({...BL(e.turnId,n.info.id,o,s),kind:f})})});let a=[];if(t.length>0){let n=e.assistantMessages[0]?.info.id;n&&a.push({id:`${e.turnId}:activity`,anchorMessageId:n,afterToolPartId:null,parts:t})}return{activityParts:t,activitySegments:a,hasTools:n,hasReasoning:r}},HL=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;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&&(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}},UL=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},WL=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(!n)continue;let r=n.info.finish;if(qM(r,n.parts))for(let e=n.parts.length-1;e>=0;--e){let t=n.parts[e];if(!t||!JM(t))continue;let r=UL(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:IL(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=UL(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:IL(n.info.id,t,e)}}}return{}},GL=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}},KL=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},qL=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},JL=e=>e.info.nativeType===`synthetic`,YL=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},XL=e=>{let t=e.info.time?.created;return typeof t==`number`?t:void 0},ZL=e=>{let t=e.info.time?.completed;return typeof t==`number`?t:void 0},QL=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},$L=e=>{let t=e.info?.summary?.body;if(typeof t==`string`)return t.trim().length>0?t:void 0},eR=(e,t)=>{let n=qL(e);return{messageId:e.info.id,role:n,parentMessageId:YL(e),message:e,order:t}},tR=(e,t)=>{let n=XL(e),r,i,a=!1;t.forEach(e=>{let t=ZL(e);typeof t==`number`?r=Math.max(r??0,t):a=!0,e.parts.forEach(e=>{let t=QL(e);typeof t==`number`&&(i=Math.max(i??0,t))})});let o=r??i,s=typeof n==`number`&&typeof o==`number`&&o>=n?o-n:void 0;return{isStreaming:a,isRetrying:t.length>1,startedAt:n,completedAt:r,durationMs:s}},nR=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`||KM(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 ZL(t)!=`number`)return`active`;return`active`},rR=e=>{let t=e[e.length-1];if(!t)return!1;let n=t.info;return YM(n.finish,t.parts,n.error)},iR=e=>qI(e)?`compaction`:`default`,aR={previousProjection:null,showTextJustificationActivity:!1,showTurnChangedFiles:!1},oR=(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},sR=(e,t)=>e.userMessage===t.userMessage&&e.headerMessageId===t.headerMessageId&&oR(e.messages,t.messages),cR=(e,t)=>{e.summary=WL(e.assistantMessages),e.summaryText=e.summary.text??$L(e.userMessage),e.diffStats=GL(e.userMessage),e.changedFiles=t.showTurnChangedFiles?KL(e.userMessage):void 0,e.completionDisposition=nR(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(wt);r?.reason===`auto`&&r.status!==`failed`&&(e.completionDisposition=`active`,e.hasConfirmedFinalBody=!1);break}e.activityPresentationKind=iR(e.userMessage);let n=VL({turnId:e.turnId,assistantMessages:e.assistantMessages,summarySourceMessageId:e.summary.sourceMessageId,summarySourcePartId:e.summary.sourcePartId,showTextJustificationActivity:t.showTextJustificationActivity});return e.activityParts=n.activityParts,e.activitySegments=n.activitySegments,e.hasTools=n.hasTools,e.hasReasoning=n.hasReasoning,e.stream=tR(e.userMessage,e.assistantMessages),e.startedAt=e.stream.startedAt,e.completedAt=e.stream.completedAt,e.durationMs=e.stream.durationMs,e},lR=(e,t)=>{let n=t.previousProjection;if(!n||n.turns.length===0||e.length===0)return e.map(e=>cR(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&&sR(o,e)?(i=!0,n.turns[a]!==o&&(r=!1),o):(r=!1,cR(e,t))});return r&&i?n.turns:a},uR=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},dR=(e,t)=>{let n={...aR,...t},r=[],i=new Map,a=new Map,o=new Set;e.forEach((e,t)=>{let n=qL(e);if(n===`compaction`&&r.length>0){a.set(e.info.id,r[r.length-1]),o.add(e.info.id);return}if(n!==`user`)return;if(r.length>0&&JL(e)){a.set(e.info.id,r[r.length-1]),o.add(e.info.id);return}let s={turnId:e.info.id,userMessageId:e.info.id,userMessage:e,headerMessageId:void 0,messages:[eR(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(s),i.set(s.userMessageId,s),o.add(e.info.id)}),e.forEach((e,t)=>{let n=qL(e),s=a.get(e.info.id);if(s){s.messages.push(eR(e,t));return}if(n!==`assistant`)return;let c=YL(e),l=c?i.get(c):void 0;if(!l&&!c){let t=XL(e);for(let e=r.length-1;e>=0;e--){let n=r[e],i=XL(n.userMessage);if(t===void 0||i===void 0||i<=t){l=n;break}}}l&&(l.assistantMessages.push(e),l.assistantMessageIds.push(e.info.id),l.messages.push(eR(e,t)),l.headerMessageId||(l.headerMessageId=e.info.id),o.add(e.info.id))});let s=HL(uR(lR(r,n))),c=new Set;return e.forEach(e=>{o.has(e.info.id)||qL(e)===`assistant`&&(YL(e)||r.length>0)||c.add(e.info.id)}),{...s,ungroupedMessageIds:c}},fR=30,pR=4,mR=4,hR=33554432,gR=8388608,_R=new Map,vR=new Map,yR=0,bR=new WeakMap,xR=1,SR=()=>le()?pR:ei()?mR:fR,CR=()=>le()||ei()?gR:hR,wR=(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},TR=e=>{_R.delete(e);let t=vR.get(e)??0;vR.delete(e),yR=Math.max(0,yR-t)},ER=e=>{let t=bR.get(e);if(t!==void 0)return t;let n=xR;return xR+=1,bR.set(e,n),n},DR=e=>e.map(e=>`${ER(e.info)}:${ER(e.parts)}:${e.parts.map(e=>ER(e)).join(`,`)}`).join(`;`),OR=(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,DR(t),n?`1`:`0`,r?`1`:`0`].join(`|`)},kR=e=>{let t=_R.get(e);return t&&(_R.delete(e),_R.set(e,t)),t},AR=(e,t)=>{TR(e);let n=SR(),r=CR(),i=wR(e,t);if(!(i>r)){for(;_R.size>=n||yR+i>r;){let e=_R.keys().next().value;if(typeof e!=`string`)break;TR(e)}_R.set(e,t),vR.set(e,i),yR+=i}},jR=[],MR=(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},NR=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},PR=(e,t)=>t===null?{staticTurns:e,streamingTurns:jR}:{staticTurns:t===0?jR:e.slice(0,t),streamingTurns:e.slice(t)},FR=(e,t)=>{let n=Z.useRef(null),r=Z.useRef([]),i=Z.useRef(jR),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=jR,a.current=null);let l=Z.useMemo(()=>{let r=OR(t.sessionKey??``,e,t.showTextJustificationActivity,t.showTurnChangedFiles),i=kR(r);return i?(n.current=i,i):it(`ui.turns.projection_ms`,()=>{let i=dR(e,{previousProjection:n.current,showTextJustificationActivity:t.showTextJustificationActivity,showTurnChangedFiles:t.showTurnChangedFiles});return n.current=i,AR(r,i),i})},[e,t.showTextJustificationActivity,t.showTurnChangedFiles,t.sessionKey]),u=NR({turnCount:l.turns.length,hasLiveTail:t.hasLiveTail,liveTailActive:t.liveTailActive,previousStart:a.current});return a.current=u,{projection:l,staticTurns:Z.useMemo(()=>{let e=PR(l.turns,u).staticTurns;return MR(r.current,e)?r.current:r.current=e},[u,l.turns]),streamingTurns:Z.useMemo(()=>{let e=PR(l.turns,u).streamingTurns;return MR(i.current,e)?i.current:i.current=e},[u,l.turns])}},IR=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},LR=(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(IR(e[t])===`user`){r=t;break}if(r<0)return e;let i=-1;for(let t=e.length-1;t>r;--t)if(IR(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},RR=(e,t,n)=>{if(e.info.id!==t||e.parts===n)return e;let r=Gt(e.parts,n,e.info);return r.length===e.parts.length&&r.every((t,n)=>t===e.parts[n])?e:ZI({...e,parts:r})},zR=(e,t)=>{let n=t.activeStreamingMessageId;if(!n)return e;if(e.kind===`ungrouped`){let r=RR(e.message,n,t.liveParts);return r===e.message?e:{...e,message:r}}let r=!1,i=e.turn.assistantMessages.map(e=>{let i=RR(e,n,t.liveParts);return i!==e&&(r=!0),i});if(!r)return e;let a=dR([e.turn.userMessage,...i],{showTextJustificationActivity:t.showTextJustificationActivity,showTurnChangedFiles:t.showTurnChangedFiles}).turns[0]??{...e.turn,assistantMessages:i,assistantMessageIds:i.map(e=>e.info.id)};return{...e,turn:a}},BR=[],VR=(e,t)=>({kind:`turn`,key:`turn:${e.turnId}`,turn:e,isLastTurn:e.turnId===t}),HR=(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}},UR=(e,t,n,r)=>{let i=new Map;for(let e of t)i.set(e.userMessage.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(VR(s,r));continue}n.has(o.info.id)&&a.push(HR(e,t))}return a};function WR(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=>VR(e,a)),tail:BR};let e=r[0].turnId,t=n.findIndex(t=>t.turnId===e);return t<0?{history:n.map(e=>VR(e,a)),tail:r.map(e=>VR(e,a))}:{history:n.slice(0,t).map(e=>VR(e,a)),tail:n.slice(t).map(e=>VR(e,a))}}let o=UR(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:BR};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]:BR}}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=>VR(e,a))}:{history:o.slice(0,c),tail:o.slice(c)}}var GR=e=>{let t=Z.useRef(e);return t.current=e,Z.useMemo(()=>(...e)=>t.current(...e),[])},KR=2,qR=2,JR=e=>Math.min(Math.max(0,e),KR),YR=(e,t)=>Math.min(Math.max(0,t),Math.max(0,e)+qR),XR=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},ZR=e=>{let t=(0,Q.c)(3),{children:n,enabled:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(_u.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},QR=12,$R=16,ez=new Map,tz=e=>{let t=ez.get(e);if(t)return ez.delete(e),ez.set(e,t),t},nz=(e,t)=>{if(t.size!==0)for(ez.delete(e),ez.set(e,t);ez.size>$R;){let e=ez.keys().next().value;if(typeof e!=`string`)break;ez.delete(e)}},rz=(e,t)=>{let n=Math.max(1,Math.floor(t?.seedCount??QR)),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},iz=(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},az=({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}},oz=e=>{let{visible:t,preload:n}=az(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},sz=(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},cz=`data-markdown-ready`,lz=`data-markdown-hydration`,uz=`data-markdown-pin-reveal`,dz=e=>[...rz(e.entryKeys,{seedCount:e.seedCount,restore:e.restore})],fz=e=>e.reason===`jump-to-latest`||!e.alreadyRevealedForScope,pz=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},mz=(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,!pz(e)))return!1}return r},hz=(e,t)=>{if(e){if(t){e.style.visibility=`hidden`,e.setAttribute(uz,`pending`);return}e.style.removeProperty(`visibility`),e.setAttribute(uz,`ready`)}},gz=(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}mz(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:[cz,lz,`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())}},vz=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}},yz=e=>{let t=e.borderBoxSize?.[0];return t?{width:t.inlineSize,height:t.blockSize}:{width:e.contentRect.width,height:e.contentRect.height}},bz=e=>{let t=vz(e),n=typeof ResizeObserver>`u`?null:new ResizeObserver(e=>{for(let n of e)t.enqueue(n.target,yz(n))});return{observe(e){n?.observe(e)},unobserve(e){n?.unobserve(e)},disconnect(){n?.disconnect(),t.clear()}}},xz=(e,t)=>{let n=e.resizeItem.bind(e),r=!1,i=vz(e=>{let i=()=>{for(let[t,r]of e)n(t,r)};r?i():((0,ap.flushSync)(i),t?.())});return e.resizeItem=(e,t)=>{i.enqueue(e,t)},()=>{r=!0,e.resizeItem=n,i.flush()}},Sz=({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&&(fz({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=q(()=>{d.current.add(e),u(!1)});return In(()=>{if(!i||!l){hz(n,!1);return}if(hz(n,!0),n)return _z({root:n,relevantKeys:p,onReady:m})},[i,l,n,p,o]),i&&l},Cz=(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}},wz=(e,t)=>{let n=Cz(e,t);return n===null?null:{anchor:n,knownKeys:new Set(t)}},Tz=e=>{if(e.historyAnchorToken<=e.armedToken)return null;let t=e.list&&e.committedEntryKeys.length>0?wz(e.list,e.committedEntryKeys):null;return{armedToken:e.historyAnchorToken,arm:t}},Ez=15e3,Dz=(e,t)=>{let n=e.positionByKey(t.key);return n===void 0||!Number.isFinite(n)?null:n-t.offsetFromViewportTop},Oz=(e,t)=>{if(!Number.isFinite(e.scroll))return null;let n=Dz(e,t);return n===null?null:e.scroll-n},kz=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}},Az=1;function jz(e,{offset:t=0,hideTopShadow:n=!1,hideBottomShadow:r=!1}={}){let i=e.scrollTop>t+Az,a=e.scrollHeight-(e.scrollTop+e.clientHeight)>t+Az,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 Mz(e,t=48){e.dataset.scrollShadow=`true`,e.dataset.orientation=`vertical`,e.style.setProperty(`--scroll-shadow-size`,`${t}px`)}var Nz=.4,Pz=e=>!Number.isFinite(e)||e<=0?0:e*Nz,Fz=(e,t=16)=>Number.isFinite(e)&&e>0?e:t,Iz=({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),Lz=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)},Rz=({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))},zz=({scroll:e,parkOffset:t})=>!Number.isFinite(e)||!Number.isFinite(t)?0:Math.max(0,t-e),Bz=`data-oc-timeline-park-end`,Vz=e=>{if(!e)return null;let t=e.getAttribute(Bz);if(t===null||t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null},Hz=(e,t)=>{if(!e)return;if(t===null||!Number.isFinite(t)){e.hasAttribute(`data-oc-timeline-park-end`)&&e.removeAttribute(Bz);return}let n=String(Math.round(t));e.getAttribute(`data-oc-timeline-park-end`)!==n&&e.setAttribute(Bz,n)},Uz=(e,t)=>t!==null&&Number.isFinite(t)?zz({scroll:e.scrollTop,parkOffset:t}):Math.max(0,e.scrollHeight-e.scrollTop-e.clientHeight),Wz=({usableViewportHeight:e,viewportHeight:t,contentHeight:n})=>{if(!Number.isFinite(e)||e<=0)return 0;let r=Pz(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))},Gz=(e,t)=>!Number.isFinite(e)||!Number.isFinite(t)||t<=0?!1:e>t+1,Kz=({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,qz=({previous:e,reserveId:t,entryKey:n,contentHeight:r,usableViewportHeight:i,viewportHeight:a})=>{let o=Wz({usableViewportHeight:i,viewportHeight:a,contentHeight:r}),s=r!==null&&Gz(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&&Kz({previousEndSpaceSize:e.spacerHeight,nextEndSpaceSize:o})?{snapshot:{...c,spacerHeight:0},release:!0}:{snapshot:c,release:!1}},Jz=(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)},Yz=({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=Jz(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=Iz({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}},Xz=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},Zz=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))},Qz=(e,t)=>e===void 0||!Number.isFinite(e)?t:e<=40?!1:e>=80||t,$z=(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)},eB=`data-oc-timeline-anchoring`,tB=1200,nB=(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},iB=(e,t)=>!Number.isFinite(t)||t<=0||typeof e!=`number`||!Number.isFinite(e)||t+1>=e?null:t,aB={itemVisiblePercentThreshold:0},oB=100,sB=116,cB=500,lB=new Set,uB=Z.createContext(lB),dB=`oc-reply-reserve`,fB=e=>e.kind===dB,pB=e=>{if(fB(e))return e.spacerHeight>0?e.spacerHeight:void 0},mB=(e,t,n,r,i)=>{if(!e||t)return null;let a=Yz({state:n,anchorIndex:e.anchorIndex,lastIndex:e.anchorIndex,endInsetHeight:r,anchorOffset:i});return a?Rz({anchorTop:a.anchorTop,anchorOffset:i,maxScrollOffset:Lz(n)}):null},hB=(e,t)=>{if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t;let n=e?.clientHeight??0;return n>0?n:0},gB=e=>e.key,_B=e=>e.kind,vB=()=>{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=q(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=q(l);Nn(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},yB=({entry:e,index:t,renderEntryRef:n,sizeObserverRef:r})=>{let i=Z.useContext(uB),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))})},bB=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=q(e=>{E.current=e,u?.(e)}),M=Z.useRef(null),[N,P]=Z.useState(null),[F,I]=Z.useState(0),{height:L,setElement:R}=vB(),{height:z,heightRef:B,setElement:V}=vB(),ee=b==null?null:(0,$.jsx)(`div`,{ref:R,"data-oc-timeline-header":``,children:b}),H=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 W=q((e=M.current)=>{!e||s?.scrollShadow!==`true`||(Mz(e),jz(e,{hideTopShadow:U.current,hideBottomShadow:te.current}))}),ne=q(e=>{let t=e?.getScrollableNode?.()??null;if(t&&s){for(let[e,n]of Object.entries(s))t.dataset[e]=n;W(t)}M.current=t,o&&(o.current=t),P(t);let n=hB(t,E.current?.getState()?.scrollLength);I(e=>e===n?e:n)}),re=q(()=>{let e=hB(M.current,E.current?.getState()?.scrollLength);I(t=>t===e?t:e),W()});Z.useLayoutEffect(()=>{W(N)},[l,c,N]),Nn(typeof ResizeObserver<`u`?N:null,re);let[ie,ae]=Z.useState(0),[oe,se]=Z.useState(0),ce=ie!==oe,le=Z.useRef(!0),ue=Z.useRef(!1),[de,fe]=Z.useState(!1),pe=Z.useRef(!1);Z.useLayoutEffect(()=>{le.current=!0,ue.current=!1,pe.current=!1,fe(!1)},[t]);let[me,he]=Z.useState(null),[ge,_e]=Z.useState(0),ve=q(e=>{he(t=>t?.token===e?null:t)});if(m>ge){let e=Tz({historyAnchorToken:m,armedToken:ge,list:E.current?.getState()??null,committedEntryKeys:k.current});e&&(_e(e.armedToken),e.arm&&he({token:m,arm:e.arm,holding:!1}))}Z.useEffect(()=>{p&&he(null)},[p]),Z.useEffect(()=>{if(!me||me.holding)return;let{token:e}=me,t=window.setTimeout(()=>{he(t=>t?.token===e&&!t.holding?null:t)},Ez);return()=>window.clearTimeout(t)},[me]),Z.useLayoutEffect(()=>{let e=k.current;k.current=D,$z(e,D)&&(ae(e=>e+1),he(e=>e===null||e.holding?e:{...e,holding:!0}))},[D]),Z.useEffect(()=>{if(!ce)return;let e=window.setTimeout(()=>{se(ie)},tB);return()=>window.clearTimeout(e)},[ce,ie]),Z.useEffect(()=>{if(!me?.holding)return;let{token:e,arm:{anchor:t}}=me,n=E.current;if(!n||typeof window>`u`){ve(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&&ve(e)}},d=()=>{if(s=null,c)return;let e=n.getState();if(Xz(e)??e.isAtEnd){u(!0);return}let r=Date.now(),l=kz({drift:Oz(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=Dz(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)}},[ve,me]);let ye=ce||me!==null;Z.useLayoutEffect(()=>{let e=M.current;if(!(!e||!ye))return e.setAttribute(eB,`true`),()=>{e.removeAttribute(eB)}},[ye]);let be=Z.useMemo(()=>{if(me===null)return{data:!0,size:ce};let{knownKeys:e}=me.arm;return{data:!0,size:!0,shouldRestorePosition:t=>e.has(t.key)}},[me,ce]),[xe,Se]=Z.useState(()=>rz(D,{restore:tz(t)??null})),Ce=Z.useRef(xe);Ce.current=xe;let we=Z.useRef(0),Te=Z.useRef(0),Ee=Z.useRef(null),De=Z.useRef(!1),Oe=Z.useRef(null),ke=Z.useMemo(()=>iz(xe,D),[xe,D]),Ae=gz(C,Sz({scopeKey:t,generation:h,root:N,relevantKeys:Z.useMemo(()=>dz({entryKeys:D}),[t,h,D.length,D[D.length-1]]),enabled:D.length>0,initiallyRevealed:g}));Z.useEffect(()=>{Se(e=>sz(e,D))},[D]),Z.useEffect(()=>()=>{nz(t,Ce.current)},[t]);let je=q(()=>{De.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()-we.current>=oB,d=A.current,f=d.resolvePreloadEntries(l),p=oz({entryKeys:t,mountedIndexes:o,visibleStartIndex:s,visibleEndIndex:c,scrollDirection:Ee.current,preloadEntries:f,hydratedKeys:Ce.current,allowVisibleRelease:u,preloadReleaseLimit:u?f:d.resolvePreloadReleaseWhileScrolling(),visibleReleaseLimit:d.resolveVisibleReleaseLimit()});p.length!==0&&(Ne(),Z.startTransition(()=>{Se(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})}))}),Me=q(()=>{De.current||(De.current=!0,Ku(je))}),Ne=q(()=>{typeof window>`u`||(Oe.current!==null&&window.clearTimeout(Oe.current),Oe.current=window.setTimeout(()=>{Oe.current=null,Me()},sB))});Z.useEffect(()=>()=>{Oe.current!==null&&(window.clearTimeout(Oe.current),Oe.current=null)},[]);let Pe=q(()=>{Me()}),Fe=q(()=>{we.current=Date.now();let e=E.current;if(e){let t=e.getState(),n=t.scroll;Number.isFinite(n)&&n!==Te.current&&(Ee.current=n>Te.current?`forward`:`backward`,Te.current=n);let r=hB(M.current,t.scrollLength);r>0&&I(e=>e===r?e:r);let i=mB($e.current,Be.current,t,B.current,tt.current);Hz(M.current,i);let a=i===null?null:zz({scroll:t.scroll,parkOffset:i}),o=a??Zz(t),s=a===null?Xz(t)??t.isAtEnd:a<=40,c=Qz(o,ue.current);(s!==le.current||c!==ue.current)&&(le.current=s,ue.current=c,v?.(s,c)),s&&!pe.current&&(pe.current=!0,fe(!0))}y?.(),W(),Me(),Ne()}),Ie=Z.useRef(i);Ie.current=i;let[Le,Re]=Z.useState(null),ze=Z.useRef(null),Be=Z.useRef(!1),Ve=Z.useRef(null),He=Z.useRef(null),Ue=Z.useRef(0),We=Z.useRef(0),Ge=Z.useRef(null),Ke=q((e,t)=>{let n=E.current,r=n?.getState().sizes.get(e);if(n&&iB(r,t.height)!==null&&n.setItemSize(e,t),Be.current||e!==He.current)return;let i=Ve.current;if(i===null)return;let{snapshot:a,release:o}=qz({previous:ze.current,reserveId:i,entryKey:e,contentHeight:t.height,usableViewportHeight:Ue.current,viewportHeight:We.current});if(o){Re(null),ft(i),pt(`reveal`);return}let s=ze.current;(s?.spacerHeight!==a.spacerHeight||s?.contentHeight!==a.contentHeight||s?.entryKey!==a.entryKey||s?.reserveId!==a.reserveId)&&Re(a),Ge.current!==i&&pt(`park`)&&(Ge.current=i)}),qe=Z.useRef(Ke);qe.current=Ke;let Je=Z.useMemo(()=>bz(e=>{for(let[t,n]of e){let e=t instanceof HTMLElement?t.dataset.turnEntry:void 0;e&&n.height>0&&qe.current(e,n)}}),[]),Ye=Z.useRef(Je);Ye.current=Je,Z.useEffect(()=>()=>{Je.disconnect()},[Je]);let Xe=Z.useMemo(()=>({item:e,index:t})=>fB(e)?(0,$.jsx)(`div`,{"data-oc-reply-reserve":`true`,"aria-hidden":`true`,style:{height:e.spacerHeight,flexShrink:0}}):(0,$.jsx)(yB,{entry:e,index:t,renderEntryRef:Ie,sizeObserverRef:Ye}),[]),Ze=Z.useRef(p);Ze.current=p;let Qe=Z.useRef(me);Qe.current=me;let $e=Z.useRef(d);$e.current=d;let et=Z.useRef(0),tt=Z.useRef(16),nt=Z.useRef(null),[rt,it]=Z.useState(null),at=d?e[d.anchorIndex]?.key??null:null,ot=d?.anchorId??at,st=ot!==null&&rt===ot;d||(Ge.current=null,et.current=0);let ct=F>0?F:hB(M.current,E.current?.getState()?.scrollLength),lt=Fz(L),ut=Iz({viewportHeight:ct,endInsetHeight:z,anchorOffset:lt}),dt=Le;if(!ot||!at||st)Le!==null&&Re(null),dt=null;else if(ut<=0)dt=Le!==null&&Le.reserveId===ot&&Le.entryKey===at?Le:null;else if(Le===null||Le.reserveId!==ot||Le.entryKey!==at){let{snapshot:e}=qz({previous:Le?.reserveId===ot?Le:null,reserveId:ot,entryKey:at,contentHeight:Le?.reserveId===ot?Le.contentHeight:null,usableViewportHeight:ut,viewportHeight:ct});Re(e),dt=e}ze.current=dt,Be.current=st,Ve.current=ot,He.current=at,Ue.current=ut,We.current=ct,tt.current=lt,Z.useLayoutEffect(()=>{Ge.current=null,et.current=0,nt.current=null,it(null)},[t]),Z.useLayoutEffect(()=>{d&&re()},[d]);let ft=q(e=>{e!==null&&nt.current!==e&&(nt.current=e,it(e),f?.(e))}),pt=q(t=>{let n=$e.current;if(!n||Qe.current)return!1;let r=E.current;if(!r)return!1;let i=r.getState(),a=tt.current,o=Yz({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&&(et.current=t+cB),r.scrollToOffset({offset:e,animated:n}),!0}return Gz(o.turnHeight,Ue.current)&&ft(n.anchorId??e[n.anchorIndex]?.key??null),(typeof performance<`u`?performance.now():Date.now())<et.current||!Ze.current||o.scrollDeltaToRevealEnd<1?!1:(r.scrollToOffset({offset:o.targetScrollToRevealEnd,animated:!1}),!0)});Z.useLayoutEffect(()=>{if(!ot||!at||st||ut<=0)return;let e=ze.current;if(e===null||e.reserveId!==ot||e.entryKey!==at)return;let{snapshot:t,release:n}=qz({previous:e,reserveId:ot,entryKey:at,contentHeight:e.contentHeight,usableViewportHeight:ut,viewportHeight:ct});if(n){Re(null),ft(ot),pt(`reveal`);return}t.spacerHeight!==e.spacerHeight&&Re(t)},[at,st,ot,ct,ut]),Z.useLayoutEffect(()=>{!dt||me||Ge.current!==ot&&pt(`park`)&&(Ge.current=ot)},[dt,me,ot]),Z.useLayoutEffect(()=>{let e=M.current,t=E.current;if(e){if(!t){Hz(e,null);return}Hz(e,mB(d,st,t.getState(),z,lt))}},[d,z,lt,st]);let mt=Z.useMemo(()=>{let t=dt?.spacerHeight??0;return!dt||t<=0?e:[...e,{key:`${dB}:${dt.reserveId}`,kind:dB,spacerHeight:t}]},[dt,e]),ht=Z.useMemo(()=>d&&!st||!p||me?!1:{animated:_&&de,on:{dataChange:!0,itemLayout:!0,layout:!0,footerLayout:!0}},[d,de,p,me,st,_]);return(0,$.jsx)(uB.Provider,{value:ke,children:(0,$.jsx)(Bd,{ref:j,refScrollView:ne,data:mt,extraData:a,keyExtractor:gB,getItemType:_B,getFixedItemSize:pB,renderItem:Xe,estimatedItemSize:n,initialScrollAtEnd:!0,recycleItems:!1,maintainScrollAtEnd:ht,maintainVisibleContentPosition:be,onScroll:Fe,onViewableItemsChanged:Pe,viewabilityConfig:aB,ListHeaderComponent:ee,ListFooterComponent:H,className:S,style:Ae,contentContainerClassName:w,contentContainerStyle:T})})}),xB=e=>{let t=e.info,n=t.time?.completed,r=t.status;return typeof n!=`number`||n<=0?!1:typeof r!=`string`||r===`completed`},SB=(e,t)=>{if(e.length===0)return[];if(e.filter(xB).length===e.length)return e;if(t){let n=e.findIndex(e=>e.info.id===t);if(n>=0)return e.slice(0,n+1)}return e},CB=e=>{if(e.chatRenderMode!==`sorted`)return null;let t=e.streamingAssistantMessageId;if(!t)return null;let n=e.assistants.find(e=>e.info.id===t);if(!n)return null;let r=n.info,i=ZM({finish:r.finish,isMessageCompleted:xB(n),activeStreamingPhase:e.activeStreamingPhase});return QM({finish:r.finish,parts:n.parts,streamPhase:i,error:r.error,isLastAssistantInTurn:!0})?t:null},wB=(e,t)=>{if(!t)return e;let n=e.filter(e=>e.kind!==`justification`||e.messageId!==t);return n.length===e.length?e:n},TB=(e,t)=>{if(!t)return e;let n=!1,r=e.map(e=>{let r=wB(e.parts,t);return r===e.parts?e:(n=!0,{...e,parts:r})});return n?r:e},EB=e=>e.isActivelyProcessing||e.expansionDisposition===`active`?!0:mI(e.expansionDisposition,e.activityRenderMode,{isLastTurn:e.isLastTurn,hasConfirmedFinalBody:e.hasConfirmedFinalBody}),DB=5,OB=16,kB=(e,t)=>e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e===t[n]),AB=320,jB=168,MB=8,NB=16,PB=6,FB=12,IB=4,LB=1,RB=2,zB=6,BB=4,VB=()=>ei()?NB:MB,HB=30,UB=180,WB=80,GB=160,KB=1500,qB=1.5,JB=90,YB=(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},XB=(e=>{let t=new Map;return{read:(e,n)=>{let r=t.get(e);if(r){if(kB(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)}}}})(OB),ZB=(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})},QB=(e,t)=>({sessionKey:e,virtualizerKey:t??e}),$B=e=>e===`collapsed`?jB:AB,eV=(e,t)=>`${e}::activity:${t}`,tV=(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{paddingTop:r,paddingBottom:Math.max(0,a-i),minHeight:a}},rV=(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`?FB:PB,Math.max(0,Math.floor(t))),aV=e=>e===`collapsed`?RB:LB,oV=e=>e===`collapsed`?BB:zB,sV=(e,t)=>{e.current=t},cV=(e,t)=>XB.read(e,t),lV=(e,t,n)=>{!n||t.length===0||XB.write(e,t,n.takeSnapshot())},uV=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},dV=(e,t)=>{if(uV(e)!==`system`)return e;let n=mV(e);return!n||!t.has(n)||e.info.clientRole===`assistant`?e:{...e,info:{...e.info,clientRole:`assistant`}}},fV=e=>!e||uV(e)!==`user`?!1:e.parts.some(e=>e?.type===`subtask`),pV=e=>{if(!e)return null;let t=e.info.id;return typeof t==`string`&&t.trim().length>0?t:null},mV=e=>{let t=e.info.parentID;return typeof t==`string`&&t.trim().length>0?t:null},hV=(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},gV=(e,t)=>Array.from(e.querySelectorAll(`[data-message-id]`)).find(e=>e.dataset.messageId===t)??null,_V=(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&&!hV(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}},vV=(e,t)=>{let n=_V(t,e);if(!n)return null;let r=gV(e,n.messageId)?.closest(`[data-turn-entry]`)?.dataset.turnEntry;return r?{...n,entryKey:r,attempts:0}:null},yV=e=>{let t=e,n=t.state?.metadata,r=DO(n)??null;if(r)return r;let i=t.state?.output;return typeof i==`string`?jO(i)??null:null},bV=e=>{if(uV(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:yV(e.parts[0])}},xV=(e,t)=>{if(!t)return e;let n=OO(e.parts,t);return n===e.parts?e:{...e,parts:n}},SV=(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}},CV=e=>e.kind===`turn`?e.turn.userMessage.info.id:uV(e.message)===`user`?e.message.info.id:null,wV=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,TV=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=qb(),_;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)(HI,{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)(Kb.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 kk(e.message,t.message)&&e.message.sourceSessionID===t.message.sourceSessionID&&e.message.sourceDirectory===t.message.sourceDirectory&&Ak(e.previousMessage,t.previousMessage)&&Ak(e.nextMessage,t.nextMessage)&&e.animateUserOnMount===t.animateUserOnMount&&e.onUserAnimationConsumed===t.onUserAnimationConsumed&&e.onContentChange===t.onContentChange&&e.scrollToBottom===t.scrollToBottom&&Rk(n,r,e.message.info.id,uV(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});TV.displayName=`MessageRow`;var EV=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=Z.useRef(null);g.current===e.turnId&&!t&&e.completionDisposition!==`active`?g.current=null:e.completionDisposition===`active`&&t&&n&&(g.current=e.turnId);let _=g.current===e.turnId,v=Z.useRef({turnId:e.turnId,shown:!1});v.current.turnId!==e.turnId&&(v.current={turnId:e.turnId,shown:!1});let y=i.get(e.turnId),b=gI({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,durationMs:e.durationMs}),x=EB({expansionDisposition:yI({isLastTurn:t,turnCompletionDisposition:e.completionDisposition,headerPresentationDisposition:b.completionDisposition,hasAssistantMessages:e.assistantMessages.length>0}),activityRenderMode:r,isLastTurn:t,isActivelyProcessing:t&&n,hasConfirmedFinalBody:e.hasConfirmedFinalBody}),S=y?y.isExpanded:x,C=q(()=>{a(e.turnId,x)}),w=Z.useMemo(()=>{let t=[e.userMessage,...e.assistantMessages],n=new Map;return t.forEach((e,t)=>{n.set(e.info.id,t)}),{ordered:t,lookup:n}},[e.assistantMessages,e.userMessage]),T=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(!xB(n))return n.info.id}return null},[p,e.assistantMessages]),E=Z.useMemo(()=>CB({chatRenderMode:o,assistants:e.assistantMessages,streamingAssistantMessageId:T,activeStreamingPhase:m}),[m,o,T,e.assistantMessages]),D=Z.useMemo(()=>o===`live`?e.assistantMessages:SB(e.assistantMessages,T),[o,T,e.assistantMessages]),O=Z.useMemo(()=>{let e=new Map;return D.forEach((t,n)=>{e.set(t.info.id,n)}),e},[D]),k=Z.useMemo(()=>new Set(D.map(e=>e.info.id)),[D]),A=Z.useMemo(()=>D[0]?.info.id,[D]),j=Z.useMemo(()=>o===`sorted`?wB(k.size===e.assistantMessages.length?e.activityParts:e.activityParts.filter(e=>k.has(e.messageId)),E):e.activityParts,[o,E,k,e.activityParts,e.assistantMessages.length]),M=Z.useMemo(()=>o===`sorted`?E?TB(e.activitySegments,E):k.size===e.assistantMessages.length?e.activitySegments:e.activitySegments.map(e=>{let t=e.parts.filter(e=>k.has(e.messageId));if(t.length===0)return null;let n=k.has(e.anchorMessageId)?e.anchorMessageId:t[0]?.messageId;return n?{...e,anchorMessageId:n,parts:t}:null}).filter(e=>e!==null):e.activitySegments,[o,E,k,e.activitySegments,e.assistantMessages.length]),N=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:QN(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:j,activityGroupSegments:M,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,j,M]),P=GR((r,i)=>{let a=uV(r)===`user`,u=w.lookup.get(r.info.id),p=O.get(r.info.id)??-1,g=p>=0,_=p===0,v=p===D.length-1,y=!!A&&r.info.id===A,b=M.some(e=>e.anchorMessageId===r.info.id),x=o===`sorted`?g:y||_||v,S=D[0]?.info.id??e.headerMessageId,E=a?void 0:g?_?e.userMessage:void 0:typeof u==`number`&&u>0?w.ordered[u-1]:void 0,k=gI({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,durationMs:e.durationMs}),j=g?{turnId:e.turnId,activityOwnerMessageId:A,isFirstAssistantInTurn:_,isLastAssistantInTurn:v,isLatestTurn:t,isWorking:(t||e.completionDisposition===`active`)&&n&&(o===`sorted`?b:r.info.id===T),isTurnSettled:_I({completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n,hasConfirmedSettledAssistant:e.hasConfirmedFinalBody}),hasTools:e.hasTools,hasReasoning:e.hasReasoning,completionDisposition:k.completionDisposition,activityPresentationKind:e.activityPresentationKind,durationMs:k.durationMs,assistantTps:N.assistantTps,...x?{summaryBody:N.summaryBody,activityParts:N.activityParts,activityGroupSegments:N.activityGroupSegments,headerMessageId:N.headerMessageId,diffStats:N.diffStats,changedFiles:N.changedFiles,userMessageCreatedAt:N.userMessageCreatedAt,userMessageVariant:N.userMessageVariant,isGroupExpanded:i,toggleGroup:C}:{}}:void 0;return(0,$.jsx)(TV,{message:r,previousMessage:E,nextMessage:void 0,turnGroupingContext:j,assistantHeaderMessageId:S,turnOwnsAssistantHeader:g,isInActiveTurn:!!T&&r.info.id===T,activeStreamingPhase:r.info.id===T?m:null,reviewTransferDirection:h,animateUserOnMount:d(r),onUserAnimationConsumed:f,onContentChange:s,animationHandlers:c(r.info.id),scrollToBottom:l},r.info.id)}),F=Z.useMemo(()=>D===e.assistantMessages?e:{...e,assistantMessages:D},[e,D]),I=Z.useMemo(()=>((pI({isLastTurn:t,sessionIsWorking:n,hasAssistantMessages:e.assistantMessages.length>0,activityPresentationKind:e.activityPresentationKind,hasActiveStreamingMessage:!!p})||e.assistantMessages.length>0)&&(v.current.shown=!0),!v.current.shown||e.activityPresentationKind===`compaction`?null:fI(lI(e.userMessage.info))),[p,t,n,e.activityPresentationKind,e.assistantMessages.length,e.userMessage.info]);return(0,$.jsx)(PL,{turn:F,showSessionError:t,activityExpanded:S,onToggleActivity:C,showCompactionStatus:wV({chatRenderMode:o,activityPresentationKind:e.activityPresentationKind,hasVisibleActivitySegments:M.length>0,hasAssistantMessages:e.assistantMessages.length>0,completionDisposition:e.completionDisposition,isLastTurn:t,sessionIsWorking:n}),pendingAssistantHeader:I,assistantHeaderMessage:D[0],assistantHeaderIsInActiveTurn:D[0]?.info.id===T,preserveActiveTurnGap:_,stickyUserHeader:u,renderMessage:P})});EV.displayName=`TurnBlock`;var DV=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}=Vn();if(GD(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)(TV,{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});DV.displayName=`UngroupedMessageRow`;var OV=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)(DV,{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)(EV,{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)(gL,{})}),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});OV.displayName=`MessageListEntry`;var kV=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=n===`tanstack`,y=Z.useRef(n),b=Z.useRef(null),[x,S]=Z.useReducer(e=>e+1,0);if(n===`none`)b.current=null;else if(y.current===`none`&&v&&b.current===null){let e=r.current,t=i?.current;e&&t&&(b.current=vV(e,t))}let C=Z.useRef(!1),w=Z.useRef(0),T=Z.useRef(null),E=v&&ei();Z.useEffect(()=>{if(!E)return;let e=i?.current;if(!e)return;let t=()=>{C.current=!0},n=()=>{C.current=!1},r=()=>{w.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)}},[E,i]);let D=()=>C.current||performance.now()-w.current<GB,O=()=>{let e=i?.current;return!e||e.scrollTop<e.clientHeight*qB},[k,A]=Z.useState(e),j=k;e===k?T.current!==null&&(T.current=null):E&&YB(k,e)&&D()&&!O()&&(T.current===null||performance.now()-T.current<KB)?T.current===null&&(T.current=performance.now()):(T.current=null,A(e),j=e);let[,M]=Z.useReducer(e=>e+1,0);Mn(()=>{if(T.current===null)return;let e=performance.now()-T.current>=KB;(!D()||O()||e)&&M()},E?JB:null);let N=Z.useRef(j);N.current=j;let P=Z.useMemo(()=>j.map(e=>e.key),[j]),F=VB(),[I,L]=Z.useState(()=>JR(F));Z.useEffect(()=>{if(!(!v||I>=F))return Ku(()=>{Z.startTransition(()=>{L(e=>YR(e,F))})})},[I,v,F]);let R=eV(o,d),[z]=Z.useState(()=>v?cV(R,e.map(e=>e.key)):void 0),B=Z.useRef(null),V=Z.useRef(null),ee=Z.useRef(t);if(ee.current!==t){ee.current=t;let e=i?.current,n=B.current??r.current;V.current=e&&n?_V(e,n):null}let H=q(()=>{V.current=null});Ln(`wheel`,H,void 0,{passive:!0,capture:!0}),Ln(`touchstart`,H,void 0,{passive:!0,capture:!0}),Ln(`pointerdown`,H,void 0,{passive:!0,capture:!0}),Ln(`click`,H,void 0,{capture:!0}),Ln(`keydown`,H,void 0,{capture:!0});let U=q(()=>{let e=V.current,t=i?.current;if(!e||!t)return;let n=gV(t,e.messageId);if(!n)return;let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(r)>.5&&(t.scrollTop+=r)}),te=$B(d),W=Z.useRef(te),ne=Z.useRef(d);ne.current!==d&&(ne.current=d,W.current=te);let re=Z.useRef(v),ie=Z.useRef(new Map),ae=Z.useRef(void 0);Z.useLayoutEffect(()=>{if(v)return;let e=r?.current;if(!e)return;let t=ie.current;t.clear(),e.querySelectorAll(`[data-turn-entry]`).forEach(e=>{let n=e.dataset.turnEntry;n&&t.set(n,e.getBoundingClientRect().height)}),ae.current=void 0}),v&&ae.current===void 0&&(ae.current=z??ZB(P,ie.current,W.current));let oe=Ld({count:j.length,enabled:v,getScrollElement:()=>i?.current??null,estimateSize:()=>W.current,overscan:I,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)=>{rV(B.current,n.getTotalSize()),Id(e,t,n)},getItemKey:e=>N.current[e]?.key??`index:${e}`,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:WB,initialOffset:()=>re.current?2**53-1:i?.current?.scrollTop??0,initialMeasurementsCache:ae.current});In(()=>{if(v)return xz(oe,U)},[v,oe]);let se=Z.useRef(null),ce=Z.useRef(null);v||(se.current=null);let le=q(()=>{if(!v)return;let e=B.current??i?.current;if(!e)return;let t=e.offsetWidth;if(!tV(se.current,t)){se.current===null&&t>0&&(se.current=t);return}se.current=t,ce.current!==null&&clearTimeout(ce.current),ce.current=setTimeout(()=>{ce.current=null,oe.measure()},220)}),ue=v&&typeof ResizeObserver<`u`;Nn(ue?B:null,le),Nn(ue&&i?i:null,le),Fn(()=>{ce.current!==null&&(clearTimeout(ce.current),ce.current=null)}),In(()=>{v&&le()},[v]),In(()=>{if(y.current=n,!v){b.current=null;return}let e=b.current,t=i?.current;if(!e||!t)return;let r=gV(t,e.messageId);if(r){let n=r.getBoundingClientRect().top-t.getBoundingClientRect().top-e.offsetTop;Math.abs(n)>.5&&(t.scrollTop+=n),b.current=null;return}let a=P.indexOf(e.entryKey);if(a<0||e.attempts>=1){b.current=null;return}e.attempts+=1,oe.scrollToIndex(a,{align:`start`}),S()},[n,P,v,oe,x]);let de=oe.getVirtualItems(),fe=de.map(e=>e.index),[pe,me]=Z.useState(()=>rz(P,{seedCount:iV(d),restore:tz(R)})),he=iz(pe,P);he!==pe&&me(he);let ge=Z.useRef(he);ge.current=he;let _e=Z.useRef(null);oe.scrollDirection&&(_e.current=oe.scrollDirection);let ve=oe.range?.startIndex??de[0]?.index??Math.max(0,j.length-1),ye=oe.range?.endIndex??de[de.length-1]?.index??Math.max(0,j.length-1),be=oe.isScrolling,xe=Math.max(0,ye-ve+1),Se=oz({entryKeys:P,mountedIndexes:fe,visibleStartIndex:ve,visibleEndIndex:ye,scrollDirection:_e.current,preloadEntries:iV(d,xe),hydratedKeys:he,allowVisibleRelease:!be,preloadReleaseLimit:be?aV(d):IB,visibleReleaseLimit:be?0:oV(d)}),Ce=Se.join(`\0`),we=Z.useRef(Se);we.current=Se,Z.useEffect(()=>{if(!(!v||!Ce))return Ku(()=>{Z.startTransition(()=>{me(e=>{let t=null;for(let n of we.current)e.has(n)||(t??=new Set(e),t.add(n));return t??e})})})},[v,Ce]),Z.useEffect(()=>{me(e=>sz(e,P))},[P]),Z.useEffect(()=>{if(v)return a?.(oe),()=>{lV(R,N.current.map(e=>e.key),oe),nz(R,ge.current),a?.(null)}},[v,oe,R]);let Te=GR((e,t=!0)=>(0,$.jsx)(ZR,{enabled:t,children:(0,$.jsx)(OV,{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(n===`none`)return(0,$.jsx)(`div`,{ref:r,className:`relative w-full`,children:j.map(e=>(0,$.jsx)(`div`,{"data-turn-entry":e.key,className:`oc-chat-message-layout-boundary`,children:Te(e)},e.key))});if(n===`tanstack`){let e=nV(de[0]?.start??0,de[de.length-1]?.end??0,oe.getTotalSize());return(0,$.jsx)(`div`,{ref:B,className:`relative w-full`,style:{minHeight:e.minHeight},children:(0,$.jsx)(`div`,{style:{paddingTop:e.paddingTop,paddingBottom:e.paddingBottom},children:de.map(e=>{let t=j[e.index];return t?(0,$.jsx)(`div`,{"data-index":e.index,ref:oe.measureElement,"data-turn-entry":t.key,className:`oc-chat-message-layout-boundary`,children:Te(t,he.has(t.key))},t.key):null})})})}return null});kV.displayName=`StaticHistoryList`;var AV=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)(OV,{...e})}),t[0]=e,t[1]=n),n});AV.displayName=`TailEntry`;var jV=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=Fa(_??``,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=zR(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)(AV,{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};jV.displayName=`StreamingTailContent`;var MV=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,ee=G(FV),H=n.length,U=r.length>0?r[r.length-1]:void 0,te=U?.key??null,W=Fa(S??``,a,o??void 0),ne;bb0:{if(!U){ne=r;break bb0}let e=v===`sorted`,n;t[0]!==S||t[1]!==W||t[2]!==U||t[3]!==y||t[4]!==e?(n=zR(U,{activeStreamingMessageId:S,liveParts:W,showTextJustificationActivity:e,showTurnChangedFiles:y}),t[0]=S,t[1]=W,t[2]=U,t[3]=y,t[4]=e,t[5]=n):n=t[5];let i=n;if(i===U){ne=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],ne=a}let re=ne,ie;t[9]!==n||t[10]!==re?(ie=re.length>0?[...n,...re]:n,t[9]=n,t[10]=re,t[11]=ie):ie=t[11];let ae=ie,oe;t[12]!==ae||t[13]!==V?(oe=nB(ae,V,CV,{anchorOffset:16}),t[12]=ae,t[13]=V,t[14]=oe):oe=t[14];let se=oe,ce;t[15]===h?ce=t[16]:(ce={resolvePreloadEntries:e=>iV(h,e),resolvePreloadReleaseWhileScrolling:()=>aV(h),resolveVisibleReleaseLimit:()=>oV(h)},t[15]=h,t[16]=ce);let le=ce,ue;t[17]!==S||t[18]!==C||t[19]!==h||t[20]!==v||t[21]!==H||t[22]!==te||t[23]!==w||t[24]!==m||t[25]!==y||t[26]!==p||t[27]!==g?(ue={historyCount:H,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]=H,t[22]=te,t[23]=w,t[24]=m,t[25]=y,t[26]=p,t[27]=g,t[28]=ue):ue=t[28];let de=ue,fe;t[29]!==S||t[30]!==C||t[31]!==h||t[32]!==v||t[33]!==d||t[34]!==H||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?(fe=(e,t,n)=>{let r=t>=H,i=te!==null&&e.key===te;return(0,$.jsx)(Zu,{disabled:!r,children:(0,$.jsx)(ZR,{enabled:n,children:(0,$.jsx)(OV,{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]=H,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]=fe):fe=t[46];let pe=GR(fe),me;t[47]===h?me=t[48]:(me=$B(h),t[47]=h,t[48]=me);let he=ee&&p,ge;return t[49]!==ae||t[50]!==se||t[51]!==R||t[52]!==E||t[53]!==T||t[54]!==M||t[55]!==le||t[56]!==B||t[57]!==ee||t[58]!==L||t[59]!==F||t[60]!==A||t[61]!==z||t[62]!==c||t[63]!==pe||t[64]!==de||t[65]!==D||t[66]!==k||t[67]!==s||t[68]!==O||t[69]!==m||t[70]!==me||t[71]!==he||t[72]!==i?(ge=(0,$.jsx)(XR,{enabled:!0,children:(0,$.jsx)(bB,{entries:ae,timelineCacheKey:i,estimatedItemSize:me,hydrationTuning:le,renderEntry:pe,rowInvalidationKey:de,scrollElementRef:s,registerList:c,followEnabled:R,historyAnchorToken:M,pinRevealGeneration:z,initialPinRevealComplete:B,anchoredEndSpace:se,onAnchoredTurnParkReleased:L,sessionIsWorking:m,header:T,footer:E,className:D,style:O,scrollElementDataset:k,hideTopScrollShadow:he,hideBottomScrollShadow:ee,onScroll:A,onIsAtEndChange:F})}),t[49]=ae,t[50]=se,t[51]=R,t[52]=E,t[53]=T,t[54]=M,t[55]=le,t[56]=B,t[57]=ee,t[58]=L,t[59]=F,t[60]=A,t[61]=z,t[62]=c,t[63]=pe,t[64]=de,t[65]=D,t[66]=k,t[67]=s,t[68]=O,t[69]=m,t[70]=me,t[71]=he,t[72]=i,t[73]=ge):ge=t[73],ge};MV.displayName=`LegendTimelineHost`;var NV=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)=>{Ut(`ui.message_list.render`);let{sessionKey:T,virtualizerKey:E}=QB(e,t),D=G(e=>e.stickyUserHeader),O=G(e=>e.chatRenderMode),k=G(e=>e.activityRenderMode),A=G(e=>e.showTurnChangedFiles),j=Mo(e=>e.reviewTransferBySessionId.get(T)??null),[M,N]=Z.useState(()=>new Map),P=Z.useRef({sessionKey:void 0,previousOrder:[],animatedIds:new Set}),[F,I]=Z.useState(null),L=Z.useRef(null);L.current=F;let R=q(t=>{ir(e),L.current===t&&I(null)});In(()=>{if(S)return()=>{queueMicrotask(()=>{ir(e)})}},[S,e]);let z=q(c),B=q(()=>{l?.()}),V=q((e,t)=>{N(n=>{let r=new Map(n),i=n.get(e)?.isExpanded??t;return r.set(e,{isExpanded:hI(i)}),r})}),ee=Z.useMemo(()=>it(`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(ZI(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&&iI(t.info))continue;let n=dV(t,a);qI(t)&&a.add(t.info.id);let s=i.length>0?i[i.length-1]:void 0;if(fV(s)){let e=bV(n);if(e.hide){i[i.length-1]=xV(s,e.taskSessionId);continue}}if(SI(s)){let e=wI(n,pV(s));if(e.hide){i[i.length-1]=SV(s,e.details);continue}}i.push(n)}return i}),[n]),H=Z.useRef(null),U=Z.useRef(null),te=Z.useCallback(()=>{let e=U.current;e&&(U.current=null,e.cancel())},[]);Z.useEffect(()=>()=>{te()},[te]);let W=q(()=>u?.current?u.current:typeof document>`u`?null:document.querySelector(`[data-scrollbar="chat"]`)),ne=Z.useMemo(()=>it(`ui.message_list.retry_overlay_ms`,()=>LR(ee,{sessionId:o?.sessionId??null,message:o?.message??`Quota limit reached. Retrying automatically.`,confirmedAt:o?.confirmedAt,fallbackTimestamp:o?.fallbackTimestamp??0})),[ee,o]),re=r||!!i,ie=Z.useRef(re),ae=Z.useRef(T);ae.current!==T&&(ae.current=T,ie.current=!1),re&&(ie.current=!0);let{projection:oe,streamingTurns:se}=FR(ne,{sessionKey:T,showTextJustificationActivity:O===`sorted`,showTurnChangedFiles:A,hasLiveTail:re||ie.current,liveTailActive:re}),ce=Z.useMemo(()=>it(`ui.message_list.render_entries_ms`,()=>WR({messages:ne,turns:oe.turns,streamingTurns:se,ungroupedMessageIds:oe.ungroupedMessageIds,lastTurnId:oe.lastTurnId})),[ne,oe.lastTurnId,oe.turns,oe.ungroupedMessageIds,se]),le=ce.history,ue=ce.tail,de=ue.length>0;de&&re&&Ut(`ui.message_list.render.streaming`);let fe=le,pe=fe.length>=DB,me=Z.useRef(pe);sV(me,pe);let he=pe?`tanstack`:`none`,ge=mu(e=>e.legendTimelineEnabled),_e=Z.useRef(null),ve=q(e=>{_e.current=e}),ye=Z.useRef(null),be=q(e=>{ye.current=e}),xe=Z.useMemo(()=>ue.length>0?[...fe,...ue]:fe,[fe,ue]),[Se,Ce]=Z.useState(0),[we,Te]=Z.useState(null),Ee=eV(E,k),De=gz(void 0,Sz({scopeKey:Ee,generation:Se,root:we,relevantKeys:Z.useMemo(()=>dz({entryKeys:xe.map(e=>e.key),seedCount:iV(k)}),[Ee,Se,xe.length,xe[xe.length-1]?.key,k]),enabled:!ge&&xe.length>0,initiallyRevealed:C})),Oe=q(e=>{s(e)}),ke=q(e=>{s(e)}),Ae=Z.useMemo(()=>n.filter(e=>uV(e)===`user`).map(e=>e.info.id),[n]),je=P.current,Me=je.sessionKey!==e,Ne=je.previousOrder;Me&&(S&&je.sessionKey!==void 0&&ir(je.sessionKey),je.sessionKey=e,je.previousOrder=Ae,je.animatedIds=new Set);let Pe=S?Ei({sessionId:e,sessionChanged:Me,previousUserOrder:Ne,currentUserOrder:Ae,animatedIds:je.animatedIds}):null;je.previousOrder=Ae;let Fe=S?rB({sessionChanged:Me,previousUserOrder:Ne,currentUserOrder:Ae,currentAnchorId:F,consumedSendMessageId:Pe}):null;S&&Fe!==F&&I(Fe),S&&(L.current=Fe);let Ie=q(e=>uV(e)===`user`&&P.current.animatedIds.has(e.info.id)),Le=q(e=>{P.current.animatedIds.delete(e)}),Re=Z.useMemo(()=>{let e=new Map;return xe.forEach((t,n)=>{if(t.kind===`ungrouped`){e.set(t.message.info.id,n);return}e.set(t.turn.userMessage.info.id,n),t.turn.assistantMessages.forEach(t=>{e.set(t.info.id,n)})}),e},[xe]),ze=Z.useMemo(()=>{let e=new Map;return xe.forEach((t,n)=>{t.kind===`turn`&&e.set(t.turn.turnId,n)}),e},[xe]),Be=q(e=>{let t=W();return t?t.querySelector(`[data-message-id="${e}"]`):null}),Ve=q((e,t=`auto`)=>{if(e<0||e>=fe.length)return!1;if(ge){let n=_e.current;return n?(n.scrollToIndex({index:e,animated:t===`smooth`,viewOffset:0}),!0):!1}if(!pe)return!1;let n=ye.current;return n?(n.scrollToIndex(e,{align:`start`,behavior:t===`smooth`?`smooth`:`auto`}),!0):!1}),He=q((e,t=`auto`)=>{let n=W();if(!n)return!1;let r=Be(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=ze.get(e);if(r===void 0)return!1;let i=W();if(!i)return!1;let a=i.querySelector(`[data-turn-id="${e}"]`);return a?(a.scrollIntoView({behavior:n,block:`start`}),!0):de&&r>=fe.length?!1:Ve(r,n)},scrollToMessageId:(e,t)=>{let n=t?.behavior??`auto`,r=Re.get(e);return r===void 0?!1:He(e,n)||(de&&r>=fe.length?!1:Ve(r,n))},holdViewportAnchor:e=>{let t=W();if(!t||typeof window>`u`)return;te();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(),U.current?.cancel===s&&(U.current=null))},c=()=>{s()};U.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=Be(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>=HB||n>=UB){s();return}a=window.requestAnimationFrame(l)};a=window.requestAnimationFrame(l)},cancelViewportAnchorHold:te,isHistoryVirtualized:()=>ge?!0:me.current,captureViewportAnchor:()=>{let e=W();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`||!hV(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=W();if(!t||!Re.has(e.messageId))return!1;let n=()=>{let n=Be(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=ye.current;pe&&n?n.scrollToOffset(e,{behavior:`auto`}):t.scrollTop=e}return!0};if(!n()){let t=Re.get(e.messageId);if(typeof t==`number`&&t<fe.length)return Ve(t,`auto`)}return n()},scrollToBottom:()=>{if(Ce(e=>e+1),ge){let e=Vz(W());if(e!==null){_e.current?.scrollToOffset({offset:e,animated:!1});return}_e.current?.scrollToEnd({animated:!1});return}if(pe&&fe.length>0&&ye.current){ye.current.scrollToEnd();return}let e=W();e&&(e.scrollTop=e.scrollHeight)}};if(typeof w==`function`)return w(e),()=>{w(null)};let t=w;return t.current=e,()=>{t.current=null}},[te,fe.length,ge,Re,pe,de,ze,w]),ge?(0,$.jsx)(MV,{historyEntries:fe,tailEntries:ue,timelineCacheKey:eV(E,k),directory:d,sessionId:T,scrollRef:u,registerList:ve,onHistoryContentChange:Oe,onTailContentChange:ke,getAnimationHandlers:z,scrollToBottom:B,stickyUserHeader:D,sessionIsWorking:r,activityRenderMode:k,turnUiStates:M,onToggleTurnGroup:V,chatRenderMode:O,showTurnChangedFiles:A,shouldAnimateUserMessage:Ie,onUserAnimationConsumed:Le,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:j,header:f,footer:p,scrollClassName:h,scrollStyle:g,scrollDataset:_,onScroll:v,followEnabled:y,historyAnchorToken:b,pinRevealGeneration:Se,initialPinRevealComplete:C,onIsAtEndChange:x,anchoredUserMessageId:Fe,onAnchoredTurnParkReleased:R},E):(0,$.jsx)(`div`,{children:(0,$.jsx)(Zu,{disabled:!1,children:(0,$.jsxs)(`div`,{ref:Te,className:`relative w-full`,style:De,children:[(0,$.jsx)(Zu,{disabled:pe,children:(0,$.jsx)(XR,{enabled:!0,children:(0,$.jsx)(kV,{entries:fe,historyAnchorToken:b,engine:he,contentRef:H,scrollRef:u,registerTanstackVirtualizer:be,virtualizerKey:E,onMessageContentChange:Oe,getAnimationHandlers:z,scrollToBottom:B,stickyUserHeader:D,activityRenderMode:k,turnUiStates:M,onToggleTurnGroup:V,chatRenderMode:O,shouldAnimateUserMessage:Ie,onUserAnimationConsumed:Le,reviewTransferDirection:j},E)})}),(0,$.jsx)(jV,{entries:ue,directory:d,sessionId:T,onMessageContentChange:ke,getAnimationHandlers:z,scrollToBottom:B,stickyUserHeader:D,sessionIsWorking:r,activityRenderMode:k,turnUiStates:M,onToggleTurnGroup:V,chatRenderMode:O,showTurnChangedFiles:A,shouldAnimateUserMessage:Ie,onUserAnimationConsumed:Le,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:j}),m]})})})});NV.displayName=`MessageList`;var PV=Z.memo(NV);function FV(e){return e.isMobile}var IV=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},LV=({diff:e,filePath:t})=>{let{currentTheme:n}=_c(),r=Z.useMemo(()=>Ec(n),[n]),i=Z.useMemo(()=>_d(e),[e]),a=Lu(t||i[0]?.file)||`text`,o=Z.useMemo(()=>i.flatMap(e=>e.lines.map(e=>e.content)).join(`
6600
6600
  `),[i]),s=Dd(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:J(`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)(IV,{content:e.content,html:n})})]},t)})})]},n))})},RV=e=>{let t=(0,Q.c)(21),{content:n,filePath:r}=e,{currentTheme:i}=_c(),a;t[0]===i?a=t[1]:(a=Ec(i),t[0]=i,t[1]=a);let o=a,s;t[2]===n?s=t[3]:(s=n.split(`
6601
6601
  `),t[2]=n,t[3]=s);let c=s,l;t[4]===r?l=t[5]:(l=Lu(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=Dd(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)(IV,{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},zV=new Set([`id`,`identifier`,`title`,`name`]),BV=e=>typeof e==`object`&&!!e&&!Array.isArray(e),VV=e=>e.replace(/([A-Z])/g,` $1`).replace(/[_-]/g,` `).replace(/^./,e=>e.toUpperCase()),HV=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},UV=e=>{try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}},WV=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?`${VV(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)(WV,{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(BV(n)){let e;t[18]===n?e=t[19]:(e=HV(n),t[18]=n,t[19]=e);let a=e,o;t[20]===n?o=t[21]:(o=Object.entries(n).filter(KV),t[20]=n,t[21]=o);let s=o,c;t[22]!==a||t[23]!==r?(c=r?`${VV(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)(WV,{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?VV(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`&&UV(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:J(`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:VV(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});WV.displayName=`JsonSummaryValue`;var GV=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)(WV,{value:n,depth:0})}),t[0]=n,t[1]=r),r});GV.displayName=`JsonSummaryView`;function KV(e){let[t]=e;return!zV.has(t)}function qV(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=J(`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=J(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:J(`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`,onPointerDownCapture:c,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 JV={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`},YV={style:{whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflowWrap:`break-word`}},XV=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})},ZV=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},QV=e=>e===`filepath`||e===`file_path`?`filePath`:e===`parentDir`||e===`parent_dir`?`parentDirectory`:e,$V=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)(GV,{data:n})}),t[0]=n,t[1]=r),r},eH=({permission:e,onResponse:t})=>{let{t:n}=Vn(),r=G(e=>e.isMobile),[i,a]=Z.useState(!1),[o,s]=Z.useState(!1),c=Fi,l=Gi(),u=Y(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=ZV(p),y=Object.fromEntries(Object.entries(e.metadata).filter(([e])=>e!==`always`).map(([e,t])=>[QV(e),t]));return(0,$.jsx)(qV,{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:[XV(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)(Gn,{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)(Gn,{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)(Gn,{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:J(`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)(vd,{language:`bash`,code:e,style:JV,codeStyle:YV.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)(Fc,{outerClassName:`max-h-[60vh]`,className:`tool-output-surface p-1 rounded-xl border border-border/20 bg-transparent`,children:(0,$.jsx)(LV,{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)(Fc,{outerClassName:`max-h-[60vh]`,className:`tool-output-surface p-1 rounded-xl border border-border/20 bg-transparent`,children:(0,$.jsx)(RV,{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)(Fc,{outerClassName:`max-h-32`,className:`p-0`,children:(0,$.jsx)($V,{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)(Fc,{outerClassName:`max-h-32`,className:`p-0`,children:typeof a==`object`&&a?(0,$.jsx)($V,{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)(Fc,{outerClassName:`max-h-48`,className:`p-0`,children:(0,$.jsx)($V,{data:y})})]})})()]})})};function tH(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
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 rH=200;function iH(e){return Math.min(Math.max(e,40),rH)}var aH=`summary`,oH=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=q(m),g;t[1]===h?g=t[2]:(g=()=>{requestAnimationFrame(h)},t[1]=h,t[2]=g);let _=q(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=J(`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}),sH=({question:e})=>{let{t}=Vn(),n=Xr(e),r=Vi,i=Ir,a=G(e=>e.isMobile),o=Gi(),s=Y(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,u]=Z.useState(`0`),[d,f]=Z.useState(!1),p=d||n.claimed||n.pending===`delegate`||n.request?.state===`submitting`||n.request?.state===`uncertain`||n.request?.state===`settled`,[m,h]=Z.useState(!1),[g,_]=Z.useState({}),[v,y]=Z.useState({}),b=Z.useRef({}),[x,S]=Z.useState({}),C=Z.useMemo(()=>e.questions??[],[e.questions]),w=l===aH,T=w?-1:Math.max(0,Math.min(C.length-1,Number(l)||0)),E=w?null:C[T],D=Z.useMemo(()=>{if(w)return null;let e=E?.header?.trim();return e&&e.length>0?e:null},[E?.header,w]);Z.useEffect(()=>{u(`0`),_({}),y({}),b.current={},S({}),h(!1)},[e.id]);let O=Z.useMemo(()=>{let e=C.map((e,t)=>({value:String(t),label:e.header?.trim()||`Q${t+1}`}));return C.length>1&&e.push({value:aH,label:t(`chat.questionCard.summaryTab`)}),e},[C,t]),k=e=>{if(v[e])return(b.current[e]??``).trim()||t(`chat.questionCard.noAnswer`);let n=g[e]??[];return n.length>0?n.join(`, `):t(`chat.questionCard.noAnswer`)},A=!!E?.multiple,j=g[T]??[],M=!!v[T],N=Z.useMemo(()=>{let e=[];for(let t=0;t<C.length;t+=1){if(v[t]){x[t]||e.push(t);continue}(g[t]??[]).length===0&&e.push(t)}return e},[v,x,C.length,g]),P=Z.useMemo(()=>C.length!==0&&N.length===0,[C.length,N.length]),F=q(()=>{if(C.length===0||N.length===0)return;let e=w?-1:T;for(let t=1;t<=C.length;t+=1){let n=(e+t+C.length)%C.length;if(N.includes(n)){u(String(n));return}}u(String(N[0]))}),I=()=>{let e=[];for(let t=0;t<C.length;t+=1){if(v[t]){let n=(b.current[t]??``).trim();e.push(n?[n]:[]);continue}e.push(g[t]??[])}return e},L=q(e=>{E&&(y(e=>({...e,[T]:!1})),S(e=>e[T]?{...e,[T]:!1}:e),_(t=>{let n=t[T]??[];if(A){let r=n.includes(e)?n.filter(t=>t!==e):[...n,e];return{...t,[T]:r}}return{...t,[T]:[e]}}))}),R=q(()=>{y(e=>({...e,[T]:!0})),_(e=>({...e,[T]:[]}));let e=(b.current[T]??``).trim().length>0;S(t=>t[T]===e?t:{...t,[T]:e})}),z=q(e=>{b.current[T]=e;let t=e.trim().length>0;S(e=>e[T]===t?e:{...e,[T]:t})}),B=q(async()=>{if(!P||p)return;let i=n.scope;f(!0);try{let t=I();await r(e.sessionID,e.id,t,n.request?.directory),h(!0)}catch(e){Mr(e)?await n.submissionClaimed(i):to(e)?(cr.info(t(`chat.questionCard.noLongerPending`)),h(!0)):cr.error(t(`chat.questionCard.submitFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{f(!1)}}),V=q(e=>{Hc(e)||e.key===`Enter`&&!e.shiftKey&&(!a||e.ctrlKey||e.metaKey)&&(e.preventDefault(),P?B():F())}),ee=q(async()=>{if(p)return;let r=n.scope;f(!0);try{await i(e.sessionID,e.id,n.request?.directory),h(!0)}catch(e){Mr(e)?await n.submissionClaimed(r):to(e)?(cr.info(t(`chat.questionCard.noLongerPending`)),h(!0)):cr.error(t(`chat.questionCard.dismissFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{f(!1)}}),H=q(async()=>{let n=tH(e);if((await Bn(n)).ok){cr.success(t(`chat.questionCard.copiedMarkdown`));return}cr.error(t(`chat.questionCard.copyFailed`))}),U=q(async()=>{let n=nH(e);if((await Bn(n)).ok){cr.success(t(`chat.questionCard.copiedJson`));return}cr.error(t(`chat.questionCard.copyFailed`))});return m||C.length===0?null:(0,$.jsxs)(qV,{mobile:a,questionCard:!0,onInteraction:n.interaction,header:(0,$.jsxs)(`div`,{className:J(`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,D?(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:D}):null,(0,$.jsxs)(`div`,{className:J(`flex items-center gap-0.5`,D?null:`ml-auto`),children:[(0,$.jsx)(`button`,{type:`button`,onClick:H,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:U,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`})})]})]}),afterBody:(0,$.jsx)(Gr,{delegation:n}),footer:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:P?B:F,disabled:p,className:J(`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:[P?(0,$.jsx)(X,{name:`check`,className:`h-3 w-3`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3`}),t(P?`chat.questionCard.submit`:`chat.questionCard.next`)]}),(0,$.jsxs)(`button`,{type:`button`,onClick:ee,disabled:p,className:J(`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`)]}),p?(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:[O.length>1?(0,$.jsx)(`div`,{className:`flex items-center gap-1 mb-2 flex-wrap`,children:O.map(e=>{let t=l===e.value,n=e.value===aH,r=n?-1:Number(e.value),i=!n&&Number.isFinite(r)&&!N.includes(r);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>u(e.value),className:J(`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,w?(0,$.jsx)(`div`,{className:`space-y-2`,children:C.map((e,n)=>{let r=k(n),i=r!==t(`chat.questionCard.noAnswer`);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>u(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:J(`typography-meta`,i?`text-foreground`:`text-muted-foreground/50 italic`),children:r})]},n)})}):E?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-foreground mb-1.5`,children:E.question}),A?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1.5`,children:t(`chat.questionCard.selectMultiple`)}):null,(0,$.jsxs)(`div`,{className:J(`space-y-0.5`,a&&`space-y-1`),children:[E.options.map((e,n)=>{let r=j.includes(e.label),i=/\(recommended\)/i.test(e.label);return(0,$.jsx)(`button`,{type:`button`,onClick:()=>L(e.label),disabled:p,"aria-pressed":r,className:J(`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,p?`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:A?(0,$.jsx)(`span`,{className:J(`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:J(`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:R,disabled:p,"aria-pressed":M,className:J(`w-full min-h-9 px-2 py-1.5 text-left rounded transition-colors`,`hover:bg-interactive-hover/30`,M?`bg-interactive-selection/20`:null,p?`opacity-60 cursor-not-allowed`:null),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`edit`,className:J(`h-3.5 w-3.5`,M?`text-primary`:`text-muted-foreground/50`)}),(0,$.jsx)(`span`,{className:J(`typography-meta`,M?`text-foreground font-medium`:`text-muted-foreground`),children:t(`chat.questionCard.other`)})]})}),M?(0,$.jsx)(`div`,{className:`pl-6 pr-1 pt-0.5`,children:(0,$.jsx)(oH,{value:b.current[T]??``,onValueChange:z,placeholder:t(`chat.questionCard.yourAnswer`),disabled:p,onKeyDown:V})}):null]})]}):null]})},cH=e=>e?e.toLowerCase().includes(`text/html`):!1;function lH(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function uH(e){return typeof e==`string`&&e.length>0?e:void 0}function dH(e,t,n){let r=n?`: ${n}`:``,i=Error(`${e} (${t})${r}`);throw i.status=t,i}async function fH(e){try{return(await e.text()).trim()}catch{return``}}async function pH(e,t){if(cH(e.headers.get(`content-type`)))throw Error(`${t}: unexpected HTML response`);if(e.status===204)return null;let n=await e.text();if(!n.trim()){if(e.ok)return null;throw Error(`${t}: empty response`)}try{return JSON.parse(n)}catch{throw Error(`${t}: malformed JSON`)}}function mH(e){return e?{directory:e}:{}}function hH(e){if(!lH(e))return null;let t=uH(e.value),n=uH(e.label);return!t||!n?null:{value:t,label:n,...uH(e.description)?{description:uH(e.description)}:{}}}function gH(e){if(!lH(e))return null;let t=uH(e.key),n=uH(e.type);if(!t||!n)return null;let r=uH(e.title),i=uH(e.description);if(n===`external`){let a=uH(e.url);return a?{key:t,type:n,url:a,...r?{title:r}:{},...i?{description:i}:{}}:null}if(n===`string`){let a=Array.isArray(e.options)?e.options.flatMap(e=>{let t=hH(e);return t?[t]:[]}):void 0;return{key:t,type:n,...r?{title:r}:{},...i?{description:i}:{},...typeof e.required==`boolean`?{required:e.required}:{},...uH(e.placeholder)?{placeholder:uH(e.placeholder)}:{},...typeof e.default==`string`?{default:e.default}:{},...a&&a.length>0?{options:a}:{},...typeof e.custom==`boolean`?{custom:e.custom}:{}}}if(n===`number`||n===`integer`)return{key:t,type:n,...r?{title:r}:{},...i?{description:i}:{},...typeof e.required==`boolean`?{required:e.required}:{},...typeof e.default==`number`?{default:e.default}:{}};if(n===`boolean`)return{key:t,type:n,...r?{title:r}:{},...i?{description:i}:{},...typeof e.required==`boolean`?{required:e.required}:{},...typeof e.default==`boolean`?{default:e.default}:{}};if(n===`multiselect`){let a=Array.isArray(e.options)?e.options.flatMap(e=>{let t=hH(e);return t?[t]:[]}):[];return a.length===0?null:{key:t,type:n,options:a,...r?{title:r}:{},...i?{description:i}:{},...typeof e.required==`boolean`?{required:e.required}:{},...Array.isArray(e.default)?{default:e.default.filter(e=>typeof e==`string`)}:{}}}return null}function _H(e){let t=lH(e)?e:null,n=t&&lH(t.data)?t.data:t&&lH(t.form)?t.form:t;if(!n)throw Error(`session form: expected form payload`);let r=uH(n.id),i=uH(n.sessionID),a=uH(n.title);if(!r||!r.startsWith(`frm_`)||!i||!a)throw Error(`session form: missing id, sessionID, or title`);let o=Array.isArray(n.fields)?n.fields.flatMap(e=>{let t=gH(e);return t?[t]:[]}):[];if(o.length===0)throw Error(`session form: expected fields`);return{id:r,sessionID:i,title:a,fields:o,...lH(n.metadata)?{metadata:n.metadata}:{}}}function vH(e){let t=lH(e)?e:null,n=t&&Array.isArray(t.data)?t.data:Array.isArray(e)?e:null;if(!n)throw Error(`session form: expected list payload`);return n.map(e=>_H(e))}function yH(e){return`/api/session/${encodeURIComponent(e)}/form`}function bH(e,t){return`/api/session/${encodeURIComponent(e)}/form/${encodeURIComponent(t)}/reply`}function xH(e,t){return`/api/session/${encodeURIComponent(e)}/form/${encodeURIComponent(t)}/cancel`}async function SH(e){let t=await f(yH(e.sessionID),{method:`GET`,query:mH(e.directory),signal:e.signal});return t.ok||dH(`session form list`,t.status,await fH(t)),vH(await pH(t,`session form list`))}async function CH(e){let t=await f(bH(e.sessionID,e.formID),{method:`POST`,headers:{"Content-Type":`application/json`},query:mH(e.directory),body:JSON.stringify({answer:e.answer}),signal:e.signal});t.ok||dH(`session form reply`,t.status,await fH(t))}async function wH(e){let t=await f(xH(e.sessionID,e.formID),{method:`POST`,query:mH(e.directory),signal:e.signal});t.ok||dH(`session form cancel`,t.status,await fH(t))}var TH=Ue((e,t)=>({forms:{},upsert:t=>e(e=>{let n=e.forms[t.sessionID]??[],r=n.findIndex(e=>e.id===t.id),i=r>=0?n.map((e,n)=>n===r?t:e):[...n,t];return{forms:{...e.forms,[t.sessionID]:i}}}),remove:(t,n)=>e(e=>{let r=e.forms[t];if(!r?.length)return e;let i=r.filter(e=>e.id!==n);if(i.length===r.length)return e;let a={...e.forms};return i.length>0?a[t]=i:delete a[t],{forms:a}}),replaceSession:(t,n)=>e(e=>({forms:{...e.forms,[t]:n}})),formsForSession:e=>t().forms[e]??[]}));async function EH(e){let t=(await SH(e)).filter(e=>!gt(e.metadata));TH.getState().replaceSession(e.sessionID,t)}function DH(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 OH=({form:e,directory:t})=>{let{t:n}=Vn(),r=G(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=DH(n);e!==void 0&&(t[n.key]=e)}return t}),u=(e,t)=>{l(n=>({...n,[e]:t}))},d=q(async()=>{if(!i){s(null),a(!0);try{await CH({sessionID:e.sessionID,formID:e.id,answer:c,directory:t}),TH.getState().remove(e.sessionID,e.id)}catch{s(`reply`)}finally{a(!1)}}}),f=q(async()=>{if(!i){s(null),a(!0);try{await wH({sessionID:e.sessionID,formID:e.id,directory:t}),TH.getState().remove(e.sessionID,e.id)}catch{s(`cancel`)}finally{a(!1)}}});return(0,$.jsxs)(qV,{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)(Gn,{type:`button`,variant:`default`,size:`sm`,onClick:()=>void d(),disabled:i,children:n(`chat.form.reply`)}),(0,$.jsx)(Gn,{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)(os,{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)(os,{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)(_s,{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)(Gn,{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)(_s,{"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)(_s,{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 kH(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function AH(e){return typeof e==`string`&&e.length>0?e:void 0}function jH(e){if(!kH(e))return null;let t=AH(e.reason),n=AH(e.provider),r=AH(e.title),i=AH(e.message),a=AH(e.label);return!t||!n||!r||!i||!a?null:{reason:t,provider:n,title:r,message:i,label:a,...AH(e.link)?{link:AH(e.link)}:{}}}function MH(e){return!kH(e)||e.type!==`retry`?!1:jH(e.action)!==null}function NH(e,t){if(!MH(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 PH(e){return e.filter(e=>e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
6603
- `)}function FH(e,t=80){let n=PH(e).replace(/\n/g,` `);return n.length>t?`${n.slice(0,t)}…`:n}var IH=160,LH=28,RH=12,zH=6,BH=30,VH=12,HH=18,UH=80,WH=4,GH=10,KH=14,qH=20,JH=54,YH=4,XH=8,ZH=2,QH=160,$H=(e,t)=>e.map(e=>({turnId:e,preview:FH(t.get(e)??[],IH)})),eU=[1,.6,.35,.15],tU=(e,t,n)=>{let r=n?KH:GH;if(t===null)return r;let i=eU[Math.abs(e-t)]??0;return Math.round(r+(qH-r)*i)};function nU({turnIds:e,previewsByTurnId:t,activeTurnId:n,onSelectTurn:r,canLoadEarlier:i,isLoadingOlder:a,onLoadEarlier:o}){let{t:s}=Vn(),c=G(e=>e.isPromptNavigatorPanelOpen),l=G(e=>e.setPromptNavigatorPanelOpen),u=Z.useRef(null),d=Z.useRef(null),[f,p]=Z.useState(null),[m,h]=Z.useState(0),[g,_]=Z.useState(!1);Z.useEffect(()=>{let e=d.current?.parentElement;if(!e||typeof ResizeObserver>`u`)return;let t=()=>{let t=e.querySelector(`.chat-message-column`);if(!t){_(!1);return}let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-zH-LH;_(r.right>i)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let v=Z.useMemo(()=>$H(e,t),[t,e]),y=Math.min(v.length,BH),b=Math.max(0,v.length-y),x=Math.min(m,b),S=x+y,C=x>0,w=S<v.length,T=s(`chat.timeline.noTextContent`),E=s(`chat.promptNavigator.currentPrompt`),D=s(`chat.promptNavigator.loadMore`),O=Z.useMemo(()=>n?v.findIndex(e=>e.turnId===n):-1,[n,v]),k=Z.useRef(x);k.current=x;let A=Z.useRef(v.length);A.current=v.length;let j=Z.useRef(null),M=Z.useRef(null),N=Z.useRef(0),P=Z.useCallback(e=>{h(t=>{let n=A.current,r=Math.min(n,BH),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})},[]),F=Z.useRef(v[0]?.turnId),I=Z.useRef(v.length);Z.useLayoutEffect(()=>{let e=F.current,t=I.current,n=v.length-t;n>0&&t>0&&e&&v[0]?.turnId!==e&&(h(e=>e+n),p(e=>e===null?null:e+n)),F.current=v[0]?.turnId,I.current=v.length},[v]),Z.useEffect(()=>{if(f!==null)return;let e=O>=0?O:v.length-1;h(()=>{let t=A.current,n=Math.min(t,BH),r=Math.max(0,t-n);return Math.max(0,Math.min(r,e-Math.floor(n/2)))})},[O,f,v.length]);let L=Z.useCallback(e=>{let t=u.current;if(!t)return null;let n=t.getBoundingClientRect(),r=Math.floor((e-n.top)/VH),i=Math.min(A.current,BH);return i===0?null:Math.max(0,Math.min(i-1,r))},[]),R=Z.useCallback(()=>{N.current=0,M.current!==null&&(window.clearInterval(M.current),M.current=null)},[]),z=Z.useCallback(()=>{let e=N.current;if(e===0){R();return}let t=A.current,n=Math.max(0,t-Math.min(t,BH)),r=Math.min(k.current,n),i=Math.max(0,Math.min(n,r+e));if(i===r){R();return}k.current=i,h(i);let a=j.current;if(a!==null){let e=L(a);e!==null&&p(Math.min(t-1,i+e))}},[L,R]),B=Z.useCallback(e=>{let t=u.current;if(!t)return;let n=t.getBoundingClientRect(),r=e-n.top,i=0;if(r<=HH&&C?i=-1:r>=n.height-HH&&w&&(i=1),N.current=i,i===0){R();return}M.current===null&&(M.current=window.setInterval(z,UH))},[z,C,w,R]);Z.useEffect(()=>()=>{M.current!==null&&window.clearInterval(M.current)},[]);let V=Z.useRef(null),ee=Z.useCallback(()=>{V.current!==null&&(window.clearTimeout(V.current),V.current=null)},[]),H=Z.useCallback(()=>{ee(),V.current=window.setTimeout(()=>{V.current=null,p(null)},QH)},[ee]);Z.useEffect(()=>()=>{V.current!==null&&window.clearTimeout(V.current)},[]);let U=Z.useCallback(e=>{ee(),j.current=e.clientY;let t=L(e.clientY);t!==null&&p(Math.min(A.current-1,k.current+t)),B(e.clientY)},[ee,L,B]),te=Z.useCallback(()=>{j.current=null,R(),H()},[H,R]),W=Z.useCallback(()=>{l(!1)},[l]),ne=Z.useCallback(e=>{if(e===null)return;let t=v[e];t&&(r(t.turnId),R(),p(null),W(),u.current?.blur())},[W,r,v,R]),re=Z.useCallback(e=>{let t=L(e.clientY);t!==null&&ne(Math.min(v.length-1,k.current+t))},[ne,v.length,L]);Z.useEffect(()=>{if(!c)return;let e=u.current;!e||e===document.activeElement||(e.focus(),p(e=>{if(e!==null)return e;let t=O>=0?O:v.length-1;return P(t),t}))},[O,P,c,v.length]),Z.useEffect(()=>()=>{l(!1)},[l]);let ie=Z.useCallback(e=>{if(v.length===0)return;let t=f??(O>=0?O:v.length-1),n=e=>{let t=Math.max(0,Math.min(v.length-1,e));P(t),p(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(v.length-1);return}if(e.key===`Enter`||e.key===` `){e.preventDefault(),ne(t);return}e.key===`Escape`&&(e.preventDefault(),p(null),W(),u.current?.blur())},[O,W,P,ne,f,v.length]),ae=Z.useCallback(()=>{R(),p(null),W()},[W,R]),oe=Z.useRef(null),se=Z.useRef(f);se.current=f;let ce=f!==null,le=Z.useRef(0);Z.useEffect(()=>{let e=oe.current;if(!e)return;let t=e=>{e.preventDefault(),e.stopPropagation(),le.current+=e.deltaY;let t=Math.trunc(le.current/JH);if(t===0)return;le.current-=t*JH;let n=se.current;if(n===null)return;let r=Math.max(0,Math.min(A.current-1,n+t));r!==n&&(P(r),p(r))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[P,ce]);let ue=f===null?void 0:v[f],de=Math.min(v.length,XH),fe=de*JH,pe=v.length*JH-fe,me=e=>Math.max(0,Math.min(pe,e)),he=Z.useRef(null),ge=0;if(f===null)he.current=null;else if(he.current===null)ge=me(f*JH-(fe-JH)/2),he.current=ge;else{let e=he.current,t=(f-ZH)*JH,n=(f+1+ZH)*JH-fe;e>t?e=t:e<n&&(e=n),ge=me(e),he.current=ge}let _e=Math.floor(ge/JH),ve=Math.max(0,_e-WH),ye=Math.min(v.length,_e+de+WH),be=ge>0,xe=ge<pe,Se=be||xe?`linear-gradient(to bottom, ${be?`transparent, black 10%`:`black`}, ${xe?`black 90%, transparent`:`black`})`:void 0,Ce=Math.max(0,x-WH),we=Math.min(v.length,S+WH),Te=v.slice(Ce,we),Ee=C||w?`linear-gradient(to bottom, ${C?`transparent, black 14%`:`black`}, ${w?`black 86%, transparent`:`black`})`:void 0;return v.length===0?null:(0,$.jsx)(`nav`,{ref:d,"aria-label":s(`chat.promptNavigator.aria`),className:`pointer-events-none absolute right-1.5 top-1/2 z-20 -translate-y-1/2`,children:(0,$.jsxs)(`div`,{className:`pointer-events-auto flex flex-col items-end`,children:[i?(0,$.jsx)(`button`,{type:`button`,tabIndex:-1,className:J(`-mr-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)]`,a?`cursor-wait opacity-70`:void 0),"aria-label":D,title:D,disabled:a,onClick:e=>{e.stopPropagation(),a||o()},children:a?(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:u,role:`listbox`,tabIndex:-1,"aria-activedescendant":ue?`prompt-rail-tick-${ue.turnId}`:void 0,className:`relative cursor-pointer outline-none`,style:{width:`${g?RH:LH}px`,height:`${y*VH}px`},onMouseMove:U,onMouseLeave:te,onClick:re,onKeyDown:ie,onBlur:ae,children:[(0,$.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,style:Ee?{maskImage:Ee,WebkitMaskImage:Ee}:void 0,children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-300 ease-out`,style:{transform:`translateY(-${x*VH}px)`},children:Te.map((e,t)=>{let r=Ce+t,i=e.turnId===n,a=f===r,o=tU(r,f,i);return(0,$.jsx)(`div`,{id:`prompt-rail-tick-${e.turnId}`,role:`option`,"aria-selected":a,"aria-current":i?`true`:void 0,"aria-label":e.preview.trim()||T,className:`pointer-events-none absolute right-1 flex items-center justify-end`,style:{top:`${r*VH}px`,height:`${VH}px`},children:(0,$.jsx)(`span`,{"aria-hidden":`true`,className:J(`block h-0.5 rounded-full transition-all duration-200 ease-out`,i?`bg-[var(--surface-foreground)]`:a?`bg-[var(--surface-foreground)]/80`:`bg-[var(--surface-foreground)]/30`),style:{width:`${o}px`}})},e.turnId)})},v[0]?.turnId)}),ue&&f!==null?(0,$.jsx)(`div`,{ref:oe,className:J(`pointer-events-auto absolute right-full top-1/2 z-30 mr-3 -translate-y-1/2`,`w-[min(20rem,calc(100vw-6rem))] overflow-hidden rounded-xl`,`border border-[var(--interactive-border)]/60 bg-[var(--surface-elevated)] py-1 shadow-md`),onMouseEnter:ee,onMouseLeave:H,onMouseMove:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,$.jsx)(`div`,{className:`relative overflow-hidden`,style:{height:`${de*JH}px`,maskImage:Se,WebkitMaskImage:Se},children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-200 ease-out`,style:{height:`${v.length*JH}px`,transform:`translateY(-${ge}px)`},children:v.slice(ve,ye).map((e,t)=>{let r=ve+t,i=e.turnId===n,a=f===r;return(0,$.jsx)(`div`,{role:`option`,"aria-selected":a,"aria-current":i?`true`:void 0,title:i?E:void 0,className:`absolute inset-x-0 cursor-pointer px-1.5`,style:{top:`${r*JH+YH}px`,height:`46px`},onMouseMove:()=>{ee(),se.current!==r&&(P(r),p(r))},onClick:()=>ne(r),children:(0,$.jsx)(`div`,{className:J(`flex h-full items-center rounded-lg border px-2 transition-colors`,i?`border-transparent bg-[var(--interactive-selection)]`:a?`border-[var(--interactive-border)]/60 bg-[var(--interactive-hover)]`:`border-[var(--interactive-border)]/40`),children:(0,$.jsx)(`span`,{className:J(`min-w-0 flex-1 line-clamp-2 [overflow-wrap:anywhere] text-[length:calc(var(--text-meta)-0.0625rem)] leading-snug`,i?`text-[var(--interactive-selectionForeground)]`:`text-[var(--surface-mutedForeground)]`),children:e.preview.trim()||T})})},e.turnId)})})})}):null]})]})})}var rU=100,iU=(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},aU=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=iU(p,t.scrollTop+rU);!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}},oU=10,sU=`${oU}vh`,cU=`80px`,lU=`calc(${cU} + var(--oc-chat-foot-inset))`,uU=(e,t)=>e?80:t<=0?96:Math.max(48,oU/100*t),dU=(e,t)=>({sessionId:e,viewportKey:t}),fU=(e,t)=>e?.sessionId===t?.sessionId&&e?.viewportKey===t?.viewportKey,pU=(e,t)=>fU(e,t),mU=(e,t,n)=>({identity:e,anchor:t,scrollPosition:n}),hU=150,gU=1500,_U=2,vU=350,yU=600,bU=8e3,xU=24,SU=2,CU=(e,t)=>e<t,wU=()=>typeof performance<`u`?performance.now():Date.now(),TU=e=>({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}),EU=e=>e.scrollHeight-e.scrollTop-e.clientHeight,DU=e=>EU(TU(e)),OU=e=>e.scrollHeight-e.clientHeight>1,kU=(e,t)=>EU(e)<=uU(t,e.clientHeight),AU=({enabled:e=!0,currentSessionId:t,viewportKey:n,sessionMessageCount:r,sessionIsWorking:i,isMobile:a,onActiveTurnChange:o,onUpwardUserIntent:s})=>{let c=Z.useRef(null),[l,u]=Z.useState(null),d=Z.useRef(null),[f,p]=Z.useState(`following`),[m,h]=Z.useState(!1),[g,_]=Z.useState(!1),[v,y]=Z.useState(!1),b=Z.useRef(`following`),x=Z.useRef(a);x.current=a;let S=Z.useRef(r);S.current=r;let C=Z.useRef(dU(t,n));C.current=dU(t,n);let w=Z.useRef(null),T=Z.useRef(null),E=Z.useRef(null),D=Z.useRef(0),O=Z.useRef(null),k=Z.useRef(null),A=Z.useRef(0),j=Z.useRef(!1),M=Z.useRef(!1),N=Z.useRef(null),P=Z.useRef(0),F=q(()=>{P.current=wU()+450}),I=Z.useRef(0),L=Z.useRef(!1),R=Z.useRef(null),z=Z.useRef(null),B=Z.useRef(0),V=Z.useRef(!1),ee=Z.useRef(null),H=Z.useRef(null),U=Z.useRef(null),te=So(e=>e.updateViewportAnchor);Z.useLayoutEffect(()=>{c.current!==d.current&&(d.current=c.current,u(c.current))});let W=q(e=>{b.current!==e&&(b.current=e,p(e))}),ne=q(e=>{T.current={top:Math.max(0,e.scrollHeight-e.clientHeight),time:wU()},E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{T.current=null,E.current=null},gU)}),re=q(e=>{let t=T.current;return t?wU()-t.time>gU?(T.current=null,!1):Math.abs(e.scrollTop-t.top)<_U:!1}),ie=q(()=>wU()<A.current),ae=q(()=>{L.current=!1,R.current&&=(clearTimeout(R.current),null),z.current&&=(clearTimeout(z.current),null)}),oe=q(()=>{R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{R.current=null,ae()},yU)}),se=q(()=>{let e=c.current;e&&(L.current=!0,B.current=e.scrollHeight,oe(),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{z.current=null,ae()},bU))}),ce=q(e=>{let t=c.current;if(!t){h(!1),_(!1);return}let n=e??TU(t),r=OU(n);if(h(r),!r){_(!1);return}let i=b.current===`released`&&!kU(n,x.current);_(i)}),le=q(()=>{D.current+=1,O.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(O.current),O.current=null),k.current?.(),k.current=null});Z.useEffect(()=>()=>le(),[l]);let ue=q(()=>{if(!e)return;let t=c.current;if(!t)return;le();let n=D.current,r=t.style.overflow,i=t.style.scrollBehavior;t.style.scrollBehavior=`auto`,t.style.overflow=`hidden`,t.scrollTop=t.scrollHeight,t.scrollHeight,t.style.overflow=r,t.style.scrollBehavior=i;let a=()=>{ne(t),t.scrollTop=t.scrollHeight,I.current=t.scrollTop};if(a(),ce(),typeof window>`u`)return;let o=0,s=()=>{CU(wU(),P.current)||le()};t.addEventListener(`touchstart`,s,{passive:!0,once:!0}),k.current=()=>t.removeEventListener(`touchstart`,s);let l=()=>{if(n===D.current){if(DU(t)>SU&&a(),o+=1,o>=xU){O.current=null,k.current?.(),k.current=null,ce();return}O.current=window.requestAnimationFrame(l)}};O.current=window.requestAnimationFrame(l)}),de=q(e=>{let t=c.current;if(t){if(ne(t),e===`smooth`){t.scrollTo({top:t.scrollHeight,behavior:e});return}t.scrollTop=t.scrollHeight}}),fe=q((t,n=`auto`)=>{if(!e)return;let r=c.current;if(t&&b.current!==`following`&&W(`following`),r&&!(!t&&b.current!==`following`)){if(DU(r)<_U){ne(r);return}de(t?n:`auto`)}}),pe=q(e=>{let t=c.current;if(!t)return;let n=e??TU(t);if(!OU(n)){W(`following`);return}b.current!==`released`&&(W(`released`),ce(n))}),me=q((e=`instant`)=>{if(V.current=!1,W(`following`),ae(),e===`instant`){ue();return}le(),fe(!0,`smooth`),ce()}),he=q(()=>{V.current=!1,fe(!0)}),ge=q(()=>{le(),ae(),W(`released`),ce()}),_e=q(()=>{V.current=!0,ge()}),ve=q(()=>{V.current=!1}),ye=Z.useRef(s);ye.current=s;let be=q(()=>{CU(wU(),P.current)||(le(),ae(),pe())}),xe=q(()=>{be(),ye.current?.()}),Se=q(()=>{ee.current!==null&&(clearTimeout(ee.current),ee.current=null);let e=H.current;if(e){if(!e.identity.sessionId){H.current=null;return}te(e.identity.sessionId,e.anchor,e.scrollPosition,e.identity.viewportKey),H.current=null}}),Ce=q(()=>{let e=C.current;if(!e.sessionId)return;let t=c.current;if(!t)return;let{scrollTop:n,scrollHeight:r,clientHeight:i}=t,a=r>0?(n+i/2)/r:0,o=Math.floor(a*S.current);H.current=mU(e,o,{scrollTop:n,scrollHeight:r,clientHeight:i}),ee.current===null&&(ee.current=setTimeout(()=>{ee.current=null,Se()},hU))}),we=q(()=>{Se()}),Te=q(async(e=C.current)=>{if(!e.sessionId)return!1;V.current=!1;let t=or(e.sessionId,e.viewportKey);return c.current?(U.current=null,I.current=t?.scrollPosition?.scrollTop??0,W(`following`),F(),x.current?ue():fe(!0),se(),ce(),!1):(U.current=e,W(`following`),!1)});Z.useEffect(()=>{let e=C.current,n=w.current;fU(e,n)||(Se(),le(),F(),w.current=e,T.current=null,I.current=0,ae(),V.current=!1,W(`following`),U.current=null,t&&t!==n?.sessionId&&eO.getInstance().recordSessionStart(t))},[t,n]),Z.useEffect(()=>{i&&!V.current&&b.current===`following`&&fe(!0)},[i]),Z.useEffect(()=>{y(f===`following`&&i)},[f,i]),Z.useLayoutEffect(()=>{if(!l)return;let e=U.current;e&&pU(e,C.current)&&Te(e)},[l,t,n]);let Ee=q(()=>{let e=c.current;if(!e)return;let t=TU(e),n=I.current;I.current=t.scrollTop;let r=t.scrollTop>n+.5,i=Math.abs(t.scrollTop-n)<.5;if(ce(t),V.current){Ce();return}if(!OU(t)){W(`following`);return}if(kU(t,x.current)){let e=Math.min(n,Math.max(0,t.scrollHeight-t.clientHeight));if(t.scrollTop<e-.5){be(),Ce();return}(r||b.current===`following`)&&W(`following`),Ce();return}if(b.current===`following`&&(re(e)||ie()||i)){j.current||fe(!1),Ce();return}pe(t),Ce()});Z.useEffect(()=>{!e||!l||(I.current=l.scrollTop)},[l,e]);let De=Z.useRef(null),Oe=q(e=>{let t=c.current;t&&(e.deltaY>=0||tl(t,e.target)||xe())}),ke=q(e=>{let t=e.touches.item(0);De.current=t?{x:t.clientX,y:t.clientY,dx:0,dy:0}:null}),Ae=q(e=>{let t=c.current,n=e.touches.item(0);if(!n){De.current=null;return}let r=De.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(De.current={x:n.clientX,y:n.clientY,dx:o,dy:s},!(s<=0||Math.abs(o)>=s)&&t){if(tl(t,e.target)){De.current.dx=0,De.current.dy=0;return}s<=2||xe()}}),je=q(()=>{De.current=null}),Me=q(e=>{Wc(e)&&xe()}),Ne=q(e=>{let t=e.target;t instanceof Element&&t.closest(`[data-overlay-scrollbar-thumb]`)&&be()}),Pe=Z.useMemo(()=>()=>void 0,[]),Fe=e&&l?l:Pe,Ie=Z.useMemo(()=>({passive:!0}),[]);Ln(`scroll`,Ee,Fe,Ie),Ln(`wheel`,Oe,Fe,Ie),Ln(`touchstart`,ke,Fe,Ie),Ln(`touchmove`,Ae,Fe,Ie),Ln(`touchend`,je,Fe,Ie),Ln(`touchcancel`,je,Fe,Ie),Ln(`keydown`,Me,Fe),Ln(`pointerdown`,Ne,e&&typeof window<`u`?window:Pe,!0);let Le=q(()=>{let e=c.current;if(j.current){ce(e?TU(e):void 0);return}if(V.current){ce(e?TU(e):void 0);return}if(!e){ce(void 0);return}let t=TU(e);if(!OU(t)){W(`following`),ce(t);return}if(ce(t),L.current){let n=t.scrollHeight>B.current+1;B.current=t.scrollHeight,EU(t)<=_U?ne(e):fe(!0),n&&oe();return}if(b.current===`following`){if(EU(t)<=_U){ne(e);return}fe(!1)}}),Re=typeof ResizeObserver<`u`,ze=Re&&e?l:null,Be=Re&&e&&l&&l.firstElementChild instanceof Element?l.firstElementChild:null;Nn(ze,Le),Nn(Be,Le);let Ve=q(()=>{N.current!==null&&(clearTimeout(N.current),N.current=null)}),He=q(e=>{j.current=!0,typeof e==`number`&&e>0?A.current=wU()+e+vU:A.current=Math.max(A.current,wU()+vU)}),Ue=q(e=>{let t=e.detail;if(t){if(t.open===!0){He(),Ve(),N.current=setTimeout(()=>{N.current=null,M.current||(j.current=!1)},1500);return}Ve(),He()}}),We=q(e=>{let t=e.detail;t&&(Ve(),He(t.durationMs))}),Ge=q(e=>{let t=e.detail;Ve(),t?.open===!0?(M.current=!0,j.current=!0):(M.current=!1,j.current=!0,N.current=setTimeout(()=>{N.current=null,M.current||(j.current=!1)},vU)),ce()}),Ke=e&&typeof window<`u`?window:Pe;Ln(`oc:keyboard-intent`,Ue,Ke),Ln(`oc:keyboard-anim`,We,Ke),Ln(`oc:keyboard-settled`,Ge,Ke),Z.useEffect(()=>{if(!(!e||typeof window>`u`))return()=>{Ve(),j.current=!1,M.current=!1}},[e]),Z.useEffect(()=>{e&&ce()},[e,r]);let qe=q(t=>{if(e){if(t===`animation`&&(A.current=wU()+vU),ce(),L.current){fe(!0),oe();return}b.current===`following`&&fe(!1)}}),Je=Z.useRef(new Map),Ye=q(t=>{let n=Je.current.get(t);if(n)return n;let r=()=>{e&&b.current===`following`&&fe(!1)},i={onChunk:r,onComplete:()=>{e&&ce()},onStreamingCandidate:()=>{},onAnimationStart:()=>{},onAnimatedHeightChange:r,onReservationCancelled:()=>{},onReasoningBlock:()=>{}};return Je.current.set(t,i),i});Z.useEffect(()=>()=>{E.current&&=(clearTimeout(E.current),null),le(),ae(),Se(),ee.current!==null&&(clearTimeout(ee.current),ee.current=null)},[]);let Xe=q(e=>{o?.(e)}),Ze=!!o;return Z.useEffect(()=>{if(!e||!Ze)return;let t=l;if(!t)return;let n=null,r=aU({onActive:e=>{e!==n&&(n=e,Xe(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 u=()=>r.onScroll();return t.addEventListener(`scroll`,u,{passive:!0}),()=>{t.removeEventListener(`scroll`,u),c.disconnect(),r.destroy()}},[l,e,Ze]),{scrollRef:c,state:f,isPinned:f===`following`,isOverflowing:m,isFollowingProgrammatically:v,showScrollButton:g,notifyContentChange:qe,getAnimationHandlers:Ye,goToBottom:me,scrollToBottomOnSend:he,releaseAutoFollow:ge,beginHistoryViewportPreservation:_e,endHistoryViewportPreservation:ve,saveSnapshotNow:we,restoreSnapshot:Te}},jU=`--oc-mobile-composer-swap`,MU=`--oc-native-composer-dock`,NU=()=>({phase:`rest`,rest:`expanded`,progress:0,pinned:!1}),PU=(e,t,n)=>Math.min(n,Math.max(t,e)),FU=(e,t)=>e.phase===t.phase&&e.rest===t.rest&&e.progress===t.progress&&e.pinned===t.pinned,IU=(e,t)=>{let n={phase:t.phase,rest:t.rest,progress:t.progress,pinned:t.pinned??e.pinned};return FU(e,n)?e:n},LU=(e,t)=>t?IU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0}):e.pinned?IU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!1}):e,RU=(e,t)=>{if(e.pinned&&t===`compact`)return e;let n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:IU(e,{phase:`snapping`,rest:t,progress:n})},zU=e=>PU(e/80,0,1),BU=e=>e>=80?1:PU(e/80,0,1),VU=(e,t,n={})=>{if(e.pinned||n.userDriven===!1)return e;let r=Math.max(0,t),i=e.phase===`snapping`?IU(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e;if(i.rest===`expanded`){if(r<=2||n.holdExpanded)return IU(i,{phase:`rest`,rest:`expanded`,progress:0});let e=zU(r);return e>=1?IU(i,{phase:`rest`,rest:`compact`,progress:1}):IU(i,{phase:`tracking`,rest:`expanded`,progress:e})}if(r<=2)return IU(i,{phase:`rest`,rest:`expanded`,progress:0});if(n.suppressReturn)return IU(i,{phase:`rest`,rest:`compact`,progress:1});if(n.towardBottom&&r>=80)return IU(i,{phase:`snapping`,rest:`expanded`,progress:0});let a=BU(r);return a>=1?IU(i,{phase:`rest`,rest:`compact`,progress:1}):IU(i,{phase:`tracking`,rest:`compact`,progress:a})},HU=e=>e.pinned?`expanded`:e.rest===`expanded`?e.progress>=.5?`compact`:`expanded`:e.progress<=.5?`expanded`:`compact`,UU=e=>{if(e.pinned)return IU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0});if(e.phase===`snapping`)return e;let t=HU(e),n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:IU(e,{phase:`snapping`,rest:t,progress:n})},WU=e=>e.phase===`snapping`?IU(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e,GU=e=>PU(Math.max(0,e)/80,0,1),KU=(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:GU(n),rest:`bottom`}},qU=e=>{e.style.removeProperty(jU),e.style.removeProperty(MU),delete e.dataset.ocComposerSwapPhase,delete e.dataset.ocComposerSwapRest,delete e.dataset.ocNativeComposerDock},JU=(e,t,n)=>{let r=KU(t,n?.rest===`bottom`?`bottom`:`away`),i=String(r.progress),a=r.rest;return n?.progress!==i&&e.style.setProperty(MU,i),n?.rest!==a&&(e.dataset.ocNativeComposerDock=a),{progress:i,rest:a}},YU=(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(jU,r),n?.rest!==a&&(e.dataset.ocComposerSwapRest=a),{progress:r,phase:i,rest:a}},XU=e=>({scrollHeight:e.scrollHeight,scrollTop:e.scrollTop,clientHeight:e.clientHeight}),ZU=()=>{let e=document.documentElement;return e.classList.contains(`oc-keyboard-open`)||e.classList.contains(`oc-kb-animating`)},QU=e=>{if(ZU()||e.querySelector(`[data-oc-composer-dictation-active="true"]`))return!0;let t=document.activeElement;return t instanceof HTMLElement&&t.matches(`textarea[data-chat-input="true"]`)&&e.contains(t)},$U=e=>{let t=Z.useRef(NU()),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=q(t=>{let r=e.scopeRef.current;r&&(n.current=YU(r,t,n.current))}),b=q(e=>{e!==t.current&&(t.current=e,y(e))}),x=q(()=>{if(v(a),t.current.phase!==`snapping`)return;let e=t.current.rest;a.current=window.setTimeout(()=>{a.current=null;let n=WU(t.current);b(n),n.rest===`compact`&&e===`compact`&&(o.current=Date.now()+320,s.current=!0)},240)}),S=q(()=>{let n=e.scopeRef.current;!n||!_.current||b(LU(t.current,QU(n)))}),C=q(e=>s.current?Date.now()>=o.current?(s.current=!1,!1):e>=80?(s.current=!1,o.current=0,!1):!0:!1),w=q(()=>{if(v(i),!_.current||c.current>0||t.current.phase!==`tracking`)return;let e=UU(t.current);b(e),x()}),T=q(()=>{u.current=!1,d.current=0;for(let e of l.current.values())e.startX=e.currentX,e.startY=e.currentY}),E=q(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=q(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=XU(t);p.current=e,f.current=Uz(e,Vz(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=q(()=>{if(!_.current)return;let n=e.scrollRef.current,o=e.scopeRef.current;if(!n||!o)return;let s=QU(o),l=XU(n),y=Uz(l,Vz(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=JU(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=LU(j,s);if(!s){let e=M.rest===`compact`;M=VU(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=q(()=>{u.current&&(c.current>0||Date.now()-d.current<=1200)&&w()}),A=q((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=q(e=>{A(e,!0)}),M=q(e=>{A(e,!1)}),N=q(()=>{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=q(n=>{if(!_.current)return;let r=n.target;r instanceof Element&&r.closest(`[data-oc-composer-compact-surface="true"]`)&&(r.closest(`[data-composer-action="true"]`)||(`preventDefault`in n&&n.preventDefault(),`stopPropagation`in n&&n.stopPropagation(),g.current=!0,m.current=0,h.current=0,b(RU(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=q(e=>{e&&qU(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(NU())});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,[]),ee=e.enabled&&F?F:V,H=e.enabled&&L?L:V,U=e.enabled&&typeof window<`u`?window:V,te=Z.useMemo(()=>({passive:!0}),[]);Ln(`scroll`,O,ee,te),Ln(`scrollend`,k,ee,te),Ln(`touchstart`,D,ee,te),Ln(`touchmove`,E,ee,te),Ln(`touchend`,j,ee,te),Ln(`touchcancel`,M,ee,te),Ln(`pointerdown`,P,H),Ln(`focusin`,S,H),Ln(`focusout`,S,H),Ln(`oc:keyboard-intent`,S,U),Ln(`oc:keyboard-anim`,S,U),Ln(`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])},eW=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},tW=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},nW=e=>{if(!e)return null;let t=eW(e);return`${typeof e.info?.id==`string`?e.info.id:``}::${t}::${tW(e)??``}`},rW=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}),iW=(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&&nW(t[r])===nW(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=eW(r),a=r.info.id,o=rW(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=tW(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},aW=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=eW(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=tW(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}},oW=200,sW={MAX_SESSIONS:3,ZOMBIE_TIMEOUT:6e5},cW=()=>oW,lW=()=>Math.round(cW()*.6),uW={MAX_SESSIONS:sW.MAX_SESSIONS,VIEWPORT_MESSAGES:Math.round(oW*.6),HISTORICAL_MESSAGES:oW,FETCH_BUFFER:20,HISTORY_CHUNK:oW,STREAMING_BUFFER:1/0,ZOMBIE_TIMEOUT:sW.ZOMBIE_TIMEOUT},dW=()=>{let e=cW(),t=lW();return{...uW,HISTORICAL_MESSAGES:e,VIEWPORT_MESSAGES:t,HISTORY_CHUNK:e}},fW=uW,pW=600,mW=6e3,hW=.5,gW=(e,t)=>e.querySelector(`[data-message-id="${CSS.escape(t)}"]`),_W=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},vW=(e,t)=>{let n=gW(e,t);if(n||=_W(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}},yW=e=>{let{container:t,quiesceMs:n=pW,maxLifetimeMs:r=mW}=e,i={messageId:e.anchor.messageId,offsetTop:e.anchor.offsetTop},a=!1,o=e.pending??!1,s=null,c=null,l=!1,u=t.scrollTop,d=()=>{s!==null&&(clearTimeout(s),s=null)},f=()=>{c!==null&&(clearTimeout(c),c=null)},p=()=>{a||(a=!0,b.disconnect(),t.removeEventListener(`scroll`,y),d(),f())},m=()=>{d(),!(a||o)&&(s=setTimeout(()=>{s=null,p()},n))},h=()=>{f(),!(a||o)&&(c=setTimeout(()=>{c=null,p()},r))},g=()=>{if(a)return;let e=vW(t,i.messageId);if(!e){p();return}i.messageId=e.messageId,i.offsetTop=e.offsetTop,u=t.scrollTop},_=()=>{if(a)return;if(Math.abs(t.scrollTop-u)>hW){g();return}let e=gW(t,i.messageId);if(!e){let n=_W(t);if(!n){p();return}let r=n.dataset.messageId;if(!r){p();return}let a=t.getBoundingClientRect();i.messageId=r,i.offsetTop=n.getBoundingClientRect().top-a.top,e=n,u=t.scrollTop}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect().top-n.top-i.offsetTop;Math.abs(r)>hW&&(t.scrollTop+=r),u=t.scrollTop},v=()=>{a||l||(l=!0,queueMicrotask(()=>{l=!1,_()}))},y=()=>{g(),m(),h()},b=new MutationObserver(()=>{a||(v(),m())});return b.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`style`,`class`]}),t.addEventListener(`scroll`,y,{passive:!0}),h(),m(),{rebase:g,dispose:p,settle(){a||!o||(o=!1,m(),h())}}},bW=30,xW=1200,SW=1.5,CW=e=>Math.max(xW,e*SW),wW=4,TW=30,EW=4,DW=30,OW=250,kW=1500,AW=2e3,jW=na+2e3,MW=40,NW=`history-loading-timeout`,PW=e=>!!(e&&typeof e==`object`&&e.code===`history-loading-timeout`),FW=()=>{let e=Error(`chat history pagination wait timed out`);return e.code=NW,e},IW=(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)},LW=2500,RW=new Map,zW=()=>le()?wW:ei()?EW:bW,BW=e=>le()?e.length<=TW:!ei()||e.length<=DW,VW=(e,t)=>{if(RW.delete(e),!BW(t.messages))return;let n=zW();for(;RW.size>=n;){let e=RW.keys().next().value;if(typeof e!=`string`)break;RW.delete(e)}RW.set(e,t)},HW=e=>!!(e.previousOldestId&&e.currentOldestId&&e.currentOldestId!==e.previousOldestId&&e.previousNewestId&&e.currentNewestId&&e.currentNewestId===e.previousNewestId),UW=e=>e?{owner:`tanstack-core`}:{owner:`controller`},WW=(e,t)=>e?e.canLoadEarlier:t>=dW().HISTORICAL_MESSAGES,GW=e=>!(e.isLoadingOlder||e.pendingRevealWork||!e.canLoadEarlier||e.source===`scroll`&&e.isPinned||e.scrollTop>=CW(e.clientHeight)),KW=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`,qW=8,JW=1,YW=8,XW=e=>!(!e.enabled||e.isMobile||!e.sessionReady||!e.messageReady||e.historyLoading||!e.canLoadEarlier||!e.isPinned||e.fillBlocked||e.pendingRevealWork||e.isLoadingOlder||!e.hasMessages||e.clientHeight<=0||e.scrollHeight>e.clientHeight+48),ZW=e=>[`chat-timeline-auto-fill`,e.runtimeKey,e.sessionId,e.oldestMessageId,e.messageCount,e.canLoadEarlier],QW=e=>[`chat-timeline-load-earlier`,e.runtimeKey,e.sessionId],$W=20,eG=4,tG=80,nG=new WeakMap,rG=new WeakMap,iG=e=>{let t=rG.get(e)??{generation:0};return t.generation+=1,rG.set(e,t),t.generation},aG=e=>{let t=nG.get(e);t&&(t.touches=0,t.pending=null,t.settleScheduled=!1),iG(e)},oG=e=>{sG(e)},sG=e=>{let t=nG.get(e);if(t)return t;let n={touches: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&&cG(e,n)};return e.addEventListener(`touchend`,r,{passive:!0}),e.addEventListener(`touchcancel`,r,{passive:!0}),nG.set(e,n),n},cG=(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+tG||lG(e,n.anchorTop+n.delta))}))},lG=(e,t)=>{let n=iG(e),r=e.style.overflow;if(e.style.overflow=`hidden`,e.scrollTop=t,e.scrollHeight,e.style.overflow=r,e.scrollTop=t,typeof window>`u`)return;let i=!1,a=0,o=()=>{i=!0};e.addEventListener(`touchstart`,o,{passive:!0,once:!0});let s=()=>{if(!i){if((rG.get(e)?.generation??0)!==n){e.removeEventListener(`touchstart`,o);return}e.scrollTop<t-eG&&(e.scrollTop=t),a+=1,a<$W?window.requestAnimationFrame(s):e.removeEventListener(`touchstart`,o)}};window.requestAnimationFrame(s)},uG=(e,t,n)=>{let r=sG(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,lG(e,t)},dG=(e,t,n)=>!e||!t||t===e?!1:n.some(t=>t.info.id===e),fG=(e,t)=>e.scrollHeight===t.scrollHeight&&e.clientHeight===t.clientHeight?e:t,pG=({sessionId:e,directory:t=null,messages:n,historyMeta:r,scrollRef:i,messageListRef:a,loadMoreMessages:o,goToBottom:s,releaseAutoFollow:l,beginHistoryViewportPreservation:d,endHistoryViewportPreservation:f,isPinned:p,showScrollButton:m,isMobile:h,autoFillEnabled:g=!1,onWillLoadEarlier:_})=>{let v=Z.useRef(h),y=Z.useRef(g);v.current=h,y.current=g;let b=Z.useRef(null),x=Z.useRef(null),S=Z.useMemo(()=>{let t=e??``,r=t?RW.get(t):void 0;if(r&&r.messages===n)return VW(t,r),b.current=r.model,x.current=n,r.model;let i=iW(b.current,x.current,n)??aW(n);return b.current=i,x.current=n,t&&n.length>0&&VW(t,{messages:n,model:i}),i},[n,e]),[C,w]=Z.useState(!1),[T,E]=Z.useState(!1),[D,O]=Z.useState(null),[k,A]=Z.useState(!1),j=Z.useRef(!1),M=Z.useRef(0),N=u(),P=c(),F=Z.useMemo(()=>({runtimeKey:N,runtimeGeneration:P,sessionId:e,directory:t}),[N,P,e,t]),I=Z.useRef(F);I.current=F;let L=`chat-history-error:${JSON.stringify([N,t??null,e])}`;In(()=>(I.current=F,()=>{I.current===F&&(I.current=null),cr.dismiss(L)}),[F,L]);let[R,z]=Z.useState({scrollHeight:0,clientHeight:0}),B=Z.useRef(S),V=Z.useRef(p),ee=Z.useRef(C),H=Z.useRef(T),U=Z.useRef(e),te=Z.useRef(t??null),W=Z.useRef(n),ne=Z.useRef(r),re=Z.useRef([]),ie=Z.useRef(null),ae=Z.useRef(null),oe=Z.useRef(!1),se=Z.useRef(null),ce=Z.useRef({authorized:!1,consumed:!1,top:0}),le=q(()=>{ce.current={authorized:!1,consumed:ee.current,top:i.current?.scrollTop??0}}),ue=()=>h?i.current??void 0:void 0,de=q(e=>{e.repeat||le()});Ln(`touchstart`,le,ue,{passive:!0,capture:!0}),Ln(`wheel`,le,ue,{passive:!0,capture:!0}),Ln(`keydown`,de,ue,{capture:!0});let[fe,pe]=Z.useState(F);fe!==F&&(pe(F),se.current!==null&&typeof window<`u`&&(window.clearTimeout(se.current),se.current=null),oe.current=!1,ee.current=!1,ae.current=null,w(!1),E(!1),O(null),A(!1),j.current=!1,M.current=0,ce.current={authorized:!1,consumed:!1,top:0},z({scrollHeight:0,clientHeight:0}));let me=Z.useMemo(()=>{let e=WW(r,n.length);return{hasBufferedTurns:!1,hasMoreAboveTurns:e,historyLoading:!!r?.loading,canLoadEarlier:e}},[r,n.length]),he=Z.useRef(me);B.current=S,V.current=p,H.current=T,he.current=me,U.current=e,te.current=t??null,W.current=n,ne.current=r,In(()=>{r?.complete&&(j.current=!1,A(!1),cr.dismiss(L))},[r?.complete,L]);let ge=q(()=>{oe.current=!0,se.current!==null&&typeof window<`u`&&(window.clearTimeout(se.current),se.current=null)}),_e=q(()=>{if(typeof window>`u`){oe.current=!1;return}se.current!==null&&window.clearTimeout(se.current),se.current=window.setTimeout(()=>{se.current=null,oe.current=!1},AW)}),ve=q(()=>{let e=re.current;e.length!==0&&(re.current=[],e.forEach(e=>e()))}),ye=q(()=>new Promise(e=>{if(typeof window>`u`){e();return}let t=!1,n=()=>{t||(t=!0,window.clearTimeout(r),e())};re.current.push(n);let r=window.setTimeout(n,OW)})),be=q(e=>{let t=ie.current;t&&(ie.current=null,t.resolve(e))}),xe=q(()=>{let e=ie.current;if(e){if(e.sessionId!==U.current){be(!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&&(ae.current={turnId:e.turnId,expiresAt:Date.now()+LW},O(e.turnId)),be(!0);return}typeof(e.kind===`turn`?B.current.turnIndexById.get(e.id):B.current.messageToTurnIndex.get(e.id))==`number`&&be(!1)}}),Se=Z.useRef(null),Ce=q(()=>{let e=Se.current;e&&(Se.current=null,e.dispose())});Fn(()=>{se.current!==null&&typeof window<`u`&&(window.clearTimeout(se.current),se.current=null),Ce(),ve(),be(!1)});let we=n;In(()=>{ve(),xe()},[we]);let Te=q(()=>{let e=i.current;if(!e){z(e=>fG(e,{scrollHeight:0,clientHeight:0}));return}z(t=>fG(t,{scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}))});Nn(typeof ResizeObserver<`u`?i:null,Te),In(()=>{Te()},[F,C]);let Ee=Z.useRef(null),De=q(()=>a.current?.captureViewportAnchor()??null),Oe=q(e=>a.current?.restoreViewportAnchor(e)??!1),ke=q(()=>{if(Ce(),a.current?.isHistoryVirtualized())return;let e=i.current;if(!e)return;let t=De();if(t)return Se.current=yW({container:e,anchor:t,pending:!0}),Se.current}),Ae=Z.useRef(null);In(()=>{if(!ei())return;let e=i.current;e&&(oG(e),aG(e))},[F,i]),In(()=>{Ce(),Ee.current=null,Ae.current=null,a.current?.cancelViewportAnchorHold()},[F]),In(()=>{let e=i.current;if(!e)return;let t=Ee.current;a.current?.isHistoryVirtualized()&&Ce(),t&&Math.abs(e.scrollTop-t.top)>YW&&(Ee.current=null,t=null);let n=Ae.current,r=we[0]?.info?.id??null,o=we[we.length-1]?.info?.id??null,c=n?HW({previousOldestId:n.oldestId,previousNewestId:n.newestId,currentOldestId:r,currentNewestId:o})||dG(n.oldestId,r,we):!1;t&&t.sessionId!==U.current&&(Ee.current=null,t=null);let l=t?HW({previousOldestId:t.oldestId,previousNewestId:t.newestId,currentOldestId:r,currentNewestId:o})||dG(t.oldestId,r,we):!1,u=c||l,d=e=>{Ae.current={oldestId:r,newestId:o,scrollHeight:e??Ae.current?.scrollHeight??0}};if(V.current&&!t){Ce(),u?(Ee.current=null,s(`instant`),d(e.scrollHeight)):d();return}let f=UW(a.current?.isHistoryVirtualized()??!1);if(t){if(f.owner===`tanstack-core`){a.current?.cancelViewportAnchorHold();let e=t.anchor;e&&Oe(e),d();return}let n=e.scrollHeight,r=n-t.height;if(ei()){r>0&&uG(e,t.top+r,r),d(n);return}let i=t.anchor;!(i&&Oe(i))&&r>0&&(e.scrollTop=t.top+r),d(n);return}if(c&&n&&f.owner===`controller`){let t=e.scrollHeight,r=t-n.scrollHeight;if(r>0){let t=e.scrollTop+r;ei()?uG(e,t,r):e.scrollTop=t}d(t),ke();return}d()},[we,s]);let je=q(async()=>!1),Me=q(async e=>{let t=I.current,n=()=>t===I.current&&t?.runtimeKey===u()&&t?.runtimeGeneration===c(),r=Date.now(),i=r+jW,a=te.current,o=a?cn()?.getRequestState?.(Rt(a,e)):void 0;for(he.current.historyLoading,ne.current,o?.status,o?.error;he.current.historyLoading;){if(!n()||U.current!==e)return Date.now()-r,`switched`;if(Date.now()>=i){let t=a?cn()?.getRequestState?.(Rt(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:jW,hostTurnPageTimeoutMs:na,historyLoading:he.current.historyLoading,historyMeta:ne.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,MW)})}return Date.now()-r,a&&cn()?.getRequestState?.(Rt(a,e))?.status,n()&&U.current===e?`cleared`:`switched`}),Ne=q(async e=>{if(!U.current||ee.current||!he.current.hasMoreAboveTurns)return!1;ee.current=!0,ge(),w(!0);let t=U.current,n=I.current,r=()=>n===I.current&&n?.runtimeKey===u()&&n?.runtimeGeneration===c(),s=()=>n?.directory?cn()?.getPagination(Rt(n.directory,t)).cursor??null:null,l=L,p=null,m=null,h=!!e.userInitiated;h&&d();let g=()=>{r()&&(m?.settle(),p&&Ee.current===p&&(Ee.current=null,a.current?.cancelViewportAnchorHold()),h&&(h=!1,f()))};try{if(he.current.historyLoading){if(!e.userInitiated)return!1;let n=await Me(t);if(n===`timeout`)throw FW();if(n===`switched`||!he.current.hasMoreAboveTurns)return!1}if(!r()||!U.current||U.current!==t)return!1;let n=i.current,a=W.current,c=a.length,u=a[0]?.info?.id??null,d=ne.current?.limit??dW().HISTORICAL_MESSAGES;e.preserveViewport&&n&&(p={sessionId:U.current,height:n.scrollHeight,top:n.scrollTop,anchor:De(),oldestId:u,newestId:a[a.length-1]?.info?.id??null},Ee.current=p,m=ke()??null);let f=c,h=u,_=d,v=0,y=0;for(;;){if(he.current.historyLoading)if(e.userInitiated){let e=await Me(t);if(e===`timeout`)throw g(),FW();if(e===`switched`)return g(),!1}else return g(),!1;let n=i.current?.scrollHeight??0,a=f,c=h,u=_,d=s();if(await o(t,`up`),v+=1,!r()||U.current!==t)return g(),!1;if(await ye(),!r())return!1;let p=(()=>{let t=W.current;return KW({scrollHeightBefore:n,scrollHeightAfter:i.current?.scrollHeight??n,messageCountBefore:a,messageCountAfter:t.length,oldestIdBefore:c,oldestIdAfter:t[0]?.info?.id??null,limitBefore:u,limitAfter:ne.current?.limit??_,cursorBefore:d,cursorAfter:s(),hasMoreAbove:he.current.hasMoreAboveTurns,pagesLoaded:v,maxPages:e.singlePage?1:qW})})();if(p===`continue`){let e=W.current;f=e.length,h=e[0]?.info?.id??null,_=ne.current?.limit??_;continue}if(p===`stop-no-growth`){if(e.singlePage)return g(),!1;if(he.current.historyLoading){if(e.userInitiated){let e=await Me(t);if(e===`timeout`)throw g(),FW();if(e===`switched`)return g(),!1;--v;continue}return g(),!1}if(y<JW){y+=1,--v;continue}return j.current=!0,M.current=Date.now()+kW,A(!0),g(),!1}return j.current=!1,M.current=0,A(!1),cr.dismiss(l),!0}}catch(e){throw r()&&(j.current=!0,M.current=Date.now()+kW,A(!0)),g(),e}finally{r()&&(ee.current=!1,w(!1),_e(),ye().then(g))}}),{t:Pe}=Vn(),Fe=K({mutationKey:QW({runtimeKey:u(),sessionId:e??``}),mutationFn:async e=>{if(I.current!==e.scope||u()!==e.scope.runtimeKey||c()!==e.scope.runtimeGeneration||U.current!==e.sessionId)return!1;ge(),e.userInitiated&&l();try{return await Ne({preserveViewport:!0,userInitiated:!!e.userInitiated,singlePage:e.singlePage})}finally{I.current===e.scope&&c()===e.scope.runtimeGeneration&&_e()}}}),Ie=q(async e=>{let t=U.current;if(!t||!he.current.canLoadEarlier)return;let n=F,r=L,i=()=>I.current===n&&u()===n.runtimeKey&&c()===n.runtimeGeneration;if(!(Fe.isPending&&Fe.variables?.sessionId===t&&Fe.variables?.scope===n)){e?.userInitiated&&_?.();try{let r=await Fe.mutateAsync({sessionId:t,scope:n,userInitiated:!!e?.userInitiated,singlePage:e?.singlePage});if(!i())return;if(r===!1&&he.current.canLoadEarlier){let n={sessionId:t,grew:r,userInitiated:!!e?.userInitiated,canLoadEarlier:he.current.canLoadEarlier,hasMoreAboveTurns:he.current.hasMoreAboveTurns,historyLoading:he.current.historyLoading,historyMeta:ne.current,messageCount:W.current.length,oldestMessageId:W.current[0]?.info?.id??null};IW(`no-growth`,Error(`chat history pagination returned no growth`),n)}}catch(n){let a={sessionId:t,userInitiated:!!e?.userInitiated,waitMs:jW,hostTurnPageTimeoutMs:na,canLoadEarlier:he.current.canLoadEarlier,historyLoading:he.current.historyLoading,historyMeta:ne.current,messageCount:W.current.length,oldestMessageId:W.current[0]?.info?.id??null};PW(n)?IW(`timeout`,n,a):IW(`failed`,n,a),i()&&e?.userInitiated&&cr.error(PW(n)?Pe(`chat.history.loadOlderTimeout`):Pe(`chat.history.loadOlderFailed`),{id:r})}}}),Le=Fe.isPending&&Fe.variables?.sessionId===e&&Fe.variables?.scope===F||C,Re=n[0]?.info?.id??null,ze=e&&t?cn()?.getPagination(Rt(t,e)).cursor??null:null,Be=XW({enabled:g,isMobile:h,sessionReady:!!e,messageReady:n.length>0||!!r,historyLoading:me.historyLoading,canLoadEarlier:me.canLoadEarlier,isPinned:p,fillBlocked:k,scrollHeight:R.scrollHeight,clientHeight:R.clientHeight,pendingRevealWork:T,isLoadingOlder:!1,hasMessages:n.length>0});Cn({queryKey:[...ZW({runtimeKey:u(),sessionId:e??``,oldestMessageId:Re,messageCount:n.length,canLoadEarlier:me.canLoadEarlier}),P,t??null,ze],enabled:!!e&&Be,staleTime:1/0,gcTime:0,retry:(e,t)=>t?.code===`auto-fill-busy`&&e<40,retryDelay:50,refetchOnMount:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1,queryFn:async()=>{if(!y.current||v.current||j.current||!V.current)return{status:`skip`};let e=U.current;if(!e)return{status:`skip`};let t=F,n=()=>I.current===t&&u()===t.runtimeKey&&c()===t.runtimeGeneration;if(!n())return{status:`skip`};if(he.current.historyLoading||ee.current){let e=Error(`auto-fill-busy`);throw e.code=`auto-fill-busy`,e}if(!he.current.canLoadEarlier)return{status:`skip`};let r=i.current;if(!r||r.clientHeight<=0)return{status:`skip`};if(r.scrollHeight>r.clientHeight+48)return{status:`tall`};try{let t=await Ne({preserveViewport:!0});return n()?t?{status:`grew`}:(he.current.canLoadEarlier&&IW(`no-growth`,Error(`chat history pagination returned no growth`),{sessionId:e,source:`auto-fill`,grew:t,canLoadEarlier:he.current.canLoadEarlier,hasMoreAboveTurns:he.current.hasMoreAboveTurns,historyLoading:he.current.historyLoading,historyMeta:ne.current,messageCount:W.current.length,oldestMessageId:W.current[0]?.info?.id??null}),A(!0),{status:`blocked`}):{status:`skip`}}catch(t){if(t?.code===`auto-fill-busy`)throw t;let r={sessionId:e,source:`auto-fill`,waitMs:jW,canLoadEarlier:he.current.canLoadEarlier,historyLoading:he.current.historyLoading,historyMeta:ne.current,messageCount:W.current.length,oldestMessageId:W.current[0]?.info?.id??null};throw PW(t)?IW(`timeout`,t,r):IW(`failed`,t,r),n()&&A(!0),t instanceof Error?t:Error(`chat timeline auto-fill failed`)}}});let Ve=q(e=>{if(Date.now()<M.current)return;let t=i.current;if(t){if(v.current){let n=ce.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}GW({source:e,isMobile:v.current,isPinned:V.current,scrollTop:t.scrollTop,clientHeight:t.clientHeight,canLoadEarlier:he.current.canLoadEarlier,isLoadingOlder:ee.current,pendingRevealWork:H.current})&&(v.current&&(ce.current.consumed=!0),Ie({userInitiated:!0,singlePage:v.current}))}}),He=q(()=>{Ve(`scroll`)}),Ue=q(()=>{Ve(`upward-intent`)}),We=q(async(t,n)=>{if(!t||!U.current)return!1;l(),E(!0);try{return U.current!==e||typeof B.current.turnIndexById.get(t)!=`number`?!1:!!await new Promise(r=>{ie.current={sessionId:U.current??e??``,kind:`turn`,id:t,behavior:n?.behavior??`auto`,turnId:t,resolve:r},xe()})}finally{E(!1)}}),Ge=q(async(t,n)=>{if(!t||!U.current)return!1;l(),E(!0);try{if(U.current!==e)return!1;let r=B.current.messageToTurnId.get(t);return typeof B.current.messageToTurnIndex.get(t)==`number`&&!!await new Promise(i=>{ie.current={sessionId:U.current??e??``,kind:`message`,id:t,behavior:n?.behavior??`auto`,turnId:r??null,resolve:i},xe()})}finally{E(!1)}}),Ke=q(async()=>{E(!1),ee.current=!1,w(!1),a.current?.scrollToBottom(),s(`smooth`)}),qe=q(async()=>{E(!1),ee.current=!1,w(!1),a.current?.scrollToBottom(),s(`instant`)}),Je=q(e=>{let t=ae.current;if(t){if(e!==t.turnId&&Date.now()<t.expiresAt)return;ae.current=null}O(e)});return{turnIds:S.turnIds,turnStart:0,renderedMessages:we,historySignals:me,isLoadingOlder:Le,pendingRevealWork:T,activeTurnId:D,showScrollToBottom:m&&!T,turnWindowModel:S,loadEarlier:Ie,revealBufferedTurns:je,resumeToBottom:Ke,resumeToBottomInstant:qe,scrollToTurn:We,scrollToMessage:Ge,handleHistoryScroll:He,handleHistoryUpwardIntent:Ue,captureViewportAnchor:De,restoreViewportAnchor:Oe,handleActiveTurnChange:Je}},mG=({mutateSession:e,forkSession:t})=>({revert:e,fork:t}),hG=({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=q(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)(Wo,{open:e,onOpenChange:t,children:(0,$.jsx)(Bo,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:(0,$.jsx)(gG,{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},gG=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}=Vn(),b=qb(),x=i,S=qa(x??``,a),C=Y(vG),w=Y(yG),T;t[0]===b.capabilities?T=t[1]:(T=mG(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=bG,L=xG,R;t[3]===S?R=t[4]:(R=S.filter(SG).map(CG),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 PH(n.parts).toLowerCase().includes(t)})}t[5]=p,t[6]=z,t[7]=B}else B=t[7];let V=B,ee;t[8]!==V.length||t[9]!==g||t[10]!==p?(ee=()=>{P.current||g(p.trim()?0:Math.max(0,V.length-1))},t[8]=V.length,t[9]=g,t[10]=p,t[11]=ee):ee=t[11];let H;t[12]!==V||t[13]!==g||t[14]!==p?(H=[V,p,g],t[12]=V,t[13]=g,t[14]=p,t[15]=H):H=t[15],Z.useEffect(ee,H);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 W,ne;t[19]===h?(W=t[20],ne=t[21]):(ne=()=>{P.current||j.current[h]?.scrollIntoView({block:`nearest`})},W=[h],t[19]=h,t[20]=W,t[21]=ne),Z.useEffect(ne,W);let re;t[22]===u?re=t[23]:(re=()=>{!P.current||N.current||u||(P.current=!1)},t[22]=u,t[23]=re);let ie;t[24]!==V.length||t[25]!==u?(ie=[V.length,u],t[24]=V.length,t[25]=u,t[26]=ie):ie=t[26],Z.useEffect(re,ie);let ae,oe;t[27]!==n||t[28]!==p?(ae=()=>{let e=F.current;if(F.current=n,!n||e||P.current||p.trim())return;let t=M.current;t&&(t.scrollTop=t.scrollHeight)},oe=[n,p],t[27]=n,t[28]=p,t[29]=ae,t[30]=oe):(ae=t[29],oe=t[30]),Z.useLayoutEffect(ae,oe);let se;t[31]===u?se=t[32]:(se=()=>{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]=se);let ce;t[33]!==V.length||t[34]!==u?(ce=[V.length,u],t[33]=V.length,t[34]=u,t[35]=ce):ce=t[35],Z.useLayoutEffect(se,ce);let le;t[36]===d?le=t[37]:(le=()=>{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]=le);let ue=q(le),de;t[38]!==r||t[39]!==o?(de=async e=>{await o?.(e)!==!1&&r(!1)},t[38]=r,t[39]=o,t[40]=de):de=t[40];let fe=q(de),pe;t[41]!==V||t[42]!==fe||t[43]!==g||t[44]!==h?(pe=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&&fe(r.message.info.id)}}},t[41]=V,t[42]=fe,t[43]=g,t[44]=h,t[45]=pe):pe=t[45];let me=q(pe),he;t[46]!==x||t[47]!==a||t[48]!==w||t[49]!==f||t[50]!==C||t[51]!==v?(he=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]=he):he=t[52];let ge=q(he),_e;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(X,{name:`time`,className:`h-5 w-5`}),t[53]=_e):_e=t[53];let ve;t[54]===y?ve=t[55]:(ve=y(`chat.timeline.title`),t[54]=y,t[55]=ve);let ye;t[56]===ve?ye=t[57]:(ye=(0,$.jsxs)(Vo,{className:`flex items-center gap-2`,children:[_e,ve]}),t[56]=ve,t[57]=ye);let be;t[58]===y?be=t[59]:(be=y(`chat.timeline.description`),t[58]=y,t[59]=be);let xe;t[60]===be?xe=t[61]:(xe=(0,$.jsx)(Ho,{children:be}),t[60]=be,t[61]=xe);let Se;t[62]!==ye||t[63]!==xe?(Se=(0,$.jsxs)(Lo,{children:[ye,xe]}),t[62]=ye,t[63]=xe,t[64]=Se):Se=t[64];let Ce;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(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]=Ce):Ce=t[65];let we;t[66]===y?we=t[67]:(we=y(`chat.timeline.searchPlaceholder`),t[66]=y,t[67]=we);let Te;t[68]===m?Te=t[69]:(Te=e=>m(e.target.value),t[68]=m,t[69]=Te);let Ee;t[70]!==me||t[71]!==p||t[72]!==we||t[73]!==Te?(Ee=(0,$.jsxs)(`div`,{className:`relative mt-2`,children:[Ce,(0,$.jsx)(_s,{autoFocus:!0,placeholder:we,value:p,onChange:Te,onKeyDown:me,className:`pl-9 w-full`})]}),t[70]=me,t[71]=p,t[72]=we,t[73]=Te,t[74]=Ee):Ee=t[74];let De;t[75]!==l||t[76]!==ue||t[77]!==u||t[78]!==d||t[79]!==y?(De=l&&d&&(0,$.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,$.jsxs)(Gn,{type:`button`,variant:`link`,size:`sm`,onClick:ue,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]=ue,t[77]=u,t[78]=d,t[79]=y,t[80]=De):De=t[80];let Oe;t[81]!==E.fork||t[82]!==E.revert||t[83]!==k||t[84]!==V||t[85]!==ge||t[86]!==fe||t[87]!==g||t[88]!==_||t[89]!==p||t[90]!==h||t[91]!==y?(Oe=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=FH(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()?_G(PH(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:J(`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 fe(n.info.id),onMouseEnter:()=>g(t),children:[(0,$.jsx)(`span`,{className:J(`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:J(`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:J(`gap-1`,k?`flex`:`hidden group-hover:flex`),children:[E.revert?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{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(),ge(`revert`,n.info.id)},children:(0,$.jsx)(X,{name:_?.type===`revert`&&_.messageId===n.info.id?`loader-4`:`arrow-go-back`,className:J(`h-4 w-4`,_?.type===`revert`&&_.messageId===n.info.id&&`animate-spin`)})})}),(0,$.jsx)(ys,{sideOffset:6,children:y(`chat.timeline.actions.revertFromHere`)})]}):null,E.fork?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{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(),ge(`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)(ys,{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]=ge,t[86]=fe,t[87]=g,t[88]=_,t[89]=p,t[90]=h,t[91]=y,t[92]=Oe):Oe=t[92];let ke;t[93]===Oe?ke=t[94]:(ke=(0,$.jsx)(`div`,{ref:M,className:`flex-1 overflow-y-auto`,children:Oe}),t[93]=Oe,t[94]=ke);let Ae;t[95]===y?Ae=t[96]:(Ae=y(`chat.timeline.actions.title`),t[95]=y,t[96]=Ae);let je;t[97]===Ae?je=t[98]:(je=(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground font-medium mb-2`,children:Ae}),t[97]=Ae,t[98]=je);let Me;t[99]!==r||t[100]!==s?(Me=()=>{s?.(-1),r(!1)},t[99]=r,t[100]=s,t[101]=Me):Me=t[101];let Ne;t[102]===y?Ne=t[103]:(Ne=y(`chat.timeline.actions.previousTurn`),t[102]=y,t[103]=Ne);let Pe;t[104]!==Me||t[105]!==Ne?(Pe=(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:Me,children:Ne}),t[104]=Me,t[105]=Ne,t[106]=Pe):Pe=t[106];let Fe;t[107]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`/`}),t[107]=Fe):Fe=t[107];let Ie;t[108]!==r||t[109]!==c?(Ie=()=>{c?.(),r(!1)},t[108]=r,t[109]=c,t[110]=Ie):Ie=t[110];let Le;t[111]===y?Le=t[112]:(Le=y(`chat.timeline.actions.latest`),t[111]=y,t[112]=Le);let Re;t[113]!==Ie||t[114]!==Le?(Re=(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:Ie,children:Le}),t[113]=Ie,t[114]=Le,t[115]=Re):Re=t[115];let ze;t[116]!==Pe||t[117]!==Re?(ze=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[Pe,Fe,Re]}),t[116]=Pe,t[117]=Re,t[118]=ze):ze=t[118];let Be;t[119]===y?Be=t[120]:(Be=y(`chat.timeline.help.clickMessage`),t[119]=y,t[120]=Be);let Ve;t[121]===Be?Ve=t[122]:(Ve=(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(`span`,{children:Be})}),t[121]=Be,t[122]=Ve);let He;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,$.jsx)(X,{name:`arrow-go-back`,className:`h-4 w-4 flex-shrink-0`}),t[123]=He):He=t[123];let Ue;t[124]===y?Ue=t[125]:(Ue=y(`chat.timeline.help.undoToPoint`),t[124]=y,t[125]=Ue);let We;t[126]===Ue?We=t[127]:(We=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[He,(0,$.jsx)(`span`,{children:Ue})]}),t[126]=Ue,t[127]=We);let Ge;t[128]!==E.fork||t[129]!==y?(Ge=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]=Ge):Ge=t[130];let Ke;t[131]!==Ve||t[132]!==We||t[133]!==Ge?(Ke=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 typography-meta text-muted-foreground`,children:[Ve,We,Ge]}),t[131]=Ve,t[132]=We,t[133]=Ge,t[134]=Ke):Ke=t[134];let qe;t[135]!==je||t[136]!==ze||t[137]!==Ke?(qe=(0,$.jsxs)(`div`,{className:`mt-4 p-3 bg-muted/30 rounded-lg`,children:[je,ze,Ke]}),t[135]=je,t[136]=ze,t[137]=Ke,t[138]=qe):qe=t[138];let Je;return t[139]!==Se||t[140]!==Ee||t[141]!==De||t[142]!==ke||t[143]!==qe?(Je=(0,$.jsxs)($.Fragment,{children:[Se,Ee,De,ke,qe]}),t[139]=Se,t[140]=Ee,t[141]=De,t[142]=ke,t[143]=qe,t[144]=Je):Je=t[144],Je};function _G(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 vG(e){return e.revertToMessage}function yG(e){return e.forkFromMessage}function bG(e){return Is(e)}function xG(e){return xs(e)}function SG(e){return e.info.role===`user`}function CG(e){return{message:e}}var wG=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},TG=(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`}},EG=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)},DG=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&&EG(`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&&EG(`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=TG(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 EG(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=()=>{EG(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=wG(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},OG=2e4,kG=6e4,AG=2e3,jG=e=>e?(typeof e.text==`string`?e.text.length:0)+(typeof e.state?.output==`string`?e.state.output.length:0):0,MG=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+=jG(e);return[e.length,t.info.id,n.length,r?.id??``,r?.state?.status??``,i].join(`:`)},NG={sessionKey:null,fingerprint:null,lastMovementAt:null,lastRefreshAt:null,attempts:0},PG=(e,t)=>{let{sessionKey:n,working:r,streaming:i,fingerprint:a,now:o}=t;if(!n)return{state:NG,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}},FG=e=>{console.warn(`[transcript] tail frozen while session is working — refetching authority`,e)};function IG(e){return!!(e.active&&e.sessionId&&e.sessionKey&&e.sessionIsWorking)}function LG(e){return e===NG?e:NG}function RG(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 BG(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||RG(i)==null}function VG(e){let t=[];for(let n of e){let e=Array.isArray(n.parts)?n.parts:[];for(let n of e){if(!BG(n))continue;let e=zG(n);e&&t.push(e)}}return t}function HG(e,t){return`${e}:${t.join(`,`)}`}function UG(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=HG(t,e.unansweredToolIds);return e.attemptedKey===r?{recover:!1,attemptKey:r}:{recover:!0,attemptKey:r}}function WG(e,t,n,r){let i=(0,Q.c)(7),a=wi(),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=UG({sessionId:e,directory:t,sessionQuestionCount:r,unansweredToolIds:VG(n),attemptedKey:o.current});if(!c.recover||!e||!t||!c.attemptKey)return;let l=a.getChild(t);l&&(o.current=c.attemptKey,Hr(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 GG=e=>!Number.isFinite(e)||e<0?0:Math.ceil(e),KG=(e,t)=>({...e,key:qG(e),estimatedBytes:GG(t)}),qG=({runtimeKey:e,sessionId:t,directory:n})=>JSON.stringify([e,n??``,t]),JG=e=>({key:e?qG(e):null,selection:e}),YG=(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},XG=(e,t,n,r)=>{let i=qG(t),a=e.findIndex(e=>e.key===i),o=a>=0?e[a]:void 0;if(o&&a===e.length-1)return YG(e,i,n);let s=o||KG(t,r),c=a>=0?e.filter((e,t)=>t!==a):[...e];return c.push(s),YG(c,i,n)},ZG=(e,t,n)=>{let r=GG(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)},QG=(e,t)=>t&&e.some(e=>e.key===t)?t:null,$G=(e,t,n)=>{let r=t.key?e.cachedSessionViews.find(e=>e.key===t.key):void 0,i=r&&t.selection?XG(e.cachedSessionViews,t.selection,n,r.estimatedBytes):YG(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}},eK=(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:KG(t.selection,r),intent:t};return e.pendingSessionView?.intent===t?e:{activeIntent:e.activeIntent,cacheNeedsTrim:e.cacheNeedsTrim,cachedSessionViews:e.cachedSessionViews,pendingSessionView:i}},tK=(e,t,n)=>{let r=e.pendingSessionView;return e.activeIntent!==t||r?.intent!==t||!t.selection?e:{activeIntent:e.activeIntent,cacheNeedsTrim:!1,cachedSessionViews:XG(e.cachedSessionViews,t.selection,n,r.entry.estimatedBytes),pendingSessionView:null}},nK=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},rK=e=>{if(!(!e.info||typeof e.info!=`object`))return e.info},iK=e=>rK(e)?.role===`assistant`,aK=(e,t)=>{let n=rK(t);n&&(e.agentName??=nK(n.agent),e.providerId??=nK(n.providerID),e.modelId??=nK(n.modelID))},oK=e=>!!(e.agentName&&e.providerId&&e.modelId),sK=e=>{let t={};for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||!iK(r))&&(aK(t,r),oK(t)))return t}for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||iK(r))&&(aK(t,r),oK(t)))break}return t},cK=e=>!!e.sessionId&&!(e.hasRenderableSessionSnapshot&&e.hasCurrentSessionEntity),lK=[],uK=[],dK=[],fK={type:`idle`},pK=`openchamber:chat-force-scroll-bottom`,mK=()=>void 0,hK=`Quota limit reached. Retrying automatically.`,gK=1048576,_K=gK,vK=20,yK=gK,bK=16*gK,xK={maxEntries:3,maxEstimatedBytes:32*gK},SK={maxEntries:2,maxEstimatedBytes:32*gK},CK=e=>i(()=>e()),wK={overflowAnchor:`none`,overscrollBehavior:`contain`,overscrollBehaviorY:`contain`},TK={scrollbar:`chat`,scrollShadow:`true`,orientation:`vertical`},EK=()=>{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},DK=`calc(max(0.625rem, var(--oc-safe-area-top, 0px)) + var(--oc-mobile-detail-navigation-height) + 1.25rem)`,OK=lU,kK=[`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(`,`),AK=e=>e instanceof HTMLElement,jK=e=>AK(e)?!!e.closest(kK):!1,MK=(e,t)=>typeof document>`u`||!e||e===document.body||e===document.documentElement||jK(e)?!0:!t?.contains(e),NK=()=>{let{isAboutDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isImagePreviewOpen:r,isMultiRunLauncherOpen:i,isSessionSwitcherOpen:a,isSettingsDialogOpen:o}=G.getState();return e||t||n||r||i||a||o},PK=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}=Vn(),z=mu(e=>e.legendTimelineEnabled),B=AD({isLoadingOlder:d}),[V,ee]=Z.useState({sessionId:e,directory:a,reserved:k}),H=V.sessionId===e&&V.directory===a,U=H&&V.reserved||k;(!H||V.reserved!==U)&&ee({sessionId:e,directory:a,reserved:U});let te=jD({isMobile:r,isLoadingOlder:B})?(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 z-20 flex justify-center pointer-events-none`,role:`status`,"aria-live":`polite`,children:(0,$.jsx)(`div`,{className:`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,W=r&&U?(0,$.jsx)(`div`,{className:J(`flex justify-center pt-3 pb-1`,!B&&`invisible`),"aria-hidden":!B,children:(0,$.jsxs)(`span`,{role:`status`,className:`flex items-center gap-1.5 text-[var(--surface-mutedForeground)]`,"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,ne=Z.useRef(new Map),re=Z.useRef(new WeakMap),ie=Z.useRef(new Map),ae=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(SI(n)){let r=TI(u,t)??``,i=ie.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`}];ie.current.set(n.info.id,{command:r,parts:t}),e.set(n.info.id,t)}continue}if(xi(n.parts))continue;let r=re.current.get(n.parts);r||(r=SD(n.parts),re.current.set(n.parts,r)),r.length!==0&&e.set(n.info.id,r)}let t=ne.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 ne.current=e,e},[u]),oe=Z.useMemo(()=>A.filter(e=>ae.has(e)),[ae,A]),se=Z.useMemo(()=>{if(!j||ae.has(j))return j;let e=A.indexOf(j);for(let t=e-1;t>=0;--t){let e=A[t];if(ae.has(e))return e}return null},[j,ae,A]),ce=q(e=>{e.defaultPrevented||jK(e.target)||typeof window<`u`&&window.getSelection()?.type===`Range`||o.current?.focus({preventScroll:!0})});return rl({scrollRef:o,enabled:z,onUpwardIntent:y}),z?(0,$.jsx)(`div`,{className:J(`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)(PV,{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:wK,timelineScrollDataset:TK,timelineOnScroll:v,timelineFollowEnabled:!c&&!x,timelineHistoryAnchorToken:S,timelineOnIsAtEndChange:b,headerSlot:(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:DK},"aria-hidden":`true`}),W,te]}),footerSlot:(0,$.jsxs)($.Fragment,{children:[(w.length>0||T.length>0)&&(0,$.jsxs)(`div`,{children:[w.map(e=>(0,$.jsx)(sH,{question:e},e.id)),T.map(e=>(0,$.jsx)(eH,{permission:e},e.id))]}),L?(0,$.jsx)(`div`,{className:`mb-1`,children:L}):null,(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?OK:sU},"aria-hidden":`true`})]})}),(0,$.jsx)(xc,{containerRef:o,suppressVisibility:O,userIntentOnly:!0,observeMutations:!1}),N&&oe.length>=2?(0,$.jsx)(nU,{turnIds:oe,previewsByTurnId:ae,activeTurnId:se,onSelectTurn:M,canLoadEarlier:P,isLoadingOlder:F,onLoadEarlier:I}):null]})}):(0,$.jsx)(`div`,{className:J(`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)(Ic,{className:J(`absolute inset-0 overflow-y-auto overflow-x-hidden z-0 chat-scroll overlay-scrollbar-target`),ref:o,style:wK,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:J(`oc-chat-scroll-content relative z-0 min-h-full`,r&&`chat-scroll-foot-inset`),children:[W,te,(0,$.jsx)(PV,{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)(gL,{})}):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)(sH,{question:e},e.id)),T.map(e=>(0,$.jsx)(eH,{permission:e},e.id)),E.map(e=>(0,$.jsx)(OH,{form:e,directory:a},e.id))]}),(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?cU:sU},"aria-hidden":`true`})]})}),(0,$.jsx)(xc,{containerRef:o,suppressVisibility:O,userIntentOnly:!0,observeMutations:!1}),N&&oe.length>=2?(0,$.jsx)(nU,{turnIds:oe,previewsByTurnId:ae,activeTurnId:se,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);PK.displayName=`ChatViewport`;var FK=[{id:1,toolRows:[{id:`search`,titleWidth:`w-24`,detailWidth:`w-52`},{id:`read`,titleWidth:`w-20`,detailWidth:`w-36`},{id:`edit`,titleWidth:`w-24`,detailWidth:`w-64`}],textWidths:[`w-24`,`w-[92%]`,`w-[78%]`]},{id:2,toolRows:[{id:`read`,titleWidth:`w-20`,detailWidth:`w-40`},{id:`search`,titleWidth:`w-24`,detailWidth:`w-48`}],textWidths:[`w-20`,`w-[88%]`,`w-[70%]`]},{id:3,toolRows:[{id:`shell`,titleWidth:`w-28`,detailWidth:`w-44`},{id:`edit`,titleWidth:`w-24`,detailWidth:`w-56`}],textWidths:[`w-24`,`w-[84%]`,`w-[64%]`]}],IK=e=>Hn(e.path),LK=(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)]})},RK=e=>{let t=Math.ceil(Math.max(0,e)/vK);return Math.min(bK,_K+t*yK)},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:l,onRevertMessage:u,warning:d=null,pendingUserMessages:f=uK,onPendingUserMessagesMaterialized:p,committedDraftHandoffMessageId:m=null})=>{let h=c??FD(void 0),{t:g}=Vn();In(()=>{ua()},[]);let _=Y(e=>e.openNewSessionDraft),v=Y(e=>e.setCurrentSession),y=Y(e=>e.newSessionDraft),b=Y(e=>e.newSessionDraft.draftSubmitting??!1),x=Y(e=>e.newSessionDraft.draftEstablishing??!1),S=Y(e=>e.forkTransition),C=Pi(e=>e.projects),w=Pi(e=>e.activeProjectId),T=Ki(e=>e.providers),E=kh(),D=yo(),O=i??D;In(()=>{!n||!r||!O||pi(O,r)},[n,r,O]);let k=q(e=>E.ensureSessionRenderable(e,{directory:O})),A=G(e=>e.isExpandedInput),j=G(e=>e.stickyUserHeader),M=G(e=>e.promptNavigatorEnabled),N=G(e=>e.allowPromptingSubagentSessions),P=G(e=>e.isTimelineDialogOpen),F=G(e=>e.setTimelineDialogOpen),I=fr(e=>n&&r?e.streamingMessageIds.get(r)??null:null),L=fr(e=>I?e.messageStreamStates.get(I)?.phase??null:null),R=xa(r??``,O),z=RK(R);Z.useEffect(()=>{!a||!o||o(a,z)},[o,z,a]);let B=ao(r??``,O).renderable,V=Xn(r,O),ee=Mi(r),H=V??ee,U=Hx({sessionId:r,hasSessionEntity:!!H,hasRenderableSessionSnapshot:B,composerSurfaceKind:s?.kind}),te=r?JSON.stringify([O,r]):null,[W,ne]=Z.useState({key:te,attempt:0}),re=qa(r??``,O,{suspendPartUpdates:!!I,suspendPartUpdatesForMessageId:I,enabled:n}),ie=r?re:lK,ae=y.pendingUserMessage,oe=Y(e=>r?e.retainedPendingUserMessages.get(r):void 0)??uK,se=!!(m||oe.length>0),ce=Y(e=>e.clearRetainedPendingUserMessages),ue=Z.useMemo(()=>{if(oe.length===0)return f;if(f.length===0)return oe;let e=new Set(f.map(e=>e.info.id));return[...f,...oe.filter(t=>!e.has(t.info.id))]},[f,oe]),de=Z.useMemo(()=>sK(ie),[ie]),fe=Z.useMemo(()=>{if(!de.modelId)return g(`common.unavailable`);let e=T.find(e=>e.id===de.providerId);return sr(e,de.modelId)||de.modelId},[T,de.modelId,de.providerId,g]),pe=Ji(r??``,O),me=ga(r??``,O),[he,ge]=Z.useState(null),_e=!!r&&he===r,ve=q(()=>{if(!r||_e)return;let e=r,t=O;ge(e);let n=Wi(()=>{let n=cn();if(!n)throw Error(`unbound`);return n.getTranscript(Rt(t,e))});Ra(Ao({kind:`refresh`,sessionID:e,directory:t,purpose:`retry`,source:`network`,request:pe?{sessionID:e,status:pe.status===`ready`?`ready`:pe.status,error:pe.error}:void 0,hydration:me,error:pe?.error})),(async()=>{try{await Ht(t,e),await E.ensureSessionRenderable(e,{directory:t});try{let r=Wi(()=>{let n=cn();if(!n)throw Error(`unbound`);return n.getTranscript(Rt(t,e))});n&&r&&ha({trigger:`user-refresh`,sessionID:e,directory:t,purpose:`retry`,before:n,after:r})}catch{}}catch(n){Ra(Ao({kind:`request-error`,sessionID:e,directory:t,purpose:`retry`,source:`network`,hydration:me,error:n}))}finally{ge(t=>t===e?null:t)}})()}),ye=fa(r??``,O).boundary,be=q(async e=>{if(ye.kind===`has-more`){await un(O,e);return}if(ye.kind===`unknown`){await rn(O,e);return}l&&!l.complete&&await l.fetchPrevious()}),xe=la(r??``,O),Se=Qa(r??``,O),Ce=za(O),we=xe??fK,Te=Hi(r,O),Ee=li(r,O),De=TH(e=>r?e.forms[r]??dK:dK),Oe=Z.useMemo(()=>De.filter(e=>!gt(e.metadata)),[De]);Z.useEffect(()=>{r&&EH({sessionID:r,directory:O}).catch(e=>{console.error(`[ChatContainer] Failed to list session forms:`,e)})},[r,O]),WG(r,O,ie,Ee.length);let ke=Z.useMemo(()=>{if(!r||Te.length>0||Ee.length>0)return!1;let e=we.type??`idle`;if(e===`busy`||e===`retry`||ED(ue,{resolvedSessionStatus:xe,sessionStatusObservedAt:Se}))return!0;let t=ie[ie.length-1]?.info,n=t?.time?.created;return xe&&typeof Se==`number`&&typeof n==`number`&&n<=Se||typeof Ce==`number`&&typeof n==`number`&&n<=Ce?!1:!!(t&&t.role===`assistant`&&typeof t.time?.completed!=`number`)},[r,ue,xe,ie,Te.length,Ee.length,we.type,Se,Ce]),Ae=Z.useMemo(()=>!r||we.type!==`retry`?null:{sessionId:r,message:(typeof we.message==`string`?(we.message??``).trim():``)||hK,confirmedAt:we.confirmedAt},[r,we]),[je,Me]=Z.useState(0),Ne=Z.useRef(null);Z.useEffect(()=>{if(!Ae||typeof Ae.confirmedAt==`number`){Ne.current=null,Me(0);return}Ne.current!==Ae.sessionId&&(Ne.current=Ae.sessionId,Me(Date.now()))},[Ae]);let Pe=Z.useMemo(()=>!Ae||MH(we)?null:{...Ae,fallbackTimestamp:je},[Ae,je,we]),Fe=Z.useMemo(()=>NH(we,e=>g(e)),[we,g]),Ie=!!(r&&E.isLoading(r,{directory:O})),Le=Z.useMemo(()=>{if(!r)return null;let e=DD({boundary:ye,assistantComplete:l?.complete??!0});return{limit:ye.loadedTurns,complete:e.complete,canLoadEarlier:e.canLoadEarlier,loading:OD({syncLoading:Ie,assistantLoading:!!l?.loading})}},[l?.complete,l?.loading,r,ye,Ie]),Re=G(e=>e.isMobile),ze=zc()!==null,Be=le(),Ve=jx(),He=!!y?.open,Ue=ti(e=>e.error),We=A,Ge=ze||Re||Be||Ve===`mini-chat`,Ke=Z.useRef(null),qe=Z.useMemo(()=>{let e=y?.selectedProjectId?C.find(e=>e.id===y.selectedProjectId)??null:null,t=w?C.find(e=>e.id===w)??null:null,n=e??t??C[0]??null;return n?IK(n):null},[w,y?.selectedProjectId,C]),Je=Ii(r,O),Ye=a??r??``,[Xe,Ze]=Z.useState(null),Qe=qx(Xe,Ye,Je,de);In(()=>{Ze(e=>qx(e,Ye,Je,de))},[Je,de,Ye]);let $e=Je??Qe?.parentTarget??null,et=Qe?.execution??de,tt=_p(),nt=tt!==null&&r===tt,rt=q(()=>{$e&&v($e.id,$e.directory)}),it=$e?.session?.title,at=h.returnToParent&&$e&&!nt?(0,$.jsxs)(Gn,{type:`button`,variant:`outline`,size:`xs`,onClick:rt,className:`absolute left-3 top-3 z-20 !font-normal bg-[var(--surface-background)]/95`,"aria-label":g(`chat.container.returnToParent.aria`),title:it?.trim()?g(`chat.container.returnToParent.titleNamed`,{title:it}):g(`chat.container.returnToParent.title`),children:[(0,$.jsx)(X,{name:`arrow-left`,className:`h-4 w-4`}),g(`chat.container.returnToParent.label`)]}):null,ot=Ux({readOnly:t,sessionIdentityPending:U,isSubagentSession:!!H?.parentID||!!Qe,allowPromptingSubagentSessions:N}),st=et.modelId===de.modelId?fe:et.modelId?sr(T.find(e=>e.id===et.providerId),et.modelId)||et.modelId:g(`common.unavailable`),ct=$e?(0,$.jsx)(zD,{agentName:et.agentName,providerId:et.providerId,modelId:et.modelId,modelName:st}):(0,$.jsx)(zD,{}),lt=q(e=>{G.getState().setAllowPromptingSubagentSessions(e.allowPromptingSubagentSessions)}),ut=q(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`&&lt({allowPromptingSubagentSessions:t.payload.allowPromptingSubagentSessions})}),ft=typeof window<`u`&&window.parent!==window;Ln(`message`,ut,ft?window:mK),Rn(()=>{if(!ft)return;let e=window;e.__openchamberApplyChatSettingsSync=lt,window.parent.postMessage({type:`openchamber:chat-settings-request`},window.location.origin)}),Fn(()=>{if(typeof window>`u`)return;let e=window;e.__openchamberApplyChatSettingsSync===lt&&delete e.__openchamberApplyChatSettingsSync}),Z.useEffect(()=>{h.newSessionDraft&&e&&!r&&!He&&_()},[e,r,He,h.newSessionDraft,_]);let pt=Z.useRef(()=>{}),mt=q(e=>{pt.current(e)}),ht=Z.useRef(()=>{}),_t=q(()=>{ht.current()}),vt=mu(e=>e.legendTimelineEnabled),[yt,bt]=Z.useState(!0),[xt,St]=Z.useState(!1),[Ct,wt]=Z.useState(!1),[Tt,Et]=Z.useState(0),Dt=q(()=>{Et(e=>e+1)}),Ot=q((e,t)=>{bt(e),e&&wt(!1),t!==void 0&&St(t)});Z.useEffect(()=>{bt(!0),St(!1),wt(!1)},[r]);let{scrollRef:kt,notifyContentChange:At,getAnimationHandlers:jt,goToBottom:Mt,scrollToBottomOnSend:Nt,releaseAutoFollow:Pt,beginHistoryViewportPreservation:Ft,endHistoryViewportPreservation:It,restoreSnapshot:Lt,isPinned:zt,isFollowingProgrammatically:Bt,showScrollButton:Vt}=AU({enabled:n&&!vt,currentSessionId:r,viewportKey:a,sessionMessageCount:R,sessionIsWorking:ke,isMobile:Re,onActiveTurnChange:mt,onUpwardUserIntent:_t}),Ut=Z.useRef(null);$U({enabled:Re,scrollRef:kt,scopeRef:Ut});let Wt=Z.useRef([]),Gt=Z.useMemo(()=>{let e=JD(l?.entries??[],r,Wt.current);return Wt.current=e,e},[l?.entries,r]),Kt=Z.useRef([]),qt=Z.useMemo(()=>{if(!l)return ie;let e=ZD(l.entries,r,ie,Kt.current);return Kt.current=e,e},[l,r,ie]),Jt=Z.useMemo(()=>TD(Gt.length===0?qt:r?[...Gt,KD(r),...qt]:Gt,ue),[r,qt,Gt,ue]),Yt=Z.useRef(null),Xt=Z.useMemo(()=>PD({sessionId:r,messages:Jt,retained:Yt.current}),[r,Jt]);Yt.current=Xt.retained;let Zt=Xt.messages,Qt=Z.useRef(null),$t=Qt.current===r,en=Z.useRef(NG),tn=r?`${O}\n${r}`:null,nn=q(()=>MG(Zt));Z.useEffect(()=>{if(!IG({active:n,sessionId:r,sessionKey:tn,sessionIsWorking:ke})){en.current=LG(en.current);return}let e=r,t=O,i=setInterval(()=>{let n=nn(),r=PG(en.current,{sessionKey:tn,working:!0,streaming:!!I,fingerprint:n,now:Date.now(),thresholdMs:OG,cooldownMs:kG,maxAttempts:3});en.current=r.state,r.shouldRefresh&&(FG({sessionId:e,directory:t,stalledForMs:r.stalledForMs,attempt:r.state.attempts,fingerprint:n}),dt(t,e).catch(()=>{}))},AG);return()=>clearInterval(i)},[n,r,O,nn,ke,I,tn]);let an=Z.useMemo(()=>{if(ue.length===0)return[];let e=new Set([...Gt,...qt].filter(e=>wD(e.parts)).map(e=>e.info.id));return ue.map(e=>e.info.id).filter(t=>e.has(t))},[qt,Gt,ue]);Z.useEffect(()=>{an.length!==0&&(p?.(an),r&&ce(r,an))},[ce,r,an,p]);let on=pG({sessionId:r,directory:O,messages:Zt,historyMeta:Le,scrollRef:kt,messageListRef:Ke,loadMoreMessages:be,goToBottom:Mt,releaseAutoFollow:Pt,beginHistoryViewportPreservation:Ft,endHistoryViewportPreservation:It,isPinned:vt?yt:zt,showScrollButton:vt?xt:Vt,isMobile:Re,autoFillEnabled:n&&!We,onWillLoadEarlier:Dt}),sn=q(()=>{wt(!1),Ke.current?.scrollToBottom(),Mt(`instant`)}),ln=q(()=>{wt(!1),Nt()}),dn=q(()=>{wt(!0),on.handleHistoryUpwardIntent()}),fn=kD({isMobile:Re,canLoadEarlier:on.historySignals.canLoadEarlier,isLoadingOlder:on.isLoadingOlder}),pn=on.isLoadingOlder,mn=on.loadEarlier,hn=q(()=>{wt(!0),mn({userInitiated:!0})});pt.current=on.handleActiveTurnChange,ht.current=on.handleHistoryUpwardIntent,Z.useEffect(()=>{(Te.length!==0||Ee.length!==0)&&At(`permission`)},[At,Te,Ee]);let gn=DG({sessionId:r,turnIds:on.turnIds,activeTurnId:on.activeTurnId,scrollToTurn:on.scrollToTurn,scrollToMessage:on.scrollToMessage,resumeToBottom:sn}),_n=ot.showReadOnlyBanner?ct:t?null:(0,$.jsx)(eD,{surface:s,scrollToBottom:ln,showScrollToBottom:Re&&on.showScrollToBottom,onScrollToBottom:gn.resumeToLatest,submissionBlocked:ot.blockSubmission}),vn=q(e=>{gn.scrollToTurnId(e,{behavior:`smooth`})}),yn=on.historySignals.canLoadEarlier,bn=h.promptNavigator&&!Re&&!Be&&!We&&M&&on.turnIds.length>=2;Z.useEffect(()=>{bn||G.getState().setPromptNavigatorPanelOpen(!1)},[bn]);let xn=q(e=>{if(!n||!r)return;let t=e;t.detail?.sessionId&&t.detail.sessionId!==r||Mt(`instant`)});Ln(pK,xn,n&&r&&typeof window<`u`?window:mK);let Sn=q(e=>{if(!n||!r||We||e.defaultPrevented||e.isComposing||e.key!==`ArrowUp`&&e.key!==`ArrowDown`||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let{activeMainTab:t}=G.getState();if(t!==`chat`||NK())return;let i=kt.current;if(MK(document.activeElement,i)||jK(e.target))return;e.preventDefault();let a=e.key===`ArrowUp`?-1:1;gn.scrollByTurnOffset(a,{resumePastEnd:!1})});Ln(`keydown`,Sn,n&&r&&!We&&typeof window<`u`?window:mK);let K=Z.useRef(0),Cn=q(()=>{let e=kt.current;e&&e.style.setProperty(`--chat-scroll-height`,`${e.clientHeight}px`)}),wn=q(()=>{K.current||=requestAnimationFrame(()=>{K.current=0,Cn()})});In(()=>{n&&Cn()},[n,r,We,Cn]);let Tn=typeof ResizeObserver<`u`;Nn(n&&Tn?kt:null,wn),Ln(`resize`,wn,n&&!Tn&&typeof window<`u`?window:mK),Fn(()=>{K.current&&=(cancelAnimationFrame(K.current),0)});let En=Z.useRef(null),Dn=Z.useRef(0),On=MD({transcriptMessageCount:ie.length,pendingUserCount:ue.length,historyPrefixCount:Gt.length}),kn=ND({hasTranscriptShell:On,transcriptRecords:ie,p0Satisfied:me.p0Satisfied,hasBusyShell:ke&&On,hasImmediateShell:ue.length>0||Gt.length>0,hasRenderableSessionSnapshot:B,prefetchStatus:pe?.status,syncLoading:!!(r&&E.isLoading(r,{directory:O})),userRetrying:_e,hasPaintedTranscript:$t});kn===`pass`&&Zt.length>0&&(Qt.current=r);let An=!!r&&kn===`hydrating`,jn=!!r&&kn===`load-error`;Z.useEffect(()=>{!jn||!r||Ra(Ao({kind:`request-error`,sessionID:r,directory:O,purpose:`load-failed`,source:`network`,request:pe?{sessionID:r,status:pe.status===`ready`?`ready`:pe.status,error:pe.error}:void 0,hydration:me,error:pe?.error}))},[r,O,jn,pe,me]),Z.useEffect(()=>{if(!n||!r||An)return;let e=Zt.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){Pt();return}let o=()=>{Lt()};typeof window>`u`?o():window.requestAnimationFrame(o)},[n,r,An,Pt,Lt,Zt.length]),Z.useEffect(()=>{ne(e=>e.key===te?e:{key:te,attempt:0})},[te]),Z.useEffect(()=>{if(!n||!r||W.key!==te||!cK({sessionId:r,hasRenderableSessionSnapshot:B,hasCurrentSessionEntity:!!H})||(k(r),H||W.attempt>=2))return;let e=W.attempt+1,t=window.setTimeout(()=>{ne(t=>t.key===te&&t.attempt===W.attempt?{key:te,attempt:e}:t)},e*1e3);return()=>window.clearTimeout(t)},[n,H,r,O,k,B,te,W]);let Mn=S&&r&&(S.targetSessionId?r===S.targetSessionId:r===S.sourceSessionId)?S: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=g(`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":`${g(e)}. ${n}`,children:[(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:g(e)}),(0,$.jsx)(sy,{})]}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground/70 tabular-nums`,children:n})]})})}if(!r&&!He)return e&&!Ue?(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)(VD,{})});if(!r&&He){if((b||x)&&ae){let e=`draft:${y.draftID??`pending`}`;return(0,$.jsxs)(`div`,{ref:Ut,className:J(`relative flex h-full flex-col bg-background`,Re&&`oc-chat-composer-swap-scope`),children:[(0,$.jsx)(PK,{currentSessionId:e,virtualizerKey:e,isDesktopExpandedInput:!1,isMobile:Re,stickyUserHeader:j,directory:O,scrollRef:kt,messageListRef:Ke,pendingRevealWork:!1,initialPinRevealComplete:!0,renderedMessages:[ae],isLoadingOlder:!1,sessionIsWorking:!0,streamingMessageId:null,activeStreamingPhase:null,retryOverlay:null,handleMessageContentChange:At,getAnimationHandlers:jt,handleHistoryScroll:on.handleHistoryScroll,handleHistoryUpwardIntent:dn,onTimelineIsAtEndChange:Ot,timelineFollowSuspended:!1,timelineHistoryAnchorToken:Tt,scrollToBottom:sn,sessionQuestions:[],sessionPermissions:[],sessionForms:[],retryActionCopy:null,isProgrammaticFollowActive:Bt,showLoadOlderButton:!1,turnIds:[],activeTurnId:null,onSelectTurn:vn,showPromptNavigator:!1,canLoadEarlierPrompts:!1,isLoadingOlderPrompts:!1,onLoadEarlierPrompts:hn,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:g(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(sy,{})]})})},e),(0,$.jsxs)(`div`,{className:J(`invisible pointer-events-none relative z-10`,Re&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,We?`absolute inset-0 bg-background`:`bg-background`),"aria-hidden":`true`,children:[!Re&&!We?(0,$.jsx)(EK,{}):null,_n]}),(0,$.jsx)(sD,{})]})}return b||x?(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":g(`chat.emptyState.establishingConversation`),children:(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:g(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(sy,{})]})})}):(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[Ge&&!We?(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:LK(qe?g(`chat.emptyState.draftTitleWithProject`,{project:qe}):g(`chat.emptyState.draftTitle`),qe)}),(0,$.jsx)(zS,{onSubmit:e=>Wa.getState().requestPresetSubmit(e),className:`oc-draft-starters mt-8 max-w-md`})]}):null,(0,$.jsx)(`div`,{className:J(`relative z-10 flex min-h-0`,Re&&`oc-mobile-composer-foot`,We?`flex-1 bg-background`:Ge?J(`bg-background`,`px-0`):`flex-1 items-center justify-center bg-background px-0 pb-[6vh]`),children:_n})]})}return r?jn?(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[at,(0,$.jsx)(`div`,{className:J(`relative min-h-0`,We?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":We,children:We?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:g(`chat.history.loadFailedTitle`)}),(0,$.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:g(`chat.history.loadFailedDescription`)}),(0,$.jsxs)(Gn,{type:`button`,className:`mt-5`,onClick:ve,children:[(0,$.jsx)(X,{name:`refresh`,className:`size-4`,"aria-hidden":`true`}),g(`chat.history.retry`)]})]})})}),(0,$.jsx)(`div`,{className:J(`relative z-10`,Re&&`oc-mobile-composer-foot`,We?`flex-1 min-h-0 bg-background`:`bg-background`),children:_n})]}):An?(0,$.jsxs)(`div`,{ref:Ut,className:J(`relative flex flex-col h-full bg-background`,Re&&`oc-chat-composer-swap-scope`),children:[at,(0,$.jsx)(`div`,{className:J(`relative min-h-0`,We?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":We,children:(0,$.jsx)(`div`,{ref:kt,className:`absolute inset-0 overflow-y-auto overflow-x-hidden bg-background pt-6 chat-scroll`,style:wK,children:(0,$.jsx)(`div`,{className:`space-y-4 chat-scroll-foot-inset`,children:FK.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)(Pd,{className:`h-3.5 w-3.5 rounded-full flex-shrink-0`}),(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,t.titleWidth)}),(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,t.detailWidth)})]},`${e.id}-${t.id}`))}),(0,$.jsxs)(`div`,{className:`space-y-1.5 pt-1`,children:[(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,e.textWidths[0])}),(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,e.textWidths[1])}),(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,e.textWidths[2])})]})]})})},e.id))})})}),(0,$.jsxs)(`div`,{className:J(`relative z-10`,Re&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,We?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!Re&&!We?(0,$.jsx)(EK,{}):null,_n]})]}):Zt.length===0&&!ke?(0,$.jsxs)(`div`,{className:`relative flex flex-col h-full bg-background`,children:[at,(0,$.jsx)(`div`,{className:J(`relative min-h-0`,We?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":We,children:We?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,$.jsx)(VD,{})})}),(0,$.jsx)(`div`,{className:J(`relative z-10`,Re&&`oc-mobile-composer-foot`,We?`flex-1 min-h-0 bg-background`:`bg-background`),children:_n}),(0,$.jsx)(sD,{})]}):(0,$.jsxs)(`div`,{ref:Ut,className:J(`relative flex flex-col h-full bg-background`,Re&&`oc-chat-composer-swap-scope`),children:[d?(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:d}):null,at,(0,$.jsx)(PK,{currentSessionId:r,virtualizerKey:a??r,isDesktopExpandedInput:We,isMobile:Re,stickyUserHeader:j,directory:O,scrollRef:kt,messageListRef:Ke,pendingRevealWork:on.pendingRevealWork,initialPinRevealComplete:se,renderedMessages:on.renderedMessages,isLoadingOlder:pn,sessionIsWorking:ke,streamingMessageId:I,activeStreamingPhase:L,retryOverlay:Pe,handleMessageContentChange:At,getAnimationHandlers:jt,handleHistoryScroll:on.handleHistoryScroll,handleHistoryUpwardIntent:dn,onTimelineIsAtEndChange:Ot,timelineFollowSuspended:Ct,timelineHistoryAnchorToken:Tt,scrollToBottom:sn,sessionQuestions:Ee,sessionPermissions:Te,sessionForms:Oe,retryActionCopy:Fe,isProgrammaticFollowActive:Bt,showLoadOlderButton:fn,turnIds:on.turnIds,activeTurnId:on.activeTurnId,onSelectTurn:vn,showPromptNavigator:bn,canLoadEarlierPrompts:yn,isLoadingOlderPrompts:pn,onLoadEarlierPrompts:hn},r),(0,$.jsxs)(`div`,{className:J(`relative z-10`,Re&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,We?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!Re&&!We?(0,$.jsx)(EK,{}):null,!We&&Zt.length>0&&(Re?(0,$.jsx)(kx,{placement:`expanded`,visible:on.showScrollToBottom,onClick:gn.resumeToLatest}):(0,$.jsx)(kx,{visible:on.showScrollToBottom,onClick:gn.resumeToLatest})),_n]}),(0,$.jsx)(sD,{}),(0,$.jsx)(hG,{open:P,onOpenChange:F,sessionID:r??void 0,directory:O,onRevertMessage:u,onScrollToMessage:on.scrollToMessage,onScrollByTurnOffset:gn.scrollByTurnOffset,onResumeToLatest:sn,canLoadEarlier:on.historySignals.canLoadEarlier,isLoadingEarlier:pn,onLoadEarlier:hn})]}):null});zK.displayName=`MemoizedChatContainerContent`;var BK=()=>{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)(Pd,{className:`h-4 w-4/5 animate-none rounded-md`}),(0,$.jsx)(Pd,{className:`h-4 w-2/3 animate-none rounded-md`}),(0,$.jsx)(Pd,{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-6 px-4`,children:[t,(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(Pd,{className:`h-4 w-5/6 animate-none rounded-md`}),(0,$.jsx)(Pd,{className:`h-4 w-3/5 animate-none rounded-md`})]}),(0,$.jsx)(Pd,{className:`h-24 w-full animate-none rounded-xl`})]})})}),e[1]=n):n=e[1],n},VK=({runtimeKey:e,...t})=>{let n=jx(),r=yo(),i=Y(qe(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),In(()=>{!o||!i.draftPendingMessageId||(a.current={identity:o,messageId:i.draftPendingMessageId})},[o,i.draftPendingMessageId]);let s=Y(e=>i.sessionId?e.retainedPendingUserMessages.get(i.sessionId)??uK:uK),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(()=>JG(u),[u]),f=d.key,p=ei()||le()||n===`mini-chat`?SK:xK,[m,h]=Z.useState(()=>({activeIntent:d,cacheNeedsTrim:!1,cachedSessionViews:u?XG([],u,p,_K):[],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:XG([],u,p,_K)[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=QG(C,f),T=!!(f&&!w);In(()=>{g.current=d,_.current=f,h(e=>{let t=$G(e,d,p);return l?eK(t,d,d,_K):t})},[p,v,l,d,f]);let E=b?.intent??null;In(()=>{E&&h(e=>tK(e,E,p))},[p,E]),Z.useEffect(()=>{if(!d.selection||w)return;let e=d,t=f;return Ku(()=>{g.current===e&&_.current===t&&h(n=>_.current===t?eK(n,e,g.current,_K):n)},{priority:`user-blocking`})},[w,p,d,f]);let D=q((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=ZG(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)(BK,{},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})]})},HK=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=FD(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)(Kb.Provider,{value:u,children:f}),t[21]=u,t[22]=f,t[23]=p):p=t[23],p},UK=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=yo(),o=n.directory??a,s;t[4]!==o||t[5]!==n?(s=Gb({...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)(Kb.Provider,{value:c,children:u}),t[13]=c,t[14]=u,t[15]=d):d=t[15],d},WK=e=>{let t=(0,Q.c)(14),n=Z.useSyncExternalStore(CK,u,u);if(e.host){let r=`${n}:${e.host.sessionSurface.surfaceId}`,i;return t[0]!==e||t[1]!==n||t[2]!==r?(i=(0,$.jsx)(HK,{...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)(UK,{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)(VK,{...e,runtimeKey:n},n),t[11]=e,t[12]=n,t[13]=r):r=t[13],r},GK=2e4,KK=()=>typeof document>`u`||document.visibilityState===`visible`&&document.hasFocus()?`visible`:`hidden`,qK=e=>{if(!V()&&!qt())return;let t=y();t?.push?.setVisibility&&t.push.setVisibility({visible:e,platform:$t()})},JK=e=>{let t=e?.enabled??!0;Z.useEffect(()=>{if(!t||!V()&&!qt()||typeof window>`u`)return;if(qt()){let e=!0,t=!1,n=null,r=()=>qK(e);bn(async()=>{let{App:e}=await import(`./vendor-capacitor-app-PzT84wSx.js`).then(e=>e.t);return{App:e}},__vite__mapDeps([53,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&&qK(!0)},GK);return()=>{t=!0,window.clearInterval(i),n?.()}}if(typeof document>`u`)return;let e=()=>{qK(KK()===`visible`)},n=()=>{KK()===`visible`&&qK(!0)},r=()=>{qK(!1)};e();let i=window.setInterval(n,GK);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])},YK=`OpenChamber`,XK=e=>{let t=e.replace(/\\/g,`/`).replace(/\/+$/,``).split(`/`).filter(Boolean);return t[t.length-1]??``},ZK=(e,t)=>[e,t,YK].filter(e=>typeof e==`string`&&e.trim().length>0).join(` | `),QK=()=>{let e=Pi(e=>e.activeProjectId?e.projects.find(t=>t.id===e.activeProjectId)??null:null),t=Z.useMemo(()=>e&&XK(e.path)||null,[e]),[n,r]=Z.useState(null);Z.useEffect(()=>{if(typeof window>`u`||!xe()){r(null);return}let e=!1,t=async()=>{try{if(re()){e||r(null);return}let t=window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,n=d();if(n&&Me(n,t)){e||r(null);return}let i=(await Be()).hosts.find(e=>n?Me(n,Fe(e)):!1),a=i?.label?.trim()?Ne(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(()=>ZK(t,n),[t,n]);Z.useEffect(()=>{typeof document<`u`&&(document.title=i),xe()&&(async()=>{try{if(typeof navigator<`u`&&/Macintosh|Mac OS X/.test(navigator.userAgent||``))return;await Kn(i)}catch{return}})()},[i])},$K=e=>{let t=[];return e.hideGit||t.push(`git`),t.push(`files`),e.showBrowser&&t.push(`browser`),t},eq=e=>e===`git`||e===`files`||e===`browser`,tq=()=>{let e=Y.getState().currentSessionId;if(!e)return``;let t=mt().find(t=>t.id===e);return typeof t?.directory==`string`?t.directory:``},nq=async(e,t=6e3)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),t),i=Date.now();try{let t=await f(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)}},rq=e=>{if(!e||!Number.isFinite(e))return`(n/a)`;try{return new Date(e).toISOString()}catch{return`(invalid)`}},iq=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},aq=e=>!!e&&typeof e==`object`&&!Array.isArray(e),oq=(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,sq=(e,t,n)=>e===`node-shebang`||e===`node-launcher`?t?`node (${t})`:`node`:e===`bun-shebang`?n?`bun (${n})`:`bun`:e||`direct executable`,cq=async()=>{let e=new Date,t=typeof navigator<`u`?navigator.userAgent:`(no navigator)`,n=tq(),r=G.getState().eventStreamStatus,i=typeof window<`u`?window.location.origin:``,o=a(),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 f(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 f(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},d=(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=d(e.path,e.includeDirectory!==!1);if(!t)return{label:e.label,url:`(none)`,result:null};let n=await nq(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(`OpenChamber version: 2.0.0-beta.24`),m.push(`Runtime: ${i||`(unknown)`} (api=${c||`(unknown)`})`),m.push(`OpenCode SDK base: ${yt.getBaseUrl()}`),m.push(`Event stream: ${r}`),m.push(`Directory: ${n||`(none)`}`),m.push(`Platform: ${t}`);let h=iq(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}`),aq(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=aq(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: ${oq(e.launchedAt)}`),m.push(`- launch: ${oq(e.binary)} ${t.join(` `)}`.trim()),m.push(`- cwd: ${oq(e.cwd)}`),m.push(`- wrapper: ${oq(e.wrapperType)}`),m.push(`- runtime: ${sq(oq(e.wrapperType,``),f,p)}`),m.push(`- PATH entries: ${oq(e.pathEntryCount,`(unknown)`)}`),m.push(`- shell env: ${oq(e.hasShellEnv,`(unknown)`)} (${oq(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: ${sq(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: ${rq(Date.now())}`),m.join(`
6603
+ `)}function FH(e,t=80){let n=PH(e).replace(/\n/g,` `);return n.length>t?`${n.slice(0,t)}…`:n}var IH=160,LH=28,RH=12,zH=6,BH=30,VH=12,HH=18,UH=80,WH=4,GH=10,KH=14,qH=20,JH=54,YH=4,XH=8,ZH=2,QH=160,$H=(e,t)=>e.map(e=>({turnId:e,preview:FH(t.get(e)??[],IH)})),eU=[1,.6,.35,.15],tU=(e,t,n)=>{let r=n?KH:GH;if(t===null)return r;let i=eU[Math.abs(e-t)]??0;return Math.round(r+(qH-r)*i)};function nU({turnIds:e,previewsByTurnId:t,activeTurnId:n,onSelectTurn:r,canLoadEarlier:i,isLoadingOlder:a,onLoadEarlier:o}){let{t:s}=Vn(),c=G(e=>e.isPromptNavigatorPanelOpen),l=G(e=>e.setPromptNavigatorPanelOpen),u=Z.useRef(null),d=Z.useRef(null),[f,p]=Z.useState(null),[m,h]=Z.useState(0),[g,_]=Z.useState(!1);Z.useEffect(()=>{let e=d.current?.parentElement;if(!e||typeof ResizeObserver>`u`)return;let t=()=>{let t=e.querySelector(`.chat-message-column`);if(!t){_(!1);return}let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-zH-LH;_(r.right>i)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let v=Z.useMemo(()=>$H(e,t),[t,e]),y=Math.min(v.length,BH),b=Math.max(0,v.length-y),x=Math.min(m,b),S=x+y,C=x>0,w=S<v.length,T=s(`chat.timeline.noTextContent`),E=s(`chat.promptNavigator.currentPrompt`),D=s(`chat.promptNavigator.loadMore`),O=Z.useMemo(()=>n?v.findIndex(e=>e.turnId===n):-1,[n,v]),k=Z.useRef(x);k.current=x;let A=Z.useRef(v.length);A.current=v.length;let j=Z.useRef(null),M=Z.useRef(null),N=Z.useRef(0),P=Z.useCallback(e=>{h(t=>{let n=A.current,r=Math.min(n,BH),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})},[]),F=Z.useRef(v[0]?.turnId),I=Z.useRef(v.length);Z.useLayoutEffect(()=>{let e=F.current,t=I.current,n=v.length-t;n>0&&t>0&&e&&v[0]?.turnId!==e&&(h(e=>e+n),p(e=>e===null?null:e+n)),F.current=v[0]?.turnId,I.current=v.length},[v]),Z.useEffect(()=>{if(f!==null)return;let e=O>=0?O:v.length-1;h(()=>{let t=A.current,n=Math.min(t,BH),r=Math.max(0,t-n);return Math.max(0,Math.min(r,e-Math.floor(n/2)))})},[O,f,v.length]);let L=Z.useCallback(e=>{let t=u.current;if(!t)return null;let n=t.getBoundingClientRect(),r=Math.floor((e-n.top)/VH),i=Math.min(A.current,BH);return i===0?null:Math.max(0,Math.min(i-1,r))},[]),R=Z.useCallback(()=>{N.current=0,M.current!==null&&(window.clearInterval(M.current),M.current=null)},[]),z=Z.useCallback(()=>{let e=N.current;if(e===0){R();return}let t=A.current,n=Math.max(0,t-Math.min(t,BH)),r=Math.min(k.current,n),i=Math.max(0,Math.min(n,r+e));if(i===r){R();return}k.current=i,h(i);let a=j.current;if(a!==null){let e=L(a);e!==null&&p(Math.min(t-1,i+e))}},[L,R]),B=Z.useCallback(e=>{let t=u.current;if(!t)return;let n=t.getBoundingClientRect(),r=e-n.top,i=0;if(r<=HH&&C?i=-1:r>=n.height-HH&&w&&(i=1),N.current=i,i===0){R();return}M.current===null&&(M.current=window.setInterval(z,UH))},[z,C,w,R]);Z.useEffect(()=>()=>{M.current!==null&&window.clearInterval(M.current)},[]);let V=Z.useRef(null),ee=Z.useCallback(()=>{V.current!==null&&(window.clearTimeout(V.current),V.current=null)},[]),H=Z.useCallback(()=>{ee(),V.current=window.setTimeout(()=>{V.current=null,p(null)},QH)},[ee]);Z.useEffect(()=>()=>{V.current!==null&&window.clearTimeout(V.current)},[]);let U=Z.useCallback(e=>{ee(),j.current=e.clientY;let t=L(e.clientY);t!==null&&p(Math.min(A.current-1,k.current+t)),B(e.clientY)},[ee,L,B]),te=Z.useCallback(()=>{j.current=null,R(),H()},[H,R]),W=Z.useCallback(()=>{l(!1)},[l]),ne=Z.useCallback(e=>{if(e===null)return;let t=v[e];t&&(r(t.turnId),R(),p(null),W(),u.current?.blur())},[W,r,v,R]),re=Z.useCallback(e=>{let t=L(e.clientY);t!==null&&ne(Math.min(v.length-1,k.current+t))},[ne,v.length,L]);Z.useEffect(()=>{if(!c)return;let e=u.current;!e||e===document.activeElement||(e.focus(),p(e=>{if(e!==null)return e;let t=O>=0?O:v.length-1;return P(t),t}))},[O,P,c,v.length]),Z.useEffect(()=>()=>{l(!1)},[l]);let ie=Z.useCallback(e=>{if(v.length===0)return;let t=f??(O>=0?O:v.length-1),n=e=>{let t=Math.max(0,Math.min(v.length-1,e));P(t),p(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(v.length-1);return}if(e.key===`Enter`||e.key===` `){e.preventDefault(),ne(t);return}e.key===`Escape`&&(e.preventDefault(),p(null),W(),u.current?.blur())},[O,W,P,ne,f,v.length]),ae=Z.useCallback(()=>{R(),p(null),W()},[W,R]),oe=Z.useRef(null),se=Z.useRef(f);se.current=f;let ce=f!==null,le=Z.useRef(0);Z.useEffect(()=>{let e=oe.current;if(!e)return;let t=e=>{e.preventDefault(),e.stopPropagation(),le.current+=e.deltaY;let t=Math.trunc(le.current/JH);if(t===0)return;le.current-=t*JH;let n=se.current;if(n===null)return;let r=Math.max(0,Math.min(A.current-1,n+t));r!==n&&(P(r),p(r))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[P,ce]);let ue=f===null?void 0:v[f],de=Math.min(v.length,XH),fe=de*JH,pe=v.length*JH-fe,me=e=>Math.max(0,Math.min(pe,e)),he=Z.useRef(null),ge=0;if(f===null)he.current=null;else if(he.current===null)ge=me(f*JH-(fe-JH)/2),he.current=ge;else{let e=he.current,t=(f-ZH)*JH,n=(f+1+ZH)*JH-fe;e>t?e=t:e<n&&(e=n),ge=me(e),he.current=ge}let _e=Math.floor(ge/JH),ve=Math.max(0,_e-WH),ye=Math.min(v.length,_e+de+WH),be=ge>0,xe=ge<pe,Se=be||xe?`linear-gradient(to bottom, ${be?`transparent, black 10%`:`black`}, ${xe?`black 90%, transparent`:`black`})`:void 0,Ce=Math.max(0,x-WH),we=Math.min(v.length,S+WH),Te=v.slice(Ce,we),Ee=C||w?`linear-gradient(to bottom, ${C?`transparent, black 14%`:`black`}, ${w?`black 86%, transparent`:`black`})`:void 0;return v.length===0?null:(0,$.jsx)(`nav`,{ref:d,"aria-label":s(`chat.promptNavigator.aria`),className:`pointer-events-none absolute right-1.5 top-1/2 z-20 -translate-y-1/2`,children:(0,$.jsxs)(`div`,{className:`pointer-events-auto flex flex-col items-end`,children:[i?(0,$.jsx)(`button`,{type:`button`,tabIndex:-1,className:J(`-mr-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)]`,a?`cursor-wait opacity-70`:void 0),"aria-label":D,title:D,disabled:a,onClick:e=>{e.stopPropagation(),a||o()},children:a?(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:u,role:`listbox`,tabIndex:-1,"aria-activedescendant":ue?`prompt-rail-tick-${ue.turnId}`:void 0,className:`relative cursor-pointer outline-none`,style:{width:`${g?RH:LH}px`,height:`${y*VH}px`},onMouseMove:U,onMouseLeave:te,onClick:re,onKeyDown:ie,onBlur:ae,children:[(0,$.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,style:Ee?{maskImage:Ee,WebkitMaskImage:Ee}:void 0,children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-300 ease-out`,style:{transform:`translateY(-${x*VH}px)`},children:Te.map((e,t)=>{let r=Ce+t,i=e.turnId===n,a=f===r,o=tU(r,f,i);return(0,$.jsx)(`div`,{id:`prompt-rail-tick-${e.turnId}`,role:`option`,"aria-selected":a,"aria-current":i?`true`:void 0,"aria-label":e.preview.trim()||T,className:`pointer-events-none absolute right-1 flex items-center justify-end`,style:{top:`${r*VH}px`,height:`${VH}px`},children:(0,$.jsx)(`span`,{"aria-hidden":`true`,className:J(`block h-0.5 rounded-full transition-all duration-200 ease-out`,i?`bg-[var(--surface-foreground)]`:a?`bg-[var(--surface-foreground)]/80`:`bg-[var(--surface-foreground)]/30`),style:{width:`${o}px`}})},e.turnId)})},v[0]?.turnId)}),ue&&f!==null?(0,$.jsx)(`div`,{ref:oe,className:J(`pointer-events-auto absolute right-full top-1/2 z-30 mr-3 -translate-y-1/2`,`w-[min(20rem,calc(100vw-6rem))] overflow-hidden rounded-xl`,`border border-[var(--interactive-border)]/60 bg-[var(--surface-elevated)] py-1 shadow-md`),onMouseEnter:ee,onMouseLeave:H,onMouseMove:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,$.jsx)(`div`,{className:`relative overflow-hidden`,style:{height:`${de*JH}px`,maskImage:Se,WebkitMaskImage:Se},children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-200 ease-out`,style:{height:`${v.length*JH}px`,transform:`translateY(-${ge}px)`},children:v.slice(ve,ye).map((e,t)=>{let r=ve+t,i=e.turnId===n,a=f===r;return(0,$.jsx)(`div`,{role:`option`,"aria-selected":a,"aria-current":i?`true`:void 0,title:i?E:void 0,className:`absolute inset-x-0 cursor-pointer px-1.5`,style:{top:`${r*JH+YH}px`,height:`46px`},onMouseMove:()=>{ee(),se.current!==r&&(P(r),p(r))},onClick:()=>ne(r),children:(0,$.jsx)(`div`,{className:J(`flex h-full items-center rounded-lg border px-2 transition-colors`,i?`border-transparent bg-[var(--interactive-selection)]`:a?`border-[var(--interactive-border)]/60 bg-[var(--interactive-hover)]`:`border-[var(--interactive-border)]/40`),children:(0,$.jsx)(`span`,{className:J(`min-w-0 flex-1 line-clamp-2 [overflow-wrap:anywhere] text-[length:calc(var(--text-meta)-0.0625rem)] leading-snug`,i?`text-[var(--interactive-selectionForeground)]`:`text-[var(--surface-mutedForeground)]`),children:e.preview.trim()||T})})},e.turnId)})})})}):null]})]})})}var rU=100,iU=(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},aU=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=iU(p,t.scrollTop+rU);!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}},oU=10,sU=`${oU}vh`,cU=`80px`,lU=`calc(${cU} + var(--oc-chat-foot-inset))`,uU=(e,t)=>e?80:t<=0?96:Math.max(48,oU/100*t),dU=(e,t)=>({sessionId:e,viewportKey:t}),fU=(e,t)=>e?.sessionId===t?.sessionId&&e?.viewportKey===t?.viewportKey,pU=(e,t)=>fU(e,t),mU=(e,t,n)=>({identity:e,anchor:t,scrollPosition:n}),hU=150,gU=1500,_U=2,vU=350,yU=600,bU=8e3,xU=24,SU=2,CU=(e,t)=>e<t,wU=()=>typeof performance<`u`?performance.now():Date.now(),TU=e=>({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}),EU=e=>e.scrollHeight-e.scrollTop-e.clientHeight,DU=e=>EU(TU(e)),OU=e=>e.scrollHeight-e.clientHeight>1,kU=(e,t)=>EU(e)<=uU(t,e.clientHeight),AU=({enabled:e=!0,currentSessionId:t,viewportKey:n,sessionMessageCount:r,sessionIsWorking:i,isMobile:a,onActiveTurnChange:o,onUpwardUserIntent:s})=>{let c=Z.useRef(null),[l,u]=Z.useState(null),d=Z.useRef(null),[f,p]=Z.useState(`following`),[m,h]=Z.useState(!1),[g,_]=Z.useState(!1),[v,y]=Z.useState(!1),b=Z.useRef(`following`),x=Z.useRef(a);x.current=a;let S=Z.useRef(r);S.current=r;let C=Z.useRef(dU(t,n));C.current=dU(t,n);let w=Z.useRef(null),T=Z.useRef(null),E=Z.useRef(null),D=Z.useRef(0),O=Z.useRef(null),k=Z.useRef(null),A=Z.useRef(0),j=Z.useRef(!1),M=Z.useRef(!1),N=Z.useRef(null),P=Z.useRef(0),F=q(()=>{P.current=wU()+450}),I=Z.useRef(0),L=Z.useRef(!1),R=Z.useRef(null),z=Z.useRef(null),B=Z.useRef(0),V=Z.useRef(!1),ee=Z.useRef(null),H=Z.useRef(null),U=Z.useRef(null),te=So(e=>e.updateViewportAnchor);Z.useLayoutEffect(()=>{c.current!==d.current&&(d.current=c.current,u(c.current))});let W=q(e=>{b.current!==e&&(b.current=e,p(e))}),ne=q(e=>{T.current={top:Math.max(0,e.scrollHeight-e.clientHeight),time:wU()},E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{T.current=null,E.current=null},gU)}),re=q(e=>{let t=T.current;return t?wU()-t.time>gU?(T.current=null,!1):Math.abs(e.scrollTop-t.top)<_U:!1}),ie=q(()=>wU()<A.current),ae=q(()=>{L.current=!1,R.current&&=(clearTimeout(R.current),null),z.current&&=(clearTimeout(z.current),null)}),oe=q(()=>{R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{R.current=null,ae()},yU)}),se=q(()=>{let e=c.current;e&&(L.current=!0,B.current=e.scrollHeight,oe(),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{z.current=null,ae()},bU))}),ce=q(e=>{let t=c.current;if(!t){h(!1),_(!1);return}let n=e??TU(t),r=OU(n);if(h(r),!r){_(!1);return}let i=b.current===`released`&&!kU(n,x.current);_(i)}),le=q(()=>{D.current+=1,O.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(O.current),O.current=null),k.current?.(),k.current=null});Z.useEffect(()=>()=>le(),[l]);let ue=q(()=>{if(!e)return;let t=c.current;if(!t)return;le();let n=D.current,r=t.style.overflow,i=t.style.scrollBehavior;t.style.scrollBehavior=`auto`,t.style.overflow=`hidden`,t.scrollTop=t.scrollHeight,t.scrollHeight,t.style.overflow=r,t.style.scrollBehavior=i;let a=()=>{ne(t),t.scrollTop=t.scrollHeight,I.current=t.scrollTop};if(a(),ce(),typeof window>`u`)return;let o=0,s=()=>{CU(wU(),P.current)||le()};t.addEventListener(`touchstart`,s,{passive:!0,once:!0}),k.current=()=>t.removeEventListener(`touchstart`,s);let l=()=>{if(n===D.current){if(DU(t)>SU&&a(),o+=1,o>=xU){O.current=null,k.current?.(),k.current=null,ce();return}O.current=window.requestAnimationFrame(l)}};O.current=window.requestAnimationFrame(l)}),de=q(e=>{let t=c.current;if(t){if(ne(t),e===`smooth`){t.scrollTo({top:t.scrollHeight,behavior:e});return}t.scrollTop=t.scrollHeight}}),fe=q((t,n=`auto`)=>{if(!e)return;let r=c.current;if(t&&b.current!==`following`&&W(`following`),r&&!(!t&&b.current!==`following`)){if(DU(r)<_U){ne(r);return}de(t?n:`auto`)}}),pe=q(e=>{let t=c.current;if(!t)return;let n=e??TU(t);if(!OU(n)){W(`following`);return}b.current!==`released`&&(W(`released`),ce(n))}),me=q((e=`instant`)=>{if(V.current=!1,W(`following`),ae(),e===`instant`){ue();return}le(),fe(!0,`smooth`),ce()}),he=q(()=>{V.current=!1,fe(!0)}),ge=q(()=>{le(),ae(),W(`released`),ce()}),_e=q(()=>{V.current=!0,ge()}),ve=q(()=>{V.current=!1}),ye=Z.useRef(s);ye.current=s;let be=q(()=>{CU(wU(),P.current)||(le(),ae(),pe())}),xe=q(()=>{be(),ye.current?.()}),Se=q(()=>{ee.current!==null&&(clearTimeout(ee.current),ee.current=null);let e=H.current;if(e){if(!e.identity.sessionId){H.current=null;return}te(e.identity.sessionId,e.anchor,e.scrollPosition,e.identity.viewportKey),H.current=null}}),Ce=q(()=>{let e=C.current;if(!e.sessionId)return;let t=c.current;if(!t)return;let{scrollTop:n,scrollHeight:r,clientHeight:i}=t,a=r>0?(n+i/2)/r:0,o=Math.floor(a*S.current);H.current=mU(e,o,{scrollTop:n,scrollHeight:r,clientHeight:i}),ee.current===null&&(ee.current=setTimeout(()=>{ee.current=null,Se()},hU))}),we=q(()=>{Se()}),Te=q(async(e=C.current)=>{if(!e.sessionId)return!1;V.current=!1;let t=or(e.sessionId,e.viewportKey);return c.current?(U.current=null,I.current=t?.scrollPosition?.scrollTop??0,W(`following`),F(),x.current?ue():fe(!0),se(),ce(),!1):(U.current=e,W(`following`),!1)});Z.useEffect(()=>{let e=C.current,n=w.current;fU(e,n)||(Se(),le(),F(),w.current=e,T.current=null,I.current=0,ae(),V.current=!1,W(`following`),U.current=null,t&&t!==n?.sessionId&&eO.getInstance().recordSessionStart(t))},[t,n]),Z.useEffect(()=>{i&&!V.current&&b.current===`following`&&fe(!0)},[i]),Z.useEffect(()=>{y(f===`following`&&i)},[f,i]),Z.useLayoutEffect(()=>{if(!l)return;let e=U.current;e&&pU(e,C.current)&&Te(e)},[l,t,n]);let Ee=q(()=>{let e=c.current;if(!e)return;let t=TU(e),n=I.current;I.current=t.scrollTop;let r=t.scrollTop>n+.5,i=Math.abs(t.scrollTop-n)<.5;if(ce(t),V.current){Ce();return}if(!OU(t)){W(`following`);return}if(kU(t,x.current)){let e=Math.min(n,Math.max(0,t.scrollHeight-t.clientHeight));if(t.scrollTop<e-.5){be(),Ce();return}(r||b.current===`following`)&&W(`following`),Ce();return}if(b.current===`following`&&(re(e)||ie()||i)){j.current||fe(!1),Ce();return}pe(t),Ce()});Z.useEffect(()=>{!e||!l||(I.current=l.scrollTop)},[l,e]);let De=Z.useRef(null),Oe=q(e=>{let t=c.current;t&&(e.deltaY>=0||tl(t,e.target)||xe())}),ke=q(e=>{let t=e.touches.item(0);De.current=t?{x:t.clientX,y:t.clientY,dx:0,dy:0}:null}),Ae=q(e=>{let t=c.current,n=e.touches.item(0);if(!n){De.current=null;return}let r=De.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(De.current={x:n.clientX,y:n.clientY,dx:o,dy:s},!(s<=0||Math.abs(o)>=s)&&t){if(tl(t,e.target)){De.current.dx=0,De.current.dy=0;return}s<=2||xe()}}),je=q(()=>{De.current=null}),Me=q(e=>{Wc(e)&&xe()}),Ne=q(e=>{let t=e.target;t instanceof Element&&t.closest(`[data-overlay-scrollbar-thumb]`)&&be()}),Pe=Z.useMemo(()=>()=>void 0,[]),Fe=e&&l?l:Pe,Ie=Z.useMemo(()=>({passive:!0}),[]);Ln(`scroll`,Ee,Fe,Ie),Ln(`wheel`,Oe,Fe,Ie),Ln(`touchstart`,ke,Fe,Ie),Ln(`touchmove`,Ae,Fe,Ie),Ln(`touchend`,je,Fe,Ie),Ln(`touchcancel`,je,Fe,Ie),Ln(`keydown`,Me,Fe),Ln(`pointerdown`,Ne,e&&typeof window<`u`?window:Pe,!0);let Le=q(()=>{let e=c.current;if(j.current){ce(e?TU(e):void 0);return}if(V.current){ce(e?TU(e):void 0);return}if(!e){ce(void 0);return}let t=TU(e);if(!OU(t)){W(`following`),ce(t);return}if(ce(t),L.current){let n=t.scrollHeight>B.current+1;B.current=t.scrollHeight,EU(t)<=_U?ne(e):fe(!0),n&&oe();return}if(b.current===`following`){if(EU(t)<=_U){ne(e);return}fe(!1)}}),Re=typeof ResizeObserver<`u`,ze=Re&&e?l:null,Be=Re&&e&&l&&l.firstElementChild instanceof Element?l.firstElementChild:null;Nn(ze,Le),Nn(Be,Le);let Ve=q(()=>{N.current!==null&&(clearTimeout(N.current),N.current=null)}),He=q(e=>{j.current=!0,typeof e==`number`&&e>0?A.current=wU()+e+vU:A.current=Math.max(A.current,wU()+vU)}),Ue=q(e=>{let t=e.detail;if(t){if(t.open===!0){He(),Ve(),N.current=setTimeout(()=>{N.current=null,M.current||(j.current=!1)},1500);return}Ve(),He()}}),We=q(e=>{let t=e.detail;t&&(Ve(),He(t.durationMs))}),Ge=q(e=>{let t=e.detail;Ve(),t?.open===!0?(M.current=!0,j.current=!0):(M.current=!1,j.current=!0,N.current=setTimeout(()=>{N.current=null,M.current||(j.current=!1)},vU)),ce()}),Ke=e&&typeof window<`u`?window:Pe;Ln(`oc:keyboard-intent`,Ue,Ke),Ln(`oc:keyboard-anim`,We,Ke),Ln(`oc:keyboard-settled`,Ge,Ke),Z.useEffect(()=>{if(!(!e||typeof window>`u`))return()=>{Ve(),j.current=!1,M.current=!1}},[e]),Z.useEffect(()=>{e&&ce()},[e,r]);let qe=q(t=>{if(e){if(t===`animation`&&(A.current=wU()+vU),ce(),L.current){fe(!0),oe();return}b.current===`following`&&fe(!1)}}),Je=Z.useRef(new Map),Ye=q(t=>{let n=Je.current.get(t);if(n)return n;let r=()=>{e&&b.current===`following`&&fe(!1)},i={onChunk:r,onComplete:()=>{e&&ce()},onStreamingCandidate:()=>{},onAnimationStart:()=>{},onAnimatedHeightChange:r,onReservationCancelled:()=>{},onReasoningBlock:()=>{}};return Je.current.set(t,i),i});Z.useEffect(()=>()=>{E.current&&=(clearTimeout(E.current),null),le(),ae(),Se(),ee.current!==null&&(clearTimeout(ee.current),ee.current=null)},[]);let Xe=q(e=>{o?.(e)}),Ze=!!o;return Z.useEffect(()=>{if(!e||!Ze)return;let t=l;if(!t)return;let n=null,r=aU({onActive:e=>{e!==n&&(n=e,Xe(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 u=()=>r.onScroll();return t.addEventListener(`scroll`,u,{passive:!0}),()=>{t.removeEventListener(`scroll`,u),c.disconnect(),r.destroy()}},[l,e,Ze]),{scrollRef:c,state:f,isPinned:f===`following`,isOverflowing:m,isFollowingProgrammatically:v,showScrollButton:g,notifyContentChange:qe,getAnimationHandlers:Ye,goToBottom:me,scrollToBottomOnSend:he,releaseAutoFollow:ge,beginHistoryViewportPreservation:_e,endHistoryViewportPreservation:ve,saveSnapshotNow:we,restoreSnapshot:Te}},jU=`--oc-mobile-composer-swap`,MU=`--oc-native-composer-dock`,NU=()=>({phase:`rest`,rest:`expanded`,progress:0,pinned:!1}),PU=(e,t,n)=>Math.min(n,Math.max(t,e)),FU=(e,t)=>e.phase===t.phase&&e.rest===t.rest&&e.progress===t.progress&&e.pinned===t.pinned,IU=(e,t)=>{let n={phase:t.phase,rest:t.rest,progress:t.progress,pinned:t.pinned??e.pinned};return FU(e,n)?e:n},LU=(e,t)=>t?IU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0}):e.pinned?IU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!1}):e,RU=(e,t)=>{if(e.pinned&&t===`compact`)return e;let n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:IU(e,{phase:`snapping`,rest:t,progress:n})},zU=e=>PU(e/80,0,1),BU=e=>e>=80?1:PU(e/80,0,1),VU=(e,t,n={})=>{if(e.pinned||n.userDriven===!1)return e;let r=Math.max(0,t),i=e.phase===`snapping`?IU(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e;if(i.rest===`expanded`){if(r<=2||n.holdExpanded)return IU(i,{phase:`rest`,rest:`expanded`,progress:0});let e=zU(r);return e>=1?IU(i,{phase:`rest`,rest:`compact`,progress:1}):IU(i,{phase:`tracking`,rest:`expanded`,progress:e})}if(r<=2)return IU(i,{phase:`rest`,rest:`expanded`,progress:0});if(n.suppressReturn)return IU(i,{phase:`rest`,rest:`compact`,progress:1});if(n.towardBottom&&r>=80)return IU(i,{phase:`snapping`,rest:`expanded`,progress:0});let a=BU(r);return a>=1?IU(i,{phase:`rest`,rest:`compact`,progress:1}):IU(i,{phase:`tracking`,rest:`compact`,progress:a})},HU=e=>e.pinned?`expanded`:e.rest===`expanded`?e.progress>=.5?`compact`:`expanded`:e.progress<=.5?`expanded`:`compact`,UU=e=>{if(e.pinned)return IU(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0});if(e.phase===`snapping`)return e;let t=HU(e),n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:IU(e,{phase:`snapping`,rest:t,progress:n})},WU=e=>e.phase===`snapping`?IU(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e,GU=e=>PU(Math.max(0,e)/80,0,1),KU=(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:GU(n),rest:`bottom`}},qU=e=>{e.style.removeProperty(jU),e.style.removeProperty(MU),delete e.dataset.ocComposerSwapPhase,delete e.dataset.ocComposerSwapRest,delete e.dataset.ocNativeComposerDock},JU=(e,t,n)=>{let r=KU(t,n?.rest===`bottom`?`bottom`:`away`),i=String(r.progress),a=r.rest;return n?.progress!==i&&e.style.setProperty(MU,i),n?.rest!==a&&(e.dataset.ocNativeComposerDock=a),{progress:i,rest:a}},YU=(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(jU,r),n?.rest!==a&&(e.dataset.ocComposerSwapRest=a),{progress:r,phase:i,rest:a}},XU=e=>({scrollHeight:e.scrollHeight,scrollTop:e.scrollTop,clientHeight:e.clientHeight}),ZU=()=>{let e=document.documentElement;return e.classList.contains(`oc-keyboard-open`)||e.classList.contains(`oc-kb-animating`)},QU=e=>{if(ZU()||e.querySelector(`[data-oc-composer-dictation-active="true"]`))return!0;let t=document.activeElement;return t instanceof HTMLElement&&t.matches(`textarea[data-chat-input="true"]`)&&e.contains(t)},$U=e=>{let t=Z.useRef(NU()),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=q(t=>{let r=e.scopeRef.current;r&&(n.current=YU(r,t,n.current))}),b=q(e=>{e!==t.current&&(t.current=e,y(e))}),x=q(()=>{if(v(a),t.current.phase!==`snapping`)return;let e=t.current.rest;a.current=window.setTimeout(()=>{a.current=null;let n=WU(t.current);b(n),n.rest===`compact`&&e===`compact`&&(o.current=Date.now()+320,s.current=!0)},240)}),S=q(()=>{let n=e.scopeRef.current;!n||!_.current||b(LU(t.current,QU(n)))}),C=q(e=>s.current?Date.now()>=o.current?(s.current=!1,!1):e>=80?(s.current=!1,o.current=0,!1):!0:!1),w=q(()=>{if(v(i),!_.current||c.current>0||t.current.phase!==`tracking`)return;let e=UU(t.current);b(e),x()}),T=q(()=>{u.current=!1,d.current=0;for(let e of l.current.values())e.startX=e.currentX,e.startY=e.currentY}),E=q(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=q(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=XU(t);p.current=e,f.current=Uz(e,Vz(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=q(()=>{if(!_.current)return;let n=e.scrollRef.current,o=e.scopeRef.current;if(!n||!o)return;let s=QU(o),l=XU(n),y=Uz(l,Vz(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=JU(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=LU(j,s);if(!s){let e=M.rest===`compact`;M=VU(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=q(()=>{u.current&&(c.current>0||Date.now()-d.current<=1200)&&w()}),A=q((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=q(e=>{A(e,!0)}),M=q(e=>{A(e,!1)}),N=q(()=>{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=q(n=>{if(!_.current)return;let r=n.target;r instanceof Element&&r.closest(`[data-oc-composer-compact-surface="true"]`)&&(r.closest(`[data-composer-action="true"]`)||(`preventDefault`in n&&n.preventDefault(),`stopPropagation`in n&&n.stopPropagation(),g.current=!0,m.current=0,h.current=0,b(RU(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=q(e=>{e&&qU(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(NU())});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,[]),ee=e.enabled&&F?F:V,H=e.enabled&&L?L:V,U=e.enabled&&typeof window<`u`?window:V,te=Z.useMemo(()=>({passive:!0}),[]);Ln(`scroll`,O,ee,te),Ln(`scrollend`,k,ee,te),Ln(`touchstart`,D,ee,te),Ln(`touchmove`,E,ee,te),Ln(`touchend`,j,ee,te),Ln(`touchcancel`,M,ee,te),Ln(`pointerdown`,P,H),Ln(`focusin`,S,H),Ln(`focusout`,S,H),Ln(`oc:keyboard-intent`,S,U),Ln(`oc:keyboard-anim`,S,U),Ln(`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])},eW=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},tW=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},nW=e=>{if(!e)return null;let t=eW(e);return`${typeof e.info?.id==`string`?e.info.id:``}::${t}::${tW(e)??``}`},rW=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}),iW=(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&&nW(t[r])===nW(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=eW(r),a=r.info.id,o=rW(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=tW(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},aW=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=eW(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=tW(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}},oW=200,sW={MAX_SESSIONS:3,ZOMBIE_TIMEOUT:6e5},cW=()=>oW,lW=()=>Math.round(cW()*.6),uW={MAX_SESSIONS:sW.MAX_SESSIONS,VIEWPORT_MESSAGES:Math.round(oW*.6),HISTORICAL_MESSAGES:oW,FETCH_BUFFER:20,HISTORY_CHUNK:oW,STREAMING_BUFFER:1/0,ZOMBIE_TIMEOUT:sW.ZOMBIE_TIMEOUT},dW=()=>{let e=cW(),t=lW();return{...uW,HISTORICAL_MESSAGES:e,VIEWPORT_MESSAGES:t,HISTORY_CHUNK:e}},fW=uW,pW=600,mW=6e3,hW=.5,gW=(e,t)=>e.querySelector(`[data-message-id="${CSS.escape(t)}"]`),_W=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},vW=(e,t)=>{let n=gW(e,t);if(n||=_W(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}},yW=e=>{let{container:t,quiesceMs:n=pW,maxLifetimeMs:r=mW}=e,i={messageId:e.anchor.messageId,offsetTop:e.anchor.offsetTop},a=!1,o=e.pending??!1,s=null,c=null,l=!1,u=t.scrollTop,d=()=>{s!==null&&(clearTimeout(s),s=null)},f=()=>{c!==null&&(clearTimeout(c),c=null)},p=()=>{a||(a=!0,b.disconnect(),t.removeEventListener(`scroll`,y),d(),f())},m=()=>{d(),!(a||o)&&(s=setTimeout(()=>{s=null,p()},n))},h=()=>{f(),!(a||o)&&(c=setTimeout(()=>{c=null,p()},r))},g=()=>{if(a)return;let e=vW(t,i.messageId);if(!e){p();return}i.messageId=e.messageId,i.offsetTop=e.offsetTop,u=t.scrollTop},_=()=>{if(a)return;if(Math.abs(t.scrollTop-u)>hW){g();return}let e=gW(t,i.messageId);if(!e){let n=_W(t);if(!n){p();return}let r=n.dataset.messageId;if(!r){p();return}let a=t.getBoundingClientRect();i.messageId=r,i.offsetTop=n.getBoundingClientRect().top-a.top,e=n,u=t.scrollTop}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect().top-n.top-i.offsetTop;Math.abs(r)>hW&&(t.scrollTop+=r),u=t.scrollTop},v=()=>{a||l||(l=!0,queueMicrotask(()=>{l=!1,_()}))},y=()=>{g(),m(),h()},b=new MutationObserver(()=>{a||(v(),m())});return b.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`style`,`class`]}),t.addEventListener(`scroll`,y,{passive:!0}),h(),m(),{rebase:g,dispose:p,settle(){a||!o||(o=!1,m(),h())}}},bW=30,xW=1200,SW=1.5,CW=e=>Math.max(xW,e*SW),wW=4,TW=30,EW=4,DW=30,OW=250,kW=1500,AW=2e3,jW=na+2e3,MW=40,NW=`history-loading-timeout`,PW=e=>!!(e&&typeof e==`object`&&e.code===`history-loading-timeout`),FW=()=>{let e=Error(`chat history pagination wait timed out`);return e.code=NW,e},IW=(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)},LW=2500,RW=new Map,zW=()=>le()?wW:ei()?EW:bW,BW=e=>le()?e.length<=TW:!ei()||e.length<=DW,VW=(e,t)=>{if(RW.delete(e),!BW(t.messages))return;let n=zW();for(;RW.size>=n;){let e=RW.keys().next().value;if(typeof e!=`string`)break;RW.delete(e)}RW.set(e,t)},HW=e=>!!(e.previousOldestId&&e.currentOldestId&&e.currentOldestId!==e.previousOldestId&&e.previousNewestId&&e.currentNewestId&&e.currentNewestId===e.previousNewestId),UW=e=>e?{owner:`tanstack-core`}:{owner:`controller`},WW=(e,t)=>e?e.canLoadEarlier:t>=dW().HISTORICAL_MESSAGES,GW=e=>!(e.isLoadingOlder||e.pendingRevealWork||!e.canLoadEarlier||e.source===`scroll`&&e.isPinned||e.scrollTop>=CW(e.clientHeight)),KW=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`,qW=8,JW=1,YW=8,XW=e=>!(!e.enabled||e.isMobile||!e.sessionReady||!e.messageReady||e.historyLoading||!e.canLoadEarlier||!e.isPinned||e.fillBlocked||e.pendingRevealWork||e.isLoadingOlder||!e.hasMessages||e.clientHeight<=0||e.scrollHeight>e.clientHeight+48),ZW=e=>[`chat-timeline-auto-fill`,e.runtimeKey,e.sessionId,e.oldestMessageId,e.messageCount,e.canLoadEarlier],QW=e=>[`chat-timeline-load-earlier`,e.runtimeKey,e.sessionId],$W=20,eG=4,tG=80,nG=new WeakMap,rG=new WeakMap,iG=e=>{let t=rG.get(e)??{generation:0};return t.generation+=1,rG.set(e,t),t.generation},aG=e=>{let t=nG.get(e);t&&(t.touches=0,t.pending=null,t.settleScheduled=!1),iG(e)},oG=e=>{sG(e)},sG=e=>{let t=nG.get(e);if(t)return t;let n={touches: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&&cG(e,n)};return e.addEventListener(`touchend`,r,{passive:!0}),e.addEventListener(`touchcancel`,r,{passive:!0}),nG.set(e,n),n},cG=(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+tG||lG(e,n.anchorTop+n.delta))}))},lG=(e,t)=>{let n=iG(e),r=e.style.overflow;if(e.style.overflow=`hidden`,e.scrollTop=t,e.scrollHeight,e.style.overflow=r,e.scrollTop=t,typeof window>`u`)return;let i=!1,a=0,o=()=>{i=!0};e.addEventListener(`touchstart`,o,{passive:!0,once:!0});let s=()=>{if(!i){if((rG.get(e)?.generation??0)!==n){e.removeEventListener(`touchstart`,o);return}e.scrollTop<t-eG&&(e.scrollTop=t),a+=1,a<$W?window.requestAnimationFrame(s):e.removeEventListener(`touchstart`,o)}};window.requestAnimationFrame(s)},uG=(e,t,n)=>{let r=sG(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,lG(e,t)},dG=(e,t,n)=>!e||!t||t===e?!1:n.some(t=>t.info.id===e),fG=(e,t)=>e.scrollHeight===t.scrollHeight&&e.clientHeight===t.clientHeight?e:t,pG=({sessionId:e,directory:t=null,messages:n,historyMeta:r,scrollRef:i,messageListRef:a,loadMoreMessages:o,goToBottom:s,releaseAutoFollow:l,beginHistoryViewportPreservation:d,endHistoryViewportPreservation:f,isPinned:p,showScrollButton:m,isMobile:h,autoFillEnabled:g=!1,onWillLoadEarlier:_})=>{let v=Z.useRef(h),y=Z.useRef(g);v.current=h,y.current=g;let b=Z.useRef(null),x=Z.useRef(null),S=Z.useMemo(()=>{let t=e??``,r=t?RW.get(t):void 0;if(r&&r.messages===n)return VW(t,r),b.current=r.model,x.current=n,r.model;let i=iW(b.current,x.current,n)??aW(n);return b.current=i,x.current=n,t&&n.length>0&&VW(t,{messages:n,model:i}),i},[n,e]),[C,w]=Z.useState(!1),[T,E]=Z.useState(!1),[D,O]=Z.useState(null),[k,A]=Z.useState(!1),j=Z.useRef(!1),M=Z.useRef(0),N=u(),P=c(),F=Z.useMemo(()=>({runtimeKey:N,runtimeGeneration:P,sessionId:e,directory:t}),[N,P,e,t]),I=Z.useRef(F);I.current=F;let L=`chat-history-error:${JSON.stringify([N,t??null,e])}`;In(()=>(I.current=F,()=>{I.current===F&&(I.current=null),cr.dismiss(L)}),[F,L]);let[R,z]=Z.useState({scrollHeight:0,clientHeight:0}),B=Z.useRef(S),V=Z.useRef(p),ee=Z.useRef(C),H=Z.useRef(T),U=Z.useRef(e),te=Z.useRef(t??null),W=Z.useRef(n),ne=Z.useRef(r),re=Z.useRef([]),ie=Z.useRef(null),ae=Z.useRef(null),oe=Z.useRef(!1),se=Z.useRef(null),ce=Z.useRef({authorized:!1,consumed:!1,top:0}),le=q(()=>{ce.current={authorized:!1,consumed:ee.current,top:i.current?.scrollTop??0}}),ue=()=>h?i.current??void 0:void 0,de=q(e=>{e.repeat||le()});Ln(`touchstart`,le,ue,{passive:!0,capture:!0}),Ln(`wheel`,le,ue,{passive:!0,capture:!0}),Ln(`keydown`,de,ue,{capture:!0});let[fe,pe]=Z.useState(F);fe!==F&&(pe(F),se.current!==null&&typeof window<`u`&&(window.clearTimeout(se.current),se.current=null),oe.current=!1,ee.current=!1,ae.current=null,w(!1),E(!1),O(null),A(!1),j.current=!1,M.current=0,ce.current={authorized:!1,consumed:!1,top:0},z({scrollHeight:0,clientHeight:0}));let me=Z.useMemo(()=>{let e=WW(r,n.length);return{hasBufferedTurns:!1,hasMoreAboveTurns:e,historyLoading:!!r?.loading,canLoadEarlier:e}},[r,n.length]),he=Z.useRef(me);B.current=S,V.current=p,H.current=T,he.current=me,U.current=e,te.current=t??null,W.current=n,ne.current=r,In(()=>{r?.complete&&(j.current=!1,A(!1),cr.dismiss(L))},[r?.complete,L]);let ge=q(()=>{oe.current=!0,se.current!==null&&typeof window<`u`&&(window.clearTimeout(se.current),se.current=null)}),_e=q(()=>{if(typeof window>`u`){oe.current=!1;return}se.current!==null&&window.clearTimeout(se.current),se.current=window.setTimeout(()=>{se.current=null,oe.current=!1},AW)}),ve=q(()=>{let e=re.current;e.length!==0&&(re.current=[],e.forEach(e=>e()))}),ye=q(()=>new Promise(e=>{if(typeof window>`u`){e();return}let t=!1,n=()=>{t||(t=!0,window.clearTimeout(r),e())};re.current.push(n);let r=window.setTimeout(n,OW)})),be=q(e=>{let t=ie.current;t&&(ie.current=null,t.resolve(e))}),xe=q(()=>{let e=ie.current;if(e){if(e.sessionId!==U.current){be(!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&&(ae.current={turnId:e.turnId,expiresAt:Date.now()+LW},O(e.turnId)),be(!0);return}typeof(e.kind===`turn`?B.current.turnIndexById.get(e.id):B.current.messageToTurnIndex.get(e.id))==`number`&&be(!1)}}),Se=Z.useRef(null),Ce=q(()=>{let e=Se.current;e&&(Se.current=null,e.dispose())});Fn(()=>{se.current!==null&&typeof window<`u`&&(window.clearTimeout(se.current),se.current=null),Ce(),ve(),be(!1)});let we=n;In(()=>{ve(),xe()},[we]);let Te=q(()=>{let e=i.current;if(!e){z(e=>fG(e,{scrollHeight:0,clientHeight:0}));return}z(t=>fG(t,{scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}))});Nn(typeof ResizeObserver<`u`?i:null,Te),In(()=>{Te()},[F,C]);let Ee=Z.useRef(null),De=q(()=>a.current?.captureViewportAnchor()??null),Oe=q(e=>a.current?.restoreViewportAnchor(e)??!1),ke=q(()=>{if(Ce(),a.current?.isHistoryVirtualized())return;let e=i.current;if(!e)return;let t=De();if(t)return Se.current=yW({container:e,anchor:t,pending:!0}),Se.current}),Ae=Z.useRef(null);In(()=>{if(!ei())return;let e=i.current;e&&(oG(e),aG(e))},[F,i]),In(()=>{Ce(),Ee.current=null,Ae.current=null,a.current?.cancelViewportAnchorHold()},[F]),In(()=>{let e=i.current;if(!e)return;let t=Ee.current;a.current?.isHistoryVirtualized()&&Ce(),t&&Math.abs(e.scrollTop-t.top)>YW&&(Ee.current=null,t=null);let n=Ae.current,r=we[0]?.info?.id??null,o=we[we.length-1]?.info?.id??null,c=n?HW({previousOldestId:n.oldestId,previousNewestId:n.newestId,currentOldestId:r,currentNewestId:o})||dG(n.oldestId,r,we):!1;t&&t.sessionId!==U.current&&(Ee.current=null,t=null);let l=t?HW({previousOldestId:t.oldestId,previousNewestId:t.newestId,currentOldestId:r,currentNewestId:o})||dG(t.oldestId,r,we):!1,u=c||l,d=e=>{Ae.current={oldestId:r,newestId:o,scrollHeight:e??Ae.current?.scrollHeight??0}};if(V.current&&!t){Ce(),u?(Ee.current=null,s(`instant`),d(e.scrollHeight)):d();return}let f=UW(a.current?.isHistoryVirtualized()??!1);if(t){if(f.owner===`tanstack-core`){a.current?.cancelViewportAnchorHold();let e=t.anchor;e&&Oe(e),d();return}let n=e.scrollHeight,r=n-t.height;if(ei()){r>0&&uG(e,t.top+r,r),d(n);return}let i=t.anchor;!(i&&Oe(i))&&r>0&&(e.scrollTop=t.top+r),d(n);return}if(c&&n&&f.owner===`controller`){let t=e.scrollHeight,r=t-n.scrollHeight;if(r>0){let t=e.scrollTop+r;ei()?uG(e,t,r):e.scrollTop=t}d(t),ke();return}d()},[we,s]);let je=q(async()=>!1),Me=q(async e=>{let t=I.current,n=()=>t===I.current&&t?.runtimeKey===u()&&t?.runtimeGeneration===c(),r=Date.now(),i=r+jW,a=te.current,o=a?cn()?.getRequestState?.(Rt(a,e)):void 0;for(he.current.historyLoading,ne.current,o?.status,o?.error;he.current.historyLoading;){if(!n()||U.current!==e)return Date.now()-r,`switched`;if(Date.now()>=i){let t=a?cn()?.getRequestState?.(Rt(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:jW,hostTurnPageTimeoutMs:na,historyLoading:he.current.historyLoading,historyMeta:ne.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,MW)})}return Date.now()-r,a&&cn()?.getRequestState?.(Rt(a,e))?.status,n()&&U.current===e?`cleared`:`switched`}),Ne=q(async e=>{if(!U.current||ee.current||!he.current.hasMoreAboveTurns)return!1;ee.current=!0,ge(),w(!0);let t=U.current,n=I.current,r=()=>n===I.current&&n?.runtimeKey===u()&&n?.runtimeGeneration===c(),s=()=>n?.directory?cn()?.getPagination(Rt(n.directory,t)).cursor??null:null,l=L,p=null,m=null,h=!!e.userInitiated;h&&d();let g=()=>{r()&&(m?.settle(),p&&Ee.current===p&&(Ee.current=null,a.current?.cancelViewportAnchorHold()),h&&(h=!1,f()))};try{if(he.current.historyLoading){if(!e.userInitiated)return!1;let n=await Me(t);if(n===`timeout`)throw FW();if(n===`switched`||!he.current.hasMoreAboveTurns)return!1}if(!r()||!U.current||U.current!==t)return!1;let n=i.current,a=W.current,c=a.length,u=a[0]?.info?.id??null,d=ne.current?.limit??dW().HISTORICAL_MESSAGES;e.preserveViewport&&n&&(p={sessionId:U.current,height:n.scrollHeight,top:n.scrollTop,anchor:De(),oldestId:u,newestId:a[a.length-1]?.info?.id??null},Ee.current=p,m=ke()??null);let f=c,h=u,_=d,v=0,y=0;for(;;){if(he.current.historyLoading)if(e.userInitiated){let e=await Me(t);if(e===`timeout`)throw g(),FW();if(e===`switched`)return g(),!1}else return g(),!1;let n=i.current?.scrollHeight??0,a=f,c=h,u=_,d=s();if(await o(t,`up`),v+=1,!r()||U.current!==t)return g(),!1;if(await ye(),!r())return!1;let p=(()=>{let t=W.current;return KW({scrollHeightBefore:n,scrollHeightAfter:i.current?.scrollHeight??n,messageCountBefore:a,messageCountAfter:t.length,oldestIdBefore:c,oldestIdAfter:t[0]?.info?.id??null,limitBefore:u,limitAfter:ne.current?.limit??_,cursorBefore:d,cursorAfter:s(),hasMoreAbove:he.current.hasMoreAboveTurns,pagesLoaded:v,maxPages:e.singlePage?1:qW})})();if(p===`continue`){let e=W.current;f=e.length,h=e[0]?.info?.id??null,_=ne.current?.limit??_;continue}if(p===`stop-no-growth`){if(e.singlePage)return g(),!1;if(he.current.historyLoading){if(e.userInitiated){let e=await Me(t);if(e===`timeout`)throw g(),FW();if(e===`switched`)return g(),!1;--v;continue}return g(),!1}if(y<JW){y+=1,--v;continue}return j.current=!0,M.current=Date.now()+kW,A(!0),g(),!1}return j.current=!1,M.current=0,A(!1),cr.dismiss(l),!0}}catch(e){throw r()&&(j.current=!0,M.current=Date.now()+kW,A(!0)),g(),e}finally{r()&&(ee.current=!1,w(!1),_e(),ye().then(g))}}),{t:Pe}=Vn(),Fe=K({mutationKey:QW({runtimeKey:u(),sessionId:e??``}),mutationFn:async e=>{if(I.current!==e.scope||u()!==e.scope.runtimeKey||c()!==e.scope.runtimeGeneration||U.current!==e.sessionId)return!1;ge(),e.userInitiated&&l();try{return await Ne({preserveViewport:!0,userInitiated:!!e.userInitiated,singlePage:e.singlePage})}finally{I.current===e.scope&&c()===e.scope.runtimeGeneration&&_e()}}}),Ie=q(async e=>{let t=U.current;if(!t||!he.current.canLoadEarlier)return;let n=F,r=L,i=()=>I.current===n&&u()===n.runtimeKey&&c()===n.runtimeGeneration;if(!(Fe.isPending&&Fe.variables?.sessionId===t&&Fe.variables?.scope===n)){e?.userInitiated&&_?.();try{let r=await Fe.mutateAsync({sessionId:t,scope:n,userInitiated:!!e?.userInitiated,singlePage:e?.singlePage});if(!i())return;if(r===!1&&he.current.canLoadEarlier){let n={sessionId:t,grew:r,userInitiated:!!e?.userInitiated,canLoadEarlier:he.current.canLoadEarlier,hasMoreAboveTurns:he.current.hasMoreAboveTurns,historyLoading:he.current.historyLoading,historyMeta:ne.current,messageCount:W.current.length,oldestMessageId:W.current[0]?.info?.id??null};IW(`no-growth`,Error(`chat history pagination returned no growth`),n)}}catch(n){let a={sessionId:t,userInitiated:!!e?.userInitiated,waitMs:jW,hostTurnPageTimeoutMs:na,canLoadEarlier:he.current.canLoadEarlier,historyLoading:he.current.historyLoading,historyMeta:ne.current,messageCount:W.current.length,oldestMessageId:W.current[0]?.info?.id??null};PW(n)?IW(`timeout`,n,a):IW(`failed`,n,a),i()&&e?.userInitiated&&cr.error(PW(n)?Pe(`chat.history.loadOlderTimeout`):Pe(`chat.history.loadOlderFailed`),{id:r})}}}),Le=Fe.isPending&&Fe.variables?.sessionId===e&&Fe.variables?.scope===F||C,Re=n[0]?.info?.id??null,ze=e&&t?cn()?.getPagination(Rt(t,e)).cursor??null:null,Be=XW({enabled:g,isMobile:h,sessionReady:!!e,messageReady:n.length>0||!!r,historyLoading:me.historyLoading,canLoadEarlier:me.canLoadEarlier,isPinned:p,fillBlocked:k,scrollHeight:R.scrollHeight,clientHeight:R.clientHeight,pendingRevealWork:T,isLoadingOlder:!1,hasMessages:n.length>0});Cn({queryKey:[...ZW({runtimeKey:u(),sessionId:e??``,oldestMessageId:Re,messageCount:n.length,canLoadEarlier:me.canLoadEarlier}),P,t??null,ze],enabled:!!e&&Be,staleTime:1/0,gcTime:0,retry:(e,t)=>t?.code===`auto-fill-busy`&&e<40,retryDelay:50,refetchOnMount:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1,queryFn:async()=>{if(!y.current||v.current||j.current||!V.current)return{status:`skip`};let e=U.current;if(!e)return{status:`skip`};let t=F,n=()=>I.current===t&&u()===t.runtimeKey&&c()===t.runtimeGeneration;if(!n())return{status:`skip`};if(he.current.historyLoading||ee.current){let e=Error(`auto-fill-busy`);throw e.code=`auto-fill-busy`,e}if(!he.current.canLoadEarlier)return{status:`skip`};let r=i.current;if(!r||r.clientHeight<=0)return{status:`skip`};if(r.scrollHeight>r.clientHeight+48)return{status:`tall`};try{let t=await Ne({preserveViewport:!0});return n()?t?{status:`grew`}:(he.current.canLoadEarlier&&IW(`no-growth`,Error(`chat history pagination returned no growth`),{sessionId:e,source:`auto-fill`,grew:t,canLoadEarlier:he.current.canLoadEarlier,hasMoreAboveTurns:he.current.hasMoreAboveTurns,historyLoading:he.current.historyLoading,historyMeta:ne.current,messageCount:W.current.length,oldestMessageId:W.current[0]?.info?.id??null}),A(!0),{status:`blocked`}):{status:`skip`}}catch(t){if(t?.code===`auto-fill-busy`)throw t;let r={sessionId:e,source:`auto-fill`,waitMs:jW,canLoadEarlier:he.current.canLoadEarlier,historyLoading:he.current.historyLoading,historyMeta:ne.current,messageCount:W.current.length,oldestMessageId:W.current[0]?.info?.id??null};throw PW(t)?IW(`timeout`,t,r):IW(`failed`,t,r),n()&&A(!0),t instanceof Error?t:Error(`chat timeline auto-fill failed`)}}});let Ve=q(e=>{if(Date.now()<M.current)return;let t=i.current;if(t){if(v.current){let n=ce.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}GW({source:e,isMobile:v.current,isPinned:V.current,scrollTop:t.scrollTop,clientHeight:t.clientHeight,canLoadEarlier:he.current.canLoadEarlier,isLoadingOlder:ee.current,pendingRevealWork:H.current})&&(v.current&&(ce.current.consumed=!0),Ie({userInitiated:!0,singlePage:v.current}))}}),He=q(()=>{Ve(`scroll`)}),Ue=q(()=>{Ve(`upward-intent`)}),We=q(async(t,n)=>{if(!t||!U.current)return!1;l(),E(!0);try{return U.current!==e||typeof B.current.turnIndexById.get(t)!=`number`?!1:!!await new Promise(r=>{ie.current={sessionId:U.current??e??``,kind:`turn`,id:t,behavior:n?.behavior??`auto`,turnId:t,resolve:r},xe()})}finally{E(!1)}}),Ge=q(async(t,n)=>{if(!t||!U.current)return!1;l(),E(!0);try{if(U.current!==e)return!1;let r=B.current.messageToTurnId.get(t);return typeof B.current.messageToTurnIndex.get(t)==`number`&&!!await new Promise(i=>{ie.current={sessionId:U.current??e??``,kind:`message`,id:t,behavior:n?.behavior??`auto`,turnId:r??null,resolve:i},xe()})}finally{E(!1)}}),Ke=q(async()=>{E(!1),ee.current=!1,w(!1),a.current?.scrollToBottom(),s(`smooth`)}),qe=q(async()=>{E(!1),ee.current=!1,w(!1),a.current?.scrollToBottom(),s(`instant`)}),Je=q(e=>{let t=ae.current;if(t){if(e!==t.turnId&&Date.now()<t.expiresAt)return;ae.current=null}O(e)});return{turnIds:S.turnIds,turnStart:0,renderedMessages:we,historySignals:me,isLoadingOlder:Le,pendingRevealWork:T,activeTurnId:D,showScrollToBottom:m&&!T,turnWindowModel:S,loadEarlier:Ie,revealBufferedTurns:je,resumeToBottom:Ke,resumeToBottomInstant:qe,scrollToTurn:We,scrollToMessage:Ge,handleHistoryScroll:He,handleHistoryUpwardIntent:Ue,captureViewportAnchor:De,restoreViewportAnchor:Oe,handleActiveTurnChange:Je}},mG=({mutateSession:e,forkSession:t})=>({revert:e,fork:t}),hG=({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=q(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)(Wo,{open:e,onOpenChange:t,children:(0,$.jsx)(Bo,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:(0,$.jsx)(gG,{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},gG=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}=Vn(),b=qb(),x=i,S=qa(x??``,a),C=Y(vG),w=Y(yG),T;t[0]===b.capabilities?T=t[1]:(T=mG(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=bG,L=xG,R;t[3]===S?R=t[4]:(R=S.filter(SG).map(CG),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 PH(n.parts).toLowerCase().includes(t)})}t[5]=p,t[6]=z,t[7]=B}else B=t[7];let V=B,ee;t[8]!==V.length||t[9]!==g||t[10]!==p?(ee=()=>{P.current||g(p.trim()?0:Math.max(0,V.length-1))},t[8]=V.length,t[9]=g,t[10]=p,t[11]=ee):ee=t[11];let H;t[12]!==V||t[13]!==g||t[14]!==p?(H=[V,p,g],t[12]=V,t[13]=g,t[14]=p,t[15]=H):H=t[15],Z.useEffect(ee,H);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 W,ne;t[19]===h?(W=t[20],ne=t[21]):(ne=()=>{P.current||j.current[h]?.scrollIntoView({block:`nearest`})},W=[h],t[19]=h,t[20]=W,t[21]=ne),Z.useEffect(ne,W);let re;t[22]===u?re=t[23]:(re=()=>{!P.current||N.current||u||(P.current=!1)},t[22]=u,t[23]=re);let ie;t[24]!==V.length||t[25]!==u?(ie=[V.length,u],t[24]=V.length,t[25]=u,t[26]=ie):ie=t[26],Z.useEffect(re,ie);let ae,oe;t[27]!==n||t[28]!==p?(ae=()=>{let e=F.current;if(F.current=n,!n||e||P.current||p.trim())return;let t=M.current;t&&(t.scrollTop=t.scrollHeight)},oe=[n,p],t[27]=n,t[28]=p,t[29]=ae,t[30]=oe):(ae=t[29],oe=t[30]),Z.useLayoutEffect(ae,oe);let se;t[31]===u?se=t[32]:(se=()=>{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]=se);let ce;t[33]!==V.length||t[34]!==u?(ce=[V.length,u],t[33]=V.length,t[34]=u,t[35]=ce):ce=t[35],Z.useLayoutEffect(se,ce);let le;t[36]===d?le=t[37]:(le=()=>{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]=le);let ue=q(le),de;t[38]!==r||t[39]!==o?(de=async e=>{await o?.(e)!==!1&&r(!1)},t[38]=r,t[39]=o,t[40]=de):de=t[40];let fe=q(de),pe;t[41]!==V||t[42]!==fe||t[43]!==g||t[44]!==h?(pe=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&&fe(r.message.info.id)}}},t[41]=V,t[42]=fe,t[43]=g,t[44]=h,t[45]=pe):pe=t[45];let me=q(pe),he;t[46]!==x||t[47]!==a||t[48]!==w||t[49]!==f||t[50]!==C||t[51]!==v?(he=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]=he):he=t[52];let ge=q(he),_e;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(X,{name:`time`,className:`h-5 w-5`}),t[53]=_e):_e=t[53];let ve;t[54]===y?ve=t[55]:(ve=y(`chat.timeline.title`),t[54]=y,t[55]=ve);let ye;t[56]===ve?ye=t[57]:(ye=(0,$.jsxs)(Vo,{className:`flex items-center gap-2`,children:[_e,ve]}),t[56]=ve,t[57]=ye);let be;t[58]===y?be=t[59]:(be=y(`chat.timeline.description`),t[58]=y,t[59]=be);let xe;t[60]===be?xe=t[61]:(xe=(0,$.jsx)(Ho,{children:be}),t[60]=be,t[61]=xe);let Se;t[62]!==ye||t[63]!==xe?(Se=(0,$.jsxs)(Lo,{children:[ye,xe]}),t[62]=ye,t[63]=xe,t[64]=Se):Se=t[64];let Ce;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(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]=Ce):Ce=t[65];let we;t[66]===y?we=t[67]:(we=y(`chat.timeline.searchPlaceholder`),t[66]=y,t[67]=we);let Te;t[68]===m?Te=t[69]:(Te=e=>m(e.target.value),t[68]=m,t[69]=Te);let Ee;t[70]!==me||t[71]!==p||t[72]!==we||t[73]!==Te?(Ee=(0,$.jsxs)(`div`,{className:`relative mt-2`,children:[Ce,(0,$.jsx)(_s,{autoFocus:!0,placeholder:we,value:p,onChange:Te,onKeyDown:me,className:`pl-9 w-full`})]}),t[70]=me,t[71]=p,t[72]=we,t[73]=Te,t[74]=Ee):Ee=t[74];let De;t[75]!==l||t[76]!==ue||t[77]!==u||t[78]!==d||t[79]!==y?(De=l&&d&&(0,$.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,$.jsxs)(Gn,{type:`button`,variant:`link`,size:`sm`,onClick:ue,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]=ue,t[77]=u,t[78]=d,t[79]=y,t[80]=De):De=t[80];let Oe;t[81]!==E.fork||t[82]!==E.revert||t[83]!==k||t[84]!==V||t[85]!==ge||t[86]!==fe||t[87]!==g||t[88]!==_||t[89]!==p||t[90]!==h||t[91]!==y?(Oe=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=FH(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()?_G(PH(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:J(`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 fe(n.info.id),onMouseEnter:()=>g(t),children:[(0,$.jsx)(`span`,{className:J(`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:J(`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:J(`gap-1`,k?`flex`:`hidden group-hover:flex`),children:[E.revert?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{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(),ge(`revert`,n.info.id)},children:(0,$.jsx)(X,{name:_?.type===`revert`&&_.messageId===n.info.id?`loader-4`:`arrow-go-back`,className:J(`h-4 w-4`,_?.type===`revert`&&_.messageId===n.info.id&&`animate-spin`)})})}),(0,$.jsx)(ys,{sideOffset:6,children:y(`chat.timeline.actions.revertFromHere`)})]}):null,E.fork?(0,$.jsxs)(bs,{children:[(0,$.jsx)(vs,{asChild:!0,children:(0,$.jsx)(Gn,{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(),ge(`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)(ys,{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]=ge,t[86]=fe,t[87]=g,t[88]=_,t[89]=p,t[90]=h,t[91]=y,t[92]=Oe):Oe=t[92];let ke;t[93]===Oe?ke=t[94]:(ke=(0,$.jsx)(`div`,{ref:M,className:`flex-1 overflow-y-auto`,children:Oe}),t[93]=Oe,t[94]=ke);let Ae;t[95]===y?Ae=t[96]:(Ae=y(`chat.timeline.actions.title`),t[95]=y,t[96]=Ae);let je;t[97]===Ae?je=t[98]:(je=(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground font-medium mb-2`,children:Ae}),t[97]=Ae,t[98]=je);let Me;t[99]!==r||t[100]!==s?(Me=()=>{s?.(-1),r(!1)},t[99]=r,t[100]=s,t[101]=Me):Me=t[101];let Ne;t[102]===y?Ne=t[103]:(Ne=y(`chat.timeline.actions.previousTurn`),t[102]=y,t[103]=Ne);let Pe;t[104]!==Me||t[105]!==Ne?(Pe=(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:Me,children:Ne}),t[104]=Me,t[105]=Ne,t[106]=Pe):Pe=t[106];let Fe;t[107]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`/`}),t[107]=Fe):Fe=t[107];let Ie;t[108]!==r||t[109]!==c?(Ie=()=>{c?.(),r(!1)},t[108]=r,t[109]=c,t[110]=Ie):Ie=t[110];let Le;t[111]===y?Le=t[112]:(Le=y(`chat.timeline.actions.latest`),t[111]=y,t[112]=Le);let Re;t[113]!==Ie||t[114]!==Le?(Re=(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:Ie,children:Le}),t[113]=Ie,t[114]=Le,t[115]=Re):Re=t[115];let ze;t[116]!==Pe||t[117]!==Re?(ze=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[Pe,Fe,Re]}),t[116]=Pe,t[117]=Re,t[118]=ze):ze=t[118];let Be;t[119]===y?Be=t[120]:(Be=y(`chat.timeline.help.clickMessage`),t[119]=y,t[120]=Be);let Ve;t[121]===Be?Ve=t[122]:(Ve=(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(`span`,{children:Be})}),t[121]=Be,t[122]=Ve);let He;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,$.jsx)(X,{name:`arrow-go-back`,className:`h-4 w-4 flex-shrink-0`}),t[123]=He):He=t[123];let Ue;t[124]===y?Ue=t[125]:(Ue=y(`chat.timeline.help.undoToPoint`),t[124]=y,t[125]=Ue);let We;t[126]===Ue?We=t[127]:(We=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[He,(0,$.jsx)(`span`,{children:Ue})]}),t[126]=Ue,t[127]=We);let Ge;t[128]!==E.fork||t[129]!==y?(Ge=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]=Ge):Ge=t[130];let Ke;t[131]!==Ve||t[132]!==We||t[133]!==Ge?(Ke=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 typography-meta text-muted-foreground`,children:[Ve,We,Ge]}),t[131]=Ve,t[132]=We,t[133]=Ge,t[134]=Ke):Ke=t[134];let qe;t[135]!==je||t[136]!==ze||t[137]!==Ke?(qe=(0,$.jsxs)(`div`,{className:`mt-4 p-3 bg-muted/30 rounded-lg`,children:[je,ze,Ke]}),t[135]=je,t[136]=ze,t[137]=Ke,t[138]=qe):qe=t[138];let Je;return t[139]!==Se||t[140]!==Ee||t[141]!==De||t[142]!==ke||t[143]!==qe?(Je=(0,$.jsxs)($.Fragment,{children:[Se,Ee,De,ke,qe]}),t[139]=Se,t[140]=Ee,t[141]=De,t[142]=ke,t[143]=qe,t[144]=Je):Je=t[144],Je};function _G(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 vG(e){return e.revertToMessage}function yG(e){return e.forkFromMessage}function bG(e){return Is(e)}function xG(e){return xs(e)}function SG(e){return e.info.role===`user`}function CG(e){return{message:e}}var wG=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},TG=(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`}},EG=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)},DG=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&&EG(`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&&EG(`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=TG(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 EG(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=()=>{EG(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=wG(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},OG=2e4,kG=6e4,AG=2e3,jG=e=>e?(typeof e.text==`string`?e.text.length:0)+(typeof e.state?.output==`string`?e.state.output.length:0):0,MG=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+=jG(e);return[e.length,t.info.id,n.length,r?.id??``,r?.state?.status??``,i].join(`:`)},NG={sessionKey:null,fingerprint:null,lastMovementAt:null,lastRefreshAt:null,attempts:0},PG=(e,t)=>{let{sessionKey:n,working:r,streaming:i,fingerprint:a,now:o}=t;if(!n)return{state:NG,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}},FG=e=>{console.warn(`[transcript] tail frozen while session is working — refetching authority`,e)};function IG(e){return!!(e.active&&e.sessionId&&e.sessionKey&&e.sessionIsWorking)}function LG(e){return e===NG?e:NG}function RG(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 BG(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||RG(i)==null}function VG(e){let t=[];for(let n of e){let e=Array.isArray(n.parts)?n.parts:[];for(let n of e){if(!BG(n))continue;let e=zG(n);e&&t.push(e)}}return t}function HG(e,t){return`${e}:${t.join(`,`)}`}function UG(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=HG(t,e.unansweredToolIds);return e.attemptedKey===r?{recover:!1,attemptKey:r}:{recover:!0,attemptKey:r}}function WG(e,t,n,r){let i=(0,Q.c)(7),a=wi(),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=UG({sessionId:e,directory:t,sessionQuestionCount:r,unansweredToolIds:VG(n),attemptedKey:o.current});if(!c.recover||!e||!t||!c.attemptKey)return;let l=a.getChild(t);l&&(o.current=c.attemptKey,Hr(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 GG=e=>!Number.isFinite(e)||e<0?0:Math.ceil(e),KG=(e,t)=>({...e,key:qG(e),estimatedBytes:GG(t)}),qG=({runtimeKey:e,sessionId:t,directory:n})=>JSON.stringify([e,n??``,t]),JG=e=>({key:e?qG(e):null,selection:e}),YG=(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},XG=(e,t,n,r)=>{let i=qG(t),a=e.findIndex(e=>e.key===i),o=a>=0?e[a]:void 0;if(o&&a===e.length-1)return YG(e,i,n);let s=o||KG(t,r),c=a>=0?e.filter((e,t)=>t!==a):[...e];return c.push(s),YG(c,i,n)},ZG=(e,t,n)=>{let r=GG(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)},QG=(e,t)=>t&&e.some(e=>e.key===t)?t:null,$G=(e,t,n)=>{let r=t.key?e.cachedSessionViews.find(e=>e.key===t.key):void 0,i=r&&t.selection?XG(e.cachedSessionViews,t.selection,n,r.estimatedBytes):YG(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}},eK=(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:KG(t.selection,r),intent:t};return e.pendingSessionView?.intent===t?e:{activeIntent:e.activeIntent,cacheNeedsTrim:e.cacheNeedsTrim,cachedSessionViews:e.cachedSessionViews,pendingSessionView:i}},tK=(e,t,n)=>{let r=e.pendingSessionView;return e.activeIntent!==t||r?.intent!==t||!t.selection?e:{activeIntent:e.activeIntent,cacheNeedsTrim:!1,cachedSessionViews:XG(e.cachedSessionViews,t.selection,n,r.entry.estimatedBytes),pendingSessionView:null}},nK=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},rK=e=>{if(!(!e.info||typeof e.info!=`object`))return e.info},iK=e=>rK(e)?.role===`assistant`,aK=(e,t)=>{let n=rK(t);n&&(e.agentName??=nK(n.agent),e.providerId??=nK(n.providerID),e.modelId??=nK(n.modelID))},oK=e=>!!(e.agentName&&e.providerId&&e.modelId),sK=e=>{let t={};for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||!iK(r))&&(aK(t,r),oK(t)))return t}for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||iK(r))&&(aK(t,r),oK(t)))break}return t},cK=e=>!!e.sessionId&&!(e.hasRenderableSessionSnapshot&&e.hasCurrentSessionEntity),lK=[],uK=[],dK=[],fK={type:`idle`},pK=`openchamber:chat-force-scroll-bottom`,mK=()=>void 0,hK=`Quota limit reached. Retrying automatically.`,gK=1048576,_K=gK,vK=20,yK=gK,bK=16*gK,xK={maxEntries:3,maxEstimatedBytes:32*gK},SK={maxEntries:2,maxEstimatedBytes:32*gK},CK=e=>i(()=>e()),wK={overflowAnchor:`none`,overscrollBehavior:`contain`,overscrollBehaviorY:`contain`},TK={scrollbar:`chat`,scrollShadow:`true`,orientation:`vertical`},EK=()=>{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},DK=`calc(max(0.625rem, var(--oc-safe-area-top, 0px)) + var(--oc-mobile-detail-navigation-height) + 1.25rem)`,OK=lU,kK=[`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(`,`),AK=e=>e instanceof HTMLElement,jK=e=>AK(e)?!!e.closest(kK):!1,MK=(e,t)=>typeof document>`u`||!e||e===document.body||e===document.documentElement||jK(e)?!0:!t?.contains(e),NK=()=>{let{isAboutDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isImagePreviewOpen:r,isMultiRunLauncherOpen:i,isSessionSwitcherOpen:a,isSettingsDialogOpen:o}=G.getState();return e||t||n||r||i||a||o},PK=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}=Vn(),z=mu(e=>e.legendTimelineEnabled),B=AD({isLoadingOlder:d}),[V,ee]=Z.useState({sessionId:e,directory:a,reserved:k}),H=V.sessionId===e&&V.directory===a,U=H&&V.reserved||k;(!H||V.reserved!==U)&&ee({sessionId:e,directory:a,reserved:U});let te=jD({isMobile:r,isLoadingOlder:B})?(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 z-20 flex justify-center pointer-events-none`,role:`status`,"aria-live":`polite`,children:(0,$.jsx)(`div`,{className:`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,W=r&&U?(0,$.jsx)(`div`,{className:J(`flex justify-center pt-3 pb-1`,!B&&`invisible`),"aria-hidden":!B,children:(0,$.jsxs)(`span`,{role:`status`,className:`flex items-center gap-1.5 text-[var(--surface-mutedForeground)]`,"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,ne=Z.useRef(new Map),re=Z.useRef(new WeakMap),ie=Z.useRef(new Map),ae=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(SI(n)){let r=TI(u,t)??``,i=ie.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`}];ie.current.set(n.info.id,{command:r,parts:t}),e.set(n.info.id,t)}continue}if(xi(n.parts))continue;let r=re.current.get(n.parts);r||(r=SD(n.parts),re.current.set(n.parts,r)),r.length!==0&&e.set(n.info.id,r)}let t=ne.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 ne.current=e,e},[u]),oe=Z.useMemo(()=>A.filter(e=>ae.has(e)),[ae,A]),se=Z.useMemo(()=>{if(!j||ae.has(j))return j;let e=A.indexOf(j);for(let t=e-1;t>=0;--t){let e=A[t];if(ae.has(e))return e}return null},[j,ae,A]),ce=q(e=>{e.defaultPrevented||jK(e.target)||typeof window<`u`&&window.getSelection()?.type===`Range`||o.current?.focus({preventScroll:!0})});return rl({scrollRef:o,enabled:z,onUpwardIntent:y}),z?(0,$.jsx)(`div`,{className:J(`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)(PV,{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:wK,timelineScrollDataset:TK,timelineOnScroll:v,timelineFollowEnabled:!c&&!x,timelineHistoryAnchorToken:S,timelineOnIsAtEndChange:b,headerSlot:(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:DK},"aria-hidden":`true`}),W,te]}),footerSlot:(0,$.jsxs)($.Fragment,{children:[(w.length>0||T.length>0)&&(0,$.jsxs)(`div`,{children:[w.map(e=>(0,$.jsx)(sH,{question:e},e.id)),T.map(e=>(0,$.jsx)(eH,{permission:e},e.id))]}),L?(0,$.jsx)(`div`,{className:`mb-1`,children:L}):null,(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?OK:sU},"aria-hidden":`true`})]})}),(0,$.jsx)(xc,{containerRef:o,suppressVisibility:O,userIntentOnly:!0,observeMutations:!1}),N&&oe.length>=2?(0,$.jsx)(nU,{turnIds:oe,previewsByTurnId:ae,activeTurnId:se,onSelectTurn:M,canLoadEarlier:P,isLoadingOlder:F,onLoadEarlier:I}):null]})}):(0,$.jsx)(`div`,{className:J(`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)(Ic,{className:J(`absolute inset-0 overflow-y-auto overflow-x-hidden z-0 chat-scroll overlay-scrollbar-target`),ref:o,style:wK,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:J(`oc-chat-scroll-content relative z-0 min-h-full`,r&&`chat-scroll-foot-inset`),children:[W,te,(0,$.jsx)(PV,{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)(gL,{})}):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)(sH,{question:e},e.id)),T.map(e=>(0,$.jsx)(eH,{permission:e},e.id)),E.map(e=>(0,$.jsx)(OH,{form:e,directory:a},e.id))]}),(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?cU:sU},"aria-hidden":`true`})]})}),(0,$.jsx)(xc,{containerRef:o,suppressVisibility:O,userIntentOnly:!0,observeMutations:!1}),N&&oe.length>=2?(0,$.jsx)(nU,{turnIds:oe,previewsByTurnId:ae,activeTurnId:se,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);PK.displayName=`ChatViewport`;var FK=[{id:1,toolRows:[{id:`search`,titleWidth:`w-24`,detailWidth:`w-52`},{id:`read`,titleWidth:`w-20`,detailWidth:`w-36`},{id:`edit`,titleWidth:`w-24`,detailWidth:`w-64`}],textWidths:[`w-24`,`w-[92%]`,`w-[78%]`]},{id:2,toolRows:[{id:`read`,titleWidth:`w-20`,detailWidth:`w-40`},{id:`search`,titleWidth:`w-24`,detailWidth:`w-48`}],textWidths:[`w-20`,`w-[88%]`,`w-[70%]`]},{id:3,toolRows:[{id:`shell`,titleWidth:`w-28`,detailWidth:`w-44`},{id:`edit`,titleWidth:`w-24`,detailWidth:`w-56`}],textWidths:[`w-24`,`w-[84%]`,`w-[64%]`]}],IK=e=>Hn(e.path),LK=(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)]})},RK=e=>{let t=Math.ceil(Math.max(0,e)/vK);return Math.min(bK,_K+t*yK)},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:l,onRevertMessage:u,warning:d=null,pendingUserMessages:f=uK,onPendingUserMessagesMaterialized:p,committedDraftHandoffMessageId:m=null})=>{let h=c??FD(void 0),{t:g}=Vn();In(()=>{ua()},[]);let _=Y(e=>e.openNewSessionDraft),v=Y(e=>e.setCurrentSession),y=Y(e=>e.newSessionDraft),b=Y(e=>e.newSessionDraft.draftSubmitting??!1),x=Y(e=>e.newSessionDraft.draftEstablishing??!1),S=Y(e=>e.forkTransition),C=Pi(e=>e.projects),w=Pi(e=>e.activeProjectId),T=Ki(e=>e.providers),E=kh(),D=yo(),O=i??D;In(()=>{!n||!r||!O||pi(O,r)},[n,r,O]);let k=q(e=>E.ensureSessionRenderable(e,{directory:O})),A=G(e=>e.isExpandedInput),j=G(e=>e.stickyUserHeader),M=G(e=>e.promptNavigatorEnabled),N=G(e=>e.allowPromptingSubagentSessions),P=G(e=>e.isTimelineDialogOpen),F=G(e=>e.setTimelineDialogOpen),I=fr(e=>n&&r?e.streamingMessageIds.get(r)??null:null),L=fr(e=>I?e.messageStreamStates.get(I)?.phase??null:null),R=xa(r??``,O),z=RK(R);Z.useEffect(()=>{!a||!o||o(a,z)},[o,z,a]);let B=ao(r??``,O).renderable,V=Xn(r,O),ee=Mi(r),H=V??ee,U=Hx({sessionId:r,hasSessionEntity:!!H,hasRenderableSessionSnapshot:B,composerSurfaceKind:s?.kind}),te=r?JSON.stringify([O,r]):null,[W,ne]=Z.useState({key:te,attempt:0}),re=qa(r??``,O,{suspendPartUpdates:!!I,suspendPartUpdatesForMessageId:I,enabled:n}),ie=r?re:lK,ae=y.pendingUserMessage,oe=Y(e=>r?e.retainedPendingUserMessages.get(r):void 0)??uK,se=!!(m||oe.length>0),ce=Y(e=>e.clearRetainedPendingUserMessages),ue=Z.useMemo(()=>{if(oe.length===0)return f;if(f.length===0)return oe;let e=new Set(f.map(e=>e.info.id));return[...f,...oe.filter(t=>!e.has(t.info.id))]},[f,oe]),de=Z.useMemo(()=>sK(ie),[ie]),fe=Z.useMemo(()=>{if(!de.modelId)return g(`common.unavailable`);let e=T.find(e=>e.id===de.providerId);return sr(e,de.modelId)||de.modelId},[T,de.modelId,de.providerId,g]),pe=Ji(r??``,O),me=ga(r??``,O),[he,ge]=Z.useState(null),_e=!!r&&he===r,ve=q(()=>{if(!r||_e)return;let e=r,t=O;ge(e);let n=Wi(()=>{let n=cn();if(!n)throw Error(`unbound`);return n.getTranscript(Rt(t,e))});Ra(Ao({kind:`refresh`,sessionID:e,directory:t,purpose:`retry`,source:`network`,request:pe?{sessionID:e,status:pe.status===`ready`?`ready`:pe.status,error:pe.error}:void 0,hydration:me,error:pe?.error})),(async()=>{try{await Ht(t,e),await E.ensureSessionRenderable(e,{directory:t});try{let r=Wi(()=>{let n=cn();if(!n)throw Error(`unbound`);return n.getTranscript(Rt(t,e))});n&&r&&ha({trigger:`user-refresh`,sessionID:e,directory:t,purpose:`retry`,before:n,after:r})}catch{}}catch(n){Ra(Ao({kind:`request-error`,sessionID:e,directory:t,purpose:`retry`,source:`network`,hydration:me,error:n}))}finally{ge(t=>t===e?null:t)}})()}),ye=fa(r??``,O).boundary,be=q(async e=>{if(ye.kind===`has-more`){await un(O,e);return}if(ye.kind===`unknown`){await rn(O,e);return}l&&!l.complete&&await l.fetchPrevious()}),xe=la(r??``,O),Se=Qa(r??``,O),Ce=za(O),we=xe??fK,Te=Hi(r,O),Ee=li(r,O),De=TH(e=>r?e.forms[r]??dK:dK),Oe=Z.useMemo(()=>De.filter(e=>!gt(e.metadata)),[De]);Z.useEffect(()=>{r&&EH({sessionID:r,directory:O}).catch(e=>{console.error(`[ChatContainer] Failed to list session forms:`,e)})},[r,O]),WG(r,O,ie,Ee.length);let ke=Z.useMemo(()=>{if(!r||Te.length>0||Ee.length>0)return!1;let e=we.type??`idle`;if(e===`busy`||e===`retry`||ED(ue,{resolvedSessionStatus:xe,sessionStatusObservedAt:Se}))return!0;let t=ie[ie.length-1]?.info,n=t?.time?.created;return xe&&typeof Se==`number`&&typeof n==`number`&&n<=Se||typeof Ce==`number`&&typeof n==`number`&&n<=Ce?!1:!!(t&&t.role===`assistant`&&typeof t.time?.completed!=`number`)},[r,ue,xe,ie,Te.length,Ee.length,we.type,Se,Ce]),Ae=Z.useMemo(()=>!r||we.type!==`retry`?null:{sessionId:r,message:(typeof we.message==`string`?(we.message??``).trim():``)||hK,confirmedAt:we.confirmedAt},[r,we]),[je,Me]=Z.useState(0),Ne=Z.useRef(null);Z.useEffect(()=>{if(!Ae||typeof Ae.confirmedAt==`number`){Ne.current=null,Me(0);return}Ne.current!==Ae.sessionId&&(Ne.current=Ae.sessionId,Me(Date.now()))},[Ae]);let Pe=Z.useMemo(()=>!Ae||MH(we)?null:{...Ae,fallbackTimestamp:je},[Ae,je,we]),Fe=Z.useMemo(()=>NH(we,e=>g(e)),[we,g]),Ie=!!(r&&E.isLoading(r,{directory:O})),Le=Z.useMemo(()=>{if(!r)return null;let e=DD({boundary:ye,assistantComplete:l?.complete??!0});return{limit:ye.loadedTurns,complete:e.complete,canLoadEarlier:e.canLoadEarlier,loading:OD({syncLoading:Ie,assistantLoading:!!l?.loading})}},[l?.complete,l?.loading,r,ye,Ie]),Re=G(e=>e.isMobile),ze=zc()!==null,Be=le(),Ve=jx(),He=!!y?.open,Ue=ti(e=>e.error),We=A,Ge=ze||Re||Be||Ve===`mini-chat`,Ke=Z.useRef(null),qe=Z.useMemo(()=>{let e=y?.selectedProjectId?C.find(e=>e.id===y.selectedProjectId)??null:null,t=w?C.find(e=>e.id===w)??null:null,n=e??t??C[0]??null;return n?IK(n):null},[w,y?.selectedProjectId,C]),Je=Ii(r,O),Ye=a??r??``,[Xe,Ze]=Z.useState(null),Qe=qx(Xe,Ye,Je,de);In(()=>{Ze(e=>qx(e,Ye,Je,de))},[Je,de,Ye]);let $e=Je??Qe?.parentTarget??null,et=Qe?.execution??de,tt=_p(),nt=tt!==null&&r===tt,rt=q(()=>{$e&&v($e.id,$e.directory)}),it=$e?.session?.title,at=h.returnToParent&&$e&&!nt?(0,$.jsxs)(Gn,{type:`button`,variant:`outline`,size:`xs`,onClick:rt,className:`absolute left-3 top-3 z-20 !font-normal bg-[var(--surface-background)]/95`,"aria-label":g(`chat.container.returnToParent.aria`),title:it?.trim()?g(`chat.container.returnToParent.titleNamed`,{title:it}):g(`chat.container.returnToParent.title`),children:[(0,$.jsx)(X,{name:`arrow-left`,className:`h-4 w-4`}),g(`chat.container.returnToParent.label`)]}):null,ot=Ux({readOnly:t,sessionIdentityPending:U,isSubagentSession:!!H?.parentID||!!Qe,allowPromptingSubagentSessions:N}),st=et.modelId===de.modelId?fe:et.modelId?sr(T.find(e=>e.id===et.providerId),et.modelId)||et.modelId:g(`common.unavailable`),ct=$e?(0,$.jsx)(zD,{agentName:et.agentName,providerId:et.providerId,modelId:et.modelId,modelName:st}):(0,$.jsx)(zD,{}),lt=q(e=>{G.getState().setAllowPromptingSubagentSessions(e.allowPromptingSubagentSessions)}),ut=q(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`&&lt({allowPromptingSubagentSessions:t.payload.allowPromptingSubagentSessions})}),ft=typeof window<`u`&&window.parent!==window;Ln(`message`,ut,ft?window:mK),Rn(()=>{if(!ft)return;let e=window;e.__openchamberApplyChatSettingsSync=lt,window.parent.postMessage({type:`openchamber:chat-settings-request`},window.location.origin)}),Fn(()=>{if(typeof window>`u`)return;let e=window;e.__openchamberApplyChatSettingsSync===lt&&delete e.__openchamberApplyChatSettingsSync}),Z.useEffect(()=>{h.newSessionDraft&&e&&!r&&!He&&_()},[e,r,He,h.newSessionDraft,_]);let pt=Z.useRef(()=>{}),mt=q(e=>{pt.current(e)}),ht=Z.useRef(()=>{}),_t=q(()=>{ht.current()}),vt=mu(e=>e.legendTimelineEnabled),[yt,bt]=Z.useState(!0),[xt,St]=Z.useState(!1),[Ct,wt]=Z.useState(!1),[Tt,Et]=Z.useState(0),Dt=q(()=>{Et(e=>e+1)}),Ot=q((e,t)=>{bt(e),e&&wt(!1),t!==void 0&&St(t)});Z.useEffect(()=>{bt(!0),St(!1),wt(!1)},[r]);let{scrollRef:kt,notifyContentChange:At,getAnimationHandlers:jt,goToBottom:Mt,scrollToBottomOnSend:Nt,releaseAutoFollow:Pt,beginHistoryViewportPreservation:Ft,endHistoryViewportPreservation:It,restoreSnapshot:Lt,isPinned:zt,isFollowingProgrammatically:Bt,showScrollButton:Vt}=AU({enabled:n&&!vt,currentSessionId:r,viewportKey:a,sessionMessageCount:R,sessionIsWorking:ke,isMobile:Re,onActiveTurnChange:mt,onUpwardUserIntent:_t}),Ut=Z.useRef(null);$U({enabled:Re,scrollRef:kt,scopeRef:Ut});let Wt=Z.useRef([]),Gt=Z.useMemo(()=>{let e=JD(l?.entries??[],r,Wt.current);return Wt.current=e,e},[l?.entries,r]),Kt=Z.useRef([]),qt=Z.useMemo(()=>{if(!l)return ie;let e=ZD(l.entries,r,ie,Kt.current);return Kt.current=e,e},[l,r,ie]),Jt=Z.useMemo(()=>TD(Gt.length===0?qt:r?[...Gt,KD(r),...qt]:Gt,ue),[r,qt,Gt,ue]),Yt=Z.useRef(null),Xt=Z.useMemo(()=>PD({sessionId:r,messages:Jt,retained:Yt.current}),[r,Jt]);Yt.current=Xt.retained;let Zt=Xt.messages,Qt=Z.useRef(null),$t=Qt.current===r,en=Z.useRef(NG),tn=r?`${O}\n${r}`:null,nn=q(()=>MG(Zt));Z.useEffect(()=>{if(!IG({active:n,sessionId:r,sessionKey:tn,sessionIsWorking:ke})){en.current=LG(en.current);return}let e=r,t=O,i=setInterval(()=>{let n=nn(),r=PG(en.current,{sessionKey:tn,working:!0,streaming:!!I,fingerprint:n,now:Date.now(),thresholdMs:OG,cooldownMs:kG,maxAttempts:3});en.current=r.state,r.shouldRefresh&&(FG({sessionId:e,directory:t,stalledForMs:r.stalledForMs,attempt:r.state.attempts,fingerprint:n}),dt(t,e).catch(()=>{}))},AG);return()=>clearInterval(i)},[n,r,O,nn,ke,I,tn]);let an=Z.useMemo(()=>{if(ue.length===0)return[];let e=new Set([...Gt,...qt].filter(e=>wD(e.parts)).map(e=>e.info.id));return ue.map(e=>e.info.id).filter(t=>e.has(t))},[qt,Gt,ue]);Z.useEffect(()=>{an.length!==0&&(p?.(an),r&&ce(r,an))},[ce,r,an,p]);let on=pG({sessionId:r,directory:O,messages:Zt,historyMeta:Le,scrollRef:kt,messageListRef:Ke,loadMoreMessages:be,goToBottom:Mt,releaseAutoFollow:Pt,beginHistoryViewportPreservation:Ft,endHistoryViewportPreservation:It,isPinned:vt?yt:zt,showScrollButton:vt?xt:Vt,isMobile:Re,autoFillEnabled:n&&!We,onWillLoadEarlier:Dt}),sn=q(()=>{wt(!1),Ke.current?.scrollToBottom(),Mt(`instant`)}),ln=q(()=>{wt(!1),Nt()}),dn=q(()=>{wt(!0),on.handleHistoryUpwardIntent()}),fn=kD({isMobile:Re,canLoadEarlier:on.historySignals.canLoadEarlier,isLoadingOlder:on.isLoadingOlder}),pn=on.isLoadingOlder,mn=on.loadEarlier,hn=q(()=>{wt(!0),mn({userInitiated:!0})});pt.current=on.handleActiveTurnChange,ht.current=on.handleHistoryUpwardIntent,Z.useEffect(()=>{(Te.length!==0||Ee.length!==0)&&At(`permission`)},[At,Te,Ee]);let gn=DG({sessionId:r,turnIds:on.turnIds,activeTurnId:on.activeTurnId,scrollToTurn:on.scrollToTurn,scrollToMessage:on.scrollToMessage,resumeToBottom:sn}),_n=ot.showReadOnlyBanner?ct:t?null:(0,$.jsx)(eD,{surface:s,scrollToBottom:ln,showScrollToBottom:Re&&on.showScrollToBottom,onScrollToBottom:gn.resumeToLatest,submissionBlocked:ot.blockSubmission}),vn=q(e=>{gn.scrollToTurnId(e,{behavior:`smooth`})}),yn=on.historySignals.canLoadEarlier,bn=h.promptNavigator&&!Re&&!Be&&!We&&M&&on.turnIds.length>=2;Z.useEffect(()=>{bn||G.getState().setPromptNavigatorPanelOpen(!1)},[bn]);let xn=q(e=>{if(!n||!r)return;let t=e;t.detail?.sessionId&&t.detail.sessionId!==r||Mt(`instant`)});Ln(pK,xn,n&&r&&typeof window<`u`?window:mK);let Sn=q(e=>{if(!n||!r||We||e.defaultPrevented||e.isComposing||e.key!==`ArrowUp`&&e.key!==`ArrowDown`||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let{activeMainTab:t}=G.getState();if(t!==`chat`||NK())return;let i=kt.current;if(MK(document.activeElement,i)||jK(e.target))return;e.preventDefault();let a=e.key===`ArrowUp`?-1:1;gn.scrollByTurnOffset(a,{resumePastEnd:!1})});Ln(`keydown`,Sn,n&&r&&!We&&typeof window<`u`?window:mK);let K=Z.useRef(0),Cn=q(()=>{let e=kt.current;e&&e.style.setProperty(`--chat-scroll-height`,`${e.clientHeight}px`)}),wn=q(()=>{K.current||=requestAnimationFrame(()=>{K.current=0,Cn()})});In(()=>{n&&Cn()},[n,r,We,Cn]);let Tn=typeof ResizeObserver<`u`;Nn(n&&Tn?kt:null,wn),Ln(`resize`,wn,n&&!Tn&&typeof window<`u`?window:mK),Fn(()=>{K.current&&=(cancelAnimationFrame(K.current),0)});let En=Z.useRef(null),Dn=Z.useRef(0),On=MD({transcriptMessageCount:ie.length,pendingUserCount:ue.length,historyPrefixCount:Gt.length}),kn=ND({hasTranscriptShell:On,transcriptRecords:ie,p0Satisfied:me.p0Satisfied,hasBusyShell:ke&&On,hasImmediateShell:ue.length>0||Gt.length>0,hasRenderableSessionSnapshot:B,prefetchStatus:pe?.status,syncLoading:!!(r&&E.isLoading(r,{directory:O})),userRetrying:_e,hasPaintedTranscript:$t});kn===`pass`&&Zt.length>0&&(Qt.current=r);let An=!!r&&kn===`hydrating`,jn=!!r&&kn===`load-error`;Z.useEffect(()=>{!jn||!r||Ra(Ao({kind:`request-error`,sessionID:r,directory:O,purpose:`load-failed`,source:`network`,request:pe?{sessionID:r,status:pe.status===`ready`?`ready`:pe.status,error:pe.error}:void 0,hydration:me,error:pe?.error}))},[r,O,jn,pe,me]),Z.useEffect(()=>{if(!n||!r||An)return;let e=Zt.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){Pt();return}let o=()=>{Lt()};typeof window>`u`?o():window.requestAnimationFrame(o)},[n,r,An,Pt,Lt,Zt.length]),Z.useEffect(()=>{ne(e=>e.key===te?e:{key:te,attempt:0})},[te]),Z.useEffect(()=>{if(!n||!r||W.key!==te||!cK({sessionId:r,hasRenderableSessionSnapshot:B,hasCurrentSessionEntity:!!H})||(k(r),H||W.attempt>=2))return;let e=W.attempt+1,t=window.setTimeout(()=>{ne(t=>t.key===te&&t.attempt===W.attempt?{key:te,attempt:e}:t)},e*1e3);return()=>window.clearTimeout(t)},[n,H,r,O,k,B,te,W]);let Mn=S&&r&&(S.targetSessionId?r===S.targetSessionId:r===S.sourceSessionId)?S: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=g(`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":`${g(e)}. ${n}`,children:[(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:g(e)}),(0,$.jsx)(sy,{})]}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground/70 tabular-nums`,children:n})]})})}if(!r&&!He)return e&&!Ue?(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)(VD,{})});if(!r&&He){if((b||x)&&ae){let e=`draft:${y.draftID??`pending`}`;return(0,$.jsxs)(`div`,{ref:Ut,className:J(`relative flex h-full flex-col bg-background`,Re&&`oc-chat-composer-swap-scope`),children:[(0,$.jsx)(PK,{currentSessionId:e,virtualizerKey:e,isDesktopExpandedInput:!1,isMobile:Re,stickyUserHeader:j,directory:O,scrollRef:kt,messageListRef:Ke,pendingRevealWork:!1,initialPinRevealComplete:!0,renderedMessages:[ae],isLoadingOlder:!1,sessionIsWorking:!0,streamingMessageId:null,activeStreamingPhase:null,retryOverlay:null,handleMessageContentChange:At,getAnimationHandlers:jt,handleHistoryScroll:on.handleHistoryScroll,handleHistoryUpwardIntent:dn,onTimelineIsAtEndChange:Ot,timelineFollowSuspended:!1,timelineHistoryAnchorToken:Tt,scrollToBottom:sn,sessionQuestions:[],sessionPermissions:[],sessionForms:[],retryActionCopy:null,isProgrammaticFollowActive:Bt,showLoadOlderButton:!1,turnIds:[],activeTurnId:null,onSelectTurn:vn,showPromptNavigator:!1,canLoadEarlierPrompts:!1,isLoadingOlderPrompts:!1,onLoadEarlierPrompts:hn,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:g(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(sy,{})]})})},e),(0,$.jsxs)(`div`,{className:J(`invisible pointer-events-none relative z-10`,Re&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,We?`absolute inset-0 bg-background`:`bg-background`),"aria-hidden":`true`,children:[!Re&&!We?(0,$.jsx)(EK,{}):null,_n]}),(0,$.jsx)(sD,{})]})}return b||x?(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":g(`chat.emptyState.establishingConversation`),children:(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:g(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(sy,{})]})})}):(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[Ge&&!We?(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:LK(qe?g(`chat.emptyState.draftTitleWithProject`,{project:qe}):g(`chat.emptyState.draftTitle`),qe)}),(0,$.jsx)(zS,{onSubmit:e=>Wa.getState().requestPresetSubmit(e),className:`oc-draft-starters mt-8 max-w-md`})]}):null,(0,$.jsx)(`div`,{className:J(`relative z-10 flex min-h-0`,Re&&`oc-mobile-composer-foot`,We?`flex-1 bg-background`:Ge?J(`bg-background`,`px-0`):`flex-1 items-center justify-center bg-background px-0 pb-[6vh]`),children:_n})]})}return r?jn?(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[at,(0,$.jsx)(`div`,{className:J(`relative min-h-0`,We?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":We,children:We?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:g(`chat.history.loadFailedTitle`)}),(0,$.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:g(`chat.history.loadFailedDescription`)}),(0,$.jsxs)(Gn,{type:`button`,className:`mt-5`,onClick:ve,children:[(0,$.jsx)(X,{name:`refresh`,className:`size-4`,"aria-hidden":`true`}),g(`chat.history.retry`)]})]})})}),(0,$.jsx)(`div`,{className:J(`relative z-10`,Re&&`oc-mobile-composer-foot`,We?`flex-1 min-h-0 bg-background`:`bg-background`),children:_n})]}):An?(0,$.jsxs)(`div`,{ref:Ut,className:J(`relative flex flex-col h-full bg-background`,Re&&`oc-chat-composer-swap-scope`),children:[at,(0,$.jsx)(`div`,{className:J(`relative min-h-0`,We?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":We,children:(0,$.jsx)(`div`,{ref:kt,className:`absolute inset-0 overflow-y-auto overflow-x-hidden bg-background pt-6 chat-scroll`,style:wK,children:(0,$.jsx)(`div`,{className:`space-y-4 chat-scroll-foot-inset`,children:FK.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)(Pd,{className:`h-3.5 w-3.5 rounded-full flex-shrink-0`}),(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,t.titleWidth)}),(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,t.detailWidth)})]},`${e.id}-${t.id}`))}),(0,$.jsxs)(`div`,{className:`space-y-1.5 pt-1`,children:[(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,e.textWidths[0])}),(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,e.textWidths[1])}),(0,$.jsx)(Pd,{className:J(`h-4 rounded-md`,e.textWidths[2])})]})]})})},e.id))})})}),(0,$.jsxs)(`div`,{className:J(`relative z-10`,Re&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,We?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!Re&&!We?(0,$.jsx)(EK,{}):null,_n]})]}):Zt.length===0&&!ke?(0,$.jsxs)(`div`,{className:`relative flex flex-col h-full bg-background`,children:[at,(0,$.jsx)(`div`,{className:J(`relative min-h-0`,We?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":We,children:We?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,$.jsx)(VD,{})})}),(0,$.jsx)(`div`,{className:J(`relative z-10`,Re&&`oc-mobile-composer-foot`,We?`flex-1 min-h-0 bg-background`:`bg-background`),children:_n}),(0,$.jsx)(sD,{})]}):(0,$.jsxs)(`div`,{ref:Ut,className:J(`relative flex flex-col h-full bg-background`,Re&&`oc-chat-composer-swap-scope`),children:[d?(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:d}):null,at,(0,$.jsx)(PK,{currentSessionId:r,virtualizerKey:a??r,isDesktopExpandedInput:We,isMobile:Re,stickyUserHeader:j,directory:O,scrollRef:kt,messageListRef:Ke,pendingRevealWork:on.pendingRevealWork,initialPinRevealComplete:se,renderedMessages:on.renderedMessages,isLoadingOlder:pn,sessionIsWorking:ke,streamingMessageId:I,activeStreamingPhase:L,retryOverlay:Pe,handleMessageContentChange:At,getAnimationHandlers:jt,handleHistoryScroll:on.handleHistoryScroll,handleHistoryUpwardIntent:dn,onTimelineIsAtEndChange:Ot,timelineFollowSuspended:Ct,timelineHistoryAnchorToken:Tt,scrollToBottom:sn,sessionQuestions:Ee,sessionPermissions:Te,sessionForms:Oe,retryActionCopy:Fe,isProgrammaticFollowActive:Bt,showLoadOlderButton:fn,turnIds:on.turnIds,activeTurnId:on.activeTurnId,onSelectTurn:vn,showPromptNavigator:bn,canLoadEarlierPrompts:yn,isLoadingOlderPrompts:pn,onLoadEarlierPrompts:hn},r),(0,$.jsxs)(`div`,{className:J(`relative z-10`,Re&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,We?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!Re&&!We?(0,$.jsx)(EK,{}):null,!We&&Zt.length>0&&(Re?(0,$.jsx)(kx,{placement:`expanded`,visible:on.showScrollToBottom,onClick:gn.resumeToLatest}):(0,$.jsx)(kx,{visible:on.showScrollToBottom,onClick:gn.resumeToLatest})),_n]}),(0,$.jsx)(sD,{}),(0,$.jsx)(hG,{open:P,onOpenChange:F,sessionID:r??void 0,directory:O,onRevertMessage:u,onScrollToMessage:on.scrollToMessage,onScrollByTurnOffset:gn.scrollByTurnOffset,onResumeToLatest:sn,canLoadEarlier:on.historySignals.canLoadEarlier,isLoadingEarlier:pn,onLoadEarlier:hn})]}):null});zK.displayName=`MemoizedChatContainerContent`;var BK=()=>{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)(Pd,{className:`h-4 w-4/5 animate-none rounded-md`}),(0,$.jsx)(Pd,{className:`h-4 w-2/3 animate-none rounded-md`}),(0,$.jsx)(Pd,{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-6 px-4`,children:[t,(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(Pd,{className:`h-4 w-5/6 animate-none rounded-md`}),(0,$.jsx)(Pd,{className:`h-4 w-3/5 animate-none rounded-md`})]}),(0,$.jsx)(Pd,{className:`h-24 w-full animate-none rounded-xl`})]})})}),e[1]=n):n=e[1],n},VK=({runtimeKey:e,...t})=>{let n=jx(),r=yo(),i=Y(qe(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),In(()=>{!o||!i.draftPendingMessageId||(a.current={identity:o,messageId:i.draftPendingMessageId})},[o,i.draftPendingMessageId]);let s=Y(e=>i.sessionId?e.retainedPendingUserMessages.get(i.sessionId)??uK:uK),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(()=>JG(u),[u]),f=d.key,p=ei()||le()||n===`mini-chat`?SK:xK,[m,h]=Z.useState(()=>({activeIntent:d,cacheNeedsTrim:!1,cachedSessionViews:u?XG([],u,p,_K):[],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:XG([],u,p,_K)[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=QG(C,f),T=!!(f&&!w);In(()=>{g.current=d,_.current=f,h(e=>{let t=$G(e,d,p);return l?eK(t,d,d,_K):t})},[p,v,l,d,f]);let E=b?.intent??null;In(()=>{E&&h(e=>tK(e,E,p))},[p,E]),Z.useEffect(()=>{if(!d.selection||w)return;let e=d,t=f;return Ku(()=>{g.current===e&&_.current===t&&h(n=>_.current===t?eK(n,e,g.current,_K):n)},{priority:`user-blocking`})},[w,p,d,f]);let D=q((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=ZG(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)(BK,{},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})]})},HK=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=FD(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)(Kb.Provider,{value:u,children:f}),t[21]=u,t[22]=f,t[23]=p):p=t[23],p},UK=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=yo(),o=n.directory??a,s;t[4]!==o||t[5]!==n?(s=Gb({...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)(Kb.Provider,{value:c,children:u}),t[13]=c,t[14]=u,t[15]=d):d=t[15],d},WK=e=>{let t=(0,Q.c)(14),n=Z.useSyncExternalStore(CK,u,u);if(e.host){let r=`${n}:${e.host.sessionSurface.surfaceId}`,i;return t[0]!==e||t[1]!==n||t[2]!==r?(i=(0,$.jsx)(HK,{...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)(UK,{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)(VK,{...e,runtimeKey:n},n),t[11]=e,t[12]=n,t[13]=r):r=t[13],r},GK=2e4,KK=()=>typeof document>`u`||document.visibilityState===`visible`&&document.hasFocus()?`visible`:`hidden`,qK=e=>{if(!V()&&!qt())return;let t=y();t?.push?.setVisibility&&t.push.setVisibility({visible:e,platform:$t()})},JK=e=>{let t=e?.enabled??!0;Z.useEffect(()=>{if(!t||!V()&&!qt()||typeof window>`u`)return;if(qt()){let e=!0,t=!1,n=null,r=()=>qK(e);bn(async()=>{let{App:e}=await import(`./vendor-capacitor-app-PzT84wSx.js`).then(e=>e.t);return{App:e}},__vite__mapDeps([53,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&&qK(!0)},GK);return()=>{t=!0,window.clearInterval(i),n?.()}}if(typeof document>`u`)return;let e=()=>{qK(KK()===`visible`)},n=()=>{KK()===`visible`&&qK(!0)},r=()=>{qK(!1)};e();let i=window.setInterval(n,GK);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])},YK=`OpenChamber`,XK=e=>{let t=e.replace(/\\/g,`/`).replace(/\/+$/,``).split(`/`).filter(Boolean);return t[t.length-1]??``},ZK=(e,t)=>[e,t,YK].filter(e=>typeof e==`string`&&e.trim().length>0).join(` | `),QK=()=>{let e=Pi(e=>e.activeProjectId?e.projects.find(t=>t.id===e.activeProjectId)??null:null),t=Z.useMemo(()=>e&&XK(e.path)||null,[e]),[n,r]=Z.useState(null);Z.useEffect(()=>{if(typeof window>`u`||!xe()){r(null);return}let e=!1,t=async()=>{try{if(re()){e||r(null);return}let t=window.__OPENCHAMBER_LOCAL_ORIGIN__||window.location.origin,n=d();if(n&&Me(n,t)){e||r(null);return}let i=(await Be()).hosts.find(e=>n?Me(n,Fe(e)):!1),a=i?.label?.trim()?Ne(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(()=>ZK(t,n),[t,n]);Z.useEffect(()=>{typeof document<`u`&&(document.title=i),xe()&&(async()=>{try{if(typeof navigator<`u`&&/Macintosh|Mac OS X/.test(navigator.userAgent||``))return;await Kn(i)}catch{return}})()},[i])},$K=e=>{let t=[];return e.hideGit||t.push(`git`),t.push(`files`),e.showBrowser&&t.push(`browser`),t},eq=e=>e===`git`||e===`files`||e===`browser`,tq=()=>{let e=Y.getState().currentSessionId;if(!e)return``;let t=mt().find(t=>t.id===e);return typeof t?.directory==`string`?t.directory:``},nq=async(e,t=6e3)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),t),i=Date.now();try{let t=await f(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)}},rq=e=>{if(!e||!Number.isFinite(e))return`(n/a)`;try{return new Date(e).toISOString()}catch{return`(invalid)`}},iq=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},aq=e=>!!e&&typeof e==`object`&&!Array.isArray(e),oq=(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,sq=(e,t,n)=>e===`node-shebang`||e===`node-launcher`?t?`node (${t})`:`node`:e===`bun-shebang`?n?`bun (${n})`:`bun`:e||`direct executable`,cq=async()=>{let e=new Date,t=typeof navigator<`u`?navigator.userAgent:`(no navigator)`,n=tq(),r=G.getState().eventStreamStatus,i=typeof window<`u`?window.location.origin:``,o=a(),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 f(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 f(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},d=(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=d(e.path,e.includeDirectory!==!1);if(!t)return{label:e.label,url:`(none)`,result:null};let n=await nq(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(`OpenChamber version: 2.0.0-beta.26`),m.push(`Runtime: ${i||`(unknown)`} (api=${c||`(unknown)`})`),m.push(`OpenCode SDK base: ${yt.getBaseUrl()}`),m.push(`Event stream: ${r}`),m.push(`Directory: ${n||`(none)`}`),m.push(`Platform: ${t}`);let h=iq(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}`),aq(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=aq(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: ${oq(e.launchedAt)}`),m.push(`- launch: ${oq(e.binary)} ${t.join(` `)}`.trim()),m.push(`- cwd: ${oq(e.cwd)}`),m.push(`- wrapper: ${oq(e.wrapperType)}`),m.push(`- runtime: ${sq(oq(e.wrapperType,``),f,p)}`),m.push(`- PATH entries: ${oq(e.pathEntryCount,`(unknown)`)}`),m.push(`- shell env: ${oq(e.hasShellEnv,`(unknown)`)} (${oq(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: ${sq(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: ${rq(Date.now())}`),m.join(`
6604
6604
  `)},lq=async()=>{let e=await cq(),t=G.getState();t.setOpenCodeStatusText(e),t.setOpenCodeStatusDialogOpen(!0)},uq=(e,t)=>e===t?!0:!e||!t?!1:e.scope===t.scope&&e.sessionId===t.sessionId&&e.projectId===t.projectId,dq=e=>e?`${e.scope}:${e.projectId??``}:${e.sessionId}`:null,fq=e=>({scope:`project`,sessionId:e,projectId:null}),pq=Ue()(e=>({focus:null,setFocus:t=>e(e=>uq(e.focus,t)?e:{focus:t})})),mq=null,hq=0,gq=(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},_q=e=>{let t=++hq;return mq={pinned:gq(`pinned`,e.pinned),project:gq(`project`,e.project)},()=>{hq===t&&(mq=null)}},vq=()=>mq,yq=e=>!!e.parentID,bq=(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&&yq(r);){let e=r.parentID;if(!e)break;let t=n.get(e);if(!t)return e;r=t}return r?.id??e},xq=()=>{let e=Mo.getState().activeSessions;if(e.length>0)return e;let t=pt();return t.length>0?t:mt()},Sq=(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)},Cq=e=>[...e.pinned,...e.project],wq=(e,t,n,r)=>{if(e.length===0)return null;let i=Sq(e,n,r);return i<0?t>0?e[0]??null:e[e.length-1]??null:e[(i+t+e.length)%e.length]??null},Tq=(e,t,n=pq.getState().focus)=>{let r=bq(t,xq()),i=n?.sessionId===t?n:null,a=vq();return a?wq(Cq(a),e,r,i):null},Eq=(e,t,n=e=>{Y.getState().setCurrentSession(e.sessionId,e.directory)})=>{let r=Tq(e,t);return r?(pq.getState().setFocus({scope:r.scope,sessionId:r.sessionId,projectId:r.projectId}),n(r),r):null},Dq=.5,Oq=.1,kq=`oc.webviewZoomFactor`,Aq=e=>Number.isFinite(e)?Math.min(3,Math.max(Dq,Math.round(e*100)/100)):1,jq=()=>{if(typeof window>`u`)return 1;try{let e=window.localStorage.getItem(kq);return e?Aq(Number.parseFloat(e)):1}catch{return 1}},Mq=e=>{if(!(typeof window>`u`))try{window.localStorage.setItem(kq,String(e))}catch{}},Nq=e=>{let t=Aq(e);return typeof document<`u`&&(document.documentElement.style.zoom=t===1?``:String(t)),Mq(t),t},Pq=()=>{if(typeof document>`u`)return 1;let e=document.documentElement.style.zoom;if(!e)return jq();let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?Aq(t):jq()},Fq=()=>{if(m())return;let e=jq();e!==1&&Nq(e)},Iq=async()=>{if(m())try{let e=await j(`desktop_zoom_in`);if(typeof e==`number`&&Number.isFinite(e))return Aq(e)}catch(e){console.warn(`[webview-zoom] desktop_zoom_in failed, using CSS zoom`,e)}return Nq(Pq()+Oq)},Lq=async()=>{if(m())try{let e=await j(`desktop_zoom_out`);if(typeof e==`number`&&Number.isFinite(e))return Aq(e)}catch(e){console.warn(`[webview-zoom] desktop_zoom_out failed, using CSS zoom`,e)}return Nq(Pq()-Oq)},Rq=async()=>{if(m())try{let e=await j(`desktop_zoom_reset`);if(typeof e==`number`&&Number.isFinite(e))return Aq(e)}catch(e){console.warn(`[webview-zoom] desktop_zoom_reset failed, using CSS zoom`,e)}return Nq(1)},zq=9,Bq=null,Vq=0,Hq=({pinnedTargets:e,projectTargets:t})=>[...e,...t].slice(0,zq),Uq=(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},Wq=e=>{let t=++Vq;return Bq={targets:e.targets.slice(0,zq),activate:e.activate},()=>{Vq===t&&(Bq=null)}},Gq=e=>{if(!Number.isInteger(e)||e<1||e>zq)return!1;let t=Bq,n=t?.targets[e-1];return!t||!n?!1:(t.activate(n),!0)},Kq=e=>{let t=e.trim();if(!t)return null;let n=Vd.getState(),r=n.createTab(t);return!r||r===`tab-invalid`?null:(n.setActiveTab(t,r),r)},qq=e=>{let t=e.trim();if(!t)return null;let n=G.getState();return!n.isBottomTerminalOpen&&n.activeMainTab!==`terminal`&&n.setBottomTerminalOpen(!0),Kq(t)},Jq=(e,t)=>{let n=e.trim();if(!n)return!1;let r=Vd.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)},Yq=e=>{let t=e.trim();if(!t)return{closed:!1,wasLastTab:!1};let n=Vd.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}},Xq=()=>typeof window>`u`||window.parent===window||!dp(window.location.search)?!1:(window.parent.postMessage({type:cp},window.location.origin),!0),Zq=()=>{let{isMobile:e,closeActiveContextPanelTab:t}=G.getState();if(e)return!1;let n=Vu();return n&&t(n)?!0:m()?(j(`desktop_close_current_window`).catch(e=>{console.warn(`[keyboard-shortcuts] failed to close current window`,e)}),!0):!1},Qq=({sessionId:e,surfaceKind:t,wiringCanAbort:n,primaryCanAbort:r,pendingSend:i=!1})=>e?i||n?!0:t!==`secondary`&&r:!1,$q=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)}},eJ=()=>{let e=(0,Q.c)(69),{t}=Vn(),n=Y(tJ),r=Y(nJ),i=Y(rJ),a=Y(iJ),o=Io,s=G(aJ),c=G(oJ),l=G(sJ),u=G(cJ),d=G(lJ),f=G(uJ),p=G(dJ),h=G(fJ),g=G(pJ),_=G(mJ),v=G(hJ),y=G(gJ),b=G(_J),x=G(vJ),S=G(yJ),C=G(bJ),w=G(xJ),T=G(SJ),E=G(CJ),D=ct(wJ),O=Pi(TJ),{themeMode:k,setThemeMode:A}=_c(),{working:M}=hL(),N=Z.useRef(null),P=Z.useRef(null),F=Z.useRef(null),I=Z.useRef(!1),L=Z.useRef(k),R,z;e[0]===k?(R=e[1],z=e[2]):(R=()=>{L.current=k},z=[k],e[0]=k,e[1]=R,e[2]=z),Z.useEffect(R,z);let B;e[3]===i?B=e[4]:(B=()=>{P.current&&=(clearTimeout(P.current),null),N.current=null,i()},e[3]=i,e[4]=B);let V=B,ee;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>{F.current&&=(clearTimeout(F.current),null),fh.getState().clear()},e[5]=ee):ee=e[5];let H=ee,U;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>{F.current&&=(clearTimeout(F.current),null);let e=fh.getState().arm(dh);F.current=setTimeout(()=>{let{expiresAt:e}=fh.getState();e&&Date.now()>=e&&fh.getState().clear(),F.current=null},Math.max(0,e-Date.now()))},e[6]=U):U=e[6];let te=U,W;e[7]!==O?.id||e[8]!==O?.path||e[9]!==r||e[10]!==D||e[11]!==g||e[12]!==n||e[13]!==V||e[14]!==v||e[15]!==x||e[16]!==h||e[17]!==b||e[18]!==w||e[19]!==d||e[20]!==f||e[21]!==_||e[22]!==y||e[23]!==A||e[24]!==S||e[25]!==E||e[26]!==t||e[27]!==p||e[28]!==s||e[29]!==T||e[30]!==c||e[31]!==C||e[32]!==u||e[33]!==l||e[34]!==M?(W=()=>{let e=e=>Xs(e,E),i=e=>Gs(e,E),a=EJ,k=[`[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(`,`),F=e=>e instanceof Element&&!!e.closest(k),R=OJ,z=AJ,B=jJ,ee=async()=>{let e=ST(),n=e?OT(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;cr.error(n instanceof Error?n.message:t(`chat.chatInput.toast.compactFailed`))}return}let r=Y.getState().currentSessionId;if(!r)return;let{currentProviderId:i,currentModelId:a}=Ki.getState();await $q({sessionId:r,currentProviderId:i,currentModelId:a,waitForConnectionOrThrow:io,getAuthoritativeDirectoryForSession:Y.getState().getAuthoritativeDirectoryForSession,summarizeSession:MJ,onCompactFailed:e=>{cr.error(e instanceof Error?e.message:t(`chat.chatInput.toast.compactFailed`))}})},U=t=>{let r=fh.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=()=>{I.current=!0,window.setTimeout(()=>{I.current=!1},0)};if(i&&Ys(t,i)){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),te();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}=G.getState(),c=xT(a)&&!B();if(r===`m`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),window.requestAnimationFrame(()=>{b(!o,{instant:!0})});return}if(r===`a`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),x(!s,{instant:!0});return}if(r===`n`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H();let r=ST(),i=r?OT(r):null;i?i.shortcut(`new`):(v(`chat`),_(!1),n());return}if(r===`c`&&c){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),ee(),z();return}t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),H(),z();return}if(!i||!Ys(t,i)||B())return;let{activeMainTab:o}=G.getState();xT(o)&&(t.preventDefault(),t.stopPropagation(),te())},W=()=>fh.getState().pending||I.current,ne=e=>{W()&&e.preventDefault()},re=e=>{W()&&(e.preventDefault(),e.stopPropagation())},ie=t=>{if(a(t.target)){if(!le()&&Ys(t,e(`new_terminal_tab`))){let e=Vu();if(!e||!Kq(e))return;t.preventDefault(),t.stopPropagation();return}if(!le()&&Ys(t,e(`previous_terminal_tab`))){let e=Vu();if(!e||!Jq(e,-1))return;t.preventDefault(),t.stopPropagation();return}if(!le()&&Ys(t,e(`next_terminal_tab`))){let e=Vu();if(!e||!Jq(e,1))return;t.preventDefault(),t.stopPropagation();return}if(Ys(t,e(`close_context_panel_tab`))){let e=Vu();if(!e)return;let{closed:n,wasLastTab:r}=Yq(e);if(!n)return;if(t.preventDefault(),t.stopPropagation(),r){let e=G.getState();e.setBottomTerminalOpen(!1),e.activeMainTab===`terminal`&&e.setActiveMainTab(`chat`)}return}if(Ys(t,e(`toggle_terminal`))){let{isMobile:e}=G.getState();if(e)return;t.preventDefault(),t.stopPropagation(),p();return}if(Ys(t,e(`toggle_bottom_panel`))){let{isMobile:e}=G.getState();if(e)return;t.preventDefault(),t.stopPropagation(),p();return}if(Ys(t,e(`toggle_terminal_expanded`))){let{isMobile:e,isBottomTerminalExpanded:n}=G.getState();if(e)return;t.preventDefault(),t.stopPropagation(),h(!n);return}}},ae=NJ,oe=t=>{if(t.defaultPrevented)return;if(Ys(t,e(`close_context_panel_tab`))){(Xq()||Zq())&&(t.preventDefault(),t.stopPropagation());return}if(a(t.target))return;let r=PJ;if(r(t.target)&&t.ctrlKey&&!t.metaKey&&!t.shiftKey&&!t.altKey&&t.key.toLowerCase()===`t`){t.preventDefault(),ae();return}if(Ys(t,e(`open_command_palette`))){t.preventDefault(),s();return}if(Ys(t,e(`open_timeline_dialog`))){t.preventDefault(),S(!0);return}if(Ys(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}=G.getState();if(!n||g||le()||e!==`chat`||r||i||a||o||s||c||l||u)return;t.preventDefault(),C();return}if(Ys(t,e(`open_status`))){t.preventDefault(),lq();return}if(Ys(t,e(`open_help`))){t.preventDefault(),c();return}if(m()&&Ys(t,e(`new_mini_chat`))){t.preventDefault(),j(`desktop_open_draft_mini_chat_window`,{directory:D||O?.path||``,projectId:O?.id??null}).catch(FJ);return}let o=Ys(t,e(`new_chat`)),x=Ys(t,e(`new_chat_worktree`));if(o||x){if(t.preventDefault(),v(`chat`),_(!1),!le()&&x){dS();return}n();return}if(Ys(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(L.current)+1)%e.length;A(e[r]),requestAnimationFrame(()=>{typeof document>`u`||typeof window>`u`||(document.hasFocus()||window.focus(),n&&document.contains(n)&&n.focus({preventScroll:!0}))});return}if(sc(t,`in`,e(`zoom_in`))){t.preventDefault(),Iq();return}if(sc(t,`out`,e(`zoom_out`))){t.preventDefault(),Lq();return}if(Ys(t,e(`zoom_reset`))){t.preventDefault(),Rq();return}if(Ys(t,e(`open_settings`))){t.preventDefault();let{isSettingsDialogOpen:e}=G.getState();y(!e);return}if(Ys(t,e(`toggle_sidebar`))){t.preventDefault();let{isMobile:e,isSessionSwitcherOpen:n}=G.getState();e?_(!n):l();return}if(Ys(t,e(`focus_input`))){t.preventDefault(),document.querySelector(`textarea[data-chat-input="true"]`)?.focus();return}let w=e(`cycle_agent`),E=w&&!w.includes(`shift`)?Rs(`shift+${w}`):``,k=E&&Ys(t,E)?-1:+!!Ys(t,w);if(k!==0){let{isSettingsDialogOpen:e,isCommandPaletteOpen:n,isHelpDialogOpen:i,isSessionSwitcherOpen:a,isAboutDialogOpen:o,activeMainTab:s}=G.getState();if(e||n||i||a||o||!xT(s)||!r(t.target))return;let c=ST(),l=c?OT(c):null;if(l){t.preventDefault(),l.shortcut(`cycle`,k);return}let u=Ki.getState(),d=_o(u.getVisibleAgents(),u.currentAgentName,k);if(!d)return;t.preventDefault(),u.setAgent(d),G.getState().addRecentAgent(d);let f=Y.getState().currentSessionId;f&&ma.getState().saveSessionAgentSelection(f,d);return}if(i(`toggle_right_sidebar`).some(e=>Ys(t,e))){let{isMobile:e}=G.getState();if(e)return;t.preventDefault(),u();return}if(Ys(t,e(`open_right_sidebar_git`))){let{isMobile:e}=G.getState();if(e)return;t.preventDefault(),d(!0),f(`git`);return}if(Ys(t,e(`open_right_sidebar_files`))){let{isMobile:e}=G.getState();if(e)return;t.preventDefault(),d(!0),f(`files`);return}if(Ys(t,e(`cycle_right_sidebar_tab`))){let{isMobile:e,rightSidebarTab:n}=G.getState();if(e)return;let r=$K({hideGit:G.getState().activeMainTab===`git`,showBrowser:tc(Zs())}),i=r[(r.indexOf(n)+1)%r.length];t.preventDefault(),d(!0),f(i);return}let M=e=>Eq(e,Y.getState().currentSessionId,e=>{v(`chat`),_(!1),Y.getState().setCurrentSession(e.sessionId,e.directory)});if(i(`previous_session`).some(e=>Ys(t,e))){t.preventDefault(),M(-1);return}if(i(`next_session`).some(e=>Ys(t,e))){t.preventDefault(),M(1);return}for(let n=1;n<=9;n+=1)if(Ys(t,e(`switch_tab_${n}`))){Gq(n)&&t.preventDefault();return}if(Ys(t,e(`toggle_terminal`))){let{isMobile:e}=G.getState();if(e)return;t.preventDefault(),p();return}if(Ys(t,e(`open_new_terminal`))){let{isMobile:e}=G.getState();if(e||le())return;let n=Vu();if(!n||!qq(n))return;t.preventDefault();return}if(Ys(t,e(`toggle_bottom_panel`))){let{isMobile:e}=G.getState();if(e)return;t.preventDefault(),p();return}if(Ys(t,e(`toggle_terminal_expanded`))){let{isMobile:e,isBottomTerminalExpanded:n}=G.getState();if(e)return;t.preventDefault(),h(!n);return}if(Ys(t,e(`open_model_selector`))){let{isSettingsDialogOpen:e,isCommandPaletteOpen:n,isHelpDialogOpen:r,isSessionSwitcherOpen:i,isAboutDialogOpen:a,activeMainTab:o,isModelSelectorOpen:s}=G.getState();if(e)return;let c=n||r||i||a,l=xT(o);if(c||!l)return;t.preventDefault(),b(!s,{instant:!0});return}if(Ys(t,e(`cycle_thinking_variant`))){ae()&&t.preventDefault();return}if(Ys(t,e(`cycle_favorite_model_forward`))||Ys(t,e(`cycle_favorite_model_backward`))){let{isSettingsDialogOpen:n,isCommandPaletteOpen:r,isHelpDialogOpen:i,isSessionSwitcherOpen:a,isAboutDialogOpen:o,activeMainTab:s,favoriteModels:c,addRecentModel:l}=G.getState();if(n)return;let u=r||i||a||o,d=xT(s);if(u||!d||c.length===0)return;t.preventDefault();let f=c.length,p=Ys(t,e(`cycle_favorite_model_forward`))?1:-1,m=ST();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=Ki.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}=Ki.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(Ys(t,e(`expand_input`))){if(g)return;t.preventDefault(),T();return}if(Ys(t,e(`toggle_dictation`))){let{activeMainTab:e,isCommandPaletteOpen:n,isHelpDialogOpen:r,isSessionSwitcherOpen:i,isSettingsDialogOpen:a}=G.getState();if(!xT(e)||n||r||i||a)return;t.preventDefault(),window.dispatchEvent(new CustomEvent(`openchamber:dictation-toggle`));return}},se=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=F(t)||R(),{isSettingsDialogOpen:c,isCommandPaletteOpen:l,isHelpDialogOpen:u,isSessionSwitcherOpen:d,isAboutDialogOpen:f,isMultiRunLauncherOpen:p,isImagePreviewOpen:m,isPromptNavigatorPanelOpen:h}=G.getState();if(n||a||s){V();return}if(h){e.preventDefault(),w(!1),V();return}if(c){e.preventDefault(),y(!1),V();return}if(i){V();return}if(l||u||d||f||p||m){V();return}let g=ST(),_=g?OT(g):null,v=g?.sessionID??Y.getState().currentSessionId,b=!!(v&&Y.getState().pendingSendMessageIDs.get(v));if(!Qq({sessionId:v,surfaceKind:g?.kind,wiringCanAbort:_?.canAbort,primaryCanAbort:M.canAbort,pendingSend:b})){V();return}e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();let x=Date.now(),S=N.current;if(S&&x<S){V(),_?_.abort():(v&&ui(v),o(v??``));return}let C=g?.kind===`secondary`?x+3e3:r(3e3)??x+3e3;N.current=C,P.current&&clearTimeout(P.current);let T=Math.max(C-x,0);P.current=setTimeout(()=>{N.current&&Date.now()>=N.current&&V()},T||0)};return window.addEventListener(`keydown`,U,!0),window.addEventListener(`beforeinput`,ne,!0),window.addEventListener(`compositionstart`,re,!0),window.addEventListener(`compositionupdate`,re,!0),window.addEventListener(`compositionend`,re,!0),window.addEventListener(`keydown`,ie,!0),window.addEventListener(`keydown`,se,!0),window.addEventListener(`keydown`,oe),()=>{window.removeEventListener(`keydown`,U,!0),window.removeEventListener(`beforeinput`,ne,!0),window.removeEventListener(`compositionstart`,re,!0),window.removeEventListener(`compositionupdate`,re,!0),window.removeEventListener(`compositionend`,re,!0),window.removeEventListener(`keydown`,ie,!0),window.removeEventListener(`keydown`,se,!0),window.removeEventListener(`keydown`,oe)}},e[7]=O?.id,e[8]=O?.path,e[9]=r,e[10]=D,e[11]=g,e[12]=n,e[13]=V,e[14]=v,e[15]=x,e[16]=h,e[17]=b,e[18]=w,e[19]=d,e[20]=f,e[21]=_,e[22]=y,e[23]=A,e[24]=S,e[25]=E,e[26]=t,e[27]=p,e[28]=s,e[29]=T,e[30]=c,e[31]=C,e[32]=u,e[33]=l,e[34]=M,e[35]=W):W=e[35];let ne=O?.id,re=O?.path,ie;e[36]!==r||e[37]!==D||e[38]!==a||e[39]!==g||e[40]!==n||e[41]!==V||e[42]!==v||e[43]!==x||e[44]!==h||e[45]!==b||e[46]!==w||e[47]!==d||e[48]!==f||e[49]!==_||e[50]!==y||e[51]!==A||e[52]!==S||e[53]!==E||e[54]!==t||e[55]!==ne||e[56]!==re||e[57]!==p||e[58]!==s||e[59]!==T||e[60]!==c||e[61]!==C||e[62]!==u||e[63]!==l||e[64]!==M?(ie=[n,o,s,c,l,u,d,f,p,h,g,_,v,y,b,x,S,C,w,T,A,M,r,V,te,H,a,D,ne,re,E,t],e[36]=r,e[37]=D,e[38]=a,e[39]=g,e[40]=n,e[41]=V,e[42]=v,e[43]=x,e[44]=h,e[45]=b,e[46]=w,e[47]=d,e[48]=f,e[49]=_,e[50]=y,e[51]=A,e[52]=S,e[53]=E,e[54]=t,e[55]=ne,e[56]=re,e[57]=p,e[58]=s,e[59]=T,e[60]=c,e[61]=C,e[62]=u,e[63]=l,e[64]=M,e[65]=ie):ie=e[65],Z.useEffect(W,ie);let ae,oe;e[66]===V?(ae=e[67],oe=e[68]):(oe=()=>()=>{V(),H()},ae=[V,H],e[66]=V,e[67]=ae,e[68]=oe),Z.useEffect(oe,ae)};function tJ(e){return e.openNewSessionDraft}function nJ(e){return e.armAbortPrompt}function rJ(e){return e.clearAbortPrompt}function iJ(e){return e.currentSessionId}function aJ(e){return e.toggleCommandPalette}function oJ(e){return e.toggleHelpDialog}function sJ(e){return e.toggleSidebar}function cJ(e){return e.toggleRightSidebar}function lJ(e){return e.setRightSidebarOpen}function uJ(e){return e.setRightSidebarTab}function dJ(e){return e.toggleBottomTerminal}function fJ(e){return e.setBottomTerminalExpanded}function pJ(e){return e.isMobile}function mJ(e){return e.setSessionSwitcherOpen}function hJ(e){return e.setActiveMainTab}function gJ(e){return e.setSettingsDialogOpen}function _J(e){return e.setModelSelectorOpen}function vJ(e){return e.setAgentSelectorOpen}function yJ(e){return e.setTimelineDialogOpen}function bJ(e){return e.togglePromptNavigatorPanel}function xJ(e){return e.setPromptNavigatorPanelOpen}function SJ(e){return e.toggleExpandedInput}function CJ(e){return e.shortcutOverrides}function wJ(e){return e.currentDirectory}function TJ(e){return e.getActiveProject()}function EJ(e){return e instanceof Element&&!!(e.closest(`[data-terminal-view="true"]`)||e.closest(`.terminal-viewport-container`)||e.getAttribute(`data-terminal-hidden-input`)===`true`)}function DJ(e){return e.getClientRects().length>0}function OJ(){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(DJ)}function kJ(){document.querySelector(`textarea[data-chat-input="true"]`)?.focus({preventScroll:!0})}function AJ(){window.requestAnimationFrame(kJ)}function jJ(){let{isSettingsDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isSessionSwitcherOpen:r,isAboutDialogOpen:i}=G.getState();return e||t||n||r||i}function MJ(e,t,n,r){return yt.summarizeSession(e,t,n,r)}function NJ(){let{isSettingsDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isSessionSwitcherOpen:r,isAboutDialogOpen:i,activeMainTab:a}=G.getState();if(e||t||n||r||i||!xT(a))return!1;let o=ST();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=Ki.getState();if(s.getCurrentModelVariants().length===0)return!1;s.cycleCurrentVariant();let c=Ki.getState().currentVariant,l=Y.getState().currentSessionId,u=Ki.getState().currentAgentName,d=Ki.getState().currentProviderId,f=Ki.getState().currentModelId;return l&&u&&d&&f&&ma.getState().saveAgentModelVariantForSession(l,u,d,f,c),u&&d&&f&&Ki.getState().saveAgentModelSelection(u,d,f,c),!0}function PJ(e){return e instanceof HTMLTextAreaElement&&e.getAttribute(`data-chat-input`)===`true`}function FJ(e){console.warn(`[keyboard-shortcuts] failed to open draft mini chat window`,e)}var IJ=3,LJ=(e,t)=>{if(typeof e!=`string`)return t;let n=e.trim().replace(/\s+/g,` `);return n?n.slice(0,48):t},RJ=(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:LJ(e.title,`Session ${r.length+1}`)}),r.length>=IJ))break}return r},zJ=()=>{let e=(0,Q.c)(9),t=Gi(),n=Y(BJ),r;e[0]!==n||e[1]!==t?(r=RJ(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`||!V())){try{i.length===0?localStorage.removeItem(ic):localStorage.setItem(ic,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 BJ(e){return e.currentSessionId}var VJ=e=>Number.isFinite(e)?`${Math.max(0,Math.round(e))}px`:`0px`,HJ=(e,t,n,r)=>{e.style.setProperty(`--oc-wco-left-inset`,VJ(t)),e.style.setProperty(`--oc-wco-right-inset`,VJ(n)),e.style.setProperty(`--oc-wco-titlebar-height`,VJ(r))},UJ=()=>{let e=(0,Q.c)(1),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],Z.useEffect(WJ,t)};function WJ(){if(typeof window>`u`||!V())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){HJ(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));HJ(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),HJ(e,0,0,0)}}var GJ=null,KJ=e=>{let t=GJ;return GJ=e,()=>{GJ===e&&(GJ=t)}},qJ=()=>({orderByProject:{},pendingProjectIDs:{}}),JJ=(e,t)=>!!(e&&e.length===t.length&&e.every((e,n)=>e===t[n])),YJ=o(),XJ=Ue()(We((e,t)=>({runtimeIdentity:YJ,...qJ(),serverRevisionByProject:{},deferredServerOrderByProject:{},runtimeOrdersByIdentity:{[YJ]:qJ()},activateWorktreeOrderRuntime:t=>e(e=>{if(e.runtimeIdentity===t)return e;let n=e.runtimeOrdersByIdentity[t]??qJ();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=JJ(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&&GJ?.(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(JJ(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&&!JJ(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:{[YJ]:{orderByProject:t.orderByProject??{},pendingProjectIDs:t.pendingProjectIDs??{}}}}},merge:(e,t)=>{let n=e.runtimeOrdersByIdentity??t.runtimeOrdersByIdentity,r=n[t.runtimeIdentity]??qJ();return{...t,runtimeOrdersByIdentity:n,orderByProject:r.orderByProject,pendingProjectIDs:r.pendingProjectIDs}}})),ZJ=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``),QJ=(e,t)=>{if(!e||e.length===0)return t;let n=new Map(e.map((e,t)=>[ZJ(e),t]));return t.map((e,t)=>({worktree:e,index:t})).sort((e,t)=>(n.get(ZJ(e.worktree.path))??2**53-1)-(n.get(ZJ(t.worktree.path))??2**53-1)||e.index-t.index).map(e=>e.worktree)},$J=3e4,eY=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,tY=e=>e instanceof lr?e.status===501?`unsupported`:e.status>=400&&e.status<500&&e.status!==408&&e.status!==429&&e.code!==`revision_conflict`?`permanent`:`retry`:`retry`,nY=(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})}),rY=(e,t)=>e.then(e=>{if(t?.aborted)throw new DOMException(`Aborted`,`AbortError`);return e}),iY={fetchSnapshot:e=>rY(Oo(W),e),refreshSnapshot:e=>rY(gi(W),e),fetchOrder:yi,setOrder:gr,waitInvalidation:pr,captureRuntime:()=>({transportIdentity:o(),generation:c()}),isCurrent:e=>e.transportIdentity===o()&&e.generation===c(),sleep:nY,createRequestID:()=>typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`worktree-order-${Date.now()}-${Math.random().toString(36).slice(2)}`},aY=new Map,oY=()=>{for(let e of aY.values())e.controller.abort();aY.clear()},sY=(e,t,n,r=iY)=>{aY.get(e)?.controller.abort();let i={projectDirectory:eY(t),orderedPaths:[...n],capture:r.captureRuntime(),controller:new AbortController,backoffMs:500,running:!1};aY.set(e,i),cY(e,r)},cY=async(e,t=iY)=>{let n=aY.get(e);if(!(!n||n.running)){n.running=!0;try{for(;;){let n=aY.get(e);if(!n||!t.isCurrent(n.capture)||n.controller.signal.aborted)return;let r=XJ.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)||aY.get(e)!==n)return;let a=i.worktreeOrder??{projectDirectory:n.projectDirectory,orderedPaths:n.orderedPaths,revision:i.revision};XJ.getState().setServerRevision(e,a.revision),XJ.getState().resolvePendingWorktreeOrder(e,a.revision),aY.delete(e);return}catch(r){if(n.controller.signal.aborted||!t.isCurrent(n.capture)||aY.get(e)!==n)return;if(r instanceof lr&&r.code===`revision_conflict`)try{let r=await t.fetchOrder(n.projectDirectory,n.controller.signal);if(aY.get(e)!==n||!t.isCurrent(n.capture))return;XJ.getState().applyServerWorktreeOrder(e,r.orderedPaths,r.revision),n.expectedRevision=void 0,n.requestID=void 0,n.backoffMs=500;continue}catch(e){if(tY(e)!==`retry`)return}else if(tY(r)!==`retry`)return;if(await t.sleep(n.backoffMs,n.controller.signal).catch(()=>{}),n.backoffMs=Math.min(n.backoffMs*2,$J),n.controller.signal.aborted)return}}}finally{aY.get(e)===n&&(!t.isCurrent(n.capture)||n.controller.signal.aborted)&&aY.delete(e),aY.get(e)===n&&(n.running=!1)}}},lY=(e,t,n,r)=>{let i=new Map(t.map(e=>[eY(e.path),e.id]));for(let t of e){let e=i.get(eY(t.projectDirectory));e&&r.isCurrent(n)&&XJ.getState().applyServerWorktreeOrder(e,t.orderedPaths,t.revision)}},uY=(e,t=iY)=>{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();lY(r.worktreeOrders,o,a,t);let s=new Set(r.worktreeOrders.map(e=>eY(e.projectDirectory)));for(let e of o){let n=XJ.getState(),r=n.orderByProject[e.id];n.pendingProjectIDs[e.id]?sY(e.id,e.path,r??[],t):r?.length&&!s.has(eY(e.path))&&(n.markPendingWorktreeOrder(e.id),sY(e.id,e.path,r,t))}break}catch(e){if(tY(e)!==`retry`)return;await t.sleep(r,i).catch(()=>{}),r=Math.min(r*2,$J)}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,lY(s.worktreeOrders,e(),a,t),r=500}catch(e){if(tY(e)!==`retry`)return;await t.sleep(r,i).catch(()=>{}),r=Math.min(r*2,$J)}})()},stop:r}},dY=()=>{let e=(0,Q.c)(2),t=Pi(pY),n;e[0]===t?n=e[1]:(n=[t],e[0]=t,e[1]=n),Z.useEffect(gY,n)};function fY(e){return[e.id,eY(e.path)]}function pY(e){return JSON.stringify(e.projects.map(fY))}function mY(e,t,n){return sY(e,t,n)}function hY(){return Pi.getState().projects}function gY(){let e=o();XJ.getState().activateWorktreeOrderRuntime(e);let t=KJ(mY),n=uY(hY);n.start();let r=i(e=>{l(e)&&(oY(),XJ.getState().activateWorktreeOrderRuntime(o()),n.start())});return()=>{t(),r(),n.stop(),oY()}}var _Y=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,vY=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=_Y(t);return e.getProjects().find(e=>_Y(e.path)===n)},g=(n,i=150)=>{let s=_Y(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(_Y(e));if(e.needsSessionSync)for(let t of i.worktrees){let n=_Y(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])=>_Y(e)===n||t.some(e=>_Y(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(_Y(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=_Y(n.path),i=t.get(r)?.some(t=>_Y(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${_Y(e.path)}`).sort().join(`
6605
6605
  `),m.push(e.subscribeProjects(()=>{let t=e.getProjects().map(e=>`${e.id}\u0000${_Y(e.path)}`).sort().join(`
6606
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}},yY=null,bY=0,xY=()=>(yY||=vY({isVSCode:le,getProjects:()=>Pi.getState().projects,getCatalog:()=>Y.getState().availableWorktreesByProject,getActiveDirectories:()=>{let e=Mo.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=>!Mo.getState().loadedDirectories.has(_Y(e)),refresh:fs,syncAdded:e=>bo(e,Mo.getState().activeSessions),subscribeProjects:e=>Pi.subscribe(e),subscribeCatalog:e=>Y.subscribe((t,n)=>{t.availableWorktreesByProject!==n.availableWorktreesByProject&&e()}),subscribeSessions:e=>Mo.subscribe((t,n)=>{(t.activeSessions!==n.activeSessions||t.cachedDirectories!==n.cachedDirectories)&&e()}),subscribeEvents:Ja,subscribeRuntime:e=>i(t=>e(l(t))),generation:c,setTimer:(e,t)=>globalThis.setTimeout(e,t),clearTimer:e=>globalThis.clearTimeout(e)}),bY+=1,yY.start(),()=>{bY=Math.max(0,bY-1),bY===0&&yY?.stop()}),SY=`openchamber:mini-chat-presence`,CY=()=>{let e=kh(),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(()=>{oa(e=>t.current(e),e=>n.current(e),e=>r.current(e))},[]),Z.useEffect(()=>xY(),[]),null},wY=()=>{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(AY,t),null};function TY(e){let t=(0,Q.c)(4),{embeddedBackgroundWorkEnabled:n}=e,r;t[0]===n?r=t[1]:(r={enabled:n,autoRun:!1},t[0]=n,t[1]=r),fc(r);let i=Z.useSyncExternalStore(Oi,bi,bi);Nr(n&&i===`legacy-enabled`),rr();let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=[],t[2]=a):a=t[2],Z.useEffect(EY,a);let o;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(CY,{}),t[3]=o):o=t[3],o}function EY(){let e=xo(),t=Ti();e.start(),t.start();let n=No(e);return()=>{n(),t.stop(),e.stop()}}function DY(e){let t=(0,Q.c)(6),{embeddedBackgroundWorkEnabled:n}=e;zJ(),UJ(),eJ(),dY();let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0],Z.useEffect(OY,r);let i;t[1]===n?i=t[2]:(i=(0,$.jsx)(TY,{embeddedBackgroundWorkEnabled:n}),t[1]=n,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(wY,{}),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 OY(){Fq()}function kY(e){let t=e.data;if(t?.type!==`mini-chat-session-presence`||!t.sessionId||!t.directory)return;let n=t.viewed!==!1;ar(t.directory,t.sessionId,n),n&&Br(t.sessionId)}function AY(){if(typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(SY);return e.onmessage=kY,()=>e.close()}var jY=new Set,MY=new Map,NY=(e,t)=>`https://cdn.jsdelivr.net/npm/${encodeURIComponent(e.packageName).replace(`%40`,`@`).replace(`%2F`,`/`)}/files/${e.filePrefix}-latin-${t}-normal.woff2`,PY=(e,t)=>{let n=`${e.family}:${t}`;if(jY.has(n))return Promise.resolve();let r=MY.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(${NY(e,t)}) format('woff2')`,{style:`normal`,weight:String(t),display:`swap`});document.fonts.add(i);let a=i.load().then(()=>{jY.add(n)}).catch(n=>{document.fonts.delete(i),console.warn(`Failed to load font: ${e.family} ${t}`,n)}).finally(()=>{MY.delete(n)});return MY.set(n,a),a},FY=e=>e?Promise.all(e.weights.map(t=>PY(e,t))).then(()=>void 0):Promise.resolve(),IY=e=>FY(hn[e]?.source),LY=e=>FY(mn[e]?.source),RY={family:`Syne`,packageName:`@fontsource/syne`,filePrefix:`syne`,weights:[700]},zY=()=>FY(RY);function BY(){let e=(0,Q.c)(4),{uiFont:t,monoFont:n}=Hd(),r,i;e[0]!==n||e[1]!==t?(r=()=>{if(typeof document>`u`)return;let e=document.documentElement,r=hn[t]?.stack??hn.system.stack,i=mn[n]?.stack??mn[`system-mono`].stack;IY(t),LY(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{wS as $,AU as A,mp as At,wO as B,$K as C,qp as Ct,sK as D,cp as Dt,WK as E,Np as Et,QN as F,yf as Ft,zw as G,zD as H,ZN as I,Yd as It,Pw as J,Bw as K,eP as L,Kd as Lt,PV as M,$f as Mt,dR as N,Qf as Nt,fW as O,lp as Ot,$F as P,Gf as Pt,CS as Q,GN as R,Jd as Rt,eq as S,Jp as St,JK as T,Fp as Tt,Zw as U,DO as V,Vw as W,US as X,eC as Y,bS as Z,fq as _,Fh as _t,TY as a,Xx as at,pq as b,fm as bt,qq as c,Cx as ct,Wq as d,Py as dt,xS as et,Rq as f,my as ft,_q as g,Zh as gt,Eq as h,bg as ht,DY as i,Yx as it,sU as j,gp as jt,lW as k,up as kt,Hq as l,Ub as lt,Lq as m,sy as mt,zY as n,SS as nt,QJ as o,Ax as ot,Iq as p,hy as pt,Fw as q,IY as r,dS as rt,XJ as s,kx as st,BY as t,ES as tt,Uq as u,Kb as ut,dq as v,kh as vt,QK as w,Up as wt,lq as x,Qp as xt,uq as y,ym as yt,vN as z,Wd as zt};