@openchambery/web 1.18.4-beta.3 → 1.18.4-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/assets/{AssistantView-dp-Ffv4m.js → AssistantView-epTdbN5j.js} +1 -1
  2. package/dist/assets/{ChatContainer-DDnVzDEm.js → ChatContainer-CgtAWWrX.js} +7 -7
  3. package/dist/assets/{DiagramView-B8wbKkCc.js → DiagramView-ULI73qc-.js} +1 -1
  4. package/dist/assets/{MarkdownRendererImpl-5pG4R3MC.js → MarkdownRendererImpl-uWHU7Rym.js} +1 -1
  5. package/dist/assets/{MobileDetailNavigation-Clxl7A1c.js → MobileDetailNavigation-Cy4ty1yY.js} +1 -1
  6. package/dist/assets/{MobileShareBridge-CzL_qql3.js → MobileShareBridge-DzHJ1UIg.js} +1 -1
  7. package/dist/assets/{MobileSurface-BcEhI0za.js → MobileSurface-CifcK_VS.js} +1 -1
  8. package/dist/assets/{MultiRunWindow-DGCwZYux.js → MultiRunWindow-CHvMEEgJ.js} +1 -1
  9. package/dist/assets/{OnboardingScreen-C1n_wVb-.js → OnboardingScreen-BN4L1hqu.js} +1 -1
  10. package/dist/assets/{SettingsView-Cn-1NGfr.js → SettingsView-Cs57SEuc.js} +1 -1
  11. package/dist/assets/{SettingsWindow-CPjytuX6.js → SettingsWindow-DbyP7rYq.js} +1 -1
  12. package/dist/assets/{TerminalView-CXbbSGpU.js → TerminalView-CgK-kbfK.js} +1 -1
  13. package/dist/assets/{ToolOutputDialog-BWtMR2ct.js → ToolOutputDialog-ChljB1CN.js} +1 -1
  14. package/dist/assets/{appThemeRegistry-BfC78Ze-.js → appThemeRegistry-Ii1BsWpN.js} +2 -2
  15. package/dist/assets/{button-BQY5ugjh.js → button-KTZJ84Mx.js} +1 -1
  16. package/dist/assets/{context-menu-E7GOhSf7.js → context-menu-CPREQT2S.js} +1 -1
  17. package/dist/assets/{gitApi-Dc8B6EYC.js → gitApi-hpklqU10.js} +1 -1
  18. package/dist/assets/{insertionBoundaries-C7yNiWO-.js → insertionBoundaries-BNfO7xim.js} +1 -1
  19. package/dist/assets/{main-D6MgGFxh.js → main-Bog_9j7q.js} +4 -4
  20. package/dist/assets/{main-D9qBzZpU.js → main-hWnOf28D.js} +2 -2
  21. package/dist/assets/{miniChat-B7g3gXRa.js → miniChat-D_XI2D45.js} +2 -2
  22. package/dist/assets/{mobile-I5gQEcaR.js → mobile-DoZizfm3.js} +2 -2
  23. package/dist/assets/{multirun-CvzAwx9Z.js → multirun-B9Fz0sR2.js} +1 -1
  24. package/dist/assets/{projectMeta-A8_j9NDY.js → projectMeta-Dgoh4hEg.js} +1 -1
  25. package/dist/assets/radio-EJi50i5B.js +1 -0
  26. package/dist/assets/{renderElectronMiniChatApp-CKHAdXda.js → renderElectronMiniChatApp-B7bg9CG2.js} +2 -2
  27. package/dist/assets/{renderMobileApp-z5FQQ0YS.js → renderMobileApp-DTgy4Ew9.js} +4 -4
  28. package/dist/assets/{runtimeConfig-CTI932Qg.js → runtimeConfig-CfCsNs7j.js} +1 -1
  29. package/dist/assets/{runtimeEndpointReset-CLXx9Rkb.js → runtimeEndpointReset-B69CvGxR.js} +1 -1
  30. package/dist/assets/{src-DF4hiLrB.css → src-CV_a1GoP.css} +1 -1
  31. package/dist/assets/{useAppFontEffects-DcBn8EaV.js → useAppFontEffects-RMk6ydUI.js} +2 -2
  32. package/dist/assets/{useDesktopWindowControlsLayout-DQ35ZeYs.js → useDesktopWindowControlsLayout-DdYFPvMA.js} +1 -1
  33. package/dist/assets/{useEffectiveDirectory-BBtnDd-j.js → useEffectiveDirectory-CPIfG0kt.js} +1 -1
  34. package/dist/assets/{useMobileNavigationStore-DtVJ24rj.js → useMobileNavigationStore-BULVe95f.js} +1 -1
  35. package/dist/assets/{useSessionAutoCleanup-Da2QnnIs.js → useSessionAutoCleanup-BC1Ok7X-.js} +1 -1
  36. package/dist/assets/{useWorkerHighlightedLines-Dv-hd_Ks.js → useWorkerHighlightedLines-C7q5oiKH.js} +1 -1
  37. package/dist/index.html +3 -3
  38. package/dist/mini-chat.html +3 -3
  39. package/dist/mobile.html +3 -3
  40. package/package.json +1 -1
  41. package/dist/assets/radio-DPw90a6Z.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-BWtMR2ct.js","assets/rolldown-runtime-C0FnF6B9.js","assets/useUIStore-BJpkPwky.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/persistence-DwXJK4-j.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-BvJ7NunE.js","assets/store-BuXogmxp.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/utils-DfPDhqys.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-BhSwbLaF.js","assets/dialog-sGFkIKP2.js","assets/button-BQY5ugjh.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-BdF4C4-o.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-BfC78Ze-.js","assets/platform-CXJwZIZe.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/markdown-worker-C5Om4TVK.js","assets/useEffectiveDirectory-BBtnDd-j.js","assets/useMobileNavigationStore-DtVJ24rj.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-SPh025NE.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/useWorkerHighlightedLines-Dv-hd_Ks.js","assets/tooltip-rN8LrxMF.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{D as t,E as n,F as r,T as i,W as a,g as o,j as s,t as c,y as l}from"./useUIStore-BJpkPwky.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 te,st as ne,u as re,ut as ie,v as ae,wt as oe,x as se,y as ce,yt as le,z as ue}from"./persistence-DwXJK4-j.js";import{a as de,i as fe,r as pe,t as me}from"./vendor-zustand-B4dlGEM2.js";import{c as he,d as ge,f as _e,l as ve,nt as ye,rt as be,tt as xe,u as Se}from"./vendor-base-ui-CnHfUmDN.js";import{At as Ce,Bt as we,Ct as Te,Gt as Ee,Ht as De,Jt as Oe,Nt as ke,Pt as Ae,Rt as je,St as Me,Ut as Ne,Wt as Pe,jt as Fe,kt as Ie,n as Le,qt as Re,t as ze,zt as Be}from"./platform-CXJwZIZe.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 q,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-BvJ7NunE.js";import{i as lt,t as ut}from"./store-BuXogmxp.js";import{$ as dt,$t as ft,A as pt,Ai as mt,An as ht,Ar as gt,B as _t,Bi as vt,Br as yt,Bt as bt,Ca as xt,Ci as St,Cn as Ct,Co as wt,Ct as Tt,D as Et,Di as Dt,Dr as Ot,Dt as kt,E as At,Ea as jt,Ei as Mt,Er as Nt,Et as Pt,F as Ft,Fa as It,Fi as Lt,Fn as Rt,G as zt,Ga as Bt,Gi as Vt,Gt as Ht,Ha as Ut,Hi as Wt,Hn as Gt,Hr as Kt,Ht as qt,I as Jt,Ii as Yt,In as Xt,Io as Zt,Ir as Qt,J as $t,Ja as en,Jt as tn,K as nn,Ka as rn,Ki as an,Kr as on,Kt as sn,L as cn,Li as ln,Ln as un,M as dn,Ma as fn,Mr as pn,Mt as mn,N as hn,Na as gn,No as _n,Nr as vn,Nt as yn,O as bn,Oa as xn,Oi as Sn,Ot as Cn,P as wn,Pi as Tn,Pn as En,Pr as Dn,Q as On,Qa as kn,Qt as An,Ri as jn,Rr as Mn,Rt as Nn,S as Pn,Sa as Fn,Si as In,Sn as Ln,T as Rn,Ti as zn,Tr as Bn,Tt as Vn,U as Hn,Ua as Un,Ui as Wn,Un as Gn,Ur as Kn,Vi as qn,Vr as Jn,Vt as Yn,Wa as Xn,Wi as Zn,Wr as Qn,X as $n,Xa as er,Xi as tr,Xt as nr,Y as rr,Ya as ir,Yr as ar,Z as or,Za as sr,Zt as cr,_a as lr,_i as ur,_n as dr,a as fr,aa as pr,an as mr,at as hr,ba as gr,bn as _r,ca as vr,cn as yr,ct as br,di as xr,dn as Sr,dt as Cr,ea as wr,ei as Tr,en as Er,er as Dr,et as Or,f as kr,fa as Ar,fi as jr,fn as Mr,ft as Nr,g as Pr,ga as Fr,gi as Ir,ha as Lr,hi as Rr,hr as zr,ht as Br,i as Vr,ia as Hr,ii as Ur,in as Wr,io as Gr,it as Kr,j as qr,ja as Jr,ji as Yr,jr as Xr,jt as Zr,k as Qr,ki as $r,l as J,ln as ei,lt as ti,m as ni,ma as ri,n as ii,ni as ai,nn as oi,nr as si,nt as ci,oi as li,on as ui,pi as di,pt as fi,q as pi,qa as mi,qr as hi,qt as gi,ra as _i,ri as vi,rn as yi,ro as bi,rr as xi,rt as Si,si as Ci,sn as wi,so as Ti,ta as Ei,ti as Di,tr as Oi,tt as ki,ui as Ai,un as ji,ut as Mi,va as Ni,vi as Pi,vn as Fi,vr as Ii,vt as Li,w as Ri,wa as zi,wi as Bi,wn as Vi,wo as Hi,wr as Ui,wt as Wi,x as Gi,xi as Ki,xn as qi,ya as Ji,yi as Yi,yt as Xi,z as Zi,za as Qi,zi as $i,zt as ea}from"./useMobileNavigationStore-DtVJ24rj.js";import{n as ta,t as na}from"./AgentAvatar-BvhXxFvg.js";import{n as ra,t as Y}from"./utils-DfPDhqys.js";import{n as X}from"./Icon-BhSwbLaF.js";import{a as ia,i as aa,n as oa,o as sa,r as ca,s as la,t as ua}from"./dialog-sGFkIKP2.js";import{t as da}from"./button-BQY5ugjh.js";import{E as fa,n as pa}from"./gitApi-Dc8B6EYC.js";import{A as ma,C as ha,M as ga,N as _a,O as va,S as ya,T as ba,a as xa,b as Sa,d as Ca,g as wa,h as Ta,i as Ea,j as Da,k as Oa,n as ka,o as Aa,p as ja,s as Ma,u as Na,v as Pa,w as Fa,x as Ia}from"./projectMeta-A8_j9NDY.js";import{t as La}from"./input-CgIoxUJc.js";import{i as Ra,n as za,t as Ba}from"./tooltip-rN8LrxMF.js";import{n as Va,t as Ha}from"./useThemeSystem-DMzWVJaW.js";import{$ as Ua,B as Wa,C as Ga,D as Ka,H as qa,N as Ja,O as Ya,P as Xa,S as Za,W as Qa,X as $a,Z as eo,_ as to,a as no,f as ro,g as io,h as ao,i as oo,k as so,m as co,o as lo,p as uo,r as fo,t as po}from"./radio-DPw90a6Z.js";import{i as mo,t as ho}from"./OverlayScrollbar-CXFN6Cqq.js";import{_ as go,a as _o,d as vo,f as yo,g as bo,h as xo,i as So,l as Co,m as wo,n as To,u as Eo,v as Do,x as Oo}from"./markdownTheme-BdF4C4-o.js";import{n as ko,r as Ao,t as jo}from"./useRuntimeAPIs-DSLXJybW.js";import{a as Mo,c as No,i as Po,r as Fo,t as Io,u as Lo}from"./appThemeRegistry-BfC78Ze-.js";import{_ as Ro,a as zo,c as Bo,g as Vo,l as Ho,o as Uo,t as Wo,v as Go,y as Ko}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{i as qo,n as Jo,o as Yo,s as Xo,t as Zo}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{a as Qo,n as $o,t as es}from"./url-B0Ak7X6b.js";import{_ as ts,l as ns,m as rs,p as is,s as as}from"./markdown-worker-C5Om4TVK.js";import{n as os}from"./useEffectiveDirectory-BBtnDd-j.js";import{a as ss,c as cs,d as ls,f as us,i as ds,l as fs,n as ps,r as ms,s as hs,t as gs}from"./FadeInOnReveal-98buIVdv.js";import{A as _s,C as vs,D as ys,E as bs,M as xs,O as Ss,S as Cs,T as ws,a as Ts,b as Es,c as Ds,f as Os,i as ks,j as As,k as js,l as Ms,m as Ns,n as Ps,o as Fs,p as Is,r as Ls,s as Rs,t as zs,u as Bs,w as Vs,x as Hs}from"./insertionBoundaries-C7yNiWO-.js";import{A as Us,C as Ws,D as Gs,E as Ks,M as qs,O as Js,S as Ys,T as Xs,a as Zs,b as Qs,c as $s,g as ec,h as tc,i as nc,j as rc,k as ic,o as ac,p as oc,r as sc,s as cc,t as lc,v as uc,w as dc,x as fc,y as pc}from"./useWorkerHighlightedLines-Dv-hd_Ks.js";import{t as mc}from"./vendor-cmdk-CeAGfrLo.js";import{t as hc}from"./sortable-tabs-strip-pSnPuBXA.js";import{n as gc,t as _c}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{i as vc,u as yc}from"./vendor-pierre-diffs-BenIz2TM.js";import{i as bc,t as xc}from"./vendor-framer-motion-DFy_BSVd.js";var Z=e(be(),1),Q=We(),$=ye(),Sc=e(xe(),1),Cc=`openchamber:close-embedded-session-chat`,wc=`openchamber:embedded-visibility`,Tc=`openchamber:embedded-visibility-request`,Ec=e=>new URLSearchParams(e).get(`ocPanel`)===`session-chat`,Dc=(e,t,n)=>JSON.stringify({sessionID:e,directory:t||``,readOnly:n===!0}),Oc=(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()},kc=(e,t,n,r,i,a)=>{let o=Dc(n,r,i),s=e.get(t);if(s?.signature===o)return s.src;let c=Oc(n,r,i,a);return e.set(t,{signature:o,src:c}),c},Ac=null,jc=()=>{if(Ac!==null)return Ac;if(typeof window>`u`)return Ac=!1,!1;try{return Ac=new URLSearchParams(window.location.search).get(`ocPanel`)===`session-chat`,Ac}catch{return Ac=!1,!1}},Mc=()=>{if(!jc())return null;try{let e=new URLSearchParams(window.location.search).get(`sessionId`);return e&&e.trim().length>0?e.trim():null}catch{return null}},Nc=Ve(`OpenChamberMedia`);function Pc(){return Le()&&He.getPlatform()===`android`&&He.isPluginAvailable(`OpenChamberMedia`)}async function Fc(e){if(!Pc())return null;let t=await Nc.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 Ic=(e,t,n)=>{let r=Error(e);return r.name=`DictationStreamError`,r.retryable=t,n&&(r.reasonCode=n),r},Lc=1e4,Rc=15e3,zc=3e4,Bc=3e4,Vc=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`))}},Lc);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`))},Rc);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`))},Bc),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=Ic(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)}}},zc))}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`,()=>{Vc.cancelAllForRuntimeSwitch()});var Hc=128,Uc=`audio/pcm;rate=16000;bits=16`,Wc=()=>new Promise(e=>setTimeout(e,0)),Gc=()=>{let e=Math.random().toString(36).slice(2,10);return`dic_${Date.now().toString(16)}${e}`},Kc=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??Uc,this.getStartOptions=e.getStartOptions,this.createDictationId=e.createDictationId??Gc}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<Hc;){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 Wc()}}resolveDrainWaiters(){let e=this.drainWaiters;this.drainWaiters=[];for(let t of e)t()}},qc=16e3,Jc=qc,Yc=()=>{if(typeof window>`u`)return null;let e=window;return e.AudioContext||e.webkitAudioContext||null},Xc=e=>{let t=Math.max(-1,Math.min(1,e));return Math.round(t<0?t*32768:t*32767)},Zc=(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]=Xc(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]=Xc(e[i]*(1-s)+e[o]*s)}return a},Qc=(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},$c=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)},el=()=>({stream:null,context:null,source:null,processor:null,gain:null,pending:new Int16Array,started:!1}),tl=e=>{if(e)try{e.disconnect()}catch{}},nl=()=>typeof navigator>`u`||typeof window>`u`||!navigator.mediaDevices||typeof navigator.mediaDevices.getUserMedia!=`function`?!1:Yc()!==null;function rl(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=el(),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=Yc();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(ol);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=Zc(a,n.sampleRate,qc);for(t.pending=Qc(t.pending,c);t.pending.length>=Jc;){let e=t.pending.slice(0,Jc);t.pending=t.pending.slice(Jc),i.current($c(e))}},e.connect(a),a.connect(o),o.connect(n.destination)}catch(e){let r=e;t.getTracks().forEach(al);try{await n.close()}catch{}throw l.current=el(),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{}tl(e.processor),tl(e.source),tl(e.gain),e.stream&&e.stream.getTracks().forEach(il);let t=e.pending;if(e.pending=new Int16Array,t.length>0&&i.current($c(t)),e.context)try{await e.context.close()}catch{}l.current===e&&(l.current=el())},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 il(e){try{e.stop()}catch{}}function al(e){try{e.stop()}catch{}}function ol(){}var sl=1e3,cl=e=>e instanceof Error?e:Error(String(e)),ll=()=>{let e=Hr.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 ul(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 Kc({client:Vc,getStartOptions:ll});let x=(0,Z.useCallback)(()=>{g.current&&=(clearInterval(g.current),null)},[]),S=(0,Z.useCallback)(()=>{g.current||=setInterval(()=>{l(e=>e+1)},sl)},[]),C=(0,Z.useCallback)(e=>{let t=cl(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)(()=>Vc.onPartial((e,t)=>{let n=b.current?.getDictationId();!n||e!==n||(h.current=t,s(t))}),[]),(0,Z.useEffect)(()=>Vc.subscribeConnectionStatus(e=>{e&&m.current===`recording`&&b.current?.restartStream().catch(e=>{C(e)})}),[C]);let E=rl({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 dl=e=>{let t=Math.floor(e/60),n=e%60;return`${t}:${String(n).padStart(2,`0`)}`},fl=e=>{let t=(0,Q.c)(4),{volume:n}=e,{currentTheme:r}=Va(),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},pl=e=>{let t=Hr(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},ml=e=>{let t=(0,Q.c)(86),{radius:n,isMobile:r,footerIconButtonClass:i,footerPaddingClass:a,iconSizeClass:o,sendIconSizeClass:s,disabled:l,onInsert:u,onInsertAndSend:d,onActiveChange:f,onContentHeightChange:p,renderTrigger:m,topAccessory:h}=e,g=m===void 0||m,{t:_}=ot(),{currentTheme:v}=Va(),y=Hr(hl),b=c(gl),x;t[0]===b?x=t[1]:(x=qa(Qa(`toggle_dictation`,b)),t[0]=b,t[1]=x);let S=x,[C]=Z.useState(_l),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}=ul(k),H=A===`recording`&&F===`model_download_in_progress`,U=pl(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,te;t[10]!==f||t[11]!==A?(K=()=>{f?.(A!==`idle`)},te=[A,f],t[10]=f,t[11]=A,t[12]=K,t[13]=te):(K=t[12],te=t[13]),Z.useLayoutEffect(K,te);let ne,re;t[14]!==L||t[15]!==I?(ne=()=>{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)},re=[I,L],t[14]=L,t[15]=I,t[16]=ne,t[17]=re):(ne=t[16],re=t[17]),Z.useEffect(ne,re);let ie,ae;t[18]!==R||t[19]!==L||t[20]!==A?(ie=()=>{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})},ae=[A,L,R],t[18]=R,t[19]=L,t[20]=A,t[21]=ie,t[22]=ae):(ie=t[21],ae=t[22]),Z.useEffect(ie,ae);let oe=Z.useRef(null),se=Z.useRef(null),ce=Z.useRef(null),[le,ue]=Z.useState(null),de=A!==`idle`,fe=Z.useRef(p),pe,me;t[23]===p?(pe=t[24],me=t[25]):(pe=()=>{fe.current=p},me=[p],t[23]=p,t[24]=pe,t[25]=me),Z.useEffect(pe,me);let he=Z.useRef(!1),ge;t[26]===de?ge=t[27]:(ge=()=>{if(!de){he.current&&(he.current=!1,fe.current?.(null));return}let e=se.current,t=ce.current;if(!e||!t)return;let n=window.getComputedStyle(e),r=(parseFloat(n.paddingTop)||0)+(parseFloat(n.paddingBottom)||0);he.current=!0,fe.current?.(t.offsetHeight+r),e.scrollTop=e.scrollHeight},t[26]=de,t[27]=ge);let _e;t[28]!==P||t[29]!==de||t[30]!==j||t[31]!==A?(_e=[de,j,A,P],t[28]=P,t[29]=de,t[30]=j,t[31]=A,t[32]=_e):_e=t[32],Z.useLayoutEffect(ge,_e);let ve,ye;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ve=()=>()=>{he.current&&(he.current=!1,fe.current?.(null))},ye=[],t[33]=ve,t[34]=ye):(ve=t[33],ye=t[34]),Z.useEffect(ve,ye);let be,xe;if(t[35]===de?(be=t[36],xe=t[37]):(be=()=>{if(!de)return;let e=oe.current?.closest(`[data-chat-input-footer="true"]`);e&&e.offsetHeight>0&&ue(e.offsetHeight)},xe=[de],t[35]=de,t[36]=be,t[37]=xe),Z.useLayoutEffect(be,xe),!C||!y)return null;let Se=A!==`idle`,Ce;t[38]===L?Ce=t[39]:(Ce=e=>{w.current=e,L()},t[38]=L,t[39]=Ce);let we=Ce,Te;t[40]===z?Te=t[41]:(Te=()=>{w.current=`insert`,z()},t[40]=z,t[41]=Te);let Ee=Te,De;bb0:{if(A===`failed`){De=``;break bb0}if(A===`uploading`){let e;t[42]===_?e=t[43]:(e=_(`chat.dictation.processing`),t[42]=_,t[43]=e),De=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],De=e;break bb0}let e;t[47]===_?e=t[48]:(e=_(`chat.dictation.listening`),t[47]=_,t[48]=e),De=e}let Oe=De,ke;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(ke={onMouseDown:vl,onPointerDownCapture:yl},t[49]=ke):ke=t[49];let Ae=ke,je;t[50]!==S||t[51]!==l||t[52]!==i||t[53]!==o||t[54]!==Se||t[55]!==g||t[56]!==I||t[57]!==_?(je=g?(0,$.jsx)(`button`,{type:`button`,...Ae,className:i,onClick:()=>{I()},disabled:l||Se,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]=Se,t[55]=g,t[56]=I,t[57]=_,t[58]=je):je=t[58];let Me;t[59]!==B||t[60]!==R||t[61]!==we||t[62]!==v||t[63]!==V||t[64]!==N||t[65]!==P||t[66]!==le||t[67]!==i||t[68]!==a||t[69]!==o||t[70]!==Se||t[71]!==r||t[72]!==H||t[73]!==j||t[74]!==Oe||t[75]!==n||t[76]!==Ee||t[77]!==s||t[78]!==A||t[79]!==_||t[80]!==h||t[81]!==M?(Me=Se?(0,$.jsxs)(`div`,{ref:oe,className:Y(`absolute inset-0 z-50 flex flex-col overflow-x-hidden overflow-y-hidden`,r&&`oc-composer-morph-content-fade`),style:{borderRadius:n,backgroundColor:v.colors.surface.subtle},role:`dialog`,"aria-label":_(`chat.dictation.overlayAria`),children:[h,(0,$.jsx)(`div`,{ref:se,className:Y(`scrollbar-none flex-1 min-h-0 overflow-y-auto px-3`,r?`pt-3.5 pb-2.5`:`pt-5 pb-2`),children:(0,$.jsxs)(`div`,{ref:ce,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)(fl,{volume:M}),(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,children:Oe})]}):(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,style:{color:v.colors.surface.mutedForeground},children:Oe}),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:le?{height:le}: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)(fl,{volume:M}),(0,$.jsx)(`span`,{className:`typography-meta tabular-nums`,style:{color:v.colors.surface.mutedForeground},children:dl(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`,...Ae,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`,...Ae,className:i,onClick:()=>we(`insert`),title:_(`chat.dictation.insert`),"aria-label":_(`chat.dictation.insert`),children:(0,$.jsx)(X,{name:`check`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...Ae,className:Y(i,`text-primary hover:text-primary`),onClick:()=>we(`send`),title:_(`chat.dictation.insertAndSend`),"aria-label":_(`chat.dictation.insertAndSend`),children:(0,$.jsx)(X,{name:`send-plane-2`,className:s})})]}):A===`uploading`?(0,$.jsx)(`button`,{type:`button`,...Ae,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`,...Ae,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`,...Ae,className:i,onClick:Ee,title:_(`chat.dictation.retry`),"aria-label":_(`chat.dictation.retry`),children:(0,$.jsx)(X,{name:`refresh`,className:o})}),j.trim()?(0,$.jsx)(`button`,{type:`button`,...Ae,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]=we,t[62]=v,t[63]=V,t[64]=N,t[65]=P,t[66]=le,t[67]=i,t[68]=a,t[69]=o,t[70]=Se,t[71]=r,t[72]=H,t[73]=j,t[74]=Oe,t[75]=n,t[76]=Ee,t[77]=s,t[78]=A,t[79]=_,t[80]=h,t[81]=M,t[82]=Me):Me=t[82];let Ne;return t[83]!==je||t[84]!==Me?(Ne=(0,$.jsxs)($.Fragment,{children:[je,Me]}),t[83]=je,t[84]=Me,t[85]=Ne):Ne=t[85],Ne};function hl(e){return e.dictationEnabled}function gl(e){return e.shortcutOverrides}function _l(){return!d()&&nl()}function vl(e){return e.preventDefault()}function yl(e){e.pointerType===`touch`&&e.preventDefault()}var bl=2e3,xl=de((e,t)=>({pending:!1,expiresAt:null,arm:(t=bl)=>{let n=Date.now()+t;return e({pending:!0,expiresAt:n}),n},clear:()=>{!t().pending&&t().expiresAt===null||e({pending:!1,expiresAt:null})}})),Sl=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}},Cl=15e3,wl=100,Tl=new Map,El=new Map,Dl=e=>`${e.runtimeKey}\n${e.directory}\n${e.sessionID}`,Ol=e=>{let t=Dl(e),n=e.now??Date.now(),r=El.get(t);if(r&&n-r.loadedAt<Cl)return Promise.resolve(r.sessions);let i=Tl.get(t);if(i)return i;let a=e.request().then(e=>{for(El.delete(t);El.size>=wl;){let e=El.keys().next().value;if(typeof e!=`string`)break;El.delete(e)}return El.set(t,{loadedAt:Date.now(),sessions:e}),e});return Tl.set(t,a),a.then(()=>{Tl.get(t)===a&&Tl.delete(t)},()=>{Tl.get(t)===a&&Tl.delete(t)}),a},kl=(e,t)=>e.id<t.id?-1:+(e.id>t.id),Al=(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(kl)},jl=30;function Ml(e){return e===`busy`||e===`retry`}var Nl=new Map;function Pl(e,t=!1){return{limit:e.loadedTurns,cursor:e.kind===`has-more`?e.cursor:void 0,complete:e.kind===`exhausted`,loading:t}}function Fl(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 Il(e,t){if(!e.error)return;let n=e.response?.status;throw Error(`${t} failed${n?` (${n})`:``}: ${Fl(e.error)}`)}function Ll(e,t){let n=gr();if(!n)return!1;let r=n.getTranscript(xn(e,t));return r.messageOrder.length!==0&&r.messageOrder.length>Yt()}function Rl(e){return!!e.force||!e.hasSession||e.shouldLoadMessages}function zl(e,t,n){let r=[...e.getState().session],i=gn.search(r,t,e=>e.id);i.found?r[i.index]=n:r.splice(i.index,0,n),e.setState({session:r})}function Bl(){let e=Sr(),t=bt(),r=Nn(),i=(0,Z.useCallback)((t,n=e)=>`${n}\n${t}`,[e]),a=(0,Z.useCallback)((t,n=e)=>{let r=gr();if(!r||!t)return Pl({kind:`unknown`,loadedTurns:0},!1);let i=xn(n,t),a=r.getPagination(i),o=r.getRequestState?.(i);return Pl(a.boundary,o?.status===`loading`)},[e]),o=(0,Z.useCallback)((e,t)=>{if(t.length===0)return;let n=r.getChild(e);if(!n)return;let i=n.getState(),a={session_status:{...i.session_status},session_status_observed_at:{...i.session_status_observed_at},session_diff:{...i.session_diff},todo:{...i.todo},permission:{...i.permission},question:{...i.question}};Ln(a,t),Zr(n,t),n.setState(a);for(let n of t)xt(e,n)},[r]),s=(0,Z.useCallback)((t=e)=>{let n=Nl.get(t);if(n)return Nl.delete(t),Nl.set(t,n),n;let r=new Set;for(Nl.set(t,r);Nl.size>jl;){let e=Nl.keys().next().value;if(!e)break;let t=[...Nl.get(e)??[]];Nl.delete(e),o(e,t)}return r},[e,o]),c=(0,Z.useCallback)((n,i=e)=>{let a=i===e?t:r.ensureChild(i,{bootstrap:!1}),c=s(i),l=Ct(a.getState()),u=Tn(),d=Vi({seen:c,keep:n,limit:u,preserve:l});if(o(i,d),Lt()){let e=new Set([n,...c,...l]),t=(gr()?.getCacheBudget?.().listCanonical({directory:i})??[]).map(e=>e.scope.sessionID),r=(t.length>0?t:Array.from(c)).filter(t=>t===n||e.has(t)?!1:Ll(i,t));if(r.length>0){for(let e of r)c.delete(e);o(i,r)}}},[r,e,s,o,t]),l=(0,Z.useCallback)(async(n,i)=>{let a=i?.directory??e;if(!n||!a||a===`global`)return;let o=a===e?t:r.ensureChild(a,{bootstrap:!1}),s=o.getState(),c=s.session_status?.[n],l=s.session_status_observed_at?.[n];try{i?.purpose===`prepend`||i?.before?await Ni(a,n):await lr(a,n)}catch{return}if(i?.isStale?.())return;let u=gr()?.getTranscript(xn(a,n));ai({directory:a,sessionID:n,store:o,transcript:u,isStale:i?.isStale}),await Ci({directory:a,sessionID:n,store:o,statusBeforePull:c,statusObservedAtBeforePull:l,hasMessages:(u?.messageOrder.length??0)>0,isTailPage:!i?.before,isStale:i?.isStale})},[r,t,e]),u=(0,Z.useCallback)(async(t,n)=>{await Zt();let a=typeof n==`boolean`?n:n?.force,o=typeof n==`object`?n.directory??e:e,s=r.ensureChild(o,{bootstrap:!1}),u=ke.getScopedSdkClient(o);c(t,o);let d=i(t,o);return Sl.run({scope:s,key:d,request:async e=>{let n=s.getState(),r=gr(),i=xn(o,t),c=r?.hasSession?.(i)??(r?.getTranscript(i).messageOrder.length??0)>0,d=r?.getPagination(i)?.boundary??{kind:`unknown`,loadedTurns:0},f=gn.search(n.session,t,e=>e.id).found,p=r?.getRequestState?.(i);if(!a&&c&&d.kind!==`unknown`&&p?.status!==`error`&&f&&jn(o,t)){ai({directory:o,sessionID:t,store:s,isStale:e});return}let m=!!(a||!c||f),h=Rl({hasSession:f,shouldLoadMessages:m,force:!!a});await Promise.all([h?(async()=>{try{let n=await Ei(async()=>{let e=await u.session.get({sessionID:t,directory:o});return Il(e,`session.get`),e});if(n.data&&!e()){let r=wr(n.data);e()||zl(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()])}})},[r,i,c,l,e]),d=(0,Z.useCallback)(async(t,i)=>{let a=i||e;if(!t||!a)return;let o=r.ensureChild(a,{bootstrap:!1}),s=ke.getScopedSdkClient(a),c=await Ol({runtimeKey:n(),directory:a,sessionID:t,request:async()=>{let e=await s.session.children({sessionID:t,directory:a});return Il(e,`session.children`),e.data??[]}});o.setState(e=>{let n=Al(e.session,c,t);return n===e.session?e:{session:n,limit:Math.max(e.limit,n.length)}})},[r,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;Fr(xn(n,t.sessionID),{type:`optimistic-add`,message:t.message,parts:t.parts})},[e]),g=(0,Z.useCallback)(t=>{let n=t.directory||e;Fr(xn(n,t.sessionID),{type:`optimistic-remove`,messageID:t.messageID})},[e]),_=(0,Z.useCallback)(t=>{let n=t.directory||e;Fr(xn(n,t.sessionID),{type:`optimistic-confirm`,messageID:t.messageID})},[e]),v=(0,Z.useCallback)(async(t,n)=>{if(!t)return;await Zt();let i=n?.directory??e;if(!i||i===`global`)return;let a=r.ensureChild(i,{bootstrap:!1}),o=a.getState().session_status?.[t]?.type;if(Ml(o))throw Error(`refresh transcript busy`);try{await zi(i,t),ai({directory:i,sessionID:t,store:a})}catch(e){throw e instanceof Error&&e.message===`refresh transcript busy`?e:Error(`refresh transcript failed`)}},[r,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 Vl=e=>e===`diff`||e===`plan`||e===`file`||e===`preview-console`||e===`preview-annotation`,Hl=e=>e===`original`||e===`modified`,Ul=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?Math.max(1,Math.floor(t)):null},Wl=e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.sessionKey!=`string`||t.sessionKey.trim().length===0||!Vl(t.source))return null;let n=Ul(t.startLine),r=Ul(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:Hl(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()}},Gl=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(Wl).filter(e=>!!e).filter(t=>t.sessionKey===e);t.length>0&&(n[e]=t)}return n},Kl=de()(pe(fe((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:Gl(e.drafts)}}),{name:`inline-comment-draft-store`}));function ql(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 Jl(e){return e.length===0?``:e.every(e=>e.source===`preview-annotation`)?e.map(ql).join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-ChljB1CN.js","assets/rolldown-runtime-C0FnF6B9.js","assets/useUIStore-BJpkPwky.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/persistence-DwXJK4-j.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-BvJ7NunE.js","assets/store-BuXogmxp.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/utils-DfPDhqys.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-BhSwbLaF.js","assets/dialog-sGFkIKP2.js","assets/button-KTZJ84Mx.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-BdF4C4-o.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-Ii1BsWpN.js","assets/platform-CXJwZIZe.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/markdown-worker-C5Om4TVK.js","assets/useEffectiveDirectory-CPIfG0kt.js","assets/useMobileNavigationStore-BULVe95f.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-SPh025NE.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/useWorkerHighlightedLines-C7q5oiKH.js","assets/tooltip-rN8LrxMF.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{D as t,E as n,F as r,T as i,W as a,g as o,j as s,t as c,y as l}from"./useUIStore-BJpkPwky.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 te,st as ne,u as re,ut as ie,v as ae,wt as oe,x as se,y as ce,yt as le,z as ue}from"./persistence-DwXJK4-j.js";import{a as de,i as fe,r as pe,t as me}from"./vendor-zustand-B4dlGEM2.js";import{c as he,d as ge,f as _e,l as ve,nt as ye,rt as be,tt as xe,u as Se}from"./vendor-base-ui-CnHfUmDN.js";import{At as Ce,Bt as we,Ct as Te,Gt as Ee,Ht as De,Jt as Oe,Nt as ke,Pt as Ae,Rt as je,St as Me,Ut as Ne,Wt as Pe,jt as Fe,kt as Ie,n as Le,qt as Re,t as ze,zt as Be}from"./platform-CXJwZIZe.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 q,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-BvJ7NunE.js";import{i as lt,t as ut}from"./store-BuXogmxp.js";import{$ as dt,$t as ft,A as pt,Ai as mt,An as ht,Ar as gt,B as _t,Bi as vt,Br as yt,Bt as bt,Ca as xt,Ci as St,Cn as Ct,Co as wt,Ct as Tt,D as Et,Di as Dt,Dr as Ot,Dt as kt,E as At,Ea as jt,Ei as Mt,Er as Nt,Et as Pt,F as Ft,Fa as It,Fi as Lt,Fn as Rt,G as zt,Ga as Bt,Gi as Vt,Gt as Ht,Ha as Ut,Hi as Wt,Hn as Gt,Hr as Kt,Ht as qt,I as Jt,Ii as Yt,In as Xt,Io as Zt,Ir as Qt,J as $t,Ja as en,Jt as tn,K as nn,Ka as rn,Ki as an,Kr as on,Kt as sn,L as cn,Li as ln,Ln as un,M as dn,Ma as fn,Mr as pn,Mt as mn,N as hn,Na as gn,No as _n,Nr as vn,Nt as yn,O as bn,Oa as xn,Oi as Sn,Ot as Cn,P as wn,Pi as Tn,Pn as En,Pr as Dn,Q as On,Qa as kn,Qt as An,Ri as jn,Rr as Mn,Rt as Nn,S as Pn,Sa as Fn,Si as In,Sn as Ln,T as Rn,Ti as zn,Tr as Bn,Tt as Vn,U as Hn,Ua as Un,Ui as Wn,Un as Gn,Ur as Kn,Vi as qn,Vr as Jn,Vt as Yn,Wa as Xn,Wi as Zn,Wr as Qn,X as $n,Xa as er,Xi as tr,Xt as nr,Y as rr,Ya as ir,Yr as ar,Z as or,Za as sr,Zt as cr,_a as lr,_i as ur,_n as dr,a as fr,aa as pr,an as mr,at as hr,ba as gr,bn as _r,ca as vr,cn as yr,ct as br,di as xr,dn as Sr,dt as Cr,ea as wr,ei as Tr,en as Er,er as Dr,et as Or,f as kr,fa as Ar,fi as jr,fn as Mr,ft as Nr,g as Pr,ga as Fr,gi as Ir,ha as Lr,hi as Rr,hr as zr,ht as Br,i as Vr,ia as Hr,ii as Ur,in as Wr,io as Gr,it as Kr,j as qr,ja as Jr,ji as Yr,jr as Xr,jt as Zr,k as Qr,ki as $r,l as J,ln as ei,lt as ti,m as ni,ma as ri,n as ii,ni as ai,nn as oi,nr as si,nt as ci,oi as li,on as ui,pi as di,pt as fi,q as pi,qa as mi,qr as hi,qt as gi,ra as _i,ri as vi,rn as yi,ro as bi,rr as xi,rt as Si,si as Ci,sn as wi,so as Ti,ta as Ei,ti as Di,tr as Oi,tt as ki,ui as Ai,un as ji,ut as Mi,va as Ni,vi as Pi,vn as Fi,vr as Ii,vt as Li,w as Ri,wa as zi,wi as Bi,wn as Vi,wo as Hi,wr as Ui,wt as Wi,x as Gi,xi as Ki,xn as qi,ya as Ji,yi as Yi,yt as Xi,z as Zi,za as Qi,zi as $i,zt as ea}from"./useMobileNavigationStore-BULVe95f.js";import{n as ta,t as na}from"./AgentAvatar-BvhXxFvg.js";import{n as ra,t as Y}from"./utils-DfPDhqys.js";import{n as X}from"./Icon-BhSwbLaF.js";import{a as ia,i as aa,n as oa,o as sa,r as ca,s as la,t as ua}from"./dialog-sGFkIKP2.js";import{t as da}from"./button-KTZJ84Mx.js";import{E as fa,n as pa}from"./gitApi-hpklqU10.js";import{A as ma,C as ha,M as ga,N as _a,O as va,S as ya,T as ba,a as xa,b as Sa,d as Ca,g as wa,h as Ta,i as Ea,j as Da,k as Oa,n as ka,o as Aa,p as ja,s as Ma,u as Na,v as Pa,w as Fa,x as Ia}from"./projectMeta-Dgoh4hEg.js";import{t as La}from"./input-CgIoxUJc.js";import{i as Ra,n as za,t as Ba}from"./tooltip-rN8LrxMF.js";import{n as Va,t as Ha}from"./useThemeSystem-DMzWVJaW.js";import{$ as Ua,B as Wa,C as Ga,D as Ka,H as qa,N as Ja,O as Ya,P as Xa,S as Za,W as Qa,X as $a,Z as eo,_ as to,a as no,f as ro,g as io,h as ao,i as oo,k as so,m as co,o as lo,p as uo,r as fo,t as po}from"./radio-EJi50i5B.js";import{i as mo,t as ho}from"./OverlayScrollbar-CXFN6Cqq.js";import{_ as go,a as _o,d as vo,f as yo,g as bo,h as xo,i as So,l as Co,m as wo,n as To,u as Eo,v as Do,x as Oo}from"./markdownTheme-BdF4C4-o.js";import{n as ko,r as Ao,t as jo}from"./useRuntimeAPIs-DSLXJybW.js";import{a as Mo,c as No,i as Po,r as Fo,t as Io,u as Lo}from"./appThemeRegistry-Ii1BsWpN.js";import{_ as Ro,a as zo,c as Bo,g as Vo,l as Ho,o as Uo,t as Wo,v as Go,y as Ko}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{i as qo,n as Jo,o as Yo,s as Xo,t as Zo}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{a as Qo,n as $o,t as es}from"./url-B0Ak7X6b.js";import{_ as ts,l as ns,m as rs,p as is,s as as}from"./markdown-worker-C5Om4TVK.js";import{n as os}from"./useEffectiveDirectory-CPIfG0kt.js";import{a as ss,c as cs,d as ls,f as us,i as ds,l as fs,n as ps,r as ms,s as hs,t as gs}from"./FadeInOnReveal-98buIVdv.js";import{A as _s,C as vs,D as ys,E as bs,M as xs,O as Ss,S as Cs,T as ws,a as Ts,b as Es,c as Ds,f as Os,i as ks,j as As,k as js,l as Ms,m as Ns,n as Ps,o as Fs,p as Is,r as Ls,s as Rs,t as zs,u as Bs,w as Vs,x as Hs}from"./insertionBoundaries-BNfO7xim.js";import{A as Us,C as Ws,D as Gs,E as Ks,M as qs,O as Js,S as Ys,T as Xs,a as Zs,b as Qs,c as $s,g as ec,h as tc,i as nc,j as rc,k as ic,o as ac,p as oc,r as sc,s as cc,t as lc,v as uc,w as dc,x as fc,y as pc}from"./useWorkerHighlightedLines-C7q5oiKH.js";import{t as mc}from"./vendor-cmdk-CeAGfrLo.js";import{t as hc}from"./sortable-tabs-strip-pSnPuBXA.js";import{n as gc,t as _c}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{i as vc,u as yc}from"./vendor-pierre-diffs-BenIz2TM.js";import{i as bc,t as xc}from"./vendor-framer-motion-DFy_BSVd.js";var Z=e(be(),1),Q=We(),$=ye(),Sc=e(xe(),1),Cc=`openchamber:close-embedded-session-chat`,wc=`openchamber:embedded-visibility`,Tc=`openchamber:embedded-visibility-request`,Ec=e=>new URLSearchParams(e).get(`ocPanel`)===`session-chat`,Dc=(e,t,n)=>JSON.stringify({sessionID:e,directory:t||``,readOnly:n===!0}),Oc=(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()},kc=(e,t,n,r,i,a)=>{let o=Dc(n,r,i),s=e.get(t);if(s?.signature===o)return s.src;let c=Oc(n,r,i,a);return e.set(t,{signature:o,src:c}),c},Ac=null,jc=()=>{if(Ac!==null)return Ac;if(typeof window>`u`)return Ac=!1,!1;try{return Ac=new URLSearchParams(window.location.search).get(`ocPanel`)===`session-chat`,Ac}catch{return Ac=!1,!1}},Mc=()=>{if(!jc())return null;try{let e=new URLSearchParams(window.location.search).get(`sessionId`);return e&&e.trim().length>0?e.trim():null}catch{return null}},Nc=Ve(`OpenChamberMedia`);function Pc(){return Le()&&He.getPlatform()===`android`&&He.isPluginAvailable(`OpenChamberMedia`)}async function Fc(e){if(!Pc())return null;let t=await Nc.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 Ic=(e,t,n)=>{let r=Error(e);return r.name=`DictationStreamError`,r.retryable=t,n&&(r.reasonCode=n),r},Lc=1e4,Rc=15e3,zc=3e4,Bc=3e4,Vc=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`))}},Lc);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`))},Rc);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`))},Bc),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=Ic(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)}}},zc))}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`,()=>{Vc.cancelAllForRuntimeSwitch()});var Hc=128,Uc=`audio/pcm;rate=16000;bits=16`,Wc=()=>new Promise(e=>setTimeout(e,0)),Gc=()=>{let e=Math.random().toString(36).slice(2,10);return`dic_${Date.now().toString(16)}${e}`},Kc=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??Uc,this.getStartOptions=e.getStartOptions,this.createDictationId=e.createDictationId??Gc}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<Hc;){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 Wc()}}resolveDrainWaiters(){let e=this.drainWaiters;this.drainWaiters=[];for(let t of e)t()}},qc=16e3,Jc=qc,Yc=()=>{if(typeof window>`u`)return null;let e=window;return e.AudioContext||e.webkitAudioContext||null},Xc=e=>{let t=Math.max(-1,Math.min(1,e));return Math.round(t<0?t*32768:t*32767)},Zc=(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]=Xc(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]=Xc(e[i]*(1-s)+e[o]*s)}return a},Qc=(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},$c=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)},el=()=>({stream:null,context:null,source:null,processor:null,gain:null,pending:new Int16Array,started:!1}),tl=e=>{if(e)try{e.disconnect()}catch{}},nl=()=>typeof navigator>`u`||typeof window>`u`||!navigator.mediaDevices||typeof navigator.mediaDevices.getUserMedia!=`function`?!1:Yc()!==null;function rl(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=el(),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=Yc();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(ol);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=Zc(a,n.sampleRate,qc);for(t.pending=Qc(t.pending,c);t.pending.length>=Jc;){let e=t.pending.slice(0,Jc);t.pending=t.pending.slice(Jc),i.current($c(e))}},e.connect(a),a.connect(o),o.connect(n.destination)}catch(e){let r=e;t.getTracks().forEach(al);try{await n.close()}catch{}throw l.current=el(),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{}tl(e.processor),tl(e.source),tl(e.gain),e.stream&&e.stream.getTracks().forEach(il);let t=e.pending;if(e.pending=new Int16Array,t.length>0&&i.current($c(t)),e.context)try{await e.context.close()}catch{}l.current===e&&(l.current=el())},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 il(e){try{e.stop()}catch{}}function al(e){try{e.stop()}catch{}}function ol(){}var sl=1e3,cl=e=>e instanceof Error?e:Error(String(e)),ll=()=>{let e=Hr.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 ul(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 Kc({client:Vc,getStartOptions:ll});let x=(0,Z.useCallback)(()=>{g.current&&=(clearInterval(g.current),null)},[]),S=(0,Z.useCallback)(()=>{g.current||=setInterval(()=>{l(e=>e+1)},sl)},[]),C=(0,Z.useCallback)(e=>{let t=cl(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)(()=>Vc.onPartial((e,t)=>{let n=b.current?.getDictationId();!n||e!==n||(h.current=t,s(t))}),[]),(0,Z.useEffect)(()=>Vc.subscribeConnectionStatus(e=>{e&&m.current===`recording`&&b.current?.restartStream().catch(e=>{C(e)})}),[C]);let E=rl({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 dl=e=>{let t=Math.floor(e/60),n=e%60;return`${t}:${String(n).padStart(2,`0`)}`},fl=e=>{let t=(0,Q.c)(4),{volume:n}=e,{currentTheme:r}=Va(),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},pl=e=>{let t=Hr(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},ml=e=>{let t=(0,Q.c)(86),{radius:n,isMobile:r,footerIconButtonClass:i,footerPaddingClass:a,iconSizeClass:o,sendIconSizeClass:s,disabled:l,onInsert:u,onInsertAndSend:d,onActiveChange:f,onContentHeightChange:p,renderTrigger:m,topAccessory:h}=e,g=m===void 0||m,{t:_}=ot(),{currentTheme:v}=Va(),y=Hr(hl),b=c(gl),x;t[0]===b?x=t[1]:(x=qa(Qa(`toggle_dictation`,b)),t[0]=b,t[1]=x);let S=x,[C]=Z.useState(_l),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}=ul(k),H=A===`recording`&&F===`model_download_in_progress`,U=pl(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,te;t[10]!==f||t[11]!==A?(K=()=>{f?.(A!==`idle`)},te=[A,f],t[10]=f,t[11]=A,t[12]=K,t[13]=te):(K=t[12],te=t[13]),Z.useLayoutEffect(K,te);let ne,re;t[14]!==L||t[15]!==I?(ne=()=>{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)},re=[I,L],t[14]=L,t[15]=I,t[16]=ne,t[17]=re):(ne=t[16],re=t[17]),Z.useEffect(ne,re);let ie,ae;t[18]!==R||t[19]!==L||t[20]!==A?(ie=()=>{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})},ae=[A,L,R],t[18]=R,t[19]=L,t[20]=A,t[21]=ie,t[22]=ae):(ie=t[21],ae=t[22]),Z.useEffect(ie,ae);let oe=Z.useRef(null),se=Z.useRef(null),ce=Z.useRef(null),[le,ue]=Z.useState(null),de=A!==`idle`,fe=Z.useRef(p),pe,me;t[23]===p?(pe=t[24],me=t[25]):(pe=()=>{fe.current=p},me=[p],t[23]=p,t[24]=pe,t[25]=me),Z.useEffect(pe,me);let he=Z.useRef(!1),ge;t[26]===de?ge=t[27]:(ge=()=>{if(!de){he.current&&(he.current=!1,fe.current?.(null));return}let e=se.current,t=ce.current;if(!e||!t)return;let n=window.getComputedStyle(e),r=(parseFloat(n.paddingTop)||0)+(parseFloat(n.paddingBottom)||0);he.current=!0,fe.current?.(t.offsetHeight+r),e.scrollTop=e.scrollHeight},t[26]=de,t[27]=ge);let _e;t[28]!==P||t[29]!==de||t[30]!==j||t[31]!==A?(_e=[de,j,A,P],t[28]=P,t[29]=de,t[30]=j,t[31]=A,t[32]=_e):_e=t[32],Z.useLayoutEffect(ge,_e);let ve,ye;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ve=()=>()=>{he.current&&(he.current=!1,fe.current?.(null))},ye=[],t[33]=ve,t[34]=ye):(ve=t[33],ye=t[34]),Z.useEffect(ve,ye);let be,xe;if(t[35]===de?(be=t[36],xe=t[37]):(be=()=>{if(!de)return;let e=oe.current?.closest(`[data-chat-input-footer="true"]`);e&&e.offsetHeight>0&&ue(e.offsetHeight)},xe=[de],t[35]=de,t[36]=be,t[37]=xe),Z.useLayoutEffect(be,xe),!C||!y)return null;let Se=A!==`idle`,Ce;t[38]===L?Ce=t[39]:(Ce=e=>{w.current=e,L()},t[38]=L,t[39]=Ce);let we=Ce,Te;t[40]===z?Te=t[41]:(Te=()=>{w.current=`insert`,z()},t[40]=z,t[41]=Te);let Ee=Te,De;bb0:{if(A===`failed`){De=``;break bb0}if(A===`uploading`){let e;t[42]===_?e=t[43]:(e=_(`chat.dictation.processing`),t[42]=_,t[43]=e),De=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],De=e;break bb0}let e;t[47]===_?e=t[48]:(e=_(`chat.dictation.listening`),t[47]=_,t[48]=e),De=e}let Oe=De,ke;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(ke={onMouseDown:vl,onPointerDownCapture:yl},t[49]=ke):ke=t[49];let Ae=ke,je;t[50]!==S||t[51]!==l||t[52]!==i||t[53]!==o||t[54]!==Se||t[55]!==g||t[56]!==I||t[57]!==_?(je=g?(0,$.jsx)(`button`,{type:`button`,...Ae,className:i,onClick:()=>{I()},disabled:l||Se,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]=Se,t[55]=g,t[56]=I,t[57]=_,t[58]=je):je=t[58];let Me;t[59]!==B||t[60]!==R||t[61]!==we||t[62]!==v||t[63]!==V||t[64]!==N||t[65]!==P||t[66]!==le||t[67]!==i||t[68]!==a||t[69]!==o||t[70]!==Se||t[71]!==r||t[72]!==H||t[73]!==j||t[74]!==Oe||t[75]!==n||t[76]!==Ee||t[77]!==s||t[78]!==A||t[79]!==_||t[80]!==h||t[81]!==M?(Me=Se?(0,$.jsxs)(`div`,{ref:oe,className:Y(`absolute inset-0 z-50 flex flex-col overflow-x-hidden overflow-y-hidden`,r&&`oc-composer-morph-content-fade`),style:{borderRadius:n,backgroundColor:v.colors.surface.subtle},role:`dialog`,"aria-label":_(`chat.dictation.overlayAria`),children:[h,(0,$.jsx)(`div`,{ref:se,className:Y(`scrollbar-none flex-1 min-h-0 overflow-y-auto px-3`,r?`pt-3.5 pb-2.5`:`pt-5 pb-2`),children:(0,$.jsxs)(`div`,{ref:ce,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)(fl,{volume:M}),(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,children:Oe})]}):(0,$.jsx)(`p`,{className:`typography-markdown md:typography-ui-label`,style:{color:v.colors.surface.mutedForeground},children:Oe}),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:le?{height:le}: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)(fl,{volume:M}),(0,$.jsx)(`span`,{className:`typography-meta tabular-nums`,style:{color:v.colors.surface.mutedForeground},children:dl(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`,...Ae,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`,...Ae,className:i,onClick:()=>we(`insert`),title:_(`chat.dictation.insert`),"aria-label":_(`chat.dictation.insert`),children:(0,$.jsx)(X,{name:`check`,className:o})}),(0,$.jsx)(`button`,{type:`button`,...Ae,className:Y(i,`text-primary hover:text-primary`),onClick:()=>we(`send`),title:_(`chat.dictation.insertAndSend`),"aria-label":_(`chat.dictation.insertAndSend`),children:(0,$.jsx)(X,{name:`send-plane-2`,className:s})})]}):A===`uploading`?(0,$.jsx)(`button`,{type:`button`,...Ae,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`,...Ae,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`,...Ae,className:i,onClick:Ee,title:_(`chat.dictation.retry`),"aria-label":_(`chat.dictation.retry`),children:(0,$.jsx)(X,{name:`refresh`,className:o})}),j.trim()?(0,$.jsx)(`button`,{type:`button`,...Ae,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]=we,t[62]=v,t[63]=V,t[64]=N,t[65]=P,t[66]=le,t[67]=i,t[68]=a,t[69]=o,t[70]=Se,t[71]=r,t[72]=H,t[73]=j,t[74]=Oe,t[75]=n,t[76]=Ee,t[77]=s,t[78]=A,t[79]=_,t[80]=h,t[81]=M,t[82]=Me):Me=t[82];let Ne;return t[83]!==je||t[84]!==Me?(Ne=(0,$.jsxs)($.Fragment,{children:[je,Me]}),t[83]=je,t[84]=Me,t[85]=Ne):Ne=t[85],Ne};function hl(e){return e.dictationEnabled}function gl(e){return e.shortcutOverrides}function _l(){return!d()&&nl()}function vl(e){return e.preventDefault()}function yl(e){e.pointerType===`touch`&&e.preventDefault()}var bl=2e3,xl=de((e,t)=>({pending:!1,expiresAt:null,arm:(t=bl)=>{let n=Date.now()+t;return e({pending:!0,expiresAt:n}),n},clear:()=>{!t().pending&&t().expiresAt===null||e({pending:!1,expiresAt:null})}})),Sl=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}},Cl=15e3,wl=100,Tl=new Map,El=new Map,Dl=e=>`${e.runtimeKey}\n${e.directory}\n${e.sessionID}`,Ol=e=>{let t=Dl(e),n=e.now??Date.now(),r=El.get(t);if(r&&n-r.loadedAt<Cl)return Promise.resolve(r.sessions);let i=Tl.get(t);if(i)return i;let a=e.request().then(e=>{for(El.delete(t);El.size>=wl;){let e=El.keys().next().value;if(typeof e!=`string`)break;El.delete(e)}return El.set(t,{loadedAt:Date.now(),sessions:e}),e});return Tl.set(t,a),a.then(()=>{Tl.get(t)===a&&Tl.delete(t)},()=>{Tl.get(t)===a&&Tl.delete(t)}),a},kl=(e,t)=>e.id<t.id?-1:+(e.id>t.id),Al=(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(kl)},jl=30;function Ml(e){return e===`busy`||e===`retry`}var Nl=new Map;function Pl(e,t=!1){return{limit:e.loadedTurns,cursor:e.kind===`has-more`?e.cursor:void 0,complete:e.kind===`exhausted`,loading:t}}function Fl(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 Il(e,t){if(!e.error)return;let n=e.response?.status;throw Error(`${t} failed${n?` (${n})`:``}: ${Fl(e.error)}`)}function Ll(e,t){let n=gr();if(!n)return!1;let r=n.getTranscript(xn(e,t));return r.messageOrder.length!==0&&r.messageOrder.length>Yt()}function Rl(e){return!!e.force||!e.hasSession||e.shouldLoadMessages}function zl(e,t,n){let r=[...e.getState().session],i=gn.search(r,t,e=>e.id);i.found?r[i.index]=n:r.splice(i.index,0,n),e.setState({session:r})}function Bl(){let e=Sr(),t=bt(),r=Nn(),i=(0,Z.useCallback)((t,n=e)=>`${n}\n${t}`,[e]),a=(0,Z.useCallback)((t,n=e)=>{let r=gr();if(!r||!t)return Pl({kind:`unknown`,loadedTurns:0},!1);let i=xn(n,t),a=r.getPagination(i),o=r.getRequestState?.(i);return Pl(a.boundary,o?.status===`loading`)},[e]),o=(0,Z.useCallback)((e,t)=>{if(t.length===0)return;let n=r.getChild(e);if(!n)return;let i=n.getState(),a={session_status:{...i.session_status},session_status_observed_at:{...i.session_status_observed_at},session_diff:{...i.session_diff},todo:{...i.todo},permission:{...i.permission},question:{...i.question}};Ln(a,t),Zr(n,t),n.setState(a);for(let n of t)xt(e,n)},[r]),s=(0,Z.useCallback)((t=e)=>{let n=Nl.get(t);if(n)return Nl.delete(t),Nl.set(t,n),n;let r=new Set;for(Nl.set(t,r);Nl.size>jl;){let e=Nl.keys().next().value;if(!e)break;let t=[...Nl.get(e)??[]];Nl.delete(e),o(e,t)}return r},[e,o]),c=(0,Z.useCallback)((n,i=e)=>{let a=i===e?t:r.ensureChild(i,{bootstrap:!1}),c=s(i),l=Ct(a.getState()),u=Tn(),d=Vi({seen:c,keep:n,limit:u,preserve:l});if(o(i,d),Lt()){let e=new Set([n,...c,...l]),t=(gr()?.getCacheBudget?.().listCanonical({directory:i})??[]).map(e=>e.scope.sessionID),r=(t.length>0?t:Array.from(c)).filter(t=>t===n||e.has(t)?!1:Ll(i,t));if(r.length>0){for(let e of r)c.delete(e);o(i,r)}}},[r,e,s,o,t]),l=(0,Z.useCallback)(async(n,i)=>{let a=i?.directory??e;if(!n||!a||a===`global`)return;let o=a===e?t:r.ensureChild(a,{bootstrap:!1}),s=o.getState(),c=s.session_status?.[n],l=s.session_status_observed_at?.[n];try{i?.purpose===`prepend`||i?.before?await Ni(a,n):await lr(a,n)}catch{return}if(i?.isStale?.())return;let u=gr()?.getTranscript(xn(a,n));ai({directory:a,sessionID:n,store:o,transcript:u,isStale:i?.isStale}),await Ci({directory:a,sessionID:n,store:o,statusBeforePull:c,statusObservedAtBeforePull:l,hasMessages:(u?.messageOrder.length??0)>0,isTailPage:!i?.before,isStale:i?.isStale})},[r,t,e]),u=(0,Z.useCallback)(async(t,n)=>{await Zt();let a=typeof n==`boolean`?n:n?.force,o=typeof n==`object`?n.directory??e:e,s=r.ensureChild(o,{bootstrap:!1}),u=ke.getScopedSdkClient(o);c(t,o);let d=i(t,o);return Sl.run({scope:s,key:d,request:async e=>{let n=s.getState(),r=gr(),i=xn(o,t),c=r?.hasSession?.(i)??(r?.getTranscript(i).messageOrder.length??0)>0,d=r?.getPagination(i)?.boundary??{kind:`unknown`,loadedTurns:0},f=gn.search(n.session,t,e=>e.id).found,p=r?.getRequestState?.(i);if(!a&&c&&d.kind!==`unknown`&&p?.status!==`error`&&f&&jn(o,t)){ai({directory:o,sessionID:t,store:s,isStale:e});return}let m=!!(a||!c||f),h=Rl({hasSession:f,shouldLoadMessages:m,force:!!a});await Promise.all([h?(async()=>{try{let n=await Ei(async()=>{let e=await u.session.get({sessionID:t,directory:o});return Il(e,`session.get`),e});if(n.data&&!e()){let r=wr(n.data);e()||zl(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()])}})},[r,i,c,l,e]),d=(0,Z.useCallback)(async(t,i)=>{let a=i||e;if(!t||!a)return;let o=r.ensureChild(a,{bootstrap:!1}),s=ke.getScopedSdkClient(a),c=await Ol({runtimeKey:n(),directory:a,sessionID:t,request:async()=>{let e=await s.session.children({sessionID:t,directory:a});return Il(e,`session.children`),e.data??[]}});o.setState(e=>{let n=Al(e.session,c,t);return n===e.session?e:{session:n,limit:Math.max(e.limit,n.length)}})},[r,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;Fr(xn(n,t.sessionID),{type:`optimistic-add`,message:t.message,parts:t.parts})},[e]),g=(0,Z.useCallback)(t=>{let n=t.directory||e;Fr(xn(n,t.sessionID),{type:`optimistic-remove`,messageID:t.messageID})},[e]),_=(0,Z.useCallback)(t=>{let n=t.directory||e;Fr(xn(n,t.sessionID),{type:`optimistic-confirm`,messageID:t.messageID})},[e]),v=(0,Z.useCallback)(async(t,n)=>{if(!t)return;await Zt();let i=n?.directory??e;if(!i||i===`global`)return;let a=r.ensureChild(i,{bootstrap:!1}),o=a.getState().session_status?.[t]?.type;if(Ml(o))throw Error(`refresh transcript busy`);try{await zi(i,t),ai({directory:i,sessionID:t,store:a})}catch(e){throw e instanceof Error&&e.message===`refresh transcript busy`?e:Error(`refresh transcript failed`)}},[r,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 Vl=e=>e===`diff`||e===`plan`||e===`file`||e===`preview-console`||e===`preview-annotation`,Hl=e=>e===`original`||e===`modified`,Ul=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?Math.max(1,Math.floor(t)):null},Wl=e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.sessionKey!=`string`||t.sessionKey.trim().length===0||!Vl(t.source))return null;let n=Ul(t.startLine),r=Ul(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:Hl(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()}},Gl=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(Wl).filter(e=>!!e).filter(t=>t.sessionKey===e);t.length>0&&(n[e]=t)}return n},Kl=de()(pe(fe((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:Gl(e.drafts)}}),{name:`inline-comment-draft-store`}));function ql(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 Jl(e){return e.length===0?``:e.every(e=>e.source===`preview-annotation`)?e.map(ql).join(`
3
3
 
4
4
  ---
5
5
 
@@ -6517,11 +6517,11 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{D as t,E as n,F as r,T
6517
6517
  `,xu=`oc-file-type-icon-sprite-root`;(()=>{if(typeof document>`u`||document.getElementById(xu))return;let e=()=>{if(document.getElementById(xu))return;let e=document.createElement(`div`);e.id=xu,e.setAttribute(`aria-hidden`,`true`),e.style.position=`absolute`,e.style.width=`0`,e.style.height=`0`,e.style.overflow=`hidden`,e.innerHTML=bu,document.body.appendChild(e)};if(document.body){e();return}document.addEventListener(`DOMContentLoaded`,e,{once:!0})})();var Su={dockerfile:`docker`,makefile:`makefile`,gnumakefile:`makefile`,"cmakelists.txt":`cmake`,"package-lock.json":`npm`,"yarn.lock":`yarn`,"pnpm-lock.yaml":`pnpm`,"bun.lock":`bun`,"bun.lockb":`bun`,"tsconfig.json":`tsconfig`,"jsconfig.json":`jsconfig`,".gitignore":`git`,".gitattributes":`git`,".gitmodules":`git`,".editorconfig":`editorconfig`,".npmrc":`npm`,".yarnrc":`yarn`,".prettierrc":`prettier`,".eslintrc":`eslint`,".babelrc":`babel`},Cu={javascript:`javascript`,jsx:`react`,typescript:`typescript`,tsx:`react_ts`,html:`html`,handlebars:`handlebars`,twig:`twig`,liquid:`liquid`,css:`css`,scss:`sass`,sass:`sass`,less:`less`,stylus:`stylus`,json:`json`,yaml:`yaml`,toml:`toml`,xml:`xml`,ini:`settings`,properties:`settings`,bash:`console`,powershell:`powershell`,batch:`console`,python:`python`,ruby:`ruby`,erb:`ruby`,php:`php`,java:`java`,kotlin:`kotlin`,scala:`scala`,groovy:`groovy`,c:`c`,cpp:`cpp`,objectivec:`objective-c`,csharp:`csharp`,fsharp:`fsharp`,go:`go`,rust:`rust`,swift:`swift`,dart:`dart`,lua:`lua`,perl:`perl`,r:`r`,julia:`julia`,haskell:`haskell`,elixir:`elixir`,erlang:`erlang`,clojure:`clojure`,lisp:`lisp`,scheme:`scheme`,ocaml:`ocaml`,reason:`reason`,nim:`nim`,zig:`zig`,v:`vlang`,crystal:`crystal`,d:`d`,sql:`database`,graphql:`graphql`,solidity:`solidity`,nasm:`assembly`,nix:`nix`,hcl:`terraform`,puppet:`puppet`,latex:`tex`,bibtex:`bibliography`,markdown:`markdown`,asciidoc:`asciidoc`,text:`document`,vim:`vim`,makefile:`makefile`,cmake:`cmake`,diff:`diff`,prisma:`prisma`,protobuf:`proto`,thrift:`document`,wasm:`webassembly`,glsl:`shader`,hlsl:`shader`,cg:`shader`,apacheconf:`settings`,nginx:`nginx`},wu={yml:`yaml`,mdx:`mdx`,md:`markdown`,lock:`lock`,env:`settings`,zip:`zip`,tgz:`zip`,gz:`zip`,rar:`zip`,"7z":`zip`,png:`image`,jpg:`image`,jpeg:`image`,gif:`image`,svg:`svg`,webp:`image`,avif:`image`,bmp:`image`,ico:`favicon`,mp3:`audio`,wav:`audio`,flac:`audio`,ogg:`audio`,mp4:`video`,mov:`video`,avi:`video`,mkv:`video`,webm:`video`,pdf:`pdf`,doc:`word`,docx:`word`,ppt:`powerpoint`,pptx:`powerpoint`},Tu=`document`,Eu=(e,t)=>{if(!e)return t===`light`?`${Tu}_light`:Tu;if(t===`light`){let t=e.endsWith(`_light`)?e:`${e}_light`;return yu.has(t)?t:e}return e},Du=e=>typeof e==`string`&&e.trim().length>0,Ou=(e,t)=>{let n=e.replace(/\\/g,`/`).split(`/`).pop()?.toLowerCase()||``;if(Su[n])return Su[n];if(n.startsWith(`.env`))return`settings`;let r=is(e);if(r&&Cu[r])return Cu[r];let i=Du(t)?t.toLowerCase():n.includes(`.`)&&n.split(`.`).pop()?.toLowerCase()||``;return i&&wu[i]?wu[i]:i&&yu.has(i)?i:Tu},ku=(e,t)=>{let n=t?.isDirectory?`folder`:Ou(e,t?.extension);return`#${Eu(yu.has(n)?n:Tu,t?.themeVariant||`dark`)}`},Au=e=>{let t=(0,Q.c)(12),{filePath:n,extension:r,isDirectory:i,className:a}=e,o=Ha()?.currentTheme.metadata.variant===`light`?`light`:`dark`,s;t[0]!==r||t[1]!==n||t[2]!==i||t[3]!==o?(s=ku(n,{extension:r,isDirectory:i,themeVariant:o}),t[0]=r,t[1]=n,t[2]=i,t[3]=o,t[4]=s):s=t[4];let c=s,l;t[5]===a?l=t[6]:(l=Y(`block h-4 w-4 flex-shrink-0`,a),t[5]=a,t[6]=l);let u;t[7]===c?u=t[8]:(u=(0,$.jsx)(`use`,{href:c,xlinkHref:c}),t[7]=c,t[8]=u);let d;return t[9]!==l||t[10]!==u?(d=(0,$.jsx)(`svg`,{className:l,"aria-hidden":`true`,focusable:`false`,children:u}),t[9]=l,t[10]=u,t[11]=d):d=t[11],d},ju=(0,Z.memo)(()=>{let{t:e}=ot(),t=(0,Z.useRef)(null),n=_n(e=>e.addAttachedFile),r=c(e=>e.isMobile),i=ko(),a=i.runtime.isVSCode,o=r?`h-9 w-9`:`h-7 w-7`,s=r?`h-5 w-5`:`h-[1.125rem] w-[1.125rem]`,l=async t=>{for(let r=0;r<t.length;r++){let i=t[r];try{await n(i)}catch(t){console.error(`File attach failed`,t),Ii.error(t instanceof Error?t.message:e(`chat.fileAttachment.toast.attachFailed`))}}};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`input`,{ref:t,type:`file`,multiple:!0,className:`hidden`,onChange:async e=>{let n=e.target.files;n&&(await l(n),t.current&&(t.current.value=``))}}),(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:a?async()=>{try{let t=await i.vscode?.pickFiles?.(),n=Array.isArray(t?.files)?t.files:[],r=Array.isArray(t?.skipped)?t.skipped:[];if(r.length>0){let t=r.map(t=>`${t?.name||e(`chat.fileAttachment.fileFallback`)}: ${t?.reason||e(`chat.fileAttachment.skippedFallback`)}`).join(`
6518
6518
  `);Ii.error(e(`chat.fileAttachment.toast.someFilesSkipped`,{summary:t}))}let a=n.map(t=>{if(!t?.dataUrl)return null;try{let[n,r]=t.dataUrl.split(`,`),i=t.mimeType||n?.match(/data:(.*);base64/)?.[1]||`application/octet-stream`;if(!r)return null;let a=atob(r),o=new Uint8Array(a.length);for(let e=0;e<a.length;e++)o[e]=a.charCodeAt(e);let s=new Blob([o],{type:i});return new File([s],t.name||e(`chat.fileAttachment.fileFallback`),{type:i})}catch(e){return console.error(`Failed to decode VS Code picked file`,e),null}}).filter(Boolean);a.length>0&&await l(a)}catch(t){console.error(`VS Code file pick failed`,t),Ii.error(t instanceof Error?t.message:e(`chat.fileAttachment.toast.vscodePickFailed`))}}:()=>t.current?.click(),className:Y(`flex items-center justify-center rounded-lg transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,`hover:bg-muted text-muted-foreground`,o),"aria-label":e(`chat.fileAttachment.actions.attachAria`),children:(0,$.jsx)(X,{name:`attachment-2`,className:s})})}),(0,$.jsx)(za,{side:`top`,children:(0,$.jsx)(`p`,{children:e(`chat.fileAttachment.actions.attach`)})})]})]})});ju.displayName=`FileAttachmentButton`;var Mu=(0,Z.memo)(e=>{let t=(0,Q.c)(78),{file:n,onRemove:r,onShowPopup:i,gallery:a,index:o}=e,s=o===void 0?0:o,{t:c}=ot(),{isMobile:l,isTablet:u}=mo(),d=l||u,f=n.source!==`server`&&n.mimeType.startsWith(`image/`)&&typeof n.dataUrl==`string`&&n.dataUrl.startsWith(`data:image/`)?n.dataUrl:n.serverPath||``,p=os()??``,m=Co(f,p),h=`attachment-image:${n.id}`,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=us(),t[0]=g):g=t[0];let _=Z.useRef(g),v=id,y=ad,b;t[1]===n.filename?b=t[2]:(b=v(n.filename),t[1]=n.filename,t[2]=b);let x=b,S;t[3]===n.filename?S=t[4]:(S=y(n.filename),t[3]=n.filename,t[4]=S);let C=S,w;t[5]!==m||t[6]!==x||t[7]!==p||t[8]!==n.mimeType||t[9]!==f?(w=()=>{!f&&!m||Do({sourceUrl:f||m,displayUrl:m||void 0,filename:x,mimeType:n.mimeType,effectiveDirectory:p})},t[5]=m,t[6]=x,t[7]=p,t[8]=n.mimeType,t[9]=f,t[10]=w):w=t[10];let T=q(w),E;t[11]!==x||t[12]!==n.mimeType||t[13]!==n.size||t[14]!==a||t[15]!==f||t[16]!==s||t[17]!==h||t[18]!==i?(E=()=>{_.current.consumeClick(h)||!i||!f||i({open:!0,title:x||`Image`,content:``,metadata:{tool:`image-preview`,filename:x,mime:n.mimeType,size:n.size},image:{url:f,mimeType:n.mimeType,filename:x,size:n.size,gallery:a,index:s}})},t[11]=x,t[12]=n.mimeType,t[13]=n.size,t[14]=a,t[15]=f,t[16]=s,t[17]=h,t[18]=i,t[19]=E):E=t[19];let D=q(E);if(!f){let e;t[20]!==C||t[21]!==n.filename?(e=(0,$.jsx)(Au,{filePath:n.filename,extension:C,className:`h-4 w-4`}),t[20]=C,t[21]=n.filename,t[22]=e):e=t[22];let i;t[23]===x?i=t[24]:(i=(0,$.jsx)(`span`,{className:`text-foreground truncate max-w-[12.5rem]`,children:x}),t[23]=x,t[24]=i);let a;t[25]===r?a=t[26]:(a=e=>{e.stopPropagation(),r()},t[25]=r,t[26]=a);let o;t[27]!==x||t[28]!==c?(o=c(`chat.fileAttachment.actions.removeNamed`,{name:x}),t[27]=x,t[28]=c,t[29]=o):o=t[29];let s;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(X,{name:`close`,className:`h-4 w-4 text-muted-foreground`}),t[30]=s):s=t[30];let l;t[31]!==o||t[32]!==a?(l=(0,$.jsx)(`span`,{onClick:a,className:`flex items-center justify-center h-5 w-5 flex-shrink-0 hover:bg-[var(--interactive-hover)] rounded-full transition-colors cursor-pointer`,"aria-label":o,children:s}),t[31]=o,t[32]=a,t[33]=l):l=t[33];let u;return t[34]!==l||t[35]!==e||t[36]!==i?(u=(0,$.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 text-sm hover:opacity-80 transition-opacity text-left h-5`,children:[e,i,l]}),t[34]=l,t[35]=e,t[36]=i,t[37]=u):u=t[37],u}let O=i?`button`:void 0,k=i?0:void 0,A;t[38]!==D||t[39]!==i?(A=e=>{i&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),D())},t[38]=D,t[39]=i,t[40]=A):A=t[40];let j;t[41]!==h||t[42]!==T?(j=e=>{(e.pointerType!==`mouse`||e.button===0)&&_.current.start({pointerId:e.pointerId,key:h,clientX:e.clientX,clientY:e.clientY,onTrigger:T})},t[41]=h,t[42]=T,t[43]=j):j=t[43];let M,N,P;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(M=e=>{_.current.move(e.pointerId,e.clientX,e.clientY)},N=e=>{_.current.end(e.pointerId)},P=e=>{_.current.cancel(e.pointerId)},t[44]=M,t[45]=N,t[46]=P):(M=t[44],N=t[45],P=t[46]);let F;t[47]!==h||t[48]!==T?(F=e=>{e.preventDefault(),e.stopPropagation(),_.current.openFromContextMenu(h,T)},t[47]=h,t[48]=T,t[49]=F):F=t[49];let I=m||void 0,L;t[50]!==x||t[51]!==I?(L=(0,$.jsx)(`img`,{src:I,alt:x,className:`h-full w-full object-cover`,loading:`lazy`,draggable:!1}),t[50]=x,t[51]=I,t[52]=L):L=t[52];let R;t[53]===r?R=t[54]:(R=e=>{e.stopPropagation(),r()},t[53]=r,t[54]=R);let z=d?`opacity-100`:`opacity-0 group-hover:opacity-100`,B;t[55]===z?B=t[56]:(B=Y(`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-transparent text-foreground hover:text-destructive flex items-center justify-center transition-opacity focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,z),t[55]=z,t[56]=B);let V;t[57]===c?V=t[58]:(V=c(`chat.fileAttachment.actions.removeImage`),t[57]=c,t[58]=V);let H;t[59]!==x||t[60]!==c?(H=c(`chat.fileAttachment.actions.removeNamed`,{name:x}),t[59]=x,t[60]=c,t[61]=H):H=t[61];let U;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(X,{name:`close`,className:`h-2.5 w-2.5`}),t[62]=U):U=t[62];let W;t[63]!==R||t[64]!==B||t[65]!==V||t[66]!==H?(W=(0,$.jsx)(`button`,{onClick:R,className:B,title:V,"aria-label":H,children:U}),t[63]=R,t[64]=B,t[65]=V,t[66]=H,t[67]=W):W=t[67];let ee;return t[68]!==x||t[69]!==D||t[70]!==j||t[71]!==F||t[72]!==L||t[73]!==W||t[74]!==O||t[75]!==k||t[76]!==A?(ee=(0,$.jsxs)(`div`,{role:O,tabIndex:k,onClick:D,onKeyDown:A,onPointerDown:j,onPointerMove:M,onPointerUp:N,onPointerCancel:P,onContextMenu:F,"data-attachment-preview":`true`,className:`relative h-10 w-10 rounded-lg border border-border/40 bg-muted/10 overflow-hidden flex-shrink-0 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":x,children:[L,W]}),t[68]=x,t[69]=D,t[70]=j,t[71]=F,t[72]=L,t[73]=W,t[74]=O,t[75]=k,t[76]=A,t[77]=ee):ee=t[77],ee});Mu.displayName=`ImagePreview`;var Nu=e=>({displayName:(e=>{let t=e.replace(/\\/g,`/`).split(`/`);return t[t.length-1]||e})(e.filename),fileSize:(e=>!Number.isFinite(e)||e<=0?``:e<1024?e+` B`:e<1048576?(e/1024).toFixed(1)+` KB`:(e/1048576).toFixed(1)+` MB`)(e.size),extension:(e=>{let t=e.split(`.`);return t.length>1?t[t.length-1].toLowerCase():``})(e.filename)}),Pu=(0,Z.memo)(e=>{let t=(0,Q.c)(25),{file:n,onRemove:r}=e,{t:i}=ot(),{displayName:a,extension:o}=Nu(n),s=/:\d+(?:-\d+)?$/.test(a),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={borderColor:`var(--syntax-punctuation)`},t[0]=c):c=t[0];let l=n.vscodePath,u;t[1]===r?u=t[2]:(u=e=>{e.stopPropagation(),r()},t[1]=r,t[2]=u);let d;t[3]===i?d=t[4]:(d=i(`chat.fileAttachment.activeEditor.remove`),t[3]=i,t[4]=d);let f;t[5]===i?f=t[6]:(f=i(`chat.fileAttachment.activeEditor.remove`),t[5]=i,t[6]=f);let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(X,{name:`close`,className:`h-4 w-4 text-muted-foreground`}),t[7]=p):p=t[7];let m;t[8]!==u||t[9]!==d||t[10]!==f?(m=(0,$.jsx)(`span`,{"data-remove-button":!0,onClick:u,className:`flex items-center justify-center h-5 w-5 flex-shrink-0 hover:bg-[var(--interactive-hover)] rounded-full transition-colors cursor-pointer`,"aria-label":d,title:f,children:p}),t[8]=u,t[9]=d,t[10]=f,t[11]=m):m=t[11];let h;t[12]!==o||t[13]!==n.filename?(h=(0,$.jsx)(Au,{filePath:n.filename,extension:o,className:`h-4 w-4`}),t[12]=o,t[13]=n.filename,t[14]=h):h=t[14];let g=s?`whitespace-nowrap`:`truncate max-w-[12.5rem]`,_;t[15]===g?_=t[16]:(_=Y(`text-foreground`,g),t[15]=g,t[16]=_);let v;t[17]!==a||t[18]!==_?(v=(0,$.jsx)(`span`,{className:_,children:a}),t[17]=a,t[18]=_,t[19]=v):v=t[19];let y;return t[20]!==n.vscodePath||t[21]!==v||t[22]!==m||t[23]!==h?(y=(0,$.jsxs)(`button`,{type:`button`,onClick:od,className:`inline-flex items-center gap-1 text-xs pr-1 rounded-sm border border-solid bg-transparent text-foreground not-italic hover:opacity-90 transition-colors text-left`,style:c,title:l,children:[m,h,v]}),t[20]=n.vscodePath,t[21]=v,t[22]=m,t[23]=h,t[24]=y):y=t[24],y});Pu.displayName=`VSCodeFileChip`;var Fu=(0,Z.memo)(e=>{let t=(0,Q.c)(13),{attachments:n,onShowPopup:r,onRemoveAttachedFile:i}=e,a=n,o,s,c,l;if(t[0]!==a||t[1]!==i||t[2]!==r){l=Symbol.for(`react.early_return_sentinel`);bb0:{let e=a.filter(sd);if(e.length===0){l=null;break bb0}let n=e.filter(cd),u=e.filter(ld),d=n.map(ud).filter(dd);o=`flex items-center gap-2 flex-wrap`,s=n.map((e,t)=>(0,$.jsx)(Mu,{file:e,onRemove:()=>i(e),onShowPopup:r,gallery:d,index:t},e.id));let f;t[7]===i?f=t[8]:(f=e=>(0,$.jsx)(Pu,{file:e,onRemove:()=>i(e)},e.id),t[7]=i,t[8]=f),c=u.map(f)}t[0]=a,t[1]=i,t[2]=r,t[3]=o,t[4]=s,t[5]=c,t[6]=l}else o=t[3],s=t[4],c=t[5],l=t[6];if(l!==Symbol.for(`react.early_return_sentinel`))return l;let u;return t[9]!==o||t[10]!==s||t[11]!==c?(u=(0,$.jsxs)(`div`,{className:o,children:[s,c]}),t[9]=o,t[10]=s,t[11]=c,t[12]=u):u=t[12],u});Fu.displayName=`AttachedVSCodeFileChips`;var Iu=(0,Z.memo)(e=>{let t=(0,Q.c)(13),{attachments:n,onShowPopup:r,onRemoveAttachedFile:i}=e,a=n,o,s,c,l;if(t[0]!==a||t[1]!==i||t[2]!==r){l=Symbol.for(`react.early_return_sentinel`);bb0:{let e=a.filter(fd);if(e.length===0){l=null;break bb0}let t=e.map(pd).filter(md);c=`pb-4 w-full px-1`,o=`flex items-center gap-1.5 flex-wrap`,s=e.map((e,n)=>(0,$.jsx)(Mu,{file:e,onRemove:()=>i(e),onShowPopup:r,gallery:t,index:n},e.id))}t[0]=a,t[1]=i,t[2]=r,t[3]=o,t[4]=s,t[5]=c,t[6]=l}else o=t[3],s=t[4],c=t[5],l=t[6];if(l!==Symbol.for(`react.early_return_sentinel`))return l;let u;t[7]!==o||t[8]!==s?(u=(0,$.jsx)(`div`,{className:o,children:s}),t[7]=o,t[8]=s,t[9]=u):u=t[9];let d;return t[10]!==c||t[11]!==u?(d=(0,$.jsx)(`div`,{className:c,children:u}),t[10]=c,t[11]=u,t[12]=d):d=t[12],d});Iu.displayName=`AttachedFilesList`;var Lu=(e,t)=>e.some(e=>e.source===`vscode`&&e.vscodeSource===`file`&&(e.vscodePath||``)===t),Ru=(e,t,n)=>!!n&&e.some(e=>e.source===`vscode`&&e.vscodeSource===`selection`&&e.filename===n&&e.vscodePath===t),zu=(0,Z.memo)(e=>{let t=(0,Q.c)(41),{attachedFiles:n,onAddVSCodeFile:r,onAddVSCodeSelection:i}=e,{t:a}=ot(),o=_n(hd),s=_n(gd);if(!ko().runtime.isVSCode||!o)return null;let{filePath:c,fileName:l,relativePath:u,selection:d,fileSize:f}=o,p;t[0]!==n||t[1]!==c?(p=Lu(n,c),t[0]=n,t[1]=c,t[2]=p):p=t[2];let m=p,h=``;d&&(h=d.startLine===d.endLine?`${d.startLine}`:`${d.startLine}-${d.endLine}`);let g=d?`${u}:${h}`:``,_;t[3]!==n||t[4]!==c||t[5]!==g?(_=Ru(n,c,g),t[3]=n,t[4]=c,t[5]=g,t[6]=_):_=t[6];let v=_;if(m&&(!d||v))return null;let y;t[7]===l?y=t[8]:(y=l.split(`.`).pop()||``,t[7]=l,t[8]=y);let b=y,x=l,S;t[9]!==l||t[10]!==c||t[11]!==f||t[12]!==r||t[13]!==s?(S=()=>{r(c,l,f),s(ne(l),`append-inline`)},t[9]=l,t[10]=c,t[11]=f,t[12]=r,t[13]=s,t[14]=S):S=t[14];let C=S,w;t[15]!==c||t[16]!==i||t[17]!==d||t[18]!==g||t[19]!==s?(w=async()=>{if(!d)return;let e=new Blob([d.text],{type:`text/plain`}),t=new File([e],g,{type:`text/plain`});await i(c,t),s(ne(g),`append-inline`)},t[15]=c,t[16]=i,t[17]=d,t[18]=g,t[19]=s,t[20]=w):w=t[20];let T=w,E=!!d&&!v,D=!E&&!m;if(!E&&!D)return null;let O;t[21]!==x||t[22]!==b||t[23]!==l||t[24]!==T||t[25]!==u||t[26]!==h||t[27]!==E||t[28]!==a?(O=E&&(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1 text-xs pr-1 rounded-sm italic text-muted-foreground border border-dashed bg-transparent`,style:{borderColor:`var(--syntax-punctuation)`},title:u,children:[(0,$.jsx)(`button`,{type:`button`,title:a(`chat.fileAttachment.activeEditor.pinSelection`),"aria-label":a(`chat.fileAttachment.activeEditor.pinSelection`),onClick:()=>{T()},className:`flex items-center justify-center h-5 w-5 flex-shrink-0 hover:bg-[var(--interactive-hover)] rounded-full transition-colors cursor-pointer`,children:(0,$.jsx)(X,{name:`pushpin-2`,className:`h-4 w-4`})}),(0,$.jsx)(Au,{filePath:l,extension:b,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`text-xs whitespace-nowrap`,children:`${x}:${h}`})]}),t[21]=x,t[22]=b,t[23]=l,t[24]=T,t[25]=u,t[26]=h,t[27]=E,t[28]=a,t[29]=O):O=t[29];let k;t[30]!==x||t[31]!==b||t[32]!==l||t[33]!==C||t[34]!==u||t[35]!==D||t[36]!==a?(k=D&&(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1 text-xs pr-1 rounded-sm italic text-muted-foreground border border-dashed bg-transparent`,style:{borderColor:`var(--syntax-punctuation)`},title:u,children:[(0,$.jsx)(`button`,{type:`button`,title:a(`chat.fileAttachment.activeEditor.addFile`,{name:x}),"aria-label":a(`chat.fileAttachment.activeEditor.addFile`,{name:x}),onClick:C,className:`flex items-center justify-center h-5 w-5 flex-shrink-0 hover:bg-[var(--interactive-hover)] rounded-full transition-colors cursor-pointer`,children:(0,$.jsx)(X,{name:`add`,className:`h-4 w-4`})}),(0,$.jsx)(Au,{filePath:l,extension:b,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`text-xs truncate max-w-[13.75rem]`,children:x})]}),t[30]=x,t[31]=b,t[32]=l,t[33]=C,t[34]=u,t[35]=D,t[36]=a,t[37]=k):k=t[37];let A;return t[38]!==O||t[39]!==k?(A=(0,$.jsxs)(`div`,{className:`inline-flex items-center`,children:[O,k]}),t[38]=O,t[39]=k,t[40]=A):A=t[40],A});zu.displayName=`ActiveEditorFileSuggestion`;var Bu=`application/vnd.github.issue-link`,Vu=`application/vnd.github.pull-request-link`,Hu=e=>e.mime===Bu?`issue`:e.mime===Vu?`pr`:null,Uu=e=>{let t=typeof e.id==`string`?e.id.trim():``;if(t)return`part:${t}`;let n=typeof e.filename==`string`?e.filename.trim().toLowerCase():``,r=typeof e.mime==`string`?e.mime.trim().toLowerCase():``;if(r.startsWith(`image/`)&&n)return`image:${n}|${r}`;let i=typeof e.url==`string`?e.url.trim():``;return i?`url:${i}`:`meta:${n}|${r}|${e.size??``}`},Wu=e=>{let t=new Map,n=[];for(let r of e){if(r.type!==`file`||!(r.mime||r.url)||De(r))continue;let e=Uu(r),i=t.get(e);if(i===void 0){t.set(e,n.length),n.push(r);continue}n[i]?.slim===!0&&r.slim!==!0&&(n[i]=r)}return n},Gu=(e,t)=>{let n=new Map,r=new Map;for(let e of t){if(e.type!==`file`||e.slim===!0||typeof e.url!=`string`||!e.url)continue;let t=e;typeof e.id==`string`&&e.id&&n.set(e.id,t),typeof e.filename==`string`&&e.filename&&r.set(e.filename,t)}return n.size===0&&r.size===0?Wu(e):Wu(e.map(e=>e.type!==`file`||typeof e.url==`string`&&e.url&&e.slim!==!0?e:e.id&&n.has(e.id)?n.get(e.id)??e:e.filename&&r.has(e.filename)?r.get(e.filename)??e:e))},Ku=e=>e.failed||e.repositoryStatus===`error`?`error`:e.flightActive||e.repositoryStatus===`loading`?`loading`:e.hasSlimImage&&e.repositoryStatus===`ready`?`idle`:e.repositoryStatus,qu=e=>/^(?:data|blob|https?):/i.test(e),Ju=e=>{for(let t of[e.byteSize,e.size])if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t},Yu=(e,t)=>t.some(t=>t.type===`file`&&t.mime?.startsWith(`image/`)===!0&&t.slim===!0&&!t.url&&So(e,Ju(t))),Xu=(e,t)=>t.type!==`file`||t.mime?.startsWith(`image/`)!==!0||typeof t.url!=`string`||!t.url||qu(t.url)?!1:So(e,Ju(t)),Zu=e=>Y(`grid gap-2`,e===1?`grid-cols-1 max-w-56`:`grid-cols-2`),Qu=e=>{let t=(0,Q.c)(9),{source:n,filename:r,sizeText:i,onOpen:a,materializationStatus:o,onRetry:s}=e,c=o===void 0?`ready`:o,{t:l}=ot(),u=os()??``,d=Co(n??``,u),f;return t[0]!==d||t[1]!==r||t[2]!==c||t[3]!==a||t[4]!==s||t[5]!==i||t[6]!==n||t[7]!==l?(f=(0,$.jsx)(`div`,{className:`relative aspect-square min-w-0 overflow-hidden rounded-lg border border-border/40 bg-muted/10`,"data-message-image-slot":`true`,children:n?(0,$.jsxs)(`button`,{type:`button`,onClick:a,className:`group absolute inset-0 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`,"aria-label":r,children:[(0,$.jsx)(`img`,{src:d||void 0,alt:r,className:`h-full w-full object-cover`,loading:`lazy`}),(0,$.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent opacity-0 group-hover:opacity-100 transition-opacity`}),(0,$.jsxs)(`div`,{className:`absolute bottom-0 left-0 right-0 p-2 text-white opacity-0 group-hover:opacity-100 transition-opacity`,children:[(0,$.jsx)(`p`,{className:`text-xs font-medium truncate`,children:r}),i&&(0,$.jsx)(`p`,{className:`text-xs opacity-80`,children:i})]})]}):(0,$.jsxs)(`div`,{className:Y(`absolute inset-0 flex flex-col items-center justify-center gap-2 p-4 text-center typography-meta text-muted-foreground`,c===`error`&&`text-[var(--status-error)]`),role:c===`error`?`alert`:`status`,"aria-label":r,children:[c===`loading`?(0,$.jsx)(X,{name:`loader-4`,className:`size-5 animate-spin`,"aria-hidden":`true`}):(0,$.jsx)(X,{name:c===`error`?`error-warning`:`file-image`,className:`size-5`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:c===`loading`?l(`chat.fileAttachment.image.loading`):c===`error`?l(`chat.fileAttachment.image.loadFailed`):r}),c===`error`&&s?(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`sm`,onClick:s,children:l(`chat.fileAttachment.image.retry`)}):null]})}),t[0]=d,t[1]=r,t[2]=c,t[3]=a,t[4]=s,t[5]=i,t[6]=n,t[7]=l,t[8]=f):f=t[8],f},$u=e=>{let t=(0,Q.c)(11),{images:n,onLoad:r}=e,{t:i}=ot(),a;t[0]===i?a=t[1]:(a=i(`chat.fileAttachment.image.loadManually`),t[0]=i,t[1]=a);let o=a,s;if(t[2]!==o||t[3]!==n||t[4]!==r){let e;t[6]!==o||t[7]!==r?(e=e=>(0,$.jsxs)(da,{type:`button`,variant:`secondary`,size:`sm`,onClick:()=>r(e.key),"aria-label":o,className:`group h-auto min-h-8 min-w-0 justify-start gap-2 whitespace-normal border border-border/30 bg-muted/60 px-2 py-1.5 text-left hover:bg-[var(--interactive-hover)]`,"data-manual-image-load-item":e.key,children:[(0,$.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-md border border-border/40 bg-background/70 text-muted-foreground transition-colors group-hover:text-foreground`,children:(0,$.jsx)(X,{name:`file-image`,className:`size-4`,"aria-hidden":`true`})}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate typography-meta text-foreground`,children:e.filename}),e.sizeText&&(0,$.jsx)(`span`,{className:`block text-xs leading-tight text-muted-foreground`,children:e.sizeText})]})]},e.key),t[6]=o,t[7]=r,t[8]=e):e=t[8],s=n.map(e),t[2]=o,t[3]=n,t[4]=r,t[5]=s}else s=t[5];let c;return t[9]===s?c=t[10]:(c=(0,$.jsx)(`div`,{className:`col-span-full flex flex-col gap-1.5`,"data-manual-image-load-group":`true`,children:s}),t[9]=s,t[10]=c),c},ed={threshold:.01},td=new Set,nd=(0,Z.memo)(({files:e,messageID:t,sessionID:n,onShowPopup:r,compact:i=!1})=>{let{t:a}=ot(),o=os()??``,s=n||e.find(e=>typeof e.sessionID==`string`&&e.sessionID)?.sessionID||``,l=oi(t,o,s||void 0),[u,d]=Z.useState(()=>li(t)??[]),f=Z.useRef(null),p=Z.useRef(!1),m=Z.useRef(null),h=Z.useRef(!1),g=Z.useRef(new Set),_=Z.useRef(``),[,v]=Z.useReducer(e=>e+1,0),y=`${o}\n${s}\n${t}`;_.current!==y&&(_.current=y,p.current=!1,m.current=null,h.current=!1,g.current=new Set,d(li(t)??[]));for(let t of e)t.type===`file`&&t.slim===!0&&t.mime?.startsWith(`image/`)&&g.current.add(Uu(t));let b=e=>{if(!e)return`Unnamed file`;let t=e.replace(/\\/g,`/`).split(`/`);return t[t.length-1]||e},x=Z.useMemo(()=>e=>Hu(e)!==null&&typeof e.filename==`string`&&e.filename.trim().length>0?e.filename.trim():b(e.filename||e.url)||a(`chat.fileAttachment.fileFallback`),[a]),S=e=>!e||!Number.isFinite(e)||e<=0?``:e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`,C=Z.useMemo(()=>Gu(e,[...l,...u]),[u,e,l]),w=Eo(),T=Z.useMemo(()=>Yu(w,C),[C,w]),[E,D]=Z.useState({scope:``,keys:td}),O=E.scope===y?E.keys:td,k=Z.useMemo(()=>{if(!_o(w))return td;let e=new Set;for(let t of C){let n=Uu(t);O.has(n)||Xu(w,t)&&e.add(n)}return e},[O,C,w]),A=C.filter(e=>e.mime?.startsWith(`image/`)),j=A.filter(e=>!!e.url),M=C.filter(e=>!e.mime?.startsWith(`image/`)),N=A.some(e=>e.slim===!0),P=T&&A.some(e=>e.slim===!0&&!O.has(Uu(e))),F=A.filter(e=>{let t=Uu(e);return O.has(t)?!1:e.slim===!0?T:k.has(t)}),I=new Set(F.map(Uu)),L=A.filter(e=>{let t=Uu(e);return!I.has(t)&&(g.current.has(t)||!!e.url)}),R=F.map(e=>({key:Uu(e),filename:x(e),sizeText:S(Ju(e))})),z=q((e=!1)=>{if(!N||!o||!s||!t||!e&&p.current||m.current)return;p.current=!0,h.current=!1;let n=Fn(o,s,t).then(()=>{let e=li(t);e&&e.length>0&&d(e)}).catch(()=>{let e=li(t);if(e&&e.length>0){d(e);return}h.current=!0}).finally(()=>{m.current=null,v()});m.current=n,v()}),B=q(e=>{D(t=>{let n=t.scope===y?new Set(t.keys):new Set;return n.add(e),{scope:y,keys:n}}),N&&z(!0)});tt(N&&!P?f:null,e=>{e.some(e=>e.isIntersecting)&&z(!1)},ed),Z.useEffect(()=>{if(!N||P)return;let e=f.current;if(!e)return;let t=e.closest(`[data-scrollbar="chat"]`);if(!t||typeof IntersectionObserver>`u`){z(!1);return}let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();n.bottom>r.top&&n.top<r.bottom&&z(!1)},[o,N,t,s,P]);let V=N&&o&&s?Ji(o,s,t).status:`ready`,H=C.some(e=>e.mime?.startsWith(`image/`)===!0&&typeof e.url==`string`&&e.url.length>0&&e.slim!==!0)?`ready`:Ku({hasSlimImage:N,flightActive:!!m.current,failed:h.current,repositoryStatus:V}),U=Z.useMemo(()=>j.flatMap(e=>{if(!e.url)return[];let t=x(e)||`Image`;return[{url:e.url,mimeType:e.mime,filename:t,size:e.size}]}),[j,x]),W=q(e=>{if(!r)return;let t=j.findIndex(t=>Uu(t)===Uu(e)),n=U[t];if(!n?.url)return;let i=n.filename||`Image`;r({open:!0,title:i,content:``,metadata:{tool:`image-preview`,filename:i,mime:n.mimeType,size:n.size},image:{url:n.url,mimeType:n.mimeType,filename:i,size:n.size,gallery:U,index:t}})});return C.length===0?null:i?(0,$.jsxs)(`div`,{ref:f,className:`space-y-1.5 mt-1.5`,"data-message-files":t,children:[M.length>0&&(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:M.map(e=>{let t=x(e),n=t.split(`.`).pop()||``,r=S(e.size),i=Hu(e),a=Ne(e.mime)||Pe(e.filename)||Pe(e.url);return(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:i&&e.url?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{Qo(e.url||``)},className:`inline-flex items-center bg-muted/30 border border-border/30 typography-meta gap-1 px-2 py-0.5 rounded-lg text-foreground hover:text-primary transition-colors`,children:[i===`pr`?(0,$.jsx)(X,{name:`git-pull-request`,className:`text-muted-foreground h-3.5 w-3.5`}):(0,$.jsx)(X,{name:`github`,className:`text-muted-foreground h-3.5 w-3.5`}),(0,$.jsx)(`div`,{className:`overflow-hidden max-w-[13.75rem]`,children:(0,$.jsx)(`span`,{className:`truncate block`,title:t,children:t})})]}):(0,$.jsxs)(`div`,{className:`inline-flex items-center bg-muted/30 border border-border/30 typography-meta gap-1 px-2 py-0.5 rounded-lg`,children:[e.mime?.includes(`pdf`)?(0,$.jsx)(X,{name:`file-pdf`,className:`text-muted-foreground h-3.5 w-3.5`}):(0,$.jsx)(Au,{filePath:t,extension:n,isDirectory:a,className:`text-muted-foreground h-3.5 w-3.5`}),(0,$.jsx)(`div`,{className:`overflow-hidden max-w-[8.75rem]`,children:(0,$.jsx)(`span`,{className:`truncate block`,title:t,children:t})})]})}),(0,$.jsx)(za,{children:(0,$.jsxs)(`p`,{children:[t,r?` (${r})`:``]})})]},`file-${Uu(e)}`)})}),R.length>0?(0,$.jsx)($u,{images:R,onLoad:B}):null,L.length>0?(0,$.jsx)(`div`,{className:Zu(L.length),children:L.map(e=>{let t=x(e);return(0,$.jsx)(Qu,{source:e.url,filename:t,sizeText:S(Ju(e)),materializationStatus:e.url?`ready`:H,onRetry:()=>z(!0),onOpen:e.url?()=>W(e):void 0},Uu(e))})}):null]}):(0,$.jsxs)(`div`,{ref:f,"data-message-files":t,className:Y(`grid gap-2`,i?`grid-cols-1`:`grid-cols-1 sm:grid-cols-2`),children:[R.length>0?(0,$.jsx)($u,{images:R,onLoad:B}):null,C.map(e=>{let t=x(e),n=e.mime?.startsWith(`image/`),o=S(e.size),s=Hu(e);if(I.has(Uu(e)))return null;if(n&&e.url)return(0,$.jsx)(Qu,{source:e.url,filename:t,sizeText:o,onOpen:()=>W(e)},Uu(e));if(n)return(0,$.jsx)(Qu,{filename:t,sizeText:o,materializationStatus:H,onRetry:()=>z(!0)},Uu(e));if(s&&e.url)return(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{Qo(e.url||``)},className:Y(`flex items-center gap-2 p-2 rounded-lg border border-border/40 bg-muted/10 hover:bg-muted/20 transition-colors text-left`,i?`text-xs`:`text-sm`),children:[(0,$.jsx)(`div`,{className:`flex-shrink-0`,children:s===`pr`?(0,$.jsx)(X,{name:`git-pull-request`,className:Y(`text-muted-foreground`,i?`h-3.5 w-3.5`:`h-4 w-4`)}):(0,$.jsx)(X,{name:`github`,className:Y(`text-muted-foreground`,i?`h-3.5 w-3.5`:`h-4 w-4`)})}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`p`,{className:`font-medium truncate`,children:t}),o&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:o})]})]})}),(0,$.jsx)(za,{children:(0,$.jsxs)(`p`,{children:[t,o?` (${o})`:``]})})]},Uu(e));let l=e.source,u=typeof l?.type==`string`?l.type:void 0,d=l&&typeof l.path==`string`?l.path:void 0,f=u===`file`&&d?d:e.url||``;return f&&rs(f)?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{c.getState().navigateToDiagram(f)},className:Y(`flex items-center gap-2 p-2 rounded-lg border border-border/40 bg-muted/10 hover:bg-muted/20 transition-colors text-left cursor-pointer`,i?`text-xs`:`text-sm`),children:[(0,$.jsx)(X,{name:`file`,className:Y(`text-muted-foreground shrink-0`,i?`h-3.5 w-3.5`:`h-4 w-4`)}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`p`,{className:`font-medium truncate`,children:t}),(0,$.jsx)(`p`,{className:`text-xs text-status-info`,children:a(`chat.fileAttachment.openInDiagram`)})]}),(0,$.jsx)(X,{name:`external-link`,className:Y(`text-muted-foreground shrink-0`,i?`h-3 w-3`:`h-3.5 w-3.5`)})]})}),(0,$.jsx)(za,{children:(0,$.jsx)(`p`,{children:a(`chat.fileAttachment.openInDiagram`)})})]},Uu(e)):(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{r&&e.url&&r({open:!0,title:t,content:``,image:{url:e.url,mimeType:e.mime,filename:t}})},className:Y(`flex items-center gap-2 p-2 rounded-lg border border-border/40 bg-muted/10 hover:bg-muted/20 transition-colors text-left`,i?`text-xs`:`text-sm`),children:[(0,$.jsx)(`div`,{className:`flex-shrink-0`,children:e.mime?.startsWith(`image/`)?(0,$.jsx)(X,{name:`file-image`,className:Y(`text-muted-foreground`,i?`h-3.5 w-3.5`:`h-4 w-4`)}):Ne(e.mime)||Pe(e.filename)||Pe(e.url)?(0,$.jsx)(Au,{filePath:t,isDirectory:!0,className:Y(`text-muted-foreground`,i?`h-3.5 w-3.5`:`h-4 w-4`)}):e.mime?.includes(`pdf`)?(0,$.jsx)(X,{name:`file-pdf`,className:Y(`text-muted-foreground`,i?`h-3.5 w-3.5`:`h-4 w-4`)}):(0,$.jsx)(X,{name:`file`,className:Y(`text-muted-foreground`,i?`h-3.5 w-3.5`:`h-4 w-4`)})}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`p`,{className:`font-medium truncate`,children:t}),o&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:o})]})]})}),(0,$.jsx)(za,{children:(0,$.jsxs)(`p`,{children:[t,o?` (${o})`:``]})})]},Uu(e))})]})});nd.displayName=`MessageFilesDisplay`;var rd=(0,Z.memo)(e=>{let t=(0,Q.c)(14),{urls:n,caption:r,onShowPopup:i}=e;if(n.length===0)return null;let a;t[0]===n.length?a=t[1]:(a=Zu(n.length),t[0]=n.length,t[1]=a);let o;t[2]!==r||t[3]!==i||t[4]!==n?(o=n.map((e,t)=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i?.({open:!0,title:r||`Image ${t+1} of ${n.length}`,content:``,image:{url:e,gallery:n.map(_d),index:t}}),className:`relative aspect-square rounded-lg border border-border/40 bg-muted/10 overflow-hidden group`,children:[(0,$.jsx)(`img`,{src:e,alt:r||`Image ${t+1}`,className:`h-full w-full object-cover transition-transform group-hover:scale-105`,loading:`lazy`}),(0,$.jsx)(`div`,{className:`absolute inset-0 bg-black/0 group-hover:bg-black/10 transition-colors`})]},e)),t[2]=r,t[3]=i,t[4]=n,t[5]=o):o=t[5];let s;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];let c;t[9]===r?c=t[10]:(c=r&&(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground italic`,children:r}),t[9]=r,t[10]=c);let l;return t[11]!==s||t[12]!==c?(l=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[s,c]}),t[11]=s,t[12]=c,t[13]=l):l=t[13],l});rd.displayName=`ImageGallery`;function id(e){let t=e.replace(/\\/g,`/`).split(`/`);return t[t.length-1]||e}function ad(e){let t=e.split(`.`);return t.length>1?t[t.length-1].toLowerCase():``}function od(e){e.target.closest(`[data-remove-button]`)}function sd(e){return e.source===`vscode`&&e.vscodeSource===`file`}function cd(e){return e.mimeType.startsWith(`image/`)}function ld(e){return!e.mimeType.startsWith(`image/`)}function ud(e){return{url:e.dataUrl||e.serverPath||``,mimeType:e.mimeType,filename:e.filename,size:e.size}}function dd(e){return e.url}function fd(e){return e.source!==`server`&&e.source!==`vscode`&&e.mimeType.startsWith(`image/`)}function pd(e){return{url:e.dataUrl||e.serverPath||``,mimeType:e.mimeType,filename:e.filename,size:e.size}}function md(e){return e.url}function hd(e){return e.activeEditorFile}function gd(e){return e.setPendingInputText}function _d(e){return{url:e}}var vd=`text-[var(--primary)]`,yd=/\.(?:png|jpe?g|gif|webp|svg|avif|bmp|heic|heif|tiff?)$/i,bd=/(^|\s)\/(\u2003)?([A-Za-z0-9][A-Za-z0-9_-]*)/g,xd=/\[skill:([A-Za-z0-9][A-Za-z0-9_-]*)\]/g,Sd=/\[command:([^\]\r\n]+)\]/g,Cd=/(^|[\s([{])(@session:([A-Za-z0-9_-]+))(?=$|[\s)\]},.!?;:])/g,wd=/@([^\s]+)/g,Td=` `,Ed=e=>e.replaceAll(`\\`,`/`).split(`/`).at(-1)?.replace(/\.md$/,``)??``,Dd=e=>e.trim().toLowerCase(),Od=(e,t)=>{let n=t>0?e[t-1]:null;return!n||/(\s|\(|\)|\[|\]|\{|\}|"|'|`|,|\.|;|:)/.test(n)},kd=e=>e.includes(`/`)||e.includes(`\\`)||e.includes(`.`),Ad=(e,t)=>{e.push(t)},jd={kind:`skill`,priority:120,shouldScan:e=>e.includes(`/`)||e.includes(`[skill:`),detect:(e,t)=>{let n=[],r=t.skillNames;xd.lastIndex=0;let i;for(;(i=xd.exec(e))!==null;){let e=i[1];Ad(n,{start:i.index,end:i.index+i[0].length,kind:`skill`,raw:i[0],label:`/${e}`,payload:{kind:`skill`,skillName:e}})}if(!r||r.size===0)return n;let a=new Map(Array.from(r,e=>[e.toLowerCase(),e]));for(bd.lastIndex=0;(i=bd.exec(e))!==null;){let t=i[2]??``,r=i[3]||``,o=a.get(r.toLowerCase());if(!o)continue;let s=i.index+i[1].length,c=s+1+t.length+r.length;n.some(e=>e.start<c&&e.end>s)||Ad(n,{start:s,end:c,kind:`skill`,raw:e.slice(s,c),label:`/${o}`,payload:{kind:`skill`,skillName:o}})}return n},decorate:e=>{let t=e.payload.kind===`skill`?e.payload.skillName:e.label.slice(1);return{kind:`skill`,label:e.label,icon:`book-open`,className:vd,href:fs(t),skillName:t}}},Md={kind:`command`,priority:115,shouldScan:(e,t)=>e.includes(`[command:`)||!!t.commandNames?.size&&e.includes(`/`),detect:(e,t)=>{let n=[];Sd.lastIndex=0;let r;for(;(r=Sd.exec(e))!==null;){let e=r[1],t=Ed(e);t&&Ad(n,{start:r.index,end:r.index+r[0].length,kind:`command`,raw:r[0],label:`/${t}`,payload:{kind:`command`,commandName:t,reference:e}})}let i=t.commandNames;if(!i||i.size===0)return n;let a=new Map(Array.from(i,e=>[e.toLowerCase(),e]));for(bd.lastIndex=0;(r=bd.exec(e))!==null;){let t=r[2]??``,i=r[3]||``,o=a.get(i.toLowerCase());if(!o)continue;let s=r.index+r[1].length,c=s+1+t.length+i.length;n.some(e=>e.start<c&&e.end>s)||Ad(n,{start:s,end:c,kind:`command`,raw:e.slice(s,c),label:`/${o}`,payload:{kind:`command`,commandName:o}})}return n},decorate:e=>({kind:`command`,label:e.label,icon:`command`,className:vd})},Nd={kind:`image`,priority:110,shouldScan:e=>e.includes(`[`),detect:(e,t)=>{let n=[],r=0;for(;r<e.length;){let i=e.indexOf(`[`,r);if(i===-1)break;let a=e.indexOf(`]`,i+1);if(a===-1)break;if(e[a+1]===`(`){r=a+1;continue}let o=G(e.slice(i+1,a)).trim(),s=Dd(o),c=t.citationIcons?.get(s),l=!c&&yd.test(o),u=c??(l?`image`:null);if(!u){r=a+1;continue}let d=t.citationDisplayNames?.get(s)??o;Ad(n,{start:i,end:a+1,kind:u,raw:e.slice(i,a+1),label:d,payload:u===`image`?{kind:`image`,filename:d}:{kind:`attachment`,filename:d}}),r=a+1}return n},decorate:e=>{let t=e.payload.kind===`image`||e.payload.kind===`attachment`?e.payload.filename:e.label;return{kind:e.kind===`attachment`?`attachment`:`image`,label:t,icon:e.kind===`attachment`?`attachment-2`:`file-image`,className:vd,filename:t}}},Pd={kind:`session`,priority:105,shouldScan:e=>e.includes(`@`),detect:(e,t)=>{let n=[];Cd.lastIndex=0;let r;for(;(r=Cd.exec(e))!==null;){let i=r[3],a=r.index+r[1].length,o=a+r[2].length,s=t.sessionTitles?.get(i)??i;Ad(n,{start:a,end:o,kind:`session`,raw:e.slice(a,o),label:s,payload:{kind:`session`,sessionId:i,sessionLabel:s}})}let i=[...t.sessionMentions??[]].filter(e=>e.sessionLabel.length>0).sort((e,t)=>t.sessionLabel.length-e.sessionLabel.length);for(let t of i){let r=[`@${Td}${t.sessionLabel}`,`@${t.sessionLabel}`];for(let i of r){let r=e.indexOf(i);for(;r!==-1;){let a=r+i.length,o=r===0||/[\s([{]/.test(e[r-1]),s=a===e.length||/[\s)\]},.!?;:]/.test(e[a]),c=n.some(e=>e.start<a&&e.end>r);o&&s&&!c&&Ad(n,{start:r,end:a,kind:`session`,raw:e.slice(r,a),label:t.sessionLabel,payload:{kind:`session`,sessionId:t.sessionId,sessionLabel:t.sessionLabel}}),r=e.indexOf(i,a)}}}return n},decorate:e=>{let t=e.payload.kind===`session`?e.payload.sessionId:void 0;return{kind:`session`,label:e.payload.kind===`session`?e.payload.sessionLabel:e.label,icon:`chat-thread`,className:vd,sessionId:t}}},Fd={kind:`file`,priority:100,shouldScan:e=>e.includes(`@`),detect:(e,t)=>{let n=[],r=t.agentNames,i=t.filePaths,a=t.allowPathHeuristics===!0;wd.lastIndex=0;let o;for(;(o=wd.exec(e))!==null;){let t=o.index;if(!Od(e,t)||o[1].startsWith(`session:`))continue;let s=o[1].trim().replace(/[),.;:!?`"'>]+$/g,``);if(!s)continue;let c=t+1+s.length,l=e.slice(t,c);if(r?.has(s.toLowerCase())){Ad(n,{start:t,end:c,kind:`agent`,raw:l,label:l,payload:{kind:`agent`,agentName:s}});continue}let u=s.replace(/\\/g,`/`).replace(/^\.\//,``);(i?.has(s)||i?.has(u)||i?.has(u.replace(/^\/+/,``))||a&&kd(s))&&Ad(n,{start:t,end:c,kind:`file`,raw:l,label:l,payload:{kind:`file`,path:s}})}return n},decorate:e=>{if(e.kind===`agent`&&e.payload.kind===`agent`)return{kind:`agent`,label:e.label,icon:null,className:vd,href:hs(e.payload.agentName),agentName:e.payload.agentName};let t=e.payload.kind===`file`?e.payload.path:e.label;return{kind:`file`,label:e.label,icon:null,className:vd,path:t}}},Id=[jd,Md,Nd,Pd,Fd],Ld=(e,t=Id)=>{let n=t.find(t=>t.kind===e.kind)??t.find(t=>t.decorate(e).kind===e.kind);return n?n.decorate(e):e.kind===`image`||e.kind===`attachment`?Nd.decorate(e):e.kind===`agent`?Fd.decorate(e):{kind:e.kind,label:e.label,icon:null,className:vd}},Rd=[`/`,`[`,`@`],zd=e=>{if(!e)return!1;for(let t of Rd)if(e.includes(t))return!0;return!1},Bd=(e,t)=>{if(e.length<=1)return e;let n=[...e].sort((e,n)=>{let r=(t.get(n)??0)-(t.get(e)??0);return r===0?e.start===n.start?n.end-n.start-(e.end-e.start):e.start-n.start:r}),r=[];for(let e of n)r.some(t=>e.start<t.end&&e.end>t.start)||r.push(e);return r.sort((e,t)=>e.start-t.start||e.end-t.end)},Vd=(e,t={},n=Id)=>{if(!zd(e))return[];let r=[],i=new Map;for(let a of n)if(a.shouldScan(e,t))for(let n of a.detect(e,t))r.push(n),i.set(n,a.priority);return Bd(r,i)},Hd=(e,t,n=Id)=>{if(!e)return[];if(t.length===0)return[{type:`text`,text:e}];let r=[],i=0;for(let a of t)a.start<i||a.end<=a.start||a.end>e.length||(a.start>i&&r.push({type:`text`,text:e.slice(i,a.start)}),r.push({type:`reference`,span:a,decoration:Ld(a,n)}),i=a.end);return i<e.length&&r.push({type:`text`,text:e.slice(i)}),r.length>0?r:[{type:`text`,text:e}]},Ud=(e,t={},n=Id)=>{if(!zd(e))return null;let r=Vd(e,t,n);return r.length===0?null:Hd(e,r,n)},Wd=/\.(?:png|jpe?g|gif|webp|svg|avif|bmp|heic|heif|tiff?)$/i,Gd=e=>e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`),Kd=(e,t)=>!!t?.startsWith(`image/`)||Wd.test(e),qd=e=>{let t=new Map;if(!e||e.length===0)return t;for(let n of e){if(n.type!==`file`)continue;let e=typeof n.filename==`string`?n.filename.trim():``;if(!e)continue;let r=e.toLowerCase(),i=typeof n.mime==`string`?n.mime:void 0;t.set(r,Kd(e,i)?`image`:`attachment`)}return t},Jd=e=>{let t=[],n=0;for(;n<e.length;){let r=e.indexOf(`[`,n);if(r===-1)break;let i=e.indexOf(`]`,r+1);if(i===-1)break;if(e[i+1]===`(`){n=i+1;continue}let a=G(e.slice(r+1,i)).trim();Gd(a)&&Wd.test(a)&&t.push(a),n=i+1}return t},Yd=(e,t)=>{let n=qd(e),r=new Map;if(!t||!e?.length)return{icons:n,displayNames:r};let i=[];for(let t of e){if(t.type!==`file`)continue;let e=typeof t.filename==`string`?t.filename.trim():``;e&&Kd(e,typeof t.mime==`string`?t.mime:void 0)&&i.push(e)}if(i.length===0)return{icons:n,displayNames:r};let a=Jd(t),o=(e,t)=>{let i=e.toLowerCase();r.set(i,t),n.set(i,`image`)};if(i.length===1){for(let e of a)o(e,i[0]);return{icons:n,displayNames:r}}return a.forEach((e,t)=>{let n=i[t];n&&o(e,n)}),{icons:n,displayNames:r}},Xd=e=>{switch(e.kind){case`session`:return{trigger:`@`,icon:`chat-thread`,label:e.label};case`skill`:return{trigger:`/`,icon:`book-open`,label:e.label.replace(/^\//,``)};case`command`:return{trigger:`/`,icon:`command`,label:e.label.replace(/^\//,``)};case`image`:return{trigger:`[`,icon:`file-image`,label:e.label,suffix:`]`};case`attachment`:return{trigger:`[`,icon:`attachment-2`,label:e.label,suffix:`]`};case`file`:case`agent`:return}},Zd=e=>{let t=(0,Q.c)(27),{decoration:n,onOpenSkill:r,interactive:i}=e,a=i===void 0||i,o;t[0]===n?o=t[1]:(o=Xd(n),t[0]=n,t[1]=o);let s=o,c=s?.icon??n.icon,l=s?.label??n.label,u=s?`${s.trigger}${ee}`:ee,d;t[2]===n.className?d=t[3]:(d=Y(`whitespace-nowrap`,n.className),t[2]=n.className,t[3]=d);let f;t[4]!==c||t[5]!==u?(f=c?(0,$.jsxs)(`span`,{className:`relative inline-block shrink-0 align-baseline leading-none`,"aria-hidden":`true`,children:[(0,$.jsx)(`span`,{className:`text-transparent`,children:u}),(0,$.jsx)(`span`,{className:`pointer-events-none absolute inset-y-0 inline-flex items-center justify-center`,style:{left:z,right:z},children:(0,$.jsx)(X,{name:c,className:Y(N,`shrink-0`),"aria-hidden":`true`})})]}):null,t[4]=c,t[5]=u,t[6]=f):f=t[6];let p;t[7]!==n.kind||t[8]!==l||t[9]!==d||t[10]!==f?(p=(0,$.jsxs)(`span`,{className:d,"data-message-reference-kind":n.kind,children:[f,l]}),t[7]=n.kind,t[8]=l,t[9]=d,t[10]=f,t[11]=p):p=t[11];let m=p;if(!a)return m;if(n.kind===`skill`&&n.skillName&&r){let e;t[12]!==n.skillName||t[13]!==r?(e=e=>{e.stopPropagation(),r(n.skillName)},t[12]=n.skillName,t[13]=r,t[14]=e):e=t[14];let i;return t[15]!==m||t[16]!==n.skillName||t[17]!==e?(i=(0,$.jsx)(`button`,{type:`button`,className:`inline hover:underline`,"data-skill-name":n.skillName,onClick:e,children:m}),t[15]=m,t[16]=n.skillName,t[17]=e,t[18]=i):i=t[18],i}if(n.kind===`agent`&&n.href){let e;t[19]!==n.agentName||t[20]!==n.label?(e=n.agentName||n.label.replace(/^@/,``),t[19]=n.agentName,t[20]=n.label,t[21]=e):e=t[21];let r;t[22]===e?r=t[23]:(r=cs(e),t[22]=e,t[23]=r);let i;return t[24]!==m||t[25]!==r?(i=(0,$.jsx)(`a`,{href:r,className:`inline hover:underline`,target:`_blank`,rel:`noopener noreferrer`,"data-openchamber-agent-mention":`true`,onClick:Qd,children:m}),t[24]=m,t[25]=r,t[26]=i):i=t[26],i}return m};Zd.displayName=`MessageReferenceChip`;function Qd(e){return e.stopPropagation()}var $d=e=>e!==`frozen`,ef=(e,t)=>e.length===0?t:t.length===0?e:[...e,...t],tf=e=>e.status===`committed`&&e.current===!0,nf=e=>{let t=e.failure?.recovery;return{content:t?.content??e.content,attachments:t?.attachments??e.attachments,composerDocument:t?.composerDocument??e.composerDocument,composerMentions:t?.composerMentions??e.composerMentions}},rf=(e,t)=>{let n=e.status??`queued`;return!t&&(n===`queued`||n===`retrying`||n===`failed`||n===`unresolved`)},af=(e,t,n)=>Br(e)||t||e.manualDispatchRequested===!0&&!n?.allowManualDispatchRetry?!1:[`queued`,`retrying`,`failed`,`unresolved`].includes(e.status),of=(e,t)=>!t.frozen&&!Br(e),sf=(e,t)=>!(t.frozen||Br(e)),cf=e=>e.status===`sending`||e.status===`reconciling`,lf=e=>e.status===`sending`||e.status===`reconciling`,uf=e=>e.manualDispatchRequested===!0||e.status===`sending`||e.status===`reconciling`,df=e=>e.status===`sending`||e.status===`reconciling`,ff=8e3,pf=(e,t)=>e.transportIdentity===t.transportIdentity&&e.runtimeGeneration===t.runtimeGeneration&&S(e.directory)===S(t.directory)&&e.sessionID===t.sessionID&&e.scopeID===t.scopeID,mf=(e,t)=>e.filter(e=>pf(e,t)),hf=(e,t,n)=>e.filter(e=>pf(e,t)&&Number.isSafeInteger(e.committedRevision)&&e.committedRevision>0&&(n===void 0||n<e.committedRevision)),gf=(e,t)=>{if(t.kind===`send`)return e;if(t.kind===`edit`||t.kind===`remove`){let n=e.findIndex(e=>!Br(e)&&e.queueItemID===t.queueItemID);return n<0?e:[...e.slice(0,n),...e.slice(n+1)]}if(t.kind===`reorder`){let n=t.queueItemIDs;if(!n)return e;let r=new Map,i=[],a=[];for(let t of e){if(Br(t)){a.push(t);continue}i.push(t),r.set(t.queueItemID,t)}let o=[],s=new Set;for(let e of n){let t=r.get(e);t&&!s.has(e)&&(o.push(t),s.add(e))}let c=i.filter(e=>!s.has(e.queueItemID)),l=[...o,...c,...a];return l.every((t,n)=>t===e[n])?e:l}return e},_f=(e,t)=>t.reduce(gf,e),vf=(e,t)=>{let n=_f(e,t),r=n.filter(e=>Br(e)||!df(e));return r.length===n.length?n:r},yf=(e,t,n)=>({requestID:n,scopeID:e.scopeID,revision:e.revision,item:t}),bf=(e,t,n,r)=>({scopeID:e.scopeID,scopeRevision:e.revision,item:t,targetKey:n,expectedRevision:r}),xf=(e,t,n,r,i=e.items)=>{let a=i.filter(e=>!Br(e)).map(e=>e.queueItemID),o=a.indexOf(t),s=a.indexOf(n);if(o<0||s<0||o===s)return null;let[c]=a.splice(o,1);if(!c)return null;a.splice(s,0,c);let l=new Set(a),u=0,d=e.items.map(e=>l.has(e.queueItemID)?a[u++]??e.queueItemID:e.queueItemID);return{requestID:r,scopeID:e.scopeID,revision:e.revision,queueItemIDs:d}},Sf=e=>{let t=e.failure?.recovery,n=t?.composerDocument?.text??e.composerDocument?.text;return typeof n==`string`&&n.length>0?n:t?.content??e.content},Cf=e=>{let t=new Map;for(let n of e??[]){let e=typeof n.filename==`string`?n.filename.trim():``;if(!e)continue;let r=e.toLowerCase();if(n.mimeType?.startsWith(`image/`)){t.set(r,`image`);continue}Oe({source:n.source??`local`,vscodeSource:n.vscodeSource,mimeType:n.mimeType})&&t.set(r,`attachment`)}return t},wf=e=>{let t=[];for(let n of e?.references??[]){if(n.kind!==`session`||typeof n.sessionId!=`string`)continue;let e=(typeof n.display==`string`?n.display:``).replace(/^@\u2003?/,``).trim()||n.sessionId;t.push({sessionId:n.sessionId,sessionLabel:e})}return t},Tf=e=>{let t=new Set,n=new Set;for(let r of e?.references??[]){if(r.kind===`skill`&&typeof r.skillName==`string`&&r.skillName){t.add(r.skillName);continue}r.kind===`command`&&typeof r.commandName==`string`&&r.commandName&&n.add(r.commandName)}return{skillNames:t.size>0?t:void 0,commandNames:n.size>0?n:void 0}},Ef=e=>(e.split(`
6519
6519
  `)[0]??``)+(e.includes(`
6520
- `)?`...`:``),Df=(e,t={})=>{let n=Ef(e);if(!n)return null;let r=Tf(t.composerDocument);return Ud(n,{citationIcons:Cf(t.attachments),sessionMentions:wf(t.composerDocument),skillNames:r.skillNames,commandNames:r.commandNames,allowPathHeuristics:!0})},Of=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return(t.kind===`edit`||t.kind===`send`||t.kind===`remove`||t.kind===`reorder`)&&typeof t.transportIdentity==`string`&&typeof t.runtimeGeneration==`number`&&Number.isSafeInteger(t.runtimeGeneration)&&t.runtimeGeneration>=0&&typeof t.directory==`string`&&typeof t.sessionID==`string`&&typeof t.scopeID==`string`&&typeof t.queueItemID==`string`&&(t.queueItemIDs===void 0||Array.isArray(t.queueItemIDs)&&t.queueItemIDs.every(e=>typeof e==`string`))},kf=(0,Z.memo)(e=>{let t=(0,Q.c)(132),{message:n,server:r,frozen:i,hasDispatchLock:a,pendingOperationKinds:o,sendPendingTimedOut:s,isMobile:c,onEdit:l,onSend:u,onRemove:d}=e,{t:f}=ot(),p;t[0]===n?p=t[1]:(p=Br(n),t[0]=n,t[1]=p);let m=p,h=n.queueItemID||n.id,g;t[2]!==o||t[3]!==r?(g=r&&o.has(`edit`),t[2]=o,t[3]=r,t[4]=g):g=t[4];let _=g,v;t[5]!==o||t[6]!==r?(v=r&&o.has(`remove`),t[5]=o,t[6]=r,t[7]=v):v=t[7];let y=v,b;t[8]!==o||t[9]!==r?(b=r&&o.has(`reorder`),t[8]=o,t[9]=r,t[10]=b):b=t[10];let x=b,S=r||m?void 0:n,C;t[11]!==n||t[12]!==m||t[13]!==r?(C=r&&!m&&uf(n),t[11]=n,t[12]=m,t[13]=r,t[14]=C):C=t[14];let w=C,T;t[15]===S?T=t[16]:(T=S&&lf(S),t[15]=S,t[16]=T);let E=!!T,D;t[17]!==n||t[18]!==m||t[19]!==r?(D=r&&!m&&cf(n),t[17]=n,t[18]=m,t[19]=r,t[20]=D):D=t[20];let O=D,k;t[21]!==w||t[22]!==E||t[23]!==o||t[24]!==r?(k=r&&o.has(`send`)||w||E,t[21]=w,t[22]=E,t[23]=o,t[24]=r,t[25]=k):k=t[25];let A=k&&!s,j=i||m,M;t[26]!==i||t[27]!==n?(M=of(n,{frozen:i}),t[26]=i,t[27]=n,t[28]=M):M=t[28];let N=M,P;t[29]!==i||t[30]!==n?(P=sf(n,{frozen:i}),t[29]=i,t[30]=n,t[31]=P):P=t[31];let F=P,I=S?.owner?.state===`unbound-legacy`||j||O,L;t[32]!==j||t[33]!==a||t[34]!==n||t[35]!==A||t[36]!==s||t[37]!==r?(L=!j&&!A&&(r?af(n,a,{allowManualDispatchRetry:s}):rf(n,a)),t[32]=j,t[33]=a,t[34]=n,t[35]=A,t[36]=s,t[37]=r,t[38]=L):L=t[38];let R=L,z=S?.failure?.recovery,B;t[39]===n?B=t[40]:(B=Sf(n),t[39]=n,t[40]=B);let V=B,H=m?void 0:z?.attachments??n.attachments,U=z?.composerDocument??(`composerDocument`in n?n.composerDocument:void 0),W;t[41]!==I||t[42]!==h?(W={id:h,disabled:I},t[41]=I,t[42]=h,t[43]=W):W=t[43];let{attributes:ee,listeners:G,setNodeRef:K,transform:te,transition:ne,isDragging:re}=Yo(W),ie;t[44]===V?ie=t[45]:(ie=Ef(V),t[44]=V,t[45]=ie);let ae=ie,oe;t[46]!==H||t[47]!==U||t[48]!==V?(oe=Df(V,{attachments:H,composerDocument:U}),t[46]=H,t[47]=U,t[48]=V,t[49]=oe):oe=t[49];let se=oe,ce=m?n.attachmentCount:H?.length??0,le;t[50]!==n||t[51]!==d?(le=()=>d(n),t[50]=n,t[51]=d,t[52]=le):le=t[52];let ue=!F,de=y||void 0,fe=c?`h-7 w-3`:`size-7`,pe;t[53]===fe?pe=t[54]:(pe=Y(`inline-flex shrink-0 items-center justify-center bg-transparent text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,fe),t[53]=fe,t[54]=pe);let me;t[55]===f?me=t[56]:(me=f(`chat.queuedMessage.removeAria`),t[55]=f,t[56]=me);let he=y?`loader-4`:`delete-bin`,ge=c?`size-3`:`size-3.5`,_e=y&&`animate-spin`,ve;t[57]!==ge||t[58]!==_e?(ve=Y(ge,_e),t[57]=ge,t[58]=_e,t[59]=ve):ve=t[59];let ye;t[60]!==he||t[61]!==ve?(ye=(0,$.jsx)(X,{name:he,className:ve,"aria-hidden":`true`}),t[60]=he,t[61]=ve,t[62]=ye):ye=t[62];let be;t[63]!==le||t[64]!==ue||t[65]!==de||t[66]!==pe||t[67]!==me||t[68]!==ye?(be=(0,$.jsx)(`button`,{type:`button`,onClick:le,disabled:ue,"aria-busy":de,className:pe,"aria-label":me,children:ye}),t[63]=le,t[64]=ue,t[65]=de,t[66]=pe,t[67]=me,t[68]=ye,t[69]=be):be=t[69];let xe=be,Se;t[70]===te?Se=t[71]:(Se=Ko.Translate.toString(te),t[70]=te,t[71]=Se);let Ce;t[72]!==Se||t[73]!==ne?(Ce={transform:Se,transition:ne},t[72]=Se,t[73]=ne,t[74]=Ce):Ce=t[74];let we=c?`gap-1 py-0.5`:`flex gap-1.5 md:gap-2`,Te=re&&`z-10 opacity-60`,Ee;t[75]!==we||t[76]!==Te?(Ee=Y(`flex min-w-0 items-center`,we,Te),t[75]=we,t[76]=Te,t[77]=Ee):Ee=t[77];let De=x||void 0,Oe=c?`h-7 w-3`:`size-auto`,ke=I?`cursor-default opacity-50`:`cursor-grab hover:text-foreground active:cursor-grabbing`,Ae;t[78]!==Oe||t[79]!==ke?(Ae=Y(`flex flex-shrink-0 touch-none select-none items-center justify-center text-muted-foreground`,Oe,`transition-colors`,ke),t[78]=Oe,t[79]=ke,t[80]=Ae):Ae=t[80];let je;t[81]===f?je=t[82]:(je=f(`chat.queuedMessage.reorderAria`),t[81]=f,t[82]=je);let Me=x?`loader-4`:`draggable`,Ne=c?`size-3`:`size-3.5`,Pe=x&&`animate-spin`,Fe;t[83]!==Ne||t[84]!==Pe?(Fe=Y(Ne,Pe),t[83]=Ne,t[84]=Pe,t[85]=Fe):Fe=t[85];let Ie;t[86]!==Me||t[87]!==Fe?(Ie=(0,$.jsx)(X,{name:Me,className:Fe,"aria-hidden":`true`}),t[86]=Me,t[87]=Fe,t[88]=Ie):Ie=t[88];let Le;t[89]!==ee||t[90]!==I||t[91]!==G||t[92]!==De||t[93]!==Ae||t[94]!==je||t[95]!==Ie?(Le=(0,$.jsx)(`button`,{type:`button`,...ee,...G,disabled:I,"aria-busy":De,className:Ae,"aria-label":je,children:Ie}),t[89]=ee,t[90]=I,t[91]=G,t[92]=De,t[93]=Ae,t[94]=je,t[95]=Ie,t[96]=Le):Le=t[96];let Re=c?xe:null,ze=c?`text-xs leading-5`:`typography-ui-label leading-5`,Be;t[97]===ze?Be=t[98]:(Be=Y(`flex min-w-0 flex-1 items-baseline overflow-hidden whitespace-nowrap text-foreground`,ze),t[97]=ze,t[98]=Be);let Ve;t[99]!==ae||t[100]!==se||t[101]!==f?(Ve=se?se.map(Rf):ae||f(`chat.queuedMessage.empty`),t[99]=ae,t[100]=se,t[101]=f,t[102]=Ve):Ve=t[102];let He;t[103]!==ce||t[104]!==f?(He=ce>0&&(0,$.jsx)(`span`,{className:`ml-1 shrink-0 text-muted-foreground`,children:f(`chat.queuedMessage.attachments`,{count:ce})}),t[103]=ce,t[104]=f,t[105]=He):He=t[105];let Ue;t[106]!==Be||t[107]!==Ve||t[108]!==He?(Ue=(0,$.jsxs)(`span`,{className:Be,children:[Ve,He]}),t[106]=Be,t[107]=Ve,t[108]=He,t[109]=Ue):Ue=t[109];let We;t[110]!==N||t[111]!==R||t[112]!==_||t[113]!==c||t[114]!==n||t[115]!==l||t[116]!==u||t[117]!==m||t[118]!==A||t[119]!==f?(We=m?(0,$.jsxs)(`span`,{className:Y(`inline-flex items-center gap-1 font-medium text-muted-foreground`,c?`h-7 text-[11px] leading-none`:`h-7 typography-ui-label`),"aria-live":`polite`,"aria-label":f(`chat.queuedMessage.queuingAria`),children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(c?`size-3`:`size-3.5`,`animate-spin`),"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:f(`chat.queuedMessage.queuing`)})]}):A?(0,$.jsxs)(`span`,{className:Y(`inline-flex items-center gap-1 font-medium text-muted-foreground`,c?`h-7 text-[11px] leading-none`:`h-7 typography-ui-label`),"aria-live":`polite`,"aria-label":f(`chat.queuedMessage.sendingAria`),children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(c?`size-3`:`size-3.5`,`animate-spin`),"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:f(`chat.queuedMessage.sending`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>l(n),disabled:!N,"aria-busy":_||void 0,"aria-label":f(`chat.queuedMessage.edit`),className:Y(`inline-flex items-center bg-transparent text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,c?`h-7 gap-1.5 px-0 text-[11px]`:`h-7 gap-1 px-0.5`),children:[(0,$.jsx)(X,{name:_?`loader-4`:`edit`,className:Y(c?`size-3`:`size-3.5`,_&&`animate-spin`),"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`font-medium`,c?`leading-none`:`typography-ui-label`),children:f(`chat.queuedMessage.edit`)})]}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{A||u(n)},disabled:!R||A,"aria-busy":A||void 0,"aria-label":f(`chat.queuedMessage.send`),className:Y(`inline-flex items-center bg-transparent text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,c?`h-7 gap-1.5 px-0 text-[11px]`:`h-7 gap-1 px-0.5`),children:[(0,$.jsx)(X,{name:`send-plane`,className:Y(c?`size-3`:`size-3.5`),"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`font-medium`,c?`leading-none`:`typography-ui-label`),children:f(`chat.queuedMessage.send`)})]})]}),t[110]=N,t[111]=R,t[112]=_,t[113]=c,t[114]=n,t[115]=l,t[116]=u,t[117]=m,t[118]=A,t[119]=f,t[120]=We):We=t[120];let Ge=!c&&!m?xe:null,Ke;t[121]!==We||t[122]!==Ge?(Ke=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5 text-muted-foreground`,children:[We,Ge]}),t[121]=We,t[122]=Ge,t[123]=Ke):Ke=t[123];let qe;return t[124]!==K||t[125]!==Ce||t[126]!==Ee||t[127]!==Le||t[128]!==Re||t[129]!==Ue||t[130]!==Ke?(qe=(0,$.jsxs)(`div`,{ref:K,style:Ce,className:Ee,children:[Le,Re,Ue,Ke]}),t[124]=K,t[125]=Ce,t[126]=Ee,t[127]=Le,t[128]=Re,t[129]=Ue,t[130]=Ke,t[131]=qe):qe=t[131],qe});kf.displayName=`QueuedMessageChip`;var Af=[],jf=[],Mf=[],Nf=new Set,Pf=(e,t)=>t?ef(b(e,x(t.sessionID)),b(e,t)):Af,Ff=(e,t)=>{if(!t)return jf;let n=Pf(e,t),r=[...B(e,x(t.sessionID)),...B(e,t)];return r.length===0?n:[...n,...r]},If=(e,t)=>{let n=e.owner;return n?n.state===`unbound-legacy`?n.sessionID===t.sessionID?x(t.sessionID):null:_(n)===_(t)?t:null:null},Lf=(0,Z.memo)(e=>{let t=(0,Q.c)(147),{onEditMessage:n,onSendMessage:r,onEditCommitted:i,draftKey:a,scope:o,draftTarget:s,clientPendingItems:l,onRemoveClientPending:u,trailing:d}=e,f=l===void 0?Mf:l,{t:p}=ot(),m=c(zf),h=o?.transportIdentity??``,g=o?.directory??``,v=o?.sessionID??``,y;t[0]!==h||t[1]!==g||t[2]!==v?(y={transportIdentity:h,directory:g,sessionID:v},t[0]=h,t[1]=g,t[2]=v,t[3]=y):y=t[3];let b=au(y),x;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(x=new Map,t[4]=x):x=t[4];let S=Z.useRef(x);o?.runtimeGeneration,o?.transportIdentity;let w=o?.transportIdentity??``,T=o?.runtimeGeneration??-1,E;t[5]!==w||t[6]!==T?(E=[w,`messageQueue`,`scopeMutation`,T],t[5]=w,t[6]=T,t[7]=E):E=t[7];let D=E,O;t[8]===b.actions?O=t[9]:(O=e=>or(S,`${e.transportIdentity}\u0000${e.runtimeGeneration}\u0000${e.directory}\u0000${e.sessionID}\u0000${e.scopeID}`,()=>{if(e.transportIdentity!==e.runtime.transportIdentity||e.runtimeGeneration!==e.runtime.generation)return Promise.resolve({status:`stale`});let t=b.actions.captureRuntime();if(t.transportIdentity!==e.runtime.transportIdentity||t.generation!==e.runtime.generation)return Promise.resolve({status:`stale`});switch(e.kind){case`edit`:return b.actions.editIntoDraft(e.input);case`send`:return b.actions.manualSend(e.input);case`remove`:return b.actions.remove(e.input);case`reorder`:return b.actions.reorder(e.input)}throw Error(`Unsupported server queue operation`)}),t[8]=b.actions,t[9]=O);let k,A;t[10]!==b.actions||t[11]!==p?(k=(e,t)=>{let n=b.actions.captureRuntime();n.transportIdentity===t.runtime.transportIdentity&&n.generation===t.runtime.generation&&e.status!==`stale`&&t.kind===`edit`&&e.status!==`committed`&&Ii.error(p(`chat.chatInput.toast.queueOperationFailed`))},A=(e,t)=>{let n=b.actions.captureRuntime();n.transportIdentity===t.runtime.transportIdentity&&n.generation===t.runtime.generation&&Ii.error(p(e instanceof Li&&e.code===`unavailable`?`chat.chatInput.toast.queueOperationStatusUnknown`:`chat.chatInput.toast.queueOperationFailed`))},t[10]=b.actions,t[11]=p,t[12]=k,t[13]=A):(k=t[12],A=t[13]);let j;t[14]!==D||t[15]!==O||t[16]!==k||t[17]!==A?(j={mutationKey:D,mutationFn:O,onSuccess:k,onError:A},t[14]=D,t[15]=O,t[16]=k,t[17]=A,t[18]=j):j=t[18];let M=Ke(j),N;t[19]===D?N=t[20]:(N={filters:{mutationKey:D,exact:!0,status:`pending`},select:Bf},t[19]=D,t[20]=N);let P=Ge(N),F;t[21]===D?F=t[22]:(F={filters:{mutationKey:D,exact:!0,status:`success`},select:Vf},t[21]=D,t[22]=F);let I=Ge(F),R;bb0:{if(!o||!b.scope){R=null;break bb0}let e=o.runtimeGeneration??b.runtimeCapture.generation,n;t[23]!==o.directory||t[24]!==o.sessionID||t[25]!==o.transportIdentity||t[26]!==b.scope.scopeID||t[27]!==e?(n={transportIdentity:o.transportIdentity,directory:o.directory,sessionID:o.sessionID,scopeID:b.scope.scopeID,runtimeGeneration:e},t[23]=o.directory,t[24]=o.sessionID,t[25]=o.transportIdentity,t[26]=b.scope.scopeID,t[27]=e,t[28]=n):n=t[28],R=n}let z=R,B;bb1:{if(!z){let e;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[29]=e):e=t[29],B=e;break bb1}let e;if(t[30]!==z||t[31]!==P){let n;t[33]===z?n=t[34]:(n=e=>Of(e)&&e.scopeID===z.scopeID,t[33]=z,t[34]=n),e=mf(P.filter(n),z),t[30]=z,t[31]=P,t[32]=e}else e=t[32];B=e}let V=B,H;t[35]!==z||t[36]!==b.scope?.revision||t[37]!==I?(H=()=>z?hf(I.filter(Hf),z,b.scope?.revision):[],t[35]=z,t[36]=b.scope?.revision,t[37]=I,t[38]=H):H=t[38],b.scope?.revision;let U;t[39]===H?U=t[40]:(U=H(),t[39]=H,t[40]=U);let W=U,ee;t[41]!==W||t[42]!==V?(ee=[...V,...W],t[41]=W,t[42]=V,t[43]=ee):ee=t[43];let G=ee,K;t[44]===o?K=t[45]:(K=e=>Ff(e,o),t[44]=o,t[45]=K);let te=C(K);Z.useSyncExternalStore(cn,wn,wn);let ne;t[46]!==G||t[47]!==f||t[48]!==te||t[49]!==o?.sessionID||t[50]!==b.items||t[51]!==b.mode?(ne=()=>{let e=o?.sessionID,t=b.mode===`server`?vf(b.items,G):te,n=f.length===0?t:[...t,...f];if(!e)return n;let r=n.filter(t=>!Ft(e,t.queueItemID??``));return r.length===n.length?n:r},t[46]=G,t[47]=f,t[48]=te,t[49]=o?.sessionID,t[50]=b.items,t[51]=b.mode,t[52]=ne):ne=t[52],o?.sessionID;let re;t[53]===ne?re=t[54]:(re=ne(),t[53]=ne,t[54]=re);let ie=re,ae;if(t[55]!==G){ae=new Map;for(let e of G){let t=ae.get(e.queueItemID)??new Set;t.add(e.kind),ae.set(e.queueItemID,t)}t[55]=G,t[56]=ae}else ae=t[56];let oe=ae,se;if(t[57]!==G||t[58]!==ie||t[59]!==b.mode){bb2:{let e=new Set;if(b.mode===`server`){for(let t of G)t.kind===`send`&&e.add(t.queueItemID);for(let t of ie){if(Br(t))continue;let n=t.queueItemID;n&&uf(t)&&e.add(n)}se=e;break bb2}for(let t of ie){if(Br(t))continue;let n=t;lf(n)&&e.add(n.queueItemID||n.id)}se=e}t[57]=G,t[58]=ie,t[59]=b.mode,t[60]=se}else se=t[60];let ce=se,[le,ue]=Z.useState(Uf),de;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(de=new Map,t[61]=de):de=t[61];let fe=Z.useRef(de),pe,me;t[62]!==ce||t[63]!==le?(pe=()=>{let e=fe.current,t=Date.now();for(let t of[...e.keys()])ce.has(t)||e.delete(t);ue(e=>{let t=!1,n=new Set;for(let r of e)ce.has(r)?n.add(r):t=!0;return t?n:e});let n=[];for(let r of ce){if(e.has(r)||(e.set(r,t),ue(e=>{if(!e.has(r))return e;let t=new Set(e);return t.delete(r),t})),le.has(r))continue;let i=ff-(t-(e.get(r)??t));if(i<=0){ue(e=>{if(e.has(r))return e;let t=new Set(e);return t.add(r),t});continue}n.push(setTimeout(()=>{fe.current.has(r)&&ue(e=>{if(e.has(r))return e;let t=new Set(e);return t.add(r),t})},i))}return()=>{for(let e of n)clearTimeout(e)}},me=[ce,le],t[62]=ce,t[63]=le,t[64]=pe,t[65]=me):(pe=t[64],me=t[65]),Z.useEffect(pe,me);let he;t[66]===b.mode?he=t[67]:(he=$d(b.mode),t[66]=b.mode,t[67]=he);let ge=!he,_e=Hn(o),ve;t[68]!==_e||t[69]!==ie||t[70]!==b.mode?(ve=b.mode===`server`?!1:_e||ie.some(Wf),t[68]=_e,t[69]=ie,t[70]=b.mode,t[71]=ve):ve=t[71];let ye=ve,be=C(Gf),xe;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(xe={activationConstraint:{distance:8}},t[72]=xe):xe=t[72];let Se;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Se={activationConstraint:{delay:200,tolerance:6}},t[73]=Se):Se=t[73];let Ce=Go(Ro(Uo,xe),Ro(Bo,Se)),we;t[74]!==ge||t[75]!==o||t[76]!==ie||t[77]!==be||t[78]!==M||t[79]!==b.actions||t[80]!==b.mode||t[81]!==b.scope?(we=e=>{if(ge)return;let{active:t,over:n}=e;if(!n||t.id===n.id)return;if(b.mode===`server`){if(!o||!b.scope)return;let e=ie,r=e.find(e=>e.queueItemID===t.id),i=e.find(e=>e.queueItemID===n.id);if(!r||!i||Br(r)||Br(i)||cf(r)||cf(i))return;let a=b.scope,s=b.actions.captureRuntime();if(s.transportIdentity!==o.transportIdentity||s.generation!==o.runtimeGeneration)return;let c=L(),l=xf(a,String(t.id),String(n.id),c,e);if(!l)return;M.mutateAsync({kind:`reorder`,transportIdentity:s.transportIdentity,directory:a.directory,sessionID:a.sessionID,scopeID:a.scopeID,queueItemID:String(t.id),queueItemIDs:l.queueItemIDs,requestID:c,runtime:s,runtimeGeneration:s.generation,input:l}).catch(Kf);return}let r=ie.filter(qf),i=r.find(e=>(e.queueItemID??e.id)===t.id),a=r.find(e=>(e.queueItemID??e.id)===n.id);if(!i||!a||!o)return;let s=If(i,o),c=If(a,o);!s||!c||_(s)!==_(c)||be(s,String(t.id),String(n.id),i.operationID)},t[74]=ge,t[75]=o,t[76]=ie,t[77]=be,t[78]=M,t[79]=b.actions,t[80]=b.mode,t[81]=b.scope,t[82]=we):we=t[82];let Te=q(we),Ee;t[83]!==a||t[84]!==s||t[85]!==ge||t[86]!==i||t[87]!==n||t[88]!==o||t[89]!==M||t[90]!==b.actions||t[91]!==b.mode||t[92]!==b.scope?(Ee=e=>{if(ge||Br(e))return;if(b.mode===`server`){if(!o||!b.scope||!a||!s)return;let t=e,n=s.expectedRevision(),r=b.scope,c=b.actions.captureRuntime();if(c.transportIdentity!==o.transportIdentity||c.generation!==o.runtimeGeneration)return;M.mutateAsync({kind:`edit`,transportIdentity:c.transportIdentity,directory:r.directory,sessionID:r.sessionID,scopeID:r.scopeID,queueItemID:t.queueItemID,requestID:L(),runtime:c,runtimeGeneration:c.generation,input:bf(r,t,s.key,n)}).then(e=>{(e.status===`committed`||`draftDurable`in e&&e.draftDurable)&&i?.()}).catch(Jf);return}if(!o)return;let t=e,r=If(t,o);if(!r)return;let c=t.queueItemID??t.id,l=t.operationID,u=nf(t);(async()=>{let e;try{e=await Promise.resolve(n(u.content,u.attachments,u.composerDocument,u.composerMentions))}catch{e=!1}e&&(i?.(),C.getState().removeFromQueue(r,c,l))})()},t[83]=a,t[84]=s,t[85]=ge,t[86]=i,t[87]=n,t[88]=o,t[89]=M,t[90]=b.actions,t[91]=b.mode,t[92]=b.scope,t[93]=Ee):Ee=t[93];let De=q(Ee),Oe;t[94]!==ge||t[95]!==r||t[96]!==o||t[97]!==M||t[98]!==b.actions||t[99]!==b.mode||t[100]!==b.scope?(Oe=e=>{if(ge||Br(e))return;if(b.mode===`server`){if(!o||!b.scope)return;let t=e,n=b.scope,r=b.actions.captureRuntime();if(r.transportIdentity!==o.transportIdentity||r.generation!==o.runtimeGeneration)return;let i=t.queueItemID;fe.current.delete(i),ue(e=>{if(!e.has(i))return e;let t=new Set(e);return t.delete(i),t});let a=L();M.mutateAsync({kind:`send`,transportIdentity:r.transportIdentity,directory:n.directory,sessionID:n.sessionID,scopeID:n.scopeID,queueItemID:t.queueItemID,requestID:a,runtime:r,runtimeGeneration:r.generation,input:yf(n,t,a)}).catch(Yf);return}if(!o)return;let t=e;if(!If(t,o))return;let n=t.queueItemID??t.id;fe.current.delete(n),ue(e=>{if(!e.has(n))return e;let t=new Set(e);return t.delete(n),t}),r(n)},t[94]=ge,t[95]=r,t[96]=o,t[97]=M,t[98]=b.actions,t[99]=b.mode,t[100]=b.scope,t[101]=Oe):Oe=t[101];let ke=q(Oe),Ae;t[102]!==f||t[103]!==ge||t[104]!==u||t[105]!==o||t[106]!==M||t[107]!==b.actions||t[108]!==b.mode||t[109]!==b.scope?(Ae=e=>{if(Br(e)){f.some(t=>t.requestID===e.requestID)&&u?.(e.requestID);return}if(ge)return;if(b.mode===`server`){if(!o||!b.scope)return;let t=e,n=b.scope,r=b.actions.captureRuntime();if(r.transportIdentity!==o.transportIdentity||r.generation!==o.runtimeGeneration)return;let i=L();M.mutateAsync({kind:`remove`,transportIdentity:r.transportIdentity,directory:n.directory,sessionID:n.sessionID,scopeID:n.scopeID,queueItemID:t.queueItemID,requestID:i,runtime:r,runtimeGeneration:r.generation,input:yf(n,t,i)}).catch(Xf);return}if(!o)return;let t=e,n=If(t,o);n&&C.getState().removeFromQueue(n,t.queueItemID??t.id,t.operationID)},t[102]=f,t[103]=ge,t[104]=u,t[105]=o,t[106]=M,t[107]=b.actions,t[108]=b.mode,t[109]=b.scope,t[110]=Ae):Ae=t[110];let je=q(Ae),Me=ie.length>0&&(o||f.length>0);if(!Me&&!d)return null;let Ne=m?`px-2`:`px-4`,Pe;t[111]===Ne?Pe=t[112]:(Pe=Y(`oc-composer-queue relative z-0 -mb-5 w-full`,Ne),t[111]=Ne,t[112]=Pe);let Fe=m?`rounded-[1.25rem]`:`rounded-3xl`,Ie;t[113]===Fe?Ie=t[114]:(Ie=Y(`overflow-hidden border border-border/60 bg-[var(--surface-subtle)] text-foreground`,Fe),t[113]=Fe,t[114]=Ie);let Le=m?`px-1.5 py-1`:`gap-0.5 px-3 pb-1 pt-1.5`,Re;t[115]===Le?Re=t[116]:(Re=Y(`flex flex-col`,Le),t[115]=Le,t[116]=Re);let ze;t[117]!==ge||t[118]!==Te||t[119]!==De||t[120]!==je||t[121]!==ke||t[122]!==ye||t[123]!==Me||t[124]!==m||t[125]!==oe||t[126]!==ie||t[127]!==le||t[128]!==Ce||t[129]!==b.mode?(ze=Me?(0,$.jsx)(Wo,{sensors:Ce,collisionDetection:Ho,onDragEnd:Te,children:(0,$.jsx)(Zo,{items:ie.map(Zf),strategy:Xo,children:ie.map(e=>{let t=e.queueItemID||e.id;return(0,$.jsx)(kf,{message:e,server:b.mode===`server`,frozen:ge,hasDispatchLock:ye,pendingOperationKinds:oe.get(t)??Nf,sendPendingTimedOut:le.has(t),isMobile:m,onEdit:De,onSend:ke,onRemove:je},t)})})}):null,t[117]=ge,t[118]=Te,t[119]=De,t[120]=je,t[121]=ke,t[122]=ye,t[123]=Me,t[124]=m,t[125]=oe,t[126]=ie,t[127]=le,t[128]=Ce,t[129]=b.mode,t[130]=ze):ze=t[130];let Be;t[131]!==Me||t[132]!==d?(Be=d?(0,$.jsxs)($.Fragment,{children:[Me?(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`my-0.5 border-t border-border/40`}):null,d]}):null,t[131]=Me,t[132]=d,t[133]=Be):Be=t[133];let Ve;t[134]!==Re||t[135]!==ze||t[136]!==Be?(Ve=(0,$.jsxs)(`div`,{className:Re,children:[ze,Be]}),t[134]=Re,t[135]=ze,t[136]=Be,t[137]=Ve):Ve=t[137];let He=m?`h-4`:`h-5`,Ue;t[138]===He?Ue=t[139]:(Ue=(0,$.jsx)(`div`,{"aria-hidden":`true`,className:He}),t[138]=He,t[139]=Ue);let We;t[140]!==Ie||t[141]!==Ve||t[142]!==Ue?(We=(0,$.jsxs)(`div`,{className:Ie,children:[Ve,Ue]}),t[140]=Ie,t[141]=Ve,t[142]=Ue,t[143]=We):We=t[143];let qe;return t[144]!==Pe||t[145]!==We?(qe=(0,$.jsx)(`div`,{className:Pe,children:We}),t[144]=Pe,t[145]=We,t[146]=qe):qe=t[146],qe});Lf.displayName=`QueuedMessageChips`;function Rf(e,t){return e.type===`text`?(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e.text},`text-${t}`):(0,$.jsx)(Zd,{decoration:e.decoration,interactive:!1},`ref-${t}-${e.span.start}`)}function zf(e){return e.isMobile}function Bf(e){return e.state.variables}function Vf(e){let t=e.state.variables;if(!Of(t)||t.kind!==`send`)return;let n=e.state.data;if(!n||n.status!==`committed`)return;let r=`committedRevision`in n&&typeof n.committedRevision==`number`&&Number.isSafeInteger(n.committedRevision)?n.committedRevision:void 0,i=`scope`in n&&n.scope&&typeof n.scope.revision==`number`&&Number.isSafeInteger(n.scope.revision)?n.scope.revision:void 0,a=r??i;if(!(a===void 0||a<=0))return{...t,kind:`send`,committedRevision:a}}function Hf(e){return e!==void 0}function Uf(){return new Set}function Wf(e){return!Br(e)&&(e.status===`sending`||e.status===`reconciling`)}function Gf(e){return e.reorderQueue}function Kf(){}function qf(e){return!Br(e)}function Jf(){}function Yf(){}function Xf(){}function Zf(e){return e.queueItemID||e.id}var Qf=[0,200,400],$f=e=>{let t=(0,Q.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=Y(`inline-flex`,n),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=Qf.map(ep),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,$.jsxs)($.Fragment,{children:[`\xA0`,(0,$.jsx)(`span`,{className:r,"aria-hidden":`true`,children:i})]}),t[3]=r,t[4]=a),a};function ep(e){return(0,$.jsx)(`span`,{className:`animate-busy-pulse`,style:{animationDelay:`${e}ms`},children:`.`},e)}var tp=(0,Z.memo)(()=>{let e=(0,Q.c)(55),{t}=ot(),r=J(np),i;e[0]===r?i=e[1]:(i=e=>{if(!r)return null;let t=e.runsByOriginalSessionID[r]??null;return t?.runtimeKey===n()?t:null},e[0]=r,e[1]=i);let a=Vt(i),o=Vt(rp),s=c(ip),l=c(ap);if(!r||!a||a.status!==`running`)return null;let u;e[2]!==a.phase||e[3]!==t?(u=a.phase===`waiting_for_reviewer`?t(`chat.autoReview.status.waitingForReviewer`):t(`chat.autoReview.status.waitingForImplementer`),e[2]=a.phase,e[3]=t,e[4]=u):u=e[4];let d=u,f;e[5]!==s||e[6]!==a.directory||e[7]!==a.reviewSessionID||e[8]!==t?(f=()=>{s(a.directory,{mode:`chat`,dedupeKey:`session:${a.reviewSessionID}`,label:t(`chat.autoReview.reviewSessionLabel`),readOnly:!0})},e[5]=s,e[6]=a.directory,e[7]=a.reviewSessionID,e[8]=t,e[9]=f):f=e[9];let p=f,m=l?`pb-1 text-xs`:`pb-2`,h;e[10]===m?h=e[11]:(h=Y(`w-full px-1`,m),e[10]=m,e[11]=h);let g=l?`rounded-lg`:`rounded-xl`,_;e[12]===g?_=e[13]:(_=Y(`border border-border/60 bg-[var(--surface-elevated)] text-[var(--surface-elevated-foreground)] shadow-sm dark:shadow-none overflow-hidden`,g),e[12]=g,e[13]=_);let v=l?`gap-1.5 px-2 py-1`:`gap-2 px-3 py-2`,y;e[14]===v?y=e[15]:(y=Y(`flex w-full items-center text-left`,v),e[14]=v,e[15]=y);let b=l?`size-3.5`:`size-4`,x;e[16]===b?x=e[17]:(x=Y(`animate-spin text-muted-foreground`,b),e[16]=b,e[17]=x);let S;e[18]===x?S=e[19]:(S=(0,$.jsx)(X,{name:`loader-4`,className:x,"aria-hidden":`true`}),e[18]=x,e[19]=S);let C;e[20]===t?C=e[21]:(C=t(`chat.autoReview.title`),e[20]=t,e[21]=C);let w;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)($f,{}),e[22]=w):w=e[22];let T;e[23]===C?T=e[24]:(T=(0,$.jsxs)(`span`,{className:`typography-ui-label font-medium text-foreground`,children:[C,w]}),e[23]=C,e[24]=T);let E;e[25]===d?E=e[26]:(E=(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:d}),e[25]=d,e[26]=E);let D;e[27]!==T||e[28]!==E?(D=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[T,E]}),e[27]=T,e[28]=E,e[29]=D):D=e[29];let O;e[30]===t?O=e[31]:(O=t(`chat.autoReview.actions.open`),e[30]=t,e[31]=O);let k;e[32]!==p||e[33]!==O?(k=(0,$.jsx)(da,{type:`button`,variant:`secondary`,size:`xs`,onClick:p,children:O}),e[32]=p,e[33]=O,e[34]=k):k=e[34];let A;e[35]!==r||e[36]!==o?(A=()=>o(r),e[35]=r,e[36]=o,e[37]=A):A=e[37];let j;e[38]===t?j=e[39]:(j=t(`chat.autoReview.actions.stop`),e[38]=t,e[39]=j);let M;e[40]!==A||e[41]!==j?(M=(0,$.jsx)(da,{type:`button`,variant:`secondary`,size:`xs`,onClick:A,children:j}),e[40]=A,e[41]=j,e[42]=M):M=e[42];let N;e[43]!==S||e[44]!==D||e[45]!==k||e[46]!==M||e[47]!==y?(N=(0,$.jsxs)(`div`,{className:y,children:[S,D,k,M]}),e[43]=S,e[44]=D,e[45]=k,e[46]=M,e[47]=y,e[48]=N):N=e[48];let P;e[49]!==N||e[50]!==_?(P=(0,$.jsx)(`div`,{className:_,children:N}),e[49]=N,e[50]=_,e[51]=P):P=e[51];let F;return e[52]!==P||e[53]!==h?(F=(0,$.jsx)(`div`,{className:h,children:P}),e[52]=P,e[53]=h,e[54]=F):F=e[54],F});tp.displayName=`AutoReviewBanner`;function np(e){return e.currentSessionId}function rp(e){return e.stopRun}function ip(e){return e.openContextPanelTab}function ap(e){return e.isMobile}var op=Z.forwardRef((e,t)=>{let n=(0,Q.c)(55),{searchQuery:r,onSkillSelect:i,onClose:a,directory:o,style:s}=e,l=Z.useRef(null),u=c(sp),d=_s(l,u),[f,p]=Z.useState(0),m=Z.useRef(0),h=Z.useRef(!1),g;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],n[0]=g):g=n[0];let[_,v]=Z.useState(g),y;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],n[1]=y):y=n[1];let b=Z.useRef(y),x;n[2]===o?x=n[3]:(x={directory:o},n[2]=o,n[3]=x);let S=Ti(x),C;n[4]===S.data?C=n[5]:(C=S.data??[],n[4]=S.data,n[5]=C);let w=C,T,E;n[6]!==r||n[7]!==w?(T=()=>{let e=r.trim();if(!e.length){let e=[...w].sort(cp);v(e),p(0);return}let t=br(w,e,lp);t.sort(up),v(t.map(dp)),p(0)},E=[w,r],n[6]=r,n[7]=w,n[8]=T,n[9]=E):(T=n[8],E=n[9]),Z.useEffect(T,E);let D,O;n[10]===f?(D=n[11],O=n[12]):(D=()=>{m.current=f},O=[f],n[10]=f,n[11]=D,n[12]=O),Z.useEffect(D,O);let k,A;n[13]===f?(k=n[14],A=n[15]):(A=()=>{b.current[f]?.scrollIntoView({block:`nearest`})},k=[f],n[13]=f,n[14]=k,n[15]=A),Z.useEffect(A,k);let j,M;n[16]===a?(j=n[17],M=n[18]):(j=()=>{let e=e=>{let t=e.target;!t||!l.current||l.current.contains(t)||a()};return document.addEventListener(`pointerdown`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0)}},M=[a],n[16]=a,n[17]=j,n[18]=M),Z.useEffect(j,M);let N,P;n[19]!==_||n[20]!==a||n[21]!==i?(N=()=>({handleKeyDown:e=>{if(e===`Escape`){a();return}if(_.length){if(e===`ArrowDown`){h.current=!0,p(e=>(e+1)%_.length);return}if(e===`ArrowUp`){h.current=!0,p(e=>(e-1+_.length)%_.length);return}if(e===`Enter`||e===`Tab`){let e=(m.current%_.length+_.length)%_.length,t=_[e];t&&i(t)}}}}),P=[_,i,a],n[19]=_,n[20]=a,n[21]=i,n[22]=N,n[23]=P):(N=n[22],P=n[23]),Z.useImperativeHandle(t,N,P);let F,I,L,R,z,B,V,H;if(n[24]!==_||n[25]!==u||n[26]!==d||n[27]!==i||n[28]!==f||n[29]!==s){let e=(e,t)=>{let n=e.scope===`project`,r=e.source||`opencode`;return(0,$.jsx)(`div`,{ref:e=>{b.current[t]=e},className:Y(`flex gap-2 px-3 py-1.5 cursor-pointer rounded-lg typography-ui-label`,u?`items-center`:`items-start`,t===f&&`bg-interactive-selection`),onClick:()=>i(e),onMouseMove:()=>{h.current=!1,p(t)},children:(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-semibold truncate`,children:e.name}),(0,$.jsx)(`span`,{className:Y(`text-[10px] leading-none uppercase font-bold tracking-tight px-1.5 py-1 rounded border flex-shrink-0 transition-colors`,n?`bg-[var(--status-info-background)] text-[var(--status-info)] border-[var(--status-info-border)]`:`bg-[var(--status-success-background)] text-[var(--status-success)] border-[var(--status-success-border)]`),children:e.scope}),(0,$.jsx)(`span`,{className:`text-[10px] leading-none uppercase font-bold tracking-tight px-1.5 py-1 rounded border flex-shrink-0 bg-[var(--surface-muted)] text-muted-foreground border-[var(--interactive-border)]/60`,children:r})]}),e.description&&!u&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mt-0.5 truncate`,children:e.description})]})},`${e.name}-${e.scope}`)};B=l,V=`absolute z-[100] min-w-0 w-full max-w-[450px] max-h-60 bg-background border-2 border-border/60 rounded-xl shadow-none bottom-full mb-2 left-0 flex flex-col`,n[38]!==d||n[39]!==s?(H=d===void 0?s:{...s,maxHeight:d},n[38]=d,n[39]=s,n[40]=H):H=n[40],F=ma,I=!0,L=`flex-1 min-h-0`,R=`px-0 pb-2`,z=_.length?(0,$.jsx)(`div`,{children:_.map((t,n)=>e(t,n))}):(0,$.jsx)(`div`,{className:`px-3 py-2 typography-ui-label text-muted-foreground`,children:`No skills found`}),n[24]=_,n[25]=u,n[26]=d,n[27]=i,n[28]=f,n[29]=s,n[30]=F,n[31]=I,n[32]=L,n[33]=R,n[34]=z,n[35]=B,n[36]=V,n[37]=H}else F=n[30],I=n[31],L=n[32],R=n[33],z=n[34],B=n[35],V=n[36],H=n[37];let U;n[41]!==F||n[42]!==I||n[43]!==L||n[44]!==R||n[45]!==z?(U=(0,$.jsx)(F,{preventOverscroll:I,outerClassName:L,className:R,children:z}),n[41]=F,n[42]=I,n[43]=L,n[44]=R,n[45]=z,n[46]=U):U=n[46];let W;n[47]===u?W=n[48]:(W=!u&&(0,$.jsx)(`div`,{className:`px-3 pt-1 pb-1.5 border-t typography-meta text-muted-foreground`,children:`↑↓ navigate • Enter select • Esc close`}),n[47]=u,n[48]=W);let ee;return n[49]!==B||n[50]!==V||n[51]!==H||n[52]!==U||n[53]!==W?(ee=(0,$.jsxs)(`div`,{ref:B,className:V,style:H,children:[U,W]}),n[49]=B,n[50]=V,n[51]=H,n[52]=U,n[53]=W,n[54]=ee):ee=n[54],ee});op.displayName=`SkillAutocomplete`;function sp(e){return e.isMobile}function cp(e,t){return e.scope===`project`&&t.scope!==`project`?-1:e.scope!==`project`&&t.scope===`project`?1:e.name.localeCompare(t.name)}function lp(e){return[e.name,e.description??``]}function up(e,t){return 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}function dp(e){return e.item}function fp(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(`pointer-events-none inline-flex h-5 min-w-5 shrink-0 select-none items-center justify-center`,`rounded-md border border-[var(--interactive-border)] bg-[var(--surface-muted)]`,`px-1.5 font-mono typography-micro font-medium leading-none normal-case`,`text-[var(--surface-muted-foreground)] whitespace-nowrap`,`shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.12)]`,`dark:shadow-[inset_0_-1px_0_0_rgba(255,255,255,0.08)]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(`kbd`,{"data-slot":`kbd`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function pp(e){let t=(0,Q.c)(15),{shortcut:n,className:r,tone:i}=e,a=i===void 0?`default`:i,o,s,c,l;if(t[0]!==r||t[1]!==n||t[2]!==a){l=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.split(`+`).map(mp).filter(Boolean);if(e.length===0){l=null;break bb0}o=`shortcut-kbd`,t[7]===r?s=t[8]:(s=Y(`inline-flex items-center gap-1 whitespace-nowrap normal-case`,r),t[7]=r,t[8]=s);let i;t[9]===a?i=t[10]:(i=(e,t)=>(0,$.jsxs)(Z.Fragment,{children:[t>0?(0,$.jsx)(`span`,{className:`typography-micro font-semibold text-[var(--surface-muted-foreground)]`,children:`+`}):null,(0,$.jsx)(fp,{className:Y(a===`selection`&&`border-[var(--interactive-selection)] bg-[var(--interactive-selection)] text-[var(--interactive-selection-foreground)]`),children:/^[a-z]$/i.test(e)?e.toUpperCase():e})]},`${e}-${t}`),t[9]=a,t[10]=i),c=e.map(i)}t[0]=r,t[1]=n,t[2]=a,t[3]=o,t[4]=s,t[5]=c,t[6]=l}else o=t[3],s=t[4],c=t[5],l=t[6];if(l!==Symbol.for(`react.early_return_sentinel`))return l;let u;return t[11]!==o||t[12]!==s||t[13]!==c?(u=(0,$.jsx)(`span`,{"data-slot":o,className:s,children:c}),t[11]=o,t[12]=s,t[13]=c,t[14]=u):u=t[14],u}function mp(e){return e.trim()}var hp=`mobile-overlay-root`,gp=16,_p=200,vp=[],yp=0,bp=``,xp=0,Sp=()=>{if(typeof document>`u`)return null;let e=document.getElementById(hp);return e||(e=document.createElement(`div`),e.id=hp,document.body.appendChild(e)),e},Cp=({open:e,title:t,onClose:n,children:r,footer:i,className:a,contentMaxHeightClassName:o,renderHeader:s,containedBody:c=!1,closeAriaLabel:l})=>{let u=Z.useRef(null),d=Z.useRef(Symbol(`mobile-overlay`)),f=Z.useRef(n);f.current=n;let[p,m]=Z.useState(!1),[h,g]=Z.useState(!1);if(typeof document<`u`&&!u.current&&(u.current=Sp()),Z.useEffect(()=>{if(!e){m(!1),g(!1);return}let t=window.setTimeout(()=>m(!0),gp),n=window.setTimeout(()=>g(!0),266);return()=>{window.clearTimeout(t),window.clearTimeout(n)}},[e]),Z.useLayoutEffect(()=>{if(e)return xp===0&&window.dispatchEvent(new Event(`oc:mobile-overlay-opened`)),xp+=1,()=>{xp=Math.max(0,xp-1),xp===0&&window.dispatchEvent(new Event(`oc:mobile-overlay-closed`))}},[e]),Z.useEffect(()=>{if(!e)return;let t=d.current;vp.push(t),yp===0&&(bp=document.body.style.overflow),yp+=1,document.body.style.overflow=`hidden`;let n=e=>{e.key===`Escape`&&vp[vp.length-1]===t&&f.current()};return document.addEventListener(`keydown`,n),()=>{let e=vp.lastIndexOf(t);e>=0&&vp.splice(e,1),yp=Math.max(0,yp-1),yp===0&&(document.body.style.overflow=bp),document.removeEventListener(`keydown`,n)}},[e]),!e||!u.current)return null;let _=o??`max-h-[min(70vh,520px)]`,v=(0,$.jsx)(`div`,{className:Y(`oc-keyboard-inset-surface fixed inset-0 z-[60] flex flex-col bg-[rgb(0_0_0_/_0.45)] transition-opacity duration-200 ease-out`,!h&&`oc-keyboard-inset-snap`,p?`opacity-100`:`opacity-0`),role:`dialog`,"aria-modal":`true`,"aria-label":t,onPointerDown:Za,onClick:e=>{Ga(e)&&n()},children:(0,$.jsxs)(`div`,{className:Y(`mt-auto flex max-h-[calc(100dvh-0.75rem)] min-h-0 w-full flex-col rounded-t-xl border-x border-t border-border/50 bg-background pb-[max(0.5rem,var(--oc-app-bottom-safe,0px),var(--oc-safe-area-bottom,env(safe-area-inset-bottom,0px)))] shadow-none pwa-overlay-panel`,`mx-auto max-w-lg`,a),style:{transform:p?`none`:`translateY(100%)`,transition:`transform ${_p}ms cubic-bezier(0.32, 0.72, 0, 1)`},onClick:e=>e.stopPropagation(),children:[(()=>{let e=(0,$.jsx)(`button`,{type:`button`,onClick:n,className:Y(`flex items-center justify-center rounded-lg text-muted-foreground hover:bg-interactive-hover`,c?`size-11`:`h-8 w-8`),"aria-label":l??t,children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`})});return s?s(e):(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border/40`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:t}),e]})})(),c?(0,$.jsx)(`div`,{className:Y(`flex min-h-0 flex-1 flex-col overflow-hidden`,_),children:r}):(0,$.jsx)(ma,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:Y(`min-h-0 flex-1`,_),className:`px-2 py-2 pwa-overlay-scroll`,children:r}),i?(0,$.jsx)(`div`,{className:`shrink-0 border-t border-border/40 px-3 py-2`,children:i}):null]})});return(0,Sc.createPortal)(v,u.current)},wp=e=>e===`full`||e===`allow`?{text:`var(--status-info)`,border:`color-mix(in srgb, var(--status-info) 25%, transparent)`,background:`color-mix(in srgb, var(--status-info) 4%, transparent)`,borderWidth:1.5}:null,Tp=1e3,Ep=e=>{let t=(0,Q.c)(24),{name:n,label:r,revealed:i,avatarSize:a,slotClassName:o,colorVar:s}=e,c;t[0]===o?c=t[1]:(c=Y(`inline-flex shrink-0 items-center justify-center`,o),t[0]=o,t[1]=c);let l=i?void 0:r,u;t[2]!==a||t[3]!==n||t[4]!==l?(u=(0,$.jsx)(na,{name:n,size:a,label:l}),t[2]=a,t[3]=n,t[4]=l,t[5]=u):u=t[5];let d;t[6]!==c||t[7]!==u?(d=(0,$.jsx)(`span`,{className:c,children:u}),t[6]=c,t[7]=u,t[8]=d):d=t[8];let f=i?`grid-cols-[1fr] opacity-100`:`grid-cols-[0fr] opacity-0`,p;t[9]===f?p=t[10]:(p=Y(`grid min-w-0 ease-in-out`,f),t[9]=f,t[10]=p);let m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m={transitionProperty:`grid-template-columns, opacity`,transitionDuration:`280ms`,transitionTimingFunction:`ease-in-out`},t[11]=m):m=t[11];let h=!i,g;t[12]===s?g=t[13]:(g=s?{color:`var(${s})`}:void 0,t[12]=s,t[13]=g);let _;t[14]!==r||t[15]!==g?(_=(0,$.jsx)(`span`,{className:`min-w-0 overflow-hidden`,children:(0,$.jsx)(`span`,{className:`inline-block whitespace-nowrap pl-1.5 pr-0.5 typography-micro font-medium`,style:g,children:r})}),t[14]=r,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==_||t[18]!==p||t[19]!==h?(v=(0,$.jsx)(`span`,{className:p,style:m,"aria-hidden":h,children:_}),t[17]=_,t[18]=p,t[19]=h,t[20]=v):v=t[20];let y;return t[21]!==v||t[22]!==d?(y=(0,$.jsxs)($.Fragment,{children:[d,v]}),t[21]=v,t[22]=d,t[23]=y):y=t[23],y};function Dp(e){let t=(0,Q.c)(5),[n,r]=Z.useState(!1),i=Z.useRef(void 0),a=Z.useRef(!1),o=Z.useRef(null),s,c;t[0]===e?(s=t[1],c=t[2]):(s=()=>{if(!a.current){a.current=!0,i.current=e;return}if(e===i.current)return;let t=i.current;if(i.current=e,!t||!e){r(!1);return}return r(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{r(!1),o.current=null},Tp),()=>{o.current&&=(clearTimeout(o.current),null)}},c=[e],t[0]=e,t[1]=s,t[2]=c),Z.useEffect(s,c);let l,u;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>()=>{o.current&&clearTimeout(o.current)},u=[],t[3]=l,t[4]=u):(l=t[3],u=t[4]),Z.useEffect(l,u),n}var Op=`oc-tool-row -mx-2 rounded-lg px-2 py-0.5 cursor-pointer`,kp=e=>`flow-root ${e?`py-1`:`py-1.5`}`,Ap=`${Op} hover:bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)]`,jp=`hover:!bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] data-[popup-open]:!bg-[color-mix(in_srgb,var(--surface-foreground)_10%,transparent)] data-[state=open]:!bg-[color-mix(in_srgb,var(--surface-foreground)_10%,transparent)]`,Mp=`inline-flex items-center gap-1.5 rounded-lg px-2.5 py-1 ${jp}`,Np=`rounded-md ${jp}`,Pp=()=>{if(!(typeof window>`u`))return window.__zustand_config_store__},Fp=e=>{if(e)try{let t=Pp();if(t?.getState)return t.getState().agents?.find?.(t=>t.name===e)}catch{}},Ip=(e,t)=>{if(!e||e.length===0)return`ask`;for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.permission===t&&r.pattern===`*`)return r.action}for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.permission===`*`&&n.pattern===`*`)return n.action}return`ask`},Lp=e=>{let t=Fp(e);return t?Ip(t.permission,`edit`):`ask`},Rp=e=>{if(!e||typeof e!=`object`)return 0;let t=e.input??0,n=e.output??0,r=e.reasoning??0,i=e.cache&&typeof e.cache==`object`?e.cache.read??0:0,a=e.cache&&typeof e.cache==`object`?e.cache.write??0:0;return t+n+r+i+a},zp=e=>{let t=e.info.tokens;if(typeof t==`number`)return t;if(t&&typeof t==`object`)return Rp(t);let n=e.parts.find(e=>e.tokens!==void 0);return!n||n.tokens===void 0?0:typeof n.tokens==`number`?n.tokens:Rp(n.tokens)},Bp=e=>{if(!e||typeof e!=`object`)return{percent:0,hasInput:!1};let t=e.input??0,n=e.cache&&typeof e.cache==`object`?e.cache.read??0:0,r=e.cache&&typeof e.cache==`object`?e.cache.write??0:0,i=t+n+r;return i<=0?{percent:0,hasInput:!1}:{percent:Math.min(100,Math.max(0,Math.max(0,n)/i*100)),hasInput:!0}},Vp=(e,t,n)=>{let r=Number.isFinite(t)?Math.max(t,0):0,i=Number.isFinite(n)&&n>0,a=i?Math.max(n,0):0,o=Math.min(Math.min(i?a:32e3,32e3),r),s=r>0?Math.max(r-o,1):0,c=s>0?e/s*100:0;return{percentage:Math.min(c,100),contextLimit:r,outputLimit:a,thresholdLimit:s||1,normalizedOutput:o}},Hp=[`ask`,`allow`,`full`],Up=`__global__`,Wp=de()(pe(fe((e,t)=>({sessionModelSelections:new Map,sessionAgentSelections:new Map,sessionAgentModelSelections:new Map,sessionAgentModelVariantSelections:new Map,currentAgentContext:new Map,sessionContextUsage:new Map,sessionAgentEditModes:new Map,hasHydrated:typeof window>`u`,saveSessionModelSelection:(t,n,r)=>{e(e=>{let i=new Map(e.sessionModelSelections);return i.set(t,{providerId:n,modelId:r}),{sessionModelSelections:i}})},getSessionModelSelection:e=>{let{sessionModelSelections:n}=t();return n.get(e)||null},saveSessionAgentSelection:(t,n)=>{e(e=>{let r=new Map(e.sessionAgentSelections);r.set(t,n);let i=new Map(e.currentAgentContext);return i.set(t,n),{sessionAgentSelections:r,currentAgentContext:i}})},getSessionAgentSelection:e=>{let{sessionAgentSelections:n}=t();return n.get(e)||null},saveAgentModelForSession:(t,n,r,i)=>{e(e=>{let a=new Map(e.sessionAgentModelSelections),o=a.get(t);return o=o?new Map(o):new Map,o.set(n,{providerId:r,modelId:i}),a.set(t,o),{sessionAgentModelSelections:a}})},getAgentModelForSession:(e,n)=>{let{sessionAgentModelSelections:r}=t(),i=r.get(e);return i&&i.get(n)||null},saveAgentModelVariantForSession:(t,n,r,i,a)=>{e(e=>{let o=new Map(e.sessionAgentModelVariantSelections),s=o.get(t);s=s?new Map(s):new Map;let c=s.get(n);c=c?new Map(c):new Map;let l=`${r}/${i}`;return a===void 0?(c.delete(l),c.size===0?(s.delete(n),s.size===0?o.delete(t):o.set(t,s)):(s.set(n,c),o.set(t,s))):(c.set(l,a),s.set(n,c),o.set(t,s)),{sessionAgentModelVariantSelections:o}})},getAgentModelVariantForSession:(e,n,r,i)=>{let{sessionAgentModelVariantSelections:a}=t(),o=a.get(e);if(!o)return;let s=o.get(n);if(s)return s.get(`${r}/${i}`)},getContextUsage:(n,r,i,a)=>{if(!n)return null;let o=Vp(0,r,i),s=o.contextLimit,c=o.normalizedOutput??0,l=o.thresholdLimit;if(s===0||l===0)return null;let u=(a.get(n)||[]).filter(e=>e.info.role===`assistant`);if(u.length===0)return null;let d=u[u.length-1],f=d.info.id,p=t=>{let r=()=>{e(e=>{let r=e.sessionContextUsage.get(n);if(r&&r.totalTokens===t.totalTokens&&r.percentage===t.percentage&&r.contextLimit===t.contextLimit&&(r.outputLimit??0)===(t.outputLimit??0)&&(r.normalizedOutput??0)===(t.normalizedOutput??0)&&r.thresholdLimit===t.thresholdLimit&&r.lastMessageId===t.lastMessageId)return e;let i=new Map(e.sessionContextUsage);return i.set(n,t),{sessionContextUsage:i}})};typeof queueMicrotask==`function`?queueMicrotask(r):typeof window<`u`?window.setTimeout(r,0):setTimeout(r,0)},m=t().sessionContextUsage.get(n);if(m&&m.lastMessageId===f){let e=m.normalizedOutput??m.outputLimit??0,t=m.contextLimit!==s||e!==c||m.thresholdLimit!==l;if(t&&m.totalTokens>0){let e=m.totalTokens/l*100,t={totalTokens:m.totalTokens,percentage:Math.min(e,100),contextLimit:s,outputLimit:o.outputLimit,normalizedOutput:c,thresholdLimit:l,lastMessageId:f};return p(t),t}if(!t&&m.totalTokens>0)return m}let h=zp(d);if(h===0)return m||null;let g=Vp(h,r,i),_={totalTokens:h,percentage:g.percentage,contextLimit:g.contextLimit,outputLimit:g.outputLimit,normalizedOutput:g.normalizedOutput,thresholdLimit:g.thresholdLimit,lastMessageId:f};return p(_),_},updateSessionContextUsage:(t,n,r,i)=>{let a=(i.get(t)||[]).filter(e=>e.info.role===`assistant`);if(a.length===0)return;let o=a[a.length-1],s=zp(o);if(s===0)return;let c=Vp(s,n,r);e(e=>{let n=new Map(e.sessionContextUsage);return n.set(t,{totalTokens:s,percentage:c.percentage,contextLimit:c.contextLimit,outputLimit:c.outputLimit,normalizedOutput:c.normalizedOutput,thresholdLimit:c.thresholdLimit,lastMessageId:o.info.id}),{sessionContextUsage:n}})},initializeSessionContextUsage:(e,n,r,i)=>{let a=t().sessionContextUsage.get(e);(!a||a.totalTokens===0)&&t().updateSessionContextUsage(e,n,r,i)},pollForTokenUpdates:(e,n,r,i=10)=>{let a=0,o=()=>{a++;let s=(r.get(e)||[]).find(e=>e.info.id===n);if(s&&s.info.role===`assistant`&&zp(s)>0){t().updateSessionContextUsage(e,0,0,r);return}a<i&&setTimeout(o,1e3)};setTimeout(o,2e3)},getCurrentAgent:e=>{let{currentAgentContext:n}=t();return n.get(e)},getSessionAgentEditMode:(e,n,r=Lp(n))=>{if(!e||!n)return r;let i=t().sessionAgentEditModes.get(e)?.get(n);if(i!==void 0)return i;if(e!==Up){let e=t().sessionAgentEditModes.get(Up)?.get(n);if(e!==void 0)return e}return r},setSessionAgentEditMode:(t,n,r,i=Lp(n))=>{if(!t||!n)return;let a=i??`ask`;a!==`deny`&&r!==`deny`&&Hp.includes(r)&&e(e=>{let i=new Map(e.sessionAgentEditModes),o=new Map(i.get(t)??new Map);return r===a?(o.delete(n),o.size===0?i.delete(t):i.set(t,o)):(o.set(n,r),i.set(t,o)),{sessionAgentEditModes:i}})},toggleSessionAgentEditMode:(e,n,r=Lp(n))=>{if(!e||!n)return;let i=r??`ask`;if(i===`deny`)return;let a=t().getSessionAgentEditMode(e,n,i),o=Hp.indexOf(a),s=Hp.indexOf(i),c=Hp[((o>=0?o:s>=0?s:0)+1)%Hp.length];t().setSessionAgentEditMode(e,n,c,i)}}),{name:`context-store`,storage:l(),partialize:e=>({sessionModelSelections:Array.from(e.sessionModelSelections.entries()),sessionAgentSelections:Array.from(e.sessionAgentSelections.entries()),sessionAgentModelSelections:Array.from(e.sessionAgentModelSelections.entries()).map(([e,t])=>[e,Array.from(t.entries())]),sessionAgentModelVariantSelections:Array.from(e.sessionAgentModelVariantSelections.entries()).map(([e,t])=>[e,Array.from(t.entries()).map(([e,t])=>[e,Array.from(t.entries())])]),currentAgentContext:Array.from(e.currentAgentContext.entries()),sessionContextUsage:Array.from(e.sessionContextUsage.entries()),sessionAgentEditModes:Array.from(e.sessionAgentEditModes.entries()).map(([e,t])=>[e,Array.from(t.entries())])}),merge:(e,t)=>{let n=new Map;e?.sessionAgentModelSelections&&e.sessionAgentModelSelections.forEach(([e,t])=>{n.set(e,new Map(t))});let r=new Map;e?.sessionAgentModelVariantSelections&&e.sessionAgentModelVariantSelections.forEach(([e,t])=>{let n=new Map;t.forEach(([e,t])=>{n.set(e,new Map(t))}),r.set(e,n)});let i=new Map;return e?.sessionAgentEditModes&&e.sessionAgentEditModes.forEach(([e,t])=>{i.set(e,new Map(t))}),{...t,...e,sessionModelSelections:new Map(e?.sessionModelSelections||[]),sessionAgentSelections:new Map(e?.sessionAgentSelections||[]),sessionAgentModelSelections:n,sessionAgentModelVariantSelections:r,currentAgentContext:new Map(e?.currentAgentContext||[]),sessionContextUsage:new Map(e?.sessionContextUsage||[]),sessionAgentEditModes:i,hasHydrated:!0}}}),{name:`context-store`})),Gp=e=>kn([...e??[]]),Kp=typeof window<`u`?Z.useLayoutEffect:Z.useEffect,qp=(e,t)=>{let n=(0,Q.c)(16),r;n[0]===t?r=n[1]:(r=t===void 0?[]:t,n[0]=t,n[1]=r);let i=r,[a,o]=Z.useState(!1),s;n[2]===e?s=n[3]:(s=()=>{let t=e.current;if(!t)return;let n=t.scrollWidth>t.clientWidth+1;o(e=>e===n?e:n)},n[2]=e,n[3]=s);let c=s,l;n[4]===c?l=n[5]:(l=()=>{c()},n[4]=c,n[5]=l);let u;n[6]!==c||n[7]!==i?(u=[c,...i],n[6]=c,n[7]=i,n[8]=u):u=n[8],Kp(l,u);let d,f;n[9]!==c||n[10]!==e?(d=()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>{c()});return n.observe(t),()=>n.disconnect()},f=[c,e],n[9]=c,n[10]=e,n[11]=d,n[12]=f):(d=n[11],f=n[12]),Z.useEffect(d,f);let p,m;return n[13]===c?(p=n[14],m=n[15]):(p=()=>{if(typeof window>`u`||typeof ResizeObserver<`u`)return;let e=()=>c();return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},m=[c],n[13]=c,n[14]=p,n[15]=m),Z.useEffect(p,m),a};function Jp(e,t){return!e&&t===`trigger-hover`}var Yp=e=>{let t=e.current;return!t||!t.isConnected||t.disabled?null:t},Xp=e=>{let t=Yp(e);return t?(t.focus({preventScroll:!0}),!0):!1},Zp=(e,t)=>e&&!t,Qp=e=>{let t=e?.variants;return t?Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.length>0):typeof t==`object`?Object.keys(t):[]:[]},$p=(e,t,n,r)=>{if(e.providerID!==n||e.modelID!==r||t?.variantsReady===!1)return[];if(t?.variants)return[...t.variants];let i=(t?.providers?.find(e=>e.id===n))?.models?.find(e=>e.id===r);return Qp(i)},em=()=>!0,tm=(e,t)=>(e.commandPolicy??em)(t),nm=Z.createContext(null),rm=()=>Z.useContext(nm),im=e=>e,am=(e,t)=>t??e,om=e=>{if(e.kind!==`primary`&&(!e.sessionID||!e.directory||!e.draftKey||!e.transportIdentity||!Number.isSafeInteger(e.runtimeGeneration)||!e.resources||typeof e.resources.busy!=`boolean`||!e.activity||!e.commands||!e.shortcuts))throw Error(`chat-input-secondary-surface-incomplete`)},sm=(e,t)=>e.kind===`secondary`?e.resources?.busy??!1:t,cm=e=>!e.sessionID||!e.directory?null:{deliveryTarget:e.deliveryTarget,sessionID:e.queueSessionID??e.sessionID,directory:e.directory,transportIdentity:e.transportIdentity,runtimeGeneration:e.runtimeGeneration},lm=(e,t,n)=>{if(e.kind===`secondary`){if(!e.commands)throw Error(`chat-input-secondary-commands-incomplete`);return e.commands}return e.commands?e.commands:{sessionID:e.sessionID,hasMessages:t,hasNewDraft:n}},um=(e,t)=>`${e}:${t}`,dm=`transition-none animate-none data-[starting-style]:!opacity-100 data-[starting-style]:!scale-100 data-[ending-style]:!opacity-100 data-[ending-style]:!scale-100`,fm=e=>{if(!Array.isArray(e))return null;let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;typeof e.permission==`string`&&typeof e.pattern==`string`&&typeof e.action==`string`&&(e.action===`allow`||e.action===`ask`||e.action===`deny`)&&t.push({permission:e.permission,pattern:e.pattern,action:e.action})}return t},pm=(e,t)=>{let n=fm(e);if(!(!n||n.length===0)){for(let e=n.length-1;e>=0;--e){let r=n[e];if(r.permission===t&&r.pattern===`*`)return r.action}for(let e=n.length-1;e>=0;--e){let t=n[e];if(t.permission===`*`&&t.pattern===`*`)return t.action}}},mm=[{key:`tool_call`,icon:`tools`,label:`Tool calling`,isActive:e=>e?.tool_call===!0},{key:`reasoning`,icon:`brain-ai-3`,label:`Reasoning`,isActive:e=>e?.reasoning===!0}],hm={text:{icon:`text`,label:`Text`},image:{icon:`file-image`,label:`Image`},video:{icon:`file-video`,label:`Video`},audio:{icon:`file-music`,label:`Audio`},pdf:{icon:`file-pdf`,label:`PDF`}},gm=e=>e.trim().toLowerCase(),_m=(e,t)=>{let n=t===`input`?e?.modalities?.input:e?.modalities?.output;if(!Array.isArray(n)||n.length===0)return[];let r=Array.from(new Set(n.map(e=>gm(e)))),i=[];for(let e of r){let t=hm[e];t&&i.push({key:e,icon:t.icon,label:t.label})}return i},vm=e=>new Intl.NumberFormat(st(),{notation:`compact`,compactDisplay:`short`,maximumFractionDigits:1,minimumFractionDigits:0}).format(e),ym=e=>new Intl.NumberFormat(st(),{style:`currency`,currency:`USD`,maximumFractionDigits:4,minimumFractionDigits:2}).format(e),bm=e=>new Intl.DateTimeFormat(st(),{month:`short`,day:`numeric`,year:`numeric`}).format(e),xm=`__add_provider__`,Sm=e=>{let t=(0,Q.c)(5),{iconName:n,label:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(X,{name:n,className:`size-3.5`}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,$.jsx)(`span`,{className:`flex size-5 items-center justify-center rounded-xl bg-muted/60 text-muted-foreground`,title:r,"aria-label":r,role:`img`,children:i}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a},Cm=e=>{let t=(0,Q.c)(18),{mode:n,className:r}=e,i;t[0]===r?i=t[1]:(i=Y(r,`flex-shrink-0`),t[0]=r,t[1]=i);let a=i,o;t[2]===n?o=t[3]:(o=wp(n),t[2]=n,t[3]=o);let s=o,c=s?s.text:`var(--foreground)`,l;t[4]===c?l=t[5]:(l={color:c},t[4]=c,t[5]=l);let u=l;if(n===`full`){let e;return t[6]!==a||t[7]!==u?(e=(0,$.jsx)(X,{name:`pencil-ai`,className:a,style:u}),t[6]=a,t[7]=u,t[8]=e):e=t[8],e}if(n===`allow`){let e;return t[9]!==a||t[10]!==u?(e=(0,$.jsx)(X,{name:`checkbox-circle`,className:a,style:u}),t[9]=a,t[10]=u,t[11]=e):e=t[11],e}if(n===`deny`){let e;return t[12]!==a||t[13]!==u?(e=(0,$.jsx)(X,{name:`close-circle`,className:a,style:u}),t[12]=a,t[13]=u,t[14]=e):e=t[14],e}let d;return t[15]!==a||t[16]!==u?(d=(0,$.jsx)(X,{name:`question`,className:a,style:u}),t[15]=a,t[16]=u,t[17]=d):d=t[17],d},wm=e=>{if(typeof e!=`number`||Number.isNaN(e))return`—`;if(e===0)return`0`;let t=vm(e);return t.endsWith(`.0`)?t.slice(0,-2):t},Tm=e=>typeof e!=`number`||!Number.isFinite(e)?`—`:ym(e),Em=e=>{let t=[];for(let n of mm)n.isActive(e)&&t.push({key:n.key,icon:n.icon,label:n.label});return t},Dm=e=>{if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?e:bm(t)},Om=({className:e,composerTextareaRef:t,mobilePanel:n,onMobilePanelChange:r,selectionAdapter:i})=>{let{t:a}=ot(),o=Z.useId(),{isReady:s,isUnavailable:l}=io(),u=l||i?.catalog?.error?a(`common.unavailable`):a(`common.loading`),d=Hr(e=>e.providerConfigLoadingByDirectory[e.activeDirectoryKey]===!0),f=Hr(e=>e.agentConfigLoadingByDirectory[e.activeDirectoryKey]===!0),p=i?.catalog,m=s&&(p?.ready??!d)&&!p?.loading&&!p?.error&&!i?.disabled,h=s&&(p?.ready??!f)&&!p?.loading&&!p?.error&&!i?.disabled,g=m&&h,_=Hr(e=>e.providers),v=p?.providers??_,y=Hr(e=>e.currentProviderId),b=Hr(e=>e.currentModelId),x=i?.selection.providerID??y,S=i?.selection.modelID??b,C=Hr(e=>e.currentVariant),w=i?i.selection.variant:C,T=Hr(e=>e.currentAgentName),E=i?i.selection.agent??void 0:T,D=Hr(e=>e.settingsDefaultVariant),O=Hr(e=>e.settingsDefaultAgent),k=Hr(e=>e.setProvider),A=Hr(e=>e.setSelectedProvider),j=Hr(e=>e.setModel),M=Hr(e=>e.setCurrentVariant),N=Hr(e=>e.getCurrentModelVariants),P=Hr(e=>e.setAgent),F=Hr(e=>e.getCurrentProvider),I=Hr(e=>e.getModelMetadata),L=Hr(e=>e.getCurrentAgent),R=Hr(e=>e.getVisibleAgents),z=Gp(p?.agents??R()),B=Z.useMemo(()=>z.filter(e=>e.mode===`primary`),[z]),V=Z.useRef(!1);Z.useEffect(()=>{V.current||!g||(V.current=!0,Ae(`ModelControls:ready`,{providers:v.length,agents:z.length,currentProviderId:x,currentModelId:S,currentAgentName:E}))},[z.length,g,E,S,x,v.length]);let H=J(e=>i?null:e.currentSessionId),U=J(e=>e.getDirectoryForSession),W=Bl(),ee=Un(e=>e.getSessionModelSelection),G=Un(e=>e.saveSessionModelSelection),K=Un(e=>e.saveSessionAgentSelection),te=Un(e=>e.saveAgentModelForSession),ne=Un(e=>e.getAgentModelForSession),re=Un(e=>e.saveAgentModelVariantForSession),ie=Un(e=>e.getAgentModelVariantForSession),ae=Wp(e=>e.hasHydrated),oe=Un(e=>H?e.sessionAgentSelections.get(H)??null:null),se=Z.useRef(null);Z.useEffect(()=>{if(!H){se.current=null;return}oe&&(se.current=oe)},[H,oe]);let ce=H?se.current:null,le=i?i.selection.agent??void 0:H&&(oe||ce)||E,ue=c(e=>e.toggleFavoriteModel),de=c(e=>e.reorderFavoriteModel),fe=c(e=>e.providerOrder),pe=c(e=>e.setProviderOrder),me=c(e=>e.isFavoriteModel),he=c(e=>e.addRecentModel),ge=c(e=>e.addRecentAgent),_e=c(e=>e.addRecentEffort),ve=c(e=>e.isModelSelectorOpen),ye=c(e=>e.setModelSelectorOpen),be=c(e=>e.isAgentSelectorOpen),xe=c(e=>e.setAgentSelectorOpen),Se=c(e=>e.isModelSelectorInstant),Ce=c(e=>e.isAgentSelectorInstant),we=c(e=>e.setSettingsDialogOpen),Te=c(e=>e.setSettingsPage),Ee=c(e=>e.hiddenModels),De=c(e=>e.shortcutOverrides.cycle_agent),Oe=Z.useMemo(()=>Qa(`cycle_agent`,De?{cycle_agent:De}:void 0),[De]),{favoriteModelsList:ke,recentModelsList:je}=va({currentProviderID:x,currentModelID:S}),{isMobile:Me}=mo(),Ne=c(e=>e.isMobile),Pe=Me||Ne,Fe=jo(),Ie=Pe,[Le,Re]=Z.useState(null),ze=n!==void 0&&typeof r==`function`,Be=ze?n:Le,Ve=ze?r:Re,He=q(e=>{Ve(e),Hr.getState().refreshCatalogsOnPickerOpen({source:`modelControls:mobilePanel`})}),Ue=q((e,t)=>{if(Jp(e,t?.reason)){t?.cancel?.();return}xe(e),e&&Hr.getState().refreshCatalogsOnPickerOpen({source:`modelControls:desktopAgentMenu`})}),[We,Ge]=Z.useState(null),Ke=Z.useRef(!1),qe=Z.useCallback(()=>Ve(null),[Ve]),Je=Z.useCallback(()=>Ge(null),[]),Ye=Z.useRef(void 0),Xe=ve,Ze=ye,Qe=Z.useCallback(()=>{A(xm),Te(`providers`),we(!0),Ze(!1),qe()},[A,Te,we,Ze,qe]),[$e,et]=Z.useState(``),[tt,nt]=Z.useState(null),[rt,it]=Z.useState(!1),at=Z.useRef(0),st=q((e,t)=>{if(Jp(e,t?.reason)){t?.cancel?.();return}it(!1),e||(at.current=performance.now()+200,nt(null),et(``)),Ze(e),e&&Hr.getState().refreshCatalogsOnPickerOpen({source:`modelControls:desktopModelMenu`})}),ct=Z.useRef(!1),lt=Z.useRef(null),ut=Z.useRef(void 0),[dt,ft]=Z.useState(new Map),[pt,mt]=Z.useState(new Set),[ht,gt]=Z.useState(0),_t=Z.useCallback(()=>{let e=()=>{let e=c.getState();!e.isModelSelectorOpen&&!e.isAgentSelectorOpen&&Xp(t)};window.setTimeout(()=>{requestAnimationFrame(()=>{e(),requestAnimationFrame(e)})},0)},[t]),vt=Z.useCallback(e=>{let t=c.getState();(e===`model`?t.isModelSelectorOpen:t.isAgentSelectorOpen)||(c.setState(e===`model`?{isModelSelectorInstant:!1}:{isAgentSelectorInstant:!1}),!c.getState().isMobile&&_t())},[_t]),yt=Z.useCallback(()=>{let e=c.getState();return e.isModelSelectorOpen||e.isAgentSelectorOpen?!1:Yp(t)},[t]),bt=Z.useRef(ve);Z.useEffect(()=>{let e=bt.current;bt.current=ve,ve||(et(``),ct.current=!1,lt.current=null,ft(new Map),mt(new Set),e&&!Ie&&(it(!1),at.current=performance.now()+200))},[ve,Ie]);let[xt,St]=Z.useState(``);Z.useEffect(()=>{be||St(``)},[be]);let Ct=Z.useMemo(()=>z.filter(e=>en(e.mode)),[z]),wt=Z.useMemo(()=>xt.trim()?br(Ct,xt.trim(),e=>[e.name,e.description??``]).map(e=>e.item):[...Ct].sort((e,t)=>e.name.localeCompare(t.name)),[Ct,xt]),Tt=Z.useMemo(()=>{if(O){let e=Ct.find(e=>e.name===O);if(e)return e.name}let e=Ct.find(e=>e.name===`build`);return e?e.name:Ct[0]?.name},[O,Ct]),Et=Z.useMemo(()=>le?z.find(e=>e.name===le):L?.(),[z,L,le]),Dt=Pe?`mobile`:Fe?`vscode`:`default`,Ot=Dt===`mobile`?`size-5`:`size-4`,kt=Ie?`typography-micro`:`typography-meta`,At=Dt===`mobile`?`gap-x-1`:Dt===`vscode`?`gap-x-2`:`gap-x-1.5`,jt=Dt===`mobile`?`h-8 w-8`:Dt===`vscode`?`h-5 w-5`:`h-6 w-6`,Mt=Dt===`mobile`?18:Dt===`vscode`?14:16,Nt=Dp(le),Pt=i?v.find(e=>e.id===x):F(),Ft=Array.isArray(Pt?.models)?Pt.models:[],It=S?Ft.find(e=>e.id===S):void 0,Lt=x&&S&&It?ba(x,It,I(x,S)):x&&S?I(x,S):void 0,Rt=Z.useCallback(e=>e===`Tool calling`?a(`chat.modelControls.capability.toolCalling`):e===`Reasoning`?a(`chat.modelControls.capability.reasoning`):e===`Text`?a(`chat.modelControls.modality.text`):e===`Image`?a(`chat.modelControls.modality.image`):e===`Video`?a(`chat.modelControls.modality.video`):e===`Audio`?a(`chat.modelControls.modality.audio`):e===`PDF`?a(`chat.modelControls.modality.pdf`):e,[a]),zt=Z.useMemo(()=>Em(Lt).map(e=>({...e,label:Rt(e.label)})),[Lt,Rt]),Bt=Z.useMemo(()=>_m(Lt,`input`).map(e=>({...e,label:Rt(e.label)})),[Lt,Rt]),Vt=Z.useMemo(()=>_m(Lt,`output`).map(e=>({...e,label:Rt(e.label)})),[Lt,Rt]),Ht=Z.useMemo(()=>{if(p?.variantsReady===!1)return[];if(p?.variants)return[...p.variants];if(x&&S){let e=v.find(e=>e.id===x)?.models?.find(e=>e.id===S);return Qp(e)}return i?[]:N()},[S,x,N,v,i,p?.variants,p?.variantsReady]),Ut=Ht.length>0,Wt=[{label:`Input`,value:Tm(Lt?.cost?.input)},{label:`Output`,value:Tm(Lt?.cost?.output)},{label:`Cache read`,value:Tm(Lt?.cost?.cache_read)},{label:`Cache write`,value:Tm(Lt?.cost?.cache_write)}],Gt=[{label:`Context`,value:wm(Lt?.limit?.context)},{label:`Output`,value:wm(Lt?.limit?.output)}],Kt=Z.useRef(void 0),qt=Z.useRef(null),Jt=Z.useRef(null),Yt=H?U(H):void 0,Xt=nr(H??``,Yt??void 0).renderable,Zt=Er(H??``,Yt??void 0),Qt=Z.useMemo(()=>{for(let e=Zt.length-1;e>=0;--e){let t=Zt[e];if(t.role!==`user`)continue;let n=typeof t.model?.providerID==`string`&&t.model.providerID.trim().length>0?t.model.providerID:void 0,r=typeof t.model?.modelID==`string`&&t.model.modelID.trim().length>0?t.model.modelID:void 0,i=typeof t.agent==`string`&&t.agent.trim().length>0?t.agent:typeof t.mode==`string`&&t.mode.trim().length>0?t.mode:void 0,a=t.model?.variant??t.variant,o=typeof a==`string`&&a.trim().length>0?a:void 0;return{id:t.id,agent:i,providerID:n,modelID:r,variant:o}}return null},[Zt]),$t=Z.useCallback((e,t,n)=>{if(!e||!t)return`model-missing`;let r=v.find(t=>t.id===e);return r?(Array.isArray(r.models)?r.models:[]).find(e=>e.id===t)?x===e&&S===t?`applied`:(k(e),j(t),H&&(G(H,e,t),n&&te(H,n,e,t)),`applied`):`model-missing`:`provider-missing`},[v,x,S,k,j,H,te,G]),tn=Z.useCallback((e,t)=>{if(i&&i.selection.providerID===e&&i.selection.modelID===t)return $p(i.selection,i.catalog,e,t);let n=v.find(t=>t.id===e)?.models?.find(e=>e.id===t);return Qp(n)},[v,i,i?.selection.providerID,i?.selection.modelID,p?.variants,p?.variantsReady]),nn=Z.useCallback((e,t)=>{let n=i?$p(i.selection,i.catalog,e,t):[],r=n.length>0?n:tn(e,t);if(r.length===0)return;if(i){let n=i.selection.variant;if(i.selection.providerID===e&&i.selection.modelID===t&&n&&r.includes(n))return n}let a=le||E;if(H&&a){let n=ie(H,a,e,t);if(n&&r.includes(n))return n}if(x===e&&S===t&&w&&r.includes(w))return w;if(!H&&D&&r.includes(D))return D},[E,S,x,H,w,ie,tn,i,D,le]),an=Z.useCallback(()=>{if(i)return i.selection.agent??void 0;let e=Hr.getState().currentAgentName;return H?Un.getState().getSessionAgentSelection(H)||se.current||e||E:e||E},[E,H,i]),on=Z.useCallback((e,t,n,r)=>{if(i){i.onChange({...i.selection,providerID:e,modelID:t,variant:n}).catch(()=>void 0);return}if(tn(e,t).length===0){Ke.current=!1,M(void 0);return}Ke.current=!0,M(n),_e(e,t,n);let a=r??an();H&&a&&re(H,a,e,t,n)},[_e,H,tn,an,re,i,M]),sn=Z.useCallback((e,t,n,r)=>{let a=r??an()??void 0,o=$t(e,t,a);if(o!==`applied`)return o;on(e,t,n,a);let s=i?n:Hr.getState().currentVariant;return he(e,t,s),`applied`},[he,on,an,i,$t]);Z.useEffect(()=>{if(i)return;if(!H){Jt.current=null;return}if(!ae||v.length===0||!Xt||!Qt?.providerID||!Qt.modelID)return;let e=[H,Qt.id,Qt.agent??``,Qt.providerID,Qt.modelID,Qt.variant??``].join(`|`);if(Jt.current===e)return;Qt.agent&&E!==Qt.agent&&P(Qt.agent);let t=Qt.variant&&tn(Qt.providerID,Qt.modelID).includes(Qt.variant)?Qt.variant:void 0;sn(Qt.providerID,Qt.modelID,t,Qt.agent||E||void 0)===`applied`&&(Qt.agent&&(K(H,Qt.agent),re(H,Qt.agent,Qt.providerID,Qt.modelID,t)),G(H,Qt.providerID,Qt.modelID),Jt.current=e)},[i,H,E,ae,v,Xt,Qt,P,sn,tn,K,re,G]),Z.useEffect(()=>{if(i)return;if(!H){Jt.current=null;return}if(!ae||v.length===0||z.length===0)return;let e=()=>{let e=ee(H),t=H?Un.getState().getSessionAgentSelection(H):null;if(t){E!==t&&P(t);let e=ne(H,t);if(e){let n=$t(e.providerId,e.modelId,t);if(n===`applied`)return`resolved`;if(n===`provider-missing`)return`waiting`}}if(e){let n=$t(e.providerId,e.modelId,t||E||void 0);if(n===`applied`)return`resolved`;if(n===`provider-missing`)return`waiting`}for(let e of z){let t=ne(H,e.name);if(!t)continue;E!==e.name&&P(e.name),Un.getState().getSessionAgentSelection(H)||se.current||K(H,e.name);let n=$t(t.providerId,t.modelId,e.name);if(n===`applied`)return`resolved`;if(n===`provider-missing`)return`waiting`}return`continue`},t=()=>{if(z.length===0)return;let e=H?Un.getState().getSessionAgentSelection(H)||se.current:null,t=(H?Un.getState().getSessionAgentSelection(H)||se.current:null)||E;if(t&&z.some(e=>e.name===t)){E!==t&&P(t);return}let n=z.find(e=>e.name===`build`)||B[0]||z[0];n&&(e||K(H,n.name),E!==n.name&&P(n.name),n.model?.providerID&&n.model?.modelID&&$t(n.model.providerID,n.model.modelID,n.name))},n=e();if(n!==`resolved`&&n!==`waiting`){if(!Xt){W.isLoading(H)||W.ensureSessionRenderable(H);return}Qt||t()}},[i,H,Xt,Qt,z,B,E,ee,ne,P,$t,K,ae,v,W]),Z.useEffect(()=>{if(i||!ae)return;let e=new AbortController;return(async()=>{try{if(E!==Kt.current&&(Kt.current=E,E&&H)){let t=qt.current===E;if(qt.current=null,await new Promise(t=>{let n=setTimeout(t,50);e.signal.addEventListener(`abort`,()=>{clearTimeout(n),t()})}),e.signal.aborted)return;let n=ne(H,E);if(n){let e=$t(n.providerId,n.modelId,E);if(e===`applied`||e===`provider-missing`)return}let r=Hr.getState().getAgentModelSelection(E);if(r){let e=$t(r.providerId,r.modelId,E);if(e===`applied`||e===`provider-missing`){e===`applied`&&(G(H,r.providerId,r.modelId),te(H,E,r.providerId,r.modelId),r.variant!==void 0&&(re(H,E,r.providerId,r.modelId,r.variant),M(r.variant)));return}}let i=t?z.find(e=>e.name===E):void 0;if(i?.model?.providerID&&i.model.modelID){let e=$t(i.model.providerID,i.model.modelID,E);if(e===`applied`||e===`provider-missing`){e===`applied`&&(G(H,i.model.providerID,i.model.modelID),te(H,E,i.model.providerID,i.model.modelID));return}}}}catch(e){console.error(`[ModelControls] Agent change error:`,e)}})(),()=>{e.abort()}},[i,z,E,H,ne,te,re,G,M,$t,ae]),Z.useEffect(()=>{if(i)return;if(!ae||!E){Ke.current=!1,M(void 0);return}if(!x||!S){Ke.current=!1,M(void 0);return}if(Ht.length===0){Ke.current=!1,M(void 0);return}if(w&&!Ht.includes(w)){M(void 0);return}if(!H){if(!w&&!Ke.current){let e=D&&Ht.includes(D)?D:void 0;M(e)}return}let e=ie(H,E,x,S),t=e&&Ht.includes(e)?e:D&&Ht.includes(D)?D:void 0;M(t),Ke.current=!1},[i,Ht,ae,H,E,x,S,w,ie,M,D]),Z.useEffect(()=>{Ke.current=!1},[x,S]);let cn=Z.useCallback((e,t)=>{if(i){let n=ir(i.selection,e,z,v),r=n.providerID===i.selection.providerID&&n.modelID===i.selection.modelID;Ie&&qe(),i.onChange({...n,variant:r?i.selection.variant:void 0}).then(()=>{ge(e),(t?.closeModelSelector??!0)&&Ze(!1)}).catch(()=>void 0);return}try{qt.current=e,P(e),ge(e),(t?.closeModelSelector??!0)&&Ze(!1),H&&K(H,e),Ie&&qe()}catch(e){console.error(`[ModelControls] Handle agent change error:`,e)}},[ge,z,qe,H,Ie,v,K,i,P,Ze]),ln=Z.useCallback(e=>{let t=rn(z,E,e);t&&cn(t,{closeModelSelector:!1})},[z,E,cn]),un=Z.useCallback(e=>{let t=Oe&&!Oe.includes(`shift`)?$a(`shift+${Oe}`):``;return t&&Wa(e,t)?-1:Wa(e,Oe)?1:null},[Oe]),dn=Z.useCallback(e=>{let t=un(e);t&&(e.preventDefault(),e.stopPropagation(),ln(t))},[un,ln]),fn=Z.useCallback((e,t,n,r)=>{!e||!t||!n||Hr.getState().saveAgentModelSelection(e,t,n,r)},[]),pn=(e,t,n)=>{let r=()=>{Ze(!1,n?.closeInstant?{instant:!0}:void 0)};if(i){Ie&&qe();let a=n?.applyVariant?n.variant:nn(e,t);i.onChange({providerID:e,modelID:t,agent:n?.agentName??i.selection.agent,variant:a}).then(()=>{he(e,t,a),r()}).catch(()=>void 0);return}try{let i=n?.agentName??an()??void 0,a=n?.applyVariant?sn(e,t,n.variant,i):$t(e,t,i);if(a!==`applied`){a===`provider-missing`?console.error(`[ModelControls] Provider not available for selection:`,e):a===`model-missing`&&console.error(`[ModelControls] Model not available for selection:`,{providerId:e,modelId:t});return}fn(i,e,t,n?.applyVariant?n.variant:Hr.getState().currentVariant),n?.applyVariant||he(e,t,Hr.getState().currentVariant),r(),Ie&&qe()}catch(e){console.error(`[ModelControls] Handle model change error:`,e)}},mn=(e,t)=>er(e,t,{maxLength:40}),hn=()=>v.find(e=>e.id===x)?.name||x,gn=()=>{if(!S)return a(`chat.modelControls.selectModel`);let e=Ft.find(e=>e.id===S);return mn(e,S)||a(`chat.modelControls.selectModel`)},_n=gn(),vn=Z.useRef(null),yn=qp(vn,[_n,w,Ie]),bn=()=>{if(!le){let e=B.find(e=>e.name===`build`)||B[0];return e?xn(e.name):`Select Agent`}let e=z.find(e=>e.name===le);return xn(e?e.name:le)},xn=e=>e.charAt(0).toUpperCase()+e.slice(1),Sn=Z.useCallback(e=>{Ye.current&&clearTimeout(Ye.current),Ye.current=setTimeout(()=>{Ge(e)},500)},[]),Cn=Z.useCallback(()=>{Ye.current&&clearTimeout(Ye.current)},[]);Z.useEffect(()=>()=>{Ye.current&&clearTimeout(Ye.current)},[]);let wn=()=>!Ie||We!==`model`?null:(0,$.jsx)(Cp,{open:!0,onClose:Je,title:Lt?.name||gn(),children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-0.5`,children:a(`chat.modelControls.provider`)}),(0,$.jsx)(`div`,{className:`typography-meta text-foreground font-medium`,children:hn()})]}),zt.length>0&&(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.capabilities`)}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:zt.map(({key:e,icon:t,label:n})=>(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Sm,{iconName:t,label:n},`cap-${e}`),(0,$.jsx)(`span`,{className:`typography-meta text-foreground`,children:n})]},e))})]}),(Bt.length>0||Vt.length>0)&&(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.modalities`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[Bt.length>0&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-12`,children:a(`chat.modelControls.input`)}),(0,$.jsx)(`div`,{className:`flex gap-1`,children:Bt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:`${n} input`},`input-${e}`))})]}),Vt.length>0&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-12`,children:a(`chat.modelControls.output`)}),(0,$.jsx)(`div`,{className:`flex gap-1`,children:Vt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:`${n} output`},`output-${e}`))})]})]})]}),(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.limits`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.context`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:wm(Lt?.limit?.context)})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.output`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:wm(Lt?.limit?.output)})]})]})]}),Lt?.release_date?(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.metadata`)}),(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.release`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Dm(Lt.release_date)})]})})]}):null]})}),Tn=()=>{if(!Ie||We!==`agent`||!Et)return null;let e=!!(Et.prompt&&Et.prompt.trim().length>0),t=Et.model?.providerID&&Et.model?.modelID,n=Et.temperature!==void 0||Et.topP!==void 0,r=e=>{let t=fm(Et.permission)??[],n=t.some(t=>t.permission===e&&t.pattern!==`*`),r=pm(t,e)??`ask`;return n?{mode:`ask`,label:a(`chat.modelControls.permissionLabel.custom`)}:r===`allow`?{mode:`allow`,label:a(`chat.modelControls.permissionLabel.allow`)}:r===`deny`?{mode:`deny`,label:a(`chat.modelControls.permissionLabel.deny`)}:{mode:`ask`,label:a(`chat.modelControls.permissionLabel.ask`)}},i=r(`edit`),o=r(`bash`),s=r(`webfetch`);return(0,$.jsx)(Cp,{open:!0,onClose:Je,title:xn(Et.name),children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Et.description&&(0,$.jsx)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:(0,$.jsx)(`div`,{className:`typography-meta text-foreground`,children:Et.description})}),(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-0.5`,children:a(`chat.modelControls.mode`)}),(0,$.jsx)(`div`,{className:`typography-meta text-foreground font-medium`,children:Et.mode===`primary`?a(`chat.modelControls.modeValue.primary`):Et.mode===`subagent`?a(`chat.modelControls.modeValue.subagent`):Et.mode===`all`?a(`chat.modelControls.modeValue.all`):a(`chat.modelControls.modeValue.none`)})]}),(t||n)&&(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.model`)}),t&&(0,$.jsxs)(`div`,{className:`typography-meta text-foreground font-medium mb-1`,children:[Et.model.providerID,` / `,Et.model.modelID]}),n&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[Et.temperature!==void 0&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.temperature`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Et.temperature})]}),Et.topP!==void 0&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.topP`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Et.topP})]})]})]}),(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.permissions`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.edit`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:i.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:i.label})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.bash`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:o.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:o.label})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.webFetch`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:s.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:s.label})]})]})]})]}),e&&(0,$.jsx)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.customPrompt`)}),(0,$.jsx)(X,{name:`checkbox-circle`,className:`size-4 text-foreground`})]})})]})})},En=()=>Ie?(0,$.jsx)(co,{open:Be===`model`||Be===`variant`,view:Be===`variant`?`variant`:`model`,onViewChange:e=>Ve(e),onClose:qe,selectedProviderID:x||``,selectedModelID:S||``,resolveSelectedVariant:nn,onSelect:(e,t,n)=>{if(i){qe(),i.onChange({providerID:e,modelID:t,agent:i.selection.agent,variant:n}).then(()=>{he(e,t,n)}).catch(()=>void 0);return}let r=sn(e,t,n);if(r!==`applied`){r===`provider-missing`?console.error(`[ModelControls] Provider not available for selection:`,e):r===`model-missing`&&console.error(`[ModelControls] Model not available for selection:`,{providerId:e,modelId:t});return}fn(an(),e,t,n),qe()},providers:v,favoriteModels:ke,recentModels:je,hiddenModels:Ee,providerOrder:fe,isFavorite:me,onToggleFavorite:(e,t)=>ue(e,t,e===x&&t===S?w:ke.find(n=>n.providerID===e&&n.modelID===t)?.variant??je.find(n=>n.providerID===e&&n.modelID===t)?.variant),getMetadata:I}):null,Dn=()=>Ie?(0,$.jsx)(to,{id:`mobile-agent-picker-sheet-${o}`,open:Be===`agent`,onOpenChange:e=>{e||qe()},ariaLabel:a(`chat.modelControls.selectAgent`),closeAriaLabel:a(`mobile.surface.closeAria`),resizeAriaLabel:a(`mobile.sessions.sheet.resizeAria`),bodyClassName:`px-2`,children:(0,$.jsx)(ma,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:`min-h-0 flex-1`,className:`flex flex-col gap-2 overscroll-contain`,children:Ct.map(e=>{let t=e.name===le,n=ta(e.name);return(0,$.jsx)(`button`,{type:`button`,className:Y(`flex w-full flex-col gap-1.5 rounded-xl border px-3 py-2.5 text-left`,`focus:outline-none focus-visible:ring-2 focus-visible:ring-primary`,`touch-manipulation cursor-pointer transition-colors`,`active:bg-interactive-hover`,t?`border-primary/50 bg-interactive-selection/20`:`border-border/40 hover:bg-interactive-hover/50`),onClick:()=>cn(e.name),children:(0,$.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[1.125rem_minmax(0,1fr)_auto] items-start gap-x-2`,children:[(0,$.jsx)(na,{name:e.name,size:18}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`span`,{className:`block typography-ui-label font-semibold`,style:t?{color:`var(${n.var})`}:void 0,children:xn(e.name)}),e.description&&(0,$.jsx)(`span`,{className:`mt-1 block min-w-0 whitespace-normal break-words typography-micro text-muted-foreground`,children:e.description})]}),t&&(0,$.jsx)(X,{name:`check`,className:`size-4 shrink-0 text-primary`})]})},e.name)})})}):null,On=()=>(0,$.jsx)(za,{align:`start`,sideOffset:8,className:`max-w-[320px]`,children:Lt?(0,$.jsxs)(`div`,{className:`flex min-w-[240px] flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`typography-micro font-semibold text-foreground`,children:Lt.name||gn()}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:hn()})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.capabilities`)}),(0,$.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:zt.length>0?zt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:n},`cap-${e}`)):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a(`chat.modelControls.modeValue.none`)})})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.modalities`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:a(`chat.modelControls.input`)}),(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:Bt.length>0?Bt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:`${n} input`},`input-${e}`)):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:`-`})})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:a(`chat.modelControls.output`)}),(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:Vt.length>0?Vt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:`${n} output`},`output-${e}`)):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:`-`})})]})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.costPerMillion`)}),Wt.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:e.label}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:e.value})]},e.label))]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.limits`)}),Gt.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:e.label}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:e.value})]},e.label))]}),Lt.release_date?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.metadata`)}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:a(`chat.modelControls.release`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Dm(Lt.release_date)})]})]}):null]}):(0,$.jsx)(`div`,{className:`min-w-[200px] typography-meta text-muted-foreground`,children:a(`chat.modelControls.metadataUnavailable`)})}),kn=()=>{let e=(e,t)=>{if(ct.current=!0,e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return!1;let{providerID:n,modelID:r}=t,i=tn(n,r);if(i.length===0)return!1;e.preventDefault(),e.stopPropagation();let a=um(n,r),o=dt.has(a),s=dt.get(a),c=o?s:x===n&&S===r?w:void 0,l=[void 0,...i],u=l.indexOf(c),d=l[((u>=0?u:0)+(e.key===`ArrowRight`?1:-1)+l.length)%l.length];return ft(e=>{let t=new Map(e);return t.set(a,d),t}),mt(e=>{let t=new Set(e);return t.add(a),t}),gt(e=>e+1),!0},t=(t,n)=>{let r=un(t);if(r){t.preventDefault(),ln(r);return}n&&e(t,n)},n=e=>{let t=um(e.providerID,e.modelID),n=dt.get(t),r=pt.has(t),i=an();if(r){pn(e.providerID,e.modelID,{applyVariant:!0,variant:n,agentName:i});return}let a=tn(e.providerID,e.modelID),o=e.variant!==void 0&&a.includes(e.variant)?e.variant:void 0;if(o!==void 0){pn(e.providerID,e.modelID,{applyVariant:!0,variant:o,agentName:i});return}pn(e.providerID,e.modelID,{agentName:i})},r=e=>{let t=un(e);t&&(e.preventDefault(),e.stopPropagation(),ct.current=!0,ln(t))},i=e=>e?.trim()?Xn(e):a(`chat.modelControls.default`),o=(e,t)=>{let n=an();pn(e.providerID,e.modelID,{applyVariant:!0,variant:t,agentName:n,closeInstant:!0})},s=e=>{e&&(Xe||performance.now()<at.current)||it(e)},c={searchPlaceholder:a(`chat.modelControls.searchModels`),noResults:a(`chat.modelControls.noModelsFound`),favorites:a(`chat.modelControls.favorites`),recent:a(`chat.modelControls.recent`),keyboardHint:a(`chat.modelControls.keyboardHintNavigate`),favorite:a(`chat.modelControls.favoriteAria`),unfavorite:a(`chat.modelControls.unfavoriteAria`),provider:a(`chat.modelControls.provider`),capabilities:a(`chat.modelControls.capabilities`),capabilityToolCalling:a(`chat.modelControls.capability.toolCalling`),capabilityReasoning:a(`chat.modelControls.capability.reasoning`),modalityImage:a(`chat.modelControls.modality.image`),modalityVideo:a(`chat.modelControls.modality.video`),modalityAudio:a(`chat.modelControls.modality.audio`),costPerMillion:a(`chat.modelControls.costPerMillion`),costInput:a(`chat.modelControls.costInput`),costOutput:a(`chat.modelControls.costOutput`)},l=(e,{isSelected:t})=>{let n=tn(e.providerID,e.modelID);if(n.length===0)return null;let r=um(e.providerID,e.modelID),o=dt.has(r),s=dt.get(r),c=e.variant!==void 0&&n.includes(e.variant)?e.variant:void 0,l=o?s:t?w:c,u=pt.has(r);return(0,$.jsxs)(`button`,{type:`button`,className:Y(`group/thinking flex shrink-0 items-center gap-0.5 rounded-md px-1.5 py-0.5 typography-micro font-medium transition-colors`,u||l?`text-foreground/80`:`text-muted-foreground`,`hover:bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] hover:text-foreground`),onClick:t=>{t.preventDefault(),t.stopPropagation(),nt(e)},"aria-label":a(`chat.modelControls.showThinkingModes`),children:[(0,$.jsx)(X,{name:`brain-ai-3`,className:`size-3 opacity-70`}),(0,$.jsx)(`span`,{className:`max-w-20 truncate`,children:i(l)}),(0,$.jsx)(X,{name:`arrow-right-s`,className:`size-3 opacity-60 transition-transform group-hover/thinking:translate-x-px`})]})},d=()=>{if(!tt)return null;let e=tn(tt.providerID,tt.modelID),t=um(tt.providerID,tt.modelID),n=dt.has(t),r=dt.get(t),s=tt.providerID===x&&tt.modelID===S,c=tt.variant!==void 0&&e.includes(tt.variant)?tt.variant:void 0,l=n?r:s?w:c,u=er(tt.model,tt.modelID,{maxLength:40});return(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,onKeyDownCapture:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),nt(null))},children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 border-b border-border/40 px-1.5 py-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,className:`flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground`,onClick:()=>nt(null),"aria-label":a(`header.actions.backAria`),children:(0,$.jsx)(X,{name:`arrow-left`,className:`size-3.5`})}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(Oa,{modelId:tt.modelID,providerId:tt.providerID,className:`size-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate typography-meta font-medium text-foreground`,children:u}),(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 text-border`,children:`·`}),(0,$.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 typography-micro text-muted-foreground`,children:[(0,$.jsx)(X,{name:`brain-ai-3`,className:`size-3 opacity-70`}),a(`chat.modelControls.thinking`)]})]})]}),(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5 p-1`,role:`listbox`,"aria-label":a(`chat.modelControls.thinking`),children:[void 0,...e].map(e=>{let t=e===l||!e&&!l;return(0,$.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t,className:Y(`flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-left typography-meta transition-colors`,t?`bg-interactive-selection text-interactive-selection-foreground`:`text-foreground hover:bg-interactive-hover/50`),onClick:()=>o(tt,e),children:[(0,$.jsx)(`span`,{className:Y(`truncate font-medium`,!e&&!t&&`text-muted-foreground`),children:i(e)}),t?(0,$.jsx)(X,{name:`check`,className:`size-3.5 shrink-0 text-primary`}):(0,$.jsx)(`span`,{className:`size-3.5 shrink-0`,"aria-hidden":`true`})]},e??`__default`)})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-border/40 px-2 py-1.5 typography-micro text-muted-foreground`,children:[(0,$.jsx)(fp,{className:`h-4 min-w-4 rounded-[3px] px-1 text-[10px] font-medium tracking-tight shadow-none`,children:`Esc`}),(0,$.jsx)(`span`,{children:a(`header.actions.backAria`)}),(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`text-border`,children:`·`}),(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintThinking`)})]})]})},f=w&&Ut?Xn(w):null;return(0,$.jsxs)(Ba,{open:!Xe&&rt,onOpenChange:s,delayDuration:200,children:[Ie?(0,$.jsx)(`button`,{type:`button`,onClick:m?()=>He(`model`):void 0,onTouchStart:m?()=>Sn(`model`):void 0,onTouchEnd:m?Cn:void 0,onTouchCancel:m?Cn:void 0,disabled:!m,className:Y(`model-controls__model-trigger min-w-0 focus:outline-none`,m?Y(`cursor-pointer`,Mp):`opacity-60 cursor-not-allowed`),children:m?(0,$.jsxs)($.Fragment,{children:[x||S?(0,$.jsx)(Oa,{modelId:S,providerId:x,className:Y(Ot,`flex-shrink-0`)}):(0,$.jsx)(X,{name:`pencil-ai`,className:Y(Ot,`text-muted-foreground`)}),(0,$.jsx)(`span`,{ref:vn,className:Y(`model-controls__model-label typography-micro font-medium overflow-hidden min-w-0`,Pe?`max-w-[120px]`:`max-w-[220px]`),children:(0,$.jsxs)(`span`,{className:Y(`inline-flex min-w-0 items-center gap-1`,yn&&`marquee-text marquee-text--active`),children:[(0,$.jsx)(`span`,{className:`truncate`,children:_n}),f?(0,$.jsx)(`span`,{className:`shrink-0 font-normal text-muted-foreground`,children:f}):null]})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(Ot,`animate-spin text-muted-foreground flex-shrink-0`)}),(0,$.jsx)(`span`,{className:`typography-micro font-medium text-muted-foreground min-w-0`,children:u})]})}):(0,$.jsxs)(Ka,{open:m&&Xe,onOpenChange:m?st:void 0,onOpenChangeComplete:e=>{e||vt(`model`)},children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(Xa,{asChild:!0,children:(0,$.jsxs)(`div`,{className:Y(`model-controls__model-trigger cursor-pointer min-w-0`,Mp),children:[m?x?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Oa,{modelId:S,providerId:x,className:Y(Ot,`flex-shrink-0`)}),(0,$.jsx)(X,{name:`pencil-ai`,className:Y(Ot,`text-primary/60 hidden`)})]}):(0,$.jsx)(X,{name:`pencil-ai`,className:Y(Ot,`text-muted-foreground`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(Ot,`animate-spin text-muted-foreground flex-shrink-0`)}),(0,$.jsx)(`span`,{className:Y(`model-controls__model-label`,kt,`font-medium whitespace-nowrap text-muted-foreground min-w-0`),children:u})]}),m&&(0,$.jsx)(`span`,{ref:vn,className:Y(`model-controls__model-label overflow-hidden`,kt,`font-medium whitespace-nowrap text-foreground min-w-0`,`max-w-[260px]`),children:(0,$.jsxs)(`span`,{className:Y(`inline-flex min-w-0 items-center gap-1`,yn&&`marquee-text marquee-text--active`),children:[(0,$.jsx)(`span`,{className:`truncate`,children:_n}),f?(0,$.jsx)(`span`,{className:`shrink-0 font-normal text-muted-foreground`,children:f}):null]})},`${x}-${S}-${w??``}`)]})})}),(0,$.jsx)(Ya,{className:Y(`w-[min(380px,calc(100vw-2rem))] p-0 flex flex-col`,Se&&dm),align:`end`,alignOffset:-40,onKeyDownCapture:r,finalFocus:yt,children:tt?d():(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`p-1 border-b border-border/40`,children:(0,$.jsxs)(`button`,{type:`button`,onClick:Qe,className:`typography-meta group flex w-full items-center gap-1 rounded-md px-2 py-1.5 cursor-pointer hover:bg-interactive-hover/50`,children:[(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center text-muted-foreground`,children:(0,$.jsx)(X,{name:`add`,className:`size-4 -mr-0.5`})}),(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:a(`chat.modelControls.addNewProvider`)})]})}),(0,$.jsx)(ha,{providers:v,favoriteModels:ke,recentModels:je,getMetadata:I,searchQuery:$e,onSearchQueryChange:et,onSelect:n,labels:c,selectedModel:x&&S?{providerID:x,modelID:S}:null,hiddenModels:Ee,onActiveKeyDown:t,onActiveEntryChange:e=>{ut.current=e},onVariantKey:e,isFavorite:e=>me(e.providerID,e.modelID),onToggleFavorite:e=>ue(e.providerID,e.modelID,e.providerID===x&&e.modelID===S?w:e.variant),renderRowEnd:l,renderVersion:ht,onReorderFavorite:(e,t)=>de(e.providerID,e.modelID,t.providerID,t.modelID),reorderFavoriteAriaLabel:a(`chat.modelControls.reorderFavoriteAria`),reorderFavoriteTitle:a(`chat.modelControls.reorderFavoriteTitle`),providerOrder:fe,onReorderProvider:pe,reorderProviderTitle:a(`chat.modelControls.reorderProviderTitle`),footerContent:e=>{let t=e?tn(e.providerID,e.modelID).length>0:!1;return(0,$.jsxs)(`div`,{className:`flex items-center gap-x-2 whitespace-nowrap overflow-hidden`,children:[(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintNavigate`)}),(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintSwitchAgent`,{shortcut:`Tab`})}),t?(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintThinking`)}):null]})},tooltipsEnabled:Xe&&!tt,onEscape:()=>{if(tt){nt(null);return}Ze(!1)}})]})})]}),On()]})},An=()=>{if(!Et)return(0,$.jsx)(za,{align:`start`,sideOffset:8,className:`max-w-[320px]`,children:(0,$.jsx)(`div`,{className:`min-w-[200px] typography-meta text-muted-foreground`,children:a(`chat.modelControls.noAgentSelected`)})});let e=!!(Et.prompt&&Et.prompt.trim().length>0),t=Et.model?.providerID&&Et.model?.modelID,n=Et.temperature!==void 0||Et.topP!==void 0,r=e=>{let t=fm(Et.permission)??[],n=t.some(t=>t.permission===e&&t.pattern!==`*`),r=pm(t,e)??`ask`;return n?{mode:`ask`,label:a(`chat.modelControls.permissionLabel.custom`)}:r===`allow`?{mode:`allow`,label:a(`chat.modelControls.permissionLabel.allow`)}:r===`deny`?{mode:`deny`,label:a(`chat.modelControls.permissionLabel.deny`)}:{mode:`ask`,label:a(`chat.modelControls.permissionLabel.ask`)}},i=r(`edit`),o=r(`bash`),s=r(`webfetch`);return(0,$.jsx)(za,{align:`start`,sideOffset:8,className:`max-w-[280px]`,children:(0,$.jsxs)(`div`,{className:`flex min-w-[200px] flex-col gap-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`typography-micro font-semibold text-foreground`,children:xn(Et.name)}),Et.description&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:Et.description})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.mode`)}),(0,$.jsx)(`span`,{className:`typography-meta text-foreground`,children:Et.mode===`primary`?a(`chat.modelControls.modeValue.primary`):Et.mode===`subagent`?a(`chat.modelControls.modeValue.subagent`):Et.mode===`all`?a(`chat.modelControls.modeValue.all`):a(`chat.modelControls.modeValue.none`)})]}),(t||n)&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.model`)}),t?(0,$.jsxs)(`span`,{className:`typography-meta text-foreground`,children:[Et.model.providerID,` / `,Et.model.modelID]}):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a(`chat.modelControls.modeValue.none`)}),n&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5 mt-0.5`,children:[Et.temperature!==void 0&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.temperature`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Et.temperature})]}),Et.topP!==void 0&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.topP`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Et.topP})]})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.permissions`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-16`,children:a(`chat.modelControls.edit`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:i.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground w-12`,children:i.label})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-16`,children:a(`chat.modelControls.bash`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:o.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground w-12`,children:o.label})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-16`,children:a(`chat.modelControls.webFetch`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:s.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground w-12`,children:s.label})]})]})]}),e&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.customPrompt`)}),(0,$.jsx)(X,{name:`checkbox-circle`,className:`size-4 text-foreground`})]})]})})},jn=()=>{let e=bn(),t=le?ta(le):null;return Ie?(0,$.jsx)(`button`,{type:`button`,onClick:h?()=>He(`agent`):void 0,onTouchStart:h?()=>Sn(`agent`):void 0,onTouchEnd:h?Cn:void 0,onTouchCancel:h?Cn:void 0,disabled:!h,className:Y(`model-controls__agent-trigger inline-flex items-center flex-shrink-0 min-w-0 focus:outline-none`,Np,h?`cursor-pointer`:`opacity-60 cursor-not-allowed`),children:h?(0,$.jsx)(Ep,{name:le,label:e,revealed:Nt,avatarSize:Mt,slotClassName:jt,colorVar:t?.var}):(0,$.jsx)(`span`,{className:Y(`inline-flex items-center justify-center`,jt),children:(0,$.jsx)(X,{name:`loader-4`,className:Y(Ot,`flex-shrink-0 animate-spin text-muted-foreground`)})})}):(0,$.jsx)(`div`,{className:`flex items-center gap-2 min-w-0`,children:(0,$.jsxs)(Ba,{delayDuration:600,children:[(0,$.jsxs)(Ka,{open:h&&be,onOpenChange:h?Ue:void 0,onOpenChangeComplete:e=>{e||vt(`agent`)},children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(Xa,{asChild:!0,children:(0,$.jsx)(`div`,{className:Y(`inline-flex cursor-pointer items-center flex-shrink-0 min-w-0`,Np),children:h?(0,$.jsx)(Ep,{name:le,label:e,revealed:Nt,avatarSize:Mt,slotClassName:jt,colorVar:t?.var}):(0,$.jsx)(`span`,{className:Y(`inline-flex items-center justify-center`,jt),children:(0,$.jsx)(X,{name:`loader-4`,className:Y(Ot,`flex-shrink-0 animate-spin text-muted-foreground`)})})})})}),(0,$.jsxs)(Ya,{align:`end`,alignOffset:-40,className:Y(`w-[min(280px,calc(100vw-2rem))] p-0 flex flex-col`,Ce&&dm),onKeyDownCapture:dn,finalFocus:yt,children:[(0,$.jsx)(`div`,{className:`p-1.5 pb-1`,children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(X,{name:`search`,className:`absolute left-2.5 top-1/2 -translate-y-1/2 size-3.5 text-muted-foreground`}),(0,$.jsx)(La,{type:`text`,placeholder:a(`chat.modelControls.searchAgents`),value:xt,onChange:e=>St(e.target.value),onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),xe(!1);return}e.stopPropagation()},className:`pl-8 h-8 typography-meta`})]})}),(0,$.jsx)(ma,{outerClassName:`max-h-[min(400px,calc(100dvh-12rem))] flex-1`,children:(0,$.jsxs)(`div`,{className:`p-1`,children:[!xt.trim()&&Tt&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(so,{className:`typography-meta`,onSelect:()=>cn(Tt),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(X,{name:`arrow-go-back`,className:`size-3.5 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`font-medium`,children:a(`chat.modelControls.resetToDefault`)})]})}),(0,$.jsx)(Ja,{})]}),wt.length===0?(0,$.jsx)(`div`,{className:`px-2 py-4 text-center typography-meta text-muted-foreground`,children:`No agents found`}):wt.map(e=>(0,$.jsx)(so,{className:`typography-meta`,onSelect:()=>cn(e.name),children:(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col gap-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(na,{name:e.name,size:14}),(0,$.jsx)(`span`,{className:`font-medium`,children:xn(e.name)})]}),e.description&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground min-w-0 max-w-full ml-5 break-words`,children:e.description})]})},e.name))]})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-border/40 px-2 py-1.5 typography-micro text-muted-foreground`,children:[(0,$.jsx)(fp,{className:`h-4 min-w-4 rounded-[3px] px-1 text-[10px] font-medium tracking-tight shadow-none`,children:`Tab`}),(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintSwitchAgentLabel`)})]})]})]}),An()]})})},Mn=Y(`@container/model-controls flex items-center min-w-0`,Pe&&`w-full`,e),Nn=jn();return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:Mn,children:(0,$.jsxs)(`div`,{className:Y(`flex items-center min-w-0 flex-1 justify-end`,At,Pe&&`overflow-hidden`),children:[Nn,kn()]})}),En(),Dn(),wn(),Tn()]})},km=[{key:`M`,labelKey:`chat.leaderKey.action.model`},{key:`A`,labelKey:`chat.leaderKey.action.agent`},{key:`N`,labelKey:`chat.leaderKey.action.newSession`},{key:`C`,labelKey:`chat.leaderKey.action.compact`}],Am=e=>{let t=(0,Q.c)(16),{className:n}=e,{t:r}=ot(),i=xl(jm),a=c(Mm),o;t[0]===a?o=t[1]:(o=qa(Qa(`leader_key`,a)||`ctrl+x`),t[0]=a,t[1]=o);let s=o;if(!i)return null;let l;t[2]===r?l=t[3]:(l=r(`chat.leaderKey.pendingAria`),t[2]=r,t[3]=l);let u;t[4]===n?u=t[5]:(u=Y(`pointer-events-none absolute left-1/2 top-0 z-20 -translate-x-1/2 -translate-y-[calc(100%+0.4rem)]`,`inline-flex max-w-[calc(100cqw-1rem)] items-center gap-2 overflow-x-auto rounded-lg border px-2.5 py-1.5`,`border-[var(--interactive-border)] bg-[var(--surface-elevated)] text-[var(--surface-elevated-foreground)]`,`shadow-sm animate-in fade-in-0 zoom-in-95 duration-150 whitespace-nowrap`,n),t[4]=n,t[5]=u);let d;t[6]===s?d=t[7]:(d=(0,$.jsx)(pp,{shortcut:s,className:`opacity-[0.35] [&_[data-slot=kbd]]:rounded-md [&_[data-slot=kbd]]:border-0 [&_[data-slot=kbd]]:bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] [&_[data-slot=kbd]]:text-muted-foreground/65 [&_[data-slot=kbd]]:shadow-none`}),t[6]=s,t[7]=d);let f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:`typography-micro text-[var(--surface-muted-foreground)]`,children:`·`}),t[8]=f):f=t[8];let p;t[9]===r?p=t[10]:(p=km.map((e,t)=>(0,$.jsxs)(Z.Fragment,{children:[t>0?(0,$.jsx)(`span`,{className:`typography-micro text-[var(--surface-muted-foreground)]`,children:`·`}):null,(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 typography-micro`,children:[(0,$.jsx)(fp,{className:`rounded-md border-0 bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] text-muted-foreground/65 shadow-none`,children:e.key}),(0,$.jsx)(`span`,{className:`text-[var(--surface-muted-foreground)]`,children:r(e.labelKey)})]})]},e.key)),t[9]=r,t[10]=p);let m;return t[11]!==l||t[12]!==u||t[13]!==d||t[14]!==p?(m=(0,$.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-label":l,className:u,children:[d,f,p]}),t[11]=l,t[12]=u,t[13]=d,t[14]=p,t[15]=m):m=t[15],m};function jm(e){return e.pending}function Mm(e){return e.shortcutOverrides}var Nm=28,Pm=8,Fm=10.5,Im=Math.PI/2,Lm=e=>Array.from({length:Pm},(t,n)=>{let r=n/Pm*Math.PI*2-Math.PI/2+e;return[Math.cos(r)*Fm,Math.sin(r)*Fm]}),Rm=[Lm(0),Lm(Im),Lm(Math.PI),Lm(Math.PI*1.5)],zm=([e,t])=>`${e.toFixed(1)}px, ${t.toFixed(1)}px`,Bm=e=>{let t=(0,Q.c)(9),{size:n,isMobile:r,className:i}=e,a=n??(r!==void 0&&r?12:14),o;t[0]===i?o=t[1]:(o=Y(`oc-morph-orb-glyph shrink-0`,i),t[0]=i,t[1]=o);let s=a/Nm,c;t[2]!==a||t[3]!==s?(c={width:a,height:a,"--orb-k":s},t[2]=a,t[3]=s,t[4]=c):c=t[4];let l=c,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`span`,{className:`oc-morph-orb-stage`,children:Rm[0].map(Vm)}),t[5]=u):u=t[5];let d;return t[6]!==o||t[7]!==l?(d=(0,$.jsx)(`span`,{className:o,style:l,"aria-hidden":`true`,children:u}),t[6]=o,t[7]=l,t[8]=d):d=t[8],d};function Vm(e,t){return(0,$.jsx)(`span`,{className:`oc-morph-orb-dot`,style:{"--m-1":zm(Rm[0][t]),"--m-2":zm(Rm[1][t]),"--m-3":zm(Rm[2][t]),"--m-4":zm(Rm[3][t])}},t)}var Hm=1200,Um=1e9,Wm=0xe8d4a51000,Gm=e=>e>=Wm?e:e>=Um?e*1e3:Date.now()+e;function Km({isWorking:e,isMobile:t,statusText:n,isGenericStatus:r,isWaitingForPermission:i,retryInfo:a,turnStartedAt:o}){let{locale:s,t:c}=ot(),[l,u]=Z.useState(null),[d,f]=Z.useState(!1),p=Z.useRef(l),m=Z.useRef(d),h=Z.useRef(!1);p.current=l,m.current=d;let g=Z.useRef(0),_=Z.useRef(null),v=Z.useRef(null),[y,b]=Z.useState(null),[x,S]=Z.useState(()=>Date.now());Z.useEffect(()=>{if(!e||typeof o!=`number`||a)return;S(Date.now());let t=window.setInterval(()=>S(Date.now()),1e3);return()=>window.clearInterval(t)},[e,o,a]),Z.useEffect(()=>{let e=a?.next;if(!e||e<=0){b(null);return}let t=Gm(e),n=()=>{let e=Math.max(0,t-Date.now());b(Math.ceil(e/1e3))};n();let r=setInterval(n,500);return()=>clearInterval(r)},[a?.next,a?.attempt]);let C=q(()=>{v.current&&=(clearTimeout(v.current),null)}),w=q((e,t,n=!1)=>{C(),_.current=null,u(e),f(t),h.current=n,g.current=Date.now()}),T=q(()=>{if(v.current)return;let e=Date.now()-g.current,t=Math.max(0,Hm-e);v.current=setTimeout(()=>{v.current=null;let e=_.current;e&&w(e.text,e.permission,e.generic)},t)});if(Z.useEffect(()=>{if(!e){C(),_.current=null,u(null),f(!1),h.current=!1;return}if(a){C(),_.current=null;return}let t=i?c(`chat.assistantStatus.waitingForPermission`):n,o=!!i,s=!!r&&!o;if(t){if(!p.current){w(t,o,s);return}if((t!==p.current||o!==m.current)&&!(s&&h.current)){if(Date.now()-g.current>=Hm){w(t,o,s);return}_.current={text:t,permission:o,generic:s},T()}}},[e,n,r,i,a,c]),Z.useEffect(()=>()=>C(),[]),!e)return null;if(a){let e=y!==null&&y>0?new Intl.RelativeTimeFormat(s,{numeric:`always`,style:`short`}).format(y,`second`):null,n=e?a.attempt&&a.attempt>1?c(`chat.assistantStatus.retryingInAttempt`,{duration:e,attempt:a.attempt}):c(`chat.assistantStatus.retryingIn`,{duration:e}):a.attempt&&a.attempt>1?c(`chat.assistantStatus.retryingAttempt`,{attempt:a.attempt}):c(`chat.assistantStatus.retrying`);return(0,$.jsx)(`div`,{className:`flex h-full items-center text-muted-foreground`,role:`status`,"aria-live":`polite`,"aria-label":n,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center ${t?`gap-1 typography-meta !text-[length:var(--text-meta)]`:`gap-1.5 typography-ui-header`}`,children:[(0,$.jsx)(`span`,{className:`inline-flex flex-none items-center justify-center ${t?`h-5 w-4`:`h-6 w-3.5`}`,children:(0,$.jsx)(Bm,{isMobile:t})}),(0,$.jsx)(`span`,{className:`animate-text-shimmer min-w-0 truncate whitespace-nowrap`,children:n})]})})}if(!l)return null;let E=l,D=typeof o==`number`?pt(Math.max(0,x-o)):null;return(0,$.jsx)(`div`,{className:`flex h-full items-center text-muted-foreground`,role:`status`,"aria-live":d?`assertive`:`polite`,"aria-label":E,"data-waiting":d?`true`:void 0,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center ${t?`gap-1 typography-meta !text-[length:var(--text-meta)]`:`gap-1.5 typography-ui-header`}`,children:[(0,$.jsx)(`span`,{className:`inline-flex flex-none items-center justify-center ${t?`h-5 w-4`:`h-6 w-3.5`}`,children:(0,$.jsx)(Bm,{isMobile:t})}),(0,$.jsx)(`span`,{className:`animate-text-shimmer min-w-0 truncate whitespace-nowrap`,children:E}),D?(0,$.jsx)(`span`,{className:`typography-meta shrink-0 font-light text-muted-foreground/70 tabular-nums`,"aria-hidden":`true`,children:D}):null]})})}var qm={compose:!0,mutateSession:!0,answerRequests:!0,openTimeline:!0,navigateNestedSession:!0,textSelectionActions:!0,forkSession:!0},Jm={compose:!1,mutateSession:!1,answerRequests:!1,openTimeline:!1,navigateNestedSession:!0,textSelectionActions:!1,forkSession:!1},Ym={kind:`primary`,surfaceId:`primary`,sessionId:null,directory:null,active:!0,capabilities:qm},Xm=e=>({kind:`primary`,surfaceId:`explicit:${e.viewKey}`,sessionId:e.sessionId,directory:e.directory,active:e.active,capabilities:e.active?qm:Jm}),Zm=Z.createContext(Ym),Qm=()=>Z.useContext(Zm),$m=e=>({fork:e.capabilities.forkSession,revert:e.capabilities.mutateSession,edit:e.capabilities.mutateSession,reviewTransfer:e.capabilities.mutateSession,timeline:e.capabilities.openTimeline,textSelectionMutation:e.capabilities.textSelectionActions,openSourceSession:!!e.openSourceSession}),eh=(e,t,n,r)=>e.capabilities.navigateNestedSession?e.navigateSession?(e.navigateSession(t,n),!0):e.kind===`primary`&&(r(),!0):!1,th={containerType:`inline-size`,containerName:`status-row`},nh=[],rh=e=>{let t=(0,Q.c)(93),{isWorking:n,statusText:r,isGenericStatus:i,isWaitingForPermission:a,wasAborted:o,abortActive:s,retryInfo:l,turnStartedAt:u,showAbortStatus:f,showAbortPrompt:p,showAssistantStatus:m,showTodos:h,agentName:g,leftAccessory:_}=e,v=n!==void 0&&n,y=r===void 0?null:r,b=p!==void 0&&p,x=m===void 0||m,S=h===void 0||h,{t:C}=ot(),[w,T]=Z.useState(!1),E=Qm(),D=J(ih),O=E.sessionId??D,k;t[0]!==O||t[1]!==S?(k=e=>!S||!O?nh:e.todo[O]??nh,t[0]=O,t[1]=S,t[2]=k):k=t[2];let A=Yn(k,E.directory??void 0),j;t[3]!==O||t[4]!==S?(j=e=>S&&O?e.sessions[O]?.todos:void 0,t[3]=O,t[4]=S,t[5]=j):j=t[5];let M=vi(j),N;bb0:{if(!O){N=nh;break bb0}if(A.length>0){N=A;break bb0}N=M??nh}let P=N,F=c(ah),I;t[6]===F?I=t[7]:(I=F||d(),t[6]=F,t[7]=I);let L=I,R;t[8]===P?R=t[9]:(R=P.filter(oh),t[8]=P,t[9]=R);let z=R,B;t[10]===z?B=t[11]:(B=z.find(sh)||z.find(ch)||null,t[10]=z,t[11]=B);let V=B,H;t[12]===z?H=t[13]:(H=z.find(lh)??null,t[12]=z,t[13]=H);let U=H,W;t[14]===P?W=t[15]:(W=P.filter(uh),t[14]=P,t[15]=W);let ee=W.length,G;t[16]===P?G=t[17]:(G=P.filter(dh),t[16]=P,t[17]=G);let K=G.length,te;t[18]!==K||t[19]!==ee?(te={completed:K,total:ee},t[18]=K,t[19]=ee,t[20]=te):te=t[20];let ne=te,re;t[21]===z?re=t[22]:(re=z.filter(fh),t[21]=z,t[22]=re);let ie=re.length,ae;t[23]===z?ae=t[24]:(ae=z.filter(ph),t[23]=z,t[24]=ae);let oe=ae.length,se;t[25]!==ie||t[26]!==oe?(se={active:ie,left:oe},t[25]=ie,t[26]=oe,t[27]=se):se=t[27];let ce=se,le=S&&ce.left>0,ue=!!b,de=x&&(v||!!o||!!f),fe=!!_,pe=!f&&!ue&&(o||!s),me=ue||de||le||fe,he=Z.useRef(null),ge=Z.useRef(null),_e=Z.useRef(null),ve,ye;t[28]===w?(ve=t[29],ye=t[30]):(ve=()=>{let e=ge.current,t=_e.current;if(!w||!e||!t)return;let n=t.offsetTop-e.offsetTop-(e.clientHeight-t.offsetHeight)/2,r=e.scrollHeight-e.clientHeight;e.scrollTop=Math.min(r,Math.max(0,n))},ye=[w],t[28]=w,t[29]=ve,t[30]=ye),Z.useLayoutEffect(ve,ye);let be,xe;t[31]===w?(be=t[32],xe=t[33]):(be=()=>{if(!w)return;let e=e=>{he.current&&!he.current.contains(e.target)&&T(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},xe=[w],t[31]=w,t[32]=be,t[33]=xe),Z.useEffect(be,xe);let Se;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(Se=()=>T(mh),t[34]=Se):Se=t[34];let Ce=q(Se),we;t[35]!==ce.active||t[36]!==ce.left||t[37]!==C?(we=C(`chat.statusRow.summary.activeLeft`,{active:ce.active,left:ce.left}),t[35]=ce.active,t[36]=ce.left,t[37]=C,t[38]=we):we=t[38];let Te=we,Ee;t[39]!==V||t[40]!==le||t[41]!==L||t[42]!==w||t[43]!==ne||t[44]!==C||t[45]!==Te||t[46]!==Ce?(Ee=le?(0,$.jsxs)(`button`,{type:`button`,onClick:Ce,className:Y(Gs,`shrink-0`),"aria-label":Te,title:Te,children:[(0,$.jsx)(X,{name:`list-check-3`,className:Js}),!L&&V?(0,$.jsx)(`span`,{className:Y(`status-row__active-todo max-w-[200px]`,ic),children:V.content}):(0,$.jsx)(`span`,{className:`text-xs leading-4 md:text-[0.8125rem] md:leading-5`,children:C(`chat.statusRow.tasksTitle`)}),(0,$.jsxs)(`span`,{className:Us,"aria-hidden":`true`,children:[ne.completed,`/`,ne.total]}),w?(0,$.jsx)(X,{name:`arrow-up-s`,className:Js}):(0,$.jsx)(X,{name:`arrow-down-s`,className:Js})]}):null,t[39]=V,t[40]=le,t[41]=L,t[42]=w,t[43]=ne,t[44]=C,t[45]=Te,t[46]=Ce,t[47]=Ee):Ee=t[47];let De=Ee;if(!me)return null;let Oe=!fe&&`chat-column`,ke;t[48]===Oe?ke=t[49]:(ke=Y(`mb-1`,Oe),t[48]=Oe,t[49]=ke);let Ae=fe&&`px-3`,je;t[50]===Ae?je=t[51]:(je=Y(`flex items-center justify-between py-0.5 gap-2 h-[1.2rem]`,Ae),t[50]=Ae,t[51]=je);let Me=!fe&&`overflow-x-hidden`,Ne;t[52]===Me?Ne=t[53]:(Ne=Y(`flex-1 flex items-center min-w-0 gap-2`,Me),t[52]=Me,t[53]=Ne);let Pe;t[54]!==g||t[55]!==O||t[56]!==ue||t[57]!==i||t[58]!==F||t[59]!==a||t[60]!==v||t[61]!==_||t[62]!==l||t[63]!==pe||t[64]!==f||t[65]!==x||t[66]!==y||t[67]!==C||t[68]!==u?(Pe=ue?(0,$.jsx)(`div`,{className:`flex min-w-0 items-center text-muted-foreground`,role:`status`,"aria-live":`polite`,"aria-label":C(`chat.statusRow.abortPrompt`),children:(0,$.jsxs)(`span`,{className:Y(`flex min-w-0 items-center typography-ui-label`,F?`gap-1`:`gap-1.5`),children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center`,F?`h-5 w-4`:`h-6 w-3.5`),children:(0,$.jsx)(X,{name:`error-warning`,className:`size-3.5`,"aria-hidden":`true`})}),(0,$.jsx)(`span`,{className:`animate-text-shimmer truncate whitespace-nowrap`,children:C(`chat.statusRow.abortPrompt`)})]})}):x&&f?(0,$.jsx)(`div`,{className:`flex h-full items-center text-[var(--status-error)]`,children:(0,$.jsxs)(`span`,{className:Y(`flex items-center typography-ui-label`,F?`gap-1`:`gap-1.5`),children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center`,F?`h-5 w-4`:`h-6 w-3.5`),children:(0,$.jsx)(X,{name:`close-circle`,className:`size-3.5`,"aria-hidden":`true`})}),C(`chat.statusRow.aborted`)]})}):x&&pe?(0,$.jsx)(Km,{isWorking:v,isMobile:F,statusText:y,isGenericStatus:i,isWaitingForPermission:a,retryInfo:l,turnStartedAt:u,agentName:g},O??`no-session`):_||null,t[54]=g,t[55]=O,t[56]=ue,t[57]=i,t[58]=F,t[59]=a,t[60]=v,t[61]=_,t[62]=l,t[63]=pe,t[64]=f,t[65]=x,t[66]=y,t[67]=C,t[68]=u,t[69]=Pe):Pe=t[69];let Fe;t[70]!==Ne||t[71]!==Pe?(Fe=(0,$.jsx)(`div`,{className:Ne,children:Pe}),t[70]=Ne,t[71]=Pe,t[72]=Fe):Fe=t[72];let Ie=!fe&&`-mr-3`,Le;t[73]===Ie?Le=t[74]:(Le=Y(`relative flex items-center gap-2 flex-shrink-0`,Ie),t[73]=Ie,t[74]=Le);let Re;t[75]!==U||t[76]!==le||t[77]!==w||t[78]!==ne||t[79]!==C||t[80]!==z?(Re=w&&le&&(0,$.jsxs)(`div`,{style:Ks,className:Y(Qs,`absolute right-0 bottom-full mb-1 z-50`,`animate-in fade-in-0 zoom-in-95 slide-in-from-bottom-2`,`duration-150`),children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--surface-subtle)] px-3 py-2.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium leading-4 text-foreground md:text-[0.8125rem] md:leading-5`,children:C(`chat.statusRow.tasksTitle`)}),(0,$.jsxs)(`span`,{className:`text-xs tabular-nums leading-4 text-muted-foreground md:text-[0.8125rem] md:leading-5`,children:[ne.completed,`/`,ne.total]})]}),(0,$.jsx)(`ul`,{ref:ge,className:dc,children:z.map((e,t)=>(0,$.jsx)(pc,{todo:e,isActive:e===U,activeRef:e===U?_e:void 0},e.id??`todo-${t}`))})]}),t[75]=U,t[76]=le,t[77]=w,t[78]=ne,t[79]=C,t[80]=z,t[81]=Re):Re=t[81];let ze;t[82]!==Le||t[83]!==Re||t[84]!==De?(ze=(0,$.jsxs)(`div`,{className:Le,ref:he,children:[De,Re]}),t[82]=Le,t[83]=Re,t[84]=De,t[85]=ze):ze=t[85];let Be;t[86]!==je||t[87]!==Fe||t[88]!==ze?(Be=(0,$.jsxs)(`div`,{className:je,children:[Fe,ze]}),t[86]=je,t[87]=Fe,t[88]=ze,t[89]=Be):Be=t[89];let Ve;return t[90]!==ke||t[91]!==Be?(Ve=(0,$.jsx)(`div`,{className:ke,style:th,children:Be}),t[90]=ke,t[91]=Be,t[92]=Ve):Ve=t[92],Ve};function ih(e){return e.currentSessionId}function ah(e){return e.isMobile}function oh(e){return e.status!==`cancelled`}function sh(e){return e.status===`in_progress`}function ch(e){return e.status===`pending`}function lh(e){return e.status===`in_progress`}function uh(e){return e.status!==`cancelled`}function dh(e){return e.status===`completed`}function fh(e){return e.status===`in_progress`}function ph(e){return e.status===`in_progress`||e.status===`pending`}function mh(e){return!e}var hh=Z.createContext(null),gh=e=>{let t=(0,Q.c)(3),{actions:n,children:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(hh.Provider,{value:n,children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},_h=()=>Z.useContext(hh),vh=new Set([`edit`,`multiedit`,`write`,`apply_patch`,`create`,`file_write`]),yh=e=>`insertions`in e,bh=e=>{if(typeof e==`number`&&Number.isFinite(e))return Math.max(0,Math.trunc(e))},xh=e=>{let t=0,n=0;for(let r of e.split(`
6521
- `))r.startsWith(`+`)&&!r.startsWith(`+++`)&&t++,r.startsWith(`-`)&&!r.startsWith(`---`)&&n++;return{added:t,removed:n}},Sh=e=>{let t=[],n=new Set;for(let r of e){if(r.type!==`tool`||!vh.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:bh(i.additions)??void 0,deletions:bh(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:bh(e.additions)??void 0,deletions:bh(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:bh(i.additions)??void 0,deletions:bh(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=xh(e);t.push({path:`Diff`,tool:r.tool,partId:r.id,messageID:r.messageID,additions:i.added,deletions:i.removed})}}}return t},Ch=(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:bo(n,i.path),relativePath:i.path,insertions:l?.insertions??0,deletions:l?.deletions??0,status:c,hasStagedChanges:o,hasWorkingChanges:s})}return r},wh=e=>{for(let t of e){let e=t.index?.trim()??``,n=(t.working_dir?.trim()??``)||e;if(!(!n||n===`!`))return!0}return!1},Th=(e,t)=>yo(e,t),Eh=(e,t)=>{let n=yh(e)&&e.relativePath?e.relativePath:Th(e.path,t);return{fileName:n.split(`/`).pop()??n,dirPart:n.includes(`/`)?n.slice(0,n.lastIndexOf(`/`)):``}},Dh=e=>yh(e)?{additions:e.insertions,deletions:e.deletions}:{additions:e.additions??0,deletions:e.deletions??0},Oh=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:Ws,children:o}),t[2]=o,t[3]=s);let c;t[4]===n.length?c=t[5]:(c=(0,$.jsx)(`span`,{className:Ys,children:n.length}),t[4]=n.length,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,$.jsxs)(`div`,{className:fc,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}=Eh(e,r),s=Dh(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`,Xs),title:a(`chat.changedFiles.actions.openFileTitle`,{path:e.path}),onClick:()=>i(e),children:[(0,$.jsx)(Au,{filePath:e.path,className:`h-3 w-3 shrink-0 md:h-3.5 md:w-3.5`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 flex items-baseline overflow-hidden`,title:e.path,children:o?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,style:{direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:o}),(0,$.jsxs)(`span`,{className:`flex-shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`/`}),(0,$.jsx)(`span`,{className:`text-foreground`,children:n})]})]}):(0,$.jsx)(`span`,{className:`truncate text-foreground`,children:n})}),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:dc,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},kh=`${Qs} origin-[var(--transform-origin)]`,Ah=Ks,jh=Z.memo(()=>{let e=(0,Q.c)(60),{t}=ot(),[n,r]=Z.useState(!1),i=Z.useRef(null),a=os()??null,o=Z.useContext(Ao),s=Hs(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=Es(l),d=_h(),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||s!==!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=Ch(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||s!==!0||h.length===0)return null;let x;e[18]!==a||e[19]!==d||e[20]!==o?.editor?(x=e=>{if(!a||!yh(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=c.getState(),s=e.hasStagedChanges&&!e.hasWorkingChanges;if(!i.isMobile){i.openContextDiff(a,e.relativePath,s);return}i.navigateToDiff(e.relativePath,s),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(Gs,`max-w-full text-left`),D=()=>r(Mh),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:Js}),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(Us,`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:Js}):(0,$.jsx)(X,{name:`arrow-down-s`,className:Js}),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:Ah,className:Y(kh,`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)(Oh,{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});jh.displayName=`PendingChangesBar`;function Mh(e){return!e}var Nh=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)(da,{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}),Ph=Z.createContext(`default`),Fh=()=>Z.useContext(Ph),Ih=500,Lh=e=>{let t=(0,Q.c)(30),{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=Bt(l,d),t[2]=l,t[3]=d,t[4]=f):f=t[4];let p=f,m=Dp(d),h;t[5]===d?h=t[6]:(h=ta(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()},Ih))},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`,Np,i),t[16]=i,t[17]=D);let O;t[18]!==g.var||t[19]!==p||t[20]!==d||t[21]!==m?(O=(0,$.jsx)(Ep,{name:d,label:p,revealed:m,avatarSize:16,slotClassName:`h-6 w-6`,colorVar:g.var}),t[18]=g.var,t[19]=p,t[20]=d,t[21]=m,t[22]=O):O=t[22];let k;return t[23]!==p||t[24]!==u||t[25]!==b||t[26]!==S||t[27]!==D||t[28]!==O?(k=(0,$.jsx)(`button`,{type:`button`,disabled:u,onPointerDown:b,onPointerUp:S,onPointerLeave:w,onContextMenu:Rh,onMouseDown:zh,className:D,title:p,"aria-label":p,children:O}),t[23]=p,t[24]=u,t[25]=b,t[26]=S,t[27]=D,t[28]=O,t[29]=k):k=t[29],k};function Rh(e){return e.preventDefault()}function zh(e){return e.preventDefault()}var Bh=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=mi(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()?Xn(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)(Oa,{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:Vh,onPointerDownCapture:Hh,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 Vh(e){return e.preventDefault()}function Hh(e){e.preventDefault()}var Uh={phase:`idle`,isWorking:!1,isBusy:!1,isCooldown:!1};function Wh(e,t){let n=(0,Q.c)(3),r=mr(e??``,t),i=ui(e??``,t),a=Er(e??``,t),o=yi(e??``,t),s=Wr(e??``,t),c=wi(t),l;bb0:{if(!e){l=Uh;break bb0}if(o.length>0||s.length>0){l=Uh;break bb0}let t=r?.type??`idle`,u=a[a.length-1],d=!!(u&&u.role===`assistant`&&typeof u.time?.completed!=`number`),f=u?.time?.created,p=!!(d&&typeof c==`number`&&typeof f==`number`&&f<=c),m=r!==void 0,h=m&&t!==`idle`,g=h||d&&!p;if(m&&!h&&(!d||m&&!h&&typeof i==`number`&&typeof f==`number`&&f<=i)){l=Uh;break bb0}if(!g){l=Uh;break bb0}let _=h?t:`busy`,v=t===`busy`||!h&&d,y;n[0]!==_||n[1]!==v?(y={phase:_,isWorking:!0,isBusy:v,isCooldown:!1},n[0]=_,n[1]=v,n[2]=y):y=n[2],l=y}return l}var Gh=e=>e.nativeEvent.isComposing||e.nativeEvent.keyCode===229;function Kh(e){let t=(0,Q.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`path`,{d:`M200,40H56A16,16,0,0,0,40,56V200a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Z`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=(0,$.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,fill:`currentColor`,viewBox:`0 0 256 256`,...e,children:n}),t[1]=e,t[2]=r),r}var qh=e=>!(!e.sessionId||e.composerSurfaceKind===`secondary`||e.hasSessionEntity||e.hasRenderableSessionSnapshot),Jh=e=>{let t=e.isSubagentSession&&!e.allowPromptingSubagentSessions;return{showReadOnlyBanner:e.isSubagentSession&&(e.readOnly||t),blockSubmission:e.sessionIdentityPending}},Yh=(e,t)=>({agentName:t.agentName??e?.agentName,providerId:t.providerId??e?.providerId,modelId:t.modelId??e?.modelId}),Xh=(e,t)=>e.id===t.id&&e.directory===t.directory,Zh=(e,t)=>e.agentName===t.agentName&&e.providerId===t.providerId&&e.modelId===t.modelId,Qh=(e,t,n,r)=>{if(!t)return null;let i=n??(e?.viewKey===t?e.parentTarget:null);if(!i)return null;let a=Yh(e?.viewKey===t?e.execution:void 0,r);return e&&e.viewKey===t&&Xh(e.parentTarget,i)&&Zh(e.execution,a)?e:{viewKey:t,parentTarget:i,execution:a}},$h=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`}},eg=`data-mobile-overlay-active`,tg=e=>Array.from(e).some(e=>e.getAttribute(eg)!==`false`),ng=`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(`.`),rg=`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 ig(){return`${ng[Math.floor(Math.random()*ng.length)]}-${rg[Math.floor(Math.random()*rg.length)]}`}function ag(e){let t=ig();return e&&e.trim()?`${e.trim().replace(/\/+$/,``)}/${t}`:t}var og=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||e,sg=e=>({agentName:e.currentAgentName,providerId:e.currentProviderId,modelId:e.currentModelId,variant:e.currentVariant}),cg=(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))},lg=async(e,t)=>{await un(e)&&await Dr(t)},ug=e=>{let t=og(e),n=Hi.getState().projects;if(n.length===0)return null;let r=Hi.getState().getActiveProject();if(r?.path){let e=og(r.path);if(t===e||t.startsWith(`${e}/`))return{id:r.id,path:r.path}}let i=n.filter(e=>{let n=og(e.path);return t===n||t.startsWith(`${n}/`)}).sort((e,t)=>og(t.path).length-og(e.path).length)[0];return i?{id:i.id,path:i.path}:null},dg=!1,fg=async(e,t)=>{try{let n=Hi.getState().projects.find(e=>e.id===t.id)??Hi.getState().projects.find(e=>og(e.path)===og(t.path)),r=_i(t.path);await Hr.getState().activateDirectory(t.path,{source:`worktreeSessionCreator`});let i=Hr.getState();if(i.activeDirectoryKey!==r||i.providers.length===0||i.agents.length===0)return;i.applyDefaultModelAgentSelection({projectDefaultModel:n?.defaultModel??void 0}),cg(e,sg(Hr.getState()),Un.getState())}catch{}},pg=async(e,t,n)=>{let r=J.getState(),i=Hr.getState();r.initializeNewOpenChamberSession(e,i.agents),r.setSessionDirectory(e,t.path),r.setWorktreeMetadata(e,t),await fg(e,n),Te.getState().setDirectory(t.path,{showOverlay:!1})},mg=e=>e.trim().replace(/^remotes\//,``).replace(/[^A-Za-z0-9._/-]+/g,`-`).replace(/\/+/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``)||`worktree`,hg=async e=>{if(dg)return null;let t=Hi.getState().getActiveProject(),n=e?.projectDirectory?.trim()||t?.path;if(!n)return Ii.error(`No active project`,{description:`Please select a project first.`}),null;let r=ug(n)??(t?.path?{id:t.id,path:t.path}:null);if(!r)return Ii.error(`No active project`,{description:`Please select a project first.`}),null;let i=!1;try{i=await pa(r.path)}catch{}if(!i)return Ii.error(`Not a Git repository`,{description:`Worktrees can only be created in Git repositories.`}),null;dg=!0;try{let t=Oi(),n=e?.existingBranch?.trim().replace(/^remotes\//,``)||``,i=n?mg(n):ag(),a=n?`existing`:`new`,o=J.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 fa(r.path,{mode:a,...a===`new`?{branchName:i,worktreeName:i}:{existingBranch:n,worktreeName:i}}).catch(()=>null);s?.path&&(J.getState().overrideNewSessionDraftTarget({projectId:r.id,directoryOverride:s.path,pendingWorktreeRequestId:t,bootstrapPendingDirectory:s.path,preserveDirectoryOverride:!0,title:e?.title,initialPrompt:e?.initialPrompt}),Te.getState().setDirectory(s.path,{showOverlay:!1}));let c=await Xt(r),l=await Ds(r,{preferredName:i,mode:a,worktreeName:i,setupCommands:c,returnAfterDirectoryCreated:!0,...a===`new`?{branchName:i}:{existingBranch:n}});return xi(t,l.path),J.getState().overrideNewSessionDraftTarget({projectId:r.id,directoryOverride:l.path,pendingWorktreeRequestId:null,bootstrapPendingDirectory:l.path,preserveDirectoryOverride:!0,title:e?.title,initialPrompt:e?.initialPrompt}),Te.getState().setDirectory(l.path,{showOverlay:!1}),l.path}catch(e){let t=e instanceof Error?e.message:`Failed to create worktree`,n=J.getState().newSessionDraft.pendingWorktreeRequestId;return n&&(si(n,e instanceof Error?e:Error(t)),J.getState().resolvePendingDraftWorktreeTarget(n,null)),J.getState().setDraftBootstrapPendingDirectory(null),Ii.error(`Failed to create worktree`,{description:t}),null}finally{dg=!1}};async function gg(){return hg()}async function _g(e){let t=e.branch?.trim();return t?hg({existingBranch:t,projectDirectory:e.projectDirectory,initialPrompt:e.initialPrompt,title:e.title}):null}async function vg(e,t,n,r){if(dg)return null;dg=!0;try{let i=n?.trim()||`HEAD`,a=t?.trim();if(!a)throw Error(`Branch name is required`);let o=r?.kind??`standard`,s=ug(e);if(!s)throw Error(`Project is not registered in OpenChamber`);let c=!1;try{c=await pa(s.path)}catch{}if(!c)return Ii.error(`Not a Git repository`,{description:`Worktrees can only be created in Git repositories.`}),null;let l=await Xt(s),u=await ja(s.path);try{let e=await Ds(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 lg(s,e.path);let n=await J.getState().createSession(void 0,e.path);if(!n)throw await Na(s,e,{deleteLocalBranch:!0}).catch(()=>void 0),Error(`Could not create a session for the worktree.`);return await pg(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 Ii.error(`Failed to create worktree`,{description:t}),null}}finally{dg=!1}}var yg=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},bg=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 xg({open:e,onOpenChange:t,mode:n=`createSession`,onSelect:r}){let{t:i}=ot(),{github:a}=ko(),o=ro(),s=o.data??null,l=o.isFetched,u=c(e=>e.setSettingsDialogOpen),d=c(e=>e.setSettingsPage),f=c(e=>e.isMobile),{isTablet:p}=mo(),m=f||p,h=Hi(e=>e.getActiveProject()),g=Te(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(()=>yg(v),[v]),E=xs(v,350),D=T?``:E.trim(),O=!!T||v===E,k=e&&O&&!!_&&!!a?.issuesList&&!(l&&s?.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);Ii.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||s?.connected!==!1&&j?.connected!==!1,V=j?.repo?.url??null,H=Z.useCallback(()=>{d(`github`),u(!0)},[u,d]),U=Z.useCallback(()=>{let e=Hr.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=Hr.getState(),t=e.settingsDefaultModel;if(!t)return null;let n=Qi(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=Hr.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(!_){Ii.error(i(`session.githubIssuePicker.error.noActiveProject`));return}if(!a?.issueGet||!a?.issueComments){Ii.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){Ii.error(i(`session.githubIssuePicker.error.notConnected`));return}if(!n.repo){Ii.error(i(`session.githubIssuePicker.error.repoNotResolvable`),{description:i(`session.githubIssuePicker.error.repoMustBeGithub`)});return}let s=n.issue;if(!s){Ii.error(i(`session.githubIssuePicker.error.issueNotFound`));return}let l=await a.issueComments(_,e,{sourceRepo:o});if(!c())return;if(l.connected===!1){Ii.error(i(`session.githubIssuePicker.error.notConnected`));return}let u=l.comments??[],d=bg({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);Ii.error(i(`session.githubIssuePicker.toast.loadIssueDetailsFailed`),{description:t})}finally{c()&&C(null)}return}if(!_){Ii.error(i(`session.githubIssuePicker.error.noActiveProject`));return}if(!a?.issueGet||!a?.issueComments){Ii.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){Ii.error(i(`session.githubIssuePicker.error.notConnected`));return}if(!n.repo){Ii.error(i(`session.githubIssuePicker.error.repoNotResolvable`),{description:i(`session.githubIssuePicker.error.repoMustBeGithub`)});return}let r=n.issue;if(!r){Ii.error(i(`session.githubIssuePicker.error.issueNotFound`));return}let s=await a.issueComments(_,e,{sourceRepo:o});if(!c())return;if(s.connected===!1){Ii.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}-${ig()}`,t=await vg(_,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 Jn(u,_,null);if(!e?.id)throw Error(`Failed to create session`);return{sessionId:e.id,sessionDirectory:e.directory??_}})();if(!c())return;Tr(d,u).catch(()=>void 0);try{J.getState().initializeNewOpenChamberSession(d,Hr.getState().agents)}catch{}t(!1);let f=Hr.getState(),p=Un.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){Ii.error(i(`session.githubIssuePicker.error.noModelSelected`));return}let y=ee(h,g),x=await tr(`github.issue.review.visible`,{issue_number:String(r.number)});if(!c())return;let S=await tr(`github.issue.review.instructions`);if(!c())return;let C=bg({repo:n.repo,issue:r,comments:l});J.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);Ii.error(i(`session.githubIssuePicker.toast.sendContextFailed`),{description:t})}),Ii.success(i(`session.githubIssuePicker.toast.sessionCreated`))}catch(e){if(!c())return;let t=e instanceof Error?e.message:String(e);Ii.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`),te=i(n===`select`?`session.githubIssuePicker.description.select`:`session.githubIssuePicker.description.createSession`),ne=(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)(La,{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)(da,{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)(da,{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)(da,{variant:`outline`,size:`sm`,onClick:R,disabled:P||!!S,children:i(`session.githubIssuePicker.actions.refresh`)})]})]})]})]});return f?(0,$.jsx)(Cp,{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:te})]}),children:ne}):(0,$.jsx)(ua,{open:e,onOpenChange:t,children:(0,$.jsxs)(oa,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsxs)(ia,{className:`flex-shrink-0`,children:[(0,$.jsxs)(sa,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`github`,className:`h-5 w-5`}),K]}),(0,$.jsx)(ca,{children:te})]}),ne]})})}var Sg=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},Cg=e=>`GitHub pull request context (JSON)\n${JSON.stringify(e,null,2)}`;function wg({open:e,onOpenChange:t,onSelect:n}){let{t:r}=ot(),{github:i}=ko(),a=ro(),o=a.data??null,s=a.isFetched,l=c(e=>e.setSettingsDialogOpen),u=c(e=>e.setSettingsPage),d=c(e=>e.isMobile),{isTablet:f}=mo(),p=d||f,m=Hi(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(()=>Sg(h),[h]),C=xs(h,350),w=S?``:C.trim(),T=!!S||h===C,E=e&&T&&!!m&&!!i?.prsList&&!(s&&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=q(async()=>{try{await D.fetchNextPage()}catch(e){let t=e instanceof Error?e.message:String(e);Ii.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=!s||o?.connected!==!1&&O?.connected!==!1,L=q(()=>{u(`github`),l(!0)}),R=q(async(e,a)=>{if(!m){Ii.error(r(`session.githubPrPicker.error.noActiveProject`));return}if(!i?.prContext){Ii.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){Ii.error(r(`session.githubPrPicker.error.notConnected`));return}if(!o.pr){Ii.error(r(`session.githubPrPicker.error.prNotFound`));return}if(!o.repo){Ii.error(r(`session.githubPrPicker.error.repoNotResolvable`),{description:r(`session.githubPrPicker.error.repoMustBeGithub`)});return}if(n){let e=await tr(`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:Cg(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);Ii.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)(La,{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)(_a,{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)(da,{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)(Cp,{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)(ua,{open:e,onOpenChange:t,children:(0,$.jsxs)(oa,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsxs)(ia,{className:`flex-shrink-0`,children:[(0,$.jsxs)(sa,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`github`,className:`h-5 w-5`}),z]}),(0,$.jsx)(ca,{children:B})]}),V]})})}function Tg(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)(mc,{"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 Eg=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)(mc.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});Eg.displayName=`CommandInput`;function Dg(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)(ma,{as:mc.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 Og(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)(mc.Empty,{"data-slot":`command-empty`,className:`py-6 text-center typography-ui-label`,...n}),t[2]=n,t[3]=r),r}function kg(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)(mc.Group,{"data-slot":`command-group`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ag(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)(mc.Separator,{"data-slot":`command-separator`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function jg(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)(mc.Item,{"data-slot":`command-item`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Mg=(e,t)=>`${e}:${T(t)}`,Ng=e=>e.type===`skill`||!se(e.name);function Pg(e){let{t}=ot(),n=Z.useMemo(()=>d(),[]),r=c(e=>e.globalDraftStarters),i=Hi(e=>e.activeProjectId),a=Hi(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]),[s,l]=Z.useState([]),u=Z.useMemo(()=>r??ce,[r]),f=u.some(Ng)||s.some(Ng),m=wt({directory:e,enabled:f}),h=Z.useMemo(()=>m.data??[],[m.data]),{refetch:g}=m,_=Ti({directory:e,enabled:f}),v=Z.useMemo(()=>_.data??[],[_.data]),{refetch:y}=_;Z.useEffect(()=>{let e=!1;if(!o){l([]);return}return En(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=se(e.name);return n?{id:Mg(r,e),ref:e,group:r,label:t(n.labelKey),icon:n.icon,submitText:n.command}:x.has(e.name)?{id:Mg(r,e),ref:e,group:r,label:w(e.name),icon:ae,submitText:`/${e.name}`}:null}return S.has(e.name)?{id:Mg(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(()=>s.map(e=>C(e,`project`)).filter(e=>e!==null),[s,C]),O=Z.useMemo(()=>{let e=new Set;for(let t of u)e.add(T(t));for(let t of s)e.add(T(t));return e},[u,s]),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`||se(t.name)||e.push({type:`command`,name:t.name,label:w(t.name),icon:ae,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=>{c.getState().setGlobalDraftStarters(e),te({draftStarters:e})},[]),j=Z.useCallback(e=>{l(e),o&&Gt(o,e)},[o]),N=Z.useCallback(e=>{let t={type:e.type,name:e.name};if(e.scope===`project`){if(!o||s.some(e=>p(e,t)))return;j([...s,t])}else{let e=r??ce;if(e.some(e=>p(e,t)))return;A([...e,t])}},[o,s,r,j,A]),F=Z.useCallback((e,t)=>{e===`project`?j(s.filter(e=>!p(e,t))):A((r??ce).filter(e=>!p(e,t)))},[s,r,j,A]),I=Z.useCallback((e,t,n)=>{let i=e===`project`?s:r??ce,a=i.findIndex(n=>Mg(e,n)===t),o=i.findIndex(t=>Mg(e,t)===n);if(a<0||o<0||a===o)return;let c=Jo([...i],a,o);e===`project`?j(c):A(c)},[s,r,j,A]);return{global:E,project:D,pinnable:k,hasProject:!!o,ensureLoaded:b,addStarter:N,removeStarter:F,reorder:I}}var Fg=`__draft-starter-trash__`,Ig=`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`,Lg=`max-h-7`,Rg=[{key:`built-in`,headingKey:`chat.draftStarters.sectionBuiltIn`},{key:`command`,headingKey:`chat.draftStarters.sectionCommands`},{key:`skill`,headingKey:`chat.draftStarters.sectionSkills`}],zg=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}=Yo(s),m;t[2]===d?m=t[3]:(m=Ko.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},Bg=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(Gg),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)(zg,{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)(Zo,{items:o,strategy:qo,children:s}),t[11]=o,t[12]=s,t[13]=c):c=t[13],c},Vg=()=>{let e=(0,Q.c)(13),{t}=ot(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={id:Fg},e[0]=n):n=e[0];let{setNodeRef:r,isOver:i}=Vo(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(Ig,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},Hg=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)(Eg,{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)(Og,{children:l}),t[8]=l,t[9]=u);let d;t[10]!==r||t[11]!==n||t[12]!==a?(d=Rg.map(e=>{let t=n.filter(t=>t.section===e.key);return t.length===0?null:(0,$.jsx)(kg,{heading:a(e.headingKey),children:t.map(e=>(0,$.jsx)(jg,{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)(Dg,{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)(Tg,{className:o,children:[c,f]}),t[17]=o,t[18]=c,t[19]=f,t[20]=p):p=t[20],p},Ug=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)(la,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":l,title:u,className:Ig,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)(ia,{className:`px-4 pb-2 pt-4 text-left`,children:(0,$.jsx)(sa,{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)(Hg,{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)(oa,{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)(ua,{open:o,onOpenChange:c,children:[f,_]}),t[22]=o,t[23]=c,t[24]=_,t[25]=f,t[26]=v):v=t[26],v},Wg=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}=Pg(os()),{isMobile:f}=mo(),[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=Go(Ro(Uo,b),Ro(Bo,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)===Fg){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:zo.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&&Lg,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)(Bg,{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)(Bg,{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(Kg),"aria-expanded":h,"aria-label":i(h?`chat.draftStarters.collapse`:`chat.draftStarters.expand`),title:i(h?`chat.draftStarters.collapse`:`chat.draftStarters.expand`),className:Ig,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)(Vg,{}):(0,$.jsx)(Ug,{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 te;t[55]!==R||t[56]!==W||t[57]!==K?(te=(0,$.jsxs)(`div`,{className:R,children:[W,K]}),t[55]=R,t[56]=W,t[57]=K,t[58]=te):te=t[58];let ne;return t[59]!==F||t[60]!==S||t[61]!==te?(ne=(0,$.jsx)(Wo,{sensors:S,collisionDetection:Ho,measuring:L,onDragStart:j,onDragCancel:N,onDragEnd:F,children:te}),t[59]=F,t[60]=S,t[61]=te,t[62]=ne):ne=t[62],ne};function Gg(e){return e.id}function Kg(e){return!e}var qg=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});qg.displayName=`ChatComposerSurface`;var Jg=Z.forwardRef((e,t)=>{let n=(0,Q.c)(3),r;return n[0]!==e||n[1]!==t?(r=(0,$.jsx)(Aa,{ref:t,...e}),n[0]=e,n[1]=t,n[2]=r):r=n[2],r});Jg.displayName=`ChatPromptTextarea`;var Yg=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},Xg=(e,t)=>{typeof e==`function`?e(t):e&&(e.current=t)},Zg=e=>{let t=(0,Q.c)(139),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,te=Z.useRef(null),ne=Z.useRef(null),re;t[40]!==ee||t[41]!==K||t[42]!==z?.fillContainer?(re=()=>{if(!ee||K||z?.fillContainer)return;let e=te.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]=re):re=t[43];let ie=z?.fillContainer,ae;t[44]!==ee||t[45]!==K||t[46]!==ie||t[47]!==B?(ae=[ee,K,ie,B],t[44]=ee,t[45]=K,t[46]=ie,t[47]=B,t[48]=ae):ae=t[48],Z.useLayoutEffect(re,ae);let oe;t[49]!==G||t[50]!==H||t[51]!==w||t[52]!==U||t[53]!==z?(oe=e=>{z?.onKeyDown?.(e),!(e.defaultPrevented||Gh(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]=oe):oe=t[54];let se=oe,ce;t[55]===b?ce=t[56]:(ce=e=>{b?.(e.target.files),e.target.value=``},t[55]=b,t[56]=ce);let le=ce,ue=B.trim().length>0||V.length>0,de=V.filter(Qg),fe;t[57]!==n||t[58]!==H||t[59]!==le||t[60]!==b||t[61]!==U?(fe=b?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`input`,{ref:ne,type:`file`,accept:`image/*`,multiple:!0,className:`hidden`,onChange:le}),(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:()=>ne.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]=le,t[60]=b,t[61]=U,t[62]=fe):fe=t[62];let pe=fe,me;t[63]!==H||t[64]!==ue||t[65]!==C||t[66]!==U||t[67]!==O||t[68]!==k?(me=U&&C?(0,$.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,className:`flex size-8 shrink-0 items-center justify-center !text-black outline-none hover:!text-black dark:!text-white dark:hover:!text-white`,onClick:C,"aria-label":k,children:(0,$.jsx)(Kh,{className:`size-5`})}):(0,$.jsx)(`button`,{type:`submit`,"data-composer-send":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-md text-primary outline-none hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-30`,disabled:H||U||!ue,"aria-label":O,children:(0,$.jsx)(X,{name:U?`loader-4`:`send-plane-2`,className:Y(`size-4`,U&&`animate-spin`)})}),t[63]=H,t[64]=ue,t[65]=C,t[66]=U,t[67]=O,t[68]=k,t[69]=me):me=t[69];let he=me,ge=qg,_e=K&&`flex-1`,ve;t[70]!==o||t[71]!==_e?(ve=Y(`relative flex min-h-0 flex-col`,_e,o),t[70]=o,t[71]=_e,t[72]=ve):ve=t[72];let ye=K&&`flex min-h-0 flex-1 flex-col`,be;t[73]!==_||t[74]!==ye?(be=Y(`overflow-hidden`,ye,_),t[73]=_,t[74]=ye,t[75]=be):be=t[75];let xe=de.length>0?(0,$.jsx)(`div`,{className:`flex gap-2 overflow-x-auto px-3 pt-3`,"data-chat-prompt-attachments":`true`,children:de.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[76]===Se?Ce=t[77]:(Ce=Y(`relative overflow-hidden`,Se),t[76]=Se,t[77]=Ce);let we;t[78]!==u||t[79]!==d||t[80]!==p||t[81]!==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[78]=u,t[79]=d,t[80]=p,t[81]=R,t[82]=we):we=t[82];let Te;t[83]===g?Te=t[84]:(Te=e=>{te.current=e,Xg(g,e)},t[83]=g,t[84]=Te);let Ee;t[85]===x?Ee=t[86]:(Ee=e=>x(e.target.value,e),t[85]=x,t[86]=Ee);let De=H||U&&G,Oe=W?`send`:z?.enterKeyHint,ke=K&&`min-h-0 flex-1`,Ae;t[87]!==h||t[88]!==ke?(Ae=Y(`ring-0 bg-transparent shadow-none hover:bg-transparent focus-within:ring-0`,ke,h),t[87]=h,t[88]=ke,t[89]=Ae):Ae=t[89];let je=d&&`text-transparent caret-[var(--surface-foreground)]`,Me;t[90]!==p||t[91]!==je||t[92]!==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[90]=p,t[91]=je,t[92]=R,t[93]=Me):Me=t[93];let Ne=z?.rows??1,Pe;t[94]!==se||t[95]!==v||t[96]!==T||t[97]!==Te||t[98]!==Ee||t[99]!==De||t[100]!==Oe||t[101]!==Ae||t[102]!==Me||t[103]!==Ne||t[104]!==z||t[105]!==B?(Pe=(0,$.jsx)(Jg,{...z,simple:!0,ref:Te,"data-chat-input":`true`,value:B,onChange:Ee,onKeyDown:se,disabled:De,placeholder:T,enterKeyHint:Oe,outerClassName:Ae,className:Me,style:v,rows:Ne}),t[94]=se,t[95]=v,t[96]=T,t[97]=Te,t[98]=Ee,t[99]=De,t[100]=Oe,t[101]=Ae,t[102]=Me,t[103]=Ne,t[104]=z,t[105]=B,t[106]=Pe):Pe=t[106];let Fe;t[107]!==Ce||t[108]!==we||t[109]!==Pe?(Fe=(0,$.jsxs)(`div`,{className:Ce,"data-composer-input-shell":`true`,children:[we,Pe]}),t[107]=Ce,t[108]=we,t[109]=Pe,t[110]=Fe):Fe=t[110];let Ie;t[111]!==r||t[112]!==m||t[113]!==be||t[114]!==xe||t[115]!==Fe?(Ie=(0,$.jsxs)(`div`,{className:be,children:[m,r,xe,Fe]}),t[111]=r,t[112]=m,t[113]=be,t[114]=xe,t[115]=Fe,t[116]=Ie):Ie=t[116];let Le;t[117]!==pe||t[118]!==he||t[119]!==c||t[120]!==f||t[121]!==y||t[122]!==D?(Le=c??(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:y??pe}),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[117]=pe,t[118]=he,t[119]=c,t[120]=f,t[121]=y,t[122]=D,t[123]=Le):Le=t[123];let Re;t[124]!==s||t[125]!==l||t[126]!==Le?(Re=(0,$.jsx)(Yg,{className:s,style:l,children:Le}),t[124]=s,t[125]=l,t[126]=Le,t[127]=Re):Re=t[127];let ze;t[128]!==ve||t[129]!==Ie||t[130]!==Re?(ze=(0,$.jsxs)(`div`,{"data-composer-content":`true`,className:ve,children:[Ie,Re]}),t[128]=ve,t[129]=Ie,t[130]=Re,t[131]=ze):ze=t[131];let Be;return t[132]!==ge||t[133]!==i||t[134]!==a||t[135]!==K||t[136]!==A||t[137]!==ze?(Be=(0,$.jsxs)(ge,{className:a,expanded:K,...A,children:[i,ze]}),t[132]=ge,t[133]=i,t[134]=a,t[135]=K,t[136]=A,t[137]=ze,t[138]=Be):Be=t[138],Be};function Qg(e){return e.mime.startsWith(`image/`)}var $g=e=>e.trim().replace(/\s+/g,`-`).replace(/[^A-Za-z0-9._/-]/g,`-`).replace(/-+/g,`-`).replace(/\/{2,}/g,`/`).replace(/\/-+/g,`/`).replace(/-+\//g,`/`).replace(/^[-/]+/,``).replace(/[-/]+$/,``),e_=({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(()=>$g(N),[N]),ee=Z.useMemo(()=>{let e=D.trim();return e?br(t,e,e=>e).map(e=>e.item):t},[D,t]),G=Z.useMemo(()=>{let e=D.trim();return e?br(n,e,e=>e).map(e=>e.item):n},[D,n]),K=Z.useMemo(()=>{let e=D.trim();return e?br(m,e,e=>e.label).map(e=>e.item):m},[D,m]),te=Z.useMemo(()=>{if(!p)return!1;let e=D.trim();return!e||br([p],e,e=>[e.label,b??``]).length>0},[b,p,D]),ne=t=>{if(t===e){B(!1);return}i(t),B(!1),O(``)},re=e=>{g?.(e),B(!1),O(``)},ie=()=>{A(!0),setTimeout(()=>L.current?.focus(),50)},ae=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)}}},oe=async e=>{if(!(!W||F)){I(!0);try{await a(W,e),P(``),A(!1),M(!1),B(!1)}finally{I(!1)}}},se=()=>{M(!1)},ce=()=>{P(``),A(!1),M(!1)};Z.useEffect(()=>{z||(O(``),A(!1),M(!1),P(``))},[z]);let le=u||e||w(`gitView.branch.detachedHead`),ue=d??(c?`end`:`start`),de=v??w(`chat.chatInput.worktrees`),fe=y??w(`chat.chatInput.worktreeNew`),pe=b??w(`chat.chatInput.projectRoot`),me=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":le,children:(0,$.jsx)(X,{name:`git-branch`,className:`size-3.5`})}):(0,$.jsxs)(da,{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":le,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:le}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`size-3 shrink-0 text-muted-foreground`})]}),he=(0,$.jsx)(Xa,{asChild:!0,disabled:s,children:l??me}),ge=(0,$.jsxs)(Tg,{className:`h-full min-h-0`,children:[(0,$.jsx)(`div`,{"data-mobile-sheet-no-dismiss":C===`mobile-sheet`?``:void 0,children:(0,$.jsx)(Eg,{placeholder:w(`gitView.branch.searchPlaceholder`),value:D,onValueChange:O,onKeyDown:V})}),(0,$.jsxs)(Dg,{scrollbarClassName:`overlay-scrollbar--flush overlay-scrollbar--dense overlay-scrollbar--zero`,disableHorizontal:!0,children:[(0,$.jsx)(Og,{children:w(`gitView.branch.empty`)}),(0,$.jsx)(kg,{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:se,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:()=>oe(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(),ae()):e.key===`Escape`&&(e.preventDefault(),ce())},className:`flex-1 min-w-0 bg-transparent typography-meta outline-none placeholder:text-muted-foreground`}),(0,$.jsx)(`button`,{type:`button`,onClick:ae,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:ce,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)(jg,{onSelect:ie,children:[(0,$.jsx)(X,{name:`add`,className:`size-4`}),(0,$.jsx)(`span`,{children:w(`gitView.branch.create`)})]})}),(0,$.jsx)(Ag,{}),(0,$.jsxs)(kg,{heading:w(`gitView.branch.localBranches`),children:[ee.map(t=>(0,$.jsxs)(jg,{onSelect:()=>ne(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)(jg,{disabled:!0,className:`justify-center`,children:(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:w(`gitView.branch.noLocalBranches`)})})]}),(0,$.jsx)(Ag,{}),(0,$.jsxs)(kg,{heading:w(`gitView.branch.remoteBranches`),children:[G.map(e=>(0,$.jsx)(jg,{onSelect:()=>ne(e),children:(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e})},`remote-${e}`)),G.length===0&&(0,$.jsx)(jg,{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)(Ag,{}),(0,$.jsxs)(kg,{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:de}),_?(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:fe}):null]}),p&&te?(0,$.jsxs)(jg,{onSelect:()=>re(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:pe}),(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)(jg,{onSelect:()=>re(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??me,{onClick:()=>B(!0),"data-popup-open":z?``:void 0});return(0,$.jsxs)($.Fragment,{children:[e,(0,$.jsx)(to,{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:ge})]})}return(0,$.jsxs)(Ka,{open:z,onOpenChange:B,children:[f||l?he:(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:he}),(0,$.jsx)(za,{sideOffset:8,children:c?le:w(`gitView.branch.currentBranchTooltip`)})]}),(0,$.jsx)(Ya,{align:ue,className:`w-72 p-0 max-h-[60vh] flex flex-col`,children:ge})]})};function t_(e){let{localBranches:t,remoteBranches:n,query:r}=e,i=r.trim();if(!i)return{matching:[],otherLocal:t,otherRemote:n};let a=br(t,i,e=>e),o=br(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 n_(e,t){return`${e}\0${t}`}function r_({open:e,onOpenChange:t,onSelect:n}){let{t:r}=ot(),i=c(e=>e.isMobile),{github:a}=ko(),o=ro(),s=o.data??null,l=o.isFetched,u=c(e=>e.setSettingsDialogOpen),d=c(e=>e.setSettingsPage),f=Hi(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=xs(v,350),W=q(async e=>{if(!(!m||!a)&&!(l&&s?.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&&s?.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,s,g,U,W,r]);let ee=q(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=q(async e=>{if(!h||!e)return;let t=n_(h.path,e);if(I.has(t))return;let n=H.current;try{let i=await Ca(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&&s?.connected===!0,te=()=>{d(`github`),u(!0)},ne=e=>{j(e),N(null)},re=e=>{N(e),j(null)},ie=()=>{A?n({type:`issue`,item:A}):M&&n({type:`pr`,item:M,includeDiff:P}),t(!1)},ae=()=>{j(null),N(null),F(!1)},oe=A||(M?.head&&m?I.get(n_(m,M.head))?.isValid!==!1:!1),se=e=>!e.head||(m?I.get(n_(m,e.head)):void 0)?.isValid===!1,ce=(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)(La,{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:()=>ne(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)(da,{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=se(e),n=e.head&&m?I.get(n_(m,e.head)):void 0;return(0,$.jsx)(`button`,{onClick:()=>!t&&re(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)(da,{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)(da,{onClick:te,size:`sm`,children:r(`session.githubIntegration.connect.action`)})]})}),le=(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:ae,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)(_a,{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)(da,{variant:`outline`,size:`sm`,onClick:()=>t(!1),className:Y(i&&`flex-1`),children:r(`session.githubIntegration.actions.cancel`)}),(0,$.jsx)(da,{size:`sm`,onClick:ie,disabled:!oe,className:Y(i&&`flex-1`),children:r(`session.githubIntegration.actions.select`)})]})]});return(0,$.jsx)($.Fragment,{children:i?(0,$.jsx)(Cp,{open:e,title:r(`session.githubIntegration.title`),onClose:()=>t(!1),footer:K?le: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)(hc,{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:ae,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:ce}):(0,$.jsx)(ua,{open:e,onOpenChange:t,children:(0,$.jsxs)(oa,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsx)(ia,{className:`flex flex-row items-center justify-between`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(sa,{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)(hc,{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`})})]})}),ce,(0,$.jsx)(aa,{className:`mt-1`,children:le})]})})})}var i_=(e,t,n)=>{let r=n??t;return r?e.find(e=>e.id===r)??null:null},a_=e=>e.trim().replace(/^refs\/heads\//,``).replace(/^heads\//,``).replace(/\s+/g,`-`).replace(/^\/+|\/+$/g,``),o_=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),s_=e=>String(e||``).trim().toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``)||`pr-head`,c_=(e,t,n)=>{let r=a_(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-${s_(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}`}},l_=e=>{let t={repo:e.repo??null,issue:e.issue,comments:e.comments};return`GitHub issue context (JSON)\n${JSON.stringify(t,null,2)}`},u_=e=>`GitHub pull request context (JSON)\n${JSON.stringify(e,null,2)}`;function d_({open:e,onOpenChange:t,onWorktreeCreated:n,projectId:r}){let{t:i}=ot(),{github:a,git:o}=ko(),s=c(e=>e.isMobile),l=Z.useId(),u=ro(),d=u.data??null,f=u.isFetched,p=Hi(e=>i_(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=Is(m),C=Ns(m),w=Es(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=J(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=ig();if(!O.has(e))return e}return`${ig()}-${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),te=Z.useCallback(e=>{e.stopPropagation()},[]),ne=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},[]),re=Z.useCallback(e=>{e&&(e.scrollTop=0)},[]),ie=Z.useCallback(e=>{let t=e.current?.querySelector(`[data-slot="command-list"]`)??null;re(t)},[re]),ae=Z.useCallback(e=>{let t=ne(e.current);re(t)},[ne,re]),oe=Z.useMemo(()=>t_({localBranches:T,remoteBranches:E,query:B}),[T,E,B]),se=Z.useMemo(()=>t_({localBranches:T,remoteBranches:E,query:H}),[T,E,H]),ce=B.trim().length>0,le=H.trim().length>0,ue=oe.matching.length>0,de=se.matching.length>0,fe=!!(m&&o),pe=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&&ie(W),I&&ae(G)},[M,I,B,ie,ae]),Z.useEffect(()=>{P&&ie(ee),R&&ae(K)},[P,R,H,ie,ae]);let[me,he]=Z.useState({isValidating:!1,branchError:null,worktreeError:null,touched:!1}),[ge,_e]=Z.useState(!1),[ve,ye]=Z.useState(null),be=Z.useCallback(()=>{let e=Hr.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},[]),xe=Z.useCallback(()=>{let e=Hr.getState(),t=e.settingsDefaultModel;if(!t)return null;let n=Qi(t);if(!n)return null;let{providerId:r,modelId:i}=n;return e.getModelMetadata(r,i)?{providerID:r,modelID:i}:null},[]),Se=Z.useCallback((e,t)=>{let n=Hr.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},[]),Ce=Z.useCallback(async e=>{if(!m||!a)return;let t=Hr.getState(),n=Un.getState().lastUsedProvider,r=xe(),o=r?.providerID||t.currentProviderId||n?.providerID,s=r?.modelID||t.currentModelId||n?.modelID,c=be()||t.currentAgentName||void 0;if(!o||!s){Ii.error(i(`session.newWorktree.error.noModelSelected`));return}let l=Se(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 tr(`github.issue.review.visible`,{issue_number:String(e.issue.number)}),u=await tr(`github.issue.review.instructions`),d=l_({repo:t.repo,issue:t.issue,comments:n.comments??[]});await J.getState().sendMessage(r,o,s,c,void 0,void 0,[{text:u,synthetic:!0},{text:d,synthetic:!0}],l,void 0,{sessionId:e.sessionId}),Ii.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 tr(`github.pr.review.visible`,{pr_number:String(e.pr.number)}),r=await tr(`github.pr.review.instructions`),u=u_(t);await J.getState().sendMessage(n,o,s,c,void 0,void 0,[{text:r,synthetic:!0},{text:u,synthetic:!0}],l,void 0,{sessionId:e.sessionId}),Ii.success(i(`session.newWorktree.toast.sessionFromPr`))}},[a,m,be,xe,Se,i]),we=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 ja(m).catch(()=>null);if(n)return;let r=localStorage.getItem(Ts),{sourceBranch:i,shouldClearSavedSourceBranch:a}=Fs({branches:S.all,savedSourceBranch:r,rootBranch:e});if(a&&localStorage.removeItem(Ts),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(``),he({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=o_(a_(v.branchName));y(t=>({...t,worktreeName:e}))},[g,v.branchName,v.isSyncingWorktreeName]);let Te=Z.useCallback(async()=>{if(!h||!me.touched||ge)return;ve&&ve.abort();let e=new AbortController;ye(e),he(e=>({...e,isValidating:!0}));try{let t=g===`new-branch`?v.branchName:b.selectedBranch,n=we.worktreeName,r=a_(t),a=o_(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?c_(t,T,E):null,i=await Ca(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||he(e=>({...e,isValidating:!1,branchError:o,worktreeError:s}))}catch{e.signal.aborted||he(e=>({...e,isValidating:!1}))}},[h,g,v.branchName,v.linkedPr,b.selectedBranch,we.worktreeName,T,E,me.touched,ve,ge,i]),Ee=g===`new-branch`?v.branchName:b.selectedBranch;Z.useEffect(()=>{if(!e||!h||!me.touched||ge)return;let t=setTimeout(()=>{Te()},300);return()=>clearTimeout(t)},[we.worktreeName,Ee,e,h,Te,me.touched,ge]);let De=async()=>{if(!h||!m){Ii.error(i(`session.newWorktree.error.noActiveProject`));return}he(e=>({...e,touched:!0}));let e=g===`new-branch`?v.branchName:b.selectedBranch,r=we.worktreeName,a=a_(e),o=o_(r);if(!a){Ii.error(i(`session.newWorktree.error.branchNameRequired`));return}if(!o){Ii.error(i(`session.newWorktree.error.worktreeDirectoryRequired`));return}ve&&(ve.abort(),ye(null)),he(e=>({...e,isValidating:!1,branchError:null,worktreeError:null})),_e(!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([Xt(h),Ms(m)]),f=v.sourceBranch,p=``,_=(()=>{if(e){let t=c_(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 Bs(m,_,{resolvedRootTrackingRemote:d}),x=await Ma(h,y),S=null;if(l){await un(h)&&await Dr(x.path);let e=r?`#${r.number} ${r.title}`.trim():s?`#${s.number} ${s.title}`.trim():i(`session.newWorktree.newSessionTitle`),a=await Jn(e,x.path,null);if(!a?.id)throw Error(`Failed to create session`);S=a.id,n?.(x.path,{sessionId:S}),t(!1),_e(!1),Tr(a.id,e).catch(()=>void 0);try{J.getState().initializeNewOpenChamberSession(a.id,Hr.getState().agents)}catch{}}else t(!1),_e(!1);let C=Rs({mode:g,sourceBranch:v.sourceBranch,linkedPr:!!v.linkedPr,selectedBranch:b.selectedBranch});C&&localStorage.setItem(Ts,C),Ii.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?Ce({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`);Ii.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`);Ii.error(i(`session.newWorktree.error.createWorktreeFailed`),{description:t})}finally{_e(!1)}},Oe=e=>{_(e),he(e=>({...e,touched:!1,branchError:null,worktreeError:null}))},ke=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}-${ig()}`;y(e=>({...e,linkedIssue:t,linkedPr:null,includePrDiff:!1,branchName:n,worktreeName:o_(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:o_(t.head),isSyncingWorktreeName:!0}))}},Ae=f&&d?.connected===!0,je=(g===`existing-branch`?!!b.selectedBranch&&!!b.worktreeName&&!me.branchError&&!me.worktreeError:!!a_(v.branchName)&&!!v.worktreeName&&!me.branchError&&!me.worktreeError)&&!ge,Me=()=>{y(e=>({...e,linkedIssue:null,linkedPr:null,branchName:``,includePrDiff:!1,isSyncingWorktreeName:!0}))},Ne=(0,$.jsxs)(`div`,{className:Y(`flex gap-2`,s?`flex-col w-full`:`flex-row items-center`),children:[(0,$.jsx)(`div`,{className:Y(`flex items-center gap-1.5 text-destructive`,s?`w-full justify-center order-first`:`mr-auto`),children:me.touched&&(me.branchError||me.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:me.branchError||me.worktreeError})]})}),(0,$.jsxs)(`div`,{className:Y(`flex gap-2`,s&&`w-full`),children:[(0,$.jsx)(da,{variant:`outline`,size:`sm`,onClick:()=>t(!1),disabled:ge,className:Y(s&&`flex-1`),children:i(`session.newWorktree.actions.cancel`)}),(0,$.jsxs)(da,{size:`sm`,onClick:De,disabled:!je||ge,className:Y(`gap-1.5`,s&&`flex-1`),children:[ge&&(0,$.jsx)(X,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}),i(ge?`session.newWorktree.actions.creating`:`session.newWorktree.actions.createWorktree`)]})]})]});return(0,$.jsxs)($.Fragment,{children:[s?(0,$.jsx)(to,{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)(ma,{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)(hc,{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=>Oe(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)(da,{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)(da,{variant:`ghost`,size:`sm`,className:`h-8 w-8 px-0 shrink-0`,onClick:pe,disabled:!fe||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)(Cp,{open:I,title:i(`session.newWorktree.selectBranch`),onClose:()=>L(!1),children:(0,$.jsxs)(`div`,{className:`space-y-4`,ref:G,children:[(0,$.jsx)(La,{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:[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:()=>{x(t=>({...t,selectedBranch:e.value,worktreeName:o_(e.label)})),he(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}`))})]}),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:()=>{x(t=>({...t,selectedBranch:e,worktreeName:o_(e)})),he(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))})]}),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:()=>{x(t=>({...t,selectedBranch:`remotes/${e}`,worktreeName:o_(e)})),he(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`&&Ae&&(0,$.jsxs)(da,{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)(La,{value:v.branchName,onChange:e=>{y(t=>({...t,branchName:e.target.value,isSyncingWorktreeName:!0,linkedIssue:null,linkedPr:null}))},onBlur:()=>he(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.branchNamePlaceholder`),disabled:!!v.linkedPr,className:Y(`h-8`,me.touched&&me.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=o_(g===`new-branch`?v.branchName:``);y(t=>({...t,worktreeName:e,isSyncingWorktreeName:!0}))},disabled:!v.branchName||v.worktreeName===o_(v.branchName),className:Y(`flex items-center gap-1 typography-micro transition-colors px-1.5 py-0.5 rounded`,v.worktreeName===o_(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)(La,{value:we.worktreeName,onChange:e=>{g===`new-branch`?y(t=>({...t,worktreeName:e.target.value,isSyncingWorktreeName:!1})):x(t=>({...t,worktreeName:e.target.value}))},onBlur:()=>he(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.worktreeDirectoryPlaceholder`),className:Y(`h-8`,me.touched&&me.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)(da,{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)(Cp,{open:R,title:i(`session.newWorktree.selectSourceBranch`),onClose:()=>z(!1),children:(0,$.jsxs)(`div`,{className:`space-y-4`,ref:K,children:[(0,$.jsx)(La,{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:[le&&de&&(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:se.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}`))})]}),le&&!de&&(0,$.jsx)(`div`,{className:`px-2 py-1 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noMatchingBranches`)}),se.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(le?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:se.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))})]}),se.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(le?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:se.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:Me,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:Ne})]})}):(0,$.jsx)(ua,{open:e,onOpenChange:t,children:(0,$.jsxs)(oa,{className:`max-w-lg max-h-[80vh] flex flex-col`,children:[(0,$.jsx)(ia,{className:`flex flex-row items-center justify-between`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(sa,{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)(hc,{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=>Oe(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)(Ka,{open:M,onOpenChange:N,children:[(0,$.jsx)(Xa,{asChild:!0,children:(0,$.jsxs)(da,{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)(Ya,{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)(Tg,{shouldFilter:!1,children:[(0,$.jsx)(Eg,{placeholder:i(`session.newWorktree.searchBranches`),value:B,onValueChange:V,onKeyDown:te}),(0,$.jsx)(Dg,{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)(Og,{children:i(`session.newWorktree.noBranchesFound`)}):(0,$.jsxs)($.Fragment,{children:[ce&&ue&&(0,$.jsx)(kg,{heading:i(`session.newWorktree.matchingBranches`),children:oe.matching.map(e=>(0,$.jsx)(jg,{value:e.value,onSelect:()=>{x(t=>({...t,selectedBranch:e.value,worktreeName:o_(e.label)})),he(e=>({...e,touched:!0})),N(!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)(Ag,{}),(0,$.jsx)(kg,{heading:i(ce?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`),children:oe.otherLocal.map(e=>(0,$.jsx)(jg,{value:e,onSelect:()=>{x(t=>({...t,selectedBranch:e,worktreeName:o_(e)})),he(e=>({...e,touched:!0})),N(!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)(Ag,{}),(0,$.jsx)(kg,{heading:i(ce?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`),children:oe.otherRemote.map(e=>(0,$.jsx)(jg,{value:`remotes/${e}`,onSelect:()=>{x(t=>({...t,selectedBranch:`remotes/${e}`,worktreeName:o_(e)})),he(e=>({...e,touched:!0})),N(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`remote-${e}`))})]})]})})]})})]}),(0,$.jsx)(da,{variant:`ghost`,size:`sm`,className:`h-8 w-8 px-0 shrink-0`,onClick:pe,disabled:!fe||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`&&Ae&&(0,$.jsxs)(da,{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)(La,{value:v.branchName,onChange:e=>{y(t=>({...t,branchName:e.target.value,isSyncingWorktreeName:!0,linkedIssue:null,linkedPr:null}))},onBlur:()=>he(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.branchNamePlaceholder`),disabled:!!v.linkedPr,className:Y(`h-8`,me.touched&&me.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=o_(g===`new-branch`?v.branchName:``);y(t=>({...t,worktreeName:e,isSyncingWorktreeName:!0}))},disabled:!v.branchName||v.worktreeName===o_(v.branchName),className:Y(`flex items-center gap-1 typography-micro transition-colors px-1.5 py-0.5 rounded`,v.worktreeName===o_(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)(La,{value:we.worktreeName,onChange:e=>{g===`new-branch`?y(t=>({...t,worktreeName:e.target.value,isSyncingWorktreeName:!1})):x(t=>({...t,worktreeName:e.target.value}))},onBlur:()=>he(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.worktreeDirectoryPlaceholder`),className:Y(`h-8`,me.touched&&me.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)(Ka,{open:P,onOpenChange:F,children:[(0,$.jsx)(Xa,{asChild:!0,children:(0,$.jsxs)(da,{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)(Ya,{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)(Tg,{shouldFilter:!1,children:[(0,$.jsx)(Eg,{placeholder:i(`session.newWorktree.searchBranches`),value:H,onValueChange:U,onKeyDown:te}),(0,$.jsx)(Dg,{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)(Og,{children:i(`session.newWorktree.noBranchesFound`)}):(0,$.jsxs)($.Fragment,{children:[le&&de&&(0,$.jsx)(kg,{heading:i(`session.newWorktree.matchingBranches`),children:se.matching.map(e=>(0,$.jsx)(jg,{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}`))}),le&&!de&&(0,$.jsx)(`div`,{className:`px-2 py-1 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noMatchingBranches`)}),se.otherLocal.length>0&&(0,$.jsxs)($.Fragment,{children:[le&&(0,$.jsx)(Ag,{}),(0,$.jsx)(kg,{heading:i(le?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`),children:se.otherLocal.map(e=>(0,$.jsx)(jg,{value:e,onSelect:()=>{y(t=>({...t,sourceBranch:e})),F(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`local-${e}`))})]}),se.otherRemote.length>0&&(0,$.jsxs)($.Fragment,{children:[(se.otherLocal.length>0||le)&&(0,$.jsx)(Ag,{}),(0,$.jsx)(kg,{heading:i(le?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`),children:se.otherRemote.map(e=>(0,$.jsx)(jg,{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:Me,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)(aa,{className:`mt-1 flex items-center justify-between`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1.5 text-destructive`,children:me.touched&&(me.branchError||me.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:me.branchError||me.worktreeError})]})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(da,{variant:`outline`,size:`sm`,onClick:()=>t(!1),disabled:ge,children:i(`session.newWorktree.actions.cancel`)}),(0,$.jsxs)(da,{size:`sm`,onClick:De,disabled:!je||ge,className:`gap-1.5`,children:[ge&&(0,$.jsx)(X,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}),i(ge?`session.newWorktree.actions.creating`:`session.newWorktree.actions.createWorktree`)]})]})]})]})}),(0,$.jsx)(r_,{open:A,onOpenChange:j,onSelect:ke})]})}function f_(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 p_(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 m_=(e,t)=>e??t??null,h_=(e,t)=>!!e&&t!==!1,g_=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:[]},__=e=>e.replace(/^remotes\//,``).trim(),v_=e=>{let t=__(e),n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t},y_=({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}=ko(),f=m_(t,e),p=e,m=Hs(f),h=Hs(p),g=h_(f,m),_=p!==f&&h_(p,h),v=vs(f,d,g),y=vs(p,d,_),b=v.data,x=p===f?b:y.data,S=Es(e=>e.fetchStatus),C=Es(e=>p&&e.directories.get(p)?.status?.current?.trim()||null),[w,T]=Z.useState(!1),E=Vs(f,d,g&&w).data??[],[D,O]=Z.useState(null),[k,A]=Z.useState(!1),[j,M]=Z.useState(!1),N=Hi(e=>e.projects),P=Hi(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(()=>g_(b?.all),[b]),R=x?.current?.trim()||C||null,z=!p_(n,e)&&n||R||n||l(`chat.chatInput.branch`),B=q(async()=>{if(!d)return;let e=new Set;f&&e.add(f),p&&e.add(p),await Promise.all([...e].map(async e=>{await Cs(e,d),await S(e,d,{silent:!0})}))}),V=q(e=>{let t=__(e),n=v_(t);return i.find(e=>{let r=e.label.trim();return r===t||r===n})??null}),H=q(async e=>{if(!p||!d)return;let t=__(e);if(R!==t&&R!==v_(t))try{await d.checkoutBranch(p,t),Ii.success(l(`gitView.toast.checkedOut`,{name:t})),await B()}catch(e){let n=e instanceof Error?e.message:l(`gitView.toast.checkoutFailed`,{name:t});Ii.error(n)}}),U=q(e=>{let t=__(e);if(!t||R===t||R===v_(t))return;let n=V(t);if(n){a(n.value);return}O(t)}),W=q(async()=>{if(!(!D||k)){A(!0);try{await H(D),O(null)}finally{A(!1)}}}),ee=q(async()=>{if(!(!D||k)){A(!0);try{await _g({branch:D,projectDirectory:t??void 0})&&O(null)}finally{A(!1)}}}),G=q(async(e,t)=>{if(!p||!d)return;let n=t?.name??`origin`;try{await d.createBranch(p,e,R??`HEAD`),Ii.success(l(`gitView.toast.createdBranch`,{name:e})),O(e),d.gitPush(p,{remote:n,branch:e,options:[`--set-upstream`]}).then(async()=>{await B(),Ii.success(l(`gitView.toast.upstreamSet`,{branch:e,remote:n}))}).catch(async e=>{let t=e instanceof Error?e.message:l(`gitView.toast.branchCreatedLocally`);Ii.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 Ii.error(t),e}}),K=q(()=>{let e=Hi.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)}),te=q((e,n)=>{if(M(!1),n?.sessionId){J.getState().setCurrentSession(n.sessionId,e);return}let r=Hi.getState(),i=u(t),a=(i?r.projects.find(e=>u(e.path)===i)??null:null)?.id??r.activeProjectId??null,o=J.getState();if(o.newSessionDraft?.open){o.overrideNewSessionDraftTarget({...a?{selectedProjectId:a}:{},directoryOverride:e,bootstrapPendingDirectory:e,preserveDirectoryOverride:!0}),Te.getState().setDirectory(e,{showOverlay:!1});return}o.openNewSessionDraft({...a?{selectedProjectId:a}:{},directoryOverride:e,preserveDirectoryOverride:!0})}),ne=(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,jp,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)(e_,{currentBranch:R,localBranches:I,remoteBranches:L,branchInfo:b?.branches,onCheckout:U,onCreate:G,remotes:E,trigger:ne,triggerLabel:z,hideTooltip:!0,projectRootOption:r,worktreeOptions:i,selectedDirectory:e,onSelectDirectory:a,onCreateWorktree:K,open:w,presentation:c,onOpenChange:T}),j?(0,$.jsx)(d_,{open:!0,projectId:F,onOpenChange:M,onWorktreeCreated:te}):null,(0,$.jsx)(ua,{open:!!D,onOpenChange:e=>{!e&&!k&&O(null)},children:(0,$.jsxs)(oa,{showCloseButton:!1,className:`max-w-sm gap-4`,children:[(0,$.jsxs)(ia,{children:[(0,$.jsx)(sa,{children:l(`chat.chatInput.branchSwitch.title`,{branch:D??``})}),(0,$.jsx)(ca,{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)(aa,{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`)})})]})})]})},b_=[],x_=[],S_={revertMessageID:void 0,records:x_},C_=e=>e.role===`user`,w_=(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},T_=(e,t,n=S_)=>{if(!t)return S_;let r=(`session`in e?e.session:[]).find(e=>e.id===t)?.revert?.messageID;if(!r)return S_;let i=`messages`in e?e.messages:e.message[t]??[],a=`partsByMessageID`in e?e.partsByMessageID:e.part,o=[];for(let e of i)!C_(e)||!fn(i,e.id,r)||o.push({message:e,parts:a[e.id]??b_});let s=o.length===0?x_:o;return n.revertMessageID===r&&w_(n.records,s)?n:{revertMessageID:r,records:s}},E_={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},D_={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`},O_=`text-foreground`;function k_(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 A_=/^(\s*)(`{3,}|~{3,})\s*(\S*)/;function j_(e){let t=A_.exec(e);return t?{marker:t[2],lang:t[3]||``}:null}function M_(e,t){return RegExp(`^\\s*\\${t[0]}{${t.length},}\\s*$`).test(e)}function N_(e){let t=[];if(!e)return t;let n=0,r=!1,i=``,a=e.split(`
6520
+ `)?`...`:``),Df=(e,t={})=>{let n=Ef(e);if(!n)return null;let r=Tf(t.composerDocument);return Ud(n,{citationIcons:Cf(t.attachments),sessionMentions:wf(t.composerDocument),skillNames:r.skillNames,commandNames:r.commandNames,allowPathHeuristics:!0})},Of=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return(t.kind===`edit`||t.kind===`send`||t.kind===`remove`||t.kind===`reorder`)&&typeof t.transportIdentity==`string`&&typeof t.runtimeGeneration==`number`&&Number.isSafeInteger(t.runtimeGeneration)&&t.runtimeGeneration>=0&&typeof t.directory==`string`&&typeof t.sessionID==`string`&&typeof t.scopeID==`string`&&typeof t.queueItemID==`string`&&(t.queueItemIDs===void 0||Array.isArray(t.queueItemIDs)&&t.queueItemIDs.every(e=>typeof e==`string`))},kf=(0,Z.memo)(e=>{let t=(0,Q.c)(132),{message:n,server:r,frozen:i,hasDispatchLock:a,pendingOperationKinds:o,sendPendingTimedOut:s,isMobile:c,onEdit:l,onSend:u,onRemove:d}=e,{t:f}=ot(),p;t[0]===n?p=t[1]:(p=Br(n),t[0]=n,t[1]=p);let m=p,h=n.queueItemID||n.id,g;t[2]!==o||t[3]!==r?(g=r&&o.has(`edit`),t[2]=o,t[3]=r,t[4]=g):g=t[4];let _=g,v;t[5]!==o||t[6]!==r?(v=r&&o.has(`remove`),t[5]=o,t[6]=r,t[7]=v):v=t[7];let y=v,b;t[8]!==o||t[9]!==r?(b=r&&o.has(`reorder`),t[8]=o,t[9]=r,t[10]=b):b=t[10];let x=b,S=r||m?void 0:n,C;t[11]!==n||t[12]!==m||t[13]!==r?(C=r&&!m&&uf(n),t[11]=n,t[12]=m,t[13]=r,t[14]=C):C=t[14];let w=C,T;t[15]===S?T=t[16]:(T=S&&lf(S),t[15]=S,t[16]=T);let E=!!T,D;t[17]!==n||t[18]!==m||t[19]!==r?(D=r&&!m&&cf(n),t[17]=n,t[18]=m,t[19]=r,t[20]=D):D=t[20];let O=D,k;t[21]!==w||t[22]!==E||t[23]!==o||t[24]!==r?(k=r&&o.has(`send`)||w||E,t[21]=w,t[22]=E,t[23]=o,t[24]=r,t[25]=k):k=t[25];let A=k&&!s,j=i||m,M;t[26]!==i||t[27]!==n?(M=of(n,{frozen:i}),t[26]=i,t[27]=n,t[28]=M):M=t[28];let N=M,P;t[29]!==i||t[30]!==n?(P=sf(n,{frozen:i}),t[29]=i,t[30]=n,t[31]=P):P=t[31];let F=P,I=S?.owner?.state===`unbound-legacy`||j||O,L;t[32]!==j||t[33]!==a||t[34]!==n||t[35]!==A||t[36]!==s||t[37]!==r?(L=!j&&!A&&(r?af(n,a,{allowManualDispatchRetry:s}):rf(n,a)),t[32]=j,t[33]=a,t[34]=n,t[35]=A,t[36]=s,t[37]=r,t[38]=L):L=t[38];let R=L,z=S?.failure?.recovery,B;t[39]===n?B=t[40]:(B=Sf(n),t[39]=n,t[40]=B);let V=B,H=m?void 0:z?.attachments??n.attachments,U=z?.composerDocument??(`composerDocument`in n?n.composerDocument:void 0),W;t[41]!==I||t[42]!==h?(W={id:h,disabled:I},t[41]=I,t[42]=h,t[43]=W):W=t[43];let{attributes:ee,listeners:G,setNodeRef:K,transform:te,transition:ne,isDragging:re}=Yo(W),ie;t[44]===V?ie=t[45]:(ie=Ef(V),t[44]=V,t[45]=ie);let ae=ie,oe;t[46]!==H||t[47]!==U||t[48]!==V?(oe=Df(V,{attachments:H,composerDocument:U}),t[46]=H,t[47]=U,t[48]=V,t[49]=oe):oe=t[49];let se=oe,ce=m?n.attachmentCount:H?.length??0,le;t[50]!==n||t[51]!==d?(le=()=>d(n),t[50]=n,t[51]=d,t[52]=le):le=t[52];let ue=!F,de=y||void 0,fe=c?`h-7 w-3`:`size-7`,pe;t[53]===fe?pe=t[54]:(pe=Y(`inline-flex shrink-0 items-center justify-center bg-transparent text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,fe),t[53]=fe,t[54]=pe);let me;t[55]===f?me=t[56]:(me=f(`chat.queuedMessage.removeAria`),t[55]=f,t[56]=me);let he=y?`loader-4`:`delete-bin`,ge=c?`size-3`:`size-3.5`,_e=y&&`animate-spin`,ve;t[57]!==ge||t[58]!==_e?(ve=Y(ge,_e),t[57]=ge,t[58]=_e,t[59]=ve):ve=t[59];let ye;t[60]!==he||t[61]!==ve?(ye=(0,$.jsx)(X,{name:he,className:ve,"aria-hidden":`true`}),t[60]=he,t[61]=ve,t[62]=ye):ye=t[62];let be;t[63]!==le||t[64]!==ue||t[65]!==de||t[66]!==pe||t[67]!==me||t[68]!==ye?(be=(0,$.jsx)(`button`,{type:`button`,onClick:le,disabled:ue,"aria-busy":de,className:pe,"aria-label":me,children:ye}),t[63]=le,t[64]=ue,t[65]=de,t[66]=pe,t[67]=me,t[68]=ye,t[69]=be):be=t[69];let xe=be,Se;t[70]===te?Se=t[71]:(Se=Ko.Translate.toString(te),t[70]=te,t[71]=Se);let Ce;t[72]!==Se||t[73]!==ne?(Ce={transform:Se,transition:ne},t[72]=Se,t[73]=ne,t[74]=Ce):Ce=t[74];let we=c?`gap-1 py-0.5`:`flex gap-1.5 md:gap-2`,Te=re&&`z-10 opacity-60`,Ee;t[75]!==we||t[76]!==Te?(Ee=Y(`flex min-w-0 items-center`,we,Te),t[75]=we,t[76]=Te,t[77]=Ee):Ee=t[77];let De=x||void 0,Oe=c?`h-7 w-3`:`size-auto`,ke=I?`cursor-default opacity-50`:`cursor-grab hover:text-foreground active:cursor-grabbing`,Ae;t[78]!==Oe||t[79]!==ke?(Ae=Y(`flex flex-shrink-0 touch-none select-none items-center justify-center text-muted-foreground`,Oe,`transition-colors`,ke),t[78]=Oe,t[79]=ke,t[80]=Ae):Ae=t[80];let je;t[81]===f?je=t[82]:(je=f(`chat.queuedMessage.reorderAria`),t[81]=f,t[82]=je);let Me=x?`loader-4`:`draggable`,Ne=c?`size-3`:`size-3.5`,Pe=x&&`animate-spin`,Fe;t[83]!==Ne||t[84]!==Pe?(Fe=Y(Ne,Pe),t[83]=Ne,t[84]=Pe,t[85]=Fe):Fe=t[85];let Ie;t[86]!==Me||t[87]!==Fe?(Ie=(0,$.jsx)(X,{name:Me,className:Fe,"aria-hidden":`true`}),t[86]=Me,t[87]=Fe,t[88]=Ie):Ie=t[88];let Le;t[89]!==ee||t[90]!==I||t[91]!==G||t[92]!==De||t[93]!==Ae||t[94]!==je||t[95]!==Ie?(Le=(0,$.jsx)(`button`,{type:`button`,...ee,...G,disabled:I,"aria-busy":De,className:Ae,"aria-label":je,children:Ie}),t[89]=ee,t[90]=I,t[91]=G,t[92]=De,t[93]=Ae,t[94]=je,t[95]=Ie,t[96]=Le):Le=t[96];let Re=c?xe:null,ze=c?`text-xs leading-5`:`typography-ui-label leading-5`,Be;t[97]===ze?Be=t[98]:(Be=Y(`flex min-w-0 flex-1 items-baseline overflow-hidden whitespace-nowrap text-foreground`,ze),t[97]=ze,t[98]=Be);let Ve;t[99]!==ae||t[100]!==se||t[101]!==f?(Ve=se?se.map(Rf):ae||f(`chat.queuedMessage.empty`),t[99]=ae,t[100]=se,t[101]=f,t[102]=Ve):Ve=t[102];let He;t[103]!==ce||t[104]!==f?(He=ce>0&&(0,$.jsx)(`span`,{className:`ml-1 shrink-0 text-muted-foreground`,children:f(`chat.queuedMessage.attachments`,{count:ce})}),t[103]=ce,t[104]=f,t[105]=He):He=t[105];let Ue;t[106]!==Be||t[107]!==Ve||t[108]!==He?(Ue=(0,$.jsxs)(`span`,{className:Be,children:[Ve,He]}),t[106]=Be,t[107]=Ve,t[108]=He,t[109]=Ue):Ue=t[109];let We;t[110]!==N||t[111]!==R||t[112]!==_||t[113]!==c||t[114]!==n||t[115]!==l||t[116]!==u||t[117]!==m||t[118]!==A||t[119]!==f?(We=m?(0,$.jsxs)(`span`,{className:Y(`inline-flex items-center gap-1 font-medium text-muted-foreground`,c?`h-7 text-[11px] leading-none`:`h-7 typography-ui-label`),"aria-live":`polite`,"aria-label":f(`chat.queuedMessage.queuingAria`),children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(c?`size-3`:`size-3.5`,`animate-spin`),"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:f(`chat.queuedMessage.queuing`)})]}):A?(0,$.jsxs)(`span`,{className:Y(`inline-flex items-center gap-1 font-medium text-muted-foreground`,c?`h-7 text-[11px] leading-none`:`h-7 typography-ui-label`),"aria-live":`polite`,"aria-label":f(`chat.queuedMessage.sendingAria`),children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(c?`size-3`:`size-3.5`,`animate-spin`),"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:f(`chat.queuedMessage.sending`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>l(n),disabled:!N,"aria-busy":_||void 0,"aria-label":f(`chat.queuedMessage.edit`),className:Y(`inline-flex items-center bg-transparent text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,c?`h-7 gap-1.5 px-0 text-[11px]`:`h-7 gap-1 px-0.5`),children:[(0,$.jsx)(X,{name:_?`loader-4`:`edit`,className:Y(c?`size-3`:`size-3.5`,_&&`animate-spin`),"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`font-medium`,c?`leading-none`:`typography-ui-label`),children:f(`chat.queuedMessage.edit`)})]}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{A||u(n)},disabled:!R||A,"aria-busy":A||void 0,"aria-label":f(`chat.queuedMessage.send`),className:Y(`inline-flex items-center bg-transparent text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,c?`h-7 gap-1.5 px-0 text-[11px]`:`h-7 gap-1 px-0.5`),children:[(0,$.jsx)(X,{name:`send-plane`,className:Y(c?`size-3`:`size-3.5`),"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`font-medium`,c?`leading-none`:`typography-ui-label`),children:f(`chat.queuedMessage.send`)})]})]}),t[110]=N,t[111]=R,t[112]=_,t[113]=c,t[114]=n,t[115]=l,t[116]=u,t[117]=m,t[118]=A,t[119]=f,t[120]=We):We=t[120];let Ge=!c&&!m?xe:null,Ke;t[121]!==We||t[122]!==Ge?(Ke=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5 text-muted-foreground`,children:[We,Ge]}),t[121]=We,t[122]=Ge,t[123]=Ke):Ke=t[123];let qe;return t[124]!==K||t[125]!==Ce||t[126]!==Ee||t[127]!==Le||t[128]!==Re||t[129]!==Ue||t[130]!==Ke?(qe=(0,$.jsxs)(`div`,{ref:K,style:Ce,className:Ee,children:[Le,Re,Ue,Ke]}),t[124]=K,t[125]=Ce,t[126]=Ee,t[127]=Le,t[128]=Re,t[129]=Ue,t[130]=Ke,t[131]=qe):qe=t[131],qe});kf.displayName=`QueuedMessageChip`;var Af=[],jf=[],Mf=[],Nf=new Set,Pf=(e,t)=>t?ef(b(e,x(t.sessionID)),b(e,t)):Af,Ff=(e,t)=>{if(!t)return jf;let n=Pf(e,t),r=[...B(e,x(t.sessionID)),...B(e,t)];return r.length===0?n:[...n,...r]},If=(e,t)=>{let n=e.owner;return n?n.state===`unbound-legacy`?n.sessionID===t.sessionID?x(t.sessionID):null:_(n)===_(t)?t:null:null},Lf=(0,Z.memo)(e=>{let t=(0,Q.c)(147),{onEditMessage:n,onSendMessage:r,onEditCommitted:i,draftKey:a,scope:o,draftTarget:s,clientPendingItems:l,onRemoveClientPending:u,trailing:d}=e,f=l===void 0?Mf:l,{t:p}=ot(),m=c(zf),h=o?.transportIdentity??``,g=o?.directory??``,v=o?.sessionID??``,y;t[0]!==h||t[1]!==g||t[2]!==v?(y={transportIdentity:h,directory:g,sessionID:v},t[0]=h,t[1]=g,t[2]=v,t[3]=y):y=t[3];let b=au(y),x;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(x=new Map,t[4]=x):x=t[4];let S=Z.useRef(x);o?.runtimeGeneration,o?.transportIdentity;let w=o?.transportIdentity??``,T=o?.runtimeGeneration??-1,E;t[5]!==w||t[6]!==T?(E=[w,`messageQueue`,`scopeMutation`,T],t[5]=w,t[6]=T,t[7]=E):E=t[7];let D=E,O;t[8]===b.actions?O=t[9]:(O=e=>or(S,`${e.transportIdentity}\u0000${e.runtimeGeneration}\u0000${e.directory}\u0000${e.sessionID}\u0000${e.scopeID}`,()=>{if(e.transportIdentity!==e.runtime.transportIdentity||e.runtimeGeneration!==e.runtime.generation)return Promise.resolve({status:`stale`});let t=b.actions.captureRuntime();if(t.transportIdentity!==e.runtime.transportIdentity||t.generation!==e.runtime.generation)return Promise.resolve({status:`stale`});switch(e.kind){case`edit`:return b.actions.editIntoDraft(e.input);case`send`:return b.actions.manualSend(e.input);case`remove`:return b.actions.remove(e.input);case`reorder`:return b.actions.reorder(e.input)}throw Error(`Unsupported server queue operation`)}),t[8]=b.actions,t[9]=O);let k,A;t[10]!==b.actions||t[11]!==p?(k=(e,t)=>{let n=b.actions.captureRuntime();n.transportIdentity===t.runtime.transportIdentity&&n.generation===t.runtime.generation&&e.status!==`stale`&&t.kind===`edit`&&e.status!==`committed`&&Ii.error(p(`chat.chatInput.toast.queueOperationFailed`))},A=(e,t)=>{let n=b.actions.captureRuntime();n.transportIdentity===t.runtime.transportIdentity&&n.generation===t.runtime.generation&&Ii.error(p(e instanceof Li&&e.code===`unavailable`?`chat.chatInput.toast.queueOperationStatusUnknown`:`chat.chatInput.toast.queueOperationFailed`))},t[10]=b.actions,t[11]=p,t[12]=k,t[13]=A):(k=t[12],A=t[13]);let j;t[14]!==D||t[15]!==O||t[16]!==k||t[17]!==A?(j={mutationKey:D,mutationFn:O,onSuccess:k,onError:A},t[14]=D,t[15]=O,t[16]=k,t[17]=A,t[18]=j):j=t[18];let M=Ke(j),N;t[19]===D?N=t[20]:(N={filters:{mutationKey:D,exact:!0,status:`pending`},select:Bf},t[19]=D,t[20]=N);let P=Ge(N),F;t[21]===D?F=t[22]:(F={filters:{mutationKey:D,exact:!0,status:`success`},select:Vf},t[21]=D,t[22]=F);let I=Ge(F),R;bb0:{if(!o||!b.scope){R=null;break bb0}let e=o.runtimeGeneration??b.runtimeCapture.generation,n;t[23]!==o.directory||t[24]!==o.sessionID||t[25]!==o.transportIdentity||t[26]!==b.scope.scopeID||t[27]!==e?(n={transportIdentity:o.transportIdentity,directory:o.directory,sessionID:o.sessionID,scopeID:b.scope.scopeID,runtimeGeneration:e},t[23]=o.directory,t[24]=o.sessionID,t[25]=o.transportIdentity,t[26]=b.scope.scopeID,t[27]=e,t[28]=n):n=t[28],R=n}let z=R,B;bb1:{if(!z){let e;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[29]=e):e=t[29],B=e;break bb1}let e;if(t[30]!==z||t[31]!==P){let n;t[33]===z?n=t[34]:(n=e=>Of(e)&&e.scopeID===z.scopeID,t[33]=z,t[34]=n),e=mf(P.filter(n),z),t[30]=z,t[31]=P,t[32]=e}else e=t[32];B=e}let V=B,H;t[35]!==z||t[36]!==b.scope?.revision||t[37]!==I?(H=()=>z?hf(I.filter(Hf),z,b.scope?.revision):[],t[35]=z,t[36]=b.scope?.revision,t[37]=I,t[38]=H):H=t[38],b.scope?.revision;let U;t[39]===H?U=t[40]:(U=H(),t[39]=H,t[40]=U);let W=U,ee;t[41]!==W||t[42]!==V?(ee=[...V,...W],t[41]=W,t[42]=V,t[43]=ee):ee=t[43];let G=ee,K;t[44]===o?K=t[45]:(K=e=>Ff(e,o),t[44]=o,t[45]=K);let te=C(K);Z.useSyncExternalStore(cn,wn,wn);let ne;t[46]!==G||t[47]!==f||t[48]!==te||t[49]!==o?.sessionID||t[50]!==b.items||t[51]!==b.mode?(ne=()=>{let e=o?.sessionID,t=b.mode===`server`?vf(b.items,G):te,n=f.length===0?t:[...t,...f];if(!e)return n;let r=n.filter(t=>!Ft(e,t.queueItemID??``));return r.length===n.length?n:r},t[46]=G,t[47]=f,t[48]=te,t[49]=o?.sessionID,t[50]=b.items,t[51]=b.mode,t[52]=ne):ne=t[52],o?.sessionID;let re;t[53]===ne?re=t[54]:(re=ne(),t[53]=ne,t[54]=re);let ie=re,ae;if(t[55]!==G){ae=new Map;for(let e of G){let t=ae.get(e.queueItemID)??new Set;t.add(e.kind),ae.set(e.queueItemID,t)}t[55]=G,t[56]=ae}else ae=t[56];let oe=ae,se;if(t[57]!==G||t[58]!==ie||t[59]!==b.mode){bb2:{let e=new Set;if(b.mode===`server`){for(let t of G)t.kind===`send`&&e.add(t.queueItemID);for(let t of ie){if(Br(t))continue;let n=t.queueItemID;n&&uf(t)&&e.add(n)}se=e;break bb2}for(let t of ie){if(Br(t))continue;let n=t;lf(n)&&e.add(n.queueItemID||n.id)}se=e}t[57]=G,t[58]=ie,t[59]=b.mode,t[60]=se}else se=t[60];let ce=se,[le,ue]=Z.useState(Uf),de;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(de=new Map,t[61]=de):de=t[61];let fe=Z.useRef(de),pe,me;t[62]!==ce||t[63]!==le?(pe=()=>{let e=fe.current,t=Date.now();for(let t of[...e.keys()])ce.has(t)||e.delete(t);ue(e=>{let t=!1,n=new Set;for(let r of e)ce.has(r)?n.add(r):t=!0;return t?n:e});let n=[];for(let r of ce){if(e.has(r)||(e.set(r,t),ue(e=>{if(!e.has(r))return e;let t=new Set(e);return t.delete(r),t})),le.has(r))continue;let i=ff-(t-(e.get(r)??t));if(i<=0){ue(e=>{if(e.has(r))return e;let t=new Set(e);return t.add(r),t});continue}n.push(setTimeout(()=>{fe.current.has(r)&&ue(e=>{if(e.has(r))return e;let t=new Set(e);return t.add(r),t})},i))}return()=>{for(let e of n)clearTimeout(e)}},me=[ce,le],t[62]=ce,t[63]=le,t[64]=pe,t[65]=me):(pe=t[64],me=t[65]),Z.useEffect(pe,me);let he;t[66]===b.mode?he=t[67]:(he=$d(b.mode),t[66]=b.mode,t[67]=he);let ge=!he,_e=Hn(o),ve;t[68]!==_e||t[69]!==ie||t[70]!==b.mode?(ve=b.mode===`server`?!1:_e||ie.some(Wf),t[68]=_e,t[69]=ie,t[70]=b.mode,t[71]=ve):ve=t[71];let ye=ve,be=C(Gf),xe;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(xe={activationConstraint:{distance:8}},t[72]=xe):xe=t[72];let Se;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Se={activationConstraint:{delay:200,tolerance:6}},t[73]=Se):Se=t[73];let Ce=Go(Ro(Uo,xe),Ro(Bo,Se)),we;t[74]!==ge||t[75]!==o||t[76]!==ie||t[77]!==be||t[78]!==M||t[79]!==b.actions||t[80]!==b.mode||t[81]!==b.scope?(we=e=>{if(ge)return;let{active:t,over:n}=e;if(!n||t.id===n.id)return;if(b.mode===`server`){if(!o||!b.scope)return;let e=ie,r=e.find(e=>e.queueItemID===t.id),i=e.find(e=>e.queueItemID===n.id);if(!r||!i||Br(r)||Br(i)||cf(r)||cf(i))return;let a=b.scope,s=b.actions.captureRuntime();if(s.transportIdentity!==o.transportIdentity||s.generation!==o.runtimeGeneration)return;let c=L(),l=xf(a,String(t.id),String(n.id),c,e);if(!l)return;M.mutateAsync({kind:`reorder`,transportIdentity:s.transportIdentity,directory:a.directory,sessionID:a.sessionID,scopeID:a.scopeID,queueItemID:String(t.id),queueItemIDs:l.queueItemIDs,requestID:c,runtime:s,runtimeGeneration:s.generation,input:l}).catch(Kf);return}let r=ie.filter(qf),i=r.find(e=>(e.queueItemID??e.id)===t.id),a=r.find(e=>(e.queueItemID??e.id)===n.id);if(!i||!a||!o)return;let s=If(i,o),c=If(a,o);!s||!c||_(s)!==_(c)||be(s,String(t.id),String(n.id),i.operationID)},t[74]=ge,t[75]=o,t[76]=ie,t[77]=be,t[78]=M,t[79]=b.actions,t[80]=b.mode,t[81]=b.scope,t[82]=we):we=t[82];let Te=q(we),Ee;t[83]!==a||t[84]!==s||t[85]!==ge||t[86]!==i||t[87]!==n||t[88]!==o||t[89]!==M||t[90]!==b.actions||t[91]!==b.mode||t[92]!==b.scope?(Ee=e=>{if(ge||Br(e))return;if(b.mode===`server`){if(!o||!b.scope||!a||!s)return;let t=e,n=s.expectedRevision(),r=b.scope,c=b.actions.captureRuntime();if(c.transportIdentity!==o.transportIdentity||c.generation!==o.runtimeGeneration)return;M.mutateAsync({kind:`edit`,transportIdentity:c.transportIdentity,directory:r.directory,sessionID:r.sessionID,scopeID:r.scopeID,queueItemID:t.queueItemID,requestID:L(),runtime:c,runtimeGeneration:c.generation,input:bf(r,t,s.key,n)}).then(e=>{(e.status===`committed`||`draftDurable`in e&&e.draftDurable)&&i?.()}).catch(Jf);return}if(!o)return;let t=e,r=If(t,o);if(!r)return;let c=t.queueItemID??t.id,l=t.operationID,u=nf(t);(async()=>{let e;try{e=await Promise.resolve(n(u.content,u.attachments,u.composerDocument,u.composerMentions))}catch{e=!1}e&&(i?.(),C.getState().removeFromQueue(r,c,l))})()},t[83]=a,t[84]=s,t[85]=ge,t[86]=i,t[87]=n,t[88]=o,t[89]=M,t[90]=b.actions,t[91]=b.mode,t[92]=b.scope,t[93]=Ee):Ee=t[93];let De=q(Ee),Oe;t[94]!==ge||t[95]!==r||t[96]!==o||t[97]!==M||t[98]!==b.actions||t[99]!==b.mode||t[100]!==b.scope?(Oe=e=>{if(ge||Br(e))return;if(b.mode===`server`){if(!o||!b.scope)return;let t=e,n=b.scope,r=b.actions.captureRuntime();if(r.transportIdentity!==o.transportIdentity||r.generation!==o.runtimeGeneration)return;let i=t.queueItemID;fe.current.delete(i),ue(e=>{if(!e.has(i))return e;let t=new Set(e);return t.delete(i),t});let a=L();M.mutateAsync({kind:`send`,transportIdentity:r.transportIdentity,directory:n.directory,sessionID:n.sessionID,scopeID:n.scopeID,queueItemID:t.queueItemID,requestID:a,runtime:r,runtimeGeneration:r.generation,input:yf(n,t,a)}).catch(Yf);return}if(!o)return;let t=e;if(!If(t,o))return;let n=t.queueItemID??t.id;fe.current.delete(n),ue(e=>{if(!e.has(n))return e;let t=new Set(e);return t.delete(n),t}),r(n)},t[94]=ge,t[95]=r,t[96]=o,t[97]=M,t[98]=b.actions,t[99]=b.mode,t[100]=b.scope,t[101]=Oe):Oe=t[101];let ke=q(Oe),Ae;t[102]!==f||t[103]!==ge||t[104]!==u||t[105]!==o||t[106]!==M||t[107]!==b.actions||t[108]!==b.mode||t[109]!==b.scope?(Ae=e=>{if(Br(e)){f.some(t=>t.requestID===e.requestID)&&u?.(e.requestID);return}if(ge)return;if(b.mode===`server`){if(!o||!b.scope)return;let t=e,n=b.scope,r=b.actions.captureRuntime();if(r.transportIdentity!==o.transportIdentity||r.generation!==o.runtimeGeneration)return;let i=L();M.mutateAsync({kind:`remove`,transportIdentity:r.transportIdentity,directory:n.directory,sessionID:n.sessionID,scopeID:n.scopeID,queueItemID:t.queueItemID,requestID:i,runtime:r,runtimeGeneration:r.generation,input:yf(n,t,i)}).catch(Xf);return}if(!o)return;let t=e,n=If(t,o);n&&C.getState().removeFromQueue(n,t.queueItemID??t.id,t.operationID)},t[102]=f,t[103]=ge,t[104]=u,t[105]=o,t[106]=M,t[107]=b.actions,t[108]=b.mode,t[109]=b.scope,t[110]=Ae):Ae=t[110];let je=q(Ae),Me=ie.length>0&&(o||f.length>0);if(!Me&&!d)return null;let Ne=m?`px-2`:`px-4`,Pe;t[111]===Ne?Pe=t[112]:(Pe=Y(`oc-composer-queue relative z-0 -mb-5 w-full`,Ne),t[111]=Ne,t[112]=Pe);let Fe=m?`rounded-[1.25rem]`:`rounded-3xl`,Ie;t[113]===Fe?Ie=t[114]:(Ie=Y(`overflow-hidden border border-border/60 bg-[var(--surface-subtle)] text-foreground`,Fe),t[113]=Fe,t[114]=Ie);let Le=m?`px-1.5 py-1`:`gap-0.5 px-3 pb-1 pt-1.5`,Re;t[115]===Le?Re=t[116]:(Re=Y(`flex flex-col`,Le),t[115]=Le,t[116]=Re);let ze;t[117]!==ge||t[118]!==Te||t[119]!==De||t[120]!==je||t[121]!==ke||t[122]!==ye||t[123]!==Me||t[124]!==m||t[125]!==oe||t[126]!==ie||t[127]!==le||t[128]!==Ce||t[129]!==b.mode?(ze=Me?(0,$.jsx)(Wo,{sensors:Ce,collisionDetection:Ho,onDragEnd:Te,children:(0,$.jsx)(Zo,{items:ie.map(Zf),strategy:Xo,children:ie.map(e=>{let t=e.queueItemID||e.id;return(0,$.jsx)(kf,{message:e,server:b.mode===`server`,frozen:ge,hasDispatchLock:ye,pendingOperationKinds:oe.get(t)??Nf,sendPendingTimedOut:le.has(t),isMobile:m,onEdit:De,onSend:ke,onRemove:je},t)})})}):null,t[117]=ge,t[118]=Te,t[119]=De,t[120]=je,t[121]=ke,t[122]=ye,t[123]=Me,t[124]=m,t[125]=oe,t[126]=ie,t[127]=le,t[128]=Ce,t[129]=b.mode,t[130]=ze):ze=t[130];let Be;t[131]!==Me||t[132]!==d?(Be=d?(0,$.jsxs)($.Fragment,{children:[Me?(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`my-0.5 border-t border-border/40`}):null,d]}):null,t[131]=Me,t[132]=d,t[133]=Be):Be=t[133];let Ve;t[134]!==Re||t[135]!==ze||t[136]!==Be?(Ve=(0,$.jsxs)(`div`,{className:Re,children:[ze,Be]}),t[134]=Re,t[135]=ze,t[136]=Be,t[137]=Ve):Ve=t[137];let He=m?`h-4`:`h-5`,Ue;t[138]===He?Ue=t[139]:(Ue=(0,$.jsx)(`div`,{"aria-hidden":`true`,className:He}),t[138]=He,t[139]=Ue);let We;t[140]!==Ie||t[141]!==Ve||t[142]!==Ue?(We=(0,$.jsxs)(`div`,{className:Ie,children:[Ve,Ue]}),t[140]=Ie,t[141]=Ve,t[142]=Ue,t[143]=We):We=t[143];let qe;return t[144]!==Pe||t[145]!==We?(qe=(0,$.jsx)(`div`,{className:Pe,children:We}),t[144]=Pe,t[145]=We,t[146]=qe):qe=t[146],qe});Lf.displayName=`QueuedMessageChips`;function Rf(e,t){return e.type===`text`?(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e.text},`text-${t}`):(0,$.jsx)(Zd,{decoration:e.decoration,interactive:!1},`ref-${t}-${e.span.start}`)}function zf(e){return e.isMobile}function Bf(e){return e.state.variables}function Vf(e){let t=e.state.variables;if(!Of(t)||t.kind!==`send`)return;let n=e.state.data;if(!n||n.status!==`committed`)return;let r=`committedRevision`in n&&typeof n.committedRevision==`number`&&Number.isSafeInteger(n.committedRevision)?n.committedRevision:void 0,i=`scope`in n&&n.scope&&typeof n.scope.revision==`number`&&Number.isSafeInteger(n.scope.revision)?n.scope.revision:void 0,a=r??i;if(!(a===void 0||a<=0))return{...t,kind:`send`,committedRevision:a}}function Hf(e){return e!==void 0}function Uf(){return new Set}function Wf(e){return!Br(e)&&(e.status===`sending`||e.status===`reconciling`)}function Gf(e){return e.reorderQueue}function Kf(){}function qf(e){return!Br(e)}function Jf(){}function Yf(){}function Xf(){}function Zf(e){return e.queueItemID||e.id}var Qf=[0,200,400],$f=e=>{let t=(0,Q.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=Y(`inline-flex`,n),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=Qf.map(ep),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,$.jsxs)($.Fragment,{children:[`\xA0`,(0,$.jsx)(`span`,{className:r,"aria-hidden":`true`,children:i})]}),t[3]=r,t[4]=a),a};function ep(e){return(0,$.jsx)(`span`,{className:`animate-busy-pulse`,style:{animationDelay:`${e}ms`},children:`.`},e)}var tp=(0,Z.memo)(()=>{let e=(0,Q.c)(55),{t}=ot(),r=J(np),i;e[0]===r?i=e[1]:(i=e=>{if(!r)return null;let t=e.runsByOriginalSessionID[r]??null;return t?.runtimeKey===n()?t:null},e[0]=r,e[1]=i);let a=Vt(i),o=Vt(rp),s=c(ip),l=c(ap);if(!r||!a||a.status!==`running`)return null;let u;e[2]!==a.phase||e[3]!==t?(u=a.phase===`waiting_for_reviewer`?t(`chat.autoReview.status.waitingForReviewer`):t(`chat.autoReview.status.waitingForImplementer`),e[2]=a.phase,e[3]=t,e[4]=u):u=e[4];let d=u,f;e[5]!==s||e[6]!==a.directory||e[7]!==a.reviewSessionID||e[8]!==t?(f=()=>{s(a.directory,{mode:`chat`,dedupeKey:`session:${a.reviewSessionID}`,label:t(`chat.autoReview.reviewSessionLabel`),readOnly:!0})},e[5]=s,e[6]=a.directory,e[7]=a.reviewSessionID,e[8]=t,e[9]=f):f=e[9];let p=f,m=l?`pb-1 text-xs`:`pb-2`,h;e[10]===m?h=e[11]:(h=Y(`w-full px-1`,m),e[10]=m,e[11]=h);let g=l?`rounded-lg`:`rounded-xl`,_;e[12]===g?_=e[13]:(_=Y(`border border-border/60 bg-[var(--surface-elevated)] text-[var(--surface-elevated-foreground)] shadow-sm dark:shadow-none overflow-hidden`,g),e[12]=g,e[13]=_);let v=l?`gap-1.5 px-2 py-1`:`gap-2 px-3 py-2`,y;e[14]===v?y=e[15]:(y=Y(`flex w-full items-center text-left`,v),e[14]=v,e[15]=y);let b=l?`size-3.5`:`size-4`,x;e[16]===b?x=e[17]:(x=Y(`animate-spin text-muted-foreground`,b),e[16]=b,e[17]=x);let S;e[18]===x?S=e[19]:(S=(0,$.jsx)(X,{name:`loader-4`,className:x,"aria-hidden":`true`}),e[18]=x,e[19]=S);let C;e[20]===t?C=e[21]:(C=t(`chat.autoReview.title`),e[20]=t,e[21]=C);let w;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)($f,{}),e[22]=w):w=e[22];let T;e[23]===C?T=e[24]:(T=(0,$.jsxs)(`span`,{className:`typography-ui-label font-medium text-foreground`,children:[C,w]}),e[23]=C,e[24]=T);let E;e[25]===d?E=e[26]:(E=(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:d}),e[25]=d,e[26]=E);let D;e[27]!==T||e[28]!==E?(D=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[T,E]}),e[27]=T,e[28]=E,e[29]=D):D=e[29];let O;e[30]===t?O=e[31]:(O=t(`chat.autoReview.actions.open`),e[30]=t,e[31]=O);let k;e[32]!==p||e[33]!==O?(k=(0,$.jsx)(da,{type:`button`,variant:`secondary`,size:`xs`,onClick:p,children:O}),e[32]=p,e[33]=O,e[34]=k):k=e[34];let A;e[35]!==r||e[36]!==o?(A=()=>o(r),e[35]=r,e[36]=o,e[37]=A):A=e[37];let j;e[38]===t?j=e[39]:(j=t(`chat.autoReview.actions.stop`),e[38]=t,e[39]=j);let M;e[40]!==A||e[41]!==j?(M=(0,$.jsx)(da,{type:`button`,variant:`secondary`,size:`xs`,onClick:A,children:j}),e[40]=A,e[41]=j,e[42]=M):M=e[42];let N;e[43]!==S||e[44]!==D||e[45]!==k||e[46]!==M||e[47]!==y?(N=(0,$.jsxs)(`div`,{className:y,children:[S,D,k,M]}),e[43]=S,e[44]=D,e[45]=k,e[46]=M,e[47]=y,e[48]=N):N=e[48];let P;e[49]!==N||e[50]!==_?(P=(0,$.jsx)(`div`,{className:_,children:N}),e[49]=N,e[50]=_,e[51]=P):P=e[51];let F;return e[52]!==P||e[53]!==h?(F=(0,$.jsx)(`div`,{className:h,children:P}),e[52]=P,e[53]=h,e[54]=F):F=e[54],F});tp.displayName=`AutoReviewBanner`;function np(e){return e.currentSessionId}function rp(e){return e.stopRun}function ip(e){return e.openContextPanelTab}function ap(e){return e.isMobile}var op=Z.forwardRef((e,t)=>{let n=(0,Q.c)(55),{searchQuery:r,onSkillSelect:i,onClose:a,directory:o,style:s}=e,l=Z.useRef(null),u=c(sp),d=_s(l,u),[f,p]=Z.useState(0),m=Z.useRef(0),h=Z.useRef(!1),g;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],n[0]=g):g=n[0];let[_,v]=Z.useState(g),y;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],n[1]=y):y=n[1];let b=Z.useRef(y),x;n[2]===o?x=n[3]:(x={directory:o},n[2]=o,n[3]=x);let S=Ti(x),C;n[4]===S.data?C=n[5]:(C=S.data??[],n[4]=S.data,n[5]=C);let w=C,T,E;n[6]!==r||n[7]!==w?(T=()=>{let e=r.trim();if(!e.length){let e=[...w].sort(cp);v(e),p(0);return}let t=br(w,e,lp);t.sort(up),v(t.map(dp)),p(0)},E=[w,r],n[6]=r,n[7]=w,n[8]=T,n[9]=E):(T=n[8],E=n[9]),Z.useEffect(T,E);let D,O;n[10]===f?(D=n[11],O=n[12]):(D=()=>{m.current=f},O=[f],n[10]=f,n[11]=D,n[12]=O),Z.useEffect(D,O);let k,A;n[13]===f?(k=n[14],A=n[15]):(A=()=>{b.current[f]?.scrollIntoView({block:`nearest`})},k=[f],n[13]=f,n[14]=k,n[15]=A),Z.useEffect(A,k);let j,M;n[16]===a?(j=n[17],M=n[18]):(j=()=>{let e=e=>{let t=e.target;!t||!l.current||l.current.contains(t)||a()};return document.addEventListener(`pointerdown`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0)}},M=[a],n[16]=a,n[17]=j,n[18]=M),Z.useEffect(j,M);let N,P;n[19]!==_||n[20]!==a||n[21]!==i?(N=()=>({handleKeyDown:e=>{if(e===`Escape`){a();return}if(_.length){if(e===`ArrowDown`){h.current=!0,p(e=>(e+1)%_.length);return}if(e===`ArrowUp`){h.current=!0,p(e=>(e-1+_.length)%_.length);return}if(e===`Enter`||e===`Tab`){let e=(m.current%_.length+_.length)%_.length,t=_[e];t&&i(t)}}}}),P=[_,i,a],n[19]=_,n[20]=a,n[21]=i,n[22]=N,n[23]=P):(N=n[22],P=n[23]),Z.useImperativeHandle(t,N,P);let F,I,L,R,z,B,V,H;if(n[24]!==_||n[25]!==u||n[26]!==d||n[27]!==i||n[28]!==f||n[29]!==s){let e=(e,t)=>{let n=e.scope===`project`,r=e.source||`opencode`;return(0,$.jsx)(`div`,{ref:e=>{b.current[t]=e},className:Y(`flex gap-2 px-3 py-1.5 cursor-pointer rounded-lg typography-ui-label`,u?`items-center`:`items-start`,t===f&&`bg-interactive-selection`),onClick:()=>i(e),onMouseMove:()=>{h.current=!1,p(t)},children:(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-semibold truncate`,children:e.name}),(0,$.jsx)(`span`,{className:Y(`text-[10px] leading-none uppercase font-bold tracking-tight px-1.5 py-1 rounded border flex-shrink-0 transition-colors`,n?`bg-[var(--status-info-background)] text-[var(--status-info)] border-[var(--status-info-border)]`:`bg-[var(--status-success-background)] text-[var(--status-success)] border-[var(--status-success-border)]`),children:e.scope}),(0,$.jsx)(`span`,{className:`text-[10px] leading-none uppercase font-bold tracking-tight px-1.5 py-1 rounded border flex-shrink-0 bg-[var(--surface-muted)] text-muted-foreground border-[var(--interactive-border)]/60`,children:r})]}),e.description&&!u&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mt-0.5 truncate`,children:e.description})]})},`${e.name}-${e.scope}`)};B=l,V=`absolute z-[100] min-w-0 w-full max-w-[450px] max-h-60 bg-background border-2 border-border/60 rounded-xl shadow-none bottom-full mb-2 left-0 flex flex-col`,n[38]!==d||n[39]!==s?(H=d===void 0?s:{...s,maxHeight:d},n[38]=d,n[39]=s,n[40]=H):H=n[40],F=ma,I=!0,L=`flex-1 min-h-0`,R=`px-0 pb-2`,z=_.length?(0,$.jsx)(`div`,{children:_.map((t,n)=>e(t,n))}):(0,$.jsx)(`div`,{className:`px-3 py-2 typography-ui-label text-muted-foreground`,children:`No skills found`}),n[24]=_,n[25]=u,n[26]=d,n[27]=i,n[28]=f,n[29]=s,n[30]=F,n[31]=I,n[32]=L,n[33]=R,n[34]=z,n[35]=B,n[36]=V,n[37]=H}else F=n[30],I=n[31],L=n[32],R=n[33],z=n[34],B=n[35],V=n[36],H=n[37];let U;n[41]!==F||n[42]!==I||n[43]!==L||n[44]!==R||n[45]!==z?(U=(0,$.jsx)(F,{preventOverscroll:I,outerClassName:L,className:R,children:z}),n[41]=F,n[42]=I,n[43]=L,n[44]=R,n[45]=z,n[46]=U):U=n[46];let W;n[47]===u?W=n[48]:(W=!u&&(0,$.jsx)(`div`,{className:`px-3 pt-1 pb-1.5 border-t typography-meta text-muted-foreground`,children:`↑↓ navigate • Enter select • Esc close`}),n[47]=u,n[48]=W);let ee;return n[49]!==B||n[50]!==V||n[51]!==H||n[52]!==U||n[53]!==W?(ee=(0,$.jsxs)(`div`,{ref:B,className:V,style:H,children:[U,W]}),n[49]=B,n[50]=V,n[51]=H,n[52]=U,n[53]=W,n[54]=ee):ee=n[54],ee});op.displayName=`SkillAutocomplete`;function sp(e){return e.isMobile}function cp(e,t){return e.scope===`project`&&t.scope!==`project`?-1:e.scope!==`project`&&t.scope===`project`?1:e.name.localeCompare(t.name)}function lp(e){return[e.name,e.description??``]}function up(e,t){return 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}function dp(e){return e.item}function fp(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(`pointer-events-none inline-flex h-5 min-w-5 shrink-0 select-none items-center justify-center`,`rounded-md border border-[var(--interactive-border)] bg-[var(--surface-muted)]`,`px-1.5 font-mono typography-micro font-medium leading-none normal-case`,`text-[var(--surface-muted-foreground)] whitespace-nowrap`,`shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.12)]`,`dark:shadow-[inset_0_-1px_0_0_rgba(255,255,255,0.08)]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(`kbd`,{"data-slot":`kbd`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function pp(e){let t=(0,Q.c)(15),{shortcut:n,className:r,tone:i}=e,a=i===void 0?`default`:i,o,s,c,l;if(t[0]!==r||t[1]!==n||t[2]!==a){l=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.split(`+`).map(mp).filter(Boolean);if(e.length===0){l=null;break bb0}o=`shortcut-kbd`,t[7]===r?s=t[8]:(s=Y(`inline-flex items-center gap-1 whitespace-nowrap normal-case`,r),t[7]=r,t[8]=s);let i;t[9]===a?i=t[10]:(i=(e,t)=>(0,$.jsxs)(Z.Fragment,{children:[t>0?(0,$.jsx)(`span`,{className:`typography-micro font-semibold text-[var(--surface-muted-foreground)]`,children:`+`}):null,(0,$.jsx)(fp,{className:Y(a===`selection`&&`border-[var(--interactive-selection)] bg-[var(--interactive-selection)] text-[var(--interactive-selection-foreground)]`),children:/^[a-z]$/i.test(e)?e.toUpperCase():e})]},`${e}-${t}`),t[9]=a,t[10]=i),c=e.map(i)}t[0]=r,t[1]=n,t[2]=a,t[3]=o,t[4]=s,t[5]=c,t[6]=l}else o=t[3],s=t[4],c=t[5],l=t[6];if(l!==Symbol.for(`react.early_return_sentinel`))return l;let u;return t[11]!==o||t[12]!==s||t[13]!==c?(u=(0,$.jsx)(`span`,{"data-slot":o,className:s,children:c}),t[11]=o,t[12]=s,t[13]=c,t[14]=u):u=t[14],u}function mp(e){return e.trim()}var hp=`mobile-overlay-root`,gp=16,_p=200,vp=[],yp=0,bp=``,xp=0,Sp=()=>{if(typeof document>`u`)return null;let e=document.getElementById(hp);return e||(e=document.createElement(`div`),e.id=hp,document.body.appendChild(e)),e},Cp=({open:e,title:t,onClose:n,children:r,footer:i,className:a,contentMaxHeightClassName:o,renderHeader:s,containedBody:c=!1,closeAriaLabel:l})=>{let u=Z.useRef(null),d=Z.useRef(Symbol(`mobile-overlay`)),f=Z.useRef(n);f.current=n;let[p,m]=Z.useState(!1),[h,g]=Z.useState(!1);if(typeof document<`u`&&!u.current&&(u.current=Sp()),Z.useEffect(()=>{if(!e){m(!1),g(!1);return}let t=window.setTimeout(()=>m(!0),gp),n=window.setTimeout(()=>g(!0),266);return()=>{window.clearTimeout(t),window.clearTimeout(n)}},[e]),Z.useLayoutEffect(()=>{if(e)return xp===0&&window.dispatchEvent(new Event(`oc:mobile-overlay-opened`)),xp+=1,()=>{xp=Math.max(0,xp-1),xp===0&&window.dispatchEvent(new Event(`oc:mobile-overlay-closed`))}},[e]),Z.useEffect(()=>{if(!e)return;let t=d.current;vp.push(t),yp===0&&(bp=document.body.style.overflow),yp+=1,document.body.style.overflow=`hidden`;let n=e=>{e.key===`Escape`&&vp[vp.length-1]===t&&f.current()};return document.addEventListener(`keydown`,n),()=>{let e=vp.lastIndexOf(t);e>=0&&vp.splice(e,1),yp=Math.max(0,yp-1),yp===0&&(document.body.style.overflow=bp),document.removeEventListener(`keydown`,n)}},[e]),!e||!u.current)return null;let _=o??`max-h-[min(70vh,520px)]`,v=(0,$.jsx)(`div`,{className:Y(`oc-keyboard-inset-surface fixed inset-0 z-[60] flex flex-col bg-[rgb(0_0_0_/_0.45)] transition-opacity duration-200 ease-out`,!h&&`oc-keyboard-inset-snap`,p?`opacity-100`:`opacity-0`),role:`dialog`,"aria-modal":`true`,"aria-label":t,onPointerDown:Za,onClick:e=>{Ga(e)&&n()},children:(0,$.jsxs)(`div`,{className:Y(`mt-auto flex max-h-[calc(100dvh-0.75rem)] min-h-0 w-full flex-col rounded-t-xl border-x border-t border-border/50 bg-background pb-[max(0.5rem,var(--oc-app-bottom-safe,0px),var(--oc-safe-area-bottom,env(safe-area-inset-bottom,0px)))] shadow-none pwa-overlay-panel`,`mx-auto max-w-lg`,a),style:{transform:p?`none`:`translateY(100%)`,transition:`transform ${_p}ms cubic-bezier(0.32, 0.72, 0, 1)`},onClick:e=>e.stopPropagation(),children:[(()=>{let e=(0,$.jsx)(`button`,{type:`button`,onClick:n,className:Y(`flex items-center justify-center rounded-lg text-muted-foreground hover:bg-interactive-hover`,c?`size-11`:`h-8 w-8`),"aria-label":l??t,children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`})});return s?s(e):(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border/40`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:t}),e]})})(),c?(0,$.jsx)(`div`,{className:Y(`flex min-h-0 flex-1 flex-col overflow-hidden`,_),children:r}):(0,$.jsx)(ma,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:Y(`min-h-0 flex-1`,_),className:`px-2 py-2 pwa-overlay-scroll`,children:r}),i?(0,$.jsx)(`div`,{className:`shrink-0 border-t border-border/40 px-3 py-2`,children:i}):null]})});return(0,Sc.createPortal)(v,u.current)},wp=e=>e===`full`||e===`allow`?{text:`var(--status-info)`,border:`color-mix(in srgb, var(--status-info) 25%, transparent)`,background:`color-mix(in srgb, var(--status-info) 4%, transparent)`,borderWidth:1.5}:null,Tp=1e3,Ep=e=>{let t=(0,Q.c)(24),{name:n,label:r,revealed:i,avatarSize:a,slotClassName:o,colorVar:s}=e,c;t[0]===o?c=t[1]:(c=Y(`inline-flex shrink-0 items-center justify-center`,o),t[0]=o,t[1]=c);let l=i?void 0:r,u;t[2]!==a||t[3]!==n||t[4]!==l?(u=(0,$.jsx)(na,{name:n,size:a,label:l}),t[2]=a,t[3]=n,t[4]=l,t[5]=u):u=t[5];let d;t[6]!==c||t[7]!==u?(d=(0,$.jsx)(`span`,{className:c,children:u}),t[6]=c,t[7]=u,t[8]=d):d=t[8];let f=i?`grid-cols-[1fr] opacity-100`:`grid-cols-[0fr] opacity-0`,p;t[9]===f?p=t[10]:(p=Y(`grid min-w-0 items-center ease-in-out`,f),t[9]=f,t[10]=p);let m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m={transitionProperty:`grid-template-columns, opacity`,transitionDuration:`280ms`,transitionTimingFunction:`ease-in-out`},t[11]=m):m=t[11];let h=!i,g;t[12]===s?g=t[13]:(g=s?{color:`var(${s})`}:void 0,t[12]=s,t[13]=g);let _;t[14]!==r||t[15]!==g?(_=(0,$.jsx)(`span`,{className:`flex min-w-0 items-center overflow-hidden`,children:(0,$.jsx)(`span`,{className:`inline-block whitespace-nowrap pl-1.5 pr-0.5 typography-micro leading-none font-medium`,style:g,children:r})}),t[14]=r,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==_||t[18]!==p||t[19]!==h?(v=(0,$.jsx)(`span`,{className:p,style:m,"aria-hidden":h,children:_}),t[17]=_,t[18]=p,t[19]=h,t[20]=v):v=t[20];let y;return t[21]!==v||t[22]!==d?(y=(0,$.jsxs)($.Fragment,{children:[d,v]}),t[21]=v,t[22]=d,t[23]=y):y=t[23],y};function Dp(e){let t=(0,Q.c)(5),[n,r]=Z.useState(!1),i=Z.useRef(void 0),a=Z.useRef(!1),o=Z.useRef(null),s,c;t[0]===e?(s=t[1],c=t[2]):(s=()=>{if(!a.current){a.current=!0,i.current=e;return}if(e===i.current)return;let t=i.current;if(i.current=e,!t||!e){r(!1);return}return r(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{r(!1),o.current=null},Tp),()=>{o.current&&=(clearTimeout(o.current),null)}},c=[e],t[0]=e,t[1]=s,t[2]=c),Z.useEffect(s,c);let l,u;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>()=>{o.current&&clearTimeout(o.current)},u=[],t[3]=l,t[4]=u):(l=t[3],u=t[4]),Z.useEffect(l,u),n}var Op=`oc-tool-row -mx-2 rounded-lg px-2 py-0.5 cursor-pointer`,kp=e=>`flow-root ${e?`py-1`:`py-1.5`}`,Ap=`${Op} hover:bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)]`,jp=`hover:!bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] data-[popup-open]:!bg-[color-mix(in_srgb,var(--surface-foreground)_10%,transparent)] data-[state=open]:!bg-[color-mix(in_srgb,var(--surface-foreground)_10%,transparent)]`,Mp=`inline-flex items-center gap-1.5 rounded-lg px-2.5 py-1 ${jp}`,Np=`rounded-md ${jp}`,Pp=()=>{if(!(typeof window>`u`))return window.__zustand_config_store__},Fp=e=>{if(e)try{let t=Pp();if(t?.getState)return t.getState().agents?.find?.(t=>t.name===e)}catch{}},Ip=(e,t)=>{if(!e||e.length===0)return`ask`;for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.permission===t&&r.pattern===`*`)return r.action}for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.permission===`*`&&n.pattern===`*`)return n.action}return`ask`},Lp=e=>{let t=Fp(e);return t?Ip(t.permission,`edit`):`ask`},Rp=e=>{if(!e||typeof e!=`object`)return 0;let t=e.input??0,n=e.output??0,r=e.reasoning??0,i=e.cache&&typeof e.cache==`object`?e.cache.read??0:0,a=e.cache&&typeof e.cache==`object`?e.cache.write??0:0;return t+n+r+i+a},zp=e=>{let t=e.info.tokens;if(typeof t==`number`)return t;if(t&&typeof t==`object`)return Rp(t);let n=e.parts.find(e=>e.tokens!==void 0);return!n||n.tokens===void 0?0:typeof n.tokens==`number`?n.tokens:Rp(n.tokens)},Bp=e=>{if(!e||typeof e!=`object`)return{percent:0,hasInput:!1};let t=e.input??0,n=e.cache&&typeof e.cache==`object`?e.cache.read??0:0,r=e.cache&&typeof e.cache==`object`?e.cache.write??0:0,i=t+n+r;return i<=0?{percent:0,hasInput:!1}:{percent:Math.min(100,Math.max(0,Math.max(0,n)/i*100)),hasInput:!0}},Vp=(e,t,n)=>{let r=Number.isFinite(t)?Math.max(t,0):0,i=Number.isFinite(n)&&n>0,a=i?Math.max(n,0):0,o=Math.min(Math.min(i?a:32e3,32e3),r),s=r>0?Math.max(r-o,1):0,c=s>0?e/s*100:0;return{percentage:Math.min(c,100),contextLimit:r,outputLimit:a,thresholdLimit:s||1,normalizedOutput:o}},Hp=[`ask`,`allow`,`full`],Up=`__global__`,Wp=de()(pe(fe((e,t)=>({sessionModelSelections:new Map,sessionAgentSelections:new Map,sessionAgentModelSelections:new Map,sessionAgentModelVariantSelections:new Map,currentAgentContext:new Map,sessionContextUsage:new Map,sessionAgentEditModes:new Map,hasHydrated:typeof window>`u`,saveSessionModelSelection:(t,n,r)=>{e(e=>{let i=new Map(e.sessionModelSelections);return i.set(t,{providerId:n,modelId:r}),{sessionModelSelections:i}})},getSessionModelSelection:e=>{let{sessionModelSelections:n}=t();return n.get(e)||null},saveSessionAgentSelection:(t,n)=>{e(e=>{let r=new Map(e.sessionAgentSelections);r.set(t,n);let i=new Map(e.currentAgentContext);return i.set(t,n),{sessionAgentSelections:r,currentAgentContext:i}})},getSessionAgentSelection:e=>{let{sessionAgentSelections:n}=t();return n.get(e)||null},saveAgentModelForSession:(t,n,r,i)=>{e(e=>{let a=new Map(e.sessionAgentModelSelections),o=a.get(t);return o=o?new Map(o):new Map,o.set(n,{providerId:r,modelId:i}),a.set(t,o),{sessionAgentModelSelections:a}})},getAgentModelForSession:(e,n)=>{let{sessionAgentModelSelections:r}=t(),i=r.get(e);return i&&i.get(n)||null},saveAgentModelVariantForSession:(t,n,r,i,a)=>{e(e=>{let o=new Map(e.sessionAgentModelVariantSelections),s=o.get(t);s=s?new Map(s):new Map;let c=s.get(n);c=c?new Map(c):new Map;let l=`${r}/${i}`;return a===void 0?(c.delete(l),c.size===0?(s.delete(n),s.size===0?o.delete(t):o.set(t,s)):(s.set(n,c),o.set(t,s))):(c.set(l,a),s.set(n,c),o.set(t,s)),{sessionAgentModelVariantSelections:o}})},getAgentModelVariantForSession:(e,n,r,i)=>{let{sessionAgentModelVariantSelections:a}=t(),o=a.get(e);if(!o)return;let s=o.get(n);if(s)return s.get(`${r}/${i}`)},getContextUsage:(n,r,i,a)=>{if(!n)return null;let o=Vp(0,r,i),s=o.contextLimit,c=o.normalizedOutput??0,l=o.thresholdLimit;if(s===0||l===0)return null;let u=(a.get(n)||[]).filter(e=>e.info.role===`assistant`);if(u.length===0)return null;let d=u[u.length-1],f=d.info.id,p=t=>{let r=()=>{e(e=>{let r=e.sessionContextUsage.get(n);if(r&&r.totalTokens===t.totalTokens&&r.percentage===t.percentage&&r.contextLimit===t.contextLimit&&(r.outputLimit??0)===(t.outputLimit??0)&&(r.normalizedOutput??0)===(t.normalizedOutput??0)&&r.thresholdLimit===t.thresholdLimit&&r.lastMessageId===t.lastMessageId)return e;let i=new Map(e.sessionContextUsage);return i.set(n,t),{sessionContextUsage:i}})};typeof queueMicrotask==`function`?queueMicrotask(r):typeof window<`u`?window.setTimeout(r,0):setTimeout(r,0)},m=t().sessionContextUsage.get(n);if(m&&m.lastMessageId===f){let e=m.normalizedOutput??m.outputLimit??0,t=m.contextLimit!==s||e!==c||m.thresholdLimit!==l;if(t&&m.totalTokens>0){let e=m.totalTokens/l*100,t={totalTokens:m.totalTokens,percentage:Math.min(e,100),contextLimit:s,outputLimit:o.outputLimit,normalizedOutput:c,thresholdLimit:l,lastMessageId:f};return p(t),t}if(!t&&m.totalTokens>0)return m}let h=zp(d);if(h===0)return m||null;let g=Vp(h,r,i),_={totalTokens:h,percentage:g.percentage,contextLimit:g.contextLimit,outputLimit:g.outputLimit,normalizedOutput:g.normalizedOutput,thresholdLimit:g.thresholdLimit,lastMessageId:f};return p(_),_},updateSessionContextUsage:(t,n,r,i)=>{let a=(i.get(t)||[]).filter(e=>e.info.role===`assistant`);if(a.length===0)return;let o=a[a.length-1],s=zp(o);if(s===0)return;let c=Vp(s,n,r);e(e=>{let n=new Map(e.sessionContextUsage);return n.set(t,{totalTokens:s,percentage:c.percentage,contextLimit:c.contextLimit,outputLimit:c.outputLimit,normalizedOutput:c.normalizedOutput,thresholdLimit:c.thresholdLimit,lastMessageId:o.info.id}),{sessionContextUsage:n}})},initializeSessionContextUsage:(e,n,r,i)=>{let a=t().sessionContextUsage.get(e);(!a||a.totalTokens===0)&&t().updateSessionContextUsage(e,n,r,i)},pollForTokenUpdates:(e,n,r,i=10)=>{let a=0,o=()=>{a++;let s=(r.get(e)||[]).find(e=>e.info.id===n);if(s&&s.info.role===`assistant`&&zp(s)>0){t().updateSessionContextUsage(e,0,0,r);return}a<i&&setTimeout(o,1e3)};setTimeout(o,2e3)},getCurrentAgent:e=>{let{currentAgentContext:n}=t();return n.get(e)},getSessionAgentEditMode:(e,n,r=Lp(n))=>{if(!e||!n)return r;let i=t().sessionAgentEditModes.get(e)?.get(n);if(i!==void 0)return i;if(e!==Up){let e=t().sessionAgentEditModes.get(Up)?.get(n);if(e!==void 0)return e}return r},setSessionAgentEditMode:(t,n,r,i=Lp(n))=>{if(!t||!n)return;let a=i??`ask`;a!==`deny`&&r!==`deny`&&Hp.includes(r)&&e(e=>{let i=new Map(e.sessionAgentEditModes),o=new Map(i.get(t)??new Map);return r===a?(o.delete(n),o.size===0?i.delete(t):i.set(t,o)):(o.set(n,r),i.set(t,o)),{sessionAgentEditModes:i}})},toggleSessionAgentEditMode:(e,n,r=Lp(n))=>{if(!e||!n)return;let i=r??`ask`;if(i===`deny`)return;let a=t().getSessionAgentEditMode(e,n,i),o=Hp.indexOf(a),s=Hp.indexOf(i),c=Hp[((o>=0?o:s>=0?s:0)+1)%Hp.length];t().setSessionAgentEditMode(e,n,c,i)}}),{name:`context-store`,storage:l(),partialize:e=>({sessionModelSelections:Array.from(e.sessionModelSelections.entries()),sessionAgentSelections:Array.from(e.sessionAgentSelections.entries()),sessionAgentModelSelections:Array.from(e.sessionAgentModelSelections.entries()).map(([e,t])=>[e,Array.from(t.entries())]),sessionAgentModelVariantSelections:Array.from(e.sessionAgentModelVariantSelections.entries()).map(([e,t])=>[e,Array.from(t.entries()).map(([e,t])=>[e,Array.from(t.entries())])]),currentAgentContext:Array.from(e.currentAgentContext.entries()),sessionContextUsage:Array.from(e.sessionContextUsage.entries()),sessionAgentEditModes:Array.from(e.sessionAgentEditModes.entries()).map(([e,t])=>[e,Array.from(t.entries())])}),merge:(e,t)=>{let n=new Map;e?.sessionAgentModelSelections&&e.sessionAgentModelSelections.forEach(([e,t])=>{n.set(e,new Map(t))});let r=new Map;e?.sessionAgentModelVariantSelections&&e.sessionAgentModelVariantSelections.forEach(([e,t])=>{let n=new Map;t.forEach(([e,t])=>{n.set(e,new Map(t))}),r.set(e,n)});let i=new Map;return e?.sessionAgentEditModes&&e.sessionAgentEditModes.forEach(([e,t])=>{i.set(e,new Map(t))}),{...t,...e,sessionModelSelections:new Map(e?.sessionModelSelections||[]),sessionAgentSelections:new Map(e?.sessionAgentSelections||[]),sessionAgentModelSelections:n,sessionAgentModelVariantSelections:r,currentAgentContext:new Map(e?.currentAgentContext||[]),sessionContextUsage:new Map(e?.sessionContextUsage||[]),sessionAgentEditModes:i,hasHydrated:!0}}}),{name:`context-store`})),Gp=e=>kn([...e??[]]),Kp=typeof window<`u`?Z.useLayoutEffect:Z.useEffect,qp=(e,t)=>{let n=(0,Q.c)(16),r;n[0]===t?r=n[1]:(r=t===void 0?[]:t,n[0]=t,n[1]=r);let i=r,[a,o]=Z.useState(!1),s;n[2]===e?s=n[3]:(s=()=>{let t=e.current;if(!t)return;let n=t.scrollWidth>t.clientWidth+1;o(e=>e===n?e:n)},n[2]=e,n[3]=s);let c=s,l;n[4]===c?l=n[5]:(l=()=>{c()},n[4]=c,n[5]=l);let u;n[6]!==c||n[7]!==i?(u=[c,...i],n[6]=c,n[7]=i,n[8]=u):u=n[8],Kp(l,u);let d,f;n[9]!==c||n[10]!==e?(d=()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>{c()});return n.observe(t),()=>n.disconnect()},f=[c,e],n[9]=c,n[10]=e,n[11]=d,n[12]=f):(d=n[11],f=n[12]),Z.useEffect(d,f);let p,m;return n[13]===c?(p=n[14],m=n[15]):(p=()=>{if(typeof window>`u`||typeof ResizeObserver<`u`)return;let e=()=>c();return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},m=[c],n[13]=c,n[14]=p,n[15]=m),Z.useEffect(p,m),a};function Jp(e,t){return!e&&t===`trigger-hover`}var Yp=e=>{let t=e.current;return!t||!t.isConnected||t.disabled?null:t},Xp=e=>{let t=Yp(e);return t?(t.focus({preventScroll:!0}),!0):!1},Zp=(e,t)=>e&&!t,Qp=e=>{let t=e?.variants;return t?Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.length>0):typeof t==`object`?Object.keys(t):[]:[]},$p=(e,t,n,r)=>{if(e.providerID!==n||e.modelID!==r||t?.variantsReady===!1)return[];if(t?.variants)return[...t.variants];let i=(t?.providers?.find(e=>e.id===n))?.models?.find(e=>e.id===r);return Qp(i)},em=()=>!0,tm=(e,t)=>(e.commandPolicy??em)(t),nm=Z.createContext(null),rm=()=>Z.useContext(nm),im=e=>e,am=(e,t)=>t??e,om=e=>{if(e.kind!==`primary`&&(!e.sessionID||!e.directory||!e.draftKey||!e.transportIdentity||!Number.isSafeInteger(e.runtimeGeneration)||!e.resources||typeof e.resources.busy!=`boolean`||!e.activity||!e.commands||!e.shortcuts))throw Error(`chat-input-secondary-surface-incomplete`)},sm=(e,t)=>e.kind===`secondary`?e.resources?.busy??!1:t,cm=e=>!e.sessionID||!e.directory?null:{deliveryTarget:e.deliveryTarget,sessionID:e.queueSessionID??e.sessionID,directory:e.directory,transportIdentity:e.transportIdentity,runtimeGeneration:e.runtimeGeneration},lm=(e,t,n)=>{if(e.kind===`secondary`){if(!e.commands)throw Error(`chat-input-secondary-commands-incomplete`);return e.commands}return e.commands?e.commands:{sessionID:e.sessionID,hasMessages:t,hasNewDraft:n}},um=(e,t)=>`${e}:${t}`,dm=`transition-none animate-none data-[starting-style]:!opacity-100 data-[starting-style]:!scale-100 data-[ending-style]:!opacity-100 data-[ending-style]:!scale-100`,fm=e=>{if(!Array.isArray(e))return null;let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;typeof e.permission==`string`&&typeof e.pattern==`string`&&typeof e.action==`string`&&(e.action===`allow`||e.action===`ask`||e.action===`deny`)&&t.push({permission:e.permission,pattern:e.pattern,action:e.action})}return t},pm=(e,t)=>{let n=fm(e);if(!(!n||n.length===0)){for(let e=n.length-1;e>=0;--e){let r=n[e];if(r.permission===t&&r.pattern===`*`)return r.action}for(let e=n.length-1;e>=0;--e){let t=n[e];if(t.permission===`*`&&t.pattern===`*`)return t.action}}},mm=[{key:`tool_call`,icon:`tools`,label:`Tool calling`,isActive:e=>e?.tool_call===!0},{key:`reasoning`,icon:`brain-ai-3`,label:`Reasoning`,isActive:e=>e?.reasoning===!0}],hm={text:{icon:`text`,label:`Text`},image:{icon:`file-image`,label:`Image`},video:{icon:`file-video`,label:`Video`},audio:{icon:`file-music`,label:`Audio`},pdf:{icon:`file-pdf`,label:`PDF`}},gm=e=>e.trim().toLowerCase(),_m=(e,t)=>{let n=t===`input`?e?.modalities?.input:e?.modalities?.output;if(!Array.isArray(n)||n.length===0)return[];let r=Array.from(new Set(n.map(e=>gm(e)))),i=[];for(let e of r){let t=hm[e];t&&i.push({key:e,icon:t.icon,label:t.label})}return i},vm=e=>new Intl.NumberFormat(st(),{notation:`compact`,compactDisplay:`short`,maximumFractionDigits:1,minimumFractionDigits:0}).format(e),ym=e=>new Intl.NumberFormat(st(),{style:`currency`,currency:`USD`,maximumFractionDigits:4,minimumFractionDigits:2}).format(e),bm=e=>new Intl.DateTimeFormat(st(),{month:`short`,day:`numeric`,year:`numeric`}).format(e),xm=`__add_provider__`,Sm=e=>{let t=(0,Q.c)(5),{iconName:n,label:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(X,{name:n,className:`size-3.5`}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,$.jsx)(`span`,{className:`flex size-5 items-center justify-center rounded-xl bg-muted/60 text-muted-foreground`,title:r,"aria-label":r,role:`img`,children:i}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a},Cm=e=>{let t=(0,Q.c)(18),{mode:n,className:r}=e,i;t[0]===r?i=t[1]:(i=Y(r,`flex-shrink-0`),t[0]=r,t[1]=i);let a=i,o;t[2]===n?o=t[3]:(o=wp(n),t[2]=n,t[3]=o);let s=o,c=s?s.text:`var(--foreground)`,l;t[4]===c?l=t[5]:(l={color:c},t[4]=c,t[5]=l);let u=l;if(n===`full`){let e;return t[6]!==a||t[7]!==u?(e=(0,$.jsx)(X,{name:`pencil-ai`,className:a,style:u}),t[6]=a,t[7]=u,t[8]=e):e=t[8],e}if(n===`allow`){let e;return t[9]!==a||t[10]!==u?(e=(0,$.jsx)(X,{name:`checkbox-circle`,className:a,style:u}),t[9]=a,t[10]=u,t[11]=e):e=t[11],e}if(n===`deny`){let e;return t[12]!==a||t[13]!==u?(e=(0,$.jsx)(X,{name:`close-circle`,className:a,style:u}),t[12]=a,t[13]=u,t[14]=e):e=t[14],e}let d;return t[15]!==a||t[16]!==u?(d=(0,$.jsx)(X,{name:`question`,className:a,style:u}),t[15]=a,t[16]=u,t[17]=d):d=t[17],d},wm=e=>{if(typeof e!=`number`||Number.isNaN(e))return`—`;if(e===0)return`0`;let t=vm(e);return t.endsWith(`.0`)?t.slice(0,-2):t},Tm=e=>typeof e!=`number`||!Number.isFinite(e)?`—`:ym(e),Em=e=>{let t=[];for(let n of mm)n.isActive(e)&&t.push({key:n.key,icon:n.icon,label:n.label});return t},Dm=e=>{if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?e:bm(t)},Om=({className:e,composerTextareaRef:t,mobilePanel:n,onMobilePanelChange:r,selectionAdapter:i})=>{let{t:a}=ot(),o=Z.useId(),{isReady:s,isUnavailable:l}=io(),u=l||i?.catalog?.error?a(`common.unavailable`):a(`common.loading`),d=Hr(e=>e.providerConfigLoadingByDirectory[e.activeDirectoryKey]===!0),f=Hr(e=>e.agentConfigLoadingByDirectory[e.activeDirectoryKey]===!0),p=i?.catalog,m=s&&(p?.ready??!d)&&!p?.loading&&!p?.error&&!i?.disabled,h=s&&(p?.ready??!f)&&!p?.loading&&!p?.error&&!i?.disabled,g=m&&h,_=Hr(e=>e.providers),v=p?.providers??_,y=Hr(e=>e.currentProviderId),b=Hr(e=>e.currentModelId),x=i?.selection.providerID??y,S=i?.selection.modelID??b,C=Hr(e=>e.currentVariant),w=i?i.selection.variant:C,T=Hr(e=>e.currentAgentName),E=i?i.selection.agent??void 0:T,D=Hr(e=>e.settingsDefaultVariant),O=Hr(e=>e.settingsDefaultAgent),k=Hr(e=>e.setProvider),A=Hr(e=>e.setSelectedProvider),j=Hr(e=>e.setModel),M=Hr(e=>e.setCurrentVariant),N=Hr(e=>e.getCurrentModelVariants),P=Hr(e=>e.setAgent),F=Hr(e=>e.getCurrentProvider),I=Hr(e=>e.getModelMetadata),L=Hr(e=>e.getCurrentAgent),R=Hr(e=>e.getVisibleAgents),z=Gp(p?.agents??R()),B=Z.useMemo(()=>z.filter(e=>e.mode===`primary`),[z]),V=Z.useRef(!1);Z.useEffect(()=>{V.current||!g||(V.current=!0,Ae(`ModelControls:ready`,{providers:v.length,agents:z.length,currentProviderId:x,currentModelId:S,currentAgentName:E}))},[z.length,g,E,S,x,v.length]);let H=J(e=>i?null:e.currentSessionId),U=J(e=>e.getDirectoryForSession),W=Bl(),ee=Un(e=>e.getSessionModelSelection),G=Un(e=>e.saveSessionModelSelection),K=Un(e=>e.saveSessionAgentSelection),te=Un(e=>e.saveAgentModelForSession),ne=Un(e=>e.getAgentModelForSession),re=Un(e=>e.saveAgentModelVariantForSession),ie=Un(e=>e.getAgentModelVariantForSession),ae=Wp(e=>e.hasHydrated),oe=Un(e=>H?e.sessionAgentSelections.get(H)??null:null),se=Z.useRef(null);Z.useEffect(()=>{if(!H){se.current=null;return}oe&&(se.current=oe)},[H,oe]);let ce=H?se.current:null,le=i?i.selection.agent??void 0:H&&(oe||ce)||E,ue=c(e=>e.toggleFavoriteModel),de=c(e=>e.reorderFavoriteModel),fe=c(e=>e.providerOrder),pe=c(e=>e.setProviderOrder),me=c(e=>e.isFavoriteModel),he=c(e=>e.addRecentModel),ge=c(e=>e.addRecentAgent),_e=c(e=>e.addRecentEffort),ve=c(e=>e.isModelSelectorOpen),ye=c(e=>e.setModelSelectorOpen),be=c(e=>e.isAgentSelectorOpen),xe=c(e=>e.setAgentSelectorOpen),Se=c(e=>e.isModelSelectorInstant),Ce=c(e=>e.isAgentSelectorInstant),we=c(e=>e.setSettingsDialogOpen),Te=c(e=>e.setSettingsPage),Ee=c(e=>e.hiddenModels),De=c(e=>e.shortcutOverrides.cycle_agent),Oe=Z.useMemo(()=>Qa(`cycle_agent`,De?{cycle_agent:De}:void 0),[De]),{favoriteModelsList:ke,recentModelsList:je}=va({currentProviderID:x,currentModelID:S}),{isMobile:Me}=mo(),Ne=c(e=>e.isMobile),Pe=Me||Ne,Fe=jo(),Ie=Pe,[Le,Re]=Z.useState(null),ze=n!==void 0&&typeof r==`function`,Be=ze?n:Le,Ve=ze?r:Re,He=q(e=>{Ve(e),Hr.getState().refreshCatalogsOnPickerOpen({source:`modelControls:mobilePanel`})}),Ue=q((e,t)=>{if(Jp(e,t?.reason)){t?.cancel?.();return}xe(e),e&&Hr.getState().refreshCatalogsOnPickerOpen({source:`modelControls:desktopAgentMenu`})}),[We,Ge]=Z.useState(null),Ke=Z.useRef(!1),qe=Z.useCallback(()=>Ve(null),[Ve]),Je=Z.useCallback(()=>Ge(null),[]),Ye=Z.useRef(void 0),Xe=ve,Ze=ye,Qe=Z.useCallback(()=>{A(xm),Te(`providers`),we(!0),Ze(!1),qe()},[A,Te,we,Ze,qe]),[$e,et]=Z.useState(``),[tt,nt]=Z.useState(null),[rt,it]=Z.useState(!1),at=Z.useRef(0),st=q((e,t)=>{if(Jp(e,t?.reason)){t?.cancel?.();return}it(!1),e||(at.current=performance.now()+200,nt(null),et(``)),Ze(e),e&&Hr.getState().refreshCatalogsOnPickerOpen({source:`modelControls:desktopModelMenu`})}),ct=Z.useRef(!1),lt=Z.useRef(null),ut=Z.useRef(void 0),[dt,ft]=Z.useState(new Map),[pt,mt]=Z.useState(new Set),[ht,gt]=Z.useState(0),_t=Z.useCallback(()=>{let e=()=>{let e=c.getState();!e.isModelSelectorOpen&&!e.isAgentSelectorOpen&&Xp(t)};window.setTimeout(()=>{requestAnimationFrame(()=>{e(),requestAnimationFrame(e)})},0)},[t]),vt=Z.useCallback(e=>{let t=c.getState();(e===`model`?t.isModelSelectorOpen:t.isAgentSelectorOpen)||(c.setState(e===`model`?{isModelSelectorInstant:!1}:{isAgentSelectorInstant:!1}),!c.getState().isMobile&&_t())},[_t]),yt=Z.useCallback(()=>{let e=c.getState();return e.isModelSelectorOpen||e.isAgentSelectorOpen?!1:Yp(t)},[t]),bt=Z.useRef(ve);Z.useEffect(()=>{let e=bt.current;bt.current=ve,ve||(et(``),ct.current=!1,lt.current=null,ft(new Map),mt(new Set),e&&!Ie&&(it(!1),at.current=performance.now()+200))},[ve,Ie]);let[xt,St]=Z.useState(``);Z.useEffect(()=>{be||St(``)},[be]);let Ct=Z.useMemo(()=>z.filter(e=>en(e.mode)),[z]),wt=Z.useMemo(()=>xt.trim()?br(Ct,xt.trim(),e=>[e.name,e.description??``]).map(e=>e.item):[...Ct].sort((e,t)=>e.name.localeCompare(t.name)),[Ct,xt]),Tt=Z.useMemo(()=>{if(O){let e=Ct.find(e=>e.name===O);if(e)return e.name}let e=Ct.find(e=>e.name===`build`);return e?e.name:Ct[0]?.name},[O,Ct]),Et=Z.useMemo(()=>le?z.find(e=>e.name===le):L?.(),[z,L,le]),Dt=Pe?`mobile`:Fe?`vscode`:`default`,Ot=Dt===`mobile`?`size-5`:`size-4`,kt=Ie?`typography-micro`:`typography-meta`,At=Dt===`mobile`?`gap-x-1`:Dt===`vscode`?`gap-x-2`:`gap-x-1.5`,jt=Dt===`mobile`?`h-8 w-8`:Dt===`vscode`?`h-5 w-5`:`h-6 w-6`,Mt=Dt===`mobile`?18:Dt===`vscode`?14:16,Nt=Dp(le),Pt=i?v.find(e=>e.id===x):F(),Ft=Array.isArray(Pt?.models)?Pt.models:[],It=S?Ft.find(e=>e.id===S):void 0,Lt=x&&S&&It?ba(x,It,I(x,S)):x&&S?I(x,S):void 0,Rt=Z.useCallback(e=>e===`Tool calling`?a(`chat.modelControls.capability.toolCalling`):e===`Reasoning`?a(`chat.modelControls.capability.reasoning`):e===`Text`?a(`chat.modelControls.modality.text`):e===`Image`?a(`chat.modelControls.modality.image`):e===`Video`?a(`chat.modelControls.modality.video`):e===`Audio`?a(`chat.modelControls.modality.audio`):e===`PDF`?a(`chat.modelControls.modality.pdf`):e,[a]),zt=Z.useMemo(()=>Em(Lt).map(e=>({...e,label:Rt(e.label)})),[Lt,Rt]),Bt=Z.useMemo(()=>_m(Lt,`input`).map(e=>({...e,label:Rt(e.label)})),[Lt,Rt]),Vt=Z.useMemo(()=>_m(Lt,`output`).map(e=>({...e,label:Rt(e.label)})),[Lt,Rt]),Ht=Z.useMemo(()=>{if(p?.variantsReady===!1)return[];if(p?.variants)return[...p.variants];if(x&&S){let e=v.find(e=>e.id===x)?.models?.find(e=>e.id===S);return Qp(e)}return i?[]:N()},[S,x,N,v,i,p?.variants,p?.variantsReady]),Ut=Ht.length>0,Wt=[{label:`Input`,value:Tm(Lt?.cost?.input)},{label:`Output`,value:Tm(Lt?.cost?.output)},{label:`Cache read`,value:Tm(Lt?.cost?.cache_read)},{label:`Cache write`,value:Tm(Lt?.cost?.cache_write)}],Gt=[{label:`Context`,value:wm(Lt?.limit?.context)},{label:`Output`,value:wm(Lt?.limit?.output)}],Kt=Z.useRef(void 0),qt=Z.useRef(null),Jt=Z.useRef(null),Yt=H?U(H):void 0,Xt=nr(H??``,Yt??void 0).renderable,Zt=Er(H??``,Yt??void 0),Qt=Z.useMemo(()=>{for(let e=Zt.length-1;e>=0;--e){let t=Zt[e];if(t.role!==`user`)continue;let n=typeof t.model?.providerID==`string`&&t.model.providerID.trim().length>0?t.model.providerID:void 0,r=typeof t.model?.modelID==`string`&&t.model.modelID.trim().length>0?t.model.modelID:void 0,i=typeof t.agent==`string`&&t.agent.trim().length>0?t.agent:typeof t.mode==`string`&&t.mode.trim().length>0?t.mode:void 0,a=t.model?.variant??t.variant,o=typeof a==`string`&&a.trim().length>0?a:void 0;return{id:t.id,agent:i,providerID:n,modelID:r,variant:o}}return null},[Zt]),$t=Z.useCallback((e,t,n)=>{if(!e||!t)return`model-missing`;let r=v.find(t=>t.id===e);return r?(Array.isArray(r.models)?r.models:[]).find(e=>e.id===t)?x===e&&S===t?`applied`:(k(e),j(t),H&&(G(H,e,t),n&&te(H,n,e,t)),`applied`):`model-missing`:`provider-missing`},[v,x,S,k,j,H,te,G]),tn=Z.useCallback((e,t)=>{if(i&&i.selection.providerID===e&&i.selection.modelID===t)return $p(i.selection,i.catalog,e,t);let n=v.find(t=>t.id===e)?.models?.find(e=>e.id===t);return Qp(n)},[v,i,i?.selection.providerID,i?.selection.modelID,p?.variants,p?.variantsReady]),nn=Z.useCallback((e,t)=>{let n=i?$p(i.selection,i.catalog,e,t):[],r=n.length>0?n:tn(e,t);if(r.length===0)return;if(i){let n=i.selection.variant;if(i.selection.providerID===e&&i.selection.modelID===t&&n&&r.includes(n))return n}let a=le||E;if(H&&a){let n=ie(H,a,e,t);if(n&&r.includes(n))return n}if(x===e&&S===t&&w&&r.includes(w))return w;if(!H&&D&&r.includes(D))return D},[E,S,x,H,w,ie,tn,i,D,le]),an=Z.useCallback(()=>{if(i)return i.selection.agent??void 0;let e=Hr.getState().currentAgentName;return H?Un.getState().getSessionAgentSelection(H)||se.current||e||E:e||E},[E,H,i]),on=Z.useCallback((e,t,n,r)=>{if(i){i.onChange({...i.selection,providerID:e,modelID:t,variant:n}).catch(()=>void 0);return}if(tn(e,t).length===0){Ke.current=!1,M(void 0);return}Ke.current=!0,M(n),_e(e,t,n);let a=r??an();H&&a&&re(H,a,e,t,n)},[_e,H,tn,an,re,i,M]),sn=Z.useCallback((e,t,n,r)=>{let a=r??an()??void 0,o=$t(e,t,a);if(o!==`applied`)return o;on(e,t,n,a);let s=i?n:Hr.getState().currentVariant;return he(e,t,s),`applied`},[he,on,an,i,$t]);Z.useEffect(()=>{if(i)return;if(!H){Jt.current=null;return}if(!ae||v.length===0||!Xt||!Qt?.providerID||!Qt.modelID)return;let e=[H,Qt.id,Qt.agent??``,Qt.providerID,Qt.modelID,Qt.variant??``].join(`|`);if(Jt.current===e)return;Qt.agent&&E!==Qt.agent&&P(Qt.agent);let t=Qt.variant&&tn(Qt.providerID,Qt.modelID).includes(Qt.variant)?Qt.variant:void 0;sn(Qt.providerID,Qt.modelID,t,Qt.agent||E||void 0)===`applied`&&(Qt.agent&&(K(H,Qt.agent),re(H,Qt.agent,Qt.providerID,Qt.modelID,t)),G(H,Qt.providerID,Qt.modelID),Jt.current=e)},[i,H,E,ae,v,Xt,Qt,P,sn,tn,K,re,G]),Z.useEffect(()=>{if(i)return;if(!H){Jt.current=null;return}if(!ae||v.length===0||z.length===0)return;let e=()=>{let e=ee(H),t=H?Un.getState().getSessionAgentSelection(H):null;if(t){E!==t&&P(t);let e=ne(H,t);if(e){let n=$t(e.providerId,e.modelId,t);if(n===`applied`)return`resolved`;if(n===`provider-missing`)return`waiting`}}if(e){let n=$t(e.providerId,e.modelId,t||E||void 0);if(n===`applied`)return`resolved`;if(n===`provider-missing`)return`waiting`}for(let e of z){let t=ne(H,e.name);if(!t)continue;E!==e.name&&P(e.name),Un.getState().getSessionAgentSelection(H)||se.current||K(H,e.name);let n=$t(t.providerId,t.modelId,e.name);if(n===`applied`)return`resolved`;if(n===`provider-missing`)return`waiting`}return`continue`},t=()=>{if(z.length===0)return;let e=H?Un.getState().getSessionAgentSelection(H)||se.current:null,t=(H?Un.getState().getSessionAgentSelection(H)||se.current:null)||E;if(t&&z.some(e=>e.name===t)){E!==t&&P(t);return}let n=z.find(e=>e.name===`build`)||B[0]||z[0];n&&(e||K(H,n.name),E!==n.name&&P(n.name),n.model?.providerID&&n.model?.modelID&&$t(n.model.providerID,n.model.modelID,n.name))},n=e();if(n!==`resolved`&&n!==`waiting`){if(!Xt){W.isLoading(H)||W.ensureSessionRenderable(H);return}Qt||t()}},[i,H,Xt,Qt,z,B,E,ee,ne,P,$t,K,ae,v,W]),Z.useEffect(()=>{if(i||!ae)return;let e=new AbortController;return(async()=>{try{if(E!==Kt.current&&(Kt.current=E,E&&H)){let t=qt.current===E;if(qt.current=null,await new Promise(t=>{let n=setTimeout(t,50);e.signal.addEventListener(`abort`,()=>{clearTimeout(n),t()})}),e.signal.aborted)return;let n=ne(H,E);if(n){let e=$t(n.providerId,n.modelId,E);if(e===`applied`||e===`provider-missing`)return}let r=Hr.getState().getAgentModelSelection(E);if(r){let e=$t(r.providerId,r.modelId,E);if(e===`applied`||e===`provider-missing`){e===`applied`&&(G(H,r.providerId,r.modelId),te(H,E,r.providerId,r.modelId),r.variant!==void 0&&(re(H,E,r.providerId,r.modelId,r.variant),M(r.variant)));return}}let i=t?z.find(e=>e.name===E):void 0;if(i?.model?.providerID&&i.model.modelID){let e=$t(i.model.providerID,i.model.modelID,E);if(e===`applied`||e===`provider-missing`){e===`applied`&&(G(H,i.model.providerID,i.model.modelID),te(H,E,i.model.providerID,i.model.modelID));return}}}}catch(e){console.error(`[ModelControls] Agent change error:`,e)}})(),()=>{e.abort()}},[i,z,E,H,ne,te,re,G,M,$t,ae]),Z.useEffect(()=>{if(i)return;if(!ae||!E){Ke.current=!1,M(void 0);return}if(!x||!S){Ke.current=!1,M(void 0);return}if(Ht.length===0){Ke.current=!1,M(void 0);return}if(w&&!Ht.includes(w)){M(void 0);return}if(!H){if(!w&&!Ke.current){let e=D&&Ht.includes(D)?D:void 0;M(e)}return}let e=ie(H,E,x,S),t=e&&Ht.includes(e)?e:D&&Ht.includes(D)?D:void 0;M(t),Ke.current=!1},[i,Ht,ae,H,E,x,S,w,ie,M,D]),Z.useEffect(()=>{Ke.current=!1},[x,S]);let cn=Z.useCallback((e,t)=>{if(i){let n=ir(i.selection,e,z,v),r=n.providerID===i.selection.providerID&&n.modelID===i.selection.modelID;Ie&&qe(),i.onChange({...n,variant:r?i.selection.variant:void 0}).then(()=>{ge(e),(t?.closeModelSelector??!0)&&Ze(!1)}).catch(()=>void 0);return}try{qt.current=e,P(e),ge(e),(t?.closeModelSelector??!0)&&Ze(!1),H&&K(H,e),Ie&&qe()}catch(e){console.error(`[ModelControls] Handle agent change error:`,e)}},[ge,z,qe,H,Ie,v,K,i,P,Ze]),ln=Z.useCallback(e=>{let t=rn(z,E,e);t&&cn(t,{closeModelSelector:!1})},[z,E,cn]),un=Z.useCallback(e=>{let t=Oe&&!Oe.includes(`shift`)?$a(`shift+${Oe}`):``;return t&&Wa(e,t)?-1:Wa(e,Oe)?1:null},[Oe]),dn=Z.useCallback(e=>{let t=un(e);t&&(e.preventDefault(),e.stopPropagation(),ln(t))},[un,ln]),fn=Z.useCallback((e,t,n,r)=>{!e||!t||!n||Hr.getState().saveAgentModelSelection(e,t,n,r)},[]),pn=(e,t,n)=>{let r=()=>{Ze(!1,n?.closeInstant?{instant:!0}:void 0)};if(i){Ie&&qe();let a=n?.applyVariant?n.variant:nn(e,t);i.onChange({providerID:e,modelID:t,agent:n?.agentName??i.selection.agent,variant:a}).then(()=>{he(e,t,a),r()}).catch(()=>void 0);return}try{let i=n?.agentName??an()??void 0,a=n?.applyVariant?sn(e,t,n.variant,i):$t(e,t,i);if(a!==`applied`){a===`provider-missing`?console.error(`[ModelControls] Provider not available for selection:`,e):a===`model-missing`&&console.error(`[ModelControls] Model not available for selection:`,{providerId:e,modelId:t});return}fn(i,e,t,n?.applyVariant?n.variant:Hr.getState().currentVariant),n?.applyVariant||he(e,t,Hr.getState().currentVariant),r(),Ie&&qe()}catch(e){console.error(`[ModelControls] Handle model change error:`,e)}},mn=(e,t)=>er(e,t,{maxLength:40}),hn=()=>v.find(e=>e.id===x)?.name||x,gn=()=>{if(!S)return a(`chat.modelControls.selectModel`);let e=Ft.find(e=>e.id===S);return mn(e,S)||a(`chat.modelControls.selectModel`)},_n=gn(),vn=Z.useRef(null),yn=qp(vn,[_n,w,Ie]),bn=()=>{if(!le){let e=B.find(e=>e.name===`build`)||B[0];return e?xn(e.name):`Select Agent`}let e=z.find(e=>e.name===le);return xn(e?e.name:le)},xn=e=>e.charAt(0).toUpperCase()+e.slice(1),Sn=Z.useCallback(e=>{Ye.current&&clearTimeout(Ye.current),Ye.current=setTimeout(()=>{Ge(e)},500)},[]),Cn=Z.useCallback(()=>{Ye.current&&clearTimeout(Ye.current)},[]);Z.useEffect(()=>()=>{Ye.current&&clearTimeout(Ye.current)},[]);let wn=()=>!Ie||We!==`model`?null:(0,$.jsx)(Cp,{open:!0,onClose:Je,title:Lt?.name||gn(),children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-0.5`,children:a(`chat.modelControls.provider`)}),(0,$.jsx)(`div`,{className:`typography-meta text-foreground font-medium`,children:hn()})]}),zt.length>0&&(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.capabilities`)}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:zt.map(({key:e,icon:t,label:n})=>(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Sm,{iconName:t,label:n},`cap-${e}`),(0,$.jsx)(`span`,{className:`typography-meta text-foreground`,children:n})]},e))})]}),(Bt.length>0||Vt.length>0)&&(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.modalities`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[Bt.length>0&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-12`,children:a(`chat.modelControls.input`)}),(0,$.jsx)(`div`,{className:`flex gap-1`,children:Bt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:`${n} input`},`input-${e}`))})]}),Vt.length>0&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-12`,children:a(`chat.modelControls.output`)}),(0,$.jsx)(`div`,{className:`flex gap-1`,children:Vt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:`${n} output`},`output-${e}`))})]})]})]}),(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.limits`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.context`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:wm(Lt?.limit?.context)})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.output`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:wm(Lt?.limit?.output)})]})]})]}),Lt?.release_date?(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.metadata`)}),(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.release`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Dm(Lt.release_date)})]})})]}):null]})}),Tn=()=>{if(!Ie||We!==`agent`||!Et)return null;let e=!!(Et.prompt&&Et.prompt.trim().length>0),t=Et.model?.providerID&&Et.model?.modelID,n=Et.temperature!==void 0||Et.topP!==void 0,r=e=>{let t=fm(Et.permission)??[],n=t.some(t=>t.permission===e&&t.pattern!==`*`),r=pm(t,e)??`ask`;return n?{mode:`ask`,label:a(`chat.modelControls.permissionLabel.custom`)}:r===`allow`?{mode:`allow`,label:a(`chat.modelControls.permissionLabel.allow`)}:r===`deny`?{mode:`deny`,label:a(`chat.modelControls.permissionLabel.deny`)}:{mode:`ask`,label:a(`chat.modelControls.permissionLabel.ask`)}},i=r(`edit`),o=r(`bash`),s=r(`webfetch`);return(0,$.jsx)(Cp,{open:!0,onClose:Je,title:xn(Et.name),children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Et.description&&(0,$.jsx)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:(0,$.jsx)(`div`,{className:`typography-meta text-foreground`,children:Et.description})}),(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-0.5`,children:a(`chat.modelControls.mode`)}),(0,$.jsx)(`div`,{className:`typography-meta text-foreground font-medium`,children:Et.mode===`primary`?a(`chat.modelControls.modeValue.primary`):Et.mode===`subagent`?a(`chat.modelControls.modeValue.subagent`):Et.mode===`all`?a(`chat.modelControls.modeValue.all`):a(`chat.modelControls.modeValue.none`)})]}),(t||n)&&(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.model`)}),t&&(0,$.jsxs)(`div`,{className:`typography-meta text-foreground font-medium mb-1`,children:[Et.model.providerID,` / `,Et.model.modelID]}),n&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[Et.temperature!==void 0&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.temperature`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Et.temperature})]}),Et.topP!==void 0&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.topP`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Et.topP})]})]})]}),(0,$.jsxs)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground mb-1`,children:a(`chat.modelControls.permissions`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.edit`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:i.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:i.label})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.bash`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:o.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:o.label})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.webFetch`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:s.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:s.label})]})]})]})]}),e&&(0,$.jsx)(`div`,{className:`rounded-xl border border-border/40 bg-sidebar/30 px-2 py-1.5`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.customPrompt`)}),(0,$.jsx)(X,{name:`checkbox-circle`,className:`size-4 text-foreground`})]})})]})})},En=()=>Ie?(0,$.jsx)(co,{open:Be===`model`||Be===`variant`,view:Be===`variant`?`variant`:`model`,onViewChange:e=>Ve(e),onClose:qe,selectedProviderID:x||``,selectedModelID:S||``,resolveSelectedVariant:nn,onSelect:(e,t,n)=>{if(i){qe(),i.onChange({providerID:e,modelID:t,agent:i.selection.agent,variant:n}).then(()=>{he(e,t,n)}).catch(()=>void 0);return}let r=sn(e,t,n);if(r!==`applied`){r===`provider-missing`?console.error(`[ModelControls] Provider not available for selection:`,e):r===`model-missing`&&console.error(`[ModelControls] Model not available for selection:`,{providerId:e,modelId:t});return}fn(an(),e,t,n),qe()},providers:v,favoriteModels:ke,recentModels:je,hiddenModels:Ee,providerOrder:fe,isFavorite:me,onToggleFavorite:(e,t)=>ue(e,t,e===x&&t===S?w:ke.find(n=>n.providerID===e&&n.modelID===t)?.variant??je.find(n=>n.providerID===e&&n.modelID===t)?.variant),getMetadata:I}):null,Dn=()=>Ie?(0,$.jsx)(to,{id:`mobile-agent-picker-sheet-${o}`,open:Be===`agent`,onOpenChange:e=>{e||qe()},ariaLabel:a(`chat.modelControls.selectAgent`),closeAriaLabel:a(`mobile.surface.closeAria`),resizeAriaLabel:a(`mobile.sessions.sheet.resizeAria`),bodyClassName:`px-2`,children:(0,$.jsx)(ma,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:`min-h-0 flex-1`,className:`flex flex-col gap-2 overscroll-contain`,children:Ct.map(e=>{let t=e.name===le,n=ta(e.name);return(0,$.jsx)(`button`,{type:`button`,className:Y(`flex w-full flex-col gap-1.5 rounded-xl border px-3 py-2.5 text-left`,`focus:outline-none focus-visible:ring-2 focus-visible:ring-primary`,`touch-manipulation cursor-pointer transition-colors`,`active:bg-interactive-hover`,t?`border-primary/50 bg-interactive-selection/20`:`border-border/40 hover:bg-interactive-hover/50`),onClick:()=>cn(e.name),children:(0,$.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[1.125rem_minmax(0,1fr)_auto] items-start gap-x-2`,children:[(0,$.jsx)(na,{name:e.name,size:18}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`span`,{className:`block typography-ui-label font-semibold`,style:t?{color:`var(${n.var})`}:void 0,children:xn(e.name)}),e.description&&(0,$.jsx)(`span`,{className:`mt-1 block min-w-0 whitespace-normal break-words typography-micro text-muted-foreground`,children:e.description})]}),t&&(0,$.jsx)(X,{name:`check`,className:`size-4 shrink-0 text-primary`})]})},e.name)})})}):null,On=()=>(0,$.jsx)(za,{align:`start`,sideOffset:8,className:`max-w-[320px]`,children:Lt?(0,$.jsxs)(`div`,{className:`flex min-w-[240px] flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`typography-micro font-semibold text-foreground`,children:Lt.name||gn()}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:hn()})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.capabilities`)}),(0,$.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:zt.length>0?zt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:n},`cap-${e}`)):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a(`chat.modelControls.modeValue.none`)})})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.modalities`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:a(`chat.modelControls.input`)}),(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:Bt.length>0?Bt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:`${n} input`},`input-${e}`)):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:`-`})})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:a(`chat.modelControls.output`)}),(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:Vt.length>0?Vt.map(({key:e,icon:t,label:n})=>(0,$.jsx)(Sm,{iconName:t,label:`${n} output`},`output-${e}`)):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:`-`})})]})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.costPerMillion`)}),Wt.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:e.label}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:e.value})]},e.label))]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.limits`)}),Gt.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:e.label}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:e.value})]},e.label))]}),Lt.release_date?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.metadata`)}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground/80`,children:a(`chat.modelControls.release`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Dm(Lt.release_date)})]})]}):null]}):(0,$.jsx)(`div`,{className:`min-w-[200px] typography-meta text-muted-foreground`,children:a(`chat.modelControls.metadataUnavailable`)})}),kn=()=>{let e=(e,t)=>{if(ct.current=!0,e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return!1;let{providerID:n,modelID:r}=t,i=tn(n,r);if(i.length===0)return!1;e.preventDefault(),e.stopPropagation();let a=um(n,r),o=dt.has(a),s=dt.get(a),c=o?s:x===n&&S===r?w:void 0,l=[void 0,...i],u=l.indexOf(c),d=l[((u>=0?u:0)+(e.key===`ArrowRight`?1:-1)+l.length)%l.length];return ft(e=>{let t=new Map(e);return t.set(a,d),t}),mt(e=>{let t=new Set(e);return t.add(a),t}),gt(e=>e+1),!0},t=(t,n)=>{let r=un(t);if(r){t.preventDefault(),ln(r);return}n&&e(t,n)},n=e=>{let t=um(e.providerID,e.modelID),n=dt.get(t),r=pt.has(t),i=an();if(r){pn(e.providerID,e.modelID,{applyVariant:!0,variant:n,agentName:i});return}let a=tn(e.providerID,e.modelID),o=e.variant!==void 0&&a.includes(e.variant)?e.variant:void 0;if(o!==void 0){pn(e.providerID,e.modelID,{applyVariant:!0,variant:o,agentName:i});return}pn(e.providerID,e.modelID,{agentName:i})},r=e=>{let t=un(e);t&&(e.preventDefault(),e.stopPropagation(),ct.current=!0,ln(t))},i=e=>e?.trim()?Xn(e):a(`chat.modelControls.default`),o=(e,t)=>{let n=an();pn(e.providerID,e.modelID,{applyVariant:!0,variant:t,agentName:n,closeInstant:!0})},s=e=>{e&&(Xe||performance.now()<at.current)||it(e)},c={searchPlaceholder:a(`chat.modelControls.searchModels`),noResults:a(`chat.modelControls.noModelsFound`),favorites:a(`chat.modelControls.favorites`),recent:a(`chat.modelControls.recent`),keyboardHint:a(`chat.modelControls.keyboardHintNavigate`),favorite:a(`chat.modelControls.favoriteAria`),unfavorite:a(`chat.modelControls.unfavoriteAria`),provider:a(`chat.modelControls.provider`),capabilities:a(`chat.modelControls.capabilities`),capabilityToolCalling:a(`chat.modelControls.capability.toolCalling`),capabilityReasoning:a(`chat.modelControls.capability.reasoning`),modalityImage:a(`chat.modelControls.modality.image`),modalityVideo:a(`chat.modelControls.modality.video`),modalityAudio:a(`chat.modelControls.modality.audio`),costPerMillion:a(`chat.modelControls.costPerMillion`),costInput:a(`chat.modelControls.costInput`),costOutput:a(`chat.modelControls.costOutput`)},l=(e,{isSelected:t})=>{let n=tn(e.providerID,e.modelID);if(n.length===0)return null;let r=um(e.providerID,e.modelID),o=dt.has(r),s=dt.get(r),c=e.variant!==void 0&&n.includes(e.variant)?e.variant:void 0,l=o?s:t?w:c,u=pt.has(r);return(0,$.jsxs)(`button`,{type:`button`,className:Y(`group/thinking flex shrink-0 items-center gap-0.5 rounded-md px-1.5 py-0.5 typography-micro font-medium transition-colors`,u||l?`text-foreground/80`:`text-muted-foreground`,`hover:bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] hover:text-foreground`),onClick:t=>{t.preventDefault(),t.stopPropagation(),nt(e)},"aria-label":a(`chat.modelControls.showThinkingModes`),children:[(0,$.jsx)(X,{name:`brain-ai-3`,className:`size-3 opacity-70`}),(0,$.jsx)(`span`,{className:`max-w-20 truncate`,children:i(l)}),(0,$.jsx)(X,{name:`arrow-right-s`,className:`size-3 opacity-60 transition-transform group-hover/thinking:translate-x-px`})]})},d=()=>{if(!tt)return null;let e=tn(tt.providerID,tt.modelID),t=um(tt.providerID,tt.modelID),n=dt.has(t),r=dt.get(t),s=tt.providerID===x&&tt.modelID===S,c=tt.variant!==void 0&&e.includes(tt.variant)?tt.variant:void 0,l=n?r:s?w:c,u=er(tt.model,tt.modelID,{maxLength:40});return(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,onKeyDownCapture:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),nt(null))},children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 border-b border-border/40 px-1.5 py-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,className:`flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground`,onClick:()=>nt(null),"aria-label":a(`header.actions.backAria`),children:(0,$.jsx)(X,{name:`arrow-left`,className:`size-3.5`})}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(Oa,{modelId:tt.modelID,providerId:tt.providerID,className:`size-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate typography-meta font-medium text-foreground`,children:u}),(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 text-border`,children:`·`}),(0,$.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 typography-micro text-muted-foreground`,children:[(0,$.jsx)(X,{name:`brain-ai-3`,className:`size-3 opacity-70`}),a(`chat.modelControls.thinking`)]})]})]}),(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5 p-1`,role:`listbox`,"aria-label":a(`chat.modelControls.thinking`),children:[void 0,...e].map(e=>{let t=e===l||!e&&!l;return(0,$.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t,className:Y(`flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-left typography-meta transition-colors`,t?`bg-interactive-selection text-interactive-selection-foreground`:`text-foreground hover:bg-interactive-hover/50`),onClick:()=>o(tt,e),children:[(0,$.jsx)(`span`,{className:Y(`truncate font-medium`,!e&&!t&&`text-muted-foreground`),children:i(e)}),t?(0,$.jsx)(X,{name:`check`,className:`size-3.5 shrink-0 text-primary`}):(0,$.jsx)(`span`,{className:`size-3.5 shrink-0`,"aria-hidden":`true`})]},e??`__default`)})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-border/40 px-2 py-1.5 typography-micro text-muted-foreground`,children:[(0,$.jsx)(fp,{className:`h-4 min-w-4 rounded-[3px] px-1 text-[10px] font-medium tracking-tight shadow-none`,children:`Esc`}),(0,$.jsx)(`span`,{children:a(`header.actions.backAria`)}),(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`text-border`,children:`·`}),(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintThinking`)})]})]})},f=w&&Ut?Xn(w):null;return(0,$.jsxs)(Ba,{open:!Xe&&rt,onOpenChange:s,delayDuration:200,children:[Ie?(0,$.jsx)(`button`,{type:`button`,onClick:m?()=>He(`model`):void 0,onTouchStart:m?()=>Sn(`model`):void 0,onTouchEnd:m?Cn:void 0,onTouchCancel:m?Cn:void 0,disabled:!m,className:Y(`model-controls__model-trigger min-w-0 focus:outline-none`,m?Y(`cursor-pointer`,Mp):`opacity-60 cursor-not-allowed`),children:m?(0,$.jsxs)($.Fragment,{children:[x||S?(0,$.jsx)(Oa,{modelId:S,providerId:x,className:Y(Ot,`flex-shrink-0`)}):(0,$.jsx)(X,{name:`pencil-ai`,className:Y(Ot,`text-muted-foreground`)}),(0,$.jsx)(`span`,{ref:vn,className:Y(`model-controls__model-label typography-micro font-medium overflow-hidden min-w-0`,Pe?`max-w-[120px]`:`max-w-[220px]`),children:(0,$.jsxs)(`span`,{className:Y(`inline-flex min-w-0 items-center gap-1`,yn&&`marquee-text marquee-text--active`),children:[(0,$.jsx)(`span`,{className:`truncate`,children:_n}),f?(0,$.jsx)(`span`,{className:`shrink-0 font-normal text-muted-foreground`,children:f}):null]})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(Ot,`animate-spin text-muted-foreground flex-shrink-0`)}),(0,$.jsx)(`span`,{className:`typography-micro font-medium text-muted-foreground min-w-0`,children:u})]})}):(0,$.jsxs)(Ka,{open:m&&Xe,onOpenChange:m?st:void 0,onOpenChangeComplete:e=>{e||vt(`model`)},children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(Xa,{asChild:!0,children:(0,$.jsxs)(`div`,{className:Y(`model-controls__model-trigger cursor-pointer min-w-0`,Mp),children:[m?x?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Oa,{modelId:S,providerId:x,className:Y(Ot,`flex-shrink-0`)}),(0,$.jsx)(X,{name:`pencil-ai`,className:Y(Ot,`text-primary/60 hidden`)})]}):(0,$.jsx)(X,{name:`pencil-ai`,className:Y(Ot,`text-muted-foreground`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`loader-4`,className:Y(Ot,`animate-spin text-muted-foreground flex-shrink-0`)}),(0,$.jsx)(`span`,{className:Y(`model-controls__model-label`,kt,`font-medium whitespace-nowrap text-muted-foreground min-w-0`),children:u})]}),m&&(0,$.jsx)(`span`,{ref:vn,className:Y(`model-controls__model-label overflow-hidden`,kt,`font-medium whitespace-nowrap text-foreground min-w-0`,`max-w-[260px]`),children:(0,$.jsxs)(`span`,{className:Y(`inline-flex min-w-0 items-center gap-1`,yn&&`marquee-text marquee-text--active`),children:[(0,$.jsx)(`span`,{className:`truncate`,children:_n}),f?(0,$.jsx)(`span`,{className:`shrink-0 font-normal text-muted-foreground`,children:f}):null]})},`${x}-${S}-${w??``}`)]})})}),(0,$.jsx)(Ya,{className:Y(`w-[min(380px,calc(100vw-2rem))] p-0 flex flex-col`,Se&&dm),align:`end`,alignOffset:-40,onKeyDownCapture:r,finalFocus:yt,children:tt?d():(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`p-1 border-b border-border/40`,children:(0,$.jsxs)(`button`,{type:`button`,onClick:Qe,className:`typography-meta group flex w-full items-center gap-1 rounded-md px-2 py-1.5 cursor-pointer hover:bg-interactive-hover/50`,children:[(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center text-muted-foreground`,children:(0,$.jsx)(X,{name:`add`,className:`size-4 -mr-0.5`})}),(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:a(`chat.modelControls.addNewProvider`)})]})}),(0,$.jsx)(ha,{providers:v,favoriteModels:ke,recentModels:je,getMetadata:I,searchQuery:$e,onSearchQueryChange:et,onSelect:n,labels:c,selectedModel:x&&S?{providerID:x,modelID:S}:null,hiddenModels:Ee,onActiveKeyDown:t,onActiveEntryChange:e=>{ut.current=e},onVariantKey:e,isFavorite:e=>me(e.providerID,e.modelID),onToggleFavorite:e=>ue(e.providerID,e.modelID,e.providerID===x&&e.modelID===S?w:e.variant),renderRowEnd:l,renderVersion:ht,onReorderFavorite:(e,t)=>de(e.providerID,e.modelID,t.providerID,t.modelID),reorderFavoriteAriaLabel:a(`chat.modelControls.reorderFavoriteAria`),reorderFavoriteTitle:a(`chat.modelControls.reorderFavoriteTitle`),providerOrder:fe,onReorderProvider:pe,reorderProviderTitle:a(`chat.modelControls.reorderProviderTitle`),footerContent:e=>{let t=e?tn(e.providerID,e.modelID).length>0:!1;return(0,$.jsxs)(`div`,{className:`flex items-center gap-x-2 whitespace-nowrap overflow-hidden`,children:[(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintNavigate`)}),(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintSwitchAgent`,{shortcut:`Tab`})}),t?(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintThinking`)}):null]})},tooltipsEnabled:Xe&&!tt,onEscape:()=>{if(tt){nt(null);return}Ze(!1)}})]})})]}),On()]})},An=()=>{if(!Et)return(0,$.jsx)(za,{align:`start`,sideOffset:8,className:`max-w-[320px]`,children:(0,$.jsx)(`div`,{className:`min-w-[200px] typography-meta text-muted-foreground`,children:a(`chat.modelControls.noAgentSelected`)})});let e=!!(Et.prompt&&Et.prompt.trim().length>0),t=Et.model?.providerID&&Et.model?.modelID,n=Et.temperature!==void 0||Et.topP!==void 0,r=e=>{let t=fm(Et.permission)??[],n=t.some(t=>t.permission===e&&t.pattern!==`*`),r=pm(t,e)??`ask`;return n?{mode:`ask`,label:a(`chat.modelControls.permissionLabel.custom`)}:r===`allow`?{mode:`allow`,label:a(`chat.modelControls.permissionLabel.allow`)}:r===`deny`?{mode:`deny`,label:a(`chat.modelControls.permissionLabel.deny`)}:{mode:`ask`,label:a(`chat.modelControls.permissionLabel.ask`)}},i=r(`edit`),o=r(`bash`),s=r(`webfetch`);return(0,$.jsx)(za,{align:`start`,sideOffset:8,className:`max-w-[280px]`,children:(0,$.jsxs)(`div`,{className:`flex min-w-[200px] flex-col gap-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`typography-micro font-semibold text-foreground`,children:xn(Et.name)}),Et.description&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:Et.description})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.mode`)}),(0,$.jsx)(`span`,{className:`typography-meta text-foreground`,children:Et.mode===`primary`?a(`chat.modelControls.modeValue.primary`):Et.mode===`subagent`?a(`chat.modelControls.modeValue.subagent`):Et.mode===`all`?a(`chat.modelControls.modeValue.all`):a(`chat.modelControls.modeValue.none`)})]}),(t||n)&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.model`)}),t?(0,$.jsxs)(`span`,{className:`typography-meta text-foreground`,children:[Et.model.providerID,` / `,Et.model.modelID]}):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a(`chat.modelControls.modeValue.none`)}),n&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5 mt-0.5`,children:[Et.temperature!==void 0&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.temperature`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Et.temperature})]}),Et.topP!==void 0&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.topP`)}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Et.topP})]})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta font-semibold uppercase tracking-wide text-muted-foreground/90`,children:a(`chat.modelControls.permissions`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-16`,children:a(`chat.modelControls.edit`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:i.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground w-12`,children:i.label})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-16`,children:a(`chat.modelControls.bash`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:o.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground w-12`,children:o.label})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80 w-16`,children:a(`chat.modelControls.webFetch`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Cm,{mode:s.mode,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground w-12`,children:s.label})]})]})]}),e&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground/80`,children:a(`chat.modelControls.customPrompt`)}),(0,$.jsx)(X,{name:`checkbox-circle`,className:`size-4 text-foreground`})]})]})})},jn=()=>{let e=bn(),t=le?ta(le):null;return Ie?(0,$.jsx)(`button`,{type:`button`,onClick:h?()=>He(`agent`):void 0,onTouchStart:h?()=>Sn(`agent`):void 0,onTouchEnd:h?Cn:void 0,onTouchCancel:h?Cn:void 0,disabled:!h,className:Y(`model-controls__agent-trigger inline-flex items-center flex-shrink-0 min-w-0 focus:outline-none`,Np,h?`cursor-pointer`:`opacity-60 cursor-not-allowed`),children:h?(0,$.jsx)(Ep,{name:le,label:e,revealed:Nt,avatarSize:Mt,slotClassName:jt,colorVar:t?.var}):(0,$.jsx)(`span`,{className:Y(`inline-flex items-center justify-center`,jt),children:(0,$.jsx)(X,{name:`loader-4`,className:Y(Ot,`flex-shrink-0 animate-spin text-muted-foreground`)})})}):(0,$.jsx)(`div`,{className:`flex items-center gap-2 min-w-0`,children:(0,$.jsxs)(Ba,{delayDuration:600,children:[(0,$.jsxs)(Ka,{open:h&&be,onOpenChange:h?Ue:void 0,onOpenChangeComplete:e=>{e||vt(`agent`)},children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(Xa,{asChild:!0,children:(0,$.jsx)(`div`,{className:Y(`inline-flex cursor-pointer items-center flex-shrink-0 min-w-0`,Np),children:h?(0,$.jsx)(Ep,{name:le,label:e,revealed:Nt,avatarSize:Mt,slotClassName:jt,colorVar:t?.var}):(0,$.jsx)(`span`,{className:Y(`inline-flex items-center justify-center`,jt),children:(0,$.jsx)(X,{name:`loader-4`,className:Y(Ot,`flex-shrink-0 animate-spin text-muted-foreground`)})})})})}),(0,$.jsxs)(Ya,{align:`end`,alignOffset:-40,className:Y(`w-[min(280px,calc(100vw-2rem))] p-0 flex flex-col`,Ce&&dm),onKeyDownCapture:dn,finalFocus:yt,children:[(0,$.jsx)(`div`,{className:`p-1.5 pb-1`,children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(X,{name:`search`,className:`absolute left-2.5 top-1/2 -translate-y-1/2 size-3.5 text-muted-foreground`}),(0,$.jsx)(La,{type:`text`,placeholder:a(`chat.modelControls.searchAgents`),value:xt,onChange:e=>St(e.target.value),onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),xe(!1);return}e.stopPropagation()},className:`pl-8 h-8 typography-meta`})]})}),(0,$.jsx)(ma,{outerClassName:`max-h-[min(400px,calc(100dvh-12rem))] flex-1`,children:(0,$.jsxs)(`div`,{className:`p-1`,children:[!xt.trim()&&Tt&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(so,{className:`typography-meta`,onSelect:()=>cn(Tt),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(X,{name:`arrow-go-back`,className:`size-3.5 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`font-medium`,children:a(`chat.modelControls.resetToDefault`)})]})}),(0,$.jsx)(Ja,{})]}),wt.length===0?(0,$.jsx)(`div`,{className:`px-2 py-4 text-center typography-meta text-muted-foreground`,children:`No agents found`}):wt.map(e=>(0,$.jsx)(so,{className:`typography-meta`,onSelect:()=>cn(e.name),children:(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col gap-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(na,{name:e.name,size:14}),(0,$.jsx)(`span`,{className:`font-medium`,children:xn(e.name)})]}),e.description&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground min-w-0 max-w-full ml-5 break-words`,children:e.description})]})},e.name))]})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-border/40 px-2 py-1.5 typography-micro text-muted-foreground`,children:[(0,$.jsx)(fp,{className:`h-4 min-w-4 rounded-[3px] px-1 text-[10px] font-medium tracking-tight shadow-none`,children:`Tab`}),(0,$.jsx)(`span`,{children:a(`chat.modelControls.keyboardHintSwitchAgentLabel`)})]})]})]}),An()]})})},Mn=Y(`@container/model-controls flex items-center min-w-0`,Pe&&`w-full`,e),Nn=jn();return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:Mn,children:(0,$.jsxs)(`div`,{className:Y(`flex items-center min-w-0 flex-1 justify-end`,At,Pe&&`overflow-hidden`),children:[Nn,kn()]})}),En(),Dn(),wn(),Tn()]})},km=[{key:`M`,labelKey:`chat.leaderKey.action.model`},{key:`A`,labelKey:`chat.leaderKey.action.agent`},{key:`N`,labelKey:`chat.leaderKey.action.newSession`},{key:`C`,labelKey:`chat.leaderKey.action.compact`}],Am=e=>{let t=(0,Q.c)(16),{className:n}=e,{t:r}=ot(),i=xl(jm),a=c(Mm),o;t[0]===a?o=t[1]:(o=qa(Qa(`leader_key`,a)||`ctrl+x`),t[0]=a,t[1]=o);let s=o;if(!i)return null;let l;t[2]===r?l=t[3]:(l=r(`chat.leaderKey.pendingAria`),t[2]=r,t[3]=l);let u;t[4]===n?u=t[5]:(u=Y(`pointer-events-none absolute left-1/2 top-0 z-20 -translate-x-1/2 -translate-y-[calc(100%+0.4rem)]`,`inline-flex max-w-[calc(100cqw-1rem)] items-center gap-2 overflow-x-auto rounded-lg border px-2.5 py-1.5`,`border-[var(--interactive-border)] bg-[var(--surface-elevated)] text-[var(--surface-elevated-foreground)]`,`shadow-sm animate-in fade-in-0 zoom-in-95 duration-150 whitespace-nowrap`,n),t[4]=n,t[5]=u);let d;t[6]===s?d=t[7]:(d=(0,$.jsx)(pp,{shortcut:s,className:`opacity-[0.35] [&_[data-slot=kbd]]:rounded-md [&_[data-slot=kbd]]:border-0 [&_[data-slot=kbd]]:bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] [&_[data-slot=kbd]]:text-muted-foreground/65 [&_[data-slot=kbd]]:shadow-none`}),t[6]=s,t[7]=d);let f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:`typography-micro text-[var(--surface-muted-foreground)]`,children:`·`}),t[8]=f):f=t[8];let p;t[9]===r?p=t[10]:(p=km.map((e,t)=>(0,$.jsxs)(Z.Fragment,{children:[t>0?(0,$.jsx)(`span`,{className:`typography-micro text-[var(--surface-muted-foreground)]`,children:`·`}):null,(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 typography-micro`,children:[(0,$.jsx)(fp,{className:`rounded-md border-0 bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] text-muted-foreground/65 shadow-none`,children:e.key}),(0,$.jsx)(`span`,{className:`text-[var(--surface-muted-foreground)]`,children:r(e.labelKey)})]})]},e.key)),t[9]=r,t[10]=p);let m;return t[11]!==l||t[12]!==u||t[13]!==d||t[14]!==p?(m=(0,$.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-label":l,className:u,children:[d,f,p]}),t[11]=l,t[12]=u,t[13]=d,t[14]=p,t[15]=m):m=t[15],m};function jm(e){return e.pending}function Mm(e){return e.shortcutOverrides}var Nm=28,Pm=8,Fm=10.5,Im=Math.PI/2,Lm=e=>Array.from({length:Pm},(t,n)=>{let r=n/Pm*Math.PI*2-Math.PI/2+e;return[Math.cos(r)*Fm,Math.sin(r)*Fm]}),Rm=[Lm(0),Lm(Im),Lm(Math.PI),Lm(Math.PI*1.5)],zm=([e,t])=>`${e.toFixed(1)}px, ${t.toFixed(1)}px`,Bm=e=>{let t=(0,Q.c)(9),{size:n,isMobile:r,className:i}=e,a=n??(r!==void 0&&r?12:14),o;t[0]===i?o=t[1]:(o=Y(`oc-morph-orb-glyph shrink-0`,i),t[0]=i,t[1]=o);let s=a/Nm,c;t[2]!==a||t[3]!==s?(c={width:a,height:a,"--orb-k":s},t[2]=a,t[3]=s,t[4]=c):c=t[4];let l=c,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`span`,{className:`oc-morph-orb-stage`,children:Rm[0].map(Vm)}),t[5]=u):u=t[5];let d;return t[6]!==o||t[7]!==l?(d=(0,$.jsx)(`span`,{className:o,style:l,"aria-hidden":`true`,children:u}),t[6]=o,t[7]=l,t[8]=d):d=t[8],d};function Vm(e,t){return(0,$.jsx)(`span`,{className:`oc-morph-orb-dot`,style:{"--m-1":zm(Rm[0][t]),"--m-2":zm(Rm[1][t]),"--m-3":zm(Rm[2][t]),"--m-4":zm(Rm[3][t])}},t)}var Hm=1200,Um=1e9,Wm=0xe8d4a51000,Gm=e=>e>=Wm?e:e>=Um?e*1e3:Date.now()+e;function Km({isWorking:e,isMobile:t,statusText:n,isGenericStatus:r,isWaitingForPermission:i,retryInfo:a,turnStartedAt:o}){let{locale:s,t:c}=ot(),[l,u]=Z.useState(null),[d,f]=Z.useState(!1),p=Z.useRef(l),m=Z.useRef(d),h=Z.useRef(!1);p.current=l,m.current=d;let g=Z.useRef(0),_=Z.useRef(null),v=Z.useRef(null),[y,b]=Z.useState(null),[x,S]=Z.useState(()=>Date.now());Z.useEffect(()=>{if(!e||typeof o!=`number`||a)return;S(Date.now());let t=window.setInterval(()=>S(Date.now()),1e3);return()=>window.clearInterval(t)},[e,o,a]),Z.useEffect(()=>{let e=a?.next;if(!e||e<=0){b(null);return}let t=Gm(e),n=()=>{let e=Math.max(0,t-Date.now());b(Math.ceil(e/1e3))};n();let r=setInterval(n,500);return()=>clearInterval(r)},[a?.next,a?.attempt]);let C=q(()=>{v.current&&=(clearTimeout(v.current),null)}),w=q((e,t,n=!1)=>{C(),_.current=null,u(e),f(t),h.current=n,g.current=Date.now()}),T=q(()=>{if(v.current)return;let e=Date.now()-g.current,t=Math.max(0,Hm-e);v.current=setTimeout(()=>{v.current=null;let e=_.current;e&&w(e.text,e.permission,e.generic)},t)});if(Z.useEffect(()=>{if(!e){C(),_.current=null,u(null),f(!1),h.current=!1;return}if(a){C(),_.current=null;return}let t=i?c(`chat.assistantStatus.waitingForPermission`):n,o=!!i,s=!!r&&!o;if(t){if(!p.current){w(t,o,s);return}if((t!==p.current||o!==m.current)&&!(s&&h.current)){if(Date.now()-g.current>=Hm){w(t,o,s);return}_.current={text:t,permission:o,generic:s},T()}}},[e,n,r,i,a,c]),Z.useEffect(()=>()=>C(),[]),!e)return null;if(a){let e=y!==null&&y>0?new Intl.RelativeTimeFormat(s,{numeric:`always`,style:`short`}).format(y,`second`):null,n=e?a.attempt&&a.attempt>1?c(`chat.assistantStatus.retryingInAttempt`,{duration:e,attempt:a.attempt}):c(`chat.assistantStatus.retryingIn`,{duration:e}):a.attempt&&a.attempt>1?c(`chat.assistantStatus.retryingAttempt`,{attempt:a.attempt}):c(`chat.assistantStatus.retrying`);return(0,$.jsx)(`div`,{className:`flex h-full items-center text-muted-foreground`,role:`status`,"aria-live":`polite`,"aria-label":n,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center ${t?`gap-1 typography-meta !text-[length:var(--text-meta)]`:`gap-1.5 typography-ui-header`}`,children:[(0,$.jsx)(`span`,{className:`inline-flex flex-none items-center justify-center ${t?`h-5 w-4`:`h-6 w-3.5`}`,children:(0,$.jsx)(Bm,{isMobile:t})}),(0,$.jsx)(`span`,{className:`animate-text-shimmer min-w-0 truncate whitespace-nowrap`,children:n})]})})}if(!l)return null;let E=l,D=typeof o==`number`?pt(Math.max(0,x-o)):null;return(0,$.jsx)(`div`,{className:`flex h-full items-center text-muted-foreground`,role:`status`,"aria-live":d?`assertive`:`polite`,"aria-label":E,"data-waiting":d?`true`:void 0,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center ${t?`gap-1 typography-meta !text-[length:var(--text-meta)]`:`gap-1.5 typography-ui-header`}`,children:[(0,$.jsx)(`span`,{className:`inline-flex flex-none items-center justify-center ${t?`h-5 w-4`:`h-6 w-3.5`}`,children:(0,$.jsx)(Bm,{isMobile:t})}),(0,$.jsx)(`span`,{className:`animate-text-shimmer min-w-0 truncate whitespace-nowrap`,children:E}),D?(0,$.jsx)(`span`,{className:`typography-meta shrink-0 font-light text-muted-foreground/70 tabular-nums`,"aria-hidden":`true`,children:D}):null]})})}var qm={compose:!0,mutateSession:!0,answerRequests:!0,openTimeline:!0,navigateNestedSession:!0,textSelectionActions:!0,forkSession:!0},Jm={compose:!1,mutateSession:!1,answerRequests:!1,openTimeline:!1,navigateNestedSession:!0,textSelectionActions:!1,forkSession:!1},Ym={kind:`primary`,surfaceId:`primary`,sessionId:null,directory:null,active:!0,capabilities:qm},Xm=e=>({kind:`primary`,surfaceId:`explicit:${e.viewKey}`,sessionId:e.sessionId,directory:e.directory,active:e.active,capabilities:e.active?qm:Jm}),Zm=Z.createContext(Ym),Qm=()=>Z.useContext(Zm),$m=e=>({fork:e.capabilities.forkSession,revert:e.capabilities.mutateSession,edit:e.capabilities.mutateSession,reviewTransfer:e.capabilities.mutateSession,timeline:e.capabilities.openTimeline,textSelectionMutation:e.capabilities.textSelectionActions,openSourceSession:!!e.openSourceSession}),eh=(e,t,n,r)=>e.capabilities.navigateNestedSession?e.navigateSession?(e.navigateSession(t,n),!0):e.kind===`primary`&&(r(),!0):!1,th={containerType:`inline-size`,containerName:`status-row`},nh=[],rh=e=>{let t=(0,Q.c)(93),{isWorking:n,statusText:r,isGenericStatus:i,isWaitingForPermission:a,wasAborted:o,abortActive:s,retryInfo:l,turnStartedAt:u,showAbortStatus:f,showAbortPrompt:p,showAssistantStatus:m,showTodos:h,agentName:g,leftAccessory:_}=e,v=n!==void 0&&n,y=r===void 0?null:r,b=p!==void 0&&p,x=m===void 0||m,S=h===void 0||h,{t:C}=ot(),[w,T]=Z.useState(!1),E=Qm(),D=J(ih),O=E.sessionId??D,k;t[0]!==O||t[1]!==S?(k=e=>!S||!O?nh:e.todo[O]??nh,t[0]=O,t[1]=S,t[2]=k):k=t[2];let A=Yn(k,E.directory??void 0),j;t[3]!==O||t[4]!==S?(j=e=>S&&O?e.sessions[O]?.todos:void 0,t[3]=O,t[4]=S,t[5]=j):j=t[5];let M=vi(j),N;bb0:{if(!O){N=nh;break bb0}if(A.length>0){N=A;break bb0}N=M??nh}let P=N,F=c(ah),I;t[6]===F?I=t[7]:(I=F||d(),t[6]=F,t[7]=I);let L=I,R;t[8]===P?R=t[9]:(R=P.filter(oh),t[8]=P,t[9]=R);let z=R,B;t[10]===z?B=t[11]:(B=z.find(sh)||z.find(ch)||null,t[10]=z,t[11]=B);let V=B,H;t[12]===z?H=t[13]:(H=z.find(lh)??null,t[12]=z,t[13]=H);let U=H,W;t[14]===P?W=t[15]:(W=P.filter(uh),t[14]=P,t[15]=W);let ee=W.length,G;t[16]===P?G=t[17]:(G=P.filter(dh),t[16]=P,t[17]=G);let K=G.length,te;t[18]!==K||t[19]!==ee?(te={completed:K,total:ee},t[18]=K,t[19]=ee,t[20]=te):te=t[20];let ne=te,re;t[21]===z?re=t[22]:(re=z.filter(fh),t[21]=z,t[22]=re);let ie=re.length,ae;t[23]===z?ae=t[24]:(ae=z.filter(ph),t[23]=z,t[24]=ae);let oe=ae.length,se;t[25]!==ie||t[26]!==oe?(se={active:ie,left:oe},t[25]=ie,t[26]=oe,t[27]=se):se=t[27];let ce=se,le=S&&ce.left>0,ue=!!b,de=x&&(v||!!o||!!f),fe=!!_,pe=!f&&!ue&&(o||!s),me=ue||de||le||fe,he=Z.useRef(null),ge=Z.useRef(null),_e=Z.useRef(null),ve,ye;t[28]===w?(ve=t[29],ye=t[30]):(ve=()=>{let e=ge.current,t=_e.current;if(!w||!e||!t)return;let n=t.offsetTop-e.offsetTop-(e.clientHeight-t.offsetHeight)/2,r=e.scrollHeight-e.clientHeight;e.scrollTop=Math.min(r,Math.max(0,n))},ye=[w],t[28]=w,t[29]=ve,t[30]=ye),Z.useLayoutEffect(ve,ye);let be,xe;t[31]===w?(be=t[32],xe=t[33]):(be=()=>{if(!w)return;let e=e=>{he.current&&!he.current.contains(e.target)&&T(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},xe=[w],t[31]=w,t[32]=be,t[33]=xe),Z.useEffect(be,xe);let Se;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(Se=()=>T(mh),t[34]=Se):Se=t[34];let Ce=q(Se),we;t[35]!==ce.active||t[36]!==ce.left||t[37]!==C?(we=C(`chat.statusRow.summary.activeLeft`,{active:ce.active,left:ce.left}),t[35]=ce.active,t[36]=ce.left,t[37]=C,t[38]=we):we=t[38];let Te=we,Ee;t[39]!==V||t[40]!==le||t[41]!==L||t[42]!==w||t[43]!==ne||t[44]!==C||t[45]!==Te||t[46]!==Ce?(Ee=le?(0,$.jsxs)(`button`,{type:`button`,onClick:Ce,className:Y(Gs,`shrink-0`),"aria-label":Te,title:Te,children:[(0,$.jsx)(X,{name:`list-check-3`,className:Js}),!L&&V?(0,$.jsx)(`span`,{className:Y(`status-row__active-todo max-w-[200px]`,ic),children:V.content}):(0,$.jsx)(`span`,{className:`text-xs leading-4 md:text-[0.8125rem] md:leading-5`,children:C(`chat.statusRow.tasksTitle`)}),(0,$.jsxs)(`span`,{className:Us,"aria-hidden":`true`,children:[ne.completed,`/`,ne.total]}),w?(0,$.jsx)(X,{name:`arrow-up-s`,className:Js}):(0,$.jsx)(X,{name:`arrow-down-s`,className:Js})]}):null,t[39]=V,t[40]=le,t[41]=L,t[42]=w,t[43]=ne,t[44]=C,t[45]=Te,t[46]=Ce,t[47]=Ee):Ee=t[47];let De=Ee;if(!me)return null;let Oe=!fe&&`chat-column`,ke;t[48]===Oe?ke=t[49]:(ke=Y(`mb-1`,Oe),t[48]=Oe,t[49]=ke);let Ae=fe&&`px-3`,je;t[50]===Ae?je=t[51]:(je=Y(`flex items-center justify-between py-0.5 gap-2 h-[1.2rem]`,Ae),t[50]=Ae,t[51]=je);let Me=!fe&&`overflow-x-hidden`,Ne;t[52]===Me?Ne=t[53]:(Ne=Y(`flex-1 flex items-center min-w-0 gap-2`,Me),t[52]=Me,t[53]=Ne);let Pe;t[54]!==g||t[55]!==O||t[56]!==ue||t[57]!==i||t[58]!==F||t[59]!==a||t[60]!==v||t[61]!==_||t[62]!==l||t[63]!==pe||t[64]!==f||t[65]!==x||t[66]!==y||t[67]!==C||t[68]!==u?(Pe=ue?(0,$.jsx)(`div`,{className:`flex min-w-0 items-center text-muted-foreground`,role:`status`,"aria-live":`polite`,"aria-label":C(`chat.statusRow.abortPrompt`),children:(0,$.jsxs)(`span`,{className:Y(`flex min-w-0 items-center typography-ui-label`,F?`gap-1`:`gap-1.5`),children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center`,F?`h-5 w-4`:`h-6 w-3.5`),children:(0,$.jsx)(X,{name:`error-warning`,className:`size-3.5`,"aria-hidden":`true`})}),(0,$.jsx)(`span`,{className:`animate-text-shimmer truncate whitespace-nowrap`,children:C(`chat.statusRow.abortPrompt`)})]})}):x&&f?(0,$.jsx)(`div`,{className:`flex h-full items-center text-[var(--status-error)]`,children:(0,$.jsxs)(`span`,{className:Y(`flex items-center typography-ui-label`,F?`gap-1`:`gap-1.5`),children:[(0,$.jsx)(`span`,{className:Y(`inline-flex flex-none items-center justify-center`,F?`h-5 w-4`:`h-6 w-3.5`),children:(0,$.jsx)(X,{name:`close-circle`,className:`size-3.5`,"aria-hidden":`true`})}),C(`chat.statusRow.aborted`)]})}):x&&pe?(0,$.jsx)(Km,{isWorking:v,isMobile:F,statusText:y,isGenericStatus:i,isWaitingForPermission:a,retryInfo:l,turnStartedAt:u,agentName:g},O??`no-session`):_||null,t[54]=g,t[55]=O,t[56]=ue,t[57]=i,t[58]=F,t[59]=a,t[60]=v,t[61]=_,t[62]=l,t[63]=pe,t[64]=f,t[65]=x,t[66]=y,t[67]=C,t[68]=u,t[69]=Pe):Pe=t[69];let Fe;t[70]!==Ne||t[71]!==Pe?(Fe=(0,$.jsx)(`div`,{className:Ne,children:Pe}),t[70]=Ne,t[71]=Pe,t[72]=Fe):Fe=t[72];let Ie=!fe&&`-mr-3`,Le;t[73]===Ie?Le=t[74]:(Le=Y(`relative flex items-center gap-2 flex-shrink-0`,Ie),t[73]=Ie,t[74]=Le);let Re;t[75]!==U||t[76]!==le||t[77]!==w||t[78]!==ne||t[79]!==C||t[80]!==z?(Re=w&&le&&(0,$.jsxs)(`div`,{style:Ks,className:Y(Qs,`absolute right-0 bottom-full mb-1 z-50`,`animate-in fade-in-0 zoom-in-95 slide-in-from-bottom-2`,`duration-150`),children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--surface-subtle)] px-3 py-2.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium leading-4 text-foreground md:text-[0.8125rem] md:leading-5`,children:C(`chat.statusRow.tasksTitle`)}),(0,$.jsxs)(`span`,{className:`text-xs tabular-nums leading-4 text-muted-foreground md:text-[0.8125rem] md:leading-5`,children:[ne.completed,`/`,ne.total]})]}),(0,$.jsx)(`ul`,{ref:ge,className:dc,children:z.map((e,t)=>(0,$.jsx)(pc,{todo:e,isActive:e===U,activeRef:e===U?_e:void 0},e.id??`todo-${t}`))})]}),t[75]=U,t[76]=le,t[77]=w,t[78]=ne,t[79]=C,t[80]=z,t[81]=Re):Re=t[81];let ze;t[82]!==Le||t[83]!==Re||t[84]!==De?(ze=(0,$.jsxs)(`div`,{className:Le,ref:he,children:[De,Re]}),t[82]=Le,t[83]=Re,t[84]=De,t[85]=ze):ze=t[85];let Be;t[86]!==je||t[87]!==Fe||t[88]!==ze?(Be=(0,$.jsxs)(`div`,{className:je,children:[Fe,ze]}),t[86]=je,t[87]=Fe,t[88]=ze,t[89]=Be):Be=t[89];let Ve;return t[90]!==ke||t[91]!==Be?(Ve=(0,$.jsx)(`div`,{className:ke,style:th,children:Be}),t[90]=ke,t[91]=Be,t[92]=Ve):Ve=t[92],Ve};function ih(e){return e.currentSessionId}function ah(e){return e.isMobile}function oh(e){return e.status!==`cancelled`}function sh(e){return e.status===`in_progress`}function ch(e){return e.status===`pending`}function lh(e){return e.status===`in_progress`}function uh(e){return e.status!==`cancelled`}function dh(e){return e.status===`completed`}function fh(e){return e.status===`in_progress`}function ph(e){return e.status===`in_progress`||e.status===`pending`}function mh(e){return!e}var hh=Z.createContext(null),gh=e=>{let t=(0,Q.c)(3),{actions:n,children:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(hh.Provider,{value:n,children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},_h=()=>Z.useContext(hh),vh=new Set([`edit`,`multiedit`,`write`,`apply_patch`,`create`,`file_write`]),yh=e=>`insertions`in e,bh=e=>{if(typeof e==`number`&&Number.isFinite(e))return Math.max(0,Math.trunc(e))},xh=e=>{let t=0,n=0;for(let r of e.split(`
6521
+ `))r.startsWith(`+`)&&!r.startsWith(`+++`)&&t++,r.startsWith(`-`)&&!r.startsWith(`---`)&&n++;return{added:t,removed:n}},Sh=e=>{let t=[],n=new Set;for(let r of e){if(r.type!==`tool`||!vh.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:bh(i.additions)??void 0,deletions:bh(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:bh(e.additions)??void 0,deletions:bh(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:bh(i.additions)??void 0,deletions:bh(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=xh(e);t.push({path:`Diff`,tool:r.tool,partId:r.id,messageID:r.messageID,additions:i.added,deletions:i.removed})}}}return t},Ch=(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:bo(n,i.path),relativePath:i.path,insertions:l?.insertions??0,deletions:l?.deletions??0,status:c,hasStagedChanges:o,hasWorkingChanges:s})}return r},wh=e=>{for(let t of e){let e=t.index?.trim()??``,n=(t.working_dir?.trim()??``)||e;if(!(!n||n===`!`))return!0}return!1},Th=(e,t)=>yo(e,t),Eh=(e,t)=>{let n=yh(e)&&e.relativePath?e.relativePath:Th(e.path,t);return{fileName:n.split(`/`).pop()??n,dirPart:n.includes(`/`)?n.slice(0,n.lastIndexOf(`/`)):``}},Dh=e=>yh(e)?{additions:e.insertions,deletions:e.deletions}:{additions:e.additions??0,deletions:e.deletions??0},Oh=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:Ws,children:o}),t[2]=o,t[3]=s);let c;t[4]===n.length?c=t[5]:(c=(0,$.jsx)(`span`,{className:Ys,children:n.length}),t[4]=n.length,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,$.jsxs)(`div`,{className:fc,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}=Eh(e,r),s=Dh(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`,Xs),title:a(`chat.changedFiles.actions.openFileTitle`,{path:e.path}),onClick:()=>i(e),children:[(0,$.jsx)(Au,{filePath:e.path,className:`h-3 w-3 shrink-0 md:h-3.5 md:w-3.5`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 flex items-baseline overflow-hidden`,title:e.path,children:o?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,style:{direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:o}),(0,$.jsxs)(`span`,{className:`flex-shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`/`}),(0,$.jsx)(`span`,{className:`text-foreground`,children:n})]})]}):(0,$.jsx)(`span`,{className:`truncate text-foreground`,children:n})}),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:dc,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},kh=`${Qs} origin-[var(--transform-origin)]`,Ah=Ks,jh=Z.memo(()=>{let e=(0,Q.c)(60),{t}=ot(),[n,r]=Z.useState(!1),i=Z.useRef(null),a=os()??null,o=Z.useContext(Ao),s=Hs(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=Es(l),d=_h(),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||s!==!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=Ch(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||s!==!0||h.length===0)return null;let x;e[18]!==a||e[19]!==d||e[20]!==o?.editor?(x=e=>{if(!a||!yh(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=c.getState(),s=e.hasStagedChanges&&!e.hasWorkingChanges;if(!i.isMobile){i.openContextDiff(a,e.relativePath,s);return}i.navigateToDiff(e.relativePath,s),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(Gs,`max-w-full text-left`),D=()=>r(Mh),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:Js}),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(Us,`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:Js}):(0,$.jsx)(X,{name:`arrow-down-s`,className:Js}),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:Ah,className:Y(kh,`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)(Oh,{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});jh.displayName=`PendingChangesBar`;function Mh(e){return!e}var Nh=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)(da,{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}),Ph=Z.createContext(`default`),Fh=()=>Z.useContext(Ph),Ih=500,Lh=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=Bt(l,d),t[2]=l,t[3]=d,t[4]=f):f=t[4];let p=f,m=Dp(d),h;t[5]===d?h=t[6]:(h=ta(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()},Ih))},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`,Np,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)(Ep,{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:Rh,onMouseDown:zh,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 Rh(e){return e.preventDefault()}function zh(e){return e.preventDefault()}var Bh=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=mi(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()?Xn(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)(Oa,{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:Vh,onPointerDownCapture:Hh,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 Vh(e){return e.preventDefault()}function Hh(e){e.preventDefault()}var Uh={phase:`idle`,isWorking:!1,isBusy:!1,isCooldown:!1};function Wh(e,t){let n=(0,Q.c)(3),r=mr(e??``,t),i=ui(e??``,t),a=Er(e??``,t),o=yi(e??``,t),s=Wr(e??``,t),c=wi(t),l;bb0:{if(!e){l=Uh;break bb0}if(o.length>0||s.length>0){l=Uh;break bb0}let t=r?.type??`idle`,u=a[a.length-1],d=!!(u&&u.role===`assistant`&&typeof u.time?.completed!=`number`),f=u?.time?.created,p=!!(d&&typeof c==`number`&&typeof f==`number`&&f<=c),m=r!==void 0,h=m&&t!==`idle`,g=h||d&&!p;if(m&&!h&&(!d||m&&!h&&typeof i==`number`&&typeof f==`number`&&f<=i)){l=Uh;break bb0}if(!g){l=Uh;break bb0}let _=h?t:`busy`,v=t===`busy`||!h&&d,y;n[0]!==_||n[1]!==v?(y={phase:_,isWorking:!0,isBusy:v,isCooldown:!1},n[0]=_,n[1]=v,n[2]=y):y=n[2],l=y}return l}var Gh=e=>e.nativeEvent.isComposing||e.nativeEvent.keyCode===229;function Kh(e){let t=(0,Q.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`path`,{d:`M200,40H56A16,16,0,0,0,40,56V200a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Z`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=(0,$.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,fill:`currentColor`,viewBox:`0 0 256 256`,...e,children:n}),t[1]=e,t[2]=r),r}var qh=e=>!(!e.sessionId||e.composerSurfaceKind===`secondary`||e.hasSessionEntity||e.hasRenderableSessionSnapshot),Jh=e=>{let t=e.isSubagentSession&&!e.allowPromptingSubagentSessions;return{showReadOnlyBanner:e.isSubagentSession&&(e.readOnly||t),blockSubmission:e.sessionIdentityPending}},Yh=(e,t)=>({agentName:t.agentName??e?.agentName,providerId:t.providerId??e?.providerId,modelId:t.modelId??e?.modelId}),Xh=(e,t)=>e.id===t.id&&e.directory===t.directory,Zh=(e,t)=>e.agentName===t.agentName&&e.providerId===t.providerId&&e.modelId===t.modelId,Qh=(e,t,n,r)=>{if(!t)return null;let i=n??(e?.viewKey===t?e.parentTarget:null);if(!i)return null;let a=Yh(e?.viewKey===t?e.execution:void 0,r);return e&&e.viewKey===t&&Xh(e.parentTarget,i)&&Zh(e.execution,a)?e:{viewKey:t,parentTarget:i,execution:a}},$h=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`}},eg=`data-mobile-overlay-active`,tg=e=>Array.from(e).some(e=>e.getAttribute(eg)!==`false`),ng=`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(`.`),rg=`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 ig(){return`${ng[Math.floor(Math.random()*ng.length)]}-${rg[Math.floor(Math.random()*rg.length)]}`}function ag(e){let t=ig();return e&&e.trim()?`${e.trim().replace(/\/+$/,``)}/${t}`:t}var og=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||e,sg=e=>({agentName:e.currentAgentName,providerId:e.currentProviderId,modelId:e.currentModelId,variant:e.currentVariant}),cg=(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))},lg=async(e,t)=>{await un(e)&&await Dr(t)},ug=e=>{let t=og(e),n=Hi.getState().projects;if(n.length===0)return null;let r=Hi.getState().getActiveProject();if(r?.path){let e=og(r.path);if(t===e||t.startsWith(`${e}/`))return{id:r.id,path:r.path}}let i=n.filter(e=>{let n=og(e.path);return t===n||t.startsWith(`${n}/`)}).sort((e,t)=>og(t.path).length-og(e.path).length)[0];return i?{id:i.id,path:i.path}:null},dg=!1,fg=async(e,t)=>{try{let n=Hi.getState().projects.find(e=>e.id===t.id)??Hi.getState().projects.find(e=>og(e.path)===og(t.path)),r=_i(t.path);await Hr.getState().activateDirectory(t.path,{source:`worktreeSessionCreator`});let i=Hr.getState();if(i.activeDirectoryKey!==r||i.providers.length===0||i.agents.length===0)return;i.applyDefaultModelAgentSelection({projectDefaultModel:n?.defaultModel??void 0}),cg(e,sg(Hr.getState()),Un.getState())}catch{}},pg=async(e,t,n)=>{let r=J.getState(),i=Hr.getState();r.initializeNewOpenChamberSession(e,i.agents),r.setSessionDirectory(e,t.path),r.setWorktreeMetadata(e,t),await fg(e,n),Te.getState().setDirectory(t.path,{showOverlay:!1})},mg=e=>e.trim().replace(/^remotes\//,``).replace(/[^A-Za-z0-9._/-]+/g,`-`).replace(/\/+/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``)||`worktree`,hg=async e=>{if(dg)return null;let t=Hi.getState().getActiveProject(),n=e?.projectDirectory?.trim()||t?.path;if(!n)return Ii.error(`No active project`,{description:`Please select a project first.`}),null;let r=ug(n)??(t?.path?{id:t.id,path:t.path}:null);if(!r)return Ii.error(`No active project`,{description:`Please select a project first.`}),null;let i=!1;try{i=await pa(r.path)}catch{}if(!i)return Ii.error(`Not a Git repository`,{description:`Worktrees can only be created in Git repositories.`}),null;dg=!0;try{let t=Oi(),n=e?.existingBranch?.trim().replace(/^remotes\//,``)||``,i=n?mg(n):ag(),a=n?`existing`:`new`,o=J.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 fa(r.path,{mode:a,...a===`new`?{branchName:i,worktreeName:i}:{existingBranch:n,worktreeName:i}}).catch(()=>null);s?.path&&(J.getState().overrideNewSessionDraftTarget({projectId:r.id,directoryOverride:s.path,pendingWorktreeRequestId:t,bootstrapPendingDirectory:s.path,preserveDirectoryOverride:!0,title:e?.title,initialPrompt:e?.initialPrompt}),Te.getState().setDirectory(s.path,{showOverlay:!1}));let c=await Xt(r),l=await Ds(r,{preferredName:i,mode:a,worktreeName:i,setupCommands:c,returnAfterDirectoryCreated:!0,...a===`new`?{branchName:i}:{existingBranch:n}});return xi(t,l.path),J.getState().overrideNewSessionDraftTarget({projectId:r.id,directoryOverride:l.path,pendingWorktreeRequestId:null,bootstrapPendingDirectory:l.path,preserveDirectoryOverride:!0,title:e?.title,initialPrompt:e?.initialPrompt}),Te.getState().setDirectory(l.path,{showOverlay:!1}),l.path}catch(e){let t=e instanceof Error?e.message:`Failed to create worktree`,n=J.getState().newSessionDraft.pendingWorktreeRequestId;return n&&(si(n,e instanceof Error?e:Error(t)),J.getState().resolvePendingDraftWorktreeTarget(n,null)),J.getState().setDraftBootstrapPendingDirectory(null),Ii.error(`Failed to create worktree`,{description:t}),null}finally{dg=!1}};async function gg(){return hg()}async function _g(e){let t=e.branch?.trim();return t?hg({existingBranch:t,projectDirectory:e.projectDirectory,initialPrompt:e.initialPrompt,title:e.title}):null}async function vg(e,t,n,r){if(dg)return null;dg=!0;try{let i=n?.trim()||`HEAD`,a=t?.trim();if(!a)throw Error(`Branch name is required`);let o=r?.kind??`standard`,s=ug(e);if(!s)throw Error(`Project is not registered in OpenChamber`);let c=!1;try{c=await pa(s.path)}catch{}if(!c)return Ii.error(`Not a Git repository`,{description:`Worktrees can only be created in Git repositories.`}),null;let l=await Xt(s),u=await ja(s.path);try{let e=await Ds(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 lg(s,e.path);let n=await J.getState().createSession(void 0,e.path);if(!n)throw await Na(s,e,{deleteLocalBranch:!0}).catch(()=>void 0),Error(`Could not create a session for the worktree.`);return await pg(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 Ii.error(`Failed to create worktree`,{description:t}),null}}finally{dg=!1}}var yg=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},bg=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 xg({open:e,onOpenChange:t,mode:n=`createSession`,onSelect:r}){let{t:i}=ot(),{github:a}=ko(),o=ro(),s=o.data??null,l=o.isFetched,u=c(e=>e.setSettingsDialogOpen),d=c(e=>e.setSettingsPage),f=c(e=>e.isMobile),{isTablet:p}=mo(),m=f||p,h=Hi(e=>e.getActiveProject()),g=Te(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(()=>yg(v),[v]),E=xs(v,350),D=T?``:E.trim(),O=!!T||v===E,k=e&&O&&!!_&&!!a?.issuesList&&!(l&&s?.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);Ii.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||s?.connected!==!1&&j?.connected!==!1,V=j?.repo?.url??null,H=Z.useCallback(()=>{d(`github`),u(!0)},[u,d]),U=Z.useCallback(()=>{let e=Hr.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=Hr.getState(),t=e.settingsDefaultModel;if(!t)return null;let n=Qi(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=Hr.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(!_){Ii.error(i(`session.githubIssuePicker.error.noActiveProject`));return}if(!a?.issueGet||!a?.issueComments){Ii.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){Ii.error(i(`session.githubIssuePicker.error.notConnected`));return}if(!n.repo){Ii.error(i(`session.githubIssuePicker.error.repoNotResolvable`),{description:i(`session.githubIssuePicker.error.repoMustBeGithub`)});return}let s=n.issue;if(!s){Ii.error(i(`session.githubIssuePicker.error.issueNotFound`));return}let l=await a.issueComments(_,e,{sourceRepo:o});if(!c())return;if(l.connected===!1){Ii.error(i(`session.githubIssuePicker.error.notConnected`));return}let u=l.comments??[],d=bg({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);Ii.error(i(`session.githubIssuePicker.toast.loadIssueDetailsFailed`),{description:t})}finally{c()&&C(null)}return}if(!_){Ii.error(i(`session.githubIssuePicker.error.noActiveProject`));return}if(!a?.issueGet||!a?.issueComments){Ii.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){Ii.error(i(`session.githubIssuePicker.error.notConnected`));return}if(!n.repo){Ii.error(i(`session.githubIssuePicker.error.repoNotResolvable`),{description:i(`session.githubIssuePicker.error.repoMustBeGithub`)});return}let r=n.issue;if(!r){Ii.error(i(`session.githubIssuePicker.error.issueNotFound`));return}let s=await a.issueComments(_,e,{sourceRepo:o});if(!c())return;if(s.connected===!1){Ii.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}-${ig()}`,t=await vg(_,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 Jn(u,_,null);if(!e?.id)throw Error(`Failed to create session`);return{sessionId:e.id,sessionDirectory:e.directory??_}})();if(!c())return;Tr(d,u).catch(()=>void 0);try{J.getState().initializeNewOpenChamberSession(d,Hr.getState().agents)}catch{}t(!1);let f=Hr.getState(),p=Un.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){Ii.error(i(`session.githubIssuePicker.error.noModelSelected`));return}let y=ee(h,g),x=await tr(`github.issue.review.visible`,{issue_number:String(r.number)});if(!c())return;let S=await tr(`github.issue.review.instructions`);if(!c())return;let C=bg({repo:n.repo,issue:r,comments:l});J.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);Ii.error(i(`session.githubIssuePicker.toast.sendContextFailed`),{description:t})}),Ii.success(i(`session.githubIssuePicker.toast.sessionCreated`))}catch(e){if(!c())return;let t=e instanceof Error?e.message:String(e);Ii.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`),te=i(n===`select`?`session.githubIssuePicker.description.select`:`session.githubIssuePicker.description.createSession`),ne=(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)(La,{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)(da,{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)(da,{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)(da,{variant:`outline`,size:`sm`,onClick:R,disabled:P||!!S,children:i(`session.githubIssuePicker.actions.refresh`)})]})]})]})]});return f?(0,$.jsx)(Cp,{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:te})]}),children:ne}):(0,$.jsx)(ua,{open:e,onOpenChange:t,children:(0,$.jsxs)(oa,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsxs)(ia,{className:`flex-shrink-0`,children:[(0,$.jsxs)(sa,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`github`,className:`h-5 w-5`}),K]}),(0,$.jsx)(ca,{children:te})]}),ne]})})}var Sg=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},Cg=e=>`GitHub pull request context (JSON)\n${JSON.stringify(e,null,2)}`;function wg({open:e,onOpenChange:t,onSelect:n}){let{t:r}=ot(),{github:i}=ko(),a=ro(),o=a.data??null,s=a.isFetched,l=c(e=>e.setSettingsDialogOpen),u=c(e=>e.setSettingsPage),d=c(e=>e.isMobile),{isTablet:f}=mo(),p=d||f,m=Hi(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(()=>Sg(h),[h]),C=xs(h,350),w=S?``:C.trim(),T=!!S||h===C,E=e&&T&&!!m&&!!i?.prsList&&!(s&&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=q(async()=>{try{await D.fetchNextPage()}catch(e){let t=e instanceof Error?e.message:String(e);Ii.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=!s||o?.connected!==!1&&O?.connected!==!1,L=q(()=>{u(`github`),l(!0)}),R=q(async(e,a)=>{if(!m){Ii.error(r(`session.githubPrPicker.error.noActiveProject`));return}if(!i?.prContext){Ii.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){Ii.error(r(`session.githubPrPicker.error.notConnected`));return}if(!o.pr){Ii.error(r(`session.githubPrPicker.error.prNotFound`));return}if(!o.repo){Ii.error(r(`session.githubPrPicker.error.repoNotResolvable`),{description:r(`session.githubPrPicker.error.repoMustBeGithub`)});return}if(n){let e=await tr(`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:Cg(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);Ii.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)(La,{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)(_a,{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)(da,{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)(Cp,{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)(ua,{open:e,onOpenChange:t,children:(0,$.jsxs)(oa,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsxs)(ia,{className:`flex-shrink-0`,children:[(0,$.jsxs)(sa,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{name:`github`,className:`h-5 w-5`}),z]}),(0,$.jsx)(ca,{children:B})]}),V]})})}function Tg(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)(mc,{"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 Eg=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)(mc.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});Eg.displayName=`CommandInput`;function Dg(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)(ma,{as:mc.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 Og(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)(mc.Empty,{"data-slot":`command-empty`,className:`py-6 text-center typography-ui-label`,...n}),t[2]=n,t[3]=r),r}function kg(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)(mc.Group,{"data-slot":`command-group`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ag(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)(mc.Separator,{"data-slot":`command-separator`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function jg(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)(mc.Item,{"data-slot":`command-item`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Mg=(e,t)=>`${e}:${T(t)}`,Ng=e=>e.type===`skill`||!se(e.name);function Pg(e){let{t}=ot(),n=Z.useMemo(()=>d(),[]),r=c(e=>e.globalDraftStarters),i=Hi(e=>e.activeProjectId),a=Hi(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]),[s,l]=Z.useState([]),u=Z.useMemo(()=>r??ce,[r]),f=u.some(Ng)||s.some(Ng),m=wt({directory:e,enabled:f}),h=Z.useMemo(()=>m.data??[],[m.data]),{refetch:g}=m,_=Ti({directory:e,enabled:f}),v=Z.useMemo(()=>_.data??[],[_.data]),{refetch:y}=_;Z.useEffect(()=>{let e=!1;if(!o){l([]);return}return En(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=se(e.name);return n?{id:Mg(r,e),ref:e,group:r,label:t(n.labelKey),icon:n.icon,submitText:n.command}:x.has(e.name)?{id:Mg(r,e),ref:e,group:r,label:w(e.name),icon:ae,submitText:`/${e.name}`}:null}return S.has(e.name)?{id:Mg(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(()=>s.map(e=>C(e,`project`)).filter(e=>e!==null),[s,C]),O=Z.useMemo(()=>{let e=new Set;for(let t of u)e.add(T(t));for(let t of s)e.add(T(t));return e},[u,s]),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`||se(t.name)||e.push({type:`command`,name:t.name,label:w(t.name),icon:ae,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=>{c.getState().setGlobalDraftStarters(e),te({draftStarters:e})},[]),j=Z.useCallback(e=>{l(e),o&&Gt(o,e)},[o]),N=Z.useCallback(e=>{let t={type:e.type,name:e.name};if(e.scope===`project`){if(!o||s.some(e=>p(e,t)))return;j([...s,t])}else{let e=r??ce;if(e.some(e=>p(e,t)))return;A([...e,t])}},[o,s,r,j,A]),F=Z.useCallback((e,t)=>{e===`project`?j(s.filter(e=>!p(e,t))):A((r??ce).filter(e=>!p(e,t)))},[s,r,j,A]),I=Z.useCallback((e,t,n)=>{let i=e===`project`?s:r??ce,a=i.findIndex(n=>Mg(e,n)===t),o=i.findIndex(t=>Mg(e,t)===n);if(a<0||o<0||a===o)return;let c=Jo([...i],a,o);e===`project`?j(c):A(c)},[s,r,j,A]);return{global:E,project:D,pinnable:k,hasProject:!!o,ensureLoaded:b,addStarter:N,removeStarter:F,reorder:I}}var Fg=`__draft-starter-trash__`,Ig=`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`,Lg=`max-h-7`,Rg=[{key:`built-in`,headingKey:`chat.draftStarters.sectionBuiltIn`},{key:`command`,headingKey:`chat.draftStarters.sectionCommands`},{key:`skill`,headingKey:`chat.draftStarters.sectionSkills`}],zg=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}=Yo(s),m;t[2]===d?m=t[3]:(m=Ko.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},Bg=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(Gg),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)(zg,{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)(Zo,{items:o,strategy:qo,children:s}),t[11]=o,t[12]=s,t[13]=c):c=t[13],c},Vg=()=>{let e=(0,Q.c)(13),{t}=ot(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={id:Fg},e[0]=n):n=e[0];let{setNodeRef:r,isOver:i}=Vo(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(Ig,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},Hg=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)(Eg,{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)(Og,{children:l}),t[8]=l,t[9]=u);let d;t[10]!==r||t[11]!==n||t[12]!==a?(d=Rg.map(e=>{let t=n.filter(t=>t.section===e.key);return t.length===0?null:(0,$.jsx)(kg,{heading:a(e.headingKey),children:t.map(e=>(0,$.jsx)(jg,{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)(Dg,{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)(Tg,{className:o,children:[c,f]}),t[17]=o,t[18]=c,t[19]=f,t[20]=p):p=t[20],p},Ug=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)(la,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":l,title:u,className:Ig,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)(ia,{className:`px-4 pb-2 pt-4 text-left`,children:(0,$.jsx)(sa,{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)(Hg,{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)(oa,{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)(ua,{open:o,onOpenChange:c,children:[f,_]}),t[22]=o,t[23]=c,t[24]=_,t[25]=f,t[26]=v):v=t[26],v},Wg=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}=Pg(os()),{isMobile:f}=mo(),[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=Go(Ro(Uo,b),Ro(Bo,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)===Fg){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:zo.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&&Lg,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)(Bg,{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)(Bg,{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(Kg),"aria-expanded":h,"aria-label":i(h?`chat.draftStarters.collapse`:`chat.draftStarters.expand`),title:i(h?`chat.draftStarters.collapse`:`chat.draftStarters.expand`),className:Ig,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)(Vg,{}):(0,$.jsx)(Ug,{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 te;t[55]!==R||t[56]!==W||t[57]!==K?(te=(0,$.jsxs)(`div`,{className:R,children:[W,K]}),t[55]=R,t[56]=W,t[57]=K,t[58]=te):te=t[58];let ne;return t[59]!==F||t[60]!==S||t[61]!==te?(ne=(0,$.jsx)(Wo,{sensors:S,collisionDetection:Ho,measuring:L,onDragStart:j,onDragCancel:N,onDragEnd:F,children:te}),t[59]=F,t[60]=S,t[61]=te,t[62]=ne):ne=t[62],ne};function Gg(e){return e.id}function Kg(e){return!e}var qg=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});qg.displayName=`ChatComposerSurface`;var Jg=Z.forwardRef((e,t)=>{let n=(0,Q.c)(3),r;return n[0]!==e||n[1]!==t?(r=(0,$.jsx)(Aa,{ref:t,...e}),n[0]=e,n[1]=t,n[2]=r):r=n[2],r});Jg.displayName=`ChatPromptTextarea`;var Yg=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},Xg=(e,t)=>{typeof e==`function`?e(t):e&&(e.current=t)},Zg=e=>{let t=(0,Q.c)(139),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,te=Z.useRef(null),ne=Z.useRef(null),re;t[40]!==ee||t[41]!==K||t[42]!==z?.fillContainer?(re=()=>{if(!ee||K||z?.fillContainer)return;let e=te.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]=re):re=t[43];let ie=z?.fillContainer,ae;t[44]!==ee||t[45]!==K||t[46]!==ie||t[47]!==B?(ae=[ee,K,ie,B],t[44]=ee,t[45]=K,t[46]=ie,t[47]=B,t[48]=ae):ae=t[48],Z.useLayoutEffect(re,ae);let oe;t[49]!==G||t[50]!==H||t[51]!==w||t[52]!==U||t[53]!==z?(oe=e=>{z?.onKeyDown?.(e),!(e.defaultPrevented||Gh(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]=oe):oe=t[54];let se=oe,ce;t[55]===b?ce=t[56]:(ce=e=>{b?.(e.target.files),e.target.value=``},t[55]=b,t[56]=ce);let le=ce,ue=B.trim().length>0||V.length>0,de=V.filter(Qg),fe;t[57]!==n||t[58]!==H||t[59]!==le||t[60]!==b||t[61]!==U?(fe=b?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`input`,{ref:ne,type:`file`,accept:`image/*`,multiple:!0,className:`hidden`,onChange:le}),(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:()=>ne.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]=le,t[60]=b,t[61]=U,t[62]=fe):fe=t[62];let pe=fe,me;t[63]!==H||t[64]!==ue||t[65]!==C||t[66]!==U||t[67]!==O||t[68]!==k?(me=U&&C?(0,$.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,className:`flex size-8 shrink-0 items-center justify-center !text-black outline-none hover:!text-black dark:!text-white dark:hover:!text-white`,onClick:C,"aria-label":k,children:(0,$.jsx)(Kh,{className:`size-5`})}):(0,$.jsx)(`button`,{type:`submit`,"data-composer-send":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-md text-primary outline-none hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-30`,disabled:H||U||!ue,"aria-label":O,children:(0,$.jsx)(X,{name:U?`loader-4`:`send-plane-2`,className:Y(`size-4`,U&&`animate-spin`)})}),t[63]=H,t[64]=ue,t[65]=C,t[66]=U,t[67]=O,t[68]=k,t[69]=me):me=t[69];let he=me,ge=qg,_e=K&&`flex-1`,ve;t[70]!==o||t[71]!==_e?(ve=Y(`relative flex min-h-0 flex-col`,_e,o),t[70]=o,t[71]=_e,t[72]=ve):ve=t[72];let ye=K&&`flex min-h-0 flex-1 flex-col`,be;t[73]!==_||t[74]!==ye?(be=Y(`overflow-hidden`,ye,_),t[73]=_,t[74]=ye,t[75]=be):be=t[75];let xe=de.length>0?(0,$.jsx)(`div`,{className:`flex gap-2 overflow-x-auto px-3 pt-3`,"data-chat-prompt-attachments":`true`,children:de.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[76]===Se?Ce=t[77]:(Ce=Y(`relative overflow-hidden`,Se),t[76]=Se,t[77]=Ce);let we;t[78]!==u||t[79]!==d||t[80]!==p||t[81]!==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[78]=u,t[79]=d,t[80]=p,t[81]=R,t[82]=we):we=t[82];let Te;t[83]===g?Te=t[84]:(Te=e=>{te.current=e,Xg(g,e)},t[83]=g,t[84]=Te);let Ee;t[85]===x?Ee=t[86]:(Ee=e=>x(e.target.value,e),t[85]=x,t[86]=Ee);let De=H||U&&G,Oe=W?`send`:z?.enterKeyHint,ke=K&&`min-h-0 flex-1`,Ae;t[87]!==h||t[88]!==ke?(Ae=Y(`ring-0 bg-transparent shadow-none hover:bg-transparent focus-within:ring-0`,ke,h),t[87]=h,t[88]=ke,t[89]=Ae):Ae=t[89];let je=d&&`text-transparent caret-[var(--surface-foreground)]`,Me;t[90]!==p||t[91]!==je||t[92]!==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[90]=p,t[91]=je,t[92]=R,t[93]=Me):Me=t[93];let Ne=z?.rows??1,Pe;t[94]!==se||t[95]!==v||t[96]!==T||t[97]!==Te||t[98]!==Ee||t[99]!==De||t[100]!==Oe||t[101]!==Ae||t[102]!==Me||t[103]!==Ne||t[104]!==z||t[105]!==B?(Pe=(0,$.jsx)(Jg,{...z,simple:!0,ref:Te,"data-chat-input":`true`,value:B,onChange:Ee,onKeyDown:se,disabled:De,placeholder:T,enterKeyHint:Oe,outerClassName:Ae,className:Me,style:v,rows:Ne}),t[94]=se,t[95]=v,t[96]=T,t[97]=Te,t[98]=Ee,t[99]=De,t[100]=Oe,t[101]=Ae,t[102]=Me,t[103]=Ne,t[104]=z,t[105]=B,t[106]=Pe):Pe=t[106];let Fe;t[107]!==Ce||t[108]!==we||t[109]!==Pe?(Fe=(0,$.jsxs)(`div`,{className:Ce,"data-composer-input-shell":`true`,children:[we,Pe]}),t[107]=Ce,t[108]=we,t[109]=Pe,t[110]=Fe):Fe=t[110];let Ie;t[111]!==r||t[112]!==m||t[113]!==be||t[114]!==xe||t[115]!==Fe?(Ie=(0,$.jsxs)(`div`,{className:be,children:[m,r,xe,Fe]}),t[111]=r,t[112]=m,t[113]=be,t[114]=xe,t[115]=Fe,t[116]=Ie):Ie=t[116];let Le;t[117]!==pe||t[118]!==he||t[119]!==c||t[120]!==f||t[121]!==y||t[122]!==D?(Le=c??(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:y??pe}),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[117]=pe,t[118]=he,t[119]=c,t[120]=f,t[121]=y,t[122]=D,t[123]=Le):Le=t[123];let Re;t[124]!==s||t[125]!==l||t[126]!==Le?(Re=(0,$.jsx)(Yg,{className:s,style:l,children:Le}),t[124]=s,t[125]=l,t[126]=Le,t[127]=Re):Re=t[127];let ze;t[128]!==ve||t[129]!==Ie||t[130]!==Re?(ze=(0,$.jsxs)(`div`,{"data-composer-content":`true`,className:ve,children:[Ie,Re]}),t[128]=ve,t[129]=Ie,t[130]=Re,t[131]=ze):ze=t[131];let Be;return t[132]!==ge||t[133]!==i||t[134]!==a||t[135]!==K||t[136]!==A||t[137]!==ze?(Be=(0,$.jsxs)(ge,{className:a,expanded:K,...A,children:[i,ze]}),t[132]=ge,t[133]=i,t[134]=a,t[135]=K,t[136]=A,t[137]=ze,t[138]=Be):Be=t[138],Be};function Qg(e){return e.mime.startsWith(`image/`)}var $g=e=>e.trim().replace(/\s+/g,`-`).replace(/[^A-Za-z0-9._/-]/g,`-`).replace(/-+/g,`-`).replace(/\/{2,}/g,`/`).replace(/\/-+/g,`/`).replace(/-+\//g,`/`).replace(/^[-/]+/,``).replace(/[-/]+$/,``),e_=({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(()=>$g(N),[N]),ee=Z.useMemo(()=>{let e=D.trim();return e?br(t,e,e=>e).map(e=>e.item):t},[D,t]),G=Z.useMemo(()=>{let e=D.trim();return e?br(n,e,e=>e).map(e=>e.item):n},[D,n]),K=Z.useMemo(()=>{let e=D.trim();return e?br(m,e,e=>e.label).map(e=>e.item):m},[D,m]),te=Z.useMemo(()=>{if(!p)return!1;let e=D.trim();return!e||br([p],e,e=>[e.label,b??``]).length>0},[b,p,D]),ne=t=>{if(t===e){B(!1);return}i(t),B(!1),O(``)},re=e=>{g?.(e),B(!1),O(``)},ie=()=>{A(!0),setTimeout(()=>L.current?.focus(),50)},ae=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)}}},oe=async e=>{if(!(!W||F)){I(!0);try{await a(W,e),P(``),A(!1),M(!1),B(!1)}finally{I(!1)}}},se=()=>{M(!1)},ce=()=>{P(``),A(!1),M(!1)};Z.useEffect(()=>{z||(O(``),A(!1),M(!1),P(``))},[z]);let le=u||e||w(`gitView.branch.detachedHead`),ue=d??(c?`end`:`start`),de=v??w(`chat.chatInput.worktrees`),fe=y??w(`chat.chatInput.worktreeNew`),pe=b??w(`chat.chatInput.projectRoot`),me=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":le,children:(0,$.jsx)(X,{name:`git-branch`,className:`size-3.5`})}):(0,$.jsxs)(da,{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":le,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:le}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`size-3 shrink-0 text-muted-foreground`})]}),he=(0,$.jsx)(Xa,{asChild:!0,disabled:s,children:l??me}),ge=(0,$.jsxs)(Tg,{className:`h-full min-h-0`,children:[(0,$.jsx)(`div`,{"data-mobile-sheet-no-dismiss":C===`mobile-sheet`?``:void 0,children:(0,$.jsx)(Eg,{placeholder:w(`gitView.branch.searchPlaceholder`),value:D,onValueChange:O,onKeyDown:V})}),(0,$.jsxs)(Dg,{scrollbarClassName:`overlay-scrollbar--flush overlay-scrollbar--dense overlay-scrollbar--zero`,disableHorizontal:!0,children:[(0,$.jsx)(Og,{children:w(`gitView.branch.empty`)}),(0,$.jsx)(kg,{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:se,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:()=>oe(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(),ae()):e.key===`Escape`&&(e.preventDefault(),ce())},className:`flex-1 min-w-0 bg-transparent typography-meta outline-none placeholder:text-muted-foreground`}),(0,$.jsx)(`button`,{type:`button`,onClick:ae,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:ce,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)(jg,{onSelect:ie,children:[(0,$.jsx)(X,{name:`add`,className:`size-4`}),(0,$.jsx)(`span`,{children:w(`gitView.branch.create`)})]})}),(0,$.jsx)(Ag,{}),(0,$.jsxs)(kg,{heading:w(`gitView.branch.localBranches`),children:[ee.map(t=>(0,$.jsxs)(jg,{onSelect:()=>ne(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)(jg,{disabled:!0,className:`justify-center`,children:(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:w(`gitView.branch.noLocalBranches`)})})]}),(0,$.jsx)(Ag,{}),(0,$.jsxs)(kg,{heading:w(`gitView.branch.remoteBranches`),children:[G.map(e=>(0,$.jsx)(jg,{onSelect:()=>ne(e),children:(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e})},`remote-${e}`)),G.length===0&&(0,$.jsx)(jg,{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)(Ag,{}),(0,$.jsxs)(kg,{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:de}),_?(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:fe}):null]}),p&&te?(0,$.jsxs)(jg,{onSelect:()=>re(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:pe}),(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)(jg,{onSelect:()=>re(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??me,{onClick:()=>B(!0),"data-popup-open":z?``:void 0});return(0,$.jsxs)($.Fragment,{children:[e,(0,$.jsx)(to,{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:ge})]})}return(0,$.jsxs)(Ka,{open:z,onOpenChange:B,children:[f||l?he:(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:he}),(0,$.jsx)(za,{sideOffset:8,children:c?le:w(`gitView.branch.currentBranchTooltip`)})]}),(0,$.jsx)(Ya,{align:ue,className:`w-72 p-0 max-h-[60vh] flex flex-col`,children:ge})]})};function t_(e){let{localBranches:t,remoteBranches:n,query:r}=e,i=r.trim();if(!i)return{matching:[],otherLocal:t,otherRemote:n};let a=br(t,i,e=>e),o=br(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 n_(e,t){return`${e}\0${t}`}function r_({open:e,onOpenChange:t,onSelect:n}){let{t:r}=ot(),i=c(e=>e.isMobile),{github:a}=ko(),o=ro(),s=o.data??null,l=o.isFetched,u=c(e=>e.setSettingsDialogOpen),d=c(e=>e.setSettingsPage),f=Hi(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=xs(v,350),W=q(async e=>{if(!(!m||!a)&&!(l&&s?.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&&s?.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,s,g,U,W,r]);let ee=q(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=q(async e=>{if(!h||!e)return;let t=n_(h.path,e);if(I.has(t))return;let n=H.current;try{let i=await Ca(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&&s?.connected===!0,te=()=>{d(`github`),u(!0)},ne=e=>{j(e),N(null)},re=e=>{N(e),j(null)},ie=()=>{A?n({type:`issue`,item:A}):M&&n({type:`pr`,item:M,includeDiff:P}),t(!1)},ae=()=>{j(null),N(null),F(!1)},oe=A||(M?.head&&m?I.get(n_(m,M.head))?.isValid!==!1:!1),se=e=>!e.head||(m?I.get(n_(m,e.head)):void 0)?.isValid===!1,ce=(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)(La,{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:()=>ne(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)(da,{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=se(e),n=e.head&&m?I.get(n_(m,e.head)):void 0;return(0,$.jsx)(`button`,{onClick:()=>!t&&re(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)(da,{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)(da,{onClick:te,size:`sm`,children:r(`session.githubIntegration.connect.action`)})]})}),le=(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:ae,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)(_a,{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)(da,{variant:`outline`,size:`sm`,onClick:()=>t(!1),className:Y(i&&`flex-1`),children:r(`session.githubIntegration.actions.cancel`)}),(0,$.jsx)(da,{size:`sm`,onClick:ie,disabled:!oe,className:Y(i&&`flex-1`),children:r(`session.githubIntegration.actions.select`)})]})]});return(0,$.jsx)($.Fragment,{children:i?(0,$.jsx)(Cp,{open:e,title:r(`session.githubIntegration.title`),onClose:()=>t(!1),footer:K?le: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)(hc,{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:ae,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:ce}):(0,$.jsx)(ua,{open:e,onOpenChange:t,children:(0,$.jsxs)(oa,{className:`max-w-2xl max-h-[70vh] flex flex-col`,children:[(0,$.jsx)(ia,{className:`flex flex-row items-center justify-between`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(sa,{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)(hc,{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`})})]})}),ce,(0,$.jsx)(aa,{className:`mt-1`,children:le})]})})})}var i_=(e,t,n)=>{let r=n??t;return r?e.find(e=>e.id===r)??null:null},a_=e=>e.trim().replace(/^refs\/heads\//,``).replace(/^heads\//,``).replace(/\s+/g,`-`).replace(/^\/+|\/+$/g,``),o_=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),s_=e=>String(e||``).trim().toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``)||`pr-head`,c_=(e,t,n)=>{let r=a_(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-${s_(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}`}},l_=e=>{let t={repo:e.repo??null,issue:e.issue,comments:e.comments};return`GitHub issue context (JSON)\n${JSON.stringify(t,null,2)}`},u_=e=>`GitHub pull request context (JSON)\n${JSON.stringify(e,null,2)}`;function d_({open:e,onOpenChange:t,onWorktreeCreated:n,projectId:r}){let{t:i}=ot(),{github:a,git:o}=ko(),s=c(e=>e.isMobile),l=Z.useId(),u=ro(),d=u.data??null,f=u.isFetched,p=Hi(e=>i_(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=Is(m),C=Ns(m),w=Es(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=J(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=ig();if(!O.has(e))return e}return`${ig()}-${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),te=Z.useCallback(e=>{e.stopPropagation()},[]),ne=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},[]),re=Z.useCallback(e=>{e&&(e.scrollTop=0)},[]),ie=Z.useCallback(e=>{let t=e.current?.querySelector(`[data-slot="command-list"]`)??null;re(t)},[re]),ae=Z.useCallback(e=>{let t=ne(e.current);re(t)},[ne,re]),oe=Z.useMemo(()=>t_({localBranches:T,remoteBranches:E,query:B}),[T,E,B]),se=Z.useMemo(()=>t_({localBranches:T,remoteBranches:E,query:H}),[T,E,H]),ce=B.trim().length>0,le=H.trim().length>0,ue=oe.matching.length>0,de=se.matching.length>0,fe=!!(m&&o),pe=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&&ie(W),I&&ae(G)},[M,I,B,ie,ae]),Z.useEffect(()=>{P&&ie(ee),R&&ae(K)},[P,R,H,ie,ae]);let[me,he]=Z.useState({isValidating:!1,branchError:null,worktreeError:null,touched:!1}),[ge,_e]=Z.useState(!1),[ve,ye]=Z.useState(null),be=Z.useCallback(()=>{let e=Hr.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},[]),xe=Z.useCallback(()=>{let e=Hr.getState(),t=e.settingsDefaultModel;if(!t)return null;let n=Qi(t);if(!n)return null;let{providerId:r,modelId:i}=n;return e.getModelMetadata(r,i)?{providerID:r,modelID:i}:null},[]),Se=Z.useCallback((e,t)=>{let n=Hr.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},[]),Ce=Z.useCallback(async e=>{if(!m||!a)return;let t=Hr.getState(),n=Un.getState().lastUsedProvider,r=xe(),o=r?.providerID||t.currentProviderId||n?.providerID,s=r?.modelID||t.currentModelId||n?.modelID,c=be()||t.currentAgentName||void 0;if(!o||!s){Ii.error(i(`session.newWorktree.error.noModelSelected`));return}let l=Se(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 tr(`github.issue.review.visible`,{issue_number:String(e.issue.number)}),u=await tr(`github.issue.review.instructions`),d=l_({repo:t.repo,issue:t.issue,comments:n.comments??[]});await J.getState().sendMessage(r,o,s,c,void 0,void 0,[{text:u,synthetic:!0},{text:d,synthetic:!0}],l,void 0,{sessionId:e.sessionId}),Ii.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 tr(`github.pr.review.visible`,{pr_number:String(e.pr.number)}),r=await tr(`github.pr.review.instructions`),u=u_(t);await J.getState().sendMessage(n,o,s,c,void 0,void 0,[{text:r,synthetic:!0},{text:u,synthetic:!0}],l,void 0,{sessionId:e.sessionId}),Ii.success(i(`session.newWorktree.toast.sessionFromPr`))}},[a,m,be,xe,Se,i]),we=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 ja(m).catch(()=>null);if(n)return;let r=localStorage.getItem(Ts),{sourceBranch:i,shouldClearSavedSourceBranch:a}=Fs({branches:S.all,savedSourceBranch:r,rootBranch:e});if(a&&localStorage.removeItem(Ts),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(``),he({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=o_(a_(v.branchName));y(t=>({...t,worktreeName:e}))},[g,v.branchName,v.isSyncingWorktreeName]);let Te=Z.useCallback(async()=>{if(!h||!me.touched||ge)return;ve&&ve.abort();let e=new AbortController;ye(e),he(e=>({...e,isValidating:!0}));try{let t=g===`new-branch`?v.branchName:b.selectedBranch,n=we.worktreeName,r=a_(t),a=o_(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?c_(t,T,E):null,i=await Ca(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||he(e=>({...e,isValidating:!1,branchError:o,worktreeError:s}))}catch{e.signal.aborted||he(e=>({...e,isValidating:!1}))}},[h,g,v.branchName,v.linkedPr,b.selectedBranch,we.worktreeName,T,E,me.touched,ve,ge,i]),Ee=g===`new-branch`?v.branchName:b.selectedBranch;Z.useEffect(()=>{if(!e||!h||!me.touched||ge)return;let t=setTimeout(()=>{Te()},300);return()=>clearTimeout(t)},[we.worktreeName,Ee,e,h,Te,me.touched,ge]);let De=async()=>{if(!h||!m){Ii.error(i(`session.newWorktree.error.noActiveProject`));return}he(e=>({...e,touched:!0}));let e=g===`new-branch`?v.branchName:b.selectedBranch,r=we.worktreeName,a=a_(e),o=o_(r);if(!a){Ii.error(i(`session.newWorktree.error.branchNameRequired`));return}if(!o){Ii.error(i(`session.newWorktree.error.worktreeDirectoryRequired`));return}ve&&(ve.abort(),ye(null)),he(e=>({...e,isValidating:!1,branchError:null,worktreeError:null})),_e(!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([Xt(h),Ms(m)]),f=v.sourceBranch,p=``,_=(()=>{if(e){let t=c_(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 Bs(m,_,{resolvedRootTrackingRemote:d}),x=await Ma(h,y),S=null;if(l){await un(h)&&await Dr(x.path);let e=r?`#${r.number} ${r.title}`.trim():s?`#${s.number} ${s.title}`.trim():i(`session.newWorktree.newSessionTitle`),a=await Jn(e,x.path,null);if(!a?.id)throw Error(`Failed to create session`);S=a.id,n?.(x.path,{sessionId:S}),t(!1),_e(!1),Tr(a.id,e).catch(()=>void 0);try{J.getState().initializeNewOpenChamberSession(a.id,Hr.getState().agents)}catch{}}else t(!1),_e(!1);let C=Rs({mode:g,sourceBranch:v.sourceBranch,linkedPr:!!v.linkedPr,selectedBranch:b.selectedBranch});C&&localStorage.setItem(Ts,C),Ii.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?Ce({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`);Ii.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`);Ii.error(i(`session.newWorktree.error.createWorktreeFailed`),{description:t})}finally{_e(!1)}},Oe=e=>{_(e),he(e=>({...e,touched:!1,branchError:null,worktreeError:null}))},ke=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}-${ig()}`;y(e=>({...e,linkedIssue:t,linkedPr:null,includePrDiff:!1,branchName:n,worktreeName:o_(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:o_(t.head),isSyncingWorktreeName:!0}))}},Ae=f&&d?.connected===!0,je=(g===`existing-branch`?!!b.selectedBranch&&!!b.worktreeName&&!me.branchError&&!me.worktreeError:!!a_(v.branchName)&&!!v.worktreeName&&!me.branchError&&!me.worktreeError)&&!ge,Me=()=>{y(e=>({...e,linkedIssue:null,linkedPr:null,branchName:``,includePrDiff:!1,isSyncingWorktreeName:!0}))},Ne=(0,$.jsxs)(`div`,{className:Y(`flex gap-2`,s?`flex-col w-full`:`flex-row items-center`),children:[(0,$.jsx)(`div`,{className:Y(`flex items-center gap-1.5 text-destructive`,s?`w-full justify-center order-first`:`mr-auto`),children:me.touched&&(me.branchError||me.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:me.branchError||me.worktreeError})]})}),(0,$.jsxs)(`div`,{className:Y(`flex gap-2`,s&&`w-full`),children:[(0,$.jsx)(da,{variant:`outline`,size:`sm`,onClick:()=>t(!1),disabled:ge,className:Y(s&&`flex-1`),children:i(`session.newWorktree.actions.cancel`)}),(0,$.jsxs)(da,{size:`sm`,onClick:De,disabled:!je||ge,className:Y(`gap-1.5`,s&&`flex-1`),children:[ge&&(0,$.jsx)(X,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}),i(ge?`session.newWorktree.actions.creating`:`session.newWorktree.actions.createWorktree`)]})]})]});return(0,$.jsxs)($.Fragment,{children:[s?(0,$.jsx)(to,{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)(ma,{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)(hc,{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=>Oe(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)(da,{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)(da,{variant:`ghost`,size:`sm`,className:`h-8 w-8 px-0 shrink-0`,onClick:pe,disabled:!fe||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)(Cp,{open:I,title:i(`session.newWorktree.selectBranch`),onClose:()=>L(!1),children:(0,$.jsxs)(`div`,{className:`space-y-4`,ref:G,children:[(0,$.jsx)(La,{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:[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:()=>{x(t=>({...t,selectedBranch:e.value,worktreeName:o_(e.label)})),he(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}`))})]}),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:()=>{x(t=>({...t,selectedBranch:e,worktreeName:o_(e)})),he(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))})]}),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:()=>{x(t=>({...t,selectedBranch:`remotes/${e}`,worktreeName:o_(e)})),he(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`&&Ae&&(0,$.jsxs)(da,{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)(La,{value:v.branchName,onChange:e=>{y(t=>({...t,branchName:e.target.value,isSyncingWorktreeName:!0,linkedIssue:null,linkedPr:null}))},onBlur:()=>he(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.branchNamePlaceholder`),disabled:!!v.linkedPr,className:Y(`h-8`,me.touched&&me.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=o_(g===`new-branch`?v.branchName:``);y(t=>({...t,worktreeName:e,isSyncingWorktreeName:!0}))},disabled:!v.branchName||v.worktreeName===o_(v.branchName),className:Y(`flex items-center gap-1 typography-micro transition-colors px-1.5 py-0.5 rounded`,v.worktreeName===o_(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)(La,{value:we.worktreeName,onChange:e=>{g===`new-branch`?y(t=>({...t,worktreeName:e.target.value,isSyncingWorktreeName:!1})):x(t=>({...t,worktreeName:e.target.value}))},onBlur:()=>he(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.worktreeDirectoryPlaceholder`),className:Y(`h-8`,me.touched&&me.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)(da,{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)(Cp,{open:R,title:i(`session.newWorktree.selectSourceBranch`),onClose:()=>z(!1),children:(0,$.jsxs)(`div`,{className:`space-y-4`,ref:K,children:[(0,$.jsx)(La,{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:[le&&de&&(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:se.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}`))})]}),le&&!de&&(0,$.jsx)(`div`,{className:`px-2 py-1 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noMatchingBranches`)}),se.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(le?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:se.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))})]}),se.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(le?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`)}),(0,$.jsx)(`div`,{className:`space-y-1`,children:se.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:Me,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:Ne})]})}):(0,$.jsx)(ua,{open:e,onOpenChange:t,children:(0,$.jsxs)(oa,{className:`max-w-lg max-h-[80vh] flex flex-col`,children:[(0,$.jsx)(ia,{className:`flex flex-row items-center justify-between`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(sa,{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)(hc,{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=>Oe(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)(Ka,{open:M,onOpenChange:N,children:[(0,$.jsx)(Xa,{asChild:!0,children:(0,$.jsxs)(da,{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)(Ya,{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)(Tg,{shouldFilter:!1,children:[(0,$.jsx)(Eg,{placeholder:i(`session.newWorktree.searchBranches`),value:B,onValueChange:V,onKeyDown:te}),(0,$.jsx)(Dg,{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)(Og,{children:i(`session.newWorktree.noBranchesFound`)}):(0,$.jsxs)($.Fragment,{children:[ce&&ue&&(0,$.jsx)(kg,{heading:i(`session.newWorktree.matchingBranches`),children:oe.matching.map(e=>(0,$.jsx)(jg,{value:e.value,onSelect:()=>{x(t=>({...t,selectedBranch:e.value,worktreeName:o_(e.label)})),he(e=>({...e,touched:!0})),N(!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)(Ag,{}),(0,$.jsx)(kg,{heading:i(ce?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`),children:oe.otherLocal.map(e=>(0,$.jsx)(jg,{value:e,onSelect:()=>{x(t=>({...t,selectedBranch:e,worktreeName:o_(e)})),he(e=>({...e,touched:!0})),N(!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)(Ag,{}),(0,$.jsx)(kg,{heading:i(ce?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`),children:oe.otherRemote.map(e=>(0,$.jsx)(jg,{value:`remotes/${e}`,onSelect:()=>{x(t=>({...t,selectedBranch:`remotes/${e}`,worktreeName:o_(e)})),he(e=>({...e,touched:!0})),N(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`remote-${e}`))})]})]})})]})})]}),(0,$.jsx)(da,{variant:`ghost`,size:`sm`,className:`h-8 w-8 px-0 shrink-0`,onClick:pe,disabled:!fe||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`&&Ae&&(0,$.jsxs)(da,{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)(La,{value:v.branchName,onChange:e=>{y(t=>({...t,branchName:e.target.value,isSyncingWorktreeName:!0,linkedIssue:null,linkedPr:null}))},onBlur:()=>he(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.branchNamePlaceholder`),disabled:!!v.linkedPr,className:Y(`h-8`,me.touched&&me.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=o_(g===`new-branch`?v.branchName:``);y(t=>({...t,worktreeName:e,isSyncingWorktreeName:!0}))},disabled:!v.branchName||v.worktreeName===o_(v.branchName),className:Y(`flex items-center gap-1 typography-micro transition-colors px-1.5 py-0.5 rounded`,v.worktreeName===o_(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)(La,{value:we.worktreeName,onChange:e=>{g===`new-branch`?y(t=>({...t,worktreeName:e.target.value,isSyncingWorktreeName:!1})):x(t=>({...t,worktreeName:e.target.value}))},onBlur:()=>he(e=>({...e,touched:!0})),placeholder:i(`session.newWorktree.worktreeDirectoryPlaceholder`),className:Y(`h-8`,me.touched&&me.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)(Ka,{open:P,onOpenChange:F,children:[(0,$.jsx)(Xa,{asChild:!0,children:(0,$.jsxs)(da,{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)(Ya,{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)(Tg,{shouldFilter:!1,children:[(0,$.jsx)(Eg,{placeholder:i(`session.newWorktree.searchBranches`),value:H,onValueChange:U,onKeyDown:te}),(0,$.jsx)(Dg,{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)(Og,{children:i(`session.newWorktree.noBranchesFound`)}):(0,$.jsxs)($.Fragment,{children:[le&&de&&(0,$.jsx)(kg,{heading:i(`session.newWorktree.matchingBranches`),children:se.matching.map(e=>(0,$.jsx)(jg,{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}`))}),le&&!de&&(0,$.jsx)(`div`,{className:`px-2 py-1 text-center typography-small text-muted-foreground`,children:i(`session.newWorktree.noMatchingBranches`)}),se.otherLocal.length>0&&(0,$.jsxs)($.Fragment,{children:[le&&(0,$.jsx)(Ag,{}),(0,$.jsx)(kg,{heading:i(le?`session.newWorktree.otherLocalBranches`:`session.newWorktree.localBranches`),children:se.otherLocal.map(e=>(0,$.jsx)(jg,{value:e,onSelect:()=>{y(t=>({...t,sourceBranch:e})),F(!1)},children:(0,$.jsx)(`span`,{className:`typography-small break-all`,children:e})},`local-${e}`))})]}),se.otherRemote.length>0&&(0,$.jsxs)($.Fragment,{children:[(se.otherLocal.length>0||le)&&(0,$.jsx)(Ag,{}),(0,$.jsx)(kg,{heading:i(le?`session.newWorktree.otherRemoteBranches`:`session.newWorktree.remoteBranches`),children:se.otherRemote.map(e=>(0,$.jsx)(jg,{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:Me,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)(aa,{className:`mt-1 flex items-center justify-between`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1.5 text-destructive`,children:me.touched&&(me.branchError||me.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:me.branchError||me.worktreeError})]})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(da,{variant:`outline`,size:`sm`,onClick:()=>t(!1),disabled:ge,children:i(`session.newWorktree.actions.cancel`)}),(0,$.jsxs)(da,{size:`sm`,onClick:De,disabled:!je||ge,className:`gap-1.5`,children:[ge&&(0,$.jsx)(X,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}),i(ge?`session.newWorktree.actions.creating`:`session.newWorktree.actions.createWorktree`)]})]})]})]})}),(0,$.jsx)(r_,{open:A,onOpenChange:j,onSelect:ke})]})}function f_(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 p_(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 m_=(e,t)=>e??t??null,h_=(e,t)=>!!e&&t!==!1,g_=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:[]},__=e=>e.replace(/^remotes\//,``).trim(),v_=e=>{let t=__(e),n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t},y_=({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}=ko(),f=m_(t,e),p=e,m=Hs(f),h=Hs(p),g=h_(f,m),_=p!==f&&h_(p,h),v=vs(f,d,g),y=vs(p,d,_),b=v.data,x=p===f?b:y.data,S=Es(e=>e.fetchStatus),C=Es(e=>p&&e.directories.get(p)?.status?.current?.trim()||null),[w,T]=Z.useState(!1),E=Vs(f,d,g&&w).data??[],[D,O]=Z.useState(null),[k,A]=Z.useState(!1),[j,M]=Z.useState(!1),N=Hi(e=>e.projects),P=Hi(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(()=>g_(b?.all),[b]),R=x?.current?.trim()||C||null,z=!p_(n,e)&&n||R||n||l(`chat.chatInput.branch`),B=q(async()=>{if(!d)return;let e=new Set;f&&e.add(f),p&&e.add(p),await Promise.all([...e].map(async e=>{await Cs(e,d),await S(e,d,{silent:!0})}))}),V=q(e=>{let t=__(e),n=v_(t);return i.find(e=>{let r=e.label.trim();return r===t||r===n})??null}),H=q(async e=>{if(!p||!d)return;let t=__(e);if(R!==t&&R!==v_(t))try{await d.checkoutBranch(p,t),Ii.success(l(`gitView.toast.checkedOut`,{name:t})),await B()}catch(e){let n=e instanceof Error?e.message:l(`gitView.toast.checkoutFailed`,{name:t});Ii.error(n)}}),U=q(e=>{let t=__(e);if(!t||R===t||R===v_(t))return;let n=V(t);if(n){a(n.value);return}O(t)}),W=q(async()=>{if(!(!D||k)){A(!0);try{await H(D),O(null)}finally{A(!1)}}}),ee=q(async()=>{if(!(!D||k)){A(!0);try{await _g({branch:D,projectDirectory:t??void 0})&&O(null)}finally{A(!1)}}}),G=q(async(e,t)=>{if(!p||!d)return;let n=t?.name??`origin`;try{await d.createBranch(p,e,R??`HEAD`),Ii.success(l(`gitView.toast.createdBranch`,{name:e})),O(e),d.gitPush(p,{remote:n,branch:e,options:[`--set-upstream`]}).then(async()=>{await B(),Ii.success(l(`gitView.toast.upstreamSet`,{branch:e,remote:n}))}).catch(async e=>{let t=e instanceof Error?e.message:l(`gitView.toast.branchCreatedLocally`);Ii.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 Ii.error(t),e}}),K=q(()=>{let e=Hi.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)}),te=q((e,n)=>{if(M(!1),n?.sessionId){J.getState().setCurrentSession(n.sessionId,e);return}let r=Hi.getState(),i=u(t),a=(i?r.projects.find(e=>u(e.path)===i)??null:null)?.id??r.activeProjectId??null,o=J.getState();if(o.newSessionDraft?.open){o.overrideNewSessionDraftTarget({...a?{selectedProjectId:a}:{},directoryOverride:e,bootstrapPendingDirectory:e,preserveDirectoryOverride:!0}),Te.getState().setDirectory(e,{showOverlay:!1});return}o.openNewSessionDraft({...a?{selectedProjectId:a}:{},directoryOverride:e,preserveDirectoryOverride:!0})}),ne=(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,jp,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)(e_,{currentBranch:R,localBranches:I,remoteBranches:L,branchInfo:b?.branches,onCheckout:U,onCreate:G,remotes:E,trigger:ne,triggerLabel:z,hideTooltip:!0,projectRootOption:r,worktreeOptions:i,selectedDirectory:e,onSelectDirectory:a,onCreateWorktree:K,open:w,presentation:c,onOpenChange:T}),j?(0,$.jsx)(d_,{open:!0,projectId:F,onOpenChange:M,onWorktreeCreated:te}):null,(0,$.jsx)(ua,{open:!!D,onOpenChange:e=>{!e&&!k&&O(null)},children:(0,$.jsxs)(oa,{showCloseButton:!1,className:`max-w-sm gap-4`,children:[(0,$.jsxs)(ia,{children:[(0,$.jsx)(sa,{children:l(`chat.chatInput.branchSwitch.title`,{branch:D??``})}),(0,$.jsx)(ca,{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)(aa,{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`)})})]})})]})},b_=[],x_=[],S_={revertMessageID:void 0,records:x_},C_=e=>e.role===`user`,w_=(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},T_=(e,t,n=S_)=>{if(!t)return S_;let r=(`session`in e?e.session:[]).find(e=>e.id===t)?.revert?.messageID;if(!r)return S_;let i=`messages`in e?e.messages:e.message[t]??[],a=`partsByMessageID`in e?e.partsByMessageID:e.part,o=[];for(let e of i)!C_(e)||!fn(i,e.id,r)||o.push({message:e,parts:a[e.id]??b_});let s=o.length===0?x_:o;return n.revertMessageID===r&&w_(n.records,s)?n:{revertMessageID:r,records:s}},E_={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},D_={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`},O_=`text-foreground`;function k_(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 A_=/^(\s*)(`{3,}|~{3,})\s*(\S*)/;function j_(e){let t=A_.exec(e);return t?{marker:t[2],lang:t[3]||``}:null}function M_(e,t){return RegExp(`^\\s*\\${t[0]}{${t.length},}\\s*$`).test(e)}function N_(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`}),M_(o,i)&&(r=!1);continue}let l=j_(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`}),k_(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`}),k_(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;k_(o.slice(r-s),r,t);continue}k_(o,s,t)}return t}function P_(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??E_[e.style];(n>u||n===u&&t<d)&&(u=n,d=t,l=e)}let f=l?l.className??D_[l.style]:O_,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 F_(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 I_(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 L_(e,t,n){let r=F_(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 R_(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?ie({trigger:`@`,icon:`chat-thread`,label:e.label},H({trigger:`@`,icon:`chat-thread`,label:e.label})):void 0}))}function z_(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 B_=`bg-[var(--surface-subtle)]`,V_=91,H_=94,U_={keyword:8,function:7,type:6,string:5,number:5,variable:4,operator:3,comment:2},W_={keyword:`${B_} text-[var(--syntax-keyword)]`,string:`${B_} text-[var(--syntax-string)]`,number:`${B_} text-[var(--syntax-number)]`,comment:`${B_} text-[var(--syntax-comment)]`,function:`${B_} text-[var(--syntax-function)]`,type:`${B_} text-[var(--syntax-type)]`,variable:`${B_} text-[var(--syntax-variable)]`,operator:`${B_} text-[var(--syntax-operator)]`},G_=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`}]),K_=e=>{let t=null;for(let n of e.split(` `)){let e=n;U_[e]!==void 0&&(t===null||U_[e]>U_[t])&&(t=e)}return t?W_[t]:null},q_=2e4,J_=e=>{if(!e)return null;try{let t=lo(e);return t instanceof Qe?t:null}catch{return null}};function Y_(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=j_(i);if(!a)continue;let o=J_(a.lang),s=r,c=[],l=e+1,u=r;for(;l<n.length;l+=1){let e=n[l];if(M_(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:`${B_} text-[var(--syntax-foreground)]`,priority:V_}),!(d.length>q_)))try{let e=o.parser.parse(d);Xe(e,G_,(e,n,r)=>{let i=K_(r);i&&t.push({start:s+e,end:s+n,style:`codeFence`,className:i,priority:H_})})}catch{}}return t}var X_=[`CodeFiles`,`codefiles`,`application/vnd.code.tree`,`application/vnd.code.tree.explorer`,`text/uri-list`,`text/plain`],Z_=e=>e.startsWith(`/`)||e.startsWith(`//`)||e.startsWith(`\\\\`)||/^[A-Za-z]:[\\/]/.test(e),Q_=e=>{if(!Z_(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(`/`)},$_=(e,{fromPlainText:t=!1}={})=>{let n=e.trim().replace(/^['"]+|['"]+$/g,``);return!n||n===`/>`||/[\r\n]/.test(n)?null:n.toLowerCase().startsWith(`file://`)||(t?Q_(n):Z_(n))?n:null},ev=(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)ev(r,t,n+1);return}if(typeof e==`object`)for(let r of Object.values(e))ev(r,t,n+1)}},tv=(e,{allowMultipleLines:t=!0,allowStructuredPayload:n=!0,fromPlainText:r=!1}={})=>{let i=new Set,a=e=>{let n=$_(e,{fromPlainText:r});if(n){i.add(n);return}if(t)for(let t of e.split(/\r?\n/)){let e=$_(t,{fromPlainText:r});e&&i.add(e)}};if(a(e),n)try{let t=JSON.parse(e),n=new Set;ev(t,n);for(let e of n)a(e)}catch{}return Array.from(i)},nv=e=>{if(!e||typeof e.getData!=`function`)return[];let t=new Set;for(let n of X_){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 tv(r,i))t.add(e)}return Array.from(t)},rv=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}}},iv=e=>Z_(e);function av(e,t){let n=(0,Q.c)(5),r=tn(e,t),i=c(ov),a;n[0]===r?a=n[1]:(a=dn(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 ov(e){return e.sessionGoalEnabled}function sv(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 At(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 cv={active:`var(--status-info)`,paused:`var(--surface-muted-foreground)`,blocked:`var(--status-warning)`,budgetLimited:`var(--status-warning)`,complete:`var(--status-success)`},lv={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`},uv=Z.memo(({sessionId:e,directory:t,className:n})=>{let{t:r}=ot(),i=c(e=>e.isMobile),{goal:a,enabled:o}=av(e??``,t),s=sv(e??``,a),l=mr(e??``,t),u=gi(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,Et(e,t))},[e,t,a,u]);let g=q(async n=>{if(!(!e||f)){p(!0);try{await bn(e,t,n)}catch(e){console.warn(`[session-goal] status change failed:`,e),Ii.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=pt(_),y=a.tokenBudget?`${qr(a.tokensUsed)}/${qr(a.tokenBudget)}`:a.tokensUsed>0?qr(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:s??void 0,children:[(0,$.jsx)(X,{name:`target`,className:Y(C,`flex-shrink-0`),style:{color:cv[a.status]},"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`min-w-0 flex-1 truncate`,S),children:a.note||s||``}),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(lv[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]})});uv.displayName=`SessionGoalRow`;var dv=Z.memo(({sessionId:e,directory:t,draftOpen:n=!1})=>{let{t:r}=ot(),{goal:i,enabled:a}=av(e??``,t),o=Tt(e=>e.armed),s=Tt(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 Rn(e,t)}catch(e){console.warn(`[session-goal] clear failed:`,e),Ii.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`})})]})});dv.displayName=`SessionGoalButton`;var fv=Z.memo(e=>{let t=(0,Q.c)(11),{length:n}=e,{t:r}=ot();if(!Tt(pv)||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,`/`,Qr]}),t[6]=n,t[7]=a,t[8]=o,t[9]=s,t[10]=c):c=t[10],c});fv.displayName=`SessionGoalObjectiveCounter`;function pv(e){return e.armed}var mv=new Set([`new`,`fork`,`compact`,`undo`,`redo`,`timeline`,`model`,`summary`,`workspace-review`,`handoff-review`,`plan-feature`,`goal`,`craft-goal`,`catch-up`,`debug`,`weigh`,`explore`]),hv=new Set([`compact`,`fork`,`undo`,`redo`]),gv=/^\/\u2003?([^\s]+)/i,_v=/^\/\u2003?goal\b/i,vv=(e,t)=>{if(t!==`normal`)return null;let n=e.trimStart().match(gv)?.[1]?.toLowerCase();return n&&mv.has(n)?n:null},yv=(e,t)=>vv(e,t)===`goal`?e.trimStart().replace(_v,``).trim():null,bv=(e,t)=>vv(e,t)!==null,xv=(e,t)=>{let n=vv(e,t);return n!==null&&hv.has(n)},Sv=(e,t)=>{if(!e.includes(`/`)||t.size===0)return[];let n=RegExp(`(^|\\s)/(${ee})?([A-Za-z0-9][A-Za-z0-9_-]*)(?=$|\\s)`,`g`),r=[],i;for(;(i=n.exec(e))!==null;){let e=i[3]??``;if(!t.has(e.toLowerCase()))continue;let n=i[2]??``,a=i.index+(i[1]?.length??0);r.push({start:a,end:a+1+n.length+e.length,name:e,hasSlot:n.length>0})}return r},Cv=(e,t,n=e.length)=>{let r=Sv(e,t).filter(e=>!e.hasSlot);if(r.length===0)return null;let i=e,a=n;for(let e=r.length-1;e>=0;--e){let t=r[e].start+1;i=`${i.slice(0,t)}${ee}${i.slice(t)}`,a>t&&(a+=ee.length)}return i===e?null:{text:i,caret:a}},wv=e=>e.startsWith(ee)?e.slice(ee.length):e,Tv=({currentSessionId:e,messageRef:t,replacePlainDocument:n})=>{let r=e;return t.current=``,n(``),r},Ev=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()}},Dv=e=>!e.queuedOnly&&!e.resourcePolicy&&e.rootAttachmentCount>0,Ov=e=>e.surfaceKind===`primary`&&!!e.currentSessionId&&!e.queuedOnly&&!e.resourcePolicy&&e.inputMode!==`shell`&&!e.localCommand,kv=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},Av=e=>({state:`bound`,transportIdentity:e.transportIdentity,directory:e.directory,sessionID:e.sessionID,deliveryTarget:{kind:`primary`},runtimeGeneration:e.runtimeGeneration}),jv=(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},Mv=async e=>{let t=Cn.getState().takeEstablishingPending(e.draftID);if(t.length===0)return{drained:0,failed:0};let n=Av(e),r=0,i=0;for(let a of t)try{if(e.admitServer&&(await e.admitServer(a)).status===`committed`){r+=1;continue}jv(n,a)?r+=1:i+=1}catch{try{jv(n,a)?r+=1:i+=1}catch{i+=1}}return{drained:r,failed:i}},Nv=(e,t)=>Promise.resolve().then(()=>e()).catch(()=>{t()}),Pv=e=>e===`allow`||e===`ask`||e===`deny`,Fv=e=>{if(Pv(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`&&Pv(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(Pv(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))Pv(i)&&t.push({permission:n,pattern:e,action:i})}return t},Iv=e=>{let t=Fv(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},Lv=(e,t)=>{let n=t?.trim();if(!n)return e.length===0||e.some(e=>Iv(e.permission));let r=e.find(e=>e?.name===n);return!r||Iv(r.permission)},Rv=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)},zv=null,Bv=new Set,Vv=()=>{for(let e of Bv)e()},Hv=e=>e===`chat`||e===`assistant`,Uv=()=>zv,Wv=e=>{zv!==e&&(zv=e,Vv())},Gv=e=>{zv&&(e&&zv.surfaceID!==e||(zv=null,Vv()))},Kv=(e,t)=>{if(e.transportIdentity!==t.transportIdentity||e.runtimeGeneration!==t.runtimeGeneration)throw Error(`chat-input-delivery-runtime-stale`)},qv=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}},Jv=(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}),Yv=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=Jv(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=Jv(e,`send`,i),o=cm(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=Jv(e,`create`);return await e.selection.flush(),e.backend.create(t)},compact:async t=>{let n=Jv(e,`compact`,t);return await e.selection.flush(),e.backend.compact(n)},abort:async()=>{let t=Jv(e,`abort`);return await e.selection.flush(),e.backend.abort(t)},queueScope:cm(e),canAbort:n,canQueue:t===`busy`||t===`retry`,allowsCommand:t=>tm(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=Jv(e,`abort`);await e.selection.flush(),await e.backend.abort(t);return}if(t===`new`){let t=Jv(e,`create`);await e.selection.flush(),await e.backend.create(t);return}t!==`submit`&&await e.shortcuts?.cycle(n)},resources:e.resources??null}},Xv=(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)))},Zv=(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},Qv=(e,t)=>e.agents.some(e=>e.name===t),$v=(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},ey=e=>{let{catalog:t,providerID:n,modelID:r,historyVariant:i,memoryVariant:a}=e;if(i)return $v(t,n,r,i)?i:void 0;if(a&&$v(t,n,r,a))return a},ty=e=>{let{sessionId:t,latestUserChoice:n,catalog:r,memory:i,sessionEntity:a,fallbackAgentName:o}=e;if(n?.providerID&&n.modelID&&Zv(r,n.providerID,n.modelID)){let e=n.agent&&Qv(r,n.agent)?n.agent:i?.getSessionAgentSelection?.(t)&&Qv(r,i.getSessionAgentSelection(t))?i.getSessionAgentSelection(t):o&&Qv(r,o)?o:void 0,a=e?i?.getAgentModelVariantForSession?.(t,e,n.providerID,n.modelID):void 0,s=ey({catalog:r,providerID:n.providerID,modelID:n.modelID,historyVariant:n.variant,memoryVariant:a});return{agent:e,providerID:n.providerID,modelID:n.modelID,variant:s,source:`history`,messageId:n.id}}if(i){let e=i.getSessionAgentSelection?.(t)??null,n=e&&Qv(r,e)?e:o&&Qv(r,o)?o:void 0;if(n){let e=i.getAgentModelForSession?.(t,n);if(e&&Zv(r,e.providerId,e.modelId)){let a=i.getAgentModelVariantForSession?.(t,n,e.providerId,e.modelId),o=a&&$v(r,e.providerId,e.modelId,a)?a:void 0;return{agent:n,providerID:e.providerId,modelID:e.modelId,variant:o,source:`session-memory`}}}let a=i.getSessionModelSelection?.(t);if(a&&Zv(r,a.providerId,a.modelId)){let e=n?i.getAgentModelVariantForSession?.(t,n,a.providerId,a.modelId):void 0,o=e&&$v(r,a.providerId,a.modelId,e)?e:void 0;return{agent:n,providerID:a.providerId,modelID:a.modelId,variant:o,source:`session-memory`}}}let s=a?.model;if(s&&Zv(r,s.providerID,s.id)){let e=i?.getSessionAgentSelection?.(t)??null,n=(a?.agent&&Qv(r,a.agent)?a.agent:void 0)??(e&&Qv(r,e)?e:o&&Qv(r,o)?o:void 0),c=s.variant,l=c&&$v(r,s.providerID,s.id,c)?c:void 0;return{agent:n,providerID:s.providerID,modelID:s.id,variant:l,source:`session-entity`}}return null},ny=(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))},ry=(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}},iy=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}:{}}},ay=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role!==`user`)continue;let r=typeof n.model?.providerID==`string`&&n.model.providerID.trim().length>0?n.model.providerID:void 0,i=typeof n.model?.modelID==`string`&&n.model.modelID.trim().length>0?n.model.modelID:void 0,a=typeof n.agent==`string`&&n.agent.trim().length>0?n.agent:typeof n.mode==`string`&&n.mode.trim().length>0?n.mode:void 0,o=n.model?.variant??n.variant,s=typeof o==`string`&&o.trim().length>0?o:void 0;return{id:typeof n.id==`string`?n.id:void 0,agent:a,providerID:r,modelID:i,variant:s}}return null},oy=500,sy=e=>Array.from(e).length,cy=e=>{let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return(t>>>0).toString(36)},ly=e=>sy(e)>=oy,uy=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},dy=(e,t)=>{let n=t??e;return typeof n!=`string`||!ly(n)?!1:ue(typeof e==`string`?{text:``,references:[]}:e,n)},fy=(e,t,n,r,i=1)=>{let a=sy(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}-${cy(e)}`,token:i,text:e,characterCount:a,index:n}}throw Error(`Unable to create a unique pasted text reference`)},py=e=>({text:e.text,references:e.references.map(e=>({...e}))}),my=e=>e.map(e=>({...e,range:{...e.range}})),hy=(e,t)=>e.text===t.text&&JSON.stringify(e.references)===JSON.stringify(t.references),gy=(e,t,n)=>({document:py(e),mentions:my(t),selection:{...n}}),_y=()=>({undo:[],redo:[]}),vy=(e,t)=>({undo:[...e.undo,t].slice(-100),redo:[]}),yy=(e,t)=>{let n=e.undo.at(-1);return!n||!hy(n.after.document,t)?null:{history:{undo:e.undo.slice(0,-1),redo:[...e.redo,n]},snapshot:gy(n.before.document,n.before.mentions,n.before.selection)}},by=(e,t)=>{let n=e.redo.at(-1);return!n||!hy(n.before.document,t)?null:{history:{undo:[...e.undo,n],redo:e.redo.slice(0,-1)},snapshot:gy(n.after.document,n.after.mentions,n.after.selection)}},xy=e=>({text:e?.text??``,references:e?.composerReferences??[]}),Sy=e=>({text:e.text,references:e.references.map(e=>({...e}))}),Cy=e=>({transportIdentity:e.transportIdentity,owner:{...e.owner}}),wy=e=>JSON.stringify([e.text,e.references]),Ty=(e,t)=>e!==null&&t!==null&&le(e)===t,Ey=(e,t,n)=>{let r=e?Cy(e):null,i=r?n(r):void 0;return{document:D(xy(i),t),mentions:i?.mentions??[],revision:i?.revision??0,key:r,keyID:r?le(r):null}},Dy=(e,t,n,r)=>{if(!t||le(t.key)!==r.keyID||t.revision<r.appliedRevision)return`ignore`;let i=wy(xy(t));return n?.keyID===r.keyID&&n.revision===t.revision&&n.fingerprint===i?`local-echo`:t.revision===r.appliedRevision?`ignore`:i===wy(e)?`same-document-metadata`:`external-document`},Oy=(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}]:[]})},ky=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),Ay=(e,t,n,r,i=r)=>{let a=g(e,n,r,i);return{document:a.document,mentions:Oy(t,a.document,a.edit),requiresTextCorrection:a.requiresTextCorrection,selectionStart:a.selectionStart,selectionEnd:a.selectionEnd,removedReferences:a.removedReferences}},jy=(e,t,n)=>({preview:{real:Sy(e),realMentions:[...t]},document:{text:n.text,references:[]},mentions:[]}),My=e=>({document:e.real,mentions:e.realMentions}),Ny=(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)})},Py=(e,t)=>{let n=xy(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:Ny(e.mentions,t?.mentions??[],r,i)}},Fy=({draftKey:e,sessionTitles:t,persistenceEnabled:n,onResourcesChanged:r,store:i=_n})=>{let a=e?le(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)(()=>Ey(e,t,i.getState().getDraft).document),[d,p]=(0,Z.useState)(()=>Ey(e,t,i.getState().getDraft).mentions),[m,h]=(0,Z.useState)(`compose`),_=(0,Z.useRef)(l),b=(0,Z.useRef)(d),x=(0,Z.useRef)(t),S=(0,Z.useRef)(r),C=(0,Z.useRef)(e),w=(0,Z.useRef)(e?Cy(e):null),T=(0,Z.useRef)(a),E=(0,Z.useRef)(a),k=(0,Z.useRef)(0),A=(0,Z.useRef)(o?.revision??0),M=(0,Z.useRef)(void 0),N=(0,Z.useRef)(void 0),P=(0,Z.useRef)(_y());_.current=l,b.current=d,x.current=t,S.current=r,C.current=e,T.current=a;let F=(0,Z.useCallback)((e,t)=>{_.current=e,b.current=t,u(e),p(t)},[]),I=(0,Z.useCallback)((e,t)=>{let n=j(e,t);S.current?.(n)},[]);(0,Z.useEffect)(()=>{i.getState().setDraftPersistenceEnabled(n)},[n,i]),(0,Z.useLayoutEffect)(()=>{k.current+=1;let e=k.current;E.current=a;let t=Ey(C.current,x.current,i.getState().getDraft),n=t.key;if(w.current=t.key,M.current=void 0,N.current=void 0,P.current=_y(),h(`compose`),A.current=t.revision,F(t.document,t.mentions),n?.owner.kind===`draft`){let r=t.revision;i.getState().claimLegacyNewDraft(n).then(t=>{let o=i.getState().getDraft(n);!t||!Ty(w.current,a)||E.current!==a||T.current!==a||k.current!==e||A.current!==r||o?.revision!==t.revision||(A.current=t.revision,F(D(xy(t),x.current),t.mentions))})}},[a,F,i]),(0,Z.useEffect)(()=>{if(!a||E.current!==a||N.current)return;let e=Dy(_.current,o,M.current,{keyID:a,epoch:k.current,appliedRevision:A.current});if(e!==`ignore`){if(o&&(A.current=o.revision),e===`local-echo`||e===`same-document-metadata`){o&&p(o.mentions);return}e===`external-document`&&o&&(M.current=void 0,F(D(xy(o),x.current),o.mentions),h(`compose`))}},[a,F,o]);let L=(0,Z.useCallback)((e,t)=>{let n=w.current;if(!Ty(n,T.current)||N.current)return;let r=_.current,a=i.getState().setDraftComposerState(n,{document:e,mentions:ky(t)});if(!a)return;let o=xy(a);return M.current={keyID:le(n),revision:a.revision,fingerprint:wy(o)},A.current=a.revision,F(o,a.mentions),I(r,o),a},[i,F,I]),R=(0,Z.useCallback)((e,t,n,r,i,a)=>{P.current=vy(P.current,{before:gy(e,t,n),after:gy(r,i,a)})},[]),z=(0,Z.useCallback)(()=>N.current?(N.current=void 0,h(`compose`),!0):!1,[]),B=(0,Z.useCallback)(e=>(z(),L({text:e,references:[]},[])),[L,z]),V=(0,Z.useCallback)((e,t=[])=>{z();let n=oe(e.text,e.references);return n?L(D(n,x.current),t):void 0},[L,z]),H=(0,Z.useCallback)((e,t,n=t)=>{let r=z(),i=Sy(_.current),a=r?[]:b.current,o=Ay(i,a,e,t,n);return L(o.document,o.mentions),o.removedReferences.length>0&&R(i,a,{start:o.selectionStart,end:o.selectionEnd},o.document,o.mentions,{start:o.selectionStart,end:o.selectionEnd}),{start:o.selectionStart,end:o.selectionEnd,requiresTextCorrection:o.requiresTextCorrection}},[L,z,R]),U=(0,Z.useCallback)((e,t)=>{let n=_.current,r=Math.max(0,Math.min(e.start,n.text.length)),i=Math.max(r,Math.min(e.end,n.text.length)),a=z(),o=g(n,`${n.text.slice(0,r)}${e.text}${n.text.slice(i)}`,r+e.text.length),s=Oy(a?[]:b.current,o.document,o.edit);return L(o.document,t?t(s,o.document):s),{start:o.selectionStart,end:o.selectionEnd}},[L,z]),W=(0,Z.useCallback)((e,t)=>{let n=_.current;return U({start:0,end:n.text.length,text:e},t)},[U]),ee=(0,Z.useCallback)((e,t,n,r)=>{let i=z(),a=f(_.current,e,t,n,r);return L(a.document,Oy(i?[]:b.current,a.document,a.edit)),{start:a.caret,end:a.caret,caret:a.caret,document:a.document}},[L,z]),G=(0,Z.useCallback)(e=>{let t=Sy(_.current),n=y(t,e);if(!n)return null;let r=z()?[]:b.current,i=Oy(r,n.document,n.edit),a=O(n.document.text,n.caret),o=g(n.document,a.text,a.caret),s=Oy(i,o.document,o.edit);return L(o.document,s),R(t,r,{start:e.selectionStart,end:e.selectionEnd},o.document,s,{start:o.selectionStart,end:o.selectionEnd}),{start:o.selectionStart,end:o.selectionEnd}},[L,z,R]),K=(0,Z.useCallback)(e=>{if(N.current)return null;let t=e===`undo`?yy(P.current,_.current):by(P.current,_.current);return!t||!L(t.snapshot.document,t.snapshot.mentions)?null:(P.current=t.history,t.snapshot.selection)},[L]),te=(0,Z.useCallback)(e=>L(_.current,e),[L]),ne=(0,Z.useCallback)(e=>{let t=N.current?{document:{text:e.text,references:[]},mentions:[]}:jy(_.current,b.current,e);`preview`in t&&(N.current=t.preview),h(`history-preview`),F(t.document,t.mentions)},[F]),re=(0,Z.useCallback)(()=>{let e=N.current;if(!e)return;N.current=void 0,h(`compose`);let t=My(e);F(t.document,t.mentions)},[F]),ie=(0,Z.useCallback)(()=>{let e=w.current;if(!Ty(e,T.current))return null;let t=i.getState().getDraft(e);return{key:Cy(e),keyID:le(e),revision:t?.revision??0,document:Sy(_.current),mentions:b.current.map(e=>({...e,range:{...e.range}})),epoch:k.current,runtime:i.getState().captureDraftRuntime()}},[i]),ae=(0,Z.useCallback)(e=>{let t=Py(e,i.getState().getDraft(e.key)),n=xy(i.getState().getDraft(e.key)),r=v(n.text,n.references).document,a=i.getState().setDraftComposerState(e.key,{...t,mentions:ky(t.mentions)});if(a){let e=xy(a);I(r,e)}return a},[I,i]),se=(0,Z.useCallback)(()=>_.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,getDocument:se,replacePlainDocument:B,replaceMaterializedDocument:V,applyBrowserEdit:H,applyProgrammaticEdit:U,replaceProgrammaticText:W,insertReference:ee,deleteReference:G,restoreReferenceHistory:K,commitMentions:te,enterHistoryPreview:ne,exitHistoryPreview:re,captureSubmission:ie,recoverSubmission:ae}),[H,U,ie,te,G,l,ne,re,se,s,m,ee,d,c,ae,V,B,W,K])};function Iy(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 Ly=`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`,Ry=Lo(()=>Ue(()=>import(`./ToolOutputDialog-BWtMR2ct.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]))),zy=[],By=[],Vy=[],Hy=[],Uy=/^@[^\s]+$/,Wy=({inputMode:e,message:t,showCommandAutocomplete:n,showSkillAutocomplete:r})=>e!==`shell`&&(n||r||/(^|\s)\/[A-Za-z0-9_-]*/.test(t)),Gy=/^(https?:\/\/|mailto:)\S+$/i,Ky=560,qy=(e,t)=>e.name===t?e:new File([e],t,{type:e.type,lastModified:e.lastModified}),Jy=(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)},Yy=e=>e.includes(`@`)?`paste`:`manual`,Xy=(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}},Zy=(e,t)=>vr(e,t).some(e=>e.role===`user`),Qy=(e,t)=>{let n=e.filter(e=>e.type===`text`&&!Zn(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:`${B_} text-[var(--syntax-foreground)]`,priority:V_}),!(d.length>q_)))try{let e=o.parser.parse(d);Xe(e,G_,(e,n,r)=>{let i=K_(r);i&&t.push({start:s+e,end:s+n,style:`codeFence`,className:i,priority:H_})})}catch{}}return t}var X_=[`CodeFiles`,`codefiles`,`application/vnd.code.tree`,`application/vnd.code.tree.explorer`,`text/uri-list`,`text/plain`],Z_=e=>e.startsWith(`/`)||e.startsWith(`//`)||e.startsWith(`\\\\`)||/^[A-Za-z]:[\\/]/.test(e),Q_=e=>{if(!Z_(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(`/`)},$_=(e,{fromPlainText:t=!1}={})=>{let n=e.trim().replace(/^['"]+|['"]+$/g,``);return!n||n===`/>`||/[\r\n]/.test(n)?null:n.toLowerCase().startsWith(`file://`)||(t?Q_(n):Z_(n))?n:null},ev=(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)ev(r,t,n+1);return}if(typeof e==`object`)for(let r of Object.values(e))ev(r,t,n+1)}},tv=(e,{allowMultipleLines:t=!0,allowStructuredPayload:n=!0,fromPlainText:r=!1}={})=>{let i=new Set,a=e=>{let n=$_(e,{fromPlainText:r});if(n){i.add(n);return}if(t)for(let t of e.split(/\r?\n/)){let e=$_(t,{fromPlainText:r});e&&i.add(e)}};if(a(e),n)try{let t=JSON.parse(e),n=new Set;ev(t,n);for(let e of n)a(e)}catch{}return Array.from(i)},nv=e=>{if(!e||typeof e.getData!=`function`)return[];let t=new Set;for(let n of X_){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 tv(r,i))t.add(e)}return Array.from(t)},rv=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}}},iv=e=>Z_(e);function av(e,t){let n=(0,Q.c)(5),r=tn(e,t),i=c(ov),a;n[0]===r?a=n[1]:(a=dn(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 ov(e){return e.sessionGoalEnabled}function sv(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 At(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 cv={active:`var(--status-info)`,paused:`var(--surface-muted-foreground)`,blocked:`var(--status-warning)`,budgetLimited:`var(--status-warning)`,complete:`var(--status-success)`},lv={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`},uv=Z.memo(({sessionId:e,directory:t,className:n})=>{let{t:r}=ot(),i=c(e=>e.isMobile),{goal:a,enabled:o}=av(e??``,t),s=sv(e??``,a),l=mr(e??``,t),u=gi(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,Et(e,t))},[e,t,a,u]);let g=q(async n=>{if(!(!e||f)){p(!0);try{await bn(e,t,n)}catch(e){console.warn(`[session-goal] status change failed:`,e),Ii.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=pt(_),y=a.tokenBudget?`${qr(a.tokensUsed)}/${qr(a.tokenBudget)}`:a.tokensUsed>0?qr(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:s??void 0,children:[(0,$.jsx)(X,{name:`target`,className:Y(C,`flex-shrink-0`),style:{color:cv[a.status]},"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y(`min-w-0 flex-1 truncate`,S),children:a.note||s||``}),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(lv[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]})});uv.displayName=`SessionGoalRow`;var dv=Z.memo(({sessionId:e,directory:t,draftOpen:n=!1})=>{let{t:r}=ot(),{goal:i,enabled:a}=av(e??``,t),o=Tt(e=>e.armed),s=Tt(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 Rn(e,t)}catch(e){console.warn(`[session-goal] clear failed:`,e),Ii.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`})})]})});dv.displayName=`SessionGoalButton`;var fv=Z.memo(e=>{let t=(0,Q.c)(11),{length:n}=e,{t:r}=ot();if(!Tt(pv)||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,`/`,Qr]}),t[6]=n,t[7]=a,t[8]=o,t[9]=s,t[10]=c):c=t[10],c});fv.displayName=`SessionGoalObjectiveCounter`;function pv(e){return e.armed}var mv=new Set([`new`,`fork`,`compact`,`undo`,`redo`,`timeline`,`model`,`summary`,`workspace-review`,`handoff-review`,`plan-feature`,`goal`,`craft-goal`,`catch-up`,`debug`,`weigh`,`explore`]),hv=new Set([`compact`,`fork`,`undo`,`redo`]),gv=/^\/\u2003?([^\s]+)/i,_v=/^\/\u2003?goal\b/i,vv=(e,t)=>{if(t!==`normal`)return null;let n=e.trimStart().match(gv)?.[1]?.toLowerCase();return n&&mv.has(n)?n:null},yv=(e,t)=>vv(e,t)===`goal`?e.trimStart().replace(_v,``).trim():null,bv=(e,t)=>vv(e,t)!==null,xv=(e,t)=>{let n=vv(e,t);return n!==null&&hv.has(n)},Sv=(e,t)=>{if(!e.includes(`/`)||t.size===0)return[];let n=RegExp(`(^|\\s)/(${ee})?([A-Za-z0-9][A-Za-z0-9_-]*)(?=$|\\s)`,`g`),r=[],i;for(;(i=n.exec(e))!==null;){let e=i[3]??``;if(!t.has(e.toLowerCase()))continue;let n=i[2]??``,a=i.index+(i[1]?.length??0);r.push({start:a,end:a+1+n.length+e.length,name:e,hasSlot:n.length>0})}return r},Cv=(e,t,n=e.length)=>{let r=Sv(e,t).filter(e=>!e.hasSlot);if(r.length===0)return null;let i=e,a=n;for(let e=r.length-1;e>=0;--e){let t=r[e].start+1;i=`${i.slice(0,t)}${ee}${i.slice(t)}`,a>t&&(a+=ee.length)}return i===e?null:{text:i,caret:a}},wv=e=>e.startsWith(ee)?e.slice(ee.length):e,Tv=({currentSessionId:e,messageRef:t,replacePlainDocument:n})=>{let r=e;return t.current=``,n(``),r},Ev=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()}},Dv=e=>!e.queuedOnly&&!e.resourcePolicy&&e.rootAttachmentCount>0,Ov=e=>e.surfaceKind===`primary`&&!!e.currentSessionId&&!e.queuedOnly&&!e.resourcePolicy&&e.inputMode!==`shell`&&!e.localCommand,kv=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},Av=e=>({state:`bound`,transportIdentity:e.transportIdentity,directory:e.directory,sessionID:e.sessionID,deliveryTarget:{kind:`primary`},runtimeGeneration:e.runtimeGeneration}),jv=(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},Mv=async e=>{let t=Cn.getState().takeEstablishingPending(e.draftID);if(t.length===0)return{drained:0,failed:0};let n=Av(e),r=0,i=0;for(let a of t)try{if(e.admitServer&&(await e.admitServer(a)).status===`committed`){r+=1;continue}jv(n,a)?r+=1:i+=1}catch{try{jv(n,a)?r+=1:i+=1}catch{i+=1}}return{drained:r,failed:i}},Nv=(e,t)=>Promise.resolve().then(()=>e()).catch(()=>{t()}),Pv=e=>e===`allow`||e===`ask`||e===`deny`,Fv=e=>{if(Pv(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`&&Pv(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(Pv(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))Pv(i)&&t.push({permission:n,pattern:e,action:i})}return t},Iv=e=>{let t=Fv(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},Lv=(e,t)=>{let n=t?.trim();if(!n)return e.length===0||e.some(e=>Iv(e.permission));let r=e.find(e=>e?.name===n);return!r||Iv(r.permission)},Rv=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)},zv=null,Bv=new Set,Vv=()=>{for(let e of Bv)e()},Hv=e=>e===`chat`||e===`assistant`,Uv=()=>zv,Wv=e=>{zv!==e&&(zv=e,Vv())},Gv=e=>{zv&&(e&&zv.surfaceID!==e||(zv=null,Vv()))},Kv=(e,t)=>{if(e.transportIdentity!==t.transportIdentity||e.runtimeGeneration!==t.runtimeGeneration)throw Error(`chat-input-delivery-runtime-stale`)},qv=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}},Jv=(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}),Yv=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=Jv(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=Jv(e,`send`,i),o=cm(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=Jv(e,`create`);return await e.selection.flush(),e.backend.create(t)},compact:async t=>{let n=Jv(e,`compact`,t);return await e.selection.flush(),e.backend.compact(n)},abort:async()=>{let t=Jv(e,`abort`);return await e.selection.flush(),e.backend.abort(t)},queueScope:cm(e),canAbort:n,canQueue:t===`busy`||t===`retry`,allowsCommand:t=>tm(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=Jv(e,`abort`);await e.selection.flush(),await e.backend.abort(t);return}if(t===`new`){let t=Jv(e,`create`);await e.selection.flush(),await e.backend.create(t);return}t!==`submit`&&await e.shortcuts?.cycle(n)},resources:e.resources??null}},Xv=(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)))},Zv=(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},Qv=(e,t)=>e.agents.some(e=>e.name===t),$v=(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},ey=e=>{let{catalog:t,providerID:n,modelID:r,historyVariant:i,memoryVariant:a}=e;if(i)return $v(t,n,r,i)?i:void 0;if(a&&$v(t,n,r,a))return a},ty=e=>{let{sessionId:t,latestUserChoice:n,catalog:r,memory:i,sessionEntity:a,fallbackAgentName:o}=e;if(n?.providerID&&n.modelID&&Zv(r,n.providerID,n.modelID)){let e=n.agent&&Qv(r,n.agent)?n.agent:i?.getSessionAgentSelection?.(t)&&Qv(r,i.getSessionAgentSelection(t))?i.getSessionAgentSelection(t):o&&Qv(r,o)?o:void 0,a=e?i?.getAgentModelVariantForSession?.(t,e,n.providerID,n.modelID):void 0,s=ey({catalog:r,providerID:n.providerID,modelID:n.modelID,historyVariant:n.variant,memoryVariant:a});return{agent:e,providerID:n.providerID,modelID:n.modelID,variant:s,source:`history`,messageId:n.id}}if(i){let e=i.getSessionAgentSelection?.(t)??null,n=e&&Qv(r,e)?e:o&&Qv(r,o)?o:void 0;if(n){let e=i.getAgentModelForSession?.(t,n);if(e&&Zv(r,e.providerId,e.modelId)){let a=i.getAgentModelVariantForSession?.(t,n,e.providerId,e.modelId),o=a&&$v(r,e.providerId,e.modelId,a)?a:void 0;return{agent:n,providerID:e.providerId,modelID:e.modelId,variant:o,source:`session-memory`}}}let a=i.getSessionModelSelection?.(t);if(a&&Zv(r,a.providerId,a.modelId)){let e=n?i.getAgentModelVariantForSession?.(t,n,a.providerId,a.modelId):void 0,o=e&&$v(r,a.providerId,a.modelId,e)?e:void 0;return{agent:n,providerID:a.providerId,modelID:a.modelId,variant:o,source:`session-memory`}}}let s=a?.model;if(s&&Zv(r,s.providerID,s.id)){let e=i?.getSessionAgentSelection?.(t)??null,n=(a?.agent&&Qv(r,a.agent)?a.agent:void 0)??(e&&Qv(r,e)?e:o&&Qv(r,o)?o:void 0),c=s.variant,l=c&&$v(r,s.providerID,s.id,c)?c:void 0;return{agent:n,providerID:s.providerID,modelID:s.id,variant:l,source:`session-entity`}}return null},ny=(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))},ry=(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}},iy=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}:{}}},ay=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role!==`user`)continue;let r=typeof n.model?.providerID==`string`&&n.model.providerID.trim().length>0?n.model.providerID:void 0,i=typeof n.model?.modelID==`string`&&n.model.modelID.trim().length>0?n.model.modelID:void 0,a=typeof n.agent==`string`&&n.agent.trim().length>0?n.agent:typeof n.mode==`string`&&n.mode.trim().length>0?n.mode:void 0,o=n.model?.variant??n.variant,s=typeof o==`string`&&o.trim().length>0?o:void 0;return{id:typeof n.id==`string`?n.id:void 0,agent:a,providerID:r,modelID:i,variant:s}}return null},oy=500,sy=e=>Array.from(e).length,cy=e=>{let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return(t>>>0).toString(36)},ly=e=>sy(e)>=oy,uy=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},dy=(e,t)=>{let n=t??e;return typeof n!=`string`||!ly(n)?!1:ue(typeof e==`string`?{text:``,references:[]}:e,n)},fy=(e,t,n,r,i=1)=>{let a=sy(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}-${cy(e)}`,token:i,text:e,characterCount:a,index:n}}throw Error(`Unable to create a unique pasted text reference`)},py=e=>({text:e.text,references:e.references.map(e=>({...e}))}),my=e=>e.map(e=>({...e,range:{...e.range}})),hy=(e,t)=>e.text===t.text&&JSON.stringify(e.references)===JSON.stringify(t.references),gy=(e,t,n)=>({document:py(e),mentions:my(t),selection:{...n}}),_y=()=>({undo:[],redo:[]}),vy=(e,t)=>({undo:[...e.undo,t].slice(-100),redo:[]}),yy=(e,t)=>{let n=e.undo.at(-1);return!n||!hy(n.after.document,t)?null:{history:{undo:e.undo.slice(0,-1),redo:[...e.redo,n]},snapshot:gy(n.before.document,n.before.mentions,n.before.selection)}},by=(e,t)=>{let n=e.redo.at(-1);return!n||!hy(n.before.document,t)?null:{history:{undo:[...e.undo,n],redo:e.redo.slice(0,-1)},snapshot:gy(n.after.document,n.after.mentions,n.after.selection)}},xy=e=>({text:e?.text??``,references:e?.composerReferences??[]}),Sy=e=>({text:e.text,references:e.references.map(e=>({...e}))}),Cy=e=>({transportIdentity:e.transportIdentity,owner:{...e.owner}}),wy=e=>JSON.stringify([e.text,e.references]),Ty=(e,t)=>e!==null&&t!==null&&le(e)===t,Ey=(e,t,n)=>{let r=e?Cy(e):null,i=r?n(r):void 0;return{document:D(xy(i),t),mentions:i?.mentions??[],revision:i?.revision??0,key:r,keyID:r?le(r):null}},Dy=(e,t,n,r)=>{if(!t||le(t.key)!==r.keyID||t.revision<r.appliedRevision)return`ignore`;let i=wy(xy(t));return n?.keyID===r.keyID&&n.revision===t.revision&&n.fingerprint===i?`local-echo`:t.revision===r.appliedRevision?`ignore`:i===wy(e)?`same-document-metadata`:`external-document`},Oy=(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}]:[]})},ky=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),Ay=(e,t,n,r,i=r)=>{let a=g(e,n,r,i);return{document:a.document,mentions:Oy(t,a.document,a.edit),requiresTextCorrection:a.requiresTextCorrection,selectionStart:a.selectionStart,selectionEnd:a.selectionEnd,removedReferences:a.removedReferences}},jy=(e,t,n)=>({preview:{real:Sy(e),realMentions:[...t]},document:{text:n.text,references:[]},mentions:[]}),My=e=>({document:e.real,mentions:e.realMentions}),Ny=(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)})},Py=(e,t)=>{let n=xy(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:Ny(e.mentions,t?.mentions??[],r,i)}},Fy=({draftKey:e,sessionTitles:t,persistenceEnabled:n,onResourcesChanged:r,store:i=_n})=>{let a=e?le(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)(()=>Ey(e,t,i.getState().getDraft).document),[d,p]=(0,Z.useState)(()=>Ey(e,t,i.getState().getDraft).mentions),[m,h]=(0,Z.useState)(`compose`),_=(0,Z.useRef)(l),b=(0,Z.useRef)(d),x=(0,Z.useRef)(t),S=(0,Z.useRef)(r),C=(0,Z.useRef)(e),w=(0,Z.useRef)(e?Cy(e):null),T=(0,Z.useRef)(a),E=(0,Z.useRef)(a),k=(0,Z.useRef)(0),A=(0,Z.useRef)(o?.revision??0),M=(0,Z.useRef)(void 0),N=(0,Z.useRef)(void 0),P=(0,Z.useRef)(_y());_.current=l,b.current=d,x.current=t,S.current=r,C.current=e,T.current=a;let F=(0,Z.useCallback)((e,t)=>{_.current=e,b.current=t,u(e),p(t)},[]),I=(0,Z.useCallback)((e,t)=>{let n=j(e,t);S.current?.(n)},[]);(0,Z.useEffect)(()=>{i.getState().setDraftPersistenceEnabled(n)},[n,i]),(0,Z.useLayoutEffect)(()=>{k.current+=1;let e=k.current;E.current=a;let t=Ey(C.current,x.current,i.getState().getDraft),n=t.key;if(w.current=t.key,M.current=void 0,N.current=void 0,P.current=_y(),h(`compose`),A.current=t.revision,F(t.document,t.mentions),n?.owner.kind===`draft`){let r=t.revision;i.getState().claimLegacyNewDraft(n).then(t=>{let o=i.getState().getDraft(n);!t||!Ty(w.current,a)||E.current!==a||T.current!==a||k.current!==e||A.current!==r||o?.revision!==t.revision||(A.current=t.revision,F(D(xy(t),x.current),t.mentions))})}},[a,F,i]),(0,Z.useEffect)(()=>{if(!a||E.current!==a||N.current)return;let e=Dy(_.current,o,M.current,{keyID:a,epoch:k.current,appliedRevision:A.current});if(e!==`ignore`){if(o&&(A.current=o.revision),e===`local-echo`||e===`same-document-metadata`){o&&p(o.mentions);return}e===`external-document`&&o&&(M.current=void 0,F(D(xy(o),x.current),o.mentions),h(`compose`))}},[a,F,o]);let L=(0,Z.useCallback)((e,t)=>{let n=w.current;if(!Ty(n,T.current)||N.current)return;let r=_.current,a=i.getState().setDraftComposerState(n,{document:e,mentions:ky(t)});if(!a)return;let o=xy(a);return M.current={keyID:le(n),revision:a.revision,fingerprint:wy(o)},A.current=a.revision,F(o,a.mentions),I(r,o),a},[i,F,I]),R=(0,Z.useCallback)((e,t,n,r,i,a)=>{P.current=vy(P.current,{before:gy(e,t,n),after:gy(r,i,a)})},[]),z=(0,Z.useCallback)(()=>N.current?(N.current=void 0,h(`compose`),!0):!1,[]),B=(0,Z.useCallback)(e=>(z(),L({text:e,references:[]},[])),[L,z]),V=(0,Z.useCallback)((e,t=[])=>{z();let n=oe(e.text,e.references);return n?L(D(n,x.current),t):void 0},[L,z]),H=(0,Z.useCallback)((e,t,n=t)=>{let r=z(),i=Sy(_.current),a=r?[]:b.current,o=Ay(i,a,e,t,n);return L(o.document,o.mentions),o.removedReferences.length>0&&R(i,a,{start:o.selectionStart,end:o.selectionEnd},o.document,o.mentions,{start:o.selectionStart,end:o.selectionEnd}),{start:o.selectionStart,end:o.selectionEnd,requiresTextCorrection:o.requiresTextCorrection}},[L,z,R]),U=(0,Z.useCallback)((e,t)=>{let n=_.current,r=Math.max(0,Math.min(e.start,n.text.length)),i=Math.max(r,Math.min(e.end,n.text.length)),a=z(),o=g(n,`${n.text.slice(0,r)}${e.text}${n.text.slice(i)}`,r+e.text.length),s=Oy(a?[]:b.current,o.document,o.edit);return L(o.document,t?t(s,o.document):s),{start:o.selectionStart,end:o.selectionEnd}},[L,z]),W=(0,Z.useCallback)((e,t)=>{let n=_.current;return U({start:0,end:n.text.length,text:e},t)},[U]),ee=(0,Z.useCallback)((e,t,n,r)=>{let i=z(),a=f(_.current,e,t,n,r);return L(a.document,Oy(i?[]:b.current,a.document,a.edit)),{start:a.caret,end:a.caret,caret:a.caret,document:a.document}},[L,z]),G=(0,Z.useCallback)(e=>{let t=Sy(_.current),n=y(t,e);if(!n)return null;let r=z()?[]:b.current,i=Oy(r,n.document,n.edit),a=O(n.document.text,n.caret),o=g(n.document,a.text,a.caret),s=Oy(i,o.document,o.edit);return L(o.document,s),R(t,r,{start:e.selectionStart,end:e.selectionEnd},o.document,s,{start:o.selectionStart,end:o.selectionEnd}),{start:o.selectionStart,end:o.selectionEnd}},[L,z,R]),K=(0,Z.useCallback)(e=>{if(N.current)return null;let t=e===`undo`?yy(P.current,_.current):by(P.current,_.current);return!t||!L(t.snapshot.document,t.snapshot.mentions)?null:(P.current=t.history,t.snapshot.selection)},[L]),te=(0,Z.useCallback)(e=>L(_.current,e),[L]),ne=(0,Z.useCallback)(e=>{let t=N.current?{document:{text:e.text,references:[]},mentions:[]}:jy(_.current,b.current,e);`preview`in t&&(N.current=t.preview),h(`history-preview`),F(t.document,t.mentions)},[F]),re=(0,Z.useCallback)(()=>{let e=N.current;if(!e)return;N.current=void 0,h(`compose`);let t=My(e);F(t.document,t.mentions)},[F]),ie=(0,Z.useCallback)(()=>{let e=w.current;if(!Ty(e,T.current))return null;let t=i.getState().getDraft(e);return{key:Cy(e),keyID:le(e),revision:t?.revision??0,document:Sy(_.current),mentions:b.current.map(e=>({...e,range:{...e.range}})),epoch:k.current,runtime:i.getState().captureDraftRuntime()}},[i]),ae=(0,Z.useCallback)(e=>{let t=Py(e,i.getState().getDraft(e.key)),n=xy(i.getState().getDraft(e.key)),r=v(n.text,n.references).document,a=i.getState().setDraftComposerState(e.key,{...t,mentions:ky(t.mentions)});if(a){let e=xy(a);I(r,e)}return a},[I,i]),se=(0,Z.useCallback)(()=>_.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,getDocument:se,replacePlainDocument:B,replaceMaterializedDocument:V,applyBrowserEdit:H,applyProgrammaticEdit:U,replaceProgrammaticText:W,insertReference:ee,deleteReference:G,restoreReferenceHistory:K,commitMentions:te,enterHistoryPreview:ne,exitHistoryPreview:re,captureSubmission:ie,recoverSubmission:ae}),[H,U,ie,te,G,l,ne,re,se,s,m,ee,d,c,ae,V,B,W,K])};function Iy(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 Ly=`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`,Ry=Lo(()=>Ue(()=>import(`./ToolOutputDialog-ChljB1CN.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]))),zy=[],By=[],Vy=[],Hy=[],Uy=/^@[^\s]+$/,Wy=({inputMode:e,message:t,showCommandAutocomplete:n,showSkillAutocomplete:r})=>e!==`shell`&&(n||r||/(^|\s)\/[A-Za-z0-9_-]*/.test(t)),Gy=/^(https?:\/\/|mailto:)\S+$/i,Ky=560,qy=(e,t)=>e.name===t?e:new File([e],t,{type:e.type,lastModified:e.lastModified}),Jy=(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)},Yy=e=>e.includes(`@`)?`paste`:`manual`,Xy=(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}},Zy=(e,t)=>vr(e,t).some(e=>e.role===`user`),Qy=(e,t)=>{let n=e.filter(e=>e.type===`text`&&!Zn(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},$y=`file://`,eb=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(`/`)},tb=e=>{let t=e.replace(/\\/g,`/`).trim();return t.toLowerCase().startsWith($y)?t:`file://${eb(t)}`},nb=e=>{if(!e)return[];let t=[...nv(e).map(rv),...Array.from(e.files||[]).map(e=>k(e)).filter(e=>!!e)];return Array.from(new Set(t.filter(iv)))},rb=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},ib=e=>ra(e.path),ab=(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)]})},ob=Z.memo(Om),sb=Z.memo(ml),cb=Z.memo(Lh),lb=Z.memo(Bh),ub=Z.memo(rh),db=Z.memo(({sessionId:e,directory:t})=>{let{t:n}=ot(),r=c(e=>e.isMobile),i=J(e=>e.revertToMessage),a=J(e=>e.forkFromMessage),o=J(e=>e.handleSlashRedo),[s,l]=Z.useState(null),[u,d]=Z.useState(null),[f,p]=Z.useState(!0),m=Z.useRef(S_),h=Sr(),g=t||h,_=bt(g),v=ri(e??``,g,_),y=Yn(e=>e.session,g),b=Z.useMemo(()=>{let t=v.messageOrder.map(e=>v.messagesByID[e]).filter(e=>!!e),n=T_({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:Qy(e.parts,C)})):[],[C,x,b]),T=w[0]?.id;Z.useEffect(()=>{p(!0)},[x,T]);let E=Z.useCallback(async t=>{if(!(!e||s)){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,s,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)(da,{type:`button`,variant:`secondary`,size:`xs`,disabled:!!(s||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)(da,{type:`button`,variant:`secondary`,size:`xs`,disabled:!!(s||u),onClick:()=>{E(e.id)},children:[s===e.id?(0,$.jsx)(X,{name:`loader-4`,className:`h-3 w-3 animate-spin`,"aria-hidden":`true`}):(0,$.jsx)(X,{name:`arrow-go-forward`,className:`h-3 w-3`,"aria-hidden":`true`}),n(`chat.revertPopover.restore`)]})]},e.id))})]})})});db.displayName=`RevertedMessageDock`;var fb=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?Sb:void 0,v=f?Cb: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)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:S}),(0,$.jsx)(za,{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),pb=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=()=>Rv({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)(Ra,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,disabled:o,"aria-pressed":s,"aria-label":a,className:c,onClick:l,onMouseDown:wb,onPointerDownCapture:Tb,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)(za,{side:`top`,sideOffset:8,children:a}),t[24]=a,t[25]=m);let h;return t[26]!==m||t[27]!==p?(h=(0,$.jsxs)(Ba,{children:[p,m]}),t[26]=m,t[27]=p,t[28]=h):h=t[28],h}),mb=Z.memo(function(e){let t=(0,Q.c)(59),{isMobile:n,footerIconButtonClass:r,stopFooterIconButtonClass:i,sendIconSizeClass:a,stopIconSizeClass:o,canSend:s,canAbort:c,hasContent:l,currentSessionId:u,newSessionDraftOpen:d,draftSubmitting:f,submissionBlocked:p,sendPhase:m,queueFrozen:h,queueFallbackAvailable:g,onPrimaryAction:_,onAbort:v}=e,{t:y}=ot(),b,x,S;if(t[0]!==c||t[1]!==s||t[2]!==u||t[3]!==f||t[4]!==r||t[5]!==l||t[6]!==n||t[7]!==d||t[8]!==_||t[9]!==g||t[10]!==h||t[11]!==a||t[12]!==m||t[13]!==p||t[14]!==y){S=Symbol.for(`react.early_return_sentinel`);bb0:{let e=$h({canSend:s,hasSessionTarget:!!(u||d),draftSubmitting:!!f,submissionBlocked:p,sendPhase:m,queueFrozen:h,queueFallbackAvailable:g}),i;t[18]===n?i=t[19]:(i=n?{onMouseDown:Eb,onPointerDownCapture:Db}:{},t[18]=n,t[19]=i);let o=i,v=m.inFlight,C=v&&m.flightKind===`queue`,w=v&&m.flightKind!==`queue`,T;t[20]!==c||t[21]!==g||t[22]!==h||t[23]!==C||t[24]!==w||t[25]!==y?(T=y(C?`chat.chatInput.actions.queuingMessageAria`:w?`chat.chatInput.actions.sendingMessageAria`:h&&g&&c?`chat.chatInput.actions.sendMessageAria`:c?`chat.chatInput.actions.queueMessageAria`:`chat.chatInput.actions.sendMessageAria`),t[20]=c,t[21]=g,t[22]=h,t[23]=C,t[24]=w,t[25]=y,t[26]=T):T=t[26];let E=T,D=v?`loader-4`:`send-plane-2`,O=e.sendDisabled,k;t[27]!==n||t[28]!==_?(k=e=>{n&&(e.preventDefault(),_())},t[27]=n,t[28]=_,t[29]=k):k=t[29];let A=Y(r,e.sendDisabled?e.disabledClass:`text-primary hover:text-primary`),j;t[30]!==c||t[31]!==v||t[32]!==C||t[33]!==w||t[34]!==y?(j=y(w||!c&&v?C?`chat.chatInput.actions.queuingMessageAria`:`chat.chatInput.actions.sendingMessageAria`:`chat.chatInput.actions.sendMessageAria`),t[30]=c,t[31]=v,t[32]=C,t[33]=w,t[34]=y,t[35]=j):j=t[35];let M=v?`loader-4`:`send-plane-2`,N=v&&`animate-spin`,P;t[36]!==a||t[37]!==N?(P=Y(a,N),t[36]=a,t[37]=N,t[38]=P):P=t[38];let F;t[39]!==P||t[40]!==M?(F=(0,$.jsx)(X,{name:M,className:P}),t[39]=P,t[40]=M,t[41]=F):F=t[41];let I=(0,$.jsx)(`button`,{type:n?`button`:`submit`,"data-composer-send":`true`,disabled:O,"aria-busy":v||void 0,...o,onClick:k,className:A,"aria-label":j,children:F});if(!c){S=I;break bb0}b=`relative z-30 overflow-visible`,x=l||C?(0,$.jsx)(`button`,{type:`button`,"data-composer-send":`true`,disabled:e.sendDisabled||C,"aria-busy":C||void 0,...o,onClick:e=>{e.preventDefault(),!C&&_()},className:Y(r,`absolute z-30 bottom-full left-1/2 -translate-x-1/2 mb-1`,!e.sendDisabled&&!C?`text-primary hover:text-primary`:e.disabledClass),"aria-label":E,children:(0,$.jsx)(X,{name:D,className:Y(a,C?`animate-spin`:`-rotate-90`)})}):null}t[0]=c,t[1]=s,t[2]=u,t[3]=f,t[4]=r,t[5]=l,t[6]=n,t[7]=d,t[8]=_,t[9]=g,t[10]=h,t[11]=a,t[12]=m,t[13]=p,t[14]=y,t[15]=b,t[16]=x,t[17]=S}else b=t[15],x=t[16],S=t[17];if(S!==Symbol.for(`react.early_return_sentinel`))return S;let C=i??r,w;t[42]===C?w=t[43]:(w=Y(C,`relative z-30 !text-black hover:!text-black dark:!text-white dark:hover:!text-white`),t[42]=C,t[43]=w);let T;t[44]===y?T=t[45]:(T=y(`chat.chatInput.actions.stopGeneratingAria`),t[44]=y,t[45]=T);let E;t[46]===o?E=t[47]:(E=Y(o),t[46]=o,t[47]=E);let D;t[48]===E?D=t[49]:(D=(0,$.jsx)(Kh,{className:E}),t[48]=E,t[49]=D);let O;t[50]!==v||t[51]!==w||t[52]!==T||t[53]!==D?(O=(0,$.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,onClick:v,className:w,"aria-label":T,children:D}),t[50]=v,t[51]=w,t[52]=T,t[53]=D,t[54]=O):O=t[54];let k;return t[55]!==b||t[56]!==x||t[57]!==O?(k=(0,$.jsxs)(`div`,{className:b,children:[x,O]}),t[55]=b,t[56]=x,t[57]=O,t[58]=k):k=t[58],k},(e,t)=>e.isMobile===t.isMobile&&e.footerIconButtonClass===t.footerIconButtonClass&&e.stopFooterIconButtonClass===t.stopFooterIconButtonClass&&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),hb=(e,t)=>`${e}${e?e.endsWith(`
6526
6526
 
6527
6527
  `)?``:e.endsWith(`
@@ -6535,7 +6535,7 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{D as t,E as n,F as r,T
6535
6535
  `),i=Math.min(n===-1?e.length:n,r===-1?e.length:r);if(t<=i&&n===-1){let t=wv(e.substring(1,i));I(t),N(!0),O(!1),z(!1),ne(!1);return}}N(!1);let i=e.substring(0,t),a=i.lastIndexOf(`/`);if(a!==-1){let e=a>0?i[a-1]:null,t=wv(i.substring(a+1)),n=t.includes(` `)||t.includes(`
6536
6536
  `);if((!e||/\s/.test(e))&&!n){H(t),z(!0),O(!1);return}}z(!1),H(``);let o=i.lastIndexOf(`#`);if(o!==-1){let e=o>0?i[o-1]:null,t=i.substring(o+1);if((!e||/\s/.test(e))&&!t.includes(` `)&&!t.includes(`
6537
6537
  `)){oe(t),ne(!0),O(!1);return}}ne(!1);let s=hr({value:e,cursorPosition:t,inputSource:n,insertedText:r});s===null?O(!1):(j(s),O(!0))},[h,I,j,N,O,z,ne,H,oe]),qs=Z.useCallback((e,t,n,r=`manual`,i)=>{let a=e,o=t,s=n;if(h===`normal`&&!di.current&&za.size>0&&e.includes(`/`)){let r=Cv(e,za,n);r&&(a=r.text,o=t+(r.caret-n),s=r.caret)}let c=Zr(a,o,s),l=zi(),u=c.requiresTextCorrection||o!==c.start||s!==c.end||a!==e;return requestAnimationFrame(()=>{let e=ui.current;e&&Zp(u,di.current)&&(e.value=l.text,e.setSelectionRange(c.start,c.end)),Gs()}),Ks(l.text,c.end,r,i),{document:l,selection:c}},[Gs,Zr,zi,h,za,Ks]),Js=Z.useCallback((e,t=`manual`)=>{if(!e)return;let n=ui.current;if(!n){let n=Jr+e;qs(n,n.length,n.length,t,e);return}let r=n.selectionStart??Jr.length,i=n.selectionEnd??Jr.length,a=`${Jr.substring(0,r)}${e}${Jr.substring(i)}`,o=r+e.length;qs(a,o,o,t,e)},[qs,Jr]),Ys=q((e,t)=>{let n=new Set(we(kn.map(e=>e.filename),e,t));if(n.size!==0)for(let e of kn)n.has(e.filename)&&Dn.removeAttachment(e.id)}),Xs=Z.useCallback(e=>{Dn.removeAttachment(e.id)},[Dn]),Zs=Z.useCallback(()=>{vi.current=!1,Ci.current=[],yi.current&&=(clearTimeout(yi.current),null)},[]),Qs=Z.useCallback(()=>{yi.current&&clearTimeout(yi.current),yi.current=setTimeout(()=>{Zs()},700)},[Zs]),$s=Z.useCallback(()=>{bi.current=!1,xi.current&&=(clearTimeout(xi.current),null)},[]),ec=Z.useCallback(()=>{bi.current=!0,xi.current&&clearTimeout(xi.current),xi.current=setTimeout(()=>{bi.current=!1,xi.current=null},700)},[]),tc=Z.useCallback(e=>{!d()||!vi.current||e.nativeEvent?.inputType===`insertFromDrop`&&(e.preventDefault(),Zs())},[Zs]),nc=e=>{if(Nr)return;let t=e.nativeEvent;if(d()&&vi.current){let n=Ci.current;if(t?.inputType===`insertFromDrop`||n.some(t=>t.length>0&&e.target.value.includes(t))){Zs();return}}let n=e.target.value;Ys(Pi.current,n);let r=e.target.selectionStart??n.length,i=t?.inputType?.startsWith(`insertFromPaste`)?Jy(Pi.current,n):``,a=i.includes(`@`)||bi.current;bi.current&&$s();let o=a?`paste`:`manual`;if(h===`normal`&&n.startsWith(`!`)){let e=n.slice(1),t=Math.max(0,r-1);g(`shell`),Yr(e),Gs(),N(!1),z(!1),O(!1),requestAnimationFrame(()=>{ui.current&&(ui.current.selectionStart=t,ui.current.selectionEnd=t)});return}qs(n,r,e.target.selectionEnd??r,o,i)};Z.useEffect(()=>()=>{Zs(),$s()},[Zs,$s]);let rc=Z.useCallback(e=>{let t=Array.from(new Set(e.map(e=>e.trim()).filter(Boolean)));if(t.length===0)return;let n=t.map(e=>`@${e}`).join(` `),r=ui.current,i=r?.selectionStart??Jr.length,a=r?.selectionEnd??Jr.length,o=ks(n,Jr.slice(0,i),Jr.slice(a)),s=`${Jr.slice(0,i)}${o}${Jr.slice(a)}`;Ys(Jr,s),Bi(s,t)},[Jr,Bi,Ys]),ic=Z.useCallback(async e=>{let t=nb(e.clipboardData);if(t.length>0&&(An||Nn)){e.preventDefault(),rc(t);return}if(h===`normal`&&(An||Nn)){let t=ui.current,n=t?.selectionStart??-1,r=t?.selectionEnd??-1;if(t&&r>n){let t=e.clipboardData.getData(`text`).trim(),i=Jr.slice(n,r);if(Gy.test(t)&&!/\s/.test(t)&&i.trim().length>0&&!i.includes(`](`)){e.preventDefault();let a=`${Jr.slice(0,n)}[${i}](${t})${Jr.slice(r)}`,o=n+1+i.length+2+t.length+1;si(a),requestAnimationFrame(()=>{let e=ui.current;e&&(e.selectionStart=o,e.selectionEnd=o),Gs()}),Ks(a,o,Yy(t),t);return}}}let n=Array.from(e.clipboardData.files||[]).filter(e=>e.type.startsWith(`image/`)),r=Array.from(e.clipboardData.items||[]).filter(e=>e.kind===`file`&&e.type.startsWith(`image/`)).map(e=>e.getAsFile()).filter(e=>!!e),i=n.length>0?n:(()=>{if(r.length<=1)return r;let e=r.find(e=>/image\/(png|webp|jpe?g|gif)/i.test(e.type));return e?[e]:[r[0]]})(),a=e.clipboardData.getData(`text`);if(i.length===0){if(h===`normal`&&dy(zi(),a)){e.preventDefault();let t=zi().text,n=ui.current,r=n?.selectionStart??Jr.length,i=n?.selectionEnd??Jr.length,o=fy(a,Jr,zi().references.flatMap(e=>e.kind===`paste`?[{id:e.id,token:e.display,text:e.text,characterCount:e.characterCount,index:e.index}]:[]),({index:e,count:t})=>f(`chat.chatInput.pastedTextReference`,{index:e,count:t}),uy(zi())),s=Qr(r,i,{id:o.id,kind:`paste`,text:o.text,characterCount:o.characterCount,index:o.index,display:o.token},{inlineBoundaries:!0,padDocumentEdges:!0}),c=zs(s.document.text,s.caret);ui.current&&(ui.current.value=s.document.text),requestAnimationFrame(()=>{ui.current?.setSelectionRange(c,c),Gs()}),Ks(s.document.text,c),Ys(t,s.document.text);return}a.includes(`@`)&&ec();return}if(!An&&!Nn){a.includes(`@`)&&ec();return}e.preventDefault();let o=je(i,[...kn.map(e=>e.filename),...Li.current]),s=Be(o),c=zi().text,l=ui.current,u=l?.selectionStart??Jr.length,d=l?.selectionEnd??Jr.length,p=h===`normal`&&dy(zi(),a)?fy(a,Jr,zi().references.flatMap(e=>e.kind===`paste`?[{id:e.id,token:e.display,text:e.text,characterCount:e.characterCount,index:e.index}]:[]),({index:e,count:t})=>f(`chat.chatInput.pastedTextReference`,{index:e,count:t}),uy(zi())):null,m=a?`${a}${/\s$/.test(a)?``:` `}${s}`:s,g=ks(m,Jr.slice(0,u),Jr.slice(d));if(p){let e=Qr(u,d,{id:p.id,kind:`paste`,text:p.text,characterCount:p.characterCount,index:p.index,display:p.token},{inlineBoundaries:!0,padDocumentEdges:!0}),t=zs(e.document.text,e.caret),n=`${e.document.text.slice(0,t)}${s}${e.document.text.slice(t)}`;qs(n,t+s.length,t+s.length,Yy(n),s),Ys(c,n)}else Js(g,Yy(g)),Ys(c,`${Jr.slice(0,u)}${g}${Jr.slice(d)}`);for(let e=0;e<i.length;e+=1){let t=o[e],n=qy(i[e],t);Li.current.add(t);try{await Dn.addAttachment(n)}catch(e){console.error(`Clipboard image attach failed`,e),Ii.error(e instanceof Error?e.message:f(`chat.chatInput.toast.clipboardAttachFailed`))}finally{Li.current.delete(t)}}},[Dn,rc,kn,Gs,An,zi,h,Qr,ec,Jr,Nn,Js,f,Ks,qs,si,Ys]),ac=Z.useCallback((e,t)=>{let n=e.currentTarget,r=n.selectionStart??0,i=n.selectionEnd??r;if(i<=r)return;let a=I_(r,i,[...Re(Jr,kn.filter(Oe).map(e=>e.filename)),...F_(Jr,Ra.keys()),...zi().references]),o=a?.start??r,s=a?.end??i,c=Jr.slice(o,s),l=U(c);if(!(l===c&&!a))if(e.preventDefault(),e.clipboardData.setData(`text/plain`,l),t===`cut`){let e=`${Jr.slice(0,o)}${Jr.slice(s)}`;qs(e,o,o),requestAnimationFrame(()=>{ui.current?.setSelectionRange(o,o),Gs()})}else a&&(a.start!==r||a.end!==i)&&requestAnimationFrame(()=>{ui.current?.setSelectionRange(o,s)})},[Gs,kn,Ra,qs,zi,Jr]),oc=Z.useCallback(e=>{ac(e,`copy`)},[ac]),sc=Z.useCallback(e=>{ac(e,`cut`)},[ac]),cc=e=>{let t=ui.current,n=Math.min(t&&document.activeElement===t?t.selectionStart??fi.current:fi.current,Jr.length),r=Jr.substring(0,n).lastIndexOf(`@`),i=e.relativePath&&e.relativePath.trim().length>0?e.relativePath.trim():yc(e.path)||e.name,a=e.isDirectory?[i]:[],o=Ls(Jr,r===-1?n:r,n,`@${i}`);Bi(o.text,[i],a),requestAnimationFrame(()=>{ui.current&&(ui.current.selectionStart=o.caret,ui.current.selectionEnd=o.caret),Gs(),Ks(o.text,o.caret)}),O(!1),j(``),ui.current?.focus()},lc=e=>{let t=ui.current,n=Math.min(t&&document.activeElement===t?t.selectionStart??fi.current:fi.current,Jr.length),r=Jr.substring(0,n).lastIndexOf(`@`),i=Ls(Jr,r===-1?n:r,n,`@${e}`);si(i.text,t=>Ps(t,{kind:`agent`,value:e,path:e,label:e,range:{start:i.start,end:i.end}})),requestAnimationFrame(()=>{ui.current&&(ui.current.selectionStart=i.caret,ui.current.selectionEnd=i.caret),Gs(),Ks(i.text,i.caret)}),O(!1),j(``),ui.current?.focus()},uc=q(e=>{Oi.current||(Oi.current=!0,(async()=>{try{let t=J.getState().getAuthoritativeDirectoryForSession(e.id);if(!t){Ii.error(f(`chat.chatInput.toast.sessionReferenceLoadFailed`));return}if(await ut(e.id,{directory:t}),!Ar(e.id,t)){Ii.error(f(`chat.chatInput.toast.sessionReferenceLoadFailed`));return}Cr([{type:`session`,sessionId:e.id}],t).catch(()=>void 0);let n=zi(),r=ui.current?.selectionStart??n.text.length,i=n.text.substring(0,r).lastIndexOf(`@`),a=pr().get(e.id)?.title||e.title||e.id,o=i===-1?r:i,s={id:`session:${e.id}:${L()}`,kind:`session`,sessionId:e.id,display:F({trigger:`@`,icon:`chat-thread`,label:a})},c=Qr(o,r,s,{inlineBoundaries:!0,padDocumentEdges:!0}),l=zs(c.document.text,c.caret);requestAnimationFrame(()=>{ui.current&&(ui.current.selectionStart=l,ui.current.selectionEnd=l),Gs(),Ks(c.document.text,l)}),O(!1),j(``),ui.current?.focus()}catch{Ii.error(f(`chat.chatInput.toast.sessionReferenceLoadFailed`))}finally{Oi.current=!1}})())}),dc=q(e=>{let t=zi(),n=ui.current?.selectionStart??t.text.length,r=ys(t.text,n);if(!r)return!1;let i=Qr(r.start,r.end,e,{inlineBoundaries:!0,padDocumentEdges:!0,padLeadingDocumentEdge:!1}),a=i.document.references.some(t=>t.id===e.id),o=zs(i.document.text,i.caret);return requestAnimationFrame(()=>{ui.current&&(ui.current.selectionStart=o,ui.current.selectionEnd=o),Gs(),Ks(i.document.text,o),a&&(N(!1),z(!1))}),ui.current?.focus(),a}),fc=e=>{dc({id:`skill:${e.name}:${L()}`,kind:`skill`,skillName:e.name,display:F({trigger:`/`,icon:`book-open`,label:e.name})})&&H(``)},pc=(e,t)=>{let n=ui.current?.selectionStart??Jr.length,r=Jr.substring(0,n).lastIndexOf(`#`),i=r===-1?n:r,a=`${Jr.substring(0,i)}#${t} ${Jr.substring(n)}`;si(a);let o=i+t.length+2;requestAnimationFrame(()=>{ui.current&&(ui.current.selectionStart=o,ui.current.selectionEnd=o),Gs(),Ks(a,o)}),ne(!1),oe(``),ui.current?.focus()},mc=(e,t=!1)=>{if(!tm(Tn,e))return;let n=`/${e.name}`;if(!t&&e.isSkill){dc({id:`skill:${e.name}:${L()}`,kind:`skill`,skillName:e.name,display:F({trigger:`/`,icon:`book-open`,label:e.name})})&&I(``);return}if(!t&&e.source===`opencode`&&!e.isSkill&&e.isBuiltIn!==!0&&dc({id:`command:${e.name}:${L()}`,kind:`command`,commandName:e.name,reference:e.reference??e.name,display:F({trigger:`/`,icon:`command`,label:e.name})})){I(``);return}let r=e.isSkill?` ${n} `:`${n} `,i=Cv(r,new Set([...za,e.name.toLowerCase()]),r.length);Yr(i?.text??r);let a=ui.current;if(a&&(a._commandMetadata=e),N(!1),I(``),t){ps({presetText:n});return}let o=()=>{if(ui.current){try{ui.current.focus({preventScroll:!0})}catch{ui.current.focus()}ui.current.setSelectionRange(ui.current.value.length,ui.current.value.length)}};requestAnimationFrame(()=>{o(),requestAnimationFrame(o)}),setTimeout(o,60)};Z.useEffect(()=>{An&&ui.current&&!Tr&&ui.current.focus()},[An,Tr]),Z.useEffect(()=>{Tr||de(null)},[Tr]);let hc=Dn.abortPrompt.sessionID,gc=Dn.abortPrompt.clear;Z.useEffect(()=>{hc&&hc!==An&&gc()},[An,hc,gc]),Z.useEffect(()=>{wi.current=!!(An||Nn)},[An,Nn]);let _c=Z.useCallback(e=>{if(!e)return!1;if(e.files&&e.files.length>0)return!0;if(e.types){let t=Array.from(e.types).map(e=>e.toLowerCase());if(t.includes(`files`)||t.includes(`text/uri-list`)||t.includes(`codefiles`)||t.includes(`application/x-openchamber-file-path`)||t.some(e=>e.includes(`vnd.code.tree`)))return!0}return nv(e).length>0},[]),vc=Z.useCallback(e=>{if(!e)return[];let t=Array.from(e.files||[]);return t.length>0?t:Array.from(e.items||[]).filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(e=>!!e)},[]),yc=Z.useCallback(e=>{let t=e.replace(/\\/g,`/`).trim(),n=(Zi||``).replace(/\\/g,`/`).replace(/\/+$/,``);if(!n||t===n)return t;let r=`${n}/`;return t.startsWith(r)?t.slice(r.length):t},[Zi]),bc=e=>{if(!_c(e.dataTransfer))return;e.preventDefault(),e.stopPropagation(),gi.current++;let t=e.dataTransfer.types?.includes(`application/x-openchamber-file-path`)??!1;t!==T&&E(t),(An||Nn)&&!y&&w(!0)},xc=e=>{_c(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,(An||Nn)&&!y&&w(!0))},Q=e=>{e.preventDefault(),e.stopPropagation(),gi.current--,gi.current<=0&&(gi.current=0,w(!1),E(!1),Zs())},Sc=()=>{gi.current=0,w(!1),E(!1),Zs()},Cc=async e=>{if(gi.current=0,!_c(e.dataTransfer)){Zs();return}if(e.preventDefault(),e.stopPropagation(),w(!1),!An&&!Nn)return;let t=e.dataTransfer.getData(`application/x-openchamber-file-path`);if(t&&t!==`.`){let e=`@${t}`,n=ui.current,r=Pi.current;if(n){let t=n.selectionStart??fi.current,i=n.selectionEnd??t,a=Ls(r,t,i,e);si(a.text),requestAnimationFrame(()=>{n.selectionStart=a.caret,n.selectionEnd=a.caret,fi.current=a.caret,n.focus()})}else{let t=Ls(r,r.length,r.length,e);si(t.text)}Zs();return}let n=nb(e.dataTransfer);if(n.length>0){d()&&(Ci.current=n),rc(n),d()||Zs();return}let r=vc(e.dataTransfer);if(r.length>0){let e=Be(r.map(e=>e.name)),t=ks(e,Pi.current.slice(0,ui.current?.selectionStart??Pi.current.length),Pi.current.slice(ui.current?.selectionEnd??Pi.current.length));Js(t);for(let e of r)try{await Dn.addAttachment(e)}catch(e){console.error(`File attach failed`,e),Ii.error(e instanceof Error?e.message:f(`chat.chatInput.toast.attachFileFailed`))}}Zs()},wc=e=>{_c(e.dataTransfer)&&(e.preventDefault(),d()&&(vi.current=!0,Qs()))},Tc=Z.useRef(null),Ec=Z.useRef(null),Dc=q((e=!0)=>{Ve.current=0;let t=()=>{let t=Yp(ui);if(!t||(Xp(ui),!e))return;let n=t.value.length;try{t.setSelectionRange(n,n)}catch{}};t(),window.requestAnimationFrame(t)}),Oc=Z.useCallback(async e=>{let t=Array.isArray(e)?e:Array.from(e);if(t.length>0){let e=Be(t.map(e=>e.name)),n=ks(e,Pi.current.slice(0,ui.current?.selectionStart??Pi.current.length),Pi.current.slice(ui.current?.selectionEnd??Pi.current.length));Js(n)}for(let e of t)try{await Dn.addAttachment(e)}catch(e){console.error(`File attach failed`,e),Ii.error(e instanceof Error?e.message:f(`chat.chatInput.toast.attachFileFailed`))}},[Dn,Js,f]),kc=Z.useCallback(async()=>{try{let e=await Gi?.pickFiles?.(),t=Array.isArray(e?.files)?e.files:[],n=Array.isArray(e?.skipped)?e.skipped:[];if(n.length>0){let e=n.map(e=>`${e?.name||`file`}: ${e?.reason||`skipped`}`).join(`
6538
- `);Ii.error(f(`chat.chatInput.toast.someFilesSkipped`,{summary:e}))}let r=t.map(e=>{if(!e?.dataUrl)return null;try{let[t,n]=e.dataUrl.split(`,`),r=e.mimeType||t?.match(/data:(.*);base64/)?.[1]||`application/octet-stream`;if(!n)return null;let i=atob(n),a=new Uint8Array(i.length);for(let e=0;e<i.length;e++)a[e]=i.charCodeAt(e);let o=new Blob([a],{type:r});return new File([o],e.name||`file`,{type:r})}catch(e){return console.error(`Failed to decode VS Code picked file`,e),null}}).filter(Boolean);r.length>0&&(Dc(!1),await Oc(r),Dc())}catch(e){console.error(`VS Code file pick failed`,e),Ii.error(e instanceof Error?e.message:f(`chat.chatInput.toast.vscodePickFailed`))}},[Oc,Dc,f,Gi]),Ac=Z.useCallback(()=>{if(d()){kc();return}Tc.current?.click()},[kc]),jc=Z.useCallback(()=>{if(d()){kc();return}Ec.current?.click()},[kc]),Mc=Z.useCallback(async()=>{if(!Pc()){jc();return}try{let e=await Fc(20);if(e===null){jc();return}e.length>0&&(Dc(!1),await Oc(e),Dc())}catch(e){console.error(`Native photo pick failed`,e),Ii.error(f(`chat.chatInput.toast.attachFileFailed`))}},[Oc,Dc,jc,f]),Nc=Z.useCallback(async e=>{let t=e.target.files;!t||t.length===0||(Dc(!1),await Oc(t),e.target.value=``,Dc())},[Oc,Dc]),Ic=`gap-x-1.5 gap-y-0`,Lc=d(),Rc=Tn.kind===`primary`&&Pn&&!Lc,zc=Z.useMemo(()=>(Ot?.selectedProjectId?Bn.find(e=>e.id===Ot.selectedProjectId)??null:null)||(Hn?Bn.find(e=>e.id===Hn)??null:null)||(Bn[0]??null),[Hn,Ot?.selectedProjectId,Bn]),Bc=Z.useMemo(()=>rb(zc?.path??null),[zc?.path]),Vc=zc?ib(zc):null,Hc=Is(Bc),Uc=Es(e=>Bc?e.directories.get(Bc)?.lastBranchesFetch??0:0),Wc=Hs(Bc),Gc=!!Hc?.all,Kc=Es(e=>e.fetchBranches),[qc,Jc]=Z.useState(!1);Z.useEffect(()=>{!Rc||!Bc||!Ui||Wc!==null||na(Bc,Ui,{silent:!0})},[na,Ui,Wc,Bc,Rc]),Z.useEffect(()=>{if(!Rc||!Bc||!zc||!Ui||Wc!==!0){Jc(!1);return}let e=!Uc||Date.now()-Uc>3e4;if(Gc&&!e){Jc(!1);return}let t=!1;return Jc(!Gc),Kc(Bc,Ui).finally(()=>{t||Jc(!1)}),()=>{t=!0}},[Kc,Ui,zc,Uc,Gc,Wc,Bc,Rc]);let Yc=Os(Bc),Xc=Hc?.current?.trim()||Yc?.trim()||``,Zc=Z.useMemo(()=>{if(!zc)return null;let e=rb(zc.path);return!e||!Xc?null:{value:e,label:Xc}},[zc,Xc]),Qc=Z.useMemo(()=>{if(!zc)return[];let e=Bc?Wt.get(Bc)??Wt.get(zc.path)??[]:[];return Pr({projectRoot:rb(zc.path)??``,rootBranch:Xc,worktrees:e,pendingBootstrapDirectory:Ot?.bootstrapPendingDirectory??null}).filter(e=>e.kind===`worktree`)},[Wt,Ot?.bootstrapPendingDirectory,zc,Xc,Bc]),$c=Z.useMemo(()=>rb(Ot?.bootstrapPendingDirectory??null)??rb(Ot?.directoryOverride??null)??Bc,[Ot?.bootstrapPendingDirectory,Ot?.directoryOverride,Bc]),el=Z.useMemo(()=>{let e=rb(Ot?.bootstrapPendingDirectory??null);return!!(Ot?.preserveDirectoryOverride||Ot?.pendingWorktreeRequestId||e&&e===$c)},[Ot?.bootstrapPendingDirectory,Ot?.pendingWorktreeRequestId,Ot?.preserveDirectoryOverride,$c]),tl=Z.useMemo(()=>{let e=[];return Zc&&e.push(Zc),e.push(...Qc),!$c||e.some(e=>e.value===$c)||!el?e:[...e,{value:$c,label:ra($c)}]},[Zc,$c,el,Qc]),nl=Z.useMemo(()=>f_({selectedDirectory:$c,projectRootOption:Zc,worktreeOptions:Qc}),[Zc,$c,Qc]),rl=Fh()===`mini-chat`,il=Z.useMemo(()=>rl||Qi!==!0||!ea||ea.isClean?!1:wh(ea.files),[ea,Qi,rl]),al=Z.useMemo(()=>!$c||Zc?.value===$c||Qc.some(e=>e.value===$c),[Zc?.value,$c,Qc]);Z.useEffect(()=>{Ot?.open&&(!Ot.preserveDirectoryOverride&&!Ot.bootstrapPendingDirectory||!$c||!al||(Ot.preserveDirectoryOverride&&J.getState().setDraftPreserveDirectoryOverride(!1),Ot.bootstrapPendingDirectory&&J.getState().setDraftBootstrapPendingDirectory(null)))},[Ot?.bootstrapPendingDirectory,Ot?.open,Ot?.preserveDirectoryOverride,al,$c]);let ol=Z.useMemo(()=>Wc!==!0||qc?!1:Zc?!0:Qc.length>0,[qc,Zc,Wc,Qc.length]),sl=Z.useCallback(e=>{if(J.getState().newSessionDraft?.pendingWorktreeRequestId)return;let t=Bn.find(t=>t.id===e);t&&(Hn!==e&&Wn(e),Ut({projectId:e,directoryOverride:t.path},{force:!0}))},[Hn,Bn,Wn,Ut]),cl=Z.useCallback(e=>{J.getState().newSessionDraft?.pendingWorktreeRequestId||zc&&Ut({projectId:zc.id,directoryOverride:e},{force:!0})},[zc,Ut]),ll=Z.useCallback(e=>{let t=e.icon?Ea[e.icon]:null,n=e.color?ka[e.color]:void 0,r=(0,$.jsx)(X,{name:t??`folder`,className:`h-3.5 w-3.5`,style:n?{color:n}:void 0});return(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,children:e.iconImage?(0,$.jsx)(xa,{project:e,className:`size-full object-contain`,fallback:r}):r}),(0,$.jsx)(`span`,{className:`truncate`,children:ib(e)})]})},[]);Z.useEffect(()=>{!Rc||!zc||!$c||Ot?.pendingWorktreeRequestId||Ot?.bootstrapPendingDirectory||Ot?.preserveDirectoryOverride||tl.some(e=>e.value===$c)||Ut({projectId:zc.id,directoryOverride:zc.path})},[tl,Ot?.bootstrapPendingDirectory,Ot?.pendingWorktreeRequestId,Ot?.preserveDirectoryOverride,$c,zc,Ut,Rc]);let ul=Z.useCallback(()=>{He(),ve(!0),ui.current?.blur()},[He]),dl=Z.useCallback(()=>{He(),be(!0),ui.current?.blur()},[He]);Z.useEffect(()=>{if(!Tr||typeof document>`u`)return;let e=document.getElementById(`mobile-overlay-root`);e||(e=document.createElement(`div`),e.id=`mobile-overlay-root`,document.body.appendChild(e));let t=e,n=()=>ze(tg(t.children));n();let r=new MutationObserver(n);return r.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[eg]}),()=>r.disconnect()},[Tr]);let fl=Ie||!!ue||_e||ye||ro||ao,pl=Z.useRef(!1);pl.current=ro||ao;let ml=Z.useRef(!1),hl=Z.useRef(0),gl=Z.useRef(0),_l=q(()=>{let e=J.getState().stagedMessageEdit;!e||e.sessionId!==An||window.setTimeout(()=>{let t=J.getState().stagedMessageEdit,n=document.activeElement,r=kv({surfaceKind:Tn.kind,stagedSessionId:t?.sessionId??null,stagedMessageId:t?.messageId??null,blurredMessageId:e.messageId,submitInFlight:es(),focusHeld:Date.now()<gl.current,overlayOpen:hl.current>0||pl.current,focusInsideComposer:n instanceof Element&&!!(n.closest(`[data-composer-content="true"]`)||n.closest(`[data-slot="dropdown-menu-content"]`))||Date.now()<Ve.current});r.action===`disarm`&&J.getState().clearStagedMessageEdit(r.sessionId)},0)});Z.useEffect(()=>{if(!Tr||Le()||typeof window>`u`||!window.matchMedia?.(`(display-mode: standalone)`)?.matches)return;let e=()=>{hl.current+=1},t=()=>{if(hl.current=Math.max(0,hl.current-1),ml.current){ml.current=!1;return}if(!We.current||pl.current||hl.current>0)return;if(eo()){We.current=!1;return}We.current=!1,gl.current=Date.now()+600,ui.current?.focus(),document.activeElement===ui.current&&he(!0);let e=()=>{let e=ui.current;!e||document.activeElement!==e||(vl.current??e).scrollIntoView({block:`end`})};fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null),pe.current!==null&&(window.clearTimeout(pe.current),pe.current=null),fe.current=window.setTimeout(()=>{fe.current=null,e()},300),pe.current=window.setTimeout(()=>{pe.current=null,e()},650)};return window.addEventListener(`oc:mobile-overlay-opened`,e),window.addEventListener(`oc:mobile-overlay-closed`,t),()=>{fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null),pe.current!==null&&(window.clearTimeout(pe.current),pe.current=null),window.removeEventListener(`oc:mobile-overlay-opened`,e),window.removeEventListener(`oc:mobile-overlay-closed`,t)}},[Tr]),Z.useEffect(()=>{if(!Tr)return;if(fl){(me||Date.now()-Ue.current<800)&&(We.current=!0);return}if(!We.current)return;let e=window.setTimeout(()=>{if(We.current=!1,eo())return;let e=ui.current;e&&document.activeElement!==e&&e.focus({preventScroll:Le()})},180);return()=>window.clearTimeout(e)},[Tr,fl,me]),Z.useEffect(()=>{if(!Tr||Le()||typeof document>`u`||me||!window.matchMedia?.(`(display-mode: standalone)`)?.matches)return;let e=document.documentElement,t=window.setTimeout(()=>{document.activeElement!==ui.current&&(window.scrollTo(0,0),document.body.scrollTop=0,e.scrollTop=0)},350);return()=>window.clearTimeout(t)},[Tr,me]),Z.useEffect(()=>{Ae(``)},[xe]);let vl=Z.useRef(null),yl=Tr?`px-1.5 py-1.5`:Lc?`px-1.5 py-1`:`px-2.5 py-1.5`,bl=Tr?`h-8 w-8`:Lc?`h-5 w-5`:`h-6 w-6`,Sl=Tr?`h-4 w-4`:Lc?`h-3.5 w-3.5`:`h-4 w-4`,Cl=Tr?`h-5 w-5`:Lc?`h-4 w-4`:`h-5 w-5`,wl=Tr?`h-[1.125rem] w-[1.125rem]`:Lc?`h-4 w-4`:`h-[1.125rem] w-[1.125rem]`,Tl=Y(`flex cursor-pointer items-center justify-center text-foreground transition-none outline-none focus:outline-none flex-shrink-0 disabled:cursor-not-allowed`,Np),El=Y(Tl,bl),Dl=El;Z.useEffect(()=>()=>{no.current&&=(clearTimeout(no.current),null)},[]);let Ol=Tr?(0,$.jsxs)(`div`,{"data-composer-action":`true`,className:`composer-mobile-model-controls flex min-w-0 flex-1 items-center justify-end gap-x-1.5`,children:[(0,$.jsx)(cb,{onOpenAgentPanel:us,onCycleAgent:()=>{He(),Rs()},agentName:Tn.selection.value.agent,agents:br,disabled:wr}),(0,$.jsx)(lb,{onOpenModel:()=>Fo(`model`),providerID:Tn.selection.value.providerID,modelID:Tn.selection.value.modelID,provider:xr.find(e=>e.id===Tn.selection.value.providerID),variant:Tn.selection.value.variant})]}):null,kl=(0,$.jsxs)(`div`,{className:`oc-mobile-composer-attachment-content relative z-10 flex flex-wrap items-center gap-1 px-3 pt-1`,children:[(0,$.jsx)(Fu,{attachments:kn,onShowPopup:kr,onRemoveAttachedFile:Xs}),Tn.kind===`primary`?(0,$.jsx)(zu,{attachedFiles:kn,onAddVSCodeFile:(e,t,n)=>{In&&$i(In,()=>_n.getState()).addVSCodeFile(e,t,n)},onAddVSCodeSelection:(e,t)=>{if(In)return $i(In,()=>_n.getState()).addVSCodeSelection(e,t)}}):null]}),Al=Ja?.map((e,t)=>(0,$.jsx)(`span`,{className:e.className,children:e.visual?(0,$.jsx)(z_,{visual:e.visual,text:e.text}):e.text},`${t}-${e.text.length}`)),jl=Tr?(0,$.jsxs)(`div`,{className:Y(`oc-mobile-composer-compact-chrome`,Wo&&`oc-mobile-composer-compact-chrome--aborting`,a&&o&&`oc-mobile-composer-compact-chrome--with-scroll`),children:[(0,$.jsx)(`div`,{"data-mobile-composer-compact-slot":`attach`,"data-composer-action":`true`,className:`composer-mobile-actions flex shrink-0 items-center`,children:(0,$.jsx)(fb,{isVSCode:Lc,footerIconButtonClass:El,iconSizeClass:wl,handlePickLocalFiles:Ac,handlePickLocalImages:jc,openIssuePicker:ds,openPrPicker:fs,onOpenMobileSheet:ul,onOpenAndroidPickSheet:Pc()?dl:void 0})}),(0,$.jsxs)(`div`,{"data-mobile-composer-compact-slot":`trailing`,className:`ml-auto flex shrink-0 items-center justify-end gap-x-1`,children:[a&&o?(0,$.jsx)(`div`,{"data-composer-action":`true`,className:`flex shrink-0 items-center`,children:(0,$.jsx)(Nh,{placement:`compact`,visible:a,onClick:o})}):null,Wo?(0,$.jsx)(`div`,{"data-mobile-composer-compact-slot":`action`,"data-composer-action":`true`,className:`flex shrink-0 items-center justify-end`,children:(0,$.jsx)(mb,{isMobile:!0,footerIconButtonClass:El,stopFooterIconButtonClass:Dl,sendIconSizeClass:Sl,stopIconSizeClass:Cl,canSend:Vo,canAbort:!0,hasContent:!1,currentSessionId:An,newSessionDraftOpen:Nn,draftSubmitting:jn,submissionBlocked:l,sendPhase:Zo,queueFrozen:Bo,queueFallbackAvailable:Wo||Uo,onPrimaryAction:ms,onAbort:Fs})}):null]})]}):null,Ml=Tr?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`div`,{className:`oc-mobile-composer-full-chrome flex w-full min-w-0 items-center gap-x-1.5`,"data-composer-action":`true`,children:[(0,$.jsxs)(`div`,{className:`composer-mobile-actions flex shrink-0 items-center gap-x-2 pl-1`,children:[(0,$.jsx)(fb,{isVSCode:Lc,footerIconButtonClass:El,iconSizeClass:wl,handlePickLocalFiles:Ac,handlePickLocalImages:jc,openIssuePicker:ds,openPrPicker:fs,onOpenSettings:e,onOpenMobileSheet:ul,onOpenAndroidPickSheet:Pc()?dl:void 0}),nr?(0,$.jsx)(pb,{sessionId:An,draftOpen:Nn,draftEnabled:Ot.permissionAutoAcceptEnabled===!0,enabled:Xn,saving:An?Bt:!1,footerIconButtonClass:El,iconSizeClass:wl,onSetDraftEnabled:Lt,onSetSessionEnabled:Ht,onOpenSessionFirst:Ft,onToggleFailed:or}):null,(0,$.jsx)(dv,{sessionId:An,directory:ft??Fn,draftOpen:Nn}),(0,$.jsx)(fv,{length:Jr.length})]}),Ol,(0,$.jsx)(`div`,{className:`relative z-30 flex shrink-0 items-center justify-end gap-x-1.5`,children:(0,$.jsx)(mb,{isMobile:Tr,footerIconButtonClass:El,stopFooterIconButtonClass:Dl,sendIconSizeClass:Sl,stopIconSizeClass:Cl,canSend:Vo,canAbort:Wo,hasContent:!!Ro,currentSessionId:An,newSessionDraftOpen:Nn,draftSubmitting:jn,submissionBlocked:l,sendPhase:Zo,queueFrozen:Bo,queueFallbackAvailable:Wo||Uo,onPrimaryAction:ms,onAbort:Fs})})]})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:Y(`flex flex-shrink-0 items-center`,Ic),children:[(0,$.jsx)(fb,{isVSCode:Lc,footerIconButtonClass:El,iconSizeClass:wl,handlePickLocalFiles:Ac,handlePickLocalImages:jc,openIssuePicker:ds,openPrPicker:fs,onOpenSettings:e,withTooltip:!0}),nr?(0,$.jsx)(pb,{sessionId:An,draftOpen:Nn,draftEnabled:Ot.permissionAutoAcceptEnabled===!0,enabled:Xn,saving:An?Bt:!1,footerIconButtonClass:El,iconSizeClass:wl,onSetDraftEnabled:Lt,onSetSessionEnabled:Ht,onOpenSessionFirst:Ft,onToggleFailed:or}):null,(0,$.jsx)(dv,{sessionId:An,directory:ft??Fn,draftOpen:Nn}),(0,$.jsx)(fv,{length:Jr.length})]}),(0,$.jsxs)(`div`,{className:Y(`relative z-30 flex flex-1 items-center justify-end md:gap-x-1.5`,Ic),children:[(0,$.jsx)(ob,{className:`min-w-0 flex-1 justify-end`,composerTextareaRef:ui,selectionAdapter:ur}),(0,$.jsx)(sb,{radius:ha,isMobile:Tr,footerIconButtonClass:El,footerPaddingClass:yl,iconSizeClass:wl,sendIconSizeClass:Sl,onInsert:gs,onInsertAndSend:_s,onContentHeightChange:Ws,renderTrigger:!1,topAccessory:(0,$.jsx)(`span`,{"data-oc-composer-dictation-active":`true`,className:`hidden`,"aria-hidden":`true`})}),(0,$.jsx)(mb,{isMobile:Tr,footerIconButtonClass:El,stopFooterIconButtonClass:Dl,sendIconSizeClass:Sl,stopIconSizeClass:Cl,canSend:Vo,canAbort:Wo,hasContent:!!Ro,currentSessionId:An,newSessionDraftOpen:Nn,draftSubmitting:jn,submissionBlocked:l,sendPhase:Zo,queueFrozen:Bo,queueFallbackAvailable:Wo||Uo,onPrimaryAction:ms,onAbort:Fs})]})]}),Nl=q(()=>{if(Tr){gl.current=Date.now()+600;let e=()=>{ui.current?.focus({preventScroll:Le()}),document.activeElement===ui.current&&he(!0)};e(),window.requestAnimationFrame(e);return}let e=()=>{if(!Xp(ui))return;let e=Yp(ui);if(!e)return;let t=e.value.length;try{e.setSelectionRange(t,t)}catch{}};e(),window.requestAnimationFrame(()=>{e(),window.setTimeout(e,0)})}),Pl=ft??Fn,{goal:Fl,enabled:Il}=av(An??``,Pl),Ll=(0,$.jsx)(Lf,{onEditMessage:cs,onSendMessage:ls,onEditCommitted:Nl,draftKey:In,scope:po,draftTarget:In?{key:In,expectedRevision:()=>Dn.getDraft(In)?.revision??`absent`}:null,clientPendingItems:ns,onRemoveClientPending:e=>{let t=Cn.getState().removeEstablishingFollowUp(e);t&&(t.content&&Yr(t.content),t.attachments.length>0&&Dn.restoreAttachments(t.attachments))},trailing:An&&Il&&Fl?(0,$.jsx)(uv,{sessionId:An,directory:Pl}):null});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`form`,{ref:vl,onSubmit:e=>{e.preventDefault(),ms()},onPointerDownCapture:e=>{if(!Tr)return;let t=e.target;t instanceof Element&&(t.closest(`textarea[data-chat-input="true"]`)||t.closest(`[data-chat-prompt-attachments="true"]`)||t.closest(`button, [role="button"], a, label, input, select, [data-composer-action="true"], [data-chat-input-footer="true"]`)&&(He(),e.preventDefault()))},className:Y(`relative w-full pt-0 pb-4`,ua&&`flex h-full min-h-0 flex-col pt-4`,fa&&`flex h-full min-h-0 flex-col pt-1`,Tr&&`bottom-safe-area oc-mobile-composer`),style:Tr&&Le()&&Fr>0&&!me?{marginBottom:`${Fr}px`}:void 0,children:[Pn&&!ua&&!Tr&&!Lc&&!rl?(0,$.jsx)(`div`,{className:`chat-input-column mb-7 text-center`,children:(0,$.jsx)(`h1`,{className:`text-balance text-2xl font-normal tracking-tight text-foreground md:text-3xl`,children:ab(Vc?f(`chat.emptyState.draftTitleWithProject`,{project:Vc}):f(`chat.emptyState.draftTitle`),Vc)})}):null,(0,$.jsxs)(`div`,{className:Y(`chat-input-column relative overflow-visible`,pa&&`flex flex-1 min-h-0 flex-col`),children:[(0,$.jsx)(Iu,{attachments:kn,onShowPopup:kr,onRemoveAttachedFile:Xs}),(0,$.jsx)(tp,{}),wo&&(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 pb-2`,children:[Do>0?(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 rounded-xl border px-2.5 py-1`,style:{backgroundColor:Xi?.colors?.surface?.elevated,borderColor:Xi?.colors?.interactive?.border},children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:f(`chat.chatInput.reviewComments`)}),(0,$.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:Xi?.colors?.status?.info},children:Do}),(0,$.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,style:{minHeight:0,minWidth:0},onClick:Ao,"aria-label":f(`chat.chatInput.reviewCommentsRemove`),title:f(`chat.chatInput.reviewCommentsRemove`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`})})]}):null,To>0?(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 rounded-xl border px-2.5 py-1`,style:{backgroundColor:Xi?.colors?.surface?.elevated,borderColor:Xi?.colors?.interactive?.border},children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:f(`chat.chatInput.devServerLogs`)}),(0,$.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:Xi?.colors?.status?.info},children:To}),(0,$.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,style:{minHeight:0,minWidth:0},onClick:()=>Oo(`preview-console`),"aria-label":f(`chat.chatInput.devServerLogsRemove`),title:f(`chat.chatInput.devServerLogsRemove`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`})})]}):null,Eo>0?(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 rounded-xl border px-2.5 py-1`,style:{backgroundColor:Xi?.colors?.surface?.elevated,borderColor:Xi?.colors?.interactive?.border},children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:f(`chat.chatInput.previewAnnotations`)}),(0,$.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:Xi?.colors?.status?.info},children:Eo}),(0,$.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,style:{minHeight:0,minWidth:0},onClick:()=>Oo(`preview-annotation`),"aria-label":f(`chat.chatInput.previewContextRemove`),title:f(`chat.chatInput.previewContextRemove`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`})})]}):null]}),so&&!Lc&&(0,$.jsx)(`div`,{className:`pb-2 w-full px-1`,children:(0,$.jsxs)(`div`,{className:`flex w-full items-center gap-1.5 text-sm h-5 px-1`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>io(!0),className:`flex min-w-0 flex-1 items-center gap-1.5 text-left hover:opacity-80 transition-opacity`,children:[so.author?.avatarUrl&&(0,$.jsx)(`img`,{src:so.author.avatarUrl,alt:so.author.login,className:`h-5 w-5 rounded-full flex-shrink-0`}),(0,$.jsxs)(`span`,{className:`text-muted-foreground flex-shrink-0`,children:[`#`,so.number,so.author&&(0,$.jsx)(`span`,{className:`ml-1`,children:f(`chat.chatInput.linked.byAuthor`,{author:so.author.login})})]}),(0,$.jsx)(`span`,{className:`text-foreground truncate`,children:so.title})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 flex-shrink-0`,children:[(0,$.jsx)(`a`,{href:so.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":f(`chat.chatInput.linked.issue.openInBrowserAria`),children:(0,$.jsx)(X,{name:`external-link`,className:`h-4 w-4 text-muted-foreground`})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{co(null)},className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":f(`chat.chatInput.linked.issue.removeAria`),title:f(`chat.chatInput.linked.issue.removeAria`),children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4 text-muted-foreground`})})]})]})}),lo&&!Lc&&(0,$.jsx)(`div`,{className:`pb-2 w-full px-1`,children:(0,$.jsxs)(`div`,{className:`flex w-full items-center gap-1.5 text-sm h-5 px-1`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>oo(!0),className:`flex min-w-0 flex-1 items-center gap-1.5 text-left hover:opacity-80 transition-opacity`,children:[lo.author?.avatarUrl&&(0,$.jsx)(`img`,{src:lo.author.avatarUrl,alt:lo.author.login,className:`h-5 w-5 rounded-full flex-shrink-0`}),(0,$.jsxs)(`span`,{className:`text-muted-foreground flex-shrink-0`,children:[f(`chat.chatInput.linked.pr.number`,{number:lo.number}),lo.author&&(0,$.jsx)(`span`,{className:`ml-1`,children:f(`chat.chatInput.linked.byAuthor`,{author:lo.author.login})})]}),(0,$.jsx)(`span`,{className:`text-foreground truncate`,children:lo.title}),(0,$.jsxs)(`span`,{className:`text-muted-foreground flex-shrink-0 typography-meta`,children:[lo.head,` → `,lo.base]})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 flex-shrink-0`,children:[(0,$.jsx)(`a`,{href:lo.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":f(`chat.chatInput.linked.pr.openInBrowserAria`),children:(0,$.jsx)(X,{name:`external-link`,className:`h-4 w-4 text-muted-foreground`})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{uo(null)},className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":f(`chat.chatInput.linked.pr.removeAria`),title:f(`chat.chatInput.linked.pr.removeAria`),children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4 text-muted-foreground`})})]})]})}),(0,$.jsx)(db,{sessionId:An,directory:ft??Fn}),(0,$.jsxs)(`div`,{className:Tr?`relative oc-mobile-composer-stack`:`contents`,children:[(0,$.jsxs)(`div`,{className:Tr?`oc-mobile-composer-expanded-layer`:`contents`,children:[(0,$.jsxs)(`div`,{className:Tr?`oc-mobile-composer-reveal`:`contents`,children:[(0,$.jsx)(ub,{showAbortStatus:ia,showAssistantStatus:!1,showTodos:!0,leftAccessory:Nn||!il?null:(0,$.jsx)(jh,{})}),!Tr&&Rc?(0,$.jsxs)(`div`,{className:`mb-1.5 flex min-w-0 items-center gap-1.5 px-0.5`,children:[zc?(0,$.jsxs)(Ta,{value:zc.id,open:Pe,onValueChange:sl,onOpenChange:e=>{Fe(e),e||Ne(``)},children:[(0,$.jsx)(Ia,{asChild:!0,size:`sm`,children:(0,$.jsxs)(`button`,{type:`button`,className:Y(`group relative inline-flex h-6 min-w-0 w-fit max-w-[42vw] items-center rounded-lg !border-0 px-1.5 py-1 pr-1.5 typography-micro font-medium text-foreground/80 transition-[padding] hover:pr-5 focus-visible:pr-5 data-[popup-open]:pr-5 sm:max-w-[18rem]`,jp),children:[(0,$.jsx)(ya,{children:ll(zc)}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`pointer-events-none absolute right-1 size-3.5 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100 group-data-[popup-open]:opacity-100`,"aria-hidden":`true`})]})}),(0,$.jsxs)(wa,{fitContent:!0,children:[(0,$.jsx)(La,{autoFocus:!0,value:Me,onChange:e=>Ne(e.target.value),onKeyDown:e=>e.stopPropagation(),placeholder:f(`chat.chatInput.draftPicker.searchProjects`),className:`mb-1 h-8 min-w-56`}),Bn.filter(e=>Fa(ib(e),Me)||Fa(e.path,Me)).map(e=>(0,$.jsx)(Pa,{value:e.id,className:`max-w-[24rem] truncate`,children:ll(e)},e.id)),(0,$.jsx)(Sa,{}),(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-left typography-ui-label text-foreground hover:bg-interactive-hover`,onPointerDown:e=>{e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),Fe(!1),requestAnimationFrame(()=>Ur.requestDirectoryDialog())},children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:f(`chat.chatInput.draftPicker.newProject`)})]})]})]}):(0,$.jsxs)(`button`,{type:`button`,className:Y(`inline-flex h-auto min-h-6 cursor-pointer items-center gap-1.5 rounded-lg px-2.5 py-1 typography-micro font-medium text-foreground/80`,jp),onClick:()=>Ur.requestDirectoryDialog(),children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:f(`chat.chatInput.draftPicker.newProject`)})]}),zc&&ol?(0,$.jsx)(y_,{directory:$c,projectDirectory:Bc,label:nl,projectRootOption:Zc,worktreeOptions:Qc,onSelectDirectory:cl}):null]}):null,Tr&&Rc?(0,$.jsxs)(`div`,{className:`oc-mobile-draft-target-selectors mb-1.5 flex min-w-0 items-center gap-1.5 px-0.5`,children:[zc?(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex h-[1.625rem] min-w-0 max-w-[46%] shrink items-center gap-1.5 rounded-lg px-1.5 text-[11px] leading-none font-medium text-foreground/80`,jp),onClick:()=>Se(`project`),children:ll(zc)}):(0,$.jsxs)(`button`,{type:`button`,className:Y(`inline-flex h-[1.625rem] min-w-0 max-w-[46%] items-center gap-1.5 rounded-lg px-1.5 text-[11px] leading-none font-medium text-foreground/80`,jp),onClick:()=>Ur.requestDirectoryDialog(),children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:f(`chat.chatInput.draftPicker.newProject`)})]}),zc&&ol?(0,$.jsx)(y_,{directory:$c,projectDirectory:Bc,label:nl,projectRootOption:Zc,worktreeOptions:Qc,onSelectDirectory:cl,maxWidthClassName:`max-w-[50%]`,presentation:`mobile-sheet`}):null]}):null,Ll]}),(0,$.jsx)(`div`,{className:Y(!Tr&&`contents`,Tr&&`contents`,fa&&`flex min-h-0 flex-1 flex-col`),children:(0,$.jsxs)(`div`,{className:Tr?`oc-mobile-composer-motion-viewport`:`contents`,children:[(0,$.jsxs)(Zg,{value:Jr,attachments:[],disabled:!An&&!Nn||jn&&!Zo.establishing,pending:Wo||Zo.inFlight&&!Zo.establishing,isMobile:Tr,onSubmit:ms,"data-mobile-composer-surface":Tr?`true`:void 0,"data-session-swipe-surface":Tr?`true`:void 0,expanded:pa,focusedTone:h===`shell`?`info`:`primary`,className:Y(`relative z-10`,y&&`ring-2 ring-primary ring-offset-2`,Nr&&`ring-1 ring-[var(--interactive-selection)] border-[var(--interactive-selection)]`,Tr&&`oc-mobile-composer-surface`),style:{borderRadius:ha},ref:hi,onDropCapture:wc,onDragEnter:bc,onDragOver:xc,onDragLeave:Q,onDrop:Cc,onDragEnd:Sc,autoResize:!1,disableInputWhilePending:!1,contentClassName:pa?`flex-1 min-h-0`:void 0,inputHeader:void 0,attachmentContent:kl,highlightedContent:Al,highlightRef:oa,inputRef:ui,textLayoutClassName:Y(Ly,pa?Y(`h-full min-h-0`,Tr?`py-2.5`:`py-4`):Tr?`py-2.5`:`pt-4 pb-2`,h===`shell`?`font-mono`:`typography-markdown md:typography-ui-label`),inputOuterClassName:Y(pa&&`flex-1 min-h-0`),inputStyle:{flex:pa?`1 1 auto`:`none`,height:!pa&&se?`${se.height}px`:void 0,maxHeight:!pa&&se?`${se.maxHeight}px`:void 0,"--oc-composer-textarea-resting-height":pa?`100%`:se?`${se.height}px`:`auto`,"--oc-composer-textarea-resting-max-height":!pa&&se?`${se.maxHeight}px`:`none`,borderTopLeftRadius:ha,borderTopRightRadius:ha},footerClassName:Y(`z-30 bg-transparent flex-shrink-0`,yl,Tr?`flex items-center gap-x-1.5`:Y(`flex items-center justify-between`,Ic)),footerStyle:{borderBottomLeftRadius:ha,borderBottomRightRadius:ha},footerContent:Ml,placeholder:_a,onChange:(e,t)=>nc(t),textareaProps:{readOnly:Nr,onCompositionStart:()=>{di.current=!0},onCompositionEnd:e=>{di.current=!1;let t=e.currentTarget;qs(t.value,t.selectionStart??t.value.length,t.selectionEnd??t.selectionStart??t.value.length)},onBeforeInput:tc,onKeyDown:Ts,onCopy:oc,onCut:sc,onPaste:ic,onDragEnter:bc,onDragOver:xc,onDropCapture:wc,onDrop:Cc,onDragEnd:Sc,onKeyUp:Ms,onClick:()=>{Ms()},onScroll:e=>{Ms();let t=e.currentTarget.scrollTop;oa.current&&(oa.current.style.transform=`translateY(-${t}px)`)},onSelect:e=>{let t=e.currentTarget,n=t.selectionStart??0,r=t.selectionEnd??n;if(di.current){fi.current=r;return}let i=I_(n,r,[...Re(Jr,kn.filter(Oe).map(e=>e.filename)),...F_(Jr,Ra.keys()),...qr.references]);i&&(i.start!==n||i.end!==r)?(t.setSelectionRange(i.start,i.end),fi.current=i.end):fi.current=n,Ms()},onFocus:()=>{if(Tr){if(Date.now()<Ve.current){let e=ui.current;e&&e.blur();return}ge.current!==null&&(window.clearTimeout(ge.current),ge.current=null),he(!0)}},onBlur:e=>{if(di.current=!1,fi.current=e.currentTarget.selectionStart??fi.current,_l(),Tr){if(Date.now()<gl.current){let e=ui.current;if(e){e.focus(),window.setTimeout(()=>{Date.now()<gl.current&&document.activeElement!==e&&e.focus()},50);return}}if(Ue.current=Date.now(),Le()){he(!1);return}ge.current!==null&&window.clearTimeout(ge.current),ge.current=window.setTimeout(()=>{ge.current=null,he(!1)},120)}},autoCorrect:Tr?`on`:`off`,autoCapitalize:Tr?`sentences`:`off`,spellCheck:Tr||Lr,fillContainer:pa,rows:1},children:[(0,$.jsx)(Am,{}),y&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-50 flex items-center justify-center bg-background/90`,style:{borderRadius:ha},children:(0,$.jsxs)(`div`,{className:`text-center`,children:[(0,$.jsx)(`div`,{className:`inline-flex justify-center`,children:(0,$.jsx)(`button`,{type:`button`,className:Tl,onClick:()=>Ac(),title:f(`chat.chatInput.actions.attachFiles`),"aria-label":f(`chat.chatInput.actions.attachFiles`),children:(0,$.jsx)(X,{name:`attachment-2`,className:Y(wl,`text-current`)})})}),(0,$.jsx)(`p`,{className:`mt-2 typography-ui-label text-muted-foreground`,children:f(T?`chat.chatInput.drop.insertMention`:`chat.chatInput.drop.attachFiles`)})]})}),M&&(0,$.jsx)(bs,{ref:Ai,searchQuery:P,directory:Fn,onCommandSelect:mc,onClose:()=>N(!1),commandPolicy:e=>tm(Tn,e),commandContext:Ln,style:ua&&Xa?{left:`${Xa.left}px`,top:`${Xa.top}px`,bottom:`auto`,width:`min(450px, calc(100% - ${Xa.left+8}px))`,maxHeight:`${Xa.maxHeight}px`,transform:Xa.place===`above`?`translateY(-100%)`:void 0}:void 0}),R&&(0,$.jsx)(op,{ref:ji,searchQuery:V,directory:Fn,onSkillSelect:fc,onClose:()=>z(!1),style:ua&&Xa?{left:`${Xa.left}px`,top:`${Xa.top}px`,bottom:`auto`,width:`min(360px, calc(100% - ${Xa.left+8}px))`,maxHeight:`${Xa.maxHeight}px`,transform:Xa.place===`above`?`translateY(-100%)`:void 0}:void 0}),te&&(0,$.jsx)(ws,{ref:Ni,searchQuery:ae,onSnippetSelect:pc,onClose:()=>ne(!1),style:ua&&Xa?{left:`${Xa.left}px`,top:`${Xa.top}px`,bottom:`auto`,width:`min(450px, calc(100% - ${Xa.left+8}px))`,maxHeight:`${Xa.maxHeight}px`,transform:Xa.place===`above`?`translateY(-100%)`:void 0}:void 0}),D&&(0,$.jsx)(js,{ref:Ei,searchQuery:k,onFileSelect:cc,onAgentSelect:lc,onSessionSelect:uc,onClose:()=>O(!1),style:ua&&Xa?{left:`${Xa.left}px`,top:`${Xa.top}px`,bottom:`auto`,width:`min(520px, calc(100% - ${Xa.left+8}px))`,maxHeight:`${Xa.maxHeight}px`,transform:Xa.place===`above`?`translateY(-100%)`:void 0}:void 0})]}),Tr?(0,$.jsx)(sb,{radius:ha,isMobile:Tr,footerIconButtonClass:El,footerPaddingClass:yl,iconSizeClass:wl,sendIconSizeClass:Sl,onInsert:gs,onInsertAndSend:_s,onContentHeightChange:Ws,renderTrigger:!1,topAccessory:(0,$.jsx)(`span`,{"data-oc-composer-dictation-active":`true`,className:`hidden`,"aria-hidden":`true`})}):null]})})]}),Tr?(0,$.jsxs)(`div`,{className:`oc-mobile-composer-compact-layer`,"data-oc-composer-compact-surface":`true`,children:[jl,(0,$.jsx)(`div`,{className:Y(`oc-mobile-composer-compact-preview`,!Jr.trim()&&`oc-mobile-composer-compact-preview--placeholder`),"aria-hidden":`true`,children:Jr.trim()?Jr:va})]}):null]}),Tr?(0,$.jsx)(ob,{className:`hidden`,composerTextareaRef:ui,selectionAdapter:ur,mobilePanel:ue,onMobilePanelChange:de}):null]}),Nn&&!ua&&!Tr&&!Lc&&!rl?(0,$.jsx)(Wg,{onSubmit:hs,className:`chat-input-column mt-4`}):null]}),p.open?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Ry,{popup:p,onOpenChange:jr,isMobile:Tr})}):null,(0,$.jsx)(xg,{open:ro,onOpenChange:io,mode:`select`,onSelect:e=>{co(e),uo(null)}}),(0,$.jsx)(wg,{open:ao,onOpenChange:oo,onSelect:e=>{uo(e),co(null)}}),(0,$.jsx)(cu,{open:Gn,onOpenChange:Kn,projectDirectory:ft??Fn??null,submitting:Jn,onConfirm:la}),(0,$.jsx)(`input`,{ref:Tc,type:`file`,multiple:!0,className:`hidden`,onChange:Nc,accept:`*/*`}),(0,$.jsx)(`input`,{ref:Ec,type:`file`,multiple:!0,className:`hidden`,onChange:Nc,accept:`image/*`}),null,Tr?(0,$.jsx)(to,{id:`android-media-pick-sheet`,open:ye,onOpenChange:e=>{e||be(!1)},title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:f(`chat.chatInput.actions.addAttachment`)}),ariaLabel:f(`chat.chatInput.actions.addAttachment`),closeAriaLabel:f(`mobile.surface.closeAria`),resizeAriaLabel:f(`mobile.sessions.sheet.resizeAria`),fitContent:!0,children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-1 overflow-y-auto overscroll-contain px-2 pb-2`,children:[(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`lg`,className:`min-h-12 w-full justify-start gap-3 rounded-lg px-4`,onClick:()=>{We.current=!1,be(!1),requestAnimationFrame(Mc)},children:[(0,$.jsx)(X,{name:`file-image`,className:`size-5 flex-shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate`,children:f(`chat.chatInput.actions.attachPhotos`)})]}),(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`lg`,className:`min-h-12 w-full justify-start gap-3 rounded-lg px-4`,onClick:()=>{We.current=!1,be(!1),requestAnimationFrame(Ac)},children:[(0,$.jsx)(X,{name:`attachment-2`,className:`size-5 flex-shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate`,children:f(`chat.chatInput.actions.attachFiles`)})]})]})}):null,Tr&&Rc&&zc?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(to,{id:`mobile-draft-project-picker-sheet-${Ce}`,open:xe===`project`,onOpenChange:e=>{e||Se(null)},ariaLabel:f(`chat.chatInput.draftPicker.projectTitle`),closeAriaLabel:f(`mobile.surface.closeAria`),resizeAriaLabel:f(`mobile.sessions.sheet.resizeAria`),children:[(0,$.jsx)(`div`,{className:`shrink-0 px-3 pb-2 pt-1`,"data-mobile-sheet-no-dismiss":``,children:(0,$.jsx)(La,{value:De,onChange:e=>Ae(e.target.value),placeholder:f(`chat.chatInput.draftPicker.searchProjects`),className:`h-9`})}),(0,$.jsx)(ma,{outerClassName:`min-h-0 flex-1`,disableHorizontal:!0,children:(0,$.jsx)(`div`,{className:`flex flex-col px-3 pb-2`,children:Bn.filter(e=>Fa(ib(e),De)||Fa(e.path,De)).map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-2.5 text-left typography-ui-label hover:bg-[var(--interactive-hover)]`,onClick:()=>{sl(e.id),Se(null)},children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1`,children:ll(e)}),e.id===zc.id?(0,$.jsx)(X,{name:`check`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}):null]},e.id))})}),(0,$.jsx)(`div`,{className:`shrink-0 px-3 pb-4 pt-1`,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2 rounded-lg border-t border-border/50 px-2 py-2.5 text-left typography-ui-label hover:bg-[var(--interactive-hover)]`,onClick:()=>{Se(null),Ur.requestDirectoryDialog()},children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:f(`chat.chatInput.draftPicker.newProject`)})]})})]})}):null]})},bb=e=>{let t=(0,Q.c)(3),n=rm(),r=e.surface??n;if(r&&!r.active)return null;let i=r??void 0,a;return t[0]!==e||t[1]!==i?(a=(0,$.jsx)(yb,{...e,surface:i}),t[0]=e,t[1]=i,t[2]=a):a=t[2],a};bb.displayName=`ChatInput`;var xb=Z.memo(bb);function Sb(e){return e.preventDefault()}function Cb(e){e.preventDefault()}function wb(e){return e.preventDefault()}function Tb(e){e.pointerType===`touch`&&e.preventDefault()}function Eb(e){e.preventDefault()}function Db(e){e.pointerType===`touch`&&e.preventDefault()}function Ob(){let e=(0,Q.c)(47),{t}=ot(),[n,r]=Z.useState(null),[i,a]=Z.useState(!1),o=Z.useRef(null),s=!!n,c,l;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>go(e=>{r(e),a(!1)}),l=[],e[0]=c,e[1]=l):(c=e[0],l=e[1]),Z.useEffect(c,l);let u;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=e=>{e||(r(null),a(!1))},e[2]=u):u=e[2];let d=q(u),f;e[3]===d?f=e[4]:(f=()=>(d(!1),!0),e[3]=d,e[4]=f);let p;e[5]!==s||e[6]!==f?(p={id:`image-save-actions`,active:s,layer:`overlay`,onBack:f,surfaceRef:o},e[5]=s,e[6]=f,e[7]=p):p=e[7],No(p);let m;e[8]!==i||e[9]!==t||e[10]!==n?(m=async()=>{if(!(!n||i)){a(!0);try{await uc(n),Ii.success(t(`chat.image.actions.saveSuccess`)),r(null)}catch(e){let n=e;if(n instanceof DOMException&&n.name===`AbortError`){a(!1);return}Ii.error(t(`chat.image.actions.saveFailed`)),a(!1);return}a(!1)}},e[8]=i,e[9]=t,e[10]=n,e[11]=m):m=e[11];let h=q(m);if(!n)return null;let g;e[12]!==t||e[13]!==n.filename?(g=n.filename?.trim()||t(`chat.image.actions.sheetTitle`),e[12]=t,e[13]=n.filename,e[14]=g):g=e[14];let _=g,v;e[15]===t?v=e[16]:(v=Le()?t(`chat.image.actions.saveToPhotos`):t(`chat.image.actions.saveImage`),e[15]=t,e[16]=v);let y=v,b;e[17]===_?b=e[18]:(b=(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:_}),e[17]=_,e[18]=b);let x;e[19]===t?x=e[20]:(x=t(`mobile.surface.closeAria`),e[19]=t,e[20]=x);let S;e[21]===t?S=e[22]:(S=t(`mobile.sessions.sheet.resizeAria`),e[21]=t,e[22]=S);let C;e[23]===h?C=e[24]:(C=()=>{h()},e[23]=h,e[24]=C);let w=i?`loader-4`:`download`,T=i?`size-5 animate-spin`:`size-5`,E;e[25]!==w||e[26]!==T?(E=(0,$.jsx)(X,{name:w,className:T}),e[25]=w,e[26]=T,e[27]=E):E=e[27];let D;e[28]!==y||e[29]!==i||e[30]!==t?(D=i?t(`chat.image.actions.saving`):y,e[28]=y,e[29]=i,e[30]=t,e[31]=D):D=e[31];let O;e[32]===D?O=e[33]:(O=(0,$.jsx)(`span`,{className:`truncate`,children:D}),e[32]=D,e[33]=O);let k;e[34]!==i||e[35]!==C||e[36]!==E||e[37]!==O?(k=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-1 overflow-y-auto overscroll-contain px-2 pb-2`,children:(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`lg`,className:`min-h-12 w-full justify-start gap-3 rounded-lg px-4`,disabled:i,onClick:C,children:[E,O]})}),e[34]=i,e[35]=C,e[36]=E,e[37]=O,e[38]=k):k=e[38];let A;return e[39]!==d||e[40]!==s||e[41]!==S||e[42]!==k||e[43]!==b||e[44]!==x||e[45]!==_?(A=(0,$.jsx)(`div`,{ref:o,children:(0,$.jsx)(to,{id:`image-save-actions-sheet`,open:s,onOpenChange:d,title:b,ariaLabel:_,closeAriaLabel:x,resizeAriaLabel:S,fitContent:!0,children:k})}),e[39]=d,e[40]=s,e[41]=S,e[42]=k,e[43]=b,e[44]=x,e[45]=_,e[46]=A):A=e[46],A}var kb=(e,t)=>{if(t.length===0)return e;let n=new Map(t.map(e=>[e.info.id,e])),r=!1,i=e.map(e=>{if(Bi(e.parts))return e;let t=n.get(e.info.id);return t?(r=!0,t):e}),a=r?i:e,o=new Set(e.map(e=>e.info.id)),s=t.filter(e=>!o.has(e.info.id));return s.length===0?a:[...a,...s]},Ab=(e,t)=>{if(e.length===0)return!1;let n;for(let t of e){let e=t.info.time?.created;typeof e==`number`&&(n===void 0||e>n)&&(n=e)}return!t.resolvedSessionStatus||typeof t.sessionStatusObservedAt!=`number`||typeof n!=`number`||n>t.sessionStatusObservedAt},jb=e=>{let t=e.boundary.kind===`exhausted`,n=e.boundary.kind===`has-more`,r=t&&!e.assistantComplete,i=n||r;return{complete:t&&e.assistantComplete,canLoadEarlier:i}},Mb=e=>e.syncLoading||e.assistantLoading,Nb=e=>e.isMobile&&(e.canLoadEarlier||e.isLoadingOlder),Pb=e=>e.isLoadingOlder,Fb=e=>!e.isMobile&&e.isLoadingOlder,Ib=e=>e.transcriptMessageCount>0||e.pendingUserCount>0||e.historyPrefixCount>0,Lb=e=>e.p0Satisfied||e.hasBusyShell||e.hasImmediateShell||e.hasPaintedTranscript?`pass`:e.prefetchStatus===`loading`||e.syncLoading||e.userRetrying?`hydrating`:e.prefetchStatus===`error`?`load-error`:e.hasRenderableSessionSnapshot?`pass`:`hydrating`,Rb=e=>{let{sessionId:t,messages:n,retained:r}=e;return t?n.length>0?{messages:n,retained:{sessionId:t,messages:n}}:r?.sessionId===t?{messages:r.messages,retained:r}:{messages:n,retained:null}:{messages:n,retained:null}},zb=e=>({newSessionDraft:e?.features?.newSessionDraft??!e,promptNavigator:e?.features?.promptNavigator??!e,returnToParent:e?.features?.returnToParent??!e}),Bb=`text-[13px] leading-4 sm:text-[length:var(--text-micro)] sm:leading-5`,Vb=`relative bottom-safe-area oc-mobile-readonly-prompt-foot`,Hb=e=>{let t=(0,Q.c)(8),{providerId:n,modelId:r,label:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(X,{name:`brain-ai-3`,className:`size-3.5`}),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=(0,$.jsx)(`span`,{role:`img`,"aria-label":i,className:`inline-flex size-3.5 shrink-0 items-center justify-center`,children:a}),t[1]=i,t[2]=o);let s;return t[3]!==i||t[4]!==r||t[5]!==n||t[6]!==o?(s=(0,$.jsx)(Oa,{modelId:r,providerId:n,alt:i,className:`size-3.5 shrink-0`,fallback:o}),t[3]=i,t[4]=r,t[5]=n,t[6]=o,t[7]=s):s=t[7],s},Ub=e=>{let t=(0,Q.c)(42),{t:n}=ot(),r=c(Wb),i=`agentName`in e||`providerId`in e||`modelId`in e||`modelName`in e;if(!i){let e=r&&Vb,i;t[0]===e?i=t[1]:(i=Y(`p-3`,e),t[0]=e,t[1]=i);let a;t[2]===n?a=t[3]:(a=n(`chat.container.readOnlySubagentPromptBanner`),t[2]=n,t[3]=a);let o;t[4]===a?o=t[5]:(o=(0,$.jsx)(`div`,{className:`rounded-2xl border border-border/70 bg-[var(--surface-background)] px-4 py-3 text-muted-foreground ${Bb}`,children:a}),t[4]=a,t[5]=o);let s;return t[6]!==i||t[7]!==o?(s=(0,$.jsx)(`div`,{className:i,children:o}),t[6]=i,t[7]=o,t[8]=s):s=t[8],s}let a;t[9]===n?a=t[10]:(a=n(`common.unavailable`),t[9]=n,t[10]=a);let o=a,s;t[11]!==e.agentName||t[12]!==o?(s=e.agentName?e.agentName.charAt(0).toUpperCase()+e.agentName.slice(1):o,t[11]=e.agentName,t[12]=o,t[13]=s):s=t[13];let l=s,u=e.modelName||o,d;t[14]===n?d=t[15]:(d=n(`chat.leaderKey.action.agent`),t[14]=n,t[15]=d);let f=`${d}: ${l}`,p;t[16]===n?p=t[17]:(p=n(`chat.leaderKey.action.model`),t[16]=n,t[17]=p);let m=`${p}: ${u}`,h=r&&Vb,g;t[18]===h?g=t[19]:(g=Y(`shrink-0 border-t border-border/70 bg-[var(--surface-background)] p-3`,h),t[18]=h,t[19]=g);let _=r&&`oc-mobile-readonly-prompt-surface`,v;t[20]===_?v=t[21]:(v=Y(`rounded-2xl border border-border/70 bg-[var(--surface-elevated)] px-3 py-2.5 sm:px-4 sm:py-3`,_),t[20]=_,t[21]=v);let y;t[22]===n?y=t[23]:(y=n(`chat.container.readOnlySubagentPromptBanner`),t[22]=n,t[23]=y);let b;t[24]===y?b=t[25]:(b=(0,$.jsx)(`div`,{className:`text-muted-foreground ${Bb}`,children:y}),t[24]=y,t[25]=b);let x;t[26]!==f||t[27]!==l||t[28]!==m||t[29]!==u||t[30]!==e.agentName||t[31]!==e.modelId||t[32]!==e.providerId||t[33]!==i?(x=i?(0,$.jsxs)(`div`,{"data-testid":`read-only-prompt-banner-meta`,className:`mt-1.5 flex min-w-0 items-center justify-between gap-3 border-t border-border/70 pt-1.5 text-[13px] leading-none sm:text-[length:var(--text-micro)]`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden`,children:[(0,$.jsx)(na,{name:e.agentName,size:14,label:f}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-foreground`,title:l,children:l})]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 max-w-[55%] items-center justify-end gap-1.5 overflow-hidden`,children:[(0,$.jsx)(Hb,{providerId:e.providerId,modelId:e.modelId,label:m}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-right text-foreground`,title:u,children:u})]})]}):null,t[26]=f,t[27]=l,t[28]=m,t[29]=u,t[30]=e.agentName,t[31]=e.modelId,t[32]=e.providerId,t[33]=i,t[34]=x):x=t[34];let S;t[35]!==x||t[36]!==v||t[37]!==b?(S=(0,$.jsxs)(`div`,{className:v,children:[b,x]}),t[35]=x,t[36]=v,t[37]=b,t[38]=S):S=t[38];let C;return t[39]!==S||t[40]!==g?(C=(0,$.jsx)(`aside`,{className:g,children:S}),t[39]=S,t[40]=g,t[41]=C):C=t[41],C};function Wb(e){return e.isMobile}var Gb=Z.memo(()=>{let e=(0,Q.c)(5),{t}=ot(),{currentTheme:n}=Va(),r=qi(Kb),i=n?.colors?.surface?.mutedForeground||`var(--muted-foreground)`,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Ua,{width:140,height:140,className:`opacity-20`}),e[0]=a):a=e[0];let o;return e[1]!==r||e[2]!==t||e[3]!==i?(o=(0,$.jsxs)(`div`,{className:`flex flex-col items-center justify-center min-h-full w-full gap-6`,children:[a,r?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 max-w-md text-center px-4`,children:[(0,$.jsx)(`span`,{className:`text-body-md font-medium text-destructive`,children:t(`chat.emptyState.opencodeUnreachable`)}),(0,$.jsx)(`span`,{className:`text-body-sm`,style:{color:i},children:r.message})]}):(0,$.jsx)(`span`,{className:`text-body-md`,style:{color:i},children:t(`chat.emptyState.startNewChat`)})]}),e[1]=r,e[2]=t,e[3]=i,e[4]=o):o=e[4],o});function Kb(e){return e.error}var qb=class e{static instance;sessionStartTimes=new Map;seenMessageIds=new Set;messageCreationTimes=new Map;constructor(){}static getInstance(){return e.instance||=new e,e.instance}recordSessionStart(e){this.sessionStartTimes.set(e,Date.now())}getSessionStartTime(e){return this.sessionStartTimes.get(e)}shouldAnimateMessage(e,t){if(e.role!==`assistant`||this.seenMessageIds.has(e.id))return!1;let n=this.sessionStartTimes.get(t);if(!n)return this.seenMessageIds.add(e.id),this.messageCreationTimes.set(e.id,e.time.created),!1;let r=e.time.created>n-5e3;return r||(this.seenMessageIds.add(e.id),this.messageCreationTimes.set(e.id,e.time.created)),r}clearSession(e){this.sessionStartTimes.delete(e)}hasSessionTiming(e){return this.sessionStartTimes.has(e)}hasBeenAnimated(e){return this.seenMessageIds.has(e)}markMessageAsAnimated(e,t){this.seenMessageIds.add(e),this.messageCreationTimes.set(e,t)}clearAll(){this.sessionStartTimes.clear(),this.seenMessageIds.clear(),this.messageCreationTimes.clear()}getDebugInfo(){return{sessionStartTimes:new Map(this.sessionStartTimes),seenMessageIds:new Set(this.seenMessageIds),messageCreationTimes:new Map(this.messageCreationTimes)}}},Jb=de(e=>({planModeEnabled:!1,setPlanModeEnabled:t=>e({planModeEnabled:t})})),Yb=e=>{if(!e?.trim())return null;let t=e.trim();return t.toLowerCase()==="default"?null:Xn(t)},Xb=Z.memo(e=>{let t=(0,Q.c)(31),{isUser:n,isMobile:r,providerID:i,modelID:a,agentName:o,modelName:s,variant:c}=e,l;t[0]!==r||t[1]!==n||t[2]!==c?(l=!n&&!r?Yb(c):null,t[0]=r,t[1]=n,t[2]=c,t[3]=l):l=t[3];let u=l,d=s||`Assistant`,f,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=Y(`mb-1.5`),p=Y(`flex items-center justify-between gap-2`),t[4]=f,t[5]=p):(f=t[4],p=t[5]);let m;t[6]!==o||t[7]!==n||t[8]!==a||t[9]!==i?(m=(0,$.jsx)(`div`,{className:`flex-shrink-0`,children:n?(0,$.jsx)(`div`,{className:`w-9 h-9 rounded-xl bg-primary/10 flex items-center justify-center`,children:(0,$.jsx)(X,{name:`user-3`,className:`h-4 w-4 text-primary`})}):(0,$.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,$.jsx)(Oa,{modelId:a,providerId:i,className:`h-4 w-4`,fallback:(0,$.jsx)(X,{name:`brain-ai-3`,className:`h-4 w-4`,style:{color:`var(${ta(o).var})`}})})})}),t[6]=o,t[7]=n,t[8]=a,t[9]=i,t[10]=m):m=t[10];let h=n?`text-primary`:`text-foreground`,g;t[11]===h?g=t[12]:(g=Y(`inline-flex min-w-0 items-center gap-1.5 font-semibold typography-ui-header tracking-tight leading-tight`,h),t[11]=h,t[12]=g);let _=n?`You`:d,v;t[13]===_?v=t[14]:(v=(0,$.jsx)(`span`,{className:`truncate`,children:_}),t[13]=_,t[14]=v);let y;t[15]===u?y=t[16]:(y=u?(0,$.jsx)(`span`,{className:`shrink-0 text-xs font-normal leading-tight text-muted-foreground`,children:u}):null,t[15]=u,t[16]=y);let b;t[17]!==g||t[18]!==v||t[19]!==y?(b=(0,$.jsxs)(`h3`,{className:g,children:[v,y]}),t[17]=g,t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;t[21]!==o||t[22]!==r||t[23]!==n?(x=!n&&o&&(0,$.jsxs)(`div`,{className:Y(`agent-badge inline-flex items-center gap-1 cursor-default rounded font-normal leading-tight`,r?`px-1 py-px text-[10px]`:`px-1.5 py-0.5 typography-micro`,ta(o).class),children:[(0,$.jsx)(na,{name:o,size:10}),(0,$.jsx)(`span`,{children:o.charAt(0).toUpperCase()+o.slice(1)})]}),t[21]=o,t[22]=r,t[23]=n,t[24]=x):x=t[24];let S;t[25]!==b||t[26]!==x?(S=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b,x]}),t[25]=b,t[26]=x,t[27]=S):S=t[27];let C;return t[28]!==S||t[29]!==m?(C=(0,$.jsx)(`div`,{className:f,children:(0,$.jsx)(`div`,{className:p,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[m,S]})})}),t[28]=S,t[29]=m,t[30]=C):C=t[30],C}),Zb=/(^|\s)\/([a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?)/g,Qb=/(```[\s\S]*?```|~~~[\s\S]*?~~~)/g,$b=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`),ex=(e,t)=>e.split(Qb).map((e,n)=>n%2==1?e:t(e)).join(``),tx=e=>ex(e,e=>e.replace(/ *\n/g,`
6538
+ `);Ii.error(f(`chat.chatInput.toast.someFilesSkipped`,{summary:e}))}let r=t.map(e=>{if(!e?.dataUrl)return null;try{let[t,n]=e.dataUrl.split(`,`),r=e.mimeType||t?.match(/data:(.*);base64/)?.[1]||`application/octet-stream`;if(!n)return null;let i=atob(n),a=new Uint8Array(i.length);for(let e=0;e<i.length;e++)a[e]=i.charCodeAt(e);let o=new Blob([a],{type:r});return new File([o],e.name||`file`,{type:r})}catch(e){return console.error(`Failed to decode VS Code picked file`,e),null}}).filter(Boolean);r.length>0&&(Dc(!1),await Oc(r),Dc())}catch(e){console.error(`VS Code file pick failed`,e),Ii.error(e instanceof Error?e.message:f(`chat.chatInput.toast.vscodePickFailed`))}},[Oc,Dc,f,Gi]),Ac=Z.useCallback(()=>{if(d()){kc();return}Tc.current?.click()},[kc]),jc=Z.useCallback(()=>{if(d()){kc();return}Ec.current?.click()},[kc]),Mc=Z.useCallback(async()=>{if(!Pc()){jc();return}try{let e=await Fc(20);if(e===null){jc();return}e.length>0&&(Dc(!1),await Oc(e),Dc())}catch(e){console.error(`Native photo pick failed`,e),Ii.error(f(`chat.chatInput.toast.attachFileFailed`))}},[Oc,Dc,jc,f]),Nc=Z.useCallback(async e=>{let t=e.target.files;!t||t.length===0||(Dc(!1),await Oc(t),e.target.value=``,Dc())},[Oc,Dc]),Ic=`gap-x-1.5 gap-y-0`,Lc=d(),Rc=Tn.kind===`primary`&&Pn&&!Lc,zc=Z.useMemo(()=>(Ot?.selectedProjectId?Bn.find(e=>e.id===Ot.selectedProjectId)??null:null)||(Hn?Bn.find(e=>e.id===Hn)??null:null)||(Bn[0]??null),[Hn,Ot?.selectedProjectId,Bn]),Bc=Z.useMemo(()=>rb(zc?.path??null),[zc?.path]),Vc=zc?ib(zc):null,Hc=Is(Bc),Uc=Es(e=>Bc?e.directories.get(Bc)?.lastBranchesFetch??0:0),Wc=Hs(Bc),Gc=!!Hc?.all,Kc=Es(e=>e.fetchBranches),[qc,Jc]=Z.useState(!1);Z.useEffect(()=>{!Rc||!Bc||!Ui||Wc!==null||na(Bc,Ui,{silent:!0})},[na,Ui,Wc,Bc,Rc]),Z.useEffect(()=>{if(!Rc||!Bc||!zc||!Ui||Wc!==!0){Jc(!1);return}let e=!Uc||Date.now()-Uc>3e4;if(Gc&&!e){Jc(!1);return}let t=!1;return Jc(!Gc),Kc(Bc,Ui).finally(()=>{t||Jc(!1)}),()=>{t=!0}},[Kc,Ui,zc,Uc,Gc,Wc,Bc,Rc]);let Yc=Os(Bc),Xc=Hc?.current?.trim()||Yc?.trim()||``,Zc=Z.useMemo(()=>{if(!zc)return null;let e=rb(zc.path);return!e||!Xc?null:{value:e,label:Xc}},[zc,Xc]),Qc=Z.useMemo(()=>{if(!zc)return[];let e=Bc?Wt.get(Bc)??Wt.get(zc.path)??[]:[];return Pr({projectRoot:rb(zc.path)??``,rootBranch:Xc,worktrees:e,pendingBootstrapDirectory:Ot?.bootstrapPendingDirectory??null}).filter(e=>e.kind===`worktree`)},[Wt,Ot?.bootstrapPendingDirectory,zc,Xc,Bc]),$c=Z.useMemo(()=>rb(Ot?.bootstrapPendingDirectory??null)??rb(Ot?.directoryOverride??null)??Bc,[Ot?.bootstrapPendingDirectory,Ot?.directoryOverride,Bc]),el=Z.useMemo(()=>{let e=rb(Ot?.bootstrapPendingDirectory??null);return!!(Ot?.preserveDirectoryOverride||Ot?.pendingWorktreeRequestId||e&&e===$c)},[Ot?.bootstrapPendingDirectory,Ot?.pendingWorktreeRequestId,Ot?.preserveDirectoryOverride,$c]),tl=Z.useMemo(()=>{let e=[];return Zc&&e.push(Zc),e.push(...Qc),!$c||e.some(e=>e.value===$c)||!el?e:[...e,{value:$c,label:ra($c)}]},[Zc,$c,el,Qc]),nl=Z.useMemo(()=>f_({selectedDirectory:$c,projectRootOption:Zc,worktreeOptions:Qc}),[Zc,$c,Qc]),rl=Fh()===`mini-chat`,il=Z.useMemo(()=>rl||Qi!==!0||!ea||ea.isClean?!1:wh(ea.files),[ea,Qi,rl]),al=Z.useMemo(()=>!$c||Zc?.value===$c||Qc.some(e=>e.value===$c),[Zc?.value,$c,Qc]);Z.useEffect(()=>{Ot?.open&&(!Ot.preserveDirectoryOverride&&!Ot.bootstrapPendingDirectory||!$c||!al||(Ot.preserveDirectoryOverride&&J.getState().setDraftPreserveDirectoryOverride(!1),Ot.bootstrapPendingDirectory&&J.getState().setDraftBootstrapPendingDirectory(null)))},[Ot?.bootstrapPendingDirectory,Ot?.open,Ot?.preserveDirectoryOverride,al,$c]);let ol=Z.useMemo(()=>Wc!==!0||qc?!1:Zc?!0:Qc.length>0,[qc,Zc,Wc,Qc.length]),sl=Z.useCallback(e=>{if(J.getState().newSessionDraft?.pendingWorktreeRequestId)return;let t=Bn.find(t=>t.id===e);t&&(Hn!==e&&Wn(e),Ut({projectId:e,directoryOverride:t.path},{force:!0}))},[Hn,Bn,Wn,Ut]),cl=Z.useCallback(e=>{J.getState().newSessionDraft?.pendingWorktreeRequestId||zc&&Ut({projectId:zc.id,directoryOverride:e},{force:!0})},[zc,Ut]),ll=Z.useCallback(e=>{let t=e.icon?Ea[e.icon]:null,n=e.color?ka[e.color]:void 0,r=(0,$.jsx)(X,{name:t??`folder`,className:`h-3.5 w-3.5`,style:n?{color:n}:void 0});return(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,children:e.iconImage?(0,$.jsx)(xa,{project:e,className:`size-full object-contain`,fallback:r}):r}),(0,$.jsx)(`span`,{className:`truncate`,children:ib(e)})]})},[]);Z.useEffect(()=>{!Rc||!zc||!$c||Ot?.pendingWorktreeRequestId||Ot?.bootstrapPendingDirectory||Ot?.preserveDirectoryOverride||tl.some(e=>e.value===$c)||Ut({projectId:zc.id,directoryOverride:zc.path})},[tl,Ot?.bootstrapPendingDirectory,Ot?.pendingWorktreeRequestId,Ot?.preserveDirectoryOverride,$c,zc,Ut,Rc]);let ul=Z.useCallback(()=>{He(),ve(!0),ui.current?.blur()},[He]),dl=Z.useCallback(()=>{He(),be(!0),ui.current?.blur()},[He]);Z.useEffect(()=>{if(!Tr||typeof document>`u`)return;let e=document.getElementById(`mobile-overlay-root`);e||(e=document.createElement(`div`),e.id=`mobile-overlay-root`,document.body.appendChild(e));let t=e,n=()=>ze(tg(t.children));n();let r=new MutationObserver(n);return r.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[eg]}),()=>r.disconnect()},[Tr]);let fl=Ie||!!ue||_e||ye||ro||ao,pl=Z.useRef(!1);pl.current=ro||ao;let ml=Z.useRef(!1),hl=Z.useRef(0),gl=Z.useRef(0),_l=q(()=>{let e=J.getState().stagedMessageEdit;!e||e.sessionId!==An||window.setTimeout(()=>{let t=J.getState().stagedMessageEdit,n=document.activeElement,r=kv({surfaceKind:Tn.kind,stagedSessionId:t?.sessionId??null,stagedMessageId:t?.messageId??null,blurredMessageId:e.messageId,submitInFlight:es(),focusHeld:Date.now()<gl.current,overlayOpen:hl.current>0||pl.current,focusInsideComposer:n instanceof Element&&!!(n.closest(`[data-composer-content="true"]`)||n.closest(`[data-slot="dropdown-menu-content"]`))||Date.now()<Ve.current});r.action===`disarm`&&J.getState().clearStagedMessageEdit(r.sessionId)},0)});Z.useEffect(()=>{if(!Tr||Le()||typeof window>`u`||!window.matchMedia?.(`(display-mode: standalone)`)?.matches)return;let e=()=>{hl.current+=1},t=()=>{if(hl.current=Math.max(0,hl.current-1),ml.current){ml.current=!1;return}if(!We.current||pl.current||hl.current>0)return;if(eo()){We.current=!1;return}We.current=!1,gl.current=Date.now()+600,ui.current?.focus(),document.activeElement===ui.current&&he(!0);let e=()=>{let e=ui.current;!e||document.activeElement!==e||(vl.current??e).scrollIntoView({block:`end`})};fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null),pe.current!==null&&(window.clearTimeout(pe.current),pe.current=null),fe.current=window.setTimeout(()=>{fe.current=null,e()},300),pe.current=window.setTimeout(()=>{pe.current=null,e()},650)};return window.addEventListener(`oc:mobile-overlay-opened`,e),window.addEventListener(`oc:mobile-overlay-closed`,t),()=>{fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null),pe.current!==null&&(window.clearTimeout(pe.current),pe.current=null),window.removeEventListener(`oc:mobile-overlay-opened`,e),window.removeEventListener(`oc:mobile-overlay-closed`,t)}},[Tr]),Z.useEffect(()=>{if(!Tr)return;if(fl){(me||Date.now()-Ue.current<800)&&(We.current=!0);return}if(!We.current)return;let e=window.setTimeout(()=>{if(We.current=!1,eo())return;let e=ui.current;e&&document.activeElement!==e&&e.focus({preventScroll:Le()})},180);return()=>window.clearTimeout(e)},[Tr,fl,me]),Z.useEffect(()=>{if(!Tr||Le()||typeof document>`u`||me||!window.matchMedia?.(`(display-mode: standalone)`)?.matches)return;let e=document.documentElement,t=window.setTimeout(()=>{document.activeElement!==ui.current&&(window.scrollTo(0,0),document.body.scrollTop=0,e.scrollTop=0)},350);return()=>window.clearTimeout(t)},[Tr,me]),Z.useEffect(()=>{Ae(``)},[xe]);let vl=Z.useRef(null),yl=Tr?`px-1.5 py-1.5`:Lc?`px-1.5 py-1`:`px-2.5 py-1.5`,bl=Tr?`h-8 w-8`:Lc?`h-5 w-5`:`h-6 w-6`,Sl=Tr?`h-4 w-4`:Lc?`h-3.5 w-3.5`:`h-4 w-4`,Cl=Tr?`h-5 w-5`:Lc?`h-4 w-4`:`h-5 w-5`,wl=Tr?`h-[1.125rem] w-[1.125rem]`:Lc?`h-4 w-4`:`h-[1.125rem] w-[1.125rem]`,Tl=Y(`flex cursor-pointer items-center justify-center text-foreground transition-none outline-none focus:outline-none flex-shrink-0 disabled:cursor-not-allowed`,Np),El=Y(Tl,bl),Dl=El;Z.useEffect(()=>()=>{no.current&&=(clearTimeout(no.current),null)},[]);let Ol=Tr?(0,$.jsxs)(`div`,{"data-composer-action":`true`,className:`composer-mobile-model-controls flex min-w-0 flex-1 items-center justify-end gap-x-1.5`,children:[(0,$.jsx)(cb,{onOpenAgentPanel:us,onCycleAgent:()=>{He(),Rs()},agentName:Tn.selection.value.agent,agents:br,disabled:wr}),(0,$.jsx)(lb,{onOpenModel:()=>Fo(`model`),providerID:Tn.selection.value.providerID,modelID:Tn.selection.value.modelID,provider:xr.find(e=>e.id===Tn.selection.value.providerID),variant:Tn.selection.value.variant})]}):null,kl=(0,$.jsxs)(`div`,{className:`oc-mobile-composer-attachment-content relative z-10 flex flex-wrap items-center gap-1 px-3 pt-1`,children:[(0,$.jsx)(Fu,{attachments:kn,onShowPopup:kr,onRemoveAttachedFile:Xs}),Tn.kind===`primary`?(0,$.jsx)(zu,{attachedFiles:kn,onAddVSCodeFile:(e,t,n)=>{In&&$i(In,()=>_n.getState()).addVSCodeFile(e,t,n)},onAddVSCodeSelection:(e,t)=>{if(In)return $i(In,()=>_n.getState()).addVSCodeSelection(e,t)}}):null]}),Al=Ja?.map((e,t)=>(0,$.jsx)(`span`,{className:e.className,children:e.visual?(0,$.jsx)(z_,{visual:e.visual,text:e.text}):e.text},`${t}-${e.text.length}`)),jl=Tr?(0,$.jsxs)(`div`,{className:Y(`oc-mobile-composer-compact-chrome`,Wo&&`oc-mobile-composer-compact-chrome--aborting`,a&&o&&`oc-mobile-composer-compact-chrome--with-scroll`),children:[(0,$.jsx)(`div`,{"data-mobile-composer-compact-slot":`attach`,"data-composer-action":`true`,className:`composer-mobile-actions flex shrink-0 items-center`,children:(0,$.jsx)(fb,{isVSCode:Lc,footerIconButtonClass:El,iconSizeClass:wl,handlePickLocalFiles:Ac,handlePickLocalImages:jc,openIssuePicker:ds,openPrPicker:fs,onOpenMobileSheet:ul,onOpenAndroidPickSheet:Pc()?dl:void 0})}),(0,$.jsxs)(`div`,{"data-mobile-composer-compact-slot":`trailing`,className:`ml-auto flex shrink-0 items-center justify-end gap-x-1`,children:[a&&o?(0,$.jsx)(`div`,{"data-composer-action":`true`,className:`flex shrink-0 items-center`,children:(0,$.jsx)(Nh,{placement:`compact`,visible:a,onClick:o})}):null,Wo?(0,$.jsx)(`div`,{"data-mobile-composer-compact-slot":`action`,"data-composer-action":`true`,className:`flex shrink-0 items-center justify-end`,children:(0,$.jsx)(mb,{isMobile:!0,footerIconButtonClass:El,stopFooterIconButtonClass:Dl,sendIconSizeClass:Sl,stopIconSizeClass:Cl,canSend:Vo,canAbort:!0,hasContent:!1,currentSessionId:An,newSessionDraftOpen:Nn,draftSubmitting:jn,submissionBlocked:l,sendPhase:Zo,queueFrozen:Bo,queueFallbackAvailable:Wo||Uo,onPrimaryAction:ms,onAbort:Fs})}):null]})]}):null,Ml=Tr?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`div`,{className:`oc-mobile-composer-full-chrome flex w-full min-w-0 items-center gap-x-1.5`,"data-composer-action":`true`,children:[(0,$.jsxs)(`div`,{className:`composer-mobile-actions flex shrink-0 items-center gap-x-2 pl-1`,children:[(0,$.jsx)(fb,{isVSCode:Lc,footerIconButtonClass:El,iconSizeClass:wl,handlePickLocalFiles:Ac,handlePickLocalImages:jc,openIssuePicker:ds,openPrPicker:fs,onOpenSettings:e,onOpenMobileSheet:ul,onOpenAndroidPickSheet:Pc()?dl:void 0}),nr?(0,$.jsx)(pb,{sessionId:An,draftOpen:Nn,draftEnabled:Ot.permissionAutoAcceptEnabled===!0,enabled:Xn,saving:An?Bt:!1,footerIconButtonClass:El,iconSizeClass:wl,onSetDraftEnabled:Lt,onSetSessionEnabled:Ht,onOpenSessionFirst:Ft,onToggleFailed:or}):null,(0,$.jsx)(dv,{sessionId:An,directory:ft??Fn,draftOpen:Nn}),(0,$.jsx)(fv,{length:Jr.length})]}),Ol,(0,$.jsx)(`div`,{className:`relative z-30 flex shrink-0 items-center justify-end gap-x-1.5`,children:(0,$.jsx)(mb,{isMobile:Tr,footerIconButtonClass:El,stopFooterIconButtonClass:Dl,sendIconSizeClass:Sl,stopIconSizeClass:Cl,canSend:Vo,canAbort:Wo,hasContent:!!Ro,currentSessionId:An,newSessionDraftOpen:Nn,draftSubmitting:jn,submissionBlocked:l,sendPhase:Zo,queueFrozen:Bo,queueFallbackAvailable:Wo||Uo,onPrimaryAction:ms,onAbort:Fs})})]})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:Y(`flex flex-shrink-0 items-center`,Ic),children:[(0,$.jsx)(fb,{isVSCode:Lc,footerIconButtonClass:El,iconSizeClass:wl,handlePickLocalFiles:Ac,handlePickLocalImages:jc,openIssuePicker:ds,openPrPicker:fs,onOpenSettings:e,withTooltip:!0}),nr?(0,$.jsx)(pb,{sessionId:An,draftOpen:Nn,draftEnabled:Ot.permissionAutoAcceptEnabled===!0,enabled:Xn,saving:An?Bt:!1,footerIconButtonClass:El,iconSizeClass:wl,onSetDraftEnabled:Lt,onSetSessionEnabled:Ht,onOpenSessionFirst:Ft,onToggleFailed:or}):null,(0,$.jsx)(dv,{sessionId:An,directory:ft??Fn,draftOpen:Nn}),(0,$.jsx)(fv,{length:Jr.length})]}),(0,$.jsxs)(`div`,{className:Y(`relative z-30 flex flex-1 items-center justify-end md:gap-x-1.5`,Ic),children:[(0,$.jsx)(ob,{className:`min-w-0 flex-1 justify-end`,composerTextareaRef:ui,selectionAdapter:ur}),(0,$.jsx)(sb,{radius:ha,isMobile:Tr,footerIconButtonClass:El,footerPaddingClass:yl,iconSizeClass:wl,sendIconSizeClass:Sl,onInsert:gs,onInsertAndSend:_s,onContentHeightChange:Ws,renderTrigger:!1,topAccessory:(0,$.jsx)(`span`,{"data-oc-composer-dictation-active":`true`,className:`hidden`,"aria-hidden":`true`})}),(0,$.jsx)(mb,{isMobile:Tr,footerIconButtonClass:El,stopFooterIconButtonClass:Dl,sendIconSizeClass:Sl,stopIconSizeClass:Cl,canSend:Vo,canAbort:Wo,hasContent:!!Ro,currentSessionId:An,newSessionDraftOpen:Nn,draftSubmitting:jn,submissionBlocked:l,sendPhase:Zo,queueFrozen:Bo,queueFallbackAvailable:Wo||Uo,onPrimaryAction:ms,onAbort:Fs})]})]}),Nl=q(()=>{if(Tr){gl.current=Date.now()+600;let e=()=>{ui.current?.focus({preventScroll:Le()}),document.activeElement===ui.current&&he(!0)};e(),window.requestAnimationFrame(e);return}let e=()=>{if(!Xp(ui))return;let e=Yp(ui);if(!e)return;let t=e.value.length;try{e.setSelectionRange(t,t)}catch{}};e(),window.requestAnimationFrame(()=>{e(),window.setTimeout(e,0)})}),Pl=ft??Fn,{goal:Fl,enabled:Il}=av(An??``,Pl),Ll=(0,$.jsx)(Lf,{onEditMessage:cs,onSendMessage:ls,onEditCommitted:Nl,draftKey:In,scope:po,draftTarget:In?{key:In,expectedRevision:()=>Dn.getDraft(In)?.revision??`absent`}:null,clientPendingItems:ns,onRemoveClientPending:e=>{let t=Cn.getState().removeEstablishingFollowUp(e);t&&(t.content&&Yr(t.content),t.attachments.length>0&&Dn.restoreAttachments(t.attachments))},trailing:An&&Il&&Fl?(0,$.jsx)(uv,{sessionId:An,directory:Pl}):null});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`form`,{ref:vl,onSubmit:e=>{e.preventDefault(),ms()},onPointerDownCapture:e=>{if(!Tr)return;let t=e.target;t instanceof Element&&(t.closest(`textarea[data-chat-input="true"]`)||t.closest(`[data-chat-prompt-attachments="true"]`)||t.closest(`button, [role="button"], a, label, input, select, [data-composer-action="true"], [data-chat-input-footer="true"]`)&&(He(),e.preventDefault()))},className:Y(`relative w-full pt-0 pb-4`,ua&&`flex h-full min-h-0 flex-col pt-4`,fa&&`flex h-full min-h-0 flex-col pt-1`,Tr&&`bottom-safe-area oc-mobile-composer`),style:Tr&&Le()&&Fr>0&&!me?{marginBottom:`${Fr}px`}:void 0,children:[Pn&&!ua&&!Tr&&!Lc&&!rl?(0,$.jsx)(`div`,{className:`chat-input-column mb-7 text-center`,children:(0,$.jsx)(`h1`,{className:`text-balance text-2xl font-normal tracking-tight text-foreground md:text-3xl`,children:ab(Vc?f(`chat.emptyState.draftTitleWithProject`,{project:Vc}):f(`chat.emptyState.draftTitle`),Vc)})}):null,(0,$.jsxs)(`div`,{className:Y(`chat-input-column relative overflow-visible`,pa&&`flex flex-1 min-h-0 flex-col`),children:[(0,$.jsx)(Iu,{attachments:kn,onShowPopup:kr,onRemoveAttachedFile:Xs}),(0,$.jsx)(tp,{}),wo&&(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 pb-2`,children:[Do>0?(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 rounded-xl border px-2.5 py-1`,style:{backgroundColor:Xi?.colors?.surface?.elevated,borderColor:Xi?.colors?.interactive?.border},children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:f(`chat.chatInput.reviewComments`)}),(0,$.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:Xi?.colors?.status?.info},children:Do}),(0,$.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,style:{minHeight:0,minWidth:0},onClick:Ao,"aria-label":f(`chat.chatInput.reviewCommentsRemove`),title:f(`chat.chatInput.reviewCommentsRemove`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`})})]}):null,To>0?(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 rounded-xl border px-2.5 py-1`,style:{backgroundColor:Xi?.colors?.surface?.elevated,borderColor:Xi?.colors?.interactive?.border},children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:f(`chat.chatInput.devServerLogs`)}),(0,$.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:Xi?.colors?.status?.info},children:To}),(0,$.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,style:{minHeight:0,minWidth:0},onClick:()=>Oo(`preview-console`),"aria-label":f(`chat.chatInput.devServerLogsRemove`),title:f(`chat.chatInput.devServerLogsRemove`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`})})]}):null,Eo>0?(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 rounded-xl border px-2.5 py-1`,style:{backgroundColor:Xi?.colors?.surface?.elevated,borderColor:Xi?.colors?.interactive?.border},children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:f(`chat.chatInput.previewAnnotations`)}),(0,$.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:Xi?.colors?.status?.info},children:Eo}),(0,$.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,style:{minHeight:0,minWidth:0},onClick:()=>Oo(`preview-annotation`),"aria-label":f(`chat.chatInput.previewContextRemove`),title:f(`chat.chatInput.previewContextRemove`),children:(0,$.jsx)(X,{name:`close`,className:`h-3 w-3`})})]}):null]}),so&&!Lc&&(0,$.jsx)(`div`,{className:`pb-2 w-full px-1`,children:(0,$.jsxs)(`div`,{className:`flex w-full items-center gap-1.5 text-sm h-5 px-1`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>io(!0),className:`flex min-w-0 flex-1 items-center gap-1.5 text-left hover:opacity-80 transition-opacity`,children:[so.author?.avatarUrl&&(0,$.jsx)(`img`,{src:so.author.avatarUrl,alt:so.author.login,className:`h-5 w-5 rounded-full flex-shrink-0`}),(0,$.jsxs)(`span`,{className:`text-muted-foreground flex-shrink-0`,children:[`#`,so.number,so.author&&(0,$.jsx)(`span`,{className:`ml-1`,children:f(`chat.chatInput.linked.byAuthor`,{author:so.author.login})})]}),(0,$.jsx)(`span`,{className:`text-foreground truncate`,children:so.title})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 flex-shrink-0`,children:[(0,$.jsx)(`a`,{href:so.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":f(`chat.chatInput.linked.issue.openInBrowserAria`),children:(0,$.jsx)(X,{name:`external-link`,className:`h-4 w-4 text-muted-foreground`})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{co(null)},className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":f(`chat.chatInput.linked.issue.removeAria`),title:f(`chat.chatInput.linked.issue.removeAria`),children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4 text-muted-foreground`})})]})]})}),lo&&!Lc&&(0,$.jsx)(`div`,{className:`pb-2 w-full px-1`,children:(0,$.jsxs)(`div`,{className:`flex w-full items-center gap-1.5 text-sm h-5 px-1`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>oo(!0),className:`flex min-w-0 flex-1 items-center gap-1.5 text-left hover:opacity-80 transition-opacity`,children:[lo.author?.avatarUrl&&(0,$.jsx)(`img`,{src:lo.author.avatarUrl,alt:lo.author.login,className:`h-5 w-5 rounded-full flex-shrink-0`}),(0,$.jsxs)(`span`,{className:`text-muted-foreground flex-shrink-0`,children:[f(`chat.chatInput.linked.pr.number`,{number:lo.number}),lo.author&&(0,$.jsx)(`span`,{className:`ml-1`,children:f(`chat.chatInput.linked.byAuthor`,{author:lo.author.login})})]}),(0,$.jsx)(`span`,{className:`text-foreground truncate`,children:lo.title}),(0,$.jsxs)(`span`,{className:`text-muted-foreground flex-shrink-0 typography-meta`,children:[lo.head,` → `,lo.base]})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 flex-shrink-0`,children:[(0,$.jsx)(`a`,{href:lo.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":f(`chat.chatInput.linked.pr.openInBrowserAria`),children:(0,$.jsx)(X,{name:`external-link`,className:`h-4 w-4 text-muted-foreground`})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{uo(null)},className:`flex items-center justify-center h-6 w-6 hover:bg-[var(--interactive-hover)] rounded-full transition-colors`,"aria-label":f(`chat.chatInput.linked.pr.removeAria`),title:f(`chat.chatInput.linked.pr.removeAria`),children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4 text-muted-foreground`})})]})]})}),(0,$.jsx)(db,{sessionId:An,directory:ft??Fn}),(0,$.jsxs)(`div`,{className:Tr?`relative oc-mobile-composer-stack`:`contents`,children:[(0,$.jsxs)(`div`,{className:Tr?`oc-mobile-composer-expanded-layer`:`contents`,children:[(0,$.jsxs)(`div`,{className:Tr?`oc-mobile-composer-reveal`:`contents`,children:[(0,$.jsx)(ub,{showAbortStatus:ia,showAssistantStatus:!1,showTodos:!0,leftAccessory:Nn||!il?null:(0,$.jsx)(jh,{})}),!Tr&&Rc?(0,$.jsxs)(`div`,{className:`mb-1.5 flex min-w-0 items-center gap-1.5 px-0.5`,children:[zc?(0,$.jsxs)(Ta,{value:zc.id,open:Pe,onValueChange:sl,onOpenChange:e=>{Fe(e),e||Ne(``)},children:[(0,$.jsx)(Ia,{asChild:!0,size:`sm`,children:(0,$.jsxs)(`button`,{type:`button`,className:Y(`group relative inline-flex h-6 min-w-0 w-fit max-w-[42vw] items-center rounded-lg !border-0 px-1.5 py-1 pr-1.5 typography-micro font-medium text-foreground/80 transition-[padding] hover:pr-5 focus-visible:pr-5 data-[popup-open]:pr-5 sm:max-w-[18rem]`,jp),children:[(0,$.jsx)(ya,{children:ll(zc)}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`pointer-events-none absolute right-1 size-3.5 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100 group-data-[popup-open]:opacity-100`,"aria-hidden":`true`})]})}),(0,$.jsxs)(wa,{fitContent:!0,children:[(0,$.jsx)(La,{autoFocus:!0,value:Me,onChange:e=>Ne(e.target.value),onKeyDown:e=>e.stopPropagation(),placeholder:f(`chat.chatInput.draftPicker.searchProjects`),className:`mb-1 h-8 min-w-56`}),Bn.filter(e=>Fa(ib(e),Me)||Fa(e.path,Me)).map(e=>(0,$.jsx)(Pa,{value:e.id,className:`max-w-[24rem] truncate`,children:ll(e)},e.id)),(0,$.jsx)(Sa,{}),(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-left typography-ui-label text-foreground hover:bg-interactive-hover`,onPointerDown:e=>{e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),Fe(!1),requestAnimationFrame(()=>Ur.requestDirectoryDialog())},children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:f(`chat.chatInput.draftPicker.newProject`)})]})]})]}):(0,$.jsxs)(`button`,{type:`button`,className:Y(`inline-flex h-auto min-h-6 cursor-pointer items-center gap-1.5 rounded-lg px-2.5 py-1 typography-micro font-medium text-foreground/80`,jp),onClick:()=>Ur.requestDirectoryDialog(),children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:f(`chat.chatInput.draftPicker.newProject`)})]}),zc&&ol?(0,$.jsx)(y_,{directory:$c,projectDirectory:Bc,label:nl,projectRootOption:Zc,worktreeOptions:Qc,onSelectDirectory:cl}):null]}):null,Tr&&Rc?(0,$.jsxs)(`div`,{className:`oc-mobile-draft-target-selectors mb-1.5 flex min-w-0 items-center gap-1.5 px-0.5`,children:[zc?(0,$.jsx)(`button`,{type:`button`,className:Y(`inline-flex h-[1.625rem] min-w-0 max-w-[46%] shrink items-center gap-1.5 rounded-lg px-1.5 text-[11px] leading-none font-medium text-foreground/80`,jp),onClick:()=>Se(`project`),children:ll(zc)}):(0,$.jsxs)(`button`,{type:`button`,className:Y(`inline-flex h-[1.625rem] min-w-0 max-w-[46%] items-center gap-1.5 rounded-lg px-1.5 text-[11px] leading-none font-medium text-foreground/80`,jp),onClick:()=>Ur.requestDirectoryDialog(),children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:f(`chat.chatInput.draftPicker.newProject`)})]}),zc&&ol?(0,$.jsx)(y_,{directory:$c,projectDirectory:Bc,label:nl,projectRootOption:Zc,worktreeOptions:Qc,onSelectDirectory:cl,maxWidthClassName:`max-w-[50%]`,presentation:`mobile-sheet`}):null]}):null,Ll]}),(0,$.jsx)(`div`,{className:Y(!Tr&&`contents`,Tr&&`contents`,fa&&`flex min-h-0 flex-1 flex-col`),children:(0,$.jsxs)(`div`,{className:Tr?`oc-mobile-composer-motion-viewport`:`contents`,children:[(0,$.jsxs)(Zg,{value:Jr,attachments:[],disabled:!An&&!Nn||jn&&!Zo.establishing,pending:Wo||Zo.inFlight&&!Zo.establishing,isMobile:Tr,onSubmit:ms,"data-mobile-composer-surface":Tr?`true`:void 0,"data-session-swipe-surface":Tr?`true`:void 0,expanded:pa,focusedTone:h===`shell`?`info`:`primary`,className:Y(`relative z-10`,y&&`ring-2 ring-primary ring-offset-2`,Nr&&`ring-1 ring-[var(--interactive-selection)] border-[var(--interactive-selection)]`,Tr&&`oc-mobile-composer-surface`),style:{borderRadius:ha},ref:hi,onDropCapture:wc,onDragEnter:bc,onDragOver:xc,onDragLeave:Q,onDrop:Cc,onDragEnd:Sc,autoResize:!1,disableInputWhilePending:!1,contentClassName:pa?`flex-1 min-h-0`:void 0,inputHeader:void 0,attachmentContent:kl,highlightedContent:Al,highlightRef:oa,inputRef:ui,textLayoutClassName:Y(Ly,pa?Y(`h-full min-h-0`,Tr?`py-2.5`:`py-4`):Tr?`py-2.5`:`pt-4 pb-2`,h===`shell`?`font-mono`:`typography-markdown md:typography-ui-label`),inputOuterClassName:Y(pa&&`flex-1 min-h-0`),inputStyle:{flex:pa?`1 1 auto`:`none`,height:!pa&&se?`${se.height}px`:void 0,maxHeight:!pa&&se?`${se.maxHeight}px`:void 0,"--oc-composer-textarea-resting-height":pa?`100%`:se?`${se.height}px`:`auto`,"--oc-composer-textarea-resting-max-height":!pa&&se?`${se.maxHeight}px`:`none`,borderTopLeftRadius:ha,borderTopRightRadius:ha},footerClassName:Y(`z-30 bg-transparent flex-shrink-0`,yl,Tr?`flex items-center gap-x-1.5`:Y(`flex items-center justify-between`,Ic)),footerStyle:{borderBottomLeftRadius:ha,borderBottomRightRadius:ha},footerContent:Ml,placeholder:_a,onChange:(e,t)=>nc(t),textareaProps:{readOnly:Nr,onCompositionStart:()=>{di.current=!0},onCompositionEnd:e=>{di.current=!1;let t=e.currentTarget;qs(t.value,t.selectionStart??t.value.length,t.selectionEnd??t.selectionStart??t.value.length)},onBeforeInput:tc,onKeyDown:Ts,onCopy:oc,onCut:sc,onPaste:ic,onDragEnter:bc,onDragOver:xc,onDropCapture:wc,onDrop:Cc,onDragEnd:Sc,onKeyUp:Ms,onClick:()=>{Ms()},onScroll:e=>{Ms();let t=e.currentTarget.scrollTop;oa.current&&(oa.current.style.transform=`translateY(-${t}px)`)},onSelect:e=>{let t=e.currentTarget,n=t.selectionStart??0,r=t.selectionEnd??n;if(di.current){fi.current=r;return}let i=I_(n,r,[...Re(Jr,kn.filter(Oe).map(e=>e.filename)),...F_(Jr,Ra.keys()),...qr.references]);i&&(i.start!==n||i.end!==r)?(t.setSelectionRange(i.start,i.end),fi.current=i.end):fi.current=n,Ms()},onFocus:()=>{if(Tr){if(Date.now()<Ve.current){let e=ui.current;e&&e.blur();return}ge.current!==null&&(window.clearTimeout(ge.current),ge.current=null),he(!0)}},onBlur:e=>{if(di.current=!1,fi.current=e.currentTarget.selectionStart??fi.current,_l(),Tr){if(Date.now()<gl.current){let e=ui.current;if(e){e.focus(),window.setTimeout(()=>{Date.now()<gl.current&&document.activeElement!==e&&e.focus()},50);return}}if(Ue.current=Date.now(),Le()){he(!1);return}ge.current!==null&&window.clearTimeout(ge.current),ge.current=window.setTimeout(()=>{ge.current=null,he(!1)},120)}},autoCorrect:Tr?`on`:`off`,autoCapitalize:Tr?`sentences`:`off`,spellCheck:Tr||Lr,fillContainer:pa,rows:1},children:[(0,$.jsx)(Am,{}),y&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-50 flex items-center justify-center bg-background/90`,style:{borderRadius:ha},children:(0,$.jsxs)(`div`,{className:`text-center`,children:[(0,$.jsx)(`div`,{className:`inline-flex justify-center`,children:(0,$.jsx)(`button`,{type:`button`,className:Tl,onClick:()=>Ac(),title:f(`chat.chatInput.actions.attachFiles`),"aria-label":f(`chat.chatInput.actions.attachFiles`),children:(0,$.jsx)(X,{name:`attachment-2`,className:Y(wl,`text-current`)})})}),(0,$.jsx)(`p`,{className:`mt-2 typography-ui-label text-muted-foreground`,children:f(T?`chat.chatInput.drop.insertMention`:`chat.chatInput.drop.attachFiles`)})]})}),M&&(0,$.jsx)(bs,{ref:Ai,searchQuery:P,directory:Fn,onCommandSelect:mc,onClose:()=>N(!1),commandPolicy:e=>tm(Tn,e),commandContext:Ln,style:ua&&Xa?{left:`${Xa.left}px`,top:`${Xa.top}px`,bottom:`auto`,width:`min(450px, calc(100% - ${Xa.left+8}px))`,maxHeight:`${Xa.maxHeight}px`,transform:Xa.place===`above`?`translateY(-100%)`:void 0}:void 0}),R&&(0,$.jsx)(op,{ref:ji,searchQuery:V,directory:Fn,onSkillSelect:fc,onClose:()=>z(!1),style:ua&&Xa?{left:`${Xa.left}px`,top:`${Xa.top}px`,bottom:`auto`,width:`min(360px, calc(100% - ${Xa.left+8}px))`,maxHeight:`${Xa.maxHeight}px`,transform:Xa.place===`above`?`translateY(-100%)`:void 0}:void 0}),te&&(0,$.jsx)(ws,{ref:Ni,searchQuery:ae,onSnippetSelect:pc,onClose:()=>ne(!1),style:ua&&Xa?{left:`${Xa.left}px`,top:`${Xa.top}px`,bottom:`auto`,width:`min(450px, calc(100% - ${Xa.left+8}px))`,maxHeight:`${Xa.maxHeight}px`,transform:Xa.place===`above`?`translateY(-100%)`:void 0}:void 0}),D&&(0,$.jsx)(js,{ref:Ei,searchQuery:k,onFileSelect:cc,onAgentSelect:lc,onSessionSelect:uc,onClose:()=>O(!1),style:ua&&Xa?{left:`${Xa.left}px`,top:`${Xa.top}px`,bottom:`auto`,width:`min(520px, calc(100% - ${Xa.left+8}px))`,maxHeight:`${Xa.maxHeight}px`,transform:Xa.place===`above`?`translateY(-100%)`:void 0}:void 0})]}),Tr?(0,$.jsx)(sb,{radius:ha,isMobile:Tr,footerIconButtonClass:El,footerPaddingClass:yl,iconSizeClass:wl,sendIconSizeClass:Sl,onInsert:gs,onInsertAndSend:_s,onContentHeightChange:Ws,renderTrigger:!1,topAccessory:(0,$.jsx)(`span`,{"data-oc-composer-dictation-active":`true`,className:`hidden`,"aria-hidden":`true`})}):null]})})]}),Tr?(0,$.jsxs)(`div`,{className:`oc-mobile-composer-compact-layer`,"data-oc-composer-compact-surface":`true`,children:[jl,(0,$.jsx)(`div`,{className:Y(`oc-mobile-composer-compact-preview`,!Jr.trim()&&`oc-mobile-composer-compact-preview--placeholder`),"aria-hidden":`true`,children:Jr.trim()?Jr:va})]}):null]}),Tr?(0,$.jsx)(ob,{className:`hidden`,composerTextareaRef:ui,selectionAdapter:ur,mobilePanel:ue,onMobilePanelChange:de}):null]}),Nn&&!ua&&!Tr&&!Lc&&!rl?(0,$.jsx)(Wg,{onSubmit:hs,className:`chat-input-column mt-4`}):null]}),p.open?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Ry,{popup:p,onOpenChange:jr,isMobile:Tr})}):null,(0,$.jsx)(xg,{open:ro,onOpenChange:io,mode:`select`,onSelect:e=>{co(e),uo(null)}}),(0,$.jsx)(wg,{open:ao,onOpenChange:oo,onSelect:e=>{uo(e),co(null)}}),(0,$.jsx)(cu,{open:Gn,onOpenChange:Kn,projectDirectory:ft??Fn??null,submitting:Jn,onConfirm:la}),(0,$.jsx)(`input`,{ref:Tc,type:`file`,multiple:!0,className:`hidden`,onChange:Nc,accept:`*/*`}),(0,$.jsx)(`input`,{ref:Ec,type:`file`,multiple:!0,className:`hidden`,onChange:Nc,accept:`image/*`}),null,Tr?(0,$.jsx)(to,{id:`android-media-pick-sheet`,open:ye,onOpenChange:e=>{e||be(!1)},title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:f(`chat.chatInput.actions.addAttachment`)}),ariaLabel:f(`chat.chatInput.actions.addAttachment`),closeAriaLabel:f(`mobile.surface.closeAria`),resizeAriaLabel:f(`mobile.sessions.sheet.resizeAria`),fitContent:!0,children:(0,$.jsx)(`div`,{className:`flex min-h-0 flex-col overflow-y-auto overscroll-contain px-3 pb-3`,children:(0,$.jsxs)(`div`,{className:`overflow-hidden rounded-2xl bg-[var(--surface-muted)]`,children:[(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`lg`,className:`h-auto min-h-12 w-full justify-start gap-3 rounded-none px-4 border-b border-[var(--surface-subtle)] last:border-b-0`,onClick:()=>{We.current=!1,be(!1),requestAnimationFrame(Mc)},children:[(0,$.jsx)(X,{name:`file-image`,className:`size-5 flex-shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate`,children:f(`chat.chatInput.actions.attachPhotos`)})]}),(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`lg`,className:`h-auto min-h-12 w-full justify-start gap-3 rounded-none px-4 border-b border-[var(--surface-subtle)] last:border-b-0`,onClick:()=>{We.current=!1,be(!1),requestAnimationFrame(Ac)},children:[(0,$.jsx)(X,{name:`attachment-2`,className:`size-5 flex-shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate`,children:f(`chat.chatInput.actions.attachFiles`)})]})]})})}):null,Tr&&Rc&&zc?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(to,{id:`mobile-draft-project-picker-sheet-${Ce}`,open:xe===`project`,onOpenChange:e=>{e||Se(null)},ariaLabel:f(`chat.chatInput.draftPicker.projectTitle`),closeAriaLabel:f(`mobile.surface.closeAria`),resizeAriaLabel:f(`mobile.sessions.sheet.resizeAria`),children:[(0,$.jsx)(`div`,{className:`shrink-0 px-3 pb-2 pt-1`,"data-mobile-sheet-no-dismiss":``,children:(0,$.jsx)(La,{value:De,onChange:e=>Ae(e.target.value),placeholder:f(`chat.chatInput.draftPicker.searchProjects`),className:`h-9`})}),(0,$.jsx)(ma,{outerClassName:`min-h-0 flex-1`,disableHorizontal:!0,children:(0,$.jsx)(`div`,{className:`flex flex-col px-3 pb-2`,children:Bn.filter(e=>Fa(ib(e),De)||Fa(e.path,De)).map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-2.5 text-left typography-ui-label hover:bg-[var(--interactive-hover)]`,onClick:()=>{sl(e.id),Se(null)},children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1`,children:ll(e)}),e.id===zc.id?(0,$.jsx)(X,{name:`check`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}):null]},e.id))})}),(0,$.jsx)(`div`,{className:`shrink-0 px-3 pb-4 pt-1`,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-2 rounded-lg border-t border-border/50 px-2 py-2.5 text-left typography-ui-label hover:bg-[var(--interactive-hover)]`,onClick:()=>{Se(null),Ur.requestDirectoryDialog()},children:[(0,$.jsx)(X,{name:`folder-add`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{children:f(`chat.chatInput.draftPicker.newProject`)})]})})]})}):null]})},bb=e=>{let t=(0,Q.c)(3),n=rm(),r=e.surface??n;if(r&&!r.active)return null;let i=r??void 0,a;return t[0]!==e||t[1]!==i?(a=(0,$.jsx)(yb,{...e,surface:i}),t[0]=e,t[1]=i,t[2]=a):a=t[2],a};bb.displayName=`ChatInput`;var xb=Z.memo(bb);function Sb(e){return e.preventDefault()}function Cb(e){e.preventDefault()}function wb(e){return e.preventDefault()}function Tb(e){e.pointerType===`touch`&&e.preventDefault()}function Eb(e){e.preventDefault()}function Db(e){e.pointerType===`touch`&&e.preventDefault()}function Ob(){let e=(0,Q.c)(47),{t}=ot(),[n,r]=Z.useState(null),[i,a]=Z.useState(!1),o=Z.useRef(null),s=!!n,c,l;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>go(e=>{r(e),a(!1)}),l=[],e[0]=c,e[1]=l):(c=e[0],l=e[1]),Z.useEffect(c,l);let u;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=e=>{e||(r(null),a(!1))},e[2]=u):u=e[2];let d=q(u),f;e[3]===d?f=e[4]:(f=()=>(d(!1),!0),e[3]=d,e[4]=f);let p;e[5]!==s||e[6]!==f?(p={id:`image-save-actions`,active:s,layer:`overlay`,onBack:f,surfaceRef:o},e[5]=s,e[6]=f,e[7]=p):p=e[7],No(p);let m;e[8]!==i||e[9]!==t||e[10]!==n?(m=async()=>{if(!(!n||i)){a(!0);try{await uc(n),Ii.success(t(`chat.image.actions.saveSuccess`)),r(null)}catch(e){let n=e;if(n instanceof DOMException&&n.name===`AbortError`){a(!1);return}Ii.error(t(`chat.image.actions.saveFailed`)),a(!1);return}a(!1)}},e[8]=i,e[9]=t,e[10]=n,e[11]=m):m=e[11];let h=q(m);if(!n)return null;let g;e[12]!==t||e[13]!==n.filename?(g=n.filename?.trim()||t(`chat.image.actions.sheetTitle`),e[12]=t,e[13]=n.filename,e[14]=g):g=e[14];let _=g,v;e[15]===t?v=e[16]:(v=Le()?t(`chat.image.actions.saveToPhotos`):t(`chat.image.actions.saveImage`),e[15]=t,e[16]=v);let y=v,b;e[17]===_?b=e[18]:(b=(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:_}),e[17]=_,e[18]=b);let x;e[19]===t?x=e[20]:(x=t(`mobile.surface.closeAria`),e[19]=t,e[20]=x);let S;e[21]===t?S=e[22]:(S=t(`mobile.sessions.sheet.resizeAria`),e[21]=t,e[22]=S);let C;e[23]===h?C=e[24]:(C=()=>{h()},e[23]=h,e[24]=C);let w=i?`loader-4`:`download`,T=i?`size-5 animate-spin`:`size-5`,E;e[25]!==w||e[26]!==T?(E=(0,$.jsx)(X,{name:w,className:T}),e[25]=w,e[26]=T,e[27]=E):E=e[27];let D;e[28]!==y||e[29]!==i||e[30]!==t?(D=i?t(`chat.image.actions.saving`):y,e[28]=y,e[29]=i,e[30]=t,e[31]=D):D=e[31];let O;e[32]===D?O=e[33]:(O=(0,$.jsx)(`span`,{className:`truncate`,children:D}),e[32]=D,e[33]=O);let k;e[34]!==i||e[35]!==C||e[36]!==E||e[37]!==O?(k=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-col overflow-y-auto overscroll-contain px-3 pb-3`,children:(0,$.jsx)(`div`,{className:`overflow-hidden rounded-2xl bg-[var(--surface-muted)]`,children:(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`lg`,className:`h-auto min-h-12 w-full justify-start gap-3 rounded-none px-4 border-b border-[var(--surface-subtle)] last:border-b-0`,disabled:i,onClick:C,children:[E,O]})})}),e[34]=i,e[35]=C,e[36]=E,e[37]=O,e[38]=k):k=e[38];let A;return e[39]!==d||e[40]!==s||e[41]!==S||e[42]!==k||e[43]!==b||e[44]!==x||e[45]!==_?(A=(0,$.jsx)(`div`,{ref:o,children:(0,$.jsx)(to,{id:`image-save-actions-sheet`,open:s,onOpenChange:d,title:b,ariaLabel:_,closeAriaLabel:x,resizeAriaLabel:S,fitContent:!0,children:k})}),e[39]=d,e[40]=s,e[41]=S,e[42]=k,e[43]=b,e[44]=x,e[45]=_,e[46]=A):A=e[46],A}var kb=(e,t)=>{if(t.length===0)return e;let n=new Map(t.map(e=>[e.info.id,e])),r=!1,i=e.map(e=>{if(Bi(e.parts))return e;let t=n.get(e.info.id);return t?(r=!0,t):e}),a=r?i:e,o=new Set(e.map(e=>e.info.id)),s=t.filter(e=>!o.has(e.info.id));return s.length===0?a:[...a,...s]},Ab=(e,t)=>{if(e.length===0)return!1;let n;for(let t of e){let e=t.info.time?.created;typeof e==`number`&&(n===void 0||e>n)&&(n=e)}return!t.resolvedSessionStatus||typeof t.sessionStatusObservedAt!=`number`||typeof n!=`number`||n>t.sessionStatusObservedAt},jb=e=>{let t=e.boundary.kind===`exhausted`,n=e.boundary.kind===`has-more`,r=t&&!e.assistantComplete,i=n||r;return{complete:t&&e.assistantComplete,canLoadEarlier:i}},Mb=e=>e.syncLoading||e.assistantLoading,Nb=e=>e.isMobile&&(e.canLoadEarlier||e.isLoadingOlder),Pb=e=>e.isLoadingOlder,Fb=e=>!e.isMobile&&e.isLoadingOlder,Ib=e=>e.transcriptMessageCount>0||e.pendingUserCount>0||e.historyPrefixCount>0,Lb=e=>e.p0Satisfied||e.hasBusyShell||e.hasImmediateShell||e.hasPaintedTranscript?`pass`:e.prefetchStatus===`loading`||e.syncLoading||e.userRetrying?`hydrating`:e.prefetchStatus===`error`?`load-error`:e.hasRenderableSessionSnapshot?`pass`:`hydrating`,Rb=e=>{let{sessionId:t,messages:n,retained:r}=e;return t?n.length>0?{messages:n,retained:{sessionId:t,messages:n}}:r?.sessionId===t?{messages:r.messages,retained:r}:{messages:n,retained:null}:{messages:n,retained:null}},zb=e=>({newSessionDraft:e?.features?.newSessionDraft??!e,promptNavigator:e?.features?.promptNavigator??!e,returnToParent:e?.features?.returnToParent??!e}),Bb=`text-[13px] leading-4 sm:text-[length:var(--text-micro)] sm:leading-5`,Vb=`relative bottom-safe-area oc-mobile-readonly-prompt-foot`,Hb=e=>{let t=(0,Q.c)(8),{providerId:n,modelId:r,label:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(X,{name:`brain-ai-3`,className:`size-3.5`}),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=(0,$.jsx)(`span`,{role:`img`,"aria-label":i,className:`inline-flex size-3.5 shrink-0 items-center justify-center`,children:a}),t[1]=i,t[2]=o);let s;return t[3]!==i||t[4]!==r||t[5]!==n||t[6]!==o?(s=(0,$.jsx)(Oa,{modelId:r,providerId:n,alt:i,className:`size-3.5 shrink-0`,fallback:o}),t[3]=i,t[4]=r,t[5]=n,t[6]=o,t[7]=s):s=t[7],s},Ub=e=>{let t=(0,Q.c)(42),{t:n}=ot(),r=c(Wb),i=`agentName`in e||`providerId`in e||`modelId`in e||`modelName`in e;if(!i){let e=r&&Vb,i;t[0]===e?i=t[1]:(i=Y(`p-3`,e),t[0]=e,t[1]=i);let a;t[2]===n?a=t[3]:(a=n(`chat.container.readOnlySubagentPromptBanner`),t[2]=n,t[3]=a);let o;t[4]===a?o=t[5]:(o=(0,$.jsx)(`div`,{className:`rounded-2xl border border-border/70 bg-[var(--surface-background)] px-4 py-3 text-muted-foreground ${Bb}`,children:a}),t[4]=a,t[5]=o);let s;return t[6]!==i||t[7]!==o?(s=(0,$.jsx)(`div`,{className:i,children:o}),t[6]=i,t[7]=o,t[8]=s):s=t[8],s}let a;t[9]===n?a=t[10]:(a=n(`common.unavailable`),t[9]=n,t[10]=a);let o=a,s;t[11]!==e.agentName||t[12]!==o?(s=e.agentName?e.agentName.charAt(0).toUpperCase()+e.agentName.slice(1):o,t[11]=e.agentName,t[12]=o,t[13]=s):s=t[13];let l=s,u=e.modelName||o,d;t[14]===n?d=t[15]:(d=n(`chat.leaderKey.action.agent`),t[14]=n,t[15]=d);let f=`${d}: ${l}`,p;t[16]===n?p=t[17]:(p=n(`chat.leaderKey.action.model`),t[16]=n,t[17]=p);let m=`${p}: ${u}`,h=r&&Vb,g;t[18]===h?g=t[19]:(g=Y(`shrink-0 border-t border-border/70 bg-[var(--surface-background)] p-3`,h),t[18]=h,t[19]=g);let _=r&&`oc-mobile-readonly-prompt-surface`,v;t[20]===_?v=t[21]:(v=Y(`rounded-2xl border border-border/70 bg-[var(--surface-elevated)] px-3 py-2.5 sm:px-4 sm:py-3`,_),t[20]=_,t[21]=v);let y;t[22]===n?y=t[23]:(y=n(`chat.container.readOnlySubagentPromptBanner`),t[22]=n,t[23]=y);let b;t[24]===y?b=t[25]:(b=(0,$.jsx)(`div`,{className:`text-muted-foreground ${Bb}`,children:y}),t[24]=y,t[25]=b);let x;t[26]!==f||t[27]!==l||t[28]!==m||t[29]!==u||t[30]!==e.agentName||t[31]!==e.modelId||t[32]!==e.providerId||t[33]!==i?(x=i?(0,$.jsxs)(`div`,{"data-testid":`read-only-prompt-banner-meta`,className:`mt-1.5 flex min-w-0 items-center justify-between gap-3 border-t border-border/70 pt-1.5 text-[13px] leading-none sm:text-[length:var(--text-micro)]`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden`,children:[(0,$.jsx)(na,{name:e.agentName,size:14,label:f}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-foreground`,title:l,children:l})]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 max-w-[55%] items-center justify-end gap-1.5 overflow-hidden`,children:[(0,$.jsx)(Hb,{providerId:e.providerId,modelId:e.modelId,label:m}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-right text-foreground`,title:u,children:u})]})]}):null,t[26]=f,t[27]=l,t[28]=m,t[29]=u,t[30]=e.agentName,t[31]=e.modelId,t[32]=e.providerId,t[33]=i,t[34]=x):x=t[34];let S;t[35]!==x||t[36]!==v||t[37]!==b?(S=(0,$.jsxs)(`div`,{className:v,children:[b,x]}),t[35]=x,t[36]=v,t[37]=b,t[38]=S):S=t[38];let C;return t[39]!==S||t[40]!==g?(C=(0,$.jsx)(`aside`,{className:g,children:S}),t[39]=S,t[40]=g,t[41]=C):C=t[41],C};function Wb(e){return e.isMobile}var Gb=Z.memo(()=>{let e=(0,Q.c)(5),{t}=ot(),{currentTheme:n}=Va(),r=qi(Kb),i=n?.colors?.surface?.mutedForeground||`var(--muted-foreground)`,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Ua,{width:140,height:140,className:`opacity-20`}),e[0]=a):a=e[0];let o;return e[1]!==r||e[2]!==t||e[3]!==i?(o=(0,$.jsxs)(`div`,{className:`flex flex-col items-center justify-center min-h-full w-full gap-6`,children:[a,r?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 max-w-md text-center px-4`,children:[(0,$.jsx)(`span`,{className:`text-body-md font-medium text-destructive`,children:t(`chat.emptyState.opencodeUnreachable`)}),(0,$.jsx)(`span`,{className:`text-body-sm`,style:{color:i},children:r.message})]}):(0,$.jsx)(`span`,{className:`text-body-md`,style:{color:i},children:t(`chat.emptyState.startNewChat`)})]}),e[1]=r,e[2]=t,e[3]=i,e[4]=o):o=e[4],o});function Kb(e){return e.error}var qb=class e{static instance;sessionStartTimes=new Map;seenMessageIds=new Set;messageCreationTimes=new Map;constructor(){}static getInstance(){return e.instance||=new e,e.instance}recordSessionStart(e){this.sessionStartTimes.set(e,Date.now())}getSessionStartTime(e){return this.sessionStartTimes.get(e)}shouldAnimateMessage(e,t){if(e.role!==`assistant`||this.seenMessageIds.has(e.id))return!1;let n=this.sessionStartTimes.get(t);if(!n)return this.seenMessageIds.add(e.id),this.messageCreationTimes.set(e.id,e.time.created),!1;let r=e.time.created>n-5e3;return r||(this.seenMessageIds.add(e.id),this.messageCreationTimes.set(e.id,e.time.created)),r}clearSession(e){this.sessionStartTimes.delete(e)}hasSessionTiming(e){return this.sessionStartTimes.has(e)}hasBeenAnimated(e){return this.seenMessageIds.has(e)}markMessageAsAnimated(e,t){this.seenMessageIds.add(e),this.messageCreationTimes.set(e,t)}clearAll(){this.sessionStartTimes.clear(),this.seenMessageIds.clear(),this.messageCreationTimes.clear()}getDebugInfo(){return{sessionStartTimes:new Map(this.sessionStartTimes),seenMessageIds:new Set(this.seenMessageIds),messageCreationTimes:new Map(this.messageCreationTimes)}}},Jb=de(e=>({planModeEnabled:!1,setPlanModeEnabled:t=>e({planModeEnabled:t})})),Yb=e=>{if(!e?.trim())return null;let t=e.trim();return t.toLowerCase()==="default"?null:Xn(t)},Xb=Z.memo(e=>{let t=(0,Q.c)(31),{isUser:n,isMobile:r,providerID:i,modelID:a,agentName:o,modelName:s,variant:c}=e,l;t[0]!==r||t[1]!==n||t[2]!==c?(l=!n&&!r?Yb(c):null,t[0]=r,t[1]=n,t[2]=c,t[3]=l):l=t[3];let u=l,d=s||`Assistant`,f,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=Y(`mb-1.5`),p=Y(`flex items-center justify-between gap-2`),t[4]=f,t[5]=p):(f=t[4],p=t[5]);let m;t[6]!==o||t[7]!==n||t[8]!==a||t[9]!==i?(m=(0,$.jsx)(`div`,{className:`flex-shrink-0`,children:n?(0,$.jsx)(`div`,{className:`w-9 h-9 rounded-xl bg-primary/10 flex items-center justify-center`,children:(0,$.jsx)(X,{name:`user-3`,className:`h-4 w-4 text-primary`})}):(0,$.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,$.jsx)(Oa,{modelId:a,providerId:i,className:`h-4 w-4`,fallback:(0,$.jsx)(X,{name:`brain-ai-3`,className:`h-4 w-4`,style:{color:`var(${ta(o).var})`}})})})}),t[6]=o,t[7]=n,t[8]=a,t[9]=i,t[10]=m):m=t[10];let h=n?`text-primary`:`text-foreground`,g;t[11]===h?g=t[12]:(g=Y(`inline-flex min-w-0 items-center gap-1.5 font-semibold typography-ui-header tracking-tight leading-tight`,h),t[11]=h,t[12]=g);let _=n?`You`:d,v;t[13]===_?v=t[14]:(v=(0,$.jsx)(`span`,{className:`truncate`,children:_}),t[13]=_,t[14]=v);let y;t[15]===u?y=t[16]:(y=u?(0,$.jsx)(`span`,{className:`shrink-0 text-xs font-normal leading-tight text-muted-foreground`,children:u}):null,t[15]=u,t[16]=y);let b;t[17]!==g||t[18]!==v||t[19]!==y?(b=(0,$.jsxs)(`h3`,{className:g,children:[v,y]}),t[17]=g,t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;t[21]!==o||t[22]!==r||t[23]!==n?(x=!n&&o&&(0,$.jsxs)(`div`,{className:Y(`agent-badge inline-flex items-center gap-1 cursor-default rounded font-normal leading-tight`,r?`px-1 py-px text-[10px]`:`px-1.5 py-0.5 typography-micro`,ta(o).class),children:[(0,$.jsx)(na,{name:o,size:10}),(0,$.jsx)(`span`,{children:o.charAt(0).toUpperCase()+o.slice(1)})]}),t[21]=o,t[22]=r,t[23]=n,t[24]=x):x=t[24];let S;t[25]!==b||t[26]!==x?(S=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b,x]}),t[25]=b,t[26]=x,t[27]=S):S=t[27];let C;return t[28]!==S||t[29]!==m?(C=(0,$.jsx)(`div`,{className:f,children:(0,$.jsx)(`div`,{className:p,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[m,S]})})}),t[28]=S,t[29]=m,t[30]=C):C=t[30],C}),Zb=/(^|\s)\/([a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?)/g,Qb=/(```[\s\S]*?```|~~~[\s\S]*?~~~)/g,$b=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`),ex=(e,t)=>e.split(Qb).map((e,n)=>n%2==1?e:t(e)).join(``),tx=e=>ex(e,e=>e.replace(/ *\n/g,`
6539
6539
  `)),nx=({textContent:e,agentMention:t,skillNames:n,decorateInlineReferences:r=!0})=>{let i=ex(e,$b);if(r){if(t?.token&&i.includes(t.token)){let e=`[${t.token}](${hs(t.name)})`;i=i.replace(t.token,e)}i=i.replace(Zb,(e,t,r)=>n.has(r)?`${t}[/${r}](${fs(r)})`:e)}return tx(i)},rx=e=>(Zb.lastIndex=0,Zb.test(e)||e.includes(`[skill:`)),ix=e=>e===`markdown`?`markdown`:`plain`,ax=e=>{if(typeof window>`u`)return!1;let t=window.getSelection();if(!t||t.isCollapsed||t.rangeCount===0)return!1;let n=t.getRangeAt(0);return e.contains(n.startContainer)||e.contains(n.endContainer)},ox=Z.memo(({part:e,messageId:t,agentMention:n,messageParts:r})=>{let i=e,a=i.text,o=typeof a==`string`?a:i.content||i.value||``,[s,l]=Z.useState(!1),[u,d]=Z.useState(!1),f=c(e=>e.userMessageRenderingMode),p=c(e=>e.collapsibleUserMessages),m=os(),h=Ti({directory:m,enabled:rx(o)}),g=Z.useMemo(()=>h.data??[],[h.data]),_=c(e=>e.openContextFile),{t:v}=ot(),y=ix(f),b=p&&!s,x=Z.useRef(null),S=Z.useMemo(()=>new Map(g.map(e=>[e.name,e])),[g]),C=Z.useMemo(()=>Yd(r,o),[r,o]),w=Z.useMemo(()=>{let e=new Map;for(let t of r??[]){if(t.type!==`text`||!Zn(t))continue;let n=t.text;if(typeof n==`string`)for(let t of Nr(n))e.set(t.id,{sessionId:t.id,sessionLabel:t.title||t.id})}if(o.includes(`@`))for(let[t,n]of pr()){let r=typeof n.title==`string`?n.title.trim():``;!r||e.has(t)||(o.includes(`@${r}`)||o.includes(`@${ee}${r}`))&&e.set(t,{sessionId:t,sessionLabel:r})}return Array.from(e.values())},[r,o]),T=q(e=>{let t=S.get(e),n=typeof t?.path==`string`?t.path:``,r=xo(n);if(!r||r===`<built-in>`)return;let i=r.toLowerCase().endsWith(`/skill.md`)?r:`${r}/SKILL.md`,a=m||vo(``,i)||`/`,o=()=>{_(a,i)};if(m&&!wo(i,m)){ss(i,m).then(o);return}o()});Z.useEffect(()=>{let e=x.current;if(!e)return;let t=()=>{p&&!s&&d(e.scrollHeight>e.clientHeight)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[p,o,s]),Z.useEffect(()=>{p||(l(!1),d(!1))},[p]);let E=q(e=>{let t=e.target,n=(t?.closest(`[data-skill-name]`))?.dataset.skillName??ls(t?.closest(`a[href]`)?.getAttribute(`href`));if(n){e.preventDefault(),e.stopPropagation(),T(n);return}let r=x.current;r&&(ax(r)||p&&!s&&u&&l(!0))}),D=q(e=>{e.stopPropagation(),l(!1)}),O=Z.useMemo(()=>Ud(o,{skillNames:new Set(S.keys()),citationIcons:C.icons,citationDisplayNames:C.displayNames,sessionMentions:w,agentNames:n?.name?new Set([n.name.toLowerCase(),n.token.replace(/^@/,``).toLowerCase()]):void 0,allowPathHeuristics:!0}),[n,C,w,S,o]),k=Z.useMemo(()=>nx({textContent:o,agentMention:n,skillNames:new Set(S.keys()),decorateInlineReferences:!O}),[n,O,S,o]),A=(e,t)=>{if(!e)return null;if(y===`markdown`){let n=nx({textContent:e,skillNames:new Set,decorateInlineReferences:!1});return(0,$.jsx)(Po,{content:n,className:Y(`inline w-auto align-baseline [&_.markdown-content]:contents [&_.markdown-content_p]:inline [&_[data-markdown-size-spacer]]:inline`,`[&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,b&&[`[&_.markdown-content>*]:my-0`,`[&_[data-component='markdown-code']]:my-0`,`[&_[data-component='markdown-code']]:inline`,`[&_[data-component='markdown-code']]:border-0`,`[&_[data-component='markdown-code']]:bg-transparent`,`[&_[data-component='markdown-code']>*:first-child]:hidden`,`[&_[data-component='markdown-code']>div]:inline`,`[&_[data-component='markdown-code']>div]:p-0`,`[&_[data-component='markdown-code']_pre]:inline`,`[&_[data-component='markdown-code']_code]:inline`,`[&_[data-md-code-line-numbers]]:hidden`]),disableLinkSafety:!0,enableFileReferences:!1},t)}return(0,$.jsx)(Z.Fragment,{children:e},t)},j=e=>e.map((e,t)=>e.type===`text`?A(e.text,`text-${t}`):(0,$.jsx)(Zd,{decoration:e.decoration,onOpenSkill:T},`ref-${t}-${e.span.start}`)),M=Z.useMemo(()=>{if(O)return j(O);let e=[],t=0,r=!1,i;for(Zb.lastIndex=0;(i=Zb.exec(o))!==null;){let n=i[1]||``,r=i[2],a=i.index+n.length;S.has(r)&&(i.index>t&&e.push(o.slice(t,i.index)),n&&e.push(n),e.push((0,$.jsxs)(`button`,{type:`button`,className:`text-primary hover:underline`,onClick:e=>{e.stopPropagation(),T(r)},children:[`/`,r]},`skill-${a}-${r}`)),t=a+r.length+1)}t<o.length&&e.push(o.slice(t));let a=e.length>0?e:[o];return!n?.token||!o.includes(n.token)?a:a.flatMap((e,t)=>{if(r||typeof e!=`string`)return e;let i=e.indexOf(n.token);return i===-1?e:(r=!0,[e.slice(0,i),(0,$.jsx)(`a`,{href:cs(n.name),className:`text-primary hover:underline`,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:n.token},`agent-${t}`),e.slice(i+n.token.length)])})},[n,T,O,j,S,o]);return!o||o.trim().length===0?null:(0,$.jsxs)(`div`,{className:`relative`,children:[p&&s&&(0,$.jsx)(`button`,{type:`button`,onClick:D,className:`absolute top-0 right-0 z-10 flex items-center justify-center rounded-sm bg-[var(--surface-elevated)] p-0.5 text-[var(--surface-mutedForeground)] hover:text-[var(--surface-foreground)] hover:bg-[var(--interactive-hover)] transition-colors`,"aria-label":v(`chat.message.userText.collapseAria`),children:(0,$.jsx)(X,{name:`arrow-up-s`,className:`h-3.5 w-3.5`})}),(0,$.jsx)(`div`,{className:Y(`break-words font-sans typography-markdown-body`,s&&`pb-3`,y===`plain`&&`whitespace-pre-wrap`,b&&`line-clamp-10`,p&&u&&!s&&`cursor-pointer`),ref:x,onClick:E,children:y===`markdown`?O?j(O):(0,$.jsx)(Po,{content:k,className:Y(`[&_.markdown-content>*:first-child]:mt-0 [&_.markdown-content>*:last-child]:mb-0`,b&&[`[&_.markdown-content>*]:my-0`,`[&_[data-component='markdown-code']]:my-0`,`[&_[data-component='markdown-code']]:inline`,`[&_[data-component='markdown-code']]:border-0`,`[&_[data-component='markdown-code']]:bg-transparent`,`[&_[data-component='markdown-code']>*:first-child]:hidden`,`[&_[data-component='markdown-code']>div]:inline`,`[&_[data-component='markdown-code']>div]:p-0`,`[&_[data-component='markdown-code']_pre]:inline`,`[&_[data-component='markdown-code']_code]:inline`,`[&_[data-md-code-line-numbers]]:hidden`]),disableLinkSafety:!0,enableFileReferences:!1}):M})]},e.id||`${t}-user-text`)}),sx=[{variant:`static`,component:({children:e,className:t,...n})=>(0,$.jsx)(`span`,{...n,className:t,children:e})},{variant:`generate-effect`,component:({children:e,className:t,...n})=>{if(e==null)return null;let r=typeof e==`string`?e:typeof e==`number`?String(e):Array.isArray(e)?e.map(e=>typeof e==`string`||typeof e==`number`?String(e):``).join(``):``;return r?(0,$.jsx)(`span`,{className:Y(`inline-block align-baseline`,t),children:r.split(``).map((e,t)=>(0,Z.createElement)(bc.span,{...n,key:e+String(t),className:Y(`inline-block whitespace-pre align-baseline`),initial:{opacity:0},animate:{opacity:1},transition:{ease:`easeOut`,duration:.14,delay:Math.min(t*.0045,.14)}},e))}):null}},{variant:`glitch`,component:({children:e,className:t,...n})=>(0,$.jsxs)(`div`,{className:`group relative overflow-hidden font-medium`,children:[(0,$.jsx)(`span`,{...n,className:Y(`invisible`,t),children:e}),(0,$.jsx)(`span`,{...n,className:Y(`absolute top-0 left-0 text-primary-muted transition-transform duration-500 ease-in-out`,`group-hover:-translate-y-full hover:duration-300`,t),children:e}),(0,$.jsx)(`span`,{...n,className:Y(`absolute top-0 left-0 translate-y-full text-primary-muted transition-transform duration-500`,`ease-in-out hover:duration-300 group-hover:translate-y-0`,t),children:e})]})},{variant:`hover-enter`,component:({children:e,className:t,...n})=>{if(typeof e!=`string`)return null;let r=.25,i=.025,a=e.split(``).map(e=>e===` `?`\xA0`:e);return(0,$.jsxs)(bc.span,{...n,className:Y(`relative block select-none overflow-hidden whitespace-nowrap text-primary-muted`,t),initial:`initial`,whileHover:`hovered`,style:{lineHeight:.9},children:[(0,$.jsx)(`div`,{children:a.map((e,t)=>(0,$.jsx)(bc.span,{className:`inline-block`,variants:{initial:{y:0},hovered:{y:`-100%`}},transition:{duration:r,ease:`easeInOut`,delay:i*t},children:e},String(t)))}),(0,$.jsx)(`div`,{className:Y(`absolute inset-0`),children:a.map((e,t)=>(0,$.jsx)(bc.span,{className:`inline-block`,variants:{initial:{y:`100%`},hovered:{y:0}},transition:{duration:r,ease:`easeInOut`,delay:i*t},children:e},String(t)))})]})}},{variant:`shake`,component:({children:e,className:t,...n})=>(0,$.jsx)(`span`,{...n,className:Y(`text-primary-muted hover:animate-text-shake`,t),children:e})},{variant:`hover-decoration`,component:({children:e,className:t,...n})=>(0,$.jsx)(`div`,{className:Y(`relative after:absolute after:bottom-0 after:left-0 after:h-px after:w-full after:origin-bottom-right`,`after:scale-x-0 after:bg-primary-muted after:transition-transform after:duration-300 after:ease-in-out hover:after:origin-bottom-left hover:after:scale-x-100`),children:(0,$.jsx)(`span`,{...n,className:Y(`text-primary-muted`,t),children:e})})}];function cx(e){let t=(0,Q.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({variant:i,className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`static`:i,o;t[4]===a?o=t[5]:(o=sx.find(e=>e.variant===a)?.component,t[4]=a,t[5]=o);let s=o||sx[0].component,c;return t[6]!==s||t[7]!==n||t[8]!==r?(c=(0,$.jsx)(s,{...r,className:n}),t[6]=s,t[7]=n,t[8]=r,t[9]=c):c=t[9],c}var lx=e=>{let t=`h-3.5 w-3.5 flex-shrink-0`,n=`h-[13px] w-[13px] flex-shrink-0`,r=e.toLowerCase();return r===`edit`||r===`multiedit`||r===`apply_patch`||r===`str_replace`||r===`str_replace_based_edit_tool`?(0,$.jsx)(X,{name:`pencil`,className:n}):r===`write`||r===`create`||r===`file_write`?(0,$.jsx)(X,{name:`file-edit`,className:n}):r===`read`||r===`view`||r===`file_read`||r===`cat`?(0,$.jsx)(X,{name:`file-text`,className:t}):r===`bash`||r===`shell`||r===`cmd`||r===`terminal`?(0,$.jsx)(X,{name:`terminal-box`,className:t}):r===`list`||r===`ls`||r===`dir`||r===`list_files`?(0,$.jsx)(X,{name:`folder-6`,className:t}):r===`search`||r===`grep`||r===`find`||r===`ripgrep`?(0,$.jsx)(X,{name:`menu-search`,className:t}):r===`glob`?(0,$.jsx)(X,{name:`file-search`,className:t}):r===`fetch`||r===`curl`||r===`wget`||r===`webfetch`||r===`web-search`||r===`websearch`||r===`search_web`||r===`codesearch`||r===`google`||r===`bing`||r===`duckduckgo`||r===`perplexity`?(0,$.jsx)(X,{name:`global`,className:t}):r===`todowrite`||r===`todoread`?(0,$.jsx)(X,{name:`list-check-3`,className:t}):r===`structuredoutput`||r===`structured_output`?(0,$.jsx)(X,{name:`list-check-2`,className:t}):r===`skill`?(0,$.jsx)(X,{name:`book`,className:t}):r===`task`?(0,$.jsx)(X,{name:`ai-agent`,className:t}):r===`question`?(0,$.jsx)(X,{name:`survey`,className:t}):r===`lsp`?(0,$.jsx)(X,{name:`scan-2`,className:t}):r===`plan_enter`?(0,$.jsx)(X,{name:`file-list-2`,className:t}):r===`plan_exit`?(0,$.jsx)(X,{name:`task`,className:t}):r.startsWith(`git`)?(0,$.jsx)(X,{name:`git-branch`,className:t}):(0,$.jsx)(X,{name:`tools`,className:t})},ux=new Map,dx=e=>{let t=ux.get(e);if(t)return t;let n={subscribers:new Set,timerId:null};return ux.set(e,n),n},fx=(e,t)=>{let n=dx(e);return n.subscribers.add(t),t(Date.now()),n.timerId===null&&typeof window<`u`&&(n.timerId=window.setInterval(()=>{let e=Date.now();n.subscribers.forEach(t=>{t(e)})},e)),()=>{let n=ux.get(e);n&&(n.subscribers.delete(t),!(n.subscribers.size>0)&&(n.timerId!==null&&typeof window<`u`&&window.clearInterval(n.timerId),ux.delete(e)))}},px=(e,t)=>{let n=(0,Q.c)(4),r=t===void 0?250:t,[i,a]=Z.useState(mx),o,s;return n[0]!==e||n[1]!==r?(o=()=>{if(e)return fx(r,a)},s=[e,r],n[0]=e,n[1]=r,n[2]=o,n[3]=s):(o=n[2],s=n[3]),Z.useEffect(o,s),i};function mx(){return Date.now()}var hx=e=>e.match(/<task\s+id="([^"]+)"(?:\s+[^>]*)?>/i)?.[1],gx=e=>{if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0},_x=e=>{if(!e||typeof e!=`object`)return;let t=e;return gx(t.sessionId)??gx(t.sessionID)},vx=(e,t)=>{if(!t)return e;let n=!1,r=e.map(e=>e?.type!==`subtask`||e.taskSessionID===t?e:(n=!0,{...e,taskSessionID:t}));return n?r:e},yx=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n==`string`){t.push({tool:`tool`,state:{status:`completed`,title:n}});continue}if(!n||typeof n!=`object`)continue;let e=n;t.push({id:typeof e.id==`string`?e.id:void 0,tool:typeof e.tool==`string`?e.tool:`tool`,state:{status:typeof e.state?.status==`string`?e.state.status:typeof e.status==`string`?e.status:void 0,title:typeof e.state?.title==`string`?e.state.title:typeof e.title==`string`?e.title:void 0,input:e.state?.input&&typeof e.state.input==`object`?e.state.input:void 0}})}return t},bx=e=>{if(typeof e!=`string`||e.trim().length===0)return{summaryEntries:[]};let t=e.match(/<task_metadata>\s*([\s\S]*?)\s*<\/task_metadata>/i);if(!t?.[1])return{summaryEntries:[]};try{let e=JSON.parse(t[1].trim());return{sessionId:gx(e.sessionId)??gx(e.sessionID),status:gx(e.status),summaryEntries:yx(e.summary??e.entries??e.tools??e.calls)}}catch{return{summaryEntries:[]}}},xx=e=>{if(typeof e!=`string`||e.trim().length===0)return;let t=bx(e);if(t.sessionId)return t.sessionId;let n=e.match(/task_id\s*:\s*([^\s<"']+)/i),r=e.match(/session[_\s-]?id\s*:\s*([^\s<"']+)/i);return gx((n?.[1]??r?.[1])||hx(e))},Sx=e=>{if(!(!e||typeof e!=`object`))return gx(e.status)},Cx=/"status"\s*:\s*"running"/i,wx=/\bstatus\s*[:=]\s*["'`]?running\b/i,Tx=e=>{if(typeof e!=`string`||e.trim().length===0)return!1;let t=e.match(/<task_metadata>\s*([\s\S]*?)\s*<\/task_metadata>/i);return t?.[1]&&Cx.test(t[1])?!0:wx.test(e)},Ex=/<subagent\s+([^>]*?)>([\s\S]*?)<\/subagent>/i,Dx=(e,t)=>gx(e.match(RegExp(`${t}\\s*=\\s*"([^"]*)"`,`i`))?.[1]),Ox=e=>{if(e===`completed`||e===`error`||e===`cancelled`)return e},kx=e=>{if(typeof e!=`string`||e.trim().length===0)return;let t=e.trim().match(Ex);if(!t)return;let n=Dx(t[1],`sessionID`)??Dx(t[1],`sessionId`),r=Ox(Dx(t[1],`state`));if(!(!n||!r))return{sessionID:n,state:r,description:Dx(t[1],`description`),body:t[2].trim()}},Ax=new WeakMap,jx=e=>{let t=Ax.get(e);if(t)return t;let n=[];if(e.info.role===`assistant`)for(let t of e.parts){if(t.type!==`tool`)continue;let e=t.tool?.trim().toLowerCase();if(!e||e===`task`||e===`todowrite`||e===`todoread`)continue;let r=t.state;n.push({id:t.id,tool:t.tool,state:{status:r?.status,title:r?.title,input:r?.input&&typeof r.input==`object`?r.input:void 0}})}return Ax.set(e,n),n},Mx=e=>{let t=[];for(let n of e)t.push(...jx(n));return t},Nx=e=>e.replace(/\n*<task_metadata>[\s\S]*?<\/task_metadata>\s*$/i,``).trimEnd(),Px=[`summary`,`changes`,`verification`],Fx={summary:`Summary`,changes:`Changes`,verification:`Verification`},Ix=/<(summary|changes|verification)(?:\s[^>]*)?>/i,Lx=()=>RegExp(`<(${Px.join(`|`)})(?:\\s[^>]*)?>\\s*([\\s\\S]*?)\\s*<\\/\\1>`,`gi`),Rx=e=>typeof e!=`string`||e.length===0?!1:Ix.test(e),zx=e=>typeof e!=`string`||e.length===0||!e.includes(`<`)||!Rx(e)?e:e.replace(Lx(),(e,t,n)=>{let r=Fx[t.toLowerCase()]??t,i=n.trim();return i.length>0?`## ${r}\n\n${i}`:`## ${r}`}).trimEnd(),Bx=e=>zx(Nx(e)),Vx=e=>{if(!e.isTaskTool)return{isDelegating:!1,showAvatar:!1,title:e.displayName};let t=e.taskAgentName?e.formatName(e.taskAgentName):void 0,n=!!(e.taskSessionId||t);return!e.isFinalized&&!n?{isDelegating:!0,showAvatar:!1,title:e.delegatingLabel}:{isDelegating:!1,showAvatar:n,title:t??e.displayName}};function Hx(e){if(!e.isTaskTool||e.isFinalized)return!1;let t=e.taskSessionId?e.childSessionStatus:e.parentSessionStatus;if(t){if(t.type!==`idle`)return!1;if(typeof e.taskStartedAt==`number`&&typeof e.statusObservedAt==`number`&&e.taskStartedAt<=e.statusObservedAt)return!0}return typeof e.taskStartedAt==`number`&&typeof e.statusSnapshotAt==`number`&&e.taskStartedAt<=e.statusSnapshotAt}var Ux=(e,t)=>{if(e===t)return!0;if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;let n=e,r=t;return n.input===r.input&&n.output===r.output&&n.reasoning===r.reasoning&&n.cache?.read===r.cache?.read&&n.cache?.write===r.cache?.write},Wx=e=>{if(!e)return null;let t=e.id;return typeof t==`string`&&t.length>0?t:null},Gx=e=>{let t=e?.state?.status;return typeof t==`string`?t:null},Kx=e=>e?.state,qx=e=>e?.metadata,Jx=e=>{let t=e?.time;return{start:typeof t?.start==`number`?t.start:null,end:typeof t?.end==`number`?t.end:null}},Yx=e=>{let t=e;return t?[typeof t.text==`string`?t.text:``,typeof t.content==`string`?t.content:``,typeof t.value==`string`?t.value:``].reduce((e,t)=>t.length>e.length?t:e,``):``},Xx=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.type!==i.type||Wx(r)!==Wx(i))return!1;if(r.type===`tool`){if(Kx(r)!==Kx(i)||qx(r)!==qx(i)||Gx(r)!==Gx(i))return!1;let e=Jx(r),t=Jx(i);if(e.start!==t.start||e.end!==t.end||r.tool!==i.tool||r.output!==i.output)return!1;continue}let a=Jx(r),o=Jx(i);if(a.start!==o.start||a.end!==o.end)return!1;if(r.type===`text`||r.type===`reasoning`){if(Yx(r)!==Yx(i))return!1;let e=r.shellAction,t=i.shellAction;if((e||t)&&(e?.command!==t?.command||e?.output!==t?.output||e?.status!==t?.status))return!1}}return!0},Zx=(e,t)=>e===t||e.id===t.id&&e.role===t.role&&e.sessionID===t.sessionID&&e.finish===t.finish&&e.status===t.status&&e.mode===t.mode&&e.agent===t.agent&&e.providerID===t.providerID&&e.modelID===t.modelID&&e.variant===t.variant&&e.clientRole===t.clientRole&&e.userMessageMarker===t.userMessageMarker&&(e.time?.created??null)===(t.time?.created??null)&&(e.time?.completed??null)===(t.time?.completed??null)&&Ux(e.tokens,t.tokens),Qx=(e,t)=>Zx(e.info,t.info)&&Xx(e.parts,t.parts),$x=(e,t)=>!e||!t?e===t:Qx(e,t),eS=(e,t)=>!e||!t?e===t:e.additions===t.additions&&e.deletions===t.deletions&&e.files===t.files&&e.hasDiffs===t.hasDiffs,tS=(e,t)=>{if(e===t)return!0;if(!e||!t)return!e&&!t;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.file!==i.file||r.additions!==i.additions||r.deletions!==i.deletions)return!1}return!0},nS=(e,t)=>e.id===t.id&&e.messageId===t.messageId&&e.kind===t.kind&&e.partIndex===t.partIndex&&e.endedAt===t.endedAt&&Xx([e.part],[t.part]),rS=(e,t,n)=>{let r=0,i=0;for(;;){for(;r<(e?.length??0)&&e?.[r]?.messageId!==n;)r+=1;for(;i<(t?.length??0)&&t?.[i]?.messageId!==n;)i+=1;let a=e?.[r],o=t?.[i];if(!a||!o)return a===o;if(!nS(a,o))return!1;r+=1,i+=1}},iS=(e,t)=>{if(e.id!==t.id||e.anchorMessageId!==t.anchorMessageId||e.afterToolPartId!==t.afterToolPartId||e.parts.length!==t.parts.length)return!1;for(let n=0;n<e.parts.length;n+=1)if(!nS(e.parts[n],t.parts[n]))return!1;return!0},aS=(e,t)=>!!e?.some(e=>e.anchorMessageId===t),oS=(e,t,n)=>{let r=0,i=0;for(;;){for(;r<(e?.length??0)&&e?.[r]?.anchorMessageId!==n;)r+=1;for(;i<(t?.length??0)&&t?.[i]?.anchorMessageId!==n;)i+=1;let a=e?.[r],o=t?.[i];if(!a||!o)return a===o;if(!iS(a,o))return!1;r+=1,i+=1}},sS=(e,t,n,r)=>{if(e===t)return!0;if(!e||!t)return e===t;if(r)return!0;if(e.isGroupExpanded!==t.isGroupExpanded||e.turnId!==t.turnId||e.isFirstAssistantInTurn!==t.isFirstAssistantInTurn||e.isLastAssistantInTurn!==t.isLastAssistantInTurn||e.isLatestTurn!==t.isLatestTurn||e.isWorking!==t.isWorking||e.isTurnSettled!==t.isTurnSettled||e.hasTools!==t.hasTools||e.hasReasoning!==t.hasReasoning||e.userMessageCreatedAt!==t.userMessageCreatedAt||e.userMessageVariant!==t.userMessageVariant||(e.headerMessageId===n||t.headerMessageId===n)&&e.headerMessageId!==t.headerMessageId)return!1;let i=e.activityOwnerMessageId===n||t.activityOwnerMessageId===n;if(i&&e.activityOwnerMessageId!==t.activityOwnerMessageId||!rS(e.activityParts,t.activityParts,n)||!oS(e.activityGroupSegments,t.activityGroupSegments,n))return!1;let a=aS(e.activityGroupSegments,n)||aS(t.activityGroupSegments,n);return!((i||a)&&e.toggleGroup!==t.toggleGroup||(i||a||e.isLastAssistantInTurn||t.isLastAssistantInTurn)&&!eS(e.diffStats,t.diffStats)||(i||a||e.isLastAssistantInTurn||t.isLastAssistantInTurn)&&!tS(e.changedFiles,t.changedFiles))},cS=/^\*\*\*\s+(?:Begin Patch|End Patch|Add File:|Update File:|Delete File:|Move to:)/m,lS=/^@@\s+-\d+(?:,\d+)?\s+\+\d+(?:,\d+)?\s+@@/m,uS=/(?=^diff --git\s+)/gm,dS=/^diff --git\s+/m,fS=/(?=^---\s+\S)/gm,pS=/^---\s+\S/m,mS=e=>typeof e==`object`&&!!e,hS=e=>e.replace(/\r\n/g,`
6540
6540
  `).replace(/\r/g,`
6541
6541
  `).trim(),gS=e=>{let t=!1;return e.split(`
@@ -6573,7 +6573,7 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{D as t,E as n,F as r,T
6573
6573
 
6574
6574
  `):LT(Array.from(t.childNodes).map(e=>HT(e)).join(``))},GT=e=>Array.from(e.childNodes).every(e=>{if(e.nodeType===Node.TEXT_NODE||e.nodeType!==Node.ELEMENT_NODE)return!0;let t=e;return!FT.has(t.tagName.toLowerCase())}),KT=(e,t)=>{let n=e.cloneContents();if(GT(n)){let e=LT(Array.from(n.childNodes).map(e=>HT(e)).join(``));if(e)return e}return Array.from(n.childNodes).map(e=>WT(e)).filter(e=>e.length>0).join(`
6575
6575
 
6576
- `).trim()||LT(t)},qT=({containerRef:e})=>{let{t}=ot(),[n,r]=Z.useState({x:0,y:0,show:!1}),[i,a]=Z.useState(``),[o,s]=Z.useState(``),l=Z.useRef(!1),[u,f]=Z.useState(!1),[p,m]=Z.useState(!1),h=Z.useRef(null),g=Z.useRef(NT),_=Z.useRef(null),v=Z.useRef(null),y=Z.useRef(null),b=Z.useRef(!1),x=J(e=>e.createSession),S=J(e=>e.currentSessionId),C=_n(e=>e.setPendingInputText),w=c(e=>e.isMobile),T=Hi(e=>e.projects),E=J(e=>e.availableWorktreesByProject),D=os(),O=ji(),k=$m(Qm()).textSelectionMutation;Z.useEffect(()=>{b.current=n.show},[n.show]),Z.useEffect(()=>()=>{v.current!==null&&(window.cancelAnimationFrame(v.current),v.current=null),y.current!==null&&(window.clearTimeout(y.current),y.current=null)},[]);let A=Z.useCallback(()=>{_.current=null,PT===A&&(PT=null),b.current&&=(v.current!==null&&(window.cancelAnimationFrame(v.current),v.current=null),f(!1),r(e=>({...e,show:!1})),a(``),s(``),!1)},[]);Z.useEffect(()=>()=>{PT===A&&(PT=null)},[A]);let j=Z.useCallback(e=>{if(typeof window>`u`)return e;let t=window.innerWidth,n=g.current/2,r=MT+n,i=t-MT-n;return r>i?t/2:Math.min(Math.max(e,r),i)},[]),M=Z.useCallback(()=>{if(!_.current)return;PT!==A&&(PT?.(),PT=A);let{plainText:e,markdownText:t,rect:i}=_.current,o=!n.show,c=w?i.left+i.width/2:j(i.left+i.width/2),l=i.top-10;a(e),s(t),r({x:c,y:l,show:!0}),b.current=!0,o&&(f(!0),v.current!==null&&window.cancelAnimationFrame(v.current),v.current=window.requestAnimationFrame(()=>{f(!1),v.current=null}))},[j,A,w,n.show]);Z.useLayoutEffect(()=>{if(!n.show||w||!h.current)return;let e=h.current.offsetWidth;!Number.isFinite(e)||e<=0||e===g.current||(g.current=e,r(e=>({...e,x:j(e.x)})))},[j,w,n.show]),Z.useEffect(()=>{if(!n.show||w)return;let e=()=>{r(e=>({...e,x:j(e.x)}))};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[j,w,n.show]);let N=Z.useCallback(()=>{let t=window.getSelection(),n=e.current;if(!t||!n){l.current||A();return}let r=LT(t.toString());if(!r){l.current||A();return}let i=BT(t,n);if(!i){l.current||A();return}let a=i.getBoundingClientRect();_.current={plainText:r,markdownText:KT(i,r),rect:a},l.current||M()},[e,A,M]);Z.useEffect(()=>{let t=e.current;if(!t)return;let n=()=>{l.current=!0,A()},r=()=>{l.current=!1,y.current!==null&&window.clearTimeout(y.current),y.current=window.setTimeout(()=>{y.current=null,N()},10)},i=new Set,a=()=>{for(let e of zT(t))i.has(e)||(i.add(e),e.addEventListener(`selectionchange`,N))};a();let o=new MutationObserver(a);o.observe(t,{childList:!0,subtree:!0}),document.addEventListener(`selectionchange`,N),t.addEventListener(`mousedown`,n),document.addEventListener(`mouseup`,r);let s=e=>{h.current&&!h.current.contains(e.target)&&!window.getSelection()?.toString().trim()&&A()};return document.addEventListener(`mousedown`,s),()=>{y.current!==null&&(window.clearTimeout(y.current),y.current=null),o.disconnect();for(let e of i)e.removeEventListener(`selectionchange`,N);document.removeEventListener(`selectionchange`,N),t.removeEventListener(`mousedown`,n),document.removeEventListener(`mouseup`,r),document.removeEventListener(`mousedown`,s)}},[e,N,A,M]);let P=Z.useCallback(e=>{if(!e)return;let t=`\`\`\`md\n${e}\n\`\`\``;C(t,`append`),A(),window.getSelection()?.removeAllRanges()},[C,A]),F=Z.useCallback(()=>{P(o)},[P,o]);Z.useEffect(()=>{let t=t=>{if(!k||!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=BT(n,r);i&&(t.preventDefault(),P(KT(i,n.toString())))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[P,k,e]);let I=Z.useCallback(async()=>{i&&(await x(void 0,null,null)&&C(i,`replace`),A(),window.getSelection()?.removeAllRanges())},[i,x,C,A]),L=Z.useCallback(async()=>{if(!i)return;let e=await ct(i);e.ok||console.error(`Failed to copy:`,e.error),A(),window.getSelection()?.removeAllRanges()},[i,A]),R=Z.useMemo(()=>S?O.find(e=>e.id===S)??null:null,[S,O]),z=Z.useMemo(()=>{let e=D??(typeof R?.directory==`string`?R.directory:``),t=Ut(T,E,e);return t?{id:t.id,path:t.path}:null},[E,R?.directory,D,T]),B=Z.useCallback(async()=>{if(!i||!z){z||Ii.error(t(`chat.textSelection.toast.noProject`));return}try{m(!0);let e=await hn(o||i,S),n=await Rt(z),r=jT(n.notes,e);if(!await Gn(z,{notes:r,todos:n.todos})){Ii.error(t(`chat.textSelection.toast.addToNotesFailed`));return}window.dispatchEvent(new CustomEvent(`openchamber:project-notes-updated`,{detail:{projectId:z.id}})),Ii.success(t(`chat.textSelection.toast.addToNotesSuccess`)),A(),window.getSelection()?.removeAllRanges()}catch(e){let n=e instanceof Error?e.message:void 0;Ii.error(t(`chat.textSelection.toast.addToNotesFailed`),n?{description:n}:void 0)}finally{m(!1)}},[z,S,A,i,o,t]);return n.show?w?(0,Sc.createPortal)((0,$.jsx)(`div`,{ref:h,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:[k?(0,$.jsxs)(`button`,{onClick:F,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,k?(0,$.jsxs)(`button`,{onClick:I,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:L,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(--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`)})]}),k&&!d()?(0,$.jsxs)(`button`,{onClick:B,disabled:p,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(--surface-muted)] text-[var(--surface-foreground)]`,`active:opacity-80 disabled:opacity-60 disabled:cursor-not-allowed`,`transition-opacity duration-150`),title:t(`chat.textSelection.title.saveInsightToNotes`),type:`button`,children:[p?(0,$.jsx)(X,{name:`loader-4`,className:`h-5 w-5 flex-shrink-0 animate-spin`}):(0,$.jsx)(X,{name:`booklet`,className:`h-5 w-5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-normal`,children:t(`chat.textSelection.actions.addToNotes`)})]}):null]})}),document.body):(0,Sc.createPortal)((0,$.jsx)(`div`,{ref:h,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:[k?(0,$.jsxs)(`button`,{onClick:F,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)(pp,{shortcut:`⌘+I`})]}):null,k?(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}):null,k?(0,$.jsxs)(`button`,{onClick:I,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,k?(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}):null,(0,$.jsxs)(`button`,{onClick:L,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`)})]}),k&&!d()?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}),(0,$.jsxs)(`button`,{onClick:B,disabled:p,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)] disabled:opacity-60 disabled:cursor-not-allowed`,`transition-colors duration-150`),title:t(`chat.textSelection.title.saveInsightToNotes`),type:`button`,children:[p?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):(0,$.jsx)(X,{name:`booklet`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:t(`chat.textSelection.actions.addToNotes`)})]})]}):null]})}),document.body):null},JT=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),YT=(e,t)=>{let n=new Date(t);return n.setDate(t.getDate()-1),JT(e,n)},XT=e=>Number.isFinite(e)&&!Number.isNaN(new Date(e).getTime()),ZT=(e,t)=>{if(!XT(e))return``;let n=new Date(e),r=new Date,i=fo(n,t),a=st(),o=lt.getState().dictionary;if(JT(n,r))return i;if(YT(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}`},QT=e=>typeof e!=`number`||!Number.isFinite(e)||e<0?0:e,$T=e=>e,eE=e=>{if(!Array.isArray(e)||e.length===0)return 0;let t=0;for(let n of e){let e=$T(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},tE=(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-eE(n);return!Number.isFinite(a)||a<=0?null:a},nE=e=>{let t=tE(e.createdAt,e.completedAt,e.parts,e.fallbackDurationMs);if(t===null)return null;let n=QT(e.outputTokens)+QT(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},rE=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`},iE=e=>{let t=(0,Q.c)(20),{text:n,active:r,className:i}=e,a=Z.useRef(n),[o,s]=Z.useState(n),[c,l]=Z.useState(null),u,d;t[0]!==r||t[1]!==n?(u=()=>{if(n===a.current)return;let e=a.current;if(a.current=n,!r||e.length===0){l(null),s(n);return}l(e),s(n)},d=[r,n],t[0]=r,t[1]=n,t[2]=u,t[3]=d):(u=t[2],d=t[3]),Z.useEffect(u,d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{l(null)},t[4]=f):f=t[4];let p=q(f),m;t[5]===i?m=t[6]:(m=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},aE=[`search`,`read`,`list`];function oE(e){let t=oC(e);return t===`read`?`read`:t===`glob`||t===`grep`?`search`:t===`list`?`list`:null}function sE(e){let t={read:0,search:0,list:0};for(let n of e){let e=oE(n);e&&(t[e]+=1)}return t}function cE(e){return aC(e)}function lE(e){return e.kind===`reasoning`||e.type===`reasoning`?!1:e.kind===`justification`||e.type===`text`?!0:e.kind===`tool`||e.type===`tool`?!nC(e.toolName):e.kind!=null||e.type!=null}function uE(e,t,n){for(let r=t;r<e.length;r+=1)if(lE(n(e[r])))return!0;return!1}function dE(e){return`parts`in e?e.parts.some(e=>cE(e))?!0:!e.hasFollowingOtherType&&e.isTurnLive:e.some(e=>cE(e))}function fE(e,t,n){let r=[],i=t;for(;i<e.length&&nC(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var pE=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,mE=({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??dE({parts:u,hasFollowingOtherType:r,isTurnLive:n}),f=sE(u.map(e=>e.tool)),p=aE.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=q(()=>{c(e=>!e)}),h=q(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:kp(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`,Ap),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)(WS,{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,pE,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,pE),style:{color:`var(--tools-description)`},children:(0,$.jsx)(iE,{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 hE(e,t,n){let r=[],i=t;for(;i<e.length&&rC(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var gE=e=>{if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null};function _E(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=gE(n.metadata.name);if(e)return e}if(n.input&&typeof n.input==`object`){let e=n.input,t=gE(e.name);if(t)return t;let r=gE(e.id);if(r)return r}if(n.output&&typeof n.output==`object`){let e=gE(n.output.name);if(e)return e}return null}function vE(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 yE=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,bE=({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=>aC(e)),{joinedVisible:l,hiddenCount:u}=vE(s.map(_E)),d=u>0?r(`chat.skillGroup.summaryOverflow`,{names:l,count:u}):l,f=q(()=>{a(e=>!e)}),p=q(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f())}),m=r(i?`chat.skillGroup.collapseAria`:`chat.skillGroup.expandAria`),h=r(`chat.tools.display.skill`);return(0,$.jsxs)(`div`,{"data-component":`skill-tool-group`,className:kp(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`,Ap),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)(WS,{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`,yE,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`,yE),style:{color:`var(--tools-description)`},children:(0,$.jsx)(iE,{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]})},xE=Z.memo(e=>{let t=(0,Q.c)(18),{part:n,messageId:r,onContentChange:i,actions:a,streamPhase:o,onShowPopup:s}=e,l=c(SE),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]!==s||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)(Lw,{part:n,sessionId:h,messageId:r,streamPhase:y,chatRenderMode:l,hasStreamingHapticLifecycle:b,onContentChange:i,onShowPopup:s})}),t[4]=l,t[5]=r,t[6]=i,t[7]=s,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 SE(e){return e.chatRenderMode}var CE=e=>{let t=Math.max(0,Math.round(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},wE=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,TE=Y(`typography-meta font-medium`,wE),EE=Y(`typography-meta`,wE),DE=[],OE=e=>{let t=e.part;return t.slim===!0&&(t.type===`tool`||t.type===`reasoning`||t.type===`file`)},kE=e=>{let t=new Set;for(let n of e)OE(n)&&n.messageId&&t.add(n.messageId);return[...t]},AE=(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}),jE=e=>{let t=(0,Q.c)(5),{href:n}=e,[r,i]=Z.useState(!1),a;t[0]===n?a=t[1]:(a=$o(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},ME=e=>e,NE=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},PE=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},FE=e=>{let t=e.part.state?.metadata?.dir;return typeof t==`string`&&t.trim().length>0?t:null},IE=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},LE=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=IE(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`}`},RE=e=>{let t=e.part.state,n=t?.input,r=t?.output;if(Array.isArray(n?.todos)){let e=LE(n.todos);if(e)return e}if(Array.isArray(r)){let e=LE(r);if(e)return e}if(r&&typeof r==`object`&&Array.isArray(r.todos)){let e=LE(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=LE(e);if(t)return t}if(e&&typeof e==`object`&&Array.isArray(e.todos)){let t=LE(e.todos);if(t)return t}}catch{}return null},zE=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)},BE=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(cx,{variant:t?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,EE),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`,EE),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)(cx,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:i})]})},VE=e=>{let t=xo(e);return t?t.toLowerCase().endsWith(`/skill.md`)?t:`${t}/SKILL.md`:``},HE=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 _E(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`?RE(e):NE(e)},UE=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}},WE=Z.memo(e=>{let t=(0,Q.c)(16),{activity:n,isExpanded:r,isMobile:i,onToggleTool:a,onShowPopup:o,onContentChange:s}=e,c;t[0]!==n.id||t[1]!==a?(c=()=>{a(n.id)},t[0]=n.id,t[1]=a,t[2]=c):c=t[2];let l=q(c),u;t[3]===i?u=t[4]:(u=kp(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)(_w,{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&&Xx([e.activity.part],[t.activity.part])),GE=Z.memo(e=>{let t=(0,Q.c)(9),{toolName:n,activities:r,isMobile:i}=e,a;t[0]===i?a=t[1]:(a=kp(i),t[0]=i,t[1]=a);let o;t[2]!==r||t[3]!==i||t[4]!==n?(o=(0,$.jsx)(JE,{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&&qE(e.activities,t.activities)),KE=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.kind===`reasoning`){if(!Dt(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(nC(i)){let r=fE(e,n,e=>e.part.tool);t.push({type:`tool-context-group`,activities:r.items,hasFollowingOtherType:uE(e,r.end,e=>({kind:e.kind,toolName:e.part.tool}))}),n=r.end;continue}if(rC(i)){let r=hE(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(eC(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if($S(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(tC(i)){t.push({type:`tool-static-group`,toolName:i,activities:[r]}),n++;continue}t.push({type:`tool-fallback`,activity:r}),n++}return t},qE=(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||!Xx([r.part],[i.part]))return!1}return!0},JE=Z.memo(e=>{let t=(0,Q.c)(106),{toolName:n,activities:r,isMobile:i,animateTailText:a}=e,{t:o}=ot(),s=c(QE),l=ts(n,o),u;t[0]===n?u=t[1]:(u=lx(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(Ao),h=_h(),g=Te($E),_=Qm(),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=Ti(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(eD)),t[10]=w,t[11]=T);let E=T,D=r[0]??null,O=!D||aC(D.part),k;t[12]===D?k=t[13]:(k=D?HE(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||FE(D);if(!e||e===`<built-in>`){j=null;break bb0}let r=VE(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=PE(D);if(!e){N=null;break bb1}let n=yo(e,v);if(!n){N=null;break bb1}let r;t[26]===D?r=t[27]:(r=zE(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=bo(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(!wo(n,v)){ss(n,v).then(()=>{let e=c.getState(),r=v||vo(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=c.getState(),i=vo(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=q(F),L;t[36]!==v||t[37]!==h?(L=e=>{let t=xo(e);if(!t)return;let n=()=>{if(h){h.openFile({path:t});return}let e=c.getState(),n=v||vo(``,t);e.openContextFile(n,t)};if(v&&!wo(t,v)){ss(t,v).then(n);return}n()},t[36]=v,t[37]=h,t[38]=L):L=t[38];let R=q(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=q(G),te;t[48]===K?te=t[49]:(te=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),K())},t[48]=K,t[49]=te);let ne=q(te),re=W&&ee&&`cursor-pointer`,ie=W&&!ee&&`cursor-default opacity-70`,ae;t[50]!==re||t[51]!==ie?(ae=Y(`flex w-full items-center gap-x-1.5 min-w-0`,Ap,re,ie),t[50]=re,t[51]=ie,t[52]=ae):ae=t[52];let oe=W?`soft`:void 0,se=W?K:void 0,ce=W?ne:void 0,le=W?`button`:void 0,ue=W&&ee?0:void 0,de=W&&!ee?!0:void 0,fe=i?`size-4`:`size-3.5`,pe;t[53]===fe?pe=t[54]:(pe=Y(`inline-flex items-center justify-center flex-shrink-0`,fe),t[53]=fe,t[54]=pe);let me;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(me={color:`var(--tools-icon)`},t[55]=me):me=t[55];let he=O?(0,$.jsx)(WS,{isMobile:i,label:o(`chat.assistantStatus.usingTool`,{tool:l})}):d,ge;t[56]!==pe||t[57]!==me||t[58]!==he?(ge=(0,$.jsx)(`div`,{className:pe,style:me,children:he}),t[56]=pe,t[57]=me,t[58]=he,t[59]=ge):ge=t[59];let _e,ve;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(_e=Y(TE,`inline-flex items-center flex-shrink-0 opacity-85`),ve={color:`var(--tools-title)`},t[60]=_e,t[61]=ve):(_e=t[60],ve=t[61]);let ye;t[62]===l?ye=t[63]:(ye=(0,$.jsx)(`span`,{className:_e,style:ve,title:l,children:l}),t[62]=l,t[63]=ye);let be;t[64]!==a||t[65]!==p||t[66]!==P||t[67]!==s?(be=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`,EE),style:{color:`var(--tools-description)`},title:P.offset?`${P.displayPath}:${P.offset}`:P.displayPath,children:[s?(0,$.jsx)(Au,{filePath:P.path,className:`h-3.5 w-3.5`}):null,BE(P.displayPath,a)]}):null,t[64]=a,t[65]=p,t[66]=P,t[67]=s,t[68]=be):be=t[68];let xe;t[69]!==a||t[70]!==A||t[71]!==V?(xe=V&&A?(0,$.jsx)(`span`,{className:`inline-flex min-w-0 flex-1`,children:(0,$.jsxs)(cx,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,EE),style:{color:`var(--tools-description)`},title:A,children:[`"`,A,`"`]})}):null,t[69]=a,t[70]=A,t[71]=V,t[72]=xe):xe=t[72];let Se;t[73]!==A||t[74]!==H?(Se=H&&A?(0,$.jsxs)(`a`,{href:A,target:`_blank`,rel:`noopener noreferrer`,onClick:tD,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`,EE),style:{color:`var(--status-info)`},title:A,children:[(0,$.jsx)(jE,{href:A}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:A})]}):null,t[73]=A,t[74]=H,t[75]=Se):Se=t[75];let Ce;t[76]!==U||t[77]!==M?(Ce=U&&M?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,EE),style:{color:`var(--tools-description)`},title:M.path,children:M.name}):null,t[76]=U,t[77]=M,t[78]=Ce):Ce=t[78];let we;t[79]!==A||t[80]!==U||t[81]!==M?(we=U&&!M&&A?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,EE),style:{color:`var(--tools-description)`},title:A,children:A}):null,t[79]=A,t[80]=U,t[81]=M,t[82]=we):we=t[82];let Ee;t[83]!==a||t[84]!==A||t[85]!==H||t[86]!==p||t[87]!==V||t[88]!==U?(Ee=!p&&!V&&!H&&!U&&A?(0,$.jsx)(cx,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,EE),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]=Ee):Ee=t[89];let De;return t[90]!==ae||t[91]!==oe||t[92]!==se||t[93]!==ce||t[94]!==le||t[95]!==ue||t[96]!==de||t[97]!==ge||t[98]!==ye||t[99]!==be||t[100]!==xe||t[101]!==Se||t[102]!==Ce||t[103]!==we||t[104]!==Ee?(De=(0,$.jsxs)(`div`,{className:ae,"data-mobile-press-feedback":oe,onClick:se,onKeyDown:ce,role:le,tabIndex:ue,"aria-disabled":de,children:[ge,ye,be,xe,Se,Ce,we,Ee]}),t[90]=ae,t[91]=oe,t[92]=se,t[93]=ce,t[94]=le,t[95]=ue,t[96]=de,t[97]=ge,t[98]=ye,t[99]=be,t[100]=xe,t[101]=Se,t[102]=Ce,t[103]=we,t[104]=Ee,t[105]=De):De=t[105],De},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&qE(e.activities,t.activities)),YE=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)(Yw,{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}),XE=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)(xE,{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}),ZE=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(),_=os()??``,v=Z.useMemo(()=>kE(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?CE(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(()=>UE(e),[e]),M=T?j.active:j.all,N=M.slice(0,c?2:3),P=q((e=!1,n=!1)=>{if(!(!_||!v.length)){for(let r of v){let i=t.find(e=>e.messageId===r)?.part.sessionID;if(!i)continue;let a=Ji(_,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=Fn(_,i,r,{priority:n?`background`:`user`}).catch(()=>{x.current.add(r)}).finally(()=>{b.current.delete(r),S(e=>e+1)});b.current.set(r,o)}S(e=>e+1)}}),F=q(e=>{e.stopPropagation(),P(!0)}),I=T,L=I||n,R=q(()=>{if(I)return;let e=C.current;w.current=e?{top:e.getBoundingClientRect().top,scrollContainer:e.closest(`[data-scrollbar="chat"]`)}:null,L||P(),s()});Z.useEffect(()=>{T||!L||P(!1,!0)},[T,L]),Z.useLayoutEffect(()=>{let e=w.current,t=C.current;if(!e||!t)return;let n=()=>{if(!t.isConnected)return;let n=t.getBoundingClientRect().top-e.top;if(!(Math.abs(n)<.5)){if(e.scrollContainer?.isConnected){e.scrollContainer.scrollTop+=n;return}window.scrollBy(0,n)}};if(n(),typeof window>`u`||typeof window.requestAnimationFrame!=`function`){w.current=null;return}let r=window.requestAnimationFrame(()=>{n(),w.current=null});return()=>window.cancelAnimationFrame(r)},[L]);let z=m&&!L?Math.max(0,Math.floor(r)):0,B=!m||L||z>0,V=y.current,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 Ji(_,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)&&OE(e)),K=ee&&!G&&!AE(t,V),te=Z.useMemo(()=>B?ME(e):DE,[e,B]),ne=Z.useMemo(()=>B?KE(te):[],[B,te]),re=Z.useMemo(()=>L||z===0?0:Math.max(0,ne.length-z),[L,z,ne.length]),ie=Z.useMemo(()=>L||z===0?ne:ne.slice(-z),[L,z,ne]);if((!m||I&&!O)&&ne.length===0)return null;let ae=(e,t)=>{let n=(0,$.jsx)(`div`,{className:kp(c),children:t});return(0,$.jsx)(Z.Fragment,{children:n},e)},oe=B?ie.map((e,t)=>{switch(e.type){case`reasoning`:return ae(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(YE,{activity:e.activity,streamPhase:p,onContentChange:f})}));case`justification`:return ae(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(XE,{activity:e.activity,onContentChange:f,onShowPopup:d,actions:h?.(e.activity),streamPhase:p})}));case`tool-expandable`:return(0,$.jsx)(WE,{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)(GE,{toolName:e.toolName,activities:e.activities,isMobile:c},e.activities[0]?.id??`static-${e.toolName}-${t}`);case`tool-context-group`:return(0,$.jsx)(mE,{activities:e.activities,isMobile:c,isTurnLive:T,hasFollowingOtherType:e.hasFollowingOtherType,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(JE,{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)(bE,{activities:e.activities,isMobile:c,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(JE,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`skill-${t}`);case`tool-fallback`:return(0,$.jsx)(WE,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);default:return null}}):null,se=ie.length>0;return m?(0,$.jsxs)(`div`,{className:kp(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&&Ap,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)(WS,{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)(na,{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`)})]})]}),se?(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)`}}),re>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:[`+`,re,` more...`]}):null,(0,$.jsx)(`div`,{className:`flow-root`,children:oe})]}):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)(da,{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:kp(c),children:oe})});function QE(e){return e.showToolFileIcons}function $E(e){return e.currentDirectory}function eD(e){return[e.name,e]}function tD(e){e.stopPropagation()}var nD=Z.memo(e=>{let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(ZE,{...e}),t[0]=e,t[1]=n),n}),rD={contain:`layout`},iD={containerType:`inline-size`,containerName:`message-footer`},aD=`mt-1.5 mb-0.5 flex items-center justify-start gap-1.5`,oD=`mt-3 mb-0.5 flex items-center justify-start gap-1.5`,sD=`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`,cD=`size-3.5!`,lD=`mt-1.5 mb-0.5 flex flex-wrap items-center gap-3`,uD=`mt-3 mb-0.5 flex flex-wrap items-center gap-3 -ml-[5px]`,dD=`flex items-center gap-2`,fD=`flex items-center gap-2 text-muted-foreground`,pD=`inline-flex h-3.5 items-center gap-1 text-[11px] leading-none tabular-nums text-muted-foreground`,mD=`size-3.5!`,hD=`medium`,gD=e=>e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e,_D=`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)]`,vD=`h-7 gap-1.5`,yD=`h-6 gap-1`,bD=`text-[11px] leading-none`,xD=`size-3.5`,SD=`size-3`,CD=5,wD=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)(Au,{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=gD(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}),TD=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=q(s),l=!r,u=i?yD:vD,d;t[3]===u?d=t[4]:(d=Y(_D,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)(wD,{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)(da,{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}),ED=Z.memo(e=>{let t=(0,Q.c)(53),{fileCount:n,changedFiles:r,turnId:i,isLatestTurn:a,isMobile:o}=e,{t:s}=ot(),l=os(),u=Qm(),d=u.directory||l,f=u.sessionId,p=_h(),m=c(BD),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,CD),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]!==s?(S=s(b===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:b}),t[4]=b,t[5]=s,t[6]=S):S=t[6];let C=S,w;t[7]!==y||t[8]!==s?(w=s(y===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:y}),t[7]=y,t[8]=s,t[9]=w):w=t[9];let T=w,E=Y(_D,o?yD:vD),D=o?SD:xD,O;t[10]===o?O=t[11]:(O=o?Y(bD,`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(bD,`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(bD,`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){Qw({directory:d,filePath:e,turnMessageId:i,sessionId:f});return}o&&a&&d&&Qw({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=q(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&&Qw({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=q(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]===s?V=t[35]:(V=s(`diffView.actions.reviewAria`),t[34]=s,t[35]=V);let H;t[36]===s?H=t[37]:(H=s(`diffView.actions.reviewAria`),t[36]=s,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]===s?ee=t[41]:(ee=s(`chat.changedFiles.title`),t[40]=s,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 te;t[49]===D?te=t[50]:(te=Y(D,`opacity-60`),t[49]=D,t[50]=te);let ne;return t[51]===te?ne=t[52]:(ne=(0,$.jsx)(X,{name:`arrow-right-s`,className:te}),t[51]=te,t[52]=ne),(0,$.jsxs)(`section`,{className:z,"data-turn-changes-preview":`true`,"data-message-action-group":`true`,"aria-labelledby":`turn-changes-${i}`,children:[(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`xs`,disabled:!x,onClick:L,className:B,"aria-label":V,title:H,children:[U,G,K,ne]}),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)(TD,{file:e,canOpen:x,isMobile:o,onOpen:F},e.file)),y>0?(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`xs`,disabled:!x,className:Y(E,`text-muted-foreground hover:text-foreground`),onClick:L,"aria-label":s(`diffView.actions.reviewAria`),title:s(`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]})}),DD=e=>e.type===`subtask`,OD=e=>{let t=e;return t.type===`text`&&typeof t.shellAction==`object`&&t.shellAction!==null},kD=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}`},AD=e=>{let t=(0,Q.c)(49),{part:n}=e,[r,i]=Z.useState(!1),a=os(),{isMobile:o}=mo(),s=J(VD),l=c(HD),u=Qm(),{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=kD(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(UD),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]!==s||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:()=>{a&&eh(u,S,a,()=>{if(!ii({sessionId:S,directory:a})){if(jc()||o||d()){s(S,a);return}l(a,{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]=s,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},jD=e=>{let t=(0,Q.c)(34),{notification:n}=e,r=os(),i=c(WD),{isMobile:a}=mo(),{t:o}=ot(),s;t[0]!==r||t[1]!==a?(s=r&&!a&&!d(),t[0]=r,t[1]=a,t[2]=s):s=t[2];let l=!!s,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=q(()=>{!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 _=q(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)(Po,{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},MD={background:`transparent`,backgroundColor:`transparent`},ND=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 _=q(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=q(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)(ec,{language:`bash`,code:u,codeStyle:MD,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(GD),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)(ec,{language:`bash`,code:d,codeStyle:MD,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},PD=e=>{let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},FD=(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}},ID=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,messageCreatedAt:i,isMobile:a,alwaysShowActions:o=a,hasTouchInput:s,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=Fh(),E=$m(Qm()),D=c(e=>e.timeFormatPreference),[O,k]=Z.useState(!1),A=Z.useRef(null),j=Z.useMemo(()=>n.filter(e=>e.type===`text`?!$r(e):!!(DD(e)||OD(e))),[n]),M=Z.useMemo(()=>j.map(e=>Zn(e)?kx(Dt(e)):void 0),[j]),N=p?.token,P=!1,F=!!u,I=!!d,L=!!(s??a),R=!!l,z=x!==`external-actions`,B=x!==`external-content`,V=S&&x===`inline`,H=q(()=>{A.current!==null&&typeof window<`u`&&(window.clearTimeout(A.current),A.current=null)}),U=q(()=>{!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=q(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=ZT(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`),te=!v&&y&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsxs)(`div`,{className:Y(dD,`justify-end`,!a&&x===`inline`&&`translate-x-5`,`pointer-events-auto opacity-100`),"data-message-action-group":`true`,children:[(0,$.jsxs)(`span`,{className:Y(pD,`text-primary`),"aria-live":`polite`,children:[(0,$.jsx)(X,{weight:hD,name:`edit`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:w(`chat.messageBody.actions.editStaged`)})]}),b?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"aria-label":w(`chat.messageBody.actions.cancelEdit`),onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),b()},children:(0,$.jsx)(X,{weight:hD,name:`close`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.cancelEdit`)})]}):null]})}):null,ne=(v&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsx)(`div`,{className:Y(dD,`justify-end`,!a&&x===`inline`&&`translate-x-5`,`pointer-events-none opacity-100`),children:(0,$.jsx)(`span`,{className:Y(pD,`animate-text-shimmer`),"aria-live":`polite`,children:w(`chat.messageBody.actions.editing`)})})}):null)??te??((F&&R||m||h||ee)&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsxs)(`div`,{className:Y(dD,`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)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`span`,{className:Y(pD,`mr-1`),"aria-label":`Message time: ${G}`,children:[(0,$.jsx)(X,{weight:hD,name:`time`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:G})]})}),(0,$.jsx)(za,{children:G})]}):null,h&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"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:hD,name:_===`revert`?`loader-4`:`arrow-go-back`,className:Y(cD,_===`revert`&&`animate-spin`)})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.revert`)})]}),m&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"aria-label":w(`chat.messageBody.actions.editAria`),disabled:!!_,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),m()},children:(0,$.jsx)(X,{weight:hD,name:`edit`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.edit`)})]}),ee&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"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:hD,name:_===`fork`?`loader-4`:`git-branch`,className:Y(cD,_===`fork`&&`animate-spin`)})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.fork`)})]}),F&&R&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":O||I?`true`:void 0,className:sD,"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:hD,name:`check`,className:Y(cD,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:hD,name:`file-copy`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.copyMessage`)})]})]})}):null);return z?(0,$.jsxs)(`div`,{className:`relative w-full group/message`,style:rD,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(DD(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(AD,{part:e})},e.id??`user-subtask-${i}`);if(OD(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(ND,{part:e})},e.id??`user-shell-${i}`);let o=M[i];if(o)return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(jD,{notification:o})},e.id??`subagent-notification-${i}`);let s;return p&&N&&!P&&Dt(e).includes(N)&&(s=p,P=!0),(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(ox,{part:e,messageId:t,isMobile:a,agentMention:s,messageParts:r??n})},e.id??`user-text-${i}`)})}),(0,$.jsx)(nd,{files:n,messageID:t,sessionID:e,onShowPopup:f,compact:!0}),ne]}):(0,$.jsx)($.Fragment,{children:ne})}),LD=Z.memo(({hasCopyableText:e,isTouchContext:t,onCopyMessage:n,reviewTransferAction:r,ttsText:i,sessionId:a})=>{let{t:o}=ot(),s=Fh(),c=Qm(),l=$m(c),{isPlaying:u,play:d,stop:f}=AT(),p=Hr(e=>e.showMessageTTSButtons),m=Hr(e=>e.voiceProvider),[h,g]=Z.useState(!1),[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),x=Z.useRef(null),S=Z.useRef(null),C=!!n,w=!!((c.sessionId||a)&&c.directory&&l.openSourceSession&&s!==`mini-chat`),T=q(()=>{x.current!==null&&typeof window<`u`&&(window.clearTimeout(x.current),x.current=null)}),E=q(()=>{S.current!==null&&typeof window<`u`&&(window.clearTimeout(S.current),S.current=null)});Z.useEffect(()=>()=>{T(),E()},[E,T]),Z.useEffect(()=>{(!e||!C)&&(g(!1),v(!1),T(),E())},[C,E,T,e]);let D=q(()=>{!t||!C||!e||typeof window>`u`||(T(),g(!0),x.current=window.setTimeout(()=>{g(!1),x.current=null},1800))}),O=q(async r=>{!n||!e||(r.stopPropagation(),r.preventDefault(),await n()!==!1&&(E(),v(!0),typeof window<`u`&&(S.current=window.setTimeout(()=>{v(!1),S.current=null},2e3)),t&&D()))}),k=q(async t=>{if(t.stopPropagation(),t.preventDefault(),!(!r||y||!e)){b(!0);try{await r.onClick()}finally{b(!1)}}}),A=q(e=>{e.stopPropagation(),e.preventDefault();let t=c.sessionId||a;!t||!c.directory||!c.openSourceSession||c.openSourceSession(t,c.directory)}),j=Z.useMemo(()=>u?o(`chat.messageBody.tts.stopSpeaking`):o(`chat.messageBody.tts.readAloudWithProvider`,{provider:m===`browser`?`Browser`:m===`openai`?`OpenAI`:m===`openai-compatible`?`Custom`:`Say`}),[u,o,m]),M=q(e=>{if(e.stopPropagation(),e.preventDefault(),u){f();return}i.trim()&&d(i)});return(0,$.jsxs)($.Fragment,{children:[n&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":h||_?`true`:void 0,className:Y(sD,!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:hD,name:`check`,className:Y(cD,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:hD,name:`file-copy`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:o(`chat.messageBody.actions.copyAnswer`)})]}),w?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"aria-label":o(`chat.messageBody.actions.openSourceSessionAria`),onPointerDown:e=>e.stopPropagation(),onClick:A,children:(0,$.jsx)(X,{weight:hD,name:`target`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:o(`chat.messageBody.actions.openSourceSession`)})]}):null,r&&s!==`mini-chat`&&l.reviewTransfer?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,size:`icon`,variant:`ghost`,disabled:y||!e,className:Y(sD,(!e||y)&&`opacity-50`),"aria-label":r.ariaLabel,onPointerDown:e=>e.stopPropagation(),onClick:e=>{k(e)},children:y?(0,$.jsx)(X,{weight:hD,name:`loader-4`,className:Y(cD,`animate-spin`)}):(0,$.jsx)(X,{weight:hD,name:`arrow-left-right`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:r.tooltip})]}):null,s!==`mini-chat`&&p&&e&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:Y(sD,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:hD,name:`stop`,className:cD}):(0,$.jsx)(X,{weight:hD,name:`volume-up`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:j})]})]})}),RD=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,isMessageCompleted:i,messageFinish:a,messageCompletedAt:o,messageCreatedAt:s,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=Fh(),j=$m(Qm()),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?uD:lD,B=!i,V=Z.useMemo(()=>n.filter(e=>!$r(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(()=>an(U),[U]),ee=c(e=>e.openContextPreview),G=d(),K=A===`mini-chat`,te=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=es(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=es(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]),ne=J(e=>e.forkFromMessage),re=J(e=>e.forkTransition),ie=J(e=>e.currentSessionId),ae=J(e=>e.getDirectoryForSession),oe=os(),se=D===`review-to-original`,ce=!u&&!G?D:null,le=Z.useMemo(()=>{let t=W.trim();if(!(!e||!oe||!t||!ce))return ce===`review-to-original`?{ariaLabel:O(`chat.messageBody.actions.sendReviewFeedback`),tooltip:O(`chat.messageBody.actions.sendReviewFeedback`),onClick:async()=>{try{await Xr(e,oe,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 gt(e,oe,t)}catch(e){console.error(`[review-flow] failed to send implementation response`,e)}}}},[W,oe,ce,e,O]),[ue,de]=Z.useState(!1),fe=c(e=>e.chatRenderMode),pe=c(e=>e.collapsibleThinkingBlocks),me=c(e=>e.showSplitAssistantMessageActions),he=c(e=>e.showAssistantTps),ge=c(e=>e.timeFormatPreference),_e=fe===`sorted`,ve=w?.isLastAssistantInTurn??!1,ye=a===`stop`,be=(ye||i||!!T)&&(w?.isTurnSettled??!0),xe=ye?`completed`:M,Se=H.length>0,Ce=Z.useMemo(()=>H.some(e=>aC(e)),[H]),we=aC,Te=iC,Ee=I.current.experiencedStreamingOrCooldown,De=Z.useRef({messageId:t,initialized:!1,observedPartIds:new Set});Z.useEffect(()=>{if(De.current.messageId!==t&&(De.current={messageId:t,initialized:!1,observedPartIds:new Set}),!Ee||!Nt())return;let n=De.current,r=!n.initialized;n.initialized=!0;for(let i of H){if(n.observedPartIds.has(i.id))continue;if(!Ot(r,we(i))){n.observedPartIds.add(i.id);continue}let a=e??i.sessionID;a&&(n.observedPartIds.add(i.id),Ui({sessionID:a,messageID:t,partID:i.id,kind:`tool`}))}},[Ee,we,t,e,H]);let Oe=Z.useMemo(()=>H.length===0||!Ce&&H.every(e=>Te(e)),[H,Ce,Te]),ke=Z.useMemo(()=>V.filter(e=>e.type===`reasoning`),[V]),Ae=Z.useMemo(()=>ke.length===0||ke.every(e=>typeof e.time?.end==`number`),[ke]),je=typeof a!=`string`,Me=ke.length>0&&Se&&(Ce||je||!Oe),Ne=B||Se&&(Ce||je||!Oe),Pe=B||Me,Fe=Se||ke.length>0,Ie=U.length===0,Le=Fe&&Ie&&!Ne&&!Pe&&Oe&&Ae,Re=Z.useRef(!1),ze=Z.useRef(!1);Z.useEffect(()=>{ze.current=!1},[t]),Z.useEffect(()=>{if(!Le){Re.current=!1;return}Re.current||(Re.current=!0,S?.())},[Le,S]),Z.useEffect(()=>{if(B){ze.current=!1;return}if(Se){ze.current=!1;return}ke.length!==0&&(Pe||!Ae||ze.current||(ze.current=!0,y?.(`structural`)))},[B,Se,y,Ae,ke.length,Pe]);let Be=!!b&&!B,Ve=q(async n=>{if(n.stopPropagation(),n.preventDefault(),!(!e||!t||ue||re)){de(!0);try{await ne(e,t)}finally{de(!1)}}}),He=Z.useMemo(()=>{let e=w?.activityParts;return!_e||!e?[]:e},[_e,w?.activityParts]),Ue=Z.useMemo(()=>{let e=w?.activityGroupSegments;return!_e||!e?[]:e.filter(e=>e.anchorMessageId===t)},[_e,t,w?.activityGroupSegments]),We=Ue.length>0,Ge=Z.useMemo(()=>{let e=new Map,t=new Map;return He.forEach(n=>{e.set(n.part,n);let r=n.part.id;typeof r==`string`&&r.length>0&&t.set(r,n)}),{get:n=>{let r=e.get(n);if(r)return r;let i=n.id;if(typeof i==`string`&&i.length>0)return t.get(i)}}},[He]),Ke=w?.toggleGroup,qe=w?.activityPresentationKind===`compaction`,Je=w?.isGroupExpanded===!0,Ye=_e&&qe&&!Je,Xe=_e?w?.activityOwnerMessageId===t||We:!w?.activityOwnerMessageId||w.activityOwnerMessageId===t||We,Ze=_e&&Xe&&(We||qe)&&!!Ke,Qe=aT(a,V),$e={finish:a,parts:V,streamPhase:xe,error:T,isLastAssistantInTurn:ve},et=uT($e),tt=_e&&dT($e),nt=_e&&!et&&!(qe&&Je),rt=!!T,it=E===`info`?`information`:`error-warning`,at=Be,st=ve&&be&&!Ye&&(b||!!T||i),lt=w?.diffStats?.hasDiffs===!0,ut=!K&&ve&&Qe&&be&&!Ye&&w?.diffStats?.hasDiffs===!0,dt=me&&at&&!st&&!_e,ft=Z.useMemo(()=>(0,$.jsx)(LD,{hasCopyableText:Be,isTouchContext:L,onCopyMessage:x,ttsText:W,reviewTransferAction:le,sessionId:e}),[W,Be,L,x,le,e]),pt=Z.useMemo(()=>e=>{if(!me||!_e)return null;let t=Dt(e.part).trim();return t?(0,$.jsx)(LD,{hasCopyableText:!0,isTouchContext:L,onCopyMessage:async()=>(await ct(t)).ok,ttsText:t}):null},[_e,L,me]),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`||nt||Ge.get(n)?.kind!==`justification`&&(e=t)}return e},[Ge,nt,dt,V]),ht=dt&&mt<0,_t=Z.useMemo(()=>{let n=[];if(Ze&&Ke&&w){let e=(e,t,r=t)=>{n.push((0,$.jsx)(`div`,{children:(0,$.jsx)(nD,{parts:t,materializationParts:r,isExpanded:w.isGroupExpanded===!0,collapsedPreviewCount:0,completionDisposition:w.completionDisposition,activityPresentationKind:w.activityPresentationKind,durationMs:w.durationMs,startedAt:w.userMessageCreatedAt,onToggle:Ke,isMobile:u,expandedTools:m,onToggleTool:h,onShowPopup:g,onContentChange:y,streamPhase:xe,showHeader:!0,diffStats:w.diffStats,renderJustificationActions:pt})},`progressive-group-${e}`))};Ue.length>0?Ue.forEach(t=>{let n=C?t.parts:t.parts.filter(e=>e.kind!==`reasoning`);e(t.id,n,t.parts)}):qe&&e(`${t}:compaction-status`,[])}let r=0;for(;r<V.length;){let i=V[r];if(i.type===`text`){let a=Ge.get(i);if(nt){r+=1;continue}if(Ye){r+=1;continue}if(a?.kind===`justification`){r+=1;continue}n.push((0,$.jsx)(`div`,{ref:P,"data-message-text-export-source":`true`,children:(0,$.jsx)(Lw,{part:i,sessionId:e,messageId:t,streamPhase:xe,chatRenderMode:fe,allowSortedFinalStreaming:tt,hasStreamingHapticLifecycle:Ee,onContentChange:y,onShowPopup:g})},`assistant-text-${t}-${i.id??r}`)),dt&&r===mt&&n.push((0,$.jsx)(`div`,{className:u?oD:aD,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:dD,"data-message-action-group":`true`,children:ft})},`message-actions-${t}`)),r++;continue}if(i.type===`reasoning`){if(Ge.get(i)?.kind===`reasoning`){r+=1;continue}if(!Dt(i).trim()){r+=1;continue}C&&(pe?n.push((0,$.jsx)(`div`,{className:kp(u),children:(0,$.jsx)(Yw,{part:i,messageId:t,streamPhase:xe,onContentChange:y})},`reasoning-${t}-${i.id??r}`)):n.push((0,$.jsx)(Lw,{part:i,sessionId:e,messageId:t,streamPhase:xe,chatRenderMode:fe,hasStreamingHapticLifecycle:Ee,onContentChange:y,onShowPopup:g},`reasoning-${t}-${i.id??r}`))),r++;continue}if(i.type===`tool`){let e=i,a=e.tool?.toLowerCase()??``;if(_e&&!Xe){r+=1;continue}if(Ge.get(i)?.kind===`tool`){r+=1;continue}if(nC(a)){let e=[],i=r;for(;i<V.length;){let n=V[i];if(n.type!==`tool`)break;let r=n;if(!nC(r.tool?.toLowerCase()??``)||Ge.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)(mE,{activities:e,isMobile:u,isTurnLive:xe!==`completed`,hasFollowingOtherType:uE(V,i,e=>({type:e.type,toolName:e.type===`tool`?e.tool:void 0})),children:e.map(e=>(0,$.jsx)(JE,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:u,animateTailText:!1},e.id))},`context-tools-${e[0].id}`)),r=i;continue}}if(rC(a)){let e=hE(V,r,e=>e.type!==`tool`||Ge.get(e)?.kind===`tool`?``:e.tool);if(e.items.length>0){let i=e.items.map((e,n)=>{let i=e;return{id:i.id,turnId:``,messageId:t,partIndex:r+n,part:i,kind:`tool`}});n.push((0,$.jsx)(bE,{activities:i,isMobile:u,children:i.map(e=>(0,$.jsx)(JE,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:u,animateTailText:!1},e.id))},`skill-tools-${i[0].id}`)),r=e.end;continue}}if($S(a)){n.push((0,$.jsx)(`div`,{className:kp(u),children:(0,$.jsx)(_w,{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:kp(u),children:(0,$.jsx)(JE,{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},[Ge,Ue,R,fe,pe,0,m,Ye,qe,u,Xe,_e,mt,t,ft,pt,e,y,g,h,Ze,dt,xe,Ee,C,nt,tt,Ke,w,V]),vt=Z.useMemo(()=>{if(!ve||!be)return;let e=w?.durationMs;if(!(typeof e!=`number`||e<=0))return PD(e)},[ve,be,w?.durationMs]),yt=Z.useMemo(()=>{let e=typeof o==`number`&&o>0?o:typeof s==`number`&&s>0?s:null;if(e===null)return null;let t=ZT(e,ge);return t.length>0?t:null},[o,s,ge,k]),bt=Z.useMemo(()=>{if(!he||!ve||!be)return null;let e=r??n,t=FD(e,l),i=nE({createdAt:s,completedAt:o,fallbackDurationMs:w?.durationMs,outputTokens:t.output,reasoningTokens:t.reasoning,parts:e});if(i===null)return null;let a=rE(i);return a.length>0?a:null},[he,ve,be,n,r,l,s,o,w?.durationMs]),xt=(0,$.jsxs)($.Fragment,{children:[!K&&!u&&!G&&te?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"aria-label":O(`chat.messageBody.actions.openPreviewAria`),onPointerDown:e=>e.stopPropagation(),onClick:()=>{let e=oe??(ie?ae(ie):null);e&&ee(e,te)},children:(0,$.jsx)(X,{weight:hD,name:`global`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:O(`chat.messageBody.actions.openPreview`)})]}):null,!K&&!se&&j.fork?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,size:`icon`,variant:`ghost`,className:sD,"aria-label":O(`chat.messageBody.actions.forkAria`),"aria-busy":ue,disabled:ue||!!re,onPointerDown:e=>e.stopPropagation(),onClick:e=>{Ve(e)},children:(0,$.jsx)(X,{weight:hD,name:ue?`loader-4`:`git-branch`,className:Y(cD,ue&&`animate-spin`)})})}),(0,$.jsx)(za,{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:rD,children:[(0,$.jsx)(qT,{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,rt&&(0,$.jsx)(ps,{children:(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:it,weight:hD,className:Y(cD,`text-[var(--status-info)]/80`)})}):(0,$.jsx)(X,{name:it,weight:E===`info`?hD:void 0,className:Y(`shrink-0`,E===`info`?Y(cD,`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)(Po,{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)(ED,{fileCount:w.diffStats.files,changedFiles:w.changedFiles,turnId:w.turnId,isLatestTurn:w.isLatestTurn,isMobile:u}):null,(0,$.jsx)(nd,{files:n,messageID:t,sessionID:e,onShowPopup:g}),ht&&(0,$.jsx)(`div`,{className:Y(u?oD:aD),"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:dD,"data-message-action-group":`true`,children:ft})}),st&&(0,$.jsxs)(`div`,{className:z,"data-message-footer":`true`,style:iD,children:[(0,$.jsxs)(`div`,{className:dD,"data-message-action-group":`true`,children:[ft,xt]}),bt||vt||yt?(0,$.jsxs)(`div`,{className:fD,children:[bt?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`span`,{className:pD,"aria-label":O(`chat.messageBody.meta.tpsAria`,{rate:bt}),children:[(0,$.jsx)(X,{weight:hD,name:`pulse`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:bt})]})}),(0,$.jsx)(za,{children:O(`chat.messageBody.meta.tpsTooltip`)})]}):null,vt?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`span`,{className:pD,children:[(0,$.jsx)(X,{weight:hD,name:`hourglass`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:vt})]})}),(0,$.jsx)(za,{children:vt})]}):null,yt?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`span`,{className:pD,"aria-label":`Message time: ${yt}`,children:[(0,$.jsx)(X,{weight:hD,name:`time`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:yt})]})}),(0,$.jsx)(za,{children:yt})]}):null]}):null,!K&&ve&&ye&&!lt?(0,$.jsx)($w,{activityParts:w?.activityParts}):null]})]})]})}),zD=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)(ID,{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)(RD,{...r}),t[26]=r,t[27]=i),i});function BD(e){return e.openContextPanelTab}function VD(e){return e.setCurrentSession}function HD(e){return e.openContextPanelTab}function UD(e){return!e}function WD(e){return e.openContextPanelTab}function GD(e){return!e}var KD=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}},qD=`Authentication failed for this provider. Please re-authenticate and retry.`,JD=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},YD=(e,t,n)=>e===`active`||n?.isLastTurn&&n.hasConfirmedFinalBody!==!0?!0:t===`summary`,XD=e=>!e,ZD=e=>e.completionDisposition===`active`?e.isLastTurn&&e.sessionIsWorking?{completionDisposition:`active`,durationMs:e.durationMs}:{completionDisposition:`abnormal`,durationMs:e.durationMs}:{completionDisposition:e.completionDisposition,durationMs:e.durationMs},QD=e=>!(e.completionDisposition===`active`||e.isLastTurn&&e.sessionIsWorking&&!e.hasConfirmedSettledAssistant),$D=e=>e.isWorking?!0:e.isInActiveTurn?e.headerCompletionDisposition!==`normal`&&e.headerCompletionDisposition!==`abnormal`:!1,eO=e=>e.turnCompletionDisposition===`active`&&(e.isLastTurn||e.hasAssistantMessages)?`active`:e.headerPresentationDisposition,tO=Lo(()=>Ue(()=>import(`./ToolOutputDialog-BWtMR2ct.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]))),nO=4e3,rO=new Map,iO=new Map,aO=new Set([`bash`,`shell`,`cmd`,`terminal`]),oO=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},sO=e=>{let t=rO.get(e);return t?new Set(t):new Set},cO=(e,t)=>{if(rO.size>=nO&&!rO.has(e)){let e=rO.keys().next().value;typeof e==`string`&&rO.delete(e)}rO.set(e,new Set(t))},lO=e=>{let t=iO.get(e);return t?new Set(t):new Set},uO=(e,t)=>{if(iO.size>=nO&&!iO.has(e)){let e=iO.keys().next().value;typeof e==`string`&&iO.delete(e)}iO.set(e,new Set(t))},dO=200,fO=new Map,pO=e=>fO.get(e),mO=(e,t)=>{if(!t.agent&&!t.provider&&!t.model)return;let n=fO.get(e);if(!(n&&n.agent===t.agent&&n.provider===t.provider&&n.model===t.model)){if(fO.size>=dO&&!fO.has(e)){let e=fO.keys().next().value;typeof e==`string`&&fO.delete(e)}fO.set(e,t)}};function hO(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 gO=(e,t)=>{if(typeof e==`object`&&e)return e[t]},_O=Z.memo(({message:e,previousMessage:t,nextMessage:n,onContentChange:r,animationHandlers:i,turnGroupingContext:a,assistantHeaderMessageId:o,isInActiveTurn:s=!1,activeStreamingPhase:l=null,animateUserOnMount:u=!1,onUserAnimationConsumed:d,reviewTransferDirection:f=null})=>{let{isMobile:p,isTablet:m,hasTouchInput:h}=mo(),g=Qm(),_=$m(g),v=p||m,y=Z.useRef(null),b=J(e=>e.currentSessionId),x=Un(e=>e.getAgentModelForSession),S=Un(e=>e.getSessionModelSelection),C=J(e=>e.revertToMessage),w=J(e=>e.editMessagePreservingChanges),T=J(e=>e.forkFromMessage),E=J(t=>t.messageEditCommitting?.messageId===e.info.id&&t.messageEditCommitting?.sessionId===e.info.sessionID),D=J(t=>t.stagedMessageEdit?.messageId===e.info.id&&t.stagedMessageEdit?.sessionId===e.info.sessionID),O=J(e=>e.clearStagedMessageEdit);Ie(`ui.chat_message.render`),s&&Ie(`ui.chat_message.render.streaming`);let k=Hr(e=>e.providers),{showReasoningTraces:A,stickyUserHeader:j,chatRenderMode:M,showExpandedBashTools:N}=c(me(e=>({showReasoningTraces:e.showReasoningTraces,stickyUserHeader:e.stickyUserHeader,chatRenderMode:e.chatRenderMode,showExpandedBashTools:e.showExpandedBashTools})));Z.useEffect(()=>{b&&qb.getInstance().recordSessionStart(b)},[b]);let[P,F]=Z.useState(null),[I,L]=Z.useState(!1),[R,z]=Z.useState(null),B=Z.useRef(null),[V,H]=Z.useState(()=>sO(e.info.id)),[U,W]=Z.useState(()=>lO(e.info.id)),[ee,G]=Z.useState({open:!1,title:``,content:``});Z.useEffect(()=>{H(sO(e.info.id)),W(lO(e.info.id))},[e.info.id]);let K=Z.useMemo(()=>KD(e.info),[e.info]).isUser,te=K&&(p||!j),ne=K&&!p&&j&&!te,re=e.info.sessionID,ie=Jb(e=>e.planModeEnabled),{currentContextAgent:ae,savedSessionAgentSelection:oe}=Wp(me(e=>({currentContextAgent:s&&re?e.currentAgentContext.get(re):void 0,savedSessionAgentSelection:s&&re?e.sessionAgentSelections.get(re):void 0}))),se=Z.useMemo(()=>mt(e.sourceParts??e.parts),[e.parts,e.sourceParts]),ce=Z.useMemo(()=>K?Mt(se,{planModeEnabled:ie}):mt(e.parts),[K,e.parts,ie,se]),le=Z.useMemo(()=>{if(K||!t)return null;let e=gO(t.info,`clientRole`),n=gO(t.info,`role`);if((typeof e==`string`?e:typeof n==`string`?n:void 0)!==`user`)return null;let r=gO(t.info,`mode`),i=gO(t.info,`agent`),a=gO(t.info,`providerID`),o=gO(t.info,`modelID`),s=gO(t.info,`variant`),c=typeof r==`string`&&r.trim().length>0?r:typeof i==`string`&&i.trim().length>0?i:void 0,l=typeof a==`string`&&a.trim().length>0?a:void 0,u=typeof o==`string`&&o.trim().length>0?o:void 0,d=typeof s==`string`&&s.trim().length>0?s:void 0;return!c&&!l&&!u&&!d?null:{agentName:c,providerId:l,modelId:u,variant:d}},[K,t]),ue=Z.useMemo(()=>{if(!ie||K||!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},[K,ie,t]),de=Z.useMemo(()=>{if(K)return;let t=e.info.time;if(!(typeof t?.completed==`number`&&t.completed>0)&&ue&&le?.agentName)return le.agentName;let n=gO(e.info,`mode`);if(typeof n==`string`&&n.trim().length>0)return n;let r=gO(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)},[K,e.info,ue,le,re,ae,oe]),fe=K?null:gO(e.info,`providerID`),pe=K?null:gO(e.info,`modelID`),he=Z.useMemo(()=>{if(K||!re)return null;if(le?.providerId&&le?.modelId)return{providerId:le.providerId,modelId:le.modelId};if(de){let e=x(re,de);if(e?.providerId&&e?.modelId)return e}let e=S(re);return e?.providerId&&e?.modelId?e:null},[K,re,de,le,x,S]),ge=Z.useMemo(()=>K?null:typeof fe==`string`&&fe.trim().length>0?fe:he?.providerId??null,[K,fe,he]),_e=Z.useMemo(()=>K?null:typeof pe==`string`&&pe.trim().length>0?pe:he?.modelId??null,[K,pe,he]),ve=e.info.id?pO(e.info.id):void 0;K||mO(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(K)return;let e=be&&k.length>0?k.find(e=>e.id===be):void 0;return sr(e,xe)||void 0},[K,be,xe,k]),Ce=Z.useMemo(()=>{if(K||!ge||!_e)return!1;let e=k.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)},[K,_e,ge,k]),we=hO(ye),Te=hO(be??void 0),Ee=hO(xe??void 0),De=hO(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(()=>K?!0:!!(Me&&Me>0),[K,Me]),Fe=Z.useMemo(()=>{let t=e.info.finish;return typeof t==`string`?t:void 0},[e.info]),Le=Z.useMemo(()=>{if(K)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}},[K,e.info]),Re=Z.useMemo(()=>Sn(ce,{includeReasoning:A}),[ce,A]),ze=Z.useMemo(()=>K?Re:!Pe&&M===`sorted`?[]:Re,[M,Pe,K,Re]),Be=Z.useMemo(()=>K?[]:Re.filter(e=>e.type===`text`),[K,Re]),Ve=Z.useMemo(()=>K?[]:Re.filter(e=>e.type===`tool`),[K,Re]),He=Z.useMemo(()=>{if(!N)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=oO(t.tool);!r||!aO.has(r)||e.add(n)}for(let t of a?.activityParts??[]){if(t.kind!==`tool`)continue;let n=oO(t.part.tool);!n||!aO.has(n)||e.add(t.id)}return e},[N,Ve,a?.activityParts]),Ue=Z.useMemo(()=>{if(He.size===0&&U.size===0)return V;let e=new Set(V);return He.forEach(t=>{U.has(t)||e.add(t)}),U.forEach(t=>{e.delete(t)}),e},[U,He,V]),We=Z.useMemo(()=>{if(!K)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}`}},[K,ce]),Ge=K&&!zn(ze),Ke=typeof Fe!=`string`,qe=Z.useMemo(()=>K?!1:Be.length===0||Ve.length===0?Ke:!0,[Be.length,Ve.length,Ke,K]),Je=Z.useMemo(()=>!K&&qb.getInstance().shouldAnimateMessage(e.info,b||e.info.sessionID),[e.info,b,K]),[Ye,Xe]=Z.useState(!1),Ze=Z.useMemo(()=>n?KD(n.info):null,[n]),Qe=!!a,$e=a?.isLastAssistantInTurn??!1,et=$D({isWorking:a?.isWorking===!0,isInActiveTurn:s,headerCompletionDisposition:a?.completionDisposition}),tt=Z.useMemo(()=>K?!1:Qe?!$e:Ze?!Ze.isUser&&Ze.role===`assistant`:!1,[Qe,$e,K,Ze]),nt=Z.useMemo(()=>Pe?`completed`:s?l??`streaming`:`completed`,[l,s,Pe]);Z.useEffect(()=>{!K||!u||d?.(e.info.id)},[u,K,e.info.id,d]),Z.useEffect(()=>{Xe(!1)},[e.info.id]),Z.useEffect(()=>{let t=o??a?.headerMessageId;K||!t||t!==e.info.id||(nt===`streaming`||nt===`cooldown`)&&Xe(!0)},[o,K,e.info.id,nt,a?.headerMessageId]);let rt=Z.useMemo(()=>{if(K)return!0;let t=o??a?.headerMessageId;return t?e.info.id===t?nt===`completed`||Ye||nt===`streaming`||nt===`cooldown`:!1:!0},[o,Ye,K,a,nt,e.info.id]),it=Z.useCallback(e=>{ct(e).then(t=>{t.ok&&(F(e),setTimeout(()=>F(null),2e3))})},[]),at=K?void 0:a?.userMessageVariant??le?.variant,ot=!K&&Ce&&typeof at==`string`&&at.trim().length>0?at:void 0,st=Z.useMemo(()=>{if(K)return;let t=e.info?.error;if(!t)return;let n=typeof t.data?.message==`string`?t.data.message:void 0,r=typeof t.message==`string`?t.message:void 0,i=typeof t.name==`string`?t.name:void 0,a=n||r||i;if(a)return i===`SessionRetry`?{text:`Opencode failed to send a message. Retry attempt info: \n\`${a}\``,variant:`info`}:JD(a)?{text:qD,variant:`error`}:a.trim().toLowerCase()===`aborted`?{text:`The running turn was stopped before OpenCode could send the next message.`,variant:`info`}:{text:`Opencode failed to send message with error:\n\`${a}\``,variant:`error`}},[K,e.info]),lt=st?.text,ut=st?.variant,dt=Z.useMemo(()=>{if(K){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(`
6576
+ `).trim()||LT(t)},qT=({containerRef:e})=>{let{t}=ot(),[n,r]=Z.useState({x:0,y:0,show:!1}),[i,a]=Z.useState(``),[o,s]=Z.useState(``),l=Z.useRef(!1),[u,f]=Z.useState(!1),[p,m]=Z.useState(!1),h=Z.useRef(null),g=Z.useRef(NT),_=Z.useRef(null),v=Z.useRef(null),y=Z.useRef(null),b=Z.useRef(!1),x=J(e=>e.createSession),S=J(e=>e.currentSessionId),C=_n(e=>e.setPendingInputText),w=c(e=>e.isMobile),T=Hi(e=>e.projects),E=J(e=>e.availableWorktreesByProject),D=os(),O=ji(),k=$m(Qm()).textSelectionMutation;Z.useEffect(()=>{b.current=n.show},[n.show]),Z.useEffect(()=>()=>{v.current!==null&&(window.cancelAnimationFrame(v.current),v.current=null),y.current!==null&&(window.clearTimeout(y.current),y.current=null)},[]);let A=Z.useCallback(()=>{_.current=null,PT===A&&(PT=null),b.current&&=(v.current!==null&&(window.cancelAnimationFrame(v.current),v.current=null),f(!1),r(e=>({...e,show:!1})),a(``),s(``),!1)},[]);Z.useEffect(()=>()=>{PT===A&&(PT=null)},[A]);let j=Z.useCallback(e=>{if(typeof window>`u`)return e;let t=window.innerWidth,n=g.current/2,r=MT+n,i=t-MT-n;return r>i?t/2:Math.min(Math.max(e,r),i)},[]),M=Z.useCallback(()=>{if(!_.current)return;PT!==A&&(PT?.(),PT=A);let{plainText:e,markdownText:t,rect:i}=_.current,o=!n.show,c=w?i.left+i.width/2:j(i.left+i.width/2),l=i.top-10;a(e),s(t),r({x:c,y:l,show:!0}),b.current=!0,o&&(f(!0),v.current!==null&&window.cancelAnimationFrame(v.current),v.current=window.requestAnimationFrame(()=>{f(!1),v.current=null}))},[j,A,w,n.show]);Z.useLayoutEffect(()=>{if(!n.show||w||!h.current)return;let e=h.current.offsetWidth;!Number.isFinite(e)||e<=0||e===g.current||(g.current=e,r(e=>({...e,x:j(e.x)})))},[j,w,n.show]),Z.useEffect(()=>{if(!n.show||w)return;let e=()=>{r(e=>({...e,x:j(e.x)}))};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[j,w,n.show]);let N=Z.useCallback(()=>{let t=window.getSelection(),n=e.current;if(!t||!n){l.current||A();return}let r=LT(t.toString());if(!r){l.current||A();return}let i=BT(t,n);if(!i){l.current||A();return}let a=i.getBoundingClientRect();_.current={plainText:r,markdownText:KT(i,r),rect:a},l.current||M()},[e,A,M]);Z.useEffect(()=>{let t=e.current;if(!t)return;let n=()=>{l.current=!0,A()},r=()=>{l.current=!1,y.current!==null&&window.clearTimeout(y.current),y.current=window.setTimeout(()=>{y.current=null,N()},10)},i=new Set,a=()=>{for(let e of zT(t))i.has(e)||(i.add(e),e.addEventListener(`selectionchange`,N))};a();let o=new MutationObserver(a);o.observe(t,{childList:!0,subtree:!0}),document.addEventListener(`selectionchange`,N),t.addEventListener(`mousedown`,n),document.addEventListener(`mouseup`,r);let s=e=>{h.current&&!h.current.contains(e.target)&&!window.getSelection()?.toString().trim()&&A()};return document.addEventListener(`mousedown`,s),()=>{y.current!==null&&(window.clearTimeout(y.current),y.current=null),o.disconnect();for(let e of i)e.removeEventListener(`selectionchange`,N);document.removeEventListener(`selectionchange`,N),t.removeEventListener(`mousedown`,n),document.removeEventListener(`mouseup`,r),document.removeEventListener(`mousedown`,s)}},[e,N,A,M]);let P=Z.useCallback(e=>{if(!e)return;let t=`\`\`\`md\n${e}\n\`\`\``;C(t,`append`),A(),window.getSelection()?.removeAllRanges()},[C,A]),F=Z.useCallback(()=>{P(o)},[P,o]);Z.useEffect(()=>{let t=t=>{if(!k||!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=BT(n,r);i&&(t.preventDefault(),P(KT(i,n.toString())))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[P,k,e]);let I=Z.useCallback(async()=>{i&&(await x(void 0,null,null)&&C(i,`replace`),A(),window.getSelection()?.removeAllRanges())},[i,x,C,A]),L=Z.useCallback(async()=>{if(!i)return;let e=await ct(i);e.ok||console.error(`Failed to copy:`,e.error),A(),window.getSelection()?.removeAllRanges()},[i,A]),R=Z.useMemo(()=>S?O.find(e=>e.id===S)??null:null,[S,O]),z=Z.useMemo(()=>{let e=D??(typeof R?.directory==`string`?R.directory:``),t=Ut(T,E,e);return t?{id:t.id,path:t.path}:null},[E,R?.directory,D,T]),B=Z.useCallback(async()=>{if(!i||!z){z||Ii.error(t(`chat.textSelection.toast.noProject`));return}try{m(!0);let e=await hn(o||i,S),n=await Rt(z),r=jT(n.notes,e);if(!await Gn(z,{notes:r,todos:n.todos})){Ii.error(t(`chat.textSelection.toast.addToNotesFailed`));return}window.dispatchEvent(new CustomEvent(`openchamber:project-notes-updated`,{detail:{projectId:z.id}})),Ii.success(t(`chat.textSelection.toast.addToNotesSuccess`)),A(),window.getSelection()?.removeAllRanges()}catch(e){let n=e instanceof Error?e.message:void 0;Ii.error(t(`chat.textSelection.toast.addToNotesFailed`),n?{description:n}:void 0)}finally{m(!1)}},[z,S,A,i,o,t]);return n.show?w?(0,Sc.createPortal)((0,$.jsx)(`div`,{ref:h,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:[k?(0,$.jsxs)(`button`,{onClick:F,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,k?(0,$.jsxs)(`button`,{onClick:I,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:L,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(--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`)})]}),k&&!d()?(0,$.jsxs)(`button`,{onClick:B,disabled:p,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(--surface-muted)] text-[var(--surface-foreground)]`,`active:opacity-80 disabled:opacity-60 disabled:cursor-not-allowed`,`transition-opacity duration-150`),title:t(`chat.textSelection.title.saveInsightToNotes`),type:`button`,children:[p?(0,$.jsx)(X,{name:`loader-4`,className:`h-5 w-5 flex-shrink-0 animate-spin`}):(0,$.jsx)(X,{name:`booklet`,className:`h-5 w-5 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-normal`,children:t(`chat.textSelection.actions.addToNotes`)})]}):null]})}),document.body):(0,Sc.createPortal)((0,$.jsx)(`div`,{ref:h,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:[k?(0,$.jsxs)(`button`,{onClick:F,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)(pp,{shortcut:`⌘+I`})]}):null,k?(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}):null,k?(0,$.jsxs)(`button`,{onClick:I,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,k?(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}):null,(0,$.jsxs)(`button`,{onClick:L,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`)})]}),k&&!d()?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`w-px h-4 bg-[var(--interactive-border)]`}),(0,$.jsxs)(`button`,{onClick:B,disabled:p,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)] disabled:opacity-60 disabled:cursor-not-allowed`,`transition-colors duration-150`),title:t(`chat.textSelection.title.saveInsightToNotes`),type:`button`,children:[p?(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}):(0,$.jsx)(X,{name:`booklet`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:t(`chat.textSelection.actions.addToNotes`)})]})]}):null]})}),document.body):null},JT=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),YT=(e,t)=>{let n=new Date(t);return n.setDate(t.getDate()-1),JT(e,n)},XT=e=>Number.isFinite(e)&&!Number.isNaN(new Date(e).getTime()),ZT=(e,t)=>{if(!XT(e))return``;let n=new Date(e),r=new Date,i=fo(n,t),a=st(),o=lt.getState().dictionary;if(JT(n,r))return i;if(YT(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}`},QT=e=>typeof e!=`number`||!Number.isFinite(e)||e<0?0:e,$T=e=>e,eE=e=>{if(!Array.isArray(e)||e.length===0)return 0;let t=0;for(let n of e){let e=$T(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},tE=(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-eE(n);return!Number.isFinite(a)||a<=0?null:a},nE=e=>{let t=tE(e.createdAt,e.completedAt,e.parts,e.fallbackDurationMs);if(t===null)return null;let n=QT(e.outputTokens)+QT(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},rE=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`},iE=e=>{let t=(0,Q.c)(20),{text:n,active:r,className:i}=e,a=Z.useRef(n),[o,s]=Z.useState(n),[c,l]=Z.useState(null),u,d;t[0]!==r||t[1]!==n?(u=()=>{if(n===a.current)return;let e=a.current;if(a.current=n,!r||e.length===0){l(null),s(n);return}l(e),s(n)},d=[r,n],t[0]=r,t[1]=n,t[2]=u,t[3]=d):(u=t[2],d=t[3]),Z.useEffect(u,d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{l(null)},t[4]=f):f=t[4];let p=q(f),m;t[5]===i?m=t[6]:(m=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},aE=[`search`,`read`,`list`];function oE(e){let t=oC(e);return t===`read`?`read`:t===`glob`||t===`grep`?`search`:t===`list`?`list`:null}function sE(e){let t={read:0,search:0,list:0};for(let n of e){let e=oE(n);e&&(t[e]+=1)}return t}function cE(e){return aC(e)}function lE(e){return e.kind===`reasoning`||e.type===`reasoning`?!1:e.kind===`justification`||e.type===`text`?!0:e.kind===`tool`||e.type===`tool`?!nC(e.toolName):e.kind!=null||e.type!=null}function uE(e,t,n){for(let r=t;r<e.length;r+=1)if(lE(n(e[r])))return!0;return!1}function dE(e){return`parts`in e?e.parts.some(e=>cE(e))?!0:!e.hasFollowingOtherType&&e.isTurnLive:e.some(e=>cE(e))}function fE(e,t,n){let r=[],i=t;for(;i<e.length&&nC(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var pE=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,mE=({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??dE({parts:u,hasFollowingOtherType:r,isTurnLive:n}),f=sE(u.map(e=>e.tool)),p=aE.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=q(()=>{c(e=>!e)}),h=q(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:kp(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`,Ap),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)(WS,{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,pE,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,pE),style:{color:`var(--tools-description)`},children:(0,$.jsx)(iE,{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 hE(e,t,n){let r=[],i=t;for(;i<e.length&&rC(n(e[i]));)r.push(e[i]),i+=1;return{items:r,end:i}}var gE=e=>{if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null};function _E(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=gE(n.metadata.name);if(e)return e}if(n.input&&typeof n.input==`object`){let e=n.input,t=gE(e.name);if(t)return t;let r=gE(e.id);if(r)return r}if(n.output&&typeof n.output==`object`){let e=gE(n.output.name);if(e)return e}return null}function vE(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 yE=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,bE=({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=>aC(e)),{joinedVisible:l,hiddenCount:u}=vE(s.map(_E)),d=u>0?r(`chat.skillGroup.summaryOverflow`,{names:l,count:u}):l,f=q(()=>{a(e=>!e)}),p=q(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f())}),m=r(i?`chat.skillGroup.collapseAria`:`chat.skillGroup.expandAria`),h=r(`chat.tools.display.skill`);return(0,$.jsxs)(`div`,{"data-component":`skill-tool-group`,className:kp(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`,Ap),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)(WS,{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`,yE,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`,yE),style:{color:`var(--tools-description)`},children:(0,$.jsx)(iE,{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]})},xE=Z.memo(e=>{let t=(0,Q.c)(18),{part:n,messageId:r,onContentChange:i,actions:a,streamPhase:o,onShowPopup:s}=e,l=c(SE),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]!==s||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)(Lw,{part:n,sessionId:h,messageId:r,streamPhase:y,chatRenderMode:l,hasStreamingHapticLifecycle:b,onContentChange:i,onShowPopup:s})}),t[4]=l,t[5]=r,t[6]=i,t[7]=s,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 SE(e){return e.chatRenderMode}var CE=e=>{let t=Math.max(0,Math.round(e/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},wE=`!text-[length:var(--text-meta)] !leading-5 sm:!leading-6 tracking-normal`,TE=Y(`typography-meta font-medium`,wE),EE=Y(`typography-meta`,wE),DE=[],OE=e=>{let t=e.part;return t.slim===!0&&(t.type===`tool`||t.type===`reasoning`||t.type===`file`)},kE=e=>{let t=new Set;for(let n of e)OE(n)&&n.messageId&&t.add(n.messageId);return[...t]},AE=(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}),jE=e=>{let t=(0,Q.c)(5),{href:n}=e,[r,i]=Z.useState(!1),a;t[0]===n?a=t[1]:(a=$o(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},ME=e=>e,NE=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},PE=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},FE=e=>{let t=e.part.state?.metadata?.dir;return typeof t==`string`&&t.trim().length>0?t:null},IE=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},LE=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=IE(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`}`},RE=e=>{let t=e.part.state,n=t?.input,r=t?.output;if(Array.isArray(n?.todos)){let e=LE(n.todos);if(e)return e}if(Array.isArray(r)){let e=LE(r);if(e)return e}if(r&&typeof r==`object`&&Array.isArray(r.todos)){let e=LE(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=LE(e);if(t)return t}if(e&&typeof e==`object`&&Array.isArray(e.todos)){let t=LE(e.todos);if(t)return t}}catch{}return null},zE=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)},BE=(e,t=!0)=>{let n=e.lastIndexOf(`/`);if(n===-1)return(0,$.jsx)(cx,{variant:t?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,EE),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`,EE),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)(cx,{variant:t?`generate-effect`:`static`,className:`flex-shrink-0`,style:{color:`var(--tools-description)`},children:i})]})},VE=e=>{let t=xo(e);return t?t.toLowerCase().endsWith(`/skill.md`)?t:`${t}/SKILL.md`:``},HE=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 _E(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`?RE(e):NE(e)},UE=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}},WE=Z.memo(e=>{let t=(0,Q.c)(16),{activity:n,isExpanded:r,isMobile:i,onToggleTool:a,onShowPopup:o,onContentChange:s}=e,c;t[0]!==n.id||t[1]!==a?(c=()=>{a(n.id)},t[0]=n.id,t[1]=a,t[2]=c):c=t[2];let l=q(c),u;t[3]===i?u=t[4]:(u=kp(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)(_w,{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&&Xx([e.activity.part],[t.activity.part])),GE=Z.memo(e=>{let t=(0,Q.c)(9),{toolName:n,activities:r,isMobile:i}=e,a;t[0]===i?a=t[1]:(a=kp(i),t[0]=i,t[1]=a);let o;t[2]!==r||t[3]!==i||t[4]!==n?(o=(0,$.jsx)(JE,{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&&qE(e.activities,t.activities)),KE=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.kind===`reasoning`){if(!Dt(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(nC(i)){let r=fE(e,n,e=>e.part.tool);t.push({type:`tool-context-group`,activities:r.items,hasFollowingOtherType:uE(e,r.end,e=>({kind:e.kind,toolName:e.part.tool}))}),n=r.end;continue}if(rC(i)){let r=hE(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(eC(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if($S(i)){t.push({type:`tool-expandable`,activity:r}),n++;continue}if(tC(i)){t.push({type:`tool-static-group`,toolName:i,activities:[r]}),n++;continue}t.push({type:`tool-fallback`,activity:r}),n++}return t},qE=(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||!Xx([r.part],[i.part]))return!1}return!0},JE=Z.memo(e=>{let t=(0,Q.c)(106),{toolName:n,activities:r,isMobile:i,animateTailText:a}=e,{t:o}=ot(),s=c(QE),l=ts(n,o),u;t[0]===n?u=t[1]:(u=lx(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(Ao),h=_h(),g=Te($E),_=Qm(),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=Ti(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(eD)),t[10]=w,t[11]=T);let E=T,D=r[0]??null,O=!D||aC(D.part),k;t[12]===D?k=t[13]:(k=D?HE(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||FE(D);if(!e||e===`<built-in>`){j=null;break bb0}let r=VE(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=PE(D);if(!e){N=null;break bb1}let n=yo(e,v);if(!n){N=null;break bb1}let r;t[26]===D?r=t[27]:(r=zE(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=bo(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(!wo(n,v)){ss(n,v).then(()=>{let e=c.getState(),r=v||vo(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=c.getState(),i=vo(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=q(F),L;t[36]!==v||t[37]!==h?(L=e=>{let t=xo(e);if(!t)return;let n=()=>{if(h){h.openFile({path:t});return}let e=c.getState(),n=v||vo(``,t);e.openContextFile(n,t)};if(v&&!wo(t,v)){ss(t,v).then(n);return}n()},t[36]=v,t[37]=h,t[38]=L):L=t[38];let R=q(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=q(G),te;t[48]===K?te=t[49]:(te=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),K())},t[48]=K,t[49]=te);let ne=q(te),re=W&&ee&&`cursor-pointer`,ie=W&&!ee&&`cursor-default opacity-70`,ae;t[50]!==re||t[51]!==ie?(ae=Y(`flex w-full items-center gap-x-1.5 min-w-0`,Ap,re,ie),t[50]=re,t[51]=ie,t[52]=ae):ae=t[52];let oe=W?`soft`:void 0,se=W?K:void 0,ce=W?ne:void 0,le=W?`button`:void 0,ue=W&&ee?0:void 0,de=W&&!ee?!0:void 0,fe=i?`size-4`:`size-3.5`,pe;t[53]===fe?pe=t[54]:(pe=Y(`inline-flex items-center justify-center flex-shrink-0`,fe),t[53]=fe,t[54]=pe);let me;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(me={color:`var(--tools-icon)`},t[55]=me):me=t[55];let he=O?(0,$.jsx)(WS,{isMobile:i,label:o(`chat.assistantStatus.usingTool`,{tool:l})}):d,ge;t[56]!==pe||t[57]!==me||t[58]!==he?(ge=(0,$.jsx)(`div`,{className:pe,style:me,children:he}),t[56]=pe,t[57]=me,t[58]=he,t[59]=ge):ge=t[59];let _e,ve;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(_e=Y(TE,`inline-flex items-center flex-shrink-0 opacity-85`),ve={color:`var(--tools-title)`},t[60]=_e,t[61]=ve):(_e=t[60],ve=t[61]);let ye;t[62]===l?ye=t[63]:(ye=(0,$.jsx)(`span`,{className:_e,style:ve,title:l,children:l}),t[62]=l,t[63]=ye);let be;t[64]!==a||t[65]!==p||t[66]!==P||t[67]!==s?(be=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`,EE),style:{color:`var(--tools-description)`},title:P.offset?`${P.displayPath}:${P.offset}`:P.displayPath,children:[s?(0,$.jsx)(Au,{filePath:P.path,className:`h-3.5 w-3.5`}):null,BE(P.displayPath,a)]}):null,t[64]=a,t[65]=p,t[66]=P,t[67]=s,t[68]=be):be=t[68];let xe;t[69]!==a||t[70]!==A||t[71]!==V?(xe=V&&A?(0,$.jsx)(`span`,{className:`inline-flex min-w-0 flex-1`,children:(0,$.jsxs)(cx,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,EE),style:{color:`var(--tools-description)`},title:A,children:[`"`,A,`"`]})}):null,t[69]=a,t[70]=A,t[71]=V,t[72]=xe):xe=t[72];let Se;t[73]!==A||t[74]!==H?(Se=H&&A?(0,$.jsxs)(`a`,{href:A,target:`_blank`,rel:`noopener noreferrer`,onClick:tD,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`,EE),style:{color:`var(--status-info)`},title:A,children:[(0,$.jsx)(jE,{href:A}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:A})]}):null,t[73]=A,t[74]=H,t[75]=Se):Se=t[75];let Ce;t[76]!==U||t[77]!==M?(Ce=U&&M?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,EE),style:{color:`var(--tools-description)`},title:M.path,children:M.name}):null,t[76]=U,t[77]=M,t[78]=Ce):Ce=t[78];let we;t[79]!==A||t[80]!==U||t[81]!==M?(we=U&&!M&&A?(0,$.jsx)(`span`,{className:Y(`!min-h-0 min-w-0 flex-1 truncate whitespace-nowrap text-left`,EE),style:{color:`var(--tools-description)`},title:A,children:A}):null,t[79]=A,t[80]=U,t[81]=M,t[82]=we):we=t[82];let Ee;t[83]!==a||t[84]!==A||t[85]!==H||t[86]!==p||t[87]!==V||t[88]!==U?(Ee=!p&&!V&&!H&&!U&&A?(0,$.jsx)(cx,{variant:a?`generate-effect`:`static`,className:Y(`min-w-0 flex-1 truncate whitespace-nowrap`,EE),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]=Ee):Ee=t[89];let De;return t[90]!==ae||t[91]!==oe||t[92]!==se||t[93]!==ce||t[94]!==le||t[95]!==ue||t[96]!==de||t[97]!==ge||t[98]!==ye||t[99]!==be||t[100]!==xe||t[101]!==Se||t[102]!==Ce||t[103]!==we||t[104]!==Ee?(De=(0,$.jsxs)(`div`,{className:ae,"data-mobile-press-feedback":oe,onClick:se,onKeyDown:ce,role:le,tabIndex:ue,"aria-disabled":de,children:[ge,ye,be,xe,Se,Ce,we,Ee]}),t[90]=ae,t[91]=oe,t[92]=se,t[93]=ce,t[94]=le,t[95]=ue,t[96]=de,t[97]=ge,t[98]=ye,t[99]=be,t[100]=xe,t[101]=Se,t[102]=Ce,t[103]=we,t[104]=Ee,t[105]=De):De=t[105],De},(e,t)=>e.toolName===t.toolName&&e.isMobile===t.isMobile&&e.animateTailText===t.animateTailText&&qE(e.activities,t.activities)),YE=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)(Yw,{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}),XE=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)(xE,{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}),ZE=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(),_=os()??``,v=Z.useMemo(()=>kE(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?CE(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(()=>UE(e),[e]),M=T?j.active:j.all,N=M.slice(0,c?2:3),P=q((e=!1,n=!1)=>{if(!(!_||!v.length)){for(let r of v){let i=t.find(e=>e.messageId===r)?.part.sessionID;if(!i)continue;let a=Ji(_,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=Fn(_,i,r,{priority:n?`background`:`user`}).catch(()=>{x.current.add(r)}).finally(()=>{b.current.delete(r),S(e=>e+1)});b.current.set(r,o)}S(e=>e+1)}}),F=q(e=>{e.stopPropagation(),P(!0)}),I=T,L=I||n,R=q(()=>{if(I)return;let e=C.current;w.current=e?{top:e.getBoundingClientRect().top,scrollContainer:e.closest(`[data-scrollbar="chat"]`)}:null,L||P(),s()});Z.useEffect(()=>{T||!L||P(!1,!0)},[T,L]),Z.useLayoutEffect(()=>{let e=w.current,t=C.current;if(!e||!t)return;let n=()=>{if(!t.isConnected)return;let n=t.getBoundingClientRect().top-e.top;if(!(Math.abs(n)<.5)){if(e.scrollContainer?.isConnected){e.scrollContainer.scrollTop+=n;return}window.scrollBy(0,n)}};if(n(),typeof window>`u`||typeof window.requestAnimationFrame!=`function`){w.current=null;return}let r=window.requestAnimationFrame(()=>{n(),w.current=null});return()=>window.cancelAnimationFrame(r)},[L]);let z=m&&!L?Math.max(0,Math.floor(r)):0,B=!m||L||z>0,V=y.current,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 Ji(_,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)&&OE(e)),K=ee&&!G&&!AE(t,V),te=Z.useMemo(()=>B?ME(e):DE,[e,B]),ne=Z.useMemo(()=>B?KE(te):[],[B,te]),re=Z.useMemo(()=>L||z===0?0:Math.max(0,ne.length-z),[L,z,ne.length]),ie=Z.useMemo(()=>L||z===0?ne:ne.slice(-z),[L,z,ne]);if((!m||I&&!O)&&ne.length===0)return null;let ae=(e,t)=>{let n=(0,$.jsx)(`div`,{className:kp(c),children:t});return(0,$.jsx)(Z.Fragment,{children:n},e)},oe=B?ie.map((e,t)=>{switch(e.type){case`reasoning`:return ae(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(YE,{activity:e.activity,streamPhase:p,onContentChange:f})}));case`justification`:return ae(e.activity.id,(0,$.jsx)($.Fragment,{children:(0,$.jsx)(XE,{activity:e.activity,onContentChange:f,onShowPopup:d,actions:h?.(e.activity),streamPhase:p})}));case`tool-expandable`:return(0,$.jsx)(WE,{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)(GE,{toolName:e.toolName,activities:e.activities,isMobile:c},e.activities[0]?.id??`static-${e.toolName}-${t}`);case`tool-context-group`:return(0,$.jsx)(mE,{activities:e.activities,isMobile:c,isTurnLive:T,hasFollowingOtherType:e.hasFollowingOtherType,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(JE,{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)(bE,{activities:e.activities,isMobile:c,children:e.activities.map(e=>{let t=e.part;return(0,$.jsx)(JE,{toolName:t.tool?.toLowerCase()??``,activities:[e],isMobile:c,animateTailText:!1},e.id)})},e.activities[0]?.id??`skill-${t}`);case`tool-fallback`:return(0,$.jsx)(WE,{activity:e.activity,isExpanded:l.has(e.activity.id),isMobile:c,onToggleTool:u,onShowPopup:d,onContentChange:f},e.activity.id);default:return null}}):null,se=ie.length>0;return m?(0,$.jsxs)(`div`,{className:kp(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&&Ap,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)(WS,{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)(na,{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`)})]})]}),se?(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)`}}),re>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:[`+`,re,` more...`]}):null,(0,$.jsx)(`div`,{className:`flow-root`,children:oe})]}):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)(da,{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:kp(c),children:oe})});function QE(e){return e.showToolFileIcons}function $E(e){return e.currentDirectory}function eD(e){return[e.name,e]}function tD(e){e.stopPropagation()}var nD=Z.memo(e=>{let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(ZE,{...e}),t[0]=e,t[1]=n),n}),rD={contain:`layout`},iD={containerType:`inline-size`,containerName:`message-footer`},aD=`mt-1.5 mb-0.5 flex items-center justify-start gap-1.5`,oD=`mt-3 mb-0.5 flex items-center justify-start gap-1.5`,sD=`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`,cD=`size-3.5!`,lD=`mt-1.5 mb-0.5 flex flex-wrap items-center gap-3`,uD=`mt-3 mb-0.5 flex flex-wrap items-center gap-3 -ml-[5px]`,dD=`flex items-center gap-2`,fD=`flex items-center gap-2 text-muted-foreground`,pD=`inline-flex h-3.5 items-center gap-1 text-[11px] leading-none tabular-nums text-muted-foreground`,mD=`size-3.5!`,hD=`medium`,gD=e=>e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e,_D=`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)]`,vD=`h-7 gap-1.5`,yD=`h-6 gap-1`,bD=`text-[11px] leading-none`,xD=`size-3.5`,SD=`size-3`,CD=5,wD=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)(Au,{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=gD(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}),TD=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=q(s),l=!r,u=i?yD:vD,d;t[3]===u?d=t[4]:(d=Y(_D,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)(wD,{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)(da,{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}),ED=Z.memo(e=>{let t=(0,Q.c)(53),{fileCount:n,changedFiles:r,turnId:i,isLatestTurn:a,isMobile:o}=e,{t:s}=ot(),l=os(),u=Qm(),d=u.directory||l,f=u.sessionId,p=_h(),m=c(BD),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,CD),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]!==s?(S=s(b===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:b}),t[4]=b,t[5]=s,t[6]=S):S=t[6];let C=S,w;t[7]!==y||t[8]!==s?(w=s(y===1?`chat.pendingChanges.fileCountSingle`:`chat.pendingChanges.fileCountPlural`,{count:y}),t[7]=y,t[8]=s,t[9]=w):w=t[9];let T=w,E=Y(_D,o?yD:vD),D=o?SD:xD,O;t[10]===o?O=t[11]:(O=o?Y(bD,`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(bD,`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(bD,`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){Qw({directory:d,filePath:e,turnMessageId:i,sessionId:f});return}o&&a&&d&&Qw({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=q(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&&Qw({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=q(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]===s?V=t[35]:(V=s(`diffView.actions.reviewAria`),t[34]=s,t[35]=V);let H;t[36]===s?H=t[37]:(H=s(`diffView.actions.reviewAria`),t[36]=s,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]===s?ee=t[41]:(ee=s(`chat.changedFiles.title`),t[40]=s,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 te;t[49]===D?te=t[50]:(te=Y(D,`opacity-60`),t[49]=D,t[50]=te);let ne;return t[51]===te?ne=t[52]:(ne=(0,$.jsx)(X,{name:`arrow-right-s`,className:te}),t[51]=te,t[52]=ne),(0,$.jsxs)(`section`,{className:z,"data-turn-changes-preview":`true`,"data-message-action-group":`true`,"aria-labelledby":`turn-changes-${i}`,children:[(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`xs`,disabled:!x,onClick:L,className:B,"aria-label":V,title:H,children:[U,G,K,ne]}),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)(TD,{file:e,canOpen:x,isMobile:o,onOpen:F},e.file)),y>0?(0,$.jsxs)(da,{type:`button`,variant:`ghost`,size:`xs`,disabled:!x,className:Y(E,`text-muted-foreground hover:text-foreground`),onClick:L,"aria-label":s(`diffView.actions.reviewAria`),title:s(`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]})}),DD=e=>e.type===`subtask`,OD=e=>{let t=e;return t.type===`text`&&typeof t.shellAction==`object`&&t.shellAction!==null},kD=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}`},AD=e=>{let t=(0,Q.c)(49),{part:n}=e,[r,i]=Z.useState(!1),a=os(),{isMobile:o}=mo(),s=J(VD),l=c(HD),u=Qm(),{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=kD(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(UD),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]!==s||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:()=>{a&&eh(u,S,a,()=>{if(!ii({sessionId:S,directory:a})){if(jc()||o||d()){s(S,a);return}l(a,{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]=s,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},jD=e=>{let t=(0,Q.c)(34),{notification:n}=e,r=os(),i=c(WD),{isMobile:a}=mo(),{t:o}=ot(),s;t[0]!==r||t[1]!==a?(s=r&&!a&&!d(),t[0]=r,t[1]=a,t[2]=s):s=t[2];let l=!!s,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=q(()=>{!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 _=q(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)(Po,{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},MD={background:`transparent`,backgroundColor:`transparent`},ND=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 _=q(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=q(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)(ec,{language:`bash`,code:u,codeStyle:MD,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(GD),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)(ec,{language:`bash`,code:d,codeStyle:MD,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},PD=e=>{let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.round(t%60)}s`},FD=(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}},ID=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,messageCreatedAt:i,isMobile:a,alwaysShowActions:o=a,hasTouchInput:s,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=Fh(),E=$m(Qm()),D=c(e=>e.timeFormatPreference),[O,k]=Z.useState(!1),A=Z.useRef(null),j=Z.useMemo(()=>n.filter(e=>e.type===`text`?!$r(e):!!(DD(e)||OD(e))),[n]),M=Z.useMemo(()=>j.map(e=>Zn(e)?kx(Dt(e)):void 0),[j]),N=p?.token,P=!1,F=!!u,I=!!d,L=!!(s??a),R=!!l,z=x!==`external-actions`,B=x!==`external-content`,V=S&&x===`inline`,H=q(()=>{A.current!==null&&typeof window<`u`&&(window.clearTimeout(A.current),A.current=null)}),U=q(()=>{!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=q(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=ZT(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`),te=!v&&y&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsxs)(`div`,{className:Y(dD,`justify-end`,!a&&x===`inline`&&`translate-x-5`,`pointer-events-auto opacity-100`),"data-message-action-group":`true`,children:[(0,$.jsxs)(`span`,{className:Y(pD,`text-primary`),"aria-live":`polite`,children:[(0,$.jsx)(X,{weight:hD,name:`edit`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:w(`chat.messageBody.actions.editStaged`)})]}),b?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"aria-label":w(`chat.messageBody.actions.cancelEdit`),onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),b()},children:(0,$.jsx)(X,{weight:hD,name:`close`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.cancelEdit`)})]}):null]})}):null,ne=(v&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsx)(`div`,{className:Y(dD,`justify-end`,!a&&x===`inline`&&`translate-x-5`,`pointer-events-none opacity-100`),children:(0,$.jsx)(`span`,{className:Y(pD,`animate-text-shimmer`),"aria-live":`polite`,children:w(`chat.messageBody.actions.editing`)})})}):null)??te??((F&&R||m||h||ee)&&B?(0,$.jsx)(`div`,{className:K,children:(0,$.jsxs)(`div`,{className:Y(dD,`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)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`span`,{className:Y(pD,`mr-1`),"aria-label":`Message time: ${G}`,children:[(0,$.jsx)(X,{weight:hD,name:`time`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:G})]})}),(0,$.jsx)(za,{children:G})]}):null,h&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"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:hD,name:_===`revert`?`loader-4`:`arrow-go-back`,className:Y(cD,_===`revert`&&`animate-spin`)})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.revert`)})]}),m&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"aria-label":w(`chat.messageBody.actions.editAria`),disabled:!!_,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),m()},children:(0,$.jsx)(X,{weight:hD,name:`edit`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.edit`)})]}),ee&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"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:hD,name:_===`fork`?`loader-4`:`git-branch`,className:Y(cD,_===`fork`&&`animate-spin`)})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.fork`)})]}),F&&R&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":O||I?`true`:void 0,className:sD,"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:hD,name:`check`,className:Y(cD,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:hD,name:`file-copy`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:w(`chat.messageBody.actions.copyMessage`)})]})]})}):null);return z?(0,$.jsxs)(`div`,{className:`relative w-full group/message`,style:rD,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(DD(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(AD,{part:e})},e.id??`user-subtask-${i}`);if(OD(e))return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(ND,{part:e})},e.id??`user-shell-${i}`);let o=M[i];if(o)return(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(jD,{notification:o})},e.id??`subagent-notification-${i}`);let s;return p&&N&&!P&&Dt(e).includes(N)&&(s=p,P=!0),(0,$.jsx)(Z.Fragment,{children:(0,$.jsx)(ox,{part:e,messageId:t,isMobile:a,agentMention:s,messageParts:r??n})},e.id??`user-text-${i}`)})}),(0,$.jsx)(nd,{files:n,messageID:t,sessionID:e,onShowPopup:f,compact:!0}),ne]}):(0,$.jsx)($.Fragment,{children:ne})}),LD=Z.memo(({hasCopyableText:e,isTouchContext:t,onCopyMessage:n,reviewTransferAction:r,ttsText:i,sessionId:a})=>{let{t:o}=ot(),s=Fh(),c=Qm(),l=$m(c),{isPlaying:u,play:d,stop:f}=AT(),p=Hr(e=>e.showMessageTTSButtons),m=Hr(e=>e.voiceProvider),[h,g]=Z.useState(!1),[_,v]=Z.useState(!1),[y,b]=Z.useState(!1),x=Z.useRef(null),S=Z.useRef(null),C=!!n,w=!!((c.sessionId||a)&&c.directory&&l.openSourceSession&&s!==`mini-chat`),T=q(()=>{x.current!==null&&typeof window<`u`&&(window.clearTimeout(x.current),x.current=null)}),E=q(()=>{S.current!==null&&typeof window<`u`&&(window.clearTimeout(S.current),S.current=null)});Z.useEffect(()=>()=>{T(),E()},[E,T]),Z.useEffect(()=>{(!e||!C)&&(g(!1),v(!1),T(),E())},[C,E,T,e]);let D=q(()=>{!t||!C||!e||typeof window>`u`||(T(),g(!0),x.current=window.setTimeout(()=>{g(!1),x.current=null},1800))}),O=q(async r=>{!n||!e||(r.stopPropagation(),r.preventDefault(),await n()!==!1&&(E(),v(!0),typeof window<`u`&&(S.current=window.setTimeout(()=>{v(!1),S.current=null},2e3)),t&&D()))}),k=q(async t=>{if(t.stopPropagation(),t.preventDefault(),!(!r||y||!e)){b(!0);try{await r.onClick()}finally{b(!1)}}}),A=q(e=>{e.stopPropagation(),e.preventDefault();let t=c.sessionId||a;!t||!c.directory||!c.openSourceSession||c.openSourceSession(t,c.directory)}),j=Z.useMemo(()=>u?o(`chat.messageBody.tts.stopSpeaking`):o(`chat.messageBody.tts.readAloudWithProvider`,{provider:m===`browser`?`Browser`:m===`openai`?`OpenAI`:m===`openai-compatible`?`Custom`:`Say`}),[u,o,m]),M=q(e=>{if(e.stopPropagation(),e.preventDefault(),u){f();return}i.trim()&&d(i)});return(0,$.jsxs)($.Fragment,{children:[n&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,"data-visible":h||_?`true`:void 0,className:Y(sD,!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:hD,name:`check`,className:Y(cD,`text-[color:var(--status-success)]`)}):(0,$.jsx)(X,{weight:hD,name:`file-copy`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:o(`chat.messageBody.actions.copyAnswer`)})]}),w?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"aria-label":o(`chat.messageBody.actions.openSourceSessionAria`),onPointerDown:e=>e.stopPropagation(),onClick:A,children:(0,$.jsx)(X,{weight:hD,name:`target`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:o(`chat.messageBody.actions.openSourceSession`)})]}):null,r&&s!==`mini-chat`&&l.reviewTransfer?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,size:`icon`,variant:`ghost`,disabled:y||!e,className:Y(sD,(!e||y)&&`opacity-50`),"aria-label":r.ariaLabel,onPointerDown:e=>e.stopPropagation(),onClick:e=>{k(e)},children:y?(0,$.jsx)(X,{weight:hD,name:`loader-4`,className:Y(cD,`animate-spin`)}):(0,$.jsx)(X,{weight:hD,name:`arrow-left-right`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:r.tooltip})]}):null,s!==`mini-chat`&&p&&e&&(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:Y(sD,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:hD,name:`stop`,className:cD}):(0,$.jsx)(X,{weight:hD,name:`volume-up`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:j})]})]})}),RD=Z.memo(({sessionId:e,messageId:t,parts:n,sourceParts:r,isMessageCompleted:i,messageFinish:a,messageCompletedAt:o,messageCreatedAt:s,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=Fh(),j=$m(Qm()),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?uD:lD,B=!i,V=Z.useMemo(()=>n.filter(e=>!$r(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(()=>an(U),[U]),ee=c(e=>e.openContextPreview),G=d(),K=A===`mini-chat`,te=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=es(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=es(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]),ne=J(e=>e.forkFromMessage),re=J(e=>e.forkTransition),ie=J(e=>e.currentSessionId),ae=J(e=>e.getDirectoryForSession),oe=os(),se=D===`review-to-original`,ce=!u&&!G?D:null,le=Z.useMemo(()=>{let t=W.trim();if(!(!e||!oe||!t||!ce))return ce===`review-to-original`?{ariaLabel:O(`chat.messageBody.actions.sendReviewFeedback`),tooltip:O(`chat.messageBody.actions.sendReviewFeedback`),onClick:async()=>{try{await Xr(e,oe,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 gt(e,oe,t)}catch(e){console.error(`[review-flow] failed to send implementation response`,e)}}}},[W,oe,ce,e,O]),[ue,de]=Z.useState(!1),fe=c(e=>e.chatRenderMode),pe=c(e=>e.collapsibleThinkingBlocks),me=c(e=>e.showSplitAssistantMessageActions),he=c(e=>e.showAssistantTps),ge=c(e=>e.timeFormatPreference),_e=fe===`sorted`,ve=w?.isLastAssistantInTurn??!1,ye=a===`stop`,be=(ye||i||!!T)&&(w?.isTurnSettled??!0),xe=ye?`completed`:M,Se=H.length>0,Ce=Z.useMemo(()=>H.some(e=>aC(e)),[H]),we=aC,Te=iC,Ee=I.current.experiencedStreamingOrCooldown,De=Z.useRef({messageId:t,initialized:!1,observedPartIds:new Set});Z.useEffect(()=>{if(De.current.messageId!==t&&(De.current={messageId:t,initialized:!1,observedPartIds:new Set}),!Ee||!Nt())return;let n=De.current,r=!n.initialized;n.initialized=!0;for(let i of H){if(n.observedPartIds.has(i.id))continue;if(!Ot(r,we(i))){n.observedPartIds.add(i.id);continue}let a=e??i.sessionID;a&&(n.observedPartIds.add(i.id),Ui({sessionID:a,messageID:t,partID:i.id,kind:`tool`}))}},[Ee,we,t,e,H]);let Oe=Z.useMemo(()=>H.length===0||!Ce&&H.every(e=>Te(e)),[H,Ce,Te]),ke=Z.useMemo(()=>V.filter(e=>e.type===`reasoning`),[V]),Ae=Z.useMemo(()=>ke.length===0||ke.every(e=>typeof e.time?.end==`number`),[ke]),je=typeof a!=`string`,Me=ke.length>0&&Se&&(Ce||je||!Oe),Ne=B||Se&&(Ce||je||!Oe),Pe=B||Me,Fe=Se||ke.length>0,Ie=U.length===0,Le=Fe&&Ie&&!Ne&&!Pe&&Oe&&Ae,Re=Z.useRef(!1),ze=Z.useRef(!1);Z.useEffect(()=>{ze.current=!1},[t]),Z.useEffect(()=>{if(!Le){Re.current=!1;return}Re.current||(Re.current=!0,S?.())},[Le,S]),Z.useEffect(()=>{if(B){ze.current=!1;return}if(Se){ze.current=!1;return}ke.length!==0&&(Pe||!Ae||ze.current||(ze.current=!0,y?.(`structural`)))},[B,Se,y,Ae,ke.length,Pe]);let Be=!!b&&!B,Ve=q(async n=>{if(n.stopPropagation(),n.preventDefault(),!(!e||!t||ue||re)){de(!0);try{await ne(e,t)}finally{de(!1)}}}),He=Z.useMemo(()=>{let e=w?.activityParts;return!_e||!e?[]:e},[_e,w?.activityParts]),Ue=Z.useMemo(()=>{let e=w?.activityGroupSegments;return!_e||!e?[]:e.filter(e=>e.anchorMessageId===t)},[_e,t,w?.activityGroupSegments]),We=Ue.length>0,Ge=Z.useMemo(()=>{let e=new Map,t=new Map;return He.forEach(n=>{e.set(n.part,n);let r=n.part.id;typeof r==`string`&&r.length>0&&t.set(r,n)}),{get:n=>{let r=e.get(n);if(r)return r;let i=n.id;if(typeof i==`string`&&i.length>0)return t.get(i)}}},[He]),Ke=w?.toggleGroup,qe=w?.activityPresentationKind===`compaction`,Je=w?.isGroupExpanded===!0,Ye=_e&&qe&&!Je,Xe=_e?w?.activityOwnerMessageId===t||We:!w?.activityOwnerMessageId||w.activityOwnerMessageId===t||We,Ze=_e&&Xe&&(We||qe)&&!!Ke,Qe=aT(a,V),$e={finish:a,parts:V,streamPhase:xe,error:T,isLastAssistantInTurn:ve},et=uT($e),tt=_e&&dT($e),nt=_e&&!et&&!(qe&&Je),rt=!!T,it=E===`info`?`information`:`error-warning`,at=Be,st=ve&&be&&!Ye&&(b||!!T||i),lt=w?.diffStats?.hasDiffs===!0,ut=!K&&ve&&Qe&&be&&!Ye&&w?.diffStats?.hasDiffs===!0,dt=me&&at&&!st&&!_e,ft=Z.useMemo(()=>(0,$.jsx)(LD,{hasCopyableText:Be,isTouchContext:L,onCopyMessage:x,ttsText:W,reviewTransferAction:le,sessionId:e}),[W,Be,L,x,le,e]),pt=Z.useMemo(()=>e=>{if(!me||!_e)return null;let t=Dt(e.part).trim();return t?(0,$.jsx)(LD,{hasCopyableText:!0,isTouchContext:L,onCopyMessage:async()=>(await ct(t)).ok,ttsText:t}):null},[_e,L,me]),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`||nt||Ge.get(n)?.kind!==`justification`&&(e=t)}return e},[Ge,nt,dt,V]),ht=dt&&mt<0,_t=Z.useMemo(()=>{let n=[];if(Ze&&Ke&&w){let e=(e,t,r=t)=>{n.push((0,$.jsx)(`div`,{children:(0,$.jsx)(nD,{parts:t,materializationParts:r,isExpanded:w.isGroupExpanded===!0,collapsedPreviewCount:0,completionDisposition:w.completionDisposition,activityPresentationKind:w.activityPresentationKind,durationMs:w.durationMs,startedAt:w.userMessageCreatedAt,onToggle:Ke,isMobile:u,expandedTools:m,onToggleTool:h,onShowPopup:g,onContentChange:y,streamPhase:xe,showHeader:!0,diffStats:w.diffStats,renderJustificationActions:pt})},`progressive-group-${e}`))};Ue.length>0?Ue.forEach(t=>{let n=C?t.parts:t.parts.filter(e=>e.kind!==`reasoning`);e(t.id,n,t.parts)}):qe&&e(`${t}:compaction-status`,[])}let r=0;for(;r<V.length;){let i=V[r];if(i.type===`text`){let a=Ge.get(i);if(nt){r+=1;continue}if(Ye){r+=1;continue}if(a?.kind===`justification`){r+=1;continue}n.push((0,$.jsx)(`div`,{ref:P,"data-message-text-export-source":`true`,children:(0,$.jsx)(Lw,{part:i,sessionId:e,messageId:t,streamPhase:xe,chatRenderMode:fe,allowSortedFinalStreaming:tt,hasStreamingHapticLifecycle:Ee,onContentChange:y,onShowPopup:g})},`assistant-text-${t}-${i.id??r}`)),dt&&r===mt&&n.push((0,$.jsx)(`div`,{className:u?oD:aD,"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:dD,"data-message-action-group":`true`,children:ft})},`message-actions-${t}`)),r++;continue}if(i.type===`reasoning`){if(Ge.get(i)?.kind===`reasoning`){r+=1;continue}if(!Dt(i).trim()){r+=1;continue}C&&(pe?n.push((0,$.jsx)(`div`,{className:kp(u),children:(0,$.jsx)(Yw,{part:i,messageId:t,streamPhase:xe,onContentChange:y})},`reasoning-${t}-${i.id??r}`)):n.push((0,$.jsx)(Lw,{part:i,sessionId:e,messageId:t,streamPhase:xe,chatRenderMode:fe,hasStreamingHapticLifecycle:Ee,onContentChange:y,onShowPopup:g},`reasoning-${t}-${i.id??r}`))),r++;continue}if(i.type===`tool`){let e=i,a=e.tool?.toLowerCase()??``;if(_e&&!Xe){r+=1;continue}if(Ge.get(i)?.kind===`tool`){r+=1;continue}if(nC(a)){let e=[],i=r;for(;i<V.length;){let n=V[i];if(n.type!==`tool`)break;let r=n;if(!nC(r.tool?.toLowerCase()??``)||Ge.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)(mE,{activities:e,isMobile:u,isTurnLive:xe!==`completed`,hasFollowingOtherType:uE(V,i,e=>({type:e.type,toolName:e.type===`tool`?e.tool:void 0})),children:e.map(e=>(0,$.jsx)(JE,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:u,animateTailText:!1},e.id))},`context-tools-${e[0].id}`)),r=i;continue}}if(rC(a)){let e=hE(V,r,e=>e.type!==`tool`||Ge.get(e)?.kind===`tool`?``:e.tool);if(e.items.length>0){let i=e.items.map((e,n)=>{let i=e;return{id:i.id,turnId:``,messageId:t,partIndex:r+n,part:i,kind:`tool`}});n.push((0,$.jsx)(bE,{activities:i,isMobile:u,children:i.map(e=>(0,$.jsx)(JE,{toolName:e.part.tool?.toLowerCase()??``,activities:[e],isMobile:u,animateTailText:!1},e.id))},`skill-tools-${i[0].id}`)),r=e.end;continue}}if($S(a)){n.push((0,$.jsx)(`div`,{className:kp(u),children:(0,$.jsx)(_w,{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:kp(u),children:(0,$.jsx)(JE,{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},[Ge,Ue,R,fe,pe,0,m,Ye,qe,u,Xe,_e,mt,t,ft,pt,e,y,g,h,Ze,dt,xe,Ee,C,nt,tt,Ke,w,V]),vt=Z.useMemo(()=>{if(!ve||!be)return;let e=w?.durationMs;if(!(typeof e!=`number`||e<=0))return PD(e)},[ve,be,w?.durationMs]),yt=Z.useMemo(()=>{let e=typeof o==`number`&&o>0?o:typeof s==`number`&&s>0?s:null;if(e===null)return null;let t=ZT(e,ge);return t.length>0?t:null},[o,s,ge,k]),bt=Z.useMemo(()=>{if(!he||!ve||!be)return null;let e=r??n,t=FD(e,l),i=nE({createdAt:s,completedAt:o,fallbackDurationMs:w?.durationMs,outputTokens:t.output,reasoningTokens:t.reasoning,parts:e});if(i===null)return null;let a=rE(i);return a.length>0?a:null},[he,ve,be,n,r,l,s,o,w?.durationMs]),xt=(0,$.jsxs)($.Fragment,{children:[!K&&!u&&!G&&te?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,variant:`ghost`,size:`icon`,className:sD,"aria-label":O(`chat.messageBody.actions.openPreviewAria`),onPointerDown:e=>e.stopPropagation(),onClick:()=>{let e=oe??(ie?ae(ie):null);e&&ee(e,te)},children:(0,$.jsx)(X,{weight:hD,name:`global`,className:cD})})}),(0,$.jsx)(za,{sideOffset:6,children:O(`chat.messageBody.actions.openPreview`)})]}):null,!K&&!se&&j.fork?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsx)(da,{type:`button`,size:`icon`,variant:`ghost`,className:sD,"aria-label":O(`chat.messageBody.actions.forkAria`),"aria-busy":ue,disabled:ue||!!re,onPointerDown:e=>e.stopPropagation(),onClick:e=>{Ve(e)},children:(0,$.jsx)(X,{weight:hD,name:ue?`loader-4`:`git-branch`,className:Y(cD,ue&&`animate-spin`)})})}),(0,$.jsx)(za,{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:rD,children:[(0,$.jsx)(qT,{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,rt&&(0,$.jsx)(ps,{children:(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:it,weight:hD,className:Y(cD,`text-[var(--status-info)]/80`)})}):(0,$.jsx)(X,{name:it,weight:E===`info`?hD:void 0,className:Y(`shrink-0`,E===`info`?Y(cD,`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)(Po,{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)(ED,{fileCount:w.diffStats.files,changedFiles:w.changedFiles,turnId:w.turnId,isLatestTurn:w.isLatestTurn,isMobile:u}):null,(0,$.jsx)(nd,{files:n,messageID:t,sessionID:e,onShowPopup:g}),ht&&(0,$.jsx)(`div`,{className:Y(u?oD:aD),"data-message-actions":`true`,children:(0,$.jsx)(`div`,{className:dD,"data-message-action-group":`true`,children:ft})}),st&&(0,$.jsxs)(`div`,{className:z,"data-message-footer":`true`,style:iD,children:[(0,$.jsxs)(`div`,{className:dD,"data-message-action-group":`true`,children:[ft,xt]}),bt||vt||yt?(0,$.jsxs)(`div`,{className:fD,children:[bt?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`span`,{className:pD,"aria-label":O(`chat.messageBody.meta.tpsAria`,{rate:bt}),children:[(0,$.jsx)(X,{weight:hD,name:`pulse`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:bt})]})}),(0,$.jsx)(za,{children:O(`chat.messageBody.meta.tpsTooltip`)})]}):null,vt?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`span`,{className:pD,children:[(0,$.jsx)(X,{weight:hD,name:`hourglass`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:vt})]})}),(0,$.jsx)(za,{children:vt})]}):null,yt?(0,$.jsxs)(Ba,{children:[(0,$.jsx)(Ra,{asChild:!0,children:(0,$.jsxs)(`span`,{className:pD,"aria-label":`Message time: ${yt}`,children:[(0,$.jsx)(X,{weight:hD,name:`time`,className:mD}),(0,$.jsx)(`span`,{className:`message-footer__label`,children:yt})]})}),(0,$.jsx)(za,{children:yt})]}):null]}):null,!K&&ve&&ye&&!lt?(0,$.jsx)($w,{activityParts:w?.activityParts}):null]})]})]})}),zD=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)(ID,{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)(RD,{...r}),t[26]=r,t[27]=i),i});function BD(e){return e.openContextPanelTab}function VD(e){return e.setCurrentSession}function HD(e){return e.openContextPanelTab}function UD(e){return!e}function WD(e){return e.openContextPanelTab}function GD(e){return!e}var KD=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}},qD=`Authentication failed for this provider. Please re-authenticate and retry.`,JD=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},YD=(e,t,n)=>e===`active`||n?.isLastTurn&&n.hasConfirmedFinalBody!==!0?!0:t===`summary`,XD=e=>!e,ZD=e=>e.completionDisposition===`active`?e.isLastTurn&&e.sessionIsWorking?{completionDisposition:`active`,durationMs:e.durationMs}:{completionDisposition:`abnormal`,durationMs:e.durationMs}:{completionDisposition:e.completionDisposition,durationMs:e.durationMs},QD=e=>!(e.completionDisposition===`active`||e.isLastTurn&&e.sessionIsWorking&&!e.hasConfirmedSettledAssistant),$D=e=>e.isWorking?!0:e.isInActiveTurn?e.headerCompletionDisposition!==`normal`&&e.headerCompletionDisposition!==`abnormal`:!1,eO=e=>e.turnCompletionDisposition===`active`&&(e.isLastTurn||e.hasAssistantMessages)?`active`:e.headerPresentationDisposition,tO=Lo(()=>Ue(()=>import(`./ToolOutputDialog-ChljB1CN.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]))),nO=4e3,rO=new Map,iO=new Map,aO=new Set([`bash`,`shell`,`cmd`,`terminal`]),oO=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},sO=e=>{let t=rO.get(e);return t?new Set(t):new Set},cO=(e,t)=>{if(rO.size>=nO&&!rO.has(e)){let e=rO.keys().next().value;typeof e==`string`&&rO.delete(e)}rO.set(e,new Set(t))},lO=e=>{let t=iO.get(e);return t?new Set(t):new Set},uO=(e,t)=>{if(iO.size>=nO&&!iO.has(e)){let e=iO.keys().next().value;typeof e==`string`&&iO.delete(e)}iO.set(e,new Set(t))},dO=200,fO=new Map,pO=e=>fO.get(e),mO=(e,t)=>{if(!t.agent&&!t.provider&&!t.model)return;let n=fO.get(e);if(!(n&&n.agent===t.agent&&n.provider===t.provider&&n.model===t.model)){if(fO.size>=dO&&!fO.has(e)){let e=fO.keys().next().value;typeof e==`string`&&fO.delete(e)}fO.set(e,t)}};function hO(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 gO=(e,t)=>{if(typeof e==`object`&&e)return e[t]},_O=Z.memo(({message:e,previousMessage:t,nextMessage:n,onContentChange:r,animationHandlers:i,turnGroupingContext:a,assistantHeaderMessageId:o,isInActiveTurn:s=!1,activeStreamingPhase:l=null,animateUserOnMount:u=!1,onUserAnimationConsumed:d,reviewTransferDirection:f=null})=>{let{isMobile:p,isTablet:m,hasTouchInput:h}=mo(),g=Qm(),_=$m(g),v=p||m,y=Z.useRef(null),b=J(e=>e.currentSessionId),x=Un(e=>e.getAgentModelForSession),S=Un(e=>e.getSessionModelSelection),C=J(e=>e.revertToMessage),w=J(e=>e.editMessagePreservingChanges),T=J(e=>e.forkFromMessage),E=J(t=>t.messageEditCommitting?.messageId===e.info.id&&t.messageEditCommitting?.sessionId===e.info.sessionID),D=J(t=>t.stagedMessageEdit?.messageId===e.info.id&&t.stagedMessageEdit?.sessionId===e.info.sessionID),O=J(e=>e.clearStagedMessageEdit);Ie(`ui.chat_message.render`),s&&Ie(`ui.chat_message.render.streaming`);let k=Hr(e=>e.providers),{showReasoningTraces:A,stickyUserHeader:j,chatRenderMode:M,showExpandedBashTools:N}=c(me(e=>({showReasoningTraces:e.showReasoningTraces,stickyUserHeader:e.stickyUserHeader,chatRenderMode:e.chatRenderMode,showExpandedBashTools:e.showExpandedBashTools})));Z.useEffect(()=>{b&&qb.getInstance().recordSessionStart(b)},[b]);let[P,F]=Z.useState(null),[I,L]=Z.useState(!1),[R,z]=Z.useState(null),B=Z.useRef(null),[V,H]=Z.useState(()=>sO(e.info.id)),[U,W]=Z.useState(()=>lO(e.info.id)),[ee,G]=Z.useState({open:!1,title:``,content:``});Z.useEffect(()=>{H(sO(e.info.id)),W(lO(e.info.id))},[e.info.id]);let K=Z.useMemo(()=>KD(e.info),[e.info]).isUser,te=K&&(p||!j),ne=K&&!p&&j&&!te,re=e.info.sessionID,ie=Jb(e=>e.planModeEnabled),{currentContextAgent:ae,savedSessionAgentSelection:oe}=Wp(me(e=>({currentContextAgent:s&&re?e.currentAgentContext.get(re):void 0,savedSessionAgentSelection:s&&re?e.sessionAgentSelections.get(re):void 0}))),se=Z.useMemo(()=>mt(e.sourceParts??e.parts),[e.parts,e.sourceParts]),ce=Z.useMemo(()=>K?Mt(se,{planModeEnabled:ie}):mt(e.parts),[K,e.parts,ie,se]),le=Z.useMemo(()=>{if(K||!t)return null;let e=gO(t.info,`clientRole`),n=gO(t.info,`role`);if((typeof e==`string`?e:typeof n==`string`?n:void 0)!==`user`)return null;let r=gO(t.info,`mode`),i=gO(t.info,`agent`),a=gO(t.info,`providerID`),o=gO(t.info,`modelID`),s=gO(t.info,`variant`),c=typeof r==`string`&&r.trim().length>0?r:typeof i==`string`&&i.trim().length>0?i:void 0,l=typeof a==`string`&&a.trim().length>0?a:void 0,u=typeof o==`string`&&o.trim().length>0?o:void 0,d=typeof s==`string`&&s.trim().length>0?s:void 0;return!c&&!l&&!u&&!d?null:{agentName:c,providerId:l,modelId:u,variant:d}},[K,t]),ue=Z.useMemo(()=>{if(!ie||K||!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},[K,ie,t]),de=Z.useMemo(()=>{if(K)return;let t=e.info.time;if(!(typeof t?.completed==`number`&&t.completed>0)&&ue&&le?.agentName)return le.agentName;let n=gO(e.info,`mode`);if(typeof n==`string`&&n.trim().length>0)return n;let r=gO(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)},[K,e.info,ue,le,re,ae,oe]),fe=K?null:gO(e.info,`providerID`),pe=K?null:gO(e.info,`modelID`),he=Z.useMemo(()=>{if(K||!re)return null;if(le?.providerId&&le?.modelId)return{providerId:le.providerId,modelId:le.modelId};if(de){let e=x(re,de);if(e?.providerId&&e?.modelId)return e}let e=S(re);return e?.providerId&&e?.modelId?e:null},[K,re,de,le,x,S]),ge=Z.useMemo(()=>K?null:typeof fe==`string`&&fe.trim().length>0?fe:he?.providerId??null,[K,fe,he]),_e=Z.useMemo(()=>K?null:typeof pe==`string`&&pe.trim().length>0?pe:he?.modelId??null,[K,pe,he]),ve=e.info.id?pO(e.info.id):void 0;K||mO(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(K)return;let e=be&&k.length>0?k.find(e=>e.id===be):void 0;return sr(e,xe)||void 0},[K,be,xe,k]),Ce=Z.useMemo(()=>{if(K||!ge||!_e)return!1;let e=k.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)},[K,_e,ge,k]),we=hO(ye),Te=hO(be??void 0),Ee=hO(xe??void 0),De=hO(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(()=>K?!0:!!(Me&&Me>0),[K,Me]),Fe=Z.useMemo(()=>{let t=e.info.finish;return typeof t==`string`?t:void 0},[e.info]),Le=Z.useMemo(()=>{if(K)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}},[K,e.info]),Re=Z.useMemo(()=>Sn(ce,{includeReasoning:A}),[ce,A]),ze=Z.useMemo(()=>K?Re:!Pe&&M===`sorted`?[]:Re,[M,Pe,K,Re]),Be=Z.useMemo(()=>K?[]:Re.filter(e=>e.type===`text`),[K,Re]),Ve=Z.useMemo(()=>K?[]:Re.filter(e=>e.type===`tool`),[K,Re]),He=Z.useMemo(()=>{if(!N)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=oO(t.tool);!r||!aO.has(r)||e.add(n)}for(let t of a?.activityParts??[]){if(t.kind!==`tool`)continue;let n=oO(t.part.tool);!n||!aO.has(n)||e.add(t.id)}return e},[N,Ve,a?.activityParts]),Ue=Z.useMemo(()=>{if(He.size===0&&U.size===0)return V;let e=new Set(V);return He.forEach(t=>{U.has(t)||e.add(t)}),U.forEach(t=>{e.delete(t)}),e},[U,He,V]),We=Z.useMemo(()=>{if(!K)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}`}},[K,ce]),Ge=K&&!zn(ze),Ke=typeof Fe!=`string`,qe=Z.useMemo(()=>K?!1:Be.length===0||Ve.length===0?Ke:!0,[Be.length,Ve.length,Ke,K]),Je=Z.useMemo(()=>!K&&qb.getInstance().shouldAnimateMessage(e.info,b||e.info.sessionID),[e.info,b,K]),[Ye,Xe]=Z.useState(!1),Ze=Z.useMemo(()=>n?KD(n.info):null,[n]),Qe=!!a,$e=a?.isLastAssistantInTurn??!1,et=$D({isWorking:a?.isWorking===!0,isInActiveTurn:s,headerCompletionDisposition:a?.completionDisposition}),tt=Z.useMemo(()=>K?!1:Qe?!$e:Ze?!Ze.isUser&&Ze.role===`assistant`:!1,[Qe,$e,K,Ze]),nt=Z.useMemo(()=>Pe?`completed`:s?l??`streaming`:`completed`,[l,s,Pe]);Z.useEffect(()=>{!K||!u||d?.(e.info.id)},[u,K,e.info.id,d]),Z.useEffect(()=>{Xe(!1)},[e.info.id]),Z.useEffect(()=>{let t=o??a?.headerMessageId;K||!t||t!==e.info.id||(nt===`streaming`||nt===`cooldown`)&&Xe(!0)},[o,K,e.info.id,nt,a?.headerMessageId]);let rt=Z.useMemo(()=>{if(K)return!0;let t=o??a?.headerMessageId;return t?e.info.id===t?nt===`completed`||Ye||nt===`streaming`||nt===`cooldown`:!1:!0},[o,Ye,K,a,nt,e.info.id]),it=Z.useCallback(e=>{ct(e).then(t=>{t.ok&&(F(e),setTimeout(()=>F(null),2e3))})},[]),at=K?void 0:a?.userMessageVariant??le?.variant,ot=!K&&Ce&&typeof at==`string`&&at.trim().length>0?at:void 0,st=Z.useMemo(()=>{if(K)return;let t=e.info?.error;if(!t)return;let n=typeof t.data?.message==`string`?t.data.message:void 0,r=typeof t.message==`string`?t.message:void 0,i=typeof t.name==`string`?t.name:void 0,a=n||r||i;if(a)return i===`SessionRetry`?{text:`Opencode failed to send a message. Retry attempt info: \n\`${a}\``,variant:`info`}:JD(a)?{text:qD,variant:`error`}:a.trim().toLowerCase()===`aborted`?{text:`The running turn was stopped before OpenCode could send the next message.`,variant:`info`}:{text:`Opencode failed to send message with error:\n\`${a}\``,variant:`error`}},[K,e.info]),lt=st?.text,ut=st?.variant,dt=Z.useMemo(()=>{if(K){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(`
6577
6577
 
6578
6578
  `);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(`
6579
6579
  `):ze.filter(e=>e.type===`text`).map(e=>(e.text||e.content||``).trim()).filter(e=>e.length>0).join(`