fleetlens 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/app/apps/web/.next/BUILD_ID +1 -1
  2. package/app/apps/web/.next/build-manifest.json +3 -3
  3. package/app/apps/web/.next/prerender-manifest.json +3 -3
  4. package/app/apps/web/.next/server/app/_global-error.html +1 -1
  5. package/app/apps/web/.next/server/app/_global-error.rsc +1 -1
  6. package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/app/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/app/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  12. package/app/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/app/apps/web/.next/server/app/page.js +2 -2
  14. package/app/apps/web/.next/server/app/page.js.nft.json +1 -1
  15. package/app/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  16. package/app/apps/web/.next/server/app/parallelism/page.js.nft.json +1 -1
  17. package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
  18. package/app/apps/web/.next/server/app/projects/[slug]/page.js +2 -2
  19. package/app/apps/web/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  20. package/app/apps/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  21. package/app/apps/web/.next/server/app/projects/page.js.nft.json +1 -1
  22. package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  23. package/app/apps/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  24. package/app/apps/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  25. package/app/apps/web/.next/server/app/sessions/page.js.nft.json +1 -1
  26. package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  27. package/app/apps/web/.next/server/app/usage/page.js.nft.json +1 -1
  28. package/app/apps/web/.next/server/app/usage/page_client-reference-manifest.js +1 -1
  29. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0e53.km._.js +3 -0
  30. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0g56txz._.js +3 -0
  31. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0xh83kj._.js +8 -0
  32. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__100em.n._.js +3 -0
  33. package/app/apps/web/.next/server/chunks/ssr/_0mer501._.js +12 -0
  34. package/app/apps/web/.next/server/chunks/ssr/_0mkq9uv._.js +12 -0
  35. package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0b-4-4j._.js +8 -0
  36. package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_0-jvt~a._.js +1 -1
  37. package/app/apps/web/.next/server/middleware-build-manifest.js +3 -3
  38. package/app/apps/web/.next/server/pages/500.html +1 -1
  39. package/app/apps/web/.next/server/server-reference-manifest.js +1 -1
  40. package/app/apps/web/.next/server/server-reference-manifest.json +1 -1
  41. package/app/apps/web/.next/static/chunks/{01zgbvaped3rv.js → 0dohpu.c0i6xx.js} +1 -1
  42. package/app/apps/web/.next/static/chunks/0ewidc3d80nvk.js +6 -0
  43. package/app/apps/web/.next/static/chunks/0r_2tya645h45.js +6 -0
  44. package/app/apps/web/app/projects/[slug]/page.tsx +87 -112
  45. package/app/apps/web/package.json +1 -1
  46. package/app/apps/web/tsconfig.tsbuildinfo +1 -1
  47. package/dist/index.js +7 -7
  48. package/package.json +1 -1
  49. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__07uf5k8._.js +0 -8
  50. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0bb9l_d._.js +0 -3
  51. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0yhkpq.._.js +0 -3
  52. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__10tl2-f._.js +0 -3
  53. package/app/apps/web/.next/server/chunks/ssr/_0c4zmjt._.js +0 -12
  54. package/app/apps/web/.next/server/chunks/ssr/_0ev.8gk._.js +0 -12
  55. package/app/apps/web/.next/server/chunks/ssr/apps_web_components_033k_mm._.js +0 -3
  56. package/app/apps/web/.next/static/chunks/0fn-74bl9-qvi.js +0 -1
  57. package/app/apps/web/.next/static/chunks/0wmzqi~uv60lw.js +0 -6
  58. /package/app/apps/web/.next/static/{prUnSo8A-GShFCDI6P0cA → IHvkhA13HrMq3uK2CWSbJ}/_buildManifest.js +0 -0
  59. /package/app/apps/web/.next/static/{prUnSo8A-GShFCDI6P0cA → IHvkhA13HrMq3uK2CWSbJ}/_clientMiddlewareManifest.js +0 -0
  60. /package/app/apps/web/.next/static/{prUnSo8A-GShFCDI6P0cA → IHvkhA13HrMq3uK2CWSbJ}/_ssgManifest.js +0 -0
