cogpit 2.4.2 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/cli.js +276 -73
  2. package/dist/web/assets/{CommandPaletteHost-DJghey7B.js → CommandPaletteHost-D43icOGh.js} +1 -1
  3. package/dist/web/assets/{ConfigBrowser-x0UdXG0K.js → ConfigBrowser-BailHbYr.js} +1 -1
  4. package/dist/web/assets/{HighlightedEditor-D0TDZx8S.js → HighlightedEditor-Kf1cQYyg.js} +1 -1
  5. package/dist/web/assets/{KeyboardShortcutsDialog-2606YXAx.js → KeyboardShortcutsDialog-CHb_hQuK.js} +1 -1
  6. package/dist/web/assets/{MobileFileChanges-B4dwGXMS.js → MobileFileChanges-C9Xk9gfg.js} +1 -1
  7. package/dist/web/assets/{PreviewPanel-CJdf-VLC.js → PreviewPanel-Djv1bZZJ.js} +1 -1
  8. package/dist/web/assets/ProjectFilesPanel-DuBqjGFA.js +4 -0
  9. package/dist/web/assets/{ProjectSwitcherModal-D8boI2Qx.js → ProjectSwitcherModal-CxQ6p2B4.js} +1 -1
  10. package/dist/web/assets/{TerminalOutput-C-6RWc6C.js → TerminalOutput-Cm-dLkUR.js} +1 -1
  11. package/dist/web/assets/ThemeSelectorModal-CTuOdp5Q.js +1 -0
  12. package/dist/web/assets/WorkflowsPanel-P7HtcaDf.js +1 -0
  13. package/dist/web/assets/{WorktreePanel-D-BUTFL2.js → WorktreePanel-DcjYVMuA.js} +1 -1
  14. package/dist/web/assets/index-CEBq1nya.js +1 -0
  15. package/dist/web/assets/{index-ztb2qsgi.js → index-CVfvPIib.js} +4 -4
  16. package/dist/web/assets/index-CWj7TiFf.css +1 -0
  17. package/dist/web/assets/{index-BBKPLXTq.js → index-D2LNKOXE.js} +1 -1
  18. package/dist/web/assets/index-DFiPbdIb.js +153 -0
  19. package/dist/web/assets/session-parser.worker-SrNyVFwl.js +29 -0
  20. package/dist/web/assets/{vendor-ui-RwWl1mlR.js → vendor-ui-DUTyrBOX.js} +1 -1
  21. package/dist/web/index.html +3 -3
  22. package/package.json +1 -1
  23. package/dist/web/assets/ProjectFilesPanel-3GzuQyp3.js +0 -4
  24. package/dist/web/assets/ThemeSelectorModal-DZ9JuT6j.js +0 -1
  25. package/dist/web/assets/WorkflowsPanel-i3GanFyN.js +0 -1
  26. package/dist/web/assets/index-CMQcske6.js +0 -1
  27. package/dist/web/assets/index-C_0XOtqJ.css +0 -1
  28. package/dist/web/assets/index-D6p4gVB_.js +0 -154
  29. package/dist/web/assets/session-parser.worker-D3MwyNH5.js +0 -29
