fleetlens 0.2.9 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/apps/web/.next/BUILD_ID +1 -1
- package/app/apps/web/.next/app-path-routes-manifest.json +9 -0
- package/app/apps/web/.next/build-manifest.json +6 -6
- package/app/apps/web/.next/prerender-manifest.json +3 -3
- package/app/apps/web/.next/routes-manifest.json +62 -0
- package/app/apps/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/app/apps/web/.next/server/app/_global-error.html +1 -1
- package/app/apps/web/.next/server/app/_global-error.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/app/apps/web/.next/server/app/_not-found/page.js +1 -1
- package/app/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/api/ask/route.js +3 -2
- package/app/apps/web/.next/server/app/api/ask/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/events/route.js +1 -0
- package/app/apps/web/.next/server/app/api/events/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/insights/months-index/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/insights/months-index/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/insights/months-index/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/insights/months-index/route.js +7 -0
- package/app/apps/web/.next/server/app/api/insights/months-index/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/insights/months-index/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/insights/months-index/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/insights/pdf/[key]/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/insights/pdf/[key]/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/insights/pdf/[key]/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/insights/pdf/[key]/route.js +6 -0
- package/app/apps/web/.next/server/app/api/insights/pdf/[key]/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/insights/pdf/[key]/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/insights/pdf/[key]/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/insights/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/insights/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/insights/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/insights/route.js +8 -0
- package/app/apps/web/.next/server/app/api/insights/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/insights/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/insights/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route.js +6 -0
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/insights/saved/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/insights/saved/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/insights/saved/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/insights/saved/route.js +6 -0
- package/app/apps/web/.next/server/app/api/insights/saved/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/insights/saved/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/insights/saved/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route.js +7 -0
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/insights/[key]/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/insights/[key]/page/build-manifest.json +17 -0
- package/app/apps/web/.next/server/app/insights/[key]/page/next-font-manifest.json +6 -0
- package/app/apps/web/.next/server/app/insights/[key]/page/react-loadable-manifest.json +1 -0
- package/app/apps/web/.next/server/app/insights/[key]/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/insights/[key]/page.js +16 -0
- package/app/apps/web/.next/server/app/insights/[key]/page.js.map +5 -0
- package/app/apps/web/.next/server/app/insights/[key]/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/insights/[key]/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/insights/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/insights/page/build-manifest.json +17 -0
- package/app/apps/web/.next/server/app/insights/page/next-font-manifest.json +6 -0
- package/app/apps/web/.next/server/app/insights/page/react-loadable-manifest.json +1 -0
- package/app/apps/web/.next/server/app/insights/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/insights/page.js +16 -0
- package/app/apps/web/.next/server/app/insights/page.js.map +5 -0
- package/app/apps/web/.next/server/app/insights/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/insights/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/insights/print/[key]/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/insights/print/[key]/page/build-manifest.json +17 -0
- package/app/apps/web/.next/server/app/insights/print/[key]/page/next-font-manifest.json +6 -0
- package/app/apps/web/.next/server/app/insights/print/[key]/page/react-loadable-manifest.json +1 -0
- package/app/apps/web/.next/server/app/insights/print/[key]/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/insights/print/[key]/page.js +16 -0
- package/app/apps/web/.next/server/app/insights/print/[key]/page.js.map +5 -0
- package/app/apps/web/.next/server/app/insights/print/[key]/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/insights/print/[key]/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/page/build-manifest.json +3 -3
- package/app/apps/web/.next/server/app/page.js +3 -3
- package/app/apps/web/.next/server/app/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/parallelism/page/build-manifest.json +3 -3
- package/app/apps/web/.next/server/app/parallelism/page.js +1 -1
- package/app/apps/web/.next/server/app/parallelism/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/projects/[slug]/page/build-manifest.json +3 -3
- package/app/apps/web/.next/server/app/projects/[slug]/page.js +2 -3
- package/app/apps/web/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/projects/page/build-manifest.json +3 -3
- package/app/apps/web/.next/server/app/projects/page.js +1 -1
- package/app/apps/web/.next/server/app/projects/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/sessions/[id]/page/build-manifest.json +3 -3
- package/app/apps/web/.next/server/app/sessions/[id]/page.js +2 -2
- package/app/apps/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/sessions/page/build-manifest.json +3 -3
- package/app/apps/web/.next/server/app/sessions/page.js +1 -1
- package/app/apps/web/.next/server/app/sessions/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/usage/page/build-manifest.json +3 -3
- package/app/apps/web/.next/server/app/usage/page.js +1 -1
- package/app/apps/web/.next/server/app/usage/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/usage/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app-paths-manifest.json +9 -0
- package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_insights_months-index_route_actions_0~h~zci.js +3 -0
- package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_insights_saved_[key]_route_actions_0a5j9yw.js +3 -0
- package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_insights_weeks-index_route_actions_0hh-1c7.js +3 -0
- package/app/apps/web/.next/server/chunks/{[externals]__0rv9ct5._.js → [externals]__0_xztrf._.js} +2 -2
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0.hmj0z._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__01h_g-p._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0nh-z10._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0op9af~._.js +1 -1
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0ri7q~r._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0rr1~~x._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0s0gv.0._.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_insights_pdf_[key]_route_actions_0lu-lnx.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_insights_route_actions_0h8l5lz.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_insights_saved_route_actions_13rlblw.js +3 -0
- package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_00t2xj6.js +68 -0
- package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0sgyieh._.js → node_modules_next_dist_esm_build_templates_app-route_0ck.78s.js} +5 -5
- package/app/apps/web/.next/server/chunks/packages_parser_dist_fs_0bc7ptm.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__00z7zlm._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__08.d5ia._.js +12 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0b323~k._.js +8 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0euu8sa._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0gio_ck._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0gx-4qa._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0w52fbc._.js +3 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0z45d0g._.js +49 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__13itnvx._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/_09n75_5._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/_0r~__0v._.js +12 -0
- package/app/apps/web/.next/server/chunks/ssr/_0xies90._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_insights_[key]_page_actions_0_z2~e_.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_insights_page_actions_0zjdm~n.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_insights_print_[key]_page_actions_0a853fw.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_06j3c.0._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_insight-report_tsx_13q2a-c._.js +12 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_insights-view_tsx_11730ta._.js +6 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0-lmm4p._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0nqz8dw._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_0t-hj0x._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vz7_px.js +4 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10cdrh2.js +4 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12n1lw_.js +4 -0
- package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_0-jvt~a._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_analytics_0k4dgst.js +1 -1
- package/app/apps/web/.next/server/functions-config-manifest.json +7 -1
- package/app/apps/web/.next/server/middleware-build-manifest.js +6 -6
- package/app/apps/web/.next/server/pages/500.html +1 -1
- package/app/apps/web/.next/server/server-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/app/apps/web/.next/static/chunks/03.mv4y4.w-vb.js +6 -0
- package/app/apps/web/.next/static/chunks/03_7xtpi9sv4g.js +4 -0
- package/app/apps/web/.next/static/chunks/03g5dw5eskotd.js +6 -0
- package/app/apps/web/.next/static/chunks/063oimt30jeo9.js +10 -0
- package/app/apps/web/.next/static/chunks/08c1pcrocqq5s.js +6 -0
- package/app/apps/web/.next/static/chunks/0e-wrhqh4h3r5.js +2 -0
- package/app/apps/web/.next/static/chunks/0fc6dk2qtokwh.js +1 -0
- package/app/apps/web/.next/static/chunks/0i7er7_bfab36.js +10 -0
- package/app/apps/web/.next/static/chunks/0ipytyi01h0ta.js +1 -0
- package/app/apps/web/.next/static/chunks/137uw2-qbro07.js +31 -0
- package/app/apps/web/.next/static/chunks/{turbopack-17n9y8y0h4q9f.js → turbopack-169w-1._23ra_.js} +1 -1
- package/app/apps/web/app/api/insights/months-index/route.ts +80 -0
- package/app/apps/web/app/api/insights/pdf/[key]/route.ts +45 -0
- package/app/apps/web/app/api/insights/route.ts +508 -0
- package/app/apps/web/app/api/insights/saved/[key]/route.ts +11 -0
- package/app/apps/web/app/api/insights/saved/route.ts +9 -0
- package/app/apps/web/app/api/insights/weeks-index/route.ts +95 -0
- package/app/apps/web/app/insights/[key]/page.tsx +59 -0
- package/app/apps/web/app/insights/page.tsx +7 -0
- package/app/apps/web/app/insights/print/[key]/page.tsx +73 -0
- package/app/apps/web/app/layout.tsx +2 -0
- package/app/apps/web/app/projects/[slug]/page.tsx +2 -0
- package/app/apps/web/app/sessions/[id]/page.tsx +27 -1
- package/app/apps/web/app/sessions/[id]/session-view.tsx +372 -793
- package/app/apps/web/app/sessions/[id]/team-tab/adapter.ts +633 -0
- package/app/apps/web/app/sessions/[id]/team-tab/format.ts +20 -0
- package/app/apps/web/app/sessions/[id]/team-tab/team-minimap.tsx +682 -0
- package/app/apps/web/app/sessions/[id]/team-tab/team-tab-client.tsx +78 -0
- package/app/apps/web/app/sessions/[id]/team-tab/team-table.tsx +796 -0
- package/app/apps/web/app/sessions/[id]/team-tab/turn-drawer.tsx +805 -0
- package/app/apps/web/app/sessions/[id]/tool-cards.tsx +461 -0
- package/app/apps/web/app/sessions/[id]/turn-steps.tsx +306 -0
- package/app/apps/web/app/sessions/sessions-grid.tsx +36 -5
- package/app/apps/web/components/insight-report.tsx +1031 -0
- package/app/apps/web/components/insights-view.tsx +647 -0
- package/app/apps/web/components/live-refresher.tsx +11 -2
- package/app/apps/web/components/live-sessions-widget.tsx +20 -6
- package/app/apps/web/components/sidebar.tsx +8 -0
- package/app/apps/web/components/team-badge.tsx +90 -0
- package/app/apps/web/eslint.config.mjs +2 -0
- package/app/apps/web/lib/ai/chrome-pdf.ts +64 -0
- package/app/apps/web/lib/ai/insights-prompt.ts +71 -0
- package/app/apps/web/lib/ai/saved-reports.ts +83 -0
- package/app/apps/web/lib/date-range.ts +11 -2
- package/app/apps/web/lib/use-live-events.ts +7 -2
- package/app/apps/web/package.json +3 -2
- package/app/apps/web/tsconfig.tsbuildinfo +1 -1
- package/dist/daemon-worker.js +2765 -11
- package/dist/index.js +3047 -253
- package/package.json +5 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__08cr2u9._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0b..h_8._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0cdd~8n._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ms7h0~._.js +0 -8
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0~a~v00._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/_0zv~jv-._.js +0 -12
- package/app/apps/web/.next/server/chunks/ssr/_12dtryh._.js +0 -12
- package/app/apps/web/.next/server/chunks/ssr/node_modules_0i2xw~e._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0.knjn.._.js +0 -3
- package/app/apps/web/.next/static/chunks/0257pdz1-imal.js +0 -2
- package/app/apps/web/.next/static/chunks/03fw7f2obcvq~.js +0 -6
- package/app/apps/web/.next/static/chunks/07oyxajlp3dvb.js +0 -6
- package/app/apps/web/.next/static/chunks/0a24elrqoqqep.js +0 -10
- package/app/apps/web/.next/static/chunks/0i4zodv86~~~i.js +0 -1
- package/app/apps/web/.next/static/chunks/0qmh881w772ef.js +0 -31
- package/app/apps/web/.next/static/chunks/0rbm60-qyshdm.js +0 -6
- package/app/apps/web/.next/static/chunks/0wdga7zbwvg70.js +0 -1
- /package/app/apps/web/.next/static/{2rEsiJssG30QsuNT0Lp9S → G_4ofKI9v9ARC_lb9JILZ}/_buildManifest.js +0 -0
- /package/app/apps/web/.next/static/{2rEsiJssG30QsuNT0Lp9S → G_4ofKI9v9ARC_lb9JILZ}/_clientMiddlewareManifest.js +0 -0
- /package/app/apps/web/.next/static/{2rEsiJssG30QsuNT0Lp9S → G_4ofKI9v9ARC_lb9JILZ}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
module.exports=[82779,a=>{"use strict";var b=a.i(71306),c=a.i(79847),d=a.i(9185),e=a.i(72842),f=a.i(54897),g=a.i(56157),h=a.i(94331),i=a.i(15988),j=a.i(25766),k=a.i(29725),l=a.i(5785),m=a.i(74793),n=a.i(85826),o=a.i(21565),p=a.i(65911),q=a.i(25128),r=a.i(40781);a.i(69411);var s=a.i(63081),t=a.i(62837),u=a.i(34607),v=a.i(96338),w=a.i(50642),x=a.i(32242),y=a.i(88530),z=a.i(93695),A=a.i(8583),B=a.i(38534);a.i(70408);var C=a.i(22922),D=a.i(78294),E=a.i(16625),F=a.i(88648),G=a.i(51914),H=a.i(25466);let I=["",{children:["insights",{children:["[key]",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(93896),"[project]/apps/web/app/insights/[key]/page.tsx"]},[]]},{metadata:{}},["print"]]},{metadata:{}},[]]},{layout:[()=>a.r(44665),"[project]/apps/web/app/layout.tsx"],"not-found":[()=>a.r(43619),"[project]/node_modules/next/dist/client/components/builtin/not-found.js"],forbidden:[()=>a.r(13718),"[project]/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>a.r(18198),"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js"],"global-error":[()=>a.r(62212),"[project]/node_modules/next/dist/client/components/builtin/global-error.js"]},[]],J={require:a.r.bind(a),loadChunk:a.l.bind(a)},K=new b.AppPageRouteModule({definition:{kind:c.RouteKind.APP_PAGE,page:"/insights/[key]/page",pathname:"/insights/[key]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function L(b,M,N){var O,P,Q,R,S;N.requestMeta&&(0,f.setRequestMeta)(b,N.requestMeta),K.isDev&&(0,f.addRequestMeta)(b,"devRequestTimingInternalsEnd",process.hrtime.bigint());let T=!!(0,f.getRequestMeta)(b,"minimalMode"),U="/insights/[key]/page";U=U.replace(/\/index$/,"")||"/";let V=await K.prepare(b,M,{srcPage:U,multiZoneDraftMode:!1});if(!V)return M.statusCode=400,M.end("Bad Request"),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;let{buildId:W,query:X,params:Y,pageIsDynamic:Z,buildManifest:$,nextFontManifest:_,reactLoadableManifest:aa,serverActionsManifest:ab,clientReferenceManifest:ac,subresourceIntegrityManifest:ad,prerenderManifest:ae,isDraftMode:af,resolvedPathname:ag,revalidateOnlyGenerated:ah,routerServerContext:ai,nextConfig:aj,parsedUrl:ak,interceptionRoutePatterns:al,deploymentId:am,clientAssetToken:an}=V,ao=(0,o.normalizeAppPath)(U),{isOnDemandRevalidate:ap}=V,aq=aj.experimental.ppr&&!aj.cacheComponents&&(0,G.isInterceptionRouteAppPath)(ag)?null:K.match(ag,ae),ar=(null==aq?void 0:aq.route)??null,as=!!ae.routes[ag],at=b.headers["user-agent"]||"",au=(0,r.getBotType)(at),av=(0,n.isHtmlBotRequest)(b),aw=(0,f.getRequestMeta)(b,"isPrefetchRSCRequest")??"1"===b.headers[q.NEXT_ROUTER_PREFETCH_HEADER],ax=(0,f.getRequestMeta)(b,"isRSCRequest")??!!b.headers[q.RSC_HEADER],ay=(0,p.getIsPossibleServerAction)(b),az=(0,k.checkIsAppPPREnabled)(aj.experimental.ppr),aA=b.headers[v.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,f.getRequestMeta)(b,"postponed")&&T&&az&&ay&&aA&&"string"==typeof aA){let c=parseInt(aA,10),{maxPostponedStateSize:d,maxPostponedStateSizeBytes:e}=(0,B.getMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize);if(!isNaN(c)&&c>0){if(c>e)return M.statusCode=413,M.end((0,B.getPostponedStateExceededErrorMessage)(d)),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;let g="1 MB",h=(null==(S=aj.experimental.serverActions)?void 0:S.bodySizeLimit)??g,i=c+(h!==g?a.r(14465).parse(h):1048576),j=await (0,B.readBodyWithSizeLimit)(b,i);if(null===j)return M.statusCode=413,M.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;if(j.length>=c){let a=j.subarray(0,c).toString("utf8");(0,f.addRequestMeta)(b,"postponed",a);let d=j.subarray(c);(0,f.addRequestMeta)(b,"actionBody",d)}else throw Object.defineProperty(Error(`invariant: expected ${c} bytes of postponed state but only received ${j.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,f.getRequestMeta)(b,"postponed")&&az&&"1"===b.headers[v.NEXT_RESUME_HEADER]&&"POST"===b.method){let{maxPostponedStateSize:a,maxPostponedStateSizeBytes:c}=(0,B.getMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize),d=await (0,B.readBodyWithSizeLimit)(b,c);if(null===d)return M.statusCode=413,M.end((0,B.getPostponedStateExceededErrorMessage)(a)),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;let e=d.toString("utf8");(0,f.addRequestMeta)(b,"postponed",e)}let aB=!0===K.isDev||!0===aj.experimental.exposeTestingApiInProductionBuild,aC=aB&&("1"===b.headers[q.NEXT_INSTANT_PREFETCH_HEADER]||void 0===b.headers[q.RSC_HEADER]&&"string"==typeof b.headers.cookie&&b.headers.cookie.includes(q.NEXT_INSTANT_TEST_COOKIE+"=")),aD=(az||aC)&&((null==(O=ae.routes[ao]??ae.dynamicRoutes[ao])?void 0:O.renderingMode)==="PARTIALLY_STATIC"||aC&&(aB||(null==ai?void 0:ai.experimentalTestProxy)===!0)),aE=aC&&aD,aF=aE&&!0===K.isDev,aG=!1,aH=aD?(0,f.getRequestMeta)(b,"postponed"):void 0,aI=null==(P=ae.routes[ag])?void 0:P.prefetchDataRoute,aJ=aD&&ax&&!aw&&!aI;T&&(aJ=aJ&&!!aH);let aK=(0,f.getRequestMeta)(b,"segmentPrefetchRSCRequest"),aL=(!au||!aD)&&(!at||(0,n.shouldServeStreamingMetadata)(at,aj.htmlLimitedBots)),aM=!!((ar||as||ae.routes[ao])&&!(au&&aD)),aN=aD&&!0===aj.cacheComponents,aO=!0===K.isDev||!aM||"string"==typeof aH||(aN&&(0,f.getRequestMeta)(b,"onCacheEntryV2")?aJ&&!T:aJ),aP=!!au&&aD,aQ=(null==ar?void 0:ar.remainingPrerenderableParams)??[],aR=(null==ar?void 0:ar.fallback)===null&&((null==(Q=ar.fallbackRootParams)?void 0:Q.length)??0)>0,aS=null;if(!af&&aM&&!aO&&!ay&&!aH&&!aJ){let a=aq?"string"==typeof(null==ar?void 0:ar.fallback)?ar.fallback:aq.source:null;if(!0===aj.experimental.partialFallbacks&&a&&(null==ar?void 0:ar.fallbackRouteParams)&&!aR){if(aQ.length>0){let b,c=(b=new Map(aQ.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,H.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==Y?void 0:Y[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace(function(a){let{repeat:b,optional:c}=(0,H.getParamProperties)(a.paramType);return c?`[[...${a.paramName}]]`:b?`[...${a.paramName}]`:`[${a.paramName}]`}(d),f)}).join("/")||"/");aS=c!==a?c:null}}else aS=ag}let aT=aS;!aT&&(K.isDev||aM&&Z&&(null==ar?void 0:ar.fallbackRouteParams)&&!ay)&&(aT=ag),K.isDev||af||!aM||!ax||aJ||(0,i.stripFlightHeaders)(b.headers);let aU={...C,tree:I,handler:L,routeModule:K,__next_app__:J};ab&&ac&&(0,m.setManifestsSingleton)({page:U,clientReferenceManifest:ac,serverActionsManifest:ab});let aV=b.method||"GET",aW=(0,e.getTracer)(),aX=aW.getActiveScopeSpan(),aY=!!(null==ai?void 0:ai.isWrappedByNextServer),aZ=!0===aj.experimental.partialFallbacks&&aQ.length>0?(null==ar||null==(R=ar.fallbackRouteParams)?void 0:R.filter(a=>!aQ.some(b=>b.paramName===a.paramName)))??[]:[],a$=async()=>((null==ai?void 0:ai.render404)?await ai.render404(b,M,ak,!1):M.end("This page could not be found"),null);try{let a,d=K.getVaryHeader(ag,al);M.setHeader("Vary",d);let i=async(c,d)=>{let e=new j.NodeNextRequest(b),f=new j.NodeNextResponse(M);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":M.statusCode,"next.rsc":!1});let b=aW.getRootSpanAttributes();if(!b)return;if(b.get("next.span_type")!==g.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${b.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=b.get("next.route");if(d){let b=`${aV} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":b}),c.updateName(b),a&&a!==c&&(a.setAttribute("http.route",d),a.updateName(b))}else c.updateName(`${aV} ${U}`)})},k=(0,f.getRequestMeta)(b,"incrementalCache")||await K.getIncrementalCache(b,aj,ae,T);null==k||k.resetRequestCache(),globalThis.__incrementalCache=k;let m=async({span:a,postponed:c,fallbackRouteParams:d,forceStaticRender:e})=>{let g={query:X,params:Y,page:ao,sharedContext:{buildId:W,deploymentId:am,clientAssetToken:an},serverComponentsHmrCache:(0,f.getRequestMeta)(b,"serverComponentsHmrCache"),fallbackRouteParams:d,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aU,Component:(0,h.interopDefault)(aU),params:Y,routeModule:K,page:U,postponed:c,shouldWaitOnAllReady:aP,serveStreamingMetadata:aL,supportsDynamicResponse:"string"==typeof c||aO,buildManifest:$,nextFontManifest:_,reactLoadableManifest:aa,subresourceIntegrityManifest:ad,setCacheStatus:null==ai?void 0:ai.setCacheStatus,setIsrStatus:null==ai?void 0:ai.setIsrStatus,setReactDebugChannel:null==ai?void 0:ai.setReactDebugChannel,sendErrorsToBrowser:null==ai?void 0:ai.sendErrorsToBrowser,dir:require("path").join(process.cwd(),K.relativeProjectDir),isDraftMode:af,botType:au,isOnDemandRevalidate:ap,isPossibleServerAction:ay,assetPrefix:aj.assetPrefix,nextConfigOutput:aj.output,crossOrigin:aj.crossOrigin,trailingSlash:aj.trailingSlash,images:aj.images,previewProps:ae.preview,enableTainting:aj.experimental.taint,htmlLimitedBots:aj.htmlLimitedBots,reactMaxHeadersLength:aj.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:k,cacheLifeProfiles:aj.cacheLife,basePath:aj.basePath,serverActions:aj.experimental.serverActions,logServerFunctions:"object"==typeof aj.logging&&!!aj.logging.serverFunctions,...aE||aF||aG?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aF}:{},cacheComponents:!!aj.cacheComponents,experimental:{isRoutePPREnabled:aD,expireTime:aj.expireTime,staleTimes:aj.experimental.staleTimes,dynamicOnHover:!!aj.experimental.dynamicOnHover,optimisticRouting:!!aj.experimental.optimisticRouting,inlineCss:!!aj.experimental.inlineCss,prefetchInlining:aj.experimental.prefetchInlining??!1,authInterrupts:!!aj.experimental.authInterrupts,cachedNavigations:!!aj.experimental.cachedNavigations,clientTraceMetadata:aj.experimental.clientTraceMetadata||[],clientParamParsingOrigins:aj.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,A.parseMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize)},waitUntil:N.waitUntil,onClose:a=>{M.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(a,c,d,e)=>K.onRequestError(b,a,d,e,ai),err:(0,f.getRequestMeta)(b,"invokeError")}};e&&(g.renderOpts.supportsDynamicResponse=!1);let j=await i(a,g),{metadata:l}=j,{cacheControl:m,headers:n={},fetchTags:o,fetchMetrics:p}=l;if(o&&(n[v.NEXT_CACHE_TAGS_HEADER]=o),b.fetchMetrics=p,aM&&(null==m?void 0:m.revalidate)===0&&!K.isDev&&!aD){let a=l.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ag}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:s.CachedRouteKind.APP_PAGE,html:j,headers:n,rscData:l.flightData,postponed:l.postponed,status:l.statusCode,segmentData:l.segmentData},cacheControl:m}},n=async({hasResolved:a,previousCacheEntry:d,isRevalidating:e,span:g,forceStaticRender:h=!1})=>{let i,j=!1===K.isDev,o=a||M.writableEnded;if(ap&&ah&&!d&&!T)return(null==ai?void 0:ai.render404)?await ai.render404(b,M):(M.statusCode=404,M.end("This page could not be found")),null;if(ar&&(i=(0,t.parseFallbackField)(ar.fallback)),!0===aj.experimental.partialFallbacks&&(null==ar?void 0:ar.fallback)===null&&!aR&&aQ.length>0&&(i=t.FallbackMode.PRERENDER),i===t.FallbackMode.PRERENDER&&(0,r.isBot)(at)&&(!aD||av)&&(i=t.FallbackMode.BLOCKING_STATIC_RENDER),(null==d?void 0:d.isStale)===-1&&(ap=!0),ap&&(i!==t.FallbackMode.NOT_FOUND||d)&&(i=t.FallbackMode.BLOCKING_STATIC_RENDER),!T&&i!==t.FallbackMode.BLOCKING_STATIC_RENDER&&aT&&!o&&!af&&Z&&(j||!as)){if((j||ar)&&i===t.FallbackMode.NOT_FOUND){if(aj.adapterPath)return await a$();throw new z.NoFallbackError}if(aD&&(aj.cacheComponents?!aJ:!ax)){let d=j&&"string"==typeof(null==ar?void 0:ar.fallback)?ar.fallback:ao,e=(j||aE)&&(null==ar?void 0:ar.fallbackRouteParams)?(0,l.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams):aG?(0,l.getFallbackRouteParams)(ao,K):null;aE&&e&&(0,f.addRequestMeta)(b,"fallbackParams",e);let h=await K.handleResponse({cacheKey:d,req:b,nextConfig:aj,routeKind:c.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ae,isRoutePPREnabled:aD,responseGenerator:async()=>m({span:g,postponed:void 0,fallbackRouteParams:e,forceStaticRender:!0}),waitUntil:N.waitUntil,isMinimalMode:T});if(null===h)return null;if(h)return T||!aD||!(aQ.length>0)||!0!==aj.experimental.partialFallbacks||!aS||!k||ap||aG||aB||aC||aw||(0,F.scheduleOnNextTick)(async()=>{let c=K.getResponseCache(b);try{await c.revalidate(aS,k,aD,!1,a=>m({span:a.span,postponed:void 0,fallbackRouteParams:aZ.length>0?(0,l.createOpaqueFallbackRouteParams)(aZ):null,forceStaticRender:!0}),null,a,N.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete h.cacheControl,h}}let p=ap||e||!aH?void 0:aH;if(aN&&!T&&k&&(aJ||ay)&&!h){let c=await k.get(ag,{kind:s.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});c&&c.value&&c.value.kind===s.CachedRouteKind.APP_PAGE&&(p=c.value.postponed,c&&(-1===c.isStale||!0===c.isStale)&&(0,F.scheduleOnNextTick)(async()=>{let c=K.getResponseCache(b);try{await c.revalidate(ag,k,aD,!1,a=>n({...a,forceStaticRender:!0}),null,a,N.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aE||aF)&&void 0!==p)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:s.CachedRouteKind.PAGES,html:u.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let q=(j&&(0,f.getRequestMeta)(b,"renderFallbackShell")||aE&&!as)&&(null==ar?void 0:ar.fallbackRouteParams)?(0,l.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams):aG?(0,l.getFallbackRouteParams)(ao,K):null;if((j||aE)&&aj.cacheComponents&&!as&&(null==ar?void 0:ar.fallbackRouteParams)){let a=(0,l.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams);a&&(0,f.addRequestMeta)(b,"fallbackParams",a)}return m({span:g,postponed:p,fallbackRouteParams:q,forceStaticRender:h})},o=async a=>{var d,e,g,h,i;let j,k=await K.handleResponse({cacheKey:aS,responseGenerator:b=>n({span:a,...b}),routeKind:c.RouteKind.APP_PAGE,isOnDemandRevalidate:ap,isRoutePPREnabled:aD,req:b,nextConfig:aj,prerenderManifest:ae,waitUntil:N.waitUntil,isMinimalMode:T});if(af&&M.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&M.setHeader("Cache-Control","no-cache, must-revalidate"),!k){if(aS)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(d=k.value)?void 0:d.kind)!==s.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(g=k.value)?void 0:g.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let l="string"==typeof k.value.postponed;ax&&!ay&&am&&M.setHeader(v.NEXT_NAV_DEPLOYMENT_ID_HEADER,am),aM&&!aJ&&(!l||aw)&&(T||M.setHeader("x-nextjs-cache",ap?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),M.setHeader(q.NEXT_IS_PRERENDER_HEADER,"1"));let{value:o}=k;if(aH)j={revalidate:0,expire:void 0};else if(aJ)j={revalidate:0,expire:void 0};else if(!K.isDev)if(af)j={revalidate:0,expire:void 0};else if(aM){if(k.cacheControl)if("number"==typeof k.cacheControl.revalidate){if(k.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${k.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});j={revalidate:k.cacheControl.revalidate,expire:(null==(h=k.cacheControl)?void 0:h.expire)??aj.expireTime}}else j={revalidate:v.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else M.getHeader("Cache-Control")||(j={revalidate:0,expire:void 0});if(k.cacheControl=j,"string"==typeof aK&&(null==o?void 0:o.kind)===s.CachedRouteKind.APP_PAGE&&o.segmentData){M.setHeader(q.NEXT_DID_POSTPONE_HEADER,"2");let a=null==(i=o.headers)?void 0:i[v.NEXT_CACHE_TAGS_HEADER];T&&aM&&a&&"string"==typeof a&&M.setHeader(v.NEXT_CACHE_TAGS_HEADER,a);let c=o.segmentData.get(aK);return void 0!==c?(0,y.sendRenderResult)({req:b,res:M,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u.default.fromStatic(c,q.RSC_CONTENT_TYPE_HEADER),cacheControl:k.cacheControl}):(M.statusCode=204,(0,y.sendRenderResult)({req:b,res:M,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u.default.EMPTY,cacheControl:k.cacheControl}))}let p=aN?(0,f.getRequestMeta)(b,"onCacheEntryV2")??(0,f.getRequestMeta)(b,"onCacheEntry"):(0,f.getRequestMeta)(b,"onCacheEntry");if(p&&await p(k,{url:(0,f.getRequestMeta)(b,"initURL")??b.url}))return null;if(o.headers){let a={...o.headers};for(let[b,c]of(T&&aM||delete a[v.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==c)if(Array.isArray(c))for(let a of c)M.appendHeader(b,a);else"number"==typeof c&&(c=c.toString()),M.appendHeader(b,c)}let r=null==(e=o.headers)?void 0:e[v.NEXT_CACHE_TAGS_HEADER];if(T&&aM&&r&&"string"==typeof r&&M.setHeader(v.NEXT_CACHE_TAGS_HEADER,r),!o.status||ax&&aD||(M.statusCode=o.status),!T&&o.status&&D.RedirectStatusCode[o.status]&&ax&&(M.statusCode=200),l&&!aJ&&M.setHeader(q.NEXT_DID_POSTPONE_HEADER,"1"),ax&&!af){if(void 0===o.rscData){if(o.html.contentType!==q.RSC_CONTENT_TYPE_HEADER)if(aj.cacheComponents)return M.statusCode=404,(0,y.sendRenderResult)({req:b,res:M,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u.default.EMPTY,cacheControl:k.cacheControl});else throw Object.defineProperty(new E.InvariantError(`Expected RSC response, got ${o.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,y.sendRenderResult)({req:b,res:M,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:o.html,cacheControl:k.cacheControl})}return(0,y.sendRenderResult)({req:b,res:M,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u.default.fromStatic(o.rscData,q.RSC_CONTENT_TYPE_HEADER),cacheControl:k.cacheControl})}let t=o.html;if(aC&&aE){let a=!0===K.isDev?crypto.randomUUID():null;return t.pipeThrough((0,x.createInstantTestScriptInsertionTransformStream)(a)),(0,y.sendRenderResult)({req:b,res:M,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})}if(!l||T||ax)return(0,y.sendRenderResult)({req:b,res:M,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:t,cacheControl:k.cacheControl});if(aE||aF)return t.push(new ReadableStream({start(a){a.enqueue(w.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,y.sendRenderResult)({req:b,res:M,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let z=new TransformStream;return t.push(z.readable),m({span:a,postponed:o.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==s.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(z.writable)}).catch(a=>{z.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,y.sendRenderResult)({req:b,res:M,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aY||!aX)return a=aW.getActiveScopeSpan(),await aW.withPropagatedContext(b.headers,()=>aW.trace(g.BaseServerSpan.handleRequest,{spanName:`${aV} ${U}`,kind:e.SpanKind.SERVER,attributes:{"http.method":aV,"http.target":b.url}},o),void 0,!aY);await o(aX)}catch(a){throw a instanceof z.NoFallbackError||await K.onRequestError(b,a,{routerKind:"App Router",routePath:U,routeType:"render",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:aM,isOnDemandRevalidate:ap})},!1,ai),a}}a.s(["__next_app__",0,J,"handler",0,L,"routeModule",0,K],73866),a.i(73866),a.s(["ClientPageRoot",()=>C.ClientPageRoot,"ClientSegmentRoot",()=>C.ClientSegmentRoot,"Fragment",()=>C.Fragment,"HTTPAccessFallbackBoundary",()=>C.HTTPAccessFallbackBoundary,"InstantValidation",()=>C.InstantValidation,"LayoutRouter",()=>C.LayoutRouter,"LoadingBoundaryProvider",()=>C.LoadingBoundaryProvider,"Postpone",()=>C.Postpone,"RenderFromTemplateContext",()=>C.RenderFromTemplateContext,"RootLayoutBoundary",()=>C.RootLayoutBoundary,"SegmentViewNode",()=>C.SegmentViewNode,"SegmentViewStateNode",()=>C.SegmentViewStateNode,"__next_app__",0,J,"actionAsyncStorage",()=>C.actionAsyncStorage,"captureOwnerStack",()=>C.captureOwnerStack,"collectPrefetchHints",()=>C.collectPrefetchHints,"collectSegmentData",()=>C.collectSegmentData,"createElement",()=>C.createElement,"createMetadataComponents",()=>C.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>C.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>C.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>C.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>C.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>C.createTemporaryReferenceSet,"decodeAction",()=>C.decodeAction,"decodeFormState",()=>C.decodeFormState,"decodeReply",()=>C.decodeReply,"handler",0,L,"patchFetch",()=>C.patchFetch,"preconnect",()=>C.preconnect,"preloadFont",()=>C.preloadFont,"preloadStyle",()=>C.preloadStyle,"prerender",()=>C.prerender,"renderToReadableStream",()=>C.renderToReadableStream,"routeModule",0,K,"serverHooks",()=>C.serverHooks,"taintObjectReference",()=>C.taintObjectReference,"workAsyncStorage",()=>C.workAsyncStorage,"workUnitAsyncStorage",()=>C.workUnitAsyncStorage],82779)}];
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-page_12n1lw_.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[98049,a=>{"use strict";let b={input:0,output:0,cacheRead:0,cacheWrite:0};function c(a,b=200){let d=a.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return d.length>b?d.slice(0,b-1)+"…":d}function d(a){if(!a||"object"!=typeof a)return;let b=a=>"number"==typeof a?a:0;return{input:b(a.input_tokens),output:b(a.output_tokens),cacheRead:b(a.cache_read_input_tokens),cacheWrite:b(a.cache_creation_input_tokens)}}a.s(["parseTranscript",0,function(a){let e,f,g,h,i,j,k=[];for(let b=0;b<a.length;b++){let e=function(a,b){if(!a||"object"!=typeof a)return null;let e=String(a.type??""),f=a.uuid,g=a.parentUuid??null,h=a.timestamp;if("assistant"===e){let i,j,k=a.message??{},l=k.content??[],m=d(k.usage),n=k.model,o=a.requestId,p=k.id,q=k.stop_reason,r=l[0],s="agent",t="";return r?.type==="thinking"?(s="agent-thinking",t="[thinking] "+c(r.thinking,140)):r?.type==="tool_use"?(s="tool-call",i=r.name,j=r.id,t=`${r.name} `+c(JSON.stringify(r.input??{}),100)):t=r?.type==="text"?c(r.text,200):`<assistant:${r?.type??"empty"}>`,{index:b,uuid:f,parentUuid:g,timestamp:h,role:s,rawType:e,preview:t,blocks:l,usage:m,model:n,requestId:o,messageId:p,stopReason:q,toolName:i,toolUseId:j,raw:a}}if("user"===e){let d=(a.message??{}).content;if("string"==typeof d)return{index:b,uuid:f,parentUuid:g,timestamp:h,role:"user",rawType:e,preview:c(d,200),blocks:[{type:"text",text:d}],raw:a};if(Array.isArray(d)){let i=d[0];if(i?.type==="tool_result")return{index:b,uuid:f,parentUuid:g,timestamp:h,role:"tool-result",rawType:e,preview:c("string"==typeof i.content?i.content:JSON.stringify(i.content),200),blocks:d,toolUseId:i.tool_use_id,toolResult:a.toolUseResult,raw:a};let j=d.find(a=>a?.type==="text");return{index:b,uuid:f,parentUuid:g,timestamp:h,role:"user",rawType:e,preview:j?c(j.text,200):c(JSON.stringify(d),200),blocks:d,raw:a}}}if("attachment"===e){let d=a.attachment??{},i=String(d.type??"attachment"),j=`<attachment: ${i}>`;return"string"==typeof d.content&&d.content.length>0?j=`[${i}] `+c(d.content,140):Array.isArray(d.addedNames)&&(j=`[${i}] +${d.addedNames.length} names`),{index:b,uuid:f,parentUuid:g,timestamp:h,role:"system",rawType:e,preview:j,blocks:[{type:"text",text:JSON.stringify(d,null,2)}],attachmentType:i,raw:a}}return{index:b,uuid:f,parentUuid:g,timestamp:h,role:"meta",rawType:e||"unknown",preview:`${e}: ${c(JSON.stringify(a),140)}`,blocks:[{type:"text",text:JSON.stringify(a,null,2)}],raw:a}}(a[b],b);e&&k.push(e)}let l=k.map(a=>a.timestamp?Date.parse(a.timestamp):void 0).filter(a=>"number"==typeof a&&!Number.isNaN(a)),m=l.length?Math.min(...l):void 0,n=l.length?Math.max(...l):void 0,o=void 0!==m?new Date(m).toISOString():void 0,p=void 0!==n?new Date(n).toISOString():void 0;for(let a of k){if(!a.timestamp)continue;let b=Date.parse(a.timestamp);Number.isNaN(b)||void 0!==m&&(a.tOffsetMs=Math.max(0,b-m))}let q=k.filter(a=>{let b;return a.timestamp&&("user"===(b=a.role)||"agent"===b||"agent-thinking"===b||"tool-call"===b||"tool-result"===b)}).map(a=>({e:a,ms:Date.parse(a.timestamp)})).filter(a=>!Number.isNaN(a.ms)).sort((a,b)=>a.ms-b.ms);for(let a=1;a<q.length;a++)q[a].e.gapMs=Math.max(0,q[a].ms-q[a-1].ms);let r=k.filter(a=>a.timestamp).map(a=>Date.parse(a.timestamp)).filter(a=>!Number.isNaN(a)).sort((a,b)=>a-b),s=[],t=0;if(r.length>0){let a=r[0],b=r[0];for(let c=1;c<r.length;c++){let d=r[c],e=d-b;e>18e4?(s.push({startMs:a,endMs:b}),a=d):e>0&&(t+=e),b=d}s.push({startMs:a,endMs:b})}let u={...b},v=new Set,w="",x=0,y=0,z=0,A=0,B=new Set;for(let a of k){if("tool-call"===a.role){x++;let b=a.blocks.find(a=>a&&"tool_use"===a.type);if(b){let a=b.input??{},c="string"==typeof a.file_path?a.file_path:void 0;if("Edit"===b.name&&c){B.add(c);let b="string"==typeof a.old_string?a.old_string:"",d="string"==typeof a.new_string?a.new_string:"",e=b?b.split("\n").length:0,f=d?d.split("\n").length:0;z+=Math.max(0,f-e),A+=Math.max(0,e-f)}else if("Write"===b.name&&c){B.add(c);let b="string"==typeof a.content?a.content:"";z+=b?b.split("\n").length:0}}}if("user"===a.role){let b=a.raw?.message,c="string"==typeof b?.content?b.content:"";c.startsWith("<command-name>")||c.startsWith("Base directory for this skill:")||c.startsWith("<task-notification>")||(h||(h=a.preview),y++,j=a.preview)}"agent"===a.role&&(i=a.preview)}for(let b of a)if(b&&"object"==typeof b&&("string"!=typeof b.sessionId||w||(w=b.sessionId),"string"!=typeof b.cwd||f||(f=b.cwd),"string"!=typeof b.gitBranch||g||(g=b.gitBranch),"assistant"===b.type)){let a=b.message;if(a){"string"!=typeof a.model||e||(e=a.model);let c="string"==typeof a.id?a.id:void 0,f="string"==typeof b.requestId?b.requestId:void 0,g=null!=c?`${c}:${f??""}`:void 0;if(g&&v.has(g))continue;g&&v.add(g);let h=d(a.usage);h&&(u.input+=h.input,u.output+=h.output,u.cacheRead+=h.cacheRead,u.cacheWrite+=h.cacheWrite)}}return{events:k,meta:{sessionId:w,firstTimestamp:o,lastTimestamp:p,durationMs:void 0!==m&&void 0!==n?n-m:void 0,eventCount:k.length,model:e,cwd:f,gitBranch:g,totalUsage:u,status:"idle",firstUserPreview:h,lastUserPreview:j,lastAgentPreview:i,toolCallCount:x,turnCount:y,airTimeMs:t,activeSegments:s,linesAdded:z,linesRemoved:A,filesEdited:B.size}}}])},48024,a=>{"use strict";let b={input:0,output:0,cacheRead:0,cacheWrite:0};function c(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}function d(a){let b=a.lastIndexOf("/.worktrees/");return b>=0?a.slice(0,b):a}function e(a){let b=a.lastIndexOf("/.worktrees/");return b<0?null:a.slice(b+12)}function f(a){return{date:a,sessions:0,toolCalls:0,turns:0,tokens:{...b},durationMs:0,airTimeMs:0,peakParallelism:0}}let g=/gh\s+pr\s+create\b/i,h=/#(\d+)/,i=/--title\s+["']([^"']+)["']/;function j(a){let c={sessionCount:a.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...b},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let b of a)c.totalDurationMs+=b.durationMs??0,c.totalAirTimeMs+=b.airTimeMs??b.durationMs??0,c.totalTokens.input+=b.totalUsage.input,c.totalTokens.output+=b.totalUsage.output,c.totalTokens.cacheRead+=b.totalUsage.cacheRead,c.totalTokens.cacheWrite+=b.totalUsage.cacheWrite,c.totalToolCalls+=b.toolCallCount??0,c.totalTurns+=b.turnCount??0,c.totalLinesAdded+=b.linesAdded??0,c.totalLinesRemoved+=b.linesRemoved??0,c.totalFilesEdited+=b.filesEdited??0;return a.length>0&&(c.avgTurnsPerSession=c.totalTurns/a.length,c.avgDurationMs=c.totalDurationMs/a.length),c}function k(a,b){let c=b.minDurationMs??6e4,d=b.mergeGapMs??6e5,e=b.minActive??2,f=[];for(let b of a)for(let a of b.segments)a.endMs<=a.startMs||(f.push({ms:a.startMs,delta:1,sessionId:b.id}),f.push({ms:a.endMs,delta:-1,sessionId:b.id}));f.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let g=new Map,h=[],i=null;for(let a of f){if(1===a.delta)g.set(a.sessionId,(g.get(a.sessionId)??0)+1);else{let b=(g.get(a.sessionId)??0)-1;b<=0?g.delete(a.sessionId):g.set(a.sessionId,b)}let b=g.size;if(b>=e)if(i)for(let c of(i.endMs=a.ms,b>i.peak&&(i.peak=b),g.keys()))i.sessionIds.add(c);else i={startMs:a.ms,endMs:a.ms,peak:b,sessionIds:new Set(g.keys())};else i&&(i.endMs=a.ms,h.push(i),i=null)}i&&h.push(i);let j=h.filter(a=>a.endMs-a.startMs>=c),k=[];for(let a of j){let b=k[k.length-1];if(b&&a.startMs-b.endMs<=d)for(let c of(b.endMs=a.endMs,a.peak>b.peak&&(b.peak=a.peak),a.sessionIds))b.sessionIds.add(c);else k.push({startMs:a.startMs,endMs:a.endMs,peak:a.peak,sessionIds:new Set(a.sessionIds)})}let l=new Map;for(let b of a)l.set(b.id,b.projectDir);return k.map(a=>{let b=Array.from(new Set(Array.from(a.sessionIds).map(a=>l.get(a)).filter(a=>!!a)));return{startMs:a.startMs,endMs:a.endMs,peak:a.peak,sessionIds:Array.from(a.sessionIds),projectDirs:b,crossProject:b.length>1}})}a.s(["buildGanttDay",0,function(a,b){let[c,d,e]=b.split("-").map(Number),f=new Date(c,d-1,e).getTime(),g=new Date(c,d-1,e+1).getTime(),h=[];for(let b of a){let a=(function(a,b=18e4){let c=a.filter(a=>a.timestamp).map(a=>Date.parse(a.timestamp)).filter(a=>!Number.isNaN(a)).sort((a,b)=>a-b);if(0===c.length)return[];let d=[],e=c[0],f=c[0];for(let a=1;a<c.length;a++){let g=c[a];g-f>b&&(d.push({startMs:e,endMs:f}),e=g),f=g}return d.push({startMs:e,endMs:f}),d})(b.events).filter(a=>a.endMs>f&&a.startMs<g).map(a=>({startMs:Math.max(a.startMs,f),endMs:Math.min(a.endMs,g)}));if(0===a.length)continue;let c=Math.min(...a.map(a=>a.startMs)),d=Math.max(...a.map(a=>a.endMs)),e=a.reduce((a,b)=>a+(b.endMs-b.startMs),0);h.push({id:b.id,projectName:b.projectName,projectDir:b.projectDir,firstUserPreview:b.firstUserPreview,lastAgentPreview:b.lastAgentPreview,model:b.model,segments:a,startMs:c,endMs:d,activeMs:e,totalUsage:b.totalUsage})}h.sort((a,b)=>a.startMs-b.startMs);let i=[];for(let a of h)for(let b of a.segments)i.push({ms:b.startMs,delta:1}),i.push({ms:b.endMs,delta:-1});i.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let j=0,k=0;for(let a of i)(j+=a.delta)>k&&(k=j);return{date:b,sessions:h,dayStartMs:f,dayEndMs:g,peakActiveParallelism:k}},"canonicalProjectName",0,d,"computeBurstsFromSessions",0,function(a,b={}){let c=[];for(let b of a)b.activeSegments&&0!==b.activeSegments.length&&c.push({id:b.id,projectDir:b.projectDir,segments:b.activeSegments});return k(c,b)},"computeParallelismBursts",0,function(a,b={}){return k(a.sessions,b)},"dailyActivity",0,function(a){let b,d;if(0===a.length)return[];let e=new Map,g=a=>{(!b||a<b)&&(b=a),(!d||a>d)&&(d=a);let c=e.get(a)??f(a);return e.set(a,c),c};for(let b of a){let a=function(a){if(!a.firstTimestamp)return;let b=Date.parse(a.firstTimestamp);if(!Number.isNaN(b))return c(b)}(b);if(a){let c=g(a);c.toolCalls+=b.toolCallCount??0,c.turns+=b.turnCount??0,c.tokens.input+=b.totalUsage.input,c.tokens.output+=b.totalUsage.output,c.tokens.cacheRead+=b.totalUsage.cacheRead,c.tokens.cacheWrite+=b.totalUsage.cacheWrite,c.durationMs+=b.durationMs??0}let d=b.activeSegments;if(d&&d.length>0){let a=new Set;for(let b of d){let d=b.startMs;for(;d<b.endMs;){let e=c(d);a.add(e);let f=new Date(d);f.setHours(24,0,0,0);let h=Math.min(f.getTime(),b.endMs),i=g(e);i.airTimeMs+=h-d,d=h}}for(let b of a){let a=g(b);a.sessions++}}else if(a){let c=g(a);c.sessions++,c.airTimeMs+=b.airTimeMs??0}}let h=b&&d?function(a,b){let[d,e,f]=a.split("-").map(Number),[g,h,i]=b.split("-").map(Number),j=new Date(d,e-1,f),k=new Date(g,h-1,i),l=[];for(let a=new Date(j);a<=k;a.setDate(a.getDate()+1))l.push(c(a.getTime()));return l}(b,d):[],i=[];for(let a of h)i.push(e.get(a)??f(a));let j=function(a){let b=[];for(let c of a)for(let a of c.activeSegments&&c.activeSegments.length>0?c.activeSegments:c.firstTimestamp&&c.lastTimestamp?(()=>{let a=Date.parse(c.firstTimestamp),b=Date.parse(c.lastTimestamp);return Number.isNaN(a)||Number.isNaN(b)||b<a?[]:[{startMs:a,endMs:b}]})():[])b.push({ms:a.startMs,delta:1,sessionId:c.id}),b.push({ms:a.endMs,delta:-1,sessionId:c.id});b.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let c=new Map,d=[];for(let a of b){if(1===a.delta)c.set(a.sessionId,(c.get(a.sessionId)??0)+1);else{let b=(c.get(a.sessionId)??0)-1;b<=0?c.delete(a.sessionId):c.set(a.sessionId,b)}d.push({atMs:a.ms,active:c.size,sessions:Array.from(c.keys()).slice(0,10)})}return d}(a),k=new Map;for(let a of j){let b=c(a.atMs),d=k.get(b)??0;a.active>d&&k.set(b,a.active)}for(let a of i)a.peakParallelism=k.get(a.date)??0;return i},"detectPrMarkers",0,function(a){let b=[],c=a.durationMs??0;for(let d of a.events){if("tool-call"!==d.role||"Bash"!==d.toolName)continue;let e=d.blocks.find(a=>a&&"type"in a&&"tool_use"===a.type);if(!e||"tool_use"!==e.type)continue;let f=e.input,j="string"==typeof f?.command?f.command:"";if(!g.test(j))continue;let k=j.match(i),l=j.match(h);b.push({sessionId:a.id,timestamp:d.timestamp??a.firstTimestamp??"",tOffsetMs:d.tOffsetMs,positionInSession:c>0&&void 0!==d.tOffsetMs?Math.min(1,Math.max(0,d.tOffsetMs/c)):void 0,command:j.slice(0,300),prNumber:l?Number(l[1]):void 0,title:k?.[1]})}return b},"groupByProject",0,function(a){let b=new Map;for(let c of a){let a=d(c.projectName),e=b.get(a);e||(e={projectDir:a,projectName:a,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:j([]),lastActiveMs:void 0},b.set(a,e)),e.sessions.push(c),e.rawProjectDirs.includes(c.projectDir)||e.rawProjectDirs.push(c.projectDir);let f=c.lastTimestamp?Date.parse(c.lastTimestamp):void 0;f&&(!e.lastActiveMs||f>e.lastActiveMs)&&(e.lastActiveMs=f)}for(let a of b.values()){a.metrics=j(a.sessions);let b=new Set;for(let c of a.sessions){let a=e(c.projectName);a&&b.add(a)}a.worktreeCount=b.size}return Array.from(b.values()).sort((a,b)=>(b.lastActiveMs??0)-(a.lastActiveMs??0))},"highLevelMetrics",0,j,"sessionAirTimeMs",0,function(a,b=18e4){let c=0;for(let d of a)void 0!==d.gapMs&&d.gapMs<=b&&(c+=d.gapMs);return c},"summarizeBursts",0,function(a){let b=0,d=0,e=0,f=new Set;for(let g of a)g.peak>b&&(b=g.peak),d+=g.endMs-g.startMs,g.crossProject&&e++,f.add(c(g.startMs));return{peakConcurrent:b,totalParallelMs:d,burstCount:a.length,crossProjectBurstCount:e,activeDayCount:f.size}},"toLocalDay",0,c,"worktreeName",0,e])},50785,a=>{"use strict";var b=a.i(2157),c=a.i(60526),d=a.i(50227),e=a.i(98049),f=a.i(48024);let g=d.default.join(c.default.homedir(),".claude","projects");function h(a){return a.startsWith("-")?"/"+a.slice(1).replace(/-/g,"/"):a}async function i(a){let c=await b.promises.readFile(a,"utf8"),d=[];for(let a of c.split("\n")){let b=a.trim();if(b)try{d.push(JSON.parse(b))}catch{}}return d}let j=new Map,k=new Map,l=null;async function m(a=g){if(l&&l.root===a&&Date.now()-l.capturedAtMs<1e3)return l.files;let c=[];try{c=await b.promises.readdir(a,{withFileTypes:!0})}catch{return[]}let e=c.filter(a=>a.isDirectory()).map(a=>a.name),f=(await Promise.all(e.map(async c=>{let e,f=d.default.join(a,c);try{e=await b.promises.readdir(f)}catch{return[]}let g=e.filter(a=>a.endsWith(".jsonl"));return(await Promise.all(g.map(async a=>{let e=d.default.join(f,a);try{let d=await b.promises.stat(e);return{projectDir:c,fileName:a,fullPath:e,mtimeMs:d.mtimeMs,sizeBytes:d.size}}catch{return null}}))).filter(a=>null!==a)}))).flat();return l={files:f,capturedAtMs:Date.now(),root:a},f}function n(a){return a.replace(/\.jsonl$/i,"")}function o(a,b,c){for(let d of a){if(!d||"object"!=typeof d||"assistant"!==d.type)continue;let a=d.message;if(!a)continue;let e="string"==typeof a.id?a.id:void 0,f="string"==typeof d.requestId?d.requestId:void 0,g=null!=e&&null!=f?`${e}:${f}`:void 0;if(g&&b.has(g))continue;g&&b.add(g);let h=a.usage;if(h){let a=a=>"number"==typeof a?a:0;c.input+=a(h.input_tokens),c.output+=a(h.output_tokens),c.cacheRead+=a(h.cache_read_input_tokens),c.cacheWrite+=a(h.cache_creation_input_tokens)}}}async function p(a,c,e){let f,g={...u},h=new Set;o(a,h,g);let j=d.default.join(c,e,"subagents");try{f=await b.promises.readdir(j)}catch{return g}let k=f.filter(a=>a.endsWith(".jsonl"));return 0===k.length||await Promise.all(k.map(async a=>{try{let b=await i(d.default.join(j,a));o(b,h,g)}catch{}})),g}async function q(a){let b=j.get(a.fullPath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes)return b.meta;try{let b=await i(a.fullPath),{meta:c}=(0,e.parseTranscript)(b),f=n(a.fileName),g=d.default.dirname(a.fullPath);c.totalUsage=await p(b,g,f);let k={...c,id:f,filePath:a.fullPath,projectDir:a.projectDir,projectName:c.cwd??h(a.projectDir)};return j.set(a.fullPath,{meta:k,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),k}catch{return null}}async function r(a){let b=k.get(a.fullPath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes)return b.detail;try{let b=await i(a.fullPath),{meta:c,events:d}=(0,e.parseTranscript)(b),f={...c,id:n(a.fileName),filePath:a.fullPath,projectDir:a.projectDir,projectName:c.cwd??h(a.projectDir),events:d};k.set(a.fullPath,{detail:f,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes});let g={...f};return delete g.events,j.set(a.fullPath,{meta:g,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),f}catch{return null}}async function s(a={}){let{root:b=g,limit:c=500,projectDir:d}=a,e=await m(b);d&&(e=e.filter(a=>a.projectDir===d)),e.sort((a,b)=>b.mtimeMs-a.mtimeMs);let f=e.slice(0,c);return(await Promise.all(f.map(a=>q(a)))).filter(a=>null!==a)}async function t(a,b={}){let{root:c=g}=b,e=(await m(c)).find(b=>n(b.fileName)===a);if(!e)return null;let f=await r(e);if(!f)return f;let h=f.firstTimestamp?Date.parse(f.firstTimestamp):void 0,i=d.default.join(d.default.dirname(e.fullPath),n(e.fileName),"subagents"),j=await v(i,h,f.events);return{...f,subagents:j}}let u={input:0,output:0,cacheRead:0,cacheWrite:0};async function v(a,c,e){let f;try{f=await b.promises.readdir(a)}catch{return[]}let g=new Map,h=[];for(let a of e)if("tool-call"===a.role&&"Agent"===a.toolName)for(let b of a.blocks){if(b?.type!=="tool_use"||"Agent"!==b.name)continue;let c=b.input??{},d="string"==typeof c.description?c.description:void 0,e=a.timestamp?Date.parse(a.timestamp):void 0,f={toolUseId:b.id,parentUuid:a.uuid??"",runInBackground:!0===c.run_in_background,prompt:"string"==typeof c.prompt?c.prompt:void 0,tsMs:e};d&&g.set(d,f),void 0!==e&&h.push(f)}h.sort((a,b)=>(a.tsMs??0)-(b.tsMs??0));let j=f.filter(a=>a.startsWith("agent-")&&a.endsWith(".jsonl"));return(await Promise.all(j.map(async e=>{let f,j=e.replace(/^agent-/,"").replace(/\.jsonl$/,""),k=d.default.join(a,e),l=d.default.join(a,`agent-${j}.meta.json`),m={};try{let a=await b.promises.readFile(l,"utf8");m=JSON.parse(a)}catch{}try{f=await i(k)}catch{return null}let n=function(a){let b,c,d,e,f,g={...u},h=new Set,i=0,j=0,k=0,l=new Map;for(let m of a){if(!m||"object"!=typeof m)continue;i++;let a="string"==typeof m.timestamp?Date.parse(m.timestamp):NaN;if(!Number.isNaN(a)&&((void 0===b||a<b)&&(b=a),(void 0===c||a>c)&&(c=a)),void 0===f&&"user"===m.type&&(null===m.parentUuid||void 0===m.parentUuid)){let a=m.message,b=a?.content;if("string"==typeof b)f=b;else if(Array.isArray(b)){let a=b.find(a=>a&&"object"==typeof a&&"text"===a.type);a?.text&&(f=a.text)}}if("assistant"===m.type){let a=m.message;if(!a)continue;e||"string"!=typeof a.model||(e=a.model);let b="string"==typeof a.id?a.id:void 0,c="string"==typeof m.requestId?m.requestId:void 0,f=null!=b&&null!=c?`${b}:${c}`:void 0,i=!f||!h.has(f);if(f&&i&&h.add(f),i){j++;let b=a.usage;if(b){let a=a=>"number"==typeof a?a:0;g.input+=a(b.input_tokens),g.output+=a(b.output_tokens),g.cacheRead+=a(b.cache_read_input_tokens),g.cacheWrite+=a(b.cache_creation_input_tokens)}}let n=a.content;if(Array.isArray(n))for(let a of n)a&&"object"==typeof a&&("text"===a.type&&"string"==typeof a.text?d=a.text:"tool_use"===a.type&&"string"==typeof a.name&&(k++,l.set(a.name,(l.get(a.name)??0)+1)))}}let m=Array.from(l.entries()).map(([a,b])=>({name:a,count:b})).sort((a,b)=>b.count-a.count);return{startMs:b,endMs:c,totalUsage:g,eventCount:i,finalPreview:void 0!==d?d.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:d,model:e,toolCalls:m,toolCallCount:k,assistantMessageCount:j,initialPrompt:f}}(f),o=m.description&&m.description.trim().length>0?m.description:void 0,p=o?g.get(o):function(a){let b;if(void 0===a)return;let c=1/0;for(let d of h){if(void 0===d.tsMs)continue;let e=Math.abs(a-d.tsMs);e<c&&e<=2e3&&(b=d,c=e)}return b}(n.startMs),q=o??(n.initialPrompt?n.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),r=p?.prompt??n.initialPrompt,s=void 0!==c&&void 0!==n.startMs?Math.max(0,n.startMs-c):void 0,t=void 0!==c&&void 0!==n.endMs?Math.max(0,n.endMs-c):void 0,v=void 0!==n.startMs&&void 0!==n.endMs?n.endMs-n.startMs:void 0;return{agentId:j,agentType:m.agentType??"unknown",description:q,startMs:n.startMs,endMs:n.endMs,durationMs:v,startTOffsetMs:s,endTOffsetMs:t,eventCount:n.eventCount,totalUsage:n.totalUsage,parentUuid:p?.parentUuid,parentToolUseId:p?.toolUseId,runInBackground:p?.runInBackground,prompt:r,finalPreview:n.finalPreview,finalText:n.finalText,model:n.model,toolCalls:n.toolCalls,toolCallCount:n.toolCallCount,assistantMessageCount:n.assistantMessageCount}}))).filter(a=>null!==a).sort((a,b)=>(a.startMs??0)-(b.startMs??0))}async function w(a=g){let b=await m(a),c=new Map;for(let a of b){let b=c.get(a.projectDir)??{count:0,lastActiveMs:0};b.count++,a.mtimeMs>b.lastActiveMs&&(b.lastActiveMs=a.mtimeMs),c.set(a.projectDir,b)}let d=a=>{for(let[,b]of j.entries())if(b.meta.projectDir===a&&b.meta.cwd)return b.meta.cwd},e=new Map;for(let[a,{count:b,lastActiveMs:g}]of c){let c=d(a)??h(a),i=(0,f.canonicalProjectName)(c),j=(0,f.worktreeName)(c),k=e.get(i)??{canonicalName:i,count:0,lastActiveMs:0,worktreeBranches:new Set};k.count+=b,g>k.lastActiveMs&&(k.lastActiveMs=g),j&&k.worktreeBranches.add(j),e.set(i,k)}return Array.from(e.values()).map(a=>({projectDir:a.canonicalName,projectName:a.canonicalName,sessionCount:a.count,lastActiveMs:a.lastActiveMs,worktreeCount:a.worktreeBranches.size})).sort((a,b)=>b.lastActiveMs-a.lastActiveMs)}a.s(["getSession",0,t,"listProjects",0,w,"listSessions",0,s,"walkJsonlFiles",0,m])}];
|
|
1
|
+
module.exports=[98049,a=>{"use strict";let b={input:0,output:0,cacheRead:0,cacheWrite:0};function c(a,b=200){let d=a.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return d.length>b?d.slice(0,b-1)+"…":d}let d=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function e(a){let b=a.match(d);if(!b)return;let c=b[1],e=b[2].trim(),f="message";if(e.startsWith("{"))try{let a=JSON.parse(e);"idle_notification"===a.type?f="idle-notification":"shutdown_request"===a.type?f="shutdown-request":"shutdown_approved"===a.type?f="shutdown-approved":"task_assignment"===a.type?f="task-assignment":"teammate_terminated"===a.type&&(f="teammate-terminated")}catch{}return{teammateId:c,body:e,kind:f}}function f(a){if(!a||"object"!=typeof a)return;let b=a=>"number"==typeof a?a:0;return{input:b(a.input_tokens),output:b(a.output_tokens),cacheRead:b(a.cache_read_input_tokens),cacheWrite:b(a.cache_creation_input_tokens)}}a.s(["parseTranscript",0,function(a){let d,g,h,i,j,k,l,m,n=[];for(let b=0;b<a.length;b++){let d=function(a,b){if(!a||"object"!=typeof a)return null;let d=String(a.type??""),g=a.uuid,h=a.parentUuid??null,i=a.timestamp;if("assistant"===d){let e,j,k,l=a.message??{},m=l.content??[],n=f(l.usage),o=l.model,p=a.requestId,q=l.id,r=l.stop_reason,s=m[0],t="agent";return s?.type==="thinking"?(t="agent-thinking",e="[thinking] "+c(s.thinking,140)):s?.type==="tool_use"?(t="tool-call",j=s.name,k=s.id,e=`${s.name} `+c(JSON.stringify(s.input??{}),100)):e=s?.type==="text"?c(s.text,200):`<assistant:${s?.type??"empty"}>`,{index:b,uuid:g,parentUuid:h,timestamp:i,role:t,rawType:d,preview:e,blocks:m,usage:n,model:o,requestId:p,messageId:q,stopReason:r,toolName:j,toolUseId:k,raw:a}}if("user"===d){let f=(a.message??{}).content;if("string"==typeof f){let j=e(f);return{index:b,uuid:g,parentUuid:h,timestamp:i,role:"user",rawType:d,preview:c(f,200),blocks:[{type:"text",text:f}],raw:a,teammateMessage:j}}if(Array.isArray(f)){let j=f[0];if(j?.type==="tool_result")return{index:b,uuid:g,parentUuid:h,timestamp:i,role:"tool-result",rawType:d,preview:c("string"==typeof j.content?j.content:JSON.stringify(j.content),200),blocks:f,toolUseId:j.tool_use_id,toolResult:a.toolUseResult,raw:a};let k=f.find(a=>a?.type==="text"),l=k?e(k.text):void 0;return{index:b,uuid:g,parentUuid:h,timestamp:i,role:"user",rawType:d,preview:k?c(k.text,200):c(JSON.stringify(f),200),blocks:f,raw:a,teammateMessage:l}}}if("attachment"===d){let e=a.attachment??{},f=String(e.type??"attachment"),j=`<attachment: ${f}>`;return"string"==typeof e.content&&e.content.length>0?j=`[${f}] `+c(e.content,140):Array.isArray(e.addedNames)&&(j=`[${f}] +${e.addedNames.length} names`),{index:b,uuid:g,parentUuid:h,timestamp:i,role:"system",rawType:d,preview:j,blocks:[{type:"text",text:JSON.stringify(e,null,2)}],attachmentType:f,raw:a}}return{index:b,uuid:g,parentUuid:h,timestamp:i,role:"meta",rawType:d||"unknown",preview:`${d}: ${c(JSON.stringify(a),140)}`,blocks:[{type:"text",text:JSON.stringify(a,null,2)}],raw:a}}(a[b],b);d&&n.push(d)}let o=n.map(a=>a.timestamp?Date.parse(a.timestamp):void 0).filter(a=>"number"==typeof a&&!Number.isNaN(a)),p=o.length?Math.min(...o):void 0,q=o.length?Math.max(...o):void 0,r=void 0!==p?new Date(p).toISOString():void 0,s=void 0!==q?new Date(q).toISOString():void 0;for(let a of n){if(!a.timestamp)continue;let b=Date.parse(a.timestamp);Number.isNaN(b)||void 0!==p&&(a.tOffsetMs=Math.max(0,b-p))}let t=n.filter(a=>{let b;return a.timestamp&&("user"===(b=a.role)||"agent"===b||"agent-thinking"===b||"tool-call"===b||"tool-result"===b)}).map(a=>({e:a,ms:Date.parse(a.timestamp)})).filter(a=>!Number.isNaN(a.ms)).sort((a,b)=>a.ms-b.ms);for(let a=1;a<t.length;a++)t[a].e.gapMs=Math.max(0,t[a].ms-t[a-1].ms);let u=n.filter(a=>a.timestamp).map(a=>Date.parse(a.timestamp)).filter(a=>!Number.isNaN(a)).sort((a,b)=>a-b),v=[],w=0;if(u.length>0){let a=u[0],b=u[0];for(let c=1;c<u.length;c++){let d=u[c],e=d-b;e>18e4?(v.push({startMs:a,endMs:b}),a=d):e>0&&(w+=e),b=d}v.push({startMs:a,endMs:b})}let x={...b},y=new Set,z="",A=!1,B=!1,C=0,D=0,E=0,F=0,G=new Set;for(let a of n){if("tool-call"===a.role){C++;let b=a.blocks.find(a=>a&&"tool_use"===a.type);if(b){let a=b.input??{};if("TeamCreate"===b.name&&(A=!0),"SendMessage"===b.name){let b="string"==typeof a.to?a.to:"";b&&"team-lead"!==b&&(B=!0)}let c="string"==typeof a.file_path?a.file_path:void 0;if("Edit"===b.name&&c){G.add(c);let b="string"==typeof a.old_string?a.old_string:"",d="string"==typeof a.new_string?a.new_string:"",e=b?b.split("\n").length:0,f=d?d.split("\n").length:0;E+=Math.max(0,f-e),F+=Math.max(0,e-f)}else if("Write"===b.name&&c){G.add(c);let b="string"==typeof a.content?a.content:"";E+=b?b.split("\n").length:0}}}if("user"===a.role){let b=a.raw?.message,c="string"==typeof b?.content?b.content:"",d=c.startsWith("<command-name>")||c.startsWith("<local-command-caveat>")||c.startsWith("Base directory for this skill:")||c.startsWith("<task-notification>"),e=void 0!==a.teammateMessage&&!j;d||e||(k||(k=a.teammateMessage?a.teammateMessage.body:a.preview),D++,m=a.preview)}"agent"===a.role&&(l=a.preview)}for(let b of a)if(b&&"object"==typeof b&&("string"!=typeof b.sessionId||z||(z=b.sessionId),"string"!=typeof b.cwd||g||(g=b.cwd),"string"!=typeof b.gitBranch||h||(h=b.gitBranch),"string"!=typeof b.teamName||i||(i=b.teamName),"string"!=typeof b.agentName||j||(j=b.agentName),"assistant"===b.type)){let a=b.message;if(a){"string"!=typeof a.model||d||(d=a.model);let c="string"==typeof a.id?a.id:void 0,e="string"==typeof b.requestId?b.requestId:void 0,g=null!=c?`${c}:${e??""}`:void 0;if(g&&y.has(g))continue;g&&y.add(g);let h=f(a.usage);h&&(x.input+=h.input,x.output+=h.output,x.cacheRead+=h.cacheRead,x.cacheWrite+=h.cacheWrite)}}return{events:n,meta:{sessionId:z,firstTimestamp:r,lastTimestamp:s,durationMs:void 0!==p&&void 0!==q?q-p:void 0,eventCount:n.length,model:d,cwd:g,gitBranch:h,totalUsage:x,status:"idle",firstUserPreview:k,lastUserPreview:m,lastAgentPreview:l,toolCallCount:C,turnCount:D,airTimeMs:w,activeSegments:v,linesAdded:E,linesRemoved:F,filesEdited:G.size,teamName:i,agentName:j,isTeamLead:void 0!==i&&void 0===j&&(A||B)}}}])},48024,a=>{"use strict";let b={input:0,output:0,cacheRead:0,cacheWrite:0};function c(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}let d=["/.claude/worktrees/","/.worktrees/"];function e(a){for(let b of d){let c=a.lastIndexOf(b);if(c>=0)return{idx:c,marker:b}}return null}function f(a){let b=e(a);return b?a.slice(0,b.idx):a}function g(a){let b=e(a);if(!b)return null;let c=a.slice(b.idx+b.marker.length),d=c.indexOf("/");return d>=0?c.slice(0,d):c}function h(a){return{date:a,sessions:0,toolCalls:0,turns:0,tokens:{...b},durationMs:0,airTimeMs:0,peakParallelism:0}}let i=/gh\s+pr\s+create\b/i,j=/#(\d+)/,k=/--title\s+["']([^"']+)["']/;function l(a){let c={sessionCount:a.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...b},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let b of a)c.totalDurationMs+=b.durationMs??0,c.totalAirTimeMs+=b.airTimeMs??b.durationMs??0,c.totalTokens.input+=b.totalUsage.input,c.totalTokens.output+=b.totalUsage.output,c.totalTokens.cacheRead+=b.totalUsage.cacheRead,c.totalTokens.cacheWrite+=b.totalUsage.cacheWrite,c.totalToolCalls+=b.toolCallCount??0,c.totalTurns+=b.turnCount??0,c.totalLinesAdded+=b.linesAdded??0,c.totalLinesRemoved+=b.linesRemoved??0,c.totalFilesEdited+=b.filesEdited??0;return a.length>0&&(c.avgTurnsPerSession=c.totalTurns/a.length,c.avgDurationMs=c.totalDurationMs/a.length),c}function m(a,b){let c=b.minDurationMs??6e4,d=b.mergeGapMs??6e5,e=b.minActive??2,f=[];for(let b of a)for(let a of b.segments)a.endMs<=a.startMs||(f.push({ms:a.startMs,delta:1,sessionId:b.id}),f.push({ms:a.endMs,delta:-1,sessionId:b.id}));f.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let g=new Map,h=[],i=null;for(let a of f){if(1===a.delta)g.set(a.sessionId,(g.get(a.sessionId)??0)+1);else{let b=(g.get(a.sessionId)??0)-1;b<=0?g.delete(a.sessionId):g.set(a.sessionId,b)}let b=g.size;if(b>=e)if(i)for(let c of(i.endMs=a.ms,b>i.peak&&(i.peak=b),g.keys()))i.sessionIds.add(c);else i={startMs:a.ms,endMs:a.ms,peak:b,sessionIds:new Set(g.keys())};else i&&(i.endMs=a.ms,h.push(i),i=null)}i&&h.push(i);let j=h.filter(a=>a.endMs-a.startMs>=c),k=[];for(let a of j){let b=k[k.length-1];if(b&&a.startMs-b.endMs<=d)for(let c of(b.endMs=a.endMs,a.peak>b.peak&&(b.peak=a.peak),a.sessionIds))b.sessionIds.add(c);else k.push({startMs:a.startMs,endMs:a.endMs,peak:a.peak,sessionIds:new Set(a.sessionIds)})}let l=new Map;for(let b of a)l.set(b.id,b.projectDir);return k.map(a=>{let b=Array.from(new Set(Array.from(a.sessionIds).map(a=>l.get(a)).filter(a=>!!a)));return{startMs:a.startMs,endMs:a.endMs,peak:a.peak,sessionIds:Array.from(a.sessionIds),projectDirs:b,crossProject:b.length>1}})}a.s(["buildGanttDay",0,function(a,b){let[c,d,e]=b.split("-").map(Number),f=new Date(c,d-1,e).getTime(),g=new Date(c,d-1,e+1).getTime(),h=[];for(let b of a){let a=(function(a,b=18e4){let c=a.filter(a=>a.timestamp).map(a=>Date.parse(a.timestamp)).filter(a=>!Number.isNaN(a)).sort((a,b)=>a-b);if(0===c.length)return[];let d=[],e=c[0],f=c[0];for(let a=1;a<c.length;a++){let g=c[a];g-f>b&&(d.push({startMs:e,endMs:f}),e=g),f=g}return d.push({startMs:e,endMs:f}),d})(b.events).filter(a=>a.endMs>f&&a.startMs<g).map(a=>({startMs:Math.max(a.startMs,f),endMs:Math.min(a.endMs,g)}));if(0===a.length)continue;let c=Math.min(...a.map(a=>a.startMs)),d=Math.max(...a.map(a=>a.endMs)),e=a.reduce((a,b)=>a+(b.endMs-b.startMs),0);h.push({id:b.id,projectName:b.projectName,projectDir:b.projectDir,firstUserPreview:b.firstUserPreview,lastAgentPreview:b.lastAgentPreview,model:b.model,segments:a,startMs:c,endMs:d,activeMs:e,totalUsage:b.totalUsage})}h.sort((a,b)=>a.startMs-b.startMs);let i=[];for(let a of h)for(let b of a.segments)i.push({ms:b.startMs,delta:1}),i.push({ms:b.endMs,delta:-1});i.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let j=0,k=0;for(let a of i)(j+=a.delta)>k&&(k=j);return{date:b,sessions:h,dayStartMs:f,dayEndMs:g,peakActiveParallelism:k}},"canonicalProjectName",0,f,"computeBurstsFromSessions",0,function(a,b={}){let c=[];for(let b of a)b.activeSegments&&0!==b.activeSegments.length&&c.push({id:b.id,projectDir:b.projectDir,segments:b.activeSegments});return m(c,b)},"computeParallelismBursts",0,function(a,b={}){return m(a.sessions,b)},"dailyActivity",0,function(a){let b,d;if(0===a.length)return[];let e=new Map,f=a=>{(!b||a<b)&&(b=a),(!d||a>d)&&(d=a);let c=e.get(a)??h(a);return e.set(a,c),c};for(let b of a){let a=function(a){if(!a.firstTimestamp)return;let b=Date.parse(a.firstTimestamp);if(!Number.isNaN(b))return c(b)}(b);if(a){let c=f(a);c.toolCalls+=b.toolCallCount??0,c.turns+=b.turnCount??0,c.tokens.input+=b.totalUsage.input,c.tokens.output+=b.totalUsage.output,c.tokens.cacheRead+=b.totalUsage.cacheRead,c.tokens.cacheWrite+=b.totalUsage.cacheWrite,c.durationMs+=b.durationMs??0}let d=b.activeSegments;if(d&&d.length>0){let a=new Set;for(let b of d){let d=b.startMs;for(;d<b.endMs;){let e=c(d);a.add(e);let g=new Date(d);g.setHours(24,0,0,0);let h=Math.min(g.getTime(),b.endMs),i=f(e);i.airTimeMs+=h-d,d=h}}for(let b of a){let a=f(b);a.sessions++}}else if(a){let c=f(a);c.sessions++,c.airTimeMs+=b.airTimeMs??0}}let g=b&&d?function(a,b){let[d,e,f]=a.split("-").map(Number),[g,h,i]=b.split("-").map(Number),j=new Date(d,e-1,f),k=new Date(g,h-1,i),l=[];for(let a=new Date(j);a<=k;a.setDate(a.getDate()+1))l.push(c(a.getTime()));return l}(b,d):[],i=[];for(let a of g)i.push(e.get(a)??h(a));let j=function(a){let b=[];for(let c of a)for(let a of c.activeSegments&&c.activeSegments.length>0?c.activeSegments:c.firstTimestamp&&c.lastTimestamp?(()=>{let a=Date.parse(c.firstTimestamp),b=Date.parse(c.lastTimestamp);return Number.isNaN(a)||Number.isNaN(b)||b<a?[]:[{startMs:a,endMs:b}]})():[])b.push({ms:a.startMs,delta:1,sessionId:c.id}),b.push({ms:a.endMs,delta:-1,sessionId:c.id});b.sort((a,b)=>a.ms-b.ms||b.delta-a.delta);let c=new Map,d=[];for(let a of b){if(1===a.delta)c.set(a.sessionId,(c.get(a.sessionId)??0)+1);else{let b=(c.get(a.sessionId)??0)-1;b<=0?c.delete(a.sessionId):c.set(a.sessionId,b)}d.push({atMs:a.ms,active:c.size,sessions:Array.from(c.keys()).slice(0,10)})}return d}(a),k=new Map;for(let a of j){let b=c(a.atMs),d=k.get(b)??0;a.active>d&&k.set(b,a.active)}for(let a of i)a.peakParallelism=k.get(a.date)??0;return i},"detectPrMarkers",0,function(a){let b=[],c=a.durationMs??0;for(let d of a.events){if("tool-call"!==d.role||"Bash"!==d.toolName)continue;let e=d.blocks.find(a=>a&&"type"in a&&"tool_use"===a.type);if(!e||"tool_use"!==e.type)continue;let f=e.input,g="string"==typeof f?.command?f.command:"";if(!i.test(g))continue;let h=g.match(k),l=g.match(j);b.push({sessionId:a.id,timestamp:d.timestamp??a.firstTimestamp??"",tOffsetMs:d.tOffsetMs,positionInSession:c>0&&void 0!==d.tOffsetMs?Math.min(1,Math.max(0,d.tOffsetMs/c)):void 0,command:g.slice(0,300),prNumber:l?Number(l[1]):void 0,title:h?.[1]})}return b},"groupByProject",0,function(a){let b=new Map;for(let c of a){let a=f(c.projectName),d=b.get(a);d||(d={projectDir:a,projectName:a,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:l([]),lastActiveMs:void 0},b.set(a,d)),d.sessions.push(c),d.rawProjectDirs.includes(c.projectDir)||d.rawProjectDirs.push(c.projectDir);let e=c.lastTimestamp?Date.parse(c.lastTimestamp):void 0;e&&(!d.lastActiveMs||e>d.lastActiveMs)&&(d.lastActiveMs=e)}for(let a of b.values()){a.metrics=l(a.sessions);let b=new Set;for(let c of a.sessions){let a=g(c.projectName);a&&b.add(a)}a.worktreeCount=b.size}return Array.from(b.values()).sort((a,b)=>(b.lastActiveMs??0)-(a.lastActiveMs??0))},"highLevelMetrics",0,l,"sessionAirTimeMs",0,function(a,b=18e4){let c=0;for(let d of a)void 0!==d.gapMs&&d.gapMs<=b&&(c+=d.gapMs);return c},"summarizeBursts",0,function(a){let b=0,d=0,e=0,f=new Set;for(let g of a)g.peak>b&&(b=g.peak),d+=g.endMs-g.startMs,g.crossProject&&e++,f.add(c(g.startMs));return{peakConcurrent:b,totalParallelMs:d,burstCount:a.length,crossProjectBurstCount:e,activeDayCount:f.size}},"toLocalDay",0,c,"worktreeName",0,g])},50785,a=>{"use strict";var b=a.i(2157),c=a.i(60526),d=a.i(50227),e=a.i(98049),f=a.i(48024);let g=d.default.join(c.default.homedir(),".claude","projects");function h(a){return a.startsWith("-")?"/"+a.slice(1).replace(/-/g,"/"):a}async function i(a){let c=await b.promises.readFile(a,"utf8"),d=[];for(let a of c.split("\n")){let b=a.trim();if(b)try{d.push(JSON.parse(b))}catch{}}return d}let j=new Map,k=new Map,l=null;async function m(a=g){let c;if(l&&l.root===a&&Date.now()-l.capturedAtMs<1e3)return l.files;try{c=await b.promises.readdir(a,{withFileTypes:!0})}catch{return[]}let e=c.filter(a=>a.isDirectory()).map(a=>a.name),f=(await Promise.all(e.map(async c=>{let e,f=d.default.join(a,c);try{e=await b.promises.readdir(f)}catch{return[]}let g=e.filter(a=>a.endsWith(".jsonl"));return(await Promise.all(g.map(async a=>{let e=d.default.join(f,a);try{let d=await b.promises.stat(e);return{projectDir:c,fileName:a,fullPath:e,mtimeMs:d.mtimeMs,sizeBytes:d.size}}catch{return null}}))).filter(a=>null!==a)}))).flat();return l={files:f,capturedAtMs:Date.now(),root:a},f}function n(a){return a.replace(/\.jsonl$/i,"")}function o(a,b,c){for(let d of a){if(!d||"object"!=typeof d||"assistant"!==d.type)continue;let a=d.message;if(!a)continue;let e="string"==typeof a.id?a.id:void 0,f="string"==typeof d.requestId?d.requestId:void 0,g=null!=e&&null!=f?`${e}:${f}`:void 0;if(g&&b.has(g))continue;g&&b.add(g);let h=a.usage;if(h){let a=a=>"number"==typeof a?a:0;c.input+=a(h.input_tokens),c.output+=a(h.output_tokens),c.cacheRead+=a(h.cache_read_input_tokens),c.cacheWrite+=a(h.cache_creation_input_tokens)}}}async function p(a,c,e){let f,g={...u},h=new Set;o(a,h,g);let j=d.default.join(c,e,"subagents");try{f=await b.promises.readdir(j)}catch{return g}let k=f.filter(a=>a.endsWith(".jsonl"));return 0===k.length||await Promise.all(k.map(async a=>{try{let b=await i(d.default.join(j,a));o(b,h,g)}catch{}})),g}async function q(a){let b=j.get(a.fullPath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes)return b.meta;try{let b=await i(a.fullPath),{meta:c}=(0,e.parseTranscript)(b),f=n(a.fileName),g=d.default.dirname(a.fullPath);c.totalUsage=await p(b,g,f);let k={...c,id:f,filePath:a.fullPath,projectDir:a.projectDir,projectName:c.cwd??h(a.projectDir)};return j.set(a.fullPath,{meta:k,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),k}catch{return null}}async function r(a){let b=k.get(a.fullPath);if(b&&b.mtimeMs===a.mtimeMs&&b.sizeBytes===a.sizeBytes)return b.detail;try{let b=await i(a.fullPath),{meta:c,events:d}=(0,e.parseTranscript)(b),f={...c,id:n(a.fileName),filePath:a.fullPath,projectDir:a.projectDir,projectName:c.cwd??h(a.projectDir),events:d};k.set(a.fullPath,{detail:f,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes});let g={...f};return delete g.events,j.set(a.fullPath,{meta:g,mtimeMs:a.mtimeMs,sizeBytes:a.sizeBytes}),f}catch{return null}}async function s(a={}){let{root:b=g,limit:c=500,projectDir:d}=a,e=await m(b);d&&(e=e.filter(a=>a.projectDir===d)),e.sort((a,b)=>b.mtimeMs-a.mtimeMs);let f=e.slice(0,c);return(await Promise.all(f.map(a=>q(a)))).filter(a=>null!==a)}async function t(a,b={}){let{root:c=g}=b,e=(await m(c)).find(b=>n(b.fileName)===a);if(!e)return null;let f=await r(e);if(!f)return f;let h=f.firstTimestamp?Date.parse(f.firstTimestamp):void 0,i=d.default.join(d.default.dirname(e.fullPath),n(e.fileName),"subagents"),j=await v(i,h,f.events);return{...f,subagents:j}}let u={input:0,output:0,cacheRead:0,cacheWrite:0};async function v(a,c,e){let f;try{f=await b.promises.readdir(a)}catch{return[]}let g=new Map,h=[];for(let a of e)if("tool-call"===a.role&&"Agent"===a.toolName)for(let b of a.blocks){if(b?.type!=="tool_use"||"Agent"!==b.name)continue;let c=b.input??{},d="string"==typeof c.description?c.description:void 0,e=a.timestamp?Date.parse(a.timestamp):void 0,f={toolUseId:b.id,parentUuid:a.uuid??"",runInBackground:!0===c.run_in_background,prompt:"string"==typeof c.prompt?c.prompt:void 0,tsMs:e};d&&g.set(d,f),void 0!==e&&h.push(f)}h.sort((a,b)=>(a.tsMs??0)-(b.tsMs??0));let j=f.filter(a=>a.startsWith("agent-")&&a.endsWith(".jsonl"));return(await Promise.all(j.map(async e=>{let f,j=e.replace(/^agent-/,"").replace(/\.jsonl$/,""),k=d.default.join(a,e),l=d.default.join(a,`agent-${j}.meta.json`),m={};try{let a=await b.promises.readFile(l,"utf8");m=JSON.parse(a)}catch{}try{f=await i(k)}catch{return null}let n=function(a){let b,c,d,e,f,g={...u},h=new Set,i=0,j=0,k=0,l=new Map;for(let m of a){if(!m||"object"!=typeof m)continue;i++;let a="string"==typeof m.timestamp?Date.parse(m.timestamp):NaN;if(!Number.isNaN(a)&&((void 0===b||a<b)&&(b=a),(void 0===c||a>c)&&(c=a)),void 0===f&&"user"===m.type&&(null===m.parentUuid||void 0===m.parentUuid)){let a=m.message,b=a?.content;if("string"==typeof b)f=b;else if(Array.isArray(b)){let a=b.find(a=>a&&"object"==typeof a&&"text"===a.type);a?.text&&(f=a.text)}}if("assistant"===m.type){let a=m.message;if(!a)continue;e||"string"!=typeof a.model||(e=a.model);let b="string"==typeof a.id?a.id:void 0,c="string"==typeof m.requestId?m.requestId:void 0,f=null!=b&&null!=c?`${b}:${c}`:void 0,i=!f||!h.has(f);if(f&&i&&h.add(f),i){j++;let b=a.usage;if(b){let a=a=>"number"==typeof a?a:0;g.input+=a(b.input_tokens),g.output+=a(b.output_tokens),g.cacheRead+=a(b.cache_read_input_tokens),g.cacheWrite+=a(b.cache_creation_input_tokens)}}let n=a.content;if(Array.isArray(n))for(let a of n)a&&"object"==typeof a&&("text"===a.type&&"string"==typeof a.text?d=a.text:"tool_use"===a.type&&"string"==typeof a.name&&(k++,l.set(a.name,(l.get(a.name)??0)+1)))}}let m=Array.from(l.entries()).map(([a,b])=>({name:a,count:b})).sort((a,b)=>b.count-a.count);return{startMs:b,endMs:c,totalUsage:g,eventCount:i,finalPreview:void 0!==d?d.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:d,model:e,toolCalls:m,toolCallCount:k,assistantMessageCount:j,initialPrompt:f}}(f),o=m.description&&m.description.trim().length>0?m.description:void 0,p=o?g.get(o):function(a){let b;if(void 0===a)return;let c=1/0;for(let d of h){if(void 0===d.tsMs)continue;let e=Math.abs(a-d.tsMs);e<c&&e<=2e3&&(b=d,c=e)}return b}(n.startMs),q=o??(n.initialPrompt?n.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),r=p?.prompt??n.initialPrompt,s=void 0!==c&&void 0!==n.startMs?Math.max(0,n.startMs-c):void 0,t=void 0!==c&&void 0!==n.endMs?Math.max(0,n.endMs-c):void 0,v=void 0!==n.startMs&&void 0!==n.endMs?n.endMs-n.startMs:void 0;return{agentId:j,agentType:m.agentType??"unknown",description:q,startMs:n.startMs,endMs:n.endMs,durationMs:v,startTOffsetMs:s,endTOffsetMs:t,eventCount:n.eventCount,totalUsage:n.totalUsage,parentUuid:p?.parentUuid,parentToolUseId:p?.toolUseId,runInBackground:p?.runInBackground,prompt:r,finalPreview:n.finalPreview,finalText:n.finalText,model:n.model,toolCalls:n.toolCalls,toolCallCount:n.toolCallCount,assistantMessageCount:n.assistantMessageCount}}))).filter(a=>null!==a).sort((a,b)=>(a.startMs??0)-(b.startMs??0))}async function w(a=g){let b=await m(a),c=new Map;for(let a of b){let b=c.get(a.projectDir)??{count:0,lastActiveMs:0};b.count++,a.mtimeMs>b.lastActiveMs&&(b.lastActiveMs=a.mtimeMs),c.set(a.projectDir,b)}let d=a=>{for(let[,b]of j.entries())if(b.meta.projectDir===a&&b.meta.cwd)return b.meta.cwd},e=new Map;for(let[a,{count:b,lastActiveMs:g}]of c){let c=d(a)??h(a),i=(0,f.canonicalProjectName)(c),j=(0,f.worktreeName)(c),k=e.get(i)??{canonicalName:i,count:0,lastActiveMs:0,worktreeBranches:new Set};k.count+=b,g>k.lastActiveMs&&(k.lastActiveMs=g),j&&k.worktreeBranches.add(j),e.set(i,k)}return Array.from(e.values()).map(a=>({projectDir:a.canonicalName,projectName:a.canonicalName,sessionCount:a.count,lastActiveMs:a.lastActiveMs,worktreeCount:a.worktreeBranches.size})).sort((a,b)=>b.lastActiveMs-a.lastActiveMs)}async function x(a,b={}){let{root:c=g}=b,d=await s({root:c}),e=d.find(b=>b.sessionId===a);if(!e||!e.teamName)return null;let f=e.teamName,h=d.filter(a=>a.teamName===f&&!a.filePath.includes("/subagents/")),i=await Promise.all(h.map(a=>t(a.sessionId,{root:c}))),j=new Map;h.forEach((a,b)=>{let c=i[b];c&&j.set(a.sessionId,c)});let k=(function(a,b){let c=new Map;for(let b of a){if(!b.teamName)continue;let a=c.get(b.teamName)??[];a.push(b),c.set(b.teamName,a)}let d=[];for(let[a,e]of c){let c=function(a,b,c){let d,e=b.filter(a=>a.isTeamLead);if(0===e.length)return null;for(let a of e){let b=c.get(a.sessionId);if(b&&function(a){for(let b of a)if("tool-call"===b.role&&"TeamCreate"===b.toolName)return!0;return!1}(b.events)){d=a;break}}d||(d=[...e].sort((a,b)=>Date.parse(a.firstTimestamp??"")-Date.parse(b.firstTimestamp??""))[0]);let f=new Map;for(let a of b)f.set(a.sessionId,a.agentName);let g=b.filter(a=>a.sessionId!==d.sessionId).sort((a,b)=>Date.parse(a.firstTimestamp??"")-Date.parse(b.firstTimestamp??"")),h=new Map;for(let a of g)a.agentName&&h.set(a.agentName,a.sessionId);let i=[];for(let a of b){let b=c.get(a.sessionId);if(!b)continue;let e=a.sessionId,f=a.agentName??"team-lead";for(let a of b.events){let b=function(a){if("tool-call"!==a.role||"SendMessage"!==a.toolName)return null;for(let b of a.blocks){if(!b||"object"!=typeof b||"tool_use"!==b.type)continue;let a=b.input??{},c="string"==typeof a.to?a.to:"",d="string"==typeof a.message?a.message:"";if(!c)break;return{to:c,body:d}}return null}(a);if(!b)continue;let c=b.to,g="team-lead"===c?d.sessionId:h.get(c)??"";i.push({tsMs:a.timestamp?Date.parse(a.timestamp):0,fromSessionId:e,fromTeammateId:f,toSessionId:g,toTeammateId:c,body:b.body,kind:"message"})}}i.sort((a,b)=>a.tsMs-b.tsMs);let j=[];for(let a of b)a.firstTimestamp&&j.push(Date.parse(a.firstTimestamp)),a.lastTimestamp&&j.push(Date.parse(a.lastTimestamp));let k=j.length?Math.min(...j):0,l=j.length?Math.max(...j):0;return{teamName:a,leadSessionId:d.sessionId,memberSessionIds:g.map(a=>a.sessionId),agentNameBySessionId:f,messages:i,firstEventMs:k,lastEventMs:l}}(a,e,b);c&&d.push(c)}return d})(h,j).find(a=>a.teamName===f);return k?{view:k,details:j}:null}async function y(a,b={}){let{root:c=g}=b,d=await s({root:c}),e=d.find(b=>b.sessionId===a);if(!e||!e.teamName||!e.agentName||e.isTeamLead)return null;let f=d.filter(a=>a.teamName===e.teamName&&a.isTeamLead&&!a.filePath.includes("/subagents/"));return 0===f.length?null:{leadSessionId:f[0].sessionId,teamName:e.teamName,agentName:e.agentName}}d.default.join(c.default.homedir(),".cclens","usage.jsonl"),a.s(["findTeamLead",0,y,"getSession",0,t,"listProjects",0,w,"listSessions",0,s,"loadTeamForSession",0,x,"walkJsonlFiles",0,m],50785)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_parser_dist_0-jvt~a._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[12544,a=>{"use strict";let b=/gh\s+pr\s+create\b/i,
|
|
1
|
+
module.exports=[12544,a=>{"use strict";let b=["/.claude/worktrees/","/.worktrees/"],c=/gh\s+pr\s+create\b/i,d=/#(\d+)/,e=/--title\s+["']([^"']+)["']/;a.s(["canonicalProjectName",0,function(a){let c=function(a){for(let c of b){let b=a.lastIndexOf(c);if(b>=0)return{idx:b,marker:c}}return null}(a);return c?a.slice(0,c.idx):a},"detectPrMarkers",0,function(a){let b=[],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(!c.test(j))continue;let k=j.match(e),l=j.match(d);b.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 b}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_parser_dist_analytics_0k4dgst.js.map
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
"version": 1,
|
|
3
3
|
"functions": {
|
|
4
4
|
"/api/ask": {},
|
|
5
|
-
"/api/events": {}
|
|
5
|
+
"/api/events": {},
|
|
6
|
+
"/api/insights": {},
|
|
7
|
+
"/api/insights/months-index": {},
|
|
8
|
+
"/api/insights/pdf/[key]": {},
|
|
9
|
+
"/api/insights/saved": {},
|
|
10
|
+
"/api/insights/saved/[key]": {},
|
|
11
|
+
"/api/insights/weeks-index": {}
|
|
6
12
|
}
|
|
7
13
|
}
|
|
@@ -7,15 +7,15 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/G_4ofKI9v9ARC_lb9JILZ/_buildManifest.js",
|
|
11
|
+
"static/G_4ofKI9v9ARC_lb9JILZ/_ssgManifest.js",
|
|
12
|
+
"static/G_4ofKI9v9ARC_lb9JILZ/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
|
-
"static/chunks/
|
|
15
|
+
"static/chunks/137uw2-qbro07.js",
|
|
16
16
|
"static/chunks/0pqt~8bl3ukh4.js",
|
|
17
17
|
"static/chunks/0l4e3as18eexy.js",
|
|
18
|
-
"static/chunks/
|
|
19
|
-
"static/chunks/turbopack-
|
|
18
|
+
"static/chunks/0e-wrhqh4h3r5.js",
|
|
19
|
+
"static/chunks/turbopack-169w-1._23ra_.js"
|
|
20
20
|
]
|
|
21
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/137uw2-qbro07.js"/><script src="/_next/static/chunks/0pqt~8bl3ukh4.js" async=""></script><script src="/_next/static/chunks/0l4e3as18eexy.js" async=""></script><script src="/_next/static/chunks/0e-wrhqh4h3r5.js" async=""></script><script src="/_next/static/chunks/turbopack-169w-1._23ra_.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/0018dy-m-kusj.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/137uw2-qbro07.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0018dy-m-kusj.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0018dy-m-kusj.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0018dy-m-kusj.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0018dy-m-kusj.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0018dy-m-kusj.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0018dy-m-kusj.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"G_4ofKI9v9ARC_lb9JILZ\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"u7SlURxedbG3Gb543ITUsOII4fm2P7fj9yFO63TLTUs=\"\n}"
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,52535,e=>{"use strict";var t=e.i(18050),a=e.i(71645);e.s(["LiveBadge",0,function({mtimeIso:e,size:r="sm"}){let[s,i]=(0,a.useState)(()=>Date.now());if((0,a.useEffect)(()=>{let e=setInterval(()=>i(Date.now()),1e4);return()=>clearInterval(e)},[]),!e)return null;let l=Date.parse(e);if(Number.isNaN(l)||s-l>45e3)return null;let o="md"===r?8:6;return(0,t.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:"md"===r?10:9,fontWeight:700,letterSpacing:"0.04em",padding:"md"===r?"3px 9px":"2px 7px",borderRadius:100,background:"rgba(239, 68, 68, 0.12)",color:"#ef4444",textTransform:"uppercase"},title:`Last updated ${new Date(l).toLocaleTimeString()}`,children:[(0,t.jsx)("span",{style:{display:"inline-block",width:o,height:o,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
|
+
`})]})}])},25063,e=>{"use strict";let t=(0,e.i(75254).default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);e.s(["ArrowDown",0,t],25063)},95116,e=>{"use strict";let t=(0,e.i(75254).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],95116)},3116,e=>{"use strict";let t=(0,e.i(75254).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);e.s(["Clock",0,t],3116)},55898,78360,e=>{"use strict";var t=e.i(18050),a=e.i(71645),r=e.i(75254);let s=(0,r.default)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);var i=e.i(25063);let l=(0,r.default)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);e.s(["DataTable",0,function({rows:e,columns:r,getRowKey:o,onRowClick:n,defaultSortKey:d,defaultSortDir:c="desc"}){let[p,u]=(0,a.useState)(d??null),[f,h]=(0,a.useState)(c),x=(0,a.useMemo)(()=>{if(!p)return e;let t=r.find(e=>e.key===p);if(!t||!t.sortValue)return e;let a="asc"===f?1:-1;return[...e].sort((e,r)=>{let s=t.sortValue(e),i=t.sortValue(r);return"number"==typeof s&&"number"==typeof i?(s-i)*a:String(s).localeCompare(String(i))*a})},[e,r,p,f]);return(0,t.jsx)("div",{style:{overflowX:"auto",border:"1px solid var(--af-border-subtle)",borderRadius:8,background:"var(--af-surface)"},children:(0,t.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:12,color:"var(--af-text)"},children:[(0,t.jsx)("thead",{children:(0,t.jsx)("tr",{children:r.map(e=>{let a=p===e.key,r=!1!==e.sortable&&!!e.sortValue;return(0,t.jsx)("th",{onClick:()=>{!1!==e.sortable&&e.sortValue&&(p===e.key?h(e=>"asc"===e?"desc":"asc"):(u(e.key),h("desc")))},style:{textAlign:e.align??"left",fontSize:10,fontWeight:600,color:a?"var(--af-accent)":"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",padding:"10px 12px",borderBottom:"1px solid var(--af-border-subtle)",cursor:r?"pointer":"default",userSelect:"none",whiteSpace:"nowrap",width:e.width,background:"var(--af-surface)",position:"sticky",top:0},children:(0,t.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,verticalAlign:"middle"},children:[e.header,r&&(0,t.jsx)("span",{style:{display:"inline-flex",opacity:a?1:.35},children:a?"asc"===f?(0,t.jsx)(s,{size:10}):(0,t.jsx)(i.ArrowDown,{size:10}):(0,t.jsx)(l,{size:10})})]})},e.key)})})}),(0,t.jsxs)("tbody",{children:[x.map(e=>(0,t.jsx)("tr",{onClick:()=>n?.(e),style:{cursor:n?"pointer":"default",borderBottom:"1px solid var(--af-border-subtle)",transition:"background 0.1s"},onMouseEnter:e=>{e.currentTarget.style.background="var(--af-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background=""},children:r.map(a=>(0,t.jsx)("td",{style:{padding:"10px 12px",textAlign:a.align??"left",whiteSpace:"right"===a.align?"nowrap":void 0,verticalAlign:"top"},children:a.render(e)},a.key))},o(e))),0===x.length&&(0,t.jsx)("tr",{children:(0,t.jsx)("td",{colSpan:r.length,style:{padding:"32px 16px",textAlign:"center",fontSize:12,color:"var(--af-text-tertiary)"},children:"No rows to display."})})]})]})})}],55898);let o=(0,r.default)("LayoutGrid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),n=(0,r.default)("Table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]);var d=e.i(86619);function c({active:e,onClick:a,label:r,icon:s,rightEdge:i}){return(0,t.jsxs)("button",{type:"button",onClick:a,style:{display:"inline-flex",alignItems:"center",gap:5,padding:"6px 12px",fontSize:11,fontWeight:500,background:e?"var(--af-accent-subtle)":"transparent",color:e?"var(--af-accent)":"var(--af-text-secondary)",border:"none",borderRight:i?"none":"1px solid var(--af-border-subtle)",cursor:"pointer",letterSpacing:"0.02em"},children:[s,r]})}e.s(["useViewToggle",0,function(e,a="cards"){let[r,s,i]=(0,d.usePersistentBoolean)(e,"table"===a);return{mode:r?"table":"cards",toggle:(0,t.jsxs)("div",{style:{display:"inline-flex",border:"1px solid var(--af-border-subtle)",borderRadius:6,overflow:"hidden"},children:[(0,t.jsx)(c,{active:!r,onClick:()=>s(!1),label:"Cards",icon:(0,t.jsx)(o,{size:12})}),(0,t.jsx)(c,{active:r,onClick:()=>s(!0),label:"Table",icon:(0,t.jsx)(n,{size:12}),rightEdge:!0})]}),hydrated:i}}],78360)},86333,e=>{"use strict";var t=e.i(18050),a=e.i(22016),r=e.i(71645),s=e.i(18566),i=e.i(56324),l=e.i(55436),o=e.i(95116);let n=(0,e.i(75254).default)("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);var d=e.i(3116),c=e.i(52535),p=e.i(56004),u=e.i(55898),f=e.i(78360);let h=[{key:"project",header:"Project",sortValue:e=>e.projectName,render:e=>(0,t.jsxs)("div",{style:{maxWidth:180,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.projectName,children:[(0,t.jsxs)("div",{style:{fontWeight:500,display:"flex",alignItems:"center",gap:6},children:[(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:(0,i.prettyProjectName)(e.projectName)}),(0,t.jsx)(p.TeamBadge,{session:e})]}),(0,t.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:(0,i.shortId)(e.id)})]})},{key:"preview",header:"First message",sortable:!1,render:e=>(0,t.jsx)("div",{style:{maxWidth:360,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--af-text-secondary)"},title:e.firstUserPreview,children:e.firstUserPreview||"—"})},{key:"created",header:"Created",sortValue:e=>e.firstTimestamp?Date.parse(e.firstTimestamp):0,align:"right",render:e=>(0,t.jsx)("span",{suppressHydrationWarning:!0,style:{fontFamily:"var(--font-mono)",fontSize:11},children:e.firstTimestamp?(0,i.formatRelative)(e.firstTimestamp):"—"})},{key:"lastActive",header:"Last active",sortValue:e=>e.lastTimestamp?Date.parse(e.lastTimestamp):0,align:"right",render:e=>(0,t.jsx)("span",{suppressHydrationWarning:!0,style:{fontFamily:"var(--font-mono)",fontSize:11},children:e.lastTimestamp?(0,i.formatRelative)(e.lastTimestamp):"—"})},{key:"airtime",header:"Agent time",sortValue:e=>e.airTimeMs??e.durationMs??0,align:"right",render:e=>(0,t.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(0,i.formatDuration)(e.airTimeMs??e.durationMs??0)})},{key:"turns",header:"Turns",sortValue:e=>e.turnCount??0,align:"right",render:e=>(0,t.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(e.turnCount??0).toLocaleString()})},{key:"tools",header:"Tool calls",sortValue:e=>e.toolCallCount??0,align:"right",render:e=>(0,t.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(e.toolCallCount??0).toLocaleString()})},{key:"tokens",header:"Tokens",sortValue:e=>e.totalUsage.input+e.totalUsage.output+e.totalUsage.cacheRead+e.totalUsage.cacheWrite,align:"right",render:e=>(0,t.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(0,i.formatTokens)(e.totalUsage.input+e.totalUsage.output+e.totalUsage.cacheRead+e.totalUsage.cacheWrite)})},{key:"status",header:"Status",sortValue:e=>+("running"===e.status),align:"center",render:e=>"running"===e.status?(0,t.jsx)(c.LiveBadge,{}):(0,t.jsx)("span",{style:{opacity:.4},children:"—"})}];function x({session:e}){let r=e.totalUsage.input+e.totalUsage.output+e.totalUsage.cacheRead+e.totalUsage.cacheWrite;return(0,t.jsxs)(a.default,{href:`/sessions/${e.id}`,className:"af-card",style:{display:"flex",flexDirection:"column",gap:10,padding:"14px 16px"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,t.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:6,minWidth:0},title:e.projectName,children:[(0,t.jsx)(c.LiveBadge,{mtimeIso:e.lastTimestamp}),(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,i.prettyProjectName)(e.projectName)}),(0,t.jsx)(p.TeamBadge,{session:e,linkable:!1})]}),(0,t.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",flexShrink:0},suppressHydrationWarning:!0,children:e.firstTimestamp?(0,i.formatRelative)(e.firstTimestamp):"—"})]}),(0,t.jsx)("div",{style:{fontSize:13,color:"var(--af-text)",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",minHeight:36,lineHeight:1.4},title:e.firstUserPreview,children:e.firstUserPreview||(0,t.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"var(--af-text-secondary)",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",lineHeight:1.4,paddingLeft:10,borderLeft:"2px solid var(--af-accent-subtle)"},title:e.lastAgentPreview,children:e.lastAgentPreview||(0,t.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"—"})}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,fontSize:10.5,color:"var(--af-text-tertiary)",paddingTop:8,borderTop:"1px solid var(--af-border-subtle)",fontFamily:"var(--font-mono)"},children:[(0,t.jsx)(m,{icon:(0,t.jsx)(n,{size:11}),label:`${e.turnCount??0} turn${1===e.turnCount?"":"s"}`}),(0,t.jsx)(m,{icon:(0,t.jsx)(o.Wrench,{size:11}),label:`${e.toolCallCount??0} tools`}),(0,t.jsx)(m,{icon:(0,t.jsx)(d.Clock,{size:11}),label:(0,i.formatDuration)(e.airTimeMs??e.durationMs)}),(0,t.jsx)("span",{style:{marginLeft:"auto"},children:(0,i.formatTokens)(r)})]})]})}function m({icon:e,label:a}){return(0,t.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[e,a]})}e.s(["SessionsGrid",0,function({sessions:e}){let a=(0,s.useRouter)(),[o,n]=(0,r.useState)(""),[d,c]=(0,r.useState)("all"),[p,m]=(0,r.useState)("newest"),{mode:y,toggle:g}=(0,f.useViewToggle)("cclens:sessions:view"),v=(0,r.useMemo)(()=>["all",...Array.from(new Set(e.map(e=>e.projectName))).sort()],[e]),j=(0,r.useMemo)(()=>{let t=e.slice();if("all"!==d&&(t=t.filter(e=>e.projectName===d)),o){let e=o.toLowerCase();t=t.filter(t=>t.id.toLowerCase().includes(e)||(t.firstUserPreview??"").toLowerCase().includes(e)||(t.lastAgentPreview??"").toLowerCase().includes(e)||t.projectName.toLowerCase().includes(e))}return"newest"===p?t.sort((e,t)=>(t.firstTimestamp?Date.parse(t.firstTimestamp):0)-(e.firstTimestamp?Date.parse(e.firstTimestamp):0)):"longest"===p?t.sort((e,t)=>(t.airTimeMs??t.durationMs??0)-(e.airTimeMs??e.durationMs??0)):"most-tokens"===p&&t.sort((e,t)=>t.totalUsage.input+t.totalUsage.output+t.totalUsage.cacheRead-(e.totalUsage.input+e.totalUsage.output+e.totalUsage.cacheRead)),t},[e,d,o,p]);return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{display:"flex",gap:10,marginBottom:16,flexWrap:"wrap",alignItems:"center"},children:[(0,t.jsxs)("div",{style:{position:"relative",flex:1,minWidth:260,maxWidth:480},children:[(0,t.jsx)(l.Search,{size:13,color:"var(--af-text-tertiary)",style:{position:"absolute",left:12,top:"50%",transform:"translateY(-50%)"}}),(0,t.jsx)("input",{type:"text",placeholder:"Search by message, project, or ID",value:o,onChange:e=>n(e.target.value),style:{width:"100%",paddingLeft:32}})]}),(0,t.jsx)("select",{value:d,onChange:e=>c(e.target.value),style:{maxWidth:260},children:v.map(e=>(0,t.jsx)("option",{value:e,children:"all"===e?"All projects":(0,i.prettyProjectName)(e)},e))}),(0,t.jsxs)("select",{value:p,onChange:e=>m(e.target.value),children:[(0,t.jsx)("option",{value:"newest",children:"Newest"}),(0,t.jsx)("option",{value:"longest",children:"Longest"}),(0,t.jsx)("option",{value:"most-tokens",children:"Most tokens"})]}),(0,t.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:j.length}),g]}),0===j.length?(0,t.jsx)("div",{className:"af-empty",children:"No sessions found."}):"table"===y?(0,t.jsx)(u.DataTable,{rows:j,getRowKey:e=>`${e.projectDir}/${e.id}`,onRowClick:e=>a.push(`/sessions/${e.id}`),defaultSortKey:"lastActive",defaultSortDir:"desc",columns:h}):(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(360px, 1fr))",gap:14},children:j.map(e=>(0,t.jsx)(x,{session:e},`${e.projectDir}/${e.id}`))})]})}],86333)}]);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63059,e=>{"use strict";let t=(0,e.i(75254).default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",0,t],63059)},31278,e=>{"use strict";let t=(0,e.i(75254).default)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],31278)},5014,e=>{"use strict";var t=e.i(18050),n=e.i(71645),s=e.i(18566),a=e.i(75254);let r=(0,a.default)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var i=e.i(63059);let l=(0,a.default)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var o=e.i(31278);let d=(0,a.default)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),c=[{id:"data",label:"Gather data",status:"pending",steps:[]},{id:"analyst",label:"Claude analyst",status:"pending",steps:[]},{id:"compose",label:"Compose report",status:"pending",steps:[]}];function p({onGenerate:e,onOpen:s}){let[a,r]=(0,n.useState)("weeks"),[i,l]=(0,n.useState)(null),[o,d]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{fetch("/api/insights/weeks-index?count=12").then(e=>e.json()).then(e=>l(e.weeks)).catch(()=>l([]))},[]),(0,t.jsxs)("div",{style:{maxWidth:820,margin:"0 auto",padding:"32px 40px 64px",display:"flex",flexDirection:"column",gap:24},children:[(0,t.jsxs)("header",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,t.jsx)("h1",{style:{fontSize:26,fontWeight:700,letterSpacing:"-0.02em",margin:0},children:"Insights"}),(0,t.jsx)("p",{style:{fontSize:13,color:"var(--af-text-secondary)",margin:0,lineHeight:1.55},children:"Pick a calendar week or a 4-week rollup. If a report already exists we'll open it instantly; otherwise Claude runs the pipeline (~1–3 min) and saves the result locally."})]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,t.jsx)("div",{style:k,children:["weeks","months"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>r(e),style:{...w,background:a===e?"var(--af-accent)":"transparent",color:a===e?"white":"var(--af-text-secondary)"},children:"weeks"===e?"Weeks":"Months"},e))}),(0,t.jsxs)("label",{style:S,children:[(0,t.jsx)("input",{type:"checkbox",checked:o,onChange:e=>d(e.target.checked)}),(0,t.jsxs)("span",{children:["Include current ","weeks"===a?"week":"month"]})]})]}),"weeks"===a?null===i?(0,t.jsx)("div",{style:R,children:"Loading weeks…"}):(0,t.jsx)("ul",{style:{listStyle:"none",padding:0,margin:0,display:"flex",flexDirection:"column",gap:4},children:i.filter(e=>o||!e.in_progress).map(n=>(0,t.jsx)(f,{w:n,onView:()=>n.saved_key&&s(n.saved_key),onGenerate:()=>e({id:`week-${n.start}`,label:`Week of ${n.label}`,body:{range_type:"custom",since:n.start,until:n.end}})},n.start))}):(0,t.jsx)(u,{onGenerate:e,onOpen:s,includeInProgress:o}),(0,t.jsx)(m,{})]})}function f({w:e,onView:n,onGenerate:s}){let a=!!e.saved_key,r=0===e.sessions&&!e.in_progress;return(0,t.jsxs)("li",{style:C(a),children:[(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0,flex:1},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,t.jsxs)("span",{style:{fontSize:13,fontWeight:600,color:"var(--af-text)",letterSpacing:"-0.01em"},children:["W",String(e.iso_week).padStart(2,"0")," · ",e.label]}),e.in_progress&&(0,t.jsx)("span",{style:W,children:"in progress"})]}),(0,t.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",display:"flex",gap:8,flexWrap:"wrap"},children:[(0,t.jsxs)("span",{children:[e.sessions," sess"]}),a&&e.archetype_label&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{style:{color:"var(--af-accent)"},children:e.archetype_label}),(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{children:[e.sessions_used," used · ",e.prs," PR"]})]}),r&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:"no data"})]})]})]}),a?(0,t.jsxs)("button",{type:"button",onClick:n,style:v,children:["View report ",(0,t.jsx)(i.ChevronRight,{size:13})]}):r?(0,t.jsx)("span",{style:z,children:"no data"}):e.in_progress?(0,t.jsx)("button",{type:"button",onClick:s,style:j,title:"Current week is partial and won't be auto-saved",children:"Generate anyway"}):(0,t.jsx)("button",{type:"button",onClick:s,style:j,children:"Generate"})]})}function u({onGenerate:e,onOpen:s,includeInProgress:a}){let[r,i]=(0,n.useState)(null);return((0,n.useEffect)(()=>{fetch("/api/insights/months-index?count=6").then(e=>e.json()).then(e=>i(e.months)).catch(()=>i([]))},[]),null===r)?(0,t.jsx)("div",{style:R,children:"Loading months…"}):(0,t.jsx)("ul",{style:{listStyle:"none",padding:0,margin:0,display:"flex",flexDirection:"column",gap:4},children:r.filter(e=>a||!e.in_progress).map(n=>(0,t.jsx)(x,{m:n,onView:()=>n.saved_key&&s(n.saved_key),onGenerate:()=>e({id:`month-${n.start}`,label:n.label,body:{range_type:"custom",since:n.start,until:n.end}})},n.start))})}function x({m:e,onView:n,onGenerate:s}){let a=!!e.saved_key,r=0===e.sessions&&!e.in_progress;return(0,t.jsxs)("li",{style:C(a),children:[(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0,flex:1},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,t.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--af-text)",letterSpacing:"-0.01em"},children:e.label}),e.in_progress&&(0,t.jsx)("span",{style:W,children:"in progress"})]}),(0,t.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",display:"flex",gap:8,flexWrap:"wrap"},children:[(0,t.jsxs)("span",{children:[e.sessions," sess"]}),a&&e.archetype_label&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{style:{color:"var(--af-accent)"},children:e.archetype_label}),(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{children:[e.sessions_used," used · ",e.prs," PR"]})]}),r&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:"no data"})]})]})]}),a?(0,t.jsxs)("button",{type:"button",onClick:n,style:v,children:["View report ",(0,t.jsx)(i.ChevronRight,{size:13})]}):r?(0,t.jsx)("span",{style:z,children:"no data"}):e.in_progress?(0,t.jsx)("button",{type:"button",onClick:s,style:j,title:"Current month is partial and won't be auto-saved",children:"Generate anyway"}):(0,t.jsx)("button",{type:"button",onClick:s,style:j,children:"Generate"})]})}function g({view:e,onStop:n}){let s=Math.floor(e.elapsedMs/1e3);return(0,t.jsxs)("div",{style:{maxWidth:720,margin:"0 auto",padding:"60px 40px",display:"flex",flexDirection:"column",gap:24},children:[(0,t.jsxs)("header",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:12,flexWrap:"wrap"},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:{fontSize:11,letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--af-text-tertiary)",fontWeight:600},children:"Generating"}),(0,t.jsx)("h1",{style:{fontSize:22,fontWeight:700,letterSpacing:"-0.02em",margin:"2px 0 0"},children:e.label})]}),(0,t.jsxs)("button",{type:"button",onClick:n,style:j,children:[(0,t.jsx)(d,{size:12})," Stop"]})]}),(0,t.jsxs)("div",{style:_,children:[e.phases.map((e,n)=>{var s;return(0,t.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 10px",borderRadius:999,background:"running"===(s=e.status)?"color-mix(in srgb, var(--af-accent) 16%, transparent)":"done"===s?"color-mix(in srgb, var(--af-accent) 9%, transparent)":"var(--af-surface-raised)",color:"pending"===s?"var(--af-text-tertiary)":"var(--af-text)"},children:[(0,t.jsx)(y,{status:e.status}),(0,t.jsxs)("span",{style:{fontSize:11,fontWeight:600,letterSpacing:"0.02em"},children:[n+1,". ",e.label]})]},e.id)}),(0,t.jsxs)("div",{style:{marginLeft:"auto",fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",display:"inline-flex",alignItems:"center",gap:6},children:[(0,t.jsx)(o.Loader2,{size:11,className:"af-spin"})," ",s,"s elapsed"]})]}),e.phases.map(e=>{var n;return e.steps.length>0?(0,t.jsxs)("div",{style:{padding:"14px 18px",borderRadius:10,border:"1px solid var(--af-border-subtle)",background:"running"===(n=e.status)?"var(--af-surface)":"transparent",opacity:"pending"===n?.6:1},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,t.jsx)(y,{status:e.status}),(0,t.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"done"===e.status?"var(--af-text-secondary)":"var(--af-text)"},children:e.label})]}),(0,t.jsx)("ol",{style:I,children:e.steps.map((n,s)=>(0,t.jsxs)("li",{style:{...D,opacity:s===e.steps.length-1&&"running"===e.status?1:.65},children:[(0,t.jsx)("span",{style:{color:"var(--af-accent)",fontSize:10,width:10},children:s===e.steps.length-1&&"running"===e.status?"•":"✓"}),n]},s))})]},e.id):null}),(0,t.jsx)(m,{})]})}function h(e){return({data:0,analyst:1,compose:2})[e]}function y({status:e}){return"done"===e?(0,t.jsx)(r,{size:14,color:"var(--af-accent)"}):"running"===e?(0,t.jsx)(o.Loader2,{size:14,color:"var(--af-accent)",className:"af-spin"}):(0,t.jsx)(l,{size:14,color:"var(--af-text-tertiary)"})}function m(){return(0,t.jsx)("style",{children:`
|
|
2
|
+
@keyframes af-spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }
|
|
3
|
+
.af-spin { animation: af-spin 0.9s linear infinite; }
|
|
4
|
+
`})}let b={maxWidth:720,margin:"60px auto",padding:"14px 18px",borderRadius:10,border:"1px solid var(--af-border)",background:"var(--af-surface)",fontSize:13,color:"var(--af-text)"},v={display:"inline-flex",alignItems:"center",gap:6,padding:"8px 14px",border:"1px solid var(--af-accent)",borderRadius:8,background:"var(--af-accent)",color:"white",fontSize:12,fontWeight:600,cursor:"pointer"},j={display:"inline-flex",alignItems:"center",gap:6,padding:"7px 12px",border:"1px solid var(--af-border)",borderRadius:8,background:"var(--af-surface)",color:"var(--af-text)",fontSize:12,fontWeight:500,cursor:"pointer"},k={display:"inline-flex",gap:3,border:"1px solid var(--af-border)",borderRadius:8,padding:2},w={padding:"5px 14px",fontSize:12,fontWeight:600,border:"none",borderRadius:6,cursor:"pointer"},S={display:"inline-flex",alignItems:"center",gap:6,fontSize:11.5,color:"var(--af-text-secondary)",cursor:"pointer",marginLeft:"auto"};function C(e){return{display:"flex",alignItems:"center",justifyContent:"space-between",gap:14,padding:"12px 16px",borderRadius:10,border:`1px solid ${e?"color-mix(in srgb, var(--af-accent) 24%, var(--af-border))":"var(--af-border-subtle)"}`,background:e?"color-mix(in srgb, var(--af-accent) 6%, var(--af-surface))":"var(--af-surface)"}}let z={fontSize:11.5,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",padding:"7px 12px"},W={fontSize:10,fontWeight:500,padding:"2px 6px",borderRadius:4,background:"color-mix(in srgb, #f5b445 18%, transparent)",color:"#c08a1f",marginLeft:8,letterSpacing:"0.02em"},R={padding:"20px 18px",borderRadius:10,border:"1px dashed var(--af-border)",background:"var(--af-surface)",fontSize:12.5,color:"var(--af-text-tertiary)",lineHeight:1.55},_={display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",padding:"10px 14px",borderRadius:10,border:"1px solid var(--af-border-subtle)",background:"var(--af-surface)"},I={listStyle:"none",padding:0,margin:0,display:"flex",flexDirection:"column",gap:4,fontFamily:"var(--font-mono)",fontSize:12,color:"var(--af-text-secondary)"},D={display:"flex",alignItems:"baseline",gap:8};e.s(["InsightsView",0,function(){let e=(0,s.useRouter)(),[a,r]=(0,n.useState)({kind:"history"}),i=(0,n.useRef)(null),l=(0,n.useRef)(null),o=(0,n.useCallback)(t=>{e.push(`/insights/${t}`)},[e]),d=(0,n.useCallback)(async t=>{let n=c.map(e=>({...e,steps:[]}));n[0].status="running";let s=Date.now();l.current=window.setInterval(()=>{r(e=>{if("generating"!==e.kind)return e;let t=Date.now()-s;return Math.floor(t/1e3)===Math.floor(e.elapsedMs/1e3)?e:{...e,elapsedMs:t}})},500),r({kind:"generating",rangeId:t.id,label:t.label,phases:n,elapsedMs:0});let a=new AbortController;i.current=a;try{let n=await fetch("/api/insights",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t.body),signal:a.signal});if(!n.ok||!n.body)return void r({kind:"error",message:await n.text()||`HTTP ${n.status}`});let s=n.body.getReader(),i=new TextDecoder,l="",o=!1,d=null,c=null;for(;!o;){let e=await s.read();if(e.done)break;let t=(l+=i.decode(e.value,{stream:!0})).split("\n");for(let e of(l=t.pop(),t)){let t;if(!e.startsWith("data: "))continue;let n=e.slice(6).trim();if(n){try{t=JSON.parse(n)}catch{continue}if("status"===t.type){let{phase:e,text:n}=t;r(t=>{if("generating"!==t.kind)return t;let s={...t,phases:t.phases.map(t=>t.id===e?{...t,steps:[...t.steps]}:t)};for(let t of s.phases)if(t.id===e){t.status="running";let e=t.steps[t.steps.length-1];e&&function(e,t){return["Built ","Claude composing","Aggregating ","Sending "].some(n=>e.startsWith(n)&&t.startsWith(n))}(e,n)?t.steps[t.steps.length-1]=n:t.steps.push(n)}else h(t.id)<h(e)&&(t.status="done");return s})}else if("report"===t.type)c=t.report;else if("saved"===t.type)d=t.key;else if("done"===t.type)o=!0,r(e=>"generating"===e.kind?{...e,phases:e.phases.map(e=>({...e,status:"done"}))}:e);else if("error"===t.type)return void r({kind:"error",message:t.message})}}}c&&d?e.push(`/insights/${d}`):r({kind:"history"})}catch(e){"AbortError"!==e.name&&r({kind:"error",message:e.message})}finally{l.current&&(window.clearInterval(l.current),l.current=null),i.current=null}},[e]);return"error"===a.kind?(0,t.jsxs)("div",{style:b,children:[(0,t.jsx)("strong",{children:"Error:"})," ",a.message,(0,t.jsx)("button",{type:"button",onClick:()=>r({kind:"history"}),style:{...v,marginLeft:12},children:"Back"})]}):"generating"===a.kind?(0,t.jsx)(g,{view:a,onStop:()=>i.current?.abort()}):(0,t.jsx)(p,{onGenerate:d,onOpen:o})}],5014)}]);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim();var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:i=2,absoluteStrokeWidth:o,className:l="",children:s,iconNode:c,...u},d)=>(0,t.createElement)("svg",{ref:d,...n,width:a,height:a,stroke:e,strokeWidth:o?24*Number(i)/Number(a):i,className:r("lucide",l),...u},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(s)?s:[s]]));e.s(["default",0,(e,n)=>{let i=(0,t.forwardRef)(({className:i,...o},l)=>(0,t.createElement)(a,{ref:l,iconNode:n,className:r(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,i),...o}));return i.displayName=`${e}`,i}],75254)},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function i(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,o(e));else t.set(r,o(n));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return b},NormalizeError:function(){return x},PageNotFoundError:function(){return v},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return i},execOnce:function(){return o},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return s},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return j}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>l.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=c();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class x extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function j(e){return JSON.stringify({message:e.message,stack:e.stack})}},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return l},formatWithValidation:function(){return c},urlObjectKeys:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",l=e.hash||"",s=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),s&&"object"==typeof s&&(s=String(i.urlQueryToSearchParams(s)));let u=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||o.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),l&&"#"!==l[0]&&(l="#"+l),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${a}${u}${l}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return l(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=i(e,n)),t&&(a.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(18967),a=e.r(52817);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return v}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(90809),o=e.r(18050),l=i._(e.r(71645)),s=e.r(95057),c=e.r(8372),u=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(88540),h=e.r(91949),g=e.r(73668),m=e.r(9396);function y(t){var r,n;let a,i,y,[v,b]=(0,l.useOptimistic)(h.IDLE_LINK_STATUS),w=(0,l.useRef)(null),{href:j,as:k,children:S,prefetch:M=null,passHref:$,replace:P,shallow:T,scroll:E,onClick:O,onMouseEnter:C,onTouchStart:N,legacyBehavior:z=!1,onNavigate:R,transitionTypes:I,ref:_,unstable_dynamicOnHover:L,...D}=t;a=S,z&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let A=l.default.useContext(c.AppRouterContext),W=!1!==M,F=!1!==M?null===(n=M)||"auto"===n?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,U="string"==typeof(r=k||j)?r:(0,s.formatUrl)(r);if(z){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=l.default.Children.only(a)}let B=z?i&&"object"==typeof i&&i.ref:_,H=l.default.useCallback(e=>(null!==A&&(w.current=(0,h.mountLinkInstance)(e,U,A,F,W,b)),()=>{w.current&&((0,h.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,h.unmountPrefetchableInstance)(e)}),[W,U,A,F,b]),q={ref:(0,u.useMergedRef)(H,B),onClick(t){z||"function"!=typeof O||O(t),z&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!A||t.defaultPrevented||function(t,r,n,a,i,o,s){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),o){let e=!1;if(o({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);l.default.startTransition(()=>{d(r,a?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,s)})}}(t,U,w,P,E,R,I)},onMouseEnter(e){z||"function"!=typeof C||C(e),z&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),A&&W&&(0,h.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){z||"function"!=typeof N||N(e),z&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),A&&W&&(0,h.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,d.isAbsoluteUrl)(U)?q.href=U:z&&!$&&("a"!==i.type||"href"in i.props)||(q.href=(0,f.addBasePath)(U)),y=z?l.default.cloneElement(i,q):(0,o.jsx)("a",{...D,...q,children:a}),(0,o.jsx)(x.Provider,{value:v,children:y})}e.r(84508);let x=(0,l.createContext)(h.IDLE_LINK_STATUS),v=()=>(0,l.useContext)(x);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},41240,e=>{"use strict";let t=(0,e.i(75254).default)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);e.s(["Lightbulb",0,t],41240)},86619,e=>{"use strict";var t=e.i(71645);e.s(["usePersistentBoolean",0,function(e,r){let[n,a]=(0,t.useState)(r),[i,o]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{try{let t=window.localStorage.getItem(e);"1"===t?a(!0):"0"===t&&a(!1)}catch{}o(!0)},[e]),(0,t.useEffect)(()=>{let t=t=>{let r=t.detail;r?.key===e&&"boolean"==typeof r.value&&a(r.value)},r=t=>{t.key===e&&("1"===t.newValue?a(!0):"0"===t.newValue&&a(!1))};return window.addEventListener("cclens:persistent-boolean",t),window.addEventListener("storage",r),()=>{window.removeEventListener("cclens:persistent-boolean",t),window.removeEventListener("storage",r)}},[e]),[n,(0,t.useCallback)(t=>{a(t);try{window.localStorage.setItem(e,t?"1":"0")}catch{}window.dispatchEvent(new CustomEvent("cclens:persistent-boolean",{detail:{key:e,value:t}}))},[e]),i]}])},18566,(e,t,r)=>{t.exports=e.r(76562)},56324,e=>{"use strict";e.s(["formatDuration",0,function(e){if(void 0===e)return"—";if(e<1e3)return`${e}ms`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60),n=t%60;if(r<60)return n?`${r}m ${n}s`:`${r}m`;let a=Math.floor(r/60),i=r%60;return i?`${a}h ${i}m`:`${a}h`},"formatGap",0,function(e){if(e<1e3)return`${e}ms`;let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let r=Math.floor(t/60);if(r<60){let e=Math.round(t%60);return`${r}m ${e}s`}let n=Math.floor(r/60),a=r%60;if(n<24)return a?`${n}h ${a}m`:`${n}h`;let i=Math.floor(n/24),o=n%24;return o?`${i}d ${o}h`:`${i}d`},"formatOffset",0,function(e){if(void 0===e||e<0)return"—";let t=Math.floor(e/1e3),r=Math.floor(t/3600),n=String(Math.floor(t%3600/60)).padStart(2,"0"),a=String(t%60).padStart(2,"0");return`${r}:${n}:${a}`},"formatRelative",0,function(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let r=Math.round((Date.now()-t)/1e3);if(r<60)return`${r}s ago`;let n=Math.round(r/60);if(n<60)return`${n}m ago`;let a=Math.round(n/60);if(a<24)return`${a}h ago`;let i=Math.round(a/24);return`${i}d ago`},"formatTokens",0,function(e){return e<1e3?String(e):e<1e4?(e/1e3).toFixed(1)+"k":e<1e6?Math.round(e/1e3)+"k":e<1e7?(e/1e6).toFixed(2)+"M":(e/1e6).toFixed(1)+"M"},"prettyProjectName",0,function(e,t=35){let r=e.split("/").filter(Boolean),n=r.lastIndexOf(".worktrees");if(n>0&&n<r.length-1){let e=r[n-1],a=r[n+1],i=`${e}/${a}`;return i.length<=t?i:"…"+i.slice(i.length-t+1)}let a=r.length>=2?`${r[r.length-2]}/${r[r.length-1]}`:r[r.length-1]??e;return a.length<=t?a:"…"+a.slice(a.length-t+1)},"shortId",0,function(e){return e.length<=10?e:e.slice(0,6)+"…"+e.slice(-4)}])},55436,e=>{"use strict";let t=(0,e.i(75254).default)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);e.s(["Search",0,t],55436)},56004,e=>{"use strict";var t=e.i(18050),r=e.i(22016);let n={display:"inline-flex",alignItems:"center",borderRadius:4,padding:"2px 6px",fontSize:10,letterSpacing:"0.04em",textTransform:"uppercase",whiteSpace:"nowrap"};e.s(["TeamBadge",0,function({session:e,linkable:a=!0}){if(!e.teamName)return null;let i=!0===e.isTeamLead,o=void 0!==e.agentName;return i||o?i&&a?(0,t.jsx)(r.default,{href:`/sessions/${e.id}`,style:{...n,fontWeight:600,background:"var(--af-warning-subtle)",color:"var(--af-warning)",border:"1px solid var(--af-warning-subtle)",textDecoration:"none"},title:`Team lead — ${e.teamName}`,children:"Team Lead"}):i?(0,t.jsx)("span",{style:{...n,fontWeight:600,background:"var(--af-warning-subtle)",color:"var(--af-warning)",border:"1px solid var(--af-warning-subtle)"},title:`Team lead — ${e.teamName}`,children:"Team Lead"}):(0,t.jsx)("span",{style:{...n,fontWeight:500,background:"var(--af-surface-hover)",color:"var(--af-text-tertiary)",border:"1px solid var(--af-border-subtle)"},title:`Team member — ${e.teamName} \xb7 ${e.agentName}`,children:"Team Member"}):null}])},86566,e=>{"use strict";var t=e.i(18050),r=e.i(22016),n=e.i(18566),a=e.i(71645),i=e.i(75254);let o=(0,i.default)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]),l=(0,i.default)("ListTree",[["path",{d:"M21 12h-8",key:"1bmf0i"}],["path",{d:"M21 6H8",key:"1pqkrb"}],["path",{d:"M21 18h-8",key:"1tm79t"}],["path",{d:"M3 6v4c0 1.1.9 2 2 2h3",key:"1ywdgy"}],["path",{d:"M3 10v6c0 1.1.9 2 2 2h3",key:"2wc746"}]]),s=(0,i.default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),c=(0,i.default)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),u=(0,i.default)("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),d=(0,i.default)("PinOff",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var f=e.i(55436);let p=(0,i.default)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),h=(0,i.default)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);var g=e.i(41240),m=e.i(56324);let y=(0,i.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),x=(0,i.default)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),v="claude-lens:theme";function b(e){if("u">typeof document){document.documentElement.setAttribute("data-theme",e);try{document.cookie=`claude-lens-theme=${e};path=/;max-age=31536000;samesite=lax`}catch{}}}function w(){let[e,r]=(0,a.useState)("dark"),[n,i]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=document.documentElement.getAttribute("data-theme");if("light"===e||"dark"===e)r(e);else{let e=function(){try{let e=window.localStorage.getItem(v);if("light"===e||"dark"===e)return e}catch{}return null}()??(window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark");r(e),b(e)}i(!0)},[]),(0,t.jsx)("button",{type:"button",onClick:()=>{let t="dark"===e?"light":"dark";r(t),b(t);try{window.localStorage.setItem(v,t)}catch{}},"aria-label":"dark"===e?"Switch to light mode":"Switch to dark mode",title:"dark"===e?"Switch to light mode":"Switch to dark mode",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:28,height:28,borderRadius:6,background:"transparent",border:"1px solid var(--af-border-subtle)",color:"var(--af-text-secondary)",cursor:"pointer",transition:"all 0.12s"},onMouseEnter:e=>{e.currentTarget.style.background="var(--af-surface-hover)",e.currentTarget.style.color="var(--af-text)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--af-text-secondary)"},children:n?"dark"===e?(0,t.jsx)(x,{size:14}):(0,t.jsx)(y,{size:14}):null})}var j=e.i(86619);function k({snapshot:e}){let n,a,[i,,o]=(0,j.usePersistentBoolean)("cclens:usage:show-sonnet",!1);if(!e)return(0,t.jsxs)("div",{style:{padding:"10px 16px 12px",borderTop:"1px solid var(--af-border-subtle)",fontSize:10,color:"var(--af-text-tertiary)",lineHeight:1.4},children:[(0,t.jsx)("div",{style:{textTransform:"uppercase",letterSpacing:"0.06em",fontWeight:600,marginBottom:4},children:"Usage"}),(0,t.jsxs)("div",{children:["Run ",(0,t.jsx)("code",{style:{fontFamily:"var(--font-mono)"},children:"cclens daemon start"})," to collect metrics."]})]});let l=[{label:"5h",window:e.five_hour},{label:"7d",window:e.seven_day}];return o&&i&&l.push({label:"Sonnet 7d",window:e.seven_day_sonnet}),(0,t.jsxs)(r.default,{href:"/usage",style:{display:"block",padding:"10px 16px 12px",borderTop:"1px solid var(--af-border-subtle)",textDecoration:"none",color:"inherit"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:10,fontWeight:600,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:8},children:[(0,t.jsx)("span",{children:"Current usage"}),(0,t.jsx)("span",{suppressHydrationWarning:!0,style:{fontWeight:500,textTransform:"none",letterSpacing:0},children:(n=new Date(e.captured_at).getTime(),(a=Math.round((Date.now()-n)/1e3))<60?`${a}s ago`:a<3600?`${Math.floor(a/60)}m ago`:a<86400?`${Math.floor(a/3600)}h ago`:`${Math.floor(a/86400)}d ago`)})]}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:l.map(e=>(0,t.jsx)(S,{...e},e.label))})]})}function S({label:e,window:r}){let n=r?.utilization??null,a=null!==n,i=a?Math.max(0,Math.min(100,n)):0,o=i>=90?"var(--af-danger)":i>=70?"var(--af-warning)":"var(--af-success)";return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6,fontSize:10,color:"var(--af-text-secondary)",marginBottom:2,fontVariantNumeric:"tabular-nums"},children:[(0,t.jsx)("span",{children:e}),r?.resets_at&&(0,t.jsxs)("span",{suppressHydrationWarning:!0,style:{fontSize:9,color:"var(--af-text-tertiary)",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["resets ",function(e){let t,r=Math.round((new Date(e).getTime()-Date.now())/1e3),n=Math.abs(r);if(n<60)t=`${n}s`;else if(n<3600)t=`${Math.floor(n/60)}m`;else if(n<86400){let e=Math.floor(n/3600),r=Math.floor(n%3600/60);t=r>0?`${e}h${r}m`:`${e}h`}else{let e=Math.floor(n/86400),r=Math.floor(n%86400/3600);t=r>0?`${e}d${r}h`:`${e}d`}return r<0?`${t} ago`:`in ${t}`}(r.resets_at)]}),(0,t.jsx)("span",{style:{fontWeight:600,color:"var(--af-text)",marginLeft:"auto"},children:a?`${i.toFixed(0)}%`:"—"})]}),(0,t.jsx)("div",{style:{height:4,background:"var(--af-border-subtle)",borderRadius:999,overflow:"hidden"},children:(0,t.jsx)("div",{style:{height:"100%",width:a?`${i}%`:"0%",background:o,borderRadius:999,transition:"width 0.24s ease"}})})]})}let M="claude-lens:pinned-projects:v1";function $({href:e,active:n,icon:a,trailing:i,children:o}){return(0,t.jsxs)(r.default,{href:e,style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",borderRadius:7,fontSize:13,fontWeight:500,color:n?"var(--af-accent)":"var(--af-text-secondary)",background:n?"var(--af-accent-subtle)":"transparent",transition:"all 0.12s"},children:[a,(0,t.jsx)("span",{style:{flex:1},children:o}),i&&(0,t.jsx)("span",{style:{fontSize:10,color:n?"var(--af-accent)":"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:i})]})}function P({label:e,items:n,pathname:a,isPinned:i,onTogglePin:o}){return 0===n.length?null:(0,t.jsxs)("div",{style:{marginTop:10},children:[(0,t.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.06em",padding:"0 10px 6px",fontWeight:600},children:e}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:n.map(e=>{let n=`/projects/${encodeURIComponent(e.projectDir)}`,l=a===n,s=(0,m.prettyProjectName)(e.projectName);return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"5px 6px 5px 10px",borderRadius:6,background:l?"var(--af-accent-subtle)":"transparent",color:l?"var(--af-accent)":"var(--af-text-secondary)"},children:[(0,t.jsxs)(r.default,{href:n,style:{flex:1,minWidth:0,fontSize:12,color:"inherit",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:5},title:(e.worktreeCount??0)>0?`${e.projectName} — ${e.worktreeCount} worktree${1===e.worktreeCount?"":"s"}`:e.projectName,children:[(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:s}),(e.worktreeCount??0)>0&&(0,t.jsxs)("span",{style:{fontSize:9,fontWeight:600,padding:"1px 5px",borderRadius:100,background:"rgba(167, 139, 250, 0.15)",color:"rgba(167, 139, 250, 1)",flexShrink:0},children:["+",e.worktreeCount," wt"]})]}),(0,t.jsx)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginLeft:4},children:e.sessionCount}),(0,t.jsx)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),o(e.projectDir)},"aria-label":i(e.projectDir)?"Unpin project":"Pin project",title:i(e.projectDir)?"Unpin":"Pin",style:{background:"transparent",border:"none",padding:3,borderRadius:4,color:i(e.projectDir)?"var(--af-accent)":"var(--af-text-tertiary)",display:"flex",alignItems:"center"},children:i(e.projectDir)?(0,t.jsx)(d,{size:12}):(0,t.jsx)(u,{size:12})}),e.lastActiveMs&&(0,t.jsx)("span",{style:{fontSize:9,color:"var(--af-text-tertiary)",marginLeft:2,minWidth:32,textAlign:"right"},title:new Date(e.lastActiveMs).toISOString(),suppressHydrationWarning:!0,children:(0,m.formatRelative)(new Date(e.lastActiveMs).toISOString())})]},e.projectDir)})})]})}e.s(["Sidebar",0,function({projects:e,totalSessions:r,currentUsage:i,version:u}){let d=(0,n.usePathname)(),[m,y]=(0,a.useState)(new Set),[x,v]=(0,a.useState)(!1),[b,j]=(0,a.useState)("");(0,a.useEffect)(()=>{y(function(){try{let e=window.localStorage.getItem(M);if(!e)return new Set;let t=JSON.parse(e);return new Set(Array.isArray(t)?t:[])}catch{return new Set}}()),v(!0)},[]);let S=e=>{y(t=>{let r=new Set(t);r.has(e)?r.delete(e):r.add(e);try{window.localStorage.setItem(M,JSON.stringify(Array.from(r)))}catch{}return r})},T=(0,a.useMemo)(()=>{if(!b.trim())return e;let t=b.toLowerCase();return e.filter(e=>e.projectName.toLowerCase().includes(t))},[e,b]),E=T.filter(e=>m.has(e.projectDir)),O=T.filter(e=>!m.has(e.projectDir));return(0,t.jsxs)("aside",{style:{width:260,flexShrink:0,borderRight:"1px solid var(--af-border-subtle)",background:"var(--af-surface)",display:"flex",flexDirection:"column",position:"sticky",top:0,height:"100vh"},children:[(0,t.jsx)("div",{style:{padding:"18px 20px 12px",borderBottom:"1px solid var(--af-border-subtle)"},children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,t.jsx)("div",{style:{width:28,height:28,borderRadius:7,background:"var(--af-accent-subtle)",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--af-accent)"},children:(0,t.jsx)(p,{size:16,strokeWidth:2.25})}),(0,t.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6},children:[(0,t.jsx)("span",{style:{fontSize:14,fontWeight:700,letterSpacing:"-0.01em"},children:"Fleetlens"}),(0,t.jsxs)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",fontWeight:500},title:`fleetlens ${u}`,children:["v",u]})]}),(0,t.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:"Claude Code fleet analytics"})]})]})}),(0,t.jsxs)("nav",{style:{padding:"10px 10px 6px",display:"flex",flexDirection:"column",gap:2},children:[(0,t.jsx)($,{href:"/",active:"/"===d,icon:(0,t.jsx)(o,{size:15}),children:"Overview"}),(0,t.jsx)($,{href:"/sessions",active:"/sessions"===d||d.startsWith("/sessions/"),icon:(0,t.jsx)(l,{size:15}),trailing:r>0?String(r):void 0,children:"All sessions"}),(0,t.jsx)($,{href:"/projects",active:"/projects"===d,icon:(0,t.jsx)(s,{size:15}),trailing:e.length>0?String(e.length):void 0,children:"Projects"}),(0,t.jsx)($,{href:"/parallelism",active:"/parallelism"===d,icon:(0,t.jsx)(c,{size:15}),children:"Timeline"}),(0,t.jsx)($,{href:"/usage",active:"/usage"===d,icon:(0,t.jsx)(h,{size:15}),children:"Usage"}),(0,t.jsx)($,{href:"/insights",active:"/insights"===d,icon:(0,t.jsx)(g.Lightbulb,{size:15}),children:"Insights"})]}),(0,t.jsxs)("div",{style:{margin:"0 14px",padding:"8px 0",borderTop:"1px solid var(--af-border-subtle)",borderBottom:"1px solid var(--af-border-subtle)",display:"flex",alignItems:"center",gap:6},children:[(0,t.jsx)(f.Search,{size:13,color:"var(--af-text-tertiary)"}),(0,t.jsx)("input",{type:"text",placeholder:"Search projects",value:b,onChange:e=>j(e.target.value),style:{flex:1,background:"transparent",border:"none",padding:"4px 0",fontSize:12,color:"var(--af-text)"}})]}),(0,t.jsxs)("div",{style:{flex:1,overflow:"auto",padding:"4px 8px 20px"},children:[x&&E.length>0&&(0,t.jsx)(P,{label:"Pinned",items:E,pathname:d,isPinned:e=>m.has(e),onTogglePin:S}),(0,t.jsx)(P,{label:"Projects",items:O,pathname:d,isPinned:e=>m.has(e),onTogglePin:S})]}),(0,t.jsx)(k,{snapshot:i}),(0,t.jsxs)("div",{style:{padding:"10px 16px 10px 20px",fontSize:10,color:"var(--af-text-tertiary)",borderTop:"1px solid var(--af-border-subtle)",display:"flex",alignItems:"center",gap:8},children:[(0,t.jsxs)("span",{style:{flex:1,minWidth:0},children:[r," sessions · ",e.length," projects"]}),(0,t.jsx)(w,{})]})]})}],86566)},51878,e=>{"use strict";var t=e.i(18566),r=e.i(71645);e.s(["LiveRefresher",0,function(){let e,n=(0,t.useRouter)(),a=(e=(0,t.usePathname)(),e?.includes("/insights/print/")??!1),i=(0,r.useRef)(null),o=(0,r.useRef)({session:0,usage:0});return!function(e,t={}){let{enabled:n=!0}=t,a=(0,r.useRef)(e);(0,r.useEffect)(()=>{a.current=e},[e]),(0,r.useEffect)(()=>{if(!n)return;let e=new EventSource("/api/events");return e.onmessage=e=>{try{let t=JSON.parse(e.data);("session-updated"===t.type||"usage-updated"===t.type)&&a.current(t)}catch{}},e.onerror=()=>{},()=>{e.close()}},[n])}((0,r.useCallback)(e=>{let t="usage-updated"===e.type?"usage":"session";e.mtimeMs<=(o.current[t]??0)||(o.current[t]=e.mtimeMs,i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{n.refresh()},400))},[n]),{enabled:!a}),(0,r.useEffect)(()=>()=>{i.current&&clearTimeout(i.current)},[]),null}],51878)},23884,e=>{"use strict";var t=e.i(18050),r=e.i(71645),n=e.i(18566),a=e.i(22016),i=e.i(56324),o=e.i(56004);let l="cclens-live-widget-expanded";e.s(["LiveSessionsWidget",0,function({sessions:e}){let s=(0,n.usePathname)(),[c,u]=(0,r.useState)(()=>Date.now()),[d,f]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{try{let e=localStorage.getItem(l);null!==e&&f("true"===e)}catch{}},[]),(0,r.useEffect)(()=>{let e=setInterval(()=>u(Date.now()),1e4);return()=>clearInterval(e)},[]),s&&/^\/sessions\/[^/]+$/.test(s))return null;let p=e.filter(e=>{if(!e.lastTimestamp)return!1;let t=Date.parse(e.lastTimestamp);return!Number.isNaN(t)&&c-t<=45e3}).slice().sort((e,t)=>{let r=e.firstTimestamp?Date.parse(e.firstTimestamp):0;return(t.firstTimestamp?Date.parse(t.firstTimestamp):0)-r});if(0===p.length)return null;let h=d?p.slice(0,5):[],g=d?p.length-h.length:0;return(0,t.jsxs)("div",{style:{position:"fixed",right:20,bottom:20,zIndex:100,display:"flex",flexDirection:"column-reverse",gap:6,maxWidth:320,pointerEvents:"auto"},children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{var e;return e=e=>!e,void f(t=>{let r=e(t);try{localStorage.setItem(l,String(r))}catch{}return r})},style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 11px 5px 9px",background:"rgba(239, 68, 68, 0.14)",border:"1px solid rgba(239, 68, 68, 0.4)",borderRadius:100,fontSize:10,fontWeight:700,color:"#ef4444",letterSpacing:"0.06em",textTransform:"uppercase",alignSelf:"flex-end",cursor:"pointer",userSelect:"none",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",boxShadow:"0 2px 10px rgba(239, 68, 68, 0.15)"},title:d?"Collapse":`Show ${p.length} live session${1===p.length?"":"s"}`,children:[(0,t.jsx)("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:"#ef4444",animation:"cs-live-pulse 1.6s ease-in-out infinite"}}),"Live · ",p.length]}),d&&g>0&&(0,t.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",padding:"0 4px",textAlign:"right"},children:["+",g," more live"]}),h.map(e=>(0,t.jsxs)(a.default,{href:`/sessions/${e.id}`,style:{display:"block",padding:"10px 12px",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderLeft:"2px solid #ef4444",borderRadius:8,boxShadow:"0 4px 16px rgba(0, 0, 0, 0.12)",textDecoration:"none",color:"var(--af-text)",fontSize:11,lineHeight:1.35,backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)"},title:(e.lastUserPreview||e.firstUserPreview||e.lastAgentPreview)??(0,i.prettyProjectName)(e.projectName),children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:500,color:"var(--af-text)",minWidth:0},children:[(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:e.lastUserPreview||e.firstUserPreview||(0,t.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),(0,t.jsx)(o.TeamBadge,{session:e,linkable:!1})]}),(0,t.jsx)("div",{style:{fontSize:10,color:"var(--af-text-secondary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:3,fontStyle:"italic"},children:e.lastAgentPreview?(0,t.jsxs)(t.Fragment,{children:["↳ ",e.lastAgentPreview]}):(0,t.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"waiting…"})}),(0,t.jsx)("div",{style:{fontSize:9,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginTop:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,i.prettyProjectName)(e.projectName)})]},e.id)),(0,t.jsx)("style",{children:`
|
|
2
|
+
@keyframes cs-live-pulse {
|
|
3
|
+
0%, 100% { opacity: 1; transform: scale(1); }
|
|
4
|
+
50% { opacity: 0.4; transform: scale(0.85); }
|
|
5
|
+
}
|
|
6
|
+
`})]})}])}]);
|