fleetlens 0.4.0 → 0.6.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 +16 -7
- package/app/apps/web/.next/build-manifest.json +7 -7
- package/app/apps/web/.next/prerender-manifest.json +3 -3
- package/app/apps/web/.next/required-server-files.json +2 -1
- package/app/apps/web/.next/routes-manifest.json +86 -24
- package/app/apps/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/app/apps/web/.next/server/app/_global-error/page.js +1 -1
- package/app/apps/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/_global-error.html +1 -1
- package/app/apps/web/.next/server/app/_global-error.rsc +7 -7
- package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- 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 +4 -4
- package/app/apps/web/.next/server/app/_not-found/page.js +5 -4
- 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/digest/day/[date]/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/digest/day/[date]/route.js +9 -0
- package/app/apps/web/.next/server/app/api/{insights/saved/[key] → digest/day/[date]}/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/digest/day/[date]/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js +9 -0
- package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/digest/month-index/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/digest/month-index/route.js +7 -0
- package/app/apps/web/.next/server/app/api/{insights/months-index → digest/month-index}/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/{insights/pdf/[key] → digest/month-index}/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js +9 -0
- package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/digest/week-index/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/digest/week-index/route.js +7 -0
- package/app/apps/web/.next/server/app/api/{insights/weeks-index → digest/week-index}/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/digest/week-index/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/jobs/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/jobs/route.js +6 -0
- package/app/apps/web/.next/server/app/api/jobs/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/jobs/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/runs/[runId]/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/runs/[runId]/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/runs/[runId]/route.js +6 -0
- package/app/apps/web/.next/server/app/api/{insights/saved → runs/[runId]}/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/runs/[runId]/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route.js +6 -0
- package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/{insights/pdf/[key] → runs/[runId]/stream}/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/runs/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/runs/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/runs/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/runs/route.js +6 -0
- package/app/apps/web/.next/server/app/api/runs/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/{insights → runs}/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/runs/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/settings/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/settings/route.js +10 -0
- package/app/apps/web/.next/server/app/api/settings/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/{insights → settings}/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/day/[date]/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/{insights/print/[key] → day/[date]}/page/build-manifest.json +4 -4
- package/app/apps/web/.next/server/app/day/[date]/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/day/[date]/page.js +18 -0
- package/app/apps/web/.next/server/app/day/[date]/page.js.map +5 -0
- package/app/apps/web/.next/server/app/day/[date]/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/day/[date]/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/day/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/day/page/build-manifest.json +17 -0
- package/app/apps/web/.next/server/app/day/page/next-font-manifest.json +6 -0
- package/app/apps/web/.next/server/app/day/page/react-loadable-manifest.json +1 -0
- package/app/apps/web/.next/server/app/day/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/{insights/print/[key] → day}/page.js +11 -10
- package/app/apps/web/.next/server/app/day/page.js.map +5 -0
- package/app/apps/web/.next/server/app/day/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/day/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/digest/[date]/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/digest/[date]/page/build-manifest.json +17 -0
- package/app/apps/web/.next/server/app/digest/[date]/page/next-font-manifest.json +6 -0
- package/app/apps/web/.next/server/app/digest/[date]/page/react-loadable-manifest.json +1 -0
- package/app/apps/web/.next/server/app/digest/[date]/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/digest/[date]/page.js +17 -0
- package/app/apps/web/.next/server/app/digest/[date]/page.js.map +5 -0
- package/app/apps/web/.next/server/app/digest/[date]/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/digest/[date]/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/digest/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/digest/page/build-manifest.json +17 -0
- package/app/apps/web/.next/server/app/digest/page/next-font-manifest.json +6 -0
- package/app/apps/web/.next/server/app/digest/page/react-loadable-manifest.json +1 -0
- package/app/apps/web/.next/server/app/digest/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/digest/page.js +17 -0
- package/app/apps/web/.next/server/app/digest/page.js.map +5 -0
- package/app/apps/web/.next/server/app/digest/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/digest/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/insights/[key]/page/build-manifest.json +4 -4
- package/app/apps/web/.next/server/app/insights/[key]/page.js +7 -5
- package/app/apps/web/.next/server/app/insights/[key]/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/insights/[key]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/insights/page/build-manifest.json +4 -4
- package/app/apps/web/.next/server/app/insights/page.js +7 -5
- package/app/apps/web/.next/server/app/insights/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/insights/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/page/build-manifest.json +4 -4
- package/app/apps/web/.next/server/app/page.js +7 -6
- 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 +4 -4
- package/app/apps/web/.next/server/app/parallelism/page.js +6 -5
- 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 +4 -4
- package/app/apps/web/.next/server/app/projects/[slug]/page.js +6 -5
- 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 +4 -4
- package/app/apps/web/.next/server/app/projects/page.js +5 -4
- package/app/apps/web/.next/server/app/projects/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/runs/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/runs/page/build-manifest.json +17 -0
- package/app/apps/web/.next/server/app/runs/page/next-font-manifest.json +6 -0
- package/app/apps/web/.next/server/app/runs/page/react-loadable-manifest.json +1 -0
- package/app/apps/web/.next/server/app/runs/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/runs/page.js +17 -0
- package/app/apps/web/.next/server/app/runs/page.js.map +5 -0
- package/app/apps/web/.next/server/app/runs/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/runs/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/sessions/[id]/page/build-manifest.json +4 -4
- package/app/apps/web/.next/server/app/sessions/[id]/page.js +5 -4
- 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 +4 -4
- package/app/apps/web/.next/server/app/sessions/page.js +5 -4
- package/app/apps/web/.next/server/app/sessions/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/settings/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/settings/page/build-manifest.json +17 -0
- package/app/apps/web/.next/server/app/settings/page/next-font-manifest.json +6 -0
- package/app/apps/web/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
- package/app/apps/web/.next/server/app/settings/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/settings/page.js +18 -0
- package/app/apps/web/.next/server/app/settings/page.js.map +5 -0
- package/app/apps/web/.next/server/app/settings/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/settings/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/usage/page/build-manifest.json +4 -4
- package/app/apps/web/.next/server/app/usage/page.js +6 -5
- 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 +16 -7
- package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_digest_week_[startDate]_route_actions_0klqqsh.js +3 -0
- package/app/apps/web/.next/server/chunks/09og__next-internal_server_app_api_digest_month_[yearMonth]_route_actions_0i4ielu.js +3 -0
- package/app/apps/web/.next/server/chunks/[externals]__0o43ejh._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0-vgrh1._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__00n3f9y._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__02zukjw._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__067~im1._.js +6 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__06b4cj-._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0_8zh-i._.js +9 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0e8n_x4._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0ej_p3s._.js +9 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0jprdks._.js +9 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_digest_day_[date]_route_actions_09sxie5.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_digest_month-index_route_actions_0wldpbu.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_digest_week-index_route_actions_12c2wj2.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_jobs_route_actions_08kx~8-.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_runs_[runId]_route_actions_0dfcghc.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_runs_[runId]_stream_route_actions_0.8e8-k.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_runs_route_actions_0xyx82f.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_settings_route_actions_0.xv7sx.js +3 -0
- package/app/apps/web/.next/server/chunks/node_modules_next_036my~r._.js +49 -0
- package/app/apps/web/.next/server/chunks/packages_0e7q9u_._.js +3 -0
- package/app/apps/web/.next/server/chunks/packages_0n6p2ot._.js +3 -0
- package/app/apps/web/.next/server/chunks/packages_entries_dist_node_0bckr7-.js +379 -0
- package/app/apps/web/.next/server/chunks/packages_parser_dist_fs_0bc7ptm.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0-1_njm._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0-94ji~._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__13xpdx0._.js → [root-of-the-server]__03uoeiw._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0_6.inc._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0d~2~le._.js +8 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0gio_ck._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__08.d5ia._.js → [root-of-the-server]__0jdyefm._.js} +10 -10
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ln9jsw._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0z45d0g._.js → [root-of-the-server]__0lz4a~g._.js} +2 -48
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0o1_g.~._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0r4tks8._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0rvzdnx._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0euu8sa._.js → [root-of-the-server]__0u39afl._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0u5d7de._.js +12 -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]__0wwa6gh._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0xy1qim._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0~_8vff._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__10srpu0._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__11v.eqw._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/_02s1n-x._.js +8 -0
- package/app/apps/web/.next/server/chunks/ssr/_0fjbf--._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/_0jw2sm7._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/_0wj750k._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/_0woap-3._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/{_0xies90._.js → _0xu2pvc._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_day_[date]_page_actions_0u2kxb..js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_day_page_actions_1042maj.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_digest_[date]_page_actions_0olu967.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_digest_page_actions_0bl.eil.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_runs_page_actions_0485qy7.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_settings_page_actions_0f6epye.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_app_day_[date]_day-view_tsx_0wjoe1u._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_app_settings_ai-features-form_tsx_01p699p._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0b-4-4j._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0ly1xes._.js +6 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0txtsv5._.js +16 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0xs658s._.js +10 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_runs-live-board_tsx_0r6dkdq._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_usage-charts-dashboard_tsx_0bgr_uv._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_usage-data_ts_0xtv99n._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_0i2xw~e._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_0e1izl_._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d3d4wn.js +4 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0edz1ko.js +4 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0eq.n-n.js +4 -0
- package/app/apps/web/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_0vz7_px.js → node_modules_next_dist_esm_build_templates_app-page_0hcvt-s.js} +3 -3
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0nd5zu0.js +4 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11j1qy0.js +4 -0
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12n1lw_.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/packages_entries_dist_node_0_271yr.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_0-jvt~a._.js +1 -1
- package/app/apps/web/.next/server/functions-config-manifest.json +11 -6
- package/app/apps/web/.next/server/middleware-build-manifest.js +7 -7
- 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/0-yc2_pjxwwuq.js +1 -0
- package/app/apps/web/.next/static/chunks/0257pdz1-imal.js +2 -0
- package/app/apps/web/.next/static/chunks/05m.oz3kmf1p7.js +1 -0
- package/app/apps/web/.next/static/chunks/{0pqt~8bl3ukh4.js → 073081qv4uyn8.js} +1 -1
- package/app/apps/web/.next/static/chunks/{0018dy-m-kusj.js → 07lbm-sdh9c2j.js} +1 -1
- package/app/apps/web/.next/static/chunks/0858bgw2i4vob.js +1 -0
- package/app/apps/web/.next/static/chunks/0_7303jr0sf0w.js +10 -0
- package/app/apps/web/.next/static/chunks/0byz8fqw.exef.js +1 -0
- package/app/apps/web/.next/static/chunks/0coa1800xqgfj.js +1 -0
- package/app/apps/web/.next/static/chunks/0fs3gxea5h0s3.css +1 -0
- package/app/apps/web/.next/static/chunks/0k1psab.bybh9.js +14 -0
- package/app/apps/web/.next/static/chunks/0k9pksi_i.odf.js +1 -0
- package/app/apps/web/.next/static/chunks/0m62vx92~0_0d.js +1 -0
- package/app/apps/web/.next/static/chunks/0mc8aa8z.0-5l.js +8 -0
- package/app/apps/web/.next/static/chunks/0mykrrv810ra-.js +31 -0
- package/app/apps/web/.next/static/chunks/0o9ayt8sknubd.js +1 -0
- package/app/apps/web/.next/static/chunks/0osdgl2.9cl1q.js +6 -0
- package/app/apps/web/.next/static/chunks/0xfu09fn_358k.js +4 -0
- package/app/apps/web/.next/static/chunks/171za22fv684..js +6 -0
- package/app/apps/web/.next/static/chunks/17u2ww8ya5dv1.js +6 -0
- package/app/apps/web/.next/static/chunks/{turbopack-169w-1._23ra_.js → turbopack-0_p36yduv.waj.js} +1 -1
- package/app/apps/web/app/api/digest/day/[date]/route.ts +152 -0
- package/app/apps/web/app/api/digest/month/[yearMonth]/route.ts +147 -0
- package/app/apps/web/app/api/digest/month-index/route.ts +103 -0
- package/app/apps/web/app/api/digest/week/[startDate]/route.ts +149 -0
- package/app/apps/web/app/api/{insights/weeks-index → digest/week-index}/route.ts +45 -33
- package/app/apps/web/app/api/jobs/route.ts +8 -0
- package/app/apps/web/app/api/runs/[runId]/route.ts +64 -0
- package/app/apps/web/app/api/runs/[runId]/stream/route.ts +154 -0
- package/app/apps/web/app/api/runs/route.ts +266 -0
- package/app/apps/web/app/api/settings/route.ts +35 -0
- package/app/apps/web/app/day/[date]/day-view.tsx +193 -0
- package/app/apps/web/app/day/[date]/page.tsx +175 -0
- package/app/apps/web/app/day/page.tsx +8 -0
- package/app/apps/web/app/digest/[date]/page.tsx +15 -0
- package/app/apps/web/app/digest/page.tsx +7 -0
- package/app/apps/web/app/insights/[key]/page.tsx +106 -48
- package/app/apps/web/app/insights/page.tsx +133 -3
- package/app/apps/web/app/layout.tsx +23 -3
- package/app/apps/web/app/page.tsx +33 -4
- package/app/apps/web/app/parallelism/gantt-chart.tsx +67 -1
- package/app/apps/web/app/parallelism/page.tsx +8 -278
- package/app/apps/web/app/projects/[slug]/page.tsx +153 -0
- package/app/apps/web/app/projects/page.tsx +49 -4
- package/app/apps/web/app/projects/projects-view.tsx +79 -68
- package/app/apps/web/app/runs/page.tsx +21 -0
- package/app/apps/web/app/sessions/[id]/page.tsx +12 -1
- package/app/apps/web/app/sessions/[id]/session-view.tsx +569 -21
- package/app/apps/web/app/sessions/page.tsx +19 -3
- package/app/apps/web/app/sessions/sessions-grid.tsx +172 -131
- package/app/apps/web/app/settings/ai-features-form.tsx +45 -0
- package/app/apps/web/app/settings/page.tsx +20 -0
- package/app/apps/web/app/usage/page.tsx +45 -3
- package/app/apps/web/components/auto-generate-yesterday.tsx +96 -0
- package/app/apps/web/components/backfill-drawer.tsx +309 -0
- package/app/apps/web/components/dashboard-view.tsx +4 -2
- package/app/apps/web/components/date-nav.tsx +385 -0
- package/app/apps/web/components/day-digest-view.tsx +180 -0
- package/app/apps/web/components/day-digest.tsx +489 -0
- package/app/apps/web/components/flag-chip.tsx +54 -0
- package/app/apps/web/components/goal-bar.tsx +63 -0
- package/app/apps/web/components/heatmap.tsx +78 -1
- package/app/apps/web/components/helpfulness-sparkline.tsx +82 -0
- package/app/apps/web/components/insights-history.tsx +211 -0
- package/app/apps/web/components/insights-top-bar.tsx +216 -0
- package/app/apps/web/components/job-queue-widget.tsx +274 -0
- package/app/apps/web/components/live-sessions-widget.tsx +38 -3
- package/app/apps/web/components/month-digest-view.tsx +138 -0
- package/app/apps/web/components/month-digest.tsx +216 -0
- package/app/apps/web/components/outcome-mix-row.tsx +37 -0
- package/app/apps/web/components/outcome-pill.tsx +101 -0
- package/app/apps/web/components/previous-cycles-trend.tsx +155 -0
- package/app/apps/web/components/recent-days-panel.tsx +83 -0
- package/app/apps/web/components/runs-live-board.tsx +513 -0
- package/app/apps/web/components/sidebar.tsx +38 -4
- package/app/apps/web/components/usage-chart-range.tsx +58 -6
- package/app/apps/web/components/usage-chart.tsx +94 -7
- package/app/apps/web/components/usage-charts-dashboard.tsx +20 -1
- package/app/apps/web/components/week-digest-view.tsx +226 -0
- package/app/apps/web/components/week-digest.tsx +2128 -0
- package/app/apps/web/components/yesterday-hero.tsx +110 -0
- package/app/apps/web/lib/auto-week-fire.ts +37 -0
- package/app/apps/web/lib/calibration-data.ts +171 -0
- package/app/apps/web/lib/entries-index.ts +174 -0
- package/app/apps/web/lib/entries.ts +72 -0
- package/app/apps/web/lib/inflight-coalesce.test.ts +43 -0
- package/app/apps/web/lib/inflight-coalesce.ts +19 -0
- package/app/apps/web/lib/jobs.ts +170 -0
- package/app/apps/web/lib/usage-data.ts +37 -0
- package/app/apps/web/lib/validate-settings.test.ts +25 -0
- package/app/apps/web/lib/validate-settings.ts +9 -0
- package/app/apps/web/next.config.ts +1 -1
- package/app/apps/web/package.json +4 -2
- package/app/apps/web/server.js +1 -1
- package/app/apps/web/tsconfig.tsbuildinfo +1 -1
- package/app/apps/web/vitest.config.ts +9 -0
- package/dist/daemon-worker.js +1758 -713
- package/dist/index.js +11308 -1888
- package/package.json +4 -1
- package/app/apps/web/.next/server/app/api/insights/months-index/route/app-paths-manifest.json +0 -3
- package/app/apps/web/.next/server/app/api/insights/months-index/route.js +0 -7
- package/app/apps/web/.next/server/app/api/insights/months-index/route_client-reference-manifest.js +0 -3
- package/app/apps/web/.next/server/app/api/insights/pdf/[key]/route/app-paths-manifest.json +0 -3
- package/app/apps/web/.next/server/app/api/insights/pdf/[key]/route.js +0 -6
- package/app/apps/web/.next/server/app/api/insights/route/app-paths-manifest.json +0 -3
- package/app/apps/web/.next/server/app/api/insights/route.js +0 -8
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route/app-paths-manifest.json +0 -3
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route.js +0 -6
- package/app/apps/web/.next/server/app/api/insights/saved/[key]/route_client-reference-manifest.js +0 -3
- package/app/apps/web/.next/server/app/api/insights/saved/route/app-paths-manifest.json +0 -3
- package/app/apps/web/.next/server/app/api/insights/saved/route.js +0 -6
- package/app/apps/web/.next/server/app/api/insights/saved/route_client-reference-manifest.js +0 -3
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route/app-paths-manifest.json +0 -3
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route.js +0 -7
- package/app/apps/web/.next/server/app/api/insights/weeks-index/route_client-reference-manifest.js +0 -3
- package/app/apps/web/.next/server/app/insights/print/[key]/page/app-paths-manifest.json +0 -3
- package/app/apps/web/.next/server/app/insights/print/[key]/page.js.nft.json +0 -1
- package/app/apps/web/.next/server/app/insights/print/[key]/page_client-reference-manifest.js +0 -3
- package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_insights_months-index_route_actions_0~h~zci.js +0 -3
- package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_insights_saved_[key]_route_actions_0a5j9yw.js +0 -3
- package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_insights_weeks-index_route_actions_0hh-1c7.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0.hmj0z._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__01h_g-p._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0nh-z10._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0ri7q~r._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0rr1~~x._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0s0gv.0._.js +0 -3
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_insights_pdf_[key]_route_actions_0lu-lnx.js +0 -3
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_insights_route_actions_0h8l5lz.js +0 -3
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_insights_saved_route_actions_13rlblw.js +0 -3
- package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_00t2xj6.js +0 -68
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0.tsxpj._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__00z7zlm._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__08pen0k._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0b323~k._.js +0 -8
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0gx-4qa._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0wv27wt._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__13itnvx._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/_09n75_5._.js +0 -8
- package/app/apps/web/.next/server/chunks/ssr/_0r~__0v._.js +0 -12
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_insights_print_[key]_page_actions_0a853fw.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/apps_web_app_parallelism_08vub.0._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_06j3c.0._.js +0 -8
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0bbo_pd._.js +0 -8
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_insight-report_tsx_13q2a-c._.js +0 -12
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_insights-view_tsx_11730ta._.js +0 -6
- package/app/apps/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0nqz8dw._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_0t-hj0x._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_analytics_0k4dgst.js +0 -3
- package/app/apps/web/.next/static/chunks/028_pmk40b69_.js +0 -6
- package/app/apps/web/.next/static/chunks/03.mv4y4.w-vb.js +0 -6
- package/app/apps/web/.next/static/chunks/03_7xtpi9sv4g.js +0 -4
- package/app/apps/web/.next/static/chunks/03g5dw5eskotd.js +0 -6
- package/app/apps/web/.next/static/chunks/063oimt30jeo9.js +0 -10
- package/app/apps/web/.next/static/chunks/08c1pcrocqq5s.js +0 -6
- package/app/apps/web/.next/static/chunks/0e-wrhqh4h3r5.js +0 -2
- package/app/apps/web/.next/static/chunks/0fc6dk2qtokwh.js +0 -1
- package/app/apps/web/.next/static/chunks/0i7er7_bfab36.js +0 -10
- package/app/apps/web/.next/static/chunks/0ipytyi01h0ta.js +0 -1
- package/app/apps/web/.next/static/chunks/0lsznd4_avzhv.js +0 -6
- package/app/apps/web/.next/static/chunks/0lty3v_i9mde7.js +0 -1
- package/app/apps/web/.next/static/chunks/0vekjjj4pidlz.css +0 -1
- package/app/apps/web/.next/static/chunks/137uw2-qbro07.js +0 -31
- package/app/apps/web/app/api/insights/months-index/route.ts +0 -80
- package/app/apps/web/app/api/insights/pdf/[key]/route.ts +0 -45
- package/app/apps/web/app/api/insights/route.ts +0 -508
- package/app/apps/web/app/api/insights/saved/[key]/route.ts +0 -11
- package/app/apps/web/app/api/insights/saved/route.ts +0 -9
- package/app/apps/web/app/insights/print/[key]/page.tsx +0 -73
- package/app/apps/web/components/insight-report.tsx +0 -1031
- package/app/apps/web/components/insights-view.tsx +0 -647
- package/app/apps/web/lib/ai/insights-prompt.ts +0 -71
- package/app/apps/web/lib/ai/saved-reports.ts +0 -83
- /package/app/apps/web/.next/server/app/api/{insights/months-index → digest/day/[date]}/route/build-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/months-index → digest/day/[date]}/route/server-reference-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/months-index → digest/day/[date]}/route.js.map +0 -0
- /package/app/apps/web/.next/server/app/api/{insights → digest/month/[yearMonth]}/route/build-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights → digest/month/[yearMonth]}/route/server-reference-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights → digest/month/[yearMonth]}/route.js.map +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/pdf/[key] → digest/month-index}/route/build-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/pdf/[key] → digest/month-index}/route/server-reference-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/pdf/[key] → digest/month-index}/route.js.map +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/saved → digest/week/[startDate]}/route/build-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/saved → digest/week/[startDate]}/route/server-reference-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/saved → digest/week/[startDate]}/route.js.map +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/saved/[key] → digest/week-index}/route/build-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/saved/[key] → digest/week-index}/route/server-reference-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/saved/[key] → digest/week-index}/route.js.map +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/weeks-index → jobs}/route/build-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/weeks-index → jobs}/route/server-reference-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/api/{insights/weeks-index → jobs}/route.js.map +0 -0
- /package/app/apps/web/.next/server/app/{insights/print/[key]/page → api/runs/[runId]/route}/server-reference-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/{insights/print/[key]/page.js.map → api/runs/[runId]/route.js.map} +0 -0
- /package/app/apps/web/.next/server/app/{insights/print/[key] → day/[date]}/page/next-font-manifest.json +0 -0
- /package/app/apps/web/.next/server/app/{insights/print/[key] → day/[date]}/page/react-loadable-manifest.json +0 -0
- /package/app/apps/web/.next/static/{G_4ofKI9v9ARC_lb9JILZ → 8tTWPvUhtatZEoocIhamh}/_buildManifest.js +0 -0
- /package/app/apps/web/.next/static/{G_4ofKI9v9ARC_lb9JILZ → 8tTWPvUhtatZEoocIhamh}/_clientMiddlewareManifest.js +0 -0
- /package/app/apps/web/.next/static/{G_4ofKI9v9ARC_lb9JILZ → 8tTWPvUhtatZEoocIhamh}/_ssgManifest.js +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
module.exports=[6156,e=>{"use strict";var t=e.i(47909),s=e.i(74017),n=e.i(96250),r=e.i(59756),a=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),p=e.i(95169),c=e.i(47587),d=e.i(66012),h=e.i(70101),g=e.i(74838),m=e.i(10372),_=e.i(93695);e.i(52474);var f=e.i(220),y=e.i(66536);let w=/\[request interrupted|interrupted by user/i,b=/(?<=[.!?])\s+(?=[A-Z[`])/,v=/\[Image:\s*source:\s*[^\]]+\]/g,k=/--title\s+["']([^"']+)["']/,T=/\|\||&&|;|\|/,x=new Set(["sudo","time","nohup","nice","env","exec"]);function M(e,t){if(!e)return"";let s=e.replace(/\s+/g," ").trim();return s.length<=t?s:s.slice(0,t-1)+"…"}function S(e){if(!e)return e;let t=0;return e.replace(v,()=>`[Image #${++t}]`)}function R(e){if(!e)return"?";let t=e.split(T,1)[0].trim();if(t.startsWith("cd ")||"cd"===t){let s=e.split(/&&|;/,3);s.length>=2&&(t=s[1].trim())}let s=t.split(/\s+/).filter(Boolean);for(;s.length&&x.has(s[0]);)s.shift();if(!s.length)return"?";let n=s[0];if(n.includes("=")&&!n.startsWith("/")){if(s.shift(),!s.length)return"?";n=s[0]}return n.includes("/")&&!n.startsWith("./")&&(n=n.replace(/\/+$/,"").split("/").pop()),n.replace(/^["']|["']$/g,"")||"?"}function C(e,t){let s=[...e.eventTs].sort((e,t)=>e-t),n=0;for(let e=1;e<s.length;e++){let t=s[e]-s[e-1];t<18e4&&(n+=t)}let r=void 0!==e.startMs&&void 0!==e.lastMs?e.lastMs-e.startMs:0;t.push({startMs:e.startMs??0,activeMs:n,wallMs:r,userInput:e.userInput,firstAgentText:e.firstAgentText,lastAgentText:e.lastAgentText,firstToolsIfNoText:e.firstToolsIfNoText,toolsTotal:e.toolsTotal,toolMix:e.toolMix,bashVerbs:e.bashVerbs,skills:e.skills,subagents:e.subagents,taskOps:e.taskOps,toolErrors:e.toolErrors,consecSameToolMax:e.consecSameToolMax,endedInInterrupt:e.endedInInterrupt,models:e.models,totalTokens:e.tokensIn+e.tokensOut+e.tokensCacheR+e.tokensCacheW})}var A=e.i(30212),N=e.i(79357);let E=`You are the Insights analyst for Fleetlens, a dashboard for Claude Code sessions.
|
|
2
|
-
|
|
3
|
-
You receive a JSON payload summarising one calendar period (week or 4-weeks). The numbers are already computed — you do NOT do arithmetic, you interpret and name patterns.
|
|
4
|
-
|
|
5
|
-
## Your output
|
|
6
|
-
|
|
7
|
-
Return EXACTLY ONE JSON object inside a \`\`\`json fenced code block. No prose before or after. Schema:
|
|
8
|
-
|
|
9
|
-
{
|
|
10
|
-
"archetype": {
|
|
11
|
-
"label": "Orchestration Conductor" | "Deep-dive Conversationalist" | "Fire-and-go Operator" | "Solo Builder" | "Context Switcher" | "Research Explorer",
|
|
12
|
-
"icon": "Network" | "BrainCircuit" | "Zap" | "Compass" | "Layers3" | "Sparkles",
|
|
13
|
-
"tagline": "… short phrase, ≤ 70 chars, describing working style …",
|
|
14
|
-
"why": "… 1-2 sentences grounded in aggregate numbers (e.g. 'You ran X subagent dispatches across Y turns…') …",
|
|
15
|
-
"vs_usual": "… OPTIONAL: only populate if \`prior\` is non-empty. 1 sentence contrasting this week's archetype + behaviour with the baseline (e.g. 'More orchestrated than the last 4 weeks (usual: Solo Builder)'). Omit the key entirely otherwise."
|
|
16
|
-
},
|
|
17
|
-
"theme_headline": "3-7 words capturing the period's dominant theme",
|
|
18
|
-
"shipped_summaries": {
|
|
19
|
-
"<session_id>": "1-sentence characterisation of the shipped work"
|
|
20
|
-
},
|
|
21
|
-
"patterns": [
|
|
22
|
-
{ "icon": "Repeat" | "ClipboardList" | "GitCommit" | "Network" | "BrainCircuit" | "Zap" | "TrendingUp" | "TrendingDown",
|
|
23
|
-
"title": "…",
|
|
24
|
-
"stat": "…",
|
|
25
|
-
"note": "1 short sentence" }
|
|
26
|
-
// 2-4 patterns total
|
|
27
|
-
],
|
|
28
|
-
"concurrency_insight": "1-2 sentences about parallelism shape. Empty string if no concurrency data.",
|
|
29
|
-
"concurrency_suggestion": "1 sentence, actionable. Empty string if nothing useful.",
|
|
30
|
-
"outlier_notes": {
|
|
31
|
-
"longest_run": "1 line takeaway",
|
|
32
|
-
"fastest_ship": "…",
|
|
33
|
-
"most_errors": "…",
|
|
34
|
-
"wandered": "…"
|
|
35
|
-
},
|
|
36
|
-
"suggestion_headline": "bold, imperative, ≤ 70 chars",
|
|
37
|
-
"suggestion_body": "2-3 sentences. Grounded in what you saw. Actionable."
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
## Archetype guide
|
|
41
|
-
|
|
42
|
-
- **Orchestration Conductor** — heavy subagent_calls, long unsupervised turns, planning unfolds in-session.
|
|
43
|
-
- **Deep-dive Conversationalist** — high turn_count per session, rapid user↔agent ping-pong, low subagent use.
|
|
44
|
-
- **Fire-and-go Operator** — few user turns per session, long autonomous runs, minimal interruption.
|
|
45
|
-
- **Solo Builder** — mid-length sessions, steady cadence, low subagent use, high direct edit/bash ratio.
|
|
46
|
-
- **Context Switcher** — many short sessions across many projects, high cross-project count.
|
|
47
|
-
- **Research Explorer** — Grep/Read/WebFetch heavy, low commits, exploratory outcomes.
|
|
48
|
-
|
|
49
|
-
Pick exactly one. If borderline, pick the closer fit and say so in the \`why\`.
|
|
50
|
-
|
|
51
|
-
## Rules
|
|
52
|
-
|
|
53
|
-
1. **Ground every claim** — every sentence you write must reference a number or fact in the data. Never invent. Never include unreferenced general advice.
|
|
54
|
-
2. **No vanity metrics** — don't quote total tokens, total cost, total sessions as headline claims. Use behavioural signals (subagent_calls, session length distribution, plan mode use, interrupt rate, concurrency peak).
|
|
55
|
-
3. **Short and concrete** — no filler words. "You ran X this week" not "This past week saw the user running X."
|
|
56
|
-
4. **Valid JSON** — strict. No trailing commas. No comments in the output. No text outside the fence.
|
|
57
|
-
5. **Shipped summaries** — if capsules have pr_titles, write one summary per session_id that shipped. Use capsule first_user / final_agent / flags for texture.
|
|
58
|
-
6. **Pattern selection** — pick 2-4 patterns where the signal is strongest. Don't pad. If plan_mode usage is zero and it's a busy week, say so. If loop_suspected flags correlate with shipping, call that out.`;var O=e.i(41673),I=e.i(74533);let D=["BrainCircuit","ClipboardList","Compass","GitCommit","Layers3","Network","Repeat","Rocket","Sparkles","TrendingDown","TrendingUp","Users","Zap"];function $(e){return D.includes(e)?e:"Sparkles"}async function j(e){let t;try{t=await e.json()}catch{return Response.json({error:"invalid JSON"},{status:400})}let s=new TextEncoder,n=new ReadableStream({async start(e){let n=!1;function r(t){if(!n)try{e.enqueue(s.encode(`data: ${JSON.stringify(t)}
|
|
59
|
-
|
|
60
|
-
`))}catch{n=!0}}let a=(e,t)=>r({type:"status",phase:e,text:t});function o(){if(!n){try{e.close()}catch{}n=!0}}let i=Date.now();try{var l,u,p,c,d;let e,s,n,h,g,m,_,f,v=function(e){switch(e.range_type){case"prior_week":return{...(0,A.priorCalendarWeek)(),range_type:"week",in_progress:!1};case"4weeks_completed":return{...(0,A.last4CompletedWeeks)(),range_type:"4weeks",in_progress:!1};case"4weeks":{let e=(0,A.calendarWeek)().end,t=new Date(e);return t.setDate(e.getDate()-27),{start:t,end:e,range_type:"4weeks",in_progress:!0}}case"prior_month":return{...(0,A.priorCalendarMonth)(),range_type:"month",in_progress:!1};case"month":return{...(0,A.calendarMonth)(),range_type:"month",in_progress:!0};case"custom":{if(!e.since||!e.until)throw Error("custom range requires since + until");let t=new Date(e.since),s=new Date(e.until),n=7===Math.round((s.getTime()-t.getTime())/864e5)+1&&1===t.getDay(),r=new Date(t.getFullYear(),t.getMonth()+1,0),a=1===t.getDate()&&s.getFullYear()===r.getFullYear()&&s.getMonth()===r.getMonth()&&s.getDate()===r.getDate();return{start:t,end:s,range_type:n?"week":a?"month":"custom",in_progress:!1}}default:return{...(0,A.calendarWeek)(),range_type:"week",in_progress:!0}}}(t),T="week"===v.range_type?v.in_progress?"this week (in progress)":"last week":"4weeks"===v.range_type?v.in_progress?"last 4 weeks (incl. current)":"last 4 completed weeks":"month"===v.range_type?v.in_progress?"this month (in progress)":"last month":"custom range";a("data",`Window: ${T}`);let x=(await (0,y.listSessions)({limit:1e4})).filter(e=>{if(!e.firstTimestamp)return!1;let t=new Date(e.firstTimestamp).getTime();return t>=v.start.getTime()&&t<=v.end.getTime()});a("data",`${x.length} sessions found in range`);let E=[],I=0;for(let e=0;e<x.length;e+=8){let t=x.slice(e,e+8);for(let e of(await Promise.all(t.map(async e=>{try{let t=await (0,y.getSession)(e.id);if(!t)return null;return function(e,t={}){let s,n,r,a,o,i,{compact:l=!1}=t,u=[],p=0,c=0,d=new Map,h=0,g=0,m=0,_=0,f=[],y=[];for(let t of e.events){let e=function(e){if(!e)return;let t=Date.parse(e);return Number.isNaN(t)?void 0:t}(t.timestamp);void 0!==e&&((void 0===a||e<a)&&(a=e),(void 0===o||e>o)&&(o=e),y.push(e));let i=t.rawType,l=t.raw,b=l?.message??{},v=b.content;if("user"===i)if(Array.isArray(v)&&v.length>0&&v.every(e=>e&&"object"==typeof e&&"tool_result"===e.type)){if(Array.isArray(v))for(let e of v)e&&"object"==typeof e&&"tool_result"===e.type&&e.is_error&&(h++,r&&r.toolErrors++);r&&void 0!==e&&(r.eventTs.push(e),r.lastMs=e)}else{let t=function(e){if(!Array.isArray(e))return"";for(let t of e)if(t&&"object"==typeof t&&"text"===t.type)return String(t.text??"");return""}(v)||("string"==typeof v?v:"");r&&(t&&w.test(t)&&(r.endedInInterrupt=!0,g++),C(r,f)),r=function(e,t=""){return{startMs:e,lastMs:e,eventTs:void 0!==e?[e]:[],userInput:t,firstToolsIfNoText:[],toolsTotal:0,toolMix:new Map,bashVerbs:new Map,skills:new Map,subagents:[],taskOps:0,toolErrors:0,consecSameToolMax:0,consec:0,endedInInterrupt:!1,models:new Map,tokensIn:0,tokensOut:0,tokensCacheR:0,tokensCacheW:0,seenMsgIds:new Set}}(e,t),s||!t||t.startsWith("<command-name>")||(s=t)}else if("assistant"===i){r&&void 0!==e&&(r.eventTs.push(e),r.lastMs=e);let t=b.model;t&&(d.set(t,(d.get(t)??0)+1),r&&r.models.set(t,(r.models.get(t)??0)+1));let s=b.id,a=b.usage;if(r&&s&&!r.seenMsgIds.has(s)&&a&&(r.seenMsgIds.add(s),r.tokensIn+=a.input_tokens??0,r.tokensOut+=a.output_tokens??0,r.tokensCacheR+=a.cache_read_input_tokens??0,r.tokensCacheW+=a.cache_creation_input_tokens??0),Array.isArray(v)){for(let e of v)if(e&&"object"==typeof e){if("text"===e.type&&e.text)n=e.text,r&&(void 0===r.firstAgentText&&(r.firstAgentText=e.text),r.lastAgentText=e.text);else if("tool_use"===e.type){let t=e.name??"unknown";if(r){if(r.toolsTotal++,r.toolMix.set(t,(r.toolMix.get(t)??0)+1),void 0===r.firstAgentText&&r.firstToolsIfNoText.length<3&&r.firstToolsIfNoText.push(t),t===r.lastTool?r.consec++:(r.lastTool=t,r.consec=1),r.consec>r.consecSameToolMax&&(r.consecSameToolMax=r.consec),"Skill"===t){let t=String(e.input?.skill??"unknown");r.skills.set(t,(r.skills.get(t)??0)+1)}else if("ToolSearch"===t){let t=String(e.input?.query??""),s=`(ToolSearch: ${M(t,60)})`;r.skills.set(s,(r.skills.get(s)??0)+1)}if("Agent"===t){let t=e.input??{};r.subagents.push({type:String(t.subagent_type??"general-purpose"),model:"string"==typeof t.model?t.model:void 0,description:M(String(t.description??""),80),prompt_preview:M(String(t.prompt??""),240),background:!!t.run_in_background})}"ExitPlanMode"===t&&m++,("TodoWrite"===t||"TaskCreate"===t||"TaskUpdate"===t)&&(r.taskOps++,_++)}if("Bash"===t){let t=String(e.input?.command??"");if(r&&r.bashVerbs.set(R(t),(r.bashVerbs.get(R(t))??0)+1),/\bgh\s+pr\s+create\b/.test(t)){let e=t.match(k);u.push(e?.[1]??t.slice(0,120))}/\bgit\s+commit\b/.test(t)&&p++,/\bgit\s+push\b/.test(t)&&c++}}}}}}r&&C(r,f);let v=[...y].sort((e,t)=>e-t),T=0;for(let e=1;e<v.length;e++){let t=v[e]-v[e-1];t<18e4&&(T+=t)}let x=f.map(e=>e.activeMs),A=f.map(e=>e.toolsTotal),N=f.map(e=>e.totalTokens),E=f.filter(e=>e.subagents.length>0).length,O=[...d.entries()].sort((e,t)=>t[1]-e[1])[0]?.[0],I=Math.max(0,...f.map(e=>e.consecSameToolMax)),D=Math.max(0,...x),$=new Map,j=[];for(let e of f){for(let[t,s]of e.skills)$.set(t,($.get(t)??0)+s);j.push(...e.subagents)}let P=[...$.values()].reduce((e,t)=>e+t,0),U=u.length;i=U>0?"shipped":p>0&&c>0?"shipped-no-pr":p>0?"partial":T<12e4&&f.length<3?"trivial":"exploratory";let q=[];g>=3&&q.push("interrupt_heavy"),h>=20&&q.push("high_errors"),I>=8&&q.push("loop_suspected"),T<3e5&&U>=1&&q.push("fast_ship"),m>0&&q.push("plan_used"),E>=3&&q.push("orchestrated"),D>=12e5&&0===g&&q.push("long_autonomous");let B=Math.max(1,...N),W=Math.max(1,...A);function F(e){return .5*(e.totalTokens/B)+.5*(e.toolsTotal/W)}let L=f.filter(e=>e.activeMs>=15e3||e.toolsTotal>=1),H=f.length-L.length;L.length>25&&(L=[...L].sort((e,t)=>F(t)-F(e)).slice(0,25)),L.sort((e,t)=>(e.startMs??0)-(t.startMs??0));let V={session_id:e.id,project:e.projectName,start_iso:e.firstTimestamp,end_iso:e.lastTimestamp,outcome:i,flags:q,primary_model:O,model_mix:Object.fromEntries(d),numbers:{active_min:Math.round(T/6e3)/10,turn_count:f.length,longest_turn_min:Math.round(D/6e3)/10,median_turn_min:Math.round(function(e){if(0===e.length)return 0;let t=[...e].sort((e,t)=>e-t),s=t.length;return s%2?t[s>>1]:(t[(s>>1)-1]+t[s>>1])/2}(x)/6e3)/10,p90_turn_min:Math.round(function(e){if(0===e.length)return 0;let t=[...e].sort((e,t)=>e-t);return t[Math.min(Math.floor(.9*t.length),t.length-1)]}(x)/6e3)/10,tools_total:A.reduce((e,t)=>e+t,0),tokens_total:N.reduce((e,t)=>e+t,0),subagent_turns:E,subagent_calls:j.length,skill_calls:P,task_ops:_,interrupts:g,tool_errors:h,consec_same_tool_max:I,exit_plan_calls:m,prs:U,commits:p,pushes:c},pr_titles:u,first_user:M(S(s??""),400),final_agent:M(S(n??""),400)};return $.size>0&&(V.skills=Object.fromEntries($)),j.length>0&&(V.subagents=j),l||(V.numbers.turns_in_capsule=L.length,V.numbers.trivial_turns_dropped=H,V.turns=L.map(function(e){let t=e.startMs&&a?(e.startMs-a)/1e3:0,s=[];for(let[t,n]of[...e.toolMix.entries()].sort((e,t)=>t[1]-e[1]).slice(0,3))if("Bash"===t&&e.bashVerbs.size>0){let t=[...e.bashVerbs.entries()].sort((e,t)=>t[1]-e[1]).slice(0,3).map(([e,t])=>t>1?`${e}\xd7${t}`:e).join(", ");s.push(`Bash\xd7${n} (${t})`)}else s.push(n>1?`${t}\xd7${n}`:t);let n=e.firstAgentText??(e.firstToolsIfNoText.length>0?`(tools only: ${e.firstToolsIfNoText.join(", ")})`:""),r=M(S(n),260),o=function(e,t=3,s=500){if(!e)return"";let n=e.replace(/\s+/g," ").trim().split(b).slice(0,t).join(" ").trim();return n.length>s?n.slice(0,s-1)+"…":n}(S(e.lastAgentText??""),3,500),i=e.endedInInterrupt?"interrupt":e.lastAgentText?"text":"tool-in-flight",l=[...e.models.entries()].sort((e,t)=>t[1]-e[1])[0]?.[0],u={t_offset_min:Math.round(t/6)/10,active_min:Math.round(e.activeMs/6e3)/10,wall_min:Math.round(e.wallMs/6e3)/10,user_input:M(S(e.userInput),300),tools_total:e.toolsTotal,top_tools:s,tokens:e.totalTokens,errors:e.toolErrors,consec_same_tool_max:e.consecSameToolMax,ended:i,model:l};return r&&o&&r===o?u.agent=r:n&&e.lastAgentText&&e.firstAgentText===e.lastAgentText?u.agent=o:(u.first_agent=r,u.final_agent=o),e.skills.size>0&&(u.skills=Object.fromEntries(e.skills)),e.subagents.length>0&&(u.subagents=e.subagents),u})),V}(t,{compact:!0})}catch{return null}}))))e&&("trivial"===e.outcome?I++:E.push(e));a("data",`Built ${E.length}/${x.length} capsules (${I} trivial)`)}a("data",`Aggregating ${E.length} sessions over ${Math.round((v.end.getTime()-v.start.getTime())/864e5)+1} days`);let D=(0,A.buildPeriodBundle)(E,{period:v,trivial_dropped:I,sessions_total:x.length});a("data","Computing concurrency bursts"),D.concurrency=(0,A.aggregateConcurrency)((0,N.computeBurstsFromSessions)(x),v),a("data","Loading license utilization");try{D.usage=await (0,y.loadUsageByDay)(v.start,v.end)}catch{}a("data","Loading prior reports for baseline comparison");let j=await U(4),B=JSON.stringify({period:D.period,aggregates:D,capsules:E,prior:j}),W=Math.round(B.length/1024);a("analyst",`Sending ${W} KB to Claude (sonnet)`);let F=await P(B,a);if(!F){r({type:"error",message:"Analyst returned no parseable JSON."}),o();return}a("compose","Merging aggregates + narrative");let L=(l=D,u=F,p=v,c=W,d=j,e=Object.entries(l.skills_total).sort((e,t)=>t[1]-e[1]).slice(0,6).map(([e,t])=>({name:e,count:t})),s=l.by_day.map((e,t)=>{let s=l.concurrency?.by_day[t],n=l.usage?.by_day.find(t=>t.date===e.date);return{day_name:e.day_name,date_label:new Date(e.date).toLocaleDateString("en-US",{month:"short",day:"numeric"}),agent_minutes:Math.round(e.agent_min),sessions:e.sessions,concurrency_peak:s?.peak??0,has_cross_project:!!s?.has_cross_project,plan_util_pct:n?.peak_util_pct??0,is_partial:new Date(e.date).getTime()>Date.now()}}),n=l.project_shares.map(e=>({name:e.name,display_name:e.display_name,agent_minutes:Math.round(e.agent_min),share_pct:e.share_pct,prs:e.prs,commits:e.commits})),h=l.shipped_prs.map(e=>({title:e.title,project:e.project,duration_label:q(e.active_min),commits:e.commits,subagents:e.subagents,flags:e.flags,summary:u.shipped_summaries[e.session_id]??""})),g=[],l.outliers.longest_run&&g.push({label:"Longest run",detail:q(l.outliers.longest_run.active_min),note:u.outlier_notes.longest_run??l.outliers.longest_run.project}),l.outliers.fastest_ship&&g.push({label:"Fastest ship",detail:q(l.outliers.fastest_ship.active_min),note:u.outlier_notes.fastest_ship??l.outliers.fastest_ship.pr_title}),l.outliers.most_errors&&g.push({label:"Most errors",detail:String(l.outliers.most_errors.tool_errors),note:u.outlier_notes.most_errors??l.outliers.most_errors.project}),l.outliers.wandered&&g.push({label:"Wandered",detail:q(l.outliers.wandered.active_min),note:u.outlier_notes.wandered??l.outliers.wandered.project}),m=p.in_progress?" · in progress":"",_="4weeks"===l.period.range_type?"Last 4 weeks ·":"month"===l.period.range_type?"Month of":"Week of",f="4weeks"===l.period.range_type?"Calendar 4-week rollup":"month"===l.period.range_type?"Calendar month":"Calendar week · Mon–Sun",{period_label:`${_} ${l.period.label}`,period_sublabel:`${f}${m}`,range_type:l.period.range_type,archetype:{label:u.archetype.label,icon:$(u.archetype.icon),tagline:u.archetype.tagline,why:u.archetype.why,vs_usual:u.archetype.vs_usual},top_skills:e,days:s,theme_headline:u.theme_headline,projects:n,shipped:h,patterns:u.patterns.map(e=>({icon:$(e.icon),title:e.title,stat:e.stat,note:e.note})),concurrency:{multi_agent_days:l.concurrency?.multi_agent_days??0,peak:l.concurrency?.peak??0,peak_day:l.concurrency?.peak_day?new Date(l.concurrency.peak_day).toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric"}):"—",cross_project_days:l.concurrency?.cross_project_days??0,insight:u.concurrency_insight,suggestion:u.concurrency_suggestion},outliers:g,suggestion_headline:u.suggestion_headline,suggestion_body:u.suggestion_body,prior_weeks:d,saved_reports:[],meta:{generated_at:new Date().toISOString().replace("T"," ").slice(0,16),sessions_total:l.counts.sessions_total,sessions_used:l.counts.substantive,trivial_dropped:l.counts.trivial_dropped,model:"claude-sonnet-4-6",pipeline_ms:0,context_kb:c}});if(L.meta.pipeline_ms=Date.now()-i,r({type:"report",report:L}),!v.in_progress){a("compose","Saving report to disk");let e=(0,O.keyForRange)(v.range_type,D.period.start);try{await (0,O.saveReport)(e,L),r({type:"saved",key:e,saved_at:new Date().toISOString()})}catch(e){r({type:"status",phase:"compose",text:`(save failed: ${e.message})`})}}r({type:"done"}),o()}catch(e){r({type:"error",message:e.message}),o()}}});return new Response(n,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}})}async function P(e,t){let s=`Period payload:
|
|
61
|
-
|
|
62
|
-
${e}
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
Return the JSON per your system instructions.`;return new Promise(e=>{let n=(0,I.spawn)("claude",["-p","--output-format","stream-json","--verbose","--model","sonnet","--tools","","--disable-slash-commands","--no-session-persistence","--setting-sources","","--append-system-prompt",E],{stdio:["pipe","pipe","pipe"],env:{...process.env}});n.stdin.write(s),n.stdin.end();let r="",a=-1,o=Date.now();n.stdout.on("data",e=>{for(let s of e.toString("utf8").split("\n")){let e=s.trim();if(e)try{let s=JSON.parse(e);if("assistant"===s.type){let e=s.message,n=e?.content;if(Array.isArray(n)){for(let e of n)if("text"===e.type&&"string"==typeof e.text){r+=e.text;let s=Math.floor(r.length/1024);if(s>a){a=s;let e=Math.round((Date.now()-o)/1e3);t("analyst",`Claude composing… ${r.length.toLocaleString()} chars (${e}s)`)}}}}}catch{}}}),n.on("close",()=>{let t=function(e){let t=/```json\s*([\s\S]*?)```/m.exec(e);if(t)return t[1].trim();let s=e.indexOf("{"),n=e.lastIndexOf("}");return -1!==s&&n>s?e.slice(s,n+1):null}(r);if(!t)return void e(null);try{e(JSON.parse(t))}catch{e(null)}}),n.on("error",()=>e(null))})}async function U(e){let t=(await (0,O.listSavedReports)()).filter(e=>e.key.startsWith("week-")).slice(0,e),s=[];for(let e of t){let t=await (0,O.getSavedReport)(e.key);t&&s.push({period_label:t.period_label,archetype:t.archetype.label,sessions:t.meta.sessions_used,prs:t.shipped.length,subagents:t.concurrency.peak,agent_minutes:t.days.reduce((e,t)=>e+t.agent_minutes,0)})}return s}function q(e){if(e<60){let t=Math.floor(e),s=Math.round((e-t)*60);return 0===t&&s>0?`${s}s`:0===s?`${t}m`:`${t}m ${s}s`}let t=Math.floor(e/60),s=Math.round(e-60*t);return`${t}h ${s}m`}e.s(["POST",0,j,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],63696);var B=e.i(63696);let W=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/insights/route",pathname:"/api/insights",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/insights/route.ts",nextConfigOutput:"standalone",userland:B,...{}}),{workAsyncStorage:F,workUnitAsyncStorage:L,serverHooks:H}=W;async function V(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),W.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/insights/route";y=y.replace(/\/index$/,"")||"/";let w=await W.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:b,params:v,nextConfig:k,parsedUrl:T,isDraftMode:x,prerenderManifest:M,routerServerContext:S,isOnDemandRevalidate:R,revalidateOnlyGenerated:C,resolvedPathname:A,clientReferenceManifest:N,serverActionsManifest:E}=w,O=(0,i.normalizeAppPath)(y),I=!!(M.dynamicRoutes[O]||M.routes[A]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,T,!1):t.end("This page could not be found"),null);if(I&&!x){let e=!!M.routes[A],t=M.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await D();throw new _.NoFallbackError}}let $=null;!I||W.isDev||x||($="/index"===($=A)?"/":$);let j=!0===W.isDev||!I,P=I&&!j;E&&N&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:N,serverActionsManifest:E});let U=e.method||"GET",q=(0,a.getTracer)(),B=q.getActiveScopeSpan(),F=!!(null==S?void 0:S.isWrappedByNextServer),L=!!(0,r.getRequestMeta)(e,"minimalMode"),H=(0,r.getRequestMeta)(e,"incrementalCache")||await W.getIncrementalCache(e,k,M,L);null==H||H.resetRequestCache(),globalThis.__incrementalCache=H;let V={params:v,previewProps:M.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:j,incrementalCache:H,cacheLifeProfiles:k.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,n,r)=>W.onRequestError(e,t,n,r,S)},sharedContext:{buildId:b}},J=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let r,o=async e=>W.handle(K,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=q.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=s.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",n),r.updateName(t))}else e.updateName(`${U} ${y}`)}),i=async r=>{var a,i;let l=async({previousCacheEntry:s})=>{try{if(!L&&R&&C&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(r);e.fetchMetrics=V.renderOpts.fetchMetrics;let i=V.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=V.renderOpts.collectedTags;if(!I)return await (0,d.sendResponse)(J,Y,a,V.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,n=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:n}}}}catch(t){throw(null==s?void 0:s.isStale)&&await W.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:R})},!1,S),t}},u=await W.handleResponse({req:e,nextConfig:k,cacheKey:$,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:M,isRoutePPREnabled:!1,isOnDemandRevalidate:R,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:L});if(!I)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",R?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&I||p.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,d.sendResponse)(J,Y,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};F&&B?await i(B):(r=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${y}`,kind:a.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},i),void 0,!F))}catch(t){if(t instanceof _.NoFallbackError||await W.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:R})},!1,S),I)throw t;return await (0,d.sendResponse)(J,Y,new Response(null,{status:500})),null}}e.s(["handler",0,V,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:L})},"routeModule",0,W,"serverHooks",0,H,"workAsyncStorage",0,F,"workUnitAsyncStorage",0,L],6156)}];
|
|
67
|
-
|
|
68
|
-
//# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_00t2xj6.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},70709,a=>{"use strict";var b=a.i(717),c=a.i(2157),d=a.i(50227),e=a.i(60526);let f=(0,b.cache)(()=>{let a=process.env.CCLENS_USAGE_LOG||(0,d.join)((0,e.homedir)(),".cclens","usage.jsonl");if(!(0,c.existsSync)(a))return[];let b=(0,c.readFileSync)(a,"utf8"),f=[];for(let a of b.split("\n"))if(a.trim())try{f.push(JSON.parse(a))}catch{}return f}),g=(0,b.cache)(()=>{let a=f();return a.length>0?a[a.length-1]:null});a.s(["latestUsageSnapshot",0,g,"readUsageSnapshots",0,f])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0.tsxpj._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},34476,a=>{"use strict";a.s(["DateRangeFilter",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call DateRangeFilter() from the server but DateRangeFilter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/date-range-filter.tsx <module evaluation>","DateRangeFilter")},96491,a=>{"use strict";a.s(["DateRangeFilter",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call DateRangeFilter() from the server but DateRangeFilter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/date-range-filter.tsx","DateRangeFilter")},67598,a=>{"use strict";a.i(34476);var b=a.i(96491);a.n(b)},77739,a=>{"use strict";var b=a.i(7997),c=a.i(48024),d=a.i(4636),e=a.i(67598),f=a.i(77708),g=a.i(67116),h=a.i(87067),i=a.i(95936);async function j({searchParams:a}){let k,{range:l}=await a,m="7d"===(k=Array.isArray(l)?l[0]:l)||"30d"===k||"90d"===k||"all"===k?k:"all",n=function(a,b=Date.now()){if("all"===a)return;let c=new Date(b);return c.setHours(0,0,0,0),c.setDate(c.getDate()-(("7d"===a?7:"30d"===a?30:90)-1)),c.getTime()}(m),o=await (0,g.listSessions)(),p=void 0===n?o:o.filter(a=>{if(!a.firstTimestamp)return!1;let b=Date.parse(a.firstTimestamp);return!Number.isNaN(b)&&b>=n}),q=(0,c.groupByProject)(p).sort((a,b)=>{let c=a.metrics.totalTokens.input+a.metrics.totalTokens.output+a.metrics.totalTokens.cacheRead+a.metrics.totalTokens.cacheWrite,d=b.metrics.totalTokens.input+b.metrics.totalTokens.output+b.metrics.totalTokens.cacheRead+b.metrics.totalTokens.cacheWrite;return d!==c?d-c:b.metrics.sessionCount-a.metrics.sessionCount}).slice(0,8),r=p.slice(0,6);return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:28,maxWidth:1280,padding:"32px 40px"},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:18,flexWrap:"wrap"},children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{style:{fontSize:26,fontWeight:700,letterSpacing:"-0.02em",margin:0},children:"Overview"}),(0,b.jsxs)("p",{style:{fontSize:13,color:"var(--af-text-secondary)",marginTop:4},children:[p.length," of ",o.length," session",1===o.length?"":"s",", read from"," ",(0,b.jsx)("code",{style:{fontFamily:"var(--font-mono)",fontSize:11,background:"var(--af-border-subtle)",padding:"1px 6px",borderRadius:4},children:"~/.claude/projects"}),"."]})]}),(0,b.jsx)(e.DateRangeFilter,{current:m})]}),(0,b.jsx)(d.DashboardView,{sessions:p}),(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"1fr 1.4fr",gap:16},children:[(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Top projects"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"by total tokens"}),(0,b.jsx)(i.default,{href:"/projects",style:{fontSize:11,color:"var(--af-accent)",marginLeft:"auto"},children:"View all →"})]}),(0,b.jsx)("div",{children:0===q.length?(0,b.jsx)("div",{className:"af-empty",children:"No projects yet."}):q.map(a=>{let c=a.metrics.totalTokens.input+a.metrics.totalTokens.output+a.metrics.totalTokens.cacheRead+a.metrics.totalTokens.cacheWrite;return(0,b.jsxs)(i.default,{href:`/projects/${encodeURIComponent(a.projectDir)}`,style:{display:"grid",gridTemplateColumns:"1fr auto auto auto",gap:14,padding:"10px 18px",fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",alignItems:"center"},children:[(0,b.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--af-text)"},title:a.projectName,children:(0,h.prettyProjectName)(a.projectName)}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",minWidth:64,textAlign:"right"},children:[a.sessions.length," sess"]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",minWidth:52,textAlign:"right"},title:`${c.toLocaleString()} tokens`,children:(0,h.formatTokens)(c)}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",minWidth:56,textAlign:"right"},suppressHydrationWarning:!0,children:a.lastActiveMs?(0,h.formatRelative)(new Date(a.lastActiveMs).toISOString()):"—"})]},a.projectDir)})})]}),(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Recent sessions"}),(0,b.jsx)(i.default,{href:"/sessions",style:{fontSize:11,color:"var(--af-accent)",marginLeft:"auto"},children:"View all →"})]}),(0,b.jsx)("div",{children:0===r.length?(0,b.jsx)("div",{className:"af-empty",children:"No sessions found in ~/.claude/projects"}):r.map(a=>(0,b.jsxs)(i.default,{href:`/sessions/${a.id}`,style:{display:"grid",gridTemplateColumns:"1fr auto auto",gap:12,padding:"10px 18px",fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",alignItems:"center"},children:[(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsxs)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--af-text)",display:"flex",alignItems:"center",gap:6},children:[(0,b.jsx)(f.LiveBadge,{mtimeIso:a.lastTimestamp}),(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.firstUserPreview||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})})]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",marginTop:2,fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,h.prettyProjectName)(a.projectName)})]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",textAlign:"right",minWidth:54},title:"Agent time (filters out idle gaps)",children:(0,h.formatDuration)(a.airTimeMs??a.durationMs)}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textAlign:"right",minWidth:54},children:a.firstTimestamp?(0,h.formatRelative)(a.firstTimestamp):"—"})]},`${a.projectDir}/${a.id}`))})]})]})]})}a.s(["default",0,j,"dynamic",0,"force-dynamic"],77739)},67303,a=>{a.n(a.i(77739))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__00z7zlm._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},1269,a=>{"use strict";var b=a.i(717);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],1269)},43296,a=>{"use strict";a.s(["UsageChartsDashboard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call UsageChartsDashboard() from the server but UsageChartsDashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/usage-charts-dashboard.tsx <module evaluation>","UsageChartsDashboard")},51071,a=>{"use strict";a.s(["UsageChartsDashboard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call UsageChartsDashboard() from the server but UsageChartsDashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/usage-charts-dashboard.tsx","UsageChartsDashboard")},90268,a=>{"use strict";a.i(43296);var b=a.i(51071);a.n(b)},28664,a=>{"use strict";var b=a.i(7997);let c=(0,a.i(1269).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"}]]);var d=a.i(70709),e=a.i(90268);function f(){return(0,b.jsxs)("div",{className:"af-card",style:{padding:"48px 32px",textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:15,fontWeight:600,color:"var(--af-text)"},children:"No usage data yet"}),(0,b.jsx)("p",{style:{fontSize:12,color:"var(--af-text-tertiary)",marginTop:8},children:"Start the polling daemon to begin collecting metrics every 5 minutes:"}),(0,b.jsx)("pre",{style:{display:"inline-block",marginTop:14,background:"var(--background)",border:"1px solid var(--af-border-subtle)",padding:"8px 16px",borderRadius:6,fontSize:13,fontFamily:"var(--font-mono)",color:"var(--af-text)"},children:"cclens daemon start"}),(0,b.jsxs)("p",{style:{fontSize:11,color:"var(--af-text-tertiary)",marginTop:16},children:["For a one-shot snapshot without the daemon, run"," ",(0,b.jsx)("code",{style:{background:"var(--background)",padding:"1px 6px",borderRadius:4,fontFamily:"var(--font-mono)"},children:"cclens usage"}),"."]})]})}a.s(["default",0,function(){let a=(0,d.readUsageSnapshots)(),g=(0,d.latestUsageSnapshot)();return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18,maxWidth:1400,padding:"20px 32px"},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"baseline",gap:14,flexWrap:"wrap"},children:[(0,b.jsxs)("h1",{style:{fontSize:20,fontWeight:700,letterSpacing:"-0.02em",margin:0,display:"flex",alignItems:"center",gap:8},children:[(0,b.jsx)(c,{size:18}),"Usage history"]}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:"historical plan utilization · current usage in sidebar"})]}),g?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.UsageChartsDashboard,{snapshots:a}),(0,b.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},suppressHydrationWarning:!0,children:["Last daemon poll: ",new Date(g.captured_at).toLocaleString()," ·"," ",a.length," snapshot",1===a.length?"":"s"," on disk"]})]}):(0,b.jsx)(f,{})]})},"dynamic",0,"force-dynamic"],28664)},51443,a=>{a.n(a.i(28664))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__08pen0k._.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},20555,a=>{"use strict";var b=a.i(87924),c=a.i(72131);a.s(["LiveBadge",0,function({mtimeIso:a,size:d="sm"}){let[e,f]=(0,c.useState)(()=>Date.now());if((0,c.useEffect)(()=>{let a=setInterval(()=>f(Date.now()),1e4);return()=>clearInterval(a)},[]),!a)return null;let g=Date.parse(a);if(Number.isNaN(g)||e-g>45e3)return null;let h="md"===d?8:6;return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:"md"===d?10:9,fontWeight:700,letterSpacing:"0.04em",padding:"md"===d?"3px 9px":"2px 7px",borderRadius:100,background:"rgba(239, 68, 68, 0.12)",color:"#ef4444",textTransform:"uppercase"},title:`Last updated ${new Date(g).toLocaleTimeString()}`,children:[(0,b.jsx)("span",{style:{display:"inline-block",width:h,height:h,borderRadius:"50%",background:"#ef4444",animation:"cs-live-pulse 1.6s ease-in-out infinite"}}),"LIVE",(0,b.jsx)("style",{children:`
|
|
2
|
-
@keyframes cs-live-pulse {
|
|
3
|
-
0%, 100% { opacity: 1; transform: scale(1); }
|
|
4
|
-
50% { opacity: 0.4; transform: scale(0.85); }
|
|
5
|
-
}
|
|
6
|
-
`})]})}])},50522,a=>{"use strict";let b=(0,a.i(70106).default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],50522)},96221,a=>{"use strict";let b=(0,a.i(70106).default)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],96221)},5784,a=>{"use strict";let b=(0,a.i(70106).default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",0,b],5784)},33508,a=>{"use strict";let b=(0,a.i(70106).default)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",0,b],33508)},85668,a=>{"use strict";let b=(0,a.i(70106).default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",0,b],85668)},41710,a=>{"use strict";let b=(0,a.i(70106).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);a.s(["Clock",0,b],41710)},79808,a=>{"use strict";let b=(0,a.i(70106).default)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);a.s(["Wrench",0,b],79808)},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}])}];
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0b323~k._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},28533,a=>{"use strict";a.s(["InsightsView",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call InsightsView() from the server but InsightsView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/insights-view.tsx <module evaluation>","InsightsView")},77220,a=>{"use strict";a.s(["InsightsView",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call InsightsView() from the server but InsightsView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/insights-view.tsx","InsightsView")},13658,a=>{"use strict";a.i(28533);var b=a.i(77220);a.n(b)},73855,a=>{"use strict";var b=a.i(7997),c=a.i(13658);a.s(["default",0,function(){return(0,b.jsx)(c.InsightsView,{})},"dynamic",0,"force-dynamic"])},77015,a=>{a.n(a.i(73855))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0gx-4qa._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},67116,a=>{"use strict";var b=a.i(717),c=a.i(50785);let d=process.env.CCLENS_DATA_DIR||void 0,e=(0,b.cache)(async()=>(0,c.listSessions)({limit:1e3,root:d})),f=(0,b.cache)(async a=>(0,c.getSession)(a,{root:d}));a.s(["getSession",0,f,"listSessions",0,e])},55490,a=>{"use strict";a.s(["GanttChart",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call GanttChart() from the server but GanttChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/parallelism/gantt-chart.tsx <module evaluation>","GanttChart")},65032,a=>{"use strict";a.s(["GanttChart",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call GanttChart() from the server but GanttChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/parallelism/gantt-chart.tsx","GanttChart")},97309,a=>{"use strict";a.i(55490);var b=a.i(65032);a.n(b)},36714,a=>{"use strict";a.s(["DateNav",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call DateNav() from the server but DateNav is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/parallelism/date-nav.tsx <module evaluation>","DateNav")},29965,a=>{"use strict";a.s(["DateNav",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call DateNav() from the server but DateNav is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/parallelism/date-nav.tsx","DateNav")},20339,a=>{"use strict";a.i(36714);var b=a.i(29965);a.n(b)},15544,a=>{"use strict";var b=a.i(7997),c=a.i(67116),d=a.i(48024),e=a.i(97309),f=a.i(20339);async function g({searchParams:a}){let{date:i}=await a,j=(0,d.toLocalDay)(Date.now()),k=i&&/^\d{4}-\d{2}-\d{2}$/.test(i)?i:j,[l,m,n]=k.split("-").map(Number),o=new Date(l,m-1,n).getTime(),p=new Date(l,m-1,n+1).getTime(),q=o-864e5,r=p+864e5,s=await (0,c.listSessions)(),t=s.filter(a=>{if(!a.firstTimestamp)return!1;let b=Date.parse(a.firstTimestamp);return!Number.isNaN(b)&&(a.lastTimestamp?Date.parse(a.lastTimestamp):b)>=q&&b<=r}),u=(await Promise.all(t.slice(0,80).map(a=>(0,c.getSession)(a.id)))).filter(a=>!!a),v=(0,d.buildGanttDay)(u,k),w=(0,d.computeParallelismBursts)(v),x=(0,d.dailyActivity)(s),y=new Map(x.map(a=>[a.date,a])),z=(0,d.computeBurstsFromSessions)(s),A=new Map;for(let a of z){let b=(0,d.toLocalDay)(a.startMs),c=A.get(b)??{totalMs:0,count:0,peak:0};c.totalMs+=a.endMs-a.startMs,c.count+=1,a.peak>c.peak&&(c.peak=a.peak),A.set(b,c)}let B=new Set;for(let a of x)a.sessions>0&&B.add(a.date);for(let a of A.keys())B.add(a);let C=Array.from(B).map(a=>{let b=y.get(a),c=A.get(a);return{date:a,sessions:b?.sessions??0,airTimeMs:b?.airTimeMs??0,parallelMs:c?.totalMs??0,burstCount:c?.count??0,peakConcurrency:c?.peak??0}}).sort((a,b)=>a.date.localeCompare(b.date)),D=C.map(a=>a.date),E=D.indexOf(k),F=E>0?D[E-1]:void 0,G=E>=0&&E<D.length-1?D[E+1]:void 0,H=v.sessions.reduce((a,b)=>a+b.activeMs,0),I=v.peakActiveParallelism,J=w.reduce((a,b)=>a+(b.endMs-b.startMs),0),K=w.filter(a=>a.crossProject).length;return(0,b.jsxs)("div",{style:{padding:"32px 40px",maxWidth:1400},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",marginBottom:20,flexWrap:"wrap",gap:14},children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{style:{fontSize:26,fontWeight:700,letterSpacing:"-0.02em",margin:0},children:"Timeline"}),(0,b.jsxs)("p",{style:{fontSize:13,color:"var(--af-text-secondary)",marginTop:4},children:[k===j?"Today":"Activity on"," ",(0,b.jsx)("strong",{children:k})]})]}),(0,b.jsx)(f.DateNav,{date:k,today:j,prevDay:F,nextDay:G,dayStats:C})]}),0===v.sessions.length?(0,b.jsxs)("div",{className:"af-empty",children:["No active sessions on ",k,". Try a different date."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h,{sessionCount:v.sessions.length,activeMs:H,peakConcurrent:I,parallelMs:J,burstCount:w.length,crossProjectBursts:K}),(0,b.jsx)(e.GanttChart,{gantt:v,bursts:w})]})]})}function h({sessionCount:a,activeMs:c,peakConcurrent:d,parallelMs:e,burstCount:f,crossProjectBursts:g}){let i=a=>{if(a<=0)return"—";let b=Math.round(a/6e4);if(b<60)return`${b}m`;let c=Math.floor(b/60),d=b%60;return d?`${c}h ${d}m`:`${c}h`},j=[{label:"Sessions active",value:String(a),sub:"at least one segment today"},{label:"Agent time",value:i(c),sub:"actively working"}];return f>0?(j.push({label:"Peak concurrency",value:`\xd7${d}`,sub:"max agents at once",color:"rgba(167, 139, 250, 1)"}),j.push({label:"Parallel time",value:i(e),sub:`${f} burst${1===f?"":"s"}${g>0?` \xb7 ${g} cross-project`:""}`})):j.push({label:"Peak concurrency",value:d>1?`\xd7${d}`:"—",sub:"no sustained bursts"}),(0,b.jsx)("section",{style:{display:"grid",gridTemplateColumns:`repeat(${j.length}, 1fr)`,gap:12,marginBottom:16},children:j.map(a=>(0,b.jsxs)("div",{className:"af-panel",style:{padding:"14px 18px"},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--af-text-tertiary)",marginBottom:4},children:a.label}),(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,letterSpacing:"-0.01em",fontVariantNumeric:"tabular-nums",color:a.color??"var(--af-text)"},children:a.value}),a.sub&&(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",marginTop:3},children:a.sub})]},a.label))})}a.s(["default",0,g,"dynamic",0,"force-dynamic"])},69972,a=>{a.n(a.i(15544))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0wv27wt._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},42602,(a,b,c)=>{"use strict";b.exports=a.r(18622)},87924,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactJsxRuntime},72131,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].React},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},70106,a=>{"use strict";var b=a.i(72131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],70106)},46058,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},88644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},39118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},54427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},3444,a=>{"use strict";a.s(["formatDuration",0,function(a){if(void 0===a)return"—";if(a<1e3)return`${a}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`},"formatGap",0,function(a){if(a<1e3)return`${a}ms`;let b=a/1e3;if(b<60)return`${b.toFixed(1)}s`;let c=Math.floor(b/60);if(c<60){let a=Math.round(b%60);return`${c}m ${a}s`}let d=Math.floor(c/60),e=c%60;if(d<24)return e?`${d}h ${e}m`:`${d}h`;let f=Math.floor(d/24),g=d%24;return g?`${f}d ${g}h`:`${f}d`},"formatOffset",0,function(a){if(void 0===a||a<0)return"—";let b=Math.floor(a/1e3),c=Math.floor(b/3600),d=String(Math.floor(b%3600/60)).padStart(2,"0"),e=String(b%60).padStart(2,"0");return`${c}:${d}:${e}`},"formatRelative",0,function(a){let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Math.round((Date.now()-b)/1e3);if(c<60)return`${c}s ago`;let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return`${f}d ago`},"formatTokens",0,function(a){return a<1e3?String(a):a<1e4?(a/1e3).toFixed(1)+"k":a<1e6?Math.round(a/1e3)+"k":a<1e7?(a/1e6).toFixed(2)+"M":(a/1e6).toFixed(1)+"M"},"prettyProjectName",0,function(a,b=35){let c=a.split("/").filter(Boolean),d=c.lastIndexOf(".worktrees");if(d>0&&d<c.length-1){let a=c[d-1],e=c[d+1],f=`${a}/${e}`;return f.length<=b?f:"…"+f.slice(f.length-b+1)}let e=c.length>=2?`${c[c.length-2]}/${c[c.length-1]}`:c[c.length-1]??a;return e.length<=b?e:"…"+e.slice(e.length-b+1)},"shortId",0,function(a){return a.length<=10?a:a.slice(0,6)+"…"+a.slice(-4)}])},69439,a=>{"use strict";let b=(0,a.i(70106).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"}]]);a.s(["Lightbulb",0,b],69439)},2591,a=>{"use strict";var b=a.i(72131);a.s(["usePersistentBoolean",0,function(a,c){let[d,e]=(0,b.useState)(c),[f,g]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{try{let b=window.localStorage.getItem(a);"1"===b?e(!0):"0"===b&&e(!1)}catch{}g(!0)},[a]),(0,b.useEffect)(()=>{let b=b=>{let c=b.detail;c?.key===a&&"boolean"==typeof c.value&&e(c.value)},c=b=>{b.key===a&&("1"===b.newValue?e(!0):"0"===b.newValue&&e(!1))};return window.addEventListener("cclens:persistent-boolean",b),window.addEventListener("storage",c),()=>{window.removeEventListener("cclens:persistent-boolean",b),window.removeEventListener("storage",c)}},[a]),[d,(0,b.useCallback)(b=>{e(b);try{window.localStorage.setItem(a,b?"1":"0")}catch{}window.dispatchEvent(new CustomEvent("cclens:persistent-boolean",{detail:{key:a,value:b}}))},[a]),f]}])},87532,a=>{"use strict";let b=(0,a.i(70106).default)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);a.s(["Search",0,b],87532)},76285,a=>{"use strict";var b=a.i(87924),c=a.i(38246);let d={display:"inline-flex",alignItems:"center",borderRadius:4,padding:"2px 6px",fontSize:10,letterSpacing:"0.04em",textTransform:"uppercase",whiteSpace:"nowrap"};a.s(["TeamBadge",0,function({session:a,linkable:e=!0}){if(!a.teamName)return null;let f=!0===a.isTeamLead,g=void 0!==a.agentName;return f||g?f&&e?(0,b.jsx)(c.default,{href:`/sessions/${a.id}`,style:{...d,fontWeight:600,background:"var(--af-warning-subtle)",color:"var(--af-warning)",border:"1px solid var(--af-warning-subtle)",textDecoration:"none"},title:`Team lead — ${a.teamName}`,children:"Team Lead"}):f?(0,b.jsx)("span",{style:{...d,fontWeight:600,background:"var(--af-warning-subtle)",color:"var(--af-warning)",border:"1px solid var(--af-warning-subtle)"},title:`Team lead — ${a.teamName}`,children:"Team Lead"}):(0,b.jsx)("span",{style:{...d,fontWeight:500,background:"var(--af-surface-hover)",color:"var(--af-text-tertiary)",border:"1px solid var(--af-border-subtle)"},title:`Team member — ${a.teamName} \xb7 ${a.agentName}`,children:"Team Member"}):null}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__13itnvx._.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
module.exports=[20555,a=>{"use strict";var b=a.i(87924),c=a.i(72131);a.s(["LiveBadge",0,function({mtimeIso:a,size:d="sm"}){let[e,f]=(0,c.useState)(()=>Date.now());if((0,c.useEffect)(()=>{let a=setInterval(()=>f(Date.now()),1e4);return()=>clearInterval(a)},[]),!a)return null;let g=Date.parse(a);if(Number.isNaN(g)||e-g>45e3)return null;let h="md"===d?8:6;return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:"md"===d?10:9,fontWeight:700,letterSpacing:"0.04em",padding:"md"===d?"3px 9px":"2px 7px",borderRadius:100,background:"rgba(239, 68, 68, 0.12)",color:"#ef4444",textTransform:"uppercase"},title:`Last updated ${new Date(g).toLocaleTimeString()}`,children:[(0,b.jsx)("span",{style:{display:"inline-block",width:h,height:h,borderRadius:"50%",background:"#ef4444",animation:"cs-live-pulse 1.6s ease-in-out infinite"}}),"LIVE",(0,b.jsx)("style",{children:`
|
|
2
|
-
@keyframes cs-live-pulse {
|
|
3
|
-
0%, 100% { opacity: 1; transform: scale(1); }
|
|
4
|
-
50% { opacity: 0.4; transform: scale(0.85); }
|
|
5
|
-
}
|
|
6
|
-
`})]})}])},85668,a=>{"use strict";let b=(0,a.i(70106).default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",0,b],85668)},79808,a=>{"use strict";let b=(0,a.i(70106).default)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);a.s(["Wrench",0,b],79808)},41710,a=>{"use strict";let b=(0,a.i(70106).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);a.s(["Clock",0,b],41710)},75235,12958,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(70106);let e=(0,d.default)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);var f=a.i(85668);let g=(0,d.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"}]]);a.s(["DataTable",0,function({rows:a,columns:d,getRowKey:h,onRowClick:i,defaultSortKey:j,defaultSortDir:k="desc"}){let[l,m]=(0,c.useState)(j??null),[n,o]=(0,c.useState)(k),p=(0,c.useMemo)(()=>{if(!l)return a;let b=d.find(a=>a.key===l);if(!b||!b.sortValue)return a;let c="asc"===n?1:-1;return[...a].sort((a,d)=>{let e=b.sortValue(a),f=b.sortValue(d);return"number"==typeof e&&"number"==typeof f?(e-f)*c:String(e).localeCompare(String(f))*c})},[a,d,l,n]);return(0,b.jsx)("div",{style:{overflowX:"auto",border:"1px solid var(--af-border-subtle)",borderRadius:8,background:"var(--af-surface)"},children:(0,b.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:12,color:"var(--af-text)"},children:[(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:d.map(a=>{let c=l===a.key,d=!1!==a.sortable&&!!a.sortValue;return(0,b.jsx)("th",{onClick:()=>{!1!==a.sortable&&a.sortValue&&(l===a.key?o(a=>"asc"===a?"desc":"asc"):(m(a.key),o("desc")))},style:{textAlign:a.align??"left",fontSize:10,fontWeight:600,color:c?"var(--af-accent)":"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",padding:"10px 12px",borderBottom:"1px solid var(--af-border-subtle)",cursor:d?"pointer":"default",userSelect:"none",whiteSpace:"nowrap",width:a.width,background:"var(--af-surface)",position:"sticky",top:0},children:(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,verticalAlign:"middle"},children:[a.header,d&&(0,b.jsx)("span",{style:{display:"inline-flex",opacity:c?1:.35},children:c?"asc"===n?(0,b.jsx)(e,{size:10}):(0,b.jsx)(f.ArrowDown,{size:10}):(0,b.jsx)(g,{size:10})})]})},a.key)})})}),(0,b.jsxs)("tbody",{children:[p.map(a=>(0,b.jsx)("tr",{onClick:()=>i?.(a),style:{cursor:i?"pointer":"default",borderBottom:"1px solid var(--af-border-subtle)",transition:"background 0.1s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--af-surface-hover)"},onMouseLeave:a=>{a.currentTarget.style.background=""},children:d.map(c=>(0,b.jsx)("td",{style:{padding:"10px 12px",textAlign:c.align??"left",whiteSpace:"right"===c.align?"nowrap":void 0,verticalAlign:"top"},children:c.render(a)},c.key))},h(a))),0===p.length&&(0,b.jsx)("tr",{children:(0,b.jsx)("td",{colSpan:d.length,style:{padding:"32px 16px",textAlign:"center",fontSize:12,color:"var(--af-text-tertiary)"},children:"No rows to display."})})]})]})})}],75235);let h=(0,d.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"}]]),i=(0,d.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 j=a.i(2591);function k({active:a,onClick:c,label:d,icon:e,rightEdge:f}){return(0,b.jsxs)("button",{type:"button",onClick:c,style:{display:"inline-flex",alignItems:"center",gap:5,padding:"6px 12px",fontSize:11,fontWeight:500,background:a?"var(--af-accent-subtle)":"transparent",color:a?"var(--af-accent)":"var(--af-text-secondary)",border:"none",borderRight:f?"none":"1px solid var(--af-border-subtle)",cursor:"pointer",letterSpacing:"0.02em"},children:[e,d]})}a.s(["useViewToggle",0,function(a,c="cards"){let[d,e,f]=(0,j.usePersistentBoolean)(a,"table"===c);return{mode:d?"table":"cards",toggle:(0,b.jsxs)("div",{style:{display:"inline-flex",border:"1px solid var(--af-border-subtle)",borderRadius:6,overflow:"hidden"},children:[(0,b.jsx)(k,{active:!d,onClick:()=>e(!1),label:"Cards",icon:(0,b.jsx)(h,{size:12})}),(0,b.jsx)(k,{active:d,onClick:()=>e(!0),label:"Table",icon:(0,b.jsx)(i,{size:12}),rightEdge:!0})]}),hydrated:f}}],12958)},23426,a=>{"use strict";var b=a.i(87924),c=a.i(38246),d=a.i(72131),e=a.i(50944),f=a.i(3444),g=a.i(87532),h=a.i(79808);let i=(0,a.i(70106).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 j=a.i(41710),k=a.i(20555),l=a.i(76285),m=a.i(75235),n=a.i(12958);let o=[{key:"project",header:"Project",sortValue:a=>a.projectName,render:a=>(0,b.jsxs)("div",{style:{maxWidth:180,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:a.projectName,children:[(0,b.jsxs)("div",{style:{fontWeight:500,display:"flex",alignItems:"center",gap:6},children:[(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:(0,f.prettyProjectName)(a.projectName)}),(0,b.jsx)(l.TeamBadge,{session:a})]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:(0,f.shortId)(a.id)})]})},{key:"preview",header:"First message",sortable:!1,render:a=>(0,b.jsx)("div",{style:{maxWidth:360,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--af-text-secondary)"},title:a.firstUserPreview,children:a.firstUserPreview||"—"})},{key:"created",header:"Created",sortValue:a=>a.firstTimestamp?Date.parse(a.firstTimestamp):0,align:"right",render:a=>(0,b.jsx)("span",{suppressHydrationWarning:!0,style:{fontFamily:"var(--font-mono)",fontSize:11},children:a.firstTimestamp?(0,f.formatRelative)(a.firstTimestamp):"—"})},{key:"lastActive",header:"Last active",sortValue:a=>a.lastTimestamp?Date.parse(a.lastTimestamp):0,align:"right",render:a=>(0,b.jsx)("span",{suppressHydrationWarning:!0,style:{fontFamily:"var(--font-mono)",fontSize:11},children:a.lastTimestamp?(0,f.formatRelative)(a.lastTimestamp):"—"})},{key:"airtime",header:"Agent time",sortValue:a=>a.airTimeMs??a.durationMs??0,align:"right",render:a=>(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(0,f.formatDuration)(a.airTimeMs??a.durationMs??0)})},{key:"turns",header:"Turns",sortValue:a=>a.turnCount??0,align:"right",render:a=>(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(a.turnCount??0).toLocaleString()})},{key:"tools",header:"Tool calls",sortValue:a=>a.toolCallCount??0,align:"right",render:a=>(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(a.toolCallCount??0).toLocaleString()})},{key:"tokens",header:"Tokens",sortValue:a=>a.totalUsage.input+a.totalUsage.output+a.totalUsage.cacheRead+a.totalUsage.cacheWrite,align:"right",render:a=>(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(0,f.formatTokens)(a.totalUsage.input+a.totalUsage.output+a.totalUsage.cacheRead+a.totalUsage.cacheWrite)})},{key:"status",header:"Status",sortValue:a=>+("running"===a.status),align:"center",render:a=>"running"===a.status?(0,b.jsx)(k.LiveBadge,{}):(0,b.jsx)("span",{style:{opacity:.4},children:"—"})}];function p({session:a}){let d=a.totalUsage.input+a.totalUsage.output+a.totalUsage.cacheRead+a.totalUsage.cacheWrite;return(0,b.jsxs)(c.default,{href:`/sessions/${a.id}`,className:"af-card",style:{display:"flex",flexDirection:"column",gap:10,padding:"14px 16px"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,b.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:a.projectName,children:[(0,b.jsx)(k.LiveBadge,{mtimeIso:a.lastTimestamp}),(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,f.prettyProjectName)(a.projectName)}),(0,b.jsx)(l.TeamBadge,{session:a,linkable:!1})]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",flexShrink:0},suppressHydrationWarning:!0,children:a.firstTimestamp?(0,f.formatRelative)(a.firstTimestamp):"—"})]}),(0,b.jsx)("div",{style:{fontSize:13,color:"var(--af-text)",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",minHeight:36,lineHeight:1.4},title:a.firstUserPreview,children:a.firstUserPreview||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),(0,b.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:a.lastAgentPreview,children:a.lastAgentPreview||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"—"})}),(0,b.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,b.jsx)(q,{icon:(0,b.jsx)(i,{size:11}),label:`${a.turnCount??0} turn${1===a.turnCount?"":"s"}`}),(0,b.jsx)(q,{icon:(0,b.jsx)(h.Wrench,{size:11}),label:`${a.toolCallCount??0} tools`}),(0,b.jsx)(q,{icon:(0,b.jsx)(j.Clock,{size:11}),label:(0,f.formatDuration)(a.airTimeMs??a.durationMs)}),(0,b.jsx)("span",{style:{marginLeft:"auto"},children:(0,f.formatTokens)(d)})]})]})}function q({icon:a,label:c}){return(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[a,c]})}a.s(["SessionsGrid",0,function({sessions:a}){let c=(0,e.useRouter)(),[h,i]=(0,d.useState)(""),[j,k]=(0,d.useState)("all"),[l,q]=(0,d.useState)("newest"),{mode:r,toggle:s}=(0,n.useViewToggle)("cclens:sessions:view"),t=(0,d.useMemo)(()=>["all",...Array.from(new Set(a.map(a=>a.projectName))).sort()],[a]),u=(0,d.useMemo)(()=>{let b=a.slice();if("all"!==j&&(b=b.filter(a=>a.projectName===j)),h){let a=h.toLowerCase();b=b.filter(b=>b.id.toLowerCase().includes(a)||(b.firstUserPreview??"").toLowerCase().includes(a)||(b.lastAgentPreview??"").toLowerCase().includes(a)||b.projectName.toLowerCase().includes(a))}return"newest"===l?b.sort((a,b)=>(b.firstTimestamp?Date.parse(b.firstTimestamp):0)-(a.firstTimestamp?Date.parse(a.firstTimestamp):0)):"longest"===l?b.sort((a,b)=>(b.airTimeMs??b.durationMs??0)-(a.airTimeMs??a.durationMs??0)):"most-tokens"===l&&b.sort((a,b)=>b.totalUsage.input+b.totalUsage.output+b.totalUsage.cacheRead-(a.totalUsage.input+a.totalUsage.output+a.totalUsage.cacheRead)),b},[a,j,h,l]);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{display:"flex",gap:10,marginBottom:16,flexWrap:"wrap",alignItems:"center"},children:[(0,b.jsxs)("div",{style:{position:"relative",flex:1,minWidth:260,maxWidth:480},children:[(0,b.jsx)(g.Search,{size:13,color:"var(--af-text-tertiary)",style:{position:"absolute",left:12,top:"50%",transform:"translateY(-50%)"}}),(0,b.jsx)("input",{type:"text",placeholder:"Search by message, project, or ID",value:h,onChange:a=>i(a.target.value),style:{width:"100%",paddingLeft:32}})]}),(0,b.jsx)("select",{value:j,onChange:a=>k(a.target.value),style:{maxWidth:260},children:t.map(a=>(0,b.jsx)("option",{value:a,children:"all"===a?"All projects":(0,f.prettyProjectName)(a)},a))}),(0,b.jsxs)("select",{value:l,onChange:a=>q(a.target.value),children:[(0,b.jsx)("option",{value:"newest",children:"Newest"}),(0,b.jsx)("option",{value:"longest",children:"Longest"}),(0,b.jsx)("option",{value:"most-tokens",children:"Most tokens"})]}),(0,b.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:u.length}),s]}),0===u.length?(0,b.jsx)("div",{className:"af-empty",children:"No sessions found."}):"table"===r?(0,b.jsx)(m.DataTable,{rows:u,getRowKey:a=>`${a.projectDir}/${a.id}`,onRowClick:a=>c.push(`/sessions/${a.id}`),defaultSortKey:"lastActive",defaultSortDir:"desc",columns:o}):(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(360px, 1fr))",gap:14},children:u.map(a=>(0,b.jsx)(p,{session:a},`${a.projectDir}/${a.id}`))})]})}],23426)}];
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=_09n75_5._.js.map
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module.exports=[1269,a=>{"use strict";var b=a.i(717);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],1269)},64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},790,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},84707,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js"))},97647,a=>{"use strict";a.i(790);var b=a.i(84707);a.n(b)},95936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(64240),g=a.r(7997),h=f._(a.r(97647));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},67116,a=>{"use strict";var b=a.i(717),c=a.i(50785);let d=process.env.CCLENS_DATA_DIR||void 0,e=(0,b.cache)(async()=>(0,c.listSessions)({limit:1e3,root:d})),f=(0,b.cache)(async a=>(0,c.getSession)(a,{root:d}));a.s(["getSession",0,f,"listSessions",0,e])},87067,a=>{"use strict";let b={input:1,output:5,cacheRead:.1,cacheWrite:1.25},c={input:3,output:15,cacheRead:.3,cacheWrite:3.75},d={input:5,output:25,cacheRead:.5,cacheWrite:6.25};a.s(["estimateCostMulti",0,function(a){return a.reduce((a,e)=>{var f;let g;return a+(f=e.totalUsage,g=function(a){if(!a)return d;let e=a.toLowerCase();return e.includes("haiku")?b:e.includes("sonnet")?c:d}(e.model),f.input/1e6*g.input+f.output/1e6*g.output+f.cacheRead/1e6*g.cacheRead+f.cacheWrite/1e6*g.cacheWrite)},0)},"formatCost",0,function(a){return a<.01?"<$0.01":a<1||a<100?`$${a.toFixed(2)}`:a<1e3?`$${a.toFixed(1)}`:`$${a.toLocaleString(void 0,{maximumFractionDigits:0})}`},"formatDuration",0,function(a){if(void 0===a)return"—";if(a<1e3)return`${a}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`},"formatGap",0,function(a){if(a<1e3)return`${a}ms`;let b=a/1e3;if(b<60)return`${b.toFixed(1)}s`;let c=Math.floor(b/60);if(c<60){let a=Math.round(b%60);return`${c}m ${a}s`}let d=Math.floor(c/60),e=c%60;if(d<24)return e?`${d}h ${e}m`:`${d}h`;let f=Math.floor(d/24),g=d%24;return g?`${f}d ${g}h`:`${f}d`},"formatRelative",0,function(a){let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Math.round((Date.now()-b)/1e3);if(c<60)return`${c}s ago`;let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return`${f}d ago`},"formatTokens",0,function(a){return a<1e3?String(a):a<1e4?(a/1e3).toFixed(1)+"k":a<1e6?Math.round(a/1e3)+"k":a<1e7?(a/1e6).toFixed(2)+"M":(a/1e6).toFixed(1)+"M"},"prettyProjectName",0,function(a,b=35){let c=a.split("/").filter(Boolean),d=c.lastIndexOf(".worktrees");if(d>0&&d<c.length-1){let a=c[d-1],e=c[d+1],f=`${a}/${e}`;return f.length<=b?f:"…"+f.slice(f.length-b+1)}let e=c.length>=2?`${c[c.length-2]}/${c[c.length-1]}`:c[c.length-1]??a;return e.length<=b?e:"…"+e.slice(e.length-b+1)}])},83885,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx <module evaluation>","Heatmap")},44467,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx","Heatmap")},54572,a=>{"use strict";a.i(83885);var b=a.i(44467);a.n(b)},70301,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx <module evaluation>","ActivityChart")},37964,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx","ActivityChart")},37707,a=>{"use strict";a.i(70301);var b=a.i(37964);a.n(b)},25581,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx <module evaluation>","MetricCard")},77267,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx","MetricCard")},94045,a=>{"use strict";a.i(25581);var b=a.i(77267);a.n(b)},4636,a=>{"use strict";var b=a.i(7997),c=a.i(48024),d=a.i(54572),e=a.i(37707),f=a.i(94045),g=a.i(87067),h=a.i(1269);let i=(0,h.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"}]]),j=(0,h.default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),k=(0,h.default)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),l=(0,h.default)("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);function m({line1:a,line2:c}){return(0,b.jsxs)("div",{style:{lineHeight:1.4},children:[(0,b.jsx)("div",{children:a}),(0,b.jsx)("div",{style:{color:"var(--af-text-tertiary)"},children:c})]})}function n(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":(a/1e6).toFixed(1)+"M"}function o(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":a<1e9?(a/1e6).toFixed(1)+"M":(a/1e9).toFixed(1)+"B"}a.s(["DashboardView",0,function({sessions:a,override:h}){let p=(0,c.highLevelMetrics)(a),q=(0,c.dailyActivity)(a),r=(0,c.summarizeBursts)((0,c.computeBurstsFromSessions)(a)),s=p.totalTokens.input+p.totalTokens.cacheRead+p.totalTokens.cacheWrite,t=h?.activeTimeMs??p.totalAirTimeMs,u=q.filter(a=>a.airTimeMs>0).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12},children:[(0,b.jsx)(f.MetricCard,{label:"Sessions",value:p.sessionCount.toLocaleString(),sub:(0,b.jsx)(m,{line1:`${p.totalTurns.toLocaleString()} turns`,line2:`avg ${p.sessionCount?Math.round(p.totalTurns/p.sessionCount):0} / session`}),icon:(0,b.jsx)(i,{size:13}),tooltip:"Total Claude Code sessions (one JSONL file = one session). A 'turn' is one user message that starts an agent response cycle."}),(0,b.jsx)(f.MetricCard,{label:"Agent time",value:(0,g.formatDuration)(t),sub:u>0?(0,b.jsx)(m,{line1:`${(0,g.formatDuration)(t/u)} / day`,line2:`${u} active days`}):"no activity",icon:(0,b.jsx)(j,{size:13}),tooltip:"Sum of time the Claude agent was actively working across all sessions. Gaps longer than 3 minutes (user away, laptop lid closed) are excluded. This is NOT wall-clock duration. Per-day average is across days with any agent activity."}),(0,b.jsx)(f.MetricCard,{label:"Tool calls",value:p.totalToolCalls.toLocaleString(),sub:(0,b.jsx)(m,{line1:`avg ${p.sessionCount?Math.round(p.totalToolCalls/p.sessionCount):0} / session`,line2:`across ${p.sessionCount.toLocaleString()} sessions`}),icon:(0,b.jsx)(k,{size:13}),tooltip:"Total tool invocations (Bash, Read, Edit, Write, Grep, Glob, Agent, etc.) across all sessions."}),(0,b.jsx)(f.MetricCard,{label:"Parallelism",value:r.burstCount>0?(0,g.formatDuration)(r.totalParallelMs):"—",sub:r.burstCount>0?(0,b.jsx)(m,{line1:`peak \xd7${r.peakConcurrent}`,line2:`${Math.round(r.totalParallelMs/Math.max(1,t)*100)}% of active time`}):"no sustained parallelism",tooltip:`Total time ≥2 agents were working in parallel, with peak concurrency as the highest count in any single burst.
|
|
2
|
-
|
|
3
|
-
${r.burstCount} burst${1===r.burstCount?"":"s"} \xb7 ${r.crossProjectBurstCount} spanned multiple projects.`}),(0,b.jsx)(f.MetricCard,{label:"Code changes",value:(0,b.jsxs)("span",{children:[(0,b.jsxs)("span",{style:{color:"var(--af-success)"},children:["+",n(p.totalLinesAdded)]})," ",(0,b.jsxs)("span",{style:{color:"var(--af-danger)"},children:["-",n(p.totalLinesRemoved)]})]}),sub:(0,b.jsx)(m,{line1:`${p.totalFilesEdited.toLocaleString()} files touched`,line2:`${n(p.totalLinesAdded+p.totalLinesRemoved)} total lines`}),tooltip:`Total lines added and removed across all Edit + Write tool calls.
|
|
4
|
-
+${p.totalLinesAdded.toLocaleString()} added
|
|
5
|
-
-${p.totalLinesRemoved.toLocaleString()} removed
|
|
6
|
-
${p.totalFilesEdited.toLocaleString()} unique files touched`}),(0,b.jsx)(f.MetricCard,{label:"Est. cost",value:(0,g.formatCost)((0,g.estimateCostMulti)(a)),sub:(0,b.jsx)(m,{line1:`${o(s)} in`,line2:`${o(p.totalTokens.output)} out`}),icon:(0,b.jsx)(l,{size:13}),tooltip:`Estimated API spend priced per-model across all sessions.
|
|
7
|
-
Input: ${(0,g.formatTokens)(p.totalTokens.input)}
|
|
8
|
-
Output: ${(0,g.formatTokens)(p.totalTokens.output)}
|
|
9
|
-
Cache read: ${(0,g.formatTokens)(p.totalTokens.cacheRead)}
|
|
10
|
-
Cache write: ${(0,g.formatTokens)(p.totalTokens.cacheWrite)}`}),h?.extraCards]}),(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"1fr 2fr",gap:16},children:[(0,b.jsxs)("div",{className:"af-panel",style:{display:"flex",flexDirection:"column"},children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Contribution heatmap"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"sessions / day"})]}),(0,b.jsx)("div",{style:{padding:18,flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:(0,b.jsx)(d.Heatmap,{buckets:q,valueKey:"sessions"})})]}),(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Daily activity"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"click a metric to switch"})]}),(0,b.jsx)("div",{style:{padding:18},children:(0,b.jsx)(e.ActivityChart,{buckets:q})})]})]})]})}],4636)},41264,a=>{"use strict";a.s(["LiveBadge",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveBadge() from the server but LiveBadge is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-badge.tsx <module evaluation>","LiveBadge")},71475,a=>{"use strict";a.s(["LiveBadge",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveBadge() from the server but LiveBadge is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-badge.tsx","LiveBadge")},77708,a=>{"use strict";a.i(41264);var b=a.i(71475);a.n(b)}];
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=_0r~__0v._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[95459,a=>{"use strict";var b=a.i(87924),c=a.i(38246),d=a.i(72131),e=a.i(12544),f=a.i(3444);let g=["rgba(45, 212, 191, 0.75)","rgba(167, 139, 250, 0.75)","rgba(248, 113, 113, 0.75)","rgba(52, 211, 153, 0.75)","rgba(251, 191, 36, 0.75)","rgba(236, 72, 153, 0.75)","rgba(34, 211, 238, 0.75)","rgba(168, 85, 247, 0.75)","rgba(244, 114, 82, 0.75)","rgba(96, 165, 250, 0.75)"];function h(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return g[Math.abs(b)%g.length]}function i(a){return h((0,e.canonicalProjectName)(a.projectName))}function j(a){return a.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim()}function k(a){let b=new Date(a);return`${b.getHours().toString().padStart(2,"0")}:${b.getMinutes().toString().padStart(2,"0")}`}function l({onClose:a}){return(0,d.useEffect)(()=>{let b=b=>{"Escape"===b.key&&a()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a]),(0,b.jsx)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"concurrency-modal-title",onClick:a,style:{position:"fixed",inset:0,zIndex:200,background:"rgba(0, 0, 0, 0.5)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20},children:(0,b.jsxs)("div",{onClick:a=>a.stopPropagation(),style:{background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:12,maxWidth:560,width:"100%",maxHeight:"85vh",overflow:"auto",boxShadow:"0 16px 48px rgba(0, 0, 0, 0.3)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"18px 22px",borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("h2",{id:"concurrency-modal-title",style:{margin:0,fontSize:16,fontWeight:700,letterSpacing:"-0.01em"},children:"How concurrency is measured"}),(0,b.jsx)("button",{type:"button",onClick:a,"aria-label":"Close",style:{background:"transparent",border:"none",color:"var(--af-text-tertiary)",fontSize:22,lineHeight:1,cursor:"pointer",padding:0,width:28,height:28},children:"×"})]}),(0,b.jsxs)("div",{style:{padding:"18px 22px",fontSize:13,color:"var(--af-text-secondary)",lineHeight:1.55},children:[(0,b.jsxs)("p",{style:{margin:"0 0 14px"},children:["A ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"concurrency burst"})," ","is a window of time when two or more Claude Code sessions were actively working in parallel. The goal is to surface moments when you were running a multi-agent fleet — not every accidental tab overlap."]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:'1. What counts as "active"'}),(0,b.jsxs)("p",{style:{margin:"0 0 6px"},children:["Each session's events are split into"," ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"active segments"})," — stretches of time where no gap between consecutive events exceeds"," ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"3 minutes"}),". Any longer gap (walked away, laptop closed, thinking) splits the session into separate segments."]}),(0,b.jsx)("p",{style:{margin:"0 0 6px",fontSize:12,color:"var(--af-text-tertiary)"},children:'This is the same definition used for the "active time" metric on the dashboard, so numbers stay consistent.'}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"2. Detecting overlap"}),(0,b.jsxs)("p",{style:{margin:"0 0 6px"},children:["A sweep-line walks every segment start/end across all sessions. Whenever the active count is ≥2, that stretch becomes a raw overlap. The ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"peak"})," ","reported on each burst is the maximum active count reached anywhere inside it."]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"3. Cleaning up noise"}),(0,b.jsx)("p",{style:{margin:"0 0 6px"},children:"Raw overlaps are noisy — a typical day produces dozens of sub-minute artifacts from switching between sessions. Two rules collapse them into human-readable bursts:"}),(0,b.jsxs)("ul",{style:{margin:"6px 0 0 0",paddingLeft:22},children:[(0,b.jsxs)("li",{style:{marginBottom:4},children:[(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"Drop under 1 minute"})," — overlaps shorter than that are almost always tab-switch artifacts, not real parallel work."]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"Merge within 10 minutes"})," — two overlaps separated by less than 10 minutes of idle time fuse into a single burst. A morning of back-and-forth agent work becomes one burst, not forty."]})]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"4. Same-project vs cross-project"}),(0,b.jsxs)("p",{style:{margin:"0 0 6px"},children:["Bursts are colored by whether the involved sessions span more than one project directory."," ",(0,b.jsx)("span",{style:{color:"rgba(167, 139, 250, 1)",fontWeight:600},children:"Purple = cross-project"})," ","— different repos running at once, usually genuine fleet work."," ",(0,b.jsx)("span",{style:{color:"rgba(45, 212, 191, 1)",fontWeight:600},children:"Teal = same-project"})," ","— multiple sessions in one repo, usually context-switching inside a single task."]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"Why bursts, not runs"}),(0,b.jsx)("p",{style:{margin:"0 0 6px"},children:'An earlier version reported every raw overlap as a separate "parallel run". On a busy day that produced 40–80 entries, most of them seconds long, most of them meaningless. Bursts are the unit humans actually think in: "this morning I was running 3 agents at once for about 20 minutes."'})]})]})})}function m({burst:a,gantt:e,onClose:g,onShowInTimeline:h}){(0,d.useEffect)(()=>{let a=a=>{"Escape"===a.key&&g()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[g]);let[l,n]=(0,d.useState)(null),o=(0,d.useRef)(new Map),p=(0,d.useMemo)(()=>{let a=new Map;for(let b of e.sessions)a.set(b.id,b);return a},[e]),q=a.sessionIds.map(a=>p.get(a)).filter(a=>!!a);q.sort((a,b)=>a.startMs-b.startMs);let r=a=>{n(a);let b=o.current.get(a);b&&b.scrollIntoView({behavior:"smooth",block:"center"})},s=Math.min(a.startMs,...q.map(a=>a.startMs)),t=Math.max(a.endMs,...q.map(a=>a.endMs)),u=s-9e5,v=t+9e5,w=v-u,x=22+(25*q.length-3)+6,y=a=>(a-u)/w*510,z=[];{let a=new Date(u);for(a.setMinutes(0,0,0),a.getTime()<u&&a.setHours(a.getHours()+1);a.getTime()<=v;)z.push(a.getTime()),a.setHours(a.getHours()+1)}let A=y(a.startMs),B=y(a.endMs),C=a.endMs-a.startMs;return(0,b.jsx)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"burst-detail-title",onClick:g,style:{position:"fixed",inset:0,zIndex:200,background:"rgba(0, 0, 0, 0.55)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20},children:(0,b.jsxs)("div",{onClick:a=>a.stopPropagation(),style:{background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:12,width:"min(720px, 100%)",maxHeight:"90vh",display:"flex",flexDirection:"column",boxShadow:"0 20px 60px rgba(0, 0, 0, 0.4)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"16px 22px",borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:4},children:[(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",padding:"3px 10px",borderRadius:10,fontFamily:"var(--font-mono)",fontSize:11,fontWeight:700,color:"white",background:a.crossProject?"rgba(167, 139, 250, 0.95)":"rgba(45, 212, 191, 0.95)"},children:["×",a.peak," peak"]}),a.crossProject&&(0,b.jsx)("span",{style:{fontSize:9,color:"rgba(167, 139, 250, 1)",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:700},children:"cross-project"})]}),(0,b.jsxs)("h2",{id:"burst-detail-title",style:{margin:0,fontSize:16,fontWeight:700,letterSpacing:"-0.01em",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)"},children:[k(a.startMs),"–",k(a.endMs)]}),(0,b.jsx)("span",{style:{fontSize:12,fontWeight:400,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:(0,f.formatDuration)(C)}),(0,b.jsxs)("span",{style:{fontSize:12,fontWeight:400,color:"var(--af-text-tertiary)"},children:["· ",q.length," session",1===q.length?"":"s"]})]})]}),(0,b.jsx)("button",{type:"button",onClick:h,style:{padding:"6px 12px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer",fontWeight:500,whiteSpace:"nowrap"},title:"Pin this burst on the main timeline and close",children:"Show in timeline →"}),(0,b.jsx)("button",{type:"button",onClick:g,"aria-label":"Close",style:{background:"transparent",border:"none",color:"var(--af-text-tertiary)",fontSize:24,lineHeight:1,cursor:"pointer",padding:0,width:28,height:28},children:"×"})]}),(0,b.jsxs)("div",{style:{overflow:"auto",padding:"18px 22px"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:8,fontWeight:600},children:"Timeline (shaded = burst window)"}),(0,b.jsx)("div",{style:{background:"var(--af-surface)",border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"8px 10px",overflow:"auto"},children:(0,b.jsxs)("svg",{width:534,height:x,style:{display:"block"},children:[q.map((a,c)=>{let d=22+25*c+11,e=i(a),f=l===a.id;return(0,b.jsxs)("g",{onClick:()=>r(a.id),style:{cursor:"pointer"},children:[(0,b.jsx)("title",{children:`Track ${c+1} — click to focus in list below`}),(0,b.jsx)("circle",{cx:12,cy:d,r:9,fill:f?e:"var(--af-surface-elevated)",stroke:e,strokeWidth:f?2:1.5}),(0,b.jsx)("text",{x:12,y:d+3.5,textAnchor:"middle",fontSize:10,fontWeight:700,fill:f?"#fff":"var(--af-text)",style:{pointerEvents:"none"},children:c+1})]},`num-${a.id}`)}),(0,b.jsxs)("g",{transform:"translate(24, 0)",children:[(0,b.jsx)("rect",{x:A,y:0,width:Math.max(B-A,2),height:x,fill:a.crossProject?"rgba(167, 139, 250, 0.14)":"rgba(45, 212, 191, 0.14)"}),(0,b.jsx)("line",{x1:A,x2:A,y1:0,y2:x,stroke:a.crossProject?"rgba(167, 139, 250, 0.7)":"rgba(45, 212, 191, 0.7)",strokeWidth:1,strokeDasharray:"3 2"}),(0,b.jsx)("line",{x1:B,x2:B,y1:0,y2:x,stroke:a.crossProject?"rgba(167, 139, 250, 0.7)":"rgba(45, 212, 191, 0.7)",strokeWidth:1,strokeDasharray:"3 2"}),z.map(a=>{let c=y(a);return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:c,x2:c,y1:22,y2:x,stroke:"var(--af-border-subtle)",strokeWidth:.5,strokeDasharray:"2 3"}),(0,b.jsx)("text",{x:c,y:16,textAnchor:"middle",fontSize:9,fill:"var(--af-text-tertiary)",children:k(a)})]},`mini-hm-${a}`)}),q.map((a,c)=>{let d=22+25*c,e=i(a),f=l===a.id;return(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:0,y:d,width:510,height:22,fill:f?"rgba(255,255,255,0.05)":"transparent",onClick:()=>r(a.id),style:{cursor:"pointer"}}),a.segments.map((a,c)=>{let g=y(a.startMs),h=Math.max(y(a.endMs)-g,2);return(0,b.jsx)("rect",{x:g,y:d+3,width:h,height:16,fill:e,rx:2,stroke:f?"var(--af-text)":"none",strokeWidth:+!!f,style:{pointerEvents:"none"}},`mini-seg-${c}`)})]},`mini-row-${a.id}`)})]})]})}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",margin:"18px 0 8px",fontWeight:600},children:"Sessions in this burst"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:q.map((d,e)=>{let g,h,k=i(d),m=(b=>{let c=0;for(let d of b.segments){let b=Math.max(d.startMs,a.startMs),e=Math.min(d.endMs,a.endMs);e>b&&(c+=e-b)}return c})(d),n=C>0?Math.round(m/C*100):0,p=l===d.id;return(0,b.jsx)(c.default,{href:`/sessions/${d.id}`,ref:a=>{a?o.current.set(d.id,a):o.current.delete(d.id)},style:{display:"block",padding:"11px 14px",background:p?"var(--af-surface-hover)":"var(--af-surface)",border:p?"1px solid var(--af-text-tertiary)":"1px solid var(--af-border-subtle)",borderLeft:`3px solid ${k}`,borderRadius:8,textDecoration:"none",color:"var(--af-text)",fontSize:12,lineHeight:1.45,transition:"background 0.15s, border-color 0.15s",boxShadow:p?`0 0 0 2px ${k}`:"none"},children:(0,b.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:10},children:[(0,b.jsx)("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,borderRadius:"50%",background:p?k:"transparent",border:`1.5px solid ${k}`,color:p?"#fff":"var(--af-text)",fontSize:10,fontWeight:700,flexShrink:0,marginTop:2},"aria-label":`Track ${e+1}`,children:e+1}),(0,b.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginBottom:3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:(0,f.prettyProjectName)(d.projectName),children:(h=(g=(0,f.prettyProjectName)(d.projectName)).split("/").filter(Boolean)).length>2?"…/"+h.slice(-2).join("/"):g}),(0,b.jsx)("div",{style:{fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:j(d.firstUserPreview??""),children:j(d.firstUserPreview??"")||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),d.lastAgentPreview&&(0,b.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-secondary)",marginTop:3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontStyle:"italic"},title:j(d.lastAgentPreview),children:["↳ ",j(d.lastAgentPreview)]})]}),(0,b.jsxs)("div",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"var(--af-text-tertiary)",textAlign:"right",whiteSpace:"nowrap",flexShrink:0},children:[(0,b.jsxs)("div",{style:{color:"var(--af-text-secondary)"},children:[(0,f.formatDuration)(m)," ",(0,b.jsxs)("span",{style:{opacity:.6},children:["(",n,"%)"]})]}),(0,b.jsx)("div",{style:{fontSize:9,marginTop:2},children:"in burst"})]})]})},`burst-session-${d.id}`)})})]})]})})}a.s(["GanttChart",0,function({gantt:a,bursts:g=[]}){let[n,o]=(0,d.useState)(null),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useState)(!1),[v,w]=(0,d.useState)(null),[x,y]=(0,d.useState)(!1),z=(0,d.useRef)(null),A=r??p,B=(0,d.useMemo)(()=>{if(null===A)return null;let a=g[A];return a?new Set(a.sessionIds):null},[A,g]),C=(0,d.useMemo)(()=>{let b=new Map;for(let c of a.sessions){let a=(0,e.canonicalProjectName)(c.projectName),d=b.get(a);d?d.count++:b.set(a,{name:(0,f.prettyProjectName)(a),color:h(a),count:1})}return Array.from(b.values()).sort((a,b)=>b.count-a.count)},[a.sessions]),{rangeStartMs:D,rangeEndMs:E,hourMarks:F}=(0,d.useMemo)(()=>{if(0===a.sessions.length)return{rangeStartMs:a.dayStartMs,rangeEndMs:a.dayEndMs,hourMarks:[]};let b=1/0,c=-1/0;for(let d of a.sessions)for(let a of d.segments)a.startMs<b&&(b=a.startMs),a.endMs>c&&(c=a.endMs);let d=c+18e5,e=new Date(b-18e5);e.setMinutes(0,0,0);let f=new Date(d);f.setMinutes(0,0,0),f.setHours(f.getHours()+1);let g=Math.max(e.getTime(),a.dayStartMs),h=Math.min(f.getTime(),a.dayEndMs),i=[],j=new Date(g);for(j.setMinutes(0,0,0),j.getTime()<g&&j.setHours(j.getHours()+1);j.getTime()<=h;)i.push(j.getTime()),j.setHours(j.getHours()+1);return{rangeStartMs:g,rangeEndMs:h,hourMarks:i}},[a]),G=E-D,H=Math.max(700,Math.ceil(G/36e5*80)),I=33*a.sessions.length+3+8,J=a=>(a-D)/G*H,K="var(--af-surface)",L=x?g:g.slice(0,3),M=g.length-L.length;return(0,b.jsxs)(b.Fragment,{children:[g.length>0&&(0,b.jsxs)("div",{className:"af-panel",style:{marginBottom:16},children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Concurrency"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"periods when ≥2 agents were actively working at once"}),(0,b.jsxs)("button",{type:"button",onClick:()=>u(!0),"aria-label":"How concurrency is detected",style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:5,padding:"3px 9px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:100,fontSize:10,color:"var(--af-text-tertiary)",cursor:"pointer",fontWeight:500},children:[(0,b.jsx)("span",{style:{fontSize:11,lineHeight:1},children:"ⓘ"}),"How this is measured"]})]}),(0,b.jsxs)("div",{children:[L.map((c,d)=>{let e=r===d,g=p===d,h=c.projectDirs.map(b=>{let c=a.sessions.find(a=>a.projectDir===b);return c?(0,f.prettyProjectName)(c.projectName):b}).map(a=>{let b=a.split("/").filter(Boolean);return b.length>2?"…/"+b.slice(-2).join("/"):a});return(0,b.jsxs)("div",{onMouseEnter:()=>q(d),onMouseLeave:()=>q(null),onClick:()=>w(d),style:{display:"grid",gridTemplateColumns:"auto auto auto 1fr auto",gap:14,padding:"10px 18px",fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",cursor:"pointer",background:e||g?"var(--af-surface-hover)":"transparent",alignItems:"center",transition:"background 0.12s"},title:"Open burst detail",children:[(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-secondary)",minWidth:110},children:[k(c.startMs),"–",k(c.endMs)]}),(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",padding:"2px 8px",borderRadius:10,fontFamily:"var(--font-mono)",fontSize:10,fontWeight:700,color:"white",background:c.crossProject?"rgba(167, 139, 250, 0.9)":"rgba(45, 212, 191, 0.9)",minWidth:28,justifyContent:"center"},children:["×",c.peak]}),c.crossProject?(0,b.jsx)("span",{style:{fontSize:9,color:"rgba(167, 139, 250, 1)",textTransform:"uppercase",letterSpacing:"0.04em",fontWeight:600},children:"cross-project"}):(0,b.jsx)("span",{}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:h.join(", "),children:h.join(" · ")}),(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-secondary)",minWidth:60,textAlign:"right"},children:(0,f.formatDuration)(c.endMs-c.startMs)})]},`burst-row-${d}`)}),g.length>3&&(0,b.jsx)("button",{type:"button",onClick:()=>y(a=>!a),style:{width:"100%",padding:"10px 18px",background:"transparent",border:"none",borderTop:"1px solid var(--af-border-subtle)",fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer",fontWeight:500,textAlign:"center"},children:x?"Show fewer (first 3) ↑":`Show all ${g.length} bursts (+${M} more) ↓`})]})]}),(0,b.jsxs)("div",{className:"af-panel",style:{overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"10px 16px",borderBottom:"1px solid var(--af-border-subtle)",fontSize:11,color:"var(--af-text-secondary)",flexWrap:"wrap"},children:[C.map(a=>{let c=a.name.split("/").filter(Boolean),d=c.length>2?"…/"+c.slice(-2).join("/"):a.name;return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,cursor:"default"},title:`${a.name} — ${a.count} session${1===a.count?"":"s"} on this day`,children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:2,background:a.color,flexShrink:0}}),(0,b.jsx)("span",{style:{maxWidth:160,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d}),(0,b.jsxs)("span",{style:{color:"var(--af-text-tertiary)",fontSize:10},children:["(",a.count,")"]})]},a.name)}),(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,marginLeft:8,color:"var(--af-text-tertiary)",cursor:"default"},title:"Idle gap — the session was open but the agent was not actively working (gap > 3 minutes between events)",children:[(0,b.jsx)("span",{style:{width:16,height:8,borderRadius:2,background:"repeating-linear-gradient(45deg, var(--af-surface-hover), var(--af-surface-hover) 2px, var(--af-border-subtle) 2px, var(--af-border-subtle) 4px)",flexShrink:0}}),"idle"]})]}),(0,b.jsxs)("div",{ref:z,style:{overflow:"auto",maxHeight:"calc(100vh - 240px)",position:"relative"},onMouseLeave:()=>o(null),children:[(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:`220px ${H}px`,gridTemplateRows:`50px ${I}px`,width:220+H},children:[(0,b.jsxs)("div",{style:{position:"sticky",top:0,left:0,zIndex:3,background:K,borderBottom:"1px solid var(--af-border-subtle)",borderRight:"1px solid var(--af-border-subtle)",display:"flex",flexDirection:"column"},children:[(0,b.jsx)("div",{style:{height:24,display:"flex",alignItems:"center",justifyContent:"flex-end",padding:"0 10px",fontSize:9,color:"var(--af-text-tertiary)",letterSpacing:"0.04em",textTransform:"uppercase",fontWeight:600},children:g.length>0?"Concurrency":""}),(0,b.jsx)("div",{style:{height:26}})]}),(0,b.jsxs)("div",{style:{position:"sticky",top:0,zIndex:2,background:K,borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("svg",{width:H,height:24,style:{display:"block"},children:g.map((a,c)=>{let d=J(a.startMs),e=J(a.endMs)-d,g=Math.max(e,26),h=e<26?d+e/2-13:d,i=A===c,j=null!==A&&!i,l=a.crossProject?"rgba(167, 139, 250, 0.9)":"rgba(45, 212, 191, 0.9)";return(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:h,y:4,width:g,height:14,fill:l,rx:4,opacity:j?.3:1,stroke:r===c?"var(--af-text)":p===c?"var(--af-text-secondary)":"none",strokeWidth:r===c?1.5:1,style:{cursor:"pointer",transition:"opacity 0.12s"},onMouseEnter:()=>q(c),onMouseLeave:()=>q(null),onClick:()=>w(c),children:(0,b.jsx)("title",{children:`\xd7${a.peak} ${a.crossProject?"cross-project":"same-project"} \xb7 ${k(a.startMs)}–${k(a.endMs)} \xb7 ${(0,f.formatDuration)(a.endMs-a.startMs)} — click for detail`})}),(0,b.jsxs)("text",{x:h+g/2,y:15,textAnchor:"middle",fontSize:9,fontWeight:700,fill:"white",opacity:j?.3:1,style:{pointerEvents:"none"},children:["×",a.peak]})]},`burst-${c}`)})}),(0,b.jsx)("svg",{width:H,height:26,style:{display:"block"},children:F.map(a=>{let c=J(a),d=new Date(a).getHours()%3==0;return(0,b.jsx)("text",{x:c,y:18,textAnchor:"middle",fontSize:10,fill:d?"var(--af-text-secondary)":"var(--af-text-tertiary)",fontWeight:d?600:400,children:k(a)},a)})})]}),(0,b.jsx)("div",{style:{position:"sticky",left:0,zIndex:1,background:K,borderRight:"1px solid var(--af-border-subtle)"},children:(0,b.jsx)("div",{style:{paddingTop:3},children:a.sessions.map((a,d)=>{let e=i(a),g=a.firstUserPreview?j(a.firstUserPreview).slice(0,45):(0,f.prettyProjectName)(a.projectName),h=(0,f.prettyProjectName)(a.projectName),k=null!==B&&!B.has(a.id);return(0,b.jsxs)("div",{style:{height:30,marginBottom:3,display:"flex",alignItems:"center",gap:6,padding:"0 8px 0 6px",background:d%2==1?"var(--af-surface-hover)":"transparent",opacity:k?.3:1,transition:"opacity 0.12s"},children:[(0,b.jsx)("span",{style:{width:6,height:6,borderRadius:2,background:e,flexShrink:0}}),(0,b.jsx)(c.default,{href:`/sessions/${a.id}`,style:{fontSize:10.5,color:"var(--af-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:1.2,textDecoration:"none"},title:`${j(a.firstUserPreview??"")} — ${h}`,children:g})]},`label-${a.id}-${d}`)})})}),(0,b.jsx)("div",{children:(0,b.jsxs)("svg",{width:H,height:I,style:{display:"block"},children:[(0,b.jsx)("defs",{children:(0,b.jsxs)("pattern",{id:"gantt-idle-stripes",patternUnits:"userSpaceOnUse",width:"6",height:"6",patternTransform:"rotate(45)",children:[(0,b.jsx)("rect",{width:"6",height:"6",fill:"var(--af-surface-hover)"}),(0,b.jsx)("line",{x1:"0",y1:"0",x2:"0",y2:"6",stroke:"var(--af-border-subtle)",strokeWidth:"1.5"})]})}),F.map(a=>{let c=J(a),d=new Date(a).getHours()%3==0;return(0,b.jsx)("line",{x1:c,y1:0,x2:c,y2:I,stroke:"var(--af-border-subtle)",strokeWidth:d?.8:.4,strokeDasharray:d?void 0:"2 4"},a)}),a.sessions.map((a,c)=>{let d=33*c+3,e=i(a),g=null!==B&&!B.has(a.id);return(0,b.jsxs)("g",{opacity:g?.25:1,style:{transition:"opacity 0.12s"},children:[c%2==1&&(0,b.jsx)("rect",{x:0,y:d,width:H,height:30,fill:"var(--af-surface-hover)",opacity:.25}),a.segments.map((c,f)=>{let g=J(c.startMs),h=Math.max(J(c.endMs)-g,4);return(0,b.jsx)("rect",{x:g,y:d+5,width:h,height:20,fill:e,rx:3,style:{cursor:"pointer"},onMouseEnter:b=>{let c=b.currentTarget.closest("svg").getBoundingClientRect();o({session:a,x:b.clientX-c.left+220,y:d+30+24+26+4})}},f)}),a.segments.length>1&&a.segments.slice(0,-1).map((c,e)=>{let f=a.segments[e+1],g=J(c.endMs),h=J(f.startMs);return h-g<4?null:(0,b.jsx)("rect",{x:g+1,y:d+7,width:h-g-2,height:16,fill:"url(#gantt-idle-stripes)",rx:2,opacity:.7},`idle-${e}`)}),(0,b.jsxs)("text",{x:Math.min(J(a.endMs)+8,H-100),y:d+15+3.5,fontSize:9,fill:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",children:[(0,f.formatDuration)(a.activeMs)," · ",k(a.startMs),"–",k(a.endMs)]})]},`row-${a.id}-${c}`)})]})})]}),n&&(0,b.jsxs)("div",{style:{position:"absolute",left:Math.max(8,Math.min(n.x,220+H-340)),top:Math.min(n.y,50+I-100),zIndex:50,background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"10px 14px",fontSize:11,color:"var(--af-text)",pointerEvents:"none",boxShadow:"0 4px 12px rgba(0,0,0,0.15)",maxWidth:340,lineHeight:1.45},children:[(0,b.jsx)("div",{style:{fontWeight:600,marginBottom:4},children:j(n.session.firstUserPreview??"").slice(0,100)||(0,f.prettyProjectName)(n.session.projectName)}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-secondary)",marginBottom:6,fontFamily:"var(--font-mono)"},children:[(0,f.prettyProjectName)(n.session.projectName),n.session.model&&` \xb7 ${n.session.model}`]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"3px 12px",fontSize:10,color:"var(--af-text-secondary)"},children:[(0,b.jsxs)("span",{children:["Active: ",(0,b.jsx)("strong",{children:(0,f.formatDuration)(n.session.activeMs)})]}),(0,b.jsxs)("span",{children:["Segments: ",n.session.segments.length]}),(0,b.jsxs)("span",{children:["Range: ",k(n.session.startMs),"–",k(n.session.endMs)]}),(0,b.jsxs)("span",{children:["Tokens:"," ",(0,f.formatTokens)(n.session.totalUsage.input+n.session.totalUsage.cacheRead+n.session.totalUsage.cacheWrite),"/",(0,f.formatTokens)(n.session.totalUsage.output)]})]})]})]})]}),t&&(0,b.jsx)(l,{onClose:()=>u(!1)}),null!==v&&g[v]&&(0,b.jsx)(m,{burst:g[v],gantt:a,onClose:()=>w(null),onShowInTimeline:()=>{w(null),null!==v&&(a=>{s(b=>b===a?null:a);let b=g[a],c=z.current;if(!b||!c)return;let d=220+(J(b.startMs)+J(b.endMs))/2-c.clientWidth/2;c.scrollTo({left:Math.max(0,d),behavior:"smooth"})})(v)}})]})}])},29107,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(72131),e=a.i(38246);function f(a){if(a<6e4)return`${Math.round(a/1e3)}s`;let b=Math.round(a/6e4);if(b<60)return`${b}m`;let c=Math.floor(b/60),d=b%60;return d?`${c}h ${d}m`:`${c}h`}a.s(["DateNav",0,function({date:a,today:g,prevDay:h,nextDay:i,dayStats:j}){let k,l,m,n,o,p,q=(0,c.useRouter)(),[r,s]=(0,d.useState)(!1),[t,u]=(0,d.useMemo)(()=>{let[b,c]=a.split("-").map(Number);return[b,c]},[a]),[v,w]=(0,d.useState)(t),[x,y]=(0,d.useState)(u),[z,A]=(0,d.useState)(null),[B,C]=(0,d.useState)(null),D=(0,d.useMemo)(()=>{let a=new Map;for(let b of j)a.set(b.date,b);return a},[j]),E=(0,d.useMemo)(()=>{let a=new Date(v,x-1,1).getDay(),b=new Date(v,x,0).getDate(),c=[];for(let b=0;b<a;b++)c.push(null);for(let a=1;a<=b;a++){let b=String(x).padStart(2,"0"),d=String(a).padStart(2,"0");c.push(`${v}-${b}-${d}`)}return c},[v,x]),F=(0,d.useMemo)(()=>{let a=0;for(let b of j)b.airTimeMs>a&&(a=b.airTimeMs);return a},[j]),G=new Date(v,x-1).toLocaleString(void 0,{month:"long",year:"numeric"}),H=a=>{let b=x+a,c=v;b<1&&(b=12,c--),b>12&&(b=1,c++),y(b),w(c)};return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",position:"relative"},children:[h?(0,b.jsx)(e.default,{href:`/parallelism?date=${h}`,style:{padding:"5px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)"},children:"←"}):(0,b.jsx)("span",{style:{padding:"5px 10px",opacity:.3,fontSize:11,color:"var(--af-text-tertiary)"},children:"←"}),(0,b.jsx)("button",{type:"button",onClick:()=>{w(t),y(u),s(a=>!a)},style:{padding:"5px 12px",fontSize:12,fontFamily:"var(--font-mono)",border:"1px solid var(--af-border-subtle)",borderRadius:6,background:r?"var(--af-accent-subtle)":"transparent",color:r?"var(--af-accent)":"var(--af-text)",cursor:"pointer",fontWeight:500,minWidth:120,textAlign:"center"},children:a}),i?(0,b.jsx)(e.default,{href:`/parallelism?date=${i}`,style:{padding:"5px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)"},children:"→"}):(0,b.jsx)("span",{style:{padding:"5px 10px",opacity:.3,fontSize:11,color:"var(--af-text-tertiary)"},children:"→"}),(0,b.jsx)(e.default,{href:`/parallelism?date=${g}`,style:{padding:"5px 12px",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:a===g?"var(--af-accent)":"var(--af-text-secondary)",background:a===g?"var(--af-accent-subtle)":"transparent",fontWeight:500},children:"Today"}),r&&(0,b.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 8px)",right:0,zIndex:60,background:"var(--af-surface)",border:"1px solid var(--af-border-subtle)",borderRadius:10,padding:"12px 14px",boxShadow:"0 8px 28px rgba(0,0,0,0.18)",minWidth:300},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:10},children:[(0,b.jsx)("button",{type:"button",onClick:()=>H(-1),style:{background:"transparent",border:"none",cursor:"pointer",color:"var(--af-text-secondary)",fontSize:14,padding:"2px 8px",borderRadius:4},children:"‹"}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--af-text)"},children:G}),(0,b.jsx)("button",{type:"button",onClick:()=>H(1),style:{background:"transparent",border:"none",cursor:"pointer",color:"var(--af-text-secondary)",fontSize:14,padding:"2px 8px",borderRadius:4},children:"›"})]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:2,marginBottom:4},children:["Su","Mo","Tu","We","Th","Fr","Sa"].map(a=>(0,b.jsx)("div",{style:{textAlign:"center",fontSize:9,color:"var(--af-text-tertiary)",fontWeight:600,padding:"2px 0"},children:a},a))}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:2},children:E.map((c,d)=>{if(!c)return(0,b.jsx)("div",{},`blank-${d}`);let e=D.get(c);e?.sessions;let h=e?.airTimeMs??0;e?.parallelMs;let i=e?.burstCount??0;e?.peakConcurrency;let j=c===a,k=c===g,l=c>g,m=h>0&&F>0?Math.min(1,h/F):0,n=parseInt(c.split("-")[2],10);return(0,b.jsxs)("button",{type:"button",onClick:()=>{s(!1),q.push(`/parallelism?date=${c}`)},disabled:l,onMouseEnter:a=>{if(l)return;let b=a.currentTarget.getBoundingClientRect(),d=a.currentTarget.offsetParent?.getBoundingClientRect()??b;A(c),C({x:b.left-d.left+b.width/2,y:b.bottom-d.top+6})},onMouseLeave:()=>{A(null),C(null)},style:{position:"relative",width:40,height:40,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:1,border:j?"2px solid var(--af-accent)":k?"1px solid var(--af-text-tertiary)":"1px solid transparent",borderRadius:6,background:m>0?`rgba(45, 212, 191, ${.08+.35*m})`:"transparent",color:l?"var(--af-text-tertiary)":j?"var(--af-accent)":"var(--af-text)",cursor:l?"not-allowed":"pointer",fontSize:11,fontWeight:j?700:400,fontFamily:"var(--font-mono)",padding:0,opacity:l?.4:1},children:[(0,b.jsx)("span",{style:{lineHeight:1},children:n}),h>0&&(0,b.jsx)("span",{style:{fontSize:8,color:j?"var(--af-accent)":"var(--af-text-tertiary)",lineHeight:1,fontWeight:600,marginTop:2},children:f(h)}),i>0&&(0,b.jsx)("span",{style:{position:"absolute",top:3,right:3,width:5,height:5,borderRadius:"50%",background:"rgba(167, 139, 250, 0.95)",boxShadow:"0 0 0 1px var(--af-surface)"}})]},c)})}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10,marginTop:10,paddingTop:8,borderTop:"1px solid var(--af-border-subtle)",fontSize:9,color:"var(--af-text-tertiary)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[(0,b.jsx)("span",{children:"less"}),(0,b.jsx)("div",{style:{display:"flex",gap:2},children:[0,.15,.3,.5,.8].map((a,c)=>(0,b.jsx)("span",{style:{width:10,height:10,borderRadius:2,background:0===a?"var(--af-border-subtle)":`rgba(45, 212, 191, ${.08+.35*a})`}},c))}),(0,b.jsx)("span",{children:"more active"})]}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},title:"Days with at least one concurrency burst",children:[(0,b.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",background:"rgba(167, 139, 250, 0.95)"}}),"parallel"]})]}),z&&B&&(k=D.get(z),l=k?.sessions??0,m=k?.airTimeMs??0,n=k?.parallelMs??0,o=k?.burstCount??0,p=k?.peakConcurrency??0,(0,b.jsxs)("div",{style:{position:"absolute",left:Math.max(10,Math.min(B.x-110,290)),top:B.y,width:220,pointerEvents:"none",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"9px 12px",boxShadow:"0 6px 22px rgba(0,0,0,0.22)",fontSize:11,color:"var(--af-text)",zIndex:65,lineHeight:1.5},children:[(0,b.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontWeight:700,fontSize:11,marginBottom:4},children:z}),0===l&&0===m&&0===n?(0,b.jsx)("div",{style:{color:"var(--af-text-tertiary)",fontSize:10},children:"no activity"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",color:"var(--af-text-secondary)",fontSize:10},children:[(0,b.jsx)("span",{children:"sessions"}),(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:l})]}),(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",color:"var(--af-text-secondary)",fontSize:10},children:[(0,b.jsx)("span",{children:"active time"}),(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:m>0?f(m):"—"})]}),n>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",color:"var(--af-text-secondary)",fontSize:10,marginTop:4,paddingTop:4,borderTop:"1px dashed var(--af-border-subtle)"},children:[(0,b.jsx)("span",{children:"parallel time"}),(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:f(n)})]}),(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",color:"var(--af-text-secondary)",fontSize:10},children:[(0,b.jsx)("span",{children:"peak concurrency"}),(0,b.jsxs)("strong",{style:{color:"rgba(167, 139, 250, 1)"},children:["×",p]})]}),(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",color:"var(--af-text-secondary)",fontSize:10},children:[(0,b.jsx)("span",{children:"bursts"}),(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:o})]})]})]})]}))]})]})}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=apps_web_app_parallelism_08vub.0._.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
module.exports=[44422,a=>{"use strict";var b=a.i(87924),c=a.i(38246),d=a.i(50944),e=a.i(72131),f=a.i(70106);let g=(0,f.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"}]]),h=(0,f.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"}]]),i=(0,f.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"}]]),j=(0,f.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"}]]),k=(0,f.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"}]]),l=(0,f.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 m=a.i(87532);let n=(0,f.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"}]]),o=(0,f.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 p=a.i(69439),q=a.i(3444);let r=(0,f.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),s=(0,f.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"}]]);function t(a){if("u">typeof document){document.documentElement.setAttribute("data-theme",a);try{document.cookie=`claude-lens-theme=${a};path=/;max-age=31536000;samesite=lax`}catch{}}}function u(){let[a,c]=(0,e.useState)("dark"),[d,f]=(0,e.useState)(!1);return(0,e.useEffect)(()=>{let a=document.documentElement.getAttribute("data-theme");if("light"===a||"dark"===a)c(a);else{let a="dark";c(a),t(a)}f(!0)},[]),(0,b.jsx)("button",{type:"button",onClick:()=>{let b="dark"===a?"light":"dark";c(b),t(b);try{window.localStorage.setItem("claude-lens:theme",b)}catch{}},"aria-label":"dark"===a?"Switch to light mode":"Switch to dark mode",title:"dark"===a?"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:a=>{a.currentTarget.style.background="var(--af-surface-hover)",a.currentTarget.style.color="var(--af-text)"},onMouseLeave:a=>{a.currentTarget.style.background="transparent",a.currentTarget.style.color="var(--af-text-secondary)"},children:d?"dark"===a?(0,b.jsx)(s,{size:14}):(0,b.jsx)(r,{size:14}):null})}var v=a.i(2591);function w({snapshot:a}){let d,e,[f,,g]=(0,v.usePersistentBoolean)("cclens:usage:show-sonnet",!1);if(!a)return(0,b.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,b.jsx)("div",{style:{textTransform:"uppercase",letterSpacing:"0.06em",fontWeight:600,marginBottom:4},children:"Usage"}),(0,b.jsxs)("div",{children:["Run ",(0,b.jsx)("code",{style:{fontFamily:"var(--font-mono)"},children:"cclens daemon start"})," to collect metrics."]})]});let h=[{label:"5h",window:a.five_hour},{label:"7d",window:a.seven_day}];return g&&f&&h.push({label:"Sonnet 7d",window:a.seven_day_sonnet}),(0,b.jsxs)(c.default,{href:"/usage",style:{display:"block",padding:"10px 16px 12px",borderTop:"1px solid var(--af-border-subtle)",textDecoration:"none",color:"inherit"},children:[(0,b.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,b.jsx)("span",{children:"Current usage"}),(0,b.jsx)("span",{suppressHydrationWarning:!0,style:{fontWeight:500,textTransform:"none",letterSpacing:0},children:(d=new Date(a.captured_at).getTime(),(e=Math.round((Date.now()-d)/1e3))<60?`${e}s ago`:e<3600?`${Math.floor(e/60)}m ago`:e<86400?`${Math.floor(e/3600)}h ago`:`${Math.floor(e/86400)}d ago`)})]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:h.map(a=>(0,b.jsx)(x,{...a},a.label))})]})}function x({label:a,window:c}){let d=c?.utilization??null,e=null!==d,f=e?Math.max(0,Math.min(100,d)):0,g=f>=90?"var(--af-danger)":f>=70?"var(--af-warning)":"var(--af-success)";return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6,fontSize:10,color:"var(--af-text-secondary)",marginBottom:2,fontVariantNumeric:"tabular-nums"},children:[(0,b.jsx)("span",{children:a}),c?.resets_at&&(0,b.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(a){let b,c=Math.round((new Date(a).getTime()-Date.now())/1e3),d=Math.abs(c);if(d<60)b=`${d}s`;else if(d<3600)b=`${Math.floor(d/60)}m`;else if(d<86400){let a=Math.floor(d/3600),c=Math.floor(d%3600/60);b=c>0?`${a}h${c}m`:`${a}h`}else{let a=Math.floor(d/86400),c=Math.floor(d%86400/3600);b=c>0?`${a}d${c}h`:`${a}d`}return c<0?`${b} ago`:`in ${b}`}(c.resets_at)]}),(0,b.jsx)("span",{style:{fontWeight:600,color:"var(--af-text)",marginLeft:"auto"},children:e?`${f.toFixed(0)}%`:"—"})]}),(0,b.jsx)("div",{style:{height:4,background:"var(--af-border-subtle)",borderRadius:999,overflow:"hidden"},children:(0,b.jsx)("div",{style:{height:"100%",width:e?`${f}%`:"0%",background:g,borderRadius:999,transition:"width 0.24s ease"}})})]})}function y({href:a,active:d,icon:e,trailing:f,children:g}){return(0,b.jsxs)(c.default,{href:a,style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",borderRadius:7,fontSize:13,fontWeight:500,color:d?"var(--af-accent)":"var(--af-text-secondary)",background:d?"var(--af-accent-subtle)":"transparent",transition:"all 0.12s"},children:[e,(0,b.jsx)("span",{style:{flex:1},children:g}),f&&(0,b.jsx)("span",{style:{fontSize:10,color:d?"var(--af-accent)":"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:f})]})}function z({label:a,items:d,pathname:e,isPinned:f,onTogglePin:g}){return 0===d.length?null:(0,b.jsxs)("div",{style:{marginTop:10},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.06em",padding:"0 10px 6px",fontWeight:600},children:a}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:d.map(a=>{let d=`/projects/${encodeURIComponent(a.projectDir)}`,h=e===d,i=(0,q.prettyProjectName)(a.projectName);return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"5px 6px 5px 10px",borderRadius:6,background:h?"var(--af-accent-subtle)":"transparent",color:h?"var(--af-accent)":"var(--af-text-secondary)"},children:[(0,b.jsxs)(c.default,{href:d,style:{flex:1,minWidth:0,fontSize:12,color:"inherit",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:5},title:(a.worktreeCount??0)>0?`${a.projectName} — ${a.worktreeCount} worktree${1===a.worktreeCount?"":"s"}`:a.projectName,children:[(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:i}),(a.worktreeCount??0)>0&&(0,b.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:["+",a.worktreeCount," wt"]})]}),(0,b.jsx)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginLeft:4},children:a.sessionCount}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.preventDefault(),b.stopPropagation(),g(a.projectDir)},"aria-label":f(a.projectDir)?"Unpin project":"Pin project",title:f(a.projectDir)?"Unpin":"Pin",style:{background:"transparent",border:"none",padding:3,borderRadius:4,color:f(a.projectDir)?"var(--af-accent)":"var(--af-text-tertiary)",display:"flex",alignItems:"center"},children:f(a.projectDir)?(0,b.jsx)(l,{size:12}):(0,b.jsx)(k,{size:12})}),a.lastActiveMs&&(0,b.jsx)("span",{style:{fontSize:9,color:"var(--af-text-tertiary)",marginLeft:2,minWidth:32,textAlign:"right"},title:new Date(a.lastActiveMs).toISOString(),suppressHydrationWarning:!0,children:(0,q.formatRelative)(new Date(a.lastActiveMs).toISOString())})]},a.projectDir)})})]})}a.s(["Sidebar",0,function({projects:a,totalSessions:c,currentUsage:f,version:k}){let l=(0,d.usePathname)(),[q,r]=(0,e.useState)(new Set),[s,t]=(0,e.useState)(!1),[v,x]=(0,e.useState)("");(0,e.useEffect)(()=>{r(new Set),t(!0)},[]);let A=a=>{r(b=>{let c=new Set(b);c.has(a)?c.delete(a):c.add(a);try{window.localStorage.setItem("claude-lens:pinned-projects:v1",JSON.stringify(Array.from(c)))}catch{}return c})},B=(0,e.useMemo)(()=>{if(!v.trim())return a;let b=v.toLowerCase();return a.filter(a=>a.projectName.toLowerCase().includes(b))},[a,v]),C=B.filter(a=>q.has(a.projectDir)),D=B.filter(a=>!q.has(a.projectDir));return(0,b.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,b.jsx)("div",{style:{padding:"18px 20px 12px",borderBottom:"1px solid var(--af-border-subtle)"},children:(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,b.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,b.jsx)(n,{size:16,strokeWidth:2.25})}),(0,b.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6},children:[(0,b.jsx)("span",{style:{fontSize:14,fontWeight:700,letterSpacing:"-0.01em"},children:"Fleetlens"}),(0,b.jsxs)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",fontWeight:500},title:`fleetlens ${k}`,children:["v",k]})]}),(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:"Claude Code fleet analytics"})]})]})}),(0,b.jsxs)("nav",{style:{padding:"10px 10px 6px",display:"flex",flexDirection:"column",gap:2},children:[(0,b.jsx)(y,{href:"/",active:"/"===l,icon:(0,b.jsx)(g,{size:15}),children:"Overview"}),(0,b.jsx)(y,{href:"/sessions",active:"/sessions"===l||l.startsWith("/sessions/"),icon:(0,b.jsx)(h,{size:15}),trailing:c>0?String(c):void 0,children:"All sessions"}),(0,b.jsx)(y,{href:"/projects",active:"/projects"===l,icon:(0,b.jsx)(i,{size:15}),trailing:a.length>0?String(a.length):void 0,children:"Projects"}),(0,b.jsx)(y,{href:"/parallelism",active:"/parallelism"===l,icon:(0,b.jsx)(j,{size:15}),children:"Timeline"}),(0,b.jsx)(y,{href:"/usage",active:"/usage"===l,icon:(0,b.jsx)(o,{size:15}),children:"Usage"}),(0,b.jsx)(y,{href:"/insights",active:"/insights"===l,icon:(0,b.jsx)(p.Lightbulb,{size:15}),children:"Insights"})]}),(0,b.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,b.jsx)(m.Search,{size:13,color:"var(--af-text-tertiary)"}),(0,b.jsx)("input",{type:"text",placeholder:"Search projects",value:v,onChange:a=>x(a.target.value),style:{flex:1,background:"transparent",border:"none",padding:"4px 0",fontSize:12,color:"var(--af-text)"}})]}),(0,b.jsxs)("div",{style:{flex:1,overflow:"auto",padding:"4px 8px 20px"},children:[s&&C.length>0&&(0,b.jsx)(z,{label:"Pinned",items:C,pathname:l,isPinned:a=>q.has(a),onTogglePin:A}),(0,b.jsx)(z,{label:"Projects",items:D,pathname:l,isPinned:a=>q.has(a),onTogglePin:A})]}),(0,b.jsx)(w,{snapshot:f}),(0,b.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,b.jsxs)("span",{style:{flex:1,minWidth:0},children:[c," sessions · ",a.length," projects"]}),(0,b.jsx)(u,{})]})]})}],44422)},46069,a=>{"use strict";var b=a.i(50944),c=a.i(72131);a.s(["LiveRefresher",0,function(){let a,d=(0,b.useRouter)(),e=(a=(0,b.usePathname)(),a?.includes("/insights/print/")??!1),f=(0,c.useRef)(null),g=(0,c.useRef)({session:0,usage:0});return!function(a,b={}){let{enabled:d=!0}=b,e=(0,c.useRef)(a);(0,c.useEffect)(()=>{e.current=a},[a]),(0,c.useEffect)(()=>{if(!d)return;let a=new EventSource("/api/events");return a.onmessage=a=>{try{let b=JSON.parse(a.data);("session-updated"===b.type||"usage-updated"===b.type)&&e.current(b)}catch{}},a.onerror=()=>{},()=>{a.close()}},[d])}((0,c.useCallback)(a=>{let b="usage-updated"===a.type?"usage":"session";a.mtimeMs<=(g.current[b]??0)||(g.current[b]=a.mtimeMs,f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{d.refresh()},400))},[d]),{enabled:!e}),(0,c.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]),null}],46069)},1568,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(38246),f=a.i(3444),g=a.i(76285);let h="cclens-live-widget-expanded";a.s(["LiveSessionsWidget",0,function({sessions:a}){let i=(0,d.usePathname)(),[j,k]=(0,c.useState)(()=>Date.now()),[l,m]=(0,c.useState)(!1);if((0,c.useEffect)(()=>{try{let a=localStorage.getItem(h);null!==a&&m("true"===a)}catch{}},[]),(0,c.useEffect)(()=>{let a=setInterval(()=>k(Date.now()),1e4);return()=>clearInterval(a)},[]),i&&/^\/sessions\/[^/]+$/.test(i))return null;let n=a.filter(a=>{if(!a.lastTimestamp)return!1;let b=Date.parse(a.lastTimestamp);return!Number.isNaN(b)&&j-b<=45e3}).slice().sort((a,b)=>{let c=a.firstTimestamp?Date.parse(a.firstTimestamp):0;return(b.firstTimestamp?Date.parse(b.firstTimestamp):0)-c});if(0===n.length)return null;let o=l?n.slice(0,5):[],p=l?n.length-o.length:0;return(0,b.jsxs)("div",{style:{position:"fixed",right:20,bottom:20,zIndex:100,display:"flex",flexDirection:"column-reverse",gap:6,maxWidth:320,pointerEvents:"auto"},children:[(0,b.jsxs)("button",{type:"button",onClick:()=>{var a;return a=a=>!a,void m(b=>{let c=a(b);try{localStorage.setItem(h,String(c))}catch{}return c})},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:l?"Collapse":`Show ${n.length} live session${1===n.length?"":"s"}`,children:[(0,b.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 · ",n.length]}),l&&p>0&&(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",padding:"0 4px",textAlign:"right"},children:["+",p," more live"]}),o.map(a=>(0,b.jsxs)(e.default,{href:`/sessions/${a.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:(a.lastUserPreview||a.firstUserPreview||a.lastAgentPreview)??(0,f.prettyProjectName)(a.projectName),children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:500,color:"var(--af-text)",minWidth:0},children:[(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:a.lastUserPreview||a.firstUserPreview||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),(0,b.jsx)(g.TeamBadge,{session:a,linkable:!1})]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-secondary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:3,fontStyle:"italic"},children:a.lastAgentPreview?(0,b.jsxs)(b.Fragment,{children:["↳ ",a.lastAgentPreview]}):(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"waiting…"})}),(0,b.jsx)("div",{style:{fontSize:9,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginTop:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,f.prettyProjectName)(a.projectName)})]},a.id)),(0,b.jsx)("style",{children:`
|
|
2
|
-
@keyframes cs-live-pulse {
|
|
3
|
-
0%, 100% { opacity: 1; transform: scale(1); }
|
|
4
|
-
50% { opacity: 0.4; transform: scale(0.85); }
|
|
5
|
-
}
|
|
6
|
-
`})]})}])}];
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=apps_web_components_06j3c.0._.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
module.exports=[20555,a=>{"use strict";var b=a.i(87924),c=a.i(72131);a.s(["LiveBadge",0,function({mtimeIso:a,size:d="sm"}){let[e,f]=(0,c.useState)(()=>Date.now());if((0,c.useEffect)(()=>{let a=setInterval(()=>f(Date.now()),1e4);return()=>clearInterval(a)},[]),!a)return null;let g=Date.parse(a);if(Number.isNaN(g)||e-g>45e3)return null;let h="md"===d?8:6;return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:"md"===d?10:9,fontWeight:700,letterSpacing:"0.04em",padding:"md"===d?"3px 9px":"2px 7px",borderRadius:100,background:"rgba(239, 68, 68, 0.12)",color:"#ef4444",textTransform:"uppercase"},title:`Last updated ${new Date(g).toLocaleTimeString()}`,children:[(0,b.jsx)("span",{style:{display:"inline-block",width:h,height:h,borderRadius:"50%",background:"#ef4444",animation:"cs-live-pulse 1.6s ease-in-out infinite"}}),"LIVE",(0,b.jsx)("style",{children:`
|
|
2
|
-
@keyframes cs-live-pulse {
|
|
3
|
-
0%, 100% { opacity: 1; transform: scale(1); }
|
|
4
|
-
50% { opacity: 0.4; transform: scale(0.85); }
|
|
5
|
-
}
|
|
6
|
-
`})]})}])},89691,a=>{"use strict";var b=a.i(87924),c=a.i(72131);function d(a,b){if(a<=0||b<=0)return"var(--af-heatmap-0)";let c=Math.min(1,a/b),d=0;return c>.75?d=4:c>.5?d=3:c>.25?d=2:c>0&&(d=1),`var(--af-heatmap-${d})`}function e(a){let[b,c,d]=a.split("-").map(Number);return new Date(b,c-1,d)}function f(a){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}function g(a){return{date:a,sessions:0,toolCalls:0,turns:0,airTimeMs:0,tokens:{input:0,output:0,cacheRead:0,cacheWrite:0},durationMs:0,peakParallelism:0}}a.s(["Heatmap",0,function({buckets:a,valueKey:h="sessions",cellSize:i=13,cellGap:j=3}){let[k,l]=(0,c.useState)(null),{weeks:m,max:n}=(0,c.useMemo)(()=>{if(0===a.length)return{weeks:[],max:0};let b=new Date(e(a[0].date));b.setDate(b.getDate()-b.getDay());let c=new Map(a.map(a=>[a.date,a])),d=[],i=[],j=new Date,k=e(a[a.length-1].date),l=k>j?k:j,m=0;for(let a=new Date(b);a<=l;a.setDate(a.getDate()+1)){let b=f(a),e=c.get(b)??g(b),j=e[h];j>m&&(m=j),i.push(e),7===i.length&&(d.push(i),i=[])}if(i.length>0){for(;i.length<7;)i.push(g(f(new Date)));d.push(i)}return{weeks:d,max:m}},[a,h]);if(0===a.length)return(0,b.jsx)("div",{style:{padding:"32px 12px",color:"var(--af-text-tertiary)",fontSize:12,textAlign:"center"},children:"No activity yet."});let o=m.length*(i+j)+24,p=7*(i+j)+18;return(0,b.jsxs)("div",{style:{position:"relative",overflowX:"auto"},children:[(0,b.jsxs)("svg",{width:o,height:p,style:{display:"block"},children:[(0,b.jsx)("g",{fontSize:9,fill:"var(--af-text-tertiary)",children:["Mon","Wed","Fri"].map((a,c)=>(0,b.jsx)("text",{x:0,y:18+(1+2*c)*(i+j)+i-3,children:a},a))}),(0,b.jsx)("g",{transform:"translate(24, 18)",children:m.map((a,c)=>a.map((a,e)=>{let f=a[h],g=d(f,n);return(0,b.jsx)("rect",{x:c*(i+j),y:e*(i+j),width:i,height:i,rx:2.5,ry:2.5,stroke:f>0?"rgba(255,255,255,0.04)":"transparent",onMouseEnter:b=>{let c=b.currentTarget.getBoundingClientRect();l({bucket:a,x:c.left+c.width/2,y:c.top-6})},onMouseLeave:()=>l(null),style:{cursor:f>0?"pointer":"default",fill:g}},`${c}-${e}`)}))})]}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:6,fontSize:10,color:"var(--af-text-tertiary)",justifyContent:"flex-end"},children:[(0,b.jsx)("span",{children:"Less"}),[0,.25,.5,.75,1].map((a,c)=>(0,b.jsx)("span",{style:{width:11,height:11,borderRadius:2.5,background:d(Math.max(1,a*n),n),display:"inline-block"}},c)),(0,b.jsx)("span",{children:"More"})]}),k&&(0,b.jsxs)("div",{style:{position:"fixed",left:k.x,top:k.y,transform:"translate(-50%, -100%)",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:6,padding:"6px 10px",fontSize:11,color:"var(--af-text)",whiteSpace:"nowrap",pointerEvents:"none",zIndex:100,boxShadow:"0 4px 12px rgba(0,0,0,0.3)"},children:[(0,b.jsx)("div",{style:{fontWeight:600},children:k.bucket.date}),(0,b.jsxs)("div",{style:{color:"var(--af-text-secondary)"},children:[k.bucket.sessions," session",1===k.bucket.sessions?"":"s",k.bucket.toolCalls>0&&` \xb7 ${k.bucket.toolCalls} tool calls`,k.bucket.peakParallelism>1&&` \xb7 peak \xd7${k.bucket.peakParallelism}`]})]})]})}])},52429,a=>{"use strict";var b=a.i(87924),c=a.i(72131);function d(a){if(a<1e3)return`${Math.round(a)}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`}let e={airTime:{label:"Agent time",pluck:a=>a.airTimeMs,color:"rgba(45, 212, 191, 0.85)",unit:"ms"},sessions:{label:"Sessions",pluck:a=>a.sessions,color:"rgba(94, 234, 212, 0.85)"},toolCalls:{label:"Tool calls",pluck:a=>a.toolCalls,color:"rgba(167, 139, 250, 0.85)"},turns:{label:"Turns",pluck:a=>a.turns,color:"rgba(251, 191, 36, 0.85)"},input:{label:"Input tokens",pluck:a=>a.tokens.input,color:"rgba(52, 211, 153, 0.85)"},output:{label:"Output tokens",pluck:a=>a.tokens.output,color:"rgba(248, 113, 113, 0.85)"},cacheRead:{label:"Cache read",pluck:a=>a.tokens.cacheRead,color:"rgba(129, 104, 224, 0.85)"}};a.s(["ActivityChart",0,function({buckets:a,defaultMetric:f="sessions",height:g=160}){let[h,i]=(0,c.useState)(f),[j,k]=(0,c.useState)(null),l=e[h],{bars:m,maxVal:n}=(0,c.useMemo)(()=>{let b=0;return{bars:a.map(a=>{let c=l.pluck(a);return c>b&&(b=c),{bucket:a,value:c}}),maxVal:b}},[a,l]);if(0===a.length)return(0,b.jsx)("div",{style:{padding:"32px 12px",color:"var(--af-text-tertiary)",fontSize:12,textAlign:"center"},children:"No activity yet."});let o=Math.max(3,Math.floor((600-2*m.length)/Math.max(1,m.length))),p=48+Math.max(m.length*(o+2),600)+8,q=g-10-22;return(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{display:"flex",gap:4,background:"var(--background)",borderRadius:7,padding:3,marginBottom:10},children:Object.keys(e).map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>i(a),style:{fontSize:11,padding:"5px 10px",border:"none",borderRadius:5,background:h===a?"var(--af-surface-elevated)":"transparent",color:h===a?"var(--af-text)":"var(--af-text-tertiary)",fontWeight:500},children:e[a].label},a))}),(0,b.jsxs)("div",{style:{position:"relative",overflowX:"auto"},children:[j&&(0,b.jsxs)("div",{style:{position:"absolute",left:j.x,top:0,transform:"translateX(-50%)",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:6,padding:"4px 8px",fontSize:11,color:"var(--af-text-secondary)",fontFamily:"var(--font-mono)",whiteSpace:"nowrap",pointerEvents:"none",zIndex:10,boxShadow:"0 2px 8px rgba(0,0,0,0.08)"},children:[j.bucket.date," ·"," ","ms"===l.unit?d(j.value):j.value.toLocaleString()]}),(0,b.jsxs)("svg",{width:p,height:g,style:{display:"block"},children:[(0,b.jsx)("g",{fontSize:10,fill:"var(--af-text-tertiary)",children:[0,.25,.5,.75,1].map(a=>{let c=10+(1-a)*q,e=n*a,f="ms"===l.unit?d(e):e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString();return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:48,x2:p-8,y1:c,y2:c,stroke:"var(--af-border-subtle)",strokeDasharray:0===a?void 0:"2 3"}),(0,b.jsx)("text",{x:42,y:c+3,textAnchor:"end",children:f})]},a)})}),m.map((a,c)=>{let d=n>0?a.value/n*q:0,e=48+c*(o+2),f=j?.bucket.date===a.bucket.date;return(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:e,y:10,width:o,height:q,fill:"transparent",onMouseEnter:()=>k({bucket:a.bucket,value:a.value,x:e+o/2}),onMouseLeave:()=>k(null)}),(0,b.jsx)("rect",{x:e,y:10+q-d,width:o,height:Math.max(.5,d),fill:f?"var(--af-accent)":l.color,rx:1.5*(o>=6),ry:1.5*(o>=6),style:{pointerEvents:"none"}})]},a.bucket.date)}),(0,b.jsx)("g",{fontSize:10,fill:"var(--af-text-tertiary)",children:m.map((a,c)=>{let d=a.bucket.date,e=0===c,f=c===m.length-1,h="01"===d.slice(-2),i=m.length>3&&m.length<=31&&c===Math.floor(m.length/2)&&!m.some(a=>"01"===a.bucket.date.slice(-2));if(!e&&!f&&!h&&!i)return null;let j=48+c*(o+2)+o/2,k=new Date(`${d}T00:00:00`).toLocaleDateString(void 0,{month:"short",day:"numeric"});return(0,b.jsx)("text",{x:e?48:f?p-8:j,y:g-6,textAnchor:e?"start":f?"end":"middle",children:k},d)})})]})]})]})}])},78338,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=(0,a.i(70106).default)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);a.s(["MetricCard",0,function({label:a,value:e,sub:f,icon:g,tooltip:h}){let[i,j]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"af-card",style:{padding:"16px 18px",position:"relative"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:[g,(0,b.jsx)("span",{children:a}),h&&(0,b.jsx)("span",{style:{marginLeft:"auto",cursor:"help",display:"inline-flex",color:"var(--af-text-tertiary)",opacity:.5,transition:"opacity 0.12s"},onMouseEnter:()=>j(!0),onMouseLeave:()=>j(!1),onClick:()=>j(a=>!a),children:(0,b.jsx)(d,{size:12})})]}),(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,marginTop:8,letterSpacing:"-0.02em",lineHeight:1.1},children:e}),f&&(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-secondary)",marginTop:4},children:f}),i&&h&&(0,b.jsx)("div",{style:{position:"absolute",top:"calc(100% + 6px)",left:0,right:0,zIndex:50,background:"#0F172A",color:"#F1F5F9",borderRadius:8,padding:"10px 12px",fontSize:11,lineHeight:1.5,boxShadow:"0 6px 24px rgba(15,23,42,0.22)",pointerEvents:"none"},children:h.split("\n").map((a,c)=>(0,b.jsx)("div",{children:a},c))})]})}],78338)},72589,a=>{"use strict";var b=a.i(87924),c=a.i(50944);let d=[{key:"7d",label:"7D"},{key:"30d",label:"30D"},{key:"90d",label:"90D"},{key:"all",label:"All"}];a.s(["DateRangeFilter",0,function({current:a}){let e=(0,c.useRouter)(),f=(0,c.usePathname)(),g=(0,c.useSearchParams)();return(0,b.jsx)("div",{style:{display:"inline-flex",gap:2,background:"var(--background)",borderRadius:7,padding:3,border:"1px solid var(--af-border-subtle)"},children:d.map(c=>(0,b.jsx)("button",{type:"button",onClick:()=>{var a;let b,d;return a=c.key,b=new URLSearchParams(g?.toString()??""),"all"===a?b.delete("range"):b.set("range",a),d=b.toString(),void e.replace(`${f}${d?`?${d}`:""}`,{scroll:!1})},style:{fontSize:11,padding:"4px 10px",border:"none",borderRadius:5,background:a===c.key?"var(--af-surface-elevated)":"transparent",color:a===c.key?"var(--af-text)":"var(--af-text-tertiary)",fontWeight:500,cursor:"pointer"},children:c.label},c.key))})}])}];
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=apps_web_components_0bbo_pd._.js.map
|