@openchambery/web 1.19.1 → 1.19.2-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/assets/{AssistantView-H6shoxl5.js → AssistantView-C-QMt6k-.js} +1 -1
  2. package/dist/assets/{ChatContainer-Daa5W1sk.js → ChatContainer-BXsYtF5J.js} +6 -6
  3. package/dist/assets/ContextPanel-BgZaO94E.js +288 -0
  4. package/dist/assets/{DiagramView-BfyN-k_0.js → DiagramView-B1QrNXxn.js} +1 -1
  5. package/dist/assets/{MarkdownRendererImpl-DNhuoybt.js → MarkdownRendererImpl-DxaO46mB.js} +1 -1
  6. package/dist/assets/{MobileDetailNavigation-B21nwHVB.js → MobileDetailNavigation-BYWMhqdh.js} +1 -1
  7. package/dist/assets/{MobileShareBridge-CVuIIOkq.js → MobileShareBridge-CNmHWzk2.js} +1 -1
  8. package/dist/assets/MobileSurface-Dc19Aj5q.js +2 -0
  9. package/dist/assets/{MultiRunWindow-BHa95dXi.js → MultiRunWindow-B0FNrIvZ.js} +1 -1
  10. package/dist/assets/{SettingsView-TLcvwH03.js → SettingsView-binwHNR-.js} +1 -1
  11. package/dist/assets/{SettingsWindow-BUIQkiO2.js → SettingsWindow-BWV8uobK.js} +1 -1
  12. package/dist/assets/{TerminalView-BIk-diLF.js → TerminalView-XqnVsum6.js} +1 -1
  13. package/dist/assets/{ToolOutputDialog-ClZXQ2ee.js → ToolOutputDialog-Dexn468e.js} +1 -1
  14. package/dist/assets/appThemeRegistry-BxZ-hog4.js +2 -0
  15. package/dist/assets/{gitApi-G6u4mIJa.js → gitApi-D9vHiQyq.js} +1 -1
  16. package/dist/assets/{insertionBoundaries-lo4zrlFI.js → insertionBoundaries-DA2NoBgN.js} +1 -1
  17. package/dist/assets/{main-8r9WN9j6.js → main-CICj-qSr.js} +2 -2
  18. package/dist/assets/{main-tsB0yCVi.js → main-CzrzNCue.js} +5 -5
  19. package/dist/assets/{miniChat-B4rTOWDV.js → miniChat-Dv6oqaWh.js} +2 -2
  20. package/dist/assets/{mobile-Dd71U7If.js → mobile-BNrav53B.js} +2 -2
  21. package/dist/assets/{multirun-DYvDqrOC.js → multirun-CK3Iwo-v.js} +1 -1
  22. package/dist/assets/{projectMeta-B6E8Feg8.js → projectMeta-C73Y8iuW.js} +1 -1
  23. package/dist/assets/{radio-DswLr47h.js → radio-ChOSH5D4.js} +1 -1
  24. package/dist/assets/{renderElectronMiniChatApp-Dz39AM3_.js → renderElectronMiniChatApp-Bj5s68c_.js} +2 -2
  25. package/dist/assets/{renderMobileApp-DHc-J2Fc.js → renderMobileApp-CYSL9xiM.js} +4 -4
  26. package/dist/assets/{runtimeConfig-Cf_G38k8.js → runtimeConfig-gee3OGVR.js} +1 -1
  27. package/dist/assets/runtimeEndpointReset-CbDDkuDo.js +4 -0
  28. package/dist/assets/{shikiHighlight-BzV876r7.js → shikiHighlight-Bwrjs3dJ.js} +1 -1
  29. package/dist/assets/{useAppFontEffects-Cgp7KwNF.js → useAppFontEffects-BfgNZcSc.js} +5 -5
  30. package/dist/assets/{useDesktopWindowControlsLayout-DPffJ02b.js → useDesktopWindowControlsLayout-EkkpTi5u.js} +1 -1
  31. package/dist/assets/{useEffectiveDirectory-DSrxWL-k.js → useEffectiveDirectory-CMr7RG4i.js} +1 -1
  32. package/dist/assets/{useMobileNavigationStore-B-eF_OVT.js → useMobileNavigationStore-55ddqHLu.js} +1 -1
  33. package/dist/assets/{useSessionAutoCleanup-0GyoJ4_9.js → useSessionAutoCleanup-CC3HaBQr.js} +1 -1
  34. package/dist/assets/{useWorkerHighlightedLines-CcNKZE-g.js → useWorkerHighlightedLines-DqeV0VeO.js} +1 -1
  35. package/dist/index.html +2 -2
  36. package/dist/mini-chat.html +2 -2
  37. package/dist/mobile.html +2 -2
  38. package/package.json +1 -1
  39. package/server/index.js +4 -0
  40. package/server/lib/scheduled-tasks/DOCUMENTATION.md +25 -2
  41. package/server/lib/scheduled-tasks/runtime.js +234 -3
  42. package/server/lib/scheduled-tasks/runtime.test.js +221 -0
  43. package/dist/assets/ContextPanel-BTUao9L2.js +0 -288
  44. package/dist/assets/MobileSurface-BJ9fqB5L.js +0 -2
  45. package/dist/assets/appThemeRegistry-CyE8QPIG.js +0 -2
  46. package/dist/assets/runtimeEndpointReset-51jb_Bfy.js +0 -4
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-ClZXQ2ee.js","assets/rolldown-runtime-C0FnF6B9.js","assets/useUIStore-Wyu09VUF.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/persistence-aCOlo6ew.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-BL4PvBYZ.js","assets/store-Dge7C5E4.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/dialog-CD0j-atu.js","assets/utils-CJdWZupK.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-Bs6GJIoO.js","assets/button-BkTMa7Qj.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-DidS-jC5.js","assets/vendor-pierre-diffs-BenIz2TM.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/appThemeRegistry-CyE8QPIG.js","assets/platform-ulFAVx1H.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/useMobileNavigationStore-B-eF_OVT.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-DxZsjSPQ.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/markdown-worker-9Sn2jsDp.js","assets/useEffectiveDirectory-DSrxWL-k.js","assets/useWorkerHighlightedLines-CcNKZE-g.js","assets/tooltip-GC3dg3gO.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{A as t,E as n,P as r,T as i,U as a,g as o,t as s,w as c,y as l}from"./useUIStore-Wyu09VUF.js";import{$ as u,$t as d,B as f,C as p,Ct as m,Dt as h,G as g,I as _,J as v,K as y,M as b,N as x,Q as S,R as C,S as w,T,U as E,V as D,W as O,Wt as k,Y as A,Z as j,_ as M,at as N,b as P,ct as F,d as I,et as L,ft as R,it as z,j as B,kn as V,lt as H,mt as U,nt as W,ot as ee,pt as G,q as K,r as q,st as te,u as ne,ut as re,v as ie,wt as ae,x as oe,y as se,yt as ce,z as le}from"./persistence-aCOlo6ew.js";import{a as ue,i as de,r as fe,t as pe}from"./vendor-zustand-B4dlGEM2.js";import{c as me,d as he,f as ge,l as _e,nt as ve,rt as ye,tt as be,u as xe}from"./vendor-base-ui-CnHfUmDN.js";import{At as Se,Bt as Ce,Ct as we,Gt as Te,Ht as Ee,Jt as De,Kt as Oe,Nt as ke,Pt as Ae,Rt as je,St as Me,Ut as Ne,Wt as Pe,Yt as Fe,jt as Ie,kt as Le,n as Re,t as ze,zt as Be}from"./platform-ulFAVx1H.js";import{a as Ve,n as He,o as Ue}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as We}from"./vendor-react-DLPElpoQ.js";import{i as Ge,n as Ke,s as qe,t as Je}from"./vendor-tanstack-react-query-D7pys_c9.js";import{B as Ye,R as Xe,V as Ze,c as Qe}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{a as $e,d as et,i as tt,l as nt,n as J,o as rt,r as it,u as at}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as ot,r as st,t as ct}from"./clipboard-BL4PvBYZ.js";import{i as lt,t as ut}from"./store-Dge7C5E4.js";import{$ as dt,$a as ft,$t as pt,A as mt,Aa as ht,Ai as gt,An as _t,Ar as vt,At as yt,Bi as bt,Bn as xt,Bo as St,Ca as Ct,Cn as wt,Cr as Tt,Ct as Et,D as Dt,Da as Ot,Di as kt,Dn as At,Do as jt,E as Mt,Ea as Nt,Ei as Pt,En as Ft,F as It,Fa as Lt,Fr as Rt,G as zt,Gi as Bt,Gr as Vt,Gt as Ht,H as Ut,Hi as Wt,Hn as Gt,I as Kt,Ia as qt,Ir as Jt,It as Yt,J as Xt,Ja as Zt,Ji as Qt,K as $t,Ki as en,Kr as tn,Kt as nn,La as rn,Li as an,Lo as on,Lr as sn,Lt as cn,M as ln,Ma as un,Mi as dn,Mr as fn,Mt as pn,N as mn,Ni as hn,Nt as gn,O as _n,Oa as vn,Oi as yn,On as bn,Oo as xn,Ot as Sn,P as Cn,Pi as wn,Q as Tn,Qa as En,Qr as Dn,Qt as On,R as kn,Ri as An,Rt as jn,S as Mn,Sa as Nn,Si as Pn,T as Fn,Ti as In,Ua as Ln,Ui as Rn,Ur as zn,Ut as Bn,Vi as Vn,Vn as Hn,Vr as Un,W as Wn,Wi as Gn,Wr as Kn,Wt as qn,X as Jn,Xa as Yn,Xi as Xn,Xr as Zn,Xt as Qn,Y as $n,Ya as er,Yi as tr,Yr as nr,Z as rr,Za as ir,Zi as ar,Zt as or,_a as sr,_n as cr,_t as lr,a as ur,aa as dr,ai as fr,an as pr,ar as mr,at as hr,ba as gr,bi as _r,br as vr,bt as yr,ca as br,cn as xr,co as Sr,cr as Cr,dn as wr,do as Tr,dt as Er,eo as Dr,et as Or,f as kr,fn as Ar,g as jr,gi as Mr,gn as Nr,gt as Pr,hi as Fr,hn as Ir,ht as Lr,i as Rr,ii as zr,in as Br,it as Vr,j as Hr,ji as Ur,jr as Wr,jt as Gr,k as Kr,ki as qr,kn as Jr,kr as Yr,kt as Xr,l as Zr,la as Qr,li as $r,ln as ei,m as ti,mi as ni,mn as ri,mt as ii,n as ai,nn as oi,no as si,nt as ci,oa as li,oi as ui,on as di,or as fi,pa as pi,pi as mi,pn as hi,pt as gi,q as _i,qa as vi,qi as yi,qn as bi,qr as xi,qt as Si,ri as Ci,rn as wi,rt as Ti,si as Ei,so as Di,sr as Oi,ta as ki,to as Ai,tt as ji,ua as Mi,ui as Ni,un as Pi,vi as Fi,vn as Ii,vt as Li,w as Ri,wa as zi,wi as Bi,wn as Vi,wt as Hi,x as Ui,xa as Wi,xi as Gi,ya as Ki,yi as qi,z as Ji,za as Yi,zi as Xi,zr as Zi}from"./useMobileNavigationStore-B-eF_OVT.js";import{a as Qi,i as $i,l as ea,n as ta,o as na,r as ra,s as ia,t as aa}from"./dialog-CD0j-atu.js";import{n as oa,t as Y}from"./utils-CJdWZupK.js";import{t as sa}from"./AgentAvatar-DgGHpQoD.js";import{n as X}from"./Icon-Bs6GJIoO.js";import{t as ca}from"./button-BkTMa7Qj.js";import{E as la,n as ua}from"./gitApi-G6u4mIJa.js";import{A as da,B as fa,C as pa,G as ma,J as ha,K as ga,M as _a,O as va,S as ya,T as ba,W as xa,a as Sa,b as Ca,d as wa,g as Ta,h as Ea,i as Da,j as Oa,k as ka,n as Aa,o as ja,p as Ma,s as Na,u as Pa,v as Fa,w as Ia,x as La,z as Ra}from"./projectMeta-B6E8Feg8.js";import{t as za}from"./input-Ca2tUhgN.js";import{i as Ba,n as Va,t as Ha}from"./tooltip-GC3dg3gO.js";import{n as Ua,t as Wa}from"./useThemeSystem-DMzWVJaW.js";import{A as Ga,B as Ka,C as qa,K as Ja,M as Ya,P as Xa,_ as Za,a as Qa,f as $a,g as eo,h as to,i as no,m as ro,o as io,p as ao,r as oo,t as so,v as co,w as lo,y as uo}from"./radio-DswLr47h.js";import{i as fo,t as po}from"./OverlayScrollbar-VZKKu-cu.js";import{_ as mo,a as ho,d as go,f as _o,g as vo,h as yo,i as bo,l as xo,m as So,n as Co,u as wo,v as To,x as Eo}from"./markdownTheme-DidS-jC5.js";import{n as Do,r as Oo,t as ko}from"./useRuntimeAPIs-DSLXJybW.js";import{A as Ao,B as jo,C as Mo,D as No,E as Po,F as Fo,H as Io,I as Lo,L as Ro,M as zo,O as Bo,P as Vo,R as Ho,S as Uo,T as Wo,V as Go,a as Ko,b as qo,c as Jo,f as Yo,i as Xo,j as Zo,k as Qo,l as $o,m as es,n as ts,o as ns,p as rs,r as is,s as as,t as os,u as ss,w as cs,x as ls,z as us}from"./insertionBoundaries-lo4zrlFI.js";import{A as ds,C as fs,D as ps,E as ms,L as hs,M as gs,N as _s,O as vs,P as ys,S as bs,T as xs,_ as Ss,a as Cs,b as ws,c as Ts,d as Es,f as Ds,g as Os,h as ks,i as As,j as js,k as Ms,m as Ns,p as Ps,r as Fs,t as Is,u as Ls,v as Rs,w as zs,x as Bs,y as Vs}from"./appThemeRegistry-CyE8QPIG.js";import{_ as Hs,a as Us,c as Ws,g as Gs,l as Ks,o as qs,t as Js,v as Ys,y as Xs}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{i as Zs,n as Qs,o as $s,s as ec,t as tc}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{a as nc,n as rc,t as ic}from"./url-BQHM4bC4.js";import{_ as ac,l as oc,m as sc,p as cc,s as lc}from"./markdown-worker-9Sn2jsDp.js";import{n as uc}from"./useEffectiveDirectory-DSrxWL-k.js";import{a as dc,c as fc,d as pc,f as mc,i as hc,l as gc,n as _c,r as vc,s as yc,t as bc}from"./FadeInOnReveal-BpIMrqet.js";import{A as xc,C as Sc,D as Cc,E as wc,M as Tc,O as Ec,S as Dc,T as Oc,a as kc,b as Ac,c as jc,g as Mc,h as Nc,i as Pc,j as Fc,k as Ic,o as Lc,p as Rc,r as zc,s as Bc,t as Vc,v as Hc,w as Uc,x as Wc,y as Gc}from"./useWorkerHighlightedLines-CcNKZE-g.js";import{t as Kc}from"./vendor-cmdk-CeAGfrLo.js";import{t as qc}from"./sortable-tabs-strip-Bl26ebY_.js";import{n as Jc,t as Yc}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{i as Xc,u as Zc}from"./vendor-pierre-diffs-BenIz2TM.js";import{i as Qc,t as $c}from"./vendor-framer-motion-DFy_BSVd.js";import{t as el}from"./vendor-legendapp-list-WE32lwNk.js";var Z=e(ye(),1),Q=We(),$=ve(),tl=e(be(),1),nl=`openchamber:close-embedded-session-chat`,rl=`openchamber:embedded-visibility`,il=`openchamber:embedded-visibility-request`,al=e=>new URLSearchParams(e).get(`ocPanel`)===`session-chat`,ol=(e,t,n)=>JSON.stringify({sessionID:e,directory:t||``,readOnly:n===!0}),sl=(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()},cl=(e,t,n,r,i,a)=>{let o=ol(n,r,i),s=e.get(t);if(s?.signature===o)return s.src;let c=sl(n,r,i,a);return e.set(t,{signature:o,src:c}),c},ll=null,ul=()=>{if(ll!==null)return ll;if(typeof window>`u`)return ll=!1,!1;try{return ll=new URLSearchParams(window.location.search).get(`ocPanel`)===`session-chat`,ll}catch{return ll=!1,!1}},dl=()=>{if(!ul())return null;try{let e=new URLSearchParams(window.location.search).get(`sessionId`);return e&&e.trim().length>0?e.trim():null}catch{return null}},fl=Ve(`OpenChamberMedia`);function pl(){return Re()&&He.getPlatform()===`android`&&He.isPluginAvailable(`OpenChamberMedia`)}async function ml(e){if(!pl())return null;let t=await fl.pickMedia({limit:e});if(t.cancelled)return[];let n=[];for(let e of t.files){let t=await fetch(He.convertFileSrc(e.path));if(!t.ok)throw Error(`Native media fetch failed (${t.status})`);let r=await t.blob();n.push(new File([r],e.name,{type:e.mimeType}))}return n}var hl=(e,t)=>{let n=t.trim();if(!n.length)return[...e].sort((e,t)=>e.scope===`project`&&t.scope!==`project`?-1:e.scope!==`project`&&t.scope===`project`?1:e.name.localeCompare(t.name));let r=gi([...e],n,e=>[e.name,e.description??``]);return r.sort((e,t)=>e.score===t.score?e.item.scope===`project`&&t.item.scope!==`project`?-1:e.item.scope!==`project`&&t.item.scope===`project`?1:e.item.name.localeCompare(t.item.name):e.score-t.score),r.map(e=>e.item)},gl=new Map,_l=(e,t,n)=>`${+!!t}:${n}:${e.map(e=>`${e.id}\0${e.title}\0${e.subtitle??``}\0${e.badge??``}\0${e.iconName}`).join(`|`)}`,vl=async e=>{let t=js(`--surface-foreground`);return Promise.all(e.slice(0,40).map(async e=>{let n=`${e.iconName}:${t}`,r=gl.get(n);return r===void 0&&(r=await Io(e.iconName,t)??``,gl.set(n,r)),{id:e.id,title:e.title,subtitle:e.subtitle??``,badge:e.badge??``,iconBase64:r}}))},yl=[],bl=e=>void 0,xl=()=>void 0;function Sl(e){let t=hs()&&e.enabled&&Rs(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)(Vs()),u=J(e.onText),d=J(e.onSend),f=J(e.onAbort),p=J(e.onAttach),m=J(e.onFiles),h=J(e.onRemoveAttachment),g=J(e.onOpenModel),_=J(e.onCycleAgent),v=J(e.onOpenAgent),y=J(e.onScrollToBottom),b=J(e.onAutocompleteAccept??bl),x=J(e.onAutocompleteDismiss??xl),S=J(e=>{typeof document>`u`||Ns(document.documentElement,e)});Ds.bind({onText:(e,t,n)=>{ys({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:De(e.text,e.attachments.map(e=>e.filename)),chipRanges:Os(fs(e.text,e.chipHighlights),js(`--primary`)),appearance:typeof document>`u`?`dark`:ms(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:xs(e.agentName||void 0),agentIdenticon:ps(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 _s(e,!0),()=>{_s(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,Ds.rememberText(i.text),Ds.retain(e,i);let a=Es();return()=>{n.current=null,a(),Ds.release(e)}},[t]),(0,Z.useEffect)(()=>{if(!t)return;let r=!1,i=ma(e.modelId,e.providerId),a={modelIcon:``,modelLabel:e.modelLabel,modelVariantLabel:e.modelVariantLabel};if(s.current=``,n.current&&={...n.current,...a},ws().update(a),i)return Ms(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},ws().update(a)}),()=>{r=!0}},[t,e.modelId,e.providerId,e.modelLabel,e.modelVariantLabel]);let w=ks(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:[]},Ds.rememberState(n.current)),ws().update({attachmentPreviews:[]});return}return Promise.all(i.map(async t=>{let n=t.mimeType.startsWith(`image/`)&&t.dataUrl?await vs(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},Ds.rememberState(n.current)),ws().update({attachmentPreviews:e}))}),()=>{r=!0}},[t,w]);let T=e.autocompleteRows??yl,E=e.autocompleteOpen===!0,D=e.autocompleteHighlightedIndex??0,O=_l(T,E,D);(0,Z.useEffect)(()=>{if(!t)return;let e=!1;if(!(E&&T.length>0)){let e=Vs();bs(l.current,e)||(l.current=e,n.current&&(n.current={...n.current,autocomplete:e},Ds.rememberState(n.current)),ws().update({autocomplete:e}));return}return vl(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))),rows:t};bs(l.current,r)||(l.current=r,n.current&&(n.current={...n.current,autocomplete:r},Ds.rememberState(n.current)),ws().update({autocomplete:r}))}),()=>{e=!0}},[t,O]);let k=t?fs(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&&zs(c,s)){i.current=!1,a.current=e.textPresetEpoch;return}n.current=s,Ds.rememberState(s);let l=e.textPresetEpoch!==a.current;a.current=e.textPresetEpoch;let u=gs({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=Ss(c,s,u,{caret:e.caret});d&&ws().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,k]),t}var Cl=(e,t,n)=>{let r=Error(e);return r.name=`DictationStreamError`,r.retryable=t,n&&(r.reasonCode=n),r},wl=1e4,Tl=15e3,El=3e4,Dl=3e4,Ol=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 a()}catch{}this.connectPromise=new Promise((e,t)=>{let n=!1,i;try{let e=r().websocket(`/api/dictation/ws`);i=Me(e)}catch(e){this.connectPromise=null,t(e instanceof Error?e:Error(String(e)));return}let a=setTimeout(()=>{if(!n){n=!0,this.connectPromise=null;try{i.close()}catch{}t(Error(`Dictation connection timed out`))}},wl);i.onopen=()=>{},i.onmessage=t=>{let r;try{r=JSON.parse(String(t.data))}catch{return}if(!n&&r.type===`ready`){n=!0,clearTimeout(a),this.socket=i,this.connectPromise=null,this.notifyConnection(!0),e();return}this.handleMessage(r)},i.onerror=()=>{window.setTimeout(()=>{n||(n=!0,clearTimeout(a),this.connectPromise=null,t(Error(`Dictation connection failed`)))},250)},i.onclose=e=>{if(!n){n=!0,clearTimeout(a),this.connectPromise=null;let r=e?.reason?`: ${e.reason}`:``;t(Error(`Dictation connection failed${r}`));return}this.socket===i&&(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`))},Tl);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`))},Dl),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=Cl(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)}}},El))}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`,()=>{Ol.cancelAllForRuntimeSwitch()});var kl=128,Al=`audio/pcm;rate=16000;bits=16`,jl=()=>new Promise(e=>setTimeout(e,0)),Ml=()=>{let e=Math.random().toString(36).slice(2,10);return`dic_${Date.now().toString(16)}${e}`},Nl=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??Al,this.getStartOptions=e.getStartOptions,this.createDictationId=e.createDictationId??Ml}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<kl;){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 jl()}}resolveDrainWaiters(){let e=this.drainWaiters;this.drainWaiters=[];for(let t of e)t()}},Pl=16e3,Fl=Pl,Il=()=>{if(typeof window>`u`)return null;let e=window;return e.AudioContext||e.webkitAudioContext||null},Ll=e=>{let t=Math.max(-1,Math.min(1,e));return Math.round(t<0?t*32768:t*32767)},Rl=(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]=Ll(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]=Ll(e[i]*(1-s)+e[o]*s)}return a},zl=(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},Bl=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)},Vl=()=>({stream:null,context:null,source:null,processor:null,gain:null,pending:new Int16Array,started:!1}),Hl=e=>{if(e)try{e.disconnect()}catch{}},Ul=()=>typeof navigator>`u`||typeof window>`u`||!navigator.mediaDevices||typeof navigator.mediaDevices.getUserMedia!=`function`?!1:Il()!==null;function Wl(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=Vl(),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=Il();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(ql);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=Rl(a,n.sampleRate,Pl);for(t.pending=zl(t.pending,c);t.pending.length>=Fl;){let e=t.pending.slice(0,Fl);t.pending=t.pending.slice(Fl),i.current(Bl(e))}},e.connect(a),a.connect(o),o.connect(n.destination)}catch(e){let r=e;t.getTracks().forEach(Kl);try{await n.close()}catch{}throw l.current=Vl(),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{}Hl(e.processor),Hl(e.source),Hl(e.gain),e.stream&&e.stream.getTracks().forEach(Gl);let t=e.pending;if(e.pending=new Int16Array,t.length>0&&i.current(Bl(t)),e.context)try{await e.context.close()}catch{}l.current===e&&(l.current=Vl())},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 Gl(e){try{e.stop()}catch{}}function Kl(e){try{e.stop()}catch{}}function ql(){}var Jl=1e3,Yl=e=>e instanceof Error?e:Error(String(e)),Xl=()=>{let e=Qr.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 Zl(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 Nl({client:Ol,getStartOptions:Xl});let x=(0,Z.useCallback)(()=>{g.current&&=(clearInterval(g.current),null)},[]),S=(0,Z.useCallback)(()=>{g.current||=setInterval(()=>{l(e=>e+1)},Jl)},[]),C=(0,Z.useCallback)(e=>{let t=Yl(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)(()=>Ol.onPartial((e,t)=>{let n=b.current?.getDictationId();!n||e!==n||(h.current=t,s(t))}),[]),(0,Z.useEffect)(()=>Ol.subscribeConnectionStatus(e=>{e&&m.current===`recording`&&b.current?.restartStream().catch(e=>{C(e)})}),[C]);let E=Wl({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 Ql=e=>{let t=Math.floor(e/60),n=e%60;return`${t}:${String(n).padStart(2,`0`)}`},$l=e=>{let t=(0,Q.c)(4),{volume:n}=e,{currentTheme:r}=Ua(),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},eu=e=>{let t=Qr(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 V(`/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},tu=e=>{let t=(0,Q.c)(86),{radius:n,isMobile:r,footerIconButtonClass:i,footerPaddingClass:a,iconSizeClass:o,sendIconSizeClass:c,disabled:l,onInsert:u,onInsertAndSend:d,onActiveChange:f,onContentHeightChange:p,renderTrigger:m,topAccessory:h}=e,g=m===void 0||m,{t:_}=ot(),{currentTheme:v}=Ua(),y=Qr(nu),b=s(ru),x;t[0]===b?x=t[1]:(x=Ya(Xa(`toggle_dictation`,b)),t[0]=b,t[1]=x);let S=x,[C]=Z.useState(iu),w=Z.useRef(null),T=Z.useRef(u),E=Z.useRef(d),D,O;t[2]!==u||t[3]!==d?(D=()=>{T.current=u,E.current=d},O=[u,d],t[2]=u,t[3]=d,t[4]=D,t[5]=O):(D=t[4],O=t[5]),Z.useEffect(D,O);let k;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(k={onTranscript:e=>{let t=w.current;w.current=null,t===`send`?E.current(e):T.current(e)}},t[6]=k):k=t[6];let{status:A,partialTranscript:j,volume:M,duration:N,error:P,errorReason:F,startDictation:I,confirmDictation:L,cancelDictation:R,retryFailedDictation:z,acceptPartialTranscript:B,discardFailedDictation:V}=Zl(k),H=A===`recording`&&F===`model_download_in_progress`,U=eu(H),W=Z.useRef(A),ee,G;t[7]===A?(ee=t[8],G=t[9]):(ee=()=>{W.current=A},G=[A],t[7]=A,t[8]=ee,t[9]=G),Z.useEffect(ee,G);let K,q;t[10]!==f||t[11]!==A?(K=()=>{f?.(A!==`idle`)},q=[A,f],t[10]=f,t[11]=A,t[12]=K,t[13]=q):(K=t[12],q=t[13]),Z.useLayoutEffect(K,q);let te,ne;t[14]!==L||t[15]!==I?(te=()=>{let e=()=>{W.current===`idle`?I():W.current===`recording`&&(w.current=`insert`,L())};return window.addEventListener(`openchamber:dictation-toggle`,e),()=>window.removeEventListener(`openchamber:dictation-toggle`,e)},ne=[I,L],t[14]=L,t[15]=I,t[16]=te,t[17]=ne):(te=t[16],ne=t[17]),Z.useEffect(te,ne);let re,ie;t[18]!==R||t[19]!==L||t[20]!==A?(re=()=>{if(A!==`recording`)return;let e=e=>{if(!e.isComposing){if(e.key===`Enter`&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey){e.preventDefault(),e.stopPropagation(),w.current=`insert`,L();return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),R())}};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},ie=[A,L,R],t[18]=R,t[19]=L,t[20]=A,t[21]=re,t[22]=ie):(re=t[21],ie=t[22]),Z.useEffect(re,ie);let ae=Z.useRef(null),oe=Z.useRef(null),se=Z.useRef(null),[ce,le]=Z.useState(null),ue=A!==`idle`,de=Z.useRef(p),fe,pe;t[23]===p?(fe=t[24],pe=t[25]):(fe=()=>{de.current=p},pe=[p],t[23]=p,t[24]=fe,t[25]=pe),Z.useEffect(fe,pe);let me=Z.useRef(!1),he;t[26]===ue?he=t[27]:(he=()=>{if(!ue){me.current&&(me.current=!1,de.current?.(null));return}let e=oe.current,t=se.current;if(!e||!t)return;let n=window.getComputedStyle(e),r=(parseFloat(n.paddingTop)||0)+(parseFloat(n.paddingBottom)||0);me.current=!0,de.current?.(t.offsetHeight+r),e.scrollTop=e.scrollHeight},t[26]=ue,t[27]=he);let ge;t[28]!==P||t[29]!==ue||t[30]!==j||t[31]!==A?(ge=[ue,j,A,P],t[28]=P,t[29]=ue,t[30]=j,t[31]=A,t[32]=ge):ge=t[32],Z.useLayoutEffect(he,ge);let _e,ve;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(_e=()=>()=>{me.current&&(me.current=!1,de.current?.(null))},ve=[],t[33]=_e,t[34]=ve):(_e=t[33],ve=t[34]),Z.useEffect(_e,ve);let ye,be;if(t[35]===ue?(ye=t[36],be=t[37]):(ye=()=>{if(!ue)return;let e=ae.current?.closest(`[data-chat-input-footer="true"]`);e&&e.offsetHeight>0&&le(e.offsetHeight)},be=[ue],t[35]=ue,t[36]=ye,t[37]=be),Z.useLayoutEffect(ye,be),!C||!y)return null;let xe=A!==`idle`,Se;t[38]===L?Se=t[39]:(Se=e=>{w.current=e,L()},t[38]=L,t[39]=Se);let Ce=Se,we;t[40]===z?we=t[41]:(we=()=>{w.current=`insert`,z()},t[40]=z,t[41]=we);let Te=we,Ee;bb0:{if(A===`failed`){Ee=``;break bb0}if(A===`uploading`){let e;t[42]===_?e=t[43]:(e=_(`chat.dictation.processing`),t[42]=_,t[43]=e),Ee=e;break bb0}if(H){let e;t[44]!==U||t[45]!==_?(e=U===null?_(`chat.dictation.downloadingModel`):_(`chat.dictation.downloadingModelProgress`,{percent:String(U)}),t[44]=U,t[45]=_,t[46]=e):e=t[46],Ee=e;break bb0}let e;t[47]===_?e=t[48]:(e=_(`chat.dictation.listening`),t[47]=_,t[48]=e),Ee=e}let De=Ee,Oe;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(Oe={onMouseDown:au,onPointerDownCapture:ou},t[49]=Oe):Oe=t[49];let ke=Oe,Ae;t[50]!==S||t[51]!==l||t[52]!==i||t[53]!==o||t[54]!==xe||t[55]!==g||t[56]!==I||t[57]!==_?(Ae=g?(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:()=>{I()},disabled:l||xe,title:S?`${_(`chat.dictation.start`)} (${S})`:_(`chat.dictation.start`),"aria-label":_(`chat.dictation.start`),children:(0,$.jsx)(X,{name:`mic`,className:Y(o,`text-current`)})}):null,t[50]=S,t[51]=l,t[52]=i,t[53]=o,t[54]=xe,t[55]=g,t[56]=I,t[57]=_,t[58]=Ae):Ae=t[58];let je;t[59]!==B||t[60]!==R||t[61]!==Ce||t[62]!==v||t[63]!==V||t[64]!==N||t[65]!==P||t[66]!==ce||t[67]!==i||t[68]!==a||t[69]!==o||t[70]!==xe||t[71]!==r||t[72]!==H||t[73]!==j||t[74]!==De||t[75]!==n||t[76]!==Te||t[77]!==c||t[78]!==A||t[79]!==_||t[80]!==h||t[81]!==M?(je=xe?(0,$.jsxs)(`div`,{ref:ae,className:Y(`absolute inset-0 z-50 flex flex-col overflow-x-hidden overflow-y-hidden`,r&&`oc-composer-morph-content-fade`),style:{borderRadius:n,backgroundColor:v.colors.surface.subtle},role:`dialog`,"aria-label":_(`chat.dictation.overlayAria`),children:[h,(0,$.jsx)(`div`,{ref:oe,className:Y(`scrollbar-none flex-1 min-h-0 overflow-y-auto px-3`,r?`pt-3.5 pb-2.5`:`pt-5 pb-2`),children:(0,$.jsxs)(`div`,{ref:se,className:Y(!j&&`translate-y-1.5`),children:[j?(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label whitespace-pre-wrap`,style:{color:v.colors.surface.foreground},children:j}):A===`recording`?(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,style:{color:v.colors.surface.mutedForeground},children:[(0,$.jsx)($l,{volume:M}),(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,children:De})]}):(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,style:{color:v.colors.surface.mutedForeground},children:De}),A===`failed`?(0,$.jsx)(`p`,{className:`typography-meta mt-1`,style:{color:v.colors.status.error},children:P||_(`chat.dictation.failed`)}):null,A===`recording`&&P&&!H?(0,$.jsx)(`p`,{className:`typography-meta mt-1`,style:{color:v.colors.status.warning},children:P}):null]})}),(0,$.jsxs)(`div`,{className:Y(`flex flex-shrink-0 items-center gap-x-3`,a),style:ce?{height:ce}:void 0,children:[A===`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:v.colors.status.error}}),(0,$.jsx)(`span`,{className:`relative inline-flex h-2 w-2 rounded-full`,style:{backgroundColor:v.colors.status.error}})]}),(0,$.jsx)($l,{volume:M}),(0,$.jsx)(`span`,{className:`typography-meta tabular-nums`,style:{color:v.colors.surface.mutedForeground},children:Ql(N)})]}):A===`uploading`?(0,$.jsx)(X,{name:`loader-4`,className:`ml-1 h-4 w-4 animate-spin`,style:{color:v.colors.surface.mutedForeground}}):null,(0,$.jsx)(`div`,{className:Y(`ml-auto flex items-center`,r?`gap-x-1`:`gap-x-1.5 md:gap-x-3`),children:A===`recording`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-muted-foreground hover:text-foreground`),onClick:()=>{R()},title:_(`chat.dictation.cancel`),"aria-label":_(`chat.dictation.cancel`),children:(0,$.jsx)(X,{name:`close`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:()=>Ce(`insert`),title:_(`chat.dictation.insert`),"aria-label":_(`chat.dictation.insert`),children:(0,$.jsx)(X,{name:`check`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-primary hover:text-primary`),onClick:()=>Ce(`send`),title:_(`chat.dictation.insertAndSend`),"aria-label":_(`chat.dictation.insertAndSend`),children:(0,$.jsx)(X,{name:`send-plane-2`,className:c})})]}):A===`uploading`?(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-muted-foreground hover:text-foreground`),onClick:()=>{R()},title:_(`chat.dictation.cancel`),"aria-label":_(`chat.dictation.cancel`),children:(0,$.jsx)(X,{name:`close`,className:o})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-muted-foreground hover:text-foreground`),onClick:V,title:_(`chat.dictation.discard`),"aria-label":_(`chat.dictation.discard`),children:(0,$.jsx)(X,{name:`close`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:Te,title:_(`chat.dictation.retry`),"aria-label":_(`chat.dictation.retry`),children:(0,$.jsx)(X,{name:`refresh`,className:o})}),j.trim()?(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:()=>{w.current=`insert`,B()},title:_(`chat.dictation.insert`),"aria-label":_(`chat.dictation.insert`),children:(0,$.jsx)(X,{name:`check`,className:o})}):null]})})]})]}):null,t[59]=B,t[60]=R,t[61]=Ce,t[62]=v,t[63]=V,t[64]=N,t[65]=P,t[66]=ce,t[67]=i,t[68]=a,t[69]=o,t[70]=xe,t[71]=r,t[72]=H,t[73]=j,t[74]=De,t[75]=n,t[76]=Te,t[77]=c,t[78]=A,t[79]=_,t[80]=h,t[81]=M,t[82]=je):je=t[82];let Me;return t[83]!==Ae||t[84]!==je?(Me=(0,$.jsxs)($.Fragment,{children:[Ae,je]}),t[83]=Ae,t[84]=je,t[85]=Me):Me=t[85],Me};function nu(e){return e.dictationEnabled}function ru(e){return e.shortcutOverrides}function iu(){return!d()&&Ul()}function au(e){return e.preventDefault()}function ou(e){e.pointerType===`touch`&&e.preventDefault()}var su=2e3,cu=ue((e,t)=>({pending:!1,expiresAt:null,arm:(t=su)=>{let n=Date.now()+t;return e({pending:!0,expiresAt:n}),n},clear:()=>{!t().pending&&t().expiresAt===null||e({pending:!1,expiresAt:null})}})),lu=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}},uu=15e3,du=100,fu=new Map,pu=new Map,mu=e=>`${e.runtimeKey}\n${e.directory}\n${e.sessionID}`,hu=e=>{let t=mu(e),n=e.now??Date.now(),r=pu.get(t);if(r&&n-r.loadedAt<uu)return Promise.resolve(r.sessions);let i=fu.get(t);if(i)return i;let a=e.request().then(e=>{for(pu.delete(t);pu.size>=du;){let e=pu.keys().next().value;if(typeof e!=`string`)break;pu.delete(e)}return pu.set(t,{loadedAt:Date.now(),sessions:e}),e});return fu.set(t,a),a.then(()=>{fu.get(t)===a&&fu.delete(t)},()=>{fu.get(t)===a&&fu.delete(t)}),a},gu=(e,t)=>e.id<t.id?-1:+(e.id>t.id),_u=(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(gu)},vu=30;function yu(e){return e===`busy`||e===`retry`}var bu=new Map;function xu(e,t=!1){return{limit:e.loadedTurns,cursor:e.kind===`has-more`?e.cursor:void 0,complete:e.kind===`exhausted`,loading:t}}function Su(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e.message;if(typeof t==`string`&&t.length>0)return t}try{return JSON.stringify(e)}catch{return String(e)}}function Cu(e,t){if(!e.error)return;let n=e.response?.status;throw Error(`${t} failed${n?` (${n})`:``}: ${Su(e.error)}`)}function wu(e,t){let n=zi();if(!n)return!1;let r=n.getTranscript(un(e,t));return r.messageOrder.length!==0&&r.messageOrder.length>Xi()}function Tu(e){return!!e.force||!e.hasSession||e.shouldLoadMessages}function Eu(e,t,n){let r=[...e.getState().session],i=rn.search(r,t,e=>e.id);i.found?r[i.index]=n:r.splice(i.index,0,n),e.setState({session:r})}function Du(){let e=cr(),t=Ht(),n=Bn(),r=(0,Z.useCallback)((t,n=e)=>`${n}\n${t}`,[e]),a=(0,Z.useCallback)((t,n=e)=>{let r=zi();if(!r||!t)return xu({kind:`unknown`,loadedTurns:0},!1);let i=un(n,t),a=r.getPagination(i),o=r.getRequestState?.(i);return xu(a.boundary,o?.status===`loading`)},[e]),o=(0,Z.useCallback)((e,t)=>{if(t.length===0)return;let r=n.getChild(e);if(!r)return;let i=r.getState(),a={session_status:{...i.session_status},session_status_observed_at:{...i.session_status_observed_at},session_error_at:{...i.session_error_at},session_diff:{...i.session_diff},todo:{...i.todo},permission:{...i.permission},question:{...i.question}};bn(a,t),Yt(r,t),r.setState(a);for(let n of t)Ot(e,n)},[n]),s=(0,Z.useCallback)((t=e)=>{let n=bu.get(t);if(n)return bu.delete(t),bu.set(t,n),n;let r=new Set;for(bu.set(t,r);bu.size>vu;){let e=bu.keys().next().value;if(!e)break;let t=[...bu.get(e)??[]];bu.delete(e),o(e,t)}return r},[e,o]),c=(0,Z.useCallback)((r,i=e)=>{let a=i===e?t:n.ensureChild(i,{bootstrap:!1}),c=s(i),l=Jr(a.getState()),u=an(),d=_t({seen:c,keep:r,limit:u,preserve:l});if(o(i,d),An()){let e=new Set([r,...c,...l]),t=(zi()?.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:wu(i,t));if(n.length>0){for(let e of n)c.delete(e);o(i,n)}}},[n,e,s,o,t]),l=(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 Nn(a,r):await Wi(a,r)}catch{return}if(i?.isStale?.())return;let u=zi()?.getTranscript(un(a,r));fr({directory:a,sessionID:r,store:o,transcript:u,isStale:i?.isStale}),await Ni({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]),u=(0,Z.useCallback)(async(t,i)=>{await St();let a=typeof i==`boolean`?i:i?.force,o=typeof i==`object`?i.directory??e:e,s=n.ensureChild(o,{bootstrap:!1}),u=ke.getScopedSdkClient(o);c(t,o);let d=r(t,o);return lu.run({scope:s,key:d,request:async e=>{let n=s.getState(),r=zi(),i=un(o,t),c=r?.hasSession?.(i)??(r?.getTranscript(i).messageOrder.length??0)>0,d=r?.getPagination(i)?.boundary??{kind:`unknown`,loadedTurns:0},f=rn.search(n.session,t,e=>e.id).found,p=r?.getRequestState?.(i);if(!a&&c&&d.kind!==`unknown`&&p?.status!==`error`&&f&&Vn(o,t)){fr({directory:o,sessionID:t,store:s,isStale:e});return}let m=!!(a||!c||f),h=Tu({hasSession:f,shouldLoadMessages:m,force:!!a});await Promise.all([h?(async()=>{try{let n=await li(async()=>{let e=await u.session.get({sessionID:t,directory:o});return Cu(e,`session.get`),e});if(n.data&&!e()){let r=dr(n.data);e()||Eu(s,t,r)}}catch(e){console.error(`[sync] failed to fetch session`,t,e)}})():Promise.resolve(),m?l(t,{isStale:e,directory:o}):Promise.resolve()])}})},[n,r,c,l,e]),d=(0,Z.useCallback)(async(t,r)=>{let a=r||e;if(!t||!a)return;let o=n.ensureChild(a,{bootstrap:!1}),s=ke.getScopedSdkClient(a),c=await hu({runtimeKey:i(),directory:a,sessionID:t,request:async()=>{let e=await s.session.children({sessionID:t,directory:a});return Cu(e,`session.children`),e.data??[]}});o.setState(e=>{let n=_u(e.session,c,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=a(t,n?.directory??e);return!r.complete&&!!r.cursor},[e,a]),p=(0,Z.useCallback)((t,n)=>a(t,n?.directory??e).loading,[e,a]),m=(0,Z.useCallback)((t,n)=>a(t,n?.directory??e).complete,[e,a]),h=(0,Z.useCallback)(t=>{let n=t.directory||e;gr(un(n,t.sessionID),{type:`optimistic-add`,message:t.message,parts:t.parts})},[e]),g=(0,Z.useCallback)(t=>{let n=t.directory||e;gr(un(n,t.sessionID),{type:`optimistic-remove`,messageID:t.messageID})},[e]),_=(0,Z.useCallback)(t=>{let n=t.directory||e;gr(un(n,t.sessionID),{type:`optimistic-confirm`,messageID:t.messageID})},[e]),v=(0,Z.useCallback)(async(t,r)=>{if(!t)return;await St();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(yu(o))throw Error(`refresh transcript busy`);try{await vn(i,t),fr({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:u,syncSession:u,loadChildren:d,hasMore:f,isLoading:p,isComplete:m,refreshSessionTranscript:v,optimistic:{add:h,remove:g,confirm:_}}),[u,d,f,p,m,v,h,g,_])}var Ou=e=>e===`diff`||e===`plan`||e===`file`||e===`preview-console`||e===`preview-annotation`,ku=e=>e===`original`||e===`modified`,Au=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?Math.max(1,Math.floor(t)):null},ju=e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.sessionKey!=`string`||t.sessionKey.trim().length===0||!Ou(t.source))return null;let n=Au(t.startLine),r=Au(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:ku(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()}},Mu=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(ju).filter(e=>!!e).filter(t=>t.sessionKey===e);t.length>0&&(n[e]=t)}return n},Nu=ue()(fe(de((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:l(),version:1,migrate:e=>!e||typeof e!=`object`?{drafts:{}}:{drafts:Mu(e.drafts)}}),{name:`inline-comment-draft-store`}));function Pu(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 Fu(e){return e.length===0?``:e.every(e=>e.source===`preview-annotation`)?e.map(Pu).join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-Dexn468e.js","assets/rolldown-runtime-C0FnF6B9.js","assets/useUIStore-Wyu09VUF.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/persistence-aCOlo6ew.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-BL4PvBYZ.js","assets/store-Dge7C5E4.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/dialog-CD0j-atu.js","assets/utils-CJdWZupK.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-Bs6GJIoO.js","assets/button-BkTMa7Qj.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-DidS-jC5.js","assets/vendor-pierre-diffs-BenIz2TM.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/appThemeRegistry-BxZ-hog4.js","assets/platform-ulFAVx1H.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/useMobileNavigationStore-55ddqHLu.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-DxZsjSPQ.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/markdown-worker-9Sn2jsDp.js","assets/useEffectiveDirectory-CMr7RG4i.js","assets/useWorkerHighlightedLines-DqeV0VeO.js","assets/tooltip-GC3dg3gO.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{A as t,E as n,P as r,T as i,U as a,g as o,t as s,w as c,y as l}from"./useUIStore-Wyu09VUF.js";import{$ as u,$t as d,B as f,C as p,Ct as m,Dt as h,G as g,I as _,J as v,K as y,M as b,N as x,Q as S,R as C,S as w,T,U as E,V as D,W as O,Wt as k,Y as A,Z as j,_ as M,at as N,b as P,ct as F,d as I,et as L,ft as R,it as z,j as B,kn as V,lt as H,mt as U,nt as W,ot as ee,pt as G,q as K,r as q,st as te,u as ne,ut as re,v as ie,wt as ae,x as oe,y as se,yt as ce,z as le}from"./persistence-aCOlo6ew.js";import{a as ue,i as de,r as fe,t as pe}from"./vendor-zustand-B4dlGEM2.js";import{c as me,d as he,f as ge,l as _e,nt as ve,rt as ye,tt as be,u as xe}from"./vendor-base-ui-CnHfUmDN.js";import{At as Se,Bt as Ce,Ct as we,Gt as Te,Ht as Ee,Jt as De,Kt as Oe,Nt as ke,Pt as Ae,Rt as je,St as Me,Ut as Ne,Wt as Pe,Yt as Fe,jt as Ie,kt as Le,n as Re,t as ze,zt as Be}from"./platform-ulFAVx1H.js";import{a as Ve,n as He,o as Ue}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as We}from"./vendor-react-DLPElpoQ.js";import{i as Ge,n as Ke,s as qe,t as Je}from"./vendor-tanstack-react-query-D7pys_c9.js";import{B as Ye,R as Xe,V as Ze,c as Qe}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{a as $e,d as et,i as tt,l as nt,n as J,o as rt,r as it,u as at}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as ot,r as st,t as ct}from"./clipboard-BL4PvBYZ.js";import{i as lt,t as ut}from"./store-Dge7C5E4.js";import{$ as dt,$a as ft,$t as pt,A as mt,Aa as ht,Ai as gt,An as _t,Ar as vt,At as yt,Bi as bt,Bn as xt,Bo as St,Ca as Ct,Cn as wt,Cr as Tt,Ct as Et,D as Dt,Da as Ot,Di as kt,Dn as At,Do as jt,E as Mt,Ea as Nt,Ei as Pt,En as Ft,F as It,Fa as Lt,Fr as Rt,G as zt,Gi as Bt,Gr as Vt,Gt as Ht,H as Ut,Hi as Wt,Hn as Gt,I as Kt,Ia as qt,Ir as Jt,It as Yt,J as Xt,Ja as Zt,Ji as Qt,K as $t,Ki as en,Kr as tn,Kt as nn,La as rn,Li as an,Lo as on,Lr as sn,Lt as cn,M as ln,Ma as un,Mi as dn,Mr as fn,Mt as pn,N as mn,Ni as hn,Nt as gn,O as _n,Oa as vn,Oi as yn,On as bn,Oo as xn,Ot as Sn,P as Cn,Pi as wn,Q as Tn,Qa as En,Qr as Dn,Qt as On,R as kn,Ri as An,Rt as jn,S as Mn,Sa as Nn,Si as Pn,T as Fn,Ti as In,Ua as Ln,Ui as Rn,Ur as zn,Ut as Bn,Vi as Vn,Vn as Hn,Vr as Un,W as Wn,Wi as Gn,Wr as Kn,Wt as qn,X as Jn,Xa as Yn,Xi as Xn,Xr as Zn,Xt as Qn,Y as $n,Ya as er,Yi as tr,Yr as nr,Z as rr,Za as ir,Zi as ar,Zt as or,_a as sr,_n as cr,_t as lr,a as ur,aa as dr,ai as fr,an as pr,ar as mr,at as hr,ba as gr,bi as _r,br as vr,bt as yr,ca as br,cn as xr,co as Sr,cr as Cr,dn as wr,do as Tr,dt as Er,eo as Dr,et as Or,f as kr,fn as Ar,g as jr,gi as Mr,gn as Nr,gt as Pr,hi as Fr,hn as Ir,ht as Lr,i as Rr,ii as zr,in as Br,it as Vr,j as Hr,ji as Ur,jr as Wr,jt as Gr,k as Kr,ki as qr,kn as Jr,kr as Yr,kt as Xr,l as Zr,la as Qr,li as $r,ln as ei,m as ti,mi as ni,mn as ri,mt as ii,n as ai,nn as oi,no as si,nt as ci,oa as li,oi as ui,on as di,or as fi,pa as pi,pi as mi,pn as hi,pt as gi,q as _i,qa as vi,qi as yi,qn as bi,qr as xi,qt as Si,ri as Ci,rn as wi,rt as Ti,si as Ei,so as Di,sr as Oi,ta as ki,to as Ai,tt as ji,ua as Mi,ui as Ni,un as Pi,vi as Fi,vn as Ii,vt as Li,w as Ri,wa as zi,wi as Bi,wn as Vi,wt as Hi,x as Ui,xa as Wi,xi as Gi,ya as Ki,yi as qi,z as Ji,za as Yi,zi as Xi,zr as Zi}from"./useMobileNavigationStore-55ddqHLu.js";import{a as Qi,i as $i,l as ea,n as ta,o as na,r as ra,s as ia,t as aa}from"./dialog-CD0j-atu.js";import{n as oa,t as Y}from"./utils-CJdWZupK.js";import{t as sa}from"./AgentAvatar-DgGHpQoD.js";import{n as X}from"./Icon-Bs6GJIoO.js";import{t as ca}from"./button-BkTMa7Qj.js";import{E as la,n as ua}from"./gitApi-D9vHiQyq.js";import{A as da,B as fa,C as pa,G as ma,J as ha,K as ga,M as _a,O as va,S as ya,T as ba,W as xa,a as Sa,b as Ca,d as wa,g as Ta,h as Ea,i as Da,j as Oa,k as ka,n as Aa,o as ja,p as Ma,s as Na,u as Pa,v as Fa,w as Ia,x as La,z as Ra}from"./projectMeta-C73Y8iuW.js";import{t as za}from"./input-Ca2tUhgN.js";import{i as Ba,n as Va,t as Ha}from"./tooltip-GC3dg3gO.js";import{n as Ua,t as Wa}from"./useThemeSystem-DMzWVJaW.js";import{A as Ga,B as Ka,C as qa,K as Ja,M as Ya,P as Xa,_ as Za,a as Qa,f as $a,g as eo,h as to,i as no,m as ro,o as io,p as ao,r as oo,t as so,v as co,w as lo,y as uo}from"./radio-ChOSH5D4.js";import{i as fo,t as po}from"./OverlayScrollbar-VZKKu-cu.js";import{_ as mo,a as ho,d as go,f as _o,g as vo,h as yo,i as bo,l as xo,m as So,n as Co,u as wo,v as To,x as Eo}from"./markdownTheme-DidS-jC5.js";import{n as Do,r as Oo,t as ko}from"./useRuntimeAPIs-DSLXJybW.js";import{A as Ao,B as jo,C as Mo,D as No,E as Po,F as Fo,H as Io,I as Lo,L as Ro,M as zo,O as Bo,P as Vo,R as Ho,S as Uo,T as Wo,V as Go,a as Ko,b as qo,c as Jo,f as Yo,i as Xo,j as Zo,k as Qo,l as $o,m as es,n as ts,o as ns,p as rs,r as is,s as as,t as os,u as ss,w as cs,x as ls,z as us}from"./insertionBoundaries-DA2NoBgN.js";import{A as ds,C as fs,D as ps,E as ms,L as hs,M as gs,N as _s,O as vs,P as ys,S as bs,T as xs,_ as Ss,a as Cs,b as ws,c as Ts,d as Es,f as Ds,g as Os,h as ks,i as As,j as js,k as Ms,m as Ns,p as Ps,r as Fs,t as Is,u as Ls,v as Rs,w as zs,x as Bs,y as Vs}from"./appThemeRegistry-BxZ-hog4.js";import{_ as Hs,a as Us,c as Ws,g as Gs,l as Ks,o as qs,t as Js,v as Ys,y as Xs}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{i as Zs,n as Qs,o as $s,s as ec,t as tc}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{a as nc,n as rc,t as ic}from"./url-BQHM4bC4.js";import{_ as ac,l as oc,m as sc,p as cc,s as lc}from"./markdown-worker-9Sn2jsDp.js";import{n as uc}from"./useEffectiveDirectory-CMr7RG4i.js";import{a as dc,c as fc,d as pc,f as mc,i as hc,l as gc,n as _c,r as vc,s as yc,t as bc}from"./FadeInOnReveal-BpIMrqet.js";import{A as xc,C as Sc,D as Cc,E as wc,M as Tc,O as Ec,S as Dc,T as Oc,a as kc,b as Ac,c as jc,g as Mc,h as Nc,i as Pc,j as Fc,k as Ic,o as Lc,p as Rc,r as zc,s as Bc,t as Vc,v as Hc,w as Uc,x as Wc,y as Gc}from"./useWorkerHighlightedLines-DqeV0VeO.js";import{t as Kc}from"./vendor-cmdk-CeAGfrLo.js";import{t as qc}from"./sortable-tabs-strip-Bl26ebY_.js";import{n as Jc,t as Yc}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{i as Xc,u as Zc}from"./vendor-pierre-diffs-BenIz2TM.js";import{i as Qc,t as $c}from"./vendor-framer-motion-DFy_BSVd.js";import{t as el}from"./vendor-legendapp-list-WE32lwNk.js";var Z=e(ye(),1),Q=We(),$=ve(),tl=e(be(),1),nl=`openchamber:close-embedded-session-chat`,rl=`openchamber:embedded-visibility`,il=`openchamber:embedded-visibility-request`,al=e=>new URLSearchParams(e).get(`ocPanel`)===`session-chat`,ol=(e,t,n)=>JSON.stringify({sessionID:e,directory:t||``,readOnly:n===!0}),sl=(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()},cl=(e,t,n,r,i,a)=>{let o=ol(n,r,i),s=e.get(t);if(s?.signature===o)return s.src;let c=sl(n,r,i,a);return e.set(t,{signature:o,src:c}),c},ll=null,ul=()=>{if(ll!==null)return ll;if(typeof window>`u`)return ll=!1,!1;try{return ll=new URLSearchParams(window.location.search).get(`ocPanel`)===`session-chat`,ll}catch{return ll=!1,!1}},dl=()=>{if(!ul())return null;try{let e=new URLSearchParams(window.location.search).get(`sessionId`);return e&&e.trim().length>0?e.trim():null}catch{return null}},fl=Ve(`OpenChamberMedia`);function pl(){return Re()&&He.getPlatform()===`android`&&He.isPluginAvailable(`OpenChamberMedia`)}async function ml(e){if(!pl())return null;let t=await fl.pickMedia({limit:e});if(t.cancelled)return[];let n=[];for(let e of t.files){let t=await fetch(He.convertFileSrc(e.path));if(!t.ok)throw Error(`Native media fetch failed (${t.status})`);let r=await t.blob();n.push(new File([r],e.name,{type:e.mimeType}))}return n}var hl=(e,t)=>{let n=t.trim();if(!n.length)return[...e].sort((e,t)=>e.scope===`project`&&t.scope!==`project`?-1:e.scope!==`project`&&t.scope===`project`?1:e.name.localeCompare(t.name));let r=gi([...e],n,e=>[e.name,e.description??``]);return r.sort((e,t)=>e.score===t.score?e.item.scope===`project`&&t.item.scope!==`project`?-1:e.item.scope!==`project`&&t.item.scope===`project`?1:e.item.name.localeCompare(t.item.name):e.score-t.score),r.map(e=>e.item)},gl=new Map,_l=(e,t,n)=>`${+!!t}:${n}:${e.map(e=>`${e.id}\0${e.title}\0${e.subtitle??``}\0${e.badge??``}\0${e.iconName}`).join(`|`)}`,vl=async e=>{let t=js(`--surface-foreground`);return Promise.all(e.slice(0,40).map(async e=>{let n=`${e.iconName}:${t}`,r=gl.get(n);return r===void 0&&(r=await Io(e.iconName,t)??``,gl.set(n,r)),{id:e.id,title:e.title,subtitle:e.subtitle??``,badge:e.badge??``,iconBase64:r}}))},yl=[],bl=e=>void 0,xl=()=>void 0;function Sl(e){let t=hs()&&e.enabled&&Rs(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)(Vs()),u=J(e.onText),d=J(e.onSend),f=J(e.onAbort),p=J(e.onAttach),m=J(e.onFiles),h=J(e.onRemoveAttachment),g=J(e.onOpenModel),_=J(e.onCycleAgent),v=J(e.onOpenAgent),y=J(e.onScrollToBottom),b=J(e.onAutocompleteAccept??bl),x=J(e.onAutocompleteDismiss??xl),S=J(e=>{typeof document>`u`||Ns(document.documentElement,e)});Ds.bind({onText:(e,t,n)=>{ys({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:De(e.text,e.attachments.map(e=>e.filename)),chipRanges:Os(fs(e.text,e.chipHighlights),js(`--primary`)),appearance:typeof document>`u`?`dark`:ms(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:xs(e.agentName||void 0),agentIdenticon:ps(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 _s(e,!0),()=>{_s(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,Ds.rememberText(i.text),Ds.retain(e,i);let a=Es();return()=>{n.current=null,a(),Ds.release(e)}},[t]),(0,Z.useEffect)(()=>{if(!t)return;let r=!1,i=ma(e.modelId,e.providerId),a={modelIcon:``,modelLabel:e.modelLabel,modelVariantLabel:e.modelVariantLabel};if(s.current=``,n.current&&={...n.current,...a},ws().update(a),i)return Ms(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},ws().update(a)}),()=>{r=!0}},[t,e.modelId,e.providerId,e.modelLabel,e.modelVariantLabel]);let w=ks(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:[]},Ds.rememberState(n.current)),ws().update({attachmentPreviews:[]});return}return Promise.all(i.map(async t=>{let n=t.mimeType.startsWith(`image/`)&&t.dataUrl?await vs(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},Ds.rememberState(n.current)),ws().update({attachmentPreviews:e}))}),()=>{r=!0}},[t,w]);let T=e.autocompleteRows??yl,E=e.autocompleteOpen===!0,D=e.autocompleteHighlightedIndex??0,O=_l(T,E,D);(0,Z.useEffect)(()=>{if(!t)return;let e=!1;if(!(E&&T.length>0)){let e=Vs();bs(l.current,e)||(l.current=e,n.current&&(n.current={...n.current,autocomplete:e},Ds.rememberState(n.current)),ws().update({autocomplete:e}));return}return vl(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))),rows:t};bs(l.current,r)||(l.current=r,n.current&&(n.current={...n.current,autocomplete:r},Ds.rememberState(n.current)),ws().update({autocomplete:r}))}),()=>{e=!0}},[t,O]);let k=t?fs(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&&zs(c,s)){i.current=!1,a.current=e.textPresetEpoch;return}n.current=s,Ds.rememberState(s);let l=e.textPresetEpoch!==a.current;a.current=e.textPresetEpoch;let u=gs({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=Ss(c,s,u,{caret:e.caret});d&&ws().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,k]),t}var Cl=(e,t,n)=>{let r=Error(e);return r.name=`DictationStreamError`,r.retryable=t,n&&(r.reasonCode=n),r},wl=1e4,Tl=15e3,El=3e4,Dl=3e4,Ol=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 a()}catch{}this.connectPromise=new Promise((e,t)=>{let n=!1,i;try{let e=r().websocket(`/api/dictation/ws`);i=Me(e)}catch(e){this.connectPromise=null,t(e instanceof Error?e:Error(String(e)));return}let a=setTimeout(()=>{if(!n){n=!0,this.connectPromise=null;try{i.close()}catch{}t(Error(`Dictation connection timed out`))}},wl);i.onopen=()=>{},i.onmessage=t=>{let r;try{r=JSON.parse(String(t.data))}catch{return}if(!n&&r.type===`ready`){n=!0,clearTimeout(a),this.socket=i,this.connectPromise=null,this.notifyConnection(!0),e();return}this.handleMessage(r)},i.onerror=()=>{window.setTimeout(()=>{n||(n=!0,clearTimeout(a),this.connectPromise=null,t(Error(`Dictation connection failed`)))},250)},i.onclose=e=>{if(!n){n=!0,clearTimeout(a),this.connectPromise=null;let r=e?.reason?`: ${e.reason}`:``;t(Error(`Dictation connection failed${r}`));return}this.socket===i&&(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`))},Tl);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`))},Dl),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=Cl(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)}}},El))}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`,()=>{Ol.cancelAllForRuntimeSwitch()});var kl=128,Al=`audio/pcm;rate=16000;bits=16`,jl=()=>new Promise(e=>setTimeout(e,0)),Ml=()=>{let e=Math.random().toString(36).slice(2,10);return`dic_${Date.now().toString(16)}${e}`},Nl=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??Al,this.getStartOptions=e.getStartOptions,this.createDictationId=e.createDictationId??Ml}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<kl;){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 jl()}}resolveDrainWaiters(){let e=this.drainWaiters;this.drainWaiters=[];for(let t of e)t()}},Pl=16e3,Fl=Pl,Il=()=>{if(typeof window>`u`)return null;let e=window;return e.AudioContext||e.webkitAudioContext||null},Ll=e=>{let t=Math.max(-1,Math.min(1,e));return Math.round(t<0?t*32768:t*32767)},Rl=(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]=Ll(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]=Ll(e[i]*(1-s)+e[o]*s)}return a},zl=(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},Bl=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)},Vl=()=>({stream:null,context:null,source:null,processor:null,gain:null,pending:new Int16Array,started:!1}),Hl=e=>{if(e)try{e.disconnect()}catch{}},Ul=()=>typeof navigator>`u`||typeof window>`u`||!navigator.mediaDevices||typeof navigator.mediaDevices.getUserMedia!=`function`?!1:Il()!==null;function Wl(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=Vl(),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=Il();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(ql);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=Rl(a,n.sampleRate,Pl);for(t.pending=zl(t.pending,c);t.pending.length>=Fl;){let e=t.pending.slice(0,Fl);t.pending=t.pending.slice(Fl),i.current(Bl(e))}},e.connect(a),a.connect(o),o.connect(n.destination)}catch(e){let r=e;t.getTracks().forEach(Kl);try{await n.close()}catch{}throw l.current=Vl(),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{}Hl(e.processor),Hl(e.source),Hl(e.gain),e.stream&&e.stream.getTracks().forEach(Gl);let t=e.pending;if(e.pending=new Int16Array,t.length>0&&i.current(Bl(t)),e.context)try{await e.context.close()}catch{}l.current===e&&(l.current=Vl())},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 Gl(e){try{e.stop()}catch{}}function Kl(e){try{e.stop()}catch{}}function ql(){}var Jl=1e3,Yl=e=>e instanceof Error?e:Error(String(e)),Xl=()=>{let e=Qr.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 Zl(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 Nl({client:Ol,getStartOptions:Xl});let x=(0,Z.useCallback)(()=>{g.current&&=(clearInterval(g.current),null)},[]),S=(0,Z.useCallback)(()=>{g.current||=setInterval(()=>{l(e=>e+1)},Jl)},[]),C=(0,Z.useCallback)(e=>{let t=Yl(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)(()=>Ol.onPartial((e,t)=>{let n=b.current?.getDictationId();!n||e!==n||(h.current=t,s(t))}),[]),(0,Z.useEffect)(()=>Ol.subscribeConnectionStatus(e=>{e&&m.current===`recording`&&b.current?.restartStream().catch(e=>{C(e)})}),[C]);let E=Wl({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 Ql=e=>{let t=Math.floor(e/60),n=e%60;return`${t}:${String(n).padStart(2,`0`)}`},$l=e=>{let t=(0,Q.c)(4),{volume:n}=e,{currentTheme:r}=Ua(),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},eu=e=>{let t=Qr(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 V(`/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},tu=e=>{let t=(0,Q.c)(86),{radius:n,isMobile:r,footerIconButtonClass:i,footerPaddingClass:a,iconSizeClass:o,sendIconSizeClass:c,disabled:l,onInsert:u,onInsertAndSend:d,onActiveChange:f,onContentHeightChange:p,renderTrigger:m,topAccessory:h}=e,g=m===void 0||m,{t:_}=ot(),{currentTheme:v}=Ua(),y=Qr(nu),b=s(ru),x;t[0]===b?x=t[1]:(x=Ya(Xa(`toggle_dictation`,b)),t[0]=b,t[1]=x);let S=x,[C]=Z.useState(iu),w=Z.useRef(null),T=Z.useRef(u),E=Z.useRef(d),D,O;t[2]!==u||t[3]!==d?(D=()=>{T.current=u,E.current=d},O=[u,d],t[2]=u,t[3]=d,t[4]=D,t[5]=O):(D=t[4],O=t[5]),Z.useEffect(D,O);let k;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(k={onTranscript:e=>{let t=w.current;w.current=null,t===`send`?E.current(e):T.current(e)}},t[6]=k):k=t[6];let{status:A,partialTranscript:j,volume:M,duration:N,error:P,errorReason:F,startDictation:I,confirmDictation:L,cancelDictation:R,retryFailedDictation:z,acceptPartialTranscript:B,discardFailedDictation:V}=Zl(k),H=A===`recording`&&F===`model_download_in_progress`,U=eu(H),W=Z.useRef(A),ee,G;t[7]===A?(ee=t[8],G=t[9]):(ee=()=>{W.current=A},G=[A],t[7]=A,t[8]=ee,t[9]=G),Z.useEffect(ee,G);let K,q;t[10]!==f||t[11]!==A?(K=()=>{f?.(A!==`idle`)},q=[A,f],t[10]=f,t[11]=A,t[12]=K,t[13]=q):(K=t[12],q=t[13]),Z.useLayoutEffect(K,q);let te,ne;t[14]!==L||t[15]!==I?(te=()=>{let e=()=>{W.current===`idle`?I():W.current===`recording`&&(w.current=`insert`,L())};return window.addEventListener(`openchamber:dictation-toggle`,e),()=>window.removeEventListener(`openchamber:dictation-toggle`,e)},ne=[I,L],t[14]=L,t[15]=I,t[16]=te,t[17]=ne):(te=t[16],ne=t[17]),Z.useEffect(te,ne);let re,ie;t[18]!==R||t[19]!==L||t[20]!==A?(re=()=>{if(A!==`recording`)return;let e=e=>{if(!e.isComposing){if(e.key===`Enter`&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey){e.preventDefault(),e.stopPropagation(),w.current=`insert`,L();return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),R())}};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},ie=[A,L,R],t[18]=R,t[19]=L,t[20]=A,t[21]=re,t[22]=ie):(re=t[21],ie=t[22]),Z.useEffect(re,ie);let ae=Z.useRef(null),oe=Z.useRef(null),se=Z.useRef(null),[ce,le]=Z.useState(null),ue=A!==`idle`,de=Z.useRef(p),fe,pe;t[23]===p?(fe=t[24],pe=t[25]):(fe=()=>{de.current=p},pe=[p],t[23]=p,t[24]=fe,t[25]=pe),Z.useEffect(fe,pe);let me=Z.useRef(!1),he;t[26]===ue?he=t[27]:(he=()=>{if(!ue){me.current&&(me.current=!1,de.current?.(null));return}let e=oe.current,t=se.current;if(!e||!t)return;let n=window.getComputedStyle(e),r=(parseFloat(n.paddingTop)||0)+(parseFloat(n.paddingBottom)||0);me.current=!0,de.current?.(t.offsetHeight+r),e.scrollTop=e.scrollHeight},t[26]=ue,t[27]=he);let ge;t[28]!==P||t[29]!==ue||t[30]!==j||t[31]!==A?(ge=[ue,j,A,P],t[28]=P,t[29]=ue,t[30]=j,t[31]=A,t[32]=ge):ge=t[32],Z.useLayoutEffect(he,ge);let _e,ve;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(_e=()=>()=>{me.current&&(me.current=!1,de.current?.(null))},ve=[],t[33]=_e,t[34]=ve):(_e=t[33],ve=t[34]),Z.useEffect(_e,ve);let ye,be;if(t[35]===ue?(ye=t[36],be=t[37]):(ye=()=>{if(!ue)return;let e=ae.current?.closest(`[data-chat-input-footer="true"]`);e&&e.offsetHeight>0&&le(e.offsetHeight)},be=[ue],t[35]=ue,t[36]=ye,t[37]=be),Z.useLayoutEffect(ye,be),!C||!y)return null;let xe=A!==`idle`,Se;t[38]===L?Se=t[39]:(Se=e=>{w.current=e,L()},t[38]=L,t[39]=Se);let Ce=Se,we;t[40]===z?we=t[41]:(we=()=>{w.current=`insert`,z()},t[40]=z,t[41]=we);let Te=we,Ee;bb0:{if(A===`failed`){Ee=``;break bb0}if(A===`uploading`){let e;t[42]===_?e=t[43]:(e=_(`chat.dictation.processing`),t[42]=_,t[43]=e),Ee=e;break bb0}if(H){let e;t[44]!==U||t[45]!==_?(e=U===null?_(`chat.dictation.downloadingModel`):_(`chat.dictation.downloadingModelProgress`,{percent:String(U)}),t[44]=U,t[45]=_,t[46]=e):e=t[46],Ee=e;break bb0}let e;t[47]===_?e=t[48]:(e=_(`chat.dictation.listening`),t[47]=_,t[48]=e),Ee=e}let De=Ee,Oe;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(Oe={onMouseDown:au,onPointerDownCapture:ou},t[49]=Oe):Oe=t[49];let ke=Oe,Ae;t[50]!==S||t[51]!==l||t[52]!==i||t[53]!==o||t[54]!==xe||t[55]!==g||t[56]!==I||t[57]!==_?(Ae=g?(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:()=>{I()},disabled:l||xe,title:S?`${_(`chat.dictation.start`)} (${S})`:_(`chat.dictation.start`),"aria-label":_(`chat.dictation.start`),children:(0,$.jsx)(X,{name:`mic`,className:Y(o,`text-current`)})}):null,t[50]=S,t[51]=l,t[52]=i,t[53]=o,t[54]=xe,t[55]=g,t[56]=I,t[57]=_,t[58]=Ae):Ae=t[58];let je;t[59]!==B||t[60]!==R||t[61]!==Ce||t[62]!==v||t[63]!==V||t[64]!==N||t[65]!==P||t[66]!==ce||t[67]!==i||t[68]!==a||t[69]!==o||t[70]!==xe||t[71]!==r||t[72]!==H||t[73]!==j||t[74]!==De||t[75]!==n||t[76]!==Te||t[77]!==c||t[78]!==A||t[79]!==_||t[80]!==h||t[81]!==M?(je=xe?(0,$.jsxs)(`div`,{ref:ae,className:Y(`absolute inset-0 z-50 flex flex-col overflow-x-hidden overflow-y-hidden`,r&&`oc-composer-morph-content-fade`),style:{borderRadius:n,backgroundColor:v.colors.surface.subtle},role:`dialog`,"aria-label":_(`chat.dictation.overlayAria`),children:[h,(0,$.jsx)(`div`,{ref:oe,className:Y(`scrollbar-none flex-1 min-h-0 overflow-y-auto px-3`,r?`pt-3.5 pb-2.5`:`pt-5 pb-2`),children:(0,$.jsxs)(`div`,{ref:se,className:Y(!j&&`translate-y-1.5`),children:[j?(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label whitespace-pre-wrap`,style:{color:v.colors.surface.foreground},children:j}):A===`recording`?(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,style:{color:v.colors.surface.mutedForeground},children:[(0,$.jsx)($l,{volume:M}),(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,children:De})]}):(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,style:{color:v.colors.surface.mutedForeground},children:De}),A===`failed`?(0,$.jsx)(`p`,{className:`typography-meta mt-1`,style:{color:v.colors.status.error},children:P||_(`chat.dictation.failed`)}):null,A===`recording`&&P&&!H?(0,$.jsx)(`p`,{className:`typography-meta mt-1`,style:{color:v.colors.status.warning},children:P}):null]})}),(0,$.jsxs)(`div`,{className:Y(`flex flex-shrink-0 items-center gap-x-3`,a),style:ce?{height:ce}:void 0,children:[A===`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:v.colors.status.error}}),(0,$.jsx)(`span`,{className:`relative inline-flex h-2 w-2 rounded-full`,style:{backgroundColor:v.colors.status.error}})]}),(0,$.jsx)($l,{volume:M}),(0,$.jsx)(`span`,{className:`typography-meta tabular-nums`,style:{color:v.colors.surface.mutedForeground},children:Ql(N)})]}):A===`uploading`?(0,$.jsx)(X,{name:`loader-4`,className:`ml-1 h-4 w-4 animate-spin`,style:{color:v.colors.surface.mutedForeground}}):null,(0,$.jsx)(`div`,{className:Y(`ml-auto flex items-center`,r?`gap-x-1`:`gap-x-1.5 md:gap-x-3`),children:A===`recording`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-muted-foreground hover:text-foreground`),onClick:()=>{R()},title:_(`chat.dictation.cancel`),"aria-label":_(`chat.dictation.cancel`),children:(0,$.jsx)(X,{name:`close`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:()=>Ce(`insert`),title:_(`chat.dictation.insert`),"aria-label":_(`chat.dictation.insert`),children:(0,$.jsx)(X,{name:`check`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-primary hover:text-primary`),onClick:()=>Ce(`send`),title:_(`chat.dictation.insertAndSend`),"aria-label":_(`chat.dictation.insertAndSend`),children:(0,$.jsx)(X,{name:`send-plane-2`,className:c})})]}):A===`uploading`?(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-muted-foreground hover:text-foreground`),onClick:()=>{R()},title:_(`chat.dictation.cancel`),"aria-label":_(`chat.dictation.cancel`),children:(0,$.jsx)(X,{name:`close`,className:o})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,...ke,className:Y(i,`text-muted-foreground hover:text-foreground`),onClick:V,title:_(`chat.dictation.discard`),"aria-label":_(`chat.dictation.discard`),children:(0,$.jsx)(X,{name:`close`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:Te,title:_(`chat.dictation.retry`),"aria-label":_(`chat.dictation.retry`),children:(0,$.jsx)(X,{name:`refresh`,className:o})}),j.trim()?(0,$.jsx)(`button`,{type:`button`,...ke,className:i,onClick:()=>{w.current=`insert`,B()},title:_(`chat.dictation.insert`),"aria-label":_(`chat.dictation.insert`),children:(0,$.jsx)(X,{name:`check`,className:o})}):null]})})]})]}):null,t[59]=B,t[60]=R,t[61]=Ce,t[62]=v,t[63]=V,t[64]=N,t[65]=P,t[66]=ce,t[67]=i,t[68]=a,t[69]=o,t[70]=xe,t[71]=r,t[72]=H,t[73]=j,t[74]=De,t[75]=n,t[76]=Te,t[77]=c,t[78]=A,t[79]=_,t[80]=h,t[81]=M,t[82]=je):je=t[82];let Me;return t[83]!==Ae||t[84]!==je?(Me=(0,$.jsxs)($.Fragment,{children:[Ae,je]}),t[83]=Ae,t[84]=je,t[85]=Me):Me=t[85],Me};function nu(e){return e.dictationEnabled}function ru(e){return e.shortcutOverrides}function iu(){return!d()&&Ul()}function au(e){return e.preventDefault()}function ou(e){e.pointerType===`touch`&&e.preventDefault()}var su=2e3,cu=ue((e,t)=>({pending:!1,expiresAt:null,arm:(t=su)=>{let n=Date.now()+t;return e({pending:!0,expiresAt:n}),n},clear:()=>{!t().pending&&t().expiresAt===null||e({pending:!1,expiresAt:null})}})),lu=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}},uu=15e3,du=100,fu=new Map,pu=new Map,mu=e=>`${e.runtimeKey}\n${e.directory}\n${e.sessionID}`,hu=e=>{let t=mu(e),n=e.now??Date.now(),r=pu.get(t);if(r&&n-r.loadedAt<uu)return Promise.resolve(r.sessions);let i=fu.get(t);if(i)return i;let a=e.request().then(e=>{for(pu.delete(t);pu.size>=du;){let e=pu.keys().next().value;if(typeof e!=`string`)break;pu.delete(e)}return pu.set(t,{loadedAt:Date.now(),sessions:e}),e});return fu.set(t,a),a.then(()=>{fu.get(t)===a&&fu.delete(t)},()=>{fu.get(t)===a&&fu.delete(t)}),a},gu=(e,t)=>e.id<t.id?-1:+(e.id>t.id),_u=(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(gu)},vu=30;function yu(e){return e===`busy`||e===`retry`}var bu=new Map;function xu(e,t=!1){return{limit:e.loadedTurns,cursor:e.kind===`has-more`?e.cursor:void 0,complete:e.kind===`exhausted`,loading:t}}function Su(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e.message;if(typeof t==`string`&&t.length>0)return t}try{return JSON.stringify(e)}catch{return String(e)}}function Cu(e,t){if(!e.error)return;let n=e.response?.status;throw Error(`${t} failed${n?` (${n})`:``}: ${Su(e.error)}`)}function wu(e,t){let n=zi();if(!n)return!1;let r=n.getTranscript(un(e,t));return r.messageOrder.length!==0&&r.messageOrder.length>Xi()}function Tu(e){return!!e.force||!e.hasSession||e.shouldLoadMessages}function Eu(e,t,n){let r=[...e.getState().session],i=rn.search(r,t,e=>e.id);i.found?r[i.index]=n:r.splice(i.index,0,n),e.setState({session:r})}function Du(){let e=cr(),t=Ht(),n=Bn(),r=(0,Z.useCallback)((t,n=e)=>`${n}\n${t}`,[e]),a=(0,Z.useCallback)((t,n=e)=>{let r=zi();if(!r||!t)return xu({kind:`unknown`,loadedTurns:0},!1);let i=un(n,t),a=r.getPagination(i),o=r.getRequestState?.(i);return xu(a.boundary,o?.status===`loading`)},[e]),o=(0,Z.useCallback)((e,t)=>{if(t.length===0)return;let r=n.getChild(e);if(!r)return;let i=r.getState(),a={session_status:{...i.session_status},session_status_observed_at:{...i.session_status_observed_at},session_error_at:{...i.session_error_at},session_diff:{...i.session_diff},todo:{...i.todo},permission:{...i.permission},question:{...i.question}};bn(a,t),Yt(r,t),r.setState(a);for(let n of t)Ot(e,n)},[n]),s=(0,Z.useCallback)((t=e)=>{let n=bu.get(t);if(n)return bu.delete(t),bu.set(t,n),n;let r=new Set;for(bu.set(t,r);bu.size>vu;){let e=bu.keys().next().value;if(!e)break;let t=[...bu.get(e)??[]];bu.delete(e),o(e,t)}return r},[e,o]),c=(0,Z.useCallback)((r,i=e)=>{let a=i===e?t:n.ensureChild(i,{bootstrap:!1}),c=s(i),l=Jr(a.getState()),u=an(),d=_t({seen:c,keep:r,limit:u,preserve:l});if(o(i,d),An()){let e=new Set([r,...c,...l]),t=(zi()?.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:wu(i,t));if(n.length>0){for(let e of n)c.delete(e);o(i,n)}}},[n,e,s,o,t]),l=(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 Nn(a,r):await Wi(a,r)}catch{return}if(i?.isStale?.())return;let u=zi()?.getTranscript(un(a,r));fr({directory:a,sessionID:r,store:o,transcript:u,isStale:i?.isStale}),await Ni({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]),u=(0,Z.useCallback)(async(t,i)=>{await St();let a=typeof i==`boolean`?i:i?.force,o=typeof i==`object`?i.directory??e:e,s=n.ensureChild(o,{bootstrap:!1}),u=ke.getScopedSdkClient(o);c(t,o);let d=r(t,o);return lu.run({scope:s,key:d,request:async e=>{let n=s.getState(),r=zi(),i=un(o,t),c=r?.hasSession?.(i)??(r?.getTranscript(i).messageOrder.length??0)>0,d=r?.getPagination(i)?.boundary??{kind:`unknown`,loadedTurns:0},f=rn.search(n.session,t,e=>e.id).found,p=r?.getRequestState?.(i);if(!a&&c&&d.kind!==`unknown`&&p?.status!==`error`&&f&&Vn(o,t)){fr({directory:o,sessionID:t,store:s,isStale:e});return}let m=!!(a||!c||f),h=Tu({hasSession:f,shouldLoadMessages:m,force:!!a});await Promise.all([h?(async()=>{try{let n=await li(async()=>{let e=await u.session.get({sessionID:t,directory:o});return Cu(e,`session.get`),e});if(n.data&&!e()){let r=dr(n.data);e()||Eu(s,t,r)}}catch(e){console.error(`[sync] failed to fetch session`,t,e)}})():Promise.resolve(),m?l(t,{isStale:e,directory:o}):Promise.resolve()])}})},[n,r,c,l,e]),d=(0,Z.useCallback)(async(t,r)=>{let a=r||e;if(!t||!a)return;let o=n.ensureChild(a,{bootstrap:!1}),s=ke.getScopedSdkClient(a),c=await hu({runtimeKey:i(),directory:a,sessionID:t,request:async()=>{let e=await s.session.children({sessionID:t,directory:a});return Cu(e,`session.children`),e.data??[]}});o.setState(e=>{let n=_u(e.session,c,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=a(t,n?.directory??e);return!r.complete&&!!r.cursor},[e,a]),p=(0,Z.useCallback)((t,n)=>a(t,n?.directory??e).loading,[e,a]),m=(0,Z.useCallback)((t,n)=>a(t,n?.directory??e).complete,[e,a]),h=(0,Z.useCallback)(t=>{let n=t.directory||e;gr(un(n,t.sessionID),{type:`optimistic-add`,message:t.message,parts:t.parts})},[e]),g=(0,Z.useCallback)(t=>{let n=t.directory||e;gr(un(n,t.sessionID),{type:`optimistic-remove`,messageID:t.messageID})},[e]),_=(0,Z.useCallback)(t=>{let n=t.directory||e;gr(un(n,t.sessionID),{type:`optimistic-confirm`,messageID:t.messageID})},[e]),v=(0,Z.useCallback)(async(t,r)=>{if(!t)return;await St();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(yu(o))throw Error(`refresh transcript busy`);try{await vn(i,t),fr({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:u,syncSession:u,loadChildren:d,hasMore:f,isLoading:p,isComplete:m,refreshSessionTranscript:v,optimistic:{add:h,remove:g,confirm:_}}),[u,d,f,p,m,v,h,g,_])}var Ou=e=>e===`diff`||e===`plan`||e===`file`||e===`preview-console`||e===`preview-annotation`,ku=e=>e===`original`||e===`modified`,Au=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?Math.max(1,Math.floor(t)):null},ju=e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.sessionKey!=`string`||t.sessionKey.trim().length===0||!Ou(t.source))return null;let n=Au(t.startLine),r=Au(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:ku(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()}},Mu=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(ju).filter(e=>!!e).filter(t=>t.sessionKey===e);t.length>0&&(n[e]=t)}return n},Nu=ue()(fe(de((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:l(),version:1,migrate:e=>!e||typeof e!=`object`?{drafts:{}}:{drafts:Mu(e.drafts)}}),{name:`inline-comment-draft-store`}));function Pu(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 Fu(e){return e.length===0?``:e.every(e=>e.source===`preview-annotation`)?e.map(Pu).join(`
3
3
 
4
4
  ---
5
5
 
@@ -6521,7 +6521,7 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{A as t,E as n,P as r,T
6521
6521
  `))r.startsWith(`+`)&&!r.startsWith(`+++`)&&t++,r.startsWith(`-`)&&!r.startsWith(`---`)&&n++;return{added:t,removed:n}},ag=e=>{let t=[],n=new Set;for(let r of e){if(r.type!==`tool`||!tg.has(r.tool))continue;let e=r.state;if(e.status&&e.status!==`completed`)continue;let i=t.length,a=e.metadata,o=Array.isArray(a?.files)?a.files:[];for(let e of o){if(!e||typeof e!=`object`)continue;let i=e,a=i.relativePath||i.filePath||``;!a||n.has(a)||(n.add(a),t.push({path:a,tool:r.tool,partId:r.id,messageID:r.messageID,additions:rg(i.additions)??void 0,deletions:rg(i.deletions)??void 0,patch:typeof i.patch==`string`?i.patch:void 0}))}if(o.length===0&&a?.filediff&&typeof a.filediff==`object`){let e=a.filediff,i=typeof e.file==`string`?e.file:``;i&&!n.has(i)&&(n.add(i),t.push({path:i,tool:r.tool,partId:r.id,messageID:r.messageID,additions:rg(e.additions)??void 0,deletions:rg(e.deletions)??void 0,patch:typeof e.patch==`string`?e.patch:void 0}))}if(o.length===0&&Array.isArray(a?.results))for(let e of a.results){if(!e||typeof e!=`object`)continue;let i=e.filediff;if(!i||typeof i!=`object`)continue;let a=typeof i.file==`string`?i.file:``;!a||n.has(a)||(n.add(a),t.push({path:a,tool:r.tool,partId:r.id,messageID:r.messageID,additions:rg(i.additions)??void 0,deletions:rg(i.deletions)??void 0,patch:typeof i.patch==`string`?i.patch:void 0}))}if(t.length===i){let i=e.input,a=typeof i?.filePath==`string`?i.filePath:typeof i?.file_path==`string`?i.file_path:typeof i?.path==`string`?i.path:void 0;a&&!n.has(a)&&(n.add(a),t.push({path:a,tool:r.tool,partId:r.id,messageID:r.messageID}))}if(t.length===i){let e=typeof a?.patch==`string`?a.patch.trim():typeof a?.diff==`string`?a.diff.trim():``;if(e&&!n.has(`Diff`)){n.add(`Diff`);let i=ig(e);t.push({path:`Diff`,tool:r.tool,partId:r.id,messageID:r.messageID,additions:i.added,deletions:i.removed})}}}return t},og=(e,t,n)=>{let r=[];for(let i of e){let e=i.index?.trim()??``,a=i.working_dir?.trim()??``,o=!!(e&&e!==`?`),s=!!(a||e===`?`),c=a||e;if(!c||c===`!`)continue;let l=t?.[i.path];r.push({path:vo(n,i.path),relativePath:i.path,insertions:l?.insertions??0,deletions:l?.deletions??0,status:c,hasStagedChanges:o,hasWorkingChanges:s})}return r},sg=e=>{for(let t of e){let e=t.index?.trim()??``,n=(t.working_dir?.trim()??``)||e;if(!(!n||n===`!`))return!0}return!1},cg=(e,t)=>_o(e,t),lg=(e,t)=>{let n=ng(e)&&e.relativePath?e.relativePath:cg(e.path,t);return{fileName:n.split(`/`).pop()??n,dirPart:n.includes(`/`)?n.slice(0,n.lastIndexOf(`/`)):``}},ug=e=>ng(e)?{additions:e.insertions,deletions:e.deletions}:{additions:e.additions??0,deletions:e.deletions??0},dg=2;function fg(e){let t=e.lastIndexOf(`.`);return t<=0||t===e.length-1?{stem:e,ext:``}:{stem:e.slice(0,t),ext:e.slice(t)}}function pg(e,t=dg){let n=e??``,r=n.startsWith(`/`),i=n.split(`/`).filter(Boolean);if(i.length===0)return{prefix:``,parent:``,stem:``,ext:``,name:``,leadingSlash:r};let a=i[i.length-1]??``,{stem:o,ext:s}=fg(a),c=Math.max(1,Math.floor(t)),l=Math.min(i.length-1,c-1),u=i.length-1-l,d=l>0?i.slice(u,-1).join(`/`):``,f=i.slice(0,u).join(`/`),p=f?r?`/${f}`:f:``;return{prefix:p,parent:d,stem:o,ext:s,name:a,leadingSlash:r&&!p}}function mg(e){let t=(0,Q.c)(36),{path:n,className:r,title:i,dirClassName:a,nameClassName:o}=e,s=a===void 0?`text-muted-foreground`:a,c=o===void 0?`text-foreground`:o,l;t[0]===n?l=t[1]:(l=pg(n),t[0]=n,t[1]=l);let{prefix:u,parent:d,stem:f,ext:p,leadingSlash:m}=l,h=!!(u||d),g;t[2]===r?g=t[3]:(g=Y(`flex min-w-0 items-baseline overflow-hidden`,r),t[2]=r,t[3]=g);let _=i??n,v;t[4]!==s||t[5]!==m?(v=m?(0,$.jsx)(`span`,{className:Y(`shrink-0`,s),children:`/`}):null,t[4]=s,t[5]=m,t[6]=v):v=t[6];let y;t[7]!==s||t[8]!==u?(y=u?(0,$.jsx)(`span`,{className:Y(`min-w-0 shrink-[9999] truncate`,s),children:u}):null,t[7]=s,t[8]=u,t[9]=y):y=t[9];let b;t[10]!==s||t[11]!==d||t[12]!==u?(b=d?(0,$.jsxs)(`span`,{className:Y(`shrink-0`,s),children:[u?`/`:``,d]}):null,t[10]=s,t[11]=d,t[12]=u,t[13]=b):b=t[13];let x;t[14]!==s||t[15]!==h?(x=h?(0,$.jsx)(`span`,{className:s,children:`/`}):null,t[14]=s,t[15]=h,t[16]=x):x=t[16];let S;t[17]===c?S=t[18]:(S=Y(`min-w-0 truncate`,c),t[17]=c,t[18]=S);let C;t[19]!==f||t[20]!==S?(C=(0,$.jsx)(`span`,{className:S,children:f}),t[19]=f,t[20]=S,t[21]=C):C=t[21];let w;t[22]!==p||t[23]!==c?(w=p?(0,$.jsx)(`span`,{className:Y(`shrink-0`,c),children:p}):null,t[22]=p,t[23]=c,t[24]=w):w=t[24];let T;t[25]!==C||t[26]!==w||t[27]!==x?(T=(0,$.jsxs)(`span`,{className:`flex min-w-0 shrink items-baseline`,children:[x,C,w]}),t[25]=C,t[26]=w,t[27]=x,t[28]=T):T=t[28];let E;return t[29]!==T||t[30]!==g||t[31]!==_||t[32]!==v||t[33]!==y||t[34]!==b?(E=(0,$.jsxs)(`span`,{className:g,title:_,children:[v,y,b,T]}),t[29]=T,t[30]=g,t[31]=_,t[32]=v,t[33]=y,t[34]=b,t[35]=E):E=t[35],E}var hg=e=>{let t=(0,Q.c)(23),{files:n,currentDirectory:r,onOpenFile:i}=e,{t:a}=ot(),o;t[0]===a?o=t[1]:(o=a(`chat.changedFiles.title`),t[0]=a,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,$.jsx)(`span`,{className:Sc,children:o}),t[2]=o,t[3]=s);let c;t[4]===n.length?c=t[5]:(c=(0,$.jsx)(`span`,{className:Dc,children:n.length}),t[4]=n.length,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,$.jsxs)(`div`,{className:Wc,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;if(t[9]!==r||t[10]!==n||t[11]!==i||t[12]!==a){let e;t[14]!==r||t[15]!==i||t[16]!==a?(e=(e,t)=>{let{fileName:n,dirPart:o}=lg(e,r),s=ug(e);return(0,$.jsxs)(`button`,{type:`button`,className:Y(`relative flex w-full cursor-pointer items-center gap-2.5 outline-hidden select-none text-left hover:bg-interactive-hover`,Oc),title:a(`chat.changedFiles.actions.openFileTitle`,{path:e.path}),onClick:()=>i(e),children:[(0,$.jsx)(_d,{filePath:e.path,className:`h-3 w-3 shrink-0 md:h-3.5 md:w-3.5`}),(0,$.jsx)(mg,{path:o?`${o}/${n}`:n,title:e.path,className:`min-w-0 flex-1`}),s.additions>0||s.deletions>0?(0,$.jsxs)(`span`,{className:`flex-shrink-0 inline-flex items-baseline gap-1 text-xs tabular-nums leading-4 md:text-[0.8125rem] md:leading-5`,children:[s.additions>0?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,s.additions]}):null,s.deletions>0?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,s.deletions]}):null]}):null]},`${e.path}:${t}`)},t[14]=r,t[15]=i,t[16]=a,t[17]=e):e=t[17],u=n.map(e),t[9]=r,t[10]=n,t[11]=i,t[12]=a,t[13]=u}else u=t[13];let d;t[18]===u?d=t[19]:(d=(0,$.jsx)(`div`,{className:Uc,children:u}),t[18]=u,t[19]=d);let f;return t[20]!==l||t[21]!==d?(f=(0,$.jsxs)($.Fragment,{children:[l,d]}),t[20]=l,t[21]=d,t[22]=f):f=t[22],f},gg=`${Ac} origin-[var(--transform-origin)]`,_g=wc,vg=Z.memo(()=>{let e=(0,Q.c)(60),{t}=ot(),[n,r]=Z.useState(!1),i=Z.useRef(null),a=uc()??null,o=Z.useContext(Oo),c=ls(a),l;e[0]===a?l=e[1]:(l=e=>a?e.directories.get(a)?.status??null:null,e[0]=a,e[1]=l);let u=qo(l),d=eg(),f,p;e[2]===n?(f=e[3],p=e[4]):(f=()=>{if(!n)return;let e=e=>{i.current&&!i.current.contains(e.target)&&r(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},p=[n],e[2]=n,e[3]=f,e[4]=p),Z.useEffect(f,p);let m;bb0:{if(!a||c!==!0||!u||u.isClean){let t;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[5]=t):t=e[5],m=t;break bb0}let t;e[6]!==a||e[7]!==u.diffStats||e[8]!==u.files?(t=og(u.files,u.diffStats,a),e[6]=a,e[7]=u.diffStats,e[8]=u.files,e[9]=t):t=e[9],m=t}let h=m,g=0,_=0;if(e[10]!==g||e[11]!==h||e[12]!==_){for(let e of h)g+=e.insertions,_+=e.deletions;e[10]=g,e[11]=h,e[12]=_,e[13]=g,e[14]=_}else g=e[13],_=e[14];let v;e[15]!==g||e[16]!==_?(v={totalAdded:g,totalRemoved:_},e[15]=g,e[16]=_,e[17]=v):v=e[17];let{totalAdded:y,totalRemoved:b}=v;if(!a||c!==!0||h.length===0)return null;let x;e[18]!==a||e[19]!==d||e[20]!==o?.editor?(x=e=>{if(!a||!ng(e))return;r(!1);let t=e.path;if(d){d.openChanges({diffPath:e.relativePath,staged:e.hasStagedChanges&&!e.hasWorkingChanges});return}let n=o?.editor;if(n){n.openFile(t);return}let i=s.getState(),c=e.hasStagedChanges&&!e.hasWorkingChanges;if(!i.isMobile){i.openContextDiff(a,e.relativePath,c);return}i.navigateToDiff(e.relativePath,c),i.setRightSidebarOpen(!1)},e[18]=a,e[19]=d,e[20]=o?.editor,e[21]=x):x=e[21];let S=x,C=h.length,w;e[22]!==C||e[23]!==t?(w=t(C===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:C}),e[22]=C,e[23]=t,e[24]=w):w=e[24];let T=w,E,D;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(E=Y(Cc,`max-w-full text-left`),D=()=>r(yg),e[25]=E,e[26]=D):(E=e[25],D=e[26]);let O,k;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(X,{name:`file-edit`,className:Ec}),O=Y(Ic,`shrink-0`),e[27]=O,e[28]=k):(O=e[27],k=e[28]);let A;e[29]===T?A=e[30]:(A=(0,$.jsx)(`span`,{className:O,children:T}),e[29]=T,e[30]=A);let j;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(j=Y(`status-row__changed-label`,Ic),e[31]=j):j=e[31];let M;e[32]===t?M=e[33]:(M=t(`chat.pendingChanges.changedInWorkspace`),e[32]=t,e[33]=M);let N;e[34]===M?N=e[35]:(N=(0,$.jsx)(`span`,{className:j,children:M}),e[34]=M,e[35]=N);let P;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(P=Y(xc,`items-baseline gap-0.5`),e[36]=P):P=e[36];let F;e[37]===y?F=e[38]:(F=y>0?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,y]}):null,e[37]=y,e[38]=F);let I;e[39]===b?I=e[40]:(I=b>0?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,b]}):null,e[39]=b,e[40]=I);let L;e[41]!==F||e[42]!==I?(L=(0,$.jsxs)(`span`,{className:P,children:[F,I]}),e[41]=F,e[42]=I,e[43]=L):L=e[43];let R;e[44]===n?R=e[45]:(R=n?(0,$.jsx)(X,{name:`arrow-up-s`,className:Ec}):(0,$.jsx)(X,{name:`arrow-down-s`,className:Ec}),e[44]=n,e[45]=R);let z;e[46]!==n||e[47]!==A||e[48]!==N||e[49]!==L||e[50]!==R?(z=(0,$.jsxs)(`button`,{type:`button`,className:E,onClick:D,"aria-expanded":n,children:[k,A,N,L,R]}),e[46]=n,e[47]=A,e[48]=N,e[49]=L,e[50]=R,e[51]=z):z=e[51];let B;e[52]!==a||e[53]!==h||e[54]!==S||e[55]!==n?(B=n&&(0,$.jsx)(`div`,{style:_g,className:Y(gg,`absolute left-0 bottom-full mb-1 z-50`,`animate-in fade-in-0 zoom-in-95 slide-in-from-bottom-2`,`duration-150`),children:(0,$.jsx)(hg,{files:h,currentDirectory:a,onOpenFile:S})}),e[52]=a,e[53]=h,e[54]=S,e[55]=n,e[56]=B):B=e[56];let V;return e[57]!==z||e[58]!==B?(V=(0,$.jsxs)(`div`,{className:`relative`,ref:i,children:[z,B]}),e[57]=z,e[58]=B,e[59]=V):V=e[59],V});vg.displayName=`PendingChangesBar`;function yg(e){return!e}var bg=Z.memo(e=>{let t=(0,Q.c)(22),{visible:n,onClick:r,placement:i}=e,a=i===void 0?`default`:i,{t:o}=ot(),s=a===`compact`;if(s&&!n)return null;let c=a==="default"&&`absolute left-1/2 bottom-full mb-2 -translate-x-1/2`,l=a===`expanded`&&`absolute left-1/2 -translate-x-1/2 oc-scroll-to-bottom--expanded mb-2`,u=a===`compact`&&`oc-scroll-to-bottom--compact relative shrink-0`,d;t[0]!==a||t[1]!==c||t[2]!==l||t[3]!==u||t[4]!==n?(d=Y(c,l,u,n?Y(`pointer-events-auto`,a==="default"&&`opacity-100`):Y(`opacity-0 pointer-events-none`,a===`expanded`&&`oc-scroll-to-bottom--hidden`)),t[0]=a,t[1]=c,t[2]=l,t[3]=u,t[4]=n,t[5]=d):d=t[5];let f=s?`ghost`:`outline`,p=s?`composer-mobile-actions h-8 w-8 rounded-none bg-transparent hover:bg-transparent text-foreground`:`size-8 rounded-full [corner-shape:round] bg-background/95 hover:bg-interactive-hover`,m;t[6]===p?m=t[7]:(m=Y(`p-0 shadow-none`,p),t[6]=p,t[7]=m);let h;t[8]===o?h=t[9]:(h=o(`chat.scrollToBottom.aria`),t[8]=o,t[9]=h);let g=s?`size-5`:`size-4`,_=s?`medium`:`regular`,v;t[10]!==g||t[11]!==_?(v=(0,$.jsx)(X,{name:`arrow-down`,className:g,weight:_}),t[10]=g,t[11]=_,t[12]=v):v=t[12];let y;t[13]!==r||t[14]!==v||t[15]!==f||t[16]!==m||t[17]!==h?(y=(0,$.jsx)(ca,{variant:f,size:`sm`,onClick:r,className:m,"aria-label":h,children:v}),t[13]=r,t[14]=v,t[15]=f,t[16]=m,t[17]=h,t[18]=y):y=t[18];let b;return t[19]!==y||t[20]!==d?(b=(0,$.jsx)(`div`,{className:d,children:y}),t[19]=y,t[20]=d,t[21]=b):b=t[21],b}),xg=Z.createContext(`default`),Sg=()=>Z.useContext(xg),Cg=500,wg=e=>{let t=(0,Q.c)(31),{onCycleAgent:n,onOpenAgentPanel:r,className:i,agentName:a,agents:o,disabled:s}=e,c;t[0]===o?c=t[1]:(c=o===void 0?[]:o,t[0]=o,t[1]=c);let l=c,u=s!==void 0&&s,d=a??void 0,f;t[2]!==l||t[3]!==d?(f=er(l,d),t[2]=l,t[3]=d,t[4]=f):f=t[4];let p=f,m=lm(d),h;t[5]===d?h=t[6]:(h=ea(d),t[5]=d,t[6]=h);let g=h,_=Z.useRef(null),v=Z.useRef(!1),y;t[7]!==u||t[8]!==r?(y=e=>{e.preventDefault(),!u&&(v.current=!1,_.current=setTimeout(()=>{v.current=!0,r()},Cg))},t[7]=u,t[8]=r,t[9]=y):y=t[9];let b=y,x;t[10]!==u||t[11]!==n?(x=()=>{_.current&&=(clearTimeout(_.current),null),!u&&!v.current&&n()},t[10]=u,t[11]=n,t[12]=x):x=t[12];let S=x,C;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{_.current&&=(clearTimeout(_.current),null)},t[13]=C):C=t[13];let w=C,T,E;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>()=>{_.current&&clearTimeout(_.current)},T=[],t[14]=T,t[15]=E):(T=t[14],E=t[15]),Z.useEffect(E,T);let D;t[16]===i?D=t[17]:(D=Y(`inline-flex flex-shrink-0 items-center select-none focus:outline-none touch-none disabled:cursor-not-allowed disabled:opacity-40`,hm,i),t[16]=i,t[17]=D);let O;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(O={height:`26px`,maxHeight:`26px`,minHeight:`26px`},t[18]=O):O=t[18];let k;t[19]!==g.var||t[20]!==p||t[21]!==d||t[22]!==m?(k=(0,$.jsx)(cm,{name:d,label:p,revealed:m,avatarSize:16,slotClassName:`h-[26px] w-6`,colorVar:g.var}),t[19]=g.var,t[20]=p,t[21]=d,t[22]=m,t[23]=k):k=t[23];let A;return t[24]!==p||t[25]!==u||t[26]!==b||t[27]!==S||t[28]!==D||t[29]!==k?(A=(0,$.jsx)(`button`,{type:`button`,disabled:u,onPointerDown:b,onPointerUp:S,onPointerLeave:w,onContextMenu:Tg,onMouseDown:Eg,className:D,style:O,title:p,"aria-label":p,children:k}),t[24]=p,t[25]=u,t[26]=b,t[27]=S,t[28]=D,t[29]=k,t[30]=A):A=t[30],A};function Tg(e){return e.preventDefault()}function Eg(e){return e.preventDefault()}var Dg=e=>{let t=(0,Q.c)(28),{onOpenModel:n,className:r,providerID:i,modelID:a,provider:o,variant:s,disabled:c}=e,l=c!==void 0&&c,{t:u}=ot(),d;t[0]!==a||t[1]!==o||t[2]!==u?(d=ir(o,a,u(`chat.modelControls.selectModel`)),t[0]=a,t[1]=o,t[2]=u,t[3]=d):d=t[3];let f=d,p;t[4]===s?p=t[5]:(p=s?.trim()?Zt(s):null,t[4]=s,t[5]=p);let m=p,h=m?`${f} ${m}`:f,g;t[6]===r?g=t[7]:(g=Y(`inline-flex min-w-0 max-w-36 items-stretch`,`rounded-lg`,`focus:outline-none hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-40`,r),t[6]=r,t[7]=g);let _;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(_={height:`26px`,maxHeight:`26px`,minHeight:`26px`},t[8]=_):_=t[8];let v;t[9]!==a||t[10]!==i?(v=a||i?(0,$.jsx)(ka,{modelId:a,providerId:i,className:`size-4 flex-shrink-0`}):null,t[9]=a,t[10]=i,t[11]=v):v=t[11];let y;t[12]===f?y=t[13]:(y=(0,$.jsx)(`span`,{className:`truncate text-[11px] leading-none font-medium text-foreground/80`,children:f}),t[12]=f,t[13]=y);let b;t[14]===m?b=t[15]:(b=m?(0,$.jsx)(`span`,{className:`shrink-0 text-[11px] leading-none font-normal text-muted-foreground`,children:m}):null,t[14]=m,t[15]=b);let x;t[16]!==y||t[17]!==b?(x=(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[y,b]}),t[16]=y,t[17]=b,t[18]=x):x=t[18];let S;t[19]!==v||t[20]!==x?(S=(0,$.jsxs)(`span`,{className:`flex h-full w-full min-w-0 items-center gap-1`,children:[v,x]}),t[19]=v,t[20]=x,t[21]=S):S=t[21];let C;return t[22]!==h||t[23]!==l||t[24]!==n||t[25]!==S||t[26]!==g?(C=(0,$.jsx)(`button`,{type:`button`,disabled:l,onClick:n,onMouseDown:Og,onPointerDownCapture:kg,className:g,style:_,title:h,"aria-label":h,children:S}),t[22]=h,t[23]=l,t[24]=n,t[25]=S,t[26]=g,t[27]=C):C=t[27],C};function Og(e){return e.preventDefault()}function kg(e){e.preventDefault()}var Ag={phase:`idle`,isWorking:!1,isBusy:!1,isCooldown:!1},jg=e=>e.hasPendingAssistant?e.messages.some(e=>e.role===`assistant`&&typeof e.time?.completed==`number`):!1;function Mg(e,t){let n=(0,Q.c)(6),r=wr(e??``,t),i=Ar(e??``,t),a=di(e??``,t),o=ei(e??``,t),s=Pi(e??``,t),c=hi(t),l;bb0:{if(!e){l=Ag;break bb0}if(o.length>0||s.length>0){l=Ag;break bb0}let t=r?.type??`idle`,u=a[a.length-1],d=!!(u&&u.role===`assistant`&&typeof u.time?.completed!=`number`),f=a,p;n[0]!==d||n[1]!==f?(p=jg({messages:f,hasPendingAssistant:d}),n[0]=d,n[1]=f,n[2]=p):p=n[2];let m=p,h=u?.time?.created,g=!!(m&&typeof c==`number`&&typeof h==`number`&&h<=c),_=r!==void 0,v=_&&t!==`idle`,y=v||m&&!g;if(_&&!v&&(!m||_&&!v&&typeof i==`number`&&typeof h==`number`&&h<=i)){l=Ag;break bb0}if(!y){l=Ag;break bb0}let b=v?t:`busy`,x=t===`busy`||!v&&m,S;n[3]!==b||n[4]!==x?(S={phase:b,isWorking:!0,isBusy:x,isCooldown:!1},n[3]=b,n[4]=x,n[5]=S):S=n[5],l=S}return l}var Ng=e=>e.nativeEvent.isComposing||e.nativeEvent.keyCode===229;function Pg(e){let t=(0,Q.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=Y(`inline-flex shrink-0 items-center justify-center rounded-full bg-foreground text-background`,r),t[4]=r,t[5]=a);let o;return t[6]!==n||t[7]!==i||t[8]!==a?(o=(0,$.jsx)(`span`,{className:a,...i,"aria-hidden":!0,children:n}),t[6]=n,t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function Fg(e){let t=(0,Q.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`span`,{"data-stop-glyph":`true`,className:`block size-[38%] rounded-[20%] bg-current`}),t[3]=i):i=t[3];let a;return t[4]!==n||t[5]!==r?(a=(0,$.jsx)(Pg,{className:n,...r,children:i}),t[4]=n,t[5]=r,t[6]=a):a=t[6],a}function Ig(e){let t=(0,Q.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,spinning:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i!==void 0&&i,o=a?`loader-4`:`arrow-up`,s=a?`size-[50%] animate-spin`:`size-[56%]`,c;t[4]===s?c=t[5]:(c=Y(s),t[4]=s,t[5]=c);let l;t[6]!==o||t[7]!==c?(l=(0,$.jsx)(X,{name:o,weight:`medium`,className:c}),t[6]=o,t[7]=c,t[8]=l):l=t[8];let u;return t[9]!==n||t[10]!==r||t[11]!==l?(u=(0,$.jsx)(Pg,{className:n,...r,children:l}),t[9]=n,t[10]=r,t[11]=l,t[12]=u):u=t[12],u}var Lg=e=>!(!e.sessionId||e.composerSurfaceKind===`secondary`||e.hasSessionEntity||e.hasRenderableSessionSnapshot),Rg=e=>{let t=e.isSubagentSession&&!e.allowPromptingSubagentSessions;return{showReadOnlyBanner:e.isSubagentSession&&(e.readOnly||t),blockSubmission:e.sessionIdentityPending}},zg=(e,t)=>({agentName:t.agentName??e?.agentName,providerId:t.providerId??e?.providerId,modelId:t.modelId??e?.modelId}),Bg=(e,t)=>e.id===t.id&&e.directory===t.directory,Vg=(e,t)=>e.agentName===t.agentName&&e.providerId===t.providerId&&e.modelId===t.modelId,Hg=(e,t,n,r)=>{if(!t)return null;let i=n??(e?.viewKey===t?e.parentTarget:null);if(!i)return null;let a=zg(e?.viewKey===t?e.execution:void 0,r);return e&&e.viewKey===t&&Bg(e.parentTarget,i)&&Vg(e.execution,a)?e:{viewKey:t,parentTarget:i,execution:a}},Ug=e=>{let{inFlight:t,establishing:n}=e.sendPhase,r=!n&&(e.draftSubmitting||t);return{sendDisabled:!e.canSend||!e.hasSessionTarget||e.submissionBlocked||r,queueDisabled:!e.hasSessionTarget||e.submissionBlocked||!n&&t||e.queueFrozen&&!e.queueFallbackAvailable,disabledClass:`opacity-30 pointer-events-none`}},Wg=`data-mobile-overlay-active`,Gg=e=>Array.from(e).some(e=>e.getAttribute(Wg)!==`false`),Kg=`artful.bionic.cosmic.disco.focal.groovy.jammy.kinetic.lunar.noble.bold.brave.calm.eager.gentle.happy.keen.lively.merry.swift.warm.wise.bright.clever.daring.agile.crisp.fresh.lucid.quick.sharp.vivid.zealous`.split(`.`),qg=`aardvark.beaver.chipmunk.dolphin.falcon.gopher.hedgehog.jackal.koala.lemur.mongoose.narwhal.otter.pangolin.quokka.raccoon.salamander.toucan.walrus.yak.zebra.badger.condor.dingo.egret.ferret.gecko.heron.iguana`.split(`.`);function Jg(){return`${Kg[Math.floor(Math.random()*Kg.length)]}-${qg[Math.floor(Math.random()*qg.length)]}`}function Yg(e){let t=Jg();return e&&e.trim()?`${e.trim().replace(/\/+$/,``)}/${t}`:t}var Xg=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||e,Zg=e=>({agentName:e.currentAgentName,providerId:e.currentProviderId,modelId:e.currentModelId,variant:e.currentVariant}),Qg=(e,t,n)=>{let r=t.agentName?.trim()||void 0,i=t.providerId?.trim()||void 0,a=t.modelId?.trim()||void 0;!r||!i||!a||(n.saveSessionAgentSelection(e,r),n.saveSessionModelSelection(e,i,a),n.saveAgentModelForSession(e,r,i,a),n.saveAgentModelVariantForSession(e,r,i,a,t.variant))},$g=async(e,t)=>{await Gt(e)&&await mr(t)},e_=e=>{let t=Xg(e),n=xn.getState().projects;if(n.length===0)return null;let r=xn.getState().getActiveProject();if(r?.path){let e=Xg(r.path);if(t===e||t.startsWith(`${e}/`))return{id:r.id,path:r.path}}let i=n.filter(e=>{let n=Xg(e.path);return t===n||t.startsWith(`${n}/`)}).sort((e,t)=>Xg(t.path).length-Xg(e.path).length)[0];return i?{id:i.id,path:i.path}:null},t_=!1,n_=async(e,t)=>{try{let n=xn.getState().projects.find(e=>e.id===t.id)??xn.getState().projects.find(e=>Xg(e.path)===Xg(t.path)),r=br(t.path);await Qr.getState().activateDirectory(t.path,{source:`worktreeSessionCreator`});let i=Qr.getState();if(i.activeDirectoryKey!==r||i.providers.length===0||i.agents.length===0)return;i.applyDefaultModelAgentSelection({projectDefaultModel:n?.defaultModel??void 0}),Qg(e,Zg(Qr.getState()),vi.getState())}catch{}},r_=async(e,t,n)=>{let r=Zr.getState(),i=Qr.getState();r.initializeNewOpenChamberSession(e,i.agents),r.setSessionDirectory(e,t.path),r.setWorktreeMetadata(e,t),await n_(e,n),we.getState().setDirectory(t.path,{showOverlay:!1})},i_=e=>e.trim().replace(/^remotes\//,``).replace(/[^A-Za-z0-9._/-]+/g,`-`).replace(/\/+/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``)||`worktree`,a_=async e=>{if(t_)return null;let t=xn.getState().getActiveProject(),n=e?.projectDirectory?.trim()||t?.path;if(!n)return Tt.error(`No active project`,{description:`Please select a project first.`}),null;let r=e_(n)??(t?.path?{id:t.id,path:t.path}:null);if(!r)return Tt.error(`No active project`,{description:`Please select a project first.`}),null;let i=!1;try{i=await ua(r.path)}catch{}if(!i)return Tt.error(`Not a Git repository`,{description:`Worktrees can only be created in Git repositories.`}),null;t_=!0;try{let t=fi(),n=e?.existingBranch?.trim().replace(/^remotes\//,``)||``,i=n?i_(n):Yg(),a=n?`existing`:`new`,o=Zr.getState();o.newSessionDraft?.open?o.overrideNewSessionDraftTarget({projectId:r.id,directoryOverride:o.newSessionDraft.directoryOverride??r.path,pendingWorktreeRequestId:t,preserveDirectoryOverride:!0,title:e?.title,initialPrompt:e?.initialPrompt}):o.openNewSessionDraft({selectedProjectId:r.id,directoryOverride:r.path,pendingWorktreeRequestId:t,preserveDirectoryOverride:!0,title:e?.title,initialPrompt:e?.initialPrompt});let s=await la(r.path,{mode:a,...a===`new`?{branchName:i,worktreeName:i}:{existingBranch:n,worktreeName:i}}).catch(()=>null);s?.path&&(Zr.getState().overrideNewSessionDraftTarget({projectId:r.id,directoryOverride:s.path,pendingWorktreeRequestId:t,bootstrapPendingDirectory:s.path,preserveDirectoryOverride:!0,title:e?.title,initialPrompt:e?.initialPrompt}),we.getState().setDirectory(s.path,{showOverlay:!1}));let c=await Hn(r),l=await Jo(r,{preferredName:i,mode:a,worktreeName:i,setupCommands:c,returnAfterDirectoryCreated:!0,...a===`new`?{branchName:i}:{existingBranch:n}});return Cr(t,l.path),Zr.getState().overrideNewSessionDraftTarget({projectId:r.id,directoryOverride:l.path,pendingWorktreeRequestId:null,bootstrapPendingDirectory:l.path,preserveDirectoryOverride:!0,title:e?.title,initialPrompt:e?.initialPrompt}),we.getState().setDirectory(l.path,{showOverlay:!1}),l.path}catch(e){let t=e instanceof Error?e.message:`Failed to create worktree`,n=Zr.getState().newSessionDraft.pendingWorktreeRequestId;return n&&(Oi(n,e instanceof Error?e:Error(t)),Zr.getState().resolvePendingDraftWorktreeTarget(n,null)),Zr.getState().setDraftBootstrapPendingDirectory(null),Tt.error(`Failed to create worktree`,{description:t}),null}finally{t_=!1}};async function o_(){return a_()}async function s_(e){let t=e.branch?.trim();return t?a_({existingBranch:t,projectDirectory:e.projectDirectory,initialPrompt:e.initialPrompt,title:e.title}):null}async function c_(e,t,n,r){if(t_)return null;t_=!0;try{let i=n?.trim()||`HEAD`,a=t?.trim();if(!a)throw Error(`Branch name is required`);let o=r?.kind??`standard`,s=e_(e);if(!s)throw Error(`Project is not registered in OpenChamber`);let c=!1;try{c=await ua(s.path)}catch{}if(!c)return Tt.error(`Not a Git repository`,{description:`Worktrees can only be created in Git repositories.`}),null;let l=await Hn(s),u=await Ma(s.path);try{let e=await Jo(s,{preferredName:a,mode:`new`,branchName:a,worktreeName:r?.worktreeName||a,startRef:i,setUpstream:r?.setUpstream,upstreamRemote:r?.upstreamRemote,upstreamBranch:r?.upstreamBranch,ensureRemoteName:r?.ensureRemoteName,ensureRemoteUrl:r?.ensureRemoteUrl,setupCommands:l,returnAfterDirectoryCreated:r?.returnAfterDirectoryCreated}),t={...e,createdFromBranch:r?.createdFromBranch||u||i,kind:o};await $g(s,e.path);let n=await Zr.getState().createSession(void 0,e.path);if(!n)throw await Pa(s,e,{deleteLocalBranch:!0}).catch(()=>void 0),Error(`Could not create a session for the worktree.`);return await r_(n.id,t,s),{id:n.id,branch:e.branch||a,path:e.path}}catch(e){let t=e instanceof Error?e.message:`Failed to create worktree session`;return Tt.error(`Failed to create worktree`,{description:t}),null}}finally{t_=!1}}var l_=e=>{let t=e.trim();if(!t)return null;let n=t.match(/\/issues\/(\d+)(?:\b|\/|$)/i);if(n){let e=Number(n[1]);return Number.isFinite(e)&&e>0?e:null}let r=t.match(/^#?(\d+)$/);if(r){let e=Number(r[1]);return Number.isFinite(e)&&e>0?e:null}return null},u_=e=>{let t={repo:e.repo??null,issue:e.issue,comments:e.comments};return`GitHub issue context (JSON)\n${JSON.stringify(t,null,2)}`};function d_({open:e,onOpenChange:t,mode:n=`createSession`,onSelect:r}){let{t:i}=ot(),{github:a}=Do(),o=$a(),c=o.data??null,l=o.isFetched,u=s(e=>e.setSettingsDialogOpen),d=s(e=>e.setSettingsPage),f=s(e=>e.isMobile),{isTablet:p}=fo(),m=f||p,h=xn(e=>e.getActiveProject()),g=we(e=>e.currentDirectory),_=Z.useMemo(()=>h?.path?.trim()||g?.trim()||null,[h?.path,g]),[v,y]=Z.useState(``),[b,x]=Z.useState(!1),[S,C]=Z.useState(null),w=Z.useRef(0),T=Z.useMemo(()=>l_(v),[v]),E=zo(v,350),D=T?``:E.trim(),O=!!T||v===E,k=e&&O&&!!_&&!!a?.issuesList&&!(l&&c?.connected===!1),A=Je({queryKey:I.scoped(`github-issues`,_,D),enabled:k,initialPageParam:1,refetchOnMount:`always`,queryFn:({pageParam:e})=>a.issuesList(_,{page:e,...D?{query:D}:{}}),getNextPageParam:e=>e.hasMore?(e.page??1)+1:void 0}),j=O?A.data?.pages.at(-1)??null:null,M=O?A.data?.pages.flatMap(e=>e.issues??[])??[]:[],N=O&&A.hasNextPage,P=!T&&!O||A.isLoading,F=O&&A.isFetchingNextPage,L=O&&A.error?A.error instanceof Error?A.error.message:String(A.error):null,R=Z.useCallback(()=>A.refetch(),[A]),z=Z.useCallback(async()=>{try{await A.fetchNextPage()}catch(e){let t=e instanceof Error?e.message:String(e);Tt.error(i(`session.githubIssuePicker.toast.loadMoreFailed`),{description:t})}},[A,i]);Z.useEffect(()=>{e||(++w.current,y(``),x(!1),C(null))},[e]),Z.useEffect(()=>{++w.current},[e,_]);let B=!l||c?.connected!==!1&&j?.connected!==!1,V=j?.repo?.url??null,H=Z.useCallback(()=>{d(`github`),u(!0)},[u,d]),U=Z.useCallback(()=>{let e=Qr.getState(),t=e.getVisibleAgents();if(e.settingsDefaultAgent){let n=t.find(t=>t.name===e.settingsDefaultAgent);if(n)return n.name}return t.find(e=>e.name===`build`)?.name||t[0]?.name},[]),W=Z.useCallback(()=>{let e=Qr.getState(),t=e.settingsDefaultModel;if(!t)return null;let n=Ln(t);if(!n)return null;let{providerId:r,modelId:i}=n;return e.getModelMetadata(r,i)?{providerID:r,modelID:i}:null},[]),ee=Z.useCallback((e,t)=>{let n=Qr.getState(),r=n.settingsDefaultVariant,i=n.currentProviderId===e&&n.currentModelId===t?n.currentVariant:void 0,a=n.providers.find(t=>t.id===e)?.models.find(e=>e.id===t)?.variants;if(!a)return r||i||void 0;if(r&&Object.prototype.hasOwnProperty.call(a,r))return r;if(i&&Object.prototype.hasOwnProperty.call(a,i))return i},[]),G=Z.useCallback(async(e,o)=>{let s=++w.current,c=()=>w.current===s;if(n===`select`){if(!_){Tt.error(i(`session.githubIssuePicker.error.noActiveProject`));return}if(!a?.issueGet||!a?.issueComments){Tt.error(i(`session.githubIssuePicker.error.runtimeUnavailable`));return}if(S)return;C(e);try{let n=await a.issueGet(_,e,{sourceRepo:o});if(!c())return;if(n.connected===!1){Tt.error(i(`session.githubIssuePicker.error.notConnected`));return}if(!n.repo){Tt.error(i(`session.githubIssuePicker.error.repoNotResolvable`),{description:i(`session.githubIssuePicker.error.repoMustBeGithub`)});return}let s=n.issue;if(!s){Tt.error(i(`session.githubIssuePicker.error.issueNotFound`));return}let l=await a.issueComments(_,e,{sourceRepo:o});if(!c())return;if(l.connected===!1){Tt.error(i(`session.githubIssuePicker.error.notConnected`));return}let u=l.comments??[],d=u_({repo:n.repo,issue:s,comments:u});r&&r({number:s.number,title:s.title,url:s.url,contextText:d,author:s.author?{login:s.author.login,avatarUrl:s.author.avatarUrl}:void 0}),t(!1)}catch(e){if(!c())return;let t=e instanceof Error?e.message:String(e);Tt.error(i(`session.githubIssuePicker.toast.loadIssueDetailsFailed`),{description:t})}finally{c()&&C(null)}return}if(!_){Tt.error(i(`session.githubIssuePicker.error.noActiveProject`));return}if(!a?.issueGet||!a?.issueComments){Tt.error(i(`session.githubIssuePicker.error.runtimeUnavailable`));return}if(!S){C(e);try{let n=await a.issueGet(_,e,{sourceRepo:o});if(!c())return;if(n.connected===!1){Tt.error(i(`session.githubIssuePicker.error.notConnected`));return}if(!n.repo){Tt.error(i(`session.githubIssuePicker.error.repoNotResolvable`),{description:i(`session.githubIssuePicker.error.repoMustBeGithub`)});return}let r=n.issue;if(!r){Tt.error(i(`session.githubIssuePicker.error.issueNotFound`));return}let s=await a.issueComments(_,e,{sourceRepo:o});if(!c())return;if(s.connected===!1){Tt.error(i(`session.githubIssuePicker.error.notConnected`));return}let l=s.comments??[],u=`#${r.number} ${r.title}`.trim(),{sessionId:d}=await(async()=>{if(b){let e=`issue-${r.number}-${Jg()}`,t=await c_(_,e,void 0,{returnAfterDirectoryCreated:!0});if(!t?.id)throw Error(`Failed to create worktree session`);return{sessionId:t.id,sessionDirectory:t.path}}let e=await Kn(u,_,null);if(!e?.id)throw Error(`Failed to create session`);return{sessionId:e.id,sessionDirectory:e.directory??_}})();if(!c())return;Ci(d,u).catch(()=>void 0);try{Zr.getState().initializeNewOpenChamberSession(d,Qr.getState().agents)}catch{}t(!1);let f=Qr.getState(),p=vi.getState().lastUsedProvider,m=W(),h=m?.providerID||f.currentProviderId||p?.providerID,g=m?.modelID||f.currentModelId||p?.modelID,v=U()||f.currentAgentName||void 0;if(!h||!g){Tt.error(i(`session.githubIssuePicker.error.noModelSelected`));return}let y=ee(h,g),x=await ki(`github.issue.review.visible`,{issue_number:String(r.number)});if(!c())return;let S=await ki(`github.issue.review.instructions`);if(!c())return;let C=u_({repo:n.repo,issue:r,comments:l});Zr.getState().sendMessage(x,h,g,v,void 0,void 0,[{text:S,synthetic:!0},{text:C,synthetic:!0}],y,void 0,{sessionId:d}).catch(e=>{let t=e instanceof Error?e.message:String(e);Tt.error(i(`session.githubIssuePicker.toast.sendContextFailed`),{description:t})}),Tt.success(i(`session.githubIssuePicker.toast.sessionCreated`))}catch(e){if(!c())return;let t=e instanceof Error?e.message:String(e);Tt.error(i(`session.githubIssuePicker.toast.startSessionFailed`),{description:t})}finally{c()&&C(null)}}},[b,a,n,t,r,_,U,W,ee,S,i]),K=i(n===`select`?`session.githubIssuePicker.title.select`:`session.githubIssuePicker.title.createSession`),q=i(n===`select`?`session.githubIssuePicker.description.select`:`session.githubIssuePicker.description.createSession`),te=(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative mt-2`,children:[(0,$.jsx)(X,{name:`search`,className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,$.jsx)(za,{placeholder:i(`session.githubIssuePicker.searchPlaceholder`),value:v,onChange:e=>{y(e.target.value)},className:`pl-9 w-full`})]}),(0,$.jsxs)(`div`,{className:Y(f?`min-h-0 mt-2`:`flex-1 overflow-y-auto mt-2`),children:[_?null:(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:i(`session.githubIssuePicker.empty.noActiveProject`)}),a?null:(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:i(`session.githubIssuePicker.empty.runtimeUnavailable`)}),P?(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground py-8 flex items-center justify-center gap-2`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}),i(`session.githubIssuePicker.loading.issues`)]}):null,B===!1?(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground py-8 space-y-3`,children:[(0,$.jsx)(`div`,{children:i(`session.githubIssuePicker.empty.notConnected`)}),(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(ca,{variant:`outline`,size:`sm`,onClick:H,children:i(`session.githubIssuePicker.actions.openSettings`)})})]}):null,L?(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8 break-words`,children:L}):null,T&&_&&a&&B?(0,$.jsxs)(`div`,{className:Y(`group flex items-center gap-2 py-1.5 hover:bg-interactive-hover/30 rounded transition-colors cursor-pointer`,S===T&&`bg-interactive-selection/30`),onClick:()=>void G(T),children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground w-5 text-right flex-shrink-0`,children:`#`}),(0,$.jsx)(`p`,{className:`flex-1 min-w-0 typography-small text-foreground truncate ml-0.5`,children:i(`session.githubIssuePicker.actions.useIssue`,{number:T})}),(0,$.jsx)(`div`,{className:`flex-shrink-0 h-5 flex items-center mr-2`,children:S===T?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin text-muted-foreground`}):null})]}):null,M.length===0&&!P&&!L&&B&&a&&_?(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:E.trim()?i(`session.githubIssuePicker.empty.noIssuesFound`):i(`session.githubIssuePicker.empty.noOpenIssuesFound`)}):null,M.map(e=>(0,$.jsxs)(`div`,{className:Y(`group flex items-center gap-2 py-1.5 hover:bg-interactive-hover/30 rounded transition-colors cursor-pointer`,S===e.number&&`bg-interactive-selection/30`),onClick:()=>void G(e.number,e.sourceRepo),children:[(0,$.jsxs)(`span`,{className:`typography-meta text-muted-foreground w-12 text-right flex-shrink-0`,children:[`#`,e.number]}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0 ml-0.5`,children:[(0,$.jsx)(`p`,{className:`typography-small text-foreground truncate`,children:e.title}),e.sourceRepo?.source===`upstream`?(0,$.jsxs)(`span`,{className:`typography-micro px-1 py-0.5 rounded bg-status-info/10 text-status-info mt-0.5 inline-block`,children:[e.sourceRepo.owner,`/`,e.sourceRepo.repo]}):null]}),(0,$.jsx)(`div`,{className:`flex-shrink-0 h-5 flex items-center mr-2`,children:S===e.number?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,$.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:Y(`h-5 w-5 items-center justify-center text-muted-foreground hover:text-foreground transition-colors`,m?`flex`:`hidden group-hover:flex`),onClick:e=>e.stopPropagation(),"aria-label":i(`session.githubIssuePicker.actions.openInGitHubAria`),children:(0,$.jsx)(X,{name:`external-link`,className:`h-4 w-4`})})})]},`${e.sourceRepo?.owner??``}-${e.sourceRepo?.repo??``}-${e.number}`)),N&&B&&_&&a?(0,$.jsx)(`div`,{className:`py-2 flex justify-center`,children:(0,$.jsx)(`button`,{type:`button`,onClick:()=>void z(),disabled:F||!!S,className:Y(`typography-meta text-muted-foreground hover:text-foreground transition-colors underline underline-offset-4`,(F||!!S)&&`opacity-50 cursor-not-allowed hover:text-muted-foreground`),children:F?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}),i(`session.githubIssuePicker.loading.more`)]}):i(`session.githubIssuePicker.actions.loadMore`)})}):null]}),n!==`select`&&(0,$.jsxs)(`div`,{className:`mt-4 p-3 bg-muted/30 rounded-lg`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground font-medium mb-2`,children:i(`session.githubIssuePicker.actions.sectionTitle`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 cursor-pointer`,role:`button`,tabIndex:0,"aria-pressed":b,onClick:()=>x(e=>!e),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),x(e=>!e))},children:[(0,$.jsx)(`button`,{type:`button`,onClick:e=>{e.preventDefault(),e.stopPropagation(),x(e=>!e)},"aria-label":i(`session.githubIssuePicker.actions.toggleWorktreeAria`),className:`flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,children:b?(0,$.jsx)(X,{name:`checkbox`,className:`h-4 w-4 text-primary`}):(0,$.jsx)(X,{name:`checkbox-blank`,className:`h-4 w-4`})}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:i(`session.githubIssuePicker.actions.createInWorktree`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/70 hidden sm:inline`,children:`(issue-<number>-<slug>)`})]}),(0,$.jsx)(`div`,{className:`hidden sm:block sm:flex-1`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[V?(0,$.jsx)(ca,{variant:`outline`,size:`sm`,asChild:!0,children:(0,$.jsxs)(`a`,{href:V,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(X,{name:`external-link`,className:`size-4`}),i(`session.githubIssuePicker.actions.openRepo`)]})}):null,(0,$.jsx)(ca,{variant:`outline`,size:`sm`,onClick:R,disabled:P||!!S,children:i(`session.githubIssuePicker.actions.refresh`)})]})]})]})]});return f?(0,$.jsx)(am,{open:e,title:K,onClose:()=>t(!1),renderHeader:e=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-3 py-2 border-b border-border/40`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:K}),e]}),(0,$.jsx)(`p`,{className:`typography-small text-muted-foreground`,children:q})]}),children:te}):(0,$.jsx)(aa,{open:e,onOpenChange:t,children:(0,$.jsxs)(ta,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsxs)(Qi,{className:`flex-shrink-0`,children:[(0,$.jsxs)(na,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`github`,className:`h-5 w-5`}),K]}),(0,$.jsx)(ra,{children:q})]}),te]})})}var f_=e=>{let t=e.trim();if(!t)return null;let n=t.match(/\/pull\/(\d+)(?:\b|\/|$)/i);if(n){let e=Number(n[1]);return Number.isFinite(e)&&e>0?e:null}let r=t.match(/^#?(\d+)$/);if(r){let e=Number(r[1]);return Number.isFinite(e)&&e>0?e:null}return null},p_=e=>`GitHub pull request context (JSON)\n${JSON.stringify(e,null,2)}`;function m_({open:e,onOpenChange:t,onSelect:n}){let{t:r}=ot(),{github:i}=Do(),a=$a(),o=a.data??null,c=a.isFetched,l=s(e=>e.setSettingsDialogOpen),u=s(e=>e.setSettingsPage),d=s(e=>e.isMobile),{isTablet:f}=fo(),p=d||f,m=xn(e=>e.getActiveProject())?.path??null,[h,g]=Z.useState(``),[_,v]=Z.useState(!1),[y,b]=Z.useState(null),x=Z.useRef(0),S=Z.useMemo(()=>f_(h),[h]),C=zo(h,350),w=S?``:C.trim(),T=!!S||h===C,E=e&&T&&!!m&&!!i?.prsList&&!(c&&o?.connected===!1),D=Je({queryKey:I.scoped(`github-prs`,m,w),enabled:E,initialPageParam:1,refetchOnMount:`always`,queryFn:({pageParam:e})=>i.prsList(m,{page:e,...w?{query:w}:{}}),getNextPageParam:e=>e.hasMore?(e.page??1)+1:void 0}),O=T?D.data?.pages.at(-1)??null:null,k=T?D.data?.pages.flatMap(e=>e.prs??[])??[]:[],A=T&&D.hasNextPage,j=!S&&!T||D.isLoading,M=T&&D.isFetchingNextPage,N=T&&D.error?D.error instanceof Error?D.error.message:String(D.error):null,P=J(async()=>{try{await D.fetchNextPage()}catch(e){let t=e instanceof Error?e.message:String(e);Tt.error(r(`session.githubPrPicker.toast.loadMoreFailed`),{description:t})}});Z.useEffect(()=>{e||(++x.current,g(``),v(!1),b(null))},[e]),Z.useEffect(()=>{++x.current},[e,m]);let F=!c||o?.connected!==!1&&O?.connected!==!1,L=J(()=>{u(`github`),l(!0)}),R=J(async(e,a)=>{if(!m){Tt.error(r(`session.githubPrPicker.error.noActiveProject`));return}if(!i?.prContext){Tt.error(r(`session.githubPrPicker.error.runtimeUnavailable`));return}if(y)return;let o=++x.current,s=()=>x.current===o;b(e);try{let o=await i.prContext(m,e,{includeDiff:_,includeCheckDetails:!1,sourceRepo:a});if(!s())return;if(o.connected===!1){Tt.error(r(`session.githubPrPicker.error.notConnected`));return}if(!o.pr){Tt.error(r(`session.githubPrPicker.error.prNotFound`));return}if(!o.repo){Tt.error(r(`session.githubPrPicker.error.repoNotResolvable`),{description:r(`session.githubPrPicker.error.repoMustBeGithub`)});return}if(n){let e=await ki(`github.pr.review.instructions`);if(!s())return;n({number:o.pr.number,title:o.pr.title,url:o.pr.url,head:o.pr.head,base:o.pr.base,includeDiff:_,instructionsText:e,contextText:p_(o),author:o.pr.author?{login:o.pr.author.login,avatarUrl:o.pr.author.avatarUrl}:void 0})}t(!1)}catch(e){if(!s())return;let t=e instanceof Error?e.message:String(e);Tt.error(r(`session.githubPrPicker.toast.loadDetailsFailed`),{description:t})}finally{s()&&b(null)}}),z=r(`session.githubPrPicker.title`),B=r(`session.githubPrPicker.description`),V=(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-3`,children:[(0,$.jsxs)(`div`,{className:`relative flex-1 min-w-0`,children:[(0,$.jsx)(X,{name:`search`,className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,$.jsx)(za,{placeholder:r(`session.githubPrPicker.searchPlaceholder`),value:h,onChange:e=>{g(e.target.value)},className:`pl-9 w-full`})]}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>v(e=>!e),className:`h-9 shrink-0 flex items-center gap-2 text-left`,"aria-pressed":_,"aria-label":r(`session.githubPrPicker.includeDiffAria`),children:[(0,$.jsx)(`span`,{onClick:e=>e.stopPropagation(),children:(0,$.jsx)(ha,{checked:_,onChange:e=>v(e),ariaLabel:r(`session.githubPrPicker.includeDiffAria`)})}),(0,$.jsx)(`span`,{className:`typography-small text-muted-foreground whitespace-nowrap`,children:r(`session.githubPrPicker.includeDiff`)})]})]}),(0,$.jsxs)(`div`,{className:Y(d?`min-h-0`:`flex-1 overflow-y-auto`),children:[m?null:(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:r(`session.githubPrPicker.empty.noActiveProject`)}),i?null:(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:r(`session.githubPrPicker.empty.runtimeUnavailable`)}),j?(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground py-8 flex items-center justify-center gap-2`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}),r(`session.githubPrPicker.loading.pullRequests`)]}):null,F===!1?(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground py-8 space-y-3`,children:[(0,$.jsx)(`div`,{children:r(`session.githubPrPicker.empty.notConnected`)}),(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(ca,{variant:`outline`,size:`sm`,onClick:L,children:r(`session.githubPrPicker.actions.openSettings`)})})]}):null,N?(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8 break-words`,children:N}):null,S&&m&&i&&F?(0,$.jsxs)(`div`,{className:Y(`group flex items-center gap-2 py-1.5 hover:bg-interactive-hover/30 rounded transition-colors cursor-pointer`,y===S&&`bg-interactive-selection/30`),onClick:()=>void R(S),children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground w-5 text-right flex-shrink-0`,children:`#`}),(0,$.jsx)(`p`,{className:`flex-1 min-w-0 typography-small text-foreground truncate ml-0.5`,children:r(`session.githubPrPicker.actions.usePullRequest`,{number:S})}),(0,$.jsx)(`div`,{className:`flex-shrink-0 h-5 flex items-center mr-2`,children:y===S?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin text-muted-foreground`}):null})]}):null,k.length===0&&!j&&!N&&F&&i&&m?(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:C.trim()?r(`session.githubPrPicker.empty.noPullRequestsFound`):r(`session.githubPrPicker.empty.noOpenPullRequestsFound`)}):null,k.map(e=>(0,$.jsxs)(`div`,{className:Y(`group flex items-center gap-2 py-1.5 hover:bg-interactive-hover/30 rounded transition-colors cursor-pointer`,y===e.number&&`bg-interactive-selection/30`),onClick:()=>void R(e.number,e.sourceRepo),children:[(0,$.jsxs)(`div`,{className:`flex-1 min-w-0 ml-0.5`,children:[(0,$.jsxs)(`p`,{className:`typography-small text-foreground truncate`,children:[(0,$.jsxs)(`span`,{className:`text-muted-foreground mr-1`,children:[`#`,e.number]}),e.title]}),e.sourceRepo?.source===`upstream`?(0,$.jsxs)(`span`,{className:`typography-micro px-1 py-0.5 rounded bg-status-info/10 text-status-info`,children:[e.sourceRepo.owner,`/`,e.sourceRepo.repo]}):null,(0,$.jsxs)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:[e.head,` → `,e.base]})]}),(0,$.jsx)(`div`,{className:`flex-shrink-0 h-5 flex items-center mr-2`,children:y===e.number?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,$.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:Y(`h-5 w-5 items-center justify-center text-muted-foreground hover:text-foreground transition-colors`,p?`flex`:`hidden group-hover:flex`),onClick:e=>e.stopPropagation(),"aria-label":r(`session.githubPrPicker.actions.openInGitHubAria`),children:(0,$.jsx)(X,{name:`external-link`,className:`h-4 w-4`})})})]},`${e.sourceRepo?.owner??``}-${e.sourceRepo?.repo??``}-${e.number}`)),A&&F&&m&&i?(0,$.jsx)(`div`,{className:`py-2 flex justify-center`,children:(0,$.jsx)(`button`,{type:`button`,onClick:()=>void P(),disabled:M||!!y,className:Y(`typography-meta text-muted-foreground hover:text-foreground transition-colors underline underline-offset-4`,(M||!!y)&&`opacity-50 cursor-not-allowed hover:text-muted-foreground`),children:M?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}),r(`session.githubPrPicker.loading.more`)]}):r(`session.githubPrPicker.actions.loadMore`)})}):null]})]});return d?(0,$.jsx)(am,{open:e,title:z,onClose:()=>t(!1),renderHeader:e=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-3 py-2 border-b border-border/40`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:z}),e]}),(0,$.jsx)(`p`,{className:`typography-small text-muted-foreground`,children:B})]}),children:V}):(0,$.jsx)(aa,{open:e,onOpenChange:t,children:(0,$.jsxs)(ta,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsxs)(Qi,{className:`flex-shrink-0`,children:[(0,$.jsxs)(na,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`github`,className:`h-5 w-5`}),z]}),(0,$.jsx)(ra,{children:B})]}),V]})})}function h_(e){let t=(0,Q.c)(12),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,style:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===i?a=t[5]:(a={color:`var(--surface-elevated-foreground)`,...i},t[4]=i,t[5]=a);let o;t[6]===n?o=t[7]:(o=Y(`flex h-full w-full flex-col overflow-hidden rounded-xl`,n),t[6]=n,t[7]=o);let s;return t[8]!==r||t[9]!==a||t[10]!==o?(s=(0,$.jsx)(Kc,{"data-slot":`command`,style:a,className:o,...r}),t[8]=r,t[9]=a,t[10]=o,t[11]=s):s=t[11],s}var g_=Z.forwardRef((e,t)=>{let n=(0,Q.c)(11),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a,o;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=Y(`flex h-8 items-center gap-2 rounded-lg px-3`,`bg-[var(--surface-elevated)] ring-1 ring-inset ring-border/60 transition duration-200 ease-out`,`hover:[&:not(:focus-within)]:bg-[var(--surface-subtle)] hover:[&:not(:focus-within)]:ring-transparent`,`focus-within:ring-2 focus-within:ring-[var(--interactive-focus-ring)]`),o=(0,$.jsx)(X,{name:`search`,className:`size-4 shrink-0 opacity-50`}),n[3]=a,n[4]=o):(a=n[3],o=n[4]);let s;n[5]===r?s=n[6]:(s=Y(`placeholder:text-muted-foreground flex h-8 w-full bg-transparent typography-meta outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,r),n[5]=r,n[6]=s);let c;return n[7]!==i||n[8]!==t||n[9]!==s?(c=(0,$.jsx)(`div`,{"data-slot":`command-input-wrapper`,className:`p-1.5 pb-1`,children:(0,$.jsxs)(`div`,{"data-slot":`command-input-field`,className:a,children:[o,(0,$.jsx)(Kc.Input,{ref:t,"data-slot":`command-input`,className:s,...i})]})}),n[7]=i,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});g_.displayName=`CommandInput`;function __(e){let t=(0,Q.c)(14),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,children:n,scrollbarClassName:o,disableHorizontal:i,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s;t[6]===r?s=t[7]:(s=Y(`scroll-py-1 overflow-x-hidden h-full min-h-0`,r),t[6]=r,t[7]=s);let c=o??`overlay-scrollbar--flush overlay-scrollbar--dense overlay-scrollbar--zero`,l=i??!0,u;return t[8]!==n||t[9]!==a||t[10]!==s||t[11]!==c||t[12]!==l?(u=(0,$.jsx)(da,{as:Kc.List,"data-slot":`command-list`,outerClassName:`max-h-[min(600px,calc(100vh-10rem))] overflow-x-hidden p-0 w-full h-full min-h-0`,className:s,scrollbarClassName:c,disableHorizontal:l,...a,children:n}),t[8]=n,t[9]=a,t[10]=s,t[11]=c,t[12]=l,t[13]=u):u=t[13],u}function v_(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,$.jsx)(Kc.Empty,{"data-slot":`command-empty`,className:`py-6 text-center typography-ui-label`,...n}),t[2]=n,t[3]=r),r}function y_(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Y(`text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:typography-meta [&_[cmdk-group-heading]]:font-medium`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(Kc.Group,{"data-slot":`command-group`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function b_(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Y(`bg-border -mx-1 h-px`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(Kc.Separator,{"data-slot":`command-separator`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function x_(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Y(`data-[selected=true]:bg-interactive-selection data-[selected=true]:text-interactive-selection-foreground data-[highlighted]:bg-interactive-hover hover:bg-interactive-hover [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 typography-meta outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(Kc.Item,{"data-slot":`command-item`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var S_=(e,t)=>`${e}:${T(t)}`,C_=e=>e.type===`skill`||!oe(e.name);function w_(e){let{t}=ot(),n=Z.useMemo(()=>d(),[]),r=s(e=>e.globalDraftStarters),i=xn(e=>e.activeProjectId),a=xn(e=>e.projects),o=Z.useMemo(()=>{if(!i)return null;let e=a.find(e=>e.id===i);return e?.path?{id:e.id,path:e.path}:null},[i,a]),[c,l]=Z.useState([]),u=Z.useMemo(()=>r??se,[r]),f=u.some(C_)||c.some(C_),m=jt({directory:e,enabled:f}),h=Z.useMemo(()=>m.data??[],[m.data]),{refetch:g}=m,_=Tr({directory:e,enabled:f}),v=Z.useMemo(()=>_.data??[],[_.data]),{refetch:y}=_;Z.useEffect(()=>{let e=!1;if(!o){l([]);return}return xt(o).then(t=>{e||l(t)}).catch(()=>{e||l([])}),()=>{e=!0}},[o?.id]);let b=Z.useCallback(()=>{g(),y()},[g,y]),x=Z.useMemo(()=>new Set(h.map(e=>e.name)),[h]),S=Z.useMemo(()=>new Set(v.map(e=>e.name)),[v]),C=Z.useCallback((e,r)=>{if(n&&e.type===`command`&&e.name===`craft-goal`)return null;if(e.type===`command`){let n=oe(e.name);return n?{id:S_(r,e),ref:e,group:r,label:t(n.labelKey),icon:n.icon,submitText:n.command}:x.has(e.name)?{id:S_(r,e),ref:e,group:r,label:w(e.name),icon:ie,submitText:`/${e.name}`}:null}return S.has(e.name)?{id:S_(r,e),ref:e,group:r,label:w(e.name),icon:P,submitText:`/${e.name}`}:null},[t,x,S,n]),E=Z.useMemo(()=>u.map(e=>C(e,`global`)).filter(e=>e!==null),[u,C]),D=Z.useMemo(()=>c.map(e=>C(e,`project`)).filter(e=>e!==null),[c,C]),O=Z.useMemo(()=>{let e=new Set;for(let t of u)e.add(T(t));for(let t of c)e.add(T(t));return e},[u,c]),k=Z.useMemo(()=>{let e=[];for(let r of M)n&&r.name===`craft-goal`||e.push({type:`command`,name:r.name,label:t(r.labelKey),icon:r.icon,section:`built-in`,scope:`user`});for(let t of h)t.isBuiltIn||t.source===`skill`||oe(t.name)||e.push({type:`command`,name:t.name,label:w(t.name),icon:ie,section:`command`,scope:t.scope===`project`?`project`:`user`});for(let t of v)e.push({type:`skill`,name:t.name,label:w(t.name),icon:P,section:`skill`,scope:t.scope===`project`?`project`:`user`});return e.filter(e=>!O.has(`${e.type}:${e.name}`))},[t,h,v,O,n]),A=Z.useCallback(e=>{s.getState().setGlobalDraftStarters(e),q({draftStarters:e})},[]),j=Z.useCallback(e=>{l(e),o&&bi(o,e)},[o]),N=Z.useCallback(e=>{let t={type:e.type,name:e.name};if(e.scope===`project`){if(!o||c.some(e=>p(e,t)))return;j([...c,t])}else{let e=r??se;if(e.some(e=>p(e,t)))return;A([...e,t])}},[o,c,r,j,A]),F=Z.useCallback((e,t)=>{e===`project`?j(c.filter(e=>!p(e,t))):A((r??se).filter(e=>!p(e,t)))},[c,r,j,A]),I=Z.useCallback((e,t,n)=>{let i=e===`project`?c:r??se,a=i.findIndex(n=>S_(e,n)===t),o=i.findIndex(t=>S_(e,t)===n);if(a<0||o<0||a===o)return;let s=Qs([...i],a,o);e===`project`?j(s):A(s)},[c,r,j,A]);return{global:E,project:D,pinnable:k,hasProject:!!o,ensureLoaded:b,addStarter:N,removeStarter:F,reorder:I}}var T_=`__draft-starter-trash__`,E_=`inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-[var(--interactive-hover)] hover:text-foreground`,D_=`max-h-7`,O_=[{key:`built-in`,headingKey:`chat.draftStarters.sectionBuiltIn`},{key:`command`,headingKey:`chat.draftStarters.sectionCommands`},{key:`skill`,headingKey:`chat.draftStarters.sectionSkills`}],k_=e=>{let t=(0,Q.c)(35),{item:n,onSubmit:r,onRemove:i,hideRemove:a}=e,{t:o}=ot(),s;t[0]===n.id?s=t[1]:(s={id:n.id},t[0]=n.id,t[1]=s);let{attributes:c,listeners:l,setNodeRef:u,transform:d,transition:f,isDragging:p}=$s(s),m;t[2]===d?m=t[3]:(m=Xs.Translate.toString(d),t[2]=d,t[3]=m);let h;t[4]!==m||t[5]!==f?(h={transform:m,transition:f},t[4]=m,t[5]=f,t[6]=h):h=t[6];let g=p&&`z-10 opacity-60`,_;t[7]===g?_=t[8]:(_=Y(`group/chip relative`,g),t[7]=g,t[8]=_);let v;t[9]!==n.submitText||t[10]!==r?(v=()=>r(n.submitText),t[9]=n.submitText,t[10]=r,t[11]=v):v=t[11];let y=!a&&`pr-5`,b;t[12]===y?b=t[13]:(b=Y(`group inline-flex touch-none select-none items-center gap-1 rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors`,`hover:bg-[var(--interactive-hover)] hover:text-foreground`,y),t[12]=y,t[13]=b);let x;t[14]===n.icon?x=t[15]:(x=(0,$.jsx)(X,{name:n.icon,className:`h-3 w-3 shrink-0 opacity-60 transition-opacity group-hover:opacity-100`}),t[14]=n.icon,t[15]=x);let S;t[16]===n.label?S=t[17]:(S=(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:n.label}),t[16]=n.label,t[17]=S);let C;t[18]!==c||t[19]!==l||t[20]!==S||t[21]!==v||t[22]!==b||t[23]!==x?(C=(0,$.jsxs)(`button`,{type:`button`,...c,...l,onClick:v,className:b,children:[x,S]}),t[18]=c,t[19]=l,t[20]=S,t[21]=v,t[22]=b,t[23]=x,t[24]=C):C=t[24];let w;t[25]!==a||t[26]!==i||t[27]!==o?(w=a?null:(0,$.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),i()},"aria-label":o(`chat.draftStarters.remove`),title:o(`chat.draftStarters.remove`),className:`absolute right-0.5 top-1/2 hidden h-4 w-4 -translate-y-1/2 items-center justify-center rounded text-muted-foreground hover:text-foreground group-hover/chip:flex`,children:(0,$.jsx)(X,{name:`close`,className:`h-2.5 w-2.5`})}),t[25]=a,t[26]=i,t[27]=o,t[28]=w):w=t[28];let T;return t[29]!==u||t[30]!==C||t[31]!==w||t[32]!==h||t[33]!==_?(T=(0,$.jsxs)(`div`,{ref:u,style:h,className:_,children:[C,w]}),t[29]=u,t[30]=C,t[31]=w,t[32]=h,t[33]=_,t[34]=T):T=t[34],T},A_=e=>{let t=(0,Q.c)(14),{items:n,onSubmit:r,onRemove:i,hideRemove:a}=e,o;t[0]===n?o=t[1]:(o=n.map(F_),t[0]=n,t[1]=o);let s;if(t[2]!==a||t[3]!==n||t[4]!==i||t[5]!==r){let e;t[7]!==a||t[8]!==i||t[9]!==r?(e=e=>(0,$.jsx)(k_,{item:e,onSubmit:r,onRemove:()=>i(e),hideRemove:a},e.id),t[7]=a,t[8]=i,t[9]=r,t[10]=e):e=t[10],s=n.map(e),t[2]=a,t[3]=n,t[4]=i,t[5]=r,t[6]=s}else s=t[6];let c;return t[11]!==o||t[12]!==s?(c=(0,$.jsx)(tc,{items:o,strategy:Zs,children:s}),t[11]=o,t[12]=s,t[13]=c):c=t[13],c},j_=()=>{let e=(0,Q.c)(13),{t}=ot(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={id:T_},e[0]=n):n=e[0];let{setNodeRef:r,isOver:i}=Gs(n),a;e[1]===t?a=e[2]:(a=t(`chat.draftStarters.remove`),e[1]=t,e[2]=a);let o;e[3]===t?o=e[4]:(o=t(`chat.draftStarters.remove`),e[3]=t,e[4]=o);let s=i&&`text-destructive hover:text-destructive`,c;e[5]===s?c=e[6]:(c=Y(E_,s),e[5]=s,e[6]=c);let l;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(X,{name:`delete-bin`,className:`h-3.5 w-3.5`}),e[7]=l):l=e[7];let u;return e[8]!==r||e[9]!==a||e[10]!==o||e[11]!==c?(u=(0,$.jsx)(`button`,{type:`button`,ref:r,"aria-label":a,title:o,className:c,children:l}),e[8]=r,e[9]=a,e[10]=o,e[11]=c,e[12]=u):u=e[12],u},M_=e=>{let t=(0,Q.c)(21),{pinnable:n,onPick:r,className:i}=e,{t:a}=ot(),o;t[0]===i?o=t[1]:(o=Y(`min-h-0`,i),t[0]=i,t[1]=o);let s;t[2]===a?s=t[3]:(s=a(`chat.draftStarters.searchPlaceholder`),t[2]=a,t[3]=s);let c;t[4]===s?c=t[5]:(c=(0,$.jsx)(g_,{placeholder:s}),t[4]=s,t[5]=c);let l;t[6]===a?l=t[7]:(l=a(`chat.draftStarters.empty`),t[6]=a,t[7]=l);let u;t[8]===l?u=t[9]:(u=(0,$.jsx)(v_,{children:l}),t[8]=l,t[9]=u);let d;t[10]!==r||t[11]!==n||t[12]!==a?(d=O_.map(e=>{let t=n.filter(t=>t.section===e.key);return t.length===0?null:(0,$.jsx)(y_,{heading:a(e.headingKey),children:t.map(e=>(0,$.jsx)(x_,{value:`${e.section} ${e.label} ${e.name}`,onSelect:()=>r(e),children:(0,$.jsx)(`span`,{className:`truncate`,children:e.label})},`${e.type}:${e.name}`))},e.key)}),t[10]=r,t[11]=n,t[12]=a,t[13]=d):d=t[13];let f;t[14]!==u||t[15]!==d?(f=(0,$.jsxs)(__,{children:[u,d]}),t[14]=u,t[15]=d,t[16]=f):f=t[16];let p;return t[17]!==o||t[18]!==c||t[19]!==f?(p=(0,$.jsxs)(h_,{className:o,children:[c,f]}),t[17]=o,t[18]=c,t[19]=f,t[20]=p):p=t[20],p},N_=e=>{let t=(0,Q.c)(27),{pinnable:n,onOpen:r,onAdd:i}=e,{t:a}=ot(),[o,s]=Z.useState(!1),c;t[0]===r?c=t[1]:(c=e=>{s(e),e&&r()},t[0]=r,t[1]=c);let l;t[2]===a?l=t[3]:(l=a(`chat.draftStarters.add`),t[2]=a,t[3]=l);let u;t[4]===a?u=t[5]:(u=a(`chat.draftStarters.add`),t[4]=a,t[5]=u);let d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(X,{name:`add`,className:`h-3.5 w-3.5`}),t[6]=d):d=t[6];let f;t[7]!==l||t[8]!==u?(f=(0,$.jsx)(ia,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":l,title:u,className:E_,children:d})}),t[7]=l,t[8]=u,t[9]=f):f=t[9];let p;t[10]===a?p=t[11]:(p=a(`chat.draftStarters.add`),t[10]=a,t[11]=p);let m;t[12]===p?m=t[13]:(m=(0,$.jsx)(Qi,{className:`px-4 pb-2 pt-4 text-left`,children:(0,$.jsx)(na,{children:p})}),t[12]=p,t[13]=m);let h;t[14]===i?h=t[15]:(h=e=>{i(e),s(!1)},t[14]=i,t[15]=h);let g;t[16]!==n||t[17]!==h?(g=(0,$.jsx)(M_,{pinnable:n,onPick:h,className:`flex max-h-[60vh] flex-col`}),t[16]=n,t[17]=h,t[18]=g):g=t[18];let _;t[19]!==m||t[20]!==g?(_=(0,$.jsxs)(ta,{className:`gap-0 overflow-hidden p-0 sm:max-w-sm`,children:[m,g]}),t[19]=m,t[20]=g,t[21]=_):_=t[21];let v;return t[22]!==o||t[23]!==c||t[24]!==_||t[25]!==f?(v=(0,$.jsxs)(aa,{open:o,onOpenChange:c,children:[f,_]}),t[22]=o,t[23]=c,t[24]=_,t[25]=f,t[26]=v):v=t[26],v},P_=e=>{let t=(0,Q.c)(63),{onSubmit:n,className:r}=e,{t:i}=ot(),{global:a,project:o,pinnable:s,ensureLoaded:c,addStarter:l,removeStarter:u,reorder:d}=w_(uc()),{isMobile:f}=fo(),[p,m]=Z.useState(!1),[h,g]=Z.useState(!1),[_,v]=Z.useState(!1),y=Z.useRef(null),b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={activationConstraint:{distance:8}},t[0]=b):b=t[0];let x;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(x={activationConstraint:{delay:200,tolerance:6}},t[1]=x):x=t[1];let S=Ys(Hs(qs,b),Hs(Ws,x)),C;t[2]!==a||t[3]!==o?(C=e=>a.find(t=>t.id===e)??o.find(t=>t.id===e),t[2]=a,t[3]=o,t[4]=C):C=t[4];let w=C,T=a.length+o.length,E;t[5]===T?E=t[6]:(E=()=>{let e=y.current;if(!e||T===0){v(!1);return}let t=()=>{let t=e.firstElementChild?.offsetHeight??28;v(e.scrollHeight>t+4)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},t[5]=T,t[6]=E);let D;t[7]!==h||t[8]!==a||t[9]!==o||t[10]!==T?(D=[T,h,a,o],t[7]=h,t[8]=a,t[9]=o,t[10]=T,t[11]=D):D=t[11],Z.useLayoutEffect(E,D);let O,k;t[12]!==_||t[13]!==h?(O=()=>{!_&&h&&g(!1)},k=[_,h],t[12]=_,t[13]=h,t[14]=O,t[15]=k):(O=t[14],k=t[15]),Z.useEffect(O,k);let A;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>m(!0),t[16]=A):A=t[16];let j=A,M;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>m(!1),t[17]=M):M=t[17];let N=M,P;t[18]!==w||t[19]!==u||t[20]!==d?(P=e=>{m(!1);let{active:t,over:n}=e;if(!n)return;let r=String(t.id),i=w(r);if(!i)return;if(String(n.id)===T_){u(i.group,i.ref);return}let a=String(n.id);if(r===a)return;let o=w(a);o&&o.group===i.group&&d(i.group,r,a)},t[18]=w,t[19]=u,t[20]=d,t[21]=P):P=t[21];let F=P,I=_||h,L;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(L={droppable:{strategy:Us.Always}},t[22]=L):L=t[22];let R;t[23]===r?R=t[24]:(R=Y(`flex min-w-0 max-w-full items-start justify-center gap-0.5`,r),t[23]=r,t[24]=R);let z=!h&&D_,B=!h&&`overflow-clip`,V;t[25]!==z||t[26]!==B?(V=Y(`flex min-w-0 flex-1 flex-wrap items-center justify-center gap-x-0.5 gap-y-0.5`,z,B),t[25]=z,t[26]=B,t[27]=V):V=t[27];let H;t[28]!==a||t[29]!==f||t[30]!==n||t[31]!==u?(H=a.length>0?(0,$.jsx)(A_,{items:a,onSubmit:n,onRemove:e=>u(`global`,e.ref),hideRemove:f}):null,t[28]=a,t[29]=f,t[30]=n,t[31]=u,t[32]=H):H=t[32];let U;t[33]!==f||t[34]!==n||t[35]!==o||t[36]!==u?(U=o.length>0?(0,$.jsx)(A_,{items:o,onSubmit:n,onRemove:e=>u(`project`,e.ref),hideRemove:f}):null,t[33]=f,t[34]=n,t[35]=o,t[36]=u,t[37]=U):U=t[37];let W;t[38]!==V||t[39]!==H||t[40]!==U?(W=(0,$.jsxs)(`div`,{ref:y,className:V,children:[H,U]}),t[38]=V,t[39]=H,t[40]=U,t[41]=W):W=t[41];let ee;t[42]!==h||t[43]!==I||t[44]!==i?(ee=I?(0,$.jsx)(`button`,{type:`button`,onClick:()=>g(I_),"aria-expanded":h,"aria-label":i(h?`chat.draftStarters.collapse`:`chat.draftStarters.expand`),title:i(h?`chat.draftStarters.collapse`:`chat.draftStarters.expand`),className:E_,children:(0,$.jsx)(X,{name:h?`arrow-up-s`:`arrow-down-s`,className:`h-3.5 w-3.5`})}):null,t[42]=h,t[43]=I,t[44]=i,t[45]=ee):ee=t[45];let G;t[46]!==l||t[47]!==c||t[48]!==p||t[49]!==f||t[50]!==s?(G=f&&p?(0,$.jsx)(j_,{}):(0,$.jsx)(N_,{pinnable:s,onOpen:c,onAdd:l}),t[46]=l,t[47]=c,t[48]=p,t[49]=f,t[50]=s,t[51]=G):G=t[51];let K;t[52]!==ee||t[53]!==G?(K=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5 self-start`,children:[ee,G]}),t[52]=ee,t[53]=G,t[54]=K):K=t[54];let q;t[55]!==R||t[56]!==W||t[57]!==K?(q=(0,$.jsxs)(`div`,{className:R,children:[W,K]}),t[55]=R,t[56]=W,t[57]=K,t[58]=q):q=t[58];let te;return t[59]!==F||t[60]!==S||t[61]!==q?(te=(0,$.jsx)(Js,{sensors:S,collisionDetection:Ks,measuring:L,onDragStart:j,onDragCancel:N,onDragEnd:F,children:q}),t[59]=F,t[60]=S,t[61]=q,t[62]=te):te=t[62],te};function F_(e){return e.id}function I_(e){return!e}var L_=Z.forwardRef((e,t)=>{let n=(0,Q.c)(19),r,i,a,o,s,c;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5],c=n[6]):({children:r,className:i,expanded:s,focusedTone:c,style:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s,n[6]=c);let l=s!==void 0&&s,u=c===void 0?`primary`:c,d=l&&`min-h-0 flex-1`,f=u===`info`?`focus-within:ring-[var(--status-info)]`:`focus-within:ring-primary/50`,p;n[7]!==i||n[8]!==d||n[9]!==f?(p=Y(`relative flex flex-col overflow-visible border border-border/80 focus-within:ring-1`,d,f,i),n[7]=i,n[8]=d,n[9]=f,n[10]=p):p=n[10];let m;n[11]===o?m=n[12]:(m={borderRadius:`var(--radius-xl)`,backgroundColor:`var(--surface-subtle)`,...o},n[11]=o,n[12]=m);let h;return n[13]!==r||n[14]!==a||n[15]!==t||n[16]!==p||n[17]!==m?(h=(0,$.jsx)(`div`,{ref:t,className:p,style:m,...a,children:r}),n[13]=r,n[14]=a,n[15]=t,n[16]=p,n[17]=m,n[18]=h):h=n[18],h});L_.displayName=`ChatComposerSurface`;var R_=Z.forwardRef((e,t)=>{let n=(0,Q.c)(3),r;return n[0]!==e||n[1]!==t?(r=(0,$.jsx)(ja,{ref:t,...e}),n[0]=e,n[1]=t,n[2]=r):r=n[2],r});R_.displayName=`ChatPromptTextarea`;var z_=e=>{let t=(0,Q.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=Y(`flex shrink-0 items-center gap-2 bg-transparent px-2.5 py-1.5`,r),t[4]=r,t[5]=a);let o;return t[6]!==n||t[7]!==i||t[8]!==a?(o=(0,$.jsx)(`div`,{className:a,"data-chat-input-footer":`true`,...i,children:n}),t[6]=n,t[7]=i,t[8]=a,t[9]=o):o=t[9],o},B_=(e,t)=>{typeof e==`function`?e(t):e&&(e.current=t)},V_=e=>{let t=(0,Q.c)(141),n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,F,I,L,R,z,B;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11],p=t[12],m=t[13],h=t[14],g=t[15],_=t[16],v=t[17],y=t[18],b=t[19],x=t[20],S=t[21],C=t[22],w=t[23],T=t[24],E=t[25],D=t[26],O=t[27],k=t[28],A=t[29],j=t[30],M=t[31],N=t[32],P=t[33],F=t[34],I=t[35],L=t[36],R=t[37],z=t[38],B=t[39]):({value:B,attachments:j,disabled:M,pending:N,placeholder:T,isMobile:P,onChange:x,onSubmit:w,onStop:C,onAddFiles:b,onRemoveAttachment:S,addFilesLabel:n,removeAttachmentLabel:E,sendLabel:O,stopLabel:k,hint:f,leftControls:y,rightControls:D,footerContent:c,inputHeader:m,attachmentContent:r,highlightedContent:d,highlightRef:u,inputRef:g,textareaProps:z,textLayoutClassName:R,inputClassName:p,inputOuterClassName:h,inputStyle:v,footerClassName:s,footerStyle:l,contentClassName:o,inputSectionClassName:_,autoResize:F,disableInputWhilePending:I,children:i,className:a,expanded:L,...A}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=p,t[13]=m,t[14]=h,t[15]=g,t[16]=_,t[17]=v,t[18]=y,t[19]=b,t[20]=x,t[21]=S,t[22]=C,t[23]=w,t[24]=T,t[25]=E,t[26]=D,t[27]=O,t[28]=k,t[29]=A,t[30]=j,t[31]=M,t[32]=N,t[33]=P,t[34]=F,t[35]=I,t[36]=L,t[37]=R,t[38]=z,t[39]=B);let V=j===void 0?[]:j,H=M!==void 0&&M,U=N!==void 0&&N,W=P!==void 0&&P,ee=F===void 0||F,G=I===void 0||I,K=L!==void 0&&L,q=Z.useRef(null),te=Z.useRef(null),ne;t[40]!==ee||t[41]!==K||t[42]!==z?.fillContainer?(ne=()=>{if(!ee||K||z?.fillContainer)return;let e=q.current;if(!e)return;e.style.height=`auto`;let t=Number.parseFloat(window.getComputedStyle(e).maxHeight),n=Number.isFinite(t)?Math.min(e.scrollHeight,t):e.scrollHeight;e.style.height=`${n}px`,e.style.overflowY=Number.isFinite(t)&&e.scrollHeight>t?`auto`:`hidden`},t[40]=ee,t[41]=K,t[42]=z?.fillContainer,t[43]=ne):ne=t[43];let re=z?.fillContainer,ie;t[44]!==ee||t[45]!==K||t[46]!==re||t[47]!==B?(ie=[ee,K,re,B],t[44]=ee,t[45]=K,t[46]=re,t[47]=B,t[48]=ie):ie=t[48],Z.useLayoutEffect(ne,ie);let ae;t[49]!==G||t[50]!==H||t[51]!==w||t[52]!==U||t[53]!==z?(ae=e=>{z?.onKeyDown?.(e),!(e.defaultPrevented||Ng(e))&&e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!H&&(!U||!G)&&w())},t[49]=G,t[50]=H,t[51]=w,t[52]=U,t[53]=z,t[54]=ae):ae=t[54];let oe=ae,se;t[55]===b?se=t[56]:(se=e=>{b?.(e.target.files),e.target.value=``},t[55]=b,t[56]=se);let ce=se,le=B.trim().length>0||V.length>0,ue=V.filter(H_),de;t[57]!==n||t[58]!==H||t[59]!==ce||t[60]!==b||t[61]!==U?(de=b?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`input`,{ref:te,type:`file`,accept:`image/*`,multiple:!0,className:`hidden`,onChange:ce}),(0,$.jsx)(`button`,{type:`button`,className:`flex size-8 shrink-0 items-center justify-center rounded-md text-foreground outline-none hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-40`,onClick:()=>te.current?.click(),disabled:H||U,"aria-label":n,children:(0,$.jsx)(X,{name:`attachment-2`,className:`size-[18px]`})})]}):null,t[57]=n,t[58]=H,t[59]=ce,t[60]=b,t[61]=U,t[62]=de):de=t[62];let fe=de,pe=!H&&!U&&le,me;t[63]!==H||t[64]!==le||t[65]!==W||t[66]!==C||t[67]!==U||t[68]!==O||t[69]!==pe||t[70]!==k?(me=U&&C?(0,$.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-full outline-none hover:opacity-80`,onClick:C,"aria-label":k,children:(0,$.jsx)(Fg,{className:W?`size-6`:`size-full`})}):(0,$.jsx)(`button`,{type:`submit`,"data-composer-send":`true`,"data-composer-circle":pe?`true`:void 0,className:Y(`flex size-8 shrink-0 items-center justify-center outline-none`,pe?`rounded-full hover:opacity-80`:`rounded-md text-primary hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-30`),disabled:H||U||!le,"aria-label":O,children:pe?(0,$.jsx)(Ig,{className:W?`size-6`:`size-full`}):(0,$.jsx)(X,{name:U?`loader-4`:`send-plane-2`,className:Y(`size-4`,U&&`animate-spin`)})}),t[63]=H,t[64]=le,t[65]=W,t[66]=C,t[67]=U,t[68]=O,t[69]=pe,t[70]=k,t[71]=me):me=t[71];let he=me,ge=L_,_e=K&&`flex-1`,ve;t[72]!==o||t[73]!==_e?(ve=Y(`relative flex min-h-0 flex-col`,_e,o),t[72]=o,t[73]=_e,t[74]=ve):ve=t[74];let ye=K&&`flex min-h-0 flex-1 flex-col`,be;t[75]!==_||t[76]!==ye?(be=Y(`overflow-hidden`,ye,_),t[75]=_,t[76]=ye,t[77]=be):be=t[77];let xe=ue.length>0?(0,$.jsx)(`div`,{className:`flex gap-2 overflow-x-auto px-3 pt-3`,"data-chat-prompt-attachments":`true`,children:ue.map(e=>(0,$.jsxs)(`div`,{className:`group relative shrink-0`,children:[(0,$.jsx)(`img`,{src:e.url,alt:e.name,className:`size-16 rounded-lg border border-border object-cover`}),S?(0,$.jsx)(`button`,{type:`button`,className:`absolute -right-1 -top-1 flex size-6 items-center justify-center rounded-full border border-border bg-[var(--surface-elevated)] shadow-sm hover:bg-[var(--interactive-hover)]`,onClick:()=>S(e.id),"aria-label":E,children:(0,$.jsx)(X,{name:`close`,className:`size-3`})}):null]},e.id))}):null,Se=K&&`flex min-h-0 flex-1 flex-col`,Ce;t[78]===Se?Ce=t[79]:(Ce=Y(`relative overflow-hidden`,Se),t[78]=Se,t[79]=Ce);let we;t[80]!==u||t[81]!==d||t[82]!==p||t[83]!==R?(we=d?(0,$.jsx)(`div`,{ref:u,"aria-hidden":!0,"data-composer-highlight":`true`,className:Y(`pointer-events-none absolute inset-0 z-0 rounded-b-none`,R,p),children:d}):null,t[80]=u,t[81]=d,t[82]=p,t[83]=R,t[84]=we):we=t[84];let Te;t[85]===g?Te=t[86]:(Te=e=>{q.current=e,B_(g,e)},t[85]=g,t[86]=Te);let Ee;t[87]===x?Ee=t[88]:(Ee=e=>x(e.target.value,e),t[87]=x,t[88]=Ee);let De=H||U&&G,Oe=W?`send`:z?.enterKeyHint,ke=K&&`min-h-0 flex-1`,Ae;t[89]!==h||t[90]!==ke?(Ae=Y(`ring-0 bg-transparent shadow-none hover:bg-transparent focus-within:ring-0`,ke,h),t[89]=h,t[90]=ke,t[91]=Ae):Ae=t[91];let je=d&&`text-transparent caret-[var(--surface-foreground)]`,Me;t[92]!==p||t[93]!==je||t[94]!==R?(Me=Y(`relative z-10 min-h-[52px] max-h-40 resize-none overflow-y-hidden appearance-none rounded-b-none border-0 bg-transparent px-3 pb-2 pt-4 typography-markdown hover:border-transparent md:typography-ui-label`,R,p,je),t[92]=p,t[93]=je,t[94]=R,t[95]=Me):Me=t[95];let Ne=z?.rows??1,Pe;t[96]!==oe||t[97]!==v||t[98]!==T||t[99]!==Te||t[100]!==Ee||t[101]!==De||t[102]!==Oe||t[103]!==Ae||t[104]!==Me||t[105]!==Ne||t[106]!==z||t[107]!==B?(Pe=(0,$.jsx)(R_,{...z,simple:!0,ref:Te,"data-chat-input":`true`,value:B,onChange:Ee,onKeyDown:oe,disabled:De,placeholder:T,enterKeyHint:Oe,outerClassName:Ae,className:Me,style:v,rows:Ne}),t[96]=oe,t[97]=v,t[98]=T,t[99]=Te,t[100]=Ee,t[101]=De,t[102]=Oe,t[103]=Ae,t[104]=Me,t[105]=Ne,t[106]=z,t[107]=B,t[108]=Pe):Pe=t[108];let Fe;t[109]!==Ce||t[110]!==we||t[111]!==Pe?(Fe=(0,$.jsxs)(`div`,{className:Ce,"data-composer-input-shell":`true`,children:[we,Pe]}),t[109]=Ce,t[110]=we,t[111]=Pe,t[112]=Fe):Fe=t[112];let Ie;t[113]!==r||t[114]!==m||t[115]!==be||t[116]!==xe||t[117]!==Fe?(Ie=(0,$.jsxs)(`div`,{className:be,children:[m,r,xe,Fe]}),t[113]=r,t[114]=m,t[115]=be,t[116]=xe,t[117]=Fe,t[118]=Ie):Ie=t[118];let Le;t[119]!==fe||t[120]!==he||t[121]!==c||t[122]!==f||t[123]!==y||t[124]!==D?(Le=c??(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:y??fe}),f?(0,$.jsx)(`div`,{className:`min-w-0 flex-1 truncate typography-micro text-muted-foreground`,children:f}):(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:D??he})]}),t[119]=fe,t[120]=he,t[121]=c,t[122]=f,t[123]=y,t[124]=D,t[125]=Le):Le=t[125];let Re;t[126]!==s||t[127]!==l||t[128]!==Le?(Re=(0,$.jsx)(z_,{className:s,style:l,children:Le}),t[126]=s,t[127]=l,t[128]=Le,t[129]=Re):Re=t[129];let ze;t[130]!==ve||t[131]!==Ie||t[132]!==Re?(ze=(0,$.jsxs)(`div`,{"data-composer-content":`true`,className:ve,children:[Ie,Re]}),t[130]=ve,t[131]=Ie,t[132]=Re,t[133]=ze):ze=t[133];let Be;return t[134]!==ge||t[135]!==i||t[136]!==a||t[137]!==K||t[138]!==A||t[139]!==ze?(Be=(0,$.jsxs)(ge,{className:a,expanded:K,...A,children:[i,ze]}),t[134]=ge,t[135]=i,t[136]=a,t[137]=K,t[138]=A,t[139]=ze,t[140]=Be):Be=t[140],Be};function H_(e){return e.mime.startsWith(`image/`)}var U_=e=>e.trim().replace(/\s+/g,`-`).replace(/[^A-Za-z0-9._/-]/g,`-`).replace(/-+/g,`-`).replace(/\/{2,}/g,`/`).replace(/\/-+/g,`/`).replace(/-+\//g,`/`).replace(/^[-/]+/,``).replace(/[-/]+$/,``),W_=({currentBranch:e,localBranches:t,remoteBranches:n,branchInfo:r,onCheckout:i,onCreate:a,remotes:o=[],disabled:s=!1,iconOnly:c=!1,trigger:l,triggerLabel:u,contentAlign:d,hideTooltip:f=!1,projectRootOption:p=null,worktreeOptions:m=[],selectedDirectory:h=null,onSelectDirectory:g,onCreateWorktree:_,worktreesLabel:v,worktreeNewLabel:y,projectRootLabel:b,onOpenChange:x,open:S,presentation:C=`dropdown`})=>{let{t:w}=ot(),[T,E]=Z.useState(!1),[D,O]=Z.useState(``),[k,A]=Z.useState(!1),[j,M]=Z.useState(!1),[N,P]=Z.useState(``),[F,I]=Z.useState(!1),L=Z.useRef(null),R=Z.useId(),z=S??T,B=e=>{S===void 0&&E(e),x?.(e)},V=Z.useCallback(e=>{e.stopPropagation()},[]),H=o.length>1,U=!!(g||_),W=Z.useMemo(()=>U_(N),[N]),ee=Z.useMemo(()=>{let e=D.trim();return e?gi(t,e,e=>e).map(e=>e.item):t},[D,t]),G=Z.useMemo(()=>{let e=D.trim();return e?gi(n,e,e=>e).map(e=>e.item):n},[D,n]),K=Z.useMemo(()=>{let e=D.trim();return e?gi(m,e,e=>e.label).map(e=>e.item):m},[D,m]),q=Z.useMemo(()=>{if(!p)return!1;let e=D.trim();return!e||gi([p],e,e=>[e.label,b??``]).length>0},[b,p,D]),te=t=>{if(t===e){B(!1);return}i(t),B(!1),O(``)},ne=e=>{g?.(e),B(!1),O(``)},re=()=>{A(!0),setTimeout(()=>L.current?.focus(),50)},ie=async()=>{if(!(!W||F)){if(H){M(!0);return}I(!0);try{await a(W,o[0]),P(``),A(!1),B(!1)}finally{I(!1)}}},ae=async e=>{if(!(!W||F)){I(!0);try{await a(W,e),P(``),A(!1),M(!1),B(!1)}finally{I(!1)}}},oe=()=>{M(!1)},se=()=>{P(``),A(!1),M(!1)};Z.useEffect(()=>{z||(O(``),A(!1),M(!1),P(``))},[z]);let ce=u||e||w(`gitView.branch.detachedHead`),le=d??(c?`end`:`start`),ue=v??w(`chat.chatInput.worktrees`),de=y??w(`chat.chatInput.worktreeNew`),fe=b??w(`chat.chatInput.projectRoot`),pe=c?(0,$.jsx)(`button`,{type:`button`,className:`flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50`,disabled:s,"aria-label":ce,children:(0,$.jsx)(X,{name:`git-branch`,className:`size-3.5`})}):(0,$.jsxs)(ca,{variant:`ghost`,size:`xs`,className:`h-6 min-w-0 max-w-full justify-start gap-1 px-0 hover:bg-transparent`,disabled:s,"aria-label":ce,children:[(0,$.jsx)(X,{name:`git-branch`,className:`size-3.5 text-primary`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-ui-label font-semibold text-left text-foreground`,children:ce}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`size-3 shrink-0 text-muted-foreground`})]}),me=(0,$.jsx)(lo,{asChild:!0,disabled:s,children:l??pe}),he=(0,$.jsxs)(h_,{className:`h-full min-h-0`,children:[(0,$.jsx)(`div`,{"data-mobile-sheet-no-dismiss":C===`mobile-sheet`?``:void 0,children:(0,$.jsx)(g_,{placeholder:w(`gitView.branch.searchPlaceholder`),value:D,onValueChange:O,onKeyDown:V})}),(0,$.jsxs)(__,{scrollbarClassName:`overlay-scrollbar--flush overlay-scrollbar--dense overlay-scrollbar--zero`,disableHorizontal:!0,children:[(0,$.jsx)(v_,{children:w(`gitView.branch.empty`)}),(0,$.jsx)(y_,{children:j?(0,$.jsxs)(`div`,{className:`px-2 py-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mb-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:oe,disabled:F,className:`shrink-0 text-muted-foreground hover:text-foreground disabled:opacity-50`,children:(0,$.jsx)(X,{name:`arrow-left`,className:`size-4`})}),(0,$.jsxs)(`span`,{className:`typography-meta text-muted-foreground`,children:[w(`gitView.branch.pushToPrefix`),` `,(0,$.jsx)(`span`,{className:`text-foreground font-medium`,children:W}),` `,w(`gitView.branch.pushToSuffix`)]})]}),(0,$.jsx)(`div`,{className:`flex flex-col gap-1`,children:o.map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>ae(e),disabled:F,className:`flex flex-col items-start gap-0.5 px-2 py-1.5 rounded-md text-left hover:bg-accent disabled:opacity-50`,children:[(0,$.jsxs)(`span`,{className:`typography-ui-label text-foreground`,children:[F?(0,$.jsx)(X,{name:`loader-4`,className:`inline size-3 mr-1.5 animate-spin`}):null,e.name]}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground truncate max-w-full`,children:e.pushUrl})]},e.name))})]}):k?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5 rounded-lg`,children:[(0,$.jsx)(`input`,{ref:L,placeholder:w(`gitView.branch.newBranchPlaceholder`),value:N,onChange:e=>P(e.target.value),onClick:e=>e.stopPropagation(),onKeyDown:e=>{V(e),e.key===`Enter`?(e.preventDefault(),ie()):e.key===`Escape`&&(e.preventDefault(),se())},className:`flex-1 min-w-0 bg-transparent typography-meta outline-none placeholder:text-muted-foreground`}),(0,$.jsx)(`button`,{type:`button`,onClick:ie,disabled:!W||F,className:`shrink-0 text-muted-foreground hover:text-foreground disabled:opacity-50`,children:F?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`add`,className:`size-4`})}),(0,$.jsx)(`button`,{type:`button`,onClick:se,disabled:F,className:`shrink-0 text-muted-foreground hover:text-foreground disabled:opacity-50`,children:(0,$.jsx)(X,{name:`close`,className:`size-4`})})]}):(0,$.jsxs)(x_,{onSelect:re,children:[(0,$.jsx)(X,{name:`add`,className:`size-4`}),(0,$.jsx)(`span`,{children:w(`gitView.branch.create`)})]})}),(0,$.jsx)(b_,{}),(0,$.jsxs)(y_,{heading:w(`gitView.branch.localBranches`),children:[ee.map(t=>(0,$.jsxs)(x_,{onSelect:()=>te(t),children:[(0,$.jsxs)(`span`,{className:`flex flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:t}),(r?.[t]?.ahead||r?.[t]?.behind)&&(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground`,children:[r[t].ahead||0,` ahead ·`,` `,r[t].behind||0,` behind`]})]}),e===t&&(0,$.jsx)(`span`,{className:`typography-micro text-primary`,children:w(`gitView.branch.currentBadge`)})]},`local-${t}`)),ee.length===0&&(0,$.jsx)(x_,{disabled:!0,className:`justify-center`,children:(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:w(`gitView.branch.noLocalBranches`)})})]}),(0,$.jsx)(b_,{}),(0,$.jsxs)(y_,{heading:w(`gitView.branch.remoteBranches`),children:[G.map(e=>(0,$.jsx)(x_,{onSelect:()=>te(e),children:(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e})},`remote-${e}`)),G.length===0&&(0,$.jsx)(x_,{disabled:!0,className:`justify-center`,children:(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:w(`gitView.branch.noRemoteBranches`)})})]}),U?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(b_,{}),(0,$.jsxs)(y_,{children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-2 py-1.5`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground typography-meta`,children:ue}),_?(0,$.jsx)(`button`,{type:`button`,className:`cursor-pointer text-muted-foreground typography-meta hover:text-foreground`,onPointerDown:e=>{e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),B(!1),_()},children:de}):null]}),p&&q?(0,$.jsxs)(x_,{onSelect:()=>ne(p.value),children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:fe}),(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:p.label})]}),h===p.value?(0,$.jsx)(`span`,{className:`typography-micro text-primary`,children:w(`gitView.branch.currentBadge`)}):null]}):null,K.map(e=>(0,$.jsxs)(x_,{onSelect:()=>ne(e.value),children:[(0,$.jsxs)(`span`,{className:`truncate typography-ui-label text-foreground`,children:[e.pending?`⏳ `:``,e.label]}),h===e.value?(0,$.jsx)(`span`,{className:`typography-micro text-primary`,children:w(`gitView.branch.currentBadge`)}):null]},`worktree-${e.value}`))]})]}):null]})]});if(C===`mobile-sheet`){let e=Z.cloneElement(l??pe,{onClick:()=>B(!0),"data-popup-open":z?``:void 0});return(0,$.jsxs)($.Fragment,{children:[e,(0,$.jsx)(_a,{id:`mobile-draft-branch-picker-sheet-${R}`,open:z,onOpenChange:B,ariaLabel:w(`gitView.branch.selectBranch`),closeAriaLabel:w(`mobile.surface.closeAria`),resizeAriaLabel:w(`mobile.sessions.sheet.resizeAria`),children:he})]})}return(0,$.jsxs)(Za,{open:z,onOpenChange:B,children:[f||l?me:(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:me}),(0,$.jsx)(Va,{sideOffset:8,children:c?ce:w(`gitView.branch.currentBranchTooltip`)})]}),(0,$.jsx)(co,{align:le,className:`w-72 p-0 max-h-[60vh] flex flex-col`,children:he})]})};function G_(e){let{localBranches:t,remoteBranches:n,query:r}=e,i=r.trim();if(!i)return{matching:[],otherLocal:t,otherRemote:n};let a=gi(t,i,e=>e),o=gi(n,i,e=>e),s=new Set(a.map(e=>e.item)),c=new Set(o.map(e=>e.item));return{matching:[...a.map(e=>({label:e.item,value:e.item,source:`local`,score:e.score})),...o.map(e=>({label:e.item,value:`remotes/${e.item}`,source:`remote`,score:e.score}))].sort((e,t)=>e.score===t.score?e.source===t.source?e.label.length===t.label.length?e.label.localeCompare(t.label,void 0,{sensitivity:`accent`}):e.label.length-t.label.length:e.source===`local`?-1:1:e.score-t.score).map(({label:e,value:t,source:n})=>({label:e,value:t,source:n})),otherLocal:t.filter(e=>!s.has(e)),otherRemote:n.filter(e=>!c.has(e))}}function K_(e,t){return`${e}\0${t}`}function q_({open:e,onOpenChange:t,onSelect:n}){let{t:r}=ot(),i=s(e=>e.isMobile),{github:a}=Do(),o=$a(),c=o.data??null,l=o.isFetched,u=s(e=>e.setSettingsDialogOpen),d=s(e=>e.setSettingsPage),f=xn(e=>e.getActiveProject()),p=f?.id??null,m=f?.path??null,h=Z.useMemo(()=>m&&p?{id:p,path:m}:null,[p,m]),[g,_]=Z.useState(`issues`),[v,y]=Z.useState(``),[b,x]=Z.useState([]),[S,C]=Z.useState([]),[w,T]=Z.useState(!1),[E,D]=Z.useState(!1),[O,k]=Z.useState(null),[A,j]=Z.useState(null),[M,N]=Z.useState(null),[P,F]=Z.useState(!1),[I,L]=Z.useState(new Map),[R,z]=Z.useState(1),[B,V]=Z.useState(!1),H=Z.useRef(0),U=zo(v,350),W=J(async e=>{if(!(!m||!a)&&!(l&&c?.connected===!1)){T(!0),k(null),z(1),V(!1);try{if(g===`issues`&&a.issuesList){let t=await a.issuesList(m,{page:1,query:e});t.connected===!1?(k(r(`session.githubIntegration.error.notConnected`)),x([])):(x(t.issues??[]),z(t.page??1),V(!!t.hasMore))}else if(g===`prs`&&a.prsList){let t=await a.prsList(m,{page:1,query:e});t.connected===!1?(k(r(`session.githubIntegration.error.notConnected`)),C([])):(C(t.prs??[]),z(t.page??1),V(!!t.hasMore))}}catch(e){k(e instanceof Error?e.message:r(`session.githubIntegration.error.loadDataFailed`))}finally{T(!1)}}});Z.useEffect(()=>{if(!e||!m||l&&c?.connected===!1||!a)return;if(!U.trim()){W();return}let t=new AbortController;T(!0),k(null),z(1),V(!1);let n=g===`issues`&&a.issuesList?a.issuesList(m,{page:1,query:U.trim()}):g===`prs`&&a.prsList?a.prsList(m,{page:1,query:U.trim()}):null;if(!n){T(!1);return}return n.then(e=>{t.signal.aborted||(`issues`in e?e.connected===!1?(k(r(`session.githubIntegration.error.notConnected`)),x([])):(x(e.issues??[]),z(e.page??1),V(!!e.hasMore)):`prs`in e&&(e.connected===!1?(k(r(`session.githubIntegration.error.notConnected`)),C([])):(C(e.prs??[]),z(e.page??1),V(!!e.hasMore))))}).catch(e=>{t.signal.aborted||k(e instanceof Error?e.message:r(`session.githubIntegration.error.loadDataFailed`))}).finally(()=>{t.signal.aborted||T(!1)}),()=>t.abort()},[e,m,a,l,c,g,U,W,r]);let ee=J(async()=>{if(!(!m||!a)&&!(w||E)&&B){D(!0);try{let e=R+1;if(g===`issues`&&a.issuesList){let t=U.trim()?await a.issuesList(m,{page:e,query:U.trim()}):await a.issuesList(m,{page:e});t.connected!==!1&&(x(e=>[...e,...t.issues??[]]),z(t.page??e),V(!!t.hasMore))}else if(g===`prs`&&a.prsList){let t=U.trim()?await a.prsList(m,{page:e,query:U.trim()}):await a.prsList(m,{page:e});t.connected!==!1&&(C(e=>[...e,...t.prs??[]]),z(t.page??e),V(!!t.hasMore))}}catch{}finally{D(!1)}}});Z.useEffect(()=>{if(!e){_(`issues`),y(``),x([]),C([]),j(null),N(null),F(!1),k(null),L(new Map),z(1),V(!1);return}W()},[e,W]),Z.useEffect(()=>{H.current+=1,L(new Map)},[m,h]);let G=J(async e=>{if(!h||!e)return;let t=K_(h.path,e);if(I.has(t))return;let n=H.current;try{let i=await wa(h,{mode:`new`,branchName:e,worktreeName:e});if(n!==H.current)return;let a=i.errors.find(e=>e.code===`branch_in_use`);L(e=>new Map(e).set(t,{isValid:!a,error:a?r(a.code===`branch_exists`?`session.githubIntegration.validation.branchAlreadyExists`:`session.githubIntegration.validation.branchAlreadyCheckedOut`):null}))}catch{if(n!==H.current)return;L(e=>new Map(e).set(t,{isValid:!1,error:r(`session.githubIntegration.validation.failed`)}))}});Z.useEffect(()=>{!e||g!==`prs`||S.forEach(e=>{e.head&&G(e.head)})},[e,g,S,m,h,G]);let K=l&&c?.connected===!0,q=()=>{d(`github`),u(!0)},te=e=>{j(e),N(null)},ne=e=>{N(e),j(null)},re=()=>{A?n({type:`issue`,item:A}):M&&n({type:`pr`,item:M,includeDiff:P}),t(!1)},ie=()=>{j(null),N(null),F(!1)},ae=A||(M?.head&&m?I.get(K_(m,M.head))?.isValid!==!1:!1),oe=e=>!e.head||(m?I.get(K_(m,e.head)):void 0)?.isValid===!1,se=(0,$.jsx)($.Fragment,{children:K?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative mt-2`,children:[(0,$.jsx)(X,{name:`search`,className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,$.jsx)(za,{value:v,onChange:e=>y(e.target.value),placeholder:r(g===`issues`?`session.githubIntegration.search.issuesPlaceholder`:`session.githubIntegration.search.prsPlaceholder`),className:`h-8 pl-9`})]}),(0,$.jsx)(`div`,{className:`mt-2 h-[300px] overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`h-full overflow-y-auto`,children:[w&&(0,$.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,$.jsx)(X,{name:`loader-4`,className:`h-5 w-5 animate-spin text-muted-foreground`})}),O&&(0,$.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 p-2 rounded-md bg-destructive/10 text-destructive`,children:[(0,$.jsx)(X,{name:`error-warning`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`typography-small`,children:O})]})}),!w&&!O&&g===`issues`&&(0,$.jsxs)(`div`,{className:`space-y-0.5 min-h-full`,children:[b.length>0?b.map(e=>(0,$.jsx)(`button`,{onClick:()=>te(e),className:Y(`w-full text-left px-2 py-1.5 rounded transition-colors`,A?.number===e.number?`bg-interactive-selection text-interactive-selection-foreground`:`hover:bg-interactive-hover`),children:(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-muted-foreground shrink-0 typography-micro`,children:[`#`,e.number]}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`typography-small line-clamp-2`,children:e.title}),e.sourceRepo?.source===`upstream`?(0,$.jsxs)(`span`,{className:`typography-micro px-1 py-0.5 rounded bg-status-info/10 text-status-info mt-0.5 inline-block`,children:[e.sourceRepo.owner,`/`,e.sourceRepo.repo]}):null]})]})},`${e.sourceRepo?.owner??``}-${e.sourceRepo?.repo??``}-${e.number}`)):(0,$.jsx)(`div`,{className:`flex items-center justify-center h-[300px] text-center typography-small text-muted-foreground`,children:r(`session.githubIntegration.empty.noIssuesFound`)}),B&&!E&&(0,$.jsx)(`div`,{className:`flex justify-center pt-2`,children:(0,$.jsx)(ca,{variant:`ghost`,size:`sm`,onClick:()=>void ee(),className:`h-7 text-xs`,children:r(`session.githubIntegration.actions.loadMore`)})}),E&&(0,$.jsx)(`div`,{className:`flex items-center justify-center py-2`,children:(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin text-muted-foreground`})})]}),!w&&!O&&g===`prs`&&(0,$.jsxs)(`div`,{className:`space-y-0.5 min-h-full`,children:[S.length>0?S.map(e=>{let t=oe(e),n=e.head&&m?I.get(K_(m,e.head)):void 0;return(0,$.jsx)(`button`,{onClick:()=>!t&&ne(e),disabled:t,className:Y(`w-full text-left px-2 py-1.5 rounded transition-colors`,M?.number===e.number?`bg-interactive-selection text-interactive-selection-foreground`:t?`opacity-50 cursor-not-allowed`:`hover:bg-interactive-hover`),children:(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-muted-foreground shrink-0 typography-micro`,children:[`#`,e.number]}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`typography-small line-clamp-1`,children:e.title}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-0.5`,children:[(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground`,children:[e.head,` → `,e.base]}),e.sourceRepo?.source===`upstream`?(0,$.jsxs)(`span`,{className:`typography-micro px-1 py-0.5 rounded bg-status-info/10 text-status-info`,children:[e.sourceRepo.owner,`/`,e.sourceRepo.repo]}):null,t&&n?.error&&(0,$.jsx)(`span`,{className:`typography-micro text-destructive`,children:n.error})]})]})]})},`${e.sourceRepo?.owner??``}-${e.sourceRepo?.repo??``}-${e.number}`)}):(0,$.jsx)(`div`,{className:`flex items-center justify-center h-[300px] text-center typography-small text-muted-foreground`,children:r(`session.githubIntegration.empty.noPullRequestsFound`)}),B&&!E&&(0,$.jsx)(`div`,{className:`flex justify-center pt-2`,children:(0,$.jsx)(ca,{variant:`ghost`,size:`sm`,onClick:()=>void ee(),className:`h-7 text-xs`,children:r(`session.githubIntegration.actions.loadMore`)})}),E&&(0,$.jsx)(`div`,{className:`flex items-center justify-center py-2`,children:(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin text-muted-foreground`})})]})]})})]}):(0,$.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center p-8 gap-4`,children:[(0,$.jsx)(X,{name:`github`,className:`h-12 w-12 text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`text-center`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground`,children:r(`session.githubIntegration.connect.title`)}),(0,$.jsx)(`p`,{className:`typography-small text-muted-foreground mt-1`,children:r(`session.githubIntegration.connect.description`)})]}),(0,$.jsx)(ca,{onClick:q,size:`sm`,children:r(`session.githubIntegration.connect.action`)})]})}),ce=(0,$.jsxs)(`div`,{className:Y(`w-full`,i?`flex flex-col gap-2`:`flex flex-row items-center`),children:[(0,$.jsxs)(`div`,{className:Y(`flex items-center gap-4`,i?`w-full justify-center order-1`:`flex-1`),children:[!i&&(A||M)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-2 h-8 rounded-md bg-muted/50 border border-border/50`,children:[(0,$.jsx)(X,{name:`check`,className:`h-3.5 w-3.5 text-status-success shrink-0`}),(0,$.jsx)(`span`,{className:`typography-small truncate max-w-[150px]`,children:A?r(`session.githubIntegration.selected.issueNumber`,{number:A.number}):r(`session.githubIntegration.selected.prNumber`,{number:M?.number??``})}),(0,$.jsx)(`button`,{onClick:ie,className:`text-muted-foreground hover:text-foreground shrink-0 p-0.5 rounded hover:bg-muted transition-colors`,children:(0,$.jsx)(X,{name:`close`,className:`h-3.5 w-3.5`})})]}),g===`prs`&&M&&(0,$.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer h-8`,children:[(0,$.jsx)(ha,{checked:P,onChange:e=>F(e),ariaLabel:r(`session.githubIntegration.includeDiffAria`)}),(0,$.jsx)(`span`,{className:`typography-small text-foreground`,children:r(`session.githubIntegration.includeDiff`)})]})]}),(0,$.jsxs)(`div`,{className:Y(`flex gap-2`,i?`w-full order-2`:`justify-end`),children:[(0,$.jsx)(ca,{variant:`outline`,size:`sm`,onClick:()=>t(!1),className:Y(i&&`flex-1`),children:r(`session.githubIntegration.actions.cancel`)}),(0,$.jsx)(ca,{size:`sm`,onClick:re,disabled:!ae,className:Y(i&&`flex-1`),children:r(`session.githubIntegration.actions.select`)})]})]});return(0,$.jsx)($.Fragment,{children:i?(0,$.jsx)(am,{open:e,title:r(`session.githubIntegration.title`),onClose:()=>t(!1),footer:K?ce:void 0,renderHeader:e=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 px-3 py-2 border-b border-border/40`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:r(`session.githubIntegration.title`)}),e]}),(0,$.jsx)(`div`,{className:`w-full`,children:(0,$.jsx)(qc,{items:[{id:`issues`,label:r(`session.githubIntegration.tabs.issues`),icon:(0,$.jsx)(X,{name:`git-branch`,className:`h-3.5 w-3.5`})},{id:`prs`,label:r(`session.githubIntegration.tabs.pullRequests`),icon:(0,$.jsx)(X,{name:`git-pull-request`,className:`h-3.5 w-3.5`})}],activeId:g,onSelect:e=>{_(e),y(``)},variant:`active-pill`,layoutMode:`fit`})}),(A||M)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 rounded-md bg-muted/50 border border-border/50`,children:[(0,$.jsx)(X,{name:`check`,className:`h-3.5 w-3.5 text-status-success shrink-0`}),(0,$.jsx)(`span`,{className:`typography-small truncate flex-1`,children:A?r(`session.githubIntegration.selected.issueNumber`,{number:A.number}):r(`session.githubIntegration.selected.prNumber`,{number:M?.number??``})}),(0,$.jsx)(`button`,{onClick:ie,className:`text-muted-foreground hover:text-foreground shrink-0 p-0.5 rounded hover:bg-muted transition-colors`,children:(0,$.jsx)(X,{name:`close`,className:`h-3.5 w-3.5`})})]})]}),children:se}):(0,$.jsx)(aa,{open:e,onOpenChange:t,children:(0,$.jsxs)(ta,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsx)(Qi,{className:`flex flex-row items-center justify-between`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(na,{className:`flex items-center gap-2 shrink-0`,children:[(0,$.jsx)(X,{name:`github`,className:`h-5 w-5`}),r(`session.githubIntegration.title`)]}),(0,$.jsx)(`div`,{className:`w-[220px]`,children:(0,$.jsx)(qc,{items:[{id:`issues`,label:r(`session.githubIntegration.tabs.issues`),icon:(0,$.jsx)(X,{name:`git-branch`,className:`h-3.5 w-3.5`})},{id:`prs`,label:r(`session.githubIntegration.tabs.pullRequests`),icon:(0,$.jsx)(X,{name:`git-pull-request`,className:`h-3.5 w-3.5`})}],activeId:g,onSelect:e=>{_(e),y(``)},variant:`active-pill`,layoutMode:`fit`})})]})}),se,(0,$.jsx)($i,{className:`mt-1`,children:ce})]})})})}var J_=(e,t,n)=>{let r=n??t;return r?e.find(e=>e.id===r)??null:null},Y_=e=>e.trim().replace(/^refs\/heads\//,``).replace(/^heads\//,``).replace(/\s+/g,`-`).replace(/^\/+|\/+$/g,``),X_=e=>e.trim().replace(/^refs\/heads\//,``).replace(/^heads\//,``).replace(/\s+/g,`-`).replace(/^\/+|\/+$/g,``).split(`/`).join(`-`).replace(/[^A-Za-z0-9._-]+/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``).slice(0,80),Z_=e=>String(e||``).trim().toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``)||`pr-head`,Q_=(e,t,n)=>{let r=Y_(e.head||``);if(!r)throw Error(`PR head branch is missing`);if(t.includes(r))return{existingBranch:r,setUpstream:void 0,upstreamRemote:void 0,upstreamBranch:void 0,ensureRemoteName:void 0,ensureRemoteUrl:void 0,sourceLabel:r};let i=n.find(e=>{let t=e.indexOf(`/`);return t<=0||t>=e.length-1?!1:e.slice(t+1)===r});if(i){let e=i.indexOf(`/`),t=i.slice(0,e);return{existingBranch:`remotes/${i}`,setUpstream:!0,upstreamRemote:t,upstreamBranch:r,ensureRemoteName:void 0,ensureRemoteUrl:void 0,sourceLabel:`${t}/${r}`}}let a=String(e.headLabel||``).split(`:`)[0]?.trim(),o=`pr-${Z_(e.headRepo?.owner||a||`pr-head`)}`,s=e.headRepo?.sshUrl||e.headRepo?.cloneUrl||``;if(!s)throw Error(`PR head repository URL is unavailable`);return{existingBranch:`remotes/${o}/${r}`,setUpstream:!0,upstreamRemote:o,upstreamBranch:r,ensureRemoteName:o,ensureRemoteUrl:s,sourceLabel:`${o}/${r}`}},$_=e=>{let t={repo:e.repo??null,issue:e.issue,comments:e.comments};return`GitHub issue context (JSON)\n${JSON.stringify(t,null,2)}`},ev=e=>`GitHub pull request context (JSON)\n${JSON.stringify(e,null,2)}`;function tv({open:e,onOpenChange:t,onWorktreeCreated:n,projectId:r}){let{t:i}=ot(),{github:a,git:o}=Do(),c=s(e=>e.isMobile),l=Z.useId(),u=$a(),d=u.data??null,f=u.isFetched,p=xn(e=>J_(e.projects,e.activeProjectId,r)),m=p?.path??null,h=Z.useMemo(()=>m&&p?{id:p.id,path:m}:null,[p,m]),[g,_]=Z.useState(`new-branch`),[v,y]=Z.useState({branchName:``,worktreeName:``,isSyncingWorktreeName:!0,sourceBranch:``,linkedIssue:null,linkedPr:null,includePrDiff:!1}),[b,x]=Z.useState({selectedBranch:``,worktreeName:``}),S=rs(m),C=es(m),w=qo(e=>e.fetchBranches),T=Z.useMemo(()=>S?.all?S.all.filter(e=>!e.startsWith(`remotes/`)).sort():[],[S]),E=Z.useMemo(()=>S?.all?S.all.filter(e=>e.startsWith(`remotes/`)).map(e=>e.replace(/^remotes\//,``)).sort():[],[S]),D=Zr(e=>e.availableWorktreesByProject),O=Z.useMemo(()=>{if(!m)return new Set;let e=D.get(m)??[];return new Set(e.map(e=>e.name))},[D,m]),k=Z.useCallback((e=10)=>{for(let t=0;t<e;t++){let e=Jg();if(!O.has(e))return e}return`${Jg()}-${Date.now().toString(36).slice(-4)}`},[O]),[A,j]=Z.useState(!1),[M,N]=Z.useState(!1),[P,F]=Z.useState(!1),[I,L]=Z.useState(!1),[R,z]=Z.useState(!1),[B,V]=Z.useState(``),[H,U]=Z.useState(``),W=Z.useRef(null),ee=Z.useRef(null),G=Z.useRef(null),K=Z.useRef(null),q=Z.useCallback(e=>{e.stopPropagation()},[]),te=Z.useCallback(e=>{let t=e;for(;t&&t!==document.body;){let{overflowY:e}=window.getComputedStyle(t);if((e===`auto`||e===`scroll`)&&t.scrollHeight>t.clientHeight)return t;t=t.parentElement}return null},[]),ne=Z.useCallback(e=>{e&&(e.scrollTop=0)},[]),re=Z.useCallback(e=>{let t=e.current?.querySelector(`[data-slot="command-list"]`)??null;ne(t)},[ne]),ie=Z.useCallback(e=>{let t=te(e.current);ne(t)},[te,ne]),ae=Z.useMemo(()=>G_({localBranches:T,remoteBranches:E,query:B}),[T,E,B]),oe=Z.useMemo(()=>G_({localBranches:T,remoteBranches:E,query:H}),[T,E,H]),se=B.trim().length>0,ce=H.trim().length>0,le=ae.matching.length>0,ue=oe.matching.length>0,de=!!(m&&o),fe=Z.useCallback(()=>{!m||!o||w(m,o)},[m,o,w]);Z.useEffect(()=>{!e||!m||!o||S?.all||w(m,o)},[e,m,o,S?.all,w]),Z.useEffect(()=>{!M&&!I&&V(``)},[M,I]),Z.useEffect(()=>{!P&&!R&&U(``)},[P,R]),Z.useEffect(()=>{M&&re(W),I&&ie(G)},[M,I,B,re,ie]),Z.useEffect(()=>{P&&re(ee),R&&ie(K)},[P,R,H,re,ie]);let[pe,me]=Z.useState({isValidating:!1,branchError:null,worktreeError:null,touched:!1}),[he,ge]=Z.useState(!1),[_e,ve]=Z.useState(null),ye=Z.useCallback(()=>{let e=Qr.getState(),t=e.getVisibleAgents();if(e.settingsDefaultAgent){let n=t.find(t=>t.name===e.settingsDefaultAgent);if(n)return n.name}return t.find(e=>e.name===`build`)?.name||t[0]?.name},[]),be=Z.useCallback(()=>{let e=Qr.getState(),t=e.settingsDefaultModel;if(!t)return null;let n=Ln(t);if(!n)return null;let{providerId:r,modelId:i}=n;return e.getModelMetadata(r,i)?{providerID:r,modelID:i}:null},[]),xe=Z.useCallback((e,t)=>{let n=Qr.getState(),r=n.settingsDefaultVariant,i=n.currentProviderId===e&&n.currentModelId===t?n.currentVariant:void 0,a=n.providers.find(t=>t.id===e)?.models.find(e=>e.id===t)?.variants;if(!a)return r||i||void 0;if(r&&Object.prototype.hasOwnProperty.call(a,r))return r;if(i&&Object.prototype.hasOwnProperty.call(a,i))return i},[]),Se=Z.useCallback(async e=>{if(!m||!a)return;let t=Qr.getState(),n=vi.getState().lastUsedProvider,r=be(),o=r?.providerID||t.currentProviderId||n?.providerID,s=r?.modelID||t.currentModelId||n?.modelID,c=ye()||t.currentAgentName||void 0;if(!o||!s){Tt.error(i(`session.newWorktree.error.noModelSelected`));return}let l=xe(o,s);if(e.issue){if(!a.issueGet||!a.issueComments)return;let t=await a.issueGet(m,e.issue.number,{sourceRepo:e.issue.sourceRepo??null});if(t.connected===!1||!t.repo||!t.issue)throw Error(`Failed to load issue context`);let n=await a.issueComments(m,e.issue.number,{sourceRepo:e.issue.sourceRepo??null});if(n.connected===!1)throw Error(`Failed to load issue comments`);let r=await ki(`github.issue.review.visible`,{issue_number:String(e.issue.number)}),u=await ki(`github.issue.review.instructions`),d=$_({repo:t.repo,issue:t.issue,comments:n.comments??[]});await Zr.getState().sendMessage(r,o,s,c,void 0,void 0,[{text:u,synthetic:!0},{text:d,synthetic:!0}],l,void 0,{sessionId:e.sessionId}),Tt.success(i(`session.newWorktree.toast.sessionFromIssue`));return}if(e.pr){if(!a.prContext)return;let t=await a.prContext(m,e.pr.number,{sourceRepo:e.pr.sourceRepo??null,includeDiff:e.includeDiff,includeCheckDetails:!1});if(t.connected===!1||!t.repo||!t.pr)throw Error(`Failed to load PR context`);let n=await ki(`github.pr.review.visible`,{pr_number:String(e.pr.number)}),r=await ki(`github.pr.review.instructions`),u=ev(t);await Zr.getState().sendMessage(n,o,s,c,void 0,void 0,[{text:r,synthetic:!0},{text:u,synthetic:!0}],l,void 0,{sessionId:e.sessionId}),Tt.success(i(`session.newWorktree.toast.sessionFromPr`))}},[a,m,ye,be,xe,i]),Ce=g===`new-branch`?v:b;Z.useEffect(()=>{if(!e||!S?.all||!m||v.sourceBranch)return;let t=v.sourceBranch,n=!1;return(async()=>{try{let e=await Ma(m).catch(()=>null);if(n)return;let r=localStorage.getItem(Ko),{sourceBranch:i,shouldClearSavedSourceBranch:a}=ns({branches:S.all,savedSourceBranch:r,rootBranch:e});if(a&&localStorage.removeItem(Ko),n||t)return;i&&y(e=>({...e,sourceBranch:i}))}catch{}})(),()=>{n=!0}},[e,S?.all,m,v.sourceBranch]),Z.useLayoutEffect(()=>{if(!e)return;_(`new-branch`),x({selectedBranch:``,worktreeName:``}),N(!1),F(!1),L(!1),z(!1),V(``),U(``),me({isValidating:!1,branchError:null,worktreeError:null,touched:!1});let t=k();y({branchName:t,worktreeName:t,isSyncingWorktreeName:!0,sourceBranch:``,linkedIssue:null,linkedPr:null,includePrDiff:!1})},[e,k]),Z.useEffect(()=>{if(g!==`new-branch`||!v.isSyncingWorktreeName)return;let e=X_(Y_(v.branchName));y(t=>({...t,worktreeName:e}))},[g,v.branchName,v.isSyncingWorktreeName]);let we=Z.useCallback(async()=>{if(!h||!pe.touched||he)return;_e&&_e.abort();let e=new AbortController;ve(e),me(e=>({...e,isValidating:!0}));try{let t=g===`new-branch`?v.branchName:b.selectedBranch,n=Ce.worktreeName,r=Y_(t),a=X_(n),o=null,s=null;if(r||(o=i(`session.newWorktree.error.branchNameRequired`)),a||(s=i(`session.newWorktree.error.worktreeDirectoryRequired`)),r&&a){let t=g===`new-branch`?v.linkedPr:null,n=t?Q_(t,T,E):null,i=await wa(h,{mode:g===`existing-branch`||n?`existing`:`new`,branchName:r,worktreeName:a,existingBranch:n?.existingBranch??(g===`existing-branch`?r:void 0),...n?.ensureRemoteName?{ensureRemoteName:n.ensureRemoteName}:{},...n?.ensureRemoteUrl?{ensureRemoteUrl:n.ensureRemoteUrl}:{}});if(e.signal.aborted)return;i.ok||i.errors.forEach(e=>{if(e.code===`worktree_exists`){s??=e.message;return}e.code.startsWith(`branch_`)&&(o??=e.message)})}e.signal.aborted||me(e=>({...e,isValidating:!1,branchError:o,worktreeError:s}))}catch{e.signal.aborted||me(e=>({...e,isValidating:!1}))}},[h,g,v.branchName,v.linkedPr,b.selectedBranch,Ce.worktreeName,T,E,pe.touched,_e,he,i]),Te=g===`new-branch`?v.branchName:b.selectedBranch;Z.useEffect(()=>{if(!e||!h||!pe.touched||he)return;let t=setTimeout(()=>{we()},300);return()=>clearTimeout(t)},[Ce.worktreeName,Te,e,h,we,pe.touched,he]);let Ee=async()=>{if(!h||!m){Tt.error(i(`session.newWorktree.error.noActiveProject`));return}me(e=>({...e,touched:!0}));let e=g===`new-branch`?v.branchName:b.selectedBranch,r=Ce.worktreeName,a=Y_(e),o=X_(r);if(!a){Tt.error(i(`session.newWorktree.error.branchNameRequired`));return}if(!o){Tt.error(i(`session.newWorktree.error.worktreeDirectoryRequired`));return}_e&&(_e.abort(),ve(null)),me(e=>({...e,isValidating:!1,branchError:null,worktreeError:null})),ge(!0);try{let e=g===`new-branch`?v.linkedPr:null,r=g===`new-branch`?v.linkedIssue:null,s=g===`new-branch`?v.linkedPr:null,c=g===`new-branch`&&v.includePrDiff,l=!!(r||s),[u,d]=await Promise.all([Hn(h),$o(m)]),f=v.sourceBranch,p=``,_=(()=>{if(e){let t=Q_(e,T,E);return p=t.sourceLabel,{preferredName:a||o,mode:`existing`,branchName:a,worktreeName:o,existingBranch:t.existingBranch,setupCommands:u,setUpstream:t.setUpstream,upstreamRemote:t.upstreamRemote,upstreamBranch:t.upstreamBranch,returnAfterDirectoryCreated:!0,...t.ensureRemoteName?{ensureRemoteName:t.ensureRemoteName}:{},...t.ensureRemoteUrl?{ensureRemoteUrl:t.ensureRemoteUrl}:{}}}return p=g===`new-branch`?f:``,{preferredName:a||o,mode:g===`existing-branch`?`existing`:`new`,branchName:g===`existing-branch`?void 0:a,worktreeName:o,existingBranch:g===`existing-branch`?a:void 0,setupCommands:u,returnAfterDirectoryCreated:!0,...f&&g===`new-branch`?{startRef:f}:{}}})(),y=await ss(m,_,{resolvedRootTrackingRemote:d}),x=await Na(h,y),S=null;if(l){await Gt(h)&&await mr(x.path);let e=r?`#${r.number} ${r.title}`.trim():s?`#${s.number} ${s.title}`.trim():i(`session.newWorktree.newSessionTitle`),a=await Kn(e,x.path,null);if(!a?.id)throw Error(`Failed to create session`);S=a.id,n?.(x.path,{sessionId:S}),t(!1),ge(!1),Ci(a.id,e).catch(()=>void 0);try{Zr.getState().initializeNewOpenChamberSession(a.id,Qr.getState().agents)}catch{}}else t(!1),ge(!1);let C=as({mode:g,sourceBranch:v.sourceBranch,linkedPr:!!v.linkedPr,selectedBranch:b.selectedBranch});C&&localStorage.setItem(Ko,C),Tt.success(i(`session.newWorktree.toast.worktreeCreated`),{description:i(`session.newWorktree.toast.worktreeCreatedDescription`,{target:`${x.branch||x.name}${p?` ${i(`session.newWorktree.fromSource`,{source:p})}`:``}`})}),S?Se({sessionId:S,directory:x.path,issue:r,pr:s,includeDiff:c}).catch(e=>{let t=e instanceof Error?e.message:i(`session.newWorktree.error.sendGitHubContextFailed`);Tt.error(i(`session.newWorktree.error.sendGitHubContextFailed`),{description:t})}):n?.(x.path)}catch(e){let t=e instanceof Error?e.message:i(`session.newWorktree.error.createWorktreeFailed`);Tt.error(i(`session.newWorktree.error.createWorktreeFailed`),{description:t})}finally{ge(!1)}},De=e=>{_(e),me(e=>({...e,touched:!1,branchError:null,worktreeError:null}))},Oe=e=>{if(!e){y(e=>({...e,linkedIssue:null,linkedPr:null,includePrDiff:!1,branchName:``}));return}if(e.type===`issue`){let t=e.item,n=`issue-${t.number}-${Jg()}`;y(e=>({...e,linkedIssue:t,linkedPr:null,includePrDiff:!1,branchName:n,worktreeName:X_(n),isSyncingWorktreeName:!0}))}else if(e.type===`pr`){let t=e.item;y(n=>({...n,linkedPr:t,linkedIssue:null,includePrDiff:e.includeDiff??!1,branchName:t.head,worktreeName:X_(t.head),isSyncingWorktreeName:!0}))}},ke=f&&d?.connected===!0,Ae=(g===`existing-branch`?!!b.selectedBranch&&!!b.worktreeName&&!pe.branchError&&!pe.worktreeError:!!Y_(v.branchName)&&!!v.worktreeName&&!pe.branchError&&!pe.worktreeError)&&!he,je=()=>{y(e=>({...e,linkedIssue:null,linkedPr:null,branchName:``,includePrDiff:!1,isSyncingWorktreeName:!0}))},Me=(0,$.jsxs)(`div`,{className:Y(`flex gap-2`,c?`flex-col w-full`:`flex-row items-center`),children:[(0,$.jsx)(`div`,{className:Y(`flex items-center gap-1.5 text-destructive`,c?`w-full justify-center order-first`:`mr-auto`),children:pe.touched&&(pe.branchError||pe.worktreeError)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`error-warning`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`typography-micro`,children:pe.branchError||pe.worktreeError})]})}),(0,$.jsxs)(`div`,{className:Y(`flex gap-2`,c&&`w-full`),children:[(0,$.jsx)(ca,{variant:`outline`,size:`sm`,onClick:()=>t(!1),disabled:he,className:Y(c&&`flex-1`),children:i(`session.newWorktree.actions.cancel`)}),(0,$.jsxs)(ca,{size:`sm`,onClick:Ee,disabled:!Ae||he,className:Y(`gap-1.5`,c&&`flex-1`),children:[he&&(0,$.jsx)(X,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}),i(he?`session.newWorktree.actions.creating`:`session.newWorktree.actions.createWorktree`)]})]})]});return(0,$.jsxs)($.Fragment,{children:[c?(0,$.jsx)(_a,{id:`new-worktree-sheet-${l}`,open:e,onOpenChange:t,title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:i(`session.newWorktree.title`)}),ariaLabel:i(`session.newWorktree.title`),closeAriaLabel:i(`mobile.surface.closeAria`),resizeAriaLabel:i(`mobile.sessions.sheet.resizeAria`),children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,$.jsxs)(da,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:`min-h-0 flex-1`,className:`overscroll-contain px-4 pb-4 pt-2`,children:[(0,$.jsx)(`div`,{className:`w-full mb-4`,children:(0,$.jsx)(qc,{items:[{id:`new-branch`,label:i(`session.newWorktree.mode.newBranch`),icon:(0,$.jsx)(X,{name:`git-branch`,className:`h-3.5 w-3.5`})},{id:`existing-branch`,label:i(`session.newWorktree.mode.existingBranch`),icon:(0,$.jsx)(X,{name:`git-repository`,className:`h-3.5 w-3.5`})}],activeId:g,onSelect:e=>De(e),variant:`active-pill`,layoutMode:`fit`,className:`w-full`})}),(0,$.jsxs)(`div`,{className:`space-y-6`,children:[g===`existing-branch`?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground block font-semibold`,children:i(`session.newWorktree.selectBranch`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(ca,{variant:`outline`,size:`sm`,onClick:()=>L(!0),className:`flex-1 justify-between h-9`,children:[(0,$.jsx)(`span`,{className:b.selectedBranch?`text-foreground`:`text-muted-foreground`,children:b.selectedBranch||i(`session.newWorktree.chooseBranch`)}),(0,$.jsx)(X,{name:`git-branch`,className:`h-4 w-4 text-muted-foreground`})]}),(0,$.jsx)(ca,{variant:`ghost`,size:`sm`,className:`h-8 w-8 px-0 shrink-0`,onClick:fe,disabled:!de||C,title:i(`session.newWorktree.fetchBranches`),children:C?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`refresh`,className:`size-4`})})]}),(0,$.jsx)(am,{open:I,title:i(`session.newWorktree.selectBranch`),onClose:()=>L(!1),children:(0,$.jsxs)(`div`,{className:`space-y-4`,ref:G,children:[(0,$.jsx)(za,{value:B,onChange:e=>V(e.target.value),placeholder:i(`session.newWorktree.searchBranches`),className:`h-8`}),C?(0,$.jsx)(`div`,{className:`px-2 py-8 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.loadingBranches`)}):T.length===0&&E.length===0?(0,$.jsx)(`div`,{className:`px-2 py-8 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noBranchesFound`)}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[se&&le&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`div`,{className:`typography-small font-semibold text-foreground px-2`,children:i(`session.newWorktree.matchingBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:ae.matching.map(e=>(0,$.jsx)(`button`,{onClick:()=>{x(t=>({...t,selectedBranch:e.value,worktreeName:X_(e.label)})),me(e=>({...e,touched:!0})),L(!1)},className:Y(`w-full text-left px-3 py-2.5 rounded-md transition-colors`,b.selectedBranch===e.value?`bg-interactive-selection text-interactive-selection-foreground`:`hover:bg-interactive-hover`),children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e.label})},`${e.source}-${e.value}`))})]}),se&&!le&&(0,$.jsx)(`div`,{className:`px-2 py-1 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noMatchingBranches`)}),ae.otherLocal.length>0&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`div`,{className:`typography-small font-semibold text-foreground px-2`,children:i(se?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:ae.otherLocal.map(e=>(0,$.jsx)(`button`,{onClick:()=>{x(t=>({...t,selectedBranch:e,worktreeName:X_(e)})),me(e=>({...e,touched:!0})),L(!1)},className:Y(`w-full text-left px-3 py-2.5 rounded-md transition-colors`,b.selectedBranch===e?`bg-interactive-selection text-interactive-selection-foreground`:`hover:bg-interactive-hover`),children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},e))})]}),ae.otherRemote.length>0&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`div`,{className:`typography-small font-semibold text-foreground px-2`,children:i(se?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:ae.otherRemote.map(e=>(0,$.jsx)(`button`,{onClick:()=>{x(t=>({...t,selectedBranch:`remotes/${e}`,worktreeName:X_(e)})),me(e=>({...e,touched:!0})),L(!1)},className:Y(`w-full text-left px-3 py-2.5 rounded-md transition-colors`,b.selectedBranch===`remotes/${e}`?`bg-interactive-selection text-interactive-selection-foreground`:`hover:bg-interactive-hover`),children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`remotes/${e}`))})]})]})]})})]}):(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-start gap-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground block font-semibold`,children:i(`session.newWorktree.branchName`)}),g===`new-branch`&&ke&&(0,$.jsxs)(ca,{variant:`outline`,size:`sm`,onClick:()=>j(!0),className:`gap-1.5 h-7`,children:[(0,$.jsx)(X,{name:`github`,className:`size-4 text-status-success`}),v.linkedIssue||v.linkedPr?i(`session.newWorktree.actions.change`):i(`session.newWorktree.actions.startFromGitHubIssuePr`)]})]}),(0,$.jsx)(za,{value:v.branchName,onChange:e=>{y(t=>({...t,branchName:e.target.value,isSyncingWorktreeName:!0,linkedIssue:null,linkedPr:null}))},onBlur:()=>me(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.branchNamePlaceholder`),disabled:!!v.linkedPr,className:Y(`h-8`,pe.touched&&pe.branchError&&`border-destructive`,v.linkedPr&&`bg-muted text-muted-foreground`)}),v.linkedPr&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-muted-foreground`,children:[(0,$.jsx)(X,{name:`check`,className:`h-3.5 w-3.5 text-status-success`}),(0,$.jsx)(`span`,{className:`typography-micro`,children:i(`session.newWorktree.usingPrBranch`,{branch:v.linkedPr.head})})]}),v.linkedIssue&&!v.linkedPr&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-muted-foreground`,children:[(0,$.jsx)(X,{name:`check`,className:`h-3.5 w-3.5 text-status-success`}),(0,$.jsx)(`span`,{className:`typography-micro`,children:i(`session.newWorktree.fromIssue`,{number:v.linkedIssue.number,title:v.linkedIssue.title})})]})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground font-semibold`,children:i(`session.newWorktree.worktreeDirectory`)}),g!==`existing-branch`&&(0,$.jsxs)(`button`,{onClick:()=>{let e=X_(g===`new-branch`?v.branchName:``);y(t=>({...t,worktreeName:e,isSyncingWorktreeName:!0}))},disabled:!v.branchName||v.worktreeName===X_(v.branchName),className:Y(`flex items-center gap-1 typography-micro transition-colors px-1.5 py-0.5 rounded`,v.worktreeName===X_(v.branchName)||!v.branchName?`text-muted-foreground/40 cursor-not-allowed`:`text-muted-foreground hover:text-foreground hover:bg-muted`),title:i(`session.newWorktree.resetToMatchBranchName`),children:[(0,$.jsx)(X,{name:`refresh`,className:`h-3 w-3`}),(0,$.jsx)(`span`,{children:i(`session.newWorktree.actions.reset`)})]})]}),(0,$.jsx)(za,{value:Ce.worktreeName,onChange:e=>{g===`new-branch`?y(t=>({...t,worktreeName:e.target.value,isSyncingWorktreeName:!1})):x(t=>({...t,worktreeName:e.target.value}))},onBlur:()=>me(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.worktreeDirectoryPlaceholder`),className:Y(`h-8`,pe.touched&&pe.worktreeError&&`border-destructive`)})]}),g===`new-branch`&&!v.linkedPr&&(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground block font-semibold`,children:i(`session.newWorktree.sourceBranch`)}),(0,$.jsxs)(ca,{variant:`outline`,size:`sm`,onClick:()=>z(!0),className:`w-full justify-between h-9`,children:[(0,$.jsx)(`span`,{className:v.sourceBranch?`text-foreground`:`text-muted-foreground`,children:v.sourceBranch||i(`session.newWorktree.selectSourceBranchPlaceholder`)}),(0,$.jsx)(X,{name:`git-branch`,className:`h-4 w-4 text-muted-foreground`})]}),v.sourceBranch&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:i(`session.newWorktree.newBranchFromSource`,{source:v.sourceBranch})}),(0,$.jsx)(am,{open:R,title:i(`session.newWorktree.selectSourceBranch`),onClose:()=>z(!1),children:(0,$.jsxs)(`div`,{className:`space-y-4`,ref:K,children:[(0,$.jsx)(za,{value:H,onChange:e=>U(e.target.value),placeholder:i(`session.newWorktree.searchBranches`),className:`h-8`}),C?(0,$.jsx)(`div`,{className:`px-2 py-8 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.loadingBranches`)}):T.length===0&&E.length===0?(0,$.jsx)(`div`,{className:`px-2 py-8 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noBranchesFound`)}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[ce&&ue&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`div`,{className:`typography-small font-semibold text-foreground px-2`,children:i(`session.newWorktree.matchingBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:oe.matching.map(e=>(0,$.jsx)(`button`,{onClick:()=>{y(t=>({...t,sourceBranch:e.value})),z(!1)},className:Y(`w-full text-left px-3 py-2.5 rounded-md transition-colors`,v.sourceBranch===e.value?`bg-interactive-selection text-interactive-selection-foreground`:`hover:bg-interactive-hover`),children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e.label})},`${e.source}-${e.value}`))})]}),ce&&!ue&&(0,$.jsx)(`div`,{className:`px-2 py-1 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noMatchingBranches`)}),oe.otherLocal.length>0&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`div`,{className:`typography-small font-semibold text-foreground px-2`,children:i(ce?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:oe.otherLocal.map(e=>(0,$.jsx)(`button`,{onClick:()=>{y(t=>({...t,sourceBranch:e})),z(!1)},className:Y(`w-full text-left px-3 py-2.5 rounded-md transition-colors`,v.sourceBranch===e?`bg-interactive-selection text-interactive-selection-foreground`:`hover:bg-interactive-hover`),children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},e))})]}),oe.otherRemote.length>0&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`div`,{className:`typography-small font-semibold text-foreground px-2`,children:i(ce?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:oe.otherRemote.map(e=>(0,$.jsx)(`button`,{onClick:()=>{y(t=>({...t,sourceBranch:`remotes/${e}`})),z(!1)},className:Y(`w-full text-left px-3 py-2.5 rounded-md transition-colors`,v.sourceBranch===`remotes/${e}`?`bg-interactive-selection text-interactive-selection-foreground`:`hover:bg-interactive-hover`),children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`remotes/${e}`))})]})]})]})})]}),(v.linkedIssue||v.linkedPr)&&g===`new-branch`&&(0,$.jsxs)(`div`,{className:`mt-2 px-2 py-1.5 rounded bg-muted/30`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`github`,className:`h-3.5 w-3.5 text-status-success shrink-0`}),v.linkedIssue&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground shrink-0`,children:i(`session.newWorktree.issueNumber`,{number:v.linkedIssue.number})}),v.linkedPr&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground shrink-0`,children:i(`session.newWorktree.prNumber`,{number:v.linkedPr.number})}),(0,$.jsx)(`span`,{className:`typography-micro text-foreground truncate flex-1`,children:v.linkedIssue?.title||v.linkedPr?.title}),(0,$.jsx)(`a`,{href:v.linkedIssue?.url||v.linkedPr?.url,target:`_blank`,rel:`noopener noreferrer`,className:`text-muted-foreground hover:text-foreground shrink-0`,onClick:e=>e.stopPropagation(),children:(0,$.jsx)(X,{name:`external-link`,className:`h-3 w-3`})}),(0,$.jsx)(`button`,{onClick:je,className:`text-muted-foreground hover:text-foreground shrink-0 p-0.5 rounded hover:bg-muted transition-colors`,children:(0,$.jsx)(X,{name:`close`,className:`h-3.5 w-3.5`})})]}),v.linkedPr&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-0.5 pl-5`,children:[(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground`,children:[v.linkedPr.head,` → `,v.linkedPr.base]}),v.includePrDiff&&(0,$.jsx)(`span`,{className:`typography-micro px-1 py-0.5 rounded bg-status-success/10 text-status-success`,children:i(`session.newWorktree.includeDiffBadge`)})]})]})]})]}),(0,$.jsx)(`div`,{className:`shrink-0 border-t border-border/50 px-4 pb-3 pt-2`,children:Me})]})}):(0,$.jsx)(aa,{open:e,onOpenChange:t,children:(0,$.jsxs)(ta,{className:`max-w-lg max-h-[80vh] flex flex-col`,children:[(0,$.jsx)(Qi,{className:`flex flex-row items-center justify-between`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(na,{className:`flex items-center gap-2 shrink-0`,children:[(0,$.jsx)(X,{name:`git-branch`,className:`h-5 w-5`}),i(`session.newWorktree.title`)]}),(0,$.jsx)(`div`,{className:`w-[280px] shrink-0`,children:(0,$.jsx)(qc,{items:[{id:`new-branch`,label:i(`session.newWorktree.mode.newBranch`),icon:(0,$.jsx)(X,{name:`git-branch`,className:`h-3.5 w-3.5`})},{id:`existing-branch`,label:i(`session.newWorktree.mode.existingBranch`),icon:(0,$.jsx)(X,{name:`git-repository`,className:`h-3.5 w-3.5`})}],activeId:g,onSelect:e=>De(e),variant:`active-pill`,layoutMode:`fit`,className:`w-full`})})]})}),(0,$.jsxs)(`div`,{className:`flex-1 overflow-y-auto mt-2 space-y-6`,children:[g===`existing-branch`?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground block font-semibold`,children:i(`session.newWorktree.selectBranch`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(Za,{open:M,onOpenChange:N,children:[(0,$.jsx)(lo,{asChild:!0,children:(0,$.jsxs)(ca,{variant:`outline`,size:`sm`,className:`h-9 min-w-[220px] max-w-full justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:Y(`truncate`,b.selectedBranch?`text-foreground`:`text-muted-foreground`),children:b.selectedBranch||i(`session.newWorktree.chooseBranch`)}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-4 w-4 shrink-0 text-muted-foreground`})]})}),(0,$.jsx)(co,{align:`start`,sideOffset:6,portalToBody:!0,className:`w-[min(42rem,calc(100vw-2rem))] p-0 max-h-[min(var(--available-height),24rem)] flex flex-col overflow-hidden`,ref:W,children:(0,$.jsxs)(h_,{shouldFilter:!1,children:[(0,$.jsx)(g_,{placeholder:i(`session.newWorktree.searchBranches`),value:B,onValueChange:V,onKeyDown:q}),(0,$.jsx)(__,{disableHorizontal:!0,children:C?(0,$.jsx)(`div`,{className:`px-2 py-4 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.loadingBranches`)}):T.length===0&&E.length===0?(0,$.jsx)(v_,{children:i(`session.newWorktree.noBranchesFound`)}):(0,$.jsxs)($.Fragment,{children:[se&&le&&(0,$.jsx)(y_,{heading:i(`session.newWorktree.matchingBranches`),children:ae.matching.map(e=>(0,$.jsx)(x_,{value:e.value,onSelect:()=>{x(t=>({...t,selectedBranch:e.value,worktreeName:X_(e.label)})),me(e=>({...e,touched:!0})),N(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e.label})},`${e.source}-${e.value}`))}),se&&!le&&(0,$.jsx)(`div`,{className:`px-2 py-1 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noMatchingBranches`)}),ae.otherLocal.length>0&&(0,$.jsxs)($.Fragment,{children:[se&&(0,$.jsx)(b_,{}),(0,$.jsx)(y_,{heading:i(se?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`),children:ae.otherLocal.map(e=>(0,$.jsx)(x_,{value:e,onSelect:()=>{x(t=>({...t,selectedBranch:e,worktreeName:X_(e)})),me(e=>({...e,touched:!0})),N(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`local-${e}`))})]}),ae.otherRemote.length>0&&(0,$.jsxs)($.Fragment,{children:[(ae.otherLocal.length>0||se)&&(0,$.jsx)(b_,{}),(0,$.jsx)(y_,{heading:i(se?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`),children:ae.otherRemote.map(e=>(0,$.jsx)(x_,{value:`remotes/${e}`,onSelect:()=>{x(t=>({...t,selectedBranch:`remotes/${e}`,worktreeName:X_(e)})),me(e=>({...e,touched:!0})),N(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`remote-${e}`))})]})]})})]})})]}),(0,$.jsx)(ca,{variant:`ghost`,size:`sm`,className:`h-8 w-8 px-0 shrink-0`,onClick:fe,disabled:!de||C,title:i(`session.newWorktree.fetchBranches`),children:C?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`refresh`,className:`size-4`})})]})]}):(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground block font-semibold`,children:i(`session.newWorktree.branchName`)}),g===`new-branch`&&ke&&(0,$.jsxs)(ca,{variant:`outline`,size:`sm`,onClick:()=>j(!0),className:`gap-1.5 h-7`,children:[(0,$.jsx)(X,{name:`github`,className:`size-4 text-status-success`}),v.linkedIssue||v.linkedPr?i(`session.newWorktree.actions.change`):i(`session.newWorktree.actions.startFromGitHubIssuePr`)]})]}),(0,$.jsx)(za,{value:v.branchName,onChange:e=>{y(t=>({...t,branchName:e.target.value,isSyncingWorktreeName:!0,linkedIssue:null,linkedPr:null}))},onBlur:()=>me(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.branchNamePlaceholder`),disabled:!!v.linkedPr,className:Y(`h-8`,pe.touched&&pe.branchError&&`border-destructive`,v.linkedPr&&`bg-muted text-muted-foreground`)}),v.linkedPr&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-muted-foreground`,children:[(0,$.jsx)(X,{name:`check`,className:`h-3.5 w-3.5 text-status-success`}),(0,$.jsx)(`span`,{className:`typography-micro`,children:i(`session.newWorktree.usingPrBranch`,{branch:v.linkedPr.head})})]}),v.linkedIssue&&!v.linkedPr&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-muted-foreground`,children:[(0,$.jsx)(X,{name:`check`,className:`h-3.5 w-3.5 text-status-success`}),(0,$.jsx)(`span`,{className:`typography-micro`,children:i(`session.newWorktree.fromIssue`,{number:v.linkedIssue.number,title:v.linkedIssue.title})})]})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground font-semibold`,children:i(`session.newWorktree.worktreeDirectory`)}),g!==`existing-branch`&&(0,$.jsxs)(`button`,{onClick:()=>{let e=X_(g===`new-branch`?v.branchName:``);y(t=>({...t,worktreeName:e,isSyncingWorktreeName:!0}))},disabled:!v.branchName||v.worktreeName===X_(v.branchName),className:Y(`flex items-center gap-1 typography-micro transition-colors px-1.5 py-0.5 rounded`,v.worktreeName===X_(v.branchName)||!v.branchName?`text-muted-foreground/40 cursor-not-allowed`:`text-muted-foreground hover:text-foreground hover:bg-muted`),title:i(`session.newWorktree.resetToMatchBranchName`),children:[(0,$.jsx)(X,{name:`refresh`,className:`h-3 w-3`}),(0,$.jsx)(`span`,{children:i(`session.newWorktree.actions.reset`)})]})]}),(0,$.jsx)(za,{value:Ce.worktreeName,onChange:e=>{g===`new-branch`?y(t=>({...t,worktreeName:e.target.value,isSyncingWorktreeName:!1})):x(t=>({...t,worktreeName:e.target.value}))},onBlur:()=>me(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.worktreeDirectoryPlaceholder`),className:Y(`h-8`,pe.touched&&pe.worktreeError&&`border-destructive`)})]}),g===`new-branch`&&!v.linkedPr&&(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground block font-semibold`,children:i(`session.newWorktree.sourceBranch`)}),(0,$.jsxs)(Za,{open:P,onOpenChange:F,children:[(0,$.jsx)(lo,{asChild:!0,children:(0,$.jsxs)(ca,{variant:`outline`,size:`sm`,className:`h-9 min-w-[220px] max-w-full justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:Y(`truncate`,v.sourceBranch?`text-foreground`:`text-muted-foreground`),children:v.sourceBranch||i(`session.newWorktree.selectSourceBranchPlaceholder`)}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-4 w-4 shrink-0 text-muted-foreground`})]})}),(0,$.jsx)(co,{align:`start`,portalToBody:!0,className:`w-[min(42rem,calc(100vw-2rem))] p-0 max-h-[min(var(--available-height),24rem)] flex flex-col overflow-hidden`,ref:ee,children:(0,$.jsxs)(h_,{shouldFilter:!1,children:[(0,$.jsx)(g_,{placeholder:i(`session.newWorktree.searchBranches`),value:H,onValueChange:U,onKeyDown:q}),(0,$.jsx)(__,{disableHorizontal:!0,children:C?(0,$.jsx)(`div`,{className:`px-2 py-4 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.loadingBranches`)}):T.length===0&&E.length===0?(0,$.jsx)(v_,{children:i(`session.newWorktree.noBranchesFound`)}):(0,$.jsxs)($.Fragment,{children:[ce&&ue&&(0,$.jsx)(y_,{heading:i(`session.newWorktree.matchingBranches`),children:oe.matching.map(e=>(0,$.jsx)(x_,{value:e.value,onSelect:()=>{y(t=>({...t,sourceBranch:e.value})),F(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e.label})},`${e.source}-${e.value}`))}),ce&&!ue&&(0,$.jsx)(`div`,{className:`px-2 py-1 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noMatchingBranches`)}),oe.otherLocal.length>0&&(0,$.jsxs)($.Fragment,{children:[ce&&(0,$.jsx)(b_,{}),(0,$.jsx)(y_,{heading:i(ce?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`),children:oe.otherLocal.map(e=>(0,$.jsx)(x_,{value:e,onSelect:()=>{y(t=>({...t,sourceBranch:e})),F(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`local-${e}`))})]}),oe.otherRemote.length>0&&(0,$.jsxs)($.Fragment,{children:[(oe.otherLocal.length>0||ce)&&(0,$.jsx)(b_,{}),(0,$.jsx)(y_,{heading:i(ce?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`),children:oe.otherRemote.map(e=>(0,$.jsx)(x_,{value:`remotes/${e}`,onSelect:()=>{y(t=>({...t,sourceBranch:`remotes/${e}`})),F(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`remote-${e}`))})]})]})})]})})]}),v.sourceBranch&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:i(`session.newWorktree.newBranchFromSource`,{source:v.sourceBranch})})]}),(v.linkedIssue||v.linkedPr)&&g===`new-branch`&&(0,$.jsxs)(`div`,{className:`mt-2 px-2 py-1.5 rounded bg-muted/30`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`github`,className:`h-3.5 w-3.5 text-status-success shrink-0`}),v.linkedIssue&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground shrink-0`,children:i(`session.newWorktree.issueNumber`,{number:v.linkedIssue.number})}),v.linkedPr&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground shrink-0`,children:i(`session.newWorktree.prNumber`,{number:v.linkedPr.number})}),(0,$.jsx)(`span`,{className:`typography-micro text-foreground truncate flex-1`,children:v.linkedIssue?.title||v.linkedPr?.title}),(0,$.jsx)(`a`,{href:v.linkedIssue?.url||v.linkedPr?.url,target:`_blank`,rel:`noopener noreferrer`,className:`text-muted-foreground hover:text-foreground shrink-0`,onClick:e=>e.stopPropagation(),children:(0,$.jsx)(X,{name:`external-link`,className:`h-3 w-3`})}),(0,$.jsx)(`button`,{onClick:je,className:`text-muted-foreground hover:text-foreground shrink-0 p-0.5 rounded hover:bg-muted transition-colors`,children:(0,$.jsx)(X,{name:`close`,className:`h-3.5 w-3.5`})})]}),v.linkedPr&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-0.5 pl-5`,children:[(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground`,children:[v.linkedPr.head,` → `,v.linkedPr.base]}),v.includePrDiff&&(0,$.jsx)(`span`,{className:`typography-micro px-1 py-0.5 rounded bg-status-success/10 text-status-success`,children:i(`session.newWorktree.includeDiffBadge`)})]})]})]}),(0,$.jsxs)($i,{className:`mt-1 flex items-center justify-between`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1.5 text-destructive`,children:pe.touched&&(pe.branchError||pe.worktreeError)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`error-warning`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`typography-micro`,children:pe.branchError||pe.worktreeError})]})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ca,{variant:`outline`,size:`sm`,onClick:()=>t(!1),disabled:he,children:i(`session.newWorktree.actions.cancel`)}),(0,$.jsxs)(ca,{size:`sm`,onClick:Ee,disabled:!Ae||he,className:`gap-1.5`,children:[he&&(0,$.jsx)(X,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}),i(he?`session.newWorktree.actions.creating`:`session.newWorktree.actions.createWorktree`)]})]})]})]})}),(0,$.jsx)(q_,{open:A,onOpenChange:j,onSelect:Oe})]})}function nv(e){let t=e.selectedDirectory??e.projectRootOption?.value??e.worktreeOptions[0]?.value??null;return t?e.projectRootOption?.value===t?e.projectRootOption.label?.trim()||null:e.worktreeOptions.find(e=>e.value===t)?.label?.trim()||null:null}function rv(e,t){if(!e||!t)return!1;let n=t.replace(/\\/g,`/`).replace(/\/+$/,``);if(!n)return!1;let r=n===`/`?`/`:n.split(`/`).pop()||``;return!!r&&e===r}var iv=(e,t)=>e??t??null,av=(e,t)=>!!e&&t!==!1,ov=e=>e?.length?{localBranches:e.filter(e=>!e.startsWith(`remotes/`)).sort(),remoteBranches:e.filter(e=>e.startsWith(`remotes/`)).map(e=>e.replace(/^remotes\//,``)).sort()}:{localBranches:[],remoteBranches:[]},sv=e=>e.replace(/^remotes\//,``).trim(),cv=e=>{let t=sv(e),n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t},lv=({directory:e,projectDirectory:t,label:n,projectRootOption:r,worktreeOptions:i,onSelectDirectory:a,className:o,maxWidthClassName:s=`max-w-[48vw] sm:max-w-[20rem]`,presentation:c=`dropdown`})=>{let{t:l}=ot(),{git:d}=Do(),f=iv(t,e),p=e,m=ls(f),h=ls(p),g=av(f,m),_=p!==f&&av(p,h),v=Mo(f,d,g),y=Mo(p,d,_),b=v.data,x=p===f?b:y.data,S=qo(e=>e.fetchStatus),C=qo(e=>p&&e.directories.get(p)?.status?.current?.trim()||null),[w,T]=Z.useState(!1),E=cs(f,d,g&&w).data??[],[D,O]=Z.useState(null),[k,A]=Z.useState(!1),[j,M]=Z.useState(!1),N=xn(e=>e.projects),P=xn(e=>e.activeProjectId);Z.useEffect(()=>{d&&(f&&m===null&&S(f,d,{silent:!0}),p&&p!==f&&h===null&&S(p,d,{silent:!0}))},[S,d,m,h,f,p]);let F=Z.useMemo(()=>{let e=u(t);if(e){let t=N.find(t=>u(t.path)===e);if(t)return t.id}return P},[P,t,N]),{localBranches:I,remoteBranches:L}=Z.useMemo(()=>ov(b?.all),[b]),R=x?.current?.trim()||C||null,z=!rv(n,e)&&n||R||n||l(`chat.chatInput.branch`),B=J(async()=>{if(!d)return;let e=new Set;f&&e.add(f),p&&e.add(p),await Promise.all([...e].map(async e=>{await Uo(e,d),await S(e,d,{silent:!0})}))}),V=J(e=>{let t=sv(e),n=cv(t);return i.find(e=>{let r=e.label.trim();return r===t||r===n})??null}),H=J(async e=>{if(!p||!d)return;let t=sv(e);if(R!==t&&R!==cv(t))try{await d.checkoutBranch(p,t),Tt.success(l(`gitView.toast.checkedOut`,{name:t})),await B()}catch(e){let n=e instanceof Error?e.message:l(`gitView.toast.checkoutFailed`,{name:t});Tt.error(n)}}),U=J(e=>{let t=sv(e);if(!t||R===t||R===cv(t))return;let n=V(t);if(n){a(n.value);return}O(t)}),W=J(async()=>{if(!(!D||k)){A(!0);try{await H(D),O(null)}finally{A(!1)}}}),ee=J(async()=>{if(!(!D||k)){A(!0);try{await s_({branch:D,projectDirectory:t??void 0})&&O(null)}finally{A(!1)}}}),G=J(async(e,t)=>{if(!p||!d)return;let n=t?.name??`origin`;try{await d.createBranch(p,e,R??`HEAD`),Tt.success(l(`gitView.toast.createdBranch`,{name:e})),O(e),d.gitPush(p,{remote:n,branch:e,options:[`--set-upstream`]}).then(async()=>{await B(),Tt.success(l(`gitView.toast.upstreamSet`,{branch:e,remote:n}))}).catch(async e=>{let t=e instanceof Error?e.message:l(`gitView.toast.branchCreatedLocally`);Tt.warning(l(`gitView.toast.branchCreatedLocally`),{description:(0,$.jsx)(`span`,{className:`text-foreground/80 dark:text-foreground/70`,children:t})}),await B()})}catch(e){let t=e instanceof Error?e.message:l(`gitView.toast.createBranchFailed`);throw Tt.error(t),e}}),K=J(()=>{let e=xn.getState(),n=u(t),r=n?e.projects.find(e=>u(e.path)===n)??null:null;r&&e.activeProjectId!==r.id&&e.setActiveProjectIdOnly(r.id),M(!0)}),q=J((e,n)=>{if(M(!1),n?.sessionId){Zr.getState().setCurrentSession(n.sessionId,e);return}let r=xn.getState(),i=u(t),a=(i?r.projects.find(e=>u(e.path)===i)??null:null)?.id??r.activeProjectId??null,o=Zr.getState();if(o.newSessionDraft?.open){o.overrideNewSessionDraftTarget({...a?{selectedProjectId:a}:{},directoryOverride:e,bootstrapPendingDirectory:e,preserveDirectoryOverride:!0}),we.getState().setDirectory(e,{showOverlay:!1});return}o.openNewSessionDraft({...a?{selectedProjectId:a}:{},directoryOverride:e,preserveDirectoryOverride:!0})}),te=(0,$.jsxs)(`button`,{type:`button`,className:Y(`group relative inline-flex min-w-0 w-fit items-center gap-1.5 rounded-lg !border-0 px-1.5 font-medium text-foreground/80`,c===`mobile-sheet`?`h-[26px] text-[11px] leading-none`:`h-6 py-1 pr-1.5 typography-micro transition-[padding] hover:pr-5 focus-visible:pr-5 data-[popup-open]:pr-5`,s,pm,o),"aria-label":z,children:[(0,$.jsx)(X,{name:`git-branch`,className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:z}),c===`dropdown`?(0,$.jsx)(X,{name:`arrow-down-s`,className:`pointer-events-none absolute right-1 size-3.5 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100 group-data-[popup-open]:opacity-100`,"aria-hidden":`true`}):null]});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(W_,{currentBranch:R,localBranches:I,remoteBranches:L,branchInfo:b?.branches,onCheckout:U,onCreate:G,remotes:E,trigger:te,triggerLabel:z,hideTooltip:!0,projectRootOption:r,worktreeOptions:i,selectedDirectory:e,onSelectDirectory:a,onCreateWorktree:K,open:w,presentation:c,onOpenChange:T}),j?(0,$.jsx)(tv,{open:!0,projectId:F,onOpenChange:M,onWorktreeCreated:q}):null,(0,$.jsx)(aa,{open:!!D,onOpenChange:e=>{!e&&!k&&O(null)},children:(0,$.jsxs)(ta,{showCloseButton:!1,className:`max-w-sm gap-4`,children:[(0,$.jsxs)(Qi,{children:[(0,$.jsx)(na,{children:l(`chat.chatInput.branchSwitch.title`,{branch:D??``})}),(0,$.jsx)(ra,{children:l(`chat.chatInput.branchSwitch.description`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsxs)(`button`,{type:`button`,disabled:k,onClick:()=>{W()},className:`flex w-full flex-col items-start gap-0.5 rounded-lg border border-border px-3 py-2.5 text-left hover:bg-interactive-hover disabled:opacity-50`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 typography-ui-label font-medium text-foreground`,children:[k?(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{name:`arrow-left-right`,className:`size-3.5 text-muted-foreground`}),l(`chat.chatInput.branchSwitch.checkoutHere`)]}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:l(`chat.chatInput.branchSwitch.checkoutHereDescription`)})]}),(0,$.jsxs)(`button`,{type:`button`,disabled:k,onClick:()=>{ee()},className:`flex w-full flex-col items-start gap-0.5 rounded-lg border border-border px-3 py-2.5 text-left hover:bg-interactive-hover disabled:opacity-50`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 typography-ui-label font-medium text-foreground`,children:[k?(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{name:`git-branch`,className:`size-3.5 text-muted-foreground`}),l(`chat.chatInput.branchSwitch.createWorktree`)]}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:l(`chat.chatInput.branchSwitch.createWorktreeDescription`)})]})]}),(0,$.jsx)($i,{children:(0,$.jsx)(`button`,{type:`button`,disabled:k,onClick:()=>O(null),className:`inline-flex h-8 items-center justify-center rounded-md border border-border px-3 typography-ui-label text-foreground hover:bg-interactive-hover/50 disabled:opacity-50`,children:l(`chat.chatInput.branchSwitch.cancel`)})})]})})]})},uv=[],dv=[],fv={revertMessageID:void 0,records:dv},pv=e=>e.role===`user`,mv=(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||e[n]?.parts!==t[n]?.parts)return!1;return!0},hv=(e,t,n=fv)=>{if(!t)return fv;let r=(`session`in e?e.session:[]).find(e=>e.id===t)?.revert?.messageID;if(!r)return fv;let i=`messages`in e?e.messages:e.message[t]??[],a=`partsByMessageID`in e?e.partsByMessageID:e.part,o=[];for(let e of i)!pv(e)||!qt(i,e.id,r)||o.push({message:e,parts:a[e.id]??uv});let s=o.length===0?dv:o;return n.revertMessageID===r&&mv(n.records,s)?n:{revertMessageID:r,records:s}},gv={mentionFile:100,mentionAgent:100,mentionSession:100,mentionCommand:100,mentionSnippet:100,mentionPaste:100,code:90,codeFence:90,link:80,linkUrl:78,heading:70,blockquote:40,listMarker:35,marker:10},_v={mentionFile:`text-[var(--primary)]`,mentionAgent:`text-[var(--primary)]`,mentionSession:`text-[var(--primary)]`,mentionCommand:`text-[var(--primary)]`,mentionSnippet:`text-[var(--primary)]`,mentionPaste:`text-[var(--primary)]`,code:`rounded-[3px] bg-[var(--surface-subtle)] text-[var(--markdown-inline-code)]`,codeFence:`bg-[var(--surface-subtle)] text-[var(--markdown-inline-code)]`,link:`text-[var(--status-info)] underline`,linkUrl:`text-muted-foreground`,heading:`text-[var(--syntax-keyword)]`,blockquote:`text-muted-foreground`,listMarker:`text-[var(--syntax-keyword)]`,marker:`text-muted-foreground`},vv=`text-foreground`;function yv(e,t,n){let r=0,i=e.length;for(;r<i;){let i=e[r];if(i==="`"){let i=/^`+/.exec(e.slice(r))?.[0]??``,a=e.indexOf(i,r+i.length);if(a!==-1){let e=a+i.length;n.push({start:t+r,end:t+e,style:`code`}),r=e;continue}}if(i===`[`){let i=/^\[([^\]\n]*)\]\(([^)\n]*)\)/.exec(e.slice(r));if(i){let e=t+r,a=i[1].length,o=i[2].length,s=e+1,c=s+a,l=c+2,u=l+o,d=u+1;n.push({start:e,end:s,style:`marker`}),a>0&&n.push({start:s,end:c,style:`link`}),n.push({start:c,end:l,style:`marker`}),o>0&&n.push({start:l,end:u,style:`linkUrl`}),n.push({start:u,end:d,style:`marker`}),r+=i[0].length;continue}}r+=1}}var bv=/^(\s*)(`{3,}|~{3,})\s*(\S*)/;function xv(e){let t=bv.exec(e);return t?{marker:t[2],lang:t[3]||``}:null}function Sv(e,t){return RegExp(`^\\s*\\${t[0]}{${t.length},}\\s*$`).test(e)}function Cv(e){let t=[];if(!e)return t;let n=0,r=!1,i=``,a=e.split(`
6522
6522
  `);for(let e=0;e<a.length;e+=1){let o=a[e],s=n,c=s+o.length;if(n=c+1,r){t.push({start:s,end:c,style:`codeFence`}),Sv(o,i)&&(r=!1);continue}let l=xv(o);if(l){r=!0,i=l.marker,t.push({start:s,end:c,style:`codeFence`});continue}let u=/^(\s*)(#{1,6})(\s+)/.exec(o);if(u){let e=s+u[1].length,n=e+u[2].length;t.push({start:e,end:n,style:`marker`});let r=n+u[3].length;c>r&&(t.push({start:r,end:c,style:`heading`}),yv(o.slice(r-s),r,t));continue}let d=/^(\s*)(>+)(\s?)/.exec(o);if(d){let e=s+d[1].length,n=e+d[2].length;t.push({start:e,end:n,style:`marker`});let r=n+d[3].length;c>r&&(t.push({start:r,end:c,style:`blockquote`}),yv(o.slice(r-s),r,t));continue}let f=/^(\s*)([-*+]|\d{1,9}[.)])(\s+)/.exec(o);if(f){let e=s+f[1].length,n=e+f[2].length;t.push({start:e,end:n,style:`listMarker`});let r=n+f[3].length;yv(o.slice(r-s),r,t);continue}yv(o,s,t)}return t}function wv(e,t){if(!e||t.length===0)return null;let n=e.length,r=new Set([0,n]);for(let e of t)e.start>0&&e.start<n&&r.add(e.start),e.end>0&&e.end<n&&r.add(e.end);let i=[...r].sort((e,t)=>e-t),a=t.map((e,t)=>({range:e,index:t})).filter(e=>e.range.end>e.range.start).sort((e,t)=>e.range.start-t.range.start),o=[],s=[],c=0;for(let t=0;t<i.length-1;t+=1){let n=i[t],r=i[t+1];if(r<=n)continue;for(;c<a.length&&a[c].range.start<=n;)s.push(a[c]),c+=1;for(let e=s.length-1;e>=0;--e)s[e].range.end<=n&&s.splice(e,1);let l=null,u=-1,d=1/0;for(let{range:e,index:t}of s){let n=e.priority??gv[e.style];(n>u||n===u&&t<d)&&(u=n,d=t,l=e)}let f=l?l.className??_v[l.style]:vv,p=e.slice(n,r),m=l?.visual,h=l?.skillName,g=o[o.length-1];g&&g.className===f&&R(g.visual,m)&&g.skillName===h?g.text+=p:o.push({text:p,className:f,visual:m,skillName:h})}return o.length>0?o:null}function Tv(e,t){let n=new Set(Array.from(t,e=>e.toLowerCase())),r=[],i=/(^|\s)\/(\u2003)?([a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?)/gi,a;for(;(a=i.exec(e))!==null;){let e=a[2]??``,t=a[3]||``;if(!n.has(t.toLowerCase()))continue;let i=a.index+(a[1]?.length??0);r.push({start:i,end:i+1+e.length+t.length,name:t})}return r}function Ev(e,t,n){if(e===t){let t=n.find(t=>e>t.start&&e<t.end);return t?{start:t.start,end:t.end}:null}let r=n.filter(n=>n.start<t&&n.end>e);return r.length===0?null:{start:Math.min(e,...r.map(e=>e.start)),end:Math.max(t,...r.map(e=>e.end))}}function Dv(e,t,n){let r=Tv(e,t),i=Math.max(0,Math.min(n.selectionStart,e.length)),a=Math.max(i,Math.min(n.selectionEnd,e.length)),o=i,s=a;if(i===a)if(n.altKey)if(n.key===`Backspace`){for(;o>0&&/\s/.test(e[o-1]);)--o;for(;o>0&&!/\s/.test(e[o-1]);)--o}else{for(;s<e.length&&/\s/.test(e[s]);)s+=1;for(;s<e.length&&!/\s/.test(e[s]);)s+=1}else n.key===`Backspace`?o=Math.max(0,i-1):s=Math.min(e.length,i+1);if(o===s)return null;let c=r.filter(e=>e.start<s&&e.end>o);if(c.length===0)return null;let l=Math.min(o,...c.map(e=>e.start)),u=Math.max(s,...c.map(e=>e.end));return u<e.length&&/\s/.test(e[u])&&(l===0||/\s/.test(e[l-1]))?u+=1:u===e.length&&l>0&&/\s/.test(e[l-1])&&--l,{text:`${e.slice(0,l)}${e.slice(u)}`,caret:l,removedSkillNames:c.map(e=>e.name)}}function Ov(e){return e.map(e=>({start:e.start,end:e.end,style:e.kind===`file`?`mentionFile`:e.kind===`session`?`mentionSession`:`mentionAgent`,visual:e.kind===`session`&&e.label?re({trigger:`@`,icon:`chat-thread`,label:e.label},H({trigger:`@`,icon:`chat-thread`,label:e.label})):void 0}))}function kv(e){let t=(0,Q.c)(28),{visual:n,text:r}=e,i=n.trigger.length,a=i+n.label.length,o=a+(n.suffix?.length??0),s;t[0]!==a||t[1]!==i||t[2]!==r?(s=r.slice(i,Math.min(a,r.length)),t[0]=a,t[1]=i,t[2]=r,t[3]=s):s=t[3];let c=s,l;t[4]!==a||t[5]!==o||t[6]!==r?(l=r.slice(a,Math.min(o,r.length)),t[4]=a,t[5]=o,t[6]=r,t[7]=l):l=t[7];let u=l,d;t[8]!==o||t[9]!==r?(d=r.slice(Math.min(o,r.length)),t[8]=o,t[9]=r,t[10]=d):d=t[10];let f=d,p;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(p={left:z,right:z},t[11]=p):p=t[11];let m=n.icon,h;t[12]===m?h=t[13]:(h=(0,$.jsx)(`span`,{className:`pointer-events-none absolute inset-y-0 inline-flex items-center justify-center`,style:p,children:(0,$.jsx)(X,{name:m,className:`${N} shrink-0 text-[var(--primary)]`,"aria-hidden":`true`})}),t[12]=m,t[13]=h);let g;t[14]!==h||t[15]!==n.trigger?(g=(0,$.jsxs)(`span`,{className:`relative inline-block align-baseline text-transparent leading-none`,children:[n.trigger,h]}),t[14]=h,t[15]=n.trigger,t[16]=g):g=t[16];let _;t[17]===c?_=t[18]:(_=(0,$.jsx)(`span`,{children:c}),t[17]=c,t[18]=_);let v;t[19]===u?v=t[20]:(v=u?(0,$.jsx)(`span`,{className:`text-transparent`,children:u}):null,t[19]=u,t[20]=v);let y;t[21]===f?y=t[22]:(y=f?(0,$.jsx)(`span`,{className:`text-transparent`,children:f}):null,t[21]=f,t[22]=y);let b;return t[23]!==y||t[24]!==g||t[25]!==_||t[26]!==v?(b=(0,$.jsxs)($.Fragment,{children:[g,_,v,y]}),t[23]=y,t[24]=g,t[25]=_,t[26]=v,t[27]=b):b=t[27],b}var Av=`bg-[var(--surface-subtle)]`,jv=91,Mv=94,Nv={keyword:8,function:7,type:6,string:5,number:5,variable:4,operator:3,comment:2},Pv={keyword:`${Av} text-[var(--syntax-keyword)]`,string:`${Av} text-[var(--syntax-string)]`,number:`${Av} text-[var(--syntax-number)]`,comment:`${Av} text-[var(--syntax-comment)]`,function:`${Av} text-[var(--syntax-function)]`,type:`${Av} text-[var(--syntax-type)]`,variable:`${Av} text-[var(--syntax-variable)]`,operator:`${Av} text-[var(--syntax-operator)]`},Fv=Ye([{tag:[Ze.comment,Ze.lineComment,Ze.blockComment,Ze.docComment,Ze.meta],class:`comment`},{tag:[Ze.keyword,Ze.modifier,Ze.controlKeyword,Ze.operatorKeyword,Ze.definitionKeyword,Ze.moduleKeyword,Ze.self,Ze.null],class:`keyword`},{tag:[Ze.string,Ze.special(Ze.string),Ze.docString,Ze.character,Ze.regexp],class:`string`},{tag:[Ze.number,Ze.integer,Ze.float,Ze.bool,Ze.atom],class:`number`},{tag:[Ze.function(Ze.variableName),Ze.function(Ze.propertyName),Ze.macroName,Ze.standard(Ze.variableName)],class:`function`},{tag:[Ze.typeName,Ze.className,Ze.namespace,Ze.tagName],class:`type`},{tag:[Ze.variableName,Ze.propertyName,Ze.attributeName,Ze.labelName,Ze.definition(Ze.variableName)],class:`variable`},{tag:[Ze.operator,Ze.punctuation,Ze.bracket,Ze.derefOperator,Ze.separator],class:`operator`},{tag:[Ze.heading,Ze.heading1,Ze.heading2,Ze.heading3,Ze.heading4,Ze.heading5,Ze.heading6,Ze.strong],class:`keyword`},{tag:[Ze.emphasis,Ze.quote],class:`type`},{tag:[Ze.link,Ze.url],class:`function`},{tag:[Ze.monospace],class:`string`},{tag:[Ze.strikethrough],class:`comment`}]),Iv=e=>{let t=null;for(let n of e.split(` `)){let e=n;Nv[e]!==void 0&&(t===null||Nv[e]>Nv[t])&&(t=e)}return t?Pv[t]:null},Lv=2e4,Rv=e=>{if(!e)return null;try{let t=io(e);return t instanceof Qe?t:null}catch{return null}};function zv(e){if(!e||!e.includes("```")&&!e.includes(`~~~`))return[];let t=[],n=e.split(`
6523
6523
  `),r=0;for(let e=0;e<n.length;e+=1){let i=n[e];r+=i.length+1;let a=xv(i);if(!a)continue;let o=Rv(a.lang),s=r,c=[],l=e+1,u=r;for(;l<n.length;l+=1){let e=n[l];if(Sv(e,a.marker)){u+=e.length+1;break}c.push(e),u+=e.length+1}if(e=l,r=u,!o||c.length===0)continue;let d=c.join(`
6524
- `);if(d.trim()&&(t.push({start:s,end:s+d.length,style:`codeFence`,className:`${Av} text-[var(--syntax-foreground)]`,priority:jv}),!(d.length>Lv)))try{let e=o.parser.parse(d);Xe(e,Fv,(e,n,r)=>{let i=Iv(r);i&&t.push({start:s+e,end:s+n,style:`codeFence`,className:i,priority:Mv})})}catch{}}return t}var Bv=[`CodeFiles`,`codefiles`,`application/vnd.code.tree`,`application/vnd.code.tree.explorer`,`text/uri-list`,`text/plain`],Vv=e=>e.startsWith(`/`)||e.startsWith(`//`)||e.startsWith(`\\\\`)||/^[A-Za-z]:[\\/]/.test(e),Hv=e=>{if(!Vv(e)||/\s/.test(e))return!1;if(e.startsWith(`//`)||e.startsWith(`\\\\`)){let t=e.replace(/^[\\/]+/,``);return/[\\/]/.test(t)}if(/^[A-Za-z]:[\\/]/.test(e)){let t=e.slice(3);return t.includes(`\\`)||t.includes(`/`)||t.includes(`.`)}return e.replace(/^\/+/,``).includes(`/`)},Uv=(e,{fromPlainText:t=!1}={})=>{let n=e.trim().replace(/^['"]+|['"]+$/g,``);return!n||n===`/>`||/[\r\n]/.test(n)?null:n.toLowerCase().startsWith(`file://`)||(t?Hv(n):Vv(n))?n:null},Wv=(e,t,n=0)=>{if(!(n>6||e==null)){if(typeof e==`string`){t.add(e);return}if(Array.isArray(e)){for(let r of e)Wv(r,t,n+1);return}if(typeof e==`object`)for(let r of Object.values(e))Wv(r,t,n+1)}},Gv=(e,{allowMultipleLines:t=!0,allowStructuredPayload:n=!0,fromPlainText:r=!1}={})=>{let i=new Set,a=e=>{let n=Uv(e,{fromPlainText:r});if(n){i.add(n);return}if(t)for(let t of e.split(/\r?\n/)){let e=Uv(t,{fromPlainText:r});e&&i.add(e)}};if(a(e),n)try{let t=JSON.parse(e),n=new Set;Wv(t,n);for(let e of n)a(e)}catch{}return Array.from(i)},Kv=e=>{if(!e||typeof e.getData!=`function`)return[];let t=new Set;for(let n of Bv){let r=``;try{r=e.getData(n)}catch{continue}let i=n===`text/plain`?{allowMultipleLines:!1,allowStructuredPayload:!1,fromPlainText:!0}:n===`text/uri-list`?{allowStructuredPayload:!1}:void 0;for(let e of Gv(r,i))t.add(e)}return Array.from(t)},qv=e=>{let t=e.trim();if(!t.toLowerCase().startsWith(`file://`))return t;try{let e=new URL(t),n=decodeURIComponent(e.pathname||``);return e.hostname&&e.hostname!==`localhost`&&(n=`//${e.hostname}${n}`),/^\/[A-Za-z]:\//.test(n)&&(n=n.slice(1)),n||t}catch{let e=t.replace(/^file:\/\//i,``);try{return decodeURIComponent(e)}catch{return e}}},Jv=e=>Vv(e);function Yv(e,t){let n=(0,Q.c)(5),r=pt(e,t),i=s(Xv),a;n[0]===r?a=n[1]:(a=ln(r),n[0]=r,n[1]=a);let o;return n[2]!==i||n[3]!==a?(o={goal:a,enabled:i},n[2]=i,n[3]=a,n[4]=o):o=n[4],o}function Xv(e){return e.sessionGoalEnabled}function Zv(e,t){let n=(0,Q.c)(4),[r,i]=Z.useState(null),a=t?.objectiveFile?`${e}:${t.id}:${t.updatedAt}`:``,o,s;return n[0]!==a||n[1]!==e?(o=()=>{if(!a){i(null);return}let t=!0;return Mt(e).then(e=>{t&&i(e)}),()=>{t=!1}},s=[a,e],n[0]=a,n[1]=e,n[2]=o,n[3]=s):(o=n[2],s=n[3]),Z.useEffect(o,s),t?t.objectiveFile?r:t.objective:null}var Qv={active:`var(--status-info)`,paused:`var(--surface-muted-foreground)`,blocked:`var(--status-warning)`,budgetLimited:`var(--status-warning)`,complete:`var(--status-success)`},$v={active:`chat.goal.status.active`,paused:`chat.goal.status.paused`,blocked:`chat.goal.status.blocked`,budgetLimited:`chat.goal.status.budgetLimited`,complete:`chat.goal.status.complete`},ey=Z.memo(({sessionId:e,directory:t,className:n})=>{let{t:r}=ot(),i=s(e=>e.isMobile),{goal:a,enabled:o}=Yv(e??``,t),c=Zv(e??``,a),l=wr(e??``,t),u=On(e,t),d=Z.useRef(null),[f,p]=Z.useState(!1),[m,h]=Z.useState(()=>Date.now());Z.useEffect(()=>{if(!a||a.status===`complete`||a.status===`blocked`||a.status===`budgetLimited`)return;let e=window.setInterval(()=>h(Date.now()),1e3);return()=>window.clearInterval(e)},[a?.id,a?.status]),Z.useEffect(()=>{if(!e||!a||a.status!==`active`)return;let n=u[0]?.id;if(!n)return;let r=`${e}:${a.id}:${n}`;d.current!==r&&(d.current=r,Dt(e,t))},[e,t,a,u]);let g=J(async n=>{if(!(!e||f)){p(!0);try{await _n(e,t,n)}catch(e){console.warn(`[session-goal] status change failed:`,e),Tt.error(r(`chat.goal.toast.actionFailed`))}finally{p(!1)}}});if(!e||!o||!a)return null;let _=Math.max(0,(a.status===`complete`||a.status===`blocked`||a.status===`budgetLimited`?a.updatedAt:m)-(a.createdAt||m)),v=mt(_),y=a.tokenBudget?`${Hr(a.tokensUsed)}/${Hr(a.tokenBudget)}`:a.tokensUsed>0?Hr(a.tokensUsed):null,b=a.status===`active`?{icon:`pause`,labelKey:`chat.goal.action.pause`,next:`paused`}:a.status===`paused`||a.status===`blocked`||a.status===`budgetLimited`?{icon:`play`,labelKey:`chat.goal.action.resume`,next:`active`}:null,x=i?`text-[11px] leading-none text-muted-foreground`:`typography-meta text-muted-foreground`,S=i?`text-xs leading-5 text-foreground`:`typography-ui-label leading-5 text-foreground`,C=i?`size-3`:`size-3.5`;return(0,$.jsxs)(`div`,{className:Y(`flex w-full min-w-0 items-center`,i?`gap-1 py-0.5`:`gap-1.5 py-0.5 md:gap-2`,n),"aria-label":r(`chat.goal.row.aria`),title:c??void 0,children:[(0,$.jsx)(X,{name:`target`,className:Y(C,`flex-shrink-0`),style:{color:Qv[a.status]},"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`min-w-0 flex-1 truncate`,S),children:a.note||c||``}),a.status===`active`&&(!l||l.type===`idle`)?(0,$.jsxs)(`span`,{className:Y(`flex flex-shrink-0 items-center gap-1`,x),children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(C,`animate-spin`),"aria-hidden":`true`}),r(`chat.goal.status.evaluating`)]}):(0,$.jsx)(`span`,{className:Y(`flex-shrink-0`,x),children:r($v[a.status])}),(0,$.jsx)(`span`,{className:Y(`flex-shrink-0 tabular-nums`,x,`text-muted-foreground/70`),children:v}),y?(0,$.jsx)(`span`,{className:Y(`flex-shrink-0 tabular-nums`,x,`text-muted-foreground/70`),children:y}):null,b?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>void g(b.next),disabled:f,className:Y(`inline-flex flex-shrink-0 cursor-pointer items-center bg-transparent text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,i?`h-7 gap-1.5 px-0 text-[11px]`:`h-7 gap-1 px-0.5`),"aria-label":r(b.labelKey),children:[(0,$.jsx)(X,{name:b.icon,className:C,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`font-medium`,i?`leading-none`:`typography-ui-label`),children:r(b.labelKey)})]}):null]})});ey.displayName=`SessionGoalRow`;var ty=Z.memo(({sessionId:e,directory:t,draftOpen:n=!1})=>{let{t:r}=ot(),{goal:i,enabled:a}=Yv(e??``,t),o=Sn(e=>e.armed),s=Sn(e=>e.setArmed),[c,l]=Z.useState(!1);if(d()||!a||!e&&!n||!o&&!i)return null;let u=i?.status===`complete`?`text-[var(--status-success)]`:i?.status===`blocked`||i?.status===`budgetLimited`?`text-[var(--status-error)]`:o||i?.status===`active`||i?.status===`paused`?`text-[var(--status-info)]`:``,f=async()=>{if(o){s(!1);return}if(!(!e||c)){l(!0);try{await Fn(e,t)}catch(e){console.warn(`[session-goal] clear failed:`,e),Tt.error(r(`chat.goal.toast.actionFailed`))}finally{l(!1)}}};return(0,$.jsxs)(`span`,{className:Y(`inline-flex h-7 items-center gap-1 rounded-full bg-[var(--surface-muted)] py-1 pl-2 pr-1 typography-ui-label`,u),children:[(0,$.jsx)(X,{name:`target`,className:`h-4 w-4`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:r(`chat.goal.chip.label`)}),(0,$.jsx)(`button`,{type:`button`,className:`flex h-5 w-5 items-center justify-center rounded-full text-current hover:bg-[var(--interactive-hover)] disabled:opacity-50`,onClick:()=>void f(),disabled:c,"aria-label":r(o?`chat.goal.button.disarmAria`:`chat.goal.action.clear`),title:r(o?`chat.goal.button.disarmAria`:`chat.goal.action.clear`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`,"aria-hidden":`true`})})]})});ty.displayName=`SessionGoalButton`;var ny=Z.memo(e=>{let t=(0,Q.c)(11),{length:n}=e,{t:r}=ot();if(!Sn(ry)||n===0)return null;let i=n>5e3?`text-[var(--status-error)]`:`text-muted-foreground/70`,a;t[0]===i?a=t[1]:(a=Y(`flex-shrink-0 self-center typography-micro tabular-nums`,i),t[0]=i,t[1]=a);let o;t[2]===r?o=t[3]:(o=r(`chat.goal.counter.aria`),t[2]=r,t[3]=o);let s;t[4]===r?s=t[5]:(s=r(`chat.goal.counter.aria`),t[4]=r,t[5]=s);let c;return t[6]!==n||t[7]!==a||t[8]!==o||t[9]!==s?(c=(0,$.jsxs)(`span`,{className:a,"aria-label":o,title:s,children:[n,`/`,Kr]}),t[6]=n,t[7]=a,t[8]=o,t[9]=s,t[10]=c):c=t[10],c});ny.displayName=`SessionGoalObjectiveCounter`;function ry(e){return e.armed}var iy=new Set([`new`,`fork`,`compact`,`undo`,`redo`,`timeline`,`model`,`summary`,`workspace-review`,`handoff-review`,`plan-feature`,`goal`,`craft-goal`,`catch-up`,`debug`,`weigh`,`explore`]),ay=new Set([`new`,`compact`,`fork`,`undo`,`redo`]),oy=/^\/\u2003?([^\s]+)/i,sy=/^\/\u2003?goal\b/i,cy=(e,t)=>{if(t!==`normal`)return null;let n=e.trimStart().match(oy)?.[1]?.toLowerCase();return n&&iy.has(n)?n:null},ly=(e,t)=>cy(e,t)===`goal`?e.trimStart().replace(sy,``).trim():null,uy=(e,t)=>cy(e,t)!==null,dy=(e,t)=>{let n=cy(e,t);return n!==null&&ay.has(n)},fy=({currentSessionId:e,messageRef:t,replacePlainDocument:n})=>{let r=e;return t.current=``,n(``),r},py=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()}},my=e=>!e.queuedOnly&&!e.resourcePolicy&&e.rootAttachmentCount>0,hy=e=>e.surfaceKind===`primary`&&!!e.currentSessionId&&!e.queuedOnly&&!e.resourcePolicy&&e.inputMode!==`shell`&&!e.localCommand,gy=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},_y=e=>({state:`bound`,transportIdentity:e.transportIdentity,directory:e.directory,sessionID:e.sessionID,deliveryTarget:{kind:`primary`},runtimeGeneration:e.runtimeGeneration}),vy=(e,t)=>{let n=C.getState();return n.bindLegacyQueue(x(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},yy=async e=>{let t=gn.getState().takeEstablishingPending(e.draftID);if(t.length===0)return{drained:0,failed:0};let n=_y(e),r=0,i=0;for(let a of t)try{if(e.admitServer&&(await e.admitServer(a)).status===`committed`){r+=1;continue}vy(n,a)?r+=1:i+=1}catch{try{vy(n,a)?r+=1:i+=1}catch{i+=1}}return{drained:r,failed:i}},by=(e,t)=>Promise.resolve().then(()=>e()).catch(()=>{t()}),xy=e=>e===`allow`||e===`ask`||e===`deny`,Sy=e=>{if(xy(e))return[{permission:`*`,pattern:`*`,action:e}];if(Array.isArray(e))return e.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return typeof t.permission==`string`&&typeof t.pattern==`string`&&xy(t.action)?[{permission:t.permission,pattern:t.pattern,action:t.action}]:[]});if(!e||typeof e!=`object`)return[];let t=[];for(let[n,r]of Object.entries(e))if(n!==`__originalKeys`){if(xy(r)){t.push({permission:n,pattern:`*`,action:r});continue}if(!(!r||typeof r!=`object`||Array.isArray(r)))for(let[e,i]of Object.entries(r))xy(i)&&t.push({permission:n,pattern:e,action:i})}return t},Cy=e=>{let t=Sy(e);for(let e=t.length-1;e>=0;--e){let n=t[e];if(n.permission===`*`&&n.pattern===`*`)return n.action===`ask`;if(n.action===`ask`)return!0}return!0},wy=(e,t)=>{let n=t?.trim();if(!n)return e.length===0||e.some(e=>Cy(e.permission));let r=e.find(e=>e?.name===n);return!r||Cy(r.permission)},Ty=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)},Ey=null,Dy=new Set,Oy=()=>{for(let e of Dy)e()},ky=e=>e===`chat`||e===`assistant`,Ay=()=>Ey,jy=e=>{Ey!==e&&(Ey=e,Oy())},My=e=>{Ey&&(e&&Ey.surfaceID!==e||(Ey=null,Oy()))},Ny=(e,t)=>{if(e.transportIdentity!==t.transportIdentity||e.runtimeGeneration!==t.runtimeGeneration)throw Error(`chat-input-delivery-runtime-stale`)},Py=e=>{let t={...e.options?.delivery===`steer`?{delivery:`steer`}:{},...e.options?.commitStagedMessageEdit===void 0?{}:{commitStagedMessageEdit:e.options.commitStagedMessageEdit},...e.options?.messageID?{messageID:e.options.messageID}:{},...e.options?.ticket?{ticket:e.options.ticket}:{}},n=e.options?.sessionId??e.sessionID??void 0;if(!n)return t;let r=e.options?.directoryHint===void 0?e.directory||null:e.options.directoryHint;return{...t,sessionId:n,directoryHint:r}},Fy=(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}),Iy=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=Fy(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=Fy(e,`send`,i),o=Wm(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=Fy(e,`create`);return await e.selection.flush(),e.backend.create(t)},compact:async t=>{let n=Fy(e,`compact`,t);return await e.selection.flush(),e.backend.compact(n)},abort:async()=>{let t=Fy(e,`abort`);return await e.selection.flush(),e.backend.abort(t)},queueScope:Wm(e),canAbort:n,canQueue:t===`busy`||t===`retry`,allowsCommand:t=>Lm(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=Fy(e,`abort`);await e.selection.flush(),await e.backend.abort(t);return}if(t===`new`){let t=Fy(e,`create`);await e.selection.flush(),await e.backend.create(t);return}t!==`submit`&&await e.shortcuts?.cycle(n)},resources:e.resources??null}},Ly=(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)))},Ry=(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},zy=(e,t)=>e.agents.some(e=>e.name===t),By=(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},Vy=e=>{let{catalog:t,providerID:n,modelID:r,historyVariant:i,memoryVariant:a}=e;if(i)return By(t,n,r,i)?i:void 0;if(a&&By(t,n,r,a))return a},Hy=e=>{let{sessionId:t,choice:n,catalog:r,memory:i,fallbackAgentName:a,source:o}=e;if(!n.providerID||!n.modelID||!Ry(r,n.providerID,n.modelID))return null;let s=n.agent&&zy(r,n.agent)?n.agent:i?.getSessionAgentSelection?.(t)&&zy(r,i.getSessionAgentSelection(t))?i.getSessionAgentSelection(t):a&&zy(r,a)?a:void 0,c=s?i?.getAgentModelVariantForSession?.(t,s,n.providerID,n.modelID):void 0,l=Vy({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}},Uy=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=Hy({sessionId:t,choice:r,catalog:i,memory:a,fallbackAgentName:s,source:`execution`});if(e)return e}if(c&&n){let e=Hy({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&&zy(i,e)?e:s&&zy(i,s)?s:void 0;if(n){let e=a.getAgentModelForSession?.(t,n);if(e&&Ry(i,e.providerId,e.modelId)){let r=a.getAgentModelVariantForSession?.(t,n,e.providerId,e.modelId),o=r&&By(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&&Ry(i,r.providerId,r.modelId)){let e=n?a.getAgentModelVariantForSession?.(t,n,r.providerId,r.modelId):void 0,o=e&&By(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&&Ry(i,l.providerID,l.id)){let e=a?.getSessionAgentSelection?.(t)??null,n=(o?.agent&&zy(i,o.agent)?o.agent:void 0)??(e&&zy(i,e)?e:s&&zy(i,s)?s:void 0),r=l.variant,c=r&&By(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},Wy=(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))},Gy=(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}},Ky=e=>e.editRevision<=0?!1:e.pinnedHistoryMessageId==null||e.latestHistoryMessageId==null||e.latestHistoryMessageId===e.pinnedHistoryMessageId,qy=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}:{}}},Jy=e=>typeof e==`string`&&e.trim().length>0?e:void 0,Yy=e=>Jy(e.agent)??Jy(e.mode),Xy=e=>Jy(e.model?.variant)??Jy(e.variant),Zy=e=>{let t=Jy(e.model?.providerID),n=Jy(e.model?.modelID);return!t||!n?null:{providerID:t,modelID:n}},Qy=e=>{let t=Jy(e.providerID)??Jy(e.model?.providerID),n=Jy(e.modelID)??Jy(e.model?.modelID);return!t||!n?null:{providerID:t,modelID:n}},$y=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role!==`user`)continue;let r=Zy(n);return{id:typeof n.id==`string`?n.id:void 0,agent:Yy(n),providerID:r?.providerID,modelID:r?.modelID,variant:Xy(n)}}return null},eb=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role===`user`){if(Zy(n))return null;continue}if(n.role!==`assistant`)continue;let r=Qy(n);if(r)return{id:typeof n.id==`string`?n.id:void 0,agent:Yy(n),providerID:r.providerID,modelID:r.modelID,variant:Xy(n)}}return null},tb=500,nb=e=>Array.from(e).length,rb=e=>{let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return(t>>>0).toString(36)},ib=e=>nb(e)>=tb,ab=e=>{let t=v(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},ob=(e,t)=>{let n=t??e;return typeof n!=`string`||!ib(n)?!1:le(typeof e==`string`?{text:``,references:[]}:e,n)},sb=(e,t,n,r,i=1)=>{let a=nb(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}-${rb(e)}`,token:i,text:e,characterCount:a,index:n}}throw Error(`Unable to create a unique pasted text reference`)},cb=e=>({text:e.text,references:e.references.map(e=>({...e}))}),lb=e=>e.map(e=>({...e,range:{...e.range}})),ub=(e,t)=>e.text===t.text&&JSON.stringify(e.references)===JSON.stringify(t.references),db=(e,t,n)=>({document:cb(e),mentions:lb(t),selection:{...n}}),fb=()=>({undo:[],redo:[]}),pb=(e,t)=>({undo:[...e.undo,t].slice(-100),redo:[]}),mb=(e,t)=>{let n=e.undo.at(-1);return!n||!ub(n.after.document,t)?null:{history:{undo:e.undo.slice(0,-1),redo:[...e.redo,n]},snapshot:db(n.before.document,n.before.mentions,n.before.selection)}},hb=(e,t)=>{let n=e.redo.at(-1);return!n||!ub(n.before.document,t)?null:{history:{undo:[...e.undo,n],redo:e.redo.slice(0,-1)},snapshot:db(n.after.document,n.after.mentions,n.after.selection)}},gb=e=>({text:e?.text??``,references:e?.composerReferences??[]}),_b=e=>({text:e.text,references:e.references.map(e=>({...e}))}),vb=e=>({transportIdentity:e.transportIdentity,owner:{...e.owner}}),yb=e=>JSON.stringify([e.text,e.references]),bb=(e,t)=>e!==null&&t!==null&&ce(e)===t,xb=(e,t,n)=>{let r=e?vb(e):null,i=r?n(r):void 0;return{document:D(gb(i),t),mentions:i?.mentions??[],revision:i?.revision??0,key:r,keyID:r?ce(r):null}},Sb=(e,t,n,r)=>{if(!t||ce(t.key)!==r.keyID||t.revision<r.appliedRevision)return`ignore`;let i=yb(gb(t));return n?.keyID===r.keyID&&n.revision===t.revision&&n.fingerprint===i?`local-echo`:t.revision===r.appliedRevision?`ignore`:i===yb(e)?`same-document-metadata`:`external-document`},Cb=(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}]:[]})},wb=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),Tb=(e,t,n,r,i=r)=>{let a=g(e,n,r,i);return{document:a.document,mentions:Cb(t,a.document,a.edit),requiresTextCorrection:a.requiresTextCorrection,selectionStart:a.selectionStart,selectionEnd:a.selectionEnd,removedReferences:a.removedReferences}},Eb=(e,t,n)=>({preview:{real:_b(e),realMentions:[...t]},document:{text:n.text,references:[]},mentions:[]}),Db=e=>({document:e.real,mentions:e.realMentions}),Ob=(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)})},kb=(e,t)=>{let n=gb(t),r=E(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:Ob(e.mentions,t?.mentions??[],r,i)}},Ab=({draftKey:e,sessionTitles:t,persistenceEnabled:n,onResourcesChanged:r,store:i=on})=>{let a=e?ce(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)(()=>xb(e,t,i.getState().getDraft).document),[d,p]=(0,Z.useState)(()=>xb(e,t,i.getState().getDraft).mentions),[m,h]=(0,Z.useState)(`compose`),[_,b]=(0,Z.useState)(0),x=(0,Z.useRef)(l),S=(0,Z.useRef)(d),C=(0,Z.useRef)(t),w=(0,Z.useRef)(r),T=(0,Z.useRef)(e),E=(0,Z.useRef)(e?vb(e):null),k=(0,Z.useRef)(a),A=(0,Z.useRef)(a),M=(0,Z.useRef)(0),N=(0,Z.useRef)(o?.revision??0),P=(0,Z.useRef)(void 0),F=(0,Z.useRef)(void 0),I=(0,Z.useRef)(fb());x.current=l,S.current=d,C.current=t,w.current=r,T.current=e,k.current=a;let L=(0,Z.useCallback)((e,t)=>{x.current=e,S.current=t,u(e),p(t)},[]),R=(0,Z.useCallback)((e,t)=>{let n=j(e,t);w.current?.(n)},[]);(0,Z.useEffect)(()=>{i.getState().setDraftPersistenceEnabled(n)},[n,i]),(0,Z.useLayoutEffect)(()=>{M.current+=1;let e=M.current;A.current=a;let t=xb(T.current,C.current,i.getState().getDraft),n=t.key;if(E.current=t.key,P.current=void 0,F.current=void 0,I.current=fb(),h(`compose`),N.current=t.revision,L(t.document,t.mentions),b(e=>e+1),n?.owner.kind===`draft`){let r=t.revision;i.getState().claimLegacyNewDraft(n).then(t=>{let o=i.getState().getDraft(n);!t||!bb(E.current,a)||A.current!==a||k.current!==a||M.current!==e||N.current!==r||o?.revision!==t.revision||(N.current=t.revision,L(D(gb(t),C.current),t.mentions))})}},[a,L,i]),(0,Z.useEffect)(()=>{if(!a||A.current!==a||F.current)return;let e=Sb(x.current,o,P.current,{keyID:a,epoch:M.current,appliedRevision:N.current});if(e!==`ignore`){if(o&&(N.current=o.revision),e===`local-echo`||e===`same-document-metadata`){o&&p(o.mentions);return}e===`external-document`&&o&&(P.current=void 0,L(D(gb(o),C.current),o.mentions),h(`compose`),b(e=>e+1))}},[a,L,o]);let z=(0,Z.useCallback)((e,t)=>{let n=E.current;if(!bb(n,k.current)||F.current)return;let r=x.current,a=i.getState().setDraftComposerState(n,{document:e,mentions:wb(t)});if(!a)return;let o=gb(a);return P.current={keyID:ce(n),revision:a.revision,fingerprint:yb(o)},N.current=a.revision,L(o,a.mentions),R(r,o),a},[i,L,R]),B=(0,Z.useCallback)((e,t,n,r,i,a)=>{I.current=pb(I.current,{before:db(e,t,n),after:db(r,i,a)})},[]),V=(0,Z.useCallback)(()=>F.current?(F.current=void 0,h(`compose`),!0):!1,[]),H=(0,Z.useCallback)(e=>(V(),z({text:e,references:[]},[])),[z,V]),U=(0,Z.useCallback)((e,t=[])=>{V();let n=ae(e.text,e.references);return n?z(D(n,C.current),t):void 0},[z,V]),W=(0,Z.useCallback)((e,t,n=t,r)=>{let i=V(),a=_b(x.current),o=i?[]:S.current,s=Tb(a,o,e,t,n),c=r?r(s.mentions,s.document):s.mentions;return z(s.document,c),s.removedReferences.length>0&&B(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}},[z,V,B]),ee=(0,Z.useCallback)((e,t)=>{let n=x.current,r=Math.max(0,Math.min(e.start,n.text.length)),i=Math.max(r,Math.min(e.end,n.text.length)),a=V(),o=g(n,`${n.text.slice(0,r)}${e.text}${n.text.slice(i)}`,r+e.text.length),s=Cb(a?[]:S.current,o.document,o.edit);return z(o.document,t?t(s,o.document):s),{start:o.selectionStart,end:o.selectionEnd}},[z,V]),G=(0,Z.useCallback)((e,t)=>{let n=x.current;return ee({start:0,end:n.text.length,text:e},t)},[ee]),K=(0,Z.useCallback)((e,t,n,r)=>{let i=V(),a=f(x.current,e,t,n,r);return z(a.document,Cb(i?[]:S.current,a.document,a.edit)),{start:a.caret,end:a.caret,caret:a.caret,document:a.document}},[z,V]),q=(0,Z.useCallback)(e=>{let t=_b(x.current),n=y(t,e);if(!n)return null;let r=V()?[]:S.current,i=Cb(r,n.document,n.edit),a=O(n.document.text,n.caret),o=g(n.document,a.text,a.caret),s=Cb(i,o.document,o.edit);return z(o.document,s),B(t,r,{start:e.selectionStart,end:e.selectionEnd},o.document,s,{start:o.selectionStart,end:o.selectionEnd}),{start:o.selectionStart,end:o.selectionEnd}},[z,V,B]),te=(0,Z.useCallback)(e=>{if(F.current)return null;let t=e===`undo`?mb(I.current,x.current):hb(I.current,x.current);return!t||!z(t.snapshot.document,t.snapshot.mentions)?null:(I.current=t.history,t.snapshot.selection)},[z]),ne=(0,Z.useCallback)(e=>z(x.current,e),[z]),re=(0,Z.useCallback)(e=>{let t=F.current?{document:{text:e.text,references:[]},mentions:[]}:Eb(x.current,S.current,e);`preview`in t&&(F.current=t.preview),h(`history-preview`),L(t.document,t.mentions),b(e=>e+1)},[L]),ie=(0,Z.useCallback)(()=>{let e=F.current;if(!e)return;F.current=void 0,h(`compose`);let t=Db(e);L(t.document,t.mentions),b(e=>e+1)},[L]),oe=(0,Z.useCallback)(()=>{let e=E.current;if(!bb(e,k.current))return null;let t=i.getState().getDraft(e);return{key:vb(e),keyID:ce(e),revision:t?.revision??0,document:_b(x.current),mentions:S.current.map(e=>({...e,range:{...e.range}})),epoch:M.current,runtime:i.getState().captureDraftRuntime()}},[i]),se=(0,Z.useCallback)(e=>{let t=kb(e,i.getState().getDraft(e.key)),n=gb(i.getState().getDraft(e.key)),r=v(n.text,n.references).document,a=i.getState().setDraftComposerState(e.key,{...t,mentions:wb(t.mentions)});if(a){let e=gb(a);R(r,e)}return a},[R,i]),le=(0,Z.useCallback)(()=>x.current,[]);return(0,Z.useMemo)(()=>({document:l,mentions:d,confirmedFileMentions:d.filter(e=>e.kind===`file`||e.kind===`directory`),inputMode:m,hydration:s,persistence:c,textPresetEpoch:_,getDocument:le,replacePlainDocument:H,replaceMaterializedDocument:U,applyBrowserEdit:W,applyProgrammaticEdit:ee,replaceProgrammaticText:G,insertReference:K,deleteReference:q,restoreReferenceHistory:te,commitMentions:ne,enterHistoryPreview:re,exitHistoryPreview:ie,captureSubmission:oe,recoverSubmission:se}),[W,ee,oe,ne,q,l,re,ie,le,s,m,K,d,c,se,U,H,G,te,_])};function jb(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 Mb=`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`,Nb=Ls(()=>Ue(()=>import(`./ToolOutputDialog-ClZXQ2ee.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]))),Pb=[],Fb=[],Ib=[],Lb=[],Rb=/^@[^\s]+$/,zb=({inputMode:e,message:t,showCommandAutocomplete:n,showSkillAutocomplete:r})=>e!==`shell`&&(n||r||/(^|\s)\/[A-Za-z0-9_-]*/.test(t)),Bb=/^(https?:\/\/|mailto:)\S+$/i,Vb=560,Hb=(e,t)=>e.name===t?e:new File([e],t,{type:e.type,lastModified:e.lastModified}),Ub=(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)},Wb=e=>e.includes(`@`)?`paste`:`manual`,Gb=(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}},Kb=(e,t)=>pi(e,t).some(e=>e.role===`user`),qb=(e,t)=>{let n=e.filter(e=>e.type===`text`&&!tr(e)).map(e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``}).join(`
6524
+ `);if(d.trim()&&(t.push({start:s,end:s+d.length,style:`codeFence`,className:`${Av} text-[var(--syntax-foreground)]`,priority:jv}),!(d.length>Lv)))try{let e=o.parser.parse(d);Xe(e,Fv,(e,n,r)=>{let i=Iv(r);i&&t.push({start:s+e,end:s+n,style:`codeFence`,className:i,priority:Mv})})}catch{}}return t}var Bv=[`CodeFiles`,`codefiles`,`application/vnd.code.tree`,`application/vnd.code.tree.explorer`,`text/uri-list`,`text/plain`],Vv=e=>e.startsWith(`/`)||e.startsWith(`//`)||e.startsWith(`\\\\`)||/^[A-Za-z]:[\\/]/.test(e),Hv=e=>{if(!Vv(e)||/\s/.test(e))return!1;if(e.startsWith(`//`)||e.startsWith(`\\\\`)){let t=e.replace(/^[\\/]+/,``);return/[\\/]/.test(t)}if(/^[A-Za-z]:[\\/]/.test(e)){let t=e.slice(3);return t.includes(`\\`)||t.includes(`/`)||t.includes(`.`)}return e.replace(/^\/+/,``).includes(`/`)},Uv=(e,{fromPlainText:t=!1}={})=>{let n=e.trim().replace(/^['"]+|['"]+$/g,``);return!n||n===`/>`||/[\r\n]/.test(n)?null:n.toLowerCase().startsWith(`file://`)||(t?Hv(n):Vv(n))?n:null},Wv=(e,t,n=0)=>{if(!(n>6||e==null)){if(typeof e==`string`){t.add(e);return}if(Array.isArray(e)){for(let r of e)Wv(r,t,n+1);return}if(typeof e==`object`)for(let r of Object.values(e))Wv(r,t,n+1)}},Gv=(e,{allowMultipleLines:t=!0,allowStructuredPayload:n=!0,fromPlainText:r=!1}={})=>{let i=new Set,a=e=>{let n=Uv(e,{fromPlainText:r});if(n){i.add(n);return}if(t)for(let t of e.split(/\r?\n/)){let e=Uv(t,{fromPlainText:r});e&&i.add(e)}};if(a(e),n)try{let t=JSON.parse(e),n=new Set;Wv(t,n);for(let e of n)a(e)}catch{}return Array.from(i)},Kv=e=>{if(!e||typeof e.getData!=`function`)return[];let t=new Set;for(let n of Bv){let r=``;try{r=e.getData(n)}catch{continue}let i=n===`text/plain`?{allowMultipleLines:!1,allowStructuredPayload:!1,fromPlainText:!0}:n===`text/uri-list`?{allowStructuredPayload:!1}:void 0;for(let e of Gv(r,i))t.add(e)}return Array.from(t)},qv=e=>{let t=e.trim();if(!t.toLowerCase().startsWith(`file://`))return t;try{let e=new URL(t),n=decodeURIComponent(e.pathname||``);return e.hostname&&e.hostname!==`localhost`&&(n=`//${e.hostname}${n}`),/^\/[A-Za-z]:\//.test(n)&&(n=n.slice(1)),n||t}catch{let e=t.replace(/^file:\/\//i,``);try{return decodeURIComponent(e)}catch{return e}}},Jv=e=>Vv(e);function Yv(e,t){let n=(0,Q.c)(5),r=pt(e,t),i=s(Xv),a;n[0]===r?a=n[1]:(a=ln(r),n[0]=r,n[1]=a);let o;return n[2]!==i||n[3]!==a?(o={goal:a,enabled:i},n[2]=i,n[3]=a,n[4]=o):o=n[4],o}function Xv(e){return e.sessionGoalEnabled}function Zv(e,t){let n=(0,Q.c)(4),[r,i]=Z.useState(null),a=t?.objectiveFile?`${e}:${t.id}:${t.updatedAt}`:``,o,s;return n[0]!==a||n[1]!==e?(o=()=>{if(!a){i(null);return}let t=!0;return Mt(e).then(e=>{t&&i(e)}),()=>{t=!1}},s=[a,e],n[0]=a,n[1]=e,n[2]=o,n[3]=s):(o=n[2],s=n[3]),Z.useEffect(o,s),t?t.objectiveFile?r:t.objective:null}var Qv={active:`var(--status-info)`,paused:`var(--surface-muted-foreground)`,blocked:`var(--status-warning)`,budgetLimited:`var(--status-warning)`,complete:`var(--status-success)`},$v={active:`chat.goal.status.active`,paused:`chat.goal.status.paused`,blocked:`chat.goal.status.blocked`,budgetLimited:`chat.goal.status.budgetLimited`,complete:`chat.goal.status.complete`},ey=Z.memo(({sessionId:e,directory:t,className:n})=>{let{t:r}=ot(),i=s(e=>e.isMobile),{goal:a,enabled:o}=Yv(e??``,t),c=Zv(e??``,a),l=wr(e??``,t),u=On(e,t),d=Z.useRef(null),[f,p]=Z.useState(!1),[m,h]=Z.useState(()=>Date.now());Z.useEffect(()=>{if(!a||a.status===`complete`||a.status===`blocked`||a.status===`budgetLimited`)return;let e=window.setInterval(()=>h(Date.now()),1e3);return()=>window.clearInterval(e)},[a?.id,a?.status]),Z.useEffect(()=>{if(!e||!a||a.status!==`active`)return;let n=u[0]?.id;if(!n)return;let r=`${e}:${a.id}:${n}`;d.current!==r&&(d.current=r,Dt(e,t))},[e,t,a,u]);let g=J(async n=>{if(!(!e||f)){p(!0);try{await _n(e,t,n)}catch(e){console.warn(`[session-goal] status change failed:`,e),Tt.error(r(`chat.goal.toast.actionFailed`))}finally{p(!1)}}});if(!e||!o||!a)return null;let _=Math.max(0,(a.status===`complete`||a.status===`blocked`||a.status===`budgetLimited`?a.updatedAt:m)-(a.createdAt||m)),v=mt(_),y=a.tokenBudget?`${Hr(a.tokensUsed)}/${Hr(a.tokenBudget)}`:a.tokensUsed>0?Hr(a.tokensUsed):null,b=a.status===`active`?{icon:`pause`,labelKey:`chat.goal.action.pause`,next:`paused`}:a.status===`paused`||a.status===`blocked`||a.status===`budgetLimited`?{icon:`play`,labelKey:`chat.goal.action.resume`,next:`active`}:null,x=i?`text-[11px] leading-none text-muted-foreground`:`typography-meta text-muted-foreground`,S=i?`text-xs leading-5 text-foreground`:`typography-ui-label leading-5 text-foreground`,C=i?`size-3`:`size-3.5`;return(0,$.jsxs)(`div`,{className:Y(`flex w-full min-w-0 items-center`,i?`gap-1 py-0.5`:`gap-1.5 py-0.5 md:gap-2`,n),"aria-label":r(`chat.goal.row.aria`),title:c??void 0,children:[(0,$.jsx)(X,{name:`target`,className:Y(C,`flex-shrink-0`),style:{color:Qv[a.status]},"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`min-w-0 flex-1 truncate`,S),children:a.note||c||``}),a.status===`active`&&(!l||l.type===`idle`)?(0,$.jsxs)(`span`,{className:Y(`flex flex-shrink-0 items-center gap-1`,x),children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(C,`animate-spin`),"aria-hidden":`true`}),r(`chat.goal.status.evaluating`)]}):(0,$.jsx)(`span`,{className:Y(`flex-shrink-0`,x),children:r($v[a.status])}),(0,$.jsx)(`span`,{className:Y(`flex-shrink-0 tabular-nums`,x,`text-muted-foreground/70`),children:v}),y?(0,$.jsx)(`span`,{className:Y(`flex-shrink-0 tabular-nums`,x,`text-muted-foreground/70`),children:y}):null,b?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>void g(b.next),disabled:f,className:Y(`inline-flex flex-shrink-0 cursor-pointer items-center bg-transparent text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,i?`h-7 gap-1.5 px-0 text-[11px]`:`h-7 gap-1 px-0.5`),"aria-label":r(b.labelKey),children:[(0,$.jsx)(X,{name:b.icon,className:C,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`font-medium`,i?`leading-none`:`typography-ui-label`),children:r(b.labelKey)})]}):null]})});ey.displayName=`SessionGoalRow`;var ty=Z.memo(({sessionId:e,directory:t,draftOpen:n=!1})=>{let{t:r}=ot(),{goal:i,enabled:a}=Yv(e??``,t),o=Sn(e=>e.armed),s=Sn(e=>e.setArmed),[c,l]=Z.useState(!1);if(d()||!a||!e&&!n||!o&&!i)return null;let u=i?.status===`complete`?`text-[var(--status-success)]`:i?.status===`blocked`||i?.status===`budgetLimited`?`text-[var(--status-error)]`:o||i?.status===`active`||i?.status===`paused`?`text-[var(--status-info)]`:``,f=async()=>{if(o){s(!1);return}if(!(!e||c)){l(!0);try{await Fn(e,t)}catch(e){console.warn(`[session-goal] clear failed:`,e),Tt.error(r(`chat.goal.toast.actionFailed`))}finally{l(!1)}}};return(0,$.jsxs)(`span`,{className:Y(`inline-flex h-7 items-center gap-1 rounded-full bg-[var(--surface-muted)] py-1 pl-2 pr-1 typography-ui-label`,u),children:[(0,$.jsx)(X,{name:`target`,className:`h-4 w-4`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:r(`chat.goal.chip.label`)}),(0,$.jsx)(`button`,{type:`button`,className:`flex h-5 w-5 items-center justify-center rounded-full text-current hover:bg-[var(--interactive-hover)] disabled:opacity-50`,onClick:()=>void f(),disabled:c,"aria-label":r(o?`chat.goal.button.disarmAria`:`chat.goal.action.clear`),title:r(o?`chat.goal.button.disarmAria`:`chat.goal.action.clear`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`,"aria-hidden":`true`})})]})});ty.displayName=`SessionGoalButton`;var ny=Z.memo(e=>{let t=(0,Q.c)(11),{length:n}=e,{t:r}=ot();if(!Sn(ry)||n===0)return null;let i=n>5e3?`text-[var(--status-error)]`:`text-muted-foreground/70`,a;t[0]===i?a=t[1]:(a=Y(`flex-shrink-0 self-center typography-micro tabular-nums`,i),t[0]=i,t[1]=a);let o;t[2]===r?o=t[3]:(o=r(`chat.goal.counter.aria`),t[2]=r,t[3]=o);let s;t[4]===r?s=t[5]:(s=r(`chat.goal.counter.aria`),t[4]=r,t[5]=s);let c;return t[6]!==n||t[7]!==a||t[8]!==o||t[9]!==s?(c=(0,$.jsxs)(`span`,{className:a,"aria-label":o,title:s,children:[n,`/`,Kr]}),t[6]=n,t[7]=a,t[8]=o,t[9]=s,t[10]=c):c=t[10],c});ny.displayName=`SessionGoalObjectiveCounter`;function ry(e){return e.armed}var iy=new Set([`new`,`fork`,`compact`,`undo`,`redo`,`timeline`,`model`,`summary`,`workspace-review`,`handoff-review`,`plan-feature`,`goal`,`craft-goal`,`catch-up`,`debug`,`weigh`,`explore`]),ay=new Set([`new`,`compact`,`fork`,`undo`,`redo`]),oy=/^\/\u2003?([^\s]+)/i,sy=/^\/\u2003?goal\b/i,cy=(e,t)=>{if(t!==`normal`)return null;let n=e.trimStart().match(oy)?.[1]?.toLowerCase();return n&&iy.has(n)?n:null},ly=(e,t)=>cy(e,t)===`goal`?e.trimStart().replace(sy,``).trim():null,uy=(e,t)=>cy(e,t)!==null,dy=(e,t)=>{let n=cy(e,t);return n!==null&&ay.has(n)},fy=({currentSessionId:e,messageRef:t,replacePlainDocument:n})=>{let r=e;return t.current=``,n(``),r},py=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()}},my=e=>!e.queuedOnly&&!e.resourcePolicy&&e.rootAttachmentCount>0,hy=e=>e.surfaceKind===`primary`&&!!e.currentSessionId&&!e.queuedOnly&&!e.resourcePolicy&&e.inputMode!==`shell`&&!e.localCommand,gy=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},_y=e=>({state:`bound`,transportIdentity:e.transportIdentity,directory:e.directory,sessionID:e.sessionID,deliveryTarget:{kind:`primary`},runtimeGeneration:e.runtimeGeneration}),vy=(e,t)=>{let n=C.getState();return n.bindLegacyQueue(x(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},yy=async e=>{let t=gn.getState().takeEstablishingPending(e.draftID);if(t.length===0)return{drained:0,failed:0};let n=_y(e),r=0,i=0;for(let a of t)try{if(e.admitServer&&(await e.admitServer(a)).status===`committed`){r+=1;continue}vy(n,a)?r+=1:i+=1}catch{try{vy(n,a)?r+=1:i+=1}catch{i+=1}}return{drained:r,failed:i}},by=(e,t)=>Promise.resolve().then(()=>e()).catch(()=>{t()}),xy=e=>e===`allow`||e===`ask`||e===`deny`,Sy=e=>{if(xy(e))return[{permission:`*`,pattern:`*`,action:e}];if(Array.isArray(e))return e.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return typeof t.permission==`string`&&typeof t.pattern==`string`&&xy(t.action)?[{permission:t.permission,pattern:t.pattern,action:t.action}]:[]});if(!e||typeof e!=`object`)return[];let t=[];for(let[n,r]of Object.entries(e))if(n!==`__originalKeys`){if(xy(r)){t.push({permission:n,pattern:`*`,action:r});continue}if(!(!r||typeof r!=`object`||Array.isArray(r)))for(let[e,i]of Object.entries(r))xy(i)&&t.push({permission:n,pattern:e,action:i})}return t},Cy=e=>{let t=Sy(e);for(let e=t.length-1;e>=0;--e){let n=t[e];if(n.permission===`*`&&n.pattern===`*`)return n.action===`ask`;if(n.action===`ask`)return!0}return!0},wy=(e,t)=>{let n=t?.trim();if(!n)return e.length===0||e.some(e=>Cy(e.permission));let r=e.find(e=>e?.name===n);return!r||Cy(r.permission)},Ty=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)},Ey=null,Dy=new Set,Oy=()=>{for(let e of Dy)e()},ky=e=>e===`chat`||e===`assistant`,Ay=()=>Ey,jy=e=>{Ey!==e&&(Ey=e,Oy())},My=e=>{Ey&&(e&&Ey.surfaceID!==e||(Ey=null,Oy()))},Ny=(e,t)=>{if(e.transportIdentity!==t.transportIdentity||e.runtimeGeneration!==t.runtimeGeneration)throw Error(`chat-input-delivery-runtime-stale`)},Py=e=>{let t={...e.options?.delivery===`steer`?{delivery:`steer`}:{},...e.options?.commitStagedMessageEdit===void 0?{}:{commitStagedMessageEdit:e.options.commitStagedMessageEdit},...e.options?.messageID?{messageID:e.options.messageID}:{},...e.options?.ticket?{ticket:e.options.ticket}:{}},n=e.options?.sessionId??e.sessionID??void 0;if(!n)return t;let r=e.options?.directoryHint===void 0?e.directory||null:e.options.directoryHint;return{...t,sessionId:n,directoryHint:r}},Fy=(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}),Iy=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=Fy(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=Fy(e,`send`,i),o=Wm(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=Fy(e,`create`);return await e.selection.flush(),e.backend.create(t)},compact:async t=>{let n=Fy(e,`compact`,t);return await e.selection.flush(),e.backend.compact(n)},abort:async()=>{let t=Fy(e,`abort`);return await e.selection.flush(),e.backend.abort(t)},queueScope:Wm(e),canAbort:n,canQueue:t===`busy`||t===`retry`,allowsCommand:t=>Lm(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=Fy(e,`abort`);await e.selection.flush(),await e.backend.abort(t);return}if(t===`new`){let t=Fy(e,`create`);await e.selection.flush(),await e.backend.create(t);return}t!==`submit`&&await e.shortcuts?.cycle(n)},resources:e.resources??null}},Ly=(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)))},Ry=(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},zy=(e,t)=>e.agents.some(e=>e.name===t),By=(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},Vy=e=>{let{catalog:t,providerID:n,modelID:r,historyVariant:i,memoryVariant:a}=e;if(i)return By(t,n,r,i)?i:void 0;if(a&&By(t,n,r,a))return a},Hy=e=>{let{sessionId:t,choice:n,catalog:r,memory:i,fallbackAgentName:a,source:o}=e;if(!n.providerID||!n.modelID||!Ry(r,n.providerID,n.modelID))return null;let s=n.agent&&zy(r,n.agent)?n.agent:i?.getSessionAgentSelection?.(t)&&zy(r,i.getSessionAgentSelection(t))?i.getSessionAgentSelection(t):a&&zy(r,a)?a:void 0,c=s?i?.getAgentModelVariantForSession?.(t,s,n.providerID,n.modelID):void 0,l=Vy({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}},Uy=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=Hy({sessionId:t,choice:r,catalog:i,memory:a,fallbackAgentName:s,source:`execution`});if(e)return e}if(c&&n){let e=Hy({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&&zy(i,e)?e:s&&zy(i,s)?s:void 0;if(n){let e=a.getAgentModelForSession?.(t,n);if(e&&Ry(i,e.providerId,e.modelId)){let r=a.getAgentModelVariantForSession?.(t,n,e.providerId,e.modelId),o=r&&By(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&&Ry(i,r.providerId,r.modelId)){let e=n?a.getAgentModelVariantForSession?.(t,n,r.providerId,r.modelId):void 0,o=e&&By(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&&Ry(i,l.providerID,l.id)){let e=a?.getSessionAgentSelection?.(t)??null,n=(o?.agent&&zy(i,o.agent)?o.agent:void 0)??(e&&zy(i,e)?e:s&&zy(i,s)?s:void 0),r=l.variant,c=r&&By(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},Wy=(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))},Gy=(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}},Ky=e=>e.editRevision<=0?!1:e.pinnedHistoryMessageId==null||e.latestHistoryMessageId==null||e.latestHistoryMessageId===e.pinnedHistoryMessageId,qy=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}:{}}},Jy=e=>typeof e==`string`&&e.trim().length>0?e:void 0,Yy=e=>Jy(e.agent)??Jy(e.mode),Xy=e=>Jy(e.model?.variant)??Jy(e.variant),Zy=e=>{let t=Jy(e.model?.providerID),n=Jy(e.model?.modelID);return!t||!n?null:{providerID:t,modelID:n}},Qy=e=>{let t=Jy(e.providerID)??Jy(e.model?.providerID),n=Jy(e.modelID)??Jy(e.model?.modelID);return!t||!n?null:{providerID:t,modelID:n}},$y=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role!==`user`)continue;let r=Zy(n);return{id:typeof n.id==`string`?n.id:void 0,agent:Yy(n),providerID:r?.providerID,modelID:r?.modelID,variant:Xy(n)}}return null},eb=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role===`user`){if(Zy(n))return null;continue}if(n.role!==`assistant`)continue;let r=Qy(n);if(r)return{id:typeof n.id==`string`?n.id:void 0,agent:Yy(n),providerID:r.providerID,modelID:r.modelID,variant:Xy(n)}}return null},tb=500,nb=e=>Array.from(e).length,rb=e=>{let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return(t>>>0).toString(36)},ib=e=>nb(e)>=tb,ab=e=>{let t=v(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},ob=(e,t)=>{let n=t??e;return typeof n!=`string`||!ib(n)?!1:le(typeof e==`string`?{text:``,references:[]}:e,n)},sb=(e,t,n,r,i=1)=>{let a=nb(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}-${rb(e)}`,token:i,text:e,characterCount:a,index:n}}throw Error(`Unable to create a unique pasted text reference`)},cb=e=>({text:e.text,references:e.references.map(e=>({...e}))}),lb=e=>e.map(e=>({...e,range:{...e.range}})),ub=(e,t)=>e.text===t.text&&JSON.stringify(e.references)===JSON.stringify(t.references),db=(e,t,n)=>({document:cb(e),mentions:lb(t),selection:{...n}}),fb=()=>({undo:[],redo:[]}),pb=(e,t)=>({undo:[...e.undo,t].slice(-100),redo:[]}),mb=(e,t)=>{let n=e.undo.at(-1);return!n||!ub(n.after.document,t)?null:{history:{undo:e.undo.slice(0,-1),redo:[...e.redo,n]},snapshot:db(n.before.document,n.before.mentions,n.before.selection)}},hb=(e,t)=>{let n=e.redo.at(-1);return!n||!ub(n.before.document,t)?null:{history:{undo:[...e.undo,n],redo:e.redo.slice(0,-1)},snapshot:db(n.after.document,n.after.mentions,n.after.selection)}},gb=e=>({text:e?.text??``,references:e?.composerReferences??[]}),_b=e=>({text:e.text,references:e.references.map(e=>({...e}))}),vb=e=>({transportIdentity:e.transportIdentity,owner:{...e.owner}}),yb=e=>JSON.stringify([e.text,e.references]),bb=(e,t)=>e!==null&&t!==null&&ce(e)===t,xb=(e,t,n)=>{let r=e?vb(e):null,i=r?n(r):void 0;return{document:D(gb(i),t),mentions:i?.mentions??[],revision:i?.revision??0,key:r,keyID:r?ce(r):null}},Sb=(e,t,n,r)=>{if(!t||ce(t.key)!==r.keyID||t.revision<r.appliedRevision)return`ignore`;let i=yb(gb(t));return n?.keyID===r.keyID&&n.revision===t.revision&&n.fingerprint===i?`local-echo`:t.revision===r.appliedRevision?`ignore`:i===yb(e)?`same-document-metadata`:`external-document`},Cb=(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}]:[]})},wb=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),Tb=(e,t,n,r,i=r)=>{let a=g(e,n,r,i);return{document:a.document,mentions:Cb(t,a.document,a.edit),requiresTextCorrection:a.requiresTextCorrection,selectionStart:a.selectionStart,selectionEnd:a.selectionEnd,removedReferences:a.removedReferences}},Eb=(e,t,n)=>({preview:{real:_b(e),realMentions:[...t]},document:{text:n.text,references:[]},mentions:[]}),Db=e=>({document:e.real,mentions:e.realMentions}),Ob=(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)})},kb=(e,t)=>{let n=gb(t),r=E(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:Ob(e.mentions,t?.mentions??[],r,i)}},Ab=({draftKey:e,sessionTitles:t,persistenceEnabled:n,onResourcesChanged:r,store:i=on})=>{let a=e?ce(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)(()=>xb(e,t,i.getState().getDraft).document),[d,p]=(0,Z.useState)(()=>xb(e,t,i.getState().getDraft).mentions),[m,h]=(0,Z.useState)(`compose`),[_,b]=(0,Z.useState)(0),x=(0,Z.useRef)(l),S=(0,Z.useRef)(d),C=(0,Z.useRef)(t),w=(0,Z.useRef)(r),T=(0,Z.useRef)(e),E=(0,Z.useRef)(e?vb(e):null),k=(0,Z.useRef)(a),A=(0,Z.useRef)(a),M=(0,Z.useRef)(0),N=(0,Z.useRef)(o?.revision??0),P=(0,Z.useRef)(void 0),F=(0,Z.useRef)(void 0),I=(0,Z.useRef)(fb());x.current=l,S.current=d,C.current=t,w.current=r,T.current=e,k.current=a;let L=(0,Z.useCallback)((e,t)=>{x.current=e,S.current=t,u(e),p(t)},[]),R=(0,Z.useCallback)((e,t)=>{let n=j(e,t);w.current?.(n)},[]);(0,Z.useEffect)(()=>{i.getState().setDraftPersistenceEnabled(n)},[n,i]),(0,Z.useLayoutEffect)(()=>{M.current+=1;let e=M.current;A.current=a;let t=xb(T.current,C.current,i.getState().getDraft),n=t.key;if(E.current=t.key,P.current=void 0,F.current=void 0,I.current=fb(),h(`compose`),N.current=t.revision,L(t.document,t.mentions),b(e=>e+1),n?.owner.kind===`draft`){let r=t.revision;i.getState().claimLegacyNewDraft(n).then(t=>{let o=i.getState().getDraft(n);!t||!bb(E.current,a)||A.current!==a||k.current!==a||M.current!==e||N.current!==r||o?.revision!==t.revision||(N.current=t.revision,L(D(gb(t),C.current),t.mentions))})}},[a,L,i]),(0,Z.useEffect)(()=>{if(!a||A.current!==a||F.current)return;let e=Sb(x.current,o,P.current,{keyID:a,epoch:M.current,appliedRevision:N.current});if(e!==`ignore`){if(o&&(N.current=o.revision),e===`local-echo`||e===`same-document-metadata`){o&&p(o.mentions);return}e===`external-document`&&o&&(P.current=void 0,L(D(gb(o),C.current),o.mentions),h(`compose`),b(e=>e+1))}},[a,L,o]);let z=(0,Z.useCallback)((e,t)=>{let n=E.current;if(!bb(n,k.current)||F.current)return;let r=x.current,a=i.getState().setDraftComposerState(n,{document:e,mentions:wb(t)});if(!a)return;let o=gb(a);return P.current={keyID:ce(n),revision:a.revision,fingerprint:yb(o)},N.current=a.revision,L(o,a.mentions),R(r,o),a},[i,L,R]),B=(0,Z.useCallback)((e,t,n,r,i,a)=>{I.current=pb(I.current,{before:db(e,t,n),after:db(r,i,a)})},[]),V=(0,Z.useCallback)(()=>F.current?(F.current=void 0,h(`compose`),!0):!1,[]),H=(0,Z.useCallback)(e=>(V(),z({text:e,references:[]},[])),[z,V]),U=(0,Z.useCallback)((e,t=[])=>{V();let n=ae(e.text,e.references);return n?z(D(n,C.current),t):void 0},[z,V]),W=(0,Z.useCallback)((e,t,n=t,r)=>{let i=V(),a=_b(x.current),o=i?[]:S.current,s=Tb(a,o,e,t,n),c=r?r(s.mentions,s.document):s.mentions;return z(s.document,c),s.removedReferences.length>0&&B(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}},[z,V,B]),ee=(0,Z.useCallback)((e,t)=>{let n=x.current,r=Math.max(0,Math.min(e.start,n.text.length)),i=Math.max(r,Math.min(e.end,n.text.length)),a=V(),o=g(n,`${n.text.slice(0,r)}${e.text}${n.text.slice(i)}`,r+e.text.length),s=Cb(a?[]:S.current,o.document,o.edit);return z(o.document,t?t(s,o.document):s),{start:o.selectionStart,end:o.selectionEnd}},[z,V]),G=(0,Z.useCallback)((e,t)=>{let n=x.current;return ee({start:0,end:n.text.length,text:e},t)},[ee]),K=(0,Z.useCallback)((e,t,n,r)=>{let i=V(),a=f(x.current,e,t,n,r);return z(a.document,Cb(i?[]:S.current,a.document,a.edit)),{start:a.caret,end:a.caret,caret:a.caret,document:a.document}},[z,V]),q=(0,Z.useCallback)(e=>{let t=_b(x.current),n=y(t,e);if(!n)return null;let r=V()?[]:S.current,i=Cb(r,n.document,n.edit),a=O(n.document.text,n.caret),o=g(n.document,a.text,a.caret),s=Cb(i,o.document,o.edit);return z(o.document,s),B(t,r,{start:e.selectionStart,end:e.selectionEnd},o.document,s,{start:o.selectionStart,end:o.selectionEnd}),{start:o.selectionStart,end:o.selectionEnd}},[z,V,B]),te=(0,Z.useCallback)(e=>{if(F.current)return null;let t=e===`undo`?mb(I.current,x.current):hb(I.current,x.current);return!t||!z(t.snapshot.document,t.snapshot.mentions)?null:(I.current=t.history,t.snapshot.selection)},[z]),ne=(0,Z.useCallback)(e=>z(x.current,e),[z]),re=(0,Z.useCallback)(e=>{let t=F.current?{document:{text:e.text,references:[]},mentions:[]}:Eb(x.current,S.current,e);`preview`in t&&(F.current=t.preview),h(`history-preview`),L(t.document,t.mentions),b(e=>e+1)},[L]),ie=(0,Z.useCallback)(()=>{let e=F.current;if(!e)return;F.current=void 0,h(`compose`);let t=Db(e);L(t.document,t.mentions),b(e=>e+1)},[L]),oe=(0,Z.useCallback)(()=>{let e=E.current;if(!bb(e,k.current))return null;let t=i.getState().getDraft(e);return{key:vb(e),keyID:ce(e),revision:t?.revision??0,document:_b(x.current),mentions:S.current.map(e=>({...e,range:{...e.range}})),epoch:M.current,runtime:i.getState().captureDraftRuntime()}},[i]),se=(0,Z.useCallback)(e=>{let t=kb(e,i.getState().getDraft(e.key)),n=gb(i.getState().getDraft(e.key)),r=v(n.text,n.references).document,a=i.getState().setDraftComposerState(e.key,{...t,mentions:wb(t.mentions)});if(a){let e=gb(a);R(r,e)}return a},[R,i]),le=(0,Z.useCallback)(()=>x.current,[]);return(0,Z.useMemo)(()=>({document:l,mentions:d,confirmedFileMentions:d.filter(e=>e.kind===`file`||e.kind===`directory`),inputMode:m,hydration:s,persistence:c,textPresetEpoch:_,getDocument:le,replacePlainDocument:H,replaceMaterializedDocument:U,applyBrowserEdit:W,applyProgrammaticEdit:ee,replaceProgrammaticText:G,insertReference:K,deleteReference:q,restoreReferenceHistory:te,commitMentions:ne,enterHistoryPreview:re,exitHistoryPreview:ie,captureSubmission:oe,recoverSubmission:se}),[W,ee,oe,ne,q,l,re,ie,le,s,m,K,d,c,se,U,H,G,te,_])};function jb(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 Mb=`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`,Nb=Ls(()=>Ue(()=>import(`./ToolOutputDialog-Dexn468e.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]))),Pb=[],Fb=[],Ib=[],Lb=[],Rb=/^@[^\s]+$/,zb=({inputMode:e,message:t,showCommandAutocomplete:n,showSkillAutocomplete:r})=>e!==`shell`&&(n||r||/(^|\s)\/[A-Za-z0-9_-]*/.test(t)),Bb=/^(https?:\/\/|mailto:)\S+$/i,Vb=560,Hb=(e,t)=>e.name===t?e:new File([e],t,{type:e.type,lastModified:e.lastModified}),Ub=(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)},Wb=e=>e.includes(`@`)?`paste`:`manual`,Gb=(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}},Kb=(e,t)=>pi(e,t).some(e=>e.role===`user`),qb=(e,t)=>{let n=e.filter(e=>e.type===`text`&&!tr(e)).map(e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``}).join(`
6525
6525
  `).replace(/\s+/g,` `).trim();if(n)return n;let r=e.find(e=>e.type===`file`);return r?.filename?`[${r.filename}]`:t},Jb=`file://`,Yb=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(`/`)},Xb=e=>{let t=e.replace(/\\/g,`/`).trim();return t.toLowerCase().startsWith(Jb)?t:`file://${Yb(t)}`},Zb=e=>{if(!e)return[];let t=[...Kv(e).map(qv),...Array.from(e.files||[]).map(e=>k(e)).filter(e=>!!e)];return Array.from(new Set(t.filter(Jv)))},Qb=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},$b=e=>oa(e.path),ex=(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)]})},tx=Z.memo(uh),nx=Z.memo(tu),rx=Z.memo(wg),ix=Z.memo(Dg),ax=Z.memo(Bh),ox=Z.memo(({sessionId:e,directory:t})=>{let{t:n}=ot(),r=s(e=>e.isMobile),i=Zr(e=>e.revertToMessage),a=Zr(e=>e.forkFromMessage),o=Zr(e=>e.handleSlashRedo),[c,l]=Z.useState(null),[u,d]=Z.useState(null),[f,p]=Z.useState(!0),m=Z.useRef(fv),h=cr(),g=t||h,_=Ht(g),v=Ki(e??``,g,_),y=nn(e=>e.session,g),b=Z.useMemo(()=>{let t=v.messageOrder.map(e=>v.messagesByID[e]).filter(e=>!!e),n=hv({session:y,messages:t,partsByMessageID:v.partsByMessageID},e,m.current);return m.current=n,n},[e,y,v]),x=b.revertMessageID,S=Z.useMemo(()=>b.records.map(e=>e.message),[b]),C=n(`chat.revertPopover.noTextContent`),w=Z.useMemo(()=>x?b.records.map(e=>({id:e.message.id,text:qb(e.parts,C)})):[],[C,x,b]),T=w[0]?.id;Z.useEffect(()=>{p(!0)},[x,T]);let E=Z.useCallback(async t=>{if(!(!e||c)){l(t);try{let n=S.find(e=>e.id>t);n?await i(e,n.id,{skipRedoPush:!0}):await o(e,{fullUnrevert:!0})}finally{l(null)}}},[o,i,c,e,S]),D=Z.useCallback(async t=>{if(!(!e||u)){d(t);try{await a(e,t)}finally{d(null)}}},[a,u,e]);return!e||w.length===0?null:(0,$.jsx)(`div`,{className:Y(`w-full px-1`,r?`pb-1 text-xs`:`pb-2`),children:(0,$.jsxs)(`div`,{className:Y(`border border-border/60 bg-[var(--surface-elevated)] text-[var(--surface-elevated-foreground)] shadow-sm dark:shadow-none overflow-hidden`,r?`rounded-lg`:`rounded-xl`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(`flex w-full items-center text-left hover:bg-[var(--interactive-hover)] transition-colors`,r?`gap-1.5 px-2 py-1`:`gap-2 px-3 py-2`),onClick:()=>p(e=>!e),"aria-expanded":!f,children:[(0,$.jsxs)(`span`,{className:`typography-ui-label font-medium text-foreground flex-shrink-0`,children:[n(`chat.revertPopover.title`),` messages `,w.length]}),(0,$.jsx)(X,{name:`arrow-down-s`,className:Y(`ml-auto text-muted-foreground transition-transform`,r?`size-3.5`:`size-4`,!f&&`rotate-180`),"aria-hidden":`true`})]}),!f&&(0,$.jsx)(`div`,{className:Y(`flex flex-col overflow-y-auto`,r?`max-h-[8rem] gap-1 px-2 pb-1.5`:`max-h-[10.5rem] gap-1.5 px-3 pb-3`),children:w.map(e=>(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 items-center`,r?`gap-1.5`:`gap-2 py-1`),children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label text-foreground`,children:e.text}),(0,$.jsxs)(ca,{type:`button`,variant:`secondary`,size:`xs`,disabled:!!(c||u),onClick:()=>{D(e.id)},children:[u===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)(ca,{type:`button`,variant:`secondary`,size:`xs`,disabled:!!(c||u),onClick:()=>{E(e.id)},children:[c===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))})]})})});ox.displayName=`RevertedMessageDock`;var sx=Z.memo(function(e){let t=(0,Q.c)(41),{t:n}=ot(),{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?_x:void 0,v=f?vx:void 0,y;t[5]===a?y=t[6]:(y=Y(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)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:S}),(0,$.jsx)(Va,{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:Y(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),cx=Z.memo(function(e){let t=(0,Q.c)(29),{t:n}=ot(),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=()=>Ty({permissionScopeSessionId:e.sessionId,newSessionDraftOpen:e.draftOpen,draftPermissionAutoAcceptEnabled:e.draftEnabled,permissionAutoAcceptEnabled:e.enabled,setDraftPermissionAutoAcceptEnabled:e.onSetDraftEnabled,setSessionAutoAccept:e.onSetSessionEnabled,onOpenSessionFirst:e.onOpenSessionFirst,onToggleFailed:e.onToggleFailed}),t[3]=e.draftEnabled,t[4]=e.draftOpen,t[5]=e.enabled,t[6]=e.onOpenSessionFirst,t[7]=e.onSetDraftEnabled,t[8]=e.onSetSessionEnabled,t[9]=e.onToggleFailed,t[10]=e.sessionId,t[11]=l):l=t[11];let u=e.enabled?`shield-check`:`shield`,d;t[12]===e.iconSizeClass?d=t[13]:(d=Y(e.iconSizeClass,`text-current`),t[12]=e.iconSizeClass,t[13]=d);let f;t[14]!==u||t[15]!==d?(f=(0,$.jsx)(X,{name:u,className:d}),t[14]=u,t[15]=d,t[16]=f):f=t[16];let p;t[17]!==a||t[18]!==e.enabled||t[19]!==e.footerIconButtonClass||t[20]!==e.saving||t[21]!==l||t[22]!==f?(p=(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,disabled:o,"aria-pressed":s,"aria-label":a,className:c,onClick:l,onMouseDown:yx,onPointerDownCapture:bx,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)(Va,{side:`top`,sideOffset:8,children:a}),t[24]=a,t[25]=m);let h;return t[26]!==m||t[27]!==p?(h=(0,$.jsxs)(Ha,{children:[p,m]}),t[26]=m,t[27]=p,t[28]=h):h=t[28],h}),lx=Z.memo(function(e){let t=(0,Q.c)(67),{isMobile:n,compact:r,footerIconButtonClass:i,stopFooterIconButtonClass:a,compactCircleButtonClass:o,sendIconSizeClass:s,stopIconSizeClass:c,canSend:l,canAbort:u,hasContent:d,currentSessionId:f,newSessionDraftOpen:p,draftSubmitting:m,submissionBlocked:h,sendPhase:g,queueFrozen:_,queueFallbackAvailable:v,onPrimaryAction:y,onAbort:b}=e,x=r!==void 0&&r,{t:S}=ot(),C,w,T,E,D;if(t[0]!==u||t[1]!==l||t[2]!==x||t[3]!==o||t[4]!==f||t[5]!==m||t[6]!==i||t[7]!==d||t[8]!==n||t[9]!==p||t[10]!==y||t[11]!==v||t[12]!==_||t[13]!==s||t[14]!==g||t[15]!==a||t[16]!==c||t[17]!==h||t[18]!==S){D=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Ug({canSend:l,hasSessionTarget:!!(f||p),draftSubmitting:!!m,submissionBlocked:h,sendPhase:g,queueFrozen:_,queueFallbackAvailable:v}),r;t[24]===n?r=t[25]:(r=n?{onMouseDown:xx,onPointerDownCapture:Sx}:{},t[24]=n,t[25]=r);let b=r,O=g.inFlight,k=O&&g.flightKind===`queue`,A=O&&g.flightKind!==`queue`,j;t[26]!==u||t[27]!==v||t[28]!==_||t[29]!==k||t[30]!==A||t[31]!==S?(j=S(k?`chat.chatInput.actions.queuingMessageAria`:A?`chat.chatInput.actions.sendingMessageAria`:_&&v&&u?`chat.chatInput.actions.sendMessageAria`:u?`chat.chatInput.actions.queueMessageAria`:`chat.chatInput.actions.sendMessageAria`),t[26]=u,t[27]=v,t[28]=_,t[29]=k,t[30]=A,t[31]=S,t[32]=j):j=t[32];let M=j;C=x?o??a??i:a??i,w=c;let N=!u&&(!e.sendDisabled||O),P;t[33]!==n||t[34]!==y?(P=e=>{n&&(e.preventDefault(),y())},t[33]=n,t[34]=y,t[35]=P):P=t[35];let F;t[36]!==u||t[37]!==O||t[38]!==k||t[39]!==A||t[40]!==S?(F=S(A||!u&&O?k?`chat.chatInput.actions.queuingMessageAria`:`chat.chatInput.actions.sendingMessageAria`:`chat.chatInput.actions.sendMessageAria`),t[36]=u,t[37]=O,t[38]=k,t[39]=A,t[40]=S,t[41]=F):F=t[41];let I;t[42]!==u||t[43]!==w||t[44]!==O||t[45]!==s||t[46]!==N?(I=N?(0,$.jsx)(Ig,{className:w,spinning:!!(O&&!u)}):(0,$.jsx)(X,{name:`send-plane-2`,className:s}),t[42]=u,t[43]=w,t[44]=O,t[45]=s,t[46]=N,t[47]=I):I=t[47];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":O||void 0,...b,onClick:P,className:Y(N?C:i,N?void 0:e.sendDisabled?e.disabledClass:`text-primary hover:text-primary`),"aria-label":F,children:I});if(!u){D=L;break bb0}let R=!x&&(d||k),z=!e.sendDisabled&&!k,B=x&&`h-full`;t[48]===B?T=t[49]:(T=Y(`relative z-30 overflow-visible`,B),t[48]=B,t[49]=T),E=R?(0,$.jsx)(`button`,{type:`button`,"data-composer-send":`true`,"data-composer-circle":z||k?`true`:void 0,disabled:e.sendDisabled||k,"aria-busy":k||void 0,...b,onClick:e=>{e.preventDefault(),!k&&y()},className:Y(z||k?C:i,`absolute z-30 bottom-full left-1/2 -translate-x-1/2 mb-1`,z||k?void 0:e.disabledClass),"aria-label":M,children:z||k?(0,$.jsx)(Ig,{className:w,spinning:k}):(0,$.jsx)(X,{name:`send-plane-2`,className:s})}):null}t[0]=u,t[1]=l,t[2]=x,t[3]=o,t[4]=f,t[5]=m,t[6]=i,t[7]=d,t[8]=n,t[9]=p,t[10]=y,t[11]=v,t[12]=_,t[13]=s,t[14]=g,t[15]=a,t[16]=c,t[17]=h,t[18]=S,t[19]=C,t[20]=w,t[21]=T,t[22]=E,t[23]=D}else C=t[19],w=t[20],T=t[21],E=t[22],D=t[23];if(D!==Symbol.for(`react.early_return_sentinel`))return D;let O;t[50]===C?O=t[51]:(O=Y(C,`relative z-30`),t[50]=C,t[51]=O);let k;t[52]===S?k=t[53]:(k=S(`chat.chatInput.actions.stopGeneratingAria`),t[52]=S,t[53]=k);let A;t[54]===w?A=t[55]:(A=Y(w),t[54]=w,t[55]=A);let j;t[56]===A?j=t[57]:(j=(0,$.jsx)(Fg,{className:A}),t[56]=A,t[57]=j);let M;t[58]!==b||t[59]!==O||t[60]!==k||t[61]!==j?(M=(0,$.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,onClick:b,className:O,"aria-label":k,children:j}),t[58]=b,t[59]=O,t[60]=k,t[61]=j,t[62]=M):M=t[62];let N;return t[63]!==T||t[64]!==E||t[65]!==M?(N=(0,$.jsxs)(`div`,{className:T,children:[E,M]}),t[63]=T,t[64]=E,t[65]=M,t[66]=N):N=t[66],N},(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.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),ux=(e,t)=>`${e}${e?e.endsWith(`
6526
6526
 
6527
6527
  `)?``:e.endsWith(`
@@ -6571,7 +6571,7 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{A as t,E as n,P as r,T
6571
6571
 
6572
6572
  `):PE(Array.from(t.childNodes).map(e=>zE(e)).join(``))},HE=e=>Array.from(e.childNodes).every(e=>{if(e.nodeType===Node.TEXT_NODE||e.nodeType!==Node.ELEMENT_NODE)return!0;let t=e;return!ME.has(t.tagName.toLowerCase())}),UE=(e,t)=>{let n=e.cloneContents();if(HE(n)){let e=PE(Array.from(n.childNodes).map(e=>zE(e)).join(``));if(e)return e}return Array.from(n.childNodes).map(e=>VE(e)).filter(e=>e.length>0).join(`
6573
6573
 
6574
- `).trim()||PE(t)},WE=({containerRef:e})=>{let{t}=ot(),[n,r]=Z.useState({x:0,y:0,show:!1}),[i,a]=Z.useState(``),[o,c]=Z.useState(``),l=Z.useRef(!1),[u,d]=Z.useState(!1),f=Z.useRef(null),p=Z.useRef(AE),m=Z.useRef(null),h=Z.useRef(null),g=Z.useRef(null),_=Z.useRef(!1),v=Zr(e=>e.createSession),y=on(e=>e.setPendingInputText),b=s(e=>e.isMobile),x=Ih(Fh()).textSelectionMutation;Z.useEffect(()=>{_.current=n.show},[n.show]),Z.useEffect(()=>()=>{h.current!==null&&(window.cancelAnimationFrame(h.current),h.current=null),g.current!==null&&(window.clearTimeout(g.current),g.current=null)},[]);let S=Z.useCallback(()=>{m.current=null,jE===S&&(jE=null),_.current&&=(h.current!==null&&(window.cancelAnimationFrame(h.current),h.current=null),d(!1),r(e=>({...e,show:!1})),a(``),c(``),!1)},[]);Z.useEffect(()=>()=>{jE===S&&(jE=null)},[S]);let C=Z.useCallback(e=>{if(typeof window>`u`)return e;let t=window.innerWidth,n=p.current/2,r=kE+n,i=t-kE-n;return r>i?t/2:Math.min(Math.max(e,r),i)},[]),w=Z.useCallback(()=>{if(!m.current)return;jE!==S&&(jE?.(),jE=S);let{plainText:e,markdownText:t,rect:i}=m.current,o=!n.show,s=b?i.left+i.width/2:C(i.left+i.width/2),l=i.top-10;a(e),c(t),r({x:s,y:l,show:!0}),_.current=!0,o&&(d(!0),h.current!==null&&window.cancelAnimationFrame(h.current),h.current=window.requestAnimationFrame(()=>{d(!1),h.current=null}))},[C,S,b,n.show]);Z.useLayoutEffect(()=>{if(!n.show||b||!f.current)return;let e=f.current.offsetWidth;!Number.isFinite(e)||e<=0||e===p.current||(p.current=e,r(e=>({...e,x:C(e.x)})))},[C,b,n.show]),Z.useEffect(()=>{if(!n.show||b)return;let e=()=>{r(e=>({...e,x:C(e.x)}))};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[C,b,n.show]);let T=Z.useCallback(()=>{let t=window.getSelection(),n=e.current;if(!t||!n){l.current||S();return}let r=PE(t.toString());if(!r){l.current||S();return}let i=LE(t,n);if(!i){l.current||S();return}let a=i.getBoundingClientRect();m.current={plainText:r,markdownText:UE(i,r),rect:a},l.current||w()},[e,S,w]);Z.useEffect(()=>{let t=e.current;if(!t)return;let n=()=>{l.current=!0,S()},r=()=>{l.current=!1,g.current!==null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{g.current=null,T()},10)},i=new Set,a=()=>{for(let e of IE(t))i.has(e)||(i.add(e),e.addEventListener(`selectionchange`,T))};a();let o=new MutationObserver(a);o.observe(t,{childList:!0,subtree:!0}),document.addEventListener(`selectionchange`,T),t.addEventListener(`mousedown`,n),document.addEventListener(`mouseup`,r);let s=e=>{f.current&&!f.current.contains(e.target)&&!window.getSelection()?.toString().trim()&&S()};return document.addEventListener(`mousedown`,s),()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null),o.disconnect();for(let e of i)e.removeEventListener(`selectionchange`,T);document.removeEventListener(`selectionchange`,T),t.removeEventListener(`mousedown`,n),document.removeEventListener(`mouseup`,r),document.removeEventListener(`mousedown`,s)}},[e,T,S,w]),Z.useEffect(()=>{if(!n.show)return;let e=e=>{f.current&&e.target instanceof Node&&f.current.contains(e.target)||S()};return window.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>{window.removeEventListener(`scroll`,e,!0)}},[n.show,S]);let E=Z.useCallback(e=>{if(!e)return;let t=`\`\`\`md\n${e}\n\`\`\``;y(t,`append`),S(),window.getSelection()?.removeAllRanges()},[y,S]),D=Z.useCallback(()=>{E(o)},[E,o]);Z.useEffect(()=>{let t=t=>{if(!x||!t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||t.key.toLowerCase()!==`i`)return;let n=window.getSelection(),r=e.current;if(!n||!r||!n.toString().trim())return;let i=LE(n,r);i&&(t.preventDefault(),E(UE(i,n.toString())))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[E,x,e]);let O=Z.useCallback(async()=>{i&&(await v(void 0,null,null)&&y(i,`replace`),S(),window.getSelection()?.removeAllRanges())},[i,v,y,S]),k=Z.useCallback(async()=>{if(!i)return;let e=await ct(i);e.ok||console.error(`Failed to copy:`,e.error),S(),window.getSelection()?.removeAllRanges()},[i,S]);return n.show?b?(0,tl.createPortal)((0,$.jsx)(`div`,{ref:f,className:Y(`fixed left-3 right-3 bottom-0 z-50 mx-auto max-w-[420px]`,`rounded-2xl border border-[var(--interactive-border)]`,`bg-[var(--surface-elevated)] p-2 shadow-lg`,`safe-area-bottom`,`transition-[opacity,transform] duration-200 ease-out will-change-[opacity,transform]`,u?`opacity-0 translate-y-[4px]`:`opacity-100 translate-y-0`),style:{bottom:`calc(0.5rem + env(safe-area-inset-bottom, 0px))`},children:(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[x?(0,$.jsxs)(`button`,{onClick:D,className:Y(`flex min-w-0 items-center gap-2 rounded-xl px-3 py-2.5 text-left`,`text-sm font-medium leading-tight`,`bg-[var(--primary-base)] text-[var(--primary-foreground)]`,`active:opacity-80`,`transition-opacity duration-150`),title:t(`chat.textSelection.title.addToCurrentChat`),type:`button`,children:[(0,$.jsx)(X,{name:`add`,className:`h-5 w-5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-normal`,children:t(`chat.textSelection.actions.addToChat`)})]}):null,x?(0,$.jsxs)(`button`,{onClick:O,className:Y(`flex min-w-0 items-center gap-2 rounded-xl px-3 py-2.5 text-left`,`text-sm font-medium leading-tight`,`bg-[var(--interactive-selection)] text-[var(--interactive-selection-foreground)]`,`active:opacity-80`,`transition-opacity duration-150`),title:t(`chat.textSelection.title.newSessionWithSelection`),type:`button`,children:[(0,$.jsx)(X,{name:`chat-new`,className:`h-5 w-5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-normal`,children:t(`chat.textSelection.actions.newSession`)})]}):null,(0,$.jsxs)(`button`,{onClick:k,className:Y(`col-span-2 flex min-w-0 items-center gap-2 rounded-xl px-3 py-2.5 text-left`,`text-sm font-medium leading-tight`,`bg-[var(--surface-muted)] text-[var(--surface-foreground)]`,`active:opacity-80`,`transition-opacity duration-150`),title:t(`chat.textSelection.actions.copy`),type:`button`,children:[(0,$.jsx)(X,{name:`file-copy`,className:`h-5 w-5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-normal`,children:t(`chat.textSelection.actions.copy`)})]})]})}),document.body):(0,tl.createPortal)((0,$.jsx)(`div`,{ref:f,className:`fixed z-50`,style:{left:n.x,top:n.y,transform:`translate(-50%, -100%)`},children:(0,$.jsxs)(`div`,{className:Y(`flex items-center gap-1 whitespace-nowrap`,`rounded-lg border border-[var(--interactive-border)]`,`bg-[var(--surface-elevated)] shadow-none`,`px-1.5 py-1`,`transition-[opacity,transform] duration-200 ease-out will-change-[opacity,transform]`,u?`opacity-0 translate-y-[4px]`:`opacity-100 translate-y-0`),children:[x?(0,$.jsxs)(`button`,{onClick:D,className:Y(`flex items-center gap-1.5 px-2 py-1 rounded-md`,`text-sm font-medium`,`text-[var(--surface-foreground)]`,`hover:bg-[var(--interactive-hover)]`,`transition-colors duration-150`),title:t(`chat.textSelection.title.addToCurrentChat`),type:`button`,children:[(0,$.jsx)(X,{name:`add`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:t(`chat.textSelection.actions.addToChat`)}),(0,$.jsx)(Yp,{shortcut:`⌘+I`})]}):null,x?(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}):null,x?(0,$.jsxs)(`button`,{onClick:O,className:Y(`flex items-center gap-1.5 px-2 py-1 rounded-md`,`text-sm font-medium`,`text-[var(--surface-foreground)]`,`hover:bg-[var(--interactive-hover)]`,`transition-colors duration-150`),title:t(`chat.textSelection.title.newSessionWithSelection`),type:`button`,children:[(0,$.jsx)(X,{name:`chat-new`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:t(`chat.textSelection.actions.newSession`)})]}):null,x?(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}):null,(0,$.jsxs)(`button`,{onClick:k,className:Y(`flex items-center gap-1.5 px-2 py-1 rounded-md`,`text-sm font-medium`,`text-[var(--surface-foreground)]`,`hover:bg-[var(--interactive-hover)]`,`transition-colors duration-150`),title:t(`chat.textSelection.actions.copy`),type:`button`,children:[(0,$.jsx)(X,{name:`file-copy`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:t(`chat.textSelection.actions.copy`)})]})]})}),document.body):null},GE=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),KE=(e,t)=>{let n=new Date(t);return n.setDate(t.getDate()-1),GE(e,n)},qE=e=>Number.isFinite(e)&&!Number.isNaN(new Date(e).getTime()),JE=(e,t)=>{if(!qE(e))return``;let n=new Date(e),r=new Date,i=oo(n,t),a=st(),o=lt.getState().dictionary;if(GE(n,r))return i;if(KE(n,r))return ut(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}`},YE=e=>typeof e!=`number`||!Number.isFinite(e)||e<0?0:e,XE=e=>e,ZE=e=>{if(!Array.isArray(e)||e.length===0)return 0;let t=0;for(let n of e){let e=XE(n);if(e.type!==`tool`)continue;let r=e.state,i=r?.time?.start,a=r?.time?.end;typeof i!=`number`||!Number.isFinite(i)||typeof a!=`number`||!Number.isFinite(a)||a<i||(t+=a-i)}return t},QE=(e,t,n,r)=>{let i=(typeof e==`number`&&Number.isFinite(e)&&e>0&&typeof t==`number`&&Number.isFinite(t)&&t>e?t-e:null)??(typeof r==`number`&&Number.isFinite(r)&&r>0?r:null);if(i===null)return null;let a=i-ZE(n);return!Number.isFinite(a)||a<=0?null:a},$E=e=>{let t=QE(e.createdAt,e.completedAt,e.parts,e.fallbackDurationMs);if(t===null)return null;let n=YE(e.outputTokens)+YE(e.reasoningTokens);if(n<=0)return null;let r=t/1e3;if(r<=0)return null;let i=n/r;return!Number.isFinite(i)||i<=0?null:i},eD=e=>{if(!Number.isFinite(e)||e<=0)return``;if(e>=1e3){let t=e/1e3;return`${t>=10?t.toFixed(0):t.toFixed(1)}k tok/s`}return e>=100?`${Math.round(e)} tok/s`:e>=10?`${e.toFixed(1)} tok/s`:`${e.toFixed(2)} tok/s`},tD=e=>{let t=(0,Q.c)(20),{text:n,active:r,className:i}=e,a=Z.useRef(n),[o,s]=Z.useState(n),[c,l]=Z.useState(null),u,d;t[0]!==r||t[1]!==n?(u=()=>{if(n===a.current)return;let e=a.current;if(a.current=n,!r||e.length===0){l(null),s(n);return}l(e),s(n)},d=[r,n],t[0]=r,t[1]=n,t[2]=u,t[3]=d):(u=t[2],d=t[3]),Z.useEffect(u,d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{l(null)},t[4]=f):f=t[4];let p=J(f),m;t[5]===i?m=t[6]:(m=Y(`oc-summary-flip-viewport relative block h-5 min-h-0 w-full min-w-0 max-w-full overflow-clip sm:h-6`,i),t[5]=i,t[6]=m);let h=c&&`invisible`,g;t[7]===h?g=t[8]:(g=Y(`block h-full min-w-0 truncate leading-5 sm:leading-6`,h),t[7]=h,t[8]=g);let _;t[9]!==o||t[10]!==g?(_=(0,$.jsx)(`span`,{className:g,children:o}),t[9]=o,t[10]=g,t[11]=_):_=t[11];let v;t[12]!==o||t[13]!==p||t[14]!==c?(v=c?(0,$.jsxs)(`span`,{className:`oc-summary-flip-stage absolute inset-0 block overflow-clip`,children:[(0,$.jsx)(`span`,{className:`oc-summary-flip-out absolute inset-x-0 top-0 block h-full truncate`,"aria-hidden":`true`,children:c}),(0,$.jsx)(`span`,{className:`oc-summary-flip-in absolute inset-x-0 top-0 block h-full truncate`,onAnimationEnd:p,children:o})]}):null,t[12]=o,t[13]=p,t[14]=c,t[15]=v):v=t[15];let y;return t[16]!==m||t[17]!==_||t[18]!==v?(y=(0,$.jsxs)(`span`,{className:m,children:[_,v]}),t[16]=m,t[17]=_,t[18]=v,t[19]=y):y=t[19],y},nD=[`search`,`read`,`list`];function rD(e){let t=rw(e);return t===`read`?`read`:t===`glob`||t===`grep`?`search`:t===`list`?`list`:null}function iD(e){let t={read:0,search:0,list:0};for(let n of e){let e=rD(n);e&&(t[e]+=1)}return t}function aD(e){return nw(e)}function oD(e){return e.kind===`reasoning`||e.type===`reasoning`?!1:e.kind===`justification`||e.type===`text`?!0:e.kind===`tool`||e.type===`tool`?!$C(e.toolName):e.kind!=null||e.type!=null}function sD(e,t,n){for(let r=t;r<e.length;r+=1)if(oD(n(e[r])))return!0;return!1}function cD(e){return`parts`in e?e.parts.some(e=>aD(e))?!0:!e.hasFollowingOtherType&&e.isTurnLive:e.some(e=>aD(e))}function lD(e,t,n){let r=[],i=t;for(;i<e.length&&$C(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var uD=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,dD=({activities:e,isMobile:t,isTurnLive:n=!1,hasFollowingOtherType:r=!1,exploring:i,children:a})=>{let{t:o}=ot(),[s,c]=Z.useState(!1),l=Z.useId(),u=e.map(e=>e.part),d=i??cD({parts:u,hasFollowingOtherType:r,isTurnLive:n}),f=iD(u.map(e=>e.tool)),p=nD.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`:t===1?`chat.contextGroup.listSingle`:`chat.contextGroup.listPlural`,{count:t})}).join(`, `),m=J(()=>{c(e=>!e)}),h=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m())}),g=o(s?`chat.contextGroup.collapseAria`:`chat.contextGroup.expandAria`),_=o(d?`chat.contextGroup.exploring`:`chat.contextGroup.explored`),v=t?`h-5`:`h-6`;return(0,$.jsxs)(`div`,{"data-component":`context-tool-group`,className:dm(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":s,"aria-controls":l,"aria-label":g,"data-mobile-press-feedback":`soft`,className:Y(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,fm),onClick:m,onKeyDown:h,children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center self-center`,v,t?`w-4`:`w-3.5`),style:{color:`var(--tools-icon)`},children:d?(0,$.jsx)(VC,{isMobile:t,label:o(`chat.contextGroup.exploring`),className:`block`}):(0,$.jsx)(X,{name:`search`,className:`block h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:Y(`typography-meta inline-flex flex-none items-center self-center font-medium`,v,uD,d&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...d?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:_}),p?(0,$.jsx)(`span`,{className:Y(`typography-meta inline-flex min-h-0 w-0 min-w-0 max-w-full flex-1 items-center self-center overflow-clip`,v,uD),style:{color:`var(--tools-description)`},children:(0,$.jsx)(tD,{text:p,active:d,className:t?`!h-5 sm:!h-5`:`!h-6 sm:!h-6`})}):null,(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:`relative ml-2 pl-3 pt-0.5`,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 fD(e,t,n){let r=[],i=t;for(;i<e.length&&ew(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var pD=e=>{if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null};function mD(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=pD(n.metadata.name);if(e)return e}if(n.input&&typeof n.input==`object`){let e=n.input,t=pD(e.name);if(t)return t;let r=pD(e.id);if(r)return r}if(n.output&&typeof n.output==`object`){let e=pD(n.output.name);if(e)return e}return null}function hD(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 gD=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,_D=({activities:e,isMobile:t,children:n})=>{let{t:r}=ot(),[i,a]=Z.useState(!1),o=Z.useId(),s=e.map(e=>e.part),c=s.some(e=>nw(e)),{joinedVisible:l,hiddenCount:u}=hD(s.map(mD)),d=u>0?r(`chat.skillGroup.summaryOverflow`,{names:l,count:u}):l,f=J(()=>{a(e=>!e)}),p=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f())}),m=r(i?`chat.skillGroup.collapseAria`:`chat.skillGroup.expandAria`),h=r(`chat.tools.display.skill`);return(0,$.jsxs)(`div`,{"data-component":`skill-tool-group`,className:dm(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":i,"aria-controls":o,"aria-label":m,"data-mobile-press-feedback":`soft`,className:Y(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,fm),onClick:f,onKeyDown:p,children:[(0,$.jsx)(`span`,{className:Y(`flex flex-none items-center justify-center`,t?`size-4`:`size-3.5`),style:{color:`var(--tools-icon)`},children:c?(0,$.jsx)(VC,{isMobile:t,label:h,className:`block`}):(0,$.jsx)(X,{name:`book`,className:`h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:Y(`typography-meta flex-none font-medium`,gD,c&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...c?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:h}),d?(0,$.jsx)(`span`,{className:Y(`typography-meta h-5 min-h-0 w-0 min-w-0 max-w-full flex-1 overflow-clip sm:h-6`,gD),style:{color:`var(--tools-description)`},children:(0,$.jsx)(tD,{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:`relative ml-2 pl-3 pt-0.5`,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]})},vD=Z.memo(e=>{let t=(0,Q.c)(18),{part:n,messageId:r,onContentChange:i,actions:a,streamPhase:o,onShowPopup:c}=e,l=s(yD),u=n,d=typeof u.text==`string`?u.text:``,f=typeof u.content==`string`?u.content:``,p=f.length>d.length?f:d,m=u.time,h=n.sessionID,g=o===void 0||o!==`completed`,_,v;if(t[0]!==i||t[1]!==p?(_=()=>{p.trim().length!==0&&i?.(`structural`)},v=[i,p],t[0]=i,t[1]=p,t[2]=_,t[3]=v):(_=t[2],v=t[3]),Z.useEffect(_,v),!p||p.trim().length===0)return null;let y=o??`streaming`,b=g&&typeof m?.end!=`number`,x;t[4]!==l||t[5]!==r||t[6]!==i||t[7]!==c||t[8]!==n||t[9]!==h||t[10]!==y||t[11]!==b?(x=(0,$.jsx)(`div`,{"data-message-text-export-source":`true`,children:(0,$.jsx)(FT,{part:n,sessionId:h,messageId:r,streamPhase:y,chatRenderMode:l,hasStreamingHapticLifecycle:b,onContentChange:i,onShowPopup:c})}),t[4]=l,t[5]=r,t[6]=i,t[7]=c,t[8]=n,t[9]=h,t[10]=y,t[11]=b,t[12]=x):x=t[12];let S;t[13]===a?S=t[14]:(S=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]=S);let C;return t[15]!==x||t[16]!==S?(C=(0,$.jsxs)(`div`,{"data-message-text-export-root":`true`,children:[x,S]}),t[15]=x,t[16]=S,t[17]=C):C=t[17],C});function yD(e){return e.chatRenderMode}var bD=e=>{let t=Math.max(0,Math.round(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},xD=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,SD=Y(`typography-meta font-medium`,xD),CD=Y(`typography-meta`,xD),wD=[],TD=e=>{let t=e.part;return t.slim===!0&&(t.type===`tool`||t.type===`reasoning`||t.type===`file`)},ED=e=>{let t=new Set;for(let n of e)TD(n)&&n.messageId&&t.add(n.messageId);return[...t]},DD=(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}),OD=e=>{let t=(0,Q.c)(5),{href:n}=e,[r,i]=Z.useState(!1),a;t[0]===n?a=t[1]:(a=rc(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},kD=e=>e,AD=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},jD=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},MD=e=>{let t=e.part.state?.metadata?.dir;return typeof t==`string`&&t.trim().length>0?t:null},ND=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},PD=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=ND(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`}`},FD=e=>{let t=e.part.state,n=t?.input,r=t?.output;if(Array.isArray(n?.todos)){let e=PD(n.todos);if(e)return e}if(Array.isArray(r)){let e=PD(r);if(e)return e}if(r&&typeof r==`object`&&Array.isArray(r.todos)){let e=PD(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=PD(e);if(t)return t}if(e&&typeof e==`object`&&Array.isArray(e.todos)){let t=PD(e.todos);if(t)return t}}catch{}return null},ID=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)},LD=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(aS,{variant:t?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,CD),style:{color:`var(--tools-description)`},title:e,children:e});let r=e.slice(0,n),i=e.slice(n+1),a=r.startsWith(`/`),o=a?r.slice(1):r;return(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex max-w-full flex-1 items-baseline overflow-hidden`,CD),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)(aS,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:i})]})},RD=e=>{let t=yo(e);return t?t.toLowerCase().endsWith(`/skill.md`)?t:`${t}/SKILL.md`:``},zD=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 mD(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`?FD(e):AD(e)},BD=e=>{let t=[],n=[];for(let r of e){if(r.kind!==`tool`)continue;let e=r.part;if(e.tool?.trim().toLowerCase()!==`task`)continue;let i=typeof e.id==`string`?e.id.trim():``;if(!i)continue;let a=e.state;if(!a||typeof a!=`object`)continue;let o=a;n.push(i),(o.status===`pending`||o.status===`running`)&&t.push(i)}return{active:t,all:n}},VD=Z.memo(e=>{let t=(0,Q.c)(16),{activity:n,isExpanded:r,isMobile:i,onToggleTool:a,onShowPopup:o,onContentChange:s}=e,c;t[0]!==n.id||t[1]!==a?(c=()=>{a(n.id)},t[0]=n.id,t[1]=a,t[2]=c):c=t[2];let l=J(c),u;t[3]===i?u=t[4]:(u=dm(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)(hT,{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&&qS([e.activity.part],[t.activity.part])),HD=Z.memo(e=>{let t=(0,Q.c)(9),{toolName:n,activities:r,isMobile:i}=e,a;t[0]===i?a=t[1]:(a=dm(i),t[0]=i,t[1]=a);let o;t[2]!==r||t[3]!==i||t[4]!==n?(o=(0,$.jsx)(GD,{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&&WD(e.activities,t.activities)),UD=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.kind===`reasoning`){if(!gt(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($C(i)){let r=lD(e,n,e=>e.part.tool);t.push({type:`tool-context-group`,activities:r.items,hasFollowingOtherType:sD(e,r.end,e=>({kind:e.kind,toolName:e.part.tool}))}),n=r.end;continue}if(ew(i)){let r=fD(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(ZC(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(XC(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(QC(i)){t.push({type:`tool-static-group`,toolName:i,activities:[r]}),n++;continue}t.push({type:`tool-fallback`,activity:r}),n++}return t},WD=(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||!qS([r.part],[i.part]))return!1}return!0},GD=Z.memo(e=>{let t=(0,Q.c)(106),{toolName:n,activities:r,isMobile:i,animateTailText:a}=e,{t:o}=ot(),c=s(YD),l=ac(n,o),u;t[0]===n?u=t[1]:(u=oS(n),t[0]=n,t[1]=u);let d=u,f;t[2]===n?f=t[3]:(f=n.toLowerCase(),t[2]=n,t[3]=f);let p=f===`read`,m=Z.useContext(Oo),h=eg(),g=we(XD),_=Fh(),v=_.kind===`embedded`?_.directory:g,y;t[4]===n?y=t[5]:(y=n.toLowerCase(),t[4]=n,t[5]=y);let b=y===`skill`,x;t[6]===b?x=t[7]:(x={enabled:b},t[6]=b,t[7]=x);let S=Tr(x),C;t[8]===S.data?C=t[9]:(C=S.data??[],t[8]=S.data,t[9]=C);let w=C,T;t[10]===w?T=t[11]:(T=new Map(w.map(ZD)),t[10]=w,t[11]=T);let E=T,D=r[0]??null,O=!D||nw(D.part),k;t[12]===D?k=t[13]:(k=D?zD(D):null,t[12]=D,t[13]=k);let A=k,j;if(t[14]!==A||t[15]!==D||t[16]!==E||t[17]!==n){bb0:{if(n.toLowerCase()!==`skill`||!D||!A){j=null;break bb0}let e=E.get(A)?.path||MD(D);if(!e||e===`<built-in>`){j=null;break bb0}let r=RD(e);if(!r){j=null;break bb0}let i;t[19]!==A||t[20]!==r?(i={name:A,path:r},t[19]=A,t[20]=r,t[21]=i):i=t[21],j=i}t[14]=A,t[15]=D,t[16]=E,t[17]=n,t[18]=j}else j=t[18];let M=j,N;if(t[22]!==v||t[23]!==p||t[24]!==D){bb1:{if(!p||!D){N=null;break bb1}let e=jD(D);if(!e){N=null;break bb1}let n=_o(e,v);if(!n){N=null;break bb1}let r;t[26]===D?r=t[27]:(r=ID(D),t[26]=D,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],N=i}t[22]=v,t[23]=p,t[24]=D,t[25]=N}else N=t[25];let P=N,F;t[32]!==v||t[33]!==h||t[34]!==m?(F=(e,t)=>{if(!v)return;let n=vo(v,e);if(!n)return;if(h){h.openFile({path:n,targetLine:t&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):void 0});return}if(m?.editor){m.editor.openFile(n,t);return}if(!So(n,v)){dc(n,v).then(()=>{let e=s.getState(),r=v||go(v,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=s.getState(),i=go(v,n);if(t&&Number.isFinite(t)){r.openContextFileAtLine(i,n,Math.max(1,Math.trunc(t)),1);return}r.openContextFile(i,n)},t[32]=v,t[33]=h,t[34]=m,t[35]=F):F=t[35];let I=J(F),L;t[36]!==v||t[37]!==h?(L=e=>{let t=yo(e);if(!t)return;let n=()=>{if(h){h.openFile({path:t});return}let e=s.getState(),n=v||go(``,t);e.openContextFile(n,t)};if(v&&!So(t,v)){dc(t,v).then(n);return}n()},t[36]=v,t[37]=h,t[38]=L):L=t[38];let R=J(L),z;t[39]===n?z=t[40]:(z=n.toLowerCase(),t[39]=n,t[40]=z);let B=z,V=B===`grep`||B===`search`||B===`find`||B===`ripgrep`||B===`glob`,H=B===`webfetch`||B===`fetch`||B===`curl`||B===`wget`,U=B===`skill`,W=!!(P||M),ee=!!(P&&v||M),G;t[41]!==ee||t[42]!==I||t[43]!==R||t[44]!==W||t[45]!==P||t[46]!==M?(G=()=>{if(!(!W||!ee)){if(P){I(P.path,P.offset);return}M&&R(M.path)}},t[41]=ee,t[42]=I,t[43]=R,t[44]=W,t[45]=P,t[46]=M,t[47]=G):G=t[47];let K=J(G),q;t[48]===K?q=t[49]:(q=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),K())},t[48]=K,t[49]=q);let te=J(q),ne=W&&ee&&`cursor-pointer`,re=W&&!ee&&`cursor-default opacity-70`,ie;t[50]!==ne||t[51]!==re?(ie=Y(`flex w-full items-center gap-x-1.5 min-w-0`,fm,ne,re),t[50]=ne,t[51]=re,t[52]=ie):ie=t[52];let ae=W?`soft`:void 0,oe=W?K:void 0,se=W?te:void 0,ce=W?`button`:void 0,le=W&&ee?0:void 0,ue=W&&!ee?!0:void 0,de=i?`size-4`:`size-3.5`,fe;t[53]===de?fe=t[54]:(fe=Y(`inline-flex items-center justify-center flex-shrink-0`,de),t[53]=de,t[54]=fe);let pe;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(pe={color:`var(--tools-icon)`},t[55]=pe):pe=t[55];let me=O?(0,$.jsx)(VC,{isMobile:i,label:o(`chat.assistantStatus.usingTool`,{tool:l})}):d,he;t[56]!==fe||t[57]!==pe||t[58]!==me?(he=(0,$.jsx)(`div`,{className:fe,style:pe,children:me}),t[56]=fe,t[57]=pe,t[58]=me,t[59]=he):he=t[59];let ge,_e;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(ge=Y(SD,`inline-flex items-center flex-shrink-0 opacity-85`),_e={color:`var(--tools-title)`},t[60]=ge,t[61]=_e):(ge=t[60],_e=t[61]);let ve;t[62]===l?ve=t[63]:(ve=(0,$.jsx)(`span`,{className:ge,style:_e,title:l,children:l}),t[62]=l,t[63]=ve);let ye;t[64]!==a||t[65]!==p||t[66]!==P||t[67]!==c?(ye=p&&P?(0,$.jsxs)(`span`,{className:Y(`inline-flex !min-h-0 items-center justify-start gap-1 min-w-0 flex-1 text-left`,CD),style:{color:`var(--tools-description)`},title:P.offset?`${P.displayPath}:${P.offset}`:P.displayPath,children:[c?(0,$.jsx)(_d,{filePath:P.path,className:`h-3.5 w-3.5`}):null,LD(P.displayPath,a)]}):null,t[64]=a,t[65]=p,t[66]=P,t[67]=c,t[68]=ye):ye=t[68];let be;t[69]!==a||t[70]!==A||t[71]!==V?(be=V&&A?(0,$.jsx)(`span`,{className:`inline-flex min-w-0 flex-1`,children:(0,$.jsxs)(aS,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,CD),style:{color:`var(--tools-description)`},title:A,children:[`"`,A,`"`]})}):null,t[69]=a,t[70]=A,t[71]=V,t[72]=be):be=t[72];let xe;t[73]!==A||t[74]!==H?(xe=H&&A?(0,$.jsxs)(`a`,{href:A,target:`_blank`,rel:`noopener noreferrer`,onClick:QD,className:Y(`min-w-0 flex-1 inline-flex items-center gap-1.5 underline decoration-[color:var(--status-info)] underline-offset-2 hover:opacity-90`,`truncate whitespace-nowrap`,CD),style:{color:`var(--status-info)`},title:A,children:[(0,$.jsx)(OD,{href:A}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:A})]}):null,t[73]=A,t[74]=H,t[75]=xe):xe=t[75];let Se;t[76]!==U||t[77]!==M?(Se=U&&M?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,CD),style:{color:`var(--tools-description)`},title:M.path,children:M.name}):null,t[76]=U,t[77]=M,t[78]=Se):Se=t[78];let Ce;t[79]!==A||t[80]!==U||t[81]!==M?(Ce=U&&!M&&A?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,CD),style:{color:`var(--tools-description)`},title:A,children:A}):null,t[79]=A,t[80]=U,t[81]=M,t[82]=Ce):Ce=t[82];let Te;t[83]!==a||t[84]!==A||t[85]!==H||t[86]!==p||t[87]!==V||t[88]!==U?(Te=!p&&!V&&!H&&!U&&A?(0,$.jsx)(aS,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,CD),style:{color:`var(--tools-description)`},children:A}):null,t[83]=a,t[84]=A,t[85]=H,t[86]=p,t[87]=V,t[88]=U,t[89]=Te):Te=t[89];let Ee;return t[90]!==ie||t[91]!==ae||t[92]!==oe||t[93]!==se||t[94]!==ce||t[95]!==le||t[96]!==ue||t[97]!==he||t[98]!==ve||t[99]!==ye||t[100]!==be||t[101]!==xe||t[102]!==Se||t[103]!==Ce||t[104]!==Te?(Ee=(0,$.jsxs)(`div`,{className:ie,"data-mobile-press-feedback":ae,onClick:oe,onKeyDown:se,role:ce,tabIndex:le,"aria-disabled":ue,children:[he,ve,ye,be,xe,Se,Ce,Te]}),t[90]=ie,t[91]=ae,t[92]=oe,t[93]=se,t[94]=ce,t[95]=le,t[96]=ue,t[97]=he,t[98]=ve,t[99]=ye,t[100]=be,t[101]=xe,t[102]=Se,t[103]=Ce,t[104]=Te,t[105]=Ee):Ee=t[105],Ee},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&WD(e.activities,t.activities)),KD=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)(qT,{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}),qD=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)(vD,{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}),JD=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}=ot(),_=uc()??``,v=Z.useMemo(()=>ED(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?bD(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(()=>BD(e),[e]),M=T?j.active:j.all,N=M.slice(0,c?2:3),P=J((e=!1,n=!1)=>{if(!(!_||!v.length)){for(let r of v){let i=t.find(e=>e.messageId===r)?.part.sessionID;if(!i)continue;let a=Ct(_,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=Nt(_,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=J(e=>{e.stopPropagation(),P(!0)}),I=T,L=I||n,R=J(()=>{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,H=[...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 Ct(_,n,e).status}),U=H.includes(`loading`),W=H.includes(`error`),ee=H.length>0&&H.every(e=>e===`ready`),G=t.some(e=>V.has(e.messageId)&&TD(e)),K=ee&&!G&&!DD(t,V),q=Z.useMemo(()=>B?kD(e):wD,[e,B]),te=Z.useMemo(()=>B?UD(q):[],[B,q]),ne=Z.useMemo(()=>L||z===0?0:Math.max(0,te.length-z),[L,z,te.length]),re=Z.useMemo(()=>L||z===0?te:te.slice(-z),[L,z,te]);if((!m||I&&!O)&&te.length===0)return null;let ie=(e,t)=>{let n=(0,$.jsx)(`div`,{className:dm(c),children:t});return(0,$.jsx)(Z.Fragment,{children:n},e)},ae=B?re.map((e,t)=>{switch(e.type){case`reasoning`:return ie(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(KD,{activity:e.activity,streamPhase:p,onContentChange:f})}));case`justification`:return ie(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(qD,{activity:e.activity,onContentChange:f,onShowPopup:d,actions:h?.(e.activity),streamPhase:p})}));case`tool-expandable`:return(0,$.jsx)(VD,{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)(HD,{toolName:e.toolName,activities:e.activities,isMobile:c},e.activities[0]?.id??`static-${e.toolName}-${t}`);case`tool-context-group`:return(0,$.jsx)(dD,{activities:e.activities,isMobile:c,isTurnLive:T,hasFollowingOtherType:e.hasFollowingOtherType,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(GD,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`context-${t}`);case`tool-skill-group`:return(0,$.jsx)(_D,{activities:e.activities,isMobile:c,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(GD,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`skill-${t}`);case`tool-fallback`:return(0,$.jsx)(VD,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);default:return null}}):null,oe=re.length>0;return m?(0,$.jsxs)(`div`,{className:dm(c),children:[(0,$.jsxs)(`button`,{ref:C,type:`button`,className:Y(`group/tool flex w-full min-w-0 flex-nowrap items-center text-left`,c?`gap-x-1`:`gap-x-2`,!I&&fm,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:Y(`inline-flex min-w-0 flex-1 items-center overflow-clip`,c?`gap-x-1`:`gap-x-1.5`),children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center`,c?`h-5 w-4`:`h-6 w-3.5`),style:{color:`var(--tools-icon)`},children:T&&!O?(0,$.jsx)(VC,{isMobile:c,label:A,className:`block`}):(0,$.jsx)(X,{name:k,className:`h-3.5 w-3.5`})}),(0,$.jsx)(`span`,{className:Y(`inline-flex flex-shrink-0 items-center`,c?`typography-meta h-5`:`typography-ui-label h-5 font-semibold`,T?`animate-text-shimmer text-[var(--status-info)] [--oc-text-shimmer-base:var(--status-info)]`:`text-foreground/85`),children:A}),E?(0,$.jsx)(`span`,{className:`typography-meta shrink-0 tabular-nums text-muted-foreground`,children:E}):null]}),(0,$.jsxs)(`span`,{className:Y(`ml-auto inline-flex max-w-[min(14rem,55%)] shrink-0 items-center justify-end`,c?`gap-0.5`:`gap-1`),children:[M.length>0?(0,$.jsxs)(`span`,{className:Y(`inline-flex min-w-0 items-center text-muted-foreground`,c?`gap-1`:`gap-1.5`),children:[(0,$.jsx)(`span`,{className:`inline-flex shrink-0 items-center gap-0.5`,"aria-hidden":`true`,children:N.map((e,t)=>(0,$.jsx)(sa,{name:e,size:c?12:14,className:Y(`flex-none`,c?`size-3 min-h-3 min-w-3 max-h-3 max-w-3`:`size-3.5 min-h-3.5 min-w-3.5 max-h-3.5 max-w-3.5`)},`${e}-${t}`))}),(0,$.jsx)(`span`,{className:`typography-meta min-w-0 truncate`,children:g(T?`chat.activity.agentsWorking`:`chat.activity.agentsInvolved`,{count:M.length})})]}):null,I?null:(0,$.jsx)(X,{name:L?`arrow-down-s`:`arrow-right-s`,className:Y(`flex-shrink-0 text-muted-foreground opacity-70`,c&&`-mr-0.5`,c?`size-3`:`size-3.5`)})]})]}),oe?(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)`}}),ne>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:[`+`,ne,` more...`]}):null,(0,$.jsx)(`div`,{className:`flow-root`,children:ae})]}):null,L&&(U||W||K)?(0,$.jsx)(`div`,{className:Y(`typography-meta flex min-h-9 items-center gap-2 px-2 text-muted-foreground`,I?void 0:`ml-5`,W&&`text-[var(--status-error)]`),role:W?`alert`:`status`,children:U?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 shrink-0 animate-spin`}),(0,$.jsx)(`span`,{children:g(`chat.activity.outputLoading`)})]}):W?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`error-warning`,className:`size-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1`,children:g(`chat.activity.outputLoadFailed`)}),(0,$.jsx)(ca,{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:dm(c),children:ae})});function YD(e){return e.showToolFileIcons}function XD(e){return e.currentDirectory}function ZD(e){return[e.name,e]}function QD(e){e.stopPropagation()}var $D=Z.memo(e=>{let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(JD,{...e}),t[0]=e,t[1]=n),n}),eO={contain:`layout`},tO={containerType:`inline-size`,containerName:`message-footer`},nO=`mt-1.5 mb-0.5 flex items-center justify-start gap-1.5`,rO=`mt-3 mb-0.5 flex items-center justify-start gap-1.5`,iO=`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`,aO=`size-3.5!`,oO=`mt-1.5 mb-0.5 flex flex-wrap items-center gap-3`,sO=`mt-3 mb-0.5 flex flex-wrap items-center gap-3 -ml-[5px]`,cO=`flex items-center gap-2`,lO=`flex items-center gap-2 text-muted-foreground`,uO=`inline-flex h-3.5 items-center gap-1 text-[11px] leading-none tabular-nums text-muted-foreground`,dO=`size-3.5!`,fO=`medium`,pO=e=>e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e,mO=`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)]`,hO=`h-7 gap-1.5`,gO=`h-6 gap-1`,_O=`text-[11px] leading-none`,vO=`size-3.5`,yO=`size-3`,bO=5,xO=Z.memo(e=>{let t=(0,Q.c)(30),{file:n,isMobile:r}=e,i=r?`gap-1 text-[11px]`:`gap-1.5 text-xs`,a;t[0]===i?a=t[1]:(a=Y(`flex min-w-0 flex-1 items-center leading-none text-muted-foreground`,i),t[0]=i,t[1]=a);let o=n.file,s=r?`h-3 w-3`:`h-3.5 w-3.5`,c;t[2]===s?c=t[3]:(c=Y(`flex-shrink-0`,s),t[2]=s,t[3]=c);let l;t[4]!==n.file||t[5]!==c?(l=(0,$.jsx)(_d,{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=pO(n.file),t[7]=n.file,t[8]=d);let f;t[9]!==n.file||t[10]!==d?(f=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left text-foreground/80`,title:u,children:d}),t[9]=n.file,t[10]=d,t[11]=f):f=t[11];let p=r?`text-[11px]`:`typography-meta`,m;t[12]===p?m=t[13]:(m=Y(`inline-flex flex-shrink-0 items-center gap-0 leading-none tabular-nums`,p),t[12]=p,t[13]=m);let h;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(h={color:`var(--status-success)`},t[14]=h):h=t[14];let g;t[15]===n.additions?g=t[16]:(g=(0,$.jsxs)(`span`,{style:h,children:[`+`,n.additions]}),t[15]=n.additions,t[16]=g);let _,v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:`text-muted-foreground/70`,children:`/`}),v={color:`var(--status-error)`},t[17]=_,t[18]=v):(_=t[17],v=t[18]);let y;t[19]===n.deletions?y=t[20]:(y=(0,$.jsxs)(`span`,{style:v,children:[`-`,n.deletions]}),t[19]=n.deletions,t[20]=y);let b;t[21]!==m||t[22]!==g||t[23]!==y?(b=(0,$.jsxs)(`span`,{className:m,children:[g,_,y]}),t[21]=m,t[22]=g,t[23]=y,t[24]=b):b=t[24];let x;return t[25]!==b||t[26]!==a||t[27]!==l||t[28]!==f?(x=(0,$.jsxs)(`span`,{className:a,children:[l,f,b]}),t[25]=b,t[26]=a,t[27]=l,t[28]=f,t[29]=x):x=t[29],x}),SO=Z.memo(e=>{let t=(0,Q.c)(18),{file:n,canOpen:r,isMobile:i,onOpen:a}=e,{t:o}=ot(),s;t[0]!==n.file||t[1]!==a?(s=()=>{a(n.file)},t[0]=n.file,t[1]=a,t[2]=s):s=t[2];let c=J(s),l=!r,u=i?gO:hO,d;t[3]===u?d=t[4]:(d=Y(mO,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)(xO,{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)(ca,{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}),CO=Z.memo(e=>{let t=(0,Q.c)(53),{fileCount:n,changedFiles:r,turnId:i,isLatestTurn:a,isMobile:o}=e,{t:c}=ot(),l=uc(),u=Fh(),d=u.directory||l,f=u.sessionId,p=eg(),m=s(LO),h;t[0]===r?h=t[1]:(h=r??[],t[0]=r,t[1]=h);let g=h,_;t[2]===g?_=t[3]:(_=g.slice(0,bO),t[2]=g,t[3]=_);let v=_,y=Math.max(0,g.length-v.length),b=g.length>0?g.length:n,x=!!(p||!o&&d||o&&a),S;t[4]!==b||t[5]!==c?(S=c(b===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:b}),t[4]=b,t[5]=c,t[6]=S):S=t[6];let C=S,w;t[7]!==y||t[8]!==c?(w=c(y===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:y}),t[7]=y,t[8]=c,t[9]=w):w=t[9];let T=w,E=Y(mO,o?gO:hO),D=o?yO:vO,O;t[10]===o?O=t[11]:(O=o?Y(_O,`font-semibold text-foreground/85`):`typography-meta font-semibold text-foreground/85`,t[10]=o,t[11]=O);let k=O,A;t[12]===o?A=t[13]:(A=o?Y(_O,`text-muted-foreground`):`typography-meta text-muted-foreground`,t[12]=o,t[13]=A);let j=A,M;t[14]===o?M=t[15]:(M=o?Y(_O,`font-medium`):`typography-meta font-medium`,t[14]=o,t[15]=M);let N=M,P;t[16]!==d||t[17]!==f||t[18]!==a||t[19]!==o||t[20]!==p||t[21]!==i?(P=e=>{if(p){p.openTurnDiff(i,f,e);return}if(!o&&d){XT({directory:d,filePath:e,turnMessageId:i,sessionId:f});return}o&&a&&d&&XT({directory:d,filePath:e,turnMessageId:i,sessionId:f,mobile:!0})},t[16]=d,t[17]=f,t[18]=a,t[19]=o,t[20]=p,t[21]=i,t[22]=P):P=t[22];let F=J(P),I;t[23]!==d||t[24]!==f||t[25]!==a||t[26]!==o||t[27]!==p||t[28]!==m||t[29]!==i||t[30]!==v[0]?.file?(I=()=>{if(p){p.openTurnDiff(i,f);return}if(!o&&d){m(d,{mode:`diff`,dedupeKey:`turn-diff:${f||`session`}:${i}`,targetPath:null,diffScope:`turn`,diffTurnMessageId:i,diffSessionId:f});return}let e=v[0]?.file;e&&o&&a&&d&&XT({directory:d,filePath:e,turnMessageId:i,sessionId:f,mobile:!0})},t[23]=d,t[24]=f,t[25]=a,t[26]=o,t[27]=p,t[28]=m,t[29]=i,t[30]=v[0]?.file,t[31]=I):I=t[31];let L=J(I),R=o?`gap-0 border-foreground/15 p-1`:`gap-0.5 border-border/50 p-1.5`,z;t[32]===R?z=t[33]:(z=Y(`mt-4 flex min-w-0 flex-col rounded-[var(--radius-lg)] border bg-muted/20`,R),t[32]=R,t[33]=z);let B=Y(E,`max-w-full text-muted-foreground hover:text-foreground`),V;t[34]===c?V=t[35]:(V=c(`diffView.actions.reviewAria`),t[34]=c,t[35]=V);let H;t[36]===c?H=t[37]:(H=c(`diffView.actions.reviewAria`),t[36]=c,t[37]=H);let U;t[38]===D?U=t[39]:(U=(0,$.jsx)(X,{name:`file-edit`,className:D}),t[38]=D,t[39]=U);let W=`turn-changes-${i}`,ee;t[40]===c?ee=t[41]:(ee=c(`chat.changedFiles.title`),t[40]=c,t[41]=ee);let G;t[42]!==W||t[43]!==ee||t[44]!==k?(G=(0,$.jsx)(`span`,{id:W,className:k,children:ee}),t[42]=W,t[43]=ee,t[44]=k,t[45]=G):G=t[45];let K;t[46]!==C||t[47]!==j?(K=(0,$.jsx)(`span`,{className:j,children:C}),t[46]=C,t[47]=j,t[48]=K):K=t[48];let q;t[49]===D?q=t[50]:(q=Y(D,`opacity-60`),t[49]=D,t[50]=q);let te;return t[51]===q?te=t[52]:(te=(0,$.jsx)(X,{name:`arrow-right-s`,className:q}),t[51]=q,t[52]=te),(0,$.jsxs)(`section`,{className:z,"data-turn-changes-preview":`true`,"data-message-action-group":`true`,"aria-labelledby":`turn-changes-${i}`,children:[(0,$.jsxs)(ca,{type:`button`,variant:`ghost`,size:`xs`,disabled:!x,onClick:L,className:B,"aria-label":V,title:H,children:[U,G,K,te]}),v.length>0?(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col`,o?`gap-0`:`gap-0.5`),children:[v.map(e=>(0,$.jsx)(SO,{file:e,canOpen:x,isMobile:o,onOpen:F},e.file)),y>0?(0,$.jsxs)(ca,{type:`button`,variant:`ghost`,size:`xs`,disabled:!x,className:Y(E,`text-muted-foreground hover:text-foreground`),onClick:L,"aria-label":c(`diffView.actions.reviewAria`),title:c(`diffView.actions.reviewAria`),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:Y(D,`flex-shrink-0`)}),(0,$.jsxs)(`span`,{className:N,children:[`+`,T]}),(0,$.jsx)(X,{name:`arrow-right-s`,className:D})]}):null]}):null]})}),wO=e=>e.type===`subtask`,TO=e=>{let t=e;return t.type===`text`&&typeof t.shellAction==`object`&&t.shellAction!==null},EO=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}`},DO=e=>{let t=(0,Q.c)(49),{part:n}=e,[r,i]=Z.useState(!1),a=uc(),{isMobile:o}=fo(),c=Zr(RO),l=s(zO),u=Fh(),{t:f}=ot(),p;t[0]===n.description?p=t[1]:(p=typeof n.description==`string`?n.description.trim():``,t[0]=n.description,t[1]=p);let m=p,h;t[2]===n.command?h=t[3]:(h=typeof n.command==`string`?n.command.trim():``,t[2]=n.command,t[3]=h);let g=h,_;t[4]===n.agent?_=t[5]:(_=typeof n.agent==`string`?n.agent.trim():``,t[4]=n.agent,t[5]=_);let v=_,y;t[6]===n.prompt?y=t[7]:(y=typeof n.prompt==`string`?n.prompt.trim():``,t[6]=n.prompt,t[7]=y);let b=y,x;t[8]===n.taskSessionID?x=t[9]:(x=typeof n.taskSessionID==`string`?n.taskSessionID.trim():``,t[8]=n.taskSessionID,t[9]=x);let S=x,C;t[10]===n.model?C=t[11]:(C=EO(n.model),t[10]=n.model,t[11]=C);let w=C,T=!!b&&!(o&&u.kind===`primary`),E;t[12]===f?E=t[13]:(E=f(`chat.messageBody.subtask.title`),t[12]=f,t[13]=E);let D;t[14]===E?D=t[15]:(D=(0,$.jsx)(`span`,{className:`typography-meta font-semibold text-foreground`,children:E}),t[14]=E,t[15]=D);let O;t[16]===g?O=t[17]:(O=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[16]=g,t[17]=O);let k;t[18]===v?k=t[19]:(k=v?(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:[`@`,v]}):null,t[18]=v,t[19]=k);let A;t[20]===w?A=t[21]:(A=w?(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:w}):null,t[20]=w,t[21]=A);let j;t[22]!==k||t[23]!==A||t[24]!==D||t[25]!==O?(j=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[D,O,k,A]}),t[22]=k,t[23]=A,t[24]=D,t[25]=O,t[26]=j):j=t[26];let M;t[27]===m?M=t[28]:(M=m?(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground/90 mt-1.5`,children:m}):null,t[27]=m,t[28]=M);let N;t[29]!==r||t[30]!==b||t[31]!==T||t[32]!==f?(N=T?(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(BO),children:f(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:b}):null]}):null,t[29]=r,t[30]=b,t[31]=T,t[32]=f,t[33]=N):N=t[33];let P;t[34]!==v||t[35]!==m||t[36]!==a||t[37]!==o||t[38]!==l||t[39]!==u||t[40]!==c||t[41]!==f||t[42]!==S?(P=S&&u.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=u.directory||a;e&&Lh(u,S,e,()=>{if(!ai({sessionId:S,directory:e})){if(ul()||o||d()){c(S,e);return}l(e,{mode:`chat`,dedupeKey:`session:${S}`,label:m||v||f(`contextPanel.mode.chat`),readOnly:!0})}})},children:f(`chat.messageBody.subtask.openSession`)})}):null,t[34]=v,t[35]=m,t[36]=a,t[37]=o,t[38]=l,t[39]=u,t[40]=c,t[41]=f,t[42]=S,t[43]=P):P=t[43];let F;return t[44]!==j||t[45]!==M||t[46]!==N||t[47]!==P?(F=(0,$.jsxs)(`div`,{className:`mt-2`,children:[j,M,N,P]}),t[44]=j,t[45]=M,t[46]=N,t[47]=P,t[48]=F):F=t[48],F},OO=e=>{let t=(0,Q.c)(34),{notification:n}=e,r=uc(),i=s(VO),{isMobile:a}=fo(),{t:o}=ot(),c;t[0]!==r||t[1]!==a?(c=r&&!a&&!d(),t[0]=r,t[1]=a,t[2]=c):c=t[2];let l=!!c,u;t[3]!==n.state||t[4]!==o?(u=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]=u):u=t[5];let f=u,p=n.state===`completed`?o(`chat.messageBody.subagent.completedDescription`):n.state===`error`?o(`chat.messageBody.subagent.errorDescription`):o(`chat.messageBody.subagent.cancelledDescription`),m=n.description||p,h=J(()=>{!l||!r||i(r,{mode:`chat`,dedupeKey:`session:${n.sessionID}`,label:m,readOnly:!0})}),g;t[6]===h?g=t[7]:(g=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),h())},t[6]=h,t[7]=g);let _=J(g),v=l&&`cursor-pointer hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,y;t[8]===v?y=t[9]:(y=Y(`mt-2 flex min-w-0 gap-2.5 rounded-[var(--radius-lg)] border border-border/60 bg-muted/20 px-3 py-2.5`,v),t[8]=v,t[9]=y);let b=l?`button`:void 0,x=l?0:void 0,S=l?o(`chat.messageBody.subagent.openSession`,{label:m}):void 0,C=l?h:void 0,w=l?_:void 0,T;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(T=(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]=T):T=t[10];let E;t[11]===m?E=t[12]:(E=(0,$.jsx)(`span`,{className:`typography-meta min-w-0 flex-1 truncate font-semibold text-foreground/90`,children:m}),t[11]=m,t[12]=E);let D=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`,O;t[13]===D?O=t[14]:(O=Y(`inline-flex h-5 flex-shrink-0 items-center rounded px-1.5 text-[11px] leading-none`,D),t[13]=D,t[14]=O);let k;t[15]!==f||t[16]!==O?(k=(0,$.jsx)(`span`,{className:O,children:f}),t[15]=f,t[16]=O,t[17]=k):k=t[17];let A;t[18]!==E||t[19]!==k?(A=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[E,k]}),t[18]=E,t[19]=k,t[20]=A):A=t[20];let j;t[21]===n.body?j=t[22]:(j=n.body?(0,$.jsx)(`div`,{className:`typography-meta mt-1 max-h-16 overflow-hidden text-muted-foreground [&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,children:(0,$.jsx)(As,{content:n.body,variant:`tool`,enableFileReferences:!1})}):null,t[21]=n.body,t[22]=j);let M;t[23]!==A||t[24]!==j?(M=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[A,j]}),t[23]=A,t[24]=j,t[25]=M):M=t[25];let N;return t[26]!==w||t[27]!==M||t[28]!==y||t[29]!==b||t[30]!==x||t[31]!==S||t[32]!==C?(N=(0,$.jsxs)(`div`,{className:y,role:b,tabIndex:x,"aria-label":S,onClick:C,onKeyDown:w,children:[T,M]}),t[26]=w,t[27]=M,t[28]=y,t[29]=b,t[30]=x,t[31]=S,t[32]=C,t[33]=N):N=t[33],N},kO={background:`transparent`,backgroundColor:`transparent`},AO=e=>{let t=(0,Q.c)(36),{part:n}=e,[r,i]=Z.useState(!1),[a,o]=Z.useState(!1),s=Z.useRef(null),{t:c}=ot(),l;t[0]===n.shellAction?l=t[1]:(l=typeof n.shellAction?.command==`string`?n.shellAction.command.trim():``,t[0]=n.shellAction,t[1]=l);let u=l,d=typeof n.shellAction?.output==`string`?n.shellAction.output:``,f;t[2]===n.shellAction?f=t[3]:(f=typeof n.shellAction?.status==`string`?n.shellAction.status.trim().toLowerCase():``,t[2]=n.shellAction,t[3]=f);let p=f,m;t[4]===d?m=t[5]:(m=d.trim(),t[4]=d,t[5]=m);let h=m.length>0,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{s.current!==null&&typeof window<`u`&&(window.clearTimeout(s.current),s.current=null)},t[6]=g):g=t[6];let _=J(g),v,y;t[7]===_?(v=t[8],y=t[9]):(v=()=>()=>{_()},y=[_],t[7]=_,t[8]=v,t[9]=y),Z.useEffect(v,y);let b;t[10]!==_||t[11]!==h||t[12]!==d?(b=async()=>{h&&(await ct(d)).ok&&(_(),o(!0),typeof window<`u`&&(s.current=window.setTimeout(()=>{o(!1),s.current=null},2e3)))},t[10]=_,t[11]=h,t[12]=d,t[13]=b):b=t[13];let x=J(b),S;t[14]===c?S=t[15]:(S=c(`chat.messageBody.shellCommand.title`),t[14]=c,t[15]=S);let C;t[16]===S?C=t[17]:(C=(0,$.jsx)(`span`,{className:`typography-meta font-semibold text-foreground`,children:S}),t[16]=S,t[17]=C);let w;t[18]===p?w=t[19]:(w=p?(0,$.jsx)(`span`,{className:Y(`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none`,p===`error`?`bg-[var(--status-error-background)] text-[var(--status-error)]`:`bg-foreground/5 text-muted-foreground`),children:p}):null,t[18]=p,t[19]=w);let T;t[20]!==w||t[21]!==C?(T=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[C,w]}),t[20]=w,t[21]=C,t[22]=T):T=t[22];let E;t[23]===u?E=t[24]:(E=u?(0,$.jsx)(`div`,{className:`typography-meta mt-1.5 overflow-x-auto font-mono`,children:(0,$.jsx)(Mc,{language:`bash`,code:u,codeStyle:kO,wrap:!0})}):null,t[23]=u,t[24]=E);let D;t[25]!==a||t[26]!==x||t[27]!==r||t[28]!==h||t[29]!==d||t[30]!==c?(D=h?(0,$.jsxs)(`div`,{className:`mt-2 border-t border-border/60 pt-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,$.jsx)(`button`,{type:`button`,className:`typography-meta text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2`,onClick:()=>i(HO),children:c(r?`chat.messageBody.shellCommand.hideOutput`:`chat.messageBody.shellCommand.showOutput`)}),(0,$.jsx)(`button`,{type:`button`,className:`inline-flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors`,onClick:()=>{x()},"aria-label":c(a?`chat.messageBody.shellCommand.copied`:`chat.messageBody.shellCommand.copyOutput`),title:c(a?`chat.messageBody.shellCommand.copied`:`chat.messageBody.shellCommand.copyOutput`),children:a?(0,$.jsx)(X,{name:`check`,className:`h-3.5 w-3.5`}):(0,$.jsx)(X,{name:`file-copy`,className:`h-3.5 w-3.5`})})]}),r?(0,$.jsx)(`div`,{className:`typography-meta mt-1.5 max-h-56 overflow-auto font-mono text-foreground/85`,children:(0,$.jsx)(Mc,{language:`bash`,code:d,codeStyle:kO,wrap:!0})}):null]}):null,t[25]=a,t[26]=x,t[27]=r,t[28]=h,t[29]=d,t[30]=c,t[31]=D):D=t[31];let O;return t[32]!==T||t[33]!==E||t[34]!==D?(O=(0,$.jsxs)(`div`,{className:`mt-2`,children:[T,E,D]}),t[32]=T,t[33]=E,t[34]=D,t[35]=O):O=t[35],O},jO=e=>{let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},MO=(e,t)=>{if(t&&typeof t==`object`)return{output:typeof t.output==`number`&&Number.isFinite(t.output)?Math.max(0,t.output):0,reasoning:typeof t.reasoning==`number`&&Number.isFinite(t.reasoning)?Math.max(0,t.reasoning):0};for(let t of e){let e=t.tokens;if(!(!e||typeof e!=`object`))return{output:typeof e.output==`number`&&Number.isFinite(e.output)?Math.max(0,e.output):0,reasoning:typeof e.reasoning==`number`&&Number.isFinite(e.reasoning)?Math.max(0,e.reasoning):0}}return{output:0,reasoning:0}},NO=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,messageCreatedAt:i,isMobile:a,alwaysShowActions:o=a,hasTouchInput:c,hasTextContent:l,onCopyMessage:u,copiedMessage:d,onShowPopup:f,agentMention:p,onEdit:m,onRevert:h,onFork:g,pendingMessageAction:_,editing:v,editStaged:y,onCancelEdit:b,userActionsMode:x=`inline`,stickyUserHeaderEnabled:S=!0})=>{let{locale:C,t:w}=ot(),T=Sg(),E=Ih(Fh()),D=s(e=>e.timeFormatPreference),[O,k]=Z.useState(!1),A=Z.useRef(null),j=Z.useMemo(()=>n.filter(e=>e.type===`text`?!dn(e):!!(wO(e)||TO(e))),[n]),M=Z.useMemo(()=>j.map(e=>tr(e)?ES(gt(e)):void 0),[j]),N=p?.token,P=!1,F=!!u,I=!!d,L=!!(c??a),R=!!l,z=x!==`external-actions`,B=x!==`external-content`,V=S&&x===`inline`,H=J(()=>{A.current!==null&&typeof window<`u`&&(window.clearTimeout(A.current),A.current=null)}),U=J(()=>{!L||!F||!R||typeof window>`u`||(H(),k(!0),A.current=window.setTimeout(()=>{k(!1),A.current=null},1800))});Z.useEffect(()=>{R||(k(!1),H())},[H,R]);let W=J(e=>{!u||!R||(e.stopPropagation(),e.preventDefault(),u(),L&&U())}),ee=T===`mini-chat`||!E.fork?void 0:g,G=Z.useMemo(()=>{if(typeof i!=`number`||i<=0)return null;let e=JE(i,D);return e.length>0?e:null},[C,i,D]),K=Y(`group/user-actions`,a?x===`inline`?`flex items-center justify-end pt-2 pb-3`:S?`flex h-9 items-start justify-end pt-0`:`flex h-11 items-start justify-end pt-0`:x===`inline`?`absolute top-full left-0 right-0 z-10 pt-5`:`flex h-8 items-start justify-end pt-2`),q=!v&&y&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsxs)(`div`,{className:Y(cO,`justify-end`,!a&&x===`inline`&&`translate-x-5`,`pointer-events-auto opacity-100`),"data-message-action-group":`true`,children:[(0,$.jsxs)(`span`,{className:Y(uO,`text-primary`),"aria-live":`polite`,children:[(0,$.jsx)(X,{weight:fO,name:`edit`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:w(`chat.messageBody.actions.editStaged`)})]}),b?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":w(`chat.messageBody.actions.cancelEdit`),onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),b()},children:(0,$.jsx)(X,{weight:fO,name:`close`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.cancelEdit`)})]}):null]})}):null,te=(v&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsx)(`div`,{className:Y(cO,`justify-end`,!a&&x===`inline`&&`translate-x-5`,`pointer-events-none opacity-100`),children:(0,$.jsx)(`span`,{className:Y(uO,`animate-text-shimmer`),"aria-live":`polite`,children:w(`chat.messageBody.actions.editing`)})})}):null)??q??((F&&R||m||h||ee)&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsxs)(`div`,{className:Y(cO,`justify-end`,!a&&x===`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:[G?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsxs)(`span`,{className:Y(uO,`mr-1`),"aria-label":`Message time: ${G}`,children:[(0,$.jsx)(X,{weight:fO,name:`time`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:G})]})}),(0,$.jsx)(Va,{children:G})]}):null,h&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":w(`chat.messageBody.actions.revertAria`),"aria-busy":_===`revert`,disabled:!!_,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),h()},children:(0,$.jsx)(X,{weight:fO,name:_===`revert`?`loader-4`:`arrow-go-back`,className:Y(aO,_===`revert`&&`animate-spin`)})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.revert`)})]}),m&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":w(`chat.messageBody.actions.editAria`),disabled:!!_,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),m()},children:(0,$.jsx)(X,{weight:fO,name:`edit`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.edit`)})]}),ee&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":w(`chat.messageBody.actions.forkAria`),"aria-busy":_===`fork`,disabled:!!_,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),ee()},children:(0,$.jsx)(X,{weight:fO,name:_===`fork`?`loader-4`:`git-branch`,className:Y(aO,_===`fork`&&`animate-spin`)})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.fork`)})]}),F&&R&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":O||I?`true`:void 0,className:iO,"aria-label":w(`chat.messageBody.actions.copyMessageAria`),onPointerDown:e=>e.stopPropagation(),onClick:W,onFocus:()=>k(!0),onBlur:()=>{I||k(!1)},children:I?(0,$.jsx)(X,{weight:fO,name:`check`,className:Y(aO,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:fO,name:`file-copy`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.copyMessage`)})]})]})}):null);return z?(0,$.jsxs)(`div`,{className:`relative w-full group/message`,style:eO,onTouchStart:L&&F&&R?U:void 0,children:[(0,$.jsx)(`div`,{className:Y(`leading-relaxed text-foreground/90 text-base overflow-x-hidden`,V?`overflow-y-auto overscroll-contain scrollbar-none`:`overflow-y-hidden`),style:V?{maxHeight:`calc(var(--chat-scroll-height, 100dvh) * 0.4)`}:void 0,children:j.map((e,i)=>{if(wO(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(DO,{part:e})},e.id??`user-subtask-${i}`);if(TO(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(AO,{part:e})},e.id??`user-shell-${i}`);let o=M[i];if(o)return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(OO,{notification:o})},e.id??`subagent-notification-${i}`);let s;return p&&N&&!P&&gt(e).includes(N)&&(s=p,P=!0),(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(rS,{part:e,messageId:t,isMobile:a,agentMention:s,messageParts:r??n})},e.id??`user-text-${i}`)})}),(0,$.jsx)(Ud,{files:n,messageID:t,sessionID:e,onShowPopup:f,compact:!0}),te]}):(0,$.jsx)($.Fragment,{children:te})}),PO=Z.memo(({hasCopyableText:e,isTouchContext:t,onCopyMessage:n,reviewTransferAction:r,ttsText:i,sessionId:a})=>{let{t:o}=ot(),s=Sg(),c=Fh(),l=Ih(c),{isPlaying:u,play:d,stop:f}=OE(),p=Qr(e=>e.showMessageTTSButtons),m=Qr(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=J(()=>{x.current!==null&&typeof window<`u`&&(window.clearTimeout(x.current),x.current=null)}),E=J(()=>{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=J(()=>{!t||!C||!e||typeof window>`u`||(T(),g(!0),x.current=window.setTimeout(()=>{g(!1),x.current=null},1800))}),O=J(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=J(async t=>{if(t.stopPropagation(),t.preventDefault(),!(!r||y||!e)){b(!0);try{await r.onClick()}finally{b(!1)}}}),A=J(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=J(e=>{if(e.stopPropagation(),e.preventDefault(),u){f();return}i.trim()&&d(i)});return(0,$.jsxs)($.Fragment,{children:[n&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":h||_?`true`:void 0,className:Y(iO,!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:fO,name:`check`,className:Y(aO,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:fO,name:`file-copy`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:o(`chat.messageBody.actions.copyAnswer`)})]}),w?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":o(`chat.messageBody.actions.openSourceSessionAria`),onPointerDown:e=>e.stopPropagation(),onClick:A,children:(0,$.jsx)(X,{weight:fO,name:`target`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:o(`chat.messageBody.actions.openSourceSession`)})]}):null,r&&s!==`mini-chat`&&l.reviewTransfer?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,size:`icon`,variant:`ghost`,disabled:y||!e,className:Y(iO,(!e||y)&&`opacity-50`),"aria-label":r.ariaLabel,onPointerDown:e=>e.stopPropagation(),onClick:e=>{k(e)},children:y?(0,$.jsx)(X,{weight:fO,name:`loader-4`,className:Y(aO,`animate-spin`)}):(0,$.jsx)(X,{weight:fO,name:`arrow-left-right`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:r.tooltip})]}):null,s!==`mini-chat`&&p&&e&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:Y(iO,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:fO,name:`stop`,className:aO}):(0,$.jsx)(X,{weight:fO,name:`volume-up`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:j})]})]})}),FO=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,isMessageCompleted:i,messageFinish:a,messageCompletedAt:o,messageCreatedAt:c,messageTokens:l,isMobile:u,alwaysShowActions:f,hasTouchInput:p,expandedTools:m,onToggleTool:h,onShowPopup:g,streamPhase:_,allowAnimation:v,onContentChange:y,hasTextContent:b=!1,onCopyMessage:x,onAuxiliaryContentComplete:S,showReasoningTraces:C=!1,turnGroupingContext:w,errorMessage:T,errorVariant:E=`error`,reviewTransferDirection:D=null})=>{let{t:O,locale:k}=ot(),A=Sg(),j=Ih(Fh()),M=_,N=Z.useRef(null),P=Z.useRef(null),F=_===`streaming`||_===`cooldown`,I=Z.useRef({messageId:t,experiencedStreamingOrCooldown:F});I.current.messageId===t?F&&(I.current.experiencedStreamingOrCooldown=!0):I.current={messageId:t,experiencedStreamingOrCooldown:F};let L=!!(p??u),R=!!(f??u),z=u?sO:oO,B=!i,V=Z.useMemo(()=>n.filter(e=>!dn(e)).filter(e=>e.type!==`compaction`),[n]),H=Z.useMemo(()=>V.filter(e=>e.type===`tool`),[V]),U=Z.useMemo(()=>V.filter(e=>e.type===`text`),[V]),W=Z.useMemo(()=>ar(U),[U]),ee=s(e=>e.openContextPreview),G=d(),K=A===`mini-chat`,q=Z.useMemo(()=>{if(G||u||K)return null;for(let e of U){let t=e.text;if(typeof t!=`string`||t.length===0)continue;let n=ic(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 H){let t=e.state,n=t&&typeof t.output==`string`?t.output:null;if(!n)continue;let r=ic(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},[U,u,K,G,H]),te=Zr(e=>e.forkFromMessage),ne=Zr(e=>e.forkTransition),re=Zr(e=>e.currentSessionId),ie=Zr(e=>e.getDirectoryForSession),ae=uc(),oe=D===`review-to-original`,se=!u&&!G?D:null,ce=Z.useMemo(()=>{let t=W.trim();if(!(!e||!ae||!t||!se))return se===`review-to-original`?{ariaLabel:O(`chat.messageBody.actions.sendReviewFeedback`),tooltip:O(`chat.messageBody.actions.sendReviewFeedback`),onClick:async()=>{try{await Jt(e,ae,t)}catch(e){console.error(`[review-flow] failed to send review feedback`,e)}}}:{ariaLabel:O(`chat.messageBody.actions.sendImplementationResponse`),tooltip:O(`chat.messageBody.actions.sendImplementationResponse`),onClick:async()=>{try{await Rt(e,ae,t)}catch(e){console.error(`[review-flow] failed to send implementation response`,e)}}}},[W,ae,se,e,O]),[le,ue]=Z.useState(!1),de=s(e=>e.chatRenderMode),fe=s(e=>e.collapsibleThinkingBlocks),pe=s(e=>e.showSplitAssistantMessageActions),me=s(e=>e.showAssistantTps),he=s(e=>e.timeFormatPreference),ge=de===`sorted`,_e=w?.isLastAssistantInTurn??!1,ve=a===`stop`,ye=(ve||i||!!T)&&(w?.isTurnSettled??!0),be=ve?`completed`:M,xe=H.length>0,Se=Z.useMemo(()=>H.some(e=>nw(e)),[H]),Ce=nw,we=tw,Te=I.current.experiencedStreamingOrCooldown,Ee=Z.useRef({messageId:t,initialized:!1,observedPartIds:new Set});Z.useEffect(()=>{if(Ee.current.messageId!==t&&(Ee.current={messageId:t,initialized:!1,observedPartIds:new Set}),!Te||!Wr())return;let n=Ee.current,r=!n.initialized;n.initialized=!0;for(let i of H){if(n.observedPartIds.has(i.id))continue;if(!fn(r,Ce(i))){n.observedPartIds.add(i.id);continue}let a=e??i.sessionID;a&&(n.observedPartIds.add(i.id),Yr({sessionID:a,messageID:t,partID:i.id,kind:`tool`}))}},[Te,Ce,t,e,H]);let De=Z.useMemo(()=>H.length===0||!Se&&H.every(e=>we(e)),[H,Se,we]),Oe=Z.useMemo(()=>V.filter(e=>e.type===`reasoning`),[V]),ke=Z.useMemo(()=>Oe.length===0||Oe.every(e=>typeof e.time?.end==`number`),[Oe]),Ae=typeof a!=`string`,je=Oe.length>0&&xe&&(Se||Ae||!De),Me=B||xe&&(Se||Ae||!De),Ne=B||je,Pe=xe||Oe.length>0,Fe=U.length===0,Ie=Pe&&Fe&&!Me&&!Ne&&De&&ke,Le=Z.useRef(!1),Re=Z.useRef(!1);Z.useEffect(()=>{Re.current=!1},[t]),Z.useEffect(()=>{if(!Ie){Le.current=!1;return}Le.current||(Le.current=!0,S?.())},[Ie,S]),Z.useEffect(()=>{if(B){Re.current=!1;return}if(xe){Re.current=!1;return}Oe.length!==0&&(Ne||!ke||Re.current||(Re.current=!0,y?.(`structural`)))},[B,xe,y,ke,Oe.length,Ne]);let ze=!!b&&!B,Be=J(async n=>{if(n.stopPropagation(),n.preventDefault(),!(!e||!t||le||ne)){ue(!0);try{await te(e,t)}finally{ue(!1)}}}),Ve=Z.useMemo(()=>{let e=w?.activityParts;return!ge||!e?[]:e},[ge,w?.activityParts]),He=Z.useMemo(()=>{let e=w?.activityGroupSegments;return!ge||!e?[]:e.filter(e=>e.anchorMessageId===t)},[ge,t,w?.activityGroupSegments]),Ue=He.length>0,We=Z.useMemo(()=>{let e=new Map,t=new Map;return Ve.forEach(n=>{e.set(n.part,n);let r=n.part.id;typeof r==`string`&&r.length>0&&t.set(r,n)}),{get:n=>{let r=e.get(n);if(r)return r;let i=n.id;if(typeof i==`string`&&i.length>0)return t.get(i)}}},[Ve]),Ge=w?.toggleGroup,Ke=w?.activityPresentationKind===`compaction`,qe=w?.isGroupExpanded===!0,Je=ge&&Ke&&!qe,Ye=ge?w?.activityOwnerMessageId===t||Ue:!w?.activityOwnerMessageId||w.activityOwnerMessageId===t||Ue,Xe=ge&&Ye&&(Ue||Ke)&&!!Ge,Ze=rE(a,V),Qe={finish:a,parts:V,streamPhase:be,error:T,isLastAssistantInTurn:_e},$e=cE(Qe),et=ge&&lE(Qe),tt=ge&&!$e&&!(Ke&&qe),nt=!!T,rt=E===`info`?`information`:`error-warning`,it=E===`muted`,at=ze,st=_e&&ye&&!Je&&(b||!!T||i),lt=w?.diffStats?.hasDiffs===!0,ut=!K&&_e&&Ze&&ye&&!Je&&w?.diffStats?.hasDiffs===!0,dt=pe&&at&&!st&&!ge,ft=Z.useMemo(()=>(0,$.jsx)(PO,{hasCopyableText:ze,isTouchContext:L,onCopyMessage:x,ttsText:W,reviewTransferAction:ce,sessionId:e}),[W,ze,L,x,ce,e]),pt=Z.useMemo(()=>e=>{if(!pe||!ge)return null;let t=gt(e.part).trim();return t?(0,$.jsx)(PO,{hasCopyableText:!0,isTouchContext:L,onCopyMessage:async()=>(await ct(t)).ok,ttsText:t}):null},[ge,L,pe]),mt=Z.useMemo(()=>{if(!dt)return-1;let e=-1;for(let t=0;t<V.length;t+=1){let n=V[t];!n||n.type!==`text`||tt||We.get(n)?.kind!==`justification`&&(e=t)}return e},[We,tt,dt,V]),ht=dt&&mt<0,_t=Z.useMemo(()=>{let n=[];if(Xe&&Ge&&w){let e=(e,t,r=t)=>{n.push((0,$.jsx)(`div`,{children:(0,$.jsx)($D,{parts:t,materializationParts:r,isExpanded:w.isGroupExpanded===!0,collapsedPreviewCount:0,completionDisposition:w.completionDisposition,activityPresentationKind:w.activityPresentationKind,durationMs:w.durationMs,startedAt:w.userMessageCreatedAt,onToggle:Ge,isMobile:u,expandedTools:m,onToggleTool:h,onShowPopup:g,onContentChange:y,streamPhase:be,showHeader:!0,diffStats:w.diffStats,renderJustificationActions:pt})},`progressive-group-${e}`))};He.length>0?He.forEach(t=>{let n=C?t.parts:t.parts.filter(e=>e.kind!==`reasoning`);e(t.id,n,t.parts)}):Ke&&e(`${t}:compaction-status`,[])}let r=0;for(;r<V.length;){let i=V[r];if(i.type===`text`){let a=We.get(i);if(tt){r+=1;continue}if(Je){r+=1;continue}if(a?.kind===`justification`){r+=1;continue}n.push((0,$.jsx)(`div`,{ref:P,"data-message-text-export-source":`true`,children:(0,$.jsx)(FT,{part:i,sessionId:e,messageId:t,streamPhase:be,chatRenderMode:de,allowSortedFinalStreaming:et,hasStreamingHapticLifecycle:Te,onContentChange:y,onShowPopup:g})},`assistant-text-${t}-${i.id??r}`)),dt&&r===mt&&n.push((0,$.jsx)(`div`,{className:u?rO:nO,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:cO,"data-message-action-group":`true`,children:ft})},`message-actions-${t}`)),r++;continue}if(i.type===`reasoning`){if(We.get(i)?.kind===`reasoning`){r+=1;continue}if(!gt(i).trim()){r+=1;continue}C&&(fe?n.push((0,$.jsx)(`div`,{className:dm(u),children:(0,$.jsx)(qT,{part:i,messageId:t,streamPhase:be,onContentChange:y})},`reasoning-${t}-${i.id??r}`)):n.push((0,$.jsx)(FT,{part:i,sessionId:e,messageId:t,streamPhase:be,chatRenderMode:de,hasStreamingHapticLifecycle:Te,onContentChange:y,onShowPopup:g},`reasoning-${t}-${i.id??r}`))),r++;continue}if(i.type===`tool`){let e=i,a=e.tool?.toLowerCase()??``;if(ge&&!Ye){r+=1;continue}if(We.get(i)?.kind===`tool`){r+=1;continue}if($C(a)){let e=[],i=r;for(;i<V.length;){let n=V[i];if(n.type!==`tool`)break;let r=n;if(!$C(r.tool?.toLowerCase()??``)||We.get(n)?.kind===`tool`)break;e.push({id:r.id,turnId:``,messageId:t,partIndex:i,part:r,kind:`tool`}),i+=1}if(e.length>0){n.push((0,$.jsx)(dD,{activities:e,isMobile:u,isTurnLive:be!==`completed`,hasFollowingOtherType:sD(V,i,e=>({type:e.type,toolName:e.type===`tool`?e.tool:void 0})),children:e.map(e=>(0,$.jsx)(GD,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:u,animateTailText:!1},e.id))},`context-tools-${e[0].id}`)),r=i;continue}}if(ew(a)){let e=fD(V,r,e=>e.type!==`tool`||We.get(e)?.kind===`tool`?``:e.tool);if(e.items.length>0){let i=e.items.map((e,n)=>{let i=e;return{id:i.id,turnId:``,messageId:t,partIndex:r+n,part:i,kind:`tool`}});n.push((0,$.jsx)(_D,{activities:i,isMobile:u,children:i.map(e=>(0,$.jsx)(GD,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:u,animateTailText:!1},e.id))},`skill-tools-${i[0].id}`)),r=e.end;continue}}if(XC(a)){n.push((0,$.jsx)(`div`,{className:dm(u),children:(0,$.jsx)(hT,{part:e,messageId:t,isExpanded:m.has(e.id),onToggle:h,isMobile:u,alwaysShowActions:R,onContentChange:y,onShowPopup:g,animateTailText:!1})},`tool-${e.id}`)),r++;continue}n.push((0,$.jsx)(`div`,{className:dm(u),children:(0,$.jsx)(GD,{toolName:a,activities:[{id:e.id,turnId:``,messageId:t,partIndex:r,part:e,kind:`tool`}],isMobile:u,animateTailText:!1})},`static-tools-${e.id}`)),r++;continue}r++}return n},[We,He,R,de,fe,0,m,Je,Ke,u,Ye,ge,mt,t,ft,pt,e,y,g,h,Xe,dt,be,Te,C,tt,et,Ge,w,V]),vt=Z.useMemo(()=>{if(!_e||!ye)return;let e=w?.durationMs;if(!(typeof e!=`number`||e<=0))return jO(e)},[_e,ye,w?.durationMs]),yt=Z.useMemo(()=>{let e=typeof o==`number`&&o>0?o:typeof c==`number`&&c>0?c:null;if(e===null)return null;let t=JE(e,he);return t.length>0?t:null},[o,c,he,k]),bt=Z.useMemo(()=>{if(!me||!_e||!ye)return null;let e=r??n,t=MO(e,l),i=$E({createdAt:c,completedAt:o,fallbackDurationMs:w?.durationMs,outputTokens:t.output,reasoningTokens:t.reasoning,parts:e});if(i===null)return null;let a=eD(i);return a.length>0?a:null},[me,_e,ye,n,r,l,c,o,w?.durationMs]),xt=(0,$.jsxs)($.Fragment,{children:[!K&&!u&&!G&&q?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":O(`chat.messageBody.actions.openPreviewAria`),onPointerDown:e=>e.stopPropagation(),onClick:()=>{let e=ae??(re?ie(re):null);e&&ee(e,q)},children:(0,$.jsx)(X,{weight:fO,name:`global`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:O(`chat.messageBody.actions.openPreview`)})]}):null,!K&&!oe&&j.fork?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,size:`icon`,variant:`ghost`,className:iO,"aria-label":O(`chat.messageBody.actions.forkAria`),"aria-busy":le,disabled:le||!!ne,onPointerDown:e=>e.stopPropagation(),onClick:e=>{Be(e)},children:(0,$.jsx)(X,{weight:fO,name:le?`loader-4`:`git-branch`,className:Y(aO,le&&`animate-spin`)})})}),(0,$.jsx)(Va,{sideOffset:6,children:O(`chat.messageBody.actions.fork`)})]}):null]});return(0,$.jsxs)(`div`,{ref:N,"data-message-text-export-root":`true`,className:Y(`relative w-full group/message`),style:eO,children:[(0,$.jsx)(WE,{containerRef:N}),(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:[_t,nt&&(0,$.jsx)(_c,{children:it?(0,$.jsxs)(`div`,{role:`status`,className:`my-1.5 flex max-w-full items-center gap-1.5 break-words typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`stop-circle`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`min-w-0`,children:T})]}):(0,$.jsxs)(`div`,{className:Y(`group/assistant-text relative flow-root my-1.5 break-words max-w-full`,E===`info`?Y(`inline-flex w-fit max-w-full border border-[var(--status-info-border)]/45 bg-[var(--status-info-background)]/40`,u?`items-start gap-1.5 rounded-lg px-2.5 py-1.5`:Y(`items-center gap-1.5`,`rounded-lg px-2 py-0.5`)):`mt-3 flex items-center gap-2 rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] p-3`),children:[E===`info`&&u?(0,$.jsx)(`span`,{className:`inline-flex h-5 w-3.5 shrink-0 items-center justify-center translate-y-[2px]`,"aria-hidden":`true`,children:(0,$.jsx)(X,{name:rt,weight:fO,className:Y(aO,`text-[var(--status-info)]/80`)})}):(0,$.jsx)(X,{name:rt,weight:E===`info`?fO:void 0,className:Y(`shrink-0`,E===`info`?Y(aO,`text-[var(--status-info)]/80`):`h-4 w-4 text-[var(--status-error)]`)}),(0,$.jsx)(`div`,{className:Y(`min-w-0 break-words`,E===`info`?Y(`text-muted-foreground [&_.markdown-content]:text-muted-foreground [&_p]:m-0`,`[&_.markdown-content]:!leading-5`,u?`[&_.markdown-content]:!text-[length:var(--text-meta)]`:`[&_.markdown-content]:!text-[13px]`):`flex-1`),children:(0,$.jsx)(As,{content:T??``,onShowPopup:g,className:`[&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,enableFileReferences:!1})})]})},`assistant-error`)]}),ut&&w?.diffStats?(0,$.jsx)(CO,{fileCount:w.diffStats.files,changedFiles:w.changedFiles,turnId:w.turnId,isLatestTurn:w.isLatestTurn,isMobile:u}):null,(0,$.jsx)(Ud,{files:n,messageID:t,sessionID:e,onShowPopup:g}),ht&&(0,$.jsx)(`div`,{className:Y(u?rO:nO),"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:cO,"data-message-action-group":`true`,children:ft})}),st&&(0,$.jsxs)(`div`,{className:z,"data-message-footer":`true`,style:tO,children:[(0,$.jsxs)(`div`,{className:cO,"data-message-action-group":`true`,children:[ft,xt]}),bt||vt||yt?(0,$.jsxs)(`div`,{className:lO,children:[bt?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsxs)(`span`,{className:uO,"aria-label":O(`chat.messageBody.meta.tpsAria`,{rate:bt}),children:[(0,$.jsx)(X,{weight:fO,name:`pulse`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:bt})]})}),(0,$.jsx)(Va,{children:O(`chat.messageBody.meta.tpsTooltip`)})]}):null,vt?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsxs)(`span`,{className:uO,children:[(0,$.jsx)(X,{weight:fO,name:`hourglass`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:vt})]})}),(0,$.jsx)(Va,{children:vt})]}):null,yt?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsxs)(`span`,{className:uO,"aria-label":`Message time: ${yt}`,children:[(0,$.jsx)(X,{weight:fO,name:`time`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:yt})]})}),(0,$.jsx)(Va,{children:yt})]}):null]}):null,!K&&_e&&ve&&!lt?(0,$.jsx)(ZT,{activityParts:w?.activityParts}):null]})]})]})}),IO=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)(NO,{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)(FO,{...r}),t[26]=r,t[27]=i),i});function LO(e){return e.openContextPanelTab}function RO(e){return e.setCurrentSession}function zO(e){return e.openContextPanelTab}function BO(e){return!e}function VO(e){return e.openContextPanelTab}function HO(e){return!e}var UO=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}},WO=(e,t,n)=>e===`active`||n?.isLastTurn&&n.hasConfirmedFinalBody!==!0?!0:t===`summary`,GO=e=>!e,KO=e=>e.completionDisposition===`active`?e.isLastTurn&&e.sessionIsWorking?{completionDisposition:`active`,durationMs:e.durationMs}:{completionDisposition:`abnormal`,durationMs:e.durationMs}:{completionDisposition:e.completionDisposition,durationMs:e.durationMs},qO=e=>!(e.completionDisposition===`active`||e.isLastTurn&&e.sessionIsWorking&&!e.hasConfirmedSettledAssistant),JO=e=>e.isWorking?!0:e.isInActiveTurn?e.headerCompletionDisposition!==`normal`&&e.headerCompletionDisposition!==`abnormal`:!1,YO=e=>e.turnCompletionDisposition===`active`&&(e.isLastTurn||e.hasAssistantMessages)?`active`:e.headerPresentationDisposition,XO=`Authentication failed for this provider. Please re-authenticate and retry.`,ZO=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};function QO(e,t){if(!e||typeof e!=`object`)return;let n=e,r=typeof n.data?.message==`string`?n.data.message:void 0,i=typeof n.message==`string`?n.message:void 0,a=typeof n.name==`string`?n.name:void 0,o=r||i||a;if(o)return a===`SessionRetry`?{text:`Opencode failed to send a message. Retry attempt info: \n\`${o}\``,variant:`info`}:ZO(o)?{text:XO,variant:`error`}:a===`MessageAbortedError`||o.trim().toLowerCase()===`aborted`?{text:t,variant:`muted`}:{text:`Opencode failed to send message with error:\n\`${o}\``,variant:`error`}}var $O=Ls(()=>Ue(()=>import(`./ToolOutputDialog-ClZXQ2ee.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]))),ek=4e3,tk=new Map,nk=new Map,rk=new Set([`bash`,`shell`,`cmd`,`terminal`]),ik=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},ak=e=>{let t=tk.get(e);return t?new Set(t):new Set},ok=(e,t)=>{if(tk.size>=ek&&!tk.has(e)){let e=tk.keys().next().value;typeof e==`string`&&tk.delete(e)}tk.set(e,new Set(t))},sk=e=>{let t=nk.get(e);return t?new Set(t):new Set},ck=(e,t)=>{if(nk.size>=ek&&!nk.has(e)){let e=nk.keys().next().value;typeof e==`string`&&nk.delete(e)}nk.set(e,new Set(t))},lk=200,uk=new Map,dk=e=>uk.get(e),fk=(e,t)=>{if(!t.agent&&!t.provider&&!t.model)return;let n=uk.get(e);if(!(n&&n.agent===t.agent&&n.provider===t.provider&&n.model===t.model)){if(uk.size>=lk&&!uk.has(e)){let e=uk.keys().next().value;typeof e==`string`&&uk.delete(e)}uk.set(e,t)}};function pk(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 mk=(e,t)=>{if(typeof e==`object`&&e)return e[t]},hk=Z.memo(({message:e,previousMessage:t,nextMessage:n,onContentChange:r,animationHandlers:i,turnGroupingContext:a,assistantHeaderMessageId:o,isInActiveTurn:c=!1,activeStreamingPhase:l=null,animateUserOnMount:u=!1,onUserAnimationConsumed:d,reviewTransferDirection:f=null})=>{let{t:p}=ot(),{isMobile:m,isTablet:h,hasTouchInput:g}=fo(),_=Fh(),v=Ih(_),y=m||h,b=Z.useRef(null),x=Zr(e=>e.currentSessionId),S=vi(e=>e.getAgentModelForSession),C=vi(e=>e.getSessionModelSelection),w=Zr(e=>e.revertToMessage),T=Zr(e=>e.editMessagePreservingChanges),E=Zr(e=>e.forkFromMessage),D=Zr(t=>t.messageEditCommitting?.messageId===e.info.id&&t.messageEditCommitting?.sessionId===e.info.sessionID),O=Zr(t=>t.stagedMessageEdit?.messageId===e.info.id&&t.stagedMessageEdit?.sessionId===e.info.sessionID),k=Zr(e=>e.clearStagedMessageEdit);Le(`ui.chat_message.render`),c&&Le(`ui.chat_message.render.streaming`);let A=Qr(e=>e.providers),{showReasoningTraces:j,stickyUserHeader:M,chatRenderMode:N,showExpandedBashTools:P}=s(pe(e=>({showReasoningTraces:e.showReasoningTraces,stickyUserHeader:e.stickyUserHeader,chatRenderMode:e.chatRenderMode,showExpandedBashTools:e.showExpandedBashTools})));Z.useEffect(()=>{x&&Hx.getInstance().recordSessionStart(x)},[x]);let[F,I]=Z.useState(null),[L,R]=Z.useState(!1),[z,B]=Z.useState(null),V=Z.useRef(null),[H,U]=Z.useState(()=>ak(e.info.id)),[W,ee]=Z.useState(()=>sk(e.info.id)),[G,K]=Z.useState({open:!1,title:``,content:``});Z.useEffect(()=>{U(ak(e.info.id)),ee(sk(e.info.id))},[e.info.id]);let q=Z.useMemo(()=>UO(e.info),[e.info]).isUser,te=q&&(m||!M),ne=q&&!m&&M&&!te,re=e.info.sessionID,ie=Gx(e=>e.planModeEnabled),{currentContextAgent:ae,savedSessionAgentSelection:oe}=Em(pe(e=>({currentContextAgent:c&&re?e.currentAgentContext.get(re):void 0,savedSessionAgentSelection:c&&re?e.sessionAgentSelections.get(re):void 0}))),se=Z.useMemo(()=>hn(e.sourceParts??e.parts),[e.parts,e.sourceParts]),ce=Z.useMemo(()=>q?qr(se,{planModeEnabled:ie}):hn(e.parts),[q,e.parts,ie,se]),le=Z.useMemo(()=>{if(q||!t)return null;let e=mk(t.info,`clientRole`),n=mk(t.info,`role`);if((typeof e==`string`?e:typeof n==`string`?n:void 0)!==`user`)return null;let r=mk(t.info,`mode`),i=mk(t.info,`agent`),a=mk(t.info,`providerID`),o=mk(t.info,`modelID`),s=mk(t.info,`model`),c=typeof s==`object`&&s?s.variant:void 0,l=mk(t.info,`variant`),u=c??l,d=typeof s==`object`&&s?s.providerID:void 0,f=typeof s==`object`&&s?s.modelID:void 0,p=typeof r==`string`&&r.trim().length>0?r:typeof i==`string`&&i.trim().length>0?i:void 0,m=typeof a==`string`&&a.trim().length>0?a:typeof d==`string`&&d.trim().length>0?d:void 0,h=typeof o==`string`&&o.trim().length>0?o:typeof f==`string`&&f.trim().length>0?f:void 0,g=typeof u==`string`&&u.trim().length>0?u:void 0;return!p&&!m&&!h&&!g?null:{agentName:p,providerId:m,modelId:h,variant:g}},[q,t]),ue=Z.useMemo(()=>{if(!ie||q||!t)return!1;let e=Array.isArray(t.parts)?t.parts:[];for(let t=0;t<e.length;t++){let n=e[t];if(n?.type!==`text`||n?.synthetic!==!0)continue;let r=typeof n.text==`string`?n.text.trim():``;if(r.startsWith(`User has requested to enter plan mode`)||r.startsWith(`The plan at `))return!0}return!1},[q,ie,t]),de=Z.useMemo(()=>{if(q)return;let t=e.info.time;if(!(typeof t?.completed==`number`&&t.completed>0)&&ue&&le?.agentName)return le.agentName;let n=mk(e.info,`mode`);if(typeof n==`string`&&n.trim().length>0)return n;let r=mk(e.info,`agent`);if(typeof r==`string`&&r.trim().length>0)return r;if(le?.agentName)return le.agentName;if(re)return ae||(oe??void 0)},[q,e.info,ue,le,re,ae,oe]),fe=q?null:mk(e.info,`providerID`),me=q?null:mk(e.info,`modelID`),he=Z.useMemo(()=>{if(q||!re)return null;if(le?.providerId&&le?.modelId)return{providerId:le.providerId,modelId:le.modelId};if(de){let e=S(re,de);if(e?.providerId&&e?.modelId)return e}let e=C(re);return e?.providerId&&e?.modelId?e:null},[q,re,de,le,S,C]),ge=Z.useMemo(()=>q?null:typeof fe==`string`&&fe.trim().length>0?fe:he?.providerId??null,[q,fe,he]),_e=Z.useMemo(()=>q?null:typeof me==`string`&&me.trim().length>0?me:he?.modelId??null,[q,me,he]),ve=e.info.id?dk(e.info.id):void 0;q||fk(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(q)return;let e=be&&A.length>0?A.find(e=>e.id===be):void 0;return Ai(e,xe)||void 0},[q,be,xe,A]),Ce=Z.useMemo(()=>{if(q||!ge||!_e)return!1;let e=A.find(e=>e.id===ge);if(!e?.models||!Array.isArray(e.models))return!1;let t=e.models.find(e=>e.id===_e)?.variants;return!!(t&&Object.keys(t).length>0)},[q,_e,ge,A]),we=pk(ye),Te=pk(be??void 0),Ee=pk(xe??void 0),De=pk(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(()=>q?!0:!!(Me&&Me>0),[q,Me]),Fe=Z.useMemo(()=>{let t=e.info.finish;return typeof t==`string`?t:void 0},[e.info]),Ie=Z.useMemo(()=>{if(q)return null;let t=e.info.tokens;return!t||typeof t!=`object`?null:{output:typeof t.output==`number`?t.output:void 0,reasoning:typeof t.reasoning==`number`?t.reasoning:void 0}},[q,e.info]),Re=Z.useMemo(()=>Ur(ce,{includeReasoning:j}),[ce,j]),ze=Z.useMemo(()=>q?Re:!Pe&&N===`sorted`?[]:Re,[N,Pe,q,Re]),Be=Z.useMemo(()=>q?[]:Re.filter(e=>e.type===`text`),[q,Re]),Ve=Z.useMemo(()=>q?[]:Re.filter(e=>e.type===`tool`),[q,Re]),He=Z.useMemo(()=>{if(!P)return new Set;let e=new Set;for(let t of Ve){let n=typeof t?.id==`string`?t.id:``;if(!n)continue;let r=ik(t.tool);!r||!rk.has(r)||e.add(n)}for(let t of a?.activityParts??[]){if(t.kind!==`tool`)continue;let n=ik(t.part.tool);!n||!rk.has(n)||e.add(t.id)}return e},[P,Ve,a?.activityParts]),Ue=Z.useMemo(()=>{if(He.size===0&&W.size===0)return H;let e=new Set(H);return He.forEach(t=>{W.has(t)||e.add(t)}),W.forEach(t=>{e.delete(t)}),e},[W,He,H]),We=Z.useMemo(()=>{if(!q)return;let e=ce.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}`}},[q,ce]),Ge=q&&!yn(ze),Ke=typeof Fe!=`string`,qe=Z.useMemo(()=>q?!1:Be.length===0||Ve.length===0?Ke:!0,[Be.length,Ve.length,Ke,q]),Je=Z.useMemo(()=>!q&&Hx.getInstance().shouldAnimateMessage(e.info,x||e.info.sessionID),[e.info,x,q]),[Ye,Xe]=Z.useState(!1),Ze=Z.useMemo(()=>n?UO(n.info):null,[n]),Qe=!!a,$e=a?.isLastAssistantInTurn??!1,et=JO({isWorking:a?.isWorking===!0,isInActiveTurn:c,headerCompletionDisposition:a?.completionDisposition}),tt=Z.useMemo(()=>q?!1:Qe?!$e:Ze?!Ze.isUser&&Ze.role===`assistant`:!1,[Qe,$e,q,Ze]),nt=Z.useMemo(()=>Pe?`completed`:c?l??`streaming`:`completed`,[l,c,Pe]);Z.useEffect(()=>{!q||!u||d?.(e.info.id)},[u,q,e.info.id,d]),Z.useEffect(()=>{Xe(!1)},[e.info.id]),Z.useEffect(()=>{let t=o??a?.headerMessageId;q||!t||t!==e.info.id||(nt===`streaming`||nt===`cooldown`)&&Xe(!0)},[o,q,e.info.id,nt,a?.headerMessageId]);let rt=Z.useMemo(()=>{if(q)return!0;let t=o??a?.headerMessageId;return t?e.info.id===t?nt===`completed`||Ye||nt===`streaming`||nt===`cooldown`:!1:!0},[o,Ye,q,a,nt,e.info.id]),it=Z.useCallback(e=>{ct(e).then(t=>{t.ok&&(I(e),setTimeout(()=>I(null),2e3))})},[]),at=q?void 0:a?.userMessageVariant??le?.variant,st=!q&&Ce&&typeof at==`string`&&at.trim().length>0?at:void 0,lt=Z.useMemo(()=>{if(!q)return QO(e.info?.error,p(`chat.messageBody.aborted`))},[q,e.info,p]),ut=lt?.text,dt=lt?.variant,ft=Z.useMemo(()=>{if(q){let e=ze.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(`
6574
+ `).trim()||PE(t)},WE=({containerRef:e})=>{let{t}=ot(),[n,r]=Z.useState({x:0,y:0,show:!1}),[i,a]=Z.useState(``),[o,c]=Z.useState(``),l=Z.useRef(!1),[u,d]=Z.useState(!1),f=Z.useRef(null),p=Z.useRef(AE),m=Z.useRef(null),h=Z.useRef(null),g=Z.useRef(null),_=Z.useRef(!1),v=Zr(e=>e.createSession),y=on(e=>e.setPendingInputText),b=s(e=>e.isMobile),x=Ih(Fh()).textSelectionMutation;Z.useEffect(()=>{_.current=n.show},[n.show]),Z.useEffect(()=>()=>{h.current!==null&&(window.cancelAnimationFrame(h.current),h.current=null),g.current!==null&&(window.clearTimeout(g.current),g.current=null)},[]);let S=Z.useCallback(()=>{m.current=null,jE===S&&(jE=null),_.current&&=(h.current!==null&&(window.cancelAnimationFrame(h.current),h.current=null),d(!1),r(e=>({...e,show:!1})),a(``),c(``),!1)},[]);Z.useEffect(()=>()=>{jE===S&&(jE=null)},[S]);let C=Z.useCallback(e=>{if(typeof window>`u`)return e;let t=window.innerWidth,n=p.current/2,r=kE+n,i=t-kE-n;return r>i?t/2:Math.min(Math.max(e,r),i)},[]),w=Z.useCallback(()=>{if(!m.current)return;jE!==S&&(jE?.(),jE=S);let{plainText:e,markdownText:t,rect:i}=m.current,o=!n.show,s=b?i.left+i.width/2:C(i.left+i.width/2),l=i.top-10;a(e),c(t),r({x:s,y:l,show:!0}),_.current=!0,o&&(d(!0),h.current!==null&&window.cancelAnimationFrame(h.current),h.current=window.requestAnimationFrame(()=>{d(!1),h.current=null}))},[C,S,b,n.show]);Z.useLayoutEffect(()=>{if(!n.show||b||!f.current)return;let e=f.current.offsetWidth;!Number.isFinite(e)||e<=0||e===p.current||(p.current=e,r(e=>({...e,x:C(e.x)})))},[C,b,n.show]),Z.useEffect(()=>{if(!n.show||b)return;let e=()=>{r(e=>({...e,x:C(e.x)}))};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[C,b,n.show]);let T=Z.useCallback(()=>{let t=window.getSelection(),n=e.current;if(!t||!n){l.current||S();return}let r=PE(t.toString());if(!r){l.current||S();return}let i=LE(t,n);if(!i){l.current||S();return}let a=i.getBoundingClientRect();m.current={plainText:r,markdownText:UE(i,r),rect:a},l.current||w()},[e,S,w]);Z.useEffect(()=>{let t=e.current;if(!t)return;let n=()=>{l.current=!0,S()},r=()=>{l.current=!1,g.current!==null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{g.current=null,T()},10)},i=new Set,a=()=>{for(let e of IE(t))i.has(e)||(i.add(e),e.addEventListener(`selectionchange`,T))};a();let o=new MutationObserver(a);o.observe(t,{childList:!0,subtree:!0}),document.addEventListener(`selectionchange`,T),t.addEventListener(`mousedown`,n),document.addEventListener(`mouseup`,r);let s=e=>{f.current&&!f.current.contains(e.target)&&!window.getSelection()?.toString().trim()&&S()};return document.addEventListener(`mousedown`,s),()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null),o.disconnect();for(let e of i)e.removeEventListener(`selectionchange`,T);document.removeEventListener(`selectionchange`,T),t.removeEventListener(`mousedown`,n),document.removeEventListener(`mouseup`,r),document.removeEventListener(`mousedown`,s)}},[e,T,S,w]),Z.useEffect(()=>{if(!n.show)return;let e=e=>{f.current&&e.target instanceof Node&&f.current.contains(e.target)||S()};return window.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>{window.removeEventListener(`scroll`,e,!0)}},[n.show,S]);let E=Z.useCallback(e=>{if(!e)return;let t=`\`\`\`md\n${e}\n\`\`\``;y(t,`append`),S(),window.getSelection()?.removeAllRanges()},[y,S]),D=Z.useCallback(()=>{E(o)},[E,o]);Z.useEffect(()=>{let t=t=>{if(!x||!t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||t.key.toLowerCase()!==`i`)return;let n=window.getSelection(),r=e.current;if(!n||!r||!n.toString().trim())return;let i=LE(n,r);i&&(t.preventDefault(),E(UE(i,n.toString())))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[E,x,e]);let O=Z.useCallback(async()=>{i&&(await v(void 0,null,null)&&y(i,`replace`),S(),window.getSelection()?.removeAllRanges())},[i,v,y,S]),k=Z.useCallback(async()=>{if(!i)return;let e=await ct(i);e.ok||console.error(`Failed to copy:`,e.error),S(),window.getSelection()?.removeAllRanges()},[i,S]);return n.show?b?(0,tl.createPortal)((0,$.jsx)(`div`,{ref:f,className:Y(`fixed left-3 right-3 bottom-0 z-50 mx-auto max-w-[420px]`,`rounded-2xl border border-[var(--interactive-border)]`,`bg-[var(--surface-elevated)] p-2 shadow-lg`,`safe-area-bottom`,`transition-[opacity,transform] duration-200 ease-out will-change-[opacity,transform]`,u?`opacity-0 translate-y-[4px]`:`opacity-100 translate-y-0`),style:{bottom:`calc(0.5rem + env(safe-area-inset-bottom, 0px))`},children:(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[x?(0,$.jsxs)(`button`,{onClick:D,className:Y(`flex min-w-0 items-center gap-2 rounded-xl px-3 py-2.5 text-left`,`text-sm font-medium leading-tight`,`bg-[var(--primary-base)] text-[var(--primary-foreground)]`,`active:opacity-80`,`transition-opacity duration-150`),title:t(`chat.textSelection.title.addToCurrentChat`),type:`button`,children:[(0,$.jsx)(X,{name:`add`,className:`h-5 w-5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-normal`,children:t(`chat.textSelection.actions.addToChat`)})]}):null,x?(0,$.jsxs)(`button`,{onClick:O,className:Y(`flex min-w-0 items-center gap-2 rounded-xl px-3 py-2.5 text-left`,`text-sm font-medium leading-tight`,`bg-[var(--interactive-selection)] text-[var(--interactive-selection-foreground)]`,`active:opacity-80`,`transition-opacity duration-150`),title:t(`chat.textSelection.title.newSessionWithSelection`),type:`button`,children:[(0,$.jsx)(X,{name:`chat-new`,className:`h-5 w-5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-normal`,children:t(`chat.textSelection.actions.newSession`)})]}):null,(0,$.jsxs)(`button`,{onClick:k,className:Y(`col-span-2 flex min-w-0 items-center gap-2 rounded-xl px-3 py-2.5 text-left`,`text-sm font-medium leading-tight`,`bg-[var(--surface-muted)] text-[var(--surface-foreground)]`,`active:opacity-80`,`transition-opacity duration-150`),title:t(`chat.textSelection.actions.copy`),type:`button`,children:[(0,$.jsx)(X,{name:`file-copy`,className:`h-5 w-5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-normal`,children:t(`chat.textSelection.actions.copy`)})]})]})}),document.body):(0,tl.createPortal)((0,$.jsx)(`div`,{ref:f,className:`fixed z-50`,style:{left:n.x,top:n.y,transform:`translate(-50%, -100%)`},children:(0,$.jsxs)(`div`,{className:Y(`flex items-center gap-1 whitespace-nowrap`,`rounded-lg border border-[var(--interactive-border)]`,`bg-[var(--surface-elevated)] shadow-none`,`px-1.5 py-1`,`transition-[opacity,transform] duration-200 ease-out will-change-[opacity,transform]`,u?`opacity-0 translate-y-[4px]`:`opacity-100 translate-y-0`),children:[x?(0,$.jsxs)(`button`,{onClick:D,className:Y(`flex items-center gap-1.5 px-2 py-1 rounded-md`,`text-sm font-medium`,`text-[var(--surface-foreground)]`,`hover:bg-[var(--interactive-hover)]`,`transition-colors duration-150`),title:t(`chat.textSelection.title.addToCurrentChat`),type:`button`,children:[(0,$.jsx)(X,{name:`add`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:t(`chat.textSelection.actions.addToChat`)}),(0,$.jsx)(Yp,{shortcut:`⌘+I`})]}):null,x?(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}):null,x?(0,$.jsxs)(`button`,{onClick:O,className:Y(`flex items-center gap-1.5 px-2 py-1 rounded-md`,`text-sm font-medium`,`text-[var(--surface-foreground)]`,`hover:bg-[var(--interactive-hover)]`,`transition-colors duration-150`),title:t(`chat.textSelection.title.newSessionWithSelection`),type:`button`,children:[(0,$.jsx)(X,{name:`chat-new`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:t(`chat.textSelection.actions.newSession`)})]}):null,x?(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}):null,(0,$.jsxs)(`button`,{onClick:k,className:Y(`flex items-center gap-1.5 px-2 py-1 rounded-md`,`text-sm font-medium`,`text-[var(--surface-foreground)]`,`hover:bg-[var(--interactive-hover)]`,`transition-colors duration-150`),title:t(`chat.textSelection.actions.copy`),type:`button`,children:[(0,$.jsx)(X,{name:`file-copy`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:t(`chat.textSelection.actions.copy`)})]})]})}),document.body):null},GE=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),KE=(e,t)=>{let n=new Date(t);return n.setDate(t.getDate()-1),GE(e,n)},qE=e=>Number.isFinite(e)&&!Number.isNaN(new Date(e).getTime()),JE=(e,t)=>{if(!qE(e))return``;let n=new Date(e),r=new Date,i=oo(n,t),a=st(),o=lt.getState().dictionary;if(GE(n,r))return i;if(KE(n,r))return ut(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}`},YE=e=>typeof e!=`number`||!Number.isFinite(e)||e<0?0:e,XE=e=>e,ZE=e=>{if(!Array.isArray(e)||e.length===0)return 0;let t=0;for(let n of e){let e=XE(n);if(e.type!==`tool`)continue;let r=e.state,i=r?.time?.start,a=r?.time?.end;typeof i!=`number`||!Number.isFinite(i)||typeof a!=`number`||!Number.isFinite(a)||a<i||(t+=a-i)}return t},QE=(e,t,n,r)=>{let i=(typeof e==`number`&&Number.isFinite(e)&&e>0&&typeof t==`number`&&Number.isFinite(t)&&t>e?t-e:null)??(typeof r==`number`&&Number.isFinite(r)&&r>0?r:null);if(i===null)return null;let a=i-ZE(n);return!Number.isFinite(a)||a<=0?null:a},$E=e=>{let t=QE(e.createdAt,e.completedAt,e.parts,e.fallbackDurationMs);if(t===null)return null;let n=YE(e.outputTokens)+YE(e.reasoningTokens);if(n<=0)return null;let r=t/1e3;if(r<=0)return null;let i=n/r;return!Number.isFinite(i)||i<=0?null:i},eD=e=>{if(!Number.isFinite(e)||e<=0)return``;if(e>=1e3){let t=e/1e3;return`${t>=10?t.toFixed(0):t.toFixed(1)}k tok/s`}return e>=100?`${Math.round(e)} tok/s`:e>=10?`${e.toFixed(1)} tok/s`:`${e.toFixed(2)} tok/s`},tD=e=>{let t=(0,Q.c)(20),{text:n,active:r,className:i}=e,a=Z.useRef(n),[o,s]=Z.useState(n),[c,l]=Z.useState(null),u,d;t[0]!==r||t[1]!==n?(u=()=>{if(n===a.current)return;let e=a.current;if(a.current=n,!r||e.length===0){l(null),s(n);return}l(e),s(n)},d=[r,n],t[0]=r,t[1]=n,t[2]=u,t[3]=d):(u=t[2],d=t[3]),Z.useEffect(u,d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{l(null)},t[4]=f):f=t[4];let p=J(f),m;t[5]===i?m=t[6]:(m=Y(`oc-summary-flip-viewport relative block h-5 min-h-0 w-full min-w-0 max-w-full overflow-clip sm:h-6`,i),t[5]=i,t[6]=m);let h=c&&`invisible`,g;t[7]===h?g=t[8]:(g=Y(`block h-full min-w-0 truncate leading-5 sm:leading-6`,h),t[7]=h,t[8]=g);let _;t[9]!==o||t[10]!==g?(_=(0,$.jsx)(`span`,{className:g,children:o}),t[9]=o,t[10]=g,t[11]=_):_=t[11];let v;t[12]!==o||t[13]!==p||t[14]!==c?(v=c?(0,$.jsxs)(`span`,{className:`oc-summary-flip-stage absolute inset-0 block overflow-clip`,children:[(0,$.jsx)(`span`,{className:`oc-summary-flip-out absolute inset-x-0 top-0 block h-full truncate`,"aria-hidden":`true`,children:c}),(0,$.jsx)(`span`,{className:`oc-summary-flip-in absolute inset-x-0 top-0 block h-full truncate`,onAnimationEnd:p,children:o})]}):null,t[12]=o,t[13]=p,t[14]=c,t[15]=v):v=t[15];let y;return t[16]!==m||t[17]!==_||t[18]!==v?(y=(0,$.jsxs)(`span`,{className:m,children:[_,v]}),t[16]=m,t[17]=_,t[18]=v,t[19]=y):y=t[19],y},nD=[`search`,`read`,`list`];function rD(e){let t=rw(e);return t===`read`?`read`:t===`glob`||t===`grep`?`search`:t===`list`?`list`:null}function iD(e){let t={read:0,search:0,list:0};for(let n of e){let e=rD(n);e&&(t[e]+=1)}return t}function aD(e){return nw(e)}function oD(e){return e.kind===`reasoning`||e.type===`reasoning`?!1:e.kind===`justification`||e.type===`text`?!0:e.kind===`tool`||e.type===`tool`?!$C(e.toolName):e.kind!=null||e.type!=null}function sD(e,t,n){for(let r=t;r<e.length;r+=1)if(oD(n(e[r])))return!0;return!1}function cD(e){return`parts`in e?e.parts.some(e=>aD(e))?!0:!e.hasFollowingOtherType&&e.isTurnLive:e.some(e=>aD(e))}function lD(e,t,n){let r=[],i=t;for(;i<e.length&&$C(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var uD=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,dD=({activities:e,isMobile:t,isTurnLive:n=!1,hasFollowingOtherType:r=!1,exploring:i,children:a})=>{let{t:o}=ot(),[s,c]=Z.useState(!1),l=Z.useId(),u=e.map(e=>e.part),d=i??cD({parts:u,hasFollowingOtherType:r,isTurnLive:n}),f=iD(u.map(e=>e.tool)),p=nD.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`:t===1?`chat.contextGroup.listSingle`:`chat.contextGroup.listPlural`,{count:t})}).join(`, `),m=J(()=>{c(e=>!e)}),h=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m())}),g=o(s?`chat.contextGroup.collapseAria`:`chat.contextGroup.expandAria`),_=o(d?`chat.contextGroup.exploring`:`chat.contextGroup.explored`),v=t?`h-5`:`h-6`;return(0,$.jsxs)(`div`,{"data-component":`context-tool-group`,className:dm(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":s,"aria-controls":l,"aria-label":g,"data-mobile-press-feedback":`soft`,className:Y(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,fm),onClick:m,onKeyDown:h,children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center self-center`,v,t?`w-4`:`w-3.5`),style:{color:`var(--tools-icon)`},children:d?(0,$.jsx)(VC,{isMobile:t,label:o(`chat.contextGroup.exploring`),className:`block`}):(0,$.jsx)(X,{name:`search`,className:`block h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:Y(`typography-meta inline-flex flex-none items-center self-center font-medium`,v,uD,d&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...d?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:_}),p?(0,$.jsx)(`span`,{className:Y(`typography-meta inline-flex min-h-0 w-0 min-w-0 max-w-full flex-1 items-center self-center overflow-clip`,v,uD),style:{color:`var(--tools-description)`},children:(0,$.jsx)(tD,{text:p,active:d,className:t?`!h-5 sm:!h-5`:`!h-6 sm:!h-6`})}):null,(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:`relative ml-2 pl-3 pt-0.5`,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 fD(e,t,n){let r=[],i=t;for(;i<e.length&&ew(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var pD=e=>{if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null};function mD(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=pD(n.metadata.name);if(e)return e}if(n.input&&typeof n.input==`object`){let e=n.input,t=pD(e.name);if(t)return t;let r=pD(e.id);if(r)return r}if(n.output&&typeof n.output==`object`){let e=pD(n.output.name);if(e)return e}return null}function hD(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 gD=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,_D=({activities:e,isMobile:t,children:n})=>{let{t:r}=ot(),[i,a]=Z.useState(!1),o=Z.useId(),s=e.map(e=>e.part),c=s.some(e=>nw(e)),{joinedVisible:l,hiddenCount:u}=hD(s.map(mD)),d=u>0?r(`chat.skillGroup.summaryOverflow`,{names:l,count:u}):l,f=J(()=>{a(e=>!e)}),p=J(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f())}),m=r(i?`chat.skillGroup.collapseAria`:`chat.skillGroup.expandAria`),h=r(`chat.tools.display.skill`);return(0,$.jsxs)(`div`,{"data-component":`skill-tool-group`,className:dm(t),children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-expanded":i,"aria-controls":o,"aria-label":m,"data-mobile-press-feedback":`soft`,className:Y(`flex min-h-0 min-w-0 items-center gap-1.5 overflow-clip`,fm),onClick:f,onKeyDown:p,children:[(0,$.jsx)(`span`,{className:Y(`flex flex-none items-center justify-center`,t?`size-4`:`size-3.5`),style:{color:`var(--tools-icon)`},children:c?(0,$.jsx)(VC,{isMobile:t,label:h,className:`block`}):(0,$.jsx)(X,{name:`book`,className:`h-[13px] w-[13px]`})}),(0,$.jsx)(`span`,{className:Y(`typography-meta flex-none font-medium`,gD,c&&`animate-text-shimmer`),style:{color:`var(--tools-title)`,...c?{"--oc-text-shimmer-base":`var(--tools-title)`}:{}},children:h}),d?(0,$.jsx)(`span`,{className:Y(`typography-meta h-5 min-h-0 w-0 min-w-0 max-w-full flex-1 overflow-clip sm:h-6`,gD),style:{color:`var(--tools-description)`},children:(0,$.jsx)(tD,{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:`relative ml-2 pl-3 pt-0.5`,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]})},vD=Z.memo(e=>{let t=(0,Q.c)(18),{part:n,messageId:r,onContentChange:i,actions:a,streamPhase:o,onShowPopup:c}=e,l=s(yD),u=n,d=typeof u.text==`string`?u.text:``,f=typeof u.content==`string`?u.content:``,p=f.length>d.length?f:d,m=u.time,h=n.sessionID,g=o===void 0||o!==`completed`,_,v;if(t[0]!==i||t[1]!==p?(_=()=>{p.trim().length!==0&&i?.(`structural`)},v=[i,p],t[0]=i,t[1]=p,t[2]=_,t[3]=v):(_=t[2],v=t[3]),Z.useEffect(_,v),!p||p.trim().length===0)return null;let y=o??`streaming`,b=g&&typeof m?.end!=`number`,x;t[4]!==l||t[5]!==r||t[6]!==i||t[7]!==c||t[8]!==n||t[9]!==h||t[10]!==y||t[11]!==b?(x=(0,$.jsx)(`div`,{"data-message-text-export-source":`true`,children:(0,$.jsx)(FT,{part:n,sessionId:h,messageId:r,streamPhase:y,chatRenderMode:l,hasStreamingHapticLifecycle:b,onContentChange:i,onShowPopup:c})}),t[4]=l,t[5]=r,t[6]=i,t[7]=c,t[8]=n,t[9]=h,t[10]=y,t[11]=b,t[12]=x):x=t[12];let S;t[13]===a?S=t[14]:(S=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]=S);let C;return t[15]!==x||t[16]!==S?(C=(0,$.jsxs)(`div`,{"data-message-text-export-root":`true`,children:[x,S]}),t[15]=x,t[16]=S,t[17]=C):C=t[17],C});function yD(e){return e.chatRenderMode}var bD=e=>{let t=Math.max(0,Math.round(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},xD=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,SD=Y(`typography-meta font-medium`,xD),CD=Y(`typography-meta`,xD),wD=[],TD=e=>{let t=e.part;return t.slim===!0&&(t.type===`tool`||t.type===`reasoning`||t.type===`file`)},ED=e=>{let t=new Set;for(let n of e)TD(n)&&n.messageId&&t.add(n.messageId);return[...t]},DD=(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}),OD=e=>{let t=(0,Q.c)(5),{href:n}=e,[r,i]=Z.useState(!1),a;t[0]===n?a=t[1]:(a=rc(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},kD=e=>e,AD=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},jD=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},MD=e=>{let t=e.part.state?.metadata?.dir;return typeof t==`string`&&t.trim().length>0?t:null},ND=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},PD=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=ND(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`}`},FD=e=>{let t=e.part.state,n=t?.input,r=t?.output;if(Array.isArray(n?.todos)){let e=PD(n.todos);if(e)return e}if(Array.isArray(r)){let e=PD(r);if(e)return e}if(r&&typeof r==`object`&&Array.isArray(r.todos)){let e=PD(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=PD(e);if(t)return t}if(e&&typeof e==`object`&&Array.isArray(e.todos)){let t=PD(e.todos);if(t)return t}}catch{}return null},ID=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)},LD=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(aS,{variant:t?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,CD),style:{color:`var(--tools-description)`},title:e,children:e});let r=e.slice(0,n),i=e.slice(n+1),a=r.startsWith(`/`),o=a?r.slice(1):r;return(0,$.jsxs)(`span`,{className:Y(`min-w-0 inline-flex max-w-full flex-1 items-baseline overflow-hidden`,CD),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)(aS,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:i})]})},RD=e=>{let t=yo(e);return t?t.toLowerCase().endsWith(`/skill.md`)?t:`${t}/SKILL.md`:``},zD=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 mD(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`?FD(e):AD(e)},BD=e=>{let t=[],n=[];for(let r of e){if(r.kind!==`tool`)continue;let e=r.part;if(e.tool?.trim().toLowerCase()!==`task`)continue;let i=typeof e.id==`string`?e.id.trim():``;if(!i)continue;let a=e.state;if(!a||typeof a!=`object`)continue;let o=a;n.push(i),(o.status===`pending`||o.status===`running`)&&t.push(i)}return{active:t,all:n}},VD=Z.memo(e=>{let t=(0,Q.c)(16),{activity:n,isExpanded:r,isMobile:i,onToggleTool:a,onShowPopup:o,onContentChange:s}=e,c;t[0]!==n.id||t[1]!==a?(c=()=>{a(n.id)},t[0]=n.id,t[1]=a,t[2]=c):c=t[2];let l=J(c),u;t[3]===i?u=t[4]:(u=dm(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)(hT,{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&&qS([e.activity.part],[t.activity.part])),HD=Z.memo(e=>{let t=(0,Q.c)(9),{toolName:n,activities:r,isMobile:i}=e,a;t[0]===i?a=t[1]:(a=dm(i),t[0]=i,t[1]=a);let o;t[2]!==r||t[3]!==i||t[4]!==n?(o=(0,$.jsx)(GD,{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&&WD(e.activities,t.activities)),UD=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.kind===`reasoning`){if(!gt(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($C(i)){let r=lD(e,n,e=>e.part.tool);t.push({type:`tool-context-group`,activities:r.items,hasFollowingOtherType:sD(e,r.end,e=>({kind:e.kind,toolName:e.part.tool}))}),n=r.end;continue}if(ew(i)){let r=fD(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(ZC(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(XC(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(QC(i)){t.push({type:`tool-static-group`,toolName:i,activities:[r]}),n++;continue}t.push({type:`tool-fallback`,activity:r}),n++}return t},WD=(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||!qS([r.part],[i.part]))return!1}return!0},GD=Z.memo(e=>{let t=(0,Q.c)(106),{toolName:n,activities:r,isMobile:i,animateTailText:a}=e,{t:o}=ot(),c=s(YD),l=ac(n,o),u;t[0]===n?u=t[1]:(u=oS(n),t[0]=n,t[1]=u);let d=u,f;t[2]===n?f=t[3]:(f=n.toLowerCase(),t[2]=n,t[3]=f);let p=f===`read`,m=Z.useContext(Oo),h=eg(),g=we(XD),_=Fh(),v=_.kind===`embedded`?_.directory:g,y;t[4]===n?y=t[5]:(y=n.toLowerCase(),t[4]=n,t[5]=y);let b=y===`skill`,x;t[6]===b?x=t[7]:(x={enabled:b},t[6]=b,t[7]=x);let S=Tr(x),C;t[8]===S.data?C=t[9]:(C=S.data??[],t[8]=S.data,t[9]=C);let w=C,T;t[10]===w?T=t[11]:(T=new Map(w.map(ZD)),t[10]=w,t[11]=T);let E=T,D=r[0]??null,O=!D||nw(D.part),k;t[12]===D?k=t[13]:(k=D?zD(D):null,t[12]=D,t[13]=k);let A=k,j;if(t[14]!==A||t[15]!==D||t[16]!==E||t[17]!==n){bb0:{if(n.toLowerCase()!==`skill`||!D||!A){j=null;break bb0}let e=E.get(A)?.path||MD(D);if(!e||e===`<built-in>`){j=null;break bb0}let r=RD(e);if(!r){j=null;break bb0}let i;t[19]!==A||t[20]!==r?(i={name:A,path:r},t[19]=A,t[20]=r,t[21]=i):i=t[21],j=i}t[14]=A,t[15]=D,t[16]=E,t[17]=n,t[18]=j}else j=t[18];let M=j,N;if(t[22]!==v||t[23]!==p||t[24]!==D){bb1:{if(!p||!D){N=null;break bb1}let e=jD(D);if(!e){N=null;break bb1}let n=_o(e,v);if(!n){N=null;break bb1}let r;t[26]===D?r=t[27]:(r=ID(D),t[26]=D,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],N=i}t[22]=v,t[23]=p,t[24]=D,t[25]=N}else N=t[25];let P=N,F;t[32]!==v||t[33]!==h||t[34]!==m?(F=(e,t)=>{if(!v)return;let n=vo(v,e);if(!n)return;if(h){h.openFile({path:n,targetLine:t&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):void 0});return}if(m?.editor){m.editor.openFile(n,t);return}if(!So(n,v)){dc(n,v).then(()=>{let e=s.getState(),r=v||go(v,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=s.getState(),i=go(v,n);if(t&&Number.isFinite(t)){r.openContextFileAtLine(i,n,Math.max(1,Math.trunc(t)),1);return}r.openContextFile(i,n)},t[32]=v,t[33]=h,t[34]=m,t[35]=F):F=t[35];let I=J(F),L;t[36]!==v||t[37]!==h?(L=e=>{let t=yo(e);if(!t)return;let n=()=>{if(h){h.openFile({path:t});return}let e=s.getState(),n=v||go(``,t);e.openContextFile(n,t)};if(v&&!So(t,v)){dc(t,v).then(n);return}n()},t[36]=v,t[37]=h,t[38]=L):L=t[38];let R=J(L),z;t[39]===n?z=t[40]:(z=n.toLowerCase(),t[39]=n,t[40]=z);let B=z,V=B===`grep`||B===`search`||B===`find`||B===`ripgrep`||B===`glob`,H=B===`webfetch`||B===`fetch`||B===`curl`||B===`wget`,U=B===`skill`,W=!!(P||M),ee=!!(P&&v||M),G;t[41]!==ee||t[42]!==I||t[43]!==R||t[44]!==W||t[45]!==P||t[46]!==M?(G=()=>{if(!(!W||!ee)){if(P){I(P.path,P.offset);return}M&&R(M.path)}},t[41]=ee,t[42]=I,t[43]=R,t[44]=W,t[45]=P,t[46]=M,t[47]=G):G=t[47];let K=J(G),q;t[48]===K?q=t[49]:(q=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),K())},t[48]=K,t[49]=q);let te=J(q),ne=W&&ee&&`cursor-pointer`,re=W&&!ee&&`cursor-default opacity-70`,ie;t[50]!==ne||t[51]!==re?(ie=Y(`flex w-full items-center gap-x-1.5 min-w-0`,fm,ne,re),t[50]=ne,t[51]=re,t[52]=ie):ie=t[52];let ae=W?`soft`:void 0,oe=W?K:void 0,se=W?te:void 0,ce=W?`button`:void 0,le=W&&ee?0:void 0,ue=W&&!ee?!0:void 0,de=i?`size-4`:`size-3.5`,fe;t[53]===de?fe=t[54]:(fe=Y(`inline-flex items-center justify-center flex-shrink-0`,de),t[53]=de,t[54]=fe);let pe;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(pe={color:`var(--tools-icon)`},t[55]=pe):pe=t[55];let me=O?(0,$.jsx)(VC,{isMobile:i,label:o(`chat.assistantStatus.usingTool`,{tool:l})}):d,he;t[56]!==fe||t[57]!==pe||t[58]!==me?(he=(0,$.jsx)(`div`,{className:fe,style:pe,children:me}),t[56]=fe,t[57]=pe,t[58]=me,t[59]=he):he=t[59];let ge,_e;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(ge=Y(SD,`inline-flex items-center flex-shrink-0 opacity-85`),_e={color:`var(--tools-title)`},t[60]=ge,t[61]=_e):(ge=t[60],_e=t[61]);let ve;t[62]===l?ve=t[63]:(ve=(0,$.jsx)(`span`,{className:ge,style:_e,title:l,children:l}),t[62]=l,t[63]=ve);let ye;t[64]!==a||t[65]!==p||t[66]!==P||t[67]!==c?(ye=p&&P?(0,$.jsxs)(`span`,{className:Y(`inline-flex !min-h-0 items-center justify-start gap-1 min-w-0 flex-1 text-left`,CD),style:{color:`var(--tools-description)`},title:P.offset?`${P.displayPath}:${P.offset}`:P.displayPath,children:[c?(0,$.jsx)(_d,{filePath:P.path,className:`h-3.5 w-3.5`}):null,LD(P.displayPath,a)]}):null,t[64]=a,t[65]=p,t[66]=P,t[67]=c,t[68]=ye):ye=t[68];let be;t[69]!==a||t[70]!==A||t[71]!==V?(be=V&&A?(0,$.jsx)(`span`,{className:`inline-flex min-w-0 flex-1`,children:(0,$.jsxs)(aS,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,CD),style:{color:`var(--tools-description)`},title:A,children:[`"`,A,`"`]})}):null,t[69]=a,t[70]=A,t[71]=V,t[72]=be):be=t[72];let xe;t[73]!==A||t[74]!==H?(xe=H&&A?(0,$.jsxs)(`a`,{href:A,target:`_blank`,rel:`noopener noreferrer`,onClick:QD,className:Y(`min-w-0 flex-1 inline-flex items-center gap-1.5 underline decoration-[color:var(--status-info)] underline-offset-2 hover:opacity-90`,`truncate whitespace-nowrap`,CD),style:{color:`var(--status-info)`},title:A,children:[(0,$.jsx)(OD,{href:A}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:A})]}):null,t[73]=A,t[74]=H,t[75]=xe):xe=t[75];let Se;t[76]!==U||t[77]!==M?(Se=U&&M?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,CD),style:{color:`var(--tools-description)`},title:M.path,children:M.name}):null,t[76]=U,t[77]=M,t[78]=Se):Se=t[78];let Ce;t[79]!==A||t[80]!==U||t[81]!==M?(Ce=U&&!M&&A?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,CD),style:{color:`var(--tools-description)`},title:A,children:A}):null,t[79]=A,t[80]=U,t[81]=M,t[82]=Ce):Ce=t[82];let Te;t[83]!==a||t[84]!==A||t[85]!==H||t[86]!==p||t[87]!==V||t[88]!==U?(Te=!p&&!V&&!H&&!U&&A?(0,$.jsx)(aS,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,CD),style:{color:`var(--tools-description)`},children:A}):null,t[83]=a,t[84]=A,t[85]=H,t[86]=p,t[87]=V,t[88]=U,t[89]=Te):Te=t[89];let Ee;return t[90]!==ie||t[91]!==ae||t[92]!==oe||t[93]!==se||t[94]!==ce||t[95]!==le||t[96]!==ue||t[97]!==he||t[98]!==ve||t[99]!==ye||t[100]!==be||t[101]!==xe||t[102]!==Se||t[103]!==Ce||t[104]!==Te?(Ee=(0,$.jsxs)(`div`,{className:ie,"data-mobile-press-feedback":ae,onClick:oe,onKeyDown:se,role:ce,tabIndex:le,"aria-disabled":ue,children:[he,ve,ye,be,xe,Se,Ce,Te]}),t[90]=ie,t[91]=ae,t[92]=oe,t[93]=se,t[94]=ce,t[95]=le,t[96]=ue,t[97]=he,t[98]=ve,t[99]=ye,t[100]=be,t[101]=xe,t[102]=Se,t[103]=Ce,t[104]=Te,t[105]=Ee):Ee=t[105],Ee},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&WD(e.activities,t.activities)),KD=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)(qT,{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}),qD=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)(vD,{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}),JD=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}=ot(),_=uc()??``,v=Z.useMemo(()=>ED(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?bD(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(()=>BD(e),[e]),M=T?j.active:j.all,N=M.slice(0,c?2:3),P=J((e=!1,n=!1)=>{if(!(!_||!v.length)){for(let r of v){let i=t.find(e=>e.messageId===r)?.part.sessionID;if(!i)continue;let a=Ct(_,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=Nt(_,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=J(e=>{e.stopPropagation(),P(!0)}),I=T,L=I||n,R=J(()=>{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,H=[...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 Ct(_,n,e).status}),U=H.includes(`loading`),W=H.includes(`error`),ee=H.length>0&&H.every(e=>e===`ready`),G=t.some(e=>V.has(e.messageId)&&TD(e)),K=ee&&!G&&!DD(t,V),q=Z.useMemo(()=>B?kD(e):wD,[e,B]),te=Z.useMemo(()=>B?UD(q):[],[B,q]),ne=Z.useMemo(()=>L||z===0?0:Math.max(0,te.length-z),[L,z,te.length]),re=Z.useMemo(()=>L||z===0?te:te.slice(-z),[L,z,te]);if((!m||I&&!O)&&te.length===0)return null;let ie=(e,t)=>{let n=(0,$.jsx)(`div`,{className:dm(c),children:t});return(0,$.jsx)(Z.Fragment,{children:n},e)},ae=B?re.map((e,t)=>{switch(e.type){case`reasoning`:return ie(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(KD,{activity:e.activity,streamPhase:p,onContentChange:f})}));case`justification`:return ie(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(qD,{activity:e.activity,onContentChange:f,onShowPopup:d,actions:h?.(e.activity),streamPhase:p})}));case`tool-expandable`:return(0,$.jsx)(VD,{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)(HD,{toolName:e.toolName,activities:e.activities,isMobile:c},e.activities[0]?.id??`static-${e.toolName}-${t}`);case`tool-context-group`:return(0,$.jsx)(dD,{activities:e.activities,isMobile:c,isTurnLive:T,hasFollowingOtherType:e.hasFollowingOtherType,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(GD,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`context-${t}`);case`tool-skill-group`:return(0,$.jsx)(_D,{activities:e.activities,isMobile:c,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(GD,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`skill-${t}`);case`tool-fallback`:return(0,$.jsx)(VD,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);default:return null}}):null,oe=re.length>0;return m?(0,$.jsxs)(`div`,{className:dm(c),children:[(0,$.jsxs)(`button`,{ref:C,type:`button`,className:Y(`group/tool flex w-full min-w-0 flex-nowrap items-center text-left`,c?`gap-x-1`:`gap-x-2`,!I&&fm,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:Y(`inline-flex min-w-0 flex-1 items-center overflow-clip`,c?`gap-x-1`:`gap-x-1.5`),children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center`,c?`h-5 w-4`:`h-6 w-3.5`),style:{color:`var(--tools-icon)`},children:T&&!O?(0,$.jsx)(VC,{isMobile:c,label:A,className:`block`}):(0,$.jsx)(X,{name:k,className:`h-3.5 w-3.5`})}),(0,$.jsx)(`span`,{className:Y(`inline-flex flex-shrink-0 items-center`,c?`typography-meta h-5`:`typography-ui-label h-5 font-semibold`,T?`animate-text-shimmer text-[var(--status-info)] [--oc-text-shimmer-base:var(--status-info)]`:`text-foreground/85`),children:A}),E?(0,$.jsx)(`span`,{className:`typography-meta shrink-0 tabular-nums text-muted-foreground`,children:E}):null]}),(0,$.jsxs)(`span`,{className:Y(`ml-auto inline-flex max-w-[min(14rem,55%)] shrink-0 items-center justify-end`,c?`gap-0.5`:`gap-1`),children:[M.length>0?(0,$.jsxs)(`span`,{className:Y(`inline-flex min-w-0 items-center text-muted-foreground`,c?`gap-1`:`gap-1.5`),children:[(0,$.jsx)(`span`,{className:`inline-flex shrink-0 items-center gap-0.5`,"aria-hidden":`true`,children:N.map((e,t)=>(0,$.jsx)(sa,{name:e,size:c?12:14,className:Y(`flex-none`,c?`size-3 min-h-3 min-w-3 max-h-3 max-w-3`:`size-3.5 min-h-3.5 min-w-3.5 max-h-3.5 max-w-3.5`)},`${e}-${t}`))}),(0,$.jsx)(`span`,{className:`typography-meta min-w-0 truncate`,children:g(T?`chat.activity.agentsWorking`:`chat.activity.agentsInvolved`,{count:M.length})})]}):null,I?null:(0,$.jsx)(X,{name:L?`arrow-down-s`:`arrow-right-s`,className:Y(`flex-shrink-0 text-muted-foreground opacity-70`,c&&`-mr-0.5`,c?`size-3`:`size-3.5`)})]})]}),oe?(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)`}}),ne>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:[`+`,ne,` more...`]}):null,(0,$.jsx)(`div`,{className:`flow-root`,children:ae})]}):null,L&&(U||W||K)?(0,$.jsx)(`div`,{className:Y(`typography-meta flex min-h-9 items-center gap-2 px-2 text-muted-foreground`,I?void 0:`ml-5`,W&&`text-[var(--status-error)]`),role:W?`alert`:`status`,children:U?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 shrink-0 animate-spin`}),(0,$.jsx)(`span`,{children:g(`chat.activity.outputLoading`)})]}):W?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`error-warning`,className:`size-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1`,children:g(`chat.activity.outputLoadFailed`)}),(0,$.jsx)(ca,{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:dm(c),children:ae})});function YD(e){return e.showToolFileIcons}function XD(e){return e.currentDirectory}function ZD(e){return[e.name,e]}function QD(e){e.stopPropagation()}var $D=Z.memo(e=>{let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(JD,{...e}),t[0]=e,t[1]=n),n}),eO={contain:`layout`},tO={containerType:`inline-size`,containerName:`message-footer`},nO=`mt-1.5 mb-0.5 flex items-center justify-start gap-1.5`,rO=`mt-3 mb-0.5 flex items-center justify-start gap-1.5`,iO=`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`,aO=`size-3.5!`,oO=`mt-1.5 mb-0.5 flex flex-wrap items-center gap-3`,sO=`mt-3 mb-0.5 flex flex-wrap items-center gap-3 -ml-[5px]`,cO=`flex items-center gap-2`,lO=`flex items-center gap-2 text-muted-foreground`,uO=`inline-flex h-3.5 items-center gap-1 text-[11px] leading-none tabular-nums text-muted-foreground`,dO=`size-3.5!`,fO=`medium`,pO=e=>e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e,mO=`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)]`,hO=`h-7 gap-1.5`,gO=`h-6 gap-1`,_O=`text-[11px] leading-none`,vO=`size-3.5`,yO=`size-3`,bO=5,xO=Z.memo(e=>{let t=(0,Q.c)(30),{file:n,isMobile:r}=e,i=r?`gap-1 text-[11px]`:`gap-1.5 text-xs`,a;t[0]===i?a=t[1]:(a=Y(`flex min-w-0 flex-1 items-center leading-none text-muted-foreground`,i),t[0]=i,t[1]=a);let o=n.file,s=r?`h-3 w-3`:`h-3.5 w-3.5`,c;t[2]===s?c=t[3]:(c=Y(`flex-shrink-0`,s),t[2]=s,t[3]=c);let l;t[4]!==n.file||t[5]!==c?(l=(0,$.jsx)(_d,{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=pO(n.file),t[7]=n.file,t[8]=d);let f;t[9]!==n.file||t[10]!==d?(f=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left text-foreground/80`,title:u,children:d}),t[9]=n.file,t[10]=d,t[11]=f):f=t[11];let p=r?`text-[11px]`:`typography-meta`,m;t[12]===p?m=t[13]:(m=Y(`inline-flex flex-shrink-0 items-center gap-0 leading-none tabular-nums`,p),t[12]=p,t[13]=m);let h;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(h={color:`var(--status-success)`},t[14]=h):h=t[14];let g;t[15]===n.additions?g=t[16]:(g=(0,$.jsxs)(`span`,{style:h,children:[`+`,n.additions]}),t[15]=n.additions,t[16]=g);let _,v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:`text-muted-foreground/70`,children:`/`}),v={color:`var(--status-error)`},t[17]=_,t[18]=v):(_=t[17],v=t[18]);let y;t[19]===n.deletions?y=t[20]:(y=(0,$.jsxs)(`span`,{style:v,children:[`-`,n.deletions]}),t[19]=n.deletions,t[20]=y);let b;t[21]!==m||t[22]!==g||t[23]!==y?(b=(0,$.jsxs)(`span`,{className:m,children:[g,_,y]}),t[21]=m,t[22]=g,t[23]=y,t[24]=b):b=t[24];let x;return t[25]!==b||t[26]!==a||t[27]!==l||t[28]!==f?(x=(0,$.jsxs)(`span`,{className:a,children:[l,f,b]}),t[25]=b,t[26]=a,t[27]=l,t[28]=f,t[29]=x):x=t[29],x}),SO=Z.memo(e=>{let t=(0,Q.c)(18),{file:n,canOpen:r,isMobile:i,onOpen:a}=e,{t:o}=ot(),s;t[0]!==n.file||t[1]!==a?(s=()=>{a(n.file)},t[0]=n.file,t[1]=a,t[2]=s):s=t[2];let c=J(s),l=!r,u=i?gO:hO,d;t[3]===u?d=t[4]:(d=Y(mO,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)(xO,{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)(ca,{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}),CO=Z.memo(e=>{let t=(0,Q.c)(53),{fileCount:n,changedFiles:r,turnId:i,isLatestTurn:a,isMobile:o}=e,{t:c}=ot(),l=uc(),u=Fh(),d=u.directory||l,f=u.sessionId,p=eg(),m=s(LO),h;t[0]===r?h=t[1]:(h=r??[],t[0]=r,t[1]=h);let g=h,_;t[2]===g?_=t[3]:(_=g.slice(0,bO),t[2]=g,t[3]=_);let v=_,y=Math.max(0,g.length-v.length),b=g.length>0?g.length:n,x=!!(p||!o&&d||o&&a),S;t[4]!==b||t[5]!==c?(S=c(b===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:b}),t[4]=b,t[5]=c,t[6]=S):S=t[6];let C=S,w;t[7]!==y||t[8]!==c?(w=c(y===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:y}),t[7]=y,t[8]=c,t[9]=w):w=t[9];let T=w,E=Y(mO,o?gO:hO),D=o?yO:vO,O;t[10]===o?O=t[11]:(O=o?Y(_O,`font-semibold text-foreground/85`):`typography-meta font-semibold text-foreground/85`,t[10]=o,t[11]=O);let k=O,A;t[12]===o?A=t[13]:(A=o?Y(_O,`text-muted-foreground`):`typography-meta text-muted-foreground`,t[12]=o,t[13]=A);let j=A,M;t[14]===o?M=t[15]:(M=o?Y(_O,`font-medium`):`typography-meta font-medium`,t[14]=o,t[15]=M);let N=M,P;t[16]!==d||t[17]!==f||t[18]!==a||t[19]!==o||t[20]!==p||t[21]!==i?(P=e=>{if(p){p.openTurnDiff(i,f,e);return}if(!o&&d){XT({directory:d,filePath:e,turnMessageId:i,sessionId:f});return}o&&a&&d&&XT({directory:d,filePath:e,turnMessageId:i,sessionId:f,mobile:!0})},t[16]=d,t[17]=f,t[18]=a,t[19]=o,t[20]=p,t[21]=i,t[22]=P):P=t[22];let F=J(P),I;t[23]!==d||t[24]!==f||t[25]!==a||t[26]!==o||t[27]!==p||t[28]!==m||t[29]!==i||t[30]!==v[0]?.file?(I=()=>{if(p){p.openTurnDiff(i,f);return}if(!o&&d){m(d,{mode:`diff`,dedupeKey:`turn-diff:${f||`session`}:${i}`,targetPath:null,diffScope:`turn`,diffTurnMessageId:i,diffSessionId:f});return}let e=v[0]?.file;e&&o&&a&&d&&XT({directory:d,filePath:e,turnMessageId:i,sessionId:f,mobile:!0})},t[23]=d,t[24]=f,t[25]=a,t[26]=o,t[27]=p,t[28]=m,t[29]=i,t[30]=v[0]?.file,t[31]=I):I=t[31];let L=J(I),R=o?`gap-0 border-foreground/15 p-1`:`gap-0.5 border-border/50 p-1.5`,z;t[32]===R?z=t[33]:(z=Y(`mt-4 flex min-w-0 flex-col rounded-[var(--radius-lg)] border bg-muted/20`,R),t[32]=R,t[33]=z);let B=Y(E,`max-w-full text-muted-foreground hover:text-foreground`),V;t[34]===c?V=t[35]:(V=c(`diffView.actions.reviewAria`),t[34]=c,t[35]=V);let H;t[36]===c?H=t[37]:(H=c(`diffView.actions.reviewAria`),t[36]=c,t[37]=H);let U;t[38]===D?U=t[39]:(U=(0,$.jsx)(X,{name:`file-edit`,className:D}),t[38]=D,t[39]=U);let W=`turn-changes-${i}`,ee;t[40]===c?ee=t[41]:(ee=c(`chat.changedFiles.title`),t[40]=c,t[41]=ee);let G;t[42]!==W||t[43]!==ee||t[44]!==k?(G=(0,$.jsx)(`span`,{id:W,className:k,children:ee}),t[42]=W,t[43]=ee,t[44]=k,t[45]=G):G=t[45];let K;t[46]!==C||t[47]!==j?(K=(0,$.jsx)(`span`,{className:j,children:C}),t[46]=C,t[47]=j,t[48]=K):K=t[48];let q;t[49]===D?q=t[50]:(q=Y(D,`opacity-60`),t[49]=D,t[50]=q);let te;return t[51]===q?te=t[52]:(te=(0,$.jsx)(X,{name:`arrow-right-s`,className:q}),t[51]=q,t[52]=te),(0,$.jsxs)(`section`,{className:z,"data-turn-changes-preview":`true`,"data-message-action-group":`true`,"aria-labelledby":`turn-changes-${i}`,children:[(0,$.jsxs)(ca,{type:`button`,variant:`ghost`,size:`xs`,disabled:!x,onClick:L,className:B,"aria-label":V,title:H,children:[U,G,K,te]}),v.length>0?(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col`,o?`gap-0`:`gap-0.5`),children:[v.map(e=>(0,$.jsx)(SO,{file:e,canOpen:x,isMobile:o,onOpen:F},e.file)),y>0?(0,$.jsxs)(ca,{type:`button`,variant:`ghost`,size:`xs`,disabled:!x,className:Y(E,`text-muted-foreground hover:text-foreground`),onClick:L,"aria-label":c(`diffView.actions.reviewAria`),title:c(`diffView.actions.reviewAria`),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:Y(D,`flex-shrink-0`)}),(0,$.jsxs)(`span`,{className:N,children:[`+`,T]}),(0,$.jsx)(X,{name:`arrow-right-s`,className:D})]}):null]}):null]})}),wO=e=>e.type===`subtask`,TO=e=>{let t=e;return t.type===`text`&&typeof t.shellAction==`object`&&t.shellAction!==null},EO=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}`},DO=e=>{let t=(0,Q.c)(49),{part:n}=e,[r,i]=Z.useState(!1),a=uc(),{isMobile:o}=fo(),c=Zr(RO),l=s(zO),u=Fh(),{t:f}=ot(),p;t[0]===n.description?p=t[1]:(p=typeof n.description==`string`?n.description.trim():``,t[0]=n.description,t[1]=p);let m=p,h;t[2]===n.command?h=t[3]:(h=typeof n.command==`string`?n.command.trim():``,t[2]=n.command,t[3]=h);let g=h,_;t[4]===n.agent?_=t[5]:(_=typeof n.agent==`string`?n.agent.trim():``,t[4]=n.agent,t[5]=_);let v=_,y;t[6]===n.prompt?y=t[7]:(y=typeof n.prompt==`string`?n.prompt.trim():``,t[6]=n.prompt,t[7]=y);let b=y,x;t[8]===n.taskSessionID?x=t[9]:(x=typeof n.taskSessionID==`string`?n.taskSessionID.trim():``,t[8]=n.taskSessionID,t[9]=x);let S=x,C;t[10]===n.model?C=t[11]:(C=EO(n.model),t[10]=n.model,t[11]=C);let w=C,T=!!b&&!(o&&u.kind===`primary`),E;t[12]===f?E=t[13]:(E=f(`chat.messageBody.subtask.title`),t[12]=f,t[13]=E);let D;t[14]===E?D=t[15]:(D=(0,$.jsx)(`span`,{className:`typography-meta font-semibold text-foreground`,children:E}),t[14]=E,t[15]=D);let O;t[16]===g?O=t[17]:(O=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[16]=g,t[17]=O);let k;t[18]===v?k=t[19]:(k=v?(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:[`@`,v]}):null,t[18]=v,t[19]=k);let A;t[20]===w?A=t[21]:(A=w?(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:w}):null,t[20]=w,t[21]=A);let j;t[22]!==k||t[23]!==A||t[24]!==D||t[25]!==O?(j=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[D,O,k,A]}),t[22]=k,t[23]=A,t[24]=D,t[25]=O,t[26]=j):j=t[26];let M;t[27]===m?M=t[28]:(M=m?(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground/90 mt-1.5`,children:m}):null,t[27]=m,t[28]=M);let N;t[29]!==r||t[30]!==b||t[31]!==T||t[32]!==f?(N=T?(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(BO),children:f(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:b}):null]}):null,t[29]=r,t[30]=b,t[31]=T,t[32]=f,t[33]=N):N=t[33];let P;t[34]!==v||t[35]!==m||t[36]!==a||t[37]!==o||t[38]!==l||t[39]!==u||t[40]!==c||t[41]!==f||t[42]!==S?(P=S&&u.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=u.directory||a;e&&Lh(u,S,e,()=>{if(!ai({sessionId:S,directory:e})){if(ul()||o||d()){c(S,e);return}l(e,{mode:`chat`,dedupeKey:`session:${S}`,label:m||v||f(`contextPanel.mode.chat`),readOnly:!0})}})},children:f(`chat.messageBody.subtask.openSession`)})}):null,t[34]=v,t[35]=m,t[36]=a,t[37]=o,t[38]=l,t[39]=u,t[40]=c,t[41]=f,t[42]=S,t[43]=P):P=t[43];let F;return t[44]!==j||t[45]!==M||t[46]!==N||t[47]!==P?(F=(0,$.jsxs)(`div`,{className:`mt-2`,children:[j,M,N,P]}),t[44]=j,t[45]=M,t[46]=N,t[47]=P,t[48]=F):F=t[48],F},OO=e=>{let t=(0,Q.c)(34),{notification:n}=e,r=uc(),i=s(VO),{isMobile:a}=fo(),{t:o}=ot(),c;t[0]!==r||t[1]!==a?(c=r&&!a&&!d(),t[0]=r,t[1]=a,t[2]=c):c=t[2];let l=!!c,u;t[3]!==n.state||t[4]!==o?(u=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]=u):u=t[5];let f=u,p=n.state===`completed`?o(`chat.messageBody.subagent.completedDescription`):n.state===`error`?o(`chat.messageBody.subagent.errorDescription`):o(`chat.messageBody.subagent.cancelledDescription`),m=n.description||p,h=J(()=>{!l||!r||i(r,{mode:`chat`,dedupeKey:`session:${n.sessionID}`,label:m,readOnly:!0})}),g;t[6]===h?g=t[7]:(g=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),h())},t[6]=h,t[7]=g);let _=J(g),v=l&&`cursor-pointer hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,y;t[8]===v?y=t[9]:(y=Y(`mt-2 flex min-w-0 gap-2.5 rounded-[var(--radius-lg)] border border-border/60 bg-muted/20 px-3 py-2.5`,v),t[8]=v,t[9]=y);let b=l?`button`:void 0,x=l?0:void 0,S=l?o(`chat.messageBody.subagent.openSession`,{label:m}):void 0,C=l?h:void 0,w=l?_:void 0,T;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(T=(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]=T):T=t[10];let E;t[11]===m?E=t[12]:(E=(0,$.jsx)(`span`,{className:`typography-meta min-w-0 flex-1 truncate font-semibold text-foreground/90`,children:m}),t[11]=m,t[12]=E);let D=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`,O;t[13]===D?O=t[14]:(O=Y(`inline-flex h-5 flex-shrink-0 items-center rounded px-1.5 text-[11px] leading-none`,D),t[13]=D,t[14]=O);let k;t[15]!==f||t[16]!==O?(k=(0,$.jsx)(`span`,{className:O,children:f}),t[15]=f,t[16]=O,t[17]=k):k=t[17];let A;t[18]!==E||t[19]!==k?(A=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[E,k]}),t[18]=E,t[19]=k,t[20]=A):A=t[20];let j;t[21]===n.body?j=t[22]:(j=n.body?(0,$.jsx)(`div`,{className:`typography-meta mt-1 max-h-16 overflow-hidden text-muted-foreground [&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,children:(0,$.jsx)(As,{content:n.body,variant:`tool`,enableFileReferences:!1})}):null,t[21]=n.body,t[22]=j);let M;t[23]!==A||t[24]!==j?(M=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[A,j]}),t[23]=A,t[24]=j,t[25]=M):M=t[25];let N;return t[26]!==w||t[27]!==M||t[28]!==y||t[29]!==b||t[30]!==x||t[31]!==S||t[32]!==C?(N=(0,$.jsxs)(`div`,{className:y,role:b,tabIndex:x,"aria-label":S,onClick:C,onKeyDown:w,children:[T,M]}),t[26]=w,t[27]=M,t[28]=y,t[29]=b,t[30]=x,t[31]=S,t[32]=C,t[33]=N):N=t[33],N},kO={background:`transparent`,backgroundColor:`transparent`},AO=e=>{let t=(0,Q.c)(36),{part:n}=e,[r,i]=Z.useState(!1),[a,o]=Z.useState(!1),s=Z.useRef(null),{t:c}=ot(),l;t[0]===n.shellAction?l=t[1]:(l=typeof n.shellAction?.command==`string`?n.shellAction.command.trim():``,t[0]=n.shellAction,t[1]=l);let u=l,d=typeof n.shellAction?.output==`string`?n.shellAction.output:``,f;t[2]===n.shellAction?f=t[3]:(f=typeof n.shellAction?.status==`string`?n.shellAction.status.trim().toLowerCase():``,t[2]=n.shellAction,t[3]=f);let p=f,m;t[4]===d?m=t[5]:(m=d.trim(),t[4]=d,t[5]=m);let h=m.length>0,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{s.current!==null&&typeof window<`u`&&(window.clearTimeout(s.current),s.current=null)},t[6]=g):g=t[6];let _=J(g),v,y;t[7]===_?(v=t[8],y=t[9]):(v=()=>()=>{_()},y=[_],t[7]=_,t[8]=v,t[9]=y),Z.useEffect(v,y);let b;t[10]!==_||t[11]!==h||t[12]!==d?(b=async()=>{h&&(await ct(d)).ok&&(_(),o(!0),typeof window<`u`&&(s.current=window.setTimeout(()=>{o(!1),s.current=null},2e3)))},t[10]=_,t[11]=h,t[12]=d,t[13]=b):b=t[13];let x=J(b),S;t[14]===c?S=t[15]:(S=c(`chat.messageBody.shellCommand.title`),t[14]=c,t[15]=S);let C;t[16]===S?C=t[17]:(C=(0,$.jsx)(`span`,{className:`typography-meta font-semibold text-foreground`,children:S}),t[16]=S,t[17]=C);let w;t[18]===p?w=t[19]:(w=p?(0,$.jsx)(`span`,{className:Y(`inline-flex h-5 items-center rounded px-1.5 text-[11px] leading-none`,p===`error`?`bg-[var(--status-error-background)] text-[var(--status-error)]`:`bg-foreground/5 text-muted-foreground`),children:p}):null,t[18]=p,t[19]=w);let T;t[20]!==w||t[21]!==C?(T=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[C,w]}),t[20]=w,t[21]=C,t[22]=T):T=t[22];let E;t[23]===u?E=t[24]:(E=u?(0,$.jsx)(`div`,{className:`typography-meta mt-1.5 overflow-x-auto font-mono`,children:(0,$.jsx)(Mc,{language:`bash`,code:u,codeStyle:kO,wrap:!0})}):null,t[23]=u,t[24]=E);let D;t[25]!==a||t[26]!==x||t[27]!==r||t[28]!==h||t[29]!==d||t[30]!==c?(D=h?(0,$.jsxs)(`div`,{className:`mt-2 border-t border-border/60 pt-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,$.jsx)(`button`,{type:`button`,className:`typography-meta text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2`,onClick:()=>i(HO),children:c(r?`chat.messageBody.shellCommand.hideOutput`:`chat.messageBody.shellCommand.showOutput`)}),(0,$.jsx)(`button`,{type:`button`,className:`inline-flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors`,onClick:()=>{x()},"aria-label":c(a?`chat.messageBody.shellCommand.copied`:`chat.messageBody.shellCommand.copyOutput`),title:c(a?`chat.messageBody.shellCommand.copied`:`chat.messageBody.shellCommand.copyOutput`),children:a?(0,$.jsx)(X,{name:`check`,className:`h-3.5 w-3.5`}):(0,$.jsx)(X,{name:`file-copy`,className:`h-3.5 w-3.5`})})]}),r?(0,$.jsx)(`div`,{className:`typography-meta mt-1.5 max-h-56 overflow-auto font-mono text-foreground/85`,children:(0,$.jsx)(Mc,{language:`bash`,code:d,codeStyle:kO,wrap:!0})}):null]}):null,t[25]=a,t[26]=x,t[27]=r,t[28]=h,t[29]=d,t[30]=c,t[31]=D):D=t[31];let O;return t[32]!==T||t[33]!==E||t[34]!==D?(O=(0,$.jsxs)(`div`,{className:`mt-2`,children:[T,E,D]}),t[32]=T,t[33]=E,t[34]=D,t[35]=O):O=t[35],O},jO=e=>{let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},MO=(e,t)=>{if(t&&typeof t==`object`)return{output:typeof t.output==`number`&&Number.isFinite(t.output)?Math.max(0,t.output):0,reasoning:typeof t.reasoning==`number`&&Number.isFinite(t.reasoning)?Math.max(0,t.reasoning):0};for(let t of e){let e=t.tokens;if(!(!e||typeof e!=`object`))return{output:typeof e.output==`number`&&Number.isFinite(e.output)?Math.max(0,e.output):0,reasoning:typeof e.reasoning==`number`&&Number.isFinite(e.reasoning)?Math.max(0,e.reasoning):0}}return{output:0,reasoning:0}},NO=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,messageCreatedAt:i,isMobile:a,alwaysShowActions:o=a,hasTouchInput:c,hasTextContent:l,onCopyMessage:u,copiedMessage:d,onShowPopup:f,agentMention:p,onEdit:m,onRevert:h,onFork:g,pendingMessageAction:_,editing:v,editStaged:y,onCancelEdit:b,userActionsMode:x=`inline`,stickyUserHeaderEnabled:S=!0})=>{let{locale:C,t:w}=ot(),T=Sg(),E=Ih(Fh()),D=s(e=>e.timeFormatPreference),[O,k]=Z.useState(!1),A=Z.useRef(null),j=Z.useMemo(()=>n.filter(e=>e.type===`text`?!dn(e):!!(wO(e)||TO(e))),[n]),M=Z.useMemo(()=>j.map(e=>tr(e)?ES(gt(e)):void 0),[j]),N=p?.token,P=!1,F=!!u,I=!!d,L=!!(c??a),R=!!l,z=x!==`external-actions`,B=x!==`external-content`,V=S&&x===`inline`,H=J(()=>{A.current!==null&&typeof window<`u`&&(window.clearTimeout(A.current),A.current=null)}),U=J(()=>{!L||!F||!R||typeof window>`u`||(H(),k(!0),A.current=window.setTimeout(()=>{k(!1),A.current=null},1800))});Z.useEffect(()=>{R||(k(!1),H())},[H,R]);let W=J(e=>{!u||!R||(e.stopPropagation(),e.preventDefault(),u(),L&&U())}),ee=T===`mini-chat`||!E.fork?void 0:g,G=Z.useMemo(()=>{if(typeof i!=`number`||i<=0)return null;let e=JE(i,D);return e.length>0?e:null},[C,i,D]),K=Y(`group/user-actions`,a?x===`inline`?`flex items-center justify-end pt-2 pb-3`:S?`flex h-9 items-start justify-end pt-0`:`flex h-11 items-start justify-end pt-0`:x===`inline`?`absolute top-full left-0 right-0 z-10 pt-5`:`flex h-8 items-start justify-end pt-2`),q=!v&&y&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsxs)(`div`,{className:Y(cO,`justify-end`,!a&&x===`inline`&&`translate-x-5`,`pointer-events-auto opacity-100`),"data-message-action-group":`true`,children:[(0,$.jsxs)(`span`,{className:Y(uO,`text-primary`),"aria-live":`polite`,children:[(0,$.jsx)(X,{weight:fO,name:`edit`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:w(`chat.messageBody.actions.editStaged`)})]}),b?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":w(`chat.messageBody.actions.cancelEdit`),onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),b()},children:(0,$.jsx)(X,{weight:fO,name:`close`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.cancelEdit`)})]}):null]})}):null,te=(v&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsx)(`div`,{className:Y(cO,`justify-end`,!a&&x===`inline`&&`translate-x-5`,`pointer-events-none opacity-100`),children:(0,$.jsx)(`span`,{className:Y(uO,`animate-text-shimmer`),"aria-live":`polite`,children:w(`chat.messageBody.actions.editing`)})})}):null)??q??((F&&R||m||h||ee)&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsxs)(`div`,{className:Y(cO,`justify-end`,!a&&x===`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:[G?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsxs)(`span`,{className:Y(uO,`mr-1`),"aria-label":`Message time: ${G}`,children:[(0,$.jsx)(X,{weight:fO,name:`time`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:G})]})}),(0,$.jsx)(Va,{children:G})]}):null,h&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":w(`chat.messageBody.actions.revertAria`),"aria-busy":_===`revert`,disabled:!!_,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),h()},children:(0,$.jsx)(X,{weight:fO,name:_===`revert`?`loader-4`:`arrow-go-back`,className:Y(aO,_===`revert`&&`animate-spin`)})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.revert`)})]}),m&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":w(`chat.messageBody.actions.editAria`),disabled:!!_,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),m()},children:(0,$.jsx)(X,{weight:fO,name:`edit`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.edit`)})]}),ee&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":w(`chat.messageBody.actions.forkAria`),"aria-busy":_===`fork`,disabled:!!_,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),ee()},children:(0,$.jsx)(X,{weight:fO,name:_===`fork`?`loader-4`:`git-branch`,className:Y(aO,_===`fork`&&`animate-spin`)})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.fork`)})]}),F&&R&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":O||I?`true`:void 0,className:iO,"aria-label":w(`chat.messageBody.actions.copyMessageAria`),onPointerDown:e=>e.stopPropagation(),onClick:W,onFocus:()=>k(!0),onBlur:()=>{I||k(!1)},children:I?(0,$.jsx)(X,{weight:fO,name:`check`,className:Y(aO,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:fO,name:`file-copy`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:w(`chat.messageBody.actions.copyMessage`)})]})]})}):null);return z?(0,$.jsxs)(`div`,{className:`relative w-full group/message`,style:eO,onTouchStart:L&&F&&R?U:void 0,children:[(0,$.jsx)(`div`,{className:Y(`leading-relaxed text-foreground/90 text-base overflow-x-hidden`,V?`overflow-y-auto overscroll-contain scrollbar-none`:`overflow-y-hidden`),style:V?{maxHeight:`calc(var(--chat-scroll-height, 100dvh) * 0.4)`}:void 0,children:j.map((e,i)=>{if(wO(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(DO,{part:e})},e.id??`user-subtask-${i}`);if(TO(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(AO,{part:e})},e.id??`user-shell-${i}`);let o=M[i];if(o)return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(OO,{notification:o})},e.id??`subagent-notification-${i}`);let s;return p&&N&&!P&&gt(e).includes(N)&&(s=p,P=!0),(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(rS,{part:e,messageId:t,isMobile:a,agentMention:s,messageParts:r??n})},e.id??`user-text-${i}`)})}),(0,$.jsx)(Ud,{files:n,messageID:t,sessionID:e,onShowPopup:f,compact:!0}),te]}):(0,$.jsx)($.Fragment,{children:te})}),PO=Z.memo(({hasCopyableText:e,isTouchContext:t,onCopyMessage:n,reviewTransferAction:r,ttsText:i,sessionId:a})=>{let{t:o}=ot(),s=Sg(),c=Fh(),l=Ih(c),{isPlaying:u,play:d,stop:f}=OE(),p=Qr(e=>e.showMessageTTSButtons),m=Qr(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=J(()=>{x.current!==null&&typeof window<`u`&&(window.clearTimeout(x.current),x.current=null)}),E=J(()=>{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=J(()=>{!t||!C||!e||typeof window>`u`||(T(),g(!0),x.current=window.setTimeout(()=>{g(!1),x.current=null},1800))}),O=J(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=J(async t=>{if(t.stopPropagation(),t.preventDefault(),!(!r||y||!e)){b(!0);try{await r.onClick()}finally{b(!1)}}}),A=J(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=J(e=>{if(e.stopPropagation(),e.preventDefault(),u){f();return}i.trim()&&d(i)});return(0,$.jsxs)($.Fragment,{children:[n&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":h||_?`true`:void 0,className:Y(iO,!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:fO,name:`check`,className:Y(aO,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:fO,name:`file-copy`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:o(`chat.messageBody.actions.copyAnswer`)})]}),w?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":o(`chat.messageBody.actions.openSourceSessionAria`),onPointerDown:e=>e.stopPropagation(),onClick:A,children:(0,$.jsx)(X,{weight:fO,name:`target`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:o(`chat.messageBody.actions.openSourceSession`)})]}):null,r&&s!==`mini-chat`&&l.reviewTransfer?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,size:`icon`,variant:`ghost`,disabled:y||!e,className:Y(iO,(!e||y)&&`opacity-50`),"aria-label":r.ariaLabel,onPointerDown:e=>e.stopPropagation(),onClick:e=>{k(e)},children:y?(0,$.jsx)(X,{weight:fO,name:`loader-4`,className:Y(aO,`animate-spin`)}):(0,$.jsx)(X,{weight:fO,name:`arrow-left-right`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:r.tooltip})]}):null,s!==`mini-chat`&&p&&e&&(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:Y(iO,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:fO,name:`stop`,className:aO}):(0,$.jsx)(X,{weight:fO,name:`volume-up`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:j})]})]})}),FO=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,isMessageCompleted:i,messageFinish:a,messageCompletedAt:o,messageCreatedAt:c,messageTokens:l,isMobile:u,alwaysShowActions:f,hasTouchInput:p,expandedTools:m,onToggleTool:h,onShowPopup:g,streamPhase:_,allowAnimation:v,onContentChange:y,hasTextContent:b=!1,onCopyMessage:x,onAuxiliaryContentComplete:S,showReasoningTraces:C=!1,turnGroupingContext:w,errorMessage:T,errorVariant:E=`error`,reviewTransferDirection:D=null})=>{let{t:O,locale:k}=ot(),A=Sg(),j=Ih(Fh()),M=_,N=Z.useRef(null),P=Z.useRef(null),F=_===`streaming`||_===`cooldown`,I=Z.useRef({messageId:t,experiencedStreamingOrCooldown:F});I.current.messageId===t?F&&(I.current.experiencedStreamingOrCooldown=!0):I.current={messageId:t,experiencedStreamingOrCooldown:F};let L=!!(p??u),R=!!(f??u),z=u?sO:oO,B=!i,V=Z.useMemo(()=>n.filter(e=>!dn(e)).filter(e=>e.type!==`compaction`),[n]),H=Z.useMemo(()=>V.filter(e=>e.type===`tool`),[V]),U=Z.useMemo(()=>V.filter(e=>e.type===`text`),[V]),W=Z.useMemo(()=>ar(U),[U]),ee=s(e=>e.openContextPreview),G=d(),K=A===`mini-chat`,q=Z.useMemo(()=>{if(G||u||K)return null;for(let e of U){let t=e.text;if(typeof t!=`string`||t.length===0)continue;let n=ic(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 H){let t=e.state,n=t&&typeof t.output==`string`?t.output:null;if(!n)continue;let r=ic(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},[U,u,K,G,H]),te=Zr(e=>e.forkFromMessage),ne=Zr(e=>e.forkTransition),re=Zr(e=>e.currentSessionId),ie=Zr(e=>e.getDirectoryForSession),ae=uc(),oe=D===`review-to-original`,se=!u&&!G?D:null,ce=Z.useMemo(()=>{let t=W.trim();if(!(!e||!ae||!t||!se))return se===`review-to-original`?{ariaLabel:O(`chat.messageBody.actions.sendReviewFeedback`),tooltip:O(`chat.messageBody.actions.sendReviewFeedback`),onClick:async()=>{try{await Jt(e,ae,t)}catch(e){console.error(`[review-flow] failed to send review feedback`,e)}}}:{ariaLabel:O(`chat.messageBody.actions.sendImplementationResponse`),tooltip:O(`chat.messageBody.actions.sendImplementationResponse`),onClick:async()=>{try{await Rt(e,ae,t)}catch(e){console.error(`[review-flow] failed to send implementation response`,e)}}}},[W,ae,se,e,O]),[le,ue]=Z.useState(!1),de=s(e=>e.chatRenderMode),fe=s(e=>e.collapsibleThinkingBlocks),pe=s(e=>e.showSplitAssistantMessageActions),me=s(e=>e.showAssistantTps),he=s(e=>e.timeFormatPreference),ge=de===`sorted`,_e=w?.isLastAssistantInTurn??!1,ve=a===`stop`,ye=(ve||i||!!T)&&(w?.isTurnSettled??!0),be=ve?`completed`:M,xe=H.length>0,Se=Z.useMemo(()=>H.some(e=>nw(e)),[H]),Ce=nw,we=tw,Te=I.current.experiencedStreamingOrCooldown,Ee=Z.useRef({messageId:t,initialized:!1,observedPartIds:new Set});Z.useEffect(()=>{if(Ee.current.messageId!==t&&(Ee.current={messageId:t,initialized:!1,observedPartIds:new Set}),!Te||!Wr())return;let n=Ee.current,r=!n.initialized;n.initialized=!0;for(let i of H){if(n.observedPartIds.has(i.id))continue;if(!fn(r,Ce(i))){n.observedPartIds.add(i.id);continue}let a=e??i.sessionID;a&&(n.observedPartIds.add(i.id),Yr({sessionID:a,messageID:t,partID:i.id,kind:`tool`}))}},[Te,Ce,t,e,H]);let De=Z.useMemo(()=>H.length===0||!Se&&H.every(e=>we(e)),[H,Se,we]),Oe=Z.useMemo(()=>V.filter(e=>e.type===`reasoning`),[V]),ke=Z.useMemo(()=>Oe.length===0||Oe.every(e=>typeof e.time?.end==`number`),[Oe]),Ae=typeof a!=`string`,je=Oe.length>0&&xe&&(Se||Ae||!De),Me=B||xe&&(Se||Ae||!De),Ne=B||je,Pe=xe||Oe.length>0,Fe=U.length===0,Ie=Pe&&Fe&&!Me&&!Ne&&De&&ke,Le=Z.useRef(!1),Re=Z.useRef(!1);Z.useEffect(()=>{Re.current=!1},[t]),Z.useEffect(()=>{if(!Ie){Le.current=!1;return}Le.current||(Le.current=!0,S?.())},[Ie,S]),Z.useEffect(()=>{if(B){Re.current=!1;return}if(xe){Re.current=!1;return}Oe.length!==0&&(Ne||!ke||Re.current||(Re.current=!0,y?.(`structural`)))},[B,xe,y,ke,Oe.length,Ne]);let ze=!!b&&!B,Be=J(async n=>{if(n.stopPropagation(),n.preventDefault(),!(!e||!t||le||ne)){ue(!0);try{await te(e,t)}finally{ue(!1)}}}),Ve=Z.useMemo(()=>{let e=w?.activityParts;return!ge||!e?[]:e},[ge,w?.activityParts]),He=Z.useMemo(()=>{let e=w?.activityGroupSegments;return!ge||!e?[]:e.filter(e=>e.anchorMessageId===t)},[ge,t,w?.activityGroupSegments]),Ue=He.length>0,We=Z.useMemo(()=>{let e=new Map,t=new Map;return Ve.forEach(n=>{e.set(n.part,n);let r=n.part.id;typeof r==`string`&&r.length>0&&t.set(r,n)}),{get:n=>{let r=e.get(n);if(r)return r;let i=n.id;if(typeof i==`string`&&i.length>0)return t.get(i)}}},[Ve]),Ge=w?.toggleGroup,Ke=w?.activityPresentationKind===`compaction`,qe=w?.isGroupExpanded===!0,Je=ge&&Ke&&!qe,Ye=ge?w?.activityOwnerMessageId===t||Ue:!w?.activityOwnerMessageId||w.activityOwnerMessageId===t||Ue,Xe=ge&&Ye&&(Ue||Ke)&&!!Ge,Ze=rE(a,V),Qe={finish:a,parts:V,streamPhase:be,error:T,isLastAssistantInTurn:_e},$e=cE(Qe),et=ge&&lE(Qe),tt=ge&&!$e&&!(Ke&&qe),nt=!!T,rt=E===`info`?`information`:`error-warning`,it=E===`muted`,at=ze,st=_e&&ye&&!Je&&(b||!!T||i),lt=w?.diffStats?.hasDiffs===!0,ut=!K&&_e&&Ze&&ye&&!Je&&w?.diffStats?.hasDiffs===!0,dt=pe&&at&&!st&&!ge,ft=Z.useMemo(()=>(0,$.jsx)(PO,{hasCopyableText:ze,isTouchContext:L,onCopyMessage:x,ttsText:W,reviewTransferAction:ce,sessionId:e}),[W,ze,L,x,ce,e]),pt=Z.useMemo(()=>e=>{if(!pe||!ge)return null;let t=gt(e.part).trim();return t?(0,$.jsx)(PO,{hasCopyableText:!0,isTouchContext:L,onCopyMessage:async()=>(await ct(t)).ok,ttsText:t}):null},[ge,L,pe]),mt=Z.useMemo(()=>{if(!dt)return-1;let e=-1;for(let t=0;t<V.length;t+=1){let n=V[t];!n||n.type!==`text`||tt||We.get(n)?.kind!==`justification`&&(e=t)}return e},[We,tt,dt,V]),ht=dt&&mt<0,_t=Z.useMemo(()=>{let n=[];if(Xe&&Ge&&w){let e=(e,t,r=t)=>{n.push((0,$.jsx)(`div`,{children:(0,$.jsx)($D,{parts:t,materializationParts:r,isExpanded:w.isGroupExpanded===!0,collapsedPreviewCount:0,completionDisposition:w.completionDisposition,activityPresentationKind:w.activityPresentationKind,durationMs:w.durationMs,startedAt:w.userMessageCreatedAt,onToggle:Ge,isMobile:u,expandedTools:m,onToggleTool:h,onShowPopup:g,onContentChange:y,streamPhase:be,showHeader:!0,diffStats:w.diffStats,renderJustificationActions:pt})},`progressive-group-${e}`))};He.length>0?He.forEach(t=>{let n=C?t.parts:t.parts.filter(e=>e.kind!==`reasoning`);e(t.id,n,t.parts)}):Ke&&e(`${t}:compaction-status`,[])}let r=0;for(;r<V.length;){let i=V[r];if(i.type===`text`){let a=We.get(i);if(tt){r+=1;continue}if(Je){r+=1;continue}if(a?.kind===`justification`){r+=1;continue}n.push((0,$.jsx)(`div`,{ref:P,"data-message-text-export-source":`true`,children:(0,$.jsx)(FT,{part:i,sessionId:e,messageId:t,streamPhase:be,chatRenderMode:de,allowSortedFinalStreaming:et,hasStreamingHapticLifecycle:Te,onContentChange:y,onShowPopup:g})},`assistant-text-${t}-${i.id??r}`)),dt&&r===mt&&n.push((0,$.jsx)(`div`,{className:u?rO:nO,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:cO,"data-message-action-group":`true`,children:ft})},`message-actions-${t}`)),r++;continue}if(i.type===`reasoning`){if(We.get(i)?.kind===`reasoning`){r+=1;continue}if(!gt(i).trim()){r+=1;continue}C&&(fe?n.push((0,$.jsx)(`div`,{className:dm(u),children:(0,$.jsx)(qT,{part:i,messageId:t,streamPhase:be,onContentChange:y})},`reasoning-${t}-${i.id??r}`)):n.push((0,$.jsx)(FT,{part:i,sessionId:e,messageId:t,streamPhase:be,chatRenderMode:de,hasStreamingHapticLifecycle:Te,onContentChange:y,onShowPopup:g},`reasoning-${t}-${i.id??r}`))),r++;continue}if(i.type===`tool`){let e=i,a=e.tool?.toLowerCase()??``;if(ge&&!Ye){r+=1;continue}if(We.get(i)?.kind===`tool`){r+=1;continue}if($C(a)){let e=[],i=r;for(;i<V.length;){let n=V[i];if(n.type!==`tool`)break;let r=n;if(!$C(r.tool?.toLowerCase()??``)||We.get(n)?.kind===`tool`)break;e.push({id:r.id,turnId:``,messageId:t,partIndex:i,part:r,kind:`tool`}),i+=1}if(e.length>0){n.push((0,$.jsx)(dD,{activities:e,isMobile:u,isTurnLive:be!==`completed`,hasFollowingOtherType:sD(V,i,e=>({type:e.type,toolName:e.type===`tool`?e.tool:void 0})),children:e.map(e=>(0,$.jsx)(GD,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:u,animateTailText:!1},e.id))},`context-tools-${e[0].id}`)),r=i;continue}}if(ew(a)){let e=fD(V,r,e=>e.type!==`tool`||We.get(e)?.kind===`tool`?``:e.tool);if(e.items.length>0){let i=e.items.map((e,n)=>{let i=e;return{id:i.id,turnId:``,messageId:t,partIndex:r+n,part:i,kind:`tool`}});n.push((0,$.jsx)(_D,{activities:i,isMobile:u,children:i.map(e=>(0,$.jsx)(GD,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:u,animateTailText:!1},e.id))},`skill-tools-${i[0].id}`)),r=e.end;continue}}if(XC(a)){n.push((0,$.jsx)(`div`,{className:dm(u),children:(0,$.jsx)(hT,{part:e,messageId:t,isExpanded:m.has(e.id),onToggle:h,isMobile:u,alwaysShowActions:R,onContentChange:y,onShowPopup:g,animateTailText:!1})},`tool-${e.id}`)),r++;continue}n.push((0,$.jsx)(`div`,{className:dm(u),children:(0,$.jsx)(GD,{toolName:a,activities:[{id:e.id,turnId:``,messageId:t,partIndex:r,part:e,kind:`tool`}],isMobile:u,animateTailText:!1})},`static-tools-${e.id}`)),r++;continue}r++}return n},[We,He,R,de,fe,0,m,Je,Ke,u,Ye,ge,mt,t,ft,pt,e,y,g,h,Xe,dt,be,Te,C,tt,et,Ge,w,V]),vt=Z.useMemo(()=>{if(!_e||!ye)return;let e=w?.durationMs;if(!(typeof e!=`number`||e<=0))return jO(e)},[_e,ye,w?.durationMs]),yt=Z.useMemo(()=>{let e=typeof o==`number`&&o>0?o:typeof c==`number`&&c>0?c:null;if(e===null)return null;let t=JE(e,he);return t.length>0?t:null},[o,c,he,k]),bt=Z.useMemo(()=>{if(!me||!_e||!ye)return null;let e=r??n,t=MO(e,l),i=$E({createdAt:c,completedAt:o,fallbackDurationMs:w?.durationMs,outputTokens:t.output,reasoningTokens:t.reasoning,parts:e});if(i===null)return null;let a=eD(i);return a.length>0?a:null},[me,_e,ye,n,r,l,c,o,w?.durationMs]),xt=(0,$.jsxs)($.Fragment,{children:[!K&&!u&&!G&&q?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:iO,"aria-label":O(`chat.messageBody.actions.openPreviewAria`),onPointerDown:e=>e.stopPropagation(),onClick:()=>{let e=ae??(re?ie(re):null);e&&ee(e,q)},children:(0,$.jsx)(X,{weight:fO,name:`global`,className:aO})})}),(0,$.jsx)(Va,{sideOffset:6,children:O(`chat.messageBody.actions.openPreview`)})]}):null,!K&&!oe&&j.fork?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,size:`icon`,variant:`ghost`,className:iO,"aria-label":O(`chat.messageBody.actions.forkAria`),"aria-busy":le,disabled:le||!!ne,onPointerDown:e=>e.stopPropagation(),onClick:e=>{Be(e)},children:(0,$.jsx)(X,{weight:fO,name:le?`loader-4`:`git-branch`,className:Y(aO,le&&`animate-spin`)})})}),(0,$.jsx)(Va,{sideOffset:6,children:O(`chat.messageBody.actions.fork`)})]}):null]});return(0,$.jsxs)(`div`,{ref:N,"data-message-text-export-root":`true`,className:Y(`relative w-full group/message`),style:eO,children:[(0,$.jsx)(WE,{containerRef:N}),(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:[_t,nt&&(0,$.jsx)(_c,{children:it?(0,$.jsxs)(`div`,{role:`status`,className:`my-1.5 flex max-w-full items-center gap-1.5 break-words typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`stop-circle`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`min-w-0`,children:T})]}):(0,$.jsxs)(`div`,{className:Y(`group/assistant-text relative flow-root my-1.5 break-words max-w-full`,E===`info`?Y(`inline-flex w-fit max-w-full border border-[var(--status-info-border)]/45 bg-[var(--status-info-background)]/40`,u?`items-start gap-1.5 rounded-lg px-2.5 py-1.5`:Y(`items-center gap-1.5`,`rounded-lg px-2 py-0.5`)):`mt-3 flex items-center gap-2 rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] p-3`),children:[E===`info`&&u?(0,$.jsx)(`span`,{className:`inline-flex h-5 w-3.5 shrink-0 items-center justify-center translate-y-[2px]`,"aria-hidden":`true`,children:(0,$.jsx)(X,{name:rt,weight:fO,className:Y(aO,`text-[var(--status-info)]/80`)})}):(0,$.jsx)(X,{name:rt,weight:E===`info`?fO:void 0,className:Y(`shrink-0`,E===`info`?Y(aO,`text-[var(--status-info)]/80`):`h-4 w-4 text-[var(--status-error)]`)}),(0,$.jsx)(`div`,{className:Y(`min-w-0 break-words`,E===`info`?Y(`text-muted-foreground [&_.markdown-content]:text-muted-foreground [&_p]:m-0`,`[&_.markdown-content]:!leading-5`,u?`[&_.markdown-content]:!text-[length:var(--text-meta)]`:`[&_.markdown-content]:!text-[13px]`):`flex-1`),children:(0,$.jsx)(As,{content:T??``,onShowPopup:g,className:`[&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,enableFileReferences:!1})})]})},`assistant-error`)]}),ut&&w?.diffStats?(0,$.jsx)(CO,{fileCount:w.diffStats.files,changedFiles:w.changedFiles,turnId:w.turnId,isLatestTurn:w.isLatestTurn,isMobile:u}):null,(0,$.jsx)(Ud,{files:n,messageID:t,sessionID:e,onShowPopup:g}),ht&&(0,$.jsx)(`div`,{className:Y(u?rO:nO),"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:cO,"data-message-action-group":`true`,children:ft})}),st&&(0,$.jsxs)(`div`,{className:z,"data-message-footer":`true`,style:tO,children:[(0,$.jsxs)(`div`,{className:cO,"data-message-action-group":`true`,children:[ft,xt]}),bt||vt||yt?(0,$.jsxs)(`div`,{className:lO,children:[bt?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsxs)(`span`,{className:uO,"aria-label":O(`chat.messageBody.meta.tpsAria`,{rate:bt}),children:[(0,$.jsx)(X,{weight:fO,name:`pulse`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:bt})]})}),(0,$.jsx)(Va,{children:O(`chat.messageBody.meta.tpsTooltip`)})]}):null,vt?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsxs)(`span`,{className:uO,children:[(0,$.jsx)(X,{weight:fO,name:`hourglass`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:vt})]})}),(0,$.jsx)(Va,{children:vt})]}):null,yt?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsxs)(`span`,{className:uO,"aria-label":`Message time: ${yt}`,children:[(0,$.jsx)(X,{weight:fO,name:`time`,className:dO}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:yt})]})}),(0,$.jsx)(Va,{children:yt})]}):null]}):null,!K&&_e&&ve&&!lt?(0,$.jsx)(ZT,{activityParts:w?.activityParts}):null]})]})]})}),IO=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)(NO,{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)(FO,{...r}),t[26]=r,t[27]=i),i});function LO(e){return e.openContextPanelTab}function RO(e){return e.setCurrentSession}function zO(e){return e.openContextPanelTab}function BO(e){return!e}function VO(e){return e.openContextPanelTab}function HO(e){return!e}var UO=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}},WO=(e,t,n)=>e===`active`||n?.isLastTurn&&n.hasConfirmedFinalBody!==!0?!0:t===`summary`,GO=e=>!e,KO=e=>e.completionDisposition===`active`?e.isLastTurn&&e.sessionIsWorking?{completionDisposition:`active`,durationMs:e.durationMs}:{completionDisposition:`abnormal`,durationMs:e.durationMs}:{completionDisposition:e.completionDisposition,durationMs:e.durationMs},qO=e=>!(e.completionDisposition===`active`||e.isLastTurn&&e.sessionIsWorking&&!e.hasConfirmedSettledAssistant),JO=e=>e.isWorking?!0:e.isInActiveTurn?e.headerCompletionDisposition!==`normal`&&e.headerCompletionDisposition!==`abnormal`:!1,YO=e=>e.turnCompletionDisposition===`active`&&(e.isLastTurn||e.hasAssistantMessages)?`active`:e.headerPresentationDisposition,XO=`Authentication failed for this provider. Please re-authenticate and retry.`,ZO=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};function QO(e,t){if(!e||typeof e!=`object`)return;let n=e,r=typeof n.data?.message==`string`?n.data.message:void 0,i=typeof n.message==`string`?n.message:void 0,a=typeof n.name==`string`?n.name:void 0,o=r||i||a;if(o)return a===`SessionRetry`?{text:`Opencode failed to send a message. Retry attempt info: \n\`${o}\``,variant:`info`}:ZO(o)?{text:XO,variant:`error`}:a===`MessageAbortedError`||o.trim().toLowerCase()===`aborted`?{text:t,variant:`muted`}:{text:`Opencode failed to send message with error:\n\`${o}\``,variant:`error`}}var $O=Ls(()=>Ue(()=>import(`./ToolOutputDialog-Dexn468e.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]))),ek=4e3,tk=new Map,nk=new Map,rk=new Set([`bash`,`shell`,`cmd`,`terminal`]),ik=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},ak=e=>{let t=tk.get(e);return t?new Set(t):new Set},ok=(e,t)=>{if(tk.size>=ek&&!tk.has(e)){let e=tk.keys().next().value;typeof e==`string`&&tk.delete(e)}tk.set(e,new Set(t))},sk=e=>{let t=nk.get(e);return t?new Set(t):new Set},ck=(e,t)=>{if(nk.size>=ek&&!nk.has(e)){let e=nk.keys().next().value;typeof e==`string`&&nk.delete(e)}nk.set(e,new Set(t))},lk=200,uk=new Map,dk=e=>uk.get(e),fk=(e,t)=>{if(!t.agent&&!t.provider&&!t.model)return;let n=uk.get(e);if(!(n&&n.agent===t.agent&&n.provider===t.provider&&n.model===t.model)){if(uk.size>=lk&&!uk.has(e)){let e=uk.keys().next().value;typeof e==`string`&&uk.delete(e)}uk.set(e,t)}};function pk(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 mk=(e,t)=>{if(typeof e==`object`&&e)return e[t]},hk=Z.memo(({message:e,previousMessage:t,nextMessage:n,onContentChange:r,animationHandlers:i,turnGroupingContext:a,assistantHeaderMessageId:o,isInActiveTurn:c=!1,activeStreamingPhase:l=null,animateUserOnMount:u=!1,onUserAnimationConsumed:d,reviewTransferDirection:f=null})=>{let{t:p}=ot(),{isMobile:m,isTablet:h,hasTouchInput:g}=fo(),_=Fh(),v=Ih(_),y=m||h,b=Z.useRef(null),x=Zr(e=>e.currentSessionId),S=vi(e=>e.getAgentModelForSession),C=vi(e=>e.getSessionModelSelection),w=Zr(e=>e.revertToMessage),T=Zr(e=>e.editMessagePreservingChanges),E=Zr(e=>e.forkFromMessage),D=Zr(t=>t.messageEditCommitting?.messageId===e.info.id&&t.messageEditCommitting?.sessionId===e.info.sessionID),O=Zr(t=>t.stagedMessageEdit?.messageId===e.info.id&&t.stagedMessageEdit?.sessionId===e.info.sessionID),k=Zr(e=>e.clearStagedMessageEdit);Le(`ui.chat_message.render`),c&&Le(`ui.chat_message.render.streaming`);let A=Qr(e=>e.providers),{showReasoningTraces:j,stickyUserHeader:M,chatRenderMode:N,showExpandedBashTools:P}=s(pe(e=>({showReasoningTraces:e.showReasoningTraces,stickyUserHeader:e.stickyUserHeader,chatRenderMode:e.chatRenderMode,showExpandedBashTools:e.showExpandedBashTools})));Z.useEffect(()=>{x&&Hx.getInstance().recordSessionStart(x)},[x]);let[F,I]=Z.useState(null),[L,R]=Z.useState(!1),[z,B]=Z.useState(null),V=Z.useRef(null),[H,U]=Z.useState(()=>ak(e.info.id)),[W,ee]=Z.useState(()=>sk(e.info.id)),[G,K]=Z.useState({open:!1,title:``,content:``});Z.useEffect(()=>{U(ak(e.info.id)),ee(sk(e.info.id))},[e.info.id]);let q=Z.useMemo(()=>UO(e.info),[e.info]).isUser,te=q&&(m||!M),ne=q&&!m&&M&&!te,re=e.info.sessionID,ie=Gx(e=>e.planModeEnabled),{currentContextAgent:ae,savedSessionAgentSelection:oe}=Em(pe(e=>({currentContextAgent:c&&re?e.currentAgentContext.get(re):void 0,savedSessionAgentSelection:c&&re?e.sessionAgentSelections.get(re):void 0}))),se=Z.useMemo(()=>hn(e.sourceParts??e.parts),[e.parts,e.sourceParts]),ce=Z.useMemo(()=>q?qr(se,{planModeEnabled:ie}):hn(e.parts),[q,e.parts,ie,se]),le=Z.useMemo(()=>{if(q||!t)return null;let e=mk(t.info,`clientRole`),n=mk(t.info,`role`);if((typeof e==`string`?e:typeof n==`string`?n:void 0)!==`user`)return null;let r=mk(t.info,`mode`),i=mk(t.info,`agent`),a=mk(t.info,`providerID`),o=mk(t.info,`modelID`),s=mk(t.info,`model`),c=typeof s==`object`&&s?s.variant:void 0,l=mk(t.info,`variant`),u=c??l,d=typeof s==`object`&&s?s.providerID:void 0,f=typeof s==`object`&&s?s.modelID:void 0,p=typeof r==`string`&&r.trim().length>0?r:typeof i==`string`&&i.trim().length>0?i:void 0,m=typeof a==`string`&&a.trim().length>0?a:typeof d==`string`&&d.trim().length>0?d:void 0,h=typeof o==`string`&&o.trim().length>0?o:typeof f==`string`&&f.trim().length>0?f:void 0,g=typeof u==`string`&&u.trim().length>0?u:void 0;return!p&&!m&&!h&&!g?null:{agentName:p,providerId:m,modelId:h,variant:g}},[q,t]),ue=Z.useMemo(()=>{if(!ie||q||!t)return!1;let e=Array.isArray(t.parts)?t.parts:[];for(let t=0;t<e.length;t++){let n=e[t];if(n?.type!==`text`||n?.synthetic!==!0)continue;let r=typeof n.text==`string`?n.text.trim():``;if(r.startsWith(`User has requested to enter plan mode`)||r.startsWith(`The plan at `))return!0}return!1},[q,ie,t]),de=Z.useMemo(()=>{if(q)return;let t=e.info.time;if(!(typeof t?.completed==`number`&&t.completed>0)&&ue&&le?.agentName)return le.agentName;let n=mk(e.info,`mode`);if(typeof n==`string`&&n.trim().length>0)return n;let r=mk(e.info,`agent`);if(typeof r==`string`&&r.trim().length>0)return r;if(le?.agentName)return le.agentName;if(re)return ae||(oe??void 0)},[q,e.info,ue,le,re,ae,oe]),fe=q?null:mk(e.info,`providerID`),me=q?null:mk(e.info,`modelID`),he=Z.useMemo(()=>{if(q||!re)return null;if(le?.providerId&&le?.modelId)return{providerId:le.providerId,modelId:le.modelId};if(de){let e=S(re,de);if(e?.providerId&&e?.modelId)return e}let e=C(re);return e?.providerId&&e?.modelId?e:null},[q,re,de,le,S,C]),ge=Z.useMemo(()=>q?null:typeof fe==`string`&&fe.trim().length>0?fe:he?.providerId??null,[q,fe,he]),_e=Z.useMemo(()=>q?null:typeof me==`string`&&me.trim().length>0?me:he?.modelId??null,[q,me,he]),ve=e.info.id?dk(e.info.id):void 0;q||fk(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(q)return;let e=be&&A.length>0?A.find(e=>e.id===be):void 0;return Ai(e,xe)||void 0},[q,be,xe,A]),Ce=Z.useMemo(()=>{if(q||!ge||!_e)return!1;let e=A.find(e=>e.id===ge);if(!e?.models||!Array.isArray(e.models))return!1;let t=e.models.find(e=>e.id===_e)?.variants;return!!(t&&Object.keys(t).length>0)},[q,_e,ge,A]),we=pk(ye),Te=pk(be??void 0),Ee=pk(xe??void 0),De=pk(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(()=>q?!0:!!(Me&&Me>0),[q,Me]),Fe=Z.useMemo(()=>{let t=e.info.finish;return typeof t==`string`?t:void 0},[e.info]),Ie=Z.useMemo(()=>{if(q)return null;let t=e.info.tokens;return!t||typeof t!=`object`?null:{output:typeof t.output==`number`?t.output:void 0,reasoning:typeof t.reasoning==`number`?t.reasoning:void 0}},[q,e.info]),Re=Z.useMemo(()=>Ur(ce,{includeReasoning:j}),[ce,j]),ze=Z.useMemo(()=>q?Re:!Pe&&N===`sorted`?[]:Re,[N,Pe,q,Re]),Be=Z.useMemo(()=>q?[]:Re.filter(e=>e.type===`text`),[q,Re]),Ve=Z.useMemo(()=>q?[]:Re.filter(e=>e.type===`tool`),[q,Re]),He=Z.useMemo(()=>{if(!P)return new Set;let e=new Set;for(let t of Ve){let n=typeof t?.id==`string`?t.id:``;if(!n)continue;let r=ik(t.tool);!r||!rk.has(r)||e.add(n)}for(let t of a?.activityParts??[]){if(t.kind!==`tool`)continue;let n=ik(t.part.tool);!n||!rk.has(n)||e.add(t.id)}return e},[P,Ve,a?.activityParts]),Ue=Z.useMemo(()=>{if(He.size===0&&W.size===0)return H;let e=new Set(H);return He.forEach(t=>{W.has(t)||e.add(t)}),W.forEach(t=>{e.delete(t)}),e},[W,He,H]),We=Z.useMemo(()=>{if(!q)return;let e=ce.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}`}},[q,ce]),Ge=q&&!yn(ze),Ke=typeof Fe!=`string`,qe=Z.useMemo(()=>q?!1:Be.length===0||Ve.length===0?Ke:!0,[Be.length,Ve.length,Ke,q]),Je=Z.useMemo(()=>!q&&Hx.getInstance().shouldAnimateMessage(e.info,x||e.info.sessionID),[e.info,x,q]),[Ye,Xe]=Z.useState(!1),Ze=Z.useMemo(()=>n?UO(n.info):null,[n]),Qe=!!a,$e=a?.isLastAssistantInTurn??!1,et=JO({isWorking:a?.isWorking===!0,isInActiveTurn:c,headerCompletionDisposition:a?.completionDisposition}),tt=Z.useMemo(()=>q?!1:Qe?!$e:Ze?!Ze.isUser&&Ze.role===`assistant`:!1,[Qe,$e,q,Ze]),nt=Z.useMemo(()=>Pe?`completed`:c?l??`streaming`:`completed`,[l,c,Pe]);Z.useEffect(()=>{!q||!u||d?.(e.info.id)},[u,q,e.info.id,d]),Z.useEffect(()=>{Xe(!1)},[e.info.id]),Z.useEffect(()=>{let t=o??a?.headerMessageId;q||!t||t!==e.info.id||(nt===`streaming`||nt===`cooldown`)&&Xe(!0)},[o,q,e.info.id,nt,a?.headerMessageId]);let rt=Z.useMemo(()=>{if(q)return!0;let t=o??a?.headerMessageId;return t?e.info.id===t?nt===`completed`||Ye||nt===`streaming`||nt===`cooldown`:!1:!0},[o,Ye,q,a,nt,e.info.id]),it=Z.useCallback(e=>{ct(e).then(t=>{t.ok&&(I(e),setTimeout(()=>I(null),2e3))})},[]),at=q?void 0:a?.userMessageVariant??le?.variant,st=!q&&Ce&&typeof at==`string`&&at.trim().length>0?at:void 0,lt=Z.useMemo(()=>{if(!q)return QO(e.info?.error,p(`chat.messageBody.aborted`))},[q,e.info,p]),ut=lt?.text,dt=lt?.variant,ft=Z.useMemo(()=>{if(q){let e=ze.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(`
6575
6575
 
6576
6576
  `);let t=ze.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(`
6577
6577
  `):ze.filter(e=>e.type===`text`).map(e=>(e.text||e.content||``).trim()).filter(e=>e.length>0).join(`
@@ -6579,5 +6579,5 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{A as t,E as n,P as r,T
6579
6579
  `)}return ut&&ut.trim().length>0?ut:ar(ze)},[ut,ze,q]),pt=ft.length>0,mt=Z.useCallback(async()=>(await ct(ft)).ok?(q&&(R(!0),setTimeout(()=>R(!1),2e3)),!0):!1,[q,ft]),ht=Z.useCallback(async()=>{if(!(!re||!e.info.id||V.current)){V.current=`revert`,B(`revert`);try{_.onRevertMessage?await _.onRevertMessage(e.info.id):await w(re,e.info.id,{directory:_.directory??void 0})}finally{V.current=null,B(null)}}},[re,e.info.id,w,_]),gt=J(()=>{if(!re||!e.info.id||V.current)return;let t={info:e.info,parts:e.parts};if(_.onEditMessage){_.onEditMessage(e.info.id,t).catch(()=>{});return}T(re,e.info.id,t).catch(()=>{})}),_t=J(()=>{re&&k(re)}),vt=Z.useCallback(async()=>{if(e.info.id,!re||!e.info.id){console.warn(`[session-fork] message action is missing identifiers`,{hasSessionId:!!re,hasMessageId:!!e.info.id});return}if(!V.current){V.current=`fork`,B(`fork`);try{await E(re,e.info.id)}finally{V.current=null,B(null)}}},[re,e.info.id,E]),yt=J(t=>{let n=He.has(t),r=Ue.has(t);if(n){ee(n=>{let i=new Set(n);return r?i.add(t):i.delete(t),ck(e.info.id,i),i}),r||U(n=>{let r=new Set(n);return r.delete(t),ok(e.info.id,r),r});return}U(n=>{let r=new Set(n);return r.has(t)?r.delete(t):r.add(t),ok(e.info.id,r),r}),ee(n=>{if(!n.has(t))return n;let r=new Set(n);return r.delete(t),ck(e.info.id,r),r})}),bt=i??null,xt=Z.useRef(!1),St=Z.useRef(!1),Ct=Z.useRef(!1),wt=Z.useRef(!1),Tt=Z.useRef(!1),Et=Z.useRef(!1);Z.useEffect(()=>{St.current=!1,Ct.current=!1,wt.current=!1,Tt.current=!1,xt.current=!1,Et.current=!1},[e.info.id]);let Dt=Z.useCallback(()=>{q||xt.current||(xt.current=!0,r?.(`structural`))},[q,r]),Ot=s(e=>e.setImagePreviewOpen),kt=Z.useCallback(e=>{(e.image||e.mermaid)&&(K(e),Ot(!0))},[Ot]),At=Z.useCallback(e=>{K(t=>({...t,open:e})),Ot(e)},[Ot]),jt=!!mk(e.info,`animationSettled`),Mt=nt===`streaming`||nt===`cooldown`;Mt&&(Et.current=!0);let Nt=Z.useMemo(()=>!q&&Re.some(e=>e.type===`reasoning`),[q,Re]),Pt=Je&&!jt&&!Mt&&!Et.current,Ft=!q&&Je&&Be.length>0&&!qe;return Z.useEffect(()=>{if(bt?.onStreamingCandidate){if(!Ft){Ct.current&&=(Nt&&bt?.onReasoningBlock?bt.onReasoningBlock():bt?.onReservationCancelled&&bt.onReservationCancelled(),!1);return}Tt.current||(Tt.current=!0,bt.onStreamingCandidate(),Ct.current=!0)}},[bt,Ft,Nt]),Z.useEffect(()=>{bt?.onAnimationStart&&Pt&&(wt.current||=(bt.onAnimationStart(),!0))},[bt,Pt]),Z.useEffect(()=>{if(q)return;let e=bt?.onAnimatedHeightChange;if(!e||!(Pt||Ft))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()}},[Pt,q,bt,Ft]),Ge?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:Y(`group w-full`,q?m?`pt-2`:`pt-6`:!q&&rt?m?M?`pt-4`:`pt-0`:`pt-6`:`pt-0`,q||tt?`pb-0`:et?`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:q?yn(ze)?(0,$.jsx)(_c,{forceAnimation:!0,skipAnimation:!u,ignoreContextDisabled:!0,respectReducedMotion:!0,children:(0,$.jsx)(`div`,{className:Y(`relative flex justify-end`,m?void 0:`group/user-shell`),children:(0,$.jsxs)(`div`,{className:Y(`max-w-[85%]`,ne?`pb-5`:void 0),children:[(0,$.jsx)(`div`,{style:{backgroundColor:`var(--chat-user-message-bg)`,borderRadius:`var(--radius-xl)`,borderBottomRightRadius:`var(--radius-sm)`},className:`px-3 py-1.5 shadow-none border border-primary/5`,children:(0,$.jsx)(IO,{messageId:e.info.id,parts:ze,sourceParts:se,isUser:q,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:F,onCopyCode:it,expandedTools:H,onToggleTool:yt,onShowPopup:kt,streamPhase:nt,allowAnimation:Pt,onContentChange:r,shouldShowHeader:!1,hasTextContent:pt,onCopyMessage:mt,copiedMessage:L,showReasoningTraces:j,onAuxiliaryContentComplete:Dt,agentMention:We,onEdit:!D&&v.edit?gt:void 0,onRevert:!D&&v.revert?ht:void 0,onFork:!D&&q&&v.fork?vt:void 0,editing:D,editStaged:O,onCancelEdit:O?_t:void 0,pendingMessageAction:z,errorMessage:ut,errorVariant:dt,userActionsMode:te?`external-content`:`inline`,stickyUserHeaderEnabled:M})}),te?(0,$.jsx)(IO,{messageId:e.info.id,parts:ze,sourceParts:se,isUser:q,isMessageCompleted:Pe,messageFinish:Fe,messageCreatedAt:Ne??void 0,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:F,onCopyCode:it,expandedTools:H,onToggleTool:yt,onShowPopup:kt,streamPhase:nt,allowAnimation:Pt,onContentChange:r,shouldShowHeader:!1,hasTextContent:pt,onCopyMessage:mt,copiedMessage:L,showReasoningTraces:j,onAuxiliaryContentComplete:Dt,agentMention:We,onEdit:!D&&v.edit?gt:void 0,onRevert:!D&&v.revert?ht:void 0,onFork:!D&&q&&v.fork?vt:void 0,editing:D,editStaged:O,onCancelEdit:O?_t:void 0,pendingMessageAction:z,errorMessage:ut,errorVariant:dt,userActionsMode:`external-actions`,stickyUserHeaderEnabled:M}):null]})})}):null:(0,$.jsxs)(`div`,{className:`relative`,children:[rt&&(0,$.jsx)(qx,{isUser:q,isMobile:m,providerID:ke,modelID:Ae,agentName:Oe,modelName:je,variant:st}),(0,$.jsx)(IO,{sessionId:e.info.sessionID,messageId:e.info.id,parts:Re,sourceParts:ce,isUser:q,isMessageCompleted:Pe,messageFinish:Fe,messageCompletedAt:Me??void 0,messageCreatedAt:Ne??void 0,messageTokens:Ie,isMobile:m,alwaysShowActions:y,hasTouchInput:g,copiedCode:F,onCopyCode:it,expandedTools:Ue,onToggleTool:yt,onShowPopup:kt,streamPhase:nt,allowAnimation:Pt,onContentChange:r,shouldShowHeader:rt,hasTextContent:pt,onCopyMessage:mt,copiedMessage:L,onAuxiliaryContentComplete:Dt,showReasoningTraces:j,agentMention:We,turnGroupingContext:a,errorMessage:ut,errorVariant:dt,reviewTransferDirection:f})]})})}),G.open?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)($O,{popup:G,onOpenChange:At,isMobile:m})}):null]})},(e,t)=>YS({info:e.message.info,parts:e.message.parts},{info:t.message.info,parts:t.message.parts})&&e.message.sourceParts===t.message.sourceParts&&XS(e.previousMessage?{info:e.previousMessage.info,parts:e.previousMessage.parts}:void 0,t.previousMessage?{info:t.previousMessage.info,parts:t.previousMessage.parts}:void 0)&&XS(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.animateUserOnMount===t.animateUserOnMount&&e.onUserAnimationConsumed===t.onUserAnimationConsumed&&iC(e.turnGroupingContext,t.turnGroupingContext,e.message.info.id,UO(e.message.info).isUser)),gk=e=>{let t=e;return typeof t.text==`string`?t.text:typeof t.content==`string`?t.content:``},_k=e=>{let t=e?.type;return t===`compaction`||t===`text`&&gk(e).trim()===`/compact`},vk=e=>e?e.some(e=>_k(e)):!1,yk=e=>vk(e.parts),bk=e=>e?vk(e.sourceParts)||vk(e.parts):!1,xk=e=>{if(!yk(e))return e;let t=!1,n=e.parts.map(e=>e?.type===`compaction`?(t=!0,{type:`text`,text:`/compact`}):e),r=e.info.clientRole!==`user`;return!t&&!r?e:{...e,info:r?{...e.info,clientRole:`user`}:e.info,parts:t?n:e.parts}},Sk=e=>{let t=hn(e.parts);return t.length===e.parts.length?e:{...e,parts:t}},Ck=new WeakMap,wk=e=>{let t=Ck.get(e);if(t)return t;let n=xk(Sk(e)),r=n.parts,i=yi(r),a=i===r?n:{...n,parts:i,sourceParts:r};return Ck.set(e,a),a},Tk={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},Ek=[],Dk=`\0`,Ok=new Set([`edit`,`write`,`multiedit`,`apply_patch`]),kk={read:`chat.assistantStatus.readingFile`,write:`chat.assistantStatus.writingFile`,edit:`chat.assistantStatus.editingFile`,multiedit:`chat.assistantStatus.editingFiles`,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`,plan_enter:`chat.assistantStatus.switchingToPlanning`,plan_exit:`chat.assistantStatus.switchingToBuilding`},Ak=[`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`],jk=(e,t)=>{let n=kk[e];return n?t(n):t(`chat.assistantStatus.usingTool`,{tool:e})},Mk=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)},Nk=(e,t)=>t(Ak[Mk(e)%Ak.length]??`chat.assistantStatus.working`),Pk=(e,t,n)=>{let r,i;if(!Qt(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??Bk(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=Vk(n);Ok.has(e)?(r=`editing`,i=e):(r=`tool`,i=e)}break}case`text`:{let e=zk(n)??``;if(typeof e==`string`&&e.trim().length>0){let e=Bk(n);(!e||e.end===void 0)&&!r&&(r=`text`)}break}}}let a=r===void 0,o=r===`editing`?i===`multiedit`?jk(i,n):n(`chat.assistantStatus.editingFile`):r===`tool`&&i?jk(i,n):r===`reasoning`?n(`chat.assistantStatus.thinking`):r===`text`?n(`chat.assistantStatus.composing`):Nk(t,n);return{activePartType:r,activeToolName:i,statusText:o,isGenericStatus:a}},Fk=e=>[e.activePartType??``,e.activeToolName??``,e.statusText,e.isGenericStatus?`1`:`0`].join(Dk),Ik=e=>{let[t,n,r=`working`,i]=e.split(Dk);return{activePartType:t===`text`||t===`tool`||t===`reasoning`||t===`editing`?t:void 0,activeToolName:n||void 0,statusText:r,isGenericStatus:i===`1`}},Lk=e=>e.type===`reasoning`,Rk=e=>e.type===`text`,zk=e=>{if(Rk(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},Bk=e=>(Rk(e)||Lk(e),e.time),Vk=e=>{if(e.tool)return e.tool;let t=e;return typeof t.name==`string`?t.name:`tool`};function Hk(e,t){let{t:n}=ot(),r=Zr(e=>e.currentSessionId),i=Zr(e=>e.currentSessionDirectory),a=e??r,o=t??i,s=Z.useMemo(()=>e=>a?e.pendingSendMessageIDs.get(a)??null:null,[a]),c=Zr(s),l=di(a??``,o??void 0),u=Z.useMemo(()=>{for(let e=l.length-1;e>=0;e--){let t=l[e];if(t.role===`assistant`)return{id:t.id,finish:t.finish,error:t.error}}return{id:null,finish:void 0,error:void 0}},[l]),d=u.id,f=Z.useMemo(()=>{for(let e=l.length-1;e>=0;e--){let t=l[e];if(t.role===`user`)return{id:t.id,turnStartedAt:Number.isFinite(t.time.created)?t.time.created:void 0}}return{id:null,turnStartedAt:void 0}},[l]),p=f.id,m=xr(d??``,o??void 0,a??void 0),h=xr(p??``,o??void 0,a??void 0),g=!!p&&vk(h),_=!!(d&&aE(u.finish,m,u.error)),v=Z.useMemo(()=>{let e=`${a??``}:${d??``}`;return Fk(Pk(d?m:Ek,e,n))},[a,d,m,n]),y=ei(a??``,o??void 0),b=Pi(a??``,o??void 0),x=Z.useMemo(()=>e=>a?e.sessionAbortFlags?.get(a)??null:null,[a]),S=Zr(x),{phase:C,isWorking:w}=Mg(a,o??void 0),T=wr(a??``,o??void 0),E=T?.type===`retry`?T.attempt:void 0,D=T?.type===`retry`?T.next:void 0,O=Z.useMemo(()=>Ik(v),[v]),k=Z.useMemo(()=>{let e=!!(S&&!S.acknowledged);return{wasAborted:e,abortActive:e}},[S]),A=Z.useMemo(()=>{if(k.wasAborted)return{...Tk,wasAborted:!0,abortActive:k.abortActive,activity:`idle`,hasWorkingContext:!1,isWorking:!1,isStreaming:!1,isCooldown:!1,statusText:null,canAbort:!1,retryInfo:null};if(_)return{...Tk,isComplete:!0,isTurnSettled:!0,turnStartedAt:f.turnStartedAt};let e=w,t=C===`busy`,r=C===`retry`,i=e&&g,a=`idle`;e&&(a=!i&&(O.activePartType===`tool`||O.activePartType===`editing`)?`tooling`:`streaming`);let o=r?{attempt:E,next:D}:null;return{activity:a,hasWorkingContext:e,hasActiveTools:!i&&(O.activePartType===`tool`||O.activePartType===`editing`),isWorking:e,isStreaming:t,isCooldown:!1,lifecyclePhase:t?`streaming`:null,statusText:e?i?n(`chat.assistantStatus.compacting`):O.statusText:null,isGenericStatus:!e||!i&&O.isGenericStatus,isWaitingForPermission:!1,canAbort:e,compactionDeadline:null,activePartType:e&&!i?O.activePartType:void 0,activeToolName:e&&!i?O.activeToolName:void 0,wasAborted:!1,abortActive:!1,lastCompletionId:null,isComplete:!1,isTurnSettled:!1,retryInfo:o,turnStartedAt:f.turnStartedAt}},[C,w,_,g,f.turnStartedAt,O,k,E,D,n]);return{forming:Z.useMemo(()=>({isActive:w&&O.activePartType===`text`,characterCount:0}),[w,O.activePartType]),working:Z.useMemo(()=>{if(A.wasAborted||A.abortActive)return A;if(c)return{...A,activity:`streaming`,hasWorkingContext:!0,isWorking:!0,isStreaming:!0,isCooldown:!1,lifecyclePhase:`streaming`,statusText:n(`chat.assistantStatus.sendingMessage`),isGenericStatus:!1,isWaitingForPermission:!1,canAbort:!1,activePartType:void 0,activeToolName:void 0,isComplete:!1,isTurnSettled:!1,retryInfo:null};let e=y.length>0,t=b.length>0;return!e&&!t?A:t?{...A,statusText:null,isWorking:!1,hasWorkingContext:!1,hasActiveTools:!1,canAbort:!1,activePartType:void 0,activeToolName:void 0,retryInfo:null}:{...A,statusText:n(`chat.assistantStatus.waitingForPermission`),isWaitingForPermission:!0,canAbort:!1,retryInfo:null}},[A,c,y,b,n])}}var Uk=Z.memo(()=>{let e=(0,Q.c)(14),t=Fh(),n=Zr(Wk),r=Zr(Gk),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=Zr(o),c=Zr(Kk),l=Zr(qk),{working:u}=Hk(i,a),d=Qr(Jk),f=!!(s&&!s.acknowledged),p=!!(i&&c===i&&typeof l==`number`&&l>Date.now()),m=f||u.wasAborted,h=f||u.abortActive,g;return e[2]!==d||e[3]!==p||e[4]!==m||e[5]!==h||e[6]!==u.isGenericStatus||e[7]!==u.isTurnSettled||e[8]!==u.isWaitingForPermission||e[9]!==u.isWorking||e[10]!==u.retryInfo||e[11]!==u.statusText||e[12]!==u.turnStartedAt?(g=(0,$.jsx)(Bh,{isWorking:u.isWorking,statusText:u.statusText,isGenericStatus:u.isGenericStatus,isWaitingForPermission:u.isWaitingForPermission,wasAborted:m,abortActive:h,retryInfo:u.retryInfo,turnStartedAt:u.turnStartedAt,isTurnSettled:u.isTurnSettled,showAbortPrompt:p,showAssistantStatus:!0,showTodos:!1,agentName:d}),e[2]=d,e[3]=p,e[4]=m,e[5]=h,e[6]=u.isGenericStatus,e[7]=u.isTurnSettled,e[8]=u.isWaitingForPermission,e[9]=u.isWorking,e[10]=u.retryInfo,e[11]=u.statusText,e[12]=u.turnStartedAt,e[13]=g):g=e[13],g});Uk.displayName=`StatusRowContainer`;function Wk(e){return e.currentSessionId}function Gk(e){return e.currentSessionDirectory}function Kk(e){return e.abortPromptSessionId}function qk(e){return e.abortPromptExpiresAt}function Jk(e){return e.currentAgentName}var Yk=Z.memo(e=>{let t=(0,Q.c)(10),{assistantMessages:n,activityExpanded:r,renderMessage:i}=e,a;if(t[0]!==r||t[1]!==n||t[2]!==i){let e;t[4]!==r||t[5]!==i?(e=e=>i(e,r),t[4]=r,t[5]=i,t[6]=e):e=t[6],a=n.map(e),t[0]=r,t[1]=n,t[2]=i,t[3]=a}else a=t[3];let o;return t[7]!==r||t[8]!==a?(o=(0,$.jsx)(`div`,{className:`relative z-0`,"data-turn-assistant-activity-expanded":r,children:a}),t[7]=r,t[8]=a,t[9]=o):o=t[9],o}),Xk=new Set,Zk=()=>{},Qk=()=>{},$k=Z.memo(e=>{let t=(0,Q.c)(32),{turn:n,activityExpanded:r,showCompactionStatus:i,pendingAssistantHeader:a,onToggleActivity:o,stickyUserHeader:c,renderMessage:l}=e,u=a===void 0?null:a,d=c===void 0||c,f=s(eA),p=n.userMessage.info.time?.created,m=n.activityPresentationKind===`compaction`,h=`turn-${n.turnId}`,g;t[0]!==r||t[1]!==m||t[2]!==l||t[3]!==d||t[4]!==n.userMessage?(g=m?null:d?(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:l(n.userMessage,r)}),(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`})]}):l(n.userMessage,r),t[0]=r,t[1]=m,t[2]=l,t[3]=d,t[4]=n.userMessage,t[5]=g):g=t[5];let _;t[6]!==f||t[7]!==u||t[8]!==d||t[9]!==n.assistantMessages?(_=u?(0,$.jsx)(`div`,{className:`group w-full ${f?d?`pt-4`:`pt-0`:`pt-6`} ${n.assistantMessages.length===0?`pb-1`:`pb-0`}`,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)(qx,{isUser:!1,isMobile:f,providerID:u.providerID,modelID:u.modelID,agentName:u.agentName,modelName:u.modelName,variant:u.variant})})}):null,t[6]=f,t[7]=u,t[8]=d,t[9]=n.assistantMessages,t[10]=_):_=t[10];let v;t[11]!==r||t[12]!==f||t[13]!==o||t[14]!==i||t[15]!==n.assistantMessages||t[16]!==n.completionDisposition||t[17]!==n.durationMs||t[18]!==p?(v=i?(0,$.jsx)(`div`,{className:`group w-full ${f?`pt-4`:`pt-6`} ${n.assistantMessages.length===0?`pb-8`:`pb-0`}`,children:(0,$.jsx)(`div`,{className:`chat-message-column relative`,children:(0,$.jsx)($D,{parts:[],isExpanded:r,completionDisposition:n.completionDisposition,activityPresentationKind:`compaction`,durationMs:n.durationMs,startedAt:typeof p==`number`?p:void 0,onToggle:o,isMobile:f,expandedTools:Xk,onToggleTool:Zk,onShowPopup:Qk,streamPhase:n.completionDisposition===`active`?`streaming`:`completed`,showHeader:!0})})}):null,t[11]=r,t[12]=f,t[13]=o,t[14]=i,t[15]=n.assistantMessages,t[16]=n.completionDisposition,t[17]=n.durationMs,t[18]=p,t[19]=v):v=t[19];let y;t[20]!==r||t[21]!==l||t[22]!==n.assistantMessages?(y=(0,$.jsx)(Yk,{assistantMessages:n.assistantMessages,activityExpanded:r,renderMessage:l}),t[20]=r,t[21]=l,t[22]=n.assistantMessages,t[23]=y):y=t[23];let b;return t[24]!==r||t[25]!==h||t[26]!==g||t[27]!==_||t[28]!==v||t[29]!==y||t[30]!==n.turnId?(b=(0,$.jsxs)(`section`,{className:`relative w-full`,id:h,"data-turn-id":n.turnId,"data-turn-activity-expanded":r,"data-scroll-spy-id":n.turnId,children:[g,_,v,y]}),t[24]=r,t[25]=h,t[26]=g,t[27]=_,t[28]=v,t[29]=y,t[30]=n.turnId,t[31]=b):b=t[31],b});function eA(e){return e.isMobile}var tA=(e,t,n)=>t.id??`${e}-part-${n}-${t.type}`,nA=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},rA=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},iA=e=>{let t=e.info.finish;return typeof t==`string`?t:void 0},aA=(e,t,n,r)=>({id:tA(t,n,r),turnId:e,messageId:t,part:n,partIndex:r,endedAt:nA(n)}),oA=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`&&rA(e)&&(r=!0)})});let i=!!e.summarySourceMessageId&&!!e.summarySourcePartId&&e.assistantMessages.some(t=>t.info.id===e.summarySourceMessageId&&rE(iA(t),t.parts));e.assistantMessages.forEach(n=>{let r=iA(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`?rA(o):void 0,u=tA(n.info.id,o,s),d=o.type===`text`&&typeof l==`string`&&rE(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({...aA(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}},sA=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})})});let a=e.length>0?e[e.length-1]:null,o=new Set;return a&&(o.add(a.userMessageId),a.assistantMessageIds.forEach(e=>{o.add(e)})),{turns:e,indexes:{turnById:t,messageToTurnId:n,messageMetaById:r},lastTurnId:a?.turnId??null,lastTurnMessageIds:o,ungroupedMessageIds:new Set}},cA=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},lA=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(!n)continue;let r=n.info.finish;if(rE(r,n.parts))for(let e=n.parts.length-1;e>=0;--e){let t=n.parts[e];if(!t||!iE(t))continue;let r=cA(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:tA(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=cA(t);if(r)return{text:r,sourceMessageId:n.info.id,sourcePartId:tA(n.info.id,t,e)}}}return{}},uA=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}},dA=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},fA=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},pA=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},mA=e=>{let t=e.info.time?.created;return typeof t==`number`?t:void 0},hA=e=>{let t=e.info.time?.completed;return typeof t==`number`?t:void 0},gA=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},_A=e=>{let t=e.info?.summary?.body;if(typeof t==`string`)return t.trim().length>0?t:void 0},vA=(e,t)=>{let n=fA(e);return{messageId:e.info.id,role:n,parentMessageId:pA(e),message:e,order:t}},yA=(e,t)=>{let n=mA(e),r,i,a=!1;t.forEach(e=>{let t=hA(e);typeof t==`number`?r=Math.max(r??0,t):a=!0,e.parts.forEach(e=>{let t=gA(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}},bA=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`||nE(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 hA(t)!=`number`)return`active`;return`active`},xA=e=>{let t=e[e.length-1];if(!t)return!1;let n=t.info;return aE(n.finish,t.parts,n.error)},SA=e=>bk(e)?`compaction`:`default`,CA={previousProjection:null,showTextJustificationActivity:!1,showTurnChangedFiles:!1},wA=(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},TA=(e,t)=>e.userMessage===t.userMessage&&e.headerMessageId===t.headerMessageId&&wA(e.assistantMessages,t.assistantMessages),EA=(e,t)=>{e.summary=lA(e.assistantMessages),e.summaryText=e.summary.text??_A(e.userMessage),e.diffStats=uA(e.userMessage),e.changedFiles=t.showTurnChangedFiles?dA(e.userMessage):void 0,e.completionDisposition=bA(e.assistantMessages),e.hasConfirmedFinalBody=xA(e.assistantMessages),e.activityPresentationKind=SA(e.userMessage);let n=oA({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=yA(e.userMessage,e.assistantMessages),e.startedAt=e.stream.startedAt,e.completedAt=e.stream.completedAt,e.durationMs=e.stream.durationMs,e},DA=(e,t)=>{let n=t.previousProjection;if(!n||n.turns.length===0||e.length===0)return e.map(e=>EA(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&&TA(o,e)?(i=!0,n.turns[a]!==o&&(r=!1),o):(r=!1,EA(e,t))});return r&&i?n.turns:a},OA=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},kA=(e,t)=>{let n={...CA,...t},r=[],i=new Map,a=new Set;e.forEach((e,t)=>{if(fA(e)!==`user`)return;let n={turnId:e.info.id,userMessageId:e.info.id,userMessage:e,headerMessageId:void 0,messages:[vA(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(n),i.set(n.userMessageId,n),a.add(e.info.id)}),e.forEach((e,t)=>{if(fA(e)!==`assistant`)return;let n=pA(e),r=n?i.get(n):void 0;r&&(r.assistantMessages.push(e),r.assistantMessageIds.push(e.info.id),r.messages.push(vA(e,t)),r.headerMessageId||=e.info.id,a.add(e.info.id))});let o=sA(OA(DA(r,n))),s=new Set;return e.forEach(e=>{fA(e)!==`assistant`&&(a.has(e.info.id)||s.add(e.info.id))}),{...o,ungroupedMessageIds:s}},AA=30,jA=4,MA=4,NA=33554432,PA=8388608,FA=new Map,IA=new Map,LA=0,RA=new WeakMap,zA=1,BA=()=>d()?jA:bt()?MA:AA,VA=()=>d()||bt()?PA:NA,HA=(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},UA=e=>{FA.delete(e);let t=IA.get(e)??0;IA.delete(e),LA=Math.max(0,LA-t)},WA=e=>{let t=RA.get(e);if(t!==void 0)return t;let n=zA;return zA+=1,RA.set(e,n),n},GA=e=>e.map(e=>`${WA(e.info)}:${WA(e.parts)}:${e.parts.map(e=>WA(e)).join(`,`)}`).join(`;`),KA=(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,GA(t),n?`1`:`0`,r?`1`:`0`].join(`|`)},qA=e=>{let t=FA.get(e);return t&&(FA.delete(e),FA.set(e,t)),t},JA=(e,t)=>{UA(e);let n=BA(),r=VA(),i=HA(e,t);if(!(i>r)){for(;FA.size>=n||LA+i>r;){let e=FA.keys().next().value;if(typeof e!=`string`)break;UA(e)}FA.set(e,t),IA.set(e,i),LA+=i}},YA=[],XA=(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},ZA=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},QA=(e,t)=>t===null?{staticTurns:e,streamingTurns:YA}:{staticTurns:t===0?YA:e.slice(0,t),streamingTurns:e.slice(t)},$A=(e,t)=>{let n=Z.useRef(null),r=Z.useRef([]),i=Z.useRef(YA),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=YA,a.current=null);let l=Z.useMemo(()=>{let r=KA(t.sessionKey??``,e,t.showTextJustificationActivity,t.showTurnChangedFiles),i=qA(r);return i?(n.current=i,i):Se(`ui.turns.projection_ms`,()=>{let i=kA(e,{previousProjection:n.current,showTextJustificationActivity:t.showTextJustificationActivity,showTurnChangedFiles:t.showTurnChangedFiles});return n.current=i,JA(r,i),i})},[e,t.showTextJustificationActivity,t.showTurnChangedFiles,t.sessionKey]),u=ZA({turnCount:l.turns.length,hasLiveTail:t.hasLiveTail,liveTailActive:t.liveTailActive,previousStart:a.current});return a.current=u,{projection:l,staticTurns:Z.useMemo(()=>{let e=QA(l.turns,u).staticTurns;return XA(r.current,e)?r.current:r.current=e},[u,l.turns]),streamingTurns:Z.useMemo(()=>{let e=QA(l.turns,u).streamingTurns;return XA(i.current,e)?i.current:i.current=e},[u,l.turns])}},ej=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},tj=(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(ej(e[t])===`user`){r=t;break}if(r<0)return e;let i=-1;for(let t=e.length-1;t>r;--t)if(ej(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},nj=(e,t,n)=>{if(e.info.id!==t||e.parts===n)return e;let r=Lt(e.parts,n,e.info);return r.length===e.parts.length&&r.every((t,n)=>t===e.parts[n])?e:wk({...e,parts:r})},rj=(e,t)=>{let n=t.activeStreamingMessageId;if(!n)return e;if(e.kind===`ungrouped`){let r=nj(e.message,n,t.liveParts);return r===e.message?e:{...e,message:r}}let r=!1,i=e.turn.assistantMessages.map(e=>{let i=nj(e,n,t.liveParts);return i!==e&&(r=!0),i});if(!r)return e;let a=kA([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}},ij=e=>{let t=Z.useRef(e);return t.current=e,Z.useMemo(()=>(...e)=>t.current(...e),[])},aj=2,oj=2,sj=e=>Math.min(Math.max(0,e),aj),cj=(e,t)=>Math.min(Math.max(0,t),Math.max(0,e)+oj),lj=e=>{let t=(0,Q.c)(3),{children:n,enabled:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(kC.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},uj=e=>{let t=(0,Q.c)(3),{children:n,enabled:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(Cs.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},dj=12,fj=16,pj=new Map,mj=e=>{let t=pj.get(e);if(t)return pj.delete(e),pj.set(e,t),t},hj=(e,t)=>{if(t.size!==0)for(pj.delete(e),pj.set(e,t);pj.size>fj;){let e=pj.keys().next().value;if(typeof e!=`string`)break;pj.delete(e)}},gj=(e,t)=>{let n=Math.max(1,Math.floor(t?.seedCount??dj)),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},_j=(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},vj=({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}},yj=e=>{let{visible:t,preload:n}=vj(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},bj=(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},xj=(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}},Sj=(e,t)=>{let n=xj(e,t);return n===null?null:{anchor:n,knownKeys:new Set(t)}},Cj=15e3,wj=(e,t)=>{let n=e.positionByKey(t.key);return n===void 0||!Number.isFinite(n)?null:n-t.offsetFromViewportTop},Tj=(e,t)=>{if(!Number.isFinite(e.scroll))return null;let n=wj(e,t);return n===null?null:e.scroll-n},Ej=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}},Dj=1;function Oj(e,{offset:t=0,hideTopShadow:n=!1,hideBottomShadow:r=!1}={}){let i=e.scrollTop>t+Dj,a=e.scrollHeight-(e.scrollTop+e.clientHeight)>t+Dj,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 kj(e,t=48){e.dataset.scrollShadow=`true`,e.dataset.orientation=`vertical`,e.style.setProperty(`--scroll-shadow-size`,`${t}px`)}var Aj=.4,jj=e=>!Number.isFinite(e)||e<=0?0:e*Aj,Mj=(e,t=16)=>Number.isFinite(e)&&e>0?e:t,Nj=({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),Pj=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)},Fj=({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))},Ij=({scroll:e,parkOffset:t})=>!Number.isFinite(e)||!Number.isFinite(t)?0:Math.max(0,t-e),Lj=`data-oc-timeline-park-end`,Rj=e=>{if(!e)return null;let t=e.getAttribute(Lj);if(t===null||t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null},zj=(e,t)=>{if(!e)return;if(t===null||!Number.isFinite(t)){e.hasAttribute(`data-oc-timeline-park-end`)&&e.removeAttribute(Lj);return}let n=String(Math.round(t));e.getAttribute(`data-oc-timeline-park-end`)!==n&&e.setAttribute(Lj,n)},Bj=(e,t)=>t!==null&&Number.isFinite(t)?Ij({scroll:e.scrollTop,parkOffset:t}):Math.max(0,e.scrollHeight-e.scrollTop-e.clientHeight),Vj=({usableViewportHeight:e,viewportHeight:t,contentHeight:n})=>{if(!Number.isFinite(e)||e<=0)return 0;let r=jj(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))},Hj=(e,t)=>!Number.isFinite(e)||!Number.isFinite(t)||t<=0?!1:e>t+1,Uj=({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,Wj=({previous:e,reserveId:t,entryKey:n,contentHeight:r,usableViewportHeight:i,viewportHeight:a})=>{let o=Vj({usableViewportHeight:i,viewportHeight:a,contentHeight:r}),s=r!==null&&Hj(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&&Uj({previousEndSpaceSize:e.spacerHeight,nextEndSpaceSize:o})?{snapshot:{...c,spacerHeight:0},release:!0}:{snapshot:c,release:!1}},Gj=(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)},Kj=({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=Gj(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=Nj({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}},qj=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},Jj=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))},Yj=(e,t)=>e===void 0||!Number.isFinite(e)?t:e<=40?!1:e>=80||t,Xj=(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)},Zj=`data-oc-timeline-anchoring`,Qj=1200,$j=(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}}},eM=({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},tM=(e,t)=>!Number.isFinite(t)||t<=0||typeof e!=`number`||!Number.isFinite(e)||t+1>=e?null:t,nM={itemVisiblePercentThreshold:0},rM=100,iM=116,aM=500,oM=new Set,sM=Z.createContext(oM),cM=`oc-reply-reserve`,lM=e=>e.kind===cM,uM=e=>{if(lM(e))return e.spacerHeight>0?e.spacerHeight:void 0},dM=(e,t,n,r,i)=>{if(!e||t)return null;let a=Kj({state:n,anchorIndex:e.anchorIndex,lastIndex:e.anchorIndex,endInsetHeight:r,anchorOffset:i});return a?Fj({anchorTop:a.anchorTop,anchorOffset:i,maxScrollOffset:Pj(n)}):null},fM=(e,t)=>{if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t;let n=e?.clientHeight??0;return n>0?n:0},pM=e=>e.key,mM=e=>e.kind,hM=()=>{let e=(0,Q.c)(6),t=Z.useRef(null),n=Z.useRef(0),[r,i]=Z.useState(null),[a,o]=Z.useState(0),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=t.current?.offsetHeight??0;n.current=e,o(t=>t===e?t:e)},e[0]=s):s=e[0];let c=J(s),l;e[1]===c?l=e[2]:(l=e=>{t.current=e,i(t=>t===e?t:e),c()},e[1]=c,e[2]=l);let u=J(l);at(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},gM=({entry:e,index:t,renderEntryRef:n,onMeasuredSizeRef:r})=>{let i=Z.useContext(sM),a=Z.useRef(null);return Z.useLayoutEffect(()=>{let t=a.current;if(!t||typeof ResizeObserver>`u`)return;let n=()=>{let n=t.offsetHeight,i=t.offsetWidth;n>0&&r.current?.(e.key,{height:n,width:i})},i=new ResizeObserver(n);return i.observe(t),n(),()=>i.disconnect()},[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))})},_M=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,sessionIsWorking:h=!1,onIsAtEndChange:g,onScroll:_,header:v,footer:y,className:b,style:x,contentContainerClassName:S,contentContainerStyle:C})=>{let w=Z.useRef(null),T=Z.useMemo(()=>e.map(e=>e.key),[e]),E=Z.useRef(T);E.current=T;let D=Z.useRef(r);D.current=r;let O=J(e=>{w.current=e,u?.(e)}),k=Z.useRef(null),[A,j]=Z.useState(null),[M,N]=Z.useState(0),{height:P,setElement:F}=hM(),{height:I,heightRef:L,setElement:R}=hM(),z=v==null?null:(0,$.jsx)(`div`,{ref:F,"data-oc-timeline-header":``,children:v}),B=y==null?null:(0,$.jsx)(`div`,{ref:R,"data-oc-timeline-footer":``,children:y}),V=Z.useRef(c);V.current=c;let H=Z.useRef(l);H.current=l;let U=J((e=k.current)=>{!e||s?.scrollShadow!==`true`||(kj(e),Oj(e,{hideTopShadow:V.current,hideBottomShadow:H.current}))}),W=J(e=>{let t=e?.getScrollableNode?.()??null;if(t&&s){for(let[e,n]of Object.entries(s))t.dataset[e]=n;U(t)}k.current=t,o&&(o.current=t),j(t);let n=fM(t,w.current?.getState()?.scrollLength);N(e=>e===n?e:n)}),ee=J(()=>{let e=fM(k.current,w.current?.getState()?.scrollLength);N(t=>t===e?t:e),U()});Z.useLayoutEffect(()=>{U(A)},[l,c,A]),at(typeof ResizeObserver<`u`?A:null,ee);let[G,K]=Z.useState(0),[q,te]=Z.useState(0),ne=G!==q,re=Z.useRef(!0),ie=Z.useRef(!1),[ae,oe]=Z.useState(!1),se=Z.useRef(!1);Z.useLayoutEffect(()=>{re.current=!0,ie.current=!1,se.current=!1,oe(!1)},[t]);let[ce,le]=Z.useState(null),ue=J(e=>{le(t=>t?.token===e?null:t)});Z.useEffect(()=>{p&&le(null)},[p]),Z.useLayoutEffect(()=>{if(m<=0)return;let e=w.current;if(!e)return;let t=Sj(e.getState(),E.current);t&&le({token:m,arm:t,holding:!1})},[m]),Z.useEffect(()=>{if(!ce||ce.holding)return;let{token:e}=ce,t=window.setTimeout(()=>{le(t=>t?.token===e&&!t.holding?null:t)},Cj);return()=>window.clearTimeout(t)},[ce]);let de=Z.useRef(T);Z.useLayoutEffect(()=>{let e=de.current;de.current=T,Xj(e,T)&&(K(e=>e+1),le(e=>e===null||e.holding?e:{...e,holding:!0}))},[T]),Z.useEffect(()=>{if(!ne)return;let e=window.setTimeout(()=>{te(G)},Qj);return()=>window.clearTimeout(e)},[ne,G]),Z.useEffect(()=>{if(!ce?.holding)return;let{token:e,arm:{anchor:t}}=ce,n=w.current;if(!n||typeof window>`u`){ue(e);return}let r=k.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&&ue(e)}},d=()=>{if(s=null,c)return;let e=n.getState();if(qj(e)??e.isAtEnd){u(!0);return}let r=Date.now(),l=Ej({drift:Tj(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=wj(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)}},[ue,ce]);let fe=ne||ce!==null;Z.useLayoutEffect(()=>{let e=k.current;if(!(!e||!fe))return e.setAttribute(Zj,`true`),()=>{e.removeAttribute(Zj)}},[fe]);let pe=Z.useMemo(()=>{if(ce===null)return{data:!0,size:ne};let{knownKeys:e}=ce.arm;return{data:!0,size:!0,shouldRestorePosition:t=>e.has(t.key)}},[ce,ne]),[me,he]=Z.useState(()=>gj(T,{restore:mj(t)??null})),ge=Z.useRef(me);ge.current=me;let _e=Z.useRef(0),ve=Z.useRef(0),ye=Z.useRef(null),be=Z.useRef(!1),xe=Z.useRef(null),Se=Z.useMemo(()=>_j(me,T),[me,T]);Z.useEffect(()=>{he(e=>bj(e,T))},[T]),Z.useEffect(()=>()=>{hj(t,ge.current)},[t]);let Ce=J(()=>{be.current=!1;let e=w.current;if(!e)return;let t=E.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()-_e.current>=rM,d=D.current,f=d.resolvePreloadEntries(l),p=yj({entryKeys:t,mountedIndexes:o,visibleStartIndex:s,visibleEndIndex:c,scrollDirection:ye.current,preloadEntries:f,hydratedKeys:ge.current,allowVisibleRelease:u,preloadReleaseLimit:u?f:d.resolvePreloadReleaseWhileScrolling(),visibleReleaseLimit:d.resolveVisibleReleaseLimit()});p.length!==0&&(Te(),Z.startTransition(()=>{he(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})}))}),we=J(()=>{be.current||(be.current=!0,hc(Ce))}),Te=J(()=>{typeof window>`u`||(xe.current!==null&&window.clearTimeout(xe.current),xe.current=window.setTimeout(()=>{xe.current=null,we()},iM))});Z.useEffect(()=>()=>{xe.current!==null&&(window.clearTimeout(xe.current),xe.current=null)},[]);let Ee=J(()=>{we()}),De=J(()=>{_e.current=Date.now();let e=w.current;if(e){let t=e.getState(),n=t.scroll;Number.isFinite(n)&&n!==ve.current&&(ye.current=n>ve.current?`forward`:`backward`,ve.current=n);let r=fM(k.current,t.scrollLength);r>0&&N(e=>e===r?e:r);let i=dM(Ue.current,Me.current,t,L.current,Ge.current);zj(k.current,i);let a=i===null?null:Ij({scroll:t.scroll,parkOffset:i}),o=a??Jj(t),s=a===null?qj(t)??t.isAtEnd:a<=40,c=Yj(o,ie.current);(s!==re.current||c!==ie.current)&&(re.current=s,ie.current=c,g?.(s,c)),s&&!se.current&&(se.current=!0,oe(!0))}_?.(),U(),we(),Te()}),Oe=Z.useRef(i);Oe.current=i;let[ke,Ae]=Z.useState(null),je=Z.useRef(null),Me=Z.useRef(!1),Ne=Z.useRef(null),Pe=Z.useRef(null),Fe=Z.useRef(0),Ie=Z.useRef(0),Le=Z.useRef(null),Re=J((e,t)=>{let n=w.current,r=n?.getState().sizes.get(e);if(n&&tM(r,t.height)!==null&&n.setItemSize(e,t),Me.current||e!==Pe.current)return;let i=Ne.current;if(i===null)return;let{snapshot:a,release:o}=Wj({previous:je.current,reserveId:i,entryKey:e,contentHeight:t.height,usableViewportHeight:Fe.current,viewportHeight:Ie.current});if(o){Ae(null),nt(i),rt(`reveal`);return}let s=je.current;(s?.spacerHeight!==a.spacerHeight||s?.contentHeight!==a.contentHeight||s?.entryKey!==a.entryKey||s?.reserveId!==a.reserveId)&&Ae(a),Le.current!==i&&rt(`park`)&&(Le.current=i)}),ze=Z.useRef(Re);ze.current=Re;let Be=Z.useMemo(()=>({item:e,index:t})=>lM(e)?(0,$.jsx)(`div`,{"data-oc-reply-reserve":`true`,"aria-hidden":`true`,style:{height:e.spacerHeight,flexShrink:0}}):(0,$.jsx)(gM,{entry:e,index:t,renderEntryRef:Oe,onMeasuredSizeRef:ze}),[]),Ve=Z.useRef(p);Ve.current=p;let He=Z.useRef(ce);He.current=ce;let Ue=Z.useRef(d);Ue.current=d;let We=Z.useRef(0),Ge=Z.useRef(16),Ke=Z.useRef(null),[qe,Je]=Z.useState(null),Ye=d?e[d.anchorIndex]?.key??null:null,Xe=d?.anchorId??Ye,Ze=Xe!==null&&qe===Xe;d||(Le.current=null,We.current=0);let Qe=M>0?M:fM(k.current,w.current?.getState()?.scrollLength),$e=Mj(P),et=Nj({viewportHeight:Qe,endInsetHeight:I,anchorOffset:$e}),tt=ke;if(!Xe||!Ye||Ze)ke!==null&&Ae(null),tt=null;else if(et<=0)tt=ke!==null&&ke.reserveId===Xe&&ke.entryKey===Ye?ke:null;else if(ke===null||ke.reserveId!==Xe||ke.entryKey!==Ye){let{snapshot:e}=Wj({previous:ke?.reserveId===Xe?ke:null,reserveId:Xe,entryKey:Ye,contentHeight:ke?.reserveId===Xe?ke.contentHeight:null,usableViewportHeight:et,viewportHeight:Qe});Ae(e),tt=e}je.current=tt,Me.current=Ze,Ne.current=Xe,Pe.current=Ye,Fe.current=et,Ie.current=Qe,Ge.current=$e,Z.useLayoutEffect(()=>{Le.current=null,We.current=0,Ke.current=null,Je(null)},[t]),Z.useLayoutEffect(()=>{d&&ee()},[d]);let nt=J(e=>{e!==null&&Ke.current!==e&&(Ke.current=e,Je(e),f?.(e))}),rt=J(t=>{let n=Ue.current;if(!n||He.current)return!1;let r=w.current;if(!r)return!1;let i=r.getState(),a=Ge.current,o=Kj({state:i,anchorIndex:n.anchorIndex,lastIndex:n.anchorIndex,endInsetHeight:L.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&&(We.current=t+aM),r.scrollToOffset({offset:e,animated:n}),!0}return Hj(o.turnHeight,Fe.current)&&nt(n.anchorId??e[n.anchorIndex]?.key??null),(typeof performance<`u`?performance.now():Date.now())<We.current||!Ve.current||o.scrollDeltaToRevealEnd<1?!1:(r.scrollToOffset({offset:o.targetScrollToRevealEnd,animated:!1}),!0)});Z.useLayoutEffect(()=>{if(!Xe||!Ye||Ze||et<=0)return;let e=je.current;if(e===null||e.reserveId!==Xe||e.entryKey!==Ye)return;let{snapshot:t,release:n}=Wj({previous:e,reserveId:Xe,entryKey:Ye,contentHeight:e.contentHeight,usableViewportHeight:et,viewportHeight:Qe});if(n){Ae(null),nt(Xe),rt(`reveal`);return}t.spacerHeight!==e.spacerHeight&&Ae(t)},[Ye,Ze,Xe,Qe,et]),Z.useLayoutEffect(()=>{!tt||ce||Le.current!==Xe&&rt(`park`)&&(Le.current=Xe)},[tt,ce,Xe]),Z.useLayoutEffect(()=>{let e=k.current,t=w.current;if(e){if(!t){zj(e,null);return}zj(e,dM(d,Ze,t.getState(),I,$e))}},[d,I,$e,Ze]);let it=Z.useMemo(()=>{let t=tt?.spacerHeight??0;return!tt||t<=0?e:[...e,{key:`${cM}:${tt.reserveId}`,kind:cM,spacerHeight:t}]},[tt,e]),ot=Z.useMemo(()=>d&&!Ze||!p||ce?!1:{animated:h&&ae,on:{dataChange:!0,itemLayout:!0,layout:!0,footerLayout:!0}},[d,ae,p,ce,Ze,h]);return(0,$.jsx)(sM.Provider,{value:Se,children:(0,$.jsx)(el,{ref:O,refScrollView:W,data:it,extraData:a,keyExtractor:pM,getItemType:mM,getFixedItemSize:uM,renderItem:Be,estimatedItemSize:n,initialScrollAtEnd:!0,recycleItems:!1,maintainScrollAtEnd:ot,maintainVisibleContentPosition:pe,onScroll:De,onViewableItemsChanged:Ee,viewabilityConfig:nM,ListHeaderComponent:z,ListFooterComponent:B,className:b,style:x,contentContainerClassName:S,contentContainerStyle:C})})}),vM=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},yM=e=>{let t=e.info;return typeof t.parentID==`string`&&t.parentID.length>0?t.parentID:null},bM=e=>!e||vM(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`)}),xM=(e,t)=>{if(vM(e)!==`assistant`||t&&yM(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}}},SM=(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(vM(t)===`user`)break;let{hide:i,details:a}=xM(t,r);if(i){let e=typeof a?.command==`string`?a.command.trim():``;return e.length>0?e:null}}return null},CM=e=>{let t=e.info,n=t.time?.completed,r=t.status;return typeof n!=`number`||n<=0?!1:typeof r!=`string`||r===`completed`},wM=(e,t)=>{if(e.length===0)return[];if(e.filter(CM).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},TM=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=sE({finish:r.finish,isMessageCompleted:CM(n),activeStreamingPhase:e.activeStreamingPhase});return cE({finish:r.finish,parts:n.parts,streamPhase:i,error:r.error,isLastAssistantInTurn:!0})?t:null},EM=(e,t)=>{if(!t)return e;let n=e.filter(e=>e.kind!==`justification`||e.messageId!==t);return n.length===e.length?e:n},DM=(e,t)=>{if(!t)return e;let n=!1,r=e.map(e=>{let r=EM(e.parts,t);return r===e.parts?e:(n=!0,{...e,parts:r})});return n?r:e},OM=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},kM=e=>{if(typeof e!=`object`||!e)return null;let t=e,n=OM(t.mode)??OM(t.agent),r=OM(t.providerID),i=OM(t.modelID),a=OM(t.model?.variant)??OM(t.variant);return!n&&!r&&!i&&!a?null:{agentName:n,providerId:r,modelId:i,variant:a}},AM=e=>{let t=e?.modelId??null;return{providerID:e?.providerId??null,modelID:t,agentName:e?.agentName,modelName:Ai(void 0,t)||void 0,variant:e?.variant}},jM=e=>!(!e.isLastTurn||!e.sessionIsWorking||e.hasAssistantMessages||e.activityPresentationKind===`compaction`||e.hasActiveStreamingMessage),MM=e=>e.isActivelyProcessing||e.expansionDisposition===`active`?!0:WO(e.expansionDisposition,e.activityRenderMode,{isLastTurn:e.isLastTurn,hasConfirmedFinalBody:e.hasConfirmedFinalBody}),NM=5,PM=[],FM=new Set,IM=[],LM=16,RM=(e,t)=>e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e===t[n]),zM=320,BM=168,VM=8,HM=16,UM=6,WM=12,GM=4,KM=1,qM=2,JM=6,YM=4,XM=()=>bt()?HM:VM,ZM=30,QM=180,$M=5,eN=2,tN=120,nN=1200,rN=80,iN=160,aN=1500,oN=1.5,sN=90,cN=(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},lN=(e=>{let t=new Map;return{read:(e,n)=>{let r=t.get(e);if(r){if(RM(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)}}}})(LM),uN=(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})},dN=(e,t)=>({sessionKey:e,virtualizerKey:t??e}),fN=e=>e===`collapsed`?BM:zM,pN=(e,t)=>`${e}::activity:${t}`,mN=(e,t)=>!Number.isFinite(t)||t<=0||e===null?!1:Math.round(e)!==Math.round(t),hN=(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}},gN=(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)},_N=(e,t=0)=>Math.max(e===`collapsed`?WM:UM,Math.max(0,Math.floor(t))),vN=e=>e===`collapsed`?qM:KM,yN=e=>e===`collapsed`?YM:JM,bN=e=>e===`collapsed`?eN:$M,xN=(e,t)=>{e.current=t},SN=(e,t)=>lN.read(e,t),CN=(e,t,n)=>{!n||t.length===0||lN.write(e,t,n.takeSnapshot())},wN=e=>{let t=e.info;return(typeof t.clientRole==`string`?t.clientRole:null)??(typeof t.role==`string`?t.role:null)??null},TN=(e,t)=>{if(wN(e)!==`system`)return e;let n=ON(e);return!n||!t.has(n)||e.info.clientRole===`assistant`?e:{...e,info:{...e.info,clientRole:`assistant`}}},EN=e=>!e||wN(e)!==`user`?!1:e.parts.some(e=>e?.type===`subtask`),DN=e=>{if(!e)return null;let t=e.info.id;return typeof t==`string`&&t.trim().length>0?t:null},ON=e=>{let t=e.info.parentID;return typeof t==`string`&&t.trim().length>0?t:null},kN=(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},AN=(e,t)=>Array.from(e.querySelectorAll(`[data-message-id]`)).find(e=>e.dataset.messageId===t)??null,jN=(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&&!kN(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}},MN=(e,t)=>{let n=jN(t,e);if(!n)return null;let r=AN(e,n.messageId)?.closest(`[data-turn-entry]`)?.dataset.turnEntry;return r?{...n,entryKey:r,attempts:0}:null},NN=e=>{let t=e,n=t.state?.metadata,r=mS(n)??null;if(r)return r;let i=t.state?.output;return typeof i==`string`?vS(i)??null:null},PN=e=>{if(wN(e)!==`assistant`||e.parts.length!==1)return{hide:!1,taskSessionId:null};let t=e.parts[0];return t?.type!==`tool`||(typeof t.tool==`string`?t.tool.toLowerCase():``)!==`task`?{hide:!1,taskSessionId:null}:{hide:!0,taskSessionId:NN(e.parts[0])}},FN=(e,t)=>{if(!t)return e;let n=hS(e.parts,t);return n===e.parts?e:{...e,parts:n}},IN=(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}},LN=e=>e.kind===`turn`?e.turn.userMessage.info.id:wN(e.message)===`user`?e.message.info.id:null,RN=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,zN=Z.memo(e=>{let t=(0,Q.c)(22),{message:n,previousMessage:r,nextMessage:i,turnGroupingContext:a,assistantHeaderMessageId:o,isInActiveTurn:s,activeStreamingPhase:c,animateUserOnMount:l,onUserAnimationConsumed:u,onContentChange:d,animationHandlers:f,scrollToBottom:p,reviewTransferDirection:m}=e,h=Fh(),g;t[0]!==n.sourceDirectory||t[1]!==n.sourceSessionID||t[2]!==h?(g=n.sourceSessionID?{...h,sessionId:n.sourceSessionID,directory:n.sourceDirectory??null,onRevertMessage:void 0,onEditMessage:void 0,capabilities:{...h.capabilities,compose:!1,mutateSession:!1,answerRequests:!1,openTimeline:!1,forkSession:!1}}:h,t[0]=n.sourceDirectory,t[1]=n.sourceSessionID,t[2]=h,t[3]=g):g=t[3];let _=g,v;t[4]!==c||t[5]!==l||t[6]!==f||t[7]!==o||t[8]!==s||t[9]!==n||t[10]!==i||t[11]!==d||t[12]!==u||t[13]!==r||t[14]!==m||t[15]!==p||t[16]!==a?(v=(0,$.jsx)(hk,{message:n,previousMessage:r,nextMessage:i,animateUserOnMount:l,onUserAnimationConsumed:u,onContentChange:d,animationHandlers:f,scrollToBottom:p,turnGroupingContext:a,assistantHeaderMessageId:o,isInActiveTurn:s,activeStreamingPhase:c,reviewTransferDirection:m}),t[4]=c,t[5]=l,t[6]=f,t[7]=o,t[8]=s,t[9]=n,t[10]=i,t[11]=d,t[12]=u,t[13]=r,t[14]=m,t[15]=p,t[16]=a,t[17]=v):v=t[17];let y=v,b;return t[18]!==y||t[19]!==_||t[20]!==h?(b=_===h?y:(0,$.jsx)(Ph.Provider,{value:_,children:y}),t[18]=y,t[19]=_,t[20]=h,t[21]=b):b=t[21],b},(e,t)=>{let n=e.turnGroupingContext,r=t.turnGroupingContext;return YS(e.message,t.message)&&e.message.sourceSessionID===t.message.sourceSessionID&&e.message.sourceDirectory===t.message.sourceDirectory&&XS(e.previousMessage,t.previousMessage)&&XS(e.nextMessage,t.nextMessage)&&e.animateUserOnMount===t.animateUserOnMount&&e.onUserAnimationConsumed===t.onUserAnimationConsumed&&e.onContentChange===t.onContentChange&&e.scrollToBottom===t.scrollToBottom&&iC(n,r,e.message.info.id,wN(e.message)===`user`)&&e.assistantHeaderMessageId===t.assistantHeaderMessageId&&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});zN.displayName=`MessageRow`;var BN=Z.memo(e=>{let t=(0,Q.c)(109),{turn:n,isLastTurn:r,sessionIsWorking:i,activityRenderMode:a,turnUiStates:o,onToggleTurnGroup:s,chatRenderMode:c,onMessageContentChange:l,getAnimationHandlers:u,scrollToBottom:d,stickyUserHeader:f,shouldAnimateUserMessage:p,onUserAnimationConsumed:m,activeStreamingMessageId:h,activeStreamingPhase:g,reviewTransferDirection:_}=e,v=f===void 0||f,y;t[0]!==n.turnId||t[1]!==o?(y=o.get(n.turnId),t[0]=n.turnId,t[1]=o,t[2]=y):y=t[2];let b=y,x;if(t[3]!==a||t[4]!==r||t[5]!==i||t[6]!==n.assistantMessages.length||t[7]!==n.completionDisposition||t[8]!==n.durationMs||t[9]!==n.hasConfirmedFinalBody){let e=KO({completionDisposition:n.completionDisposition,isLastTurn:r,sessionIsWorking:i,durationMs:n.durationMs});x=MM({expansionDisposition:YO({isLastTurn:r,turnCompletionDisposition:n.completionDisposition,headerPresentationDisposition:e.completionDisposition,hasAssistantMessages:n.assistantMessages.length>0}),activityRenderMode:a,isLastTurn:r,isActivelyProcessing:r&&i,hasConfirmedFinalBody:n.hasConfirmedFinalBody}),t[3]=a,t[4]=r,t[5]=i,t[6]=n.assistantMessages.length,t[7]=n.completionDisposition,t[8]=n.durationMs,t[9]=n.hasConfirmedFinalBody,t[10]=x}else x=t[10];let S=x,C=b?b.isExpanded:S,w;t[11]!==S||t[12]!==s||t[13]!==n.turnId?(w=()=>{s(n.turnId,S)},t[11]=S,t[12]=s,t[13]=n.turnId,t[14]=w):w=t[14];let T=J(w),E;if(t[15]!==n.assistantMessages||t[16]!==n.userMessage){let e=[n.userMessage,...n.assistantMessages],r=new Map;e.forEach((e,t)=>{r.set(e.info.id,t)}),E={ordered:e,lookup:r},t[15]=n.assistantMessages,t[16]=n.userMessage,t[17]=E}else E=t[17];let D=E,O;bb0:{if(h&&n.assistantMessages.some(e=>e.info.id===h)){O=h;break bb0}for(let e=n.assistantMessages.length-1;e>=0;--e){let t=n.assistantMessages[e];if(!CM(t)){O=t.info.id;break bb0}}O=null}let k=O,A;t[18]!==g||t[19]!==c||t[20]!==k||t[21]!==n.assistantMessages?(A=TM({chatRenderMode:c,assistants:n.assistantMessages,streamingAssistantMessageId:k,activeStreamingPhase:g}),t[18]=g,t[19]=c,t[20]=k,t[21]=n.assistantMessages,t[22]=A):A=t[22];let j=A,M;bb1:{if(c===`live`){M=n.assistantMessages;break bb1}let e;t[23]!==k||t[24]!==n.assistantMessages?(e=wM(n.assistantMessages,k),t[23]=k,t[24]=n.assistantMessages,t[25]=e):e=t[25],M=e}let N=M,P;t[26]===N?P=t[27]:(P=new Map,N.forEach((e,t)=>{P.set(e.info.id,t)}),t[26]=N,t[27]=P);let F=P,I;t[28]===N?I=t[29]:(I=new Set(N.map(YN)),t[28]=N,t[29]=I);let L=I,R=N[0]?.info.id,z;bb2:{if(c!==`sorted`){z=n.activityParts;break bb2}let e;t[30]!==n.activityParts||t[31]!==n.assistantMessages.length||t[32]!==L?(e=L.size===n.assistantMessages.length?n.activityParts:n.activityParts.filter(e=>L.has(e.messageId)),t[30]=n.activityParts,t[31]=n.assistantMessages.length,t[32]=L,t[33]=e):e=t[33];let r=e,i;t[34]!==j||t[35]!==r?(i=EM(r,j),t[34]=j,t[35]=r,t[36]=i):i=t[36],z=i}let B=z,V;bb3:{if(c!==`sorted`){V=n.activitySegments;break bb3}if(j){let e;t[37]!==j||t[38]!==n.activitySegments?(e=DM(n.activitySegments,j),t[37]=j,t[38]=n.activitySegments,t[39]=e):e=t[39],V=e;break bb3}if(L.size===n.assistantMessages.length){V=n.activitySegments;break bb3}let e;if(t[40]!==n.activitySegments||t[41]!==L){let r;t[43]===L?r=t[44]:(r=e=>{let t=e.parts.filter(e=>L.has(e.messageId));if(t.length===0)return null;let n=L.has(e.anchorMessageId)?e.anchorMessageId:t[0]?.messageId;return n?{...e,anchorMessageId:n,parts:t}:null},t[43]=L,t[44]=r),e=n.activitySegments.map(r).filter(XN),t[40]=n.activitySegments,t[41]=L,t[42]=e}else e=t[42];V=e}let H=V,U=n.userMessage.info.time?.created,W=n.userMessage.info,ee=W?.model?.variant??W?.variant,G=typeof ee==`string`&&ee.trim().length>0?ee:void 0,K=typeof U==`number`?U:void 0,q;t[45]!==K||t[46]!==n.activityPresentationKind||t[47]!==n.changedFiles||t[48]!==n.diffStats||t[49]!==n.hasReasoning||t[50]!==n.hasTools||t[51]!==n.headerMessageId||t[52]!==n.summaryText||t[53]!==n.turnId||t[54]!==G||t[55]!==B||t[56]!==H?(q={turnId:n.turnId,summaryBody:n.summaryText,activityParts:B,activityGroupSegments:H,headerMessageId:n.headerMessageId,hasTools:n.hasTools,hasReasoning:n.hasReasoning,activityPresentationKind:n.activityPresentationKind,diffStats:n.diffStats,changedFiles:n.changedFiles,userMessageCreatedAt:K,userMessageVariant:G},t[45]=K,t[46]=n.activityPresentationKind,t[47]=n.changedFiles,t[48]=n.diffStats,t[49]=n.hasReasoning,t[50]=n.hasTools,t[51]=n.headerMessageId,t[52]=n.summaryText,t[53]=n.turnId,t[54]=G,t[55]=B,t[56]=H,t[57]=q):q=t[57];let te=q,ne;t[58]!==g||t[59]!==R||t[60]!==c||t[61]!==u||t[62]!==T||t[63]!==r||t[64]!==D.lookup||t[65]!==D.ordered||t[66]!==l||t[67]!==m||t[68]!==_||t[69]!==d||t[70]!==i||t[71]!==p||t[72]!==k||t[73]!==n.activityPresentationKind||t[74]!==n.completionDisposition||t[75]!==n.durationMs||t[76]!==n.hasConfirmedFinalBody||t[77]!==n.hasReasoning||t[78]!==n.hasTools||t[79]!==n.headerMessageId||t[80]!==n.turnId||t[81]!==n.userMessage||t[82]!==te||t[83]!==H||t[84]!==F||t[85]!==N[0]?.info.id||t[86]!==N.length?(ne=(e,t)=>{let a=wN(e)===`user`,o=D.lookup.get(e.info.id),s=F.get(e.info.id)??-1,f=s>=0,h=s===0,v=s===N.length-1,y=!!R&&e.info.id===R,b=H.some(t=>t.anchorMessageId===e.info.id),x=c===`sorted`?f:y||h||v,S=N[0]?.info.id??n.headerMessageId,C=a?void 0:f?h?n.userMessage:void 0:typeof o==`number`&&o>0?D.ordered[o-1]:void 0,w=KO({completionDisposition:n.completionDisposition,isLastTurn:r,sessionIsWorking:i,durationMs:n.durationMs}),E=f?{turnId:n.turnId,activityOwnerMessageId:R,isFirstAssistantInTurn:h,isLastAssistantInTurn:v,isLatestTurn:r,isWorking:(r||n.completionDisposition===`active`)&&i&&(c===`sorted`?b:e.info.id===k),isTurnSettled:qO({completionDisposition:n.completionDisposition,isLastTurn:r,sessionIsWorking:i,hasConfirmedSettledAssistant:n.hasConfirmedFinalBody}),hasTools:n.hasTools,hasReasoning:n.hasReasoning,completionDisposition:w.completionDisposition,activityPresentationKind:n.activityPresentationKind,durationMs:w.durationMs,...x?{summaryBody:te.summaryBody,activityParts:te.activityParts,activityGroupSegments:te.activityGroupSegments,headerMessageId:te.headerMessageId,diffStats:te.diffStats,changedFiles:te.changedFiles,userMessageCreatedAt:te.userMessageCreatedAt,userMessageVariant:te.userMessageVariant,isGroupExpanded:t,toggleGroup:T}:{}}:void 0;return(0,$.jsx)(zN,{message:e,previousMessage:C,nextMessage:void 0,turnGroupingContext:E,assistantHeaderMessageId:S,isInActiveTurn:!!k&&e.info.id===k,activeStreamingPhase:e.info.id===k?g:null,reviewTransferDirection:_,animateUserOnMount:p(e),onUserAnimationConsumed:m,onContentChange:l,animationHandlers:u(e.info.id),scrollToBottom:d},e.info.id)},t[58]=g,t[59]=R,t[60]=c,t[61]=u,t[62]=T,t[63]=r,t[64]=D.lookup,t[65]=D.ordered,t[66]=l,t[67]=m,t[68]=_,t[69]=d,t[70]=i,t[71]=p,t[72]=k,t[73]=n.activityPresentationKind,t[74]=n.completionDisposition,t[75]=n.durationMs,t[76]=n.hasConfirmedFinalBody,t[77]=n.hasReasoning,t[78]=n.hasTools,t[79]=n.headerMessageId,t[80]=n.turnId,t[81]=n.userMessage,t[82]=te,t[83]=H,t[84]=F,t[85]=N[0]?.info.id,t[86]=N.length,t[87]=ne):ne=t[87];let re=ij(ne),ie;bb4:{if(N===n.assistantMessages){ie=n;break bb4}let e;t[88]!==n||t[89]!==N?(e={...n,assistantMessages:N},t[88]=n,t[89]=N,t[90]=e):e=t[90],ie=e}let ae=ie,oe;bb5:{if(!jM({isLastTurn:r,sessionIsWorking:i,hasAssistantMessages:n.assistantMessages.length>0,activityPresentationKind:n.activityPresentationKind,hasActiveStreamingMessage:!!h})){oe=null;break bb5}let e;t[91]===n.userMessage.info?e=t[92]:(e=AM(kM(n.userMessage.info)),t[91]=n.userMessage.info,t[92]=e),oe=e}let se=oe,ce=H.length>0,le=n.assistantMessages.length>0,ue;t[93]!==c||t[94]!==r||t[95]!==i||t[96]!==ce||t[97]!==le||t[98]!==n.activityPresentationKind||t[99]!==n.completionDisposition?(ue=RN({chatRenderMode:c,activityPresentationKind:n.activityPresentationKind,hasVisibleActivitySegments:ce,hasAssistantMessages:le,completionDisposition:n.completionDisposition,isLastTurn:r,sessionIsWorking:i}),t[93]=c,t[94]=r,t[95]=i,t[96]=ce,t[97]=le,t[98]=n.activityPresentationKind,t[99]=n.completionDisposition,t[100]=ue):ue=t[100];let de;return t[101]!==T||t[102]!==C||t[103]!==se||t[104]!==re||t[105]!==ae||t[106]!==v||t[107]!==ue?(de=(0,$.jsx)($k,{turn:ae,activityExpanded:C,onToggleActivity:T,showCompactionStatus:ue,pendingAssistantHeader:se,stickyUserHeader:v,renderMessage:re}),t[101]=T,t[102]=C,t[103]=se,t[104]=re,t[105]=ae,t[106]=v,t[107]=ue,t[108]=de):de=t[108],de});BN.displayName=`TurnBlock`;var VN=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}=ot();if(Bi(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)(zN,{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});VN.displayName=`UngroupedMessageRow`;var HN=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)(VN,{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)(BN,{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)(Uk,{})}),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});HN.displayName=`MessageListEntry`;var UN=Z.memo(({entries:e,engine:t,contentRef:n,scrollRef:r,registerTanstackVirtualizer:i,virtualizerKey:a,onMessageContentChange:o,getAnimationHandlers:s,scrollToBottom:c,stickyUserHeader:l,activityRenderMode:u,turnUiStates:d,onToggleTurnGroup:f,chatRenderMode:p,shouldAnimateUserMessage:m,onUserAnimationConsumed:h,reviewTransferDirection:g})=>{let _=t===`tanstack`,v=Z.useRef(t),y=Z.useRef(null),[b,x]=Z.useReducer(e=>e+1,0);if(t===`none`)y.current=null;else if(v.current===`none`&&_&&y.current===null){let e=n.current,t=r?.current;e&&t&&(y.current=MN(e,t))}let S=Z.useRef(!1),C=Z.useRef(0),w=Z.useRef(null),T=_&&bt();Z.useEffect(()=>{if(!T)return;let e=r?.current;if(!e)return;let t=()=>{S.current=!0},n=()=>{S.current=!1},i=()=>{C.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`,i,{passive:!0}),()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),e.removeEventListener(`touchcancel`,n),e.removeEventListener(`scroll`,i)}},[T,r]);let E=()=>S.current||performance.now()-C.current<iN,D=()=>{let e=r?.current;return!e||e.scrollTop<e.clientHeight*oN},[O,k]=Z.useState(e),A=O;e===O?w.current!==null&&(w.current=null):T&&cN(O,e)&&E()&&!D()&&(w.current===null||performance.now()-w.current<aN)?w.current===null&&(w.current=performance.now()):(w.current=null,k(e),A=e);let[,j]=Z.useReducer(e=>e+1,0);$e(()=>{if(w.current===null)return;let e=performance.now()-w.current>=aN;(!E()||D()||e)&&j()},T?sN:null);let M=Z.useRef(A);M.current=A;let N=Z.useMemo(()=>A.map(e=>e.key),[A]),P=XM(),[F,I]=Z.useState(()=>sj(P));Z.useEffect(()=>{if(!(!_||F>=P))return hc(()=>{Z.startTransition(()=>{I(e=>cj(e,P))})})},[F,_,P]);let L=pN(a,u),[R]=Z.useState(()=>_?SN(L,e.map(e=>e.key)):void 0),z=Z.useRef(null),B=fN(u),V=Z.useRef(B),H=Z.useRef(u);H.current!==u&&(H.current=u,V.current=B);let U=Z.useRef(_),W=Z.useRef(new Map),ee=Z.useRef(void 0);Z.useLayoutEffect(()=>{if(_)return;let e=n?.current;if(!e)return;let t=W.current;t.clear(),e.querySelectorAll(`[data-turn-entry]`).forEach(e=>{let n=e.dataset.turnEntry;n&&t.set(n,e.getBoundingClientRect().height)}),ee.current=void 0}),_&&ee.current===void 0&&(ee.current=R??uN(N,W.current,V.current));let G=Yc({count:A.length,enabled:_,getScrollElement:()=>r?.current??null,estimateSize:()=>V.current,overscan:F,scrollToFn:(e,t,n)=>{gN(z.current,n.getTotalSize()),Jc(e,t,n)},getItemKey:e=>M.current[e]?.key??`index:${e}`,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:rN,initialOffset:()=>U.current?2**53-1:r?.current?.scrollTop??0,initialMeasurementsCache:ee.current}),K=Z.useRef(null),q=Z.useRef(null);_||(K.current=null);let te=J(()=>{if(!_)return;let e=z.current??r?.current;if(!e)return;let t=e.offsetWidth;if(!mN(K.current,t)){K.current===null&&t>0&&(K.current=t);return}K.current=t,q.current!==null&&clearTimeout(q.current),q.current=setTimeout(()=>{q.current=null,G.measure()},220)}),ne=_&&typeof ResizeObserver<`u`;at(ne?z:null,te),at(ne&&r?r:null,te),et(()=>{q.current!==null&&(clearTimeout(q.current),q.current=null)}),rt(()=>{_&&te()},[_]),rt(()=>{if(v.current=t,!_){y.current=null;return}let e=y.current,n=r?.current;if(!e||!n)return;let i=AN(n,e.messageId);if(i){let t=i.getBoundingClientRect().top-n.getBoundingClientRect().top-e.offsetTop;Math.abs(t)>.5&&(n.scrollTop+=t),y.current=null;return}let a=N.indexOf(e.entryKey);if(a<0||e.attempts>=1){y.current=null;return}e.attempts+=1,G.scrollToIndex(a,{align:`start`}),x()},[t,N,_,G,b]);let re=G.getVirtualItems(),ie=re.map(e=>e.index),[ae,oe]=Z.useState(()=>gj(N,{seedCount:_N(u),restore:mj(L)})),se=_j(ae,N);se!==ae&&oe(se);let ce=Z.useRef(se);ce.current=se;let le=Z.useRef(null);G.scrollDirection&&(le.current=G.scrollDirection);let ue=G.range?.startIndex??re[0]?.index??Math.max(0,A.length-1),de=G.range?.endIndex??re[re.length-1]?.index??Math.max(0,A.length-1),fe=G.isScrolling,pe=Math.max(0,de-ue+1),me=yj({entryKeys:N,mountedIndexes:ie,visibleStartIndex:ue,visibleEndIndex:de,scrollDirection:le.current,preloadEntries:_N(u,pe),hydratedKeys:se,allowVisibleRelease:!fe,preloadReleaseLimit:fe?vN(u):GM,visibleReleaseLimit:fe?0:yN(u)}),he=me.join(`\0`),ge=Z.useRef(me);ge.current=me,Z.useEffect(()=>{if(!(!_||!he))return hc(()=>{Z.startTransition(()=>{oe(e=>{let t=null;for(let n of ge.current)e.has(n)||(t??=new Set(e),t.add(n));return t??e})})})},[_,he]),Z.useEffect(()=>{oe(e=>bj(e,N))},[N]),Z.useEffect(()=>{if(!_)return;let e=G.itemSizeCache,t=bN(u);if(e.size>=t){let t=0;for(let n of e.values())t+=n;V.current=Math.min(nN,Math.max(tN,Math.round(t/e.size)))}}),Z.useEffect(()=>{if(_)return i?.(G),()=>{CN(L,M.current.map(e=>e.key),G),hj(L,ce.current),i?.(null)}},[_,G,L]);let _e=ij((e,t=!0)=>(0,$.jsx)(uj,{enabled:t,children:(0,$.jsx)(HN,{entry:e,onMessageContentChange:o,getAnimationHandlers:s,scrollToBottom:c,stickyUserHeader:l,sessionIsWorking:!1,activityRenderMode:u,turnUiStates:d,onToggleTurnGroup:f,chatRenderMode:p,shouldAnimateUserMessage:m,onUserAnimationConsumed:h,reviewTransferDirection:g},e.key)}));if(t===`none`)return(0,$.jsx)(`div`,{ref:n,className:`relative w-full`,children:A.map(e=>(0,$.jsx)(`div`,{"data-turn-entry":e.key,className:`oc-chat-message-layout-boundary`,children:_e(e)},e.key))});if(t===`tanstack`){let e=hN(re[0]?.start??0,re[re.length-1]?.end??0,G.getTotalSize());return(0,$.jsx)(`div`,{ref:z,className:`relative w-full`,style:{minHeight:e.minHeight},children:(0,$.jsx)(`div`,{style:{paddingTop:e.paddingTop,paddingBottom:e.paddingBottom},children:re.map(e=>{let t=A[e.index];return t?(0,$.jsx)(`div`,{"data-index":e.index,ref:G.measureElement,"data-turn-entry":t.key,className:`oc-chat-message-layout-boundary`,children:_e(t,se.has(t.key))},t.key):null})})})}return null});UN.displayName=`StaticHistoryList`;var WN=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)(HN,{...e})}),t[0]=e,t[1]=n),n});WN.displayName=`TailEntry`;var GN=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=xr(_??``,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=rj(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)(WN,{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};GN.displayName=`StreamingTailContent`;var KN=e=>{let t=(0,Q.c)(72),{historyEntries:n,tailEntries:r,timelineCacheKey:i,directory:a,sessionId:o,scrollRef:c,registerList:l,onHistoryContentChange:u,onTailContentChange:d,getAnimationHandlers:f,scrollToBottom:p,stickyUserHeader:m,sessionIsWorking:h,activityRenderMode:g,turnUiStates:_,onToggleTurnGroup:v,chatRenderMode:y,showTurnChangedFiles:b,shouldAnimateUserMessage:x,onUserAnimationConsumed:S,activeStreamingMessageId:C,activeStreamingPhase:w,reviewTransferDirection:T,header:E,footer:D,scrollClassName:O,scrollStyle:k,scrollDataset:A,onScroll:j,followEnabled:M,historyAnchorToken:N,onIsAtEndChange:P,anchoredUserMessageId:F,onAnchoredTurnParkReleased:I}=e,L=M===void 0||M,R=F===void 0?null:F,z=s(ZN),B=n.length,V=r.length>0?r[r.length-1]:void 0,H=V?.key??null,U=xr(C??``,a,o??void 0),W;bb0:{if(!V){W=r;break bb0}let e=y===`sorted`,n;t[0]!==C||t[1]!==U||t[2]!==V||t[3]!==b||t[4]!==e?(n=rj(V,{activeStreamingMessageId:C,liveParts:U,showTextJustificationActivity:e,showTurnChangedFiles:b}),t[0]=C,t[1]=U,t[2]=V,t[3]=b,t[4]=e,t[5]=n):n=t[5];let i=n;if(i===V){W=r;break bb0}let a;t[6]!==i||t[7]!==r?(a=r.slice(),a[a.length-1]=i,t[6]=i,t[7]=r,t[8]=a):a=t[8],W=a}let ee=W,G;t[9]!==n||t[10]!==ee?(G=ee.length>0?[...n,...ee]:n,t[9]=n,t[10]=ee,t[11]=G):G=t[11];let K=G,q;t[12]!==K||t[13]!==R?(q=$j(K,R,LN,{anchorOffset:16}),t[12]=K,t[13]=R,t[14]=q):q=t[14];let te=q,ne;t[15]===g?ne=t[16]:(ne={resolvePreloadEntries:e=>_N(g,e),resolvePreloadReleaseWhileScrolling:()=>vN(g),resolveVisibleReleaseLimit:()=>yN(g)},t[15]=g,t[16]=ne);let re=ne,ie;t[17]!==C||t[18]!==w||t[19]!==g||t[20]!==y||t[21]!==B||t[22]!==H||t[23]!==T||t[24]!==h||t[25]!==b||t[26]!==m||t[27]!==_?(ie={historyCount:B,newestTailKey:H,sessionIsWorking:h,activityRenderMode:g,turnUiStates:_,chatRenderMode:y,showTurnChangedFiles:b,stickyUserHeader:m,activeStreamingMessageId:C,activeStreamingPhase:w,reviewTransferDirection:T},t[17]=C,t[18]=w,t[19]=g,t[20]=y,t[21]=B,t[22]=H,t[23]=T,t[24]=h,t[25]=b,t[26]=m,t[27]=_,t[28]=ie):ie=t[28];let ae=ie,oe;t[29]!==C||t[30]!==w||t[31]!==g||t[32]!==y||t[33]!==f||t[34]!==B||t[35]!==H||t[36]!==u||t[37]!==d||t[38]!==v||t[39]!==S||t[40]!==T||t[41]!==p||t[42]!==h||t[43]!==x||t[44]!==m||t[45]!==_?(oe=(e,t,n)=>{let r=t>=B,i=H!==null&&e.key===H;return(0,$.jsx)(bc,{disabled:!r,children:(0,$.jsx)(uj,{enabled:n,children:(0,$.jsx)(HN,{entry:e,onMessageContentChange:r?d:u,getAnimationHandlers:f,scrollToBottom:p,stickyUserHeader:m,sessionIsWorking:i?h:!1,activityRenderMode:g,turnUiStates:_,onToggleTurnGroup:v,chatRenderMode:y,shouldAnimateUserMessage:x,onUserAnimationConsumed:S,activeStreamingMessageId:i?C:null,activeStreamingPhase:i?w:null,reviewTransferDirection:T,showLiveStatusRow:i})})})},t[29]=C,t[30]=w,t[31]=g,t[32]=y,t[33]=f,t[34]=B,t[35]=H,t[36]=u,t[37]=d,t[38]=v,t[39]=S,t[40]=T,t[41]=p,t[42]=h,t[43]=x,t[44]=m,t[45]=_,t[46]=oe):oe=t[46];let se=ij(oe),ce;t[47]===g?ce=t[48]:(ce=fN(g),t[47]=g,t[48]=ce);let le=z&&m,ue;return t[49]!==K||t[50]!==te||t[51]!==L||t[52]!==D||t[53]!==E||t[54]!==N||t[55]!==re||t[56]!==z||t[57]!==I||t[58]!==P||t[59]!==j||t[60]!==l||t[61]!==se||t[62]!==ae||t[63]!==O||t[64]!==A||t[65]!==c||t[66]!==k||t[67]!==h||t[68]!==le||t[69]!==ce||t[70]!==i?(ue=(0,$.jsx)(lj,{enabled:!0,children:(0,$.jsx)(_M,{entries:K,timelineCacheKey:i,estimatedItemSize:ce,hydrationTuning:re,renderEntry:se,rowInvalidationKey:ae,scrollElementRef:c,registerList:l,followEnabled:L,historyAnchorToken:N,anchoredEndSpace:te,onAnchoredTurnParkReleased:I,sessionIsWorking:h,header:E,footer:D,className:O,style:k,scrollElementDataset:A,hideTopScrollShadow:le,hideBottomScrollShadow:z,onScroll:j,onIsAtEndChange:P})}),t[49]=K,t[50]=te,t[51]=L,t[52]=D,t[53]=E,t[54]=N,t[55]=re,t[56]=z,t[57]=I,t[58]=P,t[59]=j,t[60]=l,t[61]=se,t[62]=ae,t[63]=O,t[64]=A,t[65]=c,t[66]=k,t[67]=h,t[68]=le,t[69]=ce,t[70]=i,t[71]=ue):ue=t[71],ue};KN.displayName=`LegendTimelineHost`;var qN=Z.forwardRef(({sessionKey:e,virtualizerKey:t,messages:n,sessionIsWorking:r=!1,activeStreamingMessageId:i=null,activeStreamingPhase:a=null,retryOverlay:o=null,onMessageContentChange:c,getAnimationHandlers:l,scrollToBottom:u,scrollRef:d,directory:f,headerSlot:p,footerSlot:m,timelineScrollClassName:h,timelineScrollStyle:g,timelineScrollDataset:_,timelineOnScroll:v,timelineFollowEnabled:y,timelineHistoryAnchorToken:b,timelineOnIsAtEndChange:x,enableSendPark:S=!0},C)=>{Le(`ui.message_list.render`);let{sessionKey:w,virtualizerKey:T}=dN(e,t),E=s(e=>e.stickyUserHeader),D=s(e=>e.chatRenderMode),O=s(e=>e.activityRenderMode),k=s(e=>e.showTurnChangedFiles),A=vr(e=>e.reviewTransferBySessionId.get(w)??null),[j,M]=Z.useState(()=>new Map),N=Z.useRef({sessionKey:void 0,previousOrder:[],animatedIds:new Set}),[P,F]=Z.useState(null),I=Z.useRef(null);I.current=P;let L=J(t=>{Bt(e),I.current===t&&F(null)}),R=J(l),z=J(()=>{u?.()}),B=J((e,t)=>{M(n=>{let r=new Map(n),i=n.get(e)?.isExpanded??t;return r.set(e,{isExpanded:GO(i)}),r})}),V=Z.useMemo(()=>Se(`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(wk(typeof o==`string`?t.get(o)??a:a))}let i=[],a=new Set;for(let e=0;e<r.length;e+=1){let t=r[e],n=TN(t,a);bk(t)&&a.add(t.info.id);let o=i.length>0?i[i.length-1]:void 0;if(EN(o)){let e=PN(n);if(e.hide){i[i.length-1]=FN(o,e.taskSessionId);continue}}if(bM(o)){let e=xM(n,DN(o));if(e.hide){i[i.length-1]=IN(o,e.details);continue}}i.push(n)}return i}),[n]),H=Z.useRef(null),U=Z.useRef(null),W=Z.useCallback(()=>{let e=U.current;e&&(U.current=null,e.cancel())},[]);Z.useEffect(()=>()=>{W()},[W]);let ee=J(()=>d?.current?d.current:typeof document>`u`?null:document.querySelector(`[data-scrollbar="chat"]`)),G=Z.useMemo(()=>Se(`ui.message_list.retry_overlay_ms`,()=>tj(V,{sessionId:o?.sessionId??null,message:o?.message??`Quota limit reached. Retrying automatically.`,confirmedAt:o?.confirmedAt,fallbackTimestamp:o?.fallbackTimestamp??0})),[V,o]),K=r||!!i,q=Z.useRef(K),te=Z.useRef(w);te.current!==w&&(te.current=w,q.current=!1),K&&(q.current=!0);let{projection:ne,staticTurns:re,streamingTurns:ie}=$A(G,{sessionKey:w,showTextJustificationActivity:D===`sorted`,showTurnChangedFiles:k,hasLiveTail:K||q.current,liveTailActive:K}),ae=ne.ungroupedMessageIds.size>0,oe=ae?G:PM,se=ae?ne.ungroupedMessageIds:FM,ce=Z.useMemo(()=>Se(`ui.message_list.render_entries_ms`,()=>{let e=re.map(e=>({kind:`turn`,key:`turn:${e.turnId}`,turn:e,isLastTurn:e.turnId===ne.lastTurnId}));if(se.size===0)return e;let t=new Map;e.forEach(e=>{t.set(e.turn.userMessage.info.id,e)});let n=[];return oe.forEach((e,r)=>{let i=t.get(e.info.id);if(i){n.push(i);return}se.has(e.info.id)&&n.push({kind:`ungrouped`,key:`msg:${e.info.id}`,message:e,previousMessage:r>0?oe[r-1]:void 0,nextMessage:r<oe.length-1?oe[r+1]:void 0})}),n}),[ne.lastTurnId,oe,se,re]),le=Z.useMemo(()=>{if(ie.length>0)return ie.map(e=>({kind:`turn`,key:`turn:${e.turnId}`,turn:e,isLastTurn:e.turnId===ne.lastTurnId}));if(ne.ungroupedMessageIds.size===0)return IM;let e=G[G.length-1];return!e||!ne.ungroupedMessageIds.has(e.info.id)?IM:[{kind:`ungrouped`,key:`msg:${e.info.id}`,message:e,previousMessage:G.length>1?G[G.length-2]:void 0,nextMessage:void 0}]},[G,ne.lastTurnId,ne.ungroupedMessageIds,ie]),ue=le.length>0;ue&&K&&Le(`ui.message_list.render.streaming`);let de=ce,fe=de.length>=NM,pe=Z.useRef(fe);xN(pe,fe);let me=fe?`tanstack`:`none`,he=Gx(e=>e.legendTimelineEnabled),ge=Z.useRef(null),_e=J(e=>{ge.current=e}),ve=Z.useRef(null),ye=J(e=>{ve.current=e}),be=Z.useMemo(()=>le.length>0?[...de,...le]:de,[de,le]),xe=J(e=>{c(e)}),Ce=J(e=>{c(e)}),we=Z.useMemo(()=>n.filter(e=>wN(e)===`user`).map(e=>e.info.id),[n]),Te=N.current,Ee=Te.sessionKey!==e,De=Te.previousOrder;Ee&&(S&&Te.sessionKey!==void 0&&Bt(Te.sessionKey),Te.sessionKey=e,Te.previousOrder=we,Te.animatedIds=new Set);let Oe=S?en({sessionId:e,sessionChanged:Ee,previousUserOrder:De,currentUserOrder:we,animatedIds:Te.animatedIds}):null;Te.previousOrder=we;let ke=S?eM({sessionChanged:Ee,previousUserOrder:De,currentUserOrder:we,currentAnchorId:P,consumedSendMessageId:Oe}):null;S&&ke!==P&&F(ke),S&&(I.current=ke);let Ae=J(e=>wN(e)===`user`&&N.current.animatedIds.has(e.info.id)),je=J(e=>{N.current.animatedIds.delete(e)}),Me=Z.useMemo(()=>{let e=new Map;return be.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},[be]),Ne=Z.useMemo(()=>{let e=new Map;return be.forEach((t,n)=>{t.kind===`turn`&&e.set(t.turn.turnId,n)}),e},[be]),Pe=J(e=>{let t=ee();return t?t.querySelector(`[data-message-id="${e}"]`):null}),Fe=J((e,t=`auto`)=>{if(e<0||e>=de.length)return!1;if(he){let n=ge.current;return n?(n.scrollToIndex({index:e,animated:t===`smooth`,viewOffset:0}),!0):!1}if(!fe)return!1;let n=ve.current;return n?(n.scrollToIndex(e,{align:`start`,behavior:t===`smooth`?`smooth`:`auto`}),!0):!1}),Ie=J((e,t=`auto`)=>{let n=ee();if(!n)return!1;let r=Pe(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(!C)return;let e={scrollToTurnId:(e,t)=>{let n=t?.behavior??`auto`,r=Ne.get(e);if(r===void 0)return!1;let i=ee();if(!i)return!1;let a=i.querySelector(`[data-turn-id="${e}"]`);return a?(a.scrollIntoView({behavior:n,block:`start`}),!0):ue&&r>=de.length?!1:Fe(r,n)},scrollToMessageId:(e,t)=>{let n=t?.behavior??`auto`,r=Me.get(e);return r===void 0?!1:Ie(e,n)||(ue&&r>=de.length?!1:Fe(r,n))},holdViewportAnchor:e=>{let t=ee();if(!t||typeof window>`u`)return;W();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=Pe(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>=ZM||n>=QM){s();return}a=window.requestAnimationFrame(l)};a=window.requestAnimationFrame(l)},cancelViewportAnchorHold:W,isHistoryVirtualized:()=>he?!0:pe.current,captureViewportAnchor:()=>{let e=ee();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`||!kN(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=ee();if(!t||!Me.has(e.messageId))return!1;let n=()=>{let n=Pe(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=Me.get(e.messageId);if(typeof t==`number`&&t<de.length)return Fe(t,`auto`)}return n()},scrollToBottom:()=>{if(he){let e=Rj(ee());if(e!==null){ge.current?.scrollToOffset({offset:e,animated:!1});return}ge.current?.scrollToEnd({animated:!1});return}if(fe&&de.length>0&&ve.current){ve.current.scrollToEnd();return}let e=ee();e&&(e.scrollTop=e.scrollHeight)}};if(typeof C==`function`)return C(e),()=>{C(null)};let t=C;return t.current=e,()=>{t.current=null}},[W,de.length,he,Me,fe,ue,Ne,C]),he?(0,$.jsx)(KN,{historyEntries:de,tailEntries:le,timelineCacheKey:pN(T,O),directory:f,sessionId:w,scrollRef:d,registerList:_e,onHistoryContentChange:xe,onTailContentChange:Ce,getAnimationHandlers:R,scrollToBottom:z,stickyUserHeader:E,sessionIsWorking:r,activityRenderMode:O,turnUiStates:j,onToggleTurnGroup:B,chatRenderMode:D,showTurnChangedFiles:k,shouldAnimateUserMessage:Ae,onUserAnimationConsumed:je,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:A,header:p,footer:m,scrollClassName:h,scrollStyle:g,scrollDataset:_,onScroll:v,followEnabled:y,historyAnchorToken:b,onIsAtEndChange:x,anchoredUserMessageId:ke,onAnchoredTurnParkReleased:L},T):(0,$.jsx)(`div`,{children:(0,$.jsx)(bc,{disabled:!1,children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(bc,{disabled:fe,children:(0,$.jsx)(lj,{enabled:!0,children:(0,$.jsx)(UN,{entries:de,engine:me,contentRef:H,scrollRef:d,registerTanstackVirtualizer:ye,virtualizerKey:T,onMessageContentChange:xe,getAnimationHandlers:R,scrollToBottom:z,stickyUserHeader:E,activityRenderMode:O,turnUiStates:j,onToggleTurnGroup:B,chatRenderMode:D,shouldAnimateUserMessage:Ae,onUserAnimationConsumed:je,reviewTransferDirection:A},T)})}),(0,$.jsx)(GN,{entries:le,directory:f,sessionId:w,onMessageContentChange:Ce,getAnimationHandlers:R,scrollToBottom:z,stickyUserHeader:E,sessionIsWorking:r,activityRenderMode:O,turnUiStates:j,onToggleTurnGroup:B,chatRenderMode:D,showTurnChangedFiles:k,shouldAnimateUserMessage:Ae,onUserAnimationConsumed:je,activeStreamingMessageId:i,activeStreamingPhase:a,reviewTransferDirection:A})]})})})});qN.displayName=`MessageList`;var JN=Z.memo(qN);function YN(e){return e.info.id}function XN(e){return e!==null}function ZN(e){return e.isMobile}var QN=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},$N=({diff:e,filePath:t})=>{let{currentTheme:n}=Ua(),r=Z.useMemo(()=>Co(n),[n]),i=Z.useMemo(()=>jc(e),[e]),a=cc(t||i[0]?.file)||`text`,o=Z.useMemo(()=>i.flatMap(e=>e.lines.map(e=>e.content)).join(`
6580
6580
  `),[i]),s=Vc(o,a),c=0;return(0,$.jsx)(`div`,{className:`typography-code px-1 pb-1 pt-0 space-y-0`,style:r,children:i.map((e,n)=>(0,$.jsxs)(`div`,{className:`-mx-1 px-1 border-b border-border/20 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`bg-muted/20 px-2 py-1 typography-meta font-medium text-muted-foreground border-b border-border/10 break-words -mx-1`,children:`${e.file||t?.split(`/`).pop()||`file`} (line ${e.oldStart})`}),(0,$.jsx)(`div`,{children:e.lines.map((e,t)=>{let n=s?.[c];return c+=1,(0,$.jsxs)(`div`,{className:Y(`typography-code font-mono px-2 py-0.5 flex -mx-2`,e.type===`context`&&`bg-transparent`,e.type===`removed`&&`bg-transparent`,e.type===`added`&&`bg-transparent`),style:e.type===`removed`?{backgroundColor:`var(--tools-edit-removed-bg)`}:e.type===`added`?{backgroundColor:`var(--tools-edit-added-bg)`}:{},children:[(0,$.jsx)(`span`,{className:`w-10 flex-shrink-0 text-right pr-3 select-none border-r mr-3 -my-0.5 py-0.5`,style:{color:`var(--tools-edit-line-number)`,borderColor:`var(--tools-border)`},children:e.lineNumber||``}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,$.jsx)(QN,{content:e.content,html:n})})]},t)})})]},n))})},eP=e=>{let t=(0,Q.c)(21),{content:n,filePath:r}=e,{currentTheme:i}=Ua(),a;t[0]===i?a=t[1]:(a=Co(i),t[0]=i,t[1]=a);let o=a,s;t[2]===n?s=t[3]:(s=n.split(`
6581
6581
  `),t[2]=n,t[3]=s);let c=s,l;t[4]===r?l=t[5]:(l=cc(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=Vc(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)(QN,{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},tP=new Set([`id`,`identifier`,`title`,`name`]),nP=e=>typeof e==`object`&&!!e&&!Array.isArray(e),rP=e=>e.replace(/([A-Z])/g,` $1`).replace(/[_-]/g,` `).replace(/^./,e=>e.toUpperCase()),iP=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},aP=e=>{try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}},oP=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?`${rP(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)(oP,{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(nP(n)){let e;t[18]===n?e=t[19]:(e=iP(n),t[18]=n,t[19]=e);let a=e,o;t[20]===n?o=t[21]:(o=Object.entries(n).filter(cP),t[20]=n,t[21]=o);let s=o,c;t[22]!==a||t[23]!==r?(c=r?`${rP(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)(oP,{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?rP(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`&&aP(n)?(0,$.jsx)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,className:`truncate text-[var(--status-info)] underline underline-offset-2 hover:opacity-80`,title:n,children:n}):(0,$.jsx)(`span`,{className:Y(`min-w-0 break-words`,n===null?`text-[var(--surface-mutedForeground)]`:`text-[var(--surface-foreground)]`),children:a}),t[46]=a,t[47]=n,t[48]=o):o=t[48];let s=o,c;t[49]===r?c=t[50]:(c=r?(0,$.jsx)(`span`,{className:`truncate text-[var(--surface-mutedForeground)]`,title:r,children:rP(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});oP.displayName=`JsonSummaryValue`;var sP=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)(oP,{value:n,depth:0})}),t[0]=n,t[1]=r),r});sP.displayName=`JsonSummaryView`;function cP(e){let[t]=e;return!tP.has(t)}var lP={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`},uP={style:{whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflowWrap:`break-word`}},dP=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})},fP=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},pP=e=>e===`filepath`||e===`file_path`?`filePath`:e===`parentDir`||e===`parent_dir`?`parentDirectory`:e,mP=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)(sP,{data:n})}),t[0]=n,t[1]=r),r},hP=({permission:e,onResponse:t})=>{let{t:n}=ot(),[r,i]=Z.useState(!1),[a,o]=Z.useState(!1),s=nr,c=Nr(),l=Zr(e=>e.currentSessionId),u=Z.useMemo(()=>{if(!l||e.sessionID===l)return!1;let t=c.find(t=>t.id===e.sessionID);return!!(t?.parentID&&t.parentID===l)},[e.sessionID,l,c]),d=async n=>{i(!0);try{await s(e.sessionID,e.id,n),o(!0),t?.(n)}catch(e){console.error(`[PermissionCard] Failed to respond to permission:`,e)}finally{i(!1)}};if(a)return null;let f=e.permission||`unknown`,p=f.toLowerCase(),m=(t,n=``)=>{let r=e.metadata[t];return typeof r==`string`?r:typeof r==`number`?String(r):n},h=t=>{let n=e.metadata[t];return typeof n==`number`?n:void 0},g=t=>!!e.metadata[t],_=fP(f),v=Object.fromEntries(Object.entries(e.metadata).filter(([e])=>e!==`always`).map(([e,t])=>[pP(e),t]));return(0,$.jsx)(`div`,{className:`group w-full pt-0 pb-2`,children:(0,$.jsx)(`div`,{className:`chat-column`,children:(0,$.jsxs)(`div`,{className:`-mt-1 overflow-hidden border border-border/30 rounded-xl bg-muted/10`,children:[(0,$.jsx)(`div`,{className:`px-2.5 py-2 sm:px-2 sm:py-1.5 border-b border-border/20 bg-muted/5`,children:(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`)}),u?(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:[dP(f),(0,$.jsx)(`span`,{className:`truncate text-xs leading-4 sm:text-[length:var(--text-meta)] text-muted-foreground font-medium`,children:_})]})]})}),(0,$.jsxs)(`div`,{className:`px-2.5 py-2 sm:px-2 [&_.typography-meta]:!text-xs [&_.typography-micro]:!text-[0.6875rem]`,children:[e.patterns.length>0&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:n(`chat.permissionCard.patterns`)}),(0,$.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border/20 bg-muted/15`,children:e.patterns.map((e,t)=>(0,$.jsx)(`code`,{className:Y(`block break-all px-2 py-1.5 text-xs leading-4 sm:text-[length:var(--text-meta)]`,t>0&&`border-t border-border/15`),children:e},`${e}-${t}`))})]}),(()=>{if(p===`bash`||p===`shell`||p===`shell_command`){let e=m(`command`)||m(`cmd`)||m(`script`),t=m(`description`),r=m(`cwd`)||m(`working_directory`)||m(`directory`)||m(`path`),i=h(`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)(Mc,{language:`bash`,code:e,style:lP,codeStyle:uP.style,wrap:!0})})]})}if(p===`edit`||p===`multiedit`||p===`str_replace`||p===`str_replace_based_edit_tool`){let e=m(`path`)||m(`file_path`)||m(`filename`)||m(`filePath`),t=m(`changes`)||m(`diff`),r=g(`replace_all`)||g(`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)(da,{outerClassName:`max-h-[60vh]`,className:`tool-output-surface p-1 rounded-xl border border-border/20 bg-transparent`,children:(0,$.jsx)($N,{diff:t,filePath:e})})]})}if(p===`write`||p===`create`||p===`file_write`){let e=m(`path`)||m(`file_path`)||m(`filename`)||m(`filePath`),t=m(`content`)||m(`text`)||m(`data`);return t?(0,$.jsx)(da,{outerClassName:`max-h-[60vh]`,className:`tool-output-surface p-1 rounded-xl border border-border/20 bg-transparent`,children:(0,$.jsx)(eP,{content:t,filePath:e})}):null}if(p===`webfetch`||p===`fetch`||p===`curl`||p===`wget`){let t=m(`url`)||m(`uri`)||m(`endpoint`),r=m(`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=h(`timeout`),s=m(`format`)||m(`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)(da,{outerClassName:`max-h-32`,className:`p-0`,children:(0,$.jsx)(mP,{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)(da,{outerClassName:`max-h-32`,className:`p-0`,children:typeof a==`object`&&a?(0,$.jsx)(mP,{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(v).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)(da,{outerClassName:`max-h-48`,className:`p-0`,children:(0,$.jsx)(mP,{data:v})})]})})()]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-3 gap-1 border-t border-border/20 px-1.5 py-1.5 sm:flex sm:items-center sm:flex-wrap sm:px-2 sm:py-1`,children:[(0,$.jsxs)(ca,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>d(`once`),disabled:r,className:`h-8 min-w-0 w-full gap-1 px-1 !text-xs leading-4 text-foreground sm:h-6 sm:w-auto sm:px-2`,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)(ca,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>d(`always`),disabled:r,className:`h-8 min-w-0 w-full gap-1 px-1 !text-xs leading-4 text-foreground sm:h-6 sm:w-auto sm:px-2`,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)(ca,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>d(`reject`),disabled:r,className:`h-8 min-w-0 w-full gap-1 px-1 !text-xs leading-4 text-[var(--status-error)] sm:h-6 sm:w-auto sm:px-2`,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`)})]}),r&&(0,$.jsx)(`div`,{className:`col-span-3 flex justify-center w-full sm:w-auto sm:ml-auto py-1 sm:py-0 typography-meta text-muted-foreground`,children:(0,$.jsx)(`div`,{className:`animate-spin h-3 w-3 border border-primary border-t-transparent rounded-full`})})]})]})})})};function gP(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(`
6582
- `).trimEnd()}function _P(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)}function vP({scrollHeight:e,currentHeight:t}){let n=Math.min(Math.max(e,40),200);return t===n?null:n}var yP=`summary`,bP=Z.memo(function(e){let t=(0,Q.c)(31),{value:n,placeholder:r,disabled:i,onValueChange:a,onKeyDown:o}=e,s=Z.useRef(null),[c,l]=Z.useState(n),[u,d]=Z.useState(40),[f,p]=Z.useState(!1),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{let e=s.current;if(!e||document.activeElement!==e)return;let t=e.closest(`.chat-scroll`);if(!t){e.scrollIntoView({block:`nearest`});return}let n=window.visualViewport,r=t.getBoundingClientRect(),i=n?.offsetTop??0,a=n?n.offsetTop+n.height:document.documentElement.clientHeight,o=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(`--oc-kb-scroll-inset`))||0,c=Math.max(r.top,i),l=Math.min(r.bottom,a-o),u=Math.max(0,l-c),d=e.closest(`[data-question-card]`),f=d?.getBoundingClientRect(),p=(d&&f&&f.height<=u?d:e).getBoundingClientRect();p.bottom>l-12?t.scrollTop+=p.bottom-l+12:p.top<c+12&&(t.scrollTop+=p.top-c-12)},t[0]=m):m=t[0];let h=J(m),g;t[1]===h?g=t[2]:(g=()=>{requestAnimationFrame(h)},t[1]=h,t[2]=g);let _=J(g),v;t[3]===h?v=t[4]:(v=()=>{let e=()=>requestAnimationFrame(h);return e(),window.addEventListener(`oc:keyboard-settled`,e),window.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`scroll`,e),()=>{window.removeEventListener(`oc:keyboard-settled`,e),window.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`scroll`,e)}},t[3]=h,t[4]=v);let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],t[5]=y):y=t[5],Z.useEffect(v,y);let b,x;t[6]===n?(b=t[7],x=t[8]):(b=()=>{l(n)},x=[n],t[6]=n,t[7]=b,t[8]=x),Z.useEffect(b,x);let S;t[9]!==u||t[10]!==f?(S=()=>{let e=s.current;if(!e)return;let t=vP({scrollHeight:e.scrollHeight,currentHeight:u}),n=e.scrollHeight>(t??u);f!==n&&p(n),t!==null&&d(t)},t[9]=u,t[10]=f,t[11]=S):S=t[11];let C;t[12]!==u||t[13]!==f||t[14]!==c?(C=[u,f,c],t[12]=u,t[13]=f,t[14]=c,t[15]=C):C=t[15],Z.useLayoutEffect(S,C);let w;t[16]===a?w=t[17]:(w=e=>{let t=e.target.value;l(t),a(t)},t[16]=a,t[17]=w);let T;t[18]===u?T=t[19]:(T={height:u},t[18]=u,t[19]=T);let E=f?`overflow-y-auto`:`overflow-hidden`,D;t[20]===E?D=t[21]:(D=Y(`w-full bg-transparent border border-border/30 focus:border-primary rounded px-2 py-1 outline-none typography-meta text-foreground placeholder:text-muted-foreground/50 transition-colors resize-none`,E),t[20]=E,t[21]=D);let O;return t[22]!==i||t[23]!==_||t[24]!==c||t[25]!==o||t[26]!==r||t[27]!==T||t[28]!==D||t[29]!==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[22]=i,t[23]=_,t[24]=c,t[25]=o,t[26]=r,t[27]=T,t[28]=D,t[29]=w,t[30]=O):O=t[30],O}),xP=({question:e})=>{let{t}=ot(),n=Zn,r=xi,i=s(e=>e.isMobile),a=Nr(),o=Zr(e=>e.currentSessionId),c=Z.useMemo(()=>{if(!o||e.sessionID===o)return!1;let t=a.find(t=>t.id===e.sessionID);return!!(t?.parentID&&t.parentID===o)},[e.sessionID,o,a]),[l,u]=Z.useState(`0`),[d,f]=Z.useState(!1),[p,m]=Z.useState(!1),[h,g]=Z.useState({}),[_,v]=Z.useState({}),y=Z.useRef({}),[b,x]=Z.useState({}),S=Z.useMemo(()=>e.questions??[],[e.questions]),C=l===yP,w=C?-1:Math.max(0,Math.min(S.length-1,Number(l)||0)),T=C?null:S[w],E=Z.useMemo(()=>{if(C)return null;let e=T?.header?.trim();return e&&e.length>0?e:null},[T?.header,C]);Z.useEffect(()=>{u(`0`),g({}),v({}),y.current={},x({}),m(!1)},[e.id]);let D=Z.useMemo(()=>{let e=S.map((e,t)=>({value:String(t),label:e.header?.trim()||`Q${t+1}`}));return S.length>1&&e.push({value:yP,label:t(`chat.questionCard.summaryTab`)}),e},[S,t]),O=Z.useCallback(e=>{if(_[e])return(y.current[e]??``).trim()||t(`chat.questionCard.noAnswer`);let n=h[e]??[];return n.length>0?n.join(`, `):t(`chat.questionCard.noAnswer`)},[_,h,t]),k=!!T?.multiple,A=h[w]??[],j=!!_[w],M=Z.useMemo(()=>{let e=[];for(let t=0;t<S.length;t+=1){if(_[t]){b[t]||e.push(t);continue}(h[t]??[]).length===0&&e.push(t)}return e},[_,b,S.length,h]),N=Z.useMemo(()=>S.length!==0&&M.length===0,[S.length,M.length]),P=Z.useCallback(()=>{if(S.length===0||M.length===0)return;let e=C?-1:w;for(let t=1;t<=S.length;t+=1){let n=(e+t+S.length)%S.length;if(M.includes(n)){u(String(n));return}}u(String(M[0]))},[w,C,S.length,M]),F=Z.useCallback(()=>{let e=[];for(let t=0;t<S.length;t+=1){if(_[t]){let n=(y.current[t]??``).trim();e.push(n?[n]:[]);continue}e.push(h[t]??[])}return e},[_,S.length,h]),I=Z.useCallback(e=>{T&&(v(e=>({...e,[w]:!1})),x(e=>e[w]?{...e,[w]:!1}:e),g(t=>{let n=t[w]??[];if(k){let r=n.includes(e)?n.filter(t=>t!==e):[...n,e];return{...t,[w]:r}}return{...t,[w]:[e]}}))},[w,T,k]),L=Z.useCallback(()=>{v(e=>({...e,[w]:!0})),g(e=>({...e,[w]:[]}));let e=(y.current[w]??``).trim().length>0;x(t=>t[w]===e?t:{...t,[w]:e})},[w]),R=Z.useCallback(e=>{y.current[w]=e;let t=e.trim().length>0;x(e=>e[w]===t?e:{...e,[w]:t})},[w]),z=Z.useCallback(async()=>{if(N){f(!0);try{let t=F();await n(e.sessionID,e.id,t),m(!0)}catch(e){tn(e)?(Tt.info(t(`chat.questionCard.noLongerPending`)),m(!0)):Tt.error(t(`chat.questionCard.submitFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{f(!1)}}},[F,e.id,e.sessionID,N,n,t]),B=Z.useCallback(e=>{Ng(e)||e.key===`Enter`&&!e.shiftKey&&(!i||e.ctrlKey||e.metaKey)&&(e.preventDefault(),N?z():P())},[z,P,i,N]),V=Z.useCallback(async()=>{f(!0);try{await r(e.sessionID,e.id),m(!0)}catch(e){tn(e)?(Tt.info(t(`chat.questionCard.noLongerPending`)),m(!0)):Tt.error(t(`chat.questionCard.dismissFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{f(!1)}},[e.id,e.sessionID,r,t]),H=Z.useCallback(async()=>{let n=gP(e);if((await ct(n)).ok){Tt.success(t(`chat.questionCard.copiedMarkdown`));return}Tt.error(t(`chat.questionCard.copyFailed`))},[e,t]),U=Z.useCallback(async()=>{let n=_P(e);if((await ct(n)).ok){Tt.success(t(`chat.questionCard.copiedJson`));return}Tt.error(t(`chat.questionCard.copyFailed`))},[e,t]);return p||S.length===0?null:(0,$.jsx)(`div`,{className:`group w-full pt-0 pb-2`,children:(0,$.jsx)(`div`,{className:`chat-column`,children:(0,$.jsxs)(`div`,{"data-question-card":!0,className:`-mt-1 border border-border/30 rounded-xl bg-muted/10`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border/20`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`question`,className:`h-3.5 w-3.5 text-primary`}),(0,$.jsx)(`span`,{className:`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,E?(0,$.jsx)(`span`,{className:`ml-auto typography-micro font-medium text-foreground/70 px-1.5 py-0.5 rounded bg-muted/30 border border-border/20`,children:E}):null,(0,$.jsxs)(`div`,{className:Y(`flex items-center gap-0.5`,E?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`})})]})]})}),(0,$.jsxs)(`div`,{className:`px-2 py-2`,children:[D.length>1?(0,$.jsx)(`div`,{className:`flex items-center gap-1 mb-2 flex-wrap`,children:D.map(e=>{let t=l===e.value,n=e.value===yP,r=n?-1:Number(e.value),i=!n&&Number.isFinite(r)&&!M.includes(r);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>u(e.value),className:Y(`px-2 py-0.5 typography-meta font-medium rounded transition-colors flex items-center gap-1`,t?`bg-interactive-selection/40 text-foreground`:n?`text-muted-foreground hover:text-foreground hover:bg-interactive-hover/20`:i?`text-muted-foreground/60 hover:text-muted-foreground hover:bg-interactive-hover/20`:`text-foreground/85 hover:text-foreground hover:bg-interactive-hover/20`),children:[n?(0,$.jsx)(X,{name:`list-check-3`,className:`h-3 w-3`}):null,e.label]},e.value)})}):null,C?(0,$.jsx)(`div`,{className:`space-y-2`,children:S.map((e,n)=>{let r=O(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:Y(`typography-meta`,i?`text-foreground`:`text-muted-foreground/50 italic`),children:r})]},n)})}):T?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-foreground mb-1.5`,children:T.question}),k?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1.5`,children:t(`chat.questionCard.selectMultiple`)}):null,(0,$.jsxs)(`div`,{className:`space-y-0.5`,children:[T.options.map((e,n)=>{let r=A.includes(e.label),i=/\(recommended\)/i.test(e.label);return(0,$.jsx)(`button`,{type:`button`,onClick:()=>I(e.label),disabled:d,className:Y(`w-full px-1.5 py-1 text-left rounded transition-colors`,`hover:bg-interactive-hover/30`,r?`bg-interactive-selection/20`:null,d?`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`,children:k?(0,$.jsx)(ha,{checked:r,onChange:()=>I(e.label),disabled:d}):(0,$.jsx)(so,{checked:r,onChange:()=>I(e.label),disabled:d})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:Y(`typography-meta break-all`,r?`text-foreground font-medium`:`text-foreground/80`),children:e.label}),i?(0,$.jsx)(`span`,{className:`typography-micro text-primary/80`,children:t(`chat.questionCard.recommended`)}):null]}),e.description?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground break-words`,children:e.description}):null]})]})},`${n}:${e.label}`)}),(0,$.jsx)(`button`,{type:`button`,onClick:L,disabled:d,className:Y(`w-full px-1.5 py-1 text-left rounded transition-colors`,`hover:bg-interactive-hover/30`,j?`bg-interactive-selection/20`:null,d?`opacity-60 cursor-not-allowed`:null),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`edit`,className:Y(`h-3.5 w-3.5`,j?`text-primary`:`text-muted-foreground/50`)}),(0,$.jsx)(`span`,{className:Y(`typography-meta`,j?`text-foreground font-medium`:`text-muted-foreground`),children:t(`chat.questionCard.other`)})]})}),j?(0,$.jsx)(`div`,{className:`pl-6 pr-1 pt-0.5`,children:(0,$.jsx)(bP,{value:y.current[w]??``,onValueChange:R,placeholder:t(`chat.questionCard.yourAnswer`),disabled:d,onKeyDown:B})}):null]})]}):null]}),(0,$.jsxs)(`div`,{className:`px-2 pb-1.5 pt-1 flex items-center gap-1.5 border-t border-border/20`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:N?z:P,disabled:d,className:Y(`flex 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:[N?(0,$.jsx)(X,{name:`check`,className:`h-3 w-3`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3`}),t(N?`chat.questionCard.submit`:`chat.questionCard.next`)]}),(0,$.jsxs)(`button`,{type:`button`,onClick:V,disabled:d,className:Y(`flex 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`)]}),d?(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]})]})})})};function SP(e){return e.filter(e=>e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
6583
- `)}function CP(e,t=80){let n=SP(e).replace(/\n/g,` `);return n.length>t?`${n.slice(0,t)}…`:n}var wP=160,TP=28,EP=12,DP=6,OP=30,kP=12,AP=18,jP=80,MP=4,NP=10,PP=14,FP=20,IP=54,LP=4,RP=8,zP=2,BP=160,VP=(e,t)=>e.map(e=>({turnId:e,preview:CP(t.get(e)??[],wP)})),HP=[1,.6,.35,.15],UP=(e,t,n)=>{let r=n?PP:NP;if(t===null)return r;let i=HP[Math.abs(e-t)]??0;return Math.round(r+(FP-r)*i)};function WP({turnIds:e,previewsByTurnId:t,activeTurnId:n,onSelectTurn:r,canLoadEarlier:i,isLoadingOlder:a,onLoadEarlier:o}){let{t:c}=ot(),l=s(e=>e.isPromptNavigatorPanelOpen),u=s(e=>e.setPromptNavigatorPanelOpen),d=Z.useRef(null),f=Z.useRef(null),[p,m]=Z.useState(null),[h,g]=Z.useState(0),[_,v]=Z.useState(!1);Z.useEffect(()=>{let e=f.current?.parentElement;if(!e||typeof ResizeObserver>`u`)return;let t=()=>{let t=e.querySelector(`.chat-message-column`);if(!t){v(!1);return}let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-DP-TP;v(r.right>i)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let y=Z.useMemo(()=>VP(e,t),[t,e]),b=Math.min(y.length,OP),x=Math.max(0,y.length-b),S=Math.min(h,x),C=S+b,w=S>0,T=C<y.length,E=c(`chat.timeline.noTextContent`),D=c(`chat.promptNavigator.currentPrompt`),O=c(`chat.promptNavigator.loadMore`),k=Z.useMemo(()=>n?y.findIndex(e=>e.turnId===n):-1,[n,y]),A=Z.useRef(S);A.current=S;let j=Z.useRef(y.length);j.current=y.length;let M=Z.useRef(null),N=Z.useRef(null),P=Z.useRef(0),F=Z.useCallback(e=>{g(t=>{let n=j.current,r=Math.min(n,OP),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})},[]),I=Z.useRef(y[0]?.turnId),L=Z.useRef(y.length);Z.useLayoutEffect(()=>{let e=I.current,t=L.current,n=y.length-t;n>0&&t>0&&e&&y[0]?.turnId!==e&&(g(e=>e+n),m(e=>e===null?null:e+n)),I.current=y[0]?.turnId,L.current=y.length},[y]),Z.useEffect(()=>{if(p!==null)return;let e=k>=0?k:y.length-1;g(()=>{let t=j.current,n=Math.min(t,OP),r=Math.max(0,t-n);return Math.max(0,Math.min(r,e-Math.floor(n/2)))})},[k,p,y.length]);let R=Z.useCallback(e=>{let t=d.current;if(!t)return null;let n=t.getBoundingClientRect(),r=Math.floor((e-n.top)/kP),i=Math.min(j.current,OP);return i===0?null:Math.max(0,Math.min(i-1,r))},[]),z=Z.useCallback(()=>{P.current=0,N.current!==null&&(window.clearInterval(N.current),N.current=null)},[]),B=Z.useCallback(()=>{let e=P.current;if(e===0){z();return}let t=j.current,n=Math.max(0,t-Math.min(t,OP)),r=Math.min(A.current,n),i=Math.max(0,Math.min(n,r+e));if(i===r){z();return}A.current=i,g(i);let a=M.current;if(a!==null){let e=R(a);e!==null&&m(Math.min(t-1,i+e))}},[R,z]),V=Z.useCallback(e=>{let t=d.current;if(!t)return;let n=t.getBoundingClientRect(),r=e-n.top,i=0;if(r<=AP&&w?i=-1:r>=n.height-AP&&T&&(i=1),P.current=i,i===0){z();return}N.current===null&&(N.current=window.setInterval(B,jP))},[B,w,T,z]);Z.useEffect(()=>()=>{N.current!==null&&window.clearInterval(N.current)},[]);let H=Z.useRef(null),U=Z.useCallback(()=>{H.current!==null&&(window.clearTimeout(H.current),H.current=null)},[]),W=Z.useCallback(()=>{U(),H.current=window.setTimeout(()=>{H.current=null,m(null)},BP)},[U]);Z.useEffect(()=>()=>{H.current!==null&&window.clearTimeout(H.current)},[]);let ee=Z.useCallback(e=>{U(),M.current=e.clientY;let t=R(e.clientY);t!==null&&m(Math.min(j.current-1,A.current+t)),V(e.clientY)},[U,R,V]),G=Z.useCallback(()=>{M.current=null,z(),W()},[W,z]),K=Z.useCallback(()=>{u(!1)},[u]),q=Z.useCallback(e=>{if(e===null)return;let t=y[e];t&&(r(t.turnId),z(),m(null),K(),d.current?.blur())},[K,r,y,z]),te=Z.useCallback(e=>{let t=R(e.clientY);t!==null&&q(Math.min(y.length-1,A.current+t))},[q,y.length,R]);Z.useEffect(()=>{if(!l)return;let e=d.current;!e||e===document.activeElement||(e.focus(),m(e=>{if(e!==null)return e;let t=k>=0?k:y.length-1;return F(t),t}))},[k,F,l,y.length]),Z.useEffect(()=>()=>{u(!1)},[u]);let ne=Z.useCallback(e=>{if(y.length===0)return;let t=p??(k>=0?k:y.length-1),n=e=>{let t=Math.max(0,Math.min(y.length-1,e));F(t),m(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(y.length-1);return}if(e.key===`Enter`||e.key===` `){e.preventDefault(),q(t);return}e.key===`Escape`&&(e.preventDefault(),m(null),K(),d.current?.blur())},[k,K,F,q,p,y.length]),re=Z.useCallback(()=>{z(),m(null),K()},[K,z]),ie=Z.useRef(null),ae=Z.useRef(p);ae.current=p;let oe=p!==null,se=Z.useRef(0);Z.useEffect(()=>{let e=ie.current;if(!e)return;let t=e=>{e.preventDefault(),e.stopPropagation(),se.current+=e.deltaY;let t=Math.trunc(se.current/IP);if(t===0)return;se.current-=t*IP;let n=ae.current;if(n===null)return;let r=Math.max(0,Math.min(j.current-1,n+t));r!==n&&(F(r),m(r))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[F,oe]);let ce=p===null?void 0:y[p],le=Math.min(y.length,RP),ue=le*IP,de=y.length*IP-ue,fe=e=>Math.max(0,Math.min(de,e)),pe=Z.useRef(null),me=0;if(p===null)pe.current=null;else if(pe.current===null)me=fe(p*IP-(ue-IP)/2),pe.current=me;else{let e=pe.current,t=(p-zP)*IP,n=(p+1+zP)*IP-ue;e>t?e=t:e<n&&(e=n),me=fe(e),pe.current=me}let he=Math.floor(me/IP),ge=Math.max(0,he-MP),_e=Math.min(y.length,he+le+MP),ve=me>0,ye=me<de,be=ve||ye?`linear-gradient(to bottom, ${ve?`transparent, black 10%`:`black`}, ${ye?`black 90%, transparent`:`black`})`:void 0,xe=Math.max(0,S-MP),Se=Math.min(y.length,C+MP),Ce=y.slice(xe,Se),we=w||T?`linear-gradient(to bottom, ${w?`transparent, black 14%`:`black`}, ${T?`black 86%, transparent`:`black`})`:void 0;return y.length===0?null:(0,$.jsx)(`nav`,{ref:f,"aria-label":c(`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:Y(`-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":O,title:O,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:d,role:`listbox`,tabIndex:-1,"aria-activedescendant":ce?`prompt-rail-tick-${ce.turnId}`:void 0,className:`relative cursor-pointer outline-none`,style:{width:`${_?EP:TP}px`,height:`${b*kP}px`},onMouseMove:ee,onMouseLeave:G,onClick:te,onKeyDown:ne,onBlur:re,children:[(0,$.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,style:we?{maskImage:we,WebkitMaskImage:we}:void 0,children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-300 ease-out`,style:{transform:`translateY(-${S*kP}px)`},children:Ce.map((e,t)=>{let r=xe+t,i=e.turnId===n,a=p===r,o=UP(r,p,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()||E,className:`pointer-events-none absolute right-1 flex items-center justify-end`,style:{top:`${r*kP}px`,height:`${kP}px`},children:(0,$.jsx)(`span`,{"aria-hidden":`true`,className:Y(`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)})},y[0]?.turnId)}),ce&&p!==null?(0,$.jsx)(`div`,{ref:ie,className:Y(`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:U,onMouseLeave:W,onMouseMove:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,$.jsx)(`div`,{className:`relative overflow-hidden`,style:{height:`${le*IP}px`,maskImage:be,WebkitMaskImage:be},children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-200 ease-out`,style:{height:`${y.length*IP}px`,transform:`translateY(-${me}px)`},children:y.slice(ge,_e).map((e,t)=>{let r=ge+t,i=e.turnId===n,a=p===r;return(0,$.jsx)(`div`,{role:`option`,"aria-selected":a,"aria-current":i?`true`:void 0,title:i?D:void 0,className:`absolute inset-x-0 cursor-pointer px-1.5`,style:{top:`${r*IP+LP}px`,height:`46px`},onMouseMove:()=>{U(),ae.current!==r&&(F(r),m(r))},onClick:()=>q(r),children:(0,$.jsx)(`div`,{className:Y(`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:Y(`min-w-0 flex-1 line-clamp-2 [overflow-wrap:anywhere] typography-meta`,i?`text-[var(--interactive-selectionForeground)]`:`text-[var(--surface-mutedForeground)]`),children:e.preview.trim()||E})})},e.turnId)})})})}):null]})]})})}var GP=100,KP=(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},qP=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=KP(p,t.scrollTop+GP);!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}},JP=10,YP=`${JP}vh`,XP=`80px`,ZP=`calc(${XP} + var(--oc-chat-foot-inset))`,QP=(e,t)=>e?80:t<=0?96:Math.max(48,JP/100*t),$P=e=>{if(e.altKey||e.ctrlKey||e.metaKey)return!1;switch(e.key){case`ArrowUp`:case`PageUp`:case`Home`:return!0;default:return!1}},eF=(e,t)=>{let n=t instanceof Element?t:t instanceof Node?t.parentElement:null;for(;n&&n!==e;){if(n instanceof HTMLElement&&n.scrollTop>0&&n.scrollHeight>n.clientHeight+1)return!0;n=n.parentElement}return!1},tF=e=>{let t=(0,Q.c)(15),{scrollRef:n,enabled:r,onUpwardIntent:i}=e,a=r===void 0||r,o=Z.useRef(null),s;t[0]===i?s=t[1]:(s=()=>{i()},t[0]=i,t[1]=s);let c=J(s),l;t[2]!==c||t[3]!==n?(l=e=>{let t=n.current;t&&(e.deltaY>=0||t instanceof HTMLElement&&(eF(t,e.target)||c()))},t[2]=c,t[3]=n,t[4]=l):l=t[4];let u=J(l),d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>{let t=e.touches.item(0);o.current=t?t.clientY:null},t[5]=d):d=t[5];let f=J(d),p;t[6]!==c||t[7]!==n?(p=e=>{let t=n.current,r=e.touches.item(0);if(!r){o.current=null;return}let i=o.current;o.current=r.clientY,i!==null&&(r.clientY-i<=2||!t||!(t instanceof HTMLElement)||eF(t,e.target)||c())},t[6]=c,t[7]=n,t[8]=p):p=t[8];let m=J(p),h;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{o.current=null},t[9]=h):h=t[9];let g=J(h),_;t[10]===c?_=t[11]:(_=e=>{$P(e)&&c()},t[10]=c,t[11]=_);let v=J(_),[y,b]=Z.useState(null),x;t[12]===n?x=t[13]:(x=()=>{let e=n.current??null;b(t=>t===e?t:e)},t[12]=n,t[13]=x),Z.useEffect(x);let S=a&&y?y:nF,C;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(C={passive:!0},t[14]=C):C=t[14];let w=C;it(`wheel`,u,S,w),it(`touchstart`,f,S,w),it(`touchmove`,m,S,w),it(`touchend`,g,S,w),it(`touchcancel`,g,S,w),it(`keydown`,v,S)};function nF(){}var rF=(e,t)=>({sessionId:e,viewportKey:t}),iF=(e,t)=>e?.sessionId===t?.sessionId&&e?.viewportKey===t?.viewportKey,aF=(e,t)=>iF(e,t),oF=(e,t,n)=>({identity:e,anchor:t,scrollPosition:n}),sF=150,cF=1500,lF=2,uF=350,dF=600,fF=8e3,pF=24,mF=2,hF=(e,t)=>e<t,gF=()=>typeof performance<`u`?performance.now():Date.now(),_F=e=>({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}),vF=e=>e.scrollHeight-e.scrollTop-e.clientHeight,yF=e=>vF(_F(e)),bF=e=>e.scrollHeight-e.clientHeight>1,xF=(e,t)=>vF(e)<=QP(t,e.clientHeight),SF=({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(rF(t,n));C.current=rF(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=J(()=>{P.current=gF()+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),H=Z.useRef(null),U=Z.useRef(null),W=Z.useRef(null),ee=Mn(e=>e.updateViewportAnchor);Z.useLayoutEffect(()=>{c.current!==d.current&&(d.current=c.current,u(c.current))});let G=J(e=>{b.current!==e&&(b.current=e,p(e))}),K=J(e=>{T.current={top:Math.max(0,e.scrollHeight-e.clientHeight),time:gF()},E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{T.current=null,E.current=null},cF)}),q=J(e=>{let t=T.current;return t?gF()-t.time>cF?(T.current=null,!1):Math.abs(e.scrollTop-t.top)<lF:!1}),te=J(()=>gF()<A.current),ne=J(()=>{L.current=!1,R.current&&=(clearTimeout(R.current),null),z.current&&=(clearTimeout(z.current),null)}),re=J(()=>{R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{R.current=null,ne()},dF)}),ie=J(()=>{let e=c.current;e&&(L.current=!0,B.current=e.scrollHeight,re(),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{z.current=null,ne()},fF))}),ae=J(e=>{let t=c.current;if(!t){h(!1),_(!1);return}let n=e??_F(t),r=bF(n);if(h(r),!r){_(!1);return}let i=b.current===`released`&&!xF(n,x.current);_(i)}),oe=J(()=>{D.current+=1,O.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(O.current),O.current=null),k.current?.(),k.current=null});Z.useEffect(()=>()=>oe(),[l]);let se=J(()=>{if(!e)return;let t=c.current;if(!t)return;oe();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=()=>{K(t),t.scrollTop=t.scrollHeight,I.current=t.scrollTop};if(a(),ae(),typeof window>`u`)return;let o=0,s=()=>{hF(gF(),P.current)||oe()};t.addEventListener(`touchstart`,s,{passive:!0,once:!0}),k.current=()=>t.removeEventListener(`touchstart`,s);let l=()=>{if(n===D.current){if(yF(t)>mF&&a(),o+=1,o>=pF){O.current=null,k.current?.(),k.current=null,ae();return}O.current=window.requestAnimationFrame(l)}};O.current=window.requestAnimationFrame(l)}),ce=J(e=>{let t=c.current;if(t){if(K(t),e===`smooth`){t.scrollTo({top:t.scrollHeight,behavior:e});return}t.scrollTop=t.scrollHeight}}),le=J((t,n=`auto`)=>{if(!e)return;let r=c.current;if(t&&b.current!==`following`&&G(`following`),r&&!(!t&&b.current!==`following`)){if(yF(r)<lF){K(r);return}ce(t?n:`auto`)}}),ue=J(e=>{let t=c.current;if(!t)return;let n=e??_F(t);if(!bF(n)){G(`following`);return}b.current!==`released`&&(G(`released`),ae(n))}),de=J((e=`instant`)=>{if(V.current=!1,G(`following`),ne(),e===`instant`){se();return}oe(),le(!0,`smooth`),ae()}),fe=J(()=>{V.current=!1,le(!0)}),pe=J(()=>{oe(),ne(),G(`released`),ae()}),me=J(()=>{V.current=!0,pe()}),he=J(()=>{V.current=!1}),ge=Z.useRef(s);ge.current=s;let _e=J(()=>{hF(gF(),P.current)||(oe(),ne(),ue())}),ve=J(()=>{_e(),ge.current?.()}),ye=J(()=>{H.current!==null&&(clearTimeout(H.current),H.current=null);let e=U.current;if(e){if(!e.identity.sessionId){U.current=null;return}ee(e.identity.sessionId,e.anchor,e.scrollPosition,e.identity.viewportKey),U.current=null}}),be=J(()=>{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);U.current=oF(e,o,{scrollTop:n,scrollHeight:r,clientHeight:i}),H.current===null&&(H.current=setTimeout(()=>{H.current=null,ye()},sF))}),xe=J(()=>{ye()}),Se=J(async(e=C.current)=>{if(!e.sessionId)return!1;V.current=!1;let t=Ui(e.sessionId,e.viewportKey);return c.current?(W.current=null,I.current=t?.scrollPosition?.scrollTop??0,G(`following`),F(),x.current?se():le(!0),ie(),ae(),!1):(W.current=e,G(`following`),!1)});Z.useEffect(()=>{let e=C.current,n=w.current;iF(e,n)||(ye(),oe(),F(),w.current=e,T.current=null,I.current=0,ne(),V.current=!1,G(`following`),W.current=null,t&&t!==n?.sessionId&&Hx.getInstance().recordSessionStart(t))},[t,n]),Z.useEffect(()=>{i&&!V.current&&b.current===`following`&&le(!0)},[i]),Z.useEffect(()=>{y(f===`following`&&i)},[f,i]),Z.useLayoutEffect(()=>{if(!l)return;let e=W.current;e&&aF(e,C.current)&&Se(e)},[l,t,n]);let Ce=J(()=>{let e=c.current;if(!e)return;let t=_F(e),n=I.current;I.current=t.scrollTop;let r=t.scrollTop>n+.5,i=Math.abs(t.scrollTop-n)<.5;if(ae(t),V.current){be();return}if(!bF(t)){G(`following`);return}if(xF(t,x.current)){let e=vF(t)<=lF;(r||b.current===`following`||e)&&G(`following`),be();return}if(b.current===`following`&&(q(e)||te()||i)){j.current||le(!1),be();return}ue(t),be()});Z.useEffect(()=>{!e||!l||(I.current=l.scrollTop)},[l,e]);let we=Z.useRef(null),Te=J(e=>{let t=c.current;t&&(e.deltaY>=0||eF(t,e.target)||ve())}),Ee=J(e=>{let t=e.touches.item(0);we.current=t?t.clientY:null}),De=J(e=>{let t=c.current,n=e.touches.item(0);if(!n){we.current=null;return}let r=we.current;we.current=n.clientY,r!==null&&(n.clientY-r<=2||t&&(eF(t,e.target)||ve()))}),Oe=J(()=>{we.current=null}),ke=J(e=>{$P(e)&&ve()}),Ae=J(e=>{let t=e.target;t instanceof Element&&t.closest(`[data-overlay-scrollbar-thumb]`)&&_e()}),je=Z.useMemo(()=>()=>void 0,[]),Me=e&&l?l:je,Ne=Z.useMemo(()=>({passive:!0}),[]);it(`scroll`,Ce,Me,Ne),it(`wheel`,Te,Me,Ne),it(`touchstart`,Ee,Me,Ne),it(`touchmove`,De,Me,Ne),it(`touchend`,Oe,Me,Ne),it(`touchcancel`,Oe,Me,Ne),it(`keydown`,ke,Me),it(`pointerdown`,Ae,e&&typeof window<`u`?window:je,!0);let Pe=J(()=>{let e=c.current;if(j.current){ae(e?_F(e):void 0);return}if(V.current){ae(e?_F(e):void 0);return}if(!e){ae(void 0);return}let t=_F(e);if(!bF(t)){G(`following`),ae(t);return}if(ae(t),L.current){let n=t.scrollHeight>B.current+1;B.current=t.scrollHeight,vF(t)<=lF?K(e):le(!0),n&&re();return}if(b.current===`following`){if(vF(t)<=lF){K(e);return}le(!1)}}),Fe=typeof ResizeObserver<`u`,Ie=Fe&&e?l:null,Le=Fe&&e&&l&&l.firstElementChild instanceof Element?l.firstElementChild:null;at(Ie,Pe),at(Le,Pe);let Re=J(()=>{N.current!==null&&(clearTimeout(N.current),N.current=null)}),ze=J(e=>{j.current=!0,typeof e==`number`&&e>0?A.current=gF()+e+uF:A.current=Math.max(A.current,gF()+uF)}),Be=J(e=>{let t=e.detail;if(t){if(t.open===!0){ze(),Re(),N.current=setTimeout(()=>{N.current=null,M.current||(j.current=!1)},1500);return}Re(),ze()}}),Ve=J(e=>{let t=e.detail;t&&(Re(),ze(t.durationMs))}),He=J(e=>{let t=e.detail;Re(),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)},uF)),ae()}),Ue=e&&typeof window<`u`?window:je;it(`oc:keyboard-intent`,Be,Ue),it(`oc:keyboard-anim`,Ve,Ue),it(`oc:keyboard-settled`,He,Ue),Z.useEffect(()=>{if(!(!e||typeof window>`u`))return()=>{Re(),j.current=!1,M.current=!1}},[e]),Z.useEffect(()=>{e&&ae()},[e,r]);let We=J(t=>{if(e){if(t===`animation`&&(A.current=gF()+uF),ae(),L.current){le(!0),re();return}b.current===`following`&&le(!1)}}),Ge=Z.useRef(new Map),Ke=J(t=>{let n=Ge.current.get(t);if(n)return n;let r=()=>{e&&b.current===`following`&&le(!1)},i={onChunk:r,onComplete:()=>{e&&ae()},onStreamingCandidate:()=>{},onAnimationStart:()=>{},onAnimatedHeightChange:r,onReservationCancelled:()=>{},onReasoningBlock:()=>{}};return Ge.current.set(t,i),i});Z.useEffect(()=>()=>{E.current&&=(clearTimeout(E.current),null),oe(),ne(),ye(),H.current!==null&&(clearTimeout(H.current),H.current=null)},[]);let qe=J(e=>{o?.(e)}),Je=!!o;return Z.useEffect(()=>{if(!e||!Je)return;let t=l;if(!t)return;let n=null,r=qP({onActive:e=>{e!==n&&(n=e,qe(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,Je]),{scrollRef:c,state:f,isPinned:f===`following`,isOverflowing:m,isFollowingProgrammatically:v,showScrollButton:g,notifyContentChange:We,getAnimationHandlers:Ke,goToBottom:de,scrollToBottomOnSend:fe,releaseAutoFollow:pe,beginHistoryViewportPreservation:me,endHistoryViewportPreservation:he,saveSnapshotNow:xe,restoreSnapshot:Se}},CF=`--oc-mobile-composer-swap`,wF=`--oc-native-composer-dock`,TF=()=>({phase:`rest`,rest:`expanded`,progress:0,pinned:!1}),EF=(e,t,n)=>Math.min(n,Math.max(t,e)),DF=(e,t)=>e.phase===t.phase&&e.rest===t.rest&&e.progress===t.progress&&e.pinned===t.pinned,OF=(e,t)=>{let n={phase:t.phase,rest:t.rest,progress:t.progress,pinned:t.pinned??e.pinned};return DF(e,n)?e:n},kF=(e,t)=>t?OF(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0}):e.pinned?OF(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!1}):e,AF=(e,t)=>{if(e.pinned&&t===`compact`)return e;let n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:OF(e,{phase:`snapping`,rest:t,progress:n})},jF=e=>EF(e/80,0,1),MF=e=>e>=80?1:EF(e/80,0,1),NF=(e,t,n={})=>{if(e.pinned)return e;let r=Math.max(0,t),i=e.phase===`snapping`?OF(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e;if(i.rest===`expanded`){if(r<=2||n.holdExpanded||n.userDriven===!1)return OF(i,{phase:`rest`,rest:`expanded`,progress:0});let e=jF(r);return e>=1?OF(i,{phase:`rest`,rest:`compact`,progress:1}):OF(i,{phase:`tracking`,rest:`expanded`,progress:e})}if(r<=2)return OF(i,{phase:`rest`,rest:`expanded`,progress:0});if(n.suppressReturn)return OF(i,{phase:`rest`,rest:`compact`,progress:1});if(n.towardBottom&&r>=80)return OF(i,{phase:`snapping`,rest:`expanded`,progress:0});let a=MF(r);return a>=1?OF(i,{phase:`rest`,rest:`compact`,progress:1}):OF(i,{phase:`tracking`,rest:`compact`,progress:a})},PF=e=>e.pinned?`expanded`:e.rest===`expanded`?e.progress>=.5?`compact`:`expanded`:e.progress<=.5?`expanded`:`compact`,FF=e=>{if(e.pinned)return OF(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0});if(e.phase===`snapping`)return e;let t=PF(e),n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:OF(e,{phase:`snapping`,rest:t,progress:n})},IF=e=>e.phase===`snapping`?OF(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e,LF=e=>EF(Math.max(0,e)/80,0,1),RF=(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:LF(n),rest:`bottom`}},zF=e=>{e.style.removeProperty(CF),e.style.removeProperty(wF),delete e.dataset.ocComposerSwapPhase,delete e.dataset.ocComposerSwapRest,delete e.dataset.ocNativeComposerDock},BF=(e,t,n)=>{let r=RF(t,n?.rest===`bottom`?`bottom`:`away`),i=String(r.progress),a=r.rest;return n?.progress!==i&&e.style.setProperty(wF,i),n?.rest!==a&&(e.dataset.ocNativeComposerDock=a),{progress:i,rest:a}},VF=(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(CF,r),n?.rest!==a&&(e.dataset.ocComposerSwapRest=a),{progress:r,phase:i,rest:a}},HF=e=>({scrollHeight:e.scrollHeight,scrollTop:e.scrollTop,clientHeight:e.clientHeight}),UF=()=>{let e=document.documentElement;return e.classList.contains(`oc-keyboard-open`)||e.classList.contains(`oc-kb-animating`)},WF=e=>{if(UF()||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)},GF=e=>{let t=Z.useRef(TF()),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(0),u=Z.useRef(null),d=Z.useRef(0),f=Z.useRef(0),p=Z.useRef(!1),m=Z.useRef(e.enabled);m.current=e.enabled;let h=e=>{e.current!==null&&(window.clearTimeout(e.current),e.current=null)},g=J(t=>{let r=e.scopeRef.current;r&&(n.current=VF(r,t,n.current))}),_=J(e=>{e!==t.current&&(t.current=e,g(e))}),v=J(()=>{if(h(a),t.current.phase!==`snapping`)return;let e=t.current.rest;a.current=window.setTimeout(()=>{a.current=null;let n=IF(t.current);_(n),n.rest===`compact`&&e===`compact`&&(o.current=Date.now()+320,s.current=!0)},240)}),y=J(()=>{let n=e.scopeRef.current;!n||!m.current||_(kF(t.current,WF(n)))}),b=J(e=>s.current?Date.now()>=o.current?(s.current=!1,!1):e>=80?(s.current=!1,o.current=0,!1):!0:!1),x=J(()=>{if(h(i),!m.current||c.current>0||t.current.phase!==`tracking`)return;let e=FF(t.current);_(e),v()}),S=J(()=>{m.current&&(l.current=Date.now())}),C=J(()=>{m.current&&(l.current=Date.now(),c.current+=1,h(i))}),w=J(()=>{if(!m.current)return;let n=e.scrollRef.current,a=e.scopeRef.current;if(!n||!a)return;let o=WF(a),s=HF(n),g=Bj(s,Rj(n)),y=u.current;if(u.current=g,n.hasAttribute(`data-oc-timeline-anchoring`)){d.current=0,f.current=0;return}r.current=BF(a,g,r.current);let S=c.current>0||Date.now()-l.current<=1200,C=y===null?0:y-g;S?C>0?(f.current=0,s.scrollTop>0&&(d.current+=C)):C<0&&(d.current=0,f.current+=-C,f.current>=24&&(p.current=!1)):(d.current=0,f.current=0),g<=2&&(p.current=!1);let w=kF(t.current,o);if(!o){let e=w.rest===`compact`;w=NF(w,g,{suppressReturn:b(g),towardBottom:d.current>=24,holdExpanded:p.current,userDriven:S}),e&&w.rest===`expanded`&&g>2&&(p.current=!0,d.current=0)}if(_(w),h(i),w.phase===`snapping`){v();return}w.phase===`tracking`&&c.current===0&&(i.current=window.setTimeout(()=>{i.current=null,x()},120))}),T=J(()=>{x()}),E=J(()=>{m.current&&(l.current=Date.now(),c.current=Math.max(0,c.current-1),!(c.current>0)&&t.current.phase===`tracking`&&(h(i),i.current=window.setTimeout(()=>{i.current=null,x()},120)))}),D=J(()=>{let t=e.scopeRef.current;if(!t||typeof window>`u`)return;let n=e=>{e.preventDefault(),e.stopPropagation()};t.addEventListener(`pointerup`,n,!0),t.addEventListener(`click`,n,!0),window.setTimeout(()=>{t.removeEventListener(`pointerup`,n,!0),t.removeEventListener(`click`,n,!0)},240)}),O=J(n=>{if(!m.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(),p.current=!0,d.current=0,f.current=0,_(AF(t.current,`expanded`)),v(),D(),(e.scopeRef.current?.querySelector(`textarea[data-chat-input="true"]`))?.focus({preventScroll:!0})))}),[k,A]=Z.useState(null),[j,M]=Z.useState(null),N=Z.useRef(null),P=J(e=>{e&&zF(e),n.current=void 0,r.current=void 0,s.current=!1,o.current=0,c.current=0,l.current=0,u.current=null,d.current=0,f.current=0,p.current=!1,_(TF())});Z.useLayoutEffect(()=>{let t=e.enabled?e.scrollRef.current:null,n=e.enabled?e.scopeRef.current:null;N.current&&N.current!==n&&P(N.current),N.current=n,A(e=>e===t?e:t),M(e=>e===n?e:n)});let F=Z.useMemo(()=>()=>void 0,[]),I=e.enabled&&k?k:F,L=e.enabled&&j?j:F,R=e.enabled&&typeof window<`u`?window:F,z=Z.useMemo(()=>({passive:!0}),[]);it(`scroll`,w,I,z),it(`scrollend`,T,I,z),it(`touchstart`,C,I,z),it(`touchmove`,S,I,z),it(`touchend`,E,I,z),it(`touchcancel`,E,I,z),it(`pointerdown`,O,L),it(`focusin`,y,L),it(`focusout`,y,L),it(`oc:keyboard-intent`,y,R),it(`oc:keyboard-anim`,y,R),it(`oc:keyboard-settled`,y,R),Z.useEffect(()=>{if(!e.enabled){P(N.current),N.current=null;return}return y(),w(),()=>{h(i),h(a)}},[e.enabled,k,j])},KF=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},qF=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},JF=e=>{if(!e)return null;let t=KF(e);return`${typeof e.info?.id==`string`?e.info.id:``}::${t}::${qF(e)??``}`},YF=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}),XF=(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&&JF(t[r])===JF(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=KF(r),a=r.info.id,o=YF(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=qF(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},ZF=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=KF(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=qF(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}},QF=200,$F={MAX_SESSIONS:3,ZOMBIE_TIMEOUT:6e5},eI=()=>QF,tI=()=>Math.round(eI()*.6),nI={MAX_SESSIONS:$F.MAX_SESSIONS,VIEWPORT_MESSAGES:Math.round(QF*.6),HISTORICAL_MESSAGES:QF,FETCH_BUFFER:20,HISTORY_CHUNK:QF,STREAMING_BUFFER:1/0,ZOMBIE_TIMEOUT:$F.ZOMBIE_TIMEOUT},rI=()=>{let e=eI(),t=tI();return{...nI,HISTORICAL_MESSAGES:e,VIEWPORT_MESSAGES:t,HISTORY_CHUNK:e}},iI=nI,aI=600,oI=6e3,sI=.5,cI=(e,t)=>e.querySelector(`[data-message-id="${CSS.escape(t)}"]`),lI=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},uI=(e,t)=>{let n=cI(e,t);if(n||=lI(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}},dI=e=>{let{container:t,quiesceMs:n=aI,maxLifetimeMs:r=oI}=e,i={messageId:e.anchor.messageId,offsetTop:e.anchor.offsetTop},a=!1,o=null,s=null,c=!1,l=t.scrollTop,u=()=>{o!==null&&(clearTimeout(o),o=null)},d=()=>{s!==null&&(clearTimeout(s),s=null)},f=()=>{a||(a=!0,y.disconnect(),t.removeEventListener(`scroll`,v),u(),d())},p=()=>{u(),!a&&(o=setTimeout(()=>{o=null,f()},n))},m=()=>{d(),!a&&(s=setTimeout(()=>{s=null,f()},r))},h=()=>{if(a)return;let e=uI(t,i.messageId);if(!e){f();return}i.messageId=e.messageId,i.offsetTop=e.offsetTop,l=t.scrollTop},g=()=>{if(a)return;if(Math.abs(t.scrollTop-l)>sI){h();return}let e=cI(t,i.messageId);if(!e){let n=lI(t);if(!n){f();return}let r=n.dataset.messageId;if(!r){f();return}let a=t.getBoundingClientRect();i.messageId=r,i.offsetTop=n.getBoundingClientRect().top-a.top,e=n,l=t.scrollTop}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect().top-n.top-i.offsetTop;Math.abs(r)>sI&&(t.scrollTop+=r),l=t.scrollTop},_=()=>{a||c||(c=!0,queueMicrotask(()=>{c=!1,g()}))},v=()=>{h(),p(),m()},y=new MutationObserver(()=>{a||(_(),p())});return y.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`style`,`class`]}),t.addEventListener(`scroll`,v,{passive:!0}),m(),p(),{rebase:h,dispose:f}},fI=30,pI=1200,mI=1.5,hI=e=>Math.max(pI,e*mI),gI=4,_I=30,vI=4,yI=30,bI=250,xI=2e3,SI=wn+2e3,CI=40,wI=`history-loading-timeout`,TI=e=>!!(e&&typeof e==`object`&&e.code===`history-loading-timeout`),EI=()=>{let e=Error(`chat history pagination wait timed out`);return e.code=wI,e},DI=(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)},OI=2500,kI=new Map,AI=()=>d()?gI:bt()?vI:fI,jI=e=>d()?e.length<=_I:!bt()||e.length<=yI,MI=(e,t)=>{if(kI.delete(e),!jI(t.messages))return;let n=AI();for(;kI.size>=n;){let e=kI.keys().next().value;if(typeof e!=`string`)break;kI.delete(e)}kI.set(e,t)},NI=e=>!!(e.previousOldestId&&e.currentOldestId&&e.currentOldestId!==e.previousOldestId&&e.previousNewestId&&e.currentNewestId&&e.currentNewestId===e.previousNewestId),PI=e=>e?{owner:`tanstack-core`}:{owner:`controller`},FI=(e,t)=>e?e.canLoadEarlier:t>=rI().HISTORICAL_MESSAGES,II=e=>!(e.isMobile||e.isLoadingOlder||e.pendingRevealWork||!e.canLoadEarlier||e.source===`scroll`&&e.isPinned||e.scrollTop>=hI(e.clientHeight)),LI=e=>e.pagesLoaded>=e.maxPages?`stop-bounded`: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.limitAfter>e.limitBefore?`continue`:`stop-no-growth`:`stop-exhausted`,RI=1,zI=8,BI=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),VI=e=>[`chat-timeline-auto-fill`,e.runtimeKey,e.sessionId,e.oldestMessageId,e.messageCount,e.canLoadEarlier],HI=e=>[`chat-timeline-load-earlier`,e.runtimeKey,e.sessionId],UI=20,WI=4,GI=80,KI=new WeakMap,qI=new WeakMap,JI=e=>{let t=qI.get(e)??{generation:0};return t.generation+=1,qI.set(e,t),t.generation},YI=e=>{let t=KI.get(e);t&&(t.touches=0,t.pending=null,t.settleScheduled=!1),JI(e)},XI=e=>{ZI(e)},ZI=e=>{let t=KI.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&&QI(e,n)};return e.addEventListener(`touchend`,r,{passive:!0}),e.addEventListener(`touchcancel`,r,{passive:!0}),KI.set(e,n),n},QI=(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+GI||$I(e,n.anchorTop+n.delta))}))},$I=(e,t)=>{let n=JI(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((qI.get(e)?.generation??0)!==n){e.removeEventListener(`touchstart`,o);return}e.scrollTop<t-WI&&(e.scrollTop=t),a+=1,a<UI?window.requestAnimationFrame(s):e.removeEventListener(`touchstart`,o)}};window.requestAnimationFrame(s)},eL=(e,t,n)=>{let r=ZI(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,$I(e,t)},tL=(e,t,n)=>!e||!t||t===e?!1:n.some(t=>t.info.id===e),nL=(e,t)=>e.scrollHeight===t.scrollHeight&&e.clientHeight===t.clientHeight?e:t,rL=({sessionId:e,directory:t=null,messages:n,historyMeta:r,scrollRef:a,messageListRef:o,loadMoreMessages:s,goToBottom:c,releaseAutoFollow:l,beginHistoryViewportPreservation:u,endHistoryViewportPreservation:d,isPinned:f,showScrollButton:p,autoFillEnabled:m=!1,onWillLoadEarlier:h})=>{let g=Z.useRef(null),_=Z.useRef(null),v=Z.useMemo(()=>{let t=e??``,r=t?kI.get(t):void 0;if(r&&r.messages===n)return MI(t,r),g.current=r.model,_.current=n,r.model;let i=XF(g.current,_.current,n)??ZF(n);return g.current=i,_.current=n,t&&n.length>0&&MI(t,{messages:n,model:i}),i},[n,e]),[y,b]=Z.useState(!1),[x,S]=Z.useState(!1),[C,w]=Z.useState(null),[T,E]=Z.useState(!1),[D,O]=Z.useState(null),[k,A]=Z.useState({scrollHeight:0,clientHeight:0}),j=Z.useRef(v),M=Z.useRef(f),N=Z.useRef(y),P=Z.useRef(x),F=Z.useRef(e),I=Z.useRef(t??null),L=Z.useRef(n),R=Z.useRef(r),z=Z.useRef(D),B=Z.useRef([]),V=Z.useRef(null),H=Z.useRef(null),U=Z.useRef(!1),W=Z.useRef(null),[ee,G]=Z.useState(e);ee!==e&&(G(e),W.current!==null&&typeof window<`u`&&(window.clearTimeout(W.current),W.current=null),U.current=!1,N.current=!1,H.current=null,b(!1),S(!1),w(null),E(!1),z.current=null,O(null),A({scrollHeight:0,clientHeight:0}));let K=Z.useMemo(()=>{let e=r?.limit!==D&&FI(r,n.length);return{hasBufferedTurns:!1,hasMoreAboveTurns:e,historyLoading:!!r?.loading,canLoadEarlier:e}},[r,n.length]),q=Z.useRef(K);j.current=v,M.current=f,P.current=x,q.current=K,F.current=e,I.current=t??null,L.current=n,R.current=r,z.current=D;let te=J(()=>{U.current=!0,W.current!==null&&typeof window<`u`&&(window.clearTimeout(W.current),W.current=null)}),ne=J(()=>{if(typeof window>`u`){U.current=!1;return}W.current!==null&&window.clearTimeout(W.current),W.current=window.setTimeout(()=>{W.current=null,U.current=!1},xI)}),re=J(()=>{let e=B.current;e.length!==0&&(B.current=[],e.forEach(e=>e()))}),ie=J(()=>new Promise(e=>{if(typeof window>`u`){e();return}let t=!1,n=()=>{t||(t=!0,window.clearTimeout(r),e())};B.current.push(n);let r=window.setTimeout(n,bI)})),ae=J(e=>{let t=V.current;t&&(V.current=null,t.resolve(e))}),oe=J(()=>{let e=V.current;if(e){if(e.sessionId!==F.current){ae(!1);return}if(e.kind===`turn`?o.current?.scrollToTurnId(e.id,{behavior:e.behavior})??!1:o.current?.scrollToMessageId(e.id,{behavior:e.behavior})??!1){e.turnId&&(H.current={turnId:e.turnId,expiresAt:Date.now()+OI},w(e.turnId)),ae(!0);return}typeof(e.kind===`turn`?j.current.turnIndexById.get(e.id):j.current.messageToTurnIndex.get(e.id))==`number`&&ae(!1)}}),se=Z.useRef(null),ce=J(()=>{let e=se.current;e&&(se.current=null,e.dispose())});et(()=>{W.current!==null&&typeof window<`u`&&(window.clearTimeout(W.current),W.current=null),ce(),re(),ae(!1)});let le=n;rt(()=>{re(),oe()},[le]);let ue=J(()=>{let e=a.current;if(!e){A(e=>nL(e,{scrollHeight:0,clientHeight:0}));return}A(t=>nL(t,{scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}))});at(typeof ResizeObserver<`u`?a:null,ue),rt(()=>{ue()},[e,y]);let de=Z.useRef(null),fe=J(()=>o.current?.captureViewportAnchor()??null),pe=J(e=>o.current?.restoreViewportAnchor(e)??!1),me=J(()=>{if(bt())return;ce();let e=a.current;if(!e)return;let t=fe();t&&(se.current=dI({container:e,anchor:t}))}),he=Z.useRef(null);rt(()=>{if(!bt())return;let e=a.current;e&&(XI(e),YI(e))},[e,a]),rt(()=>{ce(),de.current=null,he.current=null,o.current?.cancelViewportAnchorHold()},[e]),rt(()=>{let e=a.current;if(!e)return;let t=de.current;t&&Math.abs(e.scrollTop-t.top)>zI&&(de.current=null,t=null);let n=he.current,r=le[0]?.info?.id??null,i=le[le.length-1]?.info?.id??null,s=n?NI({previousOldestId:n.oldestId,previousNewestId:n.newestId,currentOldestId:r,currentNewestId:i})||tL(n.oldestId,r,le):!1;t&&t.sessionId!==F.current&&(de.current=null,t=null);let l=t?NI({previousOldestId:t.oldestId,previousNewestId:t.newestId,currentOldestId:r,currentNewestId:i})||tL(t.oldestId,r,le):!1,u=s||l,d=e=>{he.current={oldestId:r,newestId:i,scrollHeight:e??he.current?.scrollHeight??0}};if(M.current&&!t){ce(),u?(de.current=null,c(`instant`),d(e.scrollHeight)):d();return}let f=PI(o.current?.isHistoryVirtualized()??!1);if(t){if(f.owner===`tanstack-core`){o.current?.cancelViewportAnchorHold();let e=t.anchor;e&&pe(e),d();return}let n=e.scrollHeight,r=n-t.height;if(bt()){r>0&&eL(e,t.top+r,r),d(n);return}let i=t.anchor;!(i&&pe(i))&&r>0&&(e.scrollTop=t.top+r),d(n);return}if(s&&n&&f.owner===`controller`){let t=e.scrollHeight,r=t-n.scrollHeight;if(r>0){let t=e.scrollTop+r;bt()?eL(e,t,r):e.scrollTop=t}d(t),me();return}d()},[le,c]);let ge=J(async()=>!1),_e=J(async e=>{let t=Date.now(),n=t+SI,r=I.current,i=r?zi()?.getRequestState?.(un(r,e)):void 0;for(q.current.historyLoading,R.current,i?.status,i?.error;q.current.historyLoading;){if(F.current!==e)return Date.now()-t,`switched`;if(Date.now()>=n){let n=r?zi()?.getRequestState?.(un(r,e)):void 0;return console.error(`[chat-history] historyLoading wait timed out — sync flag still true`,{sessionId:e,directory:r,elapsedMs:Date.now()-t,waitMs:SI,hostTurnPageTimeoutMs:wn,historyLoading:q.current.historyLoading,historyMeta:R.current,requestStatusAtStart:i?.status??null,requestStatusAtTimeout:n?.status??null,requestErrorAtTimeout:n?.error??null,likelyStaleLoadingFlag:n?.status===`ready`||n?.status===`error`||n==null}),`timeout`}await new Promise(e=>{if(typeof window>`u`){e();return}window.setTimeout(e,CI)})}return Date.now()-t,r&&zi()?.getRequestState?.(un(r,e))?.status,F.current===e?`cleared`:`switched`}),ve=J(async e=>{if(!F.current||N.current||!q.current.hasMoreAboveTurns)return!1;N.current=!0,te(),b(!0);let t=F.current,n=null,r=!!e.userInitiated;r&&u();let i=()=>{n&&de.current===n&&(de.current=null,o.current?.cancelViewportAnchorHold()),r&&(r=!1,d())};try{if(q.current.historyLoading){if(!e.userInitiated)return!1;let n=await _e(t);if(n===`timeout`)throw EI();if(n===`switched`||!q.current.hasMoreAboveTurns)return!1}if(!F.current||F.current!==t)return!1;let r=a.current,o=L.current,c=o.length,l=o[0]?.info?.id??null,u=R.current?.limit??rI().HISTORICAL_MESSAGES;e.preserveViewport&&r&&(n={sessionId:F.current,height:r.scrollHeight,top:r.scrollTop,anchor:fe(),oldestId:l,newestId:o[o.length-1]?.info?.id??null},de.current=n,me());let d=c,f=l,p=u,m=0;for(;;){if(q.current.historyLoading)if(e.userInitiated){let e=await _e(t);if(e===`timeout`)throw i(),EI();if(e===`switched`)return i(),!1}else return i(),!1;let n=a.current?.scrollHeight??0,r=d,o=f,c=p;if(await s(t,`up`),m+=1,F.current!==t)return i(),!1;await ie();let l=L.current,u=l.length,h=l[0]?.info?.id??null,g=R.current?.limit??p,_=LI({scrollHeightBefore:n,scrollHeightAfter:a.current?.scrollHeight??n,messageCountBefore:r,messageCountAfter:u,oldestIdBefore:o,oldestIdAfter:h,limitBefore:c,limitAfter:g,hasMoreAbove:q.current.hasMoreAboveTurns,pagesLoaded:m,maxPages:RI});if(_===`continue`){d=u,f=h,p=g;continue}if(_===`stop-no-growth`){if(q.current.historyLoading){if(e.userInitiated){let e=await _e(t);if(e===`timeout`)throw i(),EI();if(e===`switched`)return i(),!1;--m;continue}return i(),!1}let n=R.current?.limit??c;return z.current=n,O(n),q.current={...q.current,hasMoreAboveTurns:!1,canLoadEarlier:!1},i(),!1}return!0}}catch(e){throw i(),e}finally{N.current=!1,b(!1),ne(),ie().then(i)}}),{t:ye}=ot(),be=Ke({mutationKey:HI({runtimeKey:i(),sessionId:e??``}),mutationFn:async e=>{if(F.current!==e.sessionId)return!1;te(),e.userInitiated&&l();try{return await ve({preserveViewport:!0,userInitiated:!!e.userInitiated})}finally{ne()}}}),xe=J(async e=>{let t=F.current;if(t&&!(be.isPending&&be.variables?.sessionId===t)){e?.userInitiated&&h?.();try{let n=await be.mutateAsync({sessionId:t,userInitiated:!!e?.userInitiated});if(n===!1&&q.current.canLoadEarlier){let r={sessionId:t,grew:n,userInitiated:!!e?.userInitiated,canLoadEarlier:q.current.canLoadEarlier,hasMoreAboveTurns:q.current.hasMoreAboveTurns,historyLoading:q.current.historyLoading,historyMeta:R.current,messageCount:L.current.length,oldestMessageId:L.current[0]?.info?.id??null};DI(`no-growth`,Error(`chat history pagination returned no growth`),r),e?.userInitiated&&Tt.error(ye(`chat.history.loadOlderFailed`))}}catch(n){let r={sessionId:t,userInitiated:!!e?.userInitiated,waitMs:SI,hostTurnPageTimeoutMs:wn,canLoadEarlier:q.current.canLoadEarlier,historyLoading:q.current.historyLoading,historyMeta:R.current,messageCount:L.current.length,oldestMessageId:L.current[0]?.info?.id??null};TI(n)?DI(`timeout`,n,r):DI(`failed`,n,r),e?.userInitiated&&Tt.error(TI(n)?ye(`chat.history.loadOlderTimeout`):ye(`chat.history.loadOlderFailed`))}}}),Se=be.isPending&&be.variables?.sessionId===e||y,Ce=n[0]?.info?.id??null,we=BI({enabled:m,isMobile:bt(),sessionReady:!!e,messageReady:n.length>0||!!r,historyLoading:K.historyLoading,canLoadEarlier:K.canLoadEarlier,isPinned:f,fillBlocked:T,scrollHeight:k.scrollHeight,clientHeight:k.clientHeight,pendingRevealWork:x,isLoadingOlder:!1,hasMessages:n.length>0});qe({queryKey:VI({runtimeKey:i(),sessionId:e??``,oldestMessageId:Ce,messageCount:n.length,canLoadEarlier:K.canLoadEarlier}),enabled:!!e&&we,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()=>{let e=F.current;if(!e)return{status:`skip`};if(q.current.historyLoading||N.current){let e=Error(`auto-fill-busy`);throw e.code=`auto-fill-busy`,e}if(!q.current.canLoadEarlier)return{status:`skip`};let t=a.current;if(!t||t.clientHeight<=0)return{status:`skip`};if(t.scrollHeight>t.clientHeight+48)return{status:`tall`};try{let t=await ve({preserveViewport:!0});return t?{status:`grew`}:(q.current.canLoadEarlier&&DI(`no-growth`,Error(`chat history pagination returned no growth`),{sessionId:e,source:`auto-fill`,grew:t,canLoadEarlier:q.current.canLoadEarlier,hasMoreAboveTurns:q.current.hasMoreAboveTurns,historyLoading:q.current.historyLoading,historyMeta:R.current,messageCount:L.current.length,oldestMessageId:L.current[0]?.info?.id??null}),E(!0),{status:`blocked`})}catch(t){if(t?.code===`auto-fill-busy`)throw t;let n={sessionId:e,source:`auto-fill`,waitMs:SI,canLoadEarlier:q.current.canLoadEarlier,historyLoading:q.current.historyLoading,historyMeta:R.current,messageCount:L.current.length,oldestMessageId:L.current[0]?.info?.id??null};throw TI(t)?DI(`timeout`,t,n):DI(`failed`,t,n),E(!0),t instanceof Error?t:Error(`chat timeline auto-fill failed`)}}});let Te=J(e=>{let t=a.current;t&&II({source:e,isMobile:bt(),isPinned:M.current,scrollTop:t.scrollTop,clientHeight:t.clientHeight,canLoadEarlier:q.current.canLoadEarlier,isLoadingOlder:N.current,pendingRevealWork:P.current})&&xe({userInitiated:!0})}),Ee=J(()=>{Te(`scroll`)}),De=J(()=>{Te(`upward-intent`)}),Oe=J(async(t,n)=>{if(!t||!F.current)return!1;l(),S(!0);try{return F.current!==e||typeof j.current.turnIndexById.get(t)!=`number`?!1:!!await new Promise(r=>{V.current={sessionId:F.current??e??``,kind:`turn`,id:t,behavior:n?.behavior??`auto`,turnId:t,resolve:r},oe()})}finally{S(!1)}}),ke=J(async(t,n)=>{if(!t||!F.current)return!1;l(),S(!0);try{if(F.current!==e)return!1;let r=j.current.messageToTurnId.get(t);return typeof j.current.messageToTurnIndex.get(t)==`number`&&!!await new Promise(i=>{V.current={sessionId:F.current??e??``,kind:`message`,id:t,behavior:n?.behavior??`auto`,turnId:r??null,resolve:i},oe()})}finally{S(!1)}}),Ae=J(async()=>{S(!1),N.current=!1,b(!1),o.current?.scrollToBottom(),c(`smooth`)}),je=J(async()=>{S(!1),N.current=!1,b(!1),o.current?.scrollToBottom(),c(`instant`)}),Me=J(e=>{let t=H.current;if(t){if(e!==t.turnId&&Date.now()<t.expiresAt)return;H.current=null}w(e)});return{turnIds:v.turnIds,turnStart:0,renderedMessages:le,historySignals:K,isLoadingOlder:Se,pendingRevealWork:x,activeTurnId:C,showScrollToBottom:p&&!x,turnWindowModel:v,loadEarlier:xe,revealBufferedTurns:ge,resumeToBottom:Ae,resumeToBottomInstant:je,scrollToTurn:Oe,scrollToMessage:ke,handleHistoryScroll:Ee,handleHistoryUpwardIntent:De,captureViewportAnchor:fe,restoreViewportAnchor:pe,handleActiveTurnChange:Me}},iL=({mutateSession:e,forkSession:t})=>({revert:e,fork:t}),aL=({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{t:d}=ot(),f=Fh(),p=n,m=pr(p??``,r),h=Zr(e=>e.revertToMessage),g=Zr(e=>e.forkFromMessage),_=iL(f.capabilities),{isMobile:v,isTablet:y}=fo(),b=v||y,[x,S]=Z.useState(null),C=Z.useRef(!1),[w,T]=Z.useState(``),[E,D]=Z.useState(0),O=Z.useRef([]),k=Z.useRef(null),A=Z.useRef(null),j=Z.useRef(!1),M=Z.useRef(e),N=e=>new Date(e).toLocaleDateString(st(),{year:`numeric`,month:`short`,day:`numeric`}),P=e=>new Date(e).toLocaleTimeString(st(),{hour:`numeric`,minute:`2-digit`}),F=Z.useMemo(()=>m.filter(e=>e.info.role===`user`).map(e=>({message:e})),[m]),I=Z.useMemo(()=>{let e=w.trim();if(!e)return F;let t=e.toLowerCase();return F.filter(({message:e})=>SP(e.parts).toLowerCase().includes(t))},[F,w]);Z.useEffect(()=>{j.current||D(w.trim()?0:Math.max(0,I.length-1))},[I,w]),Z.useEffect(()=>{O.current=O.current.slice(0,I.length)},[I.length]),Z.useEffect(()=>{j.current||O.current[E]?.scrollIntoView({block:`nearest`})},[E]),Z.useEffect(()=>{!j.current||A.current||c||(j.current=!1)},[I.length,c]),Z.useLayoutEffect(()=>{let t=M.current;if(M.current=e,!e||t||j.current||w.trim())return;let n=k.current;n&&(n.scrollTop=n.scrollHeight)},[e,w]),Z.useLayoutEffect(()=>{let e=A.current,t=k.current;if(!e||!t||c)return;A.current=null;let n=O.current.find(t=>t?.dataset.timelineMessageId===e.messageId);if(!n)return;let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top;t.scrollTop+=r-e.top},[I.length,c]);let L=J(()=>{let e=k.current;if(e){let t=e.getBoundingClientRect().top,n=O.current.find(e=>e?e.getBoundingClientRect().bottom>=t:!1);n?.dataset.timelineMessageId&&(A.current={messageId:n.dataset.timelineMessageId,top:n.getBoundingClientRect().top-t})}j.current=!0,l?.()}),R=J(async e=>{await i?.(e)!==!1&&t(!1)}),z=J(e=>{let t=I.length;if(t!==0){if(e.key===`ArrowDown`){e.preventDefault(),D(e=>(e+1)%t);return}if(e.key===`ArrowUp`){e.preventDefault(),D(e=>(e-1+t)%t);return}if(e.key===`Enter`){e.preventDefault();let n=(E%t+t)%t,r=I[n];r&&R(r.message.info.id)}}}),B=J(async(e,n)=>{if(!(!p||C.current)){C.current=!0,S({type:e,messageId:n});try{e===`revert`?u?await u(n):await h(p,n,{directory:r}):await g(p,n,{directory:r}),t(!1)}finally{C.current=!1,S(null)}}});return p?(0,$.jsx)(aa,{open:e,onOpenChange:t,children:(0,$.jsxs)(ta,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsxs)(Qi,{children:[(0,$.jsxs)(na,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`time`,className:`h-5 w-5`}),d(`chat.timeline.title`)]}),(0,$.jsx)(ra,{children:d(`chat.timeline.description`)})]}),(0,$.jsxs)(`div`,{className:`relative mt-2`,children:[(0,$.jsx)(X,{name:`search`,className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,$.jsx)(za,{autoFocus:!0,placeholder:d(`chat.timeline.searchPlaceholder`),value:w,onChange:e=>T(e.target.value),onKeyDown:z,className:`pl-9 w-full`})]}),s&&l&&(0,$.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,$.jsxs)(ca,{type:`button`,variant:`link`,size:`sm`,onClick:L,disabled:c,className:`h-auto px-1 py-0 text-muted-foreground hover:text-foreground`,children:[c&&(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),d(`chat.history.loadOlder`)]})}),(0,$.jsx)(`div`,{ref:k,className:`flex-1 overflow-y-auto`,children:I.length===0?(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:d(w?`chat.timeline.empty.search`:`chat.timeline.empty.session`)}):I.map(({message:e},t)=>{let n=CP(e.parts),r=e.info.time.created,i=N(r),a=I[t-1],o=i!==(a?N(a.message.info.time.created):null),s=P(r),c=t===E,l=w.trim()?oL(SP(e.parts),w):null;return(0,$.jsxs)(Z.Fragment,{children:[o&&(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:i}),(0,$.jsx)(`div`,{className:`h-px flex-1 bg-border/60`})]}),(0,$.jsxs)(`div`,{ref:e=>{O.current[t]=e},"data-timeline-message-id":e.info.id,className:Y(`group flex items-center gap-3 py-1.5 hover:bg-interactive-hover/30 rounded transition-colors cursor-pointer`,c&&`bg-interactive-selection text-interactive-selection-foreground`),onClick:()=>void R(e.info.id),onMouseEnter:()=>D(t),children:[(0,$.jsx)(`span`,{className:Y(`typography-meta w-16 flex-shrink-0 text-right tabular-nums`,c?`text-interactive-selection-foreground/70`:`text-muted-foreground`),children:s}),(0,$.jsxs)(`p`,{className:Y(`flex-1 min-w-0 typography-micro truncate`,c?`text-interactive-selection-foreground`:`text-foreground`),children:[l??(n||d(`chat.timeline.noTextContent`)),!l&&n&&n.length>=80&&`…`]}),(0,$.jsx)(`div`,{className:`flex-shrink-0 h-5 flex items-center mr-2`,children:(0,$.jsxs)(`div`,{className:Y(`gap-1`,b?`flex`:`hidden group-hover:flex`),children:[_.revert?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:`size-5 text-muted-foreground hover:text-foreground`,"aria-busy":x?.type===`revert`&&x.messageId===e.info.id,disabled:x!==null,onClick:t=>{t.stopPropagation(),B(`revert`,e.info.id)},children:(0,$.jsx)(X,{name:x?.type===`revert`&&x.messageId===e.info.id?`loader-4`:`arrow-go-back`,className:Y(`h-4 w-4`,x?.type===`revert`&&x.messageId===e.info.id&&`animate-spin`)})})}),(0,$.jsx)(Va,{sideOffset:6,children:d(`chat.timeline.actions.revertFromHere`)})]}):null,_.fork?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:`size-5 text-muted-foreground hover:text-foreground`,"aria-busy":x?.type===`fork`&&x.messageId===e.info.id,onClick:t=>{t.stopPropagation(),B(`fork`,e.info.id)},disabled:x!==null,children:x?.type===`fork`&&x.messageId===e.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)(Va,{sideOffset:6,children:d(`chat.timeline.actions.forkFromHere`)})]}):null]})})]})]},e.info.id)})}),(0,$.jsxs)(`div`,{className:`mt-4 p-3 bg-muted/30 rounded-lg`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground font-medium mb-2`,children:d(`chat.timeline.actions.title`)}),(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:()=>{a?.(-1),t(!1)},children:d(`chat.timeline.actions.previousTurn`)}),(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`/`}),(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:()=>{o?.(),t(!1)},children:d(`chat.timeline.actions.latest`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(`span`,{children:d(`chat.timeline.help.clickMessage`)})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`arrow-go-back`,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{children:d(`chat.timeline.help.undoToPoint`)})]}),_.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:d(`chat.timeline.help.createSessionFromHere`)})]}):null]})]})]})}):null};function oL(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?`…`:``}`}var sL=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},cL=(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`}},lL=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)},uL=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&&lL(`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&&lL(`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=cL(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 lL(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=()=>{lL(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=sL(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},dL=2e4,fL=6e4,pL=2e3,mL=e=>e?(typeof e.text==`string`?e.text.length:0)+(typeof e.state?.output==`string`?e.state.output.length:0):0,hL=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+=mL(e);return[e.length,t.info.id,n.length,r?.id??``,r?.state?.status??``,i].join(`:`)},gL={sessionKey:null,fingerprint:null,lastMovementAt:null,lastRefreshAt:null,attempts:0},_L=(e,t)=>{let{sessionKey:n,working:r,streaming:i,fingerprint:a,now:o}=t;if(!n)return{state:gL,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}},vL=e=>{console.warn(`[transcript] tail frozen while session is working — refetching authority`,e)},yL=(e,t)=>{let n=(0,Q.c)(7),r=Gx(bL),i=Zr(xL),a=Zr(SL),o,s;n[0]!==a||n[1]!==i||n[2]!==t||n[3]!==r||n[4]!==e?(o=()=>{if(r&&e&&!a(e)){for(let n of t)if(n.info.role===`assistant`)for(let t of n.parts){let n=t;if(n.type!==`text`)continue;let r=n.text||``;if(r.includes(`The plan at `)||r.includes(`User has requested to enter plan mode`)){i(e);return}}}},s=[r,e,t,i,a],n[0]=a,n[1]=i,n[2]=t,n[3]=r,n[4]=e,n[5]=o,n[6]=s):(o=n[5],s=n[6]),Z.useEffect(o,s)};function bL(e){return e.planModeEnabled}function xL(e){return e.markSessionPlanAvailable}function SL(e){return e.isSessionPlanAvailable}function CL(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 wL(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 TL(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||CL(i)==null}function EL(e){let t=[];for(let n of e){let e=Array.isArray(n.parts)?n.parts:[];for(let n of e){if(!TL(n))continue;let e=wL(n);e&&t.push(e)}}return t}function DL(e,t){return`${e}:${t.join(`,`)}`}function OL(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=DL(t,e.unansweredToolIds);return e.attemptedKey===r?{recover:!1,attemptKey:r}:{recover:!0,attemptKey:r}}function kL(e,t,n,r){let i=(0,Q.c)(7),a=Bn(),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=OL({sessionId:e,directory:t,sessionQuestionCount:r,unansweredToolIds:EL(n),attemptedKey:o.current});if(!c.recover||!e||!t||!c.attemptKey)return;let l=a.getChild(t);l&&(o.current=c.attemptKey,cn(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 AL=e=>!Number.isFinite(e)||e<0?0:Math.ceil(e),jL=(e,t)=>({...e,key:ML(e),estimatedBytes:AL(t)}),ML=({runtimeKey:e,sessionId:t,directory:n})=>JSON.stringify([e,n??``,t]),NL=e=>({key:e?ML(e):null,selection:e}),PL=(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},FL=(e,t,n,r)=>{let i=ML(t),a=e.findIndex(e=>e.key===i),o=a>=0?e[a]:void 0;if(o&&a===e.length-1)return PL(e,i,n);let s=o||jL(t,r),c=a>=0?e.filter((e,t)=>t!==a):[...e];return c.push(s),PL(c,i,n)},IL=(e,t,n)=>{let r=AL(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)},LL=(e,t)=>t&&e.some(e=>e.key===t)?t:null,RL=(e,t,n)=>{let r=t.key?e.cachedSessionViews.find(e=>e.key===t.key):void 0,i=r&&t.selection?FL(e.cachedSessionViews,t.selection,n,r.estimatedBytes):PL(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}},zL=(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:jL(t.selection,r),intent:t};return e.pendingSessionView?.intent===t?e:{activeIntent:e.activeIntent,cacheNeedsTrim:e.cacheNeedsTrim,cachedSessionViews:e.cachedSessionViews,pendingSessionView:i}},BL=(e,t,n)=>{let r=e.pendingSessionView;return e.activeIntent!==t||r?.intent!==t||!t.selection?e:{activeIntent:e.activeIntent,cacheNeedsTrim:!1,cachedSessionViews:FL(e.cachedSessionViews,t.selection,n,r.entry.estimatedBytes),pendingSessionView:null}},VL=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},HL=e=>{if(!(!e.info||typeof e.info!=`object`))return e.info},UL=e=>HL(e)?.role===`assistant`,WL=(e,t)=>{let n=HL(t);n&&(e.agentName??=VL(n.agent),e.providerId??=VL(n.providerID),e.modelId??=VL(n.modelID))},GL=e=>!!(e.agentName&&e.providerId&&e.modelId),KL=e=>{let t={};for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||!UL(r))&&(WL(t,r),GL(t)))return t}for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||UL(r))&&(WL(t,r),GL(t)))break}return t},qL=e=>!!e.sessionId&&!(e.hasRenderableSessionSnapshot&&e.hasCurrentSessionEntity),JL=[],YL=[],XL={type:`idle`},ZL=`openchamber:chat-force-scroll-bottom`,QL=()=>void 0,$L=`Quota limit reached. Retrying automatically.`,eR=1048576,tR=eR,nR=20,rR=eR,iR=16*eR,aR={maxEntries:3,maxEstimatedBytes:32*eR},oR={maxEntries:2,maxEstimatedBytes:32*eR},sR=e=>t(()=>e()),cR={overflowAnchor:`none`,overscrollBehavior:`contain`,overscrollBehaviorY:`contain`},lR={scrollbar:`chat`,scrollShadow:`true`,orientation:`vertical`},uR=()=>{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},dR=`calc(max(0.625rem, var(--oc-safe-area-top, 0px)) + var(--oc-mobile-detail-navigation-height) + 1.25rem)`,fR=ZP,pR=[`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(`,`),mR=e=>e instanceof HTMLElement,hR=e=>mR(e)?!!e.closest(pR):!1,gR=(e,t)=>typeof document>`u`||!e||e===document.body||e===document.documentElement||hR(e)?!0:!t?.contains(e),_R=()=>{let{isAboutDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isImagePreviewOpen:r,isMultiRunLauncherOpen:i,isSessionSwitcherOpen:a,isSettingsDialogOpen:o}=s.getState();return e||t||n||r||i||a||o},vR=Z.memo(({currentSessionId:e,virtualizerKey:t,isDesktopExpandedInput:n,isMobile:r,stickyUserHeader:i,directory:a,scrollRef:o,messageListRef:s,pendingRevealWork:c,renderedMessages:l,isLoadingOlder:u,sessionIsWorking:d,streamingMessageId:f,activeStreamingPhase:p,retryOverlay:m,handleMessageContentChange:h,getAnimationHandlers:g,handleHistoryScroll:_,handleHistoryUpwardIntent:v,onTimelineIsAtEndChange:y,timelineFollowSuspended:b,timelineHistoryAnchorToken:x,scrollToBottom:S,sessionQuestions:C,sessionPermissions:w,isProgrammaticFollowActive:T,showLoadOlderButton:E,onLoadOlder:D,turnIds:O,activeTurnId:k,onSelectTurn:A,showPromptNavigator:j,canLoadEarlierPrompts:M,isLoadingOlderPrompts:N,onLoadEarlierPrompts:P})=>{let{t:F}=ot(),I=Gx(e=>e.legendTimelineEnabled),L=kx({isLoadingOlder:u}),R=Ax({isMobile:r,isLoadingOlder:L}),z=Z.useRef(new Map),B=Z.useRef(new WeakMap),V=Z.useRef(new Map),H=Z.useMemo(()=>{let e=new Map;for(let t=0;t<l.length;t+=1){let n=l[t];if(n.info.role!==`user`)continue;if(bM(n)){let r=SM(l,t)??``,i=V.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`}];V.current.set(n.info.id,{command:r,parts:t}),e.set(n.info.id,t)}continue}if(Qt(n.parts))continue;let r=B.current.get(n.parts);r||(r=qr(n.parts),B.current.set(n.parts,r)),r.length!==0&&e.set(n.info.id,r)}let t=z.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 z.current=e,e},[l]),U=Z.useMemo(()=>O.filter(e=>H.has(e)),[H,O]),W=Z.useMemo(()=>{if(!k||H.has(k))return k;let e=O.indexOf(k);for(let t=e-1;t>=0;--t){let e=O[t];if(H.has(e))return e}return null},[k,H,O]),ee=J(e=>{e.defaultPrevented||hR(e.target)||typeof window<`u`&&window.getSelection()?.type===`Range`||o.current?.focus({preventScroll:!0})});return tF({scrollRef:o,enabled:I,onUpwardIntent:v}),I?(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,n?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":n,children:(0,$.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,$.jsx)(JN,{ref:s,sessionKey:e,virtualizerKey:t,disableStaging:c,messages:l,sessionIsWorking:d,activeStreamingMessageId:f,activeStreamingPhase:p,retryOverlay:m,onMessageContentChange:h,getAnimationHandlers:g,isLoadingOlder:u,scrollToBottom:S,scrollRef:o,directory:a,timelineScrollClassName:`absolute inset-0 z-0 chat-scroll overlay-scrollbar-target`,timelineScrollStyle:cR,timelineScrollDataset:lR,timelineOnScroll:_,timelineFollowEnabled:!c&&!b,timelineHistoryAnchorToken:x,timelineOnIsAtEndChange:y,headerSlot:(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:dR},"aria-hidden":`true`}),E&&(0,$.jsx)(`div`,{className:`flex justify-center pt-3 pb-1`,children:(0,$.jsxs)(ca,{variant:`secondary`,size:`sm`,onClick:D,disabled:L,"aria-busy":L,children:[L&&(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),F(`chat.history.loadOlder`)]})}),R&&(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,$.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 pt-3 pb-1`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin text-[var(--surface-mutedForeground)]`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`typography-meta text-[var(--surface-mutedForeground)]`,children:F(`chat.history.loadingMore`)})]})})]}),footerSlot:(0,$.jsxs)($.Fragment,{children:[(C.length>0||w.length>0)&&(0,$.jsxs)(`div`,{children:[C.map(e=>(0,$.jsx)(xP,{question:e},e.id)),w.map(e=>(0,$.jsx)(hP,{permission:e},e.id))]}),(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?fR:YP},"aria-hidden":`true`})]})}),(0,$.jsx)(po,{containerRef:o,suppressVisibility:T,userIntentOnly:!0,observeMutations:!1}),j&&U.length>=2?(0,$.jsx)(WP,{turnIds:U,previewsByTurnId:H,activeTurnId:W,onSelectTurn:A,canLoadEarlier:M,isLoadingOlder:N,onLoadEarlier:P}):null]})}):(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,n?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":n,children:(0,$.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,$.jsx)(Oa,{className:Y(`absolute inset-0 overflow-y-auto overflow-x-hidden z-0 chat-scroll overlay-scrollbar-target`),ref:o,style:cR,observeMutations:!1,hideTopShadow:r&&i,hideBottomShadow:r,tabIndex:0,onClick:ee,onScroll:_,"data-scroll-shadow":`true`,"data-scrollbar":`chat`,children:(0,$.jsxs)(`div`,{className:Y(`oc-chat-scroll-content relative z-0 min-h-full`,r&&`chat-scroll-foot-inset`),children:[E&&(0,$.jsx)(`div`,{className:`flex justify-center pt-3 pb-1`,children:(0,$.jsxs)(ca,{variant:`secondary`,size:`sm`,onClick:D,disabled:L,"aria-busy":L,children:[L&&(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),F(`chat.history.loadOlder`)]})}),R&&(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,$.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 pt-3 pb-1`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin text-[var(--surface-mutedForeground)]`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`typography-meta text-[var(--surface-mutedForeground)]`,children:F(`chat.history.loadingMore`)})]})}),(0,$.jsx)(JN,{ref:s,sessionKey:e,virtualizerKey:t,disableStaging:c,messages:l,sessionIsWorking:d,activeStreamingMessageId:f,activeStreamingPhase:p,retryOverlay:m,onMessageContentChange:h,getAnimationHandlers:g,isLoadingOlder:u,scrollToBottom:S,scrollRef:o,directory:a}),(C.length>0||w.length>0)&&(0,$.jsxs)(`div`,{children:[C.map(e=>(0,$.jsx)(xP,{question:e},e.id)),w.map(e=>(0,$.jsx)(hP,{permission:e},e.id))]}),(0,$.jsx)(`div`,{className:`mb-1`,children:(0,$.jsx)(Uk,{})}),(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?XP:YP},"aria-hidden":`true`})]})}),(0,$.jsx)(po,{containerRef:o,suppressVisibility:T,userIntentOnly:!0,observeMutations:!1}),j&&U.length>=2?(0,$.jsx)(WP,{turnIds:U,previewsByTurnId:H,activeTurnId:W,onSelectTurn:A,canLoadEarlier:M,isLoadingOlder:N,onLoadEarlier:P}):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.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.isProgrammaticFollowActive===t.isProgrammaticFollowActive&&e.showLoadOlderButton===t.showLoadOlderButton&&e.onLoadOlder===t.onLoadOlder&&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);vR.displayName=`ChatViewport`;var yR=[{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%]`]}],bR=e=>oa(e.path),xR=(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)]})},SR=e=>{let t=Math.ceil(Math.max(0,e)/nR);return Math.min(iR,tR+t*rR)},CR=Z.memo(({autoOpenDraft:e=!0,readOnly:t=!1,active:n=!0,sessionId:r,sessionDirectory:i,sessionViewKey:a,onSessionViewEstimateChange:o,composerSurface:c,hostedFeatures:l,assistantHistory:u,onRevertMessage:f,warning:p=null,pendingUserMessages:m=YL,onPendingUserMessagesMaterialized:h})=>{let g=l??Px(void 0),{t:_}=ot();rt(()=>{ti()},[]);let v=Zr(e=>e.openNewSessionDraft),y=Zr(e=>e.setCurrentSession),b=Zr(e=>e.newSessionDraft),x=Zr(e=>e.newSessionDraft.draftSubmitting??!1),S=Zr(e=>e.newSessionDraft.draftEstablishing??!1),C=Zr(e=>e.forkTransition),w=xn(e=>e.projects),T=xn(e=>e.activeProjectId),E=Qr(e=>e.providers),D=Du(),O=cr(),k=i??O;rt(()=>{!n||!r||!k||jn(k,r)},[n,r,k]);let A=J(e=>D.ensureSessionRenderable(e,{directory:k})),j=s(e=>e.isExpandedInput),M=s(e=>e.stickyUserHeader),N=s(e=>e.promptNavigatorEnabled),P=s(e=>e.allowPromptingSubagentSessions),F=s(e=>e.isTimelineDialogOpen),I=s(e=>e.setTimelineDialogOpen),L=Ft(e=>n&&r?e.streamingMessageIds.get(r)??null:null),R=Ft(e=>L?e.messageStreamStates.get(L)?.phase??null:null),z=wi(r??``,k),B=SR(z);Z.useEffect(()=>{!a||!o||o(a,B)},[o,B,a]);let V=oi(r??``,k).renderable,H=pt(r,k),U=qn(r),W=H??U,ee=Lg({sessionId:r,hasSessionEntity:!!W,hasRenderableSessionSnapshot:V,composerSurfaceKind:c?.kind}),G=r?JSON.stringify([k,r]):null,[K,q]=Z.useState({key:G,attempt:0}),te=pr(r??``,k,{suspendPartUpdates:!!L,suspendPartUpdatesForMessageId:L}),ne=r?te:JL,re=b.pendingUserMessage,ie=Zr(e=>r?e.retainedPendingUserMessages.get(r):void 0)??YL,ae=Zr(e=>e.clearRetainedPendingUserMessages),oe=Z.useMemo(()=>{if(ie.length===0)return m;if(m.length===0)return ie;let e=new Set(m.map(e=>e.info.id));return[...m,...ie.filter(t=>!e.has(t.info.id))]},[m,ie]),se=Z.useMemo(()=>KL(ne),[ne]),ce=Z.useMemo(()=>{if(!se.modelId)return _(`common.unavailable`);let e=E.find(e=>e.id===se.providerId);return Ai(e,se.modelId)||se.modelId},[E,se.modelId,se.providerId,_]),le=Br(r??``,k),ue=ri(r??``,k),[de,fe]=Z.useState(null),pe=!!r&&de===r,me=J(()=>{if(!r||pe)return;let e=r,t=k;fe(e);let n=Fi(()=>{let n=zi();if(!n)throw Error(`unbound`);return n.getTranscript(un(t,e))});Fr(_r({kind:`refresh`,sessionID:e,directory:t,purpose:`retry`,source:`network`,request:le?{sessionID:e,status:le.status===`ready`?`ready`:le.status,error:le.error}:void 0,hydration:ue,error:le?.error})),(async()=>{try{await ht(t,e),await D.ensureSessionRenderable(e,{directory:t});try{let r=Fi(()=>{let n=zi();if(!n)throw Error(`unbound`);return n.getTranscript(un(t,e))});n&&r&&Mr({trigger:`user-refresh`,sessionID:e,directory:t,purpose:`retry`,before:n,after:r})}catch{}}catch(n){Fr(_r({kind:`request-error`,sessionID:e,directory:t,purpose:`retry`,source:`network`,hydration:ue,error:n}))}finally{fe(t=>t===e?null:t)}})()}),he=Ir(r??``,k).boundary,ge=J(async e=>{if(he.kind===`has-more`){await Nn(k,e);return}if(he.kind===`unknown`){await Wi(k,e);return}u&&!u.complete&&await u.fetchPrevious()});yL(r??``,ne);let _e=wr(r??``,k),ve=Ar(r??``,k),ye=hi(k),be=_e??XL,xe=or(r,k),Se=On(r,k);kL(r,k,ne,Se.length);let Ce=Z.useMemo(()=>{if(!r||xe.length>0||Se.length>0)return!1;let e=be.type??`idle`;if(e===`busy`||e===`retry`||Tx(oe,{resolvedSessionStatus:_e,sessionStatusObservedAt:ve}))return!0;let t=ne[ne.length-1]?.info,n=t?.time?.created;return _e&&typeof ve==`number`&&typeof n==`number`&&n<=ve||typeof ye==`number`&&typeof n==`number`&&n<=ye?!1:!!(t&&t.role===`assistant`&&typeof t.time?.completed!=`number`)},[r,oe,_e,ne,xe.length,Se.length,be.type,ve,ye]),we=Z.useMemo(()=>!r||be.type!==`retry`?null:{sessionId:r,message:(typeof be.message==`string`?(be.message??``).trim():``)||$L,confirmedAt:be.confirmedAt},[r,be]),[Te,Ee]=Z.useState(0),De=Z.useRef(null);Z.useEffect(()=>{if(!we||typeof we.confirmedAt==`number`){De.current=null,Ee(0);return}De.current!==we.sessionId&&(De.current=we.sessionId,Ee(Date.now()))},[we]);let Oe=Z.useMemo(()=>we?{...we,fallbackTimestamp:Te}:null,[we,Te]),ke=!!(r&&D.isLoading(r,{directory:k})),Ae=Z.useMemo(()=>{if(!r)return null;let e=Ex({boundary:he,assistantComplete:u?.complete??!0});return{limit:he.loadedTurns,complete:e.complete,canLoadEarlier:e.canLoadEarlier,loading:Dx({syncLoading:ke,assistantLoading:!!u?.loading})}},[u?.complete,u?.loading,r,he,ke]),je=s(e=>e.isMobile),Me=eg()!==null,Ne=d(),Pe=Sg(),Fe=!!b?.open,Ie=At(e=>e.error),Le=j,Re=Me||je||Ne||Pe===`mini-chat`,ze=Z.useRef(null),Be=Z.useMemo(()=>{let e=b?.selectedProjectId?w.find(e=>e.id===b.selectedProjectId)??null:null,t=T?w.find(e=>e.id===T)??null:null,n=e??t??w[0]??null;return n?bR(n):null},[T,b?.selectedProjectId,w]),Ve=Qn(r,k),He=a??r??``,[Ue,We]=Z.useState(null),Ge=Hg(Ue,He,Ve,se);rt(()=>{We(e=>Hg(e,He,Ve,se))},[Ve,se,He]);let Ke=Ve??Ge?.parentTarget??null,qe=Ge?.execution??se,Je=dl(),Ye=Je!==null&&r===Je,Xe=J(()=>{Ke&&y(Ke.id,Ke.directory)}),Ze=Ke?.session?.title,Qe=g.returnToParent&&Ke&&!Ye?(0,$.jsxs)(ca,{type:`button`,variant:`outline`,size:`xs`,onClick:Xe,className:`absolute left-3 top-3 z-20 !font-normal bg-[var(--surface-background)]/95`,"aria-label":_(`chat.container.returnToParent.aria`),title:Ze?.trim()?_(`chat.container.returnToParent.titleNamed`,{title:Ze}):_(`chat.container.returnToParent.title`),children:[(0,$.jsx)(X,{name:`arrow-left`,className:`h-4 w-4`}),_(`chat.container.returnToParent.label`)]}):null,$e=Rg({readOnly:t,sessionIdentityPending:ee,isSubagentSession:!!W?.parentID||!!Ge,allowPromptingSubagentSessions:P}),tt=qe.modelId===se.modelId?ce:qe.modelId?Ai(E.find(e=>e.id===qe.providerId),qe.modelId)||qe.modelId:_(`common.unavailable`),st=Ke?(0,$.jsx)(Rx,{agentName:qe.agentName,providerId:qe.providerId,modelId:qe.modelId,modelName:tt}):(0,$.jsx)(Rx,{}),ct=J(e=>{s.getState().setAllowPromptingSubagentSessions(e.allowPromptingSubagentSessions)}),lt=J(e=>{if(typeof window>`u`||e.source!==window.parent||e.origin!==window.location.origin)return;let t=e.data;t?.type===`openchamber:chat-settings-sync`&&typeof t.payload?.allowPromptingSubagentSessions==`boolean`&&ct({allowPromptingSubagentSessions:t.payload.allowPromptingSubagentSessions})}),ut=typeof window<`u`&&window.parent!==window;it(`message`,lt,ut?window:QL),nt(()=>{if(!ut)return;let e=window;e.__openchamberApplyChatSettingsSync=ct,window.parent.postMessage({type:`openchamber:chat-settings-request`},window.location.origin)}),et(()=>{if(typeof window>`u`)return;let e=window;e.__openchamberApplyChatSettingsSync===ct&&delete e.__openchamberApplyChatSettingsSync}),Z.useEffect(()=>{g.newSessionDraft&&e&&!r&&!Fe&&v()},[e,r,Fe,g.newSessionDraft,v]);let dt=Z.useRef(()=>{}),ft=J(e=>{dt.current(e)}),mt=Z.useRef(()=>{}),gt=J(()=>{mt.current()}),_t=Gx(e=>e.legendTimelineEnabled),[vt,yt]=Z.useState(!0),[bt,xt]=Z.useState(!1),[St,Ct]=Z.useState(!1),[wt,Tt]=Z.useState(0),Et=J(()=>{Tt(e=>e+1)}),Dt=J((e,t)=>{yt(e),e&&Ct(!1),t!==void 0&&xt(t)});Z.useEffect(()=>{yt(!0),xt(!1),Ct(!1)},[r]);let{scrollRef:Ot,notifyContentChange:jt,getAnimationHandlers:Mt,goToBottom:Nt,scrollToBottomOnSend:It,releaseAutoFollow:Lt,beginHistoryViewportPreservation:Rt,endHistoryViewportPreservation:zt,restoreSnapshot:Bt,isPinned:Vt,isFollowingProgrammatically:Ht,showScrollButton:Ut}=SF({enabled:n&&!_t,currentSessionId:r,viewportKey:a,sessionMessageCount:z,sessionIsWorking:Ce,isMobile:je,onActiveTurnChange:ft,onUpwardUserIntent:gt}),Wt=Z.useRef(null);GF({enabled:je,scrollRef:Ot,scopeRef:Wt});let Gt=Z.useRef([]),Kt=Z.useMemo(()=>{let e=Pt(u?.entries??[],r,Gt.current);return Gt.current=e,e},[u?.entries,r]),qt=Z.useRef([]),Jt=Z.useMemo(()=>{if(!u)return ne;let e=In(u.entries,r,ne,qt.current);return qt.current=e,e},[u,r,ne]),Yt=Z.useMemo(()=>wx(Kt.length===0?Jt:r?[...Kt,Pn(r),...Jt]:Kt,oe),[r,Jt,Kt,oe]),Xt=Z.useRef(null),Zt=Z.useMemo(()=>Nx({sessionId:r,messages:Yt,retained:Xt.current}),[r,Yt]);Xt.current=Zt.retained;let Qt=Zt.messages,$t=Z.useRef(null),en=$t.current===r,tn=Z.useRef(gL),nn=r?`${k}\n${r}`:null,rn=J(()=>hL(Qt));Z.useEffect(()=>{if(!r||!nn||!Ce){tn.current={...tn.current,lastMovementAt:null};return}let e=r,t=k,n=setInterval(()=>{let n=rn(),r=_L(tn.current,{sessionKey:nn,working:!0,streaming:!!L,fingerprint:n,now:Date.now(),thresholdMs:dL,cooldownMs:fL,maxAttempts:3});tn.current=r.state,r.shouldRefresh&&(vL({sessionId:e,directory:t,stalledForMs:r.stalledForMs,attempt:r.state.attempts,fingerprint:n}),vn(t,e).catch(()=>{}))},pL);return()=>clearInterval(n)},[r,k,rn,Ce,L,nn]);let an=Z.useMemo(()=>{if(oe.length===0)return[];let e=new Set([...Kt,...Jt].filter(e=>kt(e.parts)).map(e=>e.info.id));return oe.map(e=>e.info.id).filter(t=>e.has(t))},[Jt,Kt,oe]);Z.useEffect(()=>{an.length!==0&&(h?.(an),r&&ae(r,an))},[ae,r,an,h]);let sn=rL({sessionId:r,directory:k,messages:Qt,historyMeta:Ae,scrollRef:Ot,messageListRef:ze,loadMoreMessages:ge,goToBottom:Nt,releaseAutoFollow:Lt,beginHistoryViewportPreservation:Rt,endHistoryViewportPreservation:zt,isPinned:_t?vt:Vt,showScrollButton:_t?bt:Ut,autoFillEnabled:n&&!Le,onWillLoadEarlier:Et}),cn=J(()=>{Ct(!1),ze.current?.scrollToBottom(),Nt(`instant`)}),ln=J(()=>{Ct(!1),It()}),dn=J(()=>{Ct(!0),sn.handleHistoryUpwardIntent()}),fn=Ox({isMobile:je,canLoadEarlier:sn.historySignals.canLoadEarlier,isLoadingOlder:sn.isLoadingOlder}),pn=sn.isLoadingOlder,mn=sn.loadEarlier,hn=J(()=>{Ct(!0),mn({userInitiated:!0})});dt.current=sn.handleActiveTurnChange,mt.current=sn.handleHistoryUpwardIntent,Z.useEffect(()=>{(xe.length!==0||Se.length!==0)&&jt(`permission`)},[jt,xe,Se]);let gn=uL({sessionId:r,turnIds:sn.turnIds,activeTurnId:sn.activeTurnId,scrollToTurn:sn.scrollToTurn,scrollToMessage:sn.scrollToMessage,resumeToBottom:cn}),_n=$e.showReadOnlyBanner?st:t?null:(0,$.jsx)(gx,{surface:c,scrollToBottom:ln,showScrollToBottom:je&&sn.showScrollToBottom,onScrollToBottom:gn.resumeToLatest,submissionBlocked:$e.blockSubmission}),yn=J(e=>{gn.scrollToTurnId(e,{behavior:`smooth`})}),bn=sn.historySignals.canLoadEarlier,Sn=g.promptNavigator&&!je&&!Ne&&!Le&&N&&sn.turnIds.length>=2;Z.useEffect(()=>{Sn||s.getState().setPromptNavigatorPanelOpen(!1)},[Sn]);let Cn=J(e=>{if(!n||!r)return;let t=e;t.detail?.sessionId&&t.detail.sessionId!==r||Nt(`instant`)});it(ZL,Cn,n&&r&&typeof window<`u`?window:QL);let wn=J(e=>{if(!n||!r||Le||e.defaultPrevented||e.isComposing||e.key!==`ArrowUp`&&e.key!==`ArrowDown`||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let{activeMainTab:t}=s.getState();if(t!==`chat`||_R())return;let i=Ot.current;if(gR(document.activeElement,i)||hR(e.target))return;e.preventDefault();let a=e.key===`ArrowUp`?-1:1;gn.scrollByTurnOffset(a,{resumePastEnd:!1})});it(`keydown`,wn,n&&r&&!Le&&typeof window<`u`?window:QL);let Tn=Z.useRef(0),En=J(()=>{let e=Ot.current;e&&e.style.setProperty(`--chat-scroll-height`,`${e.clientHeight}px`)}),Dn=J(()=>{Tn.current||=requestAnimationFrame(()=>{Tn.current=0,En()})});rt(()=>{n&&En()},[n,r,Le,En]);let kn=typeof ResizeObserver<`u`;at(n&&kn?Ot:null,Dn),it(`resize`,Dn,n&&!kn&&typeof window<`u`?window:QL),et(()=>{Tn.current&&=(cancelAnimationFrame(Tn.current),0)});let An=Z.useRef(null),Mn=Z.useRef(0),Fn=jx({transcriptMessageCount:ne.length,pendingUserCount:oe.length,historyPrefixCount:Kt.length}),Ln=Mx({hasTranscriptShell:Fn,p0Satisfied:ue.p0Satisfied,hasBusyShell:Ce&&Fn,hasImmediateShell:oe.length>0||Kt.length>0,hasRenderableSessionSnapshot:V,prefetchStatus:le?.status,syncLoading:!!(r&&D.isLoading(r,{directory:k})),userRetrying:pe,hasPaintedTranscript:en});Ln===`pass`&&Qt.length>0&&($t.current=r);let Rn=!!r&&Ln===`hydrating`,zn=!!r&&Ln===`load-error`;Z.useEffect(()=>{!zn||!r||Fr(_r({kind:`request-error`,sessionID:r,directory:k,purpose:`load-failed`,source:`network`,request:le?{sessionID:r,status:le.status===`ready`?`ready`:le.status,error:le.error}:void 0,hydration:ue,error:le?.error}))},[r,k,zn,le,ue]),Z.useEffect(()=>{if(!n||!r||Rn)return;let e=Qt.length,t=An.current!==r,i=!t&&Mn.current===0&&e>0;if(!t&&!i){An.current===r&&(Mn.current=e);return}let a=typeof window<`u`&&window.location.hash.length>0;if(An.current=r,Mn.current=e,a){Lt();return}let o=()=>{Bt()};typeof window>`u`?o():window.requestAnimationFrame(o)},[n,r,Rn,Lt,Bt,Qt.length]),Z.useEffect(()=>{q(e=>e.key===G?e:{key:G,attempt:0})},[G]),Z.useEffect(()=>{if(!n||!r||K.key!==G||!qL({sessionId:r,hasRenderableSessionSnapshot:V,hasCurrentSessionEntity:!!W})||(A(r),W||K.attempt>=2))return;let e=K.attempt+1,t=window.setTimeout(()=>{q(t=>t.key===G&&t.attempt===K.attempt?{key:G,attempt:e}:t)},e*1e3);return()=>window.clearTimeout(t)},[n,W,r,k,A,V,G,K]);let Bn=C&&r&&(C.targetSessionId?r===C.targetSessionId:r===C.sourceSessionId)?C:null;if(Bn){let e=Bn.stage===`preparing`?`chat.forkTransition.preparing`:Bn.stage===`copying`?`chat.forkTransition.copying`:Bn.stage===`opening`?`chat.forkTransition.opening`:`chat.forkTransition.loading`,t=[`preparing`,`copying`,`opening`,`loading`],n=_(`chat.forkTransition.progress`,{current:Math.max(1,t.indexOf(Bn.stage)+1),total:t.length});return(0,$.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center bg-background px-6 text-center`,children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,role:`status`,"aria-live":`polite`,"aria-label":`${_(e)}. ${n}`,children:[(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(e)}),(0,$.jsx)(Bp,{})]}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground/70 tabular-nums`,children:n})]})})}return!r&&!Fe?e&&!Ie?(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)(Bx,{})}):!r&&Fe?(x||S)&&re?(0,$.jsx)(`div`,{className:`relative flex h-full flex-col bg-background`,children:(0,$.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,$.jsxs)(Oa,{className:`absolute inset-0 overflow-y-auto overflow-x-hidden chat-scroll`,style:cR,children:[(0,$.jsx)(JN,{sessionKey:`draft:${b.draftID??`pending`}`,messages:[re],sessionIsWorking:!0,isLoadingOlder:!1,onMessageContentChange:jt,getAnimationHandlers:Mt,scrollToBottom:cn}),(0,$.jsxs)(`div`,{className:`chat-message-column px-4 pb-10 pt-2 typography-meta text-muted-foreground`,role:`status`,"aria-live":`polite`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(Bp,{})]})]})})}):x||S?(0,$.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center bg-background px-6 text-center`,children:(0,$.jsx)(`div`,{className:`flex flex-col items-center gap-3`,role:`status`,"aria-live":`polite`,"aria-label":_(`chat.emptyState.establishingConversation`),children:(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(Bp,{})]})})}):(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[Re&&!Le?(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:xR(Be?_(`chat.emptyState.draftTitleWithProject`,{project:Be}):_(`chat.emptyState.draftTitle`),Be)}),(0,$.jsx)(P_,{onSubmit:e=>on.getState().requestPresetSubmit(e),className:`oc-draft-starters mt-8 max-w-md`})]}):null,(0,$.jsx)(`div`,{className:Y(`relative z-10 flex min-h-0`,je&&`oc-mobile-composer-foot`,Le?`flex-1 bg-background`:Re?Y(`bg-background`,`px-0`):`flex-1 items-center justify-center bg-background px-0 pb-[6vh]`),children:_n})]}):r?zn?(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[Qe,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Le?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Le,children:Le?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center px-6`,children:(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center text-center`,role:`alert`,"aria-live":`polite`,children:[(0,$.jsx)(`div`,{className:`mb-4 flex size-10 items-center justify-center rounded-full bg-[var(--status-error-background)] text-[var(--status-error-foreground)]`,children:(0,$.jsx)(X,{name:`error-warning`,className:`size-5`,"aria-hidden":`true`})}),(0,$.jsx)(`h2`,{className:`typography-ui-header text-foreground`,children:_(`chat.history.loadFailedTitle`)}),(0,$.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:_(`chat.history.loadFailedDescription`)}),(0,$.jsxs)(ca,{type:`button`,className:`mt-5`,onClick:me,children:[(0,$.jsx)(X,{name:`refresh`,className:`size-4`,"aria-hidden":`true`}),_(`chat.history.retry`)]})]})})}),(0,$.jsx)(`div`,{className:Y(`relative z-10`,je&&`oc-mobile-composer-foot`,Le?`flex-1 min-h-0 bg-background`:`bg-background`),children:_n})]}):Rn?(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex flex-col h-full bg-background`,je&&`oc-chat-composer-swap-scope`),children:[Qe,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Le?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Le,children:(0,$.jsx)(`div`,{ref:Ot,className:`absolute inset-0 overflow-y-auto overflow-x-hidden bg-background pt-6 chat-scroll`,style:cR,children:(0,$.jsx)(`div`,{className:`space-y-4 chat-scroll-foot-inset`,children:yR.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)(oc,{className:`h-3.5 w-3.5 rounded-full flex-shrink-0`}),(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,t.titleWidth)}),(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,t.detailWidth)})]},`${e.id}-${t.id}`))}),(0,$.jsxs)(`div`,{className:`space-y-1.5 pt-1`,children:[(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,e.textWidths[0])}),(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,e.textWidths[1])}),(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,e.textWidths[2])})]})]})})},e.id))})})}),(0,$.jsxs)(`div`,{className:Y(`relative z-10`,je&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Le?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!je&&!Le?(0,$.jsx)(uR,{}):null,_n]})]}):Qt.length===0&&!Ce?(0,$.jsxs)(`div`,{className:`relative flex flex-col h-full bg-background`,children:[Qe,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Le?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Le,children:Le?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,$.jsx)(Bx,{})})}),(0,$.jsx)(`div`,{className:Y(`relative z-10`,je&&`oc-mobile-composer-foot`,Le?`flex-1 min-h-0 bg-background`:`bg-background`),children:_n}),(0,$.jsx)(Cx,{})]}):(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex flex-col h-full bg-background`,je&&`oc-chat-composer-swap-scope`),children:[p?(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:p}):null,Qe,(0,$.jsx)(vR,{currentSessionId:r,virtualizerKey:a??r,isDesktopExpandedInput:Le,isMobile:je,stickyUserHeader:M,directory:k,scrollRef:Ot,messageListRef:ze,pendingRevealWork:sn.pendingRevealWork,renderedMessages:sn.renderedMessages,isLoadingOlder:pn,sessionIsWorking:Ce,streamingMessageId:L,activeStreamingPhase:R,retryOverlay:Oe,handleMessageContentChange:jt,getAnimationHandlers:Mt,handleHistoryScroll:sn.handleHistoryScroll,handleHistoryUpwardIntent:dn,onTimelineIsAtEndChange:Dt,timelineFollowSuspended:St,timelineHistoryAnchorToken:wt,scrollToBottom:cn,sessionQuestions:Se,sessionPermissions:xe,isProgrammaticFollowActive:Ht,showLoadOlderButton:fn,onLoadOlder:hn,turnIds:sn.turnIds,activeTurnId:sn.activeTurnId,onSelectTurn:yn,showPromptNavigator:Sn,canLoadEarlierPrompts:bn,isLoadingOlderPrompts:pn,onLoadEarlierPrompts:hn},r),(0,$.jsxs)(`div`,{className:Y(`relative z-10`,je&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Le?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!je&&!Le?(0,$.jsx)(uR,{}):null,!Le&&Qt.length>0&&(je?(0,$.jsx)(bg,{placement:`expanded`,visible:sn.showScrollToBottom,onClick:gn.resumeToLatest}):(0,$.jsx)(bg,{visible:sn.showScrollToBottom,onClick:gn.resumeToLatest})),_n]}),(0,$.jsx)(Cx,{}),(0,$.jsx)(aL,{open:F,onOpenChange:I,sessionID:r??void 0,directory:k,onRevertMessage:f,onScrollToMessage:sn.scrollToMessage,onScrollByTurnOffset:gn.scrollByTurnOffset,onResumeToLatest:cn,canLoadEarlier:sn.historySignals.canLoadEarlier,isLoadingEarlier:pn,onLoadEarlier:hn})]}):null});CR.displayName=`MemoizedChatContainerContent`;var wR=()=>{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)(oc,{className:`h-4 w-4/5 animate-none rounded-md`}),(0,$.jsx)(oc,{className:`h-4 w-2/3 animate-none rounded-md`}),(0,$.jsx)(oc,{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)(oc,{className:`h-4 w-5/6 animate-none rounded-md`}),(0,$.jsx)(oc,{className:`h-4 w-3/5 animate-none rounded-md`})]}),(0,$.jsx)(oc,{className:`h-24 w-full animate-none rounded-xl`})]})})}),e[1]=n):n=e[1],n},TR=e=>{let t=(0,Q.c)(63),n,r;t[0]===e?(n=t[1],r=t[2]):({runtimeKey:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=Sg(),a=cr(),o=Zr(pe(kR)),s;bb0:{if(!o.sessionId){s=null;break bb0}let e=o.directory??a,n;t[3]!==r||t[4]!==o.sessionId||t[5]!==e?(n={runtimeKey:r,sessionId:o.sessionId,directory:e},t[3]=r,t[4]=o.sessionId,t[5]=e,t[6]=n):n=t[6],s=n}let c=s,l;t[7]===c?l=t[8]:(l=NL(c),t[7]=c,t[8]=l);let u=l,f=u.key,p=bt()||d()||i===`mini-chat`?oR:aR,m;t[9]!==p||t[10]!==c||t[11]!==u?(m=()=>({activeIntent:u,cacheNeedsTrim:!1,cachedSessionViews:c?FL([],c,p,tR):[],pendingSessionView:null}),t[9]=p,t[10]=c,t[11]=u,t[12]=m):m=t[12];let[h,g]=Z.useState(m),_=Z.useRef(u),v=Z.useRef(f),{cacheNeedsTrim:y,cachedSessionViews:b,pendingSessionView:x}=h,S=x?.intent===u?x.entry:null,C;if(t[13]!==b||t[14]!==S){let e=[...b];S&&!e.some(e=>e.key===S.key)&&e.push(S),C=e.sort(AR),t[13]=b,t[14]=S,t[15]=C}else C=t[15];let w=C,T;t[16]!==w||t[17]!==f?(T=LL(w,f),t[16]=w,t[17]=f,t[18]=T):T=t[18];let E=T,D=!!(f&&!E),O;t[19]!==p||t[20]!==u||t[21]!==f?(O=()=>{_.current=u,v.current=f,g(e=>RL(e,u,p))},t[19]=p,t[20]=u,t[21]=f,t[22]=O):O=t[22];let k;t[23]!==p||t[24]!==y||t[25]!==u||t[26]!==f?(k=[p,y,u,f],t[23]=p,t[24]=y,t[25]=u,t[26]=f,t[27]=k):k=t[27],rt(O,k);let A=x?.intent??null,j,M;t[28]!==p||t[29]!==A?(j=()=>{A&&g(e=>BL(e,A,p))},M=[p,A],t[28]=p,t[29]=A,t[30]=j,t[31]=M):(j=t[30],M=t[31]),rt(j,M);let N;t[32]!==E||t[33]!==u||t[34]!==f?(N=()=>{if(!u.selection||E)return;let e=u,t=f;return hc(()=>{_.current===e&&v.current===t&&g(n=>v.current===t?zL(n,e,_.current,tR):n)},{priority:`user-blocking`})},t[32]=E,t[33]=u,t[34]=f,t[35]=N):N=t[35];let P;t[36]!==E||t[37]!==p||t[38]!==u||t[39]!==f?(P=[E,p,u,f],t[36]=E,t[37]=p,t[38]=u,t[39]=f,t[40]=P):P=t[40],Z.useEffect(N,P);let F;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(F=(e,t)=>{let n=_.current,r=v.current;g(i=>{if(_.current!==n||v.current!==r||i.activeIntent!==n||e!==r)return i;let a=IL(i.cachedSessionViews,e,t);return a===i.cachedSessionViews?i:{...i,cacheNeedsTrim:!0,cachedSessionViews:a}})},t[41]=F):F=t[41];let I=J(F),L=D||void 0,R;t[42]!==D||t[43]!==f?(R=D?(0,$.jsx)(wR,{},f):null,t[42]=D,t[43]=f,t[44]=R):R=t[44];let z;if(t[45]!==E||t[46]!==I||t[47]!==n||t[48]!==w){let e;t[50]!==E||t[51]!==I||t[52]!==n?(e=e=>(0,$.jsx)(Z.Activity,{name:`chat-session-${e.sessionId}`,mode:E===e.key?`visible`:`hidden`,children:(0,$.jsx)(CR,{...n,sessionId:e.sessionId,sessionDirectory:e.directory,sessionViewKey:e.key,onSessionViewEstimateChange:I})},e.key),t[50]=E,t[51]=I,t[52]=n,t[53]=e):e=t[53],z=w.map(e),t[45]=E,t[46]=I,t[47]=n,t[48]=w,t[49]=z}else z=t[49];let B;t[54]!==n||t[55]!==o.directory||t[56]!==f?(B=f?null:(0,$.jsx)(CR,{...n,sessionId:null,sessionDirectory:o.directory}),t[54]=n,t[55]=o.directory,t[56]=f,t[57]=B):B=t[57];let V;return t[58]!==L||t[59]!==R||t[60]!==z||t[61]!==B?(V=(0,$.jsxs)(`div`,{className:`h-full bg-background`,"aria-busy":L,children:[R,z,B]}),t[58]=L,t[59]=R,t[60]=z,t[61]=B,t[62]=V):V=t[62],V},ER=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=Px(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)(CR,{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)(Ph.Provider,{value:u,children:f}),t[21]=u,t[22]=f,t[23]=p):p=t[23],p},DR=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=cr(),o=n.directory??a,s;t[4]!==o||t[5]!==n?(s=Nh({...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)(CR,{...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)(Ph.Provider,{value:c,children:u}),t[13]=c,t[14]=u,t[15]=d):d=t[15],d},OR=e=>{let t=(0,Q.c)(14),n=Z.useSyncExternalStore(sR,i,i);if(e.host){let r=`${n}:${e.host.sessionSurface.surfaceId}`,i;return t[0]!==e||t[1]!==n||t[2]!==r?(i=(0,$.jsx)(ER,{...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)(DR,{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)(TR,{...e,runtimeKey:n},n),t[11]=e,t[12]=n,t[13]=r):r=t[13],r};function kR(e){return{sessionId:e.currentSessionId,directory:e.currentSessionDirectory}}function AR(e,t){return e.key.localeCompare(t.key)}export{cu as $,Wg as A,Pm as B,y_ as C,o_ as D,__ as E,$h as F,Yp as G,Sm as H,eg as I,Yu as J,Bp as K,Ah as L,xg as M,bg as N,c_ as O,mg as P,su as Q,jh as R,v_ as S,x_ as T,am as U,Dm as V,Jp as W,Nu as X,qu as Y,Du as Z,Ay as _,SF as a,al as at,W_ as b,UO as c,eD as d,nl as et,WE as f,Iy as g,Rx as h,tI as i,ul as it,Gg as j,Yg as k,$E as l,Gx as m,KL as n,il as nt,JN as o,OE as p,_d as q,iI as r,cl as rt,Hk as s,OR as t,rl as tt,QE as u,ky as v,g_ as w,h_ as x,tv as y,Ph as z};
6582
+ `).trimEnd()}function _P(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 vP=200;function yP(e){return Math.min(Math.max(e,40),vP)}var bP=`summary`,xP=Z.memo(function(e){let t=(0,Q.c)(27),{value:n,placeholder:r,disabled:i,onValueChange:a,onKeyDown:o}=e,s=Z.useRef(null),[c,l]=Z.useState(n),[u,d]=Z.useState(40),[f,p]=Z.useState(!1),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{let e=s.current;if(!e||document.activeElement!==e)return;let t=e.closest(`.chat-scroll`);if(!t){e.scrollIntoView({block:`nearest`});return}let n=window.visualViewport,r=t.getBoundingClientRect(),i=n?.offsetTop??0,a=n?n.offsetTop+n.height:document.documentElement.clientHeight,o=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(`--oc-kb-scroll-inset`))||0,c=Math.max(r.top,i),l=Math.min(r.bottom,a-o),u=Math.max(0,l-c),d=e.closest(`[data-question-card]`),f=d?.getBoundingClientRect(),p=(d&&f&&f.height<=u?d:e).getBoundingClientRect();p.bottom>l-12?t.scrollTop+=p.bottom-l+12:p.top<c+12&&(t.scrollTop+=p.top-c-12)},t[0]=m):m=t[0];let h=J(m),g;t[1]===h?g=t[2]:(g=()=>{requestAnimationFrame(h)},t[1]=h,t[2]=g);let _=J(g),v;t[3]===h?v=t[4]:(v=()=>{let e=()=>requestAnimationFrame(h);return e(),window.addEventListener(`oc:keyboard-settled`,e),window.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`scroll`,e),()=>{window.removeEventListener(`oc:keyboard-settled`,e),window.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`scroll`,e)}},t[3]=h,t[4]=v);let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],t[5]=y):y=t[5],Z.useEffect(v,y);let b,x;t[6]===n?(b=t[7],x=t[8]):(b=()=>{l(n)},x=[n],t[6]=n,t[7]=b,t[8]=x),Z.useEffect(b,x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>{let e=s.current;if(!e)return;e.style.height=`auto`,e.style.overflowY=`hidden`;let t=e.scrollHeight,n=yP(t),r=t>n;e.style.height=`${n}px`,e.style.overflowY=``,d(e=>e===n?e:n),p(e=>e===r?e:r)},t[9]=S):S=t[9];let C;t[10]===c?C=t[11]:(C=[c],t[10]=c,t[11]=C),Z.useLayoutEffect(S,C);let w;t[12]===a?w=t[13]:(w=e=>{let t=e.target.value;l(t),a(t)},t[12]=a,t[13]=w);let T;t[14]===u?T=t[15]:(T={height:u},t[14]=u,t[15]=T);let E=f?`overflow-y-auto`:`overflow-hidden`,D;t[16]===E?D=t[17]:(D=Y(`w-full bg-transparent border border-border/30 focus:border-primary rounded px-2 py-1 outline-none typography-meta text-foreground placeholder:text-muted-foreground/50 transition-colors resize-none`,E),t[16]=E,t[17]=D);let O;return t[18]!==i||t[19]!==_||t[20]!==c||t[21]!==o||t[22]!==r||t[23]!==T||t[24]!==D||t[25]!==w?(O=(0,$.jsx)(`textarea`,{ref:s,value:c,onChange:w,placeholder:r,disabled:i,rows:2,onKeyDown:o,onFocus:_,style:T,className:D,autoFocus:!0}),t[18]=i,t[19]=_,t[20]=c,t[21]=o,t[22]=r,t[23]=T,t[24]=D,t[25]=w,t[26]=O):O=t[26],O}),SP=({question:e})=>{let{t}=ot(),n=Zn,r=xi,i=s(e=>e.isMobile),a=Nr(),o=Zr(e=>e.currentSessionId),c=Z.useMemo(()=>{if(!o||e.sessionID===o)return!1;let t=a.find(t=>t.id===e.sessionID);return!!(t?.parentID&&t.parentID===o)},[e.sessionID,o,a]),[l,u]=Z.useState(`0`),[d,f]=Z.useState(!1),[p,m]=Z.useState(!1),[h,g]=Z.useState({}),[_,v]=Z.useState({}),y=Z.useRef({}),[b,x]=Z.useState({}),S=Z.useMemo(()=>e.questions??[],[e.questions]),C=l===bP,w=C?-1:Math.max(0,Math.min(S.length-1,Number(l)||0)),T=C?null:S[w],E=Z.useMemo(()=>{if(C)return null;let e=T?.header?.trim();return e&&e.length>0?e:null},[T?.header,C]);Z.useEffect(()=>{u(`0`),g({}),v({}),y.current={},x({}),m(!1)},[e.id]);let D=Z.useMemo(()=>{let e=S.map((e,t)=>({value:String(t),label:e.header?.trim()||`Q${t+1}`}));return S.length>1&&e.push({value:bP,label:t(`chat.questionCard.summaryTab`)}),e},[S,t]),O=Z.useCallback(e=>{if(_[e])return(y.current[e]??``).trim()||t(`chat.questionCard.noAnswer`);let n=h[e]??[];return n.length>0?n.join(`, `):t(`chat.questionCard.noAnswer`)},[_,h,t]),k=!!T?.multiple,A=h[w]??[],j=!!_[w],M=Z.useMemo(()=>{let e=[];for(let t=0;t<S.length;t+=1){if(_[t]){b[t]||e.push(t);continue}(h[t]??[]).length===0&&e.push(t)}return e},[_,b,S.length,h]),N=Z.useMemo(()=>S.length!==0&&M.length===0,[S.length,M.length]),P=Z.useCallback(()=>{if(S.length===0||M.length===0)return;let e=C?-1:w;for(let t=1;t<=S.length;t+=1){let n=(e+t+S.length)%S.length;if(M.includes(n)){u(String(n));return}}u(String(M[0]))},[w,C,S.length,M]),F=Z.useCallback(()=>{let e=[];for(let t=0;t<S.length;t+=1){if(_[t]){let n=(y.current[t]??``).trim();e.push(n?[n]:[]);continue}e.push(h[t]??[])}return e},[_,S.length,h]),I=Z.useCallback(e=>{T&&(v(e=>({...e,[w]:!1})),x(e=>e[w]?{...e,[w]:!1}:e),g(t=>{let n=t[w]??[];if(k){let r=n.includes(e)?n.filter(t=>t!==e):[...n,e];return{...t,[w]:r}}return{...t,[w]:[e]}}))},[w,T,k]),L=Z.useCallback(()=>{v(e=>({...e,[w]:!0})),g(e=>({...e,[w]:[]}));let e=(y.current[w]??``).trim().length>0;x(t=>t[w]===e?t:{...t,[w]:e})},[w]),R=Z.useCallback(e=>{y.current[w]=e;let t=e.trim().length>0;x(e=>e[w]===t?e:{...e,[w]:t})},[w]),z=Z.useCallback(async()=>{if(N){f(!0);try{let t=F();await n(e.sessionID,e.id,t),m(!0)}catch(e){tn(e)?(Tt.info(t(`chat.questionCard.noLongerPending`)),m(!0)):Tt.error(t(`chat.questionCard.submitFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{f(!1)}}},[F,e.id,e.sessionID,N,n,t]),B=Z.useCallback(e=>{Ng(e)||e.key===`Enter`&&!e.shiftKey&&(!i||e.ctrlKey||e.metaKey)&&(e.preventDefault(),N?z():P())},[z,P,i,N]),V=Z.useCallback(async()=>{f(!0);try{await r(e.sessionID,e.id),m(!0)}catch(e){tn(e)?(Tt.info(t(`chat.questionCard.noLongerPending`)),m(!0)):Tt.error(t(`chat.questionCard.dismissFailed`),{description:t(`chat.questionCard.tryAgain`)})}finally{f(!1)}},[e.id,e.sessionID,r,t]),H=Z.useCallback(async()=>{let n=gP(e);if((await ct(n)).ok){Tt.success(t(`chat.questionCard.copiedMarkdown`));return}Tt.error(t(`chat.questionCard.copyFailed`))},[e,t]),U=Z.useCallback(async()=>{let n=_P(e);if((await ct(n)).ok){Tt.success(t(`chat.questionCard.copiedJson`));return}Tt.error(t(`chat.questionCard.copyFailed`))},[e,t]);return p||S.length===0?null:(0,$.jsx)(`div`,{className:`group w-full pt-0 pb-2`,children:(0,$.jsx)(`div`,{className:`chat-column`,children:(0,$.jsxs)(`div`,{"data-question-card":!0,className:`-mt-1 border border-border/30 rounded-xl bg-muted/10`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border/20`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`question`,className:`h-3.5 w-3.5 text-primary`}),(0,$.jsx)(`span`,{className:`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,E?(0,$.jsx)(`span`,{className:`ml-auto typography-micro font-medium text-foreground/70 px-1.5 py-0.5 rounded bg-muted/30 border border-border/20`,children:E}):null,(0,$.jsxs)(`div`,{className:Y(`flex items-center gap-0.5`,E?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`})})]})]})}),(0,$.jsxs)(`div`,{className:`px-2 py-2`,children:[D.length>1?(0,$.jsx)(`div`,{className:`flex items-center gap-1 mb-2 flex-wrap`,children:D.map(e=>{let t=l===e.value,n=e.value===bP,r=n?-1:Number(e.value),i=!n&&Number.isFinite(r)&&!M.includes(r);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>u(e.value),className:Y(`px-2 py-0.5 typography-meta font-medium rounded transition-colors flex items-center gap-1`,t?`bg-interactive-selection/40 text-foreground`:n?`text-muted-foreground hover:text-foreground hover:bg-interactive-hover/20`:i?`text-muted-foreground/60 hover:text-muted-foreground hover:bg-interactive-hover/20`:`text-foreground/85 hover:text-foreground hover:bg-interactive-hover/20`),children:[n?(0,$.jsx)(X,{name:`list-check-3`,className:`h-3 w-3`}):null,e.label]},e.value)})}):null,C?(0,$.jsx)(`div`,{className:`space-y-2`,children:S.map((e,n)=>{let r=O(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:Y(`typography-meta`,i?`text-foreground`:`text-muted-foreground/50 italic`),children:r})]},n)})}):T?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`typography-meta font-medium text-foreground mb-1.5`,children:T.question}),k?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1.5`,children:t(`chat.questionCard.selectMultiple`)}):null,(0,$.jsxs)(`div`,{className:`space-y-0.5`,children:[T.options.map((e,n)=>{let r=A.includes(e.label),i=/\(recommended\)/i.test(e.label);return(0,$.jsx)(`button`,{type:`button`,onClick:()=>I(e.label),disabled:d,className:Y(`w-full px-1.5 py-1 text-left rounded transition-colors`,`hover:bg-interactive-hover/30`,r?`bg-interactive-selection/20`:null,d?`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`,children:k?(0,$.jsx)(ha,{checked:r,onChange:()=>I(e.label),disabled:d}):(0,$.jsx)(so,{checked:r,onChange:()=>I(e.label),disabled:d})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:Y(`typography-meta break-all`,r?`text-foreground font-medium`:`text-foreground/80`),children:e.label}),i?(0,$.jsx)(`span`,{className:`typography-micro text-primary/80`,children:t(`chat.questionCard.recommended`)}):null]}),e.description?(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground break-words`,children:e.description}):null]})]})},`${n}:${e.label}`)}),(0,$.jsx)(`button`,{type:`button`,onClick:L,disabled:d,className:Y(`w-full px-1.5 py-1 text-left rounded transition-colors`,`hover:bg-interactive-hover/30`,j?`bg-interactive-selection/20`:null,d?`opacity-60 cursor-not-allowed`:null),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`edit`,className:Y(`h-3.5 w-3.5`,j?`text-primary`:`text-muted-foreground/50`)}),(0,$.jsx)(`span`,{className:Y(`typography-meta`,j?`text-foreground font-medium`:`text-muted-foreground`),children:t(`chat.questionCard.other`)})]})}),j?(0,$.jsx)(`div`,{className:`pl-6 pr-1 pt-0.5`,children:(0,$.jsx)(xP,{value:y.current[w]??``,onValueChange:R,placeholder:t(`chat.questionCard.yourAnswer`),disabled:d,onKeyDown:B})}):null]})]}):null]}),(0,$.jsxs)(`div`,{className:`px-2 pb-1.5 pt-1 flex items-center gap-1.5 border-t border-border/20`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:N?z:P,disabled:d,className:Y(`flex 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:[N?(0,$.jsx)(X,{name:`check`,className:`h-3 w-3`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-3 w-3`}),t(N?`chat.questionCard.submit`:`chat.questionCard.next`)]}),(0,$.jsxs)(`button`,{type:`button`,onClick:V,disabled:d,className:Y(`flex 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`)]}),d?(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]})]})})})};function CP(e){return e.filter(e=>e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
6583
+ `)}function wP(e,t=80){let n=CP(e).replace(/\n/g,` `);return n.length>t?`${n.slice(0,t)}…`:n}var TP=160,EP=28,DP=12,OP=6,kP=30,AP=12,jP=18,MP=80,NP=4,PP=10,FP=14,IP=20,LP=54,RP=4,zP=8,BP=2,VP=160,HP=(e,t)=>e.map(e=>({turnId:e,preview:wP(t.get(e)??[],TP)})),UP=[1,.6,.35,.15],WP=(e,t,n)=>{let r=n?FP:PP;if(t===null)return r;let i=UP[Math.abs(e-t)]??0;return Math.round(r+(IP-r)*i)};function GP({turnIds:e,previewsByTurnId:t,activeTurnId:n,onSelectTurn:r,canLoadEarlier:i,isLoadingOlder:a,onLoadEarlier:o}){let{t:c}=ot(),l=s(e=>e.isPromptNavigatorPanelOpen),u=s(e=>e.setPromptNavigatorPanelOpen),d=Z.useRef(null),f=Z.useRef(null),[p,m]=Z.useState(null),[h,g]=Z.useState(0),[_,v]=Z.useState(!1);Z.useEffect(()=>{let e=f.current?.parentElement;if(!e||typeof ResizeObserver>`u`)return;let t=()=>{let t=e.querySelector(`.chat-message-column`);if(!t){v(!1);return}let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-OP-EP;v(r.right>i)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let y=Z.useMemo(()=>HP(e,t),[t,e]),b=Math.min(y.length,kP),x=Math.max(0,y.length-b),S=Math.min(h,x),C=S+b,w=S>0,T=C<y.length,E=c(`chat.timeline.noTextContent`),D=c(`chat.promptNavigator.currentPrompt`),O=c(`chat.promptNavigator.loadMore`),k=Z.useMemo(()=>n?y.findIndex(e=>e.turnId===n):-1,[n,y]),A=Z.useRef(S);A.current=S;let j=Z.useRef(y.length);j.current=y.length;let M=Z.useRef(null),N=Z.useRef(null),P=Z.useRef(0),F=Z.useCallback(e=>{g(t=>{let n=j.current,r=Math.min(n,kP),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})},[]),I=Z.useRef(y[0]?.turnId),L=Z.useRef(y.length);Z.useLayoutEffect(()=>{let e=I.current,t=L.current,n=y.length-t;n>0&&t>0&&e&&y[0]?.turnId!==e&&(g(e=>e+n),m(e=>e===null?null:e+n)),I.current=y[0]?.turnId,L.current=y.length},[y]),Z.useEffect(()=>{if(p!==null)return;let e=k>=0?k:y.length-1;g(()=>{let t=j.current,n=Math.min(t,kP),r=Math.max(0,t-n);return Math.max(0,Math.min(r,e-Math.floor(n/2)))})},[k,p,y.length]);let R=Z.useCallback(e=>{let t=d.current;if(!t)return null;let n=t.getBoundingClientRect(),r=Math.floor((e-n.top)/AP),i=Math.min(j.current,kP);return i===0?null:Math.max(0,Math.min(i-1,r))},[]),z=Z.useCallback(()=>{P.current=0,N.current!==null&&(window.clearInterval(N.current),N.current=null)},[]),B=Z.useCallback(()=>{let e=P.current;if(e===0){z();return}let t=j.current,n=Math.max(0,t-Math.min(t,kP)),r=Math.min(A.current,n),i=Math.max(0,Math.min(n,r+e));if(i===r){z();return}A.current=i,g(i);let a=M.current;if(a!==null){let e=R(a);e!==null&&m(Math.min(t-1,i+e))}},[R,z]),V=Z.useCallback(e=>{let t=d.current;if(!t)return;let n=t.getBoundingClientRect(),r=e-n.top,i=0;if(r<=jP&&w?i=-1:r>=n.height-jP&&T&&(i=1),P.current=i,i===0){z();return}N.current===null&&(N.current=window.setInterval(B,MP))},[B,w,T,z]);Z.useEffect(()=>()=>{N.current!==null&&window.clearInterval(N.current)},[]);let H=Z.useRef(null),U=Z.useCallback(()=>{H.current!==null&&(window.clearTimeout(H.current),H.current=null)},[]),W=Z.useCallback(()=>{U(),H.current=window.setTimeout(()=>{H.current=null,m(null)},VP)},[U]);Z.useEffect(()=>()=>{H.current!==null&&window.clearTimeout(H.current)},[]);let ee=Z.useCallback(e=>{U(),M.current=e.clientY;let t=R(e.clientY);t!==null&&m(Math.min(j.current-1,A.current+t)),V(e.clientY)},[U,R,V]),G=Z.useCallback(()=>{M.current=null,z(),W()},[W,z]),K=Z.useCallback(()=>{u(!1)},[u]),q=Z.useCallback(e=>{if(e===null)return;let t=y[e];t&&(r(t.turnId),z(),m(null),K(),d.current?.blur())},[K,r,y,z]),te=Z.useCallback(e=>{let t=R(e.clientY);t!==null&&q(Math.min(y.length-1,A.current+t))},[q,y.length,R]);Z.useEffect(()=>{if(!l)return;let e=d.current;!e||e===document.activeElement||(e.focus(),m(e=>{if(e!==null)return e;let t=k>=0?k:y.length-1;return F(t),t}))},[k,F,l,y.length]),Z.useEffect(()=>()=>{u(!1)},[u]);let ne=Z.useCallback(e=>{if(y.length===0)return;let t=p??(k>=0?k:y.length-1),n=e=>{let t=Math.max(0,Math.min(y.length-1,e));F(t),m(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(y.length-1);return}if(e.key===`Enter`||e.key===` `){e.preventDefault(),q(t);return}e.key===`Escape`&&(e.preventDefault(),m(null),K(),d.current?.blur())},[k,K,F,q,p,y.length]),re=Z.useCallback(()=>{z(),m(null),K()},[K,z]),ie=Z.useRef(null),ae=Z.useRef(p);ae.current=p;let oe=p!==null,se=Z.useRef(0);Z.useEffect(()=>{let e=ie.current;if(!e)return;let t=e=>{e.preventDefault(),e.stopPropagation(),se.current+=e.deltaY;let t=Math.trunc(se.current/LP);if(t===0)return;se.current-=t*LP;let n=ae.current;if(n===null)return;let r=Math.max(0,Math.min(j.current-1,n+t));r!==n&&(F(r),m(r))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[F,oe]);let ce=p===null?void 0:y[p],le=Math.min(y.length,zP),ue=le*LP,de=y.length*LP-ue,fe=e=>Math.max(0,Math.min(de,e)),pe=Z.useRef(null),me=0;if(p===null)pe.current=null;else if(pe.current===null)me=fe(p*LP-(ue-LP)/2),pe.current=me;else{let e=pe.current,t=(p-BP)*LP,n=(p+1+BP)*LP-ue;e>t?e=t:e<n&&(e=n),me=fe(e),pe.current=me}let he=Math.floor(me/LP),ge=Math.max(0,he-NP),_e=Math.min(y.length,he+le+NP),ve=me>0,ye=me<de,be=ve||ye?`linear-gradient(to bottom, ${ve?`transparent, black 10%`:`black`}, ${ye?`black 90%, transparent`:`black`})`:void 0,xe=Math.max(0,S-NP),Se=Math.min(y.length,C+NP),Ce=y.slice(xe,Se),we=w||T?`linear-gradient(to bottom, ${w?`transparent, black 14%`:`black`}, ${T?`black 86%, transparent`:`black`})`:void 0;return y.length===0?null:(0,$.jsx)(`nav`,{ref:f,"aria-label":c(`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:Y(`-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":O,title:O,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:d,role:`listbox`,tabIndex:-1,"aria-activedescendant":ce?`prompt-rail-tick-${ce.turnId}`:void 0,className:`relative cursor-pointer outline-none`,style:{width:`${_?DP:EP}px`,height:`${b*AP}px`},onMouseMove:ee,onMouseLeave:G,onClick:te,onKeyDown:ne,onBlur:re,children:[(0,$.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,style:we?{maskImage:we,WebkitMaskImage:we}:void 0,children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-300 ease-out`,style:{transform:`translateY(-${S*AP}px)`},children:Ce.map((e,t)=>{let r=xe+t,i=e.turnId===n,a=p===r,o=WP(r,p,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()||E,className:`pointer-events-none absolute right-1 flex items-center justify-end`,style:{top:`${r*AP}px`,height:`${AP}px`},children:(0,$.jsx)(`span`,{"aria-hidden":`true`,className:Y(`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)})},y[0]?.turnId)}),ce&&p!==null?(0,$.jsx)(`div`,{ref:ie,className:Y(`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:U,onMouseLeave:W,onMouseMove:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,$.jsx)(`div`,{className:`relative overflow-hidden`,style:{height:`${le*LP}px`,maskImage:be,WebkitMaskImage:be},children:(0,$.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-transform duration-200 ease-out`,style:{height:`${y.length*LP}px`,transform:`translateY(-${me}px)`},children:y.slice(ge,_e).map((e,t)=>{let r=ge+t,i=e.turnId===n,a=p===r;return(0,$.jsx)(`div`,{role:`option`,"aria-selected":a,"aria-current":i?`true`:void 0,title:i?D:void 0,className:`absolute inset-x-0 cursor-pointer px-1.5`,style:{top:`${r*LP+RP}px`,height:`46px`},onMouseMove:()=>{U(),ae.current!==r&&(F(r),m(r))},onClick:()=>q(r),children:(0,$.jsx)(`div`,{className:Y(`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:Y(`min-w-0 flex-1 line-clamp-2 [overflow-wrap:anywhere] typography-meta`,i?`text-[var(--interactive-selectionForeground)]`:`text-[var(--surface-mutedForeground)]`),children:e.preview.trim()||E})})},e.turnId)})})})}):null]})]})})}var KP=100,qP=(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},JP=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=qP(p,t.scrollTop+KP);!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}},YP=10,XP=`${YP}vh`,ZP=`80px`,QP=`calc(${ZP} + var(--oc-chat-foot-inset))`,$P=(e,t)=>e?80:t<=0?96:Math.max(48,YP/100*t),eF=e=>{if(e.altKey||e.ctrlKey||e.metaKey)return!1;switch(e.key){case`ArrowUp`:case`PageUp`:case`Home`:return!0;default:return!1}},tF=(e,t)=>{let n=t instanceof Element?t:t instanceof Node?t.parentElement:null;for(;n&&n!==e;){if(n instanceof HTMLElement&&n.scrollTop>0&&n.scrollHeight>n.clientHeight+1)return!0;n=n.parentElement}return!1},nF=e=>{let t=(0,Q.c)(15),{scrollRef:n,enabled:r,onUpwardIntent:i}=e,a=r===void 0||r,o=Z.useRef(null),s;t[0]===i?s=t[1]:(s=()=>{i()},t[0]=i,t[1]=s);let c=J(s),l;t[2]!==c||t[3]!==n?(l=e=>{let t=n.current;t&&(e.deltaY>=0||t instanceof HTMLElement&&(tF(t,e.target)||c()))},t[2]=c,t[3]=n,t[4]=l):l=t[4];let u=J(l),d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>{let t=e.touches.item(0);o.current=t?t.clientY:null},t[5]=d):d=t[5];let f=J(d),p;t[6]!==c||t[7]!==n?(p=e=>{let t=n.current,r=e.touches.item(0);if(!r){o.current=null;return}let i=o.current;o.current=r.clientY,i!==null&&(r.clientY-i<=2||!t||!(t instanceof HTMLElement)||tF(t,e.target)||c())},t[6]=c,t[7]=n,t[8]=p):p=t[8];let m=J(p),h;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{o.current=null},t[9]=h):h=t[9];let g=J(h),_;t[10]===c?_=t[11]:(_=e=>{eF(e)&&c()},t[10]=c,t[11]=_);let v=J(_),[y,b]=Z.useState(null),x;t[12]===n?x=t[13]:(x=()=>{let e=n.current??null;b(t=>t===e?t:e)},t[12]=n,t[13]=x),Z.useEffect(x);let S=a&&y?y:rF,C;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(C={passive:!0},t[14]=C):C=t[14];let w=C;it(`wheel`,u,S,w),it(`touchstart`,f,S,w),it(`touchmove`,m,S,w),it(`touchend`,g,S,w),it(`touchcancel`,g,S,w),it(`keydown`,v,S)};function rF(){}var iF=(e,t)=>({sessionId:e,viewportKey:t}),aF=(e,t)=>e?.sessionId===t?.sessionId&&e?.viewportKey===t?.viewportKey,oF=(e,t)=>aF(e,t),sF=(e,t,n)=>({identity:e,anchor:t,scrollPosition:n}),cF=150,lF=1500,uF=2,dF=350,fF=600,pF=8e3,mF=24,hF=2,gF=(e,t)=>e<t,_F=()=>typeof performance<`u`?performance.now():Date.now(),vF=e=>({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}),yF=e=>e.scrollHeight-e.scrollTop-e.clientHeight,bF=e=>yF(vF(e)),xF=e=>e.scrollHeight-e.clientHeight>1,SF=(e,t)=>yF(e)<=$P(t,e.clientHeight),CF=({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(iF(t,n));C.current=iF(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=J(()=>{P.current=_F()+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),H=Z.useRef(null),U=Z.useRef(null),W=Z.useRef(null),ee=Mn(e=>e.updateViewportAnchor);Z.useLayoutEffect(()=>{c.current!==d.current&&(d.current=c.current,u(c.current))});let G=J(e=>{b.current!==e&&(b.current=e,p(e))}),K=J(e=>{T.current={top:Math.max(0,e.scrollHeight-e.clientHeight),time:_F()},E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{T.current=null,E.current=null},lF)}),q=J(e=>{let t=T.current;return t?_F()-t.time>lF?(T.current=null,!1):Math.abs(e.scrollTop-t.top)<uF:!1}),te=J(()=>_F()<A.current),ne=J(()=>{L.current=!1,R.current&&=(clearTimeout(R.current),null),z.current&&=(clearTimeout(z.current),null)}),re=J(()=>{R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{R.current=null,ne()},fF)}),ie=J(()=>{let e=c.current;e&&(L.current=!0,B.current=e.scrollHeight,re(),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{z.current=null,ne()},pF))}),ae=J(e=>{let t=c.current;if(!t){h(!1),_(!1);return}let n=e??vF(t),r=xF(n);if(h(r),!r){_(!1);return}let i=b.current===`released`&&!SF(n,x.current);_(i)}),oe=J(()=>{D.current+=1,O.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(O.current),O.current=null),k.current?.(),k.current=null});Z.useEffect(()=>()=>oe(),[l]);let se=J(()=>{if(!e)return;let t=c.current;if(!t)return;oe();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=()=>{K(t),t.scrollTop=t.scrollHeight,I.current=t.scrollTop};if(a(),ae(),typeof window>`u`)return;let o=0,s=()=>{gF(_F(),P.current)||oe()};t.addEventListener(`touchstart`,s,{passive:!0,once:!0}),k.current=()=>t.removeEventListener(`touchstart`,s);let l=()=>{if(n===D.current){if(bF(t)>hF&&a(),o+=1,o>=mF){O.current=null,k.current?.(),k.current=null,ae();return}O.current=window.requestAnimationFrame(l)}};O.current=window.requestAnimationFrame(l)}),ce=J(e=>{let t=c.current;if(t){if(K(t),e===`smooth`){t.scrollTo({top:t.scrollHeight,behavior:e});return}t.scrollTop=t.scrollHeight}}),le=J((t,n=`auto`)=>{if(!e)return;let r=c.current;if(t&&b.current!==`following`&&G(`following`),r&&!(!t&&b.current!==`following`)){if(bF(r)<uF){K(r);return}ce(t?n:`auto`)}}),ue=J(e=>{let t=c.current;if(!t)return;let n=e??vF(t);if(!xF(n)){G(`following`);return}b.current!==`released`&&(G(`released`),ae(n))}),de=J((e=`instant`)=>{if(V.current=!1,G(`following`),ne(),e===`instant`){se();return}oe(),le(!0,`smooth`),ae()}),fe=J(()=>{V.current=!1,le(!0)}),pe=J(()=>{oe(),ne(),G(`released`),ae()}),me=J(()=>{V.current=!0,pe()}),he=J(()=>{V.current=!1}),ge=Z.useRef(s);ge.current=s;let _e=J(()=>{gF(_F(),P.current)||(oe(),ne(),ue())}),ve=J(()=>{_e(),ge.current?.()}),ye=J(()=>{H.current!==null&&(clearTimeout(H.current),H.current=null);let e=U.current;if(e){if(!e.identity.sessionId){U.current=null;return}ee(e.identity.sessionId,e.anchor,e.scrollPosition,e.identity.viewportKey),U.current=null}}),be=J(()=>{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);U.current=sF(e,o,{scrollTop:n,scrollHeight:r,clientHeight:i}),H.current===null&&(H.current=setTimeout(()=>{H.current=null,ye()},cF))}),xe=J(()=>{ye()}),Se=J(async(e=C.current)=>{if(!e.sessionId)return!1;V.current=!1;let t=Ui(e.sessionId,e.viewportKey);return c.current?(W.current=null,I.current=t?.scrollPosition?.scrollTop??0,G(`following`),F(),x.current?se():le(!0),ie(),ae(),!1):(W.current=e,G(`following`),!1)});Z.useEffect(()=>{let e=C.current,n=w.current;aF(e,n)||(ye(),oe(),F(),w.current=e,T.current=null,I.current=0,ne(),V.current=!1,G(`following`),W.current=null,t&&t!==n?.sessionId&&Hx.getInstance().recordSessionStart(t))},[t,n]),Z.useEffect(()=>{i&&!V.current&&b.current===`following`&&le(!0)},[i]),Z.useEffect(()=>{y(f===`following`&&i)},[f,i]),Z.useLayoutEffect(()=>{if(!l)return;let e=W.current;e&&oF(e,C.current)&&Se(e)},[l,t,n]);let Ce=J(()=>{let e=c.current;if(!e)return;let t=vF(e),n=I.current;I.current=t.scrollTop;let r=t.scrollTop>n+.5,i=Math.abs(t.scrollTop-n)<.5;if(ae(t),V.current){be();return}if(!xF(t)){G(`following`);return}if(SF(t,x.current)){let e=yF(t)<=uF;(r||b.current===`following`||e)&&G(`following`),be();return}if(b.current===`following`&&(q(e)||te()||i)){j.current||le(!1),be();return}ue(t),be()});Z.useEffect(()=>{!e||!l||(I.current=l.scrollTop)},[l,e]);let we=Z.useRef(null),Te=J(e=>{let t=c.current;t&&(e.deltaY>=0||tF(t,e.target)||ve())}),Ee=J(e=>{let t=e.touches.item(0);we.current=t?t.clientY:null}),De=J(e=>{let t=c.current,n=e.touches.item(0);if(!n){we.current=null;return}let r=we.current;we.current=n.clientY,r!==null&&(n.clientY-r<=2||t&&(tF(t,e.target)||ve()))}),Oe=J(()=>{we.current=null}),ke=J(e=>{eF(e)&&ve()}),Ae=J(e=>{let t=e.target;t instanceof Element&&t.closest(`[data-overlay-scrollbar-thumb]`)&&_e()}),je=Z.useMemo(()=>()=>void 0,[]),Me=e&&l?l:je,Ne=Z.useMemo(()=>({passive:!0}),[]);it(`scroll`,Ce,Me,Ne),it(`wheel`,Te,Me,Ne),it(`touchstart`,Ee,Me,Ne),it(`touchmove`,De,Me,Ne),it(`touchend`,Oe,Me,Ne),it(`touchcancel`,Oe,Me,Ne),it(`keydown`,ke,Me),it(`pointerdown`,Ae,e&&typeof window<`u`?window:je,!0);let Pe=J(()=>{let e=c.current;if(j.current){ae(e?vF(e):void 0);return}if(V.current){ae(e?vF(e):void 0);return}if(!e){ae(void 0);return}let t=vF(e);if(!xF(t)){G(`following`),ae(t);return}if(ae(t),L.current){let n=t.scrollHeight>B.current+1;B.current=t.scrollHeight,yF(t)<=uF?K(e):le(!0),n&&re();return}if(b.current===`following`){if(yF(t)<=uF){K(e);return}le(!1)}}),Fe=typeof ResizeObserver<`u`,Ie=Fe&&e?l:null,Le=Fe&&e&&l&&l.firstElementChild instanceof Element?l.firstElementChild:null;at(Ie,Pe),at(Le,Pe);let Re=J(()=>{N.current!==null&&(clearTimeout(N.current),N.current=null)}),ze=J(e=>{j.current=!0,typeof e==`number`&&e>0?A.current=_F()+e+dF:A.current=Math.max(A.current,_F()+dF)}),Be=J(e=>{let t=e.detail;if(t){if(t.open===!0){ze(),Re(),N.current=setTimeout(()=>{N.current=null,M.current||(j.current=!1)},1500);return}Re(),ze()}}),Ve=J(e=>{let t=e.detail;t&&(Re(),ze(t.durationMs))}),He=J(e=>{let t=e.detail;Re(),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)},dF)),ae()}),Ue=e&&typeof window<`u`?window:je;it(`oc:keyboard-intent`,Be,Ue),it(`oc:keyboard-anim`,Ve,Ue),it(`oc:keyboard-settled`,He,Ue),Z.useEffect(()=>{if(!(!e||typeof window>`u`))return()=>{Re(),j.current=!1,M.current=!1}},[e]),Z.useEffect(()=>{e&&ae()},[e,r]);let We=J(t=>{if(e){if(t===`animation`&&(A.current=_F()+dF),ae(),L.current){le(!0),re();return}b.current===`following`&&le(!1)}}),Ge=Z.useRef(new Map),Ke=J(t=>{let n=Ge.current.get(t);if(n)return n;let r=()=>{e&&b.current===`following`&&le(!1)},i={onChunk:r,onComplete:()=>{e&&ae()},onStreamingCandidate:()=>{},onAnimationStart:()=>{},onAnimatedHeightChange:r,onReservationCancelled:()=>{},onReasoningBlock:()=>{}};return Ge.current.set(t,i),i});Z.useEffect(()=>()=>{E.current&&=(clearTimeout(E.current),null),oe(),ne(),ye(),H.current!==null&&(clearTimeout(H.current),H.current=null)},[]);let qe=J(e=>{o?.(e)}),Je=!!o;return Z.useEffect(()=>{if(!e||!Je)return;let t=l;if(!t)return;let n=null,r=JP({onActive:e=>{e!==n&&(n=e,qe(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,Je]),{scrollRef:c,state:f,isPinned:f===`following`,isOverflowing:m,isFollowingProgrammatically:v,showScrollButton:g,notifyContentChange:We,getAnimationHandlers:Ke,goToBottom:de,scrollToBottomOnSend:fe,releaseAutoFollow:pe,beginHistoryViewportPreservation:me,endHistoryViewportPreservation:he,saveSnapshotNow:xe,restoreSnapshot:Se}},wF=`--oc-mobile-composer-swap`,TF=`--oc-native-composer-dock`,EF=()=>({phase:`rest`,rest:`expanded`,progress:0,pinned:!1}),DF=(e,t,n)=>Math.min(n,Math.max(t,e)),OF=(e,t)=>e.phase===t.phase&&e.rest===t.rest&&e.progress===t.progress&&e.pinned===t.pinned,kF=(e,t)=>{let n={phase:t.phase,rest:t.rest,progress:t.progress,pinned:t.pinned??e.pinned};return OF(e,n)?e:n},AF=(e,t)=>t?kF(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0}):e.pinned?kF(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!1}):e,jF=(e,t)=>{if(e.pinned&&t===`compact`)return e;let n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:kF(e,{phase:`snapping`,rest:t,progress:n})},MF=e=>DF(e/80,0,1),NF=e=>e>=80?1:DF(e/80,0,1),PF=(e,t,n={})=>{if(e.pinned)return e;let r=Math.max(0,t),i=e.phase===`snapping`?kF(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e;if(i.rest===`expanded`){if(r<=2||n.holdExpanded||n.userDriven===!1)return kF(i,{phase:`rest`,rest:`expanded`,progress:0});let e=MF(r);return e>=1?kF(i,{phase:`rest`,rest:`compact`,progress:1}):kF(i,{phase:`tracking`,rest:`expanded`,progress:e})}if(r<=2)return kF(i,{phase:`rest`,rest:`expanded`,progress:0});if(n.suppressReturn)return kF(i,{phase:`rest`,rest:`compact`,progress:1});if(n.towardBottom&&r>=80)return kF(i,{phase:`snapping`,rest:`expanded`,progress:0});let a=NF(r);return a>=1?kF(i,{phase:`rest`,rest:`compact`,progress:1}):kF(i,{phase:`tracking`,rest:`compact`,progress:a})},FF=e=>e.pinned?`expanded`:e.rest===`expanded`?e.progress>=.5?`compact`:`expanded`:e.progress<=.5?`expanded`:`compact`,IF=e=>{if(e.pinned)return kF(e,{phase:`rest`,rest:`expanded`,progress:0,pinned:!0});if(e.phase===`snapping`)return e;let t=FF(e),n=+(t===`compact`);return e.phase===`rest`&&e.rest===t&&e.progress===n?e:kF(e,{phase:`snapping`,rest:t,progress:n})},LF=e=>e.phase===`snapping`?kF(e,{phase:`rest`,rest:e.rest,progress:+(e.rest===`compact`)}):e,RF=e=>DF(Math.max(0,e)/80,0,1),zF=(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:RF(n),rest:`bottom`}},BF=e=>{e.style.removeProperty(wF),e.style.removeProperty(TF),delete e.dataset.ocComposerSwapPhase,delete e.dataset.ocComposerSwapRest,delete e.dataset.ocNativeComposerDock},VF=(e,t,n)=>{let r=zF(t,n?.rest===`bottom`?`bottom`:`away`),i=String(r.progress),a=r.rest;return n?.progress!==i&&e.style.setProperty(TF,i),n?.rest!==a&&(e.dataset.ocNativeComposerDock=a),{progress:i,rest:a}},HF=(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(wF,r),n?.rest!==a&&(e.dataset.ocComposerSwapRest=a),{progress:r,phase:i,rest:a}},UF=e=>({scrollHeight:e.scrollHeight,scrollTop:e.scrollTop,clientHeight:e.clientHeight}),WF=()=>{let e=document.documentElement;return e.classList.contains(`oc-keyboard-open`)||e.classList.contains(`oc-kb-animating`)},GF=e=>{if(WF()||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)},KF=e=>{let t=Z.useRef(EF()),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(0),u=Z.useRef(null),d=Z.useRef(0),f=Z.useRef(0),p=Z.useRef(!1),m=Z.useRef(e.enabled);m.current=e.enabled;let h=e=>{e.current!==null&&(window.clearTimeout(e.current),e.current=null)},g=J(t=>{let r=e.scopeRef.current;r&&(n.current=HF(r,t,n.current))}),_=J(e=>{e!==t.current&&(t.current=e,g(e))}),v=J(()=>{if(h(a),t.current.phase!==`snapping`)return;let e=t.current.rest;a.current=window.setTimeout(()=>{a.current=null;let n=LF(t.current);_(n),n.rest===`compact`&&e===`compact`&&(o.current=Date.now()+320,s.current=!0)},240)}),y=J(()=>{let n=e.scopeRef.current;!n||!m.current||_(AF(t.current,GF(n)))}),b=J(e=>s.current?Date.now()>=o.current?(s.current=!1,!1):e>=80?(s.current=!1,o.current=0,!1):!0:!1),x=J(()=>{if(h(i),!m.current||c.current>0||t.current.phase!==`tracking`)return;let e=IF(t.current);_(e),v()}),S=J(()=>{m.current&&(l.current=Date.now())}),C=J(()=>{m.current&&(l.current=Date.now(),c.current+=1,h(i))}),w=J(()=>{if(!m.current)return;let n=e.scrollRef.current,a=e.scopeRef.current;if(!n||!a)return;let o=GF(a),s=UF(n),g=Bj(s,Rj(n)),y=u.current;if(u.current=g,n.hasAttribute(`data-oc-timeline-anchoring`)){d.current=0,f.current=0;return}r.current=VF(a,g,r.current);let S=c.current>0||Date.now()-l.current<=1200,C=y===null?0:y-g;S?C>0?(f.current=0,s.scrollTop>0&&(d.current+=C)):C<0&&(d.current=0,f.current+=-C,f.current>=24&&(p.current=!1)):(d.current=0,f.current=0),g<=2&&(p.current=!1);let w=AF(t.current,o);if(!o){let e=w.rest===`compact`;w=PF(w,g,{suppressReturn:b(g),towardBottom:d.current>=24,holdExpanded:p.current,userDriven:S}),e&&w.rest===`expanded`&&g>2&&(p.current=!0,d.current=0)}if(_(w),h(i),w.phase===`snapping`){v();return}w.phase===`tracking`&&c.current===0&&(i.current=window.setTimeout(()=>{i.current=null,x()},120))}),T=J(()=>{x()}),E=J(()=>{m.current&&(l.current=Date.now(),c.current=Math.max(0,c.current-1),!(c.current>0)&&t.current.phase===`tracking`&&(h(i),i.current=window.setTimeout(()=>{i.current=null,x()},120)))}),D=J(()=>{let t=e.scopeRef.current;if(!t||typeof window>`u`)return;let n=e=>{e.preventDefault(),e.stopPropagation()};t.addEventListener(`pointerup`,n,!0),t.addEventListener(`click`,n,!0),window.setTimeout(()=>{t.removeEventListener(`pointerup`,n,!0),t.removeEventListener(`click`,n,!0)},240)}),O=J(n=>{if(!m.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(),p.current=!0,d.current=0,f.current=0,_(jF(t.current,`expanded`)),v(),D(),(e.scopeRef.current?.querySelector(`textarea[data-chat-input="true"]`))?.focus({preventScroll:!0})))}),[k,A]=Z.useState(null),[j,M]=Z.useState(null),N=Z.useRef(null),P=J(e=>{e&&BF(e),n.current=void 0,r.current=void 0,s.current=!1,o.current=0,c.current=0,l.current=0,u.current=null,d.current=0,f.current=0,p.current=!1,_(EF())});Z.useLayoutEffect(()=>{let t=e.enabled?e.scrollRef.current:null,n=e.enabled?e.scopeRef.current:null;N.current&&N.current!==n&&P(N.current),N.current=n,A(e=>e===t?e:t),M(e=>e===n?e:n)});let F=Z.useMemo(()=>()=>void 0,[]),I=e.enabled&&k?k:F,L=e.enabled&&j?j:F,R=e.enabled&&typeof window<`u`?window:F,z=Z.useMemo(()=>({passive:!0}),[]);it(`scroll`,w,I,z),it(`scrollend`,T,I,z),it(`touchstart`,C,I,z),it(`touchmove`,S,I,z),it(`touchend`,E,I,z),it(`touchcancel`,E,I,z),it(`pointerdown`,O,L),it(`focusin`,y,L),it(`focusout`,y,L),it(`oc:keyboard-intent`,y,R),it(`oc:keyboard-anim`,y,R),it(`oc:keyboard-settled`,y,R),Z.useEffect(()=>{if(!e.enabled){P(N.current),N.current=null;return}return y(),w(),()=>{h(i),h(a)}},[e.enabled,k,j])},qF=e=>{let t=e.info.clientRole??e.info.role;return typeof t==`string`?t:``},JF=e=>{let t=e.info.parentID;if(typeof t==`string`&&t.trim().length!==0)return t},YF=e=>{if(!e)return null;let t=qF(e);return`${typeof e.info?.id==`string`?e.info.id:``}::${t}::${JF(e)??``}`},XF=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}),ZF=(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&&YF(t[r])===YF(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=qF(r),a=r.info.id,o=XF(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=JF(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},QF=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=qF(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=JF(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}},$F=200,eI={MAX_SESSIONS:3,ZOMBIE_TIMEOUT:6e5},tI=()=>$F,nI=()=>Math.round(tI()*.6),rI={MAX_SESSIONS:eI.MAX_SESSIONS,VIEWPORT_MESSAGES:Math.round($F*.6),HISTORICAL_MESSAGES:$F,FETCH_BUFFER:20,HISTORY_CHUNK:$F,STREAMING_BUFFER:1/0,ZOMBIE_TIMEOUT:eI.ZOMBIE_TIMEOUT},iI=()=>{let e=tI(),t=nI();return{...rI,HISTORICAL_MESSAGES:e,VIEWPORT_MESSAGES:t,HISTORY_CHUNK:e}},aI=rI,oI=600,sI=6e3,cI=.5,lI=(e,t)=>e.querySelector(`[data-message-id="${CSS.escape(t)}"]`),uI=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},dI=(e,t)=>{let n=lI(e,t);if(n||=uI(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}},fI=e=>{let{container:t,quiesceMs:n=oI,maxLifetimeMs:r=sI}=e,i={messageId:e.anchor.messageId,offsetTop:e.anchor.offsetTop},a=!1,o=null,s=null,c=!1,l=t.scrollTop,u=()=>{o!==null&&(clearTimeout(o),o=null)},d=()=>{s!==null&&(clearTimeout(s),s=null)},f=()=>{a||(a=!0,y.disconnect(),t.removeEventListener(`scroll`,v),u(),d())},p=()=>{u(),!a&&(o=setTimeout(()=>{o=null,f()},n))},m=()=>{d(),!a&&(s=setTimeout(()=>{s=null,f()},r))},h=()=>{if(a)return;let e=dI(t,i.messageId);if(!e){f();return}i.messageId=e.messageId,i.offsetTop=e.offsetTop,l=t.scrollTop},g=()=>{if(a)return;if(Math.abs(t.scrollTop-l)>cI){h();return}let e=lI(t,i.messageId);if(!e){let n=uI(t);if(!n){f();return}let r=n.dataset.messageId;if(!r){f();return}let a=t.getBoundingClientRect();i.messageId=r,i.offsetTop=n.getBoundingClientRect().top-a.top,e=n,l=t.scrollTop}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect().top-n.top-i.offsetTop;Math.abs(r)>cI&&(t.scrollTop+=r),l=t.scrollTop},_=()=>{a||c||(c=!0,queueMicrotask(()=>{c=!1,g()}))},v=()=>{h(),p(),m()},y=new MutationObserver(()=>{a||(_(),p())});return y.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`style`,`class`]}),t.addEventListener(`scroll`,v,{passive:!0}),m(),p(),{rebase:h,dispose:f}},pI=30,mI=1200,hI=1.5,gI=e=>Math.max(mI,e*hI),_I=4,vI=30,yI=4,bI=30,xI=250,SI=2e3,CI=wn+2e3,wI=40,TI=`history-loading-timeout`,EI=e=>!!(e&&typeof e==`object`&&e.code===`history-loading-timeout`),DI=()=>{let e=Error(`chat history pagination wait timed out`);return e.code=TI,e},OI=(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)},kI=2500,AI=new Map,jI=()=>d()?_I:bt()?yI:pI,MI=e=>d()?e.length<=vI:!bt()||e.length<=bI,NI=(e,t)=>{if(AI.delete(e),!MI(t.messages))return;let n=jI();for(;AI.size>=n;){let e=AI.keys().next().value;if(typeof e!=`string`)break;AI.delete(e)}AI.set(e,t)},PI=e=>!!(e.previousOldestId&&e.currentOldestId&&e.currentOldestId!==e.previousOldestId&&e.previousNewestId&&e.currentNewestId&&e.currentNewestId===e.previousNewestId),FI=e=>e?{owner:`tanstack-core`}:{owner:`controller`},II=(e,t)=>e?e.canLoadEarlier:t>=iI().HISTORICAL_MESSAGES,LI=e=>!(e.isMobile||e.isLoadingOlder||e.pendingRevealWork||!e.canLoadEarlier||e.source===`scroll`&&e.isPinned||e.scrollTop>=gI(e.clientHeight)),RI=e=>e.pagesLoaded>=e.maxPages?`stop-bounded`: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.limitAfter>e.limitBefore?`continue`:`stop-no-growth`:`stop-exhausted`,zI=1,BI=8,VI=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),HI=e=>[`chat-timeline-auto-fill`,e.runtimeKey,e.sessionId,e.oldestMessageId,e.messageCount,e.canLoadEarlier],UI=e=>[`chat-timeline-load-earlier`,e.runtimeKey,e.sessionId],WI=20,GI=4,KI=80,qI=new WeakMap,JI=new WeakMap,YI=e=>{let t=JI.get(e)??{generation:0};return t.generation+=1,JI.set(e,t),t.generation},XI=e=>{let t=qI.get(e);t&&(t.touches=0,t.pending=null,t.settleScheduled=!1),YI(e)},ZI=e=>{QI(e)},QI=e=>{let t=qI.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&&$I(e,n)};return e.addEventListener(`touchend`,r,{passive:!0}),e.addEventListener(`touchcancel`,r,{passive:!0}),qI.set(e,n),n},$I=(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+KI||eL(e,n.anchorTop+n.delta))}))},eL=(e,t)=>{let n=YI(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((JI.get(e)?.generation??0)!==n){e.removeEventListener(`touchstart`,o);return}e.scrollTop<t-GI&&(e.scrollTop=t),a+=1,a<WI?window.requestAnimationFrame(s):e.removeEventListener(`touchstart`,o)}};window.requestAnimationFrame(s)},tL=(e,t,n)=>{let r=QI(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,eL(e,t)},nL=(e,t,n)=>!e||!t||t===e?!1:n.some(t=>t.info.id===e),rL=(e,t)=>e.scrollHeight===t.scrollHeight&&e.clientHeight===t.clientHeight?e:t,iL=({sessionId:e,directory:t=null,messages:n,historyMeta:r,scrollRef:a,messageListRef:o,loadMoreMessages:s,goToBottom:c,releaseAutoFollow:l,beginHistoryViewportPreservation:u,endHistoryViewportPreservation:d,isPinned:f,showScrollButton:p,autoFillEnabled:m=!1,onWillLoadEarlier:h})=>{let g=Z.useRef(null),_=Z.useRef(null),v=Z.useMemo(()=>{let t=e??``,r=t?AI.get(t):void 0;if(r&&r.messages===n)return NI(t,r),g.current=r.model,_.current=n,r.model;let i=ZF(g.current,_.current,n)??QF(n);return g.current=i,_.current=n,t&&n.length>0&&NI(t,{messages:n,model:i}),i},[n,e]),[y,b]=Z.useState(!1),[x,S]=Z.useState(!1),[C,w]=Z.useState(null),[T,E]=Z.useState(!1),[D,O]=Z.useState(null),[k,A]=Z.useState({scrollHeight:0,clientHeight:0}),j=Z.useRef(v),M=Z.useRef(f),N=Z.useRef(y),P=Z.useRef(x),F=Z.useRef(e),I=Z.useRef(t??null),L=Z.useRef(n),R=Z.useRef(r),z=Z.useRef(D),B=Z.useRef([]),V=Z.useRef(null),H=Z.useRef(null),U=Z.useRef(!1),W=Z.useRef(null),[ee,G]=Z.useState(e);ee!==e&&(G(e),W.current!==null&&typeof window<`u`&&(window.clearTimeout(W.current),W.current=null),U.current=!1,N.current=!1,H.current=null,b(!1),S(!1),w(null),E(!1),z.current=null,O(null),A({scrollHeight:0,clientHeight:0}));let K=Z.useMemo(()=>{let e=r?.limit!==D&&II(r,n.length);return{hasBufferedTurns:!1,hasMoreAboveTurns:e,historyLoading:!!r?.loading,canLoadEarlier:e}},[r,n.length]),q=Z.useRef(K);j.current=v,M.current=f,P.current=x,q.current=K,F.current=e,I.current=t??null,L.current=n,R.current=r,z.current=D;let te=J(()=>{U.current=!0,W.current!==null&&typeof window<`u`&&(window.clearTimeout(W.current),W.current=null)}),ne=J(()=>{if(typeof window>`u`){U.current=!1;return}W.current!==null&&window.clearTimeout(W.current),W.current=window.setTimeout(()=>{W.current=null,U.current=!1},SI)}),re=J(()=>{let e=B.current;e.length!==0&&(B.current=[],e.forEach(e=>e()))}),ie=J(()=>new Promise(e=>{if(typeof window>`u`){e();return}let t=!1,n=()=>{t||(t=!0,window.clearTimeout(r),e())};B.current.push(n);let r=window.setTimeout(n,xI)})),ae=J(e=>{let t=V.current;t&&(V.current=null,t.resolve(e))}),oe=J(()=>{let e=V.current;if(e){if(e.sessionId!==F.current){ae(!1);return}if(e.kind===`turn`?o.current?.scrollToTurnId(e.id,{behavior:e.behavior})??!1:o.current?.scrollToMessageId(e.id,{behavior:e.behavior})??!1){e.turnId&&(H.current={turnId:e.turnId,expiresAt:Date.now()+kI},w(e.turnId)),ae(!0);return}typeof(e.kind===`turn`?j.current.turnIndexById.get(e.id):j.current.messageToTurnIndex.get(e.id))==`number`&&ae(!1)}}),se=Z.useRef(null),ce=J(()=>{let e=se.current;e&&(se.current=null,e.dispose())});et(()=>{W.current!==null&&typeof window<`u`&&(window.clearTimeout(W.current),W.current=null),ce(),re(),ae(!1)});let le=n;rt(()=>{re(),oe()},[le]);let ue=J(()=>{let e=a.current;if(!e){A(e=>rL(e,{scrollHeight:0,clientHeight:0}));return}A(t=>rL(t,{scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}))});at(typeof ResizeObserver<`u`?a:null,ue),rt(()=>{ue()},[e,y]);let de=Z.useRef(null),fe=J(()=>o.current?.captureViewportAnchor()??null),pe=J(e=>o.current?.restoreViewportAnchor(e)??!1),me=J(()=>{if(bt())return;ce();let e=a.current;if(!e)return;let t=fe();t&&(se.current=fI({container:e,anchor:t}))}),he=Z.useRef(null);rt(()=>{if(!bt())return;let e=a.current;e&&(ZI(e),XI(e))},[e,a]),rt(()=>{ce(),de.current=null,he.current=null,o.current?.cancelViewportAnchorHold()},[e]),rt(()=>{let e=a.current;if(!e)return;let t=de.current;t&&Math.abs(e.scrollTop-t.top)>BI&&(de.current=null,t=null);let n=he.current,r=le[0]?.info?.id??null,i=le[le.length-1]?.info?.id??null,s=n?PI({previousOldestId:n.oldestId,previousNewestId:n.newestId,currentOldestId:r,currentNewestId:i})||nL(n.oldestId,r,le):!1;t&&t.sessionId!==F.current&&(de.current=null,t=null);let l=t?PI({previousOldestId:t.oldestId,previousNewestId:t.newestId,currentOldestId:r,currentNewestId:i})||nL(t.oldestId,r,le):!1,u=s||l,d=e=>{he.current={oldestId:r,newestId:i,scrollHeight:e??he.current?.scrollHeight??0}};if(M.current&&!t){ce(),u?(de.current=null,c(`instant`),d(e.scrollHeight)):d();return}let f=FI(o.current?.isHistoryVirtualized()??!1);if(t){if(f.owner===`tanstack-core`){o.current?.cancelViewportAnchorHold();let e=t.anchor;e&&pe(e),d();return}let n=e.scrollHeight,r=n-t.height;if(bt()){r>0&&tL(e,t.top+r,r),d(n);return}let i=t.anchor;!(i&&pe(i))&&r>0&&(e.scrollTop=t.top+r),d(n);return}if(s&&n&&f.owner===`controller`){let t=e.scrollHeight,r=t-n.scrollHeight;if(r>0){let t=e.scrollTop+r;bt()?tL(e,t,r):e.scrollTop=t}d(t),me();return}d()},[le,c]);let ge=J(async()=>!1),_e=J(async e=>{let t=Date.now(),n=t+CI,r=I.current,i=r?zi()?.getRequestState?.(un(r,e)):void 0;for(q.current.historyLoading,R.current,i?.status,i?.error;q.current.historyLoading;){if(F.current!==e)return Date.now()-t,`switched`;if(Date.now()>=n){let n=r?zi()?.getRequestState?.(un(r,e)):void 0;return console.error(`[chat-history] historyLoading wait timed out — sync flag still true`,{sessionId:e,directory:r,elapsedMs:Date.now()-t,waitMs:CI,hostTurnPageTimeoutMs:wn,historyLoading:q.current.historyLoading,historyMeta:R.current,requestStatusAtStart:i?.status??null,requestStatusAtTimeout:n?.status??null,requestErrorAtTimeout:n?.error??null,likelyStaleLoadingFlag:n?.status===`ready`||n?.status===`error`||n==null}),`timeout`}await new Promise(e=>{if(typeof window>`u`){e();return}window.setTimeout(e,wI)})}return Date.now()-t,r&&zi()?.getRequestState?.(un(r,e))?.status,F.current===e?`cleared`:`switched`}),ve=J(async e=>{if(!F.current||N.current||!q.current.hasMoreAboveTurns)return!1;N.current=!0,te(),b(!0);let t=F.current,n=null,r=!!e.userInitiated;r&&u();let i=()=>{n&&de.current===n&&(de.current=null,o.current?.cancelViewportAnchorHold()),r&&(r=!1,d())};try{if(q.current.historyLoading){if(!e.userInitiated)return!1;let n=await _e(t);if(n===`timeout`)throw DI();if(n===`switched`||!q.current.hasMoreAboveTurns)return!1}if(!F.current||F.current!==t)return!1;let r=a.current,o=L.current,c=o.length,l=o[0]?.info?.id??null,u=R.current?.limit??iI().HISTORICAL_MESSAGES;e.preserveViewport&&r&&(n={sessionId:F.current,height:r.scrollHeight,top:r.scrollTop,anchor:fe(),oldestId:l,newestId:o[o.length-1]?.info?.id??null},de.current=n,me());let d=c,f=l,p=u,m=0;for(;;){if(q.current.historyLoading)if(e.userInitiated){let e=await _e(t);if(e===`timeout`)throw i(),DI();if(e===`switched`)return i(),!1}else return i(),!1;let n=a.current?.scrollHeight??0,r=d,o=f,c=p;if(await s(t,`up`),m+=1,F.current!==t)return i(),!1;await ie();let l=L.current,u=l.length,h=l[0]?.info?.id??null,g=R.current?.limit??p,_=RI({scrollHeightBefore:n,scrollHeightAfter:a.current?.scrollHeight??n,messageCountBefore:r,messageCountAfter:u,oldestIdBefore:o,oldestIdAfter:h,limitBefore:c,limitAfter:g,hasMoreAbove:q.current.hasMoreAboveTurns,pagesLoaded:m,maxPages:zI});if(_===`continue`){d=u,f=h,p=g;continue}if(_===`stop-no-growth`){if(q.current.historyLoading){if(e.userInitiated){let e=await _e(t);if(e===`timeout`)throw i(),DI();if(e===`switched`)return i(),!1;--m;continue}return i(),!1}let n=R.current?.limit??c;return z.current=n,O(n),q.current={...q.current,hasMoreAboveTurns:!1,canLoadEarlier:!1},i(),!1}return!0}}catch(e){throw i(),e}finally{N.current=!1,b(!1),ne(),ie().then(i)}}),{t:ye}=ot(),be=Ke({mutationKey:UI({runtimeKey:i(),sessionId:e??``}),mutationFn:async e=>{if(F.current!==e.sessionId)return!1;te(),e.userInitiated&&l();try{return await ve({preserveViewport:!0,userInitiated:!!e.userInitiated})}finally{ne()}}}),xe=J(async e=>{let t=F.current;if(t&&!(be.isPending&&be.variables?.sessionId===t)){e?.userInitiated&&h?.();try{let n=await be.mutateAsync({sessionId:t,userInitiated:!!e?.userInitiated});if(n===!1&&q.current.canLoadEarlier){let r={sessionId:t,grew:n,userInitiated:!!e?.userInitiated,canLoadEarlier:q.current.canLoadEarlier,hasMoreAboveTurns:q.current.hasMoreAboveTurns,historyLoading:q.current.historyLoading,historyMeta:R.current,messageCount:L.current.length,oldestMessageId:L.current[0]?.info?.id??null};OI(`no-growth`,Error(`chat history pagination returned no growth`),r),e?.userInitiated&&Tt.error(ye(`chat.history.loadOlderFailed`))}}catch(n){let r={sessionId:t,userInitiated:!!e?.userInitiated,waitMs:CI,hostTurnPageTimeoutMs:wn,canLoadEarlier:q.current.canLoadEarlier,historyLoading:q.current.historyLoading,historyMeta:R.current,messageCount:L.current.length,oldestMessageId:L.current[0]?.info?.id??null};EI(n)?OI(`timeout`,n,r):OI(`failed`,n,r),e?.userInitiated&&Tt.error(EI(n)?ye(`chat.history.loadOlderTimeout`):ye(`chat.history.loadOlderFailed`))}}}),Se=be.isPending&&be.variables?.sessionId===e||y,Ce=n[0]?.info?.id??null,we=VI({enabled:m,isMobile:bt(),sessionReady:!!e,messageReady:n.length>0||!!r,historyLoading:K.historyLoading,canLoadEarlier:K.canLoadEarlier,isPinned:f,fillBlocked:T,scrollHeight:k.scrollHeight,clientHeight:k.clientHeight,pendingRevealWork:x,isLoadingOlder:!1,hasMessages:n.length>0});qe({queryKey:HI({runtimeKey:i(),sessionId:e??``,oldestMessageId:Ce,messageCount:n.length,canLoadEarlier:K.canLoadEarlier}),enabled:!!e&&we,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()=>{let e=F.current;if(!e)return{status:`skip`};if(q.current.historyLoading||N.current){let e=Error(`auto-fill-busy`);throw e.code=`auto-fill-busy`,e}if(!q.current.canLoadEarlier)return{status:`skip`};let t=a.current;if(!t||t.clientHeight<=0)return{status:`skip`};if(t.scrollHeight>t.clientHeight+48)return{status:`tall`};try{let t=await ve({preserveViewport:!0});return t?{status:`grew`}:(q.current.canLoadEarlier&&OI(`no-growth`,Error(`chat history pagination returned no growth`),{sessionId:e,source:`auto-fill`,grew:t,canLoadEarlier:q.current.canLoadEarlier,hasMoreAboveTurns:q.current.hasMoreAboveTurns,historyLoading:q.current.historyLoading,historyMeta:R.current,messageCount:L.current.length,oldestMessageId:L.current[0]?.info?.id??null}),E(!0),{status:`blocked`})}catch(t){if(t?.code===`auto-fill-busy`)throw t;let n={sessionId:e,source:`auto-fill`,waitMs:CI,canLoadEarlier:q.current.canLoadEarlier,historyLoading:q.current.historyLoading,historyMeta:R.current,messageCount:L.current.length,oldestMessageId:L.current[0]?.info?.id??null};throw EI(t)?OI(`timeout`,t,n):OI(`failed`,t,n),E(!0),t instanceof Error?t:Error(`chat timeline auto-fill failed`)}}});let Te=J(e=>{let t=a.current;t&&LI({source:e,isMobile:bt(),isPinned:M.current,scrollTop:t.scrollTop,clientHeight:t.clientHeight,canLoadEarlier:q.current.canLoadEarlier,isLoadingOlder:N.current,pendingRevealWork:P.current})&&xe({userInitiated:!0})}),Ee=J(()=>{Te(`scroll`)}),De=J(()=>{Te(`upward-intent`)}),Oe=J(async(t,n)=>{if(!t||!F.current)return!1;l(),S(!0);try{return F.current!==e||typeof j.current.turnIndexById.get(t)!=`number`?!1:!!await new Promise(r=>{V.current={sessionId:F.current??e??``,kind:`turn`,id:t,behavior:n?.behavior??`auto`,turnId:t,resolve:r},oe()})}finally{S(!1)}}),ke=J(async(t,n)=>{if(!t||!F.current)return!1;l(),S(!0);try{if(F.current!==e)return!1;let r=j.current.messageToTurnId.get(t);return typeof j.current.messageToTurnIndex.get(t)==`number`&&!!await new Promise(i=>{V.current={sessionId:F.current??e??``,kind:`message`,id:t,behavior:n?.behavior??`auto`,turnId:r??null,resolve:i},oe()})}finally{S(!1)}}),Ae=J(async()=>{S(!1),N.current=!1,b(!1),o.current?.scrollToBottom(),c(`smooth`)}),je=J(async()=>{S(!1),N.current=!1,b(!1),o.current?.scrollToBottom(),c(`instant`)}),Me=J(e=>{let t=H.current;if(t){if(e!==t.turnId&&Date.now()<t.expiresAt)return;H.current=null}w(e)});return{turnIds:v.turnIds,turnStart:0,renderedMessages:le,historySignals:K,isLoadingOlder:Se,pendingRevealWork:x,activeTurnId:C,showScrollToBottom:p&&!x,turnWindowModel:v,loadEarlier:xe,revealBufferedTurns:ge,resumeToBottom:Ae,resumeToBottomInstant:je,scrollToTurn:Oe,scrollToMessage:ke,handleHistoryScroll:Ee,handleHistoryUpwardIntent:De,captureViewportAnchor:fe,restoreViewportAnchor:pe,handleActiveTurnChange:Me}},aL=({mutateSession:e,forkSession:t})=>({revert:e,fork:t}),oL=({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{t:d}=ot(),f=Fh(),p=n,m=pr(p??``,r),h=Zr(e=>e.revertToMessage),g=Zr(e=>e.forkFromMessage),_=aL(f.capabilities),{isMobile:v,isTablet:y}=fo(),b=v||y,[x,S]=Z.useState(null),C=Z.useRef(!1),[w,T]=Z.useState(``),[E,D]=Z.useState(0),O=Z.useRef([]),k=Z.useRef(null),A=Z.useRef(null),j=Z.useRef(!1),M=Z.useRef(e),N=e=>new Date(e).toLocaleDateString(st(),{year:`numeric`,month:`short`,day:`numeric`}),P=e=>new Date(e).toLocaleTimeString(st(),{hour:`numeric`,minute:`2-digit`}),F=Z.useMemo(()=>m.filter(e=>e.info.role===`user`).map(e=>({message:e})),[m]),I=Z.useMemo(()=>{let e=w.trim();if(!e)return F;let t=e.toLowerCase();return F.filter(({message:e})=>CP(e.parts).toLowerCase().includes(t))},[F,w]);Z.useEffect(()=>{j.current||D(w.trim()?0:Math.max(0,I.length-1))},[I,w]),Z.useEffect(()=>{O.current=O.current.slice(0,I.length)},[I.length]),Z.useEffect(()=>{j.current||O.current[E]?.scrollIntoView({block:`nearest`})},[E]),Z.useEffect(()=>{!j.current||A.current||c||(j.current=!1)},[I.length,c]),Z.useLayoutEffect(()=>{let t=M.current;if(M.current=e,!e||t||j.current||w.trim())return;let n=k.current;n&&(n.scrollTop=n.scrollHeight)},[e,w]),Z.useLayoutEffect(()=>{let e=A.current,t=k.current;if(!e||!t||c)return;A.current=null;let n=O.current.find(t=>t?.dataset.timelineMessageId===e.messageId);if(!n)return;let r=n.getBoundingClientRect().top-t.getBoundingClientRect().top;t.scrollTop+=r-e.top},[I.length,c]);let L=J(()=>{let e=k.current;if(e){let t=e.getBoundingClientRect().top,n=O.current.find(e=>e?e.getBoundingClientRect().bottom>=t:!1);n?.dataset.timelineMessageId&&(A.current={messageId:n.dataset.timelineMessageId,top:n.getBoundingClientRect().top-t})}j.current=!0,l?.()}),R=J(async e=>{await i?.(e)!==!1&&t(!1)}),z=J(e=>{let t=I.length;if(t!==0){if(e.key===`ArrowDown`){e.preventDefault(),D(e=>(e+1)%t);return}if(e.key===`ArrowUp`){e.preventDefault(),D(e=>(e-1+t)%t);return}if(e.key===`Enter`){e.preventDefault();let n=(E%t+t)%t,r=I[n];r&&R(r.message.info.id)}}}),B=J(async(e,n)=>{if(!(!p||C.current)){C.current=!0,S({type:e,messageId:n});try{e===`revert`?u?await u(n):await h(p,n,{directory:r}):await g(p,n,{directory:r}),t(!1)}finally{C.current=!1,S(null)}}});return p?(0,$.jsx)(aa,{open:e,onOpenChange:t,children:(0,$.jsxs)(ta,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsxs)(Qi,{children:[(0,$.jsxs)(na,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`time`,className:`h-5 w-5`}),d(`chat.timeline.title`)]}),(0,$.jsx)(ra,{children:d(`chat.timeline.description`)})]}),(0,$.jsxs)(`div`,{className:`relative mt-2`,children:[(0,$.jsx)(X,{name:`search`,className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,$.jsx)(za,{autoFocus:!0,placeholder:d(`chat.timeline.searchPlaceholder`),value:w,onChange:e=>T(e.target.value),onKeyDown:z,className:`pl-9 w-full`})]}),s&&l&&(0,$.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,$.jsxs)(ca,{type:`button`,variant:`link`,size:`sm`,onClick:L,disabled:c,className:`h-auto px-1 py-0 text-muted-foreground hover:text-foreground`,children:[c&&(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),d(`chat.history.loadOlder`)]})}),(0,$.jsx)(`div`,{ref:k,className:`flex-1 overflow-y-auto`,children:I.length===0?(0,$.jsx)(`div`,{className:`text-center text-muted-foreground py-8`,children:d(w?`chat.timeline.empty.search`:`chat.timeline.empty.session`)}):I.map(({message:e},t)=>{let n=wP(e.parts),r=e.info.time.created,i=N(r),a=I[t-1],o=i!==(a?N(a.message.info.time.created):null),s=P(r),c=t===E,l=w.trim()?sL(CP(e.parts),w):null;return(0,$.jsxs)(Z.Fragment,{children:[o&&(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:i}),(0,$.jsx)(`div`,{className:`h-px flex-1 bg-border/60`})]}),(0,$.jsxs)(`div`,{ref:e=>{O.current[t]=e},"data-timeline-message-id":e.info.id,className:Y(`group flex items-center gap-3 py-1.5 hover:bg-interactive-hover/30 rounded transition-colors cursor-pointer`,c&&`bg-interactive-selection text-interactive-selection-foreground`),onClick:()=>void R(e.info.id),onMouseEnter:()=>D(t),children:[(0,$.jsx)(`span`,{className:Y(`typography-meta w-16 flex-shrink-0 text-right tabular-nums`,c?`text-interactive-selection-foreground/70`:`text-muted-foreground`),children:s}),(0,$.jsxs)(`p`,{className:Y(`flex-1 min-w-0 typography-micro truncate`,c?`text-interactive-selection-foreground`:`text-foreground`),children:[l??(n||d(`chat.timeline.noTextContent`)),!l&&n&&n.length>=80&&`…`]}),(0,$.jsx)(`div`,{className:`flex-shrink-0 h-5 flex items-center mr-2`,children:(0,$.jsxs)(`div`,{className:Y(`gap-1`,b?`flex`:`hidden group-hover:flex`),children:[_.revert?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:`size-5 text-muted-foreground hover:text-foreground`,"aria-busy":x?.type===`revert`&&x.messageId===e.info.id,disabled:x!==null,onClick:t=>{t.stopPropagation(),B(`revert`,e.info.id)},children:(0,$.jsx)(X,{name:x?.type===`revert`&&x.messageId===e.info.id?`loader-4`:`arrow-go-back`,className:Y(`h-4 w-4`,x?.type===`revert`&&x.messageId===e.info.id&&`animate-spin`)})})}),(0,$.jsx)(Va,{sideOffset:6,children:d(`chat.timeline.actions.revertFromHere`)})]}):null,_.fork?(0,$.jsxs)(Ha,{children:[(0,$.jsx)(Ba,{asChild:!0,children:(0,$.jsx)(ca,{type:`button`,variant:`ghost`,size:`icon`,className:`size-5 text-muted-foreground hover:text-foreground`,"aria-busy":x?.type===`fork`&&x.messageId===e.info.id,onClick:t=>{t.stopPropagation(),B(`fork`,e.info.id)},disabled:x!==null,children:x?.type===`fork`&&x.messageId===e.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)(Va,{sideOffset:6,children:d(`chat.timeline.actions.forkFromHere`)})]}):null]})})]})]},e.info.id)})}),(0,$.jsxs)(`div`,{className:`mt-4 p-3 bg-muted/30 rounded-lg`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground font-medium mb-2`,children:d(`chat.timeline.actions.title`)}),(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:()=>{a?.(-1),t(!1)},children:d(`chat.timeline.actions.previousTurn`)}),(0,$.jsx)(`span`,{className:`text-muted-foreground/50`,children:`/`}),(0,$.jsx)(`button`,{type:`button`,className:`text-[11px] uppercase tracking-wide text-muted-foreground/90 hover:text-foreground`,onClick:()=>{o?.(),t(!1)},children:d(`chat.timeline.actions.latest`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 typography-meta text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(`span`,{children:d(`chat.timeline.help.clickMessage`)})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`arrow-go-back`,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{children:d(`chat.timeline.help.undoToPoint`)})]}),_.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:d(`chat.timeline.help.createSessionFromHere`)})]}):null]})]})]})}):null};function sL(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?`…`:``}`}var cL=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},lL=(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`}},uL=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)},dL=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&&uL(`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&&uL(`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=lL(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 uL(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=()=>{uL(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=cL(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},fL=2e4,pL=6e4,mL=2e3,hL=e=>e?(typeof e.text==`string`?e.text.length:0)+(typeof e.state?.output==`string`?e.state.output.length:0):0,gL=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+=hL(e);return[e.length,t.info.id,n.length,r?.id??``,r?.state?.status??``,i].join(`:`)},_L={sessionKey:null,fingerprint:null,lastMovementAt:null,lastRefreshAt:null,attempts:0},vL=(e,t)=>{let{sessionKey:n,working:r,streaming:i,fingerprint:a,now:o}=t;if(!n)return{state:_L,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}},yL=e=>{console.warn(`[transcript] tail frozen while session is working — refetching authority`,e)},bL=(e,t)=>{let n=(0,Q.c)(7),r=Gx(xL),i=Zr(SL),a=Zr(CL),o,s;n[0]!==a||n[1]!==i||n[2]!==t||n[3]!==r||n[4]!==e?(o=()=>{if(r&&e&&!a(e)){for(let n of t)if(n.info.role===`assistant`)for(let t of n.parts){let n=t;if(n.type!==`text`)continue;let r=n.text||``;if(r.includes(`The plan at `)||r.includes(`User has requested to enter plan mode`)){i(e);return}}}},s=[r,e,t,i,a],n[0]=a,n[1]=i,n[2]=t,n[3]=r,n[4]=e,n[5]=o,n[6]=s):(o=n[5],s=n[6]),Z.useEffect(o,s)};function xL(e){return e.planModeEnabled}function SL(e){return e.markSessionPlanAvailable}function CL(e){return e.isSessionPlanAvailable}function wL(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 TL(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 EL(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||wL(i)==null}function DL(e){let t=[];for(let n of e){let e=Array.isArray(n.parts)?n.parts:[];for(let n of e){if(!EL(n))continue;let e=TL(n);e&&t.push(e)}}return t}function OL(e,t){return`${e}:${t.join(`,`)}`}function kL(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=OL(t,e.unansweredToolIds);return e.attemptedKey===r?{recover:!1,attemptKey:r}:{recover:!0,attemptKey:r}}function AL(e,t,n,r){let i=(0,Q.c)(7),a=Bn(),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=kL({sessionId:e,directory:t,sessionQuestionCount:r,unansweredToolIds:DL(n),attemptedKey:o.current});if(!c.recover||!e||!t||!c.attemptKey)return;let l=a.getChild(t);l&&(o.current=c.attemptKey,cn(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 jL=e=>!Number.isFinite(e)||e<0?0:Math.ceil(e),ML=(e,t)=>({...e,key:NL(e),estimatedBytes:jL(t)}),NL=({runtimeKey:e,sessionId:t,directory:n})=>JSON.stringify([e,n??``,t]),PL=e=>({key:e?NL(e):null,selection:e}),FL=(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},IL=(e,t,n,r)=>{let i=NL(t),a=e.findIndex(e=>e.key===i),o=a>=0?e[a]:void 0;if(o&&a===e.length-1)return FL(e,i,n);let s=o||ML(t,r),c=a>=0?e.filter((e,t)=>t!==a):[...e];return c.push(s),FL(c,i,n)},LL=(e,t,n)=>{let r=jL(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)},RL=(e,t)=>t&&e.some(e=>e.key===t)?t:null,zL=(e,t,n)=>{let r=t.key?e.cachedSessionViews.find(e=>e.key===t.key):void 0,i=r&&t.selection?IL(e.cachedSessionViews,t.selection,n,r.estimatedBytes):FL(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}},BL=(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:ML(t.selection,r),intent:t};return e.pendingSessionView?.intent===t?e:{activeIntent:e.activeIntent,cacheNeedsTrim:e.cacheNeedsTrim,cachedSessionViews:e.cachedSessionViews,pendingSessionView:i}},VL=(e,t,n)=>{let r=e.pendingSessionView;return e.activeIntent!==t||r?.intent!==t||!t.selection?e:{activeIntent:e.activeIntent,cacheNeedsTrim:!1,cachedSessionViews:IL(e.cachedSessionViews,t.selection,n,r.entry.estimatedBytes),pendingSessionView:null}},HL=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},UL=e=>{if(!(!e.info||typeof e.info!=`object`))return e.info},WL=e=>UL(e)?.role===`assistant`,GL=(e,t)=>{let n=UL(t);n&&(e.agentName??=HL(n.agent),e.providerId??=HL(n.providerID),e.modelId??=HL(n.modelID))},KL=e=>!!(e.agentName&&e.providerId&&e.modelId),qL=e=>{let t={};for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||!WL(r))&&(GL(t,r),KL(t)))return t}for(let n=e.length-1;n>=0;--n){let r=e[n];if(!(!r||WL(r))&&(GL(t,r),KL(t)))break}return t},JL=e=>!!e.sessionId&&!(e.hasRenderableSessionSnapshot&&e.hasCurrentSessionEntity),YL=[],XL=[],ZL={type:`idle`},QL=`openchamber:chat-force-scroll-bottom`,$L=()=>void 0,eR=`Quota limit reached. Retrying automatically.`,tR=1048576,nR=tR,rR=20,iR=tR,aR=16*tR,oR={maxEntries:3,maxEstimatedBytes:32*tR},sR={maxEntries:2,maxEstimatedBytes:32*tR},cR=e=>t(()=>e()),lR={overflowAnchor:`none`,overscrollBehavior:`contain`,overscrollBehaviorY:`contain`},uR={scrollbar:`chat`,scrollShadow:`true`,orientation:`vertical`},dR=()=>{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},fR=`calc(max(0.625rem, var(--oc-safe-area-top, 0px)) + var(--oc-mobile-detail-navigation-height) + 1.25rem)`,pR=QP,mR=[`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(`,`),hR=e=>e instanceof HTMLElement,gR=e=>hR(e)?!!e.closest(mR):!1,_R=(e,t)=>typeof document>`u`||!e||e===document.body||e===document.documentElement||gR(e)?!0:!t?.contains(e),vR=()=>{let{isAboutDialogOpen:e,isCommandPaletteOpen:t,isHelpDialogOpen:n,isImagePreviewOpen:r,isMultiRunLauncherOpen:i,isSessionSwitcherOpen:a,isSettingsDialogOpen:o}=s.getState();return e||t||n||r||i||a||o},yR=Z.memo(({currentSessionId:e,virtualizerKey:t,isDesktopExpandedInput:n,isMobile:r,stickyUserHeader:i,directory:a,scrollRef:o,messageListRef:s,pendingRevealWork:c,renderedMessages:l,isLoadingOlder:u,sessionIsWorking:d,streamingMessageId:f,activeStreamingPhase:p,retryOverlay:m,handleMessageContentChange:h,getAnimationHandlers:g,handleHistoryScroll:_,handleHistoryUpwardIntent:v,onTimelineIsAtEndChange:y,timelineFollowSuspended:b,timelineHistoryAnchorToken:x,scrollToBottom:S,sessionQuestions:C,sessionPermissions:w,isProgrammaticFollowActive:T,showLoadOlderButton:E,onLoadOlder:D,turnIds:O,activeTurnId:k,onSelectTurn:A,showPromptNavigator:j,canLoadEarlierPrompts:M,isLoadingOlderPrompts:N,onLoadEarlierPrompts:P})=>{let{t:F}=ot(),I=Gx(e=>e.legendTimelineEnabled),L=kx({isLoadingOlder:u}),R=Ax({isMobile:r,isLoadingOlder:L}),z=Z.useRef(new Map),B=Z.useRef(new WeakMap),V=Z.useRef(new Map),H=Z.useMemo(()=>{let e=new Map;for(let t=0;t<l.length;t+=1){let n=l[t];if(n.info.role!==`user`)continue;if(bM(n)){let r=SM(l,t)??``,i=V.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`}];V.current.set(n.info.id,{command:r,parts:t}),e.set(n.info.id,t)}continue}if(Qt(n.parts))continue;let r=B.current.get(n.parts);r||(r=qr(n.parts),B.current.set(n.parts,r)),r.length!==0&&e.set(n.info.id,r)}let t=z.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 z.current=e,e},[l]),U=Z.useMemo(()=>O.filter(e=>H.has(e)),[H,O]),W=Z.useMemo(()=>{if(!k||H.has(k))return k;let e=O.indexOf(k);for(let t=e-1;t>=0;--t){let e=O[t];if(H.has(e))return e}return null},[k,H,O]),ee=J(e=>{e.defaultPrevented||gR(e.target)||typeof window<`u`&&window.getSelection()?.type===`Range`||o.current?.focus({preventScroll:!0})});return nF({scrollRef:o,enabled:I,onUpwardIntent:v}),I?(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,n?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":n,children:(0,$.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,$.jsx)(JN,{ref:s,sessionKey:e,virtualizerKey:t,disableStaging:c,messages:l,sessionIsWorking:d,activeStreamingMessageId:f,activeStreamingPhase:p,retryOverlay:m,onMessageContentChange:h,getAnimationHandlers:g,isLoadingOlder:u,scrollToBottom:S,scrollRef:o,directory:a,timelineScrollClassName:`absolute inset-0 z-0 chat-scroll overlay-scrollbar-target`,timelineScrollStyle:lR,timelineScrollDataset:uR,timelineOnScroll:_,timelineFollowEnabled:!c&&!b,timelineHistoryAnchorToken:x,timelineOnIsAtEndChange:y,headerSlot:(0,$.jsxs)($.Fragment,{children:[r&&(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:fR},"aria-hidden":`true`}),E&&(0,$.jsx)(`div`,{className:`flex justify-center pt-3 pb-1`,children:(0,$.jsxs)(ca,{variant:`secondary`,size:`sm`,onClick:D,disabled:L,"aria-busy":L,children:[L&&(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),F(`chat.history.loadOlder`)]})}),R&&(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,$.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 pt-3 pb-1`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin text-[var(--surface-mutedForeground)]`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`typography-meta text-[var(--surface-mutedForeground)]`,children:F(`chat.history.loadingMore`)})]})})]}),footerSlot:(0,$.jsxs)($.Fragment,{children:[(C.length>0||w.length>0)&&(0,$.jsxs)(`div`,{children:[C.map(e=>(0,$.jsx)(SP,{question:e},e.id)),w.map(e=>(0,$.jsx)(hP,{permission:e},e.id))]}),(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?pR:XP},"aria-hidden":`true`})]})}),(0,$.jsx)(po,{containerRef:o,suppressVisibility:T,userIntentOnly:!0,observeMutations:!1}),j&&U.length>=2?(0,$.jsx)(GP,{turnIds:U,previewsByTurnId:H,activeTurnId:W,onSelectTurn:A,canLoadEarlier:M,isLoadingOlder:N,onLoadEarlier:P}):null]})}):(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,n?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":n,children:(0,$.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,$.jsx)(Oa,{className:Y(`absolute inset-0 overflow-y-auto overflow-x-hidden z-0 chat-scroll overlay-scrollbar-target`),ref:o,style:lR,observeMutations:!1,hideTopShadow:r&&i,hideBottomShadow:r,tabIndex:0,onClick:ee,onScroll:_,"data-scroll-shadow":`true`,"data-scrollbar":`chat`,children:(0,$.jsxs)(`div`,{className:Y(`oc-chat-scroll-content relative z-0 min-h-full`,r&&`chat-scroll-foot-inset`),children:[E&&(0,$.jsx)(`div`,{className:`flex justify-center pt-3 pb-1`,children:(0,$.jsxs)(ca,{variant:`secondary`,size:`sm`,onClick:D,disabled:L,"aria-busy":L,children:[L&&(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),F(`chat.history.loadOlder`)]})}),R&&(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,$.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 pt-3 pb-1`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin text-[var(--surface-mutedForeground)]`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`typography-meta text-[var(--surface-mutedForeground)]`,children:F(`chat.history.loadingMore`)})]})}),(0,$.jsx)(JN,{ref:s,sessionKey:e,virtualizerKey:t,disableStaging:c,messages:l,sessionIsWorking:d,activeStreamingMessageId:f,activeStreamingPhase:p,retryOverlay:m,onMessageContentChange:h,getAnimationHandlers:g,isLoadingOlder:u,scrollToBottom:S,scrollRef:o,directory:a}),(C.length>0||w.length>0)&&(0,$.jsxs)(`div`,{children:[C.map(e=>(0,$.jsx)(SP,{question:e},e.id)),w.map(e=>(0,$.jsx)(hP,{permission:e},e.id))]}),(0,$.jsx)(`div`,{className:`mb-1`,children:(0,$.jsx)(Uk,{})}),(0,$.jsx)(`div`,{className:`flex-shrink-0`,style:{height:r?ZP:XP},"aria-hidden":`true`})]})}),(0,$.jsx)(po,{containerRef:o,suppressVisibility:T,userIntentOnly:!0,observeMutations:!1}),j&&U.length>=2?(0,$.jsx)(GP,{turnIds:U,previewsByTurnId:H,activeTurnId:W,onSelectTurn:A,canLoadEarlier:M,isLoadingOlder:N,onLoadEarlier:P}):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.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.isProgrammaticFollowActive===t.isProgrammaticFollowActive&&e.showLoadOlderButton===t.showLoadOlderButton&&e.onLoadOlder===t.onLoadOlder&&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);yR.displayName=`ChatViewport`;var bR=[{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%]`]}],xR=e=>oa(e.path),SR=(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)]})},CR=e=>{let t=Math.ceil(Math.max(0,e)/rR);return Math.min(aR,nR+t*iR)},wR=Z.memo(({autoOpenDraft:e=!0,readOnly:t=!1,active:n=!0,sessionId:r,sessionDirectory:i,sessionViewKey:a,onSessionViewEstimateChange:o,composerSurface:c,hostedFeatures:l,assistantHistory:u,onRevertMessage:f,warning:p=null,pendingUserMessages:m=XL,onPendingUserMessagesMaterialized:h})=>{let g=l??Px(void 0),{t:_}=ot();rt(()=>{ti()},[]);let v=Zr(e=>e.openNewSessionDraft),y=Zr(e=>e.setCurrentSession),b=Zr(e=>e.newSessionDraft),x=Zr(e=>e.newSessionDraft.draftSubmitting??!1),S=Zr(e=>e.newSessionDraft.draftEstablishing??!1),C=Zr(e=>e.forkTransition),w=xn(e=>e.projects),T=xn(e=>e.activeProjectId),E=Qr(e=>e.providers),D=Du(),O=cr(),k=i??O;rt(()=>{!n||!r||!k||jn(k,r)},[n,r,k]);let A=J(e=>D.ensureSessionRenderable(e,{directory:k})),j=s(e=>e.isExpandedInput),M=s(e=>e.stickyUserHeader),N=s(e=>e.promptNavigatorEnabled),P=s(e=>e.allowPromptingSubagentSessions),F=s(e=>e.isTimelineDialogOpen),I=s(e=>e.setTimelineDialogOpen),L=Ft(e=>n&&r?e.streamingMessageIds.get(r)??null:null),R=Ft(e=>L?e.messageStreamStates.get(L)?.phase??null:null),z=wi(r??``,k),B=CR(z);Z.useEffect(()=>{!a||!o||o(a,B)},[o,B,a]);let V=oi(r??``,k).renderable,H=pt(r,k),U=qn(r),W=H??U,ee=Lg({sessionId:r,hasSessionEntity:!!W,hasRenderableSessionSnapshot:V,composerSurfaceKind:c?.kind}),G=r?JSON.stringify([k,r]):null,[K,q]=Z.useState({key:G,attempt:0}),te=pr(r??``,k,{suspendPartUpdates:!!L,suspendPartUpdatesForMessageId:L}),ne=r?te:YL,re=b.pendingUserMessage,ie=Zr(e=>r?e.retainedPendingUserMessages.get(r):void 0)??XL,ae=Zr(e=>e.clearRetainedPendingUserMessages),oe=Z.useMemo(()=>{if(ie.length===0)return m;if(m.length===0)return ie;let e=new Set(m.map(e=>e.info.id));return[...m,...ie.filter(t=>!e.has(t.info.id))]},[m,ie]),se=Z.useMemo(()=>qL(ne),[ne]),ce=Z.useMemo(()=>{if(!se.modelId)return _(`common.unavailable`);let e=E.find(e=>e.id===se.providerId);return Ai(e,se.modelId)||se.modelId},[E,se.modelId,se.providerId,_]),le=Br(r??``,k),ue=ri(r??``,k),[de,fe]=Z.useState(null),pe=!!r&&de===r,me=J(()=>{if(!r||pe)return;let e=r,t=k;fe(e);let n=Fi(()=>{let n=zi();if(!n)throw Error(`unbound`);return n.getTranscript(un(t,e))});Fr(_r({kind:`refresh`,sessionID:e,directory:t,purpose:`retry`,source:`network`,request:le?{sessionID:e,status:le.status===`ready`?`ready`:le.status,error:le.error}:void 0,hydration:ue,error:le?.error})),(async()=>{try{await ht(t,e),await D.ensureSessionRenderable(e,{directory:t});try{let r=Fi(()=>{let n=zi();if(!n)throw Error(`unbound`);return n.getTranscript(un(t,e))});n&&r&&Mr({trigger:`user-refresh`,sessionID:e,directory:t,purpose:`retry`,before:n,after:r})}catch{}}catch(n){Fr(_r({kind:`request-error`,sessionID:e,directory:t,purpose:`retry`,source:`network`,hydration:ue,error:n}))}finally{fe(t=>t===e?null:t)}})()}),he=Ir(r??``,k).boundary,ge=J(async e=>{if(he.kind===`has-more`){await Nn(k,e);return}if(he.kind===`unknown`){await Wi(k,e);return}u&&!u.complete&&await u.fetchPrevious()});bL(r??``,ne);let _e=wr(r??``,k),ve=Ar(r??``,k),ye=hi(k),be=_e??ZL,xe=or(r,k),Se=On(r,k);AL(r,k,ne,Se.length);let Ce=Z.useMemo(()=>{if(!r||xe.length>0||Se.length>0)return!1;let e=be.type??`idle`;if(e===`busy`||e===`retry`||Tx(oe,{resolvedSessionStatus:_e,sessionStatusObservedAt:ve}))return!0;let t=ne[ne.length-1]?.info,n=t?.time?.created;return _e&&typeof ve==`number`&&typeof n==`number`&&n<=ve||typeof ye==`number`&&typeof n==`number`&&n<=ye?!1:!!(t&&t.role===`assistant`&&typeof t.time?.completed!=`number`)},[r,oe,_e,ne,xe.length,Se.length,be.type,ve,ye]),we=Z.useMemo(()=>!r||be.type!==`retry`?null:{sessionId:r,message:(typeof be.message==`string`?(be.message??``).trim():``)||eR,confirmedAt:be.confirmedAt},[r,be]),[Te,Ee]=Z.useState(0),De=Z.useRef(null);Z.useEffect(()=>{if(!we||typeof we.confirmedAt==`number`){De.current=null,Ee(0);return}De.current!==we.sessionId&&(De.current=we.sessionId,Ee(Date.now()))},[we]);let Oe=Z.useMemo(()=>we?{...we,fallbackTimestamp:Te}:null,[we,Te]),ke=!!(r&&D.isLoading(r,{directory:k})),Ae=Z.useMemo(()=>{if(!r)return null;let e=Ex({boundary:he,assistantComplete:u?.complete??!0});return{limit:he.loadedTurns,complete:e.complete,canLoadEarlier:e.canLoadEarlier,loading:Dx({syncLoading:ke,assistantLoading:!!u?.loading})}},[u?.complete,u?.loading,r,he,ke]),je=s(e=>e.isMobile),Me=eg()!==null,Ne=d(),Pe=Sg(),Fe=!!b?.open,Ie=At(e=>e.error),Le=j,Re=Me||je||Ne||Pe===`mini-chat`,ze=Z.useRef(null),Be=Z.useMemo(()=>{let e=b?.selectedProjectId?w.find(e=>e.id===b.selectedProjectId)??null:null,t=T?w.find(e=>e.id===T)??null:null,n=e??t??w[0]??null;return n?xR(n):null},[T,b?.selectedProjectId,w]),Ve=Qn(r,k),He=a??r??``,[Ue,We]=Z.useState(null),Ge=Hg(Ue,He,Ve,se);rt(()=>{We(e=>Hg(e,He,Ve,se))},[Ve,se,He]);let Ke=Ve??Ge?.parentTarget??null,qe=Ge?.execution??se,Je=dl(),Ye=Je!==null&&r===Je,Xe=J(()=>{Ke&&y(Ke.id,Ke.directory)}),Ze=Ke?.session?.title,Qe=g.returnToParent&&Ke&&!Ye?(0,$.jsxs)(ca,{type:`button`,variant:`outline`,size:`xs`,onClick:Xe,className:`absolute left-3 top-3 z-20 !font-normal bg-[var(--surface-background)]/95`,"aria-label":_(`chat.container.returnToParent.aria`),title:Ze?.trim()?_(`chat.container.returnToParent.titleNamed`,{title:Ze}):_(`chat.container.returnToParent.title`),children:[(0,$.jsx)(X,{name:`arrow-left`,className:`h-4 w-4`}),_(`chat.container.returnToParent.label`)]}):null,$e=Rg({readOnly:t,sessionIdentityPending:ee,isSubagentSession:!!W?.parentID||!!Ge,allowPromptingSubagentSessions:P}),tt=qe.modelId===se.modelId?ce:qe.modelId?Ai(E.find(e=>e.id===qe.providerId),qe.modelId)||qe.modelId:_(`common.unavailable`),st=Ke?(0,$.jsx)(Rx,{agentName:qe.agentName,providerId:qe.providerId,modelId:qe.modelId,modelName:tt}):(0,$.jsx)(Rx,{}),ct=J(e=>{s.getState().setAllowPromptingSubagentSessions(e.allowPromptingSubagentSessions)}),lt=J(e=>{if(typeof window>`u`||e.source!==window.parent||e.origin!==window.location.origin)return;let t=e.data;t?.type===`openchamber:chat-settings-sync`&&typeof t.payload?.allowPromptingSubagentSessions==`boolean`&&ct({allowPromptingSubagentSessions:t.payload.allowPromptingSubagentSessions})}),ut=typeof window<`u`&&window.parent!==window;it(`message`,lt,ut?window:$L),nt(()=>{if(!ut)return;let e=window;e.__openchamberApplyChatSettingsSync=ct,window.parent.postMessage({type:`openchamber:chat-settings-request`},window.location.origin)}),et(()=>{if(typeof window>`u`)return;let e=window;e.__openchamberApplyChatSettingsSync===ct&&delete e.__openchamberApplyChatSettingsSync}),Z.useEffect(()=>{g.newSessionDraft&&e&&!r&&!Fe&&v()},[e,r,Fe,g.newSessionDraft,v]);let dt=Z.useRef(()=>{}),ft=J(e=>{dt.current(e)}),mt=Z.useRef(()=>{}),gt=J(()=>{mt.current()}),_t=Gx(e=>e.legendTimelineEnabled),[vt,yt]=Z.useState(!0),[bt,xt]=Z.useState(!1),[St,Ct]=Z.useState(!1),[wt,Tt]=Z.useState(0),Et=J(()=>{Tt(e=>e+1)}),Dt=J((e,t)=>{yt(e),e&&Ct(!1),t!==void 0&&xt(t)});Z.useEffect(()=>{yt(!0),xt(!1),Ct(!1)},[r]);let{scrollRef:Ot,notifyContentChange:jt,getAnimationHandlers:Mt,goToBottom:Nt,scrollToBottomOnSend:It,releaseAutoFollow:Lt,beginHistoryViewportPreservation:Rt,endHistoryViewportPreservation:zt,restoreSnapshot:Bt,isPinned:Vt,isFollowingProgrammatically:Ht,showScrollButton:Ut}=CF({enabled:n&&!_t,currentSessionId:r,viewportKey:a,sessionMessageCount:z,sessionIsWorking:Ce,isMobile:je,onActiveTurnChange:ft,onUpwardUserIntent:gt}),Wt=Z.useRef(null);KF({enabled:je,scrollRef:Ot,scopeRef:Wt});let Gt=Z.useRef([]),Kt=Z.useMemo(()=>{let e=Pt(u?.entries??[],r,Gt.current);return Gt.current=e,e},[u?.entries,r]),qt=Z.useRef([]),Jt=Z.useMemo(()=>{if(!u)return ne;let e=In(u.entries,r,ne,qt.current);return qt.current=e,e},[u,r,ne]),Yt=Z.useMemo(()=>wx(Kt.length===0?Jt:r?[...Kt,Pn(r),...Jt]:Kt,oe),[r,Jt,Kt,oe]),Xt=Z.useRef(null),Zt=Z.useMemo(()=>Nx({sessionId:r,messages:Yt,retained:Xt.current}),[r,Yt]);Xt.current=Zt.retained;let Qt=Zt.messages,$t=Z.useRef(null),en=$t.current===r,tn=Z.useRef(_L),nn=r?`${k}\n${r}`:null,rn=J(()=>gL(Qt));Z.useEffect(()=>{if(!r||!nn||!Ce){tn.current={...tn.current,lastMovementAt:null};return}let e=r,t=k,n=setInterval(()=>{let n=rn(),r=vL(tn.current,{sessionKey:nn,working:!0,streaming:!!L,fingerprint:n,now:Date.now(),thresholdMs:fL,cooldownMs:pL,maxAttempts:3});tn.current=r.state,r.shouldRefresh&&(yL({sessionId:e,directory:t,stalledForMs:r.stalledForMs,attempt:r.state.attempts,fingerprint:n}),vn(t,e).catch(()=>{}))},mL);return()=>clearInterval(n)},[r,k,rn,Ce,L,nn]);let an=Z.useMemo(()=>{if(oe.length===0)return[];let e=new Set([...Kt,...Jt].filter(e=>kt(e.parts)).map(e=>e.info.id));return oe.map(e=>e.info.id).filter(t=>e.has(t))},[Jt,Kt,oe]);Z.useEffect(()=>{an.length!==0&&(h?.(an),r&&ae(r,an))},[ae,r,an,h]);let sn=iL({sessionId:r,directory:k,messages:Qt,historyMeta:Ae,scrollRef:Ot,messageListRef:ze,loadMoreMessages:ge,goToBottom:Nt,releaseAutoFollow:Lt,beginHistoryViewportPreservation:Rt,endHistoryViewportPreservation:zt,isPinned:_t?vt:Vt,showScrollButton:_t?bt:Ut,autoFillEnabled:n&&!Le,onWillLoadEarlier:Et}),cn=J(()=>{Ct(!1),ze.current?.scrollToBottom(),Nt(`instant`)}),ln=J(()=>{Ct(!1),It()}),dn=J(()=>{Ct(!0),sn.handleHistoryUpwardIntent()}),fn=Ox({isMobile:je,canLoadEarlier:sn.historySignals.canLoadEarlier,isLoadingOlder:sn.isLoadingOlder}),pn=sn.isLoadingOlder,mn=sn.loadEarlier,hn=J(()=>{Ct(!0),mn({userInitiated:!0})});dt.current=sn.handleActiveTurnChange,mt.current=sn.handleHistoryUpwardIntent,Z.useEffect(()=>{(xe.length!==0||Se.length!==0)&&jt(`permission`)},[jt,xe,Se]);let gn=dL({sessionId:r,turnIds:sn.turnIds,activeTurnId:sn.activeTurnId,scrollToTurn:sn.scrollToTurn,scrollToMessage:sn.scrollToMessage,resumeToBottom:cn}),_n=$e.showReadOnlyBanner?st:t?null:(0,$.jsx)(gx,{surface:c,scrollToBottom:ln,showScrollToBottom:je&&sn.showScrollToBottom,onScrollToBottom:gn.resumeToLatest,submissionBlocked:$e.blockSubmission}),yn=J(e=>{gn.scrollToTurnId(e,{behavior:`smooth`})}),bn=sn.historySignals.canLoadEarlier,Sn=g.promptNavigator&&!je&&!Ne&&!Le&&N&&sn.turnIds.length>=2;Z.useEffect(()=>{Sn||s.getState().setPromptNavigatorPanelOpen(!1)},[Sn]);let Cn=J(e=>{if(!n||!r)return;let t=e;t.detail?.sessionId&&t.detail.sessionId!==r||Nt(`instant`)});it(QL,Cn,n&&r&&typeof window<`u`?window:$L);let wn=J(e=>{if(!n||!r||Le||e.defaultPrevented||e.isComposing||e.key!==`ArrowUp`&&e.key!==`ArrowDown`||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let{activeMainTab:t}=s.getState();if(t!==`chat`||vR())return;let i=Ot.current;if(_R(document.activeElement,i)||gR(e.target))return;e.preventDefault();let a=e.key===`ArrowUp`?-1:1;gn.scrollByTurnOffset(a,{resumePastEnd:!1})});it(`keydown`,wn,n&&r&&!Le&&typeof window<`u`?window:$L);let Tn=Z.useRef(0),En=J(()=>{let e=Ot.current;e&&e.style.setProperty(`--chat-scroll-height`,`${e.clientHeight}px`)}),Dn=J(()=>{Tn.current||=requestAnimationFrame(()=>{Tn.current=0,En()})});rt(()=>{n&&En()},[n,r,Le,En]);let kn=typeof ResizeObserver<`u`;at(n&&kn?Ot:null,Dn),it(`resize`,Dn,n&&!kn&&typeof window<`u`?window:$L),et(()=>{Tn.current&&=(cancelAnimationFrame(Tn.current),0)});let An=Z.useRef(null),Mn=Z.useRef(0),Fn=jx({transcriptMessageCount:ne.length,pendingUserCount:oe.length,historyPrefixCount:Kt.length}),Ln=Mx({hasTranscriptShell:Fn,p0Satisfied:ue.p0Satisfied,hasBusyShell:Ce&&Fn,hasImmediateShell:oe.length>0||Kt.length>0,hasRenderableSessionSnapshot:V,prefetchStatus:le?.status,syncLoading:!!(r&&D.isLoading(r,{directory:k})),userRetrying:pe,hasPaintedTranscript:en});Ln===`pass`&&Qt.length>0&&($t.current=r);let Rn=!!r&&Ln===`hydrating`,zn=!!r&&Ln===`load-error`;Z.useEffect(()=>{!zn||!r||Fr(_r({kind:`request-error`,sessionID:r,directory:k,purpose:`load-failed`,source:`network`,request:le?{sessionID:r,status:le.status===`ready`?`ready`:le.status,error:le.error}:void 0,hydration:ue,error:le?.error}))},[r,k,zn,le,ue]),Z.useEffect(()=>{if(!n||!r||Rn)return;let e=Qt.length,t=An.current!==r,i=!t&&Mn.current===0&&e>0;if(!t&&!i){An.current===r&&(Mn.current=e);return}let a=typeof window<`u`&&window.location.hash.length>0;if(An.current=r,Mn.current=e,a){Lt();return}let o=()=>{Bt()};typeof window>`u`?o():window.requestAnimationFrame(o)},[n,r,Rn,Lt,Bt,Qt.length]),Z.useEffect(()=>{q(e=>e.key===G?e:{key:G,attempt:0})},[G]),Z.useEffect(()=>{if(!n||!r||K.key!==G||!JL({sessionId:r,hasRenderableSessionSnapshot:V,hasCurrentSessionEntity:!!W})||(A(r),W||K.attempt>=2))return;let e=K.attempt+1,t=window.setTimeout(()=>{q(t=>t.key===G&&t.attempt===K.attempt?{key:G,attempt:e}:t)},e*1e3);return()=>window.clearTimeout(t)},[n,W,r,k,A,V,G,K]);let Bn=C&&r&&(C.targetSessionId?r===C.targetSessionId:r===C.sourceSessionId)?C:null;if(Bn){let e=Bn.stage===`preparing`?`chat.forkTransition.preparing`:Bn.stage===`copying`?`chat.forkTransition.copying`:Bn.stage===`opening`?`chat.forkTransition.opening`:`chat.forkTransition.loading`,t=[`preparing`,`copying`,`opening`,`loading`],n=_(`chat.forkTransition.progress`,{current:Math.max(1,t.indexOf(Bn.stage)+1),total:t.length});return(0,$.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center bg-background px-6 text-center`,children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,role:`status`,"aria-live":`polite`,"aria-label":`${_(e)}. ${n}`,children:[(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(e)}),(0,$.jsx)(Bp,{})]}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground/70 tabular-nums`,children:n})]})})}return!r&&!Fe?e&&!Ie?(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)(Bx,{})}):!r&&Fe?(x||S)&&re?(0,$.jsx)(`div`,{className:`relative flex h-full flex-col bg-background`,children:(0,$.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,$.jsxs)(Oa,{className:`absolute inset-0 overflow-y-auto overflow-x-hidden chat-scroll`,style:lR,children:[(0,$.jsx)(JN,{sessionKey:`draft:${b.draftID??`pending`}`,messages:[re],sessionIsWorking:!0,isLoadingOlder:!1,onMessageContentChange:jt,getAnimationHandlers:Mt,scrollToBottom:cn}),(0,$.jsxs)(`div`,{className:`chat-message-column px-4 pb-10 pt-2 typography-meta text-muted-foreground`,role:`status`,"aria-live":`polite`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(Bp,{})]})]})})}):x||S?(0,$.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center bg-background px-6 text-center`,children:(0,$.jsx)(`div`,{className:`flex flex-col items-center gap-3`,role:`status`,"aria-live":`polite`,"aria-label":_(`chat.emptyState.establishingConversation`),children:(0,$.jsxs)(`span`,{className:`typography-ui-header text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`animate-text-shimmer`,children:_(`chat.emptyState.establishingConversation`)}),(0,$.jsx)(Bp,{})]})})}):(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[Re&&!Le?(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:SR(Be?_(`chat.emptyState.draftTitleWithProject`,{project:Be}):_(`chat.emptyState.draftTitle`),Be)}),(0,$.jsx)(P_,{onSubmit:e=>on.getState().requestPresetSubmit(e),className:`oc-draft-starters mt-8 max-w-md`})]}):null,(0,$.jsx)(`div`,{className:Y(`relative z-10 flex min-h-0`,je&&`oc-mobile-composer-foot`,Le?`flex-1 bg-background`:Re?Y(`bg-background`,`px-0`):`flex-1 items-center justify-center bg-background px-0 pb-[6vh]`),children:_n})]}):r?zn?(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col bg-background`,children:[Qe,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Le?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Le,children:Le?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center px-6`,children:(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center text-center`,role:`alert`,"aria-live":`polite`,children:[(0,$.jsx)(`div`,{className:`mb-4 flex size-10 items-center justify-center rounded-full bg-[var(--status-error-background)] text-[var(--status-error-foreground)]`,children:(0,$.jsx)(X,{name:`error-warning`,className:`size-5`,"aria-hidden":`true`})}),(0,$.jsx)(`h2`,{className:`typography-ui-header text-foreground`,children:_(`chat.history.loadFailedTitle`)}),(0,$.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:_(`chat.history.loadFailedDescription`)}),(0,$.jsxs)(ca,{type:`button`,className:`mt-5`,onClick:me,children:[(0,$.jsx)(X,{name:`refresh`,className:`size-4`,"aria-hidden":`true`}),_(`chat.history.retry`)]})]})})}),(0,$.jsx)(`div`,{className:Y(`relative z-10`,je&&`oc-mobile-composer-foot`,Le?`flex-1 min-h-0 bg-background`:`bg-background`),children:_n})]}):Rn?(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex flex-col h-full bg-background`,je&&`oc-chat-composer-swap-scope`),children:[Qe,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Le?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Le,children:(0,$.jsx)(`div`,{ref:Ot,className:`absolute inset-0 overflow-y-auto overflow-x-hidden bg-background pt-6 chat-scroll`,style:lR,children:(0,$.jsx)(`div`,{className:`space-y-4 chat-scroll-foot-inset`,children:bR.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)(oc,{className:`h-3.5 w-3.5 rounded-full flex-shrink-0`}),(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,t.titleWidth)}),(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,t.detailWidth)})]},`${e.id}-${t.id}`))}),(0,$.jsxs)(`div`,{className:`space-y-1.5 pt-1`,children:[(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,e.textWidths[0])}),(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,e.textWidths[1])}),(0,$.jsx)(oc,{className:Y(`h-4 rounded-md`,e.textWidths[2])})]})]})})},e.id))})})}),(0,$.jsxs)(`div`,{className:Y(`relative z-10`,je&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Le?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!je&&!Le?(0,$.jsx)(dR,{}):null,_n]})]}):Qt.length===0&&!Ce?(0,$.jsxs)(`div`,{className:`relative flex flex-col h-full bg-background`,children:[Qe,(0,$.jsx)(`div`,{className:Y(`relative min-h-0`,Le?`absolute inset-0 opacity-0 pointer-events-none`:`flex-1`),"aria-hidden":Le,children:Le?null:(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,$.jsx)(Bx,{})})}),(0,$.jsx)(`div`,{className:Y(`relative z-10`,je&&`oc-mobile-composer-foot`,Le?`flex-1 min-h-0 bg-background`:`bg-background`),children:_n}),(0,$.jsx)(Cx,{})]}):(0,$.jsxs)(`div`,{ref:Wt,className:Y(`relative flex flex-col h-full bg-background`,je&&`oc-chat-composer-swap-scope`),children:[p?(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:p}):null,Qe,(0,$.jsx)(yR,{currentSessionId:r,virtualizerKey:a??r,isDesktopExpandedInput:Le,isMobile:je,stickyUserHeader:M,directory:k,scrollRef:Ot,messageListRef:ze,pendingRevealWork:sn.pendingRevealWork,renderedMessages:sn.renderedMessages,isLoadingOlder:pn,sessionIsWorking:Ce,streamingMessageId:L,activeStreamingPhase:R,retryOverlay:Oe,handleMessageContentChange:jt,getAnimationHandlers:Mt,handleHistoryScroll:sn.handleHistoryScroll,handleHistoryUpwardIntent:dn,onTimelineIsAtEndChange:Dt,timelineFollowSuspended:St,timelineHistoryAnchorToken:wt,scrollToBottom:cn,sessionQuestions:Se,sessionPermissions:xe,isProgrammaticFollowActive:Ht,showLoadOlderButton:fn,onLoadOlder:hn,turnIds:sn.turnIds,activeTurnId:sn.activeTurnId,onSelectTurn:yn,showPromptNavigator:Sn,canLoadEarlierPrompts:bn,isLoadingOlderPrompts:pn,onLoadEarlierPrompts:hn},r),(0,$.jsxs)(`div`,{className:Y(`relative z-10`,je&&`oc-mobile-composer-foot oc-mobile-composer-foot--overlay`,Le?`flex-1 min-h-0 bg-background`:`bg-background`),children:[!je&&!Le?(0,$.jsx)(dR,{}):null,!Le&&Qt.length>0&&(je?(0,$.jsx)(bg,{placement:`expanded`,visible:sn.showScrollToBottom,onClick:gn.resumeToLatest}):(0,$.jsx)(bg,{visible:sn.showScrollToBottom,onClick:gn.resumeToLatest})),_n]}),(0,$.jsx)(Cx,{}),(0,$.jsx)(oL,{open:F,onOpenChange:I,sessionID:r??void 0,directory:k,onRevertMessage:f,onScrollToMessage:sn.scrollToMessage,onScrollByTurnOffset:gn.scrollByTurnOffset,onResumeToLatest:cn,canLoadEarlier:sn.historySignals.canLoadEarlier,isLoadingEarlier:pn,onLoadEarlier:hn})]}):null});wR.displayName=`MemoizedChatContainerContent`;var TR=()=>{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)(oc,{className:`h-4 w-4/5 animate-none rounded-md`}),(0,$.jsx)(oc,{className:`h-4 w-2/3 animate-none rounded-md`}),(0,$.jsx)(oc,{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)(oc,{className:`h-4 w-5/6 animate-none rounded-md`}),(0,$.jsx)(oc,{className:`h-4 w-3/5 animate-none rounded-md`})]}),(0,$.jsx)(oc,{className:`h-24 w-full animate-none rounded-xl`})]})})}),e[1]=n):n=e[1],n},ER=e=>{let t=(0,Q.c)(63),n,r;t[0]===e?(n=t[1],r=t[2]):({runtimeKey:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=Sg(),a=cr(),o=Zr(pe(AR)),s;bb0:{if(!o.sessionId){s=null;break bb0}let e=o.directory??a,n;t[3]!==r||t[4]!==o.sessionId||t[5]!==e?(n={runtimeKey:r,sessionId:o.sessionId,directory:e},t[3]=r,t[4]=o.sessionId,t[5]=e,t[6]=n):n=t[6],s=n}let c=s,l;t[7]===c?l=t[8]:(l=PL(c),t[7]=c,t[8]=l);let u=l,f=u.key,p=bt()||d()||i===`mini-chat`?sR:oR,m;t[9]!==p||t[10]!==c||t[11]!==u?(m=()=>({activeIntent:u,cacheNeedsTrim:!1,cachedSessionViews:c?IL([],c,p,nR):[],pendingSessionView:null}),t[9]=p,t[10]=c,t[11]=u,t[12]=m):m=t[12];let[h,g]=Z.useState(m),_=Z.useRef(u),v=Z.useRef(f),{cacheNeedsTrim:y,cachedSessionViews:b,pendingSessionView:x}=h,S=x?.intent===u?x.entry:null,C;if(t[13]!==b||t[14]!==S){let e=[...b];S&&!e.some(e=>e.key===S.key)&&e.push(S),C=e.sort(jR),t[13]=b,t[14]=S,t[15]=C}else C=t[15];let w=C,T;t[16]!==w||t[17]!==f?(T=RL(w,f),t[16]=w,t[17]=f,t[18]=T):T=t[18];let E=T,D=!!(f&&!E),O;t[19]!==p||t[20]!==u||t[21]!==f?(O=()=>{_.current=u,v.current=f,g(e=>zL(e,u,p))},t[19]=p,t[20]=u,t[21]=f,t[22]=O):O=t[22];let k;t[23]!==p||t[24]!==y||t[25]!==u||t[26]!==f?(k=[p,y,u,f],t[23]=p,t[24]=y,t[25]=u,t[26]=f,t[27]=k):k=t[27],rt(O,k);let A=x?.intent??null,j,M;t[28]!==p||t[29]!==A?(j=()=>{A&&g(e=>VL(e,A,p))},M=[p,A],t[28]=p,t[29]=A,t[30]=j,t[31]=M):(j=t[30],M=t[31]),rt(j,M);let N;t[32]!==E||t[33]!==u||t[34]!==f?(N=()=>{if(!u.selection||E)return;let e=u,t=f;return hc(()=>{_.current===e&&v.current===t&&g(n=>v.current===t?BL(n,e,_.current,nR):n)},{priority:`user-blocking`})},t[32]=E,t[33]=u,t[34]=f,t[35]=N):N=t[35];let P;t[36]!==E||t[37]!==p||t[38]!==u||t[39]!==f?(P=[E,p,u,f],t[36]=E,t[37]=p,t[38]=u,t[39]=f,t[40]=P):P=t[40],Z.useEffect(N,P);let F;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(F=(e,t)=>{let n=_.current,r=v.current;g(i=>{if(_.current!==n||v.current!==r||i.activeIntent!==n||e!==r)return i;let a=LL(i.cachedSessionViews,e,t);return a===i.cachedSessionViews?i:{...i,cacheNeedsTrim:!0,cachedSessionViews:a}})},t[41]=F):F=t[41];let I=J(F),L=D||void 0,R;t[42]!==D||t[43]!==f?(R=D?(0,$.jsx)(TR,{},f):null,t[42]=D,t[43]=f,t[44]=R):R=t[44];let z;if(t[45]!==E||t[46]!==I||t[47]!==n||t[48]!==w){let e;t[50]!==E||t[51]!==I||t[52]!==n?(e=e=>(0,$.jsx)(Z.Activity,{name:`chat-session-${e.sessionId}`,mode:E===e.key?`visible`:`hidden`,children:(0,$.jsx)(wR,{...n,sessionId:e.sessionId,sessionDirectory:e.directory,sessionViewKey:e.key,onSessionViewEstimateChange:I})},e.key),t[50]=E,t[51]=I,t[52]=n,t[53]=e):e=t[53],z=w.map(e),t[45]=E,t[46]=I,t[47]=n,t[48]=w,t[49]=z}else z=t[49];let B;t[54]!==n||t[55]!==o.directory||t[56]!==f?(B=f?null:(0,$.jsx)(wR,{...n,sessionId:null,sessionDirectory:o.directory}),t[54]=n,t[55]=o.directory,t[56]=f,t[57]=B):B=t[57];let V;return t[58]!==L||t[59]!==R||t[60]!==z||t[61]!==B?(V=(0,$.jsxs)(`div`,{className:`h-full bg-background`,"aria-busy":L,children:[R,z,B]}),t[58]=L,t[59]=R,t[60]=z,t[61]=B,t[62]=V):V=t[62],V},DR=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=Px(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)(wR,{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)(Ph.Provider,{value:u,children:f}),t[21]=u,t[22]=f,t[23]=p):p=t[23],p},OR=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=cr(),o=n.directory??a,s;t[4]!==o||t[5]!==n?(s=Nh({...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)(wR,{...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)(Ph.Provider,{value:c,children:u}),t[13]=c,t[14]=u,t[15]=d):d=t[15],d},kR=e=>{let t=(0,Q.c)(14),n=Z.useSyncExternalStore(cR,i,i);if(e.host){let r=`${n}:${e.host.sessionSurface.surfaceId}`,i;return t[0]!==e||t[1]!==n||t[2]!==r?(i=(0,$.jsx)(DR,{...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)(OR,{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)(ER,{...e,runtimeKey:n},n),t[11]=e,t[12]=n,t[13]=r):r=t[13],r};function AR(e){return{sessionId:e.currentSessionId,directory:e.currentSessionDirectory}}function jR(e,t){return e.key.localeCompare(t.key)}export{Du as $,c_ as A,jh as B,h_ as C,x_ as D,g_ as E,bg as F,am as G,Pm as H,mg as I,Bp as J,Jp as K,$h as L,Wg as M,Gg as N,__ as O,xg as P,Nu as Q,eg as R,W_ as S,y_ as T,Dm as U,Ph as V,Sm as W,Yu as X,_d as Y,qu as Z,Rx as _,CF as a,cl as at,ky as b,JN as c,$E as d,su as et,QE as f,Gx as g,OE as h,nI as i,il as it,Yg as j,o_ as k,Hk as l,WE as m,qL as n,nl as nt,nF as o,ul as ot,eD as p,Yp as q,aI as r,rl as rt,XP as s,al as st,kR as t,cu as tt,UO as u,Iy as v,v_ as w,tv as x,Ay as y,Ah as z};