@wrongstack/webui 0.268.0 → 0.270.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.
@@ -11,7 +11,7 @@ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{$ as t,$n as n,$r as r
11
11
 
12
12
  `).trim()}}var ti=[{re:/💡\s*Next steps?\s*\n+/i,label:`emoji`},{re:/##?\s*Next steps?\s*\n+/i,label:`markdown`},{re:/\n{1,2}Next steps?\s*\n+/i,label:`plain`},{re:/<next_steps>\s*\n+/i,label:`xml-tag`}];function ni(){let e=ti.map(({re:e})=>`(?:${e.source})`).join(`|`);return new RegExp(e,`i`)}function ri(e){return e.replace(/<next_steps\b[^>]*>[\s\S]*?<\/next_steps>/gi,``).replace(/<next_steps\b[^>]*\/?>/gi,``).replace(/\n{3,}/g,`
13
13
 
14
- `).trim()}function ii(e){let t=document.querySelector(`textarea`);t&&((Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,`value`)?.set)?.call(t,e),t.dispatchEvent(new Event(`input`,{bubbles:!0})),t.focus())}function ai({delayMs:e,onComplete:t}){let[n,r]=(0,B.useState)(Math.ceil(e/1e3));return(0,B.useEffect)(()=>{if(n<=0){t();return}let e=setTimeout(()=>r(e=>e-1),1e3);return()=>clearTimeout(e)},[n,t]),(0,K.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-primary font-medium`,children:[(0,K.jsx)(He,{className:`h-3 w-3`}),n,`s`]})}function oi({steps:e,yoloMode:t=!1,autoMode:n=!1,autoDelayMs:r=3e4,onAutoSubmit:i,canAutoSubmit:a=!0}){if(e.length===0)return null;let o=t&&n&&a,s=o?e.find(e=>e.auto):void 0;return(0,K.jsxs)(`div`,{className:`mt-4 rounded-xl border border-primary/20 bg-primary/[0.03] overflow-hidden animate-message`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2 px-3.5 py-2 border-b border-primary/10 bg-primary/[0.04]`,children:[(0,K.jsx)(`span`,{className:`flex items-center justify-center w-5 h-5 rounded-md bg-primary/15 text-primary`,children:(0,K.jsx)(v,{className:`h-3 w-3`})}),(0,K.jsx)(`span`,{className:`text-xs font-semibold text-foreground/90`,children:`Next steps`}),o&&s?(0,K.jsxs)(`span`,{className:`ml-auto flex items-center gap-1 text-xs text-primary`,children:[(0,K.jsx)(He,{className:`h-3 w-3`}),`auto-submitting in `,(0,K.jsx)(ai,{delayMs:r,onComplete:()=>i?.(s.text)})]}):(0,K.jsx)(`span`,{className:`text-[10px] text-muted-foreground ml-auto`,children:`click to fill input`})]}),(0,K.jsx)(`div`,{className:`flex flex-col p-2 gap-1`,children:e.map(e=>{let t=o&&e.auto;return(0,K.jsxs)(`button`,{type:`button`,onClick:()=>ii(e.text),className:`group flex items-center gap-2.5 w-full text-left px-3 py-2 rounded-lg transition-all border ${t?`bg-primary/10 border-primary/30 ring-1 ring-primary/20`:`border-transparent hover:bg-primary/[0.08] hover:shadow-sm hover:border-primary/20`}`,title:`Click to fill: ${e.text}`,children:[(0,K.jsx)(`span`,{className:`flex items-center justify-center w-5 h-5 rounded-md text-[11px] font-mono font-semibold tabular-nums shrink-0 transition-colors ${t?`bg-primary/30 text-primary`:`bg-muted/80 group-hover:bg-primary/20 text-muted-foreground group-hover:text-primary`}`,children:e.index}),(0,K.jsx)(Pn,{className:`h-3.5 w-3.5 shrink-0 transition-all ${t?`text-primary`:`text-muted-foreground/60 group-hover:text-primary group-hover:translate-x-0.5`}`}),(0,K.jsx)(`span`,{className:`text-sm leading-snug flex-1 min-w-0 transition-colors ${t?`text-foreground font-medium`:`text-foreground/80 group-hover:text-foreground`}`,children:e.text}),e.auto&&(0,K.jsxs)(`span`,{className:`flex items-center gap-1 text-[10px] text-primary/70`,children:[n&&e.index===1&&!o?(0,K.jsx)(`span`,{title:`Will auto-submit after countdown`,children:`⏩`}):(0,K.jsx)(He,{className:`h-3 w-3`}),`auto`]}),(0,K.jsx)(Pt,{className:`h-3.5 w-3.5 shrink-0 transition-all ${t?`opacity-100 text-primary/60`:`opacity-0 group-hover:opacity-100 text-primary/60`}`})]},e.index)})})]})}var si=12,ci=20;function li(e,t,n){return{id:e,name:t?.trim()||e,sessionId:n,status:`running`,iteration:0,toolCalls:0,costUsd:0,ctxPct:0,ctxTokens:0,maxContext:0,extensions:0,startedAt:Date.now(),toolLog:[],sparklineBins:Array(si).fill(0)}}var ui=0;function di(){return`tl_${Date.now()}_${++ui}`}function fi(e,t){return[t,...e].slice(0,ci)}function pi(e){return[e[0]+1,...e.slice(0,si-1)]}var q=Kn()((e,t)=>({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,fleetConcurrencyMax:4,eventTimeline:[],clear:()=>e({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,eventTimeline:[]}),getAgentsBySession:e=>{let n=[];for(let r of t().agents.values())r.sessionId===e&&n.push(r);return n},applyEvent:t=>e(e=>{let n=new Map(e.agents),r=e.eventTimeline,i=e.leaderId,a=e.fleetTokensIn,o=e.fleetTokensOut;if(t.kind===`session_stopped`&&t.sessionId){for(let[e,r]of n)r.sessionId===t.sessionId&&n.delete(e);return{agents:n,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0}}if(t.kind===`leader_updated`&&t.subagentId){let a=e.leaderId;if(a&&a!==t.subagentId){let e=n.get(a);e&&n.set(a,{...e,isLeader:!1})}i=t.subagentId;let o=n.get(t.subagentId)??li(t.subagentId,t.name,t.sessionId);return n.set(t.subagentId,{...o,isLeader:!0,name:t.name?.trim()||o.name}),r=fi(r,{id:di(),kind:`leader_updated`,agentId:t.subagentId,agentName:t.name??i,timestamp:Date.now(),message:`${t.name??t.subagentId} became leader`}),{agents:n,leaderId:i,eventTimeline:r}}if(!t.subagentId)return e;let s=n.get(t.subagentId)??li(t.subagentId,t.name,t.sessionId),c={...s},l=Date.now();switch(t.kind){case`spawned`:c.name=t.name?.trim()||c.name,c.provider=t.provider??c.provider,c.model=t.model??c.model,c.description=t.description??c.description,c.taskId=t.taskId??c.taskId,c.sessionId=t.sessionId??c.sessionId,c.status=`running`,c.sparklineBins=Array(si).fill(0),r=fi(r,{id:di(),kind:`spawned`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} spawned`});break;case`task_started`:c.description=t.description??c.description,c.taskId=t.taskId??c.taskId,c.status=`running`,r=fi(r,{id:di(),kind:`task_started`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} started: ${t.description??`new task`}`});break;case`tool_executed`:{let e=typeof t.ok==`boolean`?t.ok:!0,n=typeof t.durationMs==`number`?t.durationMs:0;c.lastTool=t.toolName??c.lastTool,c.toolCalls+=1,c.toolLog=[{name:t.toolName??`unknown`,ok:e,durationMs:n,at:l},...c.toolLog].slice(0,50),c.sparklineBins=pi(c.sparklineBins),r=fi(r,{id:di(),kind:`tool_executed`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} ${e?`✓`:`✗`} ${t.toolName??`tool`}`,value:n});break}case`iteration_summary`:c.iteration=t.iteration??c.iteration,typeof t.toolCalls==`number`&&(c.toolCalls=t.toolCalls),typeof t.costUsd==`number`&&(c.costUsd=t.costUsd),c.currentTool=t.currentTool??c.currentTool,typeof t.partialText==`string`&&t.partialText&&(c.partialText=t.partialText),c.sparklineBins=pi(c.sparklineBins),r=fi(r,{id:di(),kind:`iteration_summary`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} iter ${t.iteration??c.iteration} · ${t.currentTool?`${t.currentTool}`:``}`,value:t.costUsd});break;case`budget_extended`:c.extensions=t.totalExtensions??c.extensions+1,c.budgetWarning=void 0,r=fi(r,{id:di(),kind:`budget_extended`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} extended budget ⚡×${c.extensions}`});break;case`ctx_pct`:c.ctxPct=Math.round(Math.max(0,t.load??0)*100),c.ctxTokens=t.tokens??c.ctxTokens,c.maxContext=t.maxContext??c.maxContext,c.ctxPct>=80&&!c.budgetWarning&&(c.budgetWarning=c.ctxPct>=100?{kind:`hard`,used:c.ctxPct,limit:100}:{kind:`soft`,used:c.ctxPct,limit:100}),typeof t.costUsd==`number`&&(c.costUsd=t.costUsd),typeof t.tokensIn==`number`&&(c.tokensIn=t.tokensIn,a=a-(s.tokensIn??0)+t.tokensIn),typeof t.tokensOut==`number`&&(c.tokensOut=t.tokensOut,o=o-(s.tokensOut??0)+t.tokensOut),r=fi(r,{id:di(),kind:`ctx_pct`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} ctx ${c.ctxPct}%`,value:c.ctxPct});break;case`task_completed`:{c.status=t.status===`success`?`completed`:t.status??`completed`,typeof t.iterations==`number`&&(c.iteration=t.iterations),typeof t.toolCalls==`number`&&(c.toolCalls=t.toolCalls),c.error=t.error,c.currentTool=void 0,c.completedAt=l,c.failureReason=t.failureReason??c.failureReason,typeof t.finalText==`string`&&t.finalText&&(c.finalText=ri(t.finalText));let e=t.status===`success`?`✓ completed`:t.status===`failed`?`✗ failed${t.failureReason?` (${t.failureReason})`:``}`:t.status===`timeout`?`⏱ timeout${t.failureReason?` (${t.failureReason})`:``}`:`stopped`;r=fi(r,{id:di(),kind:`task_completed`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} ${e}`,value:c.costUsd});break}}return n.set(t.subagentId,c),{agents:n,leaderId:i,fleetTokensIn:a,fleetTokensOut:o,eventTimeline:r}})}));function mi(e){return!e||typeof e.goal!=`string`||!e.goal.trim()?null:{goal:e.goal,refinedGoal:typeof e.refinedGoal==`string`?e.refinedGoal:void 0,goalState:[`active`,`paused`,`completed`,`failed`,`abandoned`].includes(e.goalState)?e.goalState:`active`,iterations:typeof e.iterations==`number`?e.iterations:0,progress:typeof e.progress==`number`?e.progress:0,progressNote:typeof e.progressNote==`string`?e.progressNote:void 0,progressTrend:e.progressTrend===`accelerating`?`up`:e.progressTrend===`stalling`?`down`:e.progressTrend===`steady`?`stable`:void 0,deliverables:Array.isArray(e.deliverables)?e.deliverables.map((e,t)=>typeof e==`string`?{id:`d${t}`,text:e,status:/^\[[x✓]\]|✅|\(done\)/i.test(e)?`done`:`pending`}:e):void 0,journal:Array.isArray(e.journal)?e.journal:void 0,lastTask:typeof e.lastTask==`string`?e.lastTask:void 0,lastStatus:typeof e.lastStatus==`string`?e.lastStatus:void 0}}var hi=Kn()(e=>({goal:null,setGoal:t=>e({goal:mi(t)}),clear:()=>e({goal:null}),refresh:()=>{try{V()?.send?.({type:`goal.get`})}catch{}}})),gi=Kn()(e=>({phases:[],activePhaseId:null,overallPercent:0,autonomous:!1,title:null,setState:t=>e(e=>({phases:t.phases??e.phases,activePhaseId:t.activePhaseId===void 0?e.activePhaseId:t.activePhaseId,overallPercent:t.overallPercent??e.overallPercent,autonomous:t.autonomous??e.autonomous,title:t.title===void 0?e.title:t.title})),clear:()=>e({phases:[],activePhaseId:null,overallPercent:0,autonomous:!1,title:null})})),_i={autonomy:`off`,autonomyDelayMs:45e3,autoProceedMaxIterations:50,yolo:!1,maxIterations:500,chime:!1,confirmExit:!0,streamFleet:!0,nextPrediction:!1,featureMcp:!0,featurePlugins:!0,featureMemory:!0,featureSkills:!0,featureModelsRegistry:!0,indexOnStart:!0,contextAutoCompact:!0,contextStrategy:`hybrid`,contextMode:`balanced`,tokenSavingTier:`off`,maxConcurrent:10,titleAnimation:!0,logLevel:`info`,auditLevel:`standard`,enhanceEnabled:!0,enhanceDelayMs:6e4,enhanceLanguage:`original`,reasoningMode:`auto`,reasoningEffort:`high`,reasoningPreserve:!1,cacheTtl:`default`,hqEnabled:!1,hqUrl:``,hqToken:``,hqRawContent:!1,tgConfigured:!1,tgSessionEnd:!1,tgDelegate:!0,tgLongToolMs:3e4},vi=Kn()(Lt(e=>({..._i,set:t=>e(t),reset:()=>e(_i)}),{name:`wrongstack-local-prefs`,version:3,migrate:e=>{let t=e??{};return[`hybrid`,`intelligent`,`selective`].includes(t.contextStrategy)||(t.contextStrategy=`hybrid`),t.auditLevel===`verbose`&&(t.auditLevel=`full`),[`minimal`,`standard`,`full`].includes(t.auditLevel)||(t.auditLevel=`standard`),typeof t.autoProceedMaxIterations!=`number`&&(t.autoProceedMaxIterations=50),t}})),J=Kn()((e,t)=>({projectRoot:``,tree:[],openFiles:[],activeFilePath:null,treeLoading:!1,error:null,setTree:(t,n)=>e({projectRoot:t,tree:n,treeLoading:!1,error:null}),openFile:(n,r)=>{let i=t();if(i.openFiles.find(e=>e.path===n)){e({activeFilePath:n});return}e({openFiles:[...i.openFiles,{path:n,content:r,dirty:!1,savedContent:r}],activeFilePath:n})},closeFile:n=>{let r=t(),i=r.openFiles.findIndex(e=>e.path===n);if(i===-1)return;let a=[...r.openFiles];a.splice(i,1);let o=r.activeFilePath;r.activeFilePath===n&&(o=a.length===0?null:i<a.length?a[i].path:a[a.length-1].path),e({openFiles:a,activeFilePath:o})},setActiveFile:t=>e({activeFilePath:t}),updateContent:(t,n)=>{e(e=>({openFiles:e.openFiles.map(e=>e.path===t?{...e,content:n,dirty:n!==e.savedContent}:e)}))},markSaved:t=>{e(e=>({openFiles:e.openFiles.map(e=>e.path===t?{...e,dirty:!1,savedContent:e.content}:e)}))},setTreeLoading:t=>e({treeLoading:t}),setError:t=>e({error:t})}));function yi(e,t=!1){if(t&&e.target){if(e.kind===`agent:tool`||e.kind===`tool:executed`||e.kind===`tool:started`)return`tool`;if(e.source===`leader`||e.source===`coordinator`)return`coordinator`;if(e.kind.startsWith(`provider:`))return`provider`;if(e.kind.startsWith(`mailbox:`))return`mailbox`}switch(e.kind){case`provider:call`:case`provider:delta`:case`provider:response`:return`provider`;case`agent:spawned`:case`agent:tool`:case`agent:status`:case`agent:text`:case`agent:ctx`:case`budget:extended`:return`agent`;case`tool:started`:case`tool:executed`:case`tool:progress`:return`tool`;case`mailbox:send`:case`mailbox:deliver`:return`mailbox`;case`session:start`:case`session:end`:case`iteration:start`:case`iteration:end`:case`fleet:snapshot`:return`session`;case`context:compacted`:case`context:repaired`:case`cost:update`:return`system`;case`error`:return`error`;default:return`system`}}function bi(e){switch(e){case`provider:call`:case`provider:delta`:case`agent:tool`:case`tool:started`:case`tool:progress`:case`iteration:start`:case`agent:text`:return`streaming`;case`agent:status`:case`iteration:end`:return`completed`;case`error`:return`error`;case`tool:executed`:return`completed`;case`session:end`:return`idle`;default:return`active`}}var xi=0;function Si(){return`viz_${Date.now()}_${++xi}`}var Ci={provider:`hsl(180, 80%, 55%)`,agent:`hsl(280, 80%, 65%)`,tool:`hsl(40, 90%, 55%)`,mailbox:`hsl(140, 70%, 55%)`,session:`hsl(220, 80%, 60%)`,system:`hsl(0, 0%, 60%)`,error:`hsl(0, 80%, 55%)`},wi={"provider:call":`hsl(180, 80%, 55%)`,"provider:delta":`hsl(180, 60%, 70%)`,"agent:tool":`hsl(40, 90%, 55%)`,"mailbox:send":`hsl(140, 70%, 55%)`,default:`hsl(0, 0%, 40%)`},Ti=Kn()((e,t)=>({events:[],nodes:new Map,edges:new Map,isActive:!1,maxEvents:500,counters:{totalTokens:0,totalCost:0,totalToolCalls:0,activeAgents:0,completedTasks:0,errors:0,mailboxMessages:0},pushEvent:t=>e(e=>{let n=[{...t,id:t.id??Si(),timestamp:t.timestamp||Date.now()},...e.events];n.length>e.maxEvents&&(n.length=e.maxEvents);let r=new Map(e.nodes),i=new Map(e.edges),a=Date.now(),o={id:t.source,kind:yi(t),label:t.label,status:bi(t.kind),activity:1,color:t.color??Ci[yi(t)],lastSeenAt:a},s=r.get(t.source);if(r.set(t.source,{...s,...o}),t.target){let e={id:t.target,kind:yi(t,!0),label:t.target,status:bi(t.kind),activity:.8,color:t.color??Ci[yi(t,!0)],lastSeenAt:a},n=r.get(t.target);r.set(t.target,{...n,...e});let o=`${t.source}->${t.target}`,s=i.get(o);i.set(o,{id:o,source:t.source,target:t.target,kind:t.kind,label:t.label,intensity:s?Math.min(1,s.intensity+.3):.7,color:t.color??Ci[yi(t)]??`#6366f1`,lastActiveAt:a,totalMagnitude:(s?.totalMagnitude??0)+(t.magnitude??0)})}return{events:n,nodes:r,edges:i}}),upsertNode:t=>e(e=>{let n=new Map(e.nodes),r=n.get(t.id);return n.set(t.id,{...r,...t,lastSeenAt:t.lastSeenAt===void 0?Date.now():t.lastSeenAt}),{nodes:n}}),removeNode:t=>e(e=>{let n=new Map(e.nodes);n.delete(t);let r=new Map(e.edges);for(let[e,n]of r)(n.source===t||n.target===t)&&r.delete(e);return{nodes:n,edges:r}}),upsertEdge:t=>e(e=>{let n=new Map(e.edges),r=n.get(t.id);return n.set(t.id,{...r,...t,lastActiveAt:t.lastActiveAt===void 0?Date.now():t.lastActiveAt,intensity:t.intensity??r?.intensity??.5,color:t.color??wi[t.kind]??wi.default,totalMagnitude:(r?.totalMagnitude??0)+(t.totalMagnitude??0)}),{edges:n}}),removeEdge:t=>e(e=>{let n=new Map(e.edges);return n.delete(t),{edges:n}}),clear:()=>e({events:[],nodes:new Map,edges:new Map,counters:{totalTokens:0,totalCost:0,totalToolCalls:0,activeAgents:0,completedTasks:0,errors:0,mailboxMessages:0}}),setActive:t=>e({isActive:t}),decayActivity:()=>e(e=>{let t=new Map(e.nodes);for(let[e,n]of t)if(n.activity>=.01){let r=n.activity*.92;t.set(e,{...n,activity:r<.01?0:r})}let n=new Map(e.edges);for(let[e,t]of n)if(t.intensity>=.01){let r=t.intensity*.9;n.set(e,{...t,intensity:r<.01?0:r})}return{nodes:t,edges:n}}),prunesStale:t=>e(e=>{let n=Date.now()-t,r=new Map(e.nodes);for(let[e,t]of r)t.lastSeenAt<n&&t.status!==void 0&&t.status!==`active`&&r.delete(e);let i=new Map(e.edges);for(let[e,t]of i)t.lastActiveAt<n&&i.delete(e);return{nodes:r,edges:i,events:e.events.filter(e=>e.timestamp>n)}})}));function Ei(e,t){switch(e){case`provider.text_delta`:{let e=t.text??``;return{id:Si(),kind:`provider:delta`,timestamp:Date.now(),source:`provider`,target:`leader`,label:e.slice(0,60),magnitude:e.length,data:{text:e},color:Ci.provider,flowGroup:`provider`}}case`provider.response`:{let e=t.usage,n=(e?.input??0)+(e?.output??0);return{id:Si(),kind:`provider:response`,timestamp:Date.now(),source:`provider`,target:`leader`,label:`${(e?.input??0).toLocaleString(`en-US`)} in / ${(e?.output??0).toLocaleString(`en-US`)} out`,magnitude:n,data:t,color:Ci.provider,flowGroup:`provider`}}case`tool.started`:{let e=t.name??`tool`;return{id:Si(),kind:`tool:started`,timestamp:Date.now(),source:e,target:`filesystem`,label:e,magnitude:1,data:t,color:Ci.tool,flowGroup:`tool:${e}`}}case`tool.executed`:{let e=t.name??`tool`,n=t.ok??!0;return{id:Si(),kind:`tool:executed`,timestamp:Date.now(),source:e,target:`leader`,label:`${e} ${n?`✓`:`✗`} (${t.durationMs??0}ms)`,magnitude:t.durationMs??0,data:t,color:n?Ci.tool:Ci.error,flowGroup:`tool:${e}`}}case`tool.progress`:{let e=t.name??`tool`,n=t.event?.text??``;return{id:Si(),kind:`tool:progress`,timestamp:Date.now(),source:e,target:`leader`,label:n.slice(0,60)||e,magnitude:n.length,data:t,color:Ci.tool,flowGroup:`tool:${e}`}}case`subagent.event`:{let e=t.kind,n=t.subagentId??`unknown`,r=t.name??n;switch(e){case`spawned`:return{id:Si(),kind:`agent:spawned`,timestamp:Date.now(),source:n,target:`session`,label:`${r} spawned`,magnitude:1,data:t,color:Ci.agent,flowGroup:`agent:${n}`};case`tool_executed`:{let e=t.toolName??`tool`,r=t.ok??!0;return{id:Si(),kind:`agent:tool`,timestamp:Date.now(),source:n,target:e,label:e,magnitude:t.durationMs??0,data:t,color:r?Ci.tool:Ci.error,flowGroup:`agent:${n}`}}case`task_completed`:{let e=t.status??`completed`;return{id:Si(),kind:`agent:status`,timestamp:Date.now(),source:n,target:`session`,label:`${r} ${e}`,magnitude:1,data:t,color:e===`success`?`hsl(140, 70%, 55%)`:Ci.error,flowGroup:`agent:${n}`}}case`ctx_pct`:return{id:Si(),kind:`agent:ctx`,timestamp:Date.now(),source:n,target:`session`,label:`ctx ${Math.round((t.load??0)*100)}%`,magnitude:t.tokens??0,data:t,color:Ci.agent,flowGroup:`agent:${n}`};case`iteration_summary`:return{id:Si(),kind:`agent:text`,timestamp:Date.now(),source:n,target:`session`,label:(t.partialText??``).slice(0,80)||`iter ${t.iteration??0}`,magnitude:t.costUsd??0,data:t,color:Ci.agent,flowGroup:`agent:${n}`};case`budget_extended`:return{id:Si(),kind:`budget:extended`,timestamp:Date.now(),source:n,target:`session`,label:`${r} extended budget`,magnitude:t.totalExtensions??1,data:t,color:`hsl(40, 90%, 55%)`,flowGroup:`agent:${n}`}}return null}case`mailbox.event`:{let e=t.event,n=t.from??`?`,r=t.to??`?`,i=t.subject??``,a=e===`mailbox.sent`;return{id:Si(),kind:a?`mailbox:send`:`mailbox:deliver`,timestamp:Date.now(),source:n,target:r,label:i||(a?`→ ${r}`:`← ${n}`),magnitude:1,data:t,color:Ci.mailbox,flowGroup:`mailbox`}}case`iteration.started`:{let e=t.index??0;return{id:Si(),kind:`iteration:start`,timestamp:Date.now(),source:`leader`,target:`session`,label:`Iteration ${e}`,magnitude:e,data:t,color:Ci.agent,flowGroup:`iteration`}}case`error`:{let e=t.message??`Error`;return{id:Si(),kind:`error`,timestamp:Date.now(),source:t.phase??`system`,target:`session`,label:e,magnitude:1,data:t,color:Ci.error,flowGroup:`error`}}case`context.compacted`:return{id:Si(),kind:`context:compacted`,timestamp:Date.now(),source:`system`,target:`session`,label:`Compacted: ${(t.saved??0).toLocaleString(`en-US`)} tokens`,magnitude:t.saved??0,data:t,color:`hsl(220, 60%, 50%)`,flowGroup:`context`};case`context.repaired`:return{id:Si(),kind:`context:repaired`,timestamp:Date.now(),source:`system`,target:`session`,label:`Repaired: ${t.removedMessages??0} msgs`,magnitude:t.removedMessages??0,data:t,color:`hsl(220, 60%, 50%)`,flowGroup:`context`};case`session.start`:{let e=t.sessionId??`?`,n=t.projectName??``;return{id:Si(),kind:`session:start`,timestamp:Date.now(),source:`session`,target:`leader`,label:n||e.slice(0,12),magnitude:1,data:t,color:Ci.session,flowGroup:`session`}}case`sessions.status_update`:{let e=t.sessions??[];return{id:Si(),kind:`fleet:snapshot`,timestamp:Date.now(),source:`system`,target:`session`,label:`${e.length} session(s)`,magnitude:e.length,data:t,color:Ci.system,flowGroup:`fleet`}}default:return null}}function Di(e){switch(e){case`tui`:return`tui`;case`cli`:case`repl`:return`repl`;case`webui`:return`webui`;default:return`webui`}}function Oi(e){let t={tui:0,webui:0,repl:0},n=0,r=0,i={toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0};for(let a of e){t[Di(a.clientType)]+=1;for(let e of a.agents)n+=1,(e.status===`running`||e.status===`streaming`)&&(r+=1),i.toolCalls+=e.toolCalls??0,i.costUsd+=e.costUsd??0,i.tokensIn+=e.tokensIn??0,i.tokensOut+=e.tokensOut??0}return{clientCounts:t,totalAgents:n,activeAgents:r,aggregate:i}}var ki=0,Ai=Kn()(e=>({clientCounts:{tui:0,webui:0,repl:0},mailActivity:[],totalMessages:0,openMessages:0,unreadMessages:0,totalAgents:0,activeAgents:0,currentSession:{},liveSessions:[],aggregate:{toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0},lastUpdated:Date.now(),setClientCounts:t=>e({clientCounts:t,lastUpdated:Date.now()}),setLiveSessions:t=>e({liveSessions:t,...Oi(t),lastUpdated:Date.now()}),addMailActivity:t=>e(e=>({mailActivity:[{...t,seq:t.seq??++ki},...e.mailActivity].slice(0,50),lastUpdated:Date.now()})),setMailStats:(t,n,r)=>e({totalMessages:t,openMessages:n,unreadMessages:r,lastUpdated:Date.now()}),setAgentStats:(t,n)=>e({totalAgents:t,activeAgents:n,lastUpdated:Date.now()}),setCurrentSession:t=>e({currentSession:{...Ai.getState().currentSession,...t},lastUpdated:Date.now()}),clear:()=>e({clientCounts:{tui:0,webui:0,repl:0},mailActivity:[],totalMessages:0,openMessages:0,unreadMessages:0,totalAgents:0,activeAgents:0,currentSession:{},liveSessions:[],aggregate:{toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0},lastUpdated:Date.now()})}));function ji(e,t){return t>=100?`danger`:`warning`}function Mi(e,t){switch(e){case`budget.threshold_reached`:{let e=t,n=e.limit>0?Math.round(e.used/e.limit*100):0;return`${e.subagentId} [${e.kind}] ${n}% (${e.used}/${e.limit})`}case`budget.decision`:{let e=t;return`${e.subagentId} [${e.kind}] → ${e.decision}`}case`consensus.vote_initiated`:{let e=t;return`Vote: "${e.title}" — ${e.eligible.length} voters`}case`consensus.vote_cast`:{let e=t;return`${e.voterId} voted ${e.value}`}case`consensus.vote_resolved`:{let e=t;return`${e.result} — ✅${e.approveCount} ❌${e.rejectCount}`}case`task.pending`:return`Task queued: "${t.description.slice(0,60)}"`;case`task.started`:{let e=t;return`${e.subagentId} started ${e.taskId}`}case`task.completed`:{let e=t;return`Task ${e.taskId} ${e.status} (${e.durationMs}ms)`}case`task.failed`:{let e=t;return`Task ${e.taskId} failed: ${e.error.slice(0,60)}`}case`subagent.budget_extended`:{let e=t;return`${e.subagentId} [${e.kind}] extended → ${e.extendedTo}ms`}default:return e}}var Ni=200,Pi=50,Fi=300,Ii=200,Li=100;function Ri(e,t,n){if(!(e.size<=t)){if(n)for(let[r,i]of e){if(e.size<=t)break;n(i)&&e.delete(r)}for(let n of e.keys()){if(e.size<=t)break;e.delete(n)}}}var Y=Kn()(e=>({coordinatorStatus:`idle`,subagents:new Map,events:[],consensusVotes:new Map,tasks:new Map,taskCounts:{pending:0,running:0,completed:0,failed:0},budgetAlerts:[],lastUpdated:Date.now(),setCoordinatorStatus:(t,n)=>e(e=>({coordinatorStatus:t,coordinatorMode:n,lastUpdated:Date.now()})),updateCoordinatorStats:t=>e(e=>{let n=new Map(e.subagents);for(let e of t.subagentStatuses??[]){let t=n.get(e.id);n.set(e.id,{id:e.id,name:e.name,role:t?.role??`agent`,status:e.status,currentTask:e.currentTask,budgetLimits:t?.budgetLimits,budgetUsage:t?.budgetUsage,lastSeen:t?.lastSeen??Date.now()})}return Ri(n,Ii,e=>e.status===`stopped`),{subagents:n,taskCounts:{pending:t.pending,running:t.inFlight,completed:t.completed,failed:0},lastUpdated:Date.now()}}),updateSubagentBudget:(t,n)=>e(e=>{let r=new Map(e.subagents),i=r.get(t);return r.set(t,{id:t,name:i?.name??t,role:i?.role??`agent`,status:i?.status??`idle`,...i,...n,lastSeen:Date.now()}),Ri(r,Ii,e=>e.status===`stopped`),{subagents:r,lastUpdated:Date.now()}}),pushEvent:(t,n,r,i,a)=>e(e=>{let o=n.kind??t,s=(t.includes(`budget`)||t.includes(`threshold`))&&typeof n.limit==`number`&&n.limit>0?Math.round(n.used/n.limit*100):void 0,c=s===void 0?t.includes(`consensus.vote_resolved`)?`info`:t.includes(`consensus.vote_initiated`)?`warning`:`info`:s>=100?`danger`:s>=85?`warning`:`info`;return{events:[{id:`${r}-${t}`,ts:r,type:t,subagentId:i,taskId:a,payload:n,kind:o,level:c,message:Mi(t,n)},...e.events].slice(0,Ni),lastUpdated:Date.now()}}),pushConsensusVote:(t,n,r)=>e(e=>{let i=new Map(e.consensusVotes);return i.set(t,{changeId:t,title:n,status:`pending`,eligible:r,votes:[],approveCount:0,rejectCount:0,abstainCount:0,expiresAt:Date.now()+300*1e3}),Ri(i,Li,e=>e.status!==`pending`),{consensusVotes:i,lastUpdated:Date.now()}}),recordConsensusVote:(t,n,r,i)=>e(e=>{let a=new Map(e.consensusVotes),o=a.get(t);if(!o)return{};let s={...o,votes:[...o.votes.filter(e=>e.agentId!==n),{agentId:n,agentName:r,value:i,votedAt:Date.now()}],approveCount:i===`approve`?o.approveCount+1:o.approveCount,rejectCount:i===`reject`?o.rejectCount+1:o.rejectCount,abstainCount:i===`abstain`?o.abstainCount+1:o.abstainCount};return a.set(t,s),{consensusVotes:a,lastUpdated:Date.now()}}),resolveConsensusVote:(t,n,r,i)=>e(e=>{let a=new Map(e.consensusVotes),o=a.get(t);return o?(a.set(t,{...o,status:n,approveCount:r,rejectCount:i,resolvedAt:Date.now()}),{consensusVotes:a,lastUpdated:Date.now()}):{}}),pushTaskPending:(t,n,r)=>e(e=>{let i=new Map(e.tasks);return i.set(t,{id:t,description:n,status:`pending`,priority:r,queuedAt:Date.now()}),Ri(i,Fi,e=>e.status===`completed`||e.status===`failed`),{tasks:i,taskCounts:{...e.taskCounts,pending:e.taskCounts.pending+1},lastUpdated:Date.now()}}),startTask:(t,n)=>e(e=>{let r=new Map(e.tasks),i=r.get(t);return i?r.set(t,{...i,status:`running`,subagentId:n,startedAt:Date.now()}):r.set(t,{id:t,description:``,status:`running`,subagentId:n,startedAt:Date.now()}),{tasks:r,taskCounts:{...e.taskCounts,pending:Math.max(0,e.taskCounts.pending-1),running:e.taskCounts.running+1},lastUpdated:Date.now()}}),completeTask:(t,n,r)=>e(e=>{let i=new Map(e.tasks),a=i.get(t);return a&&i.set(t,{...a,status:n,completedAt:Date.now(),durationMs:r}),Ri(i,Fi,e=>e.status===`completed`||e.status===`failed`),{tasks:i,taskCounts:{...e.taskCounts,running:Math.max(0,e.taskCounts.running-1),completed:n===`completed`?e.taskCounts.completed+1:e.taskCounts.completed,failed:n===`failed`?e.taskCounts.failed+1:e.taskCounts.failed},lastUpdated:Date.now()}}),failTask:(t,n)=>e(e=>{let r=new Map(e.tasks),i=r.get(t);return i&&r.set(t,{...i,status:`failed`,error:n,completedAt:Date.now()}),Ri(r,Fi,e=>e.status===`completed`||e.status===`failed`),{tasks:r,taskCounts:{...e.taskCounts,running:Math.max(0,e.taskCounts.running-1),failed:e.taskCounts.failed+1},lastUpdated:Date.now()}}),recordBudgetDecision:(t,n,r,i)=>e(e=>{let a=new Map(e.budgetAlerts.reduce((e,r)=>(r.subagentId===t&&r.kind===n||e.set(`${r.subagentId}:${r.kind}`,r),e),new Map)),o=`${t}:${n}`,s=a.get(o);return s&&a.set(o,{...s,decision:r,newLimit:i,level:r===`extend`?`warning`:`danger`}),{budgetAlerts:Array.from(a.values()),lastUpdated:Date.now()}}),recordBudgetAlert:(t,n,r,i)=>e(e=>{let a=`${Date.now()}-${t}-${n}`,o=i>0?Math.round(r/i*100):0;return{budgetAlerts:[{id:a,ts:Date.now(),subagentId:t,kind:n,level:ji(n,o),used:r,limit:i,pct:o},...e.budgetAlerts].slice(0,Pi),lastUpdated:Date.now()}}),recordBudgetExtended:(t,n,r)=>e(e=>{let i=new Map(e.subagents),a=i.get(t);if(a&&a.budgetLimits){let e={...a.budgetLimits};n===`timeout`&&r&&(e.timeoutMs=r),n===`iterations`&&(e.maxIterations=r),n===`tool_calls`&&(e.maxToolCalls=r),i.set(t,{...a,budgetLimits:e,lastSeen:Date.now()})}return{subagents:i,lastUpdated:Date.now()}}),clear:()=>e({coordinatorStatus:`idle`,coordinatorMode:void 0,subagents:new Map,events:[],consensusVotes:new Map,tasks:new Map,taskCounts:{pending:0,running:0,completed:0,failed:0},budgetAlerts:[],lastUpdated:Date.now()})})),zi=Kn()(Lt(e=>({showHud:!0,showLegend:!0,showMinimap:!0,showControls:!0,animateEdges:!0,showFeed:!0,background:`dots`,setShowHud:t=>e({showHud:t}),setShowLegend:t=>e({showLegend:t}),setShowMinimap:t=>e({showMinimap:t}),setShowControls:t=>e({showControls:t}),setAnimateEdges:t=>e({animateEdges:t}),setShowFeed:t=>e({showFeed:t}),setBackground:t=>e({background:t})}),{name:`wrongstack-officemap`}));function X(...e){return wt(Dn(e))}function Bi(){return`toast_${typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}`}var Vi=8e3,Hi=Kn(e=>({toasts:[],push:t=>{let n=Bi();return e(e=>({toasts:[...e.toasts,{...t,id:n}]})),n},dismiss:t=>e(e=>({toasts:e.toasts.filter(e=>e.id!==t)}))})),Z={success:(e,t=3500)=>Hi.getState().push({message:e,variant:`success`,ttl:t}),error:(e,t=6e3)=>Hi.getState().push({message:e,variant:`error`,ttl:t}),warn:(e,t=4500)=>Hi.getState().push({message:e,variant:`warn`,ttl:t}),info:(e,t=3500)=>Hi.getState().push({message:e,variant:`info`,ttl:t}),undoable:(e,t,n=`Undo`,r=Vi)=>Hi.getState().push({message:e,variant:`info`,ttl:r,action:{label:n,onClick:t}}),dismiss:e=>Hi.getState().dismiss(e)};function Ui({variant:e}){return e===`success`?(0,K.jsx)(s,{className:`h-4 w-4 text-green-500`}):e===`error`?(0,K.jsx)(y,{className:`h-4 w-4 text-destructive`}):e===`warn`?(0,K.jsx)(rr,{className:`h-4 w-4 text-amber-500`}):(0,K.jsx)(be,{className:`h-4 w-4 text-blue-500`})}function Wi({entry:e}){let t=Hi(e=>e.dismiss);return(0,B.useEffect)(()=>{let n=setTimeout(()=>t(e.id),e.ttl);return()=>clearTimeout(n)},[e.id,e.ttl,t]),(0,K.jsxs)(`div`,{className:X(`flex items-start gap-2 rounded-lg border bg-popover shadow-lg px-3 py-2 text-sm max-w-sm`,`animate-message`,e.variant===`error`&&`border-destructive/40`,e.variant===`warn`&&`border-amber-500/40`,e.variant===`success`&&`border-green-500/40`),children:[(0,K.jsx)(Ui,{variant:e.variant}),(0,K.jsx)(`div`,{className:`flex-1 min-w-0 whitespace-pre-wrap break-words leading-snug`,children:e.message}),e.action&&(0,K.jsx)(`button`,{type:`button`,onClick:()=>{e.action?.onClick(),t(e.id)},className:`shrink-0 font-medium text-primary hover:underline`,children:e.action.label}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>t(e.id),className:`text-muted-foreground hover:text-foreground`,title:`Dismiss`,children:(0,K.jsx)(hn,{className:`h-3.5 w-3.5`})})]})}function Gi(){let e=Hi(e=>e.toasts);return e.length===0?null:(0,K.jsx)(`div`,{className:`fixed bottom-4 right-4 z-[60] flex flex-col gap-2 pointer-events-auto`,children:e.map(e=>(0,K.jsx)(Wi,{entry:e},e.id))})}var Ki=null;function qi(){if(typeof window>`u`)return null;if(Ki)return Ki;let e=window.AudioContext||window.webkitAudioContext;if(!e)return null;try{Ki=new e}catch{return null}return Ki}function Ji(e,t,n){let r=qi();if(!r)return;let i=r.currentTime+t,a=r.createOscillator(),o=r.createGain();a.type=`sine`,a.frequency.value=e,o.gain.setValueAtTime(0,i),o.gain.linearRampToValueAtTime(.18,i+.01),o.gain.exponentialRampToValueAtTime(1e-4,i+n),a.connect(o).connect(r.destination),a.start(i),a.stop(i+n+.02)}function Yi(){Ji(659.25,0,.18),Ji(880,.12,.24)}function Xi(){Ji(523.25,0,.15),Ji(659.25,.1,.15),Ji(783.99,.2,.25)}var Zi=`default`;Zi=typeof window<`u`&&`Notification`in window?Notification.permission:`unsupported`;async function Qi(){if(Zi===`unsupported`||Zi===`granted`||Zi===`denied`)return Zi;try{let e=await Notification.requestPermission();return Zi=e,e}catch{return`denied`}}function $i(e,t,n){if(!(typeof document>`u`||!document.hidden)&&Zi===`granted`)try{let r=new Notification(e,{body:t,icon:`/favicon.ico`,tag:n??`wrongstack-run`,requireInteraction:n===`wrongstack-confirm`});r.onclick=()=>{window.focus(),r.close()}}catch{}}function ea(e){typeof requestAnimationFrame==`function`?requestAnimationFrame(e):queueMicrotask(e)}var ta=new class{pending=new Map;scheduled=!1;push(e,t,n){if(!t)return;let r=this.pending.get(e);r?(r.buffer+=t,r.flush=n):this.pending.set(e,{buffer:t,flush:n}),this.schedule()}schedule(){this.scheduled||(this.scheduled=!0,ea(()=>{this.scheduled=!1,this.drain()}))}drain(){if(this.pending.size===0)return;let e=Array.from(this.pending.entries());this.pending.clear();for(let[t,n]of e)n.buffer&&n.flush(t,n.buffer)}drop(e){this.pending.delete(e)}flush(e){let t=this.pending.get(e);t&&(this.pending.delete(e),t.buffer&&t.flush(e,t.buffer))}flushAll(){this.drain()}};function na(e){let t=Ei(e.type,e.payload);t&&(Ti.getState().pushEvent(t),Ti.getState().setActive(!0))}var ra={"iteration.started":ia,"provider.text_delta":aa,"provider.thinking_delta":oa,"tool.started":sa,"tool.progress":ca,"tool.executed":la,"tool.confirm_needed":ua,"run.result":da};function ia(e){na(e);let t=e.payload;W.getState().setIteration({index:t.index,max:t.maxIterations??0}),H.getState().setLoading(!0),typeof document<`u`&&document.hidden&&Or(`running`),H.getState().runStart===null&&H.getState().setRunStart({at:Date.now(),cost:W.getState().cost}),H.getState().setCurrentAssistantMessage(null)}function aa(e){na(e);let t=e.payload;H.getState().clearThinking(),ta.drop(`__thinking__`);let n=H.getState().currentAssistantMessageId;n||(n=H.getState().addMessage({role:`assistant`,content:``,streaming:!0}),H.getState().setCurrentAssistantMessage(n)),ta.push(n,t.text,(e,t)=>H.getState().appendToMessage(e,t))}function oa(e){na(e);let t=e.payload;t.text&&ta.push(`__thinking__`,t.text,(e,t)=>H.getState().appendThinking(t))}function sa(e){na(e);let t=e.payload,n=H.getState().getToolMessageId(t.id);if(n){H.getState().setCurrentToolId(n);return}H.getState().clearThinking(),ta.drop(`__thinking__`),H.getState().setCurrentAssistantMessage(null);let r=H.getState().addMessage({role:`tool`,content:``,toolName:t.name,toolInput:t.input,toolUseId:t.id});H.getState().setCurrentToolId(r),H.getState().addExecution({id:t.id,name:t.name,input:t.input,ok:!0,startedAt:Date.now()})}function ca(e){let t=e.payload,n=(t.event?.text??``).trim();if(!n)return;let r=H.getState().getToolMessageId(t.id);if(!r)return;let i=t.event?.type===`warning`?`⚠ `:``;ta.push(r,`${i}${n}\n`,(e,n)=>H.getState().appendToolProgressLinesByUseId(t.id,n.split(`
14
+ `).trim()}function ii(e){let t=document.querySelector(`textarea`);t&&((Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,`value`)?.set)?.call(t,e),t.dispatchEvent(new Event(`input`,{bubbles:!0})),t.focus())}function ai({delayMs:e,onComplete:t}){let[n,r]=(0,B.useState)(Math.ceil(e/1e3));return(0,B.useEffect)(()=>{if(n<=0){t();return}let e=setTimeout(()=>r(e=>e-1),1e3);return()=>clearTimeout(e)},[n,t]),(0,K.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-primary font-medium`,children:[(0,K.jsx)(He,{className:`h-3 w-3`}),n,`s`]})}function oi({steps:e,yoloMode:t=!1,autoMode:n=!1,autoDelayMs:r=3e4,onAutoSubmit:i,canAutoSubmit:a=!0}){if(e.length===0)return null;let o=t&&n&&a,s=o?e.find(e=>e.auto):void 0;return(0,K.jsxs)(`div`,{className:`mt-4 rounded-xl border border-primary/20 bg-primary/[0.03] overflow-hidden animate-message`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2 px-3.5 py-2 border-b border-primary/10 bg-primary/[0.04]`,children:[(0,K.jsx)(`span`,{className:`flex items-center justify-center w-5 h-5 rounded-md bg-primary/15 text-primary`,children:(0,K.jsx)(v,{className:`h-3 w-3`})}),(0,K.jsx)(`span`,{className:`text-xs font-semibold text-foreground/90`,children:`Next steps`}),o&&s?(0,K.jsxs)(`span`,{className:`ml-auto flex items-center gap-1 text-xs text-primary`,children:[(0,K.jsx)(He,{className:`h-3 w-3`}),`auto-submitting in `,(0,K.jsx)(ai,{delayMs:r,onComplete:()=>i?.(s.text)})]}):(0,K.jsx)(`span`,{className:`text-[10px] text-muted-foreground ml-auto`,children:`click to fill input`})]}),(0,K.jsx)(`div`,{className:`flex flex-col p-2 gap-1`,children:e.map(e=>{let t=o&&e.auto;return(0,K.jsxs)(`button`,{type:`button`,onClick:()=>ii(e.text),className:`group flex items-center gap-2.5 w-full text-left px-3 py-2 rounded-lg transition-all border ${t?`bg-primary/10 border-primary/30 ring-1 ring-primary/20`:`border-transparent hover:bg-primary/[0.08] hover:shadow-sm hover:border-primary/20`}`,title:`Click to fill: ${e.text}`,children:[(0,K.jsx)(`span`,{className:`flex items-center justify-center w-5 h-5 rounded-md text-[11px] font-mono font-semibold tabular-nums shrink-0 transition-colors ${t?`bg-primary/30 text-primary`:`bg-muted/80 group-hover:bg-primary/20 text-muted-foreground group-hover:text-primary`}`,children:e.index}),(0,K.jsx)(Pn,{className:`h-3.5 w-3.5 shrink-0 transition-all ${t?`text-primary`:`text-muted-foreground/60 group-hover:text-primary group-hover:translate-x-0.5`}`}),(0,K.jsx)(`span`,{className:`text-sm leading-snug flex-1 min-w-0 transition-colors ${t?`text-foreground font-medium`:`text-foreground/80 group-hover:text-foreground`}`,children:e.text}),e.auto&&(0,K.jsxs)(`span`,{className:`flex items-center gap-1 text-[10px] text-primary/70`,children:[n&&e.index===1&&!o?(0,K.jsx)(`span`,{title:`Will auto-submit after countdown`,children:`⏩`}):(0,K.jsx)(He,{className:`h-3 w-3`}),`auto`]}),(0,K.jsx)(Pt,{className:`h-3.5 w-3.5 shrink-0 transition-all ${t?`opacity-100 text-primary/60`:`opacity-0 group-hover:opacity-100 text-primary/60`}`})]},e.index)})})]})}var si=12,ci=20;function li(e,t,n){return{id:e,name:t?.trim()||e,sessionId:n,status:`running`,iteration:0,toolCalls:0,costUsd:0,ctxPct:0,ctxTokens:0,maxContext:0,extensions:0,startedAt:Date.now(),toolLog:[],sparklineBins:Array(si).fill(0)}}var ui=0;function di(){return`tl_${Date.now()}_${++ui}`}function fi(e,t){return[t,...e].slice(0,ci)}function pi(e){return[e[0]+1,...e.slice(0,si-1)]}var q=Kn()((e,t)=>({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,fleetConcurrencyMax:4,eventTimeline:[],clear:()=>e({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,eventTimeline:[]}),getAgentsBySession:e=>{let n=[];for(let r of t().agents.values())r.sessionId===e&&n.push(r);return n},applyEvent:t=>e(e=>{let n=new Map(e.agents),r=e.eventTimeline,i=e.leaderId,a=e.fleetTokensIn,o=e.fleetTokensOut;if(t.kind===`session_stopped`&&t.sessionId){for(let[e,r]of n)r.sessionId===t.sessionId&&n.delete(e);return{agents:n,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0}}if(t.kind===`leader_updated`&&t.subagentId){let a=e.leaderId;if(a&&a!==t.subagentId){let e=n.get(a);e&&n.set(a,{...e,isLeader:!1})}i=t.subagentId;let o=n.get(t.subagentId)??li(t.subagentId,t.name,t.sessionId);return n.set(t.subagentId,{...o,isLeader:!0,name:t.name?.trim()||o.name}),r=fi(r,{id:di(),kind:`leader_updated`,agentId:t.subagentId,agentName:t.name??i,timestamp:Date.now(),message:`${t.name??t.subagentId} became leader`}),{agents:n,leaderId:i,eventTimeline:r}}if(!t.subagentId)return e;let s=n.get(t.subagentId)??li(t.subagentId,t.name,t.sessionId),c={...s},l=Date.now();switch(t.kind){case`spawned`:c.name=t.name?.trim()||c.name,c.provider=t.provider??c.provider,c.model=t.model??c.model,c.description=t.description??c.description,c.taskId=t.taskId??c.taskId,c.sessionId=t.sessionId??c.sessionId,c.status=`running`,c.sparklineBins=Array(si).fill(0),r=fi(r,{id:di(),kind:`spawned`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} spawned`});break;case`task_started`:c.description=t.description??c.description,c.taskId=t.taskId??c.taskId,c.status=`running`,r=fi(r,{id:di(),kind:`task_started`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} started: ${t.description??`new task`}`});break;case`tool_executed`:{let e=typeof t.ok==`boolean`?t.ok:!0,n=typeof t.durationMs==`number`?t.durationMs:0;c.lastTool=t.toolName??c.lastTool,c.toolCalls+=1,c.toolLog=[{name:t.toolName??`unknown`,ok:e,durationMs:n,at:l},...c.toolLog].slice(0,50),c.sparklineBins=pi(c.sparklineBins),r=fi(r,{id:di(),kind:`tool_executed`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} ${e?`✓`:`✗`} ${t.toolName??`tool`}`,value:n});break}case`iteration_summary`:c.iteration=t.iteration??c.iteration,typeof t.toolCalls==`number`&&(c.toolCalls=t.toolCalls),typeof t.costUsd==`number`&&(c.costUsd=t.costUsd),c.currentTool=t.currentTool??c.currentTool,typeof t.partialText==`string`&&t.partialText&&(c.partialText=t.partialText),c.sparklineBins=pi(c.sparklineBins),r=fi(r,{id:di(),kind:`iteration_summary`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} iter ${t.iteration??c.iteration} · ${t.currentTool?`${t.currentTool}`:``}`,value:t.costUsd});break;case`budget_extended`:c.extensions=t.totalExtensions??c.extensions+1,c.budgetWarning=void 0,r=fi(r,{id:di(),kind:`budget_extended`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} extended budget ⚡×${c.extensions}`});break;case`ctx_pct`:c.ctxPct=Math.round(Math.max(0,t.load??0)*100),c.ctxTokens=t.tokens??c.ctxTokens,c.maxContext=t.maxContext??c.maxContext,c.ctxPct>=80&&!c.budgetWarning&&(c.budgetWarning=c.ctxPct>=100?{kind:`hard`,used:c.ctxPct,limit:100}:{kind:`soft`,used:c.ctxPct,limit:100}),typeof t.costUsd==`number`&&(c.costUsd=t.costUsd),typeof t.tokensIn==`number`&&(c.tokensIn=t.tokensIn,a=a-(s.tokensIn??0)+t.tokensIn),typeof t.tokensOut==`number`&&(c.tokensOut=t.tokensOut,o=o-(s.tokensOut??0)+t.tokensOut),r=fi(r,{id:di(),kind:`ctx_pct`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} ctx ${c.ctxPct}%`,value:c.ctxPct});break;case`task_completed`:{c.status=t.status===`success`?`completed`:t.status??`completed`,typeof t.iterations==`number`&&(c.iteration=t.iterations),typeof t.toolCalls==`number`&&(c.toolCalls=t.toolCalls),c.error=t.error,c.currentTool=void 0,c.completedAt=l,c.failureReason=t.failureReason??c.failureReason,typeof t.finalText==`string`&&t.finalText&&(c.finalText=ri(t.finalText));let e=t.status===`success`?`✓ completed`:t.status===`failed`?`✗ failed${t.failureReason?` (${t.failureReason})`:``}`:t.status===`timeout`?`⏱ timeout${t.failureReason?` (${t.failureReason})`:``}`:`stopped`;r=fi(r,{id:di(),kind:`task_completed`,agentId:t.subagentId,agentName:c.name,timestamp:l,message:`${c.name} ${e}`,value:c.costUsd});break}}return n.set(t.subagentId,c),{agents:n,leaderId:i,fleetTokensIn:a,fleetTokensOut:o,eventTimeline:r}})}));function mi(e){return!e||typeof e.goal!=`string`||!e.goal.trim()?null:{goal:e.goal,refinedGoal:typeof e.refinedGoal==`string`?e.refinedGoal:void 0,goalState:[`active`,`paused`,`completed`,`failed`,`abandoned`].includes(e.goalState)?e.goalState:`active`,iterations:typeof e.iterations==`number`?e.iterations:0,progress:typeof e.progress==`number`?e.progress:0,progressNote:typeof e.progressNote==`string`?e.progressNote:void 0,progressTrend:e.progressTrend===`accelerating`?`up`:e.progressTrend===`stalling`?`down`:e.progressTrend===`steady`?`stable`:void 0,deliverables:Array.isArray(e.deliverables)?e.deliverables.map((e,t)=>typeof e==`string`?{id:`d${t}`,text:e,status:/^\[[x✓]\]|✅|\(done\)/i.test(e)?`done`:`pending`}:e):void 0,journal:Array.isArray(e.journal)?e.journal:void 0,lastTask:typeof e.lastTask==`string`?e.lastTask:void 0,lastStatus:typeof e.lastStatus==`string`?e.lastStatus:void 0}}var hi=Kn()(e=>({goal:null,setGoal:t=>e({goal:mi(t)}),clear:()=>e({goal:null}),refresh:()=>{try{V()?.send?.({type:`goal.get`})}catch{}}})),gi=Kn()(e=>({phases:[],activePhaseId:null,overallPercent:0,autonomous:!1,title:null,setState:t=>e(e=>({phases:t.phases??e.phases,activePhaseId:t.activePhaseId===void 0?e.activePhaseId:t.activePhaseId,overallPercent:t.overallPercent??e.overallPercent,autonomous:t.autonomous??e.autonomous,title:t.title===void 0?e.title:t.title})),clear:()=>e({phases:[],activePhaseId:null,overallPercent:0,autonomous:!1,title:null})})),_i={autonomy:`off`,autonomyDelayMs:45e3,autoProceedMaxIterations:50,yolo:!1,maxIterations:500,chime:!1,confirmExit:!0,streamFleet:!0,nextPrediction:!1,featureMcp:!0,featurePlugins:!0,featureMemory:!0,featureSkills:!0,featureModelsRegistry:!0,indexOnStart:!0,contextAutoCompact:!0,contextStrategy:`hybrid`,contextMode:`balanced`,tokenSavingTier:`off`,maxConcurrent:10,titleAnimation:!0,logLevel:`info`,auditLevel:`standard`,enhanceEnabled:!0,enhanceDelayMs:6e4,enhanceLanguage:`original`,reasoningMode:`auto`,reasoningEffort:`high`,reasoningPreserve:!1,cacheTtl:`default`,hqEnabled:!1,hqUrl:``,hqToken:``,hqRawContent:!1,tgConfigured:!1,tgSessionEnd:!1,tgDelegate:!0,tgLongToolMs:3e4},vi=Kn()(Lt(e=>({..._i,set:t=>e(t),reset:()=>e(_i)}),{name:`wrongstack-local-prefs`,version:3,migrate:e=>{let t=e??{};return[`hybrid`,`intelligent`,`selective`].includes(t.contextStrategy)||(t.contextStrategy=`hybrid`),t.auditLevel===`verbose`&&(t.auditLevel=`full`),[`minimal`,`standard`,`full`].includes(t.auditLevel)||(t.auditLevel=`standard`),typeof t.autoProceedMaxIterations!=`number`&&(t.autoProceedMaxIterations=50),t}})),J=Kn()((e,t)=>({projectRoot:``,tree:[],openFiles:[],activeFilePath:null,treeLoading:!1,error:null,setTree:(t,n)=>e({projectRoot:t,tree:n,treeLoading:!1,error:null}),openFile:(n,r)=>{let i=t();if(i.openFiles.find(e=>e.path===n)){e({activeFilePath:n});return}e({openFiles:[...i.openFiles,{path:n,content:r,dirty:!1,savedContent:r}],activeFilePath:n})},closeFile:n=>{let r=t(),i=r.openFiles.findIndex(e=>e.path===n);if(i===-1)return;let a=[...r.openFiles];a.splice(i,1);let o=r.activeFilePath;r.activeFilePath===n&&(o=a.length===0?null:i<a.length?a[i].path:a[a.length-1].path),e({openFiles:a,activeFilePath:o})},setActiveFile:t=>e({activeFilePath:t}),updateContent:(t,n)=>{e(e=>({openFiles:e.openFiles.map(e=>e.path===t?{...e,content:n,dirty:n!==e.savedContent}:e)}))},markSaved:t=>{e(e=>({openFiles:e.openFiles.map(e=>e.path===t?{...e,dirty:!1,savedContent:e.content}:e)}))},setTreeLoading:t=>e({treeLoading:t}),setError:t=>e({error:t})}));function yi(e,t=!1){if(t&&e.target){if(e.kind===`agent:tool`||e.kind===`tool:executed`||e.kind===`tool:started`)return`tool`;if(e.source===`leader`||e.source===`coordinator`)return`coordinator`;if(e.kind.startsWith(`provider:`))return`provider`;if(e.kind.startsWith(`mailbox:`))return`mailbox`}switch(e.kind){case`provider:call`:case`provider:delta`:case`provider:response`:return`provider`;case`agent:spawned`:case`agent:tool`:case`agent:status`:case`agent:text`:case`agent:ctx`:case`budget:extended`:return`agent`;case`tool:started`:case`tool:executed`:case`tool:progress`:return`tool`;case`mailbox:send`:case`mailbox:deliver`:return`mailbox`;case`session:start`:case`session:end`:case`iteration:start`:case`iteration:end`:case`fleet:snapshot`:return`session`;case`context:compacted`:case`context:repaired`:case`cost:update`:return`system`;case`error`:return`error`;default:return`system`}}function bi(e){switch(e){case`provider:call`:case`provider:delta`:case`agent:tool`:case`tool:started`:case`tool:progress`:case`iteration:start`:case`agent:text`:return`streaming`;case`agent:status`:case`iteration:end`:return`completed`;case`error`:return`error`;case`tool:executed`:return`completed`;case`session:end`:return`idle`;default:return`active`}}var xi=0;function Si(){return`viz_${Date.now()}_${++xi}`}var Ci={provider:`hsl(180, 80%, 55%)`,agent:`hsl(280, 80%, 65%)`,tool:`hsl(40, 90%, 55%)`,mailbox:`hsl(140, 70%, 55%)`,session:`hsl(220, 80%, 60%)`,system:`hsl(0, 0%, 60%)`,error:`hsl(0, 80%, 55%)`},wi={"provider:call":`hsl(180, 80%, 55%)`,"provider:delta":`hsl(180, 60%, 70%)`,"agent:tool":`hsl(40, 90%, 55%)`,"mailbox:send":`hsl(140, 70%, 55%)`,default:`hsl(0, 0%, 40%)`},Ti=Kn()((e,t)=>({events:[],nodes:new Map,edges:new Map,isActive:!1,maxEvents:2e3,counters:{totalTokens:0,totalCost:0,totalToolCalls:0,activeAgents:0,completedTasks:0,errors:0,mailboxMessages:0},pushEvent:t=>e(e=>{let n=[{...t,id:t.id??Si(),timestamp:t.timestamp||Date.now()},...e.events];n.length>e.maxEvents&&(n.length=e.maxEvents);let r=new Map(e.nodes),i=new Map(e.edges),a=Date.now(),o={id:t.source,kind:yi(t),label:t.label,status:bi(t.kind),activity:1,color:t.color??Ci[yi(t)],lastSeenAt:a},s=r.get(t.source);if(r.set(t.source,{...s,...o}),t.target){let e={id:t.target,kind:yi(t,!0),label:t.target,status:bi(t.kind),activity:.8,color:t.color??Ci[yi(t,!0)],lastSeenAt:a},n=r.get(t.target);r.set(t.target,{...n,...e});let o=`${t.source}->${t.target}`,s=i.get(o);i.set(o,{id:o,source:t.source,target:t.target,kind:t.kind,label:t.label,intensity:s?Math.min(1,s.intensity+.3):.7,color:t.color??Ci[yi(t)]??`#6366f1`,lastActiveAt:a,totalMagnitude:(s?.totalMagnitude??0)+(t.magnitude??0)})}return{events:n,nodes:r,edges:i}}),upsertNode:t=>e(e=>{let n=new Map(e.nodes),r=n.get(t.id);return n.set(t.id,{...r,...t,lastSeenAt:t.lastSeenAt===void 0?Date.now():t.lastSeenAt}),{nodes:n}}),removeNode:t=>e(e=>{let n=new Map(e.nodes);n.delete(t);let r=new Map(e.edges);for(let[e,n]of r)(n.source===t||n.target===t)&&r.delete(e);return{nodes:n,edges:r}}),upsertEdge:t=>e(e=>{let n=new Map(e.edges),r=n.get(t.id);return n.set(t.id,{...r,...t,lastActiveAt:t.lastActiveAt===void 0?Date.now():t.lastActiveAt,intensity:t.intensity??r?.intensity??.5,color:t.color??wi[t.kind]??wi.default,totalMagnitude:(r?.totalMagnitude??0)+(t.totalMagnitude??0)}),{edges:n}}),removeEdge:t=>e(e=>{let n=new Map(e.edges);return n.delete(t),{edges:n}}),clear:()=>e({events:[],nodes:new Map,edges:new Map,counters:{totalTokens:0,totalCost:0,totalToolCalls:0,activeAgents:0,completedTasks:0,errors:0,mailboxMessages:0}}),setActive:t=>e({isActive:t}),decayActivity:()=>e(e=>{let t=new Map(e.nodes);for(let[e,n]of t)if(n.activity>=.01){let r=n.activity*.92;t.set(e,{...n,activity:r<.01?0:r})}let n=new Map(e.edges);for(let[e,t]of n)if(t.intensity>=.01){let r=t.intensity*.9;n.set(e,{...t,intensity:r<.01?0:r})}return{nodes:t,edges:n}}),prunesStale:t=>e(e=>{let n=Date.now()-t,r=new Map(e.nodes);for(let[e,t]of r)t.lastSeenAt<n&&t.status!==void 0&&t.status!==`active`&&r.delete(e);let i=new Map(e.edges);for(let[e,t]of i)t.lastActiveAt<n&&i.delete(e);return{nodes:r,edges:i,events:e.events.filter(e=>e.timestamp>n)}})}));function Ei(e,t){switch(e){case`provider.text_delta`:{let e=t.text??``;return{id:Si(),kind:`provider:delta`,timestamp:Date.now(),source:`provider`,target:`leader`,label:e.slice(0,60),magnitude:e.length,data:{text:e},color:Ci.provider,flowGroup:`provider`}}case`provider.response`:{let e=t.usage,n=(e?.input??0)+(e?.output??0);return{id:Si(),kind:`provider:response`,timestamp:Date.now(),source:`provider`,target:`leader`,label:`${(e?.input??0).toLocaleString(`en-US`)} in / ${(e?.output??0).toLocaleString(`en-US`)} out`,magnitude:n,data:t,color:Ci.provider,flowGroup:`provider`}}case`tool.started`:{let e=t.name??`tool`;return{id:Si(),kind:`tool:started`,timestamp:Date.now(),source:e,target:`filesystem`,label:e,magnitude:1,data:t,color:Ci.tool,flowGroup:`tool:${e}`}}case`tool.executed`:{let e=t.name??`tool`,n=t.ok??!0;return{id:Si(),kind:`tool:executed`,timestamp:Date.now(),source:e,target:`leader`,label:`${e} ${n?`✓`:`✗`} (${t.durationMs??0}ms)`,magnitude:t.durationMs??0,data:t,color:n?Ci.tool:Ci.error,flowGroup:`tool:${e}`}}case`tool.progress`:{let e=t.name??`tool`,n=t.event?.text??``;return{id:Si(),kind:`tool:progress`,timestamp:Date.now(),source:e,target:`leader`,label:n.slice(0,60)||e,magnitude:n.length,data:t,color:Ci.tool,flowGroup:`tool:${e}`}}case`subagent.event`:{let e=t.kind,n=t.subagentId??`unknown`,r=t.name??n;switch(e){case`spawned`:return{id:Si(),kind:`agent:spawned`,timestamp:Date.now(),source:n,target:`session`,label:`${r} spawned`,magnitude:1,data:t,color:Ci.agent,flowGroup:`agent:${n}`};case`tool_executed`:{let e=t.toolName??`tool`,r=t.ok??!0;return{id:Si(),kind:`agent:tool`,timestamp:Date.now(),source:n,target:e,label:e,magnitude:t.durationMs??0,data:t,color:r?Ci.tool:Ci.error,flowGroup:`agent:${n}`}}case`task_completed`:{let e=t.status??`completed`;return{id:Si(),kind:`agent:status`,timestamp:Date.now(),source:n,target:`session`,label:`${r} ${e}`,magnitude:1,data:t,color:e===`success`?`hsl(140, 70%, 55%)`:Ci.error,flowGroup:`agent:${n}`}}case`ctx_pct`:return{id:Si(),kind:`agent:ctx`,timestamp:Date.now(),source:n,target:`session`,label:`ctx ${Math.round((t.load??0)*100)}%`,magnitude:t.tokens??0,data:t,color:Ci.agent,flowGroup:`agent:${n}`};case`iteration_summary`:return{id:Si(),kind:`agent:text`,timestamp:Date.now(),source:n,target:`session`,label:(t.partialText??``).slice(0,80)||`iter ${t.iteration??0}`,magnitude:t.costUsd??0,data:t,color:Ci.agent,flowGroup:`agent:${n}`};case`budget_extended`:return{id:Si(),kind:`budget:extended`,timestamp:Date.now(),source:n,target:`session`,label:`${r} extended budget`,magnitude:t.totalExtensions??1,data:t,color:`hsl(40, 90%, 55%)`,flowGroup:`agent:${n}`}}return null}case`mailbox.event`:{let e=t.event,n=t.from??`?`,r=t.to??`?`,i=t.subject??``,a=e===`mailbox.sent`;return{id:Si(),kind:a?`mailbox:send`:`mailbox:deliver`,timestamp:Date.now(),source:n,target:r,label:i||(a?`→ ${r}`:`← ${n}`),magnitude:1,data:t,color:Ci.mailbox,flowGroup:`mailbox`}}case`iteration.started`:{let e=t.index??0;return{id:Si(),kind:`iteration:start`,timestamp:Date.now(),source:`leader`,target:`session`,label:`Iteration ${e}`,magnitude:e,data:t,color:Ci.agent,flowGroup:`iteration`}}case`error`:{let e=t.message??`Error`;return{id:Si(),kind:`error`,timestamp:Date.now(),source:t.phase??`system`,target:`session`,label:e,magnitude:1,data:t,color:Ci.error,flowGroup:`error`}}case`context.compacted`:return{id:Si(),kind:`context:compacted`,timestamp:Date.now(),source:`system`,target:`session`,label:`Compacted: ${(t.saved??0).toLocaleString(`en-US`)} tokens`,magnitude:t.saved??0,data:t,color:`hsl(220, 60%, 50%)`,flowGroup:`context`};case`context.repaired`:return{id:Si(),kind:`context:repaired`,timestamp:Date.now(),source:`system`,target:`session`,label:`Repaired: ${t.removedMessages??0} msgs`,magnitude:t.removedMessages??0,data:t,color:`hsl(220, 60%, 50%)`,flowGroup:`context`};case`session.start`:{let e=t.sessionId??`?`,n=t.projectName??``;return{id:Si(),kind:`session:start`,timestamp:Date.now(),source:`session`,target:`leader`,label:n||e.slice(0,12),magnitude:1,data:t,color:Ci.session,flowGroup:`session`}}case`sessions.status_update`:{let e=t.sessions??[];return{id:Si(),kind:`fleet:snapshot`,timestamp:Date.now(),source:`system`,target:`session`,label:`${e.length} session(s)`,magnitude:e.length,data:t,color:Ci.system,flowGroup:`fleet`}}default:return null}}function Di(e){switch(e){case`tui`:return`tui`;case`cli`:case`repl`:return`repl`;case`webui`:return`webui`;default:return`webui`}}function Oi(e){let t={tui:0,webui:0,repl:0},n=0,r=0,i={toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0};for(let a of e){t[Di(a.clientType)]+=1;for(let e of a.agents)n+=1,(e.status===`running`||e.status===`streaming`)&&(r+=1),i.toolCalls+=e.toolCalls??0,i.costUsd+=e.costUsd??0,i.tokensIn+=e.tokensIn??0,i.tokensOut+=e.tokensOut??0}return{clientCounts:t,totalAgents:n,activeAgents:r,aggregate:i}}var ki=0,Ai=Kn()(e=>({clientCounts:{tui:0,webui:0,repl:0},mailActivity:[],totalMessages:0,openMessages:0,unreadMessages:0,totalAgents:0,activeAgents:0,currentSession:{},liveSessions:[],aggregate:{toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0},lastUpdated:Date.now(),setClientCounts:t=>e({clientCounts:t,lastUpdated:Date.now()}),setLiveSessions:t=>e({liveSessions:t,...Oi(t),lastUpdated:Date.now()}),addMailActivity:t=>e(e=>({mailActivity:[{...t,seq:t.seq??++ki},...e.mailActivity].slice(0,50),lastUpdated:Date.now()})),setMailStats:(t,n,r)=>e({totalMessages:t,openMessages:n,unreadMessages:r,lastUpdated:Date.now()}),setAgentStats:(t,n)=>e({totalAgents:t,activeAgents:n,lastUpdated:Date.now()}),setCurrentSession:t=>e({currentSession:{...Ai.getState().currentSession,...t},lastUpdated:Date.now()}),clear:()=>e({clientCounts:{tui:0,webui:0,repl:0},mailActivity:[],totalMessages:0,openMessages:0,unreadMessages:0,totalAgents:0,activeAgents:0,currentSession:{},liveSessions:[],aggregate:{toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0},lastUpdated:Date.now()})}));function ji(e,t){return t>=100?`danger`:`warning`}function Mi(e,t){switch(e){case`budget.threshold_reached`:{let e=t,n=e.limit>0?Math.round(e.used/e.limit*100):0;return`${e.subagentId} [${e.kind}] ${n}% (${e.used}/${e.limit})`}case`budget.decision`:{let e=t;return`${e.subagentId} [${e.kind}] → ${e.decision}`}case`consensus.vote_initiated`:{let e=t;return`Vote: "${e.title}" — ${e.eligible.length} voters`}case`consensus.vote_cast`:{let e=t;return`${e.voterId} voted ${e.value}`}case`consensus.vote_resolved`:{let e=t;return`${e.result} — ✅${e.approveCount} ❌${e.rejectCount}`}case`task.pending`:return`Task queued: "${t.description.slice(0,60)}"`;case`task.started`:{let e=t;return`${e.subagentId} started ${e.taskId}`}case`task.completed`:{let e=t;return`Task ${e.taskId} ${e.status} (${e.durationMs}ms)`}case`task.failed`:{let e=t;return`Task ${e.taskId} failed: ${e.error.slice(0,60)}`}case`subagent.budget_extended`:{let e=t;return`${e.subagentId} [${e.kind}] extended → ${e.extendedTo}ms`}default:return e}}var Ni=200,Pi=50,Fi=300,Ii=200,Li=100;function Ri(e,t,n){if(!(e.size<=t)){if(n)for(let[r,i]of e){if(e.size<=t)break;n(i)&&e.delete(r)}for(let n of e.keys()){if(e.size<=t)break;e.delete(n)}}}var Y=Kn()(e=>({coordinatorStatus:`idle`,subagents:new Map,events:[],consensusVotes:new Map,tasks:new Map,taskCounts:{pending:0,running:0,completed:0,failed:0},budgetAlerts:[],lastUpdated:Date.now(),setCoordinatorStatus:(t,n)=>e(e=>({coordinatorStatus:t,coordinatorMode:n,lastUpdated:Date.now()})),updateCoordinatorStats:t=>e(e=>{let n=new Map(e.subagents);for(let e of t.subagentStatuses??[]){let t=n.get(e.id);n.set(e.id,{id:e.id,name:e.name,role:t?.role??`agent`,status:e.status,currentTask:e.currentTask,budgetLimits:t?.budgetLimits,budgetUsage:t?.budgetUsage,lastSeen:t?.lastSeen??Date.now()})}return Ri(n,Ii,e=>e.status===`stopped`),{subagents:n,taskCounts:{pending:t.pending,running:t.inFlight,completed:t.completed,failed:0},lastUpdated:Date.now()}}),updateSubagentBudget:(t,n)=>e(e=>{let r=new Map(e.subagents),i=r.get(t);return r.set(t,{id:t,name:i?.name??t,role:i?.role??`agent`,status:i?.status??`idle`,...i,...n,lastSeen:Date.now()}),Ri(r,Ii,e=>e.status===`stopped`),{subagents:r,lastUpdated:Date.now()}}),pushEvent:(t,n,r,i,a)=>e(e=>{let o=n.kind??t,s=(t.includes(`budget`)||t.includes(`threshold`))&&typeof n.limit==`number`&&n.limit>0?Math.round(n.used/n.limit*100):void 0,c=s===void 0?t.includes(`consensus.vote_resolved`)?`info`:t.includes(`consensus.vote_initiated`)?`warning`:`info`:s>=100?`danger`:s>=85?`warning`:`info`;return{events:[{id:`${r}-${t}`,ts:r,type:t,subagentId:i,taskId:a,payload:n,kind:o,level:c,message:Mi(t,n)},...e.events].slice(0,Ni),lastUpdated:Date.now()}}),pushConsensusVote:(t,n,r)=>e(e=>{let i=new Map(e.consensusVotes);return i.set(t,{changeId:t,title:n,status:`pending`,eligible:r,votes:[],approveCount:0,rejectCount:0,abstainCount:0,expiresAt:Date.now()+300*1e3}),Ri(i,Li,e=>e.status!==`pending`),{consensusVotes:i,lastUpdated:Date.now()}}),recordConsensusVote:(t,n,r,i)=>e(e=>{let a=new Map(e.consensusVotes),o=a.get(t);if(!o)return{};let s={...o,votes:[...o.votes.filter(e=>e.agentId!==n),{agentId:n,agentName:r,value:i,votedAt:Date.now()}],approveCount:i===`approve`?o.approveCount+1:o.approveCount,rejectCount:i===`reject`?o.rejectCount+1:o.rejectCount,abstainCount:i===`abstain`?o.abstainCount+1:o.abstainCount};return a.set(t,s),{consensusVotes:a,lastUpdated:Date.now()}}),resolveConsensusVote:(t,n,r,i)=>e(e=>{let a=new Map(e.consensusVotes),o=a.get(t);return o?(a.set(t,{...o,status:n,approveCount:r,rejectCount:i,resolvedAt:Date.now()}),{consensusVotes:a,lastUpdated:Date.now()}):{}}),pushTaskPending:(t,n,r)=>e(e=>{let i=new Map(e.tasks);return i.set(t,{id:t,description:n,status:`pending`,priority:r,queuedAt:Date.now()}),Ri(i,Fi,e=>e.status===`completed`||e.status===`failed`),{tasks:i,taskCounts:{...e.taskCounts,pending:e.taskCounts.pending+1},lastUpdated:Date.now()}}),startTask:(t,n)=>e(e=>{let r=new Map(e.tasks),i=r.get(t);return i?r.set(t,{...i,status:`running`,subagentId:n,startedAt:Date.now()}):r.set(t,{id:t,description:``,status:`running`,subagentId:n,startedAt:Date.now()}),{tasks:r,taskCounts:{...e.taskCounts,pending:Math.max(0,e.taskCounts.pending-1),running:e.taskCounts.running+1},lastUpdated:Date.now()}}),completeTask:(t,n,r)=>e(e=>{let i=new Map(e.tasks),a=i.get(t);return a&&i.set(t,{...a,status:n,completedAt:Date.now(),durationMs:r}),Ri(i,Fi,e=>e.status===`completed`||e.status===`failed`),{tasks:i,taskCounts:{...e.taskCounts,running:Math.max(0,e.taskCounts.running-1),completed:n===`completed`?e.taskCounts.completed+1:e.taskCounts.completed,failed:n===`failed`?e.taskCounts.failed+1:e.taskCounts.failed},lastUpdated:Date.now()}}),failTask:(t,n)=>e(e=>{let r=new Map(e.tasks),i=r.get(t);return i&&r.set(t,{...i,status:`failed`,error:n,completedAt:Date.now()}),Ri(r,Fi,e=>e.status===`completed`||e.status===`failed`),{tasks:r,taskCounts:{...e.taskCounts,running:Math.max(0,e.taskCounts.running-1),failed:e.taskCounts.failed+1},lastUpdated:Date.now()}}),recordBudgetDecision:(t,n,r,i)=>e(e=>{let a=new Map(e.budgetAlerts.reduce((e,r)=>(r.subagentId===t&&r.kind===n||e.set(`${r.subagentId}:${r.kind}`,r),e),new Map)),o=`${t}:${n}`,s=a.get(o);return s&&a.set(o,{...s,decision:r,newLimit:i,level:r===`extend`?`warning`:`danger`}),{budgetAlerts:Array.from(a.values()),lastUpdated:Date.now()}}),recordBudgetAlert:(t,n,r,i)=>e(e=>{let a=`${Date.now()}-${t}-${n}`,o=i>0?Math.round(r/i*100):0;return{budgetAlerts:[{id:a,ts:Date.now(),subagentId:t,kind:n,level:ji(n,o),used:r,limit:i,pct:o},...e.budgetAlerts].slice(0,Pi),lastUpdated:Date.now()}}),recordBudgetExtended:(t,n,r)=>e(e=>{let i=new Map(e.subagents),a=i.get(t);if(a&&a.budgetLimits){let e={...a.budgetLimits};n===`timeout`&&r&&(e.timeoutMs=r),n===`iterations`&&(e.maxIterations=r),n===`tool_calls`&&(e.maxToolCalls=r),i.set(t,{...a,budgetLimits:e,lastSeen:Date.now()})}return{subagents:i,lastUpdated:Date.now()}}),clear:()=>e({coordinatorStatus:`idle`,coordinatorMode:void 0,subagents:new Map,events:[],consensusVotes:new Map,tasks:new Map,taskCounts:{pending:0,running:0,completed:0,failed:0},budgetAlerts:[],lastUpdated:Date.now()})})),zi=Kn()(Lt(e=>({showHud:!0,showLegend:!0,showMinimap:!0,showControls:!0,animateEdges:!0,showFeed:!0,background:`dots`,setShowHud:t=>e({showHud:t}),setShowLegend:t=>e({showLegend:t}),setShowMinimap:t=>e({showMinimap:t}),setShowControls:t=>e({showControls:t}),setAnimateEdges:t=>e({animateEdges:t}),setShowFeed:t=>e({showFeed:t}),setBackground:t=>e({background:t})}),{name:`wrongstack-officemap`}));function X(...e){return wt(Dn(e))}function Bi(){return`toast_${typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}`}var Vi=8e3,Hi=Kn(e=>({toasts:[],push:t=>{let n=Bi();return e(e=>({toasts:[...e.toasts,{...t,id:n}]})),n},dismiss:t=>e(e=>({toasts:e.toasts.filter(e=>e.id!==t)}))})),Z={success:(e,t=3500)=>Hi.getState().push({message:e,variant:`success`,ttl:t}),error:(e,t=6e3)=>Hi.getState().push({message:e,variant:`error`,ttl:t}),warn:(e,t=4500)=>Hi.getState().push({message:e,variant:`warn`,ttl:t}),info:(e,t=3500)=>Hi.getState().push({message:e,variant:`info`,ttl:t}),undoable:(e,t,n=`Undo`,r=Vi)=>Hi.getState().push({message:e,variant:`info`,ttl:r,action:{label:n,onClick:t}}),dismiss:e=>Hi.getState().dismiss(e)};function Ui({variant:e}){return e===`success`?(0,K.jsx)(s,{className:`h-4 w-4 text-green-500`}):e===`error`?(0,K.jsx)(y,{className:`h-4 w-4 text-destructive`}):e===`warn`?(0,K.jsx)(rr,{className:`h-4 w-4 text-amber-500`}):(0,K.jsx)(be,{className:`h-4 w-4 text-blue-500`})}function Wi({entry:e}){let t=Hi(e=>e.dismiss);return(0,B.useEffect)(()=>{let n=setTimeout(()=>t(e.id),e.ttl);return()=>clearTimeout(n)},[e.id,e.ttl,t]),(0,K.jsxs)(`div`,{className:X(`flex items-start gap-2 rounded-lg border bg-popover shadow-lg px-3 py-2 text-sm max-w-sm`,`animate-message`,e.variant===`error`&&`border-destructive/40`,e.variant===`warn`&&`border-amber-500/40`,e.variant===`success`&&`border-green-500/40`),children:[(0,K.jsx)(Ui,{variant:e.variant}),(0,K.jsx)(`div`,{className:`flex-1 min-w-0 whitespace-pre-wrap break-words leading-snug`,children:e.message}),e.action&&(0,K.jsx)(`button`,{type:`button`,onClick:()=>{e.action?.onClick(),t(e.id)},className:`shrink-0 font-medium text-primary hover:underline`,children:e.action.label}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>t(e.id),className:`text-muted-foreground hover:text-foreground`,title:`Dismiss`,children:(0,K.jsx)(hn,{className:`h-3.5 w-3.5`})})]})}function Gi(){let e=Hi(e=>e.toasts);return e.length===0?null:(0,K.jsx)(`div`,{className:`fixed bottom-4 right-4 z-[60] flex flex-col gap-2 pointer-events-auto`,children:e.map(e=>(0,K.jsx)(Wi,{entry:e},e.id))})}var Ki=null;function qi(){if(typeof window>`u`)return null;if(Ki)return Ki;let e=window.AudioContext||window.webkitAudioContext;if(!e)return null;try{Ki=new e}catch{return null}return Ki}function Ji(e,t,n){let r=qi();if(!r)return;let i=r.currentTime+t,a=r.createOscillator(),o=r.createGain();a.type=`sine`,a.frequency.value=e,o.gain.setValueAtTime(0,i),o.gain.linearRampToValueAtTime(.18,i+.01),o.gain.exponentialRampToValueAtTime(1e-4,i+n),a.connect(o).connect(r.destination),a.start(i),a.stop(i+n+.02)}function Yi(){Ji(659.25,0,.18),Ji(880,.12,.24)}function Xi(){Ji(523.25,0,.15),Ji(659.25,.1,.15),Ji(783.99,.2,.25)}var Zi=`default`;Zi=typeof window<`u`&&`Notification`in window?Notification.permission:`unsupported`;async function Qi(){if(Zi===`unsupported`||Zi===`granted`||Zi===`denied`)return Zi;try{let e=await Notification.requestPermission();return Zi=e,e}catch{return`denied`}}function $i(e,t,n){if(!(typeof document>`u`||!document.hidden)&&Zi===`granted`)try{let r=new Notification(e,{body:t,icon:`/favicon.ico`,tag:n??`wrongstack-run`,requireInteraction:n===`wrongstack-confirm`});r.onclick=()=>{window.focus(),r.close()}}catch{}}function ea(e){typeof requestAnimationFrame==`function`?requestAnimationFrame(e):queueMicrotask(e)}var ta=new class{pending=new Map;scheduled=!1;push(e,t,n){if(!t)return;let r=this.pending.get(e);r?(r.buffer+=t,r.flush=n):this.pending.set(e,{buffer:t,flush:n}),this.schedule()}schedule(){this.scheduled||(this.scheduled=!0,ea(()=>{this.scheduled=!1,this.drain()}))}drain(){if(this.pending.size===0)return;let e=Array.from(this.pending.entries());this.pending.clear();for(let[t,n]of e)n.buffer&&n.flush(t,n.buffer)}drop(e){this.pending.delete(e)}flush(e){let t=this.pending.get(e);t&&(this.pending.delete(e),t.buffer&&t.flush(e,t.buffer))}flushAll(){this.drain()}};function na(e){let t=Ei(e.type,e.payload);t&&(Ti.getState().pushEvent(t),Ti.getState().setActive(!0))}var ra={"iteration.started":ia,"provider.text_delta":aa,"provider.thinking_delta":oa,"tool.started":sa,"tool.progress":ca,"tool.executed":la,"tool.confirm_needed":ua,"run.result":da};function ia(e){na(e);let t=e.payload;W.getState().setIteration({index:t.index,max:t.maxIterations??0}),H.getState().setLoading(!0),typeof document<`u`&&document.hidden&&Or(`running`),H.getState().runStart===null&&H.getState().setRunStart({at:Date.now(),cost:W.getState().cost}),H.getState().setCurrentAssistantMessage(null)}function aa(e){na(e);let t=e.payload;H.getState().clearThinking(),ta.drop(`__thinking__`);let n=H.getState().currentAssistantMessageId;n||(n=H.getState().addMessage({role:`assistant`,content:``,streaming:!0}),H.getState().setCurrentAssistantMessage(n)),ta.push(n,t.text,(e,t)=>H.getState().appendToMessage(e,t))}function oa(e){na(e);let t=e.payload;t.text&&ta.push(`__thinking__`,t.text,(e,t)=>H.getState().appendThinking(t))}function sa(e){na(e);let t=e.payload,n=H.getState().getToolMessageId(t.id);if(n){H.getState().setCurrentToolId(n);return}H.getState().clearThinking(),ta.drop(`__thinking__`),H.getState().setCurrentAssistantMessage(null);let r=H.getState().addMessage({role:`tool`,content:``,toolName:t.name,toolInput:t.input,toolUseId:t.id});H.getState().setCurrentToolId(r),H.getState().addExecution({id:t.id,name:t.name,input:t.input,ok:!0,startedAt:Date.now()})}function ca(e){let t=e.payload,n=(t.event?.text??``).trim();if(!n)return;let r=H.getState().getToolMessageId(t.id);if(!r)return;let i=t.event?.type===`warning`?`⚠ `:``;ta.push(r,`${i}${n}\n`,(e,n)=>H.getState().appendToolProgressLinesByUseId(t.id,n.split(`
15
15
  `).filter(e=>e.length>0)))}function la(e){na(e);let t=e.payload,{currentToolId:n}=H.getState(),r=t.id?H.getState().getToolMessageId(t.id):n;r&&(ta.drop(r),t.id?H.getState().setToolResultByUseId(t.id,t.output??``,t.ok):H.getState().setToolResult(r,t.output??``,t.ok),H.getState().updateMessage(r,{toolDurationMs:t.durationMs})),t.id&&H.getState().updateExecution(t.id,{completedAt:Date.now(),durationMs:t.durationMs,output:t.output,ok:t.ok}),n&&r===n&&H.getState().setCurrentToolId(null)}function ua(e){let t=e.payload;G.getState().showConfirm({id:t.id,toolName:t.toolName,input:t.input,suggestedPattern:t.suggestedPattern});try{Xi()}catch{}Qi(),$i(`${W.getState().projectName||`Agent`} needs approval`,`Tool "${t.toolName}" is waiting for your decision.`,`agent-confirm`),typeof document<`u`&&document.hidden&&Or(`attention`)}function da(e){let t=e.payload;ta.flushAll(),W.getState().setIteration(null),H.getState().setLoading(!1),H.getState().setCurrentAssistantMessage(null),H.getState().clearThinking();let n=H.getState().runStart;if(n&&t.status===`done`){let e=H.getState().messages,r=-1,i=0;for(let t=e.length-1;t>=0;t--){let a=z(e[t]);if(a.role===`assistant`&&r===-1&&a.content&&(r=t),a.role===`tool`&&a.timestamp>=n.at&&(i+=1),a.role===`user`&&a.timestamp<=n.at)break}if(r!==-1){let a=W.getState().cost;H.getState().updateMessage(e[r]?.id,{runSummary:{iterations:t.iterations,tools:i,durationMs:Date.now()-n.at,costDelta:Math.max(0,a-n.cost)}})}}if(H.getState().setRunStart(null),t.status!==`done`&&t.error)H.getState().addMessage({role:`assistant`,content:`Error: ${t.error.message}`,isError:!0}),Z.error(`Run ended: ${t.error.message}`),$i(`${W.getState().projectName||`Agent`} run failed`,t.error.message),typeof document<`u`&&document.hidden&&Or(`error`);else if(t.status===`done`&&(typeof document<`u`&&document.hidden&&(Z.success(`Run completed in ${t.iterations} iteration${t.iterations===1?``:`s`}`),$i(`${W.getState().projectName||`Agent`} run finished`,`Completed in ${t.iterations} iteration${t.iterations===1?``:`s`}.`),Or(`ready`)),Qi(),U.getState().soundOnComplete))try{Yi()}catch{}let r=H.getState().dequeue();if(r){let e=V(U.getState().wsUrl);H.getState().addMessage({role:`user`,content:r}),H.getState().setLoading(!0),e.sendMessage(r)}}function fa(e){if(typeof e!=`string`)return Date.now();let t=Date.parse(e);return Number.isFinite(t)?t:Date.now()}function pa(e){return`replay_${Date.now()}_${e}`}function ma(e){return typeof e==`string`?e:JSON.stringify(e)}function ha(e){let t=[],n=new Map,r=(e,n,r)=>{n&&t.push({id:pa(t.length),role:e,content:n,timestamp:r})};for(let i of e){if(i.role!==`user`&&i.role!==`assistant`&&i.role!==`system`)continue;let e=i.role,a=fa(i.ts);if(typeof i.content==`string`){r(e,i.content,a);continue}if(!Array.isArray(i.content))continue;let o=``;for(let s of i.content){if(s.type===`text`&&typeof s.text==`string`){o+=(o?`
16
16
  `:``)+s.text;continue}if(s.type===`tool_use`){r(e,o,a),o=``;let i=String(s.id??``),c={id:pa(t.length),role:`tool`,content:``,toolName:String(s.name??`tool`),toolInput:s.input,toolUseId:i,timestamp:a};t.push(c),i&&n.set(i,c);continue}if(s.type===`tool_result`){let e=String(s.tool_use_id??``),t=n.get(e);t&&(t.toolResult=ma(s.content),t.isError=!!s.is_error)}}r(e,o,a)}return t}function ga(e){let t=Ei(e.type,e.payload);t&&(Ti.getState().pushEvent(t),Ti.getState().setActive(!0))}function _a(e){let t=Ei(`session.start`,e.payload);t&&(Ti.getState().pushEvent(t),Ti.getState().setActive(!0));let n=e.payload,r=W.getState().session?.id,i=!r||r!==n.sessionId||n.reset;if(n.needsSetup&&G.getState().setCurrentView(`setup`),i?W.getState().startSession({id:n.sessionId,startedAt:Date.now(),model:n.model,provider:n.provider}):W.getState().setSession({id:n.sessionId,startedAt:W.getState().session?.startedAt??Date.now(),model:n.model,provider:n.provider}),W.getState().setEnv({maxContext:n.maxContext,projectRoot:n.projectRoot??``,projectName:n.projectName,cwd:n.cwd,mode:n.mode,contextMode:n.contextMode,inputCost:n.inputCost,outputCost:n.outputCost,cacheReadCost:n.cacheReadCost}),U.getState().setConfig({provider:n.provider,model:n.model}),i){H.getState().clearMessages(),H.getState().setLoading(!1),W.setState({todos:[]}),Or(`ready`);let e=q.getState();if(n.clearedSessionId){let t=new Map;for(let[r,i]of e.agents)i.sessionId!==n.clearedSessionId&&t.set(r,i);q.setState({agents:t})}else e.clear();J.getState().setTreeLoading(!0),V().send({type:`files.tree`,payload:{path:W.getState().cwd}})}let a=n.replayMessages;if(a&&a.length>0&&H.getState().setMessages(ha(a)),a){let e=n.replayUsage;if(e){let t=W.getState(),n=e.input??0,r=e.output??0,i=e.cacheRead??0,a=e.cacheWrite??0;W.setState({totalTokens:{input:n,output:r,cacheRead:i,cacheWrite:a},cost:(n*t.inputCost+r*t.outputCost+i*t.cacheReadCost)/1e6})}G.getState().currentView!==`chat`&&G.getState().setCurrentView(`chat`),typeof window<`u`&&window.matchMedia?.(`(max-width: 768px)`).matches&&G.getState().setSidebarOpen(!1)}}function va(e){let t=e.payload,n=e=>e.toLocaleString(),r=[...t.tools.breakdown].sort((e,t)=>t.tokens-e.tokens).slice(0,8),i=[...t.messages.breakdown].sort((e,t)=>t.tokens-e.tokens).slice(0,8);H.getState().addMessage({role:`assistant`,content:[`📊 **Context breakdown** (heuristic — 4 chars/token)`,``,`**Total estimate:** ${n(t.total)} tokens`,`• System prompt: ${n(t.systemPrompt)}`,`• Tool schemas: ${n(t.tools.total)} (${t.tools.count} tools)`,`• Messages: ${n(t.messages.total)} (${t.messages.count} messages)`,``,`**Top tool schemas:**`,...r.map(e=>` · ${e.name}: ${n(e.tokens)}`),``,`**Top messages:**`,...i.map(e=>` · #${e.index} ${e.role}: ${n(e.tokens)} — ${e.preview||`(empty)`}`)].join(`
17
17
  `)})}function ya(e){let t=e.payload;t.success?Z.success(t.message):Z.error(t.message),V(U.getState().wsUrl).listSavedProviders()}function ba(e){ga(e);let t=e.payload,n=t.reductions.length?t.reductions.map(e=>`${e.phase}: ${e.saved}`).join(`, `):`no-op`;t.repaired&&(n+=`; repaired ${t.repaired.removedToolUses?.length??0} tool_use, ${t.repaired.removedToolResults?.length??0} tool_result, ${t.repaired.removedMessages} empty messages`),H.getState().addMessage({role:`assistant`,content:`🗜️ Context compacted: ${t.before} → ${t.after} tokens (saved ~${t.saved}). ${n}`}),W.setState({lastInputTokens:t.after})}function xa(e){ga(e);let t=e.payload,n=t.usage,r=(n.input??0)+(n.cacheWrite??0)-(n.cacheRead??0);r>0&&W.setState({lastInputTokens:r}),W.getState().updateUsage(t.usage);let{inputCost:i,outputCost:a,cacheReadCost:o}=W.getState(),s=(t.usage.input*i+t.usage.output*a+(t.usage.cacheRead??0)*o)/1e6;s>0&&W.getState().addCost(s),t.stopReason!==`tool_use`&&t.stopReason!==`tool_call`&&H.getState().setLoading(!1);let c=H.getState().currentAssistantMessageId;c&&(ta.flush(c),H.getState().finalizeMessage(c),t.usage.output>0&&H.getState().updateMessage(c,{usage:t.usage})),H.getState().setCurrentAssistantMessage(null),H.getState().clearThinking()}function Sa(e){ga(e);let t=e.payload,n=t.removedToolUses.length+t.removedToolResults.length+t.removedMessages,r=t.beforeMessages!==void 0&&t.afterMessages!==void 0?` Messages: ${t.beforeMessages} -> ${t.afterMessages}.`:``;H.getState().addMessage({role:`assistant`,content:`Context repaired: removed ${n} orphan protocol item(s).${r} tool_use ${t.removedToolUses.length}, tool_result ${t.removedToolResults.length}.`})}function Ca(){U.getState().setWsConnected(!1)}function wa(e){let t=e.payload;W.getState().setContextModes(t.modes.map(e=>({id:e.id,name:e.name,description:e.description,thresholds:e.thresholds,preserveK:e.preserveK,eliseThreshold:e.eliseThreshold,custom:e.custom}))),W.getState().setEnv({contextMode:t.activeId})}function Ta(e){let t=e.payload;W.getState().setEnv({contextMode:t.id})}function Ea(e){let t=e.payload;Yr.getState().setEntries(t.sessions??[],t.error??null)}function Da(e){let t=e.payload;H.getState().addMessage({role:`assistant`,content:`[${t.phase}] ${t.message}`,isError:!0}),H.getState().setLoading(!1)}var Oa={"context.debug":va,"key.operation_result":ya,"context.compacted":ba,"provider.response":xa,"context.repaired":Sa,"session.end":Ca,"context.modes.list":wa,"context.mode.changed":Ta,"sessions.list":Ea,error:Da};function ka(e){let t=e.payload;Xr.getState().setSnapshot(t.worktrees??[],t.baseBranch??``)}function Aa(e){let t=e.payload;Xr.getState().pushEvent(t)}function ja(e){q.getState().applyEvent(e.payload);let t=Ei(`subagent.event`,e.payload);t&&(Ti.getState().pushEvent(t),Ti.getState().setActive(!0))}function Ma(e){let t=e.payload;q.setState({fleetConcurrency:t.fleetConcurrency,fleetConcurrencyMax:t.fleetConcurrencyMax})}function Na(e){let t=e.payload;Ai.getState().setCurrentSession({clientType:t.clientType,clientId:t.clientId,agentCount:t.agentCount,model:t.model,mode:t.mode,toolCalls:t.toolCalls,inputTokens:t.inputTokens,outputTokens:t.outputTokens,cacheTokens:t.cacheTokens,costUsd:t.costUsd,timestamp:t.timestamp})}function Pa(e){let t=e.payload;Ai.getState().setLiveSessions(t?.sessions??[]);let n=Ei(`sessions.status_update`,e.payload);n&&(Ti.getState().pushEvent(n),Ti.getState().setActive(!0))}var Fa={"worktree.state":ka,"worktree.event":Aa,"subagent.event":ja,"fleet.concurrency_update":Ma,"client.status_update":Na,"sessions.status_update":Pa};function Ia(){let e=V();e?.send?.({type:`mailbox.messages`,payload:{limit:30,incompleteOnly:!0}}),e?.send?.({type:`mailbox.agents`,payload:{}})}function La(e){let t=e.payload;if(t.error){J.getState().setError(t.error);return}J.getState().setTree(t.root,t.tree)}function Ra(e){let t=e.payload;if(t.error){J.getState().setError(t.error);return}J.getState().openFile(t.filePath,t.content)}function za(e){let t=e.payload;t.success?J.getState().markSaved(t.filePath):t.error&&J.getState().setError(`Save failed: ${t.error}`)}function Ba(e){let t=Ei(`mailbox.event`,e.payload);t&&(Ti.getState().pushEvent(t),Ti.getState().setActive(!0)),Ia()}function Va(e){let t=e.payload;t?.messages&&Gr.getState().setMessages(t.messages)}function Ha(e){let t=e.payload;t?.agents&&Gr.getState().setAgents(t.agents)}function Ua(e){let t=Ei(`mailbox.received`,e.payload);t&&(Ti.getState().pushEvent(t),Ti.getState().setActive(!0)),Ia()}function Wa(e){Ia()}function Ga(e){Gr.getState().setMessages([]),Ia()}function Ka(e){Ia()}var qa={"files.tree":La,"files.read":Ra,"files.written":za,"mailbox.event":Ba,"mailbox.messages":Va,"mailbox.agents":Ha,"mailbox.received":Ua,"mailbox.agent_registered":Wa,"mailbox.cleared":Ga,"mailbox.purged":Ka};function Ja(e){let t=e.payload;gi.getState().setState({phases:Array.isArray(t.phases)?t.phases:void 0,activePhaseId:typeof t.activePhaseId==`string`?t.activePhaseId:void 0,overallPercent:typeof t.overallPercent==`number`?t.overallPercent:void 0,autonomous:typeof t.autonomous==`boolean`?t.autonomous:void 0,title:typeof t.title==`string`?t.title:void 0})}function Ya(e){let t=e.payload;hi.getState().setGoal(t)}function Xa(e){let t=e.payload;vi.getState().set(t)}function Za(e){let t=e.payload,n=[`🧠 **Brain** — policy → LLM decision chain`,``,`Autonomy ceiling: \`${t.maxAutoRisk}\` _(change with \`/brain risk <off|low|medium|high|all>\`)_`];if(t.log.length===0)n.push(``,`_No decisions recorded yet this session._`);else{n.push(``,`Recent decisions (${t.log.length}):`);for(let e of t.log.slice(-10)){let t=Math.max(0,Math.round((Date.now()-e.at)/1e3)),r=t<60?`${t}s`:t<3600?`${Math.round(t/60)}m`:`${Math.round(t/3600)}h`,i=e.question.length>70?`${e.question.slice(0,67)}…`:e.question;n.push(`- \`${r} ago\` **${e.kind}** — ${i}${e.outcome?` → _${e.outcome}_`:``}`)}}H.getState().addMessage({role:`assistant`,content:n.join(`
package/dist/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/wrongstack.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>WrongStack WebUI</title>
8
- <script type="module" crossorigin src="/assets/index-Dlznb4DM.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-BXhn7A6t.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/vendor-BL9KT5LK.js">
11
11
  <link rel="stylesheet" crossorigin href="/assets/vendor-BzqIVtlT.css">
package/dist/index.js CHANGED
@@ -1922,7 +1922,7 @@ var useVizStore = create15()((set, get) => ({
1922
1922
  nodes: /* @__PURE__ */ new Map(),
1923
1923
  edges: /* @__PURE__ */ new Map(),
1924
1924
  isActive: false,
1925
- maxEvents: 500,
1925
+ maxEvents: 2e3,
1926
1926
  counters: {
1927
1927
  totalTokens: 0,
1928
1928
  totalCost: 0,
@@ -25171,7 +25171,7 @@ function formatBytes(bytes) {
25171
25171
  const k = 1024;
25172
25172
  const sizes = ["B", "KB", "MB", "GB"];
25173
25173
  const i = Math.floor(Math.log(bytes) / Math.log(k));
25174
- return `${(bytes / Math.pow(k, i)).toFixed(1)} ${sizes[i]}`;
25174
+ return `${(bytes / k ** i).toFixed(1)} ${sizes[i]}`;
25175
25175
  }
25176
25176
  function formatUptime(seconds) {
25177
25177
  if (seconds < 60) return `${seconds.toFixed(0)}s`;