blade-code 0.10.194 → 0.10.197

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 (75) hide show
  1. package/dist/blade.js +2 -2
  2. package/dist/{chunk-5y9rzr1a.js → chunk-0w6ege8m.js} +8 -8
  3. package/dist/{chunk-c5z2x71w.js → chunk-1a72xcm5.js} +1 -1
  4. package/dist/{chunk-s7jvyh97.js → chunk-1d3p29ck.js} +1 -1
  5. package/dist/{chunk-p06g1a5b.js → chunk-1wvkccyq.js} +1 -1
  6. package/dist/{chunk-5j4bregk.js → chunk-2rjbmx95.js} +1 -1
  7. package/dist/{chunk-28azbgxb.js → chunk-2tgpn3df.js} +1 -1
  8. package/dist/{chunk-1md88se7.js → chunk-4esj56h2.js} +1 -1
  9. package/dist/{chunk-rkk85vt6.js → chunk-4szhq9af.js} +1 -1
  10. package/dist/{chunk-p56nydx5.js → chunk-4vdy0r4e.js} +1 -1
  11. package/dist/chunk-6hd7dhah.js +1 -0
  12. package/dist/{chunk-80k7s1hs.js → chunk-7mhwhv06.js} +2 -2
  13. package/dist/{chunk-bxtbxjrt.js → chunk-8jcw1zff.js} +1 -1
  14. package/dist/{chunk-5s7b26y3.js → chunk-8phhjmp2.js} +1 -1
  15. package/dist/{chunk-dysna3yw.js → chunk-8qd4t1zk.js} +1 -1
  16. package/dist/chunk-8r1p9etf.js +1 -0
  17. package/dist/{chunk-5n1zw0hj.js → chunk-99975pj2.js} +1 -1
  18. package/dist/{chunk-awchp500.js → chunk-9m8gjjnr.js} +1 -1
  19. package/dist/{chunk-bhqabrg2.js → chunk-b88ff25j.js} +1 -1
  20. package/dist/{chunk-mxbwttgh.js → chunk-be3q7hz5.js} +1 -1
  21. package/dist/{chunk-g7x7ffy2.js → chunk-bvjy2j7g.js} +1 -1
  22. package/dist/{chunk-c44wv7pr.js → chunk-c0g819d8.js} +1 -1
  23. package/dist/{chunk-nv90htxj.js → chunk-cdrnfqqx.js} +2 -2
  24. package/dist/{chunk-42ke6bvp.js → chunk-ctrr7v68.js} +1 -1
  25. package/dist/{chunk-qnkk5915.js → chunk-er3xs5w5.js} +1 -1
  26. package/dist/{chunk-6g1jrjct.js → chunk-frvx7etd.js} +1 -1
  27. package/dist/{chunk-x6wd6n2q.js → chunk-j8jyb6z8.js} +1 -1
  28. package/dist/{chunk-9v7wv15d.js → chunk-jxe9cq1m.js} +1 -1
  29. package/dist/{chunk-kkj6wsm6.js → chunk-kn7k2hg5.js} +1 -1
  30. package/dist/{chunk-3z095j6d.js → chunk-nxe8rf1x.js} +1 -1
  31. package/dist/{chunk-tm78ettf.js → chunk-qbgnb5f4.js} +1 -1
  32. package/dist/{chunk-70f0xq42.js → chunk-qzkxhkke.js} +1 -1
  33. package/dist/{chunk-b9wdh2gp.js → chunk-rjkf30qt.js} +3 -3
  34. package/dist/{chunk-fme1xjvn.js → chunk-s0n3aqm0.js} +1 -1
  35. package/dist/chunk-w13pftn7.js +6 -0
  36. package/dist/{chunk-9nbms0xv.js → chunk-xddrcby1.js} +1 -1
  37. package/dist/{chunk-0shce1sx.js → chunk-ympp7syy.js} +1 -1
  38. package/dist/{chunk-8jcaxqv0.js → chunk-zsx0qb55.js} +1 -1
  39. package/dist/{chunk-cb3mrwg9.js → chunk-zwaa1312.js} +1 -1
  40. package/dist/web/assets/{ChatView-DYA3np_l.js → ChatView-BF6HUrBw.js} +4 -4
  41. package/dist/web/assets/{CodeBlockHighlighter-B9sgXWAy.js → CodeBlockHighlighter-C4CgCiRf.js} +1 -1
  42. package/dist/web/assets/{FilePreview-PKalr8bi.js → FilePreview-BS4PgFKb.js} +1 -1
  43. package/dist/web/assets/{KanbanBoard-GjH7MyZk.js → KanbanBoard-DDXB-yq1.js} +1 -1
  44. package/dist/web/assets/{MarkdownRenderer-C03DrI8Q.js → MarkdownRenderer-DS7RznBE.js} +3 -3
  45. package/dist/web/assets/{ScrollArea-CbOr9e7X.js → ScrollArea-BM9NzGZM.js} +1 -1
  46. package/dist/web/assets/{SessionHistorySurface-BZEOUN2M.js → SessionHistorySurface-DnRySeLE.js} +1 -1
  47. package/dist/web/assets/{SettingsModal-DAMGwO-E.js → SettingsModal-D5YLUtIo.js} +1 -1
  48. package/dist/web/assets/{Sidebar-CiCsK7EK.js → Sidebar-BZC6OkDJ.js} +1 -1
  49. package/dist/web/assets/{TaskSwitcher-BLdgv--U.js → TaskSwitcher-WewOkw5m.js} +1 -1
  50. package/dist/web/assets/{TerminalPanel-uctuzvle.js → TerminalPanel-C5SGdRNr.js} +1 -1
  51. package/dist/web/assets/{archive-BHntc9gt.js → archive-DkczUU08.js} +1 -1
  52. package/dist/web/assets/{arrow-left-DkXe02NZ.js → arrow-left-9pBiQwu7.js} +1 -1
  53. package/dist/web/assets/{calendar-clock-_-EyQ_16.js → calendar-clock-BFnUlxrU.js} +1 -1
  54. package/dist/web/assets/{chevron-right-DXuaFbE2.js → chevron-right-yCVkAEcj.js} +1 -1
  55. package/dist/web/assets/{clock-3-DHOWUt-Y.js → clock-3-CcoWoRQs.js} +1 -1
  56. package/dist/web/assets/{copy-wCV3sjrM.js → copy-HJF0oQBS.js} +1 -1
  57. package/dist/web/assets/{download-CEXHgQhj.js → download-DSBCIqk3.js} +1 -1
  58. package/dist/web/assets/{external-link-D5pUXtvQ.js → external-link-zIgEO0KB.js} +1 -1
  59. package/dist/web/assets/{folder-Bm-uBrFM.js → folder-BdRo64o3.js} +1 -1
  60. package/dist/web/assets/{index-E1WG_htm.js → index-BVDkKudh.js} +4 -4
  61. package/dist/web/assets/{message-square-plus-ChP8ZEgZ.js → message-square-plus-3klTXO0S.js} +1 -1
  62. package/dist/web/assets/{pause-D8MeccMe.js → pause-B9Q5JWvH.js} +1 -1
  63. package/dist/web/assets/{pencil-DNEy8lVY.js → pencil-CbYIz1b1.js} +1 -1
  64. package/dist/web/assets/{play-DhdTbY0j.js → play-CZMTj43e.js} +1 -1
  65. package/dist/web/assets/{plus-B2PxWoNi.js → plus-Cc7I8fhb.js} +1 -1
  66. package/dist/web/assets/{session-events-aq2qdB3u.js → session-events-NEjosinC.js} +2 -2
  67. package/dist/web/assets/{settings-D9Kkb31b.js → settings-DSF3exX2.js} +1 -1
  68. package/dist/web/assets/{team-ktBP7cND.js → team-qfeJHL9s.js} +1 -1
  69. package/dist/web/assets/{teamService-CxPZcCrA.js → teamService-Bs9qBKI8.js} +1 -1
  70. package/dist/web/assets/{terminal-DcSGZkEA.js → terminal-DQLqe-Ed.js} +1 -1
  71. package/dist/web/index.html +1 -1
  72. package/package.json +1 -1
  73. package/dist/chunk-74v2xhqw.js +0 -1
  74. package/dist/chunk-db0m42ht.js +0 -1
  75. package/dist/chunk-h17fnzqv.js +0 -6
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-E1WG_htm.js";/**
1
+ import{c as a}from"./index-BVDkKudh.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-E1WG_htm.js";/**
1
+ import{c as e}from"./index-BVDkKudh.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-E1WG_htm.js";/**
1
+ import{c as e}from"./index-BVDkKudh.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as o}from"./index-E1WG_htm.js";/**
1
+ import{c as o}from"./index-BVDkKudh.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-E1WG_htm.js";/**
1
+ import{c as e}from"./index-BVDkKudh.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -22,10 +22,10 @@ ${i.content}`}}else r=t.length,t.push(i);continue}if(e>=0){const s=t[e];t[e]={..
22
22
  ${d}`,metadata:{...s.metadata,userShellExecution:{...c,output:d,streamTruncated:n.streamTruncated===!0}}})},yx=(n,t,e)=>{const{currentSessionId:r,messages:o,addMessage:i,updateMessage:s}=t();if(n.sessionId!==r||typeof n.executionId!="string"||!n.record||typeof n.record!="object"||Array.isArray(n.record))return;const c=n.record,d=typeof c.command=="string"?c.command:"",l=typeof c.stdout=="string"?c.stdout:"",m=typeof c.stderr=="string"?c.stderr:"",g=[l,m?`stderr:
23
23
  ${m}`:""].filter(Boolean).join(`
24
24
  `),S=Ia(n.executionId),$={role:"user",content:[`! ${d}`,g||"(no output)"].join(`
25
- `),metadata:{userShellCommand:c}};o.some(T=>T.id===S)?s(S,$):i({id:S,...$,timestamp:Date.now()}),n.auxiliary!==!0&&e({isStreaming:!1,isStopping:!1,agentPhase:"idle"}),(n.delivery==="current_turn"||n.delivery==="next_turn")&&e({pendingSteeringCount:typeof n.queued=="number"?Math.max(0,n.queued):0,pendingInputDelivery:n.delivery==="current_turn"?"current_turn":"next_turn"})},Ox=(n,t)=>{const{currentSessionId:e,updateTokenUsage:r,setMaxContextTokens:o}=t();n.sessionId===e&&(r({inputTokens:n.inputTokens,outputTokens:n.outputTokens,totalTokens:n.totalTokens,cacheReadTokens:n.cacheReadTokens??0,cacheWriteTokens:n.cacheWriteTokens??0,...n.cacheBreak?{cacheBreak:n.cacheBreak}:{},costUsd:n.costUsd}),n.maxContextTokens&&o(n.maxContextTokens,!1))},$x=(n,t)=>{const{currentSessionId:e,setTasks:r,currentAssistantMessageId:o}=t();if(n.sessionId!==e||!o)return;const i=n.tasks||[];r(o,i)},Cx=(n,t,e)=>{const{currentSessionId:r,setSubagent:o,currentAssistantMessageId:i}=t();if(n.sessionId!==r||!i)return;const s={id:wi({explicitId:n.subagentId,sessionId:n.subagentSessionId,messageId:i,agentType:n.type,description:n.description}),type:n.type||"unknown",description:n.description||"",status:"running",startTime:Date.now(),sessionId:n.subagentSessionId,resumedFrom:n.resumedFrom,rootAgentId:n.rootAgentId,resumeDepth:typeof n.resumeDepth=="number"?n.resumeDepth:void 0};o(i,s),ga(s.sessionId,t,e)},Ax=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.subagentSessionId,c=In(o,s,r);c&&i(c.messageId,c.subagent.id,{sessionId:c.subagent.sessionId||s,currentTool:n.toolName})},Tx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.delta;if(!s)return;const c=n.subagentSessionId,d=In(o,c,r);d&&i(d.messageId,d.subagent.id,l=>({sessionId:l.sessionId||c,output:(l.output||"")+s}))},Ex=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.delta;if(!s)return;const c=n.subagentSessionId,d=In(o,c,r);d&&i(d.messageId,d.subagent.id,l=>({sessionId:l.sessionId||c,thinking:(l.thinking||"")+s}))},Sa=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.subagentSessionId,c=In(o,s,r);if(!c)return;const d=n.status==="completed"?"completed":n.status==="failed"||n.status==="cancelled"?"failed":n.success?"completed":"failed";i(c.messageId,c.subagent.id,{sessionId:c.subagent.sessionId||s,type:typeof n.type=="string"?n.type:c.subagent.type,description:typeof n.description=="string"?n.description:c.subagent.description,status:d,currentTool:void 0,output:typeof n.summary=="string"?n.summary:c.subagent.output,resumedFrom:typeof n.resumedFrom=="string"?n.resumedFrom:c.subagent.resumedFrom,rootAgentId:typeof n.rootAgentId=="string"?n.rootAgentId:c.subagent.rootAgentId,resumeDepth:typeof n.resumeDepth=="number"?n.resumeDepth:c.subagent.resumeDepth,verificationVerdict:n.verificationVerdict==="pass"||n.verificationVerdict==="fail"||n.verificationVerdict==="partial"?n.verificationVerdict:c.subagent.verificationVerdict})},_x=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.toolCallId,c=n.toolName;if(!s||!c)return;const d=n.subagentSessionId,l=In(o,d,r);if(!l)return;const m={toolCallId:s,toolName:c,arguments:n.arguments,toolKind:n.toolKind,status:"running",startTime:Date.now()};i(l.messageId,l.subagent.id,g=>{const S=g.toolCalls||[];return{sessionId:g.sessionId||d,currentTool:c,toolCalls:S.some($=>$.toolCallId===s)?S:[...S,m]}})},Px=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.toolCallId;if(!s)return;const c=n.toolName,d=n.subagentSessionId,l=In(o,d,r);if(!l)return;const m=n.output,g=n.success===!0,S=g?"success":"error",$=n.summary||(m&&m.trim()?m.trim().split(`
25
+ `),metadata:{userShellCommand:c}};o.some(T=>T.id===S)?s(S,$):i({id:S,...$,timestamp:Date.now()}),n.auxiliary!==!0&&e({isStreaming:!1,isStopping:!1,agentPhase:"idle"}),(n.delivery==="current_turn"||n.delivery==="next_turn")&&e({pendingSteeringCount:typeof n.queued=="number"?Math.max(0,n.queued):0,pendingInputDelivery:n.delivery==="current_turn"?"current_turn":"next_turn"})},Ox=(n,t)=>{const{currentSessionId:e,updateTokenUsage:r,setMaxContextTokens:o}=t();n.sessionId===e&&(r({...n.scope==="auxiliary"?{scope:"auxiliary"}:{},inputTokens:n.inputTokens,outputTokens:n.outputTokens,totalTokens:n.totalTokens,cacheReadTokens:n.cacheReadTokens??0,cacheWriteTokens:n.cacheWriteTokens??0,...n.cacheBreak?{cacheBreak:n.cacheBreak}:{},costUsd:n.costUsd}),n.scope!=="auxiliary"&&n.maxContextTokens&&o(n.maxContextTokens,!1))},$x=(n,t)=>{const{currentSessionId:e,setTasks:r,currentAssistantMessageId:o}=t();if(n.sessionId!==e||!o)return;const i=n.tasks||[];r(o,i)},Cx=(n,t,e)=>{const{currentSessionId:r,setSubagent:o,currentAssistantMessageId:i}=t();if(n.sessionId!==r||!i)return;const s={id:wi({explicitId:n.subagentId,sessionId:n.subagentSessionId,messageId:i,agentType:n.type,description:n.description}),type:n.type||"unknown",description:n.description||"",status:"running",startTime:Date.now(),sessionId:n.subagentSessionId,resumedFrom:n.resumedFrom,rootAgentId:n.rootAgentId,resumeDepth:typeof n.resumeDepth=="number"?n.resumeDepth:void 0};o(i,s),ga(s.sessionId,t,e)},Ax=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.subagentSessionId,c=In(o,s,r);c&&i(c.messageId,c.subagent.id,{sessionId:c.subagent.sessionId||s,currentTool:n.toolName})},Tx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.delta;if(!s)return;const c=n.subagentSessionId,d=In(o,c,r);d&&i(d.messageId,d.subagent.id,l=>({sessionId:l.sessionId||c,output:(l.output||"")+s}))},Ex=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.delta;if(!s)return;const c=n.subagentSessionId,d=In(o,c,r);d&&i(d.messageId,d.subagent.id,l=>({sessionId:l.sessionId||c,thinking:(l.thinking||"")+s}))},Sa=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.subagentSessionId,c=In(o,s,r);if(!c)return;const d=n.status==="completed"?"completed":n.status==="failed"||n.status==="cancelled"?"failed":n.success?"completed":"failed";i(c.messageId,c.subagent.id,{sessionId:c.subagent.sessionId||s,type:typeof n.type=="string"?n.type:c.subagent.type,description:typeof n.description=="string"?n.description:c.subagent.description,status:d,currentTool:void 0,output:typeof n.summary=="string"?n.summary:c.subagent.output,resumedFrom:typeof n.resumedFrom=="string"?n.resumedFrom:c.subagent.resumedFrom,rootAgentId:typeof n.rootAgentId=="string"?n.rootAgentId:c.subagent.rootAgentId,resumeDepth:typeof n.resumeDepth=="number"?n.resumeDepth:c.subagent.resumeDepth,verificationVerdict:n.verificationVerdict==="pass"||n.verificationVerdict==="fail"||n.verificationVerdict==="partial"?n.verificationVerdict:c.subagent.verificationVerdict})},_x=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.toolCallId,c=n.toolName;if(!s||!c)return;const d=n.subagentSessionId,l=In(o,d,r);if(!l)return;const m={toolCallId:s,toolName:c,arguments:n.arguments,toolKind:n.toolKind,status:"running",startTime:Date.now()};i(l.messageId,l.subagent.id,g=>{const S=g.toolCalls||[];return{sessionId:g.sessionId||d,currentTool:c,toolCalls:S.some($=>$.toolCallId===s)?S:[...S,m]}})},Px=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.toolCallId;if(!s)return;const c=n.toolName,d=n.subagentSessionId,l=In(o,d,r);if(!l)return;const m=n.output,g=n.success===!0,S=g?"success":"error",$=n.summary||(m&&m.trim()?m.trim().split(`
26
26
  `)[0].slice(0,120):g?"执行成功":"执行失败");i(l.messageId,l.subagent.id,T=>({sessionId:T.sessionId||d,currentTool:T.currentTool===c?void 0:T.currentTool,toolCalls:(T.toolCalls||[]).map(L=>L.toolCallId===s?{...L,status:S,summary:$,output:m,metadata:n.metadata}:L)}))},Rx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=n.toolCallId;if(!s)return;const c=In(o,n.subagentSessionId,r);c&&i(c.messageId,c.subagent.id,d=>({toolCalls:(d.toolCalls||[]).map(l=>l.toolCallId===s?{...l,summary:n.message,progress:typeof n.progress=="number"?n.progress:void 0,progressTotal:typeof n.total=="number"?n.total:void 0,progressMessage:n.message,admission:pS(n.admission)}:l)}))},wx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=In(o,n.subagentSessionId,r);if(!s)return;const c=Array.isArray(n.added)?n.added.map(String):[],d=Array.isArray(n.removed)?n.removed.map(String):[],l=Array.isArray(n.updated)?n.updated.map(String):[],m=`mcp-catalog:${String(n.revision)}`;i(s.messageId,s.subagent.id,g=>({toolCalls:[...(g.toolCalls||[]).filter(S=>S.toolCallId!==m),{toolCallId:m,toolName:"MCP Catalog",arguments:JSON.stringify({serverName:n.serverName,added:c,removed:d,updated:l}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP catalog r${String(n.revision)}: +${c.length} -${d.length} ~${l.length}`,output:[c.length>0?`Added: ${c.join(", ")}`:"",d.length>0?`Removed: ${d.join(", ")}`:"",l.length>0?`Updated: ${l.join(", ")}`:""].filter(Boolean).join(`
27
27
  `)}]}))},Mx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=In(o,n.subagentSessionId,r);if(!s)return;const c=Array.isArray(n.added)?n.added.map(String):[],d=Array.isArray(n.removed)?n.removed.map(String):[],l=Array.isArray(n.updated)?n.updated.map(String):[],m=`mcp-content:${String(n.revision)}`;i(s.messageId,s.subagent.id,g=>({toolCalls:[...(g.toolCalls||[]).filter(S=>S.toolCallId!==m),{toolCallId:m,toolName:"MCP Content",arguments:JSON.stringify({serverName:n.serverName,contentKind:n.contentKind,added:c,removed:d,updated:l}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP ${String(n.contentKind)} r${String(n.revision)}: +${c.length} -${d.length} ~${l.length}`}]}))},Fx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=In(o,n.subagentSessionId,r);if(!s)return;const c=`mcp-resource:${String(n.revision)}`;i(s.messageId,s.subagent.id,d=>({toolCalls:[...(d.toolCalls||[]).filter(l=>l.toolCallId!==c),{toolCallId:c,toolName:"MCP Resource",arguments:JSON.stringify({serverName:n.serverName,uri:n.uri}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP resource updated: ${String(n.uri)}`}]}))},xx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=In(o,n.subagentSessionId,r);if(!s)return;const c=String(n.phase),d=`mcp-connection:${String(n.revision)}`;i(s.messageId,s.subagent.id,l=>({toolCalls:[...(l.toolCalls||[]).filter(m=>m.toolCallId!==d),{toolCallId:d,toolName:"MCP Connection",arguments:JSON.stringify({serverName:n.serverName,phase:c,reason:n.reason,attempt:n.attempt,maxAttempts:n.maxAttempts}),toolKind:"readonly",status:c==="failed"?"error":"success",startTime:Date.now(),summary:`MCP ${String(n.serverName)} ${c}`+(c==="reconnecting"?` (${String(n.attempt)}/${String(n.maxAttempts)})`:""),output:n.error?`Error: ${String(n.error)}`:void 0}]}))},Lx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=In(o,n.subagentSessionId,r);if(!s)return;const c=String(n.level),d=typeof n.logger=="string"?n.logger:void 0,l=`mcp-log:${String(n.revision)}`;i(s.messageId,s.subagent.id,m=>({toolCalls:[...(m.toolCalls||[]).filter(g=>g.toolCallId!==l),{toolCallId:l,toolName:"MCP Log",arguments:JSON.stringify({serverName:n.serverName,level:c,logger:d}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP ${c} · ${String(n.serverName)}`+(d?` · ${d}`:""),output:[String(n.message),`SHA-256: ${String(n.dataSha256)}`,n.truncated===!0?"Truncated":"",n.detailsOmitted===!0?"Details omitted by runtime policy":""].filter(Boolean).join(`
28
28
  `)}]}))},Nx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=In(o,n.subagentSessionId,r);if(!s)return;const c=String(n.serverName),d=String(n.action),l=`mcp-instructions:${String(n.revision)}:${c}:${d}`;i(s.messageId,s.subagent.id,m=>({toolCalls:[...(m.toolCalls||[]).filter(g=>g.toolCallId!==l),{toolCallId:l,toolName:"MCP Instructions",arguments:JSON.stringify({serverName:c,action:d,reason:n.reason}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP instructions ${d}: ${c}`+(n.truncated===!0?" (truncated)":""),output:[typeof n.text=="string"?n.text:"",n.sha256?`SHA-256: ${String(n.sha256)}`:"",n.detailsOmitted===!0?"Details omitted by runtime policy":""].filter(Boolean).join(`
29
29
  `)}]}))},kx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=In(o,n.subagentSessionId,r);if(!s)return;const c=String(n.taskId),d=String(n.status),l=`mcp-task:${c}`;i(s.messageId,s.subagent.id,m=>({toolCalls:[...(m.toolCalls||[]).filter(g=>g.toolCallId!==l),{toolCallId:l,toolName:"MCP Task",arguments:JSON.stringify({taskId:c,serverName:n.serverName,toolName:n.toolName}),toolKind:"readonly",status:d==="failed"||d==="cancelled"?"error":d==="completed"?"success":"running",startTime:Number(n.createdAt)||Date.now(),summary:`MCP task ${d}: ${c} · ${String(n.serverName)}/${String(n.toolName)}`,output:[typeof n.statusMessage=="string"?n.statusMessage:"",n.hasResult===!0?"Result available via TaskOutput":"",typeof n.error=="string"?`Error: ${n.error}`:""].filter(Boolean).join(`
30
30
  `)}]}))},jx=(n,t)=>{const{currentSessionId:e,currentAssistantMessageId:r,messages:o,updateSubagent:i}=t();if(n.sessionId!==e)return;const s=In(o,n.subagentSessionId,r);if(!s)return;const c=Array.isArray(n.files)?n.files.filter(l=>!!l&&typeof l=="object"&&!Array.isArray(l)):[],d=`project-rules:${c.map(l=>String(l.id)).join(",")}`;i(s.messageId,s.subagent.id,l=>({toolCalls:[...(l.toolCalls||[]).filter(m=>m.toolCallId!==d),{toolCallId:d,toolName:"Project Rules",arguments:JSON.stringify({triggerPaths:n.triggerPaths,blockedWrite:n.blockedWrite}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`Project rules loaded: ${c.length}`,output:c.map(m=>`${String(m.relativePath)} ${String(m.source)} SHA-256: ${String(m.contentSha256)}`).join(`
31
- `)}]}))},Dx=(n,t,e)=>{const{currentSessionId:r,setConfirmation:o}=t();if(n.sessionId!==r)return;const i=n.requestId||"",s=Vn(t,e,i?`assistant-permission-${i}`:void 0);if(!s)return;const c=n.details,d=n.toolName||(c==null?void 0:c.toolName)||"Tool";o(s,{toolCallId:i,toolName:d,description:n.description,diff:(c==null?void 0:c.details)||(c==null?void 0:c.diff)||"",allowRemember:(c==null?void 0:c.type)!=="mcpSampling",status:"pending"}),e(l=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:l.sessions.map(m=>m.sessionId===n.sessionId&&m.projectPath===n.projectPath?{...m,pendingInteraction:{type:"permission",requestId:i}}:m)}))},Ux=(n,t,e)=>{var $,T;const{currentSessionId:r,currentSessionRef:o,messages:i,setConfirmation:s,setElicitation:c}=t();if(n.sessionId!==r)return;const d=n.requestId,l=i.find(L=>{var W,q;return((q=(W=L.agentContent)==null?void 0:W.confirmation)==null?void 0:q.toolCallId)===d}),m=($=l==null?void 0:l.agentContent)==null?void 0:$.confirmation;l&&(m==null?void 0:m.status)==="pending"&&s(l.id,{...m,status:"denied"});const g=i.find(L=>{var W,q;return((q=(W=L.agentContent)==null?void 0:W.elicitation)==null?void 0:q.toolCallId)===d}),S=(T=g==null?void 0:g.agentContent)==null?void 0:T.elicitation;g&&(S==null?void 0:S.status)==="pending"&&c(g.id,{...S,status:"cancelled"}),e({agentPhase:"running",error:"Permission request timed out",errorContext:{kind:"interaction",...o?{sessionRef:o}:{}}})},ec=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",isStreaming:!0,turnRecovery:null})};function Bx(n){if(!n||typeof n!="object"||Array.isArray(n))return null;const t=n;if(typeof t.turnId!="string"||!t.turnId||!Number.isSafeInteger(t.inputMessageCount)||t.inputMessageCount<0)return null;const e={turnId:t.turnId,inputMessageCount:t.inputMessageCount};return t.state==="completed"||t.state==="resumable"?{state:t.state,...e}:t.state==="requires_attention"&&(t.reason==="successful_tool_result"||t.reason==="interrupted_tool_call")?{state:t.state,...e,reason:t.reason}:null}const Kx=(n,t,e)=>{const r=t(),o=r.currentSessionRef;if(n.sessionId!==r.currentSessionId||!o||n.projectPath!==o.projectPath)return;const i=Bx(n.assessment);i&&(e({turnRecovery:i}),ho(r.historySurfaceSelection)||r.resyncSessionMessages(o))},qx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:n.reason==="context_limit"?"recovering_context":"compacting",memoryConsolidation:null})},Vx=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;t().resetContextUsage();const r=bM.safeParse(n.memory);if(n.memory!==void 0&&!r.success){e({agentPhase:"running"});return}e({agentPhase:"running",memoryConsolidation:r.success&&r.data.outcome==="written"?r.data:null})},Gx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"switching_model",providerAdmission:null,providerCircuit:null,providerRetry:null,pendingResume:null,providerStall:null,actionStationarity:null})},zx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",providerAdmission:n.phase==="queued"?n:null})},Hx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",providerCircuit:n.phase==="closed"?null:n})},Wx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",providerRetry:n.phase==="recovered"?null:n})},vx=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;if(n.recovery===null&&n.authoritative===!0){e({providerRecovery:null});return}const r=xM.safeParse(n.recovery);if(!r.success)return;const o=t().providerRecovery;n.authoritative!==!0&&!o&&r.data.revision!==0||n.authoritative!==!0&&o&&(o.generation===r.data.generation&&o.revision>=r.data.revision||o.generation!==r.data.generation&&r.data.revision!==0)||e({providerRecovery:r.data})},Jx=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;if(n.activity===null&&n.authoritative===!0){e({turnActivity:null});return}const r=oF.safeParse(n.activity);if(!r.success)return;const o=t().turnActivity;n.authoritative!==!0&&!o&&r.data.revision!==0||n.authoritative!==!0&&o&&(o.generation===r.data.generation&&o.revision>=r.data.revision||o.generation!==r.data.generation&&r.data.revision!==0)||e({turnActivity:r.data})},Go=n=>typeof n=="number"&&Number.isFinite(n)&&n>=0,zo=n=>typeof n=="number"&&Number.isInteger(n)&&n>0,Qx=n=>{if(n.phase!=="retry_scheduled"||n.kind!=="pending_input"||!zo(n.attempt)||!zo(n.maxAttempts)||n.attempt>n.maxAttempts||n.delayMs!==void 0&&!Go(n.delayMs)||n.nextRetryAt!==void 0&&!Go(n.nextRetryAt))return null;let t;if(n.failure!==void 0){if(!n.failure||typeof n.failure!="object"||Array.isArray(n.failure))return null;const e=n.failure,r=fa(e.code),o=e.resource;if(!r||typeof e.retryable!="boolean"||o!==void 0&&o!=="pending_count"&&o!=="pending_bytes"&&o!=="resident_runtimes")return null;t={code:r,retryable:e.retryable,...o===void 0?{}:{resource:o}}}return{phase:"retry_scheduled",kind:"pending_input",attempt:n.attempt,maxAttempts:n.maxAttempts,...n.delayMs===void 0?{}:{delayMs:n.delayMs},...n.nextRetryAt===void 0?{}:{nextRetryAt:n.nextRetryAt},...t?{failure:t}:{}}},Xx=(n,t,e)=>{if(!(n.kind!=="pending_input"||!zo(n.attempt)||!zo(n.maxAttempts)||n.attempt>n.maxAttempts)){if(n.phase==="retry_scheduled"){const r=Qx(n);r&&e({pendingResume:r,agentPhase:"running"});return}if(!(n.phase!=="recovered"&&n.phase!=="failed"&&n.phase!=="exhausted")&&!(n.delayMs!==void 0&&!Go(n.delayMs)||n.nextRetryAt!==void 0&&!Go(n.nextRetryAt))){if(n.failure!==void 0){if(!n.failure||typeof n.failure!="object"||Array.isArray(n.failure))return;const r=n.failure;if(!fa(r.code)||typeof r.retryable!="boolean"||r.resource!==void 0&&r.resource!=="pending_count"&&r.resource!=="pending_bytes"&&r.resource!=="resident_runtimes")return}e({pendingResume:null})}}},Yx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",providerStall:n.phase==="detected"?n:null})},Zx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",actionStationarity:n.phase==="recovered"?null:n})},nL=(n,t,e)=>{const{currentSessionId:r,setQuestion:o}=t();if(n.sessionId!==r)return;const i=n.requestId||n.toolCallId||"",s=Vn(t,e,i?`assistant-question-${i}`:void 0);s&&(o(s,{toolCallId:i,questions:n.questions,status:"pending"}),e(c=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:c.sessions.map(d=>d.sessionId===n.sessionId&&d.projectPath===n.projectPath?{...d,pendingInteraction:{type:"question",requestId:i}}:d)})))},tL=(n,t,e)=>{const{currentSessionId:r,setElicitation:o}=t();if(n.sessionId!==r)return;const i=n.requestId||n.toolCallId||"",s=Vn(t,e,i?`assistant-elicitation-${i}`:void 0),c=n.elicitation;!s||!c||(o(s,{toolCallId:i,details:c,status:"pending"}),e(d=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:d.sessions.map(l=>l.sessionId===n.sessionId&&l.projectPath===n.projectPath?{...l,pendingInteraction:{type:"elicitation",requestId:i}}:l)})))},eL=(n,t,e)=>{const{currentSessionId:r}=t();if(n.sessionId!==r)return;const o=n.requestId;e(i=>({agentPhase:"running",sessions:i.sessions.map(s=>{var c;return s.sessionId===n.sessionId&&s.projectPath===n.projectPath&&((c=s.pendingInteraction)==null?void 0:c.requestId)===o?{...s,pendingInteraction:void 0}:s})}))},pa=(n,t)=>{if(ho(t().historySurfaceSelection))return;const e=IS(t());e&&n.sessionId===e.sessionId&&n.projectPath===e.projectPath&&t().resyncSessionMessages(e)},rL=(n,t)=>{const{currentSessionId:e,currentSessionRef:r,endAgentResponse:o}=t();n.sessionId!==e||!r||n.projectPath!==r.projectPath||(o(),pa(n,t))},rc=(n,t)=>{const e=t().currentSessionRef;!e||n.sessionId!==e.sessionId||n.projectPath!==e.projectPath||t().endAgentResponse()},oL=(n,t,e)=>{const{currentSessionId:r,currentSessionRef:o,endAgentResponse:i}=t();if(n.sessionId!==r)return;const s=n.taskFailure&&typeof n.taskFailure=="object"&&!Array.isArray(n.taskFailure)?n.taskFailure:void 0,c=fa(s==null?void 0:s.code);e({agentPhase:"error",error:n.error||"An error occurred",errorContext:{kind:"execution",...o?{sessionRef:o}:{},...c?{failureCode:c}:{}}}),i(),pa(n,t)},iL=(n,t,e)=>{const{currentSessionId:r}=t();if(n.sessionId!==r)return;const o=mS(n.followUpQueue);if(n.status==="idle")e({isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,pendingResume:null,providerStall:null,providerRecovery:null,turnActivity:null,memoryConsolidation:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0}),pa(n,t);else if(n.status==="queued"||n.status==="running"||n.status==="waiting_permission"){const i=typeof n.queued=="number"?Math.max(0,n.queued):0;e({isStreaming:!0,agentPhase:n.status==="waiting_permission"?"waiting_permission":"running",currentRunId:typeof n.runId=="string"?n.runId:t().currentRunId,pendingSteeringCount:i,pendingInputDelivery:i>0&&(n.pendingInputDelivery==="current_turn"||n.pendingInputDelivery==="next_turn")?n.pendingInputDelivery:null,recoveredSteeringCount:typeof n.recovered=="number"?Math.max(0,n.recovered):t().recoveredSteeringCount})}else n.status==="error"&&e({isStreaming:!1,isStopping:!1,agentPhase:"error",providerAdmission:null,providerCircuit:null,providerRetry:null,pendingResume:null,providerStall:null,providerRecovery:null,turnActivity:null,memoryConsolidation:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null});o&&gS(o,t,e)},sL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;const r=mS(n.queue);r&&gS(r,t,e)},uL=(n,t,e)=>{const{currentSessionId:r,endAgentResponse:o,messages:i,updateSubagent:s}=t();if(n.sessionId===r){e(c=>({isStreaming:!1,agentPhase:"idle",pendingResume:null,messages:c.messages.map(d=>{var m;const l=(m=d.agentContent)==null?void 0:m.elicitation;return(l==null?void 0:l.status)!=="pending"||!d.agentContent?d:{...d,agentContent:{...d.agentContent,elicitation:{...l,status:"cancelled"}}}})}));for(const c of i)for(const d of Yt(c.agentContent))d.status==="running"&&s(c.id,d.id,{status:"failed"});o()}},yS=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({pendingSteeringCount:typeof n.queued=="number"?Math.max(0,n.queued):1,pendingInputDelivery:"current_turn"})},OS=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({pendingSteeringCount:typeof n.queued=="number"?Math.max(0,n.queued):1,pendingInputDelivery:"next_turn"})},aL=(n,t,e)=>{if(typeof n.childSessionId=="string"){const r={...n,subagentSessionId:n.childSessionId,success:n.status==="completed"};In(t().messages,n.childSessionId,t().currentAssistantMessageId)?Sa(r,t):rx(n.childSessionId,r,e)}n.delivery==="current_turn"?yS(n,t,e):OS(n,t,e)},cL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;const r=typeof n.queued=="number"?Math.max(0,n.queued):0;e({pendingSteeringCount:r,pendingInputDelivery:r>0?t().pendingInputDelivery:null,recoveredSteeringCount:typeof n.recovered=="number"?Math.max(0,n.recovered):t().recoveredSteeringCount})},dL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;const r=typeof n.queued=="number"?Math.max(0,n.queued):0;e({agentPhase:"running",pendingSteeringCount:r,pendingInputDelivery:r>0?"current_turn":null,recoveredSteeringCount:typeof n.recovered=="number"?Math.max(0,n.recovered):t().recoveredSteeringCount})},lL=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({goal:n.goal??null})},fL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;const r=t().goal;!r||r.goalId!==n.goalId||e({goal:{...r,executionFrontier:n.frontier,frontierStall:n.stall}})},mL=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({goal:null})},gL=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({goal:n.goal??t().goal,isStreaming:!0,agentPhase:"running"})},IL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId||!Array.isArray(n.messages))return;const r=Date.now(),o=n.messages.flatMap((i,s)=>{if(typeof i!="object"||i===null)return[];const c=i;return!["user","assistant","system","tool"].includes(String(c.role))||!Array.isArray(c.content)&&typeof c.content!="string"?[]:[{id:`rewind-${s}-${r}`,role:c.role,content:c.content,timestamp:r+s,metadata:typeof c.metadata=="object"&&c.metadata!==null?c.metadata:void 0,thinkingContent:typeof c.thinkingContent=="string"?c.thinkingContent:typeof c.reasoningContent=="string"?c.reasoningContent:void 0,tool_call_id:typeof c.tool_call_id=="string"?c.tool_call_id:void 0,name:typeof c.name=="string"?c.name:void 0,tool_calls:c.tool_calls}]});e({messages:qF(o),isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,pendingResume:null,providerStall:null,providerRecovery:null,turnActivity:null,memoryConsolidation:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,currentAssistantMessageId:null,hasToolCalls:!1})},SL=(n,t,e)=>{const r=t().currentSessionRef;if(!r||n.sessionId!==r.sessionId||n.projectPath!==r.projectPath)return;const o=n.status,i=o==="completed"||o==="stale"?"completed":o==="aborted"?"cancelled":o==="interrupted"?"interrupted":"failed";e(s=>({sessions:s.sessions.map(c=>c.sessionId===r.sessionId&&c.projectPath===r.projectPath?{...c,taskStatus:i,taskStatusReason:void 0,taskFailure:void 0,taskCompletedAt:new Date().toISOString()}:c)})),!ho(t().historySurfaceSelection)&&t().selectSession(r)},pL=(n,t,e)=>{SS({...n,messageId:`review-${String(n.reviewId??"active")}`,arguments:"{}"},t,e)},hL=(n,t,e)=>{hS(n,t)},bL=(n,t,e)=>{bS(n,t,e)},yL=(n,t)=>{const e=t();if(ho(e.historySurfaceSelection))return;const r=e.currentSessionRef;r&&queueMicrotask(()=>void t().loadTeams(r))},Eo={"message.created":ox,"message.delta":ix,"message.complete":sx,"structured.output":ux,"thinking.delta":ax,"thinking.completed":cx,"tool.start":SS,"tool.progress":hS,"tool.result":bS,"mcp.catalog.changed":dx,"mcp.content.changed":lx,"mcp.resource.updated":fx,"mcp.connection.changed":mx,"mcp.log":gx,"mcp.instructions.changed":Ix,"mcp.task.changed":Sx,"project.rules.loaded":px,"user.shell.started":hx,"user.shell.output":bx,"user.shell.completed":yx,"token.usage":Ox,"task.updated":$x,"subagent.start":Cx,"subagent.update":Ax,"subagent.delta":Tx,"subagent.thinking.delta":Ex,"subagent.tool.start":_x,"subagent.tool.progress":Rx,"subagent.tool.result":Px,"subagent.mcp.catalog.changed":wx,"subagent.mcp.content.changed":Mx,"subagent.mcp.resource.updated":Fx,"subagent.mcp.connection.changed":xx,"subagent.mcp.log":Lx,"subagent.mcp.instructions.changed":Nx,"subagent.mcp.task.changed":kx,"subagent.project.rules.loaded":jx,"subagent.complete":Sa,"subagent.completion.queued":aL,"permission.asked":Dx,"permission.timeout":Ux,"turn.started":ec,"turn.recovery":Kx,"committed.turn_started":ec,"committed.turn_completed":rc,"committed.turn_aborted":rc,"provider.admission":zx,"provider.circuit":Hx,"provider.retry":Wx,"provider.recovery":vx,"turn.activity":Jx,"pending.resume":Xx,"provider.stall":Yx,"action.stationarity":Zx,"compaction.started":qx,"compaction.completed":Vx,"model.fallback":Gx,"question.required":nL,"elicitation.required":tL,"interaction.resolved":eL,"session.completed":rL,"session.error":oL,"session.status":iL,"run.cancelled":uL,"steering.queued":yS,"follow_up.queued":OS,"follow_up.started":dL,"follow_up.queue.changed":sL,"steering.applied":cL,"goal.updated":lL,"goal.frontier.updated":fL,"goal.cleared":mL,"goal.continuation.started":gL,"session.rewound":IL,"review.tool.started":pL,"review.tool.progress":hL,"review.tool.completed":bL,"review.completed":SL},OL=new Set(["message.complete","thinking.completed","session.completed","session.error","run.cancelled","committed.turn_completed","committed.turn_aborted"]);function $L(n,t){if(n.seq!==void 0||n.type!=="tool.start"&&n.type!=="tool.result")return;const e=t().currentSessionRef,r=n.properties.toolName,o=n.properties.toolCallId;if(!e||!YF(r)||typeof o!="string")return;const i=ZF.getState();n.type==="tool.start"?i.beginAgentActivity(e,{toolCallId:o,toolName:r,argumentsValue:n.properties.arguments}):i.completeAgentActivity(e,{toolCallId:o,toolName:r,success:n.properties.success===!0||n.properties.status==="completed",metadata:n.properties.metadata}),ho(t().historySurfaceSelection)||WF.getState().openFilePreview({tab:"browser"})}const tN=(n,t)=>e=>{const r=IS(n()),o=e.properties;if(!r||o.sessionId!==r.sessionId||o.projectPath!==r.projectPath)return;if($L(e,n),e.type.startsWith("team.")){yL(o,n);return}if(OL.has(e.type)){Jt.drainAll();const s=Eo[e.type];s&&s(e.properties,n,t);return}if(e.type==="tool.start"&&Jt.drainAll(),e.type==="message.delta"){const{currentSessionId:s,currentAssistantMessageId:c,hasToolCalls:d}=n();if(o.sessionId!==s)return;const l=o.messageId||c,m=o.delta;if(!c){const $=Eo["message.delta"];$&&$(o,n,t);return}const g=d?"after":"before",S=`content:${l}:${g}`;Jt.drainAllExcept(S),Jt.append(S,m,$=>{const{appendDelta:T}=n();l&&T(l,$,g)});return}if(e.type==="thinking.delta"){const{currentSessionId:s,currentAssistantMessageId:c}=n();if(o.sessionId!==s)return;if(!c){const g=Eo["thinking.delta"];g&&g(o,n,t);return}const d=o.delta,l=o.messageId||c,m=`thinking:${l}`;Jt.drainAllExcept(m),Jt.append(m,d,g=>{const{appendThinking:S}=n();l&&S(l,g)});return}if(e.type==="subagent.delta"){const{currentSessionId:s}=n();if(o.sessionId!==s)return;const c=o.delta;if(!c)return;const d=o.subagentSessionId||"",l=`subagent:${d}`,{currentAssistantMessageId:m,messages:g}=n(),S=In(g,d||void 0,m);Jt.append(l,c,$=>{const{currentAssistantMessageId:T,messages:L,updateSubagent:W}=n(),q=S||In(L,d||void 0,T);q&&W(q.messageId,q.subagent.id,R=>({sessionId:R.sessionId||d,output:(R.output||"")+$}))});return}if(e.type==="subagent.thinking.delta"){const{currentSessionId:s}=n();if(o.sessionId!==s)return;const c=o.delta;if(!c)return;const d=o.subagentSessionId||"",l=`subagent-thinking:${d}`,{currentAssistantMessageId:m,messages:g}=n(),S=In(g,d||void 0,m);Jt.append(l,c,$=>{const{currentAssistantMessageId:T,messages:L,updateSubagent:W}=n(),q=S||In(L,d||void 0,T);q&&W(q.messageId,q.subagent.id,R=>({sessionId:R.sessionId||d,thinking:(R.thinking||"")+$}))});return}const i=Eo[e.type];i&&i(e.properties,n,t)};export{YL as $,Yt as A,VL as B,HL as C,gs as D,iS as E,ia as F,LF as G,nc as H,xF as I,oS as J,LL as K,fa as L,yF as M,ho as N,kF as O,GL as P,xL as Q,KL as R,po as S,u as T,vL as U,qF as V,iF as W,tN as X,Jt as Y,ZL as Z,nN as _,nS as a,WF as a0,bF as a1,vI as a2,dM as a3,Pi as a4,Ri as a5,NF as a6,XL as a7,OF as a8,ZF as a9,h as aa,y as ab,pF as b,Xa as c,wL as d,vM as e,AF as f,WL as g,zL as h,UL as i,BL as j,JL as k,_L as l,EL as m,DL as n,jL as o,cM as p,NL as q,QL as r,FL as s,ML as t,RL as u,PL as v,kL as w,qL as x,WM as y,Ce as z};
31
+ `)}]}))},Dx=(n,t,e)=>{const{currentSessionId:r,setConfirmation:o}=t();if(n.sessionId!==r)return;const i=n.requestId||"",s=Vn(t,e,i?`assistant-permission-${i}`:void 0);if(!s)return;const c=n.details,d=n.toolName||(c==null?void 0:c.toolName)||"Tool";o(s,{toolCallId:i,toolName:d,description:n.description,diff:(c==null?void 0:c.details)||(c==null?void 0:c.diff)||"",allowRemember:(c==null?void 0:c.type)!=="mcpSampling",status:"pending"}),e(l=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:l.sessions.map(m=>m.sessionId===n.sessionId&&m.projectPath===n.projectPath?{...m,pendingInteraction:{type:"permission",requestId:i}}:m)}))},Ux=(n,t,e)=>{var $,T;const{currentSessionId:r,currentSessionRef:o,messages:i,setConfirmation:s,setElicitation:c}=t();if(n.sessionId!==r)return;const d=n.requestId,l=i.find(L=>{var W,q;return((q=(W=L.agentContent)==null?void 0:W.confirmation)==null?void 0:q.toolCallId)===d}),m=($=l==null?void 0:l.agentContent)==null?void 0:$.confirmation;l&&(m==null?void 0:m.status)==="pending"&&s(l.id,{...m,status:"denied"});const g=i.find(L=>{var W,q;return((q=(W=L.agentContent)==null?void 0:W.elicitation)==null?void 0:q.toolCallId)===d}),S=(T=g==null?void 0:g.agentContent)==null?void 0:T.elicitation;g&&(S==null?void 0:S.status)==="pending"&&c(g.id,{...S,status:"cancelled"}),e({agentPhase:"running",error:"Permission request timed out",errorContext:{kind:"interaction",...o?{sessionRef:o}:{}}})},ec=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",isStreaming:!0,turnRecovery:null})};function Bx(n){if(!n||typeof n!="object"||Array.isArray(n))return null;const t=n;if(typeof t.turnId!="string"||!t.turnId||!Number.isSafeInteger(t.inputMessageCount)||t.inputMessageCount<0)return null;const e={turnId:t.turnId,inputMessageCount:t.inputMessageCount};return t.state==="completed"||t.state==="resumable"?{state:t.state,...e}:t.state==="requires_attention"&&(t.reason==="successful_tool_result"||t.reason==="interrupted_tool_call")?{state:t.state,...e,reason:t.reason}:null}const Kx=(n,t,e)=>{const r=t(),o=r.currentSessionRef;if(n.sessionId!==r.currentSessionId||!o||n.projectPath!==o.projectPath)return;const i=Bx(n.assessment);i&&(e({turnRecovery:i}),ho(r.historySurfaceSelection)||r.resyncSessionMessages(o))},qx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:n.reason==="context_limit"?"recovering_context":"compacting",memoryConsolidation:null})},Vx=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;n.outcome!=="failed"&&t().resetContextUsage();const r=bM.safeParse(n.memory);if(n.memory!==void 0&&!r.success){e({agentPhase:"running"});return}e({agentPhase:"running",memoryConsolidation:r.success&&r.data.outcome==="written"?r.data:null})},Gx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"switching_model",providerAdmission:null,providerCircuit:null,providerRetry:null,pendingResume:null,providerStall:null,actionStationarity:null})},zx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",providerAdmission:n.phase==="queued"?n:null})},Hx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",providerCircuit:n.phase==="closed"?null:n})},Wx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",providerRetry:n.phase==="recovered"?null:n})},vx=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;if(n.recovery===null&&n.authoritative===!0){e({providerRecovery:null});return}const r=xM.safeParse(n.recovery);if(!r.success)return;const o=t().providerRecovery;n.authoritative!==!0&&!o&&r.data.revision!==0||n.authoritative!==!0&&o&&(o.generation===r.data.generation&&o.revision>=r.data.revision||o.generation!==r.data.generation&&r.data.revision!==0)||e({providerRecovery:r.data})},Jx=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;if(n.activity===null&&n.authoritative===!0){e({turnActivity:null});return}const r=oF.safeParse(n.activity);if(!r.success)return;const o=t().turnActivity;n.authoritative!==!0&&!o&&r.data.revision!==0||n.authoritative!==!0&&o&&(o.generation===r.data.generation&&o.revision>=r.data.revision||o.generation!==r.data.generation&&r.data.revision!==0)||e({turnActivity:r.data})},Go=n=>typeof n=="number"&&Number.isFinite(n)&&n>=0,zo=n=>typeof n=="number"&&Number.isInteger(n)&&n>0,Qx=n=>{if(n.phase!=="retry_scheduled"||n.kind!=="pending_input"||!zo(n.attempt)||!zo(n.maxAttempts)||n.attempt>n.maxAttempts||n.delayMs!==void 0&&!Go(n.delayMs)||n.nextRetryAt!==void 0&&!Go(n.nextRetryAt))return null;let t;if(n.failure!==void 0){if(!n.failure||typeof n.failure!="object"||Array.isArray(n.failure))return null;const e=n.failure,r=fa(e.code),o=e.resource;if(!r||typeof e.retryable!="boolean"||o!==void 0&&o!=="pending_count"&&o!=="pending_bytes"&&o!=="resident_runtimes")return null;t={code:r,retryable:e.retryable,...o===void 0?{}:{resource:o}}}return{phase:"retry_scheduled",kind:"pending_input",attempt:n.attempt,maxAttempts:n.maxAttempts,...n.delayMs===void 0?{}:{delayMs:n.delayMs},...n.nextRetryAt===void 0?{}:{nextRetryAt:n.nextRetryAt},...t?{failure:t}:{}}},Xx=(n,t,e)=>{if(!(n.kind!=="pending_input"||!zo(n.attempt)||!zo(n.maxAttempts)||n.attempt>n.maxAttempts)){if(n.phase==="retry_scheduled"){const r=Qx(n);r&&e({pendingResume:r,agentPhase:"running"});return}if(!(n.phase!=="recovered"&&n.phase!=="failed"&&n.phase!=="exhausted")&&!(n.delayMs!==void 0&&!Go(n.delayMs)||n.nextRetryAt!==void 0&&!Go(n.nextRetryAt))){if(n.failure!==void 0){if(!n.failure||typeof n.failure!="object"||Array.isArray(n.failure))return;const r=n.failure;if(!fa(r.code)||typeof r.retryable!="boolean"||r.resource!==void 0&&r.resource!=="pending_count"&&r.resource!=="pending_bytes"&&r.resource!=="resident_runtimes")return}e({pendingResume:null})}}},Yx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",providerStall:n.phase==="detected"?n:null})},Zx=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({agentPhase:"running",actionStationarity:n.phase==="recovered"?null:n})},nL=(n,t,e)=>{const{currentSessionId:r,setQuestion:o}=t();if(n.sessionId!==r)return;const i=n.requestId||n.toolCallId||"",s=Vn(t,e,i?`assistant-question-${i}`:void 0);s&&(o(s,{toolCallId:i,questions:n.questions,status:"pending"}),e(c=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:c.sessions.map(d=>d.sessionId===n.sessionId&&d.projectPath===n.projectPath?{...d,pendingInteraction:{type:"question",requestId:i}}:d)})))},tL=(n,t,e)=>{const{currentSessionId:r,setElicitation:o}=t();if(n.sessionId!==r)return;const i=n.requestId||n.toolCallId||"",s=Vn(t,e,i?`assistant-elicitation-${i}`:void 0),c=n.elicitation;!s||!c||(o(s,{toolCallId:i,details:c,status:"pending"}),e(d=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:d.sessions.map(l=>l.sessionId===n.sessionId&&l.projectPath===n.projectPath?{...l,pendingInteraction:{type:"elicitation",requestId:i}}:l)})))},eL=(n,t,e)=>{const{currentSessionId:r}=t();if(n.sessionId!==r)return;const o=n.requestId;e(i=>({agentPhase:"running",sessions:i.sessions.map(s=>{var c;return s.sessionId===n.sessionId&&s.projectPath===n.projectPath&&((c=s.pendingInteraction)==null?void 0:c.requestId)===o?{...s,pendingInteraction:void 0}:s})}))},pa=(n,t)=>{if(ho(t().historySurfaceSelection))return;const e=IS(t());e&&n.sessionId===e.sessionId&&n.projectPath===e.projectPath&&t().resyncSessionMessages(e)},rL=(n,t)=>{const{currentSessionId:e,currentSessionRef:r,endAgentResponse:o}=t();n.sessionId!==e||!r||n.projectPath!==r.projectPath||(o(),pa(n,t))},rc=(n,t)=>{const e=t().currentSessionRef;!e||n.sessionId!==e.sessionId||n.projectPath!==e.projectPath||t().endAgentResponse()},oL=(n,t,e)=>{const{currentSessionId:r,currentSessionRef:o,endAgentResponse:i}=t();if(n.sessionId!==r)return;const s=n.taskFailure&&typeof n.taskFailure=="object"&&!Array.isArray(n.taskFailure)?n.taskFailure:void 0,c=fa(s==null?void 0:s.code);e({agentPhase:"error",error:n.error||"An error occurred",errorContext:{kind:"execution",...o?{sessionRef:o}:{},...c?{failureCode:c}:{}}}),i(),pa(n,t)},iL=(n,t,e)=>{const{currentSessionId:r}=t();if(n.sessionId!==r)return;const o=mS(n.followUpQueue);if(n.status==="idle")e({isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,pendingResume:null,providerStall:null,providerRecovery:null,turnActivity:null,memoryConsolidation:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0}),pa(n,t);else if(n.status==="queued"||n.status==="running"||n.status==="waiting_permission"){const i=typeof n.queued=="number"?Math.max(0,n.queued):0;e({isStreaming:!0,agentPhase:n.status==="waiting_permission"?"waiting_permission":"running",currentRunId:typeof n.runId=="string"?n.runId:t().currentRunId,pendingSteeringCount:i,pendingInputDelivery:i>0&&(n.pendingInputDelivery==="current_turn"||n.pendingInputDelivery==="next_turn")?n.pendingInputDelivery:null,recoveredSteeringCount:typeof n.recovered=="number"?Math.max(0,n.recovered):t().recoveredSteeringCount})}else n.status==="error"&&e({isStreaming:!1,isStopping:!1,agentPhase:"error",providerAdmission:null,providerCircuit:null,providerRetry:null,pendingResume:null,providerStall:null,providerRecovery:null,turnActivity:null,memoryConsolidation:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null});o&&gS(o,t,e)},sL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;const r=mS(n.queue);r&&gS(r,t,e)},uL=(n,t,e)=>{const{currentSessionId:r,endAgentResponse:o,messages:i,updateSubagent:s}=t();if(n.sessionId===r){e(c=>({isStreaming:!1,agentPhase:"idle",pendingResume:null,messages:c.messages.map(d=>{var m;const l=(m=d.agentContent)==null?void 0:m.elicitation;return(l==null?void 0:l.status)!=="pending"||!d.agentContent?d:{...d,agentContent:{...d.agentContent,elicitation:{...l,status:"cancelled"}}}})}));for(const c of i)for(const d of Yt(c.agentContent))d.status==="running"&&s(c.id,d.id,{status:"failed"});o()}},yS=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({pendingSteeringCount:typeof n.queued=="number"?Math.max(0,n.queued):1,pendingInputDelivery:"current_turn"})},OS=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({pendingSteeringCount:typeof n.queued=="number"?Math.max(0,n.queued):1,pendingInputDelivery:"next_turn"})},aL=(n,t,e)=>{if(typeof n.childSessionId=="string"){const r={...n,subagentSessionId:n.childSessionId,success:n.status==="completed"};In(t().messages,n.childSessionId,t().currentAssistantMessageId)?Sa(r,t):rx(n.childSessionId,r,e)}n.delivery==="current_turn"?yS(n,t,e):OS(n,t,e)},cL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;const r=typeof n.queued=="number"?Math.max(0,n.queued):0;e({pendingSteeringCount:r,pendingInputDelivery:r>0?t().pendingInputDelivery:null,recoveredSteeringCount:typeof n.recovered=="number"?Math.max(0,n.recovered):t().recoveredSteeringCount})},dL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;const r=typeof n.queued=="number"?Math.max(0,n.queued):0;e({agentPhase:"running",pendingSteeringCount:r,pendingInputDelivery:r>0?"current_turn":null,recoveredSteeringCount:typeof n.recovered=="number"?Math.max(0,n.recovered):t().recoveredSteeringCount})},lL=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({goal:n.goal??null})},fL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId)return;const r=t().goal;!r||r.goalId!==n.goalId||e({goal:{...r,executionFrontier:n.frontier,frontierStall:n.stall}})},mL=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({goal:null})},gL=(n,t,e)=>{n.sessionId===t().currentSessionId&&e({goal:n.goal??t().goal,isStreaming:!0,agentPhase:"running"})},IL=(n,t,e)=>{if(n.sessionId!==t().currentSessionId||!Array.isArray(n.messages))return;const r=Date.now(),o=n.messages.flatMap((i,s)=>{if(typeof i!="object"||i===null)return[];const c=i;return!["user","assistant","system","tool"].includes(String(c.role))||!Array.isArray(c.content)&&typeof c.content!="string"?[]:[{id:`rewind-${s}-${r}`,role:c.role,content:c.content,timestamp:r+s,metadata:typeof c.metadata=="object"&&c.metadata!==null?c.metadata:void 0,thinkingContent:typeof c.thinkingContent=="string"?c.thinkingContent:typeof c.reasoningContent=="string"?c.reasoningContent:void 0,tool_call_id:typeof c.tool_call_id=="string"?c.tool_call_id:void 0,name:typeof c.name=="string"?c.name:void 0,tool_calls:c.tool_calls}]});e({messages:qF(o),isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,pendingResume:null,providerStall:null,providerRecovery:null,turnActivity:null,memoryConsolidation:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,currentAssistantMessageId:null,hasToolCalls:!1})},SL=(n,t,e)=>{const r=t().currentSessionRef;if(!r||n.sessionId!==r.sessionId||n.projectPath!==r.projectPath)return;const o=n.status,i=o==="completed"||o==="stale"?"completed":o==="aborted"?"cancelled":o==="interrupted"?"interrupted":"failed";e(s=>({sessions:s.sessions.map(c=>c.sessionId===r.sessionId&&c.projectPath===r.projectPath?{...c,taskStatus:i,taskStatusReason:void 0,taskFailure:void 0,taskCompletedAt:new Date().toISOString()}:c)})),!ho(t().historySurfaceSelection)&&t().selectSession(r)},pL=(n,t,e)=>{SS({...n,messageId:`review-${String(n.reviewId??"active")}`,arguments:"{}"},t,e)},hL=(n,t,e)=>{hS(n,t)},bL=(n,t,e)=>{bS(n,t,e)},yL=(n,t)=>{const e=t();if(ho(e.historySurfaceSelection))return;const r=e.currentSessionRef;r&&queueMicrotask(()=>void t().loadTeams(r))},Eo={"message.created":ox,"message.delta":ix,"message.complete":sx,"structured.output":ux,"thinking.delta":ax,"thinking.completed":cx,"tool.start":SS,"tool.progress":hS,"tool.result":bS,"mcp.catalog.changed":dx,"mcp.content.changed":lx,"mcp.resource.updated":fx,"mcp.connection.changed":mx,"mcp.log":gx,"mcp.instructions.changed":Ix,"mcp.task.changed":Sx,"project.rules.loaded":px,"user.shell.started":hx,"user.shell.output":bx,"user.shell.completed":yx,"token.usage":Ox,"task.updated":$x,"subagent.start":Cx,"subagent.update":Ax,"subagent.delta":Tx,"subagent.thinking.delta":Ex,"subagent.tool.start":_x,"subagent.tool.progress":Rx,"subagent.tool.result":Px,"subagent.mcp.catalog.changed":wx,"subagent.mcp.content.changed":Mx,"subagent.mcp.resource.updated":Fx,"subagent.mcp.connection.changed":xx,"subagent.mcp.log":Lx,"subagent.mcp.instructions.changed":Nx,"subagent.mcp.task.changed":kx,"subagent.project.rules.loaded":jx,"subagent.complete":Sa,"subagent.completion.queued":aL,"permission.asked":Dx,"permission.timeout":Ux,"turn.started":ec,"turn.recovery":Kx,"committed.turn_started":ec,"committed.turn_completed":rc,"committed.turn_aborted":rc,"provider.admission":zx,"provider.circuit":Hx,"provider.retry":Wx,"provider.recovery":vx,"turn.activity":Jx,"pending.resume":Xx,"provider.stall":Yx,"action.stationarity":Zx,"compaction.started":qx,"compaction.completed":Vx,"model.fallback":Gx,"question.required":nL,"elicitation.required":tL,"interaction.resolved":eL,"session.completed":rL,"session.error":oL,"session.status":iL,"run.cancelled":uL,"steering.queued":yS,"follow_up.queued":OS,"follow_up.started":dL,"follow_up.queue.changed":sL,"steering.applied":cL,"goal.updated":lL,"goal.frontier.updated":fL,"goal.cleared":mL,"goal.continuation.started":gL,"session.rewound":IL,"review.tool.started":pL,"review.tool.progress":hL,"review.tool.completed":bL,"review.completed":SL},OL=new Set(["message.complete","thinking.completed","session.completed","session.error","run.cancelled","committed.turn_completed","committed.turn_aborted"]);function $L(n,t){if(n.seq!==void 0||n.type!=="tool.start"&&n.type!=="tool.result")return;const e=t().currentSessionRef,r=n.properties.toolName,o=n.properties.toolCallId;if(!e||!YF(r)||typeof o!="string")return;const i=ZF.getState();n.type==="tool.start"?i.beginAgentActivity(e,{toolCallId:o,toolName:r,argumentsValue:n.properties.arguments}):i.completeAgentActivity(e,{toolCallId:o,toolName:r,success:n.properties.success===!0||n.properties.status==="completed",metadata:n.properties.metadata}),ho(t().historySurfaceSelection)||WF.getState().openFilePreview({tab:"browser"})}const tN=(n,t)=>e=>{const r=IS(n()),o=e.properties;if(!r||o.sessionId!==r.sessionId||o.projectPath!==r.projectPath)return;if($L(e,n),e.type.startsWith("team.")){yL(o,n);return}if(OL.has(e.type)){Jt.drainAll();const s=Eo[e.type];s&&s(e.properties,n,t);return}if(e.type==="tool.start"&&Jt.drainAll(),e.type==="message.delta"){const{currentSessionId:s,currentAssistantMessageId:c,hasToolCalls:d}=n();if(o.sessionId!==s)return;const l=o.messageId||c,m=o.delta;if(!c){const $=Eo["message.delta"];$&&$(o,n,t);return}const g=d?"after":"before",S=`content:${l}:${g}`;Jt.drainAllExcept(S),Jt.append(S,m,$=>{const{appendDelta:T}=n();l&&T(l,$,g)});return}if(e.type==="thinking.delta"){const{currentSessionId:s,currentAssistantMessageId:c}=n();if(o.sessionId!==s)return;if(!c){const g=Eo["thinking.delta"];g&&g(o,n,t);return}const d=o.delta,l=o.messageId||c,m=`thinking:${l}`;Jt.drainAllExcept(m),Jt.append(m,d,g=>{const{appendThinking:S}=n();l&&S(l,g)});return}if(e.type==="subagent.delta"){const{currentSessionId:s}=n();if(o.sessionId!==s)return;const c=o.delta;if(!c)return;const d=o.subagentSessionId||"",l=`subagent:${d}`,{currentAssistantMessageId:m,messages:g}=n(),S=In(g,d||void 0,m);Jt.append(l,c,$=>{const{currentAssistantMessageId:T,messages:L,updateSubagent:W}=n(),q=S||In(L,d||void 0,T);q&&W(q.messageId,q.subagent.id,R=>({sessionId:R.sessionId||d,output:(R.output||"")+$}))});return}if(e.type==="subagent.thinking.delta"){const{currentSessionId:s}=n();if(o.sessionId!==s)return;const c=o.delta;if(!c)return;const d=o.subagentSessionId||"",l=`subagent-thinking:${d}`,{currentAssistantMessageId:m,messages:g}=n(),S=In(g,d||void 0,m);Jt.append(l,c,$=>{const{currentAssistantMessageId:T,messages:L,updateSubagent:W}=n(),q=S||In(L,d||void 0,T);q&&W(q.messageId,q.subagent.id,R=>({sessionId:R.sessionId||d,thinking:(R.thinking||"")+$}))});return}const i=Eo[e.type];i&&i(e.properties,n,t)};export{YL as $,Yt as A,VL as B,HL as C,gs as D,iS as E,ia as F,LF as G,nc as H,xF as I,oS as J,LL as K,fa as L,yF as M,ho as N,kF as O,GL as P,xL as Q,KL as R,po as S,u as T,vL as U,qF as V,iF as W,tN as X,Jt as Y,ZL as Z,nN as _,nS as a,WF as a0,bF as a1,vI as a2,dM as a3,Pi as a4,Ri as a5,NF as a6,XL as a7,OF as a8,ZF as a9,h as aa,y as ab,pF as b,Xa as c,wL as d,vM as e,AF as f,WL as g,zL as h,UL as i,BL as j,JL as k,_L as l,EL as m,DL as n,jL as o,cM as p,NL as q,QL as r,FL as s,ML as t,RL as u,PL as v,kL as w,qL as x,WM as y,Ce as z};
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-E1WG_htm.js";/**
1
+ import{c as a}from"./index-BVDkKudh.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as s}from"./index-E1WG_htm.js";/**
1
+ import{c as s}from"./index-BVDkKudh.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{aa as e,T as t,ab as a,p as m}from"./session-events-aq2qdB3u.js";import{a2 as s}from"./index-E1WG_htm.js";import"./vendor-react-DofNRwfy.js";import"./vendor-radix-D6QrtXqd.js";const p=e(t.Object({id:t.String(),name:t.String(),subagentType:t.String(),description:t.String(),agentId:t.Optional(t.String()),status:a(["leader","running","completed","failed","cancelled","unknown"]),result:t.Optional(t.Unknown()),stats:t.Optional(t.Unknown()),worktreePath:t.Optional(t.String())})),d=e(t.Object({id:t.String(),subject:t.String(),description:t.String(),status:a(["pending","blocked","running","completed"]),owner:t.Optional(t.String()),priority:a(["high","medium","low"]),dependsOn:t.Array(t.String()),blocks:t.Array(t.String()),result:t.Optional(t.String()),createdAt:t.String(),startedAt:t.Optional(t.String()),completedAt:t.Optional(t.String())})),o=e(t.Object({name:t.String(),description:t.Optional(t.String()),status:a(["idle","running","completed","failed","deleted"]),leadAgentId:t.String(),leadSessionId:t.Optional(t.String()),workspaceRoot:t.Optional(t.String()),peerMessagingEnabled:t.Boolean(),createdAt:t.Number(),updatedAt:t.Number(),deletedAt:t.Optional(t.Number()),members:t.Array(p),tasks:t.Array(d)}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),name:t.String({minLength:1}),description:t.Optional(t.String()),leadAgentType:t.Optional(t.String()),peerMessagingEnabled:t.Optional(t.Boolean()),members:t.Array(t.Object({name:t.String({minLength:1}),subagentType:t.String({minLength:1}),description:t.Optional(t.String()),prompt:t.String({minLength:10,maxLength:32*1024})}),{maxItems:32}),tasks:t.Optional(t.Array(t.Object({subject:t.String({minLength:1}),description:t.String({minLength:1}),dependsOn:t.Optional(t.Array(t.String())),assignedTo:t.Optional(t.String()),priority:t.Optional(a(["high","medium","low"]))}),{maxItems:256}))}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),to:t.String({minLength:1}),message:t.String({minLength:1,maxLength:32*1024})}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),memberId:t.String({minLength:1})}));const S=t.Array(o),u={list:async n=>{const i=new URLSearchParams({sessionId:n.sessionId,projectPath:n.projectPath});return m(S,await s(`/teams?${i.toString()}`))},sendMessage:async(n,i,r,g)=>{await s(`/teams/${encodeURIComponent(i)}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:n.sessionId,projectPath:n.projectPath,to:r,message:g})})},delete:async(n,i)=>{const r=new URLSearchParams({sessionId:n.sessionId,projectPath:n.projectPath});return o.parse(await s(`/teams/${encodeURIComponent(i)}?${r.toString()}`,{method:"DELETE"}))}};export{u as teamService};
1
+ import{aa as e,T as t,ab as a,p as m}from"./session-events-NEjosinC.js";import{a2 as s}from"./index-BVDkKudh.js";import"./vendor-react-DofNRwfy.js";import"./vendor-radix-D6QrtXqd.js";const p=e(t.Object({id:t.String(),name:t.String(),subagentType:t.String(),description:t.String(),agentId:t.Optional(t.String()),status:a(["leader","running","completed","failed","cancelled","unknown"]),result:t.Optional(t.Unknown()),stats:t.Optional(t.Unknown()),worktreePath:t.Optional(t.String())})),d=e(t.Object({id:t.String(),subject:t.String(),description:t.String(),status:a(["pending","blocked","running","completed"]),owner:t.Optional(t.String()),priority:a(["high","medium","low"]),dependsOn:t.Array(t.String()),blocks:t.Array(t.String()),result:t.Optional(t.String()),createdAt:t.String(),startedAt:t.Optional(t.String()),completedAt:t.Optional(t.String())})),o=e(t.Object({name:t.String(),description:t.Optional(t.String()),status:a(["idle","running","completed","failed","deleted"]),leadAgentId:t.String(),leadSessionId:t.Optional(t.String()),workspaceRoot:t.Optional(t.String()),peerMessagingEnabled:t.Boolean(),createdAt:t.Number(),updatedAt:t.Number(),deletedAt:t.Optional(t.Number()),members:t.Array(p),tasks:t.Array(d)}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),name:t.String({minLength:1}),description:t.Optional(t.String()),leadAgentType:t.Optional(t.String()),peerMessagingEnabled:t.Optional(t.Boolean()),members:t.Array(t.Object({name:t.String({minLength:1}),subagentType:t.String({minLength:1}),description:t.Optional(t.String()),prompt:t.String({minLength:10,maxLength:32*1024})}),{maxItems:32}),tasks:t.Optional(t.Array(t.Object({subject:t.String({minLength:1}),description:t.String({minLength:1}),dependsOn:t.Optional(t.Array(t.String())),assignedTo:t.Optional(t.String()),priority:t.Optional(a(["high","medium","low"]))}),{maxItems:256}))}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),to:t.String({minLength:1}),message:t.String({minLength:1,maxLength:32*1024})}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),memberId:t.String({minLength:1})}));const S=t.Array(o),u={list:async n=>{const i=new URLSearchParams({sessionId:n.sessionId,projectPath:n.projectPath});return m(S,await s(`/teams?${i.toString()}`))},sendMessage:async(n,i,r,g)=>{await s(`/teams/${encodeURIComponent(i)}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:n.sessionId,projectPath:n.projectPath,to:r,message:g})})},delete:async(n,i)=>{const r=new URLSearchParams({sessionId:n.sessionId,projectPath:n.projectPath});return o.parse(await s(`/teams/${encodeURIComponent(i)}?${r.toString()}`,{method:"DELETE"}))}};export{u as teamService};
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-E1WG_htm.js";/**
1
+ import{c as e}from"./index-BVDkKudh.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>BladeCode</title>
8
- <script type="module" crossorigin src="/assets/index-E1WG_htm.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-BVDkKudh.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DofNRwfy.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/vendor-radix-D6QrtXqd.js">
11
11
  <link rel="stylesheet" crossorigin href="/assets/index-CaCifsSK.css">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blade-code",
3
- "version": "0.10.194",
3
+ "version": "0.10.197",
4
4
  "private": false,
5
5
  "description": "🗡️ Blade Code - 智能代码助手命令行工具",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- import{k as a,l as b,m as c,n as d,o as e}from"./chunk-p56nydx5.js";import"./chunk-42ke6bvp.js";import"./chunk-cjfb4kjp.js";export{b as setSkipUntilVersion,d as performUpgrade,c as getUpgradeCommand,e as checkVersionOnStartup,a as checkVersion};
@@ -1 +0,0 @@
1
- import{sf as a,tf as b}from"./chunk-9nbms0xv.js";import"./chunk-42ke6bvp.js";import"./chunk-cjfb4kjp.js";export{a as globalOptions,b as cliConfig};
@@ -1,6 +0,0 @@
1
- import{p as gH,q as kH,r as CH,s as hH,t as OH,u as wH}from"./chunk-qnkk5915.js";import{B as RH,C as ZH,D as $H,E as qH,F as a,G as XH}from"./chunk-6g1jrjct.js";import{H as NH,da as MH,fa as zH,ga as fH,ka as AH}from"./chunk-b9wdh2gp.js";import"./chunk-vzdsext4.js";import"./chunk-cb3mrwg9.js";import{ab as QH}from"./chunk-9fyjyk2f.js";import{Nb as e,Zb as FH,ic as EH}from"./chunk-5y9rzr1a.js";import"./chunk-fdr4fcrf.js";import{Td as GH,Xd as PH,Zd as d,ie as t}from"./chunk-bhqabrg2.js";import"./chunk-egss0m1x.js";import"./chunk-ztreczac.js";import"./chunk-p6586ftx.js";import{sf as TH}from"./chunk-9nbms0xv.js";import{uf as yH,vf as bH,wf as IH}from"./chunk-3z095j6d.js";import{xf as SH}from"./chunk-je908ygr.js";import"./chunk-p0wyhp5a.js";import{Xf as _H}from"./chunk-p06g1a5b.js";import"./chunk-v508x7cg.js";import"./chunk-5yyp6njq.js";import"./chunk-myvt7yjm.js";import"./chunk-4fbpydtn.js";import"./chunk-3cas6rv5.js";import"./chunk-zfxcef0z.js";import"./chunk-g7x7ffy2.js";import"./chunk-s7jvyh97.js";import"./chunk-kehgewqh.js";import{ih as c,mh as BH}from"./chunk-kkzznz4w.js";import"./chunk-1cy4ab77.js";import"./chunk-7ajvrtb3.js";import"./chunk-rkk85vt6.js";import"./chunk-ys8gysg8.js";import"./chunk-tm78ettf.js";import{Ui as xH}from"./chunk-qpmvp4q2.js";import{Zi as r,_i as n}from"./chunk-tm3789m3.js";import{cj as C}from"./chunk-qdbbke8f.js";import"./chunk-wezr6wfq.js";import{Gj as UH,Ij as H,Jj as YH,Lj as Y}from"./chunk-rmfzym94.js";import"./chunk-j89qk7bp.js";import"./chunk-0eajnhrj.js";import"./chunk-42ke6bvp.js";import"./chunk-ggdgk3gy.js";import"./chunk-ky592ay9.js";import"./chunk-n52n2w5v.js";import"./chunk-cjfb4kjp.js";import uJ from"yargs";import{hideBin as dJ}from"yargs/helpers";function i(V,Z,Q){if(V.off){V.off(Z,Q);return}V.removeListener?.(Z,Q)}function aH(V,Z){if(!V.once&&!V.on||!V.off&&!V.removeListener)throw Error("Writable returned false without an observable drain contract");return new Promise((Q,q)=>{let J=!1,K=()=>{i(V,"drain",x),i(V,"error",j),Z.removeEventListener("abort",P)},D=(F)=>{if(J)return;J=!0,K(),F()},x=()=>D(Q),j=(F)=>D(()=>q(F??Error("Writable emitted an error"))),P=()=>D(()=>q(Z.reason??Error("Writable drain aborted")));if(Z.aborted){P();return}let T=V.once?.bind(V)??V.on?.bind(V);T?.("drain",x),T?.("error",j),Z.addEventListener("abort",P,{once:!0})})}async function iH(V,Z,Q){if(V.destroyed||V.writableEnded)throw Error("Writable is already closed");if(V.write(Z)===!1)await aH(V,Q)}class o{options;queues;sinkErrorListeners=[];failed=!1;closing=!1;handleAbort=()=>{this.fail(new a("aborted","Headless output was aborted",{cause:this.options.signal?.reason}))};constructor(V,Z={}){this.options=Z;let Q=(q)=>new XH({maxPendingItems:Z.maxPendingItems??ZH,maxPendingBytes:Z.maxPendingBytes??$H,writeTimeoutMs:Z.writeTimeoutMs??qH,sizeOf:(J)=>Buffer.byteLength(J),write:(J,K)=>iH(V[q],J,K),onFailure:(J)=>this.fail(J)});if(this.queues={stdout:Q("stdout"),stderr:Q("stderr")},this.observeSinkErrors(V.stdout),V.stderr!==V.stdout)this.observeSinkErrors(V.stderr);if(Z.signal?.addEventListener("abort",this.handleAbort,{once:!0}),Z.signal?.aborted)this.handleAbort()}write(V,Z){return this.queues[V].offer(Z).accepted}async flush(){await Promise.all([this.queues.stdout.flush(),this.queues.stderr.flush()])}close(V){if(this.closing||this.failed)return;this.closing=!0,this.options.signal?.removeEventListener("abort",this.handleAbort),this.removeSinkErrorListeners(),this.queues.stdout.close(V),this.queues.stderr.close(V)}stats(){return{stdout:this.queues.stdout.stats(),stderr:this.queues.stderr.stats()}}observeSinkErrors(V){if(!V.on||!V.off&&!V.removeListener)return;let Z=(Q)=>{this.fail(new a("write_failed","Headless writable failed",{cause:Q??Error("Writable emitted an error")}))};V.on("error",Z),this.sinkErrorListeners.push({writer:V,listener:Z})}fail(V){if(this.closing||this.failed)return;this.failed=!0,this.options.signal?.removeEventListener("abort",this.handleAbort),this.removeSinkErrorListeners(),this.queues.stdout.close(V),this.queues.stderr.close(V),this.options.onFailure?.(V)}removeSinkErrorListeners(){for(let{writer:V,listener:Z}of this.sinkErrorListeners.splice(0))i(V,"error",Z)}}var k=1;function L(V){return H.Object({event_version:H.Literal(k),...V})}var oH=L({type:H.Literal("content_delta"),delta:H.String()}),sH=L({type:H.Literal("thinking_delta"),delta:H.String()}),rH=L({type:H.Literal("thinking"),content:H.String()}),nH=L({type:H.Literal("stream_end")}),tH=L({type:H.Literal("content"),content:H.String()}),eH=L({type:H.Literal("structured_output"),output:H.Record(H.String(),H.Unknown()),schema_digest:H.String({pattern:"^[a-f0-9]{64}$"})}),s=Y(["readonly","write","execute"]),HJ=H.Object({kind:s,scope:Y(["global","session"]),queue_position:H.Integer({minimum:1}),in_flight:H.Integer({minimum:0}),limit:H.Integer({minimum:1})}),JJ=L({type:H.Literal("tool_start"),tool_name:H.String(),summary:H.String(),target:H.Optional(H.String()),tool_kind:H.Optional(s)}),KJ=L({type:H.Literal("tool_progress"),tool_name:H.String(),message:H.String(),progress:H.Optional(H.Number()),total:H.Optional(H.Number()),admission:H.Optional(HJ)}),VJ=H.Object({auto_backgrounded:H.Literal(!0),background_reason:H.Literal("foreground_budget"),foreground_budget_ms:H.Integer({minimum:1}),shell_id:H.String({minLength:1,maxLength:128,pattern:"^bash_[A-Za-z0-9-]+$"}),pid:H.Optional(H.Integer({minimum:1})),terminal_transport:Y(["local","acp"])}),ZJ=L({type:H.Literal("tool_result"),tool_name:H.String(),summary:H.String(),target:H.Optional(H.String()),tool_kind:H.Optional(s),success:H.Optional(H.Boolean()),error_type:H.Optional(H.String()),error_message:H.Optional(H.String()),background:H.Optional(VJ)}),$J=L({type:H.Literal("mcp_catalog_changed"),revision:H.Integer({minimum:1}),server_name:H.String(),added:H.Array(H.String()),removed:H.Array(H.String()),updated:H.Array(H.String())}),qJ=L({type:H.Literal("mcp_content_changed"),revision:H.Integer({minimum:1}),server_name:H.String(),content_kind:Y(["resources","resource_templates","prompts"]),added:H.Array(H.String()),removed:H.Array(H.String()),updated:H.Array(H.String())}),XJ=L({type:H.Literal("mcp_resource_updated"),revision:H.Integer({minimum:1}),server_name:H.String(),uri:H.String()}),YJ=L({type:H.Literal("mcp_connection_changed"),revision:H.Integer({minimum:1}),server_name:H.String(),phase:Y(["reconnecting","recovered","failed"]),reason:H.String(),attempt:H.Integer({minimum:0}),max_attempts:H.Integer({minimum:0}),next_retry_at:H.Optional(H.Integer({minimum:0})),error:H.Optional(H.String())}),BJ=L({type:H.Literal("mcp_log"),revision:H.Integer({minimum:1}),server_name:H.String(),level:Y(["debug","info","notice","warning","error","critical","alert","emergency"]),logger:H.Optional(H.String()),message:H.String(),projected_bytes:H.Integer({minimum:0}),data_sha256:H.String(),truncated:H.Boolean(),details_omitted:H.Boolean(),timestamp:H.Integer({minimum:0}),synthetic:H.Optional(H.Boolean())}),NJ=L({type:H.Literal("mcp_instructions_changed"),revision:H.Integer({minimum:0}),server_name:H.String(),action:Y(["added","removed"]),reason:Y(["snapshot","connection","disconnection"]),text:H.Optional(H.String()),source_bytes:H.Optional(H.Integer({minimum:0})),projected_bytes:H.Optional(H.Integer({minimum:0})),sha256:H.Optional(H.String()),truncated:H.Optional(H.Boolean()),details_omitted:H.Optional(H.Boolean())}),QJ=L({type:H.Literal("mcp_task_changed"),revision:H.Integer({minimum:0}),task_id:H.String(),server_name:H.String(),tool_name:H.String(),status:Y(["working","input_required","interrupted","completed","failed","cancelled"]),status_message:H.Optional(H.String()),created_at:H.Integer({minimum:0}),updated_at:H.Integer({minimum:0}),completed_at:H.Optional(H.Integer({minimum:0})),has_result:H.Boolean(),error:H.Optional(H.String())}),DJ=L({type:H.Literal("project_rules_loaded"),files:H.Array(H.Object({id:H.String(),relative_path:H.String(),source:Y(["project","local"]),conditional:H.Boolean(),content_sha256:H.String({pattern:"^[a-f0-9]{64}$"})})),trigger_paths:H.Array(H.String()),blocked_write:H.Boolean()}),LJ=L({type:H.Literal("user_shell_started"),execution_id:H.String(),command:H.String(),auxiliary:H.Boolean()}),WJ=L({type:H.Literal("user_shell_output"),execution_id:H.String(),stream:Y(["stdout","stderr"]),chunk:H.String(),stream_truncated:H.Boolean()}),jJ=L({type:H.Literal("user_shell_completed"),execution_id:H.String(),message_id:H.String(),status:Y(["completed","failed","aborted","timed_out","spawn_error"]),exit_code:H.Union([H.Integer(),H.Null()]),duration_ms:H.Number({minimum:0}),stdout:H.String(),stderr:H.String(),truncated:H.Boolean(),auxiliary:H.Boolean()}),xJ=L({type:H.Literal("phase"),phase:Y(["turn","searching","inspecting","target_hit","executing","completed"]),status:Y(["ongoing","hit","done"]),message:H.String(),turn:H.Optional(H.Number()),tool_name:H.Optional(H.String()),target:H.Optional(H.String())}),UJ=L({type:H.Literal("tool_detail"),tool_name:H.String(),detail:H.String()}),_J=L({type:H.Literal("task_update"),tasks:H.Array(NH)}),GJ=L({type:H.Literal("goal_frontier"),goal_id:H.String({minLength:1}),status:Y(["active","verifying","paused","blocked","usage_limited","budget_limited","complete"]),task_list_id:H.String({minLength:1,maxLength:256}),total:H.Integer({minimum:0}),completed:H.Integer({minimum:0}),in_progress:H.Integer({minimum:0}),pending:H.Integer({minimum:0}),blocked:H.Integer({minimum:0}),next_task:H.Optional(H.Object({id:H.String({minLength:1}),subject:H.String({minLength:1,maxLength:512}),priority:Y(["high","medium","low"])})),digest_sha256:H.String({pattern:"^[a-f0-9]{64}$"}),observed_at:H.String(),stall_category:H.Optional(Y(["waiting_dependency","same_task_no_effect","repeated_deferral"])),stall_count:H.Optional(H.Integer({minimum:1,maximum:3}))}),PJ=L({type:H.Literal("goal"),state:Y(["updated","cleared"]),goal_id:H.Optional(H.String()),status:H.Optional(Y(["active","verifying","paused","blocked","usage_limited","budget_limited","complete"])),verification_attempt:H.Optional(H.Integer({minimum:1})),verification_status:H.Optional(Y(["pending","pass","fail","partial"])),verifier_session_id:H.Optional(H.String()),verification_evidence_sha256:H.Optional(H.String({pattern:"^[a-f0-9]{64}$"})),verification_summary:H.Optional(H.String()),verification_stall_count:H.Optional(H.Integer({minimum:1})),premature_stop_pattern:H.Optional(Y(BH)),premature_stop_count:H.Optional(H.Integer({minimum:1})),execution_host_failure_category:H.Optional(Y(["timeout","admission","spawn","finalization","sandbox_start","terminal"])),execution_host_failure_count:H.Optional(H.Integer({minimum:1,maximum:3})),frontier_stall_category:H.Optional(Y(["waiting_dependency","same_task_no_effect","repeated_deferral"])),frontier_stall_count:H.Optional(H.Integer({minimum:1,maximum:3})),root_turn_id:H.Optional(H.String({minLength:1,maxLength:c})),current_turn_id:H.Optional(H.String({minLength:1,maxLength:c})),parent_turn_id:H.Optional(H.String({minLength:1,maxLength:c}))}),FJ=L({type:H.Literal("subagent"),state:Y(["spawned","completed"]),session_id:H.String(),subagent_type:H.Optional(H.String()),success:H.Optional(H.Boolean()),summary:H.Optional(H.String()),verification_verdict:H.Optional(Y(["pass","fail","partial"])),resumed_from:H.Optional(H.String()),root_agent_id:H.Optional(H.String()),resume_depth:H.Optional(H.Integer({minimum:0}))}),EJ=L({type:H.Literal("token_usage"),input_tokens:H.Number(),output_tokens:H.Number(),total_tokens:H.Number(),max_context_tokens:H.Number(),cache_read_tokens:H.Optional(H.Number()),cache_write_tokens:H.Optional(H.Number()),prompt_cache_break:H.Optional(H.Object({reason:Y(["model_changed","system_prompt_changed","tools_changed","request_policy_changed","ttl_expired","server_side"]),previous_cache_read_tokens:H.Number(),cache_read_tokens:H.Number(),cache_write_tokens:H.Number(),token_drop:H.Number(),elapsed_ms:H.Number(),call_number:H.Number(),system_prompt_changed:H.Boolean(),system_char_delta:H.Number(),tools_changed:H.Boolean(),added_tool_count:H.Number(),removed_tool_count:H.Number(),changed_tool_count:H.Number(),model_changed:H.Boolean(),request_policy_changed:H.Boolean()})),cost_usd:H.Optional(H.Number())}),MJ=L({type:H.Literal("compacting"),state:Y(["started","completed"]),reason:H.Optional(Y(["threshold","context_limit","turn_limit","manual"])),strategy:H.Optional(Y(["llm","fallback","snip"])),outcome:H.Optional(Y(["completed","fallback","failed"])),pre_tokens:H.Optional(H.Number({minimum:0})),pre_token_source:H.Optional(Y(["provider","provider_plus_estimate","local_estimate"])),estimated_pending_tokens:H.Optional(H.Number({minimum:0})),post_tokens:H.Optional(H.Number({minimum:0})),sample_attempts:H.Optional(H.Integer({minimum:0})),input_reductions:H.Optional(H.Integer({minimum:0})),messages_omitted:H.Optional(H.Integer({minimum:0})),files_omitted:H.Optional(H.Integer({minimum:0})),images_omitted:H.Optional(H.Integer({minimum:0})),fallback_target_tokens:H.Optional(H.Integer({minimum:0})),fallback_messages_omitted:H.Optional(H.Integer({minimum:0})),fallback_messages_truncated:H.Optional(H.Integer({minimum:0})),failure_reason:H.Optional(Y(["circuit_open","context_exhausted","deterministic","empty_exhausted","insufficient_reduction","transient_exhausted"])),memory:H.Optional(QH)}),zJ=L({type:H.Literal("provider_retry"),phase:Y(["scheduled","waiting","attempt","recovered","exhausted"]),attempt:H.Integer({minimum:0}),max_retries:H.Integer({minimum:0}),reason:Y(["rate_limit","server_error","timeout","transport","stream_closed"]),status_code:H.Optional(H.Integer({minimum:100,maximum:599})),delay_ms:H.Optional(H.Integer({minimum:0})),next_retry_at:H.Optional(H.Integer({minimum:0})),mode:H.Optional(Y(["standard","bounded_foreground"])),recovery_budget_ms:H.Optional(H.Integer({minimum:0})),recovery_elapsed_ms:H.Optional(H.Integer({minimum:0})),recovery_remaining_ms:H.Optional(H.Integer({minimum:0})),exhausted_by:H.Optional(Y(["attempt_limit","recovery_budget"]))}),fJ=L({type:H.Literal("provider_admission"),phase:Y(["queued","admitted","rejected"]),request_class:Y(["foreground","background","internal"]),resource:Y(["stream","pending_count","pending_bytes"]),scope:Y(["global","domain","owner","class"]),reason:H.Optional(Y(["capacity","queue_full","wait_timeout","closed"])),queue_position:H.Integer({minimum:0}),queue_depth:H.Integer({minimum:0}),in_flight:H.Integer({minimum:0}),limit:H.Integer({minimum:0}),wait_ms:H.Integer({minimum:0}),max_wait_ms:H.Integer({minimum:0}),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))}),AJ=L({type:H.Literal("provider_circuit"),phase:Y(["opened","waiting","probe","closed","reopened","rejected"]),reason:Y(["rate_limit","server_error","transport","stream_closed"]),status_code:H.Optional(H.Integer({minimum:100,maximum:599})),retry_after_ms:H.Optional(H.Integer({minimum:0})),next_probe_at:H.Optional(H.Integer({minimum:0})),open_duration_ms:H.Integer({minimum:0}),sample_count:H.Optional(H.Integer({minimum:0})),failure_count:H.Optional(H.Integer({minimum:0})),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))}),SJ=L({type:H.Literal("provider_stall"),phase:Y(["detected","recovered"]),stall_count:H.Integer({minimum:1}),duration_ms:H.Integer({minimum:0}),warning_after_ms:H.Integer({minimum:1}),timeout_ms:H.Integer({minimum:1}),output_started:H.Boolean()}),u=H.Object({provider:H.String({minLength:1,maxLength:256}),model:H.String({minLength:1,maxLength:256})},{additionalProperties:!1}),DH=H.Union([H.Object({source:Y(["retry","circuit"]),reason:Y(["rate_limit","server_error","timeout","transport","stream_closed"]),status_code:H.Optional(H.Integer({minimum:100,maximum:999}))},{additionalProperties:!1}),H.Object({source:H.Literal("admission"),reason:Y(["queue_full","wait_timeout","closed"])},{additionalProperties:!1}),H.Object({source:H.Literal("stall"),reason:H.Literal("timeout")},{additionalProperties:!1})]),TJ=H.Object({activity:Y(["admission_wait","retry_wait","retry_attempt","circuit_open","circuit_probe","stream_stall","fallback"]),reason:Y(["capacity","queue_full","wait_timeout","admission_closed","rate_limit","server_error","timeout","transport","stream_closed","circuit_open","stream_stall"]),updated_at:H.Integer({minimum:0}),next_action_at:H.Optional(H.Integer({minimum:0})),retry:H.Optional(H.Object({attempt:H.Integer({minimum:0}),max_retries:H.Integer({minimum:0}),status_code:H.Optional(H.Integer({minimum:100,maximum:999})),delay_ms:H.Optional(H.Integer({minimum:0})),recovery_budget_ms:H.Optional(H.Integer({minimum:0})),recovery_elapsed_ms:H.Optional(H.Integer({minimum:0})),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))},{additionalProperties:!1})),admission:H.Optional(H.Object({request_class:Y(["foreground","background","internal"]),scope:Y(["global","domain","owner","class"]),resource:Y(["stream","pending_count","pending_bytes"]),queue_position:H.Integer({minimum:0}),queue_depth:H.Integer({minimum:0}),in_flight:H.Integer({minimum:0}),limit:H.Integer({minimum:0}),wait_ms:H.Integer({minimum:0}),max_wait_ms:H.Integer({minimum:0}),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))},{additionalProperties:!1})),circuit:H.Optional(H.Object({phase:Y(["opened","reopened","waiting","probe","rejected"]),status_code:H.Optional(H.Integer({minimum:100,maximum:999})),retry_after_ms:H.Optional(H.Integer({minimum:0})),next_probe_at:H.Optional(H.Integer({minimum:0})),open_duration_ms:H.Integer({minimum:0}),sample_count:H.Optional(H.Integer({minimum:0})),failure_count:H.Optional(H.Integer({minimum:0})),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))},{additionalProperties:!1})),stall:H.Optional(H.Object({stall_count:H.Integer({minimum:0}),duration_ms:H.Integer({minimum:0}),warning_after_ms:H.Integer({minimum:0}),timeout_ms:H.Integer({minimum:0}),output_started:H.Boolean()},{additionalProperties:!1})),fallback:H.Optional(H.Object({from:u,to:u,candidate:H.Integer({minimum:1}),candidate_count:H.Integer({minimum:1}),trigger:DH},{additionalProperties:!1}))},{additionalProperties:!1}),yJ=H.Object({event_version:H.Literal(k),type:H.Literal("provider_recovery"),generation:H.String({minLength:1,maxLength:128}),revision:H.Integer({minimum:0}),snapshot:H.Union([TJ,H.Null()])},{additionalProperties:!1}),bJ=H.Object({name:H.String({minLength:1,maxLength:128}),kind:H.Optional(Y(["readonly","write","execute"])),started_at:H.Integer({minimum:0}),progress:H.Optional(H.Integer({minimum:0})),total:H.Optional(H.Integer({minimum:0}))},{additionalProperties:!1}),IJ=H.Object({phase:Y(["starting","thinking","responding","executing_tools","compacting","continuing"]),started_at:H.Integer({minimum:0}),updated_at:H.Integer({minimum:0}),turn:H.Integer({minimum:0}),max_turns:H.Union([H.Integer({minimum:0}),H.Null()]),output_started:H.Boolean(),tool_calls_started:H.Integer({minimum:0}),tool_calls_completed:H.Integer({minimum:0}),active_tools:H.Array(bJ,{maxItems:8}),active_tool_overflow:H.Integer({minimum:0})},{additionalProperties:!1}),RJ=H.Object({event_version:H.Literal(k),type:H.Literal("turn_activity"),generation:H.String({minLength:1,maxLength:128}),revision:H.Integer({minimum:0}),snapshot:H.Union([IJ,H.Null()])},{additionalProperties:!1}),gJ=H.Object({event_version:H.Literal(k),type:H.Literal("model_fallback"),from:u,to:u,candidate:H.Integer({minimum:1}),candidate_count:H.Integer({minimum:1}),trigger:DH},{additionalProperties:!1}),kJ=L({type:H.Literal("action_stationarity"),phase:Y(["detected","recovered","halted"]),tool_name:H.String(),run_length:H.Integer({minimum:1}),nudge_threshold:H.Integer({minimum:1}),halt_threshold:H.Integer({minimum:1}),progress_aware:H.Boolean()}),CJ=L({type:H.Literal("turn_recovery"),state:Y(["completed","resumable","requires_attention"]),turn_id:H.String({minLength:1}),input_message_count:H.Integer({minimum:0}),reason:H.Optional(Y(["successful_tool_result","interrupted_tool_call"]))}),hJ=L({type:H.Literal("turn_limit"),turns_count:H.Number(),action:H.Literal("continue")}),OJ=L({type:H.Literal("task_session"),session_id:H.String(),project_path:H.String(),source_project_path:H.String(),isolation:Y(["local","worktree"]),worktree_branch:H.Optional(H.String()),base_commit:H.Optional(H.String())}),wJ=L({type:H.Literal("task_admission"),state:Y(["queued","running"]),queue_position:H.Optional(H.Integer({minimum:1})),queue_depth:H.Integer({minimum:0}),in_flight:H.Integer({minimum:0}),max_concurrent_tasks:H.Integer({minimum:1})}),mJ=L({type:H.Literal("output"),content:H.String(),exit_code:H.Number()}),cJ=L({type:H.Literal("error"),message:H.String()}),NK=YH(H.Union([oH,sH,rH,nH,tH,eH,JJ,KJ,ZJ,$J,qJ,XJ,YJ,BJ,NJ,QJ,DJ,LJ,WJ,jJ,xJ,UJ,_J,GJ,PJ,FJ,EJ,MJ,fJ,AJ,zJ,SJ,yJ,RJ,gJ,kJ,CJ,hJ,OJ,wJ,mJ,cJ]));function LH(V,Z){return{event_version:k,type:V,...Z}}function pJ(V){if(!V||typeof V!=="object"||Array.isArray(V))return;let Z=V;if(Z.auto_backgrounded!==!0||Z.background_reason!=="foreground_budget"||!Number.isSafeInteger(Z.foreground_budget_ms)||Z.foreground_budget_ms<=0||typeof Z.shell_id!=="string"||!/^bash_[A-Za-z0-9-]+$/.test(Z.shell_id)||Z.shell_id.length>128||Z.terminal_transport!=="local"&&Z.terminal_transport!=="acp"||Z.pid!==void 0&&(!Number.isSafeInteger(Z.pid)||Z.pid<=0))return;return{auto_backgrounded:!0,background_reason:"foreground_budget",foreground_budget_ms:Z.foreground_budget_ms,shell_id:Z.shell_id,...Z.pid===void 0?{}:{pid:Z.pid},terminal_transport:Z.terminal_transport}}function vJ(V){let Z=new AbortController,Q=(K)=>{if(!Z.signal.aborted)Z.abort(K)},q=()=>Q("interrupt"),J=()=>Q(V?.signal?.reason);if(V?.signal){if(V.signal.addEventListener("abort",J,{once:!0}),V.signal.aborted)J()}else process.once("SIGINT",q),process.once("SIGTERM",q);return{signal:Z.signal,abort:Q,dispose:()=>{V?.signal?.removeEventListener("abort",J),process.removeListener("SIGINT",q),process.removeListener("SIGTERM",q)}}}var lJ=Y(["text","jsonl"]),aJ=H.Object({headless:H.Optional(H.Boolean()),message:H.Optional(H.String()),_:H.Optional(H.Array(H.Union([H.String(),H.Number()]))),model:H.Optional(H.String()),systemPrompt:H.Optional(H.String()),appendSystemPrompt:H.Optional(H.String()),verificationAgent:H.Optional(H.Boolean()),maxTurns:H.Optional(H.Refine(H.Integer(),(V)=>V===-1||V>0,()=>"must be -1 (unlimited) or a positive integer")),permissionMode:H.Optional(H.Enum(xH)),mcpConfig:H.Optional(H.Array(H.String())),strictMcpConfig:H.Optional(H.Boolean()),sessionId:H.Optional(H.String()),allowedTools:H.Optional(H.Array(H.String())),disallowedTools:H.Optional(H.Array(H.String())),agents:H.Optional(H.String()),continue:H.Optional(H.Boolean()),resume:H.Optional(H.Union([H.String(),H.Boolean()])),forkSession:H.Optional(H.Boolean()),taskIsolation:H.Optional(Y(["local","worktree"])),outputFormat:H.Optional(lJ),jsonSchema:H.Optional(H.String()),outputSchema:H.Optional(H.String())});class mH{openedThinking=!1;wroteAssistantContent=!1;markAssistantContent(){this.wroteAssistantContent=!0}setThinkingOpened(V){this.openedThinking=V}hasOpenThinking(){return this.openedThinking}completeStream(){let V={openedThinking:this.openedThinking,wroteAssistantContent:this.wroteAssistantContent};return this.openedThinking=!1,this.wroteAssistantContent=!1,V}}function iJ(V){return V.issues.map((Z)=>`${Z.path.join(".")||"options"}: ${Z.message}`).join("; ")}function oJ(V){let Z=UH(aJ,V);if(!Z.success)throw Error(`Invalid headless options: ${iJ(Z.error)}`);return Z.data}function sJ(V){return V.command("* [message]","Run full agent loop without Ink UI and print events to the terminal",(Z)=>Z.positional("message",{describe:"Message to process",type:"string"}).option("headless",{type:"boolean",describe:"Run full agent loop without Ink UI and print events to the terminal"}).option("model",{describe:"Model ID for this run",type:"string"}).option("system-prompt",{describe:"Replace the default system prompt",type:"string"}).option("append-system-prompt",{describe:"Append a system prompt to the default system prompt",type:"string"}).option("verification-agent",{describe:"Run the built-in independent verification agent after non-trivial changes",type:"boolean",default:!0}).option("max-turns",{alias:["maxTurns"],describe:"Maximum conversation turns (-1: unlimited, N>0: limit to N turns)",type:"number"}).option("output-format",{alias:["outputFormat"],choices:["text","jsonl"],describe:"Headless output format",type:"string"}).option("json-schema",{alias:["jsonSchema"],describe:"Inline JSON Schema for the structured final response",type:"string"}).option("output-schema",{alias:["outputSchema"],describe:"Path to a JSON Schema file for the structured final response",type:"string"}).option("task-isolation",{alias:["taskIsolation"],choices:["local","worktree"],describe:"Dispatch a new durable task in the selected workspace mode",type:"string"}),async(Z)=>{if(!Z.headless)return;let Q=await JK(Z);process.exit(Q)})}function W(V,Z=""){V.write(`${Z}
2
- `)}function rJ(V){return`[task] [${V.status}] ${V.subject}`}function nJ(){return{requestConfirmation:async(V)=>V.type==="mcpElicitation"?{approved:!1,reason:"headless-mcp-elicitation-unavailable",elicitation:{action:"cancel"}}:V.type==="mcpSampling"?{approved:!1,reason:"headless-mcp-sampling-unavailable"}:{approved:!0,reason:"headless-auto-approved",scope:"session"}}}function tJ(V){if(!(V instanceof Error))return"Unknown error";let q=V.lastError??V;if(q.responseBody)try{let D=JSON.parse(q.responseBody)?.error?.message;if(D)return q.statusCode?`${D} (HTTP ${q.statusCode})`:D}catch{}let J=V.message.match(/Last error:\s*(.+)$/);if(J)return J[1];return V.message}function eJ(V){return V==="jsonl"?"jsonl":"text"}function WH(V,Z){let Q=(...q)=>{for(let J of q){let K=Z[J];if(typeof K==="string"&&K.trim()!=="")return K}return};switch(V){case"Read":case"Edit":case"Write":case"UndoEdit":return Q("file_path");case"ApplyPatch":return"multi-file patch";case"NotebookEdit":return Q("notebook_path");case"Grep":return Q("path","pattern");case"Glob":return Q("pattern");case"WebFetch":return Q("url");case"WebSearch":return Q("query");case"Bash":return Q("command","description");case"Task":return Q("description");case"LSP":return Q("filePath","operation");case"EnterWorktree":return Q("name");case"ExitWorktree":return Q("action");default:return}}function HK(V,Z,Q,q){let J=new Set(["Glob","Grep","WebSearch","LS"]),K=new Set(["Read","WebFetch"]);if(new Set(["Edit","Write","ApplyPatch","NotebookEdit","Bash","LSP","UndoEdit","EnterWorktree","ExitWorktree"]).has(V)&&!q.targetLocked)return{phase:"target_hit",status:"hit",message:`Target locked: ${Z}`,shouldLockTarget:!0};if(q.targetLocked)return{phase:"executing",status:"hit",message:Q?`Working within target: ${Z}`:`Executing: ${Z}`,shouldLockTarget:!1};if(J.has(V))return{phase:"searching",status:"ongoing",message:`Still searching: ${Z}`,shouldLockTarget:!1};if(K.has(V))return{phase:"inspecting",status:"ongoing",message:`Inspecting candidate: ${Z}`,shouldLockTarget:!1};return{phase:"executing",status:q.targetLocked?"hit":"ongoing",message:`Executing: ${Z}`,shouldLockTarget:!1}}function jH(V,Z,Q=!1){let q=(J,K)=>{V.stdout.write(`${JSON.stringify(LH(J,K))}
3
- `)};return{contentDelta(J){if(Z==="jsonl"){q("content_delta",{delta:J});return}if(Q)return;V.stdout.write(J)},thinkingDelta(J,K){if(Z==="jsonl")return q("thinking_delta",{delta:J}),K;if(!K)V.stderr.write("[thinking] ");return V.stderr.write(J),!0},thinking(J){if(Z==="jsonl"){q("thinking",{content:J});return}W(V.stderr,`[thinking] ${J}`)},streamEnd(J,K){if(Z==="jsonl"){q("stream_end",{});return}if(K)V.stderr.write(`
4
- `);if(J)V.stdout.write(`
5
- `)},content(J){if(Z==="jsonl"){q("content",{content:J});return}W(V.stdout,J)},structuredOutput(J){if(Z==="jsonl"){q("structured_output",{output:J.output,schema_digest:J.schemaDigest});return}W(V.stdout,JSON.stringify(J.output))},toolStart(J,K,D,x){if(Z==="jsonl"){q("tool_start",{tool_name:J,summary:K,target:D,tool_kind:x});return}W(V.stderr,`[tool:start] ${K}`)},toolProgress(J,K,D,x,j){if(Z==="jsonl"){q("tool_progress",{tool_name:J,message:K,progress:D,total:x,admission:j?{kind:j.kind,scope:j.scope,queue_position:j.queuePosition,in_flight:j.inFlight,limit:j.limit}:void 0});return}W(V.stderr,`[tool:progress] ${J}: ${K}`)},toolResult(J,K,D,x,j){if(Z==="jsonl"){q("tool_result",{tool_name:J,summary:K,target:D,tool_kind:x,success:j?.success,error_type:j?.errorType,error_message:j?.errorMessage,background:j?.background});return}W(V.stderr,`[tool:result] ${K}`)},mcpCatalogChanged(J){if(Z==="jsonl"){q("mcp_catalog_changed",{revision:J.revision,server_name:J.serverName,added:J.added,removed:J.removed,updated:J.updated});return}W(V.stderr,`[mcp:catalog] r${J.revision} ${J.serverName} +${J.added.length} -${J.removed.length} ~${J.updated.length}`)},mcpContentChanged(J){if(Z==="jsonl"){q("mcp_content_changed",{revision:J.revision,server_name:J.serverName,content_kind:J.contentKind==="resourceTemplates"?"resource_templates":J.contentKind,added:J.added,removed:J.removed,updated:J.updated});return}W(V.stderr,`[mcp:${J.contentKind}] r${J.revision} ${J.serverName} +${J.added.length} -${J.removed.length} ~${J.updated.length}`)},mcpResourceUpdated(J){if(Z==="jsonl"){q("mcp_resource_updated",{revision:J.revision,server_name:J.serverName,uri:J.uri});return}W(V.stderr,`[mcp:resource] r${J.revision} ${J.serverName} updated ${J.uri}`)},mcpConnectionChanged(J){if(Z==="jsonl"){q("mcp_connection_changed",{revision:J.revision,server_name:J.serverName,phase:J.phase,reason:J.reason,attempt:J.attempt,max_attempts:J.maxAttempts,...J.nextRetryAt!==void 0?{next_retry_at:J.nextRetryAt}:{},...J.error?{error:J.error}:{}});return}W(V.stderr,`[mcp:connection] r${J.revision} ${J.serverName} ${J.phase} ${J.attempt}/${J.maxAttempts}`)},mcpLog(J){if(Z==="jsonl"){q("mcp_log",{revision:J.revision,server_name:J.serverName,level:J.level,logger:J.logger,message:J.message,projected_bytes:J.projectedBytes,data_sha256:J.dataSha256,truncated:J.truncated,details_omitted:J.detailsOmitted,timestamp:J.timestamp,synthetic:J.synthetic});return}W(V.stderr,`[mcp:log] ${J.level} ${J.serverName}${J.logger?` logger=${J.logger}`:""}: ${J.message}`)},mcpInstructionsChanged(J){if(Z==="jsonl"){q("mcp_instructions_changed",{revision:J.revision,server_name:J.serverName,action:J.action,reason:J.reason,text:J.text,source_bytes:J.sourceBytes,projected_bytes:J.projectedBytes,sha256:J.sha256,truncated:J.truncated,details_omitted:J.detailsOmitted});return}W(V.stderr,`[mcp:instructions] ${J.action} ${J.serverName}${J.truncated?" (truncated)":""}`)},mcpTaskChanged(J){if(Z==="jsonl"){q("mcp_task_changed",{revision:J.revision,task_id:J.taskId,server_name:J.serverName,tool_name:J.toolName,status:J.status,status_message:J.statusMessage,created_at:J.createdAt,updated_at:J.updatedAt,completed_at:J.completedAt,has_result:J.hasResult,error:J.error});return}W(V.stderr,`[mcp:task] ${J.taskId} ${J.serverName}/${J.toolName} `+J.status)},projectRulesLoaded(J){if(Z==="jsonl"){q("project_rules_loaded",{files:J.files.map((K)=>({id:K.id,relative_path:K.relativePath,source:K.source,conditional:K.conditional,content_sha256:K.contentSha256})),trigger_paths:J.triggerPaths,blocked_write:J.blockedWrite});return}W(V.stderr,`[project-rules] loaded ${J.files.length} file(s)${J.blockedWrite?" before write":""}`)},userShellStarted(J,K,D){if(Z==="jsonl"){q("user_shell_started",{execution_id:J,command:K,auxiliary:D});return}W(V.stderr,`[user-shell:start] ${K}`)},userShellOutput(J,K,D,x){if(Z==="jsonl"){q("user_shell_output",{execution_id:J,stream:K,chunk:D,stream_truncated:x});return}(K==="stderr"?V.stderr:V.stdout).write(D)},userShellCompleted(J){if(Z==="jsonl"){q("user_shell_completed",{execution_id:J.executionId,message_id:J.messageId,status:J.record.status,exit_code:J.record.exitCode,duration_ms:J.record.durationMs,stdout:J.record.stdout,stderr:J.record.stderr,truncated:J.record.truncated,auxiliary:J.auxiliary});return}W(V.stderr,`[user-shell:${J.record.status}] exit=${J.record.exitCode??"null"} ${J.record.durationMs}ms`)},phase(J,K,D,x={}){if(Z==="jsonl"){q("phase",{phase:J,status:K,message:D,turn:x.turn,tool_name:x.toolName,target:x.target});return}W(V.stderr,`[phase:${J}] ${D}`)},toolDetail(J,K){if(Z==="jsonl"){q("tool_detail",{tool_name:J,detail:K});return}W(V.stderr,K)},taskUpdate(J){if(Z==="jsonl"){q("task_update",{tasks:J});return}for(let K of J)W(V.stderr,rJ(K))},goalFrontier(J){if(Z==="jsonl"){q("goal_frontier",{goal_id:J.goal.goalId,status:J.goal.status,task_list_id:J.frontier.taskListId,total:J.frontier.total,completed:J.frontier.completed,in_progress:J.frontier.inProgress,pending:J.frontier.pending,blocked:J.frontier.blocked,next_task:J.frontier.nextTask,digest_sha256:J.frontier.digestSha256,observed_at:J.frontier.observedAt,stall_category:J.goal.frontierStall?.category,stall_count:J.goal.frontierStall?.consecutiveCount});return}let K=J.frontier.nextTask?` next=#${J.frontier.nextTask.id} ${J.frontier.nextTask.subject}`:"";W(V.stderr,`[goal-frontier] ${J.frontier.completed}/${J.frontier.total} completed${K}`)},turnRecovery(J){let K=J.assessment;if(Z==="jsonl"){q("turn_recovery",{state:K.state,turn_id:K.turnId,input_message_count:K.inputMessageCount,reason:K.state==="requires_attention"?K.reason:void 0});return}W(V.stderr,`[turn-recovery:${K.state}] ${K.turnId}`)},goal(J){if(Z==="jsonl"){q("goal",{state:J.goal?"updated":"cleared",goal_id:J.goal?.goalId,status:J.goal?.status,verification_attempt:J.goal?.completionVerification?.attempt,verification_status:J.goal?.completionVerification?.status,verifier_session_id:J.goal?.completionVerification?.verifierSessionId,verification_evidence_sha256:J.goal?.completionVerification?.evidenceSha256,verification_summary:J.goal?.completionVerification?.summary,verification_stall_count:J.goal?.verificationStall?.consecutiveCount,premature_stop_pattern:J.goal?.prematureStop?.pattern,premature_stop_count:J.goal?.prematureStop?.consecutiveCount,execution_host_failure_category:J.goal?.executionHostFailure?.category,execution_host_failure_count:J.goal?.executionHostFailure?.consecutiveCount,frontier_stall_category:J.goal?.frontierStall?.category,frontier_stall_count:J.goal?.frontierStall?.consecutiveCount,root_turn_id:J.goal?.turnLineage?.rootTurnId,current_turn_id:J.goal?.turnLineage?.currentTurnId,parent_turn_id:J.goal?.turnLineage?.parentTurnId});return}if(J.goal)W(V.stderr,`[goal:${J.goal.status}] ${J.goal.objective}`);else W(V.stderr,"[goal:cleared]")},subagent(J){let K=J.kind==="subagent_spawned";if(Z==="jsonl"){q("subagent",{state:K?"spawned":"completed",session_id:J.sessionId,subagent_type:J.type,success:K?void 0:J.success,summary:K?void 0:J.summary,verification_verdict:K?void 0:J.verificationVerdict,resumed_from:J.resumedFrom,root_agent_id:J.rootAgentId,resume_depth:J.resumeDepth});return}W(V.stderr,`[subagent:${K?"spawned":"completed"}] ${J.sessionId}${J.resumedFrom?` resumed from ${J.resumedFrom}`:""}`)},tokenUsage(J){if(Z==="jsonl"){q("token_usage",{input_tokens:J.inputTokens,output_tokens:J.outputTokens,total_tokens:J.totalTokens,max_context_tokens:J.maxContextTokens,cache_read_tokens:J.cacheReadTokens,cache_write_tokens:J.cacheWriteTokens,prompt_cache_break:J.cacheBreak?{reason:J.cacheBreak.reason,previous_cache_read_tokens:J.cacheBreak.previousCacheReadTokens,cache_read_tokens:J.cacheBreak.cacheReadTokens,cache_write_tokens:J.cacheBreak.cacheWriteTokens,token_drop:J.cacheBreak.tokenDrop,elapsed_ms:J.cacheBreak.elapsedMs,call_number:J.cacheBreak.callNumber,system_prompt_changed:J.cacheBreak.systemPromptChanged,system_char_delta:J.cacheBreak.systemCharDelta,tools_changed:J.cacheBreak.toolsChanged,added_tool_count:J.cacheBreak.addedToolCount,removed_tool_count:J.cacheBreak.removedToolCount,changed_tool_count:J.cacheBreak.changedToolCount,model_changed:J.cacheBreak.modelChanged,request_policy_changed:J.cacheBreak.requestPolicyChanged}:void 0,cost_usd:J.costUsd});return}W(V.stderr,`[tokens] in=${J.inputTokens} out=${J.outputTokens} total=${J.totalTokens} / ${J.maxContextTokens}`)},compacting(J){let K=J.phase==="start";if(Z==="jsonl"){q("compacting",{state:K?"started":"completed",reason:J.reason,strategy:J.strategy,outcome:J.outcome,pre_tokens:J.preTokens,pre_token_source:J.preTokenSource,estimated_pending_tokens:J.estimatedPendingTokens,post_tokens:J.postTokens,sample_attempts:J.sampleAttempts,input_reductions:J.inputReductions,messages_omitted:J.messagesOmitted,files_omitted:J.filesOmitted,images_omitted:J.imagesOmitted,fallback_target_tokens:J.fallbackTargetTokens,fallback_messages_omitted:J.fallbackMessagesOmitted,fallback_messages_truncated:J.fallbackMessagesTruncated,failure_reason:J.failureReason,memory:J.memory});return}W(V.stderr,K?`[context] compacting started${J.reason?` (${J.reason})`:""}`:`[context] compacting ${J.outcome??"completed"}${J.sampleAttempts!==void 0?` after ${J.sampleAttempts} sample attempt${J.sampleAttempts===1?"":"s"}`:""}${J.inputReductions?` with ${J.inputReductions} input reduction${J.inputReductions===1?"":"s"}`:""}${J.imagesOmitted?` and ${J.imagesOmitted} image${J.imagesOmitted===1?"":"s"} omitted`:""}${J.fallbackTargetTokens!==void 0?`; fallback target ${J.fallbackTargetTokens} tokens, ${J.fallbackMessagesOmitted??0} messages omitted, ${J.fallbackMessagesTruncated??0} truncated`:""}${J.memory?.outcome==="written"?`; saved ${J.memory.entries} project memories`:""}`)},providerAdmission(J){if(Z==="jsonl"){q("provider_admission",{phase:J.phase,request_class:J.requestClass,resource:J.resource,scope:J.scope,reason:J.reason,queue_position:J.queuePosition,queue_depth:J.queueDepth,in_flight:J.inFlight,limit:J.limit,wait_ms:J.waitMs,max_wait_ms:J.maxWaitMs,recovery_remaining_ms:J.recoveryRemainingMs});return}W(V.stderr,`[provider-admission:${J.phase}] ${J.resource}/${J.scope} ${J.inFlight}/${J.limit} queue=${J.queuePosition}/${J.queueDepth}`)},providerRetry(J){if(Z==="jsonl"){q("provider_retry",{phase:J.phase,attempt:J.attempt,max_retries:J.maxRetries,reason:J.reason,status_code:J.statusCode,delay_ms:J.delayMs,next_retry_at:J.nextRetryAt,mode:J.mode,recovery_budget_ms:J.recoveryBudgetMs,recovery_elapsed_ms:J.recoveryElapsedMs,recovery_remaining_ms:J.recoveryRemainingMs,exhausted_by:J.exhaustedBy});return}let K=J.delayMs!==void 0?` in ${Math.max(0,Math.ceil(J.delayMs/1000))}s`:"";W(V.stderr,`[provider-retry:${J.phase}] ${J.attempt}/${J.maxRetries} ${J.reason}${K}`)},providerCircuit(J){if(Z==="jsonl"){q("provider_circuit",{phase:J.phase,reason:J.reason,status_code:J.statusCode,retry_after_ms:J.retryAfterMs,next_probe_at:J.nextProbeAt,open_duration_ms:J.openDurationMs,sample_count:J.sampleCount,failure_count:J.failureCount,recovery_remaining_ms:J.recoveryRemainingMs});return}let K=J.retryAfterMs!==void 0?` retry in ${Math.max(0,Math.ceil(J.retryAfterMs/1000))}s`:"";W(V.stderr,`[provider-circuit:${J.phase}] ${J.reason}${K}`)},providerStall(J){if(Z==="jsonl"){q("provider_stall",{phase:J.phase,stall_count:J.stallCount,duration_ms:J.durationMs,warning_after_ms:J.warningAfterMs,timeout_ms:J.timeoutMs,output_started:J.outputStarted});return}W(V.stderr,`[provider-stall:${J.phase}] ${J.durationMs}ms / ${J.timeoutMs}ms`)},providerRecovery(J){let K=J.recovery.snapshot;if(Z==="jsonl"){q("provider_recovery",{generation:J.recovery.generation,revision:J.recovery.revision,snapshot:K?{activity:K.activity,reason:K.reason,updated_at:K.updatedAt,next_action_at:K.nextActionAt,retry:K.retry?{attempt:K.retry.attempt,max_retries:K.retry.maxRetries,status_code:K.retry.statusCode,delay_ms:K.retry.delayMs,recovery_budget_ms:K.retry.recoveryBudgetMs,recovery_elapsed_ms:K.retry.recoveryElapsedMs,recovery_remaining_ms:K.retry.recoveryRemainingMs}:void 0,admission:K.admission?{request_class:K.admission.requestClass,scope:K.admission.scope,resource:K.admission.resource,queue_position:K.admission.queuePosition,queue_depth:K.admission.queueDepth,in_flight:K.admission.inFlight,limit:K.admission.limit,wait_ms:K.admission.waitMs,max_wait_ms:K.admission.maxWaitMs,recovery_remaining_ms:K.admission.recoveryRemainingMs}:void 0,circuit:K.circuit?{phase:K.circuit.phase,status_code:K.circuit.statusCode,retry_after_ms:K.circuit.retryAfterMs,next_probe_at:K.circuit.nextProbeAt,open_duration_ms:K.circuit.openDurationMs,sample_count:K.circuit.sampleCount,failure_count:K.circuit.failureCount,recovery_remaining_ms:K.circuit.recoveryRemainingMs}:void 0,stall:K.stall?{stall_count:K.stall.stallCount,duration_ms:K.stall.durationMs,warning_after_ms:K.stall.warningAfterMs,timeout_ms:K.stall.timeoutMs,output_started:K.stall.outputStarted}:void 0,fallback:K.fallback?{from:K.fallback.from,to:K.fallback.to,candidate:K.fallback.candidate,candidate_count:K.fallback.candidateCount,trigger:K.fallback.trigger.source==="retry"||K.fallback.trigger.source==="circuit"?{source:K.fallback.trigger.source,reason:K.fallback.trigger.reason,status_code:K.fallback.trigger.statusCode}:K.fallback.trigger}:void 0}:null});return}W(V.stderr,K?`[provider-recovery:${K.activity}] ${K.reason}`:"[provider-recovery:clear]")},turnActivity(J){if(Z!=="jsonl")return;let K=J.activity.snapshot;q("turn_activity",{generation:J.activity.generation,revision:J.activity.revision,snapshot:K?{phase:K.phase,started_at:K.startedAt,updated_at:K.updatedAt,turn:K.turn,max_turns:K.maxTurns,output_started:K.outputStarted,tool_calls_started:K.toolCallsStarted,tool_calls_completed:K.toolCallsCompleted,active_tools:K.activeTools.map((D)=>({name:D.name,kind:D.kind,started_at:D.startedAt,progress:D.progress,total:D.total})),active_tool_overflow:K.activeToolOverflow}:null})},modelFallback(J){let K=J.trigger.source==="retry"||J.trigger.source==="circuit"?{source:J.trigger.source,reason:J.trigger.reason,status_code:J.trigger.statusCode}:J.trigger;if(Z==="jsonl"){q("model_fallback",{from:J.from,to:J.to,candidate:J.candidate,candidate_count:J.candidateCount,trigger:K});return}W(V.stderr,`[provider-fallback] ${J.from.model} -> ${J.to.model}`)},actionStationarity(J){if(Z==="jsonl"){q("action_stationarity",{phase:J.phase,tool_name:J.toolName,run_length:J.runLength,nudge_threshold:J.nudgeThreshold,halt_threshold:J.haltThreshold,progress_aware:J.progressAware});return}W(V.stderr,`[action-stationarity:${J.phase}] ${J.toolName} ${J.runLength}/${J.haltThreshold}`)},turnLimit(J){if(Z==="jsonl"){q("turn_limit",{turns_count:J,action:"continue"});return}W(V.stderr,`[turn-limit] continuing after ${J} turns`)},taskSession(J){if(Z==="jsonl"){q("task_session",{session_id:J.sessionId,project_path:J.projectPath,source_project_path:J.sourceProjectPath,isolation:J.isolation,worktree_branch:J.worktreeBranch,base_commit:J.baseCommit});return}W(V.stderr,`[task:${J.isolation}] ${J.sessionId} ${J.sourceProjectPath} -> ${J.projectPath}${J.worktreeBranch?` (${J.worktreeBranch})`:""}`)},taskAdmission(J){if(Z==="jsonl"){q("task_admission",{state:J.state,queue_position:J.queuePosition,queue_depth:J.queueDepth,in_flight:J.inFlight,max_concurrent_tasks:J.maxConcurrentTasks});return}W(V.stderr,J.state==="queued"?`[task:queued] position ${J.queuePosition??1}/${J.queueDepth} (running ${J.inFlight}/${J.maxConcurrentTasks})`:`[task:running] admitted (running ${J.inFlight}/${J.maxConcurrentTasks})`)},output(J,K=0){if(Z==="jsonl"){q("output",{content:J,exit_code:K});return}W(K===0?V.stdout:V.stderr,J)},error(J){if(Z==="jsonl"){q("error",{message:J});return}W(V.stderr,J)}}}async function JK(V,Z={stdout:process.stdout,stderr:process.stderr},Q){let q="text",J=new mH,K={targetLocked:!1},D,x,j,P=vJ(Q),T=!1,F=new o(Z,{signal:P.signal,onFailure:(N)=>{T=!0,P.abort(N)}}),p={stdout:{write:(N)=>F.write("stdout",N)},stderr:{write:(N)=>F.write("stderr",N)}},B=jH(p,q),v=async()=>{try{return await F.flush(),!T}catch{return!1}},E=async(N)=>{return x?.(),x=void 0,j?.(),j=void 0,await v()?N:1};try{let N=oJ(V);q=eJ(N.outputFormat);let y=await OH(N);B=jH(p,q,Boolean(y)),await gH();let HH=N.forkSession!==!0&&(N.continue===!0||typeof N.resume==="string"&&N.resume.length>0)?await CH({message:N.message,_:N._,stdin:Q?.stdin}):await kH({...N,stdin:Q?.stdin}),M=HH===void 0,_=M?{mode:"agent",content:""}:await hH(HH);if(_.mode==="output"){if(_.content)B.output(_.content,_.exitCode??0);return await E(_.exitCode??0)}if(!M&&_.content.length>r)throw Error(`User prompt exceeds the ${r}-character durable input limit`);if(!M&&Buffer.byteLength(_.content,"utf8")>n)throw Error(`User prompt exceeds the ${n}-byte durable input limit`);let h=_.content.trimStart().startsWith("!")?_.content.trimStart().slice(1).trim():void 0;if(h!==void 0&&N.taskIsolation)throw Error("User shell commands cannot be combined with --task-isolation");if(h!==void 0&&y)throw Error("Output schemas cannot be combined with user shell commands");if(N.taskIsolation&&(N.continue||N.resume||N.forkSession))throw Error("--task-isolation cannot be combined with --continue, --resume, or --fork-session");let{sessionId:G,messages:JH,metadata:KH}=await wH({sessionId:N.sessionId,continue:N.continue,resume:N.resume,forkSession:N.forkSession,fallbackSessionPrefix:"headless"}),R=N.permissionMode??KH?.permissionMode??"yolo",VH=N.model&&N.model!=="inherit"?N.model:_H()?.id,U=N.taskIsolation?await RH.createSessionTask({sessionId:G,prompt:_.content,sourceProjectPath:C(),isolation:N.taskIsolation,dispatch:{version:1,prompt:_.content,sourceProjectPath:C(),isolation:N.taskIsolation,permissionMode:R,...VH?{modelId:VH}:{},...y?{outputSchema:y}:{}}}):void 0,z=U?.metadata.projectPath??KH?.projectPath??C();if(j=e.subscribe(($)=>{if($.type!=="subagent.provider.admission"||$.sessionId!==G||$.projectPath!==z)return;let X=$.properties,f=["queued","admitted","rejected"],A=["foreground","background","internal"],S=["stream","pending_count","pending_bytes"],I=["global","domain","owner","class"],lH=["capacity","queue_full","wait_timeout","closed"];if(!f.includes(X.phase)||!A.includes(X.requestClass)||!S.includes(X.resource)||!I.includes(X.scope)||X.reason!==void 0&&!lH.includes(X.reason)||typeof X.queuePosition!=="number"||typeof X.queueDepth!=="number"||typeof X.inFlight!=="number"||typeof X.limit!=="number"||typeof X.waitMs!=="number"||typeof X.maxWaitMs!=="number"||X.recoveryRemainingMs!==void 0&&typeof X.recoveryRemainingMs!=="number")return;B.providerAdmission({kind:"provider_admission",phase:X.phase,requestClass:X.requestClass,resource:X.resource,scope:X.scope,...X.reason!==void 0?{reason:X.reason}:{},queuePosition:X.queuePosition,queueDepth:X.queueDepth,inFlight:X.inFlight,limit:X.limit,waitMs:X.waitMs,maxWaitMs:X.maxWaitMs,...X.recoveryRemainingMs!==void 0?{recoveryRemainingMs:X.recoveryRemainingMs}:{}})}),!U)await t.setSessionPermissionMode(G,z,R);let cH=U?!1:await EH.cancelPendingNonInteractive(z,G);if(U)B.taskSession({sessionId:G,projectPath:z,sourceProjectPath:U.metadata.taskSourceProjectPath??C(),isolation:N.taskIsolation,worktreeBranch:U.metadata.taskWorktreeBranch,baseCommit:U.metadata.taskBaseCommit}),x=e.subscribe(($)=>{if($.type!=="task.status"||$.sessionId!==G||$.projectPath!==z||!["queued","running"].includes(String($.properties.taskStatus))||typeof $.properties.taskQueueDepth!=="number"||typeof $.properties.taskInFlight!=="number"||typeof $.properties.taskConcurrencyLimit!=="number")return;B.taskAdmission({state:$.properties.taskStatus,queuePosition:typeof $.properties.taskQueuePosition==="number"?$.properties.taskQueuePosition:void 0,queueDepth:$.properties.taskQueueDepth,inFlight:$.properties.taskInFlight,maxConcurrentTasks:$.properties.taskConcurrencyLimit})});let uH={messages:cH?await t.loadSessionModelContext(G,z):[...JH],userId:"cli-user",sessionId:G,workspaceRoot:z,permissionMode:R,signal:P.signal,...U?.taskWorktree?{worktreeActive:!0}:{},confirmationHandler:nJ()};D=await MH.create({sessionId:G,workspaceRoot:z,modelId:N.model,permissionMode:R,mcpConfig:N.mcpConfig,strictMcpConfig:N.strictMcpConfig,agents:N.agents?SH(N.agents):void 0,...U?.taskWorktree?{taskWorktree:U.taskWorktree}:{},...U?.metadata.taskIsolation?{taskIsolation:U.metadata.taskIsolation}:{},...JH.length>0?{sessionStart:{isResume:!0,resumeSessionId:G}}:{}});let g=M&&D.getPendingSteeringCount()>0,O=M&&!g?await D.getGoal():null,w=O?.status==="active"||O?.status==="verifying",l=D.getTurnRecoveryAssessment?.()??{state:"none"};if(M&&!g&&!w&&l.state==="requires_attention")return B.turnRecovery({kind:"turn_recovery",assessment:l}),B.error("Error: Turn recovery requires explicit user attention before continuation"),await E(2);let b=M&&!g&&!w?await D.getRecoveredFinalResponse():void 0;if(M&&!g&&!w){if(!b)throw Error("No unfinished turn or active goal to resume");let $=l;if($.state!=="none")B.turnRecovery({kind:"turn_recovery",assessment:$});if(O)B.goal({kind:"goal_updated",goal:O});if(b.structuredOutput&&b.structuredOutputSchemaDigest)B.structuredOutput({kind:"structured_output",output:b.structuredOutput,schemaDigest:b.structuredOutputSchemaDigest});else B.content(b.content);return B.phase("completed","done","Recovered headless run completed"),await E(0)}if(h!==void 0){let $=await D.executeUserShellCommand(h,{signal:P.signal,onEvent:async(X)=>{if(X.type==="started")B.userShellStarted(X.executionId,X.command,X.auxiliary);else if(X.type==="output")B.userShellOutput(X.executionId,X.stream,X.chunk,X.streamTruncated);await v()}});return B.userShellCompleted($),await E($.record.status==="completed"?0:$.record.status==="aborted"?130:$.record.exitCode??1)}let dH=N.maxTurns??D.getConfig().maxTurns,pH=U?.taskWorktree?[...new Set([...N.disallowedTools??[],"EnterWorktree","ExitWorktree"])]:N.disallowedTools,vH=await AH.createWithRuntime(D,{sessionId:G,systemPrompt:N.systemPrompt,appendSystemPrompt:N.appendSystemPrompt,maxTurns:N.maxTurns,modelId:N.model,permissionMode:R,toolWhitelist:N.allowedTools,toolBlacklist:pH,mcpConfig:N.mcpConfig,strictMcpConfig:N.strictMcpConfig}),m=await FH(vH.chatStream(_.content,uH,{stream:!0,signal:P.signal,maxTurns:N.maxTurns,builtinVerification:N.verificationAgent!==!1,outputSchema:y,pendingInputOnly:g,goalContinuationOnly:w,...dH===-1?{onTurnLimitReached:async($)=>{return B.turnLimit($.turnsCount),{continue:!0,reason:"headless-auto-continue"}}}:{}}),async($)=>{switch($.kind){case"content_delta":if(!y||q==="jsonl")J.markAssistantContent();B.contentDelta($.delta);break;case"thinking_delta":J.setThinkingOpened(B.thinkingDelta($.delta,J.hasOpenThinking()));break;case"stream_end":{let X=J.completeStream();B.streamEnd(X.wroteAssistantContent,X.openedThinking);break}case"tool_start":{let X=$.toolCall;if(!("function"in X))break;if(X.function.name===d)break;if(["TaskCreate","TaskUpdate","TaskList"].includes(X.function.name))break;try{let f=JSON.parse(X.function.arguments),A=zH(X.function.name,f),S=WH(X.function.name,f),I=HK(X.function.name,A,S,K);if(I.shouldLockTarget)K.targetLocked=!0;B.phase(I.phase,I.status,I.message,{toolName:X.function.name,target:S}),B.toolStart(X.function.name,A,S,$.toolKind)}catch{B.phase(K.targetLocked?"executing":"searching",K.targetLocked?"hit":"ongoing",K.targetLocked?`Working within target: ${X.function.name}`:`Still searching: ${X.function.name}`,{toolName:X.function.name}),B.toolStart(X.function.name,X.function.name,void 0,$.toolKind)}break}case"tool_progress":{let X=$.toolCall;if(!("function"in X))break;if(X.function.name===d)break;B.toolProgress(X.function.name,$.update.message,$.update.progress,$.update.total,$.update.admission);break}case"tool_result":{let X=$.toolCall;if(!("function"in X))break;if(X.function.name===d)break;let f;try{let S=JSON.parse(X.function.arguments);f=WH(X.function.name,S)}catch{f=void 0}let A=PH(fH(X.function.name,$.result),GH);if(B.toolResult(X.function.name,A.summary,f,void 0,{success:$.result.success,errorType:$.result.error?.type,errorMessage:$.result.error?.message,background:pJ($.result.metadata)}),A.detail)B.toolDetail(X.function.name,A.detail);break}case"token_usage":B.tokenUsage($.usage);break;case"compaction":B.compacting($);break;case"task_update":B.taskUpdate($.tasks);break;case"goal_frontier_updated":B.goalFrontier($);break;case"turn_recovery":B.turnRecovery($);break;case"structured_output":B.structuredOutput($);break;case"mcp_catalog_changed":B.mcpCatalogChanged($);break;case"mcp_content_changed":B.mcpContentChanged($);break;case"mcp_resource_updated":B.mcpResourceUpdated($);break;case"mcp_connection_changed":B.mcpConnectionChanged($);break;case"mcp_log":B.mcpLog($);break;case"mcp_instructions_changed":B.mcpInstructionsChanged($);break;case"mcp_task_changed":B.mcpTaskChanged($);break;case"project_rules_loaded":B.projectRulesLoaded($);break;case"steering_applied":case"follow_up_started":case"follow_up_queue_changed":case"goal_continuation_started":break;case"goal_updated":B.goal($);break;case"subagent_spawned":case"subagent_completed":B.subagent($);break;case"model_fallback":B.modelFallback($);break;case"provider_admission":B.providerAdmission($);break;case"provider_retry":B.providerRetry($);break;case"provider_circuit":B.providerCircuit($);break;case"provider_stall":B.providerStall($);break;case"provider_recovery":B.providerRecovery($);break;case"turn_activity":B.turnActivity($);break;case"action_stationarity":B.actionStationarity($);break;case"turn_start":if($.turn===1)K.targetLocked=!1;B.phase("turn",K.targetLocked?"hit":"ongoing",`Turn ${$.turn} started`,{turn:$.turn});break;default:{let X=$}}await v()});if(m.metadata?.outputTruncated)B.error("[warning] 输出因达到 token 上限被截断,部分内容可能不完整。");if(m.metadata?.recoveryAttention)return B.error("Error: Turn recovery requires explicit user attention before continuation"),await E(2);if(!m.success)return B.error(`Error: ${m.error?.message??"Agent execution failed"}`),await E(1);return B.phase("completed","done","Headless run completed"),await E(0)}catch(N){if(!T){if(J.hasOpenThinking()&&q==="text")p.stderr.write(`
6
- `);B.error(`Error: ${tJ(N)}`)}return await E(1)}finally{x?.(),j?.();try{await D?.dispose()}finally{F.close(),P.dispose()}}}async function OK(){if(!process.argv.slice(2).includes("--headless"))return!1;let{headless:Q,"output-format":q,"system-prompt":J,"append-system-prompt":K,"max-turns":D,...x}=TH,j=uJ(dJ(process.argv)).scriptName("blade").strict(!1).options(x).middleware([bH,yH,IH]);return sJ(j),await j.parse(),!0}export{JK as runHeadless,OK as handleHeadlessMode,aJ as HeadlessOptionsSchema};