fleetlens 0.10.2 → 0.10.4
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.js.nft.json +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/changelog/page.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/projects/[slug]/page.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/usage/page.js.nft.json +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]__02px2mk._.js +1 -1
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0vm_41a._.js +1 -1
- package/app/apps/web/.next/server/chunks/packages_entries_dist_node_0bckr7-.js +6 -6
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0.za3_3._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/_0xu2pvc._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_0m67-xi._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_12.endt._.js +1 -1
- package/app/apps/web/.next/server/middleware-build-manifest.js +3 -3
- 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/08nun7x9h-ro1.js +14 -0
- 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 +387 -58
- package/dist/index.js +269 -189
- package/package.json +6 -1
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0s4dg1y._.js +0 -3
- package/app/apps/web/.next/static/chunks/063r4x2.9csh8.js +0 -14
- /package/app/apps/web/.next/static/{XTns3Y6jHWmb7EYKzQi55 → _8He0IMRxt70EDQL1JOFe}/_buildManifest.js +0 -0
- /package/app/apps/web/.next/static/{XTns3Y6jHWmb7EYKzQi55 → _8He0IMRxt70EDQL1JOFe}/_clientMiddlewareManifest.js +0 -0
- /package/app/apps/web/.next/static/{XTns3Y6jHWmb7EYKzQi55 → _8He0IMRxt70EDQL1JOFe}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[30375,a=>{"use strict";let b={kind:"claude-code",displayName:"Claude Code",shortLabel:"Claude",accentColor:"var(--af-accent)",iconChar:"✦"},c={kind:"codex",displayName:"Codex (OpenAI)",shortLabel:"Codex",accentColor:"rgb(16, 163, 127)",iconChar:"◆"},d={kind:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"},e=[b,c,d],f=new Set(e.map(a=>a.kind));a.s(["CLAUDE_CODE_METADATA",0,b,"CODEX_METADATA",0,c,"GEMINI_METADATA",0,d,"agentMetadata",0,e,"getAgentMetadata",0,function(a){return e.find(b=>b.kind===a)},"isAgentKind",0,function(a){return"string"==typeof a&&f.has(a)}])},10687,79053,98049,a=>{"use strict";let b={sonnet:{input:3,output:15,cacheRead:.3,cache_1h:3.75,cache_5m:3.75},opus:{input:5,output:25,cacheRead:.5,cache_1h:6.25,cache_5m:6.25},haiku:{input:1,output:5,cacheRead:.1,cache_1h:1.25,cache_5m:1.25}};function c(a,b,c){let d=0;for(;d<c;){let e=d+c>>>1;a[e]<b?d=e+1:c=e}return d}function d(a,b,d){if(d<=b)return 0;let e=a.ts.length,f=c(a.ts,b,e),g=c(a.ts,d,e);return a.cum[g]-a.cum[f]}a.s(["RATE_PER_PCT_5H",0,{pro:.2,"pro-max":.4,"pro-max-20x":2,custom:2},"RATE_PER_PCT_7D",0,{pro:1.2,"pro-max":2.4,"pro-max-20x":12,custom:12},"buildSpendIndex",0,function(a){let c=a.map(a=>({e:a,t:Date.parse(a.ts)})).filter(a=>!Number.isNaN(a.t)).sort((a,b)=>a.t-b.t),d=new Float64Array(c.length),e=new Float64Array(c.length+1),f=0;for(let a=0;a<c.length;a++)d[a]=c[a].t,e[a]=f,f+=function(a){let c=b[a.family];return(a.input*c.input+a.output*c.output+a.cacheRead*c.cacheRead+a.cache_1h*c.cache_1h+a.cache_5m*c.cache_5m)/1e6}(c[a].e);return e[c.length]=f,{ts:d,cum:e}},"collectSnapPairRates",0,function(a,b,c){let e=c?.minTravelPct??1,f=c?.minDollars??1,g=c?.maxGapMs??864e5,h=[];for(let[c,i]of a)for(let a=1;a<i.length;a++){let j=i[a-1],k=i[a],l=k.ts-j.ts,m=k.pct-j.pct;if(l<=0||l>g||m<e)continue;let n=d(b,j.ts,k.ts);n<f||h.push({cycleEndMs:c,rate:n/m,travel:m,dollars:n,gapMs:l})}return h},"groupSnapsByCycle",0,function(a,b){let c=new Map;for(let d of a){if(!d.captured_at)continue;let a=b(d);if(!a?.resets_at||"number"!=typeof a.utilization)continue;let e=Date.parse(d.captured_at),f=Date.parse(a.resets_at);if(Number.isNaN(e)||Number.isNaN(f))continue;let g=36e5*Math.round(f/36e5),h=c.get(g)??[];h.push({ts:e,pct:a.utilization}),c.set(g,h)}for(let a of c.values())a.sort((a,b)=>a.ts-b.ts);return c},"modelFamily",0,function(a){let b=(a??"").toLowerCase();return b&&"<synthetic>"!==b?b.includes("haiku")?"haiku":b.includes("opus")?"opus":b.includes("sonnet")?"sonnet":null:null},"predictAnchored",0,function(a,b,c,e,f,g){let h=e-36e5*f;if(c<=0&&(c=1),0===b.length)return Math.max(0,d(a,h,g)/c);let i=-1;for(let a=0;a<b.length;a++)if(b[a].ts<=g)i=a;else break;if(i>=0&&i+1<b.length){let c=b[i],e=b[i+1];if(e.pct===c.pct)return c.pct;let f=d(a,c.ts,e.ts);if(f<=0){let a=(g-c.ts)/(e.ts-c.ts);return c.pct+(e.pct-c.pct)*a}let h=d(a,c.ts,g);return c.pct+(e.pct-c.pct)*(h/f)}if(i>=0){let e=b[i];return e.pct+d(a,e.ts,g)/c}let j=b[0];if(g<=h)return 0;let k=d(a,h,j.ts);if(k<=0){let a=(g-h)/(j.ts-h);return j.pct*a}let l=d(a,h,g);return j.pct*(l/k)},"userSoloRate",0,function(a,b=.9){if(a.length<3)return null;let c=a.map(a=>a.rate).sort((a,b)=>a-b),d=Math.min(Math.floor(c.length*b),c.length-1);return c[d]}],10687);let e=[/<system_instruction\b[^>]*>[\s\S]*?<\/system_instruction>\s*/gi],f=["<command-name>","<local-command-stdout>","<local-command-caveat>","<task-notification>","Base directory for this skill:"];function g(a){if(!a)return a;let b=a;for(let a of e)b=b.replace(a,"");return b.trim()}function h(a){if(!a)return!1;let b=g(a);if(!b)return!0;for(let a of f)if(b.startsWith(a))return!0;return!1}a.s(["isFrameworkInjectedUserInput",0,h,"stripFrameworkBoilerplate",0,g],79053);let i={input:0,output:0,cacheRead:0,cacheWrite:0};function j(a,b=200){let c=a.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return c.length>b?c.slice(0,b-1)+"…":c}let k=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function l(a){let b=a.match(k);if(!b)return;let c=b[1],d=b[2].trim(),e="message";if(d.startsWith("{"))try{let a=JSON.parse(d);"idle_notification"===a.type?e="idle-notification":"shutdown_request"===a.type?e="shutdown-request":"shutdown_approved"===a.type?e="shutdown-approved":"task_assignment"===a.type?e="task-assignment":"teammate_terminated"===a.type&&(e="teammate-terminated")}catch{}return{teammateId:c,body:d,kind:e}}function m(a){if(!a||"object"!=typeof a)return;let b=a=>"number"==typeof a?a:0;return{input:b(a.input_tokens),output:b(a.output_tokens),cacheRead:b(a.cache_read_input_tokens),cacheWrite:b(a.cache_creation_input_tokens)}}a.s(["parseTranscript",0,function(a){let b,c,d,e,f,k,n,o,p,q=[];for(let b=0;b<a.length;b++){let c=function(a,b){if(!a||"object"!=typeof a)return null;let c=String(a.type??""),d=a.uuid,e=a.parentUuid??null,f=a.timestamp;if("assistant"===c){let g,h,i,k=a.message??{},l=k.content??[],n=m(k.usage),o=k.model,p=a.requestId,q=k.id,r=k.stop_reason,s=l[0],t="agent";return s?.type==="thinking"?(t="agent-thinking",g="[thinking] "+j(s.thinking,140)):s?.type==="tool_use"?(t="tool-call",h=s.name,i=s.id,g=`${s.name} `+j(JSON.stringify(s.input??{}),100)):g=s?.type==="text"?j(s.text,200):`<assistant:${s?.type??"empty"}>`,{index:b,uuid:d,parentUuid:e,timestamp:f,role:t,rawType:c,preview:g,blocks:l,usage:n,model:o,requestId:p,messageId:q,stopReason:r,toolName:h,toolUseId:i,raw:a}}if("user"===c){let h=(a.message??{}).content;if("string"==typeof h){let i=g(h),k=l(i);return{index:b,uuid:d,parentUuid:e,timestamp:f,role:"user",rawType:c,preview:j(i,200),blocks:i?[{type:"text",text:i}]:[],raw:a,teammateMessage:k}}if(Array.isArray(h)){let i=h[0];if(i?.type==="tool_result")return{index:b,uuid:d,parentUuid:e,timestamp:f,role:"tool-result",rawType:c,preview:j("string"==typeof i.content?i.content:JSON.stringify(i.content),200),blocks:h,toolUseId:i.tool_use_id,toolResult:a.toolUseResult,raw:a};let k=h.find(a=>a?.type==="text"),m=k?g(k.text):"",n=k?h.map(a=>a===k?{type:"text",text:m}:a):h,o=m?l(m):void 0;return{index:b,uuid:d,parentUuid:e,timestamp:f,role:"user",rawType:c,preview:m?j(m,200):j(JSON.stringify(h),200),blocks:n,raw:a,teammateMessage:o}}}if("attachment"===c){let g=a.attachment??{},h=String(g.type??"attachment"),i=`<attachment: ${h}>`;return"string"==typeof g.content&&g.content.length>0?i=`[${h}] `+j(g.content,140):Array.isArray(g.addedNames)&&(i=`[${h}] +${g.addedNames.length} names`),{index:b,uuid:d,parentUuid:e,timestamp:f,role:"system",rawType:c,preview:i,blocks:[{type:"text",text:JSON.stringify(g,null,2)}],attachmentType:h,raw:a}}return{index:b,uuid:d,parentUuid:e,timestamp:f,role:"meta",rawType:c||"unknown",preview:`${c}: ${j(JSON.stringify(a),140)}`,blocks:[{type:"text",text:JSON.stringify(a,null,2)}],raw:a}}(a[b],b);c&&q.push(c)}let r=q.map(a=>a.timestamp?Date.parse(a.timestamp):void 0).filter(a=>"number"==typeof a&&!Number.isNaN(a)),s=r.length?Math.min(...r):void 0,t=r.length?Math.max(...r):void 0,u=void 0!==s?new Date(s).toISOString():void 0,v=void 0!==t?new Date(t).toISOString():void 0;for(let a of q){if(!a.timestamp)continue;let b=Date.parse(a.timestamp);Number.isNaN(b)||void 0!==s&&(a.tOffsetMs=Math.max(0,b-s))}let w=q.filter(a=>{let b;return a.timestamp&&("user"===(b=a.role)||"agent"===b||"agent-thinking"===b||"tool-call"===b||"tool-result"===b)}).map(a=>({e:a,ms:Date.parse(a.timestamp)})).filter(a=>!Number.isNaN(a.ms)).sort((a,b)=>a.ms-b.ms);for(let a=1;a<w.length;a++)w[a].e.gapMs=Math.max(0,w[a].ms-w[a-1].ms);let x=q.filter(a=>a.timestamp).map(a=>Date.parse(a.timestamp)).filter(a=>!Number.isNaN(a)).sort((a,b)=>a-b),y=[],z=0;if(x.length>0){let a=x[0],b=x[0];for(let c=1;c<x.length;c++){let d=x[c],e=d-b;e>18e4?(y.push({startMs:a,endMs:b}),a=d):e>0&&(z+=e),b=d}y.push({startMs:a,endMs:b})}let A=new Map,B=[];for(let a of q){if(!a.timestamp)continue;let b=Date.parse(a.timestamp);if(!Number.isNaN(b)){if("assistant"===a.rawType&&a.usage&&a.messageId){let c=A.get(a.messageId);c?(c.siblings.push(a),b<c.ms&&(c.rep=a,c.ms=b)):A.set(a.messageId,{rep:a,ms:b,siblings:[a]})}else if("system"===a.rawType){let c=a.raw;if(c?.subtype!=="compact_boundary")continue;let d=c.compactMetadata??{};B.push({ms:b,trigger:"manual"===d.trigger?"manual":"auto",preTokens:"number"==typeof d.preTokens?d.preTokens:0})}}}let C=[...A.values()].sort((a,b)=>a.ms-b.ms);B.sort((a,b)=>a.ms-b.ms);let D=0,E=0,F=(a,b)=>{for(let c of a.siblings)c.coldResume=b;D++,E+=b.writeTokens},G=new Set;for(let a of B){let b,c=C.find(b=>b.ms>a.ms&&(b.rep.usage?.cacheWrite??0)>=1e3);if(!c)continue;for(let c=C.length-1;c>=0;c--)if(C[c].ms<=a.ms){b=C[c].ms;break}let d=c.rep.usage,e=d.cacheWrite+d.cacheRead;F(c,{trigger:"compact",gapMs:void 0!==b?c.ms-b:0,writeTokens:d.cacheWrite,writeRatio:e>0?d.cacheWrite/e:0,compact:{trigger:a.trigger,preTokens:a.preTokens}}),G.add(c.rep.messageId)}for(let a=1;a<C.length;a++){let b=C[a-1],c=C[a];if(G.has(c.rep.messageId))continue;let d=c.rep.usage,e=d.cacheWrite+d.cacheRead,f=e>0?d.cacheWrite/e:0,g=c.ms-b.ms;g>3e5&&d.cacheWrite>=1e3&&f>=.3&&F(c,{trigger:"idle",gapMs:g,writeTokens:d.cacheWrite,writeRatio:f})}let H={...i},I=new Set,J="",K=!1,L=!1,M=0,N=0,O=0,P=0,Q=new Set;for(let a of q){if("tool-call"===a.role){M++;let b=a.blocks.find(a=>a&&"tool_use"===a.type);if(b){let a=b.input??{};if("TeamCreate"===b.name&&(K=!0),"SendMessage"===b.name){let b="string"==typeof a.to?a.to:"";b&&"team-lead"!==b&&(L=!0)}let c="string"==typeof a.file_path?a.file_path:void 0;if("Edit"===b.name&&c){Q.add(c);let b="string"==typeof a.old_string?a.old_string:"",d="string"==typeof a.new_string?a.new_string:"",e=b?b.split("\n").length:0,f=d?d.split("\n").length:0;O+=Math.max(0,f-e),P+=Math.max(0,e-f)}else if("Write"===b.name&&c){Q.add(c);let b="string"==typeof a.content?a.content:"";O+=b?b.split("\n").length:0}}}if("user"===a.role){let b=h(function(a){let b=a?.content;if("string"==typeof b)return b;if(Array.isArray(b)){for(let a of b)if(a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text)return a.text}return""}(a.raw?.message)),c=void 0!==a.teammateMessage&&!k;b||c||(n||(n=a.teammateMessage?a.teammateMessage.body:a.preview),N++,p=a.preview)}"agent"===a.role&&(o=a.preview)}for(let g of a)if(g&&"object"==typeof g&&("string"!=typeof g.sessionId||J||(J=g.sessionId),"string"!=typeof g.cwd||c||(c=g.cwd),"string"!=typeof g.gitBranch||d||(d=g.gitBranch),"string"!=typeof g.entrypoint||e||(e=g.entrypoint),"string"!=typeof g.teamName||f||(f=g.teamName),"string"!=typeof g.agentName||k||(k=g.agentName),"assistant"===g.type)){let a=g.message;if(a){"string"!=typeof a.model||b||(b=a.model);let c="string"==typeof a.id?a.id:void 0,d="string"==typeof g.requestId?g.requestId:void 0,e=null!=c?`${c}:${d??""}`:void 0;if(e&&I.has(e))continue;e&&I.add(e);let f=m(a.usage);f&&(H.input+=f.input,H.output+=f.output,H.cacheRead+=f.cacheRead,H.cacheWrite+=f.cacheWrite)}}return{events:q,meta:{sessionId:J,firstTimestamp:u,lastTimestamp:v,durationMs:void 0!==s&&void 0!==t?t-s:void 0,eventCount:q.length,model:b,cwd:c,gitBranch:d,entrypoint:e,totalUsage:H,status:"idle",firstUserPreview:n,lastUserPreview:p,lastAgentPreview:o,toolCallCount:M,turnCount:N,airTimeMs:z,activeSegments:y,linesAdded:O,linesRemoved:P,filesEdited:Q.size,coldResumeCount:D,cacheRebuildTokens:E,teamName:f,agentName:k,isTeamLead:void 0!==f&&void 0===k&&(K||L)}}}],98049)},48024,a=>{"use strict";let b={input:0,output:0,cacheRead:0,cacheWrite:0};function c(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}let d=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],e=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/;function f(a){for(let b of d){let c=a.lastIndexOf(b);if(c>=0)return{idx:c,marker:b}}return null}function g(a){let b=e.exec(a);if(!b)return null;let c=b[1],d=+!!b[0].endsWith("/");return{canonicalEndIdx:b.index+b[0].length-c.length-1-d,workspaceName:c}}function h(a){let b=a.replace(/\/{2,}/g,"/"),c=f(b);if(c)return b.slice(0,c.idx);let d=g(b);return d?b.slice(0,d.canonicalEndIdx):b}function i(a){let b=a.replace(/\/{2,}/g,"/"),c=f(b);if(c){let a=b.slice(c.idx+c.marker.length),d=a.indexOf("/");return d>=0?a.slice(0,d):a}let d=g(b);return d?d.workspaceName:null}function j(a){return{date:a,sessions:0,toolCalls:0,turns:0,tokens:{...b},durationMs:0,airTimeMs:0,peakParallelism:0}}let k=/gh\s+pr\s+create\b/i,l=/#(\d+)/,m=/--title\s+["']([^"']+)["']/;function n(a){let c={sessionCount:a.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...b},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let b of a)c.totalDurationMs+=b.durationMs??0,c.totalAirTimeMs+=b.airTimeMs??b.durationMs??0,c.totalTokens.input+=b.totalUsage.input,c.totalTokens.output+=b.totalUsage.output,c.totalTokens.cacheRead+=b.totalUsage.cacheRead,c.totalTokens.cacheWrite+=b.totalUsage.cacheWrite,c.totalToolCalls+=b.toolCallCount??0,c.totalTurns+=b.turnCount??0,c.totalLinesAdded+=b.linesAdded??0,c.totalLinesRemoved+=b.linesRemoved??0,c.totalFilesEdited+=b.filesEdited??0;return a.length>0&&(c.avgTurnsPerSession=c.totalTurns/a.length,c.avgDurationMs=c.totalDurationMs/a.length),c}function o(a,b){let c=b.minDurationMs??6e4,d=b.mergeGapMs??6e5,e=b.minActive??2,f=[];for(let b of a)for(let a of b.segments)a.endMs<=a.startMs||(f.push({ms:a.startMs,delta:1,sessionId:b.id}),f.push({ms:a.endMs,delta:-1,sessionId:b.id}));f.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let g=new Map,h=[],i=null;for(let a of f){if(1===a.delta)g.set(a.sessionId,(g.get(a.sessionId)??0)+1);else{let b=(g.get(a.sessionId)??0)-1;b<=0?g.delete(a.sessionId):g.set(a.sessionId,b)}let b=g.size;if(b>=e)if(i)for(let c of(i.endMs=a.ms,b>i.peak&&(i.peak=b),g.keys()))i.sessionIds.add(c);else i={startMs:a.ms,endMs:a.ms,peak:b,sessionIds:new Set(g.keys())};else i&&(i.endMs=a.ms,h.push(i),i=null)}i&&h.push(i);let j=h.filter(a=>a.endMs-a.startMs>=c),k=[];for(let a of j){let b=k[k.length-1];if(b&&a.startMs-b.endMs<=d)for(let c of(b.endMs=a.endMs,a.peak>b.peak&&(b.peak=a.peak),a.sessionIds))b.sessionIds.add(c);else k.push({startMs:a.startMs,endMs:a.endMs,peak:a.peak,sessionIds:new Set(a.sessionIds)})}let l=new Map;for(let b of a)l.set(b.id,b.projectDir);return k.map(a=>{let b=Array.from(new Set(Array.from(a.sessionIds).map(a=>l.get(a)).filter(a=>!!a)));return{startMs:a.startMs,endMs:a.endMs,peak:a.peak,sessionIds:Array.from(a.sessionIds),projectDirs:b,crossProject:b.length>1}})}a.s(["buildGanttDay",0,function(a,b){let[c,d,e]=b.split("-").map(Number),f=new Date(c,d-1,e).getTime(),g=new Date(c,d-1,e+1).getTime(),h=[];for(let b of a){let a=(function(a,b=18e4){let c=a.filter(a=>a.timestamp).map(a=>Date.parse(a.timestamp)).filter(a=>!Number.isNaN(a)).sort((a,b)=>a-b);if(0===c.length)return[];let d=[],e=c[0],f=c[0];for(let a=1;a<c.length;a++){let g=c[a];g-f>b&&(d.push({startMs:e,endMs:f}),e=g),f=g}return d.push({startMs:e,endMs:f}),d})(b.events).filter(a=>a.endMs>f&&a.startMs<g).map(a=>({startMs:Math.max(a.startMs,f),endMs:Math.min(a.endMs,g)}));if(0===a.length)continue;let c=Math.min(...a.map(a=>a.startMs)),d=Math.max(...a.map(a=>a.endMs)),e=a.reduce((a,b)=>a+(b.endMs-b.startMs),0);h.push({id:b.id,agent:b.agent,projectName:b.projectName,projectDir:b.projectDir,firstUserPreview:b.firstUserPreview,lastAgentPreview:b.lastAgentPreview,model:b.model,segments:a,startMs:c,endMs:d,activeMs:e,totalUsage:b.totalUsage})}h.sort((a,b)=>a.startMs-b.startMs);let i=[];for(let a of h)for(let b of a.segments)i.push({ms:b.startMs,delta:1}),i.push({ms:b.endMs,delta:-1});i.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let j=0,k=0;for(let a of i)(j+=a.delta)>k&&(k=j);return{date:b,sessions:h,dayStartMs:f,dayEndMs:g,peakActiveParallelism:k}},"canonicalProjectName",0,h,"computeBurstsFromSessions",0,function(a,b={}){let c=[];for(let b of a)b.activeSegments&&0!==b.activeSegments.length&&c.push({id:b.id,projectDir:b.projectDir,segments:b.activeSegments});return o(c,b)},"computeParallelismBursts",0,function(a,b={}){return o(a.sessions,b)},"dailyActivity",0,function(a){let b,d;if(0===a.length)return[];let e=new Map,f=a=>{(!b||a<b)&&(b=a),(!d||a>d)&&(d=a);let c=e.get(a)??j(a);return e.set(a,c),c};for(let b of a){let a=function(a){if(!a.firstTimestamp)return;let b=Date.parse(a.firstTimestamp);if(!Number.isNaN(b))return c(b)}(b);if(a){let c=f(a);c.toolCalls+=b.toolCallCount??0,c.turns+=b.turnCount??0,c.tokens.input+=b.totalUsage.input,c.tokens.output+=b.totalUsage.output,c.tokens.cacheRead+=b.totalUsage.cacheRead,c.tokens.cacheWrite+=b.totalUsage.cacheWrite,c.durationMs+=b.durationMs??0}let d=b.activeSegments;if(d&&d.length>0){let a=new Set;for(let b of d){let d=b.startMs;for(;d<b.endMs;){let e=c(d);a.add(e);let g=new Date(d);g.setHours(24,0,0,0);let h=Math.min(g.getTime(),b.endMs),i=f(e);i.airTimeMs+=h-d,d=h}}for(let b of a){let a=f(b);a.sessions++}}else if(a){let c=f(a);c.sessions++,c.airTimeMs+=b.airTimeMs??0}}let g=b&&d?function(a,b){let[d,e,f]=a.split("-").map(Number),[g,h,i]=b.split("-").map(Number),j=new Date(d,e-1,f),k=new Date(g,h-1,i),l=[];for(let a=new Date(j);a<=k;a.setDate(a.getDate()+1))l.push(c(a.getTime()));return l}(b,d):[],h=[];for(let a of g)h.push(e.get(a)??j(a));let i=function(a){let b=[];for(let c of a)for(let a of c.activeSegments&&c.activeSegments.length>0?c.activeSegments:c.firstTimestamp&&c.lastTimestamp?(()=>{let a=Date.parse(c.firstTimestamp),b=Date.parse(c.lastTimestamp);return Number.isNaN(a)||Number.isNaN(b)||b<a?[]:[{startMs:a,endMs:b}]})():[])b.push({ms:a.startMs,delta:1,sessionId:c.id}),b.push({ms:a.endMs,delta:-1,sessionId:c.id});b.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let c=new Map,d=[];for(let a of b){if(1===a.delta)c.set(a.sessionId,(c.get(a.sessionId)??0)+1);else{let b=(c.get(a.sessionId)??0)-1;b<=0?c.delete(a.sessionId):c.set(a.sessionId,b)}d.push({atMs:a.ms,active:c.size,sessions:Array.from(c.keys()).slice(0,10)})}return d}(a),k=new Map;for(let a of i){let b=c(a.atMs),d=k.get(b)??0;a.active>d&&k.set(b,a.active)}for(let a of h)a.peakParallelism=k.get(a.date)??0;return h},"detectPrMarkers",0,function(a){let b=[],c=a.durationMs??0;for(let d of a.events){if("tool-call"!==d.role||"Bash"!==d.toolName)continue;let e=d.blocks.find(a=>a&&"type"in a&&"tool_use"===a.type);if(!e||"tool_use"!==e.type)continue;let f=e.input,g="string"==typeof f?.command?f.command:"";if(!k.test(g))continue;let h=g.match(m),i=g.match(l);b.push({sessionId:a.id,timestamp:d.timestamp??a.firstTimestamp??"",tOffsetMs:d.tOffsetMs,positionInSession:c>0&&void 0!==d.tOffsetMs?Math.min(1,Math.max(0,d.tOffsetMs/c)):void 0,command:g.slice(0,300),prNumber:i?Number(i[1]):void 0,title:h?.[1]})}return b},"groupByProject",0,function(a){let b=new Map;for(let c of a){let a=h(c.projectName),d=b.get(a);d||(d={projectDir:a,projectName:a,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:n([]),perAgent:[],lastActiveMs:void 0},b.set(a,d)),d.sessions.push(c),d.rawProjectDirs.includes(c.projectDir)||d.rawProjectDirs.push(c.projectDir);let e=c.lastTimestamp?Date.parse(c.lastTimestamp):void 0;e&&(!d.lastActiveMs||e>d.lastActiveMs)&&(d.lastActiveMs=e)}for(let a of b.values()){a.metrics=n(a.sessions);let b=new Set;for(let c of a.sessions){let a=i(c.projectName);a&&b.add(a)}a.worktreeCount=b.size;let c=new Map;for(let b of a.sessions){let a=b.agent??"claude-code",d=c.get(a);d||(d={agent:a,sessions:0},c.set(a,d)),d.sessions+=1}a.perAgent=Array.from(c.values()).sort((a,b)=>b.sessions-a.sessions)}return Array.from(b.values()).sort((a,b)=>(b.lastActiveMs??0)-(a.lastActiveMs??0))},"highLevelMetrics",0,n,"sessionAirTimeMs",0,function(a,b=18e4){let c=0;for(let d of a)void 0!==d.gapMs&&d.gapMs<=b&&(c+=d.gapMs);return c},"summarizeBursts",0,function(a){let b=0,d=0,e=0,f=new Set;for(let g of a)g.peak>b&&(b=g.peak),d+=g.endMs-g.startMs,g.crossProject&&e++,f.add(c(g.startMs));return{peakConcurrent:b,totalParallelMs:d,burstCount:a.length,crossProjectBurstCount:e,activeDayCount:f.size}},"toLocalDay",0,c,"worktreeName",0,i])},23895,88522,a=>{"use strict";var b=a.i(2157),c=a.i(60526),d=a.i(50227),e=a.i(30375),f=a.i(10687),g=a.i(98049),h=a.i(48024);let i=d.default.join(c.default.homedir(),".claude","projects");function j(a){return a.startsWith("-")?"/"+a.slice(1).replace(/-/g,"/"):a}async function k(a){let c=await b.promises.readFile(a,"utf8"),d=[];for(let a of c.split("\n")){let b=a.trim();if(b)try{d.push(JSON.parse(b))}catch{}}return d}function l(a){return a.replace(/\.jsonl$/i,"")}let m=new Map,n=new Map,o=new Map,p=null;async function q(a=i){let c;if(p&&p.root===a&&Date.now()-p.capturedAtMs<1e3)return p.files;try{c=await b.promises.readdir(a,{withFileTypes:!0})}catch{return[]}let e=c.filter(a=>a.isDirectory()).map(a=>a.name),f=(await Promise.all(e.map(async c=>{let e,f=d.default.join(a,c);try{e=await b.promises.readdir(f)}catch{return[]}let g=e.filter(a=>a.endsWith(".jsonl"));return(await Promise.all(g.map(async a=>{let e=d.default.join(f,a);try{let d=await b.promises.stat(e);return{projectDir:c,fileName:a,fullPath:e,mtimeMs:d.mtimeMs,sizeBytes:d.size}}catch{return null}}))).filter(a=>null!==a)}))).flat();return p={files:f,capturedAtMs:Date.now(),root:a},f}async function r(a=i){let b=await q(a),c=(await Promise.all(b.map(async a=>{let b,c=o.get(a.fullPath);if(c&&c.mtimeMs===a.mtimeMs&&c.sizeBytes===a.sizeBytes)return c.events;try{b=await k(a.fullPath)}catch{return[]}let d=new Map;for(let c of b){if(!c||"object"!=typeof c||"assistant"!==c.type)continue;let b="string"==typeof c.timestamp?c.timestamp:void 0;if(!b)continue;let e=c.message;if(!e)continue;let g=e.usage;if(!g)continue;let h=(0,f.modelFamily)("string"==typeof e.model?e.model:void 0);if(null===h)continue;let i="string"==typeof e.id?e.id:`__noid_${a.fullPath}_${b}`,j=g.cache_creation??{},k=a=>"number"==typeof a?a:0;d.set(i,{ts:b,family:h,input:k(g.input_tokens),output:k(g.output_tokens),cacheRead:k(g.cache_read_input_tokens),cache_1h:k(j.ephemeral_1h_input_tokens),cache_5m:k(j.ephemeral_5m_input_tokens)})}let e=Array.from(d.values());return o.set(a.fullPath,{events:e,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),e}))).flat();return c.sort((a,b)=>a.ts.localeCompare(b.ts)),c}let s={input:0,output:0,cacheRead:0,cacheWrite:0};function t(a,b,c){for(let d of a){if(!d||"object"!=typeof d||"assistant"!==d.type)continue;let a=d.message;if(!a)continue;let e="string"==typeof a.id?a.id:void 0,f="string"==typeof d.requestId?d.requestId:void 0,g=null!=e&&null!=f?`${e}:${f}`:void 0;if(g&&b.has(g))continue;g&&b.add(g);let h=a.usage;if(h){let a=a=>"number"==typeof a?a:0;c.input+=a(h.input_tokens),c.output+=a(h.output_tokens),c.cacheRead+=a(h.cache_read_input_tokens),c.cacheWrite+=a(h.cache_creation_input_tokens)}}}async function u(a,c,e){let f,g={...s},h=new Set;t(a,h,g);let i=d.default.join(c,e,"subagents");try{f=await b.promises.readdir(i)}catch{return g}let j=f.filter(a=>a.endsWith(".jsonl"));return 0===j.length||await Promise.all(j.map(async a=>{try{let b=await k(d.default.join(i,a));t(b,h,g)}catch{}})),g}async function v(a){let b=m.get(a.fullPath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes)return b.meta;try{let b=await k(a.fullPath),{meta:c}=(0,g.parseTranscript)(b),e=l(a.fileName),f=d.default.dirname(a.fullPath);c.totalUsage=await u(b,f,e);let h={...c,id:e,filePath:a.fullPath,projectDir:a.projectDir,projectName:c.cwd??j(a.projectDir)};return m.set(a.fullPath,{meta:h,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),h}catch{return null}}async function w(a){let b=n.get(a.fullPath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes)return b.detail;try{let b=await k(a.fullPath),{meta:c,events:d}=(0,g.parseTranscript)(b),e={...c,id:l(a.fileName),filePath:a.fullPath,projectDir:a.projectDir,projectName:c.cwd??j(a.projectDir),events:d};n.set(a.fullPath,{detail:e,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes});let f={...e};return delete f.events,m.set(a.fullPath,{meta:f,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),e}catch{return null}}async function x(a={}){let{root:b=i,limit:c=500,projectDir:d}=a,e=await q(b);d&&(e=e.filter(a=>a.projectDir===d)),e.sort((a,b)=>b.mtimeMs-a.mtimeMs);let f=e.slice(0,c);return(await Promise.all(f.map(a=>v(a)))).filter(a=>null!==a)}async function y(a,b={}){let{root:c=i}=b,e=(await q(c)).find(b=>l(b.fileName)===a);if(!e)return null;let f=await w(e);if(!f)return f;let g=f.firstTimestamp?Date.parse(f.firstTimestamp):void 0,h=d.default.join(d.default.dirname(e.fullPath),l(e.fileName),"subagents"),j=await z(h,g,f.events);return{...f,subagents:j}}async function z(a,c,e){let f;try{f=await b.promises.readdir(a)}catch{return[]}let g=new Map,h=[];for(let a of e)if("tool-call"===a.role&&"Agent"===a.toolName)for(let b of a.blocks){if(b?.type!=="tool_use"||"Agent"!==b.name)continue;let c=b.input??{},d="string"==typeof c.description?c.description:void 0,e=a.timestamp?Date.parse(a.timestamp):void 0,f={toolUseId:b.id,parentUuid:a.uuid??"",runInBackground:!0===c.run_in_background,prompt:"string"==typeof c.prompt?c.prompt:void 0,tsMs:e};d&&g.set(d,f),void 0!==e&&h.push(f)}h.sort((a,b)=>(a.tsMs??0)-(b.tsMs??0));let i=f.filter(a=>a.startsWith("agent-")&&a.endsWith(".jsonl"));return(await Promise.all(i.map(async e=>{let f,i=e.replace(/^agent-/,"").replace(/\.jsonl$/,""),j=d.default.join(a,e),l=d.default.join(a,`agent-${i}.meta.json`),m={};try{let a=await b.promises.readFile(l,"utf8");m=JSON.parse(a)}catch{}try{f=await k(j)}catch{return null}let n=function(a){let b,c,d,e,f,g={...s},h=new Set,i=0,j=0,k=0,l=new Map;for(let m of a){if(!m||"object"!=typeof m)continue;i++;let a="string"==typeof m.timestamp?Date.parse(m.timestamp):NaN;if(!Number.isNaN(a)&&((void 0===b||a<b)&&(b=a),(void 0===c||a>c)&&(c=a)),void 0===f&&"user"===m.type&&(null===m.parentUuid||void 0===m.parentUuid)){let a=m.message,b=a?.content;if("string"==typeof b)f=b;else if(Array.isArray(b)){let a=b.find(a=>a&&"object"==typeof a&&"text"===a.type);a?.text&&(f=a.text)}}if("assistant"===m.type){let a=m.message;if(!a)continue;e||"string"!=typeof a.model||(e=a.model);let b="string"==typeof a.id?a.id:void 0,c="string"==typeof m.requestId?m.requestId:void 0,f=null!=b&&null!=c?`${b}:${c}`:void 0,i=!f||!h.has(f);if(f&&i&&h.add(f),i){j++;let b=a.usage;if(b){let a=a=>"number"==typeof a?a:0;g.input+=a(b.input_tokens),g.output+=a(b.output_tokens),g.cacheRead+=a(b.cache_read_input_tokens),g.cacheWrite+=a(b.cache_creation_input_tokens)}}let n=a.content;if(Array.isArray(n))for(let a of n)a&&"object"==typeof a&&("text"===a.type&&"string"==typeof a.text?d=a.text:"tool_use"===a.type&&"string"==typeof a.name&&(k++,l.set(a.name,(l.get(a.name)??0)+1)))}}let m=Array.from(l.entries()).map(([a,b])=>({name:a,count:b})).sort((a,b)=>b.count-a.count);return{startMs:b,endMs:c,totalUsage:g,eventCount:i,finalPreview:void 0!==d?d.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:d,model:e,toolCalls:m,toolCallCount:k,assistantMessageCount:j,initialPrompt:f}}(f),o=m.description&&m.description.trim().length>0?m.description:void 0,p=o?g.get(o):function(a){let b;if(void 0===a)return;let c=1/0;for(let d of h){if(void 0===d.tsMs)continue;let e=Math.abs(a-d.tsMs);e<c&&e<=2e3&&(b=d,c=e)}return b}(n.startMs),q=o??(n.initialPrompt?n.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),r=p?.prompt??n.initialPrompt,t=void 0!==c&&void 0!==n.startMs?Math.max(0,n.startMs-c):void 0,u=void 0!==c&&void 0!==n.endMs?Math.max(0,n.endMs-c):void 0,v=void 0!==n.startMs&&void 0!==n.endMs?n.endMs-n.startMs:void 0;return{agentId:i,agentType:m.agentType??"unknown",description:q,startMs:n.startMs,endMs:n.endMs,durationMs:v,startTOffsetMs:t,endTOffsetMs:u,eventCount:n.eventCount,totalUsage:n.totalUsage,parentUuid:p?.parentUuid,parentToolUseId:p?.toolUseId,runInBackground:p?.runInBackground,prompt:r,finalPreview:n.finalPreview,finalText:n.finalText,model:n.model,toolCalls:n.toolCalls,toolCallCount:n.toolCallCount,assistantMessageCount:n.assistantMessageCount}}))).filter(a=>null!==a).sort((a,b)=>(a.startMs??0)-(b.startMs??0))}async function A(a=i){let b=await q(a),c=new Map;for(let a of b){let b=c.get(a.projectDir)??{count:0,lastActiveMs:0};b.count++,a.mtimeMs>b.lastActiveMs&&(b.lastActiveMs=a.mtimeMs),c.set(a.projectDir,b)}let d=a=>{for(let[,b]of m.entries())if(b.meta.projectDir===a&&b.meta.cwd)return b.meta.cwd},e=new Map;for(let[a,{count:b,lastActiveMs:f}]of c){let c=d(a)??j(a),g=(0,h.canonicalProjectName)(c),i=(0,h.worktreeName)(c),k=e.get(g)??{canonicalName:g,count:0,lastActiveMs:0,worktreeBranches:new Set};k.count+=b,f>k.lastActiveMs&&(k.lastActiveMs=f),i&&k.worktreeBranches.add(i),e.set(g,k)}return Array.from(e.values()).map(a=>({projectDir:a.canonicalName,projectName:a.canonicalName,sessionCount:a.count,lastActiveMs:a.lastActiveMs,worktreeCount:a.worktreeBranches.size})).sort((a,b)=>b.lastActiveMs-a.lastActiveMs)}async function B(a,b={}){let{root:c=i}=b,d=await x({root:c}),e=d.find(b=>b.sessionId===a);if(!e||!e.teamName)return null;let f=e.teamName,g=d.filter(a=>a.teamName===f&&!a.filePath.includes("/subagents/")),h=await Promise.all(g.map(a=>y(a.sessionId,{root:c}))),j=new Map;g.forEach((a,b)=>{let c=h[b];c&&j.set(a.sessionId,c)});let k=(function(a,b){let c=new Map;for(let b of a){if(!b.teamName)continue;let a=c.get(b.teamName)??[];a.push(b),c.set(b.teamName,a)}let d=[];for(let[a,e]of c){let c=function(a,b,c){let d,e=b.filter(a=>a.isTeamLead);if(0===e.length)return null;for(let a of e){let b=c.get(a.sessionId);if(b&&function(a){for(let b of a)if("tool-call"===b.role&&"TeamCreate"===b.toolName)return!0;return!1}(b.events)){d=a;break}}d||(d=[...e].sort((a,b)=>Date.parse(a.firstTimestamp??"")-Date.parse(b.firstTimestamp??""))[0]);let f=new Map;for(let a of b)f.set(a.sessionId,a.agentName);let g=b.filter(a=>a.sessionId!==d.sessionId).sort((a,b)=>Date.parse(a.firstTimestamp??"")-Date.parse(b.firstTimestamp??"")),h=new Map;for(let a of g)a.agentName&&h.set(a.agentName,a.sessionId);let i=[];for(let a of b){let b=c.get(a.sessionId);if(!b)continue;let e=a.sessionId,f=a.agentName??"team-lead";for(let a of b.events){let b=function(a){if("tool-call"!==a.role||"SendMessage"!==a.toolName)return null;for(let b of a.blocks){if(!b||"object"!=typeof b||"tool_use"!==b.type)continue;let a=b.input??{},c="string"==typeof a.to?a.to:"",d="string"==typeof a.message?a.message:"";if(!c)break;return{to:c,body:d}}return null}(a);if(!b)continue;let c=b.to,g="team-lead"===c?d.sessionId:h.get(c)??"";i.push({tsMs:a.timestamp?Date.parse(a.timestamp):0,fromSessionId:e,fromTeammateId:f,toSessionId:g,toTeammateId:c,body:b.body,kind:"message"})}}i.sort((a,b)=>a.tsMs-b.tsMs);let j=[];for(let a of b)a.firstTimestamp&&j.push(Date.parse(a.firstTimestamp)),a.lastTimestamp&&j.push(Date.parse(a.lastTimestamp));let k=j.length?Math.min(...j):0,l=j.length?Math.max(...j):0;return{teamName:a,leadSessionId:d.sessionId,memberSessionIds:g.map(a=>a.sessionId),agentNameBySessionId:f,messages:i,firstEventMs:k,lastEventMs:l}}(a,e,b);c&&d.push(c)}return d})(g,j).find(a=>a.teamName===f);return k?{view:k,details:j}:null}async function C(a,b={}){let{root:c=i}=b,d=await x({root:c}),e=d.find(b=>b.sessionId===a);if(!e||!e.teamName||!e.agentName||e.isTeamLead)return null;let f=d.filter(a=>a.teamName===e.teamName&&a.isTeamLead&&!a.filePath.includes("/subagents/"));return 0===f.length?null:{leadSessionId:f[0].sessionId,teamName:e.teamName,agentName:e.agentName}}let D={...e.CLAUDE_CODE_METADATA,defaultRoot:i,async listSessions(a){let b=await x(a);for(let a of b)a.agent||(a.agent="claude-code");return b},async getSession(a,b){let c=await y(a,b);return c&&!c.agent&&(c.agent="claude-code"),c}};a.s(["DEFAULT_ROOT",0,i,"claudeCodeSource",0,D,"findTeamLead",0,C,"listProjects",0,A,"loadCalibrationEvents",0,r,"loadTeamForSession",0,B,"walkJsonlFiles",0,q],88522);var E=a.i(79053);let F=d.default.join(c.default.homedir(),".codex","sessions"),G=/^rollout-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})-([0-9a-f-]+)\.jsonl$/;async function H(a){return b.promises.readdir(a).catch(()=>[])}async function I(a){let c=[];for(let e of(await H(a))){if(!/^\d{4}$/.test(e))continue;let f=d.default.join(a,e);for(let a of(await H(f))){if(!/^\d{2}$/.test(a))continue;let e=d.default.join(f,a);for(let a of(await H(e))){if(!/^\d{2}$/.test(a))continue;let f=d.default.join(e,a);for(let a of(await H(f))){let e=G.exec(a);if(!e)continue;let g=d.default.join(f,a),h=await b.promises.stat(g).catch(()=>null);h&&c.push({filePath:g,sessionId:e[2],mtimeMs:h.mtimeMs,sizeBytes:h.size})}}}}return c}async function J(a){let c=await b.promises.readFile(a,"utf8"),d=[];for(let a of c.split("\n")){let b=a.trim();if(b)try{d.push(JSON.parse(b))}catch{}}return d}function K(a){return a.replace(/\s+/g," ").trim().slice(0,200)}function L(a,b){let c,d,e,f,g,i,j,k=[],l={input:0,output:0,cacheRead:0,cacheWrite:0},m=0,n=0,o=[],p=0;for(let a of b){if("object"!=typeof a||null===a)continue;let b="string"==typeof a.timestamp?a.timestamp:void 0;if(b){c||(c=b),d=b;let a=Date.parse(b);Number.isFinite(a)&&o.push(a)}let h="string"==typeof a.type?a.type:"",r=a.payload??{},s="string"==typeof r.type?r.type:"";if("session_meta"===h){"string"==typeof r.cwd&&(e=r.cwd);continue}if("turn_context"===h){"string"==typeof r.cwd&&(e=r.cwd),"string"==typeof r.model&&(f=r.model);continue}if("event_msg"===h&&"token_count"===s){let a=r.info??null,b=a?.total_token_usage??null;b&&(l.input=M(b.input_tokens)??l.input,l.output=M(b.output_tokens)??l.output,l.cacheRead=M(b.cached_input_tokens)??l.cacheRead);continue}if("event_msg"===h&&"user_message"===s){let c="string"==typeof r.message?r.message:"",d=K(c),e=(0,E.isFrameworkInjectedUserInput)(c);c&&!e&&(g||(g=d),i=d,n+=1),k.push({index:p++,timestamp:b,role:"user",rawType:"event_msg/user_message",preview:d,blocks:c?[{type:"text",text:c}]:[],raw:a});continue}if("event_msg"===h&&"agent_message"===s){let c="string"==typeof r.message?r.message:"",d=K(c);c&&(j=d),k.push({index:p++,timestamp:b,role:"agent",rawType:"event_msg/agent_message",preview:d,blocks:c?[{type:"text",text:c}]:[],model:f,raw:a});continue}if("response_item"===h&&"reasoning"===s){let c=(r.summary??[]).map(a=>"string"==typeof a.text?a.text:"").join("\n").trim();k.push({index:p++,timestamp:b,role:"agent-thinking",rawType:"response_item/reasoning",preview:K(c),blocks:c?[{type:"thinking",thinking:c}]:[],model:f,raw:a});continue}if("response_item"===h&&"message"===s&&"assistant"===r.role){let c=(r.content??[]).map(a=>"string"==typeof a.text?a.text:"").join("\n").trim(),d=K(c);c&&(j=d),k.push({index:p++,timestamp:b,role:"agent",rawType:"response_item/message",preview:d,blocks:c?[{type:"text",text:c}]:[],model:f,raw:a});continue}if("response_item"===h&&"function_call"===s){var q;let c="string"==typeof r.name?r.name:"(unknown)",d="string"==typeof r.call_id?r.call_id:void 0,e="string"==typeof r.arguments?r.arguments:"",g=function(a){if(!a)return null;try{return JSON.parse(a)}catch{return a}}(e);m+=1,k.push({index:p++,timestamp:b,role:"tool-call",rawType:"response_item/function_call",preview:`${c}(${(q=e).length<=80?q:q.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:d??`codex-${p}`,name:c,input:g}],toolName:c,toolUseId:d,model:f,raw:a});continue}if("response_item"===h&&"function_call_output"===s){let c="string"==typeof r.call_id?r.call_id:void 0,d="string"==typeof r.output?r.output:"",e=/process exited with code [1-9]/i.test(d);k.push({index:p++,timestamp:b,role:"tool-result",rawType:"response_item/function_call_output",preview:K(d),blocks:[{type:"tool_result",tool_use_id:c??"",content:d,is_error:e}],toolUseId:c,toolResult:d,raw:a});continue}k.push({index:p++,timestamp:b,role:"meta",rawType:s?`${h}/${s}`:h,preview:"",blocks:[],raw:a})}if(l.input>0||l.output>0){let b=-1;for(let a=k.length-1;a>=0;a--){let c=k[a].role;if("agent"===c||"agent-thinking"===c||"tool-call"===c){b=a;break}}if(b>=0){let c=k[b];c.messageId=`codex-${a.sessionId}-total`,c.usage={input:l.input,output:l.output,cacheRead:l.cacheRead,cacheWrite:0}}}let r=c?Date.parse(c):void 0;if(void 0!==r&&Number.isFinite(r)){let a;for(let b of k){if(!b.timestamp)continue;let c=Date.parse(b.timestamp);Number.isFinite(c)&&(b.tOffsetMs=Math.max(0,c-r),void 0!==a&&(b.gapMs=Math.max(0,c-a)),a=c)}}let s=function(a){if(0===a.length)return[];let b=[...a].sort((a,b)=>a-b),c=[],d=b[0],e=b[0];for(let a=1;a<b.length;a++)b[a]-e>18e4&&(c.push({startMs:d,endMs:e}),d=b[a]),e=b[a];return c.push({startMs:d,endMs:e}),c}(o),t=s.reduce((a,b)=>a+(b.endMs-b.startMs),0),u=c&&d?Date.parse(d)-Date.parse(c):void 0,v=e?(0,h.canonicalProjectName)(e):"(unknown)",w=e?e.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:a.sessionId,filePath:a.filePath,projectName:v,projectDir:w,sessionId:a.sessionId,firstTimestamp:c,lastTimestamp:d,durationMs:u&&Number.isFinite(u)?u:void 0,eventCount:k.length,model:f,cwd:e,totalUsage:l,status:"idle",firstUserPreview:g,lastUserPreview:i,lastAgentPreview:j,toolCallCount:m,turnCount:n,airTimeMs:t,activeSegments:s},events:k}}function M(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}let N=new Map,O=new Map;async function P(a={}){let b=a.root??F,c=await I(b),d=[];for(let a of c){let b=N.get(a.filePath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes){d.push(b.meta);continue}try{let b=await J(a.filePath),{meta:c}=L(a,b);N.set(a.filePath,{meta:c,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),d.push(c)}catch{}}return(d.sort((a,b)=>(b.firstTimestamp??"").localeCompare(a.firstTimestamp??"")),void 0!==a.limit)?d.slice(0,a.limit):d}async function Q(a,b={}){let c=b.root??F,d=(await I(c)).find(b=>b.sessionId===a);if(!d)return null;let e=O.get(d.filePath);if(e&&e.mtimeMs===d.mtimeMs&&e.sizeBytes===d.sizeBytes)return e.detail;let f=await J(d.filePath),{meta:g,events:h}=L(d,f),i={...g,events:h};return O.set(d.filePath,{detail:i,mtimeMs:d.mtimeMs,sizeBytes:d.sizeBytes}),i}async function R(a={}){let b=a.root??F,c=await I(b);if(0===c.length)return null;for(let a of(c.sort((a,b)=>b.mtimeMs-a.mtimeMs),c)){let b=await J(a.filePath);for(let c=b.length-1;c>=0;c--){let d=b[c];if("object"!=typeof d||null===d||"event_msg"!==d.type)continue;let e=d.payload??{};if("token_count"!==e.type)continue;let f=e.rate_limits??null;if(!f)continue;let g=f.primary??null,h=f.secondary??null,i=M(g?.used_percent),j=M(h?.used_percent),k=M(g?.resets_at),l=M(h?.resets_at),m="string"==typeof f.plan_type?f.plan_type:null;return{five_hour:{utilization:i??null,resets_at:void 0!==k?new Date(1e3*k).toISOString():null},seven_day:{utilization:j??null,resets_at:void 0!==l?new Date(1e3*l).toISOString():null},plan_type:m,source_path:a.filePath}}}return null}let S=d.default.join(c.default.homedir(),".gemini","tmp"),T=d.default.join(c.default.homedir(),".gemini","projects.json"),U=/^session-.+\.(jsonl|json)$/;async function V(a){return b.promises.readdir(a).catch(()=>[])}async function W(a){let c=[];for(let e of(await V(a))){let f=d.default.join(a,e,"chats");for(let a of(await V(f))){if(!U.test(a))continue;let g=d.default.join(f,a),h=await b.promises.stat(g).catch(()=>null);if(!h||!h.isFile())continue;let i=a.replace(/\.(jsonl|json)$/,"").split("-").pop()??a;c.push({filePath:g,slug:e,filenameId:i,format:a.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:h.mtimeMs,sizeBytes:h.size})}}return c}let X=null;async function Y(){let a,c=await b.promises.stat(T).catch(()=>null);if(!c)return new Map;if(X&&X.mtimeMs===c.mtimeMs)return X.slugToCwd;let d=await b.promises.readFile(T,"utf8").catch(()=>"");try{a=JSON.parse(d)}catch{a={}}let e=new Map;for(let[b,c]of Object.entries(a.projects??{}))"string"==typeof c&&e.set(c,b);return X={mtimeMs:c.mtimeMs,slugToCwd:e},e}function Z(a){return!!a&&"object"==typeof a&&"string"==typeof a.id&&"string"==typeof a.type}async function $(a){let c=await b.promises.readFile(a.filePath,"utf8");if("legacy-json"===a.format){let a;try{a=JSON.parse(c)}catch{return{meta:{},messages:[]}}return{meta:{sessionId:"string"==typeof a.sessionId?a.sessionId:void 0,projectHash:"string"==typeof a.projectHash?a.projectHash:void 0,startTime:"string"==typeof a.startTime?a.startTime:void 0,lastUpdated:"string"==typeof a.lastUpdated?a.lastUpdated:void 0,summary:"string"==typeof a.summary?a.summary:void 0},messages:(Array.isArray(a.messages)?a.messages:[]).filter(Z)}}let d={},e=new Map,f=[];for(let a of c.split("\n")){let b,c=a.trim();if(c){var g,h;try{b=JSON.parse(c)}catch{continue}if((g=b)&&"object"==typeof g&&"$rewindTo"in g){let a=b.$rewindTo,c=f.indexOf(a);if(c>=0){for(let a of f.slice(c))e.delete(a);f.length=c}continue}if((h=b)&&"object"==typeof h&&"$set"in h){Object.assign(d,b.$set);continue}if(Z(b)){e.has(b.id)||f.push(b.id),e.set(b.id,b);continue}if("object"==typeof b&&null!==b){let a=b;"string"!=typeof a.sessionId||d.sessionId||(d.sessionId=a.sessionId,"string"==typeof a.projectHash&&(d.projectHash=a.projectHash),"string"==typeof a.startTime&&(d.startTime=a.startTime),"string"==typeof a.lastUpdated&&(d.lastUpdated=a.lastUpdated),"string"==typeof a.summary&&(d.summary=a.summary))}}}let i=[];for(let a of f){let b=e.get(a);b&&i.push(b)}return{meta:d,messages:i}}function _(a){return a.replace(/\s+/g," ").trim().slice(0,200)}function aa(a){if(!a)return"";if("string"==typeof a)return a;let b=Array.isArray(a)?a:[a],c=[];for(let a of b){if(!a||"object"!=typeof a)continue;if("string"==typeof a.text){c.push(a.text);continue}let b=a.functionResponse;if(b){let a=b.response;"string"==typeof a?c.push(a):a&&"object"==typeof a&&("string"==typeof a.output?c.push(a.output):"string"==typeof a.error?c.push(`error: ${a.error}`):c.push(JSON.stringify(a)))}}return c.join("\n")}async function ab(a){let b,c,d,e,f,g,{meta:i,messages:j}=await $(a),k=(await Y()).get(a.slug),l=[],m={input:0,output:0,cacheRead:0,cacheWrite:0},n=0,o=0,p=[],q=0;function r(a){if(l.push(a),a.timestamp&&"meta"!==a.role){b||(b=a.timestamp),c=a.timestamp;let d=Date.parse(a.timestamp);Number.isFinite(d)&&p.push(d)}}for(let a of j){let b=a.timestamp;if("user"===a.type){let c=aa(a.displayContent??a.content),d=_(c),g=(0,E.isFrameworkInjectedUserInput)(c);c&&!g&&(e||(e=d),f=d,o+=1),r({index:q++,timestamp:b,role:"user",rawType:"gemini/user",preview:d,blocks:c?[{type:"text",text:c}]:[],messageId:a.id,raw:a});continue}if("gemini"===a.type){let c;"string"==typeof a.model&&(d=a.model);let e=aa(a.content),f=_(e);if(e&&(g=f),a.tokens){let b=a.tokens,d={input:b.input??0,output:b.output??0,cacheRead:b.cached??0,cacheWrite:0};c=d,m.input+=d.input,m.output+=d.output,m.cacheRead+=d.cacheRead}for(let c of a.thoughts??[]){let a=[c.subject,c.description].filter(Boolean).join(": ");a&&r({index:q++,timestamp:c.timestamp??b,role:"agent-thinking",rawType:"gemini/thought",preview:_(a),blocks:[{type:"thinking",thinking:a}],model:d,raw:c})}for(let g of(e?r({index:q++,timestamp:b,role:"agent",rawType:"gemini/agent",preview:f,blocks:[{type:"text",text:e}],messageId:a.id,model:d,usage:c,raw:a}):c&&r({index:q++,timestamp:b,role:"agent",rawType:"gemini/agent",preview:"",blocks:[],messageId:a.id,model:d,usage:c,raw:a}),a.toolCalls??[])){n+=1;let a=g.args?JSON.stringify(g.args):"";r({index:q++,timestamp:g.timestamp??b,role:"tool-call",rawType:"gemini/tool_call",preview:`${g.name}(${a.length<=80?a:a.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:g.id,name:g.name,input:g.args??{}}],toolName:g.name,toolUseId:g.id,model:d,raw:g});let c=(g.status??"").toLowerCase();if("success"===c||"error"===c||"cancelled"===c){let a=aa(g.result);r({index:q++,timestamp:g.timestamp??b,role:"tool-result",rawType:"gemini/tool_result",preview:_(a),blocks:[{type:"tool_result",tool_use_id:g.id,content:a,is_error:"error"===c||"cancelled"===c}],toolUseId:g.id,toolResult:a,raw:g})}}continue}if("info"===a.type||"warning"===a.type||"error"===a.type){let c=aa(a.content);r({index:q++,timestamp:b,role:"meta",rawType:`gemini/${a.type}`,preview:_(c),blocks:c?[{type:"text",text:c}]:[],raw:a});continue}}let s=b?Date.parse(b):void 0;if(void 0!==s&&Number.isFinite(s)){let a;for(let b of l){if(!b.timestamp)continue;let c=Date.parse(b.timestamp);Number.isFinite(c)&&(b.tOffsetMs=Math.max(0,c-s),void 0!==a&&(b.gapMs=Math.max(0,c-a)),a=c)}}let t=function(a){if(0===a.length)return[];let b=[...a].sort((a,b)=>a-b),c=[],d=b[0],e=b[0];for(let a=1;a<b.length;a++)b[a]-e>18e4&&(c.push({startMs:d,endMs:e}),d=b[a]),e=b[a];return c.push({startMs:d,endMs:e}),c}(p),u=t.reduce((a,b)=>a+(b.endMs-b.startMs),0),v=b&&c?Date.parse(c)-Date.parse(b):void 0,w=i.sessionId??a.filenameId,x=k?(0,h.canonicalProjectName)(k):a.slug,y=k?k.replace(/^\//,"-").replace(/\//g,"-"):a.slug;return{meta:{agent:"gemini",id:w,filePath:a.filePath,projectName:x,projectDir:y,sessionId:w,firstTimestamp:b,lastTimestamp:c,durationMs:v&&Number.isFinite(v)?v:void 0,eventCount:l.length,model:d,cwd:k,totalUsage:m,status:"idle",firstUserPreview:e,lastUserPreview:f,lastAgentPreview:g,toolCallCount:n,turnCount:o,airTimeMs:u,activeSegments:t},events:l}}let ac=new Map,ad=new Map;async function ae(a={}){let b=a.root??S,c=await W(b),d=[];for(let a of c){let b=ac.get(a.filePath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes){d.push(b.meta);continue}try{let{meta:b}=await ab(a);ac.set(a.filePath,{meta:b,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),d.push(b)}catch{}}return(d.sort((a,b)=>(b.firstTimestamp??"").localeCompare(a.firstTimestamp??"")),void 0!==a.limit)?d.slice(0,a.limit):d}async function af(a,b={}){let c,d=b.root??S,e=await W(d);for(let b of e)if(b.filenameId===a||a.startsWith(b.filenameId)){c=b;break}if(!c)for(let b of e){let{meta:d}=await ab(b).catch(()=>({meta:{id:""}}));if(d.id===a){c=b;break}}if(!c)return null;let f=ad.get(c.filePath);if(f&&f.mtimeMs===c.mtimeMs&&f.sizeBytes===c.sizeBytes)return f.detail;let{meta:g,events:h}=await ab(c),i={...g,events:h};return ad.set(c.filePath,{detail:i,mtimeMs:c.mtimeMs,sizeBytes:c.sizeBytes}),i}function ag(...a){return d.default.join(process.env.CCLENS_HOME||d.default.join(c.default.homedir(),".cclens"),...a)}let ah=[D,{...e.CODEX_METADATA,defaultRoot:F,listSessions:async a=>P(a),getSession:async a=>Q(a),async usagePoller(){let a=await R();return a?{captured_at:new Date().toISOString(),agent:"codex",five_hour:a.five_hour,seven_day:a.seven_day}:null}},{...e.GEMINI_METADATA,defaultRoot:S,listSessions:async a=>ae(a),getSession:async a=>af(a)}];async function ai(a={}){let b=await Promise.all(ah.map(b=>b.listSessions(a))),c=[];for(let a of b)c.push(...a);return(c.sort((a,b)=>(b.firstTimestamp??"").localeCompare(a.firstTimestamp??"")),void 0!==a.limit)?c.slice(0,a.limit):c}async function aj(a){for(let b of ah){let c=await b.getSession(a);if(c)return c}return null}async function ak(){let a;try{a=await b.promises.readFile(ag("usage.jsonl"),"utf8")}catch{return[]}let c=[];for(let b of a.split("\n")){let a=b.trim();if(a)try{let b=JSON.parse(a);if(!b.captured_at||(b.agent??"claude-code")!=="claude-code")continue;c.push(b)}catch{}}return c.sort((a,b)=>(a.captured_at??"").localeCompare(b.captured_at??"")),c}function al(a,b,c){if(0===b.length)return null;for(let[d,e]of b)if(d>=a&&e>a){let b=e,d=36e5*c;for(;b-d>a;)b-=d;return b}let d=b[b.length-1][1],e=36e5*c;for(;d<a;)d+=e;return d}async function am(a="pro-max-20x",b=i,c=30){let[d,e]=await Promise.all([r(b),ak()]);return function(a,b,c="pro-max-20x",d=30){if(0===b.length||0===a.length)return null;let e=(0,f.buildSpendIndex)(a),g=f.RATE_PER_PCT_7D[c],h=f.RATE_PER_PCT_5H[c],i=(0,f.groupSnapsByCycle)(b,a=>a.five_hour),j=(0,f.groupSnapsByCycle)(b,a=>a.seven_day),k=(0,f.collectSnapPairRates)(j,e,{minTravelPct:1,minDollars:10,maxGapMs:864e5}),l=(0,f.collectSnapPairRates)(i,e,{minTravelPct:1,minDollars:1,maxGapMs:72e5}),m=(0,f.userSoloRate)(k,.9)??g,n=(0,f.userSoloRate)(l,.9)??h,o=new Set(k.map(a=>a.cycleEndMs)).size,p=new Set(l.map(a=>a.cycleEndMs)).size,q=[],r=[];for(let a of b){let b=Date.parse(a.captured_at);if(!Number.isNaN(b)){if(a.five_hour?.resets_at){let c=Date.parse(a.five_hour.resets_at);Number.isNaN(c)||q.push([b,c])}if(a.seven_day?.resets_at){let c=Date.parse(a.seven_day.resets_at);Number.isNaN(c)||r.push([b,c])}}}let s=new Map;for(let a of b){let b=Date.parse(a.captured_at);if(Number.isNaN(b))continue;let c=Math.floor(b/6e4);s.set(c,[a.five_hour?.utilization??null,a.seven_day?.utilization??null])}let t=Date.parse(b[0].captured_at),u=Date.parse(b[b.length-1].captured_at),v=Math.max(Date.parse(a[0].ts),t-12096e5),w=6e4*d,x=[],y=v;for(;y<=u;){let a=null,b=null;for(let c=0;c<d;c++){let d=Math.floor((y+6e4*c)/6e4),e=s.get(d);if(e){a=e[0],b=e[1];break}}let c=al(y,q,5),g=al(y,r,168),h=null!=c?36e5*Math.round(c/36e5):null,k=null!=g?36e5*Math.round(g/36e5):null,l=null!=h?i.get(h)??[]:[],o=null!=k?j.get(k)??[]:[],p=h??y+18e6,t=k??y+6048e5,u=(0,f.predictAnchored)(e,l,n,p,5,y),v=(0,f.predictAnchored)(e,o,m,t,168,y);x.push({ts:new Date(y).toISOString(),real_5h:a,pred_5h:Math.max(0,Math.min(200,u)),real_7d:b,pred_7d:Math.max(0,Math.min(200,v)),cycle_end_5h:null!=h?new Date(h).toISOString():null,cycle_end_7d:null!=k?new Date(k).toISOString():null}),y+=w}let z=k.length>=3?"user_calibrated":"tier_default";return{model:`anchored-${c}`,tier:c,rate_per_pct:m,rate_per_pct_5h:n,rate_per_pct_7d:m,rate_source_5h:l.length>=3?"user_calibrated":"tier_default",rate_source_7d:z,cycles_used_5h:p,cycles_used_7d:o,granularity_min:d,curve:x,first_snapshot_ts:b[0].captured_at??null,real_count:x.filter(a=>null!==a.real_7d).length,total_count:x.length}}(d,e,a,c)}a.s(["agentSources",0,ah,"cclensPath",0,ag,"getAnySession",0,aj,"listAllSessions",0,ai,"loadCalibrationCurve",0,am],23895)}];
|
|
1
|
+
module.exports=[30375,a=>{"use strict";let b={kind:"claude-code",displayName:"Claude Code",shortLabel:"Claude",accentColor:"var(--af-accent)",iconChar:"✦"},c={kind:"codex",displayName:"Codex (OpenAI)",shortLabel:"Codex",accentColor:"rgb(16, 163, 127)",iconChar:"◆"},d={kind:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"},e=[b,c,d],f=new Set(e.map(a=>a.kind));a.s(["CLAUDE_CODE_METADATA",0,b,"CODEX_METADATA",0,c,"GEMINI_METADATA",0,d,"agentMetadata",0,e,"getAgentMetadata",0,function(a){return e.find(b=>b.kind===a)},"isAgentKind",0,function(a){return"string"==typeof a&&f.has(a)}])},10687,79053,98049,a=>{"use strict";let b={sonnet:{input:3,output:15,cacheRead:.3,cache_1h:3.75,cache_5m:3.75},opus:{input:5,output:25,cacheRead:.5,cache_1h:6.25,cache_5m:6.25},haiku:{input:1,output:5,cacheRead:.1,cache_1h:1.25,cache_5m:1.25}};function c(a,b,c){let d=0;for(;d<c;){let e=d+c>>>1;a[e]<b?d=e+1:c=e}return d}function d(a,b,d){if(d<=b)return 0;let e=a.ts.length,f=c(a.ts,b,e),g=c(a.ts,d,e);return a.cum[g]-a.cum[f]}a.s(["RATE_PER_PCT_5H",0,{pro:.2,"pro-max":.4,"pro-max-20x":2,custom:2},"RATE_PER_PCT_7D",0,{pro:1.2,"pro-max":2.4,"pro-max-20x":12,custom:12},"buildSpendIndex",0,function(a){let c=a.map(a=>({e:a,t:Date.parse(a.ts)})).filter(a=>!Number.isNaN(a.t)).sort((a,b)=>a.t-b.t),d=new Float64Array(c.length),e=new Float64Array(c.length+1),f=0;for(let a=0;a<c.length;a++)d[a]=c[a].t,e[a]=f,f+=function(a){let c=b[a.family];return(a.input*c.input+a.output*c.output+a.cacheRead*c.cacheRead+a.cache_1h*c.cache_1h+a.cache_5m*c.cache_5m)/1e6}(c[a].e);return e[c.length]=f,{ts:d,cum:e}},"collectSnapPairRates",0,function(a,b,c){let e=c?.minTravelPct??1,f=c?.minDollars??1,g=c?.maxGapMs??864e5,h=[];for(let[c,i]of a)for(let a=1;a<i.length;a++){let j=i[a-1],k=i[a],l=k.ts-j.ts,m=k.pct-j.pct;if(l<=0||l>g||m<e)continue;let n=d(b,j.ts,k.ts);n<f||h.push({cycleEndMs:c,rate:n/m,travel:m,dollars:n,gapMs:l})}return h},"groupSnapsByCycle",0,function(a,b){let c=new Map;for(let d of a){if(!d.captured_at)continue;let a=b(d);if(!a?.resets_at||"number"!=typeof a.utilization)continue;let e=Date.parse(d.captured_at),f=Date.parse(a.resets_at);if(Number.isNaN(e)||Number.isNaN(f))continue;let g=36e5*Math.round(f/36e5),h=c.get(g)??[];h.push({ts:e,pct:a.utilization}),c.set(g,h)}for(let a of c.values())a.sort((a,b)=>a.ts-b.ts);return c},"modelFamily",0,function(a){let b=(a??"").toLowerCase();return b&&"<synthetic>"!==b?b.includes("haiku")?"haiku":b.includes("opus")?"opus":b.includes("sonnet")?"sonnet":null:null},"predictAnchored",0,function(a,b,c,e,f,g){let h=e-36e5*f;if(c<=0&&(c=1),0===b.length)return Math.max(0,d(a,h,g)/c);let i=-1;for(let a=0;a<b.length;a++)if(b[a].ts<=g)i=a;else break;if(i>=0&&i+1<b.length){let c=b[i],e=b[i+1];if(e.pct===c.pct)return c.pct;let f=d(a,c.ts,e.ts);if(f<=0){let a=(g-c.ts)/(e.ts-c.ts);return c.pct+(e.pct-c.pct)*a}let h=d(a,c.ts,g);return c.pct+(e.pct-c.pct)*(h/f)}if(i>=0){let e=b[i];return e.pct+d(a,e.ts,g)/c}let j=b[0];if(g<=h)return 0;let k=d(a,h,j.ts);if(k<=0){let a=(g-h)/(j.ts-h);return j.pct*a}let l=d(a,h,g);return j.pct*(l/k)},"userSoloRate",0,function(a,b=.9){if(a.length<3)return null;let c=a.map(a=>a.rate).sort((a,b)=>a-b),d=Math.min(Math.floor(c.length*b),c.length-1);return c[d]}],10687);let e=[/<system_instruction\b[^>]*>[\s\S]*?<\/system_instruction>\s*/gi],f=["<command-name>","<local-command-stdout>","<local-command-caveat>","<task-notification>","Base directory for this skill:"];function g(a){if(!a)return a;let b=a;for(let a of e)b=b.replace(a,"");return b.trim()}function h(a){if(!a)return!1;let b=g(a);if(!b)return!0;for(let a of f)if(b.startsWith(a))return!0;return!1}a.s(["isFrameworkInjectedUserInput",0,h,"stripFrameworkBoilerplate",0,g],79053);let i={input:0,output:0,cacheRead:0,cacheWrite:0};function j(a,b=200){let c=a.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return c.length>b?c.slice(0,b-1)+"…":c}let k=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function l(a){let b=a.match(k);if(!b)return;let c=b[1],d=b[2].trim(),e="message";if(d.startsWith("{"))try{let a=JSON.parse(d);"idle_notification"===a.type?e="idle-notification":"shutdown_request"===a.type?e="shutdown-request":"shutdown_approved"===a.type?e="shutdown-approved":"task_assignment"===a.type?e="task-assignment":"teammate_terminated"===a.type&&(e="teammate-terminated")}catch{}return{teammateId:c,body:d,kind:e}}function m(a){if(!a||"object"!=typeof a)return;let b=a=>"number"==typeof a?a:0;return{input:b(a.input_tokens),output:b(a.output_tokens),cacheRead:b(a.cache_read_input_tokens),cacheWrite:b(a.cache_creation_input_tokens)}}a.s(["parseTranscript",0,function(a){let b,c,d,e,f,k,n,o,p,q=[];for(let b=0;b<a.length;b++){let c=function(a,b){if(!a||"object"!=typeof a)return null;let c=String(a.type??""),d=a.uuid,e=a.parentUuid??null,f=a.timestamp;if("assistant"===c){let g,h,i,k=a.message??{},l=k.content??[],n=m(k.usage),o=k.model,p=a.requestId,q=k.id,r=k.stop_reason,s=l[0],t="agent";return s?.type==="thinking"?(t="agent-thinking",g="[thinking] "+j(s.thinking,140)):s?.type==="tool_use"?(t="tool-call",h=s.name,i=s.id,g=`${s.name} `+j(JSON.stringify(s.input??{}),100)):g=s?.type==="text"?j(s.text,200):`<assistant:${s?.type??"empty"}>`,{index:b,uuid:d,parentUuid:e,timestamp:f,role:t,rawType:c,preview:g,blocks:l,usage:n,model:o,requestId:p,messageId:q,stopReason:r,toolName:h,toolUseId:i,raw:a}}if("user"===c){let h=(a.message??{}).content;if("string"==typeof h){let i=g(h),k=l(i);return{index:b,uuid:d,parentUuid:e,timestamp:f,role:"user",rawType:c,preview:j(i,200),blocks:i?[{type:"text",text:i}]:[],raw:a,teammateMessage:k}}if(Array.isArray(h)){let i=h[0];if(i?.type==="tool_result")return{index:b,uuid:d,parentUuid:e,timestamp:f,role:"tool-result",rawType:c,preview:j("string"==typeof i.content?i.content:JSON.stringify(i.content),200),blocks:h,toolUseId:i.tool_use_id,toolResult:a.toolUseResult,raw:a};let k=h.find(a=>a?.type==="text"),m=k?g(k.text):"",n=k?h.map(a=>a===k?{type:"text",text:m}:a):h,o=m?l(m):void 0;return{index:b,uuid:d,parentUuid:e,timestamp:f,role:"user",rawType:c,preview:m?j(m,200):j(JSON.stringify(h),200),blocks:n,raw:a,teammateMessage:o}}}if("attachment"===c){let g=a.attachment??{},h=String(g.type??"attachment"),i=`<attachment: ${h}>`;return"string"==typeof g.content&&g.content.length>0?i=`[${h}] `+j(g.content,140):Array.isArray(g.addedNames)&&(i=`[${h}] +${g.addedNames.length} names`),{index:b,uuid:d,parentUuid:e,timestamp:f,role:"system",rawType:c,preview:i,blocks:[{type:"text",text:JSON.stringify(g,null,2)}],attachmentType:h,raw:a}}return{index:b,uuid:d,parentUuid:e,timestamp:f,role:"meta",rawType:c||"unknown",preview:`${c}: ${j(JSON.stringify(a),140)}`,blocks:[{type:"text",text:JSON.stringify(a,null,2)}],raw:a}}(a[b],b);c&&q.push(c)}let r=q.map(a=>a.timestamp?Date.parse(a.timestamp):void 0).filter(a=>"number"==typeof a&&!Number.isNaN(a)),s=r.length?Math.min(...r):void 0,t=r.length?Math.max(...r):void 0,u=void 0!==s?new Date(s).toISOString():void 0,v=void 0!==t?new Date(t).toISOString():void 0;for(let a of q){if(!a.timestamp)continue;let b=Date.parse(a.timestamp);Number.isNaN(b)||void 0!==s&&(a.tOffsetMs=Math.max(0,b-s))}let w=q.filter(a=>{let b;return a.timestamp&&("user"===(b=a.role)||"agent"===b||"agent-thinking"===b||"tool-call"===b||"tool-result"===b)}).map(a=>({e:a,ms:Date.parse(a.timestamp)})).filter(a=>!Number.isNaN(a.ms)).sort((a,b)=>a.ms-b.ms);for(let a=1;a<w.length;a++)w[a].e.gapMs=Math.max(0,w[a].ms-w[a-1].ms);let x=q.filter(a=>a.timestamp).map(a=>Date.parse(a.timestamp)).filter(a=>!Number.isNaN(a)).sort((a,b)=>a-b),y=[],z=0;if(x.length>0){let a=x[0],b=x[0];for(let c=1;c<x.length;c++){let d=x[c],e=d-b;e>18e4?(y.push({startMs:a,endMs:b}),a=d):e>0&&(z+=e),b=d}y.push({startMs:a,endMs:b})}let A=new Map,B=[];for(let a of q){if(!a.timestamp)continue;let b=Date.parse(a.timestamp);if(!Number.isNaN(b)){if("assistant"===a.rawType&&a.usage&&a.messageId){let c=A.get(a.messageId);c?(c.siblings.push(a),b<c.ms&&(c.rep=a,c.ms=b)):A.set(a.messageId,{rep:a,ms:b,siblings:[a]})}else if("system"===a.rawType){let c=a.raw;if(c?.subtype!=="compact_boundary")continue;let d=c.compactMetadata??{};B.push({ms:b,trigger:"manual"===d.trigger?"manual":"auto",preTokens:"number"==typeof d.preTokens?d.preTokens:0})}}}let C=[...A.values()].sort((a,b)=>a.ms-b.ms);B.sort((a,b)=>a.ms-b.ms);let D=0,E=0,F=(a,b)=>{for(let c of a.siblings)c.coldResume=b;D++,E+=b.writeTokens},G=new Set;for(let a of B){let b,c=C.find(b=>b.ms>a.ms&&(b.rep.usage?.cacheWrite??0)>=1e3);if(!c)continue;for(let c=C.length-1;c>=0;c--)if(C[c].ms<=a.ms){b=C[c].ms;break}let d=c.rep.usage,e=d.cacheWrite+d.cacheRead;F(c,{trigger:"compact",gapMs:void 0!==b?c.ms-b:0,writeTokens:d.cacheWrite,writeRatio:e>0?d.cacheWrite/e:0,compact:{trigger:a.trigger,preTokens:a.preTokens}}),G.add(c.rep.messageId)}for(let a=1;a<C.length;a++){let b=C[a-1],c=C[a];if(G.has(c.rep.messageId))continue;let d=c.rep.usage,e=d.cacheWrite+d.cacheRead,f=e>0?d.cacheWrite/e:0,g=c.ms-b.ms;g>3e5&&d.cacheWrite>=1e3&&f>=.3&&F(c,{trigger:"idle",gapMs:g,writeTokens:d.cacheWrite,writeRatio:f})}let H={...i},I=new Set,J="",K=!1,L=!1,M=0,N=0,O=0,P=0,Q=new Set;for(let a of q){if("tool-call"===a.role){M++;let b=a.blocks.find(a=>a&&"tool_use"===a.type);if(b){let a=b.input??{};if("TeamCreate"===b.name&&(K=!0),"SendMessage"===b.name){let b="string"==typeof a.to?a.to:"";b&&"team-lead"!==b&&(L=!0)}let c="string"==typeof a.file_path?a.file_path:void 0;if("Edit"===b.name&&c){Q.add(c);let b="string"==typeof a.old_string?a.old_string:"",d="string"==typeof a.new_string?a.new_string:"",e=b?b.split("\n").length:0,f=d?d.split("\n").length:0;O+=Math.max(0,f-e),P+=Math.max(0,e-f)}else if("Write"===b.name&&c){Q.add(c);let b="string"==typeof a.content?a.content:"";O+=b?b.split("\n").length:0}}}if("user"===a.role){let b=h(function(a){let b=a?.content;if("string"==typeof b)return b;if(Array.isArray(b)){for(let a of b)if(a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text)return a.text}return""}(a.raw?.message)),c=void 0!==a.teammateMessage&&!k;b||c||(n||(n=a.teammateMessage?a.teammateMessage.body:a.preview),N++,p=a.preview)}"agent"===a.role&&(o=a.preview)}for(let g of a)if(g&&"object"==typeof g&&("string"!=typeof g.sessionId||J||(J=g.sessionId),"string"!=typeof g.cwd||c||(c=g.cwd),"string"!=typeof g.gitBranch||d||(d=g.gitBranch),"string"!=typeof g.entrypoint||e||(e=g.entrypoint),"string"!=typeof g.teamName||f||(f=g.teamName),"string"!=typeof g.agentName||k||(k=g.agentName),"assistant"===g.type)){let a=g.message;if(a){"string"!=typeof a.model||b||(b=a.model);let c="string"==typeof a.id?a.id:void 0,d="string"==typeof g.requestId?g.requestId:void 0,e=null!=c?`${c}:${d??""}`:void 0;if(e&&I.has(e))continue;e&&I.add(e);let f=m(a.usage);f&&(H.input+=f.input,H.output+=f.output,H.cacheRead+=f.cacheRead,H.cacheWrite+=f.cacheWrite)}}return{events:q,meta:{sessionId:J,firstTimestamp:u,lastTimestamp:v,durationMs:void 0!==s&&void 0!==t?t-s:void 0,eventCount:q.length,model:b,cwd:c,gitBranch:d,entrypoint:e,totalUsage:H,status:"idle",firstUserPreview:n,lastUserPreview:p,lastAgentPreview:o,toolCallCount:M,turnCount:N,airTimeMs:z,activeSegments:y,linesAdded:O,linesRemoved:P,filesEdited:Q.size,coldResumeCount:D,cacheRebuildTokens:E,teamName:f,agentName:k,isTeamLead:void 0!==f&&void 0===k&&(K||L)}}}],98049)},48024,a=>{"use strict";let b={input:0,output:0,cacheRead:0,cacheWrite:0};function c(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}let d=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],e=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/;function f(a){for(let b of d){let c=a.lastIndexOf(b);if(c>=0)return{idx:c,marker:b}}return null}function g(a){let b=e.exec(a);if(!b)return null;let c=b[1],d=+!!b[0].endsWith("/");return{canonicalEndIdx:b.index+b[0].length-c.length-1-d,workspaceName:c}}function h(a){let b=a.replace(/\/{2,}/g,"/"),c=f(b);if(c)return b.slice(0,c.idx);let d=g(b);return d?b.slice(0,d.canonicalEndIdx):b}function i(a){let b=a.replace(/\/{2,}/g,"/"),c=f(b);if(c){let a=b.slice(c.idx+c.marker.length),d=a.indexOf("/");return d>=0?a.slice(0,d):a}let d=g(b);return d?d.workspaceName:null}function j(a){return{date:a,sessions:0,toolCalls:0,turns:0,tokens:{...b},durationMs:0,airTimeMs:0,peakParallelism:0}}let k=/gh\s+pr\s+create\b/i,l=/#(\d+)/,m=/--title\s+["']([^"']+)["']/;function n(a){let c={sessionCount:a.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...b},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let b of a)c.totalDurationMs+=b.durationMs??0,c.totalAirTimeMs+=b.airTimeMs??b.durationMs??0,c.totalTokens.input+=b.totalUsage.input,c.totalTokens.output+=b.totalUsage.output,c.totalTokens.cacheRead+=b.totalUsage.cacheRead,c.totalTokens.cacheWrite+=b.totalUsage.cacheWrite,c.totalToolCalls+=b.toolCallCount??0,c.totalTurns+=b.turnCount??0,c.totalLinesAdded+=b.linesAdded??0,c.totalLinesRemoved+=b.linesRemoved??0,c.totalFilesEdited+=b.filesEdited??0;return a.length>0&&(c.avgTurnsPerSession=c.totalTurns/a.length,c.avgDurationMs=c.totalDurationMs/a.length),c}function o(a,b){let c=b.minDurationMs??6e4,d=b.mergeGapMs??6e5,e=b.minActive??2,f=[];for(let b of a)for(let a of b.segments)a.endMs<=a.startMs||(f.push({ms:a.startMs,delta:1,sessionId:b.id}),f.push({ms:a.endMs,delta:-1,sessionId:b.id}));f.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let g=new Map,h=[],i=null;for(let a of f){if(1===a.delta)g.set(a.sessionId,(g.get(a.sessionId)??0)+1);else{let b=(g.get(a.sessionId)??0)-1;b<=0?g.delete(a.sessionId):g.set(a.sessionId,b)}let b=g.size;if(b>=e)if(i)for(let c of(i.endMs=a.ms,b>i.peak&&(i.peak=b),g.keys()))i.sessionIds.add(c);else i={startMs:a.ms,endMs:a.ms,peak:b,sessionIds:new Set(g.keys())};else i&&(i.endMs=a.ms,h.push(i),i=null)}i&&h.push(i);let j=h.filter(a=>a.endMs-a.startMs>=c),k=[];for(let a of j){let b=k[k.length-1];if(b&&a.startMs-b.endMs<=d)for(let c of(b.endMs=a.endMs,a.peak>b.peak&&(b.peak=a.peak),a.sessionIds))b.sessionIds.add(c);else k.push({startMs:a.startMs,endMs:a.endMs,peak:a.peak,sessionIds:new Set(a.sessionIds)})}let l=new Map;for(let b of a)l.set(b.id,b.projectDir);return k.map(a=>{let b=Array.from(new Set(Array.from(a.sessionIds).map(a=>l.get(a)).filter(a=>!!a)));return{startMs:a.startMs,endMs:a.endMs,peak:a.peak,sessionIds:Array.from(a.sessionIds),projectDirs:b,crossProject:b.length>1}})}a.s(["buildGanttDay",0,function(a,b){let[c,d,e]=b.split("-").map(Number),f=new Date(c,d-1,e).getTime(),g=new Date(c,d-1,e+1).getTime(),h=[];for(let b of a){let a=(function(a,b=18e4){let c=a.filter(a=>a.timestamp).map(a=>Date.parse(a.timestamp)).filter(a=>!Number.isNaN(a)).sort((a,b)=>a-b);if(0===c.length)return[];let d=[],e=c[0],f=c[0];for(let a=1;a<c.length;a++){let g=c[a];g-f>b&&(d.push({startMs:e,endMs:f}),e=g),f=g}return d.push({startMs:e,endMs:f}),d})(b.events).filter(a=>a.endMs>f&&a.startMs<g).map(a=>({startMs:Math.max(a.startMs,f),endMs:Math.min(a.endMs,g)}));if(0===a.length)continue;let c=Math.min(...a.map(a=>a.startMs)),d=Math.max(...a.map(a=>a.endMs)),e=a.reduce((a,b)=>a+(b.endMs-b.startMs),0);h.push({id:b.id,agent:b.agent,projectName:b.projectName,projectDir:b.projectDir,firstUserPreview:b.firstUserPreview,lastAgentPreview:b.lastAgentPreview,model:b.model,segments:a,startMs:c,endMs:d,activeMs:e,totalUsage:b.totalUsage})}h.sort((a,b)=>a.startMs-b.startMs);let i=[];for(let a of h)for(let b of a.segments)i.push({ms:b.startMs,delta:1}),i.push({ms:b.endMs,delta:-1});i.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let j=0,k=0;for(let a of i)(j+=a.delta)>k&&(k=j);return{date:b,sessions:h,dayStartMs:f,dayEndMs:g,peakActiveParallelism:k}},"canonicalProjectName",0,h,"computeBurstsFromSessions",0,function(a,b={}){let c=[];for(let b of a)b.activeSegments&&0!==b.activeSegments.length&&c.push({id:b.id,projectDir:b.projectDir,segments:b.activeSegments});return o(c,b)},"computeParallelismBursts",0,function(a,b={}){return o(a.sessions,b)},"dailyActivity",0,function(a){let b,d;if(0===a.length)return[];let e=new Map,f=a=>{(!b||a<b)&&(b=a),(!d||a>d)&&(d=a);let c=e.get(a)??j(a);return e.set(a,c),c};for(let b of a){let a=function(a){if(!a.firstTimestamp)return;let b=Date.parse(a.firstTimestamp);if(!Number.isNaN(b))return c(b)}(b);if(a){let c=f(a);c.toolCalls+=b.toolCallCount??0,c.turns+=b.turnCount??0,c.tokens.input+=b.totalUsage.input,c.tokens.output+=b.totalUsage.output,c.tokens.cacheRead+=b.totalUsage.cacheRead,c.tokens.cacheWrite+=b.totalUsage.cacheWrite,c.durationMs+=b.durationMs??0}let d=b.activeSegments;if(d&&d.length>0){let a=new Set;for(let b of d){let d=b.startMs;for(;d<b.endMs;){let e=c(d);a.add(e);let g=new Date(d);g.setHours(24,0,0,0);let h=Math.min(g.getTime(),b.endMs),i=f(e);i.airTimeMs+=h-d,d=h}}for(let b of a){let a=f(b);a.sessions++}}else if(a){let c=f(a);c.sessions++,c.airTimeMs+=b.airTimeMs??0}}let g=b&&d?function(a,b){let[d,e,f]=a.split("-").map(Number),[g,h,i]=b.split("-").map(Number),j=new Date(d,e-1,f),k=new Date(g,h-1,i),l=[];for(let a=new Date(j);a<=k;a.setDate(a.getDate()+1))l.push(c(a.getTime()));return l}(b,d):[],h=[];for(let a of g)h.push(e.get(a)??j(a));let i=function(a){let b=[];for(let c of a)for(let a of c.activeSegments&&c.activeSegments.length>0?c.activeSegments:c.firstTimestamp&&c.lastTimestamp?(()=>{let a=Date.parse(c.firstTimestamp),b=Date.parse(c.lastTimestamp);return Number.isNaN(a)||Number.isNaN(b)||b<a?[]:[{startMs:a,endMs:b}]})():[])b.push({ms:a.startMs,delta:1,sessionId:c.id}),b.push({ms:a.endMs,delta:-1,sessionId:c.id});b.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let c=new Map,d=[];for(let a of b){if(1===a.delta)c.set(a.sessionId,(c.get(a.sessionId)??0)+1);else{let b=(c.get(a.sessionId)??0)-1;b<=0?c.delete(a.sessionId):c.set(a.sessionId,b)}d.push({atMs:a.ms,active:c.size,sessions:Array.from(c.keys()).slice(0,10)})}return d}(a),k=new Map;for(let a of i){let b=c(a.atMs),d=k.get(b)??0;a.active>d&&k.set(b,a.active)}for(let a of h)a.peakParallelism=k.get(a.date)??0;return h},"detectPrMarkers",0,function(a){let b=[],c=a.durationMs??0;for(let d of a.events){if("tool-call"!==d.role||"Bash"!==d.toolName)continue;let e=d.blocks.find(a=>a&&"type"in a&&"tool_use"===a.type);if(!e||"tool_use"!==e.type)continue;let f=e.input,g="string"==typeof f?.command?f.command:"";if(!k.test(g))continue;let h=g.match(m),i=g.match(l);b.push({sessionId:a.id,timestamp:d.timestamp??a.firstTimestamp??"",tOffsetMs:d.tOffsetMs,positionInSession:c>0&&void 0!==d.tOffsetMs?Math.min(1,Math.max(0,d.tOffsetMs/c)):void 0,command:g.slice(0,300),prNumber:i?Number(i[1]):void 0,title:h?.[1]})}return b},"groupByProject",0,function(a){let b=new Map;for(let c of a){let a=h(c.projectName),d=b.get(a);d||(d={projectDir:a,projectName:a,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:n([]),perAgent:[],lastActiveMs:void 0},b.set(a,d)),d.sessions.push(c),d.rawProjectDirs.includes(c.projectDir)||d.rawProjectDirs.push(c.projectDir);let e=c.lastTimestamp?Date.parse(c.lastTimestamp):void 0;e&&(!d.lastActiveMs||e>d.lastActiveMs)&&(d.lastActiveMs=e)}for(let a of b.values()){a.metrics=n(a.sessions);let b=new Set;for(let c of a.sessions){let a=i(c.projectName);a&&b.add(a)}a.worktreeCount=b.size;let c=new Map;for(let b of a.sessions){let a=b.agent??"claude-code",d=c.get(a);d||(d={agent:a,sessions:0},c.set(a,d)),d.sessions+=1}a.perAgent=Array.from(c.values()).sort((a,b)=>b.sessions-a.sessions)}return Array.from(b.values()).sort((a,b)=>(b.lastActiveMs??0)-(a.lastActiveMs??0))},"highLevelMetrics",0,n,"sessionAirTimeMs",0,function(a,b=18e4){let c=0;for(let d of a)void 0!==d.gapMs&&d.gapMs<=b&&(c+=d.gapMs);return c},"summarizeBursts",0,function(a){let b=0,d=0,e=0,f=new Set;for(let g of a)g.peak>b&&(b=g.peak),d+=g.endMs-g.startMs,g.crossProject&&e++,f.add(c(g.startMs));return{peakConcurrent:b,totalParallelMs:d,burstCount:a.length,crossProjectBurstCount:e,activeDayCount:f.size}},"toLocalDay",0,c,"worktreeName",0,i])},23895,88522,a=>{"use strict";var b=a.i(2157),c=a.i(60526),d=a.i(50227),e=a.i(30375),f=a.i(10687),g=a.i(98049),h=a.i(48024);let i=d.default.join(c.default.homedir(),".claude","projects");function j(a){return a.startsWith("-")?"/"+a.slice(1).replace(/-/g,"/"):a}let k=d.default.join(c.default.homedir(),".cclens","runtime").replace(/[/.]/g,"-");async function l(a){let c=await b.promises.readFile(a,"utf8"),d=[];for(let a of c.split("\n")){let b=a.trim();if(b)try{d.push(JSON.parse(b))}catch{}}return d}function m(a){return a.replace(/\.jsonl$/i,"")}let n=new Map,o=new Map,p=new Map,q=null;async function r(a=i){let c;if(q&&q.root===a&&Date.now()-q.capturedAtMs<1e3)return q.files;try{c=await b.promises.readdir(a,{withFileTypes:!0})}catch{return[]}let e=c.filter(a=>a.isDirectory()&&a.name!==k).map(a=>a.name),f=(await Promise.all(e.map(async c=>{let e,f=d.default.join(a,c);try{e=await b.promises.readdir(f)}catch{return[]}let g=e.filter(a=>a.endsWith(".jsonl"));return(await Promise.all(g.map(async a=>{let e=d.default.join(f,a);try{let d=await b.promises.stat(e);return{projectDir:c,fileName:a,fullPath:e,mtimeMs:d.mtimeMs,sizeBytes:d.size}}catch{return null}}))).filter(a=>null!==a)}))).flat();return q={files:f,capturedAtMs:Date.now(),root:a},f}async function s(a=i){let b=await r(a),c=(await Promise.all(b.map(async a=>{let b,c=p.get(a.fullPath);if(c&&c.mtimeMs===a.mtimeMs&&c.sizeBytes===a.sizeBytes)return c.events;try{b=await l(a.fullPath)}catch{return[]}let d=new Map;for(let c of b){if(!c||"object"!=typeof c||"assistant"!==c.type)continue;let b="string"==typeof c.timestamp?c.timestamp:void 0;if(!b)continue;let e=c.message;if(!e)continue;let g=e.usage;if(!g)continue;let h=(0,f.modelFamily)("string"==typeof e.model?e.model:void 0);if(null===h)continue;let i="string"==typeof e.id?e.id:`__noid_${a.fullPath}_${b}`,j=g.cache_creation??{},k=a=>"number"==typeof a?a:0;d.set(i,{ts:b,family:h,input:k(g.input_tokens),output:k(g.output_tokens),cacheRead:k(g.cache_read_input_tokens),cache_1h:k(j.ephemeral_1h_input_tokens),cache_5m:k(j.ephemeral_5m_input_tokens)})}let e=Array.from(d.values());return p.set(a.fullPath,{events:e,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),e}))).flat();return c.sort((a,b)=>a.ts.localeCompare(b.ts)),c}let t={input:0,output:0,cacheRead:0,cacheWrite:0};function u(a,b,c){for(let d of a){if(!d||"object"!=typeof d||"assistant"!==d.type)continue;let a=d.message;if(!a)continue;let e="string"==typeof a.id?a.id:void 0,f="string"==typeof d.requestId?d.requestId:void 0,g=null!=e&&null!=f?`${e}:${f}`:void 0;if(g&&b.has(g))continue;g&&b.add(g);let h=a.usage;if(h){let a=a=>"number"==typeof a?a:0;c.input+=a(h.input_tokens),c.output+=a(h.output_tokens),c.cacheRead+=a(h.cache_read_input_tokens),c.cacheWrite+=a(h.cache_creation_input_tokens)}}}async function v(a,c,e){let f,g={...t},h=new Set;u(a,h,g);let i=d.default.join(c,e,"subagents");try{f=await b.promises.readdir(i)}catch{return g}let j=f.filter(a=>a.endsWith(".jsonl"));return 0===j.length||await Promise.all(j.map(async a=>{try{let b=await l(d.default.join(i,a));u(b,h,g)}catch{}})),g}async function w(a){let b=n.get(a.fullPath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes)return b.meta;try{let b=await l(a.fullPath),{meta:c}=(0,g.parseTranscript)(b),e=m(a.fileName),f=d.default.dirname(a.fullPath);c.totalUsage=await v(b,f,e);let h={...c,id:e,filePath:a.fullPath,projectDir:a.projectDir,projectName:c.cwd??j(a.projectDir)};return n.set(a.fullPath,{meta:h,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),h}catch{return null}}async function x(a){let b=o.get(a.fullPath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes)return b.detail;try{let b=await l(a.fullPath),{meta:c,events:d}=(0,g.parseTranscript)(b),e={...c,id:m(a.fileName),filePath:a.fullPath,projectDir:a.projectDir,projectName:c.cwd??j(a.projectDir),events:d};o.set(a.fullPath,{detail:e,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes});let f={...e};return delete f.events,n.set(a.fullPath,{meta:f,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),e}catch{return null}}async function y(a={}){let{root:b=i,limit:c=500,projectDir:d}=a,e=await r(b);d&&(e=e.filter(a=>a.projectDir===d)),e.sort((a,b)=>b.mtimeMs-a.mtimeMs);let f=e.slice(0,c);return(await Promise.all(f.map(a=>w(a)))).filter(a=>null!==a)}async function z(a,b={}){let{root:c=i}=b,e=(await r(c)).find(b=>m(b.fileName)===a);if(!e)return null;let f=await x(e);if(!f)return f;let g=f.firstTimestamp?Date.parse(f.firstTimestamp):void 0,h=d.default.join(d.default.dirname(e.fullPath),m(e.fileName),"subagents"),j=await A(h,g,f.events);return{...f,subagents:j}}async function A(a,c,e){let f;try{f=await b.promises.readdir(a)}catch{return[]}let g=new Map,h=[];for(let a of e)if("tool-call"===a.role&&"Agent"===a.toolName)for(let b of a.blocks){if(b?.type!=="tool_use"||"Agent"!==b.name)continue;let c=b.input??{},d="string"==typeof c.description?c.description:void 0,e=a.timestamp?Date.parse(a.timestamp):void 0,f={toolUseId:b.id,parentUuid:a.uuid??"",runInBackground:!0===c.run_in_background,prompt:"string"==typeof c.prompt?c.prompt:void 0,tsMs:e};d&&g.set(d,f),void 0!==e&&h.push(f)}h.sort((a,b)=>(a.tsMs??0)-(b.tsMs??0));let i=f.filter(a=>a.startsWith("agent-")&&a.endsWith(".jsonl"));return(await Promise.all(i.map(async e=>{let f,i=e.replace(/^agent-/,"").replace(/\.jsonl$/,""),j=d.default.join(a,e),k=d.default.join(a,`agent-${i}.meta.json`),m={};try{let a=await b.promises.readFile(k,"utf8");m=JSON.parse(a)}catch{}try{f=await l(j)}catch{return null}let n=function(a){let b,c,d,e,f,g={...t},h=new Set,i=0,j=0,k=0,l=new Map;for(let m of a){if(!m||"object"!=typeof m)continue;i++;let a="string"==typeof m.timestamp?Date.parse(m.timestamp):NaN;if(!Number.isNaN(a)&&((void 0===b||a<b)&&(b=a),(void 0===c||a>c)&&(c=a)),void 0===f&&"user"===m.type&&(null===m.parentUuid||void 0===m.parentUuid)){let a=m.message,b=a?.content;if("string"==typeof b)f=b;else if(Array.isArray(b)){let a=b.find(a=>a&&"object"==typeof a&&"text"===a.type);a?.text&&(f=a.text)}}if("assistant"===m.type){let a=m.message;if(!a)continue;e||"string"!=typeof a.model||(e=a.model);let b="string"==typeof a.id?a.id:void 0,c="string"==typeof m.requestId?m.requestId:void 0,f=null!=b&&null!=c?`${b}:${c}`:void 0,i=!f||!h.has(f);if(f&&i&&h.add(f),i){j++;let b=a.usage;if(b){let a=a=>"number"==typeof a?a:0;g.input+=a(b.input_tokens),g.output+=a(b.output_tokens),g.cacheRead+=a(b.cache_read_input_tokens),g.cacheWrite+=a(b.cache_creation_input_tokens)}}let n=a.content;if(Array.isArray(n))for(let a of n)a&&"object"==typeof a&&("text"===a.type&&"string"==typeof a.text?d=a.text:"tool_use"===a.type&&"string"==typeof a.name&&(k++,l.set(a.name,(l.get(a.name)??0)+1)))}}let m=Array.from(l.entries()).map(([a,b])=>({name:a,count:b})).sort((a,b)=>b.count-a.count);return{startMs:b,endMs:c,totalUsage:g,eventCount:i,finalPreview:void 0!==d?d.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:d,model:e,toolCalls:m,toolCallCount:k,assistantMessageCount:j,initialPrompt:f}}(f),o=m.description&&m.description.trim().length>0?m.description:void 0,p=o?g.get(o):function(a){let b;if(void 0===a)return;let c=1/0;for(let d of h){if(void 0===d.tsMs)continue;let e=Math.abs(a-d.tsMs);e<c&&e<=2e3&&(b=d,c=e)}return b}(n.startMs),q=o??(n.initialPrompt?n.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),r=p?.prompt??n.initialPrompt,s=void 0!==c&&void 0!==n.startMs?Math.max(0,n.startMs-c):void 0,u=void 0!==c&&void 0!==n.endMs?Math.max(0,n.endMs-c):void 0,v=void 0!==n.startMs&&void 0!==n.endMs?n.endMs-n.startMs:void 0;return{agentId:i,agentType:m.agentType??"unknown",description:q,startMs:n.startMs,endMs:n.endMs,durationMs:v,startTOffsetMs:s,endTOffsetMs:u,eventCount:n.eventCount,totalUsage:n.totalUsage,parentUuid:p?.parentUuid,parentToolUseId:p?.toolUseId,runInBackground:p?.runInBackground,prompt:r,finalPreview:n.finalPreview,finalText:n.finalText,model:n.model,toolCalls:n.toolCalls,toolCallCount:n.toolCallCount,assistantMessageCount:n.assistantMessageCount}}))).filter(a=>null!==a).sort((a,b)=>(a.startMs??0)-(b.startMs??0))}async function B(a=i){let b=await r(a),c=new Map;for(let a of b){let b=c.get(a.projectDir)??{count:0,lastActiveMs:0};b.count++,a.mtimeMs>b.lastActiveMs&&(b.lastActiveMs=a.mtimeMs),c.set(a.projectDir,b)}let d=a=>{for(let[,b]of n.entries())if(b.meta.projectDir===a&&b.meta.cwd)return b.meta.cwd},e=new Map;for(let[a,{count:b,lastActiveMs:f}]of c){let c=d(a)??j(a),g=(0,h.canonicalProjectName)(c),i=(0,h.worktreeName)(c),k=e.get(g)??{canonicalName:g,count:0,lastActiveMs:0,worktreeBranches:new Set};k.count+=b,f>k.lastActiveMs&&(k.lastActiveMs=f),i&&k.worktreeBranches.add(i),e.set(g,k)}return Array.from(e.values()).map(a=>({projectDir:a.canonicalName,projectName:a.canonicalName,sessionCount:a.count,lastActiveMs:a.lastActiveMs,worktreeCount:a.worktreeBranches.size})).sort((a,b)=>b.lastActiveMs-a.lastActiveMs)}async function C(a,b={}){let{root:c=i}=b,d=await y({root:c}),e=d.find(b=>b.sessionId===a);if(!e||!e.teamName)return null;let f=e.teamName,g=d.filter(a=>a.teamName===f&&!a.filePath.includes("/subagents/")),h=await Promise.all(g.map(a=>z(a.sessionId,{root:c}))),j=new Map;g.forEach((a,b)=>{let c=h[b];c&&j.set(a.sessionId,c)});let k=(function(a,b){let c=new Map;for(let b of a){if(!b.teamName)continue;let a=c.get(b.teamName)??[];a.push(b),c.set(b.teamName,a)}let d=[];for(let[a,e]of c){let c=function(a,b,c){let d,e=b.filter(a=>a.isTeamLead);if(0===e.length)return null;for(let a of e){let b=c.get(a.sessionId);if(b&&function(a){for(let b of a)if("tool-call"===b.role&&"TeamCreate"===b.toolName)return!0;return!1}(b.events)){d=a;break}}d||(d=[...e].sort((a,b)=>Date.parse(a.firstTimestamp??"")-Date.parse(b.firstTimestamp??""))[0]);let f=new Map;for(let a of b)f.set(a.sessionId,a.agentName);let g=b.filter(a=>a.sessionId!==d.sessionId).sort((a,b)=>Date.parse(a.firstTimestamp??"")-Date.parse(b.firstTimestamp??"")),h=new Map;for(let a of g)a.agentName&&h.set(a.agentName,a.sessionId);let i=[];for(let a of b){let b=c.get(a.sessionId);if(!b)continue;let e=a.sessionId,f=a.agentName??"team-lead";for(let a of b.events){let b=function(a){if("tool-call"!==a.role||"SendMessage"!==a.toolName)return null;for(let b of a.blocks){if(!b||"object"!=typeof b||"tool_use"!==b.type)continue;let a=b.input??{},c="string"==typeof a.to?a.to:"",d="string"==typeof a.message?a.message:"";if(!c)break;return{to:c,body:d}}return null}(a);if(!b)continue;let c=b.to,g="team-lead"===c?d.sessionId:h.get(c)??"";i.push({tsMs:a.timestamp?Date.parse(a.timestamp):0,fromSessionId:e,fromTeammateId:f,toSessionId:g,toTeammateId:c,body:b.body,kind:"message"})}}i.sort((a,b)=>a.tsMs-b.tsMs);let j=[];for(let a of b)a.firstTimestamp&&j.push(Date.parse(a.firstTimestamp)),a.lastTimestamp&&j.push(Date.parse(a.lastTimestamp));let k=j.length?Math.min(...j):0,l=j.length?Math.max(...j):0;return{teamName:a,leadSessionId:d.sessionId,memberSessionIds:g.map(a=>a.sessionId),agentNameBySessionId:f,messages:i,firstEventMs:k,lastEventMs:l}}(a,e,b);c&&d.push(c)}return d})(g,j).find(a=>a.teamName===f);return k?{view:k,details:j}:null}async function D(a,b={}){let{root:c=i}=b,d=await y({root:c}),e=d.find(b=>b.sessionId===a);if(!e||!e.teamName||!e.agentName||e.isTeamLead)return null;let f=d.filter(a=>a.teamName===e.teamName&&a.isTeamLead&&!a.filePath.includes("/subagents/"));return 0===f.length?null:{leadSessionId:f[0].sessionId,teamName:e.teamName,agentName:e.agentName}}let E={...e.CLAUDE_CODE_METADATA,defaultRoot:i,async listSessions(a){let b=await y(a);for(let a of b)a.agent||(a.agent="claude-code");return b},async getSession(a,b){let c=await z(a,b);return c&&!c.agent&&(c.agent="claude-code"),c}};a.s(["DEFAULT_ROOT",0,i,"claudeCodeSource",0,E,"findTeamLead",0,D,"listProjects",0,B,"loadCalibrationEvents",0,s,"loadTeamForSession",0,C,"walkJsonlFiles",0,r],88522);var F=a.i(79053);let G=d.default.join(c.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 I(a){return b.promises.readdir(a).catch(()=>[])}async function J(a){let c=[];for(let e of(await I(a))){if(!/^\d{4}$/.test(e))continue;let f=d.default.join(a,e);for(let a of(await I(f))){if(!/^\d{2}$/.test(a))continue;let e=d.default.join(f,a);for(let a of(await I(e))){if(!/^\d{2}$/.test(a))continue;let f=d.default.join(e,a);for(let a of(await I(f))){let e=H.exec(a);if(!e)continue;let g=d.default.join(f,a),h=await b.promises.stat(g).catch(()=>null);h&&c.push({filePath:g,sessionId:e[2],mtimeMs:h.mtimeMs,sizeBytes:h.size})}}}}return c}async function K(a){let c=await b.promises.readFile(a,"utf8"),d=[];for(let a of c.split("\n")){let b=a.trim();if(b)try{d.push(JSON.parse(b))}catch{}}return d}function L(a){return a.replace(/\s+/g," ").trim().slice(0,200)}function M(a,b){let c,d,e,f,g,i,j,k=[],l={input:0,output:0,cacheRead:0,cacheWrite:0},m=0,n=0,o=[],p=0;for(let a of b){if("object"!=typeof a||null===a)continue;let b="string"==typeof a.timestamp?a.timestamp:void 0;if(b){c||(c=b),d=b;let a=Date.parse(b);Number.isFinite(a)&&o.push(a)}let h="string"==typeof a.type?a.type:"",r=a.payload??{},s="string"==typeof r.type?r.type:"";if("session_meta"===h){"string"==typeof r.cwd&&(e=r.cwd);continue}if("turn_context"===h){"string"==typeof r.cwd&&(e=r.cwd),"string"==typeof r.model&&(f=r.model);continue}if("event_msg"===h&&"token_count"===s){let a=r.info??null,b=a?.total_token_usage??null;b&&(l.input=N(b.input_tokens)??l.input,l.output=N(b.output_tokens)??l.output,l.cacheRead=N(b.cached_input_tokens)??l.cacheRead);continue}if("event_msg"===h&&"user_message"===s){let c="string"==typeof r.message?r.message:"",d=L(c),e=(0,F.isFrameworkInjectedUserInput)(c);c&&!e&&(g||(g=d),i=d,n+=1),k.push({index:p++,timestamp:b,role:"user",rawType:"event_msg/user_message",preview:d,blocks:c?[{type:"text",text:c}]:[],raw:a});continue}if("event_msg"===h&&"agent_message"===s){let c="string"==typeof r.message?r.message:"",d=L(c);c&&(j=d),k.push({index:p++,timestamp:b,role:"agent",rawType:"event_msg/agent_message",preview:d,blocks:c?[{type:"text",text:c}]:[],model:f,raw:a});continue}if("response_item"===h&&"reasoning"===s){let c=(r.summary??[]).map(a=>"string"==typeof a.text?a.text:"").join("\n").trim();k.push({index:p++,timestamp:b,role:"agent-thinking",rawType:"response_item/reasoning",preview:L(c),blocks:c?[{type:"thinking",thinking:c}]:[],model:f,raw:a});continue}if("response_item"===h&&"message"===s&&"assistant"===r.role){let c=(r.content??[]).map(a=>"string"==typeof a.text?a.text:"").join("\n").trim(),d=L(c);c&&(j=d),k.push({index:p++,timestamp:b,role:"agent",rawType:"response_item/message",preview:d,blocks:c?[{type:"text",text:c}]:[],model:f,raw:a});continue}if("response_item"===h&&"function_call"===s){var q;let c="string"==typeof r.name?r.name:"(unknown)",d="string"==typeof r.call_id?r.call_id:void 0,e="string"==typeof r.arguments?r.arguments:"",g=function(a){if(!a)return null;try{return JSON.parse(a)}catch{return a}}(e);m+=1,k.push({index:p++,timestamp:b,role:"tool-call",rawType:"response_item/function_call",preview:`${c}(${(q=e).length<=80?q:q.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:d??`codex-${p}`,name:c,input:g}],toolName:c,toolUseId:d,model:f,raw:a});continue}if("response_item"===h&&"function_call_output"===s){let c="string"==typeof r.call_id?r.call_id:void 0,d="string"==typeof r.output?r.output:"",e=/process exited with code [1-9]/i.test(d);k.push({index:p++,timestamp:b,role:"tool-result",rawType:"response_item/function_call_output",preview:L(d),blocks:[{type:"tool_result",tool_use_id:c??"",content:d,is_error:e}],toolUseId:c,toolResult:d,raw:a});continue}k.push({index:p++,timestamp:b,role:"meta",rawType:s?`${h}/${s}`:h,preview:"",blocks:[],raw:a})}if(l.input>0||l.output>0){let b=-1;for(let a=k.length-1;a>=0;a--){let c=k[a].role;if("agent"===c||"agent-thinking"===c||"tool-call"===c){b=a;break}}if(b>=0){let c=k[b];c.messageId=`codex-${a.sessionId}-total`,c.usage={input:l.input,output:l.output,cacheRead:l.cacheRead,cacheWrite:0}}}let r=c?Date.parse(c):void 0;if(void 0!==r&&Number.isFinite(r)){let a;for(let b of k){if(!b.timestamp)continue;let c=Date.parse(b.timestamp);Number.isFinite(c)&&(b.tOffsetMs=Math.max(0,c-r),void 0!==a&&(b.gapMs=Math.max(0,c-a)),a=c)}}let s=function(a){if(0===a.length)return[];let b=[...a].sort((a,b)=>a-b),c=[],d=b[0],e=b[0];for(let a=1;a<b.length;a++)b[a]-e>18e4&&(c.push({startMs:d,endMs:e}),d=b[a]),e=b[a];return c.push({startMs:d,endMs:e}),c}(o),t=s.reduce((a,b)=>a+(b.endMs-b.startMs),0),u=c&&d?Date.parse(d)-Date.parse(c):void 0,v=e?(0,h.canonicalProjectName)(e):"(unknown)",w=e?e.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:a.sessionId,filePath:a.filePath,projectName:v,projectDir:w,sessionId:a.sessionId,firstTimestamp:c,lastTimestamp:d,durationMs:u&&Number.isFinite(u)?u:void 0,eventCount:k.length,model:f,cwd:e,totalUsage:l,status:"idle",firstUserPreview:g,lastUserPreview:i,lastAgentPreview:j,toolCallCount:m,turnCount:n,airTimeMs:t,activeSegments:s},events:k}}function N(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}let O=new Map,P=new Map;async function Q(a={}){let b=a.root??G,c=await J(b),d=[];for(let a of c){let b=O.get(a.filePath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes){d.push(b.meta);continue}try{let b=await K(a.filePath),{meta:c}=M(a,b);O.set(a.filePath,{meta:c,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),d.push(c)}catch{}}return(d.sort((a,b)=>(b.firstTimestamp??"").localeCompare(a.firstTimestamp??"")),void 0!==a.limit)?d.slice(0,a.limit):d}async function R(a,b={}){let c=b.root??G,d=(await J(c)).find(b=>b.sessionId===a);if(!d)return null;let e=P.get(d.filePath);if(e&&e.mtimeMs===d.mtimeMs&&e.sizeBytes===d.sizeBytes)return e.detail;let f=await K(d.filePath),{meta:g,events:h}=M(d,f),i={...g,events:h};return P.set(d.filePath,{detail:i,mtimeMs:d.mtimeMs,sizeBytes:d.sizeBytes}),i}async function S(a={}){let b=a.root??G,c=await J(b);if(0===c.length)return null;for(let a of(c.sort((a,b)=>b.mtimeMs-a.mtimeMs),c)){let b=await K(a.filePath);for(let c=b.length-1;c>=0;c--){let d=b[c];if("object"!=typeof d||null===d||"event_msg"!==d.type)continue;let e=d.payload??{};if("token_count"!==e.type)continue;let f=e.rate_limits??null;if(!f)continue;let g=f.primary??null,h=f.secondary??null,i=N(g?.used_percent),j=N(h?.used_percent),k=N(g?.resets_at),l=N(h?.resets_at),m="string"==typeof f.plan_type?f.plan_type:null;return{five_hour:{utilization:i??null,resets_at:void 0!==k?new Date(1e3*k).toISOString():null},seven_day:{utilization:j??null,resets_at:void 0!==l?new Date(1e3*l).toISOString():null},plan_type:m,source_path:a.filePath}}}return null}let T=d.default.join(c.default.homedir(),".gemini","tmp"),U=d.default.join(c.default.homedir(),".gemini","projects.json"),V=/^session-.+\.(jsonl|json)$/;async function W(a){return b.promises.readdir(a).catch(()=>[])}async function X(a){let c=[];for(let e of(await W(a))){let f=d.default.join(a,e,"chats");for(let a of(await W(f))){if(!V.test(a))continue;let g=d.default.join(f,a),h=await b.promises.stat(g).catch(()=>null);if(!h||!h.isFile())continue;let i=a.replace(/\.(jsonl|json)$/,"").split("-").pop()??a;c.push({filePath:g,slug:e,filenameId:i,format:a.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:h.mtimeMs,sizeBytes:h.size})}}return c}let Y=null;async function Z(){let a,c=await b.promises.stat(U).catch(()=>null);if(!c)return new Map;if(Y&&Y.mtimeMs===c.mtimeMs)return Y.slugToCwd;let d=await b.promises.readFile(U,"utf8").catch(()=>"");try{a=JSON.parse(d)}catch{a={}}let e=new Map;for(let[b,c]of Object.entries(a.projects??{}))"string"==typeof c&&e.set(c,b);return Y={mtimeMs:c.mtimeMs,slugToCwd:e},e}function $(a){return!!a&&"object"==typeof a&&"string"==typeof a.id&&"string"==typeof a.type}async function _(a){let c=await b.promises.readFile(a.filePath,"utf8");if("legacy-json"===a.format){let a;try{a=JSON.parse(c)}catch{return{meta:{},messages:[]}}return{meta:{sessionId:"string"==typeof a.sessionId?a.sessionId:void 0,projectHash:"string"==typeof a.projectHash?a.projectHash:void 0,startTime:"string"==typeof a.startTime?a.startTime:void 0,lastUpdated:"string"==typeof a.lastUpdated?a.lastUpdated:void 0,summary:"string"==typeof a.summary?a.summary:void 0},messages:(Array.isArray(a.messages)?a.messages:[]).filter($)}}let d={},e=new Map,f=[];for(let a of c.split("\n")){let b,c=a.trim();if(c){var g,h;try{b=JSON.parse(c)}catch{continue}if((g=b)&&"object"==typeof g&&"$rewindTo"in g){let a=b.$rewindTo,c=f.indexOf(a);if(c>=0){for(let a of f.slice(c))e.delete(a);f.length=c}continue}if((h=b)&&"object"==typeof h&&"$set"in h){Object.assign(d,b.$set);continue}if($(b)){e.has(b.id)||f.push(b.id),e.set(b.id,b);continue}if("object"==typeof b&&null!==b){let a=b;"string"!=typeof a.sessionId||d.sessionId||(d.sessionId=a.sessionId,"string"==typeof a.projectHash&&(d.projectHash=a.projectHash),"string"==typeof a.startTime&&(d.startTime=a.startTime),"string"==typeof a.lastUpdated&&(d.lastUpdated=a.lastUpdated),"string"==typeof a.summary&&(d.summary=a.summary))}}}let i=[];for(let a of f){let b=e.get(a);b&&i.push(b)}return{meta:d,messages:i}}function aa(a){return a.replace(/\s+/g," ").trim().slice(0,200)}function ab(a){if(!a)return"";if("string"==typeof a)return a;let b=Array.isArray(a)?a:[a],c=[];for(let a of b){if(!a||"object"!=typeof a)continue;if("string"==typeof a.text){c.push(a.text);continue}let b=a.functionResponse;if(b){let a=b.response;"string"==typeof a?c.push(a):a&&"object"==typeof a&&("string"==typeof a.output?c.push(a.output):"string"==typeof a.error?c.push(`error: ${a.error}`):c.push(JSON.stringify(a)))}}return c.join("\n")}async function ac(a){let b,c,d,e,f,g,{meta:i,messages:j}=await _(a),k=(await Z()).get(a.slug),l=[],m={input:0,output:0,cacheRead:0,cacheWrite:0},n=0,o=0,p=[],q=0;function r(a){if(l.push(a),a.timestamp&&"meta"!==a.role){b||(b=a.timestamp),c=a.timestamp;let d=Date.parse(a.timestamp);Number.isFinite(d)&&p.push(d)}}for(let a of j){let b=a.timestamp;if("user"===a.type){let c=ab(a.displayContent??a.content),d=aa(c),g=(0,F.isFrameworkInjectedUserInput)(c);c&&!g&&(e||(e=d),f=d,o+=1),r({index:q++,timestamp:b,role:"user",rawType:"gemini/user",preview:d,blocks:c?[{type:"text",text:c}]:[],messageId:a.id,raw:a});continue}if("gemini"===a.type){let c;"string"==typeof a.model&&(d=a.model);let e=ab(a.content),f=aa(e);if(e&&(g=f),a.tokens){let b=a.tokens,d={input:b.input??0,output:b.output??0,cacheRead:b.cached??0,cacheWrite:0};c=d,m.input+=d.input,m.output+=d.output,m.cacheRead+=d.cacheRead}for(let c of a.thoughts??[]){let a=[c.subject,c.description].filter(Boolean).join(": ");a&&r({index:q++,timestamp:c.timestamp??b,role:"agent-thinking",rawType:"gemini/thought",preview:aa(a),blocks:[{type:"thinking",thinking:a}],model:d,raw:c})}for(let g of(e?r({index:q++,timestamp:b,role:"agent",rawType:"gemini/agent",preview:f,blocks:[{type:"text",text:e}],messageId:a.id,model:d,usage:c,raw:a}):c&&r({index:q++,timestamp:b,role:"agent",rawType:"gemini/agent",preview:"",blocks:[],messageId:a.id,model:d,usage:c,raw:a}),a.toolCalls??[])){n+=1;let a=g.args?JSON.stringify(g.args):"";r({index:q++,timestamp:g.timestamp??b,role:"tool-call",rawType:"gemini/tool_call",preview:`${g.name}(${a.length<=80?a:a.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:g.id,name:g.name,input:g.args??{}}],toolName:g.name,toolUseId:g.id,model:d,raw:g});let c=(g.status??"").toLowerCase();if("success"===c||"error"===c||"cancelled"===c){let a=ab(g.result);r({index:q++,timestamp:g.timestamp??b,role:"tool-result",rawType:"gemini/tool_result",preview:aa(a),blocks:[{type:"tool_result",tool_use_id:g.id,content:a,is_error:"error"===c||"cancelled"===c}],toolUseId:g.id,toolResult:a,raw:g})}}continue}if("info"===a.type||"warning"===a.type||"error"===a.type){let c=ab(a.content);r({index:q++,timestamp:b,role:"meta",rawType:`gemini/${a.type}`,preview:aa(c),blocks:c?[{type:"text",text:c}]:[],raw:a});continue}}let s=b?Date.parse(b):void 0;if(void 0!==s&&Number.isFinite(s)){let a;for(let b of l){if(!b.timestamp)continue;let c=Date.parse(b.timestamp);Number.isFinite(c)&&(b.tOffsetMs=Math.max(0,c-s),void 0!==a&&(b.gapMs=Math.max(0,c-a)),a=c)}}let t=function(a){if(0===a.length)return[];let b=[...a].sort((a,b)=>a-b),c=[],d=b[0],e=b[0];for(let a=1;a<b.length;a++)b[a]-e>18e4&&(c.push({startMs:d,endMs:e}),d=b[a]),e=b[a];return c.push({startMs:d,endMs:e}),c}(p),u=t.reduce((a,b)=>a+(b.endMs-b.startMs),0),v=b&&c?Date.parse(c)-Date.parse(b):void 0,w=i.sessionId??a.filenameId,x=k?(0,h.canonicalProjectName)(k):a.slug,y=k?k.replace(/^\//,"-").replace(/\//g,"-"):a.slug;return{meta:{agent:"gemini",id:w,filePath:a.filePath,projectName:x,projectDir:y,sessionId:w,firstTimestamp:b,lastTimestamp:c,durationMs:v&&Number.isFinite(v)?v:void 0,eventCount:l.length,model:d,cwd:k,totalUsage:m,status:"idle",firstUserPreview:e,lastUserPreview:f,lastAgentPreview:g,toolCallCount:n,turnCount:o,airTimeMs:u,activeSegments:t},events:l}}let ad=new Map,ae=new Map;async function af(a={}){let b=a.root??T,c=await X(b),d=[];for(let a of c){let b=ad.get(a.filePath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes){d.push(b.meta);continue}try{let{meta:b}=await ac(a);ad.set(a.filePath,{meta:b,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),d.push(b)}catch{}}return(d.sort((a,b)=>(b.firstTimestamp??"").localeCompare(a.firstTimestamp??"")),void 0!==a.limit)?d.slice(0,a.limit):d}async function ag(a,b={}){let c,d=b.root??T,e=await X(d);for(let b of e)if(b.filenameId===a||a.startsWith(b.filenameId)){c=b;break}if(!c)for(let b of e){let{meta:d}=await ac(b).catch(()=>({meta:{id:""}}));if(d.id===a){c=b;break}}if(!c)return null;let f=ae.get(c.filePath);if(f&&f.mtimeMs===c.mtimeMs&&f.sizeBytes===c.sizeBytes)return f.detail;let{meta:g,events:h}=await ac(c),i={...g,events:h};return ae.set(c.filePath,{detail:i,mtimeMs:c.mtimeMs,sizeBytes:c.sizeBytes}),i}function ah(...a){return d.default.join(process.env.CCLENS_HOME||d.default.join(c.default.homedir(),".cclens"),...a)}let ai=[E,{...e.CODEX_METADATA,defaultRoot:G,listSessions:async a=>Q(a),getSession:async a=>R(a),async usagePoller(){let a=await S();return a?{captured_at:new Date().toISOString(),agent:"codex",five_hour:a.five_hour,seven_day:a.seven_day}:null}},{...e.GEMINI_METADATA,defaultRoot:T,listSessions:async a=>af(a),getSession:async a=>ag(a)}];async function aj(a={}){let b=await Promise.all(ai.map(b=>b.listSessions(a))),c=[];for(let a of b)c.push(...a);return(c.sort((a,b)=>(b.firstTimestamp??"").localeCompare(a.firstTimestamp??"")),void 0!==a.limit)?c.slice(0,a.limit):c}async function ak(a){for(let b of ai){let c=await b.getSession(a);if(c)return c}return null}async function al(){let a;try{a=await b.promises.readFile(ah("usage.jsonl"),"utf8")}catch{return[]}let c=[];for(let b of a.split("\n")){let a=b.trim();if(a)try{let b=JSON.parse(a);if(!b.captured_at||(b.agent??"claude-code")!=="claude-code")continue;c.push(b)}catch{}}return c.sort((a,b)=>(a.captured_at??"").localeCompare(b.captured_at??"")),c}function am(a,b,c){if(0===b.length)return null;for(let[d,e]of b)if(d>=a&&e>a){let b=e,d=36e5*c;for(;b-d>a;)b-=d;return b}let d=b[b.length-1][1],e=36e5*c;for(;d<a;)d+=e;return d}async function an(a="pro-max-20x",b=i,c=30){let[d,e]=await Promise.all([s(b),al()]);return function(a,b,c="pro-max-20x",d=30){if(0===b.length||0===a.length)return null;let e=(0,f.buildSpendIndex)(a),g=f.RATE_PER_PCT_7D[c],h=f.RATE_PER_PCT_5H[c],i=(0,f.groupSnapsByCycle)(b,a=>a.five_hour),j=(0,f.groupSnapsByCycle)(b,a=>a.seven_day),k=(0,f.collectSnapPairRates)(j,e,{minTravelPct:1,minDollars:10,maxGapMs:864e5}),l=(0,f.collectSnapPairRates)(i,e,{minTravelPct:1,minDollars:1,maxGapMs:72e5}),m=(0,f.userSoloRate)(k,.9)??g,n=(0,f.userSoloRate)(l,.9)??h,o=new Set(k.map(a=>a.cycleEndMs)).size,p=new Set(l.map(a=>a.cycleEndMs)).size,q=[],r=[];for(let a of b){let b=Date.parse(a.captured_at);if(!Number.isNaN(b)){if(a.five_hour?.resets_at){let c=Date.parse(a.five_hour.resets_at);Number.isNaN(c)||q.push([b,c])}if(a.seven_day?.resets_at){let c=Date.parse(a.seven_day.resets_at);Number.isNaN(c)||r.push([b,c])}}}let s=new Map;for(let a of b){let b=Date.parse(a.captured_at);if(Number.isNaN(b))continue;let c=Math.floor(b/6e4);s.set(c,[a.five_hour?.utilization??null,a.seven_day?.utilization??null])}let t=Date.parse(b[0].captured_at),u=Date.parse(b[b.length-1].captured_at),v=Math.max(Date.parse(a[0].ts),t-12096e5),w=6e4*d,x=[],y=v;for(;y<=u;){let a=null,b=null;for(let c=0;c<d;c++){let d=Math.floor((y+6e4*c)/6e4),e=s.get(d);if(e){a=e[0],b=e[1];break}}let c=am(y,q,5),g=am(y,r,168),h=null!=c?36e5*Math.round(c/36e5):null,k=null!=g?36e5*Math.round(g/36e5):null,l=null!=h?i.get(h)??[]:[],o=null!=k?j.get(k)??[]:[],p=h??y+18e6,t=k??y+6048e5,u=(0,f.predictAnchored)(e,l,n,p,5,y),v=(0,f.predictAnchored)(e,o,m,t,168,y);x.push({ts:new Date(y).toISOString(),real_5h:a,pred_5h:Math.max(0,Math.min(200,u)),real_7d:b,pred_7d:Math.max(0,Math.min(200,v)),cycle_end_5h:null!=h?new Date(h).toISOString():null,cycle_end_7d:null!=k?new Date(k).toISOString():null}),y+=w}let z=k.length>=3?"user_calibrated":"tier_default";return{model:`anchored-${c}`,tier:c,rate_per_pct:m,rate_per_pct_5h:n,rate_per_pct_7d:m,rate_source_5h:l.length>=3?"user_calibrated":"tier_default",rate_source_7d:z,cycles_used_5h:p,cycles_used_7d:o,granularity_min:d,curve:x,first_snapshot_ts:b[0].captured_at??null,real_count:x.filter(a=>null!==a.real_7d).length,total_count:x.length}}(d,e,a,c)}a.s(["agentSources",0,ai,"cclensPath",0,ah,"getAnySession",0,ak,"listAllSessions",0,aj,"loadCalibrationCurve",0,an],23895)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_parser_dist_12.endt._.js.map
|
|
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/_8He0IMRxt70EDQL1JOFe/_buildManifest.js",
|
|
11
|
+
"static/_8He0IMRxt70EDQL1JOFe/_ssgManifest.js",
|
|
12
|
+
"static/_8He0IMRxt70EDQL1JOFe/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/0kjot8367asxe.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0kjot8367asxe.js"/><script src="/_next/static/chunks/073081qv4uyn8.js" async=""></script><script src="/_next/static/chunks/0l4e3as18eexy.js" async=""></script><script src="/_next/static/chunks/0257pdz1-imal.js" async=""></script><script src="/_next/static/chunks/turbopack-00w.w1u3c~d-6.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/07lbm-sdh9c2j.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0kjot8367asxe.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0kjot8367asxe.js"/><script src="/_next/static/chunks/073081qv4uyn8.js" async=""></script><script src="/_next/static/chunks/0l4e3as18eexy.js" async=""></script><script src="/_next/static/chunks/0257pdz1-imal.js" async=""></script><script src="/_next/static/chunks/turbopack-00w.w1u3c~d-6.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/07lbm-sdh9c2j.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0kjot8367asxe.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/07lbm-sdh9c2j.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"_8He0IMRxt70EDQL1JOFe\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"9BU3BKWSSLV5F6kAc16gCQiTNNPtHEmpSw5TP1UitOk=\"\n}"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98183,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return o}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});function i(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,s(e));else t.set(n,s(r));return t}function l(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},18967,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return v},NormalizeError:function(){return x},PageNotFoundError:function(){return b},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return i},execOnce:function(){return s},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return l},isResSent:function(){return p},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return k}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>o.test(e);function c(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function d(){let{href:e}=window.location,t=c();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function f(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&p(n))return r;if(!r)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class x extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},33525,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},69198,e=>{"use strict";var t=e.i(18050);e.i(74472);var n=e.i(33815);e.s(["AgentBadge",0,function({agent:e}){if(!e||"claude-code"===e)return null;let r=(0,n.getAgentMetadata)(e);return r?(0,t.jsx)("span",{style:{display:"inline-flex",alignItems:"center",borderRadius:4,padding:"2px 6px",fontSize:10,letterSpacing:"0.04em",textTransform:"uppercase",whiteSpace:"nowrap",fontWeight:600,color:r.accentColor,background:`color-mix(in srgb, ${r.accentColor} 12%, transparent)`,border:`1px solid color-mix(in srgb, ${r.accentColor} 30%, transparent)`},title:`Source: ${r.displayName}`,children:r.shortLabel}):null}])},43531,e=>{"use strict";let t=(0,e.i(75254).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],43531)},88137,e=>{"use strict";function t(e){return e<-15?{tone:"danger",label:"may exhaust early"}:e>15?{tone:"warning",label:"below pace"}:{tone:"success",label:"on pace"}}e.s(["paceLabel",0,t,"paceToneForCycle",0,function(e,n,r,a=Date.now()){return t(100*Math.max(0,Math.min(1,(a-(n-r))/r))-e).tone},"toneVar",0,function(e){switch(e){case"success":return"var(--af-success)";case"warning":return"#b58400";case"danger":return"var(--af-danger)"}}])},3116,e=>{"use strict";let t=(0,e.i(75254).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);e.s(["Clock",0,t],3116)},41240,63639,e=>{"use strict";var t=e.i(75254);let n=(0,t.default)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);e.s(["Lightbulb",0,n],41240);let r=(0,t.default)("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);e.s(["Radio",0,r],63639)},31278,e=>{"use strict";let t=(0,e.i(75254).default)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],31278)},54611,e=>{"use strict";let t=/^##\s+\[([^\]]+)\](?:\s+[—\-–]\s+(\S+))?\s*$/,n=/^###\s+(.+?)\s*$/,r=/^[-*]\s+(.+?)\s*$/,a=function(e){let a=e.split(/\r?\n/),i=[],s=null,o=null,l=[];function c(){o&&l.length>0&&(o.bullets.push(l.join(" ").trim()),l=[])}for(let e of a){let a=t.exec(e);if(a){c(),o=null,s={version:a[1].trim(),date:a[2]?.trim()??null,sections:[]},i.push(s);continue}if(!s)continue;let d=n.exec(e);if(d){c(),o={kind:d[1].trim(),bullets:[]},s.sections.push(o);continue}let u=r.exec(e);if(u){c(),l=[u[1]];continue}l.length>0&&e.trim().length>0&&l.push(e.trim())}return c(),i}('# Changelog\n\nAll notable user-facing changes to the Fleetlens CLI (`fleetlens` on npm) are\nrecorded here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).\nThe team-server has its own log at `packages/team-server/CHANGELOG.md`.\n\n## [0.10.4] — 2026-05-21\n\n### Fixed\n- **Fleetlens\'s own LLM runs no longer show up in the dashboard.** The tmux-driven runner records its enrichment / digest / `/ask` calls as real Claude Code transcripts under `~/.claude/projects/` (cwd `~/.cclens/runtime`), since tailing that transcript is how it reads the model\'s reply. Those self-generated sessions were surfacing as a `.cclens/runtime` project and inflating session, project, and token-calibration rollups. The tmux runner now deletes each transcript once the response is captured (kill-session before unlink so claude can\'t rewrite it, gated by `FLEETLENS_TMUX_KEEP_WRAPPER`), and the parser excludes the runtime project dir at the scan chokepoint as a safety net for any transcript that outlives cleanup.\n\n## [0.10.3] — 2026-05-16\n\n### Added\n- **Daemon auto-update every 6 hours.** The local daemon now hourly-checks `registry.npmjs.org/fleetlens/latest` and spawns a detached `fleetlens update` child when a newer version exists. Timestamp persisted in `~/.cclens/daemon-update.json` so closing the laptop lid for days and reopening triggers an immediate catch-up check instead of waiting out the interval. Opt-out via `FLEETLENS_DAEMON_AUTO_UPDATE=0`.\n\n### Changed\n- **Unified team sync.** `runTeamSync` now drives history backfill, daily activity, live utilization, queue drain, and tier propagation through a single path. `team join` and the daemon\'s 5-min tick both call the same function — so a user disconnected from the team server for days will autonomously catch up on next sync, no manual `team backfill` needed.\n- New `lastSyncedUsageSnapshotAt` high-water mark in `~/.cclens/team.json` means incremental syncs only ship eligible new snapshots. Cold-start full backfill is bypass-able via `fleetlens team backfill --force` (and still runs unconditionally on first pair).\n- Team sync cadence is now independent of Claude OAuth polling, so an expired Claude token can no longer turn team sync into a 5-second retry storm.\n\n### Fixed\n- `lastSyncedDay` no longer advances past a failed day on partial outage — previously a transient mid-stream 5xx left a permanent hole in the team-server\'s daily-activity coverage.\n- Both `/api/ingest/metrics` and `/api/ingest/usage-history` POSTs now have a 15-second `AbortSignal.timeout` to bound hangs on network stalls.\n\n## [0.10.2] — 2026-05-15\n\n### Fixed\n- **Session-detail minimap no longer paints subagent runtime as idle.** Long agent runs that dispatched many subagents were reading as wall-to-wall "Session idle" stripes because the parent\'s tool_use → tool_result gap (the subagent\'s actual runtime) was classified as in-turn idle. `rawIdleBands` now carves subagent run spans out of every candidate gap; for in-turn gaps that overlap any subagent run the entire gap is dropped, and between-turn gaps with background subagent activity keep only the genuinely-unwatched residue.\n- **First-response thinking stops registering as idle.** Anchors now include every timestamped event (agent-thinking, meta, etc.), and the loop tracks an "awaiting first response" phase across intermediate thinking anchors. A `user → thinking → thinking → agent` sequence where the model takes a while to compose its first reply is now treated as response latency rather than painted as a stripe.\n- **Turn duration no longer shows `0ms` for single-row turns.** `buildMegaRows` now anchors a turn\'s `tOffsetMs` and `durationMs` at the originating user message rather than at the first agent row. Single-row turns show the actual user → agent latency, and the visual span of the turn rectangle on the minimap covers the whole arc.\n- **Single `Session idle` divider per band.** A user row and the turn-collapsed row that follows it now share a `tOffsetMs`, so the body\'s `IdleDivider` emitter dedupes per band to stop two consecutive identical idle markers around the same boundary.\n\n### Changed\n- Minimap idle threshold raised from 10s to 30s. Ordinary tool latency (slow Bash, big-file Read, between-anchor model thinking) no longer registers as idle.\n\n## [0.10.1] — 2026-05-14\n\n### Added\n- **Alternative claude runtime via tmux.** When `tmux` is on PATH, both the LLM pipeline (digest synth, entry enrichment, top-session perception) and the `/ask` feature now drive `claude` through a detached tmux session instead of `claude -p`. Sessions produced this way carry `entrypoint: cli` in their JSONL, which is also extracted by the parser and surfaced as a small badge on `/sessions/<id>` next to the model chip — green for `cli` / `claude-desktop`, amber for `sdk-*`. The path falls back to `claude -p` whenever tmux is unavailable or the run errors; set `FLEETLENS_FORCE_PRINT_MODE=1` to disable the tmux path entirely.\n- **`CCLENS_HOME` env override.** All `~/.cclens/` state (pid file, daemon log, perception state, usage snapshot log, llm-runs traces) is now reached through a shared `cclensHome()` helper that honors `CCLENS_HOME`. Lets multiple installs / workspaces run side-by-side without stomping on each other\'s state.\n\n### Fixed\n- `/api/runs` rendered every successful tmux-driven run as `status=error`. Tmux runs have no subprocess exit code (the session is killed by cleanup), and the runs viewer was treating a missing code as failure. End records now stamp `exit_code: 0` on success and the active-process filter no longer requires the literal `claude -p` flag, so tmux-driven processes also show up in the "active" panel while they\'re running.\n- `JobQueueWidget`\'s `/api/jobs` polling effect listed `jobs` in its deps, so each tick re-armed the effect on the freshly-set state ref — effective cadence collapsed to a 1–4 ms refetch loop. Now tracks `hasActive` in a closure-local var and runs the effect once on mount.\n\n### Conductor\n- New `conductor.json` + `scripts/conductor-{setup,run,archive}.sh` so each Conductor workspace allocates its own 3-port band (web / team-server / postgres) and boots its own `fleetlens-<workspace>` Compose stack against `.harness/cclens-state`. Replaces ~30 hard-coded `join(homedir(), ".cclens", …)` call sites with the shared `cclensHome()/cclensPath()` helper so a second workspace can boot without colliding with the user\'s primary install.\n\n## [0.10.0] — 2026-05-08\n\n### Changed\n- **Plan utilization reframed.** High utilization is now "getting plan value" (green); low utilization is "paying for unused headroom" (red). Mirrors how an operator actually looks at the dashboard: the wasteful outcome is paying for a plan and barely touching it, not running near the cap. Applied across `/usage` burndown, gauges, sidebar, and previous-cycles strip.\n- **In-progress cycles colored by pace, not peak.** A 50% peak halfway through a 7-day cycle reads on-pace green, not amber — the chart no longer cries wolf on a fresh cycle that just hasn\'t burnt yet. Completed cycles still use peak tone.\n- **Pace label ±15pp band.** "On pace" now covers a ±15pp window around ideal; outside that, label is "below pace" (under-burning) or "may exhaust early" (over-burning). The previous +5/-50 thresholds flipped amber every time the user took a night off.\n- **Pace label collapses to three states.** "May exhaust early" / "below pace" / "on pace" — same color tones, one fewer qualifier to read.\n- **Wording softened across the utilization views** to describe the pattern rather than judge the user. "Behind schedule" → "below pace"; "on track (+x%)" → "on pace (+xpp vs ideal)".\n\n### Added\n- **Conductor multi-agent workspace support.** Sessions inside Conductor\'s worktree-style agent workspaces (`~/conductor/workspaces/<repo>/<agent>/...`) now group correctly under their parent project, with each agent shown as a separate worktree. Mirrors the existing `.worktrees/` handling.\n\n### Fixed\n- Hydration mismatch on `/usage` when pace labels rendered before client mount.\n\n### Notes for operators\n- The CLI\'s team push now ships **only Claude Code usage snapshots** to the team server. Codex snapshots stay local until `plan_utilization` gets a per-agent partition — without one, the team-server\'s "latest snapshot" pick flips between agents and miscolors the in-progress cycle. Existing rows in `plan_utilization` stay; new pushes are claude-code only.\n\n## [0.9.0] — 2026-05-07\n\n### Added\n- **Gemini CLI** as the third agent source. Sessions written to `~/.gemini/tmp/<slug>/chats/session-*.jsonl` are now read, parsed, and rendered alongside Claude Code and Codex. Tool calls (`read_file`, `list_directory`, `glob`, `run_shell_command`, `update_topic`, …) and their results show in the session timeline; thinking blocks, multi-write status replay, `$set` / `$rewindTo` semantics, and the legacy single-JSON file shape all handled. Slug → cwd inversion via `~/.gemini/projects.json`. `✺` glyph + purple accent in the UI.\n\n### Changed\n- Session detail timeline drops in-turn idle hatching. Within a turn, every wait — model loading, tool execution, network — is the agent\'s active time. Only between-turn idle (user reading + composing the next message) renders as hatched.\n- Gemini parser anchors `firstTimestamp`, `lastTimestamp`, and `activeSegments` on conversational events only. Login/OAuth `info` records and `metadata.startTime` (file-creation moment) no longer stretch the session bar back to before the first user message.\n\n## [0.7.1] — 2026-05-07\n\n### Fixed\n- Cycle-peaks trend no longer renders two bars labeled the same day. When Anthropic\'s rolling 7-day window slid its anchor between consecutive polls, the daemon\'s bucketer (hour-rounded) recorded both reset boundaries as distinct cycles. They\'re now merged within a 12 h tolerance — same fix in `apps/web/lib/cycle-peaks.ts` (used by `/usage`) and in `packages/cli/src/team/sync.ts` (the daemon\'s team-server push), so both the personal `/usage` chart and the team-server\'s plan-utilization view stay consistent. 5-hour cycles keep no merge tolerance (their anchor is stable; merging would collapse legitimate distinct cycles).\n\n## [0.6.4] — 2026-05-04\n\n### Fixed\n- Cached calibration events per-file so `/usage` warm renders complete in well under a second on large session histories.\n\n## [0.6.3] — 2026-05-04\n\n### Fixed\n- Dropped poisoned auto-week locks left behind by interrupted runs; backfill now gates on the live pipeline lock instead.\n\n## [0.6.2] — 2026-05-04\n\n### Added\n- Last week\'s digest auto-generates on launch when AI features are on. Disable in Settings → AI features.\n\n## [0.6.1] — 2026-05-04\n\n### Changed\n- Smaller install size — published bundle no longer drags in unused workspace metadata.\n\n## [0.6.0] — 2026-04-30\n\n### Added\n- V2 perception layer. Daily, weekly, and monthly digests synthesized from per-session entries via a strict hierarchical pipeline (entry → day → week → month). Past-period digests are immutable on disk; current-period digests use a 10-min in-memory TTL.\n- `/insights` route with on-demand week and month digest generation, picker history, and force-regen.\n- `fleetlens digest day | week | month [--json]` — CLI surface that reproduces the same digests served at `/insights`.\n- `fleetlens entries [--day | --session | --all] [--json]` — inspect the per-session entry primitive.\n\n### Changed\n- Renamed "active time" to "agent time" across the dashboard and CLI for clarity.\n\n## [0.4.1] — 2026-04-23\n\n### Added\n- Concurrency view on `/parallelism` page. Bursts colored teal for same-project and purple for cross-project (the genuinely interesting fleet-work signal).\n- Plan utilization sparkline on the sidebar, fed by the usage daemon\'s 5-min snapshots.\n\n### Fixed\n- Auto-update no longer leaves a zombie web server on the old binary; both server and daemon are torn down before re-exec.\n\n## [0.4.0] — 2026-04-18\n\n### Added\n- Usage daemon (`fleetlens daemon …`) polls `/api/oauth/usage` every 5 min and appends snapshots to `~/.cclens/usage.jsonl`. `fleetlens start` and `fleetlens stop` manage server + daemon together.\n- `fleetlens usage --history` for inspecting past plan utilization.\n\n## [0.3.0] — 2026-04-10\n\n### Added\n- Project rollups with worktree aggregation. Sessions inside `<project>/.worktrees/<name>` roll up under their parent canonical project with a `+N wt` badge.\n- Pinned projects in the sidebar (per-browser via localStorage).\n\n## [0.2.0] — 2026-04-01\n\n### Changed\n- Active-segment computation now uses all timestamped events (system + summary + sidechain + conversational) instead of conversational-only. Earlier filter undercounted by up to 100x on tool-heavy sessions.\n\n## [0.1.0] — 2026-03-15\n\n### Added\n- Initial release. Local-only dashboard for Claude Code sessions: timeline, projects, daily activity bucketing, parallelism detection, per-model cost estimation. Reads JSONL transcripts from `~/.claude/projects/`.\n');a[0]?.version,e.s(["STORAGE_KEY",0,"cclens:changelog-last-seen"],54611)},86619,e=>{"use strict";var t=e.i(71645);e.s(["usePersistentBoolean",0,function(e,n){let[r,a]=(0,t.useState)(n),[i,s]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{try{let t=window.localStorage.getItem(e);"1"===t?a(!0):"0"===t&&a(!1)}catch{}s(!0)},[e]),(0,t.useEffect)(()=>{let t=t=>{let n=t.detail;n?.key===e&&"boolean"==typeof n.value&&a(n.value)},n=t=>{t.key===e&&("1"===t.newValue?a(!0):"0"===t.newValue&&a(!1))};return window.addEventListener("cclens:persistent-boolean",t),window.addEventListener("storage",n),()=>{window.removeEventListener("cclens:persistent-boolean",t),window.removeEventListener("storage",n)}},[e]),[r,(0,t.useCallback)(t=>{a(t);try{window.localStorage.setItem(e,t?"1":"0")}catch{}window.dispatchEvent(new CustomEvent("cclens:persistent-boolean",{detail:{key:e,value:t}}))},[e]),i]}])},95057,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return o},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let i=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:n}=e,r=e.protocol||"",a=e.pathname||"",o=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:n&&(c=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let d=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||s.test(r))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),d&&"?"!==d[0]&&(d="?"+d),a=a.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${r}${c}${a}${d}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return a}});let r=e.r(71645);function a(e,t){let n=(0,r.useRef)(null),a=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(n.current=i(e,r)),t&&(a.current=i(t,r))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return i}});let r=e.r(18967),a=e.r(52817);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,a.hasBasePath)(n.pathname)}catch(e){return!1}}},84508,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},22016,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return y},useLinkStatus:function(){return b}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let i=e.r(90809),s=e.r(18050),o=i._(e.r(71645)),l=e.r(95057),c=e.r(8372),d=e.r(18581),u=e.r(18967),p=e.r(5550);e.r(33525);let h=e.r(88540),f=e.r(91949),g=e.r(73668),m=e.r(9396);function y(t){var n,r;let a,i,y,[b,v]=(0,o.useOptimistic)(f.IDLE_LINK_STATUS),w=(0,o.useRef)(null),{href:k,as:j,children:S,prefetch:C=null,passHref:M,replace:T,shallow:$,scroll:z,onClick:P,onMouseEnter:E,onTouchStart:A,legacyBehavior:L=!1,onNavigate:O,transitionTypes:R,ref:I,unstable_dynamicOnHover:N,..._}=t;a=S,L&&("string"==typeof a||"number"==typeof a)&&(a=(0,s.jsx)("a",{children:a}));let D=o.default.useContext(c.AppRouterContext),W=!1!==C,F=!1!==C?null===(r=C)||"auto"===r?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,U="string"==typeof(n=j||k)?n:(0,l.formatUrl)(n);if(L){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=o.default.Children.only(a)}let B=L?i&&"object"==typeof i&&i.ref:I,H=o.default.useCallback(e=>(null!==D&&(w.current=(0,f.mountLinkInstance)(e,U,D,F,W,v)),()=>{w.current&&((0,f.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,f.unmountPrefetchableInstance)(e)}),[W,U,D,F,v]),q={ref:(0,d.useMergedRef)(H,B),onClick(t){L||"function"!=typeof P||P(t),L&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!D||t.defaultPrevented||function(t,n,r,a,i,s,l){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(n)){a&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);o.default.startTransition(()=>{u(n,a?"replace":"push",!1===i?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,r.current,l)})}}(t,U,w,T,z,O,R)},onMouseEnter(e){L||"function"!=typeof E||E(e),L&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),D&&W&&(0,f.onNavigationIntent)(e.currentTarget,!0===N)},onTouchStart:function(e){L||"function"!=typeof A||A(e),L&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),D&&W&&(0,f.onNavigationIntent)(e.currentTarget,!0===N)}};return(0,u.isAbsoluteUrl)(U)?q.href=U:L&&!M&&("a"!==i.type||"href"in i.props)||(q.href=(0,p.addBasePath)(U)),y=L?o.default.cloneElement(i,q):(0,s.jsx)("a",{..._,...q,children:a}),(0,s.jsx)(x.Provider,{value:b,children:y})}e.r(84508);let x=(0,o.createContext)(f.IDLE_LINK_STATUS),b=()=>(0,o.useContext)(x);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},75254,e=>{"use strict";var t=e.i(71645);let n=(...e)=>e.filter((e,t,n)=>!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim();var r={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:i=2,absoluteStrokeWidth:s,className:o="",children:l,iconNode:c,...d},u)=>(0,t.createElement)("svg",{ref:u,...r,width:a,height:a,stroke:e,strokeWidth:s?24*Number(i)/Number(a):i,className:n("lucide",o),...d},[...c.map(([e,n])=>(0,t.createElement)(e,n)),...Array.isArray(l)?l:[l]]));e.s(["default",0,(e,r)=>{let i=(0,t.forwardRef)(({className:i,...s},o)=>(0,t.createElement)(a,{ref:o,iconNode:r,className:n(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,i),...s}));return i.displayName=`${e}`,i}],75254)},74472,33815,e=>{"use strict";let t=[{kind:"claude-code",displayName:"Claude Code",shortLabel:"Claude",accentColor:"var(--af-accent)",iconChar:"✦"},{kind:"codex",displayName:"Codex (OpenAI)",shortLabel:"Codex",accentColor:"rgb(16, 163, 127)",iconChar:"◆"},{kind:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"}],n=new Set(t.map(e=>e.kind));e.s(["getAgentMetadata",0,function(e){return t.find(t=>t.kind===e)},"isAgentKind",0,function(e){return"string"==typeof e&&n.has(e)}],33815),e.s([],74472)},23614,41783,e=>{"use strict";var t=e.i(18050),n=e.i(22016);e.i(74472);var r=e.i(33815);function a({agent:e,size:n=11,title:i}){if(!e)return null;let s=(0,r.getAgentMetadata)(e);return s?(0,t.jsx)("span",{"aria-hidden":!0,title:i??s.displayName,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:n+2,height:n+2,fontSize:n,lineHeight:1,color:s.accentColor},children:s.iconChar}):null}e.s(["AgentIcon",0,a],41783);let i={shipped:{bg:"rgba(72, 187, 120, 0.12)",fg:"#48bb78",label:"Shipped",icon:"🚀"},partial:{bg:"rgba(66, 153, 225, 0.12)",fg:"#4299e1",label:"Partial",icon:"🔨"},blocked:{bg:"rgba(245, 101, 101, 0.12)",fg:"#f56565",label:"Blocked",icon:"🚧"},exploratory:{bg:"rgba(160, 174, 192, 0.12)",fg:"#a0aec0",label:"Exploratory",icon:"🧭"},trivial:{bg:"rgba(203, 213, 224, 0.12)",fg:"#a0aec0",label:"Warmup",icon:"💤"},idle:{bg:"rgba(203, 213, 224, 0.12)",fg:"#a0aec0",label:"Idle",icon:"—"}},s={sm:{fontSize:9,padding:"1px 6px",iconGap:3,borderRadius:99},md:{fontSize:10,padding:"2px 8px",iconGap:4,borderRadius:99},lg:{fontSize:11,padding:"3px 10px",iconGap:5,borderRadius:99}},o={shipped:6,partial:5,blocked:4,exploratory:3,trivial:2,idle:1};e.s(["OUTCOME_STYLES",0,i,"OutcomePill",0,function(e){let r=s[e.size??"md"],o=r.fontSize+1;if("pending"in e&&e.pending){let i={display:"inline-flex",alignItems:"center",gap:r.iconGap,padding:r.padding,borderRadius:r.borderRadius,fontSize:r.fontSize,fontWeight:600,background:"rgba(160, 174, 192, 0.08)",color:"var(--af-text-tertiary)",border:"1px dashed var(--af-border-subtle)",textDecoration:"none",whiteSpace:"nowrap"};return(0,t.jsxs)(n.default,{href:`/digest/${e.localDay}`,style:i,title:`Generate ${e.localDay} digest →`,children:[e.agent&&(0,t.jsx)(a,{agent:e.agent,size:o}),(0,t.jsx)("span",{"aria-hidden":!0,style:{lineHeight:1},children:"⋯"}),(0,t.jsx)("span",{children:"pending"})]})}let l=i[e.outcome],c=e.label??"both",d={display:"inline-flex",alignItems:"center",gap:r.iconGap,padding:r.padding,borderRadius:r.borderRadius,fontSize:r.fontSize,fontWeight:600,background:l.bg,color:l.fg,whiteSpace:"nowrap"};return(0,t.jsxs)("span",{style:d,title:l.label,children:[e.agent&&(0,t.jsx)(a,{agent:e.agent,size:o}),("icon"===c||"both"===c)&&(0,t.jsx)("span",{"aria-hidden":!0,style:{lineHeight:1},children:l.icon}),("text"===c||"both"===c)&&(0,t.jsx)("span",{children:l.label})]})},"outcomePriority",0,function(e){return e?o[e]:0}],23614)},18566,(e,t,n)=>{t.exports=e.r(76562)},56324,e=>{"use strict";let t={input:1,output:5,cacheRead:.1,cacheWrite:1.25},n={input:3,output:15,cacheRead:.3,cacheWrite:3.75},r={input:5,output:25,cacheRead:.5,cacheWrite:6.25};e.s(["estimateCost",0,function(e,a){let i=function(e){if(!e)return r;let a=e.toLowerCase();return a.includes("haiku")?t:a.includes("sonnet")?n:r}(a);return e.input/1e6*i.input+e.output/1e6*i.output+e.cacheRead/1e6*i.cacheRead+e.cacheWrite/1e6*i.cacheWrite},"formatCost",0,function(e){return e<.01?"<$0.01":e<1||e<100?`$${e.toFixed(2)}`:e<1e3?`$${e.toFixed(1)}`:`$${e.toLocaleString(void 0,{maximumFractionDigits:0})}`},"formatDuration",0,function(e){if(void 0===e)return"—";if(e<1e3)return`${e}ms`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r?`${n}m ${r}s`:`${n}m`;let a=Math.floor(n/60),i=n%60;return i?`${a}h ${i}m`:`${a}h`},"formatGap",0,function(e){if(e<1e3)return`${e}ms`;let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let n=Math.floor(t/60);if(n<60){let e=Math.round(t%60);return`${n}m ${e}s`}let r=Math.floor(n/60),a=n%60;if(r<24)return a?`${r}h ${a}m`:`${r}h`;let i=Math.floor(r/24),s=r%24;return s?`${i}d ${s}h`:`${i}d`},"formatOffset",0,function(e){if(void 0===e||e<0)return"—";let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=String(Math.floor(t%3600/60)).padStart(2,"0"),a=String(t%60).padStart(2,"0");return`${n}:${r}:${a}`},"formatRelative",0,function(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let n=Math.round((Date.now()-t)/1e3);if(n<60)return`${n}s ago`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let a=Math.round(r/60);if(a<24)return`${a}h ago`;let i=Math.round(a/24);return`${i}d ago`},"formatTokens",0,function(e){return e<1e3?String(e):e<1e4?(e/1e3).toFixed(1)+"k":e<1e6?Math.round(e/1e3)+"k":e<1e7?(e/1e6).toFixed(2)+"M":(e/1e6).toFixed(1)+"M"},"prettyProjectName",0,function(e,t=35){let n=e.split("/").filter(Boolean),r=n.lastIndexOf(".worktrees");if(r>0&&r<n.length-1){let e=n[r-1],a=n[r+1],i=`${e}/${a}`;return i.length<=t?i:"…"+i.slice(i.length-t+1)}let a=n.length>=2?`${n[n.length-2]}/${n[n.length-1]}`:n[n.length-1]??e;return a.length<=t?a:"…"+a.slice(a.length-t+1)},"shortId",0,function(e){return e.length<=10?e:e.slice(0,6)+"…"+e.slice(-4)}])},55436,e=>{"use strict";let t=(0,e.i(75254).default)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);e.s(["Search",0,t],55436)},56004,e=>{"use strict";var t=e.i(18050),n=e.i(22016);let r={display:"inline-flex",alignItems:"center",borderRadius:4,padding:"2px 6px",fontSize:10,letterSpacing:"0.04em",textTransform:"uppercase",whiteSpace:"nowrap"};e.s(["TeamBadge",0,function({session:e,linkable:a=!0}){if(!e.teamName)return null;let i=!0===e.isTeamLead,s=void 0!==e.agentName;return i||s?i&&a?(0,t.jsx)(n.default,{href:`/sessions/${e.id}`,style:{...r,fontWeight:600,background:"var(--af-warning-subtle)",color:"var(--af-warning)",border:"1px solid var(--af-warning-subtle)",textDecoration:"none"},title:`Team lead — ${e.teamName}`,children:"Team Lead"}):i?(0,t.jsx)("span",{style:{...r,fontWeight:600,background:"var(--af-warning-subtle)",color:"var(--af-warning)",border:"1px solid var(--af-warning-subtle)"},title:`Team lead — ${e.teamName}`,children:"Team Lead"}):(0,t.jsx)("span",{style:{...r,fontWeight:500,background:"var(--af-surface-hover)",color:"var(--af-text-tertiary)",border:"1px solid var(--af-border-subtle)"},title:`Team member — ${e.teamName} \xb7 ${e.agentName}`,children:"Team Member"}):null}])},86566,e=>{"use strict";var t=e.i(18050),n=e.i(22016),r=e.i(18566),a=e.i(71645),i=e.i(75254);let s=(0,i.default)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]),o=(0,i.default)("ListTree",[["path",{d:"M21 12h-8",key:"1bmf0i"}],["path",{d:"M21 6H8",key:"1pqkrb"}],["path",{d:"M21 18h-8",key:"1tm79t"}],["path",{d:"M3 6v4c0 1.1.9 2 2 2h3",key:"1ywdgy"}],["path",{d:"M3 10v6c0 1.1.9 2 2 2h3",key:"2wc746"}]]),l=(0,i.default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),c=(0,i.default)("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),d=(0,i.default)("PinOff",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var u=e.i(55436);let p=(0,i.default)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),h=(0,i.default)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);var f=e.i(41240),g=e.i(63639);let m=(0,i.default)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),y=(0,i.default)("CalendarDays",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);var x=e.i(56324);let b=(0,i.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),v=(0,i.default)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),w="claude-lens:theme";function k(e){if("u">typeof document){document.documentElement.setAttribute("data-theme",e);try{document.cookie=`claude-lens-theme=${e};path=/;max-age=31536000;samesite=lax`}catch{}}}function j(){let[e,n]=(0,a.useState)("dark"),[r,i]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=document.documentElement.getAttribute("data-theme");if("light"===e||"dark"===e)n(e);else{let e=function(){try{let e=window.localStorage.getItem(w);if("light"===e||"dark"===e)return e}catch{}return null}()??(window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark");n(e),k(e)}i(!0)},[]),(0,t.jsx)("button",{type:"button",onClick:()=>{let t="dark"===e?"light":"dark";n(t),k(t);try{window.localStorage.setItem(w,t)}catch{}},"aria-label":"dark"===e?"Switch to light mode":"Switch to dark mode",title:"dark"===e?"Switch to light mode":"Switch to dark mode",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:28,height:28,borderRadius:6,background:"transparent",border:"1px solid var(--af-border-subtle)",color:"var(--af-text-secondary)",cursor:"pointer",transition:"all 0.12s"},onMouseEnter:e=>{e.currentTarget.style.background="var(--af-surface-hover)",e.currentTarget.style.color="var(--af-text)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--af-text-secondary)"},children:r?"dark"===e?(0,t.jsx)(v,{size:14}):(0,t.jsx)(b,{size:14}):null})}var S=e.i(86619),C=e.i(88137);function M({snapshot:e}){let r,a,[i,,s]=(0,S.usePersistentBoolean)("cclens:usage:show-sonnet",!1);if(!e)return(0,t.jsxs)("div",{style:{padding:"10px 16px 12px",borderTop:"1px solid var(--af-border-subtle)",fontSize:10,color:"var(--af-text-tertiary)",lineHeight:1.4},children:[(0,t.jsx)("div",{style:{textTransform:"uppercase",letterSpacing:"0.06em",fontWeight:600,marginBottom:4},children:"Usage"}),(0,t.jsxs)("div",{children:["Run ",(0,t.jsx)("code",{style:{fontFamily:"var(--font-mono)"},children:"cclens daemon start"})," to collect metrics."]})]});let o=[{label:"5h",window:e.five_hour,windowMs:18e6},{label:"7d",window:e.seven_day,windowMs:6048e5}];return s&&i&&o.push({label:"Sonnet 7d",window:e.seven_day_sonnet,windowMs:6048e5}),(0,t.jsxs)(n.default,{href:"/usage",style:{display:"block",padding:"10px 16px 12px",borderTop:"1px solid var(--af-border-subtle)",textDecoration:"none",color:"inherit"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:10,fontWeight:600,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:8},children:[(0,t.jsx)("span",{children:"Current usage"}),(0,t.jsx)("span",{suppressHydrationWarning:!0,style:{fontWeight:500,textTransform:"none",letterSpacing:0},children:(r=new Date(e.captured_at).getTime(),(a=Math.round((Date.now()-r)/1e3))<60?`${a}s ago`:a<3600?`${Math.floor(a/60)}m ago`:a<86400?`${Math.floor(a/3600)}h ago`:`${Math.floor(a/86400)}d ago`)})]}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:o.map(e=>(0,t.jsx)(T,{...e},e.label))})]})}function T({label:e,window:n,windowMs:r}){let a=n?.utilization??null,i=null!==a,s=i?Math.max(0,Math.min(100,a)):0,o=n?.resets_at?new Date(n.resets_at).getTime():null,l=i&&o?(0,C.toneVar)((0,C.paceToneForCycle)(s,o,r)):"var(--af-border-subtle)";return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6,fontSize:10,color:"var(--af-text-secondary)",marginBottom:2,fontVariantNumeric:"tabular-nums"},children:[(0,t.jsx)("span",{children:e}),n?.resets_at&&(0,t.jsxs)("span",{suppressHydrationWarning:!0,style:{fontSize:9,color:"var(--af-text-tertiary)",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["resets ",function(e){let t,n=Math.round((new Date(e).getTime()-Date.now())/1e3),r=Math.abs(n);if(r<60)t=`${r}s`;else if(r<3600)t=`${Math.floor(r/60)}m`;else if(r<86400){let e=Math.floor(r/3600),n=Math.floor(r%3600/60);t=n>0?`${e}h${n}m`:`${e}h`}else{let e=Math.floor(r/86400),n=Math.floor(r%86400/3600);t=n>0?`${e}d${n}h`:`${e}d`}return n<0?`${t} ago`:`in ${t}`}(n.resets_at)]}),(0,t.jsx)("span",{style:{fontWeight:600,color:"var(--af-text)",marginLeft:"auto"},children:i?`${s.toFixed(0)}%`:"—"})]}),(0,t.jsx)("div",{style:{height:4,background:"var(--af-border-subtle)",borderRadius:999,overflow:"hidden"},children:(0,t.jsx)("div",{style:{height:"100%",width:i?`${s}%`:"0%",background:l,borderRadius:999,transition:"width 0.24s ease"}})})]})}let $=(0,i.default)("Megaphone",[["path",{d:"m3 11 18-5v12L3 14v-3z",key:"n962bs"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}]]);var z=e.i(54611);function P({latestVersion:e,active:r}){let[i,s]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{if(!e)return void s(!1);try{let t=window.localStorage.getItem(z.STORAGE_KEY);s(t!==e)}catch{s(!1)}},[e]),(0,t.jsxs)(n.default,{href:"/changelog","aria-label":i?"Changelog (new entries)":"Changelog",title:i?`What's new in v${e}`:"Changelog",style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:6,color:r?"var(--af-text)":"var(--af-text-tertiary)",background:r?"var(--af-surface-hover)":"transparent",textDecoration:"none"},children:[(0,t.jsx)($,{size:14}),i&&(0,t.jsx)("span",{"aria-hidden":!0,style:{position:"absolute",top:3,right:3,width:7,height:7,borderRadius:"50%",background:"#ef4444",border:"1.5px solid var(--af-surface)"}})]})}let E="claude-lens:pinned-projects:v1";function A({href:e,active:r,icon:a,trailing:i,children:s}){return(0,t.jsxs)(n.default,{href:e,style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",borderRadius:7,fontSize:13,fontWeight:500,color:r?"var(--af-accent)":"var(--af-text-secondary)",background:r?"var(--af-accent-subtle)":"transparent",transition:"all 0.12s"},children:[a,(0,t.jsx)("span",{style:{flex:1},children:s}),i&&(0,t.jsx)("span",{style:{fontSize:10,color:r?"var(--af-accent)":"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:i})]})}function L({label:e,items:r,pathname:a,isPinned:i,onTogglePin:s}){return 0===r.length?null:(0,t.jsxs)("div",{style:{marginTop:10},children:[(0,t.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.06em",padding:"0 10px 6px",fontWeight:600},children:e}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:r.map(e=>{let r=`/projects/${encodeURIComponent(e.projectDir)}`,o=a===r,l=(0,x.prettyProjectName)(e.projectName);return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"5px 6px 5px 10px",borderRadius:6,background:o?"var(--af-accent-subtle)":"transparent",color:o?"var(--af-accent)":"var(--af-text-secondary)"},children:[(0,t.jsxs)(n.default,{href:r,style:{flex:1,minWidth:0,fontSize:12,color:"inherit",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:5},title:(e.worktreeCount??0)>0?`${e.projectName} — ${e.worktreeCount} worktree${1===e.worktreeCount?"":"s"}`:e.projectName,children:[(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:l}),(e.worktreeCount??0)>0&&(0,t.jsxs)("span",{style:{fontSize:9,fontWeight:600,padding:"1px 5px",borderRadius:100,background:"rgba(167, 139, 250, 0.15)",color:"rgba(167, 139, 250, 1)",flexShrink:0},children:["+",e.worktreeCount," wt"]})]}),(0,t.jsx)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginLeft:4},children:e.sessionCount}),(0,t.jsx)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),s(e.projectDir)},"aria-label":i(e.projectDir)?"Unpin project":"Pin project",title:i(e.projectDir)?"Unpin":"Pin",style:{background:"transparent",border:"none",padding:3,borderRadius:4,color:i(e.projectDir)?"var(--af-accent)":"var(--af-text-tertiary)",display:"flex",alignItems:"center"},children:i(e.projectDir)?(0,t.jsx)(d,{size:12}):(0,t.jsx)(c,{size:12})}),e.lastActiveMs&&(0,t.jsx)("span",{style:{fontSize:9,color:"var(--af-text-tertiary)",marginLeft:2,minWidth:32,textAlign:"right"},title:new Date(e.lastActiveMs).toISOString(),suppressHydrationWarning:!0,children:(0,x.formatRelative)(new Date(e.lastActiveMs).toISOString())})]},e.projectDir)})})]})}e.s(["Sidebar",0,function({projects:e,totalSessions:i,currentUsage:c,version:d,latestChangelogVersion:x}){let b=(0,r.usePathname)(),[v,w]=(0,a.useState)(new Set),[k,S]=(0,a.useState)(!1),[C,T]=(0,a.useState)("");(0,a.useEffect)(()=>{w(function(){try{let e=window.localStorage.getItem(E);if(!e)return new Set;let t=JSON.parse(e);return new Set(Array.isArray(t)?t:[])}catch{return new Set}}()),S(!0)},[]);let $=e=>{w(t=>{let n=new Set(t);n.has(e)?n.delete(e):n.add(e);try{window.localStorage.setItem(E,JSON.stringify(Array.from(n)))}catch{}return n})},z=(0,a.useMemo)(()=>{if(!C.trim())return e;let t=C.toLowerCase();return e.filter(e=>e.projectName.toLowerCase().includes(t))},[e,C]),O=z.filter(e=>v.has(e.projectDir)),R=z.filter(e=>!v.has(e.projectDir));return(0,t.jsxs)("aside",{style:{width:260,flexShrink:0,borderRight:"1px solid var(--af-border-subtle)",background:"var(--af-surface)",display:"flex",flexDirection:"column",position:"sticky",top:0,height:"100vh"},children:[(0,t.jsx)("div",{style:{padding:"18px 20px 12px",borderBottom:"1px solid var(--af-border-subtle)"},children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,t.jsx)("div",{style:{width:28,height:28,borderRadius:7,background:"var(--af-accent-subtle)",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--af-accent)"},children:(0,t.jsx)(p,{size:16,strokeWidth:2.25})}),(0,t.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6},children:[(0,t.jsx)("span",{style:{fontSize:14,fontWeight:700,letterSpacing:"-0.01em"},children:"Fleetlens"}),(0,t.jsxs)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",fontWeight:500},title:`fleetlens ${d}`,children:["v",d]})]}),(0,t.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:"Multi-agent fleet analytics"})]})]})}),(0,t.jsxs)("nav",{style:{padding:"10px 10px 6px",display:"flex",flexDirection:"column",gap:2},children:[(0,t.jsx)(A,{href:"/",active:"/"===b,icon:(0,t.jsx)(s,{size:15}),children:"Overview"}),(0,t.jsx)(A,{href:"/sessions",active:"/sessions"===b||b.startsWith("/sessions/"),icon:(0,t.jsx)(o,{size:15}),trailing:i>0?String(i):void 0,children:"All sessions"}),(0,t.jsx)(A,{href:"/projects",active:"/projects"===b,icon:(0,t.jsx)(l,{size:15}),trailing:e.length>0?String(e.length):void 0,children:"Projects"}),(0,t.jsx)(A,{href:"/day",active:"/day"===b||b.startsWith("/day/")||"/digest"===b||b.startsWith("/digest/")||"/parallelism"===b,icon:(0,t.jsx)(y,{size:15}),children:"Day"}),(0,t.jsx)(A,{href:"/usage",active:"/usage"===b,icon:(0,t.jsx)(h,{size:15}),children:"Usage"}),(0,t.jsx)(A,{href:"/insights",active:"/insights"===b,icon:(0,t.jsx)(f.Lightbulb,{size:15}),children:"Insights"}),(0,t.jsx)(A,{href:"/runs",active:"/runs"===b||b.startsWith("/runs/"),icon:(0,t.jsx)(g.Radio,{size:15}),children:"Runs"})]}),(0,t.jsxs)("div",{style:{margin:"0 14px",padding:"8px 0",borderTop:"1px solid var(--af-border-subtle)",borderBottom:"1px solid var(--af-border-subtle)",display:"flex",alignItems:"center",gap:6},children:[(0,t.jsx)(u.Search,{size:13,color:"var(--af-text-tertiary)"}),(0,t.jsx)("input",{type:"text",placeholder:"Search projects",value:C,onChange:e=>T(e.target.value),style:{flex:1,background:"transparent",border:"none",padding:"4px 0",fontSize:12,color:"var(--af-text)"}})]}),(0,t.jsxs)("div",{style:{flex:1,overflow:"auto",padding:"4px 8px 20px"},children:[k&&O.length>0&&(0,t.jsx)(L,{label:"Pinned",items:O,pathname:b,isPinned:e=>v.has(e),onTogglePin:$}),(0,t.jsx)(L,{label:"Projects",items:R,pathname:b,isPinned:e=>v.has(e),onTogglePin:$})]}),(0,t.jsx)(M,{snapshot:c}),(0,t.jsxs)("div",{style:{padding:"10px 16px 10px 20px",fontSize:10,color:"var(--af-text-tertiary)",borderTop:"1px solid var(--af-border-subtle)",display:"flex",alignItems:"center",gap:8},children:[(0,t.jsxs)("span",{style:{flex:1,minWidth:0},children:[i," sessions · ",e.length," projects"]}),(0,t.jsx)(P,{latestVersion:x,active:"/changelog"===b}),(0,t.jsx)(n.default,{href:"/settings","aria-label":"Settings",title:"Settings",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:6,color:"/settings"===b?"var(--af-text)":"var(--af-text-tertiary)",background:"/settings"===b?"var(--af-surface-hover)":"transparent",textDecoration:"none"},children:(0,t.jsx)(m,{size:14})}),(0,t.jsx)(j,{})]})]})}],86566)},51878,e=>{"use strict";var t=e.i(18566),n=e.i(71645);e.s(["LiveRefresher",0,function(){let e,r=(0,t.useRouter)(),a=(e=(0,t.usePathname)(),e?.includes("/insights/print/")??!1),i=(0,n.useRef)(null),s=(0,n.useRef)({session:0,usage:0});return!function(e,t={}){let{enabled:r=!0}=t,a=(0,n.useRef)(e);(0,n.useEffect)(()=>{a.current=e},[e]),(0,n.useEffect)(()=>{if(!r)return;let e=new EventSource("/api/events");return e.onmessage=e=>{try{let t=JSON.parse(e.data);("session-updated"===t.type||"usage-updated"===t.type)&&a.current(t)}catch{}},e.onerror=()=>{},()=>{e.close()}},[r])}((0,n.useCallback)(e=>{let t="usage-updated"===e.type?"usage":"session";e.mtimeMs<=(s.current[t]??0)||(s.current[t]=e.mtimeMs,i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{r.refresh()},400))},[r]),{enabled:!a}),(0,n.useEffect)(()=>()=>{i.current&&clearTimeout(i.current)},[]),null}],51878)},23884,e=>{"use strict";var t=e.i(18050),n=e.i(71645),r=e.i(18566),a=e.i(22016),i=e.i(56324),s=e.i(56004),o=e.i(69198),l=e.i(23614);let c="cclens-live-widget-expanded";e.s(["LiveSessionsWidget",0,function({sessions:e,entrySummaries:d={}}){let u=(0,r.usePathname)(),[p,h]=(0,n.useState)(()=>Date.now()),[f,g]=(0,n.useState)(!1);if((0,n.useEffect)(()=>{try{let e=localStorage.getItem(c);null!==e&&g("true"===e)}catch{}},[]),(0,n.useEffect)(()=>{let e=setInterval(()=>h(Date.now()),1e4);return()=>clearInterval(e)},[]),u&&/^\/sessions\/[^/]+$/.test(u))return null;let m=e.filter(e=>{if(!e.lastTimestamp)return!1;let t=Date.parse(e.lastTimestamp);return!Number.isNaN(t)&&p-t<=45e3}).slice().sort((e,t)=>{let n=e.firstTimestamp?Date.parse(e.firstTimestamp):0;return(t.firstTimestamp?Date.parse(t.firstTimestamp):0)-n});if(0===m.length)return null;let y=f?m.slice(0,5):[],x=f?m.length-y.length:0;return(0,t.jsxs)("div",{style:{position:"fixed",right:20,bottom:20,zIndex:100,display:"flex",flexDirection:"column-reverse",gap:6,maxWidth:320,pointerEvents:"auto"},children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{var e;return e=e=>!e,void g(t=>{let n=e(t);try{localStorage.setItem(c,String(n))}catch{}return n})},style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 11px 5px 9px",background:"rgba(239, 68, 68, 0.14)",border:"1px solid rgba(239, 68, 68, 0.4)",borderRadius:100,fontSize:10,fontWeight:700,color:"#ef4444",letterSpacing:"0.06em",textTransform:"uppercase",alignSelf:"flex-end",cursor:"pointer",userSelect:"none",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",boxShadow:"0 2px 10px rgba(239, 68, 68, 0.15)"},title:f?"Collapse":`Show ${m.length} live session${1===m.length?"":"s"}`,children:[(0,t.jsx)("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:"#ef4444",animation:"cs-live-pulse 1.6s ease-in-out infinite"}}),"Live · ",m.length]}),f&&x>0&&(0,t.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",padding:"0 4px",textAlign:"right"},children:["+",x," more live"]}),y.map(e=>{let n=d[e.id];return(0,t.jsxs)(a.default,{href:`/sessions/${e.id}`,style:{display:"block",padding:"10px 12px",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderLeft:"2px solid #ef4444",borderRadius:8,boxShadow:"0 4px 16px rgba(0, 0, 0, 0.12)",textDecoration:"none",color:"var(--af-text)",fontSize:11,lineHeight:1.35,backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)"},title:(e.lastUserPreview||e.firstUserPreview||e.lastAgentPreview)??(0,i.prettyProjectName)(e.projectName),children:[n&&(0,t.jsx)("div",{onClick:e=>e.stopPropagation(),style:{marginBottom:4},children:n.outcome?(0,t.jsx)(l.OutcomePill,{outcome:n.outcome,size:"sm",label:"text",agent:e.agent}):"skipped_trivial"!==n.enrichmentStatus?(0,t.jsx)(l.OutcomePill,{outcome:null,pending:!0,sessionId:e.id,localDay:n.localDay,size:"sm",agent:e.agent}):null}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:500,color:"var(--af-text)",minWidth:0},children:[(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:e.lastUserPreview||e.firstUserPreview||(0,t.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),(0,t.jsx)(s.TeamBadge,{session:e,linkable:!1}),(0,t.jsx)(o.AgentBadge,{agent:e.agent})]}),(0,t.jsx)("div",{style:{fontSize:10,color:"var(--af-text-secondary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:3,fontStyle:"italic"},children:e.lastAgentPreview?(0,t.jsxs)(t.Fragment,{children:["↳ ",e.lastAgentPreview]}):(0,t.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"waiting…"})}),(0,t.jsx)("div",{style:{fontSize:9,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginTop:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,i.prettyProjectName)(e.projectName)})]},e.id)}),(0,t.jsx)("style",{children:`
|
|
2
|
+
@keyframes cs-live-pulse {
|
|
3
|
+
0%, 100% { opacity: 1; transform: scale(1); }
|
|
4
|
+
50% { opacity: 0.4; transform: scale(0.85); }
|
|
5
|
+
}
|
|
6
|
+
`})]})}])},62887,e=>{"use strict";var t=e.i(18050),n=e.i(71645),r=e.i(43531);let a=(0,e.i(75254).default)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);var i=e.i(31278),s=e.i(3116),o=e.i(22016);let l="cclens-jobs-widget-expanded";function c({children:e}){return(0,t.jsx)("div",{style:{padding:"6px 14px",fontSize:9,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.08em",fontWeight:700,background:"var(--af-surface)"},children:e})}function d({job:e}){let n="running"===e.status?i.Loader2:"queued"===e.status?s.Clock:"error"===e.status?a:r.Check,l="running"===e.status?"#4299e1":"queued"===e.status?"var(--af-text-tertiary)":"error"===e.status?"#f56565":"#48bb78",c=e.resultUrl&&("done"===e.status||"running"===e.status),u=c?o.default:"div",p=c?{href:e.resultUrl}:{};return(0,t.jsxs)(u,{...p,style:{display:"flex",alignItems:"flex-start",gap:10,padding:"10px 14px",borderBottom:"1px solid var(--af-border-subtle)",textDecoration:"none",color:"var(--af-text)",fontSize:11.5,cursor:c?"pointer":"default"},children:[(0,t.jsx)(n,{size:13,className:"running"===e.status?"cs-job-spin":"",style:{color:l,marginTop:2,flexShrink:0}}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.label}),e.progress&&(0,t.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",marginTop:2,fontFamily:"var(--font-mono)"},children:function(e){if(void 0!==e.index&&void 0!==e.total)return`${e.phase} ${e.index}/${e.total}`;if(void 0!==e.bytes){let t=(e.bytes/1024).toFixed(1);return`${e.phase} \xb7 ${t}k`}return e.text?`${e.phase} \xb7 ${e.text}`:e.phase}(e.progress)}),"error"===e.status&&e.error&&(0,t.jsx)("div",{style:{fontSize:10,color:"#f56565",marginTop:2},children:e.error.length>60?e.error.slice(0,60)+"…":e.error}),"done"===e.status&&e.resultUrl&&(0,t.jsx)("div",{style:{fontSize:10,color:"var(--af-accent)",marginTop:2},children:"View →"})]})]})}e.s(["JobQueueWidget",0,function(){let[e,r]=(0,n.useState)([]),[a,s]=(0,n.useState)(!1);(0,n.useEffect)(()=>{try{let e=localStorage.getItem(l);null!==e&&s("true"===e)}catch{}},[]),(0,n.useEffect)(()=>{let e=!0,t=null,n=!1,a=async()=>{try{let t=await fetch("/api/jobs",{cache:"no-store"});if(!t.ok)return;let a=await t.json();if(!e)return;r(a.jobs),n=a.jobs.some(e=>"running"===e.status||"queued"===e.status)}catch{}},i=()=>{e&&(t=setTimeout(async()=>{await a(),i()},n?1500:6e3))};return a().then(i),()=>{e=!1,t&&clearTimeout(t)}},[]);let o=e.filter(e=>"running"===e.status||"queued"===e.status),u=e.filter(e=>"done"===e.status||"error"===e.status||"cancelled"===e.status).slice(0,8);return 0===o.length?null:(0,t.jsxs)("div",{style:{position:"fixed",right:140,bottom:20,zIndex:99,display:"flex",flexDirection:"column-reverse",gap:6,maxWidth:320,alignItems:"flex-end"},children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{var e;return e=e=>!e,void s(t=>{let n=e(t);try{localStorage.setItem(l,String(n))}catch{}return n})},title:`${o.length} job${1===o.length?"":"s"} running — click to ${a?"collapse":"expand"}`,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 11px 5px 9px",background:"rgba(66, 153, 225, 0.14)",border:"1px solid rgba(66, 153, 225, 0.4)",borderRadius:100,fontSize:10,fontWeight:700,color:"#4299e1",letterSpacing:"0.06em",textTransform:"uppercase",cursor:"pointer",userSelect:"none",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",boxShadow:"0 2px 10px rgba(66, 153, 225, 0.15)",alignSelf:"flex-end"},children:[(0,t.jsx)(i.Loader2,{size:11,className:"cs-job-spin",style:{flexShrink:0}}),"Jobs · ",o.length]}),a&&(0,t.jsxs)("div",{style:{width:320,maxHeight:360,overflowY:"auto",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:10,boxShadow:"0 8px 24px rgba(0,0,0,0.18)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)"},children:[o.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)(c,{children:"Running"}),o.map(e=>(0,t.jsx)(d,{job:e},e.id))]}),u.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)(c,{children:"Recent"}),u.map(e=>(0,t.jsx)(d,{job:e},e.id))]})]}),(0,t.jsx)("style",{children:`
|
|
7
|
+
@keyframes cs-job-spin {
|
|
8
|
+
from { transform: rotate(0deg); }
|
|
9
|
+
to { transform: rotate(360deg); }
|
|
10
|
+
}
|
|
11
|
+
.cs-job-spin {
|
|
12
|
+
animation: cs-job-spin 1s linear infinite;
|
|
13
|
+
}
|
|
14
|
+
`})]})}],62887)}]);
|