@@ -0,0 +1,29 @@
1
+ (function(){"use strict";const ft=["codex","copilot","claude"],mt="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";function Ne(t,e){const n=new TextEncoder().encode(e);let s="";for(const i of n)s+=String.fromCharCode(i);const o=btoa(s).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return`${t}${o}`}function ve(t,e){if(!e.startsWith(t))return null;try{const n=e.slice(t.length).replace(/-/g,"+").replace(/_/g,"/"),s=atob(n),o=Uint8Array.from(s,i=>i.charCodeAt(0));return new TextDecoder().decode(o)}catch{return null}}function At(t){return{lossy:!1,owns:e=>typeof e=="string"&&e.startsWith(t),encode:e=>Ne(t,e),decode:e=>ve(t,e)}}function St(t){const e=new RegExp(`(${mt})\\.jsonl$`,"i").exec(t);return e?e[1]:null}const wt={urlId:t=>t.replace(/\.jsonl$/,""),fileNameFromUrlId:t=>t.endsWith(".jsonl")?t:`${t}.jsonl`};function Mt(t){return`'${t.replace(/'/g,"'\\''")}'`}function H(t,e){return e?[t,e]:[]}function nt(t,e){var n;return((n=e.exec(t))==null?void 0:n[1])??null}const st="[0-9a-f-]{36}",Et="codex__",Nt="copilot__",Be=new Set(["default","plan","acceptEdits","dontAsk","auto"]),Re={kind:"claude",displayName:"Claude Code",binName:"claude",dirName:{lossy:!0,owns:t=>typeof t=="string"&&!t.startsWith(Et)&&!t.startsWith(Nt),encode:t=>(t.replace(/[\\/]+$/,"")||t).replace(/[^a-zA-Z0-9]/g,"-"),decode:t=>{const e=/^([A-Za-z])--(.*)$/.exec(t);return e?`${e[1]}:\\${e[2].replace(/-/g,"\\")}`:"/"+t.replace(/^-/,"").replace(/-/g,"/")}},sessionFile:{name:t=>`${t}.jsonl`,sessionId:St,...wt},metadataFromHead:!0,resume:{command:t=>`claude --resume ${t}`,args:t=>["--resume",t]},launchArgs:{permissions:t=>t!=null&&t.mode?t.mode==="bypassPermissions"?["--dangerously-skip-permissions"]:[...Be.has(t.mode)?["--permission-mode",t.mode]:[],...(t.allowedTools??[]).flatMap(e=>["--allowedTools",e]),...(t.disallowedTools??[]).flatMap(e=>["--disallowedTools",e])]:["--permission-mode","default"],model:t=>H("--model",t),effort:t=>H("--effort",t),fastTier:()=>[]},serviceTier:null,cli:{packageName:"@anthropic-ai/claude-code",homebrew:{name:"claude-code",cask:!1},wingetId:null,versionArgs:["--version"],selfUpdate:{args:["update"],matches:t=>t.endsWith("/.local/bin/claude")||t.endsWith("/.local/bin/claude.exe")||t.includes("/.local/share/claude/")},bundledBySdk:!0,homeDirName:".claude",homeEnvVar:null,installMarker:"projects",homeIsDiscoverable:!1,process:{by:"command",sessionIdFromCommand:t=>nt(t,new RegExp(`--resume(?:=|\\s+)(${st})`))??nt(t,new RegExp(`--session-id(?:=|\\s+)(${st})`))}},config:{rootDirName:".claude",instructions:[{in:"scope",path:"CLAUDE.md",scopes:["global","project"]},{in:"root",path:"CLAUDE.md",label:".claude/CLAUDE.md",scopes:["project"]}],settings:[{in:"root",path:"settings.json",scopes:["global"]},{in:"root",path:"settings.local.json",scopes:["project"]}],skillsDir:"skills",agentsDir:"agents",commandsDir:"commands",themesDir:"themes",pluginsDir:"plugins"},contextWindow:{defaultLimit:1e6,limits:[{match:"claude-haiku-4-5",limit:2e5},{match:"claude-haiku-4-1",limit:2e5},{match:"claude-sonnet-4-5",limit:2e5},{match:"claude-opus-4-5",limit:2e5},{match:"claude-opus-4-1",limit:2e5}],compactBuffer:33e3,extendedContext:{marker:"[1m]",limit:1e6}},capabilities:{worktrees:!0,mcp:!0,slashCommands:!0,workflows:!0,agentTeams:!0,subagentTranscripts:!0,nestedSubagents:!1,sharing:!0,goals:"transcript",undo:!0,redo:!0,nativeRewind:!1,fileCheckpoints:!0,reasoningEffort:!0,fastTier:!0,imageInput:!0,planMode:!0,midTurnSteering:!1,stopSession:!0,ultracode:!0,contextWindow:!0,externalProcesses:!1,accountSwitching:!0,modelFallbackNotices:!0,autoPermissionMode:"per-model",settingsApply:"live",turnLiveness:"transcript",tokenStreaming:!0,nativeFork:!1,namedSessions:!0}},vt={appServerValue:"priority",cliConfigValue:"fast"},Pe={kind:"codex",displayName:"Codex",binName:"codex",dirName:At(Et),sessionFile:{name:(t,e=new Date)=>{const n=String(e.getFullYear()),s=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0"),f=String(e.getSeconds()).padStart(2,"0");return`${n}/${s}/${o}/rollout-${n}-${s}-${o}T${i}-${l}-${f}-${t}.jsonl`},sessionId:St,...wt},metadataFromHead:!1,resume:{command:(t,e)=>e?`codex -C ${Mt(e)} resume ${t}`:`codex resume ${t}`,args:t=>["resume",t]},launchArgs:{permissions:t=>{const e=(t==null?void 0:t.mode)||"default";return e==="bypassPermissions"?["--dangerously-bypass-approvals-and-sandbox"]:["--sandbox",e==="plan"?"read-only":"workspace-write","-c",'approval_policy="never"']},model:t=>H("-m",t),effort:t=>t?["-c",`model_reasoning_effort=${JSON.stringify(t)}`]:[],fastTier:t=>t?["-c",`service_tier=${JSON.stringify(vt.cliConfigValue)}`,"--enable","fast_mode"]:[]},serviceTier:vt,cli:{packageName:"@openai/codex",homebrew:{name:"codex",cask:!1},wingetId:null,versionArgs:["--version"],selfUpdate:null,bundledBySdk:!1,homeDirName:".codex",homeEnvVar:"CODEX_HOME",installMarker:"",homeIsDiscoverable:!0,process:{by:"command",sessionIdFromCommand:t=>nt(t,new RegExp(`codex(?:\\s+\\S+)*\\s+exec\\s+resume\\s+(${st})`))}},config:{rootDirName:".codex",instructions:[{in:"scope",path:"AGENTS.md",scopes:["global","project"]}],settings:[{in:"root",path:"config.toml",scopes:["global","project"]}],skillsDir:"skills",agentsDir:"agents",commandsDir:"prompts",themesDir:null,pluginsDir:null},contextWindow:{defaultLimit:272e3,limits:[],compactBuffer:0,extendedContext:null},capabilities:{worktrees:!1,mcp:!1,slashCommands:!1,workflows:!1,agentTeams:!1,subagentTranscripts:!0,nestedSubagents:!0,sharing:!1,goals:"thread-api",undo:!0,redo:!0,nativeRewind:!1,fileCheckpoints:!1,reasoningEffort:!0,fastTier:!0,imageInput:!0,planMode:!0,midTurnSteering:!0,stopSession:!1,ultracode:!1,contextWindow:!1,externalProcesses:!1,accountSwitching:!1,modelFallbackNotices:!1,autoPermissionMode:"never",settingsApply:"next-turn",turnLiveness:"runtime",tokenStreaming:!0,nativeFork:!1,namedSessions:!1}},Fe={kind:"copilot",displayName:"GitHub Copilot CLI",binName:"copilot",dirName:At(Nt),sessionFile:{name:t=>`${t}/events.jsonl`,sessionId:t=>{const e=new RegExp(`^(${mt})/events\\.jsonl$`,"i").exec(t);return e?e[1]:null},urlId:t=>{const e=new RegExp(`^(${mt})/events\\.jsonl$`,"i").exec(t);return e?e[1]:t.replace(/\.jsonl$/,"")},fileNameFromUrlId:t=>t.endsWith(".jsonl")?t:`${t}/events.jsonl`},metadataFromHead:!0,resume:{command:(t,e)=>e?`copilot -C ${Mt(e)} --resume ${t}`:`copilot --resume ${t}`,args:t=>[`--resume=${t}`]},launchArgs:{permissions:t=>(t==null?void 0:t.mode)==="bypassPermissions"||(t==null?void 0:t.mode)==="auto"?["--allow-all"]:[],model:t=>H("--model",t),effort:t=>H("--reasoning-effort",t),fastTier:()=>[]},serviceTier:null,cli:{packageName:"@github/copilot",homebrew:{name:"copilot-cli",cask:!0},wingetId:"GitHub.Copilot",versionArgs:["--version"],selfUpdate:{args:["update"],matches:t=>t.endsWith("/.local/bin/copilot")||t==="/usr/local/bin/copilot"},bundledBySdk:!1,homeDirName:".copilot",homeEnvVar:"COPILOT_HOME",installMarker:"session-state",homeIsDiscoverable:!0,process:{by:"executable",sessionIdFromCommand:t=>nt(t,new RegExp(`--resume(?:=|\\s+)(${st})`))}},config:{rootDirName:".copilot",instructions:[{in:"scope",path:"AGENTS.md",scopes:["global","project"]}],settings:[{in:"root",path:"config.json",scopes:["global"]}],skillsDir:"skills",agentsDir:null,commandsDir:null,themesDir:null,pluginsDir:null},contextWindow:{defaultLimit:2e5,limits:[],compactBuffer:0,extendedContext:null},capabilities:{worktrees:!1,mcp:!1,slashCommands:!1,workflows:!1,agentTeams:!1,subagentTranscripts:!1,nestedSubagents:!1,sharing:!1,goals:!1,undo:!0,redo:!1,nativeRewind:!0,fileCheckpoints:!1,reasoningEffort:!1,fastTier:!1,imageInput:!1,planMode:!0,midTurnSteering:!0,stopSession:!0,ultracode:!1,contextWindow:!1,externalProcesses:!0,accountSwitching:!1,modelFallbackNotices:!1,autoPermissionMode:"always",settingsApply:"next-turn",turnLiveness:"runtime",tokenStreaming:!1,nativeFork:!0,namedSessions:!0}},$e=Object.freeze({claude:Re,codex:Pe,copilot:Fe});function gt(t){return $e[t]}function ht(t){return t.type==="user"}function _t(t){return t.type==="assistant"}function Bt(t){return t.type==="progress"}function Rt(t){return t.type==="system"}function Pt(t){return t.type==="summary"}function Ue(t){return t.type==="queue-operation"}function Ft(t){return t.type==="attachment"}function De(t){return t.type==="user"&&t.isCompactSummary===!0}function $t(t){return t.type==="system"&&t.subtype==="compact_boundary"}function Ut(t,e){let n=0;for(const s of t)e[s.name]=(e[s.name]??0)+1,s.isError&&n++;return n}function Dt(t,e){t.totalInputTokens+=e.input_tokens,t.totalOutputTokens+=e.output_tokens,t.totalCacheCreationTokens+=e.cache_creation_input_tokens??0,t.totalCacheReadTokens+=e.cache_read_input_tokens??0}function ot(t){return{totalInputTokens:0,totalOutputTokens:0,totalCacheCreationTokens:0,totalCacheReadTokens:0,toolCallCounts:{},errorCount:0,totalDurationMs:0,turnCount:t}}function it(t){const e=ot(t.length);for(const n of t){n.tokenUsage&&Dt(e,n.tokenUsage),n.durationMs&&(e.totalDurationMs+=n.durationMs),e.errorCount+=Ut(n.toolCalls,e.toolCallCounts);for(const s of n.subAgentActivity)e.errorCount+=Ut(s.toolCalls,e.toolCallCounts),s.tokenUsage&&Dt(e,s.tokenUsage)}return e}const Oe=/<(agent-message|teammate-message)([^>]*)>([\s\S]*?)<\/\1>/g,je=[/\bteammate_id=(?:"([^"]*)"|'([^']*)')/,/\bfrom=(?:"([^"]*)"|'([^']*)')/];function Le(t){for(const e of je){const n=t.match(e),s=(n==null?void 0:n[1])??(n==null?void 0:n[2]);if(s)return s}return null}function yt(t){let e=null,n=!1;const s=t.replace(Oe,(o,i,l,f)=>(n=!0,e===null&&(e=Le(l)),f.trim()));return{sender:e,matched:n,body:n?s.trim():t}}function rt(t){return typeof t=="string"?t:t.filter(e=>e.type==="text").map(e=>e.text).join(`
2
+ `)}function Ot(t){return t?typeof t=="string"?t:t.map(e=>e.type==="text"?e.text:"").filter(Boolean).join(`
3
+ `):""}function jt(t){if(!(t!=null&&t.trim()))return!1;const e=t.trimStart();return e.startsWith("<")?!e.includes("<task-notification>")&&!e.startsWith("<system-reminder>")&&!e.startsWith("<local-command-"):!0}const We=/<task-notification>[\s\S]*?<\/task-notification>/g,qe=/<[^>]*>/g;function ze(t){var n;if(((n=t.origin)==null?void 0:n.kind)==="task-notification")return!0;const e=rt(t.message.content);return e.includes("<task-notification>")?e.replace(We,"").replace(qe,"").trim()==="":!1}function Je(t){if(!Ft(t))return null;const e=t.attachment;if(!e||e.type!=="queued_command"||e.commandMode!=="prompt")return null;const n=e.prompt;if(n==null)return null;const s=typeof n=="string"?n:rt(n);if(!jt(s))return null;const o=e.origin;if((o==null?void 0:o.kind)==="peer"){const l=o.name??o.from??null;if(l)return{raw:s,sender:l,body:o.body??yt(s).body}}if((o==null?void 0:o.kind)==="human")return{raw:s,sender:null,body:s};const i=yt(s);return{raw:s,sender:i.sender,body:i.body}}const Ve=[["attributionAgent","agent"],["attributionSkill","skill"],["attributionPlugin","plugin"],["attributionMcpServer","mcpServer"],["attributionMcpTool","mcpTool"]];function Ke(t,e){let n=t;for(const[s,o]of Ve){const i=e[s];typeof i!="string"||!i||(n={...n,[o]:i})}return n}function Ge(t,e){var s,o;if(!t)return{...e};const n=(((s=t.output_tokens_details)==null?void 0:s.thinking_tokens)??0)+(((o=e.output_tokens_details)==null?void 0:o.thinking_tokens)??0);return{input_tokens:t.input_tokens+e.input_tokens,output_tokens:t.output_tokens+e.output_tokens,cache_creation_input_tokens:(t.cache_creation_input_tokens??0)+(e.cache_creation_input_tokens??0),cache_read_input_tokens:(t.cache_read_input_tokens??0)+(e.cache_read_input_tokens??0),speed:e.speed??t.speed,...t.output_tokens_details||e.output_tokens_details?{output_tokens_details:{thinking_tokens:n}}:{}}}const Qe=/^This session is being continued from a previous conversation[\s\S]*?\n\nSummary:\s*\n/,He=/\n+(?:If you need specific details from before compaction|(?:Please c|C)ontinue the conversation from where it left off)[\s\S]*$/;function Xe(t){return rt(t).trim().replace(Qe,"").replace(He,"").trim()}function Ze(t){if(t)return{trigger:t.trigger,preTokens:t.preTokens,postTokens:t.postTokens}}function at(t,e){return{id:t.uuid??crypto.randomUUID(),userMessage:e,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:t.timestamp??"",durationMs:null,tokenUsage:null,model:null}}function Ye(t){const e=[];let n=0;for(;n<t.length;){const s=t[n];if(s.kind==="tool_calls"){const o=s.toolCalls.findIndex(i=>i.name==="EnterPlanMode");if(o!==-1){const i=s.toolCalls[o],l=String(i.input.plan??""),f=s.timestamp,h=s.toolCalls.slice(0,o);h.length>0&&e.push({kind:"tool_calls",toolCalls:h,timestamp:s.timestamp});const b=[],T=s.toolCalls.slice(o+1),_=T.findIndex(k=>k.name==="ExitPlanMode");if(_!==-1){b.push(...T.slice(0,_));const k=T[_],p=k.input.path?String(k.input.path):void 0;let N="pending";k.result!==null&&(N=k.isError?"rejected":"approved"),e.push({kind:"plan_mode",plan:l,planFilePath:p,status:N,toolCalls:b,timestamp:f});const E=T.slice(_+1);E.length>0&&e.push({kind:"tool_calls",toolCalls:E,timestamp:s.timestamp}),n++;continue}else{b.push(...T);let k,p,N="pending",E=n+1;const M=[];for(;E<t.length;){const v=t[E];if(v.kind==="tool_calls"){const R=v.toolCalls.findIndex(U=>U.name==="ExitPlanMode");if(R!==-1){b.push(...v.toolCalls.slice(0,R)),k=v.toolCalls[R],p=k.input.path?String(k.input.path):void 0,k.result!==null&&(N=k.isError?"rejected":"approved");const U=v.toolCalls.slice(R+1);e.push({kind:"plan_mode",plan:l,planFilePath:p,status:N,toolCalls:b,timestamp:f}),e.push(...M),U.length>0&&e.push({kind:"tool_calls",toolCalls:U,timestamp:v.timestamp}),n=E+1;break}else b.push(...v.toolCalls),E++}else if(v.kind==="hook_event"||v.kind==="text"||v.kind==="queued_prompt"||v.kind==="agent_message")M.push(v),E++;else break}k||(e.push({kind:"plan_mode",plan:l,planFilePath:void 0,status:"pending",toolCalls:b,timestamp:f}),e.push(...M),n=E);continue}}}e.push(s),n++}return e}function tn(t){return t.contentBlocks.some(e=>e.kind==="agent_message")?{...t,contentBlocks:t.contentBlocks.map(e=>{if(e.kind!=="agent_message")return e;const{reply:n,...s}=e;return s})}:t}function Lt(t){var s;const e=t.map(tn),n=new Map;for(const o of e)for(const i of o.contentBlocks){if(i.kind==="agent_message"){const l=n.get(i.sender);l?l.push(i):n.set(i.sender,[i]);continue}if(i.kind==="tool_calls")for(const l of i.toolCalls){if(l.name!=="SendMessage")continue;const f=l.input.to;if(typeof f!="string"||!f)continue;const h=(s=n.get(f))==null?void 0:s.shift();if(!h)continue;const b=l.input.summary;h.reply={summary:typeof b=="string"?b:"",timestamp:l.timestamp||i.timestamp||""}}}return e}function en(t){const e=[];let n=!1;for(let s=0;s<t.length;s++){const o=t[s];if(Pt(o)||$t(o)){n=!1;continue}if(ht(o)&&!o.isMeta){const i=o.message.content;if(n&&Array.isArray(i)&&i.some(f=>f.type==="tool_result"))continue;e.push(s),n=!0;continue}_t(o)&&!n&&(e.push(s),n=!0)}return e}function Wt(t){var D,S;const e=[],n=[];let s=null,o=0,i=null,l=null;function f(r){l&&(r.compactionSummary=l.summary,r.compactionMeta=l.meta,l=null)}let h=null;const b=new Map,T=new Set,_=new Map,k=new Map,p=new Set,N=new Map,E=[],M=new Map;function v(r,c){let m=M.get(r);m||(m=new Map,M.set(r,m)),m.set(c,(m.get(c)??0)+1)}function R(r,c){const m=M.get(r),d=m==null?void 0:m.get(c);return!m||!d?!1:(d===1?m.delete(c):m.set(c,d-1),!0)}function U(){for(const r of E)r.turn.contentBlocks.push(r.sender?{kind:"agent_message",sender:r.sender,body:r.body,timestamp:r.timestamp}:{kind:"queued_prompt",content:r.content,timestamp:r.timestamp});E.length=0}function j(r){if(!i)return;const c=_.get(r);if(!c||c.length===0)return;i.subAgentActivity.push(...c),_.delete(r);const m=p.has(r)?"background_agent":"sub_agent",d=k.get(r);if(d)d.messages.push(...c);else{const a={kind:m,messages:[...c]};i.contentBlocks.push(a),k.set(r,a)}}function L(){if(i){for(const r of i.toolCalls)j(r.id);for(const[r]of _)j(r);for(const r of i.contentBlocks)if(r.kind==="hook_event")for(const c of r.events){if(!(c.eventName==="PostToolUse"||c.eventName.startsWith("PostToolUse:"))||!c.toolUseId)continue;const d=i.toolCalls.find(a=>a.id===c.toolUseId);d&&(c.updatedToolOutput&&(d.outputReplacedByHook=!0),c.durationMs!==void 0&&(d.hookDurationMs=(d.hookDurationMs??0)+c.durationMs))}i.contentBlocks=Ye(i.contentBlocks),e.push(i),s!==null&&n.push(s),s=null,i=null,k.clear()}}for(o=0;o<t.length;o++){const r=t[o];if(Pt(r)){L(),l={summary:r.summary};continue}if($t(r)){L(),l={meta:Ze(r.compactMetadata)};continue}if(De(r)){L(),s=o,i=at(r,null),i.compactionSummary=Xe(r.message.content),i.compactionMeta=l==null?void 0:l.meta,l=null;continue}if(Rt(r)&&r.subtype==="away_summary"&&r.content){h={content:r.content,timestamp:r.timestamp};continue}if(Ue(r)){if(i&&r.operation==="enqueue"&&jt(r.content)){const c=yt(r.content);E.push({turn:i,content:r.content,timestamp:r.timestamp,sender:c.sender,body:c.body}),v(i,r.content)}continue}if(Ft(r)){const c=Je(r);i&&c!==null&&!R(i,c.raw)&&E.push({turn:i,content:c.raw,timestamp:((D=r.attachment)==null?void 0:D.timestamp)??r.timestamp,sender:c.sender,body:c.body});continue}if(E.length>0){const c=ht(r)&&!r.isMeta?r.message.content:null;if(typeof c=="string"){const m=E.findIndex(d=>d.content===c);if(m>=0){const[d]=E.splice(m,1);R(d.turn,d.content)}}U()}if(ht(r)&&!r.isMeta){const c=r.message.content;if(typeof c!="string"&&Array.isArray(c)&&c.some(d=>d.type==="tool_result")&&i){for(const a of c)if(a.type==="tool_result"){const y=b.get(a.tool_use_id);y&&(y.turn.toolCalls[y.index].result=Ot(a.content),y.turn.toolCalls[y.index].isError=a.is_error===!0,b.delete(a.tool_use_id))}const d=r.toolUseResult;if(d!=null&&d.agentId){const a=((S=c.find(I=>I.type==="tool_result"))==null?void 0:S.tool_use_id)??"",y=N.get(a),u=p.has(a),C=[];if(Array.isArray(d.content))for(const I of d.content)I.type==="text"&&C.push(I.text);const g={agentId:d.agentId,parentToolUseId:a||void 0,agentName:(y==null?void 0:y.name)??null,subagentType:(y==null?void 0:y.subagentType)??null,type:"assistant",content:d.content,toolCalls:[],thinking:[],text:C,timestamp:r.timestamp??"",tokenUsage:d.usage?{input_tokens:d.usage.input_tokens??0,output_tokens:d.usage.output_tokens??0,cache_creation_input_tokens:d.usage.cache_creation_input_tokens??0,cache_read_input_tokens:d.usage.cache_read_input_tokens??0}:null,model:null,isBackground:u,prompt:d.prompt,status:d.status,durationMs:d.totalDurationMs,toolUseCount:d.totalToolUseCount};if(!k.get(a)){i.subAgentActivity.push(g);const w={kind:u?"background_agent":"sub_agent",messages:[g]};i.contentBlocks.push(w),k.set(a,w)}}continue}if(ze(r)){const m={kind:"task_notification",content:rt(c),timestamp:r.timestamp};if(i){i.contentBlocks.push(m);continue}s=o,i=at(r,null),i.contentBlocks.push(m),f(i);continue}L(),s=o,i=at(r,r.message.content),f(i),h&&(i.contentBlocks.push({kind:"recap",content:h.content,timestamp:h.timestamp}),h=null);continue}if(_t(r)){let c=function(){u.length>0&&(C.contentBlocks.push({kind:"tool_calls",toolCalls:[...u],timestamp:a}),u.length=0)},m=function(){if(y.length>0){const g=C.contentBlocks[C.contentBlocks.length-1];g&&g.kind==="thinking"?g.blocks.push(...y):C.contentBlocks.push({kind:"thinking",blocks:[...y],timestamp:a}),y.length=0}};i||(s=o,i=at(r,null),f(i)),i.model=r.message.model,r.effort&&(i.effort=r.effort),i.attribution=Ke(i.attribution,r);const d=r.message.id;T.has(d)||(T.add(d),i.tokenUsage=Ge(i.tokenUsage,r.message.usage));const a=r.timestamp??"",y=[],u=[],C=i;for(const g of r.message.content)if(g.type==="thinking"){c();const x=g;if(!x.thinking)continue;i.thinking.push(x),y.push(x)}else if(g.type==="text"){c(),m();const x=/<thinking>([\s\S]*?)<\/thinking>/g;let I=g.text,w;for(;(w=x.exec(g.text))!==null;){const $=w[1].trim();if($){const B={type:"thinking",thinking:$,signature:""};i.thinking.push(B),i.contentBlocks.push({kind:"thinking",blocks:[B],timestamp:a})}I=I.replace(w[0],"")}if(I=I.trim(),I){i.assistantText.push(I);const $=i.contentBlocks[i.contentBlocks.length-1];$&&$.kind==="text"?$.text.push(I):i.contentBlocks.push({kind:"text",text:[I],timestamp:a})}}else if(g.type==="tool_use"){m();const x={id:g.id,name:g.name,input:g.input,result:null,isError:!1,timestamp:r.timestamp??""},I=i.toolCalls.length;if(i.toolCalls.push(x),u.push(x),b.set(g.id,{turn:i,index:I}),g.name==="Task"||g.name==="Agent"){const w=g.input;w.run_in_background===!0&&p.add(g.id),N.set(g.id,{name:w.name??null,subagentType:w.subagent_type??null})}}m(),c();continue}if(Bt(r)&&r.data.type==="agent_progress"){const c=r.data,m=r.parentToolUseID??"";let d=null;if(c.message.type==="assistant"){const g=c.message.message,x=g.id,I=g.usage;I&&x&&!T.has(x)&&(T.add(x),d={input_tokens:I.input_tokens??0,output_tokens:I.output_tokens??0,cache_creation_input_tokens:I.cache_creation_input_tokens??0,cache_read_input_tokens:I.cache_read_input_tokens??0})}const a=c.message.type==="assistant"?c.message.message.model??null:null,y=N.get(m),u={agentId:c.agentId,parentToolUseId:m||void 0,agentName:(y==null?void 0:y.name)??null,subagentType:(y==null?void 0:y.subagentType)??null,type:c.message.type,content:c.message.message.content,toolCalls:[],thinking:[],text:[],timestamp:c.message.timestamp??r.timestamp??"",tokenUsage:d,model:a,isBackground:p.has(m)};if(c.message.type==="assistant"){const g=c.message.message.content;if(Array.isArray(g))for(const x of g)x.type==="thinking"?u.thinking.push(x.thinking):x.type==="text"?u.text.push(x.text):x.type==="tool_use"&&u.toolCalls.push({id:x.id,name:x.name,input:x.input,result:null,isError:!1,timestamp:c.message.timestamp??r.timestamp??""})}else if(c.message.type==="user"){const g=c.message.message.content;if(Array.isArray(g)){for(const x of g)if(x.type==="tool_result"){const I=_.get(m);if(I)for(const w of I){const $=w.toolCalls.find(B=>B.id===x.tool_use_id);$&&($.result=Ot(x.content),$.isError=x.is_error===!0)}}}}let C=_.get(m);C||(C=[],_.set(m,C)),C.push(u),i&&j(m);continue}if(Bt(r)&&r.data.type==="hook_progress"){const c=r.data,m=String(c.hook_event_name??c.hookEvent??"unknown"),d=c.hookSpecificOutput,a={eventName:m,source:c.source!==void 0?String(c.source):void 0,toolName:c.tool_name!==void 0?String(c.tool_name):void 0,toolUseId:c.tool_use_id!==void 0?String(c.tool_use_id):void 0,command:c.command!==void 0?String(c.command):void 0,output:c.output!==void 0?String(c.output):void 0,stderr:c.stderr!==void 0?String(c.stderr):void 0,exitCode:c.exit_code!==void 0?Number(c.exit_code):void 0,decision:c.decision!==void 0?String(c.decision):void 0,durationMs:c.duration_ms!==void 0?Number(c.duration_ms):void 0,updatedToolOutput:(d==null?void 0:d.updatedToolOutput)!==void 0?String(d.updatedToolOutput):void 0,sessionTitle:(d==null?void 0:d.sessionTitle)!==void 0?String(d.sessionTitle):void 0,worktreePath:(d==null?void 0:d.worktreePath)!==void 0?String(d.worktreePath):void 0,timestamp:r.timestamp??""};if(i){const y=i.contentBlocks[i.contentBlocks.length-1];y&&y.kind==="hook_event"?y.events.push(a):i.contentBlocks.push({kind:"hook_event",events:[a],timestamp:r.timestamp})}continue}if(Rt(r)&&r.subtype==="turn_duration"&&i){r.durationMs!==void 0&&r.durationMs!==null&&(i.durationMs=(i.durationMs??0)+r.durationMs);continue}}return U(),L(),{turns:Lt(e),turnStartIndices:n}}function qt(t){return Wt(t).turns}function zt(){return!0}function Jt(t){const e=[];for(const n of t){const s=n.trim();if(s)try{e.push(JSON.parse(s))}catch{}}return e}function Vt(t){return Jt(t.split(`
4
+ `))}function Kt(t){const e={sessionId:"",version:"",gitBranch:"",cwd:"",slug:"",name:"",model:"",branchedFrom:void 0};for(const n of t)if(n.sessionId&&!e.sessionId&&(e.sessionId=n.sessionId),n.version&&!e.version&&(e.version=n.version),n.gitBranch&&!e.gitBranch&&(e.gitBranch=n.gitBranch),n.cwd&&!e.cwd&&(e.cwd=n.cwd),n.slug&&!e.slug&&(e.slug=n.slug),n.name&&!e.name&&(e.name=n.name),n.branchedFrom&&!e.branchedFrom&&(e.branchedFrom=n.branchedFrom),_t(n)&&n.message.model&&!e.model&&(e.model=n.message.model),e.sessionId&&e.version&&e.gitBranch&&e.cwd&&e.model)break;return e}function nn(t){return Kt(Jt(t))}function sn(t,e){const n=Vt(t),s=Kt(n),o=qt(n),i=e!=null&&e.skipStats?ot(o.length):it(o);return{...s,turns:o,stats:i,rawMessages:e!=null&&e.skipStats?[]:n,agentKind:"claude"}}function on(t,e){const n=Vt(e);if(n.length===0)return t;const s=t.rawMessages,o=[...s,...n],i=en(s),l=Math.max(0,t.turns.length-i.length);let f=Math.max(0,i.length-1);const h=new Set;for(const N of n)if(N.type==="progress"){const E=N.parentToolUseID;E&&h.add(E)}if(h.size>0)for(let N=f-1;N>=0;N--){const E=t.turns[l+N];if(E!=null&&E.toolCalls.some(M=>h.has(M.id))){f=N;break}}const b=i[f]??s.length,T=t.turns.slice(0,l+f),_=qt(o.slice(b)),k=Lt([...T,..._]),p=it(k);return{sessionId:t.sessionId,version:t.version,gitBranch:t.gitBranch,cwd:t.cwd,slug:t.slug,name:t.name,model:t.model||k.length>0&&k[k.length-1].model||"",turns:k,stats:p,rawMessages:o,branchedFrom:t.branchedFrom,agentKind:t.agentKind}}const Gt="<task-notification>",rn=/<task-id>([^<]+)<\/task-id>/g,an=/<tool-use-id>([^<]+)<\/tool-use-id>/g;function W(t){return typeof t=="object"&&t!==null}function ln(t){const e=W(t.message)?t.message:null,n=e==null?void 0:e.content;return typeof n=="string"?[n]:Array.isArray(n)?n.filter(s=>W(s)&&typeof s.text=="string").map(s=>s.text):[]}function cn(t){const e=[],n=new Set,s=new Set,o=new Set;function i(l,f){if(l.includes(Gt)){for(const h of l.matchAll(rn))n.add(h[1]),f==null||f.add(h[1]);for(const h of l.matchAll(an))n.add(h[1]),f==null||f.add(h[1])}}for(const l of t){if(l.type==="user"){const f=W(l.toolUseResult)?l.toolUseResult:null;if((f==null?void 0:f.status)==="async_launched"){const h=W(l.message)?l.message:null,T=(Array.isArray(h==null?void 0:h.content)?h.content:[]).filter(p=>W(p)&&p.type==="tool_result").map(p=>p.tool_use_id),_=[f.agentId,f.taskId,...T].filter(p=>typeof p=="string"&&p.length>0),k=[f.description,f.workflowName,f.summary].find(p=>typeof p=="string"&&p.length>0)??"";_.length>0&&e.push({ids:_,description:k})}for(const h of ln(l))i(h,o);continue}if(l.type==="assistant"){const f=W(l.message)?l.message:null,h=Array.isArray(f==null?void 0:f.content)?f.content:[];for(const b of h){if(!W(b)||b.type!=="tool_use"||b.name!=="TaskStop")continue;const T=W(b.input)?b.input:null,_=(T==null?void 0:T.task_id)??(T==null?void 0:T.shell_id);typeof _=="string"&&n.add(_)}continue}if(l.type==="attachment"){const f=W(l.attachment)?l.attachment:null;typeof(f==null?void 0:f.prompt)=="string"&&i(f.prompt,o);continue}if(l.type==="queue-operation"&&typeof l.content=="string"){const f=l.operation;i(l.content,f==="enqueue"?s:o)}}return{pendingDescriptions:e.filter(l=>!l.ids.some(f=>n.has(f))).map(l=>l.description),undeliveredNotifications:[...s].filter(l=>!o.has(l)).length}}function un(t,e){return{status:"awaiting_agents",pendingQueue:e,pendingAgents:t.length,pendingAgentDescriptions:t.filter(n=>n.length>0)}}function dn(t){var l,f;let e=0,n=null,s=!1;function o(h,b){const T={status:h,pendingQueue:Math.max(0,e)};return b&&(T.toolName=b),T}function i(){return n??(n=cn(t))}for(let h=t.length-1;h>=0;h--){const b=t[h];if(b.type!=="queue-operation"){if(b.type==="progress"){const T=b.data;if((T==null?void 0:T.type)==="hook_progress"&&(T.decision??((l=T.hookSpecificOutput)==null?void 0:l.permissionDecision))==="defer")return o("deferred");break}break}}for(let h=t.length-1;h>=0;h--){const b=t[h];if(b.type==="queue-operation"){if(typeof b.content=="string"&&b.content.includes(Gt))continue;const T=b.operation;T==="enqueue"?e++:(T==="dequeue"||T==="remove")&&e--;continue}if(b.type==="attachment"){const T=W(b.attachment)?b.attachment:null;(T==null?void 0:T.commandMode)==="task-notification"&&(s=!0);continue}if(b.type==="assistant"){const T=b.message,_=T==null?void 0:T.stop_reason;if(_==="end_turn"){const k=i();if(s||k.undeliveredNotifications>0)return o("processing");if(k.pendingDescriptions.length>0)return un(k.pendingDescriptions,Math.max(0,e));let p=!1;for(let N=h-1;N>=0;N--){const E=t[N];if(E.type==="user"&&!E.isMeta){p=!0;break}}return o(p?"completed":"idle")}if(_==="tool_use"){const k=T==null?void 0:T.content,p=(f=k==null?void 0:k.findLast)==null?void 0:f.call(k,N=>N.type==="tool_use");return o("tool_use",p==null?void 0:p.name)}return o("thinking")}if(b.type==="user"){if(b.isMeta)continue;return o("processing")}if(b.type==="system"&&b.subtype==="terminal_reason"){const T=b.reason;if(T)return{status:"completed",terminalReason:T,pendingQueue:Math.max(0,e)};continue}b.type!=="summary"&&b.type==="system"&&b.subtype}return{status:"idle"}}function pn(t,e,n){const s=typeof t.sessionId=="string"?t.sessionId:"";return{record:{...t,sessionId:e,branchedFrom:{sessionId:s,turnIndex:n}},originalId:s}}function fn(t){return Wt(t).turnStartIndices}function Qt(t,e,n){if(!e)return;t.assistantText.push(e);const s=t.contentBlocks[t.contentBlocks.length-1];if((s==null?void 0:s.kind)==="text"){s.text.push(e);return}t.contentBlocks.push({kind:"text",text:[e],timestamp:n})}const Ht={0:"\0",b:"\b",f:"\f",n:`
5
+ `,r:"\r",t:" ",v:"\v"};function Xt(t,e){const n=t[e];if(n!=='"'&&n!=="'"&&n!=="`")return null;let s="",o=e+1;for(;o<t.length;){const i=t[o];if(i===n)return{endIndex:o+1,value:s};if(i!=="\\"){s+=i,o++;continue}if(o++,o>=t.length)return null;const l=t[o];if(l in Ht){s+=Ht[l],o++;continue}if(l===`
6
+ `){o++;continue}if(l==="\r"){o+=t[o+1]===`
7
+ `?2:1;continue}if(l==="x"&&/^[0-9a-fA-F]{2}$/.test(t.slice(o+1,o+3))){s+=String.fromCharCode(Number.parseInt(t.slice(o+1,o+3),16)),o+=3;continue}if(l==="u"){const f=t.slice(o+1).match(/^\{([0-9a-fA-F]+)\}/);if(f){const b=Number.parseInt(f[1],16);if(Number.isFinite(b)&&b<=1114111){s+=String.fromCodePoint(b),o+=f[0].length+1;continue}}const h=t.slice(o+1,o+5);if(/^[0-9a-fA-F]{4}$/.test(h)){s+=String.fromCharCode(Number.parseInt(h,16)),o+=5;continue}}s+=l,o++}return null}function Zt(t){return t.includes("*** Begin Patch")&&t.includes("*** End Patch")}function mn(t){if(!t.includes("apply_patch")||!t.includes("*** Begin Patch"))return[];const e=new Map;for(let l=0;l<t.length;l++){const f=Xt(t,l);if(f){if(Zt(f.value)){const h=t.slice(0,l).match(/(?:^|[;\n])\s*(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*$/);h&&e.set(h[1],f.value)}l=f.endIndex-1}}const n=[],s=new Set,o=/\btools\s*\.\s*apply_patch\s*\(/g;let i;for(;(i=o.exec(t))!==null;){let l=i.index+i[0].length;for(;/\s/.test(t[l]??"");)l++;const f=Xt(t,l),h=f?null:t.slice(l).match(/^([A-Za-z_$][\w$]*)/),b=(f==null?void 0:f.value)??(h?e.get(h[1]):void 0);!b||!Zt(b)||s.has(b)||(s.add(b),n.push(b))}return n}function Yt(t,e){if(!e||t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))return t;const n=e.replace(/[\\/]+$/,""),s=t.replace(/^\.[\\/]/,"");return/^[A-Za-z]:[\\/]/.test(e)?`${n}\\${s.replace(/\//g,"\\")}`:`${n}/${s}`}function te(t,e,n,s=""){var h,b;const o=[],i=/^\*\*\*\s+(Update File|Add File|Delete File):\s*(.+)$/gm,l=[];let f;for(;(f=i.exec(t))!==null;)l.push({action:f[1],filePath:f[2].trim(),headerIdx:f.index,startIdx:f.index+f[0].length});for(let T=0;T<l.length;T++){const _=l[T],k=T+1<l.length?l[T+1].headerIdx:t.length,p=t.slice(_.startIdx,k),N=(b=(h=p.match(/^\*\*\*\s+Move to:\s*(.+)$/m))==null?void 0:h[1])==null?void 0:b.trim(),E=Yt(_.filePath,s),M=Yt(N||_.filePath,s),v=p.split(/^@@.*$/m).filter(L=>L.trim()),R=[],U=[];for(const L of v)for(const D of L.split(`
8
+ `))D.startsWith("-")?R.push(D.slice(1)):D.startsWith("+")?U.push(D.slice(1)):D.startsWith(" ")&&(R.push(D.slice(1)),U.push(D.slice(1)));const j=l.length>1?`${e}:file-${T}`:e;_.action==="Add File"?o.push({id:j,name:"Write",input:{file_path:M,content:U.join(`
9
+ `)},result:null,isError:!1,timestamp:n}):_.action==="Delete File"?o.push({id:j,name:"Edit",input:{file_path:M,old_string:R.join(`
10
+ `),new_string:""},result:null,isError:!1,timestamp:n}):o.push({id:j,name:"Edit",input:{file_path:M,...N?{old_path:E}:{},old_string:R.join(`
11
+ `),new_string:U.join(`
12
+ `)},result:null,isError:!1,timestamp:n})}return o}function gn(t,e,n,s,o=""){return t==="apply_patch"?te(e,n,s,o):mn(e).flatMap((i,l)=>te(i,`${n}:patch-${l}`,s,o))}function hn(t,e,n){var f;if(!e||!/(?:apply[_ ]patch|invalid patch|invalid context|failed to (?:apply|find)|could not apply)/i.test(t))return new Set;const s=new Map;for(const h of n){const b=(f=h.id.match(/:patch-(\d+)(?::file-\d+)?$/))==null?void 0:f[1];if(b===void 0)continue;const T=Number(b),_=s.get(T)??[];_.push(h),s.set(T,_)}if(s.size===0)return new Set(n.map(h=>h.id));const o=t.toLowerCase().replaceAll("\\","/"),i=new Set;for(const[h,b]of s)b.some(T=>{const _=String(T.input.file_path??"").toLowerCase().replaceAll("\\","/");if(!_)return!1;const p=_.split("/").filter(Boolean).slice(-2).join("/");return o.includes(_)||p.includes("/")&&o.includes(p)})&&i.add(h);for(const h of o.matchAll(/\bpatch\s*(?:#|-)?\s*(\d+)\b/g)){const b=Number(h[1]);s.has(b)&&i.add(b)}i.size===0&&i.add(Math.max(...s.keys()));const l=Math.min(...i);for(const h of s.keys())h>=l&&i.add(h);return new Set([...i].flatMap(h=>{var b;return((b=s.get(h))==null?void 0:b.map(T=>T.id))??[]}))}function J(t){return typeof t=="object"&&t!==null}const _n=new Map([["spawn_agent","spawn_agent"],["spawnAgent","spawn_agent"],["wait_agent","wait_agent"],["waitAgent","wait_agent"],["send_message","send_message"],["sendMessage","send_message"],["followup_task","followup_task"],["followupTask","followup_task"],["list_agents","list_agents"],["listAgents","list_agents"],["interrupt_agent","interrupt_agent"],["interruptAgent","interrupt_agent"]]),yn=new Set(["exec","exec_command","write_stdin","apply_patch","update_plan","view_image","request_user_input","request_user_input_async","tool_search","list_mcp_resources","list_mcp_resource_templates","read_mcp_resource","request_plugin_install","create_goal","get_goal","update_goal","wait"]);function V(t){if(t.startsWith("mcp__"))return t;const e=t.split(/(?:__|[.:/])+/).filter(Boolean).at(-1)??t;return _n.get(e)??(yn.has(e)?e:t)}function kn(t){if(!t)return!1;const e=t.match(/Process exited with code (\d+)/);if(e)return e[1]!=="0";const n=t.replace(/\b0\s+(?:fail(?:ed|ures?)?|errors?)\b/gi,"").replace(/\bno\s+(?:failures?|errors?)\b/gi,"");return/\b(error|failed|exception)\b/i.test(n)}function bn(t){return{todos:(Array.isArray(t.plan)?t.plan:[]).filter(s=>J(s)).map(s=>({content:typeof s.step=="string"?s.step:"",status:typeof s.status=="string"?s.status:"pending",activeForm:typeof s.step=="string"?s.step:""}))}}function Tn(t){if(t.type!=="image"&&t.type!=="input_image"&&t.type!=="image_url")return null;const e=J(t.source)?t.source:t,n=e.media_type??e.mimeType;if(typeof n=="string"&&n.startsWith("image/")&&typeof e.data=="string"&&e.data)return{type:"image",source:{type:"base64",media_type:n,data:e.data}};const s=J(t.image_url)?t.image_url.url:t.image_url,o=typeof s=="string"?/^data:(image\/[^;,]+);base64,(.+)$/is.exec(s):null;return o?{type:"image",source:{type:"base64",media_type:o[1].toLowerCase(),data:o[2]}}:null}function ee(t){if(typeof t=="string")return{text:t,images:[]};if(!Array.isArray(t))return{text:t==null?"":JSON.stringify(t),images:[]};const e=[],n=[];for(const s of t){if(!J(s))continue;typeof s.text=="string"&&e.push(s.text);const o=Tn(s);o&&n.push(o)}return{text:e.join(""),images:n}}function kt(t){const e=ee(t);let n=J(t)&&!Array.isArray(t)?t:null;try{const b=n??JSON.parse(e.text);J(b)&&!Array.isArray(b)&&(n=b)}catch{}const s=n&&("output"in n||"content"in n)?ee(n.output??n.content):e,o=s===e?e.images:[...e.images,...s.images],i=J(n==null?void 0:n.metadata)?n.metadata:null,l=(i==null?void 0:i.exit_code)??(n==null?void 0:n.exit_code),f=typeof(n==null?void 0:n.isError)=="boolean"?n.isError:typeof(n==null?void 0:n.is_error)=="boolean"?n.is_error:void 0,h=f===!0||(typeof l=="number"?l!==0:f??kn(s.text));return{text:s.text,isError:h,...o.length>0?{images:o}:{}}}const Cn=["# AGENTS.md instructions for ","<recommended_plugins>","<environment_context>","<permissions instructions>","<collaboration_mode>","<skills_instructions>"];function xn(t){var e,n;return((n=(e=globalThis.crypto)==null?void 0:e.randomUUID)==null?void 0:n.call(e))??`${t}-${Math.random().toString(36).slice(2,10)}`}function bt(t){try{return JSON.parse(t)}catch{return null}}function F(t){return typeof t=="object"&&t!==null}function K(t){return!t||typeof t.type!="string"?!1:t.type==="session_meta"||t.type==="turn_context"||t.type==="event_msg"||t.type==="response_item"||t.type==="inter_agent_communication_metadata"||t.type==="compacted"||t.type==="world_state"}function lt(t,e){const n=t==null?void 0:t.content;return Array.isArray(n)?n.filter(s=>F(s)&&s.type===e&&typeof s.text=="string").map(s=>s.text).join(`
13
+ `).trim():""}const In=/^data:(image\/(?:png|jpeg|gif|webp));base64,(.+)$/is,An=/^data:(audio\/(?:wav|x-wav|mpeg|mp4|webm|ogg));base64,(.+)$/is;function ne(t){if(typeof t!="string")return null;const e=In.exec(t);return!(e!=null&&e[1])||!e[2]?null:{type:"image",source:{type:"base64",media_type:e[1].toLowerCase(),data:e[2]}}}function se(t){if(typeof t!="string")return null;const e=An.exec(t);return!(e!=null&&e[1])||!e[2]?null:{type:"audio",source:{type:"base64",media_type:e[1].toLowerCase(),data:e[2]}}}function Sn(t){return Array.isArray(t.images)?t.images.map(ne).filter(e=>e!==null):[]}function wn(t){return Array.isArray(t.audio)?t.audio.map(se).filter(e=>e!==null):[]}function oe(t){return Array.isArray(t.content)?t.content.filter(e=>F(e)&&e.type==="input_image").map(e=>ne(e.image_url)).filter(e=>e!==null):[]}function ie(t){return Array.isArray(t.content)?t.content.filter(e=>F(e)&&e.type==="input_audio").map(e=>se(e.audio_url)).filter(e=>e!==null):[]}function re(t,e,n=[],s=[],o=[]){const i=[...s.map(f=>`
14
+ ![image](<${f}>)`),...o.map(f=>`
15
+ [audio attachment](<${f}>)`)].join(""),l=t+i;return e.length===0&&n.length===0?l:[...e,...n,...l?[{type:"text",text:l}]:[]]}function Mn(t){var l,f;const e=lt(t,"input_text");if(!e)return{messageType:null,text:""};const n=e.match(/\r?\nPayload:\s*(?:\r?\n|$)/);if(!e.startsWith("Message Type:")||!n||n.index===void 0)return{messageType:null,text:e.trim()};const o=((f=(l=e.slice(0,n.index).match(/^Message Type:\s*([^\r\n]+)/))==null?void 0:l[1])==null?void 0:f.trim().toUpperCase())??null,i=e.slice(n.index+n[0].length).trim();return{messageType:o,text:i}}function X(t){return t.split(/[\\/]/).filter(Boolean).at(-1)??null}function En(t){if(typeof t!="string")return"";const e=t.trim();return/^gAAAAA[A-Za-z0-9_-]+$/.test(e)?"":e}function Tt(t){const e=t.trim();return!e||Cn.some(n=>e.startsWith(n))?"":e}function Nn(t,e){return t?{input_tokens:t.input_tokens+e.input_tokens,output_tokens:t.output_tokens+e.output_tokens,cache_creation_input_tokens:(t.cache_creation_input_tokens??0)+(e.cache_creation_input_tokens??0),cache_read_input_tokens:(t.cache_read_input_tokens??0)+(e.cache_read_input_tokens??0)}:{...e}}function vn(t){if(!F(t))return null;const e=typeof t.input_tokens=="number"?t.input_tokens:0,n=typeof t.output_tokens=="number"?t.output_tokens:0,s=typeof t.cache_write_input_tokens=="number"?t.cache_write_input_tokens:typeof t.cache_creation_input_tokens=="number"?t.cache_creation_input_tokens:0,o=typeof t.cached_input_tokens=="number"?Math.max(0,t.cached_input_tokens):null,i=o??(typeof t.cache_read_input_tokens=="number"?t.cache_read_input_tokens:0),l=o===null?e:Math.max(0,e-o);return l===0&&n===0&&s===0&&i===0?null:{input_tokens:l,output_tokens:n,cache_creation_input_tokens:s,cache_read_input_tokens:i}}function Bn(t,e,n){if(!e)return;const s={type:"thinking",thinking:e,signature:""};t.thinking.push(s);const o=t.contentBlocks[t.contentBlocks.length-1];if(o&&o.kind==="thinking"){o.blocks.push(s);return}t.contentBlocks.push({kind:"thinking",blocks:[s],timestamp:n})}function G(t,e,n){t.toolCalls.push(e);const s=t.contentBlocks[t.contentBlocks.length-1];if(s&&s.kind==="tool_calls"&&s.timestamp===n){s.toolCalls.push(e);return}t.contentBlocks.push({kind:"tool_calls",toolCalls:[e],timestamp:n})}function Rn(t,e,n){if(!e||!(e.userMessage!==null||e.assistantText.length>0||e.toolCalls.length>0||e.thinking.length>0||e.subAgentActivity.length>0))return null;if(e.timestamp&&n){const o=new Date(e.timestamp).getTime(),i=new Date(n).getTime();Number.isFinite(o)&&Number.isFinite(i)&&i>=o&&(e.durationMs=i-o)}return t.push(e),null}function ae(t){if(typeof t!="string"||!t.trim())return{};try{const e=JSON.parse(t);return F(e)?e:{value:e}}catch{return{raw:t}}}function Z(t){if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t??"")}}function le(...t){return t.find(e=>typeof e=="string")}function Pn(t){return t.startsWith("exec-")}function Fn(t){var o;if(!F(t))return{text:Z(t),isError:!1};if("Err"in t)return{text:Z(t.Err),isError:!0};const e=F(t.Ok)?t.Ok:null;if(!e)return{text:Z(t),isError:!1};const n=kt({...e,content:e.content}),s=n.text||((o=n.images)!=null&&o.length?"":e.structuredContent!==void 0?Z(e.structuredContent):Z(e));return{...n,text:s,isError:n.isError}}function $n(t,e,n){return{id:t?`${t}@${e}`:xn("codex-turn"),userMessage:null,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:e,durationMs:null,tokenUsage:null,model:n}}function ce(t){return t.type==="event_msg"&&F(t.payload)&&t.payload.type==="user_message"&&typeof t.payload.message=="string"?Tt(t.payload.message):t.type==="response_item"&&F(t.payload)&&t.payload.type==="message"&&t.payload.role==="user"?Tt(lt(t.payload,"input_text")):""}function Un(t,e){if(t.type==="session_meta"||t.type==="event_msg"&&(e==null?void 0:e.type)==="task_started")return!1;if(t.type==="response_item"&&(e==null?void 0:e.type)==="message"){if(e.role==="developer"||e.role==="system")return!1;if(e.role==="user")return ce(t)!==""||oe(e).length>0||ie(e).length>0}return!0}function ue(t){let e="",n="",s="",o="",i="",l,f="",h="",b="",T="",_=0,k=!1,p=null,N="/root",E="";for(const M of t){if(!F(M.payload))continue;if(M.type==="session_meta"){if(e||(e=typeof M.payload.id=="string"?M.payload.id:""),n||(n=typeof M.payload.cli_version=="string"?M.payload.cli_version:""),o||(o=typeof M.payload.cwd=="string"?M.payload.cwd:""),!l&&F(M.payload.branchedFrom)){const j=typeof M.payload.branchedFrom.sessionId=="string"?M.payload.branchedFrom.sessionId:"";j&&(l={sessionId:j,turnIndex:typeof M.payload.branchedFrom.turnIndex=="number"?M.payload.branchedFrom.turnIndex:null})}const R=F(M.payload.source)?M.payload.source:null;if(R&&F(R.subagent)){k=!0;const j=F(R.subagent.thread_spawn)?R.subagent.thread_spawn:null;j&&typeof j.agent_path=="string"&&(N=j.agent_path)}typeof M.payload.forked_from_id=="string"&&M.payload.forked_from_id&&(p=M.payload.forked_from_id);const U=F(M.payload.git)?M.payload.git:null;s||(s=U&&typeof U.branch=="string"?U.branch:"")}M.type==="turn_context"&&(i||(i=typeof M.payload.model=="string"?M.payload.model:""),o||(o=typeof M.payload.cwd=="string"?M.payload.cwd:""));const v=ce(M);v&&v!==E&&(f||(f=v),h=v,E=v,_++,b||(b=M.timestamp??""),T=M.timestamp??T)}return T===""&&(T=b),{sessionId:e,version:n,gitBranch:s,cwd:o,model:i,slug:"",name:"",branchedFrom:l,firstUserMessage:f,lastUserMessage:h,timestamp:b,lastTimestamp:T,turnCount:_,isSubagent:k,parentSessionId:p,agentPath:N}}function Dn(t){for(const e of t.split(`
16
+ `)){const n=e.trim();if(n)return K(bt(n))}return!1}function On(t){return K(t[0]??null)}function jn(t){const e=t.map(bt).filter(K);return ue(e)}function de(t,e){const n=ue(t.filter(K)),s=[],o=new Map,i=new Map,l=new Map,f=new Map,h=new Map,b=new Map,T=new Map,_=new Map;function k(m,d,a,y={}){const u=h.get(m);let C=_.get(m);if(!C){const x={agentId:m,parentToolUseId:(u==null?void 0:u.parentToolCallId)||void 0,agentName:(u==null?void 0:u.nickname)??(u!=null&&u.agentPath?X(u.agentPath):null),subagentType:(u==null?void 0:u.agentType)??null,type:"assistant",content:null,toolCalls:[],thinking:[],text:[],timestamp:(u==null?void 0:u.timestamp)??a,tokenUsage:null,model:(u==null?void 0:u.model)??null,isBackground:!1,prompt:(u==null?void 0:u.message)||void 0,status:y.status??"running"};d.subAgentActivity.push(x);const I=d.contentBlocks[d.contentBlocks.length-1];(I==null?void 0:I.kind)==="sub_agent"?I.messages.push(x):d.contentBlocks.push({kind:"sub_agent",messages:[x],timestamp:a}),C={message:x,turn:d},_.set(m,C)}const g=C.message;if(u&&(g.parentToolUseId=u.parentToolCallId||g.parentToolUseId,g.agentName=u.nickname??(u.agentPath?X(u.agentPath):g.agentName),g.subagentType=u.agentType,g.model=u.model,g.prompt=u.message||g.prompt),y.text&&!g.text.includes(y.text)&&(g.text.push(y.text),g.content=g.text.join(`
17
+
18
+ `)),y.status){const x=new Set(["completed","failed","interrupted"]);if(y.status==="running"&&g.status&&x.has(g.status)||(g.status=y.status),x.has(y.status)&&g.timestamp&&a){const I=new Date(g.timestamp).getTime(),w=new Date(a).getTime();Number.isFinite(I)&&Number.isFinite(w)&&w>=I&&(g.durationMs=w-I)}}return g}let p=null,N=null,E=n.model||null,M="",v=null,R=!1;const U=[];let j=0,L=null,D=null;function S(m){const d=s.length,a=Rn(s,m,M);return s.length>d&&D!==null&&U.push(D),D=null,a}function r(m,d,a){const y=$n(m,d,a);return D=L??j,L=null,R||(y.isFragment=!0),v&&(y.compactionSummary=v,v=null),y}function c(m,d,a,y,u){const C=i.get(d);if(C){C.input={...C.input,...a},C.result=y,C.isError=y==="failed";return}const g={id:d,name:"WebSearch",input:a,result:y,isError:y==="failed",timestamp:u};i.set(d,g),G(m,g,u)}for(let m=0;m<t.length;m++){const d=t[m];if(!K(d))continue;j=m;const a=F(d.payload)?d.payload:void 0,y=d.timestamp??"";if(d.type==="compacted"){p=S(p),v="Conversation compacted",M=y;continue}if(d.type!=="world_state"){if(d.type==="turn_context"){p=S(p),L=m,N=typeof(a==null?void 0:a.turn_id)=="string"?a.turn_id:null,E=typeof(a==null?void 0:a.model)=="string"?a.model:E,M=y,R=!0;continue}if(d.type==="event_msg"&&(a==null?void 0:a.type)==="user_message"&&typeof a.message=="string"){p&&(p.assistantText.length>0||p.toolCalls.length>0||p.thinking.length>0)&&(p=S(p)),R=!0,p??(p=r(N,y,E));const u=(Array.isArray(a.local_images)?a.local_images:[]).filter(g=>typeof g=="string"&&g.length>0),C=(Array.isArray(a.local_audio)?a.local_audio:[]).filter(g=>typeof g=="string"&&g.length>0);p.userMessage=re(a.message,Sn(a),wn(a),u,C),p.isFragment=!1,p.timestamp=p.timestamp||y,M=y;continue}if(!(!p&&!Un(d,a))){if(p??(p=r(N,y,E)),!p.model&&E&&(p.model=E),p.timestamp||(p.timestamp=y),y&&(M=y),d.type==="event_msg"&&(a==null?void 0:a.type)==="token_count"){const u=F(a.info)?a.info:null,C=u?vn(u.last_token_usage):null;C&&(p.tokenUsage=Nn(p.tokenUsage,C));continue}if(d.type==="event_msg"&&(a==null?void 0:a.type)==="web_search_end"&&typeof a.call_id=="string"){const u={};typeof a.query=="string"&&a.query&&(u.query=a.query),F(a.action)&&(u.action=a.action),c(p,a.call_id,u,"completed",y);continue}if(d.type==="event_msg"&&(a==null?void 0:a.type)==="mcp_tool_call_end"&&typeof a.call_id=="string"&&F(a.invocation)){const u=a.invocation,C=typeof u.server=="string"?u.server:"mcp",g=typeof u.tool=="string"?u.tool:"tool",x=F(u.arguments)?u.arguments:{},I=Fn(a.result),w=o.get(a.call_id);w?(w.result=I.text,w.isError=I.isError,I.images&&(w.resultImages=I.images),o.delete(a.call_id)):Pn(a.call_id)||G(p,{id:a.call_id,name:`mcp__${C}__${g}`,input:x,result:I.text,isError:I.isError,...I.images?{resultImages:I.images}:{},timestamp:y},y);continue}if(d.type==="event_msg"&&(a==null?void 0:a.type)==="sub_agent_activity"&&typeof a.agent_thread_id=="string"&&typeof a.agent_path=="string"){const u=a.agent_thread_id,C=typeof a.event_id=="string"?a.event_id:"",g=typeof a.kind=="string"?a.kind:"started",x=C?f.get(C):void 0,I=b.get(a.agent_path),w=h.get(u)??(I?h.get(I):void 0);if(g!=="started"&&!w&&!x)continue;if(I&&I!==u&&!_.has(u)){const P=_.get(I);P&&(P.message.agentId=u,_.delete(I),_.set(u,P)),h.delete(I)}const $={agentId:u,nickname:(w==null?void 0:w.nickname)??X(a.agent_path)??(x==null?void 0:x.taskName)??null,agentPath:a.agent_path,message:(w==null?void 0:w.message)??(x==null?void 0:x.message)??"",model:(w==null?void 0:w.model)??(x==null?void 0:x.model)??null,agentType:(w==null?void 0:w.agentType)??(x==null?void 0:x.agentType)??null,timestamp:(w==null?void 0:w.timestamp)??(y||(x==null?void 0:x.timestamp)||""),parentToolCallId:(w==null?void 0:w.parentToolCallId)??C};h.set(u,$),b.set(a.agent_path,u),C&&(g==="started"||x)&&T.set(C,u),k(u,p,y,{status:g==="interrupted"?"interrupted":"running"});continue}if(!(d.type!=="response_item"||!a)){if(a.type==="reasoning"){const u=Array.isArray(a.summary)?a.summary.filter(C=>typeof C=="string").join(`
19
+ `):"";Bn(p,u.trim(),y);continue}if(a.type==="message"&&a.role==="assistant"){Qt(p,lt(a,"output_text"),y);continue}if(a.type==="message"&&a.role==="user"&&p.userMessage===null){const u=Tt(lt(a,"input_text")),C=oe(a),g=ie(a);(u||C.length>0||g.length>0)&&(p.userMessage=re(u,C,g),p.isFragment=!1,R=!0);continue}if(a.type==="web_search_call"&&typeof a.id=="string"){const u={};F(a.action)&&(u.action=a.action);const C=typeof a.status=="string"?a.status:"completed";c(p,a.id,u,C,y);continue}if(a.type==="tool_search_call"){const u=le(a.call_id,a.id)??"";if(u){const C={id:u,name:"ToolSearch",input:F(a.arguments)?a.arguments:{},result:null,isError:!1,timestamp:y};o.set(u,C),G(p,C,y)}continue}if(a.type==="tool_search_output"&&typeof a.call_id=="string"){const u=o.get(a.call_id);if(u){const C=Array.isArray(a.tools)?a.tools:[],g=C.filter(F).map(w=>le(w.name)??"").filter(Boolean),x=g.length>0?g.length:C.length,I=`Found ${x} tool${x===1?"":"s"}`;u.result=g.length>0?`${I}: ${g.join(", ")}`:I,u.isError=a.status==="failed",o.delete(a.call_id)}continue}if(a.type==="agent_message"&&typeof a.author=="string"){const u=a.author,C=typeof a.recipient=="string"?a.recipient:null,g=Mn(a);if(g.messageType==="NEW_TASK")continue;const x=b.get(u),I=u.startsWith(`${n.agentPath}/`)&&(C===null||C===n.agentPath);if(!x&&!I)continue;const w=x??u;x||(h.set(w,{agentId:w,nickname:X(u),agentPath:u,message:"",model:null,agentType:null,timestamp:y,parentToolCallId:""}),b.set(u,w));let $;g.messageType==="FINAL_ANSWER"?$="completed":g.messageType==="ERROR"||g.messageType==="FAILED"?$="failed":g.messageType==="INTERRUPTED"?$="interrupted":g.messageType==="MESSAGE"&&($="running"),k(w,p,y,{status:$,text:g.text||void 0});continue}if(a.type==="function_call"&&typeof a.call_id=="string"){const u=typeof a.name=="string"?a.name:"tool",C=V(u),g=ae(a.arguments);let x=C,I=g;C==="exec_command"?x="Bash":C==="update_plan"&&(x="TodoWrite",I=bn(g)),C==="spawn_agent"&&f.set(a.call_id,{callId:a.call_id,message:En(g.message),taskName:typeof g.task_name=="string"?g.task_name:null,model:typeof g.model=="string"?g.model:null,agentType:typeof g.agent_type=="string"?g.agent_type:null,timestamp:y});const w={id:a.call_id,name:x,input:I,result:null,isError:!1,timestamp:y};o.set(w.id,w),G(p,w,y);continue}if(a.type==="function_call_output"&&typeof a.call_id=="string"){const u=o.get(a.call_id);if(!u)continue;const C=kt(a.output),g=C.text;if(u.result=g,u.isError=C.isError,C.images&&(u.resultImages=C.images),o.delete(a.call_id),u.name==="spawn_agent"&&g)try{const x=JSON.parse(g),I=typeof x.agent_id=="string"?x.agent_id:T.get(u.id)??"",w=typeof x.task_name=="string"?x.task_name:null,$=typeof x.nickname=="string"?x.nickname:w?X(w):null;if(I){const B=f.get(u.id),P=h.get(I),Q={agentId:I,nickname:$??(P==null?void 0:P.nickname)??(B==null?void 0:B.taskName)??null,agentPath:w??(P==null?void 0:P.agentPath)??null,message:(P==null?void 0:P.message)??(B==null?void 0:B.message)??"",model:(P==null?void 0:P.model)??(B==null?void 0:B.model)??null,agentType:(P==null?void 0:P.agentType)??(B==null?void 0:B.agentType)??null,timestamp:(P==null?void 0:P.timestamp)??(B==null?void 0:B.timestamp)??y,parentToolCallId:(P==null?void 0:P.parentToolCallId)??u.id};h.set(I,Q),T.set(u.id,I),Q.agentPath&&b.set(Q.agentPath,I),k(I,p,y,{status:"running"})}}catch{}if(u.name==="wait_agent"&&g&&p)try{const x=JSON.parse(g),I=F(x.status)?x.status:{};for(const[w,$]of Object.entries(I)){const B=F($)?$:{},P=typeof B.completed=="string"?B.completed:"",Q=typeof B.failed=="string"?B.failed:typeof B.error=="string"?B.error:"",Ee=typeof B.interrupted=="string"?B.interrupted:"",xs=P?"completed":Q?"failed":Ee?"interrupted":typeof B.status=="string"?B.status:"running";h.has(w)||h.set(w,{agentId:w,nickname:null,agentPath:null,message:"",model:null,agentType:null,timestamp:y,parentToolCallId:""}),k(w,p,y,{status:xs,text:P||Q||Ee||void 0})}}catch{}continue}if(a.type==="custom_tool_call"&&typeof a.call_id=="string"){const u=V(typeof a.name=="string"?a.name:"tool"),C=typeof a.input=="string"?a.input:"",g=a.call_id,x=C?gn(u,C,g,y,n.cwd):[];if(u!=="apply_patch"){const I={id:g,name:u==="exec_command"?"Bash":u,input:ae(C),result:null,isError:!1,timestamp:y};o.set(I.id,I),G(p,I,y)}for(const I of x)o.set(I.id,I),G(p,I,y);x.length>0&&l.set(g,{calls:x,direct:u==="apply_patch"});continue}if(a.type==="custom_tool_call_output"&&typeof a.call_id=="string"){const u=a.call_id,{text:C,isError:g,images:x}=kt(a.output),I=l.get(u);if(I){const $=I.direct&&g?new Set(I.calls.map(B=>B.id)):hn(C,g,I.calls);for(const B of I.calls){const P=o.get(B.id);P&&(P.result=C,P.isError=$.has(P.id),o.delete(P.id))}l.delete(u)}const w=o.get(u);w&&(w.result=C,w.isError=g,x&&(w.resultImages=x),o.delete(u));continue}}}}}return S(p),{turnStartIndices:U,sessionId:n.sessionId,version:n.version,gitBranch:n.gitBranch,cwd:n.cwd,slug:n.slug,name:"",model:n.model,turns:s,stats:e!=null&&e.skipStats?ot(s.length):it(s),rawMessages:e!=null&&e.skipStats?[]:t,branchedFrom:n.branchedFrom,agentKind:"codex"}}function pe(t,e){const n=t.split(`
20
+ `).map(i=>i.trim()).filter(Boolean).map(bt).filter(K),{turnStartIndices:s,...o}=de(n,e);return o}function Ln(t,e){const n=t.rawMessages.map(s=>JSON.stringify(s)).join(`
21
+ `);return pe(n?`${n}
22
+ ${e}`:e)}const Wn=new Set(["FINAL_ANSWER","ERROR","FAILED","INTERRUPTED"]);function qn(t){const e=t.content;return Array.isArray(e)?e.filter(n=>F(n)&&n.type==="input_text"&&typeof n.text=="string").map(n=>n.text).join(`
23
+ `):""}function ct(t){if(typeof t!="string")return null;try{const e=JSON.parse(t);return F(e)?e:null}catch{return null}}function zn(t){var h,b;const e=new Map,n=new Set,s=new Map,o=new Map,i=new Set,l=new Map;function f(T,_){n.has(T)||e.set(T,e.get(T)||_)}for(const T of t){const _=F(T.payload)?T.payload:null;if(_){if(T.type==="event_msg"&&_.type==="sub_agent_activity"&&typeof _.agent_thread_id=="string"&&typeof _.agent_path=="string"){const k=_.agent_thread_id,p=typeof _.kind=="string"?_.kind:"started",N=typeof _.event_id=="string"?_.event_id:"",E=s.get(_.agent_path),M=e.has(k)||n.has(k)||E!==void 0||o.has(N);if(p!=="started"&&!M)continue;E&&E!==k&&(e.has(E)&&(f(k,e.get(E)??""),e.delete(E)),n.has(E)&&n.add(k)),s.set(_.agent_path,k),p==="interrupted"?(n.add(k),e.delete(k)):f(k,o.get(N)??"");continue}if(T.type==="response_item"){if(_.type==="function_call"&&typeof _.call_id=="string"){const k=V(typeof _.name=="string"?_.name:"");if(k==="spawn_agent"){const p=ct(_.arguments);o.set(_.call_id,typeof(p==null?void 0:p.task_name)=="string"?p.task_name:"")}else if(k==="wait_agent")i.add(_.call_id);else if(k==="interrupt_agent"){const p=ct(_.arguments),N=[p==null?void 0:p.agent_id,...Array.isArray(p==null?void 0:p.agent_ids)?p.agent_ids:[]].filter(E=>typeof E=="string");l.set(_.call_id,N)}continue}if(_.type==="function_call_output"&&typeof _.call_id=="string"){const k=_.call_id;if(o.has(k)){const p=ct(_.output),N=typeof(p==null?void 0:p.agent_id)=="string"?p.agent_id:"";if(N){f(N,o.get(k)??"");const E=typeof(p==null?void 0:p.task_name)=="string"?p.task_name:"";E&&!s.has(E)&&s.set(E,N)}}else if(i.has(k)){const p=ct(_.output),N=F(p==null?void 0:p.status)?p.status:{};for(const[E,M]of Object.entries(N)){const v=F(M)?M:{},R=typeof v.status=="string"?v.status:"";(typeof v.completed=="string"||typeof v.failed=="string"||typeof v.error=="string"||typeof v.interrupted=="string"||R==="completed"||R==="failed"||R==="interrupted")&&(n.add(E),e.delete(E))}}else if(l.has(k))for(const p of l.get(k)??[])n.add(p),e.delete(p);continue}if(_.type==="agent_message"&&typeof _.author=="string"){const p=((b=(h=qn(_).match(/^Message Type:\s*([^\r\n]+)/))==null?void 0:h[1])==null?void 0:b.trim().toUpperCase())??"";if(!Wn.has(p))continue;const N=s.get(_.author)??_.author;n.add(N),e.delete(N)}}}}return[...e.entries()].filter(([T])=>!n.has(T)).map(([,T])=>T)}function Jn(t){for(let e=t.length-1;e>=0;e--){const n=t[e];if(n.type==="event_msg"){const s=n.payload;switch(s==null?void 0:s.type){case"task_complete":{const o=zn(t);return o.length>0?{status:"awaiting_agents",pendingQueue:0,pendingAgents:o.length,pendingAgentDescriptions:o.filter(i=>i.length>0)}:{status:"completed"}}case"task_started":return{status:"processing"};case"agent_message":return{status:"thinking"};case"token_count":continue}}if(n.type==="response_item"){const s=n.payload;if(!s)continue;if(s.type==="function_call")return{status:"tool_use",toolName:s.name?V(s.name):s.name};if(s.type==="message"){if(s.role==="assistant")return{status:"thinking"};if(s.role==="user")return{status:"processing"}}}}return{status:"idle"}}function Vn(t,e,n){const s=F(t.payload)?{...t.payload}:{},o=typeof s.id=="string"?s.id:"";return s.id=e,s.branchedFrom={sessionId:o,turnIndex:n},{record:{...t,payload:s},originalId:o}}function Kn(t){return de(t,{skipStats:!0}).turnStartIndices}const Gn=/^(?:assistant|auto_mode|auto_mode_switch|background_tasks|canvas|command|custom|elicitation|exit_plan_mode|extensions|external_tool|factory|hook|managed_settings|mcp|model|pending_messages|permission|sampling|session|skill|subagent|system|tool|ui|user_input)\./;function O(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function fe(t){return typeof t.agentId!="string"||t.agentId.length===0}function me(t){return!O(t)||typeof t.type!="string"||!O(t.data)?!1:t.type==="abort"||t.type==="binary_asset"||t.type==="user.message"||Gn.test(t.type)}function ge(t){try{const e=JSON.parse(t);return me(e)?e:null}catch{return null}}function Qn(t){return t.split(`
24
+ `).map(e=>e.trim()).filter(Boolean).map(ge).filter(e=>e!==null)}function A(...t){return t.find(e=>typeof e=="string")??""}function q(t){return typeof t=="number"&&Number.isFinite(t)?t:0}function Y(t){return typeof t.timestamp=="string"?t.timestamp:""}function z(t,e){var n,s;return typeof t.id=="string"&&t.id?t.id:((s=(n=globalThis.crypto)==null?void 0:n.randomUUID)==null?void 0:s.call(n))??`${e}-${Math.random().toString(36).slice(2,10)}`}function he(t){const e=z(t,"copilot-turn"),n=A(t.data.turnId);return n?`${n}@${e}`:e}function Ct(t,e){if(!O(t))return;const n=A(t.cwd),s=A(t.branch);n&&(e.cwd=n),s&&(e.gitBranch=s)}function _e(t){const e={sessionId:"",version:"",gitBranch:"",cwd:"",model:"",slug:"",name:"",firstUserMessage:"",lastUserMessage:"",timestamp:"",lastTimestamp:"",turnCount:0,isSubagent:!1,parentSessionId:null};for(const n of t){if(!fe(n))continue;const{data:s}=n,o=Y(n);if(o&&(e.lastTimestamp=o),n.type==="session.start"){e.sessionId||(e.sessionId=A(s.sessionId)),e.version||(e.version=A(s.copilotVersion)||(typeof s.version=="number"?String(s.version):A(s.version))),Ct(s.context,e),e.model=A(s.selectedModel)||e.model;continue}if(n.type==="session.resume"){Ct(s.context,e),e.model=A(s.selectedModel)||e.model;continue}if(n.type==="session.context_changed"){Ct(s,e);continue}if(n.type==="session.auto_mode_resolved"){e.model=A(s.chosenModel)||e.model;continue}if(n.type==="session.model_change"){e.model=A(s.newModel)||e.model;continue}if(n.type==="session.title_changed"){e.name=A(s.title)||e.name;continue}if(n.type==="session.shutdown"){e.model=A(s.currentModel)||e.model;continue}if((n.type==="assistant.turn_start"||n.type==="assistant.turn_end"||n.type==="assistant.message"||n.type==="assistant.usage"||n.type==="tool.execution_start"||n.type==="tool.execution_complete")&&(e.model=A(s.model)||e.model),n.type!=="user.message")continue;e.turnCount++,e.timestamp||(e.timestamp=o);const i=A(s.content).trim();i&&(e.firstUserMessage||(e.firstUserMessage=i),e.lastUserMessage=i)}return e.lastTimestamp||(e.lastTimestamp=e.timestamp),e}function Hn(t){for(const e of t.split(`
25
+ `)){const n=e.trim();if(n)try{const s=JSON.parse(n);if(me(s))return!0}catch{}}return!1}function Xn(t){var e;return ds((e=t[0])==null?void 0:e.type)}function Zn(t){const e=t.map(n=>ge(n.trim())).filter(n=>n!==null);return _e(e)}function xt(t){if(typeof t=="string")return t;if(t===void 0)return"";try{return JSON.stringify(t)}catch{return String(t)}}function ye(t){return typeof t=="string"?t:Array.isArray(t)?t.flatMap(e=>{const n=typeof e=="string"?e:O(e)?A(e.text,e.content):"";return n?[n]:[]}).join(`
26
+ `):""}function Yn(t){const e=new Map;for(const n of t){if(n.type!=="session.binary_asset"&&n.type!=="binary_asset")continue;const s=A(n.data.assetId),o=A(n.data.data),i=A(n.data.mimeType);s&&o&&i&&e.set(s,{data:o,mimeType:i})}return e}function ts(t,e){if(!O(t))return null;const n=e.get(A(t.assetId)),s=A(t.mimeType,n==null?void 0:n.mimeType).toLowerCase(),o=A(t.data,n==null?void 0:n.data);return!s.startsWith("image/")||!o?null:{type:"image",source:{type:"base64",media_type:s,data:o}}}function ke(t,e){if(!Array.isArray(t))return[];const n=[],s=new Set;for(const o of t){const i=ts(o,e);if(!i)continue;const l=`${i.source.media_type}:${i.source.data}`;s.has(l)||(s.add(l),n.push(i))}return n}function es(t,e){const n=A(t.content),s=ke(t.attachments,e);return s.length===0?n:[...s,...n?[{type:"text",text:n}]:[]]}function ns(t,e){return O(t.result)?ke([...Array.isArray(t.result.contents)?t.result.contents:[],...Array.isArray(t.result.binaryResultsForLlm)?t.result.binaryResultsForLlm:[]],e):[]}function ut(t,e){var o,i;if(!t)return{...e};const n=((o=t.output_tokens_details)==null?void 0:o.thinking_tokens)??0,s=((i=e.output_tokens_details)==null?void 0:i.thinking_tokens)??0;return{input_tokens:t.input_tokens+e.input_tokens,output_tokens:t.output_tokens+e.output_tokens,cache_creation_input_tokens:(t.cache_creation_input_tokens??0)+(e.cache_creation_input_tokens??0),cache_read_input_tokens:(t.cache_read_input_tokens??0)+(e.cache_read_input_tokens??0),...n||s?{output_tokens_details:{thinking_tokens:n+s}}:{}}}function It(t,e=!1){const n=q(t.cacheWriteTokens),s=q(t.cacheReadTokens),o=q(t.inputTokens),i={input_tokens:e?Math.max(0,o-n-s):o,output_tokens:q(t.outputTokens),cache_creation_input_tokens:n,cache_read_input_tokens:s},l=q(t.reasoningTokens);return l&&(i.output_tokens_details={thinking_tokens:l}),i.input_tokens===0&&i.output_tokens===0&&i.cache_creation_input_tokens===0&&i.cache_read_input_tokens===0&&l===0?null:i}function ss(t){if(!O(t.modelMetrics))return null;let e=null;for(const n of Object.values(t.modelMetrics)){if(!O(n)||!O(n.usage))continue;const s=It(n.usage,!0);s&&(e=ut(e,s))}return e}function os(t){if(typeof t=="string")return{label:t};if(!O(t))return null;const e=A(t.label,t.title,t.value,t.name);if(!e)return null;const n=A(t.description);return n?{label:e,description:n}:{label:e}}function is(t){return Array.isArray(t)?t.map(os).filter(e=>e!==null):[]}function rs(t){if(!O(t))return null;const e=A(t.question,t.prompt,t.text,t.message);if(!e)return null;const n=A(t.header,t.title),s=typeof t.multiSelect=="boolean"?t.multiSelect:typeof t.multi_select=="boolean"?t.multi_select:void 0;return{question:e,...n?{header:n}:{},options:is(t.options??t.choices),...s===void 0?{}:{multiSelect:s}}}function as(t){const n=(Array.isArray(t.questions)?t.questions:[t]).map(rs).filter(s=>s!==null);return n.length>0?{...t,questions:n}:t}function tt(t){switch(t.toLowerCase().replace(/-/g,"_")){case"ask_user":return"AskUserQuestion";case"bash":case"powershell":case"shell":return"Bash";case"create":return"Write";case"edit":return"Edit";default:return t}}function dt(t,e){const n=O(e)?e:e===void 0?{}:{value:e};return t==="AskUserQuestion"?as(n):t==="Edit"?{...n,file_path:A(n.file_path,n.path),old_string:A(n.old_string,n.old_str),new_string:A(n.new_string,n.new_str)}:t==="Write"?{...n,file_path:A(n.file_path,n.path),content:A(n.content,n.file_text)}:t==="Bash"&&typeof n.command!="string"&&typeof n.cmd=="string"?{...n,command:n.cmd}:n}function ls(t){const e=t.error;if(typeof e=="string")return e;if(O(e)){const s=A(e.message,e.code);if(s)return s}const n=t.result;if(typeof n=="string")return n;if(!O(n))return n===void 0?"":xt(n);if(typeof n.detailedContent=="string")return n.detailedContent;if(typeof n.content=="string")return n.content;if(Array.isArray(n.contents)){const s=n.contents.flatMap(o=>{const i=typeof o=="string"?o:O(o)?A(o.text,o.content,o.output):"";return i?[i]:[]}).join(`
27
+ `);if(s)return s}return n.structuredContent!==void 0?xt(n.structuredContent):xt(n)}function be(t,e,n,s){if(!e||t.thinking.some(l=>l.thinking===e))return;const o={type:"thinking",thinking:e,signature:s};t.thinking.push(o);const i=t.contentBlocks[t.contentBlocks.length-1];if((i==null?void 0:i.kind)==="thinking"){i.blocks.push(o);return}t.contentBlocks.push({kind:"thinking",blocks:[o],timestamp:n})}function pt(t,e,n){t.toolCalls.push(e);const s=t.contentBlocks[t.contentBlocks.length-1];if((s==null?void 0:s.kind)==="tool_calls"){s.toolCalls.push(e);return}t.contentBlocks.push({kind:"tool_calls",toolCalls:[e],timestamp:n})}function et(t,e,n,s){return{id:t,name:e,input:n,result:null,isError:!1,timestamp:s}}function Te(t,e,n){if(!Array.isArray(t))return[];const s=[];for(const o of t){if(!O(o))continue;const i=A(o.toolCallId),l=A(o.name);if(!i||!l||n(i))continue;const f=tt(l);s.push(et(i,f,dt(f,o.arguments),e))}return s}function Ce(t,e,n,s){t.name=e,t.input=dt(e,n),t.timestamp=s||t.timestamp}function xe(t,e,n){t.result=ls(e);const s=ns(e,n);s.length>0&&(t.resultImages=s),t.isError=e.success===!1||e.error!==void 0&&e.error!==null}function Ie(t,e,n,s,o,i){return{id:t,userMessage:n,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:e,durationMs:null,tokenUsage:null,model:s,...o?{effort:o}:{},...i?{isFragment:!0}:{}}}function cs(t){return t.userMessage!==null||t.assistantText.length>0||t.thinking.length>0||t.toolCalls.length>0||t.subAgentActivity.length>0}function Ae(t,e){const n=Qn(t),s=_e(n),o=Yn(n),i=[],l=new Map,f=new Map,h=new Map,b=new WeakMap,T=new WeakMap;let _=null,k=null,p,N=!1,E=!1,M=null;function v(S,r){r&&b.set(S,r)}function R(S){return _||(_=Ie(he(S),Y(S),null,k,p,!0)),_}function U(){_&&(cs(_)&&i.push(_),_=null)}function j(S){var C;const r=typeof S.agentId=="string"?S.agentId:"";if(!r)return null;const c=f.get(r);if(c)return c.message;const m=S.data,d=A(m.toolCallId),a=d?((C=l.get(d))==null?void 0:C.turn)??_:_;if(!a)return null;const y=A(m.executionMode),u={agentId:r,...d?{parentToolUseId:d}:{},agentName:A(m.agentDisplayName,m.agentName)||null,subagentType:A(m.agentType,m.agentName)||null,type:"assistant",content:null,toolCalls:[],thinking:[],text:[],timestamp:Y(S),tokenUsage:null,model:A(m.model)||null,isBackground:y==="background",...A(m.description)?{prompt:A(m.description)}:{},status:"running"};return a.subAgentActivity.push(u),a.contentBlocks.push({kind:u.isBackground?"background_agent":"sub_agent",messages:[u],timestamp:u.timestamp}),f.set(r,{message:u,turn:a}),u}function L(S){if(fe(S))return!1;const r=j(S);if(!r)return!0;const{data:c}=S,m=Y(S);if(S.type==="subagent.started"||S.type==="subagent.configured")return r.parentToolUseId||(r.parentToolUseId=A(c.toolCallId)||void 0),r.agentName=A(c.agentDisplayName,c.agentName)||r.agentName,r.subagentType=A(c.agentType,c.agentName)||r.subagentType,r.model=A(c.model)||r.model,r.prompt||(r.prompt=A(c.description)||void 0),r.isBackground||(r.isBackground=A(c.executionMode)==="background"),r.status="running",!0;if(S.type==="subagent.completed"||S.type==="subagent.failed"){r.agentName=A(c.agentDisplayName,c.agentName)||r.agentName,r.subagentType=A(c.agentType,c.agentName)||r.subagentType,r.model=A(c.model)||r.model,r.durationMs=q(c.durationMs)||r.durationMs,r.toolUseCount=q(c.totalToolCalls)||r.toolUseCount,r.status=S.type==="subagent.completed"?"completed":"failed";const d=A(c.error,c.message);return d&&!r.text.includes(d)&&r.text.push(d),!0}if(S.type==="user.message")return r.prompt||(r.prompt=A(c.content)||void 0),!0;if(S.type==="assistant.reasoning"){const d=A(c.content);return d&&!r.thinking.includes(d)&&r.thinking.push(d),!0}if(S.type==="assistant.message"){r.model=A(c.model)||r.model;const d=A(c.reasoningText);d&&!r.thinking.includes(d)&&r.thinking.push(d);const a=ye(c.content);a&&!r.text.includes(a)&&r.text.push(a);for(const y of Te(c.toolRequests,m,u=>h.has(u)))r.toolCalls.push(y),h.set(y.id,{call:y,message:r});return!0}if(S.type==="assistant.usage"){r.model=A(c.model)||r.model;const d=It(c);return d&&(r.tokenUsage=ut(r.tokenUsage,d)),!0}if(S.type==="tool.execution_start"){const d=A(c.toolCallId)||z(S,"copilot-agent-tool"),a=A(c.toolName)||"Tool",y=tt(a),u=h.get(d);if(u)Ce(u.call,y,c.arguments,m);else{const C=et(d,y,dt(y,c.arguments),m);r.toolCalls.push(C),h.set(d,{call:C,message:r})}return!0}if(S.type==="tool.execution_complete"){const d=A(c.toolCallId)||z(S,"copilot-agent-tool");let a=h.get(d);if(!a){const y=A(c.toolName)||"Tool",u=tt(y),C=et(d,u,{},m);r.toolCalls.push(C),a={call:C,message:r}}return xe(a.call,c,o),h.delete(d),!0}return!0}for(const S of n){if(L(S))continue;const{data:r}=S,c=Y(S);if(S.type==="session.start"||S.type==="session.resume"){k=A(r.selectedModel)||k,p=A(r.reasoningEffort)||p;continue}if(S.type==="session.auto_mode_resolved"){k=A(r.chosenModel)||k,_&&(_.model=k);continue}if(S.type==="session.model_change"){k=A(r.newModel)||k;const m=r.reasoningEffort;typeof m=="string"&&(p=m),_&&(_.model=k,p&&(_.effort=p));continue}if(S.type==="session.shutdown"){k=A(r.currentModel)||k,_&&!_.model&&(_.model=k),M=ss(r)??M;const m=q(r.totalApiDurationMs);_&&!E&&m&&T.set(_,m);continue}if(S.type==="user.message"){U(),_=Ie(he(S),c,es(r,o),k,p,!1),v(_,c);continue}if(S.type==="assistant.turn_start"){k=A(r.model)||k;const m=R(S);m.model=k,p&&(m.effort=p),v(m,c);continue}if(S.type==="assistant.reasoning"){const m=R(S);be(m,A(r.content),c,A(r.reasoningId)||z(S,"copilot-thinking")),v(m,c);continue}if(S.type==="assistant.message"){k=A(r.model)||k;const m=R(S);m.model=k,p&&(m.effort=p),be(m,A(r.reasoningText),c,z(S,"copilot-thinking")),Qt(m,ye(r.content),c);for(const d of Te(r.toolRequests,c,a=>l.has(a)))pt(m,d,c),l.set(d.id,{call:d,turn:m});v(m,c);continue}if(S.type==="assistant.usage"){k=A(r.model)||k,p=A(r.reasoningEffort)||p;const m=It(r),d=q(r.duration);m&&(N=!0),d&&(E=!0);const a=R(S);a.model=k,p&&(a.effort=p),m&&(a.tokenUsage=ut(a.tokenUsage,m)),d&&T.set(a,(T.get(a)??0)+d),v(a,c);continue}if(S.type==="tool.execution_start"){k=A(r.model)||k;const m=R(S);m.model=k;const d=A(r.toolCallId)||z(S,"copilot-tool"),a=A(r.toolName)||"Tool",y=tt(a),u=l.get(d);if(u)Ce(u.call,y,r.arguments,c);else{const C=et(d,y,dt(y,r.arguments),c);pt(m,C,c),l.set(d,{call:C,turn:m})}v(m,c);continue}if(S.type==="tool.execution_complete"){k=A(r.model)||k;const m=A(r.toolCallId)||z(S,"copilot-tool");let d=l.get(m);if(!d){const a=R(S),y=A(r.toolName)||"Tool",u=tt(y),C=et(m,u,{},c);pt(a,C,c),d={call:C,turn:a}}xe(d.call,r,o),l.delete(m),v(d.turn,c);continue}if(S.type==="session.error"){const m=R(S),a={errorType:A(r.errorType)||"unknown"};typeof r.statusCode=="number"&&(a.statusCode=r.statusCode),typeof r.errorCode=="string"&&(a.errorCode=r.errorCode),pt(m,{id:z(S,"copilot-error"),name:"Error",input:a,result:A(r.message)||"Copilot session error",isError:!0,timestamp:c},c),v(m,c);continue}(S.type==="assistant.turn_end"||S.type==="assistant.idle"||S.type==="session.idle")&&_&&v(_,c)}if(U(),!N&&M&&i.length===1&&(i[0].tokenUsage=ut(i[0].tokenUsage,M)),s.model)for(const S of i)S.model||(S.model=s.model);for(const S of i){const r=b.get(S),c=Date.parse(S.timestamp),m=r?Date.parse(r):Number.NaN;if(Number.isFinite(c)&&Number.isFinite(m)&&m>=c)S.durationMs=m-c;else{const d=T.get(S)??0;d&&(S.durationMs=d)}}const D=e!=null&&e.skipStats?ot(i.length):it(i);return!(e!=null&&e.skipStats)&&!N&&M&&i.length>1&&(D.totalInputTokens=M.input_tokens,D.totalOutputTokens=M.output_tokens,D.totalCacheCreationTokens=M.cache_creation_input_tokens??0,D.totalCacheReadTokens=M.cache_read_input_tokens??0),{sessionId:s.sessionId,version:s.version,gitBranch:s.gitBranch,cwd:s.cwd,slug:s.slug,name:s.name,model:s.model,turns:i,stats:D,rawMessages:e!=null&&e.skipStats?[]:n,agentKind:"copilot"}}function us(t,e){const n=t.rawMessages.map(s=>JSON.stringify(s)).join(`
28
+ `);return Ae(n?`${n}
29
+ ${e}`:e)}function ds(t){return typeof t=="string"&&(t==="abort"||t==="binary_asset"||t==="user.message"||t.startsWith("assistant.")||t.startsWith("permission.")||t.startsWith("session.")||t.startsWith("subagent.")||t.startsWith("tool.")||t.startsWith("user_input."))}function ps(t){const e=new Map;for(const o of t){const i=typeof o.agentId=="string"?o.agentId:"";if(!i&&(o.type==="abort"||o.type==="session.shutdown"||o.type==="session.error")){e.clear();continue}if(!i||!o.type.startsWith("subagent."))continue;const l=O(o.data)?o.data:{};if(o.type==="subagent.completed"||o.type==="subagent.failed"){e.delete(i);continue}if(o.type==="subagent.started"||o.type==="subagent.configured"){const f=[l.agentDisplayName,l.description,l.agentName].find(h=>typeof h=="string")??"";e.set(i,f||e.get(i)||"")}}if(e.size>0){const o=[...e.values()];return{status:"awaiting_agents",pendingQueue:0,pendingAgents:o.length,pendingAgentDescriptions:o.filter(i=>i.length>0)}}let n=!1;const s=new Set;for(let o=t.length-1;o>=0;o--){const i=t[o];if(typeof i.agentId=="string"&&i.agentId)continue;const l=O(i.data)?i.data:{};switch(i.type){case"abort":case"session.shutdown":return{status:"completed"};case"assistant.turn_end":{for(let f=o-1;f>=0;f--){const h=t[f];if(typeof h.agentId=="string"&&h.agentId)continue;if(h.type==="user.message")break;if(h.type==="abort")return{status:"completed"};if(h.type!=="assistant.message")continue;const b=O(h.data)?h.data:{};return Array.isArray(b.toolRequests)&&b.toolRequests.length>0?{status:"processing"}:{status:"completed"}}return{status:"processing"}}case"session.error":return{status:"completed",terminalReason:typeof l.message=="string"?l.message:"Copilot session error"};case"assistant.idle":case"session.idle":return{status:n?"completed":"idle"};case"permission.completed":{const f=typeof l.requestId=="string"?l.requestId:"";f&&s.add(f);continue}case"permission.requested":{const f=typeof l.requestId=="string"?l.requestId:"";if(f&&s.has(f))continue;return{status:"deferred"}}case"user_input.requested":return{status:"tool_use",toolName:"AskUserQuestion"};case"tool.execution_start":return s.size>0?{status:"thinking"}:{status:"tool_use",toolName:typeof l.toolName=="string"?V(l.toolName):typeof l.name=="string"?V(l.name):void 0};case"tool.execution_complete":return{status:"thinking"};case"assistant.turn_start":return{status:"processing"};case"assistant.message":case"assistant.message_delta":case"assistant.reasoning":case"assistant.reasoning_delta":return{status:"thinking"};case"user.message":return n=!0,{status:"processing"};case"session.start":case"session.resume":return{status:n?"processing":"idle"}}}return{status:"idle"}}function fs(){throw new Error("Copilot sessions branch through the CLI's fork API, not by copying the transcript")}function ms(t){const e=[];for(let n=0;n<t.length;n++){const s=t[n];if(s.type!=="user.message"||typeof s.agentId=="string")continue;const o=s.data;!o||typeof o!="object"||Array.isArray(o)||typeof s.id!="string"||!s.id||e.push(n)}return e}const Se=ft[ft.length-1],gs={kind:"codex",descriptor:gt("codex"),detectsText:Dn,detectsRecords:On,parse:pe,append:Ln,metadataFromLines:jn,status:Jn,brandBranch:Vn,turnBoundaries:Kn},hs={kind:"copilot",descriptor:gt("copilot"),detectsText:Hn,detectsRecords:Xn,parse:Ae,append:us,metadataFromLines:Zn,status:ps,brandBranch:fs,turnBoundaries:ms},_s={kind:"claude",descriptor:gt("claude"),detectsText:zt,detectsRecords:zt,parse:sn,append:on,metadataFromLines:nn,status:dn,brandBranch:pn,turnBoundaries:fn},ys=Object.freeze({claude:_s,codex:gs,copilot:hs});function ks(t){function e(n){for(const s of ft){const o=t[s];if(n(o))return o}return t[Se]}return{formatFor:n=>t[n],formatForText:n=>e(s=>s.detectsText(n)),formatForRecords:n=>e(s=>s.detectsRecords(n))}}const we=ks(ys);function Me(t){return we.formatForText(t)}function bs(t){return we.formatForRecords(t)}function Ts(t,e){return Me(t).parse(t,e)}function Cs(t,e){const n=bs(t.rawMessages);return(n.kind===Se?Me(e):n).append(t,e)}self.onmessage=t=>{const e=t.data;try{let n;e.type==="parse"?n=Ts(e.text):n=Cs(e.existing,e.newText),self.postMessage({type:"result",id:e.id,session:n})}catch(n){self.postMessage({type:"error",id:e.id,error:n instanceof Error?n.message:String(n)})}}})();