blade-code 0.10.34 → 0.10.35
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.
- package/dist/blade.js +2 -2
- package/dist/{chunk-p01t6c78.js → chunk-015fx09x.js} +2 -2
- package/dist/{chunk-16449n3m.js → chunk-031n82db.js} +1 -1
- package/dist/{chunk-jdms602t.js → chunk-0g7cjx1t.js} +1 -1
- package/dist/{chunk-0kqp5z4v.js → chunk-0hdsbwhf.js} +2 -2
- package/dist/{chunk-1qj0qms6.js → chunk-0zs3mn75.js} +1 -1
- package/dist/{chunk-pnjftj8t.js → chunk-132q0hyf.js} +2 -2
- package/dist/{chunk-prqgpq92.js → chunk-1jagjybs.js} +1 -1
- package/dist/{chunk-7a8k7ck4.js → chunk-2kzg80r3.js} +1 -1
- package/dist/{chunk-ba2dky3s.js → chunk-2y4qyct0.js} +1 -1
- package/dist/{chunk-c23bewtt.js → chunk-38ca5c9f.js} +1 -1
- package/dist/chunk-39wa7cfr.js +1 -0
- package/dist/{chunk-00gwp388.js → chunk-3nn4rth6.js} +1 -1
- package/dist/{chunk-95jjpdh9.js → chunk-3qmawdwf.js} +2 -2
- package/dist/{chunk-vfecv6cv.js → chunk-4en93rc4.js} +1 -1
- package/dist/{chunk-7afbvxqt.js → chunk-4ncddyay.js} +2 -2
- package/dist/{chunk-2sdbj0zz.js → chunk-4s6w24r3.js} +2 -2
- package/dist/chunk-51b7jb2s.js +1 -0
- package/dist/{chunk-rjg5rq90.js → chunk-6b1vvq1f.js} +1 -1
- package/dist/{chunk-wz6atg87.js → chunk-6r9jb465.js} +4 -4
- package/dist/{chunk-qd7r2w39.js → chunk-6v51xb9r.js} +1 -1
- package/dist/chunk-7cbe8yjn.js +1 -0
- package/dist/{chunk-fw1fm9cn.js → chunk-7jja0242.js} +1 -1
- package/dist/{chunk-sexhm0r5.js → chunk-7m5az521.js} +1 -1
- package/dist/{chunk-nq1wqpsx.js → chunk-83w81bma.js} +1 -1
- package/dist/{chunk-64f79ce5.js → chunk-9h41rm97.js} +2 -2
- package/dist/{chunk-fb80q06q.js → chunk-a1wjgf44.js} +2 -2
- package/dist/{chunk-y9a1jwnv.js → chunk-aytg9gw0.js} +2 -2
- package/dist/chunk-b7xdtjh8.js +1610 -0
- package/dist/{chunk-2gca6fvf.js → chunk-ck9r8h1h.js} +2 -2
- package/dist/chunk-cz1hb799.js +1 -0
- package/dist/chunk-d4hcy6p1.js +2 -0
- package/dist/{chunk-1142vwqa.js → chunk-dbwa9rwr.js} +2 -2
- package/dist/{chunk-bx99mx3k.js → chunk-eqj58q4r.js} +1 -1
- package/dist/chunk-fbxgxwfm.js +1 -0
- package/dist/chunk-gcyd5s5h.js +1 -0
- package/dist/{chunk-vqqxjgf2.js → chunk-gg179pdx.js} +1 -1
- package/dist/chunk-h7v23pw2.js +1 -0
- package/dist/chunk-hk36a59x.js +1 -0
- package/dist/{chunk-ysr3frmw.js → chunk-hq8cbzfv.js} +1 -1
- package/dist/{chunk-h34g9v9z.js → chunk-hymw69m4.js} +1 -1
- package/dist/{chunk-3ctcv013.js → chunk-js5whev4.js} +2 -2
- package/dist/{chunk-ag0z1q2q.js → chunk-k5gv2phs.js} +1 -1
- package/dist/chunk-mkmcwc5r.js +1 -0
- package/dist/{chunk-58gk92k3.js → chunk-nwtgx6p6.js} +1 -1
- package/dist/{chunk-fjbptkh2.js → chunk-pf8rybpm.js} +2 -2
- package/dist/{chunk-b9y9mc7f.js → chunk-pmxqjb29.js} +1 -1
- package/dist/chunk-pn2e99pn.js +1 -0
- package/dist/{chunk-crwa61tq.js → chunk-q30azbe2.js} +1 -1
- package/dist/{chunk-5v642sh3.js → chunk-qf357j45.js} +2 -2
- package/dist/chunk-qhfbdp5e.js +1 -0
- package/dist/{chunk-1ep6bcpc.js → chunk-r84jsjnc.js} +1 -1
- package/dist/chunk-r9j56qcs.js +1 -0
- package/dist/{chunk-d3gx05ph.js → chunk-rcp5maxt.js} +3 -3
- package/dist/{chunk-v6x80gdg.js → chunk-rwtgrs8d.js} +1 -1
- package/dist/chunk-sbyyg6qg.js +204 -0
- package/dist/chunk-se9krwes.js +6 -0
- package/dist/{chunk-7ryqs453.js → chunk-sqp79c1a.js} +2 -2
- package/dist/{chunk-dsxjgty6.js → chunk-t1zs40rj.js} +2 -2
- package/dist/chunk-tencwrxf.js +1 -0
- package/dist/{chunk-5knt529c.js → chunk-vpe44cnj.js} +2 -2
- package/dist/chunk-wf7ycftn.js +1 -0
- package/dist/{chunk-sgyk3gq1.js → chunk-wmvj44cr.js} +2 -2
- package/dist/{chunk-d90tnjst.js → chunk-xf03b657.js} +1 -1
- package/dist/{chunk-mr0xs5t4.js → chunk-y5kp6fmy.js} +1 -1
- package/dist/{chunk-t1z46fqz.js → chunk-ytec29ph.js} +1 -1
- package/dist/chunk-z45qe8dg.js +2 -0
- package/dist/chunk-zhr1btfv.js +10 -0
- package/dist/{chunk-3j6bsp1q.js → chunk-zj29g9rc.js} +2 -2
- package/dist/{chunk-dvf4cfye.js → chunk-znp4bexg.js} +1 -1
- package/dist/web/assets/{ChatView-B7_Um8KR.js → ChatView-Dx9j7CGg.js} +2 -2
- package/dist/web/assets/{CodeBlockHighlighter-JzE91vkT.js → CodeBlockHighlighter-CZADKR6S.js} +1 -1
- package/dist/web/assets/{FilePreview-BTbtoUBJ.js → FilePreview-BOIDa_oJ.js} +1 -1
- package/dist/web/assets/{MarkdownRenderer-IaPtOh2w.js → MarkdownRenderer-DXsfHVUX.js} +3 -3
- package/dist/web/assets/{SettingsModal-CPgWPfZ2.js → SettingsModal-lQveNhC6.js} +1 -1
- package/dist/web/assets/{TaskSwitcher-D4RZxQKp.js → TaskSwitcher-BSrmpJ2u.js} +1 -1
- package/dist/web/assets/{TerminalPanel-yWbQfbYa.js → TerminalPanel-BFre9Shc.js} +1 -1
- package/dist/web/assets/{index-BnCT8SxR.js → index-DGZjm9wT.js} +4 -4
- package/dist/web/assets/{session-events-BZao_jMQ.js → session-events-Dk20sSDo.js} +19 -19
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/chunk-2c8d4q3y.js +0 -1
- package/dist/chunk-5f956qbf.js +0 -1
- package/dist/chunk-87ge6dkk.js +0 -2
- package/dist/chunk-958rac3y.js +0 -1
- package/dist/chunk-ap5qpeh4.js +0 -1
- package/dist/chunk-c6fq52m9.js +0 -1
- package/dist/chunk-dvyv53nz.js +0 -1
- package/dist/chunk-ecsj4njh.js +0 -1
- package/dist/chunk-epyys9aw.js +0 -6
- package/dist/chunk-g0gqxn3c.js +0 -2
- package/dist/chunk-h3cvnbah.js +0 -1
- package/dist/chunk-jh6b81rb.js +0 -10
- package/dist/chunk-mxffhqe5.js +0 -1610
- package/dist/chunk-qr8j2mr6.js +0 -1
- package/dist/chunk-s1j86hhh.js +0 -204
- package/dist/chunk-s3sv04hf.js +0 -1
- package/dist/chunk-sjc7bm23.js +0 -1
- package/dist/chunk-tvrxzsna.js +0 -1
- package/dist/chunk-vhpvt5v8.js +0 -1
- package/dist/chunk-zp9p9tk6.js +0 -1
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
var
|
|
1
|
+
var ye=Object.defineProperty;var Ce=(e,t,n)=>t in e?ye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var K=(e,t,n)=>Ce(e,typeof t!="symbol"?t+"":t,n);function M(){return{timeline:[],textBefore:"",toolCalls:[],textAfter:"",thinkingContent:"",tasks:[],subagent:null,subagents:[],confirmation:null,question:null,elicitation:null}}function N(e){return e?e.subagents&&e.subagents.length>0?e.subagents:e.subagent?[e.subagent]:[]:[]}function B(e,t,n){const a=(n?t.find(o=>o.id===n||o.sessionId===n):void 0)??t[t.length-1]??null;return{...e,subagents:t,subagent:a}}function ue(e,t){const n=[...N(e)];let a=n.findIndex(s=>s.id===t.id||!!(s.sessionId&&t.sessionId&&s.sessionId===t.sessionId));if(a===-1&&t.sessionId&&(a=n.findIndex(s=>!s.sessionId&&s.status==="running"&&s.type===t.type&&s.description===t.description)),a===-1)return n.push(t),B(e,n,t.id);const o=n[a],u={...o,...t,id:o.id};return n[a]=u,B(e,n,u.id)}function H(e,t){return`${t}-${e.length}`}function be(e,t){if(!t)return e;const n=[..._(e)],a=n[n.length-1];return(a==null?void 0:a.type)==="text"?n[n.length-1]={...a,content:a.content+t}:n.push({id:H(n,"text"),type:"text",content:t}),{...e,timeline:n}}function ve(e,t){if(!t)return e;const n=[..._(e)],a=n[n.length-1];return(a==null?void 0:a.type)==="thinking"?n[n.length-1]={...a,content:a.content+t}:n.push({id:H(n,"thinking"),type:"thinking",content:t}),{...e,timeline:n}}function oe(e,t){const n=e.toolCalls.some(s=>s.toolCallId===t.toolCallId),a=n?e.toolCalls:[...e.toolCalls,t];if(n)return{...e,toolCalls:a};const o=[..._(e)],u=o[o.length-1];return(u==null?void 0:u.type)==="tool_group"?o[o.length-1]={...u,toolCallIds:[...u.toolCallIds,t.toolCallId]}:o.push({id:H(o,"tool_group"),type:"tool_group",toolCallIds:[t.toolCallId]}),{...e,timeline:o,toolCalls:a}}function _(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 Ae(e){return _(e).filter(t=>t.type==="text").map(t=>t.content).filter(Boolean).join(`
|
|
2
2
|
|
|
3
|
-
`)}const
|
|
4
|
-
`)}function U(e){if(!e.agentContent)return e;let t=e.agentContent;for(const n of $e(e.id,e.metadata))t=ue(t,n);return{...e,agentContent:t}}function Ne(e){var a,o,u;const t=[];let n=null;for(const s of e)if(s.role!=="system"){if(s.role==="user")n&&(t.push(U(n)),n=null),t.push({id:s.id,role:s.role,content:s.content,timestamp:s.timestamp||Date.now(),metadata:s.metadata});else if(s.role==="assistant"){n&&t.push(U(n));const i=s.metadata;let r=M();s.thinkingContent&&(r=be(r,s.thinkingContent),r.thinkingContent=s.thinkingContent);const d=x(s.content);if(d&&(r=Ce(r,d),r.textBefore=d),s.tool_calls&&Array.isArray(s.tool_calls))for(const c of s.tool_calls){const l=((a=c.function)==null?void 0:a.name)||"Unknown",g=le((o=c.function)==null?void 0:o.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;r=ue(r,{id:F({explicitId:c.id,sessionId:typeof m.subagent_session_id=="string"?m.subagent_session_id:void 0,messageId:s.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 I={toolCallId:L({explicitId:c.id,messageId:s.id,toolName:l,argumentsValue:(u=c.function)==null?void 0:u.arguments}),toolName:l,arguments:g,status:"running",startTime:Date.now()};r=oe(r,I)}n={id:s.id,role:"assistant",content:x(s.content),timestamp:s.timestamp||Date.now(),metadata:i,agentContent:r}}else if(s.role==="tool"&&n&&n.agentContent){const i=s,r=s.metadata,d=i.tool_call_id||(r==null?void 0:r.toolCallId),c=i.name||(r==null?void 0:r.toolName)||"Tool",l=r!=null&&r.metadata&&typeof r.metadata=="object"&&!Array.isArray(r.metadata)?r.metadata:r,g=r!=null&&r.independentVerification&&typeof r.independentVerification=="object"&&!Array.isArray(r.independentVerification)?r.independentVerification:void 0,I=(r==null?void 0:r.status)==="failed"||(r==null?void 0:r.status)==="error"||typeof(r==null?void 0:r.error)=="string"&&r.error.length>0,m=N(n.agentContent),S=m.findIndex(h=>h.id===d);if(S>=0){const h=m[S],f=typeof(l==null?void 0:l.subagentStatus)=="string"?G(l.subagentStatus):I?"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:f,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(s.content)||h.output},n.agentContent=B(n.agentContent,m,h.id);continue}const y=n.agentContent.toolCalls.find(h=>h.toolCallId===d);y?(y.output=x(s.content),y.status=I?"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=oe(n.agentContent,{toolCallId:L({explicitId:d,messageId:n.id,toolName:c,output:x(s.content)}),toolName:c,output:x(s.content),status:I?"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 ce={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",runtime:"task.failure.runtime"},Me={authentication:!1,permission:!1,rate_limit:!0,timeout:!0,network:!0,model_unavailable:!0,context_limit:!1,unsupported_input:!1,runtime:!0};function Pe(e){if(typeof e=="string"&&Object.keys(ce).includes(e))return e}function Ut(e){return ce[e]}function Bt(e){return Me[e]}const Re={flushTimeout:80};class xe{constructor(t){K(this,"config");K(this,"channels",new Map);this.config={...Re,...t}}append(t,n,a){let o=this.channels.get(t);o||(o={buffer:"",timer:null,flushFn:null},this.channels.set(t,o)),o.buffer+=n,o.flushFn=a,o.timer||(o.timer=setTimeout(()=>{this.flushChannel(t)},this.config.flushTimeout))}flushChannel(t){const n=this.channels.get(t);if(!n||!n.buffer)return;const a=n.buffer,o=n.flushFn;n.buffer="",n.timer&&(clearTimeout(n.timer),n.timer=null),o==null||o(a)}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,a]of this.channels)n!==t&&!a.buffer&&this.channels.delete(n)}reset(){for(const[,t]of this.channels)t.timer&&clearTimeout(t.timer);this.channels.clear()}}const $=new xe,De=100,b=(e,t,n)=>{if(t)for(const a of e){const o=N(a.agentContent).find(u=>u.id===t||u.sessionId===t);if(o)return{messageId:a.id,subagent:o}}if(n){const a=e.find(s=>s.id===n),o=N(a==null?void 0:a.agentContent),u=o.find(s=>s.status==="running")??o[o.length-1];if(u)return{messageId:n,subagent:u}}for(const a of[...e].reverse()){const o=N(a.agentContent),u=o.find(s=>s.status==="running")??o[o.length-1];if(u)return{messageId:a.id,subagent:u}}};function we(e,t,n){n(a=>{const o={...a.pendingSubagentCompletions??{}};if(o[e]===void 0&&Object.keys(o).length>=De){const u=Object.keys(o)[0];u&&delete o[u]}return o[e]={...t},{pendingSubagentCompletions:o}})}function Q(e,t,n){var u;if(!e)return;const a=(u=t().pendingSubagentCompletions)==null?void 0:u[e];!a||!b(t().messages,e,t().currentAssistantMessageId)||(W({...a,subagentSessionId:e,success:a.status==="completed"},t),n(s=>{const i={...s.pendingSubagentCompletions??{}};return delete i[e],{pendingSubagentCompletions:i}}))}const v=(e,t,n,a=!1)=>{const{currentAssistantMessageId:o,messages:u,addMessage:s,startAgentResponse:i}=e();if(n&&a){const l=u.find(I=>I.id===n&&I.role==="assistant");if(l)return i(l.id),l.id;const g={id:n,role:"assistant",content:"",timestamp:Date.now(),agentContent:M()};return s(g),i(n),n}if(o&&!o.startsWith("call_")&&u.some(l=>l.id===o&&l.role==="assistant"))return o;if(n){const l=u.find(g=>g.id===n&&g.role==="assistant");if(l)return i(l.id),l.id}const r=u[u.length-1];if((r==null?void 0:r.role)==="assistant")return r.id;const d=n||`assistant-${Date.now()}`,c={id:d,role:"assistant",content:"",timestamp:Date.now(),agentContent:M()};return s(c),i(d),t(l=>({messages:l.messages.map(g=>g.id===d?{...g,agentContent:{...g.agentContent||M()}}:g)})),d},_e=(e,t,n)=>{const{currentSessionId:a,addMessage:o,startAgentResponse:u,messages:s,updateMessage:i}=t();if(e.sessionId!==a)return;const r=e.messageId,d=e.role||"assistant",c=s.find(g=>g.id===r),l={id:r,role:d,content:e.content||"",timestamp:Date.now(),agentContent:d==="assistant"?M():void 0};c?i(r,{role:d,content:l.content,agentContent:d==="assistant"?{...c.agentContent||M()}:void 0}):o(l),d==="assistant"&&u(r)},je=(e,t,n)=>{const{currentSessionId:a,appendDelta:o,currentAssistantMessageId:u,hasToolCalls:s,addMessage:i,startAgentResponse:r}=t();if(e.sessionId!==a)return;const d=e.messageId,c=e.delta;if(!u){const g={id:d,role:"assistant",content:"",timestamp:Date.now(),agentContent:M()};i(g),r(d),t().appendDelta(d,c,"before");return}o(u,c,s?"after":"before")},Fe=(e,t)=>{const{currentSessionId:n,updateMessage:a,messages:o}=t();if(e.sessionId!==n)return;const u=e.messageId,s=o.find(i=>i.id===u);s!=null&&s.agentContent&&a(u,{content:ve(s.agentContent)})},qe=(e,t,n)=>{var r;const{currentSessionId:a}=t();if(e.sessionId!==a)return;const o=e.output;if(!o||typeof o!="object"||Array.isArray(o))return;const u=v(t,n,e.messageId);if(!u)return;const s=t().messages.find(d=>d.id===u);if(!s)return;const i=JSON.stringify(o,null,2);t().updateMessage(u,{content:i,metadata:{...s.metadata,structuredOutput:{output:o,schemaDigest:e.schemaDigest}},agentContent:s.agentContent?{...s.agentContent,textBefore:"",textAfter:"",timeline:(r=s.agentContent.timeline)==null?void 0:r.filter(d=>d.type!=="text")}:void 0})},Oe=(e,t,n)=>{const{currentSessionId:a,appendThinking:o}=t();if(e.sessionId!==a)return;const u=v(t,n,e.messageId);u&&o(u,e.delta)},Ee=()=>{},ge=(e,t,n)=>{const{currentSessionId:a,appendToolCall:o,setHasToolCalls:u,setSubagent:s}=t();if(e.sessionId!==a)return;const i=v(t,n,e.messageId||e.toolCallId,typeof e.messageId=="string");if(!i)return;u(!0);const r=e.toolName||"Unknown",d=e.arguments;let c,l="",g,I;if(r==="Task")try{const S=JSON.parse(d);c=S.subagent_type,l=S.description||S.query||c||"",g=S.subagent_session_id,I=S.resume_from||S.resume}catch{}if(c){s(i,{id:F({explicitId:e.toolCallId,sessionId:g,messageId:i,agentType:c,description:l}),type:c,description:l,status:"running",startTime:Date.now(),sessionId:g,resumedFrom:I,output:"",thinking:""}),Q(g,t,n);return}const m={toolCallId:L({explicitId:e.toolCallId,messageId:i,toolName:r,argumentsValue:d,toolKind:e.toolKind}),toolName:r,arguments:d,toolKind:e.toolKind,status:"running",startTime:Date.now()};o(i,m)},me=(e,t)=>{const{currentSessionId:n,updateToolCall:a,messages:o}=t();if(e.sessionId!==n)return;const u=e.toolCallId;if(!u)return;const s=o.find(i=>{var r;return(r=i.agentContent)==null?void 0:r.toolCalls.some(d=>d.toolCallId===u)});s&&a(s.id,u,{summary:e.message,progress:typeof e.progress=="number"?e.progress:void 0,progressTotal:typeof e.total=="number"?e.total:void 0,progressMessage:e.message})},fe=(e,t,n)=>{var se;const{currentSessionId:a,appendToolCall:o,setHasToolCalls:u,updateToolCall:s,updateSubagent:i,messages:r}=t();if(e.sessionId!==a)return;const d=e.toolCallId;if(!d)return;const c=r.find(A=>{var k;return(k=A.agentContent)==null?void 0:k.toolCalls.some(R=>R.toolCallId===d)}),l=r.find(A=>N(A.agentContent).some(k=>k.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 I=typeof e.output=="string"?e.output:"",m=e.success===!0||e.status==="completed",S=e.summary||(I&&I.trim()?I.trim().split(`
|
|
5
|
-
`)[0].slice(0,120):m?"执行成功":"执行失败"),y=(se=c==null?void 0:c.agentContent)==null?void 0:se.toolCalls.find(A=>A.toolCallId===d),h=typeof e.toolName=="string"?e.toolName:(y==null?void 0:y.toolName)??"Unknown",f=e.metadata;c?s(g,d,{status:m?"success":"error",summary:S,output:I,metadata:f}):l||(u(!0),o(g,{toolCallId:d,toolName:h,status:m?"success":"error",summary:S,output:I,startTime:Date.now(),metadata:f}));const q=t().messages.find(A=>A.id===g),
|
|
6
|
-
`)})},
|
|
7
|
-
`)})},
|
|
8
|
-
`)})},
|
|
9
|
-
`)})},
|
|
10
|
-
`)})},
|
|
11
|
-
`)};if((m=(I=t().messages.find(S=>S.id===d))==null?void 0:I.agentContent)==null?void 0:m.toolCalls.some(S=>S.toolCallId===r)){u(d,r,l);return}o(d,{toolCallId:r,toolName:"MCP Task",arguments:JSON.stringify({taskId:s,serverName:e.serverName,toolName:e.toolName}),toolKind:"readonly",status:l.status,startTime:Number(e.createdAt)||Date.now(),summary:l.summary,output:l.output})},
|
|
12
|
-
`)})},z=e=>`user-shell-${e}`,
|
|
13
|
-
${r}`,metadata:{...s.metadata,userShellExecution:{...i,output:r,streamTruncated:e.streamTruncated===!0}}})},
|
|
3
|
+
`)}const ke=2166136261,Te=16777619;function J(e){return e==null?"":typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):Array.isArray(e)?`[${e.map(t=>J(t)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).sort(([n],[a])=>n.localeCompare(a)).map(([n,a])=>`${JSON.stringify(n)}:${J(a)}`).join(",")}}`:JSON.stringify(e)}function de(e){let t=ke>>>0;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,Te);return(t>>>0).toString(16)}function le(e){return typeof e=="string"?e:J(e??{})}function G(e){return e==="completed"?"completed":e==="failed"||e==="cancelled"?"failed":"running"}function L({explicitId:e,messageId:t,toolName:n,argumentsValue:a,toolKind:o,output:u}){if(e)return e;const s=[t||"unknown-message",n||"Unknown",le(a),o||"",u||""].join("|");return`tool-${de(s)}`}function F({explicitId:e,sessionId:t,messageId:n,agentType:a,description:o,summary:u}){if(e)return e;if(t)return t;const s=[n||"unknown-message",a||"subagent",o||"",u||""].join("|");return`subagent-${de(s)}`}const $e=(e,t)=>{if(!t||typeof t!="object")return null;const n=G(t.status),a=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:a}},Ne=(e,t)=>!t||typeof t!="object"?[]:(Array.isArray(t.subtaskRefs)?t.subtaskRefs:t.subtaskRef&&typeof t.subtaskRef=="object"?[t.subtaskRef]:[]).map(a=>$e(e,a)).filter(a=>a!==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 Ne(e.id,e.metadata))t=ue(t,n);return{...e,agentContent:t}}function Me(e){var a,o,u;const t=[];let n=null;for(const s of e)if(s.role!=="system"){if(s.role==="user")n&&(t.push(U(n)),n=null),t.push({id:s.id,role:s.role,content:s.content,timestamp:s.timestamp||Date.now(),metadata:s.metadata});else if(s.role==="assistant"){n&&t.push(U(n));const i=s.metadata;let r=M();s.thinkingContent&&(r=ve(r,s.thinkingContent),r.thinkingContent=s.thinkingContent);const d=x(s.content);if(d&&(r=be(r,d),r.textBefore=d),s.tool_calls&&Array.isArray(s.tool_calls))for(const c of s.tool_calls){const l=((a=c.function)==null?void 0:a.name)||"Unknown",g=le((o=c.function)==null?void 0:o.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;r=ue(r,{id:F({explicitId:c.id,sessionId:typeof m.subagent_session_id=="string"?m.subagent_session_id:void 0,messageId:s.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 I={toolCallId:L({explicitId:c.id,messageId:s.id,toolName:l,argumentsValue:(u=c.function)==null?void 0:u.arguments}),toolName:l,arguments:g,status:"running",startTime:Date.now()};r=oe(r,I)}n={id:s.id,role:"assistant",content:x(s.content),timestamp:s.timestamp||Date.now(),metadata:i,agentContent:r}}else if(s.role==="tool"&&n&&n.agentContent){const i=s,r=s.metadata,d=i.tool_call_id||(r==null?void 0:r.toolCallId),c=i.name||(r==null?void 0:r.toolName)||"Tool",l=r!=null&&r.metadata&&typeof r.metadata=="object"&&!Array.isArray(r.metadata)?r.metadata:r,g=r!=null&&r.independentVerification&&typeof r.independentVerification=="object"&&!Array.isArray(r.independentVerification)?r.independentVerification:void 0,I=(r==null?void 0:r.status)==="failed"||(r==null?void 0:r.status)==="error"||typeof(r==null?void 0:r.error)=="string"&&r.error.length>0,m=N(n.agentContent),S=m.findIndex(h=>h.id===d);if(S>=0){const h=m[S],f=typeof(l==null?void 0:l.subagentStatus)=="string"?G(l.subagentStatus):I?"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:f,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(s.content)||h.output},n.agentContent=B(n.agentContent,m,h.id);continue}const y=n.agentContent.toolCalls.find(h=>h.toolCallId===d);y?(y.output=x(s.content),y.status=I?"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=oe(n.agentContent,{toolCallId:L({explicitId:d,messageId:n.id,toolName:c,output:x(s.content)}),toolName:c,output:x(s.content),status:I?"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 ce={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",runtime:"task.failure.runtime"},Pe={authentication:!1,permission:!1,rate_limit:!0,timeout:!0,network:!0,model_unavailable:!0,context_limit:!1,unsupported_input:!1,runtime:!0};function Re(e){if(typeof e=="string"&&Object.keys(ce).includes(e))return e}function Bt(e){return ce[e]}function Jt(e){return Pe[e]}const xe={flushTimeout:80};class De{constructor(t){K(this,"config");K(this,"channels",new Map);this.config={...xe,...t}}append(t,n,a){let o=this.channels.get(t);o||(o={buffer:"",timer:null,flushFn:null},this.channels.set(t,o)),o.buffer+=n,o.flushFn=a,o.timer||(o.timer=setTimeout(()=>{this.flushChannel(t)},this.config.flushTimeout))}flushChannel(t){const n=this.channels.get(t);if(!n||!n.buffer)return;const a=n.buffer,o=n.flushFn;n.buffer="",n.timer&&(clearTimeout(n.timer),n.timer=null),o==null||o(a)}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,a]of this.channels)n!==t&&!a.buffer&&this.channels.delete(n)}reset(){for(const[,t]of this.channels)t.timer&&clearTimeout(t.timer);this.channels.clear()}}const $=new De,we=100,b=(e,t,n)=>{if(t)for(const a of e){const o=N(a.agentContent).find(u=>u.id===t||u.sessionId===t);if(o)return{messageId:a.id,subagent:o}}if(n){const a=e.find(s=>s.id===n),o=N(a==null?void 0:a.agentContent),u=o.find(s=>s.status==="running")??o[o.length-1];if(u)return{messageId:n,subagent:u}}for(const a of[...e].reverse()){const o=N(a.agentContent),u=o.find(s=>s.status==="running")??o[o.length-1];if(u)return{messageId:a.id,subagent:u}}};function je(e,t,n){n(a=>{const o={...a.pendingSubagentCompletions??{}};if(o[e]===void 0&&Object.keys(o).length>=we){const u=Object.keys(o)[0];u&&delete o[u]}return o[e]={...t},{pendingSubagentCompletions:o}})}function Q(e,t,n){var u;if(!e)return;const a=(u=t().pendingSubagentCompletions)==null?void 0:u[e];!a||!b(t().messages,e,t().currentAssistantMessageId)||(W({...a,subagentSessionId:e,success:a.status==="completed"},t),n(s=>{const i={...s.pendingSubagentCompletions??{}};return delete i[e],{pendingSubagentCompletions:i}}))}const v=(e,t,n,a=!1)=>{const{currentAssistantMessageId:o,messages:u,addMessage:s,startAgentResponse:i}=e();if(n&&a){const l=u.find(I=>I.id===n&&I.role==="assistant");if(l)return i(l.id),l.id;const g={id:n,role:"assistant",content:"",timestamp:Date.now(),agentContent:M()};return s(g),i(n),n}if(o&&!o.startsWith("call_")&&u.some(l=>l.id===o&&l.role==="assistant"))return o;if(n){const l=u.find(g=>g.id===n&&g.role==="assistant");if(l)return i(l.id),l.id}const r=u[u.length-1];if((r==null?void 0:r.role)==="assistant")return r.id;const d=n||`assistant-${Date.now()}`,c={id:d,role:"assistant",content:"",timestamp:Date.now(),agentContent:M()};return s(c),i(d),t(l=>({messages:l.messages.map(g=>g.id===d?{...g,agentContent:{...g.agentContent||M()}}:g)})),d},_e=(e,t,n)=>{const{currentSessionId:a,addMessage:o,startAgentResponse:u,messages:s,updateMessage:i}=t();if(e.sessionId!==a)return;const r=e.messageId,d=e.role||"assistant",c=s.find(g=>g.id===r),l={id:r,role:d,content:e.content||"",timestamp:Date.now(),agentContent:d==="assistant"?M():void 0};c?i(r,{role:d,content:l.content,agentContent:d==="assistant"?{...c.agentContent||M()}:void 0}):o(l),d==="assistant"&&u(r)},Fe=(e,t,n)=>{const{currentSessionId:a,appendDelta:o,currentAssistantMessageId:u,hasToolCalls:s,addMessage:i,startAgentResponse:r}=t();if(e.sessionId!==a)return;const d=e.messageId,c=e.delta;if(!u){const g={id:d,role:"assistant",content:"",timestamp:Date.now(),agentContent:M()};i(g),r(d),t().appendDelta(d,c,"before");return}o(u,c,s?"after":"before")},qe=(e,t)=>{const{currentSessionId:n,updateMessage:a,messages:o}=t();if(e.sessionId!==n)return;const u=e.messageId,s=o.find(i=>i.id===u);s!=null&&s.agentContent&&a(u,{content:Ae(s.agentContent)})},Oe=(e,t,n)=>{var r;const{currentSessionId:a}=t();if(e.sessionId!==a)return;const o=e.output;if(!o||typeof o!="object"||Array.isArray(o))return;const u=v(t,n,e.messageId);if(!u)return;const s=t().messages.find(d=>d.id===u);if(!s)return;const i=JSON.stringify(o,null,2);t().updateMessage(u,{content:i,metadata:{...s.metadata,structuredOutput:{output:o,schemaDigest:e.schemaDigest}},agentContent:s.agentContent?{...s.agentContent,textBefore:"",textAfter:"",timeline:(r=s.agentContent.timeline)==null?void 0:r.filter(d=>d.type!=="text")}:void 0})},Ee=(e,t,n)=>{const{currentSessionId:a,appendThinking:o}=t();if(e.sessionId!==a)return;const u=v(t,n,e.messageId);u&&o(u,e.delta)},Ve=()=>{},ge=(e,t,n)=>{const{currentSessionId:a,appendToolCall:o,setHasToolCalls:u,setSubagent:s}=t();if(e.sessionId!==a)return;const i=v(t,n,e.messageId||e.toolCallId,typeof e.messageId=="string");if(!i)return;u(!0);const r=e.toolName||"Unknown",d=e.arguments;let c,l="",g,I;if(r==="Task")try{const S=JSON.parse(d);c=S.subagent_type,l=S.description||S.query||c||"",g=S.subagent_session_id,I=S.resume_from||S.resume}catch{}if(c){s(i,{id:F({explicitId:e.toolCallId,sessionId:g,messageId:i,agentType:c,description:l}),type:c,description:l,status:"running",startTime:Date.now(),sessionId:g,resumedFrom:I,output:"",thinking:""}),Q(g,t,n);return}const m={toolCallId:L({explicitId:e.toolCallId,messageId:i,toolName:r,argumentsValue:d,toolKind:e.toolKind}),toolName:r,arguments:d,toolKind:e.toolKind,status:"running",startTime:Date.now()};o(i,m)};function me(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 fe=(e,t)=>{const{currentSessionId:n,updateToolCall:a,messages:o}=t();if(e.sessionId!==n)return;const u=e.toolCallId;if(!u)return;const s=o.find(i=>{var r;return(r=i.agentContent)==null?void 0:r.toolCalls.some(d=>d.toolCallId===u)});s&&a(s.id,u,{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:me(e.admission)})},Ie=(e,t,n)=>{var se;const{currentSessionId:a,appendToolCall:o,setHasToolCalls:u,updateToolCall:s,updateSubagent:i,messages:r}=t();if(e.sessionId!==a)return;const d=e.toolCallId;if(!d)return;const c=r.find(A=>{var T;return(T=A.agentContent)==null?void 0:T.toolCalls.some(R=>R.toolCallId===d)}),l=r.find(A=>N(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 I=typeof e.output=="string"?e.output:"",m=e.success===!0||e.status==="completed",S=e.summary||(I&&I.trim()?I.trim().split(`
|
|
5
|
+
`)[0].slice(0,120):m?"执行成功":"执行失败"),y=(se=c==null?void 0:c.agentContent)==null?void 0:se.toolCalls.find(A=>A.toolCallId===d),h=typeof e.toolName=="string"?e.toolName:(y==null?void 0:y.toolName)??"Unknown",f=e.metadata;c?s(g,d,{status:m?"success":"error",summary:S,output:I,metadata:f}):l||(u(!0),o(g,{toolCallId:d,toolName:h,status:m?"success":"error",summary:S,output:I,startTime:Date.now(),metadata:f}));const q=t().messages.find(A=>A.id===g),k=N(q==null?void 0:q.agentContent).find(A=>A.id===d),P=f&&typeof f.subagentSessionId=="string"?f.subagentSessionId:void 0,D=f&&typeof f.subagentStatus=="string"?f.subagentStatus:void 0,X=f&&typeof f.subagentType=="string"?f.subagentType:void 0,Z=f&&typeof f.subagentSummary=="string"?f.subagentSummary:void 0,p=f&&typeof f.subagentResumedFrom=="string"?f.subagentResumedFrom:void 0,ee=f&&typeof f.subagentRootId=="string"?f.subagentRootId:void 0,te=f&&typeof f.subagentResumeDepth=="number"?f.subagentResumeDepth:void 0,ne=(f==null?void 0:f.verificationVerdict)==="pass"||(f==null?void 0:f.verificationVerdict)==="fail"||(f==null?void 0:f.verificationVerdict)==="partial"?f.verificationVerdict:void 0;if(k){const A=D?G(D):e.success?"completed":"failed",T=k.status!=="running"&&A==="running";i(g,k.id,{sessionId:k.sessionId||P,type:X||k.type,status:T?k.status:A,resumedFrom:p||k.resumedFrom,rootAgentId:ee||k.rootAgentId,resumeDepth:te??k.resumeDepth,verificationVerdict:ne??k.verificationVerdict,output:T?k.output:Z||k.output})}P&&D&&n(A=>({messages:A.messages.map(T=>{if(T.id!==g)return T;const R=T.metadata??{},O=Array.isArray(R.subtaskRefs)?R.subtaskRefs:[],w=O.findIndex(ie=>ie.childSessionId===P||ie.subagentId===d),C=w>=0?O[w]:R.subtaskRef??{},E={...C,subagentId:d,childSessionId:P,agentType:X||(typeof(C==null?void 0:C.agentType)=="string"?C.agentType:"subagent"),status:D,summary:Z||(typeof(C==null?void 0:C.summary)=="string"?C.summary:""),resumedFrom:p||(typeof(C==null?void 0:C.resumedFrom)=="string"?C.resumedFrom:void 0),rootAgentId:ee||(typeof(C==null?void 0:C.rootAgentId)=="string"?C.rootAgentId:P),resumeDepth:te??(typeof(C==null?void 0:C.resumeDepth)=="number"?C.resumeDepth:0),verificationVerdict:ne||(typeof(C==null?void 0:C.verificationVerdict)=="string"?C.verificationVerdict:void 0)},V=[...O];return w>=0?V[w]=E:V.push(E),{...T,metadata:{...R,subtaskRef:E,subtaskRefs:V}}})})),Q(P,t,n)},Ke=(e,t,n)=>{const{currentSessionId:a,appendToolCall:o}=t();if(e.sessionId!==a)return;const u=v(t,n,e.messageId||`mcp-catalog-${String(e.revision)}`);if(!u)return;const s=Array.isArray(e.added)?e.added.map(String):[],i=Array.isArray(e.removed)?e.removed.map(String):[],r=Array.isArray(e.updated)?e.updated.map(String):[],d=`MCP catalog r${String(e.revision)}: +${s.length} -${i.length} ~${r.length}`;o(u,{toolCallId:`mcp-catalog:${String(e.revision)}`,toolName:"MCP Catalog",arguments:JSON.stringify({serverName:e.serverName,added:s,removed:i,updated:r}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:d,output:[s.length>0?`Added: ${s.join(", ")}`:"",i.length>0?`Removed: ${i.join(", ")}`:"",r.length>0?`Updated: ${r.join(", ")}`:""].filter(Boolean).join(`
|
|
6
|
+
`)})},Ue=(e,t,n)=>{const{currentSessionId:a,appendToolCall:o}=t();if(e.sessionId!==a)return;const u=v(t,n,e.messageId||`mcp-content-${String(e.revision)}`);if(!u)return;const s=Array.isArray(e.added)?e.added.map(String):[],i=Array.isArray(e.removed)?e.removed.map(String):[],r=Array.isArray(e.updated)?e.updated.map(String):[],d=`MCP ${String(e.contentKind)} r${String(e.revision)}: +${s.length} -${i.length} ~${r.length}`;o(u,{toolCallId:`mcp-content:${String(e.revision)}`,toolName:"MCP Content",arguments:JSON.stringify({serverName:e.serverName,contentKind:e.contentKind,added:s,removed:i,updated:r}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:d,output:[s.length>0?`Added: ${s.join(", ")}`:"",i.length>0?`Removed: ${i.join(", ")}`:"",r.length>0?`Updated: ${r.join(", ")}`:""].filter(Boolean).join(`
|
|
7
|
+
`)})},Be=(e,t,n)=>{const{currentSessionId:a,appendToolCall:o}=t();if(e.sessionId!==a)return;const u=v(t,n,e.messageId||`mcp-resource-${String(e.revision)}`);u&&o(u,{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)}`})},Je=(e,t,n)=>{const{currentSessionId:a,appendToolCall:o}=t();if(e.sessionId!==a)return;const u=v(t,n,e.messageId||`mcp-connection-${String(e.revision)}`);if(!u)return;const s=String(e.phase),i=`MCP ${String(e.serverName)} ${s}`+(s==="reconnecting"?` (${String(e.attempt)}/${String(e.maxAttempts)})`:"");o(u,{toolCallId:`mcp-connection:${String(e.revision)}`,toolName:"MCP Connection",arguments:JSON.stringify({serverName:e.serverName,phase:s,reason:e.reason,attempt:e.attempt,maxAttempts:e.maxAttempts}),toolKind:"readonly",status:s==="failed"?"error":"success",startTime:Date.now(),summary:i,output:[`Reason: ${String(e.reason)}`,e.error?`Error: ${String(e.error)}`:""].filter(Boolean).join(`
|
|
8
|
+
`)})},Le=(e,t,n)=>{const{currentSessionId:a,appendToolCall:o}=t();if(e.sessionId!==a)return;const u=v(t,n,e.messageId||`mcp-log-${String(e.revision)}`);if(!u)return;const s=String(e.level),i=typeof e.logger=="string"?e.logger:void 0,r=`MCP ${s} · ${String(e.serverName)}`+(i?` · ${i}`:"");o(u,{toolCallId:`mcp-log:${String(e.revision)}`,toolName:"MCP Log",arguments:JSON.stringify({serverName:e.serverName,level:s,logger:i}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:r,output:[String(e.message),`SHA-256: ${String(e.dataSha256)}`,e.truncated===!0?"Truncated":"",e.detailsOmitted===!0?"Details omitted by runtime policy":""].filter(Boolean).join(`
|
|
9
|
+
`)})},He=(e,t,n)=>{const{currentSessionId:a,appendToolCall:o}=t();if(e.sessionId!==a)return;const u=String(e.serverName),s=String(e.action),i=v(t,n,e.messageId||`mcp-instructions-${String(e.revision)}-${u}`);if(!i)return;const r=`MCP instructions ${s}: ${u}`+(e.truncated===!0?" (truncated)":"");o(i,{toolCallId:`mcp-instructions:${String(e.revision)}:${u}:${s}`,toolName:"MCP Instructions",arguments:JSON.stringify({serverName:u,action:s,reason:e.reason}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:r,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(`
|
|
10
|
+
`)})},Ge=(e,t,n)=>{var I,m;const{currentSessionId:a,appendToolCall:o,updateToolCall:u}=t();if(e.sessionId!==a)return;const s=String(e.taskId),i=String(e.status),r=`mcp-task:${s}`,d=v(t,n,e.messageId||`mcp-task-${s}`);if(!d)return;const c=`MCP task ${i}: ${s} · ${String(e.serverName)}/${String(e.toolName)}`,l={status:i==="failed"||i==="cancelled"?"error":i==="completed"?"success":"running",summary:c,output:[typeof e.statusMessage=="string"?e.statusMessage:"",e.hasResult===!0?"Result available via TaskOutput":"",typeof e.error=="string"?`Error: ${e.error}`:""].filter(Boolean).join(`
|
|
11
|
+
`)};if((m=(I=t().messages.find(S=>S.id===d))==null?void 0:I.agentContent)==null?void 0:m.toolCalls.some(S=>S.toolCallId===r)){u(d,r,l);return}o(d,{toolCallId:r,toolName:"MCP Task",arguments:JSON.stringify({taskId:s,serverName:e.serverName,toolName:e.toolName}),toolKind:"readonly",status:l.status,startTime:Number(e.createdAt)||Date.now(),summary:l.summary,output:l.output})},Qe=(e,t,n)=>{const{currentSessionId:a,appendToolCall:o}=t();if(e.sessionId!==a)return;const u=Array.isArray(e.files)?e.files.filter(d=>!!d&&typeof d=="object"&&!Array.isArray(d)):[],s=v(t,n,e.messageId||`project-rules-${Date.now()}`);if(!s)return;const i=e.blockedWrite===!0,r=`Project rules loaded: ${u.length}`+(i?" (write retry required)":"");o(s,{toolCallId:`project-rules:${u.map(d=>String(d.id)).join(",")}`,toolName:"Project Rules",arguments:JSON.stringify({triggerPaths:e.triggerPaths,blockedWrite:i}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:r,output:u.map(d=>`${String(d.relativePath)} ${String(d.source)} SHA-256: ${String(d.contentSha256)}`).join(`
|
|
12
|
+
`)})},z=e=>`user-shell-${e}`,ze=(e,t,n)=>{const{currentSessionId:a,addMessage:o,messages:u,updateMessage:s}=t();if(e.sessionId!==a||typeof e.executionId!="string"||typeof e.command!="string")return;const i=z(e.executionId),r={id:i,role:"user",content:`! ${e.command}`,timestamp:Date.now(),metadata:{userShellExecution:{executionId:e.executionId,command:e.command,status:"running",output:""}}};u.some(d=>d.id===i)?s(i,r):o(r),e.auxiliary!==!0&&n({isStreaming:!0,agentPhase:"running",error:null,errorContext:null})},We=(e,t)=>{var d;const{currentSessionId:n,messages:a,updateMessage:o}=t();if(e.sessionId!==n||typeof e.executionId!="string"||typeof e.chunk!="string")return;const u=z(e.executionId),s=a.find(c=>c.id===u);if(!s)return;const i=(d=s.metadata)!=null&&d.userShellExecution&&typeof s.metadata.userShellExecution=="object"?s.metadata.userShellExecution:{},r=`${typeof i.output=="string"?i.output:""}${e.chunk}`;o(u,{content:`! ${String(i.command??"")}
|
|
13
|
+
${r}`,metadata:{...s.metadata,userShellExecution:{...i,output:r,streamTruncated:e.streamTruncated===!0}}})},Ye=(e,t,n)=>{const{currentSessionId:a,messages:o,addMessage:u,updateMessage:s}=t();if(e.sessionId!==a||typeof e.executionId!="string"||!e.record||typeof e.record!="object"||Array.isArray(e.record))return;const i=e.record,r=typeof i.command=="string"?i.command:"",d=typeof i.stdout=="string"?i.stdout:"",c=typeof i.stderr=="string"?i.stderr:"",l=[d,c?`stderr:
|
|
14
14
|
${c}`:""].filter(Boolean).join(`
|
|
15
15
|
`),g=z(e.executionId),I={role:"user",content:[`! ${r}`,l||"(no output)"].join(`
|
|
16
|
-
`),metadata:{userShellCommand:i}};o.some(m=>m.id===g)?s(g,I):u({id:g,...I,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"})},
|
|
17
|
-
`)[0].slice(0,120):l?"执行成功":"执行失败");u(d.messageId,d.subagent.id,m=>({sessionId:m.sessionId||r,currentTool:m.currentTool===i?void 0:m.currentTool,toolCalls:(m.toolCalls||[]).map(S=>S.toolCallId===s?{...S,status:g,summary:I,output:c,metadata:e.metadata}:S)}))},
|
|
18
|
-
`)}]}))},
|
|
19
|
-
`)}]}))},
|
|
20
|
-
`)}]}))},
|
|
21
|
-
`)}]}))},
|
|
22
|
-
`)}]}))},mt=(e,t,n)=>{const{currentSessionId:a,setConfirmation:o}=t();if(e.sessionId!==a)return;const u=e.requestId||"",s=v(t,n,u?`assistant-permission-${u}`:void 0);if(!s)return;const i=e.details,r=e.toolName||(i==null?void 0:i.toolName)||"Tool";o(s,{toolCallId:u,toolName:r,description:e.description,diff:(i==null?void 0:i.details)||(i==null?void 0:i.diff)||"",allowRemember:(i==null?void 0:i.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:u}}:c)}))},ft=(e,t,n)=>{var I,m;const{currentSessionId:a,currentSessionRef:o,messages:u,setConfirmation:s,setElicitation:i}=t();if(e.sessionId!==a)return;const r=e.requestId,d=u.find(S=>{var y,h;return((h=(y=S.agentContent)==null?void 0:y.confirmation)==null?void 0:h.toolCallId)===r}),c=(I=d==null?void 0:d.agentContent)==null?void 0:I.confirmation;d&&(c==null?void 0:c.status)==="pending"&&s(d.id,{...c,status:"denied"});const l=u.find(S=>{var y,h;return((h=(y=S.agentContent)==null?void 0:y.elicitation)==null?void 0:h.toolCallId)===r}),g=(m=l==null?void 0:l.agentContent)==null?void 0:m.elicitation;l&&(g==null?void 0:g.status)==="pending"&&i(l.id,{...g,status:"cancelled"}),n({agentPhase:"running",error:"Permission request timed out",errorContext:{kind:"interaction",...o?{sessionRef:o}:{}}})},ae=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",isStreaming:!0})},It=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:e.reason==="context_limit"?"recovering_context":"compacting"})},St=(e,t,n)=>{e.sessionId===t().currentSessionId&&(t().resetContextUsage(),n({agentPhase:"running"}))},ht=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"switching_model",providerRetry:null,providerStall:null,actionStationarity:null})},yt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerRetry:e.phase==="recovered"?null:e})},Ct=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerStall:e.phase==="detected"?e:null})},bt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",actionStationarity:e.phase==="recovered"?null:e})},vt=(e,t,n)=>{const{currentSessionId:a,setQuestion:o}=t();if(e.sessionId!==a)return;const u=e.requestId||e.toolCallId||"",s=v(t,n,u?`assistant-question-${u}`:void 0);s&&(o(s,{toolCallId:u,questions:e.questions,status:"pending"}),n(i=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:i.sessions.map(r=>r.sessionId===e.sessionId&&r.projectPath===e.projectPath?{...r,pendingInteraction:{type:"question",requestId:u}}:r)})))},At=(e,t,n)=>{const{currentSessionId:a,setElicitation:o}=t();if(e.sessionId!==a)return;const u=e.requestId||e.toolCallId||"",s=v(t,n,u?`assistant-elicitation-${u}`:void 0),i=e.elicitation;!s||!i||(o(s,{toolCallId:u,details:i,status:"pending"}),n(r=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:r.sessions.map(d=>d.sessionId===e.sessionId&&d.projectPath===e.projectPath?{...d,pendingInteraction:{type:"elicitation",requestId:u}}:d)})))},Tt=(e,t,n)=>{const{currentSessionId:a}=t();if(e.sessionId!==a)return;const o=e.requestId;n(u=>({agentPhase:"running",sessions:u.sessions.map(s=>{var i;return s.sessionId===e.sessionId&&s.projectPath===e.projectPath&&((i=s.pendingInteraction)==null?void 0:i.requestId)===o?{...s,pendingInteraction:void 0}:s})}))},Y=(e,t)=>{const n=t().currentSessionRef;n&&e.sessionId===n.sessionId&&e.projectPath===n.projectPath&&t().resyncSessionMessages(n)},kt=(e,t)=>{const{currentSessionId:n,currentSessionRef:a,endAgentResponse:o}=t();e.sessionId!==n||!a||e.projectPath!==a.projectPath||(o(),Y(e,t))},re=(e,t)=>{const n=t().currentSessionRef;!n||e.sessionId!==n.sessionId||e.projectPath!==n.projectPath||t().endAgentResponse()},$t=(e,t,n)=>{const{currentSessionId:a,currentSessionRef:o,endAgentResponse:u}=t();if(e.sessionId!==a)return;const s=e.taskFailure&&typeof e.taskFailure=="object"&&!Array.isArray(e.taskFailure)?e.taskFailure:void 0,i=Pe(s==null?void 0:s.code);n({agentPhase:"error",error:e.error||"An error occurred",errorContext:{kind:"execution",...o?{sessionRef:o}:{},...i?{failureCode:i}:{}}}),u(),Y(e,t)},Nt=(e,t,n)=>{const{currentSessionId:a}=t();if(e.sessionId===a)if(e.status==="idle")n({isStreaming:!1,isStopping:!1,agentPhase:"idle",providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0});else if(e.status==="queued"||e.status==="running"||e.status==="waiting_permission"){const o=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:o,pendingInputDelivery:o>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",providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null})},Mt=(e,t,n)=>{const{currentSessionId:a,endAgentResponse:o,messages:u,updateSubagent:s}=t();if(e.sessionId===a){n(i=>({isStreaming:!1,agentPhase:"idle",messages:i.messages.map(r=>{var c;const d=(c=r.agentContent)==null?void 0:c.elicitation;return(d==null?void 0:d.status)!=="pending"||!r.agentContent?r:{...r,agentContent:{...r.agentContent,elicitation:{...d,status:"cancelled"}}}})}));for(const i of u)for(const r of N(i.agentContent))r.status==="running"&&s(i.id,r.id,{status:"failed"});o(),Y(e,t)}},Ie=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({pendingSteeringCount:typeof e.queued=="number"?Math.max(0,e.queued):1,pendingInputDelivery:"current_turn"})},Se=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({pendingSteeringCount:typeof e.queued=="number"?Math.max(0,e.queued):1,pendingInputDelivery:"next_turn"})},Pt=(e,t,n)=>{if(typeof e.childSessionId=="string"){const a={...e,subagentSessionId:e.childSessionId,success:e.status==="completed"};b(t().messages,e.childSessionId,t().currentAssistantMessageId)?W(a,t):we(e.childSessionId,a,n)}e.delivery==="current_turn"?Ie(e,t,n):Se(e,t,n)},Rt=(e,t,n)=>{if(e.sessionId!==t().currentSessionId)return;const a=typeof e.queued=="number"?Math.max(0,e.queued):0;n({pendingSteeringCount:a,pendingInputDelivery:a>0?t().pendingInputDelivery:null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})},xt=(e,t,n)=>{if(e.sessionId!==t().currentSessionId)return;const a=typeof e.queued=="number"?Math.max(0,e.queued):0;n({agentPhase:"running",pendingSteeringCount:a,pendingInputDelivery:a>0?"current_turn":null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})},Dt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:e.goal??null})},wt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:null})},_t=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:e.goal??t().goal,isStreaming:!0,agentPhase:"running"})},jt=(e,t,n)=>{if(e.sessionId!==t().currentSessionId||!Array.isArray(e.messages))return;const a=Date.now(),o=e.messages.flatMap((u,s)=>{if(typeof u!="object"||u===null)return[];const i=u;return!["user","assistant","system","tool"].includes(String(i.role))||!Array.isArray(i.content)&&typeof i.content!="string"?[]:[{id:`rewind-${s}-${a}`,role:i.role,content:i.content,timestamp:a+s,metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:void 0,thinkingContent:typeof i.thinkingContent=="string"?i.thinkingContent:typeof i.reasoningContent=="string"?i.reasoningContent:void 0,tool_call_id:typeof i.tool_call_id=="string"?i.tool_call_id:void 0,name:typeof i.name=="string"?i.name:void 0,tool_calls:i.tool_calls}]});n({messages:Ne(o),isStreaming:!1,isStopping:!1,agentPhase:"idle",providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,currentAssistantMessageId:null,hasToolCalls:!1})},Ft=(e,t,n)=>{const a=t().currentSessionRef;if(!a||e.sessionId!==a.sessionId||e.projectPath!==a.projectPath)return;const o=e.status,u=o==="completed"||o==="stale"?"completed":o==="aborted"?"cancelled":o==="interrupted"?"interrupted":"failed";n(s=>({sessions:s.sessions.map(i=>i.sessionId===a.sessionId&&i.projectPath===a.projectPath?{...i,taskStatus:u,taskStatusReason:void 0,taskFailure:void 0,taskCompletedAt:new Date().toISOString()}:i)})),t().selectSession(a)},qt=(e,t,n)=>{ge({...e,messageId:`review-${String(e.reviewId??"active")}`,arguments:"{}"},t,n)},Ot=(e,t,n)=>{me(e,t)},Et=(e,t,n)=>{fe(e,t,n)},_={"message.created":_e,"message.delta":je,"message.complete":Fe,"structured.output":qe,"thinking.delta":Oe,"thinking.completed":Ee,"tool.start":ge,"tool.progress":me,"tool.result":fe,"mcp.catalog.changed":Ve,"mcp.content.changed":Ke,"mcp.resource.updated":Ue,"mcp.connection.changed":Be,"mcp.log":Je,"mcp.instructions.changed":Le,"mcp.task.changed":He,"project.rules.loaded":Ge,"user.shell.started":Qe,"user.shell.output":ze,"user.shell.completed":We,"token.usage":Ye,"task.updated":Xe,"subagent.start":Ze,"subagent.update":pe,"subagent.delta":et,"subagent.thinking.delta":tt,"subagent.tool.start":nt,"subagent.tool.progress":it,"subagent.tool.result":st,"subagent.mcp.catalog.changed":ot,"subagent.mcp.content.changed":at,"subagent.mcp.resource.updated":rt,"subagent.mcp.connection.changed":ut,"subagent.mcp.log":dt,"subagent.mcp.instructions.changed":lt,"subagent.mcp.task.changed":ct,"subagent.project.rules.loaded":gt,"subagent.complete":W,"subagent.completion.queued":Pt,"permission.asked":mt,"permission.timeout":ft,"turn.started":ae,"committed.turn_started":ae,"committed.turn_completed":re,"committed.turn_aborted":re,"provider.retry":yt,"provider.stall":Ct,"action.stationarity":bt,"compaction.started":It,"compaction.completed":St,"model.fallback":ht,"question.required":vt,"elicitation.required":At,"interaction.resolved":Tt,"session.completed":kt,"session.error":$t,"session.status":Nt,"run.cancelled":Mt,"steering.queued":Ie,"follow_up.queued":Se,"follow_up.started":xt,"steering.applied":Rt,"goal.updated":Dt,"goal.cleared":wt,"goal.continuation.started":_t,"session.rewound":jt,"review.tool.started":qt,"review.tool.progress":Ot,"review.tool.completed":Et,"review.completed":Ft},Vt=new Set(["message.complete","thinking.completed","session.completed","session.error","run.cancelled","committed.turn_completed","committed.turn_aborted"]),Jt=(e,t)=>n=>{const a=e().currentSessionRef,o=n.properties;if(!a||o.sessionId!==a.sessionId||o.projectPath!==a.projectPath)return;if(Vt.has(n.type)){$.drainAll();const s=_[n.type];s&&s(n.properties,e,t);return}if(n.type==="tool.start"&&$.drainAll(),n.type==="message.delta"){const{currentSessionId:s,currentAssistantMessageId:i,hasToolCalls:r}=e();if(o.sessionId!==s)return;const d=o.messageId||i,c=o.delta;if(!i){const I=_["message.delta"];I&&I(o,e,t);return}const l=r?"after":"before",g=`content:${d}:${l}`;$.drainAllExcept(g),$.append(g,c,I=>{const{appendDelta:m}=e();d&&m(d,I,l)});return}if(n.type==="thinking.delta"){const{currentSessionId:s,currentAssistantMessageId:i}=e();if(o.sessionId!==s)return;if(!i){const l=_["thinking.delta"];l&&l(o,e,t);return}const r=o.delta,d=o.messageId||i,c=`thinking:${d}`;$.drainAllExcept(c),$.append(c,r,l=>{const{appendThinking:g}=e();d&&g(d,l)});return}if(n.type==="subagent.delta"){const{currentSessionId:s}=e();if(o.sessionId!==s)return;const i=o.delta;if(!i)return;const r=o.subagentSessionId||"",d=`subagent:${r}`,{currentAssistantMessageId:c,messages:l}=e(),g=b(l,r||void 0,c);$.append(d,i,I=>{const{currentAssistantMessageId:m,messages:S,updateSubagent:y}=e(),h=g||b(S,r||void 0,m);h&&y(h.messageId,h.subagent.id,f=>({sessionId:f.sessionId||r,output:(f.output||"")+I}))});return}if(n.type==="subagent.thinking.delta"){const{currentSessionId:s}=e();if(o.sessionId!==s)return;const i=o.delta;if(!i)return;const r=o.subagentSessionId||"",d=`subagent-thinking:${r}`,{currentAssistantMessageId:c,messages:l}=e(),g=b(l,r||void 0,c);$.append(d,i,I=>{const{currentAssistantMessageId:m,messages:S,updateSubagent:y}=e(),h=g||b(S,r||void 0,m);h&&y(h.messageId,h.subagent.id,f=>({sessionId:f.sessionId||r,thinking:(f.thinking||"")+I}))});return}const u=_[n.type];u&&u(n.properties,e,t)};export{be as a,oe as b,M as c,Ce as d,Ne as e,Jt as f,N as g,$ as h,Pe as i,Bt as j,ve as k,j as l,Ut as t,ue as u,B as w};
|
|
16
|
+
`),metadata:{userShellCommand:i}};o.some(m=>m.id===g)?s(g,I):u({id:g,...I,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"})},Xe=(e,t)=>{const{currentSessionId:n,updateTokenUsage:a,setMaxContextTokens:o}=t();e.sessionId===n&&(a({inputTokens:e.inputTokens,outputTokens:e.outputTokens,totalTokens:e.totalTokens,cacheReadTokens:e.cacheReadTokens??0,cacheWriteTokens:e.cacheWriteTokens??0,costUsd:e.costUsd}),e.maxContextTokens&&o(e.maxContextTokens,!1))},Ze=(e,t)=>{const{currentSessionId:n,setTasks:a,currentAssistantMessageId:o}=t();if(e.sessionId!==n||!o)return;const u=e.tasks||[];a(o,u)},pe=(e,t,n)=>{const{currentSessionId:a,setSubagent:o,currentAssistantMessageId:u}=t();if(e.sessionId!==a||!u)return;const s={id:F({explicitId:e.subagentId,sessionId:e.subagentSessionId,messageId:u,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};o(u,s),Q(s.sessionId,t,n)},et=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=e.subagentSessionId,i=b(o,s,a);i&&u(i.messageId,i.subagent.id,{sessionId:i.subagent.sessionId||s,currentTool:e.toolName})},tt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=e.delta;if(!s)return;const i=e.subagentSessionId,r=b(o,i,a);r&&u(r.messageId,r.subagent.id,d=>({sessionId:d.sessionId||i,output:(d.output||"")+s}))},nt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=e.delta;if(!s)return;const i=e.subagentSessionId,r=b(o,i,a);r&&u(r.messageId,r.subagent.id,d=>({sessionId:d.sessionId||i,thinking:(d.thinking||"")+s}))},W=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=e.subagentSessionId,i=b(o,s,a);if(!i)return;const r=e.status==="completed"?"completed":e.status==="failed"||e.status==="cancelled"?"failed":e.success?"completed":"failed";u(i.messageId,i.subagent.id,{sessionId:i.subagent.sessionId||s,type:typeof e.type=="string"?e.type:i.subagent.type,description:typeof e.description=="string"?e.description:i.subagent.description,status:r,currentTool:void 0,output:typeof e.summary=="string"?e.summary:i.subagent.output,resumedFrom:typeof e.resumedFrom=="string"?e.resumedFrom:i.subagent.resumedFrom,rootAgentId:typeof e.rootAgentId=="string"?e.rootAgentId:i.subagent.rootAgentId,resumeDepth:typeof e.resumeDepth=="number"?e.resumeDepth:i.subagent.resumeDepth,verificationVerdict:e.verificationVerdict==="pass"||e.verificationVerdict==="fail"||e.verificationVerdict==="partial"?e.verificationVerdict:i.subagent.verificationVerdict})},st=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=e.toolCallId,i=e.toolName;if(!s||!i)return;const r=e.subagentSessionId,d=b(o,r,a);if(!d)return;const c={toolCallId:s,toolName:i,arguments:e.arguments,toolKind:e.toolKind,status:"running",startTime:Date.now()};u(d.messageId,d.subagent.id,l=>{const g=l.toolCalls||[];return{sessionId:l.sessionId||r,currentTool:i,toolCalls:g.some(I=>I.toolCallId===s)?g:[...g,c]}})},it=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=e.toolCallId;if(!s)return;const i=e.toolName,r=e.subagentSessionId,d=b(o,r,a);if(!d)return;const c=e.output,l=e.success===!0,g=l?"success":"error",I=e.summary||(c&&c.trim()?c.trim().split(`
|
|
17
|
+
`)[0].slice(0,120):l?"执行成功":"执行失败");u(d.messageId,d.subagent.id,m=>({sessionId:m.sessionId||r,currentTool:m.currentTool===i?void 0:m.currentTool,toolCalls:(m.toolCalls||[]).map(S=>S.toolCallId===s?{...S,status:g,summary:I,output:c,metadata:e.metadata}:S)}))},ot=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=e.toolCallId;if(!s)return;const i=b(o,e.subagentSessionId,a);i&&u(i.messageId,i.subagent.id,r=>({toolCalls:(r.toolCalls||[]).map(d=>d.toolCallId===s?{...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:me(e.admission)}:d)}))},at=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=b(o,e.subagentSessionId,a);if(!s)return;const i=Array.isArray(e.added)?e.added.map(String):[],r=Array.isArray(e.removed)?e.removed.map(String):[],d=Array.isArray(e.updated)?e.updated.map(String):[],c=`mcp-catalog:${String(e.revision)}`;u(s.messageId,s.subagent.id,l=>({toolCalls:[...(l.toolCalls||[]).filter(g=>g.toolCallId!==c),{toolCallId:c,toolName:"MCP Catalog",arguments:JSON.stringify({serverName:e.serverName,added:i,removed:r,updated:d}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP catalog r${String(e.revision)}: +${i.length} -${r.length} ~${d.length}`,output:[i.length>0?`Added: ${i.join(", ")}`:"",r.length>0?`Removed: ${r.join(", ")}`:"",d.length>0?`Updated: ${d.join(", ")}`:""].filter(Boolean).join(`
|
|
18
|
+
`)}]}))},rt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=b(o,e.subagentSessionId,a);if(!s)return;const i=Array.isArray(e.added)?e.added.map(String):[],r=Array.isArray(e.removed)?e.removed.map(String):[],d=Array.isArray(e.updated)?e.updated.map(String):[],c=`mcp-content:${String(e.revision)}`;u(s.messageId,s.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:i,removed:r,updated:d}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP ${String(e.contentKind)} r${String(e.revision)}: +${i.length} -${r.length} ~${d.length}`}]}))},ut=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=b(o,e.subagentSessionId,a);if(!s)return;const i=`mcp-resource:${String(e.revision)}`;u(s.messageId,s.subagent.id,r=>({toolCalls:[...(r.toolCalls||[]).filter(d=>d.toolCallId!==i),{toolCallId:i,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:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=b(o,e.subagentSessionId,a);if(!s)return;const i=String(e.phase),r=`mcp-connection:${String(e.revision)}`;u(s.messageId,s.subagent.id,d=>({toolCalls:[...(d.toolCalls||[]).filter(c=>c.toolCallId!==r),{toolCallId:r,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:`MCP ${String(e.serverName)} ${i}`+(i==="reconnecting"?` (${String(e.attempt)}/${String(e.maxAttempts)})`:""),output:e.error?`Error: ${String(e.error)}`:void 0}]}))},lt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=b(o,e.subagentSessionId,a);if(!s)return;const i=String(e.level),r=typeof e.logger=="string"?e.logger:void 0,d=`mcp-log:${String(e.revision)}`;u(s.messageId,s.subagent.id,c=>({toolCalls:[...(c.toolCalls||[]).filter(l=>l.toolCallId!==d),{toolCallId:d,toolName:"MCP Log",arguments:JSON.stringify({serverName:e.serverName,level:i,logger:r}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP ${i} · ${String(e.serverName)}`+(r?` · ${r}`:""),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
|
+
`)}]}))},ct=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=b(o,e.subagentSessionId,a);if(!s)return;const i=String(e.serverName),r=String(e.action),d=`mcp-instructions:${String(e.revision)}:${i}:${r}`;u(s.messageId,s.subagent.id,c=>({toolCalls:[...(c.toolCalls||[]).filter(l=>l.toolCallId!==d),{toolCallId:d,toolName:"MCP Instructions",arguments:JSON.stringify({serverName:i,action:r,reason:e.reason}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`MCP instructions ${r}: ${i}`+(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
|
+
`)}]}))},gt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=b(o,e.subagentSessionId,a);if(!s)return;const i=String(e.taskId),r=String(e.status),d=`mcp-task:${i}`;u(s.messageId,s.subagent.id,c=>({toolCalls:[...(c.toolCalls||[]).filter(l=>l.toolCallId!==d),{toolCallId:d,toolName:"MCP Task",arguments:JSON.stringify({taskId:i,serverName:e.serverName,toolName:e.toolName}),toolKind:"readonly",status:r==="failed"||r==="cancelled"?"error":r==="completed"?"success":"running",startTime:Number(e.createdAt)||Date.now(),summary:`MCP task ${r}: ${i} · ${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
|
+
`)}]}))},mt=(e,t)=>{const{currentSessionId:n,currentAssistantMessageId:a,messages:o,updateSubagent:u}=t();if(e.sessionId!==n)return;const s=b(o,e.subagentSessionId,a);if(!s)return;const i=Array.isArray(e.files)?e.files.filter(d=>!!d&&typeof d=="object"&&!Array.isArray(d)):[],r=`project-rules:${i.map(d=>String(d.id)).join(",")}`;u(s.messageId,s.subagent.id,d=>({toolCalls:[...(d.toolCalls||[]).filter(c=>c.toolCallId!==r),{toolCallId:r,toolName:"Project Rules",arguments:JSON.stringify({triggerPaths:e.triggerPaths,blockedWrite:e.blockedWrite}),toolKind:"readonly",status:"success",startTime:Date.now(),summary:`Project rules loaded: ${i.length}`,output:i.map(c=>`${String(c.relativePath)} ${String(c.source)} SHA-256: ${String(c.contentSha256)}`).join(`
|
|
22
|
+
`)}]}))},ft=(e,t,n)=>{const{currentSessionId:a,setConfirmation:o}=t();if(e.sessionId!==a)return;const u=e.requestId||"",s=v(t,n,u?`assistant-permission-${u}`:void 0);if(!s)return;const i=e.details,r=e.toolName||(i==null?void 0:i.toolName)||"Tool";o(s,{toolCallId:u,toolName:r,description:e.description,diff:(i==null?void 0:i.details)||(i==null?void 0:i.diff)||"",allowRemember:(i==null?void 0:i.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:u}}:c)}))},It=(e,t,n)=>{var I,m;const{currentSessionId:a,currentSessionRef:o,messages:u,setConfirmation:s,setElicitation:i}=t();if(e.sessionId!==a)return;const r=e.requestId,d=u.find(S=>{var y,h;return((h=(y=S.agentContent)==null?void 0:y.confirmation)==null?void 0:h.toolCallId)===r}),c=(I=d==null?void 0:d.agentContent)==null?void 0:I.confirmation;d&&(c==null?void 0:c.status)==="pending"&&s(d.id,{...c,status:"denied"});const l=u.find(S=>{var y,h;return((h=(y=S.agentContent)==null?void 0:y.elicitation)==null?void 0:h.toolCallId)===r}),g=(m=l==null?void 0:l.agentContent)==null?void 0:m.elicitation;l&&(g==null?void 0:g.status)==="pending"&&i(l.id,{...g,status:"cancelled"}),n({agentPhase:"running",error:"Permission request timed out",errorContext:{kind:"interaction",...o?{sessionRef:o}:{}}})},ae=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",isStreaming:!0})},St=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:e.reason==="context_limit"?"recovering_context":"compacting"})},ht=(e,t,n)=>{e.sessionId===t().currentSessionId&&(t().resetContextUsage(),n({agentPhase:"running"}))},yt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"switching_model",providerRetry:null,providerStall:null,actionStationarity:null})},Ct=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerRetry:e.phase==="recovered"?null:e})},bt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",providerStall:e.phase==="detected"?e:null})},vt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({agentPhase:"running",actionStationarity:e.phase==="recovered"?null:e})},At=(e,t,n)=>{const{currentSessionId:a,setQuestion:o}=t();if(e.sessionId!==a)return;const u=e.requestId||e.toolCallId||"",s=v(t,n,u?`assistant-question-${u}`:void 0);s&&(o(s,{toolCallId:u,questions:e.questions,status:"pending"}),n(i=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:i.sessions.map(r=>r.sessionId===e.sessionId&&r.projectPath===e.projectPath?{...r,pendingInteraction:{type:"question",requestId:u}}:r)})))},kt=(e,t,n)=>{const{currentSessionId:a,setElicitation:o}=t();if(e.sessionId!==a)return;const u=e.requestId||e.toolCallId||"",s=v(t,n,u?`assistant-elicitation-${u}`:void 0),i=e.elicitation;!s||!i||(o(s,{toolCallId:u,details:i,status:"pending"}),n(r=>({agentPhase:"waiting_permission",isStreaming:!0,sessions:r.sessions.map(d=>d.sessionId===e.sessionId&&d.projectPath===e.projectPath?{...d,pendingInteraction:{type:"elicitation",requestId:u}}:d)})))},Tt=(e,t,n)=>{const{currentSessionId:a}=t();if(e.sessionId!==a)return;const o=e.requestId;n(u=>({agentPhase:"running",sessions:u.sessions.map(s=>{var i;return s.sessionId===e.sessionId&&s.projectPath===e.projectPath&&((i=s.pendingInteraction)==null?void 0:i.requestId)===o?{...s,pendingInteraction:void 0}:s})}))},Y=(e,t)=>{const n=t().currentSessionRef;n&&e.sessionId===n.sessionId&&e.projectPath===n.projectPath&&t().resyncSessionMessages(n)},$t=(e,t)=>{const{currentSessionId:n,currentSessionRef:a,endAgentResponse:o}=t();e.sessionId!==n||!a||e.projectPath!==a.projectPath||(o(),Y(e,t))},re=(e,t)=>{const n=t().currentSessionRef;!n||e.sessionId!==n.sessionId||e.projectPath!==n.projectPath||t().endAgentResponse()},Nt=(e,t,n)=>{const{currentSessionId:a,currentSessionRef:o,endAgentResponse:u}=t();if(e.sessionId!==a)return;const s=e.taskFailure&&typeof e.taskFailure=="object"&&!Array.isArray(e.taskFailure)?e.taskFailure:void 0,i=Re(s==null?void 0:s.code);n({agentPhase:"error",error:e.error||"An error occurred",errorContext:{kind:"execution",...o?{sessionRef:o}:{},...i?{failureCode:i}:{}}}),u(),Y(e,t)},Mt=(e,t,n)=>{const{currentSessionId:a}=t();if(e.sessionId===a)if(e.status==="idle")n({isStreaming:!1,isStopping:!1,agentPhase:"idle",providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0});else if(e.status==="queued"||e.status==="running"||e.status==="waiting_permission"){const o=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:o,pendingInputDelivery:o>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",providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null})},Pt=(e,t,n)=>{const{currentSessionId:a,endAgentResponse:o,messages:u,updateSubagent:s}=t();if(e.sessionId===a){n(i=>({isStreaming:!1,agentPhase:"idle",messages:i.messages.map(r=>{var c;const d=(c=r.agentContent)==null?void 0:c.elicitation;return(d==null?void 0:d.status)!=="pending"||!r.agentContent?r:{...r,agentContent:{...r.agentContent,elicitation:{...d,status:"cancelled"}}}})}));for(const i of u)for(const r of N(i.agentContent))r.status==="running"&&s(i.id,r.id,{status:"failed"});o(),Y(e,t)}},Se=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({pendingSteeringCount:typeof e.queued=="number"?Math.max(0,e.queued):1,pendingInputDelivery:"current_turn"})},he=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({pendingSteeringCount:typeof e.queued=="number"?Math.max(0,e.queued):1,pendingInputDelivery:"next_turn"})},Rt=(e,t,n)=>{if(typeof e.childSessionId=="string"){const a={...e,subagentSessionId:e.childSessionId,success:e.status==="completed"};b(t().messages,e.childSessionId,t().currentAssistantMessageId)?W(a,t):je(e.childSessionId,a,n)}e.delivery==="current_turn"?Se(e,t,n):he(e,t,n)},xt=(e,t,n)=>{if(e.sessionId!==t().currentSessionId)return;const a=typeof e.queued=="number"?Math.max(0,e.queued):0;n({pendingSteeringCount:a,pendingInputDelivery:a>0?t().pendingInputDelivery:null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})},Dt=(e,t,n)=>{if(e.sessionId!==t().currentSessionId)return;const a=typeof e.queued=="number"?Math.max(0,e.queued):0;n({agentPhase:"running",pendingSteeringCount:a,pendingInputDelivery:a>0?"current_turn":null,recoveredSteeringCount:typeof e.recovered=="number"?Math.max(0,e.recovered):t().recoveredSteeringCount})},wt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:e.goal??null})},jt=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:null})},_t=(e,t,n)=>{e.sessionId===t().currentSessionId&&n({goal:e.goal??t().goal,isStreaming:!0,agentPhase:"running"})},Ft=(e,t,n)=>{if(e.sessionId!==t().currentSessionId||!Array.isArray(e.messages))return;const a=Date.now(),o=e.messages.flatMap((u,s)=>{if(typeof u!="object"||u===null)return[];const i=u;return!["user","assistant","system","tool"].includes(String(i.role))||!Array.isArray(i.content)&&typeof i.content!="string"?[]:[{id:`rewind-${s}-${a}`,role:i.role,content:i.content,timestamp:a+s,metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:void 0,thinkingContent:typeof i.thinkingContent=="string"?i.thinkingContent:typeof i.reasoningContent=="string"?i.reasoningContent:void 0,tool_call_id:typeof i.tool_call_id=="string"?i.tool_call_id:void 0,name:typeof i.name=="string"?i.name:void 0,tool_calls:i.tool_calls}]});n({messages:Me(o),isStreaming:!1,isStopping:!1,agentPhase:"idle",providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,currentAssistantMessageId:null,hasToolCalls:!1})},qt=(e,t,n)=>{const a=t().currentSessionRef;if(!a||e.sessionId!==a.sessionId||e.projectPath!==a.projectPath)return;const o=e.status,u=o==="completed"||o==="stale"?"completed":o==="aborted"?"cancelled":o==="interrupted"?"interrupted":"failed";n(s=>({sessions:s.sessions.map(i=>i.sessionId===a.sessionId&&i.projectPath===a.projectPath?{...i,taskStatus:u,taskStatusReason:void 0,taskFailure:void 0,taskCompletedAt:new Date().toISOString()}:i)})),t().selectSession(a)},Ot=(e,t,n)=>{ge({...e,messageId:`review-${String(e.reviewId??"active")}`,arguments:"{}"},t,n)},Et=(e,t,n)=>{fe(e,t)},Vt=(e,t,n)=>{Ie(e,t,n)},j={"message.created":_e,"message.delta":Fe,"message.complete":qe,"structured.output":Oe,"thinking.delta":Ee,"thinking.completed":Ve,"tool.start":ge,"tool.progress":fe,"tool.result":Ie,"mcp.catalog.changed":Ke,"mcp.content.changed":Ue,"mcp.resource.updated":Be,"mcp.connection.changed":Je,"mcp.log":Le,"mcp.instructions.changed":He,"mcp.task.changed":Ge,"project.rules.loaded":Qe,"user.shell.started":ze,"user.shell.output":We,"user.shell.completed":Ye,"token.usage":Xe,"task.updated":Ze,"subagent.start":pe,"subagent.update":et,"subagent.delta":tt,"subagent.thinking.delta":nt,"subagent.tool.start":st,"subagent.tool.progress":ot,"subagent.tool.result":it,"subagent.mcp.catalog.changed":at,"subagent.mcp.content.changed":rt,"subagent.mcp.resource.updated":ut,"subagent.mcp.connection.changed":dt,"subagent.mcp.log":lt,"subagent.mcp.instructions.changed":ct,"subagent.mcp.task.changed":gt,"subagent.project.rules.loaded":mt,"subagent.complete":W,"subagent.completion.queued":Rt,"permission.asked":ft,"permission.timeout":It,"turn.started":ae,"committed.turn_started":ae,"committed.turn_completed":re,"committed.turn_aborted":re,"provider.retry":Ct,"provider.stall":bt,"action.stationarity":vt,"compaction.started":St,"compaction.completed":ht,"model.fallback":yt,"question.required":At,"elicitation.required":kt,"interaction.resolved":Tt,"session.completed":$t,"session.error":Nt,"session.status":Mt,"run.cancelled":Pt,"steering.queued":Se,"follow_up.queued":he,"follow_up.started":Dt,"steering.applied":xt,"goal.updated":wt,"goal.cleared":jt,"goal.continuation.started":_t,"session.rewound":Ft,"review.tool.started":Ot,"review.tool.progress":Et,"review.tool.completed":Vt,"review.completed":qt},Kt=new Set(["message.complete","thinking.completed","session.completed","session.error","run.cancelled","committed.turn_completed","committed.turn_aborted"]),Lt=(e,t)=>n=>{const a=e().currentSessionRef,o=n.properties;if(!a||o.sessionId!==a.sessionId||o.projectPath!==a.projectPath)return;if(Kt.has(n.type)){$.drainAll();const s=j[n.type];s&&s(n.properties,e,t);return}if(n.type==="tool.start"&&$.drainAll(),n.type==="message.delta"){const{currentSessionId:s,currentAssistantMessageId:i,hasToolCalls:r}=e();if(o.sessionId!==s)return;const d=o.messageId||i,c=o.delta;if(!i){const I=j["message.delta"];I&&I(o,e,t);return}const l=r?"after":"before",g=`content:${d}:${l}`;$.drainAllExcept(g),$.append(g,c,I=>{const{appendDelta:m}=e();d&&m(d,I,l)});return}if(n.type==="thinking.delta"){const{currentSessionId:s,currentAssistantMessageId:i}=e();if(o.sessionId!==s)return;if(!i){const l=j["thinking.delta"];l&&l(o,e,t);return}const r=o.delta,d=o.messageId||i,c=`thinking:${d}`;$.drainAllExcept(c),$.append(c,r,l=>{const{appendThinking:g}=e();d&&g(d,l)});return}if(n.type==="subagent.delta"){const{currentSessionId:s}=e();if(o.sessionId!==s)return;const i=o.delta;if(!i)return;const r=o.subagentSessionId||"",d=`subagent:${r}`,{currentAssistantMessageId:c,messages:l}=e(),g=b(l,r||void 0,c);$.append(d,i,I=>{const{currentAssistantMessageId:m,messages:S,updateSubagent:y}=e(),h=g||b(S,r||void 0,m);h&&y(h.messageId,h.subagent.id,f=>({sessionId:f.sessionId||r,output:(f.output||"")+I}))});return}if(n.type==="subagent.thinking.delta"){const{currentSessionId:s}=e();if(o.sessionId!==s)return;const i=o.delta;if(!i)return;const r=o.subagentSessionId||"",d=`subagent-thinking:${r}`,{currentAssistantMessageId:c,messages:l}=e(),g=b(l,r||void 0,c);$.append(d,i,I=>{const{currentAssistantMessageId:m,messages:S,updateSubagent:y}=e(),h=g||b(S,r||void 0,m);h&&y(h.messageId,h.subagent.id,f=>({sessionId:f.sessionId||r,thinking:(f.thinking||"")+I}))});return}const u=j[n.type];u&&u(n.properties,e,t)};export{ve as a,oe as b,M as c,be as d,Me as e,Lt as f,N as g,$ as h,Re as i,Jt as j,Ae as k,_ as l,Bt as t,ue as u,B as w};
|
package/dist/web/index.html
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
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-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-DGZjm9wT.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-DG5dkZ_t.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/vendor-radix-DXRuAJHH.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/vendor-icons-ICv1v-tf.js">
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/session-events-
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/session-events-Dk20sSDo.js">
|
|
13
13
|
<link rel="stylesheet" crossorigin href="/assets/index-7zaeanZL.css">
|
|
14
14
|
</head>
|
|
15
15
|
<body>
|
package/package.json
CHANGED
package/dist/chunk-2c8d4q3y.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ke as a,le as b,me as c,ne as d,oe as e}from"./chunk-3j6bsp1q.js";import"./chunk-t1z46fqz.js";import"./chunk-prqgpq92.js";import"./chunk-ysr3frmw.js";import"./chunk-d3gx05ph.js";import"./chunk-bx99mx3k.js";import"./chunk-3ctcv013.js";import"./chunk-1ep6bcpc.js";import"./chunk-c23bewtt.js";import"./chunk-87ge6dkk.js";import"./chunk-dvf4cfye.js";import"./chunk-7ryqs453.js";import"./chunk-pnjftj8t.js";import"./chunk-nq1wqpsx.js";import"./chunk-fb80q06q.js";import"./chunk-0kqp5z4v.js";import"./chunk-jdms602t.js";import"./chunk-95jjpdh9.js";import"./chunk-sexhm0r5.js";export{d as snapshotWorkspaceAgentResources,c as resolveWorkspaceAgentResources,e as resetWorkspaceAgentResources,a as refreshWorkspaceCommunicationStyles,b as configureInvocationPluginDirs};
|
package/dist/chunk-5f956qbf.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$f as c,Zf as a,_f as b,ag as d,bg as e,cg as f}from"./chunk-fb80q06q.js";import"./chunk-sexhm0r5.js";export{b as getVersion,c as getPackageName,a as getPackageInfo,e as getFormattedVersion,d as getDescription,f as getCopyright};
|
package/dist/chunk-87ge6dkk.js
DELETED
package/dist/chunk-958rac3y.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as a,g as i,h as l,i as m}from"./chunk-wz6atg87.js";import"./chunk-h34g9v9z.js";import"./chunk-1qj0qms6.js";import"./chunk-7a8k7ck4.js";import"./chunk-fw1fm9cn.js";import"./chunk-mxffhqe5.js";import"./chunk-ag0z1q2q.js";import"./chunk-00gwp388.js";import"./chunk-s1j86hhh.js";import"./chunk-pgy1mtgw.js";import"./chunk-16449n3m.js";import"./chunk-g0gqxn3c.js";import"./chunk-2sdbj0zz.js";import{Zc as n}from"./chunk-p01t6c78.js";import"./chunk-5knt529c.js";import{td as s}from"./chunk-2gca6fvf.js";import"./chunk-v508x7cg.js";import"./chunk-d90tnjst.js";import"./chunk-y9a1jwnv.js";import"./chunk-dsxjgty6.js";import"./chunk-b9y9mc7f.js";import"./chunk-fjbptkh2.js";import"./chunk-3j6bsp1q.js";import"./chunk-t1z46fqz.js";import"./chunk-prqgpq92.js";import"./chunk-ysr3frmw.js";import"./chunk-d3gx05ph.js";import"./chunk-bx99mx3k.js";import"./chunk-3ctcv013.js";import"./chunk-1ep6bcpc.js";import"./chunk-c23bewtt.js";import"./chunk-87ge6dkk.js";import"./chunk-dvf4cfye.js";import"./chunk-7ryqs453.js";import"./chunk-pnjftj8t.js";import"./chunk-nq1wqpsx.js";import"./chunk-fb80q06q.js";import"./chunk-0kqp5z4v.js";import"./chunk-jdms602t.js";import"./chunk-95jjpdh9.js";import"./chunk-sexhm0r5.js";import v from"chalk";var C={command:"serve",describe:"Start a headless Blade server (no browser)",builder:a,handler:async(p)=>{let r=i(p);if(await s(),!process.env.BLADE_SERVER_PASSWORD)console.log(v.yellow("Warning: BLADE_SERVER_PASSWORD is not set; server is unsecured."));let e=await m.listenAsync(r);if(console.log(`Blade server listening on http://${e.hostname}:${e.port}`),r.hostname==="0.0.0.0"){let o=l();for(let g of o)console.log(` Network: http://${g}:${e.port}`)}let t,c=new Promise((o)=>{t=o}),d=n(async()=>{await e.stop(),t()});try{await c}finally{d(),await e.stop()}}};export{C as serveCommand};
|
package/dist/chunk-ap5qpeh4.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Kc as a,Lc as b,Mc as c,Nc as d,Oc as e,Pc as f,Qc as g,Rc as h}from"./chunk-2sdbj0zz.js";import"./chunk-7ryqs453.js";import"./chunk-95jjpdh9.js";import"./chunk-sexhm0r5.js";export{d as syncSession,e as syncAll,h as searchProjectionText,c as resetProjectionDbCache,f as removeSessionFromProjection,g as rebuildProjectionIndex,b as getProjectionDb,a as getIndexDbPath};
|
package/dist/chunk-c6fq52m9.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Md as a,Nd as b,Od as c}from"./chunk-dsxjgty6.js";import"./chunk-b9y9mc7f.js";import"./chunk-pnjftj8t.js";import"./chunk-nq1wqpsx.js";import"./chunk-95jjpdh9.js";import"./chunk-sexhm0r5.js";export{b as resolveModelConfig,c as getModelDisplayName,a as getModelApiKeyEnvironmentVariable};
|
package/dist/chunk-dvyv53nz.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$a as b,_a as a,bb as c,fb as d,gb as e,hb as f,ib as g,jb as h,kb as i,lb as j,mb as k,rb as l,sb as m,tb as n,ub as o,wb as p,xb as q,yb as r}from"./chunk-s1j86hhh.js";import"./chunk-pgy1mtgw.js";import"./chunk-16449n3m.js";import"./chunk-g0gqxn3c.js";import"./chunk-2sdbj0zz.js";import"./chunk-d90tnjst.js";import"./chunk-y9a1jwnv.js";import"./chunk-b9y9mc7f.js";import"./chunk-t1z46fqz.js";import"./chunk-prqgpq92.js";import"./chunk-d3gx05ph.js";import"./chunk-bx99mx3k.js";import"./chunk-1ep6bcpc.js";import"./chunk-c23bewtt.js";import"./chunk-87ge6dkk.js";import"./chunk-dvf4cfye.js";import"./chunk-7ryqs453.js";import"./chunk-pnjftj8t.js";import"./chunk-nq1wqpsx.js";import"./chunk-fb80q06q.js";import"./chunk-jdms602t.js";import"./chunk-95jjpdh9.js";import"./chunk-sexhm0r5.js";export{g as saveUserMessage,i as saveToolUse,j as saveToolResult,k as saveCompaction,h as saveAssistantMessage,d as isRootSystemPrompt,m as handleTaskListUpdate,n as handleSkillActivation,o as extractModelSwitch,r as executeLoopGenerator,f as drainLoop,c as checkStopHook,a as checkOutputRecovery,b as checkIncompleteIntent,q as checkAndCompactInLoop,p as applyToolDomainEffects,l as StreamingToolExecutor,e as ConversationState};
|
package/dist/chunk-ecsj4njh.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ad as n,Bd as o,Cd as p,Dd as q,nd as a,od as b,pd as c,qd as d,rd as e,sd as f,td as g,ud as h,vd as i,wd as j,xd as k,yd as l,zd as m}from"./chunk-2gca6fvf.js";import"./chunk-v508x7cg.js";import"./chunk-d90tnjst.js";import"./chunk-3ctcv013.js";import"./chunk-1ep6bcpc.js";import"./chunk-c23bewtt.js";import"./chunk-87ge6dkk.js";import"./chunk-dvf4cfye.js";import"./chunk-7ryqs453.js";import"./chunk-pnjftj8t.js";import"./chunk-nq1wqpsx.js";import"./chunk-fb80q06q.js";import"./chunk-0kqp5z4v.js";import"./chunk-jdms602t.js";import"./chunk-95jjpdh9.js";import"./chunk-sexhm0r5.js";export{a as vanillaStore,c as sessionActions,l as getThinkingModeEnabled,b as getState,n as getServiceTier,o as getResponseVerbosity,m as getReasoningEffort,j as getModelById,e as getMessages,k as getMcpServers,i as getCurrentModel,f as getConfig,p as getCommunicationStyle,h as getAllModels,g as ensureStoreInitialized,q as configActions,d as appActions};
|
package/dist/chunk-epyys9aw.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{m as fq,n as Eq,o as Iq,p as Lq,q as Wq,r as Sq}from"./chunk-crwa61tq.js";import{t as Jq,u as r,v as o,w as n,x as m,y as t}from"./chunk-fw1fm9cn.js";import{L as Uq,N as _q,O as Mq,Q as qq,S as Pq}from"./chunk-mxffhqe5.js";import"./chunk-ag0z1q2q.js";import"./chunk-00gwp388.js";import{Ua as zq,hb as jq,qb as Hq}from"./chunk-s1j86hhh.js";import"./chunk-pgy1mtgw.js";import{Yb as Gq,ac as Dq,lc as g,wc as l}from"./chunk-16449n3m.js";import"./chunk-g0gqxn3c.js";import"./chunk-2sdbj0zz.js";import{Sc as Aq}from"./chunk-64f79ce5.js";import{Uc as xq,Vc as Rq,Wc as bq}from"./chunk-1142vwqa.js";import{Xc as Nq}from"./chunk-5v642sh3.js";import"./chunk-5knt529c.js";import{vd as Kq}from"./chunk-2gca6fvf.js";import"./chunk-v508x7cg.js";import"./chunk-d90tnjst.js";import"./chunk-y9a1jwnv.js";import"./chunk-dsxjgty6.js";import"./chunk-b9y9mc7f.js";import"./chunk-fjbptkh2.js";import"./chunk-3j6bsp1q.js";import"./chunk-t1z46fqz.js";import"./chunk-prqgpq92.js";import"./chunk-ysr3frmw.js";import"./chunk-d3gx05ph.js";import"./chunk-bx99mx3k.js";import"./chunk-3ctcv013.js";import{vf as Xq}from"./chunk-1ep6bcpc.js";import{Bf as U,wf as Bq,yf as q,zf as e}from"./chunk-c23bewtt.js";import"./chunk-87ge6dkk.js";import{If as h}from"./chunk-dvf4cfye.js";import"./chunk-7ryqs453.js";import"./chunk-pnjftj8t.js";import"./chunk-nq1wqpsx.js";import"./chunk-fb80q06q.js";import"./chunk-0kqp5z4v.js";import"./chunk-jdms602t.js";import"./chunk-95jjpdh9.js";import"./chunk-sexhm0r5.js";import AZ from"yargs";import{hideBin as xZ}from"yargs/helpers";function p($,V,D){if($.off){$.off(V,D);return}$.removeListener?.(V,D)}function Tq($,V){if(!$.once&&!$.on||!$.off&&!$.removeListener)throw Error("Writable returned false without an observable drain contract");return new Promise((D,Q)=>{let Z=!1,Y=()=>{p($,"drain",_),p($,"error",M),V.removeEventListener("abort",x)},j=(b)=>{if(Z)return;Z=!0,Y(),b()},_=()=>j(D),M=(b)=>j(()=>Q(b??Error("Writable emitted an error"))),x=()=>j(()=>Q(V.reason??Error("Writable drain aborted")));if(V.aborted){x();return}let R=$.once?.bind($)??$.on?.bind($);R?.("drain",_),R?.("error",M),V.addEventListener("abort",x,{once:!0})})}async function gq($,V,D){if($.destroyed||$.writableEnded)throw Error("Writable is already closed");if($.write(V)===!1)await Tq($,D)}class u{options;queues;sinkErrorListeners=[];failed=!1;closing=!1;handleAbort=()=>{this.fail(new m("aborted","Headless output was aborted",{cause:this.options.signal?.reason}))};constructor($,V={}){this.options=V;let D=(Q)=>new t({maxPendingItems:V.maxPendingItems??r,maxPendingBytes:V.maxPendingBytes??o,writeTimeoutMs:V.writeTimeoutMs??n,sizeOf:(Z)=>Buffer.byteLength(Z),write:(Z,Y)=>gq($[Q],Z,Y),onFailure:(Z)=>this.fail(Z)});if(this.queues={stdout:D("stdout"),stderr:D("stderr")},this.observeSinkErrors($.stdout),$.stderr!==$.stdout)this.observeSinkErrors($.stderr);if(V.signal?.addEventListener("abort",this.handleAbort,{once:!0}),V.signal?.aborted)this.handleAbort()}write($,V){return this.queues[$].offer(V).accepted}async flush(){await Promise.all([this.queues.stdout.flush(),this.queues.stderr.flush()])}close($){if(this.closing||this.failed)return;this.closing=!0,this.options.signal?.removeEventListener("abort",this.handleAbort),this.removeSinkErrorListeners(),this.queues.stdout.close($),this.queues.stderr.close($)}stats(){return{stdout:this.queues.stdout.stats(),stderr:this.queues.stderr.stats()}}observeSinkErrors($){if(!$.on||!$.off&&!$.removeListener)return;let V=(D)=>{this.fail(new m("write_failed","Headless writable failed",{cause:D??Error("Writable emitted an error")}))};$.on("error",V),this.sinkErrorListeners.push({writer:$,listener:V})}fail($){if(this.closing||this.failed)return;this.failed=!0,this.options.signal?.removeEventListener("abort",this.handleAbort),this.removeSinkErrorListeners(),this.queues.stdout.close($),this.queues.stderr.close($),this.options.onFailure?.($)}removeSinkErrorListeners(){for(let{writer:$,listener:V}of this.sinkErrorListeners.splice(0))p($,"error",V)}}var Zq=1;function z($){return q.Object({event_version:q.Literal(Zq),...$})}var wq=z({type:q.Literal("content_delta"),delta:q.String()}),cq=z({type:q.Literal("thinking_delta"),delta:q.String()}),dq=z({type:q.Literal("thinking"),content:q.String()}),mq=z({type:q.Literal("stream_end")}),pq=z({type:q.Literal("content"),content:q.String()}),uq=z({type:q.Literal("structured_output"),output:q.Record(q.String(),q.Unknown()),schema_digest:q.String({pattern:"^[a-f0-9]{64}$"})}),$q=U(["readonly","write","execute"]),lq=z({type:q.Literal("tool_start"),tool_name:q.String(),summary:q.String(),target:q.Optional(q.String()),tool_kind:q.Optional($q)}),vq=z({type:q.Literal("tool_progress"),tool_name:q.String(),message:q.String(),progress:q.Optional(q.Number()),total:q.Optional(q.Number())}),sq=z({type:q.Literal("tool_result"),tool_name:q.String(),summary:q.String(),target:q.Optional(q.String()),tool_kind:q.Optional($q),success:q.Optional(q.Boolean()),error_type:q.Optional(q.String()),error_message:q.Optional(q.String())}),iq=z({type:q.Literal("mcp_catalog_changed"),revision:q.Integer({minimum:1}),server_name:q.String(),added:q.Array(q.String()),removed:q.Array(q.String()),updated:q.Array(q.String())}),aq=z({type:q.Literal("mcp_content_changed"),revision:q.Integer({minimum:1}),server_name:q.String(),content_kind:U(["resources","resource_templates","prompts"]),added:q.Array(q.String()),removed:q.Array(q.String()),updated:q.Array(q.String())}),rq=z({type:q.Literal("mcp_resource_updated"),revision:q.Integer({minimum:1}),server_name:q.String(),uri:q.String()}),oq=z({type:q.Literal("mcp_connection_changed"),revision:q.Integer({minimum:1}),server_name:q.String(),phase:U(["reconnecting","recovered","failed"]),reason:q.String(),attempt:q.Integer({minimum:0}),max_attempts:q.Integer({minimum:0}),next_retry_at:q.Optional(q.Integer({minimum:0})),error:q.Optional(q.String())}),nq=z({type:q.Literal("mcp_log"),revision:q.Integer({minimum:1}),server_name:q.String(),level:U(["debug","info","notice","warning","error","critical","alert","emergency"]),logger:q.Optional(q.String()),message:q.String(),projected_bytes:q.Integer({minimum:0}),data_sha256:q.String(),truncated:q.Boolean(),details_omitted:q.Boolean(),timestamp:q.Integer({minimum:0}),synthetic:q.Optional(q.Boolean())}),tq=z({type:q.Literal("mcp_instructions_changed"),revision:q.Integer({minimum:0}),server_name:q.String(),action:U(["added","removed"]),reason:U(["snapshot","connection","disconnection"]),text:q.Optional(q.String()),source_bytes:q.Optional(q.Integer({minimum:0})),projected_bytes:q.Optional(q.Integer({minimum:0})),sha256:q.Optional(q.String()),truncated:q.Optional(q.Boolean()),details_omitted:q.Optional(q.Boolean())}),eq=z({type:q.Literal("mcp_task_changed"),revision:q.Integer({minimum:0}),task_id:q.String(),server_name:q.String(),tool_name:q.String(),status:U(["working","input_required","interrupted","completed","failed","cancelled"]),status_message:q.Optional(q.String()),created_at:q.Integer({minimum:0}),updated_at:q.Integer({minimum:0}),completed_at:q.Optional(q.Integer({minimum:0})),has_result:q.Boolean(),error:q.Optional(q.String())}),qZ=z({type:q.Literal("project_rules_loaded"),files:q.Array(q.Object({id:q.String(),relative_path:q.String(),source:U(["project","local"]),conditional:q.Boolean(),content_sha256:q.String({pattern:"^[a-f0-9]{64}$"})})),trigger_paths:q.Array(q.String()),blocked_write:q.Boolean()}),ZZ=z({type:q.Literal("user_shell_started"),execution_id:q.String(),command:q.String(),auxiliary:q.Boolean()}),$Z=z({type:q.Literal("user_shell_output"),execution_id:q.String(),stream:U(["stdout","stderr"]),chunk:q.String(),stream_truncated:q.Boolean()}),VZ=z({type:q.Literal("user_shell_completed"),execution_id:q.String(),message_id:q.String(),status:U(["completed","failed","aborted","timed_out","spawn_error"]),exit_code:q.Union([q.Integer(),q.Null()]),duration_ms:q.Number({minimum:0}),stdout:q.String(),stderr:q.String(),truncated:q.Boolean(),auxiliary:q.Boolean()}),YZ=z({type:q.Literal("phase"),phase:U(["turn","searching","inspecting","target_hit","executing","completed"]),status:U(["ongoing","hit","done"]),message:q.String(),turn:q.Optional(q.Number()),tool_name:q.Optional(q.String()),target:q.Optional(q.String())}),QZ=z({type:q.Literal("tool_detail"),tool_name:q.String(),detail:q.String()}),XZ=z({type:q.Literal("task_update"),tasks:q.Array(qq)}),BZ=z({type:q.Literal("goal"),state:U(["updated","cleared"]),goal_id:q.Optional(q.String()),status:q.Optional(U(["active","verifying","paused","blocked","usage_limited","budget_limited","complete"])),verification_attempt:q.Optional(q.Integer({minimum:1})),verification_status:q.Optional(U(["pending","pass","fail","partial"])),verifier_session_id:q.Optional(q.String()),verification_evidence_sha256:q.Optional(q.String({pattern:"^[a-f0-9]{64}$"}))}),KZ=z({type:q.Literal("subagent"),state:U(["spawned","completed"]),session_id:q.String(),subagent_type:q.Optional(q.String()),success:q.Optional(q.Boolean()),summary:q.Optional(q.String()),verification_verdict:q.Optional(U(["pass","fail","partial"])),resumed_from:q.Optional(q.String()),root_agent_id:q.Optional(q.String()),resume_depth:q.Optional(q.Integer({minimum:0}))}),GZ=z({type:q.Literal("token_usage"),input_tokens:q.Number(),output_tokens:q.Number(),total_tokens:q.Number(),max_context_tokens:q.Number(),cache_read_tokens:q.Optional(q.Number()),cache_write_tokens:q.Optional(q.Number()),cost_usd:q.Optional(q.Number())}),DZ=z({type:q.Literal("compacting"),state:U(["started","completed"]),reason:q.Optional(U(["threshold","context_limit","turn_limit","manual"])),strategy:q.Optional(U(["llm","fallback","snip"])),outcome:q.Optional(U(["completed","fallback","failed"])),pre_tokens:q.Optional(q.Number({minimum:0})),post_tokens:q.Optional(q.Number({minimum:0}))}),zZ=z({type:q.Literal("provider_retry"),phase:U(["scheduled","attempt","recovered","exhausted"]),attempt:q.Integer({minimum:0}),max_retries:q.Integer({minimum:0}),reason:U(["rate_limit","server_error","timeout","transport","stream_closed"]),status_code:q.Optional(q.Integer({minimum:100,maximum:599})),delay_ms:q.Optional(q.Integer({minimum:0})),next_retry_at:q.Optional(q.Integer({minimum:0}))}),jZ=z({type:q.Literal("provider_stall"),phase:U(["detected","recovered"]),stall_count:q.Integer({minimum:1}),duration_ms:q.Integer({minimum:0}),warning_after_ms:q.Integer({minimum:1}),timeout_ms:q.Integer({minimum:1}),output_started:q.Boolean()}),HZ=z({type:q.Literal("action_stationarity"),phase:U(["detected","recovered","halted"]),tool_name:q.String(),run_length:q.Integer({minimum:1}),nudge_threshold:q.Integer({minimum:1}),halt_threshold:q.Integer({minimum:1}),progress_aware:q.Boolean()}),UZ=z({type:q.Literal("turn_limit"),turns_count:q.Number(),action:q.Literal("continue")}),_Z=z({type:q.Literal("task_session"),session_id:q.String(),project_path:q.String(),source_project_path:q.String(),isolation:U(["local","worktree"]),worktree_branch:q.Optional(q.String()),base_commit:q.Optional(q.String())}),MZ=z({type:q.Literal("task_admission"),state:U(["queued","running"]),queue_position:q.Optional(q.Integer({minimum:1})),queue_depth:q.Integer({minimum:0}),in_flight:q.Integer({minimum:0}),max_concurrent_tasks:q.Integer({minimum:1})}),PZ=z({type:q.Literal("output"),content:q.String(),exit_code:q.Number()}),NZ=z({type:q.Literal("error"),message:q.String()}),cZ=e(q.Union([wq,cq,dq,mq,pq,uq,lq,vq,sq,iq,aq,rq,oq,nq,tq,eq,qZ,ZZ,$Z,VZ,YZ,QZ,XZ,BZ,KZ,GZ,DZ,zZ,jZ,HZ,UZ,_Z,MZ,PZ,NZ]));function Vq($,V){return{event_version:Zq,type:$,...V}}function RZ($){let V=new AbortController,D=(Y)=>{if(!V.signal.aborted)V.abort(Y)},Q=()=>D("interrupt"),Z=()=>D($?.signal?.reason);if($?.signal){if($.signal.addEventListener("abort",Z,{once:!0}),$.signal.aborted)Z()}else process.once("SIGINT",Q),process.once("SIGTERM",Q);return{signal:V.signal,abort:D,dispose:()=>{$?.signal?.removeEventListener("abort",Z),process.removeListener("SIGINT",Q),process.removeListener("SIGTERM",Q)}}}var bZ=U(["text","jsonl"]),JZ=q.Object({headless:q.Optional(q.Boolean()),message:q.Optional(q.String()),_:q.Optional(q.Array(q.Union([q.String(),q.Number()]))),model:q.Optional(q.String()),systemPrompt:q.Optional(q.String()),appendSystemPrompt:q.Optional(q.String()),verificationAgent:q.Optional(q.Boolean()),maxTurns:q.Optional(q.Refine(q.Integer(),($)=>$===-1||$>0,()=>"must be -1 (unlimited) or a positive integer")),permissionMode:q.Optional(q.Enum(Xq)),mcpConfig:q.Optional(q.Array(q.String())),strictMcpConfig:q.Optional(q.Boolean()),sessionId:q.Optional(q.String()),allowedTools:q.Optional(q.Array(q.String())),disallowedTools:q.Optional(q.Array(q.String())),agents:q.Optional(q.String()),continue:q.Optional(q.Boolean()),resume:q.Optional(q.Union([q.String(),q.Boolean()])),forkSession:q.Optional(q.Boolean()),taskIsolation:q.Optional(U(["local","worktree"])),outputFormat:q.Optional(bZ),jsonSchema:q.Optional(q.String()),outputSchema:q.Optional(q.String())});class Cq{openedThinking=!1;wroteAssistantContent=!1;markAssistantContent(){this.wroteAssistantContent=!0}setThinkingOpened($){this.openedThinking=$}hasOpenThinking(){return this.openedThinking}completeStream(){let $={openedThinking:this.openedThinking,wroteAssistantContent:this.wroteAssistantContent};return this.openedThinking=!1,this.wroteAssistantContent=!1,$}}function fZ($){return $.issues.map((V)=>`${V.path.join(".")||"options"}: ${V.message}`).join("; ")}function EZ($){let V=Bq(JZ,$);if(!V.success)throw Error(`Invalid headless options: ${fZ(V.error)}`);return V.data}function IZ($){return $.command("* [message]","Run full agent loop without Ink UI and print events to the terminal",(V)=>V.positional("message",{describe:"Message to process",type:"string"}).option("headless",{type:"boolean",describe:"Run full agent loop without Ink UI and print events to the terminal"}).option("model",{describe:"Model ID for this run",type:"string"}).option("system-prompt",{describe:"Replace the default system prompt",type:"string"}).option("append-system-prompt",{describe:"Append a system prompt to the default system prompt",type:"string"}).option("verification-agent",{describe:"Run the built-in independent verification agent after non-trivial changes",type:"boolean",default:!0}).option("max-turns",{alias:["maxTurns"],describe:"Maximum conversation turns (-1: unlimited, N>0: limit to N turns)",type:"number"}).option("output-format",{alias:["outputFormat"],choices:["text","jsonl"],describe:"Headless output format",type:"string"}).option("json-schema",{alias:["jsonSchema"],describe:"Inline JSON Schema for the structured final response",type:"string"}).option("output-schema",{alias:["outputSchema"],describe:"Path to a JSON Schema file for the structured final response",type:"string"}).option("task-isolation",{alias:["taskIsolation"],choices:["local","worktree"],describe:"Dispatch a new durable task in the selected workspace mode",type:"string"}),async(V)=>{if(!V.headless)return;let D=await hZ(V);process.exit(D)})}function H($,V=""){$.write(`${V}
|
|
2
|
-
`)}function LZ($){return`[task] [${$.status}] ${$.subject}`}function WZ(){return{requestConfirmation:async($)=>$.type==="mcpElicitation"?{approved:!1,reason:"headless-mcp-elicitation-unavailable",elicitation:{action:"cancel"}}:$.type==="mcpSampling"?{approved:!1,reason:"headless-mcp-sampling-unavailable"}:{approved:!0,reason:"headless-auto-approved",scope:"session"}}}function SZ($){if(!($ instanceof Error))return"Unknown error";let Q=$.lastError??$;if(Q.responseBody)try{let j=JSON.parse(Q.responseBody)?.error?.message;if(j)return Q.statusCode?`${j} (HTTP ${Q.statusCode})`:j}catch{}let Z=$.message.match(/Last error:\s*(.+)$/);if(Z)return Z[1];return $.message}function CZ($){return $==="jsonl"?"jsonl":"text"}function Yq($,V){let D=(...Q)=>{for(let Z of Q){let Y=V[Z];if(typeof Y==="string"&&Y.trim()!=="")return Y}return};switch($){case"Read":case"Edit":case"Write":case"UndoEdit":return D("file_path");case"ApplyPatch":return"multi-file patch";case"NotebookEdit":return D("notebook_path");case"Grep":return D("path","pattern");case"Glob":return D("pattern");case"WebFetch":return D("url");case"WebSearch":return D("query");case"Bash":return D("command","description");case"Task":return D("description");case"LSP":return D("filePath","operation");case"EnterWorktree":return D("name");case"ExitWorktree":return D("action");default:return}}function OZ($,V,D,Q){let Z=new Set(["Glob","Grep","WebSearch","LS"]),Y=new Set(["Read","WebFetch"]);if(new Set(["Edit","Write","ApplyPatch","NotebookEdit","Bash","LSP","UndoEdit","EnterWorktree","ExitWorktree"]).has($)&&!Q.targetLocked)return{phase:"target_hit",status:"hit",message:`Target locked: ${V}`,shouldLockTarget:!0};if(Q.targetLocked)return{phase:"executing",status:"hit",message:D?`Working within target: ${V}`:`Executing: ${V}`,shouldLockTarget:!1};if(Z.has($))return{phase:"searching",status:"ongoing",message:`Still searching: ${V}`,shouldLockTarget:!1};if(Y.has($))return{phase:"inspecting",status:"ongoing",message:`Inspecting candidate: ${V}`,shouldLockTarget:!1};return{phase:"executing",status:Q.targetLocked?"hit":"ongoing",message:`Executing: ${V}`,shouldLockTarget:!1}}function Qq($,V,D=!1){let Q=(Z,Y)=>{$.stdout.write(`${JSON.stringify(Vq(Z,Y))}
|
|
3
|
-
`)};return{contentDelta(Z){if(V==="jsonl"){Q("content_delta",{delta:Z});return}if(D)return;$.stdout.write(Z)},thinkingDelta(Z,Y){if(V==="jsonl")return Q("thinking_delta",{delta:Z}),Y;if(!Y)$.stderr.write("[thinking] ");return $.stderr.write(Z),!0},thinking(Z){if(V==="jsonl"){Q("thinking",{content:Z});return}H($.stderr,`[thinking] ${Z}`)},streamEnd(Z,Y){if(V==="jsonl"){Q("stream_end",{});return}if(Y)$.stderr.write(`
|
|
4
|
-
`);if(Z)$.stdout.write(`
|
|
5
|
-
`)},content(Z){if(V==="jsonl"){Q("content",{content:Z});return}H($.stdout,Z)},structuredOutput(Z){if(V==="jsonl"){Q("structured_output",{output:Z.output,schema_digest:Z.schemaDigest});return}H($.stdout,JSON.stringify(Z.output))},toolStart(Z,Y,j,_){if(V==="jsonl"){Q("tool_start",{tool_name:Z,summary:Y,target:j,tool_kind:_});return}H($.stderr,`[tool:start] ${Y}`)},toolProgress(Z,Y,j,_){if(V==="jsonl"){Q("tool_progress",{tool_name:Z,message:Y,progress:j,total:_});return}H($.stderr,`[tool:progress] ${Z}: ${Y}`)},toolResult(Z,Y,j,_,M){if(V==="jsonl"){Q("tool_result",{tool_name:Z,summary:Y,target:j,tool_kind:_,success:M?.success,error_type:M?.errorType,error_message:M?.errorMessage});return}H($.stderr,`[tool:result] ${Y}`)},mcpCatalogChanged(Z){if(V==="jsonl"){Q("mcp_catalog_changed",{revision:Z.revision,server_name:Z.serverName,added:Z.added,removed:Z.removed,updated:Z.updated});return}H($.stderr,`[mcp:catalog] r${Z.revision} ${Z.serverName} +${Z.added.length} -${Z.removed.length} ~${Z.updated.length}`)},mcpContentChanged(Z){if(V==="jsonl"){Q("mcp_content_changed",{revision:Z.revision,server_name:Z.serverName,content_kind:Z.contentKind==="resourceTemplates"?"resource_templates":Z.contentKind,added:Z.added,removed:Z.removed,updated:Z.updated});return}H($.stderr,`[mcp:${Z.contentKind}] r${Z.revision} ${Z.serverName} +${Z.added.length} -${Z.removed.length} ~${Z.updated.length}`)},mcpResourceUpdated(Z){if(V==="jsonl"){Q("mcp_resource_updated",{revision:Z.revision,server_name:Z.serverName,uri:Z.uri});return}H($.stderr,`[mcp:resource] r${Z.revision} ${Z.serverName} updated ${Z.uri}`)},mcpConnectionChanged(Z){if(V==="jsonl"){Q("mcp_connection_changed",{revision:Z.revision,server_name:Z.serverName,phase:Z.phase,reason:Z.reason,attempt:Z.attempt,max_attempts:Z.maxAttempts,...Z.nextRetryAt!==void 0?{next_retry_at:Z.nextRetryAt}:{},...Z.error?{error:Z.error}:{}});return}H($.stderr,`[mcp:connection] r${Z.revision} ${Z.serverName} ${Z.phase} ${Z.attempt}/${Z.maxAttempts}`)},mcpLog(Z){if(V==="jsonl"){Q("mcp_log",{revision:Z.revision,server_name:Z.serverName,level:Z.level,logger:Z.logger,message:Z.message,projected_bytes:Z.projectedBytes,data_sha256:Z.dataSha256,truncated:Z.truncated,details_omitted:Z.detailsOmitted,timestamp:Z.timestamp,synthetic:Z.synthetic});return}H($.stderr,`[mcp:log] ${Z.level} ${Z.serverName}${Z.logger?` logger=${Z.logger}`:""}: ${Z.message}`)},mcpInstructionsChanged(Z){if(V==="jsonl"){Q("mcp_instructions_changed",{revision:Z.revision,server_name:Z.serverName,action:Z.action,reason:Z.reason,text:Z.text,source_bytes:Z.sourceBytes,projected_bytes:Z.projectedBytes,sha256:Z.sha256,truncated:Z.truncated,details_omitted:Z.detailsOmitted});return}H($.stderr,`[mcp:instructions] ${Z.action} ${Z.serverName}${Z.truncated?" (truncated)":""}`)},mcpTaskChanged(Z){if(V==="jsonl"){Q("mcp_task_changed",{revision:Z.revision,task_id:Z.taskId,server_name:Z.serverName,tool_name:Z.toolName,status:Z.status,status_message:Z.statusMessage,created_at:Z.createdAt,updated_at:Z.updatedAt,completed_at:Z.completedAt,has_result:Z.hasResult,error:Z.error});return}H($.stderr,`[mcp:task] ${Z.taskId} ${Z.serverName}/${Z.toolName} `+Z.status)},projectRulesLoaded(Z){if(V==="jsonl"){Q("project_rules_loaded",{files:Z.files.map((Y)=>({id:Y.id,relative_path:Y.relativePath,source:Y.source,conditional:Y.conditional,content_sha256:Y.contentSha256})),trigger_paths:Z.triggerPaths,blocked_write:Z.blockedWrite});return}H($.stderr,`[project-rules] loaded ${Z.files.length} file(s)${Z.blockedWrite?" before write":""}`)},userShellStarted(Z,Y,j){if(V==="jsonl"){Q("user_shell_started",{execution_id:Z,command:Y,auxiliary:j});return}H($.stderr,`[user-shell:start] ${Y}`)},userShellOutput(Z,Y,j,_){if(V==="jsonl"){Q("user_shell_output",{execution_id:Z,stream:Y,chunk:j,stream_truncated:_});return}(Y==="stderr"?$.stderr:$.stdout).write(j)},userShellCompleted(Z){if(V==="jsonl"){Q("user_shell_completed",{execution_id:Z.executionId,message_id:Z.messageId,status:Z.record.status,exit_code:Z.record.exitCode,duration_ms:Z.record.durationMs,stdout:Z.record.stdout,stderr:Z.record.stderr,truncated:Z.record.truncated,auxiliary:Z.auxiliary});return}H($.stderr,`[user-shell:${Z.record.status}] exit=${Z.record.exitCode??"null"} ${Z.record.durationMs}ms`)},phase(Z,Y,j,_={}){if(V==="jsonl"){Q("phase",{phase:Z,status:Y,message:j,turn:_.turn,tool_name:_.toolName,target:_.target});return}H($.stderr,`[phase:${Z}] ${j}`)},toolDetail(Z,Y){if(V==="jsonl"){Q("tool_detail",{tool_name:Z,detail:Y});return}H($.stderr,Y)},taskUpdate(Z){if(V==="jsonl"){Q("task_update",{tasks:Z});return}for(let Y of Z)H($.stderr,LZ(Y))},goal(Z){if(V==="jsonl"){Q("goal",{state:Z.goal?"updated":"cleared",goal_id:Z.goal?.goalId,status:Z.goal?.status,verification_attempt:Z.goal?.completionVerification?.attempt,verification_status:Z.goal?.completionVerification?.status,verifier_session_id:Z.goal?.completionVerification?.verifierSessionId,verification_evidence_sha256:Z.goal?.completionVerification?.evidenceSha256});return}if(Z.goal)H($.stderr,`[goal:${Z.goal.status}] ${Z.goal.objective}`);else H($.stderr,"[goal:cleared]")},subagent(Z){let Y=Z.kind==="subagent_spawned";if(V==="jsonl"){Q("subagent",{state:Y?"spawned":"completed",session_id:Z.sessionId,subagent_type:Z.type,success:Y?void 0:Z.success,summary:Y?void 0:Z.summary,verification_verdict:Y?void 0:Z.verificationVerdict,resumed_from:Z.resumedFrom,root_agent_id:Z.rootAgentId,resume_depth:Z.resumeDepth});return}H($.stderr,`[subagent:${Y?"spawned":"completed"}] ${Z.sessionId}${Z.resumedFrom?` resumed from ${Z.resumedFrom}`:""}`)},tokenUsage(Z){if(V==="jsonl"){Q("token_usage",{input_tokens:Z.inputTokens,output_tokens:Z.outputTokens,total_tokens:Z.totalTokens,max_context_tokens:Z.maxContextTokens,cache_read_tokens:Z.cacheReadTokens,cache_write_tokens:Z.cacheWriteTokens,cost_usd:Z.costUsd});return}H($.stderr,`[tokens] in=${Z.inputTokens} out=${Z.outputTokens} total=${Z.totalTokens} / ${Z.maxContextTokens}`)},compacting(Z){let Y=Z.phase==="start";if(V==="jsonl"){Q("compacting",{state:Y?"started":"completed",reason:Z.reason,strategy:Z.strategy,outcome:Z.outcome,pre_tokens:Z.preTokens,post_tokens:Z.postTokens});return}H($.stderr,Y?`[context] compacting started${Z.reason?` (${Z.reason})`:""}`:`[context] compacting ${Z.outcome??"completed"}`)},providerRetry(Z){if(V==="jsonl"){Q("provider_retry",{phase:Z.phase,attempt:Z.attempt,max_retries:Z.maxRetries,reason:Z.reason,status_code:Z.statusCode,delay_ms:Z.delayMs,next_retry_at:Z.nextRetryAt});return}let Y=Z.delayMs!==void 0?` in ${Math.max(0,Math.ceil(Z.delayMs/1000))}s`:"";H($.stderr,`[provider-retry:${Z.phase}] ${Z.attempt}/${Z.maxRetries} ${Z.reason}${Y}`)},providerStall(Z){if(V==="jsonl"){Q("provider_stall",{phase:Z.phase,stall_count:Z.stallCount,duration_ms:Z.durationMs,warning_after_ms:Z.warningAfterMs,timeout_ms:Z.timeoutMs,output_started:Z.outputStarted});return}H($.stderr,`[provider-stall:${Z.phase}] ${Z.durationMs}ms / ${Z.timeoutMs}ms`)},actionStationarity(Z){if(V==="jsonl"){Q("action_stationarity",{phase:Z.phase,tool_name:Z.toolName,run_length:Z.runLength,nudge_threshold:Z.nudgeThreshold,halt_threshold:Z.haltThreshold,progress_aware:Z.progressAware});return}H($.stderr,`[action-stationarity:${Z.phase}] ${Z.toolName} ${Z.runLength}/${Z.haltThreshold}`)},turnLimit(Z){if(V==="jsonl"){Q("turn_limit",{turns_count:Z,action:"continue"});return}H($.stderr,`[turn-limit] continuing after ${Z} turns`)},taskSession(Z){if(V==="jsonl"){Q("task_session",{session_id:Z.sessionId,project_path:Z.projectPath,source_project_path:Z.sourceProjectPath,isolation:Z.isolation,worktree_branch:Z.worktreeBranch,base_commit:Z.baseCommit});return}H($.stderr,`[task:${Z.isolation}] ${Z.sessionId} ${Z.sourceProjectPath} -> ${Z.projectPath}${Z.worktreeBranch?` (${Z.worktreeBranch})`:""}`)},taskAdmission(Z){if(V==="jsonl"){Q("task_admission",{state:Z.state,queue_position:Z.queuePosition,queue_depth:Z.queueDepth,in_flight:Z.inFlight,max_concurrent_tasks:Z.maxConcurrentTasks});return}H($.stderr,Z.state==="queued"?`[task:queued] position ${Z.queuePosition??1}/${Z.queueDepth} (running ${Z.inFlight}/${Z.maxConcurrentTasks})`:`[task:running] admitted (running ${Z.inFlight}/${Z.maxConcurrentTasks})`)},output(Z,Y=0){if(V==="jsonl"){Q("output",{content:Z,exit_code:Y});return}H(Y===0?$.stdout:$.stderr,Z)},error(Z){if(V==="jsonl"){Q("error",{message:Z});return}H($.stderr,Z)}}}async function hZ($,V={stdout:process.stdout,stderr:process.stderr},D){let Q="text",Z=new Cq,Y={targetLocked:!1},j,_,M=RZ(D),x=!1,R=new u(V,{signal:M.signal,onFailure:(B)=>{x=!0,M.abort(B)}}),b={stdout:{write:(B)=>R.write("stdout",B)},stderr:{write:(B)=>R.write("stderr",B)}},K=Qq(b,Q),w=async()=>{try{return await R.flush(),!x}catch{return!1}},f=async(B)=>{return _?.(),_=void 0,await w()?B:1};try{let B=EZ($);Q=CZ(B.outputFormat);let E=await Wq(B);K=Qq(b,Q,Boolean(E)),await fq();let v=B.forkSession!==!0&&(B.continue===!0||typeof B.resume==="string"&&B.resume.length>0)?await Iq({message:B.message,_:B._,stdin:D?.stdin}):await Eq({...B,stdin:D?.stdin}),S=v===void 0,N=S?{mode:"agent",content:""}:await Lq(v);if(N.mode==="output"){if(N.content)K.output(N.content,N.exitCode??0);return await f(N.exitCode??0)}let k=N.content.trimStart().startsWith("!")?N.content.trimStart().slice(1).trim():void 0;if(k!==void 0&&B.taskIsolation)throw Error("User shell commands cannot be combined with --task-isolation");if(k!==void 0&&E)throw Error("Output schemas cannot be combined with user shell commands");if(B.taskIsolation&&(B.continue||B.resume||B.forkSession))throw Error("--task-isolation cannot be combined with --continue, --resume, or --fork-session");let{sessionId:A,messages:s,metadata:i}=await Sq({sessionId:B.sessionId,continue:B.continue,resume:B.resume,forkSession:B.forkSession,fallbackSessionPrefix:"headless"}),C=B.permissionMode??i?.permissionMode??"yolo",a=B.model&&B.model!=="inherit"?B.model:Kq()?.id,P=B.taskIsolation?await Jq.createSessionTask({sessionId:A,prompt:N.content,sourceProjectPath:h(),isolation:B.taskIsolation,dispatch:{version:1,prompt:N.content,sourceProjectPath:h(),isolation:B.taskIsolation,permissionMode:C,...a?{modelId:a}:{},...E?{outputSchema:E}:{}}}):void 0,J=P?.metadata.projectPath??i?.projectPath??h();if(!P)await l.setSessionPermissionMode(A,J,C);let Oq=P?!1:await Hq.cancelPendingNonInteractive(J,A);if(P)K.taskSession({sessionId:A,projectPath:J,sourceProjectPath:P.metadata.taskSourceProjectPath??h(),isolation:B.taskIsolation,worktreeBranch:P.metadata.taskWorktreeBranch,baseCommit:P.metadata.taskBaseCommit}),_=zq.subscribe((X)=>{if(X.type!=="task.status"||X.sessionId!==A||X.projectPath!==J||!["queued","running"].includes(String(X.properties.taskStatus))||typeof X.properties.taskQueueDepth!=="number"||typeof X.properties.taskInFlight!=="number"||typeof X.properties.taskConcurrencyLimit!=="number")return;K.taskAdmission({state:X.properties.taskStatus,queuePosition:typeof X.properties.taskQueuePosition==="number"?X.properties.taskQueuePosition:void 0,queueDepth:X.properties.taskQueueDepth,inFlight:X.properties.taskInFlight,maxConcurrentTasks:X.properties.taskConcurrencyLimit})});let hq={messages:Oq?await l.loadSessionModelContext(A,J):[...s],userId:"cli-user",sessionId:A,workspaceRoot:J,permissionMode:C,signal:M.signal,...P?.taskWorktree?{worktreeActive:!0}:{},confirmationHandler:WZ()};j=await Uq.create({sessionId:A,workspaceRoot:J,modelId:B.model,permissionMode:C,mcpConfig:B.mcpConfig,strictMcpConfig:B.strictMcpConfig,agents:B.agents?Nq(B.agents):void 0,...P?.taskWorktree?{taskWorktree:P.taskWorktree}:{},...P?.metadata.taskIsolation?{taskIsolation:P.metadata.taskIsolation}:{},...s.length>0?{sessionStart:{isResume:!0,resumeSessionId:A}}:{}});let F=S&&j.getPendingSteeringCount()>0,y=S&&!F?await j.getGoal():null,c=y?.status==="active"||y?.status==="verifying",I=S&&!F&&!c?await j.getRecoveredFinalResponse():void 0;if(S&&!F&&!c){if(!I)throw Error("No unfinished turn or active goal to resume");if(y)K.goal({kind:"goal_updated",goal:y});if(I.structuredOutput&&I.structuredOutputSchemaDigest)K.structuredOutput({kind:"structured_output",output:I.structuredOutput,schemaDigest:I.structuredOutputSchemaDigest});else K.content(I.content);return K.phase("completed","done","Recovered headless run completed"),await f(0)}if(k!==void 0){let X=await j.executeUserShellCommand(k,{signal:M.signal,onEvent:async(G)=>{if(G.type==="started")K.userShellStarted(G.executionId,G.command,G.auxiliary);else if(G.type==="output")K.userShellOutput(G.executionId,G.stream,G.chunk,G.streamTruncated);await w()}});return K.userShellCompleted(X),await f(X.record.status==="completed"?0:X.record.status==="aborted"?130:X.record.exitCode??1)}let kq=B.maxTurns??j.getConfig().maxTurns,Fq=P?.taskWorktree?[...new Set([...B.disallowedTools??[],"EnterWorktree","ExitWorktree"])]:B.disallowedTools,yq=await Pq.createWithRuntime(j,{sessionId:A,systemPrompt:B.systemPrompt,appendSystemPrompt:B.appendSystemPrompt,maxTurns:B.maxTurns,modelId:B.model,permissionMode:C,toolWhitelist:B.allowedTools,toolBlacklist:Fq,mcpConfig:B.mcpConfig,strictMcpConfig:B.strictMcpConfig}),d=await jq(yq.chatStream(N.content,hq,{stream:!0,signal:M.signal,maxTurns:B.maxTurns,builtinVerification:B.verificationAgent!==!1,outputSchema:E,pendingInputOnly:F,goalContinuationOnly:c,...kq===-1?{onTurnLimitReached:async(X)=>{return K.turnLimit(X.turnsCount),{continue:!0,reason:"headless-auto-continue"}}}:{}}),async(X)=>{switch(X.kind){case"content_delta":if(!E||Q==="jsonl")Z.markAssistantContent();K.contentDelta(X.delta);break;case"thinking_delta":Z.setThinkingOpened(K.thinkingDelta(X.delta,Z.hasOpenThinking()));break;case"stream_end":{let G=Z.completeStream();K.streamEnd(G.wroteAssistantContent,G.openedThinking);break}case"tool_start":{let G=X.toolCall;if(!("function"in G))break;if(G.function.name===g)break;if(["TaskCreate","TaskUpdate","TaskList"].includes(G.function.name))break;try{let L=JSON.parse(G.function.arguments),W=_q(G.function.name,L),O=Yq(G.function.name,L),T=OZ(G.function.name,W,O,Y);if(T.shouldLockTarget)Y.targetLocked=!0;K.phase(T.phase,T.status,T.message,{toolName:G.function.name,target:O}),K.toolStart(G.function.name,W,O,X.toolKind)}catch{K.phase(Y.targetLocked?"executing":"searching",Y.targetLocked?"hit":"ongoing",Y.targetLocked?`Working within target: ${G.function.name}`:`Still searching: ${G.function.name}`,{toolName:G.function.name}),K.toolStart(G.function.name,G.function.name,void 0,X.toolKind)}break}case"tool_progress":{let G=X.toolCall;if(!("function"in G))break;if(G.function.name===g)break;K.toolProgress(G.function.name,X.update.message,X.update.progress,X.update.total);break}case"tool_result":{let G=X.toolCall;if(!("function"in G))break;if(G.function.name===g)break;let L;try{let O=JSON.parse(G.function.arguments);L=Yq(G.function.name,O)}catch{L=void 0}let W=Dq(Mq(G.function.name,X.result),Gq);if(K.toolResult(G.function.name,W.summary,L,void 0,{success:X.result.success,errorType:X.result.error?.type,errorMessage:X.result.error?.message}),W.detail)K.toolDetail(G.function.name,W.detail);break}case"token_usage":K.tokenUsage(X.usage);break;case"compaction":K.compacting(X);break;case"task_update":K.taskUpdate(X.tasks);break;case"structured_output":K.structuredOutput(X);break;case"mcp_catalog_changed":K.mcpCatalogChanged(X);break;case"mcp_content_changed":K.mcpContentChanged(X);break;case"mcp_resource_updated":K.mcpResourceUpdated(X);break;case"mcp_connection_changed":K.mcpConnectionChanged(X);break;case"mcp_log":K.mcpLog(X);break;case"mcp_instructions_changed":K.mcpInstructionsChanged(X);break;case"mcp_task_changed":K.mcpTaskChanged(X);break;case"project_rules_loaded":K.projectRulesLoaded(X);break;case"steering_applied":case"follow_up_started":case"goal_continuation_started":break;case"goal_updated":K.goal(X);break;case"subagent_spawned":case"subagent_completed":K.subagent(X);break;case"model_fallback":break;case"provider_retry":K.providerRetry(X);break;case"provider_stall":K.providerStall(X);break;case"action_stationarity":K.actionStationarity(X);break;case"turn_start":if(X.turn===1)Y.targetLocked=!1;K.phase("turn",Y.targetLocked?"hit":"ongoing",`Turn ${X.turn} started`,{turn:X.turn});break;default:{let G=X}}await w()});if(d.metadata?.outputTruncated)K.error("[warning] 输出因达到 token 上限被截断,部分内容可能不完整。");if(!d.success)return K.error(`Error: ${d.error?.message??"Agent execution failed"}`),await f(1);return K.phase("completed","done","Headless run completed"),await f(0)}catch(B){if(!x){if(Z.hasOpenThinking()&&Q==="text")b.stderr.write(`
|
|
6
|
-
`);K.error(`Error: ${SZ(B)}`)}return await f(1)}finally{_?.();try{await j?.dispose()}finally{R.close(),M.dispose()}}}async function z0(){if(!process.argv.slice(2).includes("--headless"))return!1;let{headless:D,"output-format":Q,"system-prompt":Z,"append-system-prompt":Y,"max-turns":j,..._}=Aq,M=AZ(xZ(process.argv)).scriptName("blade").strict(!1).options(_).middleware([Rq,xq,bq]);return IZ(M),await M.parse(),!0}export{hZ as runHeadless,z0 as handleHeadlessMode,JZ as HeadlessOptionsSchema};
|
package/dist/chunk-g0gqxn3c.js
DELETED
package/dist/chunk-h3cvnbah.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ld as a}from"./chunk-y9a1jwnv.js";import"./chunk-7ryqs453.js";import"./chunk-pnjftj8t.js";import"./chunk-nq1wqpsx.js";import"./chunk-95jjpdh9.js";import"./chunk-sexhm0r5.js";export{a as createChatServiceAsync};
|
package/dist/chunk-jh6b81rb.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{f as T,g as W,h as X,i as Y}from"./chunk-wz6atg87.js";import"./chunk-h34g9v9z.js";import"./chunk-1qj0qms6.js";import"./chunk-7a8k7ck4.js";import"./chunk-fw1fm9cn.js";import"./chunk-mxffhqe5.js";import"./chunk-ag0z1q2q.js";import"./chunk-00gwp388.js";import"./chunk-s1j86hhh.js";import"./chunk-pgy1mtgw.js";import"./chunk-16449n3m.js";import"./chunk-g0gqxn3c.js";import"./chunk-2sdbj0zz.js";import{Zc as R}from"./chunk-p01t6c78.js";import"./chunk-5knt529c.js";import{td as Q}from"./chunk-2gca6fvf.js";import"./chunk-v508x7cg.js";import"./chunk-d90tnjst.js";import"./chunk-y9a1jwnv.js";import"./chunk-dsxjgty6.js";import"./chunk-b9y9mc7f.js";import"./chunk-fjbptkh2.js";import"./chunk-3j6bsp1q.js";import"./chunk-t1z46fqz.js";import"./chunk-prqgpq92.js";import"./chunk-ysr3frmw.js";import"./chunk-d3gx05ph.js";import"./chunk-bx99mx3k.js";import"./chunk-3ctcv013.js";import"./chunk-1ep6bcpc.js";import"./chunk-c23bewtt.js";import"./chunk-87ge6dkk.js";import"./chunk-dvf4cfye.js";import"./chunk-7ryqs453.js";import"./chunk-pnjftj8t.js";import"./chunk-nq1wqpsx.js";import{_f as M}from"./chunk-fb80q06q.js";import"./chunk-0kqp5z4v.js";import"./chunk-jdms602t.js";import"./chunk-95jjpdh9.js";import"./chunk-sexhm0r5.js";import m from"chalk";import K from"open";var A=`
|
|
2
|
-
____ _ _
|
|
3
|
-
| __ )| | __ _ __| | ___
|
|
4
|
-
| _ \\| |/ _\` |/ _\` |/ _ \\
|
|
5
|
-
| |_) | | (_| | (_| | __/
|
|
6
|
-
|____/|_|\\__,_|\\__,_|\\___|
|
|
7
|
-
`,C={command:"web",describe:"Start Blade server and open web interface",builder:T,handler:async(Z)=>{let H=W(Z);if(await Q(),!process.env.BLADE_SERVER_PASSWORD)console.log(m.yellow("[WARN] BLADE_SERVER_PASSWORD is not set; server is unsecured.")),console.log(m.gray(` Set this environment variable to enable Basic Auth.
|
|
8
|
-
`));let F=await Y.listenAsync(H);if(console.log(m.cyan(A)),console.log(m.gray(` v${M()}
|
|
9
|
-
`)),H.hostname==="0.0.0.0"){let q=`http://localhost:${F.port}`;console.log(m.blue.bold(" Local access: "),m.white(q));let x=X();for(let z of x)console.log(m.blue.bold(" Network access: "),m.white(`http://${z}:${F.port}`));K(q).catch(()=>{})}else{let q=F.url.toString();console.log(m.blue.bold(" Web interface: "),m.white(q)),K(q).catch(()=>{})}console.log(""),console.log(m.gray(` Press Ctrl+C to stop the server.
|
|
10
|
-
`));let J,$=new Promise((q)=>{J=q}),b=R(async()=>{await F.stop(),J()});try{await $}finally{b(),await F.stop()}}};export{C as webCommand};
|