fleetlens 0.13.2 → 0.15.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.
Files changed (230) hide show
  1. package/app/apps/web/.next/BUILD_ID +1 -1
  2. package/app/apps/web/.next/app-path-routes-manifest.json +4 -1
  3. package/app/apps/web/.next/build-manifest.json +3 -3
  4. package/app/apps/web/.next/prerender-manifest.json +3 -3
  5. package/app/apps/web/.next/routes-manifest.json +21 -3
  6. package/app/apps/web/.next/server/app/_global-error.html +1 -1
  7. package/app/apps/web/.next/server/app/_global-error.rsc +1 -1
  8. package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/app/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/app/apps/web/.next/server/app/_not-found/page.js +1 -1
  14. package/app/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/app/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/app/apps/web/.next/server/app/api/ask/route.js +3 -3
  17. package/app/apps/web/.next/server/app/api/ask/route.js.nft.json +1 -1
  18. package/app/apps/web/.next/server/app/api/digest/day/[date]/route.js +4 -4
  19. package/app/apps/web/.next/server/app/api/digest/day/[date]/route.js.nft.json +1 -1
  20. package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js +4 -4
  21. package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js.nft.json +1 -1
  22. package/app/apps/web/.next/server/app/api/digest/month-index/route.js +2 -2
  23. package/app/apps/web/.next/server/app/api/digest/month-index/route.js.nft.json +1 -1
  24. package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js +4 -4
  25. package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js.nft.json +1 -1
  26. package/app/apps/web/.next/server/app/api/digest/week-index/route.js +2 -2
  27. package/app/apps/web/.next/server/app/api/digest/week-index/route.js.nft.json +1 -1
  28. package/app/apps/web/.next/server/app/api/pdf/[key]/route.js +4 -4
  29. package/app/apps/web/.next/server/app/api/pdf/[key]/route.js.nft.json +1 -1
  30. package/app/apps/web/.next/server/app/api/runs/[runId]/route.js.nft.json +1 -1
  31. package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route.js.nft.json +1 -1
  32. package/app/apps/web/.next/server/app/api/settings/route.js +4 -3
  33. package/app/apps/web/.next/server/app/api/settings/route.js.nft.json +1 -1
  34. package/app/apps/web/.next/server/app/api/team/autostart/route/app-paths-manifest.json +3 -0
  35. package/app/apps/web/.next/server/app/api/team/autostart/route.js +7 -0
  36. package/app/apps/web/.next/server/app/api/team/autostart/route.js.nft.json +1 -0
  37. package/app/apps/web/.next/server/app/api/team/autostart/route_client-reference-manifest.js +3 -0
  38. package/app/apps/web/.next/server/app/api/team/onboarding/start/route/app-paths-manifest.json +3 -0
  39. package/app/apps/web/.next/server/app/api/team/onboarding/start/route/build-manifest.json +9 -0
  40. package/app/apps/web/.next/server/app/api/team/onboarding/start/route/server-reference-manifest.json +4 -0
  41. package/app/apps/web/.next/server/app/api/team/onboarding/start/route.js +8 -0
  42. package/app/apps/web/.next/server/app/api/team/onboarding/start/route.js.map +5 -0
  43. package/app/apps/web/.next/server/app/api/team/onboarding/start/route.js.nft.json +1 -0
  44. package/app/apps/web/.next/server/app/api/team/onboarding/start/route_client-reference-manifest.js +3 -0
  45. package/app/apps/web/.next/server/app/api/team/sync-projects/route/app-paths-manifest.json +3 -0
  46. package/app/apps/web/.next/server/app/api/team/sync-projects/route/build-manifest.json +9 -0
  47. package/app/apps/web/.next/server/app/api/team/sync-projects/route/server-reference-manifest.json +4 -0
  48. package/app/apps/web/.next/server/app/api/team/sync-projects/route.js +8 -0
  49. package/app/apps/web/.next/server/app/api/team/sync-projects/route.js.map +5 -0
  50. package/app/apps/web/.next/server/app/api/team/sync-projects/route.js.nft.json +1 -0
  51. package/app/apps/web/.next/server/app/api/team/sync-projects/route_client-reference-manifest.js +3 -0
  52. package/app/apps/web/.next/server/app/changelog/page.js +1 -1
  53. package/app/apps/web/.next/server/app/changelog/page.js.nft.json +1 -1
  54. package/app/apps/web/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
  55. package/app/apps/web/.next/server/app/day/[date]/page.js +1 -1
  56. package/app/apps/web/.next/server/app/day/[date]/page.js.nft.json +1 -1
  57. package/app/apps/web/.next/server/app/day/[date]/page_client-reference-manifest.js +1 -1
  58. package/app/apps/web/.next/server/app/day/page.js +1 -1
  59. package/app/apps/web/.next/server/app/day/page.js.nft.json +1 -1
  60. package/app/apps/web/.next/server/app/day/page_client-reference-manifest.js +1 -1
  61. package/app/apps/web/.next/server/app/digest/[date]/page.js +1 -1
  62. package/app/apps/web/.next/server/app/digest/[date]/page.js.nft.json +1 -1
  63. package/app/apps/web/.next/server/app/digest/[date]/page_client-reference-manifest.js +1 -1
  64. package/app/apps/web/.next/server/app/digest/page.js +1 -1
  65. package/app/apps/web/.next/server/app/digest/page.js.nft.json +1 -1
  66. package/app/apps/web/.next/server/app/digest/page_client-reference-manifest.js +1 -1
  67. package/app/apps/web/.next/server/app/insights/[key]/page.js +1 -1
  68. package/app/apps/web/.next/server/app/insights/[key]/page.js.nft.json +1 -1
  69. package/app/apps/web/.next/server/app/insights/[key]/page_client-reference-manifest.js +1 -1
  70. package/app/apps/web/.next/server/app/insights/page.js +1 -1
  71. package/app/apps/web/.next/server/app/insights/page.js.nft.json +1 -1
  72. package/app/apps/web/.next/server/app/insights/page_client-reference-manifest.js +1 -1
  73. package/app/apps/web/.next/server/app/page.js +2 -2
  74. package/app/apps/web/.next/server/app/page.js.nft.json +1 -1
  75. package/app/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  76. package/app/apps/web/.next/server/app/parallelism/page.js +1 -1
  77. package/app/apps/web/.next/server/app/parallelism/page.js.nft.json +1 -1
  78. package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
  79. package/app/apps/web/.next/server/app/print/[key]/page.js +1 -1
  80. package/app/apps/web/.next/server/app/print/[key]/page.js.nft.json +1 -1
  81. package/app/apps/web/.next/server/app/print/[key]/page_client-reference-manifest.js +1 -1
  82. package/app/apps/web/.next/server/app/projects/[slug]/page.js +2 -2
  83. package/app/apps/web/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  84. package/app/apps/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  85. package/app/apps/web/.next/server/app/projects/page.js +1 -1
  86. package/app/apps/web/.next/server/app/projects/page.js.nft.json +1 -1
  87. package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  88. package/app/apps/web/.next/server/app/runs/page.js +1 -1
  89. package/app/apps/web/.next/server/app/runs/page.js.nft.json +1 -1
  90. package/app/apps/web/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  91. package/app/apps/web/.next/server/app/sessions/[id]/page.js +3 -3
  92. package/app/apps/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  93. package/app/apps/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  94. package/app/apps/web/.next/server/app/sessions/page.js +1 -1
  95. package/app/apps/web/.next/server/app/sessions/page.js.nft.json +1 -1
  96. package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  97. package/app/apps/web/.next/server/app/settings/page.js +2 -2
  98. package/app/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
  99. package/app/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  100. package/app/apps/web/.next/server/app/team/onboarding/page/app-paths-manifest.json +3 -0
  101. package/app/apps/web/.next/server/app/team/onboarding/page/build-manifest.json +17 -0
  102. package/app/apps/web/.next/server/app/team/onboarding/page/next-font-manifest.json +6 -0
  103. package/app/apps/web/.next/server/app/team/onboarding/page/react-loadable-manifest.json +1 -0
  104. package/app/apps/web/.next/server/app/team/onboarding/page/server-reference-manifest.json +4 -0
  105. package/app/apps/web/.next/server/app/team/onboarding/page.js +19 -0
  106. package/app/apps/web/.next/server/app/team/onboarding/page.js.map +5 -0
  107. package/app/apps/web/.next/server/app/team/onboarding/page.js.nft.json +1 -0
  108. package/app/apps/web/.next/server/app/team/onboarding/page_client-reference-manifest.js +3 -0
  109. package/app/apps/web/.next/server/app/team/page.js +3 -2
  110. package/app/apps/web/.next/server/app/team/page.js.nft.json +1 -1
  111. package/app/apps/web/.next/server/app/team/page_client-reference-manifest.js +1 -1
  112. package/app/apps/web/.next/server/app/usage/page.js +1 -1
  113. package/app/apps/web/.next/server/app/usage/page.js.nft.json +1 -1
  114. package/app/apps/web/.next/server/app/usage/page_client-reference-manifest.js +1 -1
  115. package/app/apps/web/.next/server/app-paths-manifest.json +4 -1
  116. package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_team_onboarding_start_route_actions_0zeptl_.js +3 -0
  117. package/app/apps/web/.next/server/chunks/0fuv_zod_v4_classic_external_0.z.vap.js +39 -0
  118. package/app/apps/web/.next/server/chunks/[root-of-the-server]__038-.1r._.js +6 -0
  119. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0~utv~v._.js → [root-of-the-server]__03ewxxu._.js} +2 -2
  120. package/app/apps/web/.next/server/chunks/[root-of-the-server]__03rmbz6._.js +3 -0
  121. package/app/apps/web/.next/server/chunks/[root-of-the-server]__065lib8._.js +3 -0
  122. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0e.f-t.._.js → [root-of-the-server]__0a0~7d6._.js} +2 -2
  123. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0gril0u._.js → [root-of-the-server]__0acikq.._.js} +2 -2
  124. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0et2sqb._.js +3 -0
  125. package/app/apps/web/.next/server/chunks/{[externals]__09v47rg._.js → [root-of-the-server]__0jbc7tz._.js} +2 -2
  126. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0mq0or2._.js +3 -0
  127. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0mvl0qn._.js +3 -0
  128. package/app/apps/web/.next/server/chunks/{[root-of-the-server]__0n79hpm._.js → [root-of-the-server]__0ow1kn1._.js} +4 -4
  129. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0~xt99s._.js +3 -0
  130. package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_team_autostart_route_actions_10-4s71.js +3 -0
  131. package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_team_sync-projects_route_actions_0r_2f5n.js +3 -0
  132. package/app/apps/web/.next/server/chunks/node_modules_next_036my~r._.js +13 -0
  133. package/app/apps/web/.next/server/chunks/packages_09wmnv.._.js +3 -0
  134. package/app/apps/web/.next/server/chunks/packages_0o6.gpk._.js +3 -0
  135. package/app/apps/web/.next/server/chunks/packages_parser_dist_06d9se1._.js +1 -1
  136. package/app/apps/web/.next/server/chunks/packages_parser_dist_10ihc3~._.js +1 -1
  137. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0z7mg0b._.js → [root-of-the-server]__08l86e-._.js} +2 -2
  138. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0a7n44-._.js +3 -0
  139. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0c00i76._.js +3 -0
  140. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0i.q-1h._.js +3 -0
  141. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0r4tks8._.js +1 -1
  142. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0stu~~r._.js +3 -0
  143. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ufi3.w._.js +3 -0
  144. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0o03ymy._.js → [root-of-the-server]__10~b4bf._.js} +2 -2
  145. package/app/apps/web/.next/server/chunks/ssr/_0xu2pvc._.js +1 -1
  146. package/app/apps/web/.next/server/chunks/ssr/apps_web_0.97l5.._.js +3 -0
  147. package/app/apps/web/.next/server/chunks/ssr/{apps_web_app_settings_0u6z6rj._.js → apps_web_0q2x4a~._.js} +2 -2
  148. package/app/apps/web/.next/server/chunks/ssr/apps_web_114yo0v._.js +3 -0
  149. package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_team_onboarding_page_actions_0pss~.k.js +3 -0
  150. package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0c-tpft._.js +1 -1
  151. package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0txtsv5._.js +1 -1
  152. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0n7_p1d._.js +1 -1
  153. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0nb5_-s._.js +1 -1
  154. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_team-config_ts_10egg08._.js +39 -0
  155. package/app/apps/web/.next/server/chunks/ssr/{node_modules_next_dist_0t-hj0x._.js → node_modules_0yrkyef._.js} +2 -2
  156. package/app/apps/web/.next/server/chunks/ssr/node_modules_next_0w2y7fz._.js +2 -2
  157. package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0jxvcfi.js +2 -2
  158. package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0s5yhs4.js +4 -0
  159. package/app/apps/web/.next/server/chunks/ssr/packages_entries_dist_node_0_271yr.js +1 -1
  160. package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_0mx_509._.js +1 -1
  161. package/app/apps/web/.next/server/functions-config-manifest.json +3 -1
  162. package/app/apps/web/.next/server/middleware-build-manifest.js +3 -3
  163. package/app/apps/web/.next/server/middleware-manifest.json +5 -5
  164. package/app/apps/web/.next/server/pages/500.html +1 -1
  165. package/app/apps/web/.next/server/server-reference-manifest.js +1 -1
  166. package/app/apps/web/.next/server/server-reference-manifest.json +1 -1
  167. package/app/apps/web/.next/static/chunks/{0wwcx42ng8i2e.js → 0-3_u.90d79wi.js} +1 -1
  168. package/app/apps/web/.next/static/chunks/00a9oyw~h5i1p.js +1 -0
  169. package/app/apps/web/.next/static/chunks/040s42ypidk7s.css +1 -0
  170. package/app/apps/web/.next/static/chunks/06eiwghjkkbnh.js +1 -0
  171. package/app/apps/web/.next/static/chunks/06qeg4pt5jdqs.js +1 -0
  172. package/app/apps/web/.next/static/chunks/{0e_fzy0n8ij-o.js → 0u6gxpqhl0gc7.js} +1 -1
  173. package/app/apps/web/.next/static/chunks/18cj08-la37o-.js +1 -0
  174. package/app/apps/web/app/api/team/autostart/route.ts +41 -0
  175. package/app/apps/web/app/api/team/onboarding/start/route.ts +96 -0
  176. package/app/apps/web/app/api/team/sync-projects/route.ts +39 -0
  177. package/app/apps/web/app/globals.css +82 -0
  178. package/app/apps/web/app/settings/ai-features-form.tsx +1 -1
  179. package/app/apps/web/app/settings/page.tsx +21 -7
  180. package/app/apps/web/app/{settings → team}/force-sync-button.tsx +2 -4
  181. package/app/apps/web/app/team/onboarding/onboarding-wizard.tsx +503 -0
  182. package/app/apps/web/app/team/onboarding/page.tsx +28 -0
  183. package/app/apps/web/app/team/page.tsx +60 -81
  184. package/app/apps/web/app/{settings/team-connection-section.tsx → team/sync-activity-section.tsx} +6 -23
  185. package/app/apps/web/app/team/synced-projects-form.tsx +201 -0
  186. package/app/apps/web/app/team/synced-projects-section.tsx +37 -0
  187. package/app/apps/web/components/autostart-toggle.tsx +59 -0
  188. package/app/apps/web/components/previous-cycles-trend.tsx +4 -1
  189. package/app/apps/web/components/project-sync-picker.tsx +109 -0
  190. package/app/apps/web/components/team-chip.tsx +1 -1
  191. package/app/apps/web/components/team-welcome-banner.tsx +1 -1
  192. package/app/apps/web/lib/autostart-data.ts +31 -0
  193. package/app/apps/web/lib/changelog-data.generated.ts +1 -1
  194. package/app/apps/web/lib/sync-projects-data.ts +36 -0
  195. package/app/apps/web/lib/team-config.ts +21 -4
  196. package/app/apps/web/package.json +1 -1
  197. package/app/apps/web/tsconfig.tsbuildinfo +1 -1
  198. package/dist/daemon-worker.js +2089 -1622
  199. package/dist/index.js +1462 -230
  200. package/package.json +1 -1
  201. package/app/apps/web/.next/server/app/api/team-config/route/app-paths-manifest.json +0 -3
  202. package/app/apps/web/.next/server/app/api/team-config/route.js +0 -8
  203. package/app/apps/web/.next/server/app/api/team-config/route.js.nft.json +0 -1
  204. package/app/apps/web/.next/server/app/api/team-config/route_client-reference-manifest.js +0 -3
  205. package/app/apps/web/.next/server/chunks/[root-of-the-server]__08agijy._.js +0 -3
  206. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0atn.dt._.js +0 -3
  207. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0b.b7~1._.js +0 -3
  208. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0i06ito._.js +0 -3
  209. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0y5p73y._.js +0 -3
  210. package/app/apps/web/.next/server/chunks/_0euqdko._.js +0 -49
  211. package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_team-config_route_actions_0ad2gak.js +0 -3
  212. package/app/apps/web/.next/server/chunks/packages_0c-sz9n._.js +0 -3
  213. package/app/apps/web/.next/server/chunks/packages_0wywuu.._.js +0 -3
  214. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__09yxy53._.js +0 -3
  215. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0exckd4._.js +0 -3
  216. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0n-ax-5._.js +0 -3
  217. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0q9qy0z._.js +0 -3
  218. package/app/apps/web/.next/server/chunks/ssr/apps_web_app_team_team-sync-form_tsx_0choz0h._.js +0 -3
  219. package/app/apps/web/.next/static/chunks/083~hzkv577.5.css +0 -1
  220. package/app/apps/web/.next/static/chunks/0h.ua.-myj.6z.js +0 -1
  221. package/app/apps/web/.next/static/chunks/0uyctl-m8iydb.js +0 -1
  222. package/app/apps/web/.next/static/chunks/14joqbsr9ihhu.js +0 -1
  223. package/app/apps/web/app/api/team-config/route.ts +0 -39
  224. package/app/apps/web/app/team/team-sync-form.tsx +0 -144
  225. /package/app/apps/web/.next/server/app/api/{team-config → team/autostart}/route/build-manifest.json +0 -0
  226. /package/app/apps/web/.next/server/app/api/{team-config → team/autostart}/route/server-reference-manifest.json +0 -0
  227. /package/app/apps/web/.next/server/app/api/{team-config → team/autostart}/route.js.map +0 -0
  228. /package/app/apps/web/.next/static/{bZs5UyzsYBqC6MFY5n-M_ → C4y6rare_ZCcXXQLc8ysA}/_buildManifest.js +0 -0
  229. /package/app/apps/web/.next/static/{bZs5UyzsYBqC6MFY5n-M_ → C4y6rare_ZCcXXQLc8ysA}/_clientMiddlewareManifest.js +0 -0
  230. /package/app/apps/web/.next/static/{bZs5UyzsYBqC6MFY5n-M_ → C4y6rare_ZCcXXQLc8ysA}/_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:"✺"},a={kind:"antigravity",displayName:"Antigravity",shortLabel:"Agy",accentColor:"rgb(236, 72, 153)",iconChar:"⏃"},n={kind:"cowork",displayName:"Cowork",shortLabel:"Cowork",accentColor:"rgb(217, 119, 87)",iconChar:"⌘"},o=[t,i,s,a,n];o.map(e=>e.kind),e.s(["ANTIGRAVITY_METADATA",0,a,"CLAUDE_CODE_METADATA",0,t,"CODEX_METADATA",0,i,"COWORK_METADATA",0,n,"GEMINI_METADATA",0,s,"agentMetadata",0,o])},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])},79357,e=>{"use strict";let t=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],i=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/,s="/.superset/worktrees/",a=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;e.s(["canonicalProjectName",0,function(e){let n=e.replace(/\/{2,}/g,"/"),o=function(e){for(let i of t){let t=e.lastIndexOf(i);if(t>=0)return{idx:t,marker:i}}return null}(n);if(o)return n.slice(0,o.idx);let r=function(e){let t=i.exec(e);if(!t)return null;let s=t[1],a=+!!t[0].endsWith("/");return{canonicalEndIdx:t.index+t[0].length-s.length-1-a,workspaceName:s}}(n);if(r)return n.slice(0,r.canonicalEndIdx);let l=function(e){let t=e.indexOf(s);if(t<0)return null;let i=e.slice(t+s.length).split("/").filter(Boolean);if(0===i.length)return null;let n=a.test(i[0])?i[1]??i[0]:i[0];return{canonical:e.slice(0,t)+s+n,workspaceName:n}}(n);return l?l.canonical:n},"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,a=t.minActive??2,n=[];for(let t of e)for(let e of t.segments)e.endMs<=e.startMs||(n.push({ms:e.startMs,delta:1,sessionId:t.id}),n.push({ms:e.endMs,delta:-1,sessionId:t.id}));n.sort((e,t)=>e.ms-t.ms||t.delta-e.delta);let o=new Map,r=[],l=null;for(let e of n){if(1===e.delta)o.set(e.sessionId,(o.get(e.sessionId)??0)+1);else{let t=(o.get(e.sessionId)??0)-1;t<=0?o.delete(e.sessionId):o.set(e.sessionId,t)}let t=o.size;if(t>=a)if(l)for(let i of(l.endMs=e.ms,t>l.peak&&(l.peak=t),o.keys()))l.sessionIds.add(i);else l={startMs:e.ms,endMs:e.ms,peak:t,sessionIds:new Set(o.keys())};else l&&(l.endMs=e.ms,r.push(l),l=null)}l&&r.push(l);let u=r.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)},"toLocalDay",0,function(e){let t=new Date(e),i=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0");return`${i}-${s}-${a}`}])},43427,20629,e=>{"use strict";let t;e.s(["cclensHome",()=>eL,"cclensPath",()=>eq,"getAnySession",()=>eY,"invalidateFile",()=>eG],43427);var i=e.i(2157),s=e.i(60526),a=e.i(50227),n=e.i(39587),o=e.i(36521),r=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(),a="message";if(s.startsWith("{"))try{let e=JSON.parse(s);"idle_notification"===e.type?a="idle-notification":"shutdown_request"===e.type?a="shutdown-request":"shutdown_approved"===e.type?a="shutdown-approved":"task_assignment"===e.type?a="task-assignment":"teammate_terminated"===e.type&&(a="teammate-terminated")}catch{}return{teammateId:i,body:s,kind:a}}function m(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 f(e){let t,i,s,a,n,c,f,d,y,g,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,a=e.parentUuid??null,n=e.timestamp;if("assistant"===i){let o,r,l,c=e.message??{},p=c.content??[],f=m(c.usage),d=c.model,y=e.requestId,g=c.id,h=c.stop_reason,w=p[0],M="agent";return w?.type==="thinking"?(M="agent-thinking",o="[thinking] "+u(w.thinking,140)):w?.type==="tool_use"?(M="tool-call",r=w.name,l=w.id,o=`${w.name} `+u(JSON.stringify(w.input??{}),100)):o=w?.type==="text"?u(w.text,200):`<assistant:${w?.type??"empty"}>`,{index:t,uuid:s,parentUuid:a,timestamp:n,role:M,rawType:i,preview:o,blocks:p,usage:f,model:d,requestId:y,messageId:g,stopReason:h,toolName:r,toolUseId:l,raw:e}}if("user"===i){let r=(e.message??{}).content;if("string"==typeof r){let l=(0,o.stripFrameworkBoilerplate)(r),c=p(l);return{index:t,uuid:s,parentUuid:a,timestamp:n,role:"user",rawType:i,preview:u(l,200),blocks:l?[{type:"text",text:l}]:[],raw:e,teammateMessage:c}}if(Array.isArray(r)){let l=r[0];if(l?.type==="tool_result")return{index:t,uuid:s,parentUuid:a,timestamp:n,role:"tool-result",rawType:i,preview:u("string"==typeof l.content?l.content:JSON.stringify(l.content),200),blocks:r,toolUseId:l.tool_use_id,toolResult:e.toolUseResult,raw:e};let c=r.find(e=>e?.type==="text"),m=c?(0,o.stripFrameworkBoilerplate)(c.text):"",f=c?r.map(e=>e===c?{type:"text",text:m}:e):r,d=m?p(m):void 0;return{index:t,uuid:s,parentUuid:a,timestamp:n,role:"user",rawType:i,preview:m?u(m,200):u(JSON.stringify(r),200),blocks:f,raw:e,teammateMessage:d}}}if("attachment"===i){let o=e.attachment??{},r=String(o.type??"attachment"),l=`<attachment: ${r}>`;return"string"==typeof o.content&&o.content.length>0?l=`[${r}] `+u(o.content,140):Array.isArray(o.addedNames)&&(l=`[${r}] +${o.addedNames.length} names`),{index:t,uuid:s,parentUuid:a,timestamp:n,role:"system",rawType:i,preview:l,blocks:[{type:"text",text:JSON.stringify(o,null,2)}],attachmentType:r,raw:e}}return{index:t,uuid:s,parentUuid:a,timestamp:n,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),j=[],b=0;if(_.length>0){let e=_[0],t=_[0];for(let i=1;i<_.length;i++){let s=_[i],a=s-t;a>18e4?(j.push({startMs:e,endMs:t}),e=s):a>0&&(b+=a),t=s}j.push({startMs:e,endMs:t})}let N=new Map,I=[];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=N.get(e.messageId);i?(i.siblings.push(e),t<i.ms&&(i.rep=e,i.ms=t)):N.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??{};I.push({ms:t,trigger:"manual"===s.trigger?"manual":"auto",preTokens:"number"==typeof s.preTokens?s.preTokens:0})}}}let x=[...N.values()].sort((e,t)=>e.ms-t.ms);I.sort((e,t)=>e.ms-t.ms);let T=0,S=0,A=(e,t)=>{for(let i of e.siblings)i.coldResume=t;T++,S+=t.writeTokens},C=new Set;for(let e of I){let t,i=x.find(t=>t.ms>e.ms&&(t.rep.usage?.cacheWrite??0)>=1e3);if(!i)continue;for(let i=x.length-1;i>=0;i--)if(x[i].ms<=e.ms){t=x[i].ms;break}let s=i.rep.usage,a=s.cacheWrite+s.cacheRead;A(i,{trigger:"compact",gapMs:void 0!==t?i.ms-t:0,writeTokens:s.cacheWrite,writeRatio:a>0?s.cacheWrite/a:0,compact:{trigger:e.trigger,preTokens:e.preTokens}}),C.add(i.rep.messageId)}for(let e=1;e<x.length;e++){let t=x[e-1],i=x[e];if(C.has(i.rep.messageId))continue;let s=i.rep.usage,a=s.cacheWrite+s.cacheRead,n=a>0?s.cacheWrite/a:0,o=i.ms-t.ms;o>3e5&&s.cacheWrite>=1e3&&n>=.3&&A(i,{trigger:"idle",gapMs:o,writeTokens:s.cacheWrite,writeRatio:n})}let P={...l},D=new Set,R="",O=!1,$=!1,B=0,z=0,F=0,W=0,E=new Set,U=new Map,J=void 0!==t?(0,r.toLocalDay)(t):void 0,L=e=>{let t;if(e){let i=Date.parse(e);Number.isNaN(i)||(t=(0,r.toLocalDay)(i))}if(!(t=t??J))return;let i=U.get(t);return i||(i={toolCalls:0,turns:0,tokens:{...l}},U.set(t,i)),i};for(let e of w){if("tool-call"===e.role){B++;let t=L(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&&(O=!0),"SendMessage"===i.name){let t="string"==typeof e.to?e.to:"";t&&"team-lead"!==t&&($=!0)}let t="string"==typeof e.file_path?e.file_path:void 0;if("Edit"===i.name&&t){E.add(t);let i="string"==typeof e.old_string?e.old_string:"",s="string"==typeof e.new_string?e.new_string:"",a=i?i.split("\n").length:0,n=s?s.split("\n").length:0;F+=Math.max(0,n-a),W+=Math.max(0,a-n)}else if("Write"===i.name&&t){E.add(t);let i="string"==typeof e.content?e.content:"";F+=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,o.isFrameworkInjectedUserInput)(t),s=void 0!==e.teammateMessage&&!d;if(!i&&!s){y||(y=e.teammateMessage?e.teammateMessage.body:e.preview),z++;let t=L(e.timestamp);t&&t.turns++,h=e.preview}}"agent"===e.role&&(g=e.preview)}for(let t of e)if(t&&"object"==typeof t&&("string"!=typeof t.sessionId||R||(R=t.sessionId),"string"!=typeof t.cwd||a||(a=t.cwd),"string"!=typeof t.gitBranch||n||(n=t.gitBranch),"string"!=typeof t.entrypoint||c||(c=t.entrypoint),"string"!=typeof t.teamName||f||(f=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&&D.has(i))continue;i&&D.add(i);let a=m(e.usage);if(a){P.input+=a.input,P.output+=a.output,P.cacheRead+=a.cacheRead,P.cacheWrite+=a.cacheWrite;let e=L("string"==typeof t.timestamp?t.timestamp:void 0);e&&(e.tokens.input+=a.input,e.tokens.output+=a.output,e.tokens.cacheRead+=a.cacheRead,e.tokens.cacheWrite+=a.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:a,gitBranch:n,entrypoint:c,totalUsage:P,status:"idle",firstUserPreview:y,lastUserPreview:h,lastAgentPreview:g,toolCallCount:B,turnCount:z,dailyBreakdown:Array.from(U.entries()).map(([e,t])=>({day:e,toolCalls:t.toolCalls,turns:t.turns,tokens:t.tokens})).sort((e,t)=>e.day.localeCompare(t.day)),airTimeMs:b,activeSegments:j,linesAdded:F,linesRemoved:W,filesEdited:E.size,coldResumeCount:T,cacheRebuildTokens:S,teamName:f,agentName:d,isTeamLead:void 0!==f&&void 0===d&&(O||$)}}}let d=a.default.join(s.default.homedir(),".claude","projects");function y(e){return e.startsWith("-")?"/"+e.slice(1).replace(/-/g,"/"):e}let g=a.default.join(s.default.homedir(),".cclens","runtime").replace(/[/.]/g,"-");async function h(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 w(e){return e.replace(/\.jsonl$/i,"")}let M=new Map,v=new Map,k=new Map,_=null;function j(e){M.delete(e),v.delete(e),k.delete(e),_=null}async function b(e=d){let t;if(_&&_.root===e&&Date.now()-_.capturedAtMs<1e3)return _.files;try{t=await i.promises.readdir(e,{withFileTypes:!0})}catch{return[]}let s=t.filter(e=>e.isDirectory()&&e.name!==g).map(e=>e.name),n=(await Promise.all(s.map(async t=>{let s,n=a.default.join(e,t);try{s=await i.promises.readdir(n)}catch{return[]}let o=s.filter(e=>e.endsWith(".jsonl"));return(await Promise.all(o.map(async e=>{let s=a.default.join(n,e);try{let a=await i.promises.stat(s);return{projectDir:t,fileName:e,fullPath:s,mtimeMs:a.mtimeMs,sizeBytes:a.size}}catch{return null}}))).filter(e=>null!==e)}))).flat();return _={files:n,capturedAtMs:Date.now(),root:e},n}let N={input:0,output:0,cacheRead:0,cacheWrite:0};function I(e,t,i,s,a){for(let n of e){if(!n||"object"!=typeof n||"assistant"!==n.type)continue;let e=n.message;if(!e)continue;let o="string"==typeof e.id?e.id:void 0,l="string"==typeof n.requestId?n.requestId:void 0,u=null!=o&&null!=l?`${o}:${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),o=e(c.output_tokens),l=e(c.cache_read_input_tokens),u=e(c.cache_creation_input_tokens);if(i.input+=t,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u,s){let e,i="string"==typeof n.timestamp?n.timestamp:void 0;if(i){let t=Date.parse(i);Number.isNaN(t)||(e=(0,r.toLocalDay)(t))}if(e=e??a){let i=s.get(e);i||(i={...N},s.set(e,i)),i.input+=t,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u}}}}}async function x(e,t,s,n){let o,r={...N},l=new Set,u=new Map;I(e,l,r,u,n);let c=a.default.join(t,s,"subagents");try{o=await i.promises.readdir(c)}catch{return{usage:r,perDay:u}}let p=o.filter(e=>e.endsWith(".jsonl"));return 0===p.length||await Promise.all(p.map(async e=>{try{let t=await h(a.default.join(c,e));I(t,l,r,u,n)}catch{}})),{usage:r,perDay:u}}async function T(e,t){let s,n=a.default.join(e,t,"workflows");try{s=await i.promises.readdir(n)}catch{return{workflowCount:0,spawnedAgentCount:0,spans:[]}}let o=s.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===o.length)return{workflowCount:0,spawnedAgentCount:0,spans:[]};let r=0,l=[];return{workflowCount:(await Promise.all(o.map(async e=>{try{let t=JSON.parse(await i.promises.readFile(a.default.join(n,e),"utf8"));return"number"==typeof t.agentCount&&(r+=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:r,spans:l}}async function S(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 n=a.default.join(e,s.name);try{if(s.isDirectory())return t>0?await S(n,t-1):0;return(await i.promises.stat(n)).mtimeMs}catch{return 0}}))).reduce((e,t)=>Math.max(e,t),0)}async function A(e,t){let i=a.default.join(e,t),[s,n]=await Promise.all([S(a.default.join(i,"subagents"),2),S(a.default.join(i,"workflows"),0)]),o=Math.max(s,n);return o>0?o:void 0}async function C(e,t){let i=await A(a.default.dirname(t.fullPath),e.id),s=e.lastTimestamp?Date.parse(e.lastTimestamp):0,n=Math.max(Number.isFinite(s)?s:0,i??0);return n>0?{...e,lastActivityMs:n}:e}function P(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],a=s[s.length-1];t.startMs<=a.endMs?a.endMs=Math.max(a.endMs,t.endMs):s.push({...t})}let a=s.reduce((e,t)=>e+(t.endMs-t.startMs),0);return{activeSegments:s,airTimeMs:a}}async function D(e,t,i){let s=w(i.fileName),n=a.default.dirname(i.fullPath),o=e.firstTimestamp?(0,r.toLocalDay)(Date.parse(e.firstTimestamp)):void 0,{usage:l,perDay:u}=await x(t,n,s,o);e.totalUsage=l,e.dailyBreakdown=function(e,t,i){let s=new Map((e??[]).map(e=>[e.day,e])),a=[...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)??N}}));if(a.length>0){let e=a.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}),{...N}),t=a[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 a}(e.dailyBreakdown,u,l)}async function R(e){let t=M.get(e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.meta;try{let t=await h(e.fullPath),{meta:i}=f(t);await D(i,t,e);let s=w(e.fileName),n=a.default.dirname(e.fullPath),o=await T(n,s),r={...i,id:s,filePath:e.fullPath,projectDir:e.projectDir,projectName:i.cwd??y(e.projectDir),...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...P(i.activeSegments,o.spans)};return M.set(e.fullPath,{meta:r,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),r}catch{return null}}async function O(e){let t=v.get(e.fullPath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes)return t.detail;try{let t=await h(e.fullPath),{meta:i,events:s}=f(t),n=w(e.fileName);await D(i,t,e);let o=await T(a.default.dirname(e.fullPath),n),r={...i,id:n,filePath:e.fullPath,projectDir:e.projectDir,projectName:i.cwd??y(e.projectDir),events:s,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...P(i.activeSegments,o.spans)};v.set(e.fullPath,{detail:r,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes});let l={...r};return delete l.events,M.set(e.fullPath,{meta:l,mtimeMs:e.mtimeMs,sizeBytes:e.sizeBytes}),r}catch{return null}}async function $(e={}){let{root:t=d,limit:i=500,projectDir:s}=e,a=await b(t);s&&(a=a.filter(e=>e.projectDir===s)),a.sort((e,t)=>t.mtimeMs-e.mtimeMs);let n=a.slice(0,i);return(await Promise.all(n.map(async e=>{let t=await R(e);return t?C(t,e):null}))).filter(e=>null!==e)}async function B(e,t={}){let{root:i=d}=t,s=(await b(i)).find(t=>w(t.fileName)===e);if(!s)return null;let n=await O(s);if(!n)return n;let o=n.firstTimestamp?Date.parse(n.firstTimestamp):void 0,r=a.default.join(a.default.dirname(s.fullPath),w(s.fileName),"subagents"),l=a.default.join(a.default.dirname(s.fullPath),w(s.fileName),"workflows"),[u,c]=await Promise.all([z(r,o,n.events),F(l,o,n.events)]),p=c.reduce((e,t)=>e+t.agentCount,0);return C({...n,subagents:u,workflows:c,...c.length>0?{workflowCount:c.length,spawnedAgentCount:p}:{}},s)}async function z(e,t,s){let n;try{n=await i.promises.readdir(e)}catch{return[]}let o=new Map,r=[];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,a=e.timestamp?Date.parse(e.timestamp):void 0,n={toolUseId:t.id,parentUuid:e.uuid??"",runInBackground:!0===i.run_in_background,prompt:"string"==typeof i.prompt?i.prompt:void 0,tsMs:a};s&&o.set(s,n),void 0!==a&&r.push(n)}r.sort((e,t)=>(e.tsMs??0)-(t.tsMs??0));let l=n.filter(e=>e.startsWith("agent-")&&e.endsWith(".jsonl"));return(await Promise.all(l.map(async s=>{let n,l=s.replace(/^agent-/,"").replace(/\.jsonl$/,""),u=a.default.join(e,s),c=a.default.join(e,`agent-${l}.meta.json`),p={};try{let e=await i.promises.readFile(c,"utf8");p=JSON.parse(e)}catch{}try{n=await h(u)}catch{return null}let m=function(e){let t,i,s,a,n,o={...N},r=new Set,l=0,u=0,c=0,p=new Map;for(let m of e){if(!m||"object"!=typeof m)continue;l++;let e="string"==typeof m.timestamp?Date.parse(m.timestamp):NaN;if(!Number.isNaN(e)&&((void 0===t||e<t)&&(t=e),(void 0===i||e>i)&&(i=e)),void 0===n&&"user"===m.type&&(null===m.parentUuid||void 0===m.parentUuid)){let e=m.message,t=e?.content;if("string"==typeof t)n=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(n=e.text)}}if("assistant"===m.type){let e=m.message;if(!e)continue;a||"string"!=typeof e.model||(a=e.model);let t="string"==typeof e.id?e.id:void 0,i="string"==typeof m.requestId?m.requestId:void 0,n=null!=t&&null!=i?`${t}:${i}`:void 0,l=!n||!r.has(n);if(n&&l&&r.add(n),l){u++;let t=e.usage;if(t){let e=e=>"number"==typeof e?e:0;o.input+=e(t.input_tokens),o.output+=e(t.output_tokens),o.cacheRead+=e(t.cache_read_input_tokens),o.cacheWrite+=e(t.cache_creation_input_tokens)}}let f=e.content;if(Array.isArray(f))for(let e of f)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 m=Array.from(p.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count);return{startMs:t,endMs:i,totalUsage:o,eventCount:l,finalPreview:void 0!==s?s.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:s,model:a,toolCalls:m,toolCallCount:c,assistantMessageCount:u,initialPrompt:n}}(n),f=p.description&&p.description.trim().length>0?p.description:void 0,d=f?o.get(f):function(e){let t;if(void 0===e)return;let i=1/0;for(let s of r){if(void 0===s.tsMs)continue;let a=Math.abs(e-s.tsMs);a<i&&a<=2e3&&(t=s,i=a)}return t}(m.startMs),y=f??(m.initialPrompt?m.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),g=d?.prompt??m.initialPrompt,w=void 0!==t&&void 0!==m.startMs?Math.max(0,m.startMs-t):void 0,M=void 0!==t&&void 0!==m.endMs?Math.max(0,m.endMs-t):void 0,v=void 0!==m.startMs&&void 0!==m.endMs?m.endMs-m.startMs:void 0;return{agentId:l,agentType:p.agentType??"unknown",description:y,startMs:m.startMs,endMs:m.endMs,durationMs:v,startTOffsetMs:w,endTOffsetMs:M,eventCount:m.eventCount,totalUsage:m.totalUsage,parentUuid:d?.parentUuid,parentToolUseId:d?.toolUseId,runInBackground:d?.runInBackground,prompt:g,finalPreview:m.finalPreview,finalText:m.finalText,model:m.model,toolCalls:m.toolCalls,toolCallCount:m.toolCallCount,assistantMessageCount:m.assistantMessageCount}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function F(e,t,s){let n;try{n=await i.promises.readdir(e)}catch{return[]}let o=n.filter(e=>e.startsWith("wf_")&&e.endsWith(".json"));if(0===o.length)return[];let r=[];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&&r.push({toolUseId:i.id,parentUuid:e.uuid??"",tsMs:t})}r.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(o.map(async s=>{let n;try{n=JSON.parse(await i.promises.readFile(a.default.join(e,s),"utf8"))}catch{return null}let o=u(n.runId)??s.replace(/\.json$/,""),c=l(n.startTime),p=l(n.durationMs),m=void 0!==c&&void 0!==p?c+p:void 0,f=void 0!==t&&void 0!==c?Math.max(0,c-t):void 0,d=void 0!==t&&void 0!==m?Math.max(0,m-t):void 0,y=Array.isArray(n.phases)?n.phases.filter(e=>!!e&&"object"==typeof e&&"string"==typeof e.title).map(e=>({title:e.title,detail:u(e.detail)})):[],g=Array.isArray(n.logs)?n.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(n.workflowProgress)?n.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===r.length)return;let s=1/0,a=1/0;for(let n of r){let o=Math.abs(e-n.tsMs);!(o>6e4)&&(o<a&&(i=n,a=o),n.tsMs<=e&&o<s&&(t=n,s=o))}return t??i})(c);return{runId:o,name:u(n.workflowName)??o,description:u(n.summary),status:u(n.status)??"unknown",agentCount:l(n.agentCount)??0,toolCallCount:l(n.totalToolCalls)??0,totalTokens:l(n.totalTokens)??0,durationMs:p,startMs:c,endMs:m,startTOffsetMs:f,endTOffsetMs:d,model:u(n.defaultModel),phases:y,logs:g,agents:w,parentToolUseId:M?.toolUseId,parentUuid:M?.parentUuid}}))).filter(e=>null!==e).sort((e,t)=>(e.startMs??0)-(t.startMs??0))}async function W(e,t,i,s={}){let n,o,r,l,u,c,{root:p=d}=s;if(!/^[\w.-]+$/.test(t)||!/^[\w.-]+$/.test(i))return null;let m=(await b(p)).find(t=>w(t.fileName)===e);if(!m)return null;let f=a.default.join(a.default.dirname(m.fullPath),e,"subagents","workflows",t,`agent-${i}.jsonl`);try{n=await h(f)}catch{return null}let y=new Set;for(let e of n){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&&y.add(e.tool_use_id)}let g=[],M=new Map,v={...N},k=new Set,_=0,j=0;for(let e of n){if(!e||"object"!=typeof e)continue;j++;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===o&&"user"===e.type&&(null===e.parentUuid||void 0===e.parentUuid)){let t=e.message?.content;if("string"==typeof t)o=t;else if(Array.isArray(t)){let e=t.find(e=>e&&"object"==typeof e&&"text"===e.type);e?.text&&(o=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,a="string"==typeof e.requestId?e.requestId:void 0,n=null!=s&&null!=a?`${s}:${a}`:void 0,p=!n||!k.has(n);if(n&&p&&k.add(n),p){_++;let e=i.usage;if(e){let t=e=>"number"==typeof e?e:0;v.input+=t(e.input_tokens),v.output+=t(e.output_tokens),v.cacheRead+=t(e.cache_read_input_tokens),v.cacheWrite+=t(e.cache_creation_input_tokens)}}let m=i.content;if(Array.isArray(m)){for(let e of m)if(e&&"object"==typeof e){if("text"===e.type&&"string"==typeof e.text)r=e.text;else if("tool_use"===e.type&&"string"==typeof e.name&&(M.set(e.name,(M.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&&y.has(e.id)})}}}}return{agentId:i,prompt:o,finalText:r,steps:g,toolCalls:Array.from(M.entries()).map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count),toolCallCount:g.length,assistantMessageCount:_,eventCount:j,totalUsage:v,model:l,durationMs:void 0!==u&&void 0!==c?c-u:void 0}}let E={...n.CLAUDE_CODE_METADATA,defaultRoot:d,async listSessions(e){let t=await $(e);for(let e of t)e.agent||(e.agent="claude-code");return t},async getSession(e,t){let i=await B(e,t);return i&&!i.agent&&(i.agent="claude-code"),i}};e.s(["DEFAULT_ROOT",0,d,"claudeCodeSource",0,E,"getSession",0,B,"invalidateClaudeCodeFile",0,j,"listSessions",0,$,"loadWorkflowAgentDetail",0,W],20629);let U=a.default.join(s.default.homedir(),".codex","sessions"),J=/^rollout-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})-([0-9a-f-]+)\.jsonl$/;async function L(e){return i.promises.readdir(e).catch(()=>[])}async function q(e){let t=[];for(let s of(await L(e))){if(!/^\d{4}$/.test(s))continue;let n=a.default.join(e,s);for(let e of(await L(n))){if(!/^\d{2}$/.test(e))continue;let s=a.default.join(n,e);for(let e of(await L(s))){if(!/^\d{2}$/.test(e))continue;let n=a.default.join(s,e);for(let e of(await L(n))){let s=J.exec(e);if(!s)continue;let o=a.default.join(n,e),r=await i.promises.stat(o).catch(()=>null);r&&t.push({filePath:o,sessionId:s[2],mtimeMs:r.mtimeMs,sizeBytes:r.size})}}}}return t}async function G(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 H(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function Y(e,t){let i,s,a,n,l,u,c,p=[],m={input:0,output:0,cacheRead:0,cacheWrite:0},f=0,d=0,y=[],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)&&y.push(e)}let r="string"==typeof e.type?e.type:"",w=e.payload??{},M="string"==typeof w.type?w.type:"";if("session_meta"===r){"string"==typeof w.cwd&&(a=w.cwd);continue}if("turn_context"===r){"string"==typeof w.cwd&&(a=w.cwd),"string"==typeof w.model&&(n=w.model);continue}if("event_msg"===r&&"token_count"===M){let e=w.info??null,t=e?.total_token_usage??null;t&&(m.input=K(t.input_tokens)??m.input,m.output=K(t.output_tokens)??m.output,m.cacheRead=K(t.cached_input_tokens)??m.cacheRead);continue}if("event_msg"===r&&"user_message"===M){let i="string"==typeof w.message?w.message:"",s=H(i),a=(0,o.isFrameworkInjectedUserInput)(i);i&&!a&&(l||(l=s),u=s,d+=1),p.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"===r&&"agent_message"===M){let i="string"==typeof w.message?w.message:"",s=H(i);i&&(c=s),p.push({index:g++,timestamp:t,role:"agent",rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:n,raw:e});continue}if("response_item"===r&&"reasoning"===M){let i=(w.summary??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim();p.push({index:g++,timestamp:t,role:"agent-thinking",rawType:"response_item/reasoning",preview:H(i),blocks:i?[{type:"thinking",thinking:i}]:[],model:n,raw:e});continue}if("response_item"===r&&"message"===M&&"assistant"===w.role){let i=(w.content??[]).map(e=>"string"==typeof e.text?e.text:"").join("\n").trim(),s=H(i);i&&(c=s),p.push({index:g++,timestamp:t,role:"agent",rawType:"response_item/message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:n,raw:e});continue}if("response_item"===r&&"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,a="string"==typeof w.arguments?w.arguments:"",o=function(e){if(!e)return null;try{return JSON.parse(e)}catch{return e}}(a);f+=1,p.push({index:g++,timestamp:t,role:"tool-call",rawType:"response_item/function_call",preview:`${i}(${(h=a).length<=80?h:h.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:s??`codex-${g}`,name:i,input:o}],toolName:i,toolUseId:s,model:n,raw:e});continue}if("response_item"===r&&"function_call_output"===M){let i="string"==typeof w.call_id?w.call_id:void 0,s="string"==typeof w.output?w.output:"",a=/process exited with code [1-9]/i.test(s);p.push({index:g++,timestamp:t,role:"tool-result",rawType:"response_item/function_call_output",preview:H(s),blocks:[{type:"tool_result",tool_use_id:i??"",content:s,is_error:a}],toolUseId:i,toolResult:s,raw:e});continue}p.push({index:g++,timestamp:t,role:"meta",rawType:M?`${r}/${M}`:r,preview:"",blocks:[],raw:e})}if(m.input>0||m.output>0){let t=-1;for(let e=p.length-1;e>=0;e--){let i=p[e].role;if("agent"===i||"agent-thinking"===i||"tool-call"===i){t=e;break}}if(t>=0){let i=p[t];i.messageId=`codex-${e.sessionId}-total`,i.usage={input:m.input,output:m.output,cacheRead:m.cacheRead,cacheWrite:0}}}let w=i?Date.parse(i):void 0;if(void 0!==w&&Number.isFinite(w)){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-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],a=t[0];for(let e=1;e<t.length;e++)t[e]-a>18e4&&(i.push({startMs:s,endMs:a}),s=t[e]),a=t[e];return i.push({startMs:s,endMs:a}),i}(y),v=M.reduce((e,t)=>e+(t.endMs-t.startMs),0),k=i&&s?Date.parse(s)-Date.parse(i):void 0,_=a?(0,r.canonicalProjectName)(a):"(unknown)",j=a?a.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:e.sessionId,filePath:e.filePath,projectName:_,projectDir:j,sessionId:e.sessionId,firstTimestamp:i,lastTimestamp:s,durationMs:k&&Number.isFinite(k)?k:void 0,eventCount:p.length,model:n,cwd:a,totalUsage:m,status:"idle",firstUserPreview:l,lastUserPreview:u,lastAgentPreview:c,toolCallCount:f,turnCount:d,airTimeMs:v,activeSegments:M},events:p}}function K(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}let Q=new Map,V=new Map;async function X(e={}){let t=e.root??U,i=await q(t),s=[];for(let e of i){let t=Q.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){s.push(t.meta);continue}try{let t=await G(e.filePath),{meta:i}=Y(e,t);Q.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 Z(e,t={}){let i=t.root??U,s=(await q(i)).find(t=>t.sessionId===e);if(!s)return null;let a=V.get(s.filePath);if(a&&a.mtimeMs===s.mtimeMs&&a.sizeBytes===s.sizeBytes)return a.detail;let n=await G(s.filePath),{meta:o,events:r}=Y(s,n),l={...o,events:r};return V.set(s.filePath,{detail:l,mtimeMs:s.mtimeMs,sizeBytes:s.sizeBytes}),l}async function ee(e={}){let t=e.root??U,i=await q(t);if(0===i.length)return null;for(let e of(i.sort((e,t)=>t.mtimeMs-e.mtimeMs),i)){let t=await G(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 a=s.payload??{};if("token_count"!==a.type)continue;let n=a.rate_limits??null;if(!n)continue;let o=n.primary??null,r=n.secondary??null,l=K(o?.used_percent),u=K(r?.used_percent),c=K(o?.resets_at),p=K(r?.resets_at),m="string"==typeof n.plan_type?n.plan_type:null;return{five_hour:{utilization:l??null,resets_at:void 0!==c?new Date(1e3*c).toISOString():null},seven_day:{utilization:u??null,resets_at:void 0!==p?new Date(1e3*p).toISOString():null},plan_type:m,source_path:e.filePath}}}return null}let et=a.default.join(s.default.homedir(),".gemini","tmp"),ei=a.default.join(s.default.homedir(),".gemini","projects.json"),es=/^session-.+\.(jsonl|json)$/;async function ea(e){return i.promises.readdir(e).catch(()=>[])}async function en(e){let t=[];for(let s of(await ea(e))){let n=a.default.join(e,s,"chats");for(let e of(await ea(n))){if(!es.test(e))continue;let o=a.default.join(n,e),r=await i.promises.stat(o).catch(()=>null);if(!r||!r.isFile())continue;let l=e.replace(/\.(jsonl|json)$/,"").split("-").pop()??e;t.push({filePath:o,slug:s,filenameId:l,format:e.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:r.mtimeMs,sizeBytes:r.size})}}return t}let eo=null;async function er(){let e,t=await i.promises.stat(ei).catch(()=>null);if(!t)return new Map;if(eo&&eo.mtimeMs===t.mtimeMs)return eo.slugToCwd;let s=await i.promises.readFile(ei,"utf8").catch(()=>"");try{e=JSON.parse(s)}catch{e={}}let a=new Map;for(let[t,i]of Object.entries(e.projects??{}))"string"==typeof i&&a.set(i,t);return eo={mtimeMs:t.mtimeMs,slugToCwd:a},a}function el(e){return!!e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.type}async function eu(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(el)}}let s={},a=new Map,n=[];for(let e of t.split("\n")){let t,i=e.trim();if(i){var o,r;try{t=JSON.parse(i)}catch{continue}if((o=t)&&"object"==typeof o&&"$rewindTo"in o){let e=t.$rewindTo,i=n.indexOf(e);if(i>=0){for(let e of n.slice(i))a.delete(e);n.length=i}continue}if((r=t)&&"object"==typeof r&&"$set"in r){Object.assign(s,t.$set);continue}if(el(t)){a.has(t.id)||n.push(t.id),a.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 n){let t=a.get(e);t&&l.push(t)}return{meta:s,messages:l}}function ec(e){return e.replace(/\s+/g," ").trim().slice(0,200)}function ep(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 em(e){let t,i,s,a,n,l,{meta:u,messages:c}=await eu(e),p=(await er()).get(e.slug),m=[],f={input:0,output:0,cacheRead:0,cacheWrite:0},d=0,y=0,g=[],h=0;function w(e){if(m.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 c){let t=e.timestamp;if("user"===e.type){let i=ep(e.displayContent??e.content),s=ec(i),r=(0,o.isFrameworkInjectedUserInput)(i);i&&!r&&(a||(a=s),n=s,y+=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 a=ep(e.content),n=ec(a);if(a&&(l=n),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:ec(e),blocks:[{type:"thinking",thinking:e}],model:s,raw:i})}for(let o of(a?w({index:h++,timestamp:t,role:"agent",rawType:"gemini/agent",preview:n,blocks:[{type:"text",text:a}],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??[])){d+=1;let e=o.args?JSON.stringify(o.args):"";w({index:h++,timestamp:o.timestamp??t,role:"tool-call",rawType:"gemini/tool_call",preview:`${o.name}(${e.length<=80?e:e.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o.id,name:o.name,input:o.args??{}}],toolName:o.name,toolUseId:o.id,model:s,raw:o});let i=(o.status??"").toLowerCase();if("success"===i||"error"===i||"cancelled"===i){let e=ep(o.result);w({index:h++,timestamp:o.timestamp??t,role:"tool-result",rawType:"gemini/tool_result",preview:ec(e),blocks:[{type:"tool_result",tool_use_id:o.id,content:e,is_error:"error"===i||"cancelled"===i}],toolUseId:o.id,toolResult:e,raw:o})}}continue}if("info"===e.type||"warning"===e.type||"error"===e.type){let i=ep(e.content);w({index:h++,timestamp:t,role:"meta",rawType:`gemini/${e.type}`,preview:ec(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 m){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],a=t[0];for(let e=1;e<t.length;e++)t[e]-a>18e4&&(i.push({startMs:s,endMs:a}),s=t[e]),a=t[e];return i.push({startMs:s,endMs:a}),i}(g),k=v.reduce((e,t)=>e+(t.endMs-t.startMs),0),_=t&&i?Date.parse(i)-Date.parse(t):void 0,j=u.sessionId??e.filenameId,b=p?(0,r.canonicalProjectName)(p):e.slug,N=p?p.replace(/^\//,"-").replace(/\//g,"-"):e.slug;return{meta:{agent:"gemini",id:j,filePath:e.filePath,projectName:b,projectDir:N,sessionId:j,firstTimestamp:t,lastTimestamp:i,durationMs:_&&Number.isFinite(_)?_:void 0,eventCount:m.length,model:s,cwd:p,totalUsage:f,status:"idle",firstUserPreview:a,lastUserPreview:n,lastAgentPreview:l,toolCallCount:d,turnCount:y,airTimeMs:k,activeSegments:v},events:m}}let ef=new Map,ed=new Map;async function ey(e={}){let t=e.root??et,i=await en(t),s=[];for(let e of i){let t=ef.get(e.filePath);if(t&&t.mtimeMs===e.mtimeMs&&t.sizeBytes===e.sizeBytes){s.push(t.meta);continue}try{let{meta:t}=await em(e);ef.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 eg(e,t={}){let i,s=t.root??et,a=await en(s);for(let t of a)if(t.filenameId===e||e.startsWith(t.filenameId)){i=t;break}if(!i)for(let t of a){let{meta:s}=await em(t).catch(()=>({meta:{id:""}}));if(s.id===e){i=t;break}}if(!i)return null;let n=ed.get(i.filePath);if(n&&n.mtimeMs===i.mtimeMs&&n.sizeBytes===i.sizeBytes)return n.detail;let{meta:o,events:r}=await em(i),l={...o,events:r};return ed.set(i.filePath,{detail:l,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes}),l}let eh=a.default.join(s.default.homedir(),".gemini","antigravity-cli");async function ew(e){return i.promises.readdir(e).catch(()=>[])}let eM=null;async function ev(e){let t=a.default.join(e,"history.jsonl"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;if(eM&&eM.mtimeMs===s.mtimeMs)return eM.slugToCwd;let n=await i.promises.readFile(t,"utf8").catch(()=>""),o=new Map;for(let e of n.split("\n")){let t=e.trim();if(t)try{let e=JSON.parse(t);e.conversationId&&e.workspace&&o.set(e.conversationId,e.workspace)}catch{}}return eM={mtimeMs:s.mtimeMs,slugToCwd:o},o}async function ek(e){let t=await ev(e),s=[],n=a.default.join(e,"brain");for(let e of(await ew(n))){let o=a.default.join(n,e,".system_generated","logs","transcript.jsonl"),r=await i.promises.stat(o).catch(()=>null);r&&r.isFile()&&s.push({filePath:o,conversationId:e,cwd:t.get(e),mtimeMs:r.mtimeMs,sizeBytes:r.size})}return s}function e_(e){return e.replace(/\s+/g," ").trim().slice(0,200)}async function ej(e){let t,s,a,n,l,u,c=await i.promises.readFile(e.filePath,"utf8"),p=[],m=0,f=0,d=[],y=0;function g(e){if(p.push(e),e.timestamp&&"meta"!==e.role){t||(t=e.timestamp),s=e.timestamp;let i=Date.parse(e.timestamp);Number.isFinite(i)&&d.push(i)}}let h=[],w=[],M=new Map;for(let e of c.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();a=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()),a=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 r=e_(i),u=(0,o.isFrameworkInjectedUserInput)(i);i&&!u&&(n||(n=r),l=r,f+=1),g({index:y++,timestamp:t,role:"user",rawType:"antigravity/user",preview:r,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:y++,timestamp:t,role:"agent-thinking",rawType:"antigravity/thought",preview:e_(i),blocks:[{type:"thinking",thinking:i}],model:a,raw:e}),s){let i=e_(s);u=i,g({index:y++,timestamp:t,role:"agent",rawType:"antigravity/agent",preview:i,blocks:[{type:"text",text:s}],messageId:e.step_index?.toString(),model:a,raw:e})}let n=e.tool_calls||[];for(let i=0;i<n.length;i++){let s=n[i];m+=1;let o=`tool-${e.step_index}-${i}`,r=s.args?JSON.stringify(s.args):"";h.push({id:o,name:s.name}),g({index:y++,timestamp:t,role:"tool-call",rawType:"antigravity/tool_call",preview:`${s.name}(${r.length<=80?r:r.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o,name:s.name,input:s.args||{}}],toolName:s.name,toolUseId:o,model:a,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`,a="string"==typeof e.content?e.content:JSON.stringify(e.content||""),n="ERROR"===e.status||"FAILED"===e.status||"CANCELED"===e.status||!!e.error;g({index:y++,timestamp:t,role:"tool-result",rawType:"antigravity/tool_result",preview:e_(a),blocks:[{type:"tool_result",tool_use_id:s,content:a,is_error:n}],toolUseId:s,toolResult:a,raw:e});continue}let i=e.content||e.error||"";g({index:y++,timestamp:t,role:"meta",rawType:`antigravity/${e.type?.toLowerCase()||"unknown"}`,preview:e_(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 p){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],a=t[0];for(let e=1;e<t.length;e++)t[e]-a>18e4&&(i.push({startMs:s,endMs:a}),s=t[e]),a=t[e];return i.push({startMs:s,endMs:a}),i}(d),_=k.reduce((e,t)=>e+(t.endMs-t.startMs),0),j=t&&s?Date.parse(s)-Date.parse(t):void 0,b=e.conversationId,N=e.cwd,I=N?(0,r.canonicalProjectName)(N):e.conversationId,x=N?N.replace(/^\//,"-").replace(/\//g,"-"):e.conversationId;return{meta:{agent:"antigravity",id:b,filePath:e.filePath,projectName:I,projectDir:x,sessionId:b,firstTimestamp:t,lastTimestamp:s,durationMs:j&&Number.isFinite(j)?j:void 0,eventCount:p.length,model:a,cwd:N,totalUsage:{input:0,output:0,cacheRead:0,cacheWrite:0},status:"idle",firstUserPreview:n,lastUserPreview:l,lastAgentPreview:u,toolCallCount:m,turnCount:f,airTimeMs:_,activeSegments:k},events:p}}let eb=new Map,eN=new Map;async function eI(e={}){let t=e.root??eh,i=await ek(t),s=[];for(let e of i){let t=eb.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 ej(e);eb.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 ex(e,t={}){let i,s=t.root??eh;for(let t of(await ek(s)))if(t.conversationId===e){i=t;break}if(!i)return null;let a=eN.get(i.filePath);if(a&&a.mtimeMs===i.mtimeMs&&a.sizeBytes===i.sizeBytes&&a.cwd===i.cwd)return a.detail;let{meta:n,events:o}=await ej(i),r={...n,events:o};return eN.set(i.filePath,{detail:r,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes,cwd:i.cwd}),r}let eT=(t=s.default.homedir(),a.default.join(t,".config","Claude","local-agent-mode-sessions")),eS=/^local_[0-9a-f-]+$/;async function eA(e){return i.promises.readdir(e).catch(()=>[])}async function eC(e){let t=await i.promises.stat(e).catch(()=>null);return t?t.mtimeMs:0}async function eP(e){let t=[];for(let s of(await eA(e))){let n=a.default.join(e,s);for(let e of(await eA(n))){let s=a.default.join(n,e),o=await eC(a.default.join(s,"spaces.json"));for(let e of(await eA(s))){if(!eS.test(e))continue;let n=a.default.join(s,e,"audit.jsonl"),r=await i.promises.stat(n).catch(()=>null);if(!r||!r.isFile()||0===r.size)continue;let l=a.default.join(s,`${e}.json`),u=await eC(l);t.push({sessionId:e,auditPath:n,metaPath:l,workspaceDir:s,auditMtimeMs:r.mtimeMs,auditSize:r.size,metaMtimeMs:u,spacesMtimeMs:o})}}}return t}let eD=new Map;async function eR(e){let t=a.default.join(e,"spaces.json"),s=await i.promises.stat(t).catch(()=>null);if(!s)return new Map;let n=eD.get(e);if(n&&n.mtimeMs===s.mtimeMs)return n.spaceIdToPath;let o=await i.promises.readFile(t,"utf8").catch(()=>""),r=new Map;try{for(let e of JSON.parse(o).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&&r.set(t,s)}}catch{}return eD.set(e,{mtimeMs:s.mtimeMs,spaceIdToPath:r}),r}async function eO(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 e$(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 eB(e){let t,[i,s,a]=await Promise.all([e$(e.auditPath),eO(e.metaPath),eR(e.workspaceDir)]),{meta:n,events:o}=f(i),{projectName:l,projectDir:u,cwd:c}=(s.spaceId&&(t=a.get(s.spaceId)),!t&&s.userSelectedFolders&&s.userSelectedFolders.length>0&&(t=s.userSelectedFolders[0]),t)?{projectName:(0,r.canonicalProjectName)(t),projectDir:t.replace(/^\//,"-").replace(/\//g,"-"),cwd:t}:{projectName:"cowork:unspaced",projectDir:"cowork-unspaced"};return{meta:{...n,agent:"cowork",id:e.sessionId,sessionId:e.sessionId,filePath:e.auditPath,projectName:l,projectDir:u,cwd:c??n.cwd,model:n.model??s.model},events:o}}function ez(e){return{auditMtimeMs:e.auditMtimeMs,auditSize:e.auditSize,metaMtimeMs:e.metaMtimeMs,spacesMtimeMs:e.spacesMtimeMs}}function eF(e,t){return e.auditMtimeMs===t.auditMtimeMs&&e.auditSize===t.auditSize&&e.metaMtimeMs===t.metaMtimeMs&&e.spacesMtimeMs===t.spacesMtimeMs}let eW=new Map,eE=new Map;async function eU(e={}){let t=e.root??eT,i=await eP(t),s=[];for(let e of i){let t=ez(e),i=eW.get(e.auditPath);if(i&&eF(i.key,t)){s.push(i.meta);continue}try{let{meta:i}=await eB(e);eW.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 eJ(e,t={}){let i=t.root??eT,s=(await eP(i)).find(t=>t.sessionId===e);if(!s)return null;let a=ez(s),n=eE.get(s.auditPath);if(n&&eF(n.key,a))return n.detail;let{meta:o,events:r}=await eB(s),l={...o,events:r};return eE.set(s.auditPath,{detail:l,key:a}),l}function eL(){return process.env.CCLENS_HOME||a.default.join(s.default.homedir(),".cclens")}function eq(...e){return a.default.join(eL(),...e)}function eG(e){j(e)}let eH=[E,{...n.CODEX_METADATA,defaultRoot:U,listSessions:async e=>X(e),getSession:async e=>Z(e),async usagePoller(){let e=await ee();return e?{captured_at:new Date().toISOString(),agent:"codex",five_hour:e.five_hour,seven_day:e.seven_day}:null}},{...n.GEMINI_METADATA,defaultRoot:et,listSessions:async e=>ey(e),getSession:async e=>eg(e)},{...n.ANTIGRAVITY_METADATA,defaultRoot:eh,listSessions:async e=>eI(e),getSession:async e=>ex(e)},{...n.COWORK_METADATA,defaultRoot:eT,listSessions:async e=>eU(e),getSession:async e=>eJ(e)}];async function eY(e){for(let t of eH){let i=await t.getSession(e);if(i)return i}return null}}];
1
+ module.exports=[39587,t=>{"use strict";let e={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:"✺"},a={kind:"antigravity",displayName:"Antigravity",shortLabel:"Agy",accentColor:"rgb(236, 72, 153)",iconChar:"⏃"},n={kind:"cowork",displayName:"Cowork",shortLabel:"Cowork",accentColor:"rgb(217, 119, 87)",iconChar:"⌘"},o=[e,i,s,a,n];o.map(t=>t.kind),t.s(["ANTIGRAVITY_METADATA",0,a,"CLAUDE_CODE_METADATA",0,e,"CODEX_METADATA",0,i,"COWORK_METADATA",0,n,"GEMINI_METADATA",0,s,"agentMetadata",0,o])},36521,t=>{"use strict";let e=[/<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(t){if(!t)return t;let i=t;for(let t of e)i=i.replace(t,"");return i.trim()}t.s(["isFrameworkInjectedUserInput",0,function(t){if(!t)return!1;let e=s(t);if(!e)return!0;for(let t of i)if(e.startsWith(t))return!0;return!1},"stripFrameworkBoilerplate",0,s])},79357,t=>{"use strict";let e={input:0,output:0,cacheRead:0,cacheWrite:0},i=["/.claude/worktrees/","/.worktrees/","/claude/worktrees/"],s=/\/conductor\/workspaces\/[^/]+\/([^/]+)(?:\/|$)/;function a(t){for(let e of i){let i=t.lastIndexOf(e);if(i>=0)return{idx:i,marker:e}}return null}function n(t){let e=s.exec(t);if(!e)return null;let i=e[1],a=+!!e[0].endsWith("/");return{canonicalEndIdx:e.index+e[0].length-i.length-1-a,workspaceName:i}}let o="/.superset/worktrees/",r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function l(t){let e=t.indexOf(o);if(e<0)return null;let i=t.slice(e+o.length).split("/").filter(Boolean);if(0===i.length)return null;let s=r.test(i[0])?i[1]??i[0]:i[0];return{canonical:t.slice(0,e)+o+s,workspaceName:s}}function u(t){let e=t.replace(/\/{2,}/g,"/"),i=a(e);if(i)return e.slice(0,i.idx);let s=n(e);if(s)return e.slice(0,s.canonicalEndIdx);let o=l(e);return o?o.canonical:e}function c(t){let i={sessionCount:t.length,totalDurationMs:0,totalAirTimeMs:0,totalTokens:{...e},totalToolCalls:0,totalTurns:0,avgTurnsPerSession:0,avgDurationMs:0,totalLinesAdded:0,totalLinesRemoved:0,totalFilesEdited:0};for(let e of t)i.totalDurationMs+=e.durationMs??0,i.totalAirTimeMs+=e.airTimeMs??e.durationMs??0,i.totalTokens.input+=e.totalUsage.input,i.totalTokens.output+=e.totalUsage.output,i.totalTokens.cacheRead+=e.totalUsage.cacheRead,i.totalTokens.cacheWrite+=e.totalUsage.cacheWrite,i.totalToolCalls+=e.toolCallCount??0,i.totalTurns+=e.turnCount??0,i.totalLinesAdded+=e.linesAdded??0,i.totalLinesRemoved+=e.linesRemoved??0,i.totalFilesEdited+=e.filesEdited??0;return t.length>0&&(i.avgTurnsPerSession=i.totalTurns/t.length,i.avgDurationMs=i.totalDurationMs/t.length),i}t.s(["canonicalProjectName",0,u,"computeBurstsFromSessions",0,function(t,e={}){let i=[];for(let e of t)e.activeSegments&&0!==e.activeSegments.length&&i.push({id:e.id,projectDir:e.projectDir,segments:e.activeSegments});return function(t,e){let i=e.minDurationMs??6e4,s=e.mergeGapMs??6e5,a=e.minActive??2,n=[];for(let e of t)for(let t of e.segments)t.endMs<=t.startMs||(n.push({ms:t.startMs,delta:1,sessionId:e.id}),n.push({ms:t.endMs,delta:-1,sessionId:e.id}));n.sort((t,e)=>t.ms-e.ms||e.delta-t.delta);let o=new Map,r=[],l=null;for(let t of n){if(1===t.delta)o.set(t.sessionId,(o.get(t.sessionId)??0)+1);else{let e=(o.get(t.sessionId)??0)-1;e<=0?o.delete(t.sessionId):o.set(t.sessionId,e)}let e=o.size;if(e>=a)if(l)for(let i of(l.endMs=t.ms,e>l.peak&&(l.peak=e),o.keys()))l.sessionIds.add(i);else l={startMs:t.ms,endMs:t.ms,peak:e,sessionIds:new Set(o.keys())};else l&&(l.endMs=t.ms,r.push(l),l=null)}l&&r.push(l);let u=r.filter(t=>t.endMs-t.startMs>=i),c=[];for(let t of u){let e=c[c.length-1];if(e&&t.startMs-e.endMs<=s)for(let i of(e.endMs=t.endMs,t.peak>e.peak&&(e.peak=t.peak),t.sessionIds))e.sessionIds.add(i);else c.push({startMs:t.startMs,endMs:t.endMs,peak:t.peak,sessionIds:new Set(t.sessionIds)})}let p=new Map;for(let e of t)p.set(e.id,e.projectDir);return c.map(t=>{let e=Array.from(new Set(Array.from(t.sessionIds).map(t=>p.get(t)).filter(t=>!!t)));return{startMs:t.startMs,endMs:t.endMs,peak:t.peak,sessionIds:Array.from(t.sessionIds),projectDirs:e,crossProject:e.length>1}})}(i,e)},"groupByProject",0,function(t){let e=new Map;for(let i of t){let t=function(t){let e=u(t),i=e.replace(/\/+$/,"").split("/").filter(Boolean);return i[i.length-1]||e}(i.projectName),s=e.get(t);s||(s={projectDir:t,projectName:t,sessions:[],rawProjectDirs:[],worktreeCount:0,metrics:c([]),perAgent:[],lastActiveMs:void 0},e.set(t,s)),s.sessions.push(i),s.rawProjectDirs.includes(i.projectDir)||s.rawProjectDirs.push(i.projectDir);let a=i.lastTimestamp?Date.parse(i.lastTimestamp):void 0;a&&(!s.lastActiveMs||a>s.lastActiveMs)&&(s.lastActiveMs=a)}for(let t of e.values()){t.metrics=c(t.sessions);let e=new Set;for(let i of t.sessions){let t=function(t){let e=t.replace(/\/{2,}/g,"/"),i=a(e);if(i){let t=e.slice(i.idx+i.marker.length),s=t.indexOf("/");return s>=0?t.slice(0,s):t}let s=n(e);if(s)return s.workspaceName;let o=l(e);return o?o.workspaceName:null}(i.projectName);t&&e.add(t)}t.worktreeCount=e.size;let i=new Map;for(let e of t.sessions){let t=e.agent??"claude-code",s=i.get(t);s||(s={agent:t,sessions:0},i.set(t,s)),s.sessions+=1}t.perAgent=Array.from(i.values()).sort((t,e)=>e.sessions-t.sessions)}return Array.from(e.values()).sort((t,e)=>(e.lastActiveMs??0)-(t.lastActiveMs??0))},"toLocalDay",0,function(t){let e=new Date(t),i=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${i}-${s}-${a}`}])},43427,20629,t=>{"use strict";let e;t.s(["cclensHome",()=>tq,"cclensPath",()=>tG,"getAnySession",()=>tQ,"invalidateFile",()=>tH,"listAllSessions",()=>tK],43427);var i=t.i(2157),s=t.i(60526),a=t.i(50227),n=t.i(39587),o=t.i(36521),r=t.i(79357);let l={input:0,output:0,cacheRead:0,cacheWrite:0};function u(t,e=200){let i=t.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();return i.length>e?i.slice(0,e-1)+"…":i}let c=/^\s*<teammate-message\s+teammate_id="([^"]+)"[^>]*>([\s\S]*?)<\/teammate-message>/;function p(t){let e=t.match(c);if(!e)return;let i=e[1],s=e[2].trim(),a="message";if(s.startsWith("{"))try{let t=JSON.parse(s);"idle_notification"===t.type?a="idle-notification":"shutdown_request"===t.type?a="shutdown-request":"shutdown_approved"===t.type?a="shutdown-approved":"task_assignment"===t.type?a="task-assignment":"teammate_terminated"===t.type&&(a="teammate-terminated")}catch{}return{teammateId:i,body:s,kind:a}}function d(t){if(!t||"object"!=typeof t)return;let e=t=>"number"==typeof t?t:0;return{input:e(t.input_tokens),output:e(t.output_tokens),cacheRead:e(t.cache_read_input_tokens),cacheWrite:e(t.cache_creation_input_tokens)}}function f(t){let e,i,s,a,n,c,f,m,g,y,h,w=[];for(let e=0;e<t.length;e++){let i=function(t,e){if(!t||"object"!=typeof t)return null;let i=String(t.type??""),s=t.uuid,a=t.parentUuid??null,n=t.timestamp;if("assistant"===i){let o,r,l,c=t.message??{},p=c.content??[],f=d(c.usage),m=c.model,g=t.requestId,y=c.id,h=c.stop_reason,w=p[0],M="agent";return w?.type==="thinking"?(M="agent-thinking",o="[thinking] "+u(w.thinking,140)):w?.type==="tool_use"?(M="tool-call",r=w.name,l=w.id,o=`${w.name} `+u(JSON.stringify(w.input??{}),100)):o=w?.type==="text"?u(w.text,200):`<assistant:${w?.type??"empty"}>`,{index:e,uuid:s,parentUuid:a,timestamp:n,role:M,rawType:i,preview:o,blocks:p,usage:f,model:m,requestId:g,messageId:y,stopReason:h,toolName:r,toolUseId:l,raw:t}}if("user"===i){let r=(t.message??{}).content;if("string"==typeof r){let l=(0,o.stripFrameworkBoilerplate)(r),c=p(l);return{index:e,uuid:s,parentUuid:a,timestamp:n,role:"user",rawType:i,preview:u(l,200),blocks:l?[{type:"text",text:l}]:[],raw:t,teammateMessage:c}}if(Array.isArray(r)){let l=r[0];if(l?.type==="tool_result")return{index:e,uuid:s,parentUuid:a,timestamp:n,role:"tool-result",rawType:i,preview:u("string"==typeof l.content?l.content:JSON.stringify(l.content),200),blocks:r,toolUseId:l.tool_use_id,toolResult:t.toolUseResult,raw:t};let c=r.find(t=>t?.type==="text"),d=c?(0,o.stripFrameworkBoilerplate)(c.text):"",f=c?r.map(t=>t===c?{type:"text",text:d}:t):r,m=d?p(d):void 0;return{index:e,uuid:s,parentUuid:a,timestamp:n,role:"user",rawType:i,preview:d?u(d,200):u(JSON.stringify(r),200),blocks:f,raw:t,teammateMessage:m}}}if("attachment"===i){let o=t.attachment??{},r=String(o.type??"attachment"),l=`<attachment: ${r}>`;return"string"==typeof o.content&&o.content.length>0?l=`[${r}] `+u(o.content,140):Array.isArray(o.addedNames)&&(l=`[${r}] +${o.addedNames.length} names`),{index:e,uuid:s,parentUuid:a,timestamp:n,role:"system",rawType:i,preview:l,blocks:[{type:"text",text:JSON.stringify(o,null,2)}],attachmentType:r,raw:t}}return{index:e,uuid:s,parentUuid:a,timestamp:n,role:"meta",rawType:i||"unknown",preview:`${i}: ${u(JSON.stringify(t),140)}`,blocks:[{type:"text",text:JSON.stringify(t,null,2)}],raw:t}}(t[e],e);i&&w.push(i)}for(let t of w){if(!t.timestamp)continue;let s=Date.parse(t.timestamp);!Number.isNaN(s)&&((void 0===e||s<e)&&(e=s),(void 0===i||s>i)&&(i=s))}let M=void 0!==e?new Date(e).toISOString():void 0,v=void 0!==i?new Date(i).toISOString():void 0;for(let t of w){if(!t.timestamp)continue;let i=Date.parse(t.timestamp);Number.isNaN(i)||void 0!==e&&(t.tOffsetMs=Math.max(0,i-e))}let k=w.filter(t=>{let e;return t.timestamp&&("user"===(e=t.role)||"agent"===e||"agent-thinking"===e||"tool-call"===e||"tool-result"===e)}).map(t=>({e:t,ms:Date.parse(t.timestamp)})).filter(t=>!Number.isNaN(t.ms)).sort((t,e)=>t.ms-e.ms);for(let t=1;t<k.length;t++)k[t].e.gapMs=Math.max(0,k[t].ms-k[t-1].ms);let _=w.filter(t=>t.timestamp).map(t=>Date.parse(t.timestamp)).filter(t=>!Number.isNaN(t)).sort((t,e)=>t-e),j=[],T=0;if(_.length>0){let t=_[0],e=_[0];for(let i=1;i<_.length;i++){let s=_[i],a=s-e;a>18e4?(j.push({startMs:t,endMs:e}),t=s):a>0&&(T+=a),e=s}j.push({startMs:t,endMs:e})}let b=new Map,N=[];for(let t of w){if(!t.timestamp)continue;let e=Date.parse(t.timestamp);if(!Number.isNaN(e)){if("assistant"===t.rawType&&t.usage&&t.messageId){let i=b.get(t.messageId);i?(i.siblings.push(t),e<i.ms&&(i.rep=t,i.ms=e)):b.set(t.messageId,{rep:t,ms:e,siblings:[t]})}else if("system"===t.rawType){let i=t.raw;if(i?.subtype!=="compact_boundary")continue;let s=i.compactMetadata??{};N.push({ms:e,trigger:"manual"===s.trigger?"manual":"auto",preTokens:"number"==typeof s.preTokens?s.preTokens:0})}}}let A=[...b.values()].sort((t,e)=>t.ms-e.ms);N.sort((t,e)=>t.ms-e.ms);let x=0,I=0,C=(t,e)=>{for(let i of t.siblings)i.coldResume=e;x++,I+=e.writeTokens},S=new Set;for(let t of N){let e,i=A.find(e=>e.ms>t.ms&&(e.rep.usage?.cacheWrite??0)>=1e3);if(!i)continue;for(let i=A.length-1;i>=0;i--)if(A[i].ms<=t.ms){e=A[i].ms;break}let s=i.rep.usage,a=s.cacheWrite+s.cacheRead;C(i,{trigger:"compact",gapMs:void 0!==e?i.ms-e:0,writeTokens:s.cacheWrite,writeRatio:a>0?s.cacheWrite/a:0,compact:{trigger:t.trigger,preTokens:t.preTokens}}),S.add(i.rep.messageId)}for(let t=1;t<A.length;t++){let e=A[t-1],i=A[t];if(S.has(i.rep.messageId))continue;let s=i.rep.usage,a=s.cacheWrite+s.cacheRead,n=a>0?s.cacheWrite/a:0,o=i.ms-e.ms;o>3e5&&s.cacheWrite>=1e3&&n>=.3&&C(i,{trigger:"idle",gapMs:o,writeTokens:s.cacheWrite,writeRatio:n})}let P={...l},D=new Set,R="",O=!1,B=!1,U=0,$=0,z=0,W=0,F=new Set,E=new Map,L=void 0!==e?(0,r.toLocalDay)(e):void 0,J=t=>{let e;if(t){let i=Date.parse(t);Number.isNaN(i)||(e=(0,r.toLocalDay)(i))}if(!(e=e??L))return;let i=E.get(e);return i||(i={toolCalls:0,turns:0,tokens:{...l}},E.set(e,i)),i};for(let t of w){if("tool-call"===t.role){U++;let e=J(t.timestamp);e&&e.toolCalls++;let i=t.blocks.find(t=>t&&"tool_use"===t.type);if(i){let t=i.input??{};if("TeamCreate"===i.name&&(O=!0),"SendMessage"===i.name){let e="string"==typeof t.to?t.to:"";e&&"team-lead"!==e&&(B=!0)}let e="string"==typeof t.file_path?t.file_path:void 0;if("Edit"===i.name&&e){F.add(e);let i="string"==typeof t.old_string?t.old_string:"",s="string"==typeof t.new_string?t.new_string:"",a=i?i.split("\n").length:0,n=s?s.split("\n").length:0;z+=Math.max(0,n-a),W+=Math.max(0,a-n)}else if("Write"===i.name&&e){F.add(e);let i="string"==typeof t.content?t.content:"";z+=i?i.split("\n").length:0}}}if("user"===t.role){let e=function(t){let e=t?.content;if("string"==typeof e)return e;if(Array.isArray(e)){for(let t of e)if(t&&"object"==typeof t&&"text"===t.type&&"string"==typeof t.text)return t.text}return""}(t.raw?.message),i=(0,o.isFrameworkInjectedUserInput)(e),s=void 0!==t.teammateMessage&&!m;if(!i&&!s){g||(g=t.teammateMessage?t.teammateMessage.body:t.preview),$++;let e=J(t.timestamp);e&&e.turns++,h=t.preview}}"agent"===t.role&&(y=t.preview)}for(let e of t)if(e&&"object"==typeof e&&("string"!=typeof e.sessionId||R||(R=e.sessionId),"string"!=typeof e.cwd||a||(a=e.cwd),"string"!=typeof e.gitBranch||n||(n=e.gitBranch),"string"!=typeof e.entrypoint||c||(c=e.entrypoint),"string"!=typeof e.teamName||f||(f=e.teamName),"string"!=typeof e.agentName||m||(m=e.agentName),"assistant"===e.type)){let t=e.message;if(t){"string"!=typeof t.model||s||(s=t.model);let i="string"==typeof t.id?t.id:void 0;if(i&&D.has(i))continue;i&&D.add(i);let a=d(t.usage);if(a){P.input+=a.input,P.output+=a.output,P.cacheRead+=a.cacheRead,P.cacheWrite+=a.cacheWrite;let t=J("string"==typeof e.timestamp?e.timestamp:void 0);t&&(t.tokens.input+=a.input,t.tokens.output+=a.output,t.tokens.cacheRead+=a.cacheRead,t.tokens.cacheWrite+=a.cacheWrite)}}}return{events:w,meta:{sessionId:R,firstTimestamp:M,lastTimestamp:v,durationMs:void 0!==e&&void 0!==i?i-e:void 0,eventCount:w.length,model:s,cwd:a,gitBranch:n,entrypoint:c,totalUsage:P,status:"idle",firstUserPreview:g,lastUserPreview:h,lastAgentPreview:y,toolCallCount:U,turnCount:$,dailyBreakdown:Array.from(E.entries()).map(([t,e])=>({day:t,toolCalls:e.toolCalls,turns:e.turns,tokens:e.tokens})).sort((t,e)=>t.day.localeCompare(e.day)),airTimeMs:T,activeSegments:j,linesAdded:z,linesRemoved:W,filesEdited:F.size,coldResumeCount:x,cacheRebuildTokens:I,teamName:f,agentName:m,isTeamLead:void 0!==f&&void 0===m&&(O||B)}}}let m=a.default.join(s.default.homedir(),".claude","projects");function g(t){return t.startsWith("-")?"/"+t.slice(1).replace(/-/g,"/"):t}let y=a.default.join(s.default.homedir(),".cclens","runtime").replace(/[/.]/g,"-");async function h(t){let e=await i.promises.readFile(t,"utf8"),s=[];for(let t of e.split("\n")){let e=t.trim();if(e)try{s.push(JSON.parse(e))}catch{}}return s}function w(t){return t.replace(/\.jsonl$/i,"")}let M=new Map,v=new Map,k=new Map,_=null;function j(t){M.delete(t),v.delete(t),k.delete(t),_=null}async function T(t=m){let e;if(_&&_.root===t&&Date.now()-_.capturedAtMs<1e3)return _.files;try{e=await i.promises.readdir(t,{withFileTypes:!0})}catch{return[]}let s=e.filter(t=>t.isDirectory()&&t.name!==y).map(t=>t.name),n=(await Promise.all(s.map(async e=>{let s,n=a.default.join(t,e);try{s=await i.promises.readdir(n)}catch{return[]}let o=s.filter(t=>t.endsWith(".jsonl"));return(await Promise.all(o.map(async t=>{let s=a.default.join(n,t);try{let a=await i.promises.stat(s);return{projectDir:e,fileName:t,fullPath:s,mtimeMs:a.mtimeMs,sizeBytes:a.size}}catch{return null}}))).filter(t=>null!==t)}))).flat();return _={files:n,capturedAtMs:Date.now(),root:t},n}let b={input:0,output:0,cacheRead:0,cacheWrite:0};function N(t,e,i,s,a){for(let n of t){if(!n||"object"!=typeof n||"assistant"!==n.type)continue;let t=n.message;if(!t)continue;let o="string"==typeof t.id?t.id:void 0,l="string"==typeof n.requestId?n.requestId:void 0,u=null!=o&&null!=l?`${o}:${l}`:void 0;if(u&&e.has(u))continue;u&&e.add(u);let c=t.usage;if(c){let t=t=>"number"==typeof t?t:0,e=t(c.input_tokens),o=t(c.output_tokens),l=t(c.cache_read_input_tokens),u=t(c.cache_creation_input_tokens);if(i.input+=e,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u,s){let t,i="string"==typeof n.timestamp?n.timestamp:void 0;if(i){let e=Date.parse(i);Number.isNaN(e)||(t=(0,r.toLocalDay)(e))}if(t=t??a){let i=s.get(t);i||(i={...b},s.set(t,i)),i.input+=e,i.output+=o,i.cacheRead+=l,i.cacheWrite+=u}}}}}async function A(t,e,s,n){let o,r={...b},l=new Set,u=new Map;N(t,l,r,u,n);let c=a.default.join(e,s,"subagents");try{o=await i.promises.readdir(c)}catch{return{usage:r,perDay:u}}let p=o.filter(t=>t.endsWith(".jsonl"));return 0===p.length||await Promise.all(p.map(async t=>{try{let e=await h(a.default.join(c,t));N(e,l,r,u,n)}catch{}})),{usage:r,perDay:u}}async function x(t,e){let s,n=a.default.join(t,e,"workflows");try{s=await i.promises.readdir(n)}catch{return{workflowCount:0,spawnedAgentCount:0,spans:[]}}let o=s.filter(t=>t.startsWith("wf_")&&t.endsWith(".json"));if(0===o.length)return{workflowCount:0,spawnedAgentCount:0,spans:[]};let r=0,l=[];return{workflowCount:(await Promise.all(o.map(async t=>{try{let e=JSON.parse(await i.promises.readFile(a.default.join(n,t),"utf8"));return"number"==typeof e.agentCount&&(r+=e.agentCount),"number"==typeof e.startTime&&"number"==typeof e.durationMs&&e.durationMs>0&&l.push({startMs:e.startTime,endMs:e.startTime+e.durationMs}),!0}catch{return!1}}))).filter(Boolean).length,spawnedAgentCount:r,spans:l}}async function I(t,e){let s;try{s=await i.promises.readdir(t,{withFileTypes:!0})}catch{return 0}return(await Promise.all(s.map(async s=>{let n=a.default.join(t,s.name);try{if(s.isDirectory())return e>0?await I(n,e-1):0;return(await i.promises.stat(n)).mtimeMs}catch{return 0}}))).reduce((t,e)=>Math.max(t,e),0)}async function C(t,e){let i=a.default.join(t,e),[s,n]=await Promise.all([I(a.default.join(i,"subagents"),2),I(a.default.join(i,"workflows"),0)]),o=Math.max(s,n);return o>0?o:void 0}async function S(t,e){let i=await C(a.default.dirname(e.fullPath),t.id),s=t.lastTimestamp?Date.parse(t.lastTimestamp):0,n=Math.max(Number.isFinite(s)?s:0,i??0);return n>0?{...t,lastActivityMs:n}:t}function P(t,e){if(0===e.length)return{};let i=[...t??[],...e].filter(t=>t.endMs>t.startMs).sort((t,e)=>t.startMs-e.startMs);if(0===i.length)return{};let s=[{...i[0]}];for(let t=1;t<i.length;t++){let e=i[t],a=s[s.length-1];e.startMs<=a.endMs?a.endMs=Math.max(a.endMs,e.endMs):s.push({...e})}let a=s.reduce((t,e)=>t+(e.endMs-e.startMs),0);return{activeSegments:s,airTimeMs:a}}async function D(t,e,i){let s=w(i.fileName),n=a.default.dirname(i.fullPath),o=t.firstTimestamp?(0,r.toLocalDay)(Date.parse(t.firstTimestamp)):void 0,{usage:l,perDay:u}=await A(e,n,s,o);t.totalUsage=l,t.dailyBreakdown=function(t,e,i){let s=new Map((t??[]).map(t=>[t.day,t])),a=[...new Set([...s.keys(),...e.keys()])].sort((t,e)=>t.localeCompare(e)).map(t=>({day:t,toolCalls:s.get(t)?.toolCalls??0,turns:s.get(t)?.turns??0,tokens:{...e.get(t)??b}}));if(a.length>0){let t=a.reduce((t,e)=>({input:t.input+e.tokens.input,output:t.output+e.tokens.output,cacheRead:t.cacheRead+e.tokens.cacheRead,cacheWrite:t.cacheWrite+e.tokens.cacheWrite}),{...b}),e=a[0].tokens;e.input+=i.input-t.input,e.output+=i.output-t.output,e.cacheRead+=i.cacheRead-t.cacheRead,e.cacheWrite+=i.cacheWrite-t.cacheWrite}return a}(t.dailyBreakdown,u,l)}async function R(t){let e=M.get(t.fullPath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes)return e.meta;try{let e=await h(t.fullPath),{meta:i}=f(e);await D(i,e,t);let s=w(t.fileName),n=a.default.dirname(t.fullPath),o=await x(n,s),r={...i,id:s,filePath:t.fullPath,projectDir:t.projectDir,projectName:i.cwd??g(t.projectDir),...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...P(i.activeSegments,o.spans)};return M.set(t.fullPath,{meta:r,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),r}catch{return null}}async function O(t){let e=v.get(t.fullPath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes)return e.detail;try{let e=await h(t.fullPath),{meta:i,events:s}=f(e),n=w(t.fileName);await D(i,e,t);let o=await x(a.default.dirname(t.fullPath),n),r={...i,id:n,filePath:t.fullPath,projectDir:t.projectDir,projectName:i.cwd??g(t.projectDir),events:s,...o.workflowCount>0?{workflowCount:o.workflowCount,spawnedAgentCount:o.spawnedAgentCount}:{},...P(i.activeSegments,o.spans)};v.set(t.fullPath,{detail:r,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes});let l={...r};return delete l.events,M.set(t.fullPath,{meta:l,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),r}catch{return null}}async function B(t={}){let{root:e=m,limit:i=500,projectDir:s}=t,a=await T(e);s&&(a=a.filter(t=>t.projectDir===s)),a.sort((t,e)=>e.mtimeMs-t.mtimeMs);let n=a.slice(0,i);return(await Promise.all(n.map(async t=>{let e=await R(t);return e?S(e,t):null}))).filter(t=>null!==t)}async function U(t,e={}){let{root:i=m}=e,s=(await T(i)).find(e=>w(e.fileName)===t);if(!s)return null;let n=await O(s);if(!n)return n;let o=n.firstTimestamp?Date.parse(n.firstTimestamp):void 0,r=a.default.join(a.default.dirname(s.fullPath),w(s.fileName),"subagents"),l=a.default.join(a.default.dirname(s.fullPath),w(s.fileName),"workflows"),[u,c]=await Promise.all([z(r,o,n.events),W(l,o,n.events)]),p=c.reduce((t,e)=>t+e.agentCount,0);return S({...n,subagents:u,workflows:c,...c.length>0?{workflowCount:c.length,spawnedAgentCount:p}:{}},s)}function $(t){let e,i,s,a,n,o={...b},r=new Set,l=0,u=0,c=0,p=new Map;for(let d of t){if(!d||"object"!=typeof d)continue;l++;let t="string"==typeof d.timestamp?Date.parse(d.timestamp):NaN;if(!Number.isNaN(t)&&((void 0===e||t<e)&&(e=t),(void 0===i||t>i)&&(i=t)),void 0===n&&"user"===d.type&&(null===d.parentUuid||void 0===d.parentUuid)){let t=d.message,e=t?.content;if("string"==typeof e)n=e;else if(Array.isArray(e)){let t=e.find(t=>t&&"object"==typeof t&&"text"===t.type);t?.text&&(n=t.text)}}if("assistant"===d.type){let t=d.message;if(!t)continue;a||"string"!=typeof t.model||(a=t.model);let e="string"==typeof t.id?t.id:void 0,i="string"==typeof d.requestId?d.requestId:void 0,n=null!=e&&null!=i?`${e}:${i}`:void 0,l=!n||!r.has(n);if(n&&l&&r.add(n),l){u++;let e=t.usage;if(e){let t=t=>"number"==typeof t?t:0;o.input+=t(e.input_tokens),o.output+=t(e.output_tokens),o.cacheRead+=t(e.cache_read_input_tokens),o.cacheWrite+=t(e.cache_creation_input_tokens)}}let f=t.content;if(Array.isArray(f))for(let t of f)t&&"object"==typeof t&&("text"===t.type&&"string"==typeof t.text?s=t.text:"tool_use"===t.type&&"string"==typeof t.name&&(c++,p.set(t.name,(p.get(t.name)??0)+1)))}}let d=Array.from(p.entries()).map(([t,e])=>({name:t,count:e})).sort((t,e)=>e.count-t.count);return{startMs:e,endMs:i,totalUsage:o,eventCount:l,finalPreview:void 0!==s?s.replace(/\s+/g," ").trim().slice(0,240):void 0,finalText:s,model:a,toolCalls:d,toolCallCount:c,assistantMessageCount:u,initialPrompt:n}}async function z(t,e,s){let n;try{n=await i.promises.readdir(t)}catch{return[]}let o=new Map,r=[];for(let t of s)if("tool-call"===t.role&&"Agent"===t.toolName)for(let e of t.blocks){if(e?.type!=="tool_use"||"Agent"!==e.name)continue;let i=e.input??{},s="string"==typeof i.description?i.description:void 0,a=t.timestamp?Date.parse(t.timestamp):void 0,n={toolUseId:e.id,parentUuid:t.uuid??"",runInBackground:!0===i.run_in_background,prompt:"string"==typeof i.prompt?i.prompt:void 0,tsMs:a};s&&o.set(s,n),void 0!==a&&r.push(n)}r.sort((t,e)=>(t.tsMs??0)-(e.tsMs??0));let l=n.filter(t=>t.startsWith("agent-")&&t.endsWith(".jsonl"));return(await Promise.all(l.map(async s=>{let n,l=s.replace(/^agent-/,"").replace(/\.jsonl$/,""),u=a.default.join(t,s),c=a.default.join(t,`agent-${l}.meta.json`),p={};try{let t=await i.promises.readFile(c,"utf8");p=JSON.parse(t)}catch{}try{n=await h(u)}catch{return null}let d=$(n),f=p.description&&p.description.trim().length>0?p.description:void 0,m=f?o.get(f):function(t){let e;if(void 0===t)return;let i=1/0;for(let s of r){if(void 0===s.tsMs)continue;let a=Math.abs(t-s.tsMs);a<i&&a<=2e3&&(e=s,i=a)}return e}(d.startMs),g=f??(d.initialPrompt?d.initialPrompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),y=m?.prompt??d.initialPrompt,w=void 0!==e&&void 0!==d.startMs?Math.max(0,d.startMs-e):void 0,M=void 0!==e&&void 0!==d.endMs?Math.max(0,d.endMs-e):void 0,v=void 0!==d.startMs&&void 0!==d.endMs?d.endMs-d.startMs:void 0;return{agentId:l,agentType:p.agentType??"unknown",description:g,startMs:d.startMs,endMs:d.endMs,durationMs:v,startTOffsetMs:w,endTOffsetMs:M,eventCount:d.eventCount,totalUsage:d.totalUsage,parentUuid:m?.parentUuid,parentToolUseId:m?.toolUseId,runInBackground:m?.runInBackground,prompt:y,finalPreview:d.finalPreview,finalText:d.finalText,model:d.model,toolCalls:d.toolCalls,toolCallCount:d.toolCallCount,assistantMessageCount:d.assistantMessageCount}}))).filter(t=>null!==t).sort((t,e)=>(t.startMs??0)-(e.startMs??0))}async function W(t,e,s){let n;try{n=await i.promises.readdir(t)}catch{return[]}let o=n.filter(t=>t.startsWith("wf_")&&t.endsWith(".json"));if(0===o.length)return[];let r=[];for(let t of s){if("tool-call"!==t.role||"Workflow"!==t.toolName)continue;let e=t.timestamp?Date.parse(t.timestamp):NaN;if(!Number.isNaN(e))for(let i of t.blocks)i?.type==="tool_use"&&"Workflow"===i.name&&r.push({toolUseId:i.id,parentUuid:t.uuid??"",tsMs:e})}r.sort((t,e)=>t.tsMs-e.tsMs);let l=t=>"number"==typeof t?t:void 0,u=t=>"string"==typeof t&&t.length>0?t:void 0;return(await Promise.all(o.map(async s=>{let n;try{n=JSON.parse(await i.promises.readFile(a.default.join(t,s),"utf8"))}catch{return null}let o=u(n.runId)??s.replace(/\.json$/,""),c=l(n.startTime),p=l(n.durationMs),d=void 0!==c&&void 0!==p?c+p:void 0,f=void 0!==e&&void 0!==c?Math.max(0,c-e):void 0,m=void 0!==e&&void 0!==d?Math.max(0,d-e):void 0,g=Array.isArray(n.phases)?n.phases.filter(t=>!!t&&"object"==typeof t&&"string"==typeof t.title).map(t=>({title:t.title,detail:u(t.detail)})):[],y=Array.isArray(n.logs)?n.logs.filter(t=>"string"==typeof t):[],h=(t,e)=>{let i=u(t);return void 0===i?void 0:i.length>e?i.slice(0,e)+"…":i},w=(Array.isArray(n.workflowProgress)?n.workflowProgress:[]).filter(t=>!!t&&"object"==typeof t&&"workflow_agent"===t.type).map(t=>({index:l(t.index)??0,label:u(t.label)??"(agent)",phaseIndex:l(t.phaseIndex),phaseTitle:u(t.phaseTitle),agentId:u(t.agentId),model:u(t.model),state:u(t.state),startedAt:l(t.startedAt),durationMs:l(t.durationMs),tokens:l(t.tokens),toolCalls:l(t.toolCalls),lastToolSummary:h(t.lastToolSummary,200),promptPreview:h(t.promptPreview,600),resultPreview:h(t.resultPreview,600)})).sort((t,e)=>t.index-e.index),M=(t=>{let e,i;if(void 0===t||0===r.length)return;let s=1/0,a=1/0;for(let n of r){let o=Math.abs(t-n.tsMs);!(o>6e4)&&(o<a&&(i=n,a=o),n.tsMs<=t&&o<s&&(e=n,s=o))}return e??i})(c);return{runId:o,name:u(n.workflowName)??o,description:u(n.summary),status:u(n.status)??"unknown",agentCount:l(n.agentCount)??0,toolCallCount:l(n.totalToolCalls)??0,totalTokens:l(n.totalTokens)??0,durationMs:p,startMs:c,endMs:d,startTOffsetMs:f,endTOffsetMs:m,model:u(n.defaultModel),phases:g,logs:y,agents:w,parentToolUseId:M?.toolUseId,parentUuid:M?.parentUuid}}))).filter(t=>null!==t).sort((t,e)=>(t.startMs??0)-(e.startMs??0))}async function F(t,e,i,s={}){let n,o,r,l,u,c,{root:p=m}=s;if(!/^[\w.-]+$/.test(e)||!/^[\w.-]+$/.test(i))return null;let d=(await T(p)).find(e=>w(e.fileName)===t);if(!d)return null;let f=a.default.join(a.default.dirname(d.fullPath),t,"subagents","workflows",e,`agent-${i}.jsonl`);try{n=await h(f)}catch{return null}let g=new Set;for(let t of n){if(!t||"object"!=typeof t)continue;let e=t.message?.content;if(Array.isArray(e))for(let t of e)t&&"object"==typeof t&&"tool_result"===t.type&&!0===t.is_error&&"string"==typeof t.tool_use_id&&g.add(t.tool_use_id)}let y=[],M=new Map,v={...b},k=new Set,_=0,j=0;for(let t of n){if(!t||"object"!=typeof t)continue;j++;let e="string"==typeof t.timestamp?Date.parse(t.timestamp):NaN;if(!Number.isNaN(e)&&((void 0===u||e<u)&&(u=e),(void 0===c||e>c)&&(c=e)),void 0===o&&"user"===t.type&&(null===t.parentUuid||void 0===t.parentUuid)){let e=t.message?.content;if("string"==typeof e)o=e;else if(Array.isArray(e)){let t=e.find(t=>t&&"object"==typeof t&&"text"===t.type);t?.text&&(o=t.text)}}if("assistant"!==t.type)continue;let i=t.message;if(!i)continue;l||"string"!=typeof i.model||(l=i.model);let s="string"==typeof i.id?i.id:void 0,a="string"==typeof t.requestId?t.requestId:void 0,n=null!=s&&null!=a?`${s}:${a}`:void 0,p=!n||!k.has(n);if(n&&p&&k.add(n),p){_++;let t=i.usage;if(t){let e=t=>"number"==typeof t?t:0;v.input+=e(t.input_tokens),v.output+=e(t.output_tokens),v.cacheRead+=e(t.cache_read_input_tokens),v.cacheWrite+=e(t.cache_creation_input_tokens)}}let d=i.content;if(Array.isArray(d)){for(let t of d)if(t&&"object"==typeof t){if("text"===t.type&&"string"==typeof t.text)r=t.text;else if("tool_use"===t.type&&"string"==typeof t.name&&(M.set(t.name,(M.get(t.name)??0)+1),y.length<2e3)){let e=function(t){if(!t||"object"!=typeof t)return"";let e=e=>"string"==typeof t[e]?t[e]:void 0;return e("command")??e("file_path")??e("path")??e("pattern")??e("url")??e("description")??e("query")??e("prompt")??e("old_string")??JSON.stringify(t)}(t.input),i=e.replace(/\s+/g," ").trim().slice(0,160),s=e.length>4e3?e.slice(0,4e3)+"…":e;y.push({index:y.length+1,tool:t.name,preview:i,full:s.length>i.length||s.includes("\n")?s:void 0,isError:"string"==typeof t.id&&g.has(t.id)})}}}}return{agentId:i,prompt:o,finalText:r,steps:y,toolCalls:Array.from(M.entries()).map(([t,e])=>({name:t,count:e})).sort((t,e)=>e.count-t.count),toolCallCount:y.length,assistantMessageCount:_,eventCount:j,totalUsage:v,model:l,durationMs:void 0!==u&&void 0!==c?c-u:void 0}}let E={...n.CLAUDE_CODE_METADATA,defaultRoot:m,async listSessions(t){let e=await B(t);for(let t of e)t.agent||(t.agent="claude-code");return e},async getSession(t,e){let i=await U(t,e);return i&&!i.agent&&(i.agent="claude-code"),i}};t.s(["DEFAULT_ROOT",0,m,"claudeCodeSource",0,E,"getSession",0,U,"invalidateClaudeCodeFile",0,j,"listSessions",0,B,"loadWorkflowAgentDetail",0,F,"summarizeSubagentLines",0,$],20629);let L=a.default.join(s.default.homedir(),".codex","sessions"),J=/^rollout-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})-([0-9a-f-]+)\.jsonl$/;async function q(t){return i.promises.readdir(t).catch(()=>[])}async function G(t){let e=[];for(let s of(await q(t))){if(!/^\d{4}$/.test(s))continue;let n=a.default.join(t,s);for(let t of(await q(n))){if(!/^\d{2}$/.test(t))continue;let s=a.default.join(n,t);for(let t of(await q(s))){if(!/^\d{2}$/.test(t))continue;let n=a.default.join(s,t);for(let t of(await q(n))){let s=J.exec(t);if(!s)continue;let o=a.default.join(n,t),r=await i.promises.stat(o).catch(()=>null);r&&e.push({filePath:o,sessionId:s[2],mtimeMs:r.mtimeMs,sizeBytes:r.size})}}}}return e}async function H(t){let e=await i.promises.readFile(t,"utf8"),s=[];for(let t of e.split("\n")){let e=t.trim();if(e)try{s.push(JSON.parse(e))}catch{}}return s}function Y(t){return t.replace(/\s+/g," ").trim().slice(0,200)}function K(t,e){let i,s,a,n,l,u,c,p=[],d={input:0,output:0,cacheRead:0,cacheWrite:0},f=0,m=0,g=[],y=0;for(let t of e){if("object"!=typeof t||null===t)continue;let e="string"==typeof t.timestamp?t.timestamp:void 0;if(e){i||(i=e),s=e;let t=Date.parse(e);Number.isFinite(t)&&g.push(t)}let r="string"==typeof t.type?t.type:"",w=t.payload??{},M="string"==typeof w.type?w.type:"";if("session_meta"===r){"string"==typeof w.cwd&&(a=w.cwd);continue}if("turn_context"===r){"string"==typeof w.cwd&&(a=w.cwd),"string"==typeof w.model&&(n=w.model);continue}if("event_msg"===r&&"token_count"===M){let t=w.info??null,e=t?.total_token_usage??null;e&&(d.input=Q(e.input_tokens)??d.input,d.output=Q(e.output_tokens)??d.output,d.cacheRead=Q(e.cached_input_tokens)??d.cacheRead);continue}if("event_msg"===r&&"user_message"===M){let i="string"==typeof w.message?w.message:"",s=Y(i),a=(0,o.isFrameworkInjectedUserInput)(i);i&&!a&&(l||(l=s),u=s,m+=1),p.push({index:y++,timestamp:e,role:"user",rawType:"event_msg/user_message",preview:s,blocks:i?[{type:"text",text:i}]:[],raw:t});continue}if("event_msg"===r&&"agent_message"===M){let i="string"==typeof w.message?w.message:"",s=Y(i);i&&(c=s),p.push({index:y++,timestamp:e,role:"agent",rawType:"event_msg/agent_message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:n,raw:t});continue}if("response_item"===r&&"reasoning"===M){let i=(w.summary??[]).map(t=>"string"==typeof t.text?t.text:"").join("\n").trim();p.push({index:y++,timestamp:e,role:"agent-thinking",rawType:"response_item/reasoning",preview:Y(i),blocks:i?[{type:"thinking",thinking:i}]:[],model:n,raw:t});continue}if("response_item"===r&&"message"===M&&"assistant"===w.role){let i=(w.content??[]).map(t=>"string"==typeof t.text?t.text:"").join("\n").trim(),s=Y(i);i&&(c=s),p.push({index:y++,timestamp:e,role:"agent",rawType:"response_item/message",preview:s,blocks:i?[{type:"text",text:i}]:[],model:n,raw:t});continue}if("response_item"===r&&"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,a="string"==typeof w.arguments?w.arguments:"",o=function(t){if(!t)return null;try{return JSON.parse(t)}catch{return t}}(a);f+=1,p.push({index:y++,timestamp:e,role:"tool-call",rawType:"response_item/function_call",preview:`${i}(${(h=a).length<=80?h:h.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:s??`codex-${y}`,name:i,input:o}],toolName:i,toolUseId:s,model:n,raw:t});continue}if("response_item"===r&&"function_call_output"===M){let i="string"==typeof w.call_id?w.call_id:void 0,s="string"==typeof w.output?w.output:"",a=/process exited with code [1-9]/i.test(s);p.push({index:y++,timestamp:e,role:"tool-result",rawType:"response_item/function_call_output",preview:Y(s),blocks:[{type:"tool_result",tool_use_id:i??"",content:s,is_error:a}],toolUseId:i,toolResult:s,raw:t});continue}p.push({index:y++,timestamp:e,role:"meta",rawType:M?`${r}/${M}`:r,preview:"",blocks:[],raw:t})}if(d.input>0||d.output>0){let e=-1;for(let t=p.length-1;t>=0;t--){let i=p[t].role;if("agent"===i||"agent-thinking"===i||"tool-call"===i){e=t;break}}if(e>=0){let i=p[e];i.messageId=`codex-${t.sessionId}-total`,i.usage={input:d.input,output:d.output,cacheRead:d.cacheRead,cacheWrite:0}}}let w=i?Date.parse(i):void 0;if(void 0!==w&&Number.isFinite(w)){let t;for(let e of p){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-w),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let M=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],a=e[0];for(let t=1;t<e.length;t++)e[t]-a>18e4&&(i.push({startMs:s,endMs:a}),s=e[t]),a=e[t];return i.push({startMs:s,endMs:a}),i}(g),v=M.reduce((t,e)=>t+(e.endMs-e.startMs),0),k=i&&s?Date.parse(s)-Date.parse(i):void 0,_=a?(0,r.canonicalProjectName)(a):"(unknown)",j=a?a.replace(/^\//,"-").replace(/\//g,"-"):"(unknown)";return{meta:{agent:"codex",id:t.sessionId,filePath:t.filePath,projectName:_,projectDir:j,sessionId:t.sessionId,firstTimestamp:i,lastTimestamp:s,durationMs:k&&Number.isFinite(k)?k:void 0,eventCount:p.length,model:n,cwd:a,totalUsage:d,status:"idle",firstUserPreview:l,lastUserPreview:u,lastAgentPreview:c,toolCallCount:f,turnCount:m,airTimeMs:v,activeSegments:M},events:p}}function Q(t){return"number"==typeof t&&Number.isFinite(t)?t:void 0}let V=new Map,X=new Map;async function Z(t={}){let e=t.root??L,i=await G(e),s=[];for(let t of i){let e=V.get(t.filePath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes){s.push(e.meta);continue}try{let e=await H(t.filePath),{meta:i}=K(t,e);V.set(t.filePath,{meta:i,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),s.push(i)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function tt(t,e={}){let i=e.root??L,s=(await G(i)).find(e=>e.sessionId===t);if(!s)return null;let a=X.get(s.filePath);if(a&&a.mtimeMs===s.mtimeMs&&a.sizeBytes===s.sizeBytes)return a.detail;let n=await H(s.filePath),{meta:o,events:r}=K(s,n),l={...o,events:r};return X.set(s.filePath,{detail:l,mtimeMs:s.mtimeMs,sizeBytes:s.sizeBytes}),l}async function te(t={}){let e=t.root??L,i=await G(e);if(0===i.length)return null;for(let t of(i.sort((t,e)=>e.mtimeMs-t.mtimeMs),i)){let e=await H(t.filePath);for(let i=e.length-1;i>=0;i--){let s=e[i];if("object"!=typeof s||null===s||"event_msg"!==s.type)continue;let a=s.payload??{};if("token_count"!==a.type)continue;let n=a.rate_limits??null;if(!n)continue;let o=n.primary??null,r=n.secondary??null,l=Q(o?.used_percent),u=Q(r?.used_percent),c=Q(o?.resets_at),p=Q(r?.resets_at),d="string"==typeof n.plan_type?n.plan_type:null;return{five_hour:{utilization:l??null,resets_at:void 0!==c?new Date(1e3*c).toISOString():null},seven_day:{utilization:u??null,resets_at:void 0!==p?new Date(1e3*p).toISOString():null},plan_type:d,source_path:t.filePath}}}return null}let ti=a.default.join(s.default.homedir(),".gemini","tmp"),ts=a.default.join(s.default.homedir(),".gemini","projects.json"),ta=/^session-.+\.(jsonl|json)$/;async function tn(t){return i.promises.readdir(t).catch(()=>[])}async function to(t){let e=[];for(let s of(await tn(t))){let n=a.default.join(t,s,"chats");for(let t of(await tn(n))){if(!ta.test(t))continue;let o=a.default.join(n,t),r=await i.promises.stat(o).catch(()=>null);if(!r||!r.isFile())continue;let l=t.replace(/\.(jsonl|json)$/,"").split("-").pop()??t;e.push({filePath:o,slug:s,filenameId:l,format:t.endsWith(".jsonl")?"jsonl":"legacy-json",mtimeMs:r.mtimeMs,sizeBytes:r.size})}}return e}let tr=null;async function tl(){let t,e=await i.promises.stat(ts).catch(()=>null);if(!e)return new Map;if(tr&&tr.mtimeMs===e.mtimeMs)return tr.slugToCwd;let s=await i.promises.readFile(ts,"utf8").catch(()=>"");try{t=JSON.parse(s)}catch{t={}}let a=new Map;for(let[e,i]of Object.entries(t.projects??{}))"string"==typeof i&&a.set(i,e);return tr={mtimeMs:e.mtimeMs,slugToCwd:a},a}function tu(t){return!!t&&"object"==typeof t&&"string"==typeof t.id&&"string"==typeof t.type}async function tc(t){let e=await i.promises.readFile(t.filePath,"utf8");if("legacy-json"===t.format){let t;try{t=JSON.parse(e)}catch{return{meta:{},messages:[]}}return{meta:{sessionId:"string"==typeof t.sessionId?t.sessionId:void 0,projectHash:"string"==typeof t.projectHash?t.projectHash:void 0,startTime:"string"==typeof t.startTime?t.startTime:void 0,lastUpdated:"string"==typeof t.lastUpdated?t.lastUpdated:void 0,summary:"string"==typeof t.summary?t.summary:void 0},messages:(Array.isArray(t.messages)?t.messages:[]).filter(tu)}}let s={},a=new Map,n=[];for(let t of e.split("\n")){let e,i=t.trim();if(i){var o,r;try{e=JSON.parse(i)}catch{continue}if((o=e)&&"object"==typeof o&&"$rewindTo"in o){let t=e.$rewindTo,i=n.indexOf(t);if(i>=0){for(let t of n.slice(i))a.delete(t);n.length=i}continue}if((r=e)&&"object"==typeof r&&"$set"in r){Object.assign(s,e.$set);continue}if(tu(e)){a.has(e.id)||n.push(e.id),a.set(e.id,e);continue}if("object"==typeof e&&null!==e){let t=e;"string"!=typeof t.sessionId||s.sessionId||(s.sessionId=t.sessionId,"string"==typeof t.projectHash&&(s.projectHash=t.projectHash),"string"==typeof t.startTime&&(s.startTime=t.startTime),"string"==typeof t.lastUpdated&&(s.lastUpdated=t.lastUpdated),"string"==typeof t.summary&&(s.summary=t.summary))}}}let l=[];for(let t of n){let e=a.get(t);e&&l.push(e)}return{meta:s,messages:l}}function tp(t){return t.replace(/\s+/g," ").trim().slice(0,200)}function td(t){if(!t)return"";if("string"==typeof t)return t;let e=Array.isArray(t)?t:[t],i=[];for(let t of e){if(!t||"object"!=typeof t)continue;if("string"==typeof t.text){i.push(t.text);continue}let e=t.functionResponse;if(e){let t=e.response;"string"==typeof t?i.push(t):t&&"object"==typeof t&&("string"==typeof t.output?i.push(t.output):"string"==typeof t.error?i.push(`error: ${t.error}`):i.push(JSON.stringify(t)))}}return i.join("\n")}async function tf(t){let e,i,s,a,n,l,{meta:u,messages:c}=await tc(t),p=(await tl()).get(t.slug),d=[],f={input:0,output:0,cacheRead:0,cacheWrite:0},m=0,g=0,y=[],h=0;function w(t){if(d.push(t),t.timestamp&&"meta"!==t.role){e||(e=t.timestamp),i=t.timestamp;let s=Date.parse(t.timestamp);Number.isFinite(s)&&y.push(s)}}for(let t of c){let e=t.timestamp;if("user"===t.type){let i=td(t.displayContent??t.content),s=tp(i),r=(0,o.isFrameworkInjectedUserInput)(i);i&&!r&&(a||(a=s),n=s,g+=1),w({index:h++,timestamp:e,role:"user",rawType:"gemini/user",preview:s,blocks:i?[{type:"text",text:i}]:[],messageId:t.id,raw:t});continue}if("gemini"===t.type){let i;"string"==typeof t.model&&(s=t.model);let a=td(t.content),n=tp(a);if(a&&(l=n),t.tokens){let e=t.tokens,s={input:e.input??0,output:e.output??0,cacheRead:e.cached??0,cacheWrite:0};i=s,f.input+=s.input,f.output+=s.output,f.cacheRead+=s.cacheRead}for(let i of t.thoughts??[]){let t=[i.subject,i.description].filter(Boolean).join(": ");t&&w({index:h++,timestamp:i.timestamp??e,role:"agent-thinking",rawType:"gemini/thought",preview:tp(t),blocks:[{type:"thinking",thinking:t}],model:s,raw:i})}for(let o of(a?w({index:h++,timestamp:e,role:"agent",rawType:"gemini/agent",preview:n,blocks:[{type:"text",text:a}],messageId:t.id,model:s,usage:i,raw:t}):i&&w({index:h++,timestamp:e,role:"agent",rawType:"gemini/agent",preview:"",blocks:[],messageId:t.id,model:s,usage:i,raw:t}),t.toolCalls??[])){m+=1;let t=o.args?JSON.stringify(o.args):"";w({index:h++,timestamp:o.timestamp??e,role:"tool-call",rawType:"gemini/tool_call",preview:`${o.name}(${t.length<=80?t:t.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o.id,name:o.name,input:o.args??{}}],toolName:o.name,toolUseId:o.id,model:s,raw:o});let i=(o.status??"").toLowerCase();if("success"===i||"error"===i||"cancelled"===i){let t=td(o.result);w({index:h++,timestamp:o.timestamp??e,role:"tool-result",rawType:"gemini/tool_result",preview:tp(t),blocks:[{type:"tool_result",tool_use_id:o.id,content:t,is_error:"error"===i||"cancelled"===i}],toolUseId:o.id,toolResult:t,raw:o})}}continue}if("info"===t.type||"warning"===t.type||"error"===t.type){let i=td(t.content);w({index:h++,timestamp:e,role:"meta",rawType:`gemini/${t.type}`,preview:tp(i),blocks:i?[{type:"text",text:i}]:[],raw:t});continue}}let M=e?Date.parse(e):void 0;if(void 0!==M&&Number.isFinite(M)){let t;for(let e of d){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-M),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let v=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],a=e[0];for(let t=1;t<e.length;t++)e[t]-a>18e4&&(i.push({startMs:s,endMs:a}),s=e[t]),a=e[t];return i.push({startMs:s,endMs:a}),i}(y),k=v.reduce((t,e)=>t+(e.endMs-e.startMs),0),_=e&&i?Date.parse(i)-Date.parse(e):void 0,j=u.sessionId??t.filenameId,T=p?(0,r.canonicalProjectName)(p):t.slug,b=p?p.replace(/^\//,"-").replace(/\//g,"-"):t.slug;return{meta:{agent:"gemini",id:j,filePath:t.filePath,projectName:T,projectDir:b,sessionId:j,firstTimestamp:e,lastTimestamp:i,durationMs:_&&Number.isFinite(_)?_:void 0,eventCount:d.length,model:s,cwd:p,totalUsage:f,status:"idle",firstUserPreview:a,lastUserPreview:n,lastAgentPreview:l,toolCallCount:m,turnCount:g,airTimeMs:k,activeSegments:v},events:d}}let tm=new Map,tg=new Map;async function ty(t={}){let e=t.root??ti,i=await to(e),s=[];for(let t of i){let e=tm.get(t.filePath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes){s.push(e.meta);continue}try{let{meta:e}=await tf(t);tm.set(t.filePath,{meta:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes}),s.push(e)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function th(t,e={}){let i,s=e.root??ti,a=await to(s);for(let e of a)if(e.filenameId===t||t.startsWith(e.filenameId)){i=e;break}if(!i)for(let e of a){let{meta:s}=await tf(e).catch(()=>({meta:{id:""}}));if(s.id===t){i=e;break}}if(!i)return null;let n=tg.get(i.filePath);if(n&&n.mtimeMs===i.mtimeMs&&n.sizeBytes===i.sizeBytes)return n.detail;let{meta:o,events:r}=await tf(i),l={...o,events:r};return tg.set(i.filePath,{detail:l,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes}),l}let tw=a.default.join(s.default.homedir(),".gemini","antigravity-cli");async function tM(t){return i.promises.readdir(t).catch(()=>[])}let tv=null;async function tk(t){let e=a.default.join(t,"history.jsonl"),s=await i.promises.stat(e).catch(()=>null);if(!s)return new Map;if(tv&&tv.mtimeMs===s.mtimeMs)return tv.slugToCwd;let n=await i.promises.readFile(e,"utf8").catch(()=>""),o=new Map;for(let t of n.split("\n")){let e=t.trim();if(e)try{let t=JSON.parse(e);t.conversationId&&t.workspace&&o.set(t.conversationId,t.workspace)}catch{}}return tv={mtimeMs:s.mtimeMs,slugToCwd:o},o}async function t_(t){let e=await tk(t),s=[],n=a.default.join(t,"brain");for(let t of(await tM(n))){let o=a.default.join(n,t,".system_generated","logs","transcript.jsonl"),r=await i.promises.stat(o).catch(()=>null);r&&r.isFile()&&s.push({filePath:o,conversationId:t,cwd:e.get(t),mtimeMs:r.mtimeMs,sizeBytes:r.size})}return s}function tj(t){return t.replace(/\s+/g," ").trim().slice(0,200)}async function tT(t){let e,s,a,n,l,u,c=await i.promises.readFile(t.filePath,"utf8"),p=[],d=0,f=0,m=[],g=0;function y(t){if(p.push(t),t.timestamp&&"meta"!==t.role){e||(e=t.timestamp),s=t.timestamp;let i=Date.parse(t.timestamp);Number.isFinite(i)&&m.push(i)}}let h=[],w=[],M=new Map;for(let t of c.split("\n")){let e=t.trim();if(e)try{let t=JSON.parse(e),i=t.step_index;"number"==typeof i?M.has(i)?w[M.get(i)]=t:(M.set(i,w.length),w.push(t)):w.push(t)}catch{}}for(let t of w){let e=t.created_at||t.timestamp;if("USER_INPUT"===t.type){if("string"==typeof t.content){let e=t.content.match(/Model Selection` from .*? to (.*?)\.\s*No need to/);if(e){let t=e[1].trim();a=t=t.replace(/\s*\(.*?\)\s*$/,"").trim()}else{let e=t.content.match(/Model Selection` from .*? to ([^\n]+)/);if(e){let t=e[1].trim();t.endsWith(".")&&(t=t.slice(0,-1).trim()),a=t=t.replace(/\s*\(.*?\)\s*$/,"").trim()}}}let i=t.content||"",s=i.match(/<USER_REQUEST>([\s\S]*?)<\/USER_REQUEST>/);s&&(i=s[1].trim());let r=tj(i),u=(0,o.isFrameworkInjectedUserInput)(i);i&&!u&&(n||(n=r),l=r,f+=1),y({index:g++,timestamp:e,role:"user",rawType:"antigravity/user",preview:r,blocks:i?[{type:"text",text:i}]:[],messageId:t.step_index?.toString(),raw:t});continue}if("PLANNER_RESPONSE"===t.type){let i=t.thinking,s=t.content;if(i&&y({index:g++,timestamp:e,role:"agent-thinking",rawType:"antigravity/thought",preview:tj(i),blocks:[{type:"thinking",thinking:i}],model:a,raw:t}),s){let i=tj(s);u=i,y({index:g++,timestamp:e,role:"agent",rawType:"antigravity/agent",preview:i,blocks:[{type:"text",text:s}],messageId:t.step_index?.toString(),model:a,raw:t})}let n=t.tool_calls||[];for(let i=0;i<n.length;i++){let s=n[i];d+=1;let o=`tool-${t.step_index}-${i}`,r=s.args?JSON.stringify(s.args):"";h.push({id:o,name:s.name}),y({index:g++,timestamp:e,role:"tool-call",rawType:"antigravity/tool_call",preview:`${s.name}(${r.length<=80?r:r.slice(0,79)+"…"})`,blocks:[{type:"tool_use",id:o,name:s.name,input:s.args||{}}],toolName:s.name,toolUseId:o,model:a,raw:s})}continue}if("MODEL"===t.source&&"PLANNER_RESPONSE"!==t.type&&"ERROR_MESSAGE"!==t.type&&h.length>0){let i=h.shift(),s=i?i.id:`tool-${t.step_index}-unknown`,a="string"==typeof t.content?t.content:JSON.stringify(t.content||""),n="ERROR"===t.status||"FAILED"===t.status||"CANCELED"===t.status||!!t.error;y({index:g++,timestamp:e,role:"tool-result",rawType:"antigravity/tool_result",preview:tj(a),blocks:[{type:"tool_result",tool_use_id:s,content:a,is_error:n}],toolUseId:s,toolResult:a,raw:t});continue}let i=t.content||t.error||"";y({index:g++,timestamp:e,role:"meta",rawType:`antigravity/${t.type?.toLowerCase()||"unknown"}`,preview:tj(i),blocks:i?[{type:"text",text:i}]:[],raw:t})}let v=e?Date.parse(e):void 0;if(void 0!==v&&Number.isFinite(v)){let t;for(let e of p){if(!e.timestamp)continue;let i=Date.parse(e.timestamp);Number.isFinite(i)&&(e.tOffsetMs=Math.max(0,i-v),void 0!==t&&(e.gapMs=Math.max(0,i-t)),t=i)}}let k=function(t){if(0===t.length)return[];let e=[...t].sort((t,e)=>t-e),i=[],s=e[0],a=e[0];for(let t=1;t<e.length;t++)e[t]-a>18e4&&(i.push({startMs:s,endMs:a}),s=e[t]),a=e[t];return i.push({startMs:s,endMs:a}),i}(m),_=k.reduce((t,e)=>t+(e.endMs-e.startMs),0),j=e&&s?Date.parse(s)-Date.parse(e):void 0,T=t.conversationId,b=t.cwd,N=b?(0,r.canonicalProjectName)(b):t.conversationId,A=b?b.replace(/^\//,"-").replace(/\//g,"-"):t.conversationId;return{meta:{agent:"antigravity",id:T,filePath:t.filePath,projectName:N,projectDir:A,sessionId:T,firstTimestamp:e,lastTimestamp:s,durationMs:j&&Number.isFinite(j)?j:void 0,eventCount:p.length,model:a,cwd:b,totalUsage:{input:0,output:0,cacheRead:0,cacheWrite:0},status:"idle",firstUserPreview:n,lastUserPreview:l,lastAgentPreview:u,toolCallCount:d,turnCount:f,airTimeMs:_,activeSegments:k},events:p}}let tb=new Map,tN=new Map;async function tA(t={}){let e=t.root??tw,i=await t_(e),s=[];for(let t of i){let e=tb.get(t.filePath);if(e&&e.mtimeMs===t.mtimeMs&&e.sizeBytes===t.sizeBytes&&e.cwd===t.cwd){s.push(e.meta);continue}try{let{meta:e}=await tT(t);tb.set(t.filePath,{meta:e,mtimeMs:t.mtimeMs,sizeBytes:t.sizeBytes,cwd:t.cwd}),s.push(e)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function tx(t,e={}){let i,s=e.root??tw;for(let e of(await t_(s)))if(e.conversationId===t){i=e;break}if(!i)return null;let a=tN.get(i.filePath);if(a&&a.mtimeMs===i.mtimeMs&&a.sizeBytes===i.sizeBytes&&a.cwd===i.cwd)return a.detail;let{meta:n,events:o}=await tT(i),r={...n,events:o};return tN.set(i.filePath,{detail:r,mtimeMs:i.mtimeMs,sizeBytes:i.sizeBytes,cwd:i.cwd}),r}let tI=(e=s.default.homedir(),a.default.join(e,".config","Claude","local-agent-mode-sessions")),tC=/^local_[0-9a-f-]+$/;async function tS(t){return i.promises.readdir(t).catch(()=>[])}async function tP(t){let e=await i.promises.stat(t).catch(()=>null);return e?e.mtimeMs:0}async function tD(t){let e=[];for(let s of(await tS(t))){let n=a.default.join(t,s);for(let t of(await tS(n))){let s=a.default.join(n,t),o=await tP(a.default.join(s,"spaces.json"));for(let t of(await tS(s))){if(!tC.test(t))continue;let n=a.default.join(s,t,"audit.jsonl"),r=await i.promises.stat(n).catch(()=>null);if(!r||!r.isFile()||0===r.size)continue;let l=a.default.join(s,`${t}.json`),u=await tP(l);e.push({sessionId:t,auditPath:n,metaPath:l,workspaceDir:s,auditMtimeMs:r.mtimeMs,auditSize:r.size,metaMtimeMs:u,spacesMtimeMs:o})}}}return e}let tR=new Map;async function tO(t){let e=a.default.join(t,"spaces.json"),s=await i.promises.stat(e).catch(()=>null);if(!s)return new Map;let n=tR.get(t);if(n&&n.mtimeMs===s.mtimeMs)return n.spaceIdToPath;let o=await i.promises.readFile(e,"utf8").catch(()=>""),r=new Map;try{for(let t of JSON.parse(o).spaces??[]){let e="string"==typeof t.id?t.id:void 0,i=(Array.isArray(t.folders)?t.folders:[])[0],s="string"==typeof i?.path?i.path:void 0;e&&s&&r.set(e,s)}}catch{}return tR.set(t,{mtimeMs:s.mtimeMs,spaceIdToPath:r}),r}async function tB(t){let e=await i.promises.readFile(t,"utf8").catch(()=>"");if(!e)return{};try{let t=JSON.parse(e);return{spaceId:"string"==typeof t.spaceId?t.spaceId:void 0,userSelectedFolders:Array.isArray(t.userSelectedFolders)?t.userSelectedFolders.filter(t=>"string"==typeof t):void 0,cwd:"string"==typeof t.cwd?t.cwd:void 0,model:"string"==typeof t.model?t.model:void 0,title:"string"==typeof t.title?t.title:void 0,createdAt:"number"==typeof t.createdAt?t.createdAt:void 0,lastActivityAt:"number"==typeof t.lastActivityAt?t.lastActivityAt:void 0}}catch{return{}}}async function tU(t){let e=await i.promises.readFile(t,"utf8"),s=[];for(let t of e.split("\n")){let e=t.trim();if(e)try{s.push(JSON.parse(e))}catch{}}return s}async function t$(t){let e,i,[s,a,n]=await Promise.all([tU(t.auditPath),tB(t.metaPath),tO(t.workspaceDir)]),o=(e=new Map,s.forEach((t,i)=>{if("string"!=typeof t.uuid)return;let a=e.get(t.uuid);void 0===a?e.set(t.uuid,i):void 0===s[a].timestamp&&void 0!==t.timestamp&&e.set(t.uuid,i)}),s.filter((t,i)=>"string"!=typeof t.uuid||e.get(t.uuid)===i)),{mainLines:l,subagentGroups:u}=function(t){let e=[],i=new Map;for(let s of t){let t=s.parent_tool_use_id;if("string"==typeof t){let e=i.get(t);e?e.push(s):i.set(t,[s])}else e.push(s)}return{mainLines:e,subagentGroups:i}}(o),{meta:c,events:p}=f(l),d=function(t,e,i){if(0===t.size)return[];let s=new Map;for(let i of e){let e=i.message?.content;if(Array.isArray(e)){for(let a of e)if(a&&"object"==typeof a){if("tool_use"===a.type&&"Agent"===a.name&&"string"==typeof a.id){let t=a.input??{},e=s.get(a.id)??{};"string"==typeof i.uuid&&(e.parentUuid=i.uuid),"string"==typeof t.description&&(e.description=t.description),"string"==typeof t.subagent_type&&(e.agentType=t.subagent_type),"string"==typeof t.prompt&&(e.prompt=t.prompt),s.set(a.id,e)}else if("tool_result"===a.type&&"string"==typeof a.tool_use_id&&t.has(a.tool_use_id)){let t=s.get(a.tool_use_id)??{};t.finalText=function(t){if("string"==typeof t)return t;if(Array.isArray(t)){let e=[];for(let i of t)if(i&&"object"==typeof i&&"text"===i.type){let t=i.text;"string"==typeof t&&e.push(t)}if(e.length)return e.join("\n")}}(a.content)??t.finalText,s.set(a.tool_use_id,t)}}}}let a=[];for(let[e,n]of t){let t=$(n),o=s.get(e)??{},r=o.finalText??t.finalText,l=r?r.replace(/\s+/g," ").trim().slice(0,240):t.finalPreview,u=void 0!==i&&void 0!==t.startMs?Math.max(0,t.startMs-i):void 0,c=void 0!==i&&void 0!==t.endMs?Math.max(0,t.endMs-i):void 0,p=void 0!==t.startMs&&void 0!==t.endMs?t.endMs-t.startMs:void 0;a.push({agentId:e,agentType:o.agentType??"unknown",description:o.description??(o.prompt?o.prompt.replace(/\s+/g," ").trim().slice(0,80):"(no description)"),startMs:t.startMs,endMs:t.endMs,durationMs:p,startTOffsetMs:u,endTOffsetMs:c,eventCount:t.eventCount,totalUsage:t.totalUsage,parentUuid:o.parentUuid,parentToolUseId:e,runInBackground:!1,finalPreview:l,finalText:r,prompt:o.prompt,model:t.model,toolCalls:t.toolCalls,toolCallCount:t.toolCallCount,assistantMessageCount:t.assistantMessageCount})}return a.sort((t,e)=>(t.startMs??0)-(e.startMs??0)),a}(u,o,c.firstTimestamp?Date.parse(c.firstTimestamp):void 0),{projectName:m,projectDir:g,cwd:y}=(a.spaceId&&(i=n.get(a.spaceId)),!i&&a.userSelectedFolders&&a.userSelectedFolders.length>0&&(i=a.userSelectedFolders[0]),i)?{projectName:(0,r.canonicalProjectName)(i),projectDir:i.replace(/^\//,"-").replace(/\//g,"-"),cwd:i}:{projectName:"cowork:unspaced",projectDir:"cowork-unspaced"};return{meta:{...c,agent:"cowork",id:t.sessionId,sessionId:t.sessionId,filePath:t.auditPath,projectName:m,projectDir:g,cwd:y??c.cwd,model:c.model??a.model},events:p,subagents:d}}function tz(t){return{auditMtimeMs:t.auditMtimeMs,auditSize:t.auditSize,metaMtimeMs:t.metaMtimeMs,spacesMtimeMs:t.spacesMtimeMs}}function tW(t,e){return t.auditMtimeMs===e.auditMtimeMs&&t.auditSize===e.auditSize&&t.metaMtimeMs===e.metaMtimeMs&&t.spacesMtimeMs===e.spacesMtimeMs}let tF=new Map,tE=new Map;async function tL(t={}){let e=t.root??tI,i=await tD(e),s=[];for(let t of i){let e=tz(t),i=tF.get(t.auditPath);if(i&&tW(i.key,e)){s.push(i.meta);continue}try{let{meta:i}=await t$(t);tF.set(t.auditPath,{meta:i,key:e}),s.push(i)}catch{}}return(s.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?s.slice(0,t.limit):s}async function tJ(t,e={}){let i=e.root??tI,s=(await tD(i)).find(e=>e.sessionId===t);if(!s)return null;let a=tz(s),n=tE.get(s.auditPath);if(n&&tW(n.key,a))return n.detail;let{meta:o,events:r,subagents:l}=await t$(s),u={...o,events:r,...l.length?{subagents:l}:{}};return tE.set(s.auditPath,{detail:u,key:a}),u}function tq(){return process.env.CCLENS_HOME||a.default.join(s.default.homedir(),".cclens")}function tG(...t){return a.default.join(tq(),...t)}function tH(t){j(t)}let tY=[E,{...n.CODEX_METADATA,defaultRoot:L,listSessions:async t=>Z(t),getSession:async t=>tt(t),async usagePoller(){let t=await te();return t?{captured_at:new Date().toISOString(),agent:"codex",five_hour:t.five_hour,seven_day:t.seven_day}:null}},{...n.GEMINI_METADATA,defaultRoot:ti,listSessions:async t=>ty(t),getSession:async t=>th(t)},{...n.ANTIGRAVITY_METADATA,defaultRoot:tw,listSessions:async t=>tA(t),getSession:async t=>tx(t)},{...n.COWORK_METADATA,defaultRoot:tI,listSessions:async t=>tL(t),getSession:async t=>tJ(t)}];async function tK(t={}){let e=await Promise.all(tY.map(e=>e.listSessions(t))),i=[];for(let t of e)i.push(...t);return(i.sort((t,e)=>(e.firstTimestamp??"").localeCompare(t.firstTimestamp??"")),void 0!==t.limit)?i.slice(0,t.limit):i}async function tQ(t){for(let e of tY){let i=await e.getSession(t);if(i)return i}return null}}];
2
2
 
3
3
  //# sourceMappingURL=packages_parser_dist_10ihc3~._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},85160,a=>{"use strict";function b(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}function c(a=Date.now()){return b(a)}a.i(44104);let d=/^\d{4}-\d{2}-\d{2}$/;function e(a=Date.now()){var d;let f,g;return d=c(a),g=(f=new Date(`${d}T00:00:00`)).getDay(),f.setDate(f.getDate()+(0===g?-6:1-g)),b(f.getTime())}a.s(["currentWeekMonday",0,e,"currentYearMonth",0,function(a=Date.now()){return c(a).slice(0,7)},"isValidDate",0,function(a){return d.test(a)},"lastCompletedWeekMonday",0,function(a=Date.now()){let c=e(a),d=new Date(`${c}T00:00:00`);return d.setDate(d.getDate()-7),b(d.getTime())},"toLocalDay",0,b,"todayLocal",0,c,"yesterdayLocal",0,function(a=Date.now()){return b(a-864e5)}])},87067,a=>{"use strict";let b={input:1,output:5,cacheRead:.1,cacheWrite:1.25},c={input:3,output:15,cacheRead:.3,cacheWrite:3.75},d={input:5,output:25,cacheRead:.5,cacheWrite:6.25};a.s(["estimateCostMulti",0,function(a){return a.reduce((a,e)=>{var f;let g;return a+(f=e.totalUsage,g=function(a){if(!a)return d;let e=a.toLowerCase();return e.includes("haiku")?b:e.includes("sonnet")?c:d}(e.model),f.input/1e6*g.input+f.output/1e6*g.output+f.cacheRead/1e6*g.cacheRead+f.cacheWrite/1e6*g.cacheWrite)},0)},"formatCost",0,function(a){return a<.01?"<$0.01":a<1||a<100?`$${a.toFixed(2)}`:a<1e3?`$${a.toFixed(1)}`:`$${a.toLocaleString(void 0,{maximumFractionDigits:0})}`},"formatDuration",0,function(a){if(void 0===a)return"—";if(a<1e3)return`${a}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`},"formatGap",0,function(a){if(a<1e3)return`${a}ms`;let b=a/1e3;if(b<60)return`${b.toFixed(1)}s`;let c=Math.floor(b/60);if(c<60){let a=Math.round(b%60);return`${c}m ${a}s`}let d=Math.floor(c/60),e=c%60;if(d<24)return e?`${d}h ${e}m`:`${d}h`;let f=Math.floor(d/24),g=d%24;return g?`${f}d ${g}h`:`${f}d`},"formatRelative",0,function(a){let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Math.round((Date.now()-b)/1e3);if(c<60)return`${c}s ago`;let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return`${f}d ago`},"formatTokens",0,function(a){return a<1e3?String(a):a<1e4?(a/1e3).toFixed(1)+"k":a<1e6?Math.round(a/1e3)+"k":a<1e7?(a/1e6).toFixed(2)+"M":(a/1e6).toFixed(1)+"M"},"prettyProjectName",0,function(a,b=35){let c=a.split("/").filter(Boolean),d=c.lastIndexOf(".worktrees");if(d>0&&d<c.length-1){let a=c[d-1],e=c[d+1],f=`${a}/${e}`;return f.length<=b?f:"…"+f.slice(f.length-b+1)}let e=c.length>=2?`${c[c.length-2]}/${c[c.length-1]}`:c[c.length-1]??a;return e.length<=b?e:"…"+e.slice(e.length-b+1)}])},1269,a=>{"use strict";var b=a.i(717);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],1269)},83885,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx <module evaluation>","Heatmap")},44467,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx","Heatmap")},54572,a=>{"use strict";a.i(83885);var b=a.i(44467);a.n(b)},70301,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx <module evaluation>","ActivityChart")},37964,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx","ActivityChart")},37707,a=>{"use strict";a.i(70301);var b=a.i(37964);a.n(b)},25581,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx <module evaluation>","MetricCard")},77267,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx","MetricCard")},94045,a=>{"use strict";a.i(25581);var b=a.i(77267);a.n(b)},4636,a=>{"use strict";var b=a.i(7997);a.i(9117);var c=a.i(48024),d=a.i(54572),e=a.i(37707),f=a.i(94045),g=a.i(87067),h=a.i(1269);let i=(0,h.default)("ListTree",[["path",{d:"M21 12h-8",key:"1bmf0i"}],["path",{d:"M21 6H8",key:"1pqkrb"}],["path",{d:"M21 18h-8",key:"1tm79t"}],["path",{d:"M3 6v4c0 1.1.9 2 2 2h3",key:"1ywdgy"}],["path",{d:"M3 10v6c0 1.1.9 2 2 2h3",key:"2wc746"}]]),j=(0,h.default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),k=(0,h.default)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),l=(0,h.default)("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);function m({line1:a,line2:c}){return(0,b.jsxs)("div",{style:{lineHeight:1.4},children:[(0,b.jsx)("div",{children:a}),(0,b.jsx)("div",{style:{color:"var(--af-text-tertiary)"},children:c})]})}function n(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":(a/1e6).toFixed(1)+"M"}function o(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":a<1e9?(a/1e6).toFixed(1)+"M":(a/1e9).toFixed(1)+"B"}a.s(["DashboardView",0,function({sessions:a,override:h,daySummaries:p}){let q=(0,c.highLevelMetrics)(a),r=(0,c.dailyActivity)(a),s=(0,c.summarizeBursts)((0,c.computeBurstsFromSessions)(a)),t=q.totalTokens.input+q.totalTokens.cacheRead+q.totalTokens.cacheWrite,u=h?.activeTimeMs??q.totalAirTimeMs,v=h?.activeDayCount??r.filter(a=>a.airTimeMs>0).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12},children:[(0,b.jsx)(f.MetricCard,{label:"Sessions",value:q.sessionCount.toLocaleString(),sub:(0,b.jsx)(m,{line1:`${q.totalTurns.toLocaleString()} turns`,line2:`avg ${q.sessionCount?Math.round(q.totalTurns/q.sessionCount):0} / session`}),icon:(0,b.jsx)(i,{size:13}),tooltip:"Total Claude Code sessions (one JSONL file = one session). A 'turn' is one user message that starts an agent response cycle."}),(0,b.jsx)(f.MetricCard,{label:"Agent time",value:(0,g.formatDuration)(u),sub:v>0?(0,b.jsx)(m,{line1:`${(0,g.formatDuration)(u/v)} / day`,line2:`${v} active days`}):"no activity",icon:(0,b.jsx)(j,{size:13}),tooltip:"Sum of time the Claude agent was actively working across all sessions. Gaps longer than 3 minutes (user away, laptop lid closed) are excluded. This is NOT wall-clock duration. Per-day average is across days with any agent activity."}),(0,b.jsx)(f.MetricCard,{label:"Tool calls",value:q.totalToolCalls.toLocaleString(),sub:(0,b.jsx)(m,{line1:`avg ${q.sessionCount?Math.round(q.totalToolCalls/q.sessionCount):0} / session`,line2:`across ${q.sessionCount.toLocaleString()} sessions`}),icon:(0,b.jsx)(k,{size:13}),tooltip:"Total tool invocations (Bash, Read, Edit, Write, Grep, Glob, Agent, etc.) across all sessions."}),(0,b.jsx)(f.MetricCard,{label:"Parallelism",value:s.burstCount>0?(0,g.formatDuration)(s.totalParallelMs):"—",sub:s.burstCount>0?(0,b.jsx)(m,{line1:`peak \xd7${s.peakConcurrent}`,line2:`${Math.round(s.totalParallelMs/Math.max(1,u)*100)}% of active time`}):"no sustained parallelism",tooltip:`Total time ≥2 agents were working in parallel, with peak concurrency as the highest count in any single burst.
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},85160,a=>{"use strict";function b(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}function c(a=Date.now()){return b(a)}a.i(44104);let d=/^\d{4}-\d{2}-\d{2}$/;function e(a=Date.now()){var d;let f,g;return d=c(a),g=(f=new Date(`${d}T00:00:00`)).getDay(),f.setDate(f.getDate()+(0===g?-6:1-g)),b(f.getTime())}a.s(["currentWeekMonday",0,e,"currentYearMonth",0,function(a=Date.now()){return c(a).slice(0,7)},"isValidDate",0,function(a){return d.test(a)},"lastCompletedWeekMonday",0,function(a=Date.now()){let c=e(a),d=new Date(`${c}T00:00:00`);return d.setDate(d.getDate()-7),b(d.getTime())},"toLocalDay",0,b,"todayLocal",0,c,"yesterdayLocal",0,function(a=Date.now()){return b(a-864e5)}])},1269,a=>{"use strict";var b=a.i(717);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],1269)},87067,a=>{"use strict";let b={input:1,output:5,cacheRead:.1,cacheWrite:1.25},c={input:3,output:15,cacheRead:.3,cacheWrite:3.75},d={input:5,output:25,cacheRead:.5,cacheWrite:6.25};a.s(["estimateCostMulti",0,function(a){return a.reduce((a,e)=>{var f;let g;return a+(f=e.totalUsage,g=function(a){if(!a)return d;let e=a.toLowerCase();return e.includes("haiku")?b:e.includes("sonnet")?c:d}(e.model),f.input/1e6*g.input+f.output/1e6*g.output+f.cacheRead/1e6*g.cacheRead+f.cacheWrite/1e6*g.cacheWrite)},0)},"formatCost",0,function(a){return a<.01?"<$0.01":a<1||a<100?`$${a.toFixed(2)}`:a<1e3?`$${a.toFixed(1)}`:`$${a.toLocaleString(void 0,{maximumFractionDigits:0})}`},"formatDuration",0,function(a){if(void 0===a)return"—";if(a<1e3)return`${a}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`},"formatGap",0,function(a){if(a<1e3)return`${a}ms`;let b=a/1e3;if(b<60)return`${b.toFixed(1)}s`;let c=Math.floor(b/60);if(c<60){let a=Math.round(b%60);return`${c}m ${a}s`}let d=Math.floor(c/60),e=c%60;if(d<24)return e?`${d}h ${e}m`:`${d}h`;let f=Math.floor(d/24),g=d%24;return g?`${f}d ${g}h`:`${f}d`},"formatRelative",0,function(a){let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Math.round((Date.now()-b)/1e3);if(c<60)return`${c}s ago`;let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return`${f}d ago`},"formatTokens",0,function(a){return a<1e3?String(a):a<1e4?(a/1e3).toFixed(1)+"k":a<1e6?Math.round(a/1e3)+"k":a<1e7?(a/1e6).toFixed(2)+"M":(a/1e6).toFixed(1)+"M"},"prettyProjectName",0,function(a,b=35){let c=a.split("/").filter(Boolean),d=c.lastIndexOf(".worktrees");if(d>0&&d<c.length-1){let a=c[d-1],e=c[d+1],f=`${a}/${e}`;return f.length<=b?f:"…"+f.slice(f.length-b+1)}let e=c.length>=2?`${c[c.length-2]}/${c[c.length-1]}`:c[c.length-1]??a;return e.length<=b?e:"…"+e.slice(e.length-b+1)}])},83885,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx <module evaluation>","Heatmap")},44467,a=>{"use strict";a.s(["Heatmap",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Heatmap() from the server but Heatmap is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/heatmap.tsx","Heatmap")},54572,a=>{"use strict";a.i(83885);var b=a.i(44467);a.n(b)},70301,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx <module evaluation>","ActivityChart")},37964,a=>{"use strict";a.s(["ActivityChart",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call ActivityChart() from the server but ActivityChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/activity-chart.tsx","ActivityChart")},37707,a=>{"use strict";a.i(70301);var b=a.i(37964);a.n(b)},25581,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx <module evaluation>","MetricCard")},77267,a=>{"use strict";a.s(["MetricCard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MetricCard() from the server but MetricCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/metric-card.tsx","MetricCard")},94045,a=>{"use strict";a.i(25581);var b=a.i(77267);a.n(b)},4636,a=>{"use strict";var b=a.i(7997);a.i(9117);var c=a.i(48024),d=a.i(54572),e=a.i(37707),f=a.i(94045),g=a.i(87067),h=a.i(1269);let i=(0,h.default)("ListTree",[["path",{d:"M21 12h-8",key:"1bmf0i"}],["path",{d:"M21 6H8",key:"1pqkrb"}],["path",{d:"M21 18h-8",key:"1tm79t"}],["path",{d:"M3 6v4c0 1.1.9 2 2 2h3",key:"1ywdgy"}],["path",{d:"M3 10v6c0 1.1.9 2 2 2h3",key:"2wc746"}]]),j=(0,h.default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),k=(0,h.default)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),l=(0,h.default)("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);function m({line1:a,line2:c}){return(0,b.jsxs)("div",{style:{lineHeight:1.4},children:[(0,b.jsx)("div",{children:a}),(0,b.jsx)("div",{style:{color:"var(--af-text-tertiary)"},children:c})]})}function n(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":(a/1e6).toFixed(1)+"M"}function o(a){return a<1e3?String(a):a<1e6?(a/1e3).toFixed(1)+"k":a<1e9?(a/1e6).toFixed(1)+"M":(a/1e9).toFixed(1)+"B"}a.s(["DashboardView",0,function({sessions:a,override:h,daySummaries:p}){let q=(0,c.highLevelMetrics)(a),r=(0,c.dailyActivity)(a),s=(0,c.summarizeBursts)((0,c.computeBurstsFromSessions)(a)),t=q.totalTokens.input+q.totalTokens.cacheRead+q.totalTokens.cacheWrite,u=h?.activeTimeMs??q.totalAirTimeMs,v=h?.activeDayCount??r.filter(a=>a.airTimeMs>0).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12},children:[(0,b.jsx)(f.MetricCard,{label:"Sessions",value:q.sessionCount.toLocaleString(),sub:(0,b.jsx)(m,{line1:`${q.totalTurns.toLocaleString()} turns`,line2:`avg ${q.sessionCount?Math.round(q.totalTurns/q.sessionCount):0} / session`}),icon:(0,b.jsx)(i,{size:13}),tooltip:"Total Claude Code sessions (one JSONL file = one session). A 'turn' is one user message that starts an agent response cycle."}),(0,b.jsx)(f.MetricCard,{label:"Agent time",value:(0,g.formatDuration)(u),sub:v>0?(0,b.jsx)(m,{line1:`${(0,g.formatDuration)(u/v)} / day`,line2:`${v} active days`}):"no activity",icon:(0,b.jsx)(j,{size:13}),tooltip:"Sum of time the Claude agent was actively working across all sessions. Gaps longer than 3 minutes (user away, laptop lid closed) are excluded. This is NOT wall-clock duration. Per-day average is across days with any agent activity."}),(0,b.jsx)(f.MetricCard,{label:"Tool calls",value:q.totalToolCalls.toLocaleString(),sub:(0,b.jsx)(m,{line1:`avg ${q.sessionCount?Math.round(q.totalToolCalls/q.sessionCount):0} / session`,line2:`across ${q.sessionCount.toLocaleString()} sessions`}),icon:(0,b.jsx)(k,{size:13}),tooltip:"Total tool invocations (Bash, Read, Edit, Write, Grep, Glob, Agent, etc.) across all sessions."}),(0,b.jsx)(f.MetricCard,{label:"Parallelism",value:s.burstCount>0?(0,g.formatDuration)(s.totalParallelMs):"—",sub:s.burstCount>0?(0,b.jsx)(m,{line1:`peak \xd7${s.peakConcurrent}`,line2:`${Math.round(s.totalParallelMs/Math.max(1,u)*100)}% of active time`}):"no sustained parallelism",tooltip:`Total time ≥2 agents were working in parallel, with peak concurrency as the highest count in any single burst.
2
2
 
3
3
  ${s.burstCount} burst${1===s.burstCount?"":"s"} \xb7 ${s.crossProjectBurstCount} spanned multiple projects.`}),(0,b.jsx)(f.MetricCard,{label:"Code changes",value:(0,b.jsxs)("span",{children:[(0,b.jsxs)("span",{style:{color:"var(--af-success)"},children:["+",n(q.totalLinesAdded)]})," ",(0,b.jsxs)("span",{style:{color:"var(--af-danger)"},children:["-",n(q.totalLinesRemoved)]})]}),sub:(0,b.jsx)(m,{line1:`${q.totalFilesEdited.toLocaleString()} files touched`,line2:`${n(q.totalLinesAdded+q.totalLinesRemoved)} total lines`}),tooltip:`Total lines added and removed across all Edit + Write tool calls.
4
4
  +${q.totalLinesAdded.toLocaleString()} added
@@ -9,4 +9,4 @@ Output: ${(0,g.formatTokens)(q.totalTokens.output)}
9
9
  Cache read: ${(0,g.formatTokens)(q.totalTokens.cacheRead)}
10
10
  Cache write: ${(0,g.formatTokens)(q.totalTokens.cacheWrite)}`}),h?.extraCards]}),(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"1fr 2fr",gap:16},children:[(0,b.jsxs)("div",{className:"af-panel",style:{display:"flex",flexDirection:"column"},children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Contribution heatmap"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"sessions / day"})]}),(0,b.jsx)("div",{style:{padding:18,flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:(0,b.jsx)(d.Heatmap,{buckets:r,valueKey:"sessions",daySummaries:p})})]}),(0,b.jsxs)("div",{className:"af-panel",children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Daily activity"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"click a metric to switch"})]}),(0,b.jsx)("div",{style:{padding:18},children:(0,b.jsx)(e.ActivityChart,{buckets:r})})]})]})]})}],4636)},41264,a=>{"use strict";a.s(["LiveBadge",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveBadge() from the server but LiveBadge is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-badge.tsx <module evaluation>","LiveBadge")},71475,a=>{"use strict";a.s(["LiveBadge",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveBadge() from the server but LiveBadge is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/live-badge.tsx","LiveBadge")},77708,a=>{"use strict";a.i(41264);var b=a.i(71475);a.n(b)}];
11
11
 
12
- //# sourceMappingURL=%5Broot-of-the-server%5D__0z7mg0b._.js.map
12
+ //# sourceMappingURL=%5Broot-of-the-server%5D__08l86e-._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},42602,(a,b,c)=>{"use strict";b.exports=a.r(18622)},72131,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].React},87924,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactJsxRuntime},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},99309,a=>{"use strict";var b=a.i(87924);a.i(99417);var c=a.i(69176);a.s(["AgentBadge",0,function({agent:a}){if(!a||"claude-code"===a)return null;let d=(0,c.getAgentMetadata)(a);return d?(0,b.jsx)("span",{style:{display:"inline-flex",alignItems:"center",borderRadius:4,padding:"2px 6px",fontSize:10,letterSpacing:"0.04em",textTransform:"uppercase",whiteSpace:"nowrap",fontWeight:600,color:d.accentColor,background:`color-mix(in srgb, ${d.accentColor} 12%, transparent)`,border:`1px solid color-mix(in srgb, ${d.accentColor} 30%, transparent)`},title:`Source: ${d.displayName}`,children:d.shortLabel}):null}])},33441,a=>{"use strict";let b=(0,a.i(70106).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",0,b],33441)},2591,a=>{"use strict";var b=a.i(72131);a.s(["usePersistentBoolean",0,function(a,c){let[d,e]=(0,b.useState)(c),[f,g]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{try{let b=window.localStorage.getItem(a);"1"===b?e(!0):"0"===b&&e(!1)}catch{}g(!0)},[a]),(0,b.useEffect)(()=>{let b=b=>{let c=b.detail;c?.key===a&&"boolean"==typeof c.value&&e(c.value)},c=b=>{b.key===a&&("1"===b.newValue?e(!0):"0"===b.newValue&&e(!1))};return window.addEventListener("cclens:persistent-boolean",b),window.addEventListener("storage",c),()=>{window.removeEventListener("cclens:persistent-boolean",b),window.removeEventListener("storage",c)}},[a]),[d,(0,b.useCallback)(b=>{e(b);try{window.localStorage.setItem(a,b?"1":"0")}catch{}window.dispatchEvent(new CustomEvent("cclens:persistent-boolean",{detail:{key:a,value:b}}))},[a]),f]}])},55555,a=>{"use strict";function b(a){return a<-15?{tone:"danger",label:"may exhaust early"}:a>15?{tone:"warning",label:"below pace"}:{tone:"success",label:"on pace"}}a.s(["paceLabel",0,b,"paceToneForCycle",0,function(a,c,d,e=Date.now()){return b(100*Math.max(0,Math.min(1,(e-(c-d))/d))-a).tone},"toneVar",0,function(a){switch(a){case"success":return"var(--af-success)";case"warning":return"#b58400";case"danger":return"var(--af-danger)"}}])},87532,a=>{"use strict";let b=(0,a.i(70106).default)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);a.s(["Search",0,b],87532)},76285,a=>{"use strict";var b=a.i(87924),c=a.i(38246);let d={display:"inline-flex",alignItems:"center",borderRadius:4,padding:"2px 6px",fontSize:10,letterSpacing:"0.04em",textTransform:"uppercase",whiteSpace:"nowrap"};a.s(["TeamBadge",0,function({session:a,linkable:e=!0}){if(!a.teamName)return null;let f=!0===a.isTeamLead,g=void 0!==a.agentName;return f||g?f&&e?(0,b.jsx)(c.default,{href:`/sessions/${a.id}`,style:{...d,fontWeight:600,background:"var(--af-warning-subtle)",color:"var(--af-warning)",border:"1px solid var(--af-warning-subtle)",textDecoration:"none"},title:`Team lead — ${a.teamName}`,children:"Team Lead"}):f?(0,b.jsx)("span",{style:{...d,fontWeight:600,background:"var(--af-warning-subtle)",color:"var(--af-warning)",border:"1px solid var(--af-warning-subtle)"},title:`Team lead — ${a.teamName}`,children:"Team Lead"}):(0,b.jsx)("span",{style:{...d,fontWeight:500,background:"var(--af-surface-hover)",color:"var(--af-text-tertiary)",border:"1px solid var(--af-border-subtle)"},title:`Team member — ${a.teamName} \xb7 ${a.agentName}`,children:"Team Member"}):null}])},3444,a=>{"use strict";let b=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],c={input:1,output:5,cacheRead:.1,cacheWrite:1.25},d={input:3,output:15,cacheRead:.3,cacheWrite:3.75},e={input:5,output:25,cacheRead:.5,cacheWrite:6.25};a.s(["estimateCost",0,function(a,b){let f=function(a){if(!a)return e;let b=a.toLowerCase();return b.includes("haiku")?c:b.includes("sonnet")?d:e}(b);return a.input/1e6*f.input+a.output/1e6*f.output+a.cacheRead/1e6*f.cacheRead+a.cacheWrite/1e6*f.cacheWrite},"formatCost",0,function(a){return a<.01?"<$0.01":a<1||a<100?`$${a.toFixed(2)}`:a<1e3?`$${a.toFixed(1)}`:`$${a.toLocaleString(void 0,{maximumFractionDigits:0})}`},"formatDuration",0,function(a){if(void 0===a)return"—";if(a<1e3)return`${a}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`},"formatGap",0,function(a){if(a<1e3)return`${a}ms`;let b=a/1e3;if(b<60)return`${b.toFixed(1)}s`;let c=Math.floor(b/60);if(c<60){let a=Math.round(b%60);return`${c}m ${a}s`}let d=Math.floor(c/60),e=c%60;if(d<24)return e?`${d}h ${e}m`:`${d}h`;let f=Math.floor(d/24),g=d%24;return g?`${f}d ${g}h`:`${f}d`},"formatOffset",0,function(a){if(void 0===a||a<0)return"—";let b=Math.floor(a/1e3),c=Math.floor(b/3600),d=String(Math.floor(b%3600/60)).padStart(2,"0"),e=String(b%60).padStart(2,"0");return`${c}:${d}:${e}`},"formatRelative",0,function(a){let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Math.round((Date.now()-b)/1e3);if(c<60)return`${c}s ago`;let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return`${f}d ago`},"formatResumeStamp",0,function(a){let c=new Date(a);if(Number.isNaN(c.getTime()))return"";let d=c.getHours()>=12?"PM":"AM",e=c.getHours()%12||12,f=String(c.getMinutes()).padStart(2,"0");return`${b[c.getMonth()]} ${c.getDate()}, ${e}:${f} ${d}`},"formatTokens",0,function(a){return a<1e3?String(a):a<1e4?(a/1e3).toFixed(1)+"k":a<1e6?Math.round(a/1e3)+"k":a<1e7?(a/1e6).toFixed(2)+"M":(a/1e6).toFixed(1)+"M"},"prettyProjectName",0,function(a,b=35){let c=a.split("/").filter(Boolean),d=c.lastIndexOf(".worktrees");if(d>0&&d<c.length-1){let a=c[d-1],e=c[d+1],f=`${a}/${e}`;return f.length<=b?f:"…"+f.slice(f.length-b+1)}let e=c.length>=2?`${c[c.length-2]}/${c[c.length-1]}`:c[c.length-1]??a;return e.length<=b?e:"…"+e.slice(e.length-b+1)},"shortId",0,function(a){return a.length<=10?a:a.slice(0,6)+"…"+a.slice(-4)}])},46058,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},88644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},39118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},54427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},99417,69176,a=>{"use strict";let b=[{kind:"claude-code",displayName:"Claude Code",shortLabel:"Claude",accentColor:"var(--af-accent)",iconChar:"✦"},{kind:"codex",displayName:"Codex (OpenAI)",shortLabel:"Codex",accentColor:"rgb(16, 163, 127)",iconChar:"◆"},{kind:"gemini",displayName:"Gemini CLI",shortLabel:"Gemini",accentColor:"rgb(124, 92, 246)",iconChar:"✺"},{kind:"antigravity",displayName:"Antigravity",shortLabel:"Agy",accentColor:"rgb(236, 72, 153)",iconChar:"⏃"},{kind:"cowork",displayName:"Cowork",shortLabel:"Cowork",accentColor:"rgb(217, 119, 87)",iconChar:"⌘"}],c=new Set(b.map(a=>a.kind));a.s(["getAgentMetadata",0,function(a){return b.find(b=>b.kind===a)},"isAgentKind",0,function(a){return"string"==typeof a&&c.has(a)}],69176),a.s([],99417)},44220,2405,a=>{"use strict";var b=a.i(87924),c=a.i(38246);a.i(99417);var d=a.i(69176);function e({agent:a,size:c=11,title:f}){if(!a)return null;let g=(0,d.getAgentMetadata)(a);return g?(0,b.jsx)("span",{"aria-hidden":!0,title:f??g.displayName,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:c+2,height:c+2,fontSize:c,lineHeight:1,color:g.accentColor},children:g.iconChar}):null}a.s(["AgentIcon",0,e],2405);let f={shipped:{bg:"rgba(72, 187, 120, 0.12)",fg:"#48bb78",label:"Shipped",icon:"🚀"},partial:{bg:"rgba(66, 153, 225, 0.12)",fg:"#4299e1",label:"Partial",icon:"🔨"},blocked:{bg:"rgba(245, 101, 101, 0.12)",fg:"#f56565",label:"Blocked",icon:"🚧"},exploratory:{bg:"rgba(160, 174, 192, 0.12)",fg:"#a0aec0",label:"Exploratory",icon:"🧭"},trivial:{bg:"rgba(203, 213, 224, 0.12)",fg:"#a0aec0",label:"Warmup",icon:"💤"},idle:{bg:"rgba(203, 213, 224, 0.12)",fg:"#a0aec0",label:"Idle",icon:"—"}},g={sm:{fontSize:9,padding:"1px 6px",iconGap:3,borderRadius:99},md:{fontSize:10,padding:"2px 8px",iconGap:4,borderRadius:99},lg:{fontSize:11,padding:"3px 10px",iconGap:5,borderRadius:99}},h={shipped:6,partial:5,blocked:4,exploratory:3,trivial:2,idle:1};a.s(["OUTCOME_STYLES",0,f,"OutcomePill",0,function(a){let d=g[a.size??"md"],h=d.fontSize+1;if("pending"in a&&a.pending){let f={display:"inline-flex",alignItems:"center",gap:d.iconGap,padding:d.padding,borderRadius:d.borderRadius,fontSize:d.fontSize,fontWeight:600,background:"rgba(160, 174, 192, 0.08)",color:"var(--af-text-tertiary)",border:"1px dashed var(--af-border-subtle)",textDecoration:"none",whiteSpace:"nowrap"},g=(0,b.jsxs)(b.Fragment,{children:[a.agent&&(0,b.jsx)(e,{agent:a.agent,size:h}),(0,b.jsx)("span",{"aria-hidden":!0,style:{lineHeight:1},children:"⋯"}),(0,b.jsx)("span",{children:"pending"})]});return a.noLink?(0,b.jsx)("span",{style:f,children:g}):(0,b.jsx)(c.default,{href:`/digest/${a.localDay}`,style:f,title:`Generate ${a.localDay} digest →`,children:g})}let i=f[a.outcome],j=a.label??"both",k={display:"inline-flex",alignItems:"center",gap:d.iconGap,padding:d.padding,borderRadius:d.borderRadius,fontSize:d.fontSize,fontWeight:600,background:i.bg,color:i.fg,whiteSpace:"nowrap"};return(0,b.jsxs)("span",{style:k,title:i.label,children:[a.agent&&(0,b.jsx)(e,{agent:a.agent,size:h}),("icon"===j||"both"===j)&&(0,b.jsx)("span",{"aria-hidden":!0,style:{lineHeight:1},children:i.icon}),("text"===j||"both"===j)&&(0,b.jsx)("span",{children:i.label})]})},"outcomePriority",0,function(a){return a?h[a]:0}],44220)},41710,a=>{"use strict";let b=(0,a.i(70106).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);a.s(["Clock",0,b],41710)},69439,71727,a=>{"use strict";var b=a.i(70106);let c=(0,b.default)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);a.s(["Lightbulb",0,c],69439);let d=(0,b.default)("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);a.s(["Radio",0,d],71727)},96221,a=>{"use strict";let b=(0,a.i(70106).default)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],96221)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0a7n44-._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},29884,a=>{"use strict";a.s(["AiFeaturesForm",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call AiFeaturesForm() from the server but AiFeaturesForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/settings/ai-features-form.tsx <module evaluation>","AiFeaturesForm")},32669,a=>{"use strict";a.s(["AiFeaturesForm",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call AiFeaturesForm() from the server but AiFeaturesForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/settings/ai-features-form.tsx","AiFeaturesForm")},60496,a=>{"use strict";a.i(29884);var b=a.i(32669);a.n(b)},2464,a=>{"use strict";a.s(["AutostartToggle",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call AutostartToggle() from the server but AutostartToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/autostart-toggle.tsx <module evaluation>","AutostartToggle")},62242,a=>{"use strict";a.s(["AutostartToggle",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call AutostartToggle() from the server but AutostartToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/autostart-toggle.tsx","AutostartToggle")},80164,a=>{"use strict";a.i(2464);var b=a.i(62242);a.n(b)},50910,a=>{"use strict";var b=a.i(7997);a.i(37075);var c=a.i(68787),d=a.i(60496),e=a.i(2157),f=a.i(60526),g=a.i(50227),h=a.i(23895);let i=(0,g.join)((0,f.homedir)(),"Library","LaunchAgents","com.fleetlens.daemon.plist");var j=a.i(80164);a.s(["default",0,function(){let a=(0,c.readSettings)();return(0,b.jsxs)("main",{className:"mx-auto max-w-3xl p-6 space-y-8",children:[(0,b.jsxs)("header",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:"Settings"}),(0,b.jsx)("p",{className:"text-sm text-gray-500 mt-1",children:"Local machine preferences. Team-sync management lives on the Team page."})]}),(0,b.jsxs)("section",{className:"af-card space-y-3",children:[(0,b.jsx)("h2",{className:"text-lg font-medium",children:"Daemon auto-start"}),(0,b.jsx)("p",{className:"text-sm text-gray-500",children:"Brings the dashboard, plan-usage polling, and team sync back after a reboot. Team pairing turns this on by default."}),(0,b.jsx)(j.AutostartToggle,{initial:function(){let a="darwin"===process.platform,b=a&&(0,e.existsSync)(i),c=!1;try{let a=JSON.parse((0,e.readFileSync)((0,g.join)((0,h.cclensHome)(),"autostart.json"),"utf8"));c=!0===a.optedOut}catch{}return{supported:a,installed:b,optedOut:c}}()})]}),(0,b.jsxs)("section",{className:"af-card space-y-3",children:[(0,b.jsx)("h2",{className:"text-lg font-medium",children:"AI Features"}),(0,b.jsxs)("p",{className:"text-sm text-gray-500",children:["When enabled, Fleetlens synthesizes daily digests and per-entry narratives by spawning your local ",(0,b.jsx)("code",{children:"claude"})," CLI (uses your existing Claude Code auth — no API key required)."]}),(0,b.jsx)(d.AiFeaturesForm,{initial:{enabled:a.ai_features.enabled,autoBackfillLastWeek:a.ai_features.autoBackfillLastWeek,autoBackfillYesterday:a.ai_features.autoBackfillYesterday}})]})]})}],50910)},58019,a=>{a.n(a.i(50910))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0c00i76._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},87067,a=>{"use strict";let b={input:1,output:5,cacheRead:.1,cacheWrite:1.25},c={input:3,output:15,cacheRead:.3,cacheWrite:3.75},d={input:5,output:25,cacheRead:.5,cacheWrite:6.25};a.s(["estimateCostMulti",0,function(a){return a.reduce((a,e)=>{var f;let g;return a+(f=e.totalUsage,g=function(a){if(!a)return d;let e=a.toLowerCase();return e.includes("haiku")?b:e.includes("sonnet")?c:d}(e.model),f.input/1e6*g.input+f.output/1e6*g.output+f.cacheRead/1e6*g.cacheRead+f.cacheWrite/1e6*g.cacheWrite)},0)},"formatCost",0,function(a){return a<.01?"<$0.01":a<1||a<100?`$${a.toFixed(2)}`:a<1e3?`$${a.toFixed(1)}`:`$${a.toLocaleString(void 0,{maximumFractionDigits:0})}`},"formatDuration",0,function(a){if(void 0===a)return"—";if(a<1e3)return`${a}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return d?`${c}m ${d}s`:`${c}m`;let e=Math.floor(c/60),f=c%60;return f?`${e}h ${f}m`:`${e}h`},"formatGap",0,function(a){if(a<1e3)return`${a}ms`;let b=a/1e3;if(b<60)return`${b.toFixed(1)}s`;let c=Math.floor(b/60);if(c<60){let a=Math.round(b%60);return`${c}m ${a}s`}let d=Math.floor(c/60),e=c%60;if(d<24)return e?`${d}h ${e}m`:`${d}h`;let f=Math.floor(d/24),g=d%24;return g?`${f}d ${g}h`:`${f}d`},"formatRelative",0,function(a){let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Math.round((Date.now()-b)/1e3);if(c<60)return`${c}s ago`;let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return`${f}d ago`},"formatTokens",0,function(a){return a<1e3?String(a):a<1e4?(a/1e3).toFixed(1)+"k":a<1e6?Math.round(a/1e3)+"k":a<1e7?(a/1e6).toFixed(2)+"M":(a/1e6).toFixed(1)+"M"},"prettyProjectName",0,function(a,b=35){let c=a.split("/").filter(Boolean),d=c.lastIndexOf(".worktrees");if(d>0&&d<c.length-1){let a=c[d-1],e=c[d+1],f=`${a}/${e}`;return f.length<=b?f:"…"+f.slice(f.length-b+1)}let e=c.length>=2?`${c[c.length-2]}/${c[c.length-1]}`:c[c.length-1]??a;return e.length<=b?e:"…"+e.slice(e.length-b+1)}])},69349,a=>{"use strict";a.s(["SyncedProjectsForm",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call SyncedProjectsForm() from the server but SyncedProjectsForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/team/synced-projects-form.tsx <module evaluation>","SyncedProjectsForm")},84537,a=>{"use strict";a.s(["SyncedProjectsForm",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call SyncedProjectsForm() from the server but SyncedProjectsForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/team/synced-projects-form.tsx","SyncedProjectsForm")},56509,a=>{"use strict";a.i(69349);var b=a.i(84537);a.n(b)},60931,a=>{"use strict";a.s(["ForceSyncButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call ForceSyncButton() from the server but ForceSyncButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/team/force-sync-button.tsx <module evaluation>","ForceSyncButton")},86872,a=>{"use strict";a.s(["ForceSyncButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call ForceSyncButton() from the server but ForceSyncButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/app/team/force-sync-button.tsx","ForceSyncButton")},35770,a=>{"use strict";a.i(60931);var b=a.i(86872);a.n(b)},64181,a=>{"use strict";var b=a.i(7997),c=a.i(20192),d=a.i(78991),e=a.i(56509);async function f(){let a=(0,c.readTeamConfig)();if(!a)return null;if(a.setupPending)return(0,b.jsxs)("section",{className:"space-y-2",children:[(0,b.jsx)("h2",{className:"text-lg font-medium",children:"Synced projects"}),(0,b.jsxs)("p",{className:"text-sm text-gray-500",children:["Setup isn’t finished yet — finish the"," ",(0,b.jsx)("a",{className:"underline",href:"/team/onboarding",children:"onboarding wizard"})," ","to choose which projects sync to your team."]})]});let f=await (0,d.listSyncProjectRows)();return(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsx)("h2",{className:"text-lg font-medium",children:"Synced projects"}),(0,b.jsx)("p",{className:"text-sm text-gray-500",children:"Choose which projects share metrics with your team. Saving a changed selection re-pushes your full history so the server matches it — excluded projects disappear, newly included ones backfill."}),(0,b.jsx)(e.SyncedProjectsForm,{projects:f,initial:a.syncProjects??{autoIncludeNew:!0,included:[],excluded:[]}})]})}var g=a.i(60511),h=a.i(87067),i=a.i(35770);let j={green:"var(--af-success, #10b981)",amber:"var(--af-warning, #f59e0b)",red:"var(--af-error, #ef4444)"};function k(){let a=(0,g.readTeamConnection)();if(!a.paired)return null;let{lastPush:c,health:d}=a,e=!!process.env.FLEETLENS_CLI_BIN;return(0,b.jsxs)("section",{id:"team",className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-3",children:[(0,b.jsx)("h2",{className:"text-lg font-medium",children:"Sync activity"}),(0,b.jsx)("span",{"aria-hidden":!0,style:{width:8,height:8,borderRadius:"50%",background:j[d],display:"inline-block"}})]}),(0,b.jsxs)("dl",{className:"grid grid-cols-[8rem_1fr] gap-y-1 text-sm text-gray-600",children:[(0,b.jsx)("dt",{children:"Last sync"}),(0,b.jsx)("dd",{suppressHydrationWarning:!0,children:"none"===c.kind?"Waiting for the first sync — the daemon pushes every 5 minutes.":`${(0,h.formatRelative)(c.at)} (${new Date(c.at).toLocaleString()})`})]}),"ok"===c.kind&&(0,b.jsxs)("div",{className:"af-panel p-4 space-y-3 text-sm",children:[(0,b.jsxs)("div",{className:"text-xs uppercase tracking-wide text-gray-500",children:["Last push",c.payload.dailyRollup?` — ${c.payload.dailyRollup.day}`:""]}),c.payload.dailyRollup&&(0,b.jsxs)("dl",{className:"grid grid-cols-[10rem_1fr] gap-y-1 text-sm text-gray-700",children:[(0,b.jsx)("dt",{className:"text-gray-500",children:"Agent time"}),(0,b.jsx)("dd",{children:(0,h.formatDuration)(c.payload.dailyRollup.agentTimeMs)}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Session count"}),(0,b.jsx)("dd",{children:c.payload.dailyRollup.sessions}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Tool call count"}),(0,b.jsx)("dd",{children:c.payload.dailyRollup.toolCalls}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Turn count"}),(0,b.jsx)("dd",{children:c.payload.dailyRollup.turns}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Token total"}),(0,b.jsx)("dd",{children:(0,h.formatTokens)(c.payload.dailyRollup.tokens.input+c.payload.dailyRollup.tokens.output+c.payload.dailyRollup.tokens.cacheRead+c.payload.dailyRollup.tokens.cacheWrite)}),c.payload.planTier&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-gray-500",children:"Plan tier"}),(0,b.jsx)("dd",{children:c.payload.planTier})]})]}),!c.payload.dailyRollup&&c.payload.planTier&&(0,b.jsxs)("dl",{className:"grid grid-cols-[10rem_1fr] gap-y-1 text-sm text-gray-700",children:[(0,b.jsx)("dt",{className:"text-gray-500",children:"Plan tier"}),(0,b.jsx)("dd",{children:c.payload.planTier})]}),!c.payload.dailyRollup&&!c.payload.planTier&&(0,b.jsx)("div",{className:"text-gray-500",children:"Live utilization snapshot only — no new daily activity."}),(0,b.jsxs)("details",{className:"text-xs",children:[(0,b.jsx)("summary",{className:"cursor-pointer text-gray-500 hover:text-gray-700",children:"Show raw JSON payload"}),(0,b.jsx)("pre",{className:"af-panel mt-2 p-3 font-mono text-[11px] whitespace-pre-wrap overflow-x-auto",children:JSON.stringify(c.payload,null,2)})]})]}),"error"===c.kind&&(0,b.jsxs)("div",{className:"af-panel-danger p-4 text-sm",children:[(0,b.jsx)("div",{className:"font-medium",children:"Last sync failed"}),(0,b.jsx)("div",{children:c.error})]}),(0,b.jsx)(i.ForceSyncButton,{cliAvailable:e})]})}a.s(["default",0,function(){var a;let d=(0,c.readTeamConfig)();if(!d)return(0,b.jsxs)("main",{className:"mx-auto max-w-3xl p-6 space-y-6",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:"Team sync"}),(0,b.jsxs)("section",{className:"af-card border-dashed text-sm space-y-3",children:[(0,b.jsx)("p",{className:"font-medium",children:"Not paired with any team."}),(0,b.jsx)("p",{className:"text-gray-600",children:"To pair this machine with a Fleetlens team server, run from a terminal:"}),(0,b.jsx)("pre",{className:"bg-gray-100 dark:bg-gray-900 p-3 rounded text-xs overflow-x-auto",children:"fleetlens team join <server-url> <invite-token>"}),(0,b.jsx)("p",{className:"text-gray-600",children:"Your team admin can generate an invite token from the team server’s Settings page."})]})]});let e=(0,c.toTeamConfigView)(d),g=d.syncProjects,h=g?g.autoIncludeNew?`Syncing: all projects except ${g.excluded.length} excluded`:`Syncing: only ${g.included.length} selected project${1===g.included.length?"":"s"}`:null;return(0,b.jsxs)("main",{className:"mx-auto max-w-3xl p-6 space-y-8",children:[(0,b.jsxs)("header",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:"Team sync"}),(0,b.jsx)("p",{className:"text-sm text-gray-500 mt-1",children:"What your daemon shares with your team server."})]}),d.setupPending&&(0,b.jsxs)("div",{className:"border border-amber-400/40 bg-amber-400/10 rounded-lg p-4 text-sm",children:["Setup isn’t finished — nothing is syncing yet."," ",(0,b.jsx)("a",{className:"underline font-medium",href:"/team/onboarding",children:"Finish onboarding"})]}),(0,b.jsxs)("section",{className:"af-card space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("h2",{className:"text-lg font-medium",children:"Pairing"}),(0,b.jsx)("span",{className:"text-xs uppercase tracking-wide text-green-700 dark:text-green-400",children:"Connected"})]}),(0,b.jsxs)("dl",{className:"grid grid-cols-[max-content_1fr] gap-x-6 gap-y-1.5 text-sm",children:[(0,b.jsx)("dt",{className:"text-gray-500",children:"Team slug"}),(0,b.jsx)("dd",{className:"font-mono",children:e.teamSlug}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Server"}),(0,b.jsx)("dd",{className:"font-mono break-all",children:(0,b.jsxs)("a",{href:e.serverUrl,target:"_blank",rel:"noreferrer",className:"hover:underline",children:[e.serverUrl," ",(0,b.jsx)("span",{"aria-hidden":!0,children:"↗"})]})}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Member ID"}),(0,b.jsx)("dd",{className:"font-mono break-all text-xs",children:e.memberId}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Bearer token"}),(0,b.jsx)("dd",{className:"font-mono text-xs",children:e.bearerTokenMasked}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Paired"}),(0,b.jsx)("dd",{children:new Date(e.pairedAt).toLocaleString()}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Last day pushed"}),(0,b.jsx)("dd",{children:(a=e.lastSyncedDay)?a:"never"}),(0,b.jsx)("dt",{className:"text-gray-500",children:"Last usage snapshot"}),(0,b.jsx)("dd",{children:function(a){if(!a)return"never";let b=Date.parse(a);if(Number.isNaN(b))return a;let c=Date.now()-b;return c<0?new Date(b).toLocaleString():c<6e4?`${Math.round(c/1e3)}s ago`:c<36e5?`${Math.round(c/6e4)}m ago`:c<864e5?`${Math.round(c/36e5)}h ago`:new Date(b).toLocaleString()}(e.lastSyncedUsageSnapshotAt)})]})]}),(0,b.jsx)("section",{className:"af-card",children:(0,b.jsx)(k,{})}),(0,b.jsx)("section",{className:"af-card",children:(0,b.jsx)(f,{})}),(0,b.jsxs)("section",{className:"af-card space-y-3",children:[(0,b.jsx)("h2",{className:"text-lg font-medium",children:"What gets shared"}),(0,b.jsx)("p",{className:"text-sm text-gray-500",children:h??"Syncing: all projects (no selection set)."}),(0,b.jsxs)("ul",{className:"text-sm space-y-2",children:[(0,b.jsxs)("li",{children:[(0,b.jsx)("strong",{children:"Daily rollup"})," — agent time, session count, tool calls, turns, token totals."]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("strong",{children:"Rich rollup"})," (Entry-derived counts) for each synced project: working-shape distribution, top skills, subagents dispatched, long-autonomous turns, plan-mode usage, brainstorm warmups, tool errors, PRs/commits/pushes. Project labels only; never raw prompts or agent output."]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("strong",{children:"Plan utilization snapshot"}),"— current 5h + 7d utilization windows, per Anthropic’s rate-limit API."]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("strong",{children:"Enriched extras"})," — outcome / helpfulness / goal minute mix, derived locally by your AI-features pipeline (no new model calls ride along with the push)."]})]}),(0,b.jsxs)("div",{className:"af-panel p-4 text-sm space-y-2",children:[(0,b.jsx)("div",{className:"font-medium",children:"What does NOT leave your machine"}),(0,b.jsxs)("ul",{className:"list-disc list-inside text-gray-600 space-y-1",children:[(0,b.jsx)("li",{children:"Session transcripts, prompts, or assistant responses"}),(0,b.jsx)("li",{children:"Absolute paths, file contents, or tool-call payloads"}),(0,b.jsx)("li",{children:"Anything from projects you exclude above"}),(0,b.jsx)("li",{children:"Anything from sessions older than the start-of-day rollup window"})]})]})]}),(0,b.jsxs)("section",{className:"af-card space-y-3",children:[(0,b.jsx)("h2",{className:"text-lg font-medium",children:"Disconnect"}),(0,b.jsx)("p",{className:"text-sm text-gray-600",children:"To leave the team and stop all syncing, run:"}),(0,b.jsx)("pre",{className:"bg-gray-100 dark:bg-gray-900 p-3 rounded text-xs",children:"fleetlens team leave"})]})]})},"dynamic",0,"force-dynamic"],64181)},84356,a=>{a.n(a.i(64181))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0i.q-1h._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},1269,a=>{"use strict";var b=a.i(717);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],1269)},74091,a=>{"use strict";let b=(0,a.i(1269).default)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",0,b],74091)},43296,a=>{"use strict";a.s(["UsageChartsDashboard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call UsageChartsDashboard() from the server but UsageChartsDashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/usage-charts-dashboard.tsx <module evaluation>","UsageChartsDashboard")},51071,a=>{"use strict";a.s(["UsageChartsDashboard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call UsageChartsDashboard() from the server but UsageChartsDashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/usage-charts-dashboard.tsx","UsageChartsDashboard")},90268,a=>{"use strict";a.i(43296);var b=a.i(51071);a.n(b)},28664,a=>{"use strict";var b=a.i(7997),c=a.i(74091),d=a.i(95936),e=a.i(70709),f=a.i(717),g=a.i(2157),h=a.i(23895);let i=(0,h.cclensPath)("profile.json"),j="pro-max-20x",k=(0,f.cache)(async()=>{let a=function(){if(!(0,g.existsSync)(i))return j;try{let a=JSON.parse((0,g.readFileSync)(i,"utf8")),b=a?.profile?.planTier;if("pro"===b||"pro-max"===b||"pro-max-20x"===b||"custom"===b)return b}catch{}return j}(),b=await (0,h.loadCalibrationCurve)(a);return b?{curve:b.curve,rate_per_pct:b.rate_per_pct,rate_per_pct_5h:b.rate_per_pct_5h,rate_per_pct_7d:b.rate_per_pct_7d,rate_source_5h:b.rate_source_5h,rate_source_7d:b.rate_source_7d,cycles_used_5h:b.cycles_used_5h,cycles_used_7d:b.cycles_used_7d,tier:b.tier}:null});var l=a.i(90268);let m={"5h":18e6,"7d":6048e5};function n({windowLabel:a,cycles:c}){return 0===c.length?null:(0,b.jsxs)("section",{style:{border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"12px 16px",display:"flex",flexDirection:"column",gap:10},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[(0,b.jsxs)("h2",{style:{fontSize:13,margin:0,fontWeight:700},children:["Previous ",a," cycles"]}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:"peak utilization · oldest → newest"}),(0,b.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--af-text-tertiary)"},children:function(a){let b=a.filter(a=>!a.current);if(b.length<2)return"";let c=b[b.length-1].peakPct-b[b.length-2].peakPct;return 5>Math.abs(c)?`flat vs prior (${c>=0?"+":""}${c.toFixed(0)}pp)`:c>0?`↑ up ${c.toFixed(0)}pp from prior`:`↓ down ${Math.abs(c).toFixed(0)}pp from prior`}(c)})]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:`repeat(${c.length}, minmax(0, 1fr))`,gap:8,alignItems:"end"},children:c.map((c,d)=>(0,b.jsx)(o,{cycle:c,windowLabel:a},d))})]})}function o({cycle:a,windowLabel:c}){let d=Math.max(0,Math.min(100,a.peakPct)),e=function(a){switch(a){case"success":return"var(--af-success)";case"warning":return"#b58400";case"danger":return"var(--af-danger)"}}(a.current?function(a,b,c,d=Date.now()){var e;return((e=100*Math.max(0,Math.min(1,(d-(b-c))/c))-a)<-15?{tone:"danger",label:"may exhaust early"}:e>15?{tone:"warning",label:"below pace"}:{tone:"success",label:"on pace"}).tone}(d,new Date(a.endsAt).getTime(),m[c]):d>=70?"success":d>=40?"warning":"danger"),f=new Date(a.endsAt),g=a.current?`ends ${f.toLocaleDateString(void 0,{month:"short",day:"numeric"})}`:f.toLocaleDateString(void 0,{month:"short",day:"numeric"});return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"stretch",gap:4},title:`${a.current?"Current cycle ends":"Cycle ended"} ${f.toLocaleString()}${"predicted"===a.source?" · estimated from JSONL":" · measured from daemon"}`,children:[(0,b.jsxs)("div",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:e,fontWeight:700,textAlign:"right",fontVariantNumeric:"tabular-nums"},children:[d.toFixed(0),"%"]}),(0,b.jsx)("div",{style:{height:80,display:"flex",flexDirection:"column",justifyContent:"flex-end",background:"var(--af-border-subtle)",borderRadius:4,opacity:a.current?.85:1,border:a.current?`1px dashed ${e}`:"none"},children:(0,b.jsx)("div",{style:{height:`${d}%`,background:e,borderRadius:4,opacity:"predicted"===a.source?.55:1,backgroundImage:"predicted"===a.source?"repeating-linear-gradient(45deg, transparent 0 4px, rgba(0,0,0,0.08) 4px 8px)":void 0}})}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textAlign:"center",fontFamily:"var(--font-mono)",letterSpacing:"0.02em"},children:[g,"predicted"===a.source&&(0,b.jsxs)(b.Fragment,{children:[" ",(0,b.jsx)("span",{style:{color:"#b58400"},children:"·est"})]})]})]})}a.i(9117);var p=a.i(30375);function q(a){return(0,p.getAgentMetadata)(a)?.displayName??a}async function r({searchParams:a}){var d;let f=await a,g=(0,e.readUsageSnapshots)(),h=new Set;for(let a of g){let b=a.agent??"claude-code";h.add(b)}h.add("claude-code");let i=(0,p.isAgentKind)(f.agent)?f.agent:void 0,j=i&&h.has(i)?i:h.has("claude-code")?"claude-code":Array.from(h)[0],m=(0,e.readUsageSnapshotsByAgent)(j),o=(0,e.latestUsageSnapshotByAgent)(j),u="claude-code"===j?(0,e.readCachedPlanTier)():null,v="claude-code"===j?await k():null,w=v?(d=v)?{five_hour:d.curve.filter(a=>Number.isFinite(a.pred_5h)).map(a=>({capturedAt:new Date(a.ts).getTime(),util:Math.max(0,a.pred_5h)})),seven_day:d.curve.filter(a=>Number.isFinite(a.pred_7d)).map(a=>({capturedAt:new Date(a.ts).getTime(),util:Math.max(0,a.pred_7d)})),seven_day_sonnet:[]}:{five_hour:[],seven_day:[],seven_day_sonnet:[]}:null,x=v?function(a,b=6,c=Date.now()){if(!a||a.curve.length<2)return[];let d=new Map;for(let b of a.curve){let a=b.cycle_end_7d;if(!a)continue;let c=Date.parse(a);if(Number.isNaN(c))continue;let e=36e5*Math.round(c/36e5),f=d.get(e)??[];f.push(b),d.set(e,f)}let e=function(a){let b=[];for(let[c,d]of Array.from(a.entries()).sort((a,b)=>a[0]-b[0])){let a=b[b.length-1];a&&c-a.endMs<=432e5?(a.endMs=c,a.points.push(...d)):b.push({endMs:c,points:[...d]})}return b}(d),f=[];for(let{endMs:a,points:b}of e){let d=0,e="predicted";for(let a of b){let b=a.real_7d;"number"==typeof b&&b>d&&(d=b,e="real");let c=a.pred_7d??0;c>d&&(d=c,e="predicted")}f.push({endsAt:new Date(a).toISOString(),peakPct:Math.round(10*d)/10,source:e,current:a>c})}return f.slice(-b)}(v):[];return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18,maxWidth:1400,padding:"20px 32px"},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"baseline",gap:14,flexWrap:"wrap"},children:[(0,b.jsxs)("h1",{style:{fontSize:20,fontWeight:700,letterSpacing:"-0.02em",margin:0,display:"flex",alignItems:"center",gap:8},children:[(0,b.jsx)(c.Activity,{size:18}),"Usage history"]}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:"historical plan utilization · current usage in sidebar"}),u&&"claude-code"===j&&(0,b.jsxs)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:8,fontSize:12,padding:"4px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:999,fontFamily:"var(--font-mono)"},title:u.rateLimitTier?`Anthropic rate_limit_tier: ${u.rateLimitTier}`:void 0,children:[(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)"},children:"plan"}),(0,b.jsx)("span",{style:{color:"var(--af-text)",fontWeight:600},children:e.PLAN_TIER_LABELS[u.planTier].label}),e.PLAN_TIER_LABELS[u.planTier].monthlyPriceUsd>0&&(0,b.jsxs)("span",{style:{color:"var(--af-text-tertiary)"},children:["· $",e.PLAN_TIER_LABELS[u.planTier].monthlyPriceUsd,"/mo"]})]}),"codex"===j&&o?.plan_type&&(0,b.jsxs)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:8,fontSize:12,padding:"4px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:999,fontFamily:"var(--font-mono)"},children:[(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)"},children:"plan"}),(0,b.jsxs)("span",{style:{color:"var(--af-text)",fontWeight:600},children:["Codex ",o.plan_type]})]})]}),(0,b.jsx)(s,{agents:Array.from(h),selected:j}),o?(0,b.jsxs)(b.Fragment,{children:[x.length>0&&(0,b.jsx)(n,{windowLabel:"7d",cycles:x}),(0,b.jsx)(l.UsageChartsDashboard,{snapshots:m,predicted:w??void 0}),(0,b.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},suppressHydrationWarning:!0,children:["Last ",q(j)," poll: ",new Date(o.captured_at).toLocaleString()," ·"," ",m.length," snapshot",1===m.length?"":"s"," on disk"]})]}):(0,b.jsx)(t,{agent:j})]})}function s({agents:a,selected:c}){let e=[...a].sort((a,b)=>"claude-code"===a?-1:"claude-code"===b?1:a.localeCompare(b));return(0,b.jsx)("div",{role:"tablist",style:{display:"inline-flex",gap:4,padding:4,background:"var(--af-border-subtle)",borderRadius:8,alignSelf:"flex-start"},children:e.map(a=>{let e=a===c;return(0,b.jsxs)(d.default,{role:"tab","aria-selected":e,href:`/usage?agent=${a}`,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 14px",borderRadius:6,fontSize:12,fontWeight:600,letterSpacing:"0.01em",color:e?"var(--af-text)":"var(--af-text-tertiary)",background:e?"var(--af-surface)":"transparent",boxShadow:e?"0 1px 2px rgba(0,0,0,0.06)":"none",textDecoration:"none",transition:"all 0.12s ease"},children:[(0,b.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:999,background:(0,p.getAgentMetadata)(a)?.accentColor??"var(--af-text-tertiary)",opacity:e?1:.6}}),q(a)]},a)})})}function t({agent:a}){return(0,b.jsxs)("div",{className:"af-card",style:{padding:"48px 32px",textAlign:"center"},children:[(0,b.jsxs)("div",{style:{fontSize:15,fontWeight:600,color:"var(--af-text)"},children:["No ",q(a)," usage data yet"]}),(0,b.jsx)("p",{style:{fontSize:12,color:"var(--af-text-tertiary)",marginTop:8},children:"claude-code"===a?"Start the polling daemon to begin collecting metrics every 5 minutes:":"The daemon picks up Codex usage from disk on every poll cycle. Run a Codex session and the data will appear here within minutes."}),"claude-code"===a&&(0,b.jsx)("pre",{style:{display:"inline-block",marginTop:14,background:"var(--background)",border:"1px solid var(--af-border-subtle)",padding:"8px 16px",borderRadius:6,fontSize:13,fontFamily:"var(--font-mono)",color:"var(--af-text)"},children:"fleetlens daemon start"})]})}a.s(["default",0,r,"dynamic",0,"force-dynamic"],28664)},51443,a=>{a.n(a.i(28664))}];
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},71306,(a,b,c)=>{b.exports=a.r(18622)},79847,a=>{a.n(a.i(3343))},9185,a=>{a.n(a.i(29432))},72842,a=>{a.n(a.i(75164))},54897,a=>{a.n(a.i(30106))},56157,a=>{a.n(a.i(18970))},94331,a=>{a.n(a.i(60644))},15988,a=>{a.n(a.i(56952))},25766,a=>{a.n(a.i(77341))},29725,a=>{a.n(a.i(94290))},5785,a=>{a.n(a.i(90588))},74793,a=>{a.n(a.i(33169))},85826,a=>{a.n(a.i(37111))},21565,a=>{a.n(a.i(41763))},65911,a=>{a.n(a.i(8950))},25128,a=>{a.n(a.i(91562))},40781,a=>{a.n(a.i(49670))},69411,a=>{a.n(a.i(75700))},63081,a=>{a.n(a.i(276))},62837,a=>{a.n(a.i(40795))},34607,a=>{a.n(a.i(11614))},96338,a=>{a.n(a.i(21751))},50642,a=>{a.n(a.i(12213))},32242,a=>{a.n(a.i(22693))},88530,a=>{a.n(a.i(10531))},8583,a=>{a.n(a.i(1082))},38534,a=>{a.n(a.i(98175))},70408,a=>{a.n(a.i(9095))},22922,a=>{a.n(a.i(96772))},78294,a=>{a.n(a.i(71717))},16625,a=>{a.n(a.i(85034))},88648,a=>{a.n(a.i(68113))},51914,a=>{a.n(a.i(66482))},25466,a=>{a.n(a.i(91505))},1269,a=>{"use strict";var b=a.i(717);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let e=(0,b.forwardRef)(({color:a="currentColor",size:e=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...d,width:e,height:e,stroke:a,strokeWidth:g?24*Number(f)/Number(e):f,className:c("lucide",h),...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,d)=>{let f=(0,b.forwardRef)(({className:f,...g},h)=>(0,b.createElement)(e,{ref:h,iconNode:d,className:c(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,f),...g}));return f.displayName=`${a}`,f}],1269)},74091,a=>{"use strict";let b=(0,a.i(1269).default)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",0,b],74091)},43296,a=>{"use strict";a.s(["UsageChartsDashboard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call UsageChartsDashboard() from the server but UsageChartsDashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/usage-charts-dashboard.tsx <module evaluation>","UsageChartsDashboard")},51071,a=>{"use strict";a.s(["UsageChartsDashboard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call UsageChartsDashboard() from the server but UsageChartsDashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/components/usage-charts-dashboard.tsx","UsageChartsDashboard")},90268,a=>{"use strict";a.i(43296);var b=a.i(51071);a.n(b)},28664,a=>{"use strict";var b=a.i(7997),c=a.i(74091),d=a.i(95936),e=a.i(70709),f=a.i(717),g=a.i(2157),h=a.i(23895);let i=(0,h.cclensPath)("profile.json"),j="pro-max-20x",k=(0,f.cache)(async()=>{let a=function(){if(!(0,g.existsSync)(i))return j;try{let a=JSON.parse((0,g.readFileSync)(i,"utf8")),b=a?.profile?.planTier;if("pro"===b||"pro-max"===b||"pro-max-20x"===b||"custom"===b)return b}catch{}return j}(),b=await (0,h.loadCalibrationCurve)(a);return b?{curve:b.curve,rate_per_pct:b.rate_per_pct,rate_per_pct_5h:b.rate_per_pct_5h,rate_per_pct_7d:b.rate_per_pct_7d,rate_source_5h:b.rate_source_5h,rate_source_7d:b.rate_source_7d,cycles_used_5h:b.cycles_used_5h,cycles_used_7d:b.cycles_used_7d,tier:b.tier}:null});var l=a.i(90268);let m={"5h":18e6,"7d":6048e5};function n({windowLabel:a,cycles:c}){return 0===c.length?null:(0,b.jsxs)("section",{style:{border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"12px 16px",display:"flex",flexDirection:"column",gap:10},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[(0,b.jsxs)("h2",{style:{fontSize:13,margin:0,fontWeight:700},children:["Previous ",a," cycles"]}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:"peak utilization · oldest → newest"}),(0,b.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--af-text-tertiary)"},children:function(a){let b=a.filter(a=>!a.current);if(b.length<2)return"";let c=b[b.length-1].peakPct-b[b.length-2].peakPct;return 5>Math.abs(c)?`flat vs prior (${c>=0?"+":""}${c.toFixed(0)}pp)`:c>0?`↑ up ${c.toFixed(0)}pp from prior`:`↓ down ${Math.abs(c).toFixed(0)}pp from prior`}(c)})]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:`repeat(${c.length}, minmax(0, 1fr))`,gap:8,alignItems:"end"},children:c.map((c,d)=>(0,b.jsx)(o,{cycle:c,windowLabel:a},d))})]})}function o({cycle:a,windowLabel:c}){let d=Math.max(0,Math.min(100,a.peakPct)),e=Math.max(0,a.peakPct),f=function(a){switch(a){case"success":return"var(--af-success)";case"warning":return"#b58400";case"danger":return"var(--af-danger)"}}(a.current?function(a,b,c,d=Date.now()){var e;return((e=100*Math.max(0,Math.min(1,(d-(b-c))/c))-a)<-15?{tone:"danger",label:"may exhaust early"}:e>15?{tone:"warning",label:"below pace"}:{tone:"success",label:"on pace"}).tone}(d,new Date(a.endsAt).getTime(),m[c]):d>=70?"success":d>=40?"warning":"danger"),g=new Date(a.endsAt),h=a.current?`ends ${g.toLocaleDateString(void 0,{month:"short",day:"numeric"})}`:g.toLocaleDateString(void 0,{month:"short",day:"numeric"});return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"stretch",gap:4},title:`${a.current?"Current cycle ends":"Cycle ended"} ${g.toLocaleString()}${"predicted"===a.source?" · estimated from JSONL":" · measured from daemon"}`,children:[(0,b.jsxs)("div",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:f,fontWeight:700,textAlign:"right",fontVariantNumeric:"tabular-nums"},children:[e.toFixed(0),"%"]}),(0,b.jsx)("div",{style:{height:80,display:"flex",flexDirection:"column",justifyContent:"flex-end",background:"var(--af-border-subtle)",borderRadius:4,opacity:a.current?.85:1,border:a.current?`1px dashed ${f}`:"none"},children:(0,b.jsx)("div",{style:{height:`${d}%`,background:f,borderRadius:4,opacity:"predicted"===a.source?.55:1,backgroundImage:"predicted"===a.source?"repeating-linear-gradient(45deg, transparent 0 4px, rgba(0,0,0,0.08) 4px 8px)":void 0}})}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textAlign:"center",fontFamily:"var(--font-mono)",letterSpacing:"0.02em"},children:[h,"predicted"===a.source&&(0,b.jsxs)(b.Fragment,{children:[" ",(0,b.jsx)("span",{style:{color:"#b58400"},children:"·est"})]})]})]})}a.i(9117);var p=a.i(30375);function q(a){return(0,p.getAgentMetadata)(a)?.displayName??a}async function r({searchParams:a}){var d;let f=await a,g=(0,e.readUsageSnapshots)(),h=new Set;for(let a of g){let b=a.agent??"claude-code";h.add(b)}h.add("claude-code");let i=(0,p.isAgentKind)(f.agent)?f.agent:void 0,j=i&&h.has(i)?i:h.has("claude-code")?"claude-code":Array.from(h)[0],m=(0,e.readUsageSnapshotsByAgent)(j),o=(0,e.latestUsageSnapshotByAgent)(j),u="claude-code"===j?(0,e.readCachedPlanTier)():null,v="claude-code"===j?await k():null,w=v?(d=v)?{five_hour:d.curve.filter(a=>Number.isFinite(a.pred_5h)).map(a=>({capturedAt:new Date(a.ts).getTime(),util:Math.max(0,a.pred_5h)})),seven_day:d.curve.filter(a=>Number.isFinite(a.pred_7d)).map(a=>({capturedAt:new Date(a.ts).getTime(),util:Math.max(0,a.pred_7d)})),seven_day_sonnet:[]}:{five_hour:[],seven_day:[],seven_day_sonnet:[]}:null,x=v?function(a,b=6,c=Date.now()){if(!a||a.curve.length<2)return[];let d=new Map;for(let b of a.curve){let a=b.cycle_end_7d;if(!a)continue;let c=Date.parse(a);if(Number.isNaN(c))continue;let e=36e5*Math.round(c/36e5),f=d.get(e)??[];f.push(b),d.set(e,f)}let e=function(a){let b=[];for(let[c,d]of Array.from(a.entries()).sort((a,b)=>a[0]-b[0])){let a=b[b.length-1];a&&c-a.endMs<=432e5?(a.endMs=c,a.points.push(...d)):b.push({endMs:c,points:[...d]})}return b}(d),f=[];for(let{endMs:a,points:b}of e){let d=0,e="predicted";for(let a of b){let b=a.real_7d;"number"==typeof b&&b>d&&(d=b,e="real");let c=a.pred_7d??0;c>d&&(d=c,e="predicted")}f.push({endsAt:new Date(a).toISOString(),peakPct:Math.round(10*d)/10,source:e,current:a>c})}return f.slice(-b)}(v):[];return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18,maxWidth:1400,padding:"20px 32px"},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"baseline",gap:14,flexWrap:"wrap"},children:[(0,b.jsxs)("h1",{style:{fontSize:20,fontWeight:700,letterSpacing:"-0.02em",margin:0,display:"flex",alignItems:"center",gap:8},children:[(0,b.jsx)(c.Activity,{size:18}),"Usage history"]}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:"historical plan utilization · current usage in sidebar"}),u&&"claude-code"===j&&(0,b.jsxs)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:8,fontSize:12,padding:"4px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:999,fontFamily:"var(--font-mono)"},title:u.rateLimitTier?`Anthropic rate_limit_tier: ${u.rateLimitTier}`:void 0,children:[(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)"},children:"plan"}),(0,b.jsx)("span",{style:{color:"var(--af-text)",fontWeight:600},children:e.PLAN_TIER_LABELS[u.planTier].label}),e.PLAN_TIER_LABELS[u.planTier].monthlyPriceUsd>0&&(0,b.jsxs)("span",{style:{color:"var(--af-text-tertiary)"},children:["· $",e.PLAN_TIER_LABELS[u.planTier].monthlyPriceUsd,"/mo"]})]}),"codex"===j&&o?.plan_type&&(0,b.jsxs)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:8,fontSize:12,padding:"4px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:999,fontFamily:"var(--font-mono)"},children:[(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)"},children:"plan"}),(0,b.jsxs)("span",{style:{color:"var(--af-text)",fontWeight:600},children:["Codex ",o.plan_type]})]})]}),(0,b.jsx)(s,{agents:Array.from(h),selected:j}),o?(0,b.jsxs)(b.Fragment,{children:[x.length>0&&(0,b.jsx)(n,{windowLabel:"7d",cycles:x}),(0,b.jsx)(l.UsageChartsDashboard,{snapshots:m,predicted:w??void 0}),(0,b.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},suppressHydrationWarning:!0,children:["Last ",q(j)," poll: ",new Date(o.captured_at).toLocaleString()," ·"," ",m.length," snapshot",1===m.length?"":"s"," on disk"]})]}):(0,b.jsx)(t,{agent:j})]})}function s({agents:a,selected:c}){let e=[...a].sort((a,b)=>"claude-code"===a?-1:"claude-code"===b?1:a.localeCompare(b));return(0,b.jsx)("div",{role:"tablist",style:{display:"inline-flex",gap:4,padding:4,background:"var(--af-border-subtle)",borderRadius:8,alignSelf:"flex-start"},children:e.map(a=>{let e=a===c;return(0,b.jsxs)(d.default,{role:"tab","aria-selected":e,href:`/usage?agent=${a}`,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 14px",borderRadius:6,fontSize:12,fontWeight:600,letterSpacing:"0.01em",color:e?"var(--af-text)":"var(--af-text-tertiary)",background:e?"var(--af-surface)":"transparent",boxShadow:e?"0 1px 2px rgba(0,0,0,0.06)":"none",textDecoration:"none",transition:"all 0.12s ease"},children:[(0,b.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:999,background:(0,p.getAgentMetadata)(a)?.accentColor??"var(--af-text-tertiary)",opacity:e?1:.6}}),q(a)]},a)})})}function t({agent:a}){return(0,b.jsxs)("div",{className:"af-card",style:{padding:"48px 32px",textAlign:"center"},children:[(0,b.jsxs)("div",{style:{fontSize:15,fontWeight:600,color:"var(--af-text)"},children:["No ",q(a)," usage data yet"]}),(0,b.jsx)("p",{style:{fontSize:12,color:"var(--af-text-tertiary)",marginTop:8},children:"claude-code"===a?"Start the polling daemon to begin collecting metrics every 5 minutes:":"The daemon picks up Codex usage from disk on every poll cycle. Run a Codex session and the data will appear here within minutes."}),"claude-code"===a&&(0,b.jsx)("pre",{style:{display:"inline-block",marginTop:14,background:"var(--background)",border:"1px solid var(--af-border-subtle)",padding:"8px 16px",borderRadius:6,fontSize:13,fontFamily:"var(--font-mono)",color:"var(--af-text)"},children:"fleetlens daemon start"})]})}a.s(["default",0,r,"dynamic",0,"force-dynamic"],28664)},51443,a=>{a.n(a.i(28664))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0r4tks8._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[67116,a=>{"use strict";var b=a.i(717),c=a.i(23895);let d=(0,b.cache)(async()=>(0,c.listAllSessions)({limit:1e3})),e=(0,b.cache)(async a=>(0,c.getAnySession)(a));a.s(["getSession",0,e,"listSessions",0,d])},9117,a=>{"use strict";a.i(30375),a.s([])},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},44104,72592,47058,a=>{"use strict";var b=a.i(2157);a.i(66680);var c=a.i(50227),d=a.i(23895);function e(a,b){return`${a}__${b}`}function f(a){let b=/^([^_]+(?:_[^_]+)*)__(\d{4}-\d{2}-\d{2})$/.exec(a);return b?{session_id:b[1],local_day:b[2]}:null}a.s(["CURRENT_DAY_DIGEST_SCHEMA_VERSION",0,2,"CURRENT_MONTH_DIGEST_SCHEMA_VERSION",0,2,"CURRENT_WEEK_DIGEST_SCHEMA_VERSION",0,2,"GOAL_CATEGORIES",0,["build","plan","debug","review","steer","meta","research","refactor","test","release","warmup_minimal"],"PROMPT_FRAME_ORIGIN",0,{teammate:"claude-feature","task-notification":"claude-feature","local-command-caveat":"claude-feature","image-attached":"claude-feature","slash-command":"claude-feature","handoff-prose":"personal-habit"},"entryKey",0,e,"parseEntryKey",0,f],72592);let g=null;function h(a,c){try{let d=JSON.parse((0,b.readFileSync)(a,"utf8"));if(!d||"object"!=typeof d||d.version!==c||!Array.isArray(d.shipped))return null;return d}catch{return null}}function i(){return g||(g=process.env.CCLENS_DIGESTS_DIR??(0,d.cclensPath)("digests"))}a.s(["getCurrentMonthDigestFromCache",0,function(a,b){return null},"getCurrentWeekDigestFromCache",0,function(a,b){return null},"getTodayDigestFromCache",0,function(a,b){return null},"readDayDigest",0,function(a){let d=(0,c.join)(i(),"day",`${a}.json`);return(0,b.existsSync)(d)?h(d,2):null},"readMonthDigest",0,function(a){let d=(0,c.join)(i(),"month",`${a}.json`);return(0,b.existsSync)(d)?h(d,2):null},"readWeekDigest",0,function(a){let d=(0,c.join)(i(),"week",`${a}.json`);return(0,b.existsSync)(d)?h(d,2):null}],47058);let j=null;function k(){return j||(j=process.env.CCLENS_ENTRIES_DIR??(0,d.cclensPath)("entries"))}function l(a,d){let f=(0,c.join)(k(),`${e(a,d)}.json`);return(0,b.existsSync)(f)?JSON.parse((0,b.readFileSync)(f,"utf8")):null}function m(){let a=k();return(0,b.existsSync)(a)?(0,b.readdirSync)(a).filter(a=>a.endsWith(".json")).map(a=>a.slice(0,-5)):[]}a.s(["entriesDir",0,k,"listEntriesForDay",0,function(a){let b=[];for(let c of m()){let d=f(c);if(!d||d.local_day!==a)continue;let e=l(d.session_id,d.local_day);e&&b.push(e)}return b},"listEntriesForSession",0,function(a){let b=[];for(let c of m()){let d=f(c);if(!d||d.session_id!==a)continue;let e=l(d.session_id,d.local_day);e&&b.push(e)}return b},"listEntryKeys",0,m,"readEntry",0,l],44104)},64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},790,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},84707,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js"))},97647,a=>{"use strict";a.i(790);var b=a.i(84707);a.n(b)},95936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(64240),g=a.r(7997),h=f._(a.r(97647));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},76597,72931,a=>{"use strict";var b=a.i(2157),c=a.i(44104),d=a.i(47058);a.i(9117);var e=a.i(48024),f=a.i(23895);a.i(7997),a.i(95936);let g={shipped:6,partial:5,blocked:4,exploratory:3,trivial:2,idle:1};function h(a){return a?g[a]:0}a.s(["OUTCOME_STYLES",0,{shipped:{bg:"rgba(72, 187, 120, 0.12)",fg:"#48bb78",label:"Shipped",icon:"🚀"},partial:{bg:"rgba(66, 153, 225, 0.12)",fg:"#4299e1",label:"Partial",icon:"🔨"},blocked:{bg:"rgba(245, 101, 101, 0.12)",fg:"#f56565",label:"Blocked",icon:"🚧"},exploratory:{bg:"rgba(160, 174, 192, 0.12)",fg:"#a0aec0",label:"Exploratory",icon:"🧭"},trivial:{bg:"rgba(203, 213, 224, 0.12)",fg:"#a0aec0",label:"Warmup",icon:"💤"},idle:{bg:"rgba(203, 213, 224, 0.12)",fg:"#a0aec0",label:"Idle",icon:"—"}},"outcomePriority",0,h],72931);let i={bySession:new Map,byDay:new Map,byProject:new Map,sessionOutcome:new Map,dayOutcome:new Map,enrichmentStatusBySession:new Map},j=null;function k(a){let b=null,c=0;for(let d of a){let a=d.enrichment.outcome??null;if(!a)continue;let e=h(a);e>c&&(c=e,b=a)}return b}async function l(){let a,d=(a=(0,c.entriesDir)(),(0,b.existsSync)(a)?(0,b.statSync)(a).mtimeMs:0);if(0===d)return i;if(j&&j.mtimeMs===d)return j.index;let f=new Map,g=new Map,h=new Map,l=new Map;for(let a of(0,c.listEntryKeys)()){let b=a.lastIndexOf("__");if(-1===b)continue;let d=a.slice(0,b),i=a.slice(b+2),j=(0,c.readEntry)(d,i);if(!j)continue;let k=f.get(j.session_id);k?k.push(j):f.set(j.session_id,[j]);let l=g.get(j.local_day);l?l.push(j):g.set(j.local_day,[j]);let m=(0,e.projectRepoName)(j.project),n=h.get(m);n?n.push(j):h.set(m,[j])}for(let[a,b]of f)b.sort((a,b)=>a.local_day.localeCompare(b.local_day)),l.set(a,b[b.length-1].enrichment.status);let m=new Map;for(let[a,b]of f)m.set(a,k(b));let n=new Map;for(let[a,b]of g)n.set(a,k(b));let o={bySession:f,byDay:g,byProject:h,sessionOutcome:m,dayOutcome:n,enrichmentStatusBySession:l};return j={mtimeMs:d,index:o},o}let m=null;function n(){return process.env.CCLENS_DIGESTS_DIR??(0,f.cclensPath)("digests","day")}async function o(){let a,c=(a=n(),(0,b.existsSync)(a)?(0,b.statSync)(a).mtimeMs:0);if(0===c)return new Map;if(m&&m.mtimeMs===c)return m.map;let e=n(),f=new Map;for(let a of(0,b.readdirSync)(e)){if(!a.endsWith(".json"))continue;let b=a.slice(0,-5);if(!/^\d{4}-\d{2}-\d{2}$/.test(b))continue;let c=(0,d.readDayDigest)(b);c&&f.set(b,{date:b,headline:c.headline,outcome_day:c.outcome_day,helpfulness_day:c.helpfulness_day,agent_min:c.agent_min,shipped_count:c.shipped.length})}return m={mtimeMs:c,map:f},f}a.s(["buildEntriesIndex",0,l,"listCachedDayDigests",0,o],76597)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0stu~~r._.js.map