package/dist/index.js CHANGED
@@ -209,7 +209,7 @@ async function checkForUpdate() {
209
209
  if (process.env.__CCLENS_UPDATED === "1") return;
210
210
  const latest = await fetchLatestVersion();
211
211
  if (latest === null) return;
212
- const current = "0.1.0";
212
+ const current = "0.1.1";
213
213
  if (!shouldUpdate(current, latest)) return;
214
214
  console.log(`Updating cclens ${current} \u2192 ${latest}...`);
215
215
  const ok = runNpmInstall();
@@ -222,7 +222,7 @@ async function checkForUpdate() {
222
222
  }
223
223
  async function forceUpdate() {
224
224
  const latest = await fetchLatestVersion();
225
- const current = "0.1.0";
225
+ const current = "0.1.1";
226
226
  if (latest === null) {
227
227
  console.error("Could not reach npm registry. Check your network.");
228
228
  process.exit(1);
@@ -1398,7 +1398,7 @@ async function daemon(args2) {
1398
1398
  break;
1399
1399
  default:
1400
1400
  console.error(`Unknown daemon subcommand: ${sub}`);
1401
- console.error("Usage: cclens daemon <start|stop|status|logs>");
1401
+ console.error("Usage: fleetlens daemon <start|stop|status|logs>");
1402
1402
  process.exit(1);
1403
1403
  }
1404
1404
  }
@@ -1411,7 +1411,7 @@ async function daemonStart() {
1411
1411
  }
1412
1412
  const script = workerPath();
1413
1413
  if (!existsSync3(script)) {
1414
- console.error(`Daemon worker not found at ${script}. Rebuild with: pnpm -F cclens build`);
1414
+ console.error(`Daemon worker not found at ${script}. Rebuild with: pnpm -F fleetlens build`);
1415
1415
  process.exit(1);
1416
1416
  }
1417
1417
  const child = spawn2(process.execPath, [script], {
@@ -1527,12 +1527,12 @@ async function main() {
1527
1527
  case "version":
1528
1528
  case "--version":
1529
1529
  case "-v":
1530
- console.log(`cclens ${"0.1.0"}`);
1530
+ console.log(`fleetlens ${"0.1.1"}`);
1531
1531
  break;
1532
1532
  case "help":
1533
1533
  case "--help":
1534
1534
  case "-h":
1535
- console.log(`Usage: cclens <command>
1535
+ console.log(`Usage: fleetlens <command>
1536
1536
 
1537
1537
  Commands:
1538
1538
  start [--port N] [--no-open] Start the dashboard server
@@ -1546,7 +1546,7 @@ Commands:
1546
1546
  break;
1547
1547
  default:
1548
1548
  console.error(`Unknown command: ${command}
1549
- Run 'cclens help' for usage.`);
1549
+ Run 'fleetlens help' for usage.`);
1550
1550
  process.exit(1);
1551
1551
  }
1552
1552
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleetlens",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "fleetlens — local-only dashboard and usage tracker for Claude Code sessions and agent fleets",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,8 +0,0 @@
1
- module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},78019,42732,a=>{"use strict";var b=a.i(5423);let c=(0,b.default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",0,c],78019);let d=(0,b.default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,d],42732)},85857,a=>{"use strict";let b=(0,a.i(5423).default)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",0,b],85857)},20555,a=>{"use strict";var b=a.i(51990),c=a.i(19804);a.s(["LiveBadge",0,function({mtimeIso:a,size:d="sm"}){let[e,f]=(0,c.useState)(()=>Date.now());if((0,c.useEffect)(()=>{let a=setInterval(()=>f(Date.now()),1e4);return()=>clearInterval(a)},[]),!a)return null;let g=Date.parse(a);if(Number.isNaN(g)||e-g>45e3)return null;let h="md"===d?8:6;return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:"md"===d?10:9,fontWeight:700,letterSpacing:"0.04em",padding:"md"===d?"3px 9px":"2px 7px",borderRadius:100,background:"rgba(239, 68, 68, 0.12)",color:"#ef4444",textTransform:"uppercase"},title:`Last updated ${new Date(g).toLocaleTimeString()}`,children:[(0,b.jsx)("span",{style:{display:"inline-block",width:h,height:h,borderRadius:"50%",background:"#ef4444",animation:"cs-live-pulse 1.6s ease-in-out infinite"}}),"LIVE",(0,b.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
- `})]})}])},80081,a=>{"use strict";let b=(0,a.i(5423).default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",0,b],80081)},3504,a=>{"use strict";let b=(0,a.i(5423).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);a.s(["Clock",0,b],3504)},68468,a=>{"use strict";let b=(0,a.i(5423).default)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);a.s(["Wrench",0,b],68468)},3680,a=>{"use strict";let b=/gh\s+pr\s+create\b/i,c=/#(\d+)/,d=/--title\s+["']([^"']+)["']/;a.s(["canonicalProjectName",0,function(a){let b=a.lastIndexOf("/.worktrees/");return b>=0?a.slice(0,b):a},"detectPrMarkers",0,function(a){let e=[],f=a.durationMs??0;for(let g of a.events){if("tool-call"!==g.role||"Bash"!==g.toolName)continue;let h=g.blocks.find(a=>a&&"type"in a&&"tool_use"===a.type);if(!h||"tool_use"!==h.type)continue;let i=h.input,j="string"==typeof i?.command?i.command:"";if(!b.test(j))continue;let k=j.match(d),l=j.match(c);e.push({sessionId:a.id,timestamp:g.timestamp??a.firstTimestamp??"",tOffsetMs:g.tOffsetMs,positionInSession:f>0&&void 0!==g.tOffsetMs?Math.min(1,Math.max(0,g.tOffsetMs/f)):void 0,command:j.slice(0,300),prNumber:l?Number(l[1]):void 0,title:k?.[1]})}return e}])}];
7
-
8
- //# sourceMappingURL=%5Broot-of-the-server%5D__07uf5k8._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},80353,(a,b,c)=>{b.exports=a.r(18622)},37631,a=>{a.n(a.i(80635))},87672,a=>{a.n(a.i(79460))},64939,a=>{a.n(a.i(65512))},16018,a=>{a.n(a.i(82936))},14729,a=>{a.n(a.i(44088))},79345,a=>{a.n(a.i(70132))},8468,a=>{a.n(a.i(33737))},31621,a=>{a.n(a.i(64496))},16860,a=>{a.n(a.i(66231))},51066,a=>{a.n(a.i(43935))},48425,a=>{a.n(a.i(40378))},67246,a=>{a.n(a.i(41057))},58312,a=>{a.n(a.i(1327))},35278,a=>{a.n(a.i(1933))},50147,a=>{a.n(a.i(66393))},73430,a=>{a.n(a.i(74999))},92517,a=>{a.n(a.i(14197))},62411,a=>{a.n(a.i(50387))},84949,a=>{a.n(a.i(78334))},5979,a=>{a.n(a.i(86497))},13345,a=>{a.n(a.i(55388))},28372,a=>{a.n(a.i(56177))},60009,a=>{a.n(a.i(79983))},89810,a=>{a.n(a.i(23276))},9939,a=>{a.n(a.i(62464))},97865,a=>{a.n(a.i(8222))},87051,a=>{a.n(a.i(84261))},14288,a=>{a.n(a.i(42488))},82192,a=>{a.n(a.i(8723))},49808,a=>{a.n(a.i(49707))},20758,a=>{a.n(a.i(73543))},7104,a=>{a.n(a.i(99899))},45890,a=>{a.n(a.i(62707))},67116,a=>{"use strict";var b=a.i(49382),c=a.i(50785);let d=process.env.CCLENS_DATA_DIR||void 0,e=(0,b.cache)(async()=>(0,c.listSessions)({limit:1e3,root:d})),f=(0,b.cache)(async a=>(0,c.getSession)(a,{root:d}));a.s(["getSession",0,f,"listSessions",0,e])},34476,a=>{"use strict";a.s(["DateRangeFilter",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call DateRangeFilter() from the server but DateRangeFilter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/date-range-filter.tsx <module evaluation>","DateRangeFilter")},96491,a=>{"use strict";a.s(["DateRangeFilter",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call DateRangeFilter() from the server but DateRangeFilter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/date-range-filter.tsx","DateRangeFilter")},67598,a=>{"use strict";a.i(34476);var b=a.i(96491);a.n(b)},41264,a=>{"use strict";a.s(["LiveBadge",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call LiveBadge() from the server but LiveBadge is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-badge.tsx <module evaluation>","LiveBadge")},71475,a=>{"use strict";a.s(["LiveBadge",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call LiveBadge() from the server but LiveBadge is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-badge.tsx","LiveBadge")},77708,a=>{"use strict";a.i(41264);var b=a.i(71475);a.n(b)},77739,a=>{"use strict";var b=a.i(21943),c=a.i(48024),d=a.i(4636),e=a.i(67598),f=a.i(77708),g=a.i(67116),h=a.i(87067),i=a.i(74719);async function j({searchParams:a}){let k,{range:l}=await a,m="7d"===(k=Array.isArray(l)?l[0]:l)||"30d"===k||"90d"===k||"all"===k?k:"all",n=function(a,b=Date.now()){if("all"!==a)return b-24*("7d"===a?7:"30d"===a?30:90)*36e5}(m),o=await (0,g.listSessions)(),p=void 0===n?o:o.filter(a=>{if(!a.firstTimestamp)return!1;let b=Date.parse(a.firstTimestamp);return!Number.isNaN(b)&&b>=n}),q=(0,c.groupByProject)(p).sort((a,b)=>{let c=a.metrics.totalTokens.input+a.metrics.totalTokens.output+a.metrics.totalTokens.cacheRead+a.metrics.totalTokens.cacheWrite,d=b.metrics.totalTokens.input+b.metrics.totalTokens.output+b.metrics.totalTokens.cacheRead+b.metrics.totalTokens.cacheWrite;return d!==c?d-c:b.metrics.sessionCount-a.metrics.sessionCount}).slice(0,8),r=p.slice(0,6);return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:28,maxWidth:1280,padding:"32px 40px"},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:18,flexWrap:"wrap"},children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{style:{fontSize:26,fontWeight:700,letterSpacing:"-0.02em",margin:0},children:"Overview"}),(0,b.jsxs)("p",{style:{fontSize:13,color:"var(--af-text-secondary)",marginTop:4},children:[p.length," of ",o.length," session",1===o.length?"":"s",", read from"," ",(0,b.jsx)("code",{style:{fontFamily:"var(--font-mono)",fontSize:11,background:"var(--af-border-subtle)",padding:"1px 6px",borderRadius:4},children:"~/.claude/projects"}),"."]})]}),(0,b.jsx)(e.DateRangeFilter,{current:m})]}),(0,b.jsx)(d.DashboardView,{sessions:p}),(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"1fr 1.4fr",gap:16},children:[(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Top projects"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"by total tokens"}),(0,b.jsx)(i.default,{href:"/projects",style:{fontSize:11,color:"var(--af-accent)",marginLeft:"auto"},children:"View all →"})]}),(0,b.jsx)("div",{children:0===q.length?(0,b.jsx)("div",{className:"af-empty",children:"No projects yet."}):q.map(a=>{let c=a.metrics.totalTokens.input+a.metrics.totalTokens.output+a.metrics.totalTokens.cacheRead+a.metrics.totalTokens.cacheWrite;return(0,b.jsxs)(i.default,{href:`/projects/${encodeURIComponent(a.projectDir)}`,style:{display:"grid",gridTemplateColumns:"1fr auto auto auto",gap:14,padding:"10px 18px",fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",alignItems:"center"},children:[(0,b.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--af-text)"},title:a.projectName,children:(0,h.prettyProjectName)(a.projectName)}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",minWidth:64,textAlign:"right"},children:[a.sessions.length," sess"]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",minWidth:52,textAlign:"right"},title:`${c.toLocaleString()} tokens`,children:(0,h.formatTokens)(c)}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",minWidth:56,textAlign:"right"},suppressHydrationWarning:!0,children:a.lastActiveMs?(0,h.formatRelative)(new Date(a.lastActiveMs).toISOString()):"—"})]},a.projectDir)})})]}),(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Recent sessions"}),(0,b.jsx)(i.default,{href:"/sessions",style:{fontSize:11,color:"var(--af-accent)",marginLeft:"auto"},children:"View all →"})]}),(0,b.jsx)("div",{children:0===r.length?(0,b.jsx)("div",{className:"af-empty",children:"No sessions found in ~/.claude/projects"}):r.map(a=>(0,b.jsxs)(i.default,{href:`/sessions/${a.id}`,style:{display:"grid",gridTemplateColumns:"1fr auto auto",gap:12,padding:"10px 18px",fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",alignItems:"center"},children:[(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsxs)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--af-text)",display:"flex",alignItems:"center",gap:6},children:[(0,b.jsx)(f.LiveBadge,{mtimeIso:a.lastTimestamp}),(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.firstUserPreview||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})})]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",marginTop:2,fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,h.prettyProjectName)(a.projectName)})]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",textAlign:"right",minWidth:54},title:"Agent time (filters out idle gaps)",children:(0,h.formatDuration)(a.airTimeMs??a.durationMs)}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textAlign:"right",minWidth:54},children:a.firstTimestamp?(0,h.formatRelative)(a.firstTimestamp):"—"})]},`${a.projectDir}/${a.id}`))})]})]})]})}a.s(["default",0,j,"dynamic",0,"force-dynamic"],77739)},67303,a=>{a.n(a.i(77739))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0bb9l_d._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},65460,(a,b,c)=>{"use strict";b.exports=a.r(18622)},51990,(a,b,c)=>{"use strict";b.exports=a.r(65460).vendored["react-ssr"].ReactJsxRuntime},19804,(a,b,c)=>{"use strict";b.exports=a.r(65460).vendored["react-ssr"].React},93369,(a,b,c)=>{"use strict";b.exports=a.r(65460).vendored.contexts.AppRouterContext},94168,(a,b,c)=>{"use strict";b.exports=a.r(65460).vendored["react-ssr"].ReactServerDOMTurbopackClient},204,(a,b,c)=>{"use strict";b.exports=a.r(65460).vendored.contexts.HooksClientContext},22076,(a,b,c)=>{"use strict";b.exports=a.r(65460).vendored.contexts.ServerInsertedHtml},5423,a=>{"use strict";var b=a.i(19804);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={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 e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],5423)},3444,a=>{"use strict";a.s(["formatDuration",0,function(a){if(void 0===a)return"—";if(a<1e3)return`${a}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`},"formatGap",0,function(a){if(a<1e3)return`${a}ms`;let b=a/1e3;if(b<60)return`${b.toFixed(1)}s`;let c=Math.floor(b/60);if(c<60){let a=Math.round(b%60);return`${c}m ${a}s`}let d=Math.floor(c/60),e=c%60;if(d<24)return e?`${d}h ${e}m`:`${d}h`;let f=Math.floor(d/24),g=d%24;return g?`${f}d ${g}h`:`${f}d`},"formatOffset",0,function(a){if(void 0===a||a<0)return"—";let b=Math.floor(a/1e3),c=Math.floor(b/3600),d=String(Math.floor(b%3600/60)).padStart(2,"0"),e=String(b%60).padStart(2,"0");return`${c}:${d}:${e}`},"formatRelative",0,function(a){let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Math.round((Date.now()-b)/1e3);if(c<60)return`${c}s ago`;let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return`${f}d ago`},"formatTokens",0,function(a){return a<1e3?String(a):a<1e4?(a/1e3).toFixed(1)+"k":a<1e6?Math.round(a/1e3)+"k":a<1e7?(a/1e6).toFixed(2)+"M":(a/1e6).toFixed(1)+"M"},"prettyProjectName",0,function(a,b=35){let c=a.split("/").filter(Boolean),d=c.lastIndexOf(".worktrees");if(d>0&&d<c.length-1){let a=c[d-1],e=c[d+1],f=`${a}/${e}`;return f.length<=b?f:"…"+f.slice(f.length-b+1)}let e=c.length>=2?`${c[c.length-2]}/${c[c.length-1]}`:c[c.length-1]??a;return e.length<=b?e:"…"+e.slice(e.length-b+1)},"shortId",0,function(a){return a.length<=10?a:a.slice(0,6)+"…"+a.slice(-4)}])},2591,a=>{"use strict";var b=a.i(19804);a.s(["usePersistentBoolean",0,function(a,c){let[d,e]=(0,b.useState)(c),[f,g]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{try{let b=window.localStorage.getItem(a);"1"===b?e(!0):"0"===b&&e(!1)}catch{}g(!0)},[a]),(0,b.useEffect)(()=>{let b=b=>{let c=b.detail;c?.key===a&&"boolean"==typeof c.value&&e(c.value)},c=b=>{b.key===a&&("1"===b.newValue?e(!0):"0"===b.newValue&&e(!1))};return window.addEventListener("cclens:persistent-boolean",b),window.addEventListener("storage",c),()=>{window.removeEventListener("cclens:persistent-boolean",b),window.removeEventListener("storage",c)}},[a]),[d,(0,b.useCallback)(b=>{e(b);try{window.localStorage.setItem(a,b?"1":"0")}catch{}window.dispatchEvent(new CustomEvent("cclens:persistent-boolean",{detail:{key:a,value:b}}))},[a]),f]}])},29384,a=>{"use strict";let b=(0,a.i(5423).default)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);a.s(["Search",0,b],29384)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0yhkpq.._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},80353,(a,b,c)=>{b.exports=a.r(18622)},37631,a=>{a.n(a.i(80635))},87672,a=>{a.n(a.i(79460))},64939,a=>{a.n(a.i(65512))},16018,a=>{a.n(a.i(82936))},14729,a=>{a.n(a.i(44088))},79345,a=>{a.n(a.i(70132))},8468,a=>{a.n(a.i(33737))},31621,a=>{a.n(a.i(64496))},16860,a=>{a.n(a.i(66231))},51066,a=>{a.n(a.i(43935))},48425,a=>{a.n(a.i(40378))},67246,a=>{a.n(a.i(41057))},58312,a=>{a.n(a.i(1327))},35278,a=>{a.n(a.i(1933))},50147,a=>{a.n(a.i(66393))},73430,a=>{a.n(a.i(74999))},92517,a=>{a.n(a.i(14197))},62411,a=>{a.n(a.i(50387))},84949,a=>{a.n(a.i(78334))},5979,a=>{a.n(a.i(86497))},13345,a=>{a.n(a.i(55388))},28372,a=>{a.n(a.i(56177))},60009,a=>{a.n(a.i(79983))},89810,a=>{a.n(a.i(23276))},9939,a=>{a.n(a.i(62464))},97865,a=>{a.n(a.i(8222))},87051,a=>{a.n(a.i(84261))},14288,a=>{a.n(a.i(42488))},82192,a=>{a.n(a.i(8723))},49808,a=>{a.n(a.i(49707))},20758,a=>{a.n(a.i(73543))},7104,a=>{a.n(a.i(99899))},45890,a=>{a.n(a.i(62707))},67116,a=>{"use strict";var b=a.i(49382),c=a.i(50785);let d=process.env.CCLENS_DATA_DIR||void 0,e=(0,b.cache)(async()=>(0,c.listSessions)({limit:1e3,root:d})),f=(0,b.cache)(async a=>(0,c.getSession)(a,{root:d}));a.s(["getSession",0,f,"listSessions",0,e])},2860,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},29014,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},33974,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(29014),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},24998,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(29014),g=a.r(33974),h=a.r(20635).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},62171,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},23285,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(62171),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},87023,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(62171).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},53376,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(62171).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},61852,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},96205,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(62171),e=a.r(33974);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},39651,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(30877),e=a.r(61852),f=a.r(26236),g=a.r(96205),h=a.r(97965),i=a.r(34421);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},13422,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(39651).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},72386,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(2860),g=a.r(24998),h=a.r(23285),i=a.r(87023),j=a.r(53376),k=a.r(13422);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},60504,a=>{"use strict";a.i(72386),a.s([])},57715,a=>{"use strict";a.s(["ParallelRunsStrip",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call ParallelRunsStrip() from the server but ParallelRunsStrip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/parallel-runs-strip.tsx <module evaluation>","ParallelRunsStrip")},37218,a=>{"use strict";a.s(["ParallelRunsStrip",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call ParallelRunsStrip() from the server but ParallelRunsStrip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/parallel-runs-strip.tsx","ParallelRunsStrip")},36770,a=>{"use strict";a.i(57715);var b=a.i(37218);a.n(b)},1632,a=>{"use strict";var b=a.i(21943);a.i(60504);var c=a.i(72386),d=a.i(74719),e=a.i(67116),f=a.i(48024),g=a.i(4636),h=a.i(94045),i=a.i(36770),j=a.i(87067),k=a.i(21390);let l=(0,k.default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),m=(0,k.default)("GitPullRequest",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]]);async function n({params:a}){let{slug:k}=await a,o=decodeURIComponent(k),p=(await (0,e.listSessions)()).filter(a=>(0,f.canonicalProjectName)(a.projectName)===o);if(0===p.length)return(0,c.notFound)();let q=(0,f.detectParallelRuns)(p,2),r=p.slice(0,50),s=await Promise.all(r.map(a=>(0,e.getSession)(a.id))),t=s.filter(a=>!!a).flatMap(a=>(0,f.detectPrMarkers)(a)),u=s.filter(a=>!!a).reduce((a,b)=>a+(0,f.sessionAirTimeMs)(b.events),0);return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:28,maxWidth:1280,padding:"32px 40px"},children:[(0,b.jsx)("div",{style:{fontSize:12,color:"var(--af-text-tertiary)"},children:(0,b.jsxs)(d.default,{href:"/projects",style:{color:"var(--af-text-tertiary)",display:"inline-flex",alignItems:"center",gap:4},children:[(0,b.jsx)(l,{size:12})," Projects"]})}),(0,b.jsxs)("header",{children:[(0,b.jsx)("h1",{style:{fontSize:26,fontWeight:700,letterSpacing:"-0.02em",margin:0},children:(0,j.prettyProjectName)(o)}),(0,b.jsx)("p",{style:{fontSize:12,color:"var(--af-text-tertiary)",marginTop:4,fontFamily:"var(--font-mono)"},children:o})]}),(0,b.jsx)(g.DashboardView,{sessions:p,override:{activeTimeMs:u||void 0,extraCards:(0,b.jsx)(h.MetricCard,{label:"PRs shipped",value:String(t.length),sub:t.length>0?`${r.length} sessions scanned`:"scanned recent 50",icon:(0,b.jsx)(m,{size:13}),tooltip:"PRs detected by scanning for `gh pr create` Bash commands in session transcripts. Only the most recent 50 sessions are scanned."})}}),(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:t.length>0&&q.length>0?"1fr 1fr":"1fr",gap:16},children:[t.length>0&&(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Pull requests shipped"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"detected from `gh pr create` calls"})]}),(0,b.jsx)("div",{style:{padding:14,display:"flex",flexDirection:"column",gap:6},children:t.sort((a,b)=>Date.parse(b.timestamp)-Date.parse(a.timestamp)).slice(0,25).map((a,c)=>(0,b.jsxs)(d.default,{href:`/sessions/${a.sessionId}`,style:{display:"grid",gridTemplateColumns:"100px 1fr 70px",gap:10,padding:"10px 14px",border:"1px solid var(--af-border-subtle)",borderRadius:8,background:"var(--af-surface-hover)",fontSize:12,alignItems:"center"},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-secondary)",fontFamily:"var(--font-mono)"},children:(0,j.formatRelative)(a.timestamp)}),(0,b.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--af-text)"},title:a.command,children:a.title??a.command.replace(/^gh pr create /,"").slice(0,120)}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",textAlign:"right"},children:void 0!==a.positionInSession?`${Math.round(100*a.positionInSession)}% in`:"—"})]},c))})]}),q.length>0&&(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Parallel runs"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"≥ 2 concurrent sessions"})]}),(0,b.jsx)("div",{style:{padding:14},children:(0,b.jsx)(i.ParallelRunsStrip,{runs:q,sessions:p})})]})]}),(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Sessions"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"newest first"})]}),(0,b.jsx)("div",{children:p.map(a=>(0,b.jsxs)(d.default,{href:`/sessions/${a.id}`,style:{display:"grid",gridTemplateColumns:"100px 1fr 90px 90px",gap:14,padding:"12px 18px",fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",alignItems:"center"},children:[(0,b.jsxs)("div",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-tertiary)"},children:["sesn_",(0,j.shortId)(a.id)]}),(0,b.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--af-text)"},children:a.firstUserPreview||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",textAlign:"right"},title:"Agent time (filters out idle gaps)",children:(0,j.formatDuration)(a.airTimeMs??a.durationMs)}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textAlign:"right"},children:a.firstTimestamp?(0,j.formatRelative)(a.firstTimestamp):"—"})]},`${a.projectDir}/${a.id}`))})]})]})}a.s(["default",0,n,"dynamic",0,"force-dynamic"],1632)},35416,a=>{a.n(a.i(1632))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__10tl2-f._.js.map
@@ -1,12 +0,0 @@
1
- module.exports=[21390,a=>{"use strict";var b=a.i(49382);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={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 e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],21390)},83885,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx <module evaluation>","Heatmap")},44467,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx","Heatmap")},54572,a=>{"use strict";a.i(83885);var b=a.i(44467);a.n(b)},70301,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx <module evaluation>","ActivityChart")},37964,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx","ActivityChart")},37707,a=>{"use strict";a.i(70301);var b=a.i(37964);a.n(b)},25581,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx <module evaluation>","MetricCard")},77267,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx","MetricCard")},94045,a=>{"use strict";a.i(25581);var b=a.i(77267);a.n(b)},4636,87067,a=>{"use strict";var b=a.i(21943),c=a.i(48024),d=a.i(54572),e=a.i(37707),f=a.i(94045);function g(a){return a<1e3?String(a):a<1e4?(a/1e3).toFixed(1)+"k":a<1e6?Math.round(a/1e3)+"k":a<1e7?(a/1e6).toFixed(2)+"M":(a/1e6).toFixed(1)+"M"}function h(a){if(void 0===a)return"—";if(a<1e3)return`${a}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`}let i={input:1,output:5,cacheRead:.1,cacheWrite:1.25},j={input:3,output:15,cacheRead:.3,cacheWrite:3.75},k={input:5,output:25,cacheRead:.5,cacheWrite:6.25};function l(a){return a.reduce((a,b)=>{var c;let d;return a+(c=b.totalUsage,d=function(a){if(!a)return k;let b=a.toLowerCase();return b.includes("haiku")?i:b.includes("sonnet")?j:k}(b.model),c.input/1e6*d.input+c.output/1e6*d.output+c.cacheRead/1e6*d.cacheRead+c.cacheWrite/1e6*d.cacheWrite)},0)}function m(a){return a<.01?"<$0.01":a<1||a<100?`$${a.toFixed(2)}`:a<1e3?`$${a.toFixed(1)}`:`$${a.toLocaleString(void 0,{maximumFractionDigits:0})}`}a.s(["estimateCostMulti",0,l,"formatCost",0,m,"formatDuration",0,h,"formatRelative",0,function(a){let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Math.round((Date.now()-b)/1e3);if(c<60)return`${c}s ago`;let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return`${f}d ago`},"formatTokens",0,g,"prettyProjectName",0,function(a,b=35){let c=a.split("/").filter(Boolean),d=c.lastIndexOf(".worktrees");if(d>0&&d<c.length-1){let a=c[d-1],e=c[d+1],f=`${a}/${e}`;return f.length<=b?f:"…"+f.slice(f.length-b+1)}let e=c.length>=2?`${c[c.length-2]}/${c[c.length-1]}`:c[c.length-1]??a;return e.length<=b?e:"…"+e.slice(e.length-b+1)},"shortId",0,function(a){return a.length<=10?a:a.slice(0,6)+"…"+a.slice(-4)}],87067);var n=a.i(21390);let o=(0,n.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"}]]),p=(0,n.default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),q=(0,n.default)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),r=(0,n.default)("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);function s({line1:a,line2:c}){return(0,b.jsxs)("div",{style:{lineHeight:1.4},children:[(0,b.jsx)("div",{children:a}),(0,b.jsx)("div",{style:{color:"var(--af-text-tertiary)"},children:c})]})}function t(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":(a/1e6).toFixed(1)+"M"}function u(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":a<1e9?(a/1e6).toFixed(1)+"M":(a/1e9).toFixed(1)+"B"}a.s(["DashboardView",0,function({sessions:a,override:i}){let j=(0,c.highLevelMetrics)(a),k=(0,c.dailyActivity)(a),n=(0,c.summarizeBursts)((0,c.computeBurstsFromSessions)(a)),v=j.totalTokens.input+j.totalTokens.cacheRead+j.totalTokens.cacheWrite,w=i?.activeTimeMs??j.totalAirTimeMs,x=k.filter(a=>a.airTimeMs>0).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12},children:[(0,b.jsx)(f.MetricCard,{label:"Sessions",value:j.sessionCount.toLocaleString(),sub:(0,b.jsx)(s,{line1:`${j.totalTurns.toLocaleString()} turns`,line2:`avg ${j.sessionCount?Math.round(j.totalTurns/j.sessionCount):0} / session`}),icon:(0,b.jsx)(o,{size:13}),tooltip:"Total Claude Code sessions (one JSONL file = one session). A 'turn' is one user message that starts an agent response cycle."}),(0,b.jsx)(f.MetricCard,{label:"Agent time",value:h(w),sub:x>0?(0,b.jsx)(s,{line1:`${h(w/x)} / day`,line2:`${x} active days`}):"no activity",icon:(0,b.jsx)(p,{size:13}),tooltip:"Sum of time the Claude agent was actively working across all sessions. Gaps longer than 3 minutes (user away, laptop lid closed) are excluded. This is NOT wall-clock duration. Per-day average is across days with any agent activity."}),(0,b.jsx)(f.MetricCard,{label:"Tool calls",value:j.totalToolCalls.toLocaleString(),sub:(0,b.jsx)(s,{line1:`avg ${j.sessionCount?Math.round(j.totalToolCalls/j.sessionCount):0} / session`,line2:`across ${j.sessionCount.toLocaleString()} sessions`}),icon:(0,b.jsx)(q,{size:13}),tooltip:"Total tool invocations (Bash, Read, Edit, Write, Grep, Glob, Agent, etc.) across all sessions."}),(0,b.jsx)(f.MetricCard,{label:"Parallelism",value:n.burstCount>0?h(n.totalParallelMs):"—",sub:n.burstCount>0?(0,b.jsx)(s,{line1:`peak \xd7${n.peakConcurrent}`,line2:`${Math.round(n.totalParallelMs/Math.max(1,w)*100)}% of active time`}):"no sustained parallelism",tooltip:`Total time ≥2 agents were working in parallel, with peak concurrency as the highest count in any single burst.
2
-
3
- ${n.burstCount} burst${1===n.burstCount?"":"s"} \xb7 ${n.crossProjectBurstCount} spanned multiple projects.`}),(0,b.jsx)(f.MetricCard,{label:"Code changes",value:(0,b.jsxs)("span",{children:[(0,b.jsxs)("span",{style:{color:"var(--af-success)"},children:["+",t(j.totalLinesAdded)]})," ",(0,b.jsxs)("span",{style:{color:"var(--af-danger)"},children:["-",t(j.totalLinesRemoved)]})]}),sub:(0,b.jsx)(s,{line1:`${j.totalFilesEdited.toLocaleString()} files touched`,line2:`${t(j.totalLinesAdded+j.totalLinesRemoved)} total lines`}),tooltip:`Total lines added and removed across all Edit + Write tool calls.
4
- +${j.totalLinesAdded.toLocaleString()} added
5
- -${j.totalLinesRemoved.toLocaleString()} removed
6
- ${j.totalFilesEdited.toLocaleString()} unique files touched`}),(0,b.jsx)(f.MetricCard,{label:"Est. cost",value:m(l(a)),sub:(0,b.jsx)(s,{line1:`${u(v)} in`,line2:`${u(j.totalTokens.output)} out`}),icon:(0,b.jsx)(r,{size:13}),tooltip:`Estimated API spend priced per-model across all sessions.
7
- Input: ${g(j.totalTokens.input)}
8
- Output: ${g(j.totalTokens.output)}
9
- Cache read: ${g(j.totalTokens.cacheRead)}
10
- Cache write: ${g(j.totalTokens.cacheWrite)}`}),i?.extraCards]}),(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"1fr 2fr",gap:16},children:[(0,b.jsxs)("div",{className:"af-panel",style:{display:"flex",flexDirection:"column"},children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Contribution heatmap"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"sessions / day"})]}),(0,b.jsx)("div",{style:{padding:18,flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:(0,b.jsx)(d.Heatmap,{buckets:k,valueKey:"sessions"})})]}),(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Daily activity"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"click a metric to switch"})]}),(0,b.jsx)("div",{style:{padding:18},children:(0,b.jsx)(e.ActivityChart,{buckets:k})})]})]})]})}],4636)},54508,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},52056,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(42701);a.n(d("[project]/node_modules/.pnpm/next@16.2.2_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},2815,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(42701);a.n(d("[project]/node_modules/.pnpm/next@16.2.2_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/app-dir/link.js"))},74967,a=>{"use strict";a.i(52056);var b=a.i(2815);a.n(b)},74719,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(54508),g=a.r(21943),h=f._(a.r(74967));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
11
-
12
- //# sourceMappingURL=_0c4zmjt._.js.map
@@ -1,12 +0,0 @@
1
- module.exports=[21390,a=>{"use strict";var b=a.i(49382);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={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 e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],21390)},54508,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},52056,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(42701);a.n(d("[project]/node_modules/.pnpm/next@16.2.2_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},2815,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(42701);a.n(d("[project]/node_modules/.pnpm/next@16.2.2_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/app-dir/link.js"))},74967,a=>{"use strict";a.i(52056);var b=a.i(2815);a.n(b)},74719,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(54508),g=a.r(21943),h=f._(a.r(74967));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},83885,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx <module evaluation>","Heatmap")},44467,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx","Heatmap")},54572,a=>{"use strict";a.i(83885);var b=a.i(44467);a.n(b)},70301,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx <module evaluation>","ActivityChart")},37964,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx","ActivityChart")},37707,a=>{"use strict";a.i(70301);var b=a.i(37964);a.n(b)},25581,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx <module evaluation>","MetricCard")},77267,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(42701).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx","MetricCard")},94045,a=>{"use strict";a.i(25581);var b=a.i(77267);a.n(b)},4636,87067,a=>{"use strict";var b=a.i(21943),c=a.i(48024),d=a.i(54572),e=a.i(37707),f=a.i(94045);function g(a){return a<1e3?String(a):a<1e4?(a/1e3).toFixed(1)+"k":a<1e6?Math.round(a/1e3)+"k":a<1e7?(a/1e6).toFixed(2)+"M":(a/1e6).toFixed(1)+"M"}function h(a){if(void 0===a)return"—";if(a<1e3)return`${a}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`}let i={input:1,output:5,cacheRead:.1,cacheWrite:1.25},j={input:3,output:15,cacheRead:.3,cacheWrite:3.75},k={input:5,output:25,cacheRead:.5,cacheWrite:6.25};function l(a){return a.reduce((a,b)=>{var c;let d;return a+(c=b.totalUsage,d=function(a){if(!a)return k;let b=a.toLowerCase();return b.includes("haiku")?i:b.includes("sonnet")?j:k}(b.model),c.input/1e6*d.input+c.output/1e6*d.output+c.cacheRead/1e6*d.cacheRead+c.cacheWrite/1e6*d.cacheWrite)},0)}function m(a){return a<.01?"<$0.01":a<1||a<100?`$${a.toFixed(2)}`:a<1e3?`$${a.toFixed(1)}`:`$${a.toLocaleString(void 0,{maximumFractionDigits:0})}`}a.s(["estimateCostMulti",0,l,"formatCost",0,m,"formatDuration",0,h,"formatRelative",0,function(a){let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Math.round((Date.now()-b)/1e3);if(c<60)return`${c}s ago`;let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return`${f}d ago`},"formatTokens",0,g,"prettyProjectName",0,function(a,b=35){let c=a.split("/").filter(Boolean),d=c.lastIndexOf(".worktrees");if(d>0&&d<c.length-1){let a=c[d-1],e=c[d+1],f=`${a}/${e}`;return f.length<=b?f:"…"+f.slice(f.length-b+1)}let e=c.length>=2?`${c[c.length-2]}/${c[c.length-1]}`:c[c.length-1]??a;return e.length<=b?e:"…"+e.slice(e.length-b+1)},"shortId",0,function(a){return a.length<=10?a:a.slice(0,6)+"…"+a.slice(-4)}],87067);var n=a.i(21390);let o=(0,n.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"}]]),p=(0,n.default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),q=(0,n.default)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),r=(0,n.default)("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);function s({line1:a,line2:c}){return(0,b.jsxs)("div",{style:{lineHeight:1.4},children:[(0,b.jsx)("div",{children:a}),(0,b.jsx)("div",{style:{color:"var(--af-text-tertiary)"},children:c})]})}function t(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":(a/1e6).toFixed(1)+"M"}function u(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":a<1e9?(a/1e6).toFixed(1)+"M":(a/1e9).toFixed(1)+"B"}a.s(["DashboardView",0,function({sessions:a,override:i}){let j=(0,c.highLevelMetrics)(a),k=(0,c.dailyActivity)(a),n=(0,c.summarizeBursts)((0,c.computeBurstsFromSessions)(a)),v=j.totalTokens.input+j.totalTokens.cacheRead+j.totalTokens.cacheWrite,w=i?.activeTimeMs??j.totalAirTimeMs,x=k.filter(a=>a.airTimeMs>0).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12},children:[(0,b.jsx)(f.MetricCard,{label:"Sessions",value:j.sessionCount.toLocaleString(),sub:(0,b.jsx)(s,{line1:`${j.totalTurns.toLocaleString()} turns`,line2:`avg ${j.sessionCount?Math.round(j.totalTurns/j.sessionCount):0} / session`}),icon:(0,b.jsx)(o,{size:13}),tooltip:"Total Claude Code sessions (one JSONL file = one session). A 'turn' is one user message that starts an agent response cycle."}),(0,b.jsx)(f.MetricCard,{label:"Agent time",value:h(w),sub:x>0?(0,b.jsx)(s,{line1:`${h(w/x)} / day`,line2:`${x} active days`}):"no activity",icon:(0,b.jsx)(p,{size:13}),tooltip:"Sum of time the Claude agent was actively working across all sessions. Gaps longer than 3 minutes (user away, laptop lid closed) are excluded. This is NOT wall-clock duration. Per-day average is across days with any agent activity."}),(0,b.jsx)(f.MetricCard,{label:"Tool calls",value:j.totalToolCalls.toLocaleString(),sub:(0,b.jsx)(s,{line1:`avg ${j.sessionCount?Math.round(j.totalToolCalls/j.sessionCount):0} / session`,line2:`across ${j.sessionCount.toLocaleString()} sessions`}),icon:(0,b.jsx)(q,{size:13}),tooltip:"Total tool invocations (Bash, Read, Edit, Write, Grep, Glob, Agent, etc.) across all sessions."}),(0,b.jsx)(f.MetricCard,{label:"Parallelism",value:n.burstCount>0?h(n.totalParallelMs):"—",sub:n.burstCount>0?(0,b.jsx)(s,{line1:`peak \xd7${n.peakConcurrent}`,line2:`${Math.round(n.totalParallelMs/Math.max(1,w)*100)}% of active time`}):"no sustained parallelism",tooltip:`Total time ≥2 agents were working in parallel, with peak concurrency as the highest count in any single burst.
2
-
3
- ${n.burstCount} burst${1===n.burstCount?"":"s"} \xb7 ${n.crossProjectBurstCount} spanned multiple projects.`}),(0,b.jsx)(f.MetricCard,{label:"Code changes",value:(0,b.jsxs)("span",{children:[(0,b.jsxs)("span",{style:{color:"var(--af-success)"},children:["+",t(j.totalLinesAdded)]})," ",(0,b.jsxs)("span",{style:{color:"var(--af-danger)"},children:["-",t(j.totalLinesRemoved)]})]}),sub:(0,b.jsx)(s,{line1:`${j.totalFilesEdited.toLocaleString()} files touched`,line2:`${t(j.totalLinesAdded+j.totalLinesRemoved)} total lines`}),tooltip:`Total lines added and removed across all Edit + Write tool calls.
4
- +${j.totalLinesAdded.toLocaleString()} added
5
- -${j.totalLinesRemoved.toLocaleString()} removed
6
- ${j.totalFilesEdited.toLocaleString()} unique files touched`}),(0,b.jsx)(f.MetricCard,{label:"Est. cost",value:m(l(a)),sub:(0,b.jsx)(s,{line1:`${u(v)} in`,line2:`${u(j.totalTokens.output)} out`}),icon:(0,b.jsx)(r,{size:13}),tooltip:`Estimated API spend priced per-model across all sessions.
7
- Input: ${g(j.totalTokens.input)}
8
- Output: ${g(j.totalTokens.output)}
9
- Cache read: ${g(j.totalTokens.cacheRead)}
10
- Cache write: ${g(j.totalTokens.cacheWrite)}`}),i?.extraCards]}),(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"1fr 2fr",gap:16},children:[(0,b.jsxs)("div",{className:"af-panel",style:{display:"flex",flexDirection:"column"},children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Contribution heatmap"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"sessions / day"})]}),(0,b.jsx)("div",{style:{padding:18,flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:(0,b.jsx)(d.Heatmap,{buckets:k,valueKey:"sessions"})})]}),(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Daily activity"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"click a metric to switch"})]}),(0,b.jsx)("div",{style:{padding:18},children:(0,b.jsx)(e.ActivityChart,{buckets:k})})]})]})]})}],4636)}];
11
-
12
- //# sourceMappingURL=_0ev.8gk._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[89691,a=>{"use strict";var b=a.i(51990),c=a.i(19804);function d(a,b){if(a<=0||b<=0)return"var(--af-heatmap-0)";let c=Math.min(1,a/b),d=0;return c>.75?d=4:c>.5?d=3:c>.25?d=2:c>0&&(d=1),`var(--af-heatmap-${d})`}function e(a){let[b,c,d]=a.split("-").map(Number);return new Date(b,c-1,d)}function f(a){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}function g(a){return{date:a,sessions:0,toolCalls:0,turns:0,airTimeMs:0,tokens:{input:0,output:0,cacheRead:0,cacheWrite:0},durationMs:0,peakParallelism:0}}a.s(["Heatmap",0,function({buckets:a,valueKey:h="sessions",cellSize:i=13,cellGap:j=3}){let[k,l]=(0,c.useState)(null),{weeks:m,max:n}=(0,c.useMemo)(()=>{if(0===a.length)return{weeks:[],max:0};let b=new Date(e(a[0].date));b.setDate(b.getDate()-b.getDay());let c=new Map(a.map(a=>[a.date,a])),d=[],i=[],j=new Date,k=e(a[a.length-1].date),l=k>j?k:j,m=0;for(let a=new Date(b);a<=l;a.setDate(a.getDate()+1)){let b=f(a),e=c.get(b)??g(b),j=e[h];j>m&&(m=j),i.push(e),7===i.length&&(d.push(i),i=[])}if(i.length>0){for(;i.length<7;)i.push(g(f(new Date)));d.push(i)}return{weeks:d,max:m}},[a,h]);if(0===a.length)return(0,b.jsx)("div",{style:{padding:"32px 12px",color:"var(--af-text-tertiary)",fontSize:12,textAlign:"center"},children:"No activity yet."});let o=m.length*(i+j)+24,p=7*(i+j)+18;return(0,b.jsxs)("div",{style:{position:"relative",overflowX:"auto"},children:[(0,b.jsxs)("svg",{width:o,height:p,style:{display:"block"},children:[(0,b.jsx)("g",{fontSize:9,fill:"var(--af-text-tertiary)",children:["Mon","Wed","Fri"].map((a,c)=>(0,b.jsx)("text",{x:0,y:18+(1+2*c)*(i+j)+i-3,children:a},a))}),(0,b.jsx)("g",{transform:"translate(24, 18)",children:m.map((a,c)=>a.map((a,e)=>{let f=a[h],g=d(f,n);return(0,b.jsx)("rect",{x:c*(i+j),y:e*(i+j),width:i,height:i,rx:2.5,ry:2.5,stroke:f>0?"rgba(255,255,255,0.04)":"transparent",onMouseEnter:b=>{let c=b.currentTarget.getBoundingClientRect();l({bucket:a,x:c.left+c.width/2,y:c.top-6})},onMouseLeave:()=>l(null),style:{cursor:f>0?"pointer":"default",fill:g}},`${c}-${e}`)}))})]}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:6,fontSize:10,color:"var(--af-text-tertiary)",justifyContent:"flex-end"},children:[(0,b.jsx)("span",{children:"Less"}),[0,.25,.5,.75,1].map((a,c)=>(0,b.jsx)("span",{style:{width:11,height:11,borderRadius:2.5,background:d(Math.max(1,a*n),n),display:"inline-block"}},c)),(0,b.jsx)("span",{children:"More"})]}),k&&(0,b.jsxs)("div",{style:{position:"fixed",left:k.x,top:k.y,transform:"translate(-50%, -100%)",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:6,padding:"6px 10px",fontSize:11,color:"var(--af-text)",whiteSpace:"nowrap",pointerEvents:"none",zIndex:100,boxShadow:"0 4px 12px rgba(0,0,0,0.3)"},children:[(0,b.jsx)("div",{style:{fontWeight:600},children:k.bucket.date}),(0,b.jsxs)("div",{style:{color:"var(--af-text-secondary)"},children:[k.bucket.sessions," session",1===k.bucket.sessions?"":"s",k.bucket.toolCalls>0&&` \xb7 ${k.bucket.toolCalls} tool calls`,k.bucket.peakParallelism>1&&` \xb7 peak \xd7${k.bucket.peakParallelism}`]})]})]})}])},52429,a=>{"use strict";var b=a.i(51990),c=a.i(19804);function d(a){if(a<1e3)return`${Math.round(a)}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`}let e={airTime:{label:"Agent time",pluck:a=>a.airTimeMs,color:"rgba(45, 212, 191, 0.85)",unit:"ms"},sessions:{label:"Sessions",pluck:a=>a.sessions,color:"rgba(94, 234, 212, 0.85)"},toolCalls:{label:"Tool calls",pluck:a=>a.toolCalls,color:"rgba(167, 139, 250, 0.85)"},turns:{label:"Turns",pluck:a=>a.turns,color:"rgba(251, 191, 36, 0.85)"},input:{label:"Input tokens",pluck:a=>a.tokens.input,color:"rgba(52, 211, 153, 0.85)"},output:{label:"Output tokens",pluck:a=>a.tokens.output,color:"rgba(248, 113, 113, 0.85)"},cacheRead:{label:"Cache read",pluck:a=>a.tokens.cacheRead,color:"rgba(129, 104, 224, 0.85)"}};a.s(["ActivityChart",0,function({buckets:a,defaultMetric:f="sessions",height:g=160}){let[h,i]=(0,c.useState)(f),[j,k]=(0,c.useState)(null),l=e[h],{bars:m,maxVal:n}=(0,c.useMemo)(()=>{let b=0;return{bars:a.map(a=>{let c=l.pluck(a);return c>b&&(b=c),{bucket:a,value:c}}),maxVal:b}},[a,l]);if(0===a.length)return(0,b.jsx)("div",{style:{padding:"32px 12px",color:"var(--af-text-tertiary)",fontSize:12,textAlign:"center"},children:"No activity yet."});let o=Math.max(3,Math.floor((600-2*m.length)/Math.max(1,m.length))),p=48+Math.max(m.length*(o+2),600)+8,q=g-10-22;return(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{display:"flex",gap:4,background:"var(--background)",borderRadius:7,padding:3,marginBottom:10},children:Object.keys(e).map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>i(a),style:{fontSize:11,padding:"5px 10px",border:"none",borderRadius:5,background:h===a?"var(--af-surface-elevated)":"transparent",color:h===a?"var(--af-text)":"var(--af-text-tertiary)",fontWeight:500},children:e[a].label},a))}),(0,b.jsxs)("div",{style:{position:"relative",overflowX:"auto"},children:[j&&(0,b.jsxs)("div",{style:{position:"absolute",left:j.x,top:0,transform:"translateX(-50%)",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:6,padding:"4px 8px",fontSize:11,color:"var(--af-text-secondary)",fontFamily:"var(--font-mono)",whiteSpace:"nowrap",pointerEvents:"none",zIndex:10,boxShadow:"0 2px 8px rgba(0,0,0,0.08)"},children:[j.bucket.date," ·"," ","ms"===l.unit?d(j.value):j.value.toLocaleString()]}),(0,b.jsxs)("svg",{width:p,height:g,style:{display:"block"},children:[(0,b.jsx)("g",{fontSize:10,fill:"var(--af-text-tertiary)",children:[0,.25,.5,.75,1].map(a=>{let c=10+(1-a)*q,e=n*a,f="ms"===l.unit?d(e):e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString();return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:48,x2:p-8,y1:c,y2:c,stroke:"var(--af-border-subtle)",strokeDasharray:0===a?void 0:"2 3"}),(0,b.jsx)("text",{x:42,y:c+3,textAnchor:"end",children:f})]},a)})}),m.map((a,c)=>{let d=n>0?a.value/n*q:0,e=48+c*(o+2),f=j?.bucket.date===a.bucket.date;return(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:e,y:10,width:o,height:q,fill:"transparent",onMouseEnter:()=>k({bucket:a.bucket,value:a.value,x:e+o/2}),onMouseLeave:()=>k(null)}),(0,b.jsx)("rect",{x:e,y:10+q-d,width:o,height:Math.max(.5,d),fill:f?"var(--af-accent)":l.color,rx:1.5*(o>=6),ry:1.5*(o>=6),style:{pointerEvents:"none"}})]},a.bucket.date)}),(0,b.jsx)("g",{fontSize:10,fill:"var(--af-text-tertiary)",children:m.map((a,c)=>{let d=a.bucket.date,e=0===c,f=c===m.length-1,h="01"===d.slice(-2),i=m.length>3&&m.length<=31&&c===Math.floor(m.length/2)&&!m.some(a=>"01"===a.bucket.date.slice(-2));if(!e&&!f&&!h&&!i)return null;let j=48+c*(o+2)+o/2,k=new Date(`${d}T00:00:00`).toLocaleDateString(void 0,{month:"short",day:"numeric"});return(0,b.jsx)("text",{x:e?48:f?p-8:j,y:g-6,textAnchor:e?"start":f?"end":"middle",children:k},d)})})]})]})]})}])},78338,a=>{"use strict";var b=a.i(51990),c=a.i(19804);let d=(0,a.i(5423).default)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);a.s(["MetricCard",0,function({label:a,value:e,sub:f,icon:g,tooltip:h}){let[i,j]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"af-card",style:{padding:"16px 18px",position:"relative"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:[g,(0,b.jsx)("span",{children:a}),h&&(0,b.jsx)("span",{style:{marginLeft:"auto",cursor:"help",display:"inline-flex",color:"var(--af-text-tertiary)",opacity:.5,transition:"opacity 0.12s"},onMouseEnter:()=>j(!0),onMouseLeave:()=>j(!1),onClick:()=>j(a=>!a),children:(0,b.jsx)(d,{size:12})})]}),(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,marginTop:8,letterSpacing:"-0.02em",lineHeight:1.1},children:e}),f&&(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-secondary)",marginTop:4},children:f}),i&&h&&(0,b.jsx)("div",{style:{position:"absolute",top:"calc(100% + 6px)",left:0,right:0,zIndex:50,background:"#0F172A",color:"#F1F5F9",borderRadius:8,padding:"10px 12px",fontSize:11,lineHeight:1.5,boxShadow:"0 6px 24px rgba(15,23,42,0.22)",pointerEvents:"none"},children:h.split("\n").map((a,c)=>(0,b.jsx)("div",{children:a},c))})]})}],78338)},40720,a=>{"use strict";var b=a.i(51990),c=a.i(7471),d=a.i(3444);let e=["rgba(45, 212, 191, 0.80)","rgba(167, 139, 250, 0.80)","rgba(248, 113, 113, 0.80)","rgba(52, 211, 153, 0.80)","rgba(251, 191, 36, 0.80)","rgba(236, 72, 153, 0.80)","rgba(34, 211, 238, 0.80)","rgba(168, 85, 247, 0.80)"];function f(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return e[Math.abs(b)%e.length]}function g(a){let b=new Date(a);return`${b.getHours().toString().padStart(2,"0")}:${b.getMinutes().toString().padStart(2,"0")}`}function h({sessions:a,rangeStart:c,rangeEnd:d,width:e=280}){let g=d-c;if(g<=0||0===a.length)return null;let i=18*a.length-2,j=a=>(a-c)/g*e;return(0,b.jsx)("svg",{width:e,height:i,style:{display:"block"},children:a.map((a,c)=>{let d=18*c,g=f(a.projectName);return(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:0,y:d,width:e,height:16,fill:"var(--af-border-subtle)",opacity:.25,rx:3}),a.segments.map((a,c)=>{let f=Math.max(0,j(a.startMs)),h=Math.max(Math.min(e,j(a.endMs))-f,2);return(0,b.jsx)("rect",{x:f,y:d+3,width:h,height:10,fill:g,rx:2},c)})]},a.id)})})}a.s(["ParallelRunsStrip",0,function({runs:a,sessions:e}){if(0===a.length)return(0,b.jsx)("div",{className:"af-empty",style:{padding:24,fontSize:12},children:"No parallel runs detected yet. Try running two sessions at once."});let i=new Map;for(let a of e)i.set(a.id,a);let j=[...a].sort((a,b)=>b.startMs-a.startMs).slice(0,10);return(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:j.map((a,e)=>{let j=a.endMs-a.startMs,k=a.startMs-18e5,l=a.endMs+18e5,m=[];for(let b of a.sessions){let a=i.get(b);if(!a)continue;let c=(a.activeSegments&&a.activeSegments.length>0?a.activeSegments:a.firstTimestamp&&a.lastTimestamp?[{startMs:Date.parse(a.firstTimestamp),endMs:Date.parse(a.lastTimestamp)}]:[]).map(a=>({startMs:Math.max(a.startMs,k),endMs:Math.min(a.endMs,l)})).filter(a=>a.endMs>a.startMs);0!==c.length&&m.push({id:a.id,projectName:a.projectName,segments:c,startMs:c[0].startMs,endMs:c[c.length-1].endMs,preview:a.firstUserPreview})}if(m.sort((a,b)=>a.startMs-b.startMs),0===m.length)return null;let n=1/0,o=-1/0;for(let a of m)for(let b of a.segments)b.startMs<n&&(n=b.startMs),b.endMs>o&&(o=b.endMs);return(0,b.jsxs)("div",{style:{border:"1px solid var(--af-border-subtle)",borderRadius:8,background:"var(--af-surface-hover)",overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",fontSize:11},children:[(0,b.jsx)("span",{style:{color:"var(--af-text-secondary)"},children:new Date(a.startMs).toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}),(0,b.jsxs)("span",{className:"af-tag af-tag-accent",style:{fontFamily:"var(--font-mono)",fontSize:10},children:["×",a.peak," parallel"]}),(0,b.jsxs)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginLeft:"auto"},children:[g(n),"–",g(o)," · ",(0,d.formatDuration)(j)]})]}),(0,b.jsx)("div",{style:{padding:"4px 12px 10px"},children:(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(80px, 140px) 1fr",gap:"0 10px",alignItems:"start"},children:[(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:m.map(a=>(0,b.jsxs)(c.default,{href:`/sessions/${a.id}`,style:{height:16,display:"flex",alignItems:"center",gap:4,fontSize:9.5,color:"var(--af-text-secondary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",textDecoration:"none"},title:a.preview||(0,d.prettyProjectName)(a.projectName),children:[(0,b.jsx)("span",{style:{width:6,height:6,borderRadius:2,background:f(a.projectName),flexShrink:0}}),(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,d.prettyProjectName)(a.projectName)})]},a.id))}),(0,b.jsx)(h,{sessions:m,rangeStart:n,rangeEnd:o})]})})]},e)})})}])}];
2
-
3
- //# sourceMappingURL=apps_web_components_033k_mm._.js.map
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33307,e=>{"use strict";var t=e.i(9735),r=e.i(7744);function a(e,t){if(e<=0||t<=0)return"var(--af-heatmap-0)";let r=Math.min(1,e/t),a=0;return r>.75?a=4:r>.5?a=3:r>.25?a=2:r>0&&(a=1),`var(--af-heatmap-${a})`}function n(e){let[t,r,a]=e.split("-").map(Number);return new Date(t,r-1,a)}function s(e){let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${a}`}function l(e){return{date:e,sessions:0,toolCalls:0,turns:0,airTimeMs:0,tokens:{input:0,output:0,cacheRead:0,cacheWrite:0},durationMs:0,peakParallelism:0}}e.s(["Heatmap",0,function({buckets:e,valueKey:i="sessions",cellSize:o=13,cellGap:d=3}){let[c,p]=(0,r.useState)(null),{weeks:u,max:h}=(0,r.useMemo)(()=>{if(0===e.length)return{weeks:[],max:0};let t=new Date(n(e[0].date));t.setDate(t.getDate()-t.getDay());let r=new Map(e.map(e=>[e.date,e])),a=[],o=[],d=new Date,c=n(e[e.length-1].date),p=c>d?c:d,u=0;for(let e=new Date(t);e<=p;e.setDate(e.getDate()+1)){let t=s(e),n=r.get(t)??l(t),d=n[i];d>u&&(u=d),o.push(n),7===o.length&&(a.push(o),o=[])}if(o.length>0){for(;o.length<7;)o.push(l(s(new Date)));a.push(o)}return{weeks:a,max:u}},[e,i]);if(0===e.length)return(0,t.jsx)("div",{style:{padding:"32px 12px",color:"var(--af-text-tertiary)",fontSize:12,textAlign:"center"},children:"No activity yet."});let x=u.length*(o+d)+24,f=7*(o+d)+18;return(0,t.jsxs)("div",{style:{position:"relative",overflowX:"auto"},children:[(0,t.jsxs)("svg",{width:x,height:f,style:{display:"block"},children:[(0,t.jsx)("g",{fontSize:9,fill:"var(--af-text-tertiary)",children:["Mon","Wed","Fri"].map((e,r)=>(0,t.jsx)("text",{x:0,y:18+(1+2*r)*(o+d)+o-3,children:e},e))}),(0,t.jsx)("g",{transform:"translate(24, 18)",children:u.map((e,r)=>e.map((e,n)=>{let s=e[i],l=a(s,h);return(0,t.jsx)("rect",{x:r*(o+d),y:n*(o+d),width:o,height:o,rx:2.5,ry:2.5,stroke:s>0?"rgba(255,255,255,0.04)":"transparent",onMouseEnter:t=>{let r=t.currentTarget.getBoundingClientRect();p({bucket:e,x:r.left+r.width/2,y:r.top-6})},onMouseLeave:()=>p(null),style:{cursor:s>0?"pointer":"default",fill:l}},`${r}-${n}`)}))})]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:6,fontSize:10,color:"var(--af-text-tertiary)",justifyContent:"flex-end"},children:[(0,t.jsx)("span",{children:"Less"}),[0,.25,.5,.75,1].map((e,r)=>(0,t.jsx)("span",{style:{width:11,height:11,borderRadius:2.5,background:a(Math.max(1,e*h),h),display:"inline-block"}},r)),(0,t.jsx)("span",{children:"More"})]}),c&&(0,t.jsxs)("div",{style:{position:"fixed",left:c.x,top:c.y,transform:"translate(-50%, -100%)",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:6,padding:"6px 10px",fontSize:11,color:"var(--af-text)",whiteSpace:"nowrap",pointerEvents:"none",zIndex:100,boxShadow:"0 4px 12px rgba(0,0,0,0.3)"},children:[(0,t.jsx)("div",{style:{fontWeight:600},children:c.bucket.date}),(0,t.jsxs)("div",{style:{color:"var(--af-text-secondary)"},children:[c.bucket.sessions," session",1===c.bucket.sessions?"":"s",c.bucket.toolCalls>0&&` \xb7 ${c.bucket.toolCalls} tool calls`,c.bucket.peakParallelism>1&&` \xb7 peak \xd7${c.bucket.peakParallelism}`]})]})]})}])},15781,e=>{"use strict";var t=e.i(9735),r=e.i(7744);function a(e){if(e<1e3)return`${Math.round(e)}ms`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60),a=t%60;if(r<60)return a?`${r}m ${a}s`:`${r}m`;let n=Math.floor(r/60),s=r%60;return s?`${n}h ${s}m`:`${n}h`}let n={airTime:{label:"Agent time",pluck:e=>e.airTimeMs,color:"rgba(45, 212, 191, 0.85)",unit:"ms"},sessions:{label:"Sessions",pluck:e=>e.sessions,color:"rgba(94, 234, 212, 0.85)"},toolCalls:{label:"Tool calls",pluck:e=>e.toolCalls,color:"rgba(167, 139, 250, 0.85)"},turns:{label:"Turns",pluck:e=>e.turns,color:"rgba(251, 191, 36, 0.85)"},input:{label:"Input tokens",pluck:e=>e.tokens.input,color:"rgba(52, 211, 153, 0.85)"},output:{label:"Output tokens",pluck:e=>e.tokens.output,color:"rgba(248, 113, 113, 0.85)"},cacheRead:{label:"Cache read",pluck:e=>e.tokens.cacheRead,color:"rgba(129, 104, 224, 0.85)"}};e.s(["ActivityChart",0,function({buckets:e,defaultMetric:s="sessions",height:l=160}){let[i,o]=(0,r.useState)(s),[d,c]=(0,r.useState)(null),p=n[i],{bars:u,maxVal:h}=(0,r.useMemo)(()=>{let t=0;return{bars:e.map(e=>{let r=p.pluck(e);return r>t&&(t=r),{bucket:e,value:r}}),maxVal:t}},[e,p]);if(0===e.length)return(0,t.jsx)("div",{style:{padding:"32px 12px",color:"var(--af-text-tertiary)",fontSize:12,textAlign:"center"},children:"No activity yet."});let x=Math.max(3,Math.floor((600-2*u.length)/Math.max(1,u.length))),f=48+Math.max(u.length*(x+2),600)+8,g=l-10-22;return(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:{display:"flex",gap:4,background:"var(--background)",borderRadius:7,padding:3,marginBottom:10},children:Object.keys(n).map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>o(e),style:{fontSize:11,padding:"5px 10px",border:"none",borderRadius:5,background:i===e?"var(--af-surface-elevated)":"transparent",color:i===e?"var(--af-text)":"var(--af-text-tertiary)",fontWeight:500},children:n[e].label},e))}),(0,t.jsxs)("div",{style:{position:"relative",overflowX:"auto"},children:[d&&(0,t.jsxs)("div",{style:{position:"absolute",left:d.x,top:0,transform:"translateX(-50%)",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:6,padding:"4px 8px",fontSize:11,color:"var(--af-text-secondary)",fontFamily:"var(--font-mono)",whiteSpace:"nowrap",pointerEvents:"none",zIndex:10,boxShadow:"0 2px 8px rgba(0,0,0,0.08)"},children:[d.bucket.date," ·"," ","ms"===p.unit?a(d.value):d.value.toLocaleString()]}),(0,t.jsxs)("svg",{width:f,height:l,style:{display:"block"},children:[(0,t.jsx)("g",{fontSize:10,fill:"var(--af-text-tertiary)",children:[0,.25,.5,.75,1].map(e=>{let r=10+(1-e)*g,n=h*e,s="ms"===p.unit?a(n):n>=1e6?`${(n/1e6).toFixed(1)}M`:n>=1e3?`${(n/1e3).toFixed(1)}k`:Math.round(n).toString();return(0,t.jsxs)("g",{children:[(0,t.jsx)("line",{x1:48,x2:f-8,y1:r,y2:r,stroke:"var(--af-border-subtle)",strokeDasharray:0===e?void 0:"2 3"}),(0,t.jsx)("text",{x:42,y:r+3,textAnchor:"end",children:s})]},e)})}),u.map((e,r)=>{let a=h>0?e.value/h*g:0,n=48+r*(x+2),s=d?.bucket.date===e.bucket.date;return(0,t.jsxs)("g",{children:[(0,t.jsx)("rect",{x:n,y:10,width:x,height:g,fill:"transparent",onMouseEnter:()=>c({bucket:e.bucket,value:e.value,x:n+x/2}),onMouseLeave:()=>c(null)}),(0,t.jsx)("rect",{x:n,y:10+g-a,width:x,height:Math.max(.5,a),fill:s?"var(--af-accent)":p.color,rx:1.5*(x>=6),ry:1.5*(x>=6),style:{pointerEvents:"none"}})]},e.bucket.date)}),(0,t.jsx)("g",{fontSize:10,fill:"var(--af-text-tertiary)",children:u.map((e,r)=>{let a=e.bucket.date,n=0===r,s=r===u.length-1,i="01"===a.slice(-2),o=u.length>3&&u.length<=31&&r===Math.floor(u.length/2)&&!u.some(e=>"01"===e.bucket.date.slice(-2));if(!n&&!s&&!i&&!o)return null;let d=48+r*(x+2)+x/2,c=new Date(`${a}T00:00:00`).toLocaleDateString(void 0,{month:"short",day:"numeric"});return(0,t.jsx)("text",{x:n?48:s?f-8:d,y:l-6,textAnchor:n?"start":s?"end":"middle",children:c},a)})})]})]})]})}])},74829,e=>{"use strict";var t=e.i(9735),r=e.i(7744);let a=(0,e.i(77379).default)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);e.s(["MetricCard",0,function({label:e,value:n,sub:s,icon:l,tooltip:i}){let[o,d]=(0,r.useState)(!1);return(0,t.jsxs)("div",{className:"af-card",style:{padding:"16px 18px",position:"relative"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:[l,(0,t.jsx)("span",{children:e}),i&&(0,t.jsx)("span",{style:{marginLeft:"auto",cursor:"help",display:"inline-flex",color:"var(--af-text-tertiary)",opacity:.5,transition:"opacity 0.12s"},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:()=>d(e=>!e),children:(0,t.jsx)(a,{size:12})})]}),(0,t.jsx)("div",{style:{fontSize:22,fontWeight:700,marginTop:8,letterSpacing:"-0.02em",lineHeight:1.1},children:n}),s&&(0,t.jsx)("div",{style:{fontSize:11,color:"var(--af-text-secondary)",marginTop:4},children:s}),o&&i&&(0,t.jsx)("div",{style:{position:"absolute",top:"calc(100% + 6px)",left:0,right:0,zIndex:50,background:"#0F172A",color:"#F1F5F9",borderRadius:8,padding:"10px 12px",fontSize:11,lineHeight:1.5,boxShadow:"0 6px 24px rgba(15,23,42,0.22)",pointerEvents:"none"},children:i.split("\n").map((e,r)=>(0,t.jsx)("div",{children:e},r))})]})}],74829)},15426,e=>{"use strict";var t=e.i(9735),r=e.i(70682),a=e.i(56324);let n=["rgba(45, 212, 191, 0.80)","rgba(167, 139, 250, 0.80)","rgba(248, 113, 113, 0.80)","rgba(52, 211, 153, 0.80)","rgba(251, 191, 36, 0.80)","rgba(236, 72, 153, 0.80)","rgba(34, 211, 238, 0.80)","rgba(168, 85, 247, 0.80)"];function s(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return n[Math.abs(t)%n.length]}function l(e){let t=new Date(e);return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}function i({sessions:e,rangeStart:r,rangeEnd:a,width:n=280}){let l=a-r;if(l<=0||0===e.length)return null;let o=18*e.length-2,d=e=>(e-r)/l*n;return(0,t.jsx)("svg",{width:n,height:o,style:{display:"block"},children:e.map((e,r)=>{let a=18*r,l=s(e.projectName);return(0,t.jsxs)("g",{children:[(0,t.jsx)("rect",{x:0,y:a,width:n,height:16,fill:"var(--af-border-subtle)",opacity:.25,rx:3}),e.segments.map((e,r)=>{let s=Math.max(0,d(e.startMs)),i=Math.max(Math.min(n,d(e.endMs))-s,2);return(0,t.jsx)("rect",{x:s,y:a+3,width:i,height:10,fill:l,rx:2},r)})]},e.id)})})}e.s(["ParallelRunsStrip",0,function({runs:e,sessions:n}){if(0===e.length)return(0,t.jsx)("div",{className:"af-empty",style:{padding:24,fontSize:12},children:"No parallel runs detected yet. Try running two sessions at once."});let o=new Map;for(let e of n)o.set(e.id,e);let d=[...e].sort((e,t)=>t.startMs-e.startMs).slice(0,10);return(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:d.map((e,n)=>{let d=e.endMs-e.startMs,c=e.startMs-18e5,p=e.endMs+18e5,u=[];for(let t of e.sessions){let e=o.get(t);if(!e)continue;let r=(e.activeSegments&&e.activeSegments.length>0?e.activeSegments:e.firstTimestamp&&e.lastTimestamp?[{startMs:Date.parse(e.firstTimestamp),endMs:Date.parse(e.lastTimestamp)}]:[]).map(e=>({startMs:Math.max(e.startMs,c),endMs:Math.min(e.endMs,p)})).filter(e=>e.endMs>e.startMs);0!==r.length&&u.push({id:e.id,projectName:e.projectName,segments:r,startMs:r[0].startMs,endMs:r[r.length-1].endMs,preview:e.firstUserPreview})}if(u.sort((e,t)=>e.startMs-t.startMs),0===u.length)return null;let h=1/0,x=-1/0;for(let e of u)for(let t of e.segments)t.startMs<h&&(h=t.startMs),t.endMs>x&&(x=t.endMs);return(0,t.jsxs)("div",{style:{border:"1px solid var(--af-border-subtle)",borderRadius:8,background:"var(--af-surface-hover)",overflow:"hidden"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",fontSize:11},children:[(0,t.jsx)("span",{style:{color:"var(--af-text-secondary)"},children:new Date(e.startMs).toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}),(0,t.jsxs)("span",{className:"af-tag af-tag-accent",style:{fontFamily:"var(--font-mono)",fontSize:10},children:["×",e.peak," parallel"]}),(0,t.jsxs)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginLeft:"auto"},children:[l(h),"–",l(x)," · ",(0,a.formatDuration)(d)]})]}),(0,t.jsx)("div",{style:{padding:"4px 12px 10px"},children:(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(80px, 140px) 1fr",gap:"0 10px",alignItems:"start"},children:[(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:u.map(e=>(0,t.jsxs)(r.default,{href:`/sessions/${e.id}`,style:{height:16,display:"flex",alignItems:"center",gap:4,fontSize:9.5,color:"var(--af-text-secondary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",textDecoration:"none"},title:e.preview||(0,a.prettyProjectName)(e.projectName),children:[(0,t.jsx)("span",{style:{width:6,height:6,borderRadius:2,background:s(e.projectName),flexShrink:0}}),(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,a.prettyProjectName)(e.projectName)})]},e.id))}),(0,t.jsx)(i,{sessions:u,rangeStart:h,rangeEnd:x})]})})]},n)})})}])}]);
@@ -1,6 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16047,96263,e=>{"use strict";var t=e.i(77379);let s=(0,t.default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",0,s],16047);let i=(0,t.default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",0,i],96263)},36451,e=>{"use strict";let t=(0,e.i(77379).default)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",0,t],36451)},52535,e=>{"use strict";var t=e.i(9735),s=e.i(7744);e.s(["LiveBadge",0,function({mtimeIso:e,size:i="sm"}){let[l,a]=(0,s.useState)(()=>Date.now());if((0,s.useEffect)(()=>{let e=setInterval(()=>a(Date.now()),1e4);return()=>clearInterval(e)},[]),!e)return null;let n=Date.parse(e);if(Number.isNaN(n)||l-n>45e3)return null;let r="md"===i?8:6;return(0,t.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:"md"===i?10:9,fontWeight:700,letterSpacing:"0.04em",padding:"md"===i?"3px 9px":"2px 7px",borderRadius:100,background:"rgba(239, 68, 68, 0.12)",color:"#ef4444",textTransform:"uppercase"},title:`Last updated ${new Date(n).toLocaleTimeString()}`,children:[(0,t.jsx)("span",{style:{display:"inline-block",width:r,height:r,borderRadius:"50%",background:"#ef4444",animation:"cs-live-pulse 1.6s ease-in-out infinite"}}),"LIVE",(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
- `})]})}])},50881,e=>{"use strict";let t=(0,e.i(77379).default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);e.s(["ArrowDown",0,t],50881)},31501,e=>{"use strict";let t=(0,e.i(77379).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],31501)},84913,e=>{"use strict";let t=(0,e.i(77379).default)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);e.s(["Wrench",0,t],84913)},98572,e=>{"use strict";let t=/gh\s+pr\s+create\b/i,s=/#(\d+)/,i=/--title\s+["']([^"']+)["']/;e.s(["canonicalProjectName",0,function(e){let t=e.lastIndexOf("/.worktrees/");return t>=0?e.slice(0,t):e},"detectPrMarkers",0,function(e){let l=[],a=e.durationMs??0;for(let n of e.events){if("tool-call"!==n.role||"Bash"!==n.toolName)continue;let r=n.blocks.find(e=>e&&"type"in e&&"tool_use"===e.type);if(!r||"tool_use"!==r.type)continue;let o=r.input,c="string"==typeof o?.command?o.command:"";if(!t.test(c))continue;let u=c.match(i),d=c.match(s);l.push({sessionId:e.id,timestamp:n.timestamp??e.firstTimestamp??"",tOffsetMs:n.tOffsetMs,positionInSession:a>0&&void 0!==n.tOffsetMs?Math.min(1,Math.max(0,n.tOffsetMs/a)):void 0,command:c.slice(0,300),prNumber:d?Number(d[1]):void 0,title:u?.[1]})}return l}])}]);