fleetlens 0.16.1 → 0.16.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/apps/web/.next/BUILD_ID +1 -1
- package/app/apps/web/.next/build-manifest.json +3 -3
- package/app/apps/web/.next/prerender-manifest.json +3 -3
- package/app/apps/web/.next/server/app/_global-error.html +1 -1
- package/app/apps/web/.next/server/app/_global-error.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/agent/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/day/[date]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/day/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/digest/[date]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/digest/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/insights/[key]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/insights/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/print/[key]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/runs/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/team/onboarding/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/team/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/usage/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__02faosk._.js +3 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__09cgmam._.js +2 -2
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0tk8p3d._.js +2 -2
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0u6pamj._.js +2 -2
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__12jomao._.js +2 -2
- package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0sr4wr_.js +1 -1
- package/app/apps/web/.next/server/chunks/packages_parser_dist_06d9se1._.js +1 -1
- package/app/apps/web/.next/server/chunks/packages_parser_dist_10ihc3~._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/_0k8yioi._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_0epqfet._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_app_sessions_[id]_session-view_tsx_0-9t5~.._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_app_sessions_sessions-grid_tsx_0bri5x.._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0n7_p1d._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0nb5_-s._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_0mx_509._.js +1 -1
- package/app/apps/web/.next/server/middleware-build-manifest.js +3 -3
- package/app/apps/web/.next/server/middleware-manifest.json +5 -5
- package/app/apps/web/.next/server/pages/500.html +1 -1
- package/app/apps/web/.next/server/server-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/app/apps/web/.next/static/chunks/{07bzlfv97o1ig.js → 0p5ee8wje3zi~.js} +1 -1
- package/app/apps/web/.next/static/chunks/0pt-1~k9ei92l.js +14 -0
- package/app/apps/web/.next/static/chunks/{0awkd5df28gvj.js → 0~uugvb4izjd2.js} +1 -1
- package/app/apps/web/app/sessions/[id]/session-view.tsx +6 -2
- package/app/apps/web/app/sessions/sessions-grid.tsx +5 -1
- package/app/apps/web/app/usage/page.tsx +27 -1
- package/app/apps/web/lib/agent/run.ts +24 -5
- package/app/apps/web/lib/changelog-data.generated.ts +1 -1
- package/app/apps/web/package.json +1 -1
- package/app/apps/web/tsconfig.tsbuildinfo +1 -1
- package/dist/daemon-worker.js +182 -34
- package/dist/index.js +187 -41
- package/menubar/FleetlensMenubar.app/Contents/Info.plist +2 -2
- package/menubar/FleetlensMenubar.app/Contents/MacOS/FleetlensMenubar +0 -0
- package/package.json +1 -1
- package/app/apps/web/.next/static/chunks/0at6brbse8wn2.js +0 -14
- /package/app/apps/web/.next/static/{d1mwRtSMG-R7wb8o9KxM3 → DoQvoHgeMQRMU3tniT_DK}/_buildManifest.js +0 -0
- /package/app/apps/web/.next/static/{d1mwRtSMG-R7wb8o9KxM3 → DoQvoHgeMQRMU3tniT_DK}/_clientMiddlewareManifest.js +0 -0
- /package/app/apps/web/.next/static/{d1mwRtSMG-R7wb8o9KxM3 → DoQvoHgeMQRMU3tniT_DK}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[39587,t=>{"use strict";let e={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:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"},n={kind:"antigravity",displayName:"Antigravity",shortLabel:"Agy",accentColor:"rgb(236, 72, 153)",iconChar:"⏃"},a={kind:"cowork",displayName:"Cowork",shortLabel:"Cowork",accentColor:"rgb(217, 119, 87)",iconChar:"⌘"},o={kind:"grok",displayName:"Grok Build",shortLabel:"Grok",accentColor:"rgb(100, 116, 139)",iconChar:"◈"},r=[e,i,s,n,a,{kind:"zai",displayName:"Z.ai",shortLabel:"Z.ai",accentColor:"rgb(59, 130, 246)",iconChar:"Z"},o];r.map(t=>t.kind),t.s(["ANTIGRAVITY_METADATA",0,n,"CLAUDE_CODE_METADATA",0,e,"CODEX_METADATA",0,i,"COWORK_METADATA",0,a,"GEMINI_METADATA",0,s,"GROK_METADATA",0,o,"agentMetadata",0,r])},36521,t=>{"use strict";let e=[/<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(t){if(!t)return t;let i=t;for(let t of e)i=i.replace(t,"");return i.trim()}t.s(["isFrameworkInjectedUserInput",0,function(t){if(!t)return!1;let e=s(t);if(!e)return!0;for(let t of i)if(e.startsWith(t))return!0;return!1},"stripFrameworkBoilerplate",0,s])},79357,t=>{"use strict";let e={input:0,output:0,cacheRead:0,cacheWrite:0},i=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],s=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/;function n(t){for(let e of i){let i=t.lastIndexOf(e);if(i>=0)return{idx:i,marker:e}}return null}function a(t){let e=s.exec(t);if(!e)return null;let i=e[1],n=+!!e[0].endsWith("/");return{canonicalEndIdx:e.index+e[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(t){let e=t.indexOf(o);if(e<0)return null;let i=t.slice(e+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:t.slice(0,e)+o+s,workspaceName:s}}function u(t){let e=t.replace(/\/{2,}/g,"/"),i=n(e);if(i)return e.slice(0,i.idx);let s=a(e);if(s)return e.slice(0,s.canonicalEndIdx);let o=l(e);return o?o.canonical:e}function c(t){let e=t.replace(/\/{2,}/g,"/"),i=n(e);if(i){let t=e.slice(i.idx+i.marker.length),s=t.indexOf("/");return s>=0?t.slice(0,s):t}let s=a(e);if(s)return s.workspaceName;let o=l(e);return o?o.workspaceName:null}function p(t){let e=u(t),i=e.replace(/\/+$/,"").split("/").filter(Boolean);return i[i.length-1]||e}function d(t){let i={sessionCount:t.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...e},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let e of t)i.totalDurationMs+=e.durationMs??0,i.totalAirTimeMs+=e.airTimeMs??e.durationMs??0,i.totalTokens.input+=e.totalUsage.input,i.totalTokens.output+=e.totalUsage.output,i.totalTokens.cacheRead+=e.totalUsage.cacheRead,i.totalTokens.cacheWrite+=e.totalUsage.cacheWrite,i.totalToolCalls+=e.toolCallCount??0,i.totalTurns+=e.turnCount??0,i.totalLinesAdded+=e.linesAdded??0,i.totalLinesRemoved+=e.linesRemoved??0,i.totalFilesEdited+=e.filesEdited??0;return t.length>0&&(i.avgTurnsPerSession=i.totalTurns/t.length,i.avgDurationMs=i.totalDurationMs/t.length),i}t.s(["canonicalProjectName",0,u,"computeBurstsFromSessions",0,function(t,e={}){let i=[];for(let e of t)e.activeSegments&&0!==e.activeSegments.length&&i.push({id:e.id,projectDir:e.projectDir,segments:e.activeSegments});return function(t,e){let i=e.minDurationMs??6e4,s=e.mergeGapMs??6e5,n=e.minActive??2,a=[];for(let e of t)for(let t of e.segments)t.endMs<=t.startMs||(a.push({ms:t.startMs,delta:1,sessionId:e.id}),a.push({ms:t.endMs,delta:-1,sessionId:e.id}));a.sort((t,e)=>t.ms-e.ms||e.delta-t.delta);let o=new Map,r=[],l=null;for(let t of a){if(1===t.delta)o.set(t.sessionId,(o.get(t.sessionId)??0)+1);else{let e=(o.get(t.sessionId)??0)-1;e<=0?o.delete(t.sessionId):o.set(t.sessionId,e)}let e=o.size;if(e>=n)if(l)for(let i of(l.endMs=t.ms,e>l.peak&&(l.peak=e),o.keys()))l.sessionIds.add(i);else l={startMs:t.ms,endMs:t.ms,peak:e,sessionIds:new Set(o.keys())};else l&&(l.endMs=t.ms,r.push(l),l=null)}l&&r.push(l);let u=r.filter(t=>t.endMs-t.startMs>=i),c=[];for(let t of u){let e=c[c.length-1];if(e&&t.startMs-e.endMs<=s)for(let i of(e.endMs=t.endMs,t.peak>e.peak&&(e.peak=t.peak),t.sessionIds))e.sessionIds.add(i);else c.push({startMs:t.startMs,endMs:t.endMs,peak:t.peak,sessionIds:new Set(t.sessionIds)})}let p=new Map;for(let e of t)p.set(e.id,e.projectDir);return c.map(t=>{let e=Array.from(new Set(Array.from(t.sessionIds).map(t=>p.get(t)).filter(t=>!!t)));return{startMs:t.startMs,endMs:t.endMs,peak:t.peak,sessionIds:Array.from(t.sessionIds),projectDirs:e,crossProject:e.length>1}})}(i,e)},"groupByProject",0,function(t){let e=new Map,i=function(t){let e=new Map;for(let i of t)i.repoName&&e.set(p(i.projectName),i.repoName);return t=>t.repoName??e.get(p(t.projectName))??p(t.projectName)}(t);for(let s of t){let t=i(s),n=e.get(t);n||(n={projectDir:t,projectName:t,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:d([]),perAgent:[],lastActiveMs:void 0},e.set(t,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 t of e.values()){t.metrics=d(t.sessions);let e=new Set;for(let i of t.sessions){let t=i.worktreeName??c(i.projectName)??(i.cwd?c(i.cwd):null);t&&e.add(t)}t.worktreeCount=e.size;let i=new Map;for(let e of t.sessions){let t=e.agent??"claude-code",s=i.get(t);s||(s={agent:t,sessions:0},i.set(t,s)),s.sessions+=1}t.perAgent=Array.from(i.values()).sort((t,e)=>e.sessions-t.sessions)}return Array.from(e.values()).sort((t,e)=>(e.lastActiveMs??0)-(t.lastActiveMs??0))},"projectKey",0,p,"toLocalDay",0,function(t){let e=new Date(t),i=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${i}-${s}-${n}`},"worktreeName",0,c])},43427,20629,t=>{"use strict";let e;t.s(["agentSources",()=>es,"appendUsageSnapshot",()=>er,"cclensHome",()=>et,"cclensPath",()=>ee,"getAnySession",()=>ea,"invalidateFile",()=>ei,"listAllSessions",()=>en,"pruneUsageAgent",()=>el],43427);var i=t.i(2157),s=t.i(60526),n=t.i(50227),a=t.i(39587),o=t.i(36521),r=t.i(79357);let l={input:0,output:0,cacheRead:0,cacheWrite:0};function u(t,e=200){let i=t.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return i.length>e?i.slice(0,e-1)+"…":i}let c=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function p(t){let e=t.match(c);if(!e)return;let i=e[1],s=e[2].trim(),n="message";if(s.startsWith("{"))try{let t=JSON.parse(s);"idle_notification"===t.type?n="idle-notification":"shutdown_request"===t.type?n="shutdown-request":"shutdown_approved"===t.type?n="shutdown-approved":"task_assignment"===t.type?n="task-assignment":"teammate_terminated"===t.type&&(n="teammate-terminated")}catch{}return{teammateId:i,body:s,kind:n}}function d(t){if(!t||"object"!=typeof t)return;let e=t=>"number"==typeof t?t:0;return{input:e(t.input_tokens),output:e(t.output_tokens),cacheRead:e(t.cache_read_input_tokens),cacheWrite:e(t.cache_creation_input_tokens)}}function m(t){let e,i,s,n,a,c,m,f,g,y,h,w=[];for(let e=0;e<t.length;e++){let i=function(t,e){if(!t||"object"!=typeof t)return null;let i=String(t.type??""),s=t.uuid,n=t.parentUuid??null,a=t.timestamp;if("assistant"===i){let o,r,l,c=t.message??{},p=c.content??[],m=d(c.usage),f=c.model,g=t.requestId,y=c.id,h=c.stop_reason,w=p[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:e,uuid:s,parentUuid:n,timestamp:a,role:M,rawType:i,preview:o,blocks:p,usage:m,model:f,requestId:g,messageId:y,stopReason:h,toolName:r,toolUseId:l,raw:t}}if("user"===i){let r=(t.message??{}).content;if("string"==typeof r){let l=(0,o.stripFrameworkBoilerplate)(r),c=p(l);return{index:e,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:u(l,200),blocks:l?[{type:"text",text:l}]:[],raw:t,teammateMessage:c}}if(Array.isArray(r)){let l=r[0];if(l?.type==="tool_result")return{index:e,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:t.toolUseResult,raw:t};let c=r.find(t=>t?.type==="text"),d=c?(0,o.stripFrameworkBoilerplate)(c.text):"",m=c?r.map(t=>t===c?{type:"text",text:d}:t):r,f=d?p(d):void 0;return{index:e,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:d?u(d,200):u(JSON.stringify(r),200),blocks:m,raw:t,teammateMessage:f}}}if("attachment"===i){let o=t.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:e,uuid:s,parentUuid:n,timestamp:a,role:"system",rawType:i,preview:l,blocks:[{type:"text",text:JSON.stringify(o,null,2)}],attachmentType:r,raw:t}}return{index:e,uuid:s,parentUuid:n,timestamp:a,role:"meta",rawType:i||"unknown",preview:`${i}: ${u(JSON.stringify(t),140)}`,blocks:[{type:"text",text:JSON.stringify(t,null,2)}],raw:t}}(t[e],e);i&&w.push(i)}for(let t of w){if(!t.timestamp)continue;let s=Date.parse(t.timestamp);!Number.isNaN(s)&&((void 0===e||s<e)&&(e=s),(void 0===i||s>i)&&(i=s))}let M=void 0!==e?new Date(e).toISOString():void 0,v=void 0!==i?new Date(i).toISOString():void 0;for(let t of w){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isNaN(i)||void 0!==e&&(t.tOffsetMs=Math.max(0,i-e))}let _=w.filter(t=>{let e;return t.timestamp&&("user"===(e=t.role)||"agent"===e||"agent-thinking"===e||"tool-call"===e||"tool-result"===e)}).map(t=>({e:t,ms:Date.parse(t.timestamp)})).filter(t=>!Number.isNaN(t.ms)).sort((t,e)=>t.ms-e.ms);for(let t=1;t<_.length;t++)_[t].e.gapMs=Math.max(0,_[t].ms-_[t-1].ms);let k=w.filter(t=>t.timestamp).map(t=>Date.parse(t.timestamp)).filter(t=>!Number.isNaN(t)).sort((t,e)=>t-e),j=[],N=0;if(k.length>0){let t=k[0],e=k[0];for(let i=1;i<k.length;i++){let s=k[i],n=s-e;n>18e4?(j.push({startMs:t,endMs:e}),t=s):n>0&&(N+=n),e=s}j.push({startMs:t,endMs:e})}let b=new Map,T=[];for(let t of w){if(!t.timestamp)continue;let e=Date.parse(t.timestamp);if(!Number.isNaN(e)){if("assistant"===t.rawType&&t.usage&&t.messageId){let i=b.get(t.messageId);i?(i.siblings.push(t),e<i.ms&&(i.rep=t,i.ms=e)):b.set(t.messageId,{rep:t,ms:e,siblings:[t]})}else if("system"===t.rawType){let i=t.raw;if(i?.subtype!=="compact_boundary")continue;let s=i.compactMetadata??{};T.push({ms:e,trigger:"manual"===s.trigger?"manual":"auto",preTokens:"number"==typeof s.preTokens?s.preTokens:0})}}}let x=[...b.values()].sort((t,e)=>t.ms-e.ms);T.sort((t,e)=>t.ms-e.ms);let I=0,A=0,C=(t,e)=>{for(let i of t.siblings)i.coldResume=e;I++,A+=e.writeTokens},S=new Set;for(let t of T){let e,i=x.find(e=>e.ms>t.ms&&(e.rep.usage?.cacheWrite??0)>=1e3);if(!i)continue;for(let i=x.length-1;i>=0;i--)if(x[i].ms<=t.ms){e=x[i].ms;break}let s=i.rep.usage,n=s.cacheWrite+s.cacheRead;C(i,{trigger:"compact",gapMs:void 0!==e?i.ms-e:0,writeTokens:s.cacheWrite,writeRatio:n>0?s.cacheWrite/n:0,compact:{trigger:t.trigger,preTokens:t.preTokens}}),S.add(i.rep.messageId)}for(let t=1;t<x.length;t++){let e=x[t-1],i=x[t];if(S.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-e.ms;o>3e5&&s.cacheWrite>=1e3&&a>=.3&&C(i,{trigger:"idle",gapMs:o,writeTokens:s.cacheWrite,writeRatio:a})}let D={...l},P=new Set,R="",U=!1,O=!1,F=0,B=0,z=0,$=0,W=new Set,E=new Map,J=void 0!==e?(0,r.toLocalDay)(e):void 0,L=t=>{let e;if(t){let i=Date.parse(t);Number.isNaN(i)||(e=(0,r.toLocalDay)(i))}if(!(e=e??J))return;let i=E.get(e);return i||(i={toolCalls:0,turns:0,tokens:{...l}},E.set(e,i)),i};for(let t of w){if("tool-call"===t.role){F++;let e=L(t.timestamp);e&&e.toolCalls++;let i=t.blocks.find(t=>t&&"tool_use"===t.type);if(i){let t=i.input??{};if("TeamCreate"===i.name&&(U=!0),"SendMessage"===i.name){let e="string"==typeof t.to?t.to:"";e&&"team-lead"!==e&&(O=!0)}let e="string"==typeof t.file_path?t.file_path:void 0;if("Edit"===i.name&&e){W.add(e);let i="string"==typeof t.old_string?t.old_string:"",s="string"==typeof t.new_string?t.new_string:"",n=i?i.split("\n").length:0,a=s?s.split("\n").length:0;z+=Math.max(0,a-n),$+=Math.max(0,n-a)}else if("Write"===i.name&&e){W.add(e);let i="string"==typeof t.content?t.content:"";z+=i?i.split("\n").length:0}}}if("user"===t.role){let e=function(t){let e=t?.content;if("string"==typeof e)return e;if(Array.isArray(e)){for(let t of e)if(t&&"object"==typeof t&&"text"===t.type&&"string"==typeof t.text)return t.text}return""}(t.raw?.message),i=(0,o.isFrameworkInjectedUserInput)(e),s=void 0!==t.teammateMessage&&!f;if(!i&&!s){g||(g=t.teammateMessage?t.teammateMessage.body:t.preview),B++;let e=L(t.timestamp);e&&e.turns++,h=t.preview}}"agent"===t.role&&(y=t.preview)}for(let e of t)if(e&&"object"==typeof e&&("string"!=typeof e.sessionId||R||(R=e.sessionId),"string"!=typeof e.cwd||n||(n=e.cwd),"string"!=typeof e.gitBranch||a||(a=e.gitBranch),"string"!=typeof e.entrypoint||c||(c=e.entrypoint),"string"!=typeof e.teamName||m||(m=e.teamName),"string"!=typeof e.agentName||f||(f=e.agentName),"assistant"===e.type)){let t=e.message;if(t){"string"!=typeof t.model||s||(s=t.model);let i="string"==typeof t.id?t.id:void 0;if(i&&P.has(i))continue;i&&P.add(i);let n=d(t.usage);if(n){D.input+=n.input,D.output+=n.output,D.cacheRead+=n.cacheRead,D.cacheWrite+=n.cacheWrite;let t=L("string"==typeof e.timestamp?e.timestamp:void 0);t&&(t.tokens.input+=n.input,t.tokens.output+=n.output,t.tokens.cacheRead+=n.cacheRead,t.tokens.cacheWrite+=n.cacheWrite)}}}return{events:w,meta:{sessionId:R,firstTimestamp:M,lastTimestamp:v,durationMs:void 0!==e&&void 0!==i?i-e:void 0,eventCount:w.length,model:s,cwd:n,gitBranch:a,entrypoint:c,totalUsage:D,status:"idle",firstUserPreview:g,lastUserPreview:h,lastAgentPreview:y,toolCallCount:F,turnCount:B,dailyBreakdown:Array.from(E.entries()).map(([t,e])=>({day:t,toolCalls:e.toolCalls,turns:e.turns,tokens:e.tokens})).sort((t,e)=>t.day.localeCompare(e.day)),airTimeMs:N,activeSegments:j,linesAdded:z,linesRemoved:$,filesEdited:W.size,coldResumeCount:I,cacheRebuildTokens:A,teamName:m,agentName:f,isTeamLead:void 0!==m&&void 0===f&&(U||O)}}}let f=/^(?:(?:https?|ssh|git):\/\/)?(?:[^@/]+@)?([^/:]+)[:/](.+?)(?:\.git)?\/?$/;function g(t){try{return(0,i.realpathSync)(t)}catch{return t}}function y(t){let e=g(t.replace(/\/{2,}/g,"/"));try{let t=function(t){let e;if(!t||!(0,n.isAbsolute)(t))return null;let a=(e=g((0,s.homedir)()),t===e||t.startsWith(`${e}/`)?e:void 0);for(let e=t.replace(/\/+$/,"")||t;;e=(0,n.dirname)(e)){if(e===a)return null;let t=function(t){let e=(0,n.join)(t,".git"),s=(0,i.statSync)(e,{throwIfNoEntry:!1});if(!s)return null;if(s.isDirectory())return{root:t,gitDir:e,commonDir:e};let a=function(t,e){let i=e.match(/^gitdir:\s*(.+)\s*$/m);if(!i)return;let s=i[1].trim();return(0,n.isAbsolute)(s)?s:(0,n.resolve)(t,s)}(t,(0,i.readFileSync)(e,"utf8"));return a?{root:t,gitDir:a,commonDir:function(t){let e=(0,n.join)(t,"commondir");if(!(0,i.existsSync)(e))return;let s=(0,i.readFileSync)(e,"utf8").trim();if(s)return(0,n.isAbsolute)(s)?s:(0,n.resolve)(t,s)}(a)}:{root:t}}(e);if(t)return t;if((0,n.dirname)(e)===e)return null}}(e);if(t){let s=g(function(t){if(t)return".git"===(0,n.basename)(t)?(0,n.dirname)(t):void 0}(t.commonDir)??t.root),a=g(t.root),o=s!==a?(0,r.worktreeName)(e)??(0,n.basename)(t.root):void 0,l={projectName:s};o&&(l.worktreeName=o);let u=function(t){let e=t.commonDir??t.gitDir;if(!e)return;let s=(0,n.join)(e,"config");if(!(0,i.existsSync)(s))return;let a=function(t){let e=!1;for(let i of t.split("\n")){let t=i.trim();if(t.startsWith("[")){e=/^\[remote\s+"origin"\]/.test(t);continue}if(!e)continue;let s=t.match(/^url\s*=\s*(.+)$/);if(s)return s[1].trim()}}((0,i.readFileSync)(s,"utf8"));return a?function(t){let e=t.match(f);if(!e)return;let i=e[1],s=e[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:t,webUrl:`https://${i}/${a}/${n}`}}(a):void 0}(t);return u&&(l.remote=u,l.repoName=u.name),l}}catch{}let a=(0,r.canonicalProjectName)(e),o=(0,r.worktreeName)(e)??void 0;return o?{projectName:a,worktreeName:o}:{projectName:a}}let h=n.default.join(s.default.homedir(),".claude","projects");function w(t){return t.startsWith("-")?"/"+t.slice(1).replace(/-/g,"/"):t}let M=n.default.join(s.default.homedir(),".cclens","runtime").replace(/[/.]/g,"-");async function v(t){let e=await i.promises.readFile(t,"utf8"),s=[];for(let t of e.split("\n")){let e=t.trim();if(e)try{s.push(JSON.parse(e))}catch{}}return s}function _(t){return t.replace(/\.jsonl$/i,"")}let k=new Map,j=new Map,N=new Map,b=null;function T(t){k.delete(t),j.delete(t),N.delete(t),b=null}async function x(t=h){let e;if(b&&b.root===t&&Date.now()-b.capturedAtMs<1e3)return b.files;try{e=await i.promises.readdir(t,{withFileTypes:!0})}catch{return[]}let s=e.filter(t=>t.isDirectory()&&t.name!==M).map(t=>t.name),a=(await Promise.all(s.map(async e=>{let s,a=n.default.join(t,e);try{s=await i.promises.readdir(a)}catch{return[]}let o=s.filter(t=>t.endsWith(".jsonl"));return(await Promise.all(o.map(async t=>{let s=n.default.join(a,t);try{let n=await i.promises.stat(s);return{projectDir:e,fileName:t,fullPath:s,mtimeMs:n.mtimeMs,sizeBytes:n.size}}catch{return null}}))).filter(t=>null!==t)}))).flat();return b={files:a,capturedAtMs:Date.now(),root:t},a}let I={input:0,output:0,cacheRead:0,cacheWrite:0};function A(t,e,i,s,n){for(let a of t){if(!a||"object"!=typeof a||"assistant"!==a.type)continue;let t=a.message;if(!t)continue;let o="string"==typeof t.id?t.id:void 0,l="string"==typeof a.requestId?a.requestId:void 0,u=null!=o&&null!=l?`${o}:${l}`:void 0;if(u&&e.has(u))continue;u&&e.add(u);let c=t.usage;if(c){let t=t=>"number"==typeof t?t:0,e=t(c.input_tokens),o=t(c.output_tokens),l=t(c.cache_read_input_tokens),u=t(c.cache_creation_input_tokens);if(i.input+=e,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u,s){let t,i="string"==typeof a.timestamp?a.timestamp:void 0;if(i){let e=Date.parse(i);Number.isNaN(e)||(t=(0,r.toLocalDay)(e))}if(t=t??n){let i=s.get(t);i||(i={...I},s.set(t,i)),i.input+=e,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u}}}}}async function C(t,e,s,a){let o,r={...I},l=new Set,u=new Map;A(t,l,r,u,a);let c=n.default.join(e,s,"subagents");try{o=await i.promises.readdir(c)}catch{return{usage:r,perDay:u}}let p=o.filter(t=>t.endsWith(".jsonl"));return 0===p.length||await Promise.all(p.map(async t=>{try{let e=await v(n.default.join(c,t));A(e,l,r,u,a)}catch{}})),{usage:r,perDay:u}}async function S(t,e){let s,a=n.default.join(t,e,"workflows");try{s=await i.promises.readdir(a)}catch{return{workflowCount:0,spawnedAgentCount:0,spans:[]}}let o=s.filter(t=>t.startsWith("wf_")&&t.endsWith(".json"));if(0===o.length)return{workflowCount:0,spawnedAgentCount:0,spans:[]};let r=0,l=[];return{workflowCount:(await Promise.all(o.map(async t=>{try{let e=JSON.parse(await i.promises.readFile(n.default.join(a,t),"utf8"));return"number"==typeof e.agentCount&&(r+=e.agentCount),"number"==typeof e.startTime&&"number"==typeof e.durationMs&&e.durationMs>0&&l.push({startMs:e.startTime,endMs:e.startTime+e.durationMs}),!0}catch{return!1}}))).filter(Boolean).length,spawnedAgentCount:r,spans:l}}async function D(t,e){let s;try{s=await i.promises.readdir(t,{withFileTypes:!0})}catch{return 0}return(await Promise.all(s.map(async s=>{let a=n.default.join(t,s.name);try{if(s.isDirectory())return e>0?await D(a,e-1):0;return(await i.promises.stat(a)).mtimeMs}catch{return 0}}))).reduce((t,e)=>Math.max(t,e),0)}async function P(t,e){let i=n.default.join(t,e),[s,a]=await Promise.all([D(n.default.join(i,"subagents"),2),D(n.default.join(i,"workflows"),0)]),o=Math.max(s,a);return o>0?o:void 0}async function R(t,e){let i=await P(n.default.dirname(e.fullPath),t.id),s=t.lastTimestamp?Date.parse(t.lastTimestamp):0,a=Math.max(Number.isFinite(s)?s:0,i??0);return a>0?{...t,lastActivityMs:a}:t}function U(t,e){if(0===e.length)return{};let i=[...t??[],...e].filter(t=>t.endMs>t.startMs).sort((t,e)=>t.startMs-e.startMs);if(0===i.length)return{};let s=[{...i[0]}];for(let t=1;t<i.length;t++){let e=i[t],n=s[s.length-1];e.startMs<=n.endMs?n.endMs=Math.max(n.endMs,e.endMs):s.push({...e})}let n=s.reduce((t,e)=>t+(e.endMs-e.startMs),0);return{activeSegments:s,airTimeMs:n}}async function O(t,e,i){let s=_(i.fileName),a=n.default.dirname(i.fullPath),o=t.firstTimestamp?(0,r.toLocalDay)(Date.parse(t.firstTimestamp)):void 0,{usage:l,perDay:u}=await C(e,a,s,o);t.totalUsage=l,t.dailyBreakdown=function(t,e,i){let s=new Map((t??[]).map(t=>[t.day,t])),n=[...new Set([...s.keys(),...e.keys()])].sort((t,e)=>t.localeCompare(e)).map(t=>({day:t,toolCalls:s.get(t)?.toolCalls??0,turns:s.get(t)?.turns??0,tokens:{...e.get(t)??I}}));if(n.length>0){let t=n.reduce((t,e)=>({input:t.input+e.tokens.input,output:t.output+e.tokens.output,cacheRead:t.cacheRead+e.tokens.cacheRead,cacheWrite:t.cacheWrite+e.tokens.cacheWrite}),{...I}),e=n[0].tokens;e.input+=i.input-t.input,e.output+=i.output-t.output,e.cacheRead+=i.cacheRead-t.cacheRead,e.cacheWrite+=i.cacheWrite-t.cacheWrite}return n}(t.dailyBreakdown,u,l)}async function F(t){let e=k.get(t.fullPath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes)return e.meta;try{let e=await v(t.fullPath),{meta:i}=m(e);await O(i,e,t);let s=_(t.fileName),a=n.default.dirname(t.fullPath),o=await S(a,s),r=i.cwd??w(t.projectDir),l=y(r),u={...i,id:s,filePath:t.fullPath,projectDir:t.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...U(i.activeSegments,o.spans)};return k.set(t.fullPath,{meta:u,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),u}catch{return null}}async function B(t){let e=j.get(t.fullPath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes)return e.detail;try{let e=await v(t.fullPath),{meta:i,events:s}=m(e),a=_(t.fileName);await O(i,e,t);let o=await S(n.default.dirname(t.fullPath),a),r=i.cwd??w(t.projectDir),l=y(r),u={...i,id:a,filePath:t.fullPath,projectDir:t.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,events:s,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...U(i.activeSegments,o.spans)};j.set(t.fullPath,{detail:u,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes});let c={...u};return delete c.events,k.set(t.fullPath,{meta:c,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),u}catch{return null}}async function z(t={}){let{root:e=h,limit:i=500,projectDir:s}=t,n=await x(e);s&&(n=n.filter(t=>t.projectDir===s)),n.sort((t,e)=>e.mtimeMs-t.mtimeMs);let a=n.slice(0,i);return(await Promise.all(a.map(async t=>{let e=await F(t);return e?R(e,t):null}))).filter(t=>null!==t)}async function $(t,e={}){let{root:i=h}=e,s=(await x(i)).find(e=>_(e.fileName)===t);if(!s)return null;let a=await B(s);if(!a)return a;let o=a.firstTimestamp?Date.parse(a.firstTimestamp):void 0,r=n.default.join(n.default.dirname(s.fullPath),_(s.fileName),"subagents"),l=n.default.join(n.default.dirname(s.fullPath),_(s.fileName),"workflows"),[u,c]=await Promise.all([E(r,o,a.events),J(l,o,a.events)]),p=c.reduce((t,e)=>t+e.agentCount,0);return R({...a,subagents:u,workflows:c,...c.length>0?{workflowCount:c.length,spawnedAgentCount:p}:{}},s)}function W(t){let e,i,s,n,a,o={...I},r=new Set,l=0,u=0,c=0,p=new Map;for(let d of t){if(!d||"object"!=typeof d)continue;l++;let t="string"==typeof d.timestamp?Date.parse(d.timestamp):NaN;if(!Number.isNaN(t)&&((void 0===e||t<e)&&(e=t),(void 0===i||t>i)&&(i=t)),void 0===a&&"user"===d.type&&(null===d.parentUuid||void 0===d.parentUuid)){let t=d.message,e=t?.content;if("string"==typeof e)a=e;else if(Array.isArray(e)){let t=e.find(t=>t&&"object"==typeof t&&"text"===t.type);t?.text&&(a=t.text)}}if("assistant"===d.type){let t=d.message;if(!t)continue;n||"string"!=typeof t.model||(n=t.model);let e="string"==typeof t.id?t.id:void 0,i="string"==typeof d.requestId?d.requestId:void 0,a=null!=e&&null!=i?`${e}:${i}`:void 0,l=!a||!r.has(a);if(a&&l&&r.add(a),l){u++;let e=t.usage;if(e){let t=t=>"number"==typeof t?t:0;o.input+=t(e.input_tokens),o.output+=t(e.output_tokens),o.cacheRead+=t(e.cache_read_input_tokens),o.cacheWrite+=t(e.cache_creation_input_tokens)}}let m=t.content;if(Array.isArray(m))for(let t of m)t&&"object"==typeof t&&("text"===t.type&&"string"==typeof t.text?s=t.text:"tool_use"===t.type&&"string"==typeof t.name&&(c++,p.set(t.name,(p.get(t.name)??0)+1)))}}let d=Array.from(p.entries()).map(([t,e])=>({name:t,count:e})).sort((t,e)=>e.count-t.count);return{startMs:e,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 E(t,e,s){let a;try{a=await i.promises.readdir(t)}catch{return[]}let o=new Map,r=[];for(let t of s)if("tool-call"===t.role&&"Agent"===t.toolName)for(let e of t.blocks){if(e?.type!=="tool_use"||"Agent"!==e.name)continue;let i=e.input??{},s="string"==typeof i.description?i.description:void 0,n=t.timestamp?Date.parse(t.timestamp):void 0,a={toolUseId:e.id,parentUuid:t.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((t,e)=>(t.tsMs??0)-(e.tsMs??0));let l=a.filter(t=>t.startsWith("agent-")&&t.endsWith(".jsonl"));return(await Promise.all(l.map(async s=>{let a,l=s.replace(/^agent-/,"").replace(/\.jsonl$/,""),u=n.default.join(t,s),c=n.default.join(t,`agent-${l}.meta.json`),p={};try{let t=await i.promises.readFile(c,"utf8");p=JSON.parse(t)}catch{}try{a=await v(u)}catch{return null}let d=W(a),m=p.description&&p.description.trim().length>0?p.description:void 0,f=m?o.get(m):function(t){let e;if(void 0===t)return;let i=1/0;for(let s of r){if(void 0===s.tsMs)continue;let n=Math.abs(t-s.tsMs);n<i&&n<=2e3&&(e=s,i=n)}return e}(d.startMs),g=m??(d.initialPrompt?d.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),y=f?.prompt??d.initialPrompt,h=void 0!==e&&void 0!==d.startMs?Math.max(0,d.startMs-e):void 0,w=void 0!==e&&void 0!==d.endMs?Math.max(0,d.endMs-e):void 0,M=void 0!==d.startMs&&void 0!==d.endMs?d.endMs-d.startMs:void 0;return{agentId:l,agentType:p.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(t=>null!==t).sort((t,e)=>(t.startMs??0)-(e.startMs??0))}async function J(t,e,s){let a;try{a=await i.promises.readdir(t)}catch{return[]}let o=a.filter(t=>t.startsWith("wf_")&&t.endsWith(".json"));if(0===o.length)return[];let r=[];for(let t of s){if("tool-call"!==t.role||"Workflow"!==t.toolName)continue;let e=t.timestamp?Date.parse(t.timestamp):NaN;if(!Number.isNaN(e))for(let i of t.blocks)i?.type==="tool_use"&&"Workflow"===i.name&&r.push({toolUseId:i.id,parentUuid:t.uuid??"",tsMs:e})}r.sort((t,e)=>t.tsMs-e.tsMs);let l=t=>"number"==typeof t?t:void 0,u=t=>"string"==typeof t&&t.length>0?t:void 0;return(await Promise.all(o.map(async s=>{let a;try{a=JSON.parse(await i.promises.readFile(n.default.join(t,s),"utf8"))}catch{return null}let o=u(a.runId)??s.replace(/\.json$/,""),c=l(a.startTime),p=l(a.durationMs),d=void 0!==c&&void 0!==p?c+p:void 0,m=void 0!==e&&void 0!==c?Math.max(0,c-e):void 0,f=void 0!==e&&void 0!==d?Math.max(0,d-e):void 0,g=Array.isArray(a.phases)?a.phases.filter(t=>!!t&&"object"==typeof t&&"string"==typeof t.title).map(t=>({title:t.title,detail:u(t.detail)})):[],y=Array.isArray(a.logs)?a.logs.filter(t=>"string"==typeof t):[],h=(t,e)=>{let i=u(t);return void 0===i?void 0:i.length>e?i.slice(0,e)+"…":i},w=(Array.isArray(a.workflowProgress)?a.workflowProgress:[]).filter(t=>!!t&&"object"==typeof t&&"workflow_agent"===t.type).map(t=>({index:l(t.index)??0,label:u(t.label)??"(agent)",phaseIndex:l(t.phaseIndex),phaseTitle:u(t.phaseTitle),agentId:u(t.agentId),model:u(t.model),state:u(t.state),startedAt:l(t.startedAt),durationMs:l(t.durationMs),tokens:l(t.tokens),toolCalls:l(t.toolCalls),lastToolSummary:h(t.lastToolSummary,200),promptPreview:h(t.promptPreview,600),resultPreview:h(t.resultPreview,600)})).sort((t,e)=>t.index-e.index),M=(t=>{let e,i;if(void 0===t||0===r.length)return;let s=1/0,n=1/0;for(let a of r){let o=Math.abs(t-a.tsMs);!(o>6e4)&&(o<n&&(i=a,n=o),a.tsMs<=t&&o<s&&(e=a,s=o))}return e??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:p,startMs:c,endMs:d,startTOffsetMs:m,endTOffsetMs:f,model:u(a.defaultModel),phases:g,logs:y,agents:w,parentToolUseId:M?.toolUseId,parentUuid:M?.parentUuid}}))).filter(t=>null!==t).sort((t,e)=>(t.startMs??0)-(e.startMs??0))}async function L(t,e,i,s={}){let a,o,r,l,u,c,{root:p=h}=s;if(!/^[\w.-]+$/.test(e)||!/^[\w.-]+$/.test(i))return null;let d=(await x(p)).find(e=>_(e.fileName)===t);if(!d)return null;let m=n.default.join(n.default.dirname(d.fullPath),t,"subagents","workflows",e,`agent-${i}.jsonl`);try{a=await v(m)}catch{return null}let f=new Set;for(let t of a){if(!t||"object"!=typeof t)continue;let e=t.message?.content;if(Array.isArray(e))for(let t of e)t&&"object"==typeof t&&"tool_result"===t.type&&!0===t.is_error&&"string"==typeof t.tool_use_id&&f.add(t.tool_use_id)}let g=[],y=new Map,w={...I},M=new Set,k=0,j=0;for(let t of a){if(!t||"object"!=typeof t)continue;j++;let e="string"==typeof t.timestamp?Date.parse(t.timestamp):NaN;if(!Number.isNaN(e)&&((void 0===u||e<u)&&(u=e),(void 0===c||e>c)&&(c=e)),void 0===o&&"user"===t.type&&(null===t.parentUuid||void 0===t.parentUuid)){let e=t.message?.content;if("string"==typeof e)o=e;else if(Array.isArray(e)){let t=e.find(t=>t&&"object"==typeof t&&"text"===t.type);t?.text&&(o=t.text)}}if("assistant"!==t.type)continue;let i=t.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 t.requestId?t.requestId:void 0,a=null!=s&&null!=n?`${s}:${n}`:void 0,p=!a||!M.has(a);if(a&&p&&M.add(a),p){k++;let t=i.usage;if(t){let e=t=>"number"==typeof t?t:0;w.input+=e(t.input_tokens),w.output+=e(t.output_tokens),w.cacheRead+=e(t.cache_read_input_tokens),w.cacheWrite+=e(t.cache_creation_input_tokens)}}let d=i.content;if(Array.isArray(d)){for(let t of d)if(t&&"object"==typeof t){if("text"===t.type&&"string"==typeof t.text)r=t.text;else if("tool_use"===t.type&&"string"==typeof t.name&&(y.set(t.name,(y.get(t.name)??0)+1),g.length<2e3)){let e=function(t){if(!t||"object"!=typeof t)return"";let e=e=>"string"==typeof t[e]?t[e]:void 0;return e("command")??e("file_path")??e("path")??e("pattern")??e("url")??e("description")??e("query")??e("prompt")??e("old_string")??JSON.stringify(t)}(t.input),i=e.replace(/\s+/g," ").trim().slice(0,160),s=e.length>4e3?e.slice(0,4e3)+"…":e;g.push({index:g.length+1,tool:t.name,preview:i,full:s.length>i.length||s.includes("\n")?s:void 0,isError:"string"==typeof t.id&&f.has(t.id)})}}}}return{agentId:i,prompt:o,finalText:r,steps:g,toolCalls:Array.from(y.entries()).map(([t,e])=>({name:t,count:e})).sort((t,e)=>e.count-t.count),toolCallCount:g.length,assistantMessageCount:k,eventCount:j,totalUsage:w,model:l,durationMs:void 0!==u&&void 0!==c?c-u:void 0}}let G={...a.CLAUDE_CODE_METADATA,defaultRoot:h,async listSessions(t){let e=await z(t);for(let t of e)t.agent||(t.agent="claude-code");return e},async getSession(t,e){let i=await $(t,e);return i&&!i.agent&&(i.agent="claude-code"),i}};t.s(["DEFAULT_ROOT",0,h,"claudeCodeSource",0,G,"getSession",0,$,"invalidateClaudeCodeFile",0,T,"listSessions",0,z,"loadWorkflowAgentDetail",0,L,"summarizeSubagentLines",0,W],20629);let q=n.default.join(s.default.homedir(),".codex","sessions"),H=/^rollout-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})-([0-9a-f-]+)\.jsonl$/;async function K(t){return i.promises.readdir(t).catch(()=>[])}async function Y(t){let e=[];for(let s of(await K(t))){if(!/^\d{4}$/.test(s))continue;let a=n.default.join(t,s);for(let t of(await K(a))){if(!/^\d{2}$/.test(t))continue;let s=n.default.join(a,t);for(let t of(await K(s))){if(!/^\d{2}$/.test(t))continue;let a=n.default.join(s,t);for(let t of(await K(a))){let s=H.exec(t);if(!s)continue;let o=n.default.join(a,t),r=await i.promises.stat(o).catch(()=>null);r&&e.push({filePath:o,sessionId:s[2],mtimeMs:r.mtimeMs,sizeBytes:r.size})}}}}return e}async function Z(t){let e=await i.promises.readFile(t,"utf8"),s=[];for(let t of e.split("\n")){let e=t.trim();if(e)try{s.push(JSON.parse(e))}catch{}}return s}function Q(t){return t.replace(/\s+/g," ").trim().slice(0,200)}function V(t,e){let i,s,n,a,r,l,u,c=[],p={input:0,output:0,cacheRead:0,cacheWrite:0},d=0,m=0,f=[],g=0;for(let t of e){if("object"!=typeof t||null===t)continue;let e="string"==typeof t.timestamp?t.timestamp:void 0;if(e){i||(i=e),s=e;let t=Date.parse(e);Number.isFinite(t)&&f.push(t)}let y="string"==typeof t.type?t.type:"",w=t.payload??{},M="string"==typeof w.type?w.type:"";if("session_meta"===y){"string"==typeof w.cwd&&(n=w.cwd);continue}if("turn_context"===y){"string"==typeof w.cwd&&(n=w.cwd),"string"==typeof w.model&&(a=w.model);continue}if("event_msg"===y&&"token_count"===M){let t=w.info??null,e=t?.total_token_usage??null;e&&(p.input=X(e.input_tokens)??p.input,p.output=X(e.output_tokens)??p.output,p.cacheRead=X(e.cached_input_tokens)??p.cacheRead);continue}if("event_msg"===y&&"user_message"===M){let i="string"==typeof w.message?w.message:"",s=Q(i),n=(0,o.isFrameworkInjectedUserInput)(i);i&&!n&&(r||(r=s),l=s,m+=1),c.push({index:g++,timestamp:e,role:"user",rawType:"event_msg/user_message",preview:s,blocks:i?[{type:"text",text:i}]:[],raw:t});continue}if("event_msg"===y&&"agent_message"===M){let i="string"==typeof w.message?w.message:"",s=Q(i);i&&(u=s),c.push({index:g++,timestamp:e,role:"agent",rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:t});continue}if("response_item"===y&&"reasoning"===M){let i=(w.summary??[]).map(t=>"string"==typeof t.text?t.text:"").join("\n").trim();c.push({index:g++,timestamp:e,role:"agent-thinking",rawType:"response_item/reasoning",preview:Q(i),blocks:i?[{type:"thinking",thinking:i}]:[],model:a,raw:t});continue}if("response_item"===y&&"message"===M&&"assistant"===w.role){let i=(w.content??[]).map(t=>"string"==typeof t.text?t.text:"").join("\n").trim(),s=Q(i);i&&(u=s),c.push({index:g++,timestamp:e,role:"agent",rawType:"response_item/message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:t});continue}if("response_item"===y&&"function_call"===M){var h;let i="string"==typeof w.name?w.name:"(unknown)",s="string"==typeof w.call_id?w.call_id:void 0,n="string"==typeof w.arguments?w.arguments:"",o=function(t){if(!t)return null;try{return JSON.parse(t)}catch{return t}}(n);d+=1,c.push({index:g++,timestamp:e,role:"tool-call",rawType:"response_item/function_call",preview:`${i}(${(h=n).length<=80?h:h.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:s??`codex-${g}`,name:i,input:o}],toolName:i,toolUseId:s,model:a,raw:t});continue}if("response_item"===y&&"function_call_output"===M){let i="string"==typeof w.call_id?w.call_id:void 0,s="string"==typeof w.output?w.output:"",n=/process exited with code [1-9]/i.test(s);c.push({index:g++,timestamp:e,role:"tool-result",rawType:"response_item/function_call_output",preview:Q(s),blocks:[{type:"tool_result",tool_use_id:i??"",content:s,is_error:n}],toolUseId:i,toolResult:s,raw:t});continue}c.push({index:g++,timestamp:e,role:"meta",rawType:M?`${y}/${M}`:y,preview:"",blocks:[],raw:t})}if(p.input>0||p.output>0){let e=-1;for(let t=c.length-1;t>=0;t--){let i=c[t].role;if("agent"===i||"agent-thinking"===i||"tool-call"===i){e=t;break}}if(e>=0){let i=c[e];i.messageId=`codex-${t.sessionId}-total`,i.usage={input:p.input,output:p.output,cacheRead:p.cacheRead,cacheWrite:0}}}let w=i?Date.parse(i):void 0;if(void 0!==w&&Number.isFinite(w)){let t;for(let e of c){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-w),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let M=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],n=e[0];for(let t=1;t<e.length;t++)e[t]-n>18e4&&(i.push({startMs:s,endMs:n}),s=e[t]),n=e[t];return i.push({startMs:s,endMs:n}),i}(f),v=M.reduce((t,e)=>t+(e.endMs-e.startMs),0),_=i&&s?Date.parse(s)-Date.parse(i):void 0,k=n?y(n):void 0,j=k?.projectName??"(unknown)",N=n?n.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:t.sessionId,filePath:t.filePath,projectName:j,worktreeName:k?.worktreeName,repoName:k?.repoName,projectDir:N,sessionId:t.sessionId,firstTimestamp:i,lastTimestamp:s,durationMs:_&&Number.isFinite(_)?_:void 0,eventCount:c.length,model:a,cwd:n,totalUsage:p,status:"idle",firstUserPreview:r,lastUserPreview:l,lastAgentPreview:u,toolCallCount:d,turnCount:m,airTimeMs:v,activeSegments:M},events:c}}function X(t){return"number"==typeof t&&Number.isFinite(t)?t:void 0}let tt=new Map,te=new Map;async function ti(t={}){let e=t.root??q,i=await Y(e),s=[];for(let t of i){let e=tt.get(t.filePath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes){s.push(e.meta);continue}try{let e=await Z(t.filePath),{meta:i}=V(t,e);tt.set(t.filePath,{meta:i,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),s.push(i)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function ts(t,e={}){let i=e.root??q,s=(await Y(i)).find(e=>e.sessionId===t);if(!s)return null;let n=te.get(s.filePath);if(n&&n.mtimeMs===s.mtimeMs&&n.sizeBytes===s.sizeBytes)return n.detail;let a=await Z(s.filePath),{meta:o,events:r}=V(s,a),l={...o,events:r};return te.set(s.filePath,{detail:l,mtimeMs:s.mtimeMs,sizeBytes:s.sizeBytes}),l}async function tn(t={}){let e=t.root??q,i=await Y(e);if(0===i.length)return null;for(let t of(i.sort((t,e)=>e.mtimeMs-t.mtimeMs),i)){let e=await Z(t.filePath);for(let i=e.length-1;i>=0;i--){let s=e[i];if("object"!=typeof s||null===s||"event_msg"!==s.type)continue;let n=s.payload??{};if("token_count"!==n.type)continue;let a=n.rate_limits??null;if(!a)continue;let o=a.primary??null,r=a.secondary??null;if(void 0===X(o?.used_percent)&&void 0===X(r?.used_percent))continue;let l=X(o?.used_percent),u=X(r?.used_percent),c=X(o?.resets_at),p=X(r?.resets_at),d="string"==typeof a.plan_type?a.plan_type:null,m=Date.now(),f=void 0!==c&&m>1e3*c,g=void 0!==p&&m>1e3*p;return{five_hour:{utilization:f?0:l??null,resets_at:void 0!==c?new Date(1e3*c).toISOString():null},seven_day:{utilization:g?0:u??null,resets_at:void 0!==p?new Date(1e3*p).toISOString():null},plan_type:d,source_path:t.filePath}}}return null}let ta=n.default.join(s.default.homedir(),".gemini","tmp"),to=n.default.join(s.default.homedir(),".gemini","projects.json"),tr=/^session-.+\.(jsonl|json)$/;async function tl(t){return i.promises.readdir(t).catch(()=>[])}async function tu(t){let e=[];for(let s of(await tl(t))){let a=n.default.join(t,s,"chats");for(let t of(await tl(a))){if(!tr.test(t))continue;let o=n.default.join(a,t),r=await i.promises.stat(o).catch(()=>null);if(!r||!r.isFile())continue;let l=t.replace(/\.(jsonl|json)$/,"").split("-").pop()??t;e.push({filePath:o,slug:s,filenameId:l,format:t.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:r.mtimeMs,sizeBytes:r.size})}}return e}let tc=null;async function tp(){let t,e=await i.promises.stat(to).catch(()=>null);if(!e)return new Map;if(tc&&tc.mtimeMs===e.mtimeMs)return tc.slugToCwd;let s=await i.promises.readFile(to,"utf8").catch(()=>"");try{t=JSON.parse(s)}catch{t={}}let n=new Map;for(let[e,i]of Object.entries(t.projects??{}))"string"==typeof i&&n.set(i,e);return tc={mtimeMs:e.mtimeMs,slugToCwd:n},n}function td(t){return!!t&&"object"==typeof t&&"string"==typeof t.id&&"string"==typeof t.type}async function tm(t){let e=await i.promises.readFile(t.filePath,"utf8");if("legacy-json"===t.format){let t;try{t=JSON.parse(e)}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(td)}}let s={},n=new Map,a=[];for(let t of e.split("\n")){let e,i=t.trim();if(i){var o,r;try{e=JSON.parse(i)}catch{continue}if((o=e)&&"object"==typeof o&&"$rewindTo"in o){let t=e.$rewindTo,i=a.indexOf(t);if(i>=0){for(let t of a.slice(i))n.delete(t);a.length=i}continue}if((r=e)&&"object"==typeof r&&"$set"in r){Object.assign(s,e.$set);continue}if(td(e)){n.has(e.id)||a.push(e.id),n.set(e.id,e);continue}if("object"==typeof e&&null!==e){let t=e;"string"!=typeof t.sessionId||s.sessionId||(s.sessionId=t.sessionId,"string"==typeof t.projectHash&&(s.projectHash=t.projectHash),"string"==typeof t.startTime&&(s.startTime=t.startTime),"string"==typeof t.lastUpdated&&(s.lastUpdated=t.lastUpdated),"string"==typeof t.summary&&(s.summary=t.summary))}}}let l=[];for(let t of a){let e=n.get(t);e&&l.push(e)}return{meta:s,messages:l}}function tf(t){return t.replace(/\s+/g," ").trim().slice(0,200)}function tg(t){if(!t)return"";if("string"==typeof t)return t;let e=Array.isArray(t)?t:[t],i=[];for(let t of e){if(!t||"object"!=typeof t)continue;if("string"==typeof t.text){i.push(t.text);continue}let e=t.functionResponse;if(e){let t=e.response;"string"==typeof t?i.push(t):t&&"object"==typeof t&&("string"==typeof t.output?i.push(t.output):"string"==typeof t.error?i.push(`error: ${t.error}`):i.push(JSON.stringify(t)))}}return i.join("\n")}async function ty(t){let e,i,s,n,a,r,{meta:l,messages:u}=await tm(t),c=(await tp()).get(t.slug),p=[],d={input:0,output:0,cacheRead:0,cacheWrite:0},m=0,f=0,g=[],h=0;function w(t){if(p.push(t),t.timestamp&&"meta"!==t.role){e||(e=t.timestamp),i=t.timestamp;let s=Date.parse(t.timestamp);Number.isFinite(s)&&g.push(s)}}for(let t of u){let e=t.timestamp;if("user"===t.type){let i=tg(t.displayContent??t.content),s=tf(i),r=(0,o.isFrameworkInjectedUserInput)(i);i&&!r&&(n||(n=s),a=s,f+=1),w({index:h++,timestamp:e,role:"user",rawType:"gemini/user",preview:s,blocks:i?[{type:"text",text:i}]:[],messageId:t.id,raw:t});continue}if("gemini"===t.type){let i;"string"==typeof t.model&&(s=t.model);let n=tg(t.content),a=tf(n);if(n&&(r=a),t.tokens){let e=t.tokens,s={input:e.input??0,output:e.output??0,cacheRead:e.cached??0,cacheWrite:0};i=s,d.input+=s.input,d.output+=s.output,d.cacheRead+=s.cacheRead}for(let i of t.thoughts??[]){let t=[i.subject,i.description].filter(Boolean).join(": ");t&&w({index:h++,timestamp:i.timestamp??e,role:"agent-thinking",rawType:"gemini/thought",preview:tf(t),blocks:[{type:"thinking",thinking:t}],model:s,raw:i})}for(let o of(n?w({index:h++,timestamp:e,role:"agent",rawType:"gemini/agent",preview:a,blocks:[{type:"text",text:n}],messageId:t.id,model:s,usage:i,raw:t}):i&&w({index:h++,timestamp:e,role:"agent",rawType:"gemini/agent",preview:"",blocks:[],messageId:t.id,model:s,usage:i,raw:t}),t.toolCalls??[])){m+=1;let t=o.args?JSON.stringify(o.args):"";w({index:h++,timestamp:o.timestamp??e,role:"tool-call",rawType:"gemini/tool_call",preview:`${o.name}(${t.length<=80?t:t.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 t=tg(o.result);w({index:h++,timestamp:o.timestamp??e,role:"tool-result",rawType:"gemini/tool_result",preview:tf(t),blocks:[{type:"tool_result",tool_use_id:o.id,content:t,is_error:"error"===i||"cancelled"===i}],toolUseId:o.id,toolResult:t,raw:o})}}continue}if("info"===t.type||"warning"===t.type||"error"===t.type){let i=tg(t.content);w({index:h++,timestamp:e,role:"meta",rawType:`gemini/${t.type}`,preview:tf(i),blocks:i?[{type:"text",text:i}]:[],raw:t});continue}}let M=e?Date.parse(e):void 0;if(void 0!==M&&Number.isFinite(M)){let t;for(let e of p){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-M),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let v=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],n=e[0];for(let t=1;t<e.length;t++)e[t]-n>18e4&&(i.push({startMs:s,endMs:n}),s=e[t]),n=e[t];return i.push({startMs:s,endMs:n}),i}(g),_=v.reduce((t,e)=>t+(e.endMs-e.startMs),0),k=e&&i?Date.parse(i)-Date.parse(e):void 0,j=l.sessionId??t.filenameId,N=c?y(c):void 0,b=N?.projectName??t.slug,T=c?c.replace(/^\//,"-").replace(/\//g,"-"):t.slug;return{meta:{agent:"gemini",id:j,filePath:t.filePath,projectName:b,worktreeName:N?.worktreeName,repoName:N?.repoName,projectDir:T,sessionId:j,firstTimestamp:e,lastTimestamp:i,durationMs:k&&Number.isFinite(k)?k:void 0,eventCount:p.length,model:s,cwd:c,totalUsage:d,status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:r,toolCallCount:m,turnCount:f,airTimeMs:_,activeSegments:v},events:p}}let th=new Map,tw=new Map;async function tM(t={}){let e=t.root??ta,i=await tu(e),s=[];for(let t of i){let e=th.get(t.filePath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes){s.push(e.meta);continue}try{let{meta:e}=await ty(t);th.set(t.filePath,{meta:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),s.push(e)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function tv(t,e={}){let i,s=e.root??ta,n=await tu(s);for(let e of n)if(e.filenameId===t||t.startsWith(e.filenameId)){i=e;break}if(!i)for(let e of n){let{meta:s}=await ty(e).catch(()=>({meta:{id:""}}));if(s.id===t){i=e;break}}if(!i)return null;let a=tw.get(i.filePath);if(a&&a.mtimeMs===i.mtimeMs&&a.sizeBytes===i.sizeBytes)return a.detail;let{meta:o,events:r}=await ty(i),l={...o,events:r};return tw.set(i.filePath,{detail:l,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes}),l}let t_=n.default.join(s.default.homedir(),".gemini","antigravity-cli");async function tk(t){return i.promises.readdir(t).catch(()=>[])}let tj=null;async function tN(t){let e=n.default.join(t,"history.jsonl"),s=await i.promises.stat(e).catch(()=>null);if(!s)return new Map;if(tj&&tj.mtimeMs===s.mtimeMs)return tj.slugToCwd;let a=await i.promises.readFile(e,"utf8").catch(()=>""),o=new Map;for(let t of a.split("\n")){let e=t.trim();if(e)try{let t=JSON.parse(e);t.conversationId&&t.workspace&&o.set(t.conversationId,t.workspace)}catch{}}return tj={mtimeMs:s.mtimeMs,slugToCwd:o},o}async function tb(t){let e=await tN(t),s=[],a=n.default.join(t,"brain");for(let t of(await tk(a))){let o=n.default.join(a,t,".system_generated","logs","transcript.jsonl"),r=await i.promises.stat(o).catch(()=>null);r&&r.isFile()&&s.push({filePath:o,conversationId:t,cwd:e.get(t),mtimeMs:r.mtimeMs,sizeBytes:r.size})}return s}function tT(t){return t.replace(/\s+/g," ").trim().slice(0,200)}async function tx(t){let e,s,n,a,r,l,u=await i.promises.readFile(t.filePath,"utf8"),c=[],p=0,d=0,m=[],f=0;function g(t){if(c.push(t),t.timestamp&&"meta"!==t.role){e||(e=t.timestamp),s=t.timestamp;let i=Date.parse(t.timestamp);Number.isFinite(i)&&m.push(i)}}let h=[],w=[],M=new Map;for(let t of u.split("\n")){let e=t.trim();if(e)try{let t=JSON.parse(e),i=t.step_index;"number"==typeof i?M.has(i)?w[M.get(i)]=t:(M.set(i,w.length),w.push(t)):w.push(t)}catch{}}for(let t of w){let e=t.created_at||t.timestamp;if("USER_INPUT"===t.type){if("string"==typeof t.content){let e=t.content.match(/Model Selection` from .*? to (.*?)\.\s*No need to/);if(e){let t=e[1].trim();n=t=t.replace(/\s*\(.*?\)\s*$/,"").trim()}else{let e=t.content.match(/Model Selection` from .*? to ([^\n]+)/);if(e){let t=e[1].trim();t.endsWith(".")&&(t=t.slice(0,-1).trim()),n=t=t.replace(/\s*\(.*?\)\s*$/,"").trim()}}}let i=t.content||"",s=i.match(/<USER_REQUEST>([\s\S]*?)<\/USER_REQUEST>/);s&&(i=s[1].trim());let l=tT(i),u=(0,o.isFrameworkInjectedUserInput)(i);i&&!u&&(a||(a=l),r=l,d+=1),g({index:f++,timestamp:e,role:"user",rawType:"antigravity/user",preview:l,blocks:i?[{type:"text",text:i}]:[],messageId:t.step_index?.toString(),raw:t});continue}if("PLANNER_RESPONSE"===t.type){let i=t.thinking,s=t.content;if(i&&g({index:f++,timestamp:e,role:"agent-thinking",rawType:"antigravity/thought",preview:tT(i),blocks:[{type:"thinking",thinking:i}],model:n,raw:t}),s){let i=tT(s);l=i,g({index:f++,timestamp:e,role:"agent",rawType:"antigravity/agent",preview:i,blocks:[{type:"text",text:s}],messageId:t.step_index?.toString(),model:n,raw:t})}let a=t.tool_calls||[];for(let i=0;i<a.length;i++){let s=a[i];p+=1;let o=`tool-${t.step_index}-${i}`,r=s.args?JSON.stringify(s.args):"";h.push({id:o,name:s.name}),g({index:f++,timestamp:e,role:"tool-call",rawType:"antigravity/tool_call",preview:`${s.name}(${r.length<=80?r:r.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o,name:s.name,input:s.args||{}}],toolName:s.name,toolUseId:o,model:n,raw:s})}continue}if("MODEL"===t.source&&"PLANNER_RESPONSE"!==t.type&&"ERROR_MESSAGE"!==t.type&&h.length>0){let i=h.shift(),s=i?i.id:`tool-${t.step_index}-unknown`,n="string"==typeof t.content?t.content:JSON.stringify(t.content||""),a="ERROR"===t.status||"FAILED"===t.status||"CANCELED"===t.status||!!t.error;g({index:f++,timestamp:e,role:"tool-result",rawType:"antigravity/tool_result",preview:tT(n),blocks:[{type:"tool_result",tool_use_id:s,content:n,is_error:a}],toolUseId:s,toolResult:n,raw:t});continue}let i=t.content||t.error||"";g({index:f++,timestamp:e,role:"meta",rawType:`antigravity/${t.type?.toLowerCase()||"unknown"}`,preview:tT(i),blocks:i?[{type:"text",text:i}]:[],raw:t})}let v=e?Date.parse(e):void 0;if(void 0!==v&&Number.isFinite(v)){let t;for(let e of c){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-v),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let _=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],n=e[0];for(let t=1;t<e.length;t++)e[t]-n>18e4&&(i.push({startMs:s,endMs:n}),s=e[t]),n=e[t];return i.push({startMs:s,endMs:n}),i}(m),k=_.reduce((t,e)=>t+(e.endMs-e.startMs),0),j=e&&s?Date.parse(s)-Date.parse(e):void 0,N=t.conversationId,b=t.cwd,T=b?y(b):void 0,x=T?.projectName??t.conversationId,I=b?b.replace(/^\//,"-").replace(/\//g,"-"):t.conversationId;return{meta:{agent:"antigravity",id:N,filePath:t.filePath,projectName:x,worktreeName:T?.worktreeName,repoName:T?.repoName,projectDir:I,sessionId:N,firstTimestamp:e,lastTimestamp:s,durationMs:j&&Number.isFinite(j)?j:void 0,eventCount:c.length,model:n,cwd:b,totalUsage:{input:0,output:0,cacheRead:0,cacheWrite:0},status:"idle",firstUserPreview:a,lastUserPreview:r,lastAgentPreview:l,toolCallCount:p,turnCount:d,airTimeMs:k,activeSegments:_},events:c}}let tI=new Map,tA=new Map;async function tC(t={}){let e=t.root??t_,i=await tb(e),s=[];for(let t of i){let e=tI.get(t.filePath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes&&e.cwd===t.cwd){s.push(e.meta);continue}try{let{meta:e}=await tx(t);tI.set(t.filePath,{meta:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes,cwd:t.cwd}),s.push(e)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function tS(t,e={}){let i,s=e.root??t_;for(let e of(await tb(s)))if(e.conversationId===t){i=e;break}if(!i)return null;let n=tA.get(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 tx(i),r={...a,events:o};return tA.set(i.filePath,{detail:r,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes,cwd:i.cwd}),r}let tD=(e=s.default.homedir(),n.default.join(e,".config","Claude","local-agent-mode-sessions")),tP=/^local_[0-9a-f-]+$/;async function tR(t){return i.promises.readdir(t).catch(()=>[])}async function tU(t){let e=await i.promises.stat(t).catch(()=>null);return e?e.mtimeMs:0}async function tO(t){let e=[];for(let s of(await tR(t))){let a=n.default.join(t,s);for(let t of(await tR(a))){let s=n.default.join(a,t),o=await tU(n.default.join(s,"spaces.json"));for(let t of(await tR(s))){if(!tP.test(t))continue;let a=n.default.join(s,t,"audit.jsonl"),r=await i.promises.stat(a).catch(()=>null);if(!r||!r.isFile()||0===r.size)continue;let l=n.default.join(s,`${t}.json`),u=await tU(l);e.push({sessionId:t,auditPath:a,metaPath:l,workspaceDir:s,auditMtimeMs:r.mtimeMs,auditSize:r.size,metaMtimeMs:u,spacesMtimeMs:o})}}}return e}let tF=new Map;async function tB(t){let e=n.default.join(t,"spaces.json"),s=await i.promises.stat(e).catch(()=>null);if(!s)return new Map;let a=tF.get(t);if(a&&a.mtimeMs===s.mtimeMs)return a.spaceIdToPath;let o=await i.promises.readFile(e,"utf8").catch(()=>""),r=new Map;try{for(let t of JSON.parse(o).spaces??[]){let e="string"==typeof t.id?t.id:void 0,i=(Array.isArray(t.folders)?t.folders:[])[0],s="string"==typeof i?.path?i.path:void 0;e&&s&&r.set(e,s)}}catch{}return tF.set(t,{mtimeMs:s.mtimeMs,spaceIdToPath:r}),r}async function tz(t){let e=await i.promises.readFile(t,"utf8").catch(()=>"");if(!e)return{};try{let t=JSON.parse(e);return{spaceId:"string"==typeof t.spaceId?t.spaceId:void 0,userSelectedFolders:Array.isArray(t.userSelectedFolders)?t.userSelectedFolders.filter(t=>"string"==typeof t):void 0,cwd:"string"==typeof t.cwd?t.cwd:void 0,model:"string"==typeof t.model?t.model:void 0,title:"string"==typeof t.title?t.title:void 0,createdAt:"number"==typeof t.createdAt?t.createdAt:void 0,lastActivityAt:"number"==typeof t.lastActivityAt?t.lastActivityAt:void 0}}catch{return{}}}async function t$(t){let e=await i.promises.readFile(t,"utf8"),s=[];for(let t of e.split("\n")){let e=t.trim();if(e)try{s.push(JSON.parse(e))}catch{}}return s}async function tW(t){let e,[i,s,n]=await Promise.all([t$(t.auditPath),tz(t.metaPath),tB(t.workspaceDir)]),a=(e=new Map,i.forEach((t,s)=>{if("string"!=typeof t.uuid)return;let n=e.get(t.uuid);void 0===n?e.set(t.uuid,s):void 0===i[n].timestamp&&void 0!==t.timestamp&&e.set(t.uuid,s)}),i.filter((t,i)=>"string"!=typeof t.uuid||e.get(t.uuid)===i)),{mainLines:o,subagentGroups:r}=function(t){let e=[],i=new Map;for(let s of t){let t=s.parent_tool_use_id;if("string"==typeof t){let e=i.get(t);e?e.push(s):i.set(t,[s])}else e.push(s)}return{mainLines:e,subagentGroups:i}}(a),{meta:l,events:u}=m(o),c=function(t,e,i){if(0===t.size)return[];let s=new Map;for(let i of e){let e=i.message?.content;if(Array.isArray(e)){for(let n of e)if(n&&"object"==typeof n){if("tool_use"===n.type&&"Agent"===n.name&&"string"==typeof n.id){let t=n.input??{},e=s.get(n.id)??{};"string"==typeof i.uuid&&(e.parentUuid=i.uuid),"string"==typeof t.description&&(e.description=t.description),"string"==typeof t.subagent_type&&(e.agentType=t.subagent_type),"string"==typeof t.prompt&&(e.prompt=t.prompt),s.set(n.id,e)}else if("tool_result"===n.type&&"string"==typeof n.tool_use_id&&t.has(n.tool_use_id)){let t=s.get(n.tool_use_id)??{};t.finalText=function(t){if("string"==typeof t)return t;if(Array.isArray(t)){let e=[];for(let i of t)if(i&&"object"==typeof i&&"text"===i.type){let t=i.text;"string"==typeof t&&e.push(t)}if(e.length)return e.join("\n")}}(n.content)??t.finalText,s.set(n.tool_use_id,t)}}}}let n=[];for(let[e,a]of t){let t=W(a),o=s.get(e)??{},r=o.finalText??t.finalText,l=r?r.replace(/\s+/g," ").trim().slice(0,240):t.finalPreview,u=void 0!==i&&void 0!==t.startMs?Math.max(0,t.startMs-i):void 0,c=void 0!==i&&void 0!==t.endMs?Math.max(0,t.endMs-i):void 0,p=void 0!==t.startMs&&void 0!==t.endMs?t.endMs-t.startMs:void 0;n.push({agentId:e,agentType:o.agentType??"unknown",description:o.description??(o.prompt?o.prompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),startMs:t.startMs,endMs:t.endMs,durationMs:p,startTOffsetMs:u,endTOffsetMs:c,eventCount:t.eventCount,totalUsage:t.totalUsage,parentUuid:o.parentUuid,parentToolUseId:e,runInBackground:!1,finalPreview:l,finalText:r,prompt:o.prompt,model:t.model,toolCalls:t.toolCalls,toolCallCount:t.toolCallCount,assistantMessageCount:t.assistantMessageCount})}return n.sort((t,e)=>(t.startMs??0)-(e.startMs??0)),n}(r,a,l.firstTimestamp?Date.parse(l.firstTimestamp):void 0),{projectName:p,projectDir:d,cwd:f}=function(t,e){let i;if(t.spaceId&&(i=e.get(t.spaceId)),!i&&t.userSelectedFolders&&t.userSelectedFolders.length>0&&(i=t.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:t.sessionId,sessionId:t.sessionId,filePath:t.auditPath,projectName:p,projectDir:d,cwd:f??l.cwd,model:l.model??s.model},events:u,subagents:c}}function tE(t){return{auditMtimeMs:t.auditMtimeMs,auditSize:t.auditSize,metaMtimeMs:t.metaMtimeMs,spacesMtimeMs:t.spacesMtimeMs}}function tJ(t,e){return t.auditMtimeMs===e.auditMtimeMs&&t.auditSize===e.auditSize&&t.metaMtimeMs===e.metaMtimeMs&&t.spacesMtimeMs===e.spacesMtimeMs}let tL=new Map,tG=new Map;async function tq(t={}){let e=t.root??tD,i=await tO(e),s=[];for(let t of i){let e=tE(t),i=tL.get(t.auditPath);if(i&&tJ(i.key,e)){s.push(i.meta);continue}try{let{meta:i}=await tW(t);tL.set(t.auditPath,{meta:i,key:e}),s.push(i)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function tH(t,e={}){let i=e.root??tD,s=(await tO(i)).find(e=>e.sessionId===t);if(!s)return null;let n=tE(s),a=tG.get(s.auditPath);if(a&&tJ(a.key,n))return a.detail;let{meta:o,events:r,subagents:l}=await tW(s),u={...o,events:r,...l.length?{subagents:l}:{}};return tG.set(s.auditPath,{detail:u,key:n}),u}function tK(){let t=process.env.GROK_HOME||n.default.join(s.default.homedir(),".grok");return n.default.join(t,"sessions")}let tY=n.default.join(s.default.homedir(),".grok","sessions");async function tZ(t){return i.promises.readdir(t).catch(()=>[])}async function tQ(t){let e=await i.promises.readFile(t,"utf8").catch(()=>null);if(null==e)return null;try{return JSON.parse(e)}catch{return null}}async function tV(t,e){let s=n.default.join(t,".cwd"),a=await i.promises.readFile(s,"utf8").catch(()=>null);if(a&&a.trim())return a.trim();try{return decodeURIComponent(e)}catch{return e}}async function tX(t){let e=[];for(let s of(await tZ(t))){if("session_search.sqlite"===s||s.startsWith("."))continue;let a=n.default.join(t,s),o=await i.promises.stat(a).catch(()=>null);if(!o?.isDirectory())continue;let r=await tV(a,s);for(let t of(await tZ(a))){if("prompt_history.jsonl"===t||t.startsWith("."))continue;let o=n.default.join(a,t),l=n.default.join(o,"summary.json"),u=n.default.join(o,"updates.jsonl"),c=n.default.join(o,"signals.json"),[p,d,m]=await Promise.all([i.promises.stat(l).catch(()=>null),i.promises.stat(u).catch(()=>null),i.promises.stat(c).catch(()=>null)]);if(!p?.isFile())continue;let f=Math.max(p.mtimeMs,d?.mtimeMs??0),g=(d?.size??0)+p.size;e.push({dirPath:o,updatesPath:u,summaryPath:l,signalsPath:m?.isFile()?c:null,sessionId:t,groupName:s,decodedCwd:r,mtimeMs:f,sizeBytes:g})}}return e}function t0(){return{input:0,output:0,cacheRead:0,cacheWrite:0}}function t1(t){return t.replace(/\s+/g," ").trim().slice(0,200)}function t2(t){return t?"string"==typeof t?t:"string"==typeof t.text?t.text:"":""}async function t8(t){let e,s,n,a,r,[l,u,c]=await Promise.all([tQ(t.summaryPath),t.signalsPath?tQ(t.signalsPath):Promise.resolve(null),i.promises.readFile(t.updatesPath,"utf8").catch(()=>"")]),p=l?.info?.id??t.sessionId,d=l?.info?.cwd??t.decodedCwd,m=l?.current_model_id??u?.primaryModelId??u?.modelsUsed?.[0],f=[],g=t0();u?.contextTokensUsed&&u.contextTokensUsed>0&&(g.input=u.contextTokensUsed);let h=0,w=0,M=[],v=0,_=new Set,k=0;function j(t){f.push(t),function(t,i){if(!t||"meta"===i)return;e||(e=t),s=t;let n=Date.parse(t);Number.isFinite(n)&&M.push(n)}(t.timestamp,t.role)}let N=null;function b(){if(!N)return;let t=N.texts.join(""),e=t1(t);if("user"===N.kind){let i=!t||(0,o.isFrameworkInjectedUserInput)(t);t&&!i&&(n||(n=e),a=e,w+=1),t&&j({index:v++,timestamp:N.firstTs,role:"user",rawType:"grok/user_message",preview:e,blocks:[{type:"text",text:t}],messageId:N.promptId,raw:1===N.raw.length?N.raw[0]:N.raw})}else"agent"===N.kind?(t&&(r=e),t&&j({index:v++,timestamp:N.firstTs,role:"agent",rawType:"grok/agent_message",preview:e,blocks:[{type:"text",text:t}],messageId:N.promptId,model:N.model??m,raw:1===N.raw.length?N.raw[0]:N.raw})):"thought"===N.kind&&t&&j({index:v++,timestamp:N.firstTs,role:"agent-thinking",rawType:"grok/agent_thought",preview:e,blocks:[{type:"thinking",thinking:t}],messageId:N.promptId,model:N.model??m,raw:1===N.raw.length?N.raw[0]:N.raw});N=null}function T(t,e,i,s,n,a){(e||"user"!==t)&&(N&&N.kind!==t&&b(),N||(N={kind:t,texts:[],firstTs:i,lastTs:i,model:n,promptId:s,raw:[]}),e&&N.texts.push(e),N.lastTs=i??N.lastTs,n&&(N.model=n),s&&(N.promptId=s),N.raw.push(a))}for(let t of c.split("\n")){let e,i=t.trim();if(!i)continue;try{e=JSON.parse(i)}catch{continue}let s=e.params?.update;if(!s||"object"!=typeof s)continue;let n=s.sessionUpdate;if(!n)continue;let a=function(t){let e=t.params?._meta,i=e&&"number"==typeof e.agentTimestampMs?e.agentTimestampMs:void 0;if(null!=i&&Number.isFinite(i))return new Date(i).toISOString();let s=t.timestamp;if("number"==typeof s&&Number.isFinite(s))return new Date(s>1e12?s:1e3*s).toISOString()}(e),o=e.params?._meta??{},r=s._meta??{},l="string"==typeof o.promptId&&o.promptId||"string"==typeof r.promptId&&r.promptId||void 0,u="string"==typeof r.modelId&&r.modelId||"string"==typeof o.modelId&&o.modelId||void 0;u&&(m=u);let c=o.totalTokens;if("number"==typeof c&&c>k&&(k=c),"user_message_chunk"===n){T("user",t2(s.content),a,l,u,e);continue}if("agent_message_chunk"===n){T("agent",t2(s.content),a,l,u,e);continue}if("agent_thought_chunk"===n){T("thought",t2(s.content),a,l,u,e);continue}if(b(),"tool_call"===n){let t="string"==typeof s.toolCallId?s.toolCallId:`grok-${v}`,i=function(t){let e=t._meta;if(e&&"object"==typeof e){let t=e["x.ai/tool"];if(t&&"object"==typeof t){let e=t.name;if("string"==typeof e&&e)return e}}return"string"==typeof t.title&&t.title?(!t.title.includes(" ")&&!t.title.includes("`"),t.title):"tool"}(s),n=s.rawInput??{},o=n?JSON.stringify(n):"";h+=1,j({index:v++,timestamp:a,role:"tool-call",rawType:"grok/tool_call",preview:`${i}(${o.length<=80?o:o.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:t,name:i,input:n}],toolName:i,toolUseId:t,model:m,raw:e});continue}if("tool_call_update"===n){let t=function(t){let e=t.status;return"string"==typeof e?e:e&&"object"==typeof e&&"string"==typeof e.status?e.status:void 0}(s);if("completed"!==t&&"failed"!==t&&"error"!==t&&"cancelled"!==t)continue;let i="string"==typeof s.toolCallId?s.toolCallId:"";if(i&&_.has(i))continue;i&&_.add(i);let n=function(t){let e=t.content;if(Array.isArray(e)){let t=[];for(let i of e){if(!i||"object"!=typeof i)continue;if("string"==typeof i.text&&i.text){t.push(i.text);continue}let e=i.content;"string"==typeof e&&e?t.push(e):e&&"object"==typeof e&&"string"==typeof e.text&&t.push(e.text)}if(t.length)return t.join("\n")}let i=t.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 t=i.Content;if("string"==typeof t.content)return t.content}if(i.TodosUpdated&&"object"==typeof i.TodosUpdated){let t=i.TodosUpdated;if("string"==typeof t.summary_for_prompt)return t.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)}(s),o="failed"===t||"error"===t||"cancelled"===t;j({index:v++,timestamp:a,role:"tool-result",rawType:"grok/tool_result",preview:t1(n),blocks:[{type:"tool_result",tool_use_id:i,content:n,is_error:o||void 0}],toolUseId:i||void 0,toolResult:n,raw:e});continue}if("turn_completed"===n)continue}b(),0===g.input&&k>0&&(g.input=k),!e&&l?.created_at&&(e=l.created_at),s||(s=l?.last_active_at??l?.updated_at??e),u?.toolCallCount!=null&&u.toolCallCount>h&&(h=u.toolCallCount),u?.turnCount!=null&&u.turnCount>w&&(w=u.turnCount);let x=e?Date.parse(e):void 0;if(void 0!==x&&Number.isFinite(x)){let t;for(let e of f){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-x),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let I=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],n=e[0];for(let t=1;t<e.length;t++){let a=e[t];a-n>18e4&&(i.push({startMs:s,endMs:n}),s=a),n=a}return i.push({startMs:s,endMs:n}),i}(M),A=I.reduce((t,e)=>t+(e.endMs-e.startMs),0),C=e&&s?Date.parse(s)-Date.parse(e):void 0,S=d?y(d):void 0,D=S?.projectName??d??t.decodedCwd,P=t.groupName||(d?encodeURIComponent(d):"(unknown)");if(!n){let t=l?.generated_title||l?.session_summary;t&&(n=t1(t))}let R=await t3(t.dirPath);return{meta:{agent:"grok",id:p,filePath:t.updatesPath,projectName:D,worktreeName:S?.worktreeName,repoName:S?.repoName,projectDir:P,sessionId:p,firstTimestamp:e,lastTimestamp:s,lastActivityMs:s?Date.parse(s):void 0,durationMs:C&&Number.isFinite(C)?C:void 0,eventCount:f.length,model:m,cwd:d,gitBranch:l?.head_branch,agentName:l?.agent_name,totalUsage:g,status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:r,toolCallCount:h,turnCount:w,linesAdded:u?.agentLinesAdded,linesRemoved:u?.agentLinesRemoved,airTimeMs:A,activeSegments:I,...R>0?{spawnedAgentCount:R}:{}},events:f,sessionKind:l?.session_kind}}async function t3(t){let e=n.default.join(t,"subagents"),s=await tZ(e),a=0;for(let t of s){let s=await i.promises.stat(n.default.join(e,t)).catch(()=>null);s?.isDirectory()&&(a+=1)}return a}async function t4(t,e){let i=n.default.join(t.dirPath,"subagents"),s=await tZ(i),a=n.default.dirname(t.dirPath),o=[];for(let t of s){let s=n.default.join(i,t,"meta.json"),r=await tQ(s);if(!r)continue;let l=r.child_session_id??r.subagent_id??t,u=n.default.join(a,l),[c,p]=await Promise.all([tQ(n.default.join(u,"summary.json")),tQ(n.default.join(u,"signals.json"))]),d=c?.created_at?Date.parse(c.created_at):void 0,m=c?.last_active_at??c?.updated_at,f=m?Date.parse(m):void 0,g=void 0!==d&&Number.isFinite(d)?d:void 0,y=void 0!==f&&Number.isFinite(f)?f:void 0,h=t0();p?.contextTokensUsed&&(h.input=p.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!==e&&void 0!==g?Math.max(0,g-e):void 0,endTOffsetMs:void 0!==e&&void 0!==y?Math.max(0,y-e):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??p?.primaryModelId,toolCallCount:p?.toolCallCount})}return o.sort((t,e)=>(t.startMs??0)-(e.startMs??0)),o}let t9=new Map,t6=new Map;async function t7(t={}){let e=t.root??tK(),i=await tX(e),s=[];for(let t of i){let e=await tQ(t.summaryPath);if(e?.session_kind==="subagent")continue;let i=t9.get(t.dirPath);if(i&&i.mtimeMs===t.mtimeMs&&i.sizeBytes===t.sizeBytes){s.push(i.meta);continue}try{let{meta:e,sessionKind:i}=await t8(t);if("subagent"===i)continue;t9.set(t.dirPath,{meta:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),s.push(e)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function t5(t,e={}){let i=e.root??tK(),s=await tX(i),n=s.find(e=>e.sessionId===t);if(!n){for(let e of s)try{let{meta:i,events:s}=await t8(e);if(i.id===t){let t={...i,events:s};return t6.set(e.dirPath,{detail:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),t}}catch{}return null}let a=t6.get(n.dirPath);if(a&&a.mtimeMs===n.mtimeMs&&a.sizeBytes===n.sizeBytes)return a.detail;let{meta:o,events:r}=await t8(n),l=o.firstTimestamp?Date.parse(o.firstTimestamp):void 0,u=await t4(n,void 0!==l&&Number.isFinite(l)?l:void 0),c={...o,events:r,...u.length>0?{subagents:u,spawnedAgentCount:u.length}:{}};return t6.set(n.dirPath,{detail:c,mtimeMs:n.mtimeMs,sizeBytes:n.sizeBytes}),t9.set(n.dirPath,{meta:{...o,...u.length>0?{spawnedAgentCount:u.length}:{}},mtimeMs:n.mtimeMs,sizeBytes:n.sizeBytes}),c}function et(){return process.env.CCLENS_HOME||n.default.join(s.default.homedir(),".cclens")}function ee(...t){return n.default.join(et(),...t)}function ei(t){T(t)}let es=[G,{...a.CODEX_METADATA,defaultRoot:q,listSessions:async t=>ti(t),getSession:async t=>ts(t),async usagePoller(){let t=await tn();return t?{captured_at:new Date().toISOString(),agent:"codex",five_hour:t.five_hour,seven_day:t.seven_day}:null}},{...a.GEMINI_METADATA,defaultRoot:ta,listSessions:async t=>tM(t),getSession:async t=>tv(t)},{...a.ANTIGRAVITY_METADATA,defaultRoot:t_,listSessions:async t=>tC(t),getSession:async t=>tS(t)},{...a.COWORK_METADATA,defaultRoot:tD,listSessions:async t=>tq(t),getSession:async t=>tH(t)},{...a.GROK_METADATA,defaultRoot:tY,listSessions:async t=>t7(t),getSession:async(t,e)=>t5(t,e)}];async function en(t={}){let e=await Promise.all(es.map(e=>e.listSessions(t))),i=[];for(let t of e)i.push(...t);return(i.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?i.slice(0,t.limit):i}async function ea(t){for(let e of es){let i=await e.getSession(t);if(i)return i}return null}function eo(){return ee("usage.jsonl")}function er(t){let e=eo();(0,i.mkdirSync)(n.default.dirname(e),{recursive:!0}),(0,i.appendFileSync)(e,JSON.stringify(t)+"\n","utf8")}function el(t){let e=eo();if(!(0,i.existsSync)(e))return;let s=(0,i.readFileSync)(e,"utf8").split("\n").filter(e=>{if(!e.trim())return!1;try{return JSON.parse(e).agent!==t}catch{return!0}});(0,i.mkdirSync)(n.default.dirname(e),{recursive:!0}),(0,i.writeFileSync)(e,s.join("\n")+(s.length?"\n":""),"utf8")}}];
|
|
1
|
+
module.exports=[39587,t=>{"use strict";let e={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:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"},n={kind:"antigravity",displayName:"Antigravity",shortLabel:"Agy",accentColor:"rgb(236, 72, 153)",iconChar:"⏃"},a={kind:"cowork",displayName:"Cowork",shortLabel:"Cowork",accentColor:"rgb(217, 119, 87)",iconChar:"⌘"},o={kind:"grok",displayName:"Grok Build",shortLabel:"Grok",accentColor:"rgb(100, 116, 139)",iconChar:"◈"},r=[e,i,s,n,a,{kind:"zai",displayName:"Z.ai",shortLabel:"Z.ai",accentColor:"rgb(59, 130, 246)",iconChar:"Z"},o];r.map(t=>t.kind),t.s(["ANTIGRAVITY_METADATA",0,n,"CLAUDE_CODE_METADATA",0,e,"CODEX_METADATA",0,i,"COWORK_METADATA",0,a,"GEMINI_METADATA",0,s,"GROK_METADATA",0,o,"agentMetadata",0,r])},36521,t=>{"use strict";let e=[/<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(t){if(!t)return t;let i=t;for(let t of e)i=i.replace(t,"");return i.trim()}t.s(["isFrameworkInjectedUserInput",0,function(t){if(!t)return!1;let e=s(t);if(!e)return!0;for(let t of i)if(e.startsWith(t))return!0;return!1},"stripFrameworkBoilerplate",0,s])},79357,t=>{"use strict";let e={input:0,output:0,cacheRead:0,cacheWrite:0},i=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],s=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/;function n(t){for(let e of i){let i=t.lastIndexOf(e);if(i>=0)return{idx:i,marker:e}}return null}function a(t){let e=s.exec(t);if(!e)return null;let i=e[1],n=+!!e[0].endsWith("/");return{canonicalEndIdx:e.index+e[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(t){let e=t.indexOf(o);if(e<0)return null;let i=t.slice(e+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:t.slice(0,e)+o+s,workspaceName:s}}function u(t){let e=t.replace(/\/{2,}/g,"/"),i=n(e);if(i)return e.slice(0,i.idx);let s=a(e);if(s)return e.slice(0,s.canonicalEndIdx);let o=l(e);return o?o.canonical:e}function d(t){let e=t.replace(/\/{2,}/g,"/"),i=n(e);if(i){let t=e.slice(i.idx+i.marker.length),s=t.indexOf("/");return s>=0?t.slice(0,s):t}let s=a(e);if(s)return s.workspaceName;let o=l(e);return o?o.workspaceName:null}function c(t){let e=u(t),i=e.replace(/\/+$/,"").split("/").filter(Boolean);return i[i.length-1]||e}function p(t){let i={sessionCount:t.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...e},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let e of t)i.totalDurationMs+=e.durationMs??0,i.totalAirTimeMs+=e.airTimeMs??e.durationMs??0,i.totalTokens.input+=e.totalUsage.input,i.totalTokens.output+=e.totalUsage.output,i.totalTokens.cacheRead+=e.totalUsage.cacheRead,i.totalTokens.cacheWrite+=e.totalUsage.cacheWrite,i.totalToolCalls+=e.toolCallCount??0,i.totalTurns+=e.turnCount??0,i.totalLinesAdded+=e.linesAdded??0,i.totalLinesRemoved+=e.linesRemoved??0,i.totalFilesEdited+=e.filesEdited??0;return t.length>0&&(i.avgTurnsPerSession=i.totalTurns/t.length,i.avgDurationMs=i.totalDurationMs/t.length),i}t.s(["canonicalProjectName",0,u,"computeBurstsFromSessions",0,function(t,e={}){let i=[];for(let e of t)e.activeSegments&&0!==e.activeSegments.length&&i.push({id:e.id,projectDir:e.projectDir,segments:e.activeSegments});return function(t,e){let i=e.minDurationMs??6e4,s=e.mergeGapMs??6e5,n=e.minActive??2,a=[];for(let e of t)for(let t of e.segments)t.endMs<=t.startMs||(a.push({ms:t.startMs,delta:1,sessionId:e.id}),a.push({ms:t.endMs,delta:-1,sessionId:e.id}));a.sort((t,e)=>t.ms-e.ms||e.delta-t.delta);let o=new Map,r=[],l=null;for(let t of a){if(1===t.delta)o.set(t.sessionId,(o.get(t.sessionId)??0)+1);else{let e=(o.get(t.sessionId)??0)-1;e<=0?o.delete(t.sessionId):o.set(t.sessionId,e)}let e=o.size;if(e>=n)if(l)for(let i of(l.endMs=t.ms,e>l.peak&&(l.peak=e),o.keys()))l.sessionIds.add(i);else l={startMs:t.ms,endMs:t.ms,peak:e,sessionIds:new Set(o.keys())};else l&&(l.endMs=t.ms,r.push(l),l=null)}l&&r.push(l);let u=r.filter(t=>t.endMs-t.startMs>=i),d=[];for(let t of u){let e=d[d.length-1];if(e&&t.startMs-e.endMs<=s)for(let i of(e.endMs=t.endMs,t.peak>e.peak&&(e.peak=t.peak),t.sessionIds))e.sessionIds.add(i);else d.push({startMs:t.startMs,endMs:t.endMs,peak:t.peak,sessionIds:new Set(t.sessionIds)})}let c=new Map;for(let e of t)c.set(e.id,e.projectDir);return d.map(t=>{let e=Array.from(new Set(Array.from(t.sessionIds).map(t=>c.get(t)).filter(t=>!!t)));return{startMs:t.startMs,endMs:t.endMs,peak:t.peak,sessionIds:Array.from(t.sessionIds),projectDirs:e,crossProject:e.length>1}})}(i,e)},"groupByProject",0,function(t){let e=new Map,i=function(t){let e=new Map;for(let i of t)i.repoName&&e.set(c(i.projectName),i.repoName);return t=>t.repoName??e.get(c(t.projectName))??c(t.projectName)}(t);for(let s of t){let t=i(s),n=e.get(t);n||(n={projectDir:t,projectName:t,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:p([]),perAgent:[],lastActiveMs:void 0},e.set(t,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 t of e.values()){t.metrics=p(t.sessions);let e=new Set;for(let i of t.sessions){let t=i.worktreeName??d(i.projectName)??(i.cwd?d(i.cwd):null);t&&e.add(t)}t.worktreeCount=e.size;let i=new Map;for(let e of t.sessions){let t=e.agent??"claude-code",s=i.get(t);s||(s={agent:t,sessions:0},i.set(t,s)),s.sessions+=1}t.perAgent=Array.from(i.values()).sort((t,e)=>e.sessions-t.sessions)}return Array.from(e.values()).sort((t,e)=>(e.lastActiveMs??0)-(t.lastActiveMs??0))},"projectKey",0,c,"toLocalDay",0,function(t){let e=new Date(t),i=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${i}-${s}-${n}`},"worktreeName",0,d])},43427,20629,t=>{"use strict";let e;t.s(["agentSources",()=>ea,"appendUsageSnapshot",()=>eu,"cclensHome",()=>ei,"cclensPath",()=>es,"getAnySession",()=>er,"invalidateFile",()=>en,"listAllSessions",()=>eo,"pruneUsageAgent",()=>ed],43427);var i=t.i(2157),s=t.i(60526),n=t.i(50227),a=t.i(39587),o=t.i(36521),r=t.i(79357);let l={input:0,output:0,cacheRead:0,cacheWrite:0};function u(t,e=200){let i=t.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return i.length>e?i.slice(0,e-1)+"…":i}let d=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function c(t){let e=t.match(d);if(!e)return;let i=e[1],s=e[2].trim(),n="message";if(s.startsWith("{"))try{let t=JSON.parse(s);"idle_notification"===t.type?n="idle-notification":"shutdown_request"===t.type?n="shutdown-request":"shutdown_approved"===t.type?n="shutdown-approved":"task_assignment"===t.type?n="task-assignment":"teammate_terminated"===t.type&&(n="teammate-terminated")}catch{}return{teammateId:i,body:s,kind:n}}function p(t){if(!t||"object"!=typeof t)return;let e=t=>"number"==typeof t?t:0;return{input:e(t.input_tokens),output:e(t.output_tokens),cacheRead:e(t.cache_read_input_tokens),cacheWrite:e(t.cache_creation_input_tokens)}}function m(t){let e,i,s,n,a,d,m,f,g,y,h,w=[];for(let e=0;e<t.length;e++){let i=function(t,e){if(!t||"object"!=typeof t)return null;let i=String(t.type??""),s=t.uuid,n=t.parentUuid??null,a=t.timestamp;if("assistant"===i){let o,r,l,d=t.message??{},c=d.content??[],m=p(d.usage),f=d.model,g=t.requestId,y=d.id,h=d.stop_reason,w=c[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:e,uuid:s,parentUuid:n,timestamp:a,role:M,rawType:i,preview:o,blocks:c,usage:m,model:f,requestId:g,messageId:y,stopReason:h,toolName:r,toolUseId:l,raw:t}}if("user"===i){let r=(t.message??{}).content;if("string"==typeof r){let l=(0,o.stripFrameworkBoilerplate)(r),d=c(l);return{index:e,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:u(l,200),blocks:l?[{type:"text",text:l}]:[],raw:t,teammateMessage:d}}if(Array.isArray(r)){let l=r[0];if(l?.type==="tool_result")return{index:e,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:t.toolUseResult,raw:t};let d=r.find(t=>t?.type==="text"),p=d?(0,o.stripFrameworkBoilerplate)(d.text):"",m=d?r.map(t=>t===d?{type:"text",text:p}:t):r,f=p?c(p):void 0;return{index:e,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:p?u(p,200):u(JSON.stringify(r),200),blocks:m,raw:t,teammateMessage:f}}}if("attachment"===i){let o=t.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:e,uuid:s,parentUuid:n,timestamp:a,role:"system",rawType:i,preview:l,blocks:[{type:"text",text:JSON.stringify(o,null,2)}],attachmentType:r,raw:t}}return{index:e,uuid:s,parentUuid:n,timestamp:a,role:"meta",rawType:i||"unknown",preview:`${i}: ${u(JSON.stringify(t),140)}`,blocks:[{type:"text",text:JSON.stringify(t,null,2)}],raw:t}}(t[e],e);i&&w.push(i)}for(let t of w){if(!t.timestamp)continue;let s=Date.parse(t.timestamp);!Number.isNaN(s)&&((void 0===e||s<e)&&(e=s),(void 0===i||s>i)&&(i=s))}let M=void 0!==e?new Date(e).toISOString():void 0,v=void 0!==i?new Date(i).toISOString():void 0;for(let t of w){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isNaN(i)||void 0!==e&&(t.tOffsetMs=Math.max(0,i-e))}let _=w.filter(t=>{let e;return t.timestamp&&("user"===(e=t.role)||"agent"===e||"agent-thinking"===e||"tool-call"===e||"tool-result"===e)}).map(t=>({e:t,ms:Date.parse(t.timestamp)})).filter(t=>!Number.isNaN(t.ms)).sort((t,e)=>t.ms-e.ms);for(let t=1;t<_.length;t++)_[t].e.gapMs=Math.max(0,_[t].ms-_[t-1].ms);let k=w.filter(t=>t.timestamp).map(t=>Date.parse(t.timestamp)).filter(t=>!Number.isNaN(t)).sort((t,e)=>t-e),N=[],T=0;if(k.length>0){let t=k[0],e=k[0];for(let i=1;i<k.length;i++){let s=k[i],n=s-e;n>18e4?(N.push({startMs:t,endMs:e}),t=s):n>0&&(T+=n),e=s}N.push({startMs:t,endMs:e})}let j=new Map,b=[];for(let t of w){if(!t.timestamp)continue;let e=Date.parse(t.timestamp);if(!Number.isNaN(e)){if("assistant"===t.rawType&&t.usage&&t.messageId){let i=j.get(t.messageId);i?(i.siblings.push(t),e<i.ms&&(i.rep=t,i.ms=e)):j.set(t.messageId,{rep:t,ms:e,siblings:[t]})}else if("system"===t.rawType){let i=t.raw;if(i?.subtype!=="compact_boundary")continue;let s=i.compactMetadata??{};b.push({ms:e,trigger:"manual"===s.trigger?"manual":"auto",preTokens:"number"==typeof s.preTokens?s.preTokens:0})}}}let I=[...j.values()].sort((t,e)=>t.ms-e.ms);b.sort((t,e)=>t.ms-e.ms);let S=0,C=0,x=(t,e)=>{for(let i of t.siblings)i.coldResume=e;S++,C+=e.writeTokens},A=new Set;for(let t of b){let e,i=I.find(e=>e.ms>t.ms&&(e.rep.usage?.cacheWrite??0)>=1e3);if(!i)continue;for(let i=I.length-1;i>=0;i--)if(I[i].ms<=t.ms){e=I[i].ms;break}let s=i.rep.usage,n=s.cacheWrite+s.cacheRead;x(i,{trigger:"compact",gapMs:void 0!==e?i.ms-e:0,writeTokens:s.cacheWrite,writeRatio:n>0?s.cacheWrite/n:0,compact:{trigger:t.trigger,preTokens:t.preTokens}}),A.add(i.rep.messageId)}for(let t=1;t<I.length;t++){let e=I[t-1],i=I[t];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-e.ms;o>3e5&&s.cacheWrite>=1e3&&a>=.3&&x(i,{trigger:"idle",gapMs:o,writeTokens:s.cacheWrite,writeRatio:a})}let P={...l},D=new Set,U="",R=!1,z=!1,B=0,F=0,O=0,$=0,W=new Set,E=new Map,J=void 0!==e?(0,r.toLocalDay)(e):void 0,L=t=>{let e;if(t){let i=Date.parse(t);Number.isNaN(i)||(e=(0,r.toLocalDay)(i))}if(!(e=e??J))return;let i=E.get(e);return i||(i={toolCalls:0,turns:0,tokens:{...l}},E.set(e,i)),i};for(let t of w){if("tool-call"===t.role){B++;let e=L(t.timestamp);e&&e.toolCalls++;let i=t.blocks.find(t=>t&&"tool_use"===t.type);if(i){let t=i.input??{};if("TeamCreate"===i.name&&(R=!0),"SendMessage"===i.name){let e="string"==typeof t.to?t.to:"";e&&"team-lead"!==e&&(z=!0)}let e="string"==typeof t.file_path?t.file_path:void 0;if("Edit"===i.name&&e){W.add(e);let i="string"==typeof t.old_string?t.old_string:"",s="string"==typeof t.new_string?t.new_string:"",n=i?i.split("\n").length:0,a=s?s.split("\n").length:0;O+=Math.max(0,a-n),$+=Math.max(0,n-a)}else if("Write"===i.name&&e){W.add(e);let i="string"==typeof t.content?t.content:"";O+=i?i.split("\n").length:0}}}if("user"===t.role){let e=function(t){let e=t?.content;if("string"==typeof e)return e;if(Array.isArray(e)){for(let t of e)if(t&&"object"==typeof t&&"text"===t.type&&"string"==typeof t.text)return t.text}return""}(t.raw?.message),i=(0,o.isFrameworkInjectedUserInput)(e),s=void 0!==t.teammateMessage&&!f;if(!i&&!s){g||(g=t.teammateMessage?t.teammateMessage.body:t.preview),F++;let e=L(t.timestamp);e&&e.turns++,h=t.preview}}"agent"===t.role&&(y=t.preview)}for(let e of t)if(e&&"object"==typeof e&&("string"!=typeof e.sessionId||U||(U=e.sessionId),"string"!=typeof e.cwd||n||(n=e.cwd),"string"!=typeof e.gitBranch||a||(a=e.gitBranch),"string"!=typeof e.entrypoint||d||(d=e.entrypoint),"string"!=typeof e.teamName||m||(m=e.teamName),"string"!=typeof e.agentName||f||(f=e.agentName),"assistant"===e.type)){let t=e.message;if(t){"string"!=typeof t.model||s||(s=t.model);let i="string"==typeof t.id?t.id:void 0;if(i&&D.has(i))continue;i&&D.add(i);let n=p(t.usage);if(n){P.input+=n.input,P.output+=n.output,P.cacheRead+=n.cacheRead,P.cacheWrite+=n.cacheWrite;let t=L("string"==typeof e.timestamp?e.timestamp:void 0);t&&(t.tokens.input+=n.input,t.tokens.output+=n.output,t.tokens.cacheRead+=n.cacheRead,t.tokens.cacheWrite+=n.cacheWrite)}}}return{events:w,meta:{sessionId:U,firstTimestamp:M,lastTimestamp:v,durationMs:void 0!==e&&void 0!==i?i-e:void 0,eventCount:w.length,model:s,cwd:n,gitBranch:a,entrypoint:d,totalUsage:P,status:"idle",firstUserPreview:g,lastUserPreview:h,lastAgentPreview:y,toolCallCount:B,turnCount:F,dailyBreakdown:Array.from(E.entries()).map(([t,e])=>({day:t,toolCalls:e.toolCalls,turns:e.turns,tokens:e.tokens})).sort((t,e)=>t.day.localeCompare(e.day)),airTimeMs:T,activeSegments:N,linesAdded:O,linesRemoved:$,filesEdited:W.size,coldResumeCount:S,cacheRebuildTokens:C,teamName:m,agentName:f,isTeamLead:void 0!==m&&void 0===f&&(R||z)}}}let f=/^(?:(?:https?|ssh|git):\/\/)?(?:[^@/]+@)?([^/:]+)[:/](.+?)(?:\.git)?\/?$/;function g(t){try{return(0,i.realpathSync)(t)}catch{return t}}function y(t){let e=g(t.replace(/\/{2,}/g,"/"));try{let t=function(t){let e;if(!t||!(0,n.isAbsolute)(t))return null;let a=(e=g((0,s.homedir)()),t===e||t.startsWith(`${e}/`)?e:void 0);for(let e=t.replace(/\/+$/,"")||t;;e=(0,n.dirname)(e)){if(e===a)return null;let t=function(t){let e=(0,n.join)(t,".git"),s=(0,i.statSync)(e,{throwIfNoEntry:!1});if(!s)return null;if(s.isDirectory())return{root:t,gitDir:e,commonDir:e};let a=function(t,e){let i=e.match(/^gitdir:\s*(.+)\s*$/m);if(!i)return;let s=i[1].trim();return(0,n.isAbsolute)(s)?s:(0,n.resolve)(t,s)}(t,(0,i.readFileSync)(e,"utf8"));return a?{root:t,gitDir:a,commonDir:function(t){let e=(0,n.join)(t,"commondir");if(!(0,i.existsSync)(e))return;let s=(0,i.readFileSync)(e,"utf8").trim();if(s)return(0,n.isAbsolute)(s)?s:(0,n.resolve)(t,s)}(a)}:{root:t}}(e);if(t)return t;if((0,n.dirname)(e)===e)return null}}(e);if(t){let s=g(function(t){if(t)return".git"===(0,n.basename)(t)?(0,n.dirname)(t):void 0}(t.commonDir)??t.root),a=g(t.root),o=s!==a?(0,r.worktreeName)(e)??(0,n.basename)(t.root):void 0,l={projectName:s};o&&(l.worktreeName=o);let u=function(t){let e=t.commonDir??t.gitDir;if(!e)return;let s=(0,n.join)(e,"config");if(!(0,i.existsSync)(s))return;let a=function(t){let e=!1;for(let i of t.split("\n")){let t=i.trim();if(t.startsWith("[")){e=/^\[remote\s+"origin"\]/.test(t);continue}if(!e)continue;let s=t.match(/^url\s*=\s*(.+)$/);if(s)return s[1].trim()}}((0,i.readFileSync)(s,"utf8"));return a?function(t){let e=t.match(f);if(!e)return;let i=e[1],s=e[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:t,webUrl:`https://${i}/${a}/${n}`}}(a):void 0}(t);return u&&(l.remote=u,l.repoName=u.name),l}}catch{}let a=(0,r.canonicalProjectName)(e),o=(0,r.worktreeName)(e)??void 0;return o?{projectName:a,worktreeName:o}:{projectName:a}}let h=n.default.join(s.default.homedir(),".claude","projects");function w(t){return t.startsWith("-")?"/"+t.slice(1).replace(/-/g,"/"):t}let M=n.default.join(s.default.homedir(),".cclens","runtime").replace(/[/.]/g,"-");async function v(t){let e=await i.promises.readFile(t,"utf8"),s=[];for(let t of e.split("\n")){let e=t.trim();if(e)try{s.push(JSON.parse(e))}catch{}}return s}function _(t){return t.replace(/\.jsonl$/i,"")}let k=new Map,N=new Map,T=new Map,j=null;function b(t){k.delete(t),N.delete(t),T.delete(t),j=null}async function I(t=h){let e;if(j&&j.root===t&&Date.now()-j.capturedAtMs<1e3)return j.files;try{e=await i.promises.readdir(t,{withFileTypes:!0})}catch{return[]}let s=e.filter(t=>t.isDirectory()&&t.name!==M).map(t=>t.name),a=(await Promise.all(s.map(async e=>{let s,a=n.default.join(t,e);try{s=await i.promises.readdir(a)}catch{return[]}let o=s.filter(t=>t.endsWith(".jsonl"));return(await Promise.all(o.map(async t=>{let s=n.default.join(a,t);try{let n=await i.promises.stat(s);return{projectDir:e,fileName:t,fullPath:s,mtimeMs:n.mtimeMs,sizeBytes:n.size}}catch{return null}}))).filter(t=>null!==t)}))).flat();return j={files:a,capturedAtMs:Date.now(),root:t},a}let S={input:0,output:0,cacheRead:0,cacheWrite:0};function C(t,e,i,s,n){for(let a of t){if(!a||"object"!=typeof a||"assistant"!==a.type)continue;let t=a.message;if(!t)continue;let o="string"==typeof t.id?t.id:void 0,l="string"==typeof a.requestId?a.requestId:void 0,u=null!=o&&null!=l?`${o}:${l}`:void 0;if(u&&e.has(u))continue;u&&e.add(u);let d=t.usage;if(d){let t=t=>"number"==typeof t?t:0,e=t(d.input_tokens),o=t(d.output_tokens),l=t(d.cache_read_input_tokens),u=t(d.cache_creation_input_tokens);if(i.input+=e,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u,s){let t,i="string"==typeof a.timestamp?a.timestamp:void 0;if(i){let e=Date.parse(i);Number.isNaN(e)||(t=(0,r.toLocalDay)(e))}if(t=t??n){let i=s.get(t);i||(i={...S},s.set(t,i)),i.input+=e,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u}}}}}async function x(t,e,s,a){let o,r={...S},l=new Set,u=new Map;C(t,l,r,u,a);let d=n.default.join(e,s,"subagents");try{o=await i.promises.readdir(d)}catch{return{usage:r,perDay:u}}let c=o.filter(t=>t.endsWith(".jsonl"));return 0===c.length||await Promise.all(c.map(async t=>{try{let e=await v(n.default.join(d,t));C(e,l,r,u,a)}catch{}})),{usage:r,perDay:u}}async function A(t,e){let s,a=n.default.join(t,e,"workflows");try{s=await i.promises.readdir(a)}catch{return{workflowCount:0,spawnedAgentCount:0,spans:[]}}let o=s.filter(t=>t.startsWith("wf_")&&t.endsWith(".json"));if(0===o.length)return{workflowCount:0,spawnedAgentCount:0,spans:[]};let r=0,l=[];return{workflowCount:(await Promise.all(o.map(async t=>{try{let e=JSON.parse(await i.promises.readFile(n.default.join(a,t),"utf8"));return"number"==typeof e.agentCount&&(r+=e.agentCount),"number"==typeof e.startTime&&"number"==typeof e.durationMs&&e.durationMs>0&&l.push({startMs:e.startTime,endMs:e.startTime+e.durationMs}),!0}catch{return!1}}))).filter(Boolean).length,spawnedAgentCount:r,spans:l}}async function P(t,e){let s;try{s=await i.promises.readdir(t,{withFileTypes:!0})}catch{return 0}return(await Promise.all(s.map(async s=>{let a=n.default.join(t,s.name);try{if(s.isDirectory())return e>0?await P(a,e-1):0;return(await i.promises.stat(a)).mtimeMs}catch{return 0}}))).reduce((t,e)=>Math.max(t,e),0)}async function D(t,e){let i=n.default.join(t,e),[s,a]=await Promise.all([P(n.default.join(i,"subagents"),2),P(n.default.join(i,"workflows"),0)]),o=Math.max(s,a);return o>0?o:void 0}async function U(t,e){let i=await D(n.default.dirname(e.fullPath),t.id),s=t.lastTimestamp?Date.parse(t.lastTimestamp):0,a=Math.max(Number.isFinite(s)?s:0,i??0);return a>0?{...t,lastActivityMs:a}:t}function R(t,e){if(0===e.length)return{};let i=[...t??[],...e].filter(t=>t.endMs>t.startMs).sort((t,e)=>t.startMs-e.startMs);if(0===i.length)return{};let s=[{...i[0]}];for(let t=1;t<i.length;t++){let e=i[t],n=s[s.length-1];e.startMs<=n.endMs?n.endMs=Math.max(n.endMs,e.endMs):s.push({...e})}let n=s.reduce((t,e)=>t+(e.endMs-e.startMs),0);return{activeSegments:s,airTimeMs:n}}async function z(t,e,i){let s=_(i.fileName),a=n.default.dirname(i.fullPath),o=t.firstTimestamp?(0,r.toLocalDay)(Date.parse(t.firstTimestamp)):void 0,{usage:l,perDay:u}=await x(e,a,s,o);t.totalUsage=l,t.dailyBreakdown=function(t,e,i){let s=new Map((t??[]).map(t=>[t.day,t])),n=[...new Set([...s.keys(),...e.keys()])].sort((t,e)=>t.localeCompare(e)).map(t=>({day:t,toolCalls:s.get(t)?.toolCalls??0,turns:s.get(t)?.turns??0,tokens:{...e.get(t)??S}}));if(n.length>0){let t=n.reduce((t,e)=>({input:t.input+e.tokens.input,output:t.output+e.tokens.output,cacheRead:t.cacheRead+e.tokens.cacheRead,cacheWrite:t.cacheWrite+e.tokens.cacheWrite}),{...S}),e=n[0].tokens;e.input+=i.input-t.input,e.output+=i.output-t.output,e.cacheRead+=i.cacheRead-t.cacheRead,e.cacheWrite+=i.cacheWrite-t.cacheWrite}return n}(t.dailyBreakdown,u,l)}async function B(t){let e=k.get(t.fullPath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes)return e.meta;try{let e=await v(t.fullPath),{meta:i}=m(e);await z(i,e,t);let s=_(t.fileName),a=n.default.dirname(t.fullPath),o=await A(a,s),r=i.cwd??w(t.projectDir),l=y(r),u={...i,id:s,filePath:t.fullPath,projectDir:t.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...R(i.activeSegments,o.spans)};return k.set(t.fullPath,{meta:u,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),u}catch{return null}}async function F(t){let e=N.get(t.fullPath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes)return e.detail;try{let e=await v(t.fullPath),{meta:i,events:s}=m(e),a=_(t.fileName);await z(i,e,t);let o=await A(n.default.dirname(t.fullPath),a),r=i.cwd??w(t.projectDir),l=y(r),u={...i,id:a,filePath:t.fullPath,projectDir:t.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,events:s,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...R(i.activeSegments,o.spans)};N.set(t.fullPath,{detail:u,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes});let d={...u};return delete d.events,k.set(t.fullPath,{meta:d,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),u}catch{return null}}async function O(t={}){let{root:e=h,limit:i=500,projectDir:s}=t,n=await I(e);s&&(n=n.filter(t=>t.projectDir===s)),n.sort((t,e)=>e.mtimeMs-t.mtimeMs);let a=n.slice(0,i);return(await Promise.all(a.map(async t=>{let e=await B(t);return e?U(e,t):null}))).filter(t=>null!==t)}async function $(t,e={}){let{root:i=h}=e,s=(await I(i)).find(e=>_(e.fileName)===t);if(!s)return null;let a=await F(s);if(!a)return a;let o=a.firstTimestamp?Date.parse(a.firstTimestamp):void 0,r=n.default.join(n.default.dirname(s.fullPath),_(s.fileName),"subagents"),l=n.default.join(n.default.dirname(s.fullPath),_(s.fileName),"workflows"),[u,d]=await Promise.all([E(r,o,a.events),J(l,o,a.events)]),c=d.reduce((t,e)=>t+e.agentCount,0);return U({...a,subagents:u,workflows:d,...d.length>0?{workflowCount:d.length,spawnedAgentCount:c}:{}},s)}function W(t){let e,i,s,n,a,o={...S},r=new Set,l=0,u=0,d=0,c=new Map;for(let p of t){if(!p||"object"!=typeof p)continue;l++;let t="string"==typeof p.timestamp?Date.parse(p.timestamp):NaN;if(!Number.isNaN(t)&&((void 0===e||t<e)&&(e=t),(void 0===i||t>i)&&(i=t)),void 0===a&&"user"===p.type&&(null===p.parentUuid||void 0===p.parentUuid)){let t=p.message,e=t?.content;if("string"==typeof e)a=e;else if(Array.isArray(e)){let t=e.find(t=>t&&"object"==typeof t&&"text"===t.type);t?.text&&(a=t.text)}}if("assistant"===p.type){let t=p.message;if(!t)continue;n||"string"!=typeof t.model||(n=t.model);let e="string"==typeof t.id?t.id:void 0,i="string"==typeof p.requestId?p.requestId:void 0,a=null!=e&&null!=i?`${e}:${i}`:void 0,l=!a||!r.has(a);if(a&&l&&r.add(a),l){u++;let e=t.usage;if(e){let t=t=>"number"==typeof t?t:0;o.input+=t(e.input_tokens),o.output+=t(e.output_tokens),o.cacheRead+=t(e.cache_read_input_tokens),o.cacheWrite+=t(e.cache_creation_input_tokens)}}let m=t.content;if(Array.isArray(m))for(let t of m)t&&"object"==typeof t&&("text"===t.type&&"string"==typeof t.text?s=t.text:"tool_use"===t.type&&"string"==typeof t.name&&(d++,c.set(t.name,(c.get(t.name)??0)+1)))}}let p=Array.from(c.entries()).map(([t,e])=>({name:t,count:e})).sort((t,e)=>e.count-t.count);return{startMs:e,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:p,toolCallCount:d,assistantMessageCount:u,initialPrompt:a}}async function E(t,e,s){let a;try{a=await i.promises.readdir(t)}catch{return[]}let o=new Map,r=[];for(let t of s)if("tool-call"===t.role&&"Agent"===t.toolName)for(let e of t.blocks){if(e?.type!=="tool_use"||"Agent"!==e.name)continue;let i=e.input??{},s="string"==typeof i.description?i.description:void 0,n=t.timestamp?Date.parse(t.timestamp):void 0,a={toolUseId:e.id,parentUuid:t.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((t,e)=>(t.tsMs??0)-(e.tsMs??0));let l=a.filter(t=>t.startsWith("agent-")&&t.endsWith(".jsonl"));return(await Promise.all(l.map(async s=>{let a,l=s.replace(/^agent-/,"").replace(/\.jsonl$/,""),u=n.default.join(t,s),d=n.default.join(t,`agent-${l}.meta.json`),c={};try{let t=await i.promises.readFile(d,"utf8");c=JSON.parse(t)}catch{}try{a=await v(u)}catch{return null}let p=W(a),m=c.description&&c.description.trim().length>0?c.description:void 0,f=m?o.get(m):function(t){let e;if(void 0===t)return;let i=1/0;for(let s of r){if(void 0===s.tsMs)continue;let n=Math.abs(t-s.tsMs);n<i&&n<=2e3&&(e=s,i=n)}return e}(p.startMs),g=m??(p.initialPrompt?p.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),y=f?.prompt??p.initialPrompt,h=void 0!==e&&void 0!==p.startMs?Math.max(0,p.startMs-e):void 0,w=void 0!==e&&void 0!==p.endMs?Math.max(0,p.endMs-e):void 0,M=void 0!==p.startMs&&void 0!==p.endMs?p.endMs-p.startMs:void 0;return{agentId:l,agentType:c.agentType??"unknown",description:g,startMs:p.startMs,endMs:p.endMs,durationMs:M,startTOffsetMs:h,endTOffsetMs:w,eventCount:p.eventCount,totalUsage:p.totalUsage,parentUuid:f?.parentUuid,parentToolUseId:f?.toolUseId,runInBackground:f?.runInBackground,prompt:y,finalPreview:p.finalPreview,finalText:p.finalText,model:p.model,toolCalls:p.toolCalls,toolCallCount:p.toolCallCount,assistantMessageCount:p.assistantMessageCount}}))).filter(t=>null!==t).sort((t,e)=>(t.startMs??0)-(e.startMs??0))}async function J(t,e,s){let a;try{a=await i.promises.readdir(t)}catch{return[]}let o=a.filter(t=>t.startsWith("wf_")&&t.endsWith(".json"));if(0===o.length)return[];let r=[];for(let t of s){if("tool-call"!==t.role||"Workflow"!==t.toolName)continue;let e=t.timestamp?Date.parse(t.timestamp):NaN;if(!Number.isNaN(e))for(let i of t.blocks)i?.type==="tool_use"&&"Workflow"===i.name&&r.push({toolUseId:i.id,parentUuid:t.uuid??"",tsMs:e})}r.sort((t,e)=>t.tsMs-e.tsMs);let l=t=>"number"==typeof t?t:void 0,u=t=>"string"==typeof t&&t.length>0?t:void 0;return(await Promise.all(o.map(async s=>{let a;try{a=JSON.parse(await i.promises.readFile(n.default.join(t,s),"utf8"))}catch{return null}let o=u(a.runId)??s.replace(/\.json$/,""),d=l(a.startTime),c=l(a.durationMs),p=void 0!==d&&void 0!==c?d+c:void 0,m=void 0!==e&&void 0!==d?Math.max(0,d-e):void 0,f=void 0!==e&&void 0!==p?Math.max(0,p-e):void 0,g=Array.isArray(a.phases)?a.phases.filter(t=>!!t&&"object"==typeof t&&"string"==typeof t.title).map(t=>({title:t.title,detail:u(t.detail)})):[],y=Array.isArray(a.logs)?a.logs.filter(t=>"string"==typeof t):[],h=(t,e)=>{let i=u(t);return void 0===i?void 0:i.length>e?i.slice(0,e)+"…":i},w=(Array.isArray(a.workflowProgress)?a.workflowProgress:[]).filter(t=>!!t&&"object"==typeof t&&"workflow_agent"===t.type).map(t=>({index:l(t.index)??0,label:u(t.label)??"(agent)",phaseIndex:l(t.phaseIndex),phaseTitle:u(t.phaseTitle),agentId:u(t.agentId),model:u(t.model),state:u(t.state),startedAt:l(t.startedAt),durationMs:l(t.durationMs),tokens:l(t.tokens),toolCalls:l(t.toolCalls),lastToolSummary:h(t.lastToolSummary,200),promptPreview:h(t.promptPreview,600),resultPreview:h(t.resultPreview,600)})).sort((t,e)=>t.index-e.index),M=(t=>{let e,i;if(void 0===t||0===r.length)return;let s=1/0,n=1/0;for(let a of r){let o=Math.abs(t-a.tsMs);!(o>6e4)&&(o<n&&(i=a,n=o),a.tsMs<=t&&o<s&&(e=a,s=o))}return e??i})(d);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:c,startMs:d,endMs:p,startTOffsetMs:m,endTOffsetMs:f,model:u(a.defaultModel),phases:g,logs:y,agents:w,parentToolUseId:M?.toolUseId,parentUuid:M?.parentUuid}}))).filter(t=>null!==t).sort((t,e)=>(t.startMs??0)-(e.startMs??0))}async function L(t,e,i,s={}){let a,o,r,l,u,d,{root:c=h}=s;if(!/^[\w.-]+$/.test(e)||!/^[\w.-]+$/.test(i))return null;let p=(await I(c)).find(e=>_(e.fileName)===t);if(!p)return null;let m=n.default.join(n.default.dirname(p.fullPath),t,"subagents","workflows",e,`agent-${i}.jsonl`);try{a=await v(m)}catch{return null}let f=new Set;for(let t of a){if(!t||"object"!=typeof t)continue;let e=t.message?.content;if(Array.isArray(e))for(let t of e)t&&"object"==typeof t&&"tool_result"===t.type&&!0===t.is_error&&"string"==typeof t.tool_use_id&&f.add(t.tool_use_id)}let g=[],y=new Map,w={...S},M=new Set,k=0,N=0;for(let t of a){if(!t||"object"!=typeof t)continue;N++;let e="string"==typeof t.timestamp?Date.parse(t.timestamp):NaN;if(!Number.isNaN(e)&&((void 0===u||e<u)&&(u=e),(void 0===d||e>d)&&(d=e)),void 0===o&&"user"===t.type&&(null===t.parentUuid||void 0===t.parentUuid)){let e=t.message?.content;if("string"==typeof e)o=e;else if(Array.isArray(e)){let t=e.find(t=>t&&"object"==typeof t&&"text"===t.type);t?.text&&(o=t.text)}}if("assistant"!==t.type)continue;let i=t.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 t.requestId?t.requestId:void 0,a=null!=s&&null!=n?`${s}:${n}`:void 0,c=!a||!M.has(a);if(a&&c&&M.add(a),c){k++;let t=i.usage;if(t){let e=t=>"number"==typeof t?t:0;w.input+=e(t.input_tokens),w.output+=e(t.output_tokens),w.cacheRead+=e(t.cache_read_input_tokens),w.cacheWrite+=e(t.cache_creation_input_tokens)}}let p=i.content;if(Array.isArray(p)){for(let t of p)if(t&&"object"==typeof t){if("text"===t.type&&"string"==typeof t.text)r=t.text;else if("tool_use"===t.type&&"string"==typeof t.name&&(y.set(t.name,(y.get(t.name)??0)+1),g.length<2e3)){let e=function(t){if(!t||"object"!=typeof t)return"";let e=e=>"string"==typeof t[e]?t[e]:void 0;return e("command")??e("file_path")??e("path")??e("pattern")??e("url")??e("description")??e("query")??e("prompt")??e("old_string")??JSON.stringify(t)}(t.input),i=e.replace(/\s+/g," ").trim().slice(0,160),s=e.length>4e3?e.slice(0,4e3)+"…":e;g.push({index:g.length+1,tool:t.name,preview:i,full:s.length>i.length||s.includes("\n")?s:void 0,isError:"string"==typeof t.id&&f.has(t.id)})}}}}return{agentId:i,prompt:o,finalText:r,steps:g,toolCalls:Array.from(y.entries()).map(([t,e])=>({name:t,count:e})).sort((t,e)=>e.count-t.count),toolCallCount:g.length,assistantMessageCount:k,eventCount:N,totalUsage:w,model:l,durationMs:void 0!==u&&void 0!==d?d-u:void 0}}let G={...a.CLAUDE_CODE_METADATA,defaultRoot:h,async listSessions(t){let e=await O(t);for(let t of e)t.agent||(t.agent="claude-code");return e},async getSession(t,e){let i=await $(t,e);return i&&!i.agent&&(i.agent="claude-code"),i}};t.s(["DEFAULT_ROOT",0,h,"claudeCodeSource",0,G,"getSession",0,$,"invalidateClaudeCodeFile",0,b,"listSessions",0,O,"loadWorkflowAgentDetail",0,L,"summarizeSubagentLines",0,W],20629);let q=n.default.join(s.default.homedir(),".codex","sessions"),H=/^rollout-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})-([0-9a-f-]+)\.jsonl$/;async function K(t){return i.promises.readdir(t).catch(()=>[])}async function Y(t){let e=[];for(let s of(await K(t))){if(!/^\d{4}$/.test(s))continue;let a=n.default.join(t,s);for(let t of(await K(a))){if(!/^\d{2}$/.test(t))continue;let s=n.default.join(a,t);for(let t of(await K(s))){if(!/^\d{2}$/.test(t))continue;let a=n.default.join(s,t);for(let t of(await K(a))){let s=H.exec(t);if(!s)continue;let o=n.default.join(a,t),r=await i.promises.stat(o).catch(()=>null);r&&e.push({filePath:o,sessionId:s[2],mtimeMs:r.mtimeMs,sizeBytes:r.size})}}}}return e}async function Z(t){let e=await i.promises.readFile(t,"utf8"),s=[];for(let t of e.split("\n")){let e=t.trim();if(e)try{s.push(JSON.parse(e))}catch{}}return s}function Q(t){return t.replace(/\s+/g," ").trim().slice(0,200)}function V(t,e){let i,s,n,a,r,l,u,d,c,p,m,f,g=[],h={input:0,output:0,cacheRead:0,cacheWrite:0},w=0,M=0,v=[],_=0;for(let t of e){if("object"!=typeof t||null===t)continue;let e="string"==typeof t.timestamp?t.timestamp:void 0;if(e){i||(i=e),s=e;let t=Date.parse(e);Number.isFinite(t)&&v.push(t)}let y="string"==typeof t.type?t.type:"",N=t.payload??{},T="string"==typeof N.type?N.type:"";if("session_meta"===y){"string"==typeof N.cwd&&(n=N.cwd),void 0===d&&"string"==typeof N.thread_source&&(d=N.thread_source),void 0===c&&"string"==typeof N.session_id&&(c=N.session_id),void 0===p&&"string"==typeof N.parent_thread_id&&(p=N.parent_thread_id),void 0===m&&"string"==typeof N.agent_nickname&&(m=N.agent_nickname),void 0===f&&"string"==typeof N.agent_path&&(f=N.agent_path);continue}if("turn_context"===y){"string"==typeof N.cwd&&(n=N.cwd),"string"==typeof N.model&&(a=N.model);continue}if("event_msg"===y&&"token_count"===T){let t=N.info??null,e=t?.total_token_usage??null;e&&(h.input=X(e.input_tokens)??h.input,h.output=X(e.output_tokens)??h.output,h.cacheRead=X(e.cached_input_tokens)??h.cacheRead);continue}if("event_msg"===y&&"user_message"===T){let i="string"==typeof N.message?N.message:"",s=Q(i),n=(0,o.isFrameworkInjectedUserInput)(i);i&&!n&&(r||(r=s),l=s,M+=1),g.push({index:_++,timestamp:e,role:"user",rawType:"event_msg/user_message",preview:s,blocks:i?[{type:"text",text:i}]:[],raw:t});continue}if("event_msg"===y&&"agent_message"===T){let i="string"==typeof N.message?N.message:"",s=Q(i);i&&(u=s),g.push({index:_++,timestamp:e,role:"agent",rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:t});continue}if("response_item"===y&&"reasoning"===T){let i=(N.summary??[]).map(t=>"string"==typeof t.text?t.text:"").join("\n").trim();g.push({index:_++,timestamp:e,role:"agent-thinking",rawType:"response_item/reasoning",preview:Q(i),blocks:i?[{type:"thinking",thinking:i}]:[],model:a,raw:t});continue}if("response_item"===y&&"message"===T&&"assistant"===N.role){let i=(N.content??[]).map(t=>"string"==typeof t.text?t.text:"").join("\n").trim(),s=Q(i);i&&(u=s),g.push({index:_++,timestamp:e,role:"agent",rawType:"response_item/message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:t});continue}if("response_item"===y&&"function_call"===T){var k;let i="string"==typeof N.name?N.name:"(unknown)",s="string"==typeof N.call_id?N.call_id:void 0,n="string"==typeof N.arguments?N.arguments:"",o=function(t){if(!t)return null;try{return JSON.parse(t)}catch{return t}}(n);w+=1,g.push({index:_++,timestamp:e,role:"tool-call",rawType:"response_item/function_call",preview:`${i}(${(k=n).length<=80?k:k.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:s??`codex-${_}`,name:i,input:o}],toolName:i,toolUseId:s,model:a,raw:t});continue}if("response_item"===y&&"function_call_output"===T){let i="string"==typeof N.call_id?N.call_id:void 0,s="string"==typeof N.output?N.output:"",n=/process exited with code [1-9]/i.test(s);g.push({index:_++,timestamp:e,role:"tool-result",rawType:"response_item/function_call_output",preview:Q(s),blocks:[{type:"tool_result",tool_use_id:i??"",content:s,is_error:n}],toolUseId:i,toolResult:s,raw:t});continue}g.push({index:_++,timestamp:e,role:"meta",rawType:T?`${y}/${T}`:y,preview:"",blocks:[],raw:t})}if(h.input>0||h.output>0){let e=-1;for(let t=g.length-1;t>=0;t--){let i=g[t].role;if("agent"===i||"agent-thinking"===i||"tool-call"===i){e=t;break}}if(e>=0){let i=g[e];i.messageId=`codex-${t.sessionId}-total`,i.usage={input:h.input,output:h.output,cacheRead:h.cacheRead,cacheWrite:0}}}let N=i?Date.parse(i):void 0;if(void 0!==N&&Number.isFinite(N)){let t;for(let e of g){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-N),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let T=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],n=e[0];for(let t=1;t<e.length;t++)e[t]-n>18e4&&(i.push({startMs:s,endMs:n}),s=e[t]),n=e[t];return i.push({startMs:s,endMs:n}),i}(v),j=T.reduce((t,e)=>t+(e.endMs-e.startMs),0),b=i&&s?Date.parse(s)-Date.parse(i):void 0,I=n?y(n):void 0,S=I?.projectName??"(unknown)",C=n?n.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:t.sessionId,filePath:t.filePath,projectName:S,worktreeName:I?.worktreeName,repoName:I?.repoName,projectDir:C,sessionId:t.sessionId,firstTimestamp:i,lastTimestamp:s,durationMs:b&&Number.isFinite(b)?b:void 0,eventCount:g.length,model:a,cwd:n,totalUsage:h,status:"idle",firstUserPreview:r,lastUserPreview:l,lastAgentPreview:u,toolCallCount:w,turnCount:M,airTimeMs:j,activeSegments:T},events:g,threadSource:d,rootSessionId:c,parentThreadId:p,agentNickname:m,agentPath:f}}function X(t){return"number"==typeof t&&Number.isFinite(t)?t:void 0}let tt=new Map,te=new Map;async function ti(t){let e=await Y(t),i=[];for(let t of e){let e=tt.get(t.filePath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes){i.push({file:t,meta:e.meta,threadSource:e.threadSource,rootSessionId:e.rootSessionId,parentThreadId:e.parentThreadId,agentNickname:e.agentNickname,agentPath:e.agentPath});continue}try{let e=await Z(t.filePath),s=V(t,e);tt.set(t.filePath,{meta:s.meta,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes,threadSource:s.threadSource,rootSessionId:s.rootSessionId,parentThreadId:s.parentThreadId,agentNickname:s.agentNickname,agentPath:s.agentPath}),i.push({file:t,meta:s.meta,threadSource:s.threadSource,rootSessionId:s.rootSessionId,parentThreadId:s.parentThreadId,agentNickname:s.agentNickname,agentPath:s.agentPath})}catch{}}return i}async function ts(t={}){let e=t.root??q,i=await ti(e),s=new Map;for(let t of i){if("subagent"!==t.threadSource||!t.rootSessionId)continue;let e=s.get(t.rootSessionId);e?e.push(t):s.set(t.rootSessionId,[t])}let n=[];for(let t of i){if("subagent"===t.threadSource)continue;let e=s.get(t.meta.id);if(!e||0===e.length){n.push(t.meta);continue}let i={...t.meta,spawnedAgentCount:e.length,totalUsage:{input:t.meta.totalUsage.input+e.reduce((t,e)=>t+e.meta.totalUsage.input,0),output:t.meta.totalUsage.output+e.reduce((t,e)=>t+e.meta.totalUsage.output,0),cacheRead:t.meta.totalUsage.cacheRead+e.reduce((t,e)=>t+e.meta.totalUsage.cacheRead,0),cacheWrite:t.meta.totalUsage.cacheWrite+e.reduce((t,e)=>t+e.meta.totalUsage.cacheWrite,0)},toolCallCount:(t.meta.toolCallCount??0)+e.reduce((t,e)=>t+(e.meta.toolCallCount??0),0)};for(let t of e)t.meta.lastTimestamp&&(!i.lastTimestamp||t.meta.lastTimestamp>i.lastTimestamp)&&(i.lastTimestamp=t.meta.lastTimestamp);n.push(i)}return(n.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?n.slice(0,t.limit):n}async function tn(t,e={}){let i=e.root??q,s=await ti(i),n=s.find(e=>e.meta.id===t&&"subagent"!==e.threadSource);if(!n){let e=s.find(e=>e.meta.id===t);if(!e)return null;let i=te.get(e.file.filePath);if(i&&i.mtimeMs===e.file.mtimeMs&&i.sizeBytes===e.file.sizeBytes)return i.detail;let n=await Z(e.file.filePath),{meta:a,events:o}=V(e.file,n),r={...a,events:o};return te.set(e.file.filePath,{detail:r,mtimeMs:e.file.mtimeMs,sizeBytes:e.file.sizeBytes}),r}let a=n.file,o=te.get(a.filePath);if(o&&o.mtimeMs===a.mtimeMs&&o.sizeBytes===a.sizeBytes)return o.detail;let r=await Z(a.filePath),{meta:l,events:u}=V(a,r),d=s.filter(e=>"subagent"===e.threadSource&&e.rootSessionId===t),c=l.firstTimestamp?Date.parse(l.firstTimestamp):void 0,p=d.map(t=>{let e,i,s,n,a;return i=(e=t.meta).firstTimestamp?Date.parse(e.firstTimestamp):void 0,s=e.lastTimestamp?Date.parse(e.lastTimestamp):void 0,n=void 0!==i&&Number.isFinite(i)?i:void 0,a=void 0!==s&&Number.isFinite(s)?s:void 0,{agentId:e.id,agentType:t.agentNickname??t.agentPath??"subagent",description:t.agentPath??t.agentNickname??e.id,startMs:n,endMs:a,durationMs:e.durationMs,startTOffsetMs:void 0!==c&&void 0!==n?Math.max(0,n-c):void 0,endTOffsetMs:void 0!==c&&void 0!==a?Math.max(0,a-c):void 0,eventCount:e.eventCount,totalUsage:e.totalUsage,model:e.model,toolCallCount:e.toolCallCount,finalPreview:e.lastAgentPreview}}).sort((t,e)=>(t.startMs??0)-(e.startMs??0)),m={...l,events:u,...p.length>0?{subagents:p,spawnedAgentCount:p.length}:{}};return te.set(a.filePath,{detail:m,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),m}function ta(t,e){let i=X(t?.used_percent),s=X(t?.resets_at);return{utilization:void 0===i?null:void 0!==s&&e>1e3*s?0:i,resets_at:void 0!==s?new Date(1e3*s).toISOString():null}}async function to(t={}){let e=t.root??q,i=await Y(e);if(0===i.length)return null;for(let t of(i.sort((t,e)=>e.mtimeMs-t.mtimeMs),i)){let e=await Z(t.filePath);for(let i=e.length-1;i>=0;i--){let s=e[i];if("object"!=typeof s||null===s||"event_msg"!==s.type)continue;let n=s.payload??{};if("token_count"!==n.type)continue;let a=n.rate_limits??null;if(!a)continue;let o=a.primary??null,r=a.secondary??null;if(void 0===X(o?.used_percent)&&void 0===X(r?.used_percent))continue;let l="string"==typeof a.plan_type?a.plan_type:null,u=Date.now(),d=null,c=null;for(let t of[o,r]){if(!t)continue;let e=X(t.window_minutes);300===e?d=ta(t,u):10080===e&&(c=ta(t,u))}let p=[o,r].filter(t=>null!==t&&void 0===X(t.window_minutes));if(d||c){if(1===p.length){let t=ta(p[0],u);d?c||(c=t):d=t}}else d=o?ta(o,u):null,c=r?ta(r,u):null;return{five_hour:d??{utilization:null,resets_at:null},seven_day:c??{utilization:null,resets_at:null},plan_type:l,source_path:t.filePath}}}return null}let tr=n.default.join(s.default.homedir(),".gemini","tmp"),tl=n.default.join(s.default.homedir(),".gemini","projects.json"),tu=/^session-.+\.(jsonl|json)$/;async function td(t){return i.promises.readdir(t).catch(()=>[])}async function tc(t){let e=[];for(let s of(await td(t))){let a=n.default.join(t,s,"chats");for(let t of(await td(a))){if(!tu.test(t))continue;let o=n.default.join(a,t),r=await i.promises.stat(o).catch(()=>null);if(!r||!r.isFile())continue;let l=t.replace(/\.(jsonl|json)$/,"").split("-").pop()??t;e.push({filePath:o,slug:s,filenameId:l,format:t.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:r.mtimeMs,sizeBytes:r.size})}}return e}let tp=null;async function tm(){let t,e=await i.promises.stat(tl).catch(()=>null);if(!e)return new Map;if(tp&&tp.mtimeMs===e.mtimeMs)return tp.slugToCwd;let s=await i.promises.readFile(tl,"utf8").catch(()=>"");try{t=JSON.parse(s)}catch{t={}}let n=new Map;for(let[e,i]of Object.entries(t.projects??{}))"string"==typeof i&&n.set(i,e);return tp={mtimeMs:e.mtimeMs,slugToCwd:n},n}function tf(t){return!!t&&"object"==typeof t&&"string"==typeof t.id&&"string"==typeof t.type}async function tg(t){let e=await i.promises.readFile(t.filePath,"utf8");if("legacy-json"===t.format){let t;try{t=JSON.parse(e)}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(tf)}}let s={},n=new Map,a=[];for(let t of e.split("\n")){let e,i=t.trim();if(i){var o,r;try{e=JSON.parse(i)}catch{continue}if((o=e)&&"object"==typeof o&&"$rewindTo"in o){let t=e.$rewindTo,i=a.indexOf(t);if(i>=0){for(let t of a.slice(i))n.delete(t);a.length=i}continue}if((r=e)&&"object"==typeof r&&"$set"in r){Object.assign(s,e.$set);continue}if(tf(e)){n.has(e.id)||a.push(e.id),n.set(e.id,e);continue}if("object"==typeof e&&null!==e){let t=e;"string"!=typeof t.sessionId||s.sessionId||(s.sessionId=t.sessionId,"string"==typeof t.projectHash&&(s.projectHash=t.projectHash),"string"==typeof t.startTime&&(s.startTime=t.startTime),"string"==typeof t.lastUpdated&&(s.lastUpdated=t.lastUpdated),"string"==typeof t.summary&&(s.summary=t.summary))}}}let l=[];for(let t of a){let e=n.get(t);e&&l.push(e)}return{meta:s,messages:l}}function ty(t){return t.replace(/\s+/g," ").trim().slice(0,200)}function th(t){if(!t)return"";if("string"==typeof t)return t;let e=Array.isArray(t)?t:[t],i=[];for(let t of e){if(!t||"object"!=typeof t)continue;if("string"==typeof t.text){i.push(t.text);continue}let e=t.functionResponse;if(e){let t=e.response;"string"==typeof t?i.push(t):t&&"object"==typeof t&&("string"==typeof t.output?i.push(t.output):"string"==typeof t.error?i.push(`error: ${t.error}`):i.push(JSON.stringify(t)))}}return i.join("\n")}async function tw(t){let e,i,s,n,a,r,{meta:l,messages:u}=await tg(t),d=(await tm()).get(t.slug),c=[],p={input:0,output:0,cacheRead:0,cacheWrite:0},m=0,f=0,g=[],h=0;function w(t){if(c.push(t),t.timestamp&&"meta"!==t.role){e||(e=t.timestamp),i=t.timestamp;let s=Date.parse(t.timestamp);Number.isFinite(s)&&g.push(s)}}for(let t of u){let e=t.timestamp;if("user"===t.type){let i=th(t.displayContent??t.content),s=ty(i),r=(0,o.isFrameworkInjectedUserInput)(i);i&&!r&&(n||(n=s),a=s,f+=1),w({index:h++,timestamp:e,role:"user",rawType:"gemini/user",preview:s,blocks:i?[{type:"text",text:i}]:[],messageId:t.id,raw:t});continue}if("gemini"===t.type){let i;"string"==typeof t.model&&(s=t.model);let n=th(t.content),a=ty(n);if(n&&(r=a),t.tokens){let e=t.tokens,s={input:e.input??0,output:e.output??0,cacheRead:e.cached??0,cacheWrite:0};i=s,p.input+=s.input,p.output+=s.output,p.cacheRead+=s.cacheRead}for(let i of t.thoughts??[]){let t=[i.subject,i.description].filter(Boolean).join(": ");t&&w({index:h++,timestamp:i.timestamp??e,role:"agent-thinking",rawType:"gemini/thought",preview:ty(t),blocks:[{type:"thinking",thinking:t}],model:s,raw:i})}for(let o of(n?w({index:h++,timestamp:e,role:"agent",rawType:"gemini/agent",preview:a,blocks:[{type:"text",text:n}],messageId:t.id,model:s,usage:i,raw:t}):i&&w({index:h++,timestamp:e,role:"agent",rawType:"gemini/agent",preview:"",blocks:[],messageId:t.id,model:s,usage:i,raw:t}),t.toolCalls??[])){m+=1;let t=o.args?JSON.stringify(o.args):"";w({index:h++,timestamp:o.timestamp??e,role:"tool-call",rawType:"gemini/tool_call",preview:`${o.name}(${t.length<=80?t:t.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 t=th(o.result);w({index:h++,timestamp:o.timestamp??e,role:"tool-result",rawType:"gemini/tool_result",preview:ty(t),blocks:[{type:"tool_result",tool_use_id:o.id,content:t,is_error:"error"===i||"cancelled"===i}],toolUseId:o.id,toolResult:t,raw:o})}}continue}if("info"===t.type||"warning"===t.type||"error"===t.type){let i=th(t.content);w({index:h++,timestamp:e,role:"meta",rawType:`gemini/${t.type}`,preview:ty(i),blocks:i?[{type:"text",text:i}]:[],raw:t});continue}}let M=e?Date.parse(e):void 0;if(void 0!==M&&Number.isFinite(M)){let t;for(let e of c){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-M),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let v=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],n=e[0];for(let t=1;t<e.length;t++)e[t]-n>18e4&&(i.push({startMs:s,endMs:n}),s=e[t]),n=e[t];return i.push({startMs:s,endMs:n}),i}(g),_=v.reduce((t,e)=>t+(e.endMs-e.startMs),0),k=e&&i?Date.parse(i)-Date.parse(e):void 0,N=l.sessionId??t.filenameId,T=d?y(d):void 0,j=T?.projectName??t.slug,b=d?d.replace(/^\//,"-").replace(/\//g,"-"):t.slug;return{meta:{agent:"gemini",id:N,filePath:t.filePath,projectName:j,worktreeName:T?.worktreeName,repoName:T?.repoName,projectDir:b,sessionId:N,firstTimestamp:e,lastTimestamp:i,durationMs:k&&Number.isFinite(k)?k:void 0,eventCount:c.length,model:s,cwd:d,totalUsage:p,status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:r,toolCallCount:m,turnCount:f,airTimeMs:_,activeSegments:v},events:c}}let tM=new Map,tv=new Map;async function t_(t={}){let e=t.root??tr,i=await tc(e),s=[];for(let t of i){let e=tM.get(t.filePath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes){s.push(e.meta);continue}try{let{meta:e}=await tw(t);tM.set(t.filePath,{meta:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),s.push(e)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function tk(t,e={}){let i,s=e.root??tr,n=await tc(s);for(let e of n)if(e.filenameId===t||t.startsWith(e.filenameId)){i=e;break}if(!i)for(let e of n){let{meta:s}=await tw(e).catch(()=>({meta:{id:""}}));if(s.id===t){i=e;break}}if(!i)return null;let a=tv.get(i.filePath);if(a&&a.mtimeMs===i.mtimeMs&&a.sizeBytes===i.sizeBytes)return a.detail;let{meta:o,events:r}=await tw(i),l={...o,events:r};return tv.set(i.filePath,{detail:l,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes}),l}let tN=n.default.join(s.default.homedir(),".gemini","antigravity-cli");async function tT(t){return i.promises.readdir(t).catch(()=>[])}let tj=null;async function tb(t){let e=n.default.join(t,"history.jsonl"),s=await i.promises.stat(e).catch(()=>null);if(!s)return new Map;if(tj&&tj.mtimeMs===s.mtimeMs)return tj.slugToCwd;let a=await i.promises.readFile(e,"utf8").catch(()=>""),o=new Map;for(let t of a.split("\n")){let e=t.trim();if(e)try{let t=JSON.parse(e);t.conversationId&&t.workspace&&o.set(t.conversationId,t.workspace)}catch{}}return tj={mtimeMs:s.mtimeMs,slugToCwd:o},o}async function tI(t){let e=await tb(t),s=[],a=n.default.join(t,"brain");for(let t of(await tT(a))){let o=n.default.join(a,t,".system_generated","logs","transcript.jsonl"),r=await i.promises.stat(o).catch(()=>null);r&&r.isFile()&&s.push({filePath:o,conversationId:t,cwd:e.get(t),mtimeMs:r.mtimeMs,sizeBytes:r.size})}return s}function tS(t){return t.replace(/\s+/g," ").trim().slice(0,200)}async function tC(t){let e,s,n,a,r,l,u=await i.promises.readFile(t.filePath,"utf8"),d=[],c=0,p=0,m=[],f=0;function g(t){if(d.push(t),t.timestamp&&"meta"!==t.role){e||(e=t.timestamp),s=t.timestamp;let i=Date.parse(t.timestamp);Number.isFinite(i)&&m.push(i)}}let h=[],w=[],M=new Map;for(let t of u.split("\n")){let e=t.trim();if(e)try{let t=JSON.parse(e),i=t.step_index;"number"==typeof i?M.has(i)?w[M.get(i)]=t:(M.set(i,w.length),w.push(t)):w.push(t)}catch{}}for(let t of w){let e=t.created_at||t.timestamp;if("USER_INPUT"===t.type){if("string"==typeof t.content){let e=t.content.match(/Model Selection` from .*? to (.*?)\.\s*No need to/);if(e){let t=e[1].trim();n=t=t.replace(/\s*\(.*?\)\s*$/,"").trim()}else{let e=t.content.match(/Model Selection` from .*? to ([^\n]+)/);if(e){let t=e[1].trim();t.endsWith(".")&&(t=t.slice(0,-1).trim()),n=t=t.replace(/\s*\(.*?\)\s*$/,"").trim()}}}let i=t.content||"",s=i.match(/<USER_REQUEST>([\s\S]*?)<\/USER_REQUEST>/);s&&(i=s[1].trim());let l=tS(i),u=(0,o.isFrameworkInjectedUserInput)(i);i&&!u&&(a||(a=l),r=l,p+=1),g({index:f++,timestamp:e,role:"user",rawType:"antigravity/user",preview:l,blocks:i?[{type:"text",text:i}]:[],messageId:t.step_index?.toString(),raw:t});continue}if("PLANNER_RESPONSE"===t.type){let i=t.thinking,s=t.content;if(i&&g({index:f++,timestamp:e,role:"agent-thinking",rawType:"antigravity/thought",preview:tS(i),blocks:[{type:"thinking",thinking:i}],model:n,raw:t}),s){let i=tS(s);l=i,g({index:f++,timestamp:e,role:"agent",rawType:"antigravity/agent",preview:i,blocks:[{type:"text",text:s}],messageId:t.step_index?.toString(),model:n,raw:t})}let a=t.tool_calls||[];for(let i=0;i<a.length;i++){let s=a[i];c+=1;let o=`tool-${t.step_index}-${i}`,r=s.args?JSON.stringify(s.args):"";h.push({id:o,name:s.name}),g({index:f++,timestamp:e,role:"tool-call",rawType:"antigravity/tool_call",preview:`${s.name}(${r.length<=80?r:r.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o,name:s.name,input:s.args||{}}],toolName:s.name,toolUseId:o,model:n,raw:s})}continue}if("MODEL"===t.source&&"PLANNER_RESPONSE"!==t.type&&"ERROR_MESSAGE"!==t.type&&h.length>0){let i=h.shift(),s=i?i.id:`tool-${t.step_index}-unknown`,n="string"==typeof t.content?t.content:JSON.stringify(t.content||""),a="ERROR"===t.status||"FAILED"===t.status||"CANCELED"===t.status||!!t.error;g({index:f++,timestamp:e,role:"tool-result",rawType:"antigravity/tool_result",preview:tS(n),blocks:[{type:"tool_result",tool_use_id:s,content:n,is_error:a}],toolUseId:s,toolResult:n,raw:t});continue}let i=t.content||t.error||"";g({index:f++,timestamp:e,role:"meta",rawType:`antigravity/${t.type?.toLowerCase()||"unknown"}`,preview:tS(i),blocks:i?[{type:"text",text:i}]:[],raw:t})}let v=e?Date.parse(e):void 0;if(void 0!==v&&Number.isFinite(v)){let t;for(let e of d){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-v),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let _=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],n=e[0];for(let t=1;t<e.length;t++)e[t]-n>18e4&&(i.push({startMs:s,endMs:n}),s=e[t]),n=e[t];return i.push({startMs:s,endMs:n}),i}(m),k=_.reduce((t,e)=>t+(e.endMs-e.startMs),0),N=e&&s?Date.parse(s)-Date.parse(e):void 0,T=t.conversationId,j=t.cwd,b=j?y(j):void 0,I=b?.projectName??t.conversationId,S=j?j.replace(/^\//,"-").replace(/\//g,"-"):t.conversationId;return{meta:{agent:"antigravity",id:T,filePath:t.filePath,projectName:I,worktreeName:b?.worktreeName,repoName:b?.repoName,projectDir:S,sessionId:T,firstTimestamp:e,lastTimestamp:s,durationMs:N&&Number.isFinite(N)?N:void 0,eventCount:d.length,model:n,cwd:j,totalUsage:{input:0,output:0,cacheRead:0,cacheWrite:0},status:"idle",firstUserPreview:a,lastUserPreview:r,lastAgentPreview:l,toolCallCount:c,turnCount:p,airTimeMs:k,activeSegments:_},events:d}}let tx=new Map,tA=new Map;async function tP(t={}){let e=t.root??tN,i=await tI(e),s=[];for(let t of i){let e=tx.get(t.filePath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes&&e.cwd===t.cwd){s.push(e.meta);continue}try{let{meta:e}=await tC(t);tx.set(t.filePath,{meta:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes,cwd:t.cwd}),s.push(e)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function tD(t,e={}){let i,s=e.root??tN;for(let e of(await tI(s)))if(e.conversationId===t){i=e;break}if(!i)return null;let n=tA.get(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 tC(i),r={...a,events:o};return tA.set(i.filePath,{detail:r,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes,cwd:i.cwd}),r}let tU=(e=s.default.homedir(),n.default.join(e,".config","Claude","local-agent-mode-sessions")),tR=/^local_[0-9a-f-]+$/;async function tz(t){return i.promises.readdir(t).catch(()=>[])}async function tB(t){let e=await i.promises.stat(t).catch(()=>null);return e?e.mtimeMs:0}async function tF(t){let e=[];for(let s of(await tz(t))){let a=n.default.join(t,s);for(let t of(await tz(a))){let s=n.default.join(a,t),o=await tB(n.default.join(s,"spaces.json"));for(let t of(await tz(s))){if(!tR.test(t))continue;let a=n.default.join(s,t,"audit.jsonl"),r=await i.promises.stat(a).catch(()=>null);if(!r||!r.isFile()||0===r.size)continue;let l=n.default.join(s,`${t}.json`),u=await tB(l);e.push({sessionId:t,auditPath:a,metaPath:l,workspaceDir:s,auditMtimeMs:r.mtimeMs,auditSize:r.size,metaMtimeMs:u,spacesMtimeMs:o})}}}return e}let tO=new Map;async function t$(t){let e=n.default.join(t,"spaces.json"),s=await i.promises.stat(e).catch(()=>null);if(!s)return new Map;let a=tO.get(t);if(a&&a.mtimeMs===s.mtimeMs)return a.spaceIdToPath;let o=await i.promises.readFile(e,"utf8").catch(()=>""),r=new Map;try{for(let t of JSON.parse(o).spaces??[]){let e="string"==typeof t.id?t.id:void 0,i=(Array.isArray(t.folders)?t.folders:[])[0],s="string"==typeof i?.path?i.path:void 0;e&&s&&r.set(e,s)}}catch{}return tO.set(t,{mtimeMs:s.mtimeMs,spaceIdToPath:r}),r}async function tW(t){let e=await i.promises.readFile(t,"utf8").catch(()=>"");if(!e)return{};try{let t=JSON.parse(e);return{spaceId:"string"==typeof t.spaceId?t.spaceId:void 0,userSelectedFolders:Array.isArray(t.userSelectedFolders)?t.userSelectedFolders.filter(t=>"string"==typeof t):void 0,cwd:"string"==typeof t.cwd?t.cwd:void 0,model:"string"==typeof t.model?t.model:void 0,title:"string"==typeof t.title?t.title:void 0,createdAt:"number"==typeof t.createdAt?t.createdAt:void 0,lastActivityAt:"number"==typeof t.lastActivityAt?t.lastActivityAt:void 0}}catch{return{}}}async function tE(t){let e=await i.promises.readFile(t,"utf8"),s=[];for(let t of e.split("\n")){let e=t.trim();if(e)try{s.push(JSON.parse(e))}catch{}}return s}async function tJ(t){let e,[i,s,n]=await Promise.all([tE(t.auditPath),tW(t.metaPath),t$(t.workspaceDir)]),a=(e=new Map,i.forEach((t,s)=>{if("string"!=typeof t.uuid)return;let n=e.get(t.uuid);void 0===n?e.set(t.uuid,s):void 0===i[n].timestamp&&void 0!==t.timestamp&&e.set(t.uuid,s)}),i.filter((t,i)=>"string"!=typeof t.uuid||e.get(t.uuid)===i)),{mainLines:o,subagentGroups:r}=function(t){let e=[],i=new Map;for(let s of t){let t=s.parent_tool_use_id;if("string"==typeof t){let e=i.get(t);e?e.push(s):i.set(t,[s])}else e.push(s)}return{mainLines:e,subagentGroups:i}}(a),{meta:l,events:u}=m(o),d=function(t,e,i){if(0===t.size)return[];let s=new Map;for(let i of e){let e=i.message?.content;if(Array.isArray(e)){for(let n of e)if(n&&"object"==typeof n){if("tool_use"===n.type&&"Agent"===n.name&&"string"==typeof n.id){let t=n.input??{},e=s.get(n.id)??{};"string"==typeof i.uuid&&(e.parentUuid=i.uuid),"string"==typeof t.description&&(e.description=t.description),"string"==typeof t.subagent_type&&(e.agentType=t.subagent_type),"string"==typeof t.prompt&&(e.prompt=t.prompt),s.set(n.id,e)}else if("tool_result"===n.type&&"string"==typeof n.tool_use_id&&t.has(n.tool_use_id)){let t=s.get(n.tool_use_id)??{};t.finalText=function(t){if("string"==typeof t)return t;if(Array.isArray(t)){let e=[];for(let i of t)if(i&&"object"==typeof i&&"text"===i.type){let t=i.text;"string"==typeof t&&e.push(t)}if(e.length)return e.join("\n")}}(n.content)??t.finalText,s.set(n.tool_use_id,t)}}}}let n=[];for(let[e,a]of t){let t=W(a),o=s.get(e)??{},r=o.finalText??t.finalText,l=r?r.replace(/\s+/g," ").trim().slice(0,240):t.finalPreview,u=void 0!==i&&void 0!==t.startMs?Math.max(0,t.startMs-i):void 0,d=void 0!==i&&void 0!==t.endMs?Math.max(0,t.endMs-i):void 0,c=void 0!==t.startMs&&void 0!==t.endMs?t.endMs-t.startMs:void 0;n.push({agentId:e,agentType:o.agentType??"unknown",description:o.description??(o.prompt?o.prompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),startMs:t.startMs,endMs:t.endMs,durationMs:c,startTOffsetMs:u,endTOffsetMs:d,eventCount:t.eventCount,totalUsage:t.totalUsage,parentUuid:o.parentUuid,parentToolUseId:e,runInBackground:!1,finalPreview:l,finalText:r,prompt:o.prompt,model:t.model,toolCalls:t.toolCalls,toolCallCount:t.toolCallCount,assistantMessageCount:t.assistantMessageCount})}return n.sort((t,e)=>(t.startMs??0)-(e.startMs??0)),n}(r,a,l.firstTimestamp?Date.parse(l.firstTimestamp):void 0),{projectName:c,projectDir:p,cwd:f}=function(t,e){let i;if(t.spaceId&&(i=e.get(t.spaceId)),!i&&t.userSelectedFolders&&t.userSelectedFolders.length>0&&(i=t.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:t.sessionId,sessionId:t.sessionId,filePath:t.auditPath,projectName:c,projectDir:p,cwd:f??l.cwd,model:l.model??s.model},events:u,subagents:d}}function tL(t){return{auditMtimeMs:t.auditMtimeMs,auditSize:t.auditSize,metaMtimeMs:t.metaMtimeMs,spacesMtimeMs:t.spacesMtimeMs}}function tG(t,e){return t.auditMtimeMs===e.auditMtimeMs&&t.auditSize===e.auditSize&&t.metaMtimeMs===e.metaMtimeMs&&t.spacesMtimeMs===e.spacesMtimeMs}let tq=new Map,tH=new Map;async function tK(t={}){let e=t.root??tU,i=await tF(e),s=[];for(let t of i){let e=tL(t),i=tq.get(t.auditPath);if(i&&tG(i.key,e)){s.push(i.meta);continue}try{let{meta:i}=await tJ(t);tq.set(t.auditPath,{meta:i,key:e}),s.push(i)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function tY(t,e={}){let i=e.root??tU,s=(await tF(i)).find(e=>e.sessionId===t);if(!s)return null;let n=tL(s),a=tH.get(s.auditPath);if(a&&tG(a.key,n))return a.detail;let{meta:o,events:r,subagents:l}=await tJ(s),u={...o,events:r,...l.length?{subagents:l}:{}};return tH.set(s.auditPath,{detail:u,key:n}),u}function tZ(){let t=process.env.GROK_HOME||n.default.join(s.default.homedir(),".grok");return n.default.join(t,"sessions")}let tQ=n.default.join(s.default.homedir(),".grok","sessions");async function tV(t){return i.promises.readdir(t).catch(()=>[])}async function tX(t){let e=await i.promises.readFile(t,"utf8").catch(()=>null);if(null==e)return null;try{return JSON.parse(e)}catch{return null}}async function t0(t,e){let s=n.default.join(t,".cwd"),a=await i.promises.readFile(s,"utf8").catch(()=>null);if(a&&a.trim())return a.trim();try{return decodeURIComponent(e)}catch{return e}}async function t1(t){let e=[];for(let s of(await tV(t))){if("session_search.sqlite"===s||s.startsWith("."))continue;let a=n.default.join(t,s),o=await i.promises.stat(a).catch(()=>null);if(!o?.isDirectory())continue;let r=await t0(a,s);for(let t of(await tV(a))){if("prompt_history.jsonl"===t||t.startsWith("."))continue;let o=n.default.join(a,t),l=n.default.join(o,"summary.json"),u=n.default.join(o,"updates.jsonl"),d=n.default.join(o,"signals.json"),[c,p,m]=await Promise.all([i.promises.stat(l).catch(()=>null),i.promises.stat(u).catch(()=>null),i.promises.stat(d).catch(()=>null)]);if(!c?.isFile())continue;let f=Math.max(c.mtimeMs,p?.mtimeMs??0),g=(p?.size??0)+c.size;e.push({dirPath:o,updatesPath:u,summaryPath:l,signalsPath:m?.isFile()?d:null,sessionId:t,groupName:s,decodedCwd:r,mtimeMs:f,sizeBytes:g})}}return e}function t2(){return{input:0,output:0,cacheRead:0,cacheWrite:0}}function t8(t){return t.replace(/\s+/g," ").trim().slice(0,200)}function t3(t){return t?"string"==typeof t?t:"string"==typeof t.text?t.text:"":""}async function t4(t){let e,s,n,a,r,[l,u,d]=await Promise.all([tX(t.summaryPath),t.signalsPath?tX(t.signalsPath):Promise.resolve(null),i.promises.readFile(t.updatesPath,"utf8").catch(()=>"")]),c=l?.info?.id??t.sessionId,p=l?.info?.cwd??t.decodedCwd,m=l?.current_model_id??u?.primaryModelId??u?.modelsUsed?.[0],f=[],g=t2();u?.contextTokensUsed&&u.contextTokensUsed>0&&(g.input=u.contextTokensUsed);let h=0,w=0,M=[],v=0,_=new Set,k=0;function N(t){f.push(t),function(t,i){if(!t||"meta"===i)return;e||(e=t),s=t;let n=Date.parse(t);Number.isFinite(n)&&M.push(n)}(t.timestamp,t.role)}let T=null;function j(){if(!T)return;let t=T.texts.join(""),e=t8(t);if("user"===T.kind){let i=!t||(0,o.isFrameworkInjectedUserInput)(t);t&&!i&&(n||(n=e),a=e,w+=1),t&&N({index:v++,timestamp:T.firstTs,role:"user",rawType:"grok/user_message",preview:e,blocks:[{type:"text",text:t}],messageId:T.promptId,raw:1===T.raw.length?T.raw[0]:T.raw})}else"agent"===T.kind?(t&&(r=e),t&&N({index:v++,timestamp:T.firstTs,role:"agent",rawType:"grok/agent_message",preview:e,blocks:[{type:"text",text:t}],messageId:T.promptId,model:T.model??m,raw:1===T.raw.length?T.raw[0]:T.raw})):"thought"===T.kind&&t&&N({index:v++,timestamp:T.firstTs,role:"agent-thinking",rawType:"grok/agent_thought",preview:e,blocks:[{type:"thinking",thinking:t}],messageId:T.promptId,model:T.model??m,raw:1===T.raw.length?T.raw[0]:T.raw});T=null}function b(t,e,i,s,n,a){(e||"user"!==t)&&(T&&T.kind!==t&&j(),T||(T={kind:t,texts:[],firstTs:i,lastTs:i,model:n,promptId:s,raw:[]}),e&&T.texts.push(e),T.lastTs=i??T.lastTs,n&&(T.model=n),s&&(T.promptId=s),T.raw.push(a))}for(let t of d.split("\n")){let e,i=t.trim();if(!i)continue;try{e=JSON.parse(i)}catch{continue}let s=e.params?.update;if(!s||"object"!=typeof s)continue;let n=s.sessionUpdate;if(!n)continue;let a=function(t){let e=t.params?._meta,i=e&&"number"==typeof e.agentTimestampMs?e.agentTimestampMs:void 0;if(null!=i&&Number.isFinite(i))return new Date(i).toISOString();let s=t.timestamp;if("number"==typeof s&&Number.isFinite(s))return new Date(s>1e12?s:1e3*s).toISOString()}(e),o=e.params?._meta??{},r=s._meta??{},l="string"==typeof o.promptId&&o.promptId||"string"==typeof r.promptId&&r.promptId||void 0,u="string"==typeof r.modelId&&r.modelId||"string"==typeof o.modelId&&o.modelId||void 0;u&&(m=u);let d=o.totalTokens;if("number"==typeof d&&d>k&&(k=d),"user_message_chunk"===n){b("user",t3(s.content),a,l,u,e);continue}if("agent_message_chunk"===n){b("agent",t3(s.content),a,l,u,e);continue}if("agent_thought_chunk"===n){b("thought",t3(s.content),a,l,u,e);continue}if(j(),"tool_call"===n){let t="string"==typeof s.toolCallId?s.toolCallId:`grok-${v}`,i=function(t){let e=t._meta;if(e&&"object"==typeof e){let t=e["x.ai/tool"];if(t&&"object"==typeof t){let e=t.name;if("string"==typeof e&&e)return e}}return"string"==typeof t.title&&t.title?(!t.title.includes(" ")&&!t.title.includes("`"),t.title):"tool"}(s),n=s.rawInput??{},o=n?JSON.stringify(n):"";h+=1,N({index:v++,timestamp:a,role:"tool-call",rawType:"grok/tool_call",preview:`${i}(${o.length<=80?o:o.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:t,name:i,input:n}],toolName:i,toolUseId:t,model:m,raw:e});continue}if("tool_call_update"===n){let t=function(t){let e=t.status;return"string"==typeof e?e:e&&"object"==typeof e&&"string"==typeof e.status?e.status:void 0}(s);if("completed"!==t&&"failed"!==t&&"error"!==t&&"cancelled"!==t)continue;let i="string"==typeof s.toolCallId?s.toolCallId:"";if(i&&_.has(i))continue;i&&_.add(i);let n=function(t){let e=t.content;if(Array.isArray(e)){let t=[];for(let i of e){if(!i||"object"!=typeof i)continue;if("string"==typeof i.text&&i.text){t.push(i.text);continue}let e=i.content;"string"==typeof e&&e?t.push(e):e&&"object"==typeof e&&"string"==typeof e.text&&t.push(e.text)}if(t.length)return t.join("\n")}let i=t.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 t=i.Content;if("string"==typeof t.content)return t.content}if(i.TodosUpdated&&"object"==typeof i.TodosUpdated){let t=i.TodosUpdated;if("string"==typeof t.summary_for_prompt)return t.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)}(s),o="failed"===t||"error"===t||"cancelled"===t;N({index:v++,timestamp:a,role:"tool-result",rawType:"grok/tool_result",preview:t8(n),blocks:[{type:"tool_result",tool_use_id:i,content:n,is_error:o||void 0}],toolUseId:i||void 0,toolResult:n,raw:e});continue}if("turn_completed"===n)continue}j(),0===g.input&&k>0&&(g.input=k),!e&&l?.created_at&&(e=l.created_at),s||(s=l?.last_active_at??l?.updated_at??e),u?.toolCallCount!=null&&u.toolCallCount>h&&(h=u.toolCallCount),u?.turnCount!=null&&u.turnCount>w&&(w=u.turnCount);let I=e?Date.parse(e):void 0;if(void 0!==I&&Number.isFinite(I)){let t;for(let e of f){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-I),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let S=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],n=e[0];for(let t=1;t<e.length;t++){let a=e[t];a-n>18e4&&(i.push({startMs:s,endMs:n}),s=a),n=a}return i.push({startMs:s,endMs:n}),i}(M),C=S.reduce((t,e)=>t+(e.endMs-e.startMs),0),x=e&&s?Date.parse(s)-Date.parse(e):void 0,A=p?y(p):void 0,P=A?.projectName??p??t.decodedCwd,D=t.groupName||(p?encodeURIComponent(p):"(unknown)");if(!n){let t=l?.generated_title||l?.session_summary;t&&(n=t8(t))}let U=await t9(t.dirPath);return{meta:{agent:"grok",id:c,filePath:t.updatesPath,projectName:P,worktreeName:A?.worktreeName,repoName:A?.repoName,projectDir:D,sessionId:c,firstTimestamp:e,lastTimestamp:s,lastActivityMs:s?Date.parse(s):void 0,durationMs:x&&Number.isFinite(x)?x:void 0,eventCount:f.length,model:m,cwd:p,gitBranch:l?.head_branch,agentName:l?.agent_name,totalUsage:g,status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:r,toolCallCount:h,turnCount:w,linesAdded:u?.agentLinesAdded,linesRemoved:u?.agentLinesRemoved,airTimeMs:C,activeSegments:S,...U>0?{spawnedAgentCount:U}:{}},events:f,sessionKind:l?.session_kind}}async function t9(t){let e=n.default.join(t,"subagents"),s=await tV(e),a=0;for(let t of s){let s=await i.promises.stat(n.default.join(e,t)).catch(()=>null);s?.isDirectory()&&(a+=1)}return a}async function t6(t,e){let i=n.default.join(t.dirPath,"subagents"),s=await tV(i),a=n.default.dirname(t.dirPath),o=[];for(let t of s){let s=n.default.join(i,t,"meta.json"),r=await tX(s);if(!r)continue;let l=r.child_session_id??r.subagent_id??t,u=n.default.join(a,l),[d,c]=await Promise.all([tX(n.default.join(u,"summary.json")),tX(n.default.join(u,"signals.json"))]),p=d?.created_at?Date.parse(d.created_at):void 0,m=d?.last_active_at??d?.updated_at,f=m?Date.parse(m):void 0,g=void 0!==p&&Number.isFinite(p)?p:void 0,y=void 0!==f&&Number.isFinite(f)?f:void 0,h=t2();c?.contextTokensUsed&&(h.input=c.contextTokensUsed),o.push({agentId:l,agentType:r.subagent_type??d?.agent_name??"subagent",description:r.description&&r.description.trim()||d?.generated_title||d?.session_summary||l,startMs:g,endMs:y,durationMs:void 0!==g&&void 0!==y?Math.max(0,y-g):void 0,startTOffsetMs:void 0!==e&&void 0!==g?Math.max(0,g-e):void 0,endTOffsetMs:void 0!==e&&void 0!==y?Math.max(0,y-e):void 0,eventCount:d?.num_messages??d?.num_chat_messages??0,totalUsage:h,prompt:"string"==typeof r.prompt?r.prompt:void 0,model:d?.current_model_id??c?.primaryModelId,toolCallCount:c?.toolCallCount})}return o.sort((t,e)=>(t.startMs??0)-(e.startMs??0)),o}let t7=new Map,t5=new Map;async function et(t={}){let e=t.root??tZ(),i=await t1(e),s=[];for(let t of i){let e=await tX(t.summaryPath);if(e?.session_kind==="subagent")continue;let i=t7.get(t.dirPath);if(i&&i.mtimeMs===t.mtimeMs&&i.sizeBytes===t.sizeBytes){s.push(i.meta);continue}try{let{meta:e,sessionKind:i}=await t4(t);if("subagent"===i)continue;t7.set(t.dirPath,{meta:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),s.push(e)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function ee(t,e={}){let i=e.root??tZ(),s=await t1(i),n=s.find(e=>e.sessionId===t);if(!n){for(let e of s)try{let{meta:i,events:s}=await t4(e);if(i.id===t){let t={...i,events:s};return t5.set(e.dirPath,{detail:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),t}}catch{}return null}let a=t5.get(n.dirPath);if(a&&a.mtimeMs===n.mtimeMs&&a.sizeBytes===n.sizeBytes)return a.detail;let{meta:o,events:r}=await t4(n),l=o.firstTimestamp?Date.parse(o.firstTimestamp):void 0,u=await t6(n,void 0!==l&&Number.isFinite(l)?l:void 0),d={...o,events:r,...u.length>0?{subagents:u,spawnedAgentCount:u.length}:{}};return t5.set(n.dirPath,{detail:d,mtimeMs:n.mtimeMs,sizeBytes:n.sizeBytes}),t7.set(n.dirPath,{meta:{...o,...u.length>0?{spawnedAgentCount:u.length}:{}},mtimeMs:n.mtimeMs,sizeBytes:n.sizeBytes}),d}function ei(){return process.env.CCLENS_HOME||n.default.join(s.default.homedir(),".cclens")}function es(...t){return n.default.join(ei(),...t)}function en(t){b(t)}let ea=[G,{...a.CODEX_METADATA,defaultRoot:q,listSessions:async t=>ts(t),getSession:async t=>tn(t),async usagePoller(){let t=await to();return t?{captured_at:new Date().toISOString(),agent:"codex",five_hour:t.five_hour,seven_day:t.seven_day,plan_type:t.plan_type}:null}},{...a.GEMINI_METADATA,defaultRoot:tr,listSessions:async t=>t_(t),getSession:async t=>tk(t)},{...a.ANTIGRAVITY_METADATA,defaultRoot:tN,listSessions:async t=>tP(t),getSession:async t=>tD(t)},{...a.COWORK_METADATA,defaultRoot:tU,listSessions:async t=>tK(t),getSession:async t=>tY(t)},{...a.GROK_METADATA,defaultRoot:tQ,listSessions:async t=>et(t),getSession:async(t,e)=>ee(t,e)}];async function eo(t={}){let e=await Promise.all(ea.map(e=>e.listSessions(t))),i=[];for(let t of e)i.push(...t);return(i.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?i.slice(0,t.limit):i}async function er(t){for(let e of ea){let i=await e.getSession(t);if(i)return i}return null}function el(){return es("usage.jsonl")}function eu(t){let e=el();(0,i.mkdirSync)(n.default.dirname(e),{recursive:!0}),(0,i.appendFileSync)(e,JSON.stringify(t)+"\n","utf8")}function ed(t){let e=el();if(!(0,i.existsSync)(e))return;let s=(0,i.readFileSync)(e,"utf8").split("\n").filter(e=>{if(!e.trim())return!1;try{return JSON.parse(e).agent!==t}catch{return!0}});(0,i.mkdirSync)(n.default.dirname(e),{recursive:!0}),(0,i.writeFileSync)(e,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.latestUsageSnapshot)(),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,currentUsage:v,version:"0.16.1",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.latestUsageSnapshot)(),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,currentUsage:v,version:"0.16.3",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
|