cogpit 3.3.6 → 3.4.1
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/cli-runtime.js +1204 -633
- package/dist/instance-worker.js +221 -20
- package/dist/web/assets/{CogpitBlock-DTcsvTF0.js → CogpitBlock-B7SKhn5k.js} +1 -1
- package/dist/web/assets/{CommandPaletteHost-DnjXwwFv.js → CommandPaletteHost-Dig9sRnN.js} +1 -1
- package/dist/web/assets/{ConfigBrowser-C6-RV3dj.js → ConfigBrowser-C_4UyHta.js} +1 -1
- package/dist/web/assets/{CrewPanel-CdPeA3WX.js → CrewPanel-CyCZndfq.js} +1 -1
- package/dist/web/assets/{HighlightedEditor-ptPSiZXt.js → HighlightedEditor-YAPOkcjz.js} +1 -1
- package/dist/web/assets/{KeyboardShortcutsDialog-CNsqP3xD.js → KeyboardShortcutsDialog-CjA8MBfY.js} +1 -1
- package/dist/web/assets/{MissionHome-CJ8aY60N.js → MissionHome-CK5zZCld.js} +1 -1
- package/dist/web/assets/{MobileFileChanges-xDTu0VVe.js → MobileFileChanges-DyjwWXMW.js} +1 -1
- package/dist/web/assets/PluginsDialog-BHKZ3Esx.js +1 -0
- package/dist/web/assets/{PreviewPanel-CXZkRGUI.js → PreviewPanel-CXOXFWWK.js} +1 -1
- package/dist/web/assets/{ProjectFilesPanel-DxTA4CcL.js → ProjectFilesPanel-CwBgFc0T.js} +1 -1
- package/dist/web/assets/{ProjectSwitcherModal-DVRB-R0l.js → ProjectSwitcherModal-DB-xcVjM.js} +1 -1
- package/dist/web/assets/{TerminalOutput-D_7Mor6c.js → TerminalOutput-BA4pFb8E.js} +1 -1
- package/dist/web/assets/{ThemeSelectorModal-Bhkx5ikh.js → ThemeSelectorModal-B8nIlHO2.js} +1 -1
- package/dist/web/assets/{WorkflowsPanel-Dexz6c1y.js → WorkflowsPanel-BZhR5Ld-.js} +1 -1
- package/dist/web/assets/{WorktreePanel-DS4svy6H.js → WorktreePanel-DYxBPlno.js} +1 -1
- package/dist/web/assets/{edition-ui-D6tmWJW3.js → edition-ui-CXQDiuhB.js} +1 -1
- package/dist/web/assets/{index-BZiOTcnb.js → index-B1Aq64LJ.js} +1 -1
- package/dist/web/assets/{index-DUyWfgZU.js → index-C0oae6L9.js} +1 -1
- package/dist/web/assets/index-D3WV64DU.js +498 -0
- package/dist/web/assets/index-hGMtuUNI.css +1 -0
- package/dist/web/assets/index-utwOdTFc.js +2 -0
- package/dist/web/assets/session-parser.worker-B1_qLRIm.js +31 -0
- package/dist/web/assets/{switch-Bm0VDZET.js → switch-B1AuQGfo.js} +1 -1
- package/dist/web/assets/{vendor-ui-DKYSMrjf.js → vendor-ui-DkzcTXCS.js} +190 -195
- package/dist/web/index.html +3 -3
- package/package.json +3 -2
- package/dist/web/assets/PluginsDialog-U4WQVeyc.js +0 -1
- package/dist/web/assets/index-BKROBJD1.js +0 -1
- package/dist/web/assets/index-C6tWmbrY.css +0 -1
- package/dist/web/assets/index-COB3e1_W.js +0 -496
- package/dist/web/assets/session-parser.worker-DqoBsPjk.js +0 -30
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
(function(){"use strict";const It=["acp","codex","copilot","claude"];function zt(t,e){if(t==="default")return e;const n=new TextEncoder().encode(e),s=btoa(Array.from(n,o=>String.fromCharCode(o)).join("")).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return`i-${t}__${s}`}function Vt(t){const e=/^i-([A-Za-z0-9-]+)__([A-Za-z0-9_-]+)$/.exec(t);if(!e)return{instanceId:"default",nativeId:t};try{const n=Uint8Array.from(atob(e[2].replace(/-/g,"+").replace(/_/g,"/")),s=>s.charCodeAt(0));return{instanceId:e[1],nativeId:new TextDecoder("utf-8",{fatal:!0}).decode(n)}}catch{throw new Error("Invalid instance session ID")}}function sn(t,e){return e==="default"?t:{...t,instanceId:e,sessionId:zt(e,Vt(t.sessionId).nativeId),...t.branchedFrom?{branchedFrom:{...t.branchedFrom,sessionId:zt(e,Vt(t.branchedFrom.sessionId).nativeId)}}:{}}}const St="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",on=new RegExp(`^${St}$`,"i");function Jt(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 Ht(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 wt(t){return{lossy:!1,owns:e=>typeof e=="string"&&e.startsWith(t),recognizes:e=>{const n=Ht(t,e);return n!==null&&n!==""&&Jt(t,n)===e},encode:e=>Jt(t,e),decode:e=>Ht(t,e)}}function et(t){const e=new RegExp(`(${St})\\.jsonl(?:\\.zst)?$`,"i").exec(t);return e?e[1]:null}function dt(t){return t?{rootSessionId:t.toLowerCase(),isRootTranscript:!0}:null}function Mt(t){const e=t.split("/");return e.every(s=>s!==""&&s!=="."&&s!==".."&&!s.includes("\\"))?e:null}const Et={urlId:t=>t.replace(/\.jsonl$/,""),fileNameFromUrlId:t=>t.endsWith(".jsonl")?t:`${t}.jsonl`};function Kt(t){return`'${t.replace(/'/g,"'\\''")}'`}function nt(t,e){return e?[t,e]:[]}function ft(t,e){var n;return((n=e.exec(t))==null?void 0:n[1])??null}const pt="[0-9a-f-]{36}",Qt="codex__",Gt="copilot__",rn=new Set(["default","plan","acceptEdits","dontAsk","auto"]),an=new Set(["subagents","workflows"]);function ln(t){const e=Mt(t);if(!e)return null;const[n,s]=e;if(e.length===1){const o=n.replace(/\.jsonl$/,"");return o!==n&&Xt(o)?dt(o):null}return e.length>2&&an.has(s)&&Xt(n)?{rootSessionId:n.toLowerCase(),isRootTranscript:!1}:null}const cn={kind:"claude",displayName:"Claude Code",binName:"claude",dirName:{lossy:!0,owns:t=>typeof t=="string"&&!t.startsWith(Qt)&&!t.startsWith(Gt),recognizes:t=>/^(?:(?:-|[A-Za-z]--)[A-Za-z0-9-]*|[A-Za-z]-)$/.test(t),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,"/")}},projectWorktreeDir:".claude/worktrees",sessionFile:{name:t=>`${t}.jsonl`,sessionId:et,...Et,transcriptRoot:ln},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"]:[...rn.has(t.mode)?["--permission-mode",t.mode]:[],...(t.allowedTools??[]).flatMap(e=>["--allowedTools",e]),...(t.disallowedTools??[]).flatMap(e=>["--disallowedTools",e])]:["--permission-mode","default"],model:t=>nt("--model",t),effort:t=>nt("--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,sdkHomeEnvVar:"CLAUDE_CONFIG_DIR",installMarker:"projects",homeIsDiscoverable:!1,process:{by:"command",sessionIdFromCommand:t=>ft(t,new RegExp(`--resume(?:=|\\s+)(${pt})`))??ft(t,new RegExp(`--session-id(?:=|\\s+)(${pt})`))}},config:{rootDirName:".claude",instructions:[{in:"scope",path:"CLAUDE.md",scopes:["global","project"]},{in:"root",path:"CLAUDE.md",label:".claude/CLAUDE.md",scopes:["project"]},{in:"scope",path:"AGENTS.md",scopes:["project"],fallback:!0}],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",pluginManifestDir:".claude-plugin"},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,configurableContextWindow:!1,fastTier:!0,lowPriorityInTerminal:!0,imageInput:!0,midTurnSteering:!0,activeNotifications:!0,stopSession:!0,ultracode:!0,contextWindow:!0,externalProcesses:!1,accountSwitching:!0,modelFallbackNotices:!0,autoPermissionMode:"per-model",toolPermissionRules:!0,settingsApply:"live",turnLiveness:"transcript",tokenStreaming:!0,nativeFork:!1,namedSessions:!0}},Zt={appServerValue:"priority",cliConfigValue:"fast"},un={kind:"codex",displayName:"Codex",binName:"codex",dirName:wt(Qt),projectWorktreeDir:null,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"),a=String(e.getMinutes()).padStart(2,"0"),l=String(e.getSeconds()).padStart(2,"0");return`${n}/${s}/${o}/rollout-${n}-${s}-${o}T${i}-${a}-${l}-${t}.jsonl`},sessionId:et,...Et,transcriptRoot:t=>Mt(t)?dt(et(t)):null},metadataFromHead:!1,resume:{command:(t,e)=>e?`codex -C ${Kt(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"]:e==="auto"?["--approve-for-me"]:["--sandbox",e==="plan"?"read-only":"workspace-write","-c",'approval_policy="never"']},model:t=>nt("-m",t),effort:t=>t?["-c",`model_reasoning_effort=${JSON.stringify(t)}`]:[],fastTier:t=>t?["-c",`service_tier=${JSON.stringify(Zt.cliConfigValue)}`,"--enable","fast_mode"]:[]},serviceTier:Zt,cli:{packageName:"@openai/codex",homebrew:{name:"codex",cask:!1},wingetId:null,versionArgs:["--version"],selfUpdate:null,bundledBySdk:!1,homeDirName:".codex",homeEnvVar:"CODEX_HOME",sessionIdEnvVar:"CODEX_THREAD_ID",installMarker:"",homeIsDiscoverable:!0,process:{by:"command",sessionIdFromCommand:t=>ft(t,new RegExp(`codex(?:\\s+\\S+)*\\s+exec\\s+resume\\s+(${pt})`))}},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,pluginManifestDir:null},contextWindow:{defaultLimit:272e3,limits:[],compactBuffer:0,extendedContext:null},capabilities:{worktrees:!0,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,configurableContextWindow:!0,fastTier:!0,lowPriorityInTerminal:!1,imageInput:!0,midTurnSteering:!0,activeNotifications:!0,stopSession:!1,ultracode:!1,contextWindow:!1,externalProcesses:!1,accountSwitching:!1,modelFallbackNotices:!1,autoPermissionMode:"always",toolPermissionRules:!0,settingsApply:"next-turn",turnLiveness:"runtime",tokenStreaming:!0,nativeFork:!1,namedSessions:!1}};function Nt(t){const e=new RegExp(`^(${St})/events\\.jsonl$`,"i").exec(t);return e?e[1]:null}const st={kind:"copilot",displayName:"GitHub Copilot CLI",binName:"copilot",dirName:wt(Gt),projectWorktreeDir:null,sessionFile:{name:t=>`${t}/events.jsonl`,sessionId:Nt,urlId:t=>Nt(t)??t.replace(/\.jsonl$/,""),fileNameFromUrlId:t=>t.endsWith(".jsonl")?t:`${t}/events.jsonl`,transcriptRoot:t=>dt(Nt(t))},metadataFromHead:!0,resume:{command:(t,e)=>e?`copilot -C ${Kt(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=>nt("--model",t),effort:t=>nt("--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=>ft(t,new RegExp(`--resume(?:=|\\s+)(${pt})`))}},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,pluginManifestDir: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,configurableContextWindow:!1,fastTier:!1,lowPriorityInTerminal:!1,imageInput:!1,midTurnSteering:!0,activeNotifications:!0,stopSession:!0,ultracode:!1,contextWindow:!1,externalProcesses:!0,accountSwitching:!1,modelFallbackNotices:!1,autoPermissionMode:"always",toolPermissionRules:!0,settingsApply:"next-turn",turnLiveness:"runtime",tokenStreaming:!1,nativeFork:!0,namedSessions:!0}},dn={...st,kind:"acp",displayName:"ACP agent",binName:"acp",dirName:wt("acp__"),sessionFile:{name:t=>`${t}.jsonl`,sessionId:et,...Et,transcriptRoot:t=>{const e=Mt(t);return(e==null?void 0:e.length)===1?dt(et(t)):null}},resume:{command:()=>"Resume this session in Cogpit",args:()=>[]},launchArgs:{permissions:()=>[],model:()=>[],effort:()=>[],fastTier:()=>[]},cli:{...st.cli,packageName:"",homebrew:null,wingetId:null,selfUpdate:null,requiresConfiguration:!0,homeDirName:".cogpit-acp",homeEnvVar:"COGPIT_ACP_HOME",homeIsDiscoverable:!0,installMarker:"projects"},config:{...st.config,rootDirName:".cogpit-acp",instructions:[],settings:[],skillsDir:null},capabilities:{...st.capabilities,undo:!1,redo:!1,nativeRewind:!1,nativeFork:!1,midTurnSteering:!1,activeNotifications:!1,externalProcesses:!1,autoPermissionMode:"never",toolPermissionRules:!1,namedSessions:!1}},fn=Object.freeze({claude:cn,codex:un,copilot:st,acp:dn});function mt(t){return fn[t]}function Xt(t){return on.test(t)}const Yt={0:"\0",b:"\b",f:"\f",n:`
|
|
2
|
+
`,r:"\r",t:" ",v:"\v"};function te(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 a=t[o];if(a in Yt){s+=Yt[a],o++;continue}if(a===`
|
|
3
|
+
`){o++;continue}if(a==="\r"){o+=t[o+1]===`
|
|
4
|
+
`?2:1;continue}if(a==="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(a==="u"){const l=t.slice(o+1).match(/^\{([0-9a-fA-F]+)\}/);if(l){const f=Number.parseInt(l[1],16);if(Number.isFinite(f)&&f<=1114111){s+=String.fromCodePoint(f),o+=l[0].length+1;continue}}const d=t.slice(o+1,o+5);if(/^[0-9a-fA-F]{4}$/.test(d)){s+=String.fromCharCode(Number.parseInt(d,16)),o+=5;continue}}s+=a,o++}return null}function vt(t,e=0){if(!t.some(l=>l.endedAt===void 0))return null;const n=[...t].sort((l,d)=>l.launchedAt-d.launchedAt);let s=0,o=-1/0;n.forEach((l,d)=>{o<l.launchedAt&&(s=d),o=Math.max(o,l.endedAt??1/0)});const i=n.slice(s).map(({agent:l,endedAt:d})=>({...l,done:d!==void 0})),a=i.filter(l=>!l.done);return{status:"awaiting_agents",pendingQueue:e,pendingAgents:a.length,pendingAgentDescriptions:a.map(l=>l.description).filter(l=>l.length>0),backgroundAgents:i}}function Rt(t){return t.type==="user"}function Pt(t){return t.type==="assistant"}function ee(t){return t.type==="progress"}function Bt(t){return t.type==="system"}function ne(t){return t.type==="summary"}function pn(t){return t.type==="queue-operation"}function se(t){return t.type==="attachment"}function mn(t){return t.type==="user"&&t.isCompactSummary===!0}function oe(t){return t.type==="system"&&t.subtype==="compact_boundary"}function ie(t,e){let n=0;for(const s of t)e[s.name]=(e[s.name]??0)+1,s.isError&&n++;return n}function re(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 gt(t){return{totalInputTokens:0,totalOutputTokens:0,totalCacheCreationTokens:0,totalCacheReadTokens:0,toolCallCounts:{},errorCount:0,totalDurationMs:0,turnCount:t}}function ht(t){const e=gt(t.length);for(const n of t){n.tokenUsage&&re(e,n.tokenUsage),n.durationMs&&(e.totalDurationMs+=n.durationMs),e.errorCount+=ie(n.toolCalls,e.toolCallCounts);for(const s of n.subAgentActivity)e.errorCount+=ie(s.toolCalls,e.toolCallCounts),s.tokenUsage&&re(e,s.tokenUsage)}return e}function Z(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 gn=/<(agent-message|teammate-message)([^>]*)>([\s\S]*?)<\/\1>/g,hn=[/\bteammate_id=(?:"([^"]*)"|'([^']*)')/,/\bfrom=(?:"([^"]*)"|'([^']*)')/];function yn(t){for(const e of hn){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(gn,(o,i,a,l)=>(n=!0,e===null&&(e=yn(a)),l.trim()));return{sender:e,matched:n,body:n?s.trim():t}}function _t(t){return t&&typeof t=="object"?t:{}}function _n(t,e){const n=_t(e);if(t==="Edit"||t==="Write")return n.staged===!0?{awaitingReview:!0}:{};if(t!=="Bash")return{};const s=_t(n.bashEditDiff);if(!Array.isArray(s.files))return{};const o=[];for(const a of s.files){const l=_t(a);if(typeof l.filePath!="string"||!l.filePath||!Array.isArray(l.hunks))continue;const d=[];for(const f of l.hunks){const y=_t(f),{oldStart:C,oldLines:h,newStart:m,newLines:S,lines:B}=y;[C,h,m,S].every(D=>typeof D=="number"&&Number.isInteger(D)&&D>=0)&&(!Array.isArray(B)||!B.every(D=>typeof D=="string"&&/^[ +\\-]/.test(D))||d.push({oldStart:C,oldLines:h,newStart:m,newLines:S,lines:B}))}d.length&&o.push({filePath:l.filePath,hunks:d})}const i=typeof s.moreFiles=="number"&&Number.isInteger(s.moreFiles)&&s.moreFiles>0?s.moreFiles:0;return{fileDiffs:o,...i?{additionalFileDiffs:i}:{}}}function kt(t){return typeof t=="string"?t:t.filter(e=>e.type==="text").map(e=>e.text).join(`
|
|
5
|
+
`)}function ae(t){return t?typeof t=="string"?t:t.map(e=>e.type==="text"?e.text:"").filter(Boolean).join(`
|
|
6
|
+
`):""}function le(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 kn=/<task-notification>[\s\S]*?<\/task-notification>/g,bn=/<[^>]*>/g;function Tn(t){var n;if(((n=t.origin)==null?void 0:n.kind)==="task-notification")return!0;const e=kt(t.message.content);return e.includes("<task-notification>")?e.replace(kn,"").replace(bn,"").trim()==="":!1}function ce(t){return t==="Task"||t==="Agent"}function ue(t){const e=t.effort;return{name:typeof t.name=="string"?t.name:null,subagentType:typeof t.subagent_type=="string"?t.subagent_type:null,effort:typeof e=="string"||typeof e=="number"?String(e):null}}function Cn(t){if(!se(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:kt(n);if(!le(s))return null;const o=e.origin;if((o==null?void 0:o.kind)==="peer"){const a=o.name??o.from??null;if(a)return{raw:s,sender:a,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 An=[["attributionAgent","agent"],["attributionSkill","skill"],["attributionPlugin","plugin"],["attributionMcpServer","mcpServer"],["attributionMcpTool","mcpTool"]];function xn(t,e){let n=t;for(const[s,o]of An){const i=e[s];typeof i!="string"||!i||(n={...n,[o]:i})}return n}const In=/^This session is being continued from a previous conversation[\s\S]*?\n\nSummary:\s*\n/,Sn=/\n+(?:If you need specific details from before compaction|(?:Please c|C)ontinue the conversation from where it left off)[\s\S]*$/;function wn(t){return kt(t).trim().replace(In,"").replace(Sn,"").trim()}function Mn(t){if(t)return{trigger:t.trigger,preTokens:t.preTokens,postTokens:t.postTokens}}function bt(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 En(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],a=String(i.input.plan??""),l=s.timestamp,d=s.toolCalls.slice(0,o);d.length>0&&e.push({kind:"tool_calls",toolCalls:d,timestamp:s.timestamp});const f=[],y=s.toolCalls.slice(o+1),C=y.findIndex(h=>h.name==="ExitPlanMode");if(C!==-1){f.push(...y.slice(0,C));const h=y[C],m=h.input.path?String(h.input.path):void 0;let S="pending";h.result!==null&&(S=h.isError?"rejected":"approved"),e.push({kind:"plan_mode",plan:a,planFilePath:m,status:S,toolCalls:f,timestamp:l});const B=y.slice(C+1);B.length>0&&e.push({kind:"tool_calls",toolCalls:B,timestamp:s.timestamp}),n++;continue}else{f.push(...y);let h,m,S="pending",B=n+1;const D=[];for(;B<t.length;){const _=t[B];if(_.kind==="tool_calls"){const v=_.toolCalls.findIndex(U=>U.name==="ExitPlanMode");if(v!==-1){f.push(..._.toolCalls.slice(0,v)),h=_.toolCalls[v],m=h.input.path?String(h.input.path):void 0,h.result!==null&&(S=h.isError?"rejected":"approved");const U=_.toolCalls.slice(v+1);e.push({kind:"plan_mode",plan:a,planFilePath:m,status:S,toolCalls:f,timestamp:l}),e.push(...D),U.length>0&&e.push({kind:"tool_calls",toolCalls:U,timestamp:_.timestamp}),n=B+1;break}else f.push(..._.toolCalls),B++}else if(_.kind==="hook_event"||_.kind==="text"||_.kind==="queued_prompt"||_.kind==="agent_message")D.push(_),B++;else break}h||(e.push({kind:"plan_mode",plan:a,planFilePath:void 0,status:"pending",toolCalls:f,timestamp:l}),e.push(...D),n=B);continue}}}e.push(s),n++}return e}function Nn(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 de(t){var s;const e=t.map(Nn),n=new Map;for(const o of e)for(const i of o.contentBlocks){if(i.kind==="agent_message"){const a=n.get(i.sender);a?a.push(i):n.set(i.sender,[i]);continue}if(i.kind==="tool_calls")for(const a of i.toolCalls){if(a.name!=="SendMessage")continue;const l=a.input.to;if(typeof l!="string"||!l)continue;const d=(s=n.get(l))==null?void 0:s.shift();if(!d)continue;const f=a.input.summary;d.reply={summary:typeof f=="string"?f:"",timestamp:a.timestamp||i.timestamp||""}}}return e}function vn(t){const e=[];let n=!1;for(let s=0;s<t.length;s++){const o=t[s];if(ne(o)||oe(o)){n=!1;continue}if(Rt(o)&&!o.isMeta){const i=o.message.content;if(n&&Array.isArray(i)&&i.some(l=>l.type==="tool_result"))continue;e.push(s),n=!0;continue}Pt(o)&&!n&&(e.push(s),n=!0)}return e}function fe(t){var q,T;const e=[],n=[];let s=null,o=0,i=null,a=null;function l(r){a&&(r.compactionSummary=a.summary,r.compactionMeta=a.meta,a=null)}let d=null;const f=new Map,y=new Set,C=new Map,h=new Map,m=new Set,S=new Map,B=[],D=new Map;function _(r,c){let k=D.get(r);k||(k=new Map,D.set(r,k)),k.set(c,(k.get(c)??0)+1)}function v(r,c){const k=D.get(r),g=k==null?void 0:k.get(c);return!k||!g?!1:(g===1?k.delete(c):k.set(c,g-1),!0)}function U(){for(const r of B)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});B.length=0}function z(r){if(!i)return;const c=C.get(r);if(!c||c.length===0)return;i.subAgentActivity.push(...c),C.delete(r);const k=m.has(r)?"background_agent":"sub_agent",g=h.get(r);if(g)g.messages.push(...c);else{const M={kind:k,messages:[...c]};i.contentBlocks.push(M),h.set(r,M)}}function L(){if(i){for(const r of i.toolCalls)z(r.id);for(const[r]of C)z(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 g=i.toolCalls.find(M=>M.id===c.toolUseId);g&&(c.updatedToolOutput&&(g.outputReplacedByHook=!0),c.durationMs!==void 0&&(g.hookDurationMs=(g.hookDurationMs??0)+c.durationMs))}i.contentBlocks=En(i.contentBlocks),e.push(i),s!==null&&n.push(s),s=null,i=null,h.clear()}}for(o=0;o<t.length;o++){const r=t[o];if(ne(r)){L(),a={summary:r.summary};continue}if(oe(r)){L(),a={meta:Mn(r.compactMetadata)};continue}if(mn(r)){L(),s=o,i=bt(r,null),i.compactionSummary=wn(r.message.content),i.compactionMeta=a==null?void 0:a.meta,a=null;continue}if(Bt(r)&&r.subtype==="away_summary"&&r.content){d={content:r.content,timestamp:r.timestamp};continue}if(Bt(r)&&r.subtype==="local_command"&&r.content){i==null||i.contentBlocks.push({kind:"local_command",content:r.content,timestamp:r.timestamp,...r.contextUsage?{contextUsage:r.contextUsage}:{},...r.usageReport?{usageReport:r.usageReport}:{}});continue}if(pn(r)){if(i&&r.operation==="enqueue"&&le(r.content)){const c=yt(r.content);B.push({turn:i,content:r.content,timestamp:r.timestamp,sender:c.sender,body:c.body}),_(i,r.content)}continue}if(se(r)){const c=Cn(r);i&&c!==null&&!v(i,c.raw)&&B.push({turn:i,content:c.raw,timestamp:((q=r.attachment)==null?void 0:q.timestamp)??r.timestamp,sender:c.sender,body:c.body});continue}if(B.length>0){const c=Rt(r)&&!r.isMeta?r.message.content:null;if(typeof c=="string"){const k=B.findIndex(g=>g.content===c);if(k>=0){const[g]=B.splice(k,1);v(g.turn,g.content)}}U()}if(Rt(r)&&!r.isMeta){const c=r.message.content;if(typeof c!="string"&&Array.isArray(c)&&c.some(g=>g.type==="tool_result")&&i){for(const M of c)if(M.type==="tool_result"){const E=f.get(M.tool_use_id);if(E){E.turn.toolCalls[E.index].result=ae(M.content),E.turn.toolCalls[E.index].isError=M.is_error===!0;const I=E.turn.toolCalls[E.index];Object.assign(I,_n(I.name,r.toolUseResult)),f.delete(M.tool_use_id)}}const g=r.toolUseResult;if(g!=null&&g.agentId){const M=((T=c.find(p=>p.type==="tool_result"))==null?void 0:T.tool_use_id)??"",E=S.get(M),I=m.has(M),u=[];if(Array.isArray(g.content))for(const p of g.content)p.type==="text"&&u.push(p.text);const x={agentId:g.agentId,parentToolUseId:M||void 0,agentName:(E==null?void 0:E.name)??null,subagentType:(E==null?void 0:E.subagentType)??null,...E!=null&&E.effort?{effort:E.effort}:{},type:"assistant",content:g.content,toolCalls:[],thinking:[],text:u,timestamp:r.timestamp??"",tokenUsage:g.usage?{input_tokens:g.usage.input_tokens??0,output_tokens:g.usage.output_tokens??0,cache_creation_input_tokens:g.usage.cache_creation_input_tokens??0,cache_read_input_tokens:g.usage.cache_read_input_tokens??0}:null,model:null,isBackground:I,prompt:g.prompt,status:g.status,durationMs:g.totalDurationMs,toolUseCount:g.totalToolUseCount};if(!h.get(M)){i.subAgentActivity.push(x);const b={kind:I?"background_agent":"sub_agent",messages:[x]};i.contentBlocks.push(b),h.set(M,b)}}continue}if(Tn(r)){const k={kind:"task_notification",content:kt(c),timestamp:r.timestamp};if(i){i.contentBlocks.push(k);continue}s=o,i=bt(r,null),i.contentBlocks.push(k),l(i);continue}L(),s=o,i=bt(r,r.message.content),l(i),d&&(i.contentBlocks.push({kind:"recap",content:d.content,timestamp:d.timestamp}),d=null);continue}if(Pt(r)){let c=function(){I.length>0&&(u.contentBlocks.push({kind:"tool_calls",toolCalls:[...I],timestamp:M}),I.length=0)},k=function(){if(E.length>0){const x=u.contentBlocks[u.contentBlocks.length-1];x&&x.kind==="thinking"?x.blocks.push(...E):u.contentBlocks.push({kind:"thinking",blocks:[...E],timestamp:M}),E.length=0}};i||(s=o,i=bt(r,null),l(i)),i.model=r.message.model,r.effort&&(i.effort=r.effort),i.attribution=xn(i.attribution,r);const g=r.message.id;y.has(g)||(y.add(g),i.tokenUsage=Z(i.tokenUsage,r.message.usage));const M=r.timestamp??"",E=[],I=[],u=i;for(const x of r.message.content)if(x.type==="thinking"){c();const R=x;if(!R.thinking)continue;i.thinking.push(R),E.push(R)}else if(x.type==="text"){c(),k();const R=/<thinking>([\s\S]*?)<\/thinking>/g;let p=x.text,b;for(;(b=R.exec(x.text))!==null;){const w=b[1].trim();if(w){const P={type:"thinking",thinking:w,signature:""};i.thinking.push(P),i.contentBlocks.push({kind:"thinking",blocks:[P],timestamp:M})}p=p.replace(b[0],"")}if(p=p.trim(),p){i.assistantText.push(p);const w=i.contentBlocks[i.contentBlocks.length-1];w&&w.kind==="text"?w.text.push(p):i.contentBlocks.push({kind:"text",text:[p],timestamp:M})}}else if(x.type==="tool_use"){k();const R={id:x.id,name:x.name,input:x.input,result:null,isError:!1,timestamp:r.timestamp??""},p=i.toolCalls.length;if(i.toolCalls.push(R),I.push(R),f.set(x.id,{turn:i,index:p}),ce(x.name)){const b=x.input;b.run_in_background===!0&&m.add(x.id),S.set(x.id,ue(b))}}k(),c();continue}if(ee(r)&&r.data.type==="agent_progress"){const c=r.data,k=r.parentToolUseID??"",g=c.toolUseId??k;let M=null;if(c.message.type==="assistant"){const R=c.message.message,p=R.id,b=R.usage;b&&p&&!y.has(p)&&(y.add(p),M={input_tokens:b.input_tokens??0,output_tokens:b.output_tokens??0,cache_creation_input_tokens:b.cache_creation_input_tokens??0,cache_read_input_tokens:b.cache_read_input_tokens??0})}const E=c.message.type==="assistant"?c.message.message.model??null:null,I=S.get(g),u={agentId:c.agentId,parentToolUseId:g||void 0,...c.parentAgentId?{parentAgentId:c.parentAgentId}:{},...I!=null&&I.effort?{effort:I.effort}:{},agentName:(I==null?void 0:I.name)??null,subagentType:(I==null?void 0:I.subagentType)??c.subagentType??null,type:c.message.type,content:c.message.message.content,toolCalls:[],thinking:[],text:[],timestamp:c.message.timestamp??r.timestamp??"",tokenUsage:M,model:E,isBackground:m.has(k)};if(c.message.type==="assistant"){const R=c.message.message.content;if(Array.isArray(R))for(const p of R)p.type==="thinking"?u.thinking.push(p.thinking):p.type==="text"?u.text.push(p.text):p.type==="tool_use"&&(ce(p.name)&&S.set(p.id,ue(p.input)),u.toolCalls.push({id:p.id,name:p.name,input:p.input,result:null,isError:!1,timestamp:c.message.timestamp??r.timestamp??""}))}else if(c.message.type==="user"){const R=c.message.message.content;if(Array.isArray(R)){for(const p of R)if(p.type==="tool_result"){const b=C.get(k);if(b)for(const w of b){const P=w.toolCalls.find(N=>N.id===p.tool_use_id);P&&(P.result=ae(p.content),P.isError=p.is_error===!0)}}}}let x=C.get(k);x||(x=[],C.set(k,x)),x.push(u),i&&z(k);continue}if(ee(r)&&r.data.type==="hook_progress"){const c=r.data,k=String(c.hook_event_name??c.hookEvent??"unknown"),g=c.hookSpecificOutput,M={eventName:k,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:(g==null?void 0:g.updatedToolOutput)!==void 0?String(g.updatedToolOutput):void 0,sessionTitle:(g==null?void 0:g.sessionTitle)!==void 0?String(g.sessionTitle):void 0,worktreePath:(g==null?void 0:g.worktreePath)!==void 0?String(g.worktreePath):void 0,timestamp:r.timestamp??""};if(i){const E=i.contentBlocks[i.contentBlocks.length-1];E&&E.kind==="hook_event"?E.events.push(M):i.contentBlocks.push({kind:"hook_event",events:[M],timestamp:r.timestamp})}continue}if(Bt(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:de(e),turnStartIndices:n}}function pe(t){return fe(t).turns}function me(){return!0}const ge='"type":"api-request',Rn=256;function he(t){if(t.startsWith(`{${ge}`))return!0;const e=t.slice(0,Rn),n=e.indexOf(ge);return n>0&&e.lastIndexOf("{",n)===0}function ye(t){const e=[];for(const n of t){const s=n.trim();if(!(!s||he(s)))try{e.push(JSON.parse(s))}catch{}}return e}function _e(t){return ye(t.split(`
|
|
7
|
+
`))}function ke(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),Pt(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 Pn(t){return ke(ye(t))}function be(t,e){const n=_e(t),s=ke(n),o=pe(n),i=e!=null&&e.skipStats?gt(o.length):ht(o);return{...s,turns:o,stats:i,rawMessages:e!=null&&e.skipStats?[]:n,agentKind:"claude"}}function Te(t,e){const n=_e(e);if(n.length===0)return t;const s=t.rawMessages,o=[...s,...n],i=vn(s),a=Math.max(0,t.turns.length-i.length);let l=Math.max(0,i.length-1);const d=new Set;for(const S of n)if(S.type==="progress"){const B=S.parentToolUseID;B&&d.add(B)}if(d.size>0)for(let S=l-1;S>=0;S--){const B=t.turns[a+S];if(B!=null&&B.toolCalls.some(D=>d.has(D.id))){l=S;break}}const f=i[l]??s.length,y=t.turns.slice(0,a+l),C=pe(o.slice(f)),h=de([...y,...C]),m=ht(h);return{sessionId:t.sessionId,version:t.version,gitBranch:t.gitBranch,cwd:t.cwd,slug:t.slug,name:t.name,model:t.model||h.length>0&&h[h.length-1].model||"",turns:h,stats:m,rawMessages:o,branchedFrom:t.branchedFrom,agentKind:t.agentKind}}const Ce="<task-notification>",Bn=/<task-id>([^<]+)<\/task-id>/g,Dn=/<tool-use-id>([^<]+)<\/tool-use-id>/g;function J(t){return typeof t=="object"&&t!==null}function Un(t){const e=J(t.message)?t.message:null,n=e==null?void 0:e.content;return typeof n=="string"?[n]:Array.isArray(n)?n.filter(s=>J(s)&&typeof s.text=="string").map(s=>s.text):[]}function Fn(t){const e=[],n=new Map,s=new Set,o=new Set;function i(l,d){n.has(l)||n.set(l,d)}function a(l,d,f){if(l.includes(Ce)){for(const y of l.matchAll(Bn))i(y[1],d),f==null||f.add(y[1]);for(const y of l.matchAll(Dn))i(y[1],d),f==null||f.add(y[1])}}for(const[l,d]of t.entries()){if(d.type==="user"){const f=J(d.toolUseResult)?d.toolUseResult:null;if((f==null?void 0:f.status)==="async_launched"){const y=J(d.message)?d.message:null,h=(Array.isArray(y==null?void 0:y.content)?y.content:[]).filter(_=>J(_)&&_.type==="tool_result").map(_=>_.tool_use_id),m=[f.agentId,f.taskId,...h].filter(_=>typeof _=="string"&&_.length>0),S=[f.description,f.workflowName,f.summary].find(_=>typeof _=="string"&&_.length>0)??"",B=h.find(_=>typeof _=="string"&&_.length>0),D=typeof d.timestamp=="string"?d.timestamp:void 0;m.length>0&&e.push({ids:m,launch:{agent:{description:S,startedAt:D,toolUseId:B},launchedAt:l}})}for(const y of Un(d))a(y,l,o);continue}if(d.type==="assistant"){const f=J(d.message)?d.message:null,y=Array.isArray(f==null?void 0:f.content)?f.content:[];for(const C of y){if(!J(C)||C.type!=="tool_use"||C.name!=="TaskStop")continue;const h=J(C.input)?C.input:null,m=(h==null?void 0:h.task_id)??(h==null?void 0:h.shell_id);typeof m=="string"&&i(m,l)}continue}if(d.type==="attachment"){const f=J(d.attachment)?d.attachment:null;typeof(f==null?void 0:f.prompt)=="string"&&a(f.prompt,l,o);continue}if(d.type==="queue-operation"&&typeof d.content=="string"){const f=d.operation;a(d.content,l,f==="enqueue"?s:o)}}return{launches:e.map(({ids:l,launch:d})=>{const f=l.flatMap(y=>n.get(y)??[]);return f.length>0?{...d,endedAt:Math.min(...f)}:d}),undeliveredNotifications:[...s].filter(l=>!o.has(l)).length}}function $n(t){var a,l;let e=0,n=null,s=!1;function o(d,f){const y={status:d,pendingQueue:Math.max(0,e)};return f&&(y.toolName=f),y}function i(){return n??(n=Fn(t))}for(let d=t.length-1;d>=0;d--){const f=t[d];if(f.type!=="queue-operation"){if(f.type==="progress"){const y=f.data;if((y==null?void 0:y.type)==="hook_progress"&&(y.decision??((a=y.hookSpecificOutput)==null?void 0:a.permissionDecision))==="defer")return o("deferred");break}break}}for(let d=t.length-1;d>=0;d--){const f=t[d];if(f.type==="queue-operation"){if(typeof f.content=="string"&&f.content.includes(Ce))continue;const y=f.operation;y==="enqueue"?e++:(y==="dequeue"||y==="remove")&&e--;continue}if(f.type==="attachment"){const y=J(f.attachment)?f.attachment:null;(y==null?void 0:y.commandMode)==="task-notification"&&(s=!0);continue}if(f.type==="assistant"){const y=f.message,C=y==null?void 0:y.stop_reason;if(C==="end_turn"){const h=i();if(s||h.undeliveredNotifications>0)return o("processing");const m=vt(h.launches,Math.max(0,e));if(m)return m;let S=!1;for(let B=d-1;B>=0;B--){const D=t[B];if(D.type==="user"&&!D.isMeta){S=!0;break}}return o(S?"completed":"idle")}if(C==="tool_use"){const h=y==null?void 0:y.content,m=(l=h==null?void 0:h.findLast)==null?void 0:l.call(h,S=>S.type==="tool_use");return o("tool_use",m==null?void 0:m.name)}return o("thinking")}if(f.type==="user"){if(f.isMeta)continue;return o("processing")}if(f.type==="system"&&f.subtype==="terminal_reason"){const y=f.reason;if(y)return{status:"completed",terminalReason:y,pendingQueue:Math.max(0,e)};continue}f.type!=="summary"&&f.type==="system"&&f.subtype}return{status:"idle"}}function On(t,e,n){const s=typeof t.sessionId=="string"?t.sessionId:"";return{record:{...t,sessionId:e,branchedFrom:{sessionId:s,turnIndex:n}},originalId:s}}function jn(t){return fe(t).turnStartIndices}function Dt(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 Ln=/^Crew chat · ([^\n]+) · message (\d+)(?:\n|$)/,Wn=/^Delegated task \S+ (?:running|completed|error|cancelled|needs attention)\. Child session: /;function qn(t){const e=t.trim();return!e||Ln.test(e)||Wn.test(e)?!1:yt(e).sender===null}function zn(t){return t===null?"":typeof t=="string"?t:t.flatMap(e=>e.type==="text"?[e.text]:[]).join(`
|
|
8
|
+
`)}function Vn(t){const e=new Map;let n=[];const s=l=>{if(!(n.length===0||!qn(l))){for(const d of n)e.set(d,l.trim());n=[]}};for(const l of t){s(zn(l.userMessage));for(const d of l.contentBlocks)if(d.kind==="queued_prompt")s(d.content);else if(d.kind==="tool_calls")for(const f of d.toolCalls)f.asyncQuestion&&n.push(f.id)}const o=l=>l.asyncQuestion===!0&&l.asyncAnswer!==e.get(l.id),i=new Map,a=l=>{if(!o(l))return l;let d=i.get(l);if(!d){const{asyncAnswer:f,...y}=l,C=e.get(l.id);d=C===void 0?y:{...y,asyncAnswer:C},i.set(l,d)}return d};return t.map(l=>l.toolCalls.some(o)?{...l,toolCalls:l.toolCalls.map(a),contentBlocks:l.contentBlocks.map(d=>d.kind==="tool_calls"?{...d,toolCalls:d.toolCalls.map(a)}:d)}:l)}function Ae(t){return t.includes("*** Begin Patch")&&t.includes("*** End Patch")}function Jn(t){if(!t.includes("apply_patch")||!t.includes("*** Begin Patch"))return[];const e=new Map;for(let a=0;a<t.length;a++){const l=te(t,a);if(l){if(Ae(l.value)){const d=t.slice(0,a).match(/(?:^|[;\n])\s*(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*$/);d&&e.set(d[1],l.value)}a=l.endIndex-1}}const n=[],s=new Set,o=/\btools\s*\.\s*apply_patch\s*\(/g;let i;for(;(i=o.exec(t))!==null;){let a=i.index+i[0].length;for(;/\s/.test(t[a]??"");)a++;const l=te(t,a),d=l?null:t.slice(a).match(/^([A-Za-z_$][\w$]*)/),f=(l==null?void 0:l.value)??(d?e.get(d[1]):void 0);!f||!Ae(f)||s.has(f)||(s.add(f),n.push(f))}return n}function xe(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 Ie(t,e,n,s=""){var d,f;const o=[],i=/^\*\*\*\s+(Update File|Add File|Delete File):\s*(.+)$/gm,a=[];let l;for(;(l=i.exec(t))!==null;)a.push({action:l[1],filePath:l[2].trim(),headerIdx:l.index,startIdx:l.index+l[0].length});for(let y=0;y<a.length;y++){const C=a[y],h=y+1<a.length?a[y+1].headerIdx:t.length,m=t.slice(C.startIdx,h),S=(f=(d=m.match(/^\*\*\*\s+Move to:\s*(.+)$/m))==null?void 0:d[1])==null?void 0:f.trim(),B=xe(C.filePath,s),D=xe(S||C.filePath,s),_=m.split(/^@@.*$/m).filter(L=>L.trim()),v=[],U=[];for(const L of _)for(const q of L.split(`
|
|
9
|
+
`))q.startsWith("-")?v.push(q.slice(1)):q.startsWith("+")?U.push(q.slice(1)):q.startsWith(" ")&&(v.push(q.slice(1)),U.push(q.slice(1)));const z=a.length>1?`${e}:file-${y}`:e;C.action==="Add File"?o.push({id:z,name:"Write",input:{file_path:D,content:U.join(`
|
|
10
|
+
`)},result:null,isError:!1,timestamp:n}):C.action==="Delete File"?o.push({id:z,name:"Edit",input:{file_path:D,old_string:v.join(`
|
|
11
|
+
`),new_string:""},result:null,isError:!1,timestamp:n}):o.push({id:z,name:"Edit",input:{file_path:D,...S?{old_path:B}:{},old_string:v.join(`
|
|
12
|
+
`),new_string:U.join(`
|
|
13
|
+
`)},result:null,isError:!1,timestamp:n})}return o}function Hn(t,e,n,s,o=""){return t==="apply_patch"?Ie(e,n,s,o):Jn(e).flatMap((i,a)=>Ie(i,`${n}:patch-${a}`,s,o))}function Kn(t,e,n){var l;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 d of n){const f=(l=d.id.match(/:patch-(\d+)(?::file-\d+)?$/))==null?void 0:l[1];if(f===void 0)continue;const y=Number(f),C=s.get(y)??[];C.push(d),s.set(y,C)}if(s.size===0)return new Set(n.map(d=>d.id));const o=t.toLowerCase().replaceAll("\\","/"),i=new Set;for(const[d,f]of s)f.some(y=>{const C=String(y.input.file_path??"").toLowerCase().replaceAll("\\","/");if(!C)return!1;const m=C.split("/").filter(Boolean).slice(-2).join("/");return o.includes(C)||m.includes("/")&&o.includes(m)})&&i.add(d);for(const d of o.matchAll(/\bpatch\s*(?:#|-)?\s*(\d+)\b/g)){const f=Number(d[1]);s.has(f)&&i.add(f)}i.size===0&&i.add(Math.max(...s.keys()));const a=Math.min(...i);for(const d of s.keys())d>=a&&i.add(d);return new Set([...i].flatMap(d=>{var f;return((f=s.get(d))==null?void 0:f.map(y=>y.id))??[]}))}function H(t){return typeof t=="object"&&t!==null}const Qn=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"]]),Gn=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 X(t){if(t.startsWith("mcp__"))return t;const e=t.split(/(?:__|[.:/])+/).filter(Boolean).at(-1)??t;return Qn.get(e)??(Gn.has(e)?e:t)}function Zn(t){const e=t==null?void 0:t.match(/Process exited with code (\d+)/);return e?e[1]!=="0":!1}function Xn(t){return t==="request_user_input"||t==="request_user_input_async"}function Yn(t){const n=(Array.isArray(t.questions)?t.questions:[t]).filter(s=>H(s)).map(s=>{const o=typeof s.question=="string"?s.question:typeof s.title=="string"?s.title:"",i=Array.isArray(s.options)?s.options:[];return{question:o,...typeof s.header=="string"&&s.header?{header:s.header}:{},options:i.map(a=>typeof a=="string"?{label:a}:!H(a)||typeof a.label!="string"?null:{label:a.label,...typeof a.description=="string"&&a.description?{description:a.description}:{}}).filter(a=>a!==null)}}).filter(s=>s.question);return n.length>0?{...t,questions:n}:t}function ts(t){return{todos:(Array.isArray(t.plan)?t.plan:[]).filter(s=>H(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 es(t){if(t.type!=="image"&&t.type!=="input_image"&&t.type!=="image_url")return null;const e=H(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=H(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 Se(t){if(typeof t=="string")return{parts:[t],text:t,images:[]};if(!Array.isArray(t)){const s=t==null?"":JSON.stringify(t);return{parts:[s],text:s,images:[]}}const e=[],n=[];for(const s of t){if(!H(s))continue;typeof s.text=="string"&&e.push(s.text);const o=es(s);o&&n.push(o)}return{parts:e,text:e.join(""),images:n}}const ns=/^Script (?:completed|failed|running)\b/;function we(t,e){H(t)&&(t.status==="rejected"?e.push(1):t.status==="fulfilled"?we(t.value,e):typeof t.exit_code=="number"&&e.push(t.exit_code))}function ss(t){const e=t[0]??"";if(!ns.test(e))return;if(e.startsWith("Script failed"))return!0;const n=[];for(const s of t.slice(1)){let o;try{o=JSON.parse(s)}catch{continue}for(const i of Array.isArray(o)?o:[o])we(i,n)}return n.length>0?n.some(s=>s!==0):void 0}function Ut(t){const e=Se(t);let n=H(t)&&!Array.isArray(t)?t:null;try{const f=n??JSON.parse(e.text);H(f)&&!Array.isArray(f)&&(n=f)}catch{}const s=n&&("output"in n||"content"in n)?Se(n.output??n.content):e,o=s===e?e.images:[...e.images,...s.images],i=H(n==null?void 0:n.metadata)?n.metadata:null,a=(i==null?void 0:i.exit_code)??(n==null?void 0:n.exit_code),l=typeof(n==null?void 0:n.isError)=="boolean"?n.isError:typeof(n==null?void 0:n.is_error)=="boolean"?n.is_error:void 0,d=l===!0||(typeof a=="number"?a!==0:l??ss(e.parts)??Zn(s.text));return{text:s.text,isError:d,...o.length>0?{images:o}:{}}}const os=["# AGENTS.md instructions for ","<recommended_plugins>","<environment_context>","<permissions instructions>","<collaboration_mode>","<skills_instructions>"];function is(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 ot(t){try{return JSON.parse(t)}catch{return null}}function F(t){return typeof t=="object"&&t!==null}function rs(t){const e=F(t.source)?t.source:null,n=e&&F(e.subagent)?e.subagent:null,s=n&&F(n.thread_spawn)?n.thread_spawn:null;for(const o of[t.forked_from_id,t.parent_thread_id,s==null?void 0:s.parent_thread_id])if(typeof o=="string"&&o)return o;return null}function Ft(t){var o;const e=t.find(i=>(i==null?void 0:i.type)==="session_meta"),n=(o=e==null?void 0:e.payload)==null?void 0:o.subagent_history_start_ordinal;if(typeof n!="number")return null;const s=i=>typeof i=="number"&&i>=n;return!s(e==null?void 0:e.rolloutLastOrdinal)&&!t.some(i=>s(i==null?void 0:i.ordinal))?null:i=>typeof i.ordinal=="number"&&i.ordinal>0&&i.ordinal<n}async function as(t,e){var o;if(!t.includes('"subagent_history_start_ordinal"'))return t;const n=ot(t);if((n==null?void 0:n.type)!=="session_meta")return t;const s=await e();for(let i=s.length-1;i>=0;i--){const a=(o=ot(s[i]))==null?void 0:o.ordinal;if(typeof a=="number")return JSON.stringify({...n,rolloutLastOrdinal:a})}return t}function ls(t){const e=t.payload;return t.type!=="event_msg"||!F(e)?null:e.type==="sub_agent_activity"?e:e.type==="item_completed"&&F(e.item)&&e.item.type==="SubAgentActivity"?e.item:null}function Me(t){const e=ls(t);return!e||typeof e.agent_thread_id!="string"||typeof e.agent_path!="string"?null:{agentId:e.agent_thread_id,agentPath:e.agent_path,kind:typeof e.kind=="string"?e.kind:"started",eventId:at(e.event_id,e.id)??"",model:at(e.model)||null,effort:at(e.reasoning_effort)||null}}function cs(t){return t.type!=="task_complete"||!F(t.error)?"":typeof t.error.message=="string"?t.error.message.trim():""}function Y(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 Tt(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(`
|
|
14
|
+
`).trim():""}const us=/^data:(image\/(?:png|jpeg|gif|webp));base64,(.+)$/is,ds=/^data:(audio\/(?:wav|x-wav|mpeg|mp4|webm|ogg));base64,(.+)$/is;function Ee(t){if(typeof t!="string")return null;const e=us.exec(t);return!(e!=null&&e[1])||!e[2]?null:{type:"image",source:{type:"base64",media_type:e[1].toLowerCase(),data:e[2]}}}function Ne(t){if(typeof t!="string")return null;const e=ds.exec(t);return!(e!=null&&e[1])||!e[2]?null:{type:"audio",source:{type:"base64",media_type:e[1].toLowerCase(),data:e[2]}}}function fs(t){return Array.isArray(t.images)?t.images.map(Ee).filter(e=>e!==null):[]}function ps(t){return Array.isArray(t.audio)?t.audio.map(Ne).filter(e=>e!==null):[]}function ve(t){return Array.isArray(t.content)?t.content.filter(e=>F(e)&&e.type==="input_image").map(e=>Ee(e.image_url)).filter(e=>e!==null):[]}function Re(t){return Array.isArray(t.content)?t.content.filter(e=>F(e)&&e.type==="input_audio").map(e=>Ne(e.audio_url)).filter(e=>e!==null):[]}function Pe(t,e,n=[],s=[],o=[]){const i=[...s.map(l=>`
|
|
15
|
+
`),...o.map(l=>`
|
|
16
|
+
[audio attachment](<${l}>)`)].join(""),a=t+i;return e.length===0&&n.length===0?a:[...e,...n,...a?[{type:"text",text:a}]:[]]}function ms(t){var a,l;const e=Tt(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=((l=(a=e.slice(0,n.index).match(/^Message Type:\s*([^\r\n]+)/))==null?void 0:a[1])==null?void 0:l.trim().toUpperCase())??null,i=e.slice(n.index+n[0].length).trim();return{messageType:o,text:i}}function it(t){return t.split(/[\\/]/).filter(Boolean).at(-1)??null}function gs(t){if(typeof t!="string")return"";const e=t.trim();return/^gAAAAA[A-Za-z0-9_-]+$/.test(e)?"":e}function $t(t){const e=t.trim();return!e||os.some(n=>e.startsWith(n))?"":e}function hs(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),a=o===null?e:Math.max(0,e-o);return a===0&&n===0&&s===0&&i===0?null:{input_tokens:a,output_tokens:n,cache_creation_input_tokens:s,cache_read_input_tokens:i}}function ys(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 tt(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 _s(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 Be(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 rt(t){if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t??"")}}function at(...t){return t.find(e=>typeof e=="string")}function ks(t){return t.startsWith("exec-")}function bs(t){var o;if(!F(t))return{text:rt(t),isError:!1};if("Err"in t)return{text:rt(t.Err),isError:!0};const e=F(t.Ok)?t.Ok:null;if(!e)return{text:rt(t),isError:!1};const n=Ut({...e,content:e.content}),s=n.text||((o=n.images)!=null&&o.length?"":e.structuredContent!==void 0?rt(e.structuredContent):rt(e));return{...n,text:s,isError:n.isError}}function Ts(t,e,n){return{id:t?`${t}@${e}`:is("codex-turn"),userMessage:null,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:e,durationMs:null,tokenUsage:null,model:n}}function Ot(t){const e=F(t.payload)?t.payload:null;return t.type==="event_msg"&&(e==null?void 0:e.type)==="user_message"&&typeof e.message=="string"?$t(e.message):t.type==="response_item"&&(e==null?void 0:e.type)==="message"&&e.role==="user"?$t(Tt(e,"input_text")):""}function Cs(){let t=!1;return e=>{const n=F(e.payload)?e.payload:null;if(e.type==="event_msg"&&(n==null?void 0:n.type)==="user_message"){const o=t;return t=!1,o?"":Ot(e)}if(e.type!=="response_item")return"";const s=Ot(e);return s?t=!0:((n==null?void 0:n.type)!=="message"||n.role!=="user")&&(t=!1),s}}function As(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 Ot(t)!==""||ve(e).length>0||Re(e).length>0}return!0}function De(t){let e="",n="",s="",o="",i="",a,l="",d="",f="",y="",C=0,h=!1,m=null,S="/root";const B=Cs(),D=Ft(t);for(const _ of t){if(!F(_.payload)||D!=null&&D(_))continue;if(_.type==="session_meta"){if(e||(e=typeof _.payload.id=="string"?_.payload.id:""),n||(n=typeof _.payload.cli_version=="string"?_.payload.cli_version:""),o||(o=typeof _.payload.cwd=="string"?_.payload.cwd:""),!a&&F(_.payload.branchedFrom)){const L=typeof _.payload.branchedFrom.sessionId=="string"?_.payload.branchedFrom.sessionId:"";L&&(a={sessionId:L,turnIndex:typeof _.payload.branchedFrom.turnIndex=="number"?_.payload.branchedFrom.turnIndex:null})}const U=F(_.payload.source)?_.payload.source:null;if(U&&F(U.subagent)){h=!0;const L=F(U.subagent.thread_spawn)?U.subagent.thread_spawn:null;L&&typeof L.agent_path=="string"&&(S=L.agent_path)}m=rs(_.payload)??m;const z=F(_.payload.git)?_.payload.git:null;s||(s=z&&typeof z.branch=="string"?z.branch:"")}_.type==="turn_context"&&(i||(i=typeof _.payload.model=="string"?_.payload.model:""),o||(o=typeof _.payload.cwd=="string"?_.payload.cwd:""));const v=B(_);v&&(l||(l=v),d=v,C++,f||(f=_.timestamp??""),y=_.timestamp??y)}return y===""&&(y=f),{sessionId:e,version:n,gitBranch:s,cwd:o,model:i,slug:"",name:"",branchedFrom:a,firstUserMessage:l,lastUserMessage:d,timestamp:f,lastTimestamp:y,turnCount:C,isSubagent:h,parentSessionId:m,agentPath:S}}function xs(t){for(const e of t.split(`
|
|
17
|
+
`)){const n=e.trim();if(n)return Y(ot(n))}return!1}function Is(t){return Y(t[0]??null)}function Ss(t){const e=t.map(ot).filter(Y);return De(e)}function Ue(t,e){const n=De(t.filter(Y)),s=[],o=new Map,i=new Map,a=new Map,l=new Map,d=new Map,f=new Map,y=new Map,C=new Map;function h(E,I,u,x={}){const R=d.get(E);let p=C.get(E);if(!p){const w={agentId:E,parentToolUseId:(R==null?void 0:R.parentToolCallId)||void 0,agentName:(R==null?void 0:R.nickname)??(R!=null&&R.agentPath?it(R.agentPath):null),subagentType:(R==null?void 0:R.agentType)??null,type:"assistant",content:null,toolCalls:[],thinking:[],text:[],timestamp:(R==null?void 0:R.timestamp)??u,tokenUsage:null,model:(R==null?void 0:R.model)??null,...R!=null&&R.effort?{effort:R.effort}:{},isBackground:!1,prompt:(R==null?void 0:R.message)||void 0,status:x.status??"running"};I.subAgentActivity.push(w);const P=I.contentBlocks[I.contentBlocks.length-1];(P==null?void 0:P.kind)==="sub_agent"?P.messages.push(w):I.contentBlocks.push({kind:"sub_agent",messages:[w],timestamp:u}),p={message:w,turn:I},C.set(E,p)}const b=p.message;if(R&&(b.parentToolUseId=R.parentToolCallId||b.parentToolUseId,b.agentName=R.nickname??(R.agentPath?it(R.agentPath):b.agentName),b.subagentType=R.agentType,b.model=R.model,R.effort&&(b.effort=R.effort),b.prompt=R.message||b.prompt),x.text&&!b.text.includes(x.text)&&(b.text.push(x.text),b.content=b.text.join(`
|
|
18
|
+
|
|
19
|
+
`)),x.status){const w=new Set(["completed","failed","interrupted"]);if(x.status==="running"&&b.status&&w.has(b.status)||(b.status=x.status),w.has(x.status)&&b.timestamp&&u){const P=new Date(b.timestamp).getTime(),N=new Date(u).getTime();Number.isFinite(P)&&Number.isFinite(N)&&N>=P&&(b.durationMs=N-P)}}return b}let m=null,S=null,B=!1,D=n.model||null,_="",v=null,U=!1;const z=[];let L=0,q=null,T=null;function r(E){const I=s.length,u=_s(s,E,_);return s.length>I&&T!==null&&z.push(T),T=null,u}function c(E,I,u){const x=Ts(E,I,u);return T=q??L,q=null,U||(x.isFragment=!0),v&&(x.compactionSummary=v,v=null),x}function k(E,I,u,x,R){const p=i.get(I);if(p){p.input={...p.input,...u},p.result=x,p.isError=x==="failed";return}const b={id:I,name:"WebSearch",input:u,result:x,isError:x==="failed",timestamp:R};i.set(I,b),tt(E,b,R)}const g=Ft(t);for(let E=0;E<t.length;E++){const I=t[E];if(!Y(I)||g!=null&&g(I))continue;L=E;const u=F(I.payload)?I.payload:void 0,x=I.timestamp??"";if(I.type!=="event_msg"&&(B=!1),I.type==="compacted"){m=r(m),v="Conversation compacted",_=x;continue}if(I.type==="world_state")continue;if(I.type==="turn_context"){m=r(m),q=E,S=typeof(u==null?void 0:u.turn_id)=="string"?u.turn_id:null,D=typeof(u==null?void 0:u.model)=="string"?u.model:D,_=x,U=!0;continue}if(I.type==="event_msg"&&(u==null?void 0:u.type)==="user_message"&&typeof u.message=="string"){if(B){B=!1;continue}m&&(m.assistantText.length>0||m.toolCalls.length>0||m.thinking.length>0)&&(m=r(m));const p=!U;U=!0,m??(m=c(S,x,D)),p&&(m.opensOnPrompt=!0);const b=(Array.isArray(u.local_images)?u.local_images:[]).filter(P=>typeof P=="string"&&P.length>0),w=(Array.isArray(u.local_audio)?u.local_audio:[]).filter(P=>typeof P=="string"&&P.length>0);m.userMessage=Pe(u.message,fs(u),ps(u),b,w),m.isFragment=!1,m.timestamp=m.timestamp||x,_=x;continue}if(!m&&!As(I,u))continue;if(m??(m=c(S,x,D)),!m.model&&D&&(m.model=D),m.timestamp||(m.timestamp=x),x&&(_=x),I.type==="event_msg"&&(u==null?void 0:u.type)==="token_count"){const p=F(u.info)?u.info:null,b=p?hs(p.last_token_usage):null;b&&(m.tokenUsage=Z(m.tokenUsage,b));continue}if(I.type==="event_msg"&&(u==null?void 0:u.type)==="web_search_end"&&typeof u.call_id=="string"){const p={};typeof u.query=="string"&&u.query&&(p.query=u.query),F(u.action)&&(p.action=u.action),k(m,u.call_id,p,"completed",x);continue}if(I.type==="event_msg"&&(u==null?void 0:u.type)==="mcp_tool_call_end"&&typeof u.call_id=="string"&&F(u.invocation)){const p=u.invocation,b=typeof p.server=="string"?p.server:"mcp",w=typeof p.tool=="string"?p.tool:"tool",P=F(p.arguments)?p.arguments:{},N=bs(u.result),$=o.get(u.call_id);$?($.result=N.text,$.isError=N.isError,N.images&&($.resultImages=N.images),o.delete(u.call_id)):ks(u.call_id)||tt(m,{id:u.call_id,name:`mcp__${b}__${w}`,input:P,result:N.text,isError:N.isError,...N.images?{resultImages:N.images}:{},timestamp:x},x);continue}if(I.type==="event_msg"&&u){const p=cs(u);if(p){Dt(m,p,x);continue}}const R=Me(I);if(R){const{agentId:p,agentPath:b,eventId:w,kind:P}=R,N=w?l.get(w):void 0,$=f.get(b),O=d.get(p)??($?d.get($):void 0);if(P!=="started"&&!O&&!N)continue;if($&&$!==p&&!C.has(p)){const K=C.get($);K&&(K.message.agentId=p,C.delete($),C.set(p,K)),d.delete($)}const W={agentId:p,nickname:(O==null?void 0:O.nickname)??it(b)??(N==null?void 0:N.taskName)??null,agentPath:b,message:(O==null?void 0:O.message)??(N==null?void 0:N.message)??"",model:R.model??(O==null?void 0:O.model)??(N==null?void 0:N.model)??null,effort:R.effort??(O==null?void 0:O.effort)??null,agentType:(O==null?void 0:O.agentType)??(N==null?void 0:N.agentType)??null,timestamp:(O==null?void 0:O.timestamp)??(x||(N==null?void 0:N.timestamp)||""),parentToolCallId:(O==null?void 0:O.parentToolCallId)??w};d.set(p,W),f.set(b,p),w&&(P==="started"||N)&&y.set(w,p),h(p,m,x,{status:P==="interrupted"||P==="completed"?P:"running"});continue}if(!(I.type!=="response_item"||!u)){if(u.type==="reasoning"){const p=Array.isArray(u.summary)?u.summary.filter(b=>typeof b=="string").join(`
|
|
20
|
+
`):"";ys(m,p.trim(),x);continue}if(u.type==="message"&&u.role==="assistant"){Dt(m,Tt(u,"output_text"),x);continue}if(u.type==="message"&&u.role==="user"){const p=$t(Tt(u,"input_text"));if(m.userMessage!==null||m.contentBlocks.length>0){p&&(m.contentBlocks.push({kind:"queued_prompt",content:p,timestamp:x}),B=!0);continue}const b=ve(u),w=Re(u);(p||b.length>0||w.length>0)&&(m.userMessage=Pe(p,b,w),m.isFragment=!1,U=!0);continue}if(u.type==="web_search_call"&&typeof u.id=="string"){const p={};F(u.action)&&(p.action=u.action);const b=typeof u.status=="string"?u.status:"completed";k(m,u.id,p,b,x);continue}if(u.type==="tool_search_call"){const p=at(u.call_id,u.id)??"";if(p){const b={id:p,name:"ToolSearch",input:F(u.arguments)?u.arguments:{},result:null,isError:!1,timestamp:x};o.set(p,b),tt(m,b,x)}continue}if(u.type==="tool_search_output"&&typeof u.call_id=="string"){const p=o.get(u.call_id);if(p){const b=Array.isArray(u.tools)?u.tools:[],w=b.filter(F).map($=>at($.name)??"").filter(Boolean),P=w.length>0?w.length:b.length,N=`Found ${P} tool${P===1?"":"s"}`;p.result=w.length>0?`${N}: ${w.join(", ")}`:N,p.isError=u.status==="failed",o.delete(u.call_id)}continue}if(u.type==="agent_message"&&typeof u.author=="string"){const p=u.author,b=typeof u.recipient=="string"?u.recipient:null,w=ms(u);if(w.messageType==="NEW_TASK")continue;const P=f.get(p),N=p.startsWith(`${n.agentPath}/`)&&(b===null||b===n.agentPath);if(!P&&!N)continue;const $=P??p;P||(d.set($,{agentId:$,nickname:it(p),agentPath:p,message:"",model:null,agentType:null,timestamp:x,parentToolCallId:""}),f.set(p,$));let O;w.messageType==="FINAL_ANSWER"?O="completed":w.messageType==="ERROR"||w.messageType==="FAILED"?O="failed":w.messageType==="INTERRUPTED"?O="interrupted":w.messageType==="MESSAGE"&&(O="running"),h($,m,x,{status:O,text:w.text||void 0});continue}if(u.type==="function_call"&&typeof u.call_id=="string"){const p=typeof u.name=="string"?u.name:"tool",b=X(p),w=Be(u.arguments);let P=b,N=w;b==="exec_command"?P="Bash":b==="update_plan"?(P="TodoWrite",N=ts(w)):Xn(b)&&(P="AskUserQuestion",N=Yn(w)),b==="spawn_agent"&&l.set(u.call_id,{callId:u.call_id,message:gs(w.message),taskName:typeof w.task_name=="string"?w.task_name:null,model:typeof w.model=="string"?w.model:null,agentType:typeof w.agent_type=="string"?w.agent_type:null,timestamp:x});const $={id:u.call_id,name:P,input:N,result:null,isError:!1,timestamp:x,...b==="request_user_input_async"?{asyncQuestion:!0}:{}};o.set($.id,$),tt(m,$,x);continue}if(u.type==="function_call_output"&&typeof u.call_id=="string"){const p=o.get(u.call_id);if(!p)continue;const b=Ut(u.output),w=b.text;if(p.result=w,p.isError=b.isError,b.images&&(p.resultImages=b.images),o.delete(u.call_id),p.name==="spawn_agent"&&w)try{const P=JSON.parse(w),N=typeof P.agent_id=="string"?P.agent_id:y.get(p.id)??"",$=typeof P.task_name=="string"?P.task_name:null,O=typeof P.nickname=="string"?P.nickname:$?it($):null;if(N){const W=l.get(p.id),j=d.get(N),K={agentId:N,nickname:O??(j==null?void 0:j.nickname)??(W==null?void 0:W.taskName)??null,agentPath:$??(j==null?void 0:j.agentPath)??null,message:(j==null?void 0:j.message)??(W==null?void 0:W.message)??"",model:(j==null?void 0:j.model)??(W==null?void 0:W.model)??null,effort:(j==null?void 0:j.effort)??null,agentType:(j==null?void 0:j.agentType)??(W==null?void 0:W.agentType)??null,timestamp:(j==null?void 0:j.timestamp)??(W==null?void 0:W.timestamp)??x,parentToolCallId:(j==null?void 0:j.parentToolCallId)??p.id};d.set(N,K),y.set(p.id,N),K.agentPath&&f.set(K.agentPath,N),h(N,m,x,{status:"running"})}}catch{}if(p.name==="wait_agent"&&w&&m)try{const P=JSON.parse(w),N=F(P.status)?P.status:{};for(const[$,O]of Object.entries(N)){const W=F(O)?O:{},j=typeof W.completed=="string"?W.completed:"",K=typeof W.failed=="string"?W.failed:typeof W.error=="string"?W.error:"",nn=typeof W.interrupted=="string"?W.interrupted:"",ro=j?"completed":K?"failed":nn?"interrupted":typeof W.status=="string"?W.status:"running";d.has($)||d.set($,{agentId:$,nickname:null,agentPath:null,message:"",model:null,agentType:null,timestamp:x,parentToolCallId:""}),h($,m,x,{status:ro,text:j||K||nn||void 0})}}catch{}continue}if(u.type==="custom_tool_call"&&typeof u.call_id=="string"){const p=X(typeof u.name=="string"?u.name:"tool"),b=typeof u.input=="string"?u.input:"",w=u.call_id,P=b?Hn(p,b,w,x,n.cwd):[];if(p!=="apply_patch"){const N={id:w,name:p==="exec_command"?"Bash":p,input:Be(b),result:null,isError:!1,timestamp:x};o.set(N.id,N),tt(m,N,x)}for(const N of P)o.set(N.id,N),tt(m,N,x);P.length>0&&a.set(w,{calls:P,direct:p==="apply_patch"});continue}if(u.type==="custom_tool_call_output"&&typeof u.call_id=="string"){const p=u.call_id,{text:b,isError:w,images:P}=Ut(u.output),N=a.get(p);if(N){const O=N.direct&&w?new Set(N.calls.map(W=>W.id)):Kn(b,w,N.calls);for(const W of N.calls){const j=o.get(W.id);j&&(j.result=b,j.isError=O.has(j.id),o.delete(j.id))}a.delete(p)}const $=o.get(p);$&&($.result=b,$.isError=w,P&&($.resultImages=P),o.delete(p));continue}}}r(m);const M=Vn(s);return{turnStartIndices:z,sessionId:n.sessionId,version:n.version,gitBranch:n.gitBranch,cwd:n.cwd,slug:n.slug,name:"",model:n.model,turns:M,stats:e!=null&&e.skipStats?gt(M.length):ht(M),rawMessages:e!=null&&e.skipStats?[]:t,branchedFrom:n.branchedFrom,agentKind:"codex"}}function Fe(t,e){const n=t.split(`
|
|
21
|
+
`).map(l=>l.trim()).filter(Boolean).map(ot).filter(Y),s=Ft(n),o=s?n.filter(l=>!s(l)):n,{turnStartIndices:i,...a}=Ue(o,e);return a}function ws(t,e){const n=t.rawMessages.map(s=>JSON.stringify(s)).join(`
|
|
22
|
+
`);return Fe(n?`${n}
|
|
23
|
+
${e}`:e)}const Ms=new Set(["FINAL_ANSWER","ERROR","FAILED","INTERRUPTED"]);function Es(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(`
|
|
24
|
+
`):""}function Ct(t){if(typeof t!="string")return null;try{const e=JSON.parse(t);return F(e)?e:null}catch{return null}}function Ns(t){var y,C;const e=new Map,n=new Set,s=new Map,o=new Map,i=new Map,a=new Set,l=new Map;function d(h,m,S,B){if(s.has(h))return;n.add(h);const D=e.get(h);D?D.description||(D.description=m):e.set(h,{launchedAt:S,description:m,startedAt:B})}function f(h,m){s.has(h)||s.set(h,m),n.delete(h)}for(const[h,m]of t.entries()){const S=F(m.payload)?m.payload:null;if(!S)continue;const B=typeof m.timestamp=="string"?m.timestamp:void 0,D=Me(m);if(D){const{agentId:_,agentPath:v,kind:U,eventId:z}=D,L=o.get(v),q=n.has(_)||s.has(_)||L!==void 0||i.has(z);if(U!=="started"&&!q)continue;if(L&&L!==_){const T=e.get(L);e.delete(L);const r=e.get(_);T&&!r?e.set(_,T):T&&r&&!r.description&&(r.description=T.description),n.delete(L)&&d(_,"",h,B);const c=s.get(L);c!==void 0&&f(_,c)}o.set(v,_),U==="interrupted"||U==="completed"?f(_,h):d(_,i.get(z)??"",h,B);continue}if(m.type==="response_item"){if(S.type==="function_call"&&typeof S.call_id=="string"){const _=X(typeof S.name=="string"?S.name:"");if(_==="spawn_agent"){const v=Ct(S.arguments);i.set(S.call_id,typeof(v==null?void 0:v.task_name)=="string"?v.task_name:"")}else if(_==="wait_agent")a.add(S.call_id);else if(_==="interrupt_agent"){const v=Ct(S.arguments),U=[v==null?void 0:v.agent_id,...Array.isArray(v==null?void 0:v.agent_ids)?v.agent_ids:[]].filter(z=>typeof z=="string");l.set(S.call_id,U)}continue}if(S.type==="function_call_output"&&typeof S.call_id=="string"){const _=S.call_id;if(i.has(_)){const v=Ct(S.output),U=typeof(v==null?void 0:v.agent_id)=="string"?v.agent_id:"";if(U){d(U,i.get(_)??"",h,B);const z=typeof(v==null?void 0:v.task_name)=="string"?v.task_name:"";z&&!o.has(z)&&o.set(z,U)}}else if(a.has(_)){const v=Ct(S.output),U=F(v==null?void 0:v.status)?v.status:{};for(const[z,L]of Object.entries(U)){const q=F(L)?L:{},T=typeof q.status=="string"?q.status:"";(typeof q.completed=="string"||typeof q.failed=="string"||typeof q.error=="string"||typeof q.interrupted=="string"||T==="completed"||T==="failed"||T==="interrupted")&&f(z,h)}}else if(l.has(_))for(const v of l.get(_)??[])f(v,h);continue}if(S.type==="agent_message"&&typeof S.author=="string"){const v=((C=(y=Es(S).match(/^Message Type:\s*([^\r\n]+)/))==null?void 0:y[1])==null?void 0:C.trim().toUpperCase())??"";if(!Ms.has(v))continue;f(o.get(S.author)??S.author,h)}}}return[...e.entries()].map(([h,{description:m,startedAt:S,launchedAt:B}])=>({agent:{description:m,startedAt:S},launchedAt:B,endedAt:n.has(h)?void 0:s.get(h)??B}))}function vs(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":return vt(Ns(t))??{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?X(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 Rs(t,e,n,s){const o=F(t.payload)?{...t.payload}:{},i=typeof o.id=="string"?o.id:"";return o.id=e,o.branchedFrom={sessionId:i,turnIndex:n,at:new Date(s).toISOString()},{record:{...t,payload:o},originalId:i}}function Ps(t){return Ue(t,{skipStats:!0}).turnStartIndices}const Bs=/^(?: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 V(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function $e(t){return typeof t.agentId!="string"||t.agentId.length===0}function Oe(t){return!V(t)||typeof t.type!="string"||!V(t.data)?!1:t.type==="abort"||t.type==="binary_asset"||t.type==="user.message"||Bs.test(t.type)}function je(t){try{const e=JSON.parse(t);return Oe(e)?e:null}catch{return null}}function Ds(t){return t.split(`
|
|
25
|
+
`).map(e=>e.trim()).filter(Boolean).map(je).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 lt(t){return typeof t.timestamp=="string"?t.timestamp:""}function G(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 Le(t){const e=G(t,"copilot-turn"),n=A(t.data.turnId);return n?`${n}@${e}`:e}function jt(t,e){if(!V(t))return;const n=A(t.cwd),s=A(t.branch);n&&(e.cwd=n),s&&(e.gitBranch=s)}function We(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(!$e(n))continue;const{data:s}=n,o=lt(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))),jt(s.context,e),e.model=A(s.selectedModel)||e.model;continue}if(n.type==="session.resume"){jt(s.context,e),e.model=A(s.selectedModel)||e.model;continue}if(n.type==="session.context_changed"){jt(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 Us(t){for(const e of t.split(`
|
|
26
|
+
`)){const n=e.trim();if(n)try{const s=JSON.parse(n);if(Oe(s))return!0}catch{}}return!1}function Fs(t){var e;return Zs((e=t[0])==null?void 0:e.type)}function $s(t){const e=t.map(n=>je(n.trim())).filter(n=>n!==null);return We(e)}function Lt(t){if(typeof t=="string")return t;if(t===void 0)return"";try{return JSON.stringify(t)}catch{return String(t)}}function qe(t){return typeof t=="string"?t:Array.isArray(t)?t.flatMap(e=>{const n=typeof e=="string"?e:V(e)?A(e.text,e.content):"";return n?[n]:[]}).join(`
|
|
27
|
+
`):""}function Os(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 js(t,e){if(!V(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 ze(t,e){if(!Array.isArray(t))return[];const n=[],s=new Set;for(const o of t){const i=js(o,e);if(!i)continue;const a=`${i.source.media_type}:${i.source.data}`;s.has(a)||(s.add(a),n.push(i))}return n}function Ls(t,e){const n=A(t.content),s=ze(t.attachments,e);return s.length===0?n:[...s,...n?[{type:"text",text:n}]:[]]}function Ws(t,e){return V(t.result)?ze([...Array.isArray(t.result.contents)?t.result.contents:[],...Array.isArray(t.result.binaryResultsForLlm)?t.result.binaryResultsForLlm:[]],e):[]}function Wt(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},a=Q(t.reasoningTokens);return a&&(i.output_tokens_details={thinking_tokens:a}),i.input_tokens===0&&i.output_tokens===0&&i.cache_creation_input_tokens===0&&i.cache_read_input_tokens===0&&a===0?null:i}function qs(t){if(!V(t.modelMetrics))return null;let e=null;for(const n of Object.values(t.modelMetrics)){if(!V(n)||!V(n.usage))continue;const s=Wt(n.usage,!0);s&&(e=Z(e,s))}return e}function zs(t){if(typeof t=="string")return{label:t};if(!V(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 Vs(t){return Array.isArray(t)?t.map(zs).filter(e=>e!==null):[]}function Js(t){if(!V(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:Vs(t.options??t.choices),...s===void 0?{}:{multiSelect:s}}}function Hs(t){const n=(Array.isArray(t.questions)?t.questions:[t]).map(Js).filter(s=>s!==null);return n.length>0?{...t,questions:n}:t}function ct(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 At(t,e){const n=V(e)?e:e===void 0?{}:{value:e};return t==="AskUserQuestion"?Hs(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 Ks(t){const e=t.error;if(typeof e=="string")return e;if(V(e)){const s=A(e.message,e.code);if(s)return s}const n=t.result;if(typeof n=="string")return n;if(!V(n))return n===void 0?"":Lt(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:V(o)?A(o.text,o.content,o.output):"";return i?[i]:[]}).join(`
|
|
28
|
+
`);if(s)return s}return n.structuredContent!==void 0?Lt(n.structuredContent):Lt(n)}function Ve(t,e,n,s){if(!e||t.thinking.some(a=>a.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 xt(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 ut(t,e,n,s){return{id:t,name:e,input:n,result:null,isError:!1,timestamp:s}}function Je(t,e,n){if(!Array.isArray(t))return[];const s=[];for(const o of t){if(!V(o))continue;const i=A(o.toolCallId),a=A(o.name);if(!i||!a||n(i))continue;const l=ct(a);s.push(ut(i,l,At(l,o.arguments),e))}return s}function He(t,e,n,s){t.name=e,t.input=At(e,n),t.timestamp=s||t.timestamp}function Ke(t,e,n){t.result=Ks(e);const s=Ws(e,n);s.length>0&&(t.resultImages=s),t.isError=e.success===!1||e.error!==void 0&&e.error!==null}function Qe(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 Qs(t){return t.userMessage!==null||t.assistantText.length>0||t.thinking.length>0||t.toolCalls.length>0||t.subAgentActivity.length>0}function Ge(t,e){const n=Ds(t),s=We(n),o=Os(n),i=[],a=new Map,l=new Map,d=new Map,f=new WeakMap,y=new WeakMap;let C=null,h=null,m,S=!1,B=!1,D=null;function _(T,r){r&&f.set(T,r)}function v(T){return C||(C=Qe(Le(T),lt(T),null,h,m,!0)),C}function U(){C&&(Qs(C)&&i.push(C),C=null)}function z(T){var u;const r=typeof T.agentId=="string"?T.agentId:"";if(!r)return null;const c=l.get(r);if(c)return c.message;const k=T.data,g=A(k.toolCallId),M=g?((u=a.get(g))==null?void 0:u.turn)??C:C;if(!M)return null;const E=A(k.executionMode),I={agentId:r,...g?{parentToolUseId:g}:{},agentName:A(k.agentDisplayName,k.agentName)||null,subagentType:A(k.agentType,k.agentName)||null,type:"assistant",content:null,toolCalls:[],thinking:[],text:[],timestamp:lt(T),tokenUsage:null,model:A(k.model)||null,isBackground:E==="background",...A(k.description)?{prompt:A(k.description)}:{},status:"running"};return M.subAgentActivity.push(I),M.contentBlocks.push({kind:I.isBackground?"background_agent":"sub_agent",messages:[I],timestamp:I.timestamp}),l.set(r,{message:I,turn:M}),I}function L(T){if($e(T))return!1;const r=z(T);if(!r)return!0;const{data:c}=T,k=lt(T);if(T.type==="subagent.started"||T.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(T.type==="subagent.completed"||T.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=T.type==="subagent.completed"?"completed":"failed";const g=A(c.error,c.message);return g&&!r.text.includes(g)&&r.text.push(g),!0}if(T.type==="user.message")return r.prompt||(r.prompt=A(c.content)||void 0),!0;if(T.type==="assistant.reasoning"){const g=A(c.content);return g&&!r.thinking.includes(g)&&r.thinking.push(g),!0}if(T.type==="assistant.message"){r.model=A(c.model)||r.model;const g=A(c.reasoningText);g&&!r.thinking.includes(g)&&r.thinking.push(g);const M=qe(c.content);M&&!r.text.includes(M)&&r.text.push(M);for(const E of Je(c.toolRequests,k,I=>d.has(I)))r.toolCalls.push(E),d.set(E.id,{call:E,message:r});return!0}if(T.type==="assistant.usage"){r.model=A(c.model)||r.model;const g=Wt(c);return g&&(r.tokenUsage=Z(r.tokenUsage,g)),!0}if(T.type==="tool.execution_start"){const g=A(c.toolCallId)||G(T,"copilot-agent-tool"),M=A(c.toolName)||"Tool",E=ct(M),I=d.get(g);if(I)He(I.call,E,c.arguments,k);else{const u=ut(g,E,At(E,c.arguments),k);r.toolCalls.push(u),d.set(g,{call:u,message:r})}return!0}if(T.type==="tool.execution_complete"){const g=A(c.toolCallId)||G(T,"copilot-agent-tool");let M=d.get(g);if(!M){const E=A(c.toolName)||"Tool",I=ct(E),u=ut(g,I,{},k);r.toolCalls.push(u),M={call:u,message:r}}return Ke(M.call,c,o),d.delete(g),!0}return!0}for(const T of n){if(L(T))continue;const{data:r}=T,c=lt(T);if(T.type==="session.start"||T.type==="session.resume"){h=A(r.selectedModel)||h,m=A(r.reasoningEffort)||m;continue}if(T.type==="session.auto_mode_resolved"){h=A(r.chosenModel)||h,C&&(C.model=h);continue}if(T.type==="session.model_change"){h=A(r.newModel)||h;const k=r.reasoningEffort;typeof k=="string"&&(m=k),C&&(C.model=h,m&&(C.effort=m));continue}if(T.type==="session.shutdown"){h=A(r.currentModel)||h,C&&!C.model&&(C.model=h),D=qs(r)??D;const k=Q(r.totalApiDurationMs);C&&!B&&k&&y.set(C,k);continue}if(T.type==="user.message"){U(),C=Qe(Le(T),c,Ls(r,o),h,m,!1),_(C,c);continue}if(T.type==="assistant.turn_start"){h=A(r.model)||h;const k=v(T);k.model=h,m&&(k.effort=m),_(k,c);continue}if(T.type==="assistant.reasoning"){const k=v(T);Ve(k,A(r.content),c,A(r.reasoningId)||G(T,"copilot-thinking")),_(k,c);continue}if(T.type==="assistant.message"){h=A(r.model)||h;const k=v(T);k.model=h,m&&(k.effort=m),Ve(k,A(r.reasoningText),c,G(T,"copilot-thinking")),Dt(k,qe(r.content),c);for(const g of Je(r.toolRequests,c,M=>a.has(M)))xt(k,g,c),a.set(g.id,{call:g,turn:k});_(k,c);continue}if(T.type==="assistant.usage"){h=A(r.model)||h,m=A(r.reasoningEffort)||m;const k=Wt(r),g=Q(r.duration);k&&(S=!0),g&&(B=!0);const M=v(T);M.model=h,m&&(M.effort=m),k&&(M.tokenUsage=Z(M.tokenUsage,k)),g&&y.set(M,(y.get(M)??0)+g),_(M,c);continue}if(T.type==="tool.execution_start"){h=A(r.model)||h;const k=v(T);k.model=h;const g=A(r.toolCallId)||G(T,"copilot-tool"),M=A(r.toolName)||"Tool",E=ct(M),I=a.get(g);if(I)He(I.call,E,r.arguments,c);else{const u=ut(g,E,At(E,r.arguments),c);xt(k,u,c),a.set(g,{call:u,turn:k})}_(k,c);continue}if(T.type==="tool.execution_complete"){h=A(r.model)||h;const k=A(r.toolCallId)||G(T,"copilot-tool");let g=a.get(k);if(!g){const M=v(T),E=A(r.toolName)||"Tool",I=ct(E),u=ut(k,I,{},c);xt(M,u,c),g={call:u,turn:M}}Ke(g.call,r,o),a.delete(k),_(g.turn,c);continue}if(T.type==="session.error"){const k=v(T),M={errorType:A(r.errorType)||"unknown"};typeof r.statusCode=="number"&&(M.statusCode=r.statusCode),typeof r.errorCode=="string"&&(M.errorCode=r.errorCode),xt(k,{id:G(T,"copilot-error"),name:"Error",input:M,result:A(r.message)||"Copilot session error",isError:!0,timestamp:c},c),_(k,c);continue}(T.type==="assistant.turn_end"||T.type==="assistant.idle"||T.type==="session.idle")&&C&&_(C,c)}if(U(),!S&&D&&i.length===1&&(i[0].tokenUsage=Z(i[0].tokenUsage,D)),s.model)for(const T of i)T.model||(T.model=s.model);for(const T of i){const r=f.get(T),c=Date.parse(T.timestamp),k=r?Date.parse(r):Number.NaN;if(Number.isFinite(c)&&Number.isFinite(k)&&k>=c)T.durationMs=k-c;else{const g=y.get(T)??0;g&&(T.durationMs=g)}}const q=e!=null&&e.skipStats?gt(i.length):ht(i);return!(e!=null&&e.skipStats)&&!S&&D&&i.length>1&&(q.totalInputTokens=D.input_tokens,q.totalOutputTokens=D.output_tokens,q.totalCacheCreationTokens=D.cache_creation_input_tokens??0,q.totalCacheReadTokens=D.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:q,rawMessages:e!=null&&e.skipStats?[]:n,agentKind:"copilot"}}function Gs(t,e){const n=t.rawMessages.map(s=>JSON.stringify(s)).join(`
|
|
29
|
+
`);return Ge(n?`${n}
|
|
30
|
+
${e}`:e)}function Zs(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 Xs(t){const e=new Map;for(const[i,a]of t.entries()){const l=typeof a.agentId=="string"?a.agentId:"";if(!l&&(a.type==="abort"||a.type==="session.shutdown"||a.type==="session.error")){e.clear();continue}if(!l||!a.type.startsWith("subagent."))continue;const d=V(a.data)?a.data:{},f=e.get(l);if(a.type==="subagent.completed"||a.type==="subagent.failed"){f&&(f.endedAt??(f.endedAt=i));continue}if(a.type==="subagent.started"||a.type==="subagent.configured"){const y=[d.agentDisplayName,d.description,d.agentName].find(C=>typeof C=="string")??"";if(!f||f.endedAt!==void 0){const C=typeof a.timestamp=="string"?a.timestamp:void 0;e.set(l,{agent:{description:y,startedAt:C},launchedAt:i})}else y&&(f.agent.description=y)}}const n=vt([...e.values()]);if(n)return n;let s=!1;const o=new Set;for(let i=t.length-1;i>=0;i--){const a=t[i];if(typeof a.agentId=="string"&&a.agentId)continue;const l=V(a.data)?a.data:{};switch(a.type){case"abort":case"session.shutdown":return{status:"completed"};case"assistant.turn_end":{for(let d=i-1;d>=0;d--){const f=t[d];if(typeof f.agentId=="string"&&f.agentId)continue;if(f.type==="user.message")break;if(f.type==="abort")return{status:"completed"};if(f.type!=="assistant.message")continue;const y=V(f.data)?f.data:{};return Array.isArray(y.toolRequests)&&y.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:s?"completed":"idle"};case"permission.completed":{const d=typeof l.requestId=="string"?l.requestId:"";d&&o.add(d);continue}case"permission.requested":{const d=typeof l.requestId=="string"?l.requestId:"";if(d&&o.has(d))continue;return{status:"deferred"}}case"user_input.requested":return{status:"tool_use",toolName:"AskUserQuestion"};case"tool.execution_start":return o.size>0?{status:"thinking"}:{status:"tool_use",toolName:typeof l.toolName=="string"?X(l.toolName):typeof l.name=="string"?X(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 s=!0,{status:"processing"};case"session.start":case"session.resume":return{status:s?"processing":"idle"}}}return{status:"idle"}}function Ys(){throw new Error("Copilot sessions branch through the CLI's fork API, not by copying the transcript")}function to(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 Ze=It[It.length-1],Xe=()=>!1,eo={kind:"codex",descriptor:mt("codex"),detectsText:xs,detectsRecords:Is,parse:Fe,append:ws,metadataFromLines:Ss,status:vs,isNoiseLine:Xe,pageHeaderLine:as,brandBranch:Rs,turnBoundaries:Ps},no={kind:"copilot",descriptor:mt("copilot"),detectsText:Us,detectsRecords:Fs,parse:Ge,append:Gs,metadataFromLines:$s,status:Xs,isNoiseLine:Xe,brandBranch:Ys,turnBoundaries:to},Ye={kind:"claude",descriptor:mt("claude"),detectsText:me,detectsRecords:me,parse:be,append:Te,metadataFromLines:Pn,status:$n,isNoiseLine:he,brandBranch:On,turnBoundaries:jn},qt=Object.freeze({acp:{...Ye,kind:"acp",descriptor:mt("acp"),detectsText:t=>{var e;return((e=t.split(`
|
|
31
|
+
`,1)[0])==null?void 0:e.includes('"type":"acp_session"'))??!1},detectsRecords:t=>{var e;return((e=t[0])==null?void 0:e.type)==="acp_session"},parse:(t,e)=>({...be(t,e),agentKind:"acp"}),append:(t,e)=>({...Te(t,e),agentKind:"acp"})},claude:Ye,codex:eo,copilot:no});function tn(t){for(const e of It)if(t(qt[e]))return qt[e];return qt[Ze]}function en(t){return tn(e=>e.detectsText(t))}function so(t){return tn(e=>e.detectsRecords(t))}function oo(t,e){return en(t).parse(t,e)}function io(t,e){const n=so(t.rawMessages),o=(n.kind===Ze?en(e):n).append(t,e);return t.instanceId?sn(o,t.instanceId):o}self.onmessage=t=>{const e=t.data;try{let n;e.type==="parse"?n=oo(e.text):n=io(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)})}}})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c,j as n}from"./vendor-react-gGw_S5I_.js";import{J as u}from"./index-
|
|
1
|
+
import{c,j as n}from"./vendor-react-gGw_S5I_.js";import{J as u}from"./index-D3WV64DU.js";import{g as p,h as f}from"./vendor-ui-DkzcTXCS.js";function b(l){const e=c.c(11);let a,t,s;e[0]!==l?({className:a,size:s,...t}=l,e[0]=l,e[1]=a,e[2]=t,e[3]=s):(a=e[1],t=e[2],s=e[3]);const o=s===void 0?"default":s;let i;e[4]!==a?(i=u("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none group-has-[:focus-visible]/field-label:border-transparent group-has-[:focus-visible]/field-label:ring-0 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input data-disabled:cursor-not-allowed data-disabled:opacity-50",a),e[4]=a,e[5]=i):i=e[5];let r;e[6]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(f,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-foreground ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0"}),e[6]=r):r=e[6];let d;return e[7]!==t||e[8]!==o||e[9]!==i?(d=n.jsx(p,{"data-slot":"switch","data-size":o,className:i,...t,children:r}),e[7]=t,e[8]=o,e[9]=i,e[10]=d):d=e[10],d}export{b as S};
|