@wrongstack/webui 0.317.2 → 0.318.0

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 (34) hide show
  1. package/dist/assets/{AgentRosterView-xv5VajRi.js → AgentRosterView-C46rL23K.js} +1 -1
  2. package/dist/assets/{AnalyticsDashboard-D7D5_bvf.js → AnalyticsDashboard-B8r_8kNv.js} +1 -1
  3. package/dist/assets/{AudienceMemoryPanel-Cpg91ZrC.js → AudienceMemoryPanel-Ciybycpn.js} +1 -1
  4. package/dist/assets/{ChangesView-4CP-bLYD.js → ChangesView-BREfCsEq.js} +1 -1
  5. package/dist/assets/{ChimeraReviewsView-DZjw-bOC.js → ChimeraReviewsView-aSYmQ8tC.js} +1 -1
  6. package/dist/assets/{ChronicleDashboard-BnNxX8Hc.js → ChronicleDashboard-bo2jv52s.js} +1 -1
  7. package/dist/assets/{CodeEditor-FNYzhDcO.js → CodeEditor-C_KzNkIb.js} +1 -1
  8. package/dist/assets/{CronJobsPanel-BXqObet6.js → CronJobsPanel-D-43oYQ-.js} +1 -1
  9. package/dist/assets/{DebugDashboard-Hwt0OxYX.js → DebugDashboard-DNDadwro.js} +1 -1
  10. package/dist/assets/{DesignGalleryView-Ce2H_zeu.js → DesignGalleryView-B9ZMJPOQ.js} +1 -1
  11. package/dist/assets/{GoalView-DlS73sGV.js → GoalView-BkoCNN8l.js} +1 -1
  12. package/dist/assets/{KanbanView-Cd77gXMT.js → KanbanView-nql6LkaS.js} +1 -1
  13. package/dist/assets/{MailboxDetailView-B4hFbVk5.js → MailboxDetailView-CdHRfnNq.js} +1 -1
  14. package/dist/assets/{MemoryDrawer-CnpnSW42.js → MemoryDrawer-CfukdhlF.js} +1 -1
  15. package/dist/assets/{MemoryManager-DqJfeD_d.js → MemoryManager-BD_VnFAu.js} +1 -1
  16. package/dist/assets/{ModelPicker-R1UwpDyl.js → ModelPicker-C3r7IFfh.js} +1 -1
  17. package/dist/assets/{OfficeMapPanel-zAuziIkn.js → OfficeMapPanel-B47jfEHf.js} +1 -1
  18. package/dist/assets/{ProcessMonitor-Baj9b1_B.js → ProcessMonitor-CvHdN8Bn.js} +1 -1
  19. package/dist/assets/{RequirementIntakeView-B5JjTm9k.js → RequirementIntakeView-CFgVx_0T.js} +1 -1
  20. package/dist/assets/{SageTabs-Co-5UcaG.js → SageTabs-BRJG0fhZ.js} +2 -2
  21. package/dist/assets/{SddHub-DYAjEaqD.js → SddHub-Br1vyCgq.js} +1 -1
  22. package/dist/assets/{SessionInspectView-DVeF-pUQ.js → SessionInspectView-BSRjWErA.js} +1 -1
  23. package/dist/assets/{SessionList-BvVLmIsL.js → SessionList-BkaI91oW.js} +1 -1
  24. package/dist/assets/{SessionsDashboard-wPcCBDIK.js → SessionsDashboard-BEQs4Div.js} +1 -1
  25. package/dist/assets/{SetupScreen-uhBHDZqD.js → SetupScreen-zY4541lT.js} +1 -1
  26. package/dist/assets/{SkillDetailView-DPqT3npD.js → SkillDetailView-DqxkOnb8.js} +1 -1
  27. package/dist/assets/{SpecsView-BEITfh6o.js → SpecsView-COS0-sxq.js} +1 -1
  28. package/dist/assets/{TechStackView-DLEi7aSX.js → TechStackView-Dr8vI0hK.js} +1 -1
  29. package/dist/assets/{index-b_i-YcNT.js → index-DbprKWmG.js} +5 -5
  30. package/dist/assets/{useWebSocket-B4er0zlV.js → useWebSocket-VIItbvVK.js} +1 -1
  31. package/dist/index.html +3 -3
  32. package/dist/index.js +3 -1
  33. package/dist/stores/file-store.d.ts +9 -0
  34. package/package.json +9 -9
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ws-client-D-d32pHb.js","assets/rolldown-runtime-hePW80VL.js","assets/vendor-enc0q-Va.js","assets/monaco-BCqJp2xW.js","assets/monaco-Bowa0-zp.css","assets/markdown-Kp5uSgOw.js","assets/vendor-BMdWcCR4.css","assets/i18n-Cv65b1SP.js","assets/activity-BF1idM4Y.js","assets/chat-BlllxfpP.js","assets/commandPalette-BovBiPec.js","assets/common-BBHmIHQW.js","assets/settings-Ci_RMpCQ.js","assets/setup-C9lrNwQF.js","assets/toasts-DZ6HdKgG.js","assets/utils-DQ9Exx8j.js","assets/ui-store-DpKUBLWd.js","assets/ProcessMonitor-Baj9b1_B.js","assets/useWebSocket-B4er0zlV.js","assets/codemap-activity-store-Br4b57a0.js","assets/stores-CNuMLG8X.js","assets/chat-store-DIcs826A.js","assets/mailbox-store-B9DIvRgo.js","assets/view-navigation-DPOY0lyt.js","assets/codemap-index-store-tSmlp7Uz.js","assets/dialog-BTHxOi5z.js","assets/AnalyticsDashboard-D7D5_bvf.js","assets/AgentRosterView-xv5VajRi.js","assets/ModelPicker-R1UwpDyl.js","assets/roster-ws-D5JW3IPJ.js","assets/AudienceMemoryPanel-Cpg91ZrC.js","assets/button-DNyYztcH.js","assets/input-CTGeYzNe.js","assets/shared-CLfD85oZ.js","assets/OfficeMapPanel-zAuziIkn.js","assets/OfficeMapPanel-Ce7myLNH.css","assets/ChangesView-4CP-bLYD.js","assets/empty-state-DBQN80mK.js","assets/monaco-theme-CR1QvFi2.js","assets/ChronicleDashboard-BnNxX8Hc.js","assets/CodeEditor-FNYzhDcO.js","assets/MemoryDrawer-CnpnSW42.js","assets/CodeMap-DA_k3u5g.js","assets/DebugDashboard-Hwt0OxYX.js","assets/DesignGalleryView-Ce2H_zeu.js","assets/GoalView-DlS73sGV.js","assets/ConfirmModal-gukSikBD.js","assets/KanbanView-Cd77gXMT.js","assets/SddFlowGraph-BsfhxlDK.js","assets/MailboxDetailView-B4hFbVk5.js","assets/PromptJournalView-CXZ9notj.js","assets/RefreshDebugView-BYmeORMQ.js","assets/SageTabs-Co-5UcaG.js","assets/RequirementIntakeView-B5JjTm9k.js","assets/SddHub-DYAjEaqD.js","assets/SpecsView-BEITfh6o.js","assets/SessionsDashboard-wPcCBDIK.js","assets/SessionList-BvVLmIsL.js","assets/SessionInspectView-DVeF-pUQ.js","assets/SkillDetailView-DPqT3npD.js","assets/TechStackView-DLEi7aSX.js","assets/DeadCodeScanPanel-VnMQatbH.js","assets/ChimeraReviewsView-DZjw-bOC.js","assets/SetupScreen-uhBHDZqD.js","assets/TerminalPanel-DlIyvxm6.js","assets/xterm-BWzBEEhg.js","assets/xterm-BrP-ENHg.css","assets/CronJobsPanel-BXqObet6.js","assets/QueuePanel-DOcgHRH3.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{$ as t,A as n,B as r,C as i,D as a,Dt as o,E as s,F as c,G as l,H as u,Ht as d,It as f,K as p,L as m,M as h,Mt as g,N as _,O as v,Ot as y,P as b,Pt as x,Q as S,R as C,S as w,St as T,T as E,U as D,V as O,Vt as k,W as A,X as j,Y as M,Z as ee,_ as N,_t as P,a as F,at as te,b as ne,et as I,f as L,g as R,h as re,i as ie,it as ae,j as z,k as oe,lt as se,m as ce,mt as le,nt as ue,ot as de,p as fe,q as pe,rt as me,t as B,tt as he,v as ge,vt as _e,w as ve,wt as ye,x as be,y as xe,z as Se}from"./ws-client-D-d32pHb.js";import{$ as Ce,$i as we,$n as Te,$r as Ee,$t as De,A as Oe,Aa as ke,Ai as Ae,An as je,Ar as Me,At as Ne,B as Pe,Ba as Fe,Bn as Ie,Br as Le,Bt as Re,C as ze,Ci as Be,Cr as Ve,Ct as He,D as Ue,Di as We,Dn as Ge,Dr as Ke,Dt as qe,E as Je,Ea as Ye,Ei as Xe,En as Ze,Er as Qe,F as $e,Fa as et,Fi as tt,Fr as nt,Ft as rt,G as it,Gr as at,H as ot,Ha as st,Hi as ct,Ht as lt,I as ut,Ia as dt,Ii as ft,In as pt,Ir as mt,It as ht,J as gt,Ji as _t,Jn as vt,Jr as yt,Jt as bt,K as xt,Ka as St,Ki as Ct,Kn as wt,Kr as Tt,Kt as Et,L as Dt,La as Ot,Li as kt,Ln as At,Lr as jt,Lt as Mt,M as Nt,Ma as Pt,Mi as Ft,Mn as It,Mr as Lt,Mt as Rt,N as zt,Na as Bt,Ni as Vt,Nn as Ht,Nt as Ut,O as Wt,Oa as Gt,Oi as Kt,On as qt,Or as Jt,Ot as Yt,P as Xt,Pr as Zt,Q as Qt,Qa as $t,Qn as en,Qr as tn,Qt as nn,R as rn,Ra as an,Rn as on,Rr as sn,Rt as cn,Sa as ln,Si as un,Sn as dn,St as fn,T as pn,Tn as mn,Tr as hn,Tt as gn,U as _n,Ua as vn,Ui as yn,Un as bn,V as xn,Va as Sn,Vn as Cn,Vr as wn,Vt as Tn,W as En,Wi as Dn,Wn as On,Wr as kn,Wt as An,X as jn,Xa as Mn,Xn as Nn,Xr as Pn,Y as Fn,Yi as In,Yn as Ln,Yr as Rn,Yt as zn,Z as Bn,Zn as Vn,_a as Hn,_i as Un,_n as Wn,_r as Gn,_t as Kn,aa as qn,ai as Jn,an as Yn,ao as Xn,at as Zn,ba as Qn,bi as $n,br as er,bt as tr,ca as nr,ci as rr,cr as ir,ct as ar,da as or,dn as sr,dr as cr,dt as lr,en as ur,er as dr,et as fr,fa as pr,fr as mr,ft as hr,ga as gr,gn as _r,gt as vr,ha as yr,hi as br,hn as xr,hr as Sr,ht as Cr,ia as wr,ii as Tr,in as Er,io as V,ir as Dr,it as Or,j as kr,ja as Ar,ji as jr,jn as Mr,jr as Nr,jt as Pr,k as Fr,ka as Ir,ki as Lr,kn as Rr,kt as zr,la as Br,li as Vr,ln as Hr,lr as Ur,ma as Wr,mi as Gr,mn as Kr,mr as qr,mt as Jr,na as Yr,ni as Xr,nr as Zr,nt as Qr,oa as $r,oi as ei,on as ti,oo as ni,or as ri,ot as ii,pa as ai,pi as oi,pt as si,q as ci,qa as li,qi as ui,qn as di,qt as fi,ra as pi,ri as mi,rn as hi,rr as gi,rt as _i,sa as vi,sn as yi,sr as bi,st as xi,ti as Si,tn as Ci,to as H,tr as wi,tt as Ti,ua as Ei,ui as Di,ur as Oi,ut as ki,vi as Ai,vn as ji,vr as Mi,vt as Ni,w as Pi,wa as Fi,wi as Ii,wn as Li,wr as Ri,xa as zi,xn as Bi,ya as Vi,yi as Hi,yn as Ui,yt as Wi,z as Gi,za as Ki,zi as qi,zn as Ji,zr as Yi,zt as Xi}from"./vendor-enc0q-Va.js";import{n as U,r as Zi}from"./i18n-Cv65b1SP.js";import{s as W}from"./monaco-BCqJp2xW.js";import{a as Qi,c as $i,i as ea,n as ta,o as na,r as ra,s as ia,t as aa}from"./useWebSocket-B4er0zlV.js";import{t as G}from"./utils-DQ9Exx8j.js";import{a as oa,i as sa,n as K,r as ca,t as la}from"./ui-store-DpKUBLWd.js";import{t as q}from"./chat-store-DIcs826A.js";import{_ as ua,b as da,d as fa,g as pa,i as ma,m as ha,p as ga,s as _a,t as va,v as ya,x as ba,y as xa}from"./stores-CNuMLG8X.js";import{n as Sa,r as Ca,t as wa}from"./mailbox-store-B9DIvRgo.js";import{a as Ta,i as Ea,n as Da,o as J,r as Oa,t as ka}from"./view-navigation-DPOY0lyt.js";import{a as Aa,i as ja,n as Ma,o as Na,r as Pa,t as Fa}from"./dialog-BTHxOi5z.js";import{t as Y}from"./button-DNyYztcH.js";import{t as Ia}from"./input-CTGeYzNe.js";import{i as La,n as Ra,o as za,r as Ba,t as Va}from"./ConfirmModal-gukSikBD.js";import{n as Ha,r as Ua,t as Wa}from"./ModelPicker-R1UwpDyl.js";import{d as Ga,p as Ka}from"./markdown-Kp5uSgOw.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var X=e(ni(),1),qa=e(Xn(),1),Ja=new Set([`chat`,`settings`,`goal`,`kanban`,`sddhub`,`files`,`changes`,`sessions`,`setup`,`skill`,`roster`,`mailbox`,`debug`,`design-gallery`,`refresh-debug`,`analytics`]),Ya=new Set([`goal`,`fleet`,`work`,`worktrees`,`collab`]),Xa=new Set([`todos`,`tasks`,`plan`]);function Za(){if(typeof window>`u`)return;let e=window.wrongstackDesktopHost;if(!e?.setPrefs)return;let t=U.getState();e.setPrefs({yolo:t.yolo,nextPrediction:t.nextPrediction,contextAutoCompact:t.contextAutoCompact})}function Qa(e){typeof window>`u`||window.wrongstackDesktopHost?.setReady?.(e)}function $a(e,t,n){typeof window>`u`||typeof e!=`string`||window.wrongstackDesktopHost?.ackCommand?.(e,t,n)}var Z=ki(),eo=Or,to=ar,no=X.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,Z.jsxs)(xi,{ref:i,className:G(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent`,t&&`pl-8`,e),...r,children:[n,(0,Z.jsx)(or,{className:`ml-auto h-4 w-4`})]}));no.displayName=xi.displayName;var ro=X.forwardRef(({className:e,...t},n)=>(0,Z.jsx)(ii,{ref:n,className:G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...t}));ro.displayName=ii.displayName;var io=X.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,Z.jsx)(Qr,{children:(0,Z.jsx)(Qt,{ref:r,sideOffset:t,className:G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n})}));io.displayName=Qt.displayName;var ao=X.forwardRef(({className:e,inset:t,...n},r)=>(0,Z.jsx)(Ce,{ref:r,className:G(`relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0`,t&&`pl-8`,e),...n}));ao.displayName=Ce.displayName;var oo=X.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,Z.jsxs)(Bn,{ref:i,className:G(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,Z.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,Z.jsx)(fr,{children:(0,Z.jsx)(ai,{className:`h-4 w-4`})})}),t]}));oo.displayName=Bn.displayName;var so=X.forwardRef(({className:e,children:t,...n},r)=>(0,Z.jsxs)(_i,{ref:r,className:G(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,Z.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,Z.jsx)(fr,{children:(0,Z.jsx)(_t,{className:`h-2 w-2 fill-current`})})}),t]}));so.displayName=_i.displayName;var co=X.forwardRef(({className:e,inset:t,...n},r)=>(0,Z.jsx)(Ti,{ref:r,className:G(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));co.displayName=Ti.displayName;var lo=X.forwardRef(({className:e,...t},n)=>(0,Z.jsx)(Zn,{ref:n,className:G(`-mx-1 my-1 h-px bg-muted`,e),...t}));lo.displayName=Zn.displayName;var uo=({className:e,...t})=>(0,Z.jsx)(`span`,{className:G(`ml-auto text-xs tracking-widest opacity-60`,e),...t});uo.displayName=`DropdownMenuShortcut`;var fo=[{id:`chat`,icon:(0,Z.jsx)(Te,{size:16}),label:`Session`},{id:`files`,icon:(0,Z.jsx)(Ee,{size:16}),label:`Files`},{id:`changes`,icon:(0,Z.jsx)(Yi,{size:16}),label:`Changes`},{id:`mailbox`,icon:(0,Z.jsx)(ri,{size:16}),label:`Mailbox`},{id:`skills`,icon:(0,Z.jsx)(Et,{size:16}),label:`Skills`},{id:`design`,icon:(0,Z.jsx)(Ie,{size:16}),label:`Design Studio`}],po=[{id:`roster`,icon:(0,Z.jsx)(Fi,{size:16}),label:`Agent Roster`},{id:`sddhub`,icon:(0,Z.jsx)(vr,{size:16}),label:`SDD`},{id:`kanban`,icon:(0,Z.jsx)(kt,{size:16}),label:`Kanban`},{id:`goal`,icon:(0,Z.jsx)(ji,{size:16}),label:`Goal`},{id:`codemap`,icon:(0,Z.jsx)(On,{size:16}),label:`CodeMap`},{id:`techstack`,icon:(0,Z.jsx)(ln,{size:16}),label:`TechStack`},{id:`chronicle`,icon:(0,Z.jsx)(yr,{size:16}),label:`Chronicle`},{id:`prompts`,icon:(0,Z.jsx)(Hr,{size:16}),label:`Prompt Journal`},{id:`chimera`,icon:(0,Z.jsx)(ur,{size:16}),label:`Chimera Reviews`},{id:`intake`,icon:(0,Z.jsx)(Ct,{size:16}),label:`Requirements`},{id:`memory`,icon:(0,Z.jsx)(zi,{size:16}),label:`Memory`}],mo=[`chat`,`files`,`changes`,`mailbox`],ho=[...mo,`skills`,`design`],go=132,_o=38,vo=165,yo=46;function bo(e,t){let n=fo.length+po.length,r=Number.isFinite(e)?e:720,i=t?go:vo,a=t?_o:yo,o=Math.floor((r-i)/a);return Math.max(mo.length,Math.min(n,o))}function xo(e){let t=fo.length+po.length,n=Math.max(mo.length,Math.min(t,Math.floor(e))),r=Math.min(fo.length,n),i=new Set(ho.slice(0,r)),a=fo.map(e=>e.id).filter(e=>i.has(e)),o=fo.map(e=>e.id).filter(e=>!i.has(e)),s=Math.max(0,n-a.length),c=po.slice(0,s).map(e=>e.id),l=new Set(c);return{visiblePanelIds:a,overflowPanelIds:o,visibleViewIds:c,overflowViewIds:po.map(e=>e.id).filter(e=>!l.has(e))}}var So=fo.map(e=>e.id);function Co(){return typeof window>`u`?720:window.visualViewport?.height??window.innerHeight}function wo(e){let[t,n]=(0,X.useState)(Co);return(0,X.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>n(Co());return e(),window.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`resize`,e)}},[]),bo(t,e)}function To({desktopShell:e=!1}){let n=K(e=>e.activeActivity),r=K(e=>e.sidebarOpen),i=K(e=>e.currentView),a=j(e=>e.projectName),o=t(e=>e.wsConnected),{t:s}=H(),c=(e,t)=>s(`activity:nav.${e}`,t),l=Ca(Sa),u=R(e=>e.openTabIds.length),d=K(e=>e.inspectorOpen),f=wo(e),p=(0,X.useMemo)(()=>xo(f),[f]),m=(0,X.useMemo)(()=>new Set(p.visiblePanelIds),[p.visiblePanelIds]),h=(0,X.useMemo)(()=>new Set(p.overflowPanelIds),[p.overflowPanelIds]),g=(0,X.useMemo)(()=>new Set(p.visibleViewIds),[p.visibleViewIds]),_=(0,X.useMemo)(()=>new Set(p.overflowViewIds),[p.overflowViewIds]),v=fo.filter(e=>m.has(e.id)),y=fo.filter(e=>h.has(e.id)),b=po.filter(e=>g.has(e.id)),x=po.filter(e=>_.has(e.id)),S=e=>{if(e===`mailbox`)return l||void 0;if(e===`chat`)return u>0?u:void 0};return(0,Z.jsxs)(`div`,{className:G(`flex h-full min-h-0 shrink-0 flex-col border-r border-border/70 bg-card/75 backdrop-blur-xl`,e?`w-10`:`w-12`),children:[(0,Z.jsx)(`div`,{className:`flex flex-col items-center shrink-0 border-b border-border/60`,children:(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{J(`chat`)},title:a?s(`activity:brand.returnToChat`,{name:a}):s(`activity:brand.returnToChatDefault`),className:G(`relative flex items-center justify-center overflow-hidden bg-foreground transition-shadow hover:shadow-[0_3px_12px_-2px_hsl(var(--primary)/0.5)]`,e?`w-full h-8`:`w-full h-11`),children:(0,Z.jsx)(`img`,{src:`/wrongstack.svg`,alt:``,"aria-hidden":`true`,draggable:!1,className:`ws-brand-logo h-full w-full`})})}),(0,Z.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-hidden flex flex-col items-center pt-2 pb-1`,children:[v.map(t=>(0,Z.jsx)(Do,{compact:e,icon:t.icon,label:`${c(t.id,t.label)} (${Ta(t.id)})`,active:r&&n===t.id,badge:S(t.id),onClick:()=>Ea(t.id)},t.id)),b.length>0&&(0,Z.jsx)(`div`,{className:`my-1.5 h-px w-6 shrink-0 bg-border/70`}),b.map(t=>(0,Z.jsx)(Do,{compact:e,icon:t.icon,label:c(t.id,t.label),active:i===t.id,onClick:()=>Oa(t.id)},t.id))]}),(0,Z.jsx)(`div`,{role:`status`,"aria-label":o?s(`activity:connection.connected`,`Connected`):s(`activity:connection.disconnected`,`Disconnected`),className:`flex items-center justify-center py-1`,children:(0,Z.jsx)(`span`,{className:G(`h-1.5 w-1.5 rounded-full`,o?`bg-success`:`bg-muted-foreground/40`),title:o?s(`activity:connection.connected`,`Connected`):s(`activity:connection.disconnected`,`Disconnected`)})}),(0,Z.jsx)(`div`,{className:`flex flex-col items-center shrink-0 pt-1 pb-2 border-t border-border/60`,children:(0,Z.jsx)(Eo,{compact:e,monitorOpen:d,overflowPanels:y,overflowViews:x})})]})}function Eo({compact:e=!1,monitorOpen:t,overflowPanels:n,overflowViews:r}){let{t:i}=H(),a=K(e=>e.activeActivity),o=K(e=>e.sidebarOpen),s=K(e=>e.currentView),c=K(e=>e.inspectorOpen),l=K(e=>e.inspectorTab),u=n.length+r.length,d=n.some(e=>o&&a===e.id),f=r.some(e=>s===e.id),p=d||f,m=e=>{let t=K.getState();t.inspectorOpen&&t.inspectorTab===e?t.setInspectorOpen(!1):(t.setInspectorTab(e),t.setInspectorOpen(!0))};return(0,Z.jsxs)(eo,{children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsxs)(`button`,{type:`button`,"aria-label":u>0?i(`activity:menu.moreWithHidden`,{count:u}):i(`activity:menu.moreOptions`),title:e&&u>0?i(`activity:menu.moreCompactHidden`,{count:u}):i(e?`activity:menu.moreCompact`:`activity:menu.moreFull`),className:G(`ws-nav-button relative flex items-center justify-center rounded-md transition-colors`,e?`h-9 w-9`:`h-11 w-11`,`text-muted-foreground hover:border-border/70 hover:text-foreground hover:bg-muted/60`,`data-[state=open]:text-primary data-[state=open]:bg-primary/10 data-[state=open]:border-primary/30`,(t||p)&&`text-primary`),children:[(0,Z.jsx)(`span`,{className:`h-5 w-5 flex items-center justify-center`,children:(0,Z.jsx)(Be,{size:16})}),u>0&&(0,Z.jsx)(`span`,{className:G(`absolute -top-0.5 -right-0.5 min-w-[15px] h-[15px] flex items-center justify-center rounded px-1 text-[8px] font-bold leading-none tabular`,p?`bg-primary text-primary-foreground`:`bg-muted-foreground text-background`),children:u>9?`9+`:u}),t&&u===0&&(0,Z.jsx)(`span`,{className:`absolute top-1 right-1 h-1.5 w-1.5 rounded-full bg-primary`})]})}),(0,Z.jsxs)(io,{side:`right`,align:`end`,sideOffset:8,className:`w-56`,children:[(0,Z.jsxs)(ao,{onSelect:()=>K.getState().setPaletteOpen(!0),children:[(0,Z.jsx)(ft,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:menu.commandPalette`)}),(0,Z.jsx)(uo,{children:`⌘K`})]}),(0,Z.jsxs)(ao,{onSelect:()=>K.getState().setShortcutsOpen(!0),children:[(0,Z.jsx)(hn,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:menu.keyboardShortcuts`)}),(0,Z.jsx)(uo,{children:`?`})]}),n.length>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(lo,{}),(0,Z.jsx)(co,{className:`text-[11px] uppercase text-muted-foreground`,children:i(`activity:menu.panels`)}),n.map(e=>(0,Z.jsxs)(ao,{onSelect:()=>J(e.id),children:[e.icon,(0,Z.jsx)(`span`,{children:i(`activity:nav.${e.id}`,e.label)}),o&&a===e.id?(0,Z.jsx)(`span`,{className:`ml-auto w-1.5 h-1.5 rounded-full bg-primary`}):(0,Z.jsx)(uo,{children:Ta(e.id)})]},e.id))]}),r.length>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(lo,{}),(0,Z.jsx)(co,{className:`text-[11px] uppercase text-muted-foreground`,children:i(`activity:menu.views`)}),r.map(e=>(0,Z.jsxs)(ao,{onSelect:()=>Oa(e.id),children:[e.icon,(0,Z.jsx)(`span`,{children:i(`activity:nav.${e.id}`,e.label)}),s===e.id&&(0,Z.jsx)(`span`,{className:`ml-auto w-1.5 h-1.5 rounded-full bg-primary`})]},e.id))]}),(0,Z.jsx)(lo,{}),(0,Z.jsx)(co,{className:`text-[11px] uppercase text-muted-foreground`,children:i(`activity:nav.settings`,`Settings`)}),(0,Z.jsxs)(ao,{onSelect:()=>Oa(`settings`),children:[(0,Z.jsx)(hi,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:nav.settings`,`Settings`)}),(0,Z.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:i(`settings:tabs.general`,`overview`)})]}),[{icon:(0,Z.jsx)(Ie,{size:14}),label:`General`,tab:`general`},{icon:(0,Z.jsx)(On,{size:14}),label:`Provider`,tab:`provider`},{icon:(0,Z.jsx)(Fi,{size:14}),label:`Agent`,tab:`agent`},{icon:(0,Z.jsx)(lr,{size:14}),label:`Execution`,tab:`execution`},{icon:(0,Z.jsx)(Ri,{size:14}),label:`Fallbacks`,tab:`fallbacks`}].map(({icon:e,label:t,tab:n})=>(0,Z.jsxs)(ao,{onSelect:()=>{K.getState().setSettingsActiveTab(n),Oa(`settings`)},children:[e,(0,Z.jsx)(`span`,{children:i(`settings:tabs.${n}`,t)})]},n)),(0,Z.jsx)(lo,{}),(0,Z.jsx)(co,{className:`text-[11px] uppercase text-muted-foreground`,children:i(`activity:menu.monitors`)}),(0,Z.jsxs)(ao,{onSelect:()=>m(`fleet`),children:[(0,Z.jsx)(Ve,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:menu.fleetMonitor`)}),c&&l===`fleet`?(0,Z.jsx)(`span`,{className:`ml-auto w-1.5 h-1.5 rounded-full bg-primary`}):(0,Z.jsx)(uo,{children:`⇧⌘M`})]}),(0,Z.jsxs)(ao,{onSelect:()=>m(`sideEffects`),children:[(0,Z.jsx)(lr,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:inspector.tabAudit`)}),c&&l===`sideEffects`?(0,Z.jsx)(`span`,{className:`ml-auto h-1.5 w-1.5 rounded-full bg-primary`}):null]})]})]})}function Do({compact:e=!1,icon:t,label:n,active:r,badge:i,onClick:a}){return(0,Z.jsxs)(`button`,{type:`button`,onClick:a,"aria-label":n,title:n,className:G(`ws-nav-button relative flex shrink-0 items-center justify-center rounded-md transition-colors`,e?`h-9 w-9`:`h-11 w-11`,`text-muted-foreground hover:border-border/70 hover:text-foreground hover:bg-muted/60`,r&&`ws-nav-button-active`),children:[r&&(0,Z.jsx)(`span`,{className:`absolute left-0 top-1/2 -translate-y-1/2 w-0.5 h-6 rounded-r-full bg-primary`}),(0,Z.jsx)(`span`,{className:`h-5 w-5 shrink-0`,children:t}),i!==void 0&&i>0&&(0,Z.jsx)(`span`,{className:`absolute -top-0.5 -right-0.5 min-w-[15px] h-[15px] flex items-center justify-center rounded bg-primary text-[8px] font-bold text-primary-foreground leading-none px-1 tabular`,children:i>99?`99+`:i})]})}var Oo=[{name:`/new`,category:`Session`,description:`Start a brand-new session (fresh on disk and in memory)`},{name:`/clear`,category:`Session`,description:`Wipe current context (keeps session id, disk record stays)`},{name:`/compact`,category:`Session`,description:`Shrink context — elide ancient tool output`},{name:`/compact!`,category:`Session`,description:`Aggressively shrink context now`},{name:`/repair`,category:`Session`,description:`Repair orphan tool-use / tool-result protocol blocks`},{name:`/save`,category:`Session`,description:`Force-flush the session (auto-saved already)`},{name:`/load`,category:`Session`,aliases:[`/resume`],description:`Resume a previous session from disk`},{name:`/export`,category:`Session`,description:`Download the current chat as markdown`},{name:`/debug`,category:`Inspect`,aliases:[`/context`],description:`Context size breakdown per section`},{name:`/tools`,category:`Inspect`,description:`List every registered tool the model can call`},{name:`/memory`,category:`Inspect`,description:`Manage memory: show, remember, forget, clear, stats`},{name:`/todos`,category:`Inspect`,description:`List current todos`},{name:`/stats`,category:`Inspect`,description:`Session stats: tokens, cost, elapsed`},{name:`/skill`,category:`Inspect`,aliases:[`/skills`],description:`List active skills`},{name:`/prompt`,category:`Inspect`,aliases:[`/prompts`],description:`Browse & insert prompts from the library`},{name:`/diag`,category:`Inspect`,description:`Runtime diagnostics (provider, tools, mode, usage)`},{name:`/agents`,category:`Inspect`,description:`Show status of spawned subagents`},{name:`/brain`,category:`Inspect`,description:`Brain status, risk ceiling (risk <level>), or decision support (ask <question>)`},{name:`/plan`,category:`Inspect`,description:`Strategic plan board: show, add, start, done, promote, clear`},{name:`/suggest`,category:`Inspect`,aliases:[`/next-steps`],description:`Ask the agent for concrete next steps`},{name:`/next`,category:`Inspect`,aliases:[`/enxt`],description:`Show or run numbered next-step suggestions`},{name:`/review`,category:`Agent`,aliases:[`/cr`],description:`Ask the agent to review the pending changes (optional focus)`},{name:`/fix`,category:`Agent`,description:`Diagnose and fix an error (paste it) or the latest failure`},{name:`/autonomy`,category:`Agent`,description:`Switch self-driving mode: off | suggest | auto | eternal | eternal-parallel`},{name:`/goal`,category:`Agent`,description:`Goal: start <title> | pause | resume | stop | status`},{name:`/goal-state`,category:`Agent`,description:`Show the current goal state (opens the Goal State dock chip)`},{name:`/fleet`,category:`Agent`,description:`Open the Fleet orchestration monitor`},{name:`/terminal`,category:`App`,aliases:[`/term`],description:"Open the integrated terminal (Ctrl+`)"},{name:`/collab`,category:`Agent`,description:`Open the live collaboration panel`},{name:`/worktree`,category:`Agent`,aliases:[`/worktrees`],description:`Open the worktree view`},{name:`/mode`,category:`Agent`,description:`Switch session mode (no arg lists available modes)`},{name:`/mcp`,category:`Agent`,description:`Open MCP server settings and refresh the server list`},{name:`/working-dir`,category:`Agent`,aliases:[`/cwd`],description:`Show or change the working directory`},{name:`/settings`,category:`Config`,aliases:[`/model`],description:`Open settings (provider/model/keys)`},{name:`/setup`,category:`Config`,description:`Open the provider setup screen to add or change API keys`},{name:`/doctor`,category:`Config`,description:`Check config defaults; use /doctor fix to repair and back up`},{name:`/enhance`,category:`Config`,description:`Toggle prompt refinement before sending`},{name:`/interrupt`,category:`Run`,aliases:[`/abort`,`/stop`,`/int`],description:`Stop the current run (abort the in-flight request)`},{name:`/help`,category:`App`,description:`Show every slash command and what it does`},{name:`/exit`,category:`App`,description:`Exit the session and close WebUI`},{name:`/f`,category:`App`,description:`Open F-key panels (F1–F12). Type /f for numbered options.`},{name:`/f1`,category:`App`,description:`Session panel`,hidden:!0},{name:`/f2`,category:`App`,description:`Fleet orchestration monitor`,hidden:!0},{name:`/f3`,category:`App`,description:`Agents live monitor`,hidden:!0},{name:`/f4`,category:`App`,description:`Worktree monitor`,hidden:!0},{name:`/f5`,category:`App`,description:`Plan panel`,hidden:!0},{name:`/f6`,category:`App`,description:`Todos monitor overlay`,hidden:!0},{name:`/f7`,category:`App`,description:`Queue panel`,hidden:!0},{name:`/f8`,category:`App`,description:`Process list overlay`,hidden:!0},{name:`/f9`,category:`App`,description:`Goal panel`,hidden:!0},{name:`/f10`,category:`App`,description:`Live sessions panel`,hidden:!0},{name:`/f11`,category:`App`,description:`Coordinator monitor`,hidden:!0},{name:`/f12`,category:`App`,description:`Status line picker`,hidden:!0}],ko=[`Run`,`Session`,`Inspect`,`Agent`,`Config`,`App`];function Ao(e){let t=e.toLowerCase();return t===`/`||t===``?Oo.filter(e=>!e.hidden):Oo.filter(e=>e.name.startsWith(t)||(e.aliases?.some(e=>e.startsWith(t))??!1))}function jo(e,t){let n=t-1;for(;n>=0;){let r=d(e[n]);if(r===`@`){let r=n>0?e[n-1]:``;return n===0||/\s/.test(r??``)?{start:n,query:e.slice(n+1,t)}:null}if(/\s/.test(r))return null;n--}return null}function Mo(e){let t=e.thinkingLog;if(!t)return``;if(t.replayed)return`replay`;let n=Math.max(.1,t.durationMs/1e3);return`${n.toFixed(+(n<10))}s`}function No(e){let t=Math.max(3,...Array.from(e.matchAll(/`+/g),e=>e[0].length+1));return"`".repeat(t)}function Po(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function Fo(){let e=q.getState().messages,t=[],n=new Date().toISOString().slice(0,19).replace(/[:T]/g,`-`),r=j.getState().projectName||`chat`,i=j.getState().session?.title||r;t.push(`# ${i} — chat export`),t.push(`*Exported: ${new Date().toISOString()}*`),t.push(``);for(let n of e)if(n.thinkingLog){let e=No(n.thinkingLog.text),r=n.thinkingLog.text.split(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ws-client-D-d32pHb.js","assets/rolldown-runtime-hePW80VL.js","assets/vendor-enc0q-Va.js","assets/monaco-BCqJp2xW.js","assets/monaco-Bowa0-zp.css","assets/markdown-Kp5uSgOw.js","assets/vendor-BMdWcCR4.css","assets/i18n-Cv65b1SP.js","assets/activity-BF1idM4Y.js","assets/chat-BlllxfpP.js","assets/commandPalette-BovBiPec.js","assets/common-BBHmIHQW.js","assets/settings-Ci_RMpCQ.js","assets/setup-C9lrNwQF.js","assets/toasts-DZ6HdKgG.js","assets/utils-DQ9Exx8j.js","assets/ui-store-DpKUBLWd.js","assets/ProcessMonitor-CvHdN8Bn.js","assets/useWebSocket-VIItbvVK.js","assets/codemap-activity-store-Br4b57a0.js","assets/stores-CNuMLG8X.js","assets/chat-store-DIcs826A.js","assets/mailbox-store-B9DIvRgo.js","assets/view-navigation-DPOY0lyt.js","assets/codemap-index-store-tSmlp7Uz.js","assets/dialog-BTHxOi5z.js","assets/AnalyticsDashboard-B8r_8kNv.js","assets/AgentRosterView-C46rL23K.js","assets/ModelPicker-C3r7IFfh.js","assets/roster-ws-D5JW3IPJ.js","assets/AudienceMemoryPanel-Ciybycpn.js","assets/button-DNyYztcH.js","assets/input-CTGeYzNe.js","assets/shared-CLfD85oZ.js","assets/OfficeMapPanel-B47jfEHf.js","assets/OfficeMapPanel-Ce7myLNH.css","assets/ChangesView-BREfCsEq.js","assets/empty-state-DBQN80mK.js","assets/monaco-theme-CR1QvFi2.js","assets/ChronicleDashboard-bo2jv52s.js","assets/CodeEditor-C_KzNkIb.js","assets/MemoryDrawer-CfukdhlF.js","assets/CodeMap-DA_k3u5g.js","assets/DebugDashboard-DNDadwro.js","assets/DesignGalleryView-B9ZMJPOQ.js","assets/GoalView-BkoCNN8l.js","assets/ConfirmModal-gukSikBD.js","assets/KanbanView-nql6LkaS.js","assets/SddFlowGraph-BsfhxlDK.js","assets/MailboxDetailView-CdHRfnNq.js","assets/PromptJournalView-CXZ9notj.js","assets/RefreshDebugView-BYmeORMQ.js","assets/SageTabs-BRJG0fhZ.js","assets/RequirementIntakeView-CFgVx_0T.js","assets/SddHub-Br1vyCgq.js","assets/SpecsView-COS0-sxq.js","assets/SessionsDashboard-BEQs4Div.js","assets/SessionList-BkaI91oW.js","assets/SessionInspectView-BSRjWErA.js","assets/SkillDetailView-DqxkOnb8.js","assets/TechStackView-Dr8vI0hK.js","assets/DeadCodeScanPanel-VnMQatbH.js","assets/ChimeraReviewsView-aSYmQ8tC.js","assets/SetupScreen-zY4541lT.js","assets/TerminalPanel-DlIyvxm6.js","assets/xterm-BWzBEEhg.js","assets/xterm-BrP-ENHg.css","assets/CronJobsPanel-D-43oYQ-.js","assets/QueuePanel-DOcgHRH3.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{$ as t,A as n,B as r,C as i,D as a,Dt as o,E as s,F as c,G as l,H as u,Ht as d,It as f,K as p,L as m,M as h,Mt as g,N as _,O as v,Ot as y,P as b,Pt as x,Q as S,R as C,S as w,St as T,T as E,U as D,V as O,Vt as k,W as A,X as j,Y as M,Z as ee,_ as N,_t as P,a as F,at as te,b as ne,et as I,f as L,g as R,h as re,i as ie,it as ae,j as z,k as oe,lt as se,m as ce,mt as le,nt as ue,ot as de,p as fe,q as pe,rt as me,t as B,tt as he,v as ge,vt as _e,w as ve,wt as ye,x as be,y as xe,z as Se}from"./ws-client-D-d32pHb.js";import{$ as Ce,$i as we,$n as Te,$r as Ee,$t as De,A as Oe,Aa as ke,Ai as Ae,An as je,Ar as Me,At as Ne,B as Pe,Ba as Fe,Bn as Ie,Br as Le,Bt as Re,C as ze,Ci as Be,Cr as Ve,Ct as He,D as Ue,Di as We,Dn as Ge,Dr as Ke,Dt as qe,E as Je,Ea as Ye,Ei as Xe,En as Ze,Er as Qe,F as $e,Fa as et,Fi as tt,Fr as nt,Ft as rt,G as it,Gr as at,H as ot,Ha as st,Hi as ct,Ht as lt,I as ut,Ia as dt,Ii as ft,In as pt,Ir as mt,It as ht,J as gt,Ji as _t,Jn as vt,Jr as yt,Jt as bt,K as xt,Ka as St,Ki as Ct,Kn as wt,Kr as Tt,Kt as Et,L as Dt,La as Ot,Li as kt,Ln as At,Lr as jt,Lt as Mt,M as Nt,Ma as Pt,Mi as Ft,Mn as It,Mr as Lt,Mt as Rt,N as zt,Na as Bt,Ni as Vt,Nn as Ht,Nt as Ut,O as Wt,Oa as Gt,Oi as Kt,On as qt,Or as Jt,Ot as Yt,P as Xt,Pr as Zt,Q as Qt,Qa as $t,Qn as en,Qr as tn,Qt as nn,R as rn,Ra as an,Rn as on,Rr as sn,Rt as cn,Sa as ln,Si as un,Sn as dn,St as fn,T as pn,Tn as mn,Tr as hn,Tt as gn,U as _n,Ua as vn,Ui as yn,Un as bn,V as xn,Va as Sn,Vn as Cn,Vr as wn,Vt as Tn,W as En,Wi as Dn,Wn as On,Wr as kn,Wt as An,X as jn,Xa as Mn,Xn as Nn,Xr as Pn,Y as Fn,Yi as In,Yn as Ln,Yr as Rn,Yt as zn,Z as Bn,Zn as Vn,_a as Hn,_i as Un,_n as Wn,_r as Gn,_t as Kn,aa as qn,ai as Jn,an as Yn,ao as Xn,at as Zn,ba as Qn,bi as $n,br as er,bt as tr,ca as nr,ci as rr,cr as ir,ct as ar,da as or,dn as sr,dr as cr,dt as lr,en as ur,er as dr,et as fr,fa as pr,fr as mr,ft as hr,ga as gr,gn as _r,gt as vr,ha as yr,hi as br,hn as xr,hr as Sr,ht as Cr,ia as wr,ii as Tr,in as Er,io as V,ir as Dr,it as Or,j as kr,ja as Ar,ji as jr,jn as Mr,jr as Nr,jt as Pr,k as Fr,ka as Ir,ki as Lr,kn as Rr,kt as zr,la as Br,li as Vr,ln as Hr,lr as Ur,ma as Wr,mi as Gr,mn as Kr,mr as qr,mt as Jr,na as Yr,ni as Xr,nr as Zr,nt as Qr,oa as $r,oi as ei,on as ti,oo as ni,or as ri,ot as ii,pa as ai,pi as oi,pt as si,q as ci,qa as li,qi as ui,qn as di,qt as fi,ra as pi,ri as mi,rn as hi,rr as gi,rt as _i,sa as vi,sn as yi,sr as bi,st as xi,ti as Si,tn as Ci,to as H,tr as wi,tt as Ti,ua as Ei,ui as Di,ur as Oi,ut as ki,vi as Ai,vn as ji,vr as Mi,vt as Ni,w as Pi,wa as Fi,wi as Ii,wn as Li,wr as Ri,xa as zi,xn as Bi,ya as Vi,yi as Hi,yn as Ui,yt as Wi,z as Gi,za as Ki,zi as qi,zn as Ji,zr as Yi,zt as Xi}from"./vendor-enc0q-Va.js";import{n as U,r as Zi}from"./i18n-Cv65b1SP.js";import{s as W}from"./monaco-BCqJp2xW.js";import{a as Qi,c as $i,i as ea,n as ta,o as na,r as ra,s as ia,t as aa}from"./useWebSocket-VIItbvVK.js";import{t as G}from"./utils-DQ9Exx8j.js";import{a as oa,i as sa,n as K,r as ca,t as la}from"./ui-store-DpKUBLWd.js";import{t as q}from"./chat-store-DIcs826A.js";import{_ as ua,b as da,d as fa,g as pa,i as ma,m as ha,p as ga,s as _a,t as va,v as ya,x as ba,y as xa}from"./stores-CNuMLG8X.js";import{n as Sa,r as Ca,t as wa}from"./mailbox-store-B9DIvRgo.js";import{a as Ta,i as Ea,n as Da,o as J,r as Oa,t as ka}from"./view-navigation-DPOY0lyt.js";import{a as Aa,i as ja,n as Ma,o as Na,r as Pa,t as Fa}from"./dialog-BTHxOi5z.js";import{t as Y}from"./button-DNyYztcH.js";import{t as Ia}from"./input-CTGeYzNe.js";import{i as La,n as Ra,o as za,r as Ba,t as Va}from"./ConfirmModal-gukSikBD.js";import{n as Ha,r as Ua,t as Wa}from"./ModelPicker-C3r7IFfh.js";import{d as Ga,p as Ka}from"./markdown-Kp5uSgOw.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var X=e(ni(),1),qa=e(Xn(),1),Ja=new Set([`chat`,`settings`,`goal`,`kanban`,`sddhub`,`files`,`changes`,`sessions`,`setup`,`skill`,`roster`,`mailbox`,`debug`,`design-gallery`,`refresh-debug`,`analytics`]),Ya=new Set([`goal`,`fleet`,`work`,`worktrees`,`collab`]),Xa=new Set([`todos`,`tasks`,`plan`]);function Za(){if(typeof window>`u`)return;let e=window.wrongstackDesktopHost;if(!e?.setPrefs)return;let t=U.getState();e.setPrefs({yolo:t.yolo,nextPrediction:t.nextPrediction,contextAutoCompact:t.contextAutoCompact})}function Qa(e){typeof window>`u`||window.wrongstackDesktopHost?.setReady?.(e)}function $a(e,t,n){typeof window>`u`||typeof e!=`string`||window.wrongstackDesktopHost?.ackCommand?.(e,t,n)}var Z=ki(),eo=Or,to=ar,no=X.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,Z.jsxs)(xi,{ref:i,className:G(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent`,t&&`pl-8`,e),...r,children:[n,(0,Z.jsx)(or,{className:`ml-auto h-4 w-4`})]}));no.displayName=xi.displayName;var ro=X.forwardRef(({className:e,...t},n)=>(0,Z.jsx)(ii,{ref:n,className:G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...t}));ro.displayName=ii.displayName;var io=X.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,Z.jsx)(Qr,{children:(0,Z.jsx)(Qt,{ref:r,sideOffset:t,className:G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n})}));io.displayName=Qt.displayName;var ao=X.forwardRef(({className:e,inset:t,...n},r)=>(0,Z.jsx)(Ce,{ref:r,className:G(`relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0`,t&&`pl-8`,e),...n}));ao.displayName=Ce.displayName;var oo=X.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,Z.jsxs)(Bn,{ref:i,className:G(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,Z.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,Z.jsx)(fr,{children:(0,Z.jsx)(ai,{className:`h-4 w-4`})})}),t]}));oo.displayName=Bn.displayName;var so=X.forwardRef(({className:e,children:t,...n},r)=>(0,Z.jsxs)(_i,{ref:r,className:G(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,Z.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,Z.jsx)(fr,{children:(0,Z.jsx)(_t,{className:`h-2 w-2 fill-current`})})}),t]}));so.displayName=_i.displayName;var co=X.forwardRef(({className:e,inset:t,...n},r)=>(0,Z.jsx)(Ti,{ref:r,className:G(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));co.displayName=Ti.displayName;var lo=X.forwardRef(({className:e,...t},n)=>(0,Z.jsx)(Zn,{ref:n,className:G(`-mx-1 my-1 h-px bg-muted`,e),...t}));lo.displayName=Zn.displayName;var uo=({className:e,...t})=>(0,Z.jsx)(`span`,{className:G(`ml-auto text-xs tracking-widest opacity-60`,e),...t});uo.displayName=`DropdownMenuShortcut`;var fo=[{id:`chat`,icon:(0,Z.jsx)(Te,{size:16}),label:`Session`},{id:`files`,icon:(0,Z.jsx)(Ee,{size:16}),label:`Files`},{id:`changes`,icon:(0,Z.jsx)(Yi,{size:16}),label:`Changes`},{id:`mailbox`,icon:(0,Z.jsx)(ri,{size:16}),label:`Mailbox`},{id:`skills`,icon:(0,Z.jsx)(Et,{size:16}),label:`Skills`},{id:`design`,icon:(0,Z.jsx)(Ie,{size:16}),label:`Design Studio`}],po=[{id:`roster`,icon:(0,Z.jsx)(Fi,{size:16}),label:`Agent Roster`},{id:`sddhub`,icon:(0,Z.jsx)(vr,{size:16}),label:`SDD`},{id:`kanban`,icon:(0,Z.jsx)(kt,{size:16}),label:`Kanban`},{id:`goal`,icon:(0,Z.jsx)(ji,{size:16}),label:`Goal`},{id:`codemap`,icon:(0,Z.jsx)(On,{size:16}),label:`CodeMap`},{id:`techstack`,icon:(0,Z.jsx)(ln,{size:16}),label:`TechStack`},{id:`chronicle`,icon:(0,Z.jsx)(yr,{size:16}),label:`Chronicle`},{id:`prompts`,icon:(0,Z.jsx)(Hr,{size:16}),label:`Prompt Journal`},{id:`chimera`,icon:(0,Z.jsx)(ur,{size:16}),label:`Chimera Reviews`},{id:`intake`,icon:(0,Z.jsx)(Ct,{size:16}),label:`Requirements`},{id:`memory`,icon:(0,Z.jsx)(zi,{size:16}),label:`Memory`}],mo=[`chat`,`files`,`changes`,`mailbox`],ho=[...mo,`skills`,`design`],go=132,_o=38,vo=165,yo=46;function bo(e,t){let n=fo.length+po.length,r=Number.isFinite(e)?e:720,i=t?go:vo,a=t?_o:yo,o=Math.floor((r-i)/a);return Math.max(mo.length,Math.min(n,o))}function xo(e){let t=fo.length+po.length,n=Math.max(mo.length,Math.min(t,Math.floor(e))),r=Math.min(fo.length,n),i=new Set(ho.slice(0,r)),a=fo.map(e=>e.id).filter(e=>i.has(e)),o=fo.map(e=>e.id).filter(e=>!i.has(e)),s=Math.max(0,n-a.length),c=po.slice(0,s).map(e=>e.id),l=new Set(c);return{visiblePanelIds:a,overflowPanelIds:o,visibleViewIds:c,overflowViewIds:po.map(e=>e.id).filter(e=>!l.has(e))}}var So=fo.map(e=>e.id);function Co(){return typeof window>`u`?720:window.visualViewport?.height??window.innerHeight}function wo(e){let[t,n]=(0,X.useState)(Co);return(0,X.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>n(Co());return e(),window.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`resize`,e)}},[]),bo(t,e)}function To({desktopShell:e=!1}){let n=K(e=>e.activeActivity),r=K(e=>e.sidebarOpen),i=K(e=>e.currentView),a=j(e=>e.projectName),o=t(e=>e.wsConnected),{t:s}=H(),c=(e,t)=>s(`activity:nav.${e}`,t),l=Ca(Sa),u=R(e=>e.openTabIds.length),d=K(e=>e.inspectorOpen),f=wo(e),p=(0,X.useMemo)(()=>xo(f),[f]),m=(0,X.useMemo)(()=>new Set(p.visiblePanelIds),[p.visiblePanelIds]),h=(0,X.useMemo)(()=>new Set(p.overflowPanelIds),[p.overflowPanelIds]),g=(0,X.useMemo)(()=>new Set(p.visibleViewIds),[p.visibleViewIds]),_=(0,X.useMemo)(()=>new Set(p.overflowViewIds),[p.overflowViewIds]),v=fo.filter(e=>m.has(e.id)),y=fo.filter(e=>h.has(e.id)),b=po.filter(e=>g.has(e.id)),x=po.filter(e=>_.has(e.id)),S=e=>{if(e===`mailbox`)return l||void 0;if(e===`chat`)return u>0?u:void 0};return(0,Z.jsxs)(`div`,{className:G(`flex h-full min-h-0 shrink-0 flex-col border-r border-border/70 bg-card/75 backdrop-blur-xl`,e?`w-10`:`w-12`),children:[(0,Z.jsx)(`div`,{className:`flex flex-col items-center shrink-0 border-b border-border/60`,children:(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{J(`chat`)},title:a?s(`activity:brand.returnToChat`,{name:a}):s(`activity:brand.returnToChatDefault`),className:G(`relative flex items-center justify-center overflow-hidden bg-foreground transition-shadow hover:shadow-[0_3px_12px_-2px_hsl(var(--primary)/0.5)]`,e?`w-full h-8`:`w-full h-11`),children:(0,Z.jsx)(`img`,{src:`/wrongstack.svg`,alt:``,"aria-hidden":`true`,draggable:!1,className:`ws-brand-logo h-full w-full`})})}),(0,Z.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-hidden flex flex-col items-center pt-2 pb-1`,children:[v.map(t=>(0,Z.jsx)(Do,{compact:e,icon:t.icon,label:`${c(t.id,t.label)} (${Ta(t.id)})`,active:r&&n===t.id,badge:S(t.id),onClick:()=>Ea(t.id)},t.id)),b.length>0&&(0,Z.jsx)(`div`,{className:`my-1.5 h-px w-6 shrink-0 bg-border/70`}),b.map(t=>(0,Z.jsx)(Do,{compact:e,icon:t.icon,label:c(t.id,t.label),active:i===t.id,onClick:()=>Oa(t.id)},t.id))]}),(0,Z.jsx)(`div`,{role:`status`,"aria-label":o?s(`activity:connection.connected`,`Connected`):s(`activity:connection.disconnected`,`Disconnected`),className:`flex items-center justify-center py-1`,children:(0,Z.jsx)(`span`,{className:G(`h-1.5 w-1.5 rounded-full`,o?`bg-success`:`bg-muted-foreground/40`),title:o?s(`activity:connection.connected`,`Connected`):s(`activity:connection.disconnected`,`Disconnected`)})}),(0,Z.jsx)(`div`,{className:`flex flex-col items-center shrink-0 pt-1 pb-2 border-t border-border/60`,children:(0,Z.jsx)(Eo,{compact:e,monitorOpen:d,overflowPanels:y,overflowViews:x})})]})}function Eo({compact:e=!1,monitorOpen:t,overflowPanels:n,overflowViews:r}){let{t:i}=H(),a=K(e=>e.activeActivity),o=K(e=>e.sidebarOpen),s=K(e=>e.currentView),c=K(e=>e.inspectorOpen),l=K(e=>e.inspectorTab),u=n.length+r.length,d=n.some(e=>o&&a===e.id),f=r.some(e=>s===e.id),p=d||f,m=e=>{let t=K.getState();t.inspectorOpen&&t.inspectorTab===e?t.setInspectorOpen(!1):(t.setInspectorTab(e),t.setInspectorOpen(!0))};return(0,Z.jsxs)(eo,{children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsxs)(`button`,{type:`button`,"aria-label":u>0?i(`activity:menu.moreWithHidden`,{count:u}):i(`activity:menu.moreOptions`),title:e&&u>0?i(`activity:menu.moreCompactHidden`,{count:u}):i(e?`activity:menu.moreCompact`:`activity:menu.moreFull`),className:G(`ws-nav-button relative flex items-center justify-center rounded-md transition-colors`,e?`h-9 w-9`:`h-11 w-11`,`text-muted-foreground hover:border-border/70 hover:text-foreground hover:bg-muted/60`,`data-[state=open]:text-primary data-[state=open]:bg-primary/10 data-[state=open]:border-primary/30`,(t||p)&&`text-primary`),children:[(0,Z.jsx)(`span`,{className:`h-5 w-5 flex items-center justify-center`,children:(0,Z.jsx)(Be,{size:16})}),u>0&&(0,Z.jsx)(`span`,{className:G(`absolute -top-0.5 -right-0.5 min-w-[15px] h-[15px] flex items-center justify-center rounded px-1 text-[8px] font-bold leading-none tabular`,p?`bg-primary text-primary-foreground`:`bg-muted-foreground text-background`),children:u>9?`9+`:u}),t&&u===0&&(0,Z.jsx)(`span`,{className:`absolute top-1 right-1 h-1.5 w-1.5 rounded-full bg-primary`})]})}),(0,Z.jsxs)(io,{side:`right`,align:`end`,sideOffset:8,className:`w-56`,children:[(0,Z.jsxs)(ao,{onSelect:()=>K.getState().setPaletteOpen(!0),children:[(0,Z.jsx)(ft,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:menu.commandPalette`)}),(0,Z.jsx)(uo,{children:`⌘K`})]}),(0,Z.jsxs)(ao,{onSelect:()=>K.getState().setShortcutsOpen(!0),children:[(0,Z.jsx)(hn,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:menu.keyboardShortcuts`)}),(0,Z.jsx)(uo,{children:`?`})]}),n.length>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(lo,{}),(0,Z.jsx)(co,{className:`text-[11px] uppercase text-muted-foreground`,children:i(`activity:menu.panels`)}),n.map(e=>(0,Z.jsxs)(ao,{onSelect:()=>J(e.id),children:[e.icon,(0,Z.jsx)(`span`,{children:i(`activity:nav.${e.id}`,e.label)}),o&&a===e.id?(0,Z.jsx)(`span`,{className:`ml-auto w-1.5 h-1.5 rounded-full bg-primary`}):(0,Z.jsx)(uo,{children:Ta(e.id)})]},e.id))]}),r.length>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(lo,{}),(0,Z.jsx)(co,{className:`text-[11px] uppercase text-muted-foreground`,children:i(`activity:menu.views`)}),r.map(e=>(0,Z.jsxs)(ao,{onSelect:()=>Oa(e.id),children:[e.icon,(0,Z.jsx)(`span`,{children:i(`activity:nav.${e.id}`,e.label)}),s===e.id&&(0,Z.jsx)(`span`,{className:`ml-auto w-1.5 h-1.5 rounded-full bg-primary`})]},e.id))]}),(0,Z.jsx)(lo,{}),(0,Z.jsx)(co,{className:`text-[11px] uppercase text-muted-foreground`,children:i(`activity:nav.settings`,`Settings`)}),(0,Z.jsxs)(ao,{onSelect:()=>Oa(`settings`),children:[(0,Z.jsx)(hi,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:nav.settings`,`Settings`)}),(0,Z.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:i(`settings:tabs.general`,`overview`)})]}),[{icon:(0,Z.jsx)(Ie,{size:14}),label:`General`,tab:`general`},{icon:(0,Z.jsx)(On,{size:14}),label:`Provider`,tab:`provider`},{icon:(0,Z.jsx)(Fi,{size:14}),label:`Agent`,tab:`agent`},{icon:(0,Z.jsx)(lr,{size:14}),label:`Execution`,tab:`execution`},{icon:(0,Z.jsx)(Ri,{size:14}),label:`Fallbacks`,tab:`fallbacks`}].map(({icon:e,label:t,tab:n})=>(0,Z.jsxs)(ao,{onSelect:()=>{K.getState().setSettingsActiveTab(n),Oa(`settings`)},children:[e,(0,Z.jsx)(`span`,{children:i(`settings:tabs.${n}`,t)})]},n)),(0,Z.jsx)(lo,{}),(0,Z.jsx)(co,{className:`text-[11px] uppercase text-muted-foreground`,children:i(`activity:menu.monitors`)}),(0,Z.jsxs)(ao,{onSelect:()=>m(`fleet`),children:[(0,Z.jsx)(Ve,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:menu.fleetMonitor`)}),c&&l===`fleet`?(0,Z.jsx)(`span`,{className:`ml-auto w-1.5 h-1.5 rounded-full bg-primary`}):(0,Z.jsx)(uo,{children:`⇧⌘M`})]}),(0,Z.jsxs)(ao,{onSelect:()=>m(`sideEffects`),children:[(0,Z.jsx)(lr,{size:16}),(0,Z.jsx)(`span`,{children:i(`activity:inspector.tabAudit`)}),c&&l===`sideEffects`?(0,Z.jsx)(`span`,{className:`ml-auto h-1.5 w-1.5 rounded-full bg-primary`}):null]})]})]})}function Do({compact:e=!1,icon:t,label:n,active:r,badge:i,onClick:a}){return(0,Z.jsxs)(`button`,{type:`button`,onClick:a,"aria-label":n,title:n,className:G(`ws-nav-button relative flex shrink-0 items-center justify-center rounded-md transition-colors`,e?`h-9 w-9`:`h-11 w-11`,`text-muted-foreground hover:border-border/70 hover:text-foreground hover:bg-muted/60`,r&&`ws-nav-button-active`),children:[r&&(0,Z.jsx)(`span`,{className:`absolute left-0 top-1/2 -translate-y-1/2 w-0.5 h-6 rounded-r-full bg-primary`}),(0,Z.jsx)(`span`,{className:`h-5 w-5 shrink-0`,children:t}),i!==void 0&&i>0&&(0,Z.jsx)(`span`,{className:`absolute -top-0.5 -right-0.5 min-w-[15px] h-[15px] flex items-center justify-center rounded bg-primary text-[8px] font-bold text-primary-foreground leading-none px-1 tabular`,children:i>99?`99+`:i})]})}var Oo=[{name:`/new`,category:`Session`,description:`Start a brand-new session (fresh on disk and in memory)`},{name:`/clear`,category:`Session`,description:`Wipe current context (keeps session id, disk record stays)`},{name:`/compact`,category:`Session`,description:`Shrink context — elide ancient tool output`},{name:`/compact!`,category:`Session`,description:`Aggressively shrink context now`},{name:`/repair`,category:`Session`,description:`Repair orphan tool-use / tool-result protocol blocks`},{name:`/save`,category:`Session`,description:`Force-flush the session (auto-saved already)`},{name:`/load`,category:`Session`,aliases:[`/resume`],description:`Resume a previous session from disk`},{name:`/export`,category:`Session`,description:`Download the current chat as markdown`},{name:`/debug`,category:`Inspect`,aliases:[`/context`],description:`Context size breakdown per section`},{name:`/tools`,category:`Inspect`,description:`List every registered tool the model can call`},{name:`/memory`,category:`Inspect`,description:`Manage memory: show, remember, forget, clear, stats`},{name:`/todos`,category:`Inspect`,description:`List current todos`},{name:`/stats`,category:`Inspect`,description:`Session stats: tokens, cost, elapsed`},{name:`/skill`,category:`Inspect`,aliases:[`/skills`],description:`List active skills`},{name:`/prompt`,category:`Inspect`,aliases:[`/prompts`],description:`Browse & insert prompts from the library`},{name:`/diag`,category:`Inspect`,description:`Runtime diagnostics (provider, tools, mode, usage)`},{name:`/agents`,category:`Inspect`,description:`Show status of spawned subagents`},{name:`/brain`,category:`Inspect`,description:`Brain status, risk ceiling (risk <level>), or decision support (ask <question>)`},{name:`/plan`,category:`Inspect`,description:`Strategic plan board: show, add, start, done, promote, clear`},{name:`/suggest`,category:`Inspect`,aliases:[`/next-steps`],description:`Ask the agent for concrete next steps`},{name:`/next`,category:`Inspect`,aliases:[`/enxt`],description:`Show or run numbered next-step suggestions`},{name:`/review`,category:`Agent`,aliases:[`/cr`],description:`Ask the agent to review the pending changes (optional focus)`},{name:`/fix`,category:`Agent`,description:`Diagnose and fix an error (paste it) or the latest failure`},{name:`/autonomy`,category:`Agent`,description:`Switch self-driving mode: off | suggest | auto | eternal | eternal-parallel`},{name:`/goal`,category:`Agent`,description:`Goal: start <title> | pause | resume | stop | status`},{name:`/goal-state`,category:`Agent`,description:`Show the current goal state (opens the Goal State dock chip)`},{name:`/fleet`,category:`Agent`,description:`Open the Fleet orchestration monitor`},{name:`/terminal`,category:`App`,aliases:[`/term`],description:"Open the integrated terminal (Ctrl+`)"},{name:`/collab`,category:`Agent`,description:`Open the live collaboration panel`},{name:`/worktree`,category:`Agent`,aliases:[`/worktrees`],description:`Open the worktree view`},{name:`/mode`,category:`Agent`,description:`Switch session mode (no arg lists available modes)`},{name:`/mcp`,category:`Agent`,description:`Open MCP server settings and refresh the server list`},{name:`/working-dir`,category:`Agent`,aliases:[`/cwd`],description:`Show or change the working directory`},{name:`/settings`,category:`Config`,aliases:[`/model`],description:`Open settings (provider/model/keys)`},{name:`/setup`,category:`Config`,description:`Open the provider setup screen to add or change API keys`},{name:`/doctor`,category:`Config`,description:`Check config defaults; use /doctor fix to repair and back up`},{name:`/enhance`,category:`Config`,description:`Toggle prompt refinement before sending`},{name:`/interrupt`,category:`Run`,aliases:[`/abort`,`/stop`,`/int`],description:`Stop the current run (abort the in-flight request)`},{name:`/help`,category:`App`,description:`Show every slash command and what it does`},{name:`/exit`,category:`App`,description:`Exit the session and close WebUI`},{name:`/f`,category:`App`,description:`Open F-key panels (F1–F12). Type /f for numbered options.`},{name:`/f1`,category:`App`,description:`Session panel`,hidden:!0},{name:`/f2`,category:`App`,description:`Fleet orchestration monitor`,hidden:!0},{name:`/f3`,category:`App`,description:`Agents live monitor`,hidden:!0},{name:`/f4`,category:`App`,description:`Worktree monitor`,hidden:!0},{name:`/f5`,category:`App`,description:`Plan panel`,hidden:!0},{name:`/f6`,category:`App`,description:`Todos monitor overlay`,hidden:!0},{name:`/f7`,category:`App`,description:`Queue panel`,hidden:!0},{name:`/f8`,category:`App`,description:`Process list overlay`,hidden:!0},{name:`/f9`,category:`App`,description:`Goal panel`,hidden:!0},{name:`/f10`,category:`App`,description:`Live sessions panel`,hidden:!0},{name:`/f11`,category:`App`,description:`Coordinator monitor`,hidden:!0},{name:`/f12`,category:`App`,description:`Status line picker`,hidden:!0}],ko=[`Run`,`Session`,`Inspect`,`Agent`,`Config`,`App`];function Ao(e){let t=e.toLowerCase();return t===`/`||t===``?Oo.filter(e=>!e.hidden):Oo.filter(e=>e.name.startsWith(t)||(e.aliases?.some(e=>e.startsWith(t))??!1))}function jo(e,t){let n=t-1;for(;n>=0;){let r=d(e[n]);if(r===`@`){let r=n>0?e[n-1]:``;return n===0||/\s/.test(r??``)?{start:n,query:e.slice(n+1,t)}:null}if(/\s/.test(r))return null;n--}return null}function Mo(e){let t=e.thinkingLog;if(!t)return``;if(t.replayed)return`replay`;let n=Math.max(.1,t.durationMs/1e3);return`${n.toFixed(+(n<10))}s`}function No(e){let t=Math.max(3,...Array.from(e.matchAll(/`+/g),e=>e[0].length+1));return"`".repeat(t)}function Po(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function Fo(){let e=q.getState().messages,t=[],n=new Date().toISOString().slice(0,19).replace(/[:T]/g,`-`),r=j.getState().projectName||`chat`,i=j.getState().session?.title||r;t.push(`# ${i} — chat export`),t.push(`*Exported: ${new Date().toISOString()}*`),t.push(``);for(let n of e)if(n.thinkingLog){let e=No(n.thinkingLog.text),r=n.thinkingLog.text.split(`
3
3
  `).length;t.push(`### 🧠 Thinking process — iteration ${n.thinkingLog.iteration}`),t.push(``),t.push(`_${Mo(n)} · ${r} line${r===1?``:`s`}_`),t.push(``),t.push(`<details><summary>Log</summary>`),t.push(``),t.push(`${e}text`),t.push(n.thinkingLog.text),t.push(e),t.push(``),t.push(`</details>`),t.push(``)}else if(n.role===`user`)t.push(`## 👤 User`),t.push(``),t.push(n.content),t.push(``);else if(n.role===`assistant`)t.push(`## 🤖 Assistant`),t.push(``),t.push(n.content),t.push(``);else if(n.role===`tool`){let e=n.isError?`❌`:n.toolResult===void 0?`⏳`:`✅`;t.push(`### 🔧 Tool: \`${n.toolName??`unknown`}\` ${e}`),n.toolInput!==void 0&&(t.push("```json"),t.push(JSON.stringify(n.toolInput,null,2)),t.push("```")),n.toolResult&&(t.push(`<details><summary>Output</summary>`),t.push(``),t.push("```"),t.push(n.toolResult),t.push("```"),t.push(`</details>`)),t.push(``)}let a=new Blob([t.join(`
4
4
  `)],{type:`text/markdown`}),o=URL.createObjectURL(a),s=document.createElement(`a`);s.href=o,s.download=`${r.toLowerCase().replace(/[^a-z0-9]+/g,`-`)}-chat-${n}.md`,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(o)}function Io(){let e=q.getState().messages,t=j.getState(),n=t.projectName||`chat`,r=Po(t.session?.title||n),i=new Date().toISOString().slice(0,19).replace(/[:T]/g,`-`),a=e.map(e=>{if(e.thinkingLog){let t=e.thinkingLog.text.split(`
5
5
  `).length;return`
@@ -91,7 +91,7 @@ Type while the agent is running to queue messages; they are sent automatically w
91
91
  ::highlight(chat-search-active) { background-color: hsl(var(--primary) / 0.85); color: hsl(var(--primary-foreground)); }
92
92
  `;function tf(e){return e.thinkingLog?[e.content,e.thinkingLog.text].filter(Boolean).join(`
93
93
  `):e.role===`tool`?[e.toolName??``,e.toolResult??``,JSON.stringify(e.toolInput??``)].join(`
94
- `):e.content}function nf(){let{t:e}=H(),t=K(e=>e.searchOpen),n=K(e=>e.setSearchOpen),r=K(e=>e.searchQuery),i=K(e=>e.setSearchQuery),a=q(e=>e.messages),o=K(e=>e.requestScrollToMessage),s=K(e=>e.setSearchActiveMessageId),c=(0,X.useRef)(null),[l,u]=(0,X.useState)(0),[d,f]=(0,X.useState)(0);(0,X.useEffect)(()=>{t&&requestAnimationFrame(()=>c.current?.focus())},[t]);let p=()=>{n(!1),requestAnimationFrame(()=>document.querySelector(`textarea`)?.focus())};(0,X.useEffect)(()=>{let e=document.createElement(`style`);return e.textContent=ef,document.head.appendChild(e),()=>{document.head.removeChild(e)}},[]);let m=(0,X.useMemo)(()=>{let e=r.trim().toLowerCase();return e?a.filter(t=>tf(t).toLowerCase().includes(e)).map(e=>e.id):[]},[a,r]);(0,X.useEffect)(()=>{l>=m.length&&u(0)},[m,l]),(0,X.useEffect)(()=>{s(t&&r.trim()?m[l]??null:null)},[t,r,m,l,s]),(0,X.useEffect)(()=>{let e=window,n=e.CSS?.highlights,i=e.Highlight;if(!n||!i)return;let a=()=>{n.delete(`chat-search`),n.delete(`chat-search-active`)},o=r.trim();if(!o||!t){a();return}let s=o.toLowerCase(),c=[],u=[],d=m[l];for(let e of document.querySelectorAll(`[data-message-id]`)){let t=e.dataset.messageId===d,n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=n.nextNode();for(;r;){let e=r.nodeValue??``;if(e.length>0){let n=e.toLowerCase(),i=0;for(;i<=n.length-s.length;){let e=n.indexOf(s,i);if(e===-1)break;let a=document.createRange();a.setStart(r,e),a.setEnd(r,e+s.length),c.push(a),t&&u.push(a),i=e+s.length}}r=n.nextNode()}}return c.length>0?n.set(`chat-search`,new i(...c)):n.delete(`chat-search`),u.length>0?n.set(`chat-search-active`,new i(...u)):n.delete(`chat-search-active`),a},[r,m,l,t,d]);let h=m[l];if((0,X.useEffect)(()=>{if(!h)return;o(h);let e=0,t=requestAnimationFrame(function n(){f(e=>e+1),++e<3&&(t=requestAnimationFrame(n))});return()=>cancelAnimationFrame(t)},[h,o]),!t)return null;let g=e=>{m.length!==0&&u(t=>(t+e+m.length)%m.length)};return(0,Z.jsx)(`div`,{className:`absolute top-2 right-4 z-30 w-[28rem] max-w-[calc(100%-2rem)] rounded-lg border bg-popover shadow-xl`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[(0,Z.jsx)(yi,{className:`h-4 w-4 text-muted-foreground shrink-0`}),(0,Z.jsx)(`input`,{ref:c,value:r,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Escape`?(e.preventDefault(),p()):e.key===`Enter`?(e.preventDefault(),g(e.shiftKey?-1:1)):e.key===`ArrowDown`?(e.preventDefault(),g(1)):e.key===`ArrowUp`&&(e.preventDefault(),g(-1))},placeholder:e(`activity:search.placeholder`),className:`flex-1 bg-transparent outline-none text-sm placeholder:text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums shrink-0`,children:m.length===0?r?`0`:``:`${l+1} / ${m.length}`}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>g(-1),disabled:m.length===0,className:G(`p-1 rounded hover:bg-muted disabled:opacity-30 disabled:cursor-not-allowed`),title:e(`activity:search.prevHit`),"aria-label":e(`activity:search.prevHit`),children:(0,Z.jsx)(Bt,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>g(1),disabled:m.length===0,className:G(`p-1 rounded hover:bg-muted disabled:opacity-30 disabled:cursor-not-allowed`),title:e(`activity:search.nextHit`),"aria-label":e(`activity:search.nextHit`),children:(0,Z.jsx)(Fe,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:p,className:`p-1 rounded hover:bg-muted text-muted-foreground`,title:e(`activity:search.close`),"aria-label":e(`activity:search.close`),children:(0,Z.jsx)(hr,{className:`h-3.5 w-3.5`})})]})})}function rf(){return{started:0,ok:0,failed:0,totalMs:0}}function af(e,t){e.started+=t.started,e.ok+=t.ok,e.failed+=t.failed,e.totalMs+=t.totalMs}function of(e,t){let n=e+t;return n>0?e/n*100:null}function sf(e){return e===null?`--`:`${e.toFixed(0)}%`}function cf(e){return e<=0?`--`:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(1)}s`}function lf({ok:e,failed:t,inFlight:n}){let r=Math.max(1,e+t+n);return(0,Z.jsxs)(`span`,{className:`relative inline-block h-2 w-full min-w-16 overflow-hidden rounded-full bg-muted/60 align-middle ring-1 ring-inset ring-border/20`,children:[(0,Z.jsx)(`span`,{className:`absolute inset-y-0 left-0 bg-success transition-all duration-500`,style:{width:`${e/r*100}%`}}),(0,Z.jsx)(`span`,{className:`absolute inset-y-0 bg-destructive transition-all duration-500`,style:{left:`${e/r*100}%`,width:`${t/r*100}%`}})]})}function uf({label:e,value:t,tone:n}){return(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col rounded-lg border border-border/50 bg-muted/20 px-2.5 py-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-[10px] uppercase tracking-wider text-muted-foreground`,children:e}),(0,Z.jsx)(`span`,{className:G(`font-mono text-sm font-bold tabular-nums`,n),children:t})]})}function df({name:e,bucket:t}){let n=t.ok+t.failed,r=n>0?t.totalMs/n:0;return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 text-xs rounded hover:bg-muted/40 transition-colors`,children:[(0,Z.jsx)(si,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`font-mono truncate flex-1 min-w-0`,title:e,children:e}),(0,Z.jsxs)(`span`,{className:`tabular-nums text-muted-foreground w-12 text-right`,children:[t.started,`×`]}),(0,Z.jsx)(lf,{ok:t.ok,failed:t.failed,inFlight:0}),(0,Z.jsx)(`span`,{className:`tabular-nums text-success w-8 text-right`,children:t.ok}),(0,Z.jsx)(`span`,{className:`tabular-nums text-destructive w-8 text-right`,children:t.failed}),(0,Z.jsx)(`span`,{className:`tabular-nums text-muted-foreground w-14 text-right`,children:cf(r)})]})}function ff({open:e,onClose:t}){let{t:n}=H(),r=xe(e=>e.sessions),i=K(e=>e.sessionNicknames),o=a(e=>e.entries),[s,c]=(0,X.useState)(!1);(0,X.useEffect)(()=>{if(!e){c(!1);return}requestAnimationFrame(()=>requestAnimationFrame(()=>c(!0)))},[e]),(0,X.useEffect)(()=>{if(!e)return;let n=e=>{e.key===`Escape`&&t()};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e,t]);let l=(0,X.useMemo)(()=>Object.values(r).sort((e,t)=>t.lastActivityAt-e.lastActivityAt),[r]),u=(0,X.useMemo)(()=>{let e=rf(),t=0,n=0,r=0;for(let i of l){for(let t of Object.values(i.perAgent))af(e,t);t+=ge(i),n+=i.delegations.ok+i.delegations.failed,r+=i.delegations.failed}return{...e,inFlight:t,delegations:n,delegationFailures:r}},[l]),d=(0,X.useMemo)(()=>o.filter(e=>!(e.id in r)&&(e.toolCallCount??0)>0).slice(0,12),[o,r]);if(!e)return null;let f=l.length>0,p=of(u.ok,u.failed);return(0,Z.jsx)(`div`,{className:G(`fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm transition-opacity duration-200`,s?`opacity-100`:`opacity-0`),onClick:t,"data-testid":`tool-stats-modal`,children:(0,Z.jsxs)(`section`,{"aria-label":n(`chat:toolStats.title`,`Tool call statistics`),className:G(`flex max-h-[82vh] w-full max-w-2xl flex-col overflow-hidden rounded-xl border border-border/70 bg-card shadow-2xl transition-transform duration-200`,s?`scale-100`:`scale-95`),onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/60 px-4 py-3`,children:[(0,Z.jsx)(si,{className:`h-4 w-4 text-primary`}),(0,Z.jsx)(`h2`,{className:`text-sm font-semibold`,children:n(`chat:toolStats.title`,`Tool call statistics`)}),(0,Z.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:n(`chat:toolStats.liveScope`,`This page · live + closed sessions`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:t,className:`rounded p-1 text-muted-foreground transition-colors hover:bg-muted/50 hover:text-foreground`,title:n(`common:action.close`,`Close`),children:(0,Z.jsx)(hr,{className:`h-4 w-4`})})]}),(0,Z.jsxs)(`div`,{className:`flex-1 space-y-4 overflow-y-auto overscroll-contain p-4`,children:[(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(uf,{label:n(`chat:toolStats.calls`,`Calls`),value:u.started.toLocaleString()}),(0,Z.jsx)(uf,{label:n(`chat:toolStats.ok`,`Success`),value:`${u.ok}`,tone:`text-success`}),(0,Z.jsx)(uf,{label:n(`chat:toolStats.failed`,`Failed`),value:`${u.failed}`,tone:u.failed>0?`text-destructive`:void 0}),(0,Z.jsx)(uf,{label:n(`chat:toolStats.successRate`,`Success rate`),value:sf(p),tone:p!==null&&p<80?`text-warning`:`text-success`}),u.inFlight>0&&(0,Z.jsx)(uf,{label:n(`chat:toolStats.inFlight`,`In flight`),value:`${u.inFlight}`,tone:`text-info`}),(0,Z.jsx)(uf,{label:n(`chat:toolStats.totalDuration`,`Tool time`),value:cf(u.totalMs)})]}),(0,Z.jsx)(lf,{ok:u.ok,failed:u.failed,inFlight:u.inFlight}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`h3`,{className:`mb-1.5 flex items-center gap-1.5 text-xs font-bold uppercase tracking-wider text-foreground/80`,children:[(0,Z.jsx)(Ri,{className:`h-3.5 w-3.5 text-primary`}),n(`chat:toolStats.liveSessions`,`Open tabs`)]}),f?(0,Z.jsx)(`div`,{className:`space-y-2`,children:l.map(e=>(0,Z.jsx)(mf,{session:e,label:pf(e.sessionId,i)},e.sessionId))}):(0,Z.jsx)(`p`,{className:`rounded-lg border border-border/40 bg-muted/20 px-3 py-4 text-center text-xs text-muted-foreground`,children:n(`chat:toolStats.noLiveData`,`No tool calls recorded yet on this page. Run a prompt — stats appear here live, per tab.`)})]}),d.length>0&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`h3`,{className:`mb-1.5 flex items-center gap-1.5 text-xs font-bold uppercase tracking-wider text-foreground/80`,children:[(0,Z.jsx)(yn,{className:`h-3.5 w-3.5 text-muted-foreground`}),n(`chat:toolStats.pastSessions`,`Earlier sessions`)]}),(0,Z.jsx)(`div`,{className:`space-y-0.5 rounded-lg border border-border/40 bg-muted/10 p-2`,children:d.map(e=>{let t=Math.max(0,(e.toolCallCount??0)-(e.toolErrorCount??0)),n=e.toolErrorCount??0;return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 text-xs rounded hover:bg-muted/40 transition-colors`,children:[(0,Z.jsx)(`span`,{className:`truncate flex-1 min-w-0`,title:e.id,children:e.title||e.id.slice(0,8)}),(0,Z.jsx)(lf,{ok:t,failed:n,inFlight:0}),(0,Z.jsxs)(`span`,{className:`tabular-nums text-muted-foreground w-12 text-right`,children:[e.toolCallCount,`×`]}),(0,Z.jsx)(`span`,{className:`tabular-nums text-success w-8 text-right`,children:t}),(0,Z.jsx)(`span`,{className:`tabular-nums text-destructive w-8 text-right`,children:n}),(0,Z.jsx)(`span`,{className:`tabular-nums w-10 text-right font-mono text-muted-foreground`,children:sf(of(t,n))})]},e.id)})})]})]})]})})}function pf(e,t){return t[e]??`session ${e.slice(0,8)}`}function mf({session:e,label:t}){let{t:n}=H(),r=(0,X.useMemo)(()=>Object.entries(e.perTool).sort(([,e],[,t])=>t.started-e.started),[e.perTool]),i=(0,X.useMemo)(()=>Object.entries(e.perAgent),[e.perAgent]).filter(([e])=>e!==N),a=e.perAgent[N],o=(0,X.useMemo)(()=>{let t=rf();for(let n of Object.values(e.perAgent))af(t,n);return t},[e.perAgent]),s=ge(e),c=e.delegations;return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/50 bg-muted/10 p-2.5`,children:[(0,Z.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-xs font-semibold`,title:e.sessionId,children:t}),s>0&&(0,Z.jsx)(`span`,{className:`rounded bg-info/10 px-1.5 py-0.5 font-mono text-[10px] text-info`,children:n(`chat:toolStats.running`,`{{count}} running`,{count:s})}),(0,Z.jsxs)(`span`,{className:`ml-auto shrink-0 font-mono text-[10px] tabular-nums text-muted-foreground`,children:[sf(of(o.ok,o.failed)),` · `,o.ok,`✓ `,o.failed,`✗`]}),(0,Z.jsx)(`span`,{className:`w-24 shrink-0`,children:(0,Z.jsx)(lf,{ok:o.ok,failed:o.failed,inFlight:s})})]}),(0,Z.jsx)(`div`,{className:`space-y-0.5`,children:r.map(([e,t])=>(0,Z.jsx)(df,{name:e,bucket:t},e))}),(i.length>0||c.started>0)&&(0,Z.jsxs)(`div`,{className:`mt-2 rounded border border-border/40 bg-background/40 p-2`,children:[(0,Z.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wider text-muted-foreground`,children:[(0,Z.jsx)(Fi,{className:`h-3 w-3`}),n(`chat:toolStats.agentToAgent`,`Agent-to-agent`)]}),i.map(([e,t])=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-0.5 text-xs`,children:[(0,Z.jsx)(Fi,{className:`h-3 w-3 shrink-0 text-info`}),(0,Z.jsx)(`span`,{className:`font-mono truncate flex-1 min-w-0`,title:e,children:e}),(0,Z.jsx)(lf,{ok:t.ok,failed:t.failed,inFlight:0}),(0,Z.jsx)(`span`,{className:`tabular-nums text-success w-8 text-right`,children:t.ok}),(0,Z.jsx)(`span`,{className:`tabular-nums text-destructive w-8 text-right`,children:t.failed})]},e)),c.started>0&&(0,Z.jsxs)(`div`,{className:`mt-1 flex items-center gap-1.5 px-1 text-[11px] text-muted-foreground`,children:[(0,Z.jsx)(zr,{className:G(`h-3 w-3`,c.failed>0?`text-destructive`:`text-success`)}),n(`chat:toolStats.delegations`,`{{count}} delegated run(s)`,{count:c.ok+c.failed}),c.failed>0&&(0,Z.jsx)(`span`,{className:`text-destructive`,children:n(`chat:toolStats.delegationFailed`,`{{count}} failed`,{count:c.failed})}),(0,Z.jsx)(`span`,{className:`ml-auto tabular-nums`,children:n(`chat:toolStats.delegateToolCalls`,`{{count}} tools inside`,{count:c.toolCalls})})]})]}),a&&i.length>0&&(0,Z.jsx)(`p`,{className:`mt-1 px-1 text-[10px] text-muted-foreground/70`,children:n(`chat:toolStats.leaderLine`,`Leader: {{ok}}✓ {{failed}}✗`,{ok:a.ok,failed:a.failed})})]})}var hf=`elite-bug-hunter`;function gf(e){let t=[],n=e=>{for(let r of e)r.type===`directory`&&(t.push(r.path),r.children&&n(r.children))};return n(e),t.sort((e,t)=>e.localeCompare(t))}function _f(){let{t:e}=H(),{projectName:n,cwd:r}=j(Mn(e=>({projectName:e.projectName,cwd:e.cwd}))),{provider:i,model:a}=t(Mn(e=>({provider:e.provider,model:e.model}))),o=t(e=>e.wsConnected),s=t(e=>e.wsUrl),c=S(e=>e.tree),l=j(e=>e.session?.id),{subagentsAllowed:u,setPrefs:d}=U(Mn(e=>({subagentsAllowed:e.subagentsAllowed,setPrefs:e.set}))),{addMessage:f,setLoading:p}=q(Mn(e=>({addMessage:e.addMessage,setLoading:e.setLoading}))),[m,h]=(0,X.useState)(void 0),[g,_]=(0,X.useState)(`idle`),[v,y]=(0,X.useState)(``),[b,x]=(0,X.useState)(1),C=gf(c);(0,X.useEffect)(()=>{if(!o)return;let e=B(s),t=e.on(`providers.saved`,e=>{let t=e.payload;h(t.providers?.length??0)});return e.listSavedProviders(),()=>{t()}},[o,s]),(0,X.useEffect)(()=>{o&&B(s).send({type:`files.tree`,payload:l?{sessionId:l}:{}})},[l,o,s]);let w=(0,X.useCallback)(()=>{let e=B(s);if(!e.isConnected||g===`loading`)return;_(`loading`);let t=!1,n=()=>{},r=()=>{},i=e=>{t||(t=!0,clearTimeout(a),n(),r(),_(e))},a=setTimeout(()=>i(`error`),8e3),o=()=>{r=e.on(`prompts.content`,t=>{let n=t.payload;if(n?.slug!==hf)return;let r=n.content?.trim()??``;if(!n.found||!r){i(`error`);return}let a=v?`${v} and all of its descendants`:`the whole project`,o=ra(`${r}\n\n## WebUI run configuration (mandatory)\nThis run may complete up to ${b} proven bug ${b===1?`round`:`rounds`}. Work on only one bug at a time; after its proof, fix, verification, and cleanup are complete, continue to the next round only while below this limit. Stop early when no further proven bug is available. Stay strictly within ${a}. This configuration overrides the prompt's one-issue total limit, but not its one-issue-per-round discipline.`,{scope:v,maxBugs:b}),s=e.sendMessage(o);f({id:s,role:`user`,content:o,bugHunt:{scope:v,maxBugs:b}}),p(!0),e.send({type:`prompts.used`,payload:{slug:hf}}),i(`idle`)}),e.send({type:`prompts.content`,payload:{slug:hf}})};if(!u){o();return}n=e.on(`prefs.updated`,e=>{let t=e.payload;if(!(l&&t.sessionId!==l)&&typeof t.subagentsAllowed==`boolean`){if(t.subagentsAllowed!==!1){i(`error`);return}n(),n=()=>{},o()}}),d({subagentsAllowed:!1}),e.send({type:`prefs.update`,payload:{subagentsAllowed:!1,...l?{sessionId:l}:{}}})},[f,b,v,g,l,p,d,u,s]),T=(0,X.useCallback)(()=>{let e=!u;d({subagentsAllowed:e}),B(s).send({type:`prefs.update`,payload:{subagentsAllowed:e,...l?{sessionId:l}:{}}})},[l,d,u,s]);return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5 py-5 sm:py-7 max-w-6xl mx-auto w-full`,children:[(0,Z.jsxs)(`div`,{className:`ws-surface relative overflow-hidden rounded-xl p-5 sm:p-6`,children:[(0,Z.jsx)(`div`,{className:`absolute -top-24 -right-24 w-72 h-72 rounded-full bg-gradient-to-br from-primary/8 via-primary/5 to-transparent blur-3xl pointer-events-none`}),(0,Z.jsx)(`div`,{className:`absolute -bottom-12 -left-12 w-48 h-48 rounded-full bg-gradient-to-tr from-accent/8 to-transparent blur-3xl pointer-events-none`}),(0,Z.jsxs)(`div`,{className:`relative flex flex-col gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`img`,{src:`/wrongstack.svg`,alt:`WrongStack`,draggable:!1,className:`ws-brand-logo h-16 w-16 shrink-0 border border-border/70 shadow-sm shadow-primary/20 sm:h-20 sm:w-20`}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`h2`,{className:`text-xl font-semibold tracking-tight`,children:n?e(`setup:welcome.heroTitleInProject`,{name:n}):e(`setup:welcome.heroTitle`)}),(0,Z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground leading-relaxed`,children:e(`setup:welcome.heroSubtitle`)})]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1 pl-[76px] sm:pl-[92px]`,children:[i&&a&&(0,Z.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground/80 font-mono`,children:[i,` / `,a]}),r&&(0,Z.jsx)(`p`,{className:`truncate text-[11px] text-muted-foreground/75 font-mono`,title:r,children:e(`setup:welcome.workingDirectory`,{cwd:r})})]}),(0,Z.jsxs)(`div`,{className:`mt-2 border-t border-border/70 pt-4`,children:[(0,Z.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":!u,onClick:T,disabled:!o,className:G(`mb-3 flex w-full items-center gap-3 rounded-md border px-4 py-3 text-left transition-colors`,u?`border-border/70 bg-background/35 hover:bg-muted/45`:`border-warning/45 bg-warning/10`,`disabled:cursor-not-allowed disabled:opacity-50`),children:[(0,Z.jsx)(nn,{className:`h-5 w-5 shrink-0`}),(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`block text-sm font-semibold`,children:e(`setup:welcome.soloSessionTitle`)}),(0,Z.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:e(`setup:welcome.soloSessionBody`)})]}),(0,Z.jsx)(`span`,{className:`text-xs font-semibold uppercase`,children:e(u?`setup:welcome.off`:`setup:welcome.on`)})]}),(0,Z.jsxs)(`div`,{className:`rounded-md border border-primary/35 bg-primary/8 p-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-primary/15 text-primary`,children:g===`loading`?(0,Z.jsx)(mr,{className:`h-5 w-5 animate-spin`}):(0,Z.jsx)(Ae,{className:`h-5 w-5`})}),(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`block text-sm font-semibold`,children:e(`setup:welcome.bugHunterTitle`)}),(0,Z.jsx)(`span`,{className:`mt-0.5 block text-xs leading-relaxed text-muted-foreground`,children:e(`setup:welcome.bugHunterBody`)})]})]}),(0,Z.jsxs)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-[minmax(0,1fr)_9rem_auto]`,children:[(0,Z.jsx)(`label`,{className:`sr-only`,htmlFor:`bug-hunt-scope`,children:e(`setup:welcome.bugHunterScope`)}),(0,Z.jsxs)(`select`,{id:`bug-hunt-scope`,value:v,onChange:e=>y(e.target.value),disabled:!o||g===`loading`,className:`min-w-0 rounded-md border border-border bg-background px-3 py-2 text-sm`,children:[(0,Z.jsx)(`option`,{value:``,children:e(`setup:welcome.bugHunterWholeProject`)}),C.map(t=>(0,Z.jsx)(`option`,{value:t,children:e(`setup:welcome.bugHunterDirectoryScope`,{path:t})},t))]}),(0,Z.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border bg-background px-3 py-2 text-sm`,children:[(0,Z.jsx)(`span`,{className:`whitespace-nowrap text-muted-foreground`,children:e(`setup:welcome.bugHunterMaxBugs`)}),(0,Z.jsx)(`select`,{"aria-label":e(`setup:welcome.bugHunterMaxBugs`),value:b,onChange:e=>x(Number(e.target.value)),disabled:!o||g===`loading`,className:`min-w-0 bg-transparent font-semibold outline-none`,children:[1,2,3].map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:w,disabled:!o||m===0||g===`loading`,className:`group flex items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground transition-colors hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-50`,children:[e(`setup:welcome.bugHunterStart`),(0,Z.jsx)(Ot,{className:`h-4 w-4 transition-transform group-hover:translate-x-0.5`})]})]})]}),g===`error`&&(0,Z.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,role:`alert`,children:e(`setup:welcome.bugHunterError`)})]})]})]}),o&&m===0&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>Oa(`settings`),className:G(`group rounded-xl border bg-gradient-to-r from-warning/5 to-warning/[0.02]`,`border-warning/30 hover:border-warning/50 transition-all duration-200 shadow-sm`,`p-5 flex items-center gap-4 text-left animate-message`),children:[(0,Z.jsx)(`span`,{className:`flex items-center justify-center w-11 h-11 rounded-lg bg-gradient-to-br from-warning/20 to-warning/10 text-warning shrink-0 shadow-sm shadow-warning/10`,children:(0,Z.jsx)(Ke,{className:`h-6 w-6`})}),(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Z.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:e(`setup:welcome.noKeyTitle`)}),(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed`,children:e(`setup:welcome.noKeyBody`)})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-warning font-medium shrink-0 group-hover:translate-x-0.5 transition-transform`,children:[e(`setup:welcome.openSettings`),` `,(0,Z.jsx)(Ot,{className:`h-3.5 w-3.5`})]})]})]})}var vf={running:{led:`bg-success`,pulse:!0},completed:{led:`bg-success`,pulse:!1},failed:{led:`bg-destructive`,pulse:!1},timeout:{led:`bg-warning`,pulse:!1},stopped:{led:`bg-muted-foreground`,pulse:!1}};function yf(){let{t:e}=H(),t=P(),i=q(e=>e.isLoading),a=z(Mn(n)),o=_(t??void 0),s=z(e=>o?e.agents.get(o)?.name:void 0),c=K(e=>e.subagentChatFocusId),l=K(e=>e.setSubagentChatFocus),u=a.filter(e=>r(e.sessionId,t)),d=u.filter(e=>e.id!==o),f=d.filter(e=>e.status===`running`).length,p=d.length-f;return(0,Z.jsxs)(`div`,{role:`tablist`,"aria-label":e(`activity:agents.tabsLabel`),"data-testid":`agent-tabs`,className:`flex shrink-0 items-center justify-between gap-2 overflow-x-auto overscroll-x-contain px-3 py-1 border-b border-border/40 bg-muted/20 text-xs no-scrollbar`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,Z.jsxs)(`span`,{className:`text-[10px] font-semibold text-muted-foreground uppercase tracking-wider flex items-center gap-1 shrink-0`,children:[(0,Z.jsx)(Fi,{className:`h-3 w-3 text-primary`}),` AGENTS`,(0,Z.jsx)(`span`,{className:`rounded bg-muted/60 px-1 font-mono text-[9px] text-muted-foreground`,children:u.length})]}),(0,Z.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":c==null,onClick:()=>{l(null,t),K.getState().setCurrentView(`chat`)},className:G(`flex shrink-0 items-center gap-1 rounded-md px-2 py-0.5 text-[11px] font-medium transition-colors border`,c==null?`bg-primary/15 text-primary border-primary/30 shadow-xs`:`text-muted-foreground border-transparent hover:bg-muted/50 hover:text-foreground`),children:[(0,Z.jsx)(Lr,{className:`h-3 w-3 shrink-0 text-warning`}),(0,Z.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:s??e(`activity:agents.leaderTab`)})]}),d.map(e=>{let n=vf[e.status]??vf.stopped,r=c===e.id;return(0,Z.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":r,title:e.description?A(e.description,180):e.name,onClick:()=>{l(e.id,t),K.getState().setCurrentView(`chat`)},className:G(`flex shrink-0 items-center gap-1.5 rounded-md px-2 py-0.5 text-[11px] font-medium transition-colors border`,r?`bg-primary/15 text-primary border-primary/30 shadow-xs`:`text-muted-foreground border-transparent hover:bg-muted/50 hover:text-foreground`),children:[(0,Z.jsx)(`span`,{className:G(`led shrink-0`,n.led,n.pulse&&`led-pulse`),"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:e.name})]},e.id)})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pl-2 border-l border-border/30`,children:[i?(0,Z.jsxs)(`div`,{className:`inline-flex items-center gap-1`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] font-medium text-primary bg-primary/10 px-1.5 py-0.5 rounded border border-primary/20`,children:[(0,Z.jsx)(mr,{className:`h-2.5 w-2.5 animate-spin`}),(0,Z.jsx)(`span`,{children:`Processing...`})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{B().sendAbort(t??void 0),q.getState().setLoading(!1)},title:e(`chat:input.abortTitle`,`Stop/Abort`),"aria-label":e(`chat:input.abortTitle`,`Stop/Abort`),className:`inline-flex items-center gap-1 text-[10px] font-medium text-destructive bg-destructive/10 hover:bg-destructive/20 px-1.5 py-0.5 rounded border border-destructive/20 transition-colors`,children:[(0,Z.jsx)(lt,{className:`h-2 w-2 fill-current`}),(0,Z.jsx)(`span`,{children:`Stop`})]})]}):(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground bg-muted/40 px-1.5 py-0.5 rounded border border-border/40`,children:[(0,Z.jsx)(wr,{className:`h-2.5 w-2.5 text-success`}),(0,Z.jsx)(`span`,{children:`Waiting for next prompt`})]}),d.length>0&&(0,Z.jsxs)(`span`,{className:`text-[10px] font-mono text-muted-foreground hidden md:inline`,children:[f>0?(0,Z.jsxs)(`span`,{className:`text-success font-semibold`,children:[f,` active`]}):null,f>0&&p>0?` · `:null,p>0?(0,Z.jsxs)(`span`,{children:[p,` finished`]}):null]})]})]})}function bf(e,t){return e!=null&&!t}function xf({label:e,value:t,onChange:n}){return(0,Z.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":t,onClick:n,className:`inline-flex items-center gap-1.5 text-[11px] text-muted-foreground/75 hover:text-foreground/80 transition-colors select-none`,children:[(0,Z.jsx)(`span`,{className:G(`relative inline-block h-3.5 w-6 rounded-full border transition-colors shrink-0`,t?`bg-primary border-primary/60`:`bg-muted/70 border-border/60`),children:(0,Z.jsx)(`span`,{className:G(`absolute top-[1px] left-[1px] h-2.5 w-2.5 rounded-full bg-background shadow transition-transform`,t&&`translate-x-2.5`)})}),(0,Z.jsx)(`span`,{children:e})]})}function Sf({hasStatusContent:e,totalTokens:t,rowsCount:n,iteration:r,startTime:i,formatDuration:a,onToggleAutoCollapse:o}){let{t:s}=H(),c=U(e=>e.showThinkingLogs),l=U(e=>e.groupToolCalls),u=U(e=>e.autoCollapseInput),d=K(e=>e.compactMode);return(0,Z.jsxs)(`div`,{className:`ws-display-toggles flex max-w-6xl mx-auto px-2 pb-1.5 items-center gap-3 text-[11px] text-muted-foreground/75 select-none overflow-x-auto min-h-[1.75rem]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,Z.jsx)(xf,{label:s(`activity:chatView.reasoning`),value:c,onChange:()=>{U.getState().set({showThinkingLogs:!U.getState().showThinkingLogs})}}),(0,Z.jsx)(`span`,{className:`opacity-30`,children:`|`}),(0,Z.jsx)(xf,{label:s(`activity:chatView.groupTools`),value:l,onChange:()=>{U.getState().set({groupToolCalls:!U.getState().groupToolCalls})}}),(0,Z.jsx)(`span`,{className:`opacity-30`,children:`|`}),(0,Z.jsx)(xf,{label:s(`activity:chatView.compact`),value:d,onChange:()=>K.getState().toggleCompactMode()}),(0,Z.jsx)(`span`,{className:`opacity-30`,children:`|`}),(0,Z.jsx)(xf,{label:s(`activity:chatView.autoCollapse`),value:u,onChange:o})]}),e&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`opacity-20 grow min-w-[1rem]`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 tabular-nums text-[10px] text-muted-foreground/70 shrink-0`,children:[t.input>0&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`${t.input.toLocaleString()} tokens in`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground/80`,children:is(t.input)}),(0,Z.jsx)(`span`,{className:`text-[9px]`,children:`in`})]}),t.output>0&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`${t.output.toLocaleString()} tokens out`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground/80`,children:is(t.output)}),(0,Z.jsx)(`span`,{className:`text-[9px]`,children:`out`})]}),n>0&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:s(`activity:chatView.messages`),children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground/80`,children:n}),(0,Z.jsx)(`span`,{className:`text-[9px]`,children:`msgs`})]}),r?.index&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-primary/70`,title:s(`activity:chatView.currentIteration`),children:[(0,Z.jsx)(`span`,{className:`font-medium`,children:r.index}),(0,Z.jsx)(`span`,{className:`text-[9px]`,children:`iter`})]}),i&&(0,Z.jsx)(`span`,{className:`tabular-nums text-muted-foreground/50`,children:a(i)})]})]}),(0,Z.jsx)(`span`,{className:`opacity-20 ml-2 text-[9px] shrink-0`,children:(0,Z.jsx)(`kbd`,{className:`font-mono text-[9px] border rounded px-1 py-0.5 bg-muted/40`,children:`?`})})]})}var Cf=[{mode:`off`,labelKey:`labelOff`,descKey:`descOff`,icon:(0,Z.jsx)(Ht,{className:`h-3.5 w-3.5`})},{mode:`suggest`,labelKey:`labelSuggest`,descKey:`descSuggest`,icon:(0,Z.jsx)(an,{className:`h-3.5 w-3.5`})},{mode:`auto`,labelKey:`labelAuto`,descKey:`descAuto`,icon:(0,Z.jsx)(qt,{className:`h-3.5 w-3.5`})},{mode:`eternal`,labelKey:`labelEternal`,descKey:`descEternal`,icon:(0,Z.jsx)(li,{className:`h-3.5 w-3.5`})},{mode:`eternal-parallel`,labelKey:`labelEternalParallel`,descKey:`descEternalParallel`,icon:(0,Z.jsx)(li,{className:`h-3.5 w-3.5`})}];function wf({value:e,onChange:t,className:n,compact:r=!1}){let{t:i}=H(),[a,o]=(0,X.useState)(!1),s=(0,X.useRef)(null);(0,X.useEffect)(()=>{if(!a)return;let e=e=>{s.current&&!s.current.contains(e.target)&&o(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[a]),(0,X.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&o(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]);let c=Cf.find(t=>t.mode===e);return(0,Z.jsxs)(`div`,{ref:s,className:`relative`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:G(`flex items-center gap-1 px-2 py-0.5 rounded-md border text-[11px] font-medium transition-colors hover:opacity-80`,e===`eternal`||e===`eternal-parallel`?`bg-destructive/15 text-destructive border-destructive/30`:e===`auto`?`bg-warning/15 text-warning border-warning/30`:e===`suggest`?`bg-info/15 text-info border-info/30`:`bg-muted text-muted-foreground border-transparent`,n),title:i(`activity:autonomy.titlePrefix`,{label:c?i(`activity:autonomy.${c.labelKey}`):e}),children:[c?.icon,!r&&(0,Z.jsx)(`span`,{className:`truncate max-w-[7rem]`,children:c?i(`activity:autonomy.${c.labelKey}`):e}),(0,Z.jsx)(pr,{className:`h-3 w-3 opacity-60`})]}),a&&(0,Z.jsxs)(`div`,{className:`absolute top-full mt-1 right-0 z-50 w-56 rounded-lg border bg-popover shadow-lg p-1`,children:[(0,Z.jsx)(`div`,{className:`px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground border-b mb-1`,children:i(`activity:autonomy.heading`)}),Cf.map(n=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{t(n.mode),o(!1)},className:G(`w-full flex items-start gap-2 px-3 py-2 rounded text-left transition-colors`,e===n.mode?`bg-accent text-accent-foreground`:`hover:bg-accent/40`),children:[(0,Z.jsx)(`span`,{className:`mt-0.5 text-muted-foreground`,children:n.icon}),(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:i(`activity:autonomy.${n.labelKey}`)}),(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground leading-snug`,children:i(`activity:autonomy.${n.descKey}`)})]}),e===n.mode&&(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary mt-2 shrink-0`})]},n.mode))]})]})}function Tf(){let{t:e}=H(),t=j(e=>e.contextMode),n=j(e=>e.contextModes),{listContextModes:r,switchContextMode:i,client:a}=aa(),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(!1),u=(0,X.useRef)(null),f=(0,X.useRef)(null);(0,X.useEffect)(()=>{o&&r()},[o,r]),(0,X.useEffect)(()=>{if(!o)return;let e=e=>{u.current?.contains(e.target)||s(!1)},t=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]),(0,X.useEffect)(()=>{if(!c)return;let e=e=>{f.current?.contains(e.target)||l(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[c]);let p=(0,X.useCallback)(e=>{a?.compactContext?.(e),l(!1),s(!1)},[a]),m=(0,X.useCallback)(()=>{a?.repairContext?.(),l(!1),s(!1)},[a]),h=n.length>0?n:[{id:`balanced`,name:e(`activity:ctxMode.fallbackName`),description:e(`activity:ctxMode.fallbackDesc`),thresholds:{warn:.6,soft:.75,hard:.9},preserveK:10,eliseThreshold:2e3}],g=h.find(e=>e.id===t)??d(h[0]);return(0,Z.jsxs)(`div`,{ref:u,className:`relative shrink-0`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:G(`flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium`,`bg-success/10 text-success hover:bg-success/15 transition-colors border border-transparent hover:border-success/30`),title:e(`activity:ctxMode.triggerTitle`),children:[(0,Z.jsx)(at,{className:`h-3 w-3`}),e(`activity:ctxMode.ctxPrefix`),` `,(0,Z.jsx)(`span`,{className:`font-mono`,children:t||g.id}),(0,Z.jsx)(pr,{className:`h-3 w-3 opacity-60`})]}),(0,Z.jsxs)(`div`,{ref:f,className:`relative`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>l(e=>!e),className:G(`flex items-center justify-center h-5 w-5 rounded-full`,`text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors`,c&&`bg-accent/50 text-foreground`),title:e(`activity:ctxMode.opsHeading`),children:(0,Z.jsx)(si,{className:`h-3 w-3`})}),c&&(0,Z.jsxs)(`div`,{className:`absolute top-full right-0 mt-1 w-52 rounded-md border bg-popover shadow-lg z-40 py-1`,children:[(0,Z.jsx)(`div`,{className:`px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground border-b`,children:e(`activity:ctxMode.opsHeading`)}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>p(!1),className:`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-center gap-2`,children:[(0,Z.jsx)(lr,{className:`h-3.5 w-3.5 shrink-0 text-warning`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-xs`,children:e(`activity:ctxMode.compactNow`)}),(0,Z.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMode.compactNowDesc`)})]})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>p(!0),className:`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-center gap-2`,children:[(0,Z.jsx)(lr,{className:`h-3.5 w-3.5 shrink-0 text-destructive`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-xs`,children:e(`activity:ctxMode.compactAggressive`)}),(0,Z.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMode.compactAggressiveDesc`)})]})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:m,className:`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-center gap-2`,children:[(0,Z.jsx)(si,{className:`h-3.5 w-3.5 shrink-0 text-info`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-xs`,children:e(`activity:ctxMode.repairContext`)}),(0,Z.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMode.repairDesc`)})]})]}),(0,Z.jsx)(`div`,{className:`border-t mt-1 pt-1 px-3 py-1.5`,children:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{document.dispatchEvent(new CustomEvent(`open:context-breakdown`)),l(!1),s(!1)},className:`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-center gap-2`,children:[(0,Z.jsx)(Jn,{className:`h-3.5 w-3.5 shrink-0 text-success`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-xs`,children:e(`activity:ctxMode.debugContext`)}),(0,Z.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMode.debugDesc`)})]})]})})]})]})]}),o&&(0,Z.jsxs)(`div`,{className:`absolute top-full right-0 mt-1 w-80 rounded-md border bg-popover shadow-lg z-30 py-1`,children:[(0,Z.jsx)(`div`,{className:`px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground border-b`,children:e(`activity:ctxMode.windowHeading`)}),h.map(n=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{i(n.id),s(!1)},className:G(`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-start gap-2`,n.id===t&&`bg-accent/30`),children:[(0,Z.jsx)(ai,{className:G(`h-3.5 w-3.5 mt-0.5 shrink-0`,n.id===t?`opacity-100 text-primary`:`opacity-0`)}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-xs font-mono`,children:n.id}),n.thresholds?.warn!==void 0&&(0,Z.jsxs)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:[Math.round(n.thresholds.warn*100),`/`,Math.round(n.thresholds.soft*100),`/`,Math.round(n.thresholds.hard*100),`%`]})]}),(0,Z.jsx)(`div`,{className:`text-[11px] text-muted-foreground leading-snug`,children:n.description}),(n.preserveK||n.eliseThreshold)&&(0,Z.jsx)(`div`,{className:`mt-1 text-[10px] text-muted-foreground/80`,children:e(`activity:ctxMode.keepElide`,{k:n.preserveK??`-`,t:n.eliseThreshold??`-`})})]})]},n.id))]})]})}function Ef(){let{t:e}=H(),t=j(e=>e.cost),n=j(e=>e.inputCost),r=j(e=>e.outputCost),i=j(e=>e.cacheReadCost),a=q(e=>e.messages),[o,s]=(0,X.useState)(!1),c=(0,X.useRef)(null);(0,X.useEffect)(()=>{if(!o)return;let e=e=>{c.current?.contains(e.target)||s(!1)},t=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]);let l=(()=>{let e=[];for(let t of a)t.role===`assistant`&&t.runSummary&&t.runSummary.costDelta>0&&e.push({id:t.id,preview:t.content.slice(0,80).replace(/\s+/g,` `).trim()||`(empty)`,cost:t.runSummary.costDelta,tools:t.runSummary.tools,ms:t.runSummary.durationMs,ts:t.timestamp});return e.sort((e,t)=>t.cost-e.cost),e.slice(0,5)})(),u=e=>e>=.01?`$${e.toFixed(4)}`:e>0?`$${e.toFixed(6).replace(/0+$/,``).replace(/\.$/,``)}`:`$0`,d=n>0||r>0;return(0,Z.jsxs)(`div`,{ref:c,className:`relative inline-block`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:G(`font-medium text-success hover:underline tabular-nums`),title:e(`activity:cost.clickTitle`),children:[`$`,t.toFixed(4)]}),o&&(0,Z.jsxs)(`div`,{className:`absolute right-0 top-full mt-1 z-30 w-80 rounded-md border bg-popover shadow-lg p-3 text-foreground`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,Z.jsx)(`span`,{className:`text-xs uppercase tracking-wider text-muted-foreground font-medium`,children:e(`activity:cost.heading`)}),(0,Z.jsx)(`span`,{className:`font-mono tabular-nums text-sm font-semibold text-success`,children:u(t)})]}),d?(0,Z.jsxs)(`div`,{className:`text-[11px] text-muted-foreground font-mono mb-3 border-b pb-2`,children:[(0,Z.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Z.jsx)(`span`,{children:e(`activity:costChip.input1m`)}),(0,Z.jsxs)(`span`,{children:[`$`,n.toFixed(2)]})]}),(0,Z.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Z.jsx)(`span`,{children:e(`activity:costChip.output1m`)}),(0,Z.jsxs)(`span`,{children:[`$`,r.toFixed(2)]})]}),i>0&&(0,Z.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Z.jsx)(`span`,{children:e(`activity:costChip.cache1m`)}),(0,Z.jsxs)(`span`,{children:[`$`,i.toFixed(2)]})]})]}):(0,Z.jsx)(`div`,{className:`text-[11px] text-muted-foreground italic mb-3 border-b pb-2`,children:e(`activity:cost.noPricing`)}),l.length===0?(0,Z.jsx)(`div`,{className:`text-xs text-muted-foreground italic`,children:e(`activity:cost.noTurns`)}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground/80 mb-1`,children:e(`activity:cost.topExpensive`,{count:l.length})}),(0,Z.jsx)(`ul`,{className:`space-y-1`,children:l.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{let t=document.querySelector(`[data-message-id="${e.id}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`center`}),s(!1)},className:`w-full text-left rounded px-2 py-1.5 hover:bg-accent/40 transition-colors`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-xs truncate`,children:e.preview}),(0,Z.jsx)(`span`,{className:`text-xs font-mono tabular-nums text-success shrink-0`,children:u(e.cost)})]}),(0,Z.jsxs)(`div`,{className:`text-[10px] text-muted-foreground font-mono mt-0.5`,children:[e.tools,` tool`,e.tools===1?``:`s`,` · `,(e.ms/1e3).toFixed(1),`s`]})]})},e.id))})]})]})]})}function Df(){let{t:e}=H(),t=j(e=>e.mode),n=j(e=>e.modes),{listModes:r,switchMode:i}=aa(),[a,o]=(0,X.useState)(!1),s=(0,X.useRef)(null);(0,X.useEffect)(()=>{a&&r()},[a,r]),(0,X.useEffect)(()=>{if(!a)return;let e=e=>{s.current?.contains(e.target)||o(!1)},t=e=>{e.key===`Escape`&&o(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[a]);let c=n.length>0?n:[{id:`default`,name:e(`activity:mode.defaultName`),description:e(`activity:mode.defaultDesc`)}];return(0,Z.jsxs)(`div`,{ref:s,className:`relative shrink-0`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:G(`flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium`,`bg-accent/40 text-foreground hover:bg-accent transition-colors border border-transparent hover:border-primary/30`),title:e(`activity:mode.activeTitle`),children:[e(`activity:mode.modePrefix`),` `,(0,Z.jsx)(`span`,{className:`font-mono`,children:t||`default`}),(0,Z.jsx)(pr,{className:`h-3 w-3 opacity-60`})]}),a&&(0,Z.jsxs)(`div`,{className:`absolute top-full left-0 z-30 mt-1 max-h-[min(24rem,calc(100vh-6rem))] w-64 overflow-y-auto rounded-md border bg-popover py-1 shadow-lg`,children:[(0,Z.jsx)(`div`,{className:`sticky top-0 z-10 border-b bg-popover px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground`,children:e(`activity:mode.heading`)}),c.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{i(e.id),o(!1)},className:G(`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-start gap-2`,e.id===t&&`bg-accent/30`),children:[(0,Z.jsx)(ai,{className:G(`h-3.5 w-3.5 mt-0.5 shrink-0`,e.id===t?`opacity-100 text-primary`:`opacity-0`)}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`text-xs font-mono`,children:e.id}),e.description&&(0,Z.jsx)(`div`,{className:`text-[11px] text-muted-foreground leading-snug`,children:e.description})]})]},e.id))]})]})}function Of({sidebarOpen:e,toggleSidebar:t,agentState:n,stateTone:r,sessionId:i,renamingTitle:a,setRenamingTitle:o,titleDraft:s,setTitleDraft:c,nickname:l,sessionTitle:u,setSessionNickname:d,historyEntries:f,switcherRef:p,switcherOpen:m,setSwitcherOpen:h,handleHistorySelect:g,iteration:_,autonomy:v,handleAutonomyChange:y,memoryPanelOpen:b,setMemoryPanelOpen:x,activeMemoryCount:S,processOpen:C,setProcessOpen:w,checkpointOpen:T,setCheckpointOpen:E,toolStatsOpen:D,setToolStatsOpen:O,hasStatusContent:k,lastInputTokens:A,ctxPct:j,maxContext:M,cacheStats:ee,setBreakdownOpen:N,contextLimitWarning:P,setEditorOpen:F,totalTokens:te,startTime:ne,formatDuration:I}){let{t:L}=H(),R=Math.max(0,te.cacheRead??0),re=Math.max(0,te.input+R+(te.cacheWrite??0)),ie=Math.max(0,re-R),ae=re>0?Math.min(100,Math.max(0,R/re*100)):0,z=re>0?100-ae:0;return(0,Z.jsxs)(`header`,{className:`flex flex-col border-b border-border/70 bg-card/90 backdrop-blur-xl supports-[backdrop-filter]:bg-card/80 shrink-0 sticky top-0 z-20 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 px-3 py-2 sm:px-4`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-[1_1_18rem] items-center gap-1.5 overflow-hidden`,children:[!e&&(0,Z.jsx)(Y,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,onClick:t,title:L(`chat:header.openSidebarTitle`),children:(0,Z.jsx)(on,{className:`h-4 w-4`})}),!e&&(0,Z.jsx)(`div`,{className:`flex items-center gap-1.5 shrink-0 mr-1`,children:(0,Z.jsx)(`div`,{className:`w-5 h-5 rounded-md bg-primary flex items-center justify-center`,children:(0,Z.jsx)(lr,{className:`h-3 w-3 text-primary-foreground`})})}),(0,Z.jsxs)(`span`,{className:G(`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[11px] font-medium shrink-0 tabular-nums`,r),title:`Agent state: ${n}`,children:[n!==`idle`&&(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-current animate-pulse`}),(0,Z.jsx)(`span`,{children:n})]}),i&&(a?(0,Z.jsx)(`input`,{value:s,onChange:e=>c(e.target.value),onBlur:()=>{s.trim()&&d(i,s),o(!1)},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),s.trim()&&d(i,s),o(!1)):e.key===`Escape`&&(e.preventDefault(),o(!1))},placeholder:L(`chat:sessionNamePlaceholder`),className:`h-6 px-1.5 text-[11px] bg-background border border-primary/40 rounded-md focus:outline-none focus:ring-1 focus:ring-ring shrink-0 w-36`}):(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{c(l||u||``),o(!0)},className:`flex items-center gap-1 text-[11px] font-medium text-foreground/80 hover:text-foreground truncate max-w-[12rem] shrink-0 px-1 -mx-1 rounded-md hover:bg-muted/50 transition-colors`,title:L(`chat:header.renameTitle`),children:[(0,Z.jsx)(Mr,{className:`h-2.5 w-2.5 text-muted-foreground shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:l||u||L(`chat:header.untitled`)})]}))]}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-[0_1_auto] flex-wrap items-center justify-end gap-1.5`,children:[f.length>1&&(0,Z.jsxs)(`div`,{ref:p,className:`relative shrink-0`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>h(e=>!e),className:`flex items-center gap-0.5 px-1 py-0.5 rounded-md text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors`,title:L(`chat:switchSession`),children:[(0,Z.jsx)(Wn,{className:`h-3 w-3`}),(0,Z.jsx)(pr,{className:`h-2.5 w-2.5`})]}),m&&(0,Z.jsx)(`div`,{className:`absolute left-0 top-full mt-1 z-40 w-64 rounded-md border border-border/70 bg-popover shadow-xl p-1 max-h-60 overflow-y-auto`,children:f.slice(0,15).map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>g(e.id),className:G(`w-full text-left px-2 py-1.5 rounded text-xs hover:bg-accent transition-colors`,e.isCurrent&&`bg-primary/10`),children:[(0,Z.jsx)(`div`,{className:`font-medium truncate`,children:e.title||L(`chat:empty`)}),(0,Z.jsxs)(`div`,{className:`text-[10px] text-muted-foreground font-mono break-words`,children:[e.provider,`/`,e.model,` · `,e.tokenTotal.toLocaleString(),` tok`]})]},e.id))})]}),(0,Z.jsxs)(`div`,{className:`hidden md:flex items-center gap-1.5 shrink-0`,children:[(0,Z.jsx)(Df,{}),(0,Z.jsx)(Tf,{})]}),_&&(0,Z.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[11px] font-medium bg-primary/10 text-primary shrink-0 hover:bg-primary/20 transition-colors cursor-pointer`,title:L(`chat:header.iterationTitle`),onClick:()=>document.getElementById(`chat-activity`)?.scrollIntoView({behavior:`smooth`,block:`center`}),children:[(0,Z.jsx)(li,{className:`h-3 w-3 animate-pulse`}),`iter `,_.index,_.max>0?`/${_.max}`:``]}),(0,Z.jsx)(wf,{value:v,onChange:y,compact:!0})]}),(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-0.5 shrink-0`,children:[(0,Z.jsxs)(Y,{variant:D?`secondary`:`ghost`,size:`icon`,className:G(`h-7 w-7 relative`,D&&`bg-primary/10 text-primary`),onClick:()=>O(e=>!e),title:L(`chat:header.toolStatsTitle`,`Tool call stats`),children:[(0,Z.jsx)(si,{className:`h-4 w-4`}),D&&(0,Z.jsx)(`span`,{className:`absolute -bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-primary`})]}),(0,Z.jsxs)(Y,{variant:b?`secondary`:`ghost`,size:`icon`,className:G(`h-7 w-7 relative`,b&&`bg-primary/10 text-primary`),onClick:()=>x(e=>!e),title:L(`chat:header.memoryContextTitle`,`Memory context`),children:[(0,Z.jsx)(Qn,{className:`h-4 w-4`}),S>0&&(0,Z.jsx)(`span`,{className:`absolute -top-0.5 -right-0.5 min-w-3.5 h-3.5 px-0.5 rounded-full bg-primary text-primary-foreground text-[9px] font-bold flex items-center justify-center tabular-nums`,children:S}),b&&(0,Z.jsx)(`span`,{className:`absolute -bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-primary`})]}),(0,Z.jsxs)(Y,{variant:C?`secondary`:`ghost`,size:`icon`,className:G(`h-7 w-7 relative`,C&&`bg-warning/10 text-warning`),onClick:()=>w(e=>!e),title:L(`chat:header.runningProcessesTitle`),children:[(0,Z.jsx)(rt,{className:`h-4 w-4`}),C&&(0,Z.jsx)(`span`,{className:`absolute -bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-warning`})]}),(0,Z.jsxs)(Y,{variant:T?`secondary`:`ghost`,size:`icon`,className:G(`h-7 w-7 relative`,T&&`bg-primary/10 text-primary`),onClick:()=>E(e=>!e),title:L(`chat:header.checkpointsTitle`),children:[(0,Z.jsx)(Wn,{className:`h-4 w-4`}),T&&(0,Z.jsx)(`span`,{className:`absolute -bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-primary`})]})]})]}),k&&(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 overflow-x-auto border-t border-border/60 bg-muted/20 px-3 py-1 text-[11px] text-muted-foreground sm:px-4`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-max items-center gap-3 tabular-nums`,children:[A>0&&(0,Z.jsx)(ec,{pct:j,tokens:A,maxTokens:M>0?M:void 0,...ee?{cache:ee}:{},onClick:()=>N(!0)}),P&&(0,Z.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-1 rounded-md border border-warning/40 bg-warning/10 px-2 py-0.5 font-medium text-warning`,title:L(`activity:chatView.providerLimitDecreased`,{previous:P.previousMaxContext.toLocaleString(),current:P.maxContext.toLocaleString()}),children:[(0,Z.jsx)(zr,{className:`h-3 w-3`}),L(`activity:chatView.providerLimit`,{limit:is(P.maxContext)})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>F(!0),className:`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[11px] text-muted-foreground/70 hover:text-foreground hover:bg-accent transition-colors shrink-0`,title:L(`activity:chatView.editContextWindow`),children:[(0,Z.jsx)(vr,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:L(`activity:chatView.edit`)})]}),re>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`Total prompt context`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:is(re)}),(0,Z.jsx)(`span`,{children:`context`})]}),R>0&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`Prompt cache reads`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:is(R)}),(0,Z.jsxs)(`span`,{children:[`cached (`,ae.toFixed(1),`%)`]})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`Fresh/uncached prompt tokens`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:is(ie)}),(0,Z.jsxs)(`span`,{children:[`fresh (`,z.toFixed(1),`%)`]})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`Completion tokens`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:is(te.output)}),(0,Z.jsx)(`span`,{children:`completion`})]}),(0,Z.jsx)(Ef,{})]})]}),ne&&(0,Z.jsx)(`span`,{className:`text-muted-foreground/70 tabular-nums shrink-0`,children:I(ne)})]})]})}function kf(e){if(!e.includes(`🧠`))return null;let t=e.includes(`Brain intervention`),n=e.includes(`Brain check`),r=e.includes(`Denied:`)||e.includes(`denied`),i=e.includes(`needs human judgement`)||e.includes(`escalated this question`);if(!t&&!n&&!r&&!i&&!e.startsWith(`🧠`))return null;let a=e.split(`
94
+ `):e.content}function nf(){let{t:e}=H(),t=K(e=>e.searchOpen),n=K(e=>e.setSearchOpen),r=K(e=>e.searchQuery),i=K(e=>e.setSearchQuery),a=q(e=>e.messages),o=K(e=>e.requestScrollToMessage),s=K(e=>e.setSearchActiveMessageId),c=(0,X.useRef)(null),[l,u]=(0,X.useState)(0),[d,f]=(0,X.useState)(0);(0,X.useEffect)(()=>{t&&requestAnimationFrame(()=>c.current?.focus())},[t]);let p=()=>{n(!1),requestAnimationFrame(()=>document.querySelector(`textarea`)?.focus())};(0,X.useEffect)(()=>{let e=document.createElement(`style`);return e.textContent=ef,document.head.appendChild(e),()=>{document.head.removeChild(e)}},[]);let m=(0,X.useMemo)(()=>{let e=r.trim().toLowerCase();return e?a.filter(t=>tf(t).toLowerCase().includes(e)).map(e=>e.id):[]},[a,r]);(0,X.useEffect)(()=>{l>=m.length&&u(0)},[m,l]),(0,X.useEffect)(()=>{s(t&&r.trim()?m[l]??null:null)},[t,r,m,l,s]),(0,X.useEffect)(()=>{let e=window,n=e.CSS?.highlights,i=e.Highlight;if(!n||!i)return;let a=()=>{n.delete(`chat-search`),n.delete(`chat-search-active`)},o=r.trim();if(!o||!t){a();return}let s=o.toLowerCase(),c=[],u=[],d=m[l];for(let e of document.querySelectorAll(`[data-message-id]`)){let t=e.dataset.messageId===d,n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=n.nextNode();for(;r;){let e=r.nodeValue??``;if(e.length>0){let n=e.toLowerCase(),i=0;for(;i<=n.length-s.length;){let e=n.indexOf(s,i);if(e===-1)break;let a=document.createRange();a.setStart(r,e),a.setEnd(r,e+s.length),c.push(a),t&&u.push(a),i=e+s.length}}r=n.nextNode()}}return c.length>0?n.set(`chat-search`,new i(...c)):n.delete(`chat-search`),u.length>0?n.set(`chat-search-active`,new i(...u)):n.delete(`chat-search-active`),a},[r,m,l,t,d]);let h=m[l];if((0,X.useEffect)(()=>{if(!h)return;o(h);let e=0,t=requestAnimationFrame(function n(){f(e=>e+1),++e<3&&(t=requestAnimationFrame(n))});return()=>cancelAnimationFrame(t)},[h,o]),!t)return null;let g=e=>{m.length!==0&&u(t=>(t+e+m.length)%m.length)};return(0,Z.jsx)(`div`,{className:`absolute top-2 right-4 z-30 w-[28rem] max-w-[calc(100%-2rem)] rounded-lg border bg-popover shadow-xl`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[(0,Z.jsx)(yi,{className:`h-4 w-4 text-muted-foreground shrink-0`}),(0,Z.jsx)(`input`,{ref:c,value:r,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Escape`?(e.preventDefault(),p()):e.key===`Enter`?(e.preventDefault(),g(e.shiftKey?-1:1)):e.key===`ArrowDown`?(e.preventDefault(),g(1)):e.key===`ArrowUp`&&(e.preventDefault(),g(-1))},placeholder:e(`activity:search.placeholder`),className:`flex-1 bg-transparent outline-none text-sm placeholder:text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums shrink-0`,children:m.length===0?r?`0`:``:`${l+1} / ${m.length}`}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>g(-1),disabled:m.length===0,className:G(`p-1 rounded hover:bg-muted disabled:opacity-30 disabled:cursor-not-allowed`),title:e(`activity:search.prevHit`),"aria-label":e(`activity:search.prevHit`),children:(0,Z.jsx)(Bt,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>g(1),disabled:m.length===0,className:G(`p-1 rounded hover:bg-muted disabled:opacity-30 disabled:cursor-not-allowed`),title:e(`activity:search.nextHit`),"aria-label":e(`activity:search.nextHit`),children:(0,Z.jsx)(Fe,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:p,className:`p-1 rounded hover:bg-muted text-muted-foreground`,title:e(`activity:search.close`),"aria-label":e(`activity:search.close`),children:(0,Z.jsx)(hr,{className:`h-3.5 w-3.5`})})]})})}function rf(){return{started:0,ok:0,failed:0,totalMs:0}}function af(e,t){e.started+=t.started,e.ok+=t.ok,e.failed+=t.failed,e.totalMs+=t.totalMs}function of(e,t){let n=e+t;return n>0?e/n*100:null}function sf(e){return e===null?`--`:`${e.toFixed(0)}%`}function cf(e){return e<=0?`--`:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(1)}s`}function lf({ok:e,failed:t,inFlight:n}){let r=Math.max(1,e+t+n);return(0,Z.jsxs)(`span`,{className:`relative inline-block h-2 w-full min-w-16 overflow-hidden rounded-full bg-muted/60 align-middle ring-1 ring-inset ring-border/20`,children:[(0,Z.jsx)(`span`,{className:`absolute inset-y-0 left-0 bg-success transition-all duration-500`,style:{width:`${e/r*100}%`}}),(0,Z.jsx)(`span`,{className:`absolute inset-y-0 bg-destructive transition-all duration-500`,style:{left:`${e/r*100}%`,width:`${t/r*100}%`}})]})}function uf({label:e,value:t,tone:n}){return(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col rounded-lg border border-border/50 bg-muted/20 px-2.5 py-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-[10px] uppercase tracking-wider text-muted-foreground`,children:e}),(0,Z.jsx)(`span`,{className:G(`font-mono text-sm font-bold tabular-nums`,n),children:t})]})}function df({name:e,bucket:t}){let n=t.ok+t.failed,r=n>0?t.totalMs/n:0;return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 text-xs rounded hover:bg-muted/40 transition-colors`,children:[(0,Z.jsx)(si,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`font-mono truncate flex-1 min-w-0`,title:e,children:e}),(0,Z.jsxs)(`span`,{className:`tabular-nums text-muted-foreground w-12 text-right`,children:[t.started,`×`]}),(0,Z.jsx)(lf,{ok:t.ok,failed:t.failed,inFlight:0}),(0,Z.jsx)(`span`,{className:`tabular-nums text-success w-8 text-right`,children:t.ok}),(0,Z.jsx)(`span`,{className:`tabular-nums text-destructive w-8 text-right`,children:t.failed}),(0,Z.jsx)(`span`,{className:`tabular-nums text-muted-foreground w-14 text-right`,children:cf(r)})]})}function ff({open:e,onClose:t}){let{t:n}=H(),r=xe(e=>e.sessions),i=K(e=>e.sessionNicknames),o=a(e=>e.entries),[s,c]=(0,X.useState)(!1);(0,X.useEffect)(()=>{if(!e){c(!1);return}requestAnimationFrame(()=>requestAnimationFrame(()=>c(!0)))},[e]),(0,X.useEffect)(()=>{if(!e)return;let n=e=>{e.key===`Escape`&&t()};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e,t]);let l=(0,X.useMemo)(()=>Object.values(r).sort((e,t)=>t.lastActivityAt-e.lastActivityAt),[r]),u=(0,X.useMemo)(()=>{let e=rf(),t=0,n=0,r=0;for(let i of l){for(let t of Object.values(i.perAgent))af(e,t);t+=ge(i),n+=i.delegations.ok+i.delegations.failed,r+=i.delegations.failed}return{...e,inFlight:t,delegations:n,delegationFailures:r}},[l]),d=(0,X.useMemo)(()=>o.filter(e=>!(e.id in r)&&(e.toolCallCount??0)>0).slice(0,12),[o,r]);if(!e)return null;let f=l.length>0,p=of(u.ok,u.failed);return(0,Z.jsx)(`div`,{className:G(`fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm transition-opacity duration-200`,s?`opacity-100`:`opacity-0`),onClick:t,"data-testid":`tool-stats-modal`,children:(0,Z.jsxs)(`section`,{"aria-label":n(`chat:toolStats.title`,`Tool call statistics`),className:G(`flex max-h-[82vh] w-full max-w-2xl flex-col overflow-hidden rounded-xl border border-border/70 bg-card shadow-2xl transition-transform duration-200`,s?`scale-100`:`scale-95`),onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/60 px-4 py-3`,children:[(0,Z.jsx)(si,{className:`h-4 w-4 text-primary`}),(0,Z.jsx)(`h2`,{className:`text-sm font-semibold`,children:n(`chat:toolStats.title`,`Tool call statistics`)}),(0,Z.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:n(`chat:toolStats.liveScope`,`This page · live + closed sessions`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:t,className:`rounded p-1 text-muted-foreground transition-colors hover:bg-muted/50 hover:text-foreground`,title:n(`common:action.close`,`Close`),children:(0,Z.jsx)(hr,{className:`h-4 w-4`})})]}),(0,Z.jsxs)(`div`,{className:`flex-1 space-y-4 overflow-y-auto overscroll-contain p-4`,children:[(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(uf,{label:n(`chat:toolStats.calls`,`Calls`),value:u.started.toLocaleString()}),(0,Z.jsx)(uf,{label:n(`chat:toolStats.ok`,`Success`),value:`${u.ok}`,tone:`text-success`}),(0,Z.jsx)(uf,{label:n(`chat:toolStats.failed`,`Failed`),value:`${u.failed}`,tone:u.failed>0?`text-destructive`:void 0}),(0,Z.jsx)(uf,{label:n(`chat:toolStats.successRate`,`Success rate`),value:sf(p),tone:p!==null&&p<80?`text-warning`:`text-success`}),u.inFlight>0&&(0,Z.jsx)(uf,{label:n(`chat:toolStats.inFlight`,`In flight`),value:`${u.inFlight}`,tone:`text-info`}),(0,Z.jsx)(uf,{label:n(`chat:toolStats.totalDuration`,`Tool time`),value:cf(u.totalMs)})]}),(0,Z.jsx)(lf,{ok:u.ok,failed:u.failed,inFlight:u.inFlight}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`h3`,{className:`mb-1.5 flex items-center gap-1.5 text-xs font-bold uppercase tracking-wider text-foreground/80`,children:[(0,Z.jsx)(Ri,{className:`h-3.5 w-3.5 text-primary`}),n(`chat:toolStats.liveSessions`,`Open tabs`)]}),f?(0,Z.jsx)(`div`,{className:`space-y-2`,children:l.map(e=>(0,Z.jsx)(mf,{session:e,label:pf(e.sessionId,i)},e.sessionId))}):(0,Z.jsx)(`p`,{className:`rounded-lg border border-border/40 bg-muted/20 px-3 py-4 text-center text-xs text-muted-foreground`,children:n(`chat:toolStats.noLiveData`,`No tool calls recorded yet on this page. Run a prompt — stats appear here live, per tab.`)})]}),d.length>0&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`h3`,{className:`mb-1.5 flex items-center gap-1.5 text-xs font-bold uppercase tracking-wider text-foreground/80`,children:[(0,Z.jsx)(yn,{className:`h-3.5 w-3.5 text-muted-foreground`}),n(`chat:toolStats.pastSessions`,`Earlier sessions`)]}),(0,Z.jsx)(`div`,{className:`space-y-0.5 rounded-lg border border-border/40 bg-muted/10 p-2`,children:d.map(e=>{let t=Math.max(0,(e.toolCallCount??0)-(e.toolErrorCount??0)),n=e.toolErrorCount??0;return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 text-xs rounded hover:bg-muted/40 transition-colors`,children:[(0,Z.jsx)(`span`,{className:`truncate flex-1 min-w-0`,title:e.id,children:e.title||e.id.slice(0,8)}),(0,Z.jsx)(lf,{ok:t,failed:n,inFlight:0}),(0,Z.jsxs)(`span`,{className:`tabular-nums text-muted-foreground w-12 text-right`,children:[e.toolCallCount,`×`]}),(0,Z.jsx)(`span`,{className:`tabular-nums text-success w-8 text-right`,children:t}),(0,Z.jsx)(`span`,{className:`tabular-nums text-destructive w-8 text-right`,children:n}),(0,Z.jsx)(`span`,{className:`tabular-nums w-10 text-right font-mono text-muted-foreground`,children:sf(of(t,n))})]},e.id)})})]})]})]})})}function pf(e,t){return t[e]??`session ${e.slice(0,8)}`}function mf({session:e,label:t}){let{t:n}=H(),r=(0,X.useMemo)(()=>Object.entries(e.perTool).sort(([,e],[,t])=>t.started-e.started),[e.perTool]),i=(0,X.useMemo)(()=>Object.entries(e.perAgent),[e.perAgent]).filter(([e])=>e!==N),a=e.perAgent[N],o=(0,X.useMemo)(()=>{let t=rf();for(let n of Object.values(e.perAgent))af(t,n);return t},[e.perAgent]),s=ge(e),c=e.delegations;return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/50 bg-muted/10 p-2.5`,children:[(0,Z.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-xs font-semibold`,title:e.sessionId,children:t}),s>0&&(0,Z.jsx)(`span`,{className:`rounded bg-info/10 px-1.5 py-0.5 font-mono text-[10px] text-info`,children:n(`chat:toolStats.running`,`{{count}} running`,{count:s})}),(0,Z.jsxs)(`span`,{className:`ml-auto shrink-0 font-mono text-[10px] tabular-nums text-muted-foreground`,children:[sf(of(o.ok,o.failed)),` · `,o.ok,`✓ `,o.failed,`✗`]}),(0,Z.jsx)(`span`,{className:`w-24 shrink-0`,children:(0,Z.jsx)(lf,{ok:o.ok,failed:o.failed,inFlight:s})})]}),(0,Z.jsx)(`div`,{className:`space-y-0.5`,children:r.map(([e,t])=>(0,Z.jsx)(df,{name:e,bucket:t},e))}),(i.length>0||c.started>0)&&(0,Z.jsxs)(`div`,{className:`mt-2 rounded border border-border/40 bg-background/40 p-2`,children:[(0,Z.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wider text-muted-foreground`,children:[(0,Z.jsx)(Fi,{className:`h-3 w-3`}),n(`chat:toolStats.agentToAgent`,`Agent-to-agent`)]}),i.map(([e,t])=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-0.5 text-xs`,children:[(0,Z.jsx)(Fi,{className:`h-3 w-3 shrink-0 text-info`}),(0,Z.jsx)(`span`,{className:`font-mono truncate flex-1 min-w-0`,title:e,children:e}),(0,Z.jsx)(lf,{ok:t.ok,failed:t.failed,inFlight:0}),(0,Z.jsx)(`span`,{className:`tabular-nums text-success w-8 text-right`,children:t.ok}),(0,Z.jsx)(`span`,{className:`tabular-nums text-destructive w-8 text-right`,children:t.failed})]},e)),c.started>0&&(0,Z.jsxs)(`div`,{className:`mt-1 flex items-center gap-1.5 px-1 text-[11px] text-muted-foreground`,children:[(0,Z.jsx)(zr,{className:G(`h-3 w-3`,c.failed>0?`text-destructive`:`text-success`)}),n(`chat:toolStats.delegations`,`{{count}} delegated run(s)`,{count:c.ok+c.failed}),c.failed>0&&(0,Z.jsx)(`span`,{className:`text-destructive`,children:n(`chat:toolStats.delegationFailed`,`{{count}} failed`,{count:c.failed})}),(0,Z.jsx)(`span`,{className:`ml-auto tabular-nums`,children:n(`chat:toolStats.delegateToolCalls`,`{{count}} tools inside`,{count:c.toolCalls})})]})]}),a&&i.length>0&&(0,Z.jsx)(`p`,{className:`mt-1 px-1 text-[10px] text-muted-foreground/70`,children:n(`chat:toolStats.leaderLine`,`Leader: {{ok}}✓ {{failed}}✗`,{ok:a.ok,failed:a.failed})})]})}var hf=`elite-bug-hunter`;function gf(e){let t=[],n=e=>{for(let r of e)r.type===`directory`&&(r.ignored||(t.push(r.path),r.children&&n(r.children)))};return n(e),t.sort((e,t)=>e.localeCompare(t))}function _f(){let{t:e}=H(),{projectName:n,cwd:r}=j(Mn(e=>({projectName:e.projectName,cwd:e.cwd}))),{provider:i,model:a}=t(Mn(e=>({provider:e.provider,model:e.model}))),o=t(e=>e.wsConnected),s=t(e=>e.wsUrl),c=S(e=>e.tree),l=j(e=>e.session?.id),{subagentsAllowed:u,setPrefs:d}=U(Mn(e=>({subagentsAllowed:e.subagentsAllowed,setPrefs:e.set}))),{addMessage:f,setLoading:p}=q(Mn(e=>({addMessage:e.addMessage,setLoading:e.setLoading}))),[m,h]=(0,X.useState)(void 0),[g,_]=(0,X.useState)(`idle`),[v,y]=(0,X.useState)(``),[b,x]=(0,X.useState)(1),C=gf(c);(0,X.useEffect)(()=>{if(!o)return;let e=B(s),t=e.on(`providers.saved`,e=>{let t=e.payload;h(t.providers?.length??0)});return e.listSavedProviders(),()=>{t()}},[o,s]),(0,X.useEffect)(()=>{o&&B(s).send({type:`files.tree`,payload:l?{sessionId:l}:{}})},[l,o,s]);let w=(0,X.useCallback)(()=>{let e=B(s);if(!e.isConnected||g===`loading`)return;_(`loading`);let t=!1,n=()=>{},r=()=>{},i=e=>{t||(t=!0,clearTimeout(a),n(),r(),_(e))},a=setTimeout(()=>i(`error`),8e3),o=()=>{r=e.on(`prompts.content`,t=>{let n=t.payload;if(n?.slug!==hf)return;let r=n.content?.trim()??``;if(!n.found||!r){i(`error`);return}let a=v?`${v} and all of its descendants`:`the whole project`,o=ra(`${r}\n\n## WebUI run configuration (mandatory)\nThis run may complete up to ${b} proven bug ${b===1?`round`:`rounds`}. Work on only one bug at a time; after its proof, fix, verification, and cleanup are complete, continue to the next round only while below this limit. Stop early when no further proven bug is available. Stay strictly within ${a}. This configuration overrides the prompt's one-issue total limit, but not its one-issue-per-round discipline.`,{scope:v,maxBugs:b}),s=e.sendMessage(o);f({id:s,role:`user`,content:o,bugHunt:{scope:v,maxBugs:b}}),p(!0),e.send({type:`prompts.used`,payload:{slug:hf}}),i(`idle`)}),e.send({type:`prompts.content`,payload:{slug:hf}})};if(!u){o();return}n=e.on(`prefs.updated`,e=>{let t=e.payload;if(!(l&&t.sessionId!==l)&&typeof t.subagentsAllowed==`boolean`){if(t.subagentsAllowed!==!1){i(`error`);return}n(),n=()=>{},o()}}),d({subagentsAllowed:!1}),e.send({type:`prefs.update`,payload:{subagentsAllowed:!1,...l?{sessionId:l}:{}}})},[f,b,v,g,l,p,d,u,s]),T=(0,X.useCallback)(()=>{let e=!u;d({subagentsAllowed:e}),B(s).send({type:`prefs.update`,payload:{subagentsAllowed:e,...l?{sessionId:l}:{}}})},[l,d,u,s]);return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5 py-5 sm:py-7 max-w-6xl mx-auto w-full`,children:[(0,Z.jsxs)(`div`,{className:`ws-surface relative overflow-hidden rounded-xl p-5 sm:p-6`,children:[(0,Z.jsx)(`div`,{className:`absolute -top-24 -right-24 w-72 h-72 rounded-full bg-gradient-to-br from-primary/8 via-primary/5 to-transparent blur-3xl pointer-events-none`}),(0,Z.jsx)(`div`,{className:`absolute -bottom-12 -left-12 w-48 h-48 rounded-full bg-gradient-to-tr from-accent/8 to-transparent blur-3xl pointer-events-none`}),(0,Z.jsxs)(`div`,{className:`relative flex flex-col gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`img`,{src:`/wrongstack.svg`,alt:`WrongStack`,draggable:!1,className:`ws-brand-logo h-16 w-16 shrink-0 border border-border/70 shadow-sm shadow-primary/20 sm:h-20 sm:w-20`}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`h2`,{className:`text-xl font-semibold tracking-tight`,children:n?e(`setup:welcome.heroTitleInProject`,{name:n}):e(`setup:welcome.heroTitle`)}),(0,Z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground leading-relaxed`,children:e(`setup:welcome.heroSubtitle`)})]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1 pl-[76px] sm:pl-[92px]`,children:[i&&a&&(0,Z.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground/80 font-mono`,children:[i,` / `,a]}),r&&(0,Z.jsx)(`p`,{className:`truncate text-[11px] text-muted-foreground/75 font-mono`,title:r,children:e(`setup:welcome.workingDirectory`,{cwd:r})})]}),(0,Z.jsxs)(`div`,{className:`mt-2 border-t border-border/70 pt-4`,children:[(0,Z.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":!u,onClick:T,disabled:!o,className:G(`mb-3 flex w-full items-center gap-3 rounded-md border px-4 py-3 text-left transition-colors`,u?`border-border/70 bg-background/35 hover:bg-muted/45`:`border-warning/45 bg-warning/10`,`disabled:cursor-not-allowed disabled:opacity-50`),children:[(0,Z.jsx)(nn,{className:`h-5 w-5 shrink-0`}),(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`block text-sm font-semibold`,children:e(`setup:welcome.soloSessionTitle`)}),(0,Z.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:e(`setup:welcome.soloSessionBody`)})]}),(0,Z.jsx)(`span`,{className:`text-xs font-semibold uppercase`,children:e(u?`setup:welcome.off`:`setup:welcome.on`)})]}),(0,Z.jsxs)(`div`,{className:`rounded-md border border-primary/35 bg-primary/8 p-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-primary/15 text-primary`,children:g===`loading`?(0,Z.jsx)(mr,{className:`h-5 w-5 animate-spin`}):(0,Z.jsx)(Ae,{className:`h-5 w-5`})}),(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`block text-sm font-semibold`,children:e(`setup:welcome.bugHunterTitle`)}),(0,Z.jsx)(`span`,{className:`mt-0.5 block text-xs leading-relaxed text-muted-foreground`,children:e(`setup:welcome.bugHunterBody`)})]})]}),(0,Z.jsxs)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-[minmax(0,1fr)_9rem_auto]`,children:[(0,Z.jsx)(`label`,{className:`sr-only`,htmlFor:`bug-hunt-scope`,children:e(`setup:welcome.bugHunterScope`)}),(0,Z.jsxs)(`select`,{id:`bug-hunt-scope`,value:v,onChange:e=>y(e.target.value),disabled:!o||g===`loading`,className:`min-w-0 rounded-md border border-border bg-background px-3 py-2 text-sm`,children:[(0,Z.jsx)(`option`,{value:``,children:e(`setup:welcome.bugHunterWholeProject`)}),C.map(t=>(0,Z.jsx)(`option`,{value:t,children:e(`setup:welcome.bugHunterDirectoryScope`,{path:t})},t))]}),(0,Z.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border bg-background px-3 py-2 text-sm`,children:[(0,Z.jsx)(`span`,{className:`whitespace-nowrap text-muted-foreground`,children:e(`setup:welcome.bugHunterMaxBugs`)}),(0,Z.jsx)(`select`,{"aria-label":e(`setup:welcome.bugHunterMaxBugs`),value:b,onChange:e=>x(Number(e.target.value)),disabled:!o||g===`loading`,className:`min-w-0 bg-transparent font-semibold outline-none`,children:[1,2,3].map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:w,disabled:!o||m===0||g===`loading`,className:`group flex items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground transition-colors hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-50`,children:[e(`setup:welcome.bugHunterStart`),(0,Z.jsx)(Ot,{className:`h-4 w-4 transition-transform group-hover:translate-x-0.5`})]})]})]}),g===`error`&&(0,Z.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,role:`alert`,children:e(`setup:welcome.bugHunterError`)})]})]})]}),o&&m===0&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>Oa(`settings`),className:G(`group rounded-xl border bg-gradient-to-r from-warning/5 to-warning/[0.02]`,`border-warning/30 hover:border-warning/50 transition-all duration-200 shadow-sm`,`p-5 flex items-center gap-4 text-left animate-message`),children:[(0,Z.jsx)(`span`,{className:`flex items-center justify-center w-11 h-11 rounded-lg bg-gradient-to-br from-warning/20 to-warning/10 text-warning shrink-0 shadow-sm shadow-warning/10`,children:(0,Z.jsx)(Ke,{className:`h-6 w-6`})}),(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Z.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:e(`setup:welcome.noKeyTitle`)}),(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed`,children:e(`setup:welcome.noKeyBody`)})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-warning font-medium shrink-0 group-hover:translate-x-0.5 transition-transform`,children:[e(`setup:welcome.openSettings`),` `,(0,Z.jsx)(Ot,{className:`h-3.5 w-3.5`})]})]})]})}var vf={running:{led:`bg-success`,pulse:!0},completed:{led:`bg-success`,pulse:!1},failed:{led:`bg-destructive`,pulse:!1},timeout:{led:`bg-warning`,pulse:!1},stopped:{led:`bg-muted-foreground`,pulse:!1}};function yf(){let{t:e}=H(),t=P(),i=q(e=>e.isLoading),a=z(Mn(n)),o=_(t??void 0),s=z(e=>o?e.agents.get(o)?.name:void 0),c=K(e=>e.subagentChatFocusId),l=K(e=>e.setSubagentChatFocus),u=a.filter(e=>r(e.sessionId,t)),d=u.filter(e=>e.id!==o),f=d.filter(e=>e.status===`running`).length,p=d.length-f;return(0,Z.jsxs)(`div`,{role:`tablist`,"aria-label":e(`activity:agents.tabsLabel`),"data-testid":`agent-tabs`,className:`flex shrink-0 items-center justify-between gap-2 overflow-x-auto overscroll-x-contain px-3 py-1 border-b border-border/40 bg-muted/20 text-xs no-scrollbar`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,Z.jsxs)(`span`,{className:`text-[10px] font-semibold text-muted-foreground uppercase tracking-wider flex items-center gap-1 shrink-0`,children:[(0,Z.jsx)(Fi,{className:`h-3 w-3 text-primary`}),` AGENTS`,(0,Z.jsx)(`span`,{className:`rounded bg-muted/60 px-1 font-mono text-[9px] text-muted-foreground`,children:u.length})]}),(0,Z.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":c==null,onClick:()=>{l(null,t),K.getState().setCurrentView(`chat`)},className:G(`flex shrink-0 items-center gap-1 rounded-md px-2 py-0.5 text-[11px] font-medium transition-colors border`,c==null?`bg-primary/15 text-primary border-primary/30 shadow-xs`:`text-muted-foreground border-transparent hover:bg-muted/50 hover:text-foreground`),children:[(0,Z.jsx)(Lr,{className:`h-3 w-3 shrink-0 text-warning`}),(0,Z.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:s??e(`activity:agents.leaderTab`)})]}),d.map(e=>{let n=vf[e.status]??vf.stopped,r=c===e.id;return(0,Z.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":r,title:e.description?A(e.description,180):e.name,onClick:()=>{l(e.id,t),K.getState().setCurrentView(`chat`)},className:G(`flex shrink-0 items-center gap-1.5 rounded-md px-2 py-0.5 text-[11px] font-medium transition-colors border`,r?`bg-primary/15 text-primary border-primary/30 shadow-xs`:`text-muted-foreground border-transparent hover:bg-muted/50 hover:text-foreground`),children:[(0,Z.jsx)(`span`,{className:G(`led shrink-0`,n.led,n.pulse&&`led-pulse`),"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:e.name})]},e.id)})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pl-2 border-l border-border/30`,children:[i?(0,Z.jsxs)(`div`,{className:`inline-flex items-center gap-1`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] font-medium text-primary bg-primary/10 px-1.5 py-0.5 rounded border border-primary/20`,children:[(0,Z.jsx)(mr,{className:`h-2.5 w-2.5 animate-spin`}),(0,Z.jsx)(`span`,{children:`Processing...`})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{B().sendAbort(t??void 0),q.getState().setLoading(!1)},title:e(`chat:input.abortTitle`,`Stop/Abort`),"aria-label":e(`chat:input.abortTitle`,`Stop/Abort`),className:`inline-flex items-center gap-1 text-[10px] font-medium text-destructive bg-destructive/10 hover:bg-destructive/20 px-1.5 py-0.5 rounded border border-destructive/20 transition-colors`,children:[(0,Z.jsx)(lt,{className:`h-2 w-2 fill-current`}),(0,Z.jsx)(`span`,{children:`Stop`})]})]}):(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground bg-muted/40 px-1.5 py-0.5 rounded border border-border/40`,children:[(0,Z.jsx)(wr,{className:`h-2.5 w-2.5 text-success`}),(0,Z.jsx)(`span`,{children:`Waiting for next prompt`})]}),d.length>0&&(0,Z.jsxs)(`span`,{className:`text-[10px] font-mono text-muted-foreground hidden md:inline`,children:[f>0?(0,Z.jsxs)(`span`,{className:`text-success font-semibold`,children:[f,` active`]}):null,f>0&&p>0?` · `:null,p>0?(0,Z.jsxs)(`span`,{children:[p,` finished`]}):null]})]})]})}function bf(e,t){return e!=null&&!t}function xf({label:e,value:t,onChange:n}){return(0,Z.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":t,onClick:n,className:`inline-flex items-center gap-1.5 text-[11px] text-muted-foreground/75 hover:text-foreground/80 transition-colors select-none`,children:[(0,Z.jsx)(`span`,{className:G(`relative inline-block h-3.5 w-6 rounded-full border transition-colors shrink-0`,t?`bg-primary border-primary/60`:`bg-muted/70 border-border/60`),children:(0,Z.jsx)(`span`,{className:G(`absolute top-[1px] left-[1px] h-2.5 w-2.5 rounded-full bg-background shadow transition-transform`,t&&`translate-x-2.5`)})}),(0,Z.jsx)(`span`,{children:e})]})}function Sf({hasStatusContent:e,totalTokens:t,rowsCount:n,iteration:r,startTime:i,formatDuration:a,onToggleAutoCollapse:o}){let{t:s}=H(),c=U(e=>e.showThinkingLogs),l=U(e=>e.groupToolCalls),u=U(e=>e.autoCollapseInput),d=K(e=>e.compactMode);return(0,Z.jsxs)(`div`,{className:`ws-display-toggles flex max-w-6xl mx-auto px-2 pb-1.5 items-center gap-3 text-[11px] text-muted-foreground/75 select-none overflow-x-auto min-h-[1.75rem]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,Z.jsx)(xf,{label:s(`activity:chatView.reasoning`),value:c,onChange:()=>{U.getState().set({showThinkingLogs:!U.getState().showThinkingLogs})}}),(0,Z.jsx)(`span`,{className:`opacity-30`,children:`|`}),(0,Z.jsx)(xf,{label:s(`activity:chatView.groupTools`),value:l,onChange:()=>{U.getState().set({groupToolCalls:!U.getState().groupToolCalls})}}),(0,Z.jsx)(`span`,{className:`opacity-30`,children:`|`}),(0,Z.jsx)(xf,{label:s(`activity:chatView.compact`),value:d,onChange:()=>K.getState().toggleCompactMode()}),(0,Z.jsx)(`span`,{className:`opacity-30`,children:`|`}),(0,Z.jsx)(xf,{label:s(`activity:chatView.autoCollapse`),value:u,onChange:o})]}),e&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`opacity-20 grow min-w-[1rem]`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 tabular-nums text-[10px] text-muted-foreground/70 shrink-0`,children:[t.input>0&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`${t.input.toLocaleString()} tokens in`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground/80`,children:is(t.input)}),(0,Z.jsx)(`span`,{className:`text-[9px]`,children:`in`})]}),t.output>0&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`${t.output.toLocaleString()} tokens out`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground/80`,children:is(t.output)}),(0,Z.jsx)(`span`,{className:`text-[9px]`,children:`out`})]}),n>0&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:s(`activity:chatView.messages`),children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground/80`,children:n}),(0,Z.jsx)(`span`,{className:`text-[9px]`,children:`msgs`})]}),r?.index&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-primary/70`,title:s(`activity:chatView.currentIteration`),children:[(0,Z.jsx)(`span`,{className:`font-medium`,children:r.index}),(0,Z.jsx)(`span`,{className:`text-[9px]`,children:`iter`})]}),i&&(0,Z.jsx)(`span`,{className:`tabular-nums text-muted-foreground/50`,children:a(i)})]})]}),(0,Z.jsx)(`span`,{className:`opacity-20 ml-2 text-[9px] shrink-0`,children:(0,Z.jsx)(`kbd`,{className:`font-mono text-[9px] border rounded px-1 py-0.5 bg-muted/40`,children:`?`})})]})}var Cf=[{mode:`off`,labelKey:`labelOff`,descKey:`descOff`,icon:(0,Z.jsx)(Ht,{className:`h-3.5 w-3.5`})},{mode:`suggest`,labelKey:`labelSuggest`,descKey:`descSuggest`,icon:(0,Z.jsx)(an,{className:`h-3.5 w-3.5`})},{mode:`auto`,labelKey:`labelAuto`,descKey:`descAuto`,icon:(0,Z.jsx)(qt,{className:`h-3.5 w-3.5`})},{mode:`eternal`,labelKey:`labelEternal`,descKey:`descEternal`,icon:(0,Z.jsx)(li,{className:`h-3.5 w-3.5`})},{mode:`eternal-parallel`,labelKey:`labelEternalParallel`,descKey:`descEternalParallel`,icon:(0,Z.jsx)(li,{className:`h-3.5 w-3.5`})}];function wf({value:e,onChange:t,className:n,compact:r=!1}){let{t:i}=H(),[a,o]=(0,X.useState)(!1),s=(0,X.useRef)(null);(0,X.useEffect)(()=>{if(!a)return;let e=e=>{s.current&&!s.current.contains(e.target)&&o(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[a]),(0,X.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&o(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]);let c=Cf.find(t=>t.mode===e);return(0,Z.jsxs)(`div`,{ref:s,className:`relative`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:G(`flex items-center gap-1 px-2 py-0.5 rounded-md border text-[11px] font-medium transition-colors hover:opacity-80`,e===`eternal`||e===`eternal-parallel`?`bg-destructive/15 text-destructive border-destructive/30`:e===`auto`?`bg-warning/15 text-warning border-warning/30`:e===`suggest`?`bg-info/15 text-info border-info/30`:`bg-muted text-muted-foreground border-transparent`,n),title:i(`activity:autonomy.titlePrefix`,{label:c?i(`activity:autonomy.${c.labelKey}`):e}),children:[c?.icon,!r&&(0,Z.jsx)(`span`,{className:`truncate max-w-[7rem]`,children:c?i(`activity:autonomy.${c.labelKey}`):e}),(0,Z.jsx)(pr,{className:`h-3 w-3 opacity-60`})]}),a&&(0,Z.jsxs)(`div`,{className:`absolute top-full mt-1 right-0 z-50 w-56 rounded-lg border bg-popover shadow-lg p-1`,children:[(0,Z.jsx)(`div`,{className:`px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground border-b mb-1`,children:i(`activity:autonomy.heading`)}),Cf.map(n=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{t(n.mode),o(!1)},className:G(`w-full flex items-start gap-2 px-3 py-2 rounded text-left transition-colors`,e===n.mode?`bg-accent text-accent-foreground`:`hover:bg-accent/40`),children:[(0,Z.jsx)(`span`,{className:`mt-0.5 text-muted-foreground`,children:n.icon}),(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:i(`activity:autonomy.${n.labelKey}`)}),(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground leading-snug`,children:i(`activity:autonomy.${n.descKey}`)})]}),e===n.mode&&(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary mt-2 shrink-0`})]},n.mode))]})]})}function Tf(){let{t:e}=H(),t=j(e=>e.contextMode),n=j(e=>e.contextModes),{listContextModes:r,switchContextMode:i,client:a}=aa(),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(!1),u=(0,X.useRef)(null),f=(0,X.useRef)(null);(0,X.useEffect)(()=>{o&&r()},[o,r]),(0,X.useEffect)(()=>{if(!o)return;let e=e=>{u.current?.contains(e.target)||s(!1)},t=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]),(0,X.useEffect)(()=>{if(!c)return;let e=e=>{f.current?.contains(e.target)||l(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[c]);let p=(0,X.useCallback)(e=>{a?.compactContext?.(e),l(!1),s(!1)},[a]),m=(0,X.useCallback)(()=>{a?.repairContext?.(),l(!1),s(!1)},[a]),h=n.length>0?n:[{id:`balanced`,name:e(`activity:ctxMode.fallbackName`),description:e(`activity:ctxMode.fallbackDesc`),thresholds:{warn:.6,soft:.75,hard:.9},preserveK:10,eliseThreshold:2e3}],g=h.find(e=>e.id===t)??d(h[0]);return(0,Z.jsxs)(`div`,{ref:u,className:`relative shrink-0`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:G(`flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium`,`bg-success/10 text-success hover:bg-success/15 transition-colors border border-transparent hover:border-success/30`),title:e(`activity:ctxMode.triggerTitle`),children:[(0,Z.jsx)(at,{className:`h-3 w-3`}),e(`activity:ctxMode.ctxPrefix`),` `,(0,Z.jsx)(`span`,{className:`font-mono`,children:t||g.id}),(0,Z.jsx)(pr,{className:`h-3 w-3 opacity-60`})]}),(0,Z.jsxs)(`div`,{ref:f,className:`relative`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>l(e=>!e),className:G(`flex items-center justify-center h-5 w-5 rounded-full`,`text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors`,c&&`bg-accent/50 text-foreground`),title:e(`activity:ctxMode.opsHeading`),children:(0,Z.jsx)(si,{className:`h-3 w-3`})}),c&&(0,Z.jsxs)(`div`,{className:`absolute top-full right-0 mt-1 w-52 rounded-md border bg-popover shadow-lg z-40 py-1`,children:[(0,Z.jsx)(`div`,{className:`px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground border-b`,children:e(`activity:ctxMode.opsHeading`)}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>p(!1),className:`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-center gap-2`,children:[(0,Z.jsx)(lr,{className:`h-3.5 w-3.5 shrink-0 text-warning`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-xs`,children:e(`activity:ctxMode.compactNow`)}),(0,Z.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMode.compactNowDesc`)})]})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>p(!0),className:`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-center gap-2`,children:[(0,Z.jsx)(lr,{className:`h-3.5 w-3.5 shrink-0 text-destructive`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-xs`,children:e(`activity:ctxMode.compactAggressive`)}),(0,Z.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMode.compactAggressiveDesc`)})]})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:m,className:`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-center gap-2`,children:[(0,Z.jsx)(si,{className:`h-3.5 w-3.5 shrink-0 text-info`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-xs`,children:e(`activity:ctxMode.repairContext`)}),(0,Z.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMode.repairDesc`)})]})]}),(0,Z.jsx)(`div`,{className:`border-t mt-1 pt-1 px-3 py-1.5`,children:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{document.dispatchEvent(new CustomEvent(`open:context-breakdown`)),l(!1),s(!1)},className:`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-center gap-2`,children:[(0,Z.jsx)(Jn,{className:`h-3.5 w-3.5 shrink-0 text-success`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-xs`,children:e(`activity:ctxMode.debugContext`)}),(0,Z.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMode.debugDesc`)})]})]})})]})]})]}),o&&(0,Z.jsxs)(`div`,{className:`absolute top-full right-0 mt-1 w-80 rounded-md border bg-popover shadow-lg z-30 py-1`,children:[(0,Z.jsx)(`div`,{className:`px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground border-b`,children:e(`activity:ctxMode.windowHeading`)}),h.map(n=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{i(n.id),s(!1)},className:G(`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-start gap-2`,n.id===t&&`bg-accent/30`),children:[(0,Z.jsx)(ai,{className:G(`h-3.5 w-3.5 mt-0.5 shrink-0`,n.id===t?`opacity-100 text-primary`:`opacity-0`)}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-xs font-mono`,children:n.id}),n.thresholds?.warn!==void 0&&(0,Z.jsxs)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:[Math.round(n.thresholds.warn*100),`/`,Math.round(n.thresholds.soft*100),`/`,Math.round(n.thresholds.hard*100),`%`]})]}),(0,Z.jsx)(`div`,{className:`text-[11px] text-muted-foreground leading-snug`,children:n.description}),(n.preserveK||n.eliseThreshold)&&(0,Z.jsx)(`div`,{className:`mt-1 text-[10px] text-muted-foreground/80`,children:e(`activity:ctxMode.keepElide`,{k:n.preserveK??`-`,t:n.eliseThreshold??`-`})})]})]},n.id))]})]})}function Ef(){let{t:e}=H(),t=j(e=>e.cost),n=j(e=>e.inputCost),r=j(e=>e.outputCost),i=j(e=>e.cacheReadCost),a=q(e=>e.messages),[o,s]=(0,X.useState)(!1),c=(0,X.useRef)(null);(0,X.useEffect)(()=>{if(!o)return;let e=e=>{c.current?.contains(e.target)||s(!1)},t=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]);let l=(()=>{let e=[];for(let t of a)t.role===`assistant`&&t.runSummary&&t.runSummary.costDelta>0&&e.push({id:t.id,preview:t.content.slice(0,80).replace(/\s+/g,` `).trim()||`(empty)`,cost:t.runSummary.costDelta,tools:t.runSummary.tools,ms:t.runSummary.durationMs,ts:t.timestamp});return e.sort((e,t)=>t.cost-e.cost),e.slice(0,5)})(),u=e=>e>=.01?`$${e.toFixed(4)}`:e>0?`$${e.toFixed(6).replace(/0+$/,``).replace(/\.$/,``)}`:`$0`,d=n>0||r>0;return(0,Z.jsxs)(`div`,{ref:c,className:`relative inline-block`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:G(`font-medium text-success hover:underline tabular-nums`),title:e(`activity:cost.clickTitle`),children:[`$`,t.toFixed(4)]}),o&&(0,Z.jsxs)(`div`,{className:`absolute right-0 top-full mt-1 z-30 w-80 rounded-md border bg-popover shadow-lg p-3 text-foreground`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,Z.jsx)(`span`,{className:`text-xs uppercase tracking-wider text-muted-foreground font-medium`,children:e(`activity:cost.heading`)}),(0,Z.jsx)(`span`,{className:`font-mono tabular-nums text-sm font-semibold text-success`,children:u(t)})]}),d?(0,Z.jsxs)(`div`,{className:`text-[11px] text-muted-foreground font-mono mb-3 border-b pb-2`,children:[(0,Z.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Z.jsx)(`span`,{children:e(`activity:costChip.input1m`)}),(0,Z.jsxs)(`span`,{children:[`$`,n.toFixed(2)]})]}),(0,Z.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Z.jsx)(`span`,{children:e(`activity:costChip.output1m`)}),(0,Z.jsxs)(`span`,{children:[`$`,r.toFixed(2)]})]}),i>0&&(0,Z.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Z.jsx)(`span`,{children:e(`activity:costChip.cache1m`)}),(0,Z.jsxs)(`span`,{children:[`$`,i.toFixed(2)]})]})]}):(0,Z.jsx)(`div`,{className:`text-[11px] text-muted-foreground italic mb-3 border-b pb-2`,children:e(`activity:cost.noPricing`)}),l.length===0?(0,Z.jsx)(`div`,{className:`text-xs text-muted-foreground italic`,children:e(`activity:cost.noTurns`)}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground/80 mb-1`,children:e(`activity:cost.topExpensive`,{count:l.length})}),(0,Z.jsx)(`ul`,{className:`space-y-1`,children:l.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{let t=document.querySelector(`[data-message-id="${e.id}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`center`}),s(!1)},className:`w-full text-left rounded px-2 py-1.5 hover:bg-accent/40 transition-colors`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-xs truncate`,children:e.preview}),(0,Z.jsx)(`span`,{className:`text-xs font-mono tabular-nums text-success shrink-0`,children:u(e.cost)})]}),(0,Z.jsxs)(`div`,{className:`text-[10px] text-muted-foreground font-mono mt-0.5`,children:[e.tools,` tool`,e.tools===1?``:`s`,` · `,(e.ms/1e3).toFixed(1),`s`]})]})},e.id))})]})]})]})}function Df(){let{t:e}=H(),t=j(e=>e.mode),n=j(e=>e.modes),{listModes:r,switchMode:i}=aa(),[a,o]=(0,X.useState)(!1),s=(0,X.useRef)(null);(0,X.useEffect)(()=>{a&&r()},[a,r]),(0,X.useEffect)(()=>{if(!a)return;let e=e=>{s.current?.contains(e.target)||o(!1)},t=e=>{e.key===`Escape`&&o(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[a]);let c=n.length>0?n:[{id:`default`,name:e(`activity:mode.defaultName`),description:e(`activity:mode.defaultDesc`)}];return(0,Z.jsxs)(`div`,{ref:s,className:`relative shrink-0`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:G(`flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium`,`bg-accent/40 text-foreground hover:bg-accent transition-colors border border-transparent hover:border-primary/30`),title:e(`activity:mode.activeTitle`),children:[e(`activity:mode.modePrefix`),` `,(0,Z.jsx)(`span`,{className:`font-mono`,children:t||`default`}),(0,Z.jsx)(pr,{className:`h-3 w-3 opacity-60`})]}),a&&(0,Z.jsxs)(`div`,{className:`absolute top-full left-0 z-30 mt-1 max-h-[min(24rem,calc(100vh-6rem))] w-64 overflow-y-auto rounded-md border bg-popover py-1 shadow-lg`,children:[(0,Z.jsx)(`div`,{className:`sticky top-0 z-10 border-b bg-popover px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground`,children:e(`activity:mode.heading`)}),c.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{i(e.id),o(!1)},className:G(`w-full text-left px-3 py-2 hover:bg-accent/40 flex items-start gap-2`,e.id===t&&`bg-accent/30`),children:[(0,Z.jsx)(ai,{className:G(`h-3.5 w-3.5 mt-0.5 shrink-0`,e.id===t?`opacity-100 text-primary`:`opacity-0`)}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`text-xs font-mono`,children:e.id}),e.description&&(0,Z.jsx)(`div`,{className:`text-[11px] text-muted-foreground leading-snug`,children:e.description})]})]},e.id))]})]})}function Of({sidebarOpen:e,toggleSidebar:t,agentState:n,stateTone:r,sessionId:i,renamingTitle:a,setRenamingTitle:o,titleDraft:s,setTitleDraft:c,nickname:l,sessionTitle:u,setSessionNickname:d,historyEntries:f,switcherRef:p,switcherOpen:m,setSwitcherOpen:h,handleHistorySelect:g,iteration:_,autonomy:v,handleAutonomyChange:y,memoryPanelOpen:b,setMemoryPanelOpen:x,activeMemoryCount:S,processOpen:C,setProcessOpen:w,checkpointOpen:T,setCheckpointOpen:E,toolStatsOpen:D,setToolStatsOpen:O,hasStatusContent:k,lastInputTokens:A,ctxPct:j,maxContext:M,cacheStats:ee,setBreakdownOpen:N,contextLimitWarning:P,setEditorOpen:F,totalTokens:te,startTime:ne,formatDuration:I}){let{t:L}=H(),R=Math.max(0,te.cacheRead??0),re=Math.max(0,te.input+R+(te.cacheWrite??0)),ie=Math.max(0,re-R),ae=re>0?Math.min(100,Math.max(0,R/re*100)):0,z=re>0?100-ae:0;return(0,Z.jsxs)(`header`,{className:`flex flex-col border-b border-border/70 bg-card/90 backdrop-blur-xl supports-[backdrop-filter]:bg-card/80 shrink-0 sticky top-0 z-20 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 px-3 py-2 sm:px-4`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-[1_1_18rem] items-center gap-1.5 overflow-hidden`,children:[!e&&(0,Z.jsx)(Y,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,onClick:t,title:L(`chat:header.openSidebarTitle`),children:(0,Z.jsx)(on,{className:`h-4 w-4`})}),!e&&(0,Z.jsx)(`div`,{className:`flex items-center gap-1.5 shrink-0 mr-1`,children:(0,Z.jsx)(`div`,{className:`w-5 h-5 rounded-md bg-primary flex items-center justify-center`,children:(0,Z.jsx)(lr,{className:`h-3 w-3 text-primary-foreground`})})}),(0,Z.jsxs)(`span`,{className:G(`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[11px] font-medium shrink-0 tabular-nums`,r),title:`Agent state: ${n}`,children:[n!==`idle`&&(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-current animate-pulse`}),(0,Z.jsx)(`span`,{children:n})]}),i&&(a?(0,Z.jsx)(`input`,{value:s,onChange:e=>c(e.target.value),onBlur:()=>{s.trim()&&d(i,s),o(!1)},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),s.trim()&&d(i,s),o(!1)):e.key===`Escape`&&(e.preventDefault(),o(!1))},placeholder:L(`chat:sessionNamePlaceholder`),className:`h-6 px-1.5 text-[11px] bg-background border border-primary/40 rounded-md focus:outline-none focus:ring-1 focus:ring-ring shrink-0 w-36`}):(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{c(l||u||``),o(!0)},className:`flex items-center gap-1 text-[11px] font-medium text-foreground/80 hover:text-foreground truncate max-w-[12rem] shrink-0 px-1 -mx-1 rounded-md hover:bg-muted/50 transition-colors`,title:L(`chat:header.renameTitle`),children:[(0,Z.jsx)(Mr,{className:`h-2.5 w-2.5 text-muted-foreground shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:l||u||L(`chat:header.untitled`)})]}))]}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-[0_1_auto] flex-wrap items-center justify-end gap-1.5`,children:[f.length>1&&(0,Z.jsxs)(`div`,{ref:p,className:`relative shrink-0`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>h(e=>!e),className:`flex items-center gap-0.5 px-1 py-0.5 rounded-md text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors`,title:L(`chat:switchSession`),children:[(0,Z.jsx)(Wn,{className:`h-3 w-3`}),(0,Z.jsx)(pr,{className:`h-2.5 w-2.5`})]}),m&&(0,Z.jsx)(`div`,{className:`absolute left-0 top-full mt-1 z-40 w-64 rounded-md border border-border/70 bg-popover shadow-xl p-1 max-h-60 overflow-y-auto`,children:f.slice(0,15).map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>g(e.id),className:G(`w-full text-left px-2 py-1.5 rounded text-xs hover:bg-accent transition-colors`,e.isCurrent&&`bg-primary/10`),children:[(0,Z.jsx)(`div`,{className:`font-medium truncate`,children:e.title||L(`chat:empty`)}),(0,Z.jsxs)(`div`,{className:`text-[10px] text-muted-foreground font-mono break-words`,children:[e.provider,`/`,e.model,` · `,e.tokenTotal.toLocaleString(),` tok`]})]},e.id))})]}),(0,Z.jsxs)(`div`,{className:`hidden md:flex items-center gap-1.5 shrink-0`,children:[(0,Z.jsx)(Df,{}),(0,Z.jsx)(Tf,{})]}),_&&(0,Z.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[11px] font-medium bg-primary/10 text-primary shrink-0 hover:bg-primary/20 transition-colors cursor-pointer`,title:L(`chat:header.iterationTitle`),onClick:()=>document.getElementById(`chat-activity`)?.scrollIntoView({behavior:`smooth`,block:`center`}),children:[(0,Z.jsx)(li,{className:`h-3 w-3 animate-pulse`}),`iter `,_.index,_.max>0?`/${_.max}`:``]}),(0,Z.jsx)(wf,{value:v,onChange:y,compact:!0})]}),(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-0.5 shrink-0`,children:[(0,Z.jsxs)(Y,{variant:D?`secondary`:`ghost`,size:`icon`,className:G(`h-7 w-7 relative`,D&&`bg-primary/10 text-primary`),onClick:()=>O(e=>!e),title:L(`chat:header.toolStatsTitle`,`Tool call stats`),children:[(0,Z.jsx)(si,{className:`h-4 w-4`}),D&&(0,Z.jsx)(`span`,{className:`absolute -bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-primary`})]}),(0,Z.jsxs)(Y,{variant:b?`secondary`:`ghost`,size:`icon`,className:G(`h-7 w-7 relative`,b&&`bg-primary/10 text-primary`),onClick:()=>x(e=>!e),title:L(`chat:header.memoryContextTitle`,`Memory context`),children:[(0,Z.jsx)(Qn,{className:`h-4 w-4`}),S>0&&(0,Z.jsx)(`span`,{className:`absolute -top-0.5 -right-0.5 min-w-3.5 h-3.5 px-0.5 rounded-full bg-primary text-primary-foreground text-[9px] font-bold flex items-center justify-center tabular-nums`,children:S}),b&&(0,Z.jsx)(`span`,{className:`absolute -bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-primary`})]}),(0,Z.jsxs)(Y,{variant:C?`secondary`:`ghost`,size:`icon`,className:G(`h-7 w-7 relative`,C&&`bg-warning/10 text-warning`),onClick:()=>w(e=>!e),title:L(`chat:header.runningProcessesTitle`),children:[(0,Z.jsx)(rt,{className:`h-4 w-4`}),C&&(0,Z.jsx)(`span`,{className:`absolute -bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-warning`})]}),(0,Z.jsxs)(Y,{variant:T?`secondary`:`ghost`,size:`icon`,className:G(`h-7 w-7 relative`,T&&`bg-primary/10 text-primary`),onClick:()=>E(e=>!e),title:L(`chat:header.checkpointsTitle`),children:[(0,Z.jsx)(Wn,{className:`h-4 w-4`}),T&&(0,Z.jsx)(`span`,{className:`absolute -bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-primary`})]})]})]}),k&&(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 overflow-x-auto border-t border-border/60 bg-muted/20 px-3 py-1 text-[11px] text-muted-foreground sm:px-4`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-max items-center gap-3 tabular-nums`,children:[A>0&&(0,Z.jsx)(ec,{pct:j,tokens:A,maxTokens:M>0?M:void 0,...ee?{cache:ee}:{},onClick:()=>N(!0)}),P&&(0,Z.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-1 rounded-md border border-warning/40 bg-warning/10 px-2 py-0.5 font-medium text-warning`,title:L(`activity:chatView.providerLimitDecreased`,{previous:P.previousMaxContext.toLocaleString(),current:P.maxContext.toLocaleString()}),children:[(0,Z.jsx)(zr,{className:`h-3 w-3`}),L(`activity:chatView.providerLimit`,{limit:is(P.maxContext)})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>F(!0),className:`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[11px] text-muted-foreground/70 hover:text-foreground hover:bg-accent transition-colors shrink-0`,title:L(`activity:chatView.editContextWindow`),children:[(0,Z.jsx)(vr,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:L(`activity:chatView.edit`)})]}),re>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`Total prompt context`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:is(re)}),(0,Z.jsx)(`span`,{children:`context`})]}),R>0&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`Prompt cache reads`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:is(R)}),(0,Z.jsxs)(`span`,{children:[`cached (`,ae.toFixed(1),`%)`]})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`Fresh/uncached prompt tokens`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:is(ie)}),(0,Z.jsxs)(`span`,{children:[`fresh (`,z.toFixed(1),`%)`]})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,title:`Completion tokens`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:is(te.output)}),(0,Z.jsx)(`span`,{children:`completion`})]}),(0,Z.jsx)(Ef,{})]})]}),ne&&(0,Z.jsx)(`span`,{className:`text-muted-foreground/70 tabular-nums shrink-0`,children:I(ne)})]})]})}function kf(e){if(!e.includes(`🧠`))return null;let t=e.includes(`Brain intervention`),n=e.includes(`Brain check`),r=e.includes(`Denied:`)||e.includes(`denied`),i=e.includes(`needs human judgement`)||e.includes(`escalated this question`);if(!t&&!n&&!r&&!i&&!e.startsWith(`🧠`))return null;let a=e.split(`
95
95
 
96
96
  `).map(e=>e.trim()).filter(Boolean),o=a[0]??``,s=a.length>1?a[1]:void 0,c=a.length>2?a[2]?.replace(/^[_*]+|[_*]+$/g,``):void 0,l=`answered`,u=`answer`,d=``,f=``;return t?(l=`intervention`,u=`steer`,d=c??o):n?(l=`check`,u=`observe`,d=s??o):r?(l=`denied`,u=`deny`,f=o.replace(/^🧠\s*Denied:\s*/i,``)):i?(l=`ask_human`,u=`ask_human`,d=o.replace(/^🧠\s*/,``)):d=o.replace(/^🧠\s*/,``),{id:`replayed-brain`,kind:l,intervened:t,decisionType:u,question:s,text:d,reason:f,rationale:c,at:Date.now()}}var Af={low:{label:`Low Risk`,badge:`border-success/30 bg-success/10 text-success`},medium:{label:`Medium Risk`,badge:`border-warning/30 bg-warning/10 text-warning`},high:{label:`High Risk`,badge:`border-brand-orange/30 bg-brand-orange/10 text-brand-orange`},critical:{label:`Critical Risk`,badge:`border-destructive/30 bg-destructive/10 text-destructive animate-pulse`}},jf=(0,X.memo)(function({message:e}){let{t}=H(),[n,r]=(0,X.useState)(!0),[i,a]=(0,X.useState)(!1),o=(0,X.useMemo)(()=>e.brainDecision?e.brainDecision:kf(e.content),[e.brainDecision,e.content]);if(!o)return null;let{id:s,kind:c=`answered`,intervened:l=!1,decisionType:u,optionId:d,question:f,text:p,reason:m,rationale:h,source:g,risk:_,tier:v,confidence:y}=o,b=c===`intervention`||l,x=c===`denied`||u===`deny`,S=c===`ask_human`||u===`ask_human`,C=c===`check`,w=_?Af[_.toLowerCase()]:void 0;return(0,Z.jsx)(`div`,{className:`mx-auto max-w-6xl w-full px-3 sm:px-5 lg:px-6 py-2`,"data-brain-decision-card":s??`brain`,children:(0,Z.jsxs)(`div`,{className:G(`relative overflow-hidden rounded-2xl border shadow-sm transition-all duration-200`,`bg-gradient-to-br from-background via-surface-1/50 to-surface-2/70 backdrop-blur-sm`,b?`border-warning/40 shadow-warning/5`:x?`border-destructive/40 shadow-destructive/5`:S?`border-info/40 shadow-info/5`:`border-primary/40 shadow-primary/5`),children:[(0,Z.jsx)(`div`,{className:G(`h-1 w-full`,b?`bg-gradient-to-r from-warning via-brand-orange to-primary`:x?`bg-gradient-to-r from-destructive via-warning to-primary`:S?`bg-gradient-to-r from-info via-primary to-accent`:`bg-gradient-to-r from-primary via-info to-success`)}),(0,Z.jsxs)(`div`,{className:`p-4 sm:p-5 space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2.5`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2.5 min-w-0`,children:[(0,Z.jsx)(`div`,{className:G(`flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border shadow-xs transition-transform duration-200 hover:scale-105`,b?`border-warning/30 bg-warning/10 text-warning`:x?`border-destructive/30 bg-destructive/10 text-destructive`:S?`border-info/30 bg-info/10 text-info`:`border-primary/30 bg-primary/10 text-primary`),children:b?(0,Z.jsx)(lr,{className:`h-5 w-5`}):x?(0,Z.jsx)(ur,{className:`h-5 w-5`}):S?(0,Z.jsx)(gn,{className:`h-5 w-5`}):(0,Z.jsx)(Qn,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold tracking-tight text-foreground flex items-center gap-1.5`,children:(0,Z.jsx)(`span`,{children:b?t(`activity:brainDecision.interventionTitle`,{defaultValue:`Brain Intervention`}):x?t(`activity:brainDecision.deniedTitle`,{defaultValue:`Brain Policy Guardrail`}):S?t(`activity:brainDecision.askHumanTitle`,{defaultValue:`Brain Human Escalation`}):C?t(`activity:brainDecision.checkTitle`,{defaultValue:`Brain Distress Review`}):t(`activity:brainDecision.title`,{defaultValue:`Brain Arbiter Decision`})})}),s?(0,Z.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground/70 bg-muted/60 px-1.5 py-0.5 rounded border border-border/40`,children:s}):null]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:b?t(`activity:brainDecision.interventionSubtitle`,{defaultValue:`Autonomous steering signal injected to keep agent on track`}):t(`activity:brainDecision.subtitle`,{defaultValue:`Cognitive reasoning & safety oversight layer`})})]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 flex-wrap`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:async()=>{let e=[b?`🧠 [Brain Intervention — Agent Steered]`:`🧠 [Brain Decision]`,f?`Trigger: ${f}`:``,p?`Directive: ${p}`:``,m?`Policy Reason: ${m}`:``,h?`Rationale: ${h}`:``].filter(Boolean).join(`
97
97
 
@@ -125,7 +125,7 @@ Type while the agent is running to queue messages; they are sent automatically w
125
125
  `).slice(-4).join(`
126
126
  `).trim();return(0,Z.jsxs)(`div`,{className:`ws-reasoning min-w-0 max-w-full py-0.5 sm:max-w-[720px]`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`flex w-full flex-wrap items-center gap-x-2 gap-y-0.5 text-left font-mono text-xs`,"aria-expanded":a,children:[(0,Z.jsx)(`span`,{className:`ws-reasoning__mark text-sm leading-none`,"aria-hidden":!0,children:`✦`}),(0,Z.jsx)(`span`,{className:`font-semibold uppercase tracking-wide text-primary`,children:i(`activity:message.thinkingProcess`)}),(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground/70`,children:i(`activity:message.thinkingMeta`,{iter:t.iteration,dur:s,lines:i(`activity:message.linesSuffix`,{count:n})})}),(0,Z.jsx)(`span`,{className:`ml-auto text-muted-foreground/60`,children:a?(0,Z.jsx)(pr,{className:`h-3.5 w-3.5`}):(0,Z.jsx)(or,{className:`h-3.5 w-3.5`})})]}),(0,Z.jsx)(`pre`,{className:G(`mt-1.5 whitespace-pre-wrap break-words font-mono text-xs italic leading-relaxed text-foreground/65`,a?`max-h-[32rem] overflow-auto`:`max-h-24 overflow-hidden`),children:a?t.text:c||t.text}),(0,Z.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-2`,children:[(0,Z.jsx)(Rf,{text:t.text,label:i(`activity:message.copyLog`),className:`text-[10px] text-muted-foreground/60 opacity-70 transition-opacity hover:opacity-100`}),!a&&n>4&&(0,Z.jsx)(`button`,{type:`button`,onClick:()=>o(!0),className:`text-[10px] text-muted-foreground/70 transition-colors hover:text-foreground`,children:i(`activity:message.showFullLog`)})]})]})})():(()=>{if(se)return null;let t=e.content,n=!!e.attachments&&e.attachments.length>0;return(0,Z.jsxs)(`div`,{className:G(`text-sm leading-relaxed markdown-content`,e.streaming&&`streaming-cursor`),children:[n&&(0,Z.jsx)(Lf,{attachments:e.attachments??[],notRetainedLabel:i(`activity:message.imageNotRetained`)}),t?f&&e.role===`assistant`?(0,Z.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-xs leading-relaxed text-foreground/90 max-h-[40rem] overflow-auto`,children:e.content}):e.role===`assistant`&&e.isError?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Bf,{text:e.content}),ue&&!e.streaming&&!T&&(0,Z.jsx)(Wf,{text:e.content,timestamp:e.timestamp})]}):e.streaming?(0,Z.jsx)(Yf,{text:t}):(0,Z.jsx)(Kf,{remarkPlugins:[Ga],rehypePlugins:Cl,components:El,children:t}):e.streaming?(0,Z.jsx)(`span`,{className:`inline-block animate-pulse text-muted-foreground`,children:i(`activity:message.typing`)}):n||de.length>0?null:(0,Z.jsx)(`span`,{className:`text-muted-foreground italic`,children:i(`activity:message.noContent`)})]})})()}),h&&e.status===`failed`&&(0,Z.jsx)(`span`,{className:`text-[10px] font-medium text-destructive flex items-center gap-1 px-1`,children:i(`activity:message.failedToSend`)}),ue&&!T&&de.length>0&&(0,Z.jsx)(Ku,{steps:de,yoloMode:L,autoMode:I===`auto`,autoDelayMs:ne.autonomyDelayMs,onAutoSubmit:ce,canAutoSubmit:oe,onBatchSubmit:le,isLatest:ue,sessionEndAutoFill:!0}),(0,Z.jsxs)(`div`,{className:G(`flex max-w-full flex-wrap items-center gap-2 px-1`,h?`flex-row-reverse`:`flex-row`),children:[!se&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground/70`,children:new Date(e.timestamp).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}),(0,Z.jsx)(`span`,{className:`w-px h-3 bg-border/60 shrink-0`,"aria-hidden":!0})]}),e.runSummary&&(0,Z.jsxs)(`span`,{className:`text-[10px] text-muted-foreground/75 font-mono tabular-nums`,title:[i(`activity:message.rsIterations`,{n:e.runSummary.iterations}),i(`activity:message.rsTools`,{n:e.runSummary.tools}),i(`activity:message.rsElapsed`,{s:`${(e.runSummary.durationMs/1e3).toFixed(2)}s`}),e.runSummary.costDelta>0?i(`activity:message.rsCost`,{c:e.runSummary.costDelta.toFixed(4)}):``].filter(Boolean).join(` · `),children:[e.runSummary.iterations,` iter`,e.runSummary.tools>0?` · ${e.runSummary.tools} tool${e.runSummary.tools===1?``:`s`}`:``,` `,`·`,` `,e.runSummary.durationMs<6e4?`${(e.runSummary.durationMs/1e3).toFixed(1)}s`:`${Math.floor(e.runSummary.durationMs/6e4)}m ${Math.floor(e.runSummary.durationMs%6e4/1e3)}s`,e.runSummary.costDelta>0?` · ${e.runSummary.costDelta>=.01?e.runSummary.costDelta.toFixed(4):e.runSummary.costDelta.toFixed(6).replace(/0+$/,``).replace(/\.$/,``)}`:``]}),e.usage&&(e.usage.input>0||e.usage.output>0)&&(()=>{let t=e.usage,n=((t.input+(t.cacheWrite??0))*P+t.output*F+(t.cacheRead??0)*te)/1e6,r=P>0||F>0,a=n>=.01?`${n.toFixed(4)}`:n>0?`${n.toFixed(6).replace(/0+$/,``).replace(/\.$/,``)}`:``;return(0,Z.jsxs)(`span`,{className:`text-[10px] text-muted-foreground/75 font-mono tabular-nums`,title:[i(`activity:message.useInput`,{n:t.input.toLocaleString()}),i(`activity:message.useOutput`,{n:t.output.toLocaleString()}),t.cacheRead?i(`activity:message.useCacheRead`,{n:t.cacheRead.toLocaleString()}):``,r?i(`activity:message.useCost`,{c:a}):``].filter(Boolean).join(` · `),children:[t.input.toLocaleString(),`→`,t.output.toLocaleString(),t.cacheRead?` · ${t.cacheRead.toLocaleString()} ↺`:``,r&&a?` · ${a}`:``]})})(),!v&&!_&&e.content&&!e.streaming&&(0,Z.jsx)(Rf,{text:e.content,label:i(`common:action.copy`),className:`opacity-50 hover:opacity-100 transition-opacity`}),e.role===`assistant`&&e.content&&!e.streaming&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>m(e=>!e),title:i(f?`activity:message.showRenderedTitle`:`activity:message.showRawTitle`),className:G(`text-xs inline-flex items-center gap-1 transition-opacity`,f?`text-primary hover:text-primary/80 opacity-100`:`opacity-50 hover:opacity-100 text-muted-foreground hover:text-foreground`),children:[(0,Z.jsx)(Gr,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:i(f?`activity:message.renderedLabel`:`activity:message.rawLabel`)})]}),h&&!_&&!s&&!T&&(0,Z.jsxs)(Z.Fragment,{children:[e.status===`failed`&&(0,Z.jsxs)(`button`,{type:`button`,onClick:pe,title:i(`activity:message.retryLabel`,`Retry`),className:`opacity-75 hover:opacity-100 transition-opacity text-xs text-destructive hover:text-destructive/80 inline-flex items-center gap-1 font-medium`,children:[(0,Z.jsx)(_r,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:i(`activity:message.retryLabel`,`Retry`)})]}),e.content&&(0,Z.jsxs)(`button`,{type:`button`,onClick:he,title:i(`activity:message.editTitle`),className:`opacity-50 hover:opacity-100 transition-opacity text-xs text-muted-foreground hover:text-foreground inline-flex items-center gap-1`,children:[(0,Z.jsx)(Mr,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:i(`activity:message.editLabel`)})]})]}),e.role===`assistant`&&e.content&&!e.streaming&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>k(e.id),title:i(N?`activity:message.unpinTitle`:`activity:message.pinTitle`),className:G(`text-xs inline-flex items-center gap-1 transition-opacity`,N?`text-warning hover:text-warning/85 opacity-100`:`opacity-50 hover:opacity-100 text-muted-foreground hover:text-foreground`),children:[N?(0,Z.jsx)(je,{className:`h-3 w-3`}):(0,Z.jsx)(Rr,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:i(N?`activity:message.pinnedLabel`:`activity:message.pinLabel`)})]}),(ue||e.isError)&&e.content&&!e.streaming&&!T&&(0,Z.jsxs)(`button`,{type:`button`,onClick:me,title:i(`activity:message.regenerateTitle`),className:`opacity-50 hover:opacity-100 transition-opacity text-xs text-muted-foreground hover:text-foreground inline-flex items-center gap-1`,children:[(0,Z.jsx)(_r,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:i(`activity:message.retryLabel`)})]})]})]})]})});function Ep(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(e<1e4?2:1)}s`:`${Math.floor(e/6e4)}m${Math.floor(e%6e4/1e3)}s`}var Dp=(0,X.memo)(function({tools:e,defaultOpen:t=!1,isContinuation:n=!1}){let{t:r}=H(),[i,a]=(0,X.useState)(t);if(e.length===1)return(0,Z.jsx)(Tp,{message:d(e[0]),isFirst:!0,isContinuation:n});let o=e.filter(e=>e.toolResult===void 0).length,s=e.filter(e=>e.isError).length,c=e.reduce((e,t)=>e+(t.toolDurationMs??0),0),l=Array.from(new Set(e.map(e=>e.toolName).filter(Boolean))),u=l.slice(0,3).join(`, `),f=l.length>3?` +${l.length-3}`:``;return(0,Z.jsxs)(`div`,{className:`flex gap-3 animate-message`,children:[n?(0,Z.jsx)(`div`,{className:`flex-shrink-0 w-8 h-8`,"aria-hidden":!0}):(0,Z.jsx)(`div`,{className:`flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center bg-secondary text-secondary-foreground ring-2 ring-offset-2 ring-offset-background ring-secondary/20`,children:(0,Z.jsx)(rt,{className:`h-4 w-4`})}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5 max-w-[85%] flex-1 min-w-0`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:G(`flex items-center gap-2 text-sm font-medium cursor-pointer select-none`,`hover:bg-muted/50 rounded-lg px-2 py-1.5 -mx-2 transition-colors`,`border border-border/40 bg-muted/30`),children:[i?(0,Z.jsx)(pr,{className:`h-3.5 w-3.5 text-muted-foreground`}):(0,Z.jsx)(or,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,Z.jsx)(rt,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`font-mono text-xs`,children:r(`activity:toolGroup.toolCalls`,{count:e.length})}),o>0?(0,Z.jsx)(mr,{className:`h-3 w-3 animate-spin text-warning`}):s>0?(0,Z.jsx)(In,{className:`h-3 w-3 text-destructive`}):(0,Z.jsx)(wr,{className:`h-3 w-3 text-success`}),c>0&&(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums font-normal`,children:Ep(c)}),u&&(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground/80 font-mono truncate`,children:[`· `,u,f]})]}),i&&(0,Z.jsx)(`div`,{className:`space-y-2 pl-3 border-l-2 border-border/40 ml-2 tool-details`,children:e.map(e=>(0,Z.jsx)(Tp,{message:e,isFirst:!1},e.id))})]})]})}),Op=!1;function kp(){if(Op)return;let e=B();e&&(e.on(`chimera.reports`,e=>{let t=e.payload;(t?.isQuery||t?.reports)&&Ap.setState({reports:t.reports??[],loading:!1})}),e.on(`chimera.report.detail`,e=>{let t=e.payload;Ap.setState({detail:t.error?null:t,error:t.error??null,detailLoading:!1})}),e.on(`chimera.report.updated`,()=>{Ap.getState().fetchReports();let e=Ap.getState().selectedReportId;e&&Ap.getState().selectReport(e)}),e.on(`chimera.report.note_added`,()=>{let e=Ap.getState().selectedReportId;e&&Ap.getState().selectReport(e)}),e.on(`chimera.finding.updated`,()=>{Ap.getState().fetchReports();let e=Ap.getState().selectedReportId;e&&Ap.getState().selectReport(e)}),e.on(`chimera.report_available`,()=>{Ap.getState().fetchReports()}),Op=!0)}var Ap=$t((e,t)=>({reports:[],selectedReportId:null,detail:null,loading:!1,detailLoading:!1,error:null,filterSessionId:``,filterLifecycle:``,searchQuery:``,fetchReports:()=>{kp();let n=B();if(!n.isConnected){e({loading:!1});return}e({loading:!0,error:null});let{filterSessionId:r,filterLifecycle:i}=t();n.send({type:`chimera.reports.list`,payload:{all:!0,sessionId:r||void 0,lifecycle:i||void 0}})},selectReport:t=>{if(kp(),e({selectedReportId:t}),!t){e({detail:null,detailLoading:!1});return}let n=B();n.isConnected&&(e({detailLoading:!0,error:null}),n.send({type:`chimera.report.get`,payload:{reportId:t}}))},setFilterSessionId:n=>{e({filterSessionId:n}),t().fetchReports()},setFilterLifecycle:n=>{e({filterLifecycle:n}),t().fetchReports()},setSearchQuery:t=>{e({searchQuery:t})},transitionReport:(e,t,n)=>{let r=B();r.isConnected&&r.send({type:`chimera.report.transition`,payload:{reportId:e,to:t,reason:n}})},addReportNote:(e,t)=>{let n=B();n.isConnected&&n.send({type:`chimera.report.add_note`,payload:{reportId:e,note:t}})},transitionFinding:(e,t,n,r)=>{let i=B();i.isConnected&&i.send({type:`chimera.finding.transition`,payload:{findingId:e,to:t,outcome:n,reason:r}})}})),jp=(0,X.memo)(function({message:e,sessionId:t}){let n=e.chimeraReport,r=x(e=>e.lanes[t]?.isLoading??!1);if(!n)return null;let i=n.actionedAt!=null;return(0,Z.jsx)(`div`,{className:`mx-auto max-w-6xl w-full px-3 sm:px-5 lg:px-6 py-1`,"data-chimera-report-card":n.reportId,children:(0,Z.jsxs)(`div`,{className:`rounded-xl border border-warning/30 bg-warning/[0.06] px-4 py-3 space-y-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline gap-2 text-sm font-semibold min-w-0`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,children:`🦂`}),(0,Z.jsx)(`span`,{className:`shrink-0`,children:`Chimera report — action needed`}),(0,Z.jsxs)(`span`,{className:`text-xs font-normal text-muted-foreground truncate`,children:[`report `,n.reportId]})]}),(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground whitespace-pre-wrap break-words`,children:e.content}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{if(i||r)return;let a=`Take a look at the tasks mentioned in this Chimera report (${n.reportId}) — review the findings it flagged for this session and address them.`,o=ye(t);o.addMessage({role:`user`,content:a}),o.patch({isLoading:!0}),B().sendMessage(a,void 0,!1,t===`__unbound__`?void 0:t),o.updateMessage(e.id,{chimeraReport:{...n,actionedAt:Date.now()}}),u.getState().markActioned(t,n.reportId,Date.now())},disabled:i||r,title:i?`Prompt sent to the leader`:r?`Waiting for the leader to finish its current run`:`Send the leader a prompt to work through this report`,className:G(`inline-flex min-h-11 items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-colors`,i||r?`cursor-not-allowed border border-border bg-muted text-muted-foreground`:`bg-primary text-primary-foreground hover:bg-primary/90 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary`),children:i?`Prompt sent ✓`:r?`Leader is running…`:`Take action — have the leader review it`}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{Ap.getState().selectReport(n.reportId),Oa(`chimera`)},className:`inline-flex min-h-11 items-center gap-1.5 rounded-lg border border-border bg-background px-3 py-2 text-xs font-medium text-foreground hover:bg-muted transition-colors`,children:[(0,Z.jsx)(ur,{size:14}),(0,Z.jsx)(`span`,{children:`Open in Chimera Hub`})]})]})]})})}),Mp=(0,X.memo)(function({row:e,isLoading:t,compactMode:n,isFirstRow:r,groupToolCalls:i,sessionId:a}){let o=G(`mx-auto max-w-6xl w-full px-3 sm:px-5 lg:px-6`,r&&`pt-4`,n?`pb-3`:`pb-6`);return e.kind===`day`?(0,Z.jsx)(`div`,{className:o,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 py-1 text-[11px] text-muted-foreground/70 uppercase tracking-wider font-medium`,children:[(0,Z.jsx)(`div`,{className:`flex-1 h-px bg-border/50`}),(0,Z.jsx)(`span`,{children:e.label}),(0,Z.jsx)(`div`,{className:`flex-1 h-px bg-border/50`})]})}):e.kind===`user`?(0,Z.jsx)(`div`,{className:o,children:(0,Z.jsx)(Tp,{message:e.message,isFirst:!0})}):(0,Z.jsx)(`div`,{className:o,children:(0,Z.jsx)(`div`,{className:G(`chat-turn`,n?`space-y-1`:`space-y-1.5`),children:e.items.flatMap(n=>{if(n.kind===`msg`)return n.message.chimeraReport?[(0,Z.jsx)(jp,{message:n.message,sessionId:a},n.key)]:n.message.councilDecision||Nf(n.message.content)?[(0,Z.jsx)(If,{message:n.message},n.key)]:n.message.brainDecision||kf(n.message.content)?[(0,Z.jsx)(jf,{message:n.message},n.key)]:[(0,Z.jsx)(Tp,{message:n.message,isFirst:n.isFirst,isContinuation:n.isContinuation},n.key)];if(i){let r=e.isLastTurn&&n.isLastGroup&&t&&n.hasRunningTool;return[(0,Z.jsx)(Dp,{tools:n.tools,defaultOpen:r,isContinuation:n.isContinuation},n.key)]}return n.tools.map(e=>(0,Z.jsx)(Tp,{message:e,isFirst:!1,isContinuation:n.isContinuation},e.id))})})})}),Np={running:`bg-success/10 text-success`,completed:`bg-success/10 text-success`,failed:`bg-destructive/10 text-destructive`,timeout:`bg-warning/10 text-warning`,stopped:`bg-muted text-muted-foreground`};function Pp(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}):``}var Fp=(0,X.memo)(function({entry:e}){let{t}=H(),n=Pp(e.ts);if(e.kind===`text`)return(0,Z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Z.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-accent text-accent-foreground ring-accent/20 ring-offset-background ring-2 ring-offset-2`,children:(0,Z.jsx)(Fi,{className:`h-4 w-4`})}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1 rounded-lg border border-border/70 bg-card px-4 py-3 shadow-sm`,children:[(0,Z.jsx)(Kf,{children:e.content}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-[9px] tabular-nums text-muted-foreground/60`,children:[e.iteration>0&&(0,Z.jsxs)(`span`,{children:[`iter `,e.iteration]}),n&&(0,Z.jsx)(`span`,{className:`ml-auto font-mono`,children:n})]})]})]});if(e.kind===`thinking`)return(0,Z.jsxs)(`details`,{className:`group rounded-lg border border-primary/20 bg-primary/5 px-3 py-2`,children:[(0,Z.jsxs)(`summary`,{className:`flex cursor-pointer select-none items-center gap-2 text-[10px] font-medium uppercase tracking-wider text-primary/80 marker:hidden [&::-webkit-details-marker]:hidden`,children:[(0,Z.jsx)(Qn,{className:`h-3.5 w-3.5 shrink-0`}),t(`activity:transcript.kindThinking`),e.iteration>0&&(0,Z.jsxs)(`span`,{className:`rounded bg-primary/10 px-1 py-0.5 text-[9px] normal-case tabular-nums`,children:[`iter `,e.iteration]}),n&&(0,Z.jsx)(`span`,{className:`ml-auto font-mono text-[9px] normal-case text-muted-foreground`,children:n})]}),(0,Z.jsx)(`pre`,{className:`mt-2 whitespace-pre-wrap break-words font-mono text-[11px] leading-relaxed text-foreground/75`,children:e.content})]});if(e.kind===`tool_use`||e.kind===`tool_result`){let r=e.kind===`tool_use`,i=e.toolOk!==!1,a=r?si:i?ai:hr;return(0,Z.jsxs)(`div`,{className:G(`rounded-lg border px-3 py-2`,r?`border-warning/20 bg-warning/5`:i?`border-success/20 bg-success/5`:`border-destructive/25 bg-destructive/5`),children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(a,{className:G(`h-3.5 w-3.5 shrink-0`,r?`text-warning`:i?`text-success`:`text-destructive`)}),(0,Z.jsx)(`span`,{className:`shrink-0 text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:t(r?`activity:transcript.kindToolCall`:`activity:transcript.kindToolResult`)}),e.toolName&&(0,Z.jsx)(`span`,{className:`min-w-0 truncate rounded bg-background/70 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground`,children:e.toolName}),n&&(0,Z.jsx)(`span`,{className:`ml-auto shrink-0 font-mono text-[9px] tabular-nums text-muted-foreground`,children:n})]}),e.content&&(0,Z.jsx)(`pre`,{className:`mt-1.5 max-h-64 overflow-y-auto whitespace-pre-wrap break-words font-mono text-[11px] leading-relaxed text-foreground/80`,children:e.content})]})}if(e.kind===`error`)return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-destructive/25 bg-destructive/5 px-3 py-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)($r,{className:`h-3.5 w-3.5 shrink-0 text-destructive`}),(0,Z.jsx)(`span`,{className:`shrink-0 text-[10px] font-medium uppercase tracking-wider text-destructive`,children:t(`activity:transcript.kindError`)}),n&&(0,Z.jsx)(`span`,{className:`ml-auto shrink-0 font-mono text-[9px] tabular-nums text-muted-foreground`,children:n})]}),(0,Z.jsx)(`pre`,{className:`mt-1.5 whitespace-pre-wrap break-words font-mono text-[11px] leading-relaxed text-destructive/90`,children:e.content})]});let r=e.kind===`status`?Jt:pi;return(0,Z.jsx)(`div`,{className:`flex justify-center`,children:(0,Z.jsxs)(`div`,{className:`flex max-w-full items-center gap-1.5 rounded-full border border-border/50 bg-muted/25 px-3 py-1 text-[10px] text-muted-foreground`,children:[(0,Z.jsx)(r,{className:`h-3 w-3 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.content}),n&&(0,Z.jsx)(`span`,{className:`shrink-0 font-mono text-[9px] tabular-nums opacity-70`,children:n})]})})});function Ip({agentId:e}){let{t}=H(),n=z(t=>t.agents.get(e)),r=z(t=>t.agentTranscripts.get(e)??v),i=K(e=>e.setSubagentChatFocus),[a,o]=(0,X.useState)(!1),s=(0,X.useRef)(null),c=(0,X.useRef)(!0),l=r[r.length-1],u=l?.content.length??0;return(0,X.useEffect)(()=>{c.current=!0},[e]),(0,X.useEffect)(()=>{let e=s.current;e&&c.current&&(e.scrollTop=e.scrollHeight)},[r.length,u,l?.id,e]),(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`subagent-transcript-view`,children:[(0,Z.jsxs)(`div`,{"data-testid":`subagent-task-strip`,className:`flex h-8 max-h-8 shrink-0 items-center gap-1.5 overflow-hidden border-b border-border/60 bg-muted/20 px-3 text-xs`,children:[(0,Z.jsx)(Fi,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,Z.jsx)(`span`,{className:`max-w-[9rem] shrink-0 truncate font-semibold text-foreground`,children:n?.name??e}),n&&(0,Z.jsx)(`span`,{className:G(`shrink-0 rounded px-1.5 py-0.5 text-[9px] font-medium uppercase tracking-wider`,Np[n.status]??Np.stopped),children:n.status}),(0,Z.jsx)(`span`,{className:`shrink-0 text-[9px] font-medium uppercase tracking-wider text-muted-foreground/80`,children:t(`activity:transcript.readOnly`)}),n?.description?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`shrink-0 text-border`,"aria-hidden":`true`,children:`·`}),(0,Z.jsx)(`span`,{className:`shrink-0 font-semibold uppercase tracking-wide text-foreground/70`,children:t(`activity:transcript.taskLabel`)}),(0,Z.jsx)(`button`,{type:`button`,"data-testid":`subagent-task-preview`,onClick:()=>o(!0),title:t(`activity:transcript.taskExpandTitle`),className:`min-w-0 flex-1 truncate text-left text-muted-foreground hover:text-foreground`,children:A(n.description)}),n.description.length>140&&(0,Z.jsx)(`span`,{className:`shrink-0 tabular-nums text-[10px] text-muted-foreground/70`,children:t(`activity:transcript.taskChars`,{count:n.description.length})}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>o(!0),title:t(`activity:transcript.taskExpandTitle`),"aria-label":t(`activity:transcript.taskExpandTitle`),"aria-expanded":a,className:`flex shrink-0 items-center gap-1 rounded border border-border/60 bg-background/70 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground transition-colors hover:border-primary/40 hover:text-foreground`,children:[(0,Z.jsx)(Dr,{className:`h-3 w-3`}),t(`activity:transcript.taskExpand`)]})]}):(0,Z.jsx)(`span`,{className:`flex-1`}),n!=null&&(0,Z.jsxs)(`span`,{className:`shrink-0 tabular-nums text-[10px] text-muted-foreground`,children:[`iter `,n.iteration,` · `,n.toolCalls,` `,t(`activity:agents.tcSuffix`),` · $`,n.costUsd.toFixed(4)]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>i(null,n?.sessionId),"aria-label":t(`activity:transcript.returnToLeader`),className:`ml-0.5 inline-flex shrink-0 items-center gap-0.5 rounded bg-primary/15 px-1.5 py-0.5 text-[10px] font-medium text-primary transition-colors hover:bg-primary/25`,children:[(0,Z.jsx)(hr,{className:`h-3 w-3`}),t(`activity:transcript.returnToLeader`)]})]}),(0,Z.jsx)(`div`,{ref:s,onScroll:e=>{let t=e.currentTarget;c.current=t.scrollHeight-t.scrollTop-t.clientHeight<80},role:`log`,"aria-label":t(`activity:chatView.chatTranscript`),"aria-live":`polite`,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,children:r.length===0?(0,Z.jsx)(`div`,{className:`mx-auto max-w-6xl px-3 pt-6 sm:px-5 lg:px-6`,children:(0,Z.jsx)(`div`,{className:`rounded-lg border border-dashed border-border p-6 text-center text-xs text-muted-foreground`,children:t(`activity:transcript.empty`)})}):(0,Z.jsx)(`div`,{className:`mx-auto max-w-6xl space-y-2.5 px-3 pb-8 pt-3 sm:px-5 lg:px-6`,children:r.map(e=>(0,Z.jsx)(Fp,{entry:e},e.id))})}),n?.description&&(0,Z.jsx)(Fa,{open:a,onOpenChange:o,children:(0,Z.jsxs)(Ma,{className:`flex max-h-[85dvh] max-w-3xl flex-col gap-3 overflow-hidden`,children:[(0,Z.jsxs)(Aa,{children:[(0,Z.jsxs)(Na,{className:`flex items-center gap-2 pr-6 text-base`,children:[(0,Z.jsx)(Fi,{className:`h-4 w-4 shrink-0 text-primary`}),(0,Z.jsxs)(`span`,{className:`truncate`,children:[n.name??e,` · `,t(`activity:transcript.taskModalTitle`)]})]}),(0,Z.jsx)(Pa,{className:`sr-only`,children:t(`activity:transcript.taskModalDescription`)})]}),(0,Z.jsx)(`pre`,{"data-testid":`subagent-task-full`,className:`min-h-0 flex-1 overflow-y-auto whitespace-pre-wrap break-words rounded-md border border-border/60 bg-muted/30 px-3 py-2.5 font-mono text-xs leading-relaxed text-foreground/85`,children:n.description})]})})]})}function Lp(){let{t:e}=H(),t=q(e=>e.thinkingBuffer);if(!t)return null;let n=t.split(`
127
127
  `).slice(-6).join(`
128
- `).trim();return(0,Z.jsxs)(`div`,{className:`flex gap-3 animate-message thinking-bubble`,"aria-live":`polite`,children:[(0,Z.jsxs)(`div`,{className:`thinking-orb flex-shrink-0`,"aria-hidden":!0,children:[(0,Z.jsx)(`span`,{className:`thinking-orb__ring`}),(0,Z.jsx)(`span`,{className:`thinking-orb__ring thinking-orb__ring--delay`}),(0,Z.jsx)(`span`,{className:`thinking-orb__spark thinking-orb__spark--one`}),(0,Z.jsx)(`span`,{className:`thinking-orb__spark thinking-orb__spark--two`}),(0,Z.jsx)(Qn,{className:`thinking-orb__icon h-4 w-4`})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 max-w-[85%] min-w-0`,children:[(0,Z.jsxs)(`span`,{className:`thinking-label text-xs font-medium text-primary px-1`,children:[(0,Z.jsx)(`span`,{children:e(`chat:thinking`)}),(0,Z.jsxs)(`span`,{className:`thinking-dots`,"aria-hidden":!0,children:[(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{})]})]}),(0,Z.jsxs)(`div`,{className:`thinking-panel rounded-2xl rounded-bl-md px-3 py-2 border text-foreground/80`,children:[(0,Z.jsxs)(`div`,{className:`thinking-wave`,"aria-hidden":!0,children:[(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{})]}),(0,Z.jsx)(`pre`,{className:`thinking-text whitespace-pre-wrap break-words font-sans text-xs leading-relaxed italic max-h-32 overflow-hidden`,children:n||`…`})]})]})]})}function Rp(e){let{hasMessages:t,autoCollapseInput:n,sessionChanged:r,prevHadMessages:i,prevAutoCollapse:a}=e;return n&&t&&(r||!i||!a)}function zp(e,t){return typeof e==`function`?e(t):e}function Bp(){let{t:e}=H(),n=q(e=>e.messages),r=q(e=>e.isLoading),i=K(e=>e.sidebarOpen),o=K(e=>e.toggleSidebar),s=K(e=>e.compactMode),{totalTokens:c,startTime:l,lastInputTokens:u,maxContext:d,contextLimitWarning:f,cacheStats:p,iteration:m}=j(Mn(e=>({totalTokens:e.totalTokens,startTime:e.startTime,lastInputTokens:e.lastInputTokens,maxContext:e.maxContext,contextLimitWarning:e.contextLimitWarning,cacheStats:e.cacheStats,iteration:e.iteration}))),h=j(e=>e.session),g=P()??h?.id,_=K(e=>g?e.sessionNicknames[g]:void 0),v=K(e=>e.setSessionNickname),y=h?.title,[b,x]=(0,X.useState)(!1),[S,C]=(0,X.useState)(``),w=a(e=>e.entries),T=K(e=>e.chatSwitcherOpen),E=K(e=>e.setChatSwitcherOpen),D=(0,X.useCallback)(e=>{E(zp(e,K.getState().chatSwitcherOpen))},[E]),O=(0,X.useRef)(null);(0,X.useEffect)(()=>{if(!T)return;let e=e=>{O.current?.contains(e.target)||D(!1)},t=e=>{e.key===`Escape`&&D(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[T]);let{configProvider:k,configModel:A}=t(Mn(e=>({configProvider:e.provider,configModel:e.model}))),M=h?.provider||k,ee=h?.model||A,N=(0,X.useRef)(null),F=(0,X.useMemo)(()=>ss(n),[n]),te=(0,X.useRef)(0);te.current=F.length+1;let ne=(0,X.useMemo)(()=>{let e=new Map;return F.forEach((t,n)=>{if(t.kind===`user`)e.set(t.message.id,n);else if(t.kind===`agent`)for(let r of t.items)if(r.kind===`msg`)e.set(r.message.id,n);else for(let t of r.tools)e.set(t.id,n)}),e},[F]),I=K(e=>e.scrollTarget),L=U(e=>e.autonomy),re=U(e=>e.groupToolCalls),ie=U(e=>e.autoCollapseInput),ae=(0,X.useCallback)(e=>{U.getState().set({autonomy:e});try{let t=B();if(typeof t.switchAutonomy==`function`){t.switchAutonomy(e);return}t.send?.({type:`autonomy.switch`,payload:t.withSession?.({mode:e})??{mode:e}})}catch{}},[]),[z,oe]=(0,X.useState)(!1),se=K(e=>e.chatCheckpointOpen),ce=K(e=>e.setChatCheckpointOpen),le=(0,X.useCallback)(e=>{ce(zp(e,K.getState().chatCheckpointOpen))},[ce]),ue=K(e=>e.chatMemoryPanelOpen),de=K(e=>e.setChatMemoryPanelOpen),fe=(0,X.useCallback)(e=>{de(zp(e,K.getState().chatMemoryPanelOpen))},[de]),pe=K(e=>e.chatInputCollapsed),me=K(e=>e.setChatInputCollapsed),he=(0,X.useCallback)(e=>{me(zp(e,K.getState().chatInputCollapsed))},[me]),ge=(0,X.useRef)(r),_e=(0,X.useRef)(n.length>0),ve=(0,X.useRef)(g),ye=(0,X.useRef)(ie),be=K(e=>e.chatContextBreakdownOpen),xe=K(e=>e.setChatContextBreakdownOpen),Se=K(e=>e.chatToolStatsOpen),Ce=K(e=>e.setChatToolStatsOpen),we=(0,X.useCallback)(e=>{Ce(zp(e,K.getState().chatToolStatsOpen))},[Ce]),Te=K(e=>e.chatContextEditorOpen),Ee=K(e=>e.setChatContextEditorOpen),De=na(e=>Object.values(e.contextMemories).filter(e=>e.state!==`exited`).length);(0,X.useEffect)(()=>{let e=()=>fe(!0);return window.addEventListener(`open:memory-panel`,e),()=>window.removeEventListener(`open:memory-panel`,e)},[]),(0,X.useEffect)(()=>{let e=()=>xe(!0);return document.addEventListener(`open:context-breakdown`,e),()=>document.removeEventListener(`open:context-breakdown`,e)},[]),(0,X.useEffect)(()=>{let e=()=>Ee(!0);return document.addEventListener(`open:context-editor`,e),()=>document.removeEventListener(`open:context-editor`,e)},[]),(0,X.useEffect)(()=>{let e=()=>he(!1);return document.addEventListener(`chat:session-end`,e),document.addEventListener(`chat:next-step-countdown`,e),()=>{document.removeEventListener(`chat:session-end`,e),document.removeEventListener(`chat:next-step-countdown`,e)}},[]),(0,X.useEffect)(()=>{ge.current&&!r&&he(!1),ge.current=r},[r]),(0,X.useEffect)(()=>{let e=n.length>0,t=g!=null&&g!==ve.current;!r&&Rp({hasMessages:e,autoCollapseInput:ie,sessionChanged:t,prevHadMessages:_e.current,prevAutoCollapse:ye.current})&&he(!0),ve.current=g,_e.current=e,ye.current=ie},[n.length,ie,g,r]);let Oe=(0,X.useCallback)(()=>{let e=!U.getState().autoCollapseInput;U.getState().set({autoCollapseInput:e}),e||he(!1)},[]),ke=d>0&&u>0?Math.min(100,Math.round(u/d*100)):0,[Ae,je]=(0,X.useState)(!0),[Me,Ne]=(0,X.useState)(0),[Pe,Fe]=(0,X.useState)(!1),Ie=(0,X.useRef)(n.length),Le=(0,X.useCallback)(()=>{let e=N.current;if(!e)return;let t=e.scrollSize-e.scrollOffset-e.viewportSize<120;je(t),t&&(Ne(0),Ie.current=q.getState().messages.length),Fe(e.scrollOffset>e.viewportSize&&e.scrollSize>e.viewportSize*2.5)},[]),Re=(0,X.useCallback)(e=>{let t=B();R.getState().openTab(e,{resumeSession:e=>t.resumeSession?.(e)}),D(!1)},[]);(0,X.useEffect)(()=>{let e=N.current;if(e){if(Ae)e.scrollToIndex(te.current-1,{align:`end`}),Ie.current=n.length;else{let e=n.length-Ie.current;e>0&&Ne(e)}}},[n,Ae]),(0,X.useEffect)(()=>{je(!0),Ne(0),Ie.current=q.getState().messages.length,oe(!1),x(!1),requestAnimationFrame(()=>{N.current?.scrollToIndex(te.current-1,{align:`end`})})},[g]),(0,X.useEffect)(()=>{if(!I)return;let e=ne.get(I.id);e!==void 0&&N.current?.scrollToIndex(e,{align:`center`,smooth:!0})},[I,ne]);let ze=(0,X.useCallback)(()=>{N.current?.scrollToIndex(te.current-1,{align:`end`,smooth:!0}),je(!0),Ne(0),Ie.current=q.getState().messages.length},[]),Be=(0,X.useCallback)(()=>{N.current?.scrollToIndex(0,{align:`start`,smooth:!0})},[]),[Ve,He]=(0,X.useState)(null),[Ue,We]=(0,X.useState)(()=>Date.now()),Ge=(0,X.useRef)(null),Ke=n[n.length-1],qe=Ke?.role===`assistant`&&Ke.streaming&&Ke.content?Ke:null;(0,X.useEffect)(()=>{if(qe){let e=Ge.current;(!e||e.id!==qe.id)&&(Ge.current={id:qe.id,at:Date.now(),len:qe.content.length})}else Ge.current&&=null},[qe]);let Je=(0,X.useMemo)(()=>{let t=n[n.length-1],r=n.filter(e=>e.role===`tool`&&e.toolResult===void 0),i=e(`activity:chatView.thinking`);if(r.length>0){let t=Array.from(new Set(r.map(e=>e.toolName).filter(Boolean))),n=t.slice(0,2).join(`, `),a=t.length>2?` +${t.length-2}`:``;i=r.length===1?e(`activity:chatView.runningTool`,{tool:n||e(`activity:chatView.toolWord`)}):e(`activity:chatView.runningTools`,{count:r.length,preview:`${n}${a}`})}else t?.role===`assistant`&&t.content?i=e(`activity:chatView.writingReply`):t?.role===`tool`&&t.toolResult!==void 0&&(i=e(`activity:chatView.thinkingNextStep`));let a=Ve?Math.max(0,Math.floor((Ue-Ve)/1e3)):0,o=a<60?`${a}s`:`${Math.floor(a/60)}m ${a%60}s`,s=``;if(qe){let e=Ge.current;if(e&&e.id===qe.id){let t=Math.max(1,Ue-e.at),n=Math.max(0,qe.content.length-e.len);if(t>500&&n>0){let e=n*1e3/t;s=e>=1e3?`${(e/1e3).toFixed(1)}k ch/s`:`${Math.round(e)} ch/s`}}}return{label:i,elapsed:o,speedLabel:s}},[n,Ue,Ve,e,qe]);(0,X.useEffect)(()=>{r&&Ve===null&&He(Date.now()),!r&&Ve!==null&&He(null)},[r,Ve]),(0,X.useEffect)(()=>{if(!r)return;let e=setInterval(()=>We(Date.now()),500);return()=>clearInterval(e)},[r]);let Ye=e=>{if(!e)return`--`;let t=Math.floor((Date.now()-e)/1e3);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},Xe=(()=>{if(!r)return`idle`;let e=n[n.length-1];return e?.role===`assistant`&&e.content&&e.streaming?`streaming`:`thinking`})();return{messages:n,isLoading:r,sidebarOpen:i,toggleSidebar:o,compactMode:s,totalTokens:c,startTime:l,lastInputTokens:u,maxContext:d,contextLimitWarning:f,cacheStats:p,iteration:m,sessionId:g,nickname:_,sessionTitle:y,renamingTitle:b,setRenamingTitle:x,titleDraft:S,setTitleDraft:C,setSessionNickname:v,historyEntries:w,switcherOpen:T,setSwitcherOpen:D,switcherRef:O,handleHistorySelect:Re,provider:M,model:ee,vlistRef:N,rows:F,autonomy:L,groupToolCallsPref:re,autoCollapseInput:ie,handleAutonomyChange:ae,processOpen:z,setProcessOpen:oe,checkpointOpen:se,setCheckpointOpen:le,memoryPanelOpen:ue,setMemoryPanelOpen:fe,inputCollapsed:pe,setInputCollapsed:he,breakdownOpen:be,setBreakdownOpen:xe,toolStatsOpen:Se,setToolStatsOpen:we,editorOpen:Te,setEditorOpen:Ee,activeMemoryCount:De,handleToggleAutoCollapse:Oe,ctxPct:ke,pinnedToBottom:Ae,unreadCount:Me,scrolledDeep:Pe,handleScroll:Le,scrollToBottom:ze,scrollToTop:Be,runningStatus:Je,formatDuration:Ye,agentState:Xe,stateTone:Xe===`idle`?`bg-muted text-muted-foreground`:Xe===`streaming`?`bg-primary/10 text-primary`:`bg-warning/10 text-warning`,hasStatusContent:d>0&&u>0||c.input>0||!!l}}var Vp=(0,X.lazy)(()=>W(()=>import(`./ProcessMonitor-Baj9b1_B.js`).then(e=>({default:e.ProcessMonitor})),__vite__mapDeps([17,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25])));function Hp(){let{t:e}=H(),n=Bp(),a=P(),o=K(e=>e.subagentChatFocusId),s=K(e=>e.setSubagentChatFocus),c=K(e=>e.setSearchOpen),l=_(a??void 0),u=z(e=>o==null?void 0:e.agents.get(o)),d=!u||r(u.sessionId,a),f=!!u&&d,p=o!=null&&f&&o!==l;(0,X.useEffect)(()=>{(bf(o,f)||o!=null&&o===l)&&s(null,a)},[o,f,l,s,a]),(0,X.useEffect)(()=>{p&&c(!1)},[p,c]);let m=t(e=>e.wsStatus),h=n.sessionId,g=E(e=>n.sessionId?e.startedAt[n.sessionId]!==void 0:!1),v=E(e=>n.sessionId?e.progress[n.sessionId]:void 0),y=i(v),b=ve(v?.stage);return(0,X.useEffect)(()=>{!h||m.state!==`open`||B().getChimeraReports(h)},[h,m]),(0,Z.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0 bg-[hsl(var(--surface-2)/0.45)]`,children:[(0,Z.jsx)(Of,{sidebarOpen:n.sidebarOpen,toggleSidebar:n.toggleSidebar,agentState:n.agentState,stateTone:n.stateTone,sessionId:n.sessionId,renamingTitle:n.renamingTitle,setRenamingTitle:n.setRenamingTitle,titleDraft:n.titleDraft,setTitleDraft:n.setTitleDraft,nickname:n.nickname,sessionTitle:n.sessionTitle,setSessionNickname:n.setSessionNickname,historyEntries:n.historyEntries,switcherRef:n.switcherRef,switcherOpen:n.switcherOpen,setSwitcherOpen:n.setSwitcherOpen,handleHistorySelect:n.handleHistorySelect,iteration:n.iteration,autonomy:n.autonomy,handleAutonomyChange:n.handleAutonomyChange,memoryPanelOpen:n.memoryPanelOpen,setMemoryPanelOpen:n.setMemoryPanelOpen,activeMemoryCount:n.activeMemoryCount,processOpen:n.processOpen,setProcessOpen:n.setProcessOpen,checkpointOpen:n.checkpointOpen,setCheckpointOpen:n.setCheckpointOpen,toolStatsOpen:n.toolStatsOpen,setToolStatsOpen:n.setToolStatsOpen,hasStatusContent:n.hasStatusContent,lastInputTokens:n.lastInputTokens,ctxPct:n.ctxPct,maxContext:n.maxContext,cacheStats:n.cacheStats,setBreakdownOpen:n.setBreakdownOpen,contextLimitWarning:n.contextLimitWarning,setEditorOpen:n.setEditorOpen,totalTokens:n.totalTokens,startTime:n.startTime,formatDuration:n.formatDuration}),(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(`div`,{className:G(`ws-view-pane relative mx-2 mt-2 flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden rounded-xl border border-border/70 bg-card/55 shadow-sm sm:mx-3 lg:mx-4 lg:mt-3`,!p&&`ws-view-parked`),...p?{}:{inert:!0,"aria-hidden":!0},children:(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:p&&o!=null&&(0,Z.jsx)(Ip,{agentId:o},o)})}),(0,Z.jsxs)(`div`,{className:G(`ws-view-pane relative mx-2 mt-2 min-h-0 min-w-0 flex-1 overflow-hidden rounded-xl border border-border/70 bg-card/55 shadow-sm sm:mx-3 lg:mx-4 lg:mt-3`,p&&`ws-view-parked`),...p?{inert:!0,"aria-hidden":!0}:{},children:[(0,Z.jsx)(nf,{}),!n.pinnedToBottom&&(0,Z.jsxs)(`button`,{type:`button`,onClick:n.scrollToBottom,className:G(`absolute bottom-4 left-1/2 -translate-x-1/2 z-10 jump-bottom`,`flex items-center gap-2 px-4 py-2 rounded-md shadow-lg`,`bg-primary text-primary-foreground text-xs font-medium`,`hover:bg-primary/90 transition-colors animate-message`),children:[(0,Z.jsx)(Fe,{className:`h-3.5 w-3.5`}),n.unreadCount>0?`${n.unreadCount} new message${n.unreadCount===1?``:`s`}`:`Jump to latest`]}),n.scrolledDeep&&(0,Z.jsxs)(`button`,{type:`button`,onClick:n.scrollToTop,title:e(`chat:header.scrollTopTitle`),className:G(`absolute top-3 right-3 z-10`,`flex items-center gap-1 px-2.5 py-1 rounded-md shadow-md border`,`bg-background/90 backdrop-blur-sm text-[11px] text-muted-foreground`,`hover:text-foreground hover:bg-background transition-colors animate-message`),children:[(0,Z.jsx)(Bt,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:e(`activity:chatView.top`)})]}),n.rows.length===0&&!n.isLoading?(0,Z.jsx)(`div`,{className:`h-full overflow-y-auto overscroll-contain`,children:(0,Z.jsx)(`div`,{className:`mx-auto max-w-6xl w-full px-3 sm:px-5 lg:px-6 pt-4 pb-8`,children:g?(0,Z.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-3 py-16 text-center`,role:`status`,"aria-live":`polite`,children:[(0,Z.jsxs)(`div`,{className:`relative h-12 w-12`,"aria-hidden":`true`,children:[(0,Z.jsx)(`div`,{className:`absolute inset-0 rounded-full border-2 border-muted-foreground/20`}),(0,Z.jsx)(`div`,{className:`absolute inset-0 rounded-full border-2 border-transparent border-t-primary animate-spin`}),(0,Z.jsx)(`div`,{className:`absolute inset-1.5 rounded-full bg-background/80`}),(0,Z.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-[11px] font-semibold tabular-nums text-foreground`,children:y===null?`...`:`${y}%`})]}),(0,Z.jsx)(`p`,{className:`text-sm font-medium`,children:e(`activity:chatView.restoringTranscript`)}),(0,Z.jsxs)(`div`,{className:`w-full max-w-sm`,children:[(0,Z.jsxs)(`div`,{className:`mb-1 flex items-center justify-between gap-3 text-[11px] text-muted-foreground`,children:[(0,Z.jsx)(`span`,{className:`truncate`,children:b}),v&&v.totalBytes>0?(0,Z.jsxs)(`span`,{className:`shrink-0 tabular-nums`,children:[w(v.loadedBytes),` /`,` `,w(v.totalBytes)]}):(0,Z.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:`reading...`})]}),(0,Z.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,Z.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width] duration-200 ease-out`,style:{width:`${y??12}%`}})})]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground max-w-sm`,children:e(`activity:chatView.restoringTranscriptHint`)})]}):(0,Z.jsx)(_f,{})})}):(0,Z.jsxs)(zt,{ref:n.vlistRef,className:`h-full`,onScroll:n.handleScroll,role:`log`,"aria-label":e(`activity:chatView.chatTranscript`),"aria-live":`polite`,children:[n.rows.map((e,t)=>(0,Z.jsx)(Mp,{row:e,isLoading:n.isLoading,compactMode:n.compactMode,isFirstRow:t===0,groupToolCalls:n.groupToolCallsPref,sessionId:n.sessionId??`__unbound__`},e.key)),(0,Z.jsxs)(`div`,{id:`chat-activity`,className:G(`mx-auto max-w-6xl w-full px-3 sm:px-5 lg:px-6`,n.compactMode?`pb-3`:`pb-8`),children:[(0,Z.jsx)(Lp,{}),n.isLoading&&(0,Z.jsxs)(`div`,{className:`flex gap-3 animate-message`,children:[(0,Z.jsx)(`div`,{className:`flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center bg-accent text-accent-foreground ring-2 ring-offset-2 ring-offset-background ring-accent/20`,children:(0,Z.jsx)(Fi,{className:`h-4 w-4`})}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:(0,Z.jsx)(`div`,{className:`rounded-lg px-4 py-3 bg-card border border-border/70 text-foreground shadow-sm`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 text-sm`,children:[(0,Z.jsxs)(`span`,{className:`flex gap-1`,children:[(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary/70 animate-bounce [animation-delay:-0.3s]`}),(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary/70 animate-bounce [animation-delay:-0.15s]`}),(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary/70 animate-bounce`})]}),(0,Z.jsx)(`span`,{className:`text-foreground/90`,children:n.runningStatus.label}),(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:n.runningStatus.elapsed}),n.iteration&&(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:[`· iter `,n.iteration.index,n.iteration.max>0?`/${n.iteration.max}`:``]}),n.runningStatus.speedLabel&&(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground/80 tabular-nums`,children:[`· `,n.runningStatus.speedLabel]})]})})})]})]},`__live`)]},n.sessionId??`__unbound__`)]})]}),(0,Z.jsx)(`div`,{className:G(`ws-view-pane shrink-0 bg-[hsl(var(--surface-2)/0.45)] px-2 pb-2 pt-2 sm:px-3 lg:px-4 lg:pb-3`,p&&`ws-view-parked`),...p?{inert:!0,"aria-hidden":!0}:{},children:n.inputCollapsed&&n.messages.length>0?(0,Z.jsxs)(`div`,{className:`flex items-center gap-1 rounded-lg border border-border/60 bg-card/40 px-3 py-1.5 hover:bg-card/70 hover:border-border/80 transition-colors`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>n.setInputCollapsed(!1),className:`flex flex-1 items-center gap-2 text-xs text-muted-foreground/60 hover:text-foreground/80 transition-colors`,children:[(0,Z.jsx)(Br,{className:`h-3.5 w-3.5 shrink-0`}),(0,Z.jsx)(`span`,{children:e(`chat:input.expandInput`,`Expand input`)}),n.rows.length>0&&(0,Z.jsxs)(`span`,{className:`ml-auto tabular-nums text-[10px] text-muted-foreground/40`,children:[n.rows.length,` msgs ·`,` `,is(n.totalTokens.input+n.totalTokens.output)]})]}),n.isLoading&&(0,Z.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),B().sendAbort(n.sessionId??void 0),q.getState().setLoading(!1)},className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-[11px] font-medium bg-destructive/15 text-destructive hover:bg-destructive/25 transition-colors`,title:e(`chat:input.abortTitle`,`Stop/Abort`),"data-testid":`collapsed-stop`,children:[(0,Z.jsx)(lt,{className:`h-3 w-3 fill-current`}),(0,Z.jsx)(`span`,{children:e(`common:action.stop`,`Stop`)})]}),(0,Z.jsx)(xf,{label:e(`activity:chatView.autoCollapse`),value:n.autoCollapseInput,onChange:n.handleToggleAutoCollapse})]}):(0,Z.jsxs)(Z.Fragment,{children:[n.messages.length>0&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>n.setInputCollapsed(!0),className:`mb-1 flex w-full items-center gap-1.5 rounded px-2 py-0.5 text-[10px] text-muted-foreground/50 hover:text-muted-foreground/80 transition-colors`,children:[(0,Z.jsx)(pr,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:e(`chat:input.collapseInput`,`Collapse`)})]}),(0,Z.jsx)($d,{}),(0,Z.jsx)(Sf,{hasStatusContent:n.hasStatusContent,totalTokens:n.totalTokens,rowsCount:n.rows.length,iteration:n.iteration,startTime:n.startTime,formatDuration:n.formatDuration,onToggleAutoCollapse:n.handleToggleAutoCollapse}),(0,Z.jsx)(`div`,{className:`ws-chat-input-wrap p-0`,children:(0,Z.jsx)(`div`,{className:`max-w-6xl mx-auto`,children:(0,Z.jsx)(Sd,{onOpenBreakdown:()=>n.setBreakdownOpen(!0)})})})]})}),(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Vp,{open:n.processOpen,onClose:()=>n.setProcessOpen(!1)})}),(0,Z.jsx)(wd,{open:n.checkpointOpen,onClose:()=>n.setCheckpointOpen(!1)}),(0,Z.jsx)(fs,{open:n.breakdownOpen,onClose:()=>n.setBreakdownOpen(!1)}),(0,Z.jsx)(ff,{open:n.toolStatsOpen,onClose:()=>n.setToolStatsOpen(!1)}),(0,Z.jsx)(Hd,{open:n.editorOpen,onClose:()=>n.setEditorOpen(!1)}),(0,Z.jsx)(Pu,{open:n.memoryPanelOpen,onClose:()=>n.setMemoryPanelOpen(!1)})]})}function Up(e,t=!0){let n=(0,X.useRef)(null);return(0,X.useEffect)(()=>{if(!t)return;let r=n.current;if(!r)return;let i=requestAnimationFrame(()=>{let t=K.getState().scrollPositions[e];typeof t==`number`&&t>0&&(r.scrollTop=t)});return()=>cancelAnimationFrame(i)},[]),(0,X.useEffect)(()=>{if(!t)return;let r=n.current;if(!r)return;let{setScrollPosition:i}=K.getState();return()=>{i(e,r.scrollTop)}},[e]),n}function Wp(){let{t:e}=H(),t=na(e=>e.contextMemories),n=na(e=>e.transitions),r=Object.values(t).sort((e,t)=>t.lastSeenAt.localeCompare(e.lastSeenAt)),i=r.filter(e=>e.state===`active`),a=r.filter(e=>e.state===`injected`),o=r.filter(e=>e.state===`exited`);return(0,Z.jsxs)(`section`,{className:`rounded-md border border-primary/20 bg-primary/[0.025]`,"aria-label":e(`activity:ctxMonitor.contextMemoryMonitor`),children:[(0,Z.jsxs)(`header`,{className:`flex items-center gap-2 border-b border-border/60 px-3 py-2`,children:[(0,Z.jsx)(zi,{className:`size-4 text-primary`}),(0,Z.jsx)(`h2`,{className:`text-xs font-semibold`,children:e(`activity:ctxMonitor.contextMemoryMonitor`)}),(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMonitor.exactProviderBoundPresence`)}),(0,Z.jsxs)(`div`,{className:`ml-auto flex gap-2 font-mono text-[10px]`,children:[(0,Z.jsxs)(`span`,{className:`text-success`,children:[i.length,` ctx`]}),(0,Z.jsxs)(`span`,{className:`text-warning`,children:[a.length,` pending`]}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,children:[o.length,` left`]})]})]}),r.length===0?(0,Z.jsx)(`p`,{className:`px-3 py-4 text-xs text-muted-foreground`,children:e(`activity:ctxMonitor.noSageHasEnteredThisSession`)}):(0,Z.jsxs)(`div`,{className:`grid gap-3 p-3 xl:grid-cols-[minmax(0,2fr)_minmax(260px,1fr)]`,children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-wide text-muted-foreground`,children:e(`activity:ctxMonitor.memoryPresence`)}),r.slice(0,20).map(e=>(0,Z.jsxs)(`article`,{className:G(`border px-3 py-2 text-[10px]`,e.state===`exited`?`border-border/50 bg-muted/20 opacity-65`:`border-primary/25 bg-background/55`),children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:G(`border px-1.5 py-0.5 font-bold uppercase`,e.state===`exited`?`border-border text-muted-foreground`:e.state===`active`?`border-success/35 text-success`:`border-warning/35 text-warning`),children:e.state}),(0,Z.jsx)(`span`,{className:`font-mono font-bold text-primary`,children:e.id}),(0,Z.jsxs)(`span`,{className:`font-mono text-muted-foreground`,children:[e.kind,` · `,e.persistence]}),(0,Z.jsxs)(`span`,{className:`ml-auto font-mono text-muted-foreground`,children:[`score `,e.score.toFixed(2),` · conf `,e.confidence.toFixed(2),` · fresh`,` `,e.freshness.toFixed(2)]})]}),(0,Z.jsx)(`p`,{className:`mt-1.5 text-[11px] leading-5 text-foreground`,children:e.text}),(0,Z.jsxs)(`p`,{className:`mt-1 text-muted-foreground`,children:[`why: `,e.activationReasons.join(` · `)||`context snapshot`]}),(e.anchors.length>0||e.tags.length>0)&&(0,Z.jsx)(`p`,{className:`mt-1 truncate font-mono text-muted-foreground`,title:[...e.anchors,...e.tags.map(e=>`#${e}`)].join(` · `),children:[...e.anchors,...e.tags.map(e=>`#${e}`)].join(` · `)})]},e.id))]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-wide text-muted-foreground`,children:e(`activity:ctxMonitor.cameWent`)}),n.slice(0,30).map(e=>(0,Z.jsxs)(`div`,{className:`flex gap-2 border-b border-border/40 py-1.5 text-[10px] last:border-b-0`,children:[e.action===`exited`?(0,Z.jsx)(et,{className:`mt-0.5 size-3 shrink-0 text-muted-foreground`}):(0,Z.jsx)(st,{className:`mt-0.5 size-3 shrink-0 text-success`}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsxs)(`p`,{className:`font-mono`,children:[(0,Z.jsx)(`span`,{className:e.action===`exited`?`text-muted-foreground`:`text-success`,children:e.action}),` `,e.memoryId]}),(0,Z.jsx)(`p`,{className:`truncate text-muted-foreground`,children:e.reason})]}),(0,Z.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1 text-muted-foreground`,children:[(0,Z.jsx)(Dn,{className:`size-2.5`}),` `,new Date(e.at).toLocaleTimeString()]})]},e.id))]})]})]})}function Gp(){let{t:e}=H(),t=Qi(e=>e.items),n=Qi(e=>e.clear);return(0,Z.jsxs)(`section`,{className:`shrink-0 border-b border-border/60 bg-info/[0.025]`,"aria-label":e(`activity:memoryManager.lifecycleAria`),children:[(0,Z.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-4`,children:[(0,Z.jsx)(li,{className:`size-3.5 text-info`}),(0,Z.jsx)(`span`,{className:`text-[10px] font-bold uppercase tracking-wide text-info`,children:e(`activity:memoryManager.lifecycleHeading`)}),(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:t.length===0?e(`activity:memoryManager.statusWaiting`):e(`activity:memoryManager.statusLive`,{count:t.length})}),t.length>0&&(0,Z.jsxs)(Y,{type:`button`,variant:`ghost`,size:`sm`,className:`ml-auto h-6 px-2 text-[10px]`,onClick:n,children:[(0,Z.jsx)(Rt,{className:`size-3`}),` `,e(`common:action.clear`)]})]}),t.length>0?(0,Z.jsx)(`div`,{className:`max-h-20 overflow-y-auto border-t border-border/40`,children:t.slice(0,8).map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/30 px-4 py-1 text-[10px] last:border-b-0`,children:[(0,Z.jsx)(Kp,{action:e.action}),(0,Z.jsx)(`span`,{className:G(`font-mono font-semibold`,qp(e.action)),children:e.label}),e.detail&&(0,Z.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,title:e.detail,children:e.detail}),(0,Z.jsx)(`time`,{className:`ml-auto shrink-0 text-muted-foreground`,children:new Date(e.at).toLocaleTimeString()})]},e.id))}):null]})}function Kp({action:e}){let t=G(`size-3 shrink-0`,qp(e));return e===`entered`||e===`recovered`?(0,Z.jsx)(cr,{className:t}):e===`exited`?(0,Z.jsx)(Ur,{className:t}):e===`related`?(0,Z.jsx)(wn,{className:t}):(0,Z.jsx)(Bi,{className:t})}function qp(e){return e===`entered`||e===`recovered`?`text-success`:e===`exited`?`text-destructive`:e===`related`?`text-primary`:`text-info`}var Jp=[{labelKey:`activity:ctxDash.zoneSafe`,emoji:`🟢`,color:`text-success`,bg:`bg-success/10`,text:`text-success`,cssColor:`hsl(var(--success))`,from:0,to:60,descKey:`activity:ctxDash.zoneSafeDesc`},{labelKey:`activity:ctxDash.zoneWarning`,emoji:`🟡`,color:`text-warning`,bg:`bg-warning/10`,text:`text-warning`,cssColor:`hsl(var(--warning))`,from:60,to:85,descKey:`activity:ctxDash.zoneWarningDesc`},{labelKey:`activity:ctxDash.zoneCritical`,emoji:`🔴`,color:`text-destructive`,bg:`bg-destructive/10`,text:`text-destructive`,cssColor:`hsl(var(--destructive))`,from:85,to:95,descKey:`activity:ctxDash.zoneCriticalDesc`},{labelKey:`activity:ctxDash.zoneDanger`,emoji:`⚫`,color:`text-brand-orange`,bg:`bg-brand-orange/15`,text:`text-brand-orange`,cssColor:`hsl(var(--brand-orange))`,from:95,to:100,descKey:`activity:ctxDash.zoneDangerDesc`}];function Yp(e){return e>95?Jp[3]:e>85?Jp[2]:e>60?Jp[1]:Jp[0]}function Xp(e){if(!e)return`—`;let t=Date.now()-e,n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4),i=Math.floor(t%6e4/1e3);return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function Zp({title:e,icon:t,children:n,className:r,accent:i}){let a=i===`danger`?`text-destructive`:i===`warning`?`text-warning`:i===`success`?`text-success`:`text-muted-foreground`,o=i===`danger`?`bg-destructive/5`:i===`warning`?`bg-warning/5`:i===`success`?`bg-success/5`:``;return(0,Z.jsxs)(`div`,{className:G(`rounded-xl border bg-card/80 backdrop-blur-sm p-4 space-y-3`,`shadow-sm transition-shadow hover:shadow-md`,`ring-1 ring-border/40`,o,r),children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-bold tracking-tight text-foreground`,children:[(0,Z.jsx)(`span`,{className:G(`flex items-center justify-center h-6 w-6 rounded-lg`,o,i!=="default"&&`ring-1 ring-inset`),children:(0,Z.jsx)(t,{className:G(`h-3.5 w-3.5`,a)})}),e]}),n]})}function Qp({label:e,value:t,color:n}){return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-xs py-0.5`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,Z.jsx)(`span`,{className:G(`tabular-nums font-mono font-semibold px-1.5 py-0.5 rounded`,n??`text-foreground`),children:t})]})}function $p({pct:e,size:t=96,strokeWidth:n=10}){let r=Math.max(0,Math.min(100,e)),i=(t-n)/2,a=2*Math.PI*i,o=r/100*a,s=Yp(r).cssColor;return(0,Z.jsxs)(`svg`,{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:`drop-shadow-lg`,children:[(0,Z.jsxs)(`title`,{children:[`Context usage: `,r.toFixed(0),`%`]}),(0,Z.jsx)(`circle`,{cx:t/2,cy:t/2,r:i,fill:`none`,stroke:`hsl(var(--muted))`,strokeWidth:n,opacity:.3}),(0,Z.jsx)(`circle`,{cx:t/2,cy:t/2,r:i,fill:`none`,stroke:s,strokeWidth:n,strokeLinecap:`round`,strokeDasharray:`${o} ${a-o}`,strokeDashoffset:0,className:`transition-all duration-1000 ease-out`,style:{transformOrigin:`center`,transform:`rotate(-90deg)`}}),(0,Z.jsx)(`circle`,{cx:t/2,cy:t/2,r:i-n/2+2,fill:`hsl(var(--card))`,className:`drop-shadow-sm`}),(0,Z.jsxs)(`text`,{x:t/2,y:t/2,textAnchor:`middle`,dominantBaseline:`central`,fill:s,className:`text-lg font-bold font-mono tabular-nums`,style:{fontSize:t*.16},children:[r.toFixed(0),`%`]})]})}function em({value:e,suffix:t=``,duration:n=800}){let[r,i]=(0,X.useState)(0),a=(0,X.useRef)(0),o=(0,X.useRef)(void 0);return(0,X.useEffect)(()=>{let t=a.current,r=performance.now(),s=e-t;if(Math.abs(s)<1){i(e),a.current=e;return}let c=l=>{let u=l-r,d=Math.min(1,u/n),f=1-(1-d)**3;i(Math.round(t+s*f)),d<1?o.current=requestAnimationFrame(c):a.current=e};return o.current=requestAnimationFrame(c),()=>{o.current&&cancelAnimationFrame(o.current)}},[e,n]),(0,Z.jsxs)(Z.Fragment,{children:[r.toLocaleString(),t]})}function tm({pct:e,tokens:t,maxTokens:n}){let{t:r}=H(),i=Yp(e),a=e>85?`danger`:e>60?`warning`:`success`;return(0,Z.jsxs)(Zp,{title:r(`activity:ctxDash.contextPressure`),icon:at,accent:a,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-center gap-4`,children:[(0,Z.jsx)(`div`,{className:G(`shrink-0 transition-all duration-500`,e>85&&`animate-[pulse_2s_ease-in-out_infinite] drop-shadow-[0_0_12px_hsl(var(--destructive)/0.35)]`),children:(0,Z.jsx)($p,{pct:e,size:96,strokeWidth:10})}),(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-2 w-full`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`text-xl`,children:i.emoji}),(0,Z.jsx)(`div`,{className:`flex-1`,children:(0,Z.jsx)($s,{pct:Math.round(e),tokens:t,maxTokens:n,segments:10,variant:`iridescent`})})]}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-3 gap-1 text-[10px] font-mono tabular-nums`,children:[(0,Z.jsxs)(`div`,{className:`rounded bg-muted/30 px-2 py-1 text-center`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground block text-[9px]`,children:r(`activity:ctxDash.used`)}),(0,Z.jsx)(`span`,{className:G(`font-bold`,i.color),children:(0,Z.jsx)(em,{value:t})})]}),(0,Z.jsxs)(`div`,{className:`rounded bg-muted/30 px-2 py-1 text-center`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground block text-[9px]`,children:r(`activity:ctxDash.free`)}),(0,Z.jsx)(`span`,{className:`font-bold text-muted-foreground/80`,children:(0,Z.jsx)(em,{value:Math.max(0,n-t)})})]}),(0,Z.jsxs)(`div`,{className:`rounded bg-muted/30 px-2 py-1 text-center`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground block text-[9px]`,children:r(`activity:ctxDash.capacity`)}),(0,Z.jsx)(`span`,{className:`font-bold text-muted-foreground/80`,children:(0,Z.jsx)(em,{value:n})})]})]})]})]}),(0,Z.jsxs)(`div`,{className:`relative h-4 mt-1`,children:[(0,Z.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-2 rounded-full overflow-hidden flex`,children:Jp.map(e=>{let t=(e.to-e.from)/100*100;return(0,Z.jsx)(`div`,{className:`h-full first:rounded-l-full last:rounded-r-full opacity-60`,style:{width:`${t}%`,backgroundColor:e.cssColor}},r(e.labelKey))})}),(0,Z.jsxs)(`div`,{className:`absolute top-3 text-[10px] text-muted-foreground flex w-full`,children:[(0,Z.jsx)(`span`,{children:`0%`}),(0,Z.jsx)(`span`,{className:`ml-[56%]`,children:`soft`}),(0,Z.jsx)(`span`,{className:`ml-[12%]`,children:`hard`}),(0,Z.jsx)(`span`,{className:`ml-[8%]`,children:`max`}),(0,Z.jsx)(`span`,{className:`ml-auto`,children:`100%`})]})]}),(0,Z.jsx)(`div`,{className:`relative h-5 mt-1`,children:(0,Z.jsx)(`div`,{className:`absolute top-0 -translate-x-1/2 flex flex-col items-center transition-all duration-500`,style:{left:`${Math.min(95,e)}%`},children:(0,Z.jsxs)(`span`,{className:G(`text-[9px] font-mono px-1.5 py-0.5 rounded border transition-colors`,i.bg,i.text,`border-current/30`),children:[`◀ `,e.toFixed(0),`%`]})})})]})}function nm({data:e,loading:t}){let{t:n}=H();if(t)return(0,Z.jsx)(Zp,{title:n(`activity:ctxDash.contextComposition`),icon:Ri,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground py-2`,children:[(0,Z.jsx)(Bi,{className:`h-3 w-3 animate-spin`}),n(`activity:ctxDash.fetchingCompositionData`)]})});if(!e||e.total<=0)return(0,Z.jsx)(Zp,{title:n(`activity:ctxDash.contextComposition`),icon:Ri,children:(0,Z.jsx)(`div`,{className:`text-xs text-muted-foreground py-1`,children:n(`activity:ctxDash.noCompositionDataAvailableYetRun`)})});let r=[{icon:Tr,label:n(`activity:ctxDash.systemPrompt`),value:e.systemPrompt,className:`bg-info`},{icon:si,label:n(`activity:ctxDash.tools`),value:e.tools.total,className:`bg-warning`},{icon:Te,label:n(`activity:ctxDash.messages`),value:e.messages.total,className:`bg-success`}];return(0,Z.jsxs)(Zp,{title:n(`activity:ctxDash.contextComposition`),icon:Ri,children:[(0,Z.jsx)(`div`,{className:`h-3 w-full overflow-hidden rounded-full bg-muted flex`,children:r.map(t=>{let n=t.value/e.total*100;return n<=0?null:(0,Z.jsx)(`span`,{className:G(`h-full first:rounded-l-full last:rounded-r-full transition-all`,t.className),style:{width:`${n}%`}},t.label)})}),(0,Z.jsx)(`div`,{className:`space-y-1`,children:r.map(t=>{let n=(t.value/e.total*100).toFixed(1);return(0,Z.jsx)(Qp,{label:`${t.label}`,value:`${Vs(t.value)} (${n}%)`},t.label)})}),e.tools.breakdown.length>0&&(0,Z.jsxs)(`div`,{className:`pt-1 border-t border-border/50`,children:[(0,Z.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground font-semibold`,children:n(`activity:ctxDash.toolBreakdown`)}),(0,Z.jsx)(`div`,{className:`mt-1 space-y-0.5`,children:e.tools.breakdown.slice(0,5).map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-xs py-0.5`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-muted-foreground`,children:e.name}),(0,Z.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:Vs(e.tokens)})]},e.name))})]})]})}function rm({pct:e}){let{t}=H();return(0,Z.jsxs)(Zp,{title:t(`activity:ctxDash.thresholdMap`),icon:zr,children:[(0,Z.jsx)(`div`,{className:`flex h-2 rounded-full overflow-hidden`,children:Jp.map(e=>(0,Z.jsx)(`div`,{className:`h-full first:rounded-l-full last:rounded-r-full opacity-80`,style:{width:`${(e.to-e.from)/100*100}%`,backgroundColor:e.cssColor}},t(e.labelKey)))}),(0,Z.jsx)(`div`,{className:`space-y-0.5 text-xs`,children:Jp.map(n=>{let r=e>=n.from&&e<n.to;return(0,Z.jsxs)(`div`,{className:G(`flex items-center px-2 py-1 rounded`,r?n.bg:``),children:[(0,Z.jsx)(`span`,{className:`w-5`,children:n.emoji}),(0,Z.jsx)(`span`,{className:G(`w-20 font-medium`,r?n.text:`text-muted-foreground`),children:t(n.labelKey)}),(0,Z.jsxs)(`span`,{className:`w-16 text-muted-foreground`,children:[n.from,`%–`,n.to,`%`]}),(0,Z.jsx)(`span`,{className:`flex-1 text-muted-foreground`,children:t(n.descKey)}),r&&(0,Z.jsx)(`span`,{className:`text-xs font-mono`,children:`◀`})]},t(n.labelKey))})}),(0,Z.jsx)(Qp,{label:t(`activity:ctxDash.currentPosition`),value:`${e.toFixed(1)}% → ${Yp(e).emoji} ${t(Yp(e).labelKey)}`,color:Yp(e).color}),(0,Z.jsx)(Qp,{label:t(`activity:ctxDash.compactTrigger`),value:`85%`}),(0,Z.jsx)(Qp,{label:t(`activity:ctxDash.hardLimit`),value:`100%`})]})}function im({pct:e,maxTokens:t}){let{t:n}=H(),r=Math.round(t*.18),i=Math.round(t*.85),a=e>65,o=t>0?e/100:0;return(0,Z.jsx)(Zp,{title:n(`activity:ctxDash.compactionEngine`),icon:nt,accent:a?`warning`:`success`,children:(0,Z.jsxs)(`div`,{className:`space-y-2 text-xs`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:n(`activity:ctxDash.strategy`)}),(0,Z.jsx)(`span`,{className:`font-semibold text-foreground/90`,children:`hybrid`}),(0,Z.jsx)(`span`,{className:`text-success bg-success/10 px-1.5 rounded text-[9px] font-semibold`,children:n(`activity:ctxDash.auto`)})]}),(0,Z.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,Z.jsxs)(`div`,{className:`flex justify-between text-[9px] text-muted-foreground`,children:[(0,Z.jsx)(`span`,{children:n(`activity:ctxDash.current`)}),(0,Z.jsxs)(`span`,{children:[`Trigger (`,Vs(i),`)`]})]}),(0,Z.jsxs)(`div`,{className:`relative h-2 w-full overflow-hidden rounded-full bg-muted/50 ring-1 ring-inset ring-border/20`,children:[(0,Z.jsx)(`span`,{className:G(`absolute inset-y-0 left-0 rounded-full transition-all duration-700`,a?`bg-warning`:`bg-success`),style:{width:`${Math.max(2,o*100)}%`}}),(0,Z.jsx)(`span`,{className:`absolute top-0 bottom-0 w-0.5 bg-destructive/60`,style:{left:`85%`}})]}),(0,Z.jsxs)(`div`,{className:`flex justify-between text-[9px] text-foreground/70`,children:[(0,Z.jsx)(`span`,{children:Vs(Math.round(t*o))}),(0,Z.jsx)(`span`,{className:`text-destructive/70`,children:Vs(i)})]})]}),(0,Z.jsx)(Qp,{label:n(`activity:ctxDash.nextTrigger`),value:`${Vs(i)} (85%)`}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-xs py-0.5`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:n(`activity:ctxDash.estRecovery`)}),(0,Z.jsxs)(`span`,{className:`tabular-nums font-mono font-semibold px-1.5 py-0.5 rounded text-success bg-success/10`,children:[`~`,Vs(r)]})]}),(0,Z.jsx)(Qp,{label:n(`activity:ctxDash.recommendation`),value:a?`⚠️ Compact now`:`✅ No compaction needed`,color:a?`text-warning`:`text-success`}),a&&(0,Z.jsxs)(`div`,{className:`bg-warning/5 border border-warning/20 rounded p-2 text-[10px] text-warning/90 mt-1`,children:[`Context at `,e.toFixed(1),`% — compacting recovers ~`,Vs(r),` tokens.`]})]})})}function am({agents:e}){let{t}=H(),n=e.filter(e=>e.ctxPct!=null&&e.ctxPct>0);return n.length===0?null:(0,Z.jsx)(Zp,{title:t(`activity:ctxDash.perAgentFootprint`),icon:tr,children:(0,Z.jsx)(`div`,{className:`space-y-2`,children:n.map(e=>{let t=Yp(e.ctxPct),n=e.name||e.id,r=e.id===`__leader__`;return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[(0,Z.jsx)(`span`,{className:`w-4`,children:r?`👑`:` `}),(0,Z.jsx)(`span`,{className:`w-24 truncate font-mono text-muted-foreground`,title:n,children:n}),(0,Z.jsx)(`div`,{className:`flex-1 max-w-[200px]`,children:(0,Z.jsx)(ec,{pct:Math.round(e.ctxPct),tokens:e.ctxTokens,maxTokens:e.maxContext,showTokens:!1})}),(0,Z.jsxs)(`span`,{className:G(`tabular-nums w-10 text-right`,t.color),children:[Math.round(e.ctxPct),`%`]})]},e.id)})})})}function om({tokens:e,maxTokens:t,pct:n,model:r,provider:i,mode:a,uptime:o,iteration:s,contextMode:c}){let{t:l}=H(),u=t-e,d=t>0?(u/t*100).toFixed(1):`0.0`;return(0,Z.jsx)(Zp,{title:l(`activity:ctxDash.tokenMetrics`),icon:gr,children:(0,Z.jsxs)(`div`,{className:`space-y-1 text-xs`,children:[(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.used`),value:Vs(e)}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.free`),value:`${Vs(u)} (${d}%)`}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.capacity`),value:Vs(t)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 pt-1`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:l(`activity:ctxDash.utilization`)}),(0,Z.jsx)(`div`,{className:`flex-1 max-w-[200px]`,children:(0,Z.jsx)(ec,{pct:Math.round(n),tokens:e,maxTokens:t})})]}),(0,Z.jsx)(`div`,{className:`border-t border-border/50 pt-1 mt-1`}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.model`),value:`${r} · ${i}`}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.mode`),value:a}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.contextMode`),value:c}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.iteration`),value:s}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.uptime`),value:o})]})})}function sm({model:e,provider:t,mode:n,uptime:r,projectName:i,cwd:a,contextMode:o}){let{t:s}=H();return(0,Z.jsx)(Zp,{title:s(`activity:ctxDash.session`),icon:jr,children:(0,Z.jsxs)(`div`,{className:`space-y-1 text-xs`,children:[(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.provider`),value:t}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.model`),value:e}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.mode`),value:n}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.contextMode`),value:o}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.project`),value:i||a}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.uptime`),value:r})]})})}function cm(){let{t:e}=H(),n=K(e=>e.setCurrentView),{lastInputTokens:i,maxContext:a,mode:o,contextMode:s,startTime:c,session:l,iteration:u,projectName:d,cwd:f}=j(Mn(e=>({lastInputTokens:e.lastInputTokens,maxContext:e.maxContext,mode:e.mode,contextMode:e.contextMode,startTime:e.startTime,session:e.session,iteration:e.iteration,projectName:e.projectName,cwd:e.cwd}))),p=P(),m=z(Mn(e=>[...e.agents.values()].filter(e=>r(e.sessionId,p)))),h=t(e=>e.wsUrl),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(null),S=(0,X.useRef)(0),C=(0,X.useRef)(null),w=()=>{C.current?.(),C.current=null;let e=B(h);if(!e?.send){x(`WebSocket not connected`);return}let t=++S.current;y(!0),x(null);let n=e.withSession({}).sessionId;e.send({type:`context.debug`,payload:e.withSession({})},{echoToChat:!1});let r=!1,i,a=e.on(`context.debug`,e=>{if(r||e.type!==`context.debug`||S.current!==t)return;let o=e.payload?.sessionId;(n===void 0||o===void 0||o===n)&&(r=!0,i!==void 0&&clearTimeout(i),_(e.payload),y(!1),a())});C.current=a,i=setTimeout(()=>{r||(r=!0,S.current===t&&(y(!1),x(`No response from server`),a()))},5e3)};(0,X.useEffect)(()=>(_(null),w(),()=>{S.current++,C.current?.(),C.current=null}),[h,p]);let T=l?.model??`—`,E=l?.provider??`—`,D=a>0?Math.min(100,i/a*100):0,O=Xp(c),k=u?`${u.index} / ${u.max}`:`—`,A=Yp(D),M=e=>({animation:`fadeInUp 0.4s ease-out ${e*.08}s both`});return(0,Z.jsxs)(`div`,{ref:Up(`context`),className:`flex-1 min-h-0 overflow-y-auto overscroll-contain`,children:[(0,Z.jsx)(`style`,{children:`
128
+ `).trim();return(0,Z.jsxs)(`div`,{className:`flex gap-3 animate-message thinking-bubble`,"aria-live":`polite`,children:[(0,Z.jsxs)(`div`,{className:`thinking-orb flex-shrink-0`,"aria-hidden":!0,children:[(0,Z.jsx)(`span`,{className:`thinking-orb__ring`}),(0,Z.jsx)(`span`,{className:`thinking-orb__ring thinking-orb__ring--delay`}),(0,Z.jsx)(`span`,{className:`thinking-orb__spark thinking-orb__spark--one`}),(0,Z.jsx)(`span`,{className:`thinking-orb__spark thinking-orb__spark--two`}),(0,Z.jsx)(Qn,{className:`thinking-orb__icon h-4 w-4`})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 max-w-[85%] min-w-0`,children:[(0,Z.jsxs)(`span`,{className:`thinking-label text-xs font-medium text-primary px-1`,children:[(0,Z.jsx)(`span`,{children:e(`chat:thinking`)}),(0,Z.jsxs)(`span`,{className:`thinking-dots`,"aria-hidden":!0,children:[(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{})]})]}),(0,Z.jsxs)(`div`,{className:`thinking-panel rounded-2xl rounded-bl-md px-3 py-2 border text-foreground/80`,children:[(0,Z.jsxs)(`div`,{className:`thinking-wave`,"aria-hidden":!0,children:[(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{}),(0,Z.jsx)(`span`,{})]}),(0,Z.jsx)(`pre`,{className:`thinking-text whitespace-pre-wrap break-words font-sans text-xs leading-relaxed italic max-h-32 overflow-hidden`,children:n||`…`})]})]})]})}function Rp(e){let{hasMessages:t,autoCollapseInput:n,sessionChanged:r,prevHadMessages:i,prevAutoCollapse:a}=e;return n&&t&&(r||!i||!a)}function zp(e,t){return typeof e==`function`?e(t):e}function Bp(){let{t:e}=H(),n=q(e=>e.messages),r=q(e=>e.isLoading),i=K(e=>e.sidebarOpen),o=K(e=>e.toggleSidebar),s=K(e=>e.compactMode),{totalTokens:c,startTime:l,lastInputTokens:u,maxContext:d,contextLimitWarning:f,cacheStats:p,iteration:m}=j(Mn(e=>({totalTokens:e.totalTokens,startTime:e.startTime,lastInputTokens:e.lastInputTokens,maxContext:e.maxContext,contextLimitWarning:e.contextLimitWarning,cacheStats:e.cacheStats,iteration:e.iteration}))),h=j(e=>e.session),g=P()??h?.id,_=K(e=>g?e.sessionNicknames[g]:void 0),v=K(e=>e.setSessionNickname),y=h?.title,[b,x]=(0,X.useState)(!1),[S,C]=(0,X.useState)(``),w=a(e=>e.entries),T=K(e=>e.chatSwitcherOpen),E=K(e=>e.setChatSwitcherOpen),D=(0,X.useCallback)(e=>{E(zp(e,K.getState().chatSwitcherOpen))},[E]),O=(0,X.useRef)(null);(0,X.useEffect)(()=>{if(!T)return;let e=e=>{O.current?.contains(e.target)||D(!1)},t=e=>{e.key===`Escape`&&D(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[T]);let{configProvider:k,configModel:A}=t(Mn(e=>({configProvider:e.provider,configModel:e.model}))),M=h?.provider||k,ee=h?.model||A,N=(0,X.useRef)(null),F=(0,X.useMemo)(()=>ss(n),[n]),te=(0,X.useRef)(0);te.current=F.length+1;let ne=(0,X.useMemo)(()=>{let e=new Map;return F.forEach((t,n)=>{if(t.kind===`user`)e.set(t.message.id,n);else if(t.kind===`agent`)for(let r of t.items)if(r.kind===`msg`)e.set(r.message.id,n);else for(let t of r.tools)e.set(t.id,n)}),e},[F]),I=K(e=>e.scrollTarget),L=U(e=>e.autonomy),re=U(e=>e.groupToolCalls),ie=U(e=>e.autoCollapseInput),ae=(0,X.useCallback)(e=>{U.getState().set({autonomy:e});try{let t=B();if(typeof t.switchAutonomy==`function`){t.switchAutonomy(e);return}t.send?.({type:`autonomy.switch`,payload:t.withSession?.({mode:e})??{mode:e}})}catch{}},[]),[z,oe]=(0,X.useState)(!1),se=K(e=>e.chatCheckpointOpen),ce=K(e=>e.setChatCheckpointOpen),le=(0,X.useCallback)(e=>{ce(zp(e,K.getState().chatCheckpointOpen))},[ce]),ue=K(e=>e.chatMemoryPanelOpen),de=K(e=>e.setChatMemoryPanelOpen),fe=(0,X.useCallback)(e=>{de(zp(e,K.getState().chatMemoryPanelOpen))},[de]),pe=K(e=>e.chatInputCollapsed),me=K(e=>e.setChatInputCollapsed),he=(0,X.useCallback)(e=>{me(zp(e,K.getState().chatInputCollapsed))},[me]),ge=(0,X.useRef)(r),_e=(0,X.useRef)(n.length>0),ve=(0,X.useRef)(g),ye=(0,X.useRef)(ie),be=K(e=>e.chatContextBreakdownOpen),xe=K(e=>e.setChatContextBreakdownOpen),Se=K(e=>e.chatToolStatsOpen),Ce=K(e=>e.setChatToolStatsOpen),we=(0,X.useCallback)(e=>{Ce(zp(e,K.getState().chatToolStatsOpen))},[Ce]),Te=K(e=>e.chatContextEditorOpen),Ee=K(e=>e.setChatContextEditorOpen),De=na(e=>Object.values(e.contextMemories).filter(e=>e.state!==`exited`).length);(0,X.useEffect)(()=>{let e=()=>fe(!0);return window.addEventListener(`open:memory-panel`,e),()=>window.removeEventListener(`open:memory-panel`,e)},[]),(0,X.useEffect)(()=>{let e=()=>xe(!0);return document.addEventListener(`open:context-breakdown`,e),()=>document.removeEventListener(`open:context-breakdown`,e)},[]),(0,X.useEffect)(()=>{let e=()=>Ee(!0);return document.addEventListener(`open:context-editor`,e),()=>document.removeEventListener(`open:context-editor`,e)},[]),(0,X.useEffect)(()=>{let e=()=>he(!1);return document.addEventListener(`chat:session-end`,e),document.addEventListener(`chat:next-step-countdown`,e),()=>{document.removeEventListener(`chat:session-end`,e),document.removeEventListener(`chat:next-step-countdown`,e)}},[]),(0,X.useEffect)(()=>{ge.current&&!r&&he(!1),ge.current=r},[r]),(0,X.useEffect)(()=>{let e=n.length>0,t=g!=null&&g!==ve.current;!r&&Rp({hasMessages:e,autoCollapseInput:ie,sessionChanged:t,prevHadMessages:_e.current,prevAutoCollapse:ye.current})&&he(!0),ve.current=g,_e.current=e,ye.current=ie},[n.length,ie,g,r]);let Oe=(0,X.useCallback)(()=>{let e=!U.getState().autoCollapseInput;U.getState().set({autoCollapseInput:e}),e||he(!1)},[]),ke=d>0&&u>0?Math.min(100,Math.round(u/d*100)):0,[Ae,je]=(0,X.useState)(!0),[Me,Ne]=(0,X.useState)(0),[Pe,Fe]=(0,X.useState)(!1),Ie=(0,X.useRef)(n.length),Le=(0,X.useCallback)(()=>{let e=N.current;if(!e)return;let t=e.scrollSize-e.scrollOffset-e.viewportSize<120;je(t),t&&(Ne(0),Ie.current=q.getState().messages.length),Fe(e.scrollOffset>e.viewportSize&&e.scrollSize>e.viewportSize*2.5)},[]),Re=(0,X.useCallback)(e=>{let t=B();R.getState().openTab(e,{resumeSession:e=>t.resumeSession?.(e)}),D(!1)},[]);(0,X.useEffect)(()=>{let e=N.current;if(e){if(Ae)e.scrollToIndex(te.current-1,{align:`end`}),Ie.current=n.length;else{let e=n.length-Ie.current;e>0&&Ne(e)}}},[n,Ae]),(0,X.useEffect)(()=>{je(!0),Ne(0),Ie.current=q.getState().messages.length,oe(!1),x(!1),requestAnimationFrame(()=>{N.current?.scrollToIndex(te.current-1,{align:`end`})})},[g]),(0,X.useEffect)(()=>{if(!I)return;let e=ne.get(I.id);e!==void 0&&N.current?.scrollToIndex(e,{align:`center`,smooth:!0})},[I,ne]);let ze=(0,X.useCallback)(()=>{N.current?.scrollToIndex(te.current-1,{align:`end`,smooth:!0}),je(!0),Ne(0),Ie.current=q.getState().messages.length},[]),Be=(0,X.useCallback)(()=>{N.current?.scrollToIndex(0,{align:`start`,smooth:!0})},[]),[Ve,He]=(0,X.useState)(null),[Ue,We]=(0,X.useState)(()=>Date.now()),Ge=(0,X.useRef)(null),Ke=n[n.length-1],qe=Ke?.role===`assistant`&&Ke.streaming&&Ke.content?Ke:null;(0,X.useEffect)(()=>{if(qe){let e=Ge.current;(!e||e.id!==qe.id)&&(Ge.current={id:qe.id,at:Date.now(),len:qe.content.length})}else Ge.current&&=null},[qe]);let Je=(0,X.useMemo)(()=>{let t=n[n.length-1],r=n.filter(e=>e.role===`tool`&&e.toolResult===void 0),i=e(`activity:chatView.thinking`);if(r.length>0){let t=Array.from(new Set(r.map(e=>e.toolName).filter(Boolean))),n=t.slice(0,2).join(`, `),a=t.length>2?` +${t.length-2}`:``;i=r.length===1?e(`activity:chatView.runningTool`,{tool:n||e(`activity:chatView.toolWord`)}):e(`activity:chatView.runningTools`,{count:r.length,preview:`${n}${a}`})}else t?.role===`assistant`&&t.content?i=e(`activity:chatView.writingReply`):t?.role===`tool`&&t.toolResult!==void 0&&(i=e(`activity:chatView.thinkingNextStep`));let a=Ve?Math.max(0,Math.floor((Ue-Ve)/1e3)):0,o=a<60?`${a}s`:`${Math.floor(a/60)}m ${a%60}s`,s=``;if(qe){let e=Ge.current;if(e&&e.id===qe.id){let t=Math.max(1,Ue-e.at),n=Math.max(0,qe.content.length-e.len);if(t>500&&n>0){let e=n*1e3/t;s=e>=1e3?`${(e/1e3).toFixed(1)}k ch/s`:`${Math.round(e)} ch/s`}}}return{label:i,elapsed:o,speedLabel:s}},[n,Ue,Ve,e,qe]);(0,X.useEffect)(()=>{r&&Ve===null&&He(Date.now()),!r&&Ve!==null&&He(null)},[r,Ve]),(0,X.useEffect)(()=>{if(!r)return;let e=setInterval(()=>We(Date.now()),500);return()=>clearInterval(e)},[r]);let Ye=e=>{if(!e)return`--`;let t=Math.floor((Date.now()-e)/1e3);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`},Xe=(()=>{if(!r)return`idle`;let e=n[n.length-1];return e?.role===`assistant`&&e.content&&e.streaming?`streaming`:`thinking`})();return{messages:n,isLoading:r,sidebarOpen:i,toggleSidebar:o,compactMode:s,totalTokens:c,startTime:l,lastInputTokens:u,maxContext:d,contextLimitWarning:f,cacheStats:p,iteration:m,sessionId:g,nickname:_,sessionTitle:y,renamingTitle:b,setRenamingTitle:x,titleDraft:S,setTitleDraft:C,setSessionNickname:v,historyEntries:w,switcherOpen:T,setSwitcherOpen:D,switcherRef:O,handleHistorySelect:Re,provider:M,model:ee,vlistRef:N,rows:F,autonomy:L,groupToolCallsPref:re,autoCollapseInput:ie,handleAutonomyChange:ae,processOpen:z,setProcessOpen:oe,checkpointOpen:se,setCheckpointOpen:le,memoryPanelOpen:ue,setMemoryPanelOpen:fe,inputCollapsed:pe,setInputCollapsed:he,breakdownOpen:be,setBreakdownOpen:xe,toolStatsOpen:Se,setToolStatsOpen:we,editorOpen:Te,setEditorOpen:Ee,activeMemoryCount:De,handleToggleAutoCollapse:Oe,ctxPct:ke,pinnedToBottom:Ae,unreadCount:Me,scrolledDeep:Pe,handleScroll:Le,scrollToBottom:ze,scrollToTop:Be,runningStatus:Je,formatDuration:Ye,agentState:Xe,stateTone:Xe===`idle`?`bg-muted text-muted-foreground`:Xe===`streaming`?`bg-primary/10 text-primary`:`bg-warning/10 text-warning`,hasStatusContent:d>0&&u>0||c.input>0||!!l}}var Vp=(0,X.lazy)(()=>W(()=>import(`./ProcessMonitor-CvHdN8Bn.js`).then(e=>({default:e.ProcessMonitor})),__vite__mapDeps([17,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25])));function Hp(){let{t:e}=H(),n=Bp(),a=P(),o=K(e=>e.subagentChatFocusId),s=K(e=>e.setSubagentChatFocus),c=K(e=>e.setSearchOpen),l=_(a??void 0),u=z(e=>o==null?void 0:e.agents.get(o)),d=!u||r(u.sessionId,a),f=!!u&&d,p=o!=null&&f&&o!==l;(0,X.useEffect)(()=>{(bf(o,f)||o!=null&&o===l)&&s(null,a)},[o,f,l,s,a]),(0,X.useEffect)(()=>{p&&c(!1)},[p,c]);let m=t(e=>e.wsStatus),h=n.sessionId,g=E(e=>n.sessionId?e.startedAt[n.sessionId]!==void 0:!1),v=E(e=>n.sessionId?e.progress[n.sessionId]:void 0),y=i(v),b=ve(v?.stage);return(0,X.useEffect)(()=>{!h||m.state!==`open`||B().getChimeraReports(h)},[h,m]),(0,Z.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0 bg-[hsl(var(--surface-2)/0.45)]`,children:[(0,Z.jsx)(Of,{sidebarOpen:n.sidebarOpen,toggleSidebar:n.toggleSidebar,agentState:n.agentState,stateTone:n.stateTone,sessionId:n.sessionId,renamingTitle:n.renamingTitle,setRenamingTitle:n.setRenamingTitle,titleDraft:n.titleDraft,setTitleDraft:n.setTitleDraft,nickname:n.nickname,sessionTitle:n.sessionTitle,setSessionNickname:n.setSessionNickname,historyEntries:n.historyEntries,switcherRef:n.switcherRef,switcherOpen:n.switcherOpen,setSwitcherOpen:n.setSwitcherOpen,handleHistorySelect:n.handleHistorySelect,iteration:n.iteration,autonomy:n.autonomy,handleAutonomyChange:n.handleAutonomyChange,memoryPanelOpen:n.memoryPanelOpen,setMemoryPanelOpen:n.setMemoryPanelOpen,activeMemoryCount:n.activeMemoryCount,processOpen:n.processOpen,setProcessOpen:n.setProcessOpen,checkpointOpen:n.checkpointOpen,setCheckpointOpen:n.setCheckpointOpen,toolStatsOpen:n.toolStatsOpen,setToolStatsOpen:n.setToolStatsOpen,hasStatusContent:n.hasStatusContent,lastInputTokens:n.lastInputTokens,ctxPct:n.ctxPct,maxContext:n.maxContext,cacheStats:n.cacheStats,setBreakdownOpen:n.setBreakdownOpen,contextLimitWarning:n.contextLimitWarning,setEditorOpen:n.setEditorOpen,totalTokens:n.totalTokens,startTime:n.startTime,formatDuration:n.formatDuration}),(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(`div`,{className:G(`ws-view-pane relative mx-2 mt-2 flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden rounded-xl border border-border/70 bg-card/55 shadow-sm sm:mx-3 lg:mx-4 lg:mt-3`,!p&&`ws-view-parked`),...p?{}:{inert:!0,"aria-hidden":!0},children:(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:p&&o!=null&&(0,Z.jsx)(Ip,{agentId:o},o)})}),(0,Z.jsxs)(`div`,{className:G(`ws-view-pane relative mx-2 mt-2 min-h-0 min-w-0 flex-1 overflow-hidden rounded-xl border border-border/70 bg-card/55 shadow-sm sm:mx-3 lg:mx-4 lg:mt-3`,p&&`ws-view-parked`),...p?{inert:!0,"aria-hidden":!0}:{},children:[(0,Z.jsx)(nf,{}),!n.pinnedToBottom&&(0,Z.jsxs)(`button`,{type:`button`,onClick:n.scrollToBottom,className:G(`absolute bottom-4 left-1/2 -translate-x-1/2 z-10 jump-bottom`,`flex items-center gap-2 px-4 py-2 rounded-md shadow-lg`,`bg-primary text-primary-foreground text-xs font-medium`,`hover:bg-primary/90 transition-colors animate-message`),children:[(0,Z.jsx)(Fe,{className:`h-3.5 w-3.5`}),n.unreadCount>0?`${n.unreadCount} new message${n.unreadCount===1?``:`s`}`:`Jump to latest`]}),n.scrolledDeep&&(0,Z.jsxs)(`button`,{type:`button`,onClick:n.scrollToTop,title:e(`chat:header.scrollTopTitle`),className:G(`absolute top-3 right-3 z-10`,`flex items-center gap-1 px-2.5 py-1 rounded-md shadow-md border`,`bg-background/90 backdrop-blur-sm text-[11px] text-muted-foreground`,`hover:text-foreground hover:bg-background transition-colors animate-message`),children:[(0,Z.jsx)(Bt,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:e(`activity:chatView.top`)})]}),n.rows.length===0&&!n.isLoading?(0,Z.jsx)(`div`,{className:`h-full overflow-y-auto overscroll-contain`,children:(0,Z.jsx)(`div`,{className:`mx-auto max-w-6xl w-full px-3 sm:px-5 lg:px-6 pt-4 pb-8`,children:g?(0,Z.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-3 py-16 text-center`,role:`status`,"aria-live":`polite`,children:[(0,Z.jsxs)(`div`,{className:`relative h-12 w-12`,"aria-hidden":`true`,children:[(0,Z.jsx)(`div`,{className:`absolute inset-0 rounded-full border-2 border-muted-foreground/20`}),(0,Z.jsx)(`div`,{className:`absolute inset-0 rounded-full border-2 border-transparent border-t-primary animate-spin`}),(0,Z.jsx)(`div`,{className:`absolute inset-1.5 rounded-full bg-background/80`}),(0,Z.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-[11px] font-semibold tabular-nums text-foreground`,children:y===null?`...`:`${y}%`})]}),(0,Z.jsx)(`p`,{className:`text-sm font-medium`,children:e(`activity:chatView.restoringTranscript`)}),(0,Z.jsxs)(`div`,{className:`w-full max-w-sm`,children:[(0,Z.jsxs)(`div`,{className:`mb-1 flex items-center justify-between gap-3 text-[11px] text-muted-foreground`,children:[(0,Z.jsx)(`span`,{className:`truncate`,children:b}),v&&v.totalBytes>0?(0,Z.jsxs)(`span`,{className:`shrink-0 tabular-nums`,children:[w(v.loadedBytes),` /`,` `,w(v.totalBytes)]}):(0,Z.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:`reading...`})]}),(0,Z.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,Z.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width] duration-200 ease-out`,style:{width:`${y??12}%`}})})]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground max-w-sm`,children:e(`activity:chatView.restoringTranscriptHint`)})]}):(0,Z.jsx)(_f,{})})}):(0,Z.jsxs)(zt,{ref:n.vlistRef,className:`h-full`,onScroll:n.handleScroll,role:`log`,"aria-label":e(`activity:chatView.chatTranscript`),"aria-live":`polite`,children:[n.rows.map((e,t)=>(0,Z.jsx)(Mp,{row:e,isLoading:n.isLoading,compactMode:n.compactMode,isFirstRow:t===0,groupToolCalls:n.groupToolCallsPref,sessionId:n.sessionId??`__unbound__`},e.key)),(0,Z.jsxs)(`div`,{id:`chat-activity`,className:G(`mx-auto max-w-6xl w-full px-3 sm:px-5 lg:px-6`,n.compactMode?`pb-3`:`pb-8`),children:[(0,Z.jsx)(Lp,{}),n.isLoading&&(0,Z.jsxs)(`div`,{className:`flex gap-3 animate-message`,children:[(0,Z.jsx)(`div`,{className:`flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center bg-accent text-accent-foreground ring-2 ring-offset-2 ring-offset-background ring-accent/20`,children:(0,Z.jsx)(Fi,{className:`h-4 w-4`})}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:(0,Z.jsx)(`div`,{className:`rounded-lg px-4 py-3 bg-card border border-border/70 text-foreground shadow-sm`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 text-sm`,children:[(0,Z.jsxs)(`span`,{className:`flex gap-1`,children:[(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary/70 animate-bounce [animation-delay:-0.3s]`}),(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary/70 animate-bounce [animation-delay:-0.15s]`}),(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary/70 animate-bounce`})]}),(0,Z.jsx)(`span`,{className:`text-foreground/90`,children:n.runningStatus.label}),(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:n.runningStatus.elapsed}),n.iteration&&(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:[`· iter `,n.iteration.index,n.iteration.max>0?`/${n.iteration.max}`:``]}),n.runningStatus.speedLabel&&(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground/80 tabular-nums`,children:[`· `,n.runningStatus.speedLabel]})]})})})]})]},`__live`)]},n.sessionId??`__unbound__`)]})]}),(0,Z.jsx)(`div`,{className:G(`ws-view-pane shrink-0 bg-[hsl(var(--surface-2)/0.45)] px-2 pb-2 pt-2 sm:px-3 lg:px-4 lg:pb-3`,p&&`ws-view-parked`),...p?{inert:!0,"aria-hidden":!0}:{},children:n.inputCollapsed&&n.messages.length>0?(0,Z.jsxs)(`div`,{className:`flex items-center gap-1 rounded-lg border border-border/60 bg-card/40 px-3 py-1.5 hover:bg-card/70 hover:border-border/80 transition-colors`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>n.setInputCollapsed(!1),className:`flex flex-1 items-center gap-2 text-xs text-muted-foreground/60 hover:text-foreground/80 transition-colors`,children:[(0,Z.jsx)(Br,{className:`h-3.5 w-3.5 shrink-0`}),(0,Z.jsx)(`span`,{children:e(`chat:input.expandInput`,`Expand input`)}),n.rows.length>0&&(0,Z.jsxs)(`span`,{className:`ml-auto tabular-nums text-[10px] text-muted-foreground/40`,children:[n.rows.length,` msgs ·`,` `,is(n.totalTokens.input+n.totalTokens.output)]})]}),n.isLoading&&(0,Z.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),B().sendAbort(n.sessionId??void 0),q.getState().setLoading(!1)},className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-[11px] font-medium bg-destructive/15 text-destructive hover:bg-destructive/25 transition-colors`,title:e(`chat:input.abortTitle`,`Stop/Abort`),"data-testid":`collapsed-stop`,children:[(0,Z.jsx)(lt,{className:`h-3 w-3 fill-current`}),(0,Z.jsx)(`span`,{children:e(`common:action.stop`,`Stop`)})]}),(0,Z.jsx)(xf,{label:e(`activity:chatView.autoCollapse`),value:n.autoCollapseInput,onChange:n.handleToggleAutoCollapse})]}):(0,Z.jsxs)(Z.Fragment,{children:[n.messages.length>0&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>n.setInputCollapsed(!0),className:`mb-1 flex w-full items-center gap-1.5 rounded px-2 py-0.5 text-[10px] text-muted-foreground/50 hover:text-muted-foreground/80 transition-colors`,children:[(0,Z.jsx)(pr,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:e(`chat:input.collapseInput`,`Collapse`)})]}),(0,Z.jsx)($d,{}),(0,Z.jsx)(Sf,{hasStatusContent:n.hasStatusContent,totalTokens:n.totalTokens,rowsCount:n.rows.length,iteration:n.iteration,startTime:n.startTime,formatDuration:n.formatDuration,onToggleAutoCollapse:n.handleToggleAutoCollapse}),(0,Z.jsx)(`div`,{className:`ws-chat-input-wrap p-0`,children:(0,Z.jsx)(`div`,{className:`max-w-6xl mx-auto`,children:(0,Z.jsx)(Sd,{onOpenBreakdown:()=>n.setBreakdownOpen(!0)})})})]})}),(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Vp,{open:n.processOpen,onClose:()=>n.setProcessOpen(!1)})}),(0,Z.jsx)(wd,{open:n.checkpointOpen,onClose:()=>n.setCheckpointOpen(!1)}),(0,Z.jsx)(fs,{open:n.breakdownOpen,onClose:()=>n.setBreakdownOpen(!1)}),(0,Z.jsx)(ff,{open:n.toolStatsOpen,onClose:()=>n.setToolStatsOpen(!1)}),(0,Z.jsx)(Hd,{open:n.editorOpen,onClose:()=>n.setEditorOpen(!1)}),(0,Z.jsx)(Pu,{open:n.memoryPanelOpen,onClose:()=>n.setMemoryPanelOpen(!1)})]})}function Up(e,t=!0){let n=(0,X.useRef)(null);return(0,X.useEffect)(()=>{if(!t)return;let r=n.current;if(!r)return;let i=requestAnimationFrame(()=>{let t=K.getState().scrollPositions[e];typeof t==`number`&&t>0&&(r.scrollTop=t)});return()=>cancelAnimationFrame(i)},[]),(0,X.useEffect)(()=>{if(!t)return;let r=n.current;if(!r)return;let{setScrollPosition:i}=K.getState();return()=>{i(e,r.scrollTop)}},[e]),n}function Wp(){let{t:e}=H(),t=na(e=>e.contextMemories),n=na(e=>e.transitions),r=Object.values(t).sort((e,t)=>t.lastSeenAt.localeCompare(e.lastSeenAt)),i=r.filter(e=>e.state===`active`),a=r.filter(e=>e.state===`injected`),o=r.filter(e=>e.state===`exited`);return(0,Z.jsxs)(`section`,{className:`rounded-md border border-primary/20 bg-primary/[0.025]`,"aria-label":e(`activity:ctxMonitor.contextMemoryMonitor`),children:[(0,Z.jsxs)(`header`,{className:`flex items-center gap-2 border-b border-border/60 px-3 py-2`,children:[(0,Z.jsx)(zi,{className:`size-4 text-primary`}),(0,Z.jsx)(`h2`,{className:`text-xs font-semibold`,children:e(`activity:ctxMonitor.contextMemoryMonitor`)}),(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:e(`activity:ctxMonitor.exactProviderBoundPresence`)}),(0,Z.jsxs)(`div`,{className:`ml-auto flex gap-2 font-mono text-[10px]`,children:[(0,Z.jsxs)(`span`,{className:`text-success`,children:[i.length,` ctx`]}),(0,Z.jsxs)(`span`,{className:`text-warning`,children:[a.length,` pending`]}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,children:[o.length,` left`]})]})]}),r.length===0?(0,Z.jsx)(`p`,{className:`px-3 py-4 text-xs text-muted-foreground`,children:e(`activity:ctxMonitor.noSageHasEnteredThisSession`)}):(0,Z.jsxs)(`div`,{className:`grid gap-3 p-3 xl:grid-cols-[minmax(0,2fr)_minmax(260px,1fr)]`,children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-wide text-muted-foreground`,children:e(`activity:ctxMonitor.memoryPresence`)}),r.slice(0,20).map(e=>(0,Z.jsxs)(`article`,{className:G(`border px-3 py-2 text-[10px]`,e.state===`exited`?`border-border/50 bg-muted/20 opacity-65`:`border-primary/25 bg-background/55`),children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:G(`border px-1.5 py-0.5 font-bold uppercase`,e.state===`exited`?`border-border text-muted-foreground`:e.state===`active`?`border-success/35 text-success`:`border-warning/35 text-warning`),children:e.state}),(0,Z.jsx)(`span`,{className:`font-mono font-bold text-primary`,children:e.id}),(0,Z.jsxs)(`span`,{className:`font-mono text-muted-foreground`,children:[e.kind,` · `,e.persistence]}),(0,Z.jsxs)(`span`,{className:`ml-auto font-mono text-muted-foreground`,children:[`score `,e.score.toFixed(2),` · conf `,e.confidence.toFixed(2),` · fresh`,` `,e.freshness.toFixed(2)]})]}),(0,Z.jsx)(`p`,{className:`mt-1.5 text-[11px] leading-5 text-foreground`,children:e.text}),(0,Z.jsxs)(`p`,{className:`mt-1 text-muted-foreground`,children:[`why: `,e.activationReasons.join(` · `)||`context snapshot`]}),(e.anchors.length>0||e.tags.length>0)&&(0,Z.jsx)(`p`,{className:`mt-1 truncate font-mono text-muted-foreground`,title:[...e.anchors,...e.tags.map(e=>`#${e}`)].join(` · `),children:[...e.anchors,...e.tags.map(e=>`#${e}`)].join(` · `)})]},e.id))]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-wide text-muted-foreground`,children:e(`activity:ctxMonitor.cameWent`)}),n.slice(0,30).map(e=>(0,Z.jsxs)(`div`,{className:`flex gap-2 border-b border-border/40 py-1.5 text-[10px] last:border-b-0`,children:[e.action===`exited`?(0,Z.jsx)(et,{className:`mt-0.5 size-3 shrink-0 text-muted-foreground`}):(0,Z.jsx)(st,{className:`mt-0.5 size-3 shrink-0 text-success`}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsxs)(`p`,{className:`font-mono`,children:[(0,Z.jsx)(`span`,{className:e.action===`exited`?`text-muted-foreground`:`text-success`,children:e.action}),` `,e.memoryId]}),(0,Z.jsx)(`p`,{className:`truncate text-muted-foreground`,children:e.reason})]}),(0,Z.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1 text-muted-foreground`,children:[(0,Z.jsx)(Dn,{className:`size-2.5`}),` `,new Date(e.at).toLocaleTimeString()]})]},e.id))]})]})]})}function Gp(){let{t:e}=H(),t=Qi(e=>e.items),n=Qi(e=>e.clear);return(0,Z.jsxs)(`section`,{className:`shrink-0 border-b border-border/60 bg-info/[0.025]`,"aria-label":e(`activity:memoryManager.lifecycleAria`),children:[(0,Z.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-4`,children:[(0,Z.jsx)(li,{className:`size-3.5 text-info`}),(0,Z.jsx)(`span`,{className:`text-[10px] font-bold uppercase tracking-wide text-info`,children:e(`activity:memoryManager.lifecycleHeading`)}),(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:t.length===0?e(`activity:memoryManager.statusWaiting`):e(`activity:memoryManager.statusLive`,{count:t.length})}),t.length>0&&(0,Z.jsxs)(Y,{type:`button`,variant:`ghost`,size:`sm`,className:`ml-auto h-6 px-2 text-[10px]`,onClick:n,children:[(0,Z.jsx)(Rt,{className:`size-3`}),` `,e(`common:action.clear`)]})]}),t.length>0?(0,Z.jsx)(`div`,{className:`max-h-20 overflow-y-auto border-t border-border/40`,children:t.slice(0,8).map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/30 px-4 py-1 text-[10px] last:border-b-0`,children:[(0,Z.jsx)(Kp,{action:e.action}),(0,Z.jsx)(`span`,{className:G(`font-mono font-semibold`,qp(e.action)),children:e.label}),e.detail&&(0,Z.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,title:e.detail,children:e.detail}),(0,Z.jsx)(`time`,{className:`ml-auto shrink-0 text-muted-foreground`,children:new Date(e.at).toLocaleTimeString()})]},e.id))}):null]})}function Kp({action:e}){let t=G(`size-3 shrink-0`,qp(e));return e===`entered`||e===`recovered`?(0,Z.jsx)(cr,{className:t}):e===`exited`?(0,Z.jsx)(Ur,{className:t}):e===`related`?(0,Z.jsx)(wn,{className:t}):(0,Z.jsx)(Bi,{className:t})}function qp(e){return e===`entered`||e===`recovered`?`text-success`:e===`exited`?`text-destructive`:e===`related`?`text-primary`:`text-info`}var Jp=[{labelKey:`activity:ctxDash.zoneSafe`,emoji:`🟢`,color:`text-success`,bg:`bg-success/10`,text:`text-success`,cssColor:`hsl(var(--success))`,from:0,to:60,descKey:`activity:ctxDash.zoneSafeDesc`},{labelKey:`activity:ctxDash.zoneWarning`,emoji:`🟡`,color:`text-warning`,bg:`bg-warning/10`,text:`text-warning`,cssColor:`hsl(var(--warning))`,from:60,to:85,descKey:`activity:ctxDash.zoneWarningDesc`},{labelKey:`activity:ctxDash.zoneCritical`,emoji:`🔴`,color:`text-destructive`,bg:`bg-destructive/10`,text:`text-destructive`,cssColor:`hsl(var(--destructive))`,from:85,to:95,descKey:`activity:ctxDash.zoneCriticalDesc`},{labelKey:`activity:ctxDash.zoneDanger`,emoji:`⚫`,color:`text-brand-orange`,bg:`bg-brand-orange/15`,text:`text-brand-orange`,cssColor:`hsl(var(--brand-orange))`,from:95,to:100,descKey:`activity:ctxDash.zoneDangerDesc`}];function Yp(e){return e>95?Jp[3]:e>85?Jp[2]:e>60?Jp[1]:Jp[0]}function Xp(e){if(!e)return`—`;let t=Date.now()-e,n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4),i=Math.floor(t%6e4/1e3);return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function Zp({title:e,icon:t,children:n,className:r,accent:i}){let a=i===`danger`?`text-destructive`:i===`warning`?`text-warning`:i===`success`?`text-success`:`text-muted-foreground`,o=i===`danger`?`bg-destructive/5`:i===`warning`?`bg-warning/5`:i===`success`?`bg-success/5`:``;return(0,Z.jsxs)(`div`,{className:G(`rounded-xl border bg-card/80 backdrop-blur-sm p-4 space-y-3`,`shadow-sm transition-shadow hover:shadow-md`,`ring-1 ring-border/40`,o,r),children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-bold tracking-tight text-foreground`,children:[(0,Z.jsx)(`span`,{className:G(`flex items-center justify-center h-6 w-6 rounded-lg`,o,i!=="default"&&`ring-1 ring-inset`),children:(0,Z.jsx)(t,{className:G(`h-3.5 w-3.5`,a)})}),e]}),n]})}function Qp({label:e,value:t,color:n}){return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-xs py-0.5`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,Z.jsx)(`span`,{className:G(`tabular-nums font-mono font-semibold px-1.5 py-0.5 rounded`,n??`text-foreground`),children:t})]})}function $p({pct:e,size:t=96,strokeWidth:n=10}){let r=Math.max(0,Math.min(100,e)),i=(t-n)/2,a=2*Math.PI*i,o=r/100*a,s=Yp(r).cssColor;return(0,Z.jsxs)(`svg`,{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:`drop-shadow-lg`,children:[(0,Z.jsxs)(`title`,{children:[`Context usage: `,r.toFixed(0),`%`]}),(0,Z.jsx)(`circle`,{cx:t/2,cy:t/2,r:i,fill:`none`,stroke:`hsl(var(--muted))`,strokeWidth:n,opacity:.3}),(0,Z.jsx)(`circle`,{cx:t/2,cy:t/2,r:i,fill:`none`,stroke:s,strokeWidth:n,strokeLinecap:`round`,strokeDasharray:`${o} ${a-o}`,strokeDashoffset:0,className:`transition-all duration-1000 ease-out`,style:{transformOrigin:`center`,transform:`rotate(-90deg)`}}),(0,Z.jsx)(`circle`,{cx:t/2,cy:t/2,r:i-n/2+2,fill:`hsl(var(--card))`,className:`drop-shadow-sm`}),(0,Z.jsxs)(`text`,{x:t/2,y:t/2,textAnchor:`middle`,dominantBaseline:`central`,fill:s,className:`text-lg font-bold font-mono tabular-nums`,style:{fontSize:t*.16},children:[r.toFixed(0),`%`]})]})}function em({value:e,suffix:t=``,duration:n=800}){let[r,i]=(0,X.useState)(0),a=(0,X.useRef)(0),o=(0,X.useRef)(void 0);return(0,X.useEffect)(()=>{let t=a.current,r=performance.now(),s=e-t;if(Math.abs(s)<1){i(e),a.current=e;return}let c=l=>{let u=l-r,d=Math.min(1,u/n),f=1-(1-d)**3;i(Math.round(t+s*f)),d<1?o.current=requestAnimationFrame(c):a.current=e};return o.current=requestAnimationFrame(c),()=>{o.current&&cancelAnimationFrame(o.current)}},[e,n]),(0,Z.jsxs)(Z.Fragment,{children:[r.toLocaleString(),t]})}function tm({pct:e,tokens:t,maxTokens:n}){let{t:r}=H(),i=Yp(e),a=e>85?`danger`:e>60?`warning`:`success`;return(0,Z.jsxs)(Zp,{title:r(`activity:ctxDash.contextPressure`),icon:at,accent:a,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-center gap-4`,children:[(0,Z.jsx)(`div`,{className:G(`shrink-0 transition-all duration-500`,e>85&&`animate-[pulse_2s_ease-in-out_infinite] drop-shadow-[0_0_12px_hsl(var(--destructive)/0.35)]`),children:(0,Z.jsx)($p,{pct:e,size:96,strokeWidth:10})}),(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-2 w-full`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`text-xl`,children:i.emoji}),(0,Z.jsx)(`div`,{className:`flex-1`,children:(0,Z.jsx)($s,{pct:Math.round(e),tokens:t,maxTokens:n,segments:10,variant:`iridescent`})})]}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-3 gap-1 text-[10px] font-mono tabular-nums`,children:[(0,Z.jsxs)(`div`,{className:`rounded bg-muted/30 px-2 py-1 text-center`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground block text-[9px]`,children:r(`activity:ctxDash.used`)}),(0,Z.jsx)(`span`,{className:G(`font-bold`,i.color),children:(0,Z.jsx)(em,{value:t})})]}),(0,Z.jsxs)(`div`,{className:`rounded bg-muted/30 px-2 py-1 text-center`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground block text-[9px]`,children:r(`activity:ctxDash.free`)}),(0,Z.jsx)(`span`,{className:`font-bold text-muted-foreground/80`,children:(0,Z.jsx)(em,{value:Math.max(0,n-t)})})]}),(0,Z.jsxs)(`div`,{className:`rounded bg-muted/30 px-2 py-1 text-center`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground block text-[9px]`,children:r(`activity:ctxDash.capacity`)}),(0,Z.jsx)(`span`,{className:`font-bold text-muted-foreground/80`,children:(0,Z.jsx)(em,{value:n})})]})]})]})]}),(0,Z.jsxs)(`div`,{className:`relative h-4 mt-1`,children:[(0,Z.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-2 rounded-full overflow-hidden flex`,children:Jp.map(e=>{let t=(e.to-e.from)/100*100;return(0,Z.jsx)(`div`,{className:`h-full first:rounded-l-full last:rounded-r-full opacity-60`,style:{width:`${t}%`,backgroundColor:e.cssColor}},r(e.labelKey))})}),(0,Z.jsxs)(`div`,{className:`absolute top-3 text-[10px] text-muted-foreground flex w-full`,children:[(0,Z.jsx)(`span`,{children:`0%`}),(0,Z.jsx)(`span`,{className:`ml-[56%]`,children:`soft`}),(0,Z.jsx)(`span`,{className:`ml-[12%]`,children:`hard`}),(0,Z.jsx)(`span`,{className:`ml-[8%]`,children:`max`}),(0,Z.jsx)(`span`,{className:`ml-auto`,children:`100%`})]})]}),(0,Z.jsx)(`div`,{className:`relative h-5 mt-1`,children:(0,Z.jsx)(`div`,{className:`absolute top-0 -translate-x-1/2 flex flex-col items-center transition-all duration-500`,style:{left:`${Math.min(95,e)}%`},children:(0,Z.jsxs)(`span`,{className:G(`text-[9px] font-mono px-1.5 py-0.5 rounded border transition-colors`,i.bg,i.text,`border-current/30`),children:[`◀ `,e.toFixed(0),`%`]})})})]})}function nm({data:e,loading:t}){let{t:n}=H();if(t)return(0,Z.jsx)(Zp,{title:n(`activity:ctxDash.contextComposition`),icon:Ri,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground py-2`,children:[(0,Z.jsx)(Bi,{className:`h-3 w-3 animate-spin`}),n(`activity:ctxDash.fetchingCompositionData`)]})});if(!e||e.total<=0)return(0,Z.jsx)(Zp,{title:n(`activity:ctxDash.contextComposition`),icon:Ri,children:(0,Z.jsx)(`div`,{className:`text-xs text-muted-foreground py-1`,children:n(`activity:ctxDash.noCompositionDataAvailableYetRun`)})});let r=[{icon:Tr,label:n(`activity:ctxDash.systemPrompt`),value:e.systemPrompt,className:`bg-info`},{icon:si,label:n(`activity:ctxDash.tools`),value:e.tools.total,className:`bg-warning`},{icon:Te,label:n(`activity:ctxDash.messages`),value:e.messages.total,className:`bg-success`}];return(0,Z.jsxs)(Zp,{title:n(`activity:ctxDash.contextComposition`),icon:Ri,children:[(0,Z.jsx)(`div`,{className:`h-3 w-full overflow-hidden rounded-full bg-muted flex`,children:r.map(t=>{let n=t.value/e.total*100;return n<=0?null:(0,Z.jsx)(`span`,{className:G(`h-full first:rounded-l-full last:rounded-r-full transition-all`,t.className),style:{width:`${n}%`}},t.label)})}),(0,Z.jsx)(`div`,{className:`space-y-1`,children:r.map(t=>{let n=(t.value/e.total*100).toFixed(1);return(0,Z.jsx)(Qp,{label:`${t.label}`,value:`${Vs(t.value)} (${n}%)`},t.label)})}),e.tools.breakdown.length>0&&(0,Z.jsxs)(`div`,{className:`pt-1 border-t border-border/50`,children:[(0,Z.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground font-semibold`,children:n(`activity:ctxDash.toolBreakdown`)}),(0,Z.jsx)(`div`,{className:`mt-1 space-y-0.5`,children:e.tools.breakdown.slice(0,5).map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-xs py-0.5`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-muted-foreground`,children:e.name}),(0,Z.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:Vs(e.tokens)})]},e.name))})]})]})}function rm({pct:e}){let{t}=H();return(0,Z.jsxs)(Zp,{title:t(`activity:ctxDash.thresholdMap`),icon:zr,children:[(0,Z.jsx)(`div`,{className:`flex h-2 rounded-full overflow-hidden`,children:Jp.map(e=>(0,Z.jsx)(`div`,{className:`h-full first:rounded-l-full last:rounded-r-full opacity-80`,style:{width:`${(e.to-e.from)/100*100}%`,backgroundColor:e.cssColor}},t(e.labelKey)))}),(0,Z.jsx)(`div`,{className:`space-y-0.5 text-xs`,children:Jp.map(n=>{let r=e>=n.from&&e<n.to;return(0,Z.jsxs)(`div`,{className:G(`flex items-center px-2 py-1 rounded`,r?n.bg:``),children:[(0,Z.jsx)(`span`,{className:`w-5`,children:n.emoji}),(0,Z.jsx)(`span`,{className:G(`w-20 font-medium`,r?n.text:`text-muted-foreground`),children:t(n.labelKey)}),(0,Z.jsxs)(`span`,{className:`w-16 text-muted-foreground`,children:[n.from,`%–`,n.to,`%`]}),(0,Z.jsx)(`span`,{className:`flex-1 text-muted-foreground`,children:t(n.descKey)}),r&&(0,Z.jsx)(`span`,{className:`text-xs font-mono`,children:`◀`})]},t(n.labelKey))})}),(0,Z.jsx)(Qp,{label:t(`activity:ctxDash.currentPosition`),value:`${e.toFixed(1)}% → ${Yp(e).emoji} ${t(Yp(e).labelKey)}`,color:Yp(e).color}),(0,Z.jsx)(Qp,{label:t(`activity:ctxDash.compactTrigger`),value:`85%`}),(0,Z.jsx)(Qp,{label:t(`activity:ctxDash.hardLimit`),value:`100%`})]})}function im({pct:e,maxTokens:t}){let{t:n}=H(),r=Math.round(t*.18),i=Math.round(t*.85),a=e>65,o=t>0?e/100:0;return(0,Z.jsx)(Zp,{title:n(`activity:ctxDash.compactionEngine`),icon:nt,accent:a?`warning`:`success`,children:(0,Z.jsxs)(`div`,{className:`space-y-2 text-xs`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:n(`activity:ctxDash.strategy`)}),(0,Z.jsx)(`span`,{className:`font-semibold text-foreground/90`,children:`hybrid`}),(0,Z.jsx)(`span`,{className:`text-success bg-success/10 px-1.5 rounded text-[9px] font-semibold`,children:n(`activity:ctxDash.auto`)})]}),(0,Z.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,Z.jsxs)(`div`,{className:`flex justify-between text-[9px] text-muted-foreground`,children:[(0,Z.jsx)(`span`,{children:n(`activity:ctxDash.current`)}),(0,Z.jsxs)(`span`,{children:[`Trigger (`,Vs(i),`)`]})]}),(0,Z.jsxs)(`div`,{className:`relative h-2 w-full overflow-hidden rounded-full bg-muted/50 ring-1 ring-inset ring-border/20`,children:[(0,Z.jsx)(`span`,{className:G(`absolute inset-y-0 left-0 rounded-full transition-all duration-700`,a?`bg-warning`:`bg-success`),style:{width:`${Math.max(2,o*100)}%`}}),(0,Z.jsx)(`span`,{className:`absolute top-0 bottom-0 w-0.5 bg-destructive/60`,style:{left:`85%`}})]}),(0,Z.jsxs)(`div`,{className:`flex justify-between text-[9px] text-foreground/70`,children:[(0,Z.jsx)(`span`,{children:Vs(Math.round(t*o))}),(0,Z.jsx)(`span`,{className:`text-destructive/70`,children:Vs(i)})]})]}),(0,Z.jsx)(Qp,{label:n(`activity:ctxDash.nextTrigger`),value:`${Vs(i)} (85%)`}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-xs py-0.5`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:n(`activity:ctxDash.estRecovery`)}),(0,Z.jsxs)(`span`,{className:`tabular-nums font-mono font-semibold px-1.5 py-0.5 rounded text-success bg-success/10`,children:[`~`,Vs(r)]})]}),(0,Z.jsx)(Qp,{label:n(`activity:ctxDash.recommendation`),value:a?`⚠️ Compact now`:`✅ No compaction needed`,color:a?`text-warning`:`text-success`}),a&&(0,Z.jsxs)(`div`,{className:`bg-warning/5 border border-warning/20 rounded p-2 text-[10px] text-warning/90 mt-1`,children:[`Context at `,e.toFixed(1),`% — compacting recovers ~`,Vs(r),` tokens.`]})]})})}function am({agents:e}){let{t}=H(),n=e.filter(e=>e.ctxPct!=null&&e.ctxPct>0);return n.length===0?null:(0,Z.jsx)(Zp,{title:t(`activity:ctxDash.perAgentFootprint`),icon:tr,children:(0,Z.jsx)(`div`,{className:`space-y-2`,children:n.map(e=>{let t=Yp(e.ctxPct),n=e.name||e.id,r=e.id===`__leader__`;return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[(0,Z.jsx)(`span`,{className:`w-4`,children:r?`👑`:` `}),(0,Z.jsx)(`span`,{className:`w-24 truncate font-mono text-muted-foreground`,title:n,children:n}),(0,Z.jsx)(`div`,{className:`flex-1 max-w-[200px]`,children:(0,Z.jsx)(ec,{pct:Math.round(e.ctxPct),tokens:e.ctxTokens,maxTokens:e.maxContext,showTokens:!1})}),(0,Z.jsxs)(`span`,{className:G(`tabular-nums w-10 text-right`,t.color),children:[Math.round(e.ctxPct),`%`]})]},e.id)})})})}function om({tokens:e,maxTokens:t,pct:n,model:r,provider:i,mode:a,uptime:o,iteration:s,contextMode:c}){let{t:l}=H(),u=t-e,d=t>0?(u/t*100).toFixed(1):`0.0`;return(0,Z.jsx)(Zp,{title:l(`activity:ctxDash.tokenMetrics`),icon:gr,children:(0,Z.jsxs)(`div`,{className:`space-y-1 text-xs`,children:[(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.used`),value:Vs(e)}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.free`),value:`${Vs(u)} (${d}%)`}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.capacity`),value:Vs(t)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 pt-1`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:l(`activity:ctxDash.utilization`)}),(0,Z.jsx)(`div`,{className:`flex-1 max-w-[200px]`,children:(0,Z.jsx)(ec,{pct:Math.round(n),tokens:e,maxTokens:t})})]}),(0,Z.jsx)(`div`,{className:`border-t border-border/50 pt-1 mt-1`}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.model`),value:`${r} · ${i}`}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.mode`),value:a}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.contextMode`),value:c}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.iteration`),value:s}),(0,Z.jsx)(Qp,{label:l(`activity:ctxDash.uptime`),value:o})]})})}function sm({model:e,provider:t,mode:n,uptime:r,projectName:i,cwd:a,contextMode:o}){let{t:s}=H();return(0,Z.jsx)(Zp,{title:s(`activity:ctxDash.session`),icon:jr,children:(0,Z.jsxs)(`div`,{className:`space-y-1 text-xs`,children:[(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.provider`),value:t}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.model`),value:e}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.mode`),value:n}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.contextMode`),value:o}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.project`),value:i||a}),(0,Z.jsx)(Qp,{label:s(`activity:ctxDash.uptime`),value:r})]})})}function cm(){let{t:e}=H(),n=K(e=>e.setCurrentView),{lastInputTokens:i,maxContext:a,mode:o,contextMode:s,startTime:c,session:l,iteration:u,projectName:d,cwd:f}=j(Mn(e=>({lastInputTokens:e.lastInputTokens,maxContext:e.maxContext,mode:e.mode,contextMode:e.contextMode,startTime:e.startTime,session:e.session,iteration:e.iteration,projectName:e.projectName,cwd:e.cwd}))),p=P(),m=z(Mn(e=>[...e.agents.values()].filter(e=>r(e.sessionId,p)))),h=t(e=>e.wsUrl),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(null),S=(0,X.useRef)(0),C=(0,X.useRef)(null),w=()=>{C.current?.(),C.current=null;let e=B(h);if(!e?.send){x(`WebSocket not connected`);return}let t=++S.current;y(!0),x(null);let n=e.withSession({}).sessionId;e.send({type:`context.debug`,payload:e.withSession({})},{echoToChat:!1});let r=!1,i,a=e.on(`context.debug`,e=>{if(r||e.type!==`context.debug`||S.current!==t)return;let o=e.payload?.sessionId;(n===void 0||o===void 0||o===n)&&(r=!0,i!==void 0&&clearTimeout(i),_(e.payload),y(!1),a())});C.current=a,i=setTimeout(()=>{r||(r=!0,S.current===t&&(y(!1),x(`No response from server`),a()))},5e3)};(0,X.useEffect)(()=>(_(null),w(),()=>{S.current++,C.current?.(),C.current=null}),[h,p]);let T=l?.model??`—`,E=l?.provider??`—`,D=a>0?Math.min(100,i/a*100):0,O=Xp(c),k=u?`${u.index} / ${u.max}`:`—`,A=Yp(D),M=e=>({animation:`fadeInUp 0.4s ease-out ${e*.08}s both`});return(0,Z.jsxs)(`div`,{ref:Up(`context`),className:`flex-1 min-h-0 overflow-y-auto overscroll-contain`,children:[(0,Z.jsx)(`style`,{children:`
129
129
  @keyframes fadeInUp {
130
130
  from { opacity: 0; transform: translateY(12px); }
131
131
  to { opacity: 1; transform: translateY(0); }
@@ -134,4 +134,4 @@ Type while the agent is running to queue messages; they are sent automatically w
134
134
  `):``),b(n.url??``)):i?(s(i.name),l(i.transport),d(i.description??``),S(!0),w(i.lazy??!1),m(i.command??``),g(i.args?.join(` `)??``),v(i.env?Object.entries(i.env).map(([e,t])=>`${e}=${t}`).join(`
135
135
  `):``),b(i.url??``)):(s(``),l(`stdio`),d(``),S(!0),w(!1),m(``),g(``),v(``),b(``)))},[n,i,e]);let T=()=>{if(!o.trim()){p.error(a(`settings:mcp.serverNameRequired`));return}let e={};if(_.trim())for(let t of _.trim().split(`
136
136
  `)){let n=t.indexOf(`=`);n>0&&(e[t.slice(0,n).trim()]=t.slice(n+1).trim())}r({name:o.trim(),transport:c,description:u.trim()||void 0,enabled:x,command:f.trim()||void 0,args:h.trim()?h.trim().split(/\s+/):void 0,env:Object.keys(e).length>0?e:void 0,url:y.trim()||void 0,lazy:C}),t(!1)},E=!!n,D=!!i;return(0,Z.jsx)(Fa,{open:e,onOpenChange:t,children:(0,Z.jsxs)(Ma,{children:[(0,Z.jsx)(Aa,{children:(0,Z.jsx)(Na,{children:a(E?`settings:mcp.dialogTitleEdit`:D?`settings:mcp.dialogTitleAdd`:`settings:mcp.dialogTitleAddCustom`)})}),(0,Z.jsxs)(`div`,{className:`space-y-4 py-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:a(`settings:mcp.fieldName`)}),(0,Z.jsx)(Ia,{value:o,onChange:e=>s(e.target.value),placeholder:a(`settings:mcp.fieldNamePlaceholder`),disabled:E||D})]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:a(`settings:mcp.fieldTransport`)}),(0,Z.jsxs)(`select`,{className:`w-full h-10 px-3 rounded-md border border-input bg-background text-sm`,value:c,onChange:e=>l(e.target.value),disabled:D,children:[(0,Z.jsx)(`option`,{value:`stdio`,children:`stdio`}),(0,Z.jsx)(`option`,{value:`sse`,children:`sse`}),(0,Z.jsx)(`option`,{value:`streamable-http`,children:`streamable-http`}),(0,Z.jsx)(`option`,{value:`http`,children:`http`})]})]}),(c===`streamable-http`||c===`sse`||c===`http`)&&(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:a(`settings:mcp.fieldUrl`)}),(0,Z.jsx)(Ia,{value:y,onChange:e=>b(e.target.value),placeholder:a(`activity:mCPSection.httpsMcpExampleComMcp`),disabled:D})]}),c===`stdio`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:a(`settings:mcp.fieldCommand`)}),(0,Z.jsx)(Ia,{value:f,onChange:e=>m(e.target.value),placeholder:a(`settings:mcp.fieldCommandPlaceholder`),disabled:D})]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsxs)(`span`,{className:`text-sm font-medium`,children:[a(`settings:mcp.fieldArgs`),` `,(0,Z.jsx)(`span`,{className:`text-muted-foreground font-normal`,children:a(`settings:mcp.fieldArgsHint`)})]}),(0,Z.jsx)(Ia,{value:h,onChange:e=>g(e.target.value),placeholder:a(`settings:mcp.fieldArgsPlaceholder`),disabled:D})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsxs)(`span`,{className:`text-sm font-medium`,children:[a(`settings:mcp.fieldEnv`),` `,(0,Z.jsx)(`span`,{className:`text-muted-foreground font-normal`,children:a(`settings:mcp.fieldEnvHint`)})]}),(0,Z.jsx)(`textarea`,{className:`w-full h-20 px-3 py-2 rounded-md border border-input bg-background text-sm font-mono resize-none`,value:_,onChange:e=>v(e.target.value),placeholder:`GITHUB_TOKEN=ghp_...
137
- AWS_REGION=us-east-1`})]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:a(`settings:mcp.fieldDescription`)}),(0,Z.jsx)(Ia,{value:u,onChange:e=>d(e.target.value),placeholder:a(`settings:mcp.fieldDescriptionPlaceholder`)})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,id:`server-enabled`,checked:x,onChange:e=>S(e.target.checked),className:`rounded`}),(0,Z.jsx)(`label`,{htmlFor:`server-enabled`,className:`text-sm`,children:a(`settings:mcp.enableServer`)})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,id:`server-lazy`,checked:C,onChange:e=>w(e.target.checked),className:`rounded`}),(0,Z.jsxs)(`label`,{htmlFor:`server-lazy`,className:`text-sm`,children:[a(`settings:mcp.lazyConnect`),` `,(0,Z.jsx)(`span`,{className:`text-muted-foreground font-normal`,children:a(`settings:mcp.lazyConnectHint`)})]})]})]}),(0,Z.jsxs)(ja,{children:[(0,Z.jsx)(Y,{variant:`outline`,onClick:()=>t(!1),children:a(`common:action.cancel`)}),(0,Z.jsx)(Y,{onClick:T,children:a(E?`settings:mcp.saveChanges`:`settings:mcp.addServer`)})]})]})})}function ah({server:e,isAdded:t,onAdd:n}){let{t:r}=H();return(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-3 rounded-md border border-border/70 bg-card/70 p-3 transition-colors hover:bg-card`,children:[(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-sm`,children:e.name}),e.badge&&(0,Z.jsx)(Cm,{variant:`secondary`,className:`text-xs shrink-0`,children:e.badge}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-xs shrink-0`,children:e.transport})]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:e.description}),e.requiresEnvVars&&e.requiresEnvVars.length>0&&(0,Z.jsx)(`p`,{className:`mt-1 text-xs text-warning`,children:r(`settings:mcp.requires`,{vars:e.requiresEnvVars.join(`, `)})})]}),(0,Z.jsx)(`div`,{className:`shrink-0`,children:t?(0,Z.jsxs)(Y,{variant:`ghost`,size:`sm`,disabled:!0,children:[(0,Z.jsx)(ai,{className:`w-4 h-4 mr-1`}),r(`settings:mcp.added`)]}):(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:n,children:[(0,Z.jsx)(Ge,{className:`w-4 h-4 mr-1`}),r(`common:action.add`)]})})]})}function oh(){let e=aa(),{t}=H(),[n,r]=(0,X.useState)([]),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(`list`),[c,l]=(0,X.useState)(),[u,d]=(0,X.useState)(!1),[f,m]=(0,X.useState)(!1),[h,g]=(0,X.useState)(),[_,v]=(0,X.useState)(null);(0,X.useEffect)(()=>{if(!e.client)return;let t=e=>{if(e.type===`mcp.list`){let t=e.payload;r(t.servers??[]),a(!1)}},n=e=>{if(e.type===`mcp.server.added`){let t=e.payload;r(e=>[...e.filter(e=>e.name!==t.server.name),t.server]),p.success(V.t(`settings:mcp.toastAdded`,{name:t.server.name}))}},i=e=>{if(e.type===`mcp.server.removed`){let t=e.payload;r(e=>e.filter(e=>e.name!==t.name)),p.success(V.t(`settings:mcp.toastRemoved`,{name:t.name}))}},o=e=>{if(e.type===`mcp.server.updated`){let t=e.payload;r(e=>e.map(e=>e.name===t.server.name?t.server:e))}},s=e=>{if(e.type===`mcp.server.discovered`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`sleeping`,tools:t.tools}:e)),v(null),p.success(V.t(`settings:mcp.toastDiscovered`,{count:t.tools.length,name:t.name}))}},c=e=>{if(e.type===`mcp.server.sleeping`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`sleeping`}:e)),v(null),p.info(V.t(`settings:mcp.toastSleeping`,{name:t.name}))}},l=e=>{if(e.type===`mcp.server.waking`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`connecting`}:e))}},u=e=>{if(e.type===`mcp.server.connected`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`connected`,pid:t.pid,error:void 0,lastError:void 0}:e)),v(null),p.success(V.t(`settings:mcp.toastConnected`,{name:t.name}))}},d=e=>{if(e.type===`mcp.server.reconnected`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`connected`,error:void 0,lastError:void 0}:e)),v(null),p.success(V.t(`settings:mcp.toastReconnected`,{name:t.name}))}},f=e=>{if(e.type===`mcp.server.disconnected`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`error`,error:t.reason,lastError:t.reason,pid:void 0}:e)),v(null),p.warn(V.t(`settings:mcp.toastDisconnected`,{name:t.name,reason:t.reason}))}},m=e=>{if(e.type===`mcp.server.error`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`error`,error:t.error}:e)),v(null),p.error(V.t(`settings:mcp.toastError`,{name:t.name,error:t.error}))}},h=e=>{if(e.type===`mcp.operation_result`){let t=e.payload;t.success||p.error(t.message),v(null)}},g=e.client.on(`mcp.list`,t),_=e.client.on(`mcp.server.added`,n),y=e.client.on(`mcp.server.removed`,i),b=e.client.on(`mcp.server.updated`,o),x=e.client.on(`mcp.server.discovered`,s),S=e.client.on(`mcp.server.sleeping`,c),C=e.client.on(`mcp.server.waking`,l),w=e.client.on(`mcp.server.connected`,u),T=e.client.on(`mcp.server.error`,m),E=e.client.on(`mcp.operation_result`,h),D=e.client.on(`mcp.server.reconnected`,d),O=e.client.on(`mcp.server.disconnected`,f);return a(!0),e.client?.listMcpServers(),()=>{g?.(),_?.(),y?.(),b?.(),x?.(),S?.(),C?.(),w?.(),T?.(),E?.(),D?.(),O?.()}},[e.client]);let y=(0,X.useCallback)(t=>{e.client?.addMcpServer(t)},[e]),b=(0,X.useCallback)(e=>{g(eh(e,!1)),m(!0)},[]),x=(0,X.useCallback)(n=>{Ba({title:t(`settings:mcp.removeConfirmTitle`,{name:n}),message:t(`settings:mcp.removeConfirmBody`),confirmLabel:t(`common:action.remove`),danger:!0}).then(t=>{t&&e.client?.removeMcpServer(n)})},[e]),S=(0,X.useCallback)(e=>{l(e),g(void 0),d(!0)},[]),C=(0,X.useCallback)(t=>{e.client?.updateMcpServer(t)},[e]),w=(0,X.useCallback)(t=>{v(t),e.client?.wakeMcpServer(t)},[e]),T=(0,X.useCallback)(t=>{v(t),e.client?.sleepMcpServer(t)},[e]),E=(0,X.useCallback)(t=>{v(t),e.client?.discoverMcpServer(t)},[e]),D=(0,X.useCallback)(()=>{a(!0),e.client?.listMcpServers()},[e]),O=n.filter(e=>e.status===`connected`).length,k=n.filter(e=>e.status===`sleeping`).length,A=new Set(n.map(e=>e.name));return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Yn,{className:`h-5 w-5`})}),(0,Z.jsx)(`h2`,{className:`text-base font-semibold`,children:t(`settings:mcp.heading`)}),n.length>0&&(0,Z.jsx)(`span`,{className:`rounded-md border border-border/60 bg-muted/30 px-2 py-1 text-xs text-muted-foreground`,children:t(`settings:mcp.summary`,{connected:O,sleeping:k,total:n.length})})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:D,disabled:i,children:[i?(0,Z.jsx)(mr,{className:`w-4 h-4 animate-spin`}):null,t(`common:action.refresh`)]}),(0,Z.jsxs)(Y,{size:`sm`,onClick:()=>{g(void 0),m(!0)},children:[(0,Z.jsx)(Ge,{className:`w-4 h-4 mr-1`}),t(`settings:mcp.addCustom`)]})]})]}),(0,Z.jsxs)(ys,{value:o,onValueChange:e=>s(e),children:[(0,Z.jsxs)(bs,{children:[(0,Z.jsxs)(xs,{value:`recommended`,children:[(0,Z.jsx)(Tn,{className:`w-3.5 h-3.5 mr-1`}),t(`settings:mcp.tabRecommended`)]}),(0,Z.jsx)(xs,{value:`list`,children:t(`settings:mcp.tabServers`)}),(0,Z.jsx)(xs,{value:`add`,children:t(`settings:mcp.tabAddCustom`)})]}),(0,Z.jsxs)(Ss,{value:`recommended`,className:`space-y-3`,children:[(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t(`settings:mcp.recommendedBody`)}),(0,Z.jsx)(`div`,{className:`grid gap-2`,children:$m.map(e=>(0,Z.jsx)(ah,{server:e,isAdded:A.has(e.name),onAdd:()=>b(e)},e.name))})]}),(0,Z.jsx)(Ss,{value:`list`,className:`space-y-3`,children:i&&n.length===0?(0,Z.jsxs)(`div`,{className:`flex items-center justify-center py-8 text-muted-foreground`,children:[(0,Z.jsx)(mr,{className:`w-5 h-5 animate-spin mr-2`}),t(`settings:mcp.loadingServers`)]}):n.length===0?(0,Z.jsxs)(`div`,{className:`text-center py-8 text-muted-foreground`,children:[(0,Z.jsx)(Yn,{className:`w-10 h-10 mx-auto mb-2 opacity-50`}),(0,Z.jsx)(`p`,{children:t(`settings:mcp.noServers`)}),(0,Z.jsx)(`p`,{className:`text-sm`,children:t(`settings:mcp.noServersHint`)})]}):n.map(e=>(0,Z.jsx)(rh,{server:e,onWake:()=>w(e.name),onSleep:()=>T(e.name),onDiscover:()=>E(e.name),onEdit:()=>S(e),onRemove:()=>x(e.name)},e.name))}),(0,Z.jsx)(Ss,{value:`add`,children:(0,Z.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[(0,Z.jsx)(`p`,{children:t(`settings:mcp.addCustomBody`)}),(0,Z.jsx)(`p`,{className:`mt-1`,children:t(`settings:mcp.addCustomBodyHint`)})]})})]}),(0,Z.jsx)(ih,{open:f,onOpenChange:e=>{e||(m(!1),g(void 0))},prefillConfig:h,onSave:y}),(0,Z.jsx)(ih,{open:u,onOpenChange:d,server:c,onSave:C})]})}function sh({syncPref:e}){let{t}=H(),n=U();return(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Yn,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`settings:integrations.wrongProxyHeading`)})})]}),(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)($,{label:t(`settings:integrations.wrongProxyEnabledLabel`),hint:t(`settings:integrations.wrongProxyEnabledHint`),value:n.wrongProxyEnabled,onChange:()=>e(`wrongProxyEnabled`,!n.wrongProxyEnabled)}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:t(`settings:integrations.wrongProxyUrlLabel`)}),(0,Z.jsx)(Ia,{value:n.wrongProxyUrl,placeholder:`http://localhost:3444`,onChange:t=>e(`wrongProxyUrl`,t.target.value)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.wrongProxyUrlHint`)})]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.wrongProxyChangesApply`)})]})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Yn,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`settings:integrations.hqHeading`)})})]}),(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)($,{label:t(`settings:integrations.hqPublishingLabel`),hint:t(`settings:integrations.hqPublishingHint`),value:n.hqEnabled,onChange:()=>e(`hqEnabled`,!n.hqEnabled)}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:t(`settings:integrations.hqUrlLabel`)}),(0,Z.jsx)(Ia,{value:n.hqUrl,placeholder:t(`activity:integrationsSection.httpHost3499`),onChange:t=>e(`hqUrl`,t.target.value)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.hqUrlHint`)})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:t(`settings:integrations.hqTokenLabel`)}),(0,Z.jsx)(Ia,{type:`password`,value:n.hqToken,placeholder:t(`activity:integrationsSection.clientTokenFromWstackHq`),onChange:t=>e(`hqToken`,t.target.value)})]}),(0,Z.jsx)($,{label:t(`settings:integrations.hqRawContentLabel`),hint:t(`settings:integrations.hqRawContentHint`),value:n.hqRawContent,onChange:()=>e(`hqRawContent`,!n.hqRawContent)})]})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Yn,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`activity:integrationsSection.mcpServers`)})})]}),n.featureMcp?(0,Z.jsx)(oh,{}):(0,Z.jsxs)(`div`,{className:`text-center py-6 text-muted-foreground`,children:[(0,Z.jsx)(Yn,{className:`w-8 h-8 mx-auto mb-2 opacity-50`}),(0,Z.jsx)(`p`,{className:`text-sm`,children:t(`settings:mcp.disabled`)}),(0,Z.jsx)(`p`,{className:`text-xs mt-1`,children:t(`settings:integrations.disabledHint`)})]})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(ti,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`settings:integrations.telegramHeading`)})})]}),n.tgConfigured?(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)($,{label:t(`settings:integrations.telegramSessionEndLabel`),hint:t(`settings:integrations.telegramSessionEndHint`),value:n.tgSessionEnd,onChange:()=>e(`tgSessionEnd`,!n.tgSessionEnd)}),(0,Z.jsx)($,{label:t(`settings:integrations.telegramDelegateLabel`),hint:t(`settings:integrations.telegramDelegateHint`),value:n.tgDelegate,onChange:()=>e(`tgDelegate`,!n.tgDelegate)}),(0,Z.jsx)($,{label:t(`settings:integrations.telegramLongToolLabel`),hint:t(`settings:integrations.telegramLongToolHint`,{ms:n.tgLongToolMs}),value:n.tgLongToolMs>0,onChange:()=>e(`tgLongToolMs`,n.tgLongToolMs>0?0:3e4)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.telegramChangesApply`)})]}):(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.telegramNotConfigured`)})]})]})}function ch({syncPref:e}){let{t}=H(),n=U();return(0,Z.jsx)(`div`,{className:`space-y-6`,children:(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Vi,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`settings:logs.heading`)})})]}),(0,Z.jsx)(Q,{label:t(`settings:logs.logLevelLabel`),hint:t(`settings:logs.logLevelHint`),value:n.logLevel,options:[{value:`debug`,label:t(`settings:logs.logLevelDebug`)},{value:`info`,label:t(`settings:logs.logLevelInfo`)},{value:`warn`,label:t(`settings:logs.logLevelWarn`)},{value:`error`,label:t(`settings:logs.logLevelError`)}],onChange:t=>e(`logLevel`,t)}),(0,Z.jsx)(Q,{label:t(`settings:logs.auditLevelLabel`),hint:t(`settings:logs.auditLevelHint`),value:n.auditLevel,options:[{value:`minimal`,label:t(`settings:logs.auditLevelMinimal`)},{value:`standard`,label:t(`settings:logs.auditLevelStandard`)},{value:`full`,label:t(`settings:logs.auditLevelFull`)}],onChange:t=>e(`auditLevel`,t)}),(0,Z.jsx)(Q,{label:t(`settings:logs.fsAccessLabel`),hint:t(`settings:logs.fsAccessHint`),value:n.fsAccess,options:[{value:`unrestricted`,label:t(`settings:logs.fsAccessUnrestricted`)},{value:`project`,label:t(`settings:logs.fsAccessProject`)}],onChange:t=>e(`fsAccess`,t)}),(0,Z.jsx)($,{label:t(`settings:logs.debugStreamLabel`),hint:t(`settings:logs.debugStreamHint`),value:n.debugStream,onChange:()=>e(`debugStream`,!n.debugStream)})]})})}function lh({syncPref:e}){let{t}=H(),n=U(e=>e.reasoningEffort),r=j(e=>e.reasoningEffortLevels),i=Bc(r,n).map(e=>({value:e,label:t(zc(e))}));return(0,Z.jsx)(`div`,{className:`mt-4 border-t border-border/60 pt-4`,children:(0,Z.jsx)(Q,{label:t(`settings:agent.reasoningEffortLabel`),hint:Vc(r,n)?t(`settings:agent.reasoningEffortUnsupported`,{levels:(r??[]).join(`, `)}):r?`${t(`settings:agent.reasoningEffortHint`)} (${t(`settings:agent.reasoningEffortModelSet`)})`:t(`settings:agent.reasoningEffortHint`),value:n,options:i,onChange:t=>e(`reasoningEffort`,t)})})}function uh({provider:e,catalogModels:n,currentCatalogProvider:r,isLoadingModels:i,isSwitching:a,setIsLoadingModels:o,onModelSelect:s,refreshModels:c}){let l=t(e=>e.model),{t:u}=H();return(0,Z.jsx)(`div`,{className:`space-y-4`,children:e?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium`,children:r?.name||e}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e})]}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:()=>{o(!0),c(e)},children:(0,Z.jsx)(Bi,{className:G(`h-4 w-4`,i&&`animate-spin`)})})]}),i&&!n[e]?(0,Z.jsxs)(`div`,{className:`flex items-center justify-center py-8`,children:[(0,Z.jsx)(mr,{className:`h-6 w-6 animate-spin text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:u(`settings:model.loading`)})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(um,{options:(n[e]||[]).map(e=>({id:e.id,label:e.name||e.id,badges:e.capabilities,detail:[e.contextWindow?`${Math.round(e.contextWindow/1e3)}k`:``,e.inputCost==null?``:`${e.inputCost}/${e.outputCost}`,e.reasoningEffortLevels?.length?`effort ${e.reasoningEffortLevels.join(`/`)}`:``].filter(Boolean).join(` · `),detailHighlight:!0})),selectedId:l,onSelect:s,disabled:a,emptyMessage:u(`settings:model.notFound`)}),a?(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:u(`settings:toast.switching`)}):null]})]}):(0,Z.jsxs)(`div`,{className:`text-center py-8 text-muted-foreground`,children:[(0,Z.jsx)(jr,{className:`h-8 w-8 mx-auto mb-2 opacity-50`}),(0,Z.jsx)(`p`,{children:u(`settings:model.selectProviderFirst`)})]})})}var dh=[{value:`off`,label:`Off`,hint:`The leader never changes its own tier.`},{value:`propose`,label:`Propose`,hint:`The leader asks before switching. Recommended.`},{value:`auto`,label:`Auto`,hint:`The leader switches on its own, still bounded by the guard rails below.`}],fh={};function ph({syncPref:e}){let t=U(),n=t.modelTiers??{},r=n.levels??{},i=n.routing??{},a=n.leader??{},o=Object.keys(r),s=Object.keys(t.fallbackProfiles??{}),[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(``),m=(0,X.useCallback)(t=>e(`modelTiers`,{...n,...t}),[e,n]),h=(0,X.useCallback)((t,i)=>e(`modelTiers`,{...n,levels:{...r,[t]:{...r[t]??{},...i}}}),[e,n,r]),g=(0,X.useCallback)(t=>{let a={...r};delete a[t];let o=Object.fromEntries(Object.entries(i).filter(([,e])=>e!==t));e(`modelTiers`,{...n,levels:a,routing:o})},[e,n,r,i]),_=()=>{let e=c.trim();!e||r[e]||(h(e,fh),l(``))},v=()=>{let e=u.trim();!e||!f||(m({routing:{...i,[e]:f}}),d(``),p(``))},y=e=>{let t={...i};delete t[e],m({routing:t})},b=e=>{let t=e.trim();if(!t)return;let n=Number.parseFloat(t);return Number.isFinite(n)&&n>=0?n:void 0};return(0,Z.jsxs)(`section`,{className:`space-y-3`,"data-testid":`model-tiers-section`,children:[(0,Z.jsxs)(`header`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(qi,{className:`h-4 w-4 text-muted-foreground`}),(0,Z.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:`Model cost tiers`}),(0,Z.jsxs)(`label`,{className:`ml-auto flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:n.enabled===!0,onChange:e=>m({enabled:e.target.checked}),"data-testid":`model-tiers-enabled`}),`Enabled`]})]}),(0,Z.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:`A tier binds a fallback profile, a spend budget and a runtime setting under one name, then routes work to it by role or phase. Subagents, Kanban dispatch and the leader all read this table. While disabled, everything resolves exactly as it did before tiers existed.`}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,Z.jsx)(`h4`,{className:`text-xs font-medium text-foreground`,children:`Levels`}),(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`Order is the ladder — the first row is the cheapest rung.`})]}),o.length===0&&(0,Z.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`No levels yet. Add one below, then point it at a fallback profile.`}),o.map((e,t)=>{let n=r[e]??{};return(0,Z.jsxs)(`div`,{className:`space-y-1.5 rounded-md border border-border bg-muted px-2 py-1.5`,"data-testid":`model-tier-row-${e}`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:t+1}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 break-words font-mono font-medium text-foreground`,children:e}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>g(e),className:`text-muted-foreground hover:text-destructive`,title:`Remove level`,"data-testid":`model-tier-remove-${e}`,children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,Z.jsxs)(`select`,{value:n.fallbackProfile??``,onChange:t=>h(e,{fallbackProfile:t.target.value||void 0}),className:`rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-profile-${e}`,children:[(0,Z.jsx)(`option`,{value:``,children:`profile: (none)`}),s.map(e=>(0,Z.jsxs)(`option`,{value:e,children:[`profile: `,e]},e))]}),(0,Z.jsx)(`input`,{type:`number`,min:0,step:`0.01`,value:n.maxCostUsd??``,onChange:t=>h(e,{maxCostUsd:b(t.target.value)}),placeholder:`max $`,className:`w-20 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-cost-${e}`}),(0,Z.jsx)(`input`,{type:`number`,min:0,value:n.maxIterations??``,onChange:t=>h(e,{maxIterations:b(t.target.value)}),placeholder:`iters`,className:`w-16 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`}),(0,Z.jsx)(`input`,{type:`number`,min:0,value:n.maxToolCalls??``,onChange:t=>h(e,{maxToolCalls:b(t.target.value)}),placeholder:`tools`,className:`w-16 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`})]}),n.maxCostUsd!==void 0&&(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Tightens a role's default budget down to this ceiling; it never raises one, and never overrides a budget passed explicitly to the spawn.`})]},e)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_()},placeholder:`new level name (e.g. budget)`,className:`min-w-0 flex-1 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-new-name`}),(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:_,disabled:!c.trim(),children:[(0,Z.jsx)(Ge,{className:`mr-1 h-3 w-3`}),` Add`]})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`h4`,{className:`text-xs font-medium text-foreground`,children:`Routing`}),Object.keys(i).length===0?(0,Z.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`No rules — everything uses the default tier`,n.default?` (${n.default})`:` (standard)`,`.`]}):(0,Z.jsx)(`ul`,{className:`space-y-1`,children:Object.entries(i).map(([e,t])=>(0,Z.jsxs)(`li`,{className:`flex items-center gap-1.5 rounded-md border border-border bg-muted px-2 py-1 text-[11px]`,"data-testid":`model-tier-route-${e}`,children:[(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1 break-words font-mono text-foreground`,children:[e,` → `,t]}),!r[t]&&(0,Z.jsx)(`span`,{className:`rounded-sm bg-warning/15 px-1 py-0.5 text-[10px] text-foreground`,children:`missing level`}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>y(e),className:`text-muted-foreground hover:text-destructive`,title:`Remove rule`,children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]},e))}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),placeholder:`role, phase, or *`,className:`min-w-0 flex-1 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-new-route-key`}),(0,Z.jsxs)(`select`,{value:f,onChange:e=>p(e.target.value),className:`rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-new-route-tier`,children:[(0,Z.jsx)(`option`,{value:``,children:`tier…`}),o.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]}),(0,Z.jsx)(Y,{size:`sm`,variant:`outline`,onClick:v,disabled:!u.trim()||!f,children:(0,Z.jsx)(Ge,{className:`h-3 w-3`})})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[11px]`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`Default tier`}),(0,Z.jsxs)(`select`,{value:n.default??``,onChange:e=>m({default:e.target.value||void 0}),className:`rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-default`,children:[(0,Z.jsx)(`option`,{value:``,children:`standard`}),o.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`h4`,{className:`text-xs font-medium text-foreground`,children:`Leader self-switching`}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:dh.map(e=>{let t=(a.mode??`propose`)===e.value;return(0,Z.jsx)(`button`,{type:`button`,title:e.hint,onClick:()=>m({leader:{...a,mode:e.value}}),className:t?`rounded-sm border border-primary bg-primary/10 px-2 py-0.5 text-[11px] text-foreground`:`rounded-sm border border-border bg-background px-2 py-0.5 text-[11px] text-muted-foreground hover:text-foreground`,"data-testid":`model-tier-leader-${e.value}`,children:e.label},e.value)})}),(0,Z.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:dh.find(e=>e.value===(a.mode??`propose`))?.hint}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 text-[11px]`,children:[(0,Z.jsxs)(`label`,{className:`flex items-center gap-1 text-muted-foreground`,children:[`dwell`,(0,Z.jsx)(`input`,{type:`number`,min:0,value:a.dwellTurns??``,onChange:e=>m({leader:{...a,dwellTurns:b(e.target.value)}}),placeholder:`6`,className:`w-14 rounded-sm border border-border bg-background px-1.5 py-0.5`,"data-testid":`model-tier-leader-dwell`}),`turns`]}),(0,Z.jsxs)(`label`,{className:`flex items-center gap-1 text-muted-foreground`,children:[`min saving $`,(0,Z.jsx)(`input`,{type:`number`,min:0,step:`0.01`,value:a.minSavingsUsd??``,onChange:e=>m({leader:{...a,minSavingsUsd:b(e.target.value)}}),placeholder:`0.10`,className:`w-16 rounded-sm border border-border bg-background px-1.5 py-0.5`})]}),(0,Z.jsxs)(`label`,{className:`flex items-center gap-1 text-muted-foreground`,children:[`ceiling`,(0,Z.jsxs)(`select`,{value:a.maxTier??``,onChange:e=>m({leader:{...a,maxTier:e.target.value||void 0}}),className:`rounded-sm border border-border bg-background px-1.5 py-0.5`,"data-testid":`model-tier-leader-ceiling`,children:[(0,Z.jsx)(`option`,{value:``,children:`none`}),o.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,Z.jsx)(`p`,{className:`text-[10px] leading-relaxed text-muted-foreground`,children:`A switch invalidates the prompt cache, so a downgrade is refused unless the projected saving over the dwell window covers re-reading the conversation on the new model. A downgrade into a context window the session no longer fits is refused outright.`})]})]})}function mh(){let e=(0,X.useRef)([]);return{setFieldRef:(0,X.useCallback)(t=>n=>{e.current[t]=n},[]),handleKeyDown:(0,X.useCallback)((t,n,r)=>{if(t.key===`ArrowDown`){t.preventDefault();for(let t=n+1;t<e.current.length;t++){let n=e.current[t];if(n&&!n.hasAttribute(`disabled`)&&n.getAttribute(`aria-disabled`)!==`true`){if(n.focus(),n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement){let e=n.value.length;n.setSelectionRange(e,e)}return}}return}if(t.key===`ArrowUp`){t.preventDefault();for(let t=n-1;t>=0;t--){let n=e.current[t];if(n&&!n.hasAttribute(`disabled`)&&n.getAttribute(`aria-disabled`)!==`true`){n.focus(),(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)&&n.setSelectionRange(n.value.length,n.value.length);return}}return}t.key===`Enter`&&r&&(t.preventDefault(),r())},[])}}function hh({models:e,onChange:n}){let{t:r}=H(),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)([]),[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(``),g=(0,X.useRef)(void 0),_=(0,X.useRef)(null),v=t(e=>e.wsUrl),y=(0,X.useCallback)(e=>{if(!e.trim()){l([]);return}d(!0);let t=B(v),n=t.on(`provider.models.search_result`,t=>{let n=t.payload;!n||n.query!==e.trim()||(l(n.matches??[]),d(!1))});t.searchProviderModels(e.trim(),8),setTimeout(()=>{n?.(),d(!1)},5e3)},[v]);(0,X.useEffect)(()=>{if(g.current&&clearTimeout(g.current),!o.trim()){l([]);return}return g.current=setTimeout(()=>y(o),250),()=>{g.current&&clearTimeout(g.current)}},[o,y]);let b=(0,X.useCallback)((t,r)=>{if(!t||e.some(e=>e.id===t))return;let i={id:t,name:r?.name??r?.modelId??t,...r?.maxOutput?{maxOutput:r.maxOutput}:{},capabilities:{...r?.contextWindow?{maxContext:r.contextWindow}:{},...r?.capabilities.includes(`tools`)?{tools:!0}:{},...r?.capabilities.includes(`vision`)?{vision:!0}:{},...r?.capabilities.includes(`reasoning`)?{reasoning:!0}:{}}};n([...e,i]),s(``),l([]),a(!1)},[e,n]),x=(0,X.useCallback)(t=>{n(e.filter(e=>e.id!==t))},[e,n]),S=(0,X.useCallback)(()=>{let e=m.trim();e&&(b(e),h(``),p(!1))},[m,b]);return(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`span`,{className:`text-[11px] font-medium text-muted-foreground block`,children:r(`setup:screen.custom.models`)}),e.length>0&&(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>(0,Z.jsxs)(`div`,{className:G(`group inline-flex items-center gap-1 px-2 py-1 text-xs rounded`,`bg-accent/10 text-accent border border-accent/20`),title:e.name&&e.name!==e.id?`${e.name}\n${e.capabilities?.maxContext?`maxContext: ${e.capabilities.maxContext}`:``}${e.maxOutput?`\nmaxOutput: ${e.maxOutput}`:``}`:void 0,children:[(0,Z.jsx)(`span`,{className:`truncate max-w-[120px]`,children:e.name&&e.name!==e.id?e.name:e.id}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>x(e.id),className:`opacity-0 group-hover:opacity-100 transition-opacity text-muted-foreground hover:text-destructive`,children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]},e.id))}),i?(0,Z.jsxs)(`div`,{className:`space-y-2 p-3 rounded border border-border/60 bg-muted/20`,children:[(0,Z.jsxs)(`div`,{className:`relative`,children:[(0,Z.jsx)(yi,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground`}),(0,Z.jsx)(Ia,{placeholder:r(`setup:screen.custom.modelSearchPlaceholder`),value:o,onChange:e=>s(e.target.value),className:`text-sm pl-8`,autoFocus:!0}),u&&(0,Z.jsx)(mr,{className:`absolute right-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 animate-spin text-muted-foreground`})]}),c.length>0&&(0,Z.jsx)(`div`,{className:`space-y-1 max-h-40 overflow-y-auto`,children:c.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>b(e.modelId,e),className:G(`w-full flex items-start gap-2 p-2 text-left text-xs rounded transition-colors`,`hover:bg-accent/10 border border-transparent hover:border-accent/30`),children:[(0,Z.jsx)(ai,{className:`h-3.5 w-3.5 mt-0.5 shrink-0 text-muted-foreground`}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`font-medium block truncate`,children:e.name}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground block`,children:[e.providerName,` · `,e.modelId,e.contextWindow?` · ${(e.contextWindow/1e3).toFixed(0)}K ctx`:``,e.maxOutput?` · ${e.maxOutput.toLocaleString()} out`:``]})]})]},`${e.providerId}\u0000${e.modelId}`))}),!u&&o.trim()&&c.length===0&&(0,Z.jsxs)(`div`,{className:`text-xs text-muted-foreground text-center py-2`,children:[r(`setup:screen.custom.noCatalogMatch`),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{p(!0),setTimeout(()=>_.current?.focus(),50)},className:`ml-1 text-accent underline underline-offset-2 hover:text-accent/80`,children:r(`setup:screen.custom.useCustomId`)})]}),f&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Ia,{ref:_,placeholder:r(`setup:screen.custom.customModelIdPlaceholder`),value:m,onChange:e=>h(e.target.value),className:`text-sm flex-1`,onKeyDown:e=>{e.key===`Enter`&&S()}}),(0,Z.jsxs)(Y,{type:`button`,size:`sm`,onClick:S,disabled:!m.trim(),children:[(0,Z.jsx)(ai,{className:`h-3.5 w-3.5 mr-1`}),r(`setup:screen.custom.add`)]})]}),(0,Z.jsx)(`div`,{className:`flex items-center gap-2 pt-1`,children:(0,Z.jsx)(Y,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>{a(!1),s(``),l([]),p(!1),h(``)},className:`text-xs`,children:r(`setup:screen.custom.cancel`)})})]}):(0,Z.jsxs)(Y,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>a(!0),className:`text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5 mr-1`}),r(`setup:screen.custom.addModel`)]}),e.length>0&&(0,Z.jsxs)(`p`,{className:`text-[10px] text-muted-foreground`,children:[e.length,` `,e.length===1?r(`setup:screen.custom.modelSingular`):r(`setup:screen.custom.modelPlural`)]})]})}function gh({maskedKey:e,className:t}){let{t:n}=H(),[r,i]=(0,X.useState)(!1),a=(0,X.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{i(!0),setTimeout(()=>i(!1),1500)})},[e]);return(0,Z.jsxs)(`div`,{className:G(`group flex items-center gap-1.5 rounded-md border border-border/50 bg-background/50 px-2 py-1 font-mono text-xs text-muted-foreground`,t),children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate tracking-wide`,children:e}),(0,Z.jsx)(`button`,{type:`button`,onClick:a,className:`shrink-0 rounded p-0.5 text-muted-foreground/50 opacity-0 transition-all hover:text-foreground group-hover:opacity-100 focus:opacity-100`,title:r?`Copied`:`Copy key preview`,"aria-label":n(`activity:apikeydisplay.copyApiKeyToClipboard`),children:r?(0,Z.jsx)(ai,{className:`h-3 w-3 text-success`}):(0,Z.jsx)(Vt,{className:`h-3 w-3`})})]})}var _h={openrouter:{id:`openrouter`,name:`OpenRouter (Metered)`,family:`openai-compatible`,baseUrl:`https://openrouter.ai/api/v1`,envVars:[`OPENROUTER_API_KEY`],models:[`openai/gpt-4o`,`openai/gpt-4o-mini`,`anthropic/claude-sonnet-4-20250514`,`google/gemini-2.0-flash-001`,`meta-llama/llama-4-scout`,`deepseek/deepseek-chat`],usage:`metered-api`,docsUrl:`https://openrouter.ai/docs/quickstart`,autoDiscover:!0,requestPolicy:`openrouter`,catalog:{description:`All models via one key`,icon:`🔀`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`sk-or-...`}},"kimi-for-coding":{id:`kimi-for-coding`,name:`Kimi Code (Subscription)`,family:`openai-compatible`,baseUrl:`https://api.kimi.com/coding/v1`,envVars:[`KIMI_API_KEY`],models:[`kimi-for-coding`,`kimi-for-coding-highspeed`],quirks:{thinkingParam:`kimi-toggle`},usage:`subscription-interactive`,docsUrl:`https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html`,requestPolicy:`kimi`,catalog:{description:`Personal interactive coding with the Kimi Code subscription key. Generate the API key at kimi.com/code/console.`,icon:`🌙`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`sk-...`}},moonshotai:{id:`moonshotai`,name:`Moonshot Platform (Metered)`,family:`openai-compatible`,baseUrl:`https://api.moonshot.ai/v1`,envVars:[`MOONSHOT_API_KEY`],models:[`kimi-k2.7-code`,`kimi-k2.7-code-highspeed`],quirks:{thinkingParam:`always-on`},usage:`metered-api`,docsUrl:`https://platform.kimi.ai/docs/api/overview`,requestPolicy:`kimi`,catalog:{description:`Metered Moonshot Platform API — pay-as-you-go for automation, background work, and commercial use.`,icon:`🌑`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`sk-...`}},"zai-coding-plan":{id:`zai-coding-plan`,name:`Z.AI Coding Plan (Subscription)`,family:`openai-compatible`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,envVars:[`ZHIPU_API_KEY`],models:[`glm-5.2`,`glm-5-turbo`,`glm-4.7`],quirks:{thinkingParam:`zai-glm`},usage:`subscription-interactive`,docsUrl:`https://docs.z.ai/devpack/quick-start`,requestPolicy:`zai`,catalog:{description:`Use your Z.AI Coding Plan subscription. Generate an API key from your Z.AI dashboard.`,icon:`🔷`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`...`}},zai:{id:`zai`,name:`Z.AI API (Metered)`,family:`openai-compatible`,baseUrl:`https://api.z.ai/api/paas/v4`,envVars:[`ZHIPU_API_KEY`],models:[`glm-4.7`,`glm-5-turbo`,`glm-5.2`],quirks:{thinkingParam:`zai-glm`},usage:`metered-api`,docsUrl:`https://docs.z.ai/guides/overview/quick-start`,requestPolicy:`zai`,catalog:{description:`Pay-as-you-go Z.AI GLM access for automation and commercial use.`,icon:`🔷`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`...`,referral:{code:`JQZ7TPPRA6`,reward:`Limited-time deal for GLM Coding Plan subscription`,url:`https://z.ai/subscribe?ic=JQZ7TPPRA6`}}},minimax:{id:`minimax`,name:`MiniMax Token Plan (Subscription)`,family:`openai-compatible`,baseUrl:`https://api.minimax.io/v1`,envVars:[`MINIMAX_API_KEY`],models:[`MiniMax-M3`,`MiniMax-M2.7`,`MiniMax-M2.5`,`MiniMax-M2`],usage:`subscription-interactive`,docsUrl:`https://platform.minimax.io/docs/api-reference/text-chat-openai`,catalog:{description:`Subscribe to one plan and unlock frontier coding, 1M context, and native multimodality.`,icon:`🔮`,color:`from-destructive/10 to-destructive/5 border-destructive/25 hover:border-destructive/45`,keyPlaceholder:`eyJ...`,referral:{code:`JrA4R9QAEn`,reward:`Friends get 10% off + Builder benefits. Referrers earn 10% cashback + community perks.`,url:`https://platform.minimax.io/subscribe/token-plan?code=JrA4R9QAEn&source=link`}}},mistral:{id:`mistral`,name:`Mistral AI API (Metered)`,family:`openai-compatible`,baseUrl:`https://api.mistral.ai/v1`,envVars:[`MISTRAL_API_KEY`],models:[`mistral-large-latest`,`codestral-latest`,`ministral-8b-latest`],usage:`metered-api`,docsUrl:`https://docs.mistral.ai/`,catalog:{description:`Mistral Large, Codestral, and Ministral — open-weight frontier models.`,icon:`🌬️`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`Vz8d...`}},deepseek:{id:`deepseek`,name:`DeepSeek API (Metered)`,family:`openai-compatible`,baseUrl:`https://api.deepseek.com`,envVars:[`DEEPSEEK_API_KEY`],models:[`deepseek-v4-flash`,`deepseek-v4-pro`],usage:`metered-api`,docsUrl:`https://api-docs.deepseek.com/`,requestPolicy:`deepseek`,catalog:{description:`High-performance reasoning at low cost`,icon:`🐋`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`sk-...`}},groq:{id:`groq`,name:`GroqCloud (Metered)`,family:`openai-compatible`,baseUrl:`https://api.groq.com/openai/v1`,envVars:[`GROQ_API_KEY`],models:[`llama-3.3-70b-versatile`,`llama-3.1-8b-instant`,`mixtral-8x7b-32768`,`gemma2-9b-it`],usage:`metered-api`,docsUrl:`https://console.groq.com/docs/api-reference`,requestPolicy:`groq`,catalog:{description:`Ultra-fast inference via LPU hardware — Llama, Mixtral, Gemma, and Qwen models.`,icon:`⚡`,color:`from-warning/12 to-warning/5 border-warning/30 hover:border-warning/50`,keyPlaceholder:`gsk_...`}},perplexity:{id:`perplexity`,name:`Perplexity Sonar API (Metered)`,family:`openai-compatible`,baseUrl:`https://api.perplexity.ai`,envVars:[`PERPLEXITY_API_KEY`],models:[`sonar-pro`,`sonar`,`sonar-reasoning-pro`,`sonar-reasoning`],usage:`metered-api`,docsUrl:`https://docs.perplexity.ai/`,requestPolicy:`perplexity`,catalog:{description:`Web-augmented chat models with built-in search and citations.`,icon:`🔍`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`pplx-...`}},"alibaba-token-plan":{id:`alibaba-token-plan`,name:`Alibaba Token Plan (Personal Edition)`,family:`openai-compatible`,baseUrl:`https://dashscope.aliyuncs.com/compatible-mode/v1`,envVars:[`ALIBABA_API_KEY`,`DASHSCOPE_API_KEY`],models:[`qwen3.8-max-preview`,`qwen3.7-max`,`qwen3.7-plus`,`qwen3.6-flash`,`glm-5.2`,`deepseek-v4-pro`,`wan2.7-image`,`wan2.7-image-pro`,`happyhorse-1.1-t2v`,`happyhorse-1.1-i2v`,`happyhorse-1.1-r2v`],customModels:{"qwen3.8-max-preview":{capabilities:{tools:!0,vision:!0,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"qwen3.7-max":{capabilities:{tools:!0,vision:!1,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"qwen3.7-plus":{capabilities:{tools:!0,vision:!0,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"qwen3.6-flash":{capabilities:{tools:!0,vision:!0,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"glm-5.2":{capabilities:{tools:!0,vision:!1,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"deepseek-v4-pro":{capabilities:{tools:!0,vision:!1,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!1,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"wan2.7-image":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}},"wan2.7-image-pro":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}},"happyhorse-1.1-t2v":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}},"happyhorse-1.1-i2v":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}},"happyhorse-1.1-r2v":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}}},usage:`subscription-interactive`,docsUrl:`https://www.alibabacloud.com/help/en/model-studio/token-plan-personal-overview`,requestPolicy:`alibaba`,catalog:{description:`Monthly Credits subscription for Qwen, DeepSeek, GLM, Wanx image, and HappyHorse video models.`,icon:`☁️`,color:`from-warning/12 to-warning/5 border-warning/30 hover:border-warning/50`,keyPlaceholder:`sk-...`}}};Object.keys(_h);var vh=[{id:`openai`,name:`OpenAI`,family:`openai`,envVars:[`OPENAI_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://platform.openai.com/api-keys`,catalog:{description:`GPT, o-series, and Codex models`,icon:`🤖`,color:`from-success/12 to-success/5 border-success/30 hover:border-success/50`,keyPlaceholder:`sk-...`}},{id:`anthropic`,name:`Anthropic`,family:`anthropic`,envVars:[`ANTHROPIC_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://console.anthropic.com/settings/keys`,catalog:{description:`Claude model access`,icon:`🧠`,color:`from-warning/12 to-warning/5 border-warning/30 hover:border-warning/50`,keyPlaceholder:`sk-ant-...`}},{id:`google`,name:`Google`,family:`google`,envVars:[`GOOGLE_GENERATIVE_AI_API_KEY`,`GEMINI_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://aistudio.google.com/apikey`,catalog:{description:`Gemini Pro, Flash, and Nano`,icon:`✨`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`AIza...`}},{id:`openai-codex`,name:`OpenAI Codex OAuth`,family:`openai-codex`,envVars:[],models:[],usage:`subscription-interactive`,docsUrl:`https://developers.openai.com/codex/`},{id:`anthropic-oauth`,name:`Anthropic OAuth`,family:`anthropic-oauth`,envVars:[],models:[],usage:`subscription-interactive`,docsUrl:`https://docs.anthropic.com/`},{id:`github-copilot`,name:`GitHub Copilot`,family:`github-copilot`,envVars:[],models:[],usage:`subscription-interactive`,docsUrl:`https://docs.github.com/en/copilot`},{id:`opencode-go`,name:`OpenCode Go`,family:`openai-compatible`,baseUrl:`https://opencode.ai/zen/go/v1`,envVars:[`OPENCODE_API_KEY`],models:[],usage:`subscription-interactive`,docsUrl:`https://opencode.ai/go?ref=6VZAER87H4`,catalog:{description:`Global hosted API for 75+ LLM providers — stable access from US, EU, and Singapore`,icon:`🌍`,color:`from-success/12 to-success/5 border-success/30 hover:border-success/50`,keyPlaceholder:`oc-...`,referral:{code:`6VZAER87H4`,reward:`Support the project by signing up with this referral link`,url:`https://opencode.ai/go?ref=6VZAER87H4`}}},{id:`xai`,name:`xAI`,family:`openai-compatible`,baseUrl:`https://api.x.ai/v1`,envVars:[`XAI_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://docs.x.ai/`,requestPolicy:`xai`},{id:`ai-gateway`,name:`Vercel AI Gateway`,family:`openai-compatible`,baseUrl:`https://ai-gateway.vercel.sh/v1`,discoveryOnlyBaseUrl:!0,envVars:[`AI_GATEWAY_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://vercel.com/docs/ai-gateway`,autoDiscover:!0,catalog:{description:`Every model behind one key — routed by Vercel AI Gateway`,icon:`▲`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`vck_...`}}],yh=[{id:`omniroute`,name:`OmniRoute`,family:`openai-compatible`,baseUrl:`http://localhost:20128/v1`,envVars:[],models:[],usage:`local`,quirks:{stripThinkTags:!0},autoDiscover:!0,local:{noAuth:!0,hint:`WrongStack local gateway · port 20128 · no key · auto-discovers models`}},{id:`ollama`,name:`Ollama`,family:`openai-compatible`,baseUrl:`http://localhost:11434/v1`,envVars:[],models:[],usage:`local`,docsUrl:`https://ollama.com`,local:{noAuth:!0,hint:`ollama.com · port 11434 · no key`}},{id:`vllm`,name:`vLLM`,family:`openai-compatible`,baseUrl:`http://localhost:8000/v1`,envVars:[],models:[],usage:`local`,docsUrl:`https://docs.vllm.ai`,local:{noAuth:!1,hint:`docs.vllm.ai · port 8000 · optional key`}},{id:`lmstudio`,name:`LM Studio`,family:`openai-compatible`,baseUrl:`http://localhost:1234/v1`,envVars:[],models:[],usage:`local`,docsUrl:`https://lmstudio.ai`,local:{noAuth:!1,hint:`lmstudio.ai · port 1234 · optional key`}}],bh=Object.fromEntries([...vh,...Object.values(_h),...yh].map(e=>[e.id,e]));function xh(){return yh.map(e=>{if(!e.baseUrl||!e.local)throw Error(`Local provider definition is incomplete: ${e.id}`);return{id:e.id,label:e.name,defaultBaseUrl:e.baseUrl,noAuth:e.local.noAuth,hint:e.local.hint}})}function Sh(){return Object.values(bh).filter(e=>e.catalog!==void 0).map(e=>({id:e.id,name:e.name,family:e.family,description:e.catalog.description,icon:e.catalog.icon,color:e.catalog.color,keyPlaceholder:e.catalog.keyPlaceholder,...e.docsUrl?{docsUrl:e.docsUrl}:{},...e.catalog.referral?{referral:{...e.catalog.referral}}:{}}))}var Ch=`openai-compatible`,wh=xh(),Th=[{kind:`chatgpt`,label:`ChatGPT`,subtitle:`Plus / Pro / Team → openai-codex`,icon:(0,Z.jsx)(Et,{className:`h-5 w-5`})},{kind:`claude`,label:`Claude`,subtitle:`Pro / Max → anthropic-oauth`,icon:(0,Z.jsx)(Fi,{className:`h-5 w-5`})},{kind:`copilot`,label:`GitHub Copilot`,subtitle:`Copilot → github-copilot`,icon:(0,Z.jsx)(ct,{className:`h-5 w-5`})}],Eh=[`awaiting_browser`,`awaiting_code`,`exchanging`,`fetching_models`];function Dh({ws:e,savedByKind:t}){let{t:n}=H(),[r,i]=(0,X.useState)({chatgpt:{phase:`idle`},claude:{phase:`idle`},copilot:{phase:`idle`}}),[a,o]=(0,X.useState)(``),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(null),[d,f]=(0,X.useState)(``),[m,h]=(0,X.useState)(null);(0,X.useEffect)(()=>{let t=e.on(`auth.oauth.status`,e=>{if(e.type!==`auth.oauth.status`)return;let t=e.payload;i(e=>({...e,[t.kind]:{...t}})),t.phase===`success`?(p.success(t.message??V.t(`settings:oauth.signedInToast`,{provider:t.providerId??t.kind})),c(null),o(``),u(null),f(``)):t.phase===`error`&&p.error(t.message??V.t(`settings:oauth.signInFailed`))});return()=>t?.()},[e]);let g=(0,X.useCallback)(t=>{i(e=>({...e,[t]:{phase:t===`copilot`?`awaiting_code`:`awaiting_browser`}})),e.startOAuth(t)},[e]),_=(0,X.useCallback)((t,n)=>{i(e=>({...e,[t]:{phase:t===`copilot`?`awaiting_code`:`awaiting_browser`}})),e.startOAuth(t,n)},[e]),v=(0,X.useCallback)(t=>{let n=d.trim();n&&(i(e=>({...e,[t]:{phase:t===`copilot`?`awaiting_code`:`awaiting_browser`}})),e.startOAuth(t,n),u(null),f(``))},[e,d]),y=(0,X.useCallback)(t=>{e.cancelOAuth(t),i(e=>({...e,[t]:{phase:`idle`}})),c(null)},[e]),b=(0,X.useCallback)(t=>{let n=a.trim();n&&(e.submitOAuthCode(t,n),i(e=>({...e,[t]:{...e[t],phase:`exchanging`}})))},[a,e]),x=t??{};return(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(`div`,{className:`rounded-md border border-warning/30 bg-warning/5 p-3`,children:(0,Z.jsx)(`p`,{className:`text-xs leading-5 text-warning`,children:n(`settings:oauth.termsWarning`)})}),(0,Z.jsx)(`div`,{className:`grid grid-cols-1 gap-2 lg:grid-cols-3`,children:Th.map(e=>{let t=r[e.kind],i=Eh.includes(t.phase),p=x[e.kind],S=p?.length??0,C=m===e.kind;return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-background/70 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 lg:flex-col lg:items-stretch`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:e.icon}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`div`,{className:`font-medium`,children:e.label}),(0,Z.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.subtitle})]})]}),i?(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>y(e.kind),className:`shrink-0 lg:w-full`,children:n(`common:action.cancel`)}):(0,Z.jsx)(Y,{size:`sm`,onClick:()=>g(e.kind),className:`shrink-0 lg:w-full`,children:n(`settings:oauth.signIn`)})]}),t.phase===`awaiting_browser`&&(0,Z.jsxs)(`div`,{className:`mt-3 space-y-2 border-t pt-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,Z.jsx)(mr,{className:`h-4 w-4 animate-spin text-muted-foreground`}),(0,Z.jsx)(`span`,{children:n(`settings:oauth.waitingBrowser`)})]}),t.authorizeUrl&&(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>window.open(t.authorizeUrl,`_blank`,`noopener,noreferrer`),children:[(0,Z.jsx)($n,{className:`h-3.5 w-3.5 mr-1`}),n(`settings:oauth.openSignIn`)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`button`,{type:`button`,className:`text-xs text-muted-foreground underline`,onClick:()=>c(s===e.kind?null:e.kind),children:t.bound===!1?n(`settings:oauth.pasteLoopbackBusy`):n(`settings:oauth.pasteCantReach`)}),s===e.kind&&(0,Z.jsxs)(`div`,{className:`mt-2 flex gap-2`,children:[(0,Z.jsx)(Ia,{placeholder:n(`activity:oauth.httpLocalhostCallbackCode`),value:a,onChange:e=>o(e.target.value),className:`font-mono text-xs`,onKeyDown:t=>{t.key===`Enter`&&b(e.kind)}}),(0,Z.jsx)(Y,{size:`sm`,onClick:()=>b(e.kind),disabled:!a.trim(),children:n(`settings:oauth.submit`)})]})]})]}),t.phase===`awaiting_code`&&(0,Z.jsxs)(`div`,{className:`mt-3 space-y-2 border-t pt-3`,children:[(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n(`settings:oauth.enterCode`)}),(0,Z.jsx)(`div`,{className:`font-mono text-2xl font-bold tracking-widest`,children:t.userCode??`…`}),t.verificationUri&&(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>window.open(t.verificationUri,`_blank`,`noopener,noreferrer`),children:[(0,Z.jsx)($n,{className:`h-3.5 w-3.5 mr-1`}),n(`settings:oauth.openVerification`)]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,Z.jsx)(mr,{className:`h-3.5 w-3.5 animate-spin`}),(0,Z.jsx)(`span`,{children:n(`settings:oauth.waitingCode`)})]})]}),(t.phase===`exchanging`||t.phase===`fetching_models`)&&(0,Z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t pt-3 text-sm`,children:[(0,Z.jsx)(mr,{className:`h-4 w-4 animate-spin text-muted-foreground`}),(0,Z.jsx)(`span`,{children:t.phase===`exchanging`?n(`settings:oauth.exchanging`):n(`settings:oauth.fetchingModels`)})]}),t.phase===`success`&&(0,Z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t pt-3 text-sm text-success`,children:[(0,Z.jsx)(wr,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:t.message??n(`settings:oauth.signedIn`)})]}),t.phase===`error`&&t.message&&(0,Z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t pt-3 text-sm text-destructive`,children:[(0,Z.jsx)(In,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:t.message})]}),S>0&&!i&&(0,Z.jsxs)(`div`,{className:`mt-3 border-t pt-3`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>h(C?null:e.kind),className:`flex w-full items-center justify-between text-xs text-muted-foreground hover:text-foreground transition-colors`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Z.jsx)(fn,{className:`h-3.5 w-3.5`}),(0,Z.jsx)(`span`,{children:n(`settings:oauth.accountCount`,{count:S})})]}),(0,Z.jsx)(`span`,{className:`text-[10px]`,children:C?`▲`:`▼`})]}),C&&p&&(0,Z.jsxs)(`div`,{className:`mt-2 space-y-1.5`,children:[p.map(t=>(0,Z.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border border-border/60 bg-muted/20 px-2.5 py-1.5`,children:[(0,Z.jsx)(`span`,{className:`min-w-0 truncate font-mono text-xs`,children:t.id}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[t.hasActiveKey?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[11px] text-success`,children:[(0,Z.jsx)(wr,{className:`h-3 w-3`}),n(`settings:oauth.active`)]}):(0,Z.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:n(`settings:oauth.inactive`)}),(0,Z.jsxs)(Y,{size:`sm`,variant:`ghost`,onClick:()=>_(e.kind,t.id),className:`h-6 px-1.5 text-[11px]`,title:n(`settings:oauth.retryLogin`),children:[(0,Z.jsx)(Bi,{className:`h-3 w-3 mr-0.5`}),n(`settings:oauth.retry`)]})]})]},t.id)),(0,Z.jsx)(`div`,{className:`pt-1`,children:l===e.kind?(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Ia,{autoFocus:!0,placeholder:n(`settings:oauth.aliasPlaceholder`,{default:e.kind===`chatgpt`?`openai-codex-1`:`${e.kind}-2`}),value:d,onChange:e=>f(e.target.value),className:`text-xs font-mono`,onKeyDown:t=>{t.key===`Enter`&&v(e.kind)}}),(0,Z.jsx)(Y,{size:`sm`,onClick:()=>v(e.kind),disabled:!d.trim(),children:n(`settings:oauth.signIn`)}),(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>{u(null),f(``)},children:n(`common:action.cancel`)})]}):(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>u(e.kind),className:`w-full text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5 mr-1`}),n(`settings:oauth.newAccount`)]})})]})]}),S===0&&!i&&(0,Z.jsx)(`div`,{className:`mt-3 border-t pt-3`,children:l===e.kind?(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Ia,{autoFocus:!0,placeholder:n(`settings:oauth.aliasPlaceholder`,{default:e.kind===`chatgpt`?`openai-codex-1`:`${e.kind}-2`}),value:d,onChange:e=>f(e.target.value),className:`text-xs font-mono`,onKeyDown:t=>{t.key===`Enter`&&v(e.kind)}}),(0,Z.jsx)(Y,{size:`sm`,onClick:()=>v(e.kind),disabled:!d.trim(),children:n(`settings:oauth.signIn`)}),(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>{u(null),f(``)},children:n(`common:action.cancel`)})]}):(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>u(e.kind),className:`w-full text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5 mr-1`}),n(`settings:oauth.newAccount`)]})})]},e.kind)})})]})}function Oh({open:e,providerId:t,modelCount:n,onConfirm:r,onCancel:i}){let a=(0,X.useRef)(null),{t:o}=H();return(0,X.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Enter`?(e.preventDefault(),r()):e.key===`Escape`&&(e.preventDefault(),i())};return window.addEventListener(`keydown`,t),a.current?.focus(),()=>window.removeEventListener(`keydown`,t)},[e,r,i]),(0,Z.jsx)(Fa,{open:e,onOpenChange:e=>{e||i()},children:(0,Z.jsxs)(Ma,{className:`sm:max-w-md border-warning/50`,ref:a,tabIndex:-1,"data-clear-allowlist-dialog":!0,children:[(0,Z.jsxs)(Aa,{children:[(0,Z.jsxs)(Na,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(zr,{className:`h-5 w-5 text-warning`}),o(`settings:allowlist.title`)]}),(0,Z.jsx)(Pa,{children:o(`settings:allowlist.body`,{count:n,provider:t})})]}),(0,Z.jsx)(`div`,{className:`rounded-md bg-muted/50 border border-border/60 px-3 py-2 text-xs text-muted-foreground`,children:o(`settings:allowlist.undoHint`)}),(0,Z.jsxs)(ja,{className:`gap-2 sm:gap-2 flex-wrap`,children:[(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:i,title:o(`settings:allowlist.keepTitle`),"data-action":`cancel`,children:[o(`common:action.cancel`),` `,(0,Z.jsx)(`kbd`,{className:`ml-1 text-[10px] border rounded px-1 bg-background`,children:`Esc`})]}),(0,Z.jsxs)(Y,{variant:`destructive`,size:`sm`,onClick:r,title:o(`settings:allowlist.clearTitle`),"data-action":`confirm`,children:[o(`settings:allowlist.clear`),` `,(0,Z.jsx)(`kbd`,{className:`ml-1 text-[10px] border rounded px-1 bg-background/80`,children:`↵`})]})]})]})})}function kh({ws:e,onSelect:t,onClose:n}){let{t:r}=H(),[i,a]=(0,X.useState)(``),[o,s]=(0,X.useState)([]),[c,l]=(0,X.useState)(!1),u=(0,X.useRef)(null),d=(0,X.useRef)(``);(0,X.useEffect)(()=>e.on(`provider.models.search_result`,e=>{if(e.type!==`provider.models.search_result`)return;let t=e.payload;(t.query===void 0||t.query===d.current)&&(s(t.matches??[]),l(!1))}),[e]);let f=(0,X.useCallback)(t=>{if(!t.trim()){s([]),d.current=``;return}d.current=t,l(!0),e.searchProviderModels(t,8)},[e]);(0,X.useEffect)(()=>(u.current&&clearTimeout(u.current),u.current=setTimeout(()=>f(i),300),()=>{u.current&&clearTimeout(u.current)}),[i,f]);let p=(0,X.useCallback)(e=>{let n={name:e.name,...e.description?{description:e.description}:{},...e.releaseDate?{release_date:e.releaseDate}:{},...e.contextWindow||e.maxOutput?{limit:{...e.contextWindow?{context:e.contextWindow}:{},...e.maxOutput?{output:e.maxOutput}:{}}}:{},...e.inputCost||e.outputCost?{cost:{...e.inputCost?{input:e.inputCost}:{},...e.outputCost?{output:e.outputCost}:{}}}:{},...e.capabilities.length>0?{tool_call:e.capabilities.includes(`tools`),reasoning:e.capabilities.includes(`reasoning`),...e.capabilities.includes(`vision`)?{modalities:{input:[`text`,`image`]}}:{}}:{}};t(e.modelId,n)},[t]);return(0,Z.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`absolute inset-0 bg-black/50`,onClick:n,"aria-label":r(`common:action.close`)}),(0,Z.jsxs)(`div`,{className:`relative max-h-[80vh] w-full max-w-xl overflow-y-auto rounded-lg border border-border bg-background p-4 shadow-lg`,children:[(0,Z.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:r(`settings:providerModels.catalogSearchTitle`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:n,className:`text-muted-foreground hover:text-foreground`,children:(0,Z.jsx)(hr,{className:`h-4 w-4`})})]}),(0,Z.jsxs)(`div`,{className:`relative mb-3`,children:[(0,Z.jsx)(yi,{className:`pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground/60`}),(0,Z.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:r(`settings:providerModels.catalogSearchPlaceholder`),className:`h-10 w-full rounded-md border border-border bg-background pl-9 pr-3 text-sm focus:outline-none focus:ring-1 focus:ring-ring`})]}),c?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Z.jsx)(mr,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):o.length>0?(0,Z.jsx)(`div`,{className:`space-y-1.5`,children:o.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>p(e),className:`block w-full rounded-md border border-border/60 p-2.5 text-left transition-colors hover:border-primary/40 hover:bg-primary/5`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-sm font-medium text-foreground`,children:e.modelId}),e.name!==e.modelId&&(0,Z.jsx)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:e.name})]}),(0,Z.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground`,children:e.providerName})]}),e.description&&(0,Z.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-xs text-muted-foreground`,children:e.description}),(0,Z.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-1.5`,children:[e.contextWindow?(0,Z.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:e.contextWindow>=1e6?`${(e.contextWindow/1e6).toFixed(1)}M ctx`:`${Math.round(e.contextWindow/1e3)}K ctx`}):null,e.capabilities.map(e=>(0,Z.jsx)(`span`,{className:`rounded bg-primary/10 px-1.5 py-0.5 text-[10px] text-primary`,children:e},e))]})]},`${e.providerId}:${e.modelId}`))}):i.trim()?(0,Z.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground`,children:r(`settings:providerModels.noResults`)}):(0,Z.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground`,children:r(`settings:providerModels.typeToSearch`)})]})]})}var Ah=new Set([`__proto__`,`constructor`,`prototype`,`__defineGetter__`,`__defineSetter__`,`__lookupGetter__`,`__lookupSetter__`]);`document`in globalThis&&Nt({jitless:!0});var jh=[`text`,`image`,`audio`,`video`,`pdf`],Mh=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],Nh=Wt().int().nonnegative(),Ph=Wt().finite(),Fh=Ue({context:Nh.optional(),output:Nh.optional(),input:Nh.optional()}),Ih=Ue({input:Ph.optional(),output:Ph.optional(),cache_read:Ph.optional(),cache_write:Ph.optional(),cache_write_5m:Ph.optional(),cache_write_1h:Ph.optional(),context_over_200k:Ph.optional(),reasoning:Ph.optional(),input_audio:Ph.optional(),output_audio:Ph.optional()}),Lh=Ue({input:Pi(Oe().min(1)).optional(),output:Pi(Oe().min(1)).optional()}),Rh=kr([Ue({type:Je(`toggle`)}),Ue({type:Je(`effort`),values:Pi(ze(Mh)).optional()}),Ue({type:Je(`budget_tokens`),min:Wt().optional(),max:Wt().optional()})]),zh=e=>({message:`${e} id is a forbidden prototype-pollution key`}),Bh=Ue({id:Oe().min(1).refine(e=>!Ah.has(e),zh(`Model`)),name:Oe().min(1),description:Oe().optional(),family:Oe().optional(),attachment:pn().optional(),reasoning:pn().optional(),reasoning_options:kr([Rh,Pi(Rh)]).optional(),interleaved:kr([pn(),Ue({field:Oe().optional()})]).optional(),tool_call:pn().optional(),structured_output:pn().optional(),temperature:pn().optional(),knowledge:Oe().optional(),release_date:Oe().optional(),last_updated:Oe().optional(),open_weights:pn().optional(),modalities:Lh.optional(),cost:Ih.optional(),limit:Fh.optional(),status:Oe().optional(),experimental:pn().optional()}),Vh=Ue({id:Oe().min(1).refine(e=>!Ah.has(e),zh(`Provider`)),name:Oe().min(1),env:Pi(Oe()).optional(),npm:Oe().optional(),api:Oe().optional(),doc:Oe().optional(),models:Fr(Oe(),Bh)});Fr(Oe(),Vh);function Hh(e,t){let n=t.limit,r=t.cost,i=t.modalities;return{id:e,name:t.name??``,description:t.description??``,family:t.family??``,limitContext:n?.context==null?``:String(n.context),limitOutput:n?.output==null?``:String(n.output),limitInput:n?.input==null?``:String(n.input),costInput:r?.input==null?``:String(r.input),costOutput:r?.output==null?``:String(r.output),inputModalities:Array.isArray(i?.input)?i.input:[],outputModalities:Array.isArray(i?.output)?i.output:[],toolCall:t.tool_call===!0,reasoning:t.reasoning===!0,temperature:t.temperature===!0,attachment:t.attachment===!0,structuredOutput:t.structured_output===!0,openWeights:t.open_weights===!0,releaseDate:t.release_date??``,lastUpdated:t.last_updated??``,knowledge:t.knowledge??``}}function Uh(e,t){let n={...t};e.name&&(n.name=e.name),e.description&&(n.description=e.description),e.family&&(n.family=e.family),e.knowledge&&(n.knowledge=e.knowledge);let r={};if(e.limitContext){let t=Number(e.limitContext);Number.isFinite(t)&&t>=0&&(r.context=t)}if(e.limitOutput){let t=Number(e.limitOutput);Number.isFinite(t)&&t>=0&&(r.output=t)}if(e.limitInput){let t=Number(e.limitInput);Number.isFinite(t)&&t>=0&&(r.input=t)}Object.keys(r).length>0&&(n.limit={...t.limit??{},...r});let i={};if(e.costInput){let t=Number(e.costInput);Number.isFinite(t)&&t>=0&&(i.input=t)}if(e.costOutput){let t=Number(e.costOutput);Number.isFinite(t)&&t>=0&&(i.output=t)}Object.keys(i).length>0&&(n.cost={...t.cost??{},...i});let a={};e.inputModalities.length>0&&(a.input=e.inputModalities),e.outputModalities.length>0&&(a.output=e.outputModalities),Object.keys(a).length>0&&(n.modalities={...t.modalities??{},...a});for(let[r,i]of[[`toolCall`,`tool_call`],[`reasoning`,`reasoning`],[`temperature`,`temperature`],[`attachment`,`attachment`],[`structuredOutput`,`structured_output`],[`openWeights`,`open_weights`]]){let a=t[i]===!0;e[r]!==a&&(n[i]=e[r])}return e.releaseDate&&(n.release_date=e.releaseDate),e.lastUpdated&&(n.last_updated=e.lastUpdated),n}var Wh=[{key:`toolCall`,labelKey:`settings:modelSchema.capToolCall`},{key:`reasoning`,labelKey:`settings:modelSchema.capReasoning`},{key:`temperature`,labelKey:`settings:modelSchema.capTemperature`},{key:`attachment`,labelKey:`settings:modelSchema.capAttachment`},{key:`structuredOutput`,labelKey:`settings:modelSchema.capStructuredOutput`},{key:`openWeights`,labelKey:`settings:modelSchema.capOpenWeights`}];function Gh({providerId:e,modelId:t,initialModelsDev:n,onSave:r,onCancel:i}){let{t:a}=H(),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(()=>Hh(t,n)),[u,d]=(0,X.useState)([]),[f,p]=(0,X.useState)(JSON.stringify({...n,...t?{id:t}:{}},null,2)),[m,h]=(0,X.useState)(null),g=(0,X.useCallback)((e,t)=>{l(n=>({...n,[e]:t}))},[]),_=(0,X.useCallback)((e,t)=>{l(n=>{let r=n[e];return{...n,[e]:r.includes(t)?r.filter(e=>e!==t):[...r,t]}})},[]),v=(0,X.useCallback)(()=>{let e=Uh(c,n),i=Bh.safeParse({...e,id:c.id||t});if(!i.success){d(i.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`));return}d([]),r(c.id||t,e)},[c,n,t,r]),y=(0,X.useCallback)(()=>{try{let e=JSON.parse(f),n=Bh.safeParse({...e,id:t||e.id});if(!n.success){h(n.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `));return}let{id:i,...a}=n.data;h(null),r(t||n.data.id,a)}catch(e){h(e instanceof Error?e.message:String(e))}},[f,t,r]),b=`h-8 w-full rounded-md border border-border bg-background px-2.5 text-sm focus:outline-none focus:ring-1 focus:ring-ring`,x=`mb-1 block text-[11px] font-medium uppercase tracking-wide text-muted-foreground`;return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex gap-1 border-b border-border/50`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>s(!1),className:G(`border-b-2 px-3 py-1 text-xs font-medium transition-colors`,o?`border-transparent text-muted-foreground hover:text-foreground`:`border-primary text-primary`),children:a(`settings:providerModels.tabForm`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>s(!0),className:G(`border-b-2 px-3 py-1 text-xs font-medium transition-colors`,o?`border-primary text-primary`:`border-transparent text-muted-foreground hover:text-foreground`),children:a(`settings:providerModels.tabRawJson`)})]}),o?(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`textarea`,{value:f,onChange:e=>p(e.target.value),rows:16,className:`w-full rounded-md border border-border bg-muted/20 p-2 font-mono text-xs`,spellCheck:!1}),m&&(0,Z.jsx)(`p`,{className:`text-xs text-destructive`,children:m})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionIdentity`)}),!t&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-id`,children:`ID`}),(0,Z.jsx)(`input`,{id:`mse-id`,className:b,value:c.id,onChange:e=>g(`id`,e.target.value),placeholder:a(`activity:modelSchema.modelId`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-name`,children:a(`settings:providerModels.fieldName`)}),(0,Z.jsx)(`input`,{id:`mse-name`,className:b,value:c.name,onChange:e=>g(`name`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-desc`,children:a(`settings:providerModels.fieldDescription`)}),(0,Z.jsx)(`input`,{id:`mse-desc`,className:b,value:c.description,onChange:e=>g(`description`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-family`,children:a(`settings:providerModels.fieldFamily`)}),(0,Z.jsx)(`input`,{id:`mse-family`,className:b,value:c.family,onChange:e=>g(`family`,e.target.value)})]})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionLimits`)}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-3 gap-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-ctx`,children:a(`settings:providerModels.fieldContext`)}),(0,Z.jsx)(`input`,{id:`mse-ctx`,type:`number`,className:b,value:c.limitContext,onChange:e=>g(`limitContext`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-out`,children:a(`settings:providerModels.fieldOutput`)}),(0,Z.jsx)(`input`,{id:`mse-out`,type:`number`,className:b,value:c.limitOutput,onChange:e=>g(`limitOutput`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-inlim`,children:a(`settings:providerModels.fieldInputLimit`)}),(0,Z.jsx)(`input`,{id:`mse-inlim`,type:`number`,className:b,value:c.limitInput,onChange:e=>g(`limitInput`,e.target.value)})]})]})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionPricing`)}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-costin`,children:a(`settings:providerModels.fieldCostInput`)}),(0,Z.jsx)(`input`,{id:`mse-costin`,type:`number`,step:`0.01`,className:b,value:c.costInput,onChange:e=>g(`costInput`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-costout`,children:a(`settings:providerModels.fieldCostOutput`)}),(0,Z.jsx)(`input`,{id:`mse-costout`,type:`number`,step:`0.01`,className:b,value:c.costOutput,onChange:e=>g(`costOutput`,e.target.value)})]})]})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionModalities`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{className:x,children:a(`settings:providerModels.fieldInputModalities`)}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:jh.map(e=>{let t=c.inputModalities.includes(e);return(0,Z.jsx)(`button`,{type:`button`,onClick:()=>_(`inputModalities`,e),className:G(`rounded-md border px-2 py-1 text-xs transition-colors`,t?`border-primary bg-primary/10 text-primary`:`border-border text-muted-foreground hover:border-primary/30`),children:e},`in-mod-${e}`)})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{className:x,children:a(`settings:providerModels.fieldOutputModalities`)}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:jh.map(e=>{let t=c.outputModalities.includes(e);return(0,Z.jsx)(`button`,{type:`button`,onClick:()=>_(`outputModalities`,e),className:G(`rounded-md border px-2 py-1 text-xs transition-colors`,t?`border-primary bg-primary/10 text-primary`:`border-border text-muted-foreground hover:border-primary/30`),children:e},`out-mod-${e}`)})})]})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionCapabilities`)}),(0,Z.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:Wh.map(({key:e,labelKey:t})=>(0,Z.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,className:`h-4 w-4 rounded border-border`,checked:c[e],onChange:t=>g(e,t.target.checked)}),a(t)]},String(e)))})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionDates`)}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-release`,children:a(`settings:providerModels.fieldReleaseDate`)}),(0,Z.jsx)(`input`,{id:`mse-release`,type:`date`,className:b,value:c.releaseDate,onChange:e=>g(`releaseDate`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-updated`,children:a(`settings:providerModels.fieldLastUpdated`)}),(0,Z.jsx)(`input`,{id:`mse-updated`,type:`date`,className:b,value:c.lastUpdated,onChange:e=>g(`lastUpdated`,e.target.value)})]})]})]}),u.length>0&&(0,Z.jsx)(`div`,{className:`rounded-md border border-destructive/30 bg-destructive/5 p-2`,children:(0,Z.jsx)(`ul`,{className:`space-y-0.5 text-xs text-destructive`,children:u.map((e,t)=>(0,Z.jsx)(`li`,{children:e},t))})})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border/50 pt-3`,children:[(0,Z.jsxs)(Y,{type:`button`,variant:`ghost`,size:`sm`,onClick:i,className:`h-8 gap-1.5 text-xs`,children:[(0,Z.jsx)(hr,{className:`h-3.5 w-3.5`}),a(`common:action.cancel`)]}),(0,Z.jsxs)(Y,{type:`button`,size:`sm`,onClick:o?y:v,className:`h-8 gap-1.5 text-xs`,children:[(0,Z.jsx)(ai,{className:`h-3.5 w-3.5`}),a(`common:action.save`)]})]})]})}function Kh(e,t){return e.map(e=>{let n=t?.[e],r=n?.modelsDev,i=!!(n&&(n.name||n.maxOutput||n.capabilities||r));return{modelId:e,name:r?.name??n?.name??e,modelsDev:r,maxOutput:n?.maxOutput??r?.limit?.output,capabilities:n?.capabilities,source:i?`overridden`:`catalog`}})}function qh(e){let t=e?.limit?.context;if(typeof t==`number`&&t>0)return t>=1e6?`${(t/1e6).toFixed(1)}M`:`${Math.round(t/1e3)}K`}function Jh(e){let t=e?.cost,n=e=>typeof e==`number`&&e>=0?`$${e}`:void 0;return{input:n(t?.input),output:n(t?.output)}}function Yh(e){let t=e?.modalities;return{input:Array.isArray(t?.input)?t.input:[],output:Array.isArray(t?.output)?t.output:[]}}var Xh={text:Tr,image:Me,audio:Vn,video:Wi,pdf:Tr};function Zh({providerId:e,models:t,customModels:n,ws:r,pickedModelId:i,onPickModel:a}){let{t:o}=H(),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),[m,h]=(0,X.useState)(``),g=(0,X.useMemo)(()=>Kh(t,n),[t,n]),_=(0,X.useMemo)(()=>{let e=m.trim().toLowerCase();return e?g.filter(t=>t.modelId.toLowerCase().includes(e)||(t.name?.toLowerCase().includes(e)??!1)):g},[g,m]),v=(0,X.useCallback)(t=>{r.removeCustomModel(e,t),p.success(o(`settings:providerModels.modelRemoved`,{model:t}))},[r,e,o]),y=(0,X.useCallback)((t,n)=>{r.setCustomModel(e,t,{modelsDev:n}),c(null),p.success(o(`settings:providerModels.modelSaved`,{model:t}))},[r,e,o]),b=(0,X.useCallback)((t,n)=>{r.setCustomModel(e,t,{modelsDev:n}),u(!1),p.success(o(`settings:providerModels.modelAdded`,{model:t}))},[r,e,o]);return(0,Z.jsxs)(`div`,{className:`space-y-3`,"data-model-list-editor":e,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:()=>u(!0),className:`h-8 gap-1.5 text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),o(`settings:providerModels.addFromCatalog`)]}),(0,Z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:()=>f(!0),className:`h-8 gap-1.5 text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),o(`settings:providerModels.addCustom`)]})]}),g.length>0&&(0,Z.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border/70`,children:[g.length>8&&(0,Z.jsxs)(`div`,{className:`relative border-b border-border/40 bg-muted/10`,children:[(0,Z.jsx)(yi,{className:`pointer-events-none absolute left-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground/60`}),(0,Z.jsx)(`input`,{type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:o(`settings:providerModels.filterPlaceholder`),"aria-label":o(`settings:providerModels.filterPlaceholder`),className:`h-8 w-full bg-transparent pl-9 pr-3 text-xs text-foreground placeholder:text-muted-foreground/50 focus:outline-none focus:ring-1 focus:ring-ring`})]}),(0,Z.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:(0,Z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{className:`border-b border-border/70 bg-muted/30 text-left text-[11px] uppercase tracking-wide text-muted-foreground`,children:[(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colModel`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colContext`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colOutput`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colCost`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colModalities`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colCaps`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colSource`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2`,"aria-label":o(`settings:providerModels.colActions`)})]})}),(0,Z.jsx)(`tbody`,{children:_.map(t=>{let n=qh(t.modelsDev),r=t.maxOutput??t.modelsDev?.limit?.output,l=typeof r==`number`?r.toLocaleString():void 0,u=Jh(t.modelsDev),d=Yh(t.modelsDev),f=t.capabilities,p=s===t.modelId;return(0,Z.jsxs)(X.Fragment,{children:[(0,Z.jsxs)(`tr`,{className:`border-b border-border/40 transition-colors hover:bg-muted/20`,children:[(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-xs font-medium text-foreground`,children:t.modelId}),t.name&&t.name!==t.modelId&&(0,Z.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:t.name})]})}),(0,Z.jsx)(`td`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:n?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,Z.jsx)(yn,{className:`h-3 w-3`}),n]}):(0,Z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`—`})}),(0,Z.jsx)(`td`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:l?(0,Z.jsx)(`span`,{children:l}):(0,Z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`—`})}),(0,Z.jsx)(`td`,{className:`px-3 py-2 text-xs`,children:u.input||u.output?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-muted-foreground`,children:[(0,Z.jsx)(We,{className:`h-3 w-3`}),u.input&&u.output?`${u.input}/${u.output}`:u.input??u.output]}):(0,Z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`—`})}),(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[d.input.map(e=>{let t=Xh[e]??Tr;return(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 rounded bg-primary/10 px-1 py-0.5 text-[10px] text-primary`,title:`input: ${e}`,children:[(0,Z.jsx)(t,{className:`h-2.5 w-2.5`}),e]},`in-${e}`)}),d.output.map(e=>(0,Z.jsx)(`span`,{className:`inline-flex items-center gap-0.5 rounded bg-secondary/20 px-1 py-0.5 text-[10px] text-secondary-foreground`,title:`output: ${e}`,children:e},`out-${e}`))]})}),(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsxs)(`div`,{className:`flex gap-1`,children:[f?.tools&&(0,Z.jsx)(si,{className:`h-3.5 w-3.5 text-muted-foreground`,"aria-label":o(`activity:modelListEditor.tools`)}),f?.reasoning&&(0,Z.jsx)(Qn,{className:`h-3.5 w-3.5 text-muted-foreground`,"aria-label":o(`activity:modelListEditor.reasoning`)}),f?.vision&&(0,Z.jsx)(Ai,{className:`h-3.5 w-3.5 text-muted-foreground`,"aria-label":o(`activity:modelListEditor.vision`)})]})}),(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsx)(`span`,{className:G(`inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium`,t.source===`custom`&&`bg-warning/10 text-warning`,t.source===`catalog`&&`bg-info/10 text-info`,t.source===`overridden`&&`bg-primary/10 text-primary`),children:t.source})}),(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[a&&(t.modelId===i?(0,Z.jsx)(`span`,{className:`inline-flex items-center rounded p-1 text-primary`,title:o(`settings:providerModels.usingModel`,{model:t.modelId}),role:`img`,"aria-label":o(`settings:providerModels.usingModel`,{model:t.modelId}),children:(0,Z.jsx)(ai,{className:`h-3.5 w-3.5`})}):(0,Z.jsx)(`button`,{type:`button`,onClick:()=>a(e,t.modelId),className:`rounded p-1 text-muted-foreground transition-colors hover:bg-primary/10 hover:text-primary`,"aria-label":o(`settings:providerModels.useModel`,{model:t.modelId}),title:o(`settings:providerModels.useModel`,{model:t.modelId}),children:(0,Z.jsx)(ai,{className:`h-3.5 w-3.5`})})),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>c(p?null:t.modelId),className:`rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,"aria-label":o(`settings:providerModels.editModel`,{model:t.modelId}),children:(0,Z.jsx)(Mr,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>v(t.modelId),className:`rounded p-1 text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive`,"aria-label":o(`settings:providerModels.removeModel`,{model:t.modelId}),children:(0,Z.jsx)(Rt,{className:`h-3.5 w-3.5`})})]})})]}),p&&(0,Z.jsx)(`tr`,{className:`border-b border-border/40 bg-muted/10`,children:(0,Z.jsx)(`td`,{colSpan:8,className:`p-3`,children:(0,Z.jsx)(Gh,{providerId:e,modelId:t.modelId,initialModelsDev:t.modelsDev??{},onSave:y,onCancel:()=>c(null)})})},`${t.modelId}-edit`)]},t.modelId)})})]})})]}),g.length===0&&(0,Z.jsx)(`div`,{className:`rounded-lg border border-dashed border-border/50 p-8 text-center`,children:(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:o(`settings:providerModels.emptyState`)})}),l&&(0,Z.jsx)(kh,{ws:r,onSelect:b,onClose:()=>u(!1)}),d&&(0,Z.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`absolute inset-0 bg-black/50`,onClick:()=>f(!1),"aria-label":o(`common:action.close`)}),(0,Z.jsxs)(`div`,{className:`relative max-h-[80vh] w-full max-w-2xl overflow-y-auto rounded-lg border border-border bg-background p-4 shadow-lg`,children:[(0,Z.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:o(`settings:providerModels.addCustomTitle`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>f(!1),className:`text-muted-foreground hover:text-foreground`,children:(0,Z.jsx)(hr,{className:`h-4 w-4`})})]}),(0,Z.jsx)(Gh,{providerId:e,modelId:``,initialModelsDev:{},onSave:y,onCancel:()=>f(!1)})]})]})]})}function Qh(){return{inFlight:!1,last:null,picked:null}}function $h(e){return{providerId:e.providerId,ok:e.ok,status:e.status,...e.httpStatus===void 0?{}:{httpStatus:e.httpStatus},...e.elapsedMs===void 0?{}:{elapsedMs:e.elapsedMs},...e.modelCount===void 0?{}:{modelCount:e.modelCount},...e.modelIds===void 0?{}:{modelIds:e.modelIds},...e.detail===void 0?{}:{detail:e.detail}}}function eg(e){if(e.inFlight)return{text:`Checking model endpoint...`,tone:`muted`};let t=e.last;if(!t)return{text:`Saved model list shown`,tone:`muted`};let n=t.elapsedMs===void 0?``:` (${t.elapsedMs}ms)`;switch(t.status){case`ok`:{let e=t.modelCount??t.modelIds?.length??0;return{text:`Server returned ${e} model${e===1?``:`s`}${n}`,tone:`success`}}case`unreachable`:return{text:`server unreachable${t.detail?` — ${t.detail}`:``}`,tone:`error`};case`timeout`:return{text:`timed out${t.detail?` — ${t.detail}`:``}`,tone:`error`};case`http_error`:return{text:`got${t.httpStatus===void 0?``:` HTTP ${t.httpStatus}`}${t.detail?` — ${t.detail}`:``}`,tone:`warning`};case`invalid_response`:return{text:t.detail?`unexpected response — ${t.detail}`:`unexpected response shape`,tone:`warning`};case`no_provider`:return{text:`Provider is no longer saved`,tone:`error`};case`no_base_url`:return{text:`No model endpoint configured`,tone:`warning`}}}function tg(e){return(e?.length??0)>0}function ng(e,t){return`Allowlist cleared for ${e} — ${t} model${t===1?``:`s`} removed`}function rg(e){return e.length>0}function ig(e){return e.previousModels.length===0?{kind:`skip`}:e.onUndoClear?{kind:`callback`,providerId:e.providerId,previousModels:e.previousModels}:{kind:`ws-default`,providerId:e.providerId,previousModels:e.previousModels}}var ag=3e3;function og({providerId:e,savedPickedModelId:t,savedModels:n,savedCustomModels:r,ws:i,onPickModel:a,onClearModels:o,onUndoClear:s}){let[c,l]=(0,X.useState)(()=>Qh()),{t:u}=H(),[d,f]=(0,X.useState)(!1);(0,X.useEffect)(()=>i.on(`provider.probe`,t=>{t.type===`provider.probe`&&t.payload.providerId===e&&l(e=>({...e,inFlight:!1,last:$h(t.payload)}))}),[i,e]);let m=(0,X.useCallback)(()=>{l(e=>({...e,inFlight:!0})),i.probeProvider(e,ag)},[i,e]),h=(0,X.useCallback)((e,t)=>{l(e=>({...e,picked:t})),a?.(e,t)},[a]),g=(0,X.useCallback)(()=>{f(!0)},[]),_=(0,X.useCallback)(()=>{f(!1)},[]),v=(0,X.useCallback)(()=>{f(!1);let t=n?[...n]:[];l(e=>({...e,picked:null,last:null})),o?o(e):i.clearProviderModels(e),rg(t)&&p.undoable(ng(e,t.length),()=>{let n=ig({providerId:e,previousModels:t,onUndoClear:s});switch(n.kind){case`skip`:return;case`callback`:s?.(n.providerId,n.previousModels);return;case`ws-default`:i.undoProviderClear(n.providerId,n.previousModels);return}})},[o,s,i,e,n]),y=(0,X.useMemo)(()=>c.picked??t??n?.[0]??``,[c.picked,t,n]),b=(0,X.useMemo)(()=>eg(c),[c]),x=(0,X.useMemo)(()=>tg(n),[n]);return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/70 bg-background/75 p-3 shadow-sm shadow-black/[0.02]`,"data-provider-models-panel":e,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:[(0,Z.jsx)(Mi,{className:`h-3.5 w-3.5`}),u(`activity:providerModels.allowlistTitle`)]}),n&&n.length>0&&(0,Z.jsx)(`span`,{className:`rounded-full border border-border/70 bg-muted/40 px-2 py-0.5 text-[11px] text-muted-foreground`,children:u(`activity:providerModels.modelCount`,{count:n.length})})]}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:u(`activity:providerModels.using`)}),y?(0,Z.jsx)(`span`,{className:`max-w-full break-words rounded-md bg-primary/10 px-2 py-0.5 font-mono text-xs text-primary`,children:y}):(0,Z.jsx)(`span`,{className:`text-xs italic text-muted-foreground`,children:u(`activity:providerModels.noModelPicked`)})]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 sm:justify-end`,children:[(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:m,disabled:c.inFlight,"aria-label":u(`activity:providerModels.refreshAria`,{provider:e}),className:`h-8 px-2 text-xs`,children:[c.inFlight?(0,Z.jsx)(mr,{className:`h-3.5 w-3.5 animate-spin`}):(0,Z.jsx)(Bi,{className:`h-3.5 w-3.5`}),c.inFlight?u(`activity:providerModels.probing`):u(`activity:providerModels.refresh`)]}),x&&(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:g,"aria-label":u(`activity:providerModels.clearAllowlistAria`,{provider:e}),"data-action":`clear-models`,className:`h-8 px-2 text-xs`,children:u(`activity:providerModels.clearAllowlist`)})]})]}),(0,Z.jsx)(sg,{formatted:b}),(0,Z.jsx)(`div`,{className:`mt-3`,children:(0,Z.jsx)(Zh,{providerId:e,models:n??[],customModels:r,ws:i,pickedModelId:y??void 0,onPickModel:h})}),(0,Z.jsx)(Oh,{open:d,providerId:e,modelCount:n?.length??0,onConfirm:v,onCancel:_})]})}function sg({formatted:e}){let t=e.tone===`success`?`text-success`:e.tone===`warning`?`text-warning`:e.tone===`error`?`text-destructive`:`text-muted-foreground`,n=e.tone===`success`?`bg-success`:e.tone===`warning`?`bg-warning`:e.tone===`error`?`bg-destructive`:`bg-muted-foreground/60`;return(0,Z.jsxs)(`p`,{className:`mt-2 flex items-center gap-1.5 text-xs ${t}`,"data-probe-tone":e.tone,children:[(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full ${n}`}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:e.text})]})}var cg=[`anthropic`,`openai`,`google`,`openai-compatible`];function lg({activeProvider:e,catalogProviders:t,isLoadingCatalog:n,savedProviders:r,isLoadingSaved:i,providerTab:a,setProviderTab:o,onSelectProvider:s,onAddKey:c,onDeleteKey:l,onSetActiveKey:u,onAddProvider:d,onRemoveProvider:f,onPickProviderModel:m,ws:h,catalogQuery:g,setCatalogQuery:_}){let{t:v}=H(),[y,b]=(0,X.useState)(null),[x,S]=(0,X.useState)(``),[C,w]=(0,X.useState)(``),[T,E]=(0,X.useState)(!1),[D,O]=(0,X.useState)(!1),[k,A]=(0,X.useState)(``),[j,M]=(0,X.useState)(`openai-compatible`),[ee,N]=(0,X.useState)(``),[P,F]=(0,X.useState)(``),[te,ne]=(0,X.useState)([]),I=mh(),L=mh(),R=(0,X.useCallback)(e=>{!x.trim()||!C.trim()||(c(e,x.trim(),C.trim()),S(``),w(``),b(null))},[c,x,C]),re=(0,X.useCallback)(()=>{k.trim()&&(d(k.trim(),j,ee||void 0,P||void 0,te.length>0?te.map(e=>e.id):void 0,te.length>0?Object.fromEntries(te.filter(e=>e.name||e.maxOutput||e.capabilities&&Object.keys(e.capabilities).length>0).map(e=>[e.id,{...e.name&&e.name!==e.id?{name:e.name}:{},...e.maxOutput?{maxOutput:e.maxOutput}:{},...e.capabilities&&Object.keys(e.capabilities).length>0?{capabilities:e.capabilities}:{}}])):void 0),A(``),M(`openai-compatible`),N(``),F(``),ne([]),O(!1))},[d,k,j,ee,P,te]),ie=(0,X.useCallback)(e=>{A(e.id),M(Ch),N(e.defaultBaseUrl),e.noAuth&&F(``),ne([])},[]),[ae,z]=(0,X.useState)(null),[oe,se]=(0,X.useState)(``),[ce,le]=(0,X.useState)(!1),[ue,de]=(0,X.useState)({}),fe=(0,X.useMemo)(()=>new Set(r.map(e=>e.id)),[r]),pe=(0,X.useMemo)(()=>({keys:r.reduce((e,t)=>e+t.apiKeys.length,0),activeKeys:r.reduce((e,t)=>e+t.apiKeys.filter(e=>e.isActive).length,0),models:r.reduce((e,t)=>e+(t.models?.length??0),0)}),[r]);(0,X.useEffect)(()=>{let e=h.on(`provider.probe`,e=>{if(e.type!==`provider.probe`)return;let t=e.payload;t.status!==`no_base_url`&&t.status!==`no_provider`&&de(e=>({...e,[t.providerId]:{ok:t.ok,status:t.status,detail:t.detail}}))});return()=>e?.()},[h]);let me=(0,X.useCallback)(e=>{let t=oe.trim();t&&(fe.has(e.id)?c(e.id,`default`,t):d(e.id,e.family,e.apiBase??void 0,t),se(``),z(null),le(!1),p.success(v(`settings:provider.savedToast`,{name:e.name})),e.apiBase&&setTimeout(()=>h.probeProvider(e.id,6e3),700))},[oe,fe,c,d,h]),B=g.trim()?t.filter(e=>{let t=g.trim().toLowerCase();return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.family.toLowerCase().includes(t)}):t,he=B.reduce((e,t)=>(e[t.family]||(e[t.family]=[]),e[t.family]?.push(t),e),{});return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsxs)(`h3`,{className:`text-sm font-semibold flex items-center gap-2`,children:[(0,Z.jsx)(Qe,{className:`h-4 w-4 text-muted-foreground`}),v(`settings:provider.subscriptionHeading`)]}),(0,Z.jsx)(Dh,{ws:h,savedByKind:{chatgpt:r.filter(e=>e.id===`openai-codex`||e.id.startsWith(`openai-codex-`)).map(e=>({id:e.id,hasActiveKey:e.apiKeys.some(e=>e.isActive)})),claude:r.filter(e=>e.id===`anthropic-oauth`||e.id.startsWith(`anthropic-oauth-`)).map(e=>({id:e.id,hasActiveKey:e.apiKeys.some(e=>e.isActive)})),copilot:r.filter(e=>e.id===`github-copilot`).map(e=>({id:e.id,hasActiveKey:e.apiKeys.some(e=>e.isActive)}))}})]}),(0,Z.jsxs)(`div`,{className:`pt-2 border-t`,children:[(0,Z.jsxs)(`h3`,{className:`text-sm font-semibold mb-1 flex items-center gap-2`,children:[(0,Z.jsx)(jt,{className:`h-4 w-4 text-muted-foreground`}),v(`settings:provider.apiKeysHeading`)]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mb-3`,children:v(`settings:provider.apiKeysBody`)})]}),(0,Z.jsxs)(`div`,{className:`flex gap-2 mb-4`,children:[(0,Z.jsxs)(Y,{variant:a===`catalog`?`default`:`outline`,size:`sm`,onClick:()=>o(`catalog`),children:[(0,Z.jsx)(jt,{className:`h-4 w-4 mr-1`}),v(`settings:provider.tabCatalog`)]}),(0,Z.jsxs)(Y,{variant:a===`saved`?`default`:`outline`,size:`sm`,onClick:()=>o(`saved`),children:[(0,Z.jsx)(Qe,{className:`h-4 w-4 mr-1`}),v(`settings:provider.tabSaved`,{count:r.length})]})]}),a===`catalog`&&(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(Ia,{placeholder:v(`settings:provider.searchPlaceholder`,{count:t.length}),value:g,onChange:e=>_(e.target.value),className:`text-sm`}),n&&t.length===0?(0,Z.jsxs)(`div`,{className:`flex items-center justify-center py-8`,children:[(0,Z.jsx)(mr,{className:`h-6 w-6 animate-spin text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:v(`settings:provider.loadingCatalog`)})]}):B.length===0&&g?(0,Z.jsx)(`div`,{className:`text-center py-8 text-muted-foreground text-sm`,children:v(`settings:provider.noMatch`,{query:g})}):cg.map(t=>{let n=he[t];return n?.length?(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold text-muted-foreground uppercase tracking-wider`,children:t}),(0,Z.jsx)(`div`,{className:`grid grid-cols-1 gap-2`,children:n.map(t=>{let n=ue[t.id],r=e===t.id;return(0,Z.jsxs)(`div`,{className:G(`rounded-lg border transition-all`,r?`border-primary bg-primary/5 ring-2 ring-primary/20`:`border-border`),children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>s(t.id),className:G(`flex w-full flex-col items-start p-3 text-left rounded-lg`,!r&&`hover:bg-muted`),children:[(0,Z.jsxs)(`div`,{className:`flex w-full justify-between items-start`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{className:`font-medium`,children:t.name}),(0,Z.jsxs)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:[`(`,t.id,`)`]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t.hasApiKey&&(0,Z.jsxs)(`span`,{className:`text-xs bg-success/10 text-success px-2 py-0.5 rounded`,children:[(0,Z.jsx)(Qe,{className:`h-3 w-3 inline mr-1`}),v(`settings:provider.configured`)]}),n&&(0,Z.jsxs)(`span`,{className:G(`text-xs px-2 py-0.5 rounded inline-flex items-center gap-1`,n.ok?`bg-success/10 text-success`:`bg-destructive/10 text-destructive`),title:n.detail??n.status,children:[n.ok?(0,Z.jsx)(wr,{className:`h-3 w-3`}):(0,Z.jsx)(In,{className:`h-3 w-3`}),n.ok?v(`settings:provider.reachable`):n.status]}),t.envVars[0]&&(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:v(`settings:provider.envVar`,{var:t.envVars[0]})}),r&&(0,Z.jsx)(wr,{className:`h-4 w-4 text-primary`})]})]}),(0,Z.jsxs)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:[v(`settings:provider.modelCount`,{count:t.modelCount}),t.apiBase&&` · ${t.apiBase}`]})]}),r&&!t.hasApiKey&&(0,Z.jsx)(`div`,{className:`px-3 pb-3 -mt-1 space-y-2`,children:ae===t.id?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Ia,{autoFocus:!0,type:ce?`text`:`password`,placeholder:v(`settings:provider.keyPlaceholder`,{name:t.name}),value:oe,onChange:e=>se(e.target.value),className:`text-sm`,onKeyDown:e=>{e.key===`Enter`&&me(t)}}),(0,Z.jsx)(Y,{size:`icon`,variant:`ghost`,onClick:()=>le(e=>!e),children:ce?(0,Z.jsx)(Hi,{className:`h-4 w-4`}):(0,Z.jsx)(Ai,{className:`h-4 w-4`})}),(0,Z.jsx)(Y,{size:`sm`,onClick:()=>me(t),disabled:!oe.trim(),children:v(`common:action.save`)})]}),t.envVars[0]&&(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:v(`settings:provider.orEnv`,{env:t.envVars[0]})})]}):(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>{z(t.id),se(``)},children:[(0,Z.jsx)(Qe,{className:`h-3.5 w-3.5 mr-1`}),v(`settings:provider.addApiKey`)]})})]},t.id)})})]},t):null})]}),a===`saved`&&(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:v(`settings:provider.manageKeys`)}),(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-muted/30 px-2 py-1`,children:[(0,Z.jsx)(Yn,{className:`h-3.5 w-3.5`}),v(`settings:provider.savedProviderCount`,{count:r.length})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-muted/30 px-2 py-1`,children:[(0,Z.jsx)(Qe,{className:`h-3.5 w-3.5`}),v(`settings:provider.keyCount`,{count:pe.keys})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-muted/30 px-2 py-1`,children:[(0,Z.jsx)(De,{className:`h-3.5 w-3.5`}),v(`settings:provider.activeKeyCount`,{count:pe.activeKeys})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-muted/30 px-2 py-1`,children:[(0,Z.jsx)(jr,{className:`h-3.5 w-3.5`}),v(`settings:provider.modelCount`,{count:pe.models})]})]})]}),(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>O(!D),children:[(0,Z.jsx)(Ge,{className:`h-4 w-4 mr-1`}),v(`settings:provider.addProvider`)]})]}),D&&(0,Z.jsxs)(`div`,{className:`p-4 border rounded-lg space-y-3 bg-muted/50`,children:[(0,Z.jsx)(`h4`,{className:`font-medium`,children:v(`settings:provider.addCustomHeading`)}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:v(`settings:provider.localServers`)}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:wh.map(e=>(0,Z.jsx)(Y,{type:`button`,size:`sm`,variant:k===e.id?`default`:`outline`,onClick:()=>ie(e),title:e.hint,children:e.label},e.id))})]}),(0,Z.jsx)(Ia,{placeholder:v(`settings:provider.providerIdPlaceholder`),value:k,onChange:e=>A(e.target.value),ref:I.setFieldRef(0),onKeyDown:e=>I.handleKeyDown(e,0)}),(0,Z.jsxs)(`select`,{className:`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm`,value:j,onChange:e=>M(e.target.value),ref:I.setFieldRef(1),onKeyDown:e=>I.handleKeyDown(e,1),children:[(0,Z.jsx)(`option`,{value:`anthropic`,children:v(`activity:provider.anthropic`)}),(0,Z.jsx)(`option`,{value:`openai`,children:v(`activity:provider.openai`)}),(0,Z.jsx)(`option`,{value:`openai-compatible`,children:v(`activity:provider.openaiCompatible`)}),(0,Z.jsx)(`option`,{value:`google`,children:v(`activity:provider.google`)})]}),(0,Z.jsx)(Ia,{placeholder:v(`activity:provider.baseUrlOptionalEGHttpLocalhost11434V1`),value:ee,onChange:e=>N(e.target.value),ref:I.setFieldRef(2),onKeyDown:e=>I.handleKeyDown(e,2)}),(0,Z.jsx)(Ia,{type:`password`,placeholder:v(`settings:provider.apiKeyOptionalPlaceholder`),value:P,onChange:e=>F(e.target.value),ref:I.setFieldRef(3),onKeyDown:e=>I.handleKeyDown(e,3)}),(0,Z.jsx)(hh,{models:te,onChange:ne}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Y,{size:`sm`,onClick:re,disabled:!k.trim(),ref:I.setFieldRef(4),onKeyDown:e=>I.handleKeyDown(e,4,re),children:v(`common:action.add`)}),(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>O(!1),ref:I.setFieldRef(5),onKeyDown:e=>I.handleKeyDown(e,5),children:v(`common:action.cancel`)})]})]}),i?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Z.jsx)(mr,{className:`h-6 w-6 animate-spin text-muted-foreground`})}):r.length===0?(0,Z.jsxs)(`div`,{className:`text-center py-8 text-muted-foreground`,children:[(0,Z.jsx)(Qe,{className:`h-8 w-8 mx-auto mb-2 opacity-50`}),(0,Z.jsx)(`p`,{children:v(`settings:provider.noSaved`)}),(0,Z.jsx)(`p`,{className:`text-sm`,children:v(`settings:provider.noSavedHint`)})]}):r.map(e=>(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/80 bg-card/70 p-4 shadow-sm shadow-black/[0.02]`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`h4`,{className:`min-w-0 break-words font-mono text-sm font-semibold text-foreground`,children:e.id}),e.family&&(0,Z.jsx)(`span`,{className:`rounded-full border border-border/70 bg-muted/40 px-2 py-0.5 text-[11px] font-medium text-muted-foreground`,children:e.family}),e.apiKeys.some(e=>e.isActive)&&(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-success/10 px-2 py-0.5 text-[11px] font-medium text-success`,children:[(0,Z.jsx)(De,{className:`h-3 w-3`}),v(`settings:provider.active`)]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[e.baseUrl&&(0,Z.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1 rounded-md border border-border/70 bg-background/60 px-2 py-1`,children:[(0,Z.jsx)(jt,{className:`h-3.5 w-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.baseUrl})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-background/60 px-2 py-1`,children:[(0,Z.jsx)(jr,{className:`h-3.5 w-3.5`}),v(`settings:provider.modelCount`,{count:e.models?.length??0})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-background/60 px-2 py-1`,children:[(0,Z.jsx)(Qe,{className:`h-3.5 w-3.5`}),v(`settings:provider.keyCount`,{count:e.apiKeys.length})]})]})]}),(0,Z.jsx)(`div`,{className:`flex gap-2 sm:justify-end`,children:(0,Z.jsx)(Y,{size:`icon`,variant:`ghost`,onClick:()=>f(e.id),"aria-label":`Remove provider ${e.id}`,title:`Remove provider ${e.id}`,className:`h-8 w-8 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,children:(0,Z.jsx)(Rt,{className:`h-4 w-4 text-destructive`})})})]}),(0,Z.jsxs)(`div`,{className:`mt-4 grid gap-4 xl:grid-cols-[minmax(0,1.35fr)_minmax(280px,0.85fr)]`,children:[(0,Z.jsx)(og,{providerId:e.id,savedPickedModelId:e.pickedModelId,savedModels:e.models,savedCustomModels:e.customModels,ws:h,onPickModel:m}),(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/70 bg-background/75 p-3 shadow-sm shadow-black/[0.02]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-semibold`,children:v(`settings:provider.apiKeysLabel`)}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:v(`settings:provider.keyCount`,{count:e.apiKeys.length})})]}),(0,Z.jsxs)(Y,{size:`sm`,variant:`ghost`,onClick:()=>b(y===e.id?null:e.id),className:`h-8 px-2 text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),v(`settings:provider.addKey`)]})]}),e.apiKeys.length===0&&!y&&(0,Z.jsx)(`p`,{className:`mt-3 rounded-md border border-dashed border-border/70 bg-muted/20 px-3 py-2 text-xs text-muted-foreground`,children:v(`settings:provider.noKeys`)}),e.apiKeys.length>0&&(0,Z.jsx)(`div`,{className:`mt-3 space-y-2`,children:e.apiKeys.map(t=>(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-border/70 bg-muted/20 p-2.5 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[(0,Z.jsx)(`span`,{className:`mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-border/70 bg-background text-muted-foreground`,children:(0,Z.jsx)(Qe,{className:`h-3.5 w-3.5`})}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-sm font-medium`,children:t.label}),t.isActive&&(0,Z.jsx)(`span`,{className:`rounded-full bg-success/10 px-2 py-0.5 text-[11px] font-medium text-success`,children:v(`settings:provider.active`)})]}),(0,Z.jsx)(`div`,{className:`mt-0.5`,children:(0,Z.jsx)(gh,{maskedKey:t.maskedKey})})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1`,children:[!t.isActive&&(0,Z.jsx)(Y,{size:`sm`,variant:`outline`,onClick:()=>u(e.id,t.label),className:`h-8 px-2 text-xs`,children:v(`settings:provider.setActive`)}),(0,Z.jsx)(Y,{size:`icon`,variant:`ghost`,onClick:()=>l(e.id,t.label),"aria-label":`Delete key ${t.label}`,title:`Delete key ${t.label}`,className:`h-8 w-8 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,children:(0,Z.jsx)(Rt,{className:`h-3.5 w-3.5 text-destructive`})})]})]},t.label))}),y===e.id&&(0,Z.jsxs)(`div`,{className:`mt-3 space-y-2 rounded-lg border border-border/70 bg-background p-3`,children:[(0,Z.jsx)(Ia,{placeholder:v(`settings:provider.keyLabelPlaceholder`),value:x,onChange:e=>S(e.target.value),ref:L.setFieldRef(0),onKeyDown:e=>L.handleKeyDown(e,0)}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Ia,{type:T?`text`:`password`,placeholder:v(`settings:provider.apiKeyPlaceholder`),value:C,onChange:e=>w(e.target.value),ref:L.setFieldRef(1),onKeyDown:e=>L.handleKeyDown(e,1)}),(0,Z.jsx)(Y,{size:`icon`,variant:`ghost`,onClick:()=>E(!T),children:T?(0,Z.jsx)(Hi,{className:`h-4 w-4`}):(0,Z.jsx)(Ai,{className:`h-4 w-4`})})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Z.jsx)(Y,{size:`sm`,onClick:()=>R(e.id),disabled:!x.trim()||!C.trim(),ref:L.setFieldRef(2),onKeyDown:t=>L.handleKeyDown(t,2,()=>R(e.id)),children:v(`settings:provider.saveKey`)}),(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>{b(null),S(``),w(``)},ref:L.setFieldRef(3),onKeyDown:e=>L.handleKeyDown(e,3),children:v(`common:action.cancel`)})]})]})]})]})]},e.id))]})]})}var ug=Object.entries({discovery:[[`explore`,`Explore`],[`search`,`Search`],[`research`,`Research`]],planning:[[`analyst`,`Analyst`],[`planner`,`Planner`],[`architect`,`Architect`],[`critic`,`Critic`],[`refactor-planner`,`Refactor Planner`]],build:[[`executor`,`Executor`],[`refactor`,`Refactor`],[`simplifier`,`Simplifier`],[`migration`,`Migration`],[`vision`,`Vision`],[`debugger`,`Debugger`],[`tracer`,`Tracer`],[`concurrency`,`Concurrency`]],verify:[[`realtime`,`Realtime`],[`resilience-engineer`,`Resilience Engineer`],[`chaos-engineer`,`Chaos Engineer`],[`verifier`,`Verifier`],[`test`,`Test`],[`e2e`,`E2E`],[`browser`,`Browser`],[`performance`,`Performance`],[`chaos`,`Chaos`],[`security-scanner`,`Security Scanner`],[`bug-hunter`,`Bug Hunter`],[`audit-log`,`Audit Log`]],review:[[`threat-modeler`,`Threat Modeler`],[`secure-coding-coach`,`Secure Coding Coach`],[`compliance-auditor`,`Compliance Auditor`],[`privacy-engineer`,`Privacy Engineer`],[`reviewer`,`Reviewer`],[`code-reviewer`,`Code Reviewer`],[`security-reviewer`,`Security Reviewer`],[`accessibility`,`Accessibility`],[`compliance`,`Compliance`]],domain:[[`android`,`Android`],[`desktop`,`Desktop`],[`distributed-systems`,`Distributed Systems`],[`database`,`Database`],[`api`,`API`],[`auth`,`Auth`],[`data`,`Data`],[`frontend`,`Frontend`],[`backend`,`Backend`],[`designer`,`Designer`],[`ios`,`iOS`],[`payments`,`Payments`],[`messaging`,`Messaging`],[`search-relevance`,`Search Relevance`],[`storage`,`Storage`],[`ml-engineer`,`ML Engineer`],[`data-governance`,`Data Governance`]],knowledge:[[`document`,`Document`],[`uml`,`UML`],[`i18n`,`I18n`],[`prompt`,`Prompt`]],delivery:[[`platform-engineer`,`Platform Engineer`],[`git`,`Git`],[`release`,`Release`],[`devops`,`DevOps`],[`observability`,`Observability`],[`dependency`,`Dependency`]],meta:[[`skill-manage`,`Skill Manager`],[`self-improving`,`Self-Improving`],[`context`,`Context`],[`cost`,`Cost`],[`tech-stack`,`Tech Stack Validator`],[`plugin-author`,`Plugin Author`],[`tool-author`,`Tool Author`],[`prompt-evaluator`,`Prompt Evaluator`],[`benchmark-engineer`,`Benchmark Engineer`],[`memory-curator`,`Memory Curator`],[`fleet-coordinator`,`Fleet Coordinator`]]}).map(([e,t])=>({phase:e,label:`${e.charAt(0).toUpperCase()}${e.slice(1)}`,roles:t.map(([e,t])=>({role:e,name:t}))})),dg=ug.map(e=>e.phase),fg=ug.flatMap(e=>[...e.roles]),pg=fg.map(e=>e.role),mg=[`*`,...dg,...pg];function hg(e){if(e===`*`)return`Default (*)`;let t=ug.find(t=>t.phase===e);if(t)return`Phase: ${t.label} (${t.phase})`;let n=fg.find(t=>t.role===e);return n?`${n.name} (${n.role})`:`Custom: ${e}`}var gg=[{value:``,label:`mode: inherit`},{value:`auto`,label:`mode: auto`},{value:`on`,label:`mode: on`},{value:`off`,label:`mode: off`}],_g=[{value:``,label:`effort: inherit`},{value:`none`,label:`effort: none`},{value:`minimal`,label:`effort: minimal`},{value:`low`,label:`effort: low`},{value:`medium`,label:`effort: medium`},{value:`high`,label:`effort: high`},{value:`xhigh`,label:`effort: xhigh`},{value:`max`,label:`effort: max`}],vg=[{value:``,label:`preserve: inherit`},{value:`on`,label:`preserve: on`},{value:`off`,label:`preserve: off`}],yg=new Set(mg);function bg(e,t,n){let r={};return e&&(r.mode=e),t&&(r.effort=t),n&&(r.preserve=n===`on`),Object.keys(r).length>0?{reasoning:r}:void 0}function xg(e){return e?[e.mode?`mode:${e.mode}`:``,e.effort?`effort:${e.effort}`:``,e.preserve===void 0?``:`preserve:${e.preserve?`on`:`off`}`].filter(Boolean):[]}function Sg({syncPref:e,candidates:t}){let n=U(),{t:r}=H(),[i,a]=(0,X.useState)(`*`),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(``),m=(0,X.useCallback)(t=>e(`modelMatrix`,t),[e]),h=(0,X.useCallback)(()=>{let e=i.trim(),t=o.trim(),r=bg(c,u,f);if(!e||!t&&!r)return;let a=t?n.fallbackProfiles[t]?{fallbackProfile:t}:t.includes(`/`)?{provider:t.slice(0,t.indexOf(`/`)),model:t.slice(t.indexOf(`/`)+1)}:{model:t}:{},h=n.modelMatrix[e]?.modelRuntime;r?a.modelRuntime=r:h&&(a.modelRuntime=h),m({...n.modelMatrix,[e]:a}),s(``),l(``),d(``),p(``)},[n.fallbackProfiles,n.modelMatrix,i,f,u,c,o,m]),g=(0,X.useCallback)(e=>{let{[e]:t,...r}=n.modelMatrix;m(r)},[n.modelMatrix,m]),_=(0,X.useCallback)((e,t,r)=>{let i={...n.modelMatrix},a={...i[e]??{}},o={...a.modelRuntime??{}},s={...o.reasoning??{}};t===`mode`?r?s.mode=r:delete s.mode:t===`effort`?r?s.effort=r:delete s.effort:r?s.preserve=r===`on`:delete s.preserve,Object.keys(s).length>0?o.reasoning=s:delete o.reasoning,Object.keys(o).length>0?a.modelRuntime=o:delete a.modelRuntime,a.model||a.fallbackProfile||a.modelRuntime?i[e]=a:delete i[e],m(i)},[n.modelMatrix,m]),v=e=>{let t=e.provider&&e.model?`${e.provider}/${e.model}`:e.model,n=e.modelRuntime?.reasoning;return[t??(!e.fallbackProfile&&n?r(`settings:agent.leaderModel`):``),e.fallbackProfile?`profile:${e.fallbackProfile}`:``,...xg(n)].filter(Boolean).join(` + `)},y=Array.from(new Set([...Object.keys(n.modelMatrix),i].filter(e=>e&&!yg.has(e)))).sort((e,t)=>e.localeCompare(t));return(0,Z.jsxs)(`div`,{className:`pt-2 border-t`,children:[(0,Z.jsxs)(`h3`,{className:`text-sm font-semibold mb-3 mt-3 flex items-center gap-2`,children:[(0,Z.jsx)(Ri,{className:`h-4 w-4 text-muted-foreground`}),r(`settings:agent.routingHeading`)]}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-[minmax(0,180px)_1fr_auto]`,children:[(0,Z.jsxs)(`select`,{"aria-label":r(`settings:agent.routingRouteKey`),value:i,onChange:e=>a(e.target.value),className:`h-9 min-w-0 rounded-md border bg-background px-3 font-mono text-sm`,children:[(0,Z.jsx)(`option`,{value:`*`,children:hg(`*`)}),(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingPhasesGroup`),children:ug.map(e=>(0,Z.jsx)(`option`,{value:e.phase,children:hg(e.phase)},e.phase))}),ug.map(e=>(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingRolesGroup`,{label:e.label}),children:e.roles.map(e=>(0,Z.jsx)(`option`,{value:e.role,children:hg(e.role)},e.role))},e.phase)),y.length>0?(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingCustomGroup`),children:y.map(e=>(0,Z.jsx)(`option`,{value:e,children:hg(e)},e))}):null]}),(0,Z.jsxs)(`select`,{"aria-label":r(`settings:agent.routingTargetAria`),value:o,onChange:e=>s(e.target.value),className:`h-9 min-w-0 rounded-md border bg-background px-3 font-mono text-sm`,children:[(0,Z.jsx)(`option`,{value:``,children:r(`settings:agent.routingTargetEmpty`)}),Object.keys(n.fallbackProfiles).length>0&&(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingTargetProfilesGroup`),children:Object.keys(n.fallbackProfiles).map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))}),t&&t.length>0&&(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingTargetModelsGroup`),children:t.map(e=>(0,Z.jsxs)(`option`,{value:`${e.provider}/${e.model}`,children:[e.provider,`/`,e.model]},`${e.provider}/${e.model}`))})]}),(0,Z.jsx)(Y,{type:`button`,variant:`outline`,onClick:h,children:r(`settings:agent.routingSet`)})]}),(0,Z.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 sm:grid-cols-3`,children:[(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningModeAria`),value:c,onChange:e=>l(e.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:gg.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))}),(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningEffortAria`),value:u,onChange:e=>d(e.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:_g.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))}),(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningPreserveAria`),value:f,onChange:e=>p(e.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:vg.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))})]}),(0,Z.jsx)(`div`,{className:`mt-3 space-y-1.5`,children:Object.keys(n.modelMatrix).length===0?(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`settings:agent.noRoutes`)}):Object.entries(n.modelMatrix).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>(0,Z.jsxs)(`div`,{className:`rounded-md border border-border bg-muted px-2 py-1.5 text-xs`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`w-40 shrink-0 break-words font-mono text-muted-foreground`,title:e,children:hg(e)}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 break-words font-mono`,children:v(t)}),(0,Z.jsx)(Y,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>g(e),children:r(`common:action.remove`)})]}),(0,Z.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 sm:grid-cols-3`,children:[(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningModeFor`,{key:e}),value:t.modelRuntime?.reasoning?.mode??``,onChange:t=>_(e,`mode`,t.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:gg.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))}),(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningEffortFor`,{key:e}),value:t.modelRuntime?.reasoning?.effort??``,onChange:t=>_(e,`effort`,t.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:_g.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))}),(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningPreserveFor`,{key:e}),value:t.modelRuntime?.reasoning?.preserve===void 0?``:t.modelRuntime.reasoning.preserve?`on`:`off`,onChange:t=>_(e,`preserve`,t.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:vg.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))})]})]},e))})]})}var Cg=[`off`,`low`,`medium`,`high`,`all`],wg={off:`bg-muted-foreground`,low:`bg-success`,medium:`bg-warning`,high:`bg-warning ring-2 ring-warning/25`,all:`bg-destructive`},Tg={off:`settings:brain.riskCopy.off`,low:`settings:brain.riskCopy.low`,medium:`settings:brain.riskCopy.medium`,high:`settings:brain.riskCopy.high`,all:`settings:brain.riskCopy.all`},Eg=[`executor`,`skeptic`,`auditor`];function Dg(e){return e&&e.length>0?e.map(e=>({id:e.id,name:e.name,description:e.description})):Eg.map(e=>({id:e,name:e}))}var Og=[{value:`default`,labelKey:`settings:brainOpt.default15s`},{value:`5000`,label:`5s`},{value:`10000`,label:`10s`},{value:`20000`,label:`20s`},{value:`30000`,label:`30s`},{value:`60000`,label:`60s`}],kg=[{value:`off`,labelKey:`settings:brainOpt.waitForever`},{value:`30000`,label:`30s`},{value:`60000`,label:`1m`},{value:`120000`,label:`2m`},{value:`300000`,label:`5m`}],Ag=[{value:`default`,labelKey:`settings:brainOpt.defaultHalf`},{value:`0.34`,label:`1/3`},{value:`0.5`,label:`1/2`},{value:`0.67`,label:`2/3`},{value:`0.75`,label:`3/4`},{value:`1`,labelKey:`settings:brainOpt.all`}],jg=[{value:`100`,label:`100`},{value:`200`,labelKey:`settings:brainOpt.n200Default`},{value:`400`,label:`400`},{value:`800`,label:`800`},{value:`1600`,label:`1600`}],Mg=[{value:`0`,labelKey:`settings:brainOpt.offDefault`},{value:`0.3`,label:`0.3`},{value:`0.5`,label:`0.5`},{value:`0.7`,label:`0.7`},{value:`0.9`,label:`0.9`}],Ng=[{value:`10`,label:`10`},{value:`20`,labelKey:`settings:brainOpt.n20Default`},{value:`50`,label:`50`},{value:`100`,label:`100`}],Pg=[{value:`60000`,label:`1m`},{value:`300000`,labelKey:`settings:brainOpt.m5Default`},{value:`900000`,label:`15m`},{value:`3600000`,label:`1h`}],Fg=[{value:`50`,label:`50`},{value:`200`,labelKey:`settings:brainOpt.n200Default`},{value:`500`,label:`500`},{value:`1000`,label:`1000`}],Ig=[{value:`default`,labelKey:`settings:brainOpt.default`},{value:`10000`,label:`10s`},{value:`20000`,label:`20s`},{value:`30000`,label:`30s`},{value:`60000`,label:`60s`}],Lg=[{value:`default`,labelKey:`settings:brainOpt.default`},{value:`1`,labelKey:`settings:brainOpt.oneSerial`},{value:`2`,label:`2`},{value:`3`,label:`3`},{value:`5`,label:`5`}],Rg=[{value:`default`,labelKey:`settings:brainOpt.default`},{value:`500`,label:`500`},{value:`1000`,label:`1000`},{value:`2000`,label:`2000`},{value:`4000`,label:`4000`},{value:`8000`,label:`8000`}],zg=[{value:`default`,labelKey:`settings:brainOpt.default`},{value:`200`,label:`200`},{value:`400`,label:`400`},{value:`800`,label:`800`},{value:`1600`,label:`1600`}],Bg=[{value:`default`,labelKey:`settings:brainOpt.default500`},{value:`100`,label:`100`},{value:`500`,label:`500`},{value:`1000`,label:`1000`},{value:`5000`,label:`5000`}],Vg=[{value:`default`,labelKey:`settings:brainOpt.default10m`},{value:`120000`,label:`2m`},{value:`600000`,label:`10m`},{value:`1800000`,label:`30m`},{value:`3600000`,label:`1h`}];function Hg(e,t){return e.some(e=>e.value===t)?e:[...e,{value:t,label:t}]}function Ug(e,t){return e.map(e=>({value:e.value,label:e.labelKey?t(e.labelKey):e.label??e.value}))}function Wg(e){return e===void 0?`default`:String(e)}function Gg({level:e}){return(0,Z.jsx)(`span`,{className:G(`inline-block h-2.5 w-2.5 rounded-full`,wg[e])})}function Kg(e){return e.provider?`${e.provider}/${e.model}`:e.model}var qg={pool:{title:`settings:brain.pickPoolTitle`,hint:`settings:brain.pickPoolHint`},voter:{title:`settings:brain.pickVoterTitle`,hint:`settings:brain.pickVoterHint`},judge:{title:`settings:brain.pickJudgeTitle`,hint:`settings:brain.pickJudgeHint`}};function Jg(){let{t:e}=H(),{client:t}=aa(),[n,r]=(0,X.useState)(null),[i,a]=(0,X.useState)([]),[o,s]=(0,X.useState)(!0),[c,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(null),m=P();(0,X.useEffect)(()=>{t.send({type:`brain.status`,payload:t.withSession({})}),t.send({type:`brain.config.get`})},[t,m]),(0,X.useEffect)(()=>{let n=t.on(`brain.status`,e=>{let t=e.payload;if(t.sessionId&&m&&t.sessionId!==m)return;let n=Date.now();a(t.log.slice(-10).map(e=>{let t=Math.max(0,Math.round((n-e.at)/1e3)),r=t<60?`${t}s`:t<3600?`${Math.round(t/60)}m`:`${Math.round(t/3600)}h`;return{kind:e.kind,question:e.question,outcome:e.outcome,age:r}})),s(!1)}),i=t.on(`brain.config`,t=>{let n=t.payload;r(n.config),d(n.persisted?null:n.error??e(`settings:brain.persistError`)),l(!1),s(!1)});return()=>{n(),i()}},[t,e,m]);let h=(0,X.useCallback)(e=>{l(!0),t.send({type:`brain.config.set`,payload:t.withSession({patch:e})})},[t]),g=(0,X.useCallback)(e=>{r(t=>t&&{...t,maxAutoRisk:e}),h({maxAutoRisk:e})},[h]),_=(0,X.useMemo)(()=>n?.council.voters??[],[n]),v=(0,X.useCallback)(e=>{h({council:{voters:e.length>0?e:null}})},[h]),y=(0,X.useMemo)(()=>Dg(n?.personaCatalog),[n?.personaCatalog]),b=Cg.includes(n?.maxAutoRisk??``)?n?.maxAutoRisk??`medium`:`medium`,x=(0,X.useCallback)(e=>{if(!n||!f)return;let t=`${e.provider}/${e.model}`;if(f===`pool`){h({models:[...n.models.map(Kg),t]});return}if(f===`judge`){h({council:{judge:t}});return}return v([..._,{provider:e.provider,model:e.model,persona:y[_.length%y.length]?.id??`executor`}]),!0},[n,y,f,h,v,_]);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(dm,{open:f!==null,mode:`provider-model`,title:f?e(qg[f].title):``,hint:f?e(qg[f].hint):void 0,onPick:e=>{if(e.type===`provider-model`)return x(e)},onClose:()=>p(null)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Qn,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`h3`,{className:`text-base font-semibold`,children:e(`settings:brain.heading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.headingHint`)})]}),(o||c)&&(0,Z.jsx)(mr,{className:`ml-auto h-4 w-4 animate-spin text-muted-foreground`})]}),u&&(0,Z.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive`,children:u}),(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.riskHeading`)}),(0,Z.jsx)(`div`,{className:`flex gap-2 flex-wrap`,children:Cg.map(e=>(0,Z.jsxs)(Y,{variant:b===e?`default`:`outline`,size:`sm`,className:G(`gap-1.5 text-xs`,b===e&&`shadow-sm`),disabled:c,onClick:()=>g(e),children:[(0,Z.jsx)(Gg,{level:e}),e.toUpperCase()]},e))}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(Tg[b])})]}),n&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.escalationHeading`)}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationModeLabel`),hint:e(`settings:brain.escalationModeHint`),value:n.mode,options:[{value:`interactive`,label:e(`settings:brain.optInteractive`)},{value:`headless`,label:e(`settings:brain.optHeadless`)}],onChange:e=>h({mode:e}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationDecisionTimeoutLabel`),hint:e(`settings:brain.escalationDecisionTimeoutHint`),value:n.decisionTimeoutMs?String(n.decisionTimeoutMs):`default`,options:Ug(Og,e),onChange:e=>h({decisionTimeoutMs:e==="default"?null:Number(e)}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationHumanTimeoutLabel`),hint:e(`settings:brain.escalationHumanTimeoutHint`),value:n.humanTimeoutMs?String(n.humanTimeoutMs):`off`,options:Ug(kg,e),onChange:e=>h({humanTimeoutMs:e===`off`?null:Number(e)}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationTerminalPolicyLabel`),hint:e(`settings:brain.escalationTerminalPolicyHint`),value:n.terminalPolicy,options:[{value:`conservative`,label:e(`settings:brain.optConservative`)},{value:`deny-all`,label:e(`settings:brain.optDenyAll`)},{value:`continue-on-recommended`,label:e(`settings:brain.optContinueRecommended`)}],onChange:e=>h({terminalPolicy:e}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationDecisionLogSizeLabel`),hint:e(`settings:brain.escalationDecisionLogSizeHint`),value:String(n.decisionLogMaxEntries),options:Ug(Hg(Ng,String(n.decisionLogMaxEntries)),e),onChange:e=>h({decisionLogMaxEntries:Number(e)}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.rulesHeading`)}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px]`,children:e(`settings:brain.rulesConfigured`,{count:n.rules.length})})]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.rulesBody`)}),n.rules.length>0&&(0,Z.jsx)(`div`,{className:`space-y-1`,children:n.rules.map((t,n)=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/50 bg-background/40 px-2 py-1.5 text-xs`,children:[(0,Z.jsxs)(`span`,{className:`text-muted-foreground w-4 shrink-0`,children:[n+1,`.`]}),(0,Z.jsx)(`span`,{className:`flex-1 truncate font-mono`,children:t.id}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px] shrink-0`,children:t.then.action}),t.enabled===!1&&(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px] shrink-0`,children:e(`settings:brain.rulesOff`)})]},`${t.id}-${n}`))}),n.ruleErrors.length>0&&(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-warning/40 bg-warning/10 px-2 py-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-xs font-medium text-warning`,children:e(`settings:brain.rulesDropped`,{count:n.ruleErrors.length})}),n.ruleErrors.map(e=>(0,Z.jsx)(`p`,{className:`text-xs text-warning`,children:e},e))]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.heuristicsHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.heuristicsBody`)}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsLowRiskLabel`),hint:e(`settings:brain.heuristicsLowRiskHint`),value:n.heuristics.lowRiskAutoAnswer,onChange:()=>h({heuristics:{lowRiskAutoAnswer:!n.heuristics.lowRiskAutoAnswer}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsBlockedLabel`),hint:e(`settings:brain.heuristicsBlockedHint`),value:n.heuristics.blockedResolved,onChange:()=>h({heuristics:{blockedResolved:!n.heuristics.blockedResolved}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsDeadlockLabel`),hint:e(`settings:brain.heuristicsDeadlockHint`),value:n.heuristics.deadlockSkip,onChange:()=>h({heuristics:{deadlockSkip:!n.heuristics.deadlockSkip}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsRetryLabel`),hint:e(`settings:brain.heuristicsRetryHint`),value:n.heuristics.retryExhausted,onChange:()=>h({heuristics:{retryExhausted:!n.heuristics.retryExhausted}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsPingLabel`),hint:e(`settings:brain.heuristicsPingHint`),value:n.heuristics.continuePing,onChange:()=>h({heuristics:{continuePing:!n.heuristics.continuePing}}),disabled:c}),n.heuristics.blockedResolvedMarkers&&n.heuristics.blockedResolvedMarkers.length>0&&(0,Z.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:e(`settings:brain.heuristicsMarkers`,{markers:n.heuristics.blockedResolvedMarkers.join(`, `)})})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.qualityHeading`)}),n.circuit&&(0,Z.jsx)(Cm,{variant:n.circuit.state===`closed`?`outline`:`default`,className:`text-[10px]`,children:e(`settings:brain.qualityCircuit`,{state:n.circuit.state,count:n.circuit.consecutiveFailures})})]}),(0,Z.jsx)(Q,{label:e(`settings:brain.qualityResponseBudgetLabel`),hint:e(`settings:brain.qualityResponseBudgetHint`),value:String(n.llm.maxTokens),options:Ug(Hg(jg,String(n.llm.maxTokens)),e),onChange:e=>h({llm:{maxTokens:Number(e)}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.qualityRejectLabel`),hint:e(`settings:brain.qualityRejectHint`),value:n.llm.rejectUncertain,onChange:()=>h({llm:{rejectUncertain:!n.llm.rejectUncertain}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.qualityMinConfidenceLabel`),hint:e(`settings:brain.qualityMinConfidenceHint`),value:String(n.llm.minConfidence),options:Ug(Hg(Mg,String(n.llm.minConfidence)),e),onChange:e=>h({llm:{minConfidence:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.qualityDenyTerminalLabel`),hint:e(`settings:brain.qualityDenyTerminalHint`),value:n.llm.denyIsTerminal,options:[{value:`never`,label:e(`settings:brain.optNeverDefault`)},{value:`when-decided`,label:e(`settings:brain.optWhenDecided`)},{value:`always`,label:e(`settings:brain.optAlways`)}],onChange:e=>h({llm:{denyIsTerminal:e}}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.traceHeading`)}),(0,Z.jsx)($,{label:e(`settings:brain.traceRecordLabel`),hint:e(`settings:brain.traceRecordHint`),value:n.trace.enabled,onChange:()=>h({trace:{enabled:!n.trace.enabled}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.traceContentLabel`),hint:e(`settings:brain.traceContentHint`),value:n.trace.content,options:[{value:`full`,label:e(`settings:brain.optFullDefault`)},{value:`redacted`,label:e(`settings:brain.optRedacted`)},{value:`none`,label:e(`settings:brain.optMetadataOnly`)}],onChange:e=>h({trace:{content:e}}),disabled:c}),n.trace.path&&(0,Z.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:n.trace.path})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.cacheHeading`)}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px]`,children:e(`settings:brain.cacheStats`,{hits:n.cache.hits,misses:n.cache.misses,size:n.cache.size})})]}),(0,Z.jsx)($,{label:e(`settings:brain.cacheReplayLabel`),hint:e(`settings:brain.cacheReplayHint`),value:n.cache.enabled,onChange:()=>h({cache:{enabled:!n.cache.enabled}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.cacheLifetimeLabel`),hint:e(`settings:brain.cacheLifetimeHint`),value:String(n.cache.ttlMs),options:Ug(Hg(Pg,String(n.cache.ttlMs)),e),onChange:e=>h({cache:{ttlMs:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.cacheMaxEntriesLabel`),hint:e(`settings:brain.cacheMaxEntriesHint`),value:String(n.cache.maxEntries),options:Ug(Hg(Fg,String(n.cache.maxEntries)),e),onChange:e=>h({cache:{maxEntries:Number(e)}}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.monitorHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.monitorBody`)}),(0,Z.jsx)($,{label:e(`settings:brain.monitorWatchLabel`),hint:e(`settings:brain.monitorWatchHint`),value:n.monitor.enabled!==!1,onChange:()=>h({monitor:{enabled:n.monitor.enabled===!1}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.monitorPolicyLabel`),hint:e(`settings:brain.monitorPolicyHint`),value:n.monitor.policy??`llm`,options:[{value:`llm`,label:e(`settings:brain.optConsultBrain`)},{value:`steer`,label:e(`settings:brain.optAlwaysSteer`)},{value:`observe`,label:e(`settings:brain.optObserveOnly`)}],onChange:e=>h({monitor:{policy:e}}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.modelsHeading`)}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px]`,children:n.usingSessionModel?e(`settings:brain.modelsSessionBadge`):e(`settings:brain.modelsResolvedBadge`,{resolved:n.poolLabels.length,total:n.models.length})})]}),(0,Z.jsx)($,{label:e(`settings:brain.modelsUseSessionLabel`),hint:e(`settings:brain.modelsUseSessionHint`),value:n.usingSessionModel,onChange:()=>{n.usingSessionModel||h({models:null})},disabled:c}),n.models.length>0&&(0,Z.jsx)(`div`,{className:`space-y-1`,children:n.models.map((e,t)=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/50 bg-background/40 px-2 py-1.5 text-xs`,children:[(0,Z.jsxs)(`span`,{className:`text-muted-foreground w-4 shrink-0`,children:[t+1,`.`]}),(0,Z.jsx)(`span`,{className:`flex-1 truncate font-mono`,children:Kg(e)}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,disabled:c||t===0,onClick:()=>{let e=n.models.map(Kg),r=e.splice(t,1)[0];r&&e.splice(t-1,0,r),h({models:e})},children:(0,Z.jsx)(Bt,{className:`h-3 w-3`})}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,disabled:c||t===n.models.length-1,onClick:()=>{let e=n.models.map(Kg),r=e.splice(t,1)[0];r&&e.splice(t+1,0,r),h({models:e})},children:(0,Z.jsx)(Fe,{className:`h-3 w-3`})}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 text-destructive`,disabled:c,onClick:()=>{let e=n.models.map(Kg).filter((e,n)=>n!==t);h({models:e.length>0?e:null})},children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]},`${Kg(e)}-${t}`))}),(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,className:`gap-1.5 text-xs`,disabled:c,onClick:()=>p(`pool`),children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),` `,e(`settings:brain.modelsAddModel`)]}),n.models.length>1&&(0,Z.jsx)(Q,{label:e(`settings:brain.modelsPoolStrategyLabel`),hint:e(`settings:brain.modelsPoolStrategyHint`),value:n.strategy,options:[{value:`fallback`,label:e(`settings:brain.optFallback`)},{value:`round-robin`,label:e(`settings:brain.optRoundRobin`)}],onChange:e=>h({strategy:e}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.councilHeading`)}),(0,Z.jsx)(Cm,{variant:n.council.enabled?`default`:`outline`,className:`text-[10px]`,children:n.council.enabled?e(`settings:brain.councilConvened`):e(`settings:brain.councilDisabled`)})]}),(0,Z.jsx)($,{label:e(`settings:brain.councilEnableLabel`),hint:e(`settings:brain.councilEnableHint`),value:n.council.enabled,onChange:()=>h({council:{enabled:!n.council.enabled}}),disabled:c}),n.council.enabled&&n.councilLabels.length>0&&_.length===0&&(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.councilSeatsDerived`,{seats:n.councilLabels.join(`, `)})}),_.length>0&&(0,Z.jsx)(`div`,{className:`space-y-1`,children:_.map((t,n)=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/50 bg-background/40 px-2 py-1.5 text-xs`,children:[(0,Z.jsx)(`span`,{className:`flex-1 truncate font-mono`,children:Kg(t)}),(0,Z.jsxs)(`select`,{value:t.persona??y[n%y.length]?.id??``,onChange:e=>v(_.map((t,r)=>r===n?{...t,persona:e.target.value}:t)),className:`h-6 rounded border bg-background px-1 text-[10px]`,title:y.find(e=>e.id===t.persona)?.description??e(`settings:brain.councilCustomLens`),children:[y.map(e=>(0,Z.jsx)(`option`,{value:e.id,children:e.name},e.id)),t.persona&&!y.some(e=>e.id===t.persona)&&(0,Z.jsx)(`option`,{value:t.persona,children:e(`settings:brain.councilCustomOption`,{persona:t.persona})})]}),(0,Z.jsx)(Y,{variant:t.veto?`default`:`outline`,size:`sm`,className:`h-6 px-1.5 text-[10px]`,disabled:c,onClick:()=>v(_.map((e,t)=>t===n?{...e,veto:!e.veto}:e)),children:e(`settings:brain.councilVeto`)}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 text-destructive`,disabled:c,onClick:()=>v(_.filter((e,t)=>t!==n)),children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]},`${Kg(t)}-${n}`))}),(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,className:`gap-1.5 text-xs`,disabled:c,onClick:()=>p(`voter`),children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),` `,e(`settings:brain.councilAddVoter`)]}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilRiskFloorLabel`),hint:e(`settings:brain.councilRiskFloorHint`),value:n.council.minRisk,options:[{value:`medium`,label:e(`settings:brain.optMediumPlus`)},{value:`high`,label:e(`settings:brain.optHighPlus`)},{value:`critical`,label:e(`settings:brain.optCriticalOnly`)}],onChange:e=>h({council:{minRisk:e}}),disabled:c}),(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-3 py-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`text-sm font-medium`,children:e(`settings:brain.councilJudge`)}),(0,Z.jsx)(`div`,{className:`mt-0.5 text-xs text-muted-foreground`,children:e(`settings:brain.councilJudgeDesc`)}),!n.council.judge&&n.judgeLabel&&(0,Z.jsxs)(`div`,{className:`mt-0.5 font-mono text-xs text-muted-foreground`,children:[e(`settings:brain.councilResolved`,{model:n.judgeLabel}),n.judgeIsVoter&&(0,Z.jsx)(`span`,{className:`ml-1 font-sans text-warning`,children:e(`settings:brain.councilAlsoVoter`)})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`max-w-[180px] truncate font-mono text-xs`,children:n.council.judge?Kg(n.council.judge):e(`settings:brain.councilAuto`)}),(0,Z.jsx)(Y,{variant:`outline`,size:`sm`,className:`h-7 text-xs`,disabled:c,onClick:()=>p(`judge`),children:e(`settings:brain.councilPick`)}),n.council.judge&&(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-7 text-xs`,disabled:c,onClick:()=>h({council:{judge:null}}),children:e(`settings:brain.councilAutoReset`)})]})]}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilQuorumLabel`),hint:e(`settings:brain.councilQuorumHint`),value:n.council.quorum===void 0?`default`:String(n.council.quorum),options:Ug(Ag,e),onChange:e=>h({council:{quorum:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilApprovalLabel`),hint:e(`settings:brain.councilApprovalHint`),value:n.council.approval===void 0?`default`:String(n.council.approval),options:Ug(Ag,e),onChange:e=>h({council:{approval:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilPerSeatTimeoutLabel`),hint:e(`settings:brain.councilPerSeatTimeoutHint`),value:Wg(n.council.perCallTimeoutMs),options:Ug(Hg(Ig,Wg(n.council.perCallTimeoutMs)),e),onChange:e=>h({council:{perCallTimeoutMs:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilMaxConcurrencyLabel`),hint:e(`settings:brain.councilMaxConcurrencyHint`),value:Wg(n.council.maxConcurrency),options:Ug(Hg(Lg,Wg(n.council.maxConcurrency)),e),onChange:e=>h({council:{maxConcurrency:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilDistinctnessLabel`),hint:e(`settings:brain.councilDistinctnessHint`),value:n.council.distinctness,options:[{value:`none`,label:e(`settings:brain.optNoneDefault`)},{value:`model`,label:e(`settings:brain.optDistinctModels`)},{value:`provider`,label:e(`settings:brain.optDistinctProviders`)}],onChange:e=>h({council:{distinctness:e}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilVoterBudgetLabel`),hint:e(`settings:brain.councilVoterBudgetHint`),value:Wg(n.council.voterMaxTokens),options:Ug(Hg(Rg,Wg(n.council.voterMaxTokens)),e),onChange:e=>h({council:{voterMaxTokens:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilJudgeBudgetLabel`),hint:e(`settings:brain.councilJudgeBudgetHint`),value:Wg(n.council.judgeMaxTokens),options:Ug(Hg(zg,Wg(n.council.judgeMaxTokens)),e),onChange:e=>h({council:{judgeMaxTokens:e==="default"?null:Number(e)}}),disabled:c}),n.council.seats.length>0&&(0,Z.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[e(`settings:brain.councilSeatTemplate`),` `,n.council.seats.map(t=>t.veto?`${t.persona} (${e(`settings:brain.councilVeto`)})`:t.persona).join(`, `)]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.ledgerHeading`)}),(0,Z.jsx)($,{label:e(`settings:brain.ledgerRecordLabel`),hint:e(`settings:brain.ledgerRecordHint`),value:n.ledger.enabled,onChange:()=>h({ledger:{enabled:!n.ledger.enabled}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.ledgerAutoDenyLabel`),hint:e(`settings:brain.ledgerAutoDenyHint`),value:n.ledger.autoDenyAfterFailures===void 0?`default`:String(n.ledger.autoDenyAfterFailures),options:[{value:`default`,label:e(`settings:brain.optDefault3`)},{value:`0`,label:e(`settings:brain.optOff`)},{value:`2`,label:`2`},{value:`3`,label:`3`},{value:`5`,label:`5`}],onChange:e=>h({ledger:{autoDenyAfterFailures:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.ledgerMemoryEntriesLabel`),hint:e(`settings:brain.ledgerMemoryEntriesHint`),value:Wg(n.ledger.maxMemoryEntries),options:Ug(Hg(Bg,Wg(n.ledger.maxMemoryEntries)),e),onChange:e=>h({ledger:{maxMemoryEntries:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.ledgerRetryWindowLabel`),hint:e(`settings:brain.ledgerRetryWindowHint`),value:Wg(n.ledger.interventionRetryWindowMs),options:Ug(Hg(Vg,Wg(n.ledger.interventionRetryWindowMs)),e),onChange:e=>h({ledger:{interventionRetryWindowMs:e==="default"?null:Number(e)}}),disabled:c}),n.ledger.path&&(0,Z.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:n.ledger.path})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-card/70 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.recentHeading`,{count:i.length})}),(0,Z.jsx)(`div`,{className:`space-y-1 max-h-[300px] overflow-y-auto`,children:i.length===0?(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground py-2`,children:e(`settings:brain.recentEmpty`)}):i.map(e=>(0,Z.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-border/50 bg-background/40 px-2 py-1.5 text-xs`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-8`,children:e.age}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px] shrink-0`,children:e.kind}),(0,Z.jsx)(`span`,{className:`flex-1 truncate`,children:e.question}),e.outcome&&(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 italic`,children:e.outcome})]},`${e.age}-${e.kind}-${e.question.slice(0,32)}`))})]})]})}function Yg(){let{t:e}=H();return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Ai,{className:`h-5 w-5 text-info`}),(0,Z.jsx)(`h3`,{className:`text-lg font-semibold`,children:e(`activity:shadow.shadowAgent`)})]}),(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e(`activity:shadow.theShadowAgentMonitorsAllFleet`)}),(0,Z.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Start and stop it from the chat with`,` `,(0,Z.jsx)(`code`,{className:`font-mono text-xs`,children:`/shadow start`}),` and`,` `,(0,Z.jsx)(`code`,{className:`font-mono text-xs`,children:`/shadow stop`}),`. This panel cannot control it yet.`]})]})}function Xg({disabled:e,direct:t}){let n=e?`bg-muted-foreground`:t?`bg-success`:`bg-info`,r=e?`disabled`:t?`direct provider tool`:`lazy catalog tool`;return(0,Z.jsx)(`span`,{className:`inline-block h-2 w-2 shrink-0 rounded-full ${n}`,title:r})}function Zg({tool:e,onToggle:t,busy:n}){let{t:r}=H(),[i,a]=(0,X.useState)(!1);return(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-card/70 p-3 transition-colors hover:bg-card`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2 sm:flex-row sm:items-start`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,Z.jsx)(Xg,{disabled:e.disabled,direct:e.direct}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`code`,{className:`block truncate text-sm font-mono font-semibold`,title:e.name,children:e.name}),(0,Z.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1.5`,children:[(0,Z.jsx)(Cm,{variant:`outline`,className:`px-1.5 text-[10px]`,children:e.permission}),(0,Z.jsx)(Cm,{variant:`outline`,className:`px-1.5 text-[10px]`,children:e.mutating?`mutating`:`read-only`}),(0,Z.jsx)(Cm,{variant:`outline`,className:`px-1.5 text-[10px]`,children:e.disabled?`disabled`:e.direct?`direct`:`lazy`}),(0,Z.jsx)(`span`,{className:`truncate text-[11px] text-muted-foreground`,title:e.owner,children:e.owner})]})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1`,children:[(0,Z.jsxs)(Y,{variant:e.disabled?`default`:`secondary`,size:`sm`,className:`h-7 gap-1 px-2 text-xs`,onClick:t,disabled:n,children:[n?(0,Z.jsx)(mr,{className:`h-3 w-3 animate-spin`}):e.disabled?(0,Z.jsx)(Ze,{className:`h-3 w-3`}):(0,Z.jsx)(mn,{className:`h-3 w-3`}),e.disabled?`Enable`:`Disable`]}),(0,Z.jsx)(`button`,{type:`button`,className:`rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,onClick:()=>a(!i),"aria-label":i?`Collapse`:`Expand`,children:(0,Z.jsx)(pr,{className:`h-4 w-4 transition-transform ${i?`rotate-180`:``}`})})]})]}),i&&(0,Z.jsxs)(`div`,{className:`space-y-1 border-t border-border/60 pt-2 text-xs text-muted-foreground sm:ml-4`,children:[(0,Z.jsx)(`p`,{children:e.description}),e.params.length>0&&(0,Z.jsxs)(`p`,{children:[r(`activity:toolsSec.params`),` `,(0,Z.jsx)(`code`,{className:`break-all font-mono`,children:e.params.join(`, `)})]})]})]})}function Qg(){let{t:e}=H(),{client:t}=aa(),[n,r]=(0,X.useState)([]),[i,a]=(0,X.useState)(!0),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(new Set);(0,X.useEffect)(()=>{let e=t.on(`tools.list`,e=>{let t=e.payload;r(t.tools),a(!1)}),n=e=>{if(e.type===`tool.disabled`||e.type===`tool.enabled`){let n=e.payload;l(e=>{let t=new Set(e);return t.delete(n.name),t}),n.ok?t.send({type:`tools.list`},{echoToChat:!1}):p.error(`Tool "${n.name}" ${e.type===`tool.disabled`?`disable`:`enable`} failed.`)}},i=t.on(`tool.disabled`,n),o=t.on(`tool.enabled`,n);return()=>{e(),i(),o()}},[t]),(0,X.useEffect)(()=>{t.send({type:`tools.list`},{echoToChat:!1})},[t]);let u=(0,X.useCallback)((e,n)=>{l(t=>new Set(t).add(e)),t.send({type:n?`tool.enable`:`tool.disable`,payload:{name:e}})},[t]),d=o?n.filter(e=>e.name.toLowerCase().includes(o.toLowerCase())||e.owner.toLowerCase().includes(o.toLowerCase())):n,f=n.filter(e=>!e.disabled&&e.direct).length,m=n.filter(e=>!e.disabled&&!e.direct).length,h=n.filter(e=>e.disabled).length;return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(si,{className:`h-5 w-5`})}),(0,Z.jsx)(`h3`,{className:`text-base font-semibold`,children:e(`activity:toolsSec.tools`)})]}),!i&&(0,Z.jsxs)(`span`,{className:`rounded-md border border-border/60 bg-muted/30 px-2 py-1 text-xs text-muted-foreground sm:ml-auto`,children:[f,` direct · `,m,` lazy · `,h,` disabled · `,n.length,` `,`total`]})]}),(0,Z.jsxs)(`div`,{className:`relative`,children:[(0,Z.jsx)(yi,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,Z.jsx)(Ia,{placeholder:e(`activity:toolsSec.filterToolsByNameOrOwner`),value:o,onChange:e=>s(e.target.value),className:`pl-8 h-9 text-sm`})]}),i?(0,Z.jsxs)(`div`,{className:`flex items-center justify-center py-8 text-muted-foreground gap-2`,children:[(0,Z.jsx)(mr,{className:`h-4 w-4 animate-spin`}),e(`activity:toolsSec.loadingTools`)]}):d.length===0?(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:o?`No tools matching "${o}".`:`No tools registered.`}):(0,Z.jsxs)(`div`,{className:`relative overflow-hidden rounded-lg border border-border/70 bg-background/35 shadow-inner`,children:[(0,Z.jsx)(`ul`,{className:`max-h-[min(58dvh,660px)] space-y-2 overflow-y-auto p-2 pr-3 [scrollbar-gutter:stable]`,"aria-label":e(`activity:toolsSec.toolsList`),children:d.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsx)(Zg,{tool:e,onToggle:()=>u(e.name,e.disabled),busy:c.has(e.name)})},e.name))}),(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 top-0 h-4 bg-gradient-to-b from-background/90 to-transparent`}),(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-0 h-8 bg-gradient-to-t from-background/95 to-transparent`})]})]})}function $g(){let{t:e}=H();return(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 mb-4 pb-3 border-b border-border/50`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Ai,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:e(`settings:security.brainHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:e(`settings:security.brainHint`)})]})]}),(0,Z.jsx)(Jg,{})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 mb-4 pb-3 border-b border-border/50`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Ai,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:e(`settings:security.shadowHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:e(`settings:security.shadowHint`)})]})]}),(0,Z.jsx)(Yg,{})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 mb-4 pb-3 border-b border-border/50`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Ai,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:e(`settings:security.toolsHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:e(`settings:security.toolsHint`)})]})]}),(0,Z.jsx)(Qg,{})]})]})}function e_(e,t,n,r,i){e.set({[r]:i}),t({[r]:i}),r===`contextMode`&&typeof i==`string`&&n(i)}var t_=[{id:`general`,icon:(0,Z.jsx)(Ie,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.general`,descKey:`settings:tabs.generalDesc`},{id:`provider`,icon:(0,Z.jsx)(On,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.provider`,descKey:`settings:tabs.providerDesc`},{id:`connection`,icon:(0,Z.jsx)(jt,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.connection`,descKey:`settings:tabs.connectionDesc`},{id:`agent`,icon:(0,Z.jsx)(Fi,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.agent`,descKey:`settings:tabs.agentDesc`},{id:`execution`,icon:(0,Z.jsx)(lr,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.execution`,descKey:`settings:tabs.executionDesc`},{id:`fallbacks`,icon:(0,Z.jsx)(Ri,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.fallbacks`,descKey:`settings:tabs.fallbacksDesc`},{id:`routing`,icon:(0,Z.jsx)(Sr,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.routing`,descKey:`settings:tabs.routingDesc`},{id:`fleet`,icon:(0,Z.jsx)(dn,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.fleet`,descKey:`settings:tabs.fleetDesc`},{id:`integrations`,icon:(0,Z.jsx)(Li,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.integrations`,descKey:`settings:tabs.integrationsDesc`},{id:`chimera`,icon:(0,Z.jsx)(Qn,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.chimera`,descKey:`settings:tabs.chimeraDesc`},{id:`context`,icon:(0,Z.jsx)(Tr,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.context`,descKey:`settings:tabs.contextDesc`},{id:`logs`,icon:(0,Z.jsx)(Vi,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.logs`,descKey:`settings:tabs.logsDesc`},{id:`security`,icon:(0,Z.jsx)(zn,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.security`,descKey:`settings:tabs.securityDesc`},{id:`display`,icon:(0,Z.jsx)(Ie,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.display`,descKey:`settings:tabs.displayDesc`}];function n_(){let{settingsActiveTab:e,setSettingsActiveTab:n}=K(Mn(e=>({settingsActiveTab:e.settingsActiveTab,setSettingsActiveTab:e.setSettingsActiveTab}))),r=Up(`settings`),i=(0,X.useRef)(!1),[a,o]=(0,X.useState)(!1),{provider:s,model:c,setProvider:l,setModel:u,wsConnected:d}=t(Mn(e=>({provider:e.provider,model:e.model,setProvider:e.setProvider,setModel:e.setModel,wsConnected:e.wsConnected}))),f=aa(),m=f.client,{updatePrefs:h,switchAutonomy:g,switchContextMode:_}=f,v=U(),{t:y}=H(),b=Ha(!0),x=(0,X.useCallback)((e,t)=>{e_(v,h,_,e,t)},[v,h,_]),[S,C]=(0,X.useState)([]),[w,T]=(0,X.useState)({}),[E,D]=(0,X.useState)([]),[O,k]=(0,X.useState)(!1),[A,j]=(0,X.useState)(!1),[M,ee]=(0,X.useState)(!1),[N,P]=(0,X.useState)(`catalog`),[F,te]=(0,X.useState)(``),[ne,I]=(0,X.useState)(!1),L=(0,X.useCallback)(()=>{v.reset(),I(!1),window.location.reload()},[v]),R=S.find(e=>e.id===s),re=t_.find(t=>t.id===e);(0,X.useEffect)(()=>{let e=e=>{if(e.type===`provider.catalog`){let t=e.payload;C(t.providers.sort((e,t)=>e.id.localeCompare(t.id))),k(!1)}},t=e=>{if(e.type===`provider.models`){let t=e.payload;T(e=>({...e,[t.provider]:t.models})),j(!1)}},n=e=>{if(e.type===`providers.saved`){let t=e.payload.providers.sort((e,t)=>e.id.localeCompare(t.id));D(t),ee(!1),t.length>0&&P(`saved`)}};if(!d||!m)return;let r=m.on(`provider.catalog`,e),i=m.on(`provider.models`,t),a=m.on(`providers.saved`,n);return k(!0),ee(!0),m.listProviders(),m.listSavedProviders(),()=>{r?.(),i?.(),a?.()}},[d,m]);let ie=(0,X.useCallback)(e=>{l(e),w[e]||(j(!0),f.listProviderModels?.(e))},[w,l,f]),ae=(0,X.useCallback)(async e=>{if(i.current)return;let n=t.getState().model,r=t.getState().provider;if(!(!r||e===n)){i.current=!0,o(!0),u(e);try{p.info(V.t(`settings:toast.switchingTo`,{provider:r,model:e}));let t=await f.switchModel?.(r,e);t?.success?p.success(V.t(t.runActive?`settings:toast.modelSwitchedRunActive`:`settings:toast.modelSwitchedNextRequest`,{from:`${r} / ${n}`,to:`${r} / ${e}`})):(u(n),p.error(t?.message??V.t(`settings:toast.modelSwitchTimeout`)))}finally{i.current=!1,o(!1)}}},[u,f]),z=(0,X.useCallback)((e,t,n)=>{f.addKey?.(e,t,n)},[f]),oe=(0,X.useCallback)((e,t)=>{f.deleteKey?.(e,t)},[f]),se=(0,X.useCallback)((e,t)=>{f.setActiveKey?.(e,t)},[f]),ce=(0,X.useCallback)((e,t,n,r,i,a)=>{f.addProvider?.(e,t,n,r,i,a)},[f]),le=(0,X.useCallback)(e=>{f.removeProvider?.(e)},[f]),ue=(0,X.useCallback)((e,n)=>{f.client.updateProvider({id:e,models:[n]}),e===t.getState().provider&&u(n)},[u,f.client]);return(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col bg-gradient-to-b from-background/90 via-background/60 to-background/80`,children:[(0,Z.jsxs)(`header`,{className:`flex items-center justify-between px-4 py-3 border-b border-border/60 bg-card/60 backdrop-blur-xl shrink-0 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Er,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h1`,{className:`text-lg font-semibold bg-gradient-to-r from-foreground to-foreground/70 bg-clip-text text-transparent`,children:y(`settings:title`)}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-[11px] text-muted-foreground`,children:s&&c?`${s} / ${c}`:y(`settings:subtitle`)})]})]}),(0,Z.jsx)(Y,{variant:`ghost`,size:`icon`,onClick:()=>J(`chat`),children:(0,Z.jsx)(hr,{className:`h-4 w-4`})}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:()=>I(!0),children:y(`settings:resetLabel`)})]}),(0,Z.jsx)(_s,{className:`min-h-0 flex-1`,ref:r,children:(0,Z.jsx)(`div`,{className:`mx-auto max-w-7xl p-4 sm:p-6`,children:(0,Z.jsxs)(ys,{value:e,onValueChange:n,className:`grid min-h-[calc(100dvh-9rem)] gap-3 lg:grid-cols-[13.5rem_minmax(0,1fr)] lg:gap-5`,children:[(0,Z.jsxs)(`div`,{className:`relative min-w-0`,children:[(0,Z.jsx)(bs,{className:`flex h-auto w-full justify-start gap-0.5 overflow-x-auto rounded-lg border border-border/60 bg-card/60 p-1.5 shadow-sm [scrollbar-gutter:stable] lg:sticky lg:top-4 lg:flex-col lg:overflow-visible lg:rounded-xl lg:bg-card/60 lg:p-2`,children:t_.map(e=>(0,Z.jsxs)(xs,{value:e.id,className:`h-9 shrink-0 gap-2.5 rounded-md px-3 text-xs scroll-mt-2 data-[state=active]:bg-primary/10 data-[state=active]:text-primary data-[state=active]:shadow-sm lg:w-full lg:justify-start lg:px-3`,children:[(0,Z.jsx)(`span`,{className:`shrink-0`,children:e.icon}),(0,Z.jsx)(`span`,{className:`truncate`,children:y(e.labelKey)})]},e.id))}),(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-y-1 left-0 z-10 w-8 rounded-l-lg bg-gradient-to-r from-background via-background/90 to-transparent lg:hidden`}),(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-y-1 right-0 z-10 w-8 rounded-r-lg bg-gradient-to-l from-background via-background/90 to-transparent lg:hidden`})]}),(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-0`,children:[re?.descKey&&(0,Z.jsxs)(`div`,{className:`mb-4 flex items-start gap-3 rounded-xl border border-border/60 bg-card/50 px-4 py-3`,children:[(0,Z.jsx)(`span`,{className:`mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:re.icon}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`p`,{className:`text-sm font-semibold`,children:y(re.labelKey)}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:y(re.descKey)})]})]}),(0,Z.jsx)(Ss,{value:`general`,className:`mt-0`,children:(0,Z.jsx)(Am,{})}),(0,Z.jsxs)(Ss,{value:`provider`,className:`mt-0 space-y-4`,children:[(0,Z.jsx)(lg,{activeProvider:s,catalogProviders:S,isLoadingCatalog:O,savedProviders:E,isLoadingSaved:M,providerTab:N,setProviderTab:P,onSelectProvider:ie,onAddKey:z,onDeleteKey:oe,onSetActiveKey:se,onAddProvider:ce,onRemoveProvider:le,onPickProviderModel:ue,ws:f.client,catalogQuery:F,setCatalogQuery:te}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`h3`,{className:`text-sm font-semibold mb-4 flex items-center gap-2`,children:[(0,Z.jsx)(jr,{className:`h-4 w-4 text-muted-foreground`}),y(`settings:model.heading`)]}),(0,Z.jsx)(uh,{provider:s,catalogModels:w,currentCatalogProvider:R,isLoadingModels:A,setIsLoadingModels:j,onModelSelect:ae,isSwitching:a,refreshModels:e=>f.listProviderModels?.(e)}),(0,Z.jsx)(lh,{syncPref:x})]})]}),(0,Z.jsx)(Ss,{value:`connection`,className:`mt-0`,children:(0,Z.jsx)(km,{})}),(0,Z.jsx)(Ss,{value:`agent`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(pm,{syncPref:x,switchAutonomy:g})}),(0,Z.jsx)(Ss,{value:`execution`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(Gm,{syncPref:x,fallbackCandidates:b})}),(0,Z.jsx)(Ss,{value:`fallbacks`,className:`mt-0`,children:(0,Z.jsx)(Zm,{syncPref:x,candidates:b,provider:s,activeModel:c,setProvider:l,setModel:u,switchModel:f.switchModel})}),(0,Z.jsxs)(Ss,{value:`routing`,className:`mt-0`,children:[(0,Z.jsx)(Sg,{syncPref:x,candidates:b}),(0,Z.jsx)(`div`,{className:`mt-6 border-t border-border pt-6`,children:(0,Z.jsx)(ph,{syncPref:x})})]}),(0,Z.jsx)(Ss,{value:`fleet`,className:`mt-0`,children:(0,Z.jsx)(Qm,{syncPref:x})}),(0,Z.jsx)(Ss,{value:`integrations`,className:`mt-0`,children:(0,Z.jsx)(sh,{syncPref:x})}),(0,Z.jsx)(Ss,{value:`chimera`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:(0,Z.jsx)(jm,{syncPref:x,sessionProvider:s,sessionModel:c})})}),(0,Z.jsx)(Ss,{value:`context`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(Lm,{syncPref:x})}),(0,Z.jsx)(Ss,{value:`logs`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(ch,{syncPref:x})}),(0,Z.jsx)(Ss,{value:`security`,className:`mt-0`,children:(0,Z.jsx)($g,{})}),(0,Z.jsx)(Ss,{value:`display`,className:`mt-0`,children:(0,Z.jsx)(Hm,{syncPref:x})})]})]})})}),(0,Z.jsx)(Fa,{open:ne,onOpenChange:I,children:(0,Z.jsxs)(Ma,{showCloseButton:!1,children:[(0,Z.jsxs)(Aa,{children:[(0,Z.jsx)(Na,{children:y(`settings:resetConfirmTitle`)}),(0,Z.jsx)(Pa,{children:y(`settings:resetConfirmBody`)})]}),(0,Z.jsxs)(ja,{className:`gap-2 sm:gap-0`,children:[(0,Z.jsx)(Y,{variant:`outline`,onClick:()=>I(!1),children:y(`settings:cancel`)}),(0,Z.jsx)(Y,{variant:`destructive`,onClick:L,children:y(`settings:resetConfirmAction`)})]})]})})]})}function r_(){let e=pa(e=>e.info),{client:t}=aa(),n=(0,X.useRef)(null),r=(0,X.useCallback)(()=>{t?.getGitInfo?.()},[t]);return(0,X.useEffect)(()=>(r(),n.current=setInterval(r,3e4),()=>{n.current&&clearInterval(n.current)}),[r]),e}var i_=new Map,a_=new Set;y(e=>{i_.delete(e),a_.add(e)});function o_({sessionId:e,className:n}){let{t:r}=H(),[i,a]=(0,X.useState)([]),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(0),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(!1),[v,y]=(0,X.useState)(``),[b,x]=(0,X.useState)(``),[S,C]=(0,X.useState)(!1),[w,T]=(0,X.useState)(``),E=(0,X.useRef)(e),D=t(e=>e.wsUrl),O=B(D),k=q(e=>e.messages).filter(e=>e.role===`tool`&&e.toolResult===void 0&&!!e.toolUseId);(0,X.useLayoutEffect)(()=>{let t=E.current;a_.has(t)||i_.set(t,{participants:i,joined:o,joinedRole:c,error:u,openAnnotationCount:f,paused:m,injectOpen:g,injectToolUseId:v,injectContent:b,injectIsError:S,injectReason:w});let n=i_.get(e);a_.delete(e),a(n?.participants??[]),s(n?.joined??!1),l(n?.joinedRole??null),d(n?.error??null),p(n?.openAnnotationCount??0),h(n?.paused??!1),_(n?.injectOpen??!1),y(n?.injectToolUseId??``),x(n?.injectContent??``),C(n?.injectIsError??!1),T(n?.injectReason??``),E.current=e},[e]),(0,X.useEffect)(()=>{let t=[];return t.push(O.on(`collab.state`,t=>{let n=t.payload;n.sessionId===e&&a(n.participants??[])})),t.push(O.on(`collab.participant.joined`,t=>{let n=t.payload;n.sessionId===e&&a(e=>e.some(e=>e.participantId===n.participantId)?e:[...e,{participantId:n.participantId,role:n.role,joinedAt:n.joinedAt}])})),t.push(O.on(`collab.participant.left`,t=>{let n=t.payload;if(n.sessionId!==e)return;let r=n.participantId;a(e=>e.filter(e=>e.participantId!==r))})),t.push(O.on(`error`,e=>{let t=e.payload;t.phase===`collab`&&(d(t.message),s(!1))})),t.push(O.on(`collab.annotation.added`,t=>{let n=t.payload;n.sessionId===e&&(n.annotation?.resolved||p(e=>e+1))})),t.push(O.on(`collab.annotation.resolved`,t=>{t.payload.sessionId===e&&p(e=>Math.max(0,e-1))})),t.push(O.on(`collab.pause.granted`,t=>{t.payload.sessionId===e&&h(!0)})),t.push(O.on(`collab.pause.released`,t=>{t.payload.sessionId===e&&h(!1)})),()=>{for(let e of t)e()}},[O,e]);let A=(t=`observer`)=>{d(null),O.send({type:`collab.join`,payload:{sessionId:e,role:t}}),s(!0),l(t)},j=()=>{O.send({type:`collab.request_pause`,payload:{sessionId:e}})},M=()=>{O.send({type:`collab.resume`,payload:{sessionId:e}})},ee=()=>{O.send({type:`collab.leave`,payload:{sessionId:e}}),s(!1),a([])},N=t=>{O.send({type:`collab.grant_control`,payload:{sessionId:e,toParticipant:t}})},P=()=>{v&&(O.send({type:`collab.inject_tool`,payload:{sessionId:e,toolUseId:v,content:b,isError:S,reason:w.trim()||V.t(`activity:collab.controllerInjection`)}}),_(!1),y(``),x(``),C(!1),T(``))},F=o&&c===`controller`;return i.length===0&&!u?(0,Z.jsxs)(`div`,{className:G(`flex items-center gap-2 px-3 py-2 rounded-md border border-dashed border-border bg-card/40`,n),children:[(0,Z.jsx)(tr,{className:`w-4 h-4 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:r(`activity:collab.noObservers`)}),(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>A(`observer`),className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,title:r(`activity:collab.observerTitle`),children:[(0,Z.jsx)(cr,{className:`w-3 h-3`}),r(`activity:collab.observerRole`)]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>A(`annotator`),className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-warning/40 bg-warning/10 text-warning hover:bg-warning/20 transition-colors`,title:r(`activity:collab.annotatorTitle`),children:[(0,Z.jsx)(dr,{className:`w-3 h-3`}),r(`activity:collab.annotatorRole`)]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>A(`controller`),className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/20 transition-colors`,title:r(`activity:collab.controllerTitle`),children:[(0,Z.jsx)(Ht,{className:`w-3 h-3`}),r(`activity:collab.controllerRole`)]})]})]}):u?(0,Z.jsxs)(`div`,{className:G(`flex items-center gap-2 px-3 py-2 rounded-md border border-destructive/50 bg-destructive/10`,n),role:`alert`,children:[(0,Z.jsx)(`span`,{className:`text-xs text-destructive`,children:r(`activity:collab.errorPrefix`,{error:u})}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{d(null),s(!1)},className:`ml-auto text-xs underline text-destructive`,children:r(`activity:collab.dismiss`)})]}):(0,Z.jsxs)(`div`,{className:G(`relative flex items-center gap-2 px-3 py-2 rounded-md border border-success/40 bg-success/5`,n),children:[(0,Z.jsxs)(`span`,{className:`relative flex h-2 w-2`,role:`img`,"aria-label":r(`common:status.live`),children:[(0,Z.jsx)(`span`,{className:`absolute inline-flex h-full w-full rounded-full bg-success opacity-75 animate-ping`}),(0,Z.jsx)(`span`,{className:`relative inline-flex rounded-full h-2 w-2 bg-success`})]}),(0,Z.jsx)(tr,{className:`w-4 h-4 text-success`}),(0,Z.jsx)(`span`,{className:`text-xs font-medium text-success`,children:r(`activity:collab.observers`,{count:i.length})}),f>0&&(0,Z.jsxs)(`span`,{title:r(`activity:collab.annotationsTitle`,{count:f}),className:`ml-2 inline-flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-warning/15 text-warning border border-warning/30`,children:[(0,Z.jsx)(dr,{className:`w-3 h-3`}),r(`activity:collab.notes`,{count:f})]}),m&&(0,Z.jsxs)(`span`,{title:r(`activity:collab.pausedTitle`),className:`ml-2 inline-flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-destructive/15 text-destructive border border-destructive/40`,children:[(0,Z.jsx)(Ht,{className:`w-3 h-3`}),r(`activity:collab.paused`)]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1 ml-2`,children:[i.slice(0,3).map(e=>(0,Z.jsxs)(`span`,{title:r(`activity:collab.joinedTitle`,{time:new Date(e.joinedAt).toLocaleTimeString()}),className:`inline-flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-success/10 text-success`,children:[(0,Z.jsx)(Ai,{className:`w-3 h-3`}),e.role,F&&e.role!==`controller`&&(0,Z.jsx)(`button`,{type:`button`,onClick:()=>N(e.participantId),title:r(`activity:collab.grantTitle`),className:`ml-0.5 inline-flex items-center rounded hover:bg-success/20 transition-colors`,children:(0,Z.jsx)(He,{className:`w-3 h-3`})})]},e.participantId)),i.length>3&&(0,Z.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[`+`,i.length-3]})]}),F&&(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>_(e=>!e),className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-info/40 bg-info/10 text-info hover:bg-info/20 transition-colors`,title:r(`activity:collab.injectTitle`),children:[(0,Z.jsx)(cn,{className:`w-3 h-3`}),r(`activity:collab.inject`)]}),m?(0,Z.jsxs)(`button`,{type:`button`,onClick:M,className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/20 transition-colors`,title:r(`activity:collab.resumeTitle`),children:[(0,Z.jsx)(qt,{className:`w-3 h-3`}),r(`activity:collab.resume`)]}):(0,Z.jsxs)(`button`,{type:`button`,onClick:j,className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-warning/40 bg-warning/10 text-warning hover:bg-warning/20 transition-colors`,title:r(`activity:collab.pauseTitle`),children:[(0,Z.jsx)(Ht,{className:`w-3 h-3`}),r(`activity:collab.pauseAgent`)]})]}),o&&c!==`controller`&&(0,Z.jsxs)(`button`,{type:`button`,onClick:ee,className:`ml-auto inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-border hover:bg-muted transition-colors`,title:r(`activity:collab.leaveTitle`),children:[(0,Z.jsx)(Ur,{className:`w-3 h-3`}),r(`activity:collab.leave`)]}),F&&g&&(0,Z.jsxs)(`div`,{className:`absolute top-full left-0 right-0 mt-1 z-50 flex flex-col gap-2 p-3 rounded-md border border-info/40 bg-card shadow-lg text-xs`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(cn,{className:`w-3.5 h-3.5 text-info`}),(0,Z.jsx)(`span`,{className:`font-medium`,children:r(`activity:collab.injectToolResult`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>_(!1),className:`ml-auto text-muted-foreground hover:text-foreground`,children:r(`activity:collab.close`)})]}),(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:r(`activity:collab.targetTool`)}),(0,Z.jsx)(`input`,{list:`collab-inject-tools`,value:v,onChange:e=>y(e.target.value),placeholder:r(`activity:collab.targetPlaceholder`),className:`px-2 py-1 rounded border border-border bg-background font-mono`}),(0,Z.jsx)(`datalist`,{id:`collab-inject-tools`,children:k.map(e=>{let t=e.toolInput===void 0?``:` — ${JSON.stringify(e.toolInput).slice(0,40)}`;return(0,Z.jsxs)(`option`,{value:e.toolUseId,children:[e.toolName??r(`activity:collab.toolFallback`),t]},e.toolUseId)})}),k.length===0&&(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:r(`activity:collab.noPendingTools`)})]}),(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:r(`activity:collab.resultContent`)}),(0,Z.jsx)(`textarea`,{value:b,onChange:e=>x(e.target.value),rows:3,placeholder:r(`activity:collab.resultPlaceholder`),className:`px-2 py-1 rounded border border-border bg-background font-mono`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsxs)(`label`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:S,onChange:e=>C(e.target.checked)}),(0,Z.jsx)(`span`,{children:r(`activity:collab.markError`)})]}),(0,Z.jsx)(`input`,{type:`text`,value:w,onChange:e=>T(e.target.value),placeholder:r(`activity:collab.reasonPlaceholder`),className:`flex-1 px-2 py-1 rounded border border-border bg-background`})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:P,disabled:!v,className:`self-end inline-flex items-center gap-1 text-xs px-3 py-1 rounded bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors`,children:[(0,Z.jsx)(cn,{className:`w-3 h-3`}),r(`activity:collab.queueInjection`)]})]})]})}var s_={running:{led:`bg-success led-pulse`,badge:`border-success/30 bg-success/10 text-success`,labelKey:`activity:fleet.statusRunning`},completed:{led:`bg-success`,badge:`border-border bg-muted/40 text-muted-foreground`,labelKey:`activity:fleet.statusDone`},failed:{led:`bg-destructive`,badge:`border-destructive/30 bg-destructive/10 text-destructive`,labelKey:`activity:fleet.statusFailed`},timeout:{led:`bg-warning`,badge:`border-warning/30 bg-warning/10 text-warning`,labelKey:`activity:fleet.statusTimeout`},stopped:{led:`bg-muted-foreground`,badge:`border-border bg-muted text-muted-foreground`,labelKey:`activity:fleet.statusStopped`}};function c_({className:e}){let{t}=H(),n=z(e=>e.agents),i=P(),[a,o]=(0,X.useState)(null),s=(0,X.useMemo)(()=>{let e=Array.from(n.values()).filter(e=>r(e.sessionId,i));return e.sort(b),e},[n,i]),c=(0,X.useCallback)(async(e,t)=>{try{await navigator.clipboard.writeText(t),o(e),setTimeout(()=>o(null),2e3)}catch{}},[]),l=(0,X.useCallback)(e=>{K.getState().setSubagentChatFocus(e,i??void 0),K.getState().setDockSection(null)},[i]);if(s.length===0)return(0,Z.jsx)(`div`,{className:G(`p-4 text-center text-xs text-muted-foreground`,e),children:t(`activity:agents.noAgentsRunning`)});let u=Se(s),d=s.reduce((e,t)=>e+(t.costUsd??0),0);return(0,Z.jsxs)(`div`,{className:G(`flex flex-col gap-3`,e),children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 rounded-lg border border-border/70 bg-card/60 px-3 py-2 text-xs backdrop-blur-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Fi,{className:`h-4 w-4 text-primary shrink-0`}),(0,Z.jsx)(`span`,{className:`font-semibold`,children:t(`activity:dock.fleet`)}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,s.length,`)`]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px]`,children:[u.running>0&&(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 font-medium text-success`,children:[(0,Z.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-success animate-pulse`}),u.running,` `,t(`activity:fleet.statusRunning`)]}),u.completed>0&&(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,children:[u.completed,` `,t(`activity:fleet.statusDone`)]}),u.failed>0&&(0,Z.jsxs)(`span`,{className:`font-medium text-destructive`,children:[u.failed,` `,t(`activity:fleet.statusFailed`)]}),d>0&&(0,Z.jsx)(`span`,{className:`rounded bg-muted/60 px-1.5 py-0.5 font-mono text-[10px] text-foreground/80`,children:Bs(d)})]})]}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-2`,children:s.map(e=>{let n=s_[e.status]??s_.stopped,r=Date.now()-e.startedAt,i=e.description;return(0,Z.jsxs)(`div`,{className:`group flex flex-col gap-2 rounded-lg border border-border/70 bg-card/80 p-3 shadow-xs transition-colors hover:border-primary/40 hover:bg-card`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 min-w-0`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Z.jsx)(`span`,{className:G(`h-2 w-2 rounded-full shrink-0`,n.led)}),(0,Z.jsx)(`span`,{className:`truncate text-xs font-semibold text-foreground`,children:e.name}),(e.provider||e.model)&&(0,Z.jsxs)(`span`,{className:`hidden sm:inline-flex items-center gap-1 rounded bg-muted/60 px-1.5 py-0.5 text-[10px] font-mono text-muted-foreground truncate`,children:[(0,Z.jsx)(jr,{className:`h-3 w-3 shrink-0`}),e.model??e.provider]}),(0,Z.jsx)(`span`,{className:G(`rounded-md border px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wider shrink-0`,n.badge),children:t(n.labelKey)})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] font-mono text-muted-foreground tabular-nums`,children:[(0,Z.jsx)(yn,{className:`h-3 w-3`}),Hs(r)]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>l(e.id),className:`inline-flex items-center gap-1 rounded-md border border-primary/30 bg-primary/10 px-2 py-1 text-xs font-medium text-primary hover:bg-primary/20 transition-colors cursor-pointer`,title:`Open subagent chat tab`,children:[(0,Z.jsx)(Te,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:`Chat Tab`})]})]})]}),i?(0,Z.jsx)(`p`,{className:`text-[11px] text-muted-foreground line-clamp-2 leading-relaxed`,children:i}):null,(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 border-t border-border/40 pt-2 text-[11px]`,children:[(0,Z.jsx)(`div`,{className:`flex items-center gap-2 min-w-0`,children:e.status===`running`&&(e.currentTool||e.lastTool)?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-primary font-mono text-[10px] bg-primary/10 px-1.5 py-0.5 rounded truncate`,children:[(0,Z.jsx)(si,{className:`h-3 w-3 shrink-0 animate-pulse`}),e.currentTool?e.currentTool:`last: ${e.lastTool}`]}):e.error?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-destructive text-[10px] truncate`,children:[(0,Z.jsx)(In,{className:`h-3 w-3 shrink-0`}),e.error.message]}):(0,Z.jsxs)(`span`,{className:`text-[10px] text-muted-foreground font-mono`,children:[`iter `,e.iteration,` · `,e.toolCalls,` tools`]})}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto`,children:[e.costUsd>0&&(0,Z.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:Bs(e.costUsd)}),e.finalText&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>c(e.id,e.finalText),className:`inline-flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted px-1.5 py-0.5 rounded transition-colors cursor-pointer`,title:t(`activity:fleet.copyOutput`),children:[a===e.id?(0,Z.jsx)(ai,{className:`h-3 w-3 text-success`}):(0,Z.jsx)(Vt,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:a===e.id?t(`common:action.copied`):t(`common:action.copy`)})]})]})]})]},e.id)})})]})}var l_={up:(0,Z.jsx)(Ne,{className:`h-3.5 w-3.5 text-success`}),down:(0,Z.jsx)(Pr,{className:`h-3.5 w-3.5 text-destructive`}),stable:(0,Z.jsx)(Ln,{className:`h-3.5 w-3.5 text-warning`})},u_={active:{color:`text-success`,bg:`bg-success/10`,labelKey:`statusActive`},paused:{color:`text-warning`,bg:`bg-warning/10`,labelKey:`statusPaused`},completed:{color:`text-info`,bg:`bg-info/10`,labelKey:`statusDone`},failed:{color:`text-destructive`,bg:`bg-destructive/10`,labelKey:`statusFailed`},abandoned:{color:`text-muted-foreground`,bg:`bg-muted`,labelKey:`statusAbandoned`}};function d_({goal:e,className:t}){let{t:n}=H(),[r,i]=(0,X.useState)(!1);(0,X.useEffect)(()=>{let e=B();e?.send?.({type:`goal.get`});let t=setInterval(()=>{e?.send?.({type:`goal.get`})},1e4);return()=>clearInterval(t)},[]),(0,X.useEffect)(()=>{(!e||e.goalState===`completed`||e.goalState===`failed`||e.goalState===`abandoned`)&&i(!0)},[e]);let a=e?.deliverables??[],o=[...e?.journal??[]].reverse();if(!e||e.goalState===`completed`||e.goalState===`failed`||e.goalState===`abandoned`)return null;let s=u_[e.goalState],c=e.deliverables?.filter(e=>e.status===`done`).length??0,l=e.deliverables?.length??0,u=e.progressTrend?l_[e.progressTrend]:null;return(0,Z.jsxs)(`div`,{className:G(`rounded-lg border border-border bg-card/60 backdrop-blur-sm`,t),children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),className:`flex w-full items-center gap-2 px-3 py-2.5 text-left hover:bg-accent/40 rounded-t-lg transition-colors`,children:[(0,Z.jsx)(ht,{className:`h-4 w-4 text-primary`}),(0,Z.jsx)(`span`,{className:`text-xs font-semibold text-foreground flex-1 min-w-0 truncate`,children:n(`activity:goal.heading`)}),(0,Z.jsx)(`span`,{className:G(`inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium shrink-0`,s.bg,s.color),children:n(`activity:goal.${s.labelKey}`)}),r?(0,Z.jsx)(or,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`}):(0,Z.jsx)(pr,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`})]}),!r&&(0,Z.jsxs)(`div`,{className:`px-3 pb-3 space-y-3 border-t pt-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`text-xs text-foreground leading-relaxed whitespace-pre-wrap break-words`,children:e.goal}),e.refinedGoal&&e.refinedGoal!==e.goal&&(0,Z.jsxs)(`div`,{className:`mt-1.5 p-2 rounded bg-accent/40 border border-border/50`,children:[(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground mb-0.5 uppercase tracking-wider font-medium`,children:n(`activity:goal.refined`)}),(0,Z.jsx)(`p`,{className:`text-xs leading-relaxed whitespace-pre-wrap break-words`,children:e.refinedGoal})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-[10px]`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground uppercase tracking-wider font-medium`,children:n(`activity:goal.progress`)}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 tabular-nums`,children:[u,(0,Z.jsxs)(`span`,{className:`font-medium text-foreground`,children:[e.progress,`%`]})]})]}),(0,Z.jsx)(`div`,{className:`h-1.5 bg-muted rounded-full overflow-hidden`,children:(0,Z.jsx)(`div`,{className:G(`h-full transition-all duration-700 rounded-full`,e.progress>=80?`bg-success`:e.progress>=50?`bg-warning`:`bg-primary`),style:{width:`${e.progress>0?Math.max(2,e.progress):0}%`}})}),e.progressNote&&(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:e.progressNote})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[10px] text-muted-foreground`,children:[(0,Z.jsx)(yn,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{className:`tabular-nums font-medium`,children:e.iterations}),(0,Z.jsx)(`span`,{children:n(`activity:goal.iterations`)}),e.lastStatus&&(0,Z.jsx)(`span`,{className:`text-border`,children:`·`}),e.lastStatus&&(0,Z.jsx)(`span`,{className:`truncate`,children:e.lastStatus})]}),l>0&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-[10px] text-muted-foreground uppercase tracking-wider font-medium`,children:[(0,Z.jsx)(`span`,{children:n(`activity:goal.deliverables`)}),(0,Z.jsxs)(`span`,{className:`tabular-nums`,children:[c,`/`,l]})]}),(0,Z.jsx)(`ul`,{className:`space-y-0.5`,children:a.map(e=>(0,Z.jsxs)(`li`,{className:`flex items-start gap-1.5 text-[11px]`,children:[e.status===`done`?(0,Z.jsx)(wr,{className:`h-3 w-3 text-success mt-0.5 shrink-0`}):(0,Z.jsx)(_t,{className:`h-3 w-3 text-muted-foreground/70 mt-0.5 shrink-0`}),(0,Z.jsx)(`span`,{className:G(`leading-snug`,e.status===`done`?`text-muted-foreground line-through`:`text-foreground`),children:e.text})]},e.id))})]}),o.length>0&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground uppercase tracking-wider font-medium`,children:n(`activity:goal.recentActivity`)}),(0,Z.jsx)(`div`,{className:`space-y-1`,children:o.map((e,t)=>(0,Z.jsxs)(`div`,{className:`flex items-start gap-1.5 text-[10px] text-muted-foreground`,children:[(0,Z.jsxs)(`span`,{className:`font-mono tabular-nums shrink-0 text-foreground/60`,children:[`#`,e.iteration]}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.task||e.status||e.progressNote||`…`})]},`${e.iteration}-${t}`))})]})]})]})}var f_={in_progress:0,pending:1,completed:2},p_=`__no_session__`,m_=new Map,h_=new Set;y(e=>{m_.delete(e),h_.add(e)});function g_(){let{t:e}=H(),t=j(e=>e.todos),n=P(),[r,i]=(0,X.useState)(new Set),a=B(),o=(0,X.useRef)(n??p_);(0,X.useLayoutEffect)(()=>{h_.has(o.current)||m_.set(o.current,new Set(r));let e=n??p_;h_.delete(e),i(new Set(m_.get(e)??[])),o.current=e},[n]),(0,X.useEffect)(()=>{n&&a.send({type:`todos.get`,payload:{sessionId:n}})},[n,a]);let s=(0,X.useCallback)(e=>{a.removeTodo(e)},[a]),c=(0,X.useCallback)(e=>{if(e.status===`in_progress`)return;let t=e.status===`completed`?`pending`:`completed`;a.updateTodoStatus(e.id,t)},[a]),l=[...t].sort((e,t)=>(f_[e.status]??9)-(f_[t.status]??9)),u=l.filter(e=>e.status===`completed`).length,d=l.filter(e=>e.status===`in_progress`),f=l.filter(e=>e.status===`pending`),p=l.filter(e=>e.status===`completed`),m=p.length>0,h=r.has(`completed`),g=e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},_=t=>{let n=t.status===`in_progress`&&t.activeForm?t.activeForm:t.content,r=t.status===`in_progress`,i=t.status===`completed`,a=!!(t.kanbanBoardId&&t.kanbanTaskId),o=!r&&!(a&&i);return(0,Z.jsxs)(`div`,{className:G(`relative px-3 py-1.5 flex items-start gap-2 text-[13px] group transition-colors`,o&&`hover:bg-accent/40`,r?`bg-warning/8`:i?`bg-success/5`:`bg-background`),children:[o&&(0,Z.jsx)(`button`,{type:`button`,className:`absolute inset-0 cursor-pointer`,"aria-label":e(`activity:todos.toggleAria`,{content:t.content}),onClick:()=>c(t)}),(0,Z.jsx)(`span`,{className:`pointer-events-none relative mt-0.5 shrink-0`,children:i?(0,Z.jsx)(wr,{className:`w-3.5 h-3.5 text-success`}):r?(0,Z.jsx)(yn,{className:`w-3.5 h-3.5 text-warning animate-spin`}):(0,Z.jsx)(_t,{className:G(`w-3.5 h-3.5 transition-colors`,`text-muted-foreground/65 group-hover:text-success`)})}),(0,Z.jsxs)(`span`,{className:G(`pointer-events-none relative leading-snug flex-1 min-w-0`,r?`text-warning font-medium`:i?`text-muted-foreground line-through`:`text-foreground/80`),children:[n,t.blockedBy?.length?(0,Z.jsx)(`span`,{className:`mt-0.5 block text-[11px] text-destructive`,children:e(`activity:todos.blockedBy`,{work:t.blockedBy.join(`; `)})}):null]}),!a&&(0,Z.jsx)(`button`,{type:`button`,onClick:()=>s(t.id),className:`relative shrink-0 p-0.5 rounded opacity-0 group-hover:opacity-50 hover:opacity-100 hover:bg-destructive/10 transition-all`,title:e(`activity:todos.removeTitle`),"aria-label":e(`activity:todos.removeAria`,{content:t.content}),children:(0,Z.jsx)(Rt,{className:`w-3 h-3 text-muted-foreground`})})]},t.id)};return t.length===0?null:(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-card/50 backdrop-blur-sm overflow-hidden`,children:[(0,Z.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2 border-b border-border/50`,children:[(0,Z.jsx)(`h2`,{className:`text-[11px] font-semibold text-foreground uppercase tracking-wider`,children:e(`activity:work.todos`)}),(0,Z.jsxs)(`span`,{className:`tabular text-[10px] text-muted-foreground ml-auto`,children:[u,`/`,t.length]})]}),d.length>0&&(0,Z.jsx)(`div`,{className:`border-b border-border/30 last:border-b-0`,children:d.map(_)}),f.length>0&&(0,Z.jsx)(`div`,{className:`border-b border-border/30 last:border-b-0`,children:f.map(_)}),m&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>g(`completed`),className:`w-full px-3 py-1 flex items-center gap-1.5 text-[10px] text-muted-foreground hover:text-foreground transition-colors`,children:(0,Z.jsxs)(`span`,{className:`tabular`,children:[h?`▶`:`▼`,` `,e(`activity:todos.completedCount`,{count:p.length})]})}),!h&&p.map(_)]})]})}var __={pending:{icon:(0,Z.jsx)(_t,{className:`w-3.5 h-3.5`}),labelKey:`statusPending`,color:`text-muted-foreground/70`},in_progress:{icon:(0,Z.jsx)(yn,{className:`w-3.5 h-3.5 animate-spin`}),labelKey:`statusInProgress`,color:`text-warning`},blocked:{icon:(0,Z.jsx)(Ht,{className:`w-3.5 h-3.5`}),labelKey:`statusBlocked`,color:`text-warning`},failed:{icon:(0,Z.jsx)(In,{className:`w-3.5 h-3.5`}),labelKey:`statusFailed`,color:`text-destructive`},review:{icon:(0,Z.jsx)(_r,{className:`w-3.5 h-3.5`}),labelKey:`statusReview`,color:`text-info`},completed:{icon:(0,Z.jsx)(wr,{className:`w-3.5 h-3.5`}),labelKey:`statusDone`,color:`text-success`}},v_={critical:`text-destructive`,high:`text-warning`,medium:`text-warning/85`,low:`text-muted-foreground`},y_={feature:`⚡`,bugfix:`🐛`,refactor:`♻️`,docs:`📝`,test:`🧪`,chore:`🔧`},b_=`__no_session__`,x_=new Map,S_=new Set;y(e=>{x_.delete(e),S_.add(e)});function C_(){let{t:e}=H(),[t,n]=(0,X.useState)([]),[r,i]=(0,X.useState)(new Set),a=B(),o=P(),s=(0,X.useRef)(o??b_);(0,X.useLayoutEffect)(()=>{S_.has(s.current)||x_.set(s.current,new Set(r));let e=o??b_;S_.delete(e),i(new Set(x_.get(e)??[])),s.current=e},[o]),(0,X.useEffect)(()=>{n([]),a.getTasks();let e=a.on(`tasks.updated`,e=>{let t=e?.payload;t?.sessionId&&o&&t.sessionId!==o||t?.tasks&&n(t.tasks)});return()=>{e()}},[o,a]);let c=(0,X.useCallback)(e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),l=(0,X.useCallback)((e,t)=>{a.updateTaskStatus(e,t)},[a]),u=[`in_progress`,`blocked`,`review`,`pending`,`failed`,`completed`],d=[...t].sort((e,t)=>u.indexOf(e.status)-u.indexOf(t.status)),f=new Map;for(let e of d){let t=f.get(e.status)??[];t.push(e),f.set(e.status,t)}let p=t.filter(e=>e.status===`completed`).length;return t.length===0?null:(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-card/50 backdrop-blur-sm overflow-hidden`,children:[(0,Z.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2 border-b border-border/50`,children:[(0,Z.jsx)(`h2`,{className:`text-[11px] font-semibold text-foreground uppercase tracking-wider`,children:e(`activity:work.tasks`)}),(0,Z.jsxs)(`span`,{className:`tabular text-[10px] text-muted-foreground ml-auto`,children:[p,`/`,t.length]})]}),u.map(t=>{let n=f.get(t);if(!n||n.length===0)return null;let i=__[t],a=r.has(t);return(0,Z.jsxs)(`div`,{className:`border-b border-border/30 last:border-b-0`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>c(t),className:`w-full px-3 py-1 flex items-center gap-1.5 text-[10px] text-muted-foreground hover:text-foreground transition-colors`,children:(0,Z.jsxs)(`span`,{className:`tabular`,children:[a?`▶`:`▼`,` `,n.length,` `,e(`activity:task.${i.labelKey}`)]})}),!a&&n.map(t=>(0,Z.jsxs)(`div`,{className:G(`px-3 py-1.5 flex items-start gap-2 text-[13px] group`,t.status===`in_progress`?`bg-warning/8`:``),children:[(0,Z.jsx)(`span`,{className:G(`mt-0.5 shrink-0`,i.color),children:i.icon}),(0,Z.jsxs)(`span`,{className:`leading-snug flex-1 min-w-0`,children:[(0,Z.jsxs)(`span`,{className:G(t.status===`completed`?`text-muted-foreground line-through`:`text-foreground/80`),children:[y_[t.type],` `,t.title]}),t.priority!==`medium`&&(0,Z.jsx)(`span`,{className:G(`ml-1 text-[10px]`,v_[t.priority]),children:t.priority}),t.assignee&&(0,Z.jsxs)(`span`,{className:`ml-1 text-[10px] text-muted-foreground`,children:[`@`,t.assignee]}),t.estimateHours&&(0,Z.jsxs)(`span`,{className:`ml-1 text-[10px] text-muted-foreground`,children:[t.estimateHours,`h`]})]}),(0,Z.jsxs)(`div`,{className:`flex gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity shrink-0`,children:[t.status!==`in_progress`&&t.status!==`completed`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t.id,`in_progress`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-primary/15 text-primary hover:bg-primary/25 transition-colors`,title:e(`activity:task.startTitle`),children:e(`common:action.start`)}),t.status===`in_progress`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t.id,`completed`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-success/15 text-success hover:bg-success/25 transition-colors`,title:e(`activity:task.completeTitle`),children:e(`activity:task.statusDone`)}),t.status!==`completed`&&t.status!==`failed`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t.id,`failed`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-destructive/15 text-destructive hover:bg-destructive/25 transition-colors`,title:e(`activity:task.failTitle`),children:e(`activity:task.fail`)})]})]},t.id))]},t)})]})}var w_={open:{icon:(0,Z.jsx)(_t,{className:`w-3.5 h-3.5`}),labelKey:`statusOpen`,color:`text-muted-foreground/70`},in_progress:{icon:(0,Z.jsx)(yn,{className:`w-3.5 h-3.5 animate-spin`}),labelKey:`statusInProgress`,color:`text-warning`},done:{icon:(0,Z.jsx)(wr,{className:`w-3.5 h-3.5`}),labelKey:`statusDone`,color:`text-success`}},T_=`__no_session__`,E_=new Map,D_=new Set;y(e=>{E_.delete(e),D_.add(e)});function O_(){let{t:e}=H(),[t,n]=(0,X.useState)([]),[r,i]=(0,X.useState)(new Set),a=B(),o=P(),s=(0,X.useRef)(o??T_);(0,X.useLayoutEffect)(()=>{D_.has(s.current)||E_.set(s.current,new Set(r));let e=o??T_;D_.delete(e),i(new Set(E_.get(e)??[])),s.current=e},[o]),(0,X.useEffect)(()=>{n([]),a.getPlan();let e=a.on(`plan.updated`,e=>{let t=e?.payload;t?.sessionId&&o&&t.sessionId!==o||t?.plan?.items&&n(t.plan.items)});return()=>{e()}},[o,a]);let c=(0,X.useCallback)(e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),l=(0,X.useCallback)((e,t)=>{a.updatePlanItem(e.id,t)},[a]),u=[`in_progress`,`open`,`done`],d=[...t].sort((e,t)=>u.indexOf(e.status)-u.indexOf(t.status)),f=new Map;for(let e of d){let t=f.get(e.status)??[];t.push(e),f.set(e.status,t)}let p=t.filter(e=>e.status===`done`).length;return t.length===0?null:(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-card/50 backdrop-blur-sm overflow-hidden`,children:[(0,Z.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2 border-b border-border/50`,children:[(0,Z.jsxs)(`h2`,{className:`text-[11px] font-semibold text-foreground uppercase tracking-wider`,children:[`📋 `,e(`activity:work.plan`)]}),(0,Z.jsxs)(`span`,{className:`tabular text-[10px] text-muted-foreground ml-auto`,children:[p,`/`,t.length]})]}),u.map(t=>{let n=f.get(t);if(!n||n.length===0)return null;let i=w_[t],a=r.has(t);return(0,Z.jsxs)(`div`,{className:`border-b border-border/30 last:border-b-0`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>c(t),className:`w-full px-3 py-1 flex items-center gap-1.5 text-[10px] text-muted-foreground hover:text-foreground transition-colors`,children:(0,Z.jsxs)(`span`,{className:`tabular`,children:[a?`▶`:`▼`,` `,n.length,` `,e(`activity:plan.${i.labelKey}`)]})}),!a&&n.map(t=>(0,Z.jsxs)(`div`,{className:G(`px-3 py-1.5 flex items-start gap-2 text-[13px] group`,t.status===`in_progress`?`bg-warning/8`:``),children:[(0,Z.jsx)(`span`,{className:G(`mt-0.5 shrink-0`,i.color),children:i.icon}),(0,Z.jsx)(`span`,{className:G(`leading-snug flex-1 min-w-0`,t.status===`done`?`text-muted-foreground line-through`:`text-foreground/80`),children:t.title}),(0,Z.jsxs)(`div`,{className:`flex gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity shrink-0`,children:[t.status===`open`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t,`in_progress`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-primary/15 text-primary hover:bg-primary/25 transition-colors`,title:e(`activity:plan.startTitle`),children:e(`common:action.start`)}),t.status!==`done`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t,`done`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-success/15 text-success hover:bg-success/25 transition-colors`,title:e(`activity:plan.doneTitle`),children:e(`activity:plan.statusDone`)}),t.status===`done`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t,`open`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-muted text-muted-foreground hover:bg-accent hover:text-foreground transition-colors`,title:e(`activity:plan.reopenTitle`),children:e(`activity:plan.reopen`)})]})]},t.id))]},t)})]})}var k_=[{id:`todos`,labelKey:`work.todos`,icon:`✅`},{id:`tasks`,labelKey:`work.tasks`,icon:`📋`},{id:`plan`,labelKey:`work.plan`,icon:`🗺️`}];function A_(){let{t:e}=H(),t=K(e=>e.workDashboardTab),n=K(e=>e.setWorkDashboardTab);return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-card/50 backdrop-blur-sm overflow-hidden`,children:[(0,Z.jsx)(`div`,{className:`flex border-b border-border/50 bg-muted/30`,children:k_.map(r=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>n(r.id),className:G(`flex items-center gap-1 px-3 py-1.5 text-[11px] font-medium transition-colors`,`border-b-2 -mb-px`,t===r.id?`border-primary text-foreground bg-background`:`border-transparent text-muted-foreground hover:text-foreground hover:bg-accent/30`),children:[(0,Z.jsx)(`span`,{className:`text-xs`,children:r.icon}),e(`activity:${r.labelKey}`)]},r.id))}),(0,Z.jsx)(`div`,{className:G(t===`todos`?`block`:`hidden`),children:(0,Z.jsx)(g_,{})}),(0,Z.jsx)(`div`,{className:G(t===`tasks`?`block`:`hidden`),children:(0,Z.jsx)(C_,{})}),(0,Z.jsx)(`div`,{className:G(t===`plan`?`block`:`hidden`),children:(0,Z.jsx)(O_,{})})]})}var j_={primary:`hsl(var(--primary))`,info:`hsl(var(--info))`,success:`hsl(var(--success))`,warning:`hsl(var(--warning))`,destructive:`hsl(var(--destructive))`,muted:`hsl(var(--muted-foreground))`,foreground:`hsl(var(--foreground))`},M_=[j_.primary,j_.info,j_.success,j_.warning,j_.destructive,j_.muted],N_=e=>e.replace(/^wstack\/ap\//,``);function P_(e){return[...e].sort((e,t)=>e.allocatedAt-t.allocatedAt).map((e,t)=>({handle:e,color:M_[t%M_.length],y:60+t*48}))}var F_={allocating:{dash:`4 4`,opacity:.4},active:{dash:`4 4`,opacity:.6},committing:{dash:`4 4`,opacity:.8},merging:{dash:`0`,opacity:.9},merged:{dash:`0`,opacity:1},"needs-review":{dash:`2 3`,opacity:.9},failed:{dash:`2 3`,opacity:.6}};function I_({worktrees:e,baseBranch:t}){let{t:n}=H(),r=P_(e),i=Math.max(120,60+r.length*48+20);return(0,Z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border border-border/70 bg-card/70 p-3`,children:(0,Z.jsxs)(`svg`,{width:`100%`,height:i,viewBox:`0 0 600 ${i}`,className:`min-w-[420px]`,role:`img`,"aria-label":n(`activity:worktree.graphAria`,{base:t||`HEAD`}),children:[(0,Z.jsx)(`title`,{children:n(`activity:worktree.graphAria`,{base:t||`HEAD`})}),(0,Z.jsx)(`line`,{x1:40,y1:20,x2:40,y2:i-10,stroke:j_.primary,strokeWidth:3}),(0,Z.jsx)(`text`,{x:36,y:14,fontSize:11,fill:j_.muted,children:t||`HEAD`}),(0,Z.jsx)(`circle`,{cx:40,cy:20,r:5,fill:j_.primary}),r.map(e=>{let r=F_[e.handle.status]??d(F_.active),i=e.handle.status===`merged`,a=e.handle.status===`needs-review`||e.handle.status===`failed`;return(0,Z.jsxs)(`g`,{className:`transition-all duration-500`,children:[(0,Z.jsx)(`path`,{d:`M 40 ${e.y-24} C 100 ${e.y-24}, 160 ${e.y}, 220 ${e.y}`,fill:`none`,stroke:e.color,strokeWidth:2,strokeDasharray:r.dash,opacity:r.opacity}),i?(0,Z.jsx)(`path`,{d:`M 220 ${e.y} C 160 ${e.y+20}, 100 ${e.y+24}, 40 ${e.y+24}`,fill:`none`,stroke:j_.success,strokeWidth:2,opacity:.9}):null,(0,Z.jsx)(`circle`,{cx:220,cy:e.y,r:5,fill:a?j_.destructive:e.color}),(0,Z.jsx)(`text`,{x:232,y:e.y-6,fontSize:12,fill:j_.foreground,fontFamily:`monospace`,children:N_(e.handle.branch)}),(0,Z.jsx)(`text`,{x:232,y:e.y+10,fontSize:10,fill:j_.muted,children:a?`⚠ ${e.handle.status}`:i?n(`activity:worktree.mergedLabel`,{base:t}):`+${e.handle.insertions}/-${e.handle.deletions} · ${e.handle.ownerLabel}`})]},e.handle.handleId)})]})})}var L_={allocating:{icon:`○`,labelKey:`statusAllocating`,tint:`border-muted-foreground/40`,dot:`bg-muted-foreground`},active:{icon:`●`,labelKey:`statusActive`,tint:`border-warning/40`,dot:`bg-warning animate-pulse`},committing:{icon:`◐`,labelKey:`statusCommitting`,tint:`border-primary/40`,dot:`bg-primary animate-pulse`},merging:{icon:`⇡`,labelKey:`statusMerging`,tint:`border-info/40`,dot:`bg-info animate-pulse`},merged:{icon:`✓`,labelKey:`statusMerged`,tint:`border-success/40`,dot:`bg-success`},"needs-review":{icon:`⚠`,labelKey:`statusConflict`,tint:`border-destructive/50`,dot:`bg-destructive`},failed:{icon:`✗`,labelKey:`statusFailed`,tint:`border-destructive/50`,dot:`bg-destructive`}};function R_(e){return L_[e]??{icon:`?`,labelKey:``,tint:`border-border`,dot:`bg-muted-foreground`}}var z_=e=>e.replace(/^wstack\/ap\//,``);function B_({worktrees:e,baseBranch:t}){let{t:n}=H(),r=[...e].sort((e,t)=>e.allocatedAt-t.allocatedAt);return(0,Z.jsxs)(`div`,{className:`rounded-lg border bg-card/50 backdrop-blur-sm px-3 py-3`,children:[(0,Z.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,Z.jsx)(`span`,{className:`font-semibold tracking-wide uppercase text-[10px]`,children:n(`activity:worktree.lanesHeading`)}),(0,Z.jsxs)(`span`,{className:`opacity-60`,children:[`· `,n(`activity:worktree.base`)]}),(0,Z.jsx)(`code`,{className:`font-mono text-primary`,children:t||`HEAD`}),(0,Z.jsxs)(`span`,{className:`opacity-60`,children:[`· `,n(`activity:worktree.isolatedCount`,{count:r.length})]})]}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:r.map(e=>{let t=R_(e.status),r=e.status===`needs-review`,i=Math.min(100,e.insertions+e.deletions);return(0,Z.jsxs)(`div`,{className:G(`group relative flex items-center gap-3 rounded-lg border px-3 py-2 transition-all duration-500`,`bg-background/60 hover:bg-accent/20`,t.tint),children:[(0,Z.jsx)(`span`,{className:G(`h-2.5 w-2.5 shrink-0 rounded-full`,t.dot),"aria-hidden":!0}),(0,Z.jsx)(`code`,{className:`w-44 shrink-0 truncate font-mono text-sm`,children:z_(e.branch)}),(0,Z.jsxs)(`span`,{className:`shrink-0 rounded bg-muted px-2 py-0.5 text-xs text-muted-foreground`,children:[`⟵ `,e.ownerLabel]}),r?(0,Z.jsx)(`span`,{className:`font-mono text-xs font-bold text-destructive`,children:n(`activity:worktree.conflictBadge`)}):(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 font-mono text-xs transition-all duration-500`,children:[(0,Z.jsxs)(`span`,{className:`text-success`,children:[`+`,e.insertions]}),(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`·`}),(0,Z.jsxs)(`span`,{className:`text-destructive`,children:[`-`,e.deletions]}),(0,Z.jsxs)(`span`,{className:`ml-1 text-muted-foreground`,children:[e.files,`f`]})]}),(0,Z.jsx)(`div`,{className:`ml-auto hidden h-1 w-24 overflow-hidden rounded-full bg-muted sm:block`,children:(0,Z.jsx)(`div`,{className:`h-full bg-gradient-to-r from-success to-destructive transition-all duration-700`,style:{width:`${i}%`}})}),(0,Z.jsx)(`span`,{className:`w-20 shrink-0 text-right text-xs text-muted-foreground`,children:t.labelKey?n(`activity:worktree.${t.labelKey}`):e.status}),e.recentActivity.length>0?(0,Z.jsxs)(`span`,{className:`absolute -bottom-2 left-9 max-w-[60%] truncate rounded bg-muted px-1.5 text-[10px] text-muted-foreground opacity-0 transition-opacity duration-300 group-hover:opacity-100`,children:[e.recentActivity[e.recentActivity.length-1]?.kind,`: `,e.recentActivity[e.recentActivity.length-1]?.text]}):null]},e.handleId)})})]})}var V_=e=>e?e.replace(/^wstack\/ap\//,``):``;function H_(){let{t:e}=H(),{client:t}=aa(),n=va(e=>e.orphans),r=va(e=>e.canClean),i=va(e=>e.cleanBlockedReason),a=va(e=>e.cleanResult),[o,s]=(0,X.useState)(!1);return(0,X.useEffect)(()=>{t?.send?.({type:`worktree.scan`})},[t]),(0,X.useEffect)(()=>{a&&s(!1)},[a]),n.length===0&&!a?null:(0,Z.jsxs)(`div`,{className:`rounded-md border border-warning/30 bg-warning/5 px-3 py-2 text-xs`,children:[n.length>0?(0,Z.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Z.jsx)(zr,{className:`mt-0.5 h-4 w-4 shrink-0 text-warning`}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`font-medium text-warning`,children:e(`activity:worktree.orphanCount`,{count:n.length})}),(0,Z.jsx)(`div`,{className:`mt-0.5 max-h-16 overflow-auto font-mono text-[10px] text-muted-foreground`,children:n.map((e,t)=>(0,Z.jsxs)(`div`,{className:`truncate`,children:[e.kind===`branch`?`⌥ `:`▢ `,V_(e.branch)||e.dir]},`${e.kind}-${e.branch??e.dir??t}`))})]}),(0,Z.jsxs)(`button`,{type:`button`,disabled:!r||o,onClick:async()=>{let r=n.length;await Ba({title:e(`activity:worktree.cleanTitle`,{count:r}),message:e(`activity:worktree.cleanMessage`),confirmLabel:e(`activity:worktree.cleanConfirm`),danger:!0})&&(s(!0),t?.send?.({type:`worktree.cleanup`}))},title:r?e(`activity:worktree.cleanButtonTitle`):i,className:`inline-flex shrink-0 items-center gap-1 rounded bg-warning px-2 py-1 font-medium text-primary-foreground hover:bg-warning/90 disabled:cursor-not-allowed disabled:opacity-50`,children:[o?(0,Z.jsx)(mr,{className:`h-3.5 w-3.5 animate-spin`}):(0,Z.jsx)(un,{className:`h-3.5 w-3.5`}),e(`activity:worktree.cleanConfirm`)]})]}):null,a&&(0,Z.jsx)(`div`,{className:a.ok?`mt-1 text-success`:`mt-1 text-destructive`,children:a.ok?e(`activity:worktree.removed`,{count:a.removed}):`✗ ${a.reason??e(`activity:worktree.cleanupFailed`)}`})]})}var U_={goal:{active:`bg-primary/12 border-primary/40 text-primary shadow-sm`,idle:`text-primary/80 hover:bg-primary/10`},"goal-state":{active:`bg-destructive/10 border-destructive/35 text-destructive shadow-sm`,idle:`text-destructive/80 hover:bg-destructive/10`},fleet:{active:`bg-success/12 border-success/35 text-success shadow-sm`,idle:`text-success/80 hover:bg-success/10`},work:{active:`bg-warning/12 border-warning/35 text-warning shadow-sm`,idle:`text-warning/80 hover:bg-warning/10`},worktrees:{active:`bg-info/12 border-info/35 text-info shadow-sm`,idle:`text-info/80 hover:bg-info/10`},collab:{active:`bg-accent border-primary/25 text-accent-foreground shadow-sm`,idle:`text-muted-foreground hover:bg-muted/60`}},W_={goal:`Goal`,"goal-state":`Goal State`,fleet:`Fleet`,work:`Work`,worktrees:`Worktrees`,collab:`Collab`},G_=[`goal`,`goal-state`,`fleet`,`work`,`worktrees`,`collab`];function K_({section:e,icon:t,label:n,value:r,active:i,pulse:a,onClick:o}){let s=U_[e],{t:c}=H();return(0,Z.jsxs)(`button`,{type:`button`,onClick:o,title:c(i?`activity:dock.collapseChip`:`activity:dock.expandChip`,{label:n}),className:G(`flex items-center gap-2 h-7 px-2.5 rounded-md border text-xs font-medium shrink-0 transition-colors`,i?s.active:G(`border-border/40`,s.idle)),children:[(0,Z.jsx)(`span`,{className:G(a&&`animate-pulse`),children:t}),n,r&&(0,Z.jsx)(`span`,{className:`tabular-nums opacity-80`,children:r})]})}function q_(){let e=K(e=>e.dockSection),{t}=H(),n=K(e=>e.toggleDockSection),i=K(e=>e.hiddenChips),a=K(e=>e.toggleChipHidden),o=K(e=>e.dockCustomizeOpen),s=K(e=>e.setDockCustomizeOpen),c=P(),l=ga(e=>e.goal),u=ha(e=>e.phases.length),d=ha(e=>e.overallPercent),f=ha(e=>e.activePhaseId),p=va(e=>e.worktrees),m=j(e=>e.todos),h=z(e=>e.agents),g=r_(),_=(0,X.useMemo)(()=>Array.from(h.values()).filter(e=>r(e.sessionId,c)),[h,c]),v=_.length,y=(0,X.useMemo)(()=>_.filter(e=>e.status===`running`).length,[_]),b=m.filter(e=>e.status===`completed`).length,x=m.some(e=>e.status===`in_progress`),S=u>0,C=(0,X.useMemo)(()=>new Set(i),[i]),w={goal:S,"goal-state":l!==null,fleet:v>0,work:!0,worktrees:p.length>0,collab:!0},T={goal:(w.goal||e===`goal`)&&!C.has(`goal`),"goal-state":(w[`goal-state`]||e===`goal-state`)&&!C.has(`goal-state`),fleet:(w.fleet||e===`fleet`)&&!C.has(`fleet`),work:(w.work||e===`work`)&&!C.has(`work`),worktrees:(w.worktrees||e===`worktrees`)&&!C.has(`worktrees`),collab:(w.collab||e===`collab`)&&!C.has(`collab`)},E=e&&T[e]?e:null;return(0,Z.jsx)(`div`,{children:(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 rounded-lg border border-border/70 bg-card/70 px-2 py-1.5 shadow-sm`,children:[T.goal&&(0,Z.jsx)(K_,{section:`goal`,icon:(0,Z.jsx)(ji,{className:`h-3 w-3`}),label:t(`activity:dock.goal`),value:`${d}%`,active:!1,pulse:f!=null,onClick:()=>Oa(`goal`)}),T[`goal-state`]&&l&&(0,Z.jsx)(K_,{section:`goal-state`,icon:(0,Z.jsx)(ht,{className:`h-3 w-3`}),label:t(`activity:dock.goalState`),value:`${l.progress}%`,active:E===`goal-state`,pulse:l.goalState===`active`,onClick:()=>n(`goal-state`)}),T.fleet&&(0,Z.jsx)(K_,{section:`fleet`,icon:(0,Z.jsx)(Fi,{className:`h-3 w-3`}),label:t(`activity:dock.fleet`),value:`${y}/${v}`,active:E===`fleet`,pulse:y>0,onClick:()=>n(`fleet`)}),(0,Z.jsx)(K_,{section:`work`,icon:(0,Z.jsx)(qr,{className:`h-3 w-3`}),label:t(`activity:dock.work`),value:m.length>0?`${b}/${m.length}`:void 0,active:E===`work`,pulse:x,onClick:()=>n(`work`)}),T.worktrees&&(0,Z.jsx)(K_,{section:`worktrees`,icon:(0,Z.jsx)(wn,{className:`h-3 w-3`}),label:t(`activity:dock.worktrees`),value:String(p.length),active:E===`worktrees`,onClick:()=>n(`worktrees`)}),g&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{},className:`inline-flex h-8 max-w-full min-w-0 items-center gap-1.5 rounded-md border border-border/50 px-2.5 text-xs font-mono transition-colors hover:bg-muted/60 sm:h-7`,children:[(0,Z.jsx)(wn,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate font-semibold text-foreground`,children:g.branch}),g.ahead>0&&(0,Z.jsxs)(`span`,{className:`text-success`,title:t(`activity:dock.ahead`,{count:g.ahead}),children:[`↑`,g.ahead]}),g.behind>0&&(0,Z.jsxs)(`span`,{className:`text-warning`,title:t(`activity:dock.behind`,{count:g.behind}),children:[`↓`,g.behind]}),g.added>0&&(0,Z.jsxs)(`span`,{className:`text-success`,title:t(`activity:dock.linesAdded`,{count:g.added}),children:[`+`,g.added]}),g.deleted>0&&(0,Z.jsxs)(`span`,{className:`text-destructive`,title:t(`activity:dock.linesDeleted`,{count:g.deleted}),children:[`-`,g.deleted]}),g.untracked>0&&(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,title:t(`activity:dock.untrackedFiles`,{count:g.untracked}),children:[g.untracked,`?`]})]}),(0,Z.jsx)(K_,{section:`collab`,icon:(0,Z.jsx)(tr,{className:`h-3 w-3`}),label:t(`activity:dock.collab`),active:E===`collab`,onClick:()=>n(`collab`)}),(0,Z.jsxs)(eo,{open:o,onOpenChange:s,children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsx)(`button`,{type:`button`,title:t(`activity:dock.customizeTitle`),className:`ml-auto inline-flex items-center justify-center h-7 w-7 rounded-md border border-border/50 text-muted-foreground hover:bg-muted/60 transition-colors shrink-0`,children:(0,Z.jsx)(fi,{className:`h-3 w-3`})})}),(0,Z.jsxs)(io,{align:`end`,className:`w-44`,children:[(0,Z.jsx)(co,{children:t(`activity:dock.dockChips`)}),(0,Z.jsx)(lo,{}),G_.map(e=>(0,Z.jsx)(oo,{checked:!C.has(e),onCheckedChange:()=>a(e),onSelect:e=>e.preventDefault(),children:W_[e]},e))]})]})]})})}var J_={"goal-state":{titleKey:`activity:dock.goalState`,detailKey:`activity:dock.goalStateDetail`},fleet:{titleKey:`activity:dock.fleet`,detailKey:`activity:dock.fleetDetail`},work:{titleKey:`activity:dock.work`,detailKey:`activity:dock.workDetail`},worktrees:{titleKey:`activity:dock.worktrees`,detailKey:`activity:dock.worktreesDetail`},collab:{titleKey:`activity:dock.collab`,detailKey:`activity:dock.collabDetail`}};function Y_({sessionId:e}){let t=K(e=>e.dockSection),n=K(e=>e.setDockSection),r=K(e=>e.inspectorOpen),i=ga(e=>e.goal),a=va(e=>e.worktrees),o=va(e=>e.baseBranch),[s,c]=(0,X.useState)(`graph`),{t:l}=H(),u=t!==null&&t!==`goal`,d=u?t:null,f=d?J_[d]:null,p=r&&u?`sm:right-[min(680px,48vw)]`:``;return(0,X.useEffect)(()=>{if(!u)return;let e=e=>{e.key===`Escape`&&n(null)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[u,n]),(0,Z.jsxs)(`aside`,{id:`workspace-dock-inspector`,"data-testid":u?`workspace-dock-inspector`:void 0,"aria-hidden":!u,inert:!u||void 0,"aria-label":f?l(`activity:dock.inspectorNamed`,{name:l(f.titleKey)}):l(`activity:dock.inspector`),className:G(`fixed inset-y-0 right-0 z-40 flex w-[calc(100vw-3rem)] max-w-none flex-col overflow-hidden border-l border-border/80 bg-card/96 shadow-[-24px_0_64px_-36px_hsl(var(--shadow-color)/0.65)] backdrop-blur-xl transition-transform duration-200 sm:w-[min(680px,48vw)] sm:max-w-[680px]`,p,u?`translate-x-0`:`pointer-events-none translate-x-full`),children:[(0,Z.jsxs)(`header`,{className:`relative shrink-0 border-b border-border/70 bg-muted/20 px-4 py-3 pr-12`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-semibold text-foreground`,children:[(0,Z.jsx)(pt,{className:`h-4 w-4 text-primary`}),l(f?f.titleKey:`activity:dock.workspace`)]}),(0,Z.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:l(f?f.detailKey:`activity:dock.workspaceDetails`)}),(0,Z.jsx)(`button`,{type:`button`,"data-testid":`workspace-dock-inspector-close`,onClick:()=>n(null),className:`absolute right-3 top-3 inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,"aria-label":l(`activity:dock.closeWorkspaceInspector`),title:l(`activity:dock.closeWorkspaceInspector`),children:(0,Z.jsx)(hr,{className:`h-4 w-4`})})]}),(0,Z.jsxs)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain p-3 sm:p-4`,children:[d===`goal-state`&&(i?(0,Z.jsx)(d_,{goal:i}):(0,Z.jsx)(X_,{title:l(`activity:dock.noActiveGoal`),detail:l(`activity:dock.noActiveGoalDetail`)})),d===`fleet`&&(0,Z.jsx)(c_,{}),d===`worktrees`&&(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(`div`,{className:`flex items-center gap-2`,children:[`graph`,`lanes`].map(e=>(0,Z.jsx)(`button`,{type:`button`,onClick:()=>c(e),className:G(`rounded-md border px-2.5 py-1 text-xs capitalize transition-colors`,s===e?`border-primary/30 bg-primary/10 text-primary`:`border-border text-muted-foreground hover:text-foreground`),children:e},e))}),(0,Z.jsx)(H_,{}),s===`graph`?(0,Z.jsx)(I_,{worktrees:a,baseBranch:o||`HEAD`}):(0,Z.jsx)(B_,{worktrees:a,baseBranch:o||`HEAD`})]}),(0,Z.jsx)(`div`,{className:G(d===`work`?`block`:`hidden`),id:`panel-work`,children:(0,Z.jsx)(A_,{})}),(0,Z.jsx)(`div`,{className:G(d===`collab`?`block`:`hidden`),children:(0,Z.jsx)(o_,{sessionId:e})})]})]})}function X_({title:e,detail:t}){return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/70 bg-muted/20 px-3 py-2 text-xs`,children:[(0,Z.jsx)(`div`,{className:`font-medium text-foreground`,children:e}),(0,Z.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:t})]})}var Z_=(0,X.lazy)(()=>W(()=>import(`./AnalyticsDashboard-D7D5_bvf.js`).then(e=>({default:e.AnalyticsDashboard})),__vite__mapDeps([26,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22]))),Q_=(0,X.lazy)(()=>W(()=>import(`./AgentRosterView-xv5VajRi.js`).then(e=>({default:e.AgentRosterView})),__vite__mapDeps([27,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21,20,19,22,23,28,18,24,29,30,25,31,32,33,34,35]))),$_=(0,X.lazy)(()=>W(()=>import(`./ChangesView-4CP-bLYD.js`).then(e=>({default:e.ChangesView})),__vite__mapDeps([36,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,37,38]))),ev=(0,X.lazy)(()=>W(()=>import(`./ChronicleDashboard-BnNxX8Hc.js`).then(e=>({default:e.ChronicleDashboard})),__vite__mapDeps([39,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),tv=(0,X.lazy)(()=>W(()=>import(`./CodeEditor-FNYzhDcO.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([40,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19,20,21,22,23,37,38,41,31,33]))),nv=(0,X.lazy)(()=>W(()=>import(`./CodeMap-DA_k3u5g.js`).then(e=>({default:e.CodeMap})),__vite__mapDeps([42,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,19,24]))),rv=(0,X.lazy)(()=>W(()=>import(`./DebugDashboard-Hwt0OxYX.js`).then(e=>({default:e.DebugDashboard})),__vite__mapDeps([43,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),iv=(0,X.lazy)(()=>W(()=>import(`./DesignGalleryView-Ce2H_zeu.js`).then(e=>({default:e.DesignGalleryView})),__vite__mapDeps([44,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24]))),av=(0,X.lazy)(()=>W(()=>import(`./GoalView-DlS73sGV.js`).then(e=>({default:e.GoalView})),__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,31,46,25,32]))),ov=(0,X.lazy)(()=>W(()=>import(`./KanbanView-Cd77gXMT.js`).then(e=>({default:e.KanbanView})),__vite__mapDeps([47,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,25,28,18,23,24,48]))),sv=(0,X.lazy)(()=>W(()=>import(`./MailboxDetailView-B4hFbVk5.js`).then(e=>({default:e.MailboxDetailView})),__vite__mapDeps([49,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,22,23,37]))),cv=(0,X.lazy)(()=>W(()=>import(`./PromptJournalView-CXZ9notj.js`).then(e=>({default:e.PromptJournalView})),__vite__mapDeps([50,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),lv=(0,X.lazy)(()=>W(()=>import(`./RefreshDebugView-BYmeORMQ.js`).then(e=>({default:e.RefreshDebugView})),__vite__mapDeps([51,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21]))),uv=(0,X.lazy)(()=>W(()=>import(`./SageTabs-Co-5UcaG.js`).then(e=>({default:e.SageTabs})),__vite__mapDeps([52,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),dv=(0,X.lazy)(()=>W(()=>import(`./RequirementIntakeView-B5JjTm9k.js`).then(e=>({default:e.RequirementIntakeView})),__vite__mapDeps([53,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,31,32]))),fv=(0,X.lazy)(()=>W(()=>import(`./SddHub-DYAjEaqD.js`).then(e=>({default:e.SddHub})),__vite__mapDeps([54,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,25,31,28,48,55]))),pv=(0,X.lazy)(()=>W(()=>import(`./SessionsDashboard-wPcCBDIK.js`).then(e=>({default:e.SessionsDashboard})),__vite__mapDeps([56,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,57,46,25,31,32]))),mv=(0,X.lazy)(()=>W(()=>import(`./SessionInspectView-DVeF-pUQ.js`).then(e=>({default:e.SessionInspectView})),__vite__mapDeps([58,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,57,46,25,31,32]))),hv=(0,X.lazy)(()=>W(()=>import(`./SkillDetailView-DPqT3npD.js`).then(e=>({default:e.SkillDetailView})),__vite__mapDeps([59,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,25,37]))),gv=(0,X.lazy)(()=>W(()=>import(`./TechStackView-DLEi7aSX.js`).then(e=>({default:e.TechStackView})),__vite__mapDeps([60,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,0,16,21,19,22,31,32]))),_v=(0,X.lazy)(()=>W(()=>import(`./DeadCodeScanPanel-VnMQatbH.js`).then(e=>({default:e.DeadCodeScanPanel})),__vite__mapDeps([61,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),vv=(0,X.lazy)(()=>W(()=>import(`./ChimeraReviewsView-DZjw-bOC.js`).then(e=>({default:e.ChimeraReviewsView})),__vite__mapDeps([62,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,37])));function yv({sessionId:e,desktopShell:t}){let{t:n}=H(),{currentView:r,terminalOpen:i,setTerminalOpen:a}=K(Mn(e=>({currentView:e.currentView,terminalOpen:e.terminalOpen,setTerminalOpen:e.setTerminalOpen})));return(0,Z.jsxs)(Z.Fragment,{children:[e&&(0,Z.jsxs)(`div`,{className:G(`flex flex-col`,r!==`chat`&&`ws-view-parked`),...r===`chat`?{}:{inert:!0,"aria-hidden":!0},children:[(0,Z.jsx)(`div`,{className:`ws-workspace-dock-wrap shrink-0 px-3 pt-2 sm:px-4`,children:(0,Z.jsx)(q_,{})}),(0,Z.jsx)(yf,{})]}),(0,Z.jsx)(`div`,{className:G(`flex min-h-0 min-w-0 flex-1 flex-col`,r!==`chat`&&`ws-view-parked`),...r===`chat`?{}:{inert:!0,"aria-hidden":!0},children:(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.chat`),children:(0,Z.jsx)(Hp,{})})}),r===`settings`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.settings`),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(n_,{})})}),r===`memory`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.sageMemory`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.sageMemory`)})}),children:(0,Z.jsx)(uv,{})})}),r===`roster`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.agentRoster`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.agentRoster`)})}),children:(0,Z.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:(0,Z.jsx)(Q_,{})})})}),r===`context`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.contextDashboard`),children:(0,Z.jsx)(cm,{})}),r===`setup`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.setup`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(bv,{})})})}),r===`goal`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.goal`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(av,{onClose:()=>J(`chat`)})})})}),r===`sddhub`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.sddHub`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(fv,{})})})}),r===`kanban`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.kanban`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(ov,{onClose:()=>J(`chat`)})})})}),r===`sessions`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.sessions`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(pv,{})})})}),r===`session-inspect`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.sessionInspect`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.sessionInspect`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(mv,{})})})}),r===`chronicle`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.chronicle`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(ev,{})})})}),r===`intake`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.requirementsIntake`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(dv,{})})})}),r===`prompts`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:nav.prompts`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:nav.prompts`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(cv,{})})})}),r===`debug`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.debugDashboard`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(rv,{})})})}),r===`refresh-debug`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.refreshDebug`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(lv,{})})})}),r===`files`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.editor`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.editor`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(tv,{})})})}),r===`changes`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.changes`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.changes`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)($_,{className:`h-full min-h-0`})})})}),r===`mailbox`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.mailbox`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(sv,{className:`h-full min-h-0`})})})}),r===`design-gallery`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.designGallery`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(iv,{className:`h-full`})})})}),r===`skill`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.skill`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(hv,{className:`h-full`})})})}),r===`analytics`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.analytics`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(Z_,{})})})}),r===`codemap`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.codemap`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.codemap`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(nv,{})})})}),r===`techstack`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.techstack`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.techstack`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(gv,{})})})}),r===`deadcode`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.deadcode`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.deadcode`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-y-auto`,children:(0,Z.jsx)(_v,{})})})}),r===`chimera`&&(0,Z.jsx)(ms,{level:`panel`,name:`Chimera Reviews`,children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(vv,{})})})}),i&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.terminal`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.terminal`)})}),children:(0,Z.jsx)(xv,{desktopShell:t,onClose:()=>a(!1)})})})]})}var bv=(0,X.lazy)(()=>W(()=>import(`./SetupScreen-uhBHDZqD.js`).then(e=>({default:e.SetupScreen})),__vite__mapDeps([63,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,31,32]))),xv=(0,X.lazy)(()=>W(()=>import(`./TerminalPanel-DlIyvxm6.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([64,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,65,66])));function Sv(){let e=U(e=>e.wrongProxyEnabled),t=U(e=>e.wrongProxyUrl),[n,r]=(0,X.useState)(()=>({status:e?`checking`:`disabled`,latencyMs:null,url:t||`http://localhost:3444`}));return(0,X.useEffect)(()=>{if(!e||!t){r({status:`disabled`,latencyMs:null,url:t||`http://localhost:3444`});return}let n=!1,i=async()=>{let e=t.trim().replace(/\/+$/,``),i=`${e}/api/health`,a=Date.now(),o=new AbortController,s=setTimeout(()=>o.abort(),2e3);try{let t=await fetch(i,{method:`GET`,signal:o.signal,headers:{accept:`application/json`}});if(clearTimeout(s),n)return;let c=t.ok&&t.status>=200&&t.status<300;r({status:c?`connected`:`error`,latencyMs:Date.now()-a,url:e,error:c?void 0:`HTTP ${t.status}`})}catch(t){if(clearTimeout(s),n)return;r({status:`error`,latencyMs:Date.now()-a,url:e,error:t instanceof Error?t.message:`Unreachable`})}};i();let a=setInterval(()=>void i(),1e4);return()=>{n=!0,clearInterval(a)}},[e,t]),n}function Cv(){let e=U(e=>e.hqEnabled),t=U(e=>e.hqUrl),n=U(e=>e.hqToken),[r,i]=(0,X.useState)(()=>({status:e&&t?`checking`:`disabled`,latencyMs:null,url:t||``}));return(0,X.useEffect)(()=>{if(!e||!t){i({status:`disabled`,latencyMs:null,url:t||``});return}let r=!1,a=async()=>{let e=t.trim().replace(/\/+$/,``),a=`${e}/api/auth/status`,o=Date.now(),s=new AbortController,c=setTimeout(()=>s.abort(),2e3);try{let t={accept:`application/json`};n&&(t.Authorization=`Bearer ${n}`);let l=await fetch(a,{method:`GET`,signal:s.signal,headers:t});if(clearTimeout(c),r)return;let u=l.ok||l.status===401;i({status:u?`connected`:`error`,latencyMs:Date.now()-o,url:e,error:u?void 0:`HTTP ${l.status}`})}catch(t){if(clearTimeout(c),r)return;i({status:`error`,latencyMs:Date.now()-o,url:e,error:t instanceof Error?t.message:`Unreachable`})}};a();let o=setInterval(()=>void a(),1e4);return()=>{r=!0,clearInterval(o)}},[e,t,n]),r}function wv(){let e=xa(e=>e.snapshot),t=K(e=>e.setCronJobsOpen),n=e?.jobs??[],r=n.filter(e=>e.overdue).length,i=n.filter(e=>e.enabled&&!e.overdue).length,a=n.length;return a===0?null:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>t(!0),className:G(`relative inline-flex h-8 items-center gap-1.5 rounded-md border px-2 text-xs transition-colors`,r>0?`border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/15`:`border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`),title:`${a} cron job${a===1?``:`s`}${r>0?`, ${r} overdue`:``}`,children:[(0,Z.jsx)(xr,{className:`h-3.5 w-3.5`}),(0,Z.jsxs)(`span`,{className:`hidden lg:inline`,children:[i,`/`,a]}),r>0?(0,Z.jsx)(`span`,{className:`min-w-4 bg-destructive/15 px-1 text-[10px] font-semibold tabular-nums text-destructive`,children:r>99?`99+`:r}):null]})}function Tv(e,t){let n=Math.max(0,Date.now()-e),r=Math.floor(n/1e3);if(r<10)return t(`toasts:menu.justNow`,{defaultValue:`Just now`});if(r<60)return t(`toasts:menu.secondsAgo`,{count:r,defaultValue:`${r}s ago`});let i=Math.floor(r/60);if(i<60)return t(`toasts:menu.minutesAgo`,{count:i,defaultValue:`${i}m ago`});let a=Math.floor(i/60);if(a<24)return t(`toasts:menu.hoursAgo`,{count:a,defaultValue:`${a}h ago`});let o=Math.floor(a/24);return t(`toasts:menu.daysAgo`,{count:o,defaultValue:`${o}d ago`})}function Ev({variant:e}){return e===`success`?(0,Z.jsx)(ai,{className:`h-4 w-4 text-success shrink-0`}):e===`error`?(0,Z.jsx)(In,{className:`h-4 w-4 text-destructive shrink-0`}):e===`warn`?(0,Z.jsx)(zr,{className:`h-4 w-4 text-warning shrink-0`}):(0,Z.jsx)(Jt,{className:`h-4 w-4 text-info shrink-0`})}function Dv({item:e,onMarkAsRead:t,onRemove:n}){let{t:r}=H(),i=(0,X.useMemo)(()=>Tv(e.timestamp,r),[e.timestamp,r]),a=(0,X.useMemo)(()=>new Date(e.timestamp).toLocaleString(),[e.timestamp]);return(0,Z.jsxs)(`div`,{role:`menuitem`,tabIndex:0,onClick:()=>{e.read||t()},onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),e.read||t())},className:G(`group relative flex items-start gap-2.5 px-3 py-2.5 text-xs transition-colors cursor-pointer outline-none select-none`,`hover:bg-accent/50 focus-visible:bg-accent/60`,e.read?`opacity-85`:`bg-primary/[0.04]`),children:[(0,Z.jsx)(`div`,{className:`mt-0.5 shrink-0`,children:(0,Z.jsx)(Ev,{variant:e.variant})}),(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0 pr-1`,children:[(0,Z.jsx)(`div`,{className:G(`whitespace-pre-wrap break-words leading-relaxed text-foreground`,!e.read&&`font-medium`),children:e.message}),(0,Z.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-2 text-[10px] text-muted-foreground`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,title:a,children:[(0,Z.jsx)(yn,{className:`h-3 w-3 opacity-70`}),i]}),e.action&&(0,Z.jsx)(`button`,{type:`button`,onClick:n=>{n.stopPropagation(),e.action?.onClick(),t()},className:`font-medium text-primary hover:underline`,children:e.action.label})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[!e.read&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),t()},className:`rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-foreground`,title:r(`toasts:menu.markAsRead`,{defaultValue:`Mark as read`}),"aria-label":r(`toasts:menu.markAsRead`,{defaultValue:`Mark as read`}),children:(0,Z.jsx)(ai,{className:`h-3 w-3`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),n()},className:`rounded p-0.5 text-muted-foreground opacity-60 hover:opacity-100 hover:bg-destructive/10 hover:text-destructive transition-opacity`,title:r(`toasts:menu.remove`,{defaultValue:`Remove notification`}),"aria-label":r(`toasts:menu.remove`,{defaultValue:`Remove notification`}),children:(0,Z.jsx)(hr,{className:`h-3 w-3`})}),!e.read&&(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary shrink-0`,"aria-label":`Unread indicator`})]})]})}function Ov({defaultOpen:e,open:t,onOpenChange:n}={}){let{t:r}=H(),i=pe(e=>e.notifications),a=pe(e=>e.markAsRead),o=pe(e=>e.markAllAsRead),s=pe(e=>e.clearAll),c=pe(e=>e.removeNotification),[l,u]=(0,X.useState)(`all`),d=(0,X.useMemo)(()=>i.filter(e=>!e.read).length,[i]),f=(0,X.useMemo)(()=>l===`unread`?i.filter(e=>!e.read):i,[i,l]),p=(0,X.useCallback)(()=>{o()},[o]),m=(0,X.useCallback)(()=>{s()},[s]);return(0,Z.jsxs)(eo,{defaultOpen:e,open:t,onOpenChange:n,children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`notification-menu-trigger`,className:G(`relative inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground transition-colors hover:bg-accent/60 hover:text-foreground`,d>0&&`text-foreground`),title:d>0?`${r(`toasts:menu.title`,{defaultValue:`Notifications`})} (${d} ${r(`toasts:menu.unreadCount`,{count:d,defaultValue:`${d} unread`})})`:r(`toasts:menu.title`,{defaultValue:`Notifications`}),"aria-label":r(`toasts:menu.title`,{defaultValue:`Notifications`}),children:[d>0?(0,Z.jsx)(Ir,{className:`h-3.5 w-3.5 text-primary`}):(0,Z.jsx)(Gt,{className:`h-3.5 w-3.5`}),d>0&&(0,Z.jsx)(`span`,{"data-testid":`notification-badge`,className:`absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-destructive px-1 text-[10px] font-bold text-destructive-foreground shadow-sm`,children:d>99?`99+`:d})]})}),(0,Z.jsxs)(io,{align:`end`,sideOffset:6,className:`w-80 sm:w-96 max-w-[calc(100vw-1rem)] p-0 rounded-xl border border-border/80 bg-card/95 backdrop-blur-xl shadow-2xl overflow-hidden text-card-foreground`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/60 px-3.5 py-2.5 bg-muted/30`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`font-semibold text-xs text-foreground`,children:r(`toasts:menu.title`,{defaultValue:`Notifications`})}),d>0?(0,Z.jsxs)(`span`,{className:`rounded-full bg-primary/15 px-2 py-0.5 text-[10px] font-medium text-primary tabular-nums`,children:[d,` `,r(`toasts:menu.tabUnread`,{defaultValue:`Unread`}).toLowerCase()]}):null]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,disabled:d===0,onClick:p,className:`inline-flex items-center gap-1 rounded px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-accent/60 hover:text-foreground disabled:opacity-40 disabled:pointer-events-none`,title:r(`toasts:menu.markAllRead`,{defaultValue:`Mark all as read`}),children:[(0,Z.jsx)(Wr,{className:`h-3.5 w-3.5`}),(0,Z.jsx)(`span`,{children:r(`toasts:menu.markAllRead`,{defaultValue:`Mark all as read`})})]}),(0,Z.jsxs)(`button`,{type:`button`,disabled:i.length===0,onClick:m,className:`inline-flex items-center gap-1 rounded px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive disabled:opacity-40 disabled:pointer-events-none`,title:r(`toasts:menu.clearAll`,{defaultValue:`Clear all`}),children:[(0,Z.jsx)(Rt,{className:`h-3.5 w-3.5`}),(0,Z.jsx)(`span`,{children:r(`toasts:menu.clearAll`,{defaultValue:`Clear all`})})]})]})]}),(0,Z.jsxs)(`div`,{className:`flex border-b border-border/50 bg-background/50 px-3 py-1.5 gap-1.5 text-xs`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>u(`all`),className:G(`flex-1 rounded-md px-2.5 py-1 text-center font-medium transition-all`,l===`all`?`bg-accent text-accent-foreground shadow-xs`:`text-muted-foreground hover:bg-accent/50 hover:text-foreground`),children:[r(`toasts:menu.tabAll`,{defaultValue:`All`}),` (`,i.length,`)`]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>u(`unread`),className:G(`flex-1 rounded-md px-2.5 py-1 text-center font-medium transition-all`,l===`unread`?`bg-accent text-accent-foreground shadow-xs`:`text-muted-foreground hover:bg-accent/50 hover:text-foreground`),children:[r(`toasts:menu.tabUnread`,{defaultValue:`Unread`}),` (`,d,`)`]})]}),(0,Z.jsx)(`div`,{role:`list`,className:`max-h-[340px] overflow-y-auto divide-y divide-border/30`,"aria-label":r(`toasts:menu.title`,{defaultValue:`Notifications`}),children:f.length===0?(0,Z.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-4 py-8 text-center text-muted-foreground`,children:[(0,Z.jsx)(ke,{className:`h-7 w-7 text-muted-foreground/40 mb-2`}),(0,Z.jsx)(`p`,{className:`text-xs font-medium text-foreground`,children:l===`unread`&&i.length>0?r(`toasts:menu.allRead`,{defaultValue:`All caught up`}):r(`toasts:menu.empty`,{defaultValue:`No notifications`})}),(0,Z.jsx)(`p`,{className:`text-[11px] text-muted-foreground mt-0.5 max-w-[220px]`,children:l===`unread`&&i.length>0?r(`toasts:menu.allRead`,{defaultValue:`All caught up`}):r(`toasts:menu.emptyHint`,{defaultValue:`Toasts and system notifications will appear here.`})})]}):f.map(e=>(0,Z.jsx)(Dv,{item:e,onMarkAsRead:()=>a(e.id),onRemove:()=>c(e.id)},e.id))})]})]})}function kv(e){return e.split(`-`).map(e=>e.slice(0,1).toUpperCase()+e.slice(1)).join(` `)}function Av(e){return e>=1024**3?`${(e/1024**3).toFixed(1)} GB`:e>=1024**2?`${Math.round(e/1024**2)} MB`:e>=1024?`${Math.round(e/1024)} KB`:`${Math.round(e)} B`}function jv(){let[e,t]=(0,X.useState)(null);return(0,X.useEffect)(()=>{let e=!1,n=async()=>{try{let n=await fetch(`/debug/system`,{cache:`no-store`});if(!n.ok)return;let r=await n.json();!e&&Number.isFinite(r.memoryUsage?.rss)&&t(r)}catch{}};n();let r=window.setInterval(()=>void n(),5e3);return()=>{e=!0,window.clearInterval(r)}},[]),e}function Mv({currentView:e,projectName:n,sessionLabel:r,isLoading:i,iteration:a,onPalette:o,onSettings:s}){let{t:c}=H(),{theme:l,setTheme:u,palette:d,setPalette:f}=Du(),p=t(e=>e.wsConnected),m=j(e=>e.appVersion),h=j(e=>e.latestVersion),g=j(e=>e.updateAvailable),_=j(e=>e.droppedTools),v=l===`system`?typeof window<`u`&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:l,y=(0,X.useCallback)(()=>{u(v===`dark`?`light`:`dark`)},[v,u]),b=K(e=>e.toggleSidebar),x=Sv(),S=Cv(),C=x.status===`connected`?`WrongProxy: Connected${x.latencyMs==null?``:` (${x.latencyMs}ms)`} · ${x.url}`:x.status===`error`?`WrongProxy: Unreachable · ${x.url}${x.error?` (${x.error})`:``}`:x.status===`checking`?`WrongProxy: Checking · ${x.url}`:`WrongProxy: Disabled`,w=S.status===`connected`?`HQ: Connected${S.latencyMs==null?``:` (${S.latencyMs}ms)`} · ${S.url}`:S.status===`error`?`HQ: Unreachable · ${S.url}${S.error?` (${S.error})`:``}`:S.status===`checking`?`HQ: Checking · ${S.url}`:`HQ: Disabled`,T=jv(),E=T?T.memoryUsage.heapUsed/T.heapLimit:0,D=T?.codebaseIndexServer,O=D?.health,k=O?.server;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border/70 bg-card/85 px-2.5 py-1.5 shadow-sm backdrop-blur-xl md:hidden`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:b,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,"aria-label":`Toggle navigation menu`,title:`Toggle navigation`,children:(0,Z.jsx)(Zr,{className:`h-4 w-4`})}),(0,Z.jsx)(`div`,{className:`min-w-0`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`truncate text-xs font-semibold`,children:n||`WrongStack`}),(0,Z.jsx)(`span`,{className:`rounded bg-muted/60 px-1 py-0.5 text-[10px] text-muted-foreground font-mono`,children:kv(e)}),i&&(0,Z.jsx)(`span`,{className:`inline-flex items-center gap-0.5 text-[10px] font-medium text-primary`,children:(0,Z.jsx)(Fi,{className:`h-3 w-3 animate-pulse`})})]})})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Z.jsx)(Cc,{}),(0,Z.jsx)(Ov,{}),(0,Z.jsx)(`button`,{type:`button`,onClick:y,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:v===`dark`?`Switch to light theme`:`Switch to dark theme`,children:v===`dark`?(0,Z.jsx)(Xi,{className:`h-3.5 w-3.5`}):(0,Z.jsx)(di,{className:`h-3.5 w-3.5`})}),(0,Z.jsxs)(eo,{children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:`More options`,"aria-label":`More options`,children:(0,Z.jsx)(Ii,{className:`h-3.5 w-3.5`})})}),(0,Z.jsxs)(io,{align:`end`,className:`w-48`,children:[(0,Z.jsxs)(ao,{onSelect:o,className:`gap-2`,children:[(0,Z.jsx)(ft,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:c(`activity:topbar.command`)})]}),(0,Z.jsxs)(ao,{onSelect:s,className:`gap-2`,children:[(0,Z.jsx)(hi,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:c(`activity:topbar.settings`)})]}),(0,Z.jsxs)(`div`,{className:`border-t border-border/60 my-1 px-2 py-1 space-y-1 text-[11px] text-muted-foreground`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{children:`Backend WS`}),(0,Z.jsx)(`span`,{className:G(`font-mono font-medium`,p?`text-success`:`text-warning`),children:p?`Connected`:`Offline`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{children:`WrongProxy`}),(0,Z.jsx)(`span`,{className:G(`font-mono font-medium`,x.status===`connected`?`text-success`:x.status===`error`?`text-destructive`:`text-muted-foreground`),children:x.status===`connected`?`Connected`:x.status===`error`?`Offline`:`Disabled`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{children:`HQ`}),(0,Z.jsx)(`span`,{className:G(`font-mono font-medium`,S.status===`connected`?`text-success`:S.status===`error`?`text-destructive`:`text-muted-foreground`),children:S.status===`connected`?`Connected`:S.status===`error`?`Offline`:`Disabled`})]})]})]})]})]})]}),(0,Z.jsx)(`div`,{className:`hidden shrink-0 border-b border-border/70 bg-card/85 px-3 py-2 shadow-sm backdrop-blur-xl md:block`,children:(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:n||`WrongStack`}),m?(0,Z.jsxs)(`span`,{className:G(`inline-flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[11px] font-medium tabular-nums`,g&&h&&h!==m?`border-warning/40 bg-warning/10 text-warning`:`border-border/70 bg-muted/50 text-muted-foreground`),title:g&&h&&h!==m?`Update available: v${m} → v${h} — run wstack update`:`WrongStack v${m}`,children:[`v`,m,g&&h&&h!==m?(0,Z.jsxs)(`span`,{className:`text-[10px] opacity-80`,children:[`→ v`,h]}):null]}):null,(0,Z.jsx)(`span`,{className:`rounded-md border border-border/70 bg-muted/50 px-1.5 py-0.5 text-[11px] text-muted-foreground`,children:kv(e)}),(0,Z.jsxs)(`span`,{className:G(`inline-flex items-center gap-1 rounded-md px-1.5 py-0.5 text-[11px] font-medium`,i?`bg-primary/10 text-primary`:`bg-muted text-muted-foreground`),children:[i?(0,Z.jsx)(Fi,{className:`h-3 w-3 animate-pulse`}):(0,Z.jsx)(Et,{className:`h-3 w-3`}),i?`Running`:`Ready`,a?(0,Z.jsxs)(`span`,{className:`tabular`,children:[a.index,a.max>0?`/${a.max}`:``]}):null]}),(0,Z.jsx)(Cc,{showCountWhenZero:!0}),T?(0,Z.jsxs)(`span`,{className:G(`rounded-md border border-border/70 bg-muted/50 px-1.5 py-0.5 text-[11px] font-medium tabular-nums`,E>=.85?`text-destructive`:E>=.6?`text-warning`:`text-success`),title:`WebUI server PID ${T.pid} · heap ${Av(T.memoryUsage.heapUsed)} / ${Av(T.heapLimit)}`,children:[`RAM `,Av(T.memoryUsage.rss)]}):null,D?(0,Z.jsxs)(`span`,{className:G(`rounded-md border border-border/70 bg-muted/50 px-1.5 py-0.5 text-[11px] font-medium tabular-nums`,D.status===`connected`?`text-success`:D.status===`unresponsive`||D.status===`error`?`text-destructive`:D.status===`degraded`||D.status===`connecting`||D.status===`stopping`?`text-warning`:`text-muted-foreground`),title:[`Codebase index: ${O?.status??D.status}`,D.pid?`PID ${D.pid}`:null,O?.latencyMs==null?null:`RTT ${O.latencyMs}ms`,k?`RAM ${Av(k.memory.rss)}`:null,O?.missedHeartbeats?`missed ${O.missedHeartbeats}`:null].filter(Boolean).join(` · `),children:[`Index `,O?.status??D.status]}):null,_>0?(0,Z.jsxs)(`span`,{className:`rounded-md border border-warning/40 bg-warning/10 px-1.5 py-0.5 text-[11px] font-medium tabular-nums text-warning`,title:`${_} tool(s) dropped from provider requests due to maxTools limit`,children:[`-`,_,` tools`]}):null]}),(0,Z.jsx)(`div`,{className:`mt-0.5 truncate text-[11px] text-muted-foreground`,children:r||`No named session`})]})}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:o,className:`inline-flex h-8 items-center gap-1.5 rounded-md border border-border/70 bg-background/60 px-2 text-xs text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:c(`activity:topbar.commandPalette`),children:[(0,Z.jsx)(ft,{className:`h-3.5 w-3.5`}),c(`activity:topbar.command`)]}),(0,Z.jsx)(`button`,{type:`button`,onClick:y,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:v===`dark`?`Switch to light theme`:`Switch to dark theme`,children:v===`dark`?(0,Z.jsx)(Xi,{className:`h-3.5 w-3.5`}):(0,Z.jsx)(di,{className:`h-3.5 w-3.5`})}),(0,Z.jsxs)(eo,{children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:`${c(`settings:general.paletteSwitcherTitle`)}: ${c(ae(d).labelKey)}`,"aria-label":`${c(`settings:general.paletteSwitcherTitle`)}: ${c(ae(d).labelKey)}`,children:(0,Z.jsx)(Ie,{className:`h-3.5 w-3.5`})})}),(0,Z.jsxs)(io,{align:`end`,className:`w-56`,children:[(0,Z.jsx)(co,{children:c(`settings:general.paletteHeading`)}),he.map(e=>(0,Z.jsxs)(ao,{onSelect:()=>f(e.id),className:`gap-2`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 rounded-[3px] border border-border/70`,style:{background:`linear-gradient(90deg, ${e.swatch} 0 50%, ${e.swatchSecondary} 50% 100%)`}}),(0,Z.jsx)(`span`,{className:`flex-1`,children:c(e.labelKey)}),d===e.id?(0,Z.jsx)(ai,{className:`h-3.5 w-3.5 text-primary`,"aria-hidden":!0}):null]},e.id))]})]}),(0,Z.jsx)(wv,{}),(0,Z.jsx)(Ov,{}),(0,Z.jsx)(`button`,{type:`button`,onClick:s,className:G(`inline-flex h-8 w-8 items-center justify-center rounded-md border bg-background/60 transition-colors`,x.status===`connected`?`border-border/70 text-success hover:bg-accent/60`:x.status===`error`?`border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/20`:`border-border/50 text-muted-foreground/40 hover:text-muted-foreground hover:bg-accent/60`),title:C,"aria-label":C,"data-testid":`wrongproxy-status-button`,children:(0,Z.jsx)(Kr,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:s,className:G(`inline-flex h-8 w-8 items-center justify-center rounded-md border bg-background/60 transition-colors`,S.status===`connected`?`border-border/70 text-success hover:bg-accent/60`:S.status===`error`?`border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/20`:`border-border/50 text-muted-foreground/40 hover:text-muted-foreground hover:bg-accent/60`),title:w,"aria-label":w,"data-testid":`hq-status-button`,children:(0,Z.jsx)(dn,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`span`,{role:`status`,"aria-label":p?`Connected`:`Disconnected`,className:G(`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60`,p?`text-success`:`text-warning`),title:p?`Connected`:`Disconnected`,"data-testid":`ws-status-indicator`,children:p?(0,Z.jsx)(Jr,{className:`h-3.5 w-3.5`}):(0,Z.jsx)(Cr,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:s,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:c(`activity:topbar.settings`),children:(0,Z.jsx)(hi,{className:`h-3.5 w-3.5`})})]})]})})]})}(0,X.lazy)(()=>W(()=>import(`./AnalyticsDashboard-D7D5_bvf.js`).then(e=>({default:e.AnalyticsDashboard})),__vite__mapDeps([26,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22]))),(0,X.lazy)(()=>W(()=>import(`./CodeMap-DA_k3u5g.js`).then(e=>({default:e.CodeMap})),__vite__mapDeps([42,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,19,24]))),(0,X.lazy)(()=>W(()=>import(`./ChronicleDashboard-BnNxX8Hc.js`).then(e=>({default:e.ChronicleDashboard})),__vite__mapDeps([39,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),(0,X.lazy)(()=>W(()=>import(`./GoalView-DlS73sGV.js`).then(e=>({default:e.GoalView})),__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,31,46,25,32]))),(0,X.lazy)(()=>W(()=>import(`./ChangesView-4CP-bLYD.js`).then(e=>({default:e.ChangesView})),__vite__mapDeps([36,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,37,38])));var Nv=(0,X.lazy)(()=>W(()=>import(`./CronJobsPanel-BXqObet6.js`).then(e=>({default:e.CronJobsPanel})),__vite__mapDeps([67,1,2,3,4,5,6,7,8,9,10,11,12,13,14,20,0,15,16,21,19,22,25])));(0,X.lazy)(()=>W(()=>import(`./CodeEditor-FNYzhDcO.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([40,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19,20,21,22,23,37,38,41,31,33]))),(0,X.lazy)(()=>W(()=>import(`./DebugDashboard-Hwt0OxYX.js`).then(e=>({default:e.DebugDashboard})),__vite__mapDeps([43,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),(0,X.lazy)(()=>W(()=>import(`./DesignGalleryView-Ce2H_zeu.js`).then(e=>({default:e.DesignGalleryView})),__vite__mapDeps([44,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24]))),(0,X.lazy)(()=>W(()=>import(`./MailboxDetailView-B4hFbVk5.js`).then(e=>({default:e.MailboxDetailView})),__vite__mapDeps([49,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,22,23,37]))),(0,X.lazy)(()=>W(()=>import(`./SageTabs-Co-5UcaG.js`).then(e=>({default:e.SageTabs})),__vite__mapDeps([52,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),(0,X.lazy)(()=>W(()=>import(`./AgentRosterView-xv5VajRi.js`).then(e=>({default:e.AgentRosterView})),__vite__mapDeps([27,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21,20,19,22,23,28,18,24,29,30,25,31,32,33,34,35]))),(0,X.lazy)(()=>W(()=>import(`./KanbanView-Cd77gXMT.js`).then(e=>({default:e.KanbanView})),__vite__mapDeps([47,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,25,28,18,23,24,48]))),(0,X.lazy)(()=>W(()=>import(`./OfficeMapPanel-zAuziIkn.js`).then(e=>({default:e.OfficeMapPanel})),__vite__mapDeps([34,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,35])));var Pv=(0,X.lazy)(()=>W(()=>import(`./ProcessMonitor-Baj9b1_B.js`).then(e=>({default:e.ProcessMonitor})),__vite__mapDeps([17,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25]))),Fv=(0,X.lazy)(()=>W(()=>import(`./QueuePanel-DOcgHRH3.js`).then(e=>({default:e.QueuePanel})),__vite__mapDeps([68,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21,20,19,22,25])));(0,X.lazy)(()=>W(()=>import(`./RefreshDebugView-BYmeORMQ.js`).then(e=>({default:e.RefreshDebugView})),__vite__mapDeps([51,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21]))),(0,X.lazy)(()=>W(()=>import(`./SddHub-DYAjEaqD.js`).then(e=>({default:e.SddHub})),__vite__mapDeps([54,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,25,31,28,48,55]))),(0,X.lazy)(()=>W(()=>import(`./SessionsDashboard-wPcCBDIK.js`).then(e=>({default:e.SessionsDashboard})),__vite__mapDeps([56,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,57,46,25,31,32]))),(0,X.lazy)(()=>W(()=>import(`./SetupScreen-uhBHDZqD.js`).then(e=>({default:e.SetupScreen})),__vite__mapDeps([63,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,31,32]))),(0,X.lazy)(()=>W(()=>import(`./SkillDetailView-DPqT3npD.js`).then(e=>({default:e.SkillDetailView})),__vite__mapDeps([59,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,25,37]))),(0,X.lazy)(()=>W(()=>import(`./SpecsView-BEITfh6o.js`).then(e=>({default:e.SpecsView})),__vite__mapDeps([55,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,31]))),(0,X.lazy)(()=>W(()=>import(`./TechStackView-DLEi7aSX.js`).then(e=>({default:e.TechStackView})),__vite__mapDeps([60,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,0,16,21,19,22,31,32]))),(0,X.lazy)(()=>W(()=>import(`./TerminalPanel-DlIyvxm6.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([64,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,65,66])));function Iv(){let{t:e}=H(),{theme:n}=Du(),r=$i(),{currentView:i,sidebarOpen:a,toggleSidebar:o,setSearchOpen:s,setSidebarOpen:c,setInspectorTab:u,setPaletteOpen:d,setShortcutsOpen:f,setModelSwitcherOpen:p,setPromptLibraryOpen:m,toggleInspector:h,setFleetMonitorOpen:g,setAgentsMonitorOpen:_,processMonitorOpen:v,setProcessMonitorOpen:y,queuePanelOpen:b,setQueuePanelOpen:x,cronJobsOpen:C,setCronJobsOpen:w,setTerminalOpen:T}=K(Mn(e=>({currentView:e.currentView,sidebarOpen:e.sidebarOpen,toggleSidebar:e.toggleSidebar,setSearchOpen:e.setSearchOpen,setSidebarOpen:e.setSidebarOpen,setInspectorTab:e.setInspectorTab,setPaletteOpen:e.setPaletteOpen,setShortcutsOpen:e.setShortcutsOpen,setModelSwitcherOpen:e.setModelSwitcherOpen,setPromptLibraryOpen:e.setPromptLibraryOpen,toggleInspector:e.toggleInspector,setFleetMonitorOpen:e.setFleetMonitorOpen,setAgentsMonitorOpen:e.setAgentsMonitorOpen,processMonitorOpen:e.processMonitorOpen,setProcessMonitorOpen:e.setProcessMonitorOpen,queuePanelOpen:e.queuePanelOpen,setQueuePanelOpen:e.setQueuePanelOpen,cronJobsOpen:e.cronJobsOpen,setCronJobsOpen:e.setCronJobsOpen,setTerminalOpen:e.setTerminalOpen}))),E=q(e=>e.isLoading),D=q(e=>e.messages.length),O=be(e=>e.info),k=be(e=>e.promptedThisSession);(0,X.useEffect)(()=>{!O||O.chosen||O.variants.length!==0&&(D>0||k||be.getState().openPicker())},[O,D,k]);let A=j(e=>e.iteration),M=j(e=>e.projectName),ee=j(e=>e.session?.title),N=j(e=>e.session?.id),F=P()??N,te=K(e=>F?e.sessionNicknames[F]:void 0),ne=K(e=>e.sideContextBreakdownOpen),I=K(e=>e.setSideContextBreakdownOpen);z(e=>e.agents),Bo({setPaletteOpen:d,setSearchOpen:s,setShortcutsOpen:f,setModelSwitcherOpen:p,setPromptLibraryOpen:m,setFleetMonitorOpen:g,setAgentsMonitorOpen:_,setProcessMonitorOpen:y,setQueuePanelOpen:x,setCronJobsOpen:w,setTerminalOpen:T}),(0,X.useEffect)(()=>{typeof window>`u`||(window.location.pathname===`/debug`?Da(`debug`):window.location.pathname===`/analytics`?Da(`analytics`):window.location.pathname===`/refresh-debug`&&Da(`refresh-debug`))},[]),(0,X.useEffect)(()=>{let e=e=>{let{filePath:n}=e.detail;K.getState().setCurrentView(`files`);let r=B(t.getState().wsUrl);r&&r.send({type:`files.read`,payload:r.withSession({filePath:n})})};return window.addEventListener(`wrongstack:open-file`,e),()=>window.removeEventListener(`wrongstack:open-file`,e)},[]),(0,X.useEffect)(()=>{let e=e=>{let{filePath:n}=e.detail,r=S.getState().openFiles.find(e=>e.path===n);if(!r)return;let i=B(t.getState().wsUrl);i&&i.send({type:`files.write`,payload:i.withSession({filePath:n,content:r.content})})};return window.addEventListener(`wrongstack:save-file`,e),()=>window.removeEventListener(`wrongstack:save-file`,e)},[]);let{isMobile:L}=ea();(0,X.useEffect)(()=>{L&&K.getState().sidebarOpen&&c(!1)},[L,c]);let R=L&&a;return ta(),Wo(),Ho(),(0,X.useEffect)(()=>{let e=[];if(E){let t=A?` iter ${A.index}${A.max?`/${A.max}`:``}`:``;e.push(`●${t}`)}let t=te?.trim()||ee?.trim(),n=M?.trim();t&&e.push(t),n&&e.push(n),e.length===0&&e.push(n||`AI Agent`);let r=e.filter(Boolean).join(` · `);return document.title=r,()=>{document.title=M||`AI Agent`}},[E,A,M,ee,te]),Uo({toggleSidebar:o,setSearchOpen:s,toggleInspector:h,setInspectorTab:u}),(0,Z.jsxs)(`div`,{"data-shell":r?`desktop`:`browser`,className:G(`ws-app-root flex min-h-0 min-w-0 overflow-hidden`,r&&`ws-desktop-shell`,n),children:[(0,Z.jsx)(`a`,{href:`#main-content`,className:`sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-[100] focus:rounded-md focus:bg-background focus:px-3 focus:py-1.5 focus:text-sm focus:font-medium focus:shadow-lg focus:ring-2 focus:ring-primary`,children:e(`activity:app.skipToContent`)}),i!==`setup`&&(0,Z.jsx)(To,{desktopShell:r}),a&&i!==`setup`&&(0,Z.jsx)(Cu,{desktopShell:r}),(0,Z.jsxs)(`main`,{id:`main-content`,className:`flex-1 min-w-0 min-h-0 flex flex-col overflow-hidden bg-background/70`,...R?{inert:!0}:{},children:[i!==`setup`&&(0,Z.jsx)(Mv,{currentView:i,projectName:M,sessionLabel:te||ee||F||void 0,isLoading:E,iteration:A??null,onPalette:()=>d(!0),onSettings:()=>Oa(`settings`)}),i!==`setup`&&(0,Z.jsx)(`div`,{className:G(i!==`chat`&&`ws-view-parked`),...i===`chat`?{}:{inert:!0,"aria-hidden":!0},children:(0,Z.jsx)(Qc,{})}),i!==`setup`&&(0,Z.jsx)(rs,{}),i!==`setup`&&(0,Z.jsx)(ku,{}),(0,Z.jsx)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col`,children:(0,Z.jsx)(yv,{sessionId:F??null,desktopShell:r})})]}),i!==`setup`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.inspector`),children:(0,Z.jsx)(wc,{})}),F&&(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.workspaceInspector`),children:(0,Z.jsx)(Y_,{sessionId:F})})]}),v&&(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.processMonitor`),children:(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Pv,{open:v,onClose:()=>y(!1)})})}),b&&(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.queue`),children:(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Fv,{open:b,onClose:()=>x(!1)})})}),C&&(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.cronJobs`),children:(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Nv,{open:C,onClose:()=>w(!1)})})}),(0,Z.jsx)(Mc,{}),ne&&(0,Z.jsx)(fs,{open:ne,onClose:()=>I(!1)}),(0,Z.jsx)(es,{}),(0,Z.jsx)(wu,{}),(0,Z.jsx)(Va,{}),(0,Z.jsx)(ns,{}),(0,Z.jsx)(Ra,{}),(0,Z.jsx)(Ro,{}),(0,Z.jsx)(el,{}),(0,Z.jsx)(Uc,{}),(0,Z.jsx)(hs,{}),(0,Z.jsx)(l,{})]})}function Lv(){return(0,Z.jsx)(ms,{children:(0,Z.jsx)(Eu,{defaultTheme:`system`,children:(0,Z.jsx)(Iv,{})})})}qa.createRoot(d(document.getElementById(`root`))).render((0,Z.jsx)(X.StrictMode,{children:(0,Z.jsx)(Lv,{})}));export{eo as A,ys as C,_s as D,xs as E,ao as M,to as N,Yo as O,ic as S,bs as T,Du as _,wh as a,dc as b,mh as c,Up as d,Ap as f,Rf as g,Bf as h,Ch as i,io as j,qo as k,Xm as l,Kf as m,B_ as n,Sh as o,xp as p,I_ as r,hh as s,H_ as t,Cm as u,El as v,Ss as w,uc as x,Cl as y};
137
+ AWS_REGION=us-east-1`})]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:a(`settings:mcp.fieldDescription`)}),(0,Z.jsx)(Ia,{value:u,onChange:e=>d(e.target.value),placeholder:a(`settings:mcp.fieldDescriptionPlaceholder`)})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,id:`server-enabled`,checked:x,onChange:e=>S(e.target.checked),className:`rounded`}),(0,Z.jsx)(`label`,{htmlFor:`server-enabled`,className:`text-sm`,children:a(`settings:mcp.enableServer`)})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,id:`server-lazy`,checked:C,onChange:e=>w(e.target.checked),className:`rounded`}),(0,Z.jsxs)(`label`,{htmlFor:`server-lazy`,className:`text-sm`,children:[a(`settings:mcp.lazyConnect`),` `,(0,Z.jsx)(`span`,{className:`text-muted-foreground font-normal`,children:a(`settings:mcp.lazyConnectHint`)})]})]})]}),(0,Z.jsxs)(ja,{children:[(0,Z.jsx)(Y,{variant:`outline`,onClick:()=>t(!1),children:a(`common:action.cancel`)}),(0,Z.jsx)(Y,{onClick:T,children:a(E?`settings:mcp.saveChanges`:`settings:mcp.addServer`)})]})]})})}function ah({server:e,isAdded:t,onAdd:n}){let{t:r}=H();return(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-3 rounded-md border border-border/70 bg-card/70 p-3 transition-colors hover:bg-card`,children:[(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,Z.jsx)(`span`,{className:`font-medium text-sm`,children:e.name}),e.badge&&(0,Z.jsx)(Cm,{variant:`secondary`,className:`text-xs shrink-0`,children:e.badge}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-xs shrink-0`,children:e.transport})]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:e.description}),e.requiresEnvVars&&e.requiresEnvVars.length>0&&(0,Z.jsx)(`p`,{className:`mt-1 text-xs text-warning`,children:r(`settings:mcp.requires`,{vars:e.requiresEnvVars.join(`, `)})})]}),(0,Z.jsx)(`div`,{className:`shrink-0`,children:t?(0,Z.jsxs)(Y,{variant:`ghost`,size:`sm`,disabled:!0,children:[(0,Z.jsx)(ai,{className:`w-4 h-4 mr-1`}),r(`settings:mcp.added`)]}):(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:n,children:[(0,Z.jsx)(Ge,{className:`w-4 h-4 mr-1`}),r(`common:action.add`)]})})]})}function oh(){let e=aa(),{t}=H(),[n,r]=(0,X.useState)([]),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(`list`),[c,l]=(0,X.useState)(),[u,d]=(0,X.useState)(!1),[f,m]=(0,X.useState)(!1),[h,g]=(0,X.useState)(),[_,v]=(0,X.useState)(null);(0,X.useEffect)(()=>{if(!e.client)return;let t=e=>{if(e.type===`mcp.list`){let t=e.payload;r(t.servers??[]),a(!1)}},n=e=>{if(e.type===`mcp.server.added`){let t=e.payload;r(e=>[...e.filter(e=>e.name!==t.server.name),t.server]),p.success(V.t(`settings:mcp.toastAdded`,{name:t.server.name}))}},i=e=>{if(e.type===`mcp.server.removed`){let t=e.payload;r(e=>e.filter(e=>e.name!==t.name)),p.success(V.t(`settings:mcp.toastRemoved`,{name:t.name}))}},o=e=>{if(e.type===`mcp.server.updated`){let t=e.payload;r(e=>e.map(e=>e.name===t.server.name?t.server:e))}},s=e=>{if(e.type===`mcp.server.discovered`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`sleeping`,tools:t.tools}:e)),v(null),p.success(V.t(`settings:mcp.toastDiscovered`,{count:t.tools.length,name:t.name}))}},c=e=>{if(e.type===`mcp.server.sleeping`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`sleeping`}:e)),v(null),p.info(V.t(`settings:mcp.toastSleeping`,{name:t.name}))}},l=e=>{if(e.type===`mcp.server.waking`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`connecting`}:e))}},u=e=>{if(e.type===`mcp.server.connected`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`connected`,pid:t.pid,error:void 0,lastError:void 0}:e)),v(null),p.success(V.t(`settings:mcp.toastConnected`,{name:t.name}))}},d=e=>{if(e.type===`mcp.server.reconnected`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`connected`,error:void 0,lastError:void 0}:e)),v(null),p.success(V.t(`settings:mcp.toastReconnected`,{name:t.name}))}},f=e=>{if(e.type===`mcp.server.disconnected`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`error`,error:t.reason,lastError:t.reason,pid:void 0}:e)),v(null),p.warn(V.t(`settings:mcp.toastDisconnected`,{name:t.name,reason:t.reason}))}},m=e=>{if(e.type===`mcp.server.error`){let t=e.payload;r(e=>e.map(e=>e.name===t.name?{...e,status:`error`,error:t.error}:e)),v(null),p.error(V.t(`settings:mcp.toastError`,{name:t.name,error:t.error}))}},h=e=>{if(e.type===`mcp.operation_result`){let t=e.payload;t.success||p.error(t.message),v(null)}},g=e.client.on(`mcp.list`,t),_=e.client.on(`mcp.server.added`,n),y=e.client.on(`mcp.server.removed`,i),b=e.client.on(`mcp.server.updated`,o),x=e.client.on(`mcp.server.discovered`,s),S=e.client.on(`mcp.server.sleeping`,c),C=e.client.on(`mcp.server.waking`,l),w=e.client.on(`mcp.server.connected`,u),T=e.client.on(`mcp.server.error`,m),E=e.client.on(`mcp.operation_result`,h),D=e.client.on(`mcp.server.reconnected`,d),O=e.client.on(`mcp.server.disconnected`,f);return a(!0),e.client?.listMcpServers(),()=>{g?.(),_?.(),y?.(),b?.(),x?.(),S?.(),C?.(),w?.(),T?.(),E?.(),D?.(),O?.()}},[e.client]);let y=(0,X.useCallback)(t=>{e.client?.addMcpServer(t)},[e]),b=(0,X.useCallback)(e=>{g(eh(e,!1)),m(!0)},[]),x=(0,X.useCallback)(n=>{Ba({title:t(`settings:mcp.removeConfirmTitle`,{name:n}),message:t(`settings:mcp.removeConfirmBody`),confirmLabel:t(`common:action.remove`),danger:!0}).then(t=>{t&&e.client?.removeMcpServer(n)})},[e]),S=(0,X.useCallback)(e=>{l(e),g(void 0),d(!0)},[]),C=(0,X.useCallback)(t=>{e.client?.updateMcpServer(t)},[e]),w=(0,X.useCallback)(t=>{v(t),e.client?.wakeMcpServer(t)},[e]),T=(0,X.useCallback)(t=>{v(t),e.client?.sleepMcpServer(t)},[e]),E=(0,X.useCallback)(t=>{v(t),e.client?.discoverMcpServer(t)},[e]),D=(0,X.useCallback)(()=>{a(!0),e.client?.listMcpServers()},[e]),O=n.filter(e=>e.status===`connected`).length,k=n.filter(e=>e.status===`sleeping`).length,A=new Set(n.map(e=>e.name));return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Yn,{className:`h-5 w-5`})}),(0,Z.jsx)(`h2`,{className:`text-base font-semibold`,children:t(`settings:mcp.heading`)}),n.length>0&&(0,Z.jsx)(`span`,{className:`rounded-md border border-border/60 bg-muted/30 px-2 py-1 text-xs text-muted-foreground`,children:t(`settings:mcp.summary`,{connected:O,sleeping:k,total:n.length})})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:D,disabled:i,children:[i?(0,Z.jsx)(mr,{className:`w-4 h-4 animate-spin`}):null,t(`common:action.refresh`)]}),(0,Z.jsxs)(Y,{size:`sm`,onClick:()=>{g(void 0),m(!0)},children:[(0,Z.jsx)(Ge,{className:`w-4 h-4 mr-1`}),t(`settings:mcp.addCustom`)]})]})]}),(0,Z.jsxs)(ys,{value:o,onValueChange:e=>s(e),children:[(0,Z.jsxs)(bs,{children:[(0,Z.jsxs)(xs,{value:`recommended`,children:[(0,Z.jsx)(Tn,{className:`w-3.5 h-3.5 mr-1`}),t(`settings:mcp.tabRecommended`)]}),(0,Z.jsx)(xs,{value:`list`,children:t(`settings:mcp.tabServers`)}),(0,Z.jsx)(xs,{value:`add`,children:t(`settings:mcp.tabAddCustom`)})]}),(0,Z.jsxs)(Ss,{value:`recommended`,className:`space-y-3`,children:[(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t(`settings:mcp.recommendedBody`)}),(0,Z.jsx)(`div`,{className:`grid gap-2`,children:$m.map(e=>(0,Z.jsx)(ah,{server:e,isAdded:A.has(e.name),onAdd:()=>b(e)},e.name))})]}),(0,Z.jsx)(Ss,{value:`list`,className:`space-y-3`,children:i&&n.length===0?(0,Z.jsxs)(`div`,{className:`flex items-center justify-center py-8 text-muted-foreground`,children:[(0,Z.jsx)(mr,{className:`w-5 h-5 animate-spin mr-2`}),t(`settings:mcp.loadingServers`)]}):n.length===0?(0,Z.jsxs)(`div`,{className:`text-center py-8 text-muted-foreground`,children:[(0,Z.jsx)(Yn,{className:`w-10 h-10 mx-auto mb-2 opacity-50`}),(0,Z.jsx)(`p`,{children:t(`settings:mcp.noServers`)}),(0,Z.jsx)(`p`,{className:`text-sm`,children:t(`settings:mcp.noServersHint`)})]}):n.map(e=>(0,Z.jsx)(rh,{server:e,onWake:()=>w(e.name),onSleep:()=>T(e.name),onDiscover:()=>E(e.name),onEdit:()=>S(e),onRemove:()=>x(e.name)},e.name))}),(0,Z.jsx)(Ss,{value:`add`,children:(0,Z.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[(0,Z.jsx)(`p`,{children:t(`settings:mcp.addCustomBody`)}),(0,Z.jsx)(`p`,{className:`mt-1`,children:t(`settings:mcp.addCustomBodyHint`)})]})})]}),(0,Z.jsx)(ih,{open:f,onOpenChange:e=>{e||(m(!1),g(void 0))},prefillConfig:h,onSave:y}),(0,Z.jsx)(ih,{open:u,onOpenChange:d,server:c,onSave:C})]})}function sh({syncPref:e}){let{t}=H(),n=U();return(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Yn,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`settings:integrations.wrongProxyHeading`)})})]}),(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)($,{label:t(`settings:integrations.wrongProxyEnabledLabel`),hint:t(`settings:integrations.wrongProxyEnabledHint`),value:n.wrongProxyEnabled,onChange:()=>e(`wrongProxyEnabled`,!n.wrongProxyEnabled)}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:t(`settings:integrations.wrongProxyUrlLabel`)}),(0,Z.jsx)(Ia,{value:n.wrongProxyUrl,placeholder:`http://localhost:3444`,onChange:t=>e(`wrongProxyUrl`,t.target.value)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.wrongProxyUrlHint`)})]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.wrongProxyChangesApply`)})]})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Yn,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`settings:integrations.hqHeading`)})})]}),(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)($,{label:t(`settings:integrations.hqPublishingLabel`),hint:t(`settings:integrations.hqPublishingHint`),value:n.hqEnabled,onChange:()=>e(`hqEnabled`,!n.hqEnabled)}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:t(`settings:integrations.hqUrlLabel`)}),(0,Z.jsx)(Ia,{value:n.hqUrl,placeholder:t(`activity:integrationsSection.httpHost3499`),onChange:t=>e(`hqUrl`,t.target.value)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.hqUrlHint`)})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:t(`settings:integrations.hqTokenLabel`)}),(0,Z.jsx)(Ia,{type:`password`,value:n.hqToken,placeholder:t(`activity:integrationsSection.clientTokenFromWstackHq`),onChange:t=>e(`hqToken`,t.target.value)})]}),(0,Z.jsx)($,{label:t(`settings:integrations.hqRawContentLabel`),hint:t(`settings:integrations.hqRawContentHint`),value:n.hqRawContent,onChange:()=>e(`hqRawContent`,!n.hqRawContent)})]})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Yn,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`activity:integrationsSection.mcpServers`)})})]}),n.featureMcp?(0,Z.jsx)(oh,{}):(0,Z.jsxs)(`div`,{className:`text-center py-6 text-muted-foreground`,children:[(0,Z.jsx)(Yn,{className:`w-8 h-8 mx-auto mb-2 opacity-50`}),(0,Z.jsx)(`p`,{className:`text-sm`,children:t(`settings:mcp.disabled`)}),(0,Z.jsx)(`p`,{className:`text-xs mt-1`,children:t(`settings:integrations.disabledHint`)})]})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(ti,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`settings:integrations.telegramHeading`)})})]}),n.tgConfigured?(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)($,{label:t(`settings:integrations.telegramSessionEndLabel`),hint:t(`settings:integrations.telegramSessionEndHint`),value:n.tgSessionEnd,onChange:()=>e(`tgSessionEnd`,!n.tgSessionEnd)}),(0,Z.jsx)($,{label:t(`settings:integrations.telegramDelegateLabel`),hint:t(`settings:integrations.telegramDelegateHint`),value:n.tgDelegate,onChange:()=>e(`tgDelegate`,!n.tgDelegate)}),(0,Z.jsx)($,{label:t(`settings:integrations.telegramLongToolLabel`),hint:t(`settings:integrations.telegramLongToolHint`,{ms:n.tgLongToolMs}),value:n.tgLongToolMs>0,onChange:()=>e(`tgLongToolMs`,n.tgLongToolMs>0?0:3e4)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.telegramChangesApply`)})]}):(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`settings:integrations.telegramNotConfigured`)})]})]})}function ch({syncPref:e}){let{t}=H(),n=U();return(0,Z.jsx)(`div`,{className:`space-y-6`,children:(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Vi,{className:`h-5 w-5`})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:t(`settings:logs.heading`)})})]}),(0,Z.jsx)(Q,{label:t(`settings:logs.logLevelLabel`),hint:t(`settings:logs.logLevelHint`),value:n.logLevel,options:[{value:`debug`,label:t(`settings:logs.logLevelDebug`)},{value:`info`,label:t(`settings:logs.logLevelInfo`)},{value:`warn`,label:t(`settings:logs.logLevelWarn`)},{value:`error`,label:t(`settings:logs.logLevelError`)}],onChange:t=>e(`logLevel`,t)}),(0,Z.jsx)(Q,{label:t(`settings:logs.auditLevelLabel`),hint:t(`settings:logs.auditLevelHint`),value:n.auditLevel,options:[{value:`minimal`,label:t(`settings:logs.auditLevelMinimal`)},{value:`standard`,label:t(`settings:logs.auditLevelStandard`)},{value:`full`,label:t(`settings:logs.auditLevelFull`)}],onChange:t=>e(`auditLevel`,t)}),(0,Z.jsx)(Q,{label:t(`settings:logs.fsAccessLabel`),hint:t(`settings:logs.fsAccessHint`),value:n.fsAccess,options:[{value:`unrestricted`,label:t(`settings:logs.fsAccessUnrestricted`)},{value:`project`,label:t(`settings:logs.fsAccessProject`)}],onChange:t=>e(`fsAccess`,t)}),(0,Z.jsx)($,{label:t(`settings:logs.debugStreamLabel`),hint:t(`settings:logs.debugStreamHint`),value:n.debugStream,onChange:()=>e(`debugStream`,!n.debugStream)})]})})}function lh({syncPref:e}){let{t}=H(),n=U(e=>e.reasoningEffort),r=j(e=>e.reasoningEffortLevels),i=Bc(r,n).map(e=>({value:e,label:t(zc(e))}));return(0,Z.jsx)(`div`,{className:`mt-4 border-t border-border/60 pt-4`,children:(0,Z.jsx)(Q,{label:t(`settings:agent.reasoningEffortLabel`),hint:Vc(r,n)?t(`settings:agent.reasoningEffortUnsupported`,{levels:(r??[]).join(`, `)}):r?`${t(`settings:agent.reasoningEffortHint`)} (${t(`settings:agent.reasoningEffortModelSet`)})`:t(`settings:agent.reasoningEffortHint`),value:n,options:i,onChange:t=>e(`reasoningEffort`,t)})})}function uh({provider:e,catalogModels:n,currentCatalogProvider:r,isLoadingModels:i,isSwitching:a,setIsLoadingModels:o,onModelSelect:s,refreshModels:c}){let l=t(e=>e.model),{t:u}=H();return(0,Z.jsx)(`div`,{className:`space-y-4`,children:e?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium`,children:r?.name||e}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e})]}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:()=>{o(!0),c(e)},children:(0,Z.jsx)(Bi,{className:G(`h-4 w-4`,i&&`animate-spin`)})})]}),i&&!n[e]?(0,Z.jsxs)(`div`,{className:`flex items-center justify-center py-8`,children:[(0,Z.jsx)(mr,{className:`h-6 w-6 animate-spin text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:u(`settings:model.loading`)})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(um,{options:(n[e]||[]).map(e=>({id:e.id,label:e.name||e.id,badges:e.capabilities,detail:[e.contextWindow?`${Math.round(e.contextWindow/1e3)}k`:``,e.inputCost==null?``:`${e.inputCost}/${e.outputCost}`,e.reasoningEffortLevels?.length?`effort ${e.reasoningEffortLevels.join(`/`)}`:``].filter(Boolean).join(` · `),detailHighlight:!0})),selectedId:l,onSelect:s,disabled:a,emptyMessage:u(`settings:model.notFound`)}),a?(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:u(`settings:toast.switching`)}):null]})]}):(0,Z.jsxs)(`div`,{className:`text-center py-8 text-muted-foreground`,children:[(0,Z.jsx)(jr,{className:`h-8 w-8 mx-auto mb-2 opacity-50`}),(0,Z.jsx)(`p`,{children:u(`settings:model.selectProviderFirst`)})]})})}var dh=[{value:`off`,label:`Off`,hint:`The leader never changes its own tier.`},{value:`propose`,label:`Propose`,hint:`The leader asks before switching. Recommended.`},{value:`auto`,label:`Auto`,hint:`The leader switches on its own, still bounded by the guard rails below.`}],fh={};function ph({syncPref:e}){let t=U(),n=t.modelTiers??{},r=n.levels??{},i=n.routing??{},a=n.leader??{},o=Object.keys(r),s=Object.keys(t.fallbackProfiles??{}),[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(``),m=(0,X.useCallback)(t=>e(`modelTiers`,{...n,...t}),[e,n]),h=(0,X.useCallback)((t,i)=>e(`modelTiers`,{...n,levels:{...r,[t]:{...r[t]??{},...i}}}),[e,n,r]),g=(0,X.useCallback)(t=>{let a={...r};delete a[t];let o=Object.fromEntries(Object.entries(i).filter(([,e])=>e!==t));e(`modelTiers`,{...n,levels:a,routing:o})},[e,n,r,i]),_=()=>{let e=c.trim();!e||r[e]||(h(e,fh),l(``))},v=()=>{let e=u.trim();!e||!f||(m({routing:{...i,[e]:f}}),d(``),p(``))},y=e=>{let t={...i};delete t[e],m({routing:t})},b=e=>{let t=e.trim();if(!t)return;let n=Number.parseFloat(t);return Number.isFinite(n)&&n>=0?n:void 0};return(0,Z.jsxs)(`section`,{className:`space-y-3`,"data-testid":`model-tiers-section`,children:[(0,Z.jsxs)(`header`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(qi,{className:`h-4 w-4 text-muted-foreground`}),(0,Z.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:`Model cost tiers`}),(0,Z.jsxs)(`label`,{className:`ml-auto flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:n.enabled===!0,onChange:e=>m({enabled:e.target.checked}),"data-testid":`model-tiers-enabled`}),`Enabled`]})]}),(0,Z.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:`A tier binds a fallback profile, a spend budget and a runtime setting under one name, then routes work to it by role or phase. Subagents, Kanban dispatch and the leader all read this table. While disabled, everything resolves exactly as it did before tiers existed.`}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,Z.jsx)(`h4`,{className:`text-xs font-medium text-foreground`,children:`Levels`}),(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`Order is the ladder — the first row is the cheapest rung.`})]}),o.length===0&&(0,Z.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`No levels yet. Add one below, then point it at a fallback profile.`}),o.map((e,t)=>{let n=r[e]??{};return(0,Z.jsxs)(`div`,{className:`space-y-1.5 rounded-md border border-border bg-muted px-2 py-1.5`,"data-testid":`model-tier-row-${e}`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:t+1}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 break-words font-mono font-medium text-foreground`,children:e}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>g(e),className:`text-muted-foreground hover:text-destructive`,title:`Remove level`,"data-testid":`model-tier-remove-${e}`,children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,Z.jsxs)(`select`,{value:n.fallbackProfile??``,onChange:t=>h(e,{fallbackProfile:t.target.value||void 0}),className:`rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-profile-${e}`,children:[(0,Z.jsx)(`option`,{value:``,children:`profile: (none)`}),s.map(e=>(0,Z.jsxs)(`option`,{value:e,children:[`profile: `,e]},e))]}),(0,Z.jsx)(`input`,{type:`number`,min:0,step:`0.01`,value:n.maxCostUsd??``,onChange:t=>h(e,{maxCostUsd:b(t.target.value)}),placeholder:`max $`,className:`w-20 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-cost-${e}`}),(0,Z.jsx)(`input`,{type:`number`,min:0,value:n.maxIterations??``,onChange:t=>h(e,{maxIterations:b(t.target.value)}),placeholder:`iters`,className:`w-16 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`}),(0,Z.jsx)(`input`,{type:`number`,min:0,value:n.maxToolCalls??``,onChange:t=>h(e,{maxToolCalls:b(t.target.value)}),placeholder:`tools`,className:`w-16 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`})]}),n.maxCostUsd!==void 0&&(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Tightens a role's default budget down to this ceiling; it never raises one, and never overrides a budget passed explicitly to the spawn.`})]},e)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_()},placeholder:`new level name (e.g. budget)`,className:`min-w-0 flex-1 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-new-name`}),(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:_,disabled:!c.trim(),children:[(0,Z.jsx)(Ge,{className:`mr-1 h-3 w-3`}),` Add`]})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`h4`,{className:`text-xs font-medium text-foreground`,children:`Routing`}),Object.keys(i).length===0?(0,Z.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`No rules — everything uses the default tier`,n.default?` (${n.default})`:` (standard)`,`.`]}):(0,Z.jsx)(`ul`,{className:`space-y-1`,children:Object.entries(i).map(([e,t])=>(0,Z.jsxs)(`li`,{className:`flex items-center gap-1.5 rounded-md border border-border bg-muted px-2 py-1 text-[11px]`,"data-testid":`model-tier-route-${e}`,children:[(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1 break-words font-mono text-foreground`,children:[e,` → `,t]}),!r[t]&&(0,Z.jsx)(`span`,{className:`rounded-sm bg-warning/15 px-1 py-0.5 text-[10px] text-foreground`,children:`missing level`}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>y(e),className:`text-muted-foreground hover:text-destructive`,title:`Remove rule`,children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]},e))}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),placeholder:`role, phase, or *`,className:`min-w-0 flex-1 rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-new-route-key`}),(0,Z.jsxs)(`select`,{value:f,onChange:e=>p(e.target.value),className:`rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-new-route-tier`,children:[(0,Z.jsx)(`option`,{value:``,children:`tier…`}),o.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]}),(0,Z.jsx)(Y,{size:`sm`,variant:`outline`,onClick:v,disabled:!u.trim()||!f,children:(0,Z.jsx)(Ge,{className:`h-3 w-3`})})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[11px]`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`Default tier`}),(0,Z.jsxs)(`select`,{value:n.default??``,onChange:e=>m({default:e.target.value||void 0}),className:`rounded-sm border border-border bg-background px-1.5 py-0.5 text-[11px]`,"data-testid":`model-tier-default`,children:[(0,Z.jsx)(`option`,{value:``,children:`standard`}),o.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`h4`,{className:`text-xs font-medium text-foreground`,children:`Leader self-switching`}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:dh.map(e=>{let t=(a.mode??`propose`)===e.value;return(0,Z.jsx)(`button`,{type:`button`,title:e.hint,onClick:()=>m({leader:{...a,mode:e.value}}),className:t?`rounded-sm border border-primary bg-primary/10 px-2 py-0.5 text-[11px] text-foreground`:`rounded-sm border border-border bg-background px-2 py-0.5 text-[11px] text-muted-foreground hover:text-foreground`,"data-testid":`model-tier-leader-${e.value}`,children:e.label},e.value)})}),(0,Z.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:dh.find(e=>e.value===(a.mode??`propose`))?.hint}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 text-[11px]`,children:[(0,Z.jsxs)(`label`,{className:`flex items-center gap-1 text-muted-foreground`,children:[`dwell`,(0,Z.jsx)(`input`,{type:`number`,min:0,value:a.dwellTurns??``,onChange:e=>m({leader:{...a,dwellTurns:b(e.target.value)}}),placeholder:`6`,className:`w-14 rounded-sm border border-border bg-background px-1.5 py-0.5`,"data-testid":`model-tier-leader-dwell`}),`turns`]}),(0,Z.jsxs)(`label`,{className:`flex items-center gap-1 text-muted-foreground`,children:[`min saving $`,(0,Z.jsx)(`input`,{type:`number`,min:0,step:`0.01`,value:a.minSavingsUsd??``,onChange:e=>m({leader:{...a,minSavingsUsd:b(e.target.value)}}),placeholder:`0.10`,className:`w-16 rounded-sm border border-border bg-background px-1.5 py-0.5`})]}),(0,Z.jsxs)(`label`,{className:`flex items-center gap-1 text-muted-foreground`,children:[`ceiling`,(0,Z.jsxs)(`select`,{value:a.maxTier??``,onChange:e=>m({leader:{...a,maxTier:e.target.value||void 0}}),className:`rounded-sm border border-border bg-background px-1.5 py-0.5`,"data-testid":`model-tier-leader-ceiling`,children:[(0,Z.jsx)(`option`,{value:``,children:`none`}),o.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,Z.jsx)(`p`,{className:`text-[10px] leading-relaxed text-muted-foreground`,children:`A switch invalidates the prompt cache, so a downgrade is refused unless the projected saving over the dwell window covers re-reading the conversation on the new model. A downgrade into a context window the session no longer fits is refused outright.`})]})]})}function mh(){let e=(0,X.useRef)([]);return{setFieldRef:(0,X.useCallback)(t=>n=>{e.current[t]=n},[]),handleKeyDown:(0,X.useCallback)((t,n,r)=>{if(t.key===`ArrowDown`){t.preventDefault();for(let t=n+1;t<e.current.length;t++){let n=e.current[t];if(n&&!n.hasAttribute(`disabled`)&&n.getAttribute(`aria-disabled`)!==`true`){if(n.focus(),n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement){let e=n.value.length;n.setSelectionRange(e,e)}return}}return}if(t.key===`ArrowUp`){t.preventDefault();for(let t=n-1;t>=0;t--){let n=e.current[t];if(n&&!n.hasAttribute(`disabled`)&&n.getAttribute(`aria-disabled`)!==`true`){n.focus(),(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)&&n.setSelectionRange(n.value.length,n.value.length);return}}return}t.key===`Enter`&&r&&(t.preventDefault(),r())},[])}}function hh({models:e,onChange:n}){let{t:r}=H(),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)([]),[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(``),g=(0,X.useRef)(void 0),_=(0,X.useRef)(null),v=t(e=>e.wsUrl),y=(0,X.useCallback)(e=>{if(!e.trim()){l([]);return}d(!0);let t=B(v),n=t.on(`provider.models.search_result`,t=>{let n=t.payload;!n||n.query!==e.trim()||(l(n.matches??[]),d(!1))});t.searchProviderModels(e.trim(),8),setTimeout(()=>{n?.(),d(!1)},5e3)},[v]);(0,X.useEffect)(()=>{if(g.current&&clearTimeout(g.current),!o.trim()){l([]);return}return g.current=setTimeout(()=>y(o),250),()=>{g.current&&clearTimeout(g.current)}},[o,y]);let b=(0,X.useCallback)((t,r)=>{if(!t||e.some(e=>e.id===t))return;let i={id:t,name:r?.name??r?.modelId??t,...r?.maxOutput?{maxOutput:r.maxOutput}:{},capabilities:{...r?.contextWindow?{maxContext:r.contextWindow}:{},...r?.capabilities.includes(`tools`)?{tools:!0}:{},...r?.capabilities.includes(`vision`)?{vision:!0}:{},...r?.capabilities.includes(`reasoning`)?{reasoning:!0}:{}}};n([...e,i]),s(``),l([]),a(!1)},[e,n]),x=(0,X.useCallback)(t=>{n(e.filter(e=>e.id!==t))},[e,n]),S=(0,X.useCallback)(()=>{let e=m.trim();e&&(b(e),h(``),p(!1))},[m,b]);return(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`span`,{className:`text-[11px] font-medium text-muted-foreground block`,children:r(`setup:screen.custom.models`)}),e.length>0&&(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>(0,Z.jsxs)(`div`,{className:G(`group inline-flex items-center gap-1 px-2 py-1 text-xs rounded`,`bg-accent/10 text-accent border border-accent/20`),title:e.name&&e.name!==e.id?`${e.name}\n${e.capabilities?.maxContext?`maxContext: ${e.capabilities.maxContext}`:``}${e.maxOutput?`\nmaxOutput: ${e.maxOutput}`:``}`:void 0,children:[(0,Z.jsx)(`span`,{className:`truncate max-w-[120px]`,children:e.name&&e.name!==e.id?e.name:e.id}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>x(e.id),className:`opacity-0 group-hover:opacity-100 transition-opacity text-muted-foreground hover:text-destructive`,children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]},e.id))}),i?(0,Z.jsxs)(`div`,{className:`space-y-2 p-3 rounded border border-border/60 bg-muted/20`,children:[(0,Z.jsxs)(`div`,{className:`relative`,children:[(0,Z.jsx)(yi,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground`}),(0,Z.jsx)(Ia,{placeholder:r(`setup:screen.custom.modelSearchPlaceholder`),value:o,onChange:e=>s(e.target.value),className:`text-sm pl-8`,autoFocus:!0}),u&&(0,Z.jsx)(mr,{className:`absolute right-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 animate-spin text-muted-foreground`})]}),c.length>0&&(0,Z.jsx)(`div`,{className:`space-y-1 max-h-40 overflow-y-auto`,children:c.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>b(e.modelId,e),className:G(`w-full flex items-start gap-2 p-2 text-left text-xs rounded transition-colors`,`hover:bg-accent/10 border border-transparent hover:border-accent/30`),children:[(0,Z.jsx)(ai,{className:`h-3.5 w-3.5 mt-0.5 shrink-0 text-muted-foreground`}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`font-medium block truncate`,children:e.name}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground block`,children:[e.providerName,` · `,e.modelId,e.contextWindow?` · ${(e.contextWindow/1e3).toFixed(0)}K ctx`:``,e.maxOutput?` · ${e.maxOutput.toLocaleString()} out`:``]})]})]},`${e.providerId}\u0000${e.modelId}`))}),!u&&o.trim()&&c.length===0&&(0,Z.jsxs)(`div`,{className:`text-xs text-muted-foreground text-center py-2`,children:[r(`setup:screen.custom.noCatalogMatch`),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{p(!0),setTimeout(()=>_.current?.focus(),50)},className:`ml-1 text-accent underline underline-offset-2 hover:text-accent/80`,children:r(`setup:screen.custom.useCustomId`)})]}),f&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Ia,{ref:_,placeholder:r(`setup:screen.custom.customModelIdPlaceholder`),value:m,onChange:e=>h(e.target.value),className:`text-sm flex-1`,onKeyDown:e=>{e.key===`Enter`&&S()}}),(0,Z.jsxs)(Y,{type:`button`,size:`sm`,onClick:S,disabled:!m.trim(),children:[(0,Z.jsx)(ai,{className:`h-3.5 w-3.5 mr-1`}),r(`setup:screen.custom.add`)]})]}),(0,Z.jsx)(`div`,{className:`flex items-center gap-2 pt-1`,children:(0,Z.jsx)(Y,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>{a(!1),s(``),l([]),p(!1),h(``)},className:`text-xs`,children:r(`setup:screen.custom.cancel`)})})]}):(0,Z.jsxs)(Y,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>a(!0),className:`text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5 mr-1`}),r(`setup:screen.custom.addModel`)]}),e.length>0&&(0,Z.jsxs)(`p`,{className:`text-[10px] text-muted-foreground`,children:[e.length,` `,e.length===1?r(`setup:screen.custom.modelSingular`):r(`setup:screen.custom.modelPlural`)]})]})}function gh({maskedKey:e,className:t}){let{t:n}=H(),[r,i]=(0,X.useState)(!1),a=(0,X.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{i(!0),setTimeout(()=>i(!1),1500)})},[e]);return(0,Z.jsxs)(`div`,{className:G(`group flex items-center gap-1.5 rounded-md border border-border/50 bg-background/50 px-2 py-1 font-mono text-xs text-muted-foreground`,t),children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate tracking-wide`,children:e}),(0,Z.jsx)(`button`,{type:`button`,onClick:a,className:`shrink-0 rounded p-0.5 text-muted-foreground/50 opacity-0 transition-all hover:text-foreground group-hover:opacity-100 focus:opacity-100`,title:r?`Copied`:`Copy key preview`,"aria-label":n(`activity:apikeydisplay.copyApiKeyToClipboard`),children:r?(0,Z.jsx)(ai,{className:`h-3 w-3 text-success`}):(0,Z.jsx)(Vt,{className:`h-3 w-3`})})]})}var _h={openrouter:{id:`openrouter`,name:`OpenRouter (Metered)`,family:`openai-compatible`,baseUrl:`https://openrouter.ai/api/v1`,envVars:[`OPENROUTER_API_KEY`],models:[`openai/gpt-4o`,`openai/gpt-4o-mini`,`anthropic/claude-sonnet-4-20250514`,`google/gemini-2.0-flash-001`,`meta-llama/llama-4-scout`,`deepseek/deepseek-chat`],usage:`metered-api`,docsUrl:`https://openrouter.ai/docs/quickstart`,autoDiscover:!0,requestPolicy:`openrouter`,catalog:{description:`All models via one key`,icon:`🔀`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`sk-or-...`}},"kimi-for-coding":{id:`kimi-for-coding`,name:`Kimi Code (Subscription)`,family:`openai-compatible`,baseUrl:`https://api.kimi.com/coding/v1`,envVars:[`KIMI_API_KEY`],models:[`kimi-for-coding`,`kimi-for-coding-highspeed`],quirks:{thinkingParam:`kimi-toggle`},usage:`subscription-interactive`,docsUrl:`https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html`,requestPolicy:`kimi`,catalog:{description:`Personal interactive coding with the Kimi Code subscription key. Generate the API key at kimi.com/code/console.`,icon:`🌙`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`sk-...`}},moonshotai:{id:`moonshotai`,name:`Moonshot Platform (Metered)`,family:`openai-compatible`,baseUrl:`https://api.moonshot.ai/v1`,envVars:[`MOONSHOT_API_KEY`],models:[`kimi-k2.7-code`,`kimi-k2.7-code-highspeed`],quirks:{thinkingParam:`always-on`},usage:`metered-api`,docsUrl:`https://platform.kimi.ai/docs/api/overview`,requestPolicy:`kimi`,catalog:{description:`Metered Moonshot Platform API — pay-as-you-go for automation, background work, and commercial use.`,icon:`🌑`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`sk-...`}},"zai-coding-plan":{id:`zai-coding-plan`,name:`Z.AI Coding Plan (Subscription)`,family:`openai-compatible`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,envVars:[`ZHIPU_API_KEY`],models:[`glm-5.2`,`glm-5-turbo`,`glm-4.7`],quirks:{thinkingParam:`zai-glm`},usage:`subscription-interactive`,docsUrl:`https://docs.z.ai/devpack/quick-start`,requestPolicy:`zai`,catalog:{description:`Use your Z.AI Coding Plan subscription. Generate an API key from your Z.AI dashboard.`,icon:`🔷`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`...`}},zai:{id:`zai`,name:`Z.AI API (Metered)`,family:`openai-compatible`,baseUrl:`https://api.z.ai/api/paas/v4`,envVars:[`ZHIPU_API_KEY`],models:[`glm-4.7`,`glm-5-turbo`,`glm-5.2`],quirks:{thinkingParam:`zai-glm`},usage:`metered-api`,docsUrl:`https://docs.z.ai/guides/overview/quick-start`,requestPolicy:`zai`,catalog:{description:`Pay-as-you-go Z.AI GLM access for automation and commercial use.`,icon:`🔷`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`...`,referral:{code:`JQZ7TPPRA6`,reward:`Limited-time deal for GLM Coding Plan subscription`,url:`https://z.ai/subscribe?ic=JQZ7TPPRA6`}}},minimax:{id:`minimax`,name:`MiniMax Token Plan (Subscription)`,family:`openai-compatible`,baseUrl:`https://api.minimax.io/v1`,envVars:[`MINIMAX_API_KEY`],models:[`MiniMax-M3`,`MiniMax-M2.7`,`MiniMax-M2.5`,`MiniMax-M2`],usage:`subscription-interactive`,docsUrl:`https://platform.minimax.io/docs/api-reference/text-chat-openai`,catalog:{description:`Subscribe to one plan and unlock frontier coding, 1M context, and native multimodality.`,icon:`🔮`,color:`from-destructive/10 to-destructive/5 border-destructive/25 hover:border-destructive/45`,keyPlaceholder:`eyJ...`,referral:{code:`JrA4R9QAEn`,reward:`Friends get 10% off + Builder benefits. Referrers earn 10% cashback + community perks.`,url:`https://platform.minimax.io/subscribe/token-plan?code=JrA4R9QAEn&source=link`}}},mistral:{id:`mistral`,name:`Mistral AI API (Metered)`,family:`openai-compatible`,baseUrl:`https://api.mistral.ai/v1`,envVars:[`MISTRAL_API_KEY`],models:[`mistral-large-latest`,`codestral-latest`,`ministral-8b-latest`],usage:`metered-api`,docsUrl:`https://docs.mistral.ai/`,catalog:{description:`Mistral Large, Codestral, and Ministral — open-weight frontier models.`,icon:`🌬️`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`Vz8d...`}},deepseek:{id:`deepseek`,name:`DeepSeek API (Metered)`,family:`openai-compatible`,baseUrl:`https://api.deepseek.com`,envVars:[`DEEPSEEK_API_KEY`],models:[`deepseek-v4-flash`,`deepseek-v4-pro`],usage:`metered-api`,docsUrl:`https://api-docs.deepseek.com/`,requestPolicy:`deepseek`,catalog:{description:`High-performance reasoning at low cost`,icon:`🐋`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`sk-...`}},groq:{id:`groq`,name:`GroqCloud (Metered)`,family:`openai-compatible`,baseUrl:`https://api.groq.com/openai/v1`,envVars:[`GROQ_API_KEY`],models:[`llama-3.3-70b-versatile`,`llama-3.1-8b-instant`,`mixtral-8x7b-32768`,`gemma2-9b-it`],usage:`metered-api`,docsUrl:`https://console.groq.com/docs/api-reference`,requestPolicy:`groq`,catalog:{description:`Ultra-fast inference via LPU hardware — Llama, Mixtral, Gemma, and Qwen models.`,icon:`⚡`,color:`from-warning/12 to-warning/5 border-warning/30 hover:border-warning/50`,keyPlaceholder:`gsk_...`}},perplexity:{id:`perplexity`,name:`Perplexity Sonar API (Metered)`,family:`openai-compatible`,baseUrl:`https://api.perplexity.ai`,envVars:[`PERPLEXITY_API_KEY`],models:[`sonar-pro`,`sonar`,`sonar-reasoning-pro`,`sonar-reasoning`],usage:`metered-api`,docsUrl:`https://docs.perplexity.ai/`,requestPolicy:`perplexity`,catalog:{description:`Web-augmented chat models with built-in search and citations.`,icon:`🔍`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`pplx-...`}},"alibaba-token-plan":{id:`alibaba-token-plan`,name:`Alibaba Token Plan (Personal Edition)`,family:`openai-compatible`,baseUrl:`https://dashscope.aliyuncs.com/compatible-mode/v1`,envVars:[`ALIBABA_API_KEY`,`DASHSCOPE_API_KEY`],models:[`qwen3.8-max-preview`,`qwen3.7-max`,`qwen3.7-plus`,`qwen3.6-flash`,`glm-5.2`,`deepseek-v4-pro`,`wan2.7-image`,`wan2.7-image-pro`,`happyhorse-1.1-t2v`,`happyhorse-1.1-i2v`,`happyhorse-1.1-r2v`],customModels:{"qwen3.8-max-preview":{capabilities:{tools:!0,vision:!0,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"qwen3.7-max":{capabilities:{tools:!0,vision:!1,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"qwen3.7-plus":{capabilities:{tools:!0,vision:!0,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"qwen3.6-flash":{capabilities:{tools:!0,vision:!0,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"glm-5.2":{capabilities:{tools:!0,vision:!1,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!0,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"deepseek-v4-pro":{capabilities:{tools:!0,vision:!1,reasoning:!0,streaming:!0,systemPrompt:!0,jsonMode:!1,promptCache:!0,parallelTools:!0,cacheControl:`auto`}},"wan2.7-image":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}},"wan2.7-image-pro":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}},"happyhorse-1.1-t2v":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}},"happyhorse-1.1-i2v":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}},"happyhorse-1.1-r2v":{capabilities:{tools:!1,vision:!0,reasoning:!1,streaming:!0,systemPrompt:!1,jsonMode:!1,promptCache:!1,parallelTools:!1,cacheControl:`none`}}},usage:`subscription-interactive`,docsUrl:`https://www.alibabacloud.com/help/en/model-studio/token-plan-personal-overview`,requestPolicy:`alibaba`,catalog:{description:`Monthly Credits subscription for Qwen, DeepSeek, GLM, Wanx image, and HappyHorse video models.`,icon:`☁️`,color:`from-warning/12 to-warning/5 border-warning/30 hover:border-warning/50`,keyPlaceholder:`sk-...`}}};Object.keys(_h);var vh=[{id:`openai`,name:`OpenAI`,family:`openai`,envVars:[`OPENAI_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://platform.openai.com/api-keys`,catalog:{description:`GPT, o-series, and Codex models`,icon:`🤖`,color:`from-success/12 to-success/5 border-success/30 hover:border-success/50`,keyPlaceholder:`sk-...`}},{id:`anthropic`,name:`Anthropic`,family:`anthropic`,envVars:[`ANTHROPIC_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://console.anthropic.com/settings/keys`,catalog:{description:`Claude model access`,icon:`🧠`,color:`from-warning/12 to-warning/5 border-warning/30 hover:border-warning/50`,keyPlaceholder:`sk-ant-...`}},{id:`google`,name:`Google`,family:`google`,envVars:[`GOOGLE_GENERATIVE_AI_API_KEY`,`GEMINI_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://aistudio.google.com/apikey`,catalog:{description:`Gemini Pro, Flash, and Nano`,icon:`✨`,color:`from-info/12 to-info/5 border-info/30 hover:border-info/50`,keyPlaceholder:`AIza...`}},{id:`openai-codex`,name:`OpenAI Codex OAuth`,family:`openai-codex`,envVars:[],models:[],usage:`subscription-interactive`,docsUrl:`https://developers.openai.com/codex/`},{id:`anthropic-oauth`,name:`Anthropic OAuth`,family:`anthropic-oauth`,envVars:[],models:[],usage:`subscription-interactive`,docsUrl:`https://docs.anthropic.com/`},{id:`github-copilot`,name:`GitHub Copilot`,family:`github-copilot`,envVars:[],models:[],usage:`subscription-interactive`,docsUrl:`https://docs.github.com/en/copilot`},{id:`opencode-go`,name:`OpenCode Go`,family:`openai-compatible`,baseUrl:`https://opencode.ai/zen/go/v1`,envVars:[`OPENCODE_API_KEY`],models:[],usage:`subscription-interactive`,docsUrl:`https://opencode.ai/go?ref=6VZAER87H4`,catalog:{description:`Global hosted API for 75+ LLM providers — stable access from US, EU, and Singapore`,icon:`🌍`,color:`from-success/12 to-success/5 border-success/30 hover:border-success/50`,keyPlaceholder:`oc-...`,referral:{code:`6VZAER87H4`,reward:`Support the project by signing up with this referral link`,url:`https://opencode.ai/go?ref=6VZAER87H4`}}},{id:`xai`,name:`xAI`,family:`openai-compatible`,baseUrl:`https://api.x.ai/v1`,envVars:[`XAI_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://docs.x.ai/`,requestPolicy:`xai`},{id:`ai-gateway`,name:`Vercel AI Gateway`,family:`openai-compatible`,baseUrl:`https://ai-gateway.vercel.sh/v1`,discoveryOnlyBaseUrl:!0,envVars:[`AI_GATEWAY_API_KEY`],models:[],usage:`metered-api`,docsUrl:`https://vercel.com/docs/ai-gateway`,autoDiscover:!0,catalog:{description:`Every model behind one key — routed by Vercel AI Gateway`,icon:`▲`,color:`from-primary/12 to-primary/5 border-primary/30 hover:border-primary/50`,keyPlaceholder:`vck_...`}}],yh=[{id:`omniroute`,name:`OmniRoute`,family:`openai-compatible`,baseUrl:`http://localhost:20128/v1`,envVars:[],models:[],usage:`local`,quirks:{stripThinkTags:!0},autoDiscover:!0,local:{noAuth:!0,hint:`WrongStack local gateway · port 20128 · no key · auto-discovers models`}},{id:`ollama`,name:`Ollama`,family:`openai-compatible`,baseUrl:`http://localhost:11434/v1`,envVars:[],models:[],usage:`local`,docsUrl:`https://ollama.com`,local:{noAuth:!0,hint:`ollama.com · port 11434 · no key`}},{id:`vllm`,name:`vLLM`,family:`openai-compatible`,baseUrl:`http://localhost:8000/v1`,envVars:[],models:[],usage:`local`,docsUrl:`https://docs.vllm.ai`,local:{noAuth:!1,hint:`docs.vllm.ai · port 8000 · optional key`}},{id:`lmstudio`,name:`LM Studio`,family:`openai-compatible`,baseUrl:`http://localhost:1234/v1`,envVars:[],models:[],usage:`local`,docsUrl:`https://lmstudio.ai`,local:{noAuth:!1,hint:`lmstudio.ai · port 1234 · optional key`}}],bh=Object.fromEntries([...vh,...Object.values(_h),...yh].map(e=>[e.id,e]));function xh(){return yh.map(e=>{if(!e.baseUrl||!e.local)throw Error(`Local provider definition is incomplete: ${e.id}`);return{id:e.id,label:e.name,defaultBaseUrl:e.baseUrl,noAuth:e.local.noAuth,hint:e.local.hint}})}function Sh(){return Object.values(bh).filter(e=>e.catalog!==void 0).map(e=>({id:e.id,name:e.name,family:e.family,description:e.catalog.description,icon:e.catalog.icon,color:e.catalog.color,keyPlaceholder:e.catalog.keyPlaceholder,...e.docsUrl?{docsUrl:e.docsUrl}:{},...e.catalog.referral?{referral:{...e.catalog.referral}}:{}}))}var Ch=`openai-compatible`,wh=xh(),Th=[{kind:`chatgpt`,label:`ChatGPT`,subtitle:`Plus / Pro / Team → openai-codex`,icon:(0,Z.jsx)(Et,{className:`h-5 w-5`})},{kind:`claude`,label:`Claude`,subtitle:`Pro / Max → anthropic-oauth`,icon:(0,Z.jsx)(Fi,{className:`h-5 w-5`})},{kind:`copilot`,label:`GitHub Copilot`,subtitle:`Copilot → github-copilot`,icon:(0,Z.jsx)(ct,{className:`h-5 w-5`})}],Eh=[`awaiting_browser`,`awaiting_code`,`exchanging`,`fetching_models`];function Dh({ws:e,savedByKind:t}){let{t:n}=H(),[r,i]=(0,X.useState)({chatgpt:{phase:`idle`},claude:{phase:`idle`},copilot:{phase:`idle`}}),[a,o]=(0,X.useState)(``),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(null),[d,f]=(0,X.useState)(``),[m,h]=(0,X.useState)(null);(0,X.useEffect)(()=>{let t=e.on(`auth.oauth.status`,e=>{if(e.type!==`auth.oauth.status`)return;let t=e.payload;i(e=>({...e,[t.kind]:{...t}})),t.phase===`success`?(p.success(t.message??V.t(`settings:oauth.signedInToast`,{provider:t.providerId??t.kind})),c(null),o(``),u(null),f(``)):t.phase===`error`&&p.error(t.message??V.t(`settings:oauth.signInFailed`))});return()=>t?.()},[e]);let g=(0,X.useCallback)(t=>{i(e=>({...e,[t]:{phase:t===`copilot`?`awaiting_code`:`awaiting_browser`}})),e.startOAuth(t)},[e]),_=(0,X.useCallback)((t,n)=>{i(e=>({...e,[t]:{phase:t===`copilot`?`awaiting_code`:`awaiting_browser`}})),e.startOAuth(t,n)},[e]),v=(0,X.useCallback)(t=>{let n=d.trim();n&&(i(e=>({...e,[t]:{phase:t===`copilot`?`awaiting_code`:`awaiting_browser`}})),e.startOAuth(t,n),u(null),f(``))},[e,d]),y=(0,X.useCallback)(t=>{e.cancelOAuth(t),i(e=>({...e,[t]:{phase:`idle`}})),c(null)},[e]),b=(0,X.useCallback)(t=>{let n=a.trim();n&&(e.submitOAuthCode(t,n),i(e=>({...e,[t]:{...e[t],phase:`exchanging`}})))},[a,e]),x=t??{};return(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(`div`,{className:`rounded-md border border-warning/30 bg-warning/5 p-3`,children:(0,Z.jsx)(`p`,{className:`text-xs leading-5 text-warning`,children:n(`settings:oauth.termsWarning`)})}),(0,Z.jsx)(`div`,{className:`grid grid-cols-1 gap-2 lg:grid-cols-3`,children:Th.map(e=>{let t=r[e.kind],i=Eh.includes(t.phase),p=x[e.kind],S=p?.length??0,C=m===e.kind;return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-background/70 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 lg:flex-col lg:items-stretch`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:e.icon}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`div`,{className:`font-medium`,children:e.label}),(0,Z.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.subtitle})]})]}),i?(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>y(e.kind),className:`shrink-0 lg:w-full`,children:n(`common:action.cancel`)}):(0,Z.jsx)(Y,{size:`sm`,onClick:()=>g(e.kind),className:`shrink-0 lg:w-full`,children:n(`settings:oauth.signIn`)})]}),t.phase===`awaiting_browser`&&(0,Z.jsxs)(`div`,{className:`mt-3 space-y-2 border-t pt-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,Z.jsx)(mr,{className:`h-4 w-4 animate-spin text-muted-foreground`}),(0,Z.jsx)(`span`,{children:n(`settings:oauth.waitingBrowser`)})]}),t.authorizeUrl&&(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>window.open(t.authorizeUrl,`_blank`,`noopener,noreferrer`),children:[(0,Z.jsx)($n,{className:`h-3.5 w-3.5 mr-1`}),n(`settings:oauth.openSignIn`)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`button`,{type:`button`,className:`text-xs text-muted-foreground underline`,onClick:()=>c(s===e.kind?null:e.kind),children:t.bound===!1?n(`settings:oauth.pasteLoopbackBusy`):n(`settings:oauth.pasteCantReach`)}),s===e.kind&&(0,Z.jsxs)(`div`,{className:`mt-2 flex gap-2`,children:[(0,Z.jsx)(Ia,{placeholder:n(`activity:oauth.httpLocalhostCallbackCode`),value:a,onChange:e=>o(e.target.value),className:`font-mono text-xs`,onKeyDown:t=>{t.key===`Enter`&&b(e.kind)}}),(0,Z.jsx)(Y,{size:`sm`,onClick:()=>b(e.kind),disabled:!a.trim(),children:n(`settings:oauth.submit`)})]})]})]}),t.phase===`awaiting_code`&&(0,Z.jsxs)(`div`,{className:`mt-3 space-y-2 border-t pt-3`,children:[(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n(`settings:oauth.enterCode`)}),(0,Z.jsx)(`div`,{className:`font-mono text-2xl font-bold tracking-widest`,children:t.userCode??`…`}),t.verificationUri&&(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>window.open(t.verificationUri,`_blank`,`noopener,noreferrer`),children:[(0,Z.jsx)($n,{className:`h-3.5 w-3.5 mr-1`}),n(`settings:oauth.openVerification`)]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,Z.jsx)(mr,{className:`h-3.5 w-3.5 animate-spin`}),(0,Z.jsx)(`span`,{children:n(`settings:oauth.waitingCode`)})]})]}),(t.phase===`exchanging`||t.phase===`fetching_models`)&&(0,Z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t pt-3 text-sm`,children:[(0,Z.jsx)(mr,{className:`h-4 w-4 animate-spin text-muted-foreground`}),(0,Z.jsx)(`span`,{children:t.phase===`exchanging`?n(`settings:oauth.exchanging`):n(`settings:oauth.fetchingModels`)})]}),t.phase===`success`&&(0,Z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t pt-3 text-sm text-success`,children:[(0,Z.jsx)(wr,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:t.message??n(`settings:oauth.signedIn`)})]}),t.phase===`error`&&t.message&&(0,Z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t pt-3 text-sm text-destructive`,children:[(0,Z.jsx)(In,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:t.message})]}),S>0&&!i&&(0,Z.jsxs)(`div`,{className:`mt-3 border-t pt-3`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>h(C?null:e.kind),className:`flex w-full items-center justify-between text-xs text-muted-foreground hover:text-foreground transition-colors`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Z.jsx)(fn,{className:`h-3.5 w-3.5`}),(0,Z.jsx)(`span`,{children:n(`settings:oauth.accountCount`,{count:S})})]}),(0,Z.jsx)(`span`,{className:`text-[10px]`,children:C?`▲`:`▼`})]}),C&&p&&(0,Z.jsxs)(`div`,{className:`mt-2 space-y-1.5`,children:[p.map(t=>(0,Z.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border border-border/60 bg-muted/20 px-2.5 py-1.5`,children:[(0,Z.jsx)(`span`,{className:`min-w-0 truncate font-mono text-xs`,children:t.id}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[t.hasActiveKey?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[11px] text-success`,children:[(0,Z.jsx)(wr,{className:`h-3 w-3`}),n(`settings:oauth.active`)]}):(0,Z.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:n(`settings:oauth.inactive`)}),(0,Z.jsxs)(Y,{size:`sm`,variant:`ghost`,onClick:()=>_(e.kind,t.id),className:`h-6 px-1.5 text-[11px]`,title:n(`settings:oauth.retryLogin`),children:[(0,Z.jsx)(Bi,{className:`h-3 w-3 mr-0.5`}),n(`settings:oauth.retry`)]})]})]},t.id)),(0,Z.jsx)(`div`,{className:`pt-1`,children:l===e.kind?(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Ia,{autoFocus:!0,placeholder:n(`settings:oauth.aliasPlaceholder`,{default:e.kind===`chatgpt`?`openai-codex-1`:`${e.kind}-2`}),value:d,onChange:e=>f(e.target.value),className:`text-xs font-mono`,onKeyDown:t=>{t.key===`Enter`&&v(e.kind)}}),(0,Z.jsx)(Y,{size:`sm`,onClick:()=>v(e.kind),disabled:!d.trim(),children:n(`settings:oauth.signIn`)}),(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>{u(null),f(``)},children:n(`common:action.cancel`)})]}):(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>u(e.kind),className:`w-full text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5 mr-1`}),n(`settings:oauth.newAccount`)]})})]})]}),S===0&&!i&&(0,Z.jsx)(`div`,{className:`mt-3 border-t pt-3`,children:l===e.kind?(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Ia,{autoFocus:!0,placeholder:n(`settings:oauth.aliasPlaceholder`,{default:e.kind===`chatgpt`?`openai-codex-1`:`${e.kind}-2`}),value:d,onChange:e=>f(e.target.value),className:`text-xs font-mono`,onKeyDown:t=>{t.key===`Enter`&&v(e.kind)}}),(0,Z.jsx)(Y,{size:`sm`,onClick:()=>v(e.kind),disabled:!d.trim(),children:n(`settings:oauth.signIn`)}),(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>{u(null),f(``)},children:n(`common:action.cancel`)})]}):(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>u(e.kind),className:`w-full text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5 mr-1`}),n(`settings:oauth.newAccount`)]})})]},e.kind)})})]})}function Oh({open:e,providerId:t,modelCount:n,onConfirm:r,onCancel:i}){let a=(0,X.useRef)(null),{t:o}=H();return(0,X.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Enter`?(e.preventDefault(),r()):e.key===`Escape`&&(e.preventDefault(),i())};return window.addEventListener(`keydown`,t),a.current?.focus(),()=>window.removeEventListener(`keydown`,t)},[e,r,i]),(0,Z.jsx)(Fa,{open:e,onOpenChange:e=>{e||i()},children:(0,Z.jsxs)(Ma,{className:`sm:max-w-md border-warning/50`,ref:a,tabIndex:-1,"data-clear-allowlist-dialog":!0,children:[(0,Z.jsxs)(Aa,{children:[(0,Z.jsxs)(Na,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(zr,{className:`h-5 w-5 text-warning`}),o(`settings:allowlist.title`)]}),(0,Z.jsx)(Pa,{children:o(`settings:allowlist.body`,{count:n,provider:t})})]}),(0,Z.jsx)(`div`,{className:`rounded-md bg-muted/50 border border-border/60 px-3 py-2 text-xs text-muted-foreground`,children:o(`settings:allowlist.undoHint`)}),(0,Z.jsxs)(ja,{className:`gap-2 sm:gap-2 flex-wrap`,children:[(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:i,title:o(`settings:allowlist.keepTitle`),"data-action":`cancel`,children:[o(`common:action.cancel`),` `,(0,Z.jsx)(`kbd`,{className:`ml-1 text-[10px] border rounded px-1 bg-background`,children:`Esc`})]}),(0,Z.jsxs)(Y,{variant:`destructive`,size:`sm`,onClick:r,title:o(`settings:allowlist.clearTitle`),"data-action":`confirm`,children:[o(`settings:allowlist.clear`),` `,(0,Z.jsx)(`kbd`,{className:`ml-1 text-[10px] border rounded px-1 bg-background/80`,children:`↵`})]})]})]})})}function kh({ws:e,onSelect:t,onClose:n}){let{t:r}=H(),[i,a]=(0,X.useState)(``),[o,s]=(0,X.useState)([]),[c,l]=(0,X.useState)(!1),u=(0,X.useRef)(null),d=(0,X.useRef)(``);(0,X.useEffect)(()=>e.on(`provider.models.search_result`,e=>{if(e.type!==`provider.models.search_result`)return;let t=e.payload;(t.query===void 0||t.query===d.current)&&(s(t.matches??[]),l(!1))}),[e]);let f=(0,X.useCallback)(t=>{if(!t.trim()){s([]),d.current=``;return}d.current=t,l(!0),e.searchProviderModels(t,8)},[e]);(0,X.useEffect)(()=>(u.current&&clearTimeout(u.current),u.current=setTimeout(()=>f(i),300),()=>{u.current&&clearTimeout(u.current)}),[i,f]);let p=(0,X.useCallback)(e=>{let n={name:e.name,...e.description?{description:e.description}:{},...e.releaseDate?{release_date:e.releaseDate}:{},...e.contextWindow||e.maxOutput?{limit:{...e.contextWindow?{context:e.contextWindow}:{},...e.maxOutput?{output:e.maxOutput}:{}}}:{},...e.inputCost||e.outputCost?{cost:{...e.inputCost?{input:e.inputCost}:{},...e.outputCost?{output:e.outputCost}:{}}}:{},...e.capabilities.length>0?{tool_call:e.capabilities.includes(`tools`),reasoning:e.capabilities.includes(`reasoning`),...e.capabilities.includes(`vision`)?{modalities:{input:[`text`,`image`]}}:{}}:{}};t(e.modelId,n)},[t]);return(0,Z.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`absolute inset-0 bg-black/50`,onClick:n,"aria-label":r(`common:action.close`)}),(0,Z.jsxs)(`div`,{className:`relative max-h-[80vh] w-full max-w-xl overflow-y-auto rounded-lg border border-border bg-background p-4 shadow-lg`,children:[(0,Z.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:r(`settings:providerModels.catalogSearchTitle`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:n,className:`text-muted-foreground hover:text-foreground`,children:(0,Z.jsx)(hr,{className:`h-4 w-4`})})]}),(0,Z.jsxs)(`div`,{className:`relative mb-3`,children:[(0,Z.jsx)(yi,{className:`pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground/60`}),(0,Z.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:r(`settings:providerModels.catalogSearchPlaceholder`),className:`h-10 w-full rounded-md border border-border bg-background pl-9 pr-3 text-sm focus:outline-none focus:ring-1 focus:ring-ring`})]}),c?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Z.jsx)(mr,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):o.length>0?(0,Z.jsx)(`div`,{className:`space-y-1.5`,children:o.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>p(e),className:`block w-full rounded-md border border-border/60 p-2.5 text-left transition-colors hover:border-primary/40 hover:bg-primary/5`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-sm font-medium text-foreground`,children:e.modelId}),e.name!==e.modelId&&(0,Z.jsx)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:e.name})]}),(0,Z.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground`,children:e.providerName})]}),e.description&&(0,Z.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-xs text-muted-foreground`,children:e.description}),(0,Z.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-1.5`,children:[e.contextWindow?(0,Z.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:e.contextWindow>=1e6?`${(e.contextWindow/1e6).toFixed(1)}M ctx`:`${Math.round(e.contextWindow/1e3)}K ctx`}):null,e.capabilities.map(e=>(0,Z.jsx)(`span`,{className:`rounded bg-primary/10 px-1.5 py-0.5 text-[10px] text-primary`,children:e},e))]})]},`${e.providerId}:${e.modelId}`))}):i.trim()?(0,Z.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground`,children:r(`settings:providerModels.noResults`)}):(0,Z.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground`,children:r(`settings:providerModels.typeToSearch`)})]})]})}var Ah=new Set([`__proto__`,`constructor`,`prototype`,`__defineGetter__`,`__defineSetter__`,`__lookupGetter__`,`__lookupSetter__`]);`document`in globalThis&&Nt({jitless:!0});var jh=[`text`,`image`,`audio`,`video`,`pdf`],Mh=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],Nh=Wt().int().nonnegative(),Ph=Wt().finite(),Fh=Ue({context:Nh.optional(),output:Nh.optional(),input:Nh.optional()}),Ih=Ue({input:Ph.optional(),output:Ph.optional(),cache_read:Ph.optional(),cache_write:Ph.optional(),cache_write_5m:Ph.optional(),cache_write_1h:Ph.optional(),context_over_200k:Ph.optional(),reasoning:Ph.optional(),input_audio:Ph.optional(),output_audio:Ph.optional()}),Lh=Ue({input:Pi(Oe().min(1)).optional(),output:Pi(Oe().min(1)).optional()}),Rh=kr([Ue({type:Je(`toggle`)}),Ue({type:Je(`effort`),values:Pi(ze(Mh)).optional()}),Ue({type:Je(`budget_tokens`),min:Wt().optional(),max:Wt().optional()})]),zh=e=>({message:`${e} id is a forbidden prototype-pollution key`}),Bh=Ue({id:Oe().min(1).refine(e=>!Ah.has(e),zh(`Model`)),name:Oe().min(1),description:Oe().optional(),family:Oe().optional(),attachment:pn().optional(),reasoning:pn().optional(),reasoning_options:kr([Rh,Pi(Rh)]).optional(),interleaved:kr([pn(),Ue({field:Oe().optional()})]).optional(),tool_call:pn().optional(),structured_output:pn().optional(),temperature:pn().optional(),knowledge:Oe().optional(),release_date:Oe().optional(),last_updated:Oe().optional(),open_weights:pn().optional(),modalities:Lh.optional(),cost:Ih.optional(),limit:Fh.optional(),status:Oe().optional(),experimental:pn().optional()}),Vh=Ue({id:Oe().min(1).refine(e=>!Ah.has(e),zh(`Provider`)),name:Oe().min(1),env:Pi(Oe()).optional(),npm:Oe().optional(),api:Oe().optional(),doc:Oe().optional(),models:Fr(Oe(),Bh)});Fr(Oe(),Vh);function Hh(e,t){let n=t.limit,r=t.cost,i=t.modalities;return{id:e,name:t.name??``,description:t.description??``,family:t.family??``,limitContext:n?.context==null?``:String(n.context),limitOutput:n?.output==null?``:String(n.output),limitInput:n?.input==null?``:String(n.input),costInput:r?.input==null?``:String(r.input),costOutput:r?.output==null?``:String(r.output),inputModalities:Array.isArray(i?.input)?i.input:[],outputModalities:Array.isArray(i?.output)?i.output:[],toolCall:t.tool_call===!0,reasoning:t.reasoning===!0,temperature:t.temperature===!0,attachment:t.attachment===!0,structuredOutput:t.structured_output===!0,openWeights:t.open_weights===!0,releaseDate:t.release_date??``,lastUpdated:t.last_updated??``,knowledge:t.knowledge??``}}function Uh(e,t){let n={...t};e.name&&(n.name=e.name),e.description&&(n.description=e.description),e.family&&(n.family=e.family),e.knowledge&&(n.knowledge=e.knowledge);let r={};if(e.limitContext){let t=Number(e.limitContext);Number.isFinite(t)&&t>=0&&(r.context=t)}if(e.limitOutput){let t=Number(e.limitOutput);Number.isFinite(t)&&t>=0&&(r.output=t)}if(e.limitInput){let t=Number(e.limitInput);Number.isFinite(t)&&t>=0&&(r.input=t)}Object.keys(r).length>0&&(n.limit={...t.limit??{},...r});let i={};if(e.costInput){let t=Number(e.costInput);Number.isFinite(t)&&t>=0&&(i.input=t)}if(e.costOutput){let t=Number(e.costOutput);Number.isFinite(t)&&t>=0&&(i.output=t)}Object.keys(i).length>0&&(n.cost={...t.cost??{},...i});let a={};e.inputModalities.length>0&&(a.input=e.inputModalities),e.outputModalities.length>0&&(a.output=e.outputModalities),Object.keys(a).length>0&&(n.modalities={...t.modalities??{},...a});for(let[r,i]of[[`toolCall`,`tool_call`],[`reasoning`,`reasoning`],[`temperature`,`temperature`],[`attachment`,`attachment`],[`structuredOutput`,`structured_output`],[`openWeights`,`open_weights`]]){let a=t[i]===!0;e[r]!==a&&(n[i]=e[r])}return e.releaseDate&&(n.release_date=e.releaseDate),e.lastUpdated&&(n.last_updated=e.lastUpdated),n}var Wh=[{key:`toolCall`,labelKey:`settings:modelSchema.capToolCall`},{key:`reasoning`,labelKey:`settings:modelSchema.capReasoning`},{key:`temperature`,labelKey:`settings:modelSchema.capTemperature`},{key:`attachment`,labelKey:`settings:modelSchema.capAttachment`},{key:`structuredOutput`,labelKey:`settings:modelSchema.capStructuredOutput`},{key:`openWeights`,labelKey:`settings:modelSchema.capOpenWeights`}];function Gh({providerId:e,modelId:t,initialModelsDev:n,onSave:r,onCancel:i}){let{t:a}=H(),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(()=>Hh(t,n)),[u,d]=(0,X.useState)([]),[f,p]=(0,X.useState)(JSON.stringify({...n,...t?{id:t}:{}},null,2)),[m,h]=(0,X.useState)(null),g=(0,X.useCallback)((e,t)=>{l(n=>({...n,[e]:t}))},[]),_=(0,X.useCallback)((e,t)=>{l(n=>{let r=n[e];return{...n,[e]:r.includes(t)?r.filter(e=>e!==t):[...r,t]}})},[]),v=(0,X.useCallback)(()=>{let e=Uh(c,n),i=Bh.safeParse({...e,id:c.id||t});if(!i.success){d(i.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`));return}d([]),r(c.id||t,e)},[c,n,t,r]),y=(0,X.useCallback)(()=>{try{let e=JSON.parse(f),n=Bh.safeParse({...e,id:t||e.id});if(!n.success){h(n.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `));return}let{id:i,...a}=n.data;h(null),r(t||n.data.id,a)}catch(e){h(e instanceof Error?e.message:String(e))}},[f,t,r]),b=`h-8 w-full rounded-md border border-border bg-background px-2.5 text-sm focus:outline-none focus:ring-1 focus:ring-ring`,x=`mb-1 block text-[11px] font-medium uppercase tracking-wide text-muted-foreground`;return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex gap-1 border-b border-border/50`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>s(!1),className:G(`border-b-2 px-3 py-1 text-xs font-medium transition-colors`,o?`border-transparent text-muted-foreground hover:text-foreground`:`border-primary text-primary`),children:a(`settings:providerModels.tabForm`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>s(!0),className:G(`border-b-2 px-3 py-1 text-xs font-medium transition-colors`,o?`border-primary text-primary`:`border-transparent text-muted-foreground hover:text-foreground`),children:a(`settings:providerModels.tabRawJson`)})]}),o?(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`textarea`,{value:f,onChange:e=>p(e.target.value),rows:16,className:`w-full rounded-md border border-border bg-muted/20 p-2 font-mono text-xs`,spellCheck:!1}),m&&(0,Z.jsx)(`p`,{className:`text-xs text-destructive`,children:m})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionIdentity`)}),!t&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-id`,children:`ID`}),(0,Z.jsx)(`input`,{id:`mse-id`,className:b,value:c.id,onChange:e=>g(`id`,e.target.value),placeholder:a(`activity:modelSchema.modelId`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-name`,children:a(`settings:providerModels.fieldName`)}),(0,Z.jsx)(`input`,{id:`mse-name`,className:b,value:c.name,onChange:e=>g(`name`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-desc`,children:a(`settings:providerModels.fieldDescription`)}),(0,Z.jsx)(`input`,{id:`mse-desc`,className:b,value:c.description,onChange:e=>g(`description`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-family`,children:a(`settings:providerModels.fieldFamily`)}),(0,Z.jsx)(`input`,{id:`mse-family`,className:b,value:c.family,onChange:e=>g(`family`,e.target.value)})]})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionLimits`)}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-3 gap-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-ctx`,children:a(`settings:providerModels.fieldContext`)}),(0,Z.jsx)(`input`,{id:`mse-ctx`,type:`number`,className:b,value:c.limitContext,onChange:e=>g(`limitContext`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-out`,children:a(`settings:providerModels.fieldOutput`)}),(0,Z.jsx)(`input`,{id:`mse-out`,type:`number`,className:b,value:c.limitOutput,onChange:e=>g(`limitOutput`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-inlim`,children:a(`settings:providerModels.fieldInputLimit`)}),(0,Z.jsx)(`input`,{id:`mse-inlim`,type:`number`,className:b,value:c.limitInput,onChange:e=>g(`limitInput`,e.target.value)})]})]})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionPricing`)}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-costin`,children:a(`settings:providerModels.fieldCostInput`)}),(0,Z.jsx)(`input`,{id:`mse-costin`,type:`number`,step:`0.01`,className:b,value:c.costInput,onChange:e=>g(`costInput`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-costout`,children:a(`settings:providerModels.fieldCostOutput`)}),(0,Z.jsx)(`input`,{id:`mse-costout`,type:`number`,step:`0.01`,className:b,value:c.costOutput,onChange:e=>g(`costOutput`,e.target.value)})]})]})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionModalities`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{className:x,children:a(`settings:providerModels.fieldInputModalities`)}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:jh.map(e=>{let t=c.inputModalities.includes(e);return(0,Z.jsx)(`button`,{type:`button`,onClick:()=>_(`inputModalities`,e),className:G(`rounded-md border px-2 py-1 text-xs transition-colors`,t?`border-primary bg-primary/10 text-primary`:`border-border text-muted-foreground hover:border-primary/30`),children:e},`in-mod-${e}`)})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{className:x,children:a(`settings:providerModels.fieldOutputModalities`)}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:jh.map(e=>{let t=c.outputModalities.includes(e);return(0,Z.jsx)(`button`,{type:`button`,onClick:()=>_(`outputModalities`,e),className:G(`rounded-md border px-2 py-1 text-xs transition-colors`,t?`border-primary bg-primary/10 text-primary`:`border-border text-muted-foreground hover:border-primary/30`),children:e},`out-mod-${e}`)})})]})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionCapabilities`)}),(0,Z.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:Wh.map(({key:e,labelKey:t})=>(0,Z.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,className:`h-4 w-4 rounded border-border`,checked:c[e],onChange:t=>g(e,t.target.checked)}),a(t)]},String(e)))})]}),(0,Z.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,Z.jsx)(`legend`,{className:`text-xs font-semibold text-foreground`,children:a(`settings:providerModels.sectionDates`)}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-release`,children:a(`settings:providerModels.fieldReleaseDate`)}),(0,Z.jsx)(`input`,{id:`mse-release`,type:`date`,className:b,value:c.releaseDate,onChange:e=>g(`releaseDate`,e.target.value)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:x,htmlFor:`mse-updated`,children:a(`settings:providerModels.fieldLastUpdated`)}),(0,Z.jsx)(`input`,{id:`mse-updated`,type:`date`,className:b,value:c.lastUpdated,onChange:e=>g(`lastUpdated`,e.target.value)})]})]})]}),u.length>0&&(0,Z.jsx)(`div`,{className:`rounded-md border border-destructive/30 bg-destructive/5 p-2`,children:(0,Z.jsx)(`ul`,{className:`space-y-0.5 text-xs text-destructive`,children:u.map((e,t)=>(0,Z.jsx)(`li`,{children:e},t))})})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border/50 pt-3`,children:[(0,Z.jsxs)(Y,{type:`button`,variant:`ghost`,size:`sm`,onClick:i,className:`h-8 gap-1.5 text-xs`,children:[(0,Z.jsx)(hr,{className:`h-3.5 w-3.5`}),a(`common:action.cancel`)]}),(0,Z.jsxs)(Y,{type:`button`,size:`sm`,onClick:o?y:v,className:`h-8 gap-1.5 text-xs`,children:[(0,Z.jsx)(ai,{className:`h-3.5 w-3.5`}),a(`common:action.save`)]})]})]})}function Kh(e,t){return e.map(e=>{let n=t?.[e],r=n?.modelsDev,i=!!(n&&(n.name||n.maxOutput||n.capabilities||r));return{modelId:e,name:r?.name??n?.name??e,modelsDev:r,maxOutput:n?.maxOutput??r?.limit?.output,capabilities:n?.capabilities,source:i?`overridden`:`catalog`}})}function qh(e){let t=e?.limit?.context;if(typeof t==`number`&&t>0)return t>=1e6?`${(t/1e6).toFixed(1)}M`:`${Math.round(t/1e3)}K`}function Jh(e){let t=e?.cost,n=e=>typeof e==`number`&&e>=0?`$${e}`:void 0;return{input:n(t?.input),output:n(t?.output)}}function Yh(e){let t=e?.modalities;return{input:Array.isArray(t?.input)?t.input:[],output:Array.isArray(t?.output)?t.output:[]}}var Xh={text:Tr,image:Me,audio:Vn,video:Wi,pdf:Tr};function Zh({providerId:e,models:t,customModels:n,ws:r,pickedModelId:i,onPickModel:a}){let{t:o}=H(),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),[m,h]=(0,X.useState)(``),g=(0,X.useMemo)(()=>Kh(t,n),[t,n]),_=(0,X.useMemo)(()=>{let e=m.trim().toLowerCase();return e?g.filter(t=>t.modelId.toLowerCase().includes(e)||(t.name?.toLowerCase().includes(e)??!1)):g},[g,m]),v=(0,X.useCallback)(t=>{r.removeCustomModel(e,t),p.success(o(`settings:providerModels.modelRemoved`,{model:t}))},[r,e,o]),y=(0,X.useCallback)((t,n)=>{r.setCustomModel(e,t,{modelsDev:n}),c(null),p.success(o(`settings:providerModels.modelSaved`,{model:t}))},[r,e,o]),b=(0,X.useCallback)((t,n)=>{r.setCustomModel(e,t,{modelsDev:n}),u(!1),p.success(o(`settings:providerModels.modelAdded`,{model:t}))},[r,e,o]);return(0,Z.jsxs)(`div`,{className:`space-y-3`,"data-model-list-editor":e,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:()=>u(!0),className:`h-8 gap-1.5 text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),o(`settings:providerModels.addFromCatalog`)]}),(0,Z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:()=>f(!0),className:`h-8 gap-1.5 text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),o(`settings:providerModels.addCustom`)]})]}),g.length>0&&(0,Z.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border/70`,children:[g.length>8&&(0,Z.jsxs)(`div`,{className:`relative border-b border-border/40 bg-muted/10`,children:[(0,Z.jsx)(yi,{className:`pointer-events-none absolute left-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground/60`}),(0,Z.jsx)(`input`,{type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:o(`settings:providerModels.filterPlaceholder`),"aria-label":o(`settings:providerModels.filterPlaceholder`),className:`h-8 w-full bg-transparent pl-9 pr-3 text-xs text-foreground placeholder:text-muted-foreground/50 focus:outline-none focus:ring-1 focus:ring-ring`})]}),(0,Z.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:(0,Z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{className:`border-b border-border/70 bg-muted/30 text-left text-[11px] uppercase tracking-wide text-muted-foreground`,children:[(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colModel`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colContext`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colOutput`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colCost`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colModalities`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colCaps`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2 font-medium`,children:o(`settings:providerModels.colSource`)}),(0,Z.jsx)(`th`,{className:`px-3 py-2`,"aria-label":o(`settings:providerModels.colActions`)})]})}),(0,Z.jsx)(`tbody`,{children:_.map(t=>{let n=qh(t.modelsDev),r=t.maxOutput??t.modelsDev?.limit?.output,l=typeof r==`number`?r.toLocaleString():void 0,u=Jh(t.modelsDev),d=Yh(t.modelsDev),f=t.capabilities,p=s===t.modelId;return(0,Z.jsxs)(X.Fragment,{children:[(0,Z.jsxs)(`tr`,{className:`border-b border-border/40 transition-colors hover:bg-muted/20`,children:[(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-xs font-medium text-foreground`,children:t.modelId}),t.name&&t.name!==t.modelId&&(0,Z.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:t.name})]})}),(0,Z.jsx)(`td`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:n?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,Z.jsx)(yn,{className:`h-3 w-3`}),n]}):(0,Z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`—`})}),(0,Z.jsx)(`td`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:l?(0,Z.jsx)(`span`,{children:l}):(0,Z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`—`})}),(0,Z.jsx)(`td`,{className:`px-3 py-2 text-xs`,children:u.input||u.output?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-muted-foreground`,children:[(0,Z.jsx)(We,{className:`h-3 w-3`}),u.input&&u.output?`${u.input}/${u.output}`:u.input??u.output]}):(0,Z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`—`})}),(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[d.input.map(e=>{let t=Xh[e]??Tr;return(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 rounded bg-primary/10 px-1 py-0.5 text-[10px] text-primary`,title:`input: ${e}`,children:[(0,Z.jsx)(t,{className:`h-2.5 w-2.5`}),e]},`in-${e}`)}),d.output.map(e=>(0,Z.jsx)(`span`,{className:`inline-flex items-center gap-0.5 rounded bg-secondary/20 px-1 py-0.5 text-[10px] text-secondary-foreground`,title:`output: ${e}`,children:e},`out-${e}`))]})}),(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsxs)(`div`,{className:`flex gap-1`,children:[f?.tools&&(0,Z.jsx)(si,{className:`h-3.5 w-3.5 text-muted-foreground`,"aria-label":o(`activity:modelListEditor.tools`)}),f?.reasoning&&(0,Z.jsx)(Qn,{className:`h-3.5 w-3.5 text-muted-foreground`,"aria-label":o(`activity:modelListEditor.reasoning`)}),f?.vision&&(0,Z.jsx)(Ai,{className:`h-3.5 w-3.5 text-muted-foreground`,"aria-label":o(`activity:modelListEditor.vision`)})]})}),(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsx)(`span`,{className:G(`inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium`,t.source===`custom`&&`bg-warning/10 text-warning`,t.source===`catalog`&&`bg-info/10 text-info`,t.source===`overridden`&&`bg-primary/10 text-primary`),children:t.source})}),(0,Z.jsx)(`td`,{className:`px-3 py-2`,children:(0,Z.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[a&&(t.modelId===i?(0,Z.jsx)(`span`,{className:`inline-flex items-center rounded p-1 text-primary`,title:o(`settings:providerModels.usingModel`,{model:t.modelId}),role:`img`,"aria-label":o(`settings:providerModels.usingModel`,{model:t.modelId}),children:(0,Z.jsx)(ai,{className:`h-3.5 w-3.5`})}):(0,Z.jsx)(`button`,{type:`button`,onClick:()=>a(e,t.modelId),className:`rounded p-1 text-muted-foreground transition-colors hover:bg-primary/10 hover:text-primary`,"aria-label":o(`settings:providerModels.useModel`,{model:t.modelId}),title:o(`settings:providerModels.useModel`,{model:t.modelId}),children:(0,Z.jsx)(ai,{className:`h-3.5 w-3.5`})})),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>c(p?null:t.modelId),className:`rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,"aria-label":o(`settings:providerModels.editModel`,{model:t.modelId}),children:(0,Z.jsx)(Mr,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>v(t.modelId),className:`rounded p-1 text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive`,"aria-label":o(`settings:providerModels.removeModel`,{model:t.modelId}),children:(0,Z.jsx)(Rt,{className:`h-3.5 w-3.5`})})]})})]}),p&&(0,Z.jsx)(`tr`,{className:`border-b border-border/40 bg-muted/10`,children:(0,Z.jsx)(`td`,{colSpan:8,className:`p-3`,children:(0,Z.jsx)(Gh,{providerId:e,modelId:t.modelId,initialModelsDev:t.modelsDev??{},onSave:y,onCancel:()=>c(null)})})},`${t.modelId}-edit`)]},t.modelId)})})]})})]}),g.length===0&&(0,Z.jsx)(`div`,{className:`rounded-lg border border-dashed border-border/50 p-8 text-center`,children:(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:o(`settings:providerModels.emptyState`)})}),l&&(0,Z.jsx)(kh,{ws:r,onSelect:b,onClose:()=>u(!1)}),d&&(0,Z.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`absolute inset-0 bg-black/50`,onClick:()=>f(!1),"aria-label":o(`common:action.close`)}),(0,Z.jsxs)(`div`,{className:`relative max-h-[80vh] w-full max-w-2xl overflow-y-auto rounded-lg border border-border bg-background p-4 shadow-lg`,children:[(0,Z.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:o(`settings:providerModels.addCustomTitle`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>f(!1),className:`text-muted-foreground hover:text-foreground`,children:(0,Z.jsx)(hr,{className:`h-4 w-4`})})]}),(0,Z.jsx)(Gh,{providerId:e,modelId:``,initialModelsDev:{},onSave:y,onCancel:()=>f(!1)})]})]})]})}function Qh(){return{inFlight:!1,last:null,picked:null}}function $h(e){return{providerId:e.providerId,ok:e.ok,status:e.status,...e.httpStatus===void 0?{}:{httpStatus:e.httpStatus},...e.elapsedMs===void 0?{}:{elapsedMs:e.elapsedMs},...e.modelCount===void 0?{}:{modelCount:e.modelCount},...e.modelIds===void 0?{}:{modelIds:e.modelIds},...e.detail===void 0?{}:{detail:e.detail}}}function eg(e){if(e.inFlight)return{text:`Checking model endpoint...`,tone:`muted`};let t=e.last;if(!t)return{text:`Saved model list shown`,tone:`muted`};let n=t.elapsedMs===void 0?``:` (${t.elapsedMs}ms)`;switch(t.status){case`ok`:{let e=t.modelCount??t.modelIds?.length??0;return{text:`Server returned ${e} model${e===1?``:`s`}${n}`,tone:`success`}}case`unreachable`:return{text:`server unreachable${t.detail?` — ${t.detail}`:``}`,tone:`error`};case`timeout`:return{text:`timed out${t.detail?` — ${t.detail}`:``}`,tone:`error`};case`http_error`:return{text:`got${t.httpStatus===void 0?``:` HTTP ${t.httpStatus}`}${t.detail?` — ${t.detail}`:``}`,tone:`warning`};case`invalid_response`:return{text:t.detail?`unexpected response — ${t.detail}`:`unexpected response shape`,tone:`warning`};case`no_provider`:return{text:`Provider is no longer saved`,tone:`error`};case`no_base_url`:return{text:`No model endpoint configured`,tone:`warning`}}}function tg(e){return(e?.length??0)>0}function ng(e,t){return`Allowlist cleared for ${e} — ${t} model${t===1?``:`s`} removed`}function rg(e){return e.length>0}function ig(e){return e.previousModels.length===0?{kind:`skip`}:e.onUndoClear?{kind:`callback`,providerId:e.providerId,previousModels:e.previousModels}:{kind:`ws-default`,providerId:e.providerId,previousModels:e.previousModels}}var ag=3e3;function og({providerId:e,savedPickedModelId:t,savedModels:n,savedCustomModels:r,ws:i,onPickModel:a,onClearModels:o,onUndoClear:s}){let[c,l]=(0,X.useState)(()=>Qh()),{t:u}=H(),[d,f]=(0,X.useState)(!1);(0,X.useEffect)(()=>i.on(`provider.probe`,t=>{t.type===`provider.probe`&&t.payload.providerId===e&&l(e=>({...e,inFlight:!1,last:$h(t.payload)}))}),[i,e]);let m=(0,X.useCallback)(()=>{l(e=>({...e,inFlight:!0})),i.probeProvider(e,ag)},[i,e]),h=(0,X.useCallback)((e,t)=>{l(e=>({...e,picked:t})),a?.(e,t)},[a]),g=(0,X.useCallback)(()=>{f(!0)},[]),_=(0,X.useCallback)(()=>{f(!1)},[]),v=(0,X.useCallback)(()=>{f(!1);let t=n?[...n]:[];l(e=>({...e,picked:null,last:null})),o?o(e):i.clearProviderModels(e),rg(t)&&p.undoable(ng(e,t.length),()=>{let n=ig({providerId:e,previousModels:t,onUndoClear:s});switch(n.kind){case`skip`:return;case`callback`:s?.(n.providerId,n.previousModels);return;case`ws-default`:i.undoProviderClear(n.providerId,n.previousModels);return}})},[o,s,i,e,n]),y=(0,X.useMemo)(()=>c.picked??t??n?.[0]??``,[c.picked,t,n]),b=(0,X.useMemo)(()=>eg(c),[c]),x=(0,X.useMemo)(()=>tg(n),[n]);return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/70 bg-background/75 p-3 shadow-sm shadow-black/[0.02]`,"data-provider-models-panel":e,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:[(0,Z.jsx)(Mi,{className:`h-3.5 w-3.5`}),u(`activity:providerModels.allowlistTitle`)]}),n&&n.length>0&&(0,Z.jsx)(`span`,{className:`rounded-full border border-border/70 bg-muted/40 px-2 py-0.5 text-[11px] text-muted-foreground`,children:u(`activity:providerModels.modelCount`,{count:n.length})})]}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:u(`activity:providerModels.using`)}),y?(0,Z.jsx)(`span`,{className:`max-w-full break-words rounded-md bg-primary/10 px-2 py-0.5 font-mono text-xs text-primary`,children:y}):(0,Z.jsx)(`span`,{className:`text-xs italic text-muted-foreground`,children:u(`activity:providerModels.noModelPicked`)})]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 sm:justify-end`,children:[(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:m,disabled:c.inFlight,"aria-label":u(`activity:providerModels.refreshAria`,{provider:e}),className:`h-8 px-2 text-xs`,children:[c.inFlight?(0,Z.jsx)(mr,{className:`h-3.5 w-3.5 animate-spin`}):(0,Z.jsx)(Bi,{className:`h-3.5 w-3.5`}),c.inFlight?u(`activity:providerModels.probing`):u(`activity:providerModels.refresh`)]}),x&&(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:g,"aria-label":u(`activity:providerModels.clearAllowlistAria`,{provider:e}),"data-action":`clear-models`,className:`h-8 px-2 text-xs`,children:u(`activity:providerModels.clearAllowlist`)})]})]}),(0,Z.jsx)(sg,{formatted:b}),(0,Z.jsx)(`div`,{className:`mt-3`,children:(0,Z.jsx)(Zh,{providerId:e,models:n??[],customModels:r,ws:i,pickedModelId:y??void 0,onPickModel:h})}),(0,Z.jsx)(Oh,{open:d,providerId:e,modelCount:n?.length??0,onConfirm:v,onCancel:_})]})}function sg({formatted:e}){let t=e.tone===`success`?`text-success`:e.tone===`warning`?`text-warning`:e.tone===`error`?`text-destructive`:`text-muted-foreground`,n=e.tone===`success`?`bg-success`:e.tone===`warning`?`bg-warning`:e.tone===`error`?`bg-destructive`:`bg-muted-foreground/60`;return(0,Z.jsxs)(`p`,{className:`mt-2 flex items-center gap-1.5 text-xs ${t}`,"data-probe-tone":e.tone,children:[(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full ${n}`}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:e.text})]})}var cg=[`anthropic`,`openai`,`google`,`openai-compatible`];function lg({activeProvider:e,catalogProviders:t,isLoadingCatalog:n,savedProviders:r,isLoadingSaved:i,providerTab:a,setProviderTab:o,onSelectProvider:s,onAddKey:c,onDeleteKey:l,onSetActiveKey:u,onAddProvider:d,onRemoveProvider:f,onPickProviderModel:m,ws:h,catalogQuery:g,setCatalogQuery:_}){let{t:v}=H(),[y,b]=(0,X.useState)(null),[x,S]=(0,X.useState)(``),[C,w]=(0,X.useState)(``),[T,E]=(0,X.useState)(!1),[D,O]=(0,X.useState)(!1),[k,A]=(0,X.useState)(``),[j,M]=(0,X.useState)(`openai-compatible`),[ee,N]=(0,X.useState)(``),[P,F]=(0,X.useState)(``),[te,ne]=(0,X.useState)([]),I=mh(),L=mh(),R=(0,X.useCallback)(e=>{!x.trim()||!C.trim()||(c(e,x.trim(),C.trim()),S(``),w(``),b(null))},[c,x,C]),re=(0,X.useCallback)(()=>{k.trim()&&(d(k.trim(),j,ee||void 0,P||void 0,te.length>0?te.map(e=>e.id):void 0,te.length>0?Object.fromEntries(te.filter(e=>e.name||e.maxOutput||e.capabilities&&Object.keys(e.capabilities).length>0).map(e=>[e.id,{...e.name&&e.name!==e.id?{name:e.name}:{},...e.maxOutput?{maxOutput:e.maxOutput}:{},...e.capabilities&&Object.keys(e.capabilities).length>0?{capabilities:e.capabilities}:{}}])):void 0),A(``),M(`openai-compatible`),N(``),F(``),ne([]),O(!1))},[d,k,j,ee,P,te]),ie=(0,X.useCallback)(e=>{A(e.id),M(Ch),N(e.defaultBaseUrl),e.noAuth&&F(``),ne([])},[]),[ae,z]=(0,X.useState)(null),[oe,se]=(0,X.useState)(``),[ce,le]=(0,X.useState)(!1),[ue,de]=(0,X.useState)({}),fe=(0,X.useMemo)(()=>new Set(r.map(e=>e.id)),[r]),pe=(0,X.useMemo)(()=>({keys:r.reduce((e,t)=>e+t.apiKeys.length,0),activeKeys:r.reduce((e,t)=>e+t.apiKeys.filter(e=>e.isActive).length,0),models:r.reduce((e,t)=>e+(t.models?.length??0),0)}),[r]);(0,X.useEffect)(()=>{let e=h.on(`provider.probe`,e=>{if(e.type!==`provider.probe`)return;let t=e.payload;t.status!==`no_base_url`&&t.status!==`no_provider`&&de(e=>({...e,[t.providerId]:{ok:t.ok,status:t.status,detail:t.detail}}))});return()=>e?.()},[h]);let me=(0,X.useCallback)(e=>{let t=oe.trim();t&&(fe.has(e.id)?c(e.id,`default`,t):d(e.id,e.family,e.apiBase??void 0,t),se(``),z(null),le(!1),p.success(v(`settings:provider.savedToast`,{name:e.name})),e.apiBase&&setTimeout(()=>h.probeProvider(e.id,6e3),700))},[oe,fe,c,d,h]),B=g.trim()?t.filter(e=>{let t=g.trim().toLowerCase();return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.family.toLowerCase().includes(t)}):t,he=B.reduce((e,t)=>(e[t.family]||(e[t.family]=[]),e[t.family]?.push(t),e),{});return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsxs)(`h3`,{className:`text-sm font-semibold flex items-center gap-2`,children:[(0,Z.jsx)(Qe,{className:`h-4 w-4 text-muted-foreground`}),v(`settings:provider.subscriptionHeading`)]}),(0,Z.jsx)(Dh,{ws:h,savedByKind:{chatgpt:r.filter(e=>e.id===`openai-codex`||e.id.startsWith(`openai-codex-`)).map(e=>({id:e.id,hasActiveKey:e.apiKeys.some(e=>e.isActive)})),claude:r.filter(e=>e.id===`anthropic-oauth`||e.id.startsWith(`anthropic-oauth-`)).map(e=>({id:e.id,hasActiveKey:e.apiKeys.some(e=>e.isActive)})),copilot:r.filter(e=>e.id===`github-copilot`).map(e=>({id:e.id,hasActiveKey:e.apiKeys.some(e=>e.isActive)}))}})]}),(0,Z.jsxs)(`div`,{className:`pt-2 border-t`,children:[(0,Z.jsxs)(`h3`,{className:`text-sm font-semibold mb-1 flex items-center gap-2`,children:[(0,Z.jsx)(jt,{className:`h-4 w-4 text-muted-foreground`}),v(`settings:provider.apiKeysHeading`)]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mb-3`,children:v(`settings:provider.apiKeysBody`)})]}),(0,Z.jsxs)(`div`,{className:`flex gap-2 mb-4`,children:[(0,Z.jsxs)(Y,{variant:a===`catalog`?`default`:`outline`,size:`sm`,onClick:()=>o(`catalog`),children:[(0,Z.jsx)(jt,{className:`h-4 w-4 mr-1`}),v(`settings:provider.tabCatalog`)]}),(0,Z.jsxs)(Y,{variant:a===`saved`?`default`:`outline`,size:`sm`,onClick:()=>o(`saved`),children:[(0,Z.jsx)(Qe,{className:`h-4 w-4 mr-1`}),v(`settings:provider.tabSaved`,{count:r.length})]})]}),a===`catalog`&&(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(Ia,{placeholder:v(`settings:provider.searchPlaceholder`,{count:t.length}),value:g,onChange:e=>_(e.target.value),className:`text-sm`}),n&&t.length===0?(0,Z.jsxs)(`div`,{className:`flex items-center justify-center py-8`,children:[(0,Z.jsx)(mr,{className:`h-6 w-6 animate-spin text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:v(`settings:provider.loadingCatalog`)})]}):B.length===0&&g?(0,Z.jsx)(`div`,{className:`text-center py-8 text-muted-foreground text-sm`,children:v(`settings:provider.noMatch`,{query:g})}):cg.map(t=>{let n=he[t];return n?.length?(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold text-muted-foreground uppercase tracking-wider`,children:t}),(0,Z.jsx)(`div`,{className:`grid grid-cols-1 gap-2`,children:n.map(t=>{let n=ue[t.id],r=e===t.id;return(0,Z.jsxs)(`div`,{className:G(`rounded-lg border transition-all`,r?`border-primary bg-primary/5 ring-2 ring-primary/20`:`border-border`),children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>s(t.id),className:G(`flex w-full flex-col items-start p-3 text-left rounded-lg`,!r&&`hover:bg-muted`),children:[(0,Z.jsxs)(`div`,{className:`flex w-full justify-between items-start`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{className:`font-medium`,children:t.name}),(0,Z.jsxs)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:[`(`,t.id,`)`]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t.hasApiKey&&(0,Z.jsxs)(`span`,{className:`text-xs bg-success/10 text-success px-2 py-0.5 rounded`,children:[(0,Z.jsx)(Qe,{className:`h-3 w-3 inline mr-1`}),v(`settings:provider.configured`)]}),n&&(0,Z.jsxs)(`span`,{className:G(`text-xs px-2 py-0.5 rounded inline-flex items-center gap-1`,n.ok?`bg-success/10 text-success`:`bg-destructive/10 text-destructive`),title:n.detail??n.status,children:[n.ok?(0,Z.jsx)(wr,{className:`h-3 w-3`}):(0,Z.jsx)(In,{className:`h-3 w-3`}),n.ok?v(`settings:provider.reachable`):n.status]}),t.envVars[0]&&(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:v(`settings:provider.envVar`,{var:t.envVars[0]})}),r&&(0,Z.jsx)(wr,{className:`h-4 w-4 text-primary`})]})]}),(0,Z.jsxs)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:[v(`settings:provider.modelCount`,{count:t.modelCount}),t.apiBase&&` · ${t.apiBase}`]})]}),r&&!t.hasApiKey&&(0,Z.jsx)(`div`,{className:`px-3 pb-3 -mt-1 space-y-2`,children:ae===t.id?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Ia,{autoFocus:!0,type:ce?`text`:`password`,placeholder:v(`settings:provider.keyPlaceholder`,{name:t.name}),value:oe,onChange:e=>se(e.target.value),className:`text-sm`,onKeyDown:e=>{e.key===`Enter`&&me(t)}}),(0,Z.jsx)(Y,{size:`icon`,variant:`ghost`,onClick:()=>le(e=>!e),children:ce?(0,Z.jsx)(Hi,{className:`h-4 w-4`}):(0,Z.jsx)(Ai,{className:`h-4 w-4`})}),(0,Z.jsx)(Y,{size:`sm`,onClick:()=>me(t),disabled:!oe.trim(),children:v(`common:action.save`)})]}),t.envVars[0]&&(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:v(`settings:provider.orEnv`,{env:t.envVars[0]})})]}):(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>{z(t.id),se(``)},children:[(0,Z.jsx)(Qe,{className:`h-3.5 w-3.5 mr-1`}),v(`settings:provider.addApiKey`)]})})]},t.id)})})]},t):null})]}),a===`saved`&&(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:v(`settings:provider.manageKeys`)}),(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-muted/30 px-2 py-1`,children:[(0,Z.jsx)(Yn,{className:`h-3.5 w-3.5`}),v(`settings:provider.savedProviderCount`,{count:r.length})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-muted/30 px-2 py-1`,children:[(0,Z.jsx)(Qe,{className:`h-3.5 w-3.5`}),v(`settings:provider.keyCount`,{count:pe.keys})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-muted/30 px-2 py-1`,children:[(0,Z.jsx)(De,{className:`h-3.5 w-3.5`}),v(`settings:provider.activeKeyCount`,{count:pe.activeKeys})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-muted/30 px-2 py-1`,children:[(0,Z.jsx)(jr,{className:`h-3.5 w-3.5`}),v(`settings:provider.modelCount`,{count:pe.models})]})]})]}),(0,Z.jsxs)(Y,{size:`sm`,variant:`outline`,onClick:()=>O(!D),children:[(0,Z.jsx)(Ge,{className:`h-4 w-4 mr-1`}),v(`settings:provider.addProvider`)]})]}),D&&(0,Z.jsxs)(`div`,{className:`p-4 border rounded-lg space-y-3 bg-muted/50`,children:[(0,Z.jsx)(`h4`,{className:`font-medium`,children:v(`settings:provider.addCustomHeading`)}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:v(`settings:provider.localServers`)}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:wh.map(e=>(0,Z.jsx)(Y,{type:`button`,size:`sm`,variant:k===e.id?`default`:`outline`,onClick:()=>ie(e),title:e.hint,children:e.label},e.id))})]}),(0,Z.jsx)(Ia,{placeholder:v(`settings:provider.providerIdPlaceholder`),value:k,onChange:e=>A(e.target.value),ref:I.setFieldRef(0),onKeyDown:e=>I.handleKeyDown(e,0)}),(0,Z.jsxs)(`select`,{className:`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm`,value:j,onChange:e=>M(e.target.value),ref:I.setFieldRef(1),onKeyDown:e=>I.handleKeyDown(e,1),children:[(0,Z.jsx)(`option`,{value:`anthropic`,children:v(`activity:provider.anthropic`)}),(0,Z.jsx)(`option`,{value:`openai`,children:v(`activity:provider.openai`)}),(0,Z.jsx)(`option`,{value:`openai-compatible`,children:v(`activity:provider.openaiCompatible`)}),(0,Z.jsx)(`option`,{value:`google`,children:v(`activity:provider.google`)})]}),(0,Z.jsx)(Ia,{placeholder:v(`activity:provider.baseUrlOptionalEGHttpLocalhost11434V1`),value:ee,onChange:e=>N(e.target.value),ref:I.setFieldRef(2),onKeyDown:e=>I.handleKeyDown(e,2)}),(0,Z.jsx)(Ia,{type:`password`,placeholder:v(`settings:provider.apiKeyOptionalPlaceholder`),value:P,onChange:e=>F(e.target.value),ref:I.setFieldRef(3),onKeyDown:e=>I.handleKeyDown(e,3)}),(0,Z.jsx)(hh,{models:te,onChange:ne}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Y,{size:`sm`,onClick:re,disabled:!k.trim(),ref:I.setFieldRef(4),onKeyDown:e=>I.handleKeyDown(e,4,re),children:v(`common:action.add`)}),(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>O(!1),ref:I.setFieldRef(5),onKeyDown:e=>I.handleKeyDown(e,5),children:v(`common:action.cancel`)})]})]}),i?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Z.jsx)(mr,{className:`h-6 w-6 animate-spin text-muted-foreground`})}):r.length===0?(0,Z.jsxs)(`div`,{className:`text-center py-8 text-muted-foreground`,children:[(0,Z.jsx)(Qe,{className:`h-8 w-8 mx-auto mb-2 opacity-50`}),(0,Z.jsx)(`p`,{children:v(`settings:provider.noSaved`)}),(0,Z.jsx)(`p`,{className:`text-sm`,children:v(`settings:provider.noSavedHint`)})]}):r.map(e=>(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/80 bg-card/70 p-4 shadow-sm shadow-black/[0.02]`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`h4`,{className:`min-w-0 break-words font-mono text-sm font-semibold text-foreground`,children:e.id}),e.family&&(0,Z.jsx)(`span`,{className:`rounded-full border border-border/70 bg-muted/40 px-2 py-0.5 text-[11px] font-medium text-muted-foreground`,children:e.family}),e.apiKeys.some(e=>e.isActive)&&(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-success/10 px-2 py-0.5 text-[11px] font-medium text-success`,children:[(0,Z.jsx)(De,{className:`h-3 w-3`}),v(`settings:provider.active`)]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[e.baseUrl&&(0,Z.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1 rounded-md border border-border/70 bg-background/60 px-2 py-1`,children:[(0,Z.jsx)(jt,{className:`h-3.5 w-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.baseUrl})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-background/60 px-2 py-1`,children:[(0,Z.jsx)(jr,{className:`h-3.5 w-3.5`}),v(`settings:provider.modelCount`,{count:e.models?.length??0})]}),(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-border/70 bg-background/60 px-2 py-1`,children:[(0,Z.jsx)(Qe,{className:`h-3.5 w-3.5`}),v(`settings:provider.keyCount`,{count:e.apiKeys.length})]})]})]}),(0,Z.jsx)(`div`,{className:`flex gap-2 sm:justify-end`,children:(0,Z.jsx)(Y,{size:`icon`,variant:`ghost`,onClick:()=>f(e.id),"aria-label":`Remove provider ${e.id}`,title:`Remove provider ${e.id}`,className:`h-8 w-8 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,children:(0,Z.jsx)(Rt,{className:`h-4 w-4 text-destructive`})})})]}),(0,Z.jsxs)(`div`,{className:`mt-4 grid gap-4 xl:grid-cols-[minmax(0,1.35fr)_minmax(280px,0.85fr)]`,children:[(0,Z.jsx)(og,{providerId:e.id,savedPickedModelId:e.pickedModelId,savedModels:e.models,savedCustomModels:e.customModels,ws:h,onPickModel:m}),(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/70 bg-background/75 p-3 shadow-sm shadow-black/[0.02]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-semibold`,children:v(`settings:provider.apiKeysLabel`)}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:v(`settings:provider.keyCount`,{count:e.apiKeys.length})})]}),(0,Z.jsxs)(Y,{size:`sm`,variant:`ghost`,onClick:()=>b(y===e.id?null:e.id),className:`h-8 px-2 text-xs`,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),v(`settings:provider.addKey`)]})]}),e.apiKeys.length===0&&!y&&(0,Z.jsx)(`p`,{className:`mt-3 rounded-md border border-dashed border-border/70 bg-muted/20 px-3 py-2 text-xs text-muted-foreground`,children:v(`settings:provider.noKeys`)}),e.apiKeys.length>0&&(0,Z.jsx)(`div`,{className:`mt-3 space-y-2`,children:e.apiKeys.map(t=>(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-border/70 bg-muted/20 p-2.5 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[(0,Z.jsx)(`span`,{className:`mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-border/70 bg-background text-muted-foreground`,children:(0,Z.jsx)(Qe,{className:`h-3.5 w-3.5`})}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-sm font-medium`,children:t.label}),t.isActive&&(0,Z.jsx)(`span`,{className:`rounded-full bg-success/10 px-2 py-0.5 text-[11px] font-medium text-success`,children:v(`settings:provider.active`)})]}),(0,Z.jsx)(`div`,{className:`mt-0.5`,children:(0,Z.jsx)(gh,{maskedKey:t.maskedKey})})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1`,children:[!t.isActive&&(0,Z.jsx)(Y,{size:`sm`,variant:`outline`,onClick:()=>u(e.id,t.label),className:`h-8 px-2 text-xs`,children:v(`settings:provider.setActive`)}),(0,Z.jsx)(Y,{size:`icon`,variant:`ghost`,onClick:()=>l(e.id,t.label),"aria-label":`Delete key ${t.label}`,title:`Delete key ${t.label}`,className:`h-8 w-8 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,children:(0,Z.jsx)(Rt,{className:`h-3.5 w-3.5 text-destructive`})})]})]},t.label))}),y===e.id&&(0,Z.jsxs)(`div`,{className:`mt-3 space-y-2 rounded-lg border border-border/70 bg-background p-3`,children:[(0,Z.jsx)(Ia,{placeholder:v(`settings:provider.keyLabelPlaceholder`),value:x,onChange:e=>S(e.target.value),ref:L.setFieldRef(0),onKeyDown:e=>L.handleKeyDown(e,0)}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(Ia,{type:T?`text`:`password`,placeholder:v(`settings:provider.apiKeyPlaceholder`),value:C,onChange:e=>w(e.target.value),ref:L.setFieldRef(1),onKeyDown:e=>L.handleKeyDown(e,1)}),(0,Z.jsx)(Y,{size:`icon`,variant:`ghost`,onClick:()=>E(!T),children:T?(0,Z.jsx)(Hi,{className:`h-4 w-4`}):(0,Z.jsx)(Ai,{className:`h-4 w-4`})})]}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Z.jsx)(Y,{size:`sm`,onClick:()=>R(e.id),disabled:!x.trim()||!C.trim(),ref:L.setFieldRef(2),onKeyDown:t=>L.handleKeyDown(t,2,()=>R(e.id)),children:v(`settings:provider.saveKey`)}),(0,Z.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>{b(null),S(``),w(``)},ref:L.setFieldRef(3),onKeyDown:e=>L.handleKeyDown(e,3),children:v(`common:action.cancel`)})]})]})]})]})]},e.id))]})]})}var ug=Object.entries({discovery:[[`explore`,`Explore`],[`search`,`Search`],[`research`,`Research`]],planning:[[`analyst`,`Analyst`],[`planner`,`Planner`],[`architect`,`Architect`],[`critic`,`Critic`],[`refactor-planner`,`Refactor Planner`]],build:[[`executor`,`Executor`],[`refactor`,`Refactor`],[`simplifier`,`Simplifier`],[`migration`,`Migration`],[`vision`,`Vision`],[`debugger`,`Debugger`],[`tracer`,`Tracer`],[`concurrency`,`Concurrency`]],verify:[[`realtime`,`Realtime`],[`resilience-engineer`,`Resilience Engineer`],[`chaos-engineer`,`Chaos Engineer`],[`verifier`,`Verifier`],[`test`,`Test`],[`e2e`,`E2E`],[`browser`,`Browser`],[`performance`,`Performance`],[`chaos`,`Chaos`],[`security-scanner`,`Security Scanner`],[`bug-hunter`,`Bug Hunter`],[`audit-log`,`Audit Log`]],review:[[`threat-modeler`,`Threat Modeler`],[`secure-coding-coach`,`Secure Coding Coach`],[`compliance-auditor`,`Compliance Auditor`],[`privacy-engineer`,`Privacy Engineer`],[`reviewer`,`Reviewer`],[`code-reviewer`,`Code Reviewer`],[`security-reviewer`,`Security Reviewer`],[`accessibility`,`Accessibility`],[`compliance`,`Compliance`]],domain:[[`android`,`Android`],[`desktop`,`Desktop`],[`distributed-systems`,`Distributed Systems`],[`database`,`Database`],[`api`,`API`],[`auth`,`Auth`],[`data`,`Data`],[`frontend`,`Frontend`],[`backend`,`Backend`],[`designer`,`Designer`],[`ios`,`iOS`],[`payments`,`Payments`],[`messaging`,`Messaging`],[`search-relevance`,`Search Relevance`],[`storage`,`Storage`],[`ml-engineer`,`ML Engineer`],[`data-governance`,`Data Governance`]],knowledge:[[`document`,`Document`],[`uml`,`UML`],[`i18n`,`I18n`],[`prompt`,`Prompt`]],delivery:[[`platform-engineer`,`Platform Engineer`],[`git`,`Git`],[`release`,`Release`],[`devops`,`DevOps`],[`observability`,`Observability`],[`dependency`,`Dependency`]],meta:[[`skill-manage`,`Skill Manager`],[`self-improving`,`Self-Improving`],[`context`,`Context`],[`cost`,`Cost`],[`tech-stack`,`Tech Stack Validator`],[`plugin-author`,`Plugin Author`],[`tool-author`,`Tool Author`],[`prompt-evaluator`,`Prompt Evaluator`],[`benchmark-engineer`,`Benchmark Engineer`],[`memory-curator`,`Memory Curator`],[`fleet-coordinator`,`Fleet Coordinator`]]}).map(([e,t])=>({phase:e,label:`${e.charAt(0).toUpperCase()}${e.slice(1)}`,roles:t.map(([e,t])=>({role:e,name:t}))})),dg=ug.map(e=>e.phase),fg=ug.flatMap(e=>[...e.roles]),pg=fg.map(e=>e.role),mg=[`*`,...dg,...pg];function hg(e){if(e===`*`)return`Default (*)`;let t=ug.find(t=>t.phase===e);if(t)return`Phase: ${t.label} (${t.phase})`;let n=fg.find(t=>t.role===e);return n?`${n.name} (${n.role})`:`Custom: ${e}`}var gg=[{value:``,label:`mode: inherit`},{value:`auto`,label:`mode: auto`},{value:`on`,label:`mode: on`},{value:`off`,label:`mode: off`}],_g=[{value:``,label:`effort: inherit`},{value:`none`,label:`effort: none`},{value:`minimal`,label:`effort: minimal`},{value:`low`,label:`effort: low`},{value:`medium`,label:`effort: medium`},{value:`high`,label:`effort: high`},{value:`xhigh`,label:`effort: xhigh`},{value:`max`,label:`effort: max`}],vg=[{value:``,label:`preserve: inherit`},{value:`on`,label:`preserve: on`},{value:`off`,label:`preserve: off`}],yg=new Set(mg);function bg(e,t,n){let r={};return e&&(r.mode=e),t&&(r.effort=t),n&&(r.preserve=n===`on`),Object.keys(r).length>0?{reasoning:r}:void 0}function xg(e){return e?[e.mode?`mode:${e.mode}`:``,e.effort?`effort:${e.effort}`:``,e.preserve===void 0?``:`preserve:${e.preserve?`on`:`off`}`].filter(Boolean):[]}function Sg({syncPref:e,candidates:t}){let n=U(),{t:r}=H(),[i,a]=(0,X.useState)(`*`),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(``),m=(0,X.useCallback)(t=>e(`modelMatrix`,t),[e]),h=(0,X.useCallback)(()=>{let e=i.trim(),t=o.trim(),r=bg(c,u,f);if(!e||!t&&!r)return;let a=t?n.fallbackProfiles[t]?{fallbackProfile:t}:t.includes(`/`)?{provider:t.slice(0,t.indexOf(`/`)),model:t.slice(t.indexOf(`/`)+1)}:{model:t}:{},h=n.modelMatrix[e]?.modelRuntime;r?a.modelRuntime=r:h&&(a.modelRuntime=h),m({...n.modelMatrix,[e]:a}),s(``),l(``),d(``),p(``)},[n.fallbackProfiles,n.modelMatrix,i,f,u,c,o,m]),g=(0,X.useCallback)(e=>{let{[e]:t,...r}=n.modelMatrix;m(r)},[n.modelMatrix,m]),_=(0,X.useCallback)((e,t,r)=>{let i={...n.modelMatrix},a={...i[e]??{}},o={...a.modelRuntime??{}},s={...o.reasoning??{}};t===`mode`?r?s.mode=r:delete s.mode:t===`effort`?r?s.effort=r:delete s.effort:r?s.preserve=r===`on`:delete s.preserve,Object.keys(s).length>0?o.reasoning=s:delete o.reasoning,Object.keys(o).length>0?a.modelRuntime=o:delete a.modelRuntime,a.model||a.fallbackProfile||a.modelRuntime?i[e]=a:delete i[e],m(i)},[n.modelMatrix,m]),v=e=>{let t=e.provider&&e.model?`${e.provider}/${e.model}`:e.model,n=e.modelRuntime?.reasoning;return[t??(!e.fallbackProfile&&n?r(`settings:agent.leaderModel`):``),e.fallbackProfile?`profile:${e.fallbackProfile}`:``,...xg(n)].filter(Boolean).join(` + `)},y=Array.from(new Set([...Object.keys(n.modelMatrix),i].filter(e=>e&&!yg.has(e)))).sort((e,t)=>e.localeCompare(t));return(0,Z.jsxs)(`div`,{className:`pt-2 border-t`,children:[(0,Z.jsxs)(`h3`,{className:`text-sm font-semibold mb-3 mt-3 flex items-center gap-2`,children:[(0,Z.jsx)(Ri,{className:`h-4 w-4 text-muted-foreground`}),r(`settings:agent.routingHeading`)]}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-[minmax(0,180px)_1fr_auto]`,children:[(0,Z.jsxs)(`select`,{"aria-label":r(`settings:agent.routingRouteKey`),value:i,onChange:e=>a(e.target.value),className:`h-9 min-w-0 rounded-md border bg-background px-3 font-mono text-sm`,children:[(0,Z.jsx)(`option`,{value:`*`,children:hg(`*`)}),(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingPhasesGroup`),children:ug.map(e=>(0,Z.jsx)(`option`,{value:e.phase,children:hg(e.phase)},e.phase))}),ug.map(e=>(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingRolesGroup`,{label:e.label}),children:e.roles.map(e=>(0,Z.jsx)(`option`,{value:e.role,children:hg(e.role)},e.role))},e.phase)),y.length>0?(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingCustomGroup`),children:y.map(e=>(0,Z.jsx)(`option`,{value:e,children:hg(e)},e))}):null]}),(0,Z.jsxs)(`select`,{"aria-label":r(`settings:agent.routingTargetAria`),value:o,onChange:e=>s(e.target.value),className:`h-9 min-w-0 rounded-md border bg-background px-3 font-mono text-sm`,children:[(0,Z.jsx)(`option`,{value:``,children:r(`settings:agent.routingTargetEmpty`)}),Object.keys(n.fallbackProfiles).length>0&&(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingTargetProfilesGroup`),children:Object.keys(n.fallbackProfiles).map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))}),t&&t.length>0&&(0,Z.jsx)(`optgroup`,{label:r(`settings:agent.routingTargetModelsGroup`),children:t.map(e=>(0,Z.jsxs)(`option`,{value:`${e.provider}/${e.model}`,children:[e.provider,`/`,e.model]},`${e.provider}/${e.model}`))})]}),(0,Z.jsx)(Y,{type:`button`,variant:`outline`,onClick:h,children:r(`settings:agent.routingSet`)})]}),(0,Z.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 sm:grid-cols-3`,children:[(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningModeAria`),value:c,onChange:e=>l(e.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:gg.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))}),(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningEffortAria`),value:u,onChange:e=>d(e.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:_g.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))}),(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningPreserveAria`),value:f,onChange:e=>p(e.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:vg.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))})]}),(0,Z.jsx)(`div`,{className:`mt-3 space-y-1.5`,children:Object.keys(n.modelMatrix).length===0?(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`settings:agent.noRoutes`)}):Object.entries(n.modelMatrix).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>(0,Z.jsxs)(`div`,{className:`rounded-md border border-border bg-muted px-2 py-1.5 text-xs`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`w-40 shrink-0 break-words font-mono text-muted-foreground`,title:e,children:hg(e)}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 break-words font-mono`,children:v(t)}),(0,Z.jsx)(Y,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>g(e),children:r(`common:action.remove`)})]}),(0,Z.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 sm:grid-cols-3`,children:[(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningModeFor`,{key:e}),value:t.modelRuntime?.reasoning?.mode??``,onChange:t=>_(e,`mode`,t.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:gg.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))}),(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningEffortFor`,{key:e}),value:t.modelRuntime?.reasoning?.effort??``,onChange:t=>_(e,`effort`,t.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:_g.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))}),(0,Z.jsx)(`select`,{"aria-label":r(`settings:agent.routingReasoningPreserveFor`,{key:e}),value:t.modelRuntime?.reasoning?.preserve===void 0?``:t.modelRuntime.reasoning.preserve?`on`:`off`,onChange:t=>_(e,`preserve`,t.target.value),className:`h-8 min-w-0 rounded-md border bg-background px-2 text-xs`,children:vg.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value||`inherit`))})]})]},e))})]})}var Cg=[`off`,`low`,`medium`,`high`,`all`],wg={off:`bg-muted-foreground`,low:`bg-success`,medium:`bg-warning`,high:`bg-warning ring-2 ring-warning/25`,all:`bg-destructive`},Tg={off:`settings:brain.riskCopy.off`,low:`settings:brain.riskCopy.low`,medium:`settings:brain.riskCopy.medium`,high:`settings:brain.riskCopy.high`,all:`settings:brain.riskCopy.all`},Eg=[`executor`,`skeptic`,`auditor`];function Dg(e){return e&&e.length>0?e.map(e=>({id:e.id,name:e.name,description:e.description})):Eg.map(e=>({id:e,name:e}))}var Og=[{value:`default`,labelKey:`settings:brainOpt.default15s`},{value:`5000`,label:`5s`},{value:`10000`,label:`10s`},{value:`20000`,label:`20s`},{value:`30000`,label:`30s`},{value:`60000`,label:`60s`}],kg=[{value:`off`,labelKey:`settings:brainOpt.waitForever`},{value:`30000`,label:`30s`},{value:`60000`,label:`1m`},{value:`120000`,label:`2m`},{value:`300000`,label:`5m`}],Ag=[{value:`default`,labelKey:`settings:brainOpt.defaultHalf`},{value:`0.34`,label:`1/3`},{value:`0.5`,label:`1/2`},{value:`0.67`,label:`2/3`},{value:`0.75`,label:`3/4`},{value:`1`,labelKey:`settings:brainOpt.all`}],jg=[{value:`100`,label:`100`},{value:`200`,labelKey:`settings:brainOpt.n200Default`},{value:`400`,label:`400`},{value:`800`,label:`800`},{value:`1600`,label:`1600`}],Mg=[{value:`0`,labelKey:`settings:brainOpt.offDefault`},{value:`0.3`,label:`0.3`},{value:`0.5`,label:`0.5`},{value:`0.7`,label:`0.7`},{value:`0.9`,label:`0.9`}],Ng=[{value:`10`,label:`10`},{value:`20`,labelKey:`settings:brainOpt.n20Default`},{value:`50`,label:`50`},{value:`100`,label:`100`}],Pg=[{value:`60000`,label:`1m`},{value:`300000`,labelKey:`settings:brainOpt.m5Default`},{value:`900000`,label:`15m`},{value:`3600000`,label:`1h`}],Fg=[{value:`50`,label:`50`},{value:`200`,labelKey:`settings:brainOpt.n200Default`},{value:`500`,label:`500`},{value:`1000`,label:`1000`}],Ig=[{value:`default`,labelKey:`settings:brainOpt.default`},{value:`10000`,label:`10s`},{value:`20000`,label:`20s`},{value:`30000`,label:`30s`},{value:`60000`,label:`60s`}],Lg=[{value:`default`,labelKey:`settings:brainOpt.default`},{value:`1`,labelKey:`settings:brainOpt.oneSerial`},{value:`2`,label:`2`},{value:`3`,label:`3`},{value:`5`,label:`5`}],Rg=[{value:`default`,labelKey:`settings:brainOpt.default`},{value:`500`,label:`500`},{value:`1000`,label:`1000`},{value:`2000`,label:`2000`},{value:`4000`,label:`4000`},{value:`8000`,label:`8000`}],zg=[{value:`default`,labelKey:`settings:brainOpt.default`},{value:`200`,label:`200`},{value:`400`,label:`400`},{value:`800`,label:`800`},{value:`1600`,label:`1600`}],Bg=[{value:`default`,labelKey:`settings:brainOpt.default500`},{value:`100`,label:`100`},{value:`500`,label:`500`},{value:`1000`,label:`1000`},{value:`5000`,label:`5000`}],Vg=[{value:`default`,labelKey:`settings:brainOpt.default10m`},{value:`120000`,label:`2m`},{value:`600000`,label:`10m`},{value:`1800000`,label:`30m`},{value:`3600000`,label:`1h`}];function Hg(e,t){return e.some(e=>e.value===t)?e:[...e,{value:t,label:t}]}function Ug(e,t){return e.map(e=>({value:e.value,label:e.labelKey?t(e.labelKey):e.label??e.value}))}function Wg(e){return e===void 0?`default`:String(e)}function Gg({level:e}){return(0,Z.jsx)(`span`,{className:G(`inline-block h-2.5 w-2.5 rounded-full`,wg[e])})}function Kg(e){return e.provider?`${e.provider}/${e.model}`:e.model}var qg={pool:{title:`settings:brain.pickPoolTitle`,hint:`settings:brain.pickPoolHint`},voter:{title:`settings:brain.pickVoterTitle`,hint:`settings:brain.pickVoterHint`},judge:{title:`settings:brain.pickJudgeTitle`,hint:`settings:brain.pickJudgeHint`}};function Jg(){let{t:e}=H(),{client:t}=aa(),[n,r]=(0,X.useState)(null),[i,a]=(0,X.useState)([]),[o,s]=(0,X.useState)(!0),[c,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(null),m=P();(0,X.useEffect)(()=>{t.send({type:`brain.status`,payload:t.withSession({})}),t.send({type:`brain.config.get`})},[t,m]),(0,X.useEffect)(()=>{let n=t.on(`brain.status`,e=>{let t=e.payload;if(t.sessionId&&m&&t.sessionId!==m)return;let n=Date.now();a(t.log.slice(-10).map(e=>{let t=Math.max(0,Math.round((n-e.at)/1e3)),r=t<60?`${t}s`:t<3600?`${Math.round(t/60)}m`:`${Math.round(t/3600)}h`;return{kind:e.kind,question:e.question,outcome:e.outcome,age:r}})),s(!1)}),i=t.on(`brain.config`,t=>{let n=t.payload;r(n.config),d(n.persisted?null:n.error??e(`settings:brain.persistError`)),l(!1),s(!1)});return()=>{n(),i()}},[t,e,m]);let h=(0,X.useCallback)(e=>{l(!0),t.send({type:`brain.config.set`,payload:t.withSession({patch:e})})},[t]),g=(0,X.useCallback)(e=>{r(t=>t&&{...t,maxAutoRisk:e}),h({maxAutoRisk:e})},[h]),_=(0,X.useMemo)(()=>n?.council.voters??[],[n]),v=(0,X.useCallback)(e=>{h({council:{voters:e.length>0?e:null}})},[h]),y=(0,X.useMemo)(()=>Dg(n?.personaCatalog),[n?.personaCatalog]),b=Cg.includes(n?.maxAutoRisk??``)?n?.maxAutoRisk??`medium`:`medium`,x=(0,X.useCallback)(e=>{if(!n||!f)return;let t=`${e.provider}/${e.model}`;if(f===`pool`){h({models:[...n.models.map(Kg),t]});return}if(f===`judge`){h({council:{judge:t}});return}return v([..._,{provider:e.provider,model:e.model,persona:y[_.length%y.length]?.id??`executor`}]),!0},[n,y,f,h,v,_]);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(dm,{open:f!==null,mode:`provider-model`,title:f?e(qg[f].title):``,hint:f?e(qg[f].hint):void 0,onPick:e=>{if(e.type===`provider-model`)return x(e)},onClose:()=>p(null)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Qn,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`h3`,{className:`text-base font-semibold`,children:e(`settings:brain.heading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.headingHint`)})]}),(o||c)&&(0,Z.jsx)(mr,{className:`ml-auto h-4 w-4 animate-spin text-muted-foreground`})]}),u&&(0,Z.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive`,children:u}),(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.riskHeading`)}),(0,Z.jsx)(`div`,{className:`flex gap-2 flex-wrap`,children:Cg.map(e=>(0,Z.jsxs)(Y,{variant:b===e?`default`:`outline`,size:`sm`,className:G(`gap-1.5 text-xs`,b===e&&`shadow-sm`),disabled:c,onClick:()=>g(e),children:[(0,Z.jsx)(Gg,{level:e}),e.toUpperCase()]},e))}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(Tg[b])})]}),n&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.escalationHeading`)}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationModeLabel`),hint:e(`settings:brain.escalationModeHint`),value:n.mode,options:[{value:`interactive`,label:e(`settings:brain.optInteractive`)},{value:`headless`,label:e(`settings:brain.optHeadless`)}],onChange:e=>h({mode:e}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationDecisionTimeoutLabel`),hint:e(`settings:brain.escalationDecisionTimeoutHint`),value:n.decisionTimeoutMs?String(n.decisionTimeoutMs):`default`,options:Ug(Og,e),onChange:e=>h({decisionTimeoutMs:e==="default"?null:Number(e)}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationHumanTimeoutLabel`),hint:e(`settings:brain.escalationHumanTimeoutHint`),value:n.humanTimeoutMs?String(n.humanTimeoutMs):`off`,options:Ug(kg,e),onChange:e=>h({humanTimeoutMs:e===`off`?null:Number(e)}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationTerminalPolicyLabel`),hint:e(`settings:brain.escalationTerminalPolicyHint`),value:n.terminalPolicy,options:[{value:`conservative`,label:e(`settings:brain.optConservative`)},{value:`deny-all`,label:e(`settings:brain.optDenyAll`)},{value:`continue-on-recommended`,label:e(`settings:brain.optContinueRecommended`)}],onChange:e=>h({terminalPolicy:e}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.escalationDecisionLogSizeLabel`),hint:e(`settings:brain.escalationDecisionLogSizeHint`),value:String(n.decisionLogMaxEntries),options:Ug(Hg(Ng,String(n.decisionLogMaxEntries)),e),onChange:e=>h({decisionLogMaxEntries:Number(e)}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.rulesHeading`)}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px]`,children:e(`settings:brain.rulesConfigured`,{count:n.rules.length})})]}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.rulesBody`)}),n.rules.length>0&&(0,Z.jsx)(`div`,{className:`space-y-1`,children:n.rules.map((t,n)=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/50 bg-background/40 px-2 py-1.5 text-xs`,children:[(0,Z.jsxs)(`span`,{className:`text-muted-foreground w-4 shrink-0`,children:[n+1,`.`]}),(0,Z.jsx)(`span`,{className:`flex-1 truncate font-mono`,children:t.id}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px] shrink-0`,children:t.then.action}),t.enabled===!1&&(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px] shrink-0`,children:e(`settings:brain.rulesOff`)})]},`${t.id}-${n}`))}),n.ruleErrors.length>0&&(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-warning/40 bg-warning/10 px-2 py-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-xs font-medium text-warning`,children:e(`settings:brain.rulesDropped`,{count:n.ruleErrors.length})}),n.ruleErrors.map(e=>(0,Z.jsx)(`p`,{className:`text-xs text-warning`,children:e},e))]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.heuristicsHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.heuristicsBody`)}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsLowRiskLabel`),hint:e(`settings:brain.heuristicsLowRiskHint`),value:n.heuristics.lowRiskAutoAnswer,onChange:()=>h({heuristics:{lowRiskAutoAnswer:!n.heuristics.lowRiskAutoAnswer}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsBlockedLabel`),hint:e(`settings:brain.heuristicsBlockedHint`),value:n.heuristics.blockedResolved,onChange:()=>h({heuristics:{blockedResolved:!n.heuristics.blockedResolved}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsDeadlockLabel`),hint:e(`settings:brain.heuristicsDeadlockHint`),value:n.heuristics.deadlockSkip,onChange:()=>h({heuristics:{deadlockSkip:!n.heuristics.deadlockSkip}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsRetryLabel`),hint:e(`settings:brain.heuristicsRetryHint`),value:n.heuristics.retryExhausted,onChange:()=>h({heuristics:{retryExhausted:!n.heuristics.retryExhausted}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.heuristicsPingLabel`),hint:e(`settings:brain.heuristicsPingHint`),value:n.heuristics.continuePing,onChange:()=>h({heuristics:{continuePing:!n.heuristics.continuePing}}),disabled:c}),n.heuristics.blockedResolvedMarkers&&n.heuristics.blockedResolvedMarkers.length>0&&(0,Z.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:e(`settings:brain.heuristicsMarkers`,{markers:n.heuristics.blockedResolvedMarkers.join(`, `)})})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.qualityHeading`)}),n.circuit&&(0,Z.jsx)(Cm,{variant:n.circuit.state===`closed`?`outline`:`default`,className:`text-[10px]`,children:e(`settings:brain.qualityCircuit`,{state:n.circuit.state,count:n.circuit.consecutiveFailures})})]}),(0,Z.jsx)(Q,{label:e(`settings:brain.qualityResponseBudgetLabel`),hint:e(`settings:brain.qualityResponseBudgetHint`),value:String(n.llm.maxTokens),options:Ug(Hg(jg,String(n.llm.maxTokens)),e),onChange:e=>h({llm:{maxTokens:Number(e)}}),disabled:c}),(0,Z.jsx)($,{label:e(`settings:brain.qualityRejectLabel`),hint:e(`settings:brain.qualityRejectHint`),value:n.llm.rejectUncertain,onChange:()=>h({llm:{rejectUncertain:!n.llm.rejectUncertain}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.qualityMinConfidenceLabel`),hint:e(`settings:brain.qualityMinConfidenceHint`),value:String(n.llm.minConfidence),options:Ug(Hg(Mg,String(n.llm.minConfidence)),e),onChange:e=>h({llm:{minConfidence:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.qualityDenyTerminalLabel`),hint:e(`settings:brain.qualityDenyTerminalHint`),value:n.llm.denyIsTerminal,options:[{value:`never`,label:e(`settings:brain.optNeverDefault`)},{value:`when-decided`,label:e(`settings:brain.optWhenDecided`)},{value:`always`,label:e(`settings:brain.optAlways`)}],onChange:e=>h({llm:{denyIsTerminal:e}}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.traceHeading`)}),(0,Z.jsx)($,{label:e(`settings:brain.traceRecordLabel`),hint:e(`settings:brain.traceRecordHint`),value:n.trace.enabled,onChange:()=>h({trace:{enabled:!n.trace.enabled}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.traceContentLabel`),hint:e(`settings:brain.traceContentHint`),value:n.trace.content,options:[{value:`full`,label:e(`settings:brain.optFullDefault`)},{value:`redacted`,label:e(`settings:brain.optRedacted`)},{value:`none`,label:e(`settings:brain.optMetadataOnly`)}],onChange:e=>h({trace:{content:e}}),disabled:c}),n.trace.path&&(0,Z.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:n.trace.path})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.cacheHeading`)}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px]`,children:e(`settings:brain.cacheStats`,{hits:n.cache.hits,misses:n.cache.misses,size:n.cache.size})})]}),(0,Z.jsx)($,{label:e(`settings:brain.cacheReplayLabel`),hint:e(`settings:brain.cacheReplayHint`),value:n.cache.enabled,onChange:()=>h({cache:{enabled:!n.cache.enabled}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.cacheLifetimeLabel`),hint:e(`settings:brain.cacheLifetimeHint`),value:String(n.cache.ttlMs),options:Ug(Hg(Pg,String(n.cache.ttlMs)),e),onChange:e=>h({cache:{ttlMs:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.cacheMaxEntriesLabel`),hint:e(`settings:brain.cacheMaxEntriesHint`),value:String(n.cache.maxEntries),options:Ug(Hg(Fg,String(n.cache.maxEntries)),e),onChange:e=>h({cache:{maxEntries:Number(e)}}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.monitorHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.monitorBody`)}),(0,Z.jsx)($,{label:e(`settings:brain.monitorWatchLabel`),hint:e(`settings:brain.monitorWatchHint`),value:n.monitor.enabled!==!1,onChange:()=>h({monitor:{enabled:n.monitor.enabled===!1}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.monitorPolicyLabel`),hint:e(`settings:brain.monitorPolicyHint`),value:n.monitor.policy??`llm`,options:[{value:`llm`,label:e(`settings:brain.optConsultBrain`)},{value:`steer`,label:e(`settings:brain.optAlwaysSteer`)},{value:`observe`,label:e(`settings:brain.optObserveOnly`)}],onChange:e=>h({monitor:{policy:e}}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.modelsHeading`)}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px]`,children:n.usingSessionModel?e(`settings:brain.modelsSessionBadge`):e(`settings:brain.modelsResolvedBadge`,{resolved:n.poolLabels.length,total:n.models.length})})]}),(0,Z.jsx)($,{label:e(`settings:brain.modelsUseSessionLabel`),hint:e(`settings:brain.modelsUseSessionHint`),value:n.usingSessionModel,onChange:()=>{n.usingSessionModel||h({models:null})},disabled:c}),n.models.length>0&&(0,Z.jsx)(`div`,{className:`space-y-1`,children:n.models.map((e,t)=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/50 bg-background/40 px-2 py-1.5 text-xs`,children:[(0,Z.jsxs)(`span`,{className:`text-muted-foreground w-4 shrink-0`,children:[t+1,`.`]}),(0,Z.jsx)(`span`,{className:`flex-1 truncate font-mono`,children:Kg(e)}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,disabled:c||t===0,onClick:()=>{let e=n.models.map(Kg),r=e.splice(t,1)[0];r&&e.splice(t-1,0,r),h({models:e})},children:(0,Z.jsx)(Bt,{className:`h-3 w-3`})}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,disabled:c||t===n.models.length-1,onClick:()=>{let e=n.models.map(Kg),r=e.splice(t,1)[0];r&&e.splice(t+1,0,r),h({models:e})},children:(0,Z.jsx)(Fe,{className:`h-3 w-3`})}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 text-destructive`,disabled:c,onClick:()=>{let e=n.models.map(Kg).filter((e,n)=>n!==t);h({models:e.length>0?e:null})},children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]},`${Kg(e)}-${t}`))}),(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,className:`gap-1.5 text-xs`,disabled:c,onClick:()=>p(`pool`),children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),` `,e(`settings:brain.modelsAddModel`)]}),n.models.length>1&&(0,Z.jsx)(Q,{label:e(`settings:brain.modelsPoolStrategyLabel`),hint:e(`settings:brain.modelsPoolStrategyHint`),value:n.strategy,options:[{value:`fallback`,label:e(`settings:brain.optFallback`)},{value:`round-robin`,label:e(`settings:brain.optRoundRobin`)}],onChange:e=>h({strategy:e}),disabled:c})]}),(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.councilHeading`)}),(0,Z.jsx)(Cm,{variant:n.council.enabled?`default`:`outline`,className:`text-[10px]`,children:n.council.enabled?e(`settings:brain.councilConvened`):e(`settings:brain.councilDisabled`)})]}),(0,Z.jsx)($,{label:e(`settings:brain.councilEnableLabel`),hint:e(`settings:brain.councilEnableHint`),value:n.council.enabled,onChange:()=>h({council:{enabled:!n.council.enabled}}),disabled:c}),n.council.enabled&&n.councilLabels.length>0&&_.length===0&&(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`settings:brain.councilSeatsDerived`,{seats:n.councilLabels.join(`, `)})}),_.length>0&&(0,Z.jsx)(`div`,{className:`space-y-1`,children:_.map((t,n)=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/50 bg-background/40 px-2 py-1.5 text-xs`,children:[(0,Z.jsx)(`span`,{className:`flex-1 truncate font-mono`,children:Kg(t)}),(0,Z.jsxs)(`select`,{value:t.persona??y[n%y.length]?.id??``,onChange:e=>v(_.map((t,r)=>r===n?{...t,persona:e.target.value}:t)),className:`h-6 rounded border bg-background px-1 text-[10px]`,title:y.find(e=>e.id===t.persona)?.description??e(`settings:brain.councilCustomLens`),children:[y.map(e=>(0,Z.jsx)(`option`,{value:e.id,children:e.name},e.id)),t.persona&&!y.some(e=>e.id===t.persona)&&(0,Z.jsx)(`option`,{value:t.persona,children:e(`settings:brain.councilCustomOption`,{persona:t.persona})})]}),(0,Z.jsx)(Y,{variant:t.veto?`default`:`outline`,size:`sm`,className:`h-6 px-1.5 text-[10px]`,disabled:c,onClick:()=>v(_.map((e,t)=>t===n?{...e,veto:!e.veto}:e)),children:e(`settings:brain.councilVeto`)}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 text-destructive`,disabled:c,onClick:()=>v(_.filter((e,t)=>t!==n)),children:(0,Z.jsx)(hr,{className:`h-3 w-3`})})]},`${Kg(t)}-${n}`))}),(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,className:`gap-1.5 text-xs`,disabled:c,onClick:()=>p(`voter`),children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`}),` `,e(`settings:brain.councilAddVoter`)]}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilRiskFloorLabel`),hint:e(`settings:brain.councilRiskFloorHint`),value:n.council.minRisk,options:[{value:`medium`,label:e(`settings:brain.optMediumPlus`)},{value:`high`,label:e(`settings:brain.optHighPlus`)},{value:`critical`,label:e(`settings:brain.optCriticalOnly`)}],onChange:e=>h({council:{minRisk:e}}),disabled:c}),(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-3 py-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`text-sm font-medium`,children:e(`settings:brain.councilJudge`)}),(0,Z.jsx)(`div`,{className:`mt-0.5 text-xs text-muted-foreground`,children:e(`settings:brain.councilJudgeDesc`)}),!n.council.judge&&n.judgeLabel&&(0,Z.jsxs)(`div`,{className:`mt-0.5 font-mono text-xs text-muted-foreground`,children:[e(`settings:brain.councilResolved`,{model:n.judgeLabel}),n.judgeIsVoter&&(0,Z.jsx)(`span`,{className:`ml-1 font-sans text-warning`,children:e(`settings:brain.councilAlsoVoter`)})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`max-w-[180px] truncate font-mono text-xs`,children:n.council.judge?Kg(n.council.judge):e(`settings:brain.councilAuto`)}),(0,Z.jsx)(Y,{variant:`outline`,size:`sm`,className:`h-7 text-xs`,disabled:c,onClick:()=>p(`judge`),children:e(`settings:brain.councilPick`)}),n.council.judge&&(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`h-7 text-xs`,disabled:c,onClick:()=>h({council:{judge:null}}),children:e(`settings:brain.councilAutoReset`)})]})]}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilQuorumLabel`),hint:e(`settings:brain.councilQuorumHint`),value:n.council.quorum===void 0?`default`:String(n.council.quorum),options:Ug(Ag,e),onChange:e=>h({council:{quorum:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilApprovalLabel`),hint:e(`settings:brain.councilApprovalHint`),value:n.council.approval===void 0?`default`:String(n.council.approval),options:Ug(Ag,e),onChange:e=>h({council:{approval:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilPerSeatTimeoutLabel`),hint:e(`settings:brain.councilPerSeatTimeoutHint`),value:Wg(n.council.perCallTimeoutMs),options:Ug(Hg(Ig,Wg(n.council.perCallTimeoutMs)),e),onChange:e=>h({council:{perCallTimeoutMs:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilMaxConcurrencyLabel`),hint:e(`settings:brain.councilMaxConcurrencyHint`),value:Wg(n.council.maxConcurrency),options:Ug(Hg(Lg,Wg(n.council.maxConcurrency)),e),onChange:e=>h({council:{maxConcurrency:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilDistinctnessLabel`),hint:e(`settings:brain.councilDistinctnessHint`),value:n.council.distinctness,options:[{value:`none`,label:e(`settings:brain.optNoneDefault`)},{value:`model`,label:e(`settings:brain.optDistinctModels`)},{value:`provider`,label:e(`settings:brain.optDistinctProviders`)}],onChange:e=>h({council:{distinctness:e}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilVoterBudgetLabel`),hint:e(`settings:brain.councilVoterBudgetHint`),value:Wg(n.council.voterMaxTokens),options:Ug(Hg(Rg,Wg(n.council.voterMaxTokens)),e),onChange:e=>h({council:{voterMaxTokens:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.councilJudgeBudgetLabel`),hint:e(`settings:brain.councilJudgeBudgetHint`),value:Wg(n.council.judgeMaxTokens),options:Ug(Hg(zg,Wg(n.council.judgeMaxTokens)),e),onChange:e=>h({council:{judgeMaxTokens:e==="default"?null:Number(e)}}),disabled:c}),n.council.seats.length>0&&(0,Z.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[e(`settings:brain.councilSeatTemplate`),` `,n.council.seats.map(t=>t.veto?`${t.persona} (${e(`settings:brain.councilVeto`)})`:t.persona).join(`, `)]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1 rounded-md border border-border/70 bg-muted/20 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.ledgerHeading`)}),(0,Z.jsx)($,{label:e(`settings:brain.ledgerRecordLabel`),hint:e(`settings:brain.ledgerRecordHint`),value:n.ledger.enabled,onChange:()=>h({ledger:{enabled:!n.ledger.enabled}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.ledgerAutoDenyLabel`),hint:e(`settings:brain.ledgerAutoDenyHint`),value:n.ledger.autoDenyAfterFailures===void 0?`default`:String(n.ledger.autoDenyAfterFailures),options:[{value:`default`,label:e(`settings:brain.optDefault3`)},{value:`0`,label:e(`settings:brain.optOff`)},{value:`2`,label:`2`},{value:`3`,label:`3`},{value:`5`,label:`5`}],onChange:e=>h({ledger:{autoDenyAfterFailures:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.ledgerMemoryEntriesLabel`),hint:e(`settings:brain.ledgerMemoryEntriesHint`),value:Wg(n.ledger.maxMemoryEntries),options:Ug(Hg(Bg,Wg(n.ledger.maxMemoryEntries)),e),onChange:e=>h({ledger:{maxMemoryEntries:e==="default"?null:Number(e)}}),disabled:c}),(0,Z.jsx)(Q,{label:e(`settings:brain.ledgerRetryWindowLabel`),hint:e(`settings:brain.ledgerRetryWindowHint`),value:Wg(n.ledger.interventionRetryWindowMs),options:Ug(Hg(Vg,Wg(n.ledger.interventionRetryWindowMs)),e),onChange:e=>h({ledger:{interventionRetryWindowMs:e==="default"?null:Number(e)}}),disabled:c}),n.ledger.path&&(0,Z.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:n.ledger.path})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-card/70 p-3`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium`,children:e(`settings:brain.recentHeading`,{count:i.length})}),(0,Z.jsx)(`div`,{className:`space-y-1 max-h-[300px] overflow-y-auto`,children:i.length===0?(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground py-2`,children:e(`settings:brain.recentEmpty`)}):i.map(e=>(0,Z.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-border/50 bg-background/40 px-2 py-1.5 text-xs`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-8`,children:e.age}),(0,Z.jsx)(Cm,{variant:`outline`,className:`text-[10px] shrink-0`,children:e.kind}),(0,Z.jsx)(`span`,{className:`flex-1 truncate`,children:e.question}),e.outcome&&(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 italic`,children:e.outcome})]},`${e.age}-${e.kind}-${e.question.slice(0,32)}`))})]})]})}function Yg(){let{t:e}=H();return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Ai,{className:`h-5 w-5 text-info`}),(0,Z.jsx)(`h3`,{className:`text-lg font-semibold`,children:e(`activity:shadow.shadowAgent`)})]}),(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e(`activity:shadow.theShadowAgentMonitorsAllFleet`)}),(0,Z.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Start and stop it from the chat with`,` `,(0,Z.jsx)(`code`,{className:`font-mono text-xs`,children:`/shadow start`}),` and`,` `,(0,Z.jsx)(`code`,{className:`font-mono text-xs`,children:`/shadow stop`}),`. This panel cannot control it yet.`]})]})}function Xg({disabled:e,direct:t}){let n=e?`bg-muted-foreground`:t?`bg-success`:`bg-info`,r=e?`disabled`:t?`direct provider tool`:`lazy catalog tool`;return(0,Z.jsx)(`span`,{className:`inline-block h-2 w-2 shrink-0 rounded-full ${n}`,title:r})}function Zg({tool:e,onToggle:t,busy:n}){let{t:r}=H(),[i,a]=(0,X.useState)(!1);return(0,Z.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border/70 bg-card/70 p-3 transition-colors hover:bg-card`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2 sm:flex-row sm:items-start`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,Z.jsx)(Xg,{disabled:e.disabled,direct:e.direct}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`code`,{className:`block truncate text-sm font-mono font-semibold`,title:e.name,children:e.name}),(0,Z.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1.5`,children:[(0,Z.jsx)(Cm,{variant:`outline`,className:`px-1.5 text-[10px]`,children:e.permission}),(0,Z.jsx)(Cm,{variant:`outline`,className:`px-1.5 text-[10px]`,children:e.mutating?`mutating`:`read-only`}),(0,Z.jsx)(Cm,{variant:`outline`,className:`px-1.5 text-[10px]`,children:e.disabled?`disabled`:e.direct?`direct`:`lazy`}),(0,Z.jsx)(`span`,{className:`truncate text-[11px] text-muted-foreground`,title:e.owner,children:e.owner})]})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1`,children:[(0,Z.jsxs)(Y,{variant:e.disabled?`default`:`secondary`,size:`sm`,className:`h-7 gap-1 px-2 text-xs`,onClick:t,disabled:n,children:[n?(0,Z.jsx)(mr,{className:`h-3 w-3 animate-spin`}):e.disabled?(0,Z.jsx)(Ze,{className:`h-3 w-3`}):(0,Z.jsx)(mn,{className:`h-3 w-3`}),e.disabled?`Enable`:`Disable`]}),(0,Z.jsx)(`button`,{type:`button`,className:`rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,onClick:()=>a(!i),"aria-label":i?`Collapse`:`Expand`,children:(0,Z.jsx)(pr,{className:`h-4 w-4 transition-transform ${i?`rotate-180`:``}`})})]})]}),i&&(0,Z.jsxs)(`div`,{className:`space-y-1 border-t border-border/60 pt-2 text-xs text-muted-foreground sm:ml-4`,children:[(0,Z.jsx)(`p`,{children:e.description}),e.params.length>0&&(0,Z.jsxs)(`p`,{children:[r(`activity:toolsSec.params`),` `,(0,Z.jsx)(`code`,{className:`break-all font-mono`,children:e.params.join(`, `)})]})]})]})}function Qg(){let{t:e}=H(),{client:t}=aa(),[n,r]=(0,X.useState)([]),[i,a]=(0,X.useState)(!0),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(new Set);(0,X.useEffect)(()=>{let e=t.on(`tools.list`,e=>{let t=e.payload;r(t.tools),a(!1)}),n=e=>{if(e.type===`tool.disabled`||e.type===`tool.enabled`){let n=e.payload;l(e=>{let t=new Set(e);return t.delete(n.name),t}),n.ok?t.send({type:`tools.list`},{echoToChat:!1}):p.error(`Tool "${n.name}" ${e.type===`tool.disabled`?`disable`:`enable`} failed.`)}},i=t.on(`tool.disabled`,n),o=t.on(`tool.enabled`,n);return()=>{e(),i(),o()}},[t]),(0,X.useEffect)(()=>{t.send({type:`tools.list`},{echoToChat:!1})},[t]);let u=(0,X.useCallback)((e,n)=>{l(t=>new Set(t).add(e)),t.send({type:n?`tool.enable`:`tool.disable`,payload:{name:e}})},[t]),d=o?n.filter(e=>e.name.toLowerCase().includes(o.toLowerCase())||e.owner.toLowerCase().includes(o.toLowerCase())):n,f=n.filter(e=>!e.disabled&&e.direct).length,m=n.filter(e=>!e.disabled&&!e.direct).length,h=n.filter(e=>e.disabled).length;return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(si,{className:`h-5 w-5`})}),(0,Z.jsx)(`h3`,{className:`text-base font-semibold`,children:e(`activity:toolsSec.tools`)})]}),!i&&(0,Z.jsxs)(`span`,{className:`rounded-md border border-border/60 bg-muted/30 px-2 py-1 text-xs text-muted-foreground sm:ml-auto`,children:[f,` direct · `,m,` lazy · `,h,` disabled · `,n.length,` `,`total`]})]}),(0,Z.jsxs)(`div`,{className:`relative`,children:[(0,Z.jsx)(yi,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,Z.jsx)(Ia,{placeholder:e(`activity:toolsSec.filterToolsByNameOrOwner`),value:o,onChange:e=>s(e.target.value),className:`pl-8 h-9 text-sm`})]}),i?(0,Z.jsxs)(`div`,{className:`flex items-center justify-center py-8 text-muted-foreground gap-2`,children:[(0,Z.jsx)(mr,{className:`h-4 w-4 animate-spin`}),e(`activity:toolsSec.loadingTools`)]}):d.length===0?(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:o?`No tools matching "${o}".`:`No tools registered.`}):(0,Z.jsxs)(`div`,{className:`relative overflow-hidden rounded-lg border border-border/70 bg-background/35 shadow-inner`,children:[(0,Z.jsx)(`ul`,{className:`max-h-[min(58dvh,660px)] space-y-2 overflow-y-auto p-2 pr-3 [scrollbar-gutter:stable]`,"aria-label":e(`activity:toolsSec.toolsList`),children:d.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsx)(Zg,{tool:e,onToggle:()=>u(e.name,e.disabled),busy:c.has(e.name)})},e.name))}),(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 top-0 h-4 bg-gradient-to-b from-background/90 to-transparent`}),(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-0 h-8 bg-gradient-to-t from-background/95 to-transparent`})]})]})}function $g(){let{t:e}=H();return(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 mb-4 pb-3 border-b border-border/50`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Ai,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:e(`settings:security.brainHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:e(`settings:security.brainHint`)})]})]}),(0,Z.jsx)(Jg,{})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 mb-4 pb-3 border-b border-border/50`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Ai,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:e(`settings:security.shadowHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:e(`settings:security.shadowHint`)})]})]}),(0,Z.jsx)(Yg,{})]}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 mb-4 pb-3 border-b border-border/50`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Ai,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:e(`settings:security.toolsHeading`)}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:e(`settings:security.toolsHint`)})]})]}),(0,Z.jsx)(Qg,{})]})]})}function e_(e,t,n,r,i){e.set({[r]:i}),t({[r]:i}),r===`contextMode`&&typeof i==`string`&&n(i)}var t_=[{id:`general`,icon:(0,Z.jsx)(Ie,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.general`,descKey:`settings:tabs.generalDesc`},{id:`provider`,icon:(0,Z.jsx)(On,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.provider`,descKey:`settings:tabs.providerDesc`},{id:`connection`,icon:(0,Z.jsx)(jt,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.connection`,descKey:`settings:tabs.connectionDesc`},{id:`agent`,icon:(0,Z.jsx)(Fi,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.agent`,descKey:`settings:tabs.agentDesc`},{id:`execution`,icon:(0,Z.jsx)(lr,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.execution`,descKey:`settings:tabs.executionDesc`},{id:`fallbacks`,icon:(0,Z.jsx)(Ri,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.fallbacks`,descKey:`settings:tabs.fallbacksDesc`},{id:`routing`,icon:(0,Z.jsx)(Sr,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.routing`,descKey:`settings:tabs.routingDesc`},{id:`fleet`,icon:(0,Z.jsx)(dn,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.fleet`,descKey:`settings:tabs.fleetDesc`},{id:`integrations`,icon:(0,Z.jsx)(Li,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.integrations`,descKey:`settings:tabs.integrationsDesc`},{id:`chimera`,icon:(0,Z.jsx)(Qn,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.chimera`,descKey:`settings:tabs.chimeraDesc`},{id:`context`,icon:(0,Z.jsx)(Tr,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.context`,descKey:`settings:tabs.contextDesc`},{id:`logs`,icon:(0,Z.jsx)(Vi,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.logs`,descKey:`settings:tabs.logsDesc`},{id:`security`,icon:(0,Z.jsx)(zn,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.security`,descKey:`settings:tabs.securityDesc`},{id:`display`,icon:(0,Z.jsx)(Ie,{className:`h-3.5 w-3.5`}),labelKey:`settings:tabs.display`,descKey:`settings:tabs.displayDesc`}];function n_(){let{settingsActiveTab:e,setSettingsActiveTab:n}=K(Mn(e=>({settingsActiveTab:e.settingsActiveTab,setSettingsActiveTab:e.setSettingsActiveTab}))),r=Up(`settings`),i=(0,X.useRef)(!1),[a,o]=(0,X.useState)(!1),{provider:s,model:c,setProvider:l,setModel:u,wsConnected:d}=t(Mn(e=>({provider:e.provider,model:e.model,setProvider:e.setProvider,setModel:e.setModel,wsConnected:e.wsConnected}))),f=aa(),m=f.client,{updatePrefs:h,switchAutonomy:g,switchContextMode:_}=f,v=U(),{t:y}=H(),b=Ha(!0),x=(0,X.useCallback)((e,t)=>{e_(v,h,_,e,t)},[v,h,_]),[S,C]=(0,X.useState)([]),[w,T]=(0,X.useState)({}),[E,D]=(0,X.useState)([]),[O,k]=(0,X.useState)(!1),[A,j]=(0,X.useState)(!1),[M,ee]=(0,X.useState)(!1),[N,P]=(0,X.useState)(`catalog`),[F,te]=(0,X.useState)(``),[ne,I]=(0,X.useState)(!1),L=(0,X.useCallback)(()=>{v.reset(),I(!1),window.location.reload()},[v]),R=S.find(e=>e.id===s),re=t_.find(t=>t.id===e);(0,X.useEffect)(()=>{let e=e=>{if(e.type===`provider.catalog`){let t=e.payload;C(t.providers.sort((e,t)=>e.id.localeCompare(t.id))),k(!1)}},t=e=>{if(e.type===`provider.models`){let t=e.payload;T(e=>({...e,[t.provider]:t.models})),j(!1)}},n=e=>{if(e.type===`providers.saved`){let t=e.payload.providers.sort((e,t)=>e.id.localeCompare(t.id));D(t),ee(!1),t.length>0&&P(`saved`)}};if(!d||!m)return;let r=m.on(`provider.catalog`,e),i=m.on(`provider.models`,t),a=m.on(`providers.saved`,n);return k(!0),ee(!0),m.listProviders(),m.listSavedProviders(),()=>{r?.(),i?.(),a?.()}},[d,m]);let ie=(0,X.useCallback)(e=>{l(e),w[e]||(j(!0),f.listProviderModels?.(e))},[w,l,f]),ae=(0,X.useCallback)(async e=>{if(i.current)return;let n=t.getState().model,r=t.getState().provider;if(!(!r||e===n)){i.current=!0,o(!0),u(e);try{p.info(V.t(`settings:toast.switchingTo`,{provider:r,model:e}));let t=await f.switchModel?.(r,e);t?.success?p.success(V.t(t.runActive?`settings:toast.modelSwitchedRunActive`:`settings:toast.modelSwitchedNextRequest`,{from:`${r} / ${n}`,to:`${r} / ${e}`})):(u(n),p.error(t?.message??V.t(`settings:toast.modelSwitchTimeout`)))}finally{i.current=!1,o(!1)}}},[u,f]),z=(0,X.useCallback)((e,t,n)=>{f.addKey?.(e,t,n)},[f]),oe=(0,X.useCallback)((e,t)=>{f.deleteKey?.(e,t)},[f]),se=(0,X.useCallback)((e,t)=>{f.setActiveKey?.(e,t)},[f]),ce=(0,X.useCallback)((e,t,n,r,i,a)=>{f.addProvider?.(e,t,n,r,i,a)},[f]),le=(0,X.useCallback)(e=>{f.removeProvider?.(e)},[f]),ue=(0,X.useCallback)((e,n)=>{f.client.updateProvider({id:e,models:[n]}),e===t.getState().provider&&u(n)},[u,f.client]);return(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col bg-gradient-to-b from-background/90 via-background/60 to-background/80`,children:[(0,Z.jsxs)(`header`,{className:`flex items-center justify-between px-4 py-3 border-b border-border/60 bg-card/60 backdrop-blur-xl shrink-0 shadow-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:(0,Z.jsx)(Er,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h1`,{className:`text-lg font-semibold bg-gradient-to-r from-foreground to-foreground/70 bg-clip-text text-transparent`,children:y(`settings:title`)}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-[11px] text-muted-foreground`,children:s&&c?`${s} / ${c}`:y(`settings:subtitle`)})]})]}),(0,Z.jsx)(Y,{variant:`ghost`,size:`icon`,onClick:()=>J(`chat`),children:(0,Z.jsx)(hr,{className:`h-4 w-4`})}),(0,Z.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:()=>I(!0),children:y(`settings:resetLabel`)})]}),(0,Z.jsx)(_s,{className:`min-h-0 flex-1`,ref:r,children:(0,Z.jsx)(`div`,{className:`mx-auto max-w-7xl p-4 sm:p-6`,children:(0,Z.jsxs)(ys,{value:e,onValueChange:n,className:`grid min-h-[calc(100dvh-9rem)] gap-3 lg:grid-cols-[13.5rem_minmax(0,1fr)] lg:gap-5`,children:[(0,Z.jsxs)(`div`,{className:`relative min-w-0`,children:[(0,Z.jsx)(bs,{className:`flex h-auto w-full justify-start gap-0.5 overflow-x-auto rounded-lg border border-border/60 bg-card/60 p-1.5 shadow-sm [scrollbar-gutter:stable] lg:sticky lg:top-4 lg:flex-col lg:overflow-visible lg:rounded-xl lg:bg-card/60 lg:p-2`,children:t_.map(e=>(0,Z.jsxs)(xs,{value:e.id,className:`h-9 shrink-0 gap-2.5 rounded-md px-3 text-xs scroll-mt-2 data-[state=active]:bg-primary/10 data-[state=active]:text-primary data-[state=active]:shadow-sm lg:w-full lg:justify-start lg:px-3`,children:[(0,Z.jsx)(`span`,{className:`shrink-0`,children:e.icon}),(0,Z.jsx)(`span`,{className:`truncate`,children:y(e.labelKey)})]},e.id))}),(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-y-1 left-0 z-10 w-8 rounded-l-lg bg-gradient-to-r from-background via-background/90 to-transparent lg:hidden`}),(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-y-1 right-0 z-10 w-8 rounded-r-lg bg-gradient-to-l from-background via-background/90 to-transparent lg:hidden`})]}),(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-0`,children:[re?.descKey&&(0,Z.jsxs)(`div`,{className:`mb-4 flex items-start gap-3 rounded-xl border border-border/60 bg-card/50 px-4 py-3`,children:[(0,Z.jsx)(`span`,{className:`mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-primary`,children:re.icon}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`p`,{className:`text-sm font-semibold`,children:y(re.labelKey)}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:y(re.descKey)})]})]}),(0,Z.jsx)(Ss,{value:`general`,className:`mt-0`,children:(0,Z.jsx)(Am,{})}),(0,Z.jsxs)(Ss,{value:`provider`,className:`mt-0 space-y-4`,children:[(0,Z.jsx)(lg,{activeProvider:s,catalogProviders:S,isLoadingCatalog:O,savedProviders:E,isLoadingSaved:M,providerTab:N,setProviderTab:P,onSelectProvider:ie,onAddKey:z,onDeleteKey:oe,onSetActiveKey:se,onAddProvider:ce,onRemoveProvider:le,onPickProviderModel:ue,ws:f.client,catalogQuery:F,setCatalogQuery:te}),(0,Z.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:[(0,Z.jsxs)(`h3`,{className:`text-sm font-semibold mb-4 flex items-center gap-2`,children:[(0,Z.jsx)(jr,{className:`h-4 w-4 text-muted-foreground`}),y(`settings:model.heading`)]}),(0,Z.jsx)(uh,{provider:s,catalogModels:w,currentCatalogProvider:R,isLoadingModels:A,setIsLoadingModels:j,onModelSelect:ae,isSwitching:a,refreshModels:e=>f.listProviderModels?.(e)}),(0,Z.jsx)(lh,{syncPref:x})]})]}),(0,Z.jsx)(Ss,{value:`connection`,className:`mt-0`,children:(0,Z.jsx)(km,{})}),(0,Z.jsx)(Ss,{value:`agent`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(pm,{syncPref:x,switchAutonomy:g})}),(0,Z.jsx)(Ss,{value:`execution`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(Gm,{syncPref:x,fallbackCandidates:b})}),(0,Z.jsx)(Ss,{value:`fallbacks`,className:`mt-0`,children:(0,Z.jsx)(Zm,{syncPref:x,candidates:b,provider:s,activeModel:c,setProvider:l,setModel:u,switchModel:f.switchModel})}),(0,Z.jsxs)(Ss,{value:`routing`,className:`mt-0`,children:[(0,Z.jsx)(Sg,{syncPref:x,candidates:b}),(0,Z.jsx)(`div`,{className:`mt-6 border-t border-border pt-6`,children:(0,Z.jsx)(ph,{syncPref:x})})]}),(0,Z.jsx)(Ss,{value:`fleet`,className:`mt-0`,children:(0,Z.jsx)(Qm,{syncPref:x})}),(0,Z.jsx)(Ss,{value:`integrations`,className:`mt-0`,children:(0,Z.jsx)(sh,{syncPref:x})}),(0,Z.jsx)(Ss,{value:`chimera`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(`div`,{className:`rounded-xl border border-border/70 bg-card/80 p-5 shadow-sm`,children:(0,Z.jsx)(jm,{syncPref:x,sessionProvider:s,sessionModel:c})})}),(0,Z.jsx)(Ss,{value:`context`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(Lm,{syncPref:x})}),(0,Z.jsx)(Ss,{value:`logs`,className:`mt-0 space-y-6`,children:(0,Z.jsx)(ch,{syncPref:x})}),(0,Z.jsx)(Ss,{value:`security`,className:`mt-0`,children:(0,Z.jsx)($g,{})}),(0,Z.jsx)(Ss,{value:`display`,className:`mt-0`,children:(0,Z.jsx)(Hm,{syncPref:x})})]})]})})}),(0,Z.jsx)(Fa,{open:ne,onOpenChange:I,children:(0,Z.jsxs)(Ma,{showCloseButton:!1,children:[(0,Z.jsxs)(Aa,{children:[(0,Z.jsx)(Na,{children:y(`settings:resetConfirmTitle`)}),(0,Z.jsx)(Pa,{children:y(`settings:resetConfirmBody`)})]}),(0,Z.jsxs)(ja,{className:`gap-2 sm:gap-0`,children:[(0,Z.jsx)(Y,{variant:`outline`,onClick:()=>I(!1),children:y(`settings:cancel`)}),(0,Z.jsx)(Y,{variant:`destructive`,onClick:L,children:y(`settings:resetConfirmAction`)})]})]})})]})}function r_(){let e=pa(e=>e.info),{client:t}=aa(),n=(0,X.useRef)(null),r=(0,X.useCallback)(()=>{t?.getGitInfo?.()},[t]);return(0,X.useEffect)(()=>(r(),n.current=setInterval(r,3e4),()=>{n.current&&clearInterval(n.current)}),[r]),e}var i_=new Map,a_=new Set;y(e=>{i_.delete(e),a_.add(e)});function o_({sessionId:e,className:n}){let{t:r}=H(),[i,a]=(0,X.useState)([]),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(0),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(!1),[v,y]=(0,X.useState)(``),[b,x]=(0,X.useState)(``),[S,C]=(0,X.useState)(!1),[w,T]=(0,X.useState)(``),E=(0,X.useRef)(e),D=t(e=>e.wsUrl),O=B(D),k=q(e=>e.messages).filter(e=>e.role===`tool`&&e.toolResult===void 0&&!!e.toolUseId);(0,X.useLayoutEffect)(()=>{let t=E.current;a_.has(t)||i_.set(t,{participants:i,joined:o,joinedRole:c,error:u,openAnnotationCount:f,paused:m,injectOpen:g,injectToolUseId:v,injectContent:b,injectIsError:S,injectReason:w});let n=i_.get(e);a_.delete(e),a(n?.participants??[]),s(n?.joined??!1),l(n?.joinedRole??null),d(n?.error??null),p(n?.openAnnotationCount??0),h(n?.paused??!1),_(n?.injectOpen??!1),y(n?.injectToolUseId??``),x(n?.injectContent??``),C(n?.injectIsError??!1),T(n?.injectReason??``),E.current=e},[e]),(0,X.useEffect)(()=>{let t=[];return t.push(O.on(`collab.state`,t=>{let n=t.payload;n.sessionId===e&&a(n.participants??[])})),t.push(O.on(`collab.participant.joined`,t=>{let n=t.payload;n.sessionId===e&&a(e=>e.some(e=>e.participantId===n.participantId)?e:[...e,{participantId:n.participantId,role:n.role,joinedAt:n.joinedAt}])})),t.push(O.on(`collab.participant.left`,t=>{let n=t.payload;if(n.sessionId!==e)return;let r=n.participantId;a(e=>e.filter(e=>e.participantId!==r))})),t.push(O.on(`error`,e=>{let t=e.payload;t.phase===`collab`&&(d(t.message),s(!1))})),t.push(O.on(`collab.annotation.added`,t=>{let n=t.payload;n.sessionId===e&&(n.annotation?.resolved||p(e=>e+1))})),t.push(O.on(`collab.annotation.resolved`,t=>{t.payload.sessionId===e&&p(e=>Math.max(0,e-1))})),t.push(O.on(`collab.pause.granted`,t=>{t.payload.sessionId===e&&h(!0)})),t.push(O.on(`collab.pause.released`,t=>{t.payload.sessionId===e&&h(!1)})),()=>{for(let e of t)e()}},[O,e]);let A=(t=`observer`)=>{d(null),O.send({type:`collab.join`,payload:{sessionId:e,role:t}}),s(!0),l(t)},j=()=>{O.send({type:`collab.request_pause`,payload:{sessionId:e}})},M=()=>{O.send({type:`collab.resume`,payload:{sessionId:e}})},ee=()=>{O.send({type:`collab.leave`,payload:{sessionId:e}}),s(!1),a([])},N=t=>{O.send({type:`collab.grant_control`,payload:{sessionId:e,toParticipant:t}})},P=()=>{v&&(O.send({type:`collab.inject_tool`,payload:{sessionId:e,toolUseId:v,content:b,isError:S,reason:w.trim()||V.t(`activity:collab.controllerInjection`)}}),_(!1),y(``),x(``),C(!1),T(``))},F=o&&c===`controller`;return i.length===0&&!u?(0,Z.jsxs)(`div`,{className:G(`flex items-center gap-2 px-3 py-2 rounded-md border border-dashed border-border bg-card/40`,n),children:[(0,Z.jsx)(tr,{className:`w-4 h-4 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:r(`activity:collab.noObservers`)}),(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>A(`observer`),className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,title:r(`activity:collab.observerTitle`),children:[(0,Z.jsx)(cr,{className:`w-3 h-3`}),r(`activity:collab.observerRole`)]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>A(`annotator`),className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-warning/40 bg-warning/10 text-warning hover:bg-warning/20 transition-colors`,title:r(`activity:collab.annotatorTitle`),children:[(0,Z.jsx)(dr,{className:`w-3 h-3`}),r(`activity:collab.annotatorRole`)]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>A(`controller`),className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/20 transition-colors`,title:r(`activity:collab.controllerTitle`),children:[(0,Z.jsx)(Ht,{className:`w-3 h-3`}),r(`activity:collab.controllerRole`)]})]})]}):u?(0,Z.jsxs)(`div`,{className:G(`flex items-center gap-2 px-3 py-2 rounded-md border border-destructive/50 bg-destructive/10`,n),role:`alert`,children:[(0,Z.jsx)(`span`,{className:`text-xs text-destructive`,children:r(`activity:collab.errorPrefix`,{error:u})}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{d(null),s(!1)},className:`ml-auto text-xs underline text-destructive`,children:r(`activity:collab.dismiss`)})]}):(0,Z.jsxs)(`div`,{className:G(`relative flex items-center gap-2 px-3 py-2 rounded-md border border-success/40 bg-success/5`,n),children:[(0,Z.jsxs)(`span`,{className:`relative flex h-2 w-2`,role:`img`,"aria-label":r(`common:status.live`),children:[(0,Z.jsx)(`span`,{className:`absolute inline-flex h-full w-full rounded-full bg-success opacity-75 animate-ping`}),(0,Z.jsx)(`span`,{className:`relative inline-flex rounded-full h-2 w-2 bg-success`})]}),(0,Z.jsx)(tr,{className:`w-4 h-4 text-success`}),(0,Z.jsx)(`span`,{className:`text-xs font-medium text-success`,children:r(`activity:collab.observers`,{count:i.length})}),f>0&&(0,Z.jsxs)(`span`,{title:r(`activity:collab.annotationsTitle`,{count:f}),className:`ml-2 inline-flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-warning/15 text-warning border border-warning/30`,children:[(0,Z.jsx)(dr,{className:`w-3 h-3`}),r(`activity:collab.notes`,{count:f})]}),m&&(0,Z.jsxs)(`span`,{title:r(`activity:collab.pausedTitle`),className:`ml-2 inline-flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-destructive/15 text-destructive border border-destructive/40`,children:[(0,Z.jsx)(Ht,{className:`w-3 h-3`}),r(`activity:collab.paused`)]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1 ml-2`,children:[i.slice(0,3).map(e=>(0,Z.jsxs)(`span`,{title:r(`activity:collab.joinedTitle`,{time:new Date(e.joinedAt).toLocaleTimeString()}),className:`inline-flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-success/10 text-success`,children:[(0,Z.jsx)(Ai,{className:`w-3 h-3`}),e.role,F&&e.role!==`controller`&&(0,Z.jsx)(`button`,{type:`button`,onClick:()=>N(e.participantId),title:r(`activity:collab.grantTitle`),className:`ml-0.5 inline-flex items-center rounded hover:bg-success/20 transition-colors`,children:(0,Z.jsx)(He,{className:`w-3 h-3`})})]},e.participantId)),i.length>3&&(0,Z.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[`+`,i.length-3]})]}),F&&(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>_(e=>!e),className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-info/40 bg-info/10 text-info hover:bg-info/20 transition-colors`,title:r(`activity:collab.injectTitle`),children:[(0,Z.jsx)(cn,{className:`w-3 h-3`}),r(`activity:collab.inject`)]}),m?(0,Z.jsxs)(`button`,{type:`button`,onClick:M,className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/20 transition-colors`,title:r(`activity:collab.resumeTitle`),children:[(0,Z.jsx)(qt,{className:`w-3 h-3`}),r(`activity:collab.resume`)]}):(0,Z.jsxs)(`button`,{type:`button`,onClick:j,className:`inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-warning/40 bg-warning/10 text-warning hover:bg-warning/20 transition-colors`,title:r(`activity:collab.pauseTitle`),children:[(0,Z.jsx)(Ht,{className:`w-3 h-3`}),r(`activity:collab.pauseAgent`)]})]}),o&&c!==`controller`&&(0,Z.jsxs)(`button`,{type:`button`,onClick:ee,className:`ml-auto inline-flex items-center gap-1 text-xs px-2 py-1 rounded border border-border hover:bg-muted transition-colors`,title:r(`activity:collab.leaveTitle`),children:[(0,Z.jsx)(Ur,{className:`w-3 h-3`}),r(`activity:collab.leave`)]}),F&&g&&(0,Z.jsxs)(`div`,{className:`absolute top-full left-0 right-0 mt-1 z-50 flex flex-col gap-2 p-3 rounded-md border border-info/40 bg-card shadow-lg text-xs`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(cn,{className:`w-3.5 h-3.5 text-info`}),(0,Z.jsx)(`span`,{className:`font-medium`,children:r(`activity:collab.injectToolResult`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>_(!1),className:`ml-auto text-muted-foreground hover:text-foreground`,children:r(`activity:collab.close`)})]}),(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:r(`activity:collab.targetTool`)}),(0,Z.jsx)(`input`,{list:`collab-inject-tools`,value:v,onChange:e=>y(e.target.value),placeholder:r(`activity:collab.targetPlaceholder`),className:`px-2 py-1 rounded border border-border bg-background font-mono`}),(0,Z.jsx)(`datalist`,{id:`collab-inject-tools`,children:k.map(e=>{let t=e.toolInput===void 0?``:` — ${JSON.stringify(e.toolInput).slice(0,40)}`;return(0,Z.jsxs)(`option`,{value:e.toolUseId,children:[e.toolName??r(`activity:collab.toolFallback`),t]},e.toolUseId)})}),k.length===0&&(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:r(`activity:collab.noPendingTools`)})]}),(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:r(`activity:collab.resultContent`)}),(0,Z.jsx)(`textarea`,{value:b,onChange:e=>x(e.target.value),rows:3,placeholder:r(`activity:collab.resultPlaceholder`),className:`px-2 py-1 rounded border border-border bg-background font-mono`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsxs)(`label`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:S,onChange:e=>C(e.target.checked)}),(0,Z.jsx)(`span`,{children:r(`activity:collab.markError`)})]}),(0,Z.jsx)(`input`,{type:`text`,value:w,onChange:e=>T(e.target.value),placeholder:r(`activity:collab.reasonPlaceholder`),className:`flex-1 px-2 py-1 rounded border border-border bg-background`})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:P,disabled:!v,className:`self-end inline-flex items-center gap-1 text-xs px-3 py-1 rounded bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors`,children:[(0,Z.jsx)(cn,{className:`w-3 h-3`}),r(`activity:collab.queueInjection`)]})]})]})}var s_={running:{led:`bg-success led-pulse`,badge:`border-success/30 bg-success/10 text-success`,labelKey:`activity:fleet.statusRunning`},completed:{led:`bg-success`,badge:`border-border bg-muted/40 text-muted-foreground`,labelKey:`activity:fleet.statusDone`},failed:{led:`bg-destructive`,badge:`border-destructive/30 bg-destructive/10 text-destructive`,labelKey:`activity:fleet.statusFailed`},timeout:{led:`bg-warning`,badge:`border-warning/30 bg-warning/10 text-warning`,labelKey:`activity:fleet.statusTimeout`},stopped:{led:`bg-muted-foreground`,badge:`border-border bg-muted text-muted-foreground`,labelKey:`activity:fleet.statusStopped`}};function c_({className:e}){let{t}=H(),n=z(e=>e.agents),i=P(),[a,o]=(0,X.useState)(null),s=(0,X.useMemo)(()=>{let e=Array.from(n.values()).filter(e=>r(e.sessionId,i));return e.sort(b),e},[n,i]),c=(0,X.useCallback)(async(e,t)=>{try{await navigator.clipboard.writeText(t),o(e),setTimeout(()=>o(null),2e3)}catch{}},[]),l=(0,X.useCallback)(e=>{K.getState().setSubagentChatFocus(e,i??void 0),K.getState().setDockSection(null)},[i]);if(s.length===0)return(0,Z.jsx)(`div`,{className:G(`p-4 text-center text-xs text-muted-foreground`,e),children:t(`activity:agents.noAgentsRunning`)});let u=Se(s),d=s.reduce((e,t)=>e+(t.costUsd??0),0);return(0,Z.jsxs)(`div`,{className:G(`flex flex-col gap-3`,e),children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 rounded-lg border border-border/70 bg-card/60 px-3 py-2 text-xs backdrop-blur-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(Fi,{className:`h-4 w-4 text-primary shrink-0`}),(0,Z.jsx)(`span`,{className:`font-semibold`,children:t(`activity:dock.fleet`)}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,s.length,`)`]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px]`,children:[u.running>0&&(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 font-medium text-success`,children:[(0,Z.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-success animate-pulse`}),u.running,` `,t(`activity:fleet.statusRunning`)]}),u.completed>0&&(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,children:[u.completed,` `,t(`activity:fleet.statusDone`)]}),u.failed>0&&(0,Z.jsxs)(`span`,{className:`font-medium text-destructive`,children:[u.failed,` `,t(`activity:fleet.statusFailed`)]}),d>0&&(0,Z.jsx)(`span`,{className:`rounded bg-muted/60 px-1.5 py-0.5 font-mono text-[10px] text-foreground/80`,children:Bs(d)})]})]}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-2`,children:s.map(e=>{let n=s_[e.status]??s_.stopped,r=Date.now()-e.startedAt,i=e.description;return(0,Z.jsxs)(`div`,{className:`group flex flex-col gap-2 rounded-lg border border-border/70 bg-card/80 p-3 shadow-xs transition-colors hover:border-primary/40 hover:bg-card`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 min-w-0`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Z.jsx)(`span`,{className:G(`h-2 w-2 rounded-full shrink-0`,n.led)}),(0,Z.jsx)(`span`,{className:`truncate text-xs font-semibold text-foreground`,children:e.name}),(e.provider||e.model)&&(0,Z.jsxs)(`span`,{className:`hidden sm:inline-flex items-center gap-1 rounded bg-muted/60 px-1.5 py-0.5 text-[10px] font-mono text-muted-foreground truncate`,children:[(0,Z.jsx)(jr,{className:`h-3 w-3 shrink-0`}),e.model??e.provider]}),(0,Z.jsx)(`span`,{className:G(`rounded-md border px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wider shrink-0`,n.badge),children:t(n.labelKey)})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] font-mono text-muted-foreground tabular-nums`,children:[(0,Z.jsx)(yn,{className:`h-3 w-3`}),Hs(r)]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>l(e.id),className:`inline-flex items-center gap-1 rounded-md border border-primary/30 bg-primary/10 px-2 py-1 text-xs font-medium text-primary hover:bg-primary/20 transition-colors cursor-pointer`,title:`Open subagent chat tab`,children:[(0,Z.jsx)(Te,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:`Chat Tab`})]})]})]}),i?(0,Z.jsx)(`p`,{className:`text-[11px] text-muted-foreground line-clamp-2 leading-relaxed`,children:i}):null,(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 border-t border-border/40 pt-2 text-[11px]`,children:[(0,Z.jsx)(`div`,{className:`flex items-center gap-2 min-w-0`,children:e.status===`running`&&(e.currentTool||e.lastTool)?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-primary font-mono text-[10px] bg-primary/10 px-1.5 py-0.5 rounded truncate`,children:[(0,Z.jsx)(si,{className:`h-3 w-3 shrink-0 animate-pulse`}),e.currentTool?e.currentTool:`last: ${e.lastTool}`]}):e.error?(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-destructive text-[10px] truncate`,children:[(0,Z.jsx)(In,{className:`h-3 w-3 shrink-0`}),e.error.message]}):(0,Z.jsxs)(`span`,{className:`text-[10px] text-muted-foreground font-mono`,children:[`iter `,e.iteration,` · `,e.toolCalls,` tools`]})}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto`,children:[e.costUsd>0&&(0,Z.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:Bs(e.costUsd)}),e.finalText&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>c(e.id,e.finalText),className:`inline-flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted px-1.5 py-0.5 rounded transition-colors cursor-pointer`,title:t(`activity:fleet.copyOutput`),children:[a===e.id?(0,Z.jsx)(ai,{className:`h-3 w-3 text-success`}):(0,Z.jsx)(Vt,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{children:a===e.id?t(`common:action.copied`):t(`common:action.copy`)})]})]})]})]},e.id)})})]})}var l_={up:(0,Z.jsx)(Ne,{className:`h-3.5 w-3.5 text-success`}),down:(0,Z.jsx)(Pr,{className:`h-3.5 w-3.5 text-destructive`}),stable:(0,Z.jsx)(Ln,{className:`h-3.5 w-3.5 text-warning`})},u_={active:{color:`text-success`,bg:`bg-success/10`,labelKey:`statusActive`},paused:{color:`text-warning`,bg:`bg-warning/10`,labelKey:`statusPaused`},completed:{color:`text-info`,bg:`bg-info/10`,labelKey:`statusDone`},failed:{color:`text-destructive`,bg:`bg-destructive/10`,labelKey:`statusFailed`},abandoned:{color:`text-muted-foreground`,bg:`bg-muted`,labelKey:`statusAbandoned`}};function d_({goal:e,className:t}){let{t:n}=H(),[r,i]=(0,X.useState)(!1);(0,X.useEffect)(()=>{let e=B();e?.send?.({type:`goal.get`});let t=setInterval(()=>{e?.send?.({type:`goal.get`})},1e4);return()=>clearInterval(t)},[]),(0,X.useEffect)(()=>{(!e||e.goalState===`completed`||e.goalState===`failed`||e.goalState===`abandoned`)&&i(!0)},[e]);let a=e?.deliverables??[],o=[...e?.journal??[]].reverse();if(!e||e.goalState===`completed`||e.goalState===`failed`||e.goalState===`abandoned`)return null;let s=u_[e.goalState],c=e.deliverables?.filter(e=>e.status===`done`).length??0,l=e.deliverables?.length??0,u=e.progressTrend?l_[e.progressTrend]:null;return(0,Z.jsxs)(`div`,{className:G(`rounded-lg border border-border bg-card/60 backdrop-blur-sm`,t),children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),className:`flex w-full items-center gap-2 px-3 py-2.5 text-left hover:bg-accent/40 rounded-t-lg transition-colors`,children:[(0,Z.jsx)(ht,{className:`h-4 w-4 text-primary`}),(0,Z.jsx)(`span`,{className:`text-xs font-semibold text-foreground flex-1 min-w-0 truncate`,children:n(`activity:goal.heading`)}),(0,Z.jsx)(`span`,{className:G(`inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium shrink-0`,s.bg,s.color),children:n(`activity:goal.${s.labelKey}`)}),r?(0,Z.jsx)(or,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`}):(0,Z.jsx)(pr,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`})]}),!r&&(0,Z.jsxs)(`div`,{className:`px-3 pb-3 space-y-3 border-t pt-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`text-xs text-foreground leading-relaxed whitespace-pre-wrap break-words`,children:e.goal}),e.refinedGoal&&e.refinedGoal!==e.goal&&(0,Z.jsxs)(`div`,{className:`mt-1.5 p-2 rounded bg-accent/40 border border-border/50`,children:[(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground mb-0.5 uppercase tracking-wider font-medium`,children:n(`activity:goal.refined`)}),(0,Z.jsx)(`p`,{className:`text-xs leading-relaxed whitespace-pre-wrap break-words`,children:e.refinedGoal})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-[10px]`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground uppercase tracking-wider font-medium`,children:n(`activity:goal.progress`)}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 tabular-nums`,children:[u,(0,Z.jsxs)(`span`,{className:`font-medium text-foreground`,children:[e.progress,`%`]})]})]}),(0,Z.jsx)(`div`,{className:`h-1.5 bg-muted rounded-full overflow-hidden`,children:(0,Z.jsx)(`div`,{className:G(`h-full transition-all duration-700 rounded-full`,e.progress>=80?`bg-success`:e.progress>=50?`bg-warning`:`bg-primary`),style:{width:`${e.progress>0?Math.max(2,e.progress):0}%`}})}),e.progressNote&&(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:e.progressNote})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[10px] text-muted-foreground`,children:[(0,Z.jsx)(yn,{className:`h-3 w-3`}),(0,Z.jsx)(`span`,{className:`tabular-nums font-medium`,children:e.iterations}),(0,Z.jsx)(`span`,{children:n(`activity:goal.iterations`)}),e.lastStatus&&(0,Z.jsx)(`span`,{className:`text-border`,children:`·`}),e.lastStatus&&(0,Z.jsx)(`span`,{className:`truncate`,children:e.lastStatus})]}),l>0&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-[10px] text-muted-foreground uppercase tracking-wider font-medium`,children:[(0,Z.jsx)(`span`,{children:n(`activity:goal.deliverables`)}),(0,Z.jsxs)(`span`,{className:`tabular-nums`,children:[c,`/`,l]})]}),(0,Z.jsx)(`ul`,{className:`space-y-0.5`,children:a.map(e=>(0,Z.jsxs)(`li`,{className:`flex items-start gap-1.5 text-[11px]`,children:[e.status===`done`?(0,Z.jsx)(wr,{className:`h-3 w-3 text-success mt-0.5 shrink-0`}):(0,Z.jsx)(_t,{className:`h-3 w-3 text-muted-foreground/70 mt-0.5 shrink-0`}),(0,Z.jsx)(`span`,{className:G(`leading-snug`,e.status===`done`?`text-muted-foreground line-through`:`text-foreground`),children:e.text})]},e.id))})]}),o.length>0&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`p`,{className:`text-[10px] text-muted-foreground uppercase tracking-wider font-medium`,children:n(`activity:goal.recentActivity`)}),(0,Z.jsx)(`div`,{className:`space-y-1`,children:o.map((e,t)=>(0,Z.jsxs)(`div`,{className:`flex items-start gap-1.5 text-[10px] text-muted-foreground`,children:[(0,Z.jsxs)(`span`,{className:`font-mono tabular-nums shrink-0 text-foreground/60`,children:[`#`,e.iteration]}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.task||e.status||e.progressNote||`…`})]},`${e.iteration}-${t}`))})]})]})]})}var f_={in_progress:0,pending:1,completed:2},p_=`__no_session__`,m_=new Map,h_=new Set;y(e=>{m_.delete(e),h_.add(e)});function g_(){let{t:e}=H(),t=j(e=>e.todos),n=P(),[r,i]=(0,X.useState)(new Set),a=B(),o=(0,X.useRef)(n??p_);(0,X.useLayoutEffect)(()=>{h_.has(o.current)||m_.set(o.current,new Set(r));let e=n??p_;h_.delete(e),i(new Set(m_.get(e)??[])),o.current=e},[n]),(0,X.useEffect)(()=>{n&&a.send({type:`todos.get`,payload:{sessionId:n}})},[n,a]);let s=(0,X.useCallback)(e=>{a.removeTodo(e)},[a]),c=(0,X.useCallback)(e=>{if(e.status===`in_progress`)return;let t=e.status===`completed`?`pending`:`completed`;a.updateTodoStatus(e.id,t)},[a]),l=[...t].sort((e,t)=>(f_[e.status]??9)-(f_[t.status]??9)),u=l.filter(e=>e.status===`completed`).length,d=l.filter(e=>e.status===`in_progress`),f=l.filter(e=>e.status===`pending`),p=l.filter(e=>e.status===`completed`),m=p.length>0,h=r.has(`completed`),g=e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},_=t=>{let n=t.status===`in_progress`&&t.activeForm?t.activeForm:t.content,r=t.status===`in_progress`,i=t.status===`completed`,a=!!(t.kanbanBoardId&&t.kanbanTaskId),o=!r&&!(a&&i);return(0,Z.jsxs)(`div`,{className:G(`relative px-3 py-1.5 flex items-start gap-2 text-[13px] group transition-colors`,o&&`hover:bg-accent/40`,r?`bg-warning/8`:i?`bg-success/5`:`bg-background`),children:[o&&(0,Z.jsx)(`button`,{type:`button`,className:`absolute inset-0 cursor-pointer`,"aria-label":e(`activity:todos.toggleAria`,{content:t.content}),onClick:()=>c(t)}),(0,Z.jsx)(`span`,{className:`pointer-events-none relative mt-0.5 shrink-0`,children:i?(0,Z.jsx)(wr,{className:`w-3.5 h-3.5 text-success`}):r?(0,Z.jsx)(yn,{className:`w-3.5 h-3.5 text-warning animate-spin`}):(0,Z.jsx)(_t,{className:G(`w-3.5 h-3.5 transition-colors`,`text-muted-foreground/65 group-hover:text-success`)})}),(0,Z.jsxs)(`span`,{className:G(`pointer-events-none relative leading-snug flex-1 min-w-0`,r?`text-warning font-medium`:i?`text-muted-foreground line-through`:`text-foreground/80`),children:[n,t.blockedBy?.length?(0,Z.jsx)(`span`,{className:`mt-0.5 block text-[11px] text-destructive`,children:e(`activity:todos.blockedBy`,{work:t.blockedBy.join(`; `)})}):null]}),!a&&(0,Z.jsx)(`button`,{type:`button`,onClick:()=>s(t.id),className:`relative shrink-0 p-0.5 rounded opacity-0 group-hover:opacity-50 hover:opacity-100 hover:bg-destructive/10 transition-all`,title:e(`activity:todos.removeTitle`),"aria-label":e(`activity:todos.removeAria`,{content:t.content}),children:(0,Z.jsx)(Rt,{className:`w-3 h-3 text-muted-foreground`})})]},t.id)};return t.length===0?null:(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-card/50 backdrop-blur-sm overflow-hidden`,children:[(0,Z.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2 border-b border-border/50`,children:[(0,Z.jsx)(`h2`,{className:`text-[11px] font-semibold text-foreground uppercase tracking-wider`,children:e(`activity:work.todos`)}),(0,Z.jsxs)(`span`,{className:`tabular text-[10px] text-muted-foreground ml-auto`,children:[u,`/`,t.length]})]}),d.length>0&&(0,Z.jsx)(`div`,{className:`border-b border-border/30 last:border-b-0`,children:d.map(_)}),f.length>0&&(0,Z.jsx)(`div`,{className:`border-b border-border/30 last:border-b-0`,children:f.map(_)}),m&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>g(`completed`),className:`w-full px-3 py-1 flex items-center gap-1.5 text-[10px] text-muted-foreground hover:text-foreground transition-colors`,children:(0,Z.jsxs)(`span`,{className:`tabular`,children:[h?`▶`:`▼`,` `,e(`activity:todos.completedCount`,{count:p.length})]})}),!h&&p.map(_)]})]})}var __={pending:{icon:(0,Z.jsx)(_t,{className:`w-3.5 h-3.5`}),labelKey:`statusPending`,color:`text-muted-foreground/70`},in_progress:{icon:(0,Z.jsx)(yn,{className:`w-3.5 h-3.5 animate-spin`}),labelKey:`statusInProgress`,color:`text-warning`},blocked:{icon:(0,Z.jsx)(Ht,{className:`w-3.5 h-3.5`}),labelKey:`statusBlocked`,color:`text-warning`},failed:{icon:(0,Z.jsx)(In,{className:`w-3.5 h-3.5`}),labelKey:`statusFailed`,color:`text-destructive`},review:{icon:(0,Z.jsx)(_r,{className:`w-3.5 h-3.5`}),labelKey:`statusReview`,color:`text-info`},completed:{icon:(0,Z.jsx)(wr,{className:`w-3.5 h-3.5`}),labelKey:`statusDone`,color:`text-success`}},v_={critical:`text-destructive`,high:`text-warning`,medium:`text-warning/85`,low:`text-muted-foreground`},y_={feature:`⚡`,bugfix:`🐛`,refactor:`♻️`,docs:`📝`,test:`🧪`,chore:`🔧`},b_=`__no_session__`,x_=new Map,S_=new Set;y(e=>{x_.delete(e),S_.add(e)});function C_(){let{t:e}=H(),[t,n]=(0,X.useState)([]),[r,i]=(0,X.useState)(new Set),a=B(),o=P(),s=(0,X.useRef)(o??b_);(0,X.useLayoutEffect)(()=>{S_.has(s.current)||x_.set(s.current,new Set(r));let e=o??b_;S_.delete(e),i(new Set(x_.get(e)??[])),s.current=e},[o]),(0,X.useEffect)(()=>{n([]),a.getTasks();let e=a.on(`tasks.updated`,e=>{let t=e?.payload;t?.sessionId&&o&&t.sessionId!==o||t?.tasks&&n(t.tasks)});return()=>{e()}},[o,a]);let c=(0,X.useCallback)(e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),l=(0,X.useCallback)((e,t)=>{a.updateTaskStatus(e,t)},[a]),u=[`in_progress`,`blocked`,`review`,`pending`,`failed`,`completed`],d=[...t].sort((e,t)=>u.indexOf(e.status)-u.indexOf(t.status)),f=new Map;for(let e of d){let t=f.get(e.status)??[];t.push(e),f.set(e.status,t)}let p=t.filter(e=>e.status===`completed`).length;return t.length===0?null:(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-card/50 backdrop-blur-sm overflow-hidden`,children:[(0,Z.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2 border-b border-border/50`,children:[(0,Z.jsx)(`h2`,{className:`text-[11px] font-semibold text-foreground uppercase tracking-wider`,children:e(`activity:work.tasks`)}),(0,Z.jsxs)(`span`,{className:`tabular text-[10px] text-muted-foreground ml-auto`,children:[p,`/`,t.length]})]}),u.map(t=>{let n=f.get(t);if(!n||n.length===0)return null;let i=__[t],a=r.has(t);return(0,Z.jsxs)(`div`,{className:`border-b border-border/30 last:border-b-0`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>c(t),className:`w-full px-3 py-1 flex items-center gap-1.5 text-[10px] text-muted-foreground hover:text-foreground transition-colors`,children:(0,Z.jsxs)(`span`,{className:`tabular`,children:[a?`▶`:`▼`,` `,n.length,` `,e(`activity:task.${i.labelKey}`)]})}),!a&&n.map(t=>(0,Z.jsxs)(`div`,{className:G(`px-3 py-1.5 flex items-start gap-2 text-[13px] group`,t.status===`in_progress`?`bg-warning/8`:``),children:[(0,Z.jsx)(`span`,{className:G(`mt-0.5 shrink-0`,i.color),children:i.icon}),(0,Z.jsxs)(`span`,{className:`leading-snug flex-1 min-w-0`,children:[(0,Z.jsxs)(`span`,{className:G(t.status===`completed`?`text-muted-foreground line-through`:`text-foreground/80`),children:[y_[t.type],` `,t.title]}),t.priority!==`medium`&&(0,Z.jsx)(`span`,{className:G(`ml-1 text-[10px]`,v_[t.priority]),children:t.priority}),t.assignee&&(0,Z.jsxs)(`span`,{className:`ml-1 text-[10px] text-muted-foreground`,children:[`@`,t.assignee]}),t.estimateHours&&(0,Z.jsxs)(`span`,{className:`ml-1 text-[10px] text-muted-foreground`,children:[t.estimateHours,`h`]})]}),(0,Z.jsxs)(`div`,{className:`flex gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity shrink-0`,children:[t.status!==`in_progress`&&t.status!==`completed`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t.id,`in_progress`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-primary/15 text-primary hover:bg-primary/25 transition-colors`,title:e(`activity:task.startTitle`),children:e(`common:action.start`)}),t.status===`in_progress`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t.id,`completed`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-success/15 text-success hover:bg-success/25 transition-colors`,title:e(`activity:task.completeTitle`),children:e(`activity:task.statusDone`)}),t.status!==`completed`&&t.status!==`failed`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t.id,`failed`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-destructive/15 text-destructive hover:bg-destructive/25 transition-colors`,title:e(`activity:task.failTitle`),children:e(`activity:task.fail`)})]})]},t.id))]},t)})]})}var w_={open:{icon:(0,Z.jsx)(_t,{className:`w-3.5 h-3.5`}),labelKey:`statusOpen`,color:`text-muted-foreground/70`},in_progress:{icon:(0,Z.jsx)(yn,{className:`w-3.5 h-3.5 animate-spin`}),labelKey:`statusInProgress`,color:`text-warning`},done:{icon:(0,Z.jsx)(wr,{className:`w-3.5 h-3.5`}),labelKey:`statusDone`,color:`text-success`}},T_=`__no_session__`,E_=new Map,D_=new Set;y(e=>{E_.delete(e),D_.add(e)});function O_(){let{t:e}=H(),[t,n]=(0,X.useState)([]),[r,i]=(0,X.useState)(new Set),a=B(),o=P(),s=(0,X.useRef)(o??T_);(0,X.useLayoutEffect)(()=>{D_.has(s.current)||E_.set(s.current,new Set(r));let e=o??T_;D_.delete(e),i(new Set(E_.get(e)??[])),s.current=e},[o]),(0,X.useEffect)(()=>{n([]),a.getPlan();let e=a.on(`plan.updated`,e=>{let t=e?.payload;t?.sessionId&&o&&t.sessionId!==o||t?.plan?.items&&n(t.plan.items)});return()=>{e()}},[o,a]);let c=(0,X.useCallback)(e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),l=(0,X.useCallback)((e,t)=>{a.updatePlanItem(e.id,t)},[a]),u=[`in_progress`,`open`,`done`],d=[...t].sort((e,t)=>u.indexOf(e.status)-u.indexOf(t.status)),f=new Map;for(let e of d){let t=f.get(e.status)??[];t.push(e),f.set(e.status,t)}let p=t.filter(e=>e.status===`done`).length;return t.length===0?null:(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-card/50 backdrop-blur-sm overflow-hidden`,children:[(0,Z.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2 border-b border-border/50`,children:[(0,Z.jsxs)(`h2`,{className:`text-[11px] font-semibold text-foreground uppercase tracking-wider`,children:[`📋 `,e(`activity:work.plan`)]}),(0,Z.jsxs)(`span`,{className:`tabular text-[10px] text-muted-foreground ml-auto`,children:[p,`/`,t.length]})]}),u.map(t=>{let n=f.get(t);if(!n||n.length===0)return null;let i=w_[t],a=r.has(t);return(0,Z.jsxs)(`div`,{className:`border-b border-border/30 last:border-b-0`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>c(t),className:`w-full px-3 py-1 flex items-center gap-1.5 text-[10px] text-muted-foreground hover:text-foreground transition-colors`,children:(0,Z.jsxs)(`span`,{className:`tabular`,children:[a?`▶`:`▼`,` `,n.length,` `,e(`activity:plan.${i.labelKey}`)]})}),!a&&n.map(t=>(0,Z.jsxs)(`div`,{className:G(`px-3 py-1.5 flex items-start gap-2 text-[13px] group`,t.status===`in_progress`?`bg-warning/8`:``),children:[(0,Z.jsx)(`span`,{className:G(`mt-0.5 shrink-0`,i.color),children:i.icon}),(0,Z.jsx)(`span`,{className:G(`leading-snug flex-1 min-w-0`,t.status===`done`?`text-muted-foreground line-through`:`text-foreground/80`),children:t.title}),(0,Z.jsxs)(`div`,{className:`flex gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity shrink-0`,children:[t.status===`open`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t,`in_progress`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-primary/15 text-primary hover:bg-primary/25 transition-colors`,title:e(`activity:plan.startTitle`),children:e(`common:action.start`)}),t.status!==`done`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t,`done`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-success/15 text-success hover:bg-success/25 transition-colors`,title:e(`activity:plan.doneTitle`),children:e(`activity:plan.statusDone`)}),t.status===`done`&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),l(t,`open`)},className:`px-1.5 py-0.5 text-[9px] rounded bg-muted text-muted-foreground hover:bg-accent hover:text-foreground transition-colors`,title:e(`activity:plan.reopenTitle`),children:e(`activity:plan.reopen`)})]})]},t.id))]},t)})]})}var k_=[{id:`todos`,labelKey:`work.todos`,icon:`✅`},{id:`tasks`,labelKey:`work.tasks`,icon:`📋`},{id:`plan`,labelKey:`work.plan`,icon:`🗺️`}];function A_(){let{t:e}=H(),t=K(e=>e.workDashboardTab),n=K(e=>e.setWorkDashboardTab);return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border bg-card/50 backdrop-blur-sm overflow-hidden`,children:[(0,Z.jsx)(`div`,{className:`flex border-b border-border/50 bg-muted/30`,children:k_.map(r=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>n(r.id),className:G(`flex items-center gap-1 px-3 py-1.5 text-[11px] font-medium transition-colors`,`border-b-2 -mb-px`,t===r.id?`border-primary text-foreground bg-background`:`border-transparent text-muted-foreground hover:text-foreground hover:bg-accent/30`),children:[(0,Z.jsx)(`span`,{className:`text-xs`,children:r.icon}),e(`activity:${r.labelKey}`)]},r.id))}),(0,Z.jsx)(`div`,{className:G(t===`todos`?`block`:`hidden`),children:(0,Z.jsx)(g_,{})}),(0,Z.jsx)(`div`,{className:G(t===`tasks`?`block`:`hidden`),children:(0,Z.jsx)(C_,{})}),(0,Z.jsx)(`div`,{className:G(t===`plan`?`block`:`hidden`),children:(0,Z.jsx)(O_,{})})]})}var j_={primary:`hsl(var(--primary))`,info:`hsl(var(--info))`,success:`hsl(var(--success))`,warning:`hsl(var(--warning))`,destructive:`hsl(var(--destructive))`,muted:`hsl(var(--muted-foreground))`,foreground:`hsl(var(--foreground))`},M_=[j_.primary,j_.info,j_.success,j_.warning,j_.destructive,j_.muted],N_=e=>e.replace(/^wstack\/ap\//,``);function P_(e){return[...e].sort((e,t)=>e.allocatedAt-t.allocatedAt).map((e,t)=>({handle:e,color:M_[t%M_.length],y:60+t*48}))}var F_={allocating:{dash:`4 4`,opacity:.4},active:{dash:`4 4`,opacity:.6},committing:{dash:`4 4`,opacity:.8},merging:{dash:`0`,opacity:.9},merged:{dash:`0`,opacity:1},"needs-review":{dash:`2 3`,opacity:.9},failed:{dash:`2 3`,opacity:.6}};function I_({worktrees:e,baseBranch:t}){let{t:n}=H(),r=P_(e),i=Math.max(120,60+r.length*48+20);return(0,Z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border border-border/70 bg-card/70 p-3`,children:(0,Z.jsxs)(`svg`,{width:`100%`,height:i,viewBox:`0 0 600 ${i}`,className:`min-w-[420px]`,role:`img`,"aria-label":n(`activity:worktree.graphAria`,{base:t||`HEAD`}),children:[(0,Z.jsx)(`title`,{children:n(`activity:worktree.graphAria`,{base:t||`HEAD`})}),(0,Z.jsx)(`line`,{x1:40,y1:20,x2:40,y2:i-10,stroke:j_.primary,strokeWidth:3}),(0,Z.jsx)(`text`,{x:36,y:14,fontSize:11,fill:j_.muted,children:t||`HEAD`}),(0,Z.jsx)(`circle`,{cx:40,cy:20,r:5,fill:j_.primary}),r.map(e=>{let r=F_[e.handle.status]??d(F_.active),i=e.handle.status===`merged`,a=e.handle.status===`needs-review`||e.handle.status===`failed`;return(0,Z.jsxs)(`g`,{className:`transition-all duration-500`,children:[(0,Z.jsx)(`path`,{d:`M 40 ${e.y-24} C 100 ${e.y-24}, 160 ${e.y}, 220 ${e.y}`,fill:`none`,stroke:e.color,strokeWidth:2,strokeDasharray:r.dash,opacity:r.opacity}),i?(0,Z.jsx)(`path`,{d:`M 220 ${e.y} C 160 ${e.y+20}, 100 ${e.y+24}, 40 ${e.y+24}`,fill:`none`,stroke:j_.success,strokeWidth:2,opacity:.9}):null,(0,Z.jsx)(`circle`,{cx:220,cy:e.y,r:5,fill:a?j_.destructive:e.color}),(0,Z.jsx)(`text`,{x:232,y:e.y-6,fontSize:12,fill:j_.foreground,fontFamily:`monospace`,children:N_(e.handle.branch)}),(0,Z.jsx)(`text`,{x:232,y:e.y+10,fontSize:10,fill:j_.muted,children:a?`⚠ ${e.handle.status}`:i?n(`activity:worktree.mergedLabel`,{base:t}):`+${e.handle.insertions}/-${e.handle.deletions} · ${e.handle.ownerLabel}`})]},e.handle.handleId)})]})})}var L_={allocating:{icon:`○`,labelKey:`statusAllocating`,tint:`border-muted-foreground/40`,dot:`bg-muted-foreground`},active:{icon:`●`,labelKey:`statusActive`,tint:`border-warning/40`,dot:`bg-warning animate-pulse`},committing:{icon:`◐`,labelKey:`statusCommitting`,tint:`border-primary/40`,dot:`bg-primary animate-pulse`},merging:{icon:`⇡`,labelKey:`statusMerging`,tint:`border-info/40`,dot:`bg-info animate-pulse`},merged:{icon:`✓`,labelKey:`statusMerged`,tint:`border-success/40`,dot:`bg-success`},"needs-review":{icon:`⚠`,labelKey:`statusConflict`,tint:`border-destructive/50`,dot:`bg-destructive`},failed:{icon:`✗`,labelKey:`statusFailed`,tint:`border-destructive/50`,dot:`bg-destructive`}};function R_(e){return L_[e]??{icon:`?`,labelKey:``,tint:`border-border`,dot:`bg-muted-foreground`}}var z_=e=>e.replace(/^wstack\/ap\//,``);function B_({worktrees:e,baseBranch:t}){let{t:n}=H(),r=[...e].sort((e,t)=>e.allocatedAt-t.allocatedAt);return(0,Z.jsxs)(`div`,{className:`rounded-lg border bg-card/50 backdrop-blur-sm px-3 py-3`,children:[(0,Z.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,Z.jsx)(`span`,{className:`font-semibold tracking-wide uppercase text-[10px]`,children:n(`activity:worktree.lanesHeading`)}),(0,Z.jsxs)(`span`,{className:`opacity-60`,children:[`· `,n(`activity:worktree.base`)]}),(0,Z.jsx)(`code`,{className:`font-mono text-primary`,children:t||`HEAD`}),(0,Z.jsxs)(`span`,{className:`opacity-60`,children:[`· `,n(`activity:worktree.isolatedCount`,{count:r.length})]})]}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:r.map(e=>{let t=R_(e.status),r=e.status===`needs-review`,i=Math.min(100,e.insertions+e.deletions);return(0,Z.jsxs)(`div`,{className:G(`group relative flex items-center gap-3 rounded-lg border px-3 py-2 transition-all duration-500`,`bg-background/60 hover:bg-accent/20`,t.tint),children:[(0,Z.jsx)(`span`,{className:G(`h-2.5 w-2.5 shrink-0 rounded-full`,t.dot),"aria-hidden":!0}),(0,Z.jsx)(`code`,{className:`w-44 shrink-0 truncate font-mono text-sm`,children:z_(e.branch)}),(0,Z.jsxs)(`span`,{className:`shrink-0 rounded bg-muted px-2 py-0.5 text-xs text-muted-foreground`,children:[`⟵ `,e.ownerLabel]}),r?(0,Z.jsx)(`span`,{className:`font-mono text-xs font-bold text-destructive`,children:n(`activity:worktree.conflictBadge`)}):(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 font-mono text-xs transition-all duration-500`,children:[(0,Z.jsxs)(`span`,{className:`text-success`,children:[`+`,e.insertions]}),(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`·`}),(0,Z.jsxs)(`span`,{className:`text-destructive`,children:[`-`,e.deletions]}),(0,Z.jsxs)(`span`,{className:`ml-1 text-muted-foreground`,children:[e.files,`f`]})]}),(0,Z.jsx)(`div`,{className:`ml-auto hidden h-1 w-24 overflow-hidden rounded-full bg-muted sm:block`,children:(0,Z.jsx)(`div`,{className:`h-full bg-gradient-to-r from-success to-destructive transition-all duration-700`,style:{width:`${i}%`}})}),(0,Z.jsx)(`span`,{className:`w-20 shrink-0 text-right text-xs text-muted-foreground`,children:t.labelKey?n(`activity:worktree.${t.labelKey}`):e.status}),e.recentActivity.length>0?(0,Z.jsxs)(`span`,{className:`absolute -bottom-2 left-9 max-w-[60%] truncate rounded bg-muted px-1.5 text-[10px] text-muted-foreground opacity-0 transition-opacity duration-300 group-hover:opacity-100`,children:[e.recentActivity[e.recentActivity.length-1]?.kind,`: `,e.recentActivity[e.recentActivity.length-1]?.text]}):null]},e.handleId)})})]})}var V_=e=>e?e.replace(/^wstack\/ap\//,``):``;function H_(){let{t:e}=H(),{client:t}=aa(),n=va(e=>e.orphans),r=va(e=>e.canClean),i=va(e=>e.cleanBlockedReason),a=va(e=>e.cleanResult),[o,s]=(0,X.useState)(!1);return(0,X.useEffect)(()=>{t?.send?.({type:`worktree.scan`})},[t]),(0,X.useEffect)(()=>{a&&s(!1)},[a]),n.length===0&&!a?null:(0,Z.jsxs)(`div`,{className:`rounded-md border border-warning/30 bg-warning/5 px-3 py-2 text-xs`,children:[n.length>0?(0,Z.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Z.jsx)(zr,{className:`mt-0.5 h-4 w-4 shrink-0 text-warning`}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`font-medium text-warning`,children:e(`activity:worktree.orphanCount`,{count:n.length})}),(0,Z.jsx)(`div`,{className:`mt-0.5 max-h-16 overflow-auto font-mono text-[10px] text-muted-foreground`,children:n.map((e,t)=>(0,Z.jsxs)(`div`,{className:`truncate`,children:[e.kind===`branch`?`⌥ `:`▢ `,V_(e.branch)||e.dir]},`${e.kind}-${e.branch??e.dir??t}`))})]}),(0,Z.jsxs)(`button`,{type:`button`,disabled:!r||o,onClick:async()=>{let r=n.length;await Ba({title:e(`activity:worktree.cleanTitle`,{count:r}),message:e(`activity:worktree.cleanMessage`),confirmLabel:e(`activity:worktree.cleanConfirm`),danger:!0})&&(s(!0),t?.send?.({type:`worktree.cleanup`}))},title:r?e(`activity:worktree.cleanButtonTitle`):i,className:`inline-flex shrink-0 items-center gap-1 rounded bg-warning px-2 py-1 font-medium text-primary-foreground hover:bg-warning/90 disabled:cursor-not-allowed disabled:opacity-50`,children:[o?(0,Z.jsx)(mr,{className:`h-3.5 w-3.5 animate-spin`}):(0,Z.jsx)(un,{className:`h-3.5 w-3.5`}),e(`activity:worktree.cleanConfirm`)]})]}):null,a&&(0,Z.jsx)(`div`,{className:a.ok?`mt-1 text-success`:`mt-1 text-destructive`,children:a.ok?e(`activity:worktree.removed`,{count:a.removed}):`✗ ${a.reason??e(`activity:worktree.cleanupFailed`)}`})]})}var U_={goal:{active:`bg-primary/12 border-primary/40 text-primary shadow-sm`,idle:`text-primary/80 hover:bg-primary/10`},"goal-state":{active:`bg-destructive/10 border-destructive/35 text-destructive shadow-sm`,idle:`text-destructive/80 hover:bg-destructive/10`},fleet:{active:`bg-success/12 border-success/35 text-success shadow-sm`,idle:`text-success/80 hover:bg-success/10`},work:{active:`bg-warning/12 border-warning/35 text-warning shadow-sm`,idle:`text-warning/80 hover:bg-warning/10`},worktrees:{active:`bg-info/12 border-info/35 text-info shadow-sm`,idle:`text-info/80 hover:bg-info/10`},collab:{active:`bg-accent border-primary/25 text-accent-foreground shadow-sm`,idle:`text-muted-foreground hover:bg-muted/60`}},W_={goal:`Goal`,"goal-state":`Goal State`,fleet:`Fleet`,work:`Work`,worktrees:`Worktrees`,collab:`Collab`},G_=[`goal`,`goal-state`,`fleet`,`work`,`worktrees`,`collab`];function K_({section:e,icon:t,label:n,value:r,active:i,pulse:a,onClick:o}){let s=U_[e],{t:c}=H();return(0,Z.jsxs)(`button`,{type:`button`,onClick:o,title:c(i?`activity:dock.collapseChip`:`activity:dock.expandChip`,{label:n}),className:G(`flex items-center gap-2 h-7 px-2.5 rounded-md border text-xs font-medium shrink-0 transition-colors`,i?s.active:G(`border-border/40`,s.idle)),children:[(0,Z.jsx)(`span`,{className:G(a&&`animate-pulse`),children:t}),n,r&&(0,Z.jsx)(`span`,{className:`tabular-nums opacity-80`,children:r})]})}function q_(){let e=K(e=>e.dockSection),{t}=H(),n=K(e=>e.toggleDockSection),i=K(e=>e.hiddenChips),a=K(e=>e.toggleChipHidden),o=K(e=>e.dockCustomizeOpen),s=K(e=>e.setDockCustomizeOpen),c=P(),l=ga(e=>e.goal),u=ha(e=>e.phases.length),d=ha(e=>e.overallPercent),f=ha(e=>e.activePhaseId),p=va(e=>e.worktrees),m=j(e=>e.todos),h=z(e=>e.agents),g=r_(),_=(0,X.useMemo)(()=>Array.from(h.values()).filter(e=>r(e.sessionId,c)),[h,c]),v=_.length,y=(0,X.useMemo)(()=>_.filter(e=>e.status===`running`).length,[_]),b=m.filter(e=>e.status===`completed`).length,x=m.some(e=>e.status===`in_progress`),S=u>0,C=(0,X.useMemo)(()=>new Set(i),[i]),w={goal:S,"goal-state":l!==null,fleet:v>0,work:!0,worktrees:p.length>0,collab:!0},T={goal:(w.goal||e===`goal`)&&!C.has(`goal`),"goal-state":(w[`goal-state`]||e===`goal-state`)&&!C.has(`goal-state`),fleet:(w.fleet||e===`fleet`)&&!C.has(`fleet`),work:(w.work||e===`work`)&&!C.has(`work`),worktrees:(w.worktrees||e===`worktrees`)&&!C.has(`worktrees`),collab:(w.collab||e===`collab`)&&!C.has(`collab`)},E=e&&T[e]?e:null;return(0,Z.jsx)(`div`,{children:(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 rounded-lg border border-border/70 bg-card/70 px-2 py-1.5 shadow-sm`,children:[T.goal&&(0,Z.jsx)(K_,{section:`goal`,icon:(0,Z.jsx)(ji,{className:`h-3 w-3`}),label:t(`activity:dock.goal`),value:`${d}%`,active:!1,pulse:f!=null,onClick:()=>Oa(`goal`)}),T[`goal-state`]&&l&&(0,Z.jsx)(K_,{section:`goal-state`,icon:(0,Z.jsx)(ht,{className:`h-3 w-3`}),label:t(`activity:dock.goalState`),value:`${l.progress}%`,active:E===`goal-state`,pulse:l.goalState===`active`,onClick:()=>n(`goal-state`)}),T.fleet&&(0,Z.jsx)(K_,{section:`fleet`,icon:(0,Z.jsx)(Fi,{className:`h-3 w-3`}),label:t(`activity:dock.fleet`),value:`${y}/${v}`,active:E===`fleet`,pulse:y>0,onClick:()=>n(`fleet`)}),(0,Z.jsx)(K_,{section:`work`,icon:(0,Z.jsx)(qr,{className:`h-3 w-3`}),label:t(`activity:dock.work`),value:m.length>0?`${b}/${m.length}`:void 0,active:E===`work`,pulse:x,onClick:()=>n(`work`)}),T.worktrees&&(0,Z.jsx)(K_,{section:`worktrees`,icon:(0,Z.jsx)(wn,{className:`h-3 w-3`}),label:t(`activity:dock.worktrees`),value:String(p.length),active:E===`worktrees`,onClick:()=>n(`worktrees`)}),g&&(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{},className:`inline-flex h-8 max-w-full min-w-0 items-center gap-1.5 rounded-md border border-border/50 px-2.5 text-xs font-mono transition-colors hover:bg-muted/60 sm:h-7`,children:[(0,Z.jsx)(wn,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate font-semibold text-foreground`,children:g.branch}),g.ahead>0&&(0,Z.jsxs)(`span`,{className:`text-success`,title:t(`activity:dock.ahead`,{count:g.ahead}),children:[`↑`,g.ahead]}),g.behind>0&&(0,Z.jsxs)(`span`,{className:`text-warning`,title:t(`activity:dock.behind`,{count:g.behind}),children:[`↓`,g.behind]}),g.added>0&&(0,Z.jsxs)(`span`,{className:`text-success`,title:t(`activity:dock.linesAdded`,{count:g.added}),children:[`+`,g.added]}),g.deleted>0&&(0,Z.jsxs)(`span`,{className:`text-destructive`,title:t(`activity:dock.linesDeleted`,{count:g.deleted}),children:[`-`,g.deleted]}),g.untracked>0&&(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,title:t(`activity:dock.untrackedFiles`,{count:g.untracked}),children:[g.untracked,`?`]})]}),(0,Z.jsx)(K_,{section:`collab`,icon:(0,Z.jsx)(tr,{className:`h-3 w-3`}),label:t(`activity:dock.collab`),active:E===`collab`,onClick:()=>n(`collab`)}),(0,Z.jsxs)(eo,{open:o,onOpenChange:s,children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsx)(`button`,{type:`button`,title:t(`activity:dock.customizeTitle`),className:`ml-auto inline-flex items-center justify-center h-7 w-7 rounded-md border border-border/50 text-muted-foreground hover:bg-muted/60 transition-colors shrink-0`,children:(0,Z.jsx)(fi,{className:`h-3 w-3`})})}),(0,Z.jsxs)(io,{align:`end`,className:`w-44`,children:[(0,Z.jsx)(co,{children:t(`activity:dock.dockChips`)}),(0,Z.jsx)(lo,{}),G_.map(e=>(0,Z.jsx)(oo,{checked:!C.has(e),onCheckedChange:()=>a(e),onSelect:e=>e.preventDefault(),children:W_[e]},e))]})]})]})})}var J_={"goal-state":{titleKey:`activity:dock.goalState`,detailKey:`activity:dock.goalStateDetail`},fleet:{titleKey:`activity:dock.fleet`,detailKey:`activity:dock.fleetDetail`},work:{titleKey:`activity:dock.work`,detailKey:`activity:dock.workDetail`},worktrees:{titleKey:`activity:dock.worktrees`,detailKey:`activity:dock.worktreesDetail`},collab:{titleKey:`activity:dock.collab`,detailKey:`activity:dock.collabDetail`}};function Y_({sessionId:e}){let t=K(e=>e.dockSection),n=K(e=>e.setDockSection),r=K(e=>e.inspectorOpen),i=ga(e=>e.goal),a=va(e=>e.worktrees),o=va(e=>e.baseBranch),[s,c]=(0,X.useState)(`graph`),{t:l}=H(),u=t!==null&&t!==`goal`,d=u?t:null,f=d?J_[d]:null,p=r&&u?`sm:right-[min(680px,48vw)]`:``;return(0,X.useEffect)(()=>{if(!u)return;let e=e=>{e.key===`Escape`&&n(null)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[u,n]),(0,Z.jsxs)(`aside`,{id:`workspace-dock-inspector`,"data-testid":u?`workspace-dock-inspector`:void 0,"aria-hidden":!u,inert:!u||void 0,"aria-label":f?l(`activity:dock.inspectorNamed`,{name:l(f.titleKey)}):l(`activity:dock.inspector`),className:G(`fixed inset-y-0 right-0 z-40 flex w-[calc(100vw-3rem)] max-w-none flex-col overflow-hidden border-l border-border/80 bg-card/96 shadow-[-24px_0_64px_-36px_hsl(var(--shadow-color)/0.65)] backdrop-blur-xl transition-transform duration-200 sm:w-[min(680px,48vw)] sm:max-w-[680px]`,p,u?`translate-x-0`:`pointer-events-none translate-x-full`),children:[(0,Z.jsxs)(`header`,{className:`relative shrink-0 border-b border-border/70 bg-muted/20 px-4 py-3 pr-12`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-semibold text-foreground`,children:[(0,Z.jsx)(pt,{className:`h-4 w-4 text-primary`}),l(f?f.titleKey:`activity:dock.workspace`)]}),(0,Z.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:l(f?f.detailKey:`activity:dock.workspaceDetails`)}),(0,Z.jsx)(`button`,{type:`button`,"data-testid":`workspace-dock-inspector-close`,onClick:()=>n(null),className:`absolute right-3 top-3 inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,"aria-label":l(`activity:dock.closeWorkspaceInspector`),title:l(`activity:dock.closeWorkspaceInspector`),children:(0,Z.jsx)(hr,{className:`h-4 w-4`})})]}),(0,Z.jsxs)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain p-3 sm:p-4`,children:[d===`goal-state`&&(i?(0,Z.jsx)(d_,{goal:i}):(0,Z.jsx)(X_,{title:l(`activity:dock.noActiveGoal`),detail:l(`activity:dock.noActiveGoalDetail`)})),d===`fleet`&&(0,Z.jsx)(c_,{}),d===`worktrees`&&(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(`div`,{className:`flex items-center gap-2`,children:[`graph`,`lanes`].map(e=>(0,Z.jsx)(`button`,{type:`button`,onClick:()=>c(e),className:G(`rounded-md border px-2.5 py-1 text-xs capitalize transition-colors`,s===e?`border-primary/30 bg-primary/10 text-primary`:`border-border text-muted-foreground hover:text-foreground`),children:e},e))}),(0,Z.jsx)(H_,{}),s===`graph`?(0,Z.jsx)(I_,{worktrees:a,baseBranch:o||`HEAD`}):(0,Z.jsx)(B_,{worktrees:a,baseBranch:o||`HEAD`})]}),(0,Z.jsx)(`div`,{className:G(d===`work`?`block`:`hidden`),id:`panel-work`,children:(0,Z.jsx)(A_,{})}),(0,Z.jsx)(`div`,{className:G(d===`collab`?`block`:`hidden`),children:(0,Z.jsx)(o_,{sessionId:e})})]})]})}function X_({title:e,detail:t}){return(0,Z.jsxs)(`div`,{className:`rounded-lg border border-border/70 bg-muted/20 px-3 py-2 text-xs`,children:[(0,Z.jsx)(`div`,{className:`font-medium text-foreground`,children:e}),(0,Z.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:t})]})}var Z_=(0,X.lazy)(()=>W(()=>import(`./AnalyticsDashboard-B8r_8kNv.js`).then(e=>({default:e.AnalyticsDashboard})),__vite__mapDeps([26,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22]))),Q_=(0,X.lazy)(()=>W(()=>import(`./AgentRosterView-C46rL23K.js`).then(e=>({default:e.AgentRosterView})),__vite__mapDeps([27,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21,20,19,22,23,28,18,24,29,30,25,31,32,33,34,35]))),$_=(0,X.lazy)(()=>W(()=>import(`./ChangesView-BREfCsEq.js`).then(e=>({default:e.ChangesView})),__vite__mapDeps([36,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,37,38]))),ev=(0,X.lazy)(()=>W(()=>import(`./ChronicleDashboard-bo2jv52s.js`).then(e=>({default:e.ChronicleDashboard})),__vite__mapDeps([39,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),tv=(0,X.lazy)(()=>W(()=>import(`./CodeEditor-C_KzNkIb.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([40,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19,20,21,22,23,37,38,41,31,33]))),nv=(0,X.lazy)(()=>W(()=>import(`./CodeMap-DA_k3u5g.js`).then(e=>({default:e.CodeMap})),__vite__mapDeps([42,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,19,24]))),rv=(0,X.lazy)(()=>W(()=>import(`./DebugDashboard-DNDadwro.js`).then(e=>({default:e.DebugDashboard})),__vite__mapDeps([43,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),iv=(0,X.lazy)(()=>W(()=>import(`./DesignGalleryView-B9ZMJPOQ.js`).then(e=>({default:e.DesignGalleryView})),__vite__mapDeps([44,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24]))),av=(0,X.lazy)(()=>W(()=>import(`./GoalView-BkoCNN8l.js`).then(e=>({default:e.GoalView})),__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,31,46,25,32]))),ov=(0,X.lazy)(()=>W(()=>import(`./KanbanView-nql6LkaS.js`).then(e=>({default:e.KanbanView})),__vite__mapDeps([47,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,25,28,18,23,24,48]))),sv=(0,X.lazy)(()=>W(()=>import(`./MailboxDetailView-CdHRfnNq.js`).then(e=>({default:e.MailboxDetailView})),__vite__mapDeps([49,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,22,23,37]))),cv=(0,X.lazy)(()=>W(()=>import(`./PromptJournalView-CXZ9notj.js`).then(e=>({default:e.PromptJournalView})),__vite__mapDeps([50,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),lv=(0,X.lazy)(()=>W(()=>import(`./RefreshDebugView-BYmeORMQ.js`).then(e=>({default:e.RefreshDebugView})),__vite__mapDeps([51,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21]))),uv=(0,X.lazy)(()=>W(()=>import(`./SageTabs-BRJG0fhZ.js`).then(e=>({default:e.SageTabs})),__vite__mapDeps([52,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),dv=(0,X.lazy)(()=>W(()=>import(`./RequirementIntakeView-CFgVx_0T.js`).then(e=>({default:e.RequirementIntakeView})),__vite__mapDeps([53,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,31,32]))),fv=(0,X.lazy)(()=>W(()=>import(`./SddHub-Br1vyCgq.js`).then(e=>({default:e.SddHub})),__vite__mapDeps([54,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,25,31,28,48,55]))),pv=(0,X.lazy)(()=>W(()=>import(`./SessionsDashboard-BEQs4Div.js`).then(e=>({default:e.SessionsDashboard})),__vite__mapDeps([56,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,57,46,25,31,32]))),mv=(0,X.lazy)(()=>W(()=>import(`./SessionInspectView-BSRjWErA.js`).then(e=>({default:e.SessionInspectView})),__vite__mapDeps([58,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,57,46,25,31,32]))),hv=(0,X.lazy)(()=>W(()=>import(`./SkillDetailView-DqxkOnb8.js`).then(e=>({default:e.SkillDetailView})),__vite__mapDeps([59,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,25,37]))),gv=(0,X.lazy)(()=>W(()=>import(`./TechStackView-Dr8vI0hK.js`).then(e=>({default:e.TechStackView})),__vite__mapDeps([60,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,0,16,21,19,22,31,32]))),_v=(0,X.lazy)(()=>W(()=>import(`./DeadCodeScanPanel-VnMQatbH.js`).then(e=>({default:e.DeadCodeScanPanel})),__vite__mapDeps([61,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),vv=(0,X.lazy)(()=>W(()=>import(`./ChimeraReviewsView-aSYmQ8tC.js`).then(e=>({default:e.ChimeraReviewsView})),__vite__mapDeps([62,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,37])));function yv({sessionId:e,desktopShell:t}){let{t:n}=H(),{currentView:r,terminalOpen:i,setTerminalOpen:a}=K(Mn(e=>({currentView:e.currentView,terminalOpen:e.terminalOpen,setTerminalOpen:e.setTerminalOpen})));return(0,Z.jsxs)(Z.Fragment,{children:[e&&(0,Z.jsxs)(`div`,{className:G(`flex flex-col`,r!==`chat`&&`ws-view-parked`),...r===`chat`?{}:{inert:!0,"aria-hidden":!0},children:[(0,Z.jsx)(`div`,{className:`ws-workspace-dock-wrap shrink-0 px-3 pt-2 sm:px-4`,children:(0,Z.jsx)(q_,{})}),(0,Z.jsx)(yf,{})]}),(0,Z.jsx)(`div`,{className:G(`flex min-h-0 min-w-0 flex-1 flex-col`,r!==`chat`&&`ws-view-parked`),...r===`chat`?{}:{inert:!0,"aria-hidden":!0},children:(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.chat`),children:(0,Z.jsx)(Hp,{})})}),r===`settings`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.settings`),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(n_,{})})}),r===`memory`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.sageMemory`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.sageMemory`)})}),children:(0,Z.jsx)(uv,{})})}),r===`roster`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.agentRoster`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.agentRoster`)})}),children:(0,Z.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:(0,Z.jsx)(Q_,{})})})}),r===`context`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.contextDashboard`),children:(0,Z.jsx)(cm,{})}),r===`setup`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.setup`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(bv,{})})})}),r===`goal`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.goal`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(av,{onClose:()=>J(`chat`)})})})}),r===`sddhub`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.sddHub`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(fv,{})})})}),r===`kanban`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.kanban`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(ov,{onClose:()=>J(`chat`)})})})}),r===`sessions`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.sessions`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(pv,{})})})}),r===`session-inspect`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.sessionInspect`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.sessionInspect`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(mv,{})})})}),r===`chronicle`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.chronicle`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(ev,{})})})}),r===`intake`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.requirementsIntake`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(dv,{})})})}),r===`prompts`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:nav.prompts`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:nav.prompts`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(cv,{})})})}),r===`debug`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.debugDashboard`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(rv,{})})})}),r===`refresh-debug`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.refreshDebug`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(lv,{})})})}),r===`files`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.editor`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.editor`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(tv,{})})})}),r===`changes`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.changes`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.changes`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)($_,{className:`h-full min-h-0`})})})}),r===`mailbox`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.mailbox`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(sv,{className:`h-full min-h-0`})})})}),r===`design-gallery`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.designGallery`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(iv,{className:`h-full`})})})}),r===`skill`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.skill`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(hv,{className:`h-full`})})})}),r===`analytics`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.analytics`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(Z_,{})})})}),r===`codemap`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.codemap`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.codemap`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(nv,{})})})}),r===`techstack`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.techstack`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.techstack`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(gv,{})})})}),r===`deadcode`&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.deadcode`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.deadcode`)})}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-y-auto`,children:(0,Z.jsx)(_v,{})})})}),r===`chimera`&&(0,Z.jsx)(ms,{level:`panel`,name:`Chimera Reviews`,children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{}),children:(0,Z.jsx)(`div`,{className:`flex-1 min-h-0 min-w-0 overflow-hidden`,children:(0,Z.jsx)(vv,{})})})}),i&&(0,Z.jsx)(ms,{level:`panel`,name:n(`activity:panels.terminal`),children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(lm,{label:n(`common:loadingNamed`,{name:n(`activity:panels.terminal`)})}),children:(0,Z.jsx)(xv,{desktopShell:t,onClose:()=>a(!1)})})})]})}var bv=(0,X.lazy)(()=>W(()=>import(`./SetupScreen-zY4541lT.js`).then(e=>({default:e.SetupScreen})),__vite__mapDeps([63,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,31,32]))),xv=(0,X.lazy)(()=>W(()=>import(`./TerminalPanel-DlIyvxm6.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([64,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,65,66])));function Sv(){let e=U(e=>e.wrongProxyEnabled),t=U(e=>e.wrongProxyUrl),[n,r]=(0,X.useState)(()=>({status:e?`checking`:`disabled`,latencyMs:null,url:t||`http://localhost:3444`}));return(0,X.useEffect)(()=>{if(!e||!t){r({status:`disabled`,latencyMs:null,url:t||`http://localhost:3444`});return}let n=!1,i=async()=>{let e=t.trim().replace(/\/+$/,``),i=`${e}/api/health`,a=Date.now(),o=new AbortController,s=setTimeout(()=>o.abort(),2e3);try{let t=await fetch(i,{method:`GET`,signal:o.signal,headers:{accept:`application/json`}});if(clearTimeout(s),n)return;let c=t.ok&&t.status>=200&&t.status<300;r({status:c?`connected`:`error`,latencyMs:Date.now()-a,url:e,error:c?void 0:`HTTP ${t.status}`})}catch(t){if(clearTimeout(s),n)return;r({status:`error`,latencyMs:Date.now()-a,url:e,error:t instanceof Error?t.message:`Unreachable`})}};i();let a=setInterval(()=>void i(),1e4);return()=>{n=!0,clearInterval(a)}},[e,t]),n}function Cv(){let e=U(e=>e.hqEnabled),t=U(e=>e.hqUrl),n=U(e=>e.hqToken),[r,i]=(0,X.useState)(()=>({status:e&&t?`checking`:`disabled`,latencyMs:null,url:t||``}));return(0,X.useEffect)(()=>{if(!e||!t){i({status:`disabled`,latencyMs:null,url:t||``});return}let r=!1,a=async()=>{let e=t.trim().replace(/\/+$/,``),a=`${e}/api/auth/status`,o=Date.now(),s=new AbortController,c=setTimeout(()=>s.abort(),2e3);try{let t={accept:`application/json`};n&&(t.Authorization=`Bearer ${n}`);let l=await fetch(a,{method:`GET`,signal:s.signal,headers:t});if(clearTimeout(c),r)return;let u=l.ok||l.status===401;i({status:u?`connected`:`error`,latencyMs:Date.now()-o,url:e,error:u?void 0:`HTTP ${l.status}`})}catch(t){if(clearTimeout(c),r)return;i({status:`error`,latencyMs:Date.now()-o,url:e,error:t instanceof Error?t.message:`Unreachable`})}};a();let o=setInterval(()=>void a(),1e4);return()=>{r=!0,clearInterval(o)}},[e,t,n]),r}function wv(){let e=xa(e=>e.snapshot),t=K(e=>e.setCronJobsOpen),n=e?.jobs??[],r=n.filter(e=>e.overdue).length,i=n.filter(e=>e.enabled&&!e.overdue).length,a=n.length;return a===0?null:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>t(!0),className:G(`relative inline-flex h-8 items-center gap-1.5 rounded-md border px-2 text-xs transition-colors`,r>0?`border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/15`:`border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`),title:`${a} cron job${a===1?``:`s`}${r>0?`, ${r} overdue`:``}`,children:[(0,Z.jsx)(xr,{className:`h-3.5 w-3.5`}),(0,Z.jsxs)(`span`,{className:`hidden lg:inline`,children:[i,`/`,a]}),r>0?(0,Z.jsx)(`span`,{className:`min-w-4 bg-destructive/15 px-1 text-[10px] font-semibold tabular-nums text-destructive`,children:r>99?`99+`:r}):null]})}function Tv(e,t){let n=Math.max(0,Date.now()-e),r=Math.floor(n/1e3);if(r<10)return t(`toasts:menu.justNow`,{defaultValue:`Just now`});if(r<60)return t(`toasts:menu.secondsAgo`,{count:r,defaultValue:`${r}s ago`});let i=Math.floor(r/60);if(i<60)return t(`toasts:menu.minutesAgo`,{count:i,defaultValue:`${i}m ago`});let a=Math.floor(i/60);if(a<24)return t(`toasts:menu.hoursAgo`,{count:a,defaultValue:`${a}h ago`});let o=Math.floor(a/24);return t(`toasts:menu.daysAgo`,{count:o,defaultValue:`${o}d ago`})}function Ev({variant:e}){return e===`success`?(0,Z.jsx)(ai,{className:`h-4 w-4 text-success shrink-0`}):e===`error`?(0,Z.jsx)(In,{className:`h-4 w-4 text-destructive shrink-0`}):e===`warn`?(0,Z.jsx)(zr,{className:`h-4 w-4 text-warning shrink-0`}):(0,Z.jsx)(Jt,{className:`h-4 w-4 text-info shrink-0`})}function Dv({item:e,onMarkAsRead:t,onRemove:n}){let{t:r}=H(),i=(0,X.useMemo)(()=>Tv(e.timestamp,r),[e.timestamp,r]),a=(0,X.useMemo)(()=>new Date(e.timestamp).toLocaleString(),[e.timestamp]);return(0,Z.jsxs)(`div`,{role:`menuitem`,tabIndex:0,onClick:()=>{e.read||t()},onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),e.read||t())},className:G(`group relative flex items-start gap-2.5 px-3 py-2.5 text-xs transition-colors cursor-pointer outline-none select-none`,`hover:bg-accent/50 focus-visible:bg-accent/60`,e.read?`opacity-85`:`bg-primary/[0.04]`),children:[(0,Z.jsx)(`div`,{className:`mt-0.5 shrink-0`,children:(0,Z.jsx)(Ev,{variant:e.variant})}),(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0 pr-1`,children:[(0,Z.jsx)(`div`,{className:G(`whitespace-pre-wrap break-words leading-relaxed text-foreground`,!e.read&&`font-medium`),children:e.message}),(0,Z.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-2 text-[10px] text-muted-foreground`,children:[(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,title:a,children:[(0,Z.jsx)(yn,{className:`h-3 w-3 opacity-70`}),i]}),e.action&&(0,Z.jsx)(`button`,{type:`button`,onClick:n=>{n.stopPropagation(),e.action?.onClick(),t()},className:`font-medium text-primary hover:underline`,children:e.action.label})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[!e.read&&(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),t()},className:`rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-foreground`,title:r(`toasts:menu.markAsRead`,{defaultValue:`Mark as read`}),"aria-label":r(`toasts:menu.markAsRead`,{defaultValue:`Mark as read`}),children:(0,Z.jsx)(ai,{className:`h-3 w-3`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),n()},className:`rounded p-0.5 text-muted-foreground opacity-60 hover:opacity-100 hover:bg-destructive/10 hover:text-destructive transition-opacity`,title:r(`toasts:menu.remove`,{defaultValue:`Remove notification`}),"aria-label":r(`toasts:menu.remove`,{defaultValue:`Remove notification`}),children:(0,Z.jsx)(hr,{className:`h-3 w-3`})}),!e.read&&(0,Z.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-primary shrink-0`,"aria-label":`Unread indicator`})]})]})}function Ov({defaultOpen:e,open:t,onOpenChange:n}={}){let{t:r}=H(),i=pe(e=>e.notifications),a=pe(e=>e.markAsRead),o=pe(e=>e.markAllAsRead),s=pe(e=>e.clearAll),c=pe(e=>e.removeNotification),[l,u]=(0,X.useState)(`all`),d=(0,X.useMemo)(()=>i.filter(e=>!e.read).length,[i]),f=(0,X.useMemo)(()=>l===`unread`?i.filter(e=>!e.read):i,[i,l]),p=(0,X.useCallback)(()=>{o()},[o]),m=(0,X.useCallback)(()=>{s()},[s]);return(0,Z.jsxs)(eo,{defaultOpen:e,open:t,onOpenChange:n,children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`notification-menu-trigger`,className:G(`relative inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground transition-colors hover:bg-accent/60 hover:text-foreground`,d>0&&`text-foreground`),title:d>0?`${r(`toasts:menu.title`,{defaultValue:`Notifications`})} (${d} ${r(`toasts:menu.unreadCount`,{count:d,defaultValue:`${d} unread`})})`:r(`toasts:menu.title`,{defaultValue:`Notifications`}),"aria-label":r(`toasts:menu.title`,{defaultValue:`Notifications`}),children:[d>0?(0,Z.jsx)(Ir,{className:`h-3.5 w-3.5 text-primary`}):(0,Z.jsx)(Gt,{className:`h-3.5 w-3.5`}),d>0&&(0,Z.jsx)(`span`,{"data-testid":`notification-badge`,className:`absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-destructive px-1 text-[10px] font-bold text-destructive-foreground shadow-sm`,children:d>99?`99+`:d})]})}),(0,Z.jsxs)(io,{align:`end`,sideOffset:6,className:`w-80 sm:w-96 max-w-[calc(100vw-1rem)] p-0 rounded-xl border border-border/80 bg-card/95 backdrop-blur-xl shadow-2xl overflow-hidden text-card-foreground`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/60 px-3.5 py-2.5 bg-muted/30`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`font-semibold text-xs text-foreground`,children:r(`toasts:menu.title`,{defaultValue:`Notifications`})}),d>0?(0,Z.jsxs)(`span`,{className:`rounded-full bg-primary/15 px-2 py-0.5 text-[10px] font-medium text-primary tabular-nums`,children:[d,` `,r(`toasts:menu.tabUnread`,{defaultValue:`Unread`}).toLowerCase()]}):null]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,disabled:d===0,onClick:p,className:`inline-flex items-center gap-1 rounded px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-accent/60 hover:text-foreground disabled:opacity-40 disabled:pointer-events-none`,title:r(`toasts:menu.markAllRead`,{defaultValue:`Mark all as read`}),children:[(0,Z.jsx)(Wr,{className:`h-3.5 w-3.5`}),(0,Z.jsx)(`span`,{children:r(`toasts:menu.markAllRead`,{defaultValue:`Mark all as read`})})]}),(0,Z.jsxs)(`button`,{type:`button`,disabled:i.length===0,onClick:m,className:`inline-flex items-center gap-1 rounded px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive disabled:opacity-40 disabled:pointer-events-none`,title:r(`toasts:menu.clearAll`,{defaultValue:`Clear all`}),children:[(0,Z.jsx)(Rt,{className:`h-3.5 w-3.5`}),(0,Z.jsx)(`span`,{children:r(`toasts:menu.clearAll`,{defaultValue:`Clear all`})})]})]})]}),(0,Z.jsxs)(`div`,{className:`flex border-b border-border/50 bg-background/50 px-3 py-1.5 gap-1.5 text-xs`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>u(`all`),className:G(`flex-1 rounded-md px-2.5 py-1 text-center font-medium transition-all`,l===`all`?`bg-accent text-accent-foreground shadow-xs`:`text-muted-foreground hover:bg-accent/50 hover:text-foreground`),children:[r(`toasts:menu.tabAll`,{defaultValue:`All`}),` (`,i.length,`)`]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>u(`unread`),className:G(`flex-1 rounded-md px-2.5 py-1 text-center font-medium transition-all`,l===`unread`?`bg-accent text-accent-foreground shadow-xs`:`text-muted-foreground hover:bg-accent/50 hover:text-foreground`),children:[r(`toasts:menu.tabUnread`,{defaultValue:`Unread`}),` (`,d,`)`]})]}),(0,Z.jsx)(`div`,{role:`list`,className:`max-h-[340px] overflow-y-auto divide-y divide-border/30`,"aria-label":r(`toasts:menu.title`,{defaultValue:`Notifications`}),children:f.length===0?(0,Z.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-4 py-8 text-center text-muted-foreground`,children:[(0,Z.jsx)(ke,{className:`h-7 w-7 text-muted-foreground/40 mb-2`}),(0,Z.jsx)(`p`,{className:`text-xs font-medium text-foreground`,children:l===`unread`&&i.length>0?r(`toasts:menu.allRead`,{defaultValue:`All caught up`}):r(`toasts:menu.empty`,{defaultValue:`No notifications`})}),(0,Z.jsx)(`p`,{className:`text-[11px] text-muted-foreground mt-0.5 max-w-[220px]`,children:l===`unread`&&i.length>0?r(`toasts:menu.allRead`,{defaultValue:`All caught up`}):r(`toasts:menu.emptyHint`,{defaultValue:`Toasts and system notifications will appear here.`})})]}):f.map(e=>(0,Z.jsx)(Dv,{item:e,onMarkAsRead:()=>a(e.id),onRemove:()=>c(e.id)},e.id))})]})]})}function kv(e){return e.split(`-`).map(e=>e.slice(0,1).toUpperCase()+e.slice(1)).join(` `)}function Av(e){return e>=1024**3?`${(e/1024**3).toFixed(1)} GB`:e>=1024**2?`${Math.round(e/1024**2)} MB`:e>=1024?`${Math.round(e/1024)} KB`:`${Math.round(e)} B`}function jv(){let[e,t]=(0,X.useState)(null);return(0,X.useEffect)(()=>{let e=!1,n=async()=>{try{let n=await fetch(`/debug/system`,{cache:`no-store`});if(!n.ok)return;let r=await n.json();!e&&Number.isFinite(r.memoryUsage?.rss)&&t(r)}catch{}};n();let r=window.setInterval(()=>void n(),5e3);return()=>{e=!0,window.clearInterval(r)}},[]),e}function Mv({currentView:e,projectName:n,sessionLabel:r,isLoading:i,iteration:a,onPalette:o,onSettings:s}){let{t:c}=H(),{theme:l,setTheme:u,palette:d,setPalette:f}=Du(),p=t(e=>e.wsConnected),m=j(e=>e.appVersion),h=j(e=>e.latestVersion),g=j(e=>e.updateAvailable),_=j(e=>e.droppedTools),v=l===`system`?typeof window<`u`&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:l,y=(0,X.useCallback)(()=>{u(v===`dark`?`light`:`dark`)},[v,u]),b=K(e=>e.toggleSidebar),x=Sv(),S=Cv(),C=x.status===`connected`?`WrongProxy: Connected${x.latencyMs==null?``:` (${x.latencyMs}ms)`} · ${x.url}`:x.status===`error`?`WrongProxy: Unreachable · ${x.url}${x.error?` (${x.error})`:``}`:x.status===`checking`?`WrongProxy: Checking · ${x.url}`:`WrongProxy: Disabled`,w=S.status===`connected`?`HQ: Connected${S.latencyMs==null?``:` (${S.latencyMs}ms)`} · ${S.url}`:S.status===`error`?`HQ: Unreachable · ${S.url}${S.error?` (${S.error})`:``}`:S.status===`checking`?`HQ: Checking · ${S.url}`:`HQ: Disabled`,T=jv(),E=T?T.memoryUsage.heapUsed/T.heapLimit:0,D=T?.codebaseIndexServer,O=D?.health,k=O?.server;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border/70 bg-card/85 px-2.5 py-1.5 shadow-sm backdrop-blur-xl md:hidden`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:b,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,"aria-label":`Toggle navigation menu`,title:`Toggle navigation`,children:(0,Z.jsx)(Zr,{className:`h-4 w-4`})}),(0,Z.jsx)(`div`,{className:`min-w-0`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`truncate text-xs font-semibold`,children:n||`WrongStack`}),(0,Z.jsx)(`span`,{className:`rounded bg-muted/60 px-1 py-0.5 text-[10px] text-muted-foreground font-mono`,children:kv(e)}),i&&(0,Z.jsx)(`span`,{className:`inline-flex items-center gap-0.5 text-[10px] font-medium text-primary`,children:(0,Z.jsx)(Fi,{className:`h-3 w-3 animate-pulse`})})]})})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Z.jsx)(Cc,{}),(0,Z.jsx)(Ov,{}),(0,Z.jsx)(`button`,{type:`button`,onClick:y,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:v===`dark`?`Switch to light theme`:`Switch to dark theme`,children:v===`dark`?(0,Z.jsx)(Xi,{className:`h-3.5 w-3.5`}):(0,Z.jsx)(di,{className:`h-3.5 w-3.5`})}),(0,Z.jsxs)(eo,{children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:`More options`,"aria-label":`More options`,children:(0,Z.jsx)(Ii,{className:`h-3.5 w-3.5`})})}),(0,Z.jsxs)(io,{align:`end`,className:`w-48`,children:[(0,Z.jsxs)(ao,{onSelect:o,className:`gap-2`,children:[(0,Z.jsx)(ft,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:c(`activity:topbar.command`)})]}),(0,Z.jsxs)(ao,{onSelect:s,className:`gap-2`,children:[(0,Z.jsx)(hi,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:c(`activity:topbar.settings`)})]}),(0,Z.jsxs)(`div`,{className:`border-t border-border/60 my-1 px-2 py-1 space-y-1 text-[11px] text-muted-foreground`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{children:`Backend WS`}),(0,Z.jsx)(`span`,{className:G(`font-mono font-medium`,p?`text-success`:`text-warning`),children:p?`Connected`:`Offline`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{children:`WrongProxy`}),(0,Z.jsx)(`span`,{className:G(`font-mono font-medium`,x.status===`connected`?`text-success`:x.status===`error`?`text-destructive`:`text-muted-foreground`),children:x.status===`connected`?`Connected`:x.status===`error`?`Offline`:`Disabled`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`span`,{children:`HQ`}),(0,Z.jsx)(`span`,{className:G(`font-mono font-medium`,S.status===`connected`?`text-success`:S.status===`error`?`text-destructive`:`text-muted-foreground`),children:S.status===`connected`?`Connected`:S.status===`error`?`Offline`:`Disabled`})]})]})]})]})]})]}),(0,Z.jsx)(`div`,{className:`hidden shrink-0 border-b border-border/70 bg-card/85 px-3 py-2 shadow-sm backdrop-blur-xl md:block`,children:(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:n||`WrongStack`}),m?(0,Z.jsxs)(`span`,{className:G(`inline-flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[11px] font-medium tabular-nums`,g&&h&&h!==m?`border-warning/40 bg-warning/10 text-warning`:`border-border/70 bg-muted/50 text-muted-foreground`),title:g&&h&&h!==m?`Update available: v${m} → v${h} — run wstack update`:`WrongStack v${m}`,children:[`v`,m,g&&h&&h!==m?(0,Z.jsxs)(`span`,{className:`text-[10px] opacity-80`,children:[`→ v`,h]}):null]}):null,(0,Z.jsx)(`span`,{className:`rounded-md border border-border/70 bg-muted/50 px-1.5 py-0.5 text-[11px] text-muted-foreground`,children:kv(e)}),(0,Z.jsxs)(`span`,{className:G(`inline-flex items-center gap-1 rounded-md px-1.5 py-0.5 text-[11px] font-medium`,i?`bg-primary/10 text-primary`:`bg-muted text-muted-foreground`),children:[i?(0,Z.jsx)(Fi,{className:`h-3 w-3 animate-pulse`}):(0,Z.jsx)(Et,{className:`h-3 w-3`}),i?`Running`:`Ready`,a?(0,Z.jsxs)(`span`,{className:`tabular`,children:[a.index,a.max>0?`/${a.max}`:``]}):null]}),(0,Z.jsx)(Cc,{showCountWhenZero:!0}),T?(0,Z.jsxs)(`span`,{className:G(`rounded-md border border-border/70 bg-muted/50 px-1.5 py-0.5 text-[11px] font-medium tabular-nums`,E>=.85?`text-destructive`:E>=.6?`text-warning`:`text-success`),title:`WebUI server PID ${T.pid} · heap ${Av(T.memoryUsage.heapUsed)} / ${Av(T.heapLimit)}`,children:[`RAM `,Av(T.memoryUsage.rss)]}):null,D?(0,Z.jsxs)(`span`,{className:G(`rounded-md border border-border/70 bg-muted/50 px-1.5 py-0.5 text-[11px] font-medium tabular-nums`,D.status===`connected`?`text-success`:D.status===`unresponsive`||D.status===`error`?`text-destructive`:D.status===`degraded`||D.status===`connecting`||D.status===`stopping`?`text-warning`:`text-muted-foreground`),title:[`Codebase index: ${O?.status??D.status}`,D.pid?`PID ${D.pid}`:null,O?.latencyMs==null?null:`RTT ${O.latencyMs}ms`,k?`RAM ${Av(k.memory.rss)}`:null,O?.missedHeartbeats?`missed ${O.missedHeartbeats}`:null].filter(Boolean).join(` · `),children:[`Index `,O?.status??D.status]}):null,_>0?(0,Z.jsxs)(`span`,{className:`rounded-md border border-warning/40 bg-warning/10 px-1.5 py-0.5 text-[11px] font-medium tabular-nums text-warning`,title:`${_} tool(s) dropped from provider requests due to maxTools limit`,children:[`-`,_,` tools`]}):null]}),(0,Z.jsx)(`div`,{className:`mt-0.5 truncate text-[11px] text-muted-foreground`,children:r||`No named session`})]})}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:o,className:`inline-flex h-8 items-center gap-1.5 rounded-md border border-border/70 bg-background/60 px-2 text-xs text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:c(`activity:topbar.commandPalette`),children:[(0,Z.jsx)(ft,{className:`h-3.5 w-3.5`}),c(`activity:topbar.command`)]}),(0,Z.jsx)(`button`,{type:`button`,onClick:y,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:v===`dark`?`Switch to light theme`:`Switch to dark theme`,children:v===`dark`?(0,Z.jsx)(Xi,{className:`h-3.5 w-3.5`}):(0,Z.jsx)(di,{className:`h-3.5 w-3.5`})}),(0,Z.jsxs)(eo,{children:[(0,Z.jsx)(to,{asChild:!0,children:(0,Z.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:`${c(`settings:general.paletteSwitcherTitle`)}: ${c(ae(d).labelKey)}`,"aria-label":`${c(`settings:general.paletteSwitcherTitle`)}: ${c(ae(d).labelKey)}`,children:(0,Z.jsx)(Ie,{className:`h-3.5 w-3.5`})})}),(0,Z.jsxs)(io,{align:`end`,className:`w-56`,children:[(0,Z.jsx)(co,{children:c(`settings:general.paletteHeading`)}),he.map(e=>(0,Z.jsxs)(ao,{onSelect:()=>f(e.id),className:`gap-2`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 rounded-[3px] border border-border/70`,style:{background:`linear-gradient(90deg, ${e.swatch} 0 50%, ${e.swatchSecondary} 50% 100%)`}}),(0,Z.jsx)(`span`,{className:`flex-1`,children:c(e.labelKey)}),d===e.id?(0,Z.jsx)(ai,{className:`h-3.5 w-3.5 text-primary`,"aria-hidden":!0}):null]},e.id))]})]}),(0,Z.jsx)(wv,{}),(0,Z.jsx)(Ov,{}),(0,Z.jsx)(`button`,{type:`button`,onClick:s,className:G(`inline-flex h-8 w-8 items-center justify-center rounded-md border bg-background/60 transition-colors`,x.status===`connected`?`border-border/70 text-success hover:bg-accent/60`:x.status===`error`?`border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/20`:`border-border/50 text-muted-foreground/40 hover:text-muted-foreground hover:bg-accent/60`),title:C,"aria-label":C,"data-testid":`wrongproxy-status-button`,children:(0,Z.jsx)(Kr,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:s,className:G(`inline-flex h-8 w-8 items-center justify-center rounded-md border bg-background/60 transition-colors`,S.status===`connected`?`border-border/70 text-success hover:bg-accent/60`:S.status===`error`?`border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/20`:`border-border/50 text-muted-foreground/40 hover:text-muted-foreground hover:bg-accent/60`),title:w,"aria-label":w,"data-testid":`hq-status-button`,children:(0,Z.jsx)(dn,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`span`,{role:`status`,"aria-label":p?`Connected`:`Disconnected`,className:G(`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60`,p?`text-success`:`text-warning`),title:p?`Connected`:`Disconnected`,"data-testid":`ws-status-indicator`,children:p?(0,Z.jsx)(Jr,{className:`h-3.5 w-3.5`}):(0,Z.jsx)(Cr,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`button`,{type:`button`,onClick:s,className:`inline-flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-background/60 text-muted-foreground hover:bg-accent/60 hover:text-foreground`,title:c(`activity:topbar.settings`),children:(0,Z.jsx)(hi,{className:`h-3.5 w-3.5`})})]})]})})]})}(0,X.lazy)(()=>W(()=>import(`./AnalyticsDashboard-B8r_8kNv.js`).then(e=>({default:e.AnalyticsDashboard})),__vite__mapDeps([26,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22]))),(0,X.lazy)(()=>W(()=>import(`./CodeMap-DA_k3u5g.js`).then(e=>({default:e.CodeMap})),__vite__mapDeps([42,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,19,24]))),(0,X.lazy)(()=>W(()=>import(`./ChronicleDashboard-bo2jv52s.js`).then(e=>({default:e.ChronicleDashboard})),__vite__mapDeps([39,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),(0,X.lazy)(()=>W(()=>import(`./GoalView-BkoCNN8l.js`).then(e=>({default:e.GoalView})),__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,31,46,25,32]))),(0,X.lazy)(()=>W(()=>import(`./ChangesView-BREfCsEq.js`).then(e=>({default:e.ChangesView})),__vite__mapDeps([36,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,37,38])));var Nv=(0,X.lazy)(()=>W(()=>import(`./CronJobsPanel-D-43oYQ-.js`).then(e=>({default:e.CronJobsPanel})),__vite__mapDeps([67,1,2,3,4,5,6,7,8,9,10,11,12,13,14,20,0,15,16,21,19,22,25])));(0,X.lazy)(()=>W(()=>import(`./CodeEditor-C_KzNkIb.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([40,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19,20,21,22,23,37,38,41,31,33]))),(0,X.lazy)(()=>W(()=>import(`./DebugDashboard-DNDadwro.js`).then(e=>({default:e.DebugDashboard})),__vite__mapDeps([43,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),(0,X.lazy)(()=>W(()=>import(`./DesignGalleryView-B9ZMJPOQ.js`).then(e=>({default:e.DesignGalleryView})),__vite__mapDeps([44,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24]))),(0,X.lazy)(()=>W(()=>import(`./MailboxDetailView-CdHRfnNq.js`).then(e=>({default:e.MailboxDetailView})),__vite__mapDeps([49,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,22,23,37]))),(0,X.lazy)(()=>W(()=>import(`./SageTabs-BRJG0fhZ.js`).then(e=>({default:e.SageTabs})),__vite__mapDeps([52,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),(0,X.lazy)(()=>W(()=>import(`./AgentRosterView-C46rL23K.js`).then(e=>({default:e.AgentRosterView})),__vite__mapDeps([27,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21,20,19,22,23,28,18,24,29,30,25,31,32,33,34,35]))),(0,X.lazy)(()=>W(()=>import(`./KanbanView-nql6LkaS.js`).then(e=>({default:e.KanbanView})),__vite__mapDeps([47,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,25,28,18,23,24,48]))),(0,X.lazy)(()=>W(()=>import(`./OfficeMapPanel-B47jfEHf.js`).then(e=>({default:e.OfficeMapPanel})),__vite__mapDeps([34,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,35])));var Pv=(0,X.lazy)(()=>W(()=>import(`./ProcessMonitor-CvHdN8Bn.js`).then(e=>({default:e.ProcessMonitor})),__vite__mapDeps([17,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25]))),Fv=(0,X.lazy)(()=>W(()=>import(`./QueuePanel-DOcgHRH3.js`).then(e=>({default:e.QueuePanel})),__vite__mapDeps([68,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21,20,19,22,25])));(0,X.lazy)(()=>W(()=>import(`./RefreshDebugView-BYmeORMQ.js`).then(e=>({default:e.RefreshDebugView})),__vite__mapDeps([51,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,21]))),(0,X.lazy)(()=>W(()=>import(`./SddHub-Br1vyCgq.js`).then(e=>({default:e.SddHub})),__vite__mapDeps([54,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,25,31,28,48,55]))),(0,X.lazy)(()=>W(()=>import(`./SessionsDashboard-BEQs4Div.js`).then(e=>({default:e.SessionsDashboard})),__vite__mapDeps([56,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,57,46,25,31,32]))),(0,X.lazy)(()=>W(()=>import(`./SetupScreen-zY4541lT.js`).then(e=>({default:e.SetupScreen})),__vite__mapDeps([63,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,31,32]))),(0,X.lazy)(()=>W(()=>import(`./SkillDetailView-DqxkOnb8.js`).then(e=>({default:e.SkillDetailView})),__vite__mapDeps([59,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,25,37]))),(0,X.lazy)(()=>W(()=>import(`./SpecsView-COS0-sxq.js`).then(e=>({default:e.SpecsView})),__vite__mapDeps([55,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,0,15,16,19,20,21,22,23,24,31]))),(0,X.lazy)(()=>W(()=>import(`./TechStackView-Dr8vI0hK.js`).then(e=>({default:e.TechStackView})),__vite__mapDeps([60,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,0,16,21,19,22,31,32]))),(0,X.lazy)(()=>W(()=>import(`./TerminalPanel-DlIyvxm6.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([64,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,19,22,65,66])));function Iv(){let{t:e}=H(),{theme:n}=Du(),r=$i(),{currentView:i,sidebarOpen:a,toggleSidebar:o,setSearchOpen:s,setSidebarOpen:c,setInspectorTab:u,setPaletteOpen:d,setShortcutsOpen:f,setModelSwitcherOpen:p,setPromptLibraryOpen:m,toggleInspector:h,setFleetMonitorOpen:g,setAgentsMonitorOpen:_,processMonitorOpen:v,setProcessMonitorOpen:y,queuePanelOpen:b,setQueuePanelOpen:x,cronJobsOpen:C,setCronJobsOpen:w,setTerminalOpen:T}=K(Mn(e=>({currentView:e.currentView,sidebarOpen:e.sidebarOpen,toggleSidebar:e.toggleSidebar,setSearchOpen:e.setSearchOpen,setSidebarOpen:e.setSidebarOpen,setInspectorTab:e.setInspectorTab,setPaletteOpen:e.setPaletteOpen,setShortcutsOpen:e.setShortcutsOpen,setModelSwitcherOpen:e.setModelSwitcherOpen,setPromptLibraryOpen:e.setPromptLibraryOpen,toggleInspector:e.toggleInspector,setFleetMonitorOpen:e.setFleetMonitorOpen,setAgentsMonitorOpen:e.setAgentsMonitorOpen,processMonitorOpen:e.processMonitorOpen,setProcessMonitorOpen:e.setProcessMonitorOpen,queuePanelOpen:e.queuePanelOpen,setQueuePanelOpen:e.setQueuePanelOpen,cronJobsOpen:e.cronJobsOpen,setCronJobsOpen:e.setCronJobsOpen,setTerminalOpen:e.setTerminalOpen}))),E=q(e=>e.isLoading),D=q(e=>e.messages.length),O=be(e=>e.info),k=be(e=>e.promptedThisSession);(0,X.useEffect)(()=>{!O||O.chosen||O.variants.length!==0&&(D>0||k||be.getState().openPicker())},[O,D,k]);let A=j(e=>e.iteration),M=j(e=>e.projectName),ee=j(e=>e.session?.title),N=j(e=>e.session?.id),F=P()??N,te=K(e=>F?e.sessionNicknames[F]:void 0),ne=K(e=>e.sideContextBreakdownOpen),I=K(e=>e.setSideContextBreakdownOpen);z(e=>e.agents),Bo({setPaletteOpen:d,setSearchOpen:s,setShortcutsOpen:f,setModelSwitcherOpen:p,setPromptLibraryOpen:m,setFleetMonitorOpen:g,setAgentsMonitorOpen:_,setProcessMonitorOpen:y,setQueuePanelOpen:x,setCronJobsOpen:w,setTerminalOpen:T}),(0,X.useEffect)(()=>{typeof window>`u`||(window.location.pathname===`/debug`?Da(`debug`):window.location.pathname===`/analytics`?Da(`analytics`):window.location.pathname===`/refresh-debug`&&Da(`refresh-debug`))},[]),(0,X.useEffect)(()=>{let e=e=>{let{filePath:n}=e.detail;K.getState().setCurrentView(`files`);let r=B(t.getState().wsUrl);r&&r.send({type:`files.read`,payload:r.withSession({filePath:n})})};return window.addEventListener(`wrongstack:open-file`,e),()=>window.removeEventListener(`wrongstack:open-file`,e)},[]),(0,X.useEffect)(()=>{let e=e=>{let{filePath:n}=e.detail,r=S.getState().openFiles.find(e=>e.path===n);if(!r)return;let i=B(t.getState().wsUrl);i&&i.send({type:`files.write`,payload:i.withSession({filePath:n,content:r.content})})};return window.addEventListener(`wrongstack:save-file`,e),()=>window.removeEventListener(`wrongstack:save-file`,e)},[]);let{isMobile:L}=ea();(0,X.useEffect)(()=>{L&&K.getState().sidebarOpen&&c(!1)},[L,c]);let R=L&&a;return ta(),Wo(),Ho(),(0,X.useEffect)(()=>{let e=[];if(E){let t=A?` iter ${A.index}${A.max?`/${A.max}`:``}`:``;e.push(`●${t}`)}let t=te?.trim()||ee?.trim(),n=M?.trim();t&&e.push(t),n&&e.push(n),e.length===0&&e.push(n||`AI Agent`);let r=e.filter(Boolean).join(` · `);return document.title=r,()=>{document.title=M||`AI Agent`}},[E,A,M,ee,te]),Uo({toggleSidebar:o,setSearchOpen:s,toggleInspector:h,setInspectorTab:u}),(0,Z.jsxs)(`div`,{"data-shell":r?`desktop`:`browser`,className:G(`ws-app-root flex min-h-0 min-w-0 overflow-hidden`,r&&`ws-desktop-shell`,n),children:[(0,Z.jsx)(`a`,{href:`#main-content`,className:`sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-[100] focus:rounded-md focus:bg-background focus:px-3 focus:py-1.5 focus:text-sm focus:font-medium focus:shadow-lg focus:ring-2 focus:ring-primary`,children:e(`activity:app.skipToContent`)}),i!==`setup`&&(0,Z.jsx)(To,{desktopShell:r}),a&&i!==`setup`&&(0,Z.jsx)(Cu,{desktopShell:r}),(0,Z.jsxs)(`main`,{id:`main-content`,className:`flex-1 min-w-0 min-h-0 flex flex-col overflow-hidden bg-background/70`,...R?{inert:!0}:{},children:[i!==`setup`&&(0,Z.jsx)(Mv,{currentView:i,projectName:M,sessionLabel:te||ee||F||void 0,isLoading:E,iteration:A??null,onPalette:()=>d(!0),onSettings:()=>Oa(`settings`)}),i!==`setup`&&(0,Z.jsx)(`div`,{className:G(i!==`chat`&&`ws-view-parked`),...i===`chat`?{}:{inert:!0,"aria-hidden":!0},children:(0,Z.jsx)(Qc,{})}),i!==`setup`&&(0,Z.jsx)(rs,{}),i!==`setup`&&(0,Z.jsx)(ku,{}),(0,Z.jsx)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col`,children:(0,Z.jsx)(yv,{sessionId:F??null,desktopShell:r})})]}),i!==`setup`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.inspector`),children:(0,Z.jsx)(wc,{})}),F&&(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.workspaceInspector`),children:(0,Z.jsx)(Y_,{sessionId:F})})]}),v&&(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.processMonitor`),children:(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Pv,{open:v,onClose:()=>y(!1)})})}),b&&(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.queue`),children:(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Fv,{open:b,onClose:()=>x(!1)})})}),C&&(0,Z.jsx)(ms,{level:`panel`,name:e(`activity:panels.cronJobs`),children:(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Nv,{open:C,onClose:()=>w(!1)})})}),(0,Z.jsx)(Mc,{}),ne&&(0,Z.jsx)(fs,{open:ne,onClose:()=>I(!1)}),(0,Z.jsx)(es,{}),(0,Z.jsx)(wu,{}),(0,Z.jsx)(Va,{}),(0,Z.jsx)(ns,{}),(0,Z.jsx)(Ra,{}),(0,Z.jsx)(Ro,{}),(0,Z.jsx)(el,{}),(0,Z.jsx)(Uc,{}),(0,Z.jsx)(hs,{}),(0,Z.jsx)(l,{})]})}function Lv(){return(0,Z.jsx)(ms,{children:(0,Z.jsx)(Eu,{defaultTheme:`system`,children:(0,Z.jsx)(Iv,{})})})}qa.createRoot(d(document.getElementById(`root`))).render((0,Z.jsx)(X.StrictMode,{children:(0,Z.jsx)(Lv,{})}));export{eo as A,ys as C,_s as D,xs as E,ao as M,to as N,Yo as O,ic as S,bs as T,Du as _,wh as a,dc as b,mh as c,Up as d,Ap as f,Rf as g,Bf as h,Ch as i,io as j,qo as k,Xm as l,Kf as m,B_ as n,Sh as o,xp as p,I_ as r,hh as s,H_ as t,Cm as u,El as v,Ss as w,uc as x,Cl as y};