blade-code 0.10.99 → 0.10.101

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 (70) hide show
  1. package/dist/blade.js +2 -2
  2. package/dist/{chunk-r22mdmtr.js → chunk-2191220r.js} +1 -1
  3. package/dist/{chunk-bdbyy2ah.js → chunk-2cg8f38t.js} +1 -1
  4. package/dist/{chunk-ap8539bw.js → chunk-2f5kkhan.js} +274 -274
  5. package/dist/chunk-2r0f3b4t.js +1 -0
  6. package/dist/{chunk-qdgwprcv.js → chunk-3an3vxzt.js} +1 -1
  7. package/dist/{chunk-2jffgzdf.js → chunk-3c01jje5.js} +1 -1
  8. package/dist/{chunk-12vzyc3x.js → chunk-8yt4nmyb.js} +1 -1
  9. package/dist/chunk-8z9d0zd0.js +2 -0
  10. package/dist/chunk-9ajkzcqj.js +12 -0
  11. package/dist/chunk-as2ezx8p.js +1 -0
  12. package/dist/{chunk-vd6kmnc7.js → chunk-bswjne5v.js} +1 -1
  13. package/dist/{chunk-9z0yx0bn.js → chunk-c663rajb.js} +1 -1
  14. package/dist/chunk-cjgpas7y.js +23 -0
  15. package/dist/{chunk-6yz49rz2.js → chunk-dcjh1cj6.js} +1 -1
  16. package/dist/{chunk-71jnx206.js → chunk-f8z5v101.js} +1 -1
  17. package/dist/{chunk-ga15nptz.js → chunk-fqbc1ppx.js} +1 -1
  18. package/dist/{chunk-h8qjkxee.js → chunk-hpjnk87v.js} +18 -18
  19. package/dist/{chunk-1gjn9bp7.js → chunk-j22d84s7.js} +1 -1
  20. package/dist/{chunk-45sgvghd.js → chunk-jvxskq6a.js} +1 -1
  21. package/dist/{chunk-6vcy0nq7.js → chunk-kdatgrjy.js} +1 -1
  22. package/dist/{chunk-akfez2cs.js → chunk-kfcs62nw.js} +1 -1
  23. package/dist/{chunk-gmnv1jme.js → chunk-mzab7qak.js} +1 -1
  24. package/dist/{chunk-xg959k9w.js → chunk-n5jfmzp2.js} +1 -1
  25. package/dist/{chunk-d7j7z8hy.js → chunk-nh4jy5cs.js} +9 -1
  26. package/dist/{chunk-hyk4fw18.js → chunk-qgjgjzbx.js} +1 -1
  27. package/dist/{chunk-5dkzqgxa.js → chunk-qjeadpj2.js} +1 -1
  28. package/dist/chunk-qjv5kz7q.js +171 -0
  29. package/dist/chunk-sa7t9kht.js +6 -0
  30. package/dist/{chunk-p7zvg7e3.js → chunk-tazb5tze.js} +1 -1
  31. package/dist/chunk-tc9rq0st.js +160 -0
  32. package/dist/{chunk-a42rvwg4.js → chunk-tp5bep1y.js} +1 -1
  33. package/dist/{chunk-qwjfxvda.js → chunk-twhf09qs.js} +1 -1
  34. package/dist/{chunk-et6pvc3y.js → chunk-vc7gh3wc.js} +1 -1
  35. package/dist/{chunk-pmb5kr86.js → chunk-wbf4qcws.js} +2 -2
  36. package/dist/chunk-ykf4cqpg.js +8 -0
  37. package/dist/{chunk-1pscfw5q.js → chunk-z0dmm227.js} +1 -1
  38. package/dist/{chunk-fqwq3626.js → chunk-z5a8ay9s.js} +1 -1
  39. package/dist/{chunk-gwj637ey.js → chunk-zjpph3ys.js} +1 -1
  40. package/dist/{chunk-x5j6nexe.js → chunk-zydvg30x.js} +1 -1
  41. package/dist/web/assets/{ChatView-Cwc3fRAC.js → ChatView-Cc4bXZ6x.js} +14 -14
  42. package/dist/web/assets/{CodeBlockHighlighter-IGDocZUy.js → CodeBlockHighlighter-DZcVFtJE.js} +1 -1
  43. package/dist/web/assets/{FilePreview-EWE-k9VN.js → FilePreview-CzNS6kfM.js} +1 -1
  44. package/dist/web/assets/{KanbanBoard-FiiVQgTQ.js → KanbanBoard-cdh2g0r0.js} +1 -1
  45. package/dist/web/assets/{MarkdownRenderer-DjhWmikM.js → MarkdownRenderer-BqBOUlXa.js} +3 -3
  46. package/dist/web/assets/{SettingsModal-bHPx0fVG.js → SettingsModal-meSWhCOP.js} +1 -1
  47. package/dist/web/assets/{TaskSwitcher-CclOfJEl.js → TaskSwitcher-CiQi64Yl.js} +1 -1
  48. package/dist/web/assets/{TerminalPanel-Bnep8jE2.js → TerminalPanel-Bze9t5mz.js} +1 -1
  49. package/dist/web/assets/{arrow-left-CiX0E9Mt.js → arrow-left-DpTnLOBT.js} +1 -1
  50. package/dist/web/assets/{calendar-clock-Bgfr-twh.js → calendar-clock-DlAXXpl_.js} +1 -1
  51. package/dist/web/assets/{chevrons-up-down-B4T5fHUs.js → chevrons-up-down-CmAktdaR.js} +1 -1
  52. package/dist/web/assets/{clock-3-CGIhJjon.js → clock-3-_w8nIuEK.js} +1 -1
  53. package/dist/web/assets/{external-link-DnQv1VYE.js → external-link-AlymrIfc.js} +1 -1
  54. package/dist/web/assets/{folder-C5f8TpGj.js → folder-CrxO-9Rc.js} +1 -1
  55. package/dist/web/assets/{index-DNoVz0u1.js → index-JJH0FKfo.js} +5 -5
  56. package/dist/web/assets/{pause-Cb0ijwnO.js → pause-GQZaG_P3.js} +1 -1
  57. package/dist/web/assets/{play-Dsw1qmpk.js → play-BPhmPVpi.js} +1 -1
  58. package/dist/web/assets/{session-events-B4Cq2TwN.js → session-events-CO2pRY9U.js} +8 -8
  59. package/dist/web/assets/{teamService-C69fFhny.js → teamService-BqS4iOx0.js} +1 -1
  60. package/dist/web/index.html +2 -2
  61. package/package.json +1 -1
  62. package/dist/chunk-3ghvdscg.js +0 -9
  63. package/dist/chunk-5tq3s9h5.js +0 -160
  64. package/dist/chunk-c2s9rgyj.js +0 -1
  65. package/dist/chunk-cc3d4nne.js +0 -23
  66. package/dist/chunk-hcz98dbj.js +0 -1
  67. package/dist/chunk-mhfwp1f0.js +0 -2
  68. package/dist/chunk-mq4x8zhq.js +0 -171
  69. package/dist/chunk-spdrxj5e.js +0 -6
  70. package/dist/chunk-xz5ar75z.js +0 -8
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-DNoVz0u1.js";/**
1
+ import{c as e}from"./index-JJH0FKfo.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-DNoVz0u1.js";/**
1
+ import{c as o}from"./index-JJH0FKfo.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,8 +1,8 @@
1
- var Re=Object.defineProperty;var Me=(e,t,n)=>t in e?Re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var K=(e,t,n)=>Me(e,typeof t!="symbol"?t+"":t,n);import{R as D}from"./vendor-react-DofNRwfy.js";const ue=e=>{let t;const n=new Set,r=(d,c)=>{const l=typeof d=="function"?d(t):d;if(!Object.is(l,t)){const g=t;t=c??(typeof l!="object"||l===null)?l:Object.assign({},t,l),n.forEach(f=>f(t,g))}},s=()=>t,o={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d))},u=t=e(r,s,o);return o},xe=e=>e?ue(e):ue,_e=e=>e;function je(e,t=_e){const n=D.useSyncExternalStore(e.subscribe,D.useCallback(()=>t(e.getState()),[e,t]),D.useCallback(()=>t(e.getInitialState()),[e,t]));return D.useDebugValue(n),n}const de=e=>{const t=xe(e),n=r=>je(t,r);return Object.assign(n,t),n},fe=e=>e?de(e):de;function $(){return{timeline:[],textBefore:"",toolCalls:[],textAfter:"",thinkingContent:"",tasks:[],subagent:null,subagents:[],confirmation:null,question:null,elicitation:null}}function P(e){return e?e.subagents&&e.subagents.length>0?e.subagents:e.subagent?[e.subagent]:[]:[]}function W(e,t,n){const r=(n?t.find(s=>s.id===n||s.sessionId===n):void 0)??t[t.length-1]??null;return{...e,subagents:t,subagent:r}}function Ie(e,t){const n=[...P(e)];let r=n.findIndex(i=>i.id===t.id||!!(i.sessionId&&t.sessionId&&i.sessionId===t.sessionId));if(r===-1&&t.sessionId&&(r=n.findIndex(i=>!i.sessionId&&i.status==="running"&&i.type===t.type&&i.description===t.description)),r===-1)return n.push(t),W(e,n,t.id);const s=n[r],a={...s,...t,id:s.id};return n[r]=a,W(e,n,a.id)}function G(e,t){return`${t}-${e.length}`}function De(e,t){if(!t)return e;const n=[...p(e)],r=n[n.length-1];return(r==null?void 0:r.type)==="text"?n[n.length-1]={...r,content:r.content+t}:n.push({id:G(n,"text"),type:"text",content:t}),{...e,timeline:n}}function Oe(e,t){if(!t)return e;const n=[...p(e)],r=n[n.length-1];return(r==null?void 0:r.type)==="thinking"?n[n.length-1]={...r,content:r.content+t}:n.push({id:G(n,"thinking"),type:"thinking",content:t}),{...e,timeline:n}}function le(e,t){const n=e.toolCalls.some(i=>i.toolCallId===t.toolCallId),r=n?e.toolCalls:[...e.toolCalls,t];if(n)return{...e,toolCalls:r};const s=[...p(e)],a=s[s.length-1];return(a==null?void 0:a.type)==="tool_group"?s[s.length-1]={...a,toolCallIds:[...a.toolCallIds,t.toolCallId]}:s.push({id:G(s,"tool_group"),type:"tool_group",toolCallIds:[t.toolCallId]}),{...e,timeline:s,toolCalls:r}}function p(e){if(e.timeline&&e.timeline.length>0)return e.timeline;const t=[];return e.thinkingContent&&t.push({id:"legacy-thinking",type:"thinking",content:e.thinkingContent}),e.textBefore&&t.push({id:"legacy-text-before",type:"text",content:e.textBefore}),e.toolCalls.length>0&&t.push({id:"legacy-tool-group",type:"tool_group",toolCallIds:e.toolCalls.map(n=>n.toolCallId)}),e.textAfter&&t.push({id:"legacy-text-after",type:"text",content:e.textAfter}),t}function pe(e){return p(e).filter(t=>t.type==="text").map(t=>t.content).filter(Boolean).join(`
1
+ var Re=Object.defineProperty;var Me=(e,t,n)=>t in e?Re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var K=(e,t,n)=>Me(e,typeof t!="symbol"?t+"":t,n);import{R as D}from"./vendor-react-DofNRwfy.js";const ue=e=>{let t;const n=new Set,r=(d,c)=>{const l=typeof d=="function"?d(t):d;if(!Object.is(l,t)){const g=t;t=c??(typeof l!="object"||l===null)?l:Object.assign({},t,l),n.forEach(f=>f(t,g))}},s=()=>t,o={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d))},u=t=e(r,s,o);return o},_e=e=>e?ue(e):ue,xe=e=>e;function je(e,t=xe){const n=D.useSyncExternalStore(e.subscribe,D.useCallback(()=>t(e.getState()),[e,t]),D.useCallback(()=>t(e.getInitialState()),[e,t]));return D.useDebugValue(n),n}const de=e=>{const t=_e(e),n=r=>je(t,r);return Object.assign(n,t),n},fe=e=>e?de(e):de;function $(){return{timeline:[],textBefore:"",toolCalls:[],textAfter:"",thinkingContent:"",tasks:[],subagent:null,subagents:[],confirmation:null,question:null,elicitation:null}}function P(e){return e?e.subagents&&e.subagents.length>0?e.subagents:e.subagent?[e.subagent]:[]:[]}function W(e,t,n){const r=(n?t.find(s=>s.id===n||s.sessionId===n):void 0)??t[t.length-1]??null;return{...e,subagents:t,subagent:r}}function Ie(e,t){const n=[...P(e)];let r=n.findIndex(i=>i.id===t.id||!!(i.sessionId&&t.sessionId&&i.sessionId===t.sessionId));if(r===-1&&t.sessionId&&(r=n.findIndex(i=>!i.sessionId&&i.status==="running"&&i.type===t.type&&i.description===t.description)),r===-1)return n.push(t),W(e,n,t.id);const s=n[r],a={...s,...t,id:s.id};return n[r]=a,W(e,n,a.id)}function G(e,t){return`${t}-${e.length}`}function De(e,t){if(!t)return e;const n=[...p(e)],r=n[n.length-1];return(r==null?void 0:r.type)==="text"?n[n.length-1]={...r,content:r.content+t}:n.push({id:G(n,"text"),type:"text",content:t}),{...e,timeline:n}}function Oe(e,t){if(!t)return e;const n=[...p(e)],r=n[n.length-1];return(r==null?void 0:r.type)==="thinking"?n[n.length-1]={...r,content:r.content+t}:n.push({id:G(n,"thinking"),type:"thinking",content:t}),{...e,timeline:n}}function le(e,t){const n=e.toolCalls.some(i=>i.toolCallId===t.toolCallId),r=n?e.toolCalls:[...e.toolCalls,t];if(n)return{...e,toolCalls:r};const s=[...p(e)],a=s[s.length-1];return(a==null?void 0:a.type)==="tool_group"?s[s.length-1]={...a,toolCallIds:[...a.toolCallIds,t.toolCallId]}:s.push({id:G(s,"tool_group"),type:"tool_group",toolCallIds:[t.toolCallId]}),{...e,timeline:s,toolCalls:r}}function p(e){if(e.timeline&&e.timeline.length>0)return e.timeline;const t=[];return e.thinkingContent&&t.push({id:"legacy-thinking",type:"thinking",content:e.thinkingContent}),e.textBefore&&t.push({id:"legacy-text-before",type:"text",content:e.textBefore}),e.toolCalls.length>0&&t.push({id:"legacy-tool-group",type:"tool_group",toolCallIds:e.toolCalls.map(n=>n.toolCallId)}),e.textAfter&&t.push({id:"legacy-text-after",type:"text",content:e.textAfter}),t}function pe(e){return p(e).filter(t=>t.type==="text").map(t=>t.content).filter(Boolean).join(`
2
2
 
3
- `)}const Fe=2166136261,Ee=16777619;function L(e){return e==null?"":typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):Array.isArray(e)?`[${e.map(t=>L(t)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>`${JSON.stringify(n)}:${L(r)}`).join(",")}}`:JSON.stringify(e)}function Se(e){let t=Fe>>>0;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,Ee);return(t>>>0).toString(16)}function he(e){return typeof e=="string"?e:L(e??{})}function Q(e){return e==="completed"?"completed":e==="failed"||e==="cancelled"?"failed":"running"}function H({explicitId:e,messageId:t,toolName:n,argumentsValue:r,toolKind:s,output:a}){if(e)return e;const i=[t||"unknown-message",n||"Unknown",he(r),s||"",a||""].join("|");return`tool-${Se(i)}`}function F({explicitId:e,sessionId:t,messageId:n,agentType:r,description:s,summary:a}){if(e)return e;if(t)return t;const i=[n||"unknown-message",r||"subagent",s||"",a||""].join("|");return`subagent-${Se(i)}`}const qe=(e,t)=>{if(!t||typeof t!="object")return null;const n=Q(t.status),r=typeof t.summary=="string"?t.summary:void 0;return{id:F({explicitId:typeof t.subagentId=="string"?t.subagentId:void 0,sessionId:t.childSessionId,messageId:e,agentType:t.agentType,description:t.description,summary:t.summary}),type:t.agentType||"subagent",description:t.description||t.summary||"",status:n,startTime:Date.now(),sessionId:t.childSessionId,resumedFrom:t.resumedFrom,rootAgentId:t.rootAgentId,resumeDepth:typeof t.resumeDepth=="number"?t.resumeDepth:void 0,verificationVerdict:t.verificationVerdict==="pass"||t.verificationVerdict==="fail"||t.verificationVerdict==="partial"?t.verificationVerdict:void 0,output:n==="running"?void 0:r}},Be=(e,t)=>!t||typeof t!="object"?[]:(Array.isArray(t.subtaskRefs)?t.subtaskRefs:t.subtaskRef&&typeof t.subtaskRef=="object"?[t.subtaskRef]:[]).map(r=>qe(e,r)).filter(r=>r!==null);function x(e){return typeof e=="string"?e:e.filter(t=>t.type==="text").map(t=>t.text).join(`
4
- `)}function U(e){if(!e.agentContent)return e;let t=e.agentContent;for(const n of Be(e.id,e.metadata))t=Ie(t,n);return{...e,agentContent:t}}function Ve(e){var r,s,a;const t=[];let n=null;for(const i of e)if(i.role!=="system"){if(i.role==="user")n&&(t.push(U(n)),n=null),t.push({id:i.id,role:i.role,content:i.content,timestamp:i.timestamp||Date.now(),metadata:i.metadata});else if(i.role==="assistant"){n&&t.push(U(n));const o=i.metadata;let u=$();i.thinkingContent&&(u=Oe(u,i.thinkingContent),u.thinkingContent=i.thinkingContent);const d=x(i.content);if(d&&(u=De(u,d),u.textBefore=d),i.tool_calls&&Array.isArray(i.tool_calls))for(const c of i.tool_calls){const l=((r=c.function)==null?void 0:r.name)||"Unknown",g=he((s=c.function)==null?void 0:s.arguments);if(l==="Task"){let m={};try{m=JSON.parse(g)}catch{}const S=typeof m.subagent_type=="string"?m.subagent_type:"subagent",y=typeof m.description=="string"?m.description:S;u=Ie(u,{id:F({explicitId:c.id,sessionId:typeof m.subagent_session_id=="string"?m.subagent_session_id:void 0,messageId:i.id,agentType:S,description:y}),type:S,description:y,status:"running",startTime:Date.now(),sessionId:typeof m.subagent_session_id=="string"?m.subagent_session_id:void 0,resumedFrom:typeof m.resume_from=="string"?m.resume_from:typeof m.resume=="string"?m.resume:void 0});continue}const f={toolCallId:H({explicitId:c.id,messageId:i.id,toolName:l,argumentsValue:(a=c.function)==null?void 0:a.arguments}),toolName:l,arguments:g,status:"running",startTime:Date.now()};u=le(u,f)}n={id:i.id,role:"assistant",content:x(i.content),timestamp:i.timestamp||Date.now(),metadata:o,agentContent:u}}else if(i.role==="tool"&&n&&n.agentContent){const o=i,u=i.metadata,d=o.tool_call_id||(u==null?void 0:u.toolCallId),c=o.name||(u==null?void 0:u.toolName)||"Tool",l=u!=null&&u.metadata&&typeof u.metadata=="object"&&!Array.isArray(u.metadata)?u.metadata:u,g=u!=null&&u.independentVerification&&typeof u.independentVerification=="object"&&!Array.isArray(u.independentVerification)?u.independentVerification:void 0,f=(u==null?void 0:u.status)==="failed"||(u==null?void 0:u.status)==="error"||typeof(u==null?void 0:u.error)=="string"&&u.error.length>0,m=P(n.agentContent),S=m.findIndex(h=>h.id===d);if(S>=0){const h=m[S],I=typeof(l==null?void 0:l.subagentStatus)=="string"?Q(l.subagentStatus):f?"failed":"completed";m[S]={...h,sessionId:typeof(l==null?void 0:l.subagentSessionId)=="string"?l.subagentSessionId:h.sessionId,type:typeof(l==null?void 0:l.subagentType)=="string"?l.subagentType:h.type,status:I,resumedFrom:typeof(l==null?void 0:l.subagentResumedFrom)=="string"?l.subagentResumedFrom:h.resumedFrom,rootAgentId:typeof(l==null?void 0:l.subagentRootId)=="string"?l.subagentRootId:h.rootAgentId,resumeDepth:typeof(l==null?void 0:l.subagentResumeDepth)=="number"?l.subagentResumeDepth:h.resumeDepth,verificationVerdict:(l==null?void 0:l.verificationVerdict)==="pass"||(l==null?void 0:l.verificationVerdict)==="fail"||(l==null?void 0:l.verificationVerdict)==="partial"?l.verificationVerdict:(g==null?void 0:g.verificationVerdict)==="pass"||(g==null?void 0:g.verificationVerdict)==="fail"||(g==null?void 0:g.verificationVerdict)==="partial"?g.verificationVerdict:h.verificationVerdict,output:typeof(l==null?void 0:l.subagentSummary)=="string"?l.subagentSummary:x(i.content)||h.output},n.agentContent=W(n.agentContent,m,h.id);continue}const y=n.agentContent.toolCalls.find(h=>h.toolCallId===d);y?(y.output=x(i.content),y.status=f?"error":"success",y.metadata=l,y.summary=typeof(l==null?void 0:l.summary)=="string"?l.summary:y.summary,(!y.toolName||y.toolName==="Unknown")&&(y.toolName=c)):n.agentContent=le(n.agentContent,{toolCallId:H({explicitId:d,messageId:n.id,toolName:c,output:x(i.content)}),toolName:c,output:x(i.content),status:f?"error":"success",startTime:Date.now(),metadata:l,summary:typeof(l==null?void 0:l.summary)=="string"?l.summary:void 0})}}return n&&t.push(U(n)),t}const ye={authentication:"task.failure.authentication",permission:"task.failure.permission",rate_limit:"task.failure.rateLimit",timeout:"task.failure.timeout",network:"task.failure.network",model_unavailable:"task.failure.modelUnavailable",context_limit:"task.failure.contextLimit",unsupported_input:"task.failure.unsupportedInput",workspace_unavailable:"task.failure.workspaceUnavailable",capacity:"task.failure.capacity",runtime:"task.failure.runtime"},Ke={authentication:!1,permission:!1,rate_limit:!0,timeout:!0,network:!0,model_unavailable:!0,context_limit:!1,unsupported_input:!1,workspace_unavailable:!1,capacity:!0,runtime:!0};function Ue(e){if(typeof e=="string"&&Object.keys(ye).includes(e))return e}function bn(e){return ye[e]}function Cn(e){return Ke[e]}const be="blade.sidebar.view",Ce="blade.preview.width",J=640,Je=360,We=960,Le=()=>{if(typeof localStorage>"u")return"project";const e=localStorage.getItem(be);return e==="status"||e==="project"?e:"project"},ve=e=>Math.min(We,Math.max(Je,Math.round(e))),He=()=>{if(typeof localStorage>"u")return J;const e=localStorage.getItem(Ce);if(!e)return J;const t=Number(e);return Number.isFinite(t)?ve(t):J},Ge=fe(e=>({mainView:"workspace",setMainView:t=>e(n=>({mainView:t,isSettingsOpen:!1,isFilePreviewOpen:t==="board"?!1:n.isFilePreviewOpen})),boardProjectPath:null,setBoardProjectPath:t=>e({boardProjectPath:t}),isSidebarOpen:!0,toggleSidebar:()=>e(t=>({isSidebarOpen:!t.isSidebarOpen})),setSidebarOpen:t=>e({isSidebarOpen:t}),sidebarView:Le(),setSidebarView:t=>{typeof localStorage<"u"&&localStorage.setItem(be,t),e({sidebarView:t})},isFilePreviewOpen:!1,toggleFilePreview:()=>e(t=>({isFilePreviewOpen:!t.isFilePreviewOpen})),setFilePreviewOpen:t=>e({isFilePreviewOpen:t}),previewWidth:He(),setPreviewWidth:t=>{const n=ve(t);typeof localStorage<"u"&&localStorage.setItem(Ce,String(n)),e({previewWidth:n})},previewTab:"diff",setPreviewTab:t=>e({previewTab:t}),previewTargetPath:null,previewRequestId:0,openFilePreview:t=>e(n=>({isFilePreviewOpen:!0,previewTab:(t==null?void 0:t.tab)??n.previewTab,previewTargetPath:(t==null?void 0:t.targetPath)??null,previewRequestId:n.previewRequestId+1})),isSettingsOpen:!1,settingsSection:"general",toggleSettings:()=>e(t=>({isSettingsOpen:!t.isSettingsOpen,...t.isSettingsOpen?{}:{settingsSection:"general"}})),openSettings:(t="general")=>e({isSettingsOpen:!0,settingsSection:t}),isTerminalOpen:!1,toggleTerminal:()=>e(t=>({isTerminalOpen:!t.isTerminalOpen})),isTaskSwitcherOpen:!1,taskSwitcherMode:"tasks",setTaskSwitcherOpen:(t,n)=>e(r=>({isTaskSwitcherOpen:t,taskSwitcherMode:n??r.taskSwitcherMode})),setTaskSwitcherMode:t=>e({taskSwitcherMode:t})})),Qe=new Set(["BrowserNavigate","BrowserSnapshot","BrowserInteract","BrowserWait","BrowserInspect","BrowserPage"]),Ye=new Set(["click","click_at","hover","fill","type","press","select","check","uncheck","scroll"]);function ce(e,t){return(e==null?void 0:e.sessionId)===t.sessionId&&e.projectPath===t.projectPath}function N(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function Ae(e){return typeof e=="string"&&Ye.has(e)?e:void 0}function ze(e){const t=N(e),n=Ae(t==null?void 0:t.action);if(!t||!n)return;const r=N(t.viewport),s=N(t.targetBox),a=i=>typeof i=="number"&&Number.isFinite(i);return{action:n,...typeof t.ref=="string"?{ref:t.ref}:{},...r&&a(r.width)&&a(r.height)?{viewport:{width:r.width,height:r.height}}:{},...s&&a(s.x)&&a(s.y)&&a(s.width)&&a(s.height)?{targetBox:{x:s.x,y:s.y,width:s.width,height:s.height}}:{}}}function Xe(e){if(typeof e!="string")return N(e);try{return N(JSON.parse(e))}catch{return}}function Ze(e){return typeof e=="string"&&Qe.has(e)}const et=fe(e=>({agentActivity:null,beginAgentActivity:(t,n)=>e(r=>{var o,u;const s=ce((o=r.agentActivity)==null?void 0:o.sessionRef,t)?r.agentActivity:null,a=Xe(n.argumentsValue),i=n.toolName==="BrowserInteract"?Ae((u=N(a==null?void 0:a.action))==null?void 0:u.kind):void 0;return{agentActivity:{sessionRef:t,toolCallId:n.toolCallId,toolName:n.toolName,phase:"running",revision:((s==null?void 0:s.revision)??0)+1,frameRevision:(s==null?void 0:s.frameRevision)??0,pointerRevision:(s==null?void 0:s.pointerRevision)??0,...s!=null&&s.pageId?{pageId:s.pageId}:{},...s!=null&&s.origin?{origin:s.origin}:{},...s!=null&&s.url?{url:s.url}:{},...s!=null&&s.title?{title:s.title}:{},...i?{pendingAction:{action:i,...typeof(a==null?void 0:a.ref)=="string"?{ref:a.ref}:{}}}:{},...n.toolName!=="BrowserNavigate"&&(s!=null&&s.interaction)?{interaction:s.interaction}:{}}}}),completeAgentActivity:(t,n)=>e(r=>{var c,l;const s=ce((c=r.agentActivity)==null?void 0:c.sessionRef,t)?r.agentActivity:null,a=N((l=N(n.metadata))==null?void 0:l.browser),i=ze(a==null?void 0:a.interaction),o=typeof(a==null?void 0:a.pageId)=="string"?a.pageId:s==null?void 0:s.pageId,u=typeof(a==null?void 0:a.origin)=="string"?a.origin:s==null?void 0:s.origin,d=n.toolName!=="BrowserNavigate"&&n.toolName!=="BrowserPage";return{agentActivity:{sessionRef:t,toolCallId:n.toolCallId,toolName:n.toolName,phase:n.success?"ready":"error",revision:((s==null?void 0:s.revision)??0)+1,frameRevision:o&&u?((s==null?void 0:s.frameRevision)??0)+1:(s==null?void 0:s.frameRevision)??0,pointerRevision:i!=null&&i.targetBox?((s==null?void 0:s.pointerRevision)??0)+1:(s==null?void 0:s.pointerRevision)??0,...o?{pageId:o}:{},...u?{origin:u}:{},...typeof(a==null?void 0:a.url)=="string"?{url:a.url}:s!=null&&s.url?{url:s.url}:{},...typeof(a==null?void 0:a.title)=="string"?{title:a.title}:s!=null&&s.title?{title:s.title}:{},...typeof(a==null?void 0:a.errorCode)=="string"?{errorCode:a.errorCode}:{},...i?{interaction:i}:d&&(s!=null&&s.interaction)?{interaction:s.interaction}:{}}}}),clearAgentActivity:()=>e({agentActivity:null})})),tt={flushTimeout:80};class nt{constructor(t){K(this,"config");K(this,"channels",new Map);this.config={...tt,...t}}append(t,n,r){let s=this.channels.get(t);s||(s={buffer:"",timer:null,flushFn:null},this.channels.set(t,s)),s.buffer+=n,s.flushFn=r,s.timer||(s.timer=setTimeout(()=>{this.flushChannel(t)},this.config.flushTimeout))}flushChannel(t){const n=this.channels.get(t);if(!n||!n.buffer)return;const r=n.buffer,s=n.flushFn;n.buffer="",n.timer&&(clearTimeout(n.timer),n.timer=null),s==null||s(r)}drainAll(){for(const[t]of this.channels)this.flushChannel(t);this.channels.clear()}drainAllExcept(t){for(const[n]of this.channels)n!==t&&this.flushChannel(n);for(const[n,r]of this.channels)n!==t&&!r.buffer&&this.channels.delete(n)}reset(){for(const[,t]of this.channels)t.timer&&clearTimeout(t.timer);this.channels.clear()}}const w=new nt,st=100,C=(e,t,n)=>{if(t)for(const r of e){const s=P(r.agentContent).find(a=>a.id===t||a.sessionId===t);if(s)return{messageId:r.id,subagent:s}}if(n){const r=e.find(i=>i.id===n),s=P(r==null?void 0:r.agentContent),a=s.find(i=>i.status==="running")??s[s.length-1];if(a)return{messageId:n,subagent:a}}for(const r of[...e].reverse()){const s=P(r.agentContent),a=s.find(i=>i.status==="running")??s[s.length-1];if(a)return{messageId:r.id,subagent:a}}};function it(e,t,n){n(r=>{const s={...r.pendingSubagentCompletions??{}};if(s[e]===void 0&&Object.keys(s).length>=st){const a=Object.keys(s)[0];a&&delete s[a]}return s[e]={...t},{pendingSubagentCompletions:s}})}function Y(e,t,n){var a;if(!e)return;const r=(a=t().pendingSubagentCompletions)==null?void 0:a[e];!r||!C(t().messages,e,t().currentAssistantMessageId)||(X({...r,subagentSessionId:e,success:r.status==="completed"},t),n(i=>{const o={...i.pendingSubagentCompletions??{}};return delete o[e],{pendingSubagentCompletions:o}}))}const v=(e,t,n,r=!1)=>{const{currentAssistantMessageId:s,messages:a,addMessage:i,startAgentResponse:o}=e();if(n&&r){const l=a.find(f=>f.id===n&&f.role==="assistant");if(l)return o(l.id),l.id;const g={id:n,role:"assistant",content:"",timestamp:Date.now(),agentContent:$()};return i(g),o(n),n}if(s&&!s.startsWith("call_")&&a.some(l=>l.id===s&&l.role==="assistant"))return s;if(n){const l=a.find(g=>g.id===n&&g.role==="assistant");if(l)return o(l.id),l.id}const u=a[a.length-1];if((u==null?void 0:u.role)==="assistant")return u.id;const d=n||`assistant-${Date.now()}`,c={id:d,role:"assistant",content:"",timestamp:Date.now(),agentContent:$()};return i(c),o(d),t(l=>({messages:l.messages.map(g=>g.id===d?{...g,agentContent:{...g.agentContent||$()}}:g)})),d},ot=(e,t,n)=>{const{currentSessionId:r,addMessage:s,startAgentResponse:a,messages:i,updateMessage:o}=t();if(e.sessionId!==r)return;const u=e.messageId,d=e.role||"assistant",c=i.find(g=>g.id===u),l={id:u,role:d,content:e.content||"",timestamp:Date.now(),agentContent:d==="assistant"?$():void 0};c?o(u,{role:d,content:l.content,agentContent:d==="assistant"?{...c.agentContent||$()}:void 0}):s(l),d==="assistant"&&a(u)},at=(e,t,n)=>{const{currentSessionId:r,appendDelta:s,currentAssistantMessageId:a,hasToolCalls:i,addMessage:o,startAgentResponse:u}=t();if(e.sessionId!==r)return;const d=e.messageId,c=e.delta;if(!a){const g={id:d,role:"assistant",content:"",timestamp:Date.now(),agentContent:$()};o(g),u(d),t().appendDelta(d,c,"before");return}s(a,c,i?"after":"before")},rt=(e,t)=>{const{currentSessionId:n,updateMessage:r,messages:s}=t();if(e.sessionId!==n)return;const a=e.messageId,i=s.find(o=>o.id===a);i!=null&&i.agentContent&&r(a,{content:pe(i.agentContent)})},ut=(e,t,n)=>{var u;const{currentSessionId:r}=t();if(e.sessionId!==r)return;const s=e.output;if(!s||typeof s!="object"||Array.isArray(s))return;const a=v(t,n,e.messageId);if(!a)return;const i=t().messages.find(d=>d.id===a);if(!i)return;const o=JSON.stringify(s,null,2);t().updateMessage(a,{content:o,metadata:{...i.metadata,structuredOutput:{output:s,schemaDigest:e.schemaDigest}},agentContent:i.agentContent?{...i.agentContent,textBefore:"",textAfter:"",timeline:(u=i.agentContent.timeline)==null?void 0:u.filter(d=>d.type!=="text")}:void 0})},dt=(e,t,n)=>{const{currentSessionId:r,appendThinking:s}=t();if(e.sessionId!==r)return;const a=v(t,n,e.messageId);a&&s(a,e.delta)},lt=()=>{},ke=(e,t,n)=>{const{currentSessionId:r,appendToolCall:s,setHasToolCalls:a,setSubagent:i}=t();if(e.sessionId!==r)return;const o=v(t,n,e.messageId||e.toolCallId,typeof e.messageId=="string");if(!o)return;a(!0);const u=e.toolName||"Unknown",d=e.arguments;let c,l="",g,f;if(u==="Task")try{const S=JSON.parse(d);c=S.subagent_type,l=S.description||S.query||c||"",g=S.subagent_session_id,f=S.resume_from||S.resume}catch{}if(c){i(o,{id:F({explicitId:e.toolCallId,sessionId:g,messageId:o,agentType:c,description:l}),type:c,description:l,status:"running",startTime:Date.now(),sessionId:g,resumedFrom:f,output:"",thinking:""}),Y(g,t,n);return}const m={toolCallId:H({explicitId:e.toolCallId,messageId:o,toolName:u,argumentsValue:d,toolKind:e.toolKind}),toolName:u,arguments:d,toolKind:e.toolKind,status:"running",startTime:Date.now()};s(o,m)};function Te(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e;if(!(t.kind!=="readonly"&&t.kind!=="write"&&t.kind!=="execute")&&!(t.scope!=="global"&&t.scope!=="session")&&!(!Number.isSafeInteger(t.queuePosition)||t.queuePosition<=0||!Number.isSafeInteger(t.inFlight)||t.inFlight<0||!Number.isSafeInteger(t.limit)||t.limit<=0))return{kind:t.kind,scope:t.scope,queuePosition:t.queuePosition,inFlight:t.inFlight,limit:t.limit}}const we=(e,t)=>{const{currentSessionId:n,updateToolCall:r,messages:s}=t();if(e.sessionId!==n)return;const a=e.toolCallId;if(!a)return;const i=s.find(o=>{var u;return(u=o.agentContent)==null?void 0:u.toolCalls.some(d=>d.toolCallId===a)});i&&r(i.id,a,{summary:e.message,progress:typeof e.progress=="number"?e.progress:void 0,progressTotal:typeof e.total=="number"?e.total:void 0,progressMessage:e.message,admission:Te(e.admission)})},Pe=(e,t,n)=>{var ae;const{currentSessionId:r,appendToolCall:s,setHasToolCalls:a,updateToolCall:i,updateSubagent:o,messages:u}=t();if(e.sessionId!==r)return;const d=e.toolCallId;if(!d)return;const c=u.find(A=>{var T;return(T=A.agentContent)==null?void 0:T.toolCalls.some(M=>M.toolCallId===d)}),l=u.find(A=>P(A.agentContent).some(T=>T.id===d)),g=(c==null?void 0:c.id)||(l==null?void 0:l.id)||v(t,n,e.messageId,!0);if(!g)return;const f=typeof e.output=="string"?e.output:"",m=e.success===!0||e.status==="completed",S=e.summary||(f&&f.trim()?f.trim().split(`
5
- `)[0].slice(0,120):m?"执行成功":"执行失败"),y=(ae=c==null?void 0:c.agentContent)==null?void 0:ae.toolCalls.find(A=>A.toolCallId===d),h=typeof e.toolName=="string"?e.toolName:(y==null?void 0:y.toolName)??"Unknown",I=e.metadata;c?i(g,d,{status:m?"success":"error",summary:S,output:f,metadata:I}):l||(a(!0),s(g,{toolCallId:d,toolName:h,status:m?"success":"error",summary:S,output:f,startTime:Date.now(),metadata:I}));const E=t().messages.find(A=>A.id===g),k=P(E==null?void 0:E.agentContent).find(A=>A.id===d),R=I&&typeof I.subagentSessionId=="string"?I.subagentSessionId:void 0,_=I&&typeof I.subagentStatus=="string"?I.subagentStatus:void 0,ee=I&&typeof I.subagentType=="string"?I.subagentType:void 0,te=I&&typeof I.subagentSummary=="string"?I.subagentSummary:void 0,ne=I&&typeof I.subagentResumedFrom=="string"?I.subagentResumedFrom:void 0,se=I&&typeof I.subagentRootId=="string"?I.subagentRootId:void 0,ie=I&&typeof I.subagentResumeDepth=="number"?I.subagentResumeDepth:void 0,oe=(I==null?void 0:I.verificationVerdict)==="pass"||(I==null?void 0:I.verificationVerdict)==="fail"||(I==null?void 0:I.verificationVerdict)==="partial"?I.verificationVerdict:void 0;if(k){const A=_?Q(_):e.success?"completed":"failed",T=k.status!=="running"&&A==="running";o(g,k.id,{sessionId:k.sessionId||R,type:ee||k.type,status:T?k.status:A,resumedFrom:ne||k.resumedFrom,rootAgentId:se||k.rootAgentId,resumeDepth:ie??k.resumeDepth,verificationVerdict:oe??k.verificationVerdict,output:T?k.output:te||k.output})}R&&_&&n(A=>({messages:A.messages.map(T=>{if(T.id!==g)return T;const M=T.metadata??{},q=Array.isArray(M.subtaskRefs)?M.subtaskRefs:[],j=q.findIndex(re=>re.childSessionId===R||re.subagentId===d),b=j>=0?q[j]:M.subtaskRef??{},B={...b,subagentId:d,childSessionId:R,agentType:ee||(typeof(b==null?void 0:b.agentType)=="string"?b.agentType:"subagent"),status:_,summary:te||(typeof(b==null?void 0:b.summary)=="string"?b.summary:""),resumedFrom:ne||(typeof(b==null?void 0:b.resumedFrom)=="string"?b.resumedFrom:void 0),rootAgentId:se||(typeof(b==null?void 0:b.rootAgentId)=="string"?b.rootAgentId:R),resumeDepth:ie??(typeof(b==null?void 0:b.resumeDepth)=="number"?b.resumeDepth:0),verificationVerdict:oe||(typeof(b==null?void 0:b.verificationVerdict)=="string"?b.verificationVerdict:void 0)},V=[...q];return j>=0?V[j]=B:V.push(B),{...T,metadata:{...M,subtaskRef:B,subtaskRefs:V}}})})),Y(R,t,n)},ct=(e,t,n)=>{const{currentSessionId:r,appendToolCall:s}=t();if(e.sessionId!==r)return;const a=v(t,n,e.messageId||`mcp-catalog-${String(e.revision)}`);if(!a)return;const i=Array.isArray(e.added)?e.added.map(String):[],o=Array.isArray(e.removed)?e.removed.map(String):[],u=Array.isArray(e.updated)?e.updated.map(String):[],d=`MCP catalog r${String(e.revision)}: +${i.length} -${o.length} ~${u.length}`;s(a,{toolCallId:`mcp-catalog:${String(e.revision)}`,toolName:"MCP Catalog",arguments:JSON.stringify({serverName:e.serverName,added:i,removed:o,updated:u}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:d,output:[i.length>0?`Added: ${i.join(", ")}`:"",o.length>0?`Removed: ${o.join(", ")}`:"",u.length>0?`Updated: ${u.join(", ")}`:""].filter(Boolean).join(`
3
+ `)}const Fe=2166136261,qe=16777619;function L(e){return e==null?"":typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):Array.isArray(e)?`[${e.map(t=>L(t)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>`${JSON.stringify(n)}:${L(r)}`).join(",")}}`:JSON.stringify(e)}function Se(e){let t=Fe>>>0;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,qe);return(t>>>0).toString(16)}function he(e){return typeof e=="string"?e:L(e??{})}function Q(e){return e==="completed"?"completed":e==="failed"||e==="cancelled"?"failed":"running"}function H({explicitId:e,messageId:t,toolName:n,argumentsValue:r,toolKind:s,output:a}){if(e)return e;const i=[t||"unknown-message",n||"Unknown",he(r),s||"",a||""].join("|");return`tool-${Se(i)}`}function F({explicitId:e,sessionId:t,messageId:n,agentType:r,description:s,summary:a}){if(e)return e;if(t)return t;const i=[n||"unknown-message",r||"subagent",s||"",a||""].join("|");return`subagent-${Se(i)}`}const Ee=(e,t)=>{if(!t||typeof t!="object")return null;const n=Q(t.status),r=typeof t.summary=="string"?t.summary:void 0;return{id:F({explicitId:typeof t.subagentId=="string"?t.subagentId:void 0,sessionId:t.childSessionId,messageId:e,agentType:t.agentType,description:t.description,summary:t.summary}),type:t.agentType||"subagent",description:t.description||t.summary||"",status:n,startTime:Date.now(),sessionId:t.childSessionId,resumedFrom:t.resumedFrom,rootAgentId:t.rootAgentId,resumeDepth:typeof t.resumeDepth=="number"?t.resumeDepth:void 0,verificationVerdict:t.verificationVerdict==="pass"||t.verificationVerdict==="fail"||t.verificationVerdict==="partial"?t.verificationVerdict:void 0,output:n==="running"?void 0:r}},Be=(e,t)=>!t||typeof t!="object"?[]:(Array.isArray(t.subtaskRefs)?t.subtaskRefs:t.subtaskRef&&typeof t.subtaskRef=="object"?[t.subtaskRef]:[]).map(r=>Ee(e,r)).filter(r=>r!==null);function _(e){return typeof e=="string"?e:e.filter(t=>t.type==="text").map(t=>t.text).join(`
4
+ `)}function U(e){if(!e.agentContent)return e;let t=e.agentContent;for(const n of Be(e.id,e.metadata))t=Ie(t,n);return{...e,agentContent:t}}function Ve(e){var r,s,a;const t=[];let n=null;for(const i of e)if(i.role!=="system"){if(i.role==="user")n&&(t.push(U(n)),n=null),t.push({id:i.id,role:i.role,content:i.content,timestamp:i.timestamp||Date.now(),metadata:i.metadata});else if(i.role==="assistant"){n&&t.push(U(n));const o=i.metadata;let u=$();i.thinkingContent&&(u=Oe(u,i.thinkingContent),u.thinkingContent=i.thinkingContent);const d=_(i.content);if(d&&(u=De(u,d),u.textBefore=d),i.tool_calls&&Array.isArray(i.tool_calls))for(const c of i.tool_calls){const l=((r=c.function)==null?void 0:r.name)||"Unknown",g=he((s=c.function)==null?void 0:s.arguments);if(l==="Task"){let m={};try{m=JSON.parse(g)}catch{}const S=typeof m.subagent_type=="string"?m.subagent_type:"subagent",y=typeof m.description=="string"?m.description:S;u=Ie(u,{id:F({explicitId:c.id,sessionId:typeof m.subagent_session_id=="string"?m.subagent_session_id:void 0,messageId:i.id,agentType:S,description:y}),type:S,description:y,status:"running",startTime:Date.now(),sessionId:typeof m.subagent_session_id=="string"?m.subagent_session_id:void 0,resumedFrom:typeof m.resume_from=="string"?m.resume_from:typeof m.resume=="string"?m.resume:void 0});continue}const f={toolCallId:H({explicitId:c.id,messageId:i.id,toolName:l,argumentsValue:(a=c.function)==null?void 0:a.arguments}),toolName:l,arguments:g,status:"running",startTime:Date.now()};u=le(u,f)}n={id:i.id,role:"assistant",content:_(i.content),timestamp:i.timestamp||Date.now(),metadata:o,agentContent:u}}else if(i.role==="tool"&&n&&n.agentContent){const o=i,u=i.metadata,d=o.tool_call_id||(u==null?void 0:u.toolCallId),c=o.name||(u==null?void 0:u.toolName)||"Tool",l=u!=null&&u.metadata&&typeof u.metadata=="object"&&!Array.isArray(u.metadata)?u.metadata:u,g=u!=null&&u.independentVerification&&typeof u.independentVerification=="object"&&!Array.isArray(u.independentVerification)?u.independentVerification:void 0,f=(u==null?void 0:u.status)==="failed"||(u==null?void 0:u.status)==="error"||typeof(u==null?void 0:u.error)=="string"&&u.error.length>0,m=P(n.agentContent),S=m.findIndex(h=>h.id===d);if(S>=0){const h=m[S],I=typeof(l==null?void 0:l.subagentStatus)=="string"?Q(l.subagentStatus):f?"failed":"completed";m[S]={...h,sessionId:typeof(l==null?void 0:l.subagentSessionId)=="string"?l.subagentSessionId:h.sessionId,type:typeof(l==null?void 0:l.subagentType)=="string"?l.subagentType:h.type,status:I,resumedFrom:typeof(l==null?void 0:l.subagentResumedFrom)=="string"?l.subagentResumedFrom:h.resumedFrom,rootAgentId:typeof(l==null?void 0:l.subagentRootId)=="string"?l.subagentRootId:h.rootAgentId,resumeDepth:typeof(l==null?void 0:l.subagentResumeDepth)=="number"?l.subagentResumeDepth:h.resumeDepth,verificationVerdict:(l==null?void 0:l.verificationVerdict)==="pass"||(l==null?void 0:l.verificationVerdict)==="fail"||(l==null?void 0:l.verificationVerdict)==="partial"?l.verificationVerdict:(g==null?void 0:g.verificationVerdict)==="pass"||(g==null?void 0:g.verificationVerdict)==="fail"||(g==null?void 0:g.verificationVerdict)==="partial"?g.verificationVerdict:h.verificationVerdict,output:typeof(l==null?void 0:l.subagentSummary)=="string"?l.subagentSummary:_(i.content)||h.output},n.agentContent=W(n.agentContent,m,h.id);continue}const y=n.agentContent.toolCalls.find(h=>h.toolCallId===d);y?(y.output=_(i.content),y.status=f?"error":"success",y.metadata=l,y.summary=typeof(l==null?void 0:l.summary)=="string"?l.summary:y.summary,(!y.toolName||y.toolName==="Unknown")&&(y.toolName=c)):n.agentContent=le(n.agentContent,{toolCallId:H({explicitId:d,messageId:n.id,toolName:c,output:_(i.content)}),toolName:c,output:_(i.content),status:f?"error":"success",startTime:Date.now(),metadata:l,summary:typeof(l==null?void 0:l.summary)=="string"?l.summary:void 0})}}return n&&t.push(U(n)),t}const ye={authentication:"task.failure.authentication",permission:"task.failure.permission",rate_limit:"task.failure.rateLimit",timeout:"task.failure.timeout",network:"task.failure.network",model_unavailable:"task.failure.modelUnavailable",context_limit:"task.failure.contextLimit",unsupported_input:"task.failure.unsupportedInput",workspace_unavailable:"task.failure.workspaceUnavailable",capacity:"task.failure.capacity",runtime:"task.failure.runtime"},Ke={authentication:!1,permission:!1,rate_limit:!0,timeout:!0,network:!0,model_unavailable:!0,context_limit:!1,unsupported_input:!1,workspace_unavailable:!1,capacity:!0,runtime:!0};function Ue(e){if(typeof e=="string"&&Object.keys(ye).includes(e))return e}function vn(e){return ye[e]}function An(e){return Ke[e]}const be="blade.sidebar.view",Ce="blade.preview.width",J=640,Je=360,We=960,Le=()=>{if(typeof localStorage>"u")return"project";const e=localStorage.getItem(be);return e==="status"||e==="project"?e:"project"},ve=e=>Math.min(We,Math.max(Je,Math.round(e))),He=()=>{if(typeof localStorage>"u")return J;const e=localStorage.getItem(Ce);if(!e)return J;const t=Number(e);return Number.isFinite(t)?ve(t):J},Ge=fe(e=>({mainView:"workspace",setMainView:t=>e(n=>({mainView:t,isSettingsOpen:!1,isFilePreviewOpen:t==="board"?!1:n.isFilePreviewOpen})),boardProjectPath:null,setBoardProjectPath:t=>e({boardProjectPath:t}),isSidebarOpen:!0,toggleSidebar:()=>e(t=>({isSidebarOpen:!t.isSidebarOpen})),setSidebarOpen:t=>e({isSidebarOpen:t}),sidebarView:Le(),setSidebarView:t=>{typeof localStorage<"u"&&localStorage.setItem(be,t),e({sidebarView:t})},isFilePreviewOpen:!1,toggleFilePreview:()=>e(t=>({isFilePreviewOpen:!t.isFilePreviewOpen})),setFilePreviewOpen:t=>e({isFilePreviewOpen:t}),previewWidth:He(),setPreviewWidth:t=>{const n=ve(t);typeof localStorage<"u"&&localStorage.setItem(Ce,String(n)),e({previewWidth:n})},previewTab:"diff",setPreviewTab:t=>e({previewTab:t}),previewTargetPath:null,previewRequestId:0,openFilePreview:t=>e(n=>({isFilePreviewOpen:!0,previewTab:(t==null?void 0:t.tab)??n.previewTab,previewTargetPath:(t==null?void 0:t.targetPath)??null,previewRequestId:n.previewRequestId+1})),isSettingsOpen:!1,settingsSection:"general",toggleSettings:()=>e(t=>({isSettingsOpen:!t.isSettingsOpen,...t.isSettingsOpen?{}:{settingsSection:"general"}})),openSettings:(t="general")=>e({isSettingsOpen:!0,settingsSection:t}),isTerminalOpen:!1,toggleTerminal:()=>e(t=>({isTerminalOpen:!t.isTerminalOpen})),isTaskSwitcherOpen:!1,taskSwitcherMode:"tasks",setTaskSwitcherOpen:(t,n)=>e(r=>({isTaskSwitcherOpen:t,taskSwitcherMode:n??r.taskSwitcherMode})),setTaskSwitcherMode:t=>e({taskSwitcherMode:t})})),Qe=new Set(["BrowserNavigate","BrowserSnapshot","BrowserInteract","BrowserWait","BrowserInspect","BrowserPage"]),Ye=new Set(["click","click_at","hover","fill","type","press","select","check","uncheck","scroll"]);function ce(e,t){return(e==null?void 0:e.sessionId)===t.sessionId&&e.projectPath===t.projectPath}function N(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function Ae(e){return typeof e=="string"&&Ye.has(e)?e:void 0}function ze(e){const t=N(e),n=Ae(t==null?void 0:t.action);if(!t||!n)return;const r=N(t.viewport),s=N(t.targetBox),a=i=>typeof i=="number"&&Number.isFinite(i);return{action:n,...typeof t.ref=="string"?{ref:t.ref}:{},...r&&a(r.width)&&a(r.height)?{viewport:{width:r.width,height:r.height}}:{},...s&&a(s.x)&&a(s.y)&&a(s.width)&&a(s.height)?{targetBox:{x:s.x,y:s.y,width:s.width,height:s.height}}:{}}}function Xe(e){if(typeof e!="string")return N(e);try{return N(JSON.parse(e))}catch{return}}function Ze(e){return typeof e=="string"&&Qe.has(e)}const et=fe(e=>({agentActivity:null,beginAgentActivity:(t,n)=>e(r=>{var o,u;const s=ce((o=r.agentActivity)==null?void 0:o.sessionRef,t)?r.agentActivity:null,a=Xe(n.argumentsValue),i=n.toolName==="BrowserInteract"?Ae((u=N(a==null?void 0:a.action))==null?void 0:u.kind):void 0;return{agentActivity:{sessionRef:t,toolCallId:n.toolCallId,toolName:n.toolName,phase:"running",revision:((s==null?void 0:s.revision)??0)+1,frameRevision:(s==null?void 0:s.frameRevision)??0,pointerRevision:(s==null?void 0:s.pointerRevision)??0,...s!=null&&s.pageId?{pageId:s.pageId}:{},...s!=null&&s.origin?{origin:s.origin}:{},...s!=null&&s.url?{url:s.url}:{},...s!=null&&s.title?{title:s.title}:{},...i?{pendingAction:{action:i,...typeof(a==null?void 0:a.ref)=="string"?{ref:a.ref}:{}}}:{},...n.toolName!=="BrowserNavigate"&&(s!=null&&s.interaction)?{interaction:s.interaction}:{}}}}),completeAgentActivity:(t,n)=>e(r=>{var c,l;const s=ce((c=r.agentActivity)==null?void 0:c.sessionRef,t)?r.agentActivity:null,a=N((l=N(n.metadata))==null?void 0:l.browser),i=ze(a==null?void 0:a.interaction),o=typeof(a==null?void 0:a.pageId)=="string"?a.pageId:s==null?void 0:s.pageId,u=typeof(a==null?void 0:a.origin)=="string"?a.origin:s==null?void 0:s.origin,d=n.toolName!=="BrowserNavigate"&&n.toolName!=="BrowserPage";return{agentActivity:{sessionRef:t,toolCallId:n.toolCallId,toolName:n.toolName,phase:n.success?"ready":"error",revision:((s==null?void 0:s.revision)??0)+1,frameRevision:o&&u?((s==null?void 0:s.frameRevision)??0)+1:(s==null?void 0:s.frameRevision)??0,pointerRevision:i!=null&&i.targetBox?((s==null?void 0:s.pointerRevision)??0)+1:(s==null?void 0:s.pointerRevision)??0,...o?{pageId:o}:{},...u?{origin:u}:{},...typeof(a==null?void 0:a.url)=="string"?{url:a.url}:s!=null&&s.url?{url:s.url}:{},...typeof(a==null?void 0:a.title)=="string"?{title:a.title}:s!=null&&s.title?{title:s.title}:{},...typeof(a==null?void 0:a.errorCode)=="string"?{errorCode:a.errorCode}:{},...i?{interaction:i}:d&&(s!=null&&s.interaction)?{interaction:s.interaction}:{}}}}),clearAgentActivity:()=>e({agentActivity:null})})),tt={flushTimeout:80};class nt{constructor(t){K(this,"config");K(this,"channels",new Map);this.config={...tt,...t}}append(t,n,r){let s=this.channels.get(t);s||(s={buffer:"",timer:null,flushFn:null},this.channels.set(t,s)),s.buffer+=n,s.flushFn=r,s.timer||(s.timer=setTimeout(()=>{this.flushChannel(t)},this.config.flushTimeout))}flushChannel(t){const n=this.channels.get(t);if(!n||!n.buffer)return;const r=n.buffer,s=n.flushFn;n.buffer="",n.timer&&(clearTimeout(n.timer),n.timer=null),s==null||s(r)}drainAll(){for(const[t]of this.channels)this.flushChannel(t);this.channels.clear()}drainAllExcept(t){for(const[n]of this.channels)n!==t&&this.flushChannel(n);for(const[n,r]of this.channels)n!==t&&!r.buffer&&this.channels.delete(n)}reset(){for(const[,t]of this.channels)t.timer&&clearTimeout(t.timer);this.channels.clear()}}const w=new nt,st=100,C=(e,t,n)=>{if(t)for(const r of e){const s=P(r.agentContent).find(a=>a.id===t||a.sessionId===t);if(s)return{messageId:r.id,subagent:s}}if(n){const r=e.find(i=>i.id===n),s=P(r==null?void 0:r.agentContent),a=s.find(i=>i.status==="running")??s[s.length-1];if(a)return{messageId:n,subagent:a}}for(const r of[...e].reverse()){const s=P(r.agentContent),a=s.find(i=>i.status==="running")??s[s.length-1];if(a)return{messageId:r.id,subagent:a}}};function it(e,t,n){n(r=>{const s={...r.pendingSubagentCompletions??{}};if(s[e]===void 0&&Object.keys(s).length>=st){const a=Object.keys(s)[0];a&&delete s[a]}return s[e]={...t},{pendingSubagentCompletions:s}})}function Y(e,t,n){var a;if(!e)return;const r=(a=t().pendingSubagentCompletions)==null?void 0:a[e];!r||!C(t().messages,e,t().currentAssistantMessageId)||(X({...r,subagentSessionId:e,success:r.status==="completed"},t),n(i=>{const o={...i.pendingSubagentCompletions??{}};return delete o[e],{pendingSubagentCompletions:o}}))}const v=(e,t,n,r=!1)=>{const{currentAssistantMessageId:s,messages:a,addMessage:i,startAgentResponse:o}=e();if(n&&r){const l=a.find(f=>f.id===n&&f.role==="assistant");if(l)return o(l.id),l.id;const g={id:n,role:"assistant",content:"",timestamp:Date.now(),agentContent:$()};return i(g),o(n),n}if(s&&!s.startsWith("call_")&&a.some(l=>l.id===s&&l.role==="assistant"))return s;if(n){const l=a.find(g=>g.id===n&&g.role==="assistant");if(l)return o(l.id),l.id}const u=a[a.length-1];if((u==null?void 0:u.role)==="assistant")return u.id;const d=n||`assistant-${Date.now()}`,c={id:d,role:"assistant",content:"",timestamp:Date.now(),agentContent:$()};return i(c),o(d),t(l=>({messages:l.messages.map(g=>g.id===d?{...g,agentContent:{...g.agentContent||$()}}:g)})),d},ot=(e,t,n)=>{const{currentSessionId:r,addMessage:s,startAgentResponse:a,messages:i,updateMessage:o}=t();if(e.sessionId!==r)return;const u=e.messageId,d=e.role||"assistant",c=i.find(g=>g.id===u),l={id:u,role:d,content:e.content||"",timestamp:Date.now(),agentContent:d==="assistant"?$():void 0};c?o(u,{role:d,content:l.content,agentContent:d==="assistant"?{...c.agentContent||$()}:void 0}):s(l),d==="assistant"&&a(u)},at=(e,t,n)=>{const{currentSessionId:r,appendDelta:s,currentAssistantMessageId:a,hasToolCalls:i,addMessage:o,startAgentResponse:u}=t();if(e.sessionId!==r)return;const d=e.messageId,c=e.delta;if(!a){const g={id:d,role:"assistant",content:"",timestamp:Date.now(),agentContent:$()};o(g),u(d),t().appendDelta(d,c,"before");return}s(a,c,i?"after":"before")},rt=(e,t)=>{const{currentSessionId:n,updateMessage:r,messages:s}=t();if(e.sessionId!==n)return;const a=e.messageId,i=s.find(o=>o.id===a);i!=null&&i.agentContent&&r(a,{content:pe(i.agentContent)})},ut=(e,t,n)=>{var u;const{currentSessionId:r}=t();if(e.sessionId!==r)return;const s=e.output;if(!s||typeof s!="object"||Array.isArray(s))return;const a=v(t,n,e.messageId);if(!a)return;const i=t().messages.find(d=>d.id===a);if(!i)return;const o=JSON.stringify(s,null,2);t().updateMessage(a,{content:o,metadata:{...i.metadata,structuredOutput:{output:s,schemaDigest:e.schemaDigest}},agentContent:i.agentContent?{...i.agentContent,textBefore:"",textAfter:"",timeline:(u=i.agentContent.timeline)==null?void 0:u.filter(d=>d.type!=="text")}:void 0})},dt=(e,t,n)=>{const{currentSessionId:r,appendThinking:s}=t();if(e.sessionId!==r)return;const a=v(t,n,e.messageId);a&&s(a,e.delta)},lt=()=>{},ke=(e,t,n)=>{const{currentSessionId:r,appendToolCall:s,setHasToolCalls:a,setSubagent:i}=t();if(e.sessionId!==r)return;const o=v(t,n,e.messageId||e.toolCallId,typeof e.messageId=="string");if(!o)return;a(!0);const u=e.toolName||"Unknown",d=e.arguments;let c,l="",g,f;if(u==="Task")try{const S=JSON.parse(d);c=S.subagent_type,l=S.description||S.query||c||"",g=S.subagent_session_id,f=S.resume_from||S.resume}catch{}if(c){i(o,{id:F({explicitId:e.toolCallId,sessionId:g,messageId:o,agentType:c,description:l}),type:c,description:l,status:"running",startTime:Date.now(),sessionId:g,resumedFrom:f,output:"",thinking:""}),Y(g,t,n);return}const m={toolCallId:H({explicitId:e.toolCallId,messageId:o,toolName:u,argumentsValue:d,toolKind:e.toolKind}),toolName:u,arguments:d,toolKind:e.toolKind,status:"running",startTime:Date.now()};s(o,m)};function Te(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e;if(!(t.kind!=="readonly"&&t.kind!=="write"&&t.kind!=="execute")&&!(t.scope!=="global"&&t.scope!=="session")&&!(!Number.isSafeInteger(t.queuePosition)||t.queuePosition<=0||!Number.isSafeInteger(t.inFlight)||t.inFlight<0||!Number.isSafeInteger(t.limit)||t.limit<=0))return{kind:t.kind,scope:t.scope,queuePosition:t.queuePosition,inFlight:t.inFlight,limit:t.limit}}const we=(e,t)=>{const{currentSessionId:n,updateToolCall:r,messages:s}=t();if(e.sessionId!==n)return;const a=e.toolCallId;if(!a)return;const i=s.find(o=>{var u;return(u=o.agentContent)==null?void 0:u.toolCalls.some(d=>d.toolCallId===a)});i&&r(i.id,a,{summary:e.message,progress:typeof e.progress=="number"?e.progress:void 0,progressTotal:typeof e.total=="number"?e.total:void 0,progressMessage:e.message,admission:Te(e.admission)})},Pe=(e,t,n)=>{var ae;const{currentSessionId:r,appendToolCall:s,setHasToolCalls:a,updateToolCall:i,updateSubagent:o,messages:u}=t();if(e.sessionId!==r)return;const d=e.toolCallId;if(!d)return;const c=u.find(A=>{var T;return(T=A.agentContent)==null?void 0:T.toolCalls.some(M=>M.toolCallId===d)}),l=u.find(A=>P(A.agentContent).some(T=>T.id===d)),g=(c==null?void 0:c.id)||(l==null?void 0:l.id)||v(t,n,e.messageId,!0);if(!g)return;const f=typeof e.output=="string"?e.output:"",m=e.success===!0||e.status==="completed",S=e.summary||(f&&f.trim()?f.trim().split(`
5
+ `)[0].slice(0,120):m?"执行成功":"执行失败"),y=(ae=c==null?void 0:c.agentContent)==null?void 0:ae.toolCalls.find(A=>A.toolCallId===d),h=typeof e.toolName=="string"?e.toolName:(y==null?void 0:y.toolName)??"Unknown",I=e.metadata;c?i(g,d,{status:m?"success":"error",summary:S,output:f,metadata:I}):l||(a(!0),s(g,{toolCallId:d,toolName:h,status:m?"success":"error",summary:S,output:f,startTime:Date.now(),metadata:I}));const q=t().messages.find(A=>A.id===g),k=P(q==null?void 0:q.agentContent).find(A=>A.id===d),R=I&&typeof I.subagentSessionId=="string"?I.subagentSessionId:void 0,x=I&&typeof I.subagentStatus=="string"?I.subagentStatus:void 0,ee=I&&typeof I.subagentType=="string"?I.subagentType:void 0,te=I&&typeof I.subagentSummary=="string"?I.subagentSummary:void 0,ne=I&&typeof I.subagentResumedFrom=="string"?I.subagentResumedFrom:void 0,se=I&&typeof I.subagentRootId=="string"?I.subagentRootId:void 0,ie=I&&typeof I.subagentResumeDepth=="number"?I.subagentResumeDepth:void 0,oe=(I==null?void 0:I.verificationVerdict)==="pass"||(I==null?void 0:I.verificationVerdict)==="fail"||(I==null?void 0:I.verificationVerdict)==="partial"?I.verificationVerdict:void 0;if(k){const A=x?Q(x):e.success?"completed":"failed",T=k.status!=="running"&&A==="running";o(g,k.id,{sessionId:k.sessionId||R,type:ee||k.type,status:T?k.status:A,resumedFrom:ne||k.resumedFrom,rootAgentId:se||k.rootAgentId,resumeDepth:ie??k.resumeDepth,verificationVerdict:oe??k.verificationVerdict,output:T?k.output:te||k.output})}R&&x&&n(A=>({messages:A.messages.map(T=>{if(T.id!==g)return T;const M=T.metadata??{},E=Array.isArray(M.subtaskRefs)?M.subtaskRefs:[],j=E.findIndex(re=>re.childSessionId===R||re.subagentId===d),b=j>=0?E[j]:M.subtaskRef??{},B={...b,subagentId:d,childSessionId:R,agentType:ee||(typeof(b==null?void 0:b.agentType)=="string"?b.agentType:"subagent"),status:x,summary:te||(typeof(b==null?void 0:b.summary)=="string"?b.summary:""),resumedFrom:ne||(typeof(b==null?void 0:b.resumedFrom)=="string"?b.resumedFrom:void 0),rootAgentId:se||(typeof(b==null?void 0:b.rootAgentId)=="string"?b.rootAgentId:R),resumeDepth:ie??(typeof(b==null?void 0:b.resumeDepth)=="number"?b.resumeDepth:0),verificationVerdict:oe||(typeof(b==null?void 0:b.verificationVerdict)=="string"?b.verificationVerdict:void 0)},V=[...E];return j>=0?V[j]=B:V.push(B),{...T,metadata:{...M,subtaskRef:B,subtaskRefs:V}}})})),Y(R,t,n)},ct=(e,t,n)=>{const{currentSessionId:r,appendToolCall:s}=t();if(e.sessionId!==r)return;const a=v(t,n,e.messageId||`mcp-catalog-${String(e.revision)}`);if(!a)return;const i=Array.isArray(e.added)?e.added.map(String):[],o=Array.isArray(e.removed)?e.removed.map(String):[],u=Array.isArray(e.updated)?e.updated.map(String):[],d=`MCP catalog r${String(e.revision)}: +${i.length} -${o.length} ~${u.length}`;s(a,{toolCallId:`mcp-catalog:${String(e.revision)}`,toolName:"MCP Catalog",arguments:JSON.stringify({serverName:e.serverName,added:i,removed:o,updated:u}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:d,output:[i.length>0?`Added: ${i.join(", ")}`:"",o.length>0?`Removed: ${o.join(", ")}`:"",u.length>0?`Updated: ${u.join(", ")}`:""].filter(Boolean).join(`
6
6
  `)})},gt=(e,t,n)=>{const{currentSessionId:r,appendToolCall:s}=t();if(e.sessionId!==r)return;const a=v(t,n,e.messageId||`mcp-content-${String(e.revision)}`);if(!a)return;const i=Array.isArray(e.added)?e.added.map(String):[],o=Array.isArray(e.removed)?e.removed.map(String):[],u=Array.isArray(e.updated)?e.updated.map(String):[],d=`MCP ${String(e.contentKind)} r${String(e.revision)}: +${i.length} -${o.length} ~${u.length}`;s(a,{toolCallId:`mcp-content:${String(e.revision)}`,toolName:"MCP Content",arguments:JSON.stringify({serverName:e.serverName,contentKind:e.contentKind,added:i,removed:o,updated:u}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:d,output:[i.length>0?`Added: ${i.join(", ")}`:"",o.length>0?`Removed: ${o.join(", ")}`:"",u.length>0?`Updated: ${u.join(", ")}`:""].filter(Boolean).join(`
7
7
  `)})},mt=(e,t,n)=>{const{currentSessionId:r,appendToolCall:s}=t();if(e.sessionId!==r)return;const a=v(t,n,e.messageId||`mcp-resource-${String(e.revision)}`);a&&s(a,{toolCallId:`mcp-resource:${String(e.revision)}`,toolName:"MCP Resource",arguments:JSON.stringify({serverName:e.serverName,uri:e.uri}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP resource updated: ${String(e.uri)}`,output:`${String(e.serverName)} · revision ${String(e.revision)}`})},ft=(e,t,n)=>{const{currentSessionId:r,appendToolCall:s}=t();if(e.sessionId!==r)return;const a=v(t,n,e.messageId||`mcp-connection-${String(e.revision)}`);if(!a)return;const i=String(e.phase),o=`MCP ${String(e.serverName)} ${i}`+(i==="reconnecting"?` (${String(e.attempt)}/${String(e.maxAttempts)})`:"");s(a,{toolCallId:`mcp-connection:${String(e.revision)}`,toolName:"MCP Connection",arguments:JSON.stringify({serverName:e.serverName,phase:i,reason:e.reason,attempt:e.attempt,maxAttempts:e.maxAttempts}),toolKind:"readonly",status:i==="failed"?"error":"success",startTime:Date.now(),summary:o,output:[`Reason: ${String(e.reason)}`,e.error?`Error: ${String(e.error)}`:""].filter(Boolean).join(`
8
8
  `)})},It=(e,t,n)=>{const{currentSessionId:r,appendToolCall:s}=t();if(e.sessionId!==r)return;const a=v(t,n,e.messageId||`mcp-log-${String(e.revision)}`);if(!a)return;const i=String(e.level),o=typeof e.logger=="string"?e.logger:void 0,u=`MCP ${i} · ${String(e.serverName)}`+(o?` · ${o}`:"");s(a,{toolCallId:`mcp-log:${String(e.revision)}`,toolName:"MCP Log",arguments:JSON.stringify({serverName:e.serverName,level:i,logger:o}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:u,output:[String(e.message),`SHA-256: ${String(e.dataSha256)}`,e.truncated===!0?"Truncated":"",e.detailsOmitted===!0?"Details omitted by runtime policy":""].filter(Boolean).join(`
@@ -14,9 +14,9 @@ ${u}`,metadata:{...i.metadata,userShellExecution:{...o,output:u,streamTruncated:
14
14
  ${c}`:""].filter(Boolean).join(`
15
15
  `),g=z(e.executionId),f={role:"user",content:[`! ${u}`,l||"(no output)"].join(`
16
16
  `),metadata:{userShellCommand:o}};s.some(m=>m.id===g)?i(g,f):a({id:g,...f,timestamp:Date.now()}),e.auxiliary!==!0&&n({isStreaming:!1,isStopping:!1,agentPhase:"idle"}),(e.delivery==="current_turn"||e.delivery==="next_turn")&&n({pendingSteeringCount:typeof e.queued=="number"?Math.max(0,e.queued):0,pendingInputDelivery:e.delivery==="current_turn"?"current_turn":"next_turn"})},At=(e,t)=>{const{currentSessionId:n,updateTokenUsage:r,setMaxContextTokens:s}=t();e.sessionId===n&&(r({inputTokens:e.inputTokens,outputTokens:e.outputTokens,totalTokens:e.totalTokens,cacheReadTokens:e.cacheReadTokens??0,cacheWriteTokens:e.cacheWriteTokens??0,...e.cacheBreak?{cacheBreak:e.cacheBreak}:{},costUsd:e.costUsd}),e.maxContextTokens&&s(e.maxContextTokens,!1))},kt=(e,t)=>{const{currentSessionId:n,setTasks:r,currentAssistantMessageId:s}=t();if(e.sessionId!==n||!s)return;const a=e.tasks||[];r(s,a)},Tt=(e,t,n)=>{const{currentSessionId:r,setSubagent:s,currentAssistantMessageId:a}=t();if(e.sessionId!==r||!a)return;const i={id:F({explicitId:e.subagentId,sessionId:e.subagentSessionId,messageId:a,agentType:e.type,description:e.description}),type:e.type||"unknown",description:e.description||"",status:"running",startTime:Date.now(),sessionId:e.subagentSessionId,resumedFrom:e.resumedFrom,rootAgentId:e.rootAgentId,resumeDepth:typeof e.resumeDepth=="number"?e.resumeDepth:void 0};s(a,i),Y(i.sessionId,t,n)},wt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=e.subagentSessionId,o=C(s,i,r);o&&a(o.messageId,o.subagent.id,{sessionId:o.subagent.sessionId||i,currentTool:e.toolName})},Pt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=e.delta;if(!i)return;const o=e.subagentSessionId,u=C(s,o,r);u&&a(u.messageId,u.subagent.id,d=>({sessionId:d.sessionId||o,output:(d.output||"")+i}))},Nt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=e.delta;if(!i)return;const o=e.subagentSessionId,u=C(s,o,r);u&&a(u.messageId,u.subagent.id,d=>({sessionId:d.sessionId||o,thinking:(d.thinking||"")+i}))},X=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=e.subagentSessionId,o=C(s,i,r);if(!o)return;const u=e.status==="completed"?"completed":e.status==="failed"||e.status==="cancelled"?"failed":e.success?"completed":"failed";a(o.messageId,o.subagent.id,{sessionId:o.subagent.sessionId||i,type:typeof e.type=="string"?e.type:o.subagent.type,description:typeof e.description=="string"?e.description:o.subagent.description,status:u,currentTool:void 0,output:typeof e.summary=="string"?e.summary:o.subagent.output,resumedFrom:typeof e.resumedFrom=="string"?e.resumedFrom:o.subagent.resumedFrom,rootAgentId:typeof e.rootAgentId=="string"?e.rootAgentId:o.subagent.rootAgentId,resumeDepth:typeof e.resumeDepth=="number"?e.resumeDepth:o.subagent.resumeDepth,verificationVerdict:e.verificationVerdict==="pass"||e.verificationVerdict==="fail"||e.verificationVerdict==="partial"?e.verificationVerdict:o.subagent.verificationVerdict})},$t=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=e.toolCallId,o=e.toolName;if(!i||!o)return;const u=e.subagentSessionId,d=C(s,u,r);if(!d)return;const c={toolCallId:i,toolName:o,arguments:e.arguments,toolKind:e.toolKind,status:"running",startTime:Date.now()};a(d.messageId,d.subagent.id,l=>{const g=l.toolCalls||[];return{sessionId:l.sessionId||u,currentTool:o,toolCalls:g.some(f=>f.toolCallId===i)?g:[...g,c]}})},Rt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=e.toolCallId;if(!i)return;const o=e.toolName,u=e.subagentSessionId,d=C(s,u,r);if(!d)return;const c=e.output,l=e.success===!0,g=l?"success":"error",f=e.summary||(c&&c.trim()?c.trim().split(`
17
- `)[0].slice(0,120):l?"执行成功":"执行失败");a(d.messageId,d.subagent.id,m=>({sessionId:m.sessionId||u,currentTool:m.currentTool===o?void 0:m.currentTool,toolCalls:(m.toolCalls||[]).map(S=>S.toolCallId===i?{...S,status:g,summary:f,output:c,metadata:e.metadata}:S)}))},Mt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=e.toolCallId;if(!i)return;const o=C(s,e.subagentSessionId,r);o&&a(o.messageId,o.subagent.id,u=>({toolCalls:(u.toolCalls||[]).map(d=>d.toolCallId===i?{...d,summary:e.message,progress:typeof e.progress=="number"?e.progress:void 0,progressTotal:typeof e.total=="number"?e.total:void 0,progressMessage:e.message,admission:Te(e.admission)}:d)}))},xt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=Array.isArray(e.added)?e.added.map(String):[],u=Array.isArray(e.removed)?e.removed.map(String):[],d=Array.isArray(e.updated)?e.updated.map(String):[],c=`mcp-catalog:${String(e.revision)}`;a(i.messageId,i.subagent.id,l=>({toolCalls:[...(l.toolCalls||[]).filter(g=>g.toolCallId!==c),{toolCallId:c,toolName:"MCP Catalog",arguments:JSON.stringify({serverName:e.serverName,added:o,removed:u,updated:d}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP catalog r${String(e.revision)}: +${o.length} -${u.length} ~${d.length}`,output:[o.length>0?`Added: ${o.join(", ")}`:"",u.length>0?`Removed: ${u.join(", ")}`:"",d.length>0?`Updated: ${d.join(", ")}`:""].filter(Boolean).join(`
18
- `)}]}))},_t=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=Array.isArray(e.added)?e.added.map(String):[],u=Array.isArray(e.removed)?e.removed.map(String):[],d=Array.isArray(e.updated)?e.updated.map(String):[],c=`mcp-content:${String(e.revision)}`;a(i.messageId,i.subagent.id,l=>({toolCalls:[...(l.toolCalls||[]).filter(g=>g.toolCallId!==c),{toolCallId:c,toolName:"MCP Content",arguments:JSON.stringify({serverName:e.serverName,contentKind:e.contentKind,added:o,removed:u,updated:d}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP ${String(e.contentKind)} r${String(e.revision)}: +${o.length} -${u.length} ~${d.length}`}]}))},jt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=`mcp-resource:${String(e.revision)}`;a(i.messageId,i.subagent.id,u=>({toolCalls:[...(u.toolCalls||[]).filter(d=>d.toolCallId!==o),{toolCallId:o,toolName:"MCP Resource",arguments:JSON.stringify({serverName:e.serverName,uri:e.uri}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP resource updated: ${String(e.uri)}`}]}))},Dt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=String(e.phase),u=`mcp-connection:${String(e.revision)}`;a(i.messageId,i.subagent.id,d=>({toolCalls:[...(d.toolCalls||[]).filter(c=>c.toolCallId!==u),{toolCallId:u,toolName:"MCP Connection",arguments:JSON.stringify({serverName:e.serverName,phase:o,reason:e.reason,attempt:e.attempt,maxAttempts:e.maxAttempts}),toolKind:"readonly",status:o==="failed"?"error":"success",startTime:Date.now(),summary:`MCP ${String(e.serverName)} ${o}`+(o==="reconnecting"?` (${String(e.attempt)}/${String(e.maxAttempts)})`:""),output:e.error?`Error: ${String(e.error)}`:void 0}]}))},Ot=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=String(e.level),u=typeof e.logger=="string"?e.logger:void 0,d=`mcp-log:${String(e.revision)}`;a(i.messageId,i.subagent.id,c=>({toolCalls:[...(c.toolCalls||[]).filter(l=>l.toolCallId!==d),{toolCallId:d,toolName:"MCP Log",arguments:JSON.stringify({serverName:e.serverName,level:o,logger:u}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP ${o} · ${String(e.serverName)}`+(u?` · ${u}`:""),output:[String(e.message),`SHA-256: ${String(e.dataSha256)}`,e.truncated===!0?"Truncated":"",e.detailsOmitted===!0?"Details omitted by runtime policy":""].filter(Boolean).join(`
17
+ `)[0].slice(0,120):l?"执行成功":"执行失败");a(d.messageId,d.subagent.id,m=>({sessionId:m.sessionId||u,currentTool:m.currentTool===o?void 0:m.currentTool,toolCalls:(m.toolCalls||[]).map(S=>S.toolCallId===i?{...S,status:g,summary:f,output:c,metadata:e.metadata}:S)}))},Mt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=e.toolCallId;if(!i)return;const o=C(s,e.subagentSessionId,r);o&&a(o.messageId,o.subagent.id,u=>({toolCalls:(u.toolCalls||[]).map(d=>d.toolCallId===i?{...d,summary:e.message,progress:typeof e.progress=="number"?e.progress:void 0,progressTotal:typeof e.total=="number"?e.total:void 0,progressMessage:e.message,admission:Te(e.admission)}:d)}))},_t=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=Array.isArray(e.added)?e.added.map(String):[],u=Array.isArray(e.removed)?e.removed.map(String):[],d=Array.isArray(e.updated)?e.updated.map(String):[],c=`mcp-catalog:${String(e.revision)}`;a(i.messageId,i.subagent.id,l=>({toolCalls:[...(l.toolCalls||[]).filter(g=>g.toolCallId!==c),{toolCallId:c,toolName:"MCP Catalog",arguments:JSON.stringify({serverName:e.serverName,added:o,removed:u,updated:d}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP catalog r${String(e.revision)}: +${o.length} -${u.length} ~${d.length}`,output:[o.length>0?`Added: ${o.join(", ")}`:"",u.length>0?`Removed: ${u.join(", ")}`:"",d.length>0?`Updated: ${d.join(", ")}`:""].filter(Boolean).join(`
18
+ `)}]}))},xt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=Array.isArray(e.added)?e.added.map(String):[],u=Array.isArray(e.removed)?e.removed.map(String):[],d=Array.isArray(e.updated)?e.updated.map(String):[],c=`mcp-content:${String(e.revision)}`;a(i.messageId,i.subagent.id,l=>({toolCalls:[...(l.toolCalls||[]).filter(g=>g.toolCallId!==c),{toolCallId:c,toolName:"MCP Content",arguments:JSON.stringify({serverName:e.serverName,contentKind:e.contentKind,added:o,removed:u,updated:d}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP ${String(e.contentKind)} r${String(e.revision)}: +${o.length} -${u.length} ~${d.length}`}]}))},jt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=`mcp-resource:${String(e.revision)}`;a(i.messageId,i.subagent.id,u=>({toolCalls:[...(u.toolCalls||[]).filter(d=>d.toolCallId!==o),{toolCallId:o,toolName:"MCP Resource",arguments:JSON.stringify({serverName:e.serverName,uri:e.uri}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP resource updated: ${String(e.uri)}`}]}))},Dt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=String(e.phase),u=`mcp-connection:${String(e.revision)}`;a(i.messageId,i.subagent.id,d=>({toolCalls:[...(d.toolCalls||[]).filter(c=>c.toolCallId!==u),{toolCallId:u,toolName:"MCP Connection",arguments:JSON.stringify({serverName:e.serverName,phase:o,reason:e.reason,attempt:e.attempt,maxAttempts:e.maxAttempts}),toolKind:"readonly",status:o==="failed"?"error":"success",startTime:Date.now(),summary:`MCP ${String(e.serverName)} ${o}`+(o==="reconnecting"?` (${String(e.attempt)}/${String(e.maxAttempts)})`:""),output:e.error?`Error: ${String(e.error)}`:void 0}]}))},Ot=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=String(e.level),u=typeof e.logger=="string"?e.logger:void 0,d=`mcp-log:${String(e.revision)}`;a(i.messageId,i.subagent.id,c=>({toolCalls:[...(c.toolCalls||[]).filter(l=>l.toolCallId!==d),{toolCallId:d,toolName:"MCP Log",arguments:JSON.stringify({serverName:e.serverName,level:o,logger:u}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP ${o} · ${String(e.serverName)}`+(u?` · ${u}`:""),output:[String(e.message),`SHA-256: ${String(e.dataSha256)}`,e.truncated===!0?"Truncated":"",e.detailsOmitted===!0?"Details omitted by runtime policy":""].filter(Boolean).join(`
19
19
  `)}]}))},pt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=String(e.serverName),u=String(e.action),d=`mcp-instructions:${String(e.revision)}:${o}:${u}`;a(i.messageId,i.subagent.id,c=>({toolCalls:[...(c.toolCalls||[]).filter(l=>l.toolCallId!==d),{toolCallId:d,toolName:"MCP Instructions",arguments:JSON.stringify({serverName:o,action:u,reason:e.reason}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP instructions ${u}: ${o}`+(e.truncated===!0?" (truncated)":""),output:[typeof e.text=="string"?e.text:"",e.sha256?`SHA-256: ${String(e.sha256)}`:"",e.detailsOmitted===!0?"Details omitted by runtime policy":""].filter(Boolean).join(`
20
20
  `)}]}))},Ft=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=String(e.taskId),u=String(e.status),d=`mcp-task:${o}`;a(i.messageId,i.subagent.id,c=>({toolCalls:[...(c.toolCalls||[]).filter(l=>l.toolCallId!==d),{toolCallId:d,toolName:"MCP Task",arguments:JSON.stringify({taskId:o,serverName:e.serverName,toolName:e.toolName}),toolKind:"readonly",status:u==="failed"||u==="cancelled"?"error":u==="completed"?"success":"running",startTime:Number(e.createdAt)||Date.now(),summary:`MCP task ${u}: ${o} · ${String(e.serverName)}/${String(e.toolName)}`,output:[typeof e.statusMessage=="string"?e.statusMessage:"",e.hasResult===!0?"Result available via TaskOutput":"",typeof e.error=="string"?`Error: ${e.error}`:""].filter(Boolean).join(`
21
- `)}]}))},Et=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=Array.isArray(e.files)?e.files.filter(d=>!!d&&typeof d=="object"&&!Array.isArray(d)):[],u=`project-rules:${o.map(d=>String(d.id)).join(",")}`;a(i.messageId,i.subagent.id,d=>({toolCalls:[...(d.toolCalls||[]).filter(c=>c.toolCallId!==u),{toolCallId:u,toolName:"Project Rules",arguments:JSON.stringify({triggerPaths:e.triggerPaths,blockedWrite:e.blockedWrite}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`Project rules loaded: ${o.length}`,output:o.map(c=>`${String(c.relativePath)} ${String(c.source)} SHA-256: ${String(c.contentSha256)}`).join(`
22
- `)}]}))},qt=(e,t,n)=>{const{currentSessionId:r,setConfirmation:s}=t();if(e.sessionId!==r)return;const a=e.requestId||"",i=v(t,n,a?`assistant-permission-${a}`:void 0);if(!i)return;const o=e.details,u=e.toolName||(o==null?void 0:o.toolName)||"Tool";s(i,{toolCallId:a,toolName:u,description:e.description,diff:(o==null?void 0:o.details)||(o==null?void 0:o.diff)||"",allowRemember:(o==null?void 0:o.type)!=="mcpSampling",status:"pending"}),n(d=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:d.sessions.map(c=>c.sessionId===e.sessionId&&c.projectPath===e.projectPath?{...c,pendingInteraction:{type:"permission",requestId:a}}:c)}))},Bt=(e,t,n)=>{var f,m;const{currentSessionId:r,currentSessionRef:s,messages:a,setConfirmation:i,setElicitation:o}=t();if(e.sessionId!==r)return;const u=e.requestId,d=a.find(S=>{var y,h;return((h=(y=S.agentContent)==null?void 0:y.confirmation)==null?void 0:h.toolCallId)===u}),c=(f=d==null?void 0:d.agentContent)==null?void 0:f.confirmation;d&&(c==null?void 0:c.status)==="pending"&&i(d.id,{...c,status:"denied"});const l=a.find(S=>{var y,h;return((h=(y=S.agentContent)==null?void 0:y.elicitation)==null?void 0:h.toolCallId)===u}),g=(m=l==null?void 0:l.agentContent)==null?void 0:m.elicitation;l&&(g==null?void 0:g.status)==="pending"&&o(l.id,{...g,status:"cancelled"}),n({agentPhase:"running",error:"Permission request timed out",errorContext:{kind:"interaction",...s?{sessionRef:s}:{}}})},ge=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",isStreaming:!0})},Vt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:e.reason==="context_limit"?"recovering_context":"compacting"})},Kt=(e,t,n)=>{e.sessionId===t().currentSessionId&&(t().resetContextUsage(),n({agentPhase:"running"}))},Ut=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"switching_model",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null})},Jt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerAdmission:e.phase==="queued"?e:null})},Wt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerCircuit:e.phase==="closed"?null:e})},Lt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerRetry:e.phase==="recovered"?null:e})},Ht=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerStall:e.phase==="detected"?e:null})},Gt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",actionStationarity:e.phase==="recovered"?null:e})},Qt=(e,t,n)=>{const{currentSessionId:r,setQuestion:s}=t();if(e.sessionId!==r)return;const a=e.requestId||e.toolCallId||"",i=v(t,n,a?`assistant-question-${a}`:void 0);i&&(s(i,{toolCallId:a,questions:e.questions,status:"pending"}),n(o=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:o.sessions.map(u=>u.sessionId===e.sessionId&&u.projectPath===e.projectPath?{...u,pendingInteraction:{type:"question",requestId:a}}:u)})))},Yt=(e,t,n)=>{const{currentSessionId:r,setElicitation:s}=t();if(e.sessionId!==r)return;const a=e.requestId||e.toolCallId||"",i=v(t,n,a?`assistant-elicitation-${a}`:void 0),o=e.elicitation;!i||!o||(s(i,{toolCallId:a,details:o,status:"pending"}),n(u=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:u.sessions.map(d=>d.sessionId===e.sessionId&&d.projectPath===e.projectPath?{...d,pendingInteraction:{type:"elicitation",requestId:a}}:d)})))},zt=(e,t,n)=>{const{currentSessionId:r}=t();if(e.sessionId!==r)return;const s=e.requestId;n(a=>({agentPhase:"running",sessions:a.sessions.map(i=>{var o;return i.sessionId===e.sessionId&&i.projectPath===e.projectPath&&((o=i.pendingInteraction)==null?void 0:o.requestId)===s?{...i,pendingInteraction:void 0}:i})}))},Z=(e,t)=>{const n=t().currentSessionRef;n&&e.sessionId===n.sessionId&&e.projectPath===n.projectPath&&t().resyncSessionMessages(n)},Xt=(e,t)=>{const{currentSessionId:n,currentSessionRef:r,endAgentResponse:s}=t();e.sessionId!==n||!r||e.projectPath!==r.projectPath||(s(),Z(e,t))},me=(e,t)=>{const n=t().currentSessionRef;!n||e.sessionId!==n.sessionId||e.projectPath!==n.projectPath||t().endAgentResponse()},Zt=(e,t,n)=>{const{currentSessionId:r,currentSessionRef:s,endAgentResponse:a}=t();if(e.sessionId!==r)return;const i=e.taskFailure&&typeof e.taskFailure=="object"&&!Array.isArray(e.taskFailure)?e.taskFailure:void 0,o=Ue(i==null?void 0:i.code);n({agentPhase:"error",error:e.error||"An error occurred",errorContext:{kind:"execution",...s?{sessionRef:s}:{},...o?{failureCode:o}:{}}}),a(),Z(e,t)},en=(e,t,n)=>{const{currentSessionId:r}=t();if(e.sessionId===r)if(e.status==="idle")n({isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0}),Z(e,t);else if(e.status==="queued"||e.status==="running"||e.status==="waiting_permission"){const s=typeof e.queued=="number"?Math.max(0,e.queued):0;n({isStreaming:!0,agentPhase:e.status==="waiting_permission"?"waiting_permission":"running",currentRunId:typeof e.runId=="string"?e.runId:t().currentRunId,pendingSteeringCount:s,pendingInputDelivery:s>0&&(e.pendingInputDelivery==="current_turn"||e.pendingInputDelivery==="next_turn")?e.pendingInputDelivery:null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})}else e.status==="error"&&n({isStreaming:!1,isStopping:!1,agentPhase:"error",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null})},tn=(e,t,n)=>{const{currentSessionId:r,endAgentResponse:s,messages:a,updateSubagent:i}=t();if(e.sessionId===r){n(o=>({isStreaming:!1,agentPhase:"idle",messages:o.messages.map(u=>{var c;const d=(c=u.agentContent)==null?void 0:c.elicitation;return(d==null?void 0:d.status)!=="pending"||!u.agentContent?u:{...u,agentContent:{...u.agentContent,elicitation:{...d,status:"cancelled"}}}})}));for(const o of a)for(const u of P(o.agentContent))u.status==="running"&&i(o.id,u.id,{status:"failed"});s()}},Ne=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({pendingSteeringCount:typeof e.queued=="number"?Math.max(0,e.queued):1,pendingInputDelivery:"current_turn"})},$e=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({pendingSteeringCount:typeof e.queued=="number"?Math.max(0,e.queued):1,pendingInputDelivery:"next_turn"})},nn=(e,t,n)=>{if(typeof e.childSessionId=="string"){const r={...e,subagentSessionId:e.childSessionId,success:e.status==="completed"};C(t().messages,e.childSessionId,t().currentAssistantMessageId)?X(r,t):it(e.childSessionId,r,n)}e.delivery==="current_turn"?Ne(e,t,n):$e(e,t,n)},sn=(e,t,n)=>{if(e.sessionId!==t().currentSessionId)return;const r=typeof e.queued=="number"?Math.max(0,e.queued):0;n({pendingSteeringCount:r,pendingInputDelivery:r>0?t().pendingInputDelivery:null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})},on=(e,t,n)=>{if(e.sessionId!==t().currentSessionId)return;const r=typeof e.queued=="number"?Math.max(0,e.queued):0;n({agentPhase:"running",pendingSteeringCount:r,pendingInputDelivery:r>0?"current_turn":null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})},an=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:e.goal??null})},rn=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:null})},un=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:e.goal??t().goal,isStreaming:!0,agentPhase:"running"})},dn=(e,t,n)=>{if(e.sessionId!==t().currentSessionId||!Array.isArray(e.messages))return;const r=Date.now(),s=e.messages.flatMap((a,i)=>{if(typeof a!="object"||a===null)return[];const o=a;return!["user","assistant","system","tool"].includes(String(o.role))||!Array.isArray(o.content)&&typeof o.content!="string"?[]:[{id:`rewind-${i}-${r}`,role:o.role,content:o.content,timestamp:r+i,metadata:typeof o.metadata=="object"&&o.metadata!==null?o.metadata:void 0,thinkingContent:typeof o.thinkingContent=="string"?o.thinkingContent:typeof o.reasoningContent=="string"?o.reasoningContent:void 0,tool_call_id:typeof o.tool_call_id=="string"?o.tool_call_id:void 0,name:typeof o.name=="string"?o.name:void 0,tool_calls:o.tool_calls}]});n({messages:Ve(s),isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,currentAssistantMessageId:null,hasToolCalls:!1})},ln=(e,t,n)=>{const r=t().currentSessionRef;if(!r||e.sessionId!==r.sessionId||e.projectPath!==r.projectPath)return;const s=e.status,a=s==="completed"||s==="stale"?"completed":s==="aborted"?"cancelled":s==="interrupted"?"interrupted":"failed";n(i=>({sessions:i.sessions.map(o=>o.sessionId===r.sessionId&&o.projectPath===r.projectPath?{...o,taskStatus:a,taskStatusReason:void 0,taskFailure:void 0,taskCompletedAt:new Date().toISOString()}:o)})),t().selectSession(r)},cn=(e,t,n)=>{ke({...e,messageId:`review-${String(e.reviewId??"active")}`,arguments:"{}"},t,n)},gn=(e,t,n)=>{we(e,t)},mn=(e,t,n)=>{Pe(e,t,n)},fn=(e,t)=>{const n=t().currentSessionRef;n&&queueMicrotask(()=>void t().loadTeams(n))},O={"message.created":ot,"message.delta":at,"message.complete":rt,"structured.output":ut,"thinking.delta":dt,"thinking.completed":lt,"tool.start":ke,"tool.progress":we,"tool.result":Pe,"mcp.catalog.changed":ct,"mcp.content.changed":gt,"mcp.resource.updated":mt,"mcp.connection.changed":ft,"mcp.log":It,"mcp.instructions.changed":St,"mcp.task.changed":ht,"project.rules.loaded":yt,"user.shell.started":bt,"user.shell.output":Ct,"user.shell.completed":vt,"token.usage":At,"task.updated":kt,"subagent.start":Tt,"subagent.update":wt,"subagent.delta":Pt,"subagent.thinking.delta":Nt,"subagent.tool.start":$t,"subagent.tool.progress":Mt,"subagent.tool.result":Rt,"subagent.mcp.catalog.changed":xt,"subagent.mcp.content.changed":_t,"subagent.mcp.resource.updated":jt,"subagent.mcp.connection.changed":Dt,"subagent.mcp.log":Ot,"subagent.mcp.instructions.changed":pt,"subagent.mcp.task.changed":Ft,"subagent.project.rules.loaded":Et,"subagent.complete":X,"subagent.completion.queued":nn,"permission.asked":qt,"permission.timeout":Bt,"turn.started":ge,"committed.turn_started":ge,"committed.turn_completed":me,"committed.turn_aborted":me,"provider.admission":Jt,"provider.circuit":Wt,"provider.retry":Lt,"provider.stall":Ht,"action.stationarity":Gt,"compaction.started":Vt,"compaction.completed":Kt,"model.fallback":Ut,"question.required":Qt,"elicitation.required":Yt,"interaction.resolved":zt,"session.completed":Xt,"session.error":Zt,"session.status":en,"run.cancelled":tn,"steering.queued":Ne,"follow_up.queued":$e,"follow_up.started":on,"steering.applied":sn,"goal.updated":an,"goal.cleared":rn,"goal.continuation.started":un,"session.rewound":dn,"review.tool.started":cn,"review.tool.progress":gn,"review.tool.completed":mn,"review.completed":ln},In=new Set(["message.complete","thinking.completed","session.completed","session.error","run.cancelled","committed.turn_completed","committed.turn_aborted"]);function Sn(e,t){if(e.seq!==void 0||e.type!=="tool.start"&&e.type!=="tool.result")return;const n=t().currentSessionRef,r=e.properties.toolName,s=e.properties.toolCallId;if(!n||!Ze(r)||typeof s!="string")return;const a=et.getState();e.type==="tool.start"?a.beginAgentActivity(n,{toolCallId:s,toolName:r,argumentsValue:e.properties.arguments}):a.completeAgentActivity(n,{toolCallId:s,toolName:r,success:e.properties.success===!0||e.properties.status==="completed",metadata:e.properties.metadata}),Ge.getState().openFilePreview({tab:"browser"})}const vn=(e,t)=>n=>{const r=e().currentSessionRef,s=n.properties;if(!r||s.sessionId!==r.sessionId||s.projectPath!==r.projectPath)return;if(Sn(n,e),n.type.startsWith("team.")){fn(s,e);return}if(In.has(n.type)){w.drainAll();const i=O[n.type];i&&i(n.properties,e,t);return}if(n.type==="tool.start"&&w.drainAll(),n.type==="message.delta"){const{currentSessionId:i,currentAssistantMessageId:o,hasToolCalls:u}=e();if(s.sessionId!==i)return;const d=s.messageId||o,c=s.delta;if(!o){const f=O["message.delta"];f&&f(s,e,t);return}const l=u?"after":"before",g=`content:${d}:${l}`;w.drainAllExcept(g),w.append(g,c,f=>{const{appendDelta:m}=e();d&&m(d,f,l)});return}if(n.type==="thinking.delta"){const{currentSessionId:i,currentAssistantMessageId:o}=e();if(s.sessionId!==i)return;if(!o){const l=O["thinking.delta"];l&&l(s,e,t);return}const u=s.delta,d=s.messageId||o,c=`thinking:${d}`;w.drainAllExcept(c),w.append(c,u,l=>{const{appendThinking:g}=e();d&&g(d,l)});return}if(n.type==="subagent.delta"){const{currentSessionId:i}=e();if(s.sessionId!==i)return;const o=s.delta;if(!o)return;const u=s.subagentSessionId||"",d=`subagent:${u}`,{currentAssistantMessageId:c,messages:l}=e(),g=C(l,u||void 0,c);w.append(d,o,f=>{const{currentAssistantMessageId:m,messages:S,updateSubagent:y}=e(),h=g||C(S,u||void 0,m);h&&y(h.messageId,h.subagent.id,I=>({sessionId:I.sessionId||u,output:(I.output||"")+f}))});return}if(n.type==="subagent.thinking.delta"){const{currentSessionId:i}=e();if(s.sessionId!==i)return;const o=s.delta;if(!o)return;const u=s.subagentSessionId||"",d=`subagent-thinking:${u}`,{currentAssistantMessageId:c,messages:l}=e(),g=C(l,u||void 0,c);w.append(d,o,f=>{const{currentAssistantMessageId:m,messages:S,updateSubagent:y}=e(),h=g||C(S,u||void 0,m);h&&y(h.messageId,h.subagent.id,I=>({sessionId:I.sessionId||u,thinking:(I.thinking||"")+f}))});return}const a=O[n.type];a&&a(n.properties,e,t)};export{Oe as a,le as b,$ as c,De as d,fe as e,Ve as f,P as g,vn as h,w as i,Ue as j,Cn as k,Ge as l,pe as m,p as n,et as o,bn as t,Ie as u,W as w};
21
+ `)}]}))},qt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:r,messages:s,updateSubagent:a}=t();if(e.sessionId!==n)return;const i=C(s,e.subagentSessionId,r);if(!i)return;const o=Array.isArray(e.files)?e.files.filter(d=>!!d&&typeof d=="object"&&!Array.isArray(d)):[],u=`project-rules:${o.map(d=>String(d.id)).join(",")}`;a(i.messageId,i.subagent.id,d=>({toolCalls:[...(d.toolCalls||[]).filter(c=>c.toolCallId!==u),{toolCallId:u,toolName:"Project Rules",arguments:JSON.stringify({triggerPaths:e.triggerPaths,blockedWrite:e.blockedWrite}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`Project rules loaded: ${o.length}`,output:o.map(c=>`${String(c.relativePath)} ${String(c.source)} SHA-256: ${String(c.contentSha256)}`).join(`
22
+ `)}]}))},Et=(e,t,n)=>{const{currentSessionId:r,setConfirmation:s}=t();if(e.sessionId!==r)return;const a=e.requestId||"",i=v(t,n,a?`assistant-permission-${a}`:void 0);if(!i)return;const o=e.details,u=e.toolName||(o==null?void 0:o.toolName)||"Tool";s(i,{toolCallId:a,toolName:u,description:e.description,diff:(o==null?void 0:o.details)||(o==null?void 0:o.diff)||"",allowRemember:(o==null?void 0:o.type)!=="mcpSampling",status:"pending"}),n(d=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:d.sessions.map(c=>c.sessionId===e.sessionId&&c.projectPath===e.projectPath?{...c,pendingInteraction:{type:"permission",requestId:a}}:c)}))},Bt=(e,t,n)=>{var f,m;const{currentSessionId:r,currentSessionRef:s,messages:a,setConfirmation:i,setElicitation:o}=t();if(e.sessionId!==r)return;const u=e.requestId,d=a.find(S=>{var y,h;return((h=(y=S.agentContent)==null?void 0:y.confirmation)==null?void 0:h.toolCallId)===u}),c=(f=d==null?void 0:d.agentContent)==null?void 0:f.confirmation;d&&(c==null?void 0:c.status)==="pending"&&i(d.id,{...c,status:"denied"});const l=a.find(S=>{var y,h;return((h=(y=S.agentContent)==null?void 0:y.elicitation)==null?void 0:h.toolCallId)===u}),g=(m=l==null?void 0:l.agentContent)==null?void 0:m.elicitation;l&&(g==null?void 0:g.status)==="pending"&&o(l.id,{...g,status:"cancelled"}),n({agentPhase:"running",error:"Permission request timed out",errorContext:{kind:"interaction",...s?{sessionRef:s}:{}}})},ge=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",isStreaming:!0,turnRecovery:null})};function Vt(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e;if(typeof t.turnId!="string"||!t.turnId||!Number.isSafeInteger(t.inputMessageCount)||t.inputMessageCount<0)return null;const n={turnId:t.turnId,inputMessageCount:t.inputMessageCount};return t.state==="completed"||t.state==="resumable"?{state:t.state,...n}:t.state==="requires_attention"&&(t.reason==="successful_tool_result"||t.reason==="interrupted_tool_call")?{state:t.state,...n,reason:t.reason}:null}const Kt=(e,t,n)=>{const r=t(),s=r.currentSessionRef;if(e.sessionId!==r.currentSessionId||!s||e.projectPath!==s.projectPath)return;const a=Vt(e.assessment);a&&(n({turnRecovery:a}),r.resyncSessionMessages(s))},Ut=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:e.reason==="context_limit"?"recovering_context":"compacting"})},Jt=(e,t,n)=>{e.sessionId===t().currentSessionId&&(t().resetContextUsage(),n({agentPhase:"running"}))},Wt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"switching_model",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null})},Lt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerAdmission:e.phase==="queued"?e:null})},Ht=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerCircuit:e.phase==="closed"?null:e})},Gt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerRetry:e.phase==="recovered"?null:e})},Qt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerStall:e.phase==="detected"?e:null})},Yt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",actionStationarity:e.phase==="recovered"?null:e})},zt=(e,t,n)=>{const{currentSessionId:r,setQuestion:s}=t();if(e.sessionId!==r)return;const a=e.requestId||e.toolCallId||"",i=v(t,n,a?`assistant-question-${a}`:void 0);i&&(s(i,{toolCallId:a,questions:e.questions,status:"pending"}),n(o=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:o.sessions.map(u=>u.sessionId===e.sessionId&&u.projectPath===e.projectPath?{...u,pendingInteraction:{type:"question",requestId:a}}:u)})))},Xt=(e,t,n)=>{const{currentSessionId:r,setElicitation:s}=t();if(e.sessionId!==r)return;const a=e.requestId||e.toolCallId||"",i=v(t,n,a?`assistant-elicitation-${a}`:void 0),o=e.elicitation;!i||!o||(s(i,{toolCallId:a,details:o,status:"pending"}),n(u=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:u.sessions.map(d=>d.sessionId===e.sessionId&&d.projectPath===e.projectPath?{...d,pendingInteraction:{type:"elicitation",requestId:a}}:d)})))},Zt=(e,t,n)=>{const{currentSessionId:r}=t();if(e.sessionId!==r)return;const s=e.requestId;n(a=>({agentPhase:"running",sessions:a.sessions.map(i=>{var o;return i.sessionId===e.sessionId&&i.projectPath===e.projectPath&&((o=i.pendingInteraction)==null?void 0:o.requestId)===s?{...i,pendingInteraction:void 0}:i})}))},Z=(e,t)=>{const n=t().currentSessionRef;n&&e.sessionId===n.sessionId&&e.projectPath===n.projectPath&&t().resyncSessionMessages(n)},en=(e,t)=>{const{currentSessionId:n,currentSessionRef:r,endAgentResponse:s}=t();e.sessionId!==n||!r||e.projectPath!==r.projectPath||(s(),Z(e,t))},me=(e,t)=>{const n=t().currentSessionRef;!n||e.sessionId!==n.sessionId||e.projectPath!==n.projectPath||t().endAgentResponse()},tn=(e,t,n)=>{const{currentSessionId:r,currentSessionRef:s,endAgentResponse:a}=t();if(e.sessionId!==r)return;const i=e.taskFailure&&typeof e.taskFailure=="object"&&!Array.isArray(e.taskFailure)?e.taskFailure:void 0,o=Ue(i==null?void 0:i.code);n({agentPhase:"error",error:e.error||"An error occurred",errorContext:{kind:"execution",...s?{sessionRef:s}:{},...o?{failureCode:o}:{}}}),a(),Z(e,t)},nn=(e,t,n)=>{const{currentSessionId:r}=t();if(e.sessionId===r)if(e.status==="idle")n({isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0}),Z(e,t);else if(e.status==="queued"||e.status==="running"||e.status==="waiting_permission"){const s=typeof e.queued=="number"?Math.max(0,e.queued):0;n({isStreaming:!0,agentPhase:e.status==="waiting_permission"?"waiting_permission":"running",currentRunId:typeof e.runId=="string"?e.runId:t().currentRunId,pendingSteeringCount:s,pendingInputDelivery:s>0&&(e.pendingInputDelivery==="current_turn"||e.pendingInputDelivery==="next_turn")?e.pendingInputDelivery:null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})}else e.status==="error"&&n({isStreaming:!1,isStopping:!1,agentPhase:"error",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null})},sn=(e,t,n)=>{const{currentSessionId:r,endAgentResponse:s,messages:a,updateSubagent:i}=t();if(e.sessionId===r){n(o=>({isStreaming:!1,agentPhase:"idle",messages:o.messages.map(u=>{var c;const d=(c=u.agentContent)==null?void 0:c.elicitation;return(d==null?void 0:d.status)!=="pending"||!u.agentContent?u:{...u,agentContent:{...u.agentContent,elicitation:{...d,status:"cancelled"}}}})}));for(const o of a)for(const u of P(o.agentContent))u.status==="running"&&i(o.id,u.id,{status:"failed"});s()}},Ne=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({pendingSteeringCount:typeof e.queued=="number"?Math.max(0,e.queued):1,pendingInputDelivery:"current_turn"})},$e=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({pendingSteeringCount:typeof e.queued=="number"?Math.max(0,e.queued):1,pendingInputDelivery:"next_turn"})},on=(e,t,n)=>{if(typeof e.childSessionId=="string"){const r={...e,subagentSessionId:e.childSessionId,success:e.status==="completed"};C(t().messages,e.childSessionId,t().currentAssistantMessageId)?X(r,t):it(e.childSessionId,r,n)}e.delivery==="current_turn"?Ne(e,t,n):$e(e,t,n)},an=(e,t,n)=>{if(e.sessionId!==t().currentSessionId)return;const r=typeof e.queued=="number"?Math.max(0,e.queued):0;n({pendingSteeringCount:r,pendingInputDelivery:r>0?t().pendingInputDelivery:null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})},rn=(e,t,n)=>{if(e.sessionId!==t().currentSessionId)return;const r=typeof e.queued=="number"?Math.max(0,e.queued):0;n({agentPhase:"running",pendingSteeringCount:r,pendingInputDelivery:r>0?"current_turn":null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})},un=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:e.goal??null})},dn=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:null})},ln=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:e.goal??t().goal,isStreaming:!0,agentPhase:"running"})},cn=(e,t,n)=>{if(e.sessionId!==t().currentSessionId||!Array.isArray(e.messages))return;const r=Date.now(),s=e.messages.flatMap((a,i)=>{if(typeof a!="object"||a===null)return[];const o=a;return!["user","assistant","system","tool"].includes(String(o.role))||!Array.isArray(o.content)&&typeof o.content!="string"?[]:[{id:`rewind-${i}-${r}`,role:o.role,content:o.content,timestamp:r+i,metadata:typeof o.metadata=="object"&&o.metadata!==null?o.metadata:void 0,thinkingContent:typeof o.thinkingContent=="string"?o.thinkingContent:typeof o.reasoningContent=="string"?o.reasoningContent:void 0,tool_call_id:typeof o.tool_call_id=="string"?o.tool_call_id:void 0,name:typeof o.name=="string"?o.name:void 0,tool_calls:o.tool_calls}]});n({messages:Ve(s),isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,currentAssistantMessageId:null,hasToolCalls:!1})},gn=(e,t,n)=>{const r=t().currentSessionRef;if(!r||e.sessionId!==r.sessionId||e.projectPath!==r.projectPath)return;const s=e.status,a=s==="completed"||s==="stale"?"completed":s==="aborted"?"cancelled":s==="interrupted"?"interrupted":"failed";n(i=>({sessions:i.sessions.map(o=>o.sessionId===r.sessionId&&o.projectPath===r.projectPath?{...o,taskStatus:a,taskStatusReason:void 0,taskFailure:void 0,taskCompletedAt:new Date().toISOString()}:o)})),t().selectSession(r)},mn=(e,t,n)=>{ke({...e,messageId:`review-${String(e.reviewId??"active")}`,arguments:"{}"},t,n)},fn=(e,t,n)=>{we(e,t)},In=(e,t,n)=>{Pe(e,t,n)},Sn=(e,t)=>{const n=t().currentSessionRef;n&&queueMicrotask(()=>void t().loadTeams(n))},O={"message.created":ot,"message.delta":at,"message.complete":rt,"structured.output":ut,"thinking.delta":dt,"thinking.completed":lt,"tool.start":ke,"tool.progress":we,"tool.result":Pe,"mcp.catalog.changed":ct,"mcp.content.changed":gt,"mcp.resource.updated":mt,"mcp.connection.changed":ft,"mcp.log":It,"mcp.instructions.changed":St,"mcp.task.changed":ht,"project.rules.loaded":yt,"user.shell.started":bt,"user.shell.output":Ct,"user.shell.completed":vt,"token.usage":At,"task.updated":kt,"subagent.start":Tt,"subagent.update":wt,"subagent.delta":Pt,"subagent.thinking.delta":Nt,"subagent.tool.start":$t,"subagent.tool.progress":Mt,"subagent.tool.result":Rt,"subagent.mcp.catalog.changed":_t,"subagent.mcp.content.changed":xt,"subagent.mcp.resource.updated":jt,"subagent.mcp.connection.changed":Dt,"subagent.mcp.log":Ot,"subagent.mcp.instructions.changed":pt,"subagent.mcp.task.changed":Ft,"subagent.project.rules.loaded":qt,"subagent.complete":X,"subagent.completion.queued":on,"permission.asked":Et,"permission.timeout":Bt,"turn.started":ge,"turn.recovery":Kt,"committed.turn_started":ge,"committed.turn_completed":me,"committed.turn_aborted":me,"provider.admission":Lt,"provider.circuit":Ht,"provider.retry":Gt,"provider.stall":Qt,"action.stationarity":Yt,"compaction.started":Ut,"compaction.completed":Jt,"model.fallback":Wt,"question.required":zt,"elicitation.required":Xt,"interaction.resolved":Zt,"session.completed":en,"session.error":tn,"session.status":nn,"run.cancelled":sn,"steering.queued":Ne,"follow_up.queued":$e,"follow_up.started":rn,"steering.applied":an,"goal.updated":un,"goal.cleared":dn,"goal.continuation.started":ln,"session.rewound":cn,"review.tool.started":mn,"review.tool.progress":fn,"review.tool.completed":In,"review.completed":gn},hn=new Set(["message.complete","thinking.completed","session.completed","session.error","run.cancelled","committed.turn_completed","committed.turn_aborted"]);function yn(e,t){if(e.seq!==void 0||e.type!=="tool.start"&&e.type!=="tool.result")return;const n=t().currentSessionRef,r=e.properties.toolName,s=e.properties.toolCallId;if(!n||!Ze(r)||typeof s!="string")return;const a=et.getState();e.type==="tool.start"?a.beginAgentActivity(n,{toolCallId:s,toolName:r,argumentsValue:e.properties.arguments}):a.completeAgentActivity(n,{toolCallId:s,toolName:r,success:e.properties.success===!0||e.properties.status==="completed",metadata:e.properties.metadata}),Ge.getState().openFilePreview({tab:"browser"})}const kn=(e,t)=>n=>{const r=e().currentSessionRef,s=n.properties;if(!r||s.sessionId!==r.sessionId||s.projectPath!==r.projectPath)return;if(yn(n,e),n.type.startsWith("team.")){Sn(s,e);return}if(hn.has(n.type)){w.drainAll();const i=O[n.type];i&&i(n.properties,e,t);return}if(n.type==="tool.start"&&w.drainAll(),n.type==="message.delta"){const{currentSessionId:i,currentAssistantMessageId:o,hasToolCalls:u}=e();if(s.sessionId!==i)return;const d=s.messageId||o,c=s.delta;if(!o){const f=O["message.delta"];f&&f(s,e,t);return}const l=u?"after":"before",g=`content:${d}:${l}`;w.drainAllExcept(g),w.append(g,c,f=>{const{appendDelta:m}=e();d&&m(d,f,l)});return}if(n.type==="thinking.delta"){const{currentSessionId:i,currentAssistantMessageId:o}=e();if(s.sessionId!==i)return;if(!o){const l=O["thinking.delta"];l&&l(s,e,t);return}const u=s.delta,d=s.messageId||o,c=`thinking:${d}`;w.drainAllExcept(c),w.append(c,u,l=>{const{appendThinking:g}=e();d&&g(d,l)});return}if(n.type==="subagent.delta"){const{currentSessionId:i}=e();if(s.sessionId!==i)return;const o=s.delta;if(!o)return;const u=s.subagentSessionId||"",d=`subagent:${u}`,{currentAssistantMessageId:c,messages:l}=e(),g=C(l,u||void 0,c);w.append(d,o,f=>{const{currentAssistantMessageId:m,messages:S,updateSubagent:y}=e(),h=g||C(S,u||void 0,m);h&&y(h.messageId,h.subagent.id,I=>({sessionId:I.sessionId||u,output:(I.output||"")+f}))});return}if(n.type==="subagent.thinking.delta"){const{currentSessionId:i}=e();if(s.sessionId!==i)return;const o=s.delta;if(!o)return;const u=s.subagentSessionId||"",d=`subagent-thinking:${u}`,{currentAssistantMessageId:c,messages:l}=e(),g=C(l,u||void 0,c);w.append(d,o,f=>{const{currentAssistantMessageId:m,messages:S,updateSubagent:y}=e(),h=g||C(S,u||void 0,m);h&&y(h.messageId,h.subagent.id,I=>({sessionId:I.sessionId||u,thinking:(I.thinking||"")+f}))});return}const a=O[n.type];a&&a(n.properties,e,t)};export{Oe as a,le as b,$ as c,De as d,fe as e,Ve as f,P as g,kn as h,w as i,Ue as j,An as k,Ge as l,pe as m,p as n,et as o,vn as t,Ie as u,W as w};
@@ -1 +1 @@
1
- import{at as e,au as t,av as a,a3 as s,aw as m}from"./index-DNoVz0u1.js";import"./vendor-react-DofNRwfy.js";import"./vendor-radix-Bc1_Q9tz.js";import"./session-events-B4Cq2TwN.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{at as e,au as t,av as a,a3 as s,aw as m}from"./index-JJH0FKfo.js";import"./vendor-react-DofNRwfy.js";import"./vendor-radix-Bc1_Q9tz.js";import"./session-events-CO2pRY9U.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};
@@ -5,10 +5,10 @@
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-DNoVz0u1.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-JJH0FKfo.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DofNRwfy.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/vendor-radix-Bc1_Q9tz.js">
11
- <link rel="modulepreload" crossorigin href="/assets/session-events-B4Cq2TwN.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/session-events-CO2pRY9U.js">
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-DGf6Z2kM.css">
13
13
  </head>
14
14
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blade-code",
3
- "version": "0.10.99",
3
+ "version": "0.10.101",
4
4
  "private": false,
5
5
  "description": "🗡️ Blade Code - 智能代码助手命令行工具",
6
6
  "type": "module",
@@ -1,9 +0,0 @@
1
- import{m as R,n as c,o as g,p as d,q as m,r as l}from"./chunk-45sgvghd.js";import{U as M,aa as y}from"./chunk-ap8539bw.js";import"./chunk-0zhdjaen.js";import"./chunk-bdbyy2ah.js";import"./chunk-hz5rsfxv.js";import{Db as h,Mb as A}from"./chunk-mq4x8zhq.js";import"./chunk-8hprmrd5.js";import{Cd as w,Qd as U}from"./chunk-x5j6nexe.js";import"./chunk-s0tq8gyx.js";import"./chunk-h8qjkxee.js";import{oe as C}from"./chunk-1gjn9bp7.js";import{qe as I,re as S,se as v}from"./chunk-2jffgzdf.js";import{te as O}from"./chunk-10taec1j.js";import"./chunk-rej5bbbs.js";import{Qe as P}from"./chunk-1pscfw5q.js";import"./chunk-v508x7cg.js";import"./chunk-dg0d3303.js";import"./chunk-3awjdsef.js";import"./chunk-53xtssbf.js";import"./chunk-2hb222re.js";import"./chunk-r22mdmtr.js";import"./chunk-d7j7z8hy.js";import"./chunk-fvfc95g3.js";import"./chunk-qcy79mva.js";import"./chunk-p0rvgzpx.js";import"./chunk-6yz49rz2.js";import"./chunk-c6tq09mt.js";import"./chunk-fqwq3626.js";import{xh as F}from"./chunk-f9asjkfz.js";import"./chunk-czcxx8tb.js";import"./chunk-maebpz1j.js";import{Nh as z}from"./chunk-9sx3vsyj.js";import"./chunk-70hwyc2w.js";import"./chunk-d8wzc602.js";import"./chunk-425p4nwx.js";import"./chunk-k7vv9vne.js";import"./chunk-mhfwp1f0.js";import"./chunk-cp7xsjj2.js";import"./chunk-2va6ex5v.js";import"./chunk-q3vza5gt.js";import"./chunk-w9xfks7f.js";import p from"yargs";import{hideBin as e}from"yargs/helpers";var s=new Set(Object.values(F));function t(j){if(j&&s.has(j))return j;return}function x(j){if(j.options.outputFormat==="json")j.io.stdout.write(`${JSON.stringify({response:j.response,...j.structuredOutput?{structured_output:j.structuredOutput,output_schema_digest:j.structuredOutputSchemaDigest}:{},input:j.requestInput,model:j.options.model,timestamp:new Date().toISOString()},null,2)}
2
- `);else if(j.options.outputFormat==="stream-json")j.io.stdout.write(`${JSON.stringify(j.structuredOutput?{type:"structured_output",output:j.structuredOutput,schema_digest:j.structuredOutputSchemaDigest}:{type:"response",content:j.response})}
3
- `);else j.io.stdout.write(`${j.response}
4
- `)}function i(j){return j.command("* [message]","Print response and exit (useful for pipes)",(B)=>B.positional("message",{describe:"Message to process",type:"string"}).option("p",{alias:"print",describe:"Print response and exit (useful for pipes)",type:"boolean"}).option("output-format",{describe:'Output format: "text", "json", "stream-json"',type:"string",default:"text"}).option("include-partial-messages",{describe:"Include partial message chunks as they arrive",type:"boolean"}).option("input-format",{describe:'Input format: "text", "stream-json"',type:"string",default:"text"}).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("model",{describe:"Model for the current session",type:"string"}).option("append-system-prompt",{describe:"Append a system prompt to the default system prompt",type:"string"}).option("system-prompt",{describe:"Replace the default system prompt",type:"string"}).option("max-turns",{alias:["maxTurns"],describe:"Maximum conversation turns (-1: unlimited, N>0: limit to N turns)",type:"number"}),async(B)=>{if(!B.p)return;let q=await n(B);process.exit(q)})}async function n(j,B=process){let q;try{await R();let _=j.forkSession!==!0&&(j.continue===!0||typeof j.resume==="string"&&j.resume.length>0)?await g({message:j.message,_:j._}):await c({message:j.message,_:j._,defaultMessage:"Hello"}),J=_===void 0,T=J?{mode:"agent",content:""}:await d(_);if(T.mode==="output"){if(T.content)B.stdout.write(`${T.content}
5
- `);return T.exitCode??0}let K=T.content,V=await m(j),W=K.trimStart().startsWith("!")?K.trimStart().slice(1).trim():void 0;if(W!==void 0&&V)throw Error("Output schemas cannot be combined with user shell commands");let{sessionId:H,messages:a,metadata:D}=await l({sessionId:j.sessionId,continue:j.continue,resume:j.resume,forkSession:j.forkSession,fallbackSessionPrefix:"print"}),X=D?.projectPath??z(),$=t(j.permissionMode)??D?.permissionMode??P()?.permissionMode??"default";await U.setSessionPermissionMode(H,X,$);let E=await A.cancelPendingNonInteractive(X,H)?await U.loadSessionModelContext(H,X):a;q=await M.create({sessionId:H,workspaceRoot:X,modelId:j.model,permissionMode:$,mcpConfig:j.mcpConfig,strictMcpConfig:j.strictMcpConfig,agents:j.agents?O(j.agents):void 0,...E.length>0?{sessionStart:{isResume:!0,resumeSessionId:H}}:{}});let b=J&&q.getPendingSteeringCount()>0,G=J&&!b?await q.getGoal():null,f=G?.status==="active"||G?.status==="verifying",L=J&&!b&&!f?await q.getRecoveredFinalResponse():void 0;if(J&&!b&&!f){if(!L)throw Error("No unfinished turn or active goal to resume");return x({io:B,options:j,response:L.content,requestInput:K,structuredOutput:L.structuredOutput,structuredOutputSchemaDigest:L.structuredOutputSchemaDigest}),0}if(W!==void 0){let Q=await q.executeUserShellCommand(W);if(j.outputFormat==="json")B.stdout.write(`${JSON.stringify(Q,null,2)}
6
- `);else if(j.outputFormat==="stream-json")B.stdout.write(`${JSON.stringify({type:"user_shell_completed",executionId:Q.executionId,record:Q.record})}
7
- `);else B.stdout.write(`${w(Q.record)}
8
- `);return Q.record.status==="completed"?0:Q.record.status==="aborted"?130:Q.record.exitCode??1}let N=await y.createWithRuntime(q,{sessionId:H,systemPrompt:j.systemPrompt,appendSystemPrompt:j.appendSystemPrompt,maxTurns:j.maxTurns,modelId:j.model,permissionMode:$,toolWhitelist:j.allowedTools,toolBlacklist:j.disallowedTools,mcpConfig:j.mcpConfig,strictMcpConfig:j.strictMcpConfig}),k={messages:[...E],userId:"cli-user",sessionId:H,workspaceRoot:X,permissionMode:$},Y=await h(V||J?N.chatStream(K,k,{...V?{outputSchema:V}:{},pendingInputOnly:b,goalContinuationOnly:f}):N.chatStream(K,k));if(!Y.success)throw Error(Y.error?.message??"Agent execution failed");let r=Y.finalMessage||"",u=Y.metadata?.structuredOutput;return x({io:B,options:j,response:r,requestInput:K,structuredOutput:u,structuredOutputSchemaDigest:Y.metadata?.structuredOutputSchemaDigest}),0}catch(Z){return B.stderr.write(`Error: ${Z instanceof Error?Z.message:"未知错误"}
9
- `),1}finally{await q?.dispose()}}async function _j(){if(process.argv.slice(2).findIndex((q)=>q==="--print"||q==="-p")===-1)return!1;try{let{print:q,"output-format":Z,"include-partial-messages":_,"input-format":J,"system-prompt":T,"append-system-prompt":K,"max-turns":V,...W}=C,H=p(e(process.argv)).scriptName("blade").strict(!1).options(W).middleware([S,I,v]);return i(H),await H.parse(),!0}catch(q){console.error(`Print mode error: ${q instanceof Error?q.message:"未知错误"}`),process.exit(1)}}export{n as runPrint,_j as handlePrintMode};