fleetlens 1.0.21 → 1.0.22

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 (58) hide show
  1. package/app/apps/web/.next/BUILD_ID +1 -1
  2. package/app/apps/web/.next/build-manifest.json +3 -3
  3. package/app/apps/web/.next/prerender-manifest.json +3 -3
  4. package/app/apps/web/.next/server/app/_global-error.html +1 -1
  5. package/app/apps/web/.next/server/app/_global-error.rsc +1 -1
  6. package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/app/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/app/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/app/apps/web/.next/server/app/agent/page_client-reference-manifest.js +1 -1
  13. package/app/apps/web/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
  14. package/app/apps/web/.next/server/app/day/[date]/page_client-reference-manifest.js +1 -1
  15. package/app/apps/web/.next/server/app/day/page_client-reference-manifest.js +1 -1
  16. package/app/apps/web/.next/server/app/digest/[date]/page_client-reference-manifest.js +1 -1
  17. package/app/apps/web/.next/server/app/digest/page_client-reference-manifest.js +1 -1
  18. package/app/apps/web/.next/server/app/insights/[key]/page_client-reference-manifest.js +1 -1
  19. package/app/apps/web/.next/server/app/insights/page_client-reference-manifest.js +1 -1
  20. package/app/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  21. package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
  22. package/app/apps/web/.next/server/app/print/[key]/page_client-reference-manifest.js +1 -1
  23. package/app/apps/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  24. package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  25. package/app/apps/web/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  26. package/app/apps/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  28. package/app/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  29. package/app/apps/web/.next/server/app/team/onboarding/page_client-reference-manifest.js +1 -1
  30. package/app/apps/web/.next/server/app/team/page_client-reference-manifest.js +1 -1
  31. package/app/apps/web/.next/server/app/usage/page_client-reference-manifest.js +1 -1
  32. package/app/apps/web/.next/server/chunks/[root-of-the-server]__02.51sr._.js +1 -1
  33. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0~s0tk_._.js +1 -1
  34. package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_02bw8.n.js +2 -2
  35. package/app/apps/web/.next/server/chunks/packages_parser_dist_06d9se1._.js +1 -1
  36. package/app/apps/web/.next/server/chunks/packages_parser_dist_10ihc3~._.js +1 -1
  37. package/app/apps/web/.next/server/chunks/ssr/_0k8yioi._.js +1 -1
  38. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0n7_p1d._.js +1 -1
  39. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0nb5_-s._.js +1 -1
  40. package/app/apps/web/.next/server/middleware-build-manifest.js +3 -3
  41. package/app/apps/web/.next/server/middleware-manifest.json +5 -5
  42. package/app/apps/web/.next/server/pages/500.html +1 -1
  43. package/app/apps/web/.next/server/server-reference-manifest.js +1 -1
  44. package/app/apps/web/.next/server/server-reference-manifest.json +1 -1
  45. package/app/apps/web/.next/static/chunks/01fefgk-.q81a.js +1 -0
  46. package/app/apps/web/lib/changelog-data.generated.ts +1 -1
  47. package/app/apps/web/lib/daemon-lifecycle.ts +4 -1
  48. package/app/apps/web/package.json +1 -1
  49. package/app/apps/web/tsconfig.tsbuildinfo +1 -1
  50. package/dist/daemon-worker.js +247 -129
  51. package/dist/index.js +272 -187
  52. package/menubar/Fleetlens.app/Contents/Info.plist +2 -2
  53. package/menubar/Fleetlens.app/Contents/MacOS/FleetlensMenubar +0 -0
  54. package/package.json +1 -1
  55. package/app/apps/web/.next/static/chunks/14ruxwyt5vafr.js +0 -1
  56. /package/app/apps/web/.next/static/{B0Vmce2iQGyg0ry_GHkYR → UJkphLIl9vX9iyMWQpanr}/_buildManifest.js +0 -0
  57. /package/app/apps/web/.next/static/{B0Vmce2iQGyg0ry_GHkYR → UJkphLIl9vX9iyMWQpanr}/_clientMiddlewareManifest.js +0 -0
  58. /package/app/apps/web/.next/static/{B0Vmce2iQGyg0ry_GHkYR → UJkphLIl9vX9iyMWQpanr}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[39587,e=>{"use strict";let t={kind:"claude-code",displayName:"Claude Code",shortLabel:"Claude",accentColor:"var(--af-accent)",iconChar:"✦"},i={kind:"codex",displayName:"Codex (OpenAI)",shortLabel:"Codex",accentColor:"rgb(16, 163, 127)",iconChar:"◆"},s={kind:"copilot",displayName:"GitHub Copilot CLI",shortLabel:"Copilot",accentColor:"rgb(137, 87, 229)",iconChar:"∞"},n={kind:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"},a={kind:"antigravity",displayName:"Antigravity",shortLabel:"Agy",accentColor:"rgb(236, 72, 153)",iconChar:"⏃"},o={kind:"cowork",displayName:"Cowork",shortLabel:"Cowork",accentColor:"rgb(217, 119, 87)",iconChar:"⌘"},r={kind:"grok",displayName:"Grok Build",shortLabel:"Grok",accentColor:"rgb(100, 116, 139)",iconChar:"◈"},l=[t,i,s,n,a,o,{kind:"zai",displayName:"Z.ai",shortLabel:"Z.ai",accentColor:"rgb(59, 130, 246)",iconChar:"Z"},r,{kind:"command-code",displayName:"Command Code",shortLabel:"Cmd",accentColor:"rgb(132, 204, 22)",iconChar:">"}];l.map(e=>e.kind),e.s(["ANTIGRAVITY_METADATA",0,a,"CLAUDE_CODE_METADATA",0,t,"CODEX_METADATA",0,i,"COPILOT_METADATA",0,s,"COWORK_METADATA",0,o,"GEMINI_METADATA",0,n,"GROK_METADATA",0,r,"agentMetadata",0,l])},36521,e=>{"use strict";let t=[/<system_instruction\b[^>]*>[\s\S]*?<\/system_instruction>\s*/gi],i=["<command-name>","<local-command-stdout>","<local-command-caveat>","<task-notification>","Base directory for this skill:","This session is being continued from a previous conversation","A session-scoped Stop hook is now active"];function s(e){if(!e)return e;let i=e;for(let e of t)i=i.replace(e,"");return i.trim()}e.s(["isFrameworkInjectedUserInput",0,function(e){if(!e)return!1;let t=s(e);if(!t)return!0;for(let e of i)if(t.startsWith(e))return!0;return!1},"stripFrameworkBoilerplate",0,s])},79357,e=>{"use strict";let t={input:0,output:0,cacheRead:0,cacheWrite:0},i=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],s=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/;function n(e){for(let t of i){let i=e.lastIndexOf(t);if(i>=0)return{idx:i,marker:t}}return null}function a(e){let t=s.exec(e);if(!t)return null;let i=t[1],n=+!!t[0].endsWith("/");return{canonicalEndIdx:t.index+t[0].length-i.length-1-n,workspaceName:i}}let o="/.superset/worktrees/",r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function l(e){let t=e.indexOf(o);if(t<0)return null;let i=e.slice(t+o.length).split("/").filter(Boolean);if(0===i.length)return null;let s=r.test(i[0])?i[1]??i[0]:i[0];return{canonical:e.slice(0,t)+o+s,workspaceName:s}}function u(e){let t=e.replace(/\/{2,}/g,"/"),i=n(t);if(i)return t.slice(0,i.idx);let s=a(t);if(s)return t.slice(0,s.canonicalEndIdx);let o=l(t);return o?o.canonical:t}function c(e){let t=e.replace(/\/{2,}/g,"/"),i=n(t);if(i){let e=t.slice(i.idx+i.marker.length),s=e.indexOf("/");return s>=0?e.slice(0,s):e}let s=a(t);if(s)return s.workspaceName;let o=l(t);return o?o.workspaceName:null}function m(e){let t=u(e),i=t.replace(/\/+$/,"").split("/").filter(Boolean);return i[i.length-1]||t}function d(e){let i={sessionCount:e.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...t},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let t of e)i.totalDurationMs+=t.durationMs??0,i.totalAirTimeMs+=t.airTimeMs??t.durationMs??0,i.totalTokens.input+=t.totalUsage.input,i.totalTokens.output+=t.totalUsage.output,i.totalTokens.cacheRead+=t.totalUsage.cacheRead,i.totalTokens.cacheWrite+=t.totalUsage.cacheWrite,i.totalToolCalls+=t.toolCallCount??0,i.totalTurns+=t.turnCount??0,i.totalLinesAdded+=t.linesAdded??0,i.totalLinesRemoved+=t.linesRemoved??0,i.totalFilesEdited+=t.filesEdited??0;return e.length>0&&(i.avgTurnsPerSession=i.totalTurns/e.length,i.avgDurationMs=i.totalDurationMs/e.length),i}e.s(["canonicalProjectName",0,u,"computeBurstsFromSessions",0,function(e,t={}){let i=[];for(let t of e)t.activeSegments&&0!==t.activeSegments.length&&i.push({id:t.id,projectDir:t.projectDir,segments:t.activeSegments});return function(e,t){let i=t.minDurationMs??6e4,s=t.mergeGapMs??6e5,n=t.minActive??2,a=[];for(let t of e)for(let e of t.segments)e.endMs<=e.startMs||(a.push({ms:e.startMs,delta:1,sessionId:t.id}),a.push({ms:e.endMs,delta:-1,sessionId:t.id}));a.sort((e,t)=>e.ms-t.ms||t.delta-e.delta);let o=new Map,r=[],l=null;for(let e of a){if(1===e.delta)o.set(e.sessionId,(o.get(e.sessionId)??0)+1);else{let t=(o.get(e.sessionId)??0)-1;t<=0?o.delete(e.sessionId):o.set(e.sessionId,t)}let t=o.size;if(t>=n)if(l)for(let i of(l.endMs=e.ms,t>l.peak&&(l.peak=t),o.keys()))l.sessionIds.add(i);else l={startMs:e.ms,endMs:e.ms,peak:t,sessionIds:new Set(o.keys())};else l&&(l.endMs=e.ms,r.push(l),l=null)}l&&r.push(l);let u=r.filter(e=>e.endMs-e.startMs>=i),c=[];for(let e of u){let t=c[c.length-1];if(t&&e.startMs-t.endMs<=s)for(let i of(t.endMs=e.endMs,e.peak>t.peak&&(t.peak=e.peak),e.sessionIds))t.sessionIds.add(i);else c.push({startMs:e.startMs,endMs:e.endMs,peak:e.peak,sessionIds:new Set(e.sessionIds)})}let m=new Map;for(let t of e)m.set(t.id,t.projectDir);return c.map(e=>{let t=Array.from(new Set(Array.from(e.sessionIds).map(e=>m.get(e)).filter(e=>!!e)));return{startMs:e.startMs,endMs:e.endMs,peak:e.peak,sessionIds:Array.from(e.sessionIds),projectDirs:t,crossProject:t.length>1}})}(i,t)},"groupByProject",0,function(e){let t=new Map,i=function(e){let t=new Map;for(let i of e)i.repoName&&t.set(m(i.projectName),i.repoName);return e=>e.repoName??t.get(m(e.projectName))??m(e.projectName)}(e);for(let s of e){let e=i(s),n=t.get(e);n||(n={projectDir:e,projectName:e,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:d([]),perAgent:[],lastActiveMs:void 0},t.set(e,n)),n.sessions.push(s),n.rawProjectDirs.includes(s.projectDir)||n.rawProjectDirs.push(s.projectDir);let a=s.lastTimestamp?Date.parse(s.lastTimestamp):void 0;a&&(!n.lastActiveMs||a>n.lastActiveMs)&&(n.lastActiveMs=a)}for(let e of t.values()){e.metrics=d(e.sessions);let t=new Set;for(let i of e.sessions){let e=i.worktreeName??c(i.projectName)??(i.cwd?c(i.cwd):null);e&&t.add(e)}e.worktreeCount=t.size;let i=new Map;for(let t of e.sessions){let e=t.agent??"claude-code",s=i.get(e);s||(s={agent:e,sessions:0},i.set(e,s)),s.sessions+=1}e.perAgent=Array.from(i.values()).sort((e,t)=>t.sessions-e.sessions)}return Array.from(t.values()).sort((e,t)=>(t.lastActiveMs??0)-(e.lastActiveMs??0))},"projectKey",0,m,"toLocalDay",0,function(e){let t=new Date(e),i=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${i}-${s}-${n}`},"worktreeName",0,c])},43427,63950,e=>{"use strict";let t;e.s(["agentSources",()=>tN,"appendUsageSnapshot",()=>tC,"cclensHome",()=>tk,"cclensPath",()=>t_,"getAnySession",()=>tj,"invalidateFile",()=>tT,"listAllSessions",()=>tb,"pruneUsageAgent",()=>tx],43427);var i=e.i(2157),s=e.i(60526),n=e.i(50227),a=e.i(39587),o=e.i(36521),r=e.i(79357);let l={input:0,output:0,cacheRead:0,cacheWrite:0};function u(e,t=200){let i=e.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return i.length>t?i.slice(0,t-1)+"…":i}let c=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function m(e){let t=e.match(c);if(!t)return;let i=t[1],s=t[2].trim(),n="message";if(s.startsWith("{"))try{let e=JSON.parse(s);"idle_notification"===e.type?n="idle-notification":"shutdown_request"===e.type?n="shutdown-request":"shutdown_approved"===e.type?n="shutdown-approved":"task_assignment"===e.type?n="task-assignment":"teammate_terminated"===e.type&&(n="teammate-terminated")}catch{}return{teammateId:i,body:s,kind:n}}function d(e){if(!e||"object"!=typeof e)return;let t=e=>"number"==typeof e?e:0;return{input:t(e.input_tokens),output:t(e.output_tokens),cacheRead:t(e.cache_read_input_tokens),cacheWrite:t(e.cache_creation_input_tokens)}}function p(e){let t,i,s,n,a,c,p,f,g,y,h,w=[];for(let t=0;t<e.length;t++){let i=function(e,t){if(!e||"object"!=typeof e)return null;let i=String(e.type??""),s=e.uuid,n=e.parentUuid??null,a=e.timestamp;if("assistant"===i){let o,r,l,c=e.message??{},m=c.content??[],p=d(c.usage),f=c.model,g=e.requestId,y=c.id,h=c.stop_reason,w=m[0],M="agent";return w?.type==="thinking"?(M="agent-thinking",o="[thinking] "+u(w.thinking,140)):w?.type==="tool_use"?(M="tool-call",r=w.name,l=w.id,o=`${w.name} `+u(JSON.stringify(w.input??{}),100)):o=w?.type==="text"?u(w.text,200):`<assistant:${w?.type??"empty"}>`,{index:t,uuid:s,parentUuid:n,timestamp:a,role:M,rawType:i,preview:o,blocks:m,usage:p,model:f,requestId:g,messageId:y,stopReason:h,toolName:r,toolUseId:l,raw:e}}if("user"===i){let r=(e.message??{}).content;if("string"==typeof r){let l=(0,o.stripFrameworkBoilerplate)(r),c=m(l);return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:u(l,200),blocks:l?[{type:"text",text:l}]:[],raw:e,teammateMessage:c}}if(Array.isArray(r)){let l=r[0];if(l?.type==="tool_result")return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"tool-result",rawType:i,preview:u("string"==typeof l.content?l.content:JSON.stringify(l.content),200),blocks:r,toolUseId:l.tool_use_id,toolResult:e.toolUseResult,raw:e};let c=r.find(e=>e?.type==="text"),d=c?(0,o.stripFrameworkBoilerplate)(c.text):"",p=c?r.map(e=>e===c?{type:"text",text:d}:e):r,f=d?m(d):void 0;return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:d?u(d,200):u(JSON.stringify(r),200),blocks:p,raw:e,teammateMessage:f}}}if("attachment"===i){let o=e.attachment??{},r=String(o.type??"attachment"),l=`<attachment: ${r}>`;return"string"==typeof o.content&&o.content.length>0?l=`[${r}] `+u(o.content,140):Array.isArray(o.addedNames)&&(l=`[${r}] +${o.addedNames.length} names`),{index:t,uuid:s,parentUuid:n,timestamp:a,role:"system",rawType:i,preview:l,blocks:[{type:"text",text:JSON.stringify(o,null,2)}],attachmentType:r,raw:e}}return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"meta",rawType:i||"unknown",preview:`${i}: ${u(JSON.stringify(e),140)}`,blocks:[{type:"text",text:JSON.stringify(e,null,2)}],raw:e}}(e[t],t);i&&w.push(i)}for(let e of w){if(!e.timestamp)continue;let s=Date.parse(e.timestamp);!Number.isNaN(s)&&((void 0===t||s<t)&&(t=s),(void 0===i||s>i)&&(i=s))}let M=void 0!==t?new Date(t).toISOString():void 0,v=void 0!==i?new Date(i).toISOString():void 0;for(let e of w){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isNaN(i)||void 0!==t&&(e.tOffsetMs=Math.max(0,i-t))}let k=w.filter(e=>{let t;return e.timestamp&&("user"===(t=e.role)||"agent"===t||"agent-thinking"===t||"tool-call"===t||"tool-result"===t)}).map(e=>({e,ms:Date.parse(e.timestamp)})).filter(e=>!Number.isNaN(e.ms)).sort((e,t)=>e.ms-t.ms);for(let e=1;e<k.length;e++)k[e].e.gapMs=Math.max(0,k[e].ms-k[e-1].ms);let _=w.filter(e=>e.timestamp).map(e=>Date.parse(e.timestamp)).filter(e=>!Number.isNaN(e)).sort((e,t)=>e-t),T=[],N=0;if(_.length>0){let e=_[0],t=_[0];for(let i=1;i<_.length;i++){let s=_[i],n=s-t;n>18e4?(T.push({startMs:e,endMs:t}),e=s):n>0&&(N+=n),t=s}T.push({startMs:e,endMs:t})}let b=new Map,j=[];for(let e of w){if(!e.timestamp)continue;let t=Date.parse(e.timestamp);if(!Number.isNaN(t)){if("assistant"===e.rawType&&e.usage&&e.messageId){let i=b.get(e.messageId);i?(i.siblings.push(e),t<i.ms&&(i.rep=e,i.ms=t)):b.set(e.messageId,{rep:e,ms:t,siblings:[e]})}else if("system"===e.rawType){let i=e.raw;if(i?.subtype!=="compact_boundary")continue;let s=i.compactMetadata??{};j.push({ms:t,trigger:"manual"===s.trigger?"manual":"auto",preTokens:"number"==typeof s.preTokens?s.preTokens:0})}}}let I=[...b.values()].sort((e,t)=>e.ms-t.ms);j.sort((e,t)=>e.ms-t.ms);let C=0,x=0,S=(e,t)=>{for(let i of e.siblings)i.coldResume=t;C++,x+=t.writeTokens},A=new Set;for(let e of j){let t,i=I.find(t=>t.ms>e.ms&&(t.rep.usage?.cacheWrite??0)>=1e3);if(!i)continue;for(let i=I.length-1;i>=0;i--)if(I[i].ms<=e.ms){t=I[i].ms;break}let s=i.rep.usage,n=s.cacheWrite+s.cacheRead;S(i,{trigger:"compact",gapMs:void 0!==t?i.ms-t:0,writeTokens:s.cacheWrite,writeRatio:n>0?s.cacheWrite/n:0,compact:{trigger:e.trigger,preTokens:e.preTokens}}),A.add(i.rep.messageId)}for(let e=1;e<I.length;e++){let t=I[e-1],i=I[e];if(A.has(i.rep.messageId))continue;let s=i.rep.usage,n=s.cacheWrite+s.cacheRead,a=n>0?s.cacheWrite/n:0,o=i.ms-t.ms;o>3e5&&s.cacheWrite>=1e3&&a>=.3&&S(i,{trigger:"idle",gapMs:o,writeTokens:s.cacheWrite,writeRatio:a})}let P={...l},D=new Set,z="",B=!1,R=!1,U=0,O=0,$=0,F=0,W=new Set,E=new Map,L=void 0!==t?(0,r.toLocalDay)(t):void 0,J=e=>{let t;if(e){let i=Date.parse(e);Number.isNaN(i)||(t=(0,r.toLocalDay)(i))}if(!(t=t??L))return;let i=E.get(t);return i||(i={toolCalls:0,turns:0,tokens:{...l}},E.set(t,i)),i};for(let e of w){if("tool-call"===e.role){U++;let t=J(e.timestamp);t&&t.toolCalls++;let i=e.blocks.find(e=>e&&"tool_use"===e.type);if(i){let e=i.input??{};if("TeamCreate"===i.name&&(B=!0),"SendMessage"===i.name){let t="string"==typeof e.to?e.to:"";t&&"team-lead"!==t&&(R=!0)}let t="string"==typeof e.file_path?e.file_path:void 0;if("Edit"===i.name&&t){W.add(t);let i="string"==typeof e.old_string?e.old_string:"",s="string"==typeof e.new_string?e.new_string:"",n=i?i.split("\n").length:0,a=s?s.split("\n").length:0;$+=Math.max(0,a-n),F+=Math.max(0,n-a)}else if("Write"===i.name&&t){W.add(t);let i="string"==typeof e.content?e.content:"";$+=i?i.split("\n").length:0}}}if("user"===e.role){let t=function(e){let t=e?.content;if("string"==typeof t)return t;if(Array.isArray(t)){for(let e of t)if(e&&"object"==typeof e&&"text"===e.type&&"string"==typeof e.text)return e.text}return""}(e.raw?.message),i=(0,o.isFrameworkInjectedUserInput)(t),s=void 0!==e.teammateMessage&&!f;if(!i&&!s){g||(g=e.teammateMessage?e.teammateMessage.body:e.preview),O++;let t=J(e.timestamp);t&&t.turns++,h=e.preview}}"agent"===e.role&&(y=e.preview)}for(let t of e)if(t&&"object"==typeof t&&("string"!=typeof t.sessionId||z||(z=t.sessionId),"string"!=typeof t.cwd||n||(n=t.cwd),"string"!=typeof t.gitBranch||a||(a=t.gitBranch),"string"!=typeof t.entrypoint||c||(c=t.entrypoint),"string"!=typeof t.teamName||p||(p=t.teamName),"string"!=typeof t.agentName||f||(f=t.agentName),"assistant"===t.type)){let e=t.message;if(e){"string"!=typeof e.model||s||(s=e.model);let i="string"==typeof e.id?e.id:void 0;if(i&&D.has(i))continue;i&&D.add(i);let n=d(e.usage);if(n){P.input+=n.input,P.output+=n.output,P.cacheRead+=n.cacheRead,P.cacheWrite+=n.cacheWrite;let e=J("string"==typeof t.timestamp?t.timestamp:void 0);e&&(e.tokens.input+=n.input,e.tokens.output+=n.output,e.tokens.cacheRead+=n.cacheRead,e.tokens.cacheWrite+=n.cacheWrite)}}}return{events:w,meta:{sessionId:z,firstTimestamp:M,lastTimestamp:v,durationMs:void 0!==t&&void 0!==i?i-t:void 0,eventCount:w.length,model:s,cwd:n,gitBranch:a,entrypoint:c,totalUsage:P,status:"idle",firstUserPreview:g,lastUserPreview:h,lastAgentPreview:y,toolCallCount:U,turnCount:O,dailyBreakdown:Array.from(E.entries()).map(([e,t])=>({day:e,toolCalls:t.toolCalls,turns:t.turns,tokens:t.tokens})).sort((e,t)=>e.day.localeCompare(t.day)),airTimeMs:N,activeSegments:T,linesAdded:$,linesRemoved:F,filesEdited:W.size,coldResumeCount:C,cacheRebuildTokens:x,teamName:p,agentName:f,isTeamLead:void 0!==p&&void 0===f&&(B||R)}}}let f=/^(?:(?:https?|ssh|git):\/\/)?(?:[^@/]+@)?([^/:]+)[:/](.+?)(?:\.git)?\/?$/;function g(e){try{return(0,i.realpathSync)(e)}catch{return e}}function y(e){let t=g(e.replace(/\/{2,}/g,"/"));try{let e=function(e){let t;if(!e||!(0,n.isAbsolute)(e))return null;let a=(t=g((0,s.homedir)()),e===t||e.startsWith(`${t}/`)?t:void 0);for(let t=e.replace(/\/+$/,"")||e;;t=(0,n.dirname)(t)){if(t===a)return null;let e=function(e){let t=(0,n.join)(e,".git"),s=(0,i.statSync)(t,{throwIfNoEntry:!1});if(!s)return null;if(s.isDirectory())return{root:e,gitDir:t,commonDir:t};let a=function(e,t){let i=t.match(/^gitdir:\s*(.+)\s*$/m);if(!i)return;let s=i[1].trim();return(0,n.isAbsolute)(s)?s:(0,n.resolve)(e,s)}(e,(0,i.readFileSync)(t,"utf8"));return a?{root:e,gitDir:a,commonDir:function(e){let t=(0,n.join)(e,"commondir");if(!(0,i.existsSync)(t))return;let s=(0,i.readFileSync)(t,"utf8").trim();if(s)return(0,n.isAbsolute)(s)?s:(0,n.resolve)(e,s)}(a)}:{root:e}}(t);if(e)return e;if((0,n.dirname)(t)===t)return null}}(t);if(e){let s=g(function(e){if(e)return".git"===(0,n.basename)(e)?(0,n.dirname)(e):void 0}(e.commonDir)??e.root),a=g(e.root),o=s!==a?(0,r.worktreeName)(t)??(0,n.basename)(e.root):void 0,l={projectName:s};o&&(l.worktreeName=o);let u=function(e){let t=e.commonDir??e.gitDir;if(!t)return;let s=(0,n.join)(t,"config");if(!(0,i.existsSync)(s))return;let a=function(e){let t=!1;for(let i of e.split("\n")){let e=i.trim();if(e.startsWith("[")){t=/^\[remote\s+"origin"\]/.test(e);continue}if(!t)continue;let s=e.match(/^url\s*=\s*(.+)$/);if(s)return s[1].trim()}}((0,i.readFileSync)(s,"utf8"));return a?function(e){let t=e.match(f);if(!t)return;let i=t[1],s=t[2].split("/").filter(Boolean);if(s.length<2)return;let n=s[s.length-1],a=s.slice(0,-1).join("/");return{host:i,owner:a,name:n,url:e,webUrl:`https://${i}/${a}/${n}`}}(a):void 0}(e);return u&&(l.remote=u,l.repoName=u.name),l}}catch{}let a=(0,r.canonicalProjectName)(t),o=(0,r.worktreeName)(t)??void 0;return o?{projectName:a,worktreeName:o}:{projectName:a}}var h=e.i(1457);class w extends Error{filePath;sizeBytes;code="JSONL_TOO_LARGE";constructor(e,t){super(`transcript too large to parse (${t} bytes): ${e}`),this.filePath=e,this.sizeBytes=t,this.name="JsonlTooLargeError"}}function M(e){return e>0x4000000}async function v(e){let t=await i.promises.stat(e);if(M(t.size))throw new w(e,t.size);let s=[],n=(0,h.createInterface)({input:(0,i.createReadStream)(e,{encoding:"utf8"}),crlfDelay:1/0}),a=0;for await(let e of n)!function(e,t){let i=e.trim();if(i&&!(Buffer.byteLength(i)>2097152))try{t.push(JSON.parse(i))}catch{}}(e,s),++a%1e3==0&&await Promise.resolve();return s}async function k(e,t,i){let s=Array(e.length),n=0;async function a(){for(;;){let t=n++;if(t>=e.length)return;s[t]=await i(e[t],t)}}let o=Math.min(Math.max(1,t),e.length);return 0===e.length||await Promise.all(Array.from({length:o},()=>a())),s}function _(e,t,i,s=4){for(e.has(t)&&e.delete(t),e.set(t,i);e.size>s;){let t=e.keys().next().value;if(void 0===t)break;e.delete(t)}}function T(e,t){let i=e.get(t);if(void 0!==i)return e.delete(t),e.set(t,i),i}let N=n.default.join(s.default.homedir(),".claude","projects");function b(e){return e.startsWith("-")?"/"+e.slice(1).replace(/-/g,"/"):e}let j=n.default.join(s.default.homedir(),".cclens","runtime").replace(/[/.]/g,"-");function I(e){return e.replace(/\.jsonl$/i,"")}let C=new Map,x=new Map,S=new Map,A=null;function P(e){C.delete(e),x.delete(e),S.delete(e),A=null}async function D(e=N){let t;if(A&&A.root===e&&Date.now()-A.capturedAtMs<1e3)return A.files;try{t=await i.promises.readdir(e,{withFileTypes:!0})}catch{return[]}let s=t.filter(e=>e.isDirectory()&&e.name!==j).map(e=>e.name),a=(await Promise.all(s.map(async t=>{let s,a=n.default.join(e,t);try{s=await i.promises.readdir(a)}catch{return[]}let o=s.filter(e=>e.endsWith(".jsonl"));return(await Promise.all(o.map(async e=>{let s=n.default.join(a,e);try{let n=await i.promises.stat(s);return{projectDir:t,fileName:e,fullPath:s,mtimeMs:n.mtimeMs,sizeBytes:n.size}}catch{return null}}))).filter(e=>null!==e)}))).flat();return A={files:a,capturedAtMs:Date.now(),root:e},a}let z={input:0,output:0,cacheRead:0,cacheWrite:0};function B(e,t,i,s,n){for(let a of e){if(!a||"object"!=typeof a||"assistant"!==a.type)continue;let e=a.message;if(!e)continue;let o="string"==typeof e.id?e.id:void 0,l="string"==typeof a.requestId?a.requestId:void 0,u=null!=o&&null!=l?`${o}:${l}`:void 0;if(u&&t.has(u))continue;u&&t.add(u);let c=e.usage;if(c){let e=e=>"number"==typeof e?e:0,t=e(c.input_tokens),o=e(c.output_tokens),l=e(c.cache_read_input_tokens),u=e(c.cache_creation_input_tokens);if(i.input+=t,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u,s){let e,i="string"==typeof a.timestamp?a.timestamp:void 0;if(i){let t=Date.parse(i);Number.isNaN(t)||(e=(0,r.toLocalDay)(t))}if(e=e??n){let i=s.get(e);i||(i={...z},s.set(e,i)),i.input+=t,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u}}}}}async function R(e,t,s,a){let o,r={...z},l=new Set,u=new Map;B(e,l,r,u,a);let c=n.default.join(t,s,"subagents");try{o=await i.promises.readdir(c)}catch{return{usage:r,perDay:u}}let m=o.filter(e=>e.endsWith(".jsonl"));return 0===m.length||await Promise.all(m.map(async e=>{try{let t=await v(n.default.join(c,e));B(t,l,r,u,a)}catch{}})),{usage:r,perDay:u}}async function U(e,t){let s,a=n.default.join(e,t,"workflows");try{s=await i.promises.readdir(a)}catch{return{workflowCount:0,spawnedAgentCount:0,spans:[]}}let o=s.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===o.length)return{workflowCount:0,spawnedAgentCount:0,spans:[]};let r=0,l=[];return{workflowCount:(await Promise.all(o.map(async e=>{try{let t=JSON.parse(await i.promises.readFile(n.default.join(a,e),"utf8"));return"number"==typeof t.agentCount&&(r+=t.agentCount),"number"==typeof t.startTime&&"number"==typeof t.durationMs&&t.durationMs>0&&l.push({startMs:t.startTime,endMs:t.startTime+t.durationMs}),!0}catch{return!1}}))).filter(Boolean).length,spawnedAgentCount:r,spans:l}}async function O(e,t){let s;try{s=await i.promises.readdir(e,{withFileTypes:!0})}catch{return 0}return(await Promise.all(s.map(async s=>{let a=n.default.join(e,s.name);try{if(s.isDirectory())return t>0?await O(a,t-1):0;return(await i.promises.stat(a)).mtimeMs}catch{return 0}}))).reduce((e,t)=>Math.max(e,t),0)}async function $(e,t){let i=n.default.join(e,t),[s,a]=await Promise.all([O(n.default.join(i,"subagents"),2),O(n.default.join(i,"workflows"),0)]),o=Math.max(s,a);return o>0?o:void 0}async function F(e,t){let i=await $(n.default.dirname(t.fullPath),e.id),s=e.lastTimestamp?Date.parse(e.lastTimestamp):0,a=Math.max(Number.isFinite(s)?s:0,i??0);return a>0?{...e,lastActivityMs:a}:e}function W(e,t){if(0===t.length)return{};let i=[...e??[],...t].filter(e=>e.endMs>e.startMs).sort((e,t)=>e.startMs-t.startMs);if(0===i.length)return{};let s=[{...i[0]}];for(let e=1;e<i.length;e++){let t=i[e],n=s[s.length-1];t.startMs<=n.endMs?n.endMs=Math.max(n.endMs,t.endMs):s.push({...t})}let n=s.reduce((e,t)=>e+(t.endMs-t.startMs),0);return{activeSegments:s,airTimeMs:n}}async function E(e,t,i){let s=I(i.fileName),a=n.default.dirname(i.fullPath),o=e.firstTimestamp?(0,r.toLocalDay)(Date.parse(e.firstTimestamp)):void 0,{usage:l,perDay:u}=await R(t,a,s,o);e.totalUsage=l,e.dailyBreakdown=function(e,t,i){let s=new Map((e??[]).map(e=>[e.day,e])),n=[...new Set([...s.keys(),...t.keys()])].sort((e,t)=>e.localeCompare(t)).map(e=>({day:e,toolCalls:s.get(e)?.toolCalls??0,turns:s.get(e)?.turns??0,tokens:{...t.get(e)??z}}));if(n.length>0){let e=n.reduce((e,t)=>({input:e.input+t.tokens.input,output:e.output+t.tokens.output,cacheRead:e.cacheRead+t.tokens.cacheRead,cacheWrite:e.cacheWrite+t.tokens.cacheWrite}),{...z}),t=n[0].tokens;t.input+=i.input-e.input,t.output+=i.output-e.output,t.cacheRead+=i.cacheRead-e.cacheRead,t.cacheWrite+=i.cacheWrite-e.cacheWrite}return n}(e.dailyBreakdown,u,l)}async function L(e){let t=C.get(e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.meta;if(M(e.sizeBytes))return null;try{let t=await v(e.fullPath),{meta:i}=p(t);await E(i,t,e);let s=I(e.fileName),a=n.default.dirname(e.fullPath),o=await U(a,s),r=i.cwd??b(e.projectDir),l=y(r),u={...i,id:s,filePath:e.fullPath,projectDir:e.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...W(i.activeSegments,o.spans)};return C.set(e.fullPath,{meta:u,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),u}catch{return null}}async function J(e){let t=T(x,e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.detail;if(M(e.sizeBytes))return null;try{let t=await v(e.fullPath),{meta:i,events:s}=p(t),a=I(e.fileName);await E(i,t,e);let o=await U(n.default.dirname(e.fullPath),a),r=i.cwd??b(e.projectDir),l=y(r),u={...i,id:a,filePath:e.fullPath,projectDir:e.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,events:s,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...W(i.activeSegments,o.spans)};_(x,e.fullPath,{detail:u,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes});let c={...u};return delete c.events,C.set(e.fullPath,{meta:c,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),u}catch{return null}}async function G(e={}){let{root:t=N,limit:i=500,projectDir:s}=e,n=await D(t);s&&(n=n.filter(e=>e.projectDir===s)),n.sort((e,t)=>t.mtimeMs-e.mtimeMs);let a=n.slice(0,i);return(await k(a,4,async e=>{let t=await L(e);return t?F(t,e):null})).filter(e=>null!==e)}async function q(e,t={}){let{root:i=N}=t,s=(await D(i)).find(t=>I(t.fileName)===e);if(!s)return null;let a=await J(s);if(!a)return a;let o=a.firstTimestamp?Date.parse(a.firstTimestamp):void 0,r=n.default.join(n.default.dirname(s.fullPath),I(s.fileName),"subagents"),l=n.default.join(n.default.dirname(s.fullPath),I(s.fileName),"workflows"),[u,c]=await Promise.all([K(r,o,a.events),Y(l,o,a.events)]),m=c.reduce((e,t)=>e+t.agentCount,0);return F({...a,subagents:u,workflows:c,...c.length>0?{workflowCount:c.length,spawnedAgentCount:m}:{}},s)}function H(e){let t,i,s,n,a,o={...z},r=new Set,l=0,u=0,c=0,m=new Map;for(let d of e){if(!d||"object"!=typeof d)continue;l++;let e="string"==typeof d.timestamp?Date.parse(d.timestamp):NaN;if(!Number.isNaN(e)&&((void 0===t||e<t)&&(t=e),(void 0===i||e>i)&&(i=e)),void 0===a&&"user"===d.type&&(null===d.parentUuid||void 0===d.parentUuid)){let e=d.message,t=e?.content;if("string"==typeof t)a=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(a=e.text)}}if("assistant"===d.type){let e=d.message;if(!e)continue;n||"string"!=typeof e.model||(n=e.model);let t="string"==typeof e.id?e.id:void 0,i="string"==typeof d.requestId?d.requestId:void 0,a=null!=t&&null!=i?`${t}:${i}`:void 0,l=!a||!r.has(a);if(a&&l&&r.add(a),l){u++;let t=e.usage;if(t){let e=e=>"number"==typeof e?e:0;o.input+=e(t.input_tokens),o.output+=e(t.output_tokens),o.cacheRead+=e(t.cache_read_input_tokens),o.cacheWrite+=e(t.cache_creation_input_tokens)}}let p=e.content;if(Array.isArray(p))for(let e of p)e&&"object"==typeof e&&("text"===e.type&&"string"==typeof e.text?s=e.text:"tool_use"===e.type&&"string"==typeof e.name&&(c++,m.set(e.name,(m.get(e.name)??0)+1)))}}let d=Array.from(m.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count);return{startMs:t,endMs:i,totalUsage:o,eventCount:l,finalPreview:void 0!==s?s.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:s,model:n,toolCalls:d,toolCallCount:c,assistantMessageCount:u,initialPrompt:a}}async function K(e,t,s){let a;try{a=await i.promises.readdir(e)}catch{return[]}let o=new Map,r=[];for(let e of s)if("tool-call"===e.role&&"Agent"===e.toolName)for(let t of e.blocks){if(t?.type!=="tool_use"||"Agent"!==t.name)continue;let i=t.input??{},s="string"==typeof i.description?i.description:void 0,n=e.timestamp?Date.parse(e.timestamp):void 0,a={toolUseId:t.id,parentUuid:e.uuid??"",runInBackground:!0===i.run_in_background,prompt:"string"==typeof i.prompt?i.prompt:void 0,tsMs:n};s&&o.set(s,a),void 0!==n&&r.push(a)}r.sort((e,t)=>(e.tsMs??0)-(t.tsMs??0));let l=a.filter(e=>e.startsWith("agent-")&&e.endsWith(".jsonl"));return(await Promise.all(l.map(async s=>{let a,l=s.replace(/^agent-/,"").replace(/\.jsonl$/,""),u=n.default.join(e,s),c=n.default.join(e,`agent-${l}.meta.json`),m={};try{let e=await i.promises.readFile(c,"utf8");m=JSON.parse(e)}catch{}try{a=await v(u)}catch{return null}let d=H(a),p=m.description&&m.description.trim().length>0?m.description:void 0,f=p?o.get(p):function(e){let t;if(void 0===e)return;let i=1/0;for(let s of r){if(void 0===s.tsMs)continue;let n=Math.abs(e-s.tsMs);n<i&&n<=2e3&&(t=s,i=n)}return t}(d.startMs),g=p??(d.initialPrompt?d.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),y=f?.prompt??d.initialPrompt,h=void 0!==t&&void 0!==d.startMs?Math.max(0,d.startMs-t):void 0,w=void 0!==t&&void 0!==d.endMs?Math.max(0,d.endMs-t):void 0,M=void 0!==d.startMs&&void 0!==d.endMs?d.endMs-d.startMs:void 0;return{agentId:l,agentType:m.agentType??"unknown",description:g,startMs:d.startMs,endMs:d.endMs,durationMs:M,startTOffsetMs:h,endTOffsetMs:w,eventCount:d.eventCount,totalUsage:d.totalUsage,parentUuid:f?.parentUuid,parentToolUseId:f?.toolUseId,runInBackground:f?.runInBackground,prompt:y,finalPreview:d.finalPreview,finalText:d.finalText,model:d.model,toolCalls:d.toolCalls,toolCallCount:d.toolCallCount,assistantMessageCount:d.assistantMessageCount}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function Y(e,t,s){let a;try{a=await i.promises.readdir(e)}catch{return[]}let o=a.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===o.length)return[];let r=[];for(let e of s){if("tool-call"!==e.role||"Workflow"!==e.toolName)continue;let t=e.timestamp?Date.parse(e.timestamp):NaN;if(!Number.isNaN(t))for(let i of e.blocks)i?.type==="tool_use"&&"Workflow"===i.name&&r.push({toolUseId:i.id,parentUuid:e.uuid??"",tsMs:t})}r.sort((e,t)=>e.tsMs-t.tsMs);let l=e=>"number"==typeof e?e:void 0,u=e=>"string"==typeof e&&e.length>0?e:void 0;return(await Promise.all(o.map(async s=>{let a;try{a=JSON.parse(await i.promises.readFile(n.default.join(e,s),"utf8"))}catch{return null}let o=u(a.runId)??s.replace(/\.json$/,""),c=l(a.startTime),m=l(a.durationMs),d=void 0!==c&&void 0!==m?c+m:void 0,p=void 0!==t&&void 0!==c?Math.max(0,c-t):void 0,f=void 0!==t&&void 0!==d?Math.max(0,d-t):void 0,g=Array.isArray(a.phases)?a.phases.filter(e=>!!e&&"object"==typeof e&&"string"==typeof e.title).map(e=>({title:e.title,detail:u(e.detail)})):[],y=Array.isArray(a.logs)?a.logs.filter(e=>"string"==typeof e):[],h=(e,t)=>{let i=u(e);return void 0===i?void 0:i.length>t?i.slice(0,t)+"…":i},w=(Array.isArray(a.workflowProgress)?a.workflowProgress:[]).filter(e=>!!e&&"object"==typeof e&&"workflow_agent"===e.type).map(e=>({index:l(e.index)??0,label:u(e.label)??"(agent)",phaseIndex:l(e.phaseIndex),phaseTitle:u(e.phaseTitle),agentId:u(e.agentId),model:u(e.model),state:u(e.state),startedAt:l(e.startedAt),durationMs:l(e.durationMs),tokens:l(e.tokens),toolCalls:l(e.toolCalls),lastToolSummary:h(e.lastToolSummary,200),promptPreview:h(e.promptPreview,600),resultPreview:h(e.resultPreview,600)})).sort((e,t)=>e.index-t.index),M=(e=>{let t,i;if(void 0===e||0===r.length)return;let s=1/0,n=1/0;for(let a of r){let o=Math.abs(e-a.tsMs);!(o>6e4)&&(o<n&&(i=a,n=o),a.tsMs<=e&&o<s&&(t=a,s=o))}return t??i})(c);return{runId:o,name:u(a.workflowName)??o,description:u(a.summary),status:u(a.status)??"unknown",agentCount:l(a.agentCount)??0,toolCallCount:l(a.totalToolCalls)??0,totalTokens:l(a.totalTokens)??0,durationMs:m,startMs:c,endMs:d,startTOffsetMs:p,endTOffsetMs:f,model:u(a.defaultModel),phases:g,logs:y,agents:w,parentToolUseId:M?.toolUseId,parentUuid:M?.parentUuid}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function Z(e,t,i,s={}){let a,o,r,l,u,c,{root:m=N}=s;if(!/^[\w.-]+$/.test(t)||!/^[\w.-]+$/.test(i))return null;let d=(await D(m)).find(t=>I(t.fileName)===e);if(!d)return null;let p=n.default.join(n.default.dirname(d.fullPath),e,"subagents","workflows",t,`agent-${i}.jsonl`);try{a=await v(p)}catch{return null}let f=new Set;for(let e of a){if(!e||"object"!=typeof e)continue;let t=e.message?.content;if(Array.isArray(t))for(let e of t)e&&"object"==typeof e&&"tool_result"===e.type&&!0===e.is_error&&"string"==typeof e.tool_use_id&&f.add(e.tool_use_id)}let g=[],y=new Map,h={...z},w=new Set,M=0,k=0;for(let e of a){if(!e||"object"!=typeof e)continue;k++;let t="string"==typeof e.timestamp?Date.parse(e.timestamp):NaN;if(!Number.isNaN(t)&&((void 0===u||t<u)&&(u=t),(void 0===c||t>c)&&(c=t)),void 0===o&&"user"===e.type&&(null===e.parentUuid||void 0===e.parentUuid)){let t=e.message?.content;if("string"==typeof t)o=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(o=e.text)}}if("assistant"!==e.type)continue;let i=e.message;if(!i)continue;l||"string"!=typeof i.model||(l=i.model);let s="string"==typeof i.id?i.id:void 0,n="string"==typeof e.requestId?e.requestId:void 0,a=null!=s&&null!=n?`${s}:${n}`:void 0,m=!a||!w.has(a);if(a&&m&&w.add(a),m){M++;let e=i.usage;if(e){let t=e=>"number"==typeof e?e:0;h.input+=t(e.input_tokens),h.output+=t(e.output_tokens),h.cacheRead+=t(e.cache_read_input_tokens),h.cacheWrite+=t(e.cache_creation_input_tokens)}}let d=i.content;if(Array.isArray(d)){for(let e of d)if(e&&"object"==typeof e){if("text"===e.type&&"string"==typeof e.text)r=e.text;else if("tool_use"===e.type&&"string"==typeof e.name&&(y.set(e.name,(y.get(e.name)??0)+1),g.length<2e3)){let t=function(e){if(!e||"object"!=typeof e)return"";let t=t=>"string"==typeof e[t]?e[t]:void 0;return t("command")??t("file_path")??t("path")??t("pattern")??t("url")??t("description")??t("query")??t("prompt")??t("old_string")??JSON.stringify(e)}(e.input),i=t.replace(/\s+/g," ").trim().slice(0,160),s=t.length>4e3?t.slice(0,4e3)+"…":t;g.push({index:g.length+1,tool:e.name,preview:i,full:s.length>i.length||s.includes("\n")?s:void 0,isError:"string"==typeof e.id&&f.has(e.id)})}}}}return{agentId:i,prompt:o,finalText:r,steps:g,toolCalls:Array.from(y.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count),toolCallCount:g.length,assistantMessageCount:M,eventCount:k,totalUsage:h,model:l,durationMs:void 0!==u&&void 0!==c?c-u:void 0}}let Q={...a.CLAUDE_CODE_METADATA,defaultRoot:N,async listSessions(e){let t=await G(e);for(let e of t)e.agent||(e.agent="claude-code");return t},async getSession(e,t){let i=await q(e,t);return i&&!i.agent&&(i.agent="claude-code"),i}};e.s(["DEFAULT_ROOT",0,N,"claudeCodeSource",0,Q,"getSession",0,q,"invalidateClaudeCodeFile",0,P,"listSessions",0,G,"loadWorkflowAgentDetail",0,Z,"summarizeSubagentLines",0,H],63950);let V=n.default.join(s.default.homedir(),".codex","sessions"),X=/^rollout-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})-([0-9a-f-]+)\.jsonl$/;async function ee(e){return i.promises.readdir(e).catch(()=>[])}async function et(e){let t=[];for(let s of(await ee(e))){if(!/^\d{4}$/.test(s))continue;let a=n.default.join(e,s);for(let e of(await ee(a))){if(!/^\d{2}$/.test(e))continue;let s=n.default.join(a,e);for(let e of(await ee(s))){if(!/^\d{2}$/.test(e))continue;let a=n.default.join(s,e);for(let e of(await ee(a))){let s=X.exec(e);if(!s)continue;let o=n.default.join(a,e),r=await i.promises.stat(o).catch(()=>null);r&&t.push({filePath:o,sessionId:s[2],mtimeMs:r.mtimeMs,sizeBytes:r.size})}}}}return t}function ei(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function es(e){let t;return((t=e.search(/<oai-mem-citation\b/i))>=0?e.slice(0,t):e).trim()}function en(e){for(let t of e.blocks)if(t?.type==="text"&&"string"==typeof t.text)return t.text;return e.preview??""}function ea(e){for(let t=e.length-1;t>=0;t--)if("agent"===e[t].role)return t;return -1}function eo(e,t){let i=es(e),s=es(t);return!i&&!s||!!i&&!!s&&i===s}function er(e,t){let i,s,n,a,r,l,u,c,m,d,p,f,g=[],h={input:0,output:0,cacheRead:0,cacheWrite:0},w=0,M=0,v=[],k=0;for(let e of t){if("object"!=typeof e||null===e)continue;let t="string"==typeof e.timestamp?e.timestamp:void 0;if(t){i||(i=t),s=t;let e=Date.parse(t);Number.isFinite(e)&&v.push(e)}let y="string"==typeof e.type?e.type:"",T=e.payload??{},N="string"==typeof T.type?T.type:"";if("session_meta"===y){"string"==typeof T.cwd&&(n=T.cwd),void 0===c&&"string"==typeof T.thread_source&&(c=T.thread_source),void 0===m&&"string"==typeof T.session_id&&(m=T.session_id),void 0===d&&"string"==typeof T.parent_thread_id&&(d=T.parent_thread_id),void 0===p&&"string"==typeof T.agent_nickname&&(p=T.agent_nickname),void 0===f&&"string"==typeof T.agent_path&&(f=T.agent_path);continue}if("turn_context"===y){"string"==typeof T.cwd&&(n=T.cwd),"string"==typeof T.model&&(a=T.model);continue}if("event_msg"===y&&"token_count"===N){let e=T.info??null,t=e?.total_token_usage??null;t&&(h.input=el(t.input_tokens)??h.input,h.output=el(t.output_tokens)??h.output,h.cacheRead=el(t.cached_input_tokens)??h.cacheRead);continue}if("event_msg"===y&&"user_message"===N){let i="string"==typeof T.message?T.message:"",s=ei(i),n=(0,o.isFrameworkInjectedUserInput)(i);i&&!n&&(r||(r=s),l=s,M+=1),g.push({index:k++,timestamp:t,role:"user",rawType:"event_msg/user_message",preview:s,blocks:i?[{type:"text",text:i}]:[],raw:e});continue}if("event_msg"===y&&"agent_message"===N){let i="string"==typeof T.message?T.message:"",s=ei(i),n=ea(g);if(n>=0){let o=g[n];if("response_item/message"===o.rawType&&eo(en(o),i)){g[n]={...o,timestamp:t??o.timestamp,rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e},i&&(u=s);continue}if("event_msg/agent_message"===o.rawType&&eo(en(o),i))continue}i&&(u=s),g.push({index:k++,timestamp:t,role:"agent",rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"reasoning"===N){let i=(T.summary??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim();g.push({index:k++,timestamp:t,role:"agent-thinking",rawType:"response_item/reasoning",preview:ei(i),blocks:i?[{type:"thinking",thinking:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"message"===N&&"assistant"===T.role){let i=(T.content??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim(),s=ea(g);if(s>=0&&eo(en(g[s]),i))continue;let n=ei(i);i&&(u=n),g.push({index:k++,timestamp:t,role:"agent",rawType:"response_item/message",preview:n,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"function_call"===N){var _;let i="string"==typeof T.name?T.name:"(unknown)",s="string"==typeof T.call_id?T.call_id:void 0,n="string"==typeof T.arguments?T.arguments:"",o=function(e){if(!e)return null;try{return JSON.parse(e)}catch{return e}}(n);w+=1,g.push({index:k++,timestamp:t,role:"tool-call",rawType:"response_item/function_call",preview:`${i}(${(_=n).length<=80?_:_.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:s??`codex-${k}`,name:i,input:o}],toolName:i,toolUseId:s,model:a,raw:e});continue}if("response_item"===y&&"function_call_output"===N){let i="string"==typeof T.call_id?T.call_id:void 0,s="string"==typeof T.output?T.output:"",n=/process exited with code [1-9]/i.test(s);g.push({index:k++,timestamp:t,role:"tool-result",rawType:"response_item/function_call_output",preview:ei(s),blocks:[{type:"tool_result",tool_use_id:i??"",content:s,is_error:n}],toolUseId:i,toolResult:s,raw:e});continue}g.push({index:k++,timestamp:t,role:"meta",rawType:N?`${y}/${N}`:y,preview:"",blocks:[],raw:e})}if(h.input>0||h.output>0){let t=-1;for(let e=g.length-1;e>=0;e--){let i=g[e].role;if("agent"===i||"agent-thinking"===i||"tool-call"===i){t=e;break}}if(t>=0){let i=g[t];i.messageId=`codex-${e.sessionId}-total`,i.usage={input:h.input,output:h.output,cacheRead:h.cacheRead,cacheWrite:0}}}let T=i?Date.parse(i):void 0;if(void 0!==T&&Number.isFinite(T)){let e;for(let t of g){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-T),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let N=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(v),b=N.reduce((e,t)=>e+(t.endMs-t.startMs),0),j=i&&s?Date.parse(s)-Date.parse(i):void 0,I=n?y(n):void 0,C=I?.projectName??"(unknown)",x=n?n.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:e.sessionId,filePath:e.filePath,projectName:C,worktreeName:I?.worktreeName,repoName:I?.repoName,projectDir:x,sessionId:e.sessionId,firstTimestamp:i,lastTimestamp:s,durationMs:j&&Number.isFinite(j)?j:void 0,eventCount:g.length,model:a,cwd:n,totalUsage:h,status:"idle",firstUserPreview:r,lastUserPreview:l,lastAgentPreview:u,toolCallCount:w,turnCount:M,airTimeMs:b,activeSegments:N},events:g,threadSource:c,rootSessionId:m,parentThreadId:d,agentNickname:p,agentPath:f}}function el(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}let eu=new Map,ec=new Map;async function em(e){let t=await et(e),i=[];for(let e of t){let t=eu.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){i.push({file:e,meta:t.meta,threadSource:t.threadSource,rootSessionId:t.rootSessionId,parentThreadId:t.parentThreadId,agentNickname:t.agentNickname,agentPath:t.agentPath});continue}if(!M(e.sizeBytes))try{let t=await v(e.filePath),s=er(e,t);eu.set(e.filePath,{meta:s.meta,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes,threadSource:s.threadSource,rootSessionId:s.rootSessionId,parentThreadId:s.parentThreadId,agentNickname:s.agentNickname,agentPath:s.agentPath}),i.push({file:e,meta:s.meta,threadSource:s.threadSource,rootSessionId:s.rootSessionId,parentThreadId:s.parentThreadId,agentNickname:s.agentNickname,agentPath:s.agentPath})}catch{}}return i}async function ed(e={}){let t=e.root??V,i=await em(t),s=new Map;for(let e of i){if("subagent"!==e.threadSource||!e.rootSessionId)continue;let t=s.get(e.rootSessionId);t?t.push(e):s.set(e.rootSessionId,[e])}let n=[];for(let e of i){if("subagent"===e.threadSource)continue;let t=s.get(e.meta.id);if(!t||0===t.length){n.push(e.meta);continue}let i={...e.meta,spawnedAgentCount:t.length,totalUsage:{input:e.meta.totalUsage.input+t.reduce((e,t)=>e+t.meta.totalUsage.input,0),output:e.meta.totalUsage.output+t.reduce((e,t)=>e+t.meta.totalUsage.output,0),cacheRead:e.meta.totalUsage.cacheRead+t.reduce((e,t)=>e+t.meta.totalUsage.cacheRead,0),cacheWrite:e.meta.totalUsage.cacheWrite+t.reduce((e,t)=>e+t.meta.totalUsage.cacheWrite,0)},toolCallCount:(e.meta.toolCallCount??0)+t.reduce((e,t)=>e+(t.meta.toolCallCount??0),0)};for(let e of t)e.meta.lastTimestamp&&(!i.lastTimestamp||e.meta.lastTimestamp>i.lastTimestamp)&&(i.lastTimestamp=e.meta.lastTimestamp);n.push(i)}return(n.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?n.slice(0,e.limit):n}async function ep(e,t={}){let i=t.root??V,s=await em(i),n=s.find(t=>t.meta.id===e&&"subagent"!==t.threadSource);if(!n){let t=s.find(t=>t.meta.id===e);if(!t)return null;let i=T(ec,t.file.filePath);if(i&&i.mtimeMs===t.file.mtimeMs&&i.sizeBytes===t.file.sizeBytes)return i.detail;if(M(t.file.sizeBytes))return null;let n=await v(t.file.filePath),{meta:a,events:o}=er(t.file,n),r={...a,events:o};return _(ec,t.file.filePath,{detail:r,mtimeMs:t.file.mtimeMs,sizeBytes:t.file.sizeBytes}),r}let a=n.file,o=T(ec,a.filePath);if(o&&o.mtimeMs===a.mtimeMs&&o.sizeBytes===a.sizeBytes)return o.detail;if(M(a.sizeBytes))return null;let r=await v(a.filePath),{meta:l,events:u}=er(a,r),c=s.filter(t=>"subagent"===t.threadSource&&t.rootSessionId===e),m=l.firstTimestamp?Date.parse(l.firstTimestamp):void 0,d=c.map(e=>{let t,i,s,n,a;return i=(t=e.meta).firstTimestamp?Date.parse(t.firstTimestamp):void 0,s=t.lastTimestamp?Date.parse(t.lastTimestamp):void 0,n=void 0!==i&&Number.isFinite(i)?i:void 0,a=void 0!==s&&Number.isFinite(s)?s:void 0,{agentId:t.id,agentType:e.agentNickname??e.agentPath??"subagent",description:e.agentPath??e.agentNickname??t.id,startMs:n,endMs:a,durationMs:t.durationMs,startTOffsetMs:void 0!==m&&void 0!==n?Math.max(0,n-m):void 0,endTOffsetMs:void 0!==m&&void 0!==a?Math.max(0,a-m):void 0,eventCount:t.eventCount,totalUsage:t.totalUsage,model:t.model,toolCallCount:t.toolCallCount,finalPreview:t.lastAgentPreview}}).sort((e,t)=>(e.startMs??0)-(t.startMs??0)),p={...l,events:u,...d.length>0?{subagents:d,spawnedAgentCount:d.length}:{}};return _(ec,a.filePath,{detail:p,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),p}let ef=n.default.join(s.default.homedir(),".copilot","session-state");function eg(e){return"object"==typeof e&&null!==e?e:void 0}function ey(e){return"string"==typeof e?e:void 0}function eh(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}function ew(e){return("string"==typeof e?e:JSON.stringify(e??"")).replace(/\s+/g," ").trim().slice(0,200)}function eM(e,t){return eh(eg(e?.[t])?.tokenCount)}async function ev(e){let t=await i.promises.readdir(e,{withFileTypes:!0}).catch(()=>[]),s=[];for(let a of t){if(!a.isDirectory())continue;let t=n.default.join(e,a.name,"events.jsonl"),o=await i.promises.stat(t).catch(()=>null);o?.isFile()&&s.push({filePath:t,sessionId:a.name,mtimeMs:o.mtimeMs,sizeBytes:o.size})}return s}function ek(e,t){var i;let s,n,a,r,l,u,c,m,d,p,f,g,h=t.map(eg).filter(e=>void 0!==e),w=new Set;for(let e of h){if("tool.execution_start"!==e.type)continue;let t=ey(eg(e.data)?.toolCallId);t&&w.add(t)}let M=[],v=[],k={input:0,output:0,cacheRead:0,cacheWrite:0},_=0,T=0,N=0,b=!1,j=0;function I(e){M.push({index:j++,...e})}for(let e of h){let t=ey(e.type)??"",i=eg(e.data)??{},y=ey(e.timestamp);if(y){let e=Date.parse(y);Number.isFinite(e)&&(v.push(e),s=void 0===s?e:Math.min(s,e),n=void 0===n?e:Math.max(n,e))}if("session.start"===t){let s=eg(i.context);a=ey(s?.cwd)??a,r=ey(s?.repository)??r,l=ey(s?.branch)??l,I({timestamp:y,role:"meta",rawType:t,preview:"Copilot session started",blocks:[],raw:e});continue}if("session.model_change"===t){let e=ey(i.newModel);e&&"auto"!==e&&(u=e)}else"session.auto_mode_resolved"===t?u=ey(i.chosenModel)??u:("assistant.turn_start"===t||"assistant.message"===t)&&(u=ey(i.model)??u);if("system.message"===t){I({timestamp:y,role:"system",rawType:t,preview:"Copilot system instructions",blocks:[],raw:e});continue}if("user.message"===t){let s=ey(i.content)??"",n=ew(s);s&&!(0,o.isFrameworkInjectedUserInput)(s)&&(c??=n,m=n,T+=1),I({timestamp:y,role:"user",rawType:t,preview:n,blocks:s?[{type:"text",text:s}]:[],raw:e});continue}if("assistant.message"===t){let s=ey(i.content)??"";if(N+=eh(i.outputTokens)??0,s){let n=ew(s);d=n,I({timestamp:y,role:"agent",rawType:t,messageId:ey(i.messageId),preview:n,blocks:[{type:"text",text:s}],model:u,raw:e})}for(let t of Array.isArray(i.toolRequests)?i.toolRequests:[]){let i=eg(t);if(!i)continue;let s=ey(i.toolCallId);if(s&&w.has(s))continue;let n=ey(i.name)??"(unknown)",a=eg(i.arguments)??i.arguments??null;_+=1,I({timestamp:y,role:"tool-call",rawType:"assistant.message/tool_request",preview:`${n}(${ew(a).slice(0,80)})`,blocks:[{type:"tool_use",id:s??`copilot-${j}`,name:n,input:a}],toolName:n,toolUseId:s,model:u,raw:e})}continue}if("tool.execution_start"===t){let s=ey(i.toolCallId),n=ey(i.toolName)??"(unknown)",a=i.arguments??null;_+=1,I({timestamp:y,role:"tool-call",rawType:t,preview:`${n}(${ew(a).slice(0,80)})`,blocks:[{type:"tool_use",id:s??`copilot-${j}`,name:n,input:a}],toolName:n,toolUseId:s,model:ey(i.model)??u,raw:e});continue}if("tool.execution_complete"===t){let s=ey(i.toolCallId),n=eg(i.result),a=n&&"content"in n?n.content:i.result,o=!1!==i.success;I({timestamp:y,role:"tool-result",rawType:t,preview:ew(a),blocks:[{type:"tool_result",tool_use_id:s??"",content:a,is_error:!o}],toolUseId:s,toolResult:i.result,raw:e});continue}if("assistant.reasoning"===t){let s=ey(i.content)??"";I({timestamp:y,role:"agent-thinking",rawType:t,preview:ew(s),blocks:s?[{type:"thinking",thinking:s}]:[],model:u,raw:e});continue}if("session.shutdown"===t){b=!0,u=ey(i.currentModel)??u;let e=eg(i.tokenDetails);k.input=eM(e,"input")??k.input,k.output=eM(e,"output")??N,k.cacheRead=eM(e,"cache_read")??k.cacheRead,k.cacheWrite=eM(e,"cache_write")??k.cacheWrite;let t=eg(i.codeChanges);p=eh(t?.linesAdded),f=eh(t?.linesRemoved);let s=t?.filesModified;g=Array.isArray(s)?s.length:void 0}I({timestamp:y,role:"meta",rawType:t,preview:"",blocks:[],raw:e})}if(0===k.output&&(k.output=N),k.input||k.output||k.cacheRead||k.cacheWrite){let t=[...M].reverse().find(e=>"agent"===e.role||"agent-thinking"===e.role||"tool-call"===e.role);t&&(t.messageId=`copilot-${e.sessionId}-total`,t.usage={...k})}let C=void 0===s?void 0:new Date(s).toISOString(),x=void 0===n?void 0:new Date(n).toISOString();if(void 0!==s){let e;for(let t of M){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-s),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let S=function(e){let t=[...new Set(e)].sort((e,t)=>e-t);if(0===t.length)return[];let i=[],s=t[0],n=s;for(let e=1;e<t.length;e++){let a=t[e];a-n>18e4&&(i.push({startMs:s,endMs:n}),s=a),n=a}return i.push({startMs:s,endMs:n}),i}(v),A=S.reduce((e,t)=>e+t.endMs-t.startMs,0),P=a?y(a):void 0,D=P?.repoName??r?.split("/").filter(Boolean).at(-1);return{meta:{agent:"copilot",id:e.sessionId,filePath:e.filePath,projectName:P?.projectName??a??"(unknown)",worktreeName:P?.worktreeName,repoName:D,projectDir:(i=a)?i.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)",sessionId:e.sessionId,firstTimestamp:C,lastTimestamp:x,lastActivityMs:e.mtimeMs,durationMs:void 0!==s&&void 0!==n?n-s:void 0,eventCount:M.length,model:u,cwd:a,gitBranch:l,totalUsage:k,status:b||Date.now()-e.mtimeMs>18e4?"idle":"running",firstUserPreview:c,lastUserPreview:m,lastAgentPreview:d,toolCallCount:_,turnCount:T,linesAdded:p,linesRemoved:f,filesEdited:g,airTimeMs:A,activeSegments:S},events:M}}let e_=new Map,eT=new Map;async function eN(e){let t=await ev(e),i=[];for(let e of t){let t=e_.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){i.push({file:e,meta:t.meta});continue}if(!M(e.sizeBytes))try{let t=await v(e.filePath),{meta:s}=ek(e,t);e_.set(e.filePath,{meta:s,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),i.push({file:e,meta:s})}catch{}}return i}async function eb(e={}){let t=e.root??ef,i=(await eN(t)).map(e=>e.meta);return i.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0===e.limit?i:i.slice(0,e.limit)}async function ej(e,t={}){let i=t.root??ef,s=(await eN(i)).find(t=>t.meta.id===e);if(!s)return null;let n=T(eT,s.file.filePath);if(n&&n.mtimeMs===s.file.mtimeMs&&n.sizeBytes===s.file.sizeBytes)return n.detail;if(M(s.file.sizeBytes))return null;let a=await v(s.file.filePath),{meta:o,events:r}=ek(s.file,a),l={...o,events:r};return _(eT,s.file.filePath,{detail:l,mtimeMs:s.file.mtimeMs,sizeBytes:s.file.sizeBytes}),l}let eI=n.default.join(s.default.homedir(),".gemini","tmp"),eC=n.default.join(s.default.homedir(),".gemini","projects.json"),ex=/^session-.+\.(jsonl|json)$/;async function eS(e){return i.promises.readdir(e).catch(()=>[])}async function eA(e){let t=[];for(let s of(await eS(e))){let a=n.default.join(e,s,"chats");for(let e of(await eS(a))){if(!ex.test(e))continue;let o=n.default.join(a,e),r=await i.promises.stat(o).catch(()=>null);if(!r||!r.isFile())continue;let l=e.replace(/\.(jsonl|json)$/,"").split("-").pop()??e;t.push({filePath:o,slug:s,filenameId:l,format:e.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:r.mtimeMs,sizeBytes:r.size})}}return t}let eP=null;async function eD(){let e,t=await i.promises.stat(eC).catch(()=>null);if(!t)return new Map;if(eP&&eP.mtimeMs===t.mtimeMs)return eP.slugToCwd;let s=await i.promises.readFile(eC,"utf8").catch(()=>"");try{e=JSON.parse(s)}catch{e={}}let n=new Map;for(let[t,i]of Object.entries(e.projects??{}))"string"==typeof i&&n.set(i,t);return eP={mtimeMs:t.mtimeMs,slugToCwd:n},n}function ez(e){return!!e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.type}async function eB(e){if(M(e.sizeBytes))return{meta:{},messages:[]};if("legacy-json"===e.format){let t,s=await i.promises.readFile(e.filePath,"utf8");try{t=JSON.parse(s)}catch{return{meta:{},messages:[]}}return{meta:{sessionId:"string"==typeof t.sessionId?t.sessionId:void 0,projectHash:"string"==typeof t.projectHash?t.projectHash:void 0,startTime:"string"==typeof t.startTime?t.startTime:void 0,lastUpdated:"string"==typeof t.lastUpdated?t.lastUpdated:void 0,summary:"string"==typeof t.summary?t.summary:void 0},messages:(Array.isArray(t.messages)?t.messages:[]).filter(ez)}}let t={},s=new Map,n=[];for(let i of(await v(e.filePath))){if(i&&"object"==typeof i&&"$rewindTo"in i){let e=i.$rewindTo,t=n.indexOf(e);if(t>=0){for(let e of n.slice(t))s.delete(e);n.length=t}continue}if(i&&"object"==typeof i&&"$set"in i){Object.assign(t,i.$set);continue}if(ez(i)){s.has(i.id)||n.push(i.id),s.set(i.id,i);continue}"object"==typeof i&&null!==i&&("string"!=typeof i.sessionId||t.sessionId||(t.sessionId=i.sessionId,"string"==typeof i.projectHash&&(t.projectHash=i.projectHash),"string"==typeof i.startTime&&(t.startTime=i.startTime),"string"==typeof i.lastUpdated&&(t.lastUpdated=i.lastUpdated),"string"==typeof i.summary&&(t.summary=i.summary)))}let a=[];for(let e of n){let t=s.get(e);t&&a.push(t)}return{meta:t,messages:a}}function eR(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function eU(e){if(!e)return"";if("string"==typeof e)return e;let t=Array.isArray(e)?e:[e],i=[];for(let e of t){if(!e||"object"!=typeof e)continue;if("string"==typeof e.text){i.push(e.text);continue}let t=e.functionResponse;if(t){let e=t.response;"string"==typeof e?i.push(e):e&&"object"==typeof e&&("string"==typeof e.output?i.push(e.output):"string"==typeof e.error?i.push(`error: ${e.error}`):i.push(JSON.stringify(e)))}}return i.join("\n")}async function eO(e){let t,i,s,n,a,r,{meta:l,messages:u}=await eB(e),c=(await eD()).get(e.slug),m=[],d={input:0,output:0,cacheRead:0,cacheWrite:0},p=0,f=0,g=[],h=0;function w(e){if(m.push(e),e.timestamp&&"meta"!==e.role){t||(t=e.timestamp),i=e.timestamp;let s=Date.parse(e.timestamp);Number.isFinite(s)&&g.push(s)}}for(let e of u){let t=e.timestamp;if("user"===e.type){let i=eU(e.displayContent??e.content),s=eR(i),r=(0,o.isFrameworkInjectedUserInput)(i);i&&!r&&(n||(n=s),a=s,f+=1),w({index:h++,timestamp:t,role:"user",rawType:"gemini/user",preview:s,blocks:i?[{type:"text",text:i}]:[],messageId:e.id,raw:e});continue}if("gemini"===e.type){let i;"string"==typeof e.model&&(s=e.model);let n=eU(e.content),a=eR(n);if(n&&(r=a),e.tokens){let t=e.tokens,s={input:t.input??0,output:t.output??0,cacheRead:t.cached??0,cacheWrite:0};i=s,d.input+=s.input,d.output+=s.output,d.cacheRead+=s.cacheRead}for(let i of e.thoughts??[]){let e=[i.subject,i.description].filter(Boolean).join(": ");e&&w({index:h++,timestamp:i.timestamp??t,role:"agent-thinking",rawType:"gemini/thought",preview:eR(e),blocks:[{type:"thinking",thinking:e}],model:s,raw:i})}for(let o of(n?w({index:h++,timestamp:t,role:"agent",rawType:"gemini/agent",preview:a,blocks:[{type:"text",text:n}],messageId:e.id,model:s,usage:i,raw:e}):i&&w({index:h++,timestamp:t,role:"agent",rawType:"gemini/agent",preview:"",blocks:[],messageId:e.id,model:s,usage:i,raw:e}),e.toolCalls??[])){p+=1;let e=o.args?JSON.stringify(o.args):"";w({index:h++,timestamp:o.timestamp??t,role:"tool-call",rawType:"gemini/tool_call",preview:`${o.name}(${e.length<=80?e:e.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o.id,name:o.name,input:o.args??{}}],toolName:o.name,toolUseId:o.id,model:s,raw:o});let i=(o.status??"").toLowerCase();if("success"===i||"error"===i||"cancelled"===i){let e=eU(o.result);w({index:h++,timestamp:o.timestamp??t,role:"tool-result",rawType:"gemini/tool_result",preview:eR(e),blocks:[{type:"tool_result",tool_use_id:o.id,content:e,is_error:"error"===i||"cancelled"===i}],toolUseId:o.id,toolResult:e,raw:o})}}continue}if("info"===e.type||"warning"===e.type||"error"===e.type){let i=eU(e.content);w({index:h++,timestamp:t,role:"meta",rawType:`gemini/${e.type}`,preview:eR(i),blocks:i?[{type:"text",text:i}]:[],raw:e});continue}}let M=t?Date.parse(t):void 0;if(void 0!==M&&Number.isFinite(M)){let e;for(let t of m){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-M),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let v=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(g),k=v.reduce((e,t)=>e+(t.endMs-t.startMs),0),_=t&&i?Date.parse(i)-Date.parse(t):void 0,T=l.sessionId??e.filenameId,N=c?y(c):void 0,b=N?.projectName??e.slug,j=c?c.replace(/^\//,"-").replace(/\//g,"-"):e.slug;return{meta:{agent:"gemini",id:T,filePath:e.filePath,projectName:b,worktreeName:N?.worktreeName,repoName:N?.repoName,projectDir:j,sessionId:T,firstTimestamp:t,lastTimestamp:i,durationMs:_&&Number.isFinite(_)?_:void 0,eventCount:m.length,model:s,cwd:c,totalUsage:d,status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:r,toolCallCount:p,turnCount:f,airTimeMs:k,activeSegments:v},events:m}}let e$=new Map,eF=new Map;async function eW(e={}){let t=e.root??eI,i=await eA(t),s=[];for(let e of i){let t=e$.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){s.push(t.meta);continue}if(!M(e.sizeBytes))try{let{meta:t}=await eO(e);e$.set(e.filePath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function eE(e,t={}){let i,s=t.root??eI,n=await eA(s);for(let t of n)if(t.filenameId===e||e.startsWith(t.filenameId)){i=t;break}if(!i)for(let t of n){let{meta:s}=await eO(t).catch(()=>({meta:{id:""}}));if(s.id===e){i=t;break}}if(!i)return null;let a=T(eF,i.filePath);if(a&&a.mtimeMs===i.mtimeMs&&a.sizeBytes===i.sizeBytes)return a.detail;let{meta:o,events:r}=await eO(i),l={...o,events:r};return _(eF,i.filePath,{detail:l,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes}),l}let eL=n.default.join(s.default.homedir(),".gemini","antigravity-cli");async function eJ(e){return i.promises.readdir(e).catch(()=>[])}let eG=null;async function eq(e){let t=n.default.join(e,"history.jsonl"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;if(eG&&eG.mtimeMs===s.mtimeMs)return eG.slugToCwd;let a=await i.promises.readFile(t,"utf8").catch(()=>""),o=new Map;for(let e of a.split("\n")){let t=e.trim();if(t)try{let e=JSON.parse(t);e.conversationId&&e.workspace&&o.set(e.conversationId,e.workspace)}catch{}}return eG={mtimeMs:s.mtimeMs,slugToCwd:o},o}async function eH(e){let t=await eq(e),s=[],a=n.default.join(e,"brain");for(let e of(await eJ(a))){let o=n.default.join(a,e,".system_generated","logs","transcript.jsonl"),r=await i.promises.stat(o).catch(()=>null);r&&r.isFile()&&s.push({filePath:o,conversationId:e,cwd:t.get(e),mtimeMs:r.mtimeMs,sizeBytes:r.size})}return s}function eK(e){return e.replace(/\s+/g," ").trim().slice(0,200)}async function eY(e){let t,i,s,n,a,r;if(M(e.sizeBytes))throw Error(`transcript too large to parse (${e.sizeBytes} bytes)`);let l=[],u=0,c=0,m=[],d=0;function p(e){if(l.push(e),e.timestamp&&"meta"!==e.role){t||(t=e.timestamp),i=e.timestamp;let s=Date.parse(e.timestamp);Number.isFinite(s)&&m.push(s)}}let f=[],g=[],h=new Map;for(let t of(await v(e.filePath))){let e=t.step_index;"number"==typeof e?h.has(e)?g[h.get(e)]=t:(h.set(e,g.length),g.push(t)):g.push(t)}for(let e of g){let t=e.created_at||e.timestamp;if("USER_INPUT"===e.type){if("string"==typeof e.content){let t=e.content.match(/Model Selection` from .*? to (.*?)\.\s*No need to/);if(t){let e=t[1].trim();s=e=e.replace(/\s*\(.*?\)\s*$/,"").trim()}else{let t=e.content.match(/Model Selection` from .*? to ([^\n]+)/);if(t){let e=t[1].trim();e.endsWith(".")&&(e=e.slice(0,-1).trim()),s=e=e.replace(/\s*\(.*?\)\s*$/,"").trim()}}}let i=e.content||"",r=i.match(/<USER_REQUEST>([\s\S]*?)<\/USER_REQUEST>/);r&&(i=r[1].trim());let l=eK(i),u=(0,o.isFrameworkInjectedUserInput)(i);i&&!u&&(n||(n=l),a=l,c+=1),p({index:d++,timestamp:t,role:"user",rawType:"antigravity/user",preview:l,blocks:i?[{type:"text",text:i}]:[],messageId:e.step_index?.toString(),raw:e});continue}if("PLANNER_RESPONSE"===e.type){let i=e.thinking,n=e.content;if(i&&p({index:d++,timestamp:t,role:"agent-thinking",rawType:"antigravity/thought",preview:eK(i),blocks:[{type:"thinking",thinking:i}],model:s,raw:e}),n){let i=eK(n);r=i,p({index:d++,timestamp:t,role:"agent",rawType:"antigravity/agent",preview:i,blocks:[{type:"text",text:n}],messageId:e.step_index?.toString(),model:s,raw:e})}let a=e.tool_calls||[];for(let i=0;i<a.length;i++){let n=a[i];u+=1;let o=`tool-${e.step_index}-${i}`,r=n.args?JSON.stringify(n.args):"";f.push({id:o,name:n.name}),p({index:d++,timestamp:t,role:"tool-call",rawType:"antigravity/tool_call",preview:`${n.name}(${r.length<=80?r:r.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o,name:n.name,input:n.args||{}}],toolName:n.name,toolUseId:o,model:s,raw:n})}continue}if("MODEL"===e.source&&"PLANNER_RESPONSE"!==e.type&&"ERROR_MESSAGE"!==e.type&&f.length>0){let i=f.shift(),s=i?i.id:`tool-${e.step_index}-unknown`,n="string"==typeof e.content?e.content:JSON.stringify(e.content||""),a="ERROR"===e.status||"FAILED"===e.status||"CANCELED"===e.status||!!e.error;p({index:d++,timestamp:t,role:"tool-result",rawType:"antigravity/tool_result",preview:eK(n),blocks:[{type:"tool_result",tool_use_id:s,content:n,is_error:a}],toolUseId:s,toolResult:n,raw:e});continue}let i=e.content||e.error||"";p({index:d++,timestamp:t,role:"meta",rawType:`antigravity/${e.type?.toLowerCase()||"unknown"}`,preview:eK(i),blocks:i?[{type:"text",text:i}]:[],raw:e})}let w=t?Date.parse(t):void 0;if(void 0!==w&&Number.isFinite(w)){let e;for(let t of l){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-w),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let k=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(m),_=k.reduce((e,t)=>e+(t.endMs-t.startMs),0),T=t&&i?Date.parse(i)-Date.parse(t):void 0,N=e.conversationId,b=e.cwd,j=b?y(b):void 0,I=j?.projectName??e.conversationId,C=b?b.replace(/^\//,"-").replace(/\//g,"-"):e.conversationId;return{meta:{agent:"antigravity",id:N,filePath:e.filePath,projectName:I,worktreeName:j?.worktreeName,repoName:j?.repoName,projectDir:C,sessionId:N,firstTimestamp:t,lastTimestamp:i,durationMs:T&&Number.isFinite(T)?T:void 0,eventCount:l.length,model:s,cwd:b,totalUsage:{input:0,output:0,cacheRead:0,cacheWrite:0},status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:r,toolCallCount:u,turnCount:c,airTimeMs:_,activeSegments:k},events:l}}let eZ=new Map,eQ=new Map;async function eV(e={}){let t=e.root??eL,i=await eH(t),s=[];for(let e of i){let t=eZ.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes&&t.cwd===e.cwd){s.push(t.meta);continue}if(!M(e.sizeBytes))try{let{meta:t}=await eY(e);eZ.set(e.filePath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes,cwd:e.cwd}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function eX(e,t={}){let i,s=t.root??eL;for(let t of(await eH(s)))if(t.conversationId===e){i=t;break}if(!i)return null;let n=T(eQ,i.filePath);if(n&&n.mtimeMs===i.mtimeMs&&n.sizeBytes===i.sizeBytes&&n.cwd===i.cwd)return n.detail;let{meta:a,events:o}=await eY(i),r={...a,events:o};return _(eQ,i.filePath,{detail:r,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes,cwd:i.cwd}),r}let e0=(t=s.default.homedir(),n.default.join(t,".config","Claude","local-agent-mode-sessions")),e1=/^local_[0-9a-f-]+$/;async function e2(e){return i.promises.readdir(e).catch(()=>[])}async function e8(e){let t=await i.promises.stat(e).catch(()=>null);return t?t.mtimeMs:0}async function e4(e){let t=[];for(let s of(await e2(e))){let a=n.default.join(e,s);for(let e of(await e2(a))){let s=n.default.join(a,e),o=await e8(n.default.join(s,"spaces.json"));for(let e of(await e2(s))){if(!e1.test(e))continue;let a=n.default.join(s,e,"audit.jsonl"),r=await i.promises.stat(a).catch(()=>null);if(!r||!r.isFile()||0===r.size)continue;let l=n.default.join(s,`${e}.json`),u=await e8(l);t.push({sessionId:e,auditPath:a,metaPath:l,workspaceDir:s,auditMtimeMs:r.mtimeMs,auditSize:r.size,metaMtimeMs:u,spacesMtimeMs:o})}}}return t}let e3=new Map;async function e9(e){let t=n.default.join(e,"spaces.json"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;let a=e3.get(e);if(a&&a.mtimeMs===s.mtimeMs)return a.spaceIdToPath;let o=await i.promises.readFile(t,"utf8").catch(()=>""),r=new Map;try{for(let e of JSON.parse(o).spaces??[]){let t="string"==typeof e.id?e.id:void 0,i=(Array.isArray(e.folders)?e.folders:[])[0],s="string"==typeof i?.path?i.path:void 0;t&&s&&r.set(t,s)}}catch{}return e3.set(e,{mtimeMs:s.mtimeMs,spaceIdToPath:r}),r}async function e7(e){let t=await i.promises.readFile(e,"utf8").catch(()=>"");if(!t)return{};try{let e=JSON.parse(t);return{spaceId:"string"==typeof e.spaceId?e.spaceId:void 0,userSelectedFolders:Array.isArray(e.userSelectedFolders)?e.userSelectedFolders.filter(e=>"string"==typeof e):void 0,cwd:"string"==typeof e.cwd?e.cwd:void 0,model:"string"==typeof e.model?e.model:void 0,title:"string"==typeof e.title?e.title:void 0,createdAt:"number"==typeof e.createdAt?e.createdAt:void 0,lastActivityAt:"number"==typeof e.lastActivityAt?e.lastActivityAt:void 0}}catch{return{}}}async function e5(e){let t;if(M(e.auditSize))throw Error(`transcript too large to parse (${e.auditSize} bytes)`);let[i,s,n]=await Promise.all([v(e.auditPath),e7(e.metaPath),e9(e.workspaceDir)]),a=(t=new Map,i.forEach((e,s)=>{if("string"!=typeof e.uuid)return;let n=t.get(e.uuid);void 0===n?t.set(e.uuid,s):void 0===i[n].timestamp&&void 0!==e.timestamp&&t.set(e.uuid,s)}),i.filter((e,i)=>"string"!=typeof e.uuid||t.get(e.uuid)===i)),{mainLines:o,subagentGroups:r}=function(e){let t=[],i=new Map;for(let s of e){let e=s.parent_tool_use_id;if("string"==typeof e){let t=i.get(e);t?t.push(s):i.set(e,[s])}else t.push(s)}return{mainLines:t,subagentGroups:i}}(a),{meta:l,events:u}=p(o),c=function(e,t,i){if(0===e.size)return[];let s=new Map;for(let i of t){let t=i.message?.content;if(Array.isArray(t)){for(let n of t)if(n&&"object"==typeof n){if("tool_use"===n.type&&"Agent"===n.name&&"string"==typeof n.id){let e=n.input??{},t=s.get(n.id)??{};"string"==typeof i.uuid&&(t.parentUuid=i.uuid),"string"==typeof e.description&&(t.description=e.description),"string"==typeof e.subagent_type&&(t.agentType=e.subagent_type),"string"==typeof e.prompt&&(t.prompt=e.prompt),s.set(n.id,t)}else if("tool_result"===n.type&&"string"==typeof n.tool_use_id&&e.has(n.tool_use_id)){let e=s.get(n.tool_use_id)??{};e.finalText=function(e){if("string"==typeof e)return e;if(Array.isArray(e)){let t=[];for(let i of e)if(i&&"object"==typeof i&&"text"===i.type){let e=i.text;"string"==typeof e&&t.push(e)}if(t.length)return t.join("\n")}}(n.content)??e.finalText,s.set(n.tool_use_id,e)}}}}let n=[];for(let[t,a]of e){let e=H(a),o=s.get(t)??{},r=o.finalText??e.finalText,l=r?r.replace(/\s+/g," ").trim().slice(0,240):e.finalPreview,u=void 0!==i&&void 0!==e.startMs?Math.max(0,e.startMs-i):void 0,c=void 0!==i&&void 0!==e.endMs?Math.max(0,e.endMs-i):void 0,m=void 0!==e.startMs&&void 0!==e.endMs?e.endMs-e.startMs:void 0;n.push({agentId:t,agentType:o.agentType??"unknown",description:o.description??(o.prompt?o.prompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),startMs:e.startMs,endMs:e.endMs,durationMs:m,startTOffsetMs:u,endTOffsetMs:c,eventCount:e.eventCount,totalUsage:e.totalUsage,parentUuid:o.parentUuid,parentToolUseId:t,runInBackground:!1,finalPreview:l,finalText:r,prompt:o.prompt,model:e.model,toolCalls:e.toolCalls,toolCallCount:e.toolCallCount,assistantMessageCount:e.assistantMessageCount})}return n.sort((e,t)=>(e.startMs??0)-(t.startMs??0)),n}(r,a,l.firstTimestamp?Date.parse(l.firstTimestamp):void 0),{projectName:m,projectDir:d,cwd:f}=function(e,t){let i;if(e.spaceId&&(i=t.get(e.spaceId)),!i&&e.userSelectedFolders&&e.userSelectedFolders.length>0&&(i=e.userSelectedFolders[0]),!i)return{projectName:"cowork:unspaced",projectDir:"cowork-unspaced"};let s=y(i);return{projectName:s.projectName,worktreeName:s.worktreeName,projectDir:i.replace(/^\//,"-").replace(/\//g,"-"),cwd:i}}(s,n);return{meta:{...l,agent:"cowork",id:e.sessionId,sessionId:e.sessionId,filePath:e.auditPath,projectName:m,projectDir:d,cwd:f??l.cwd,model:l.model??s.model},events:u,subagents:c}}function e6(e){return{auditMtimeMs:e.auditMtimeMs,auditSize:e.auditSize,metaMtimeMs:e.metaMtimeMs,spacesMtimeMs:e.spacesMtimeMs}}function te(e,t){return e.auditMtimeMs===t.auditMtimeMs&&e.auditSize===t.auditSize&&e.metaMtimeMs===t.metaMtimeMs&&e.spacesMtimeMs===t.spacesMtimeMs}let tt=new Map,ti=new Map;async function ts(e={}){let t=e.root??e0,i=await e4(t),s=[];for(let e of i){let t=e6(e),i=tt.get(e.auditPath);if(i&&te(i.key,t)){s.push(i.meta);continue}try{let{meta:i}=await e5(e);tt.set(e.auditPath,{meta:i,key:t}),s.push(i)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function tn(e,t={}){let i=t.root??e0,s=(await e4(i)).find(t=>t.sessionId===e);if(!s)return null;let n=e6(s),a=T(ti,s.auditPath);if(a&&te(a.key,n))return a.detail;let{meta:o,events:r,subagents:l}=await e5(s),u={...o,events:r,...l.length?{subagents:l}:{}};return _(ti,s.auditPath,{detail:u,key:n}),u}function ta(){let e=process.env.GROK_HOME||n.default.join(s.default.homedir(),".grok");return n.default.join(e,"sessions")}let to=n.default.join(s.default.homedir(),".grok","sessions");async function tr(e){return i.promises.readdir(e).catch(()=>[])}async function tl(e){let t=await i.promises.readFile(e,"utf8").catch(()=>null);if(null==t)return null;try{return JSON.parse(t)}catch{return null}}async function tu(e,t){let s=n.default.join(e,".cwd"),a=await i.promises.readFile(s,"utf8").catch(()=>null);if(a&&a.trim())return a.trim();try{return decodeURIComponent(t)}catch{return t}}async function tc(e){let t=[];for(let s of(await tr(e))){if("session_search.sqlite"===s||s.startsWith("."))continue;let a=n.default.join(e,s),o=await i.promises.stat(a).catch(()=>null);if(!o?.isDirectory())continue;let r=await tu(a,s);for(let e of(await tr(a))){if("prompt_history.jsonl"===e||e.startsWith("."))continue;let o=n.default.join(a,e),l=n.default.join(o,"summary.json"),u=n.default.join(o,"updates.jsonl"),c=n.default.join(o,"signals.json"),[m,d,p]=await Promise.all([i.promises.stat(l).catch(()=>null),i.promises.stat(u).catch(()=>null),i.promises.stat(c).catch(()=>null)]);if(!m?.isFile())continue;let f=Math.max(m.mtimeMs,d?.mtimeMs??0),g=(d?.size??0)+m.size;t.push({dirPath:o,updatesPath:u,summaryPath:l,signalsPath:p?.isFile()?c:null,sessionId:e,groupName:s,decodedCwd:r,mtimeMs:f,sizeBytes:g})}}return t}function tm(){return{input:0,output:0,cacheRead:0,cacheWrite:0}}function td(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function tp(e){return e?"string"==typeof e?e:"string"==typeof e.text?e.text:"":""}async function tf(e){let t,i,s,n,a;if(M(e.sizeBytes))throw Error(`transcript too large to parse (${e.sizeBytes} bytes)`);let[r,l,u]=await Promise.all([tl(e.summaryPath),e.signalsPath?tl(e.signalsPath):Promise.resolve(null),v(e.updatesPath).catch(()=>[])]),c=r?.info?.id??e.sessionId,m=r?.info?.cwd??e.decodedCwd,d=r?.current_model_id??l?.primaryModelId??l?.modelsUsed?.[0],p=[],f=tm();l?.contextTokensUsed&&l.contextTokensUsed>0&&(f.input=l.contextTokensUsed);let g=0,h=0,w=[],k=0,_=new Set,T=0;function N(e){p.push(e),function(e,s){if(!e||"meta"===s)return;t||(t=e),i=e;let n=Date.parse(e);Number.isFinite(n)&&w.push(n)}(e.timestamp,e.role)}let b=null;function j(){if(!b)return;let e=b.texts.join(""),t=td(e);if("user"===b.kind){let i=!e||(0,o.isFrameworkInjectedUserInput)(e);e&&!i&&(s||(s=t),n=t,h+=1),e&&N({index:k++,timestamp:b.firstTs,role:"user",rawType:"grok/user_message",preview:t,blocks:[{type:"text",text:e}],messageId:b.promptId,raw:1===b.raw.length?b.raw[0]:b.raw})}else"agent"===b.kind?(e&&(a=t),e&&N({index:k++,timestamp:b.firstTs,role:"agent",rawType:"grok/agent_message",preview:t,blocks:[{type:"text",text:e}],messageId:b.promptId,model:b.model??d,raw:1===b.raw.length?b.raw[0]:b.raw})):"thought"===b.kind&&e&&N({index:k++,timestamp:b.firstTs,role:"agent-thinking",rawType:"grok/agent_thought",preview:t,blocks:[{type:"thinking",thinking:e}],messageId:b.promptId,model:b.model??d,raw:1===b.raw.length?b.raw[0]:b.raw});b=null}function I(e,t,i,s,n,a){(t||"user"!==e)&&(b&&b.kind!==e&&j(),b||(b={kind:e,texts:[],firstTs:i,lastTs:i,model:n,promptId:s,raw:[]}),t&&b.texts.push(t),b.lastTs=i??b.lastTs,n&&(b.model=n),s&&(b.promptId=s),b.raw.push(a))}for(let e of u){let t=e.params?.update;if(!t||"object"!=typeof t)continue;let i=t.sessionUpdate;if(!i)continue;let s=function(e){let t=e.params?._meta,i=t&&"number"==typeof t.agentTimestampMs?t.agentTimestampMs:void 0;if(null!=i&&Number.isFinite(i))return new Date(i).toISOString();let s=e.timestamp;if("number"==typeof s&&Number.isFinite(s))return new Date(s>1e12?s:1e3*s).toISOString()}(e),n=e.params?._meta??{},a=t._meta??{},o="string"==typeof n.promptId&&n.promptId||"string"==typeof a.promptId&&a.promptId||void 0,r="string"==typeof a.modelId&&a.modelId||"string"==typeof n.modelId&&n.modelId||void 0;r&&(d=r);let l=n.totalTokens;if("number"==typeof l&&l>T&&(T=l),"user_message_chunk"===i){I("user",tp(t.content),s,o,r,e);continue}if("agent_message_chunk"===i){I("agent",tp(t.content),s,o,r,e);continue}if("agent_thought_chunk"===i){I("thought",tp(t.content),s,o,r,e);continue}if(j(),"tool_call"===i){let i="string"==typeof t.toolCallId?t.toolCallId:`grok-${k}`,n=function(e){let t=e._meta;if(t&&"object"==typeof t){let e=t["x.ai/tool"];if(e&&"object"==typeof e){let t=e.name;if("string"==typeof t&&t)return t}}return"string"==typeof e.title&&e.title?(!e.title.includes(" ")&&!e.title.includes("`"),e.title):"tool"}(t),a=t.rawInput??{},o=a?JSON.stringify(a):"";g+=1,N({index:k++,timestamp:s,role:"tool-call",rawType:"grok/tool_call",preview:`${n}(${o.length<=80?o:o.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:i,name:n,input:a}],toolName:n,toolUseId:i,model:d,raw:e});continue}if("tool_call_update"===i){let i=function(e){let t=e.status;return"string"==typeof t?t:t&&"object"==typeof t&&"string"==typeof t.status?t.status:void 0}(t);if("completed"!==i&&"failed"!==i&&"error"!==i&&"cancelled"!==i)continue;let n="string"==typeof t.toolCallId?t.toolCallId:"";if(n&&_.has(n))continue;n&&_.add(n);let a=function(e){let t=e.content;if(Array.isArray(t)){let e=[];for(let i of t){if(!i||"object"!=typeof i)continue;if("string"==typeof i.text&&i.text){e.push(i.text);continue}let t=i.content;"string"==typeof t&&t?e.push(t):t&&"object"==typeof t&&"string"==typeof t.text&&e.push(t.text)}if(e.length)return e.join("\n")}let i=e.rawOutput;if(null==i)return"";if("string"==typeof i)return i;if("object"==typeof i){if("string"==typeof i.output_for_prompt)return i.output_for_prompt;if("string"==typeof i.summary_for_prompt)return i.summary_for_prompt;if(i.Content&&"object"==typeof i.Content){let e=i.Content;if("string"==typeof e.content)return e.content}if(i.TodosUpdated&&"object"==typeof i.TodosUpdated){let e=i.TodosUpdated;if("string"==typeof e.summary_for_prompt)return e.summary_for_prompt}if(Array.isArray(i.stdout)||Array.isArray(i.output))try{return JSON.stringify({type:i.type,exit_code:i.exit_code,note:"binary/stdout omitted"})}catch{return""}try{return JSON.stringify(i)}catch{return""}}return String(i)}(t),o="failed"===i||"error"===i||"cancelled"===i;N({index:k++,timestamp:s,role:"tool-result",rawType:"grok/tool_result",preview:td(a),blocks:[{type:"tool_result",tool_use_id:n,content:a,is_error:o||void 0}],toolUseId:n||void 0,toolResult:a,raw:e});continue}if("turn_completed"===i)continue}j(),0===f.input&&T>0&&(f.input=T),!t&&r?.created_at&&(t=r.created_at),i||(i=r?.last_active_at??r?.updated_at??t),l?.toolCallCount!=null&&l.toolCallCount>g&&(g=l.toolCallCount),l?.turnCount!=null&&l.turnCount>h&&(h=l.turnCount);let C=t?Date.parse(t):void 0;if(void 0!==C&&Number.isFinite(C)){let e;for(let t of p){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-C),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let x=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++){let a=t[e];a-n>18e4&&(i.push({startMs:s,endMs:n}),s=a),n=a}return i.push({startMs:s,endMs:n}),i}(w),S=x.reduce((e,t)=>e+(t.endMs-t.startMs),0),A=t&&i?Date.parse(i)-Date.parse(t):void 0,P=m?y(m):void 0,D=P?.projectName??m??e.decodedCwd,z=e.groupName||(m?encodeURIComponent(m):"(unknown)");if(!s){let e=r?.generated_title||r?.session_summary;e&&(s=td(e))}let B=await tg(e.dirPath);return{meta:{agent:"grok",id:c,filePath:e.updatesPath,projectName:D,worktreeName:P?.worktreeName,repoName:P?.repoName,projectDir:z,sessionId:c,firstTimestamp:t,lastTimestamp:i,lastActivityMs:i?Date.parse(i):void 0,durationMs:A&&Number.isFinite(A)?A:void 0,eventCount:p.length,model:d,cwd:m,gitBranch:r?.head_branch,agentName:r?.agent_name,totalUsage:f,status:"idle",firstUserPreview:s,lastUserPreview:n,lastAgentPreview:a,toolCallCount:g,turnCount:h,linesAdded:l?.agentLinesAdded,linesRemoved:l?.agentLinesRemoved,airTimeMs:S,activeSegments:x,...B>0?{spawnedAgentCount:B}:{}},events:p,sessionKind:r?.session_kind}}async function tg(e){let t=n.default.join(e,"subagents"),s=await tr(t),a=0;for(let e of s){let s=await i.promises.stat(n.default.join(t,e)).catch(()=>null);s?.isDirectory()&&(a+=1)}return a}async function ty(e,t){let i=n.default.join(e.dirPath,"subagents"),s=await tr(i),a=n.default.dirname(e.dirPath),o=[];for(let e of s){let s=n.default.join(i,e,"meta.json"),r=await tl(s);if(!r)continue;let l=r.child_session_id??r.subagent_id??e,u=n.default.join(a,l),[c,m]=await Promise.all([tl(n.default.join(u,"summary.json")),tl(n.default.join(u,"signals.json"))]),d=c?.created_at?Date.parse(c.created_at):void 0,p=c?.last_active_at??c?.updated_at,f=p?Date.parse(p):void 0,g=void 0!==d&&Number.isFinite(d)?d:void 0,y=void 0!==f&&Number.isFinite(f)?f:void 0,h=tm();m?.contextTokensUsed&&(h.input=m.contextTokensUsed),o.push({agentId:l,agentType:r.subagent_type??c?.agent_name??"subagent",description:r.description&&r.description.trim()||c?.generated_title||c?.session_summary||l,startMs:g,endMs:y,durationMs:void 0!==g&&void 0!==y?Math.max(0,y-g):void 0,startTOffsetMs:void 0!==t&&void 0!==g?Math.max(0,g-t):void 0,endTOffsetMs:void 0!==t&&void 0!==y?Math.max(0,y-t):void 0,eventCount:c?.num_messages??c?.num_chat_messages??0,totalUsage:h,prompt:"string"==typeof r.prompt?r.prompt:void 0,model:c?.current_model_id??m?.primaryModelId,toolCallCount:m?.toolCallCount})}return o.sort((e,t)=>(e.startMs??0)-(t.startMs??0)),o}let th=new Map,tw=new Map;async function tM(e={}){let t=e.root??ta(),i=await tc(t),s=[];for(let e of i){let t=await tl(e.summaryPath);if(t?.session_kind==="subagent")continue;let i=th.get(e.dirPath);if(i&&i.mtimeMs===e.mtimeMs&&i.sizeBytes===e.sizeBytes){s.push(i.meta);continue}if(!M(e.sizeBytes))try{let{meta:t,sessionKind:i}=await tf(e);if("subagent"===i)continue;th.set(e.dirPath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function tv(e,t={}){let i=t.root??ta(),s=await tc(i),n=s.find(t=>t.sessionId===e);if(!n){for(let t of s)try{let{meta:i,events:s}=await tf(t);if(i.id===e){let e={...i,events:s};return _(tw,t.dirPath,{detail:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),e}}catch{}return null}let a=T(tw,n.dirPath);if(a&&a.mtimeMs===n.mtimeMs&&a.sizeBytes===n.sizeBytes)return a.detail;let{meta:o,events:r}=await tf(n),l=o.firstTimestamp?Date.parse(o.firstTimestamp):void 0,u=await ty(n,void 0!==l&&Number.isFinite(l)?l:void 0),c={...o,events:r,...u.length>0?{subagents:u,spawnedAgentCount:u.length}:{}};return _(tw,n.dirPath,{detail:c,mtimeMs:n.mtimeMs,sizeBytes:n.sizeBytes}),th.set(n.dirPath,{meta:{...o,...u.length>0?{spawnedAgentCount:u.length}:{}},mtimeMs:n.mtimeMs,sizeBytes:n.sizeBytes}),c}function tk(){return process.env.CCLENS_HOME||n.default.join(s.default.homedir(),".cclens")}function t_(...e){return n.default.join(tk(),...e)}function tT(e){P(e)}let tN=[Q,{...a.CODEX_METADATA,defaultRoot:V,listSessions:async e=>ed(e),getSession:async e=>ep(e)},{...a.COPILOT_METADATA,defaultRoot:ef,listSessions:async e=>eb(e),getSession:async(e,t)=>ej(e,t)},{...a.GEMINI_METADATA,defaultRoot:eI,listSessions:async e=>eW(e),getSession:async e=>eE(e)},{...a.ANTIGRAVITY_METADATA,defaultRoot:eL,listSessions:async e=>eV(e),getSession:async e=>eX(e)},{...a.COWORK_METADATA,defaultRoot:e0,listSessions:async e=>ts(e),getSession:async e=>tn(e)},{...a.GROK_METADATA,defaultRoot:to,listSessions:async e=>tM(e),getSession:async(e,t)=>tv(e,t)}];async function tb(e={}){let t=await Promise.all(tN.map(t=>t.listSessions(e))),i=[];for(let e of t)i.push(...e);return(i.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?i.slice(0,e.limit):i}async function tj(e){for(let t of tN){let i=await t.getSession(e);if(i)return i}return null}function tI(){return t_("usage.jsonl")}function tC(e){let t=tI();(0,i.mkdirSync)(n.default.dirname(t),{recursive:!0}),(0,i.appendFileSync)(t,JSON.stringify(e)+"\n","utf8")}function tx(e){let t=tI();if(!(0,i.existsSync)(t))return;let s=(0,i.readFileSync)(t,"utf8").split("\n").filter(t=>{if(!t.trim())return!1;try{return JSON.parse(t).agent!==e}catch{return!0}});(0,i.mkdirSync)(n.default.dirname(t),{recursive:!0}),(0,i.writeFileSync)(t,s.join("\n")+(s.length?"\n":""),"utf8")}}];
1
+ module.exports=[39587,e=>{"use strict";let t={kind:"claude-code",displayName:"Claude Code",shortLabel:"Claude",accentColor:"var(--af-accent)",iconChar:"✦"},i={kind:"codex",displayName:"Codex (OpenAI)",shortLabel:"Codex",accentColor:"rgb(16, 163, 127)",iconChar:"◆"},s={kind:"copilot",displayName:"GitHub Copilot CLI",shortLabel:"Copilot",accentColor:"rgb(137, 87, 229)",iconChar:"∞"},n={kind:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"},a={kind:"antigravity",displayName:"Antigravity",shortLabel:"Agy",accentColor:"rgb(236, 72, 153)",iconChar:"⏃"},o={kind:"cowork",displayName:"Cowork",shortLabel:"Cowork",accentColor:"rgb(217, 119, 87)",iconChar:"⌘"},r={kind:"grok",displayName:"Grok Build",shortLabel:"Grok",accentColor:"rgb(100, 116, 139)",iconChar:"◈"},l=[t,i,s,n,a,o,{kind:"zai",displayName:"Z.ai",shortLabel:"Z.ai",accentColor:"rgb(59, 130, 246)",iconChar:"Z"},r,{kind:"command-code",displayName:"Command Code",shortLabel:"Cmd",accentColor:"rgb(132, 204, 22)",iconChar:">"}];l.map(e=>e.kind),e.s(["ANTIGRAVITY_METADATA",0,a,"CLAUDE_CODE_METADATA",0,t,"CODEX_METADATA",0,i,"COPILOT_METADATA",0,s,"COWORK_METADATA",0,o,"GEMINI_METADATA",0,n,"GROK_METADATA",0,r,"agentMetadata",0,l])},36521,e=>{"use strict";let t=[/<system_instruction\b[^>]*>[\s\S]*?<\/system_instruction>\s*/gi],i=["<command-name>","<local-command-stdout>","<local-command-caveat>","<task-notification>","Base directory for this skill:","This session is being continued from a previous conversation","A session-scoped Stop hook is now active"];function s(e){if(!e)return e;let i=e;for(let e of t)i=i.replace(e,"");return i.trim()}e.s(["isFrameworkInjectedUserInput",0,function(e){if(!e)return!1;let t=s(e);if(!t)return!0;for(let e of i)if(t.startsWith(e))return!0;return!1},"stripFrameworkBoilerplate",0,s])},79357,e=>{"use strict";let t={input:0,output:0,cacheRead:0,cacheWrite:0},i=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],s=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/;function n(e){for(let t of i){let i=e.lastIndexOf(t);if(i>=0)return{idx:i,marker:t}}return null}function a(e){let t=s.exec(e);if(!t)return null;let i=t[1],n=+!!t[0].endsWith("/");return{canonicalEndIdx:t.index+t[0].length-i.length-1-n,workspaceName:i}}let o="/.superset/worktrees/",r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function l(e){let t=e.indexOf(o);if(t<0)return null;let i=e.slice(t+o.length).split("/").filter(Boolean);if(0===i.length)return null;let s=r.test(i[0])?i[1]??i[0]:i[0];return{canonical:e.slice(0,t)+o+s,workspaceName:s}}function u(e){let t=e.replace(/\/{2,}/g,"/"),i=n(t);if(i)return t.slice(0,i.idx);let s=a(t);if(s)return t.slice(0,s.canonicalEndIdx);let o=l(t);return o?o.canonical:t}function c(e){let t=e.replace(/\/{2,}/g,"/"),i=n(t);if(i){let e=t.slice(i.idx+i.marker.length),s=e.indexOf("/");return s>=0?e.slice(0,s):e}let s=a(t);if(s)return s.workspaceName;let o=l(t);return o?o.workspaceName:null}function d(e){let t=u(e),i=t.replace(/\/+$/,"").split("/").filter(Boolean);return i[i.length-1]||t}function m(e){let i={sessionCount:e.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...t},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let t of e)i.totalDurationMs+=t.durationMs??0,i.totalAirTimeMs+=t.airTimeMs??t.durationMs??0,i.totalTokens.input+=t.totalUsage.input,i.totalTokens.output+=t.totalUsage.output,i.totalTokens.cacheRead+=t.totalUsage.cacheRead,i.totalTokens.cacheWrite+=t.totalUsage.cacheWrite,i.totalToolCalls+=t.toolCallCount??0,i.totalTurns+=t.turnCount??0,i.totalLinesAdded+=t.linesAdded??0,i.totalLinesRemoved+=t.linesRemoved??0,i.totalFilesEdited+=t.filesEdited??0;return e.length>0&&(i.avgTurnsPerSession=i.totalTurns/e.length,i.avgDurationMs=i.totalDurationMs/e.length),i}e.s(["canonicalProjectName",0,u,"computeBurstsFromSessions",0,function(e,t={}){let i=[];for(let t of e)t.activeSegments&&0!==t.activeSegments.length&&i.push({id:t.id,projectDir:t.projectDir,segments:t.activeSegments});return function(e,t){let i=t.minDurationMs??6e4,s=t.mergeGapMs??6e5,n=t.minActive??2,a=[];for(let t of e)for(let e of t.segments)e.endMs<=e.startMs||(a.push({ms:e.startMs,delta:1,sessionId:t.id}),a.push({ms:e.endMs,delta:-1,sessionId:t.id}));a.sort((e,t)=>e.ms-t.ms||t.delta-e.delta);let o=new Map,r=[],l=null;for(let e of a){if(1===e.delta)o.set(e.sessionId,(o.get(e.sessionId)??0)+1);else{let t=(o.get(e.sessionId)??0)-1;t<=0?o.delete(e.sessionId):o.set(e.sessionId,t)}let t=o.size;if(t>=n)if(l)for(let i of(l.endMs=e.ms,t>l.peak&&(l.peak=t),o.keys()))l.sessionIds.add(i);else l={startMs:e.ms,endMs:e.ms,peak:t,sessionIds:new Set(o.keys())};else l&&(l.endMs=e.ms,r.push(l),l=null)}l&&r.push(l);let u=r.filter(e=>e.endMs-e.startMs>=i),c=[];for(let e of u){let t=c[c.length-1];if(t&&e.startMs-t.endMs<=s)for(let i of(t.endMs=e.endMs,e.peak>t.peak&&(t.peak=e.peak),e.sessionIds))t.sessionIds.add(i);else c.push({startMs:e.startMs,endMs:e.endMs,peak:e.peak,sessionIds:new Set(e.sessionIds)})}let d=new Map;for(let t of e)d.set(t.id,t.projectDir);return c.map(e=>{let t=Array.from(new Set(Array.from(e.sessionIds).map(e=>d.get(e)).filter(e=>!!e)));return{startMs:e.startMs,endMs:e.endMs,peak:e.peak,sessionIds:Array.from(e.sessionIds),projectDirs:t,crossProject:t.length>1}})}(i,t)},"groupByProject",0,function(e){let t=new Map,i=function(e){let t=new Map;for(let i of e)i.repoName&&t.set(d(i.projectName),i.repoName);return e=>e.repoName??t.get(d(e.projectName))??d(e.projectName)}(e);for(let s of e){let e=i(s),n=t.get(e);n||(n={projectDir:e,projectName:e,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:m([]),perAgent:[],lastActiveMs:void 0},t.set(e,n)),n.sessions.push(s),n.rawProjectDirs.includes(s.projectDir)||n.rawProjectDirs.push(s.projectDir);let a=s.lastTimestamp?Date.parse(s.lastTimestamp):void 0;a&&(!n.lastActiveMs||a>n.lastActiveMs)&&(n.lastActiveMs=a)}for(let e of t.values()){e.metrics=m(e.sessions);let t=new Set;for(let i of e.sessions){let e=i.worktreeName??c(i.projectName)??(i.cwd?c(i.cwd):null);e&&t.add(e)}e.worktreeCount=t.size;let i=new Map;for(let t of e.sessions){let e=t.agent??"claude-code",s=i.get(e);s||(s={agent:e,sessions:0},i.set(e,s)),s.sessions+=1}e.perAgent=Array.from(i.values()).sort((e,t)=>t.sessions-e.sessions)}return Array.from(t.values()).sort((e,t)=>(t.lastActiveMs??0)-(e.lastActiveMs??0))},"projectKey",0,d,"toLocalDay",0,function(e){let t=new Date(e),i=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${i}-${s}-${n}`},"worktreeName",0,c])},43427,63950,34209,e=>{"use strict";let t;e.s(["agentSources",()=>tb,"appendUsageSnapshot",()=>tx,"cclensHome",()=>t_,"cclensPath",()=>tT,"getAnySession",()=>tI,"invalidateFile",()=>tN,"listAllSessions",()=>tj,"pruneUsageAgent",()=>tS],43427);var i=e.i(2157),s=e.i(60526),n=e.i(50227),a=e.i(39587),o=e.i(36521),r=e.i(79357);let l={input:0,output:0,cacheRead:0,cacheWrite:0};function u(e,t=200){let i=e.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return i.length>t?i.slice(0,t-1)+"…":i}let c=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function d(e){let t=e.match(c);if(!t)return;let i=t[1],s=t[2].trim(),n="message";if(s.startsWith("{"))try{let e=JSON.parse(s);"idle_notification"===e.type?n="idle-notification":"shutdown_request"===e.type?n="shutdown-request":"shutdown_approved"===e.type?n="shutdown-approved":"task_assignment"===e.type?n="task-assignment":"teammate_terminated"===e.type&&(n="teammate-terminated")}catch{}return{teammateId:i,body:s,kind:n}}function m(e){if(!e||"object"!=typeof e)return;let t=e=>"number"==typeof e?e:0;return{input:t(e.input_tokens),output:t(e.output_tokens),cacheRead:t(e.cache_read_input_tokens),cacheWrite:t(e.cache_creation_input_tokens)}}function p(e){let t,i,s,n,a,c,p,f,g,y,h,w=[];for(let t=0;t<e.length;t++){let i=function(e,t){if(!e||"object"!=typeof e)return null;let i=String(e.type??""),s=e.uuid,n=e.parentUuid??null,a=e.timestamp;if("assistant"===i){let o,r,l,c=e.message??{},d=c.content??[],p=m(c.usage),f=c.model,g=e.requestId,y=c.id,h=c.stop_reason,w=d[0],M="agent";return w?.type==="thinking"?(M="agent-thinking",o="[thinking] "+u(w.thinking,140)):w?.type==="tool_use"?(M="tool-call",r=w.name,l=w.id,o=`${w.name} `+u(JSON.stringify(w.input??{}),100)):o=w?.type==="text"?u(w.text,200):`<assistant:${w?.type??"empty"}>`,{index:t,uuid:s,parentUuid:n,timestamp:a,role:M,rawType:i,preview:o,blocks:d,usage:p,model:f,requestId:g,messageId:y,stopReason:h,toolName:r,toolUseId:l,raw:e}}if("user"===i){let r=(e.message??{}).content;if("string"==typeof r){let l=(0,o.stripFrameworkBoilerplate)(r),c=d(l);return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:u(l,200),blocks:l?[{type:"text",text:l}]:[],raw:e,teammateMessage:c}}if(Array.isArray(r)){let l=r[0];if(l?.type==="tool_result")return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"tool-result",rawType:i,preview:u("string"==typeof l.content?l.content:JSON.stringify(l.content),200),blocks:r,toolUseId:l.tool_use_id,toolResult:e.toolUseResult,raw:e};let c=r.find(e=>e?.type==="text"),m=c?(0,o.stripFrameworkBoilerplate)(c.text):"",p=c?r.map(e=>e===c?{type:"text",text:m}:e):r,f=m?d(m):void 0;return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:m?u(m,200):u(JSON.stringify(r),200),blocks:p,raw:e,teammateMessage:f}}}if("attachment"===i){let o=e.attachment??{},r=String(o.type??"attachment"),l=`<attachment: ${r}>`;return"string"==typeof o.content&&o.content.length>0?l=`[${r}] `+u(o.content,140):Array.isArray(o.addedNames)&&(l=`[${r}] +${o.addedNames.length} names`),{index:t,uuid:s,parentUuid:n,timestamp:a,role:"system",rawType:i,preview:l,blocks:[{type:"text",text:JSON.stringify(o,null,2)}],attachmentType:r,raw:e}}return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"meta",rawType:i||"unknown",preview:`${i}: ${u(JSON.stringify(e),140)}`,blocks:[{type:"text",text:JSON.stringify(e,null,2)}],raw:e}}(e[t],t);i&&w.push(i)}for(let e of w){if(!e.timestamp)continue;let s=Date.parse(e.timestamp);!Number.isNaN(s)&&((void 0===t||s<t)&&(t=s),(void 0===i||s>i)&&(i=s))}let M=void 0!==t?new Date(t).toISOString():void 0,v=void 0!==i?new Date(i).toISOString():void 0;for(let e of w){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isNaN(i)||void 0!==t&&(e.tOffsetMs=Math.max(0,i-t))}let k=w.filter(e=>{let t;return e.timestamp&&("user"===(t=e.role)||"agent"===t||"agent-thinking"===t||"tool-call"===t||"tool-result"===t)}).map(e=>({e,ms:Date.parse(e.timestamp)})).filter(e=>!Number.isNaN(e.ms)).sort((e,t)=>e.ms-t.ms);for(let e=1;e<k.length;e++)k[e].e.gapMs=Math.max(0,k[e].ms-k[e-1].ms);let _=w.filter(e=>e.timestamp).map(e=>Date.parse(e.timestamp)).filter(e=>!Number.isNaN(e)).sort((e,t)=>e-t),T=[],N=0;if(_.length>0){let e=_[0],t=_[0];for(let i=1;i<_.length;i++){let s=_[i],n=s-t;n>18e4?(T.push({startMs:e,endMs:t}),e=s):n>0&&(N+=n),t=s}T.push({startMs:e,endMs:t})}let b=new Map,j=[];for(let e of w){if(!e.timestamp)continue;let t=Date.parse(e.timestamp);if(!Number.isNaN(t)){if("assistant"===e.rawType&&e.usage&&e.messageId){let i=b.get(e.messageId);i?(i.siblings.push(e),t<i.ms&&(i.rep=e,i.ms=t)):b.set(e.messageId,{rep:e,ms:t,siblings:[e]})}else if("system"===e.rawType){let i=e.raw;if(i?.subtype!=="compact_boundary")continue;let s=i.compactMetadata??{};j.push({ms:t,trigger:"manual"===s.trigger?"manual":"auto",preTokens:"number"==typeof s.preTokens?s.preTokens:0})}}}let I=[...b.values()].sort((e,t)=>e.ms-t.ms);j.sort((e,t)=>e.ms-t.ms);let C=0,x=0,S=(e,t)=>{for(let i of e.siblings)i.coldResume=t;C++,x+=t.writeTokens},A=new Set;for(let e of j){let t,i=I.find(t=>t.ms>e.ms&&(t.rep.usage?.cacheWrite??0)>=1e3);if(!i)continue;for(let i=I.length-1;i>=0;i--)if(I[i].ms<=e.ms){t=I[i].ms;break}let s=i.rep.usage,n=s.cacheWrite+s.cacheRead;S(i,{trigger:"compact",gapMs:void 0!==t?i.ms-t:0,writeTokens:s.cacheWrite,writeRatio:n>0?s.cacheWrite/n:0,compact:{trigger:e.trigger,preTokens:e.preTokens}}),A.add(i.rep.messageId)}for(let e=1;e<I.length;e++){let t=I[e-1],i=I[e];if(A.has(i.rep.messageId))continue;let s=i.rep.usage,n=s.cacheWrite+s.cacheRead,a=n>0?s.cacheWrite/n:0,o=i.ms-t.ms;o>3e5&&s.cacheWrite>=1e3&&a>=.3&&S(i,{trigger:"idle",gapMs:o,writeTokens:s.cacheWrite,writeRatio:a})}let P={...l},D=new Set,B="",z=!1,R=!1,U=0,$=0,O=0,F=0,W=new Set,E=new Map,L=void 0!==t?(0,r.toLocalDay)(t):void 0,J=e=>{let t;if(e){let i=Date.parse(e);Number.isNaN(i)||(t=(0,r.toLocalDay)(i))}if(!(t=t??L))return;let i=E.get(t);return i||(i={toolCalls:0,turns:0,tokens:{...l}},E.set(t,i)),i};for(let e of w){if("tool-call"===e.role){U++;let t=J(e.timestamp);t&&t.toolCalls++;let i=e.blocks.find(e=>e&&"tool_use"===e.type);if(i){let e=i.input??{};if("TeamCreate"===i.name&&(z=!0),"SendMessage"===i.name){let t="string"==typeof e.to?e.to:"";t&&"team-lead"!==t&&(R=!0)}let t="string"==typeof e.file_path?e.file_path:void 0;if("Edit"===i.name&&t){W.add(t);let i="string"==typeof e.old_string?e.old_string:"",s="string"==typeof e.new_string?e.new_string:"",n=i?i.split("\n").length:0,a=s?s.split("\n").length:0;O+=Math.max(0,a-n),F+=Math.max(0,n-a)}else if("Write"===i.name&&t){W.add(t);let i="string"==typeof e.content?e.content:"";O+=i?i.split("\n").length:0}}}if("user"===e.role){let t=function(e){let t=e?.content;if("string"==typeof t)return t;if(Array.isArray(t)){for(let e of t)if(e&&"object"==typeof e&&"text"===e.type&&"string"==typeof e.text)return e.text}return""}(e.raw?.message),i=(0,o.isFrameworkInjectedUserInput)(t),s=void 0!==e.teammateMessage&&!f;if(!i&&!s){g||(g=e.teammateMessage?e.teammateMessage.body:e.preview),$++;let t=J(e.timestamp);t&&t.turns++,h=e.preview}}"agent"===e.role&&(y=e.preview)}for(let t of e)if(t&&"object"==typeof t&&("string"!=typeof t.sessionId||B||(B=t.sessionId),"string"!=typeof t.cwd||n||(n=t.cwd),"string"!=typeof t.gitBranch||a||(a=t.gitBranch),"string"!=typeof t.entrypoint||c||(c=t.entrypoint),"string"!=typeof t.teamName||p||(p=t.teamName),"string"!=typeof t.agentName||f||(f=t.agentName),"assistant"===t.type)){let e=t.message;if(e){"string"!=typeof e.model||s||(s=e.model);let i="string"==typeof e.id?e.id:void 0;if(i&&D.has(i))continue;i&&D.add(i);let n=m(e.usage);if(n){P.input+=n.input,P.output+=n.output,P.cacheRead+=n.cacheRead,P.cacheWrite+=n.cacheWrite;let e=J("string"==typeof t.timestamp?t.timestamp:void 0);e&&(e.tokens.input+=n.input,e.tokens.output+=n.output,e.tokens.cacheRead+=n.cacheRead,e.tokens.cacheWrite+=n.cacheWrite)}}}return{events:w,meta:{sessionId:B,firstTimestamp:M,lastTimestamp:v,durationMs:void 0!==t&&void 0!==i?i-t:void 0,eventCount:w.length,model:s,cwd:n,gitBranch:a,entrypoint:c,totalUsage:P,status:"idle",firstUserPreview:g,lastUserPreview:h,lastAgentPreview:y,toolCallCount:U,turnCount:$,dailyBreakdown:Array.from(E.entries()).map(([e,t])=>({day:e,toolCalls:t.toolCalls,turns:t.turns,tokens:t.tokens})).sort((e,t)=>e.day.localeCompare(t.day)),airTimeMs:N,activeSegments:T,linesAdded:O,linesRemoved:F,filesEdited:W.size,coldResumeCount:C,cacheRebuildTokens:x,teamName:p,agentName:f,isTeamLead:void 0!==p&&void 0===f&&(z||R)}}}let f=/^(?:(?:https?|ssh|git):\/\/)?(?:[^@/]+@)?([^/:]+)[:/](.+?)(?:\.git)?\/?$/;function g(e){try{return(0,i.realpathSync)(e)}catch{return e}}function y(e){let t=g(e.replace(/\/{2,}/g,"/"));try{let e=function(e){let t;if(!e||!(0,n.isAbsolute)(e))return null;let a=(t=g((0,s.homedir)()),e===t||e.startsWith(`${t}/`)?t:void 0);for(let t=e.replace(/\/+$/,"")||e;;t=(0,n.dirname)(t)){if(t===a)return null;let e=function(e){let t=(0,n.join)(e,".git"),s=(0,i.statSync)(t,{throwIfNoEntry:!1});if(!s)return null;if(s.isDirectory())return{root:e,gitDir:t,commonDir:t};let a=function(e,t){let i=t.match(/^gitdir:\s*(.+)\s*$/m);if(!i)return;let s=i[1].trim();return(0,n.isAbsolute)(s)?s:(0,n.resolve)(e,s)}(e,(0,i.readFileSync)(t,"utf8"));return a?{root:e,gitDir:a,commonDir:function(e){let t=(0,n.join)(e,"commondir");if(!(0,i.existsSync)(t))return;let s=(0,i.readFileSync)(t,"utf8").trim();if(s)return(0,n.isAbsolute)(s)?s:(0,n.resolve)(e,s)}(a)}:{root:e}}(t);if(e)return e;if((0,n.dirname)(t)===t)return null}}(t);if(e){let s=g(function(e){if(e)return".git"===(0,n.basename)(e)?(0,n.dirname)(e):void 0}(e.commonDir)??e.root),a=g(e.root),o=s!==a?(0,r.worktreeName)(t)??(0,n.basename)(e.root):void 0,l={projectName:s};o&&(l.worktreeName=o);let u=function(e){let t=e.commonDir??e.gitDir;if(!t)return;let s=(0,n.join)(t,"config");if(!(0,i.existsSync)(s))return;let a=function(e){let t=!1;for(let i of e.split("\n")){let e=i.trim();if(e.startsWith("[")){t=/^\[remote\s+"origin"\]/.test(e);continue}if(!t)continue;let s=e.match(/^url\s*=\s*(.+)$/);if(s)return s[1].trim()}}((0,i.readFileSync)(s,"utf8"));return a?function(e){let t=e.match(f);if(!t)return;let i=t[1],s=t[2].split("/").filter(Boolean);if(s.length<2)return;let n=s[s.length-1],a=s.slice(0,-1).join("/");return{host:i,owner:a,name:n,url:e,webUrl:`https://${i}/${a}/${n}`}}(a):void 0}(e);return u&&(l.remote=u,l.repoName=u.name),l}}catch{}let a=(0,r.canonicalProjectName)(t),o=(0,r.worktreeName)(t)??void 0;return o?{projectName:a,worktreeName:o}:{projectName:a}}var h=e.i(1457);class w extends Error{filePath;sizeBytes;code="JSONL_TOO_LARGE";constructor(e,t){super(`transcript too large to parse (${t} bytes): ${e}`),this.filePath=e,this.sizeBytes=t,this.name="JsonlTooLargeError"}}function M(e){return e>0x4000000}async function v(e){let t=await i.promises.stat(e);if(M(t.size))throw new w(e,t.size);let s=[],n=(0,h.createInterface)({input:(0,i.createReadStream)(e,{encoding:"utf8"}),crlfDelay:1/0}),a=0;for await(let e of n)!function(e,t){let i=e.trim();if(i&&!(Buffer.byteLength(i)>2097152))try{t.push(JSON.parse(i))}catch{}}(e,s),++a%1e3==0&&await Promise.resolve();return s}async function k(e,t,i){let s=Array(e.length),n=0;async function a(){for(;;){let t=n++;if(t>=e.length)return;s[t]=await i(e[t],t)}}let o=Math.min(Math.max(1,t),e.length);return 0===e.length||await Promise.all(Array.from({length:o},()=>a())),s}function _(e,t,i,s=4){for(e.has(t)&&e.delete(t),e.set(t,i);e.size>s;){let t=e.keys().next().value;if(void 0===t)break;e.delete(t)}}function T(e,t){let i=e.get(t);if(void 0!==i)return e.delete(t),e.set(t,i),i}let N=n.default.join(s.default.homedir(),".claude","projects");function b(e){return e.startsWith("-")?"/"+e.slice(1).replace(/-/g,"/"):e}let j=n.default.join(s.default.homedir(),".cclens","runtime").replace(/[/.]/g,"-");function I(e){return e.replace(/\.jsonl$/i,"")}let C=new Map,x=new Map,S=new Map,A=null;function P(e){C.delete(e),x.delete(e),S.delete(e),A=null}async function D(e=N){let t;if(A&&A.root===e&&Date.now()-A.capturedAtMs<1e3)return A.files;try{t=await i.promises.readdir(e,{withFileTypes:!0})}catch{return[]}let s=t.filter(e=>e.isDirectory()&&e.name!==j).map(e=>e.name),a=(await Promise.all(s.map(async t=>{let s,a=n.default.join(e,t);try{s=await i.promises.readdir(a)}catch{return[]}let o=s.filter(e=>e.endsWith(".jsonl"));return(await Promise.all(o.map(async e=>{let s=n.default.join(a,e);try{let n=await i.promises.stat(s);return{projectDir:t,fileName:e,fullPath:s,mtimeMs:n.mtimeMs,sizeBytes:n.size}}catch{return null}}))).filter(e=>null!==e)}))).flat();return A={files:a,capturedAtMs:Date.now(),root:e},a}let B={input:0,output:0,cacheRead:0,cacheWrite:0};function z(e,t,i,s,n){for(let a of e){if(!a||"object"!=typeof a||"assistant"!==a.type)continue;let e=a.message;if(!e)continue;let o="string"==typeof e.id?e.id:void 0,l="string"==typeof a.requestId?a.requestId:void 0,u=null!=o&&null!=l?`${o}:${l}`:void 0;if(u&&t.has(u))continue;u&&t.add(u);let c=e.usage;if(c){let e=e=>"number"==typeof e?e:0,t=e(c.input_tokens),o=e(c.output_tokens),l=e(c.cache_read_input_tokens),u=e(c.cache_creation_input_tokens);if(i.input+=t,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u,s){let e,i="string"==typeof a.timestamp?a.timestamp:void 0;if(i){let t=Date.parse(i);Number.isNaN(t)||(e=(0,r.toLocalDay)(t))}if(e=e??n){let i=s.get(e);i||(i={...B},s.set(e,i)),i.input+=t,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u}}}}}async function R(e,t,s,a){let o,r={...B},l=new Set,u=new Map;z(e,l,r,u,a);let c=n.default.join(t,s,"subagents");try{o=await i.promises.readdir(c)}catch{return{usage:r,perDay:u}}let d=o.filter(e=>e.endsWith(".jsonl"));return 0===d.length||await Promise.all(d.map(async e=>{try{let t=await v(n.default.join(c,e));z(t,l,r,u,a)}catch{}})),{usage:r,perDay:u}}async function U(e,t){let s,a=n.default.join(e,t,"workflows");try{s=await i.promises.readdir(a)}catch{return{workflowCount:0,spawnedAgentCount:0,spans:[]}}let o=s.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===o.length)return{workflowCount:0,spawnedAgentCount:0,spans:[]};let r=0,l=[];return{workflowCount:(await Promise.all(o.map(async e=>{try{let t=JSON.parse(await i.promises.readFile(n.default.join(a,e),"utf8"));return"number"==typeof t.agentCount&&(r+=t.agentCount),"number"==typeof t.startTime&&"number"==typeof t.durationMs&&t.durationMs>0&&l.push({startMs:t.startTime,endMs:t.startTime+t.durationMs}),!0}catch{return!1}}))).filter(Boolean).length,spawnedAgentCount:r,spans:l}}async function $(e,t){let s;try{s=await i.promises.readdir(e,{withFileTypes:!0})}catch{return 0}return(await Promise.all(s.map(async s=>{let a=n.default.join(e,s.name);try{if(s.isDirectory())return t>0?await $(a,t-1):0;return(await i.promises.stat(a)).mtimeMs}catch{return 0}}))).reduce((e,t)=>Math.max(e,t),0)}async function O(e,t){let i=n.default.join(e,t),[s,a]=await Promise.all([$(n.default.join(i,"subagents"),2),$(n.default.join(i,"workflows"),0)]),o=Math.max(s,a);return o>0?o:void 0}async function F(e,t){let i=await O(n.default.dirname(t.fullPath),e.id),s=e.lastTimestamp?Date.parse(e.lastTimestamp):0,a=Math.max(Number.isFinite(s)?s:0,i??0);return a>0?{...e,lastActivityMs:a}:e}function W(e,t){if(0===t.length)return{};let i=[...e??[],...t].filter(e=>e.endMs>e.startMs).sort((e,t)=>e.startMs-t.startMs);if(0===i.length)return{};let s=[{...i[0]}];for(let e=1;e<i.length;e++){let t=i[e],n=s[s.length-1];t.startMs<=n.endMs?n.endMs=Math.max(n.endMs,t.endMs):s.push({...t})}let n=s.reduce((e,t)=>e+(t.endMs-t.startMs),0);return{activeSegments:s,airTimeMs:n}}async function E(e,t,i){let s=I(i.fileName),a=n.default.dirname(i.fullPath),o=e.firstTimestamp?(0,r.toLocalDay)(Date.parse(e.firstTimestamp)):void 0,{usage:l,perDay:u}=await R(t,a,s,o);e.totalUsage=l,e.dailyBreakdown=function(e,t,i){let s=new Map((e??[]).map(e=>[e.day,e])),n=[...new Set([...s.keys(),...t.keys()])].sort((e,t)=>e.localeCompare(t)).map(e=>({day:e,toolCalls:s.get(e)?.toolCalls??0,turns:s.get(e)?.turns??0,tokens:{...t.get(e)??B}}));if(n.length>0){let e=n.reduce((e,t)=>({input:e.input+t.tokens.input,output:e.output+t.tokens.output,cacheRead:e.cacheRead+t.tokens.cacheRead,cacheWrite:e.cacheWrite+t.tokens.cacheWrite}),{...B}),t=n[0].tokens;t.input+=i.input-e.input,t.output+=i.output-e.output,t.cacheRead+=i.cacheRead-e.cacheRead,t.cacheWrite+=i.cacheWrite-e.cacheWrite}return n}(e.dailyBreakdown,u,l)}async function L(e){let t=C.get(e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.meta;if(M(e.sizeBytes))return null;try{let t=await v(e.fullPath),{meta:i}=p(t);await E(i,t,e);let s=I(e.fileName),a=n.default.dirname(e.fullPath),o=await U(a,s),r=i.cwd??b(e.projectDir),l=y(r),u={...i,id:s,filePath:e.fullPath,projectDir:e.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...W(i.activeSegments,o.spans)};return C.set(e.fullPath,{meta:u,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),u}catch{return null}}async function J(e){let t=T(x,e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.detail;if(M(e.sizeBytes))return null;try{let t=await v(e.fullPath),{meta:i,events:s}=p(t),a=I(e.fileName);await E(i,t,e);let o=await U(n.default.dirname(e.fullPath),a),r=i.cwd??b(e.projectDir),l=y(r),u={...i,id:a,filePath:e.fullPath,projectDir:e.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,events:s,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...W(i.activeSegments,o.spans)};_(x,e.fullPath,{detail:u,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes});let c={...u};return delete c.events,C.set(e.fullPath,{meta:c,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),u}catch{return null}}async function G(e={}){let{root:t=N,limit:i=500,projectDir:s}=e,n=await D(t);s&&(n=n.filter(e=>e.projectDir===s)),n.sort((e,t)=>t.mtimeMs-e.mtimeMs);let a=n.slice(0,i);return(await k(a,4,async e=>{let t=await L(e);return t?F(t,e):null})).filter(e=>null!==e)}async function q(e,t={}){let{root:i=N}=t,s=(await D(i)).find(t=>I(t.fileName)===e);if(!s)return null;let a=await J(s);if(!a)return a;let o=a.firstTimestamp?Date.parse(a.firstTimestamp):void 0,r=n.default.join(n.default.dirname(s.fullPath),I(s.fileName),"subagents"),l=n.default.join(n.default.dirname(s.fullPath),I(s.fileName),"workflows"),[u,c]=await Promise.all([K(r,o,a.events),V(l,o,a.events)]),d=c.reduce((e,t)=>e+t.agentCount,0);return F({...a,subagents:u,workflows:c,...c.length>0?{workflowCount:c.length,spawnedAgentCount:d}:{}},s)}function H(e){let t,i,s,n,a,o={...B},r=new Set,l=0,u=0,c=0,d=new Map;for(let m of e){if(!m||"object"!=typeof m)continue;l++;let e="string"==typeof m.timestamp?Date.parse(m.timestamp):NaN;if(!Number.isNaN(e)&&((void 0===t||e<t)&&(t=e),(void 0===i||e>i)&&(i=e)),void 0===a&&"user"===m.type&&(null===m.parentUuid||void 0===m.parentUuid)){let e=m.message,t=e?.content;if("string"==typeof t)a=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(a=e.text)}}if("assistant"===m.type){let e=m.message;if(!e)continue;n||"string"!=typeof e.model||(n=e.model);let t="string"==typeof e.id?e.id:void 0,i="string"==typeof m.requestId?m.requestId:void 0,a=null!=t&&null!=i?`${t}:${i}`:void 0,l=!a||!r.has(a);if(a&&l&&r.add(a),l){u++;let t=e.usage;if(t){let e=e=>"number"==typeof e?e:0;o.input+=e(t.input_tokens),o.output+=e(t.output_tokens),o.cacheRead+=e(t.cache_read_input_tokens),o.cacheWrite+=e(t.cache_creation_input_tokens)}}let p=e.content;if(Array.isArray(p))for(let e of p)e&&"object"==typeof e&&("text"===e.type&&"string"==typeof e.text?s=e.text:"tool_use"===e.type&&"string"==typeof e.name&&(c++,d.set(e.name,(d.get(e.name)??0)+1)))}}let m=Array.from(d.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count);return{startMs:t,endMs:i,totalUsage:o,eventCount:l,finalPreview:void 0!==s?s.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:s,model:n,toolCalls:m,toolCallCount:c,assistantMessageCount:u,initialPrompt:a}}async function K(e,t,s){let a;try{a=await i.promises.readdir(e)}catch{return[]}let o=new Map,r=[];for(let e of s)if("tool-call"===e.role&&"Agent"===e.toolName)for(let t of e.blocks){if(t?.type!=="tool_use"||"Agent"!==t.name)continue;let i=t.input??{},s="string"==typeof i.description?i.description:void 0,n=e.timestamp?Date.parse(e.timestamp):void 0,a={toolUseId:t.id,parentUuid:e.uuid??"",runInBackground:!0===i.run_in_background,prompt:"string"==typeof i.prompt?i.prompt:void 0,tsMs:n};s&&o.set(s,a),void 0!==n&&r.push(a)}r.sort((e,t)=>(e.tsMs??0)-(t.tsMs??0));let l=a.filter(e=>e.startsWith("agent-")&&e.endsWith(".jsonl"));return(await Promise.all(l.map(async s=>{let a,l=s.replace(/^agent-/,"").replace(/\.jsonl$/,""),u=n.default.join(e,s),c=n.default.join(e,`agent-${l}.meta.json`),d={};try{let e=await i.promises.readFile(c,"utf8");d=JSON.parse(e)}catch{}try{a=await v(u)}catch{return null}let m=H(a),p=d.description&&d.description.trim().length>0?d.description:void 0,f=p?o.get(p):function(e){let t;if(void 0===e)return;let i=1/0;for(let s of r){if(void 0===s.tsMs)continue;let n=Math.abs(e-s.tsMs);n<i&&n<=2e3&&(t=s,i=n)}return t}(m.startMs),g=p??(m.initialPrompt?m.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),y=f?.prompt??m.initialPrompt,h=void 0!==t&&void 0!==m.startMs?Math.max(0,m.startMs-t):void 0,w=void 0!==t&&void 0!==m.endMs?Math.max(0,m.endMs-t):void 0,M=void 0!==m.startMs&&void 0!==m.endMs?m.endMs-m.startMs:void 0;return{agentId:l,agentType:d.agentType??"unknown",description:g,startMs:m.startMs,endMs:m.endMs,durationMs:M,startTOffsetMs:h,endTOffsetMs:w,eventCount:m.eventCount,totalUsage:m.totalUsage,parentUuid:f?.parentUuid,parentToolUseId:f?.toolUseId,runInBackground:f?.runInBackground,prompt:y,finalPreview:m.finalPreview,finalText:m.finalText,model:m.model,toolCalls:m.toolCalls,toolCallCount:m.toolCallCount,assistantMessageCount:m.assistantMessageCount}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function V(e,t,s){let a;try{a=await i.promises.readdir(e)}catch{return[]}let o=a.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===o.length)return[];let r=[];for(let e of s){if("tool-call"!==e.role||"Workflow"!==e.toolName)continue;let t=e.timestamp?Date.parse(e.timestamp):NaN;if(!Number.isNaN(t))for(let i of e.blocks)i?.type==="tool_use"&&"Workflow"===i.name&&r.push({toolUseId:i.id,parentUuid:e.uuid??"",tsMs:t})}r.sort((e,t)=>e.tsMs-t.tsMs);let l=e=>"number"==typeof e?e:void 0,u=e=>"string"==typeof e&&e.length>0?e:void 0;return(await Promise.all(o.map(async s=>{let a;try{a=JSON.parse(await i.promises.readFile(n.default.join(e,s),"utf8"))}catch{return null}let o=u(a.runId)??s.replace(/\.json$/,""),c=l(a.startTime),d=l(a.durationMs),m=void 0!==c&&void 0!==d?c+d:void 0,p=void 0!==t&&void 0!==c?Math.max(0,c-t):void 0,f=void 0!==t&&void 0!==m?Math.max(0,m-t):void 0,g=Array.isArray(a.phases)?a.phases.filter(e=>!!e&&"object"==typeof e&&"string"==typeof e.title).map(e=>({title:e.title,detail:u(e.detail)})):[],y=Array.isArray(a.logs)?a.logs.filter(e=>"string"==typeof e):[],h=(e,t)=>{let i=u(e);return void 0===i?void 0:i.length>t?i.slice(0,t)+"…":i},w=(Array.isArray(a.workflowProgress)?a.workflowProgress:[]).filter(e=>!!e&&"object"==typeof e&&"workflow_agent"===e.type).map(e=>({index:l(e.index)??0,label:u(e.label)??"(agent)",phaseIndex:l(e.phaseIndex),phaseTitle:u(e.phaseTitle),agentId:u(e.agentId),model:u(e.model),state:u(e.state),startedAt:l(e.startedAt),durationMs:l(e.durationMs),tokens:l(e.tokens),toolCalls:l(e.toolCalls),lastToolSummary:h(e.lastToolSummary,200),promptPreview:h(e.promptPreview,600),resultPreview:h(e.resultPreview,600)})).sort((e,t)=>e.index-t.index),M=(e=>{let t,i;if(void 0===e||0===r.length)return;let s=1/0,n=1/0;for(let a of r){let o=Math.abs(e-a.tsMs);!(o>6e4)&&(o<n&&(i=a,n=o),a.tsMs<=e&&o<s&&(t=a,s=o))}return t??i})(c);return{runId:o,name:u(a.workflowName)??o,description:u(a.summary),status:u(a.status)??"unknown",agentCount:l(a.agentCount)??0,toolCallCount:l(a.totalToolCalls)??0,totalTokens:l(a.totalTokens)??0,durationMs:d,startMs:c,endMs:m,startTOffsetMs:p,endTOffsetMs:f,model:u(a.defaultModel),phases:g,logs:y,agents:w,parentToolUseId:M?.toolUseId,parentUuid:M?.parentUuid}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function Y(e,t,i,s={}){let a,o,r,l,u,c,{root:d=N}=s;if(!/^[\w.-]+$/.test(t)||!/^[\w.-]+$/.test(i))return null;let m=(await D(d)).find(t=>I(t.fileName)===e);if(!m)return null;let p=n.default.join(n.default.dirname(m.fullPath),e,"subagents","workflows",t,`agent-${i}.jsonl`);try{a=await v(p)}catch{return null}let f=new Set;for(let e of a){if(!e||"object"!=typeof e)continue;let t=e.message?.content;if(Array.isArray(t))for(let e of t)e&&"object"==typeof e&&"tool_result"===e.type&&!0===e.is_error&&"string"==typeof e.tool_use_id&&f.add(e.tool_use_id)}let g=[],y=new Map,h={...B},w=new Set,M=0,k=0;for(let e of a){if(!e||"object"!=typeof e)continue;k++;let t="string"==typeof e.timestamp?Date.parse(e.timestamp):NaN;if(!Number.isNaN(t)&&((void 0===u||t<u)&&(u=t),(void 0===c||t>c)&&(c=t)),void 0===o&&"user"===e.type&&(null===e.parentUuid||void 0===e.parentUuid)){let t=e.message?.content;if("string"==typeof t)o=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(o=e.text)}}if("assistant"!==e.type)continue;let i=e.message;if(!i)continue;l||"string"!=typeof i.model||(l=i.model);let s="string"==typeof i.id?i.id:void 0,n="string"==typeof e.requestId?e.requestId:void 0,a=null!=s&&null!=n?`${s}:${n}`:void 0,d=!a||!w.has(a);if(a&&d&&w.add(a),d){M++;let e=i.usage;if(e){let t=e=>"number"==typeof e?e:0;h.input+=t(e.input_tokens),h.output+=t(e.output_tokens),h.cacheRead+=t(e.cache_read_input_tokens),h.cacheWrite+=t(e.cache_creation_input_tokens)}}let m=i.content;if(Array.isArray(m)){for(let e of m)if(e&&"object"==typeof e){if("text"===e.type&&"string"==typeof e.text)r=e.text;else if("tool_use"===e.type&&"string"==typeof e.name&&(y.set(e.name,(y.get(e.name)??0)+1),g.length<2e3)){let t=function(e){if(!e||"object"!=typeof e)return"";let t=t=>"string"==typeof e[t]?e[t]:void 0;return t("command")??t("file_path")??t("path")??t("pattern")??t("url")??t("description")??t("query")??t("prompt")??t("old_string")??JSON.stringify(e)}(e.input),i=t.replace(/\s+/g," ").trim().slice(0,160),s=t.length>4e3?t.slice(0,4e3)+"…":t;g.push({index:g.length+1,tool:e.name,preview:i,full:s.length>i.length||s.includes("\n")?s:void 0,isError:"string"==typeof e.id&&f.has(e.id)})}}}}return{agentId:i,prompt:o,finalText:r,steps:g,toolCalls:Array.from(y.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count),toolCallCount:g.length,assistantMessageCount:M,eventCount:k,totalUsage:h,model:l,durationMs:void 0!==u&&void 0!==c?c-u:void 0}}let Z={...a.CLAUDE_CODE_METADATA,defaultRoot:N,async listSessions(e){let t=await G(e);for(let e of t)e.agent||(e.agent="claude-code");return t},async getSession(e,t){let i=await q(e,t);return i&&!i.agent&&(i.agent="claude-code"),i}};e.s(["DEFAULT_ROOT",0,N,"claudeCodeSource",0,Z,"getSession",0,q,"invalidateClaudeCodeFile",0,P,"listSessions",0,G,"loadWorkflowAgentDetail",0,Y,"summarizeSubagentLines",0,H],63950);let Q=n.default.join(s.default.homedir(),".codex","sessions"),X=/^rollout-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})-([0-9a-f-]+)\.jsonl$/;async function ee(e){return i.promises.readdir(e).catch(()=>[])}async function et(e){let t=[];for(let s of(await ee(e))){if(!/^\d{4}$/.test(s))continue;let a=n.default.join(e,s);for(let e of(await ee(a))){if(!/^\d{2}$/.test(e))continue;let s=n.default.join(a,e);for(let e of(await ee(s))){if(!/^\d{2}$/.test(e))continue;let a=n.default.join(s,e);for(let e of(await ee(a))){let s=X.exec(e);if(!s)continue;let o=n.default.join(a,e),r=await i.promises.stat(o).catch(()=>null);r&&t.push({filePath:o,sessionId:s[2],mtimeMs:r.mtimeMs,sizeBytes:r.size})}}}}return t}function ei(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function es(e){let t;return((t=e.search(/<oai-mem-citation\b/i))>=0?e.slice(0,t):e).trim()}function en(e){for(let t of e.blocks)if(t?.type==="text"&&"string"==typeof t.text)return t.text;return e.preview??""}function ea(e){for(let t=e.length-1;t>=0;t--)if("agent"===e[t].role)return t;return -1}function eo(e,t){let i=es(e),s=es(t);return!i&&!s||!!i&&!!s&&i===s}function er(e,t){let i,s,n,a,r,l,u,c,d,m,p,f,g=[],h={input:0,output:0,cacheRead:0,cacheWrite:0},w=0,M=0,v=[],k=0;for(let e of t){if("object"!=typeof e||null===e)continue;let t="string"==typeof e.timestamp?e.timestamp:void 0;if(t){i||(i=t),s=t;let e=Date.parse(t);Number.isFinite(e)&&v.push(e)}let y="string"==typeof e.type?e.type:"",T=e.payload??{},N="string"==typeof T.type?T.type:"";if("session_meta"===y){"string"==typeof T.cwd&&(n=T.cwd),void 0===c&&"string"==typeof T.thread_source&&(c=T.thread_source),void 0===d&&"string"==typeof T.session_id&&(d=T.session_id),void 0===m&&"string"==typeof T.parent_thread_id&&(m=T.parent_thread_id),void 0===p&&"string"==typeof T.agent_nickname&&(p=T.agent_nickname),void 0===f&&"string"==typeof T.agent_path&&(f=T.agent_path);continue}if("turn_context"===y){"string"==typeof T.cwd&&(n=T.cwd),"string"==typeof T.model&&(a=T.model);continue}if("event_msg"===y&&"token_count"===N){let e=T.info??null,t=e?.total_token_usage??null;t&&(h.input=el(t.input_tokens)??h.input,h.output=el(t.output_tokens)??h.output,h.cacheRead=el(t.cached_input_tokens)??h.cacheRead);continue}if("event_msg"===y&&"user_message"===N){let i="string"==typeof T.message?T.message:"",s=ei(i),n=(0,o.isFrameworkInjectedUserInput)(i);i&&!n&&(r||(r=s),l=s,M+=1),g.push({index:k++,timestamp:t,role:"user",rawType:"event_msg/user_message",preview:s,blocks:i?[{type:"text",text:i}]:[],raw:e});continue}if("event_msg"===y&&"agent_message"===N){let i="string"==typeof T.message?T.message:"",s=ei(i),n=ea(g);if(n>=0){let o=g[n];if("response_item/message"===o.rawType&&eo(en(o),i)){g[n]={...o,timestamp:t??o.timestamp,rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e},i&&(u=s);continue}if("event_msg/agent_message"===o.rawType&&eo(en(o),i))continue}i&&(u=s),g.push({index:k++,timestamp:t,role:"agent",rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"reasoning"===N){let i=(T.summary??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim();g.push({index:k++,timestamp:t,role:"agent-thinking",rawType:"response_item/reasoning",preview:ei(i),blocks:i?[{type:"thinking",thinking:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"message"===N&&"assistant"===T.role){let i=(T.content??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim(),s=ea(g);if(s>=0&&eo(en(g[s]),i))continue;let n=ei(i);i&&(u=n),g.push({index:k++,timestamp:t,role:"agent",rawType:"response_item/message",preview:n,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"function_call"===N){var _;let i="string"==typeof T.name?T.name:"(unknown)",s="string"==typeof T.call_id?T.call_id:void 0,n="string"==typeof T.arguments?T.arguments:"",o=function(e){if(!e)return null;try{return JSON.parse(e)}catch{return e}}(n);w+=1,g.push({index:k++,timestamp:t,role:"tool-call",rawType:"response_item/function_call",preview:`${i}(${(_=n).length<=80?_:_.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:s??`codex-${k}`,name:i,input:o}],toolName:i,toolUseId:s,model:a,raw:e});continue}if("response_item"===y&&"function_call_output"===N){let i="string"==typeof T.call_id?T.call_id:void 0,s="string"==typeof T.output?T.output:"",n=/process exited with code [1-9]/i.test(s);g.push({index:k++,timestamp:t,role:"tool-result",rawType:"response_item/function_call_output",preview:ei(s),blocks:[{type:"tool_result",tool_use_id:i??"",content:s,is_error:n}],toolUseId:i,toolResult:s,raw:e});continue}g.push({index:k++,timestamp:t,role:"meta",rawType:N?`${y}/${N}`:y,preview:"",blocks:[],raw:e})}if(h.input>0||h.output>0){let t=-1;for(let e=g.length-1;e>=0;e--){let i=g[e].role;if("agent"===i||"agent-thinking"===i||"tool-call"===i){t=e;break}}if(t>=0){let i=g[t];i.messageId=`codex-${e.sessionId}-total`,i.usage={input:h.input,output:h.output,cacheRead:h.cacheRead,cacheWrite:0}}}let T=i?Date.parse(i):void 0;if(void 0!==T&&Number.isFinite(T)){let e;for(let t of g){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-T),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let N=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(v),b=N.reduce((e,t)=>e+(t.endMs-t.startMs),0),j=i&&s?Date.parse(s)-Date.parse(i):void 0,I=n?y(n):void 0,C=I?.projectName??"(unknown)",x=n?n.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:e.sessionId,filePath:e.filePath,projectName:C,worktreeName:I?.worktreeName,repoName:I?.repoName,projectDir:x,sessionId:e.sessionId,firstTimestamp:i,lastTimestamp:s,durationMs:j&&Number.isFinite(j)?j:void 0,eventCount:g.length,model:a,cwd:n,totalUsage:h,status:"idle",firstUserPreview:r,lastUserPreview:l,lastAgentPreview:u,toolCallCount:w,turnCount:M,airTimeMs:b,activeSegments:N},events:g,threadSource:c,rootSessionId:d,parentThreadId:m,agentNickname:p,agentPath:f}}function el(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}let eu=new Map,ec=new Map;async function ed(e){let t=await et(e),i=[];for(let e of t){let t=eu.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){i.push({file:e,meta:t.meta,threadSource:t.threadSource,rootSessionId:t.rootSessionId,parentThreadId:t.parentThreadId,agentNickname:t.agentNickname,agentPath:t.agentPath});continue}if(!M(e.sizeBytes))try{let t=await v(e.filePath),s=er(e,t);eu.set(e.filePath,{meta:s.meta,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes,threadSource:s.threadSource,rootSessionId:s.rootSessionId,parentThreadId:s.parentThreadId,agentNickname:s.agentNickname,agentPath:s.agentPath}),i.push({file:e,meta:s.meta,threadSource:s.threadSource,rootSessionId:s.rootSessionId,parentThreadId:s.parentThreadId,agentNickname:s.agentNickname,agentPath:s.agentPath})}catch{}}return i}async function em(e={}){let t=e.root??Q,i=await ed(t),s=new Map;for(let e of i){if("subagent"!==e.threadSource||!e.rootSessionId)continue;let t=s.get(e.rootSessionId);t?t.push(e):s.set(e.rootSessionId,[e])}let n=[];for(let e of i){if("subagent"===e.threadSource)continue;let t=s.get(e.meta.id);if(!t||0===t.length){n.push(e.meta);continue}let i={...e.meta,spawnedAgentCount:t.length,totalUsage:{input:e.meta.totalUsage.input+t.reduce((e,t)=>e+t.meta.totalUsage.input,0),output:e.meta.totalUsage.output+t.reduce((e,t)=>e+t.meta.totalUsage.output,0),cacheRead:e.meta.totalUsage.cacheRead+t.reduce((e,t)=>e+t.meta.totalUsage.cacheRead,0),cacheWrite:e.meta.totalUsage.cacheWrite+t.reduce((e,t)=>e+t.meta.totalUsage.cacheWrite,0)},toolCallCount:(e.meta.toolCallCount??0)+t.reduce((e,t)=>e+(t.meta.toolCallCount??0),0)};for(let e of t)e.meta.lastTimestamp&&(!i.lastTimestamp||e.meta.lastTimestamp>i.lastTimestamp)&&(i.lastTimestamp=e.meta.lastTimestamp);n.push(i)}return(n.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?n.slice(0,e.limit):n}async function ep(e,t={}){let i=t.root??Q,s=await ed(i),n=s.find(t=>t.meta.id===e&&"subagent"!==t.threadSource);if(!n){let t=s.find(t=>t.meta.id===e);if(!t)return null;let i=T(ec,t.file.filePath);if(i&&i.mtimeMs===t.file.mtimeMs&&i.sizeBytes===t.file.sizeBytes)return i.detail;if(M(t.file.sizeBytes))return null;let n=await v(t.file.filePath),{meta:a,events:o}=er(t.file,n),r={...a,events:o};return _(ec,t.file.filePath,{detail:r,mtimeMs:t.file.mtimeMs,sizeBytes:t.file.sizeBytes}),r}let a=n.file,o=T(ec,a.filePath);if(o&&o.mtimeMs===a.mtimeMs&&o.sizeBytes===a.sizeBytes)return o.detail;if(M(a.sizeBytes))return null;let r=await v(a.filePath),{meta:l,events:u}=er(a,r),c=s.filter(t=>"subagent"===t.threadSource&&t.rootSessionId===e),d=l.firstTimestamp?Date.parse(l.firstTimestamp):void 0,m=c.map(e=>{let t,i,s,n,a;return i=(t=e.meta).firstTimestamp?Date.parse(t.firstTimestamp):void 0,s=t.lastTimestamp?Date.parse(t.lastTimestamp):void 0,n=void 0!==i&&Number.isFinite(i)?i:void 0,a=void 0!==s&&Number.isFinite(s)?s:void 0,{agentId:t.id,agentType:e.agentNickname??e.agentPath??"subagent",description:e.agentPath??e.agentNickname??t.id,startMs:n,endMs:a,durationMs:t.durationMs,startTOffsetMs:void 0!==d&&void 0!==n?Math.max(0,n-d):void 0,endTOffsetMs:void 0!==d&&void 0!==a?Math.max(0,a-d):void 0,eventCount:t.eventCount,totalUsage:t.totalUsage,model:t.model,toolCallCount:t.toolCallCount,finalPreview:t.lastAgentPreview}}).sort((e,t)=>(e.startMs??0)-(t.startMs??0)),p={...l,events:u,...m.length>0?{subagents:m,spawnedAgentCount:m.length}:{}};return _(ec,a.filePath,{detail:p,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),p}let ef=n.default.join(s.default.homedir(),".copilot","session-state");function eg(e){return"object"==typeof e&&null!==e?e:void 0}function ey(e){return"string"==typeof e?e:void 0}function eh(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}function ew(e){return("string"==typeof e?e:JSON.stringify(e??"")).replace(/\s+/g," ").trim().slice(0,200)}function eM(e,t){return eh(eg(e?.[t])?.tokenCount)}async function ev(e){let t=await i.promises.readdir(e,{withFileTypes:!0}).catch(()=>[]),s=[];for(let a of t){if(!a.isDirectory())continue;let t=n.default.join(e,a.name,"events.jsonl"),o=await i.promises.stat(t).catch(()=>null);o?.isFile()&&s.push({filePath:t,sessionId:a.name,mtimeMs:o.mtimeMs,sizeBytes:o.size})}return s}function ek(e,t){var i;let s,n,a,r,l,u,c,d,m,p,f,g,h=t.map(eg).filter(e=>void 0!==e),w=new Set;for(let e of h){if("tool.execution_start"!==e.type)continue;let t=ey(eg(e.data)?.toolCallId);t&&w.add(t)}let M=[],v=[],k={input:0,output:0,cacheRead:0,cacheWrite:0},_=0,T=0,N=0,b=!1,j=0;function I(e){M.push({index:j++,...e})}for(let e of h){let t=ey(e.type)??"",i=eg(e.data)??{},y=ey(e.timestamp);if(y){let e=Date.parse(y);Number.isFinite(e)&&(v.push(e),s=void 0===s?e:Math.min(s,e),n=void 0===n?e:Math.max(n,e))}if("session.start"===t){let s=eg(i.context);a=ey(s?.cwd)??a,r=ey(s?.repository)??r,l=ey(s?.branch)??l,I({timestamp:y,role:"meta",rawType:t,preview:"Copilot session started",blocks:[],raw:e});continue}if("session.model_change"===t){let e=ey(i.newModel);e&&"auto"!==e&&(u=e)}else"session.auto_mode_resolved"===t?u=ey(i.chosenModel)??u:("assistant.turn_start"===t||"assistant.message"===t)&&(u=ey(i.model)??u);if("system.message"===t){I({timestamp:y,role:"system",rawType:t,preview:"Copilot system instructions",blocks:[],raw:e});continue}if("user.message"===t){let s=ey(i.content)??"",n=ew(s);s&&!(0,o.isFrameworkInjectedUserInput)(s)&&(c??=n,d=n,T+=1),I({timestamp:y,role:"user",rawType:t,preview:n,blocks:s?[{type:"text",text:s}]:[],raw:e});continue}if("assistant.message"===t){let s=ey(i.content)??"";if(N+=eh(i.outputTokens)??0,s){let n=ew(s);m=n,I({timestamp:y,role:"agent",rawType:t,messageId:ey(i.messageId),preview:n,blocks:[{type:"text",text:s}],model:u,raw:e})}for(let t of Array.isArray(i.toolRequests)?i.toolRequests:[]){let i=eg(t);if(!i)continue;let s=ey(i.toolCallId);if(s&&w.has(s))continue;let n=ey(i.name)??"(unknown)",a=eg(i.arguments)??i.arguments??null;_+=1,I({timestamp:y,role:"tool-call",rawType:"assistant.message/tool_request",preview:`${n}(${ew(a).slice(0,80)})`,blocks:[{type:"tool_use",id:s??`copilot-${j}`,name:n,input:a}],toolName:n,toolUseId:s,model:u,raw:e})}continue}if("tool.execution_start"===t){let s=ey(i.toolCallId),n=ey(i.toolName)??"(unknown)",a=i.arguments??null;_+=1,I({timestamp:y,role:"tool-call",rawType:t,preview:`${n}(${ew(a).slice(0,80)})`,blocks:[{type:"tool_use",id:s??`copilot-${j}`,name:n,input:a}],toolName:n,toolUseId:s,model:ey(i.model)??u,raw:e});continue}if("tool.execution_complete"===t){let s=ey(i.toolCallId),n=eg(i.result),a=n&&"content"in n?n.content:i.result,o=!1!==i.success;I({timestamp:y,role:"tool-result",rawType:t,preview:ew(a),blocks:[{type:"tool_result",tool_use_id:s??"",content:a,is_error:!o}],toolUseId:s,toolResult:i.result,raw:e});continue}if("assistant.reasoning"===t){let s=ey(i.content)??"";I({timestamp:y,role:"agent-thinking",rawType:t,preview:ew(s),blocks:s?[{type:"thinking",thinking:s}]:[],model:u,raw:e});continue}if("session.shutdown"===t){b=!0,u=ey(i.currentModel)??u;let e=eg(i.tokenDetails);k.input=eM(e,"input")??k.input,k.output=eM(e,"output")??N,k.cacheRead=eM(e,"cache_read")??k.cacheRead,k.cacheWrite=eM(e,"cache_write")??k.cacheWrite;let t=eg(i.codeChanges);p=eh(t?.linesAdded),f=eh(t?.linesRemoved);let s=t?.filesModified;g=Array.isArray(s)?s.length:void 0}I({timestamp:y,role:"meta",rawType:t,preview:"",blocks:[],raw:e})}if(0===k.output&&(k.output=N),k.input||k.output||k.cacheRead||k.cacheWrite){let t=[...M].reverse().find(e=>"agent"===e.role||"agent-thinking"===e.role||"tool-call"===e.role);t&&(t.messageId=`copilot-${e.sessionId}-total`,t.usage={...k})}let C=void 0===s?void 0:new Date(s).toISOString(),x=void 0===n?void 0:new Date(n).toISOString();if(void 0!==s){let e;for(let t of M){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-s),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let S=function(e){let t=[...new Set(e)].sort((e,t)=>e-t);if(0===t.length)return[];let i=[],s=t[0],n=s;for(let e=1;e<t.length;e++){let a=t[e];a-n>18e4&&(i.push({startMs:s,endMs:n}),s=a),n=a}return i.push({startMs:s,endMs:n}),i}(v),A=S.reduce((e,t)=>e+t.endMs-t.startMs,0),P=a?y(a):void 0,D=P?.repoName??r?.split("/").filter(Boolean).at(-1);return{meta:{agent:"copilot",id:e.sessionId,filePath:e.filePath,projectName:P?.projectName??a??"(unknown)",worktreeName:P?.worktreeName,repoName:D,projectDir:(i=a)?i.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)",sessionId:e.sessionId,firstTimestamp:C,lastTimestamp:x,lastActivityMs:e.mtimeMs,durationMs:void 0!==s&&void 0!==n?n-s:void 0,eventCount:M.length,model:u,cwd:a,gitBranch:l,totalUsage:k,status:b||Date.now()-e.mtimeMs>18e4?"idle":"running",firstUserPreview:c,lastUserPreview:d,lastAgentPreview:m,toolCallCount:_,turnCount:T,linesAdded:p,linesRemoved:f,filesEdited:g,airTimeMs:A,activeSegments:S},events:M}}let e_=new Map,eT=new Map;async function eN(e){let t=await ev(e),i=[];for(let e of t){let t=e_.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){i.push({file:e,meta:t.meta});continue}if(!M(e.sizeBytes))try{let t=await v(e.filePath),{meta:s}=ek(e,t);e_.set(e.filePath,{meta:s,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),i.push({file:e,meta:s})}catch{}}return i}async function eb(e={}){let t=e.root??ef,i=(await eN(t)).map(e=>e.meta);return i.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0===e.limit?i:i.slice(0,e.limit)}async function ej(e,t={}){let i=t.root??ef,s=(await eN(i)).find(t=>t.meta.id===e);if(!s)return null;let n=T(eT,s.file.filePath);if(n&&n.mtimeMs===s.file.mtimeMs&&n.sizeBytes===s.file.sizeBytes)return n.detail;if(M(s.file.sizeBytes))return null;let a=await v(s.file.filePath),{meta:o,events:r}=ek(s.file,a),l={...o,events:r};return _(eT,s.file.filePath,{detail:l,mtimeMs:s.file.mtimeMs,sizeBytes:s.file.sizeBytes}),l}let eI=n.default.join(s.default.homedir(),".gemini","tmp"),eC=n.default.join(s.default.homedir(),".gemini","projects.json"),ex=/^session-.+\.(jsonl|json)$/;async function eS(e){return i.promises.readdir(e).catch(()=>[])}async function eA(e){let t=[];for(let s of(await eS(e))){let a=n.default.join(e,s,"chats");for(let e of(await eS(a))){if(!ex.test(e))continue;let o=n.default.join(a,e),r=await i.promises.stat(o).catch(()=>null);if(!r||!r.isFile())continue;let l=e.replace(/\.(jsonl|json)$/,"").split("-").pop()??e;t.push({filePath:o,slug:s,filenameId:l,format:e.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:r.mtimeMs,sizeBytes:r.size})}}return t}let eP=null;async function eD(){let e,t=await i.promises.stat(eC).catch(()=>null);if(!t)return new Map;if(eP&&eP.mtimeMs===t.mtimeMs)return eP.slugToCwd;let s=await i.promises.readFile(eC,"utf8").catch(()=>"");try{e=JSON.parse(s)}catch{e={}}let n=new Map;for(let[t,i]of Object.entries(e.projects??{}))"string"==typeof i&&n.set(i,t);return eP={mtimeMs:t.mtimeMs,slugToCwd:n},n}function eB(e){return!!e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.type}async function ez(e){if(M(e.sizeBytes))return{meta:{},messages:[]};if("legacy-json"===e.format){let t,s=await i.promises.readFile(e.filePath,"utf8");try{t=JSON.parse(s)}catch{return{meta:{},messages:[]}}return{meta:{sessionId:"string"==typeof t.sessionId?t.sessionId:void 0,projectHash:"string"==typeof t.projectHash?t.projectHash:void 0,startTime:"string"==typeof t.startTime?t.startTime:void 0,lastUpdated:"string"==typeof t.lastUpdated?t.lastUpdated:void 0,summary:"string"==typeof t.summary?t.summary:void 0},messages:(Array.isArray(t.messages)?t.messages:[]).filter(eB)}}let t={},s=new Map,n=[];for(let i of(await v(e.filePath))){if(i&&"object"==typeof i&&"$rewindTo"in i){let e=i.$rewindTo,t=n.indexOf(e);if(t>=0){for(let e of n.slice(t))s.delete(e);n.length=t}continue}if(i&&"object"==typeof i&&"$set"in i){Object.assign(t,i.$set);continue}if(eB(i)){s.has(i.id)||n.push(i.id),s.set(i.id,i);continue}"object"==typeof i&&null!==i&&("string"!=typeof i.sessionId||t.sessionId||(t.sessionId=i.sessionId,"string"==typeof i.projectHash&&(t.projectHash=i.projectHash),"string"==typeof i.startTime&&(t.startTime=i.startTime),"string"==typeof i.lastUpdated&&(t.lastUpdated=i.lastUpdated),"string"==typeof i.summary&&(t.summary=i.summary)))}let a=[];for(let e of n){let t=s.get(e);t&&a.push(t)}return{meta:t,messages:a}}function eR(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function eU(e){if(!e)return"";if("string"==typeof e)return e;let t=Array.isArray(e)?e:[e],i=[];for(let e of t){if(!e||"object"!=typeof e)continue;if("string"==typeof e.text){i.push(e.text);continue}let t=e.functionResponse;if(t){let e=t.response;"string"==typeof e?i.push(e):e&&"object"==typeof e&&("string"==typeof e.output?i.push(e.output):"string"==typeof e.error?i.push(`error: ${e.error}`):i.push(JSON.stringify(e)))}}return i.join("\n")}async function e$(e){let t,i,s,n,a,r,{meta:l,messages:u}=await ez(e),c=(await eD()).get(e.slug),d=[],m={input:0,output:0,cacheRead:0,cacheWrite:0},p=0,f=0,g=[],h=0;function w(e){if(d.push(e),e.timestamp&&"meta"!==e.role){t||(t=e.timestamp),i=e.timestamp;let s=Date.parse(e.timestamp);Number.isFinite(s)&&g.push(s)}}for(let e of u){let t=e.timestamp;if("user"===e.type){let i=eU(e.displayContent??e.content),s=eR(i),r=(0,o.isFrameworkInjectedUserInput)(i);i&&!r&&(n||(n=s),a=s,f+=1),w({index:h++,timestamp:t,role:"user",rawType:"gemini/user",preview:s,blocks:i?[{type:"text",text:i}]:[],messageId:e.id,raw:e});continue}if("gemini"===e.type){let i;"string"==typeof e.model&&(s=e.model);let n=eU(e.content),a=eR(n);if(n&&(r=a),e.tokens){let t=e.tokens,s={input:t.input??0,output:t.output??0,cacheRead:t.cached??0,cacheWrite:0};i=s,m.input+=s.input,m.output+=s.output,m.cacheRead+=s.cacheRead}for(let i of e.thoughts??[]){let e=[i.subject,i.description].filter(Boolean).join(": ");e&&w({index:h++,timestamp:i.timestamp??t,role:"agent-thinking",rawType:"gemini/thought",preview:eR(e),blocks:[{type:"thinking",thinking:e}],model:s,raw:i})}for(let o of(n?w({index:h++,timestamp:t,role:"agent",rawType:"gemini/agent",preview:a,blocks:[{type:"text",text:n}],messageId:e.id,model:s,usage:i,raw:e}):i&&w({index:h++,timestamp:t,role:"agent",rawType:"gemini/agent",preview:"",blocks:[],messageId:e.id,model:s,usage:i,raw:e}),e.toolCalls??[])){p+=1;let e=o.args?JSON.stringify(o.args):"";w({index:h++,timestamp:o.timestamp??t,role:"tool-call",rawType:"gemini/tool_call",preview:`${o.name}(${e.length<=80?e:e.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o.id,name:o.name,input:o.args??{}}],toolName:o.name,toolUseId:o.id,model:s,raw:o});let i=(o.status??"").toLowerCase();if("success"===i||"error"===i||"cancelled"===i){let e=eU(o.result);w({index:h++,timestamp:o.timestamp??t,role:"tool-result",rawType:"gemini/tool_result",preview:eR(e),blocks:[{type:"tool_result",tool_use_id:o.id,content:e,is_error:"error"===i||"cancelled"===i}],toolUseId:o.id,toolResult:e,raw:o})}}continue}if("info"===e.type||"warning"===e.type||"error"===e.type){let i=eU(e.content);w({index:h++,timestamp:t,role:"meta",rawType:`gemini/${e.type}`,preview:eR(i),blocks:i?[{type:"text",text:i}]:[],raw:e});continue}}let M=t?Date.parse(t):void 0;if(void 0!==M&&Number.isFinite(M)){let e;for(let t of d){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-M),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let v=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(g),k=v.reduce((e,t)=>e+(t.endMs-t.startMs),0),_=t&&i?Date.parse(i)-Date.parse(t):void 0,T=l.sessionId??e.filenameId,N=c?y(c):void 0,b=N?.projectName??e.slug,j=c?c.replace(/^\//,"-").replace(/\//g,"-"):e.slug;return{meta:{agent:"gemini",id:T,filePath:e.filePath,projectName:b,worktreeName:N?.worktreeName,repoName:N?.repoName,projectDir:j,sessionId:T,firstTimestamp:t,lastTimestamp:i,durationMs:_&&Number.isFinite(_)?_:void 0,eventCount:d.length,model:s,cwd:c,totalUsage:m,status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:r,toolCallCount:p,turnCount:f,airTimeMs:k,activeSegments:v},events:d}}let eO=new Map,eF=new Map;async function eW(e={}){let t=e.root??eI,i=await eA(t),s=[];for(let e of i){let t=eO.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){s.push(t.meta);continue}if(!M(e.sizeBytes))try{let{meta:t}=await e$(e);eO.set(e.filePath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function eE(e,t={}){let i,s=t.root??eI,n=await eA(s);for(let t of n)if(t.filenameId===e||e.startsWith(t.filenameId)){i=t;break}if(!i)for(let t of n){let{meta:s}=await e$(t).catch(()=>({meta:{id:""}}));if(s.id===e){i=t;break}}if(!i)return null;let a=T(eF,i.filePath);if(a&&a.mtimeMs===i.mtimeMs&&a.sizeBytes===i.sizeBytes)return a.detail;let{meta:o,events:r}=await e$(i),l={...o,events:r};return _(eF,i.filePath,{detail:l,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes}),l}let eL=n.default.join(s.default.homedir(),".gemini","antigravity-cli");async function eJ(e){return i.promises.readdir(e).catch(()=>[])}let eG=null;async function eq(e){let t=n.default.join(e,"history.jsonl"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;if(eG&&eG.mtimeMs===s.mtimeMs)return eG.slugToCwd;let a=await i.promises.readFile(t,"utf8").catch(()=>""),o=new Map;for(let e of a.split("\n")){let t=e.trim();if(t)try{let e=JSON.parse(t);e.conversationId&&e.workspace&&o.set(e.conversationId,e.workspace)}catch{}}return eG={mtimeMs:s.mtimeMs,slugToCwd:o},o}async function eH(e){let t=await eq(e),s=[],a=n.default.join(e,"brain");for(let e of(await eJ(a))){let o=n.default.join(a,e,".system_generated","logs","transcript.jsonl"),r=await i.promises.stat(o).catch(()=>null);r&&r.isFile()&&s.push({filePath:o,conversationId:e,cwd:t.get(e),mtimeMs:r.mtimeMs,sizeBytes:r.size})}return s}function eK(e){return e.replace(/\s+/g," ").trim().slice(0,200)}async function eV(e){let t,i,s,n,a,r;if(M(e.sizeBytes))throw Error(`transcript too large to parse (${e.sizeBytes} bytes)`);let l=[],u=0,c=0,d=[],m=0;function p(e){if(l.push(e),e.timestamp&&"meta"!==e.role){t||(t=e.timestamp),i=e.timestamp;let s=Date.parse(e.timestamp);Number.isFinite(s)&&d.push(s)}}let f=[],g=[],h=new Map;for(let t of(await v(e.filePath))){let e=t.step_index;"number"==typeof e?h.has(e)?g[h.get(e)]=t:(h.set(e,g.length),g.push(t)):g.push(t)}for(let e of g){let t=e.created_at||e.timestamp;if("USER_INPUT"===e.type){if("string"==typeof e.content){let t=e.content.match(/Model Selection` from .*? to (.*?)\.\s*No need to/);if(t){let e=t[1].trim();s=e=e.replace(/\s*\(.*?\)\s*$/,"").trim()}else{let t=e.content.match(/Model Selection` from .*? to ([^\n]+)/);if(t){let e=t[1].trim();e.endsWith(".")&&(e=e.slice(0,-1).trim()),s=e=e.replace(/\s*\(.*?\)\s*$/,"").trim()}}}let i=e.content||"",r=i.match(/<USER_REQUEST>([\s\S]*?)<\/USER_REQUEST>/);r&&(i=r[1].trim());let l=eK(i),u=(0,o.isFrameworkInjectedUserInput)(i);i&&!u&&(n||(n=l),a=l,c+=1),p({index:m++,timestamp:t,role:"user",rawType:"antigravity/user",preview:l,blocks:i?[{type:"text",text:i}]:[],messageId:e.step_index?.toString(),raw:e});continue}if("PLANNER_RESPONSE"===e.type){let i=e.thinking,n=e.content;if(i&&p({index:m++,timestamp:t,role:"agent-thinking",rawType:"antigravity/thought",preview:eK(i),blocks:[{type:"thinking",thinking:i}],model:s,raw:e}),n){let i=eK(n);r=i,p({index:m++,timestamp:t,role:"agent",rawType:"antigravity/agent",preview:i,blocks:[{type:"text",text:n}],messageId:e.step_index?.toString(),model:s,raw:e})}let a=e.tool_calls||[];for(let i=0;i<a.length;i++){let n=a[i];u+=1;let o=`tool-${e.step_index}-${i}`,r=n.args?JSON.stringify(n.args):"";f.push({id:o,name:n.name}),p({index:m++,timestamp:t,role:"tool-call",rawType:"antigravity/tool_call",preview:`${n.name}(${r.length<=80?r:r.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o,name:n.name,input:n.args||{}}],toolName:n.name,toolUseId:o,model:s,raw:n})}continue}if("MODEL"===e.source&&"PLANNER_RESPONSE"!==e.type&&"ERROR_MESSAGE"!==e.type&&f.length>0){let i=f.shift(),s=i?i.id:`tool-${e.step_index}-unknown`,n="string"==typeof e.content?e.content:JSON.stringify(e.content||""),a="ERROR"===e.status||"FAILED"===e.status||"CANCELED"===e.status||!!e.error;p({index:m++,timestamp:t,role:"tool-result",rawType:"antigravity/tool_result",preview:eK(n),blocks:[{type:"tool_result",tool_use_id:s,content:n,is_error:a}],toolUseId:s,toolResult:n,raw:e});continue}let i=e.content||e.error||"";p({index:m++,timestamp:t,role:"meta",rawType:`antigravity/${e.type?.toLowerCase()||"unknown"}`,preview:eK(i),blocks:i?[{type:"text",text:i}]:[],raw:e})}let w=t?Date.parse(t):void 0;if(void 0!==w&&Number.isFinite(w)){let e;for(let t of l){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-w),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let k=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(d),_=k.reduce((e,t)=>e+(t.endMs-t.startMs),0),T=t&&i?Date.parse(i)-Date.parse(t):void 0,N=e.conversationId,b=e.cwd,j=b?y(b):void 0,I=j?.projectName??e.conversationId,C=b?b.replace(/^\//,"-").replace(/\//g,"-"):e.conversationId;return{meta:{agent:"antigravity",id:N,filePath:e.filePath,projectName:I,worktreeName:j?.worktreeName,repoName:j?.repoName,projectDir:C,sessionId:N,firstTimestamp:t,lastTimestamp:i,durationMs:T&&Number.isFinite(T)?T:void 0,eventCount:l.length,model:s,cwd:b,totalUsage:{input:0,output:0,cacheRead:0,cacheWrite:0},status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:r,toolCallCount:u,turnCount:c,airTimeMs:_,activeSegments:k},events:l}}let eY=new Map,eZ=new Map;async function eQ(e={}){let t=e.root??eL,i=await eH(t),s=[];for(let e of i){let t=eY.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes&&t.cwd===e.cwd){s.push(t.meta);continue}if(!M(e.sizeBytes))try{let{meta:t}=await eV(e);eY.set(e.filePath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes,cwd:e.cwd}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function eX(e,t={}){let i,s=t.root??eL;for(let t of(await eH(s)))if(t.conversationId===e){i=t;break}if(!i)return null;let n=T(eZ,i.filePath);if(n&&n.mtimeMs===i.mtimeMs&&n.sizeBytes===i.sizeBytes&&n.cwd===i.cwd)return n.detail;let{meta:a,events:o}=await eV(i),r={...a,events:o};return _(eZ,i.filePath,{detail:r,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes,cwd:i.cwd}),r}let e0=(t=s.default.homedir(),n.default.join(t,".config","Claude","local-agent-mode-sessions")),e1=/^local_[0-9a-f-]+$/;async function e2(e){return i.promises.readdir(e).catch(()=>[])}async function e8(e){let t=await i.promises.stat(e).catch(()=>null);return t?t.mtimeMs:0}async function e4(e){let t=[];for(let s of(await e2(e))){let a=n.default.join(e,s);for(let e of(await e2(a))){let s=n.default.join(a,e),o=await e8(n.default.join(s,"spaces.json"));for(let e of(await e2(s))){if(!e1.test(e))continue;let a=n.default.join(s,e,"audit.jsonl"),r=await i.promises.stat(a).catch(()=>null);if(!r||!r.isFile()||0===r.size)continue;let l=n.default.join(s,`${e}.json`),u=await e8(l);t.push({sessionId:e,auditPath:a,metaPath:l,workspaceDir:s,auditMtimeMs:r.mtimeMs,auditSize:r.size,metaMtimeMs:u,spacesMtimeMs:o})}}}return t}let e3=new Map;async function e9(e){let t=n.default.join(e,"spaces.json"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;let a=e3.get(e);if(a&&a.mtimeMs===s.mtimeMs)return a.spaceIdToPath;let o=await i.promises.readFile(t,"utf8").catch(()=>""),r=new Map;try{for(let e of JSON.parse(o).spaces??[]){let t="string"==typeof e.id?e.id:void 0,i=(Array.isArray(e.folders)?e.folders:[])[0],s="string"==typeof i?.path?i.path:void 0;t&&s&&r.set(t,s)}}catch{}return e3.set(e,{mtimeMs:s.mtimeMs,spaceIdToPath:r}),r}async function e7(e){let t=await i.promises.readFile(e,"utf8").catch(()=>"");if(!t)return{};try{let e=JSON.parse(t);return{spaceId:"string"==typeof e.spaceId?e.spaceId:void 0,userSelectedFolders:Array.isArray(e.userSelectedFolders)?e.userSelectedFolders.filter(e=>"string"==typeof e):void 0,cwd:"string"==typeof e.cwd?e.cwd:void 0,model:"string"==typeof e.model?e.model:void 0,title:"string"==typeof e.title?e.title:void 0,createdAt:"number"==typeof e.createdAt?e.createdAt:void 0,lastActivityAt:"number"==typeof e.lastActivityAt?e.lastActivityAt:void 0}}catch{return{}}}async function e5(e){let t;if(M(e.auditSize))throw Error(`transcript too large to parse (${e.auditSize} bytes)`);let[i,s,n]=await Promise.all([v(e.auditPath),e7(e.metaPath),e9(e.workspaceDir)]),a=(t=new Map,i.forEach((e,s)=>{if("string"!=typeof e.uuid)return;let n=t.get(e.uuid);void 0===n?t.set(e.uuid,s):void 0===i[n].timestamp&&void 0!==e.timestamp&&t.set(e.uuid,s)}),i.filter((e,i)=>"string"!=typeof e.uuid||t.get(e.uuid)===i)),{mainLines:o,subagentGroups:r}=function(e){let t=[],i=new Map;for(let s of e){let e=s.parent_tool_use_id;if("string"==typeof e){let t=i.get(e);t?t.push(s):i.set(e,[s])}else t.push(s)}return{mainLines:t,subagentGroups:i}}(a),{meta:l,events:u}=p(o),c=function(e,t,i){if(0===e.size)return[];let s=new Map;for(let i of t){let t=i.message?.content;if(Array.isArray(t)){for(let n of t)if(n&&"object"==typeof n){if("tool_use"===n.type&&"Agent"===n.name&&"string"==typeof n.id){let e=n.input??{},t=s.get(n.id)??{};"string"==typeof i.uuid&&(t.parentUuid=i.uuid),"string"==typeof e.description&&(t.description=e.description),"string"==typeof e.subagent_type&&(t.agentType=e.subagent_type),"string"==typeof e.prompt&&(t.prompt=e.prompt),s.set(n.id,t)}else if("tool_result"===n.type&&"string"==typeof n.tool_use_id&&e.has(n.tool_use_id)){let e=s.get(n.tool_use_id)??{};e.finalText=function(e){if("string"==typeof e)return e;if(Array.isArray(e)){let t=[];for(let i of e)if(i&&"object"==typeof i&&"text"===i.type){let e=i.text;"string"==typeof e&&t.push(e)}if(t.length)return t.join("\n")}}(n.content)??e.finalText,s.set(n.tool_use_id,e)}}}}let n=[];for(let[t,a]of e){let e=H(a),o=s.get(t)??{},r=o.finalText??e.finalText,l=r?r.replace(/\s+/g," ").trim().slice(0,240):e.finalPreview,u=void 0!==i&&void 0!==e.startMs?Math.max(0,e.startMs-i):void 0,c=void 0!==i&&void 0!==e.endMs?Math.max(0,e.endMs-i):void 0,d=void 0!==e.startMs&&void 0!==e.endMs?e.endMs-e.startMs:void 0;n.push({agentId:t,agentType:o.agentType??"unknown",description:o.description??(o.prompt?o.prompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),startMs:e.startMs,endMs:e.endMs,durationMs:d,startTOffsetMs:u,endTOffsetMs:c,eventCount:e.eventCount,totalUsage:e.totalUsage,parentUuid:o.parentUuid,parentToolUseId:t,runInBackground:!1,finalPreview:l,finalText:r,prompt:o.prompt,model:e.model,toolCalls:e.toolCalls,toolCallCount:e.toolCallCount,assistantMessageCount:e.assistantMessageCount})}return n.sort((e,t)=>(e.startMs??0)-(t.startMs??0)),n}(r,a,l.firstTimestamp?Date.parse(l.firstTimestamp):void 0),{projectName:d,projectDir:m,cwd:f}=function(e,t){let i;if(e.spaceId&&(i=t.get(e.spaceId)),!i&&e.userSelectedFolders&&e.userSelectedFolders.length>0&&(i=e.userSelectedFolders[0]),!i)return{projectName:"cowork:unspaced",projectDir:"cowork-unspaced"};let s=y(i);return{projectName:s.projectName,worktreeName:s.worktreeName,projectDir:i.replace(/^\//,"-").replace(/\//g,"-"),cwd:i}}(s,n);return{meta:{...l,agent:"cowork",id:e.sessionId,sessionId:e.sessionId,filePath:e.auditPath,projectName:d,projectDir:m,cwd:f??l.cwd,model:l.model??s.model},events:u,subagents:c}}function e6(e){return{auditMtimeMs:e.auditMtimeMs,auditSize:e.auditSize,metaMtimeMs:e.metaMtimeMs,spacesMtimeMs:e.spacesMtimeMs}}function te(e,t){return e.auditMtimeMs===t.auditMtimeMs&&e.auditSize===t.auditSize&&e.metaMtimeMs===t.metaMtimeMs&&e.spacesMtimeMs===t.spacesMtimeMs}let tt=new Map,ti=new Map;async function ts(e={}){let t=e.root??e0,i=await e4(t),s=[];for(let e of i){let t=e6(e),i=tt.get(e.auditPath);if(i&&te(i.key,t)){s.push(i.meta);continue}try{let{meta:i}=await e5(e);tt.set(e.auditPath,{meta:i,key:t}),s.push(i)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function tn(e,t={}){let i=t.root??e0,s=(await e4(i)).find(t=>t.sessionId===e);if(!s)return null;let n=e6(s),a=T(ti,s.auditPath);if(a&&te(a.key,n))return a.detail;let{meta:o,events:r,subagents:l}=await e5(s),u={...o,events:r,...l.length?{subagents:l}:{}};return _(ti,s.auditPath,{detail:u,key:n}),u}function ta(){let e=process.env.GROK_HOME||n.default.join(s.default.homedir(),".grok");return n.default.join(e,"sessions")}let to=n.default.join(s.default.homedir(),".grok","sessions");async function tr(e){return i.promises.readdir(e).catch(()=>[])}async function tl(e){let t=await i.promises.readFile(e,"utf8").catch(()=>null);if(null==t)return null;try{return JSON.parse(t)}catch{return null}}async function tu(e,t){let s=n.default.join(e,".cwd"),a=await i.promises.readFile(s,"utf8").catch(()=>null);if(a&&a.trim())return a.trim();try{return decodeURIComponent(t)}catch{return t}}async function tc(e){let t=[];for(let s of(await tr(e))){if("session_search.sqlite"===s||s.startsWith("."))continue;let a=n.default.join(e,s),o=await i.promises.stat(a).catch(()=>null);if(!o?.isDirectory())continue;let r=await tu(a,s);for(let e of(await tr(a))){if("prompt_history.jsonl"===e||e.startsWith("."))continue;let o=n.default.join(a,e),l=n.default.join(o,"summary.json"),u=n.default.join(o,"updates.jsonl"),c=n.default.join(o,"signals.json"),[d,m,p]=await Promise.all([i.promises.stat(l).catch(()=>null),i.promises.stat(u).catch(()=>null),i.promises.stat(c).catch(()=>null)]);if(!d?.isFile())continue;let f=Math.max(d.mtimeMs,m?.mtimeMs??0),g=(m?.size??0)+d.size;t.push({dirPath:o,updatesPath:u,summaryPath:l,signalsPath:p?.isFile()?c:null,sessionId:e,groupName:s,decodedCwd:r,mtimeMs:f,sizeBytes:g})}}return t}function td(){return{input:0,output:0,cacheRead:0,cacheWrite:0}}function tm(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function tp(e){return e?"string"==typeof e?e:"string"==typeof e.text?e.text:"":""}async function tf(e){let t,i,s,n,a;if(M(e.sizeBytes))throw Error(`transcript too large to parse (${e.sizeBytes} bytes)`);let[r,l,u]=await Promise.all([tl(e.summaryPath),e.signalsPath?tl(e.signalsPath):Promise.resolve(null),v(e.updatesPath).catch(()=>[])]),c=r?.info?.id??e.sessionId,d=r?.info?.cwd??e.decodedCwd,m=r?.current_model_id??l?.primaryModelId??l?.modelsUsed?.[0],p=[],f=td();l?.contextTokensUsed&&l.contextTokensUsed>0&&(f.input=l.contextTokensUsed);let g=0,h=0,w=[],k=0,_=new Set,T=0;function N(e){p.push(e),function(e,s){if(!e||"meta"===s)return;t||(t=e),i=e;let n=Date.parse(e);Number.isFinite(n)&&w.push(n)}(e.timestamp,e.role)}let b=null;function j(){if(!b)return;let e=b.texts.join(""),t=tm(e);if("user"===b.kind){let i=!e||(0,o.isFrameworkInjectedUserInput)(e);e&&!i&&(s||(s=t),n=t,h+=1),e&&N({index:k++,timestamp:b.firstTs,role:"user",rawType:"grok/user_message",preview:t,blocks:[{type:"text",text:e}],messageId:b.promptId,raw:1===b.raw.length?b.raw[0]:b.raw})}else"agent"===b.kind?(e&&(a=t),e&&N({index:k++,timestamp:b.firstTs,role:"agent",rawType:"grok/agent_message",preview:t,blocks:[{type:"text",text:e}],messageId:b.promptId,model:b.model??m,raw:1===b.raw.length?b.raw[0]:b.raw})):"thought"===b.kind&&e&&N({index:k++,timestamp:b.firstTs,role:"agent-thinking",rawType:"grok/agent_thought",preview:t,blocks:[{type:"thinking",thinking:e}],messageId:b.promptId,model:b.model??m,raw:1===b.raw.length?b.raw[0]:b.raw});b=null}function I(e,t,i,s,n,a){(t||"user"!==e)&&(b&&b.kind!==e&&j(),b||(b={kind:e,texts:[],firstTs:i,lastTs:i,model:n,promptId:s,raw:[]}),t&&b.texts.push(t),b.lastTs=i??b.lastTs,n&&(b.model=n),s&&(b.promptId=s),b.raw.push(a))}for(let e of u){let t=e.params?.update;if(!t||"object"!=typeof t)continue;let i=t.sessionUpdate;if(!i)continue;let s=function(e){let t=e.params?._meta,i=t&&"number"==typeof t.agentTimestampMs?t.agentTimestampMs:void 0;if(null!=i&&Number.isFinite(i))return new Date(i).toISOString();let s=e.timestamp;if("number"==typeof s&&Number.isFinite(s))return new Date(s>1e12?s:1e3*s).toISOString()}(e),n=e.params?._meta??{},a=t._meta??{},o="string"==typeof n.promptId&&n.promptId||"string"==typeof a.promptId&&a.promptId||void 0,r="string"==typeof a.modelId&&a.modelId||"string"==typeof n.modelId&&n.modelId||void 0;r&&(m=r);let l=n.totalTokens;if("number"==typeof l&&l>T&&(T=l),"user_message_chunk"===i){I("user",tp(t.content),s,o,r,e);continue}if("agent_message_chunk"===i){I("agent",tp(t.content),s,o,r,e);continue}if("agent_thought_chunk"===i){I("thought",tp(t.content),s,o,r,e);continue}if(j(),"tool_call"===i){let i="string"==typeof t.toolCallId?t.toolCallId:`grok-${k}`,n=function(e){let t=e._meta;if(t&&"object"==typeof t){let e=t["x.ai/tool"];if(e&&"object"==typeof e){let t=e.name;if("string"==typeof t&&t)return t}}return"string"==typeof e.title&&e.title?(!e.title.includes(" ")&&!e.title.includes("`"),e.title):"tool"}(t),a=t.rawInput??{},o=a?JSON.stringify(a):"";g+=1,N({index:k++,timestamp:s,role:"tool-call",rawType:"grok/tool_call",preview:`${n}(${o.length<=80?o:o.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:i,name:n,input:a}],toolName:n,toolUseId:i,model:m,raw:e});continue}if("tool_call_update"===i){let i=function(e){let t=e.status;return"string"==typeof t?t:t&&"object"==typeof t&&"string"==typeof t.status?t.status:void 0}(t);if("completed"!==i&&"failed"!==i&&"error"!==i&&"cancelled"!==i)continue;let n="string"==typeof t.toolCallId?t.toolCallId:"";if(n&&_.has(n))continue;n&&_.add(n);let a=function(e){let t=e.content;if(Array.isArray(t)){let e=[];for(let i of t){if(!i||"object"!=typeof i)continue;if("string"==typeof i.text&&i.text){e.push(i.text);continue}let t=i.content;"string"==typeof t&&t?e.push(t):t&&"object"==typeof t&&"string"==typeof t.text&&e.push(t.text)}if(e.length)return e.join("\n")}let i=e.rawOutput;if(null==i)return"";if("string"==typeof i)return i;if("object"==typeof i){if("string"==typeof i.output_for_prompt)return i.output_for_prompt;if("string"==typeof i.summary_for_prompt)return i.summary_for_prompt;if(i.Content&&"object"==typeof i.Content){let e=i.Content;if("string"==typeof e.content)return e.content}if(i.TodosUpdated&&"object"==typeof i.TodosUpdated){let e=i.TodosUpdated;if("string"==typeof e.summary_for_prompt)return e.summary_for_prompt}if(Array.isArray(i.stdout)||Array.isArray(i.output))try{return JSON.stringify({type:i.type,exit_code:i.exit_code,note:"binary/stdout omitted"})}catch{return""}try{return JSON.stringify(i)}catch{return""}}return String(i)}(t),o="failed"===i||"error"===i||"cancelled"===i;N({index:k++,timestamp:s,role:"tool-result",rawType:"grok/tool_result",preview:tm(a),blocks:[{type:"tool_result",tool_use_id:n,content:a,is_error:o||void 0}],toolUseId:n||void 0,toolResult:a,raw:e});continue}if("turn_completed"===i)continue}j(),0===f.input&&T>0&&(f.input=T),!t&&r?.created_at&&(t=r.created_at),i||(i=r?.last_active_at??r?.updated_at??t),l?.toolCallCount!=null&&l.toolCallCount>g&&(g=l.toolCallCount),l?.turnCount!=null&&l.turnCount>h&&(h=l.turnCount);let C=t?Date.parse(t):void 0;if(void 0!==C&&Number.isFinite(C)){let e;for(let t of p){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-C),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let x=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++){let a=t[e];a-n>18e4&&(i.push({startMs:s,endMs:n}),s=a),n=a}return i.push({startMs:s,endMs:n}),i}(w),S=x.reduce((e,t)=>e+(t.endMs-t.startMs),0),A=t&&i?Date.parse(i)-Date.parse(t):void 0,P=d?y(d):void 0,D=P?.projectName??d??e.decodedCwd,B=e.groupName||(d?encodeURIComponent(d):"(unknown)");if(!s){let e=r?.generated_title||r?.session_summary;e&&(s=tm(e))}let z=await tg(e.dirPath);return{meta:{agent:"grok",id:c,filePath:e.updatesPath,projectName:D,worktreeName:P?.worktreeName,repoName:P?.repoName,projectDir:B,sessionId:c,firstTimestamp:t,lastTimestamp:i,lastActivityMs:i?Date.parse(i):void 0,durationMs:A&&Number.isFinite(A)?A:void 0,eventCount:p.length,model:m,cwd:d,gitBranch:r?.head_branch,agentName:r?.agent_name,totalUsage:f,status:"idle",firstUserPreview:s,lastUserPreview:n,lastAgentPreview:a,toolCallCount:g,turnCount:h,linesAdded:l?.agentLinesAdded,linesRemoved:l?.agentLinesRemoved,airTimeMs:S,activeSegments:x,...z>0?{spawnedAgentCount:z}:{}},events:p,sessionKind:r?.session_kind}}async function tg(e){let t=n.default.join(e,"subagents"),s=await tr(t),a=0;for(let e of s){let s=await i.promises.stat(n.default.join(t,e)).catch(()=>null);s?.isDirectory()&&(a+=1)}return a}async function ty(e,t){let i=n.default.join(e.dirPath,"subagents"),s=await tr(i),a=n.default.dirname(e.dirPath),o=[];for(let e of s){let s=n.default.join(i,e,"meta.json"),r=await tl(s);if(!r)continue;let l=r.child_session_id??r.subagent_id??e,u=n.default.join(a,l),[c,d]=await Promise.all([tl(n.default.join(u,"summary.json")),tl(n.default.join(u,"signals.json"))]),m=c?.created_at?Date.parse(c.created_at):void 0,p=c?.last_active_at??c?.updated_at,f=p?Date.parse(p):void 0,g=void 0!==m&&Number.isFinite(m)?m:void 0,y=void 0!==f&&Number.isFinite(f)?f:void 0,h=td();d?.contextTokensUsed&&(h.input=d.contextTokensUsed),o.push({agentId:l,agentType:r.subagent_type??c?.agent_name??"subagent",description:r.description&&r.description.trim()||c?.generated_title||c?.session_summary||l,startMs:g,endMs:y,durationMs:void 0!==g&&void 0!==y?Math.max(0,y-g):void 0,startTOffsetMs:void 0!==t&&void 0!==g?Math.max(0,g-t):void 0,endTOffsetMs:void 0!==t&&void 0!==y?Math.max(0,y-t):void 0,eventCount:c?.num_messages??c?.num_chat_messages??0,totalUsage:h,prompt:"string"==typeof r.prompt?r.prompt:void 0,model:c?.current_model_id??d?.primaryModelId,toolCallCount:d?.toolCallCount})}return o.sort((e,t)=>(e.startMs??0)-(t.startMs??0)),o}let th=new Map,tw=new Map;async function tM(e={}){let t=e.root??ta(),i=await tc(t),s=[];for(let e of i){let t=await tl(e.summaryPath);if(t?.session_kind==="subagent")continue;let i=th.get(e.dirPath);if(i&&i.mtimeMs===e.mtimeMs&&i.sizeBytes===e.sizeBytes){s.push(i.meta);continue}if(!M(e.sizeBytes))try{let{meta:t,sessionKind:i}=await tf(e);if("subagent"===i)continue;th.set(e.dirPath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function tv(e,t={}){let i=t.root??ta(),s=await tc(i),n=s.find(t=>t.sessionId===e);if(!n){for(let t of s)try{let{meta:i,events:s}=await tf(t);if(i.id===e){let e={...i,events:s};return _(tw,t.dirPath,{detail:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),e}}catch{}return null}let a=T(tw,n.dirPath);if(a&&a.mtimeMs===n.mtimeMs&&a.sizeBytes===n.sizeBytes)return a.detail;let{meta:o,events:r}=await tf(n),l=o.firstTimestamp?Date.parse(o.firstTimestamp):void 0,u=await ty(n,void 0!==l&&Number.isFinite(l)?l:void 0),c={...o,events:r,...u.length>0?{subagents:u,spawnedAgentCount:u.length}:{}};return _(tw,n.dirPath,{detail:c,mtimeMs:n.mtimeMs,sizeBytes:n.sizeBytes}),th.set(n.dirPath,{meta:{...o,...u.length>0?{spawnedAgentCount:u.length}:{}},mtimeMs:n.mtimeMs,sizeBytes:n.sizeBytes}),c}function tk(e,t){let i=e.slice(1).split(".").map(Number),s=t.slice(1).split(".").map(Number);for(let e=0;e<3;e++){let t=(s[e]??0)-(i[e]??0);if(0!==t)return t}return 0}function t_(){return process.env.CCLENS_HOME||n.default.join(s.default.homedir(),".cclens")}function tT(...e){return n.default.join(t_(),...e)}function tN(e){P(e)}e.s(["resolveNodeBin",0,function(e={}){let t=e.execPath??process.execPath,a=e.exists??i.existsSync;if(a(t))return t;let o=e.env??process.env,r="node",l=(o.PATH??"").split(n.default.delimiter).filter(Boolean).map(e=>n.default.join(e,r)),u=n.default.join(o.NVM_DIR||n.default.join(s.default.homedir(),".nvm"),"versions","node"),c=`v${process.versions.node.split(".")[0]}.`,d=[];try{d=(e.listDir??(e=>(0,i.readdirSync)(e)))(u)}catch{}for(let e of d.filter(e=>e.startsWith(c)).sort(tk))l.push(n.default.join(u,e,"bin",r));return l.push("/opt/homebrew/bin/node","/usr/local/bin/node"),l.find(e=>a(e))??t}],34209);let tb=[Z,{...a.CODEX_METADATA,defaultRoot:Q,listSessions:async e=>em(e),getSession:async e=>ep(e)},{...a.COPILOT_METADATA,defaultRoot:ef,listSessions:async e=>eb(e),getSession:async(e,t)=>ej(e,t)},{...a.GEMINI_METADATA,defaultRoot:eI,listSessions:async e=>eW(e),getSession:async e=>eE(e)},{...a.ANTIGRAVITY_METADATA,defaultRoot:eL,listSessions:async e=>eQ(e),getSession:async e=>eX(e)},{...a.COWORK_METADATA,defaultRoot:e0,listSessions:async e=>ts(e),getSession:async e=>tn(e)},{...a.GROK_METADATA,defaultRoot:to,listSessions:async e=>tM(e),getSession:async(e,t)=>tv(e,t)}];async function tj(e={}){let t=await Promise.all(tb.map(t=>t.listSessions(e))),i=[];for(let e of t)i.push(...e);return(i.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?i.slice(0,e.limit):i}async function tI(e){for(let t of tb){let i=await t.getSession(e);if(i)return i}return null}function tC(){return tT("usage.jsonl")}function tx(e){let t=tC();(0,i.mkdirSync)(n.default.dirname(t),{recursive:!0}),(0,i.appendFileSync)(t,JSON.stringify(e)+"\n","utf8")}function tS(e){let t=tC();if(!(0,i.existsSync)(t))return;let s=(0,i.readFileSync)(t,"utf8").split("\n").filter(t=>{if(!t.trim())return!1;try{return JSON.parse(t).agent!==e}catch{return!0}});(0,i.mkdirSync)(n.default.dirname(t),{recursive:!0}),(0,i.writeFileSync)(t,s.join("\n")+(s.length?"\n":""),"utf8")}}];
2
2
 
3
3
  //# sourceMappingURL=packages_parser_dist_10ihc3~._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[63681,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(36226)},51409,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReflectAdapter",{enumerable:!0,get:function(){return d}});class d{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},4712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ActionDidNotRevalidate:function(){return f},ActionDidRevalidateDynamicOnly:function(){return h},ActionDidRevalidateStaticAndDynamic:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=0,g=1,h=2},14896,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63681),g=a.r(51409),h=a.r(56704),i=a.r(4712);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},8018,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(a.r(717));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},86309,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(60312),g=a.r(24725);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},81740,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"cookies",{enumerable:!0,get:function(){return n}});let d=a.r(14896),e=a.r(63681),f=a.r(56704),g=a.r(32319),h=a.r(60384),i=a.r(60312),j=a.r(13091),k=a.r(8018),l=a.r(86309),m=a.r(50640);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,l.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`after()\`. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E843",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E849",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E831",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E846",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1123",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let r=o.get(q);if(r)return r;let s=(0,j.makeHangingPromise)(q.renderSignal,k.route,"`cookies()`");return o.set(q,s),s;case"prerender-client":case"validation-client":let t="`cookies`";throw Object.defineProperty(new m.InvariantError(`${t} must not be used within a Client Component. Next.js should be preventing ${t} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1037",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,j.delayUntilRuntimeStage)(c,p(c.cookies));case"private-cache":return p(c.cookies);case"request":let u;if((0,h.trackDynamicDataInDynamicRender)(c),u=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return p(u);{let a=(0,g.isInEarlyRenderStage)(c);if(u===c.mutableCookies)return a?c.asyncApiPromises.earlyMutableCookies:c.asyncApiPromises.mutableCookies;return a?c.asyncApiPromises.earlyCookies:c.asyncApiPromises.cookies}}}(0,g.throwForMissingRequestStore)(a)}a.r(31382);let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E830",enumerable:!1,configurable:!0})})},29927,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HeadersAdapter:function(){return h},ReadonlyHeadersError:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(51409);class g extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new g}}class h extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return f.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==g)return f.ReflectAdapter.get(b,g,d)},set(b,c,d,e){if("symbol"==typeof c)return f.ReflectAdapter.set(b,c,d,e);let g=c.toLowerCase(),h=Object.keys(a).find(a=>a.toLowerCase()===g);return f.ReflectAdapter.set(b,h??c,d,e)},has(b,c){if("symbol"==typeof c)return f.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&f.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return f.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||f.ReflectAdapter.deleteProperty(b,e)}})}static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"append":case"delete":case"set":return g.callable;default:return f.ReflectAdapter.get(a,b,c)}}})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new h(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}},35754,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"headers",{enumerable:!0,get:function(){return m}});let d=a.r(29927),e=a.r(56704),f=a.r(32319),g=a.r(60384),h=a.r(60312),i=a.r(13091),j=a.r(8018),k=a.r(86309),l=a.r(50640);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,k.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`after()\`. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E839",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E833",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E838",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1134",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E828",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":var j=b,p=c;let e=n.get(p);if(e)return e;let q=(0,i.makeHangingPromise)(p.renderSignal,j.route,"`headers()`");return n.set(p,q),q;case"prerender-client":case"validation-client":let r="`headers`";throw Object.defineProperty(new l.InvariantError(`${r} must not be used within a client component. Next.js should be preventing ${r} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1017",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,i.delayUntilRuntimeStage)(c,o(c.headers));case"private-cache":return o(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return(0,f.isInEarlyRenderStage)(c)?c.asyncApiPromises.earlyHeaders:c.asyncApiPromises.headers;return o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}a.r(31382);let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E836",enumerable:!1,configurable:!0})})},51125,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"draftMode",{enumerable:!0,get:function(){return l}});let d=a.r(32319),e=a.r(56704),f=a.r(60384),g=a.r(8018),h=a.r(60312),i=a.r(96556),j=a.r(50640),k=a.r(13091);function l(){let a="draftMode",b=e.workAsyncStorage.getStore(),c=d.workUnitAsyncStorage.getStore();switch((!b||!c)&&(0,d.throwForMissingRequestStore)(a),c.type){case"prerender-runtime":return(0,k.delayUntilRuntimeStage)(c,m(c.draftMode,b));case"request":return m(c.draftMode,b);case"cache":case"private-cache":case"unstable-cache":let f=(0,d.getDraftModeProviderForCacheScope)(b,c);if(f)return m(f,b);case"prerender":case"prerender-ppr":case"prerender-legacy":return m(null,b);case"prerender-client":case"validation-client":{let a="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1046",enumerable:!1,configurable:!0})}case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`${a}()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1132",enumerable:!1,configurable:!0});default:return c}}function m(a,b){let c=o.get(a??n);return c||Promise.resolve(new p(a))}a.r(51409);let n={},o=new WeakMap;class p{constructor(a){this._provider=a}get isEnabled(){return null!==this._provider&&this._provider.isEnabled}enable(){q("draftMode().enable()",this.enable),null!==this._provider&&this._provider.enable()}disable(){q("draftMode().disable()",this.disable),null!==this._provider&&this._provider.disable()}}function q(a,b){let c=e.workAsyncStorage.getStore(),g=d.workUnitAsyncStorage.getStore();if(c){if((null==g?void 0:g.phase)==="after")throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside \`after()\`. The enabled status of \`draftMode()\` can be read inside \`after()\` but you cannot enable or disable \`draftMode()\`. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E845",enumerable:!1,configurable:!0});if(c.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${c.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(g)switch(g.type){case"cache":case"private-cache":{let d=Object.defineProperty(Error(`Route ${c.route} used "${a}" inside "use cache". The enabled status of \`draftMode()\` can be read in caches but you must not enable or disable \`draftMode()\` inside a cache. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E829",enumerable:!1,configurable:!0});throw Error.captureStackTrace(d,b),c.invalidDynamicUsageError??=d,d}case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside a function cached with \`unstable_cache()\`. The enabled status of \`draftMode()\` can be read in caches but you must not enable or disable \`draftMode()\` inside a cache. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E844",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":{let b=Object.defineProperty(Error(`Route ${c.route} used ${a} without first calling \`await connection()\`. See more info here: https://nextjs.org/docs/messages/next-prerender-sync-headers`),"__NEXT_ERROR_CODE",{value:"E126",enumerable:!1,configurable:!0});return(0,f.abortAndThrowOnSynchronousRequestDataAccess)(c.route,a,b,g)}case"prerender-client":case"validation-client":let d="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${d} must not be used within a Client Component. Next.js should be preventing ${d} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1046",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,f.postponeWithTracking)(c.route,a,g.dynamicTracking);case"prerender-legacy":g.revalidate=0;let e=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=a,c.dynamicUsageStack=e.stack,e;case"request":(0,f.trackDynamicDataInDynamicRender)(g);break;case"generate-static-params":throw Object.defineProperty(Error(`Route ${c.route} used \`${a}\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1121",enumerable:!1,configurable:!0})}}}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E835",enumerable:!1,configurable:!0})})},5246,(a,b,c)=>{b.exports.cookies=a.r(81740).cookies,b.exports.headers=a.r(35754).headers,b.exports.draftMode=a.r(51125).draftMode},45017,a=>{"use strict";a.s(["Sidebar",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/sidebar.tsx <module evaluation>","Sidebar")},10398,a=>{"use strict";a.s(["Sidebar",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/sidebar.tsx","Sidebar")},23604,a=>{"use strict";a.i(45017);var b=a.i(10398);a.n(b)},59969,a=>{"use strict";a.s(["LiveRefresher",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveRefresher() from the server but LiveRefresher is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-refresher.tsx <module evaluation>","LiveRefresher")},11272,a=>{"use strict";a.s(["LiveRefresher",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveRefresher() from the server but LiveRefresher is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-refresher.tsx","LiveRefresher")},30642,a=>{"use strict";a.i(59969);var b=a.i(11272);a.n(b)},99153,a=>{"use strict";a.s(["LiveSessionsWidget",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveSessionsWidget() from the server but LiveSessionsWidget is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-sessions-widget.tsx <module evaluation>","LiveSessionsWidget")},62615,a=>{"use strict";a.s(["LiveSessionsWidget",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveSessionsWidget() from the server but LiveSessionsWidget is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-sessions-widget.tsx","LiveSessionsWidget")},9647,a=>{"use strict";a.i(99153);var b=a.i(62615);a.n(b)},14022,a=>{"use strict";a.s(["JobQueueWidget",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call JobQueueWidget() from the server but JobQueueWidget is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/job-queue-widget.tsx <module evaluation>","JobQueueWidget")},5900,a=>{"use strict";a.s(["JobQueueWidget",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call JobQueueWidget() from the server but JobQueueWidget is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/job-queue-widget.tsx","JobQueueWidget")},84829,a=>{"use strict";a.i(14022);var b=a.i(5900);a.n(b)},73842,a=>{"use strict";a.s(["MenubarInstallBanner",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MenubarInstallBanner() from the server but MenubarInstallBanner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/menubar-install-banner.tsx <module evaluation>","MenubarInstallBanner")},46147,a=>{"use strict";a.s(["MenubarInstallBanner",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MenubarInstallBanner() from the server but MenubarInstallBanner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/menubar-install-banner.tsx","MenubarInstallBanner")},73994,a=>{"use strict";a.i(73842);var b=a.i(46147);a.n(b)},28992,a=>{"use strict";var b=a.i(7997),c=a.i(5246),d=a.i(23604),e=a.i(30642),f=a.i(9647),g=a.i(84829),h=a.i(73994);a.i(9117);var i=a.i(48024),j=a.i(67116),k=a.i(70709),l=a.i(60511),m=a.i(76597),n=a.i(40095);async function o({children:a}){let p=await (0,c.headers)();if((p.get("x-fleetlens-pathname")??"").startsWith("/print/")){let d=p.get("x-fleetlens-theme"),e=await (0,c.cookies)(),f=e.get("claude-lens-theme")?.value;return(0,b.jsx)("html",{lang:"en","data-theme":"light"===d||"dark"===d?d:"light"===f||"dark"===f?f:"dark",suppressHydrationWarning:!0,children:(0,b.jsx)("body",{children:a})})}let[q,r]=await Promise.all([(0,j.listSessions)(),(0,m.buildEntriesIndex)()]),s=q.slice(0,20),t=q.length,u=(0,i.groupByProject)(q).map(a=>({projectDir:a.projectDir,projectName:a.projectName,sessionCount:a.sessions.length,lastActiveMs:a.lastActiveMs,worktreeCount:a.worktreeCount})),v=(0,k.latestUsageSnapshotsByAgent)(),w=(0,l.readTeamConnection)(),x=s.map(a=>({id:a.id,projectName:a.projectName,firstUserPreview:a.firstUserPreview,lastUserPreview:a.lastUserPreview,lastAgentPreview:a.lastAgentPreview,firstTimestamp:a.firstTimestamp,lastTimestamp:a.lastTimestamp,lastActivityMs:a.lastActivityMs,teamName:a.teamName,agentName:a.agentName,agent:a.agent})),y={};for(let a of s){let b=r.bySession.get(a.id)??[];if(0===b.length)continue;let c=b[b.length-1];y[a.id]={outcome:c.enrichment.outcome??null,enrichmentStatus:c.enrichment.status,localDay:c.local_day}}let z=await (0,c.cookies)(),A=z.get("claude-lens-theme")?.value;return(0,b.jsx)("html",{lang:"en","data-theme":"light"===A||"dark"===A?A:"dark",suppressHydrationWarning:!0,children:(0,b.jsxs)("body",{children:[(0,b.jsx)(e.LiveRefresher,{}),(0,b.jsxs)("div",{style:{display:"flex",height:"100vh"},children:[(0,b.jsx)(d.Sidebar,{projects:u,totalSessions:t,usageByAgent:v,version:"1.0.21",latestChangelogVersion:n.LATEST_VERSION,teamConnection:w}),(0,b.jsxs)("main",{style:{flex:1,minWidth:0,minHeight:0,padding:0,overflow:"auto"},children:[(0,b.jsx)(h.MenubarInstallBanner,{}),a]})]}),(0,b.jsx)(f.LiveSessionsWidget,{sessions:x,entrySummaries:y}),(0,b.jsx)(g.JobQueueWidget,{})]})})}a.s(["default",0,o,"dynamic",0,"force-dynamic","metadata",0,{title:"Fleetlens",description:"Multi-agent fleet analytics — local-only dashboard for Claude Code, Codex, and other coding-agent sessions."}],28992)},44665,a=>{a.n(a.i(28992))}];
1
+ module.exports=[63681,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(36226)},51409,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReflectAdapter",{enumerable:!0,get:function(){return d}});class d{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},4712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ActionDidNotRevalidate:function(){return f},ActionDidRevalidateDynamicOnly:function(){return h},ActionDidRevalidateStaticAndDynamic:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=0,g=1,h=2},14896,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63681),g=a.r(51409),h=a.r(56704),i=a.r(4712);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},8018,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(a.r(717));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},86309,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(60312),g=a.r(24725);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},81740,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"cookies",{enumerable:!0,get:function(){return n}});let d=a.r(14896),e=a.r(63681),f=a.r(56704),g=a.r(32319),h=a.r(60384),i=a.r(60312),j=a.r(13091),k=a.r(8018),l=a.r(86309),m=a.r(50640);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,l.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`after()\`. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E843",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E849",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E831",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E846",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1123",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let r=o.get(q);if(r)return r;let s=(0,j.makeHangingPromise)(q.renderSignal,k.route,"`cookies()`");return o.set(q,s),s;case"prerender-client":case"validation-client":let t="`cookies`";throw Object.defineProperty(new m.InvariantError(`${t} must not be used within a Client Component. Next.js should be preventing ${t} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1037",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,j.delayUntilRuntimeStage)(c,p(c.cookies));case"private-cache":return p(c.cookies);case"request":let u;if((0,h.trackDynamicDataInDynamicRender)(c),u=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return p(u);{let a=(0,g.isInEarlyRenderStage)(c);if(u===c.mutableCookies)return a?c.asyncApiPromises.earlyMutableCookies:c.asyncApiPromises.mutableCookies;return a?c.asyncApiPromises.earlyCookies:c.asyncApiPromises.cookies}}}(0,g.throwForMissingRequestStore)(a)}a.r(31382);let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E830",enumerable:!1,configurable:!0})})},29927,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HeadersAdapter:function(){return h},ReadonlyHeadersError:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(51409);class g extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new g}}class h extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return f.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==g)return f.ReflectAdapter.get(b,g,d)},set(b,c,d,e){if("symbol"==typeof c)return f.ReflectAdapter.set(b,c,d,e);let g=c.toLowerCase(),h=Object.keys(a).find(a=>a.toLowerCase()===g);return f.ReflectAdapter.set(b,h??c,d,e)},has(b,c){if("symbol"==typeof c)return f.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&f.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return f.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||f.ReflectAdapter.deleteProperty(b,e)}})}static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"append":case"delete":case"set":return g.callable;default:return f.ReflectAdapter.get(a,b,c)}}})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new h(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}},35754,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"headers",{enumerable:!0,get:function(){return m}});let d=a.r(29927),e=a.r(56704),f=a.r(32319),g=a.r(60384),h=a.r(60312),i=a.r(13091),j=a.r(8018),k=a.r(86309),l=a.r(50640);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,k.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`after()\`. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E839",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E833",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E838",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1134",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E828",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":var j=b,p=c;let e=n.get(p);if(e)return e;let q=(0,i.makeHangingPromise)(p.renderSignal,j.route,"`headers()`");return n.set(p,q),q;case"prerender-client":case"validation-client":let r="`headers`";throw Object.defineProperty(new l.InvariantError(`${r} must not be used within a client component. Next.js should be preventing ${r} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1017",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,i.delayUntilRuntimeStage)(c,o(c.headers));case"private-cache":return o(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return(0,f.isInEarlyRenderStage)(c)?c.asyncApiPromises.earlyHeaders:c.asyncApiPromises.headers;return o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}a.r(31382);let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E836",enumerable:!1,configurable:!0})})},51125,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"draftMode",{enumerable:!0,get:function(){return l}});let d=a.r(32319),e=a.r(56704),f=a.r(60384),g=a.r(8018),h=a.r(60312),i=a.r(96556),j=a.r(50640),k=a.r(13091);function l(){let a="draftMode",b=e.workAsyncStorage.getStore(),c=d.workUnitAsyncStorage.getStore();switch((!b||!c)&&(0,d.throwForMissingRequestStore)(a),c.type){case"prerender-runtime":return(0,k.delayUntilRuntimeStage)(c,m(c.draftMode,b));case"request":return m(c.draftMode,b);case"cache":case"private-cache":case"unstable-cache":let f=(0,d.getDraftModeProviderForCacheScope)(b,c);if(f)return m(f,b);case"prerender":case"prerender-ppr":case"prerender-legacy":return m(null,b);case"prerender-client":case"validation-client":{let a="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1046",enumerable:!1,configurable:!0})}case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`${a}()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1132",enumerable:!1,configurable:!0});default:return c}}function m(a,b){let c=o.get(a??n);return c||Promise.resolve(new p(a))}a.r(51409);let n={},o=new WeakMap;class p{constructor(a){this._provider=a}get isEnabled(){return null!==this._provider&&this._provider.isEnabled}enable(){q("draftMode().enable()",this.enable),null!==this._provider&&this._provider.enable()}disable(){q("draftMode().disable()",this.disable),null!==this._provider&&this._provider.disable()}}function q(a,b){let c=e.workAsyncStorage.getStore(),g=d.workUnitAsyncStorage.getStore();if(c){if((null==g?void 0:g.phase)==="after")throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside \`after()\`. The enabled status of \`draftMode()\` can be read inside \`after()\` but you cannot enable or disable \`draftMode()\`. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E845",enumerable:!1,configurable:!0});if(c.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${c.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(g)switch(g.type){case"cache":case"private-cache":{let d=Object.defineProperty(Error(`Route ${c.route} used "${a}" inside "use cache". The enabled status of \`draftMode()\` can be read in caches but you must not enable or disable \`draftMode()\` inside a cache. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E829",enumerable:!1,configurable:!0});throw Error.captureStackTrace(d,b),c.invalidDynamicUsageError??=d,d}case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside a function cached with \`unstable_cache()\`. The enabled status of \`draftMode()\` can be read in caches but you must not enable or disable \`draftMode()\` inside a cache. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E844",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":{let b=Object.defineProperty(Error(`Route ${c.route} used ${a} without first calling \`await connection()\`. See more info here: https://nextjs.org/docs/messages/next-prerender-sync-headers`),"__NEXT_ERROR_CODE",{value:"E126",enumerable:!1,configurable:!0});return(0,f.abortAndThrowOnSynchronousRequestDataAccess)(c.route,a,b,g)}case"prerender-client":case"validation-client":let d="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${d} must not be used within a Client Component. Next.js should be preventing ${d} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1046",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,f.postponeWithTracking)(c.route,a,g.dynamicTracking);case"prerender-legacy":g.revalidate=0;let e=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=a,c.dynamicUsageStack=e.stack,e;case"request":(0,f.trackDynamicDataInDynamicRender)(g);break;case"generate-static-params":throw Object.defineProperty(Error(`Route ${c.route} used \`${a}\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1121",enumerable:!1,configurable:!0})}}}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E835",enumerable:!1,configurable:!0})})},5246,(a,b,c)=>{b.exports.cookies=a.r(81740).cookies,b.exports.headers=a.r(35754).headers,b.exports.draftMode=a.r(51125).draftMode},45017,a=>{"use strict";a.s(["Sidebar",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/sidebar.tsx <module evaluation>","Sidebar")},10398,a=>{"use strict";a.s(["Sidebar",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/sidebar.tsx","Sidebar")},23604,a=>{"use strict";a.i(45017);var b=a.i(10398);a.n(b)},59969,a=>{"use strict";a.s(["LiveRefresher",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveRefresher() from the server but LiveRefresher is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-refresher.tsx <module evaluation>","LiveRefresher")},11272,a=>{"use strict";a.s(["LiveRefresher",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveRefresher() from the server but LiveRefresher is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-refresher.tsx","LiveRefresher")},30642,a=>{"use strict";a.i(59969);var b=a.i(11272);a.n(b)},99153,a=>{"use strict";a.s(["LiveSessionsWidget",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveSessionsWidget() from the server but LiveSessionsWidget is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-sessions-widget.tsx <module evaluation>","LiveSessionsWidget")},62615,a=>{"use strict";a.s(["LiveSessionsWidget",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveSessionsWidget() from the server but LiveSessionsWidget is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-sessions-widget.tsx","LiveSessionsWidget")},9647,a=>{"use strict";a.i(99153);var b=a.i(62615);a.n(b)},14022,a=>{"use strict";a.s(["JobQueueWidget",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call JobQueueWidget() from the server but JobQueueWidget is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/job-queue-widget.tsx <module evaluation>","JobQueueWidget")},5900,a=>{"use strict";a.s(["JobQueueWidget",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call JobQueueWidget() from the server but JobQueueWidget is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/job-queue-widget.tsx","JobQueueWidget")},84829,a=>{"use strict";a.i(14022);var b=a.i(5900);a.n(b)},73842,a=>{"use strict";a.s(["MenubarInstallBanner",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MenubarInstallBanner() from the server but MenubarInstallBanner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/menubar-install-banner.tsx <module evaluation>","MenubarInstallBanner")},46147,a=>{"use strict";a.s(["MenubarInstallBanner",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MenubarInstallBanner() from the server but MenubarInstallBanner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/menubar-install-banner.tsx","MenubarInstallBanner")},73994,a=>{"use strict";a.i(73842);var b=a.i(46147);a.n(b)},28992,a=>{"use strict";var b=a.i(7997),c=a.i(5246),d=a.i(23604),e=a.i(30642),f=a.i(9647),g=a.i(84829),h=a.i(73994);a.i(9117);var i=a.i(48024),j=a.i(67116),k=a.i(70709),l=a.i(60511),m=a.i(76597),n=a.i(40095);async function o({children:a}){let p=await (0,c.headers)();if((p.get("x-fleetlens-pathname")??"").startsWith("/print/")){let d=p.get("x-fleetlens-theme"),e=await (0,c.cookies)(),f=e.get("claude-lens-theme")?.value;return(0,b.jsx)("html",{lang:"en","data-theme":"light"===d||"dark"===d?d:"light"===f||"dark"===f?f:"dark",suppressHydrationWarning:!0,children:(0,b.jsx)("body",{children:a})})}let[q,r]=await Promise.all([(0,j.listSessions)(),(0,m.buildEntriesIndex)()]),s=q.slice(0,20),t=q.length,u=(0,i.groupByProject)(q).map(a=>({projectDir:a.projectDir,projectName:a.projectName,sessionCount:a.sessions.length,lastActiveMs:a.lastActiveMs,worktreeCount:a.worktreeCount})),v=(0,k.latestUsageSnapshotsByAgent)(),w=(0,l.readTeamConnection)(),x=s.map(a=>({id:a.id,projectName:a.projectName,firstUserPreview:a.firstUserPreview,lastUserPreview:a.lastUserPreview,lastAgentPreview:a.lastAgentPreview,firstTimestamp:a.firstTimestamp,lastTimestamp:a.lastTimestamp,lastActivityMs:a.lastActivityMs,teamName:a.teamName,agentName:a.agentName,agent:a.agent})),y={};for(let a of s){let b=r.bySession.get(a.id)??[];if(0===b.length)continue;let c=b[b.length-1];y[a.id]={outcome:c.enrichment.outcome??null,enrichmentStatus:c.enrichment.status,localDay:c.local_day}}let z=await (0,c.cookies)(),A=z.get("claude-lens-theme")?.value;return(0,b.jsx)("html",{lang:"en","data-theme":"light"===A||"dark"===A?A:"dark",suppressHydrationWarning:!0,children:(0,b.jsxs)("body",{children:[(0,b.jsx)(e.LiveRefresher,{}),(0,b.jsxs)("div",{style:{display:"flex",height:"100vh"},children:[(0,b.jsx)(d.Sidebar,{projects:u,totalSessions:t,usageByAgent:v,version:"1.0.22",latestChangelogVersion:n.LATEST_VERSION,teamConnection:w}),(0,b.jsxs)("main",{style:{flex:1,minWidth:0,minHeight:0,padding:0,overflow:"auto"},children:[(0,b.jsx)(h.MenubarInstallBanner,{}),a]})]}),(0,b.jsx)(f.LiveSessionsWidget,{sessions:x,entrySummaries:y}),(0,b.jsx)(g.JobQueueWidget,{})]})})}a.s(["default",0,o,"dynamic",0,"force-dynamic","metadata",0,{title:"Fleetlens",description:"Multi-agent fleet analytics — local-only dashboard for Claude Code, Codex, and other coding-agent sessions."}],28992)},44665,a=>{a.n(a.i(28992))}];
2
2
 
3
3
  //# sourceMappingURL=_0k8yioi._.js.map