fleetlens 0.15.7 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/apps/web/.next/BUILD_ID +1 -1
- package/app/apps/web/.next/app-path-routes-manifest.json +9 -0
- package/app/apps/web/.next/build-manifest.json +3 -3
- package/app/apps/web/.next/prerender-manifest.json +3 -3
- package/app/apps/web/.next/routes-manifest.json +62 -0
- package/app/apps/web/.next/server/app/_global-error/page.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.html +1 -1
- package/app/apps/web/.next/server/app/_global-error.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/apps/web/.next/server/app/_not-found/page.js +1 -1
- package/app/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/agent/page/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/agent/page/build-manifest.json +17 -0
- package/app/apps/web/.next/server/app/agent/page/next-font-manifest.json +6 -0
- package/app/apps/web/.next/server/app/agent/page/react-loadable-manifest.json +1 -0
- package/app/apps/web/.next/server/app/agent/page/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/agent/page.js +18 -0
- package/app/apps/web/.next/server/app/agent/page.js.map +5 -0
- package/app/apps/web/.next/server/app/agent/page.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/agent/page_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route.js +7 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route.js +9 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/route.js +7 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route.js +7 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/agent/chats/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/agent/chats/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/agent/chats/route.js +7 -0
- package/app/apps/web/.next/server/app/api/agent/chats/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/agent/chats/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/agent/chats/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/agent/index/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/agent/index/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/agent/index/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/agent/index/route.js +9 -0
- package/app/apps/web/.next/server/app/api/agent/index/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/agent/index/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/agent/index/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/agent/mcp/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/agent/mcp/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/agent/mcp/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/agent/mcp/route.js +10 -0
- package/app/apps/web/.next/server/app/api/agent/mcp/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/agent/mcp/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/agent/mcp/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/agent/suggestions/route/app-paths-manifest.json +3 -0
- package/app/apps/web/.next/server/app/api/agent/suggestions/route/build-manifest.json +9 -0
- package/app/apps/web/.next/server/app/api/agent/suggestions/route/server-reference-manifest.json +4 -0
- package/app/apps/web/.next/server/app/api/agent/suggestions/route.js +12 -0
- package/app/apps/web/.next/server/app/api/agent/suggestions/route.js.map +5 -0
- package/app/apps/web/.next/server/app/api/agent/suggestions/route.js.nft.json +1 -0
- package/app/apps/web/.next/server/app/api/agent/suggestions/route_client-reference-manifest.js +3 -0
- package/app/apps/web/.next/server/app/api/ask/route.js +3 -4
- package/app/apps/web/.next/server/app/api/ask/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/digest/day/[date]/route.js +4 -4
- package/app/apps/web/.next/server/app/api/digest/day/[date]/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js +4 -4
- package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/digest/month-index/route.js +2 -2
- package/app/apps/web/.next/server/app/api/digest/month-index/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js +4 -4
- package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/digest/week-index/route.js +2 -2
- package/app/apps/web/.next/server/app/api/digest/week-index/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/events/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/jobs/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/pdf/[key]/route.js +3 -3
- package/app/apps/web/.next/server/app/api/pdf/[key]/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/projects/open-folder/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/runs/[runId]/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/runs/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/settings/credentials/route.js +5 -5
- package/app/apps/web/.next/server/app/api/settings/credentials/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/settings/route.js +3 -3
- package/app/apps/web/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/team/autostart/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/team/onboarding/start/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/team/sync-projects/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/api/workflow-agent/route.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/changelog/page.js +1 -1
- package/app/apps/web/.next/server/app/changelog/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/day/[date]/page.js +2 -2
- package/app/apps/web/.next/server/app/day/[date]/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/day/[date]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/day/page.js +1 -1
- package/app/apps/web/.next/server/app/day/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/day/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/digest/[date]/page.js +1 -1
- package/app/apps/web/.next/server/app/digest/[date]/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/digest/[date]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/digest/page.js +1 -1
- package/app/apps/web/.next/server/app/digest/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/digest/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/insights/[key]/page.js +2 -2
- package/app/apps/web/.next/server/app/insights/[key]/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/insights/[key]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/insights/page.js +2 -2
- package/app/apps/web/.next/server/app/insights/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/insights/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/page.js +2 -2
- package/app/apps/web/.next/server/app/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/parallelism/page.js +1 -1
- package/app/apps/web/.next/server/app/parallelism/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/print/[key]/page.js +2 -2
- package/app/apps/web/.next/server/app/print/[key]/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/print/[key]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/projects/[slug]/page.js +1 -1
- package/app/apps/web/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/projects/page.js +1 -1
- package/app/apps/web/.next/server/app/projects/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/runs/page.js +1 -1
- package/app/apps/web/.next/server/app/runs/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/runs/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/sessions/[id]/page.js +1 -1
- package/app/apps/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/sessions/page.js +1 -1
- package/app/apps/web/.next/server/app/sessions/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/settings/page.js +2 -2
- package/app/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/team/onboarding/page.js +1 -1
- package/app/apps/web/.next/server/app/team/onboarding/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/team/onboarding/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/team/page.js +1 -1
- package/app/apps/web/.next/server/app/team/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/team/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app/usage/page.js +1 -1
- package/app/apps/web/.next/server/app/usage/page.js.nft.json +1 -1
- package/app/apps/web/.next/server/app/usage/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/app-paths-manifest.json +9 -0
- package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_agent_chats_[id]_events_route_actions_0fkgl_r.js +3 -0
- package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_agent_chats_[id]_stop_route_actions_036fon_.js +3 -0
- package/app/apps/web/.next/server/chunks/09og__next-internal_server_app_api_agent_chats_[id]_messages_route_actions_0ubwh4q.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__01~cgp8._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__02faosk._.js +30 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__02puo0u._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0367vbv._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__04g-b-m._.js +9 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__06xto5z._.js +9 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__096_llw._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__09cgmam._.js +28 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0_5tf-2._.js +21 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0gvw6dk._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0mx_9mb._.js +5 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0pirsh0._.js +9 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0sbhe0s._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0tk8p3d._.js +28 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0u6pamj._.js +28 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__123tfcb._.js +3 -0
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__12jomao._.js +28 -0
- package/app/apps/web/.next/server/chunks/_132c.4p._.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_chats_[id]_route_actions_0b95y8h.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_chats_route_actions_07b4w1x.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_index_route_actions_03~ylvr.js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_mcp_route_actions_0-b30h..js +3 -0
- package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_suggestions_route_actions_0r_5s~k.js +3 -0
- package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0sr4wr_.js +13 -0
- package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0z_xi9k.js +16 -0
- package/app/apps/web/.next/server/chunks/{packages_0o6.gpk._.js → packages_entries_dist_0-0s5ui._.js} +2 -2
- package/app/apps/web/.next/server/chunks/packages_entries_dist_0~0d7ku._.js +3 -0
- package/app/apps/web/.next/server/chunks/packages_entries_dist_node_0bckr7-.js +8 -8
- package/app/apps/web/.next/server/chunks/packages_parser_dist_06d9se1._.js +1 -1
- package/app/apps/web/.next/server/chunks/packages_parser_dist_10ihc3~._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0e.gxk3._.js → [root-of-the-server]__0.wm54e._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__04il6m2._.js → [root-of-the-server]__04qodwp._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0k1x-c9._.js → [root-of-the-server]__07~kk2~._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__03uoeiw._.js → [root-of-the-server]__0_78i1t._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0amklf0._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0nr2~y1._.js → [root-of-the-server]__0d5y90m._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__03svi~4._.js → [root-of-the-server]__0iv286q._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0j683am._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0rvzdnx._.js → [root-of-the-server]__0kml6jt._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__08l86e-._.js → [root-of-the-server]__0lmftab._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ns6ydi._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0vo.r~s._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0~8.fgs._.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/_0k8yioi._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/{_13jdm1g._.js → _0~r5ica._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_agent_page_actions_0tuled1.js +3 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_app_day_[date]_day-view_tsx_0wjoe1u._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_app_sessions_[id]_session-view_tsx_0-9t5~.._.js +12 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0x014hn._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_components_agent-chat_tsx_0xbtx2n._.js +5 -0
- package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0n7_p1d._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0nb5_-s._.js +1 -1
- package/app/apps/web/.next/server/chunks/ssr/{node_modules_0yrkyef._.js → node_modules_next_dist_0t-hj0x._.js} +2 -2
- package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0~g07z5.js +4 -0
- package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_0mx_509._.js +1 -1
- package/app/apps/web/.next/server/functions-config-manifest.json +8 -0
- package/app/apps/web/.next/server/middleware-build-manifest.js +3 -3
- package/app/apps/web/.next/server/middleware-manifest.json +5 -5
- package/app/apps/web/.next/server/pages/500.html +1 -1
- package/app/apps/web/.next/server/server-reference-manifest.js +1 -1
- package/app/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/app/apps/web/.next/static/chunks/04feoajklmrl3.js +3 -0
- package/app/apps/web/.next/static/chunks/07bzlfv97o1ig.js +10 -0
- package/app/apps/web/.next/static/chunks/0d~7p_ye7v7_5.css +1 -0
- package/app/apps/web/.next/static/chunks/0iiqpl6d_3i5~.js +1 -0
- package/app/apps/web/.next/static/chunks/0mry~475v0fa3.js +14 -0
- package/app/apps/web/.next/static/chunks/0qwgm81o9o~um.js +1 -0
- package/app/apps/web/.next/static/chunks/{0y3448zrint0k.js → 0~rycwo36m~c3.js} +1 -1
- package/app/apps/web/.next/static/chunks/12zmbd3mlcbn_.js +1 -0
- package/app/apps/web/.next/static/chunks/16bapkvp5.x37.js +1 -0
- package/app/apps/web/app/agent/page.tsx +12 -0
- package/app/apps/web/app/api/agent/chats/[id]/events/route.ts +86 -0
- package/app/apps/web/app/api/agent/chats/[id]/messages/route.ts +47 -0
- package/app/apps/web/app/api/agent/chats/[id]/route.ts +19 -0
- package/app/apps/web/app/api/agent/chats/[id]/stop/route.ts +10 -0
- package/app/apps/web/app/api/agent/chats/route.ts +26 -0
- package/app/apps/web/app/api/agent/index/route.ts +56 -0
- package/app/apps/web/app/api/agent/mcp/route.ts +31 -0
- package/app/apps/web/app/api/agent/suggestions/route.ts +150 -0
- package/app/apps/web/components/agent-chat.tsx +940 -0
- package/app/apps/web/components/sidebar.tsx +8 -21
- package/app/apps/web/lib/agent/chat-model.ts +125 -0
- package/app/apps/web/lib/agent/chat-store.test.ts +125 -0
- package/app/apps/web/lib/agent/chat-store.ts +59 -0
- package/app/apps/web/lib/agent/extract.test.ts +141 -0
- package/app/apps/web/lib/agent/extract.ts +75 -0
- package/app/apps/web/lib/agent/index-store.ts +206 -0
- package/app/apps/web/lib/agent/links.test.ts +27 -0
- package/app/apps/web/lib/agent/links.ts +10 -0
- package/app/apps/web/lib/agent/mcp.test.ts +83 -0
- package/app/apps/web/lib/agent/mcp.ts +85 -0
- package/app/apps/web/lib/agent/prompt.test.ts +38 -0
- package/app/apps/web/lib/agent/prompt.ts +44 -0
- package/app/apps/web/lib/agent/run.ts +426 -0
- package/app/apps/web/lib/agent/search.test.ts +111 -0
- package/app/apps/web/lib/agent/search.ts +144 -0
- package/app/apps/web/lib/agent/suggestions.test.ts +156 -0
- package/app/apps/web/lib/agent/suggestions.ts +167 -0
- package/app/apps/web/lib/agent/tools.test.ts +98 -0
- package/app/apps/web/lib/agent/tools.ts +176 -0
- package/app/apps/web/lib/agent/types.ts +50 -0
- package/app/apps/web/lib/changelog-data.generated.ts +1 -1
- package/app/apps/web/package.json +1 -1
- package/app/apps/web/tsconfig.tsbuildinfo +1 -1
- package/app/apps/web/vitest.config.ts +4 -0
- package/dist/daemon-worker.js +9 -4
- package/dist/index.js +19 -12
- package/menubar/FleetlensMenubar.app/Contents/Info.plist +2 -2
- package/menubar/FleetlensMenubar.app/Contents/MacOS/FleetlensMenubar +0 -0
- package/package.json +1 -1
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__03ewxxu._.js +0 -9
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__03rmbz6._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__05z0pcw._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0acikq.._.js +0 -9
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0b5r~-1._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0jbc7tz._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0ow1kn1._.js +0 -9
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0t7i-hy._.js +0 -3
- package/app/apps/web/.next/server/chunks/[root-of-the-server]__0~xt99s._.js +0 -3
- package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0ck.78s.js +0 -21
- package/app/apps/web/.next/server/chunks/packages_09wmnv.._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0g-tomj._.js +0 -3
- package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0~.f_3z._.js +0 -12
- package/app/apps/web/.next/static/chunks/02xxpexzk3rf-.js +0 -1
- package/app/apps/web/.next/static/chunks/044mtrzh7d7va.js +0 -10
- package/app/apps/web/.next/static/chunks/05-k9oryi9wz1.js +0 -14
- package/app/apps/web/.next/static/chunks/05b0dn.r00hq1.js +0 -1
- package/app/apps/web/.next/static/chunks/0t2on1dhydyb2.css +0 -1
- package/app/apps/web/.next/static/chunks/0tliv91mhmrzn.js +0 -1
- /package/app/apps/web/.next/static/{5IC6kxw0JoPeCIPdnTpEp → bTww6lPxII4wde65VQDrF}/_buildManifest.js +0 -0
- /package/app/apps/web/.next/static/{5IC6kxw0JoPeCIPdnTpEp → bTww6lPxII4wde65VQDrF}/_clientMiddlewareManifest.js +0 -0
- /package/app/apps/web/.next/static/{5IC6kxw0JoPeCIPdnTpEp → bTww6lPxII4wde65VQDrF}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[39587,e=>{"use strict";let t={kind:"claude-code",displayName:"Claude Code",shortLabel:"Claude",accentColor:"var(--af-accent)",iconChar:"✦"},i={kind:"codex",displayName:"Codex (OpenAI)",shortLabel:"Codex",accentColor:"rgb(16, 163, 127)",iconChar:"◆"},s={kind:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"},n={kind:"antigravity",displayName:"Antigravity",shortLabel:"Agy",accentColor:"rgb(236, 72, 153)",iconChar:"⏃"},a={kind:"cowork",displayName:"Cowork",shortLabel:"Cowork",accentColor:"rgb(217, 119, 87)",iconChar:"⌘"},r=[t,i,s,n,a,{kind:"zai",displayName:"Z.ai",shortLabel:"Z.ai",accentColor:"rgb(59, 130, 246)",iconChar:"Z"}];r.map(e=>e.kind),e.s(["ANTIGRAVITY_METADATA",0,n,"CLAUDE_CODE_METADATA",0,t,"CODEX_METADATA",0,i,"COWORK_METADATA",0,a,"GEMINI_METADATA",0,s,"agentMetadata",0,r])},79357,e=>{"use strict";let t={input:0,output:0,cacheRead:0,cacheWrite:0},i=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],s=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/;function n(e){for(let t of i){let i=e.lastIndexOf(t);if(i>=0)return{idx:i,marker:t}}return null}function a(e){let t=s.exec(e);if(!t)return null;let i=t[1],n=+!!t[0].endsWith("/");return{canonicalEndIdx:t.index+t[0].length-i.length-1-n,workspaceName:i}}let r="/.superset/worktrees/",o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function l(e){let t=e.indexOf(r);if(t<0)return null;let i=e.slice(t+r.length).split("/").filter(Boolean);if(0===i.length)return null;let s=o.test(i[0])?i[1]??i[0]:i[0];return{canonical:e.slice(0,t)+r+s,workspaceName:s}}function u(e){let t=e.replace(/\/{2,}/g,"/"),i=n(t);if(i)return t.slice(0,i.idx);let s=a(t);if(s)return t.slice(0,s.canonicalEndIdx);let r=l(t);return r?r.canonical:t}function c(e){let t=e.replace(/\/{2,}/g,"/"),i=n(t);if(i){let e=t.slice(i.idx+i.marker.length),s=e.indexOf("/");return s>=0?e.slice(0,s):e}let s=a(t);if(s)return s.workspaceName;let r=l(t);return r?r.workspaceName:null}function p(e){let t=u(e),i=t.replace(/\/+$/,"").split("/").filter(Boolean);return i[i.length-1]||t}function f(e){let i={sessionCount:e.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...t},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let t of e)i.totalDurationMs+=t.durationMs??0,i.totalAirTimeMs+=t.airTimeMs??t.durationMs??0,i.totalTokens.input+=t.totalUsage.input,i.totalTokens.output+=t.totalUsage.output,i.totalTokens.cacheRead+=t.totalUsage.cacheRead,i.totalTokens.cacheWrite+=t.totalUsage.cacheWrite,i.totalToolCalls+=t.toolCallCount??0,i.totalTurns+=t.turnCount??0,i.totalLinesAdded+=t.linesAdded??0,i.totalLinesRemoved+=t.linesRemoved??0,i.totalFilesEdited+=t.filesEdited??0;return e.length>0&&(i.avgTurnsPerSession=i.totalTurns/e.length,i.avgDurationMs=i.totalDurationMs/e.length),i}e.s(["canonicalProjectName",0,u,"computeBurstsFromSessions",0,function(e,t={}){let i=[];for(let t of e)t.activeSegments&&0!==t.activeSegments.length&&i.push({id:t.id,projectDir:t.projectDir,segments:t.activeSegments});return function(e,t){let i=t.minDurationMs??6e4,s=t.mergeGapMs??6e5,n=t.minActive??2,a=[];for(let t of e)for(let e of t.segments)e.endMs<=e.startMs||(a.push({ms:e.startMs,delta:1,sessionId:t.id}),a.push({ms:e.endMs,delta:-1,sessionId:t.id}));a.sort((e,t)=>e.ms-t.ms||t.delta-e.delta);let r=new Map,o=[],l=null;for(let e of a){if(1===e.delta)r.set(e.sessionId,(r.get(e.sessionId)??0)+1);else{let t=(r.get(e.sessionId)??0)-1;t<=0?r.delete(e.sessionId):r.set(e.sessionId,t)}let t=r.size;if(t>=n)if(l)for(let i of(l.endMs=e.ms,t>l.peak&&(l.peak=t),r.keys()))l.sessionIds.add(i);else l={startMs:e.ms,endMs:e.ms,peak:t,sessionIds:new Set(r.keys())};else l&&(l.endMs=e.ms,o.push(l),l=null)}l&&o.push(l);let u=o.filter(e=>e.endMs-e.startMs>=i),c=[];for(let e of u){let t=c[c.length-1];if(t&&e.startMs-t.endMs<=s)for(let i of(t.endMs=e.endMs,e.peak>t.peak&&(t.peak=e.peak),e.sessionIds))t.sessionIds.add(i);else c.push({startMs:e.startMs,endMs:e.endMs,peak:e.peak,sessionIds:new Set(e.sessionIds)})}let p=new Map;for(let t of e)p.set(t.id,t.projectDir);return c.map(e=>{let t=Array.from(new Set(Array.from(e.sessionIds).map(e=>p.get(e)).filter(e=>!!e)));return{startMs:e.startMs,endMs:e.endMs,peak:e.peak,sessionIds:Array.from(e.sessionIds),projectDirs:t,crossProject:t.length>1}})}(i,t)},"groupByProject",0,function(e){let t=new Map,i=function(e){let t=new Map;for(let i of e)i.repoName&&t.set(p(i.projectName),i.repoName);return e=>e.repoName??t.get(p(e.projectName))??p(e.projectName)}(e);for(let s of e){let e=i(s),n=t.get(e);n||(n={projectDir:e,projectName:e,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:f([]),perAgent:[],lastActiveMs:void 0},t.set(e,n)),n.sessions.push(s),n.rawProjectDirs.includes(s.projectDir)||n.rawProjectDirs.push(s.projectDir);let a=s.lastTimestamp?Date.parse(s.lastTimestamp):void 0;a&&(!n.lastActiveMs||a>n.lastActiveMs)&&(n.lastActiveMs=a)}for(let e of t.values()){e.metrics=f(e.sessions);let t=new Set;for(let i of e.sessions){let e=i.worktreeName??c(i.projectName)??(i.cwd?c(i.cwd):null);e&&t.add(e)}e.worktreeCount=t.size;let i=new Map;for(let t of e.sessions){let e=t.agent??"claude-code",s=i.get(e);s||(s={agent:e,sessions:0},i.set(e,s)),s.sessions+=1}e.perAgent=Array.from(i.values()).sort((e,t)=>t.sessions-e.sessions)}return Array.from(t.values()).sort((e,t)=>(t.lastActiveMs??0)-(e.lastActiveMs??0))},"projectKey",0,p,"toLocalDay",0,function(e){let t=new Date(e),i=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${i}-${s}-${n}`},"worktreeName",0,c])},36521,e=>{"use strict";let t=[/<system_instruction\b[^>]*>[\s\S]*?<\/system_instruction>\s*/gi],i=["<command-name>","<local-command-stdout>","<local-command-caveat>","<task-notification>","Base directory for this skill:","This session is being continued from a previous conversation","A session-scoped Stop hook is now active"];function s(e){if(!e)return e;let i=e;for(let e of t)i=i.replace(e,"");return i.trim()}e.s(["isFrameworkInjectedUserInput",0,function(e){if(!e)return!1;let t=s(e);if(!t)return!0;for(let e of i)if(t.startsWith(e))return!0;return!1},"stripFrameworkBoilerplate",0,s])},43427,20629,e=>{"use strict";let t;e.s(["appendUsageSnapshot",()=>e1,"cclensHome",()=>eK,"cclensPath",()=>eY,"getAnySession",()=>eX,"invalidateFile",()=>eZ,"listAllSessions",()=>eV,"pruneUsageAgent",()=>e2],43427);var i=e.i(2157),s=e.i(60526),n=e.i(50227),a=e.i(39587),r=e.i(36521),o=e.i(79357);let l={input:0,output:0,cacheRead:0,cacheWrite:0};function u(e,t=200){let i=e.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return i.length>t?i.slice(0,t-1)+"…":i}let c=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function p(e){let t=e.match(c);if(!t)return;let i=t[1],s=t[2].trim(),n="message";if(s.startsWith("{"))try{let e=JSON.parse(s);"idle_notification"===e.type?n="idle-notification":"shutdown_request"===e.type?n="shutdown-request":"shutdown_approved"===e.type?n="shutdown-approved":"task_assignment"===e.type?n="task-assignment":"teammate_terminated"===e.type&&(n="teammate-terminated")}catch{}return{teammateId:i,body:s,kind:n}}function f(e){if(!e||"object"!=typeof e)return;let t=e=>"number"==typeof e?e:0;return{input:t(e.input_tokens),output:t(e.output_tokens),cacheRead:t(e.cache_read_input_tokens),cacheWrite:t(e.cache_creation_input_tokens)}}function m(e){let t,i,s,n,a,c,m,d,g,y,h,w=[];for(let t=0;t<e.length;t++){let i=function(e,t){if(!e||"object"!=typeof e)return null;let i=String(e.type??""),s=e.uuid,n=e.parentUuid??null,a=e.timestamp;if("assistant"===i){let r,o,l,c=e.message??{},p=c.content??[],m=f(c.usage),d=c.model,g=e.requestId,y=c.id,h=c.stop_reason,w=p[0],M="agent";return w?.type==="thinking"?(M="agent-thinking",r="[thinking] "+u(w.thinking,140)):w?.type==="tool_use"?(M="tool-call",o=w.name,l=w.id,r=`${w.name} `+u(JSON.stringify(w.input??{}),100)):r=w?.type==="text"?u(w.text,200):`<assistant:${w?.type??"empty"}>`,{index:t,uuid:s,parentUuid:n,timestamp:a,role:M,rawType:i,preview:r,blocks:p,usage:m,model:d,requestId:g,messageId:y,stopReason:h,toolName:o,toolUseId:l,raw:e}}if("user"===i){let o=(e.message??{}).content;if("string"==typeof o){let l=(0,r.stripFrameworkBoilerplate)(o),c=p(l);return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:u(l,200),blocks:l?[{type:"text",text:l}]:[],raw:e,teammateMessage:c}}if(Array.isArray(o)){let l=o[0];if(l?.type==="tool_result")return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"tool-result",rawType:i,preview:u("string"==typeof l.content?l.content:JSON.stringify(l.content),200),blocks:o,toolUseId:l.tool_use_id,toolResult:e.toolUseResult,raw:e};let c=o.find(e=>e?.type==="text"),f=c?(0,r.stripFrameworkBoilerplate)(c.text):"",m=c?o.map(e=>e===c?{type:"text",text:f}:e):o,d=f?p(f):void 0;return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:f?u(f,200):u(JSON.stringify(o),200),blocks:m,raw:e,teammateMessage:d}}}if("attachment"===i){let r=e.attachment??{},o=String(r.type??"attachment"),l=`<attachment: ${o}>`;return"string"==typeof r.content&&r.content.length>0?l=`[${o}] `+u(r.content,140):Array.isArray(r.addedNames)&&(l=`[${o}] +${r.addedNames.length} names`),{index:t,uuid:s,parentUuid:n,timestamp:a,role:"system",rawType:i,preview:l,blocks:[{type:"text",text:JSON.stringify(r,null,2)}],attachmentType:o,raw:e}}return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"meta",rawType:i||"unknown",preview:`${i}: ${u(JSON.stringify(e),140)}`,blocks:[{type:"text",text:JSON.stringify(e,null,2)}],raw:e}}(e[t],t);i&&w.push(i)}for(let e of w){if(!e.timestamp)continue;let s=Date.parse(e.timestamp);!Number.isNaN(s)&&((void 0===t||s<t)&&(t=s),(void 0===i||s>i)&&(i=s))}let M=void 0!==t?new Date(t).toISOString():void 0,v=void 0!==i?new Date(i).toISOString():void 0;for(let e of w){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isNaN(i)||void 0!==t&&(e.tOffsetMs=Math.max(0,i-t))}let k=w.filter(e=>{let t;return e.timestamp&&("user"===(t=e.role)||"agent"===t||"agent-thinking"===t||"tool-call"===t||"tool-result"===t)}).map(e=>({e,ms:Date.parse(e.timestamp)})).filter(e=>!Number.isNaN(e.ms)).sort((e,t)=>e.ms-t.ms);for(let e=1;e<k.length;e++)k[e].e.gapMs=Math.max(0,k[e].ms-k[e-1].ms);let _=w.filter(e=>e.timestamp).map(e=>Date.parse(e.timestamp)).filter(e=>!Number.isNaN(e)).sort((e,t)=>e-t),N=[],j=0;if(_.length>0){let e=_[0],t=_[0];for(let i=1;i<_.length;i++){let s=_[i],n=s-t;n>18e4?(N.push({startMs:e,endMs:t}),e=s):n>0&&(j+=n),t=s}N.push({startMs:e,endMs:t})}let T=new Map,b=[];for(let e of w){if(!e.timestamp)continue;let t=Date.parse(e.timestamp);if(!Number.isNaN(t)){if("assistant"===e.rawType&&e.usage&&e.messageId){let i=T.get(e.messageId);i?(i.siblings.push(e),t<i.ms&&(i.rep=e,i.ms=t)):T.set(e.messageId,{rep:e,ms:t,siblings:[e]})}else if("system"===e.rawType){let i=e.raw;if(i?.subtype!=="compact_boundary")continue;let s=i.compactMetadata??{};b.push({ms:t,trigger:"manual"===s.trigger?"manual":"auto",preTokens:"number"==typeof s.preTokens?s.preTokens:0})}}}let A=[...T.values()].sort((e,t)=>e.ms-t.ms);b.sort((e,t)=>e.ms-t.ms);let S=0,x=0,I=(e,t)=>{for(let i of e.siblings)i.coldResume=t;S++,x+=t.writeTokens},C=new Set;for(let e of b){let t,i=A.find(t=>t.ms>e.ms&&(t.rep.usage?.cacheWrite??0)>=1e3);if(!i)continue;for(let i=A.length-1;i>=0;i--)if(A[i].ms<=e.ms){t=A[i].ms;break}let s=i.rep.usage,n=s.cacheWrite+s.cacheRead;I(i,{trigger:"compact",gapMs:void 0!==t?i.ms-t:0,writeTokens:s.cacheWrite,writeRatio:n>0?s.cacheWrite/n:0,compact:{trigger:e.trigger,preTokens:e.preTokens}}),C.add(i.rep.messageId)}for(let e=1;e<A.length;e++){let t=A[e-1],i=A[e];if(C.has(i.rep.messageId))continue;let s=i.rep.usage,n=s.cacheWrite+s.cacheRead,a=n>0?s.cacheWrite/n:0,r=i.ms-t.ms;r>3e5&&s.cacheWrite>=1e3&&a>=.3&&I(i,{trigger:"idle",gapMs:r,writeTokens:s.cacheWrite,writeRatio:a})}let D={...l},P=new Set,R="",$=!1,O=!1,U=0,F=0,B=0,z=0,W=new Set,E=new Map,L=void 0!==t?(0,o.toLocalDay)(t):void 0,J=e=>{let t;if(e){let i=Date.parse(e);Number.isNaN(i)||(t=(0,o.toLocalDay)(i))}if(!(t=t??L))return;let i=E.get(t);return i||(i={toolCalls:0,turns:0,tokens:{...l}},E.set(t,i)),i};for(let e of w){if("tool-call"===e.role){U++;let t=J(e.timestamp);t&&t.toolCalls++;let i=e.blocks.find(e=>e&&"tool_use"===e.type);if(i){let e=i.input??{};if("TeamCreate"===i.name&&($=!0),"SendMessage"===i.name){let t="string"==typeof e.to?e.to:"";t&&"team-lead"!==t&&(O=!0)}let t="string"==typeof e.file_path?e.file_path:void 0;if("Edit"===i.name&&t){W.add(t);let i="string"==typeof e.old_string?e.old_string:"",s="string"==typeof e.new_string?e.new_string:"",n=i?i.split("\n").length:0,a=s?s.split("\n").length:0;B+=Math.max(0,a-n),z+=Math.max(0,n-a)}else if("Write"===i.name&&t){W.add(t);let i="string"==typeof e.content?e.content:"";B+=i?i.split("\n").length:0}}}if("user"===e.role){let t=function(e){let t=e?.content;if("string"==typeof t)return t;if(Array.isArray(t)){for(let e of t)if(e&&"object"==typeof e&&"text"===e.type&&"string"==typeof e.text)return e.text}return""}(e.raw?.message),i=(0,r.isFrameworkInjectedUserInput)(t),s=void 0!==e.teammateMessage&&!d;if(!i&&!s){g||(g=e.teammateMessage?e.teammateMessage.body:e.preview),F++;let t=J(e.timestamp);t&&t.turns++,h=e.preview}}"agent"===e.role&&(y=e.preview)}for(let t of e)if(t&&"object"==typeof t&&("string"!=typeof t.sessionId||R||(R=t.sessionId),"string"!=typeof t.cwd||n||(n=t.cwd),"string"!=typeof t.gitBranch||a||(a=t.gitBranch),"string"!=typeof t.entrypoint||c||(c=t.entrypoint),"string"!=typeof t.teamName||m||(m=t.teamName),"string"!=typeof t.agentName||d||(d=t.agentName),"assistant"===t.type)){let e=t.message;if(e){"string"!=typeof e.model||s||(s=e.model);let i="string"==typeof e.id?e.id:void 0;if(i&&P.has(i))continue;i&&P.add(i);let n=f(e.usage);if(n){D.input+=n.input,D.output+=n.output,D.cacheRead+=n.cacheRead,D.cacheWrite+=n.cacheWrite;let e=J("string"==typeof t.timestamp?t.timestamp:void 0);e&&(e.tokens.input+=n.input,e.tokens.output+=n.output,e.tokens.cacheRead+=n.cacheRead,e.tokens.cacheWrite+=n.cacheWrite)}}}return{events:w,meta:{sessionId:R,firstTimestamp:M,lastTimestamp:v,durationMs:void 0!==t&&void 0!==i?i-t:void 0,eventCount:w.length,model:s,cwd:n,gitBranch:a,entrypoint:c,totalUsage:D,status:"idle",firstUserPreview:g,lastUserPreview:h,lastAgentPreview:y,toolCallCount:U,turnCount:F,dailyBreakdown:Array.from(E.entries()).map(([e,t])=>({day:e,toolCalls:t.toolCalls,turns:t.turns,tokens:t.tokens})).sort((e,t)=>e.day.localeCompare(t.day)),airTimeMs:j,activeSegments:N,linesAdded:B,linesRemoved:z,filesEdited:W.size,coldResumeCount:S,cacheRebuildTokens:x,teamName:m,agentName:d,isTeamLead:void 0!==m&&void 0===d&&($||O)}}}let d=/^(?:(?:https?|ssh|git):\/\/)?(?:[^@/]+@)?([^/:]+)[:/](.+?)(?:\.git)?\/?$/;function g(e){try{return(0,i.realpathSync)(e)}catch{return e}}function y(e){let t=g(e.replace(/\/{2,}/g,"/"));try{let e=function(e){let t;if(!e||!(0,n.isAbsolute)(e))return null;let a=(t=g((0,s.homedir)()),e===t||e.startsWith(`${t}/`)?t:void 0);for(let t=e.replace(/\/+$/,"")||e;;t=(0,n.dirname)(t)){if(t===a)return null;let e=function(e){let t=(0,n.join)(e,".git"),s=(0,i.statSync)(t,{throwIfNoEntry:!1});if(!s)return null;if(s.isDirectory())return{root:e,gitDir:t,commonDir:t};let a=function(e,t){let i=t.match(/^gitdir:\s*(.+)\s*$/m);if(!i)return;let s=i[1].trim();return(0,n.isAbsolute)(s)?s:(0,n.resolve)(e,s)}(e,(0,i.readFileSync)(t,"utf8"));return a?{root:e,gitDir:a,commonDir:function(e){let t=(0,n.join)(e,"commondir");if(!(0,i.existsSync)(t))return;let s=(0,i.readFileSync)(t,"utf8").trim();if(s)return(0,n.isAbsolute)(s)?s:(0,n.resolve)(e,s)}(a)}:{root:e}}(t);if(e)return e;if((0,n.dirname)(t)===t)return null}}(t);if(e){let s=g(function(e){if(e)return".git"===(0,n.basename)(e)?(0,n.dirname)(e):void 0}(e.commonDir)??e.root),a=g(e.root),r=s!==a?(0,o.worktreeName)(t)??(0,n.basename)(e.root):void 0,l={projectName:s};r&&(l.worktreeName=r);let u=function(e){let t=e.commonDir??e.gitDir;if(!t)return;let s=(0,n.join)(t,"config");if(!(0,i.existsSync)(s))return;let a=function(e){let t=!1;for(let i of e.split("\n")){let e=i.trim();if(e.startsWith("[")){t=/^\[remote\s+"origin"\]/.test(e);continue}if(!t)continue;let s=e.match(/^url\s*=\s*(.+)$/);if(s)return s[1].trim()}}((0,i.readFileSync)(s,"utf8"));return a?function(e){let t=e.match(d);if(!t)return;let i=t[1],s=t[2].split("/").filter(Boolean);if(s.length<2)return;let n=s[s.length-1],a=s.slice(0,-1).join("/");return{host:i,owner:a,name:n,url:e,webUrl:`https://${i}/${a}/${n}`}}(a):void 0}(e);return u&&(l.remote=u,l.repoName=u.name),l}}catch{}let a=(0,o.canonicalProjectName)(t),r=(0,o.worktreeName)(t)??void 0;return r?{projectName:a,worktreeName:r}:{projectName:a}}let h=n.default.join(s.default.homedir(),".claude","projects");function w(e){return e.startsWith("-")?"/"+e.slice(1).replace(/-/g,"/"):e}let M=n.default.join(s.default.homedir(),".cclens","runtime").replace(/[/.]/g,"-");async function v(e){let t=await i.promises.readFile(e,"utf8"),s=[];for(let e of t.split("\n")){let t=e.trim();if(t)try{s.push(JSON.parse(t))}catch{}}return s}function k(e){return e.replace(/\.jsonl$/i,"")}let _=new Map,N=new Map,j=new Map,T=null;function b(e){_.delete(e),N.delete(e),j.delete(e),T=null}async function A(e=h){let t;if(T&&T.root===e&&Date.now()-T.capturedAtMs<1e3)return T.files;try{t=await i.promises.readdir(e,{withFileTypes:!0})}catch{return[]}let s=t.filter(e=>e.isDirectory()&&e.name!==M).map(e=>e.name),a=(await Promise.all(s.map(async t=>{let s,a=n.default.join(e,t);try{s=await i.promises.readdir(a)}catch{return[]}let r=s.filter(e=>e.endsWith(".jsonl"));return(await Promise.all(r.map(async e=>{let s=n.default.join(a,e);try{let n=await i.promises.stat(s);return{projectDir:t,fileName:e,fullPath:s,mtimeMs:n.mtimeMs,sizeBytes:n.size}}catch{return null}}))).filter(e=>null!==e)}))).flat();return T={files:a,capturedAtMs:Date.now(),root:e},a}let S={input:0,output:0,cacheRead:0,cacheWrite:0};function x(e,t,i,s,n){for(let a of e){if(!a||"object"!=typeof a||"assistant"!==a.type)continue;let e=a.message;if(!e)continue;let r="string"==typeof e.id?e.id:void 0,l="string"==typeof a.requestId?a.requestId:void 0,u=null!=r&&null!=l?`${r}:${l}`:void 0;if(u&&t.has(u))continue;u&&t.add(u);let c=e.usage;if(c){let e=e=>"number"==typeof e?e:0,t=e(c.input_tokens),r=e(c.output_tokens),l=e(c.cache_read_input_tokens),u=e(c.cache_creation_input_tokens);if(i.input+=t,i.output+=r,i.cacheRead+=l,i.cacheWrite+=u,s){let e,i="string"==typeof a.timestamp?a.timestamp:void 0;if(i){let t=Date.parse(i);Number.isNaN(t)||(e=(0,o.toLocalDay)(t))}if(e=e??n){let i=s.get(e);i||(i={...S},s.set(e,i)),i.input+=t,i.output+=r,i.cacheRead+=l,i.cacheWrite+=u}}}}}async function I(e,t,s,a){let r,o={...S},l=new Set,u=new Map;x(e,l,o,u,a);let c=n.default.join(t,s,"subagents");try{r=await i.promises.readdir(c)}catch{return{usage:o,perDay:u}}let p=r.filter(e=>e.endsWith(".jsonl"));return 0===p.length||await Promise.all(p.map(async e=>{try{let t=await v(n.default.join(c,e));x(t,l,o,u,a)}catch{}})),{usage:o,perDay:u}}async function C(e,t){let s,a=n.default.join(e,t,"workflows");try{s=await i.promises.readdir(a)}catch{return{workflowCount:0,spawnedAgentCount:0,spans:[]}}let r=s.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===r.length)return{workflowCount:0,spawnedAgentCount:0,spans:[]};let o=0,l=[];return{workflowCount:(await Promise.all(r.map(async e=>{try{let t=JSON.parse(await i.promises.readFile(n.default.join(a,e),"utf8"));return"number"==typeof t.agentCount&&(o+=t.agentCount),"number"==typeof t.startTime&&"number"==typeof t.durationMs&&t.durationMs>0&&l.push({startMs:t.startTime,endMs:t.startTime+t.durationMs}),!0}catch{return!1}}))).filter(Boolean).length,spawnedAgentCount:o,spans:l}}async function D(e,t){let s;try{s=await i.promises.readdir(e,{withFileTypes:!0})}catch{return 0}return(await Promise.all(s.map(async s=>{let a=n.default.join(e,s.name);try{if(s.isDirectory())return t>0?await D(a,t-1):0;return(await i.promises.stat(a)).mtimeMs}catch{return 0}}))).reduce((e,t)=>Math.max(e,t),0)}async function P(e,t){let i=n.default.join(e,t),[s,a]=await Promise.all([D(n.default.join(i,"subagents"),2),D(n.default.join(i,"workflows"),0)]),r=Math.max(s,a);return r>0?r:void 0}async function R(e,t){let i=await P(n.default.dirname(t.fullPath),e.id),s=e.lastTimestamp?Date.parse(e.lastTimestamp):0,a=Math.max(Number.isFinite(s)?s:0,i??0);return a>0?{...e,lastActivityMs:a}:e}function $(e,t){if(0===t.length)return{};let i=[...e??[],...t].filter(e=>e.endMs>e.startMs).sort((e,t)=>e.startMs-t.startMs);if(0===i.length)return{};let s=[{...i[0]}];for(let e=1;e<i.length;e++){let t=i[e],n=s[s.length-1];t.startMs<=n.endMs?n.endMs=Math.max(n.endMs,t.endMs):s.push({...t})}let n=s.reduce((e,t)=>e+(t.endMs-t.startMs),0);return{activeSegments:s,airTimeMs:n}}async function O(e,t,i){let s=k(i.fileName),a=n.default.dirname(i.fullPath),r=e.firstTimestamp?(0,o.toLocalDay)(Date.parse(e.firstTimestamp)):void 0,{usage:l,perDay:u}=await I(t,a,s,r);e.totalUsage=l,e.dailyBreakdown=function(e,t,i){let s=new Map((e??[]).map(e=>[e.day,e])),n=[...new Set([...s.keys(),...t.keys()])].sort((e,t)=>e.localeCompare(t)).map(e=>({day:e,toolCalls:s.get(e)?.toolCalls??0,turns:s.get(e)?.turns??0,tokens:{...t.get(e)??S}}));if(n.length>0){let e=n.reduce((e,t)=>({input:e.input+t.tokens.input,output:e.output+t.tokens.output,cacheRead:e.cacheRead+t.tokens.cacheRead,cacheWrite:e.cacheWrite+t.tokens.cacheWrite}),{...S}),t=n[0].tokens;t.input+=i.input-e.input,t.output+=i.output-e.output,t.cacheRead+=i.cacheRead-e.cacheRead,t.cacheWrite+=i.cacheWrite-e.cacheWrite}return n}(e.dailyBreakdown,u,l)}async function U(e){let t=_.get(e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.meta;try{let t=await v(e.fullPath),{meta:i}=m(t);await O(i,t,e);let s=k(e.fileName),a=n.default.dirname(e.fullPath),r=await C(a,s),o=i.cwd??w(e.projectDir),l=y(o),u={...i,id:s,filePath:e.fullPath,projectDir:e.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,...r.workflowCount>0?{workflowCount:r.workflowCount,spawnedAgentCount:r.spawnedAgentCount}:{},...$(i.activeSegments,r.spans)};return _.set(e.fullPath,{meta:u,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),u}catch{return null}}async function F(e){let t=N.get(e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.detail;try{let t=await v(e.fullPath),{meta:i,events:s}=m(t),a=k(e.fileName);await O(i,t,e);let r=await C(n.default.dirname(e.fullPath),a),o=i.cwd??w(e.projectDir),l=y(o),u={...i,id:a,filePath:e.fullPath,projectDir:e.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,events:s,...r.workflowCount>0?{workflowCount:r.workflowCount,spawnedAgentCount:r.spawnedAgentCount}:{},...$(i.activeSegments,r.spans)};N.set(e.fullPath,{detail:u,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes});let c={...u};return delete c.events,_.set(e.fullPath,{meta:c,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),u}catch{return null}}async function B(e={}){let{root:t=h,limit:i=500,projectDir:s}=e,n=await A(t);s&&(n=n.filter(e=>e.projectDir===s)),n.sort((e,t)=>t.mtimeMs-e.mtimeMs);let a=n.slice(0,i);return(await Promise.all(a.map(async e=>{let t=await U(e);return t?R(t,e):null}))).filter(e=>null!==e)}async function z(e,t={}){let{root:i=h}=t,s=(await A(i)).find(t=>k(t.fileName)===e);if(!s)return null;let a=await F(s);if(!a)return a;let r=a.firstTimestamp?Date.parse(a.firstTimestamp):void 0,o=n.default.join(n.default.dirname(s.fullPath),k(s.fileName),"subagents"),l=n.default.join(n.default.dirname(s.fullPath),k(s.fileName),"workflows"),[u,c]=await Promise.all([E(o,r,a.events),L(l,r,a.events)]),p=c.reduce((e,t)=>e+t.agentCount,0);return R({...a,subagents:u,workflows:c,...c.length>0?{workflowCount:c.length,spawnedAgentCount:p}:{}},s)}function W(e){let t,i,s,n,a,r={...S},o=new Set,l=0,u=0,c=0,p=new Map;for(let f of e){if(!f||"object"!=typeof f)continue;l++;let e="string"==typeof f.timestamp?Date.parse(f.timestamp):NaN;if(!Number.isNaN(e)&&((void 0===t||e<t)&&(t=e),(void 0===i||e>i)&&(i=e)),void 0===a&&"user"===f.type&&(null===f.parentUuid||void 0===f.parentUuid)){let e=f.message,t=e?.content;if("string"==typeof t)a=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(a=e.text)}}if("assistant"===f.type){let e=f.message;if(!e)continue;n||"string"!=typeof e.model||(n=e.model);let t="string"==typeof e.id?e.id:void 0,i="string"==typeof f.requestId?f.requestId:void 0,a=null!=t&&null!=i?`${t}:${i}`:void 0,l=!a||!o.has(a);if(a&&l&&o.add(a),l){u++;let t=e.usage;if(t){let e=e=>"number"==typeof e?e:0;r.input+=e(t.input_tokens),r.output+=e(t.output_tokens),r.cacheRead+=e(t.cache_read_input_tokens),r.cacheWrite+=e(t.cache_creation_input_tokens)}}let m=e.content;if(Array.isArray(m))for(let e of m)e&&"object"==typeof e&&("text"===e.type&&"string"==typeof e.text?s=e.text:"tool_use"===e.type&&"string"==typeof e.name&&(c++,p.set(e.name,(p.get(e.name)??0)+1)))}}let f=Array.from(p.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count);return{startMs:t,endMs:i,totalUsage:r,eventCount:l,finalPreview:void 0!==s?s.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:s,model:n,toolCalls:f,toolCallCount:c,assistantMessageCount:u,initialPrompt:a}}async function E(e,t,s){let a;try{a=await i.promises.readdir(e)}catch{return[]}let r=new Map,o=[];for(let e of s)if("tool-call"===e.role&&"Agent"===e.toolName)for(let t of e.blocks){if(t?.type!=="tool_use"||"Agent"!==t.name)continue;let i=t.input??{},s="string"==typeof i.description?i.description:void 0,n=e.timestamp?Date.parse(e.timestamp):void 0,a={toolUseId:t.id,parentUuid:e.uuid??"",runInBackground:!0===i.run_in_background,prompt:"string"==typeof i.prompt?i.prompt:void 0,tsMs:n};s&&r.set(s,a),void 0!==n&&o.push(a)}o.sort((e,t)=>(e.tsMs??0)-(t.tsMs??0));let l=a.filter(e=>e.startsWith("agent-")&&e.endsWith(".jsonl"));return(await Promise.all(l.map(async s=>{let a,l=s.replace(/^agent-/,"").replace(/\.jsonl$/,""),u=n.default.join(e,s),c=n.default.join(e,`agent-${l}.meta.json`),p={};try{let e=await i.promises.readFile(c,"utf8");p=JSON.parse(e)}catch{}try{a=await v(u)}catch{return null}let f=W(a),m=p.description&&p.description.trim().length>0?p.description:void 0,d=m?r.get(m):function(e){let t;if(void 0===e)return;let i=1/0;for(let s of o){if(void 0===s.tsMs)continue;let n=Math.abs(e-s.tsMs);n<i&&n<=2e3&&(t=s,i=n)}return t}(f.startMs),g=m??(f.initialPrompt?f.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),y=d?.prompt??f.initialPrompt,h=void 0!==t&&void 0!==f.startMs?Math.max(0,f.startMs-t):void 0,w=void 0!==t&&void 0!==f.endMs?Math.max(0,f.endMs-t):void 0,M=void 0!==f.startMs&&void 0!==f.endMs?f.endMs-f.startMs:void 0;return{agentId:l,agentType:p.agentType??"unknown",description:g,startMs:f.startMs,endMs:f.endMs,durationMs:M,startTOffsetMs:h,endTOffsetMs:w,eventCount:f.eventCount,totalUsage:f.totalUsage,parentUuid:d?.parentUuid,parentToolUseId:d?.toolUseId,runInBackground:d?.runInBackground,prompt:y,finalPreview:f.finalPreview,finalText:f.finalText,model:f.model,toolCalls:f.toolCalls,toolCallCount:f.toolCallCount,assistantMessageCount:f.assistantMessageCount}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function L(e,t,s){let a;try{a=await i.promises.readdir(e)}catch{return[]}let r=a.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===r.length)return[];let o=[];for(let e of s){if("tool-call"!==e.role||"Workflow"!==e.toolName)continue;let t=e.timestamp?Date.parse(e.timestamp):NaN;if(!Number.isNaN(t))for(let i of e.blocks)i?.type==="tool_use"&&"Workflow"===i.name&&o.push({toolUseId:i.id,parentUuid:e.uuid??"",tsMs:t})}o.sort((e,t)=>e.tsMs-t.tsMs);let l=e=>"number"==typeof e?e:void 0,u=e=>"string"==typeof e&&e.length>0?e:void 0;return(await Promise.all(r.map(async s=>{let a;try{a=JSON.parse(await i.promises.readFile(n.default.join(e,s),"utf8"))}catch{return null}let r=u(a.runId)??s.replace(/\.json$/,""),c=l(a.startTime),p=l(a.durationMs),f=void 0!==c&&void 0!==p?c+p:void 0,m=void 0!==t&&void 0!==c?Math.max(0,c-t):void 0,d=void 0!==t&&void 0!==f?Math.max(0,f-t):void 0,g=Array.isArray(a.phases)?a.phases.filter(e=>!!e&&"object"==typeof e&&"string"==typeof e.title).map(e=>({title:e.title,detail:u(e.detail)})):[],y=Array.isArray(a.logs)?a.logs.filter(e=>"string"==typeof e):[],h=(e,t)=>{let i=u(e);return void 0===i?void 0:i.length>t?i.slice(0,t)+"…":i},w=(Array.isArray(a.workflowProgress)?a.workflowProgress:[]).filter(e=>!!e&&"object"==typeof e&&"workflow_agent"===e.type).map(e=>({index:l(e.index)??0,label:u(e.label)??"(agent)",phaseIndex:l(e.phaseIndex),phaseTitle:u(e.phaseTitle),agentId:u(e.agentId),model:u(e.model),state:u(e.state),startedAt:l(e.startedAt),durationMs:l(e.durationMs),tokens:l(e.tokens),toolCalls:l(e.toolCalls),lastToolSummary:h(e.lastToolSummary,200),promptPreview:h(e.promptPreview,600),resultPreview:h(e.resultPreview,600)})).sort((e,t)=>e.index-t.index),M=(e=>{let t,i;if(void 0===e||0===o.length)return;let s=1/0,n=1/0;for(let a of o){let r=Math.abs(e-a.tsMs);!(r>6e4)&&(r<n&&(i=a,n=r),a.tsMs<=e&&r<s&&(t=a,s=r))}return t??i})(c);return{runId:r,name:u(a.workflowName)??r,description:u(a.summary),status:u(a.status)??"unknown",agentCount:l(a.agentCount)??0,toolCallCount:l(a.totalToolCalls)??0,totalTokens:l(a.totalTokens)??0,durationMs:p,startMs:c,endMs:f,startTOffsetMs:m,endTOffsetMs:d,model:u(a.defaultModel),phases:g,logs:y,agents:w,parentToolUseId:M?.toolUseId,parentUuid:M?.parentUuid}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function J(e,t,i,s={}){let a,r,o,l,u,c,{root:p=h}=s;if(!/^[\w.-]+$/.test(t)||!/^[\w.-]+$/.test(i))return null;let f=(await A(p)).find(t=>k(t.fileName)===e);if(!f)return null;let m=n.default.join(n.default.dirname(f.fullPath),e,"subagents","workflows",t,`agent-${i}.jsonl`);try{a=await v(m)}catch{return null}let d=new Set;for(let e of a){if(!e||"object"!=typeof e)continue;let t=e.message?.content;if(Array.isArray(t))for(let e of t)e&&"object"==typeof e&&"tool_result"===e.type&&!0===e.is_error&&"string"==typeof e.tool_use_id&&d.add(e.tool_use_id)}let g=[],y=new Map,w={...S},M=new Set,_=0,N=0;for(let e of a){if(!e||"object"!=typeof e)continue;N++;let t="string"==typeof e.timestamp?Date.parse(e.timestamp):NaN;if(!Number.isNaN(t)&&((void 0===u||t<u)&&(u=t),(void 0===c||t>c)&&(c=t)),void 0===r&&"user"===e.type&&(null===e.parentUuid||void 0===e.parentUuid)){let t=e.message?.content;if("string"==typeof t)r=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(r=e.text)}}if("assistant"!==e.type)continue;let i=e.message;if(!i)continue;l||"string"!=typeof i.model||(l=i.model);let s="string"==typeof i.id?i.id:void 0,n="string"==typeof e.requestId?e.requestId:void 0,a=null!=s&&null!=n?`${s}:${n}`:void 0,p=!a||!M.has(a);if(a&&p&&M.add(a),p){_++;let e=i.usage;if(e){let t=e=>"number"==typeof e?e:0;w.input+=t(e.input_tokens),w.output+=t(e.output_tokens),w.cacheRead+=t(e.cache_read_input_tokens),w.cacheWrite+=t(e.cache_creation_input_tokens)}}let f=i.content;if(Array.isArray(f)){for(let e of f)if(e&&"object"==typeof e){if("text"===e.type&&"string"==typeof e.text)o=e.text;else if("tool_use"===e.type&&"string"==typeof e.name&&(y.set(e.name,(y.get(e.name)??0)+1),g.length<2e3)){let t=function(e){if(!e||"object"!=typeof e)return"";let t=t=>"string"==typeof e[t]?e[t]:void 0;return t("command")??t("file_path")??t("path")??t("pattern")??t("url")??t("description")??t("query")??t("prompt")??t("old_string")??JSON.stringify(e)}(e.input),i=t.replace(/\s+/g," ").trim().slice(0,160),s=t.length>4e3?t.slice(0,4e3)+"…":t;g.push({index:g.length+1,tool:e.name,preview:i,full:s.length>i.length||s.includes("\n")?s:void 0,isError:"string"==typeof e.id&&d.has(e.id)})}}}}return{agentId:i,prompt:r,finalText:o,steps:g,toolCalls:Array.from(y.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count),toolCallCount:g.length,assistantMessageCount:_,eventCount:N,totalUsage:w,model:l,durationMs:void 0!==u&&void 0!==c?c-u:void 0}}let q={...a.CLAUDE_CODE_METADATA,defaultRoot:h,async listSessions(e){let t=await B(e);for(let e of t)e.agent||(e.agent="claude-code");return t},async getSession(e,t){let i=await z(e,t);return i&&!i.agent&&(i.agent="claude-code"),i}};e.s(["DEFAULT_ROOT",0,h,"claudeCodeSource",0,q,"getSession",0,z,"invalidateClaudeCodeFile",0,b,"listSessions",0,B,"loadWorkflowAgentDetail",0,J,"summarizeSubagentLines",0,W],20629);let G=n.default.join(s.default.homedir(),".codex","sessions"),H=/^rollout-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})-([0-9a-f-]+)\.jsonl$/;async function K(e){return i.promises.readdir(e).catch(()=>[])}async function Y(e){let t=[];for(let s of(await K(e))){if(!/^\d{4}$/.test(s))continue;let a=n.default.join(e,s);for(let e of(await K(a))){if(!/^\d{2}$/.test(e))continue;let s=n.default.join(a,e);for(let e of(await K(s))){if(!/^\d{2}$/.test(e))continue;let a=n.default.join(s,e);for(let e of(await K(a))){let s=H.exec(e);if(!s)continue;let r=n.default.join(a,e),o=await i.promises.stat(r).catch(()=>null);o&&t.push({filePath:r,sessionId:s[2],mtimeMs:o.mtimeMs,sizeBytes:o.size})}}}}return t}async function Z(e){let t=await i.promises.readFile(e,"utf8"),s=[];for(let e of t.split("\n")){let t=e.trim();if(t)try{s.push(JSON.parse(t))}catch{}}return s}function Q(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function V(e,t){let i,s,n,a,o,l,u,c=[],p={input:0,output:0,cacheRead:0,cacheWrite:0},f=0,m=0,d=[],g=0;for(let e of t){if("object"!=typeof e||null===e)continue;let t="string"==typeof e.timestamp?e.timestamp:void 0;if(t){i||(i=t),s=t;let e=Date.parse(t);Number.isFinite(e)&&d.push(e)}let y="string"==typeof e.type?e.type:"",w=e.payload??{},M="string"==typeof w.type?w.type:"";if("session_meta"===y){"string"==typeof w.cwd&&(n=w.cwd);continue}if("turn_context"===y){"string"==typeof w.cwd&&(n=w.cwd),"string"==typeof w.model&&(a=w.model);continue}if("event_msg"===y&&"token_count"===M){let e=w.info??null,t=e?.total_token_usage??null;t&&(p.input=X(t.input_tokens)??p.input,p.output=X(t.output_tokens)??p.output,p.cacheRead=X(t.cached_input_tokens)??p.cacheRead);continue}if("event_msg"===y&&"user_message"===M){let i="string"==typeof w.message?w.message:"",s=Q(i),n=(0,r.isFrameworkInjectedUserInput)(i);i&&!n&&(o||(o=s),l=s,m+=1),c.push({index:g++,timestamp:t,role:"user",rawType:"event_msg/user_message",preview:s,blocks:i?[{type:"text",text:i}]:[],raw:e});continue}if("event_msg"===y&&"agent_message"===M){let i="string"==typeof w.message?w.message:"",s=Q(i);i&&(u=s),c.push({index:g++,timestamp:t,role:"agent",rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"reasoning"===M){let i=(w.summary??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim();c.push({index:g++,timestamp:t,role:"agent-thinking",rawType:"response_item/reasoning",preview:Q(i),blocks:i?[{type:"thinking",thinking:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"message"===M&&"assistant"===w.role){let i=(w.content??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim(),s=Q(i);i&&(u=s),c.push({index:g++,timestamp:t,role:"agent",rawType:"response_item/message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"function_call"===M){var h;let i="string"==typeof w.name?w.name:"(unknown)",s="string"==typeof w.call_id?w.call_id:void 0,n="string"==typeof w.arguments?w.arguments:"",r=function(e){if(!e)return null;try{return JSON.parse(e)}catch{return e}}(n);f+=1,c.push({index:g++,timestamp:t,role:"tool-call",rawType:"response_item/function_call",preview:`${i}(${(h=n).length<=80?h:h.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:s??`codex-${g}`,name:i,input:r}],toolName:i,toolUseId:s,model:a,raw:e});continue}if("response_item"===y&&"function_call_output"===M){let i="string"==typeof w.call_id?w.call_id:void 0,s="string"==typeof w.output?w.output:"",n=/process exited with code [1-9]/i.test(s);c.push({index:g++,timestamp:t,role:"tool-result",rawType:"response_item/function_call_output",preview:Q(s),blocks:[{type:"tool_result",tool_use_id:i??"",content:s,is_error:n}],toolUseId:i,toolResult:s,raw:e});continue}c.push({index:g++,timestamp:t,role:"meta",rawType:M?`${y}/${M}`:y,preview:"",blocks:[],raw:e})}if(p.input>0||p.output>0){let t=-1;for(let e=c.length-1;e>=0;e--){let i=c[e].role;if("agent"===i||"agent-thinking"===i||"tool-call"===i){t=e;break}}if(t>=0){let i=c[t];i.messageId=`codex-${e.sessionId}-total`,i.usage={input:p.input,output:p.output,cacheRead:p.cacheRead,cacheWrite:0}}}let w=i?Date.parse(i):void 0;if(void 0!==w&&Number.isFinite(w)){let e;for(let t of c){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-w),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let M=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(d),v=M.reduce((e,t)=>e+(t.endMs-t.startMs),0),k=i&&s?Date.parse(s)-Date.parse(i):void 0,_=n?y(n):void 0,N=_?.projectName??"(unknown)",j=n?n.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:e.sessionId,filePath:e.filePath,projectName:N,worktreeName:_?.worktreeName,repoName:_?.repoName,projectDir:j,sessionId:e.sessionId,firstTimestamp:i,lastTimestamp:s,durationMs:k&&Number.isFinite(k)?k:void 0,eventCount:c.length,model:a,cwd:n,totalUsage:p,status:"idle",firstUserPreview:o,lastUserPreview:l,lastAgentPreview:u,toolCallCount:f,turnCount:m,airTimeMs:v,activeSegments:M},events:c}}function X(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}let ee=new Map,et=new Map;async function ei(e={}){let t=e.root??G,i=await Y(t),s=[];for(let e of i){let t=ee.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){s.push(t.meta);continue}try{let t=await Z(e.filePath),{meta:i}=V(e,t);ee.set(e.filePath,{meta:i,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),s.push(i)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function es(e,t={}){let i=t.root??G,s=(await Y(i)).find(t=>t.sessionId===e);if(!s)return null;let n=et.get(s.filePath);if(n&&n.mtimeMs===s.mtimeMs&&n.sizeBytes===s.sizeBytes)return n.detail;let a=await Z(s.filePath),{meta:r,events:o}=V(s,a),l={...r,events:o};return et.set(s.filePath,{detail:l,mtimeMs:s.mtimeMs,sizeBytes:s.sizeBytes}),l}async function en(e={}){let t=e.root??G,i=await Y(t);if(0===i.length)return null;for(let e of(i.sort((e,t)=>t.mtimeMs-e.mtimeMs),i)){let t=await Z(e.filePath);for(let i=t.length-1;i>=0;i--){let s=t[i];if("object"!=typeof s||null===s||"event_msg"!==s.type)continue;let n=s.payload??{};if("token_count"!==n.type)continue;let a=n.rate_limits??null;if(!a)continue;let r=a.primary??null,o=a.secondary??null,l=X(r?.used_percent),u=X(o?.used_percent),c=X(r?.resets_at),p=X(o?.resets_at),f="string"==typeof a.plan_type?a.plan_type:null,m=Date.now(),d=void 0!==c&&m>1e3*c,g=void 0!==p&&m>1e3*p;return{five_hour:{utilization:d?0:l??null,resets_at:void 0!==c?new Date(1e3*c).toISOString():null},seven_day:{utilization:g?0:u??null,resets_at:void 0!==p?new Date(1e3*p).toISOString():null},plan_type:f,source_path:e.filePath}}}return null}let ea=n.default.join(s.default.homedir(),".gemini","tmp"),er=n.default.join(s.default.homedir(),".gemini","projects.json"),eo=/^session-.+\.(jsonl|json)$/;async function el(e){return i.promises.readdir(e).catch(()=>[])}async function eu(e){let t=[];for(let s of(await el(e))){let a=n.default.join(e,s,"chats");for(let e of(await el(a))){if(!eo.test(e))continue;let r=n.default.join(a,e),o=await i.promises.stat(r).catch(()=>null);if(!o||!o.isFile())continue;let l=e.replace(/\.(jsonl|json)$/,"").split("-").pop()??e;t.push({filePath:r,slug:s,filenameId:l,format:e.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:o.mtimeMs,sizeBytes:o.size})}}return t}let ec=null;async function ep(){let e,t=await i.promises.stat(er).catch(()=>null);if(!t)return new Map;if(ec&&ec.mtimeMs===t.mtimeMs)return ec.slugToCwd;let s=await i.promises.readFile(er,"utf8").catch(()=>"");try{e=JSON.parse(s)}catch{e={}}let n=new Map;for(let[t,i]of Object.entries(e.projects??{}))"string"==typeof i&&n.set(i,t);return ec={mtimeMs:t.mtimeMs,slugToCwd:n},n}function ef(e){return!!e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.type}async function em(e){let t=await i.promises.readFile(e.filePath,"utf8");if("legacy-json"===e.format){let e;try{e=JSON.parse(t)}catch{return{meta:{},messages:[]}}return{meta:{sessionId:"string"==typeof e.sessionId?e.sessionId:void 0,projectHash:"string"==typeof e.projectHash?e.projectHash:void 0,startTime:"string"==typeof e.startTime?e.startTime:void 0,lastUpdated:"string"==typeof e.lastUpdated?e.lastUpdated:void 0,summary:"string"==typeof e.summary?e.summary:void 0},messages:(Array.isArray(e.messages)?e.messages:[]).filter(ef)}}let s={},n=new Map,a=[];for(let e of t.split("\n")){let t,i=e.trim();if(i){var r,o;try{t=JSON.parse(i)}catch{continue}if((r=t)&&"object"==typeof r&&"$rewindTo"in r){let e=t.$rewindTo,i=a.indexOf(e);if(i>=0){for(let e of a.slice(i))n.delete(e);a.length=i}continue}if((o=t)&&"object"==typeof o&&"$set"in o){Object.assign(s,t.$set);continue}if(ef(t)){n.has(t.id)||a.push(t.id),n.set(t.id,t);continue}if("object"==typeof t&&null!==t){let e=t;"string"!=typeof e.sessionId||s.sessionId||(s.sessionId=e.sessionId,"string"==typeof e.projectHash&&(s.projectHash=e.projectHash),"string"==typeof e.startTime&&(s.startTime=e.startTime),"string"==typeof e.lastUpdated&&(s.lastUpdated=e.lastUpdated),"string"==typeof e.summary&&(s.summary=e.summary))}}}let l=[];for(let e of a){let t=n.get(e);t&&l.push(t)}return{meta:s,messages:l}}function ed(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function eg(e){if(!e)return"";if("string"==typeof e)return e;let t=Array.isArray(e)?e:[e],i=[];for(let e of t){if(!e||"object"!=typeof e)continue;if("string"==typeof e.text){i.push(e.text);continue}let t=e.functionResponse;if(t){let e=t.response;"string"==typeof e?i.push(e):e&&"object"==typeof e&&("string"==typeof e.output?i.push(e.output):"string"==typeof e.error?i.push(`error: ${e.error}`):i.push(JSON.stringify(e)))}}return i.join("\n")}async function ey(e){let t,i,s,n,a,o,{meta:l,messages:u}=await em(e),c=(await ep()).get(e.slug),p=[],f={input:0,output:0,cacheRead:0,cacheWrite:0},m=0,d=0,g=[],h=0;function w(e){if(p.push(e),e.timestamp&&"meta"!==e.role){t||(t=e.timestamp),i=e.timestamp;let s=Date.parse(e.timestamp);Number.isFinite(s)&&g.push(s)}}for(let e of u){let t=e.timestamp;if("user"===e.type){let i=eg(e.displayContent??e.content),s=ed(i),o=(0,r.isFrameworkInjectedUserInput)(i);i&&!o&&(n||(n=s),a=s,d+=1),w({index:h++,timestamp:t,role:"user",rawType:"gemini/user",preview:s,blocks:i?[{type:"text",text:i}]:[],messageId:e.id,raw:e});continue}if("gemini"===e.type){let i;"string"==typeof e.model&&(s=e.model);let n=eg(e.content),a=ed(n);if(n&&(o=a),e.tokens){let t=e.tokens,s={input:t.input??0,output:t.output??0,cacheRead:t.cached??0,cacheWrite:0};i=s,f.input+=s.input,f.output+=s.output,f.cacheRead+=s.cacheRead}for(let i of e.thoughts??[]){let e=[i.subject,i.description].filter(Boolean).join(": ");e&&w({index:h++,timestamp:i.timestamp??t,role:"agent-thinking",rawType:"gemini/thought",preview:ed(e),blocks:[{type:"thinking",thinking:e}],model:s,raw:i})}for(let r of(n?w({index:h++,timestamp:t,role:"agent",rawType:"gemini/agent",preview:a,blocks:[{type:"text",text:n}],messageId:e.id,model:s,usage:i,raw:e}):i&&w({index:h++,timestamp:t,role:"agent",rawType:"gemini/agent",preview:"",blocks:[],messageId:e.id,model:s,usage:i,raw:e}),e.toolCalls??[])){m+=1;let e=r.args?JSON.stringify(r.args):"";w({index:h++,timestamp:r.timestamp??t,role:"tool-call",rawType:"gemini/tool_call",preview:`${r.name}(${e.length<=80?e:e.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:r.id,name:r.name,input:r.args??{}}],toolName:r.name,toolUseId:r.id,model:s,raw:r});let i=(r.status??"").toLowerCase();if("success"===i||"error"===i||"cancelled"===i){let e=eg(r.result);w({index:h++,timestamp:r.timestamp??t,role:"tool-result",rawType:"gemini/tool_result",preview:ed(e),blocks:[{type:"tool_result",tool_use_id:r.id,content:e,is_error:"error"===i||"cancelled"===i}],toolUseId:r.id,toolResult:e,raw:r})}}continue}if("info"===e.type||"warning"===e.type||"error"===e.type){let i=eg(e.content);w({index:h++,timestamp:t,role:"meta",rawType:`gemini/${e.type}`,preview:ed(i),blocks:i?[{type:"text",text:i}]:[],raw:e});continue}}let M=t?Date.parse(t):void 0;if(void 0!==M&&Number.isFinite(M)){let e;for(let t of p){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-M),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let v=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(g),k=v.reduce((e,t)=>e+(t.endMs-t.startMs),0),_=t&&i?Date.parse(i)-Date.parse(t):void 0,N=l.sessionId??e.filenameId,j=c?y(c):void 0,T=j?.projectName??e.slug,b=c?c.replace(/^\//,"-").replace(/\//g,"-"):e.slug;return{meta:{agent:"gemini",id:N,filePath:e.filePath,projectName:T,worktreeName:j?.worktreeName,repoName:j?.repoName,projectDir:b,sessionId:N,firstTimestamp:t,lastTimestamp:i,durationMs:_&&Number.isFinite(_)?_:void 0,eventCount:p.length,model:s,cwd:c,totalUsage:f,status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:o,toolCallCount:m,turnCount:d,airTimeMs:k,activeSegments:v},events:p}}let eh=new Map,ew=new Map;async function eM(e={}){let t=e.root??ea,i=await eu(t),s=[];for(let e of i){let t=eh.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){s.push(t.meta);continue}try{let{meta:t}=await ey(e);eh.set(e.filePath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function ev(e,t={}){let i,s=t.root??ea,n=await eu(s);for(let t of n)if(t.filenameId===e||e.startsWith(t.filenameId)){i=t;break}if(!i)for(let t of n){let{meta:s}=await ey(t).catch(()=>({meta:{id:""}}));if(s.id===e){i=t;break}}if(!i)return null;let a=ew.get(i.filePath);if(a&&a.mtimeMs===i.mtimeMs&&a.sizeBytes===i.sizeBytes)return a.detail;let{meta:r,events:o}=await ey(i),l={...r,events:o};return ew.set(i.filePath,{detail:l,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes}),l}let ek=n.default.join(s.default.homedir(),".gemini","antigravity-cli");async function e_(e){return i.promises.readdir(e).catch(()=>[])}let eN=null;async function ej(e){let t=n.default.join(e,"history.jsonl"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;if(eN&&eN.mtimeMs===s.mtimeMs)return eN.slugToCwd;let a=await i.promises.readFile(t,"utf8").catch(()=>""),r=new Map;for(let e of a.split("\n")){let t=e.trim();if(t)try{let e=JSON.parse(t);e.conversationId&&e.workspace&&r.set(e.conversationId,e.workspace)}catch{}}return eN={mtimeMs:s.mtimeMs,slugToCwd:r},r}async function eT(e){let t=await ej(e),s=[],a=n.default.join(e,"brain");for(let e of(await e_(a))){let r=n.default.join(a,e,".system_generated","logs","transcript.jsonl"),o=await i.promises.stat(r).catch(()=>null);o&&o.isFile()&&s.push({filePath:r,conversationId:e,cwd:t.get(e),mtimeMs:o.mtimeMs,sizeBytes:o.size})}return s}function eb(e){return e.replace(/\s+/g," ").trim().slice(0,200)}async function eA(e){let t,s,n,a,o,l,u=await i.promises.readFile(e.filePath,"utf8"),c=[],p=0,f=0,m=[],d=0;function g(e){if(c.push(e),e.timestamp&&"meta"!==e.role){t||(t=e.timestamp),s=e.timestamp;let i=Date.parse(e.timestamp);Number.isFinite(i)&&m.push(i)}}let h=[],w=[],M=new Map;for(let e of u.split("\n")){let t=e.trim();if(t)try{let e=JSON.parse(t),i=e.step_index;"number"==typeof i?M.has(i)?w[M.get(i)]=e:(M.set(i,w.length),w.push(e)):w.push(e)}catch{}}for(let e of w){let t=e.created_at||e.timestamp;if("USER_INPUT"===e.type){if("string"==typeof e.content){let t=e.content.match(/Model Selection` from .*? to (.*?)\.\s*No need to/);if(t){let e=t[1].trim();n=e=e.replace(/\s*\(.*?\)\s*$/,"").trim()}else{let t=e.content.match(/Model Selection` from .*? to ([^\n]+)/);if(t){let e=t[1].trim();e.endsWith(".")&&(e=e.slice(0,-1).trim()),n=e=e.replace(/\s*\(.*?\)\s*$/,"").trim()}}}let i=e.content||"",s=i.match(/<USER_REQUEST>([\s\S]*?)<\/USER_REQUEST>/);s&&(i=s[1].trim());let l=eb(i),u=(0,r.isFrameworkInjectedUserInput)(i);i&&!u&&(a||(a=l),o=l,f+=1),g({index:d++,timestamp:t,role:"user",rawType:"antigravity/user",preview:l,blocks:i?[{type:"text",text:i}]:[],messageId:e.step_index?.toString(),raw:e});continue}if("PLANNER_RESPONSE"===e.type){let i=e.thinking,s=e.content;if(i&&g({index:d++,timestamp:t,role:"agent-thinking",rawType:"antigravity/thought",preview:eb(i),blocks:[{type:"thinking",thinking:i}],model:n,raw:e}),s){let i=eb(s);l=i,g({index:d++,timestamp:t,role:"agent",rawType:"antigravity/agent",preview:i,blocks:[{type:"text",text:s}],messageId:e.step_index?.toString(),model:n,raw:e})}let a=e.tool_calls||[];for(let i=0;i<a.length;i++){let s=a[i];p+=1;let r=`tool-${e.step_index}-${i}`,o=s.args?JSON.stringify(s.args):"";h.push({id:r,name:s.name}),g({index:d++,timestamp:t,role:"tool-call",rawType:"antigravity/tool_call",preview:`${s.name}(${o.length<=80?o:o.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:r,name:s.name,input:s.args||{}}],toolName:s.name,toolUseId:r,model:n,raw:s})}continue}if("MODEL"===e.source&&"PLANNER_RESPONSE"!==e.type&&"ERROR_MESSAGE"!==e.type&&h.length>0){let i=h.shift(),s=i?i.id:`tool-${e.step_index}-unknown`,n="string"==typeof e.content?e.content:JSON.stringify(e.content||""),a="ERROR"===e.status||"FAILED"===e.status||"CANCELED"===e.status||!!e.error;g({index:d++,timestamp:t,role:"tool-result",rawType:"antigravity/tool_result",preview:eb(n),blocks:[{type:"tool_result",tool_use_id:s,content:n,is_error:a}],toolUseId:s,toolResult:n,raw:e});continue}let i=e.content||e.error||"";g({index:d++,timestamp:t,role:"meta",rawType:`antigravity/${e.type?.toLowerCase()||"unknown"}`,preview:eb(i),blocks:i?[{type:"text",text:i}]:[],raw:e})}let v=t?Date.parse(t):void 0;if(void 0!==v&&Number.isFinite(v)){let e;for(let t of c){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-v),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let k=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(m),_=k.reduce((e,t)=>e+(t.endMs-t.startMs),0),N=t&&s?Date.parse(s)-Date.parse(t):void 0,j=e.conversationId,T=e.cwd,b=T?y(T):void 0,A=b?.projectName??e.conversationId,S=T?T.replace(/^\//,"-").replace(/\//g,"-"):e.conversationId;return{meta:{agent:"antigravity",id:j,filePath:e.filePath,projectName:A,worktreeName:b?.worktreeName,repoName:b?.repoName,projectDir:S,sessionId:j,firstTimestamp:t,lastTimestamp:s,durationMs:N&&Number.isFinite(N)?N:void 0,eventCount:c.length,model:n,cwd:T,totalUsage:{input:0,output:0,cacheRead:0,cacheWrite:0},status:"idle",firstUserPreview:a,lastUserPreview:o,lastAgentPreview:l,toolCallCount:p,turnCount:f,airTimeMs:_,activeSegments:k},events:c}}let eS=new Map,ex=new Map;async function eI(e={}){let t=e.root??ek,i=await eT(t),s=[];for(let e of i){let t=eS.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes&&t.cwd===e.cwd){s.push(t.meta);continue}try{let{meta:t}=await eA(e);eS.set(e.filePath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes,cwd:e.cwd}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function eC(e,t={}){let i,s=t.root??ek;for(let t of(await eT(s)))if(t.conversationId===e){i=t;break}if(!i)return null;let n=ex.get(i.filePath);if(n&&n.mtimeMs===i.mtimeMs&&n.sizeBytes===i.sizeBytes&&n.cwd===i.cwd)return n.detail;let{meta:a,events:r}=await eA(i),o={...a,events:r};return ex.set(i.filePath,{detail:o,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes,cwd:i.cwd}),o}let eD=(t=s.default.homedir(),n.default.join(t,".config","Claude","local-agent-mode-sessions")),eP=/^local_[0-9a-f-]+$/;async function eR(e){return i.promises.readdir(e).catch(()=>[])}async function e$(e){let t=await i.promises.stat(e).catch(()=>null);return t?t.mtimeMs:0}async function eO(e){let t=[];for(let s of(await eR(e))){let a=n.default.join(e,s);for(let e of(await eR(a))){let s=n.default.join(a,e),r=await e$(n.default.join(s,"spaces.json"));for(let e of(await eR(s))){if(!eP.test(e))continue;let a=n.default.join(s,e,"audit.jsonl"),o=await i.promises.stat(a).catch(()=>null);if(!o||!o.isFile()||0===o.size)continue;let l=n.default.join(s,`${e}.json`),u=await e$(l);t.push({sessionId:e,auditPath:a,metaPath:l,workspaceDir:s,auditMtimeMs:o.mtimeMs,auditSize:o.size,metaMtimeMs:u,spacesMtimeMs:r})}}}return t}let eU=new Map;async function eF(e){let t=n.default.join(e,"spaces.json"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;let a=eU.get(e);if(a&&a.mtimeMs===s.mtimeMs)return a.spaceIdToPath;let r=await i.promises.readFile(t,"utf8").catch(()=>""),o=new Map;try{for(let e of JSON.parse(r).spaces??[]){let t="string"==typeof e.id?e.id:void 0,i=(Array.isArray(e.folders)?e.folders:[])[0],s="string"==typeof i?.path?i.path:void 0;t&&s&&o.set(t,s)}}catch{}return eU.set(e,{mtimeMs:s.mtimeMs,spaceIdToPath:o}),o}async function eB(e){let t=await i.promises.readFile(e,"utf8").catch(()=>"");if(!t)return{};try{let e=JSON.parse(t);return{spaceId:"string"==typeof e.spaceId?e.spaceId:void 0,userSelectedFolders:Array.isArray(e.userSelectedFolders)?e.userSelectedFolders.filter(e=>"string"==typeof e):void 0,cwd:"string"==typeof e.cwd?e.cwd:void 0,model:"string"==typeof e.model?e.model:void 0,title:"string"==typeof e.title?e.title:void 0,createdAt:"number"==typeof e.createdAt?e.createdAt:void 0,lastActivityAt:"number"==typeof e.lastActivityAt?e.lastActivityAt:void 0}}catch{return{}}}async function ez(e){let t=await i.promises.readFile(e,"utf8"),s=[];for(let e of t.split("\n")){let t=e.trim();if(t)try{s.push(JSON.parse(t))}catch{}}return s}async function eW(e){let t,[i,s,n]=await Promise.all([ez(e.auditPath),eB(e.metaPath),eF(e.workspaceDir)]),a=(t=new Map,i.forEach((e,s)=>{if("string"!=typeof e.uuid)return;let n=t.get(e.uuid);void 0===n?t.set(e.uuid,s):void 0===i[n].timestamp&&void 0!==e.timestamp&&t.set(e.uuid,s)}),i.filter((e,i)=>"string"!=typeof e.uuid||t.get(e.uuid)===i)),{mainLines:r,subagentGroups:o}=function(e){let t=[],i=new Map;for(let s of e){let e=s.parent_tool_use_id;if("string"==typeof e){let t=i.get(e);t?t.push(s):i.set(e,[s])}else t.push(s)}return{mainLines:t,subagentGroups:i}}(a),{meta:l,events:u}=m(r),c=function(e,t,i){if(0===e.size)return[];let s=new Map;for(let i of t){let t=i.message?.content;if(Array.isArray(t)){for(let n of t)if(n&&"object"==typeof n){if("tool_use"===n.type&&"Agent"===n.name&&"string"==typeof n.id){let e=n.input??{},t=s.get(n.id)??{};"string"==typeof i.uuid&&(t.parentUuid=i.uuid),"string"==typeof e.description&&(t.description=e.description),"string"==typeof e.subagent_type&&(t.agentType=e.subagent_type),"string"==typeof e.prompt&&(t.prompt=e.prompt),s.set(n.id,t)}else if("tool_result"===n.type&&"string"==typeof n.tool_use_id&&e.has(n.tool_use_id)){let e=s.get(n.tool_use_id)??{};e.finalText=function(e){if("string"==typeof e)return e;if(Array.isArray(e)){let t=[];for(let i of e)if(i&&"object"==typeof i&&"text"===i.type){let e=i.text;"string"==typeof e&&t.push(e)}if(t.length)return t.join("\n")}}(n.content)??e.finalText,s.set(n.tool_use_id,e)}}}}let n=[];for(let[t,a]of e){let e=W(a),r=s.get(t)??{},o=r.finalText??e.finalText,l=o?o.replace(/\s+/g," ").trim().slice(0,240):e.finalPreview,u=void 0!==i&&void 0!==e.startMs?Math.max(0,e.startMs-i):void 0,c=void 0!==i&&void 0!==e.endMs?Math.max(0,e.endMs-i):void 0,p=void 0!==e.startMs&&void 0!==e.endMs?e.endMs-e.startMs:void 0;n.push({agentId:t,agentType:r.agentType??"unknown",description:r.description??(r.prompt?r.prompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),startMs:e.startMs,endMs:e.endMs,durationMs:p,startTOffsetMs:u,endTOffsetMs:c,eventCount:e.eventCount,totalUsage:e.totalUsage,parentUuid:r.parentUuid,parentToolUseId:t,runInBackground:!1,finalPreview:l,finalText:o,prompt:r.prompt,model:e.model,toolCalls:e.toolCalls,toolCallCount:e.toolCallCount,assistantMessageCount:e.assistantMessageCount})}return n.sort((e,t)=>(e.startMs??0)-(t.startMs??0)),n}(o,a,l.firstTimestamp?Date.parse(l.firstTimestamp):void 0),{projectName:p,projectDir:f,cwd:d}=function(e,t){let i;if(e.spaceId&&(i=t.get(e.spaceId)),!i&&e.userSelectedFolders&&e.userSelectedFolders.length>0&&(i=e.userSelectedFolders[0]),!i)return{projectName:"cowork:unspaced",projectDir:"cowork-unspaced"};let s=y(i);return{projectName:s.projectName,worktreeName:s.worktreeName,projectDir:i.replace(/^\//,"-").replace(/\//g,"-"),cwd:i}}(s,n);return{meta:{...l,agent:"cowork",id:e.sessionId,sessionId:e.sessionId,filePath:e.auditPath,projectName:p,projectDir:f,cwd:d??l.cwd,model:l.model??s.model},events:u,subagents:c}}function eE(e){return{auditMtimeMs:e.auditMtimeMs,auditSize:e.auditSize,metaMtimeMs:e.metaMtimeMs,spacesMtimeMs:e.spacesMtimeMs}}function eL(e,t){return e.auditMtimeMs===t.auditMtimeMs&&e.auditSize===t.auditSize&&e.metaMtimeMs===t.metaMtimeMs&&e.spacesMtimeMs===t.spacesMtimeMs}let eJ=new Map,eq=new Map;async function eG(e={}){let t=e.root??eD,i=await eO(t),s=[];for(let e of i){let t=eE(e),i=eJ.get(e.auditPath);if(i&&eL(i.key,t)){s.push(i.meta);continue}try{let{meta:i}=await eW(e);eJ.set(e.auditPath,{meta:i,key:t}),s.push(i)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function eH(e,t={}){let i=t.root??eD,s=(await eO(i)).find(t=>t.sessionId===e);if(!s)return null;let n=eE(s),a=eq.get(s.auditPath);if(a&&eL(a.key,n))return a.detail;let{meta:r,events:o,subagents:l}=await eW(s),u={...r,events:o,...l.length?{subagents:l}:{}};return eq.set(s.auditPath,{detail:u,key:n}),u}function eK(){return process.env.CCLENS_HOME||n.default.join(s.default.homedir(),".cclens")}function eY(...e){return n.default.join(eK(),...e)}function eZ(e){b(e)}let eQ=[q,{...a.CODEX_METADATA,defaultRoot:G,listSessions:async e=>ei(e),getSession:async e=>es(e),async usagePoller(){let e=await en();return e?{captured_at:new Date().toISOString(),agent:"codex",five_hour:e.five_hour,seven_day:e.seven_day}:null}},{...a.GEMINI_METADATA,defaultRoot:ea,listSessions:async e=>eM(e),getSession:async e=>ev(e)},{...a.ANTIGRAVITY_METADATA,defaultRoot:ek,listSessions:async e=>eI(e),getSession:async e=>eC(e)},{...a.COWORK_METADATA,defaultRoot:eD,listSessions:async e=>eG(e),getSession:async e=>eH(e)}];async function eV(e={}){let t=await Promise.all(eQ.map(t=>t.listSessions(e))),i=[];for(let e of t)i.push(...e);return(i.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?i.slice(0,e.limit):i}async function eX(e){for(let t of eQ){let i=await t.getSession(e);if(i)return i}return null}function e0(){return eY("usage.jsonl")}function e1(e){let t=e0();(0,i.mkdirSync)(n.default.dirname(t),{recursive:!0}),(0,i.appendFileSync)(t,JSON.stringify(e)+"\n","utf8")}function e2(e){let t=e0();if(!(0,i.existsSync)(t))return;let s=(0,i.readFileSync)(t,"utf8").split("\n").filter(t=>{if(!t.trim())return!1;try{return JSON.parse(t).agent!==e}catch{return!0}});(0,i.mkdirSync)(n.default.dirname(t),{recursive:!0}),(0,i.writeFileSync)(t,s.join("\n")+(s.length?"\n":""),"utf8")}}];
|
|
1
|
+
module.exports=[39587,e=>{"use strict";let t={kind:"claude-code",displayName:"Claude Code",shortLabel:"Claude",accentColor:"var(--af-accent)",iconChar:"✦"},i={kind:"codex",displayName:"Codex (OpenAI)",shortLabel:"Codex",accentColor:"rgb(16, 163, 127)",iconChar:"◆"},s={kind:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"},n={kind:"antigravity",displayName:"Antigravity",shortLabel:"Agy",accentColor:"rgb(236, 72, 153)",iconChar:"⏃"},a={kind:"cowork",displayName:"Cowork",shortLabel:"Cowork",accentColor:"rgb(217, 119, 87)",iconChar:"⌘"},r=[t,i,s,n,a,{kind:"zai",displayName:"Z.ai",shortLabel:"Z.ai",accentColor:"rgb(59, 130, 246)",iconChar:"Z"}];r.map(e=>e.kind),e.s(["ANTIGRAVITY_METADATA",0,n,"CLAUDE_CODE_METADATA",0,t,"CODEX_METADATA",0,i,"COWORK_METADATA",0,a,"GEMINI_METADATA",0,s,"agentMetadata",0,r])},79357,e=>{"use strict";let t={input:0,output:0,cacheRead:0,cacheWrite:0},i=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],s=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/;function n(e){for(let t of i){let i=e.lastIndexOf(t);if(i>=0)return{idx:i,marker:t}}return null}function a(e){let t=s.exec(e);if(!t)return null;let i=t[1],n=+!!t[0].endsWith("/");return{canonicalEndIdx:t.index+t[0].length-i.length-1-n,workspaceName:i}}let r="/.superset/worktrees/",o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function l(e){let t=e.indexOf(r);if(t<0)return null;let i=e.slice(t+r.length).split("/").filter(Boolean);if(0===i.length)return null;let s=o.test(i[0])?i[1]??i[0]:i[0];return{canonical:e.slice(0,t)+r+s,workspaceName:s}}function u(e){let t=e.replace(/\/{2,}/g,"/"),i=n(t);if(i)return t.slice(0,i.idx);let s=a(t);if(s)return t.slice(0,s.canonicalEndIdx);let r=l(t);return r?r.canonical:t}function c(e){let t=e.replace(/\/{2,}/g,"/"),i=n(t);if(i){let e=t.slice(i.idx+i.marker.length),s=e.indexOf("/");return s>=0?e.slice(0,s):e}let s=a(t);if(s)return s.workspaceName;let r=l(t);return r?r.workspaceName:null}function p(e){let t=u(e),i=t.replace(/\/+$/,"").split("/").filter(Boolean);return i[i.length-1]||t}function f(e){let i={sessionCount:e.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...t},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let t of e)i.totalDurationMs+=t.durationMs??0,i.totalAirTimeMs+=t.airTimeMs??t.durationMs??0,i.totalTokens.input+=t.totalUsage.input,i.totalTokens.output+=t.totalUsage.output,i.totalTokens.cacheRead+=t.totalUsage.cacheRead,i.totalTokens.cacheWrite+=t.totalUsage.cacheWrite,i.totalToolCalls+=t.toolCallCount??0,i.totalTurns+=t.turnCount??0,i.totalLinesAdded+=t.linesAdded??0,i.totalLinesRemoved+=t.linesRemoved??0,i.totalFilesEdited+=t.filesEdited??0;return e.length>0&&(i.avgTurnsPerSession=i.totalTurns/e.length,i.avgDurationMs=i.totalDurationMs/e.length),i}e.s(["canonicalProjectName",0,u,"computeBurstsFromSessions",0,function(e,t={}){let i=[];for(let t of e)t.activeSegments&&0!==t.activeSegments.length&&i.push({id:t.id,projectDir:t.projectDir,segments:t.activeSegments});return function(e,t){let i=t.minDurationMs??6e4,s=t.mergeGapMs??6e5,n=t.minActive??2,a=[];for(let t of e)for(let e of t.segments)e.endMs<=e.startMs||(a.push({ms:e.startMs,delta:1,sessionId:t.id}),a.push({ms:e.endMs,delta:-1,sessionId:t.id}));a.sort((e,t)=>e.ms-t.ms||t.delta-e.delta);let r=new Map,o=[],l=null;for(let e of a){if(1===e.delta)r.set(e.sessionId,(r.get(e.sessionId)??0)+1);else{let t=(r.get(e.sessionId)??0)-1;t<=0?r.delete(e.sessionId):r.set(e.sessionId,t)}let t=r.size;if(t>=n)if(l)for(let i of(l.endMs=e.ms,t>l.peak&&(l.peak=t),r.keys()))l.sessionIds.add(i);else l={startMs:e.ms,endMs:e.ms,peak:t,sessionIds:new Set(r.keys())};else l&&(l.endMs=e.ms,o.push(l),l=null)}l&&o.push(l);let u=o.filter(e=>e.endMs-e.startMs>=i),c=[];for(let e of u){let t=c[c.length-1];if(t&&e.startMs-t.endMs<=s)for(let i of(t.endMs=e.endMs,e.peak>t.peak&&(t.peak=e.peak),e.sessionIds))t.sessionIds.add(i);else c.push({startMs:e.startMs,endMs:e.endMs,peak:e.peak,sessionIds:new Set(e.sessionIds)})}let p=new Map;for(let t of e)p.set(t.id,t.projectDir);return c.map(e=>{let t=Array.from(new Set(Array.from(e.sessionIds).map(e=>p.get(e)).filter(e=>!!e)));return{startMs:e.startMs,endMs:e.endMs,peak:e.peak,sessionIds:Array.from(e.sessionIds),projectDirs:t,crossProject:t.length>1}})}(i,t)},"groupByProject",0,function(e){let t=new Map,i=function(e){let t=new Map;for(let i of e)i.repoName&&t.set(p(i.projectName),i.repoName);return e=>e.repoName??t.get(p(e.projectName))??p(e.projectName)}(e);for(let s of e){let e=i(s),n=t.get(e);n||(n={projectDir:e,projectName:e,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:f([]),perAgent:[],lastActiveMs:void 0},t.set(e,n)),n.sessions.push(s),n.rawProjectDirs.includes(s.projectDir)||n.rawProjectDirs.push(s.projectDir);let a=s.lastTimestamp?Date.parse(s.lastTimestamp):void 0;a&&(!n.lastActiveMs||a>n.lastActiveMs)&&(n.lastActiveMs=a)}for(let e of t.values()){e.metrics=f(e.sessions);let t=new Set;for(let i of e.sessions){let e=i.worktreeName??c(i.projectName)??(i.cwd?c(i.cwd):null);e&&t.add(e)}e.worktreeCount=t.size;let i=new Map;for(let t of e.sessions){let e=t.agent??"claude-code",s=i.get(e);s||(s={agent:e,sessions:0},i.set(e,s)),s.sessions+=1}e.perAgent=Array.from(i.values()).sort((e,t)=>t.sessions-e.sessions)}return Array.from(t.values()).sort((e,t)=>(t.lastActiveMs??0)-(e.lastActiveMs??0))},"projectKey",0,p,"toLocalDay",0,function(e){let t=new Date(e),i=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${i}-${s}-${n}`},"worktreeName",0,c])},36521,e=>{"use strict";let t=[/<system_instruction\b[^>]*>[\s\S]*?<\/system_instruction>\s*/gi],i=["<command-name>","<local-command-stdout>","<local-command-caveat>","<task-notification>","Base directory for this skill:","This session is being continued from a previous conversation","A session-scoped Stop hook is now active"];function s(e){if(!e)return e;let i=e;for(let e of t)i=i.replace(e,"");return i.trim()}e.s(["isFrameworkInjectedUserInput",0,function(e){if(!e)return!1;let t=s(e);if(!t)return!0;for(let e of i)if(t.startsWith(e))return!0;return!1},"stripFrameworkBoilerplate",0,s])},43427,20629,e=>{"use strict";let t;e.s(["agentSources",()=>eQ,"appendUsageSnapshot",()=>e1,"cclensHome",()=>eK,"cclensPath",()=>eY,"getAnySession",()=>eX,"invalidateFile",()=>eZ,"listAllSessions",()=>eV,"pruneUsageAgent",()=>e2],43427);var i=e.i(2157),s=e.i(60526),n=e.i(50227),a=e.i(39587),r=e.i(36521),o=e.i(79357);let l={input:0,output:0,cacheRead:0,cacheWrite:0};function u(e,t=200){let i=e.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return i.length>t?i.slice(0,t-1)+"…":i}let c=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function p(e){let t=e.match(c);if(!t)return;let i=t[1],s=t[2].trim(),n="message";if(s.startsWith("{"))try{let e=JSON.parse(s);"idle_notification"===e.type?n="idle-notification":"shutdown_request"===e.type?n="shutdown-request":"shutdown_approved"===e.type?n="shutdown-approved":"task_assignment"===e.type?n="task-assignment":"teammate_terminated"===e.type&&(n="teammate-terminated")}catch{}return{teammateId:i,body:s,kind:n}}function f(e){if(!e||"object"!=typeof e)return;let t=e=>"number"==typeof e?e:0;return{input:t(e.input_tokens),output:t(e.output_tokens),cacheRead:t(e.cache_read_input_tokens),cacheWrite:t(e.cache_creation_input_tokens)}}function m(e){let t,i,s,n,a,c,m,d,g,y,h,w=[];for(let t=0;t<e.length;t++){let i=function(e,t){if(!e||"object"!=typeof e)return null;let i=String(e.type??""),s=e.uuid,n=e.parentUuid??null,a=e.timestamp;if("assistant"===i){let r,o,l,c=e.message??{},p=c.content??[],m=f(c.usage),d=c.model,g=e.requestId,y=c.id,h=c.stop_reason,w=p[0],M="agent";return w?.type==="thinking"?(M="agent-thinking",r="[thinking] "+u(w.thinking,140)):w?.type==="tool_use"?(M="tool-call",o=w.name,l=w.id,r=`${w.name} `+u(JSON.stringify(w.input??{}),100)):r=w?.type==="text"?u(w.text,200):`<assistant:${w?.type??"empty"}>`,{index:t,uuid:s,parentUuid:n,timestamp:a,role:M,rawType:i,preview:r,blocks:p,usage:m,model:d,requestId:g,messageId:y,stopReason:h,toolName:o,toolUseId:l,raw:e}}if("user"===i){let o=(e.message??{}).content;if("string"==typeof o){let l=(0,r.stripFrameworkBoilerplate)(o),c=p(l);return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:u(l,200),blocks:l?[{type:"text",text:l}]:[],raw:e,teammateMessage:c}}if(Array.isArray(o)){let l=o[0];if(l?.type==="tool_result")return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"tool-result",rawType:i,preview:u("string"==typeof l.content?l.content:JSON.stringify(l.content),200),blocks:o,toolUseId:l.tool_use_id,toolResult:e.toolUseResult,raw:e};let c=o.find(e=>e?.type==="text"),f=c?(0,r.stripFrameworkBoilerplate)(c.text):"",m=c?o.map(e=>e===c?{type:"text",text:f}:e):o,d=f?p(f):void 0;return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"user",rawType:i,preview:f?u(f,200):u(JSON.stringify(o),200),blocks:m,raw:e,teammateMessage:d}}}if("attachment"===i){let r=e.attachment??{},o=String(r.type??"attachment"),l=`<attachment: ${o}>`;return"string"==typeof r.content&&r.content.length>0?l=`[${o}] `+u(r.content,140):Array.isArray(r.addedNames)&&(l=`[${o}] +${r.addedNames.length} names`),{index:t,uuid:s,parentUuid:n,timestamp:a,role:"system",rawType:i,preview:l,blocks:[{type:"text",text:JSON.stringify(r,null,2)}],attachmentType:o,raw:e}}return{index:t,uuid:s,parentUuid:n,timestamp:a,role:"meta",rawType:i||"unknown",preview:`${i}: ${u(JSON.stringify(e),140)}`,blocks:[{type:"text",text:JSON.stringify(e,null,2)}],raw:e}}(e[t],t);i&&w.push(i)}for(let e of w){if(!e.timestamp)continue;let s=Date.parse(e.timestamp);!Number.isNaN(s)&&((void 0===t||s<t)&&(t=s),(void 0===i||s>i)&&(i=s))}let M=void 0!==t?new Date(t).toISOString():void 0,v=void 0!==i?new Date(i).toISOString():void 0;for(let e of w){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isNaN(i)||void 0!==t&&(e.tOffsetMs=Math.max(0,i-t))}let k=w.filter(e=>{let t;return e.timestamp&&("user"===(t=e.role)||"agent"===t||"agent-thinking"===t||"tool-call"===t||"tool-result"===t)}).map(e=>({e,ms:Date.parse(e.timestamp)})).filter(e=>!Number.isNaN(e.ms)).sort((e,t)=>e.ms-t.ms);for(let e=1;e<k.length;e++)k[e].e.gapMs=Math.max(0,k[e].ms-k[e-1].ms);let _=w.filter(e=>e.timestamp).map(e=>Date.parse(e.timestamp)).filter(e=>!Number.isNaN(e)).sort((e,t)=>e-t),N=[],j=0;if(_.length>0){let e=_[0],t=_[0];for(let i=1;i<_.length;i++){let s=_[i],n=s-t;n>18e4?(N.push({startMs:e,endMs:t}),e=s):n>0&&(j+=n),t=s}N.push({startMs:e,endMs:t})}let T=new Map,b=[];for(let e of w){if(!e.timestamp)continue;let t=Date.parse(e.timestamp);if(!Number.isNaN(t)){if("assistant"===e.rawType&&e.usage&&e.messageId){let i=T.get(e.messageId);i?(i.siblings.push(e),t<i.ms&&(i.rep=e,i.ms=t)):T.set(e.messageId,{rep:e,ms:t,siblings:[e]})}else if("system"===e.rawType){let i=e.raw;if(i?.subtype!=="compact_boundary")continue;let s=i.compactMetadata??{};b.push({ms:t,trigger:"manual"===s.trigger?"manual":"auto",preTokens:"number"==typeof s.preTokens?s.preTokens:0})}}}let S=[...T.values()].sort((e,t)=>e.ms-t.ms);b.sort((e,t)=>e.ms-t.ms);let A=0,x=0,I=(e,t)=>{for(let i of e.siblings)i.coldResume=t;A++,x+=t.writeTokens},C=new Set;for(let e of b){let t,i=S.find(t=>t.ms>e.ms&&(t.rep.usage?.cacheWrite??0)>=1e3);if(!i)continue;for(let i=S.length-1;i>=0;i--)if(S[i].ms<=e.ms){t=S[i].ms;break}let s=i.rep.usage,n=s.cacheWrite+s.cacheRead;I(i,{trigger:"compact",gapMs:void 0!==t?i.ms-t:0,writeTokens:s.cacheWrite,writeRatio:n>0?s.cacheWrite/n:0,compact:{trigger:e.trigger,preTokens:e.preTokens}}),C.add(i.rep.messageId)}for(let e=1;e<S.length;e++){let t=S[e-1],i=S[e];if(C.has(i.rep.messageId))continue;let s=i.rep.usage,n=s.cacheWrite+s.cacheRead,a=n>0?s.cacheWrite/n:0,r=i.ms-t.ms;r>3e5&&s.cacheWrite>=1e3&&a>=.3&&I(i,{trigger:"idle",gapMs:r,writeTokens:s.cacheWrite,writeRatio:a})}let D={...l},P=new Set,R="",$=!1,O=!1,U=0,F=0,B=0,z=0,W=new Set,E=new Map,L=void 0!==t?(0,o.toLocalDay)(t):void 0,J=e=>{let t;if(e){let i=Date.parse(e);Number.isNaN(i)||(t=(0,o.toLocalDay)(i))}if(!(t=t??L))return;let i=E.get(t);return i||(i={toolCalls:0,turns:0,tokens:{...l}},E.set(t,i)),i};for(let e of w){if("tool-call"===e.role){U++;let t=J(e.timestamp);t&&t.toolCalls++;let i=e.blocks.find(e=>e&&"tool_use"===e.type);if(i){let e=i.input??{};if("TeamCreate"===i.name&&($=!0),"SendMessage"===i.name){let t="string"==typeof e.to?e.to:"";t&&"team-lead"!==t&&(O=!0)}let t="string"==typeof e.file_path?e.file_path:void 0;if("Edit"===i.name&&t){W.add(t);let i="string"==typeof e.old_string?e.old_string:"",s="string"==typeof e.new_string?e.new_string:"",n=i?i.split("\n").length:0,a=s?s.split("\n").length:0;B+=Math.max(0,a-n),z+=Math.max(0,n-a)}else if("Write"===i.name&&t){W.add(t);let i="string"==typeof e.content?e.content:"";B+=i?i.split("\n").length:0}}}if("user"===e.role){let t=function(e){let t=e?.content;if("string"==typeof t)return t;if(Array.isArray(t)){for(let e of t)if(e&&"object"==typeof e&&"text"===e.type&&"string"==typeof e.text)return e.text}return""}(e.raw?.message),i=(0,r.isFrameworkInjectedUserInput)(t),s=void 0!==e.teammateMessage&&!d;if(!i&&!s){g||(g=e.teammateMessage?e.teammateMessage.body:e.preview),F++;let t=J(e.timestamp);t&&t.turns++,h=e.preview}}"agent"===e.role&&(y=e.preview)}for(let t of e)if(t&&"object"==typeof t&&("string"!=typeof t.sessionId||R||(R=t.sessionId),"string"!=typeof t.cwd||n||(n=t.cwd),"string"!=typeof t.gitBranch||a||(a=t.gitBranch),"string"!=typeof t.entrypoint||c||(c=t.entrypoint),"string"!=typeof t.teamName||m||(m=t.teamName),"string"!=typeof t.agentName||d||(d=t.agentName),"assistant"===t.type)){let e=t.message;if(e){"string"!=typeof e.model||s||(s=e.model);let i="string"==typeof e.id?e.id:void 0;if(i&&P.has(i))continue;i&&P.add(i);let n=f(e.usage);if(n){D.input+=n.input,D.output+=n.output,D.cacheRead+=n.cacheRead,D.cacheWrite+=n.cacheWrite;let e=J("string"==typeof t.timestamp?t.timestamp:void 0);e&&(e.tokens.input+=n.input,e.tokens.output+=n.output,e.tokens.cacheRead+=n.cacheRead,e.tokens.cacheWrite+=n.cacheWrite)}}}return{events:w,meta:{sessionId:R,firstTimestamp:M,lastTimestamp:v,durationMs:void 0!==t&&void 0!==i?i-t:void 0,eventCount:w.length,model:s,cwd:n,gitBranch:a,entrypoint:c,totalUsage:D,status:"idle",firstUserPreview:g,lastUserPreview:h,lastAgentPreview:y,toolCallCount:U,turnCount:F,dailyBreakdown:Array.from(E.entries()).map(([e,t])=>({day:e,toolCalls:t.toolCalls,turns:t.turns,tokens:t.tokens})).sort((e,t)=>e.day.localeCompare(t.day)),airTimeMs:j,activeSegments:N,linesAdded:B,linesRemoved:z,filesEdited:W.size,coldResumeCount:A,cacheRebuildTokens:x,teamName:m,agentName:d,isTeamLead:void 0!==m&&void 0===d&&($||O)}}}let d=/^(?:(?:https?|ssh|git):\/\/)?(?:[^@/]+@)?([^/:]+)[:/](.+?)(?:\.git)?\/?$/;function g(e){try{return(0,i.realpathSync)(e)}catch{return e}}function y(e){let t=g(e.replace(/\/{2,}/g,"/"));try{let e=function(e){let t;if(!e||!(0,n.isAbsolute)(e))return null;let a=(t=g((0,s.homedir)()),e===t||e.startsWith(`${t}/`)?t:void 0);for(let t=e.replace(/\/+$/,"")||e;;t=(0,n.dirname)(t)){if(t===a)return null;let e=function(e){let t=(0,n.join)(e,".git"),s=(0,i.statSync)(t,{throwIfNoEntry:!1});if(!s)return null;if(s.isDirectory())return{root:e,gitDir:t,commonDir:t};let a=function(e,t){let i=t.match(/^gitdir:\s*(.+)\s*$/m);if(!i)return;let s=i[1].trim();return(0,n.isAbsolute)(s)?s:(0,n.resolve)(e,s)}(e,(0,i.readFileSync)(t,"utf8"));return a?{root:e,gitDir:a,commonDir:function(e){let t=(0,n.join)(e,"commondir");if(!(0,i.existsSync)(t))return;let s=(0,i.readFileSync)(t,"utf8").trim();if(s)return(0,n.isAbsolute)(s)?s:(0,n.resolve)(e,s)}(a)}:{root:e}}(t);if(e)return e;if((0,n.dirname)(t)===t)return null}}(t);if(e){let s=g(function(e){if(e)return".git"===(0,n.basename)(e)?(0,n.dirname)(e):void 0}(e.commonDir)??e.root),a=g(e.root),r=s!==a?(0,o.worktreeName)(t)??(0,n.basename)(e.root):void 0,l={projectName:s};r&&(l.worktreeName=r);let u=function(e){let t=e.commonDir??e.gitDir;if(!t)return;let s=(0,n.join)(t,"config");if(!(0,i.existsSync)(s))return;let a=function(e){let t=!1;for(let i of e.split("\n")){let e=i.trim();if(e.startsWith("[")){t=/^\[remote\s+"origin"\]/.test(e);continue}if(!t)continue;let s=e.match(/^url\s*=\s*(.+)$/);if(s)return s[1].trim()}}((0,i.readFileSync)(s,"utf8"));return a?function(e){let t=e.match(d);if(!t)return;let i=t[1],s=t[2].split("/").filter(Boolean);if(s.length<2)return;let n=s[s.length-1],a=s.slice(0,-1).join("/");return{host:i,owner:a,name:n,url:e,webUrl:`https://${i}/${a}/${n}`}}(a):void 0}(e);return u&&(l.remote=u,l.repoName=u.name),l}}catch{}let a=(0,o.canonicalProjectName)(t),r=(0,o.worktreeName)(t)??void 0;return r?{projectName:a,worktreeName:r}:{projectName:a}}let h=n.default.join(s.default.homedir(),".claude","projects");function w(e){return e.startsWith("-")?"/"+e.slice(1).replace(/-/g,"/"):e}let M=n.default.join(s.default.homedir(),".cclens","runtime").replace(/[/.]/g,"-");async function v(e){let t=await i.promises.readFile(e,"utf8"),s=[];for(let e of t.split("\n")){let t=e.trim();if(t)try{s.push(JSON.parse(t))}catch{}}return s}function k(e){return e.replace(/\.jsonl$/i,"")}let _=new Map,N=new Map,j=new Map,T=null;function b(e){_.delete(e),N.delete(e),j.delete(e),T=null}async function S(e=h){let t;if(T&&T.root===e&&Date.now()-T.capturedAtMs<1e3)return T.files;try{t=await i.promises.readdir(e,{withFileTypes:!0})}catch{return[]}let s=t.filter(e=>e.isDirectory()&&e.name!==M).map(e=>e.name),a=(await Promise.all(s.map(async t=>{let s,a=n.default.join(e,t);try{s=await i.promises.readdir(a)}catch{return[]}let r=s.filter(e=>e.endsWith(".jsonl"));return(await Promise.all(r.map(async e=>{let s=n.default.join(a,e);try{let n=await i.promises.stat(s);return{projectDir:t,fileName:e,fullPath:s,mtimeMs:n.mtimeMs,sizeBytes:n.size}}catch{return null}}))).filter(e=>null!==e)}))).flat();return T={files:a,capturedAtMs:Date.now(),root:e},a}let A={input:0,output:0,cacheRead:0,cacheWrite:0};function x(e,t,i,s,n){for(let a of e){if(!a||"object"!=typeof a||"assistant"!==a.type)continue;let e=a.message;if(!e)continue;let r="string"==typeof e.id?e.id:void 0,l="string"==typeof a.requestId?a.requestId:void 0,u=null!=r&&null!=l?`${r}:${l}`:void 0;if(u&&t.has(u))continue;u&&t.add(u);let c=e.usage;if(c){let e=e=>"number"==typeof e?e:0,t=e(c.input_tokens),r=e(c.output_tokens),l=e(c.cache_read_input_tokens),u=e(c.cache_creation_input_tokens);if(i.input+=t,i.output+=r,i.cacheRead+=l,i.cacheWrite+=u,s){let e,i="string"==typeof a.timestamp?a.timestamp:void 0;if(i){let t=Date.parse(i);Number.isNaN(t)||(e=(0,o.toLocalDay)(t))}if(e=e??n){let i=s.get(e);i||(i={...A},s.set(e,i)),i.input+=t,i.output+=r,i.cacheRead+=l,i.cacheWrite+=u}}}}}async function I(e,t,s,a){let r,o={...A},l=new Set,u=new Map;x(e,l,o,u,a);let c=n.default.join(t,s,"subagents");try{r=await i.promises.readdir(c)}catch{return{usage:o,perDay:u}}let p=r.filter(e=>e.endsWith(".jsonl"));return 0===p.length||await Promise.all(p.map(async e=>{try{let t=await v(n.default.join(c,e));x(t,l,o,u,a)}catch{}})),{usage:o,perDay:u}}async function C(e,t){let s,a=n.default.join(e,t,"workflows");try{s=await i.promises.readdir(a)}catch{return{workflowCount:0,spawnedAgentCount:0,spans:[]}}let r=s.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===r.length)return{workflowCount:0,spawnedAgentCount:0,spans:[]};let o=0,l=[];return{workflowCount:(await Promise.all(r.map(async e=>{try{let t=JSON.parse(await i.promises.readFile(n.default.join(a,e),"utf8"));return"number"==typeof t.agentCount&&(o+=t.agentCount),"number"==typeof t.startTime&&"number"==typeof t.durationMs&&t.durationMs>0&&l.push({startMs:t.startTime,endMs:t.startTime+t.durationMs}),!0}catch{return!1}}))).filter(Boolean).length,spawnedAgentCount:o,spans:l}}async function D(e,t){let s;try{s=await i.promises.readdir(e,{withFileTypes:!0})}catch{return 0}return(await Promise.all(s.map(async s=>{let a=n.default.join(e,s.name);try{if(s.isDirectory())return t>0?await D(a,t-1):0;return(await i.promises.stat(a)).mtimeMs}catch{return 0}}))).reduce((e,t)=>Math.max(e,t),0)}async function P(e,t){let i=n.default.join(e,t),[s,a]=await Promise.all([D(n.default.join(i,"subagents"),2),D(n.default.join(i,"workflows"),0)]),r=Math.max(s,a);return r>0?r:void 0}async function R(e,t){let i=await P(n.default.dirname(t.fullPath),e.id),s=e.lastTimestamp?Date.parse(e.lastTimestamp):0,a=Math.max(Number.isFinite(s)?s:0,i??0);return a>0?{...e,lastActivityMs:a}:e}function $(e,t){if(0===t.length)return{};let i=[...e??[],...t].filter(e=>e.endMs>e.startMs).sort((e,t)=>e.startMs-t.startMs);if(0===i.length)return{};let s=[{...i[0]}];for(let e=1;e<i.length;e++){let t=i[e],n=s[s.length-1];t.startMs<=n.endMs?n.endMs=Math.max(n.endMs,t.endMs):s.push({...t})}let n=s.reduce((e,t)=>e+(t.endMs-t.startMs),0);return{activeSegments:s,airTimeMs:n}}async function O(e,t,i){let s=k(i.fileName),a=n.default.dirname(i.fullPath),r=e.firstTimestamp?(0,o.toLocalDay)(Date.parse(e.firstTimestamp)):void 0,{usage:l,perDay:u}=await I(t,a,s,r);e.totalUsage=l,e.dailyBreakdown=function(e,t,i){let s=new Map((e??[]).map(e=>[e.day,e])),n=[...new Set([...s.keys(),...t.keys()])].sort((e,t)=>e.localeCompare(t)).map(e=>({day:e,toolCalls:s.get(e)?.toolCalls??0,turns:s.get(e)?.turns??0,tokens:{...t.get(e)??A}}));if(n.length>0){let e=n.reduce((e,t)=>({input:e.input+t.tokens.input,output:e.output+t.tokens.output,cacheRead:e.cacheRead+t.tokens.cacheRead,cacheWrite:e.cacheWrite+t.tokens.cacheWrite}),{...A}),t=n[0].tokens;t.input+=i.input-e.input,t.output+=i.output-e.output,t.cacheRead+=i.cacheRead-e.cacheRead,t.cacheWrite+=i.cacheWrite-e.cacheWrite}return n}(e.dailyBreakdown,u,l)}async function U(e){let t=_.get(e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.meta;try{let t=await v(e.fullPath),{meta:i}=m(t);await O(i,t,e);let s=k(e.fileName),a=n.default.dirname(e.fullPath),r=await C(a,s),o=i.cwd??w(e.projectDir),l=y(o),u={...i,id:s,filePath:e.fullPath,projectDir:e.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,...r.workflowCount>0?{workflowCount:r.workflowCount,spawnedAgentCount:r.spawnedAgentCount}:{},...$(i.activeSegments,r.spans)};return _.set(e.fullPath,{meta:u,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),u}catch{return null}}async function F(e){let t=N.get(e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.detail;try{let t=await v(e.fullPath),{meta:i,events:s}=m(t),a=k(e.fileName);await O(i,t,e);let r=await C(n.default.dirname(e.fullPath),a),o=i.cwd??w(e.projectDir),l=y(o),u={...i,id:a,filePath:e.fullPath,projectDir:e.projectDir,projectName:l.projectName,worktreeName:l.worktreeName,repoName:l.repoName,events:s,...r.workflowCount>0?{workflowCount:r.workflowCount,spawnedAgentCount:r.spawnedAgentCount}:{},...$(i.activeSegments,r.spans)};N.set(e.fullPath,{detail:u,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes});let c={...u};return delete c.events,_.set(e.fullPath,{meta:c,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),u}catch{return null}}async function B(e={}){let{root:t=h,limit:i=500,projectDir:s}=e,n=await S(t);s&&(n=n.filter(e=>e.projectDir===s)),n.sort((e,t)=>t.mtimeMs-e.mtimeMs);let a=n.slice(0,i);return(await Promise.all(a.map(async e=>{let t=await U(e);return t?R(t,e):null}))).filter(e=>null!==e)}async function z(e,t={}){let{root:i=h}=t,s=(await S(i)).find(t=>k(t.fileName)===e);if(!s)return null;let a=await F(s);if(!a)return a;let r=a.firstTimestamp?Date.parse(a.firstTimestamp):void 0,o=n.default.join(n.default.dirname(s.fullPath),k(s.fileName),"subagents"),l=n.default.join(n.default.dirname(s.fullPath),k(s.fileName),"workflows"),[u,c]=await Promise.all([E(o,r,a.events),L(l,r,a.events)]),p=c.reduce((e,t)=>e+t.agentCount,0);return R({...a,subagents:u,workflows:c,...c.length>0?{workflowCount:c.length,spawnedAgentCount:p}:{}},s)}function W(e){let t,i,s,n,a,r={...A},o=new Set,l=0,u=0,c=0,p=new Map;for(let f of e){if(!f||"object"!=typeof f)continue;l++;let e="string"==typeof f.timestamp?Date.parse(f.timestamp):NaN;if(!Number.isNaN(e)&&((void 0===t||e<t)&&(t=e),(void 0===i||e>i)&&(i=e)),void 0===a&&"user"===f.type&&(null===f.parentUuid||void 0===f.parentUuid)){let e=f.message,t=e?.content;if("string"==typeof t)a=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(a=e.text)}}if("assistant"===f.type){let e=f.message;if(!e)continue;n||"string"!=typeof e.model||(n=e.model);let t="string"==typeof e.id?e.id:void 0,i="string"==typeof f.requestId?f.requestId:void 0,a=null!=t&&null!=i?`${t}:${i}`:void 0,l=!a||!o.has(a);if(a&&l&&o.add(a),l){u++;let t=e.usage;if(t){let e=e=>"number"==typeof e?e:0;r.input+=e(t.input_tokens),r.output+=e(t.output_tokens),r.cacheRead+=e(t.cache_read_input_tokens),r.cacheWrite+=e(t.cache_creation_input_tokens)}}let m=e.content;if(Array.isArray(m))for(let e of m)e&&"object"==typeof e&&("text"===e.type&&"string"==typeof e.text?s=e.text:"tool_use"===e.type&&"string"==typeof e.name&&(c++,p.set(e.name,(p.get(e.name)??0)+1)))}}let f=Array.from(p.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count);return{startMs:t,endMs:i,totalUsage:r,eventCount:l,finalPreview:void 0!==s?s.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:s,model:n,toolCalls:f,toolCallCount:c,assistantMessageCount:u,initialPrompt:a}}async function E(e,t,s){let a;try{a=await i.promises.readdir(e)}catch{return[]}let r=new Map,o=[];for(let e of s)if("tool-call"===e.role&&"Agent"===e.toolName)for(let t of e.blocks){if(t?.type!=="tool_use"||"Agent"!==t.name)continue;let i=t.input??{},s="string"==typeof i.description?i.description:void 0,n=e.timestamp?Date.parse(e.timestamp):void 0,a={toolUseId:t.id,parentUuid:e.uuid??"",runInBackground:!0===i.run_in_background,prompt:"string"==typeof i.prompt?i.prompt:void 0,tsMs:n};s&&r.set(s,a),void 0!==n&&o.push(a)}o.sort((e,t)=>(e.tsMs??0)-(t.tsMs??0));let l=a.filter(e=>e.startsWith("agent-")&&e.endsWith(".jsonl"));return(await Promise.all(l.map(async s=>{let a,l=s.replace(/^agent-/,"").replace(/\.jsonl$/,""),u=n.default.join(e,s),c=n.default.join(e,`agent-${l}.meta.json`),p={};try{let e=await i.promises.readFile(c,"utf8");p=JSON.parse(e)}catch{}try{a=await v(u)}catch{return null}let f=W(a),m=p.description&&p.description.trim().length>0?p.description:void 0,d=m?r.get(m):function(e){let t;if(void 0===e)return;let i=1/0;for(let s of o){if(void 0===s.tsMs)continue;let n=Math.abs(e-s.tsMs);n<i&&n<=2e3&&(t=s,i=n)}return t}(f.startMs),g=m??(f.initialPrompt?f.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),y=d?.prompt??f.initialPrompt,h=void 0!==t&&void 0!==f.startMs?Math.max(0,f.startMs-t):void 0,w=void 0!==t&&void 0!==f.endMs?Math.max(0,f.endMs-t):void 0,M=void 0!==f.startMs&&void 0!==f.endMs?f.endMs-f.startMs:void 0;return{agentId:l,agentType:p.agentType??"unknown",description:g,startMs:f.startMs,endMs:f.endMs,durationMs:M,startTOffsetMs:h,endTOffsetMs:w,eventCount:f.eventCount,totalUsage:f.totalUsage,parentUuid:d?.parentUuid,parentToolUseId:d?.toolUseId,runInBackground:d?.runInBackground,prompt:y,finalPreview:f.finalPreview,finalText:f.finalText,model:f.model,toolCalls:f.toolCalls,toolCallCount:f.toolCallCount,assistantMessageCount:f.assistantMessageCount}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function L(e,t,s){let a;try{a=await i.promises.readdir(e)}catch{return[]}let r=a.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===r.length)return[];let o=[];for(let e of s){if("tool-call"!==e.role||"Workflow"!==e.toolName)continue;let t=e.timestamp?Date.parse(e.timestamp):NaN;if(!Number.isNaN(t))for(let i of e.blocks)i?.type==="tool_use"&&"Workflow"===i.name&&o.push({toolUseId:i.id,parentUuid:e.uuid??"",tsMs:t})}o.sort((e,t)=>e.tsMs-t.tsMs);let l=e=>"number"==typeof e?e:void 0,u=e=>"string"==typeof e&&e.length>0?e:void 0;return(await Promise.all(r.map(async s=>{let a;try{a=JSON.parse(await i.promises.readFile(n.default.join(e,s),"utf8"))}catch{return null}let r=u(a.runId)??s.replace(/\.json$/,""),c=l(a.startTime),p=l(a.durationMs),f=void 0!==c&&void 0!==p?c+p:void 0,m=void 0!==t&&void 0!==c?Math.max(0,c-t):void 0,d=void 0!==t&&void 0!==f?Math.max(0,f-t):void 0,g=Array.isArray(a.phases)?a.phases.filter(e=>!!e&&"object"==typeof e&&"string"==typeof e.title).map(e=>({title:e.title,detail:u(e.detail)})):[],y=Array.isArray(a.logs)?a.logs.filter(e=>"string"==typeof e):[],h=(e,t)=>{let i=u(e);return void 0===i?void 0:i.length>t?i.slice(0,t)+"…":i},w=(Array.isArray(a.workflowProgress)?a.workflowProgress:[]).filter(e=>!!e&&"object"==typeof e&&"workflow_agent"===e.type).map(e=>({index:l(e.index)??0,label:u(e.label)??"(agent)",phaseIndex:l(e.phaseIndex),phaseTitle:u(e.phaseTitle),agentId:u(e.agentId),model:u(e.model),state:u(e.state),startedAt:l(e.startedAt),durationMs:l(e.durationMs),tokens:l(e.tokens),toolCalls:l(e.toolCalls),lastToolSummary:h(e.lastToolSummary,200),promptPreview:h(e.promptPreview,600),resultPreview:h(e.resultPreview,600)})).sort((e,t)=>e.index-t.index),M=(e=>{let t,i;if(void 0===e||0===o.length)return;let s=1/0,n=1/0;for(let a of o){let r=Math.abs(e-a.tsMs);!(r>6e4)&&(r<n&&(i=a,n=r),a.tsMs<=e&&r<s&&(t=a,s=r))}return t??i})(c);return{runId:r,name:u(a.workflowName)??r,description:u(a.summary),status:u(a.status)??"unknown",agentCount:l(a.agentCount)??0,toolCallCount:l(a.totalToolCalls)??0,totalTokens:l(a.totalTokens)??0,durationMs:p,startMs:c,endMs:f,startTOffsetMs:m,endTOffsetMs:d,model:u(a.defaultModel),phases:g,logs:y,agents:w,parentToolUseId:M?.toolUseId,parentUuid:M?.parentUuid}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function J(e,t,i,s={}){let a,r,o,l,u,c,{root:p=h}=s;if(!/^[\w.-]+$/.test(t)||!/^[\w.-]+$/.test(i))return null;let f=(await S(p)).find(t=>k(t.fileName)===e);if(!f)return null;let m=n.default.join(n.default.dirname(f.fullPath),e,"subagents","workflows",t,`agent-${i}.jsonl`);try{a=await v(m)}catch{return null}let d=new Set;for(let e of a){if(!e||"object"!=typeof e)continue;let t=e.message?.content;if(Array.isArray(t))for(let e of t)e&&"object"==typeof e&&"tool_result"===e.type&&!0===e.is_error&&"string"==typeof e.tool_use_id&&d.add(e.tool_use_id)}let g=[],y=new Map,w={...A},M=new Set,_=0,N=0;for(let e of a){if(!e||"object"!=typeof e)continue;N++;let t="string"==typeof e.timestamp?Date.parse(e.timestamp):NaN;if(!Number.isNaN(t)&&((void 0===u||t<u)&&(u=t),(void 0===c||t>c)&&(c=t)),void 0===r&&"user"===e.type&&(null===e.parentUuid||void 0===e.parentUuid)){let t=e.message?.content;if("string"==typeof t)r=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(r=e.text)}}if("assistant"!==e.type)continue;let i=e.message;if(!i)continue;l||"string"!=typeof i.model||(l=i.model);let s="string"==typeof i.id?i.id:void 0,n="string"==typeof e.requestId?e.requestId:void 0,a=null!=s&&null!=n?`${s}:${n}`:void 0,p=!a||!M.has(a);if(a&&p&&M.add(a),p){_++;let e=i.usage;if(e){let t=e=>"number"==typeof e?e:0;w.input+=t(e.input_tokens),w.output+=t(e.output_tokens),w.cacheRead+=t(e.cache_read_input_tokens),w.cacheWrite+=t(e.cache_creation_input_tokens)}}let f=i.content;if(Array.isArray(f)){for(let e of f)if(e&&"object"==typeof e){if("text"===e.type&&"string"==typeof e.text)o=e.text;else if("tool_use"===e.type&&"string"==typeof e.name&&(y.set(e.name,(y.get(e.name)??0)+1),g.length<2e3)){let t=function(e){if(!e||"object"!=typeof e)return"";let t=t=>"string"==typeof e[t]?e[t]:void 0;return t("command")??t("file_path")??t("path")??t("pattern")??t("url")??t("description")??t("query")??t("prompt")??t("old_string")??JSON.stringify(e)}(e.input),i=t.replace(/\s+/g," ").trim().slice(0,160),s=t.length>4e3?t.slice(0,4e3)+"…":t;g.push({index:g.length+1,tool:e.name,preview:i,full:s.length>i.length||s.includes("\n")?s:void 0,isError:"string"==typeof e.id&&d.has(e.id)})}}}}return{agentId:i,prompt:r,finalText:o,steps:g,toolCalls:Array.from(y.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count),toolCallCount:g.length,assistantMessageCount:_,eventCount:N,totalUsage:w,model:l,durationMs:void 0!==u&&void 0!==c?c-u:void 0}}let q={...a.CLAUDE_CODE_METADATA,defaultRoot:h,async listSessions(e){let t=await B(e);for(let e of t)e.agent||(e.agent="claude-code");return t},async getSession(e,t){let i=await z(e,t);return i&&!i.agent&&(i.agent="claude-code"),i}};e.s(["DEFAULT_ROOT",0,h,"claudeCodeSource",0,q,"getSession",0,z,"invalidateClaudeCodeFile",0,b,"listSessions",0,B,"loadWorkflowAgentDetail",0,J,"summarizeSubagentLines",0,W],20629);let G=n.default.join(s.default.homedir(),".codex","sessions"),H=/^rollout-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})-([0-9a-f-]+)\.jsonl$/;async function K(e){return i.promises.readdir(e).catch(()=>[])}async function Y(e){let t=[];for(let s of(await K(e))){if(!/^\d{4}$/.test(s))continue;let a=n.default.join(e,s);for(let e of(await K(a))){if(!/^\d{2}$/.test(e))continue;let s=n.default.join(a,e);for(let e of(await K(s))){if(!/^\d{2}$/.test(e))continue;let a=n.default.join(s,e);for(let e of(await K(a))){let s=H.exec(e);if(!s)continue;let r=n.default.join(a,e),o=await i.promises.stat(r).catch(()=>null);o&&t.push({filePath:r,sessionId:s[2],mtimeMs:o.mtimeMs,sizeBytes:o.size})}}}}return t}async function Z(e){let t=await i.promises.readFile(e,"utf8"),s=[];for(let e of t.split("\n")){let t=e.trim();if(t)try{s.push(JSON.parse(t))}catch{}}return s}function Q(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function V(e,t){let i,s,n,a,o,l,u,c=[],p={input:0,output:0,cacheRead:0,cacheWrite:0},f=0,m=0,d=[],g=0;for(let e of t){if("object"!=typeof e||null===e)continue;let t="string"==typeof e.timestamp?e.timestamp:void 0;if(t){i||(i=t),s=t;let e=Date.parse(t);Number.isFinite(e)&&d.push(e)}let y="string"==typeof e.type?e.type:"",w=e.payload??{},M="string"==typeof w.type?w.type:"";if("session_meta"===y){"string"==typeof w.cwd&&(n=w.cwd);continue}if("turn_context"===y){"string"==typeof w.cwd&&(n=w.cwd),"string"==typeof w.model&&(a=w.model);continue}if("event_msg"===y&&"token_count"===M){let e=w.info??null,t=e?.total_token_usage??null;t&&(p.input=X(t.input_tokens)??p.input,p.output=X(t.output_tokens)??p.output,p.cacheRead=X(t.cached_input_tokens)??p.cacheRead);continue}if("event_msg"===y&&"user_message"===M){let i="string"==typeof w.message?w.message:"",s=Q(i),n=(0,r.isFrameworkInjectedUserInput)(i);i&&!n&&(o||(o=s),l=s,m+=1),c.push({index:g++,timestamp:t,role:"user",rawType:"event_msg/user_message",preview:s,blocks:i?[{type:"text",text:i}]:[],raw:e});continue}if("event_msg"===y&&"agent_message"===M){let i="string"==typeof w.message?w.message:"",s=Q(i);i&&(u=s),c.push({index:g++,timestamp:t,role:"agent",rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"reasoning"===M){let i=(w.summary??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim();c.push({index:g++,timestamp:t,role:"agent-thinking",rawType:"response_item/reasoning",preview:Q(i),blocks:i?[{type:"thinking",thinking:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"message"===M&&"assistant"===w.role){let i=(w.content??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim(),s=Q(i);i&&(u=s),c.push({index:g++,timestamp:t,role:"agent",rawType:"response_item/message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:a,raw:e});continue}if("response_item"===y&&"function_call"===M){var h;let i="string"==typeof w.name?w.name:"(unknown)",s="string"==typeof w.call_id?w.call_id:void 0,n="string"==typeof w.arguments?w.arguments:"",r=function(e){if(!e)return null;try{return JSON.parse(e)}catch{return e}}(n);f+=1,c.push({index:g++,timestamp:t,role:"tool-call",rawType:"response_item/function_call",preview:`${i}(${(h=n).length<=80?h:h.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:s??`codex-${g}`,name:i,input:r}],toolName:i,toolUseId:s,model:a,raw:e});continue}if("response_item"===y&&"function_call_output"===M){let i="string"==typeof w.call_id?w.call_id:void 0,s="string"==typeof w.output?w.output:"",n=/process exited with code [1-9]/i.test(s);c.push({index:g++,timestamp:t,role:"tool-result",rawType:"response_item/function_call_output",preview:Q(s),blocks:[{type:"tool_result",tool_use_id:i??"",content:s,is_error:n}],toolUseId:i,toolResult:s,raw:e});continue}c.push({index:g++,timestamp:t,role:"meta",rawType:M?`${y}/${M}`:y,preview:"",blocks:[],raw:e})}if(p.input>0||p.output>0){let t=-1;for(let e=c.length-1;e>=0;e--){let i=c[e].role;if("agent"===i||"agent-thinking"===i||"tool-call"===i){t=e;break}}if(t>=0){let i=c[t];i.messageId=`codex-${e.sessionId}-total`,i.usage={input:p.input,output:p.output,cacheRead:p.cacheRead,cacheWrite:0}}}let w=i?Date.parse(i):void 0;if(void 0!==w&&Number.isFinite(w)){let e;for(let t of c){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-w),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let M=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(d),v=M.reduce((e,t)=>e+(t.endMs-t.startMs),0),k=i&&s?Date.parse(s)-Date.parse(i):void 0,_=n?y(n):void 0,N=_?.projectName??"(unknown)",j=n?n.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:e.sessionId,filePath:e.filePath,projectName:N,worktreeName:_?.worktreeName,repoName:_?.repoName,projectDir:j,sessionId:e.sessionId,firstTimestamp:i,lastTimestamp:s,durationMs:k&&Number.isFinite(k)?k:void 0,eventCount:c.length,model:a,cwd:n,totalUsage:p,status:"idle",firstUserPreview:o,lastUserPreview:l,lastAgentPreview:u,toolCallCount:f,turnCount:m,airTimeMs:v,activeSegments:M},events:c}}function X(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}let ee=new Map,et=new Map;async function ei(e={}){let t=e.root??G,i=await Y(t),s=[];for(let e of i){let t=ee.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){s.push(t.meta);continue}try{let t=await Z(e.filePath),{meta:i}=V(e,t);ee.set(e.filePath,{meta:i,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),s.push(i)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function es(e,t={}){let i=t.root??G,s=(await Y(i)).find(t=>t.sessionId===e);if(!s)return null;let n=et.get(s.filePath);if(n&&n.mtimeMs===s.mtimeMs&&n.sizeBytes===s.sizeBytes)return n.detail;let a=await Z(s.filePath),{meta:r,events:o}=V(s,a),l={...r,events:o};return et.set(s.filePath,{detail:l,mtimeMs:s.mtimeMs,sizeBytes:s.sizeBytes}),l}async function en(e={}){let t=e.root??G,i=await Y(t);if(0===i.length)return null;for(let e of(i.sort((e,t)=>t.mtimeMs-e.mtimeMs),i)){let t=await Z(e.filePath);for(let i=t.length-1;i>=0;i--){let s=t[i];if("object"!=typeof s||null===s||"event_msg"!==s.type)continue;let n=s.payload??{};if("token_count"!==n.type)continue;let a=n.rate_limits??null;if(!a)continue;let r=a.primary??null,o=a.secondary??null;if(void 0===X(r?.used_percent)&&void 0===X(o?.used_percent))continue;let l=X(r?.used_percent),u=X(o?.used_percent),c=X(r?.resets_at),p=X(o?.resets_at),f="string"==typeof a.plan_type?a.plan_type:null,m=Date.now(),d=void 0!==c&&m>1e3*c,g=void 0!==p&&m>1e3*p;return{five_hour:{utilization:d?0:l??null,resets_at:void 0!==c?new Date(1e3*c).toISOString():null},seven_day:{utilization:g?0:u??null,resets_at:void 0!==p?new Date(1e3*p).toISOString():null},plan_type:f,source_path:e.filePath}}}return null}let ea=n.default.join(s.default.homedir(),".gemini","tmp"),er=n.default.join(s.default.homedir(),".gemini","projects.json"),eo=/^session-.+\.(jsonl|json)$/;async function el(e){return i.promises.readdir(e).catch(()=>[])}async function eu(e){let t=[];for(let s of(await el(e))){let a=n.default.join(e,s,"chats");for(let e of(await el(a))){if(!eo.test(e))continue;let r=n.default.join(a,e),o=await i.promises.stat(r).catch(()=>null);if(!o||!o.isFile())continue;let l=e.replace(/\.(jsonl|json)$/,"").split("-").pop()??e;t.push({filePath:r,slug:s,filenameId:l,format:e.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:o.mtimeMs,sizeBytes:o.size})}}return t}let ec=null;async function ep(){let e,t=await i.promises.stat(er).catch(()=>null);if(!t)return new Map;if(ec&&ec.mtimeMs===t.mtimeMs)return ec.slugToCwd;let s=await i.promises.readFile(er,"utf8").catch(()=>"");try{e=JSON.parse(s)}catch{e={}}let n=new Map;for(let[t,i]of Object.entries(e.projects??{}))"string"==typeof i&&n.set(i,t);return ec={mtimeMs:t.mtimeMs,slugToCwd:n},n}function ef(e){return!!e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.type}async function em(e){let t=await i.promises.readFile(e.filePath,"utf8");if("legacy-json"===e.format){let e;try{e=JSON.parse(t)}catch{return{meta:{},messages:[]}}return{meta:{sessionId:"string"==typeof e.sessionId?e.sessionId:void 0,projectHash:"string"==typeof e.projectHash?e.projectHash:void 0,startTime:"string"==typeof e.startTime?e.startTime:void 0,lastUpdated:"string"==typeof e.lastUpdated?e.lastUpdated:void 0,summary:"string"==typeof e.summary?e.summary:void 0},messages:(Array.isArray(e.messages)?e.messages:[]).filter(ef)}}let s={},n=new Map,a=[];for(let e of t.split("\n")){let t,i=e.trim();if(i){var r,o;try{t=JSON.parse(i)}catch{continue}if((r=t)&&"object"==typeof r&&"$rewindTo"in r){let e=t.$rewindTo,i=a.indexOf(e);if(i>=0){for(let e of a.slice(i))n.delete(e);a.length=i}continue}if((o=t)&&"object"==typeof o&&"$set"in o){Object.assign(s,t.$set);continue}if(ef(t)){n.has(t.id)||a.push(t.id),n.set(t.id,t);continue}if("object"==typeof t&&null!==t){let e=t;"string"!=typeof e.sessionId||s.sessionId||(s.sessionId=e.sessionId,"string"==typeof e.projectHash&&(s.projectHash=e.projectHash),"string"==typeof e.startTime&&(s.startTime=e.startTime),"string"==typeof e.lastUpdated&&(s.lastUpdated=e.lastUpdated),"string"==typeof e.summary&&(s.summary=e.summary))}}}let l=[];for(let e of a){let t=n.get(e);t&&l.push(t)}return{meta:s,messages:l}}function ed(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function eg(e){if(!e)return"";if("string"==typeof e)return e;let t=Array.isArray(e)?e:[e],i=[];for(let e of t){if(!e||"object"!=typeof e)continue;if("string"==typeof e.text){i.push(e.text);continue}let t=e.functionResponse;if(t){let e=t.response;"string"==typeof e?i.push(e):e&&"object"==typeof e&&("string"==typeof e.output?i.push(e.output):"string"==typeof e.error?i.push(`error: ${e.error}`):i.push(JSON.stringify(e)))}}return i.join("\n")}async function ey(e){let t,i,s,n,a,o,{meta:l,messages:u}=await em(e),c=(await ep()).get(e.slug),p=[],f={input:0,output:0,cacheRead:0,cacheWrite:0},m=0,d=0,g=[],h=0;function w(e){if(p.push(e),e.timestamp&&"meta"!==e.role){t||(t=e.timestamp),i=e.timestamp;let s=Date.parse(e.timestamp);Number.isFinite(s)&&g.push(s)}}for(let e of u){let t=e.timestamp;if("user"===e.type){let i=eg(e.displayContent??e.content),s=ed(i),o=(0,r.isFrameworkInjectedUserInput)(i);i&&!o&&(n||(n=s),a=s,d+=1),w({index:h++,timestamp:t,role:"user",rawType:"gemini/user",preview:s,blocks:i?[{type:"text",text:i}]:[],messageId:e.id,raw:e});continue}if("gemini"===e.type){let i;"string"==typeof e.model&&(s=e.model);let n=eg(e.content),a=ed(n);if(n&&(o=a),e.tokens){let t=e.tokens,s={input:t.input??0,output:t.output??0,cacheRead:t.cached??0,cacheWrite:0};i=s,f.input+=s.input,f.output+=s.output,f.cacheRead+=s.cacheRead}for(let i of e.thoughts??[]){let e=[i.subject,i.description].filter(Boolean).join(": ");e&&w({index:h++,timestamp:i.timestamp??t,role:"agent-thinking",rawType:"gemini/thought",preview:ed(e),blocks:[{type:"thinking",thinking:e}],model:s,raw:i})}for(let r of(n?w({index:h++,timestamp:t,role:"agent",rawType:"gemini/agent",preview:a,blocks:[{type:"text",text:n}],messageId:e.id,model:s,usage:i,raw:e}):i&&w({index:h++,timestamp:t,role:"agent",rawType:"gemini/agent",preview:"",blocks:[],messageId:e.id,model:s,usage:i,raw:e}),e.toolCalls??[])){m+=1;let e=r.args?JSON.stringify(r.args):"";w({index:h++,timestamp:r.timestamp??t,role:"tool-call",rawType:"gemini/tool_call",preview:`${r.name}(${e.length<=80?e:e.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:r.id,name:r.name,input:r.args??{}}],toolName:r.name,toolUseId:r.id,model:s,raw:r});let i=(r.status??"").toLowerCase();if("success"===i||"error"===i||"cancelled"===i){let e=eg(r.result);w({index:h++,timestamp:r.timestamp??t,role:"tool-result",rawType:"gemini/tool_result",preview:ed(e),blocks:[{type:"tool_result",tool_use_id:r.id,content:e,is_error:"error"===i||"cancelled"===i}],toolUseId:r.id,toolResult:e,raw:r})}}continue}if("info"===e.type||"warning"===e.type||"error"===e.type){let i=eg(e.content);w({index:h++,timestamp:t,role:"meta",rawType:`gemini/${e.type}`,preview:ed(i),blocks:i?[{type:"text",text:i}]:[],raw:e});continue}}let M=t?Date.parse(t):void 0;if(void 0!==M&&Number.isFinite(M)){let e;for(let t of p){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-M),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let v=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(g),k=v.reduce((e,t)=>e+(t.endMs-t.startMs),0),_=t&&i?Date.parse(i)-Date.parse(t):void 0,N=l.sessionId??e.filenameId,j=c?y(c):void 0,T=j?.projectName??e.slug,b=c?c.replace(/^\//,"-").replace(/\//g,"-"):e.slug;return{meta:{agent:"gemini",id:N,filePath:e.filePath,projectName:T,worktreeName:j?.worktreeName,repoName:j?.repoName,projectDir:b,sessionId:N,firstTimestamp:t,lastTimestamp:i,durationMs:_&&Number.isFinite(_)?_:void 0,eventCount:p.length,model:s,cwd:c,totalUsage:f,status:"idle",firstUserPreview:n,lastUserPreview:a,lastAgentPreview:o,toolCallCount:m,turnCount:d,airTimeMs:k,activeSegments:v},events:p}}let eh=new Map,ew=new Map;async function eM(e={}){let t=e.root??ea,i=await eu(t),s=[];for(let e of i){let t=eh.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){s.push(t.meta);continue}try{let{meta:t}=await ey(e);eh.set(e.filePath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function ev(e,t={}){let i,s=t.root??ea,n=await eu(s);for(let t of n)if(t.filenameId===e||e.startsWith(t.filenameId)){i=t;break}if(!i)for(let t of n){let{meta:s}=await ey(t).catch(()=>({meta:{id:""}}));if(s.id===e){i=t;break}}if(!i)return null;let a=ew.get(i.filePath);if(a&&a.mtimeMs===i.mtimeMs&&a.sizeBytes===i.sizeBytes)return a.detail;let{meta:r,events:o}=await ey(i),l={...r,events:o};return ew.set(i.filePath,{detail:l,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes}),l}let ek=n.default.join(s.default.homedir(),".gemini","antigravity-cli");async function e_(e){return i.promises.readdir(e).catch(()=>[])}let eN=null;async function ej(e){let t=n.default.join(e,"history.jsonl"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;if(eN&&eN.mtimeMs===s.mtimeMs)return eN.slugToCwd;let a=await i.promises.readFile(t,"utf8").catch(()=>""),r=new Map;for(let e of a.split("\n")){let t=e.trim();if(t)try{let e=JSON.parse(t);e.conversationId&&e.workspace&&r.set(e.conversationId,e.workspace)}catch{}}return eN={mtimeMs:s.mtimeMs,slugToCwd:r},r}async function eT(e){let t=await ej(e),s=[],a=n.default.join(e,"brain");for(let e of(await e_(a))){let r=n.default.join(a,e,".system_generated","logs","transcript.jsonl"),o=await i.promises.stat(r).catch(()=>null);o&&o.isFile()&&s.push({filePath:r,conversationId:e,cwd:t.get(e),mtimeMs:o.mtimeMs,sizeBytes:o.size})}return s}function eb(e){return e.replace(/\s+/g," ").trim().slice(0,200)}async function eS(e){let t,s,n,a,o,l,u=await i.promises.readFile(e.filePath,"utf8"),c=[],p=0,f=0,m=[],d=0;function g(e){if(c.push(e),e.timestamp&&"meta"!==e.role){t||(t=e.timestamp),s=e.timestamp;let i=Date.parse(e.timestamp);Number.isFinite(i)&&m.push(i)}}let h=[],w=[],M=new Map;for(let e of u.split("\n")){let t=e.trim();if(t)try{let e=JSON.parse(t),i=e.step_index;"number"==typeof i?M.has(i)?w[M.get(i)]=e:(M.set(i,w.length),w.push(e)):w.push(e)}catch{}}for(let e of w){let t=e.created_at||e.timestamp;if("USER_INPUT"===e.type){if("string"==typeof e.content){let t=e.content.match(/Model Selection` from .*? to (.*?)\.\s*No need to/);if(t){let e=t[1].trim();n=e=e.replace(/\s*\(.*?\)\s*$/,"").trim()}else{let t=e.content.match(/Model Selection` from .*? to ([^\n]+)/);if(t){let e=t[1].trim();e.endsWith(".")&&(e=e.slice(0,-1).trim()),n=e=e.replace(/\s*\(.*?\)\s*$/,"").trim()}}}let i=e.content||"",s=i.match(/<USER_REQUEST>([\s\S]*?)<\/USER_REQUEST>/);s&&(i=s[1].trim());let l=eb(i),u=(0,r.isFrameworkInjectedUserInput)(i);i&&!u&&(a||(a=l),o=l,f+=1),g({index:d++,timestamp:t,role:"user",rawType:"antigravity/user",preview:l,blocks:i?[{type:"text",text:i}]:[],messageId:e.step_index?.toString(),raw:e});continue}if("PLANNER_RESPONSE"===e.type){let i=e.thinking,s=e.content;if(i&&g({index:d++,timestamp:t,role:"agent-thinking",rawType:"antigravity/thought",preview:eb(i),blocks:[{type:"thinking",thinking:i}],model:n,raw:e}),s){let i=eb(s);l=i,g({index:d++,timestamp:t,role:"agent",rawType:"antigravity/agent",preview:i,blocks:[{type:"text",text:s}],messageId:e.step_index?.toString(),model:n,raw:e})}let a=e.tool_calls||[];for(let i=0;i<a.length;i++){let s=a[i];p+=1;let r=`tool-${e.step_index}-${i}`,o=s.args?JSON.stringify(s.args):"";h.push({id:r,name:s.name}),g({index:d++,timestamp:t,role:"tool-call",rawType:"antigravity/tool_call",preview:`${s.name}(${o.length<=80?o:o.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:r,name:s.name,input:s.args||{}}],toolName:s.name,toolUseId:r,model:n,raw:s})}continue}if("MODEL"===e.source&&"PLANNER_RESPONSE"!==e.type&&"ERROR_MESSAGE"!==e.type&&h.length>0){let i=h.shift(),s=i?i.id:`tool-${e.step_index}-unknown`,n="string"==typeof e.content?e.content:JSON.stringify(e.content||""),a="ERROR"===e.status||"FAILED"===e.status||"CANCELED"===e.status||!!e.error;g({index:d++,timestamp:t,role:"tool-result",rawType:"antigravity/tool_result",preview:eb(n),blocks:[{type:"tool_result",tool_use_id:s,content:n,is_error:a}],toolUseId:s,toolResult:n,raw:e});continue}let i=e.content||e.error||"";g({index:d++,timestamp:t,role:"meta",rawType:`antigravity/${e.type?.toLowerCase()||"unknown"}`,preview:eb(i),blocks:i?[{type:"text",text:i}]:[],raw:e})}let v=t?Date.parse(t):void 0;if(void 0!==v&&Number.isFinite(v)){let e;for(let t of c){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isFinite(i)&&(t.tOffsetMs=Math.max(0,i-v),void 0!==e&&(t.gapMs=Math.max(0,i-e)),e=i)}}let k=function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e-t),i=[],s=t[0],n=t[0];for(let e=1;e<t.length;e++)t[e]-n>18e4&&(i.push({startMs:s,endMs:n}),s=t[e]),n=t[e];return i.push({startMs:s,endMs:n}),i}(m),_=k.reduce((e,t)=>e+(t.endMs-t.startMs),0),N=t&&s?Date.parse(s)-Date.parse(t):void 0,j=e.conversationId,T=e.cwd,b=T?y(T):void 0,S=b?.projectName??e.conversationId,A=T?T.replace(/^\//,"-").replace(/\//g,"-"):e.conversationId;return{meta:{agent:"antigravity",id:j,filePath:e.filePath,projectName:S,worktreeName:b?.worktreeName,repoName:b?.repoName,projectDir:A,sessionId:j,firstTimestamp:t,lastTimestamp:s,durationMs:N&&Number.isFinite(N)?N:void 0,eventCount:c.length,model:n,cwd:T,totalUsage:{input:0,output:0,cacheRead:0,cacheWrite:0},status:"idle",firstUserPreview:a,lastUserPreview:o,lastAgentPreview:l,toolCallCount:p,turnCount:f,airTimeMs:_,activeSegments:k},events:c}}let eA=new Map,ex=new Map;async function eI(e={}){let t=e.root??ek,i=await eT(t),s=[];for(let e of i){let t=eA.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes&&t.cwd===e.cwd){s.push(t.meta);continue}try{let{meta:t}=await eS(e);eA.set(e.filePath,{meta:t,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes,cwd:e.cwd}),s.push(t)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function eC(e,t={}){let i,s=t.root??ek;for(let t of(await eT(s)))if(t.conversationId===e){i=t;break}if(!i)return null;let n=ex.get(i.filePath);if(n&&n.mtimeMs===i.mtimeMs&&n.sizeBytes===i.sizeBytes&&n.cwd===i.cwd)return n.detail;let{meta:a,events:r}=await eS(i),o={...a,events:r};return ex.set(i.filePath,{detail:o,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes,cwd:i.cwd}),o}let eD=(t=s.default.homedir(),n.default.join(t,".config","Claude","local-agent-mode-sessions")),eP=/^local_[0-9a-f-]+$/;async function eR(e){return i.promises.readdir(e).catch(()=>[])}async function e$(e){let t=await i.promises.stat(e).catch(()=>null);return t?t.mtimeMs:0}async function eO(e){let t=[];for(let s of(await eR(e))){let a=n.default.join(e,s);for(let e of(await eR(a))){let s=n.default.join(a,e),r=await e$(n.default.join(s,"spaces.json"));for(let e of(await eR(s))){if(!eP.test(e))continue;let a=n.default.join(s,e,"audit.jsonl"),o=await i.promises.stat(a).catch(()=>null);if(!o||!o.isFile()||0===o.size)continue;let l=n.default.join(s,`${e}.json`),u=await e$(l);t.push({sessionId:e,auditPath:a,metaPath:l,workspaceDir:s,auditMtimeMs:o.mtimeMs,auditSize:o.size,metaMtimeMs:u,spacesMtimeMs:r})}}}return t}let eU=new Map;async function eF(e){let t=n.default.join(e,"spaces.json"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;let a=eU.get(e);if(a&&a.mtimeMs===s.mtimeMs)return a.spaceIdToPath;let r=await i.promises.readFile(t,"utf8").catch(()=>""),o=new Map;try{for(let e of JSON.parse(r).spaces??[]){let t="string"==typeof e.id?e.id:void 0,i=(Array.isArray(e.folders)?e.folders:[])[0],s="string"==typeof i?.path?i.path:void 0;t&&s&&o.set(t,s)}}catch{}return eU.set(e,{mtimeMs:s.mtimeMs,spaceIdToPath:o}),o}async function eB(e){let t=await i.promises.readFile(e,"utf8").catch(()=>"");if(!t)return{};try{let e=JSON.parse(t);return{spaceId:"string"==typeof e.spaceId?e.spaceId:void 0,userSelectedFolders:Array.isArray(e.userSelectedFolders)?e.userSelectedFolders.filter(e=>"string"==typeof e):void 0,cwd:"string"==typeof e.cwd?e.cwd:void 0,model:"string"==typeof e.model?e.model:void 0,title:"string"==typeof e.title?e.title:void 0,createdAt:"number"==typeof e.createdAt?e.createdAt:void 0,lastActivityAt:"number"==typeof e.lastActivityAt?e.lastActivityAt:void 0}}catch{return{}}}async function ez(e){let t=await i.promises.readFile(e,"utf8"),s=[];for(let e of t.split("\n")){let t=e.trim();if(t)try{s.push(JSON.parse(t))}catch{}}return s}async function eW(e){let t,[i,s,n]=await Promise.all([ez(e.auditPath),eB(e.metaPath),eF(e.workspaceDir)]),a=(t=new Map,i.forEach((e,s)=>{if("string"!=typeof e.uuid)return;let n=t.get(e.uuid);void 0===n?t.set(e.uuid,s):void 0===i[n].timestamp&&void 0!==e.timestamp&&t.set(e.uuid,s)}),i.filter((e,i)=>"string"!=typeof e.uuid||t.get(e.uuid)===i)),{mainLines:r,subagentGroups:o}=function(e){let t=[],i=new Map;for(let s of e){let e=s.parent_tool_use_id;if("string"==typeof e){let t=i.get(e);t?t.push(s):i.set(e,[s])}else t.push(s)}return{mainLines:t,subagentGroups:i}}(a),{meta:l,events:u}=m(r),c=function(e,t,i){if(0===e.size)return[];let s=new Map;for(let i of t){let t=i.message?.content;if(Array.isArray(t)){for(let n of t)if(n&&"object"==typeof n){if("tool_use"===n.type&&"Agent"===n.name&&"string"==typeof n.id){let e=n.input??{},t=s.get(n.id)??{};"string"==typeof i.uuid&&(t.parentUuid=i.uuid),"string"==typeof e.description&&(t.description=e.description),"string"==typeof e.subagent_type&&(t.agentType=e.subagent_type),"string"==typeof e.prompt&&(t.prompt=e.prompt),s.set(n.id,t)}else if("tool_result"===n.type&&"string"==typeof n.tool_use_id&&e.has(n.tool_use_id)){let e=s.get(n.tool_use_id)??{};e.finalText=function(e){if("string"==typeof e)return e;if(Array.isArray(e)){let t=[];for(let i of e)if(i&&"object"==typeof i&&"text"===i.type){let e=i.text;"string"==typeof e&&t.push(e)}if(t.length)return t.join("\n")}}(n.content)??e.finalText,s.set(n.tool_use_id,e)}}}}let n=[];for(let[t,a]of e){let e=W(a),r=s.get(t)??{},o=r.finalText??e.finalText,l=o?o.replace(/\s+/g," ").trim().slice(0,240):e.finalPreview,u=void 0!==i&&void 0!==e.startMs?Math.max(0,e.startMs-i):void 0,c=void 0!==i&&void 0!==e.endMs?Math.max(0,e.endMs-i):void 0,p=void 0!==e.startMs&&void 0!==e.endMs?e.endMs-e.startMs:void 0;n.push({agentId:t,agentType:r.agentType??"unknown",description:r.description??(r.prompt?r.prompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),startMs:e.startMs,endMs:e.endMs,durationMs:p,startTOffsetMs:u,endTOffsetMs:c,eventCount:e.eventCount,totalUsage:e.totalUsage,parentUuid:r.parentUuid,parentToolUseId:t,runInBackground:!1,finalPreview:l,finalText:o,prompt:r.prompt,model:e.model,toolCalls:e.toolCalls,toolCallCount:e.toolCallCount,assistantMessageCount:e.assistantMessageCount})}return n.sort((e,t)=>(e.startMs??0)-(t.startMs??0)),n}(o,a,l.firstTimestamp?Date.parse(l.firstTimestamp):void 0),{projectName:p,projectDir:f,cwd:d}=function(e,t){let i;if(e.spaceId&&(i=t.get(e.spaceId)),!i&&e.userSelectedFolders&&e.userSelectedFolders.length>0&&(i=e.userSelectedFolders[0]),!i)return{projectName:"cowork:unspaced",projectDir:"cowork-unspaced"};let s=y(i);return{projectName:s.projectName,worktreeName:s.worktreeName,projectDir:i.replace(/^\//,"-").replace(/\//g,"-"),cwd:i}}(s,n);return{meta:{...l,agent:"cowork",id:e.sessionId,sessionId:e.sessionId,filePath:e.auditPath,projectName:p,projectDir:f,cwd:d??l.cwd,model:l.model??s.model},events:u,subagents:c}}function eE(e){return{auditMtimeMs:e.auditMtimeMs,auditSize:e.auditSize,metaMtimeMs:e.metaMtimeMs,spacesMtimeMs:e.spacesMtimeMs}}function eL(e,t){return e.auditMtimeMs===t.auditMtimeMs&&e.auditSize===t.auditSize&&e.metaMtimeMs===t.metaMtimeMs&&e.spacesMtimeMs===t.spacesMtimeMs}let eJ=new Map,eq=new Map;async function eG(e={}){let t=e.root??eD,i=await eO(t),s=[];for(let e of i){let t=eE(e),i=eJ.get(e.auditPath);if(i&&eL(i.key,t)){s.push(i.meta);continue}try{let{meta:i}=await eW(e);eJ.set(e.auditPath,{meta:i,key:t}),s.push(i)}catch{}}return(s.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?s.slice(0,e.limit):s}async function eH(e,t={}){let i=t.root??eD,s=(await eO(i)).find(t=>t.sessionId===e);if(!s)return null;let n=eE(s),a=eq.get(s.auditPath);if(a&&eL(a.key,n))return a.detail;let{meta:r,events:o,subagents:l}=await eW(s),u={...r,events:o,...l.length?{subagents:l}:{}};return eq.set(s.auditPath,{detail:u,key:n}),u}function eK(){return process.env.CCLENS_HOME||n.default.join(s.default.homedir(),".cclens")}function eY(...e){return n.default.join(eK(),...e)}function eZ(e){b(e)}let eQ=[q,{...a.CODEX_METADATA,defaultRoot:G,listSessions:async e=>ei(e),getSession:async e=>es(e),async usagePoller(){let e=await en();return e?{captured_at:new Date().toISOString(),agent:"codex",five_hour:e.five_hour,seven_day:e.seven_day}:null}},{...a.GEMINI_METADATA,defaultRoot:ea,listSessions:async e=>eM(e),getSession:async e=>ev(e)},{...a.ANTIGRAVITY_METADATA,defaultRoot:ek,listSessions:async e=>eI(e),getSession:async e=>eC(e)},{...a.COWORK_METADATA,defaultRoot:eD,listSessions:async e=>eG(e),getSession:async e=>eH(e)}];async function eV(e={}){let t=await Promise.all(eQ.map(t=>t.listSessions(e))),i=[];for(let e of t)i.push(...e);return(i.sort((e,t)=>(t.firstTimestamp??"").localeCompare(e.firstTimestamp??"")),void 0!==e.limit)?i.slice(0,e.limit):i}async function eX(e){for(let t of eQ){let i=await t.getSession(e);if(i)return i}return null}function e0(){return eY("usage.jsonl")}function e1(e){let t=e0();(0,i.mkdirSync)(n.default.dirname(t),{recursive:!0}),(0,i.appendFileSync)(t,JSON.stringify(e)+"\n","utf8")}function e2(e){let t=e0();if(!(0,i.existsSync)(t))return;let s=(0,i.readFileSync)(t,"utf8").split("\n").filter(t=>{if(!t.trim())return!1;try{return JSON.parse(t).agent!==e}catch{return!0}});(0,i.mkdirSync)(n.default.dirname(t),{recursive:!0}),(0,i.writeFileSync)(t,s.join("\n")+(s.length?"\n":""),"utf8")}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_parser_dist_06d9se1._.js.map
|