fleetlens 0.13.0 → 0.13.2

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 (211) hide show
  1. package/app/apps/web/.next/BUILD_ID +1 -1
  2. package/app/apps/web/.next/build-manifest.json +8 -8
  3. package/app/apps/web/.next/prerender-manifest.json +3 -3
  4. package/app/apps/web/.next/server/app/_global-error/page/build-manifest.json +5 -5
  5. package/app/apps/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/app/apps/web/.next/server/app/_global-error.html +1 -1
  7. package/app/apps/web/.next/server/app/_global-error.rsc +7 -7
  8. package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  9. package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  10. package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  11. package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  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/build-manifest.json +5 -5
  14. package/app/apps/web/.next/server/app/_not-found/page.js +1 -1
  15. package/app/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/app/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  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 +1 -1
  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 +1 -1
  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.nft.json +1 -1
  23. package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js +1 -1
  24. package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js.nft.json +1 -1
  25. package/app/apps/web/.next/server/app/api/digest/week-index/route.js.nft.json +1 -1
  26. package/app/apps/web/.next/server/app/api/events/route.js.nft.json +1 -1
  27. package/app/apps/web/.next/server/app/api/jobs/route.js.nft.json +1 -1
  28. package/app/apps/web/.next/server/app/api/pdf/[key]/route.js.nft.json +1 -1
  29. package/app/apps/web/.next/server/app/api/runs/[runId]/route.js.nft.json +1 -1
  30. package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route.js.nft.json +1 -1
  31. package/app/apps/web/.next/server/app/api/runs/route.js.nft.json +1 -1
  32. package/app/apps/web/.next/server/app/api/settings/route.js.nft.json +1 -1
  33. package/app/apps/web/.next/server/app/api/team-config/route.js.nft.json +1 -1
  34. package/app/apps/web/.next/server/app/api/workflow-agent/route.js.nft.json +1 -1
  35. package/app/apps/web/.next/server/app/changelog/page/build-manifest.json +5 -5
  36. package/app/apps/web/.next/server/app/changelog/page.js +1 -1
  37. package/app/apps/web/.next/server/app/changelog/page.js.nft.json +1 -1
  38. package/app/apps/web/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
  39. package/app/apps/web/.next/server/app/day/[date]/page/build-manifest.json +5 -5
  40. package/app/apps/web/.next/server/app/day/[date]/page.js +1 -1
  41. package/app/apps/web/.next/server/app/day/[date]/page.js.nft.json +1 -1
  42. package/app/apps/web/.next/server/app/day/[date]/page_client-reference-manifest.js +1 -1
  43. package/app/apps/web/.next/server/app/day/page/build-manifest.json +5 -5
  44. package/app/apps/web/.next/server/app/day/page.js +1 -1
  45. package/app/apps/web/.next/server/app/day/page.js.nft.json +1 -1
  46. package/app/apps/web/.next/server/app/day/page_client-reference-manifest.js +1 -1
  47. package/app/apps/web/.next/server/app/digest/[date]/page/build-manifest.json +5 -5
  48. package/app/apps/web/.next/server/app/digest/[date]/page.js +1 -1
  49. package/app/apps/web/.next/server/app/digest/[date]/page.js.nft.json +1 -1
  50. package/app/apps/web/.next/server/app/digest/[date]/page_client-reference-manifest.js +1 -1
  51. package/app/apps/web/.next/server/app/digest/page/build-manifest.json +5 -5
  52. package/app/apps/web/.next/server/app/digest/page.js +1 -1
  53. package/app/apps/web/.next/server/app/digest/page.js.nft.json +1 -1
  54. package/app/apps/web/.next/server/app/digest/page_client-reference-manifest.js +1 -1
  55. package/app/apps/web/.next/server/app/insights/[key]/page/build-manifest.json +5 -5
  56. package/app/apps/web/.next/server/app/insights/[key]/page.js +1 -1
  57. package/app/apps/web/.next/server/app/insights/[key]/page.js.nft.json +1 -1
  58. package/app/apps/web/.next/server/app/insights/[key]/page_client-reference-manifest.js +1 -1
  59. package/app/apps/web/.next/server/app/insights/page/build-manifest.json +5 -5
  60. package/app/apps/web/.next/server/app/insights/page.js +3 -2
  61. package/app/apps/web/.next/server/app/insights/page.js.nft.json +1 -1
  62. package/app/apps/web/.next/server/app/insights/page_client-reference-manifest.js +1 -1
  63. package/app/apps/web/.next/server/app/page/build-manifest.json +5 -5
  64. package/app/apps/web/.next/server/app/page.js +1 -1
  65. package/app/apps/web/.next/server/app/page.js.nft.json +1 -1
  66. package/app/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  67. package/app/apps/web/.next/server/app/parallelism/page/build-manifest.json +5 -5
  68. package/app/apps/web/.next/server/app/parallelism/page.js +1 -1
  69. package/app/apps/web/.next/server/app/parallelism/page.js.nft.json +1 -1
  70. package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
  71. package/app/apps/web/.next/server/app/print/[key]/page/build-manifest.json +5 -5
  72. package/app/apps/web/.next/server/app/print/[key]/page.js +1 -1
  73. package/app/apps/web/.next/server/app/print/[key]/page.js.nft.json +1 -1
  74. package/app/apps/web/.next/server/app/print/[key]/page_client-reference-manifest.js +1 -1
  75. package/app/apps/web/.next/server/app/projects/[slug]/page/build-manifest.json +5 -5
  76. package/app/apps/web/.next/server/app/projects/[slug]/page.js +1 -1
  77. package/app/apps/web/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  78. package/app/apps/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  79. package/app/apps/web/.next/server/app/projects/page/build-manifest.json +5 -5
  80. package/app/apps/web/.next/server/app/projects/page.js +1 -1
  81. package/app/apps/web/.next/server/app/projects/page.js.nft.json +1 -1
  82. package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  83. package/app/apps/web/.next/server/app/runs/page/build-manifest.json +5 -5
  84. package/app/apps/web/.next/server/app/runs/page.js +1 -1
  85. package/app/apps/web/.next/server/app/runs/page.js.nft.json +1 -1
  86. package/app/apps/web/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  87. package/app/apps/web/.next/server/app/sessions/[id]/page/build-manifest.json +5 -5
  88. package/app/apps/web/.next/server/app/sessions/[id]/page.js +1 -1
  89. package/app/apps/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  90. package/app/apps/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  91. package/app/apps/web/.next/server/app/sessions/page/build-manifest.json +5 -5
  92. package/app/apps/web/.next/server/app/sessions/page.js +1 -1
  93. package/app/apps/web/.next/server/app/sessions/page.js.nft.json +1 -1
  94. package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  95. package/app/apps/web/.next/server/app/settings/page/build-manifest.json +5 -5
  96. package/app/apps/web/.next/server/app/settings/page.js +1 -1
  97. package/app/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
  98. package/app/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  99. package/app/apps/web/.next/server/app/team/page/build-manifest.json +5 -5
  100. package/app/apps/web/.next/server/app/team/page.js +1 -1
  101. package/app/apps/web/.next/server/app/team/page.js.nft.json +1 -1
  102. package/app/apps/web/.next/server/app/team/page_client-reference-manifest.js +1 -1
  103. package/app/apps/web/.next/server/app/usage/page/build-manifest.json +5 -5
  104. package/app/apps/web/.next/server/app/usage/page.js +1 -1
  105. package/app/apps/web/.next/server/app/usage/page.js.nft.json +1 -1
  106. package/app/apps/web/.next/server/app/usage/page_client-reference-manifest.js +1 -1
  107. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0gril0u._.js +9 -0
  108. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0n79hpm._.js +9 -0
  109. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0~utv~v._.js +9 -0
  110. package/app/apps/web/.next/server/chunks/packages_parser_dist_06d9se1._.js +1 -1
  111. package/app/apps/web/.next/server/chunks/packages_parser_dist_10ihc3~._.js +1 -1
  112. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0exckd4._.js +1 -1
  113. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0-1_njm._.js → [root-of-the-server]__0k1x-c9._.js} +2 -2
  114. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0lhwp-k._.js +8 -0
  115. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0n-ax-5._.js +1 -1
  116. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0~.f_3z._.js +3 -3
  117. package/app/apps/web/.next/server/chunks/ssr/_0kajk31._.js +1 -1
  118. package/app/apps/web/.next/server/chunks/ssr/_0s3n5mz._.js +8 -0
  119. package/app/apps/web/.next/server/chunks/ssr/_0xu2pvc._.js +1 -1
  120. package/app/apps/web/.next/server/chunks/ssr/{_0jw2sm7._.js → _12mbgs5._.js} +2 -2
  121. package/app/apps/web/.next/server/chunks/ssr/apps_web_app_day_[date]_day-view_tsx_0wjoe1u._.js +1 -1
  122. package/app/apps/web/.next/server/chunks/ssr/apps_web_app_insights_page_tsx_071kwyw._.js +3 -0
  123. package/app/apps/web/.next/server/chunks/ssr/apps_web_app_sessions_sessions-grid_tsx_0bri5x.._.js +3 -0
  124. package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0l6hsch._.js +6 -0
  125. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0n7_p1d._.js +1 -1
  126. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0nb5_-s._.js +1 -1
  127. package/app/apps/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0cepfi8._.js +3 -0
  128. package/app/apps/web/.next/server/chunks/ssr/packages_entries_dist_node_0_271yr.js +1 -1
  129. package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_0mx_509._.js +1 -1
  130. package/app/apps/web/.next/server/middleware-build-manifest.js +8 -8
  131. package/app/apps/web/.next/server/middleware-manifest.json +5 -5
  132. package/app/apps/web/.next/server/pages/500.html +1 -1
  133. package/app/apps/web/.next/server/server-reference-manifest.js +1 -1
  134. package/app/apps/web/.next/server/server-reference-manifest.json +1 -1
  135. package/app/apps/web/.next/static/chunks/02xxpexzk3rf-.js +1 -0
  136. package/app/apps/web/.next/static/chunks/{07lbm-sdh9c2j.js → 0389wb_f0j78j.js} +1 -1
  137. package/app/apps/web/.next/static/chunks/03gy1evbn94qu.js +6 -0
  138. package/app/apps/web/.next/static/chunks/03rd.3cc_t~yf.js +4 -0
  139. package/app/apps/web/.next/static/chunks/{0l4e3as18eexy.js → 0g223u9amib0q.js} +1 -1
  140. package/app/apps/web/.next/static/chunks/{0h3.-_s-k0mj3.js → 0i.hc~2bj0_3d.js} +1 -1
  141. package/app/apps/web/.next/static/chunks/0m7dd-2zd9vl2.js +4 -0
  142. package/app/apps/web/.next/static/chunks/0nqklmbs5s3ax.js +6 -0
  143. package/app/apps/web/.next/static/chunks/{073081qv4uyn8.js → 0p--hzrway8~3.js} +1 -1
  144. package/app/apps/web/.next/static/chunks/{0gblp_v.kiu-..js → 0qv-gw888_5nu.js} +1 -1
  145. package/app/apps/web/.next/static/chunks/{14bjditmmrn7l.js → 0tirv_vo6q8uc.js} +1 -1
  146. package/app/apps/web/.next/static/chunks/0uyctl-m8iydb.js +1 -0
  147. package/app/apps/web/.next/static/chunks/0~qdw1b2uz._5.js +10 -0
  148. package/app/apps/web/.next/static/chunks/{0n0n.0279ot6c.js → 14vx702c32kn6.js} +1 -1
  149. package/app/apps/web/.next/static/chunks/{turbopack-0lb9w090w5ezx.js → turbopack-0mxu3~9vk.brh.js} +1 -1
  150. package/app/apps/web/app/api/digest/_shared/digest-route-helpers.ts +178 -0
  151. package/app/apps/web/app/api/digest/day/[date]/route.ts +34 -128
  152. package/app/apps/web/app/api/digest/month/[yearMonth]/route.ts +36 -121
  153. package/app/apps/web/app/api/digest/week/[startDate]/route.ts +36 -123
  154. package/app/apps/web/app/insights/page.tsx +20 -5
  155. package/app/apps/web/app/parallelism/burst-detail-modal.tsx +637 -0
  156. package/app/apps/web/app/parallelism/concurrency-info-modal.tsx +228 -0
  157. package/app/apps/web/app/parallelism/gantt-chart-utils.ts +49 -0
  158. package/app/apps/web/app/parallelism/gantt-chart.tsx +24 -903
  159. package/app/apps/web/app/sessions/[id]/session-view/colors.ts +31 -0
  160. package/app/apps/web/app/sessions/[id]/session-view/debug-list.tsx +78 -0
  161. package/app/apps/web/app/sessions/[id]/session-view/drawer.tsx +414 -0
  162. package/app/apps/web/app/sessions/[id]/session-view/entry-day-strip.tsx +124 -0
  163. package/app/apps/web/app/sessions/[id]/session-view/header-stats.tsx +217 -0
  164. package/app/apps/web/app/sessions/[id]/session-view/helpers.ts +135 -0
  165. package/app/apps/web/app/sessions/[id]/session-view/minimap.tsx +1587 -0
  166. package/app/apps/web/app/sessions/[id]/session-view/subagent-drawer.tsx +339 -0
  167. package/app/apps/web/app/sessions/[id]/session-view/token-stats.tsx +111 -0
  168. package/app/apps/web/app/sessions/[id]/session-view/tooltip.tsx +63 -0
  169. package/app/apps/web/app/sessions/[id]/session-view/types.ts +46 -0
  170. package/app/apps/web/app/sessions/[id]/session-view/workflows-panel.tsx +944 -0
  171. package/app/apps/web/app/sessions/[id]/session-view/workflows-shared.tsx +104 -0
  172. package/app/apps/web/app/sessions/[id]/session-view.tsx +1513 -5018
  173. package/app/apps/web/app/sessions/[id]/team-tab/minimap-hover-card.tsx +201 -0
  174. package/app/apps/web/app/sessions/[id]/team-tab/minimap-idle-band.tsx +53 -0
  175. package/app/apps/web/app/sessions/[id]/team-tab/minimap-shared.ts +20 -0
  176. package/app/apps/web/app/sessions/[id]/team-tab/team-minimap.tsx +10 -265
  177. package/app/apps/web/app/sessions/sessions-grid.tsx +10 -10
  178. package/app/apps/web/components/digest-actions.tsx +103 -0
  179. package/app/apps/web/components/job-queue-widget.tsx +1 -1
  180. package/app/apps/web/components/month-digest-view.tsx +19 -64
  181. package/app/apps/web/components/searchable-select.tsx +215 -0
  182. package/app/apps/web/components/tail-mode.tsx +46 -9
  183. package/app/apps/web/components/week-digest-view.tsx +16 -71
  184. package/app/apps/web/lib/changelog-data.generated.ts +1 -1
  185. package/app/apps/web/lib/entries-index.ts +7 -8
  186. package/app/apps/web/lib/entries.ts +0 -9
  187. package/app/apps/web/lib/format.test.ts +221 -0
  188. package/app/apps/web/lib/format.ts +17 -0
  189. package/app/apps/web/lib/utilization-tone.test.ts +56 -0
  190. package/app/apps/web/package.json +1 -1
  191. package/app/apps/web/tsconfig.tsbuildinfo +1 -1
  192. package/dist/daemon-worker.js +35 -43
  193. package/dist/index.js +37 -49
  194. package/package.json +1 -1
  195. package/app/apps/web/.next/server/chunks/[root-of-the-server]__04j3tng._.js +0 -9
  196. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0cnh3k4._.js +0 -9
  197. package/app/apps/web/.next/server/chunks/[root-of-the-server]__132eosx._.js +0 -9
  198. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__136-0me._.js +0 -8
  199. package/app/apps/web/.next/server/chunks/ssr/_0w.cv64._.js +0 -8
  200. package/app/apps/web/.next/server/chunks/ssr/apps_web_components_01d-iwx._.js +0 -6
  201. package/app/apps/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0-lmm4p._.js +0 -3
  202. package/app/apps/web/.next/static/chunks/05k84gif3ucxm.js +0 -6
  203. package/app/apps/web/.next/static/chunks/0nnjldasalwdu.js +0 -4
  204. package/app/apps/web/.next/static/chunks/0okg13phslr1..js +0 -4
  205. package/app/apps/web/.next/static/chunks/0pzt9vemtzct8.js +0 -10
  206. package/app/apps/web/.next/static/chunks/0qmh5da6gfm56.js +0 -1
  207. package/app/apps/web/.next/static/chunks/0rnay-a.-jr8-.js +0 -1
  208. package/app/apps/web/.next/static/chunks/0snv3-2ux2xvv.js +0 -6
  209. /package/app/apps/web/.next/static/{rbp9x3iPbzrz-wxS-DAU5 → bZs5UyzsYBqC6MFY5n-M_}/_buildManifest.js +0 -0
  210. /package/app/apps/web/.next/static/{rbp9x3iPbzrz-wxS-DAU5 → bZs5UyzsYBqC6MFY5n-M_}/_clientMiddlewareManifest.js +0 -0
  211. /package/app/apps/web/.next/static/{rbp9x3iPbzrz-wxS-DAU5 → bZs5UyzsYBqC6MFY5n-M_}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[94561,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(5784),e=a.i(50522);let f=(0,a.i(70106).default)("Layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);var g=a.i(44220),h=a.i(68381);let i={"spec-review-loop":"Spec-review loop","chunk-implementation":"Chunk implementation","research-then-build":"Research-then-build","reviewer-triad":"Reviewer triad","background-coordinated":"Background-coordinated","solo-continuation":"Solo continuation","solo-design":"Solo design","solo-build":"Solo build",mixed:"Mixed"},j={teammate:"<teammate-message>","task-notification":"<task-notification>","local-command-caveat":"<local-command-caveat>","image-attached":"[Image #N]","slash-command":"/command","handoff-prose":"Handoff prose"};function k({digest:a,entries:f,aiEnabled:i,actions:j}){let[p,q]=(0,c.useState)(!1),s=new Date(`${a.key}T12:00:00`).toLocaleDateString("en-US",{weekday:"long",month:"short",day:"numeric",year:"numeric"}),t=a.agent_min/60,u=t>=1?`${t.toFixed(1)}h`:`${Math.round(a.agent_min)}m`,v=[...f].sort((a,b)=>Date.parse(b.start_iso)-Date.parse(a.start_iso));return(0,b.jsxs)("div",{style:{maxWidth:980,margin:"0 auto",padding:"24px 40px"},children:[(0,b.jsxs)("header",{style:{marginBottom:28},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:8,fontSize:12,color:"var(--af-text-tertiary)",fontWeight:500,flexWrap:"wrap"},children:[(0,b.jsx)("span",{children:s}),(0,b.jsx)(g.OutcomePill,{outcome:a.outcome_day,size:"lg"}),(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)"},children:"·"}),(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)",color:"var(--af-text-secondary)"},children:[u," agent time · ",a.projects.length," project",1===a.projects.length?"":"s"," · ",a.shipped.length," PR",1===a.shipped.length?"":"s"," shipped",a.concurrency_peak>1&&` \xb7 peak concurrency \xd7${a.concurrency_peak}`]}),j&&(0,b.jsx)("div",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:8},children:j})]}),a.headline?(0,b.jsx)("h1",{style:{fontSize:26,fontWeight:700,lineHeight:1.3,letterSpacing:"-0.02em",margin:"0 0 8px",maxWidth:820,color:"var(--af-text)"},children:a.headline}):(0,b.jsx)("h1",{style:{fontSize:20,color:"var(--af-text-secondary)",margin:"0 0 14px"},children:i?"No narrative yet — click Regenerate.":`Worked ${u} across ${a.projects.length} project${1===a.projects.length?"":"s"}.`}),a.day_signature&&(0,b.jsx)("p",{style:{margin:"0 0 14px",fontSize:14,fontStyle:"italic",color:"var(--af-text-secondary)",maxWidth:820,lineHeight:1.5},children:a.day_signature})]}),!i&&(0,b.jsxs)("div",{style:{padding:14,marginBottom:24,background:"var(--af-accent-subtle)",borderRadius:8,fontSize:13,color:"var(--af-text)"},children:["Enable AI features in ",(0,b.jsx)("a",{href:"/settings",style:{color:"var(--af-accent)"},children:"Settings"})," to see daily narratives."]}),a.day_signals&&(0,b.jsx)(o,{signals:a.day_signals}),(a.what_went_well||a.what_hit_friction)&&(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:24,marginBottom:28},children:[(0,b.jsx)(m,{glyph:"✓",color:"#48bb78",text:a.what_went_well,emptyLabel:"(smooth)"}),(0,b.jsx)(m,{glyph:"⚠",color:"#ed8936",text:a.what_hit_friction,emptyLabel:"(no friction)"})]}),a.narrative&&(0,b.jsx)("section",{style:{marginBottom:28,padding:"4px 0",fontSize:15,lineHeight:1.6,color:"var(--af-text)",maxWidth:760},children:a.narrative}),(0,b.jsx)("div",{style:{marginBottom:18},children:(0,b.jsxs)("button",{type:"button",onClick:()=>q(a=>!a),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 10px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer"},children:[p?(0,b.jsx)(d.ChevronDown,{size:12}):(0,b.jsx)(e.ChevronRight,{size:12}),p?"Hide details":"Show more details"]})}),p&&(0,b.jsxs)(b.Fragment,{children:[a.suggestion&&(0,b.jsxs)("section",{style:{borderLeft:"3px solid var(--af-accent)",paddingLeft:16,marginBottom:32},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.06em",fontWeight:600,marginBottom:6},children:"Tomorrow"}),(0,b.jsx)("div",{style:{fontSize:15,fontWeight:600,marginBottom:4,color:"var(--af-text)"},children:a.suggestion.headline}),(0,b.jsx)("div",{style:{fontSize:13,color:"var(--af-text-secondary)",lineHeight:1.5,maxWidth:760},children:a.suggestion.body})]}),a.projects.length>0&&(0,b.jsxs)("section",{style:{marginBottom:32},children:[(0,b.jsx)(l,{children:"Work breakdown"}),(0,b.jsx)("div",{style:{display:"grid",gap:6},children:a.projects.map(c=>{let d=a.shipped.filter(a=>a.project===c.display_name);return(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"140px 1fr 56px 72px",gap:12,alignItems:"center",padding:"6px 0",borderBottom:"1px solid var(--af-border-subtle)",fontSize:13},children:[(0,b.jsx)("span",{title:c.name,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.display_name}),(0,b.jsx)(n,{pct:c.share_pct}),(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-tertiary)",textAlign:"right"},children:[c.share_pct.toFixed(0),"%"]}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",textAlign:"right"},children:d.length>0?`${d.length} PR${1===d.length?"":"s"}`:"—"})]},c.name)})})]}),a.shipped.length>0&&(0,b.jsxs)("section",{style:{marginBottom:32},children:[(0,b.jsx)(l,{children:"Shipped"}),(0,b.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:a.shipped.map((a,c)=>(0,b.jsxs)("li",{style:{padding:"6px 0",fontSize:13,borderBottom:"1px solid var(--af-border-subtle)",display:"flex",gap:10,alignItems:"baseline"},children:[(0,b.jsx)("span",{style:{color:"#48bb78",fontSize:12},children:"✓"}),(0,b.jsx)("span",{style:{flex:1},children:a.title}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:a.project})]},c))})]}),v.length>0&&(0,b.jsxs)("section",{style:{marginBottom:32},children:[(0,b.jsxs)(l,{children:["Sessions · ",v.length]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:v.map(a=>(0,b.jsx)(r,{entry:a},a.session_id))})]}),a.top_goal_categories.length>0&&(0,b.jsxs)("section",{style:{marginTop:40,paddingTop:20,borderTop:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",marginBottom:6},children:"Goal mix"}),(0,b.jsx)(h.GoalBar,{goals:a.top_goal_categories,total:a.agent_min})]})]})]})}function l({children:a}){return(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.08em",fontWeight:600,marginBottom:10},children:a})}function m({glyph:a,color:c,text:d,emptyLabel:e}){return(0,b.jsxs)("div",{style:{fontSize:14,lineHeight:1.55,display:"flex",gap:8,alignItems:"flex-start"},children:[(0,b.jsx)("span",{style:{fontSize:16,color:c,lineHeight:1.4,flexShrink:0},children:a}),d?(0,b.jsx)("span",{style:{color:"var(--af-text)"},children:d}):(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)",fontStyle:"italic"},children:e})]})}function n({pct:a}){return(0,b.jsx)("div",{style:{height:6,background:"var(--af-border-subtle)",borderRadius:99,overflow:"hidden"},children:(0,b.jsx)("div",{style:{width:`${Math.min(100,Math.max(0,a))}%`,height:"100%",background:"var(--af-accent)",transition:"width 0.2s"}})})}function o({signals:a}){let c=null!==a.dominant_shape,d=Object.keys(a.shape_distribution).length>0,e=a.user_authored_subagents_used.length>0||Object.keys(a.shape_distribution).length>0,f=a.skills_loaded.filter(a=>"stock"===a.origin),g=a.skills_loaded.filter(a=>"user"===a.origin),h=a.prompt_frames.filter(a=>"claude-feature"===a.origin),k=a.prompt_frames.filter(a=>"personal-habit"===a.origin),l=a.comm_style,m=l.verbosity_distribution.short+l.verbosity_distribution.medium+l.verbosity_distribution.long+l.verbosity_distribution.very_long,n=l.steering.interrupts+l.steering.frustrated+l.steering.dissatisfied;return c||d||0!==f.length||0!==g.length||0!==a.user_authored_subagents_used.length||0!==h.length||0!==k.length||0!==m||0!==l.external_refs.length||0!==n||0!==a.brainstorm_warmup_session_count||0!==a.todo_ops_total||a.plan_mode_used?(0,b.jsxs)("section",{style:{marginBottom:28,padding:"14px 16px",borderRadius:8,background:"var(--af-surface)",border:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.08em",fontWeight:600,marginBottom:10},children:"How today worked"}),c&&(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8},children:[(0,b.jsx)("span",{style:{display:"inline-flex",alignItems:"center",padding:"3px 10px",borderRadius:999,fontSize:12,fontWeight:600,background:"var(--af-accent-subtle)",color:"var(--af-accent)"},children:i[a.dominant_shape]??a.dominant_shape}),d&&(0,b.jsx)("span",{style:{fontSize:12,color:"var(--af-text-secondary)",fontFamily:"var(--font-mono)"},children:Object.entries(a.shape_distribution).sort((a,b)=>b[1]-a[1]).map(([a,b])=>`${b} ${a}`).join(" · ")})]}),e&&a.user_authored_subagents_used.length>0&&(0,b.jsx)(p,{label:"Your subagents",children:a.user_authored_subagents_used.slice(0,4).map(a=>(0,b.jsxs)(q,{title:a.sample_prompt_preview,children:[a.type,a.count>1?` \xd7${a.count}`:""]},a.type))}),(f.length>0||g.length>0)&&(0,b.jsxs)(p,{label:"Skills loaded",children:[g.slice(0,4).map(a=>(0,b.jsxs)(q,{tone:"user",children:[a.skill,a.count>1?` \xd7${a.count}`:""]},a.skill)),f.slice(0,4).map(a=>(0,b.jsxs)(q,{tone:"stock",children:[a.skill,a.count>1?` \xd7${a.count}`:""]},a.skill))]}),(h.length>0||k.length>0)&&(0,b.jsxs)(p,{label:"Prompt frames",children:[k.map(a=>(0,b.jsxs)(q,{tone:"user",children:[j[a.frame]??a.frame,a.count>1?` \xd7${a.count}`:""]},a.frame)),h.map(a=>(0,b.jsxs)(q,{tone:"stock",children:[j[a.frame]??a.frame,a.count>1?` \xd7${a.count}`:""]},a.frame))]}),(m>0||l.external_refs.length>0||n>0)&&(0,b.jsxs)(p,{label:"Comm style",children:[m>0&&(0,b.jsx)("span",{style:{fontSize:12,color:"var(--af-text-secondary)",fontFamily:"var(--font-mono)"},children:[l.verbosity_distribution.short&&`${l.verbosity_distribution.short} short`,l.verbosity_distribution.medium&&`${l.verbosity_distribution.medium} med`,l.verbosity_distribution.long&&`${l.verbosity_distribution.long} long`,l.verbosity_distribution.very_long&&`${l.verbosity_distribution.very_long} v.long`].filter(Boolean).join(" · ")}),l.external_refs.length>0&&(0,b.jsxs)(q,{children:[l.external_refs.length," external ref",1===l.external_refs.length?"":"s"]}),l.steering.interrupts>0&&(0,b.jsxs)(q,{children:[l.steering.interrupts," interrupts"]}),l.steering.sessions_with_mid_run_redirect>0&&(0,b.jsxs)(q,{children:[l.steering.sessions_with_mid_run_redirect," mid-run redirect",1===l.steering.sessions_with_mid_run_redirect?"":"s"]})]}),(a.brainstorm_warmup_session_count>0||a.todo_ops_total>0||a.plan_mode_used)&&(0,b.jsxs)(p,{label:"Discipline",children:[a.brainstorm_warmup_session_count>0&&(0,b.jsxs)(q,{children:["brainstorm warmup ×",a.brainstorm_warmup_session_count]}),a.todo_ops_total>0&&(0,b.jsxs)(q,{children:[a.todo_ops_total," TodoWrite ops"]}),a.plan_mode_used&&(0,b.jsx)(q,{tone:"user",children:"Plan Mode used"})]})]}):null}function p({label:a,children:c}){return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",padding:"4px 0",fontSize:12},children:[(0,b.jsx)("span",{style:{minWidth:100,color:"var(--af-text-tertiary)",fontWeight:500,fontSize:11,textTransform:"uppercase",letterSpacing:"0.04em"},children:a}),(0,b.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",flex:1},children:c})]})}function q({children:a,tone:c,title:d}){return(0,b.jsx)("span",{title:d,style:{display:"inline-flex",alignItems:"center",padding:"2px 8px",borderRadius:999,fontSize:11,fontFamily:"var(--font-mono)",background:"user"===c?"var(--af-accent-subtle)":"var(--af-border-subtle)",color:"user"===c?"var(--af-accent)":"var(--af-text-secondary)",whiteSpace:"nowrap",maxWidth:280,overflow:"hidden",textOverflow:"ellipsis"},children:a})}function r({entry:a}){let c=new Date(a.start_iso).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),d=Math.round(a.numbers.active_min),e=a.project.split("/").filter(Boolean).slice(-1)[0]??a.project,f=a.enrichment.outcome,h=a.enrichment.brief_summary;return(0,b.jsxs)("a",{href:`/sessions/${a.session_id}`,style:{display:"block",padding:"8px 0",borderBottom:"1px solid var(--af-border-subtle)",fontSize:13,color:"var(--af-text)",textDecoration:"none"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10},children:[(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-tertiary)",width:48},children:c}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",minWidth:110,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),(0,b.jsxs)("span",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"var(--af-text-tertiary)",width:40,textAlign:"right"},children:[d,"m"]}),f&&(0,b.jsx)(g.OutcomePill,{outcome:f,size:"sm",label:"text",agent:a.agent})]}),h&&(0,b.jsx)("div",{style:{marginTop:3,marginLeft:58,fontSize:13,color:"var(--af-text-secondary)",lineHeight:1.45,maxWidth:820},children:h})]})}function s({initial:a,entries:d,date:e,aiEnabled:f}){let[g,h]=(0,c.useState)(a),[i,j]=(0,c.useState)("idle"),[l,m]=(0,c.useState)(""),n=(0,c.useCallback)(async(a=!1)=>{j("streaming"),m("Starting...");let b=`/api/digest/day/${e}${a?"?force=1":""}`,c=await fetch(b,{method:"POST"});if(!c.ok||!c.body){j("error"),m(`Error ${c.status}`);return}let d=c.body.getReader(),f=new TextDecoder,g="";for(;;){let{done:a,value:b}=await d.read();if(a)break;let c=(g+=f.decode(b,{stream:!0})).split("\n\n");for(let a of(g=c.pop()??"",c)){let b=a.split("\n").find(a=>a.startsWith("data: "));if(b)try{let a=JSON.parse(b.slice(6));if("status"===a.type)m(a.text);else if("entry"===a.type)m(`Enriching ${a.index}/${a.total}${a.cost_usd?` \xb7 $${a.cost_usd.toFixed(4)}`:""}...`);else if("progress"===a.type){let b=Math.round(a.elapsed_ms/1e3),c=(a.bytes/1024).toFixed(1);m(`Claude composing… ${a.bytes.toLocaleString()} chars (${c} KB \xb7 ${b}s)`)}else if("digest"===a.type)h(a.digest),m("Rendering...");else if("saved"===a.type)m("Saved.");else if("error"===a.type){j("error"),m(a.message);return}}catch{}}}j("done"),m("")},[e]),o="streaming"===i,p=!!g?.headline,q=(0,c.useMemo)(()=>0!==d.length&&d.every(a=>"skipped_trivial"===a.enrichment.status),[d]),r=0===d.length,t=null;return(r||q||(t=r||q||p?(0,b.jsxs)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",display:"inline-flex",alignItems:"center",gap:6},children:["✓ Up to date",(0,b.jsx)("button",{onClick:()=>n(!0),disabled:o,title:"Re-roll the narrative without re-enriching capsules",style:{padding:"2px 7px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:4,fontSize:10,color:"var(--af-text-secondary)",cursor:o?"default":"pointer",opacity:o?.6:1},children:o?"...":"Re-roll"})]}):(0,b.jsx)("button",{onClick:()=>n(!1),disabled:o,style:{padding:"4px 10px",background:"var(--af-accent)",color:"white",border:"none",borderRadius:5,cursor:o?"default":"pointer",fontSize:11,fontWeight:600,opacity:o?.6:1},children:o?"Generating...":g?"Generate (catch up)":"Generate digest"}),l&&(t=(0,b.jsxs)(b.Fragment,{children:[t,(0,b.jsx)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)"},children:l})]}))),g)?(0,b.jsx)(k,{digest:g,entries:d,aiEnabled:f,actions:t}):(0,b.jsxs)(b.Fragment,{children:[t&&(0,b.jsx)("div",{style:{display:"flex",gap:10,padding:"14px 40px 0",alignItems:"center",flexWrap:"wrap"},children:t}),r?(0,b.jsx)("div",{style:{padding:28,textAlign:"center",color:"var(--af-text-tertiary)",fontSize:13},children:"No entries on this day."}):q?(0,b.jsx)("div",{style:{padding:28,textAlign:"center",color:"var(--af-text-tertiary)",fontSize:13},children:"💤 Warm-up only — every session was under a minute. No narrative needed."}):(0,b.jsx)("div",{style:{padding:28,textAlign:"center",color:"var(--af-text-secondary)",fontSize:13},children:"No digest generated yet — click Generate above."})]})}var t=a.i(38246);a.i(99417);var u=a.i(12544),v=a.i(3444),w=a.i(2405);let x=["rgba(45, 212, 191, 0.75)","rgba(167, 139, 250, 0.75)","rgba(248, 113, 113, 0.75)","rgba(52, 211, 153, 0.75)","rgba(251, 191, 36, 0.75)","rgba(236, 72, 153, 0.75)","rgba(34, 211, 238, 0.75)","rgba(168, 85, 247, 0.75)","rgba(244, 114, 82, 0.75)","rgba(96, 165, 250, 0.75)"];function y(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return x[Math.abs(b)%x.length]}function z(a){return y((0,u.canonicalProjectName)(a.projectName))}function A(a){return a.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim()}function B(a){let b=new Date(a);return`${b.getHours().toString().padStart(2,"0")}:${b.getMinutes().toString().padStart(2,"0")}`}function C({gantt:a,bursts:d=[],sessionEntries:e={}}){let f,[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null),[r,s]=(0,c.useState)(!1),x=(0,c.useRef)(null),F=l??j,G=(0,c.useMemo)(()=>{if(null===F)return null;let a=d[F];return a?new Set(a.sessionIds):null},[F,d]),H=(0,c.useMemo)(()=>{let b=new Map;for(let c of a.sessions){let a=(0,u.canonicalProjectName)(c.projectName),d=b.get(a);d?d.count++:b.set(a,{name:(0,v.prettyProjectName)(a),color:y(a),count:1})}return Array.from(b.values()).sort((a,b)=>b.count-a.count)},[a.sessions]),{rangeStartMs:I,rangeEndMs:J,hourMarks:K}=(0,c.useMemo)(()=>{if(0===a.sessions.length)return{rangeStartMs:a.dayStartMs,rangeEndMs:a.dayEndMs,hourMarks:[]};let b=1/0,c=-1/0;for(let d of a.sessions)for(let a of d.segments)a.startMs<b&&(b=a.startMs),a.endMs>c&&(c=a.endMs);let d=c+18e5,e=new Date(b-18e5);e.setMinutes(0,0,0);let f=new Date(d);f.setMinutes(0,0,0),f.setHours(f.getHours()+1);let g=Math.max(e.getTime(),a.dayStartMs),h=Math.min(f.getTime(),a.dayEndMs),i=[],j=new Date(g);for(j.setMinutes(0,0,0),j.getTime()<g&&j.setHours(j.getHours()+1);j.getTime()<=h;)i.push(j.getTime()),j.setHours(j.getHours()+1);return{rangeStartMs:g,rangeEndMs:h,hourMarks:i}},[a]),L=J-I,M=Math.max(700,Math.ceil(L/36e5*80)),N=33*a.sessions.length+3+8,O=a=>(a-I)/L*M,P="var(--af-surface)",Q=r?d:d.slice(0,3),R=d.length-Q.length;return(0,b.jsxs)(b.Fragment,{children:[d.length>0&&(0,b.jsxs)("div",{className:"af-panel",style:{marginBottom:16},children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Concurrency"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"periods when ≥2 agents were actively working at once"}),(0,b.jsxs)("button",{type:"button",onClick:()=>o(!0),"aria-label":"How concurrency is detected",style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:5,padding:"3px 9px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:100,fontSize:10,color:"var(--af-text-tertiary)",cursor:"pointer",fontWeight:500},children:[(0,b.jsx)("span",{style:{fontSize:11,lineHeight:1},children:"ⓘ"}),"How this is measured"]})]}),(0,b.jsxs)("div",{children:[Q.map((c,d)=>{let e=l===d,f=j===d,g=c.projectDirs.map(b=>{let c=a.sessions.find(a=>a.projectDir===b);return c?(0,v.prettyProjectName)(c.projectName):b}).map(a=>{let b=a.split("/").filter(Boolean);return b.length>2?"…/"+b.slice(-2).join("/"):a});return(0,b.jsxs)("div",{onMouseEnter:()=>k(d),onMouseLeave:()=>k(null),onClick:()=>q(d),style:{display:"grid",gridTemplateColumns:"auto auto auto 1fr auto",gap:14,padding:"10px 18px",fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",cursor:"pointer",background:e||f?"var(--af-surface-hover)":"transparent",alignItems:"center",transition:"background 0.12s"},title:"Open burst detail",children:[(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-secondary)",minWidth:110},children:[B(c.startMs),"–",B(c.endMs)]}),(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",padding:"2px 8px",borderRadius:10,fontFamily:"var(--font-mono)",fontSize:10,fontWeight:700,color:"white",background:c.crossProject?"rgba(167, 139, 250, 0.9)":"rgba(45, 212, 191, 0.9)",minWidth:28,justifyContent:"center"},children:["×",c.peak]}),c.crossProject?(0,b.jsx)("span",{style:{fontSize:9,color:"rgba(167, 139, 250, 1)",textTransform:"uppercase",letterSpacing:"0.04em",fontWeight:600},children:"cross-project"}):(0,b.jsx)("span",{}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:g.join(", "),children:g.join(" · ")}),(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-secondary)",minWidth:60,textAlign:"right"},children:(0,v.formatDuration)(c.endMs-c.startMs)})]},`burst-row-${d}`)}),d.length>3&&(0,b.jsx)("button",{type:"button",onClick:()=>s(a=>!a),style:{width:"100%",padding:"10px 18px",background:"transparent",border:"none",borderTop:"1px solid var(--af-border-subtle)",fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer",fontWeight:500,textAlign:"center"},children:r?"Show fewer (first 3) ↑":`Show all ${d.length} bursts (+${R} more) ↓`})]})]}),(0,b.jsxs)("div",{className:"af-panel",style:{overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"10px 16px",borderBottom:"1px solid var(--af-border-subtle)",fontSize:11,color:"var(--af-text-secondary)",flexWrap:"wrap"},children:[H.map(a=>{let c=a.name.split("/").filter(Boolean),d=c.length>2?"…/"+c.slice(-2).join("/"):a.name;return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,cursor:"default"},title:`${a.name} — ${a.count} session${1===a.count?"":"s"} on this day`,children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:2,background:a.color,flexShrink:0}}),(0,b.jsx)("span",{style:{maxWidth:160,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d}),(0,b.jsxs)("span",{style:{color:"var(--af-text-tertiary)",fontSize:10},children:["(",a.count,")"]})]},a.name)}),(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,marginLeft:8,color:"var(--af-text-tertiary)",cursor:"default"},title:"Idle gap — the session was open but the agent was not actively working (gap > 3 minutes between events)",children:[(0,b.jsx)("span",{style:{width:16,height:8,borderRadius:2,background:"repeating-linear-gradient(45deg, var(--af-surface-hover), var(--af-surface-hover) 2px, var(--af-border-subtle) 2px, var(--af-border-subtle) 4px)",flexShrink:0}}),"idle"]})]}),(0,b.jsxs)("div",{ref:x,style:{overflow:"auto",maxHeight:"calc(100vh - 240px)",position:"relative"},onMouseLeave:()=>i(null),children:[(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:`220px ${M}px`,gridTemplateRows:`50px ${N}px`,width:220+M},children:[(0,b.jsxs)("div",{style:{position:"sticky",top:0,left:0,zIndex:3,background:P,borderBottom:"1px solid var(--af-border-subtle)",borderRight:"1px solid var(--af-border-subtle)",display:"flex",flexDirection:"column"},children:[(0,b.jsx)("div",{style:{height:24,display:"flex",alignItems:"center",justifyContent:"flex-end",padding:"0 10px",fontSize:9,color:"var(--af-text-tertiary)",letterSpacing:"0.04em",textTransform:"uppercase",fontWeight:600},children:d.length>0?"Concurrency":""}),(0,b.jsx)("div",{style:{height:26}})]}),(0,b.jsxs)("div",{style:{position:"sticky",top:0,zIndex:2,background:P,borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("svg",{width:M,height:24,style:{display:"block"},children:d.map((a,c)=>{let d=O(a.startMs),e=O(a.endMs)-d,f=Math.max(e,26),g=e<26?d+e/2-13:d,h=F===c,i=null!==F&&!h,m=a.crossProject?"rgba(167, 139, 250, 0.9)":"rgba(45, 212, 191, 0.9)";return(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:g,y:4,width:f,height:14,fill:m,rx:4,opacity:i?.3:1,stroke:l===c?"var(--af-text)":j===c?"var(--af-text-secondary)":"none",strokeWidth:l===c?1.5:1,style:{cursor:"pointer",transition:"opacity 0.12s"},onMouseEnter:()=>k(c),onMouseLeave:()=>k(null),onClick:()=>q(c),children:(0,b.jsx)("title",{children:`\xd7${a.peak} ${a.crossProject?"cross-project":"same-project"} \xb7 ${B(a.startMs)}–${B(a.endMs)} \xb7 ${(0,v.formatDuration)(a.endMs-a.startMs)} — click for detail`})}),(0,b.jsxs)("text",{x:g+f/2,y:15,textAnchor:"middle",fontSize:9,fontWeight:700,fill:"white",opacity:i?.3:1,style:{pointerEvents:"none"},children:["×",a.peak]})]},`burst-${c}`)})}),(0,b.jsx)("svg",{width:M,height:26,style:{display:"block"},children:K.map(a=>{let c=O(a),d=new Date(a).getHours()%3==0;return(0,b.jsx)("text",{x:c,y:18,textAnchor:"middle",fontSize:10,fill:d?"var(--af-text-secondary)":"var(--af-text-tertiary)",fontWeight:d?600:400,children:B(a)},a)})})]}),(0,b.jsx)("div",{style:{position:"sticky",left:0,zIndex:1,background:P,borderRight:"1px solid var(--af-border-subtle)"},children:(0,b.jsx)("div",{style:{paddingTop:3},children:a.sessions.map((a,c)=>{let d=z(a),e=a.firstUserPreview?A(a.firstUserPreview).slice(0,45):(0,v.prettyProjectName)(a.projectName),f=(0,v.prettyProjectName)(a.projectName),g=null!==G&&!G.has(a.id);return(0,b.jsxs)("div",{style:{height:30,marginBottom:3,display:"flex",alignItems:"center",gap:6,padding:"0 8px 0 6px",background:c%2==1?"var(--af-surface-hover)":"transparent",opacity:g?.3:1,transition:"opacity 0.12s"},children:[(0,b.jsx)("span",{style:{width:6,height:6,borderRadius:2,background:d,flexShrink:0}}),(0,b.jsx)(w.AgentIcon,{agent:a.agent,size:11}),(0,b.jsx)(t.default,{href:`/sessions/${a.id}`,style:{fontSize:10.5,color:"var(--af-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:1.2,textDecoration:"none"},title:`${A(a.firstUserPreview??"")} — ${f}`,children:e})]},`label-${a.id}-${c}`)})})}),(0,b.jsx)("div",{children:(0,b.jsxs)("svg",{width:M,height:N,style:{display:"block"},children:[(0,b.jsx)("defs",{children:(0,b.jsxs)("pattern",{id:"gantt-idle-stripes",patternUnits:"userSpaceOnUse",width:"6",height:"6",patternTransform:"rotate(45)",children:[(0,b.jsx)("rect",{width:"6",height:"6",fill:"var(--af-surface-hover)"}),(0,b.jsx)("line",{x1:"0",y1:"0",x2:"0",y2:"6",stroke:"var(--af-border-subtle)",strokeWidth:"1.5"})]})}),K.map(a=>{let c=O(a),d=new Date(a).getHours()%3==0;return(0,b.jsx)("line",{x1:c,y1:0,x2:c,y2:N,stroke:"var(--af-border-subtle)",strokeWidth:d?.8:.4,strokeDasharray:d?void 0:"2 4"},a)}),a.sessions.map((a,c)=>{let d=33*c+3,e=z(a),f=null!==G&&!G.has(a.id);return(0,b.jsxs)("g",{opacity:f?.25:1,style:{transition:"opacity 0.12s"},children:[c%2==1&&(0,b.jsx)("rect",{x:0,y:d,width:M,height:30,fill:"var(--af-surface-hover)",opacity:.25}),a.segments.map((c,f)=>{let g=O(c.startMs),h=Math.max(O(c.endMs)-g,4);return(0,b.jsx)("rect",{x:g,y:d+5,width:h,height:20,fill:e,rx:3,style:{cursor:"pointer"},onMouseEnter:b=>{let c=b.currentTarget.closest("svg").getBoundingClientRect();i({session:a,x:b.clientX-c.left+220,y:d+30+24+26+4})}},f)}),a.segments.length>1&&a.segments.slice(0,-1).map((c,e)=>{let f=a.segments[e+1],g=O(c.endMs),h=O(f.startMs);return h-g<4?null:(0,b.jsx)("rect",{x:g+1,y:d+7,width:h-g-2,height:16,fill:"url(#gantt-idle-stripes)",rx:2,opacity:.7},`idle-${e}`)}),(0,b.jsxs)("text",{x:Math.min(O(a.endMs)+8,M-100),y:d+15+3.5,fontSize:9,fill:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",children:[(0,v.formatDuration)(a.activeMs)," · ",B(a.startMs),"–",B(a.endMs)]})]},`row-${a.id}-${c}`)})]})})]}),h&&(0,b.jsxs)("div",{style:{position:"absolute",left:Math.max(8,Math.min(h.x,220+M-340)),top:Math.min(h.y,50+N-100),zIndex:50,background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"10px 14px",fontSize:11,color:"var(--af-text)",pointerEvents:"none",boxShadow:"0 4px 12px rgba(0,0,0,0.15)",maxWidth:340,lineHeight:1.45},children:[(f=e[h.session.id])?f.outcome?(0,b.jsx)("div",{style:{marginBottom:6},children:(0,b.jsx)(g.OutcomePill,{outcome:f.outcome,size:"sm",agent:h.session.agent})}):"done"!==f.enrichmentStatus&&"skipped_trivial"!==f.enrichmentStatus?(0,b.jsx)("div",{style:{marginBottom:6},children:(0,b.jsx)(g.OutcomePill,{outcome:null,pending:!0,sessionId:h.session.id,localDay:f.localDay,size:"sm",agent:h.session.agent})}):null:null,(0,b.jsx)("div",{style:{fontWeight:600,marginBottom:4},children:e[h.session.id]?.briefSummary||A(h.session.firstUserPreview??"").slice(0,100)||(0,v.prettyProjectName)(h.session.projectName)}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-secondary)",marginBottom:6,fontFamily:"var(--font-mono)"},children:[(0,v.prettyProjectName)(h.session.projectName),h.session.model&&` \xb7 ${h.session.model}`]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"3px 12px",fontSize:10,color:"var(--af-text-secondary)"},children:[(0,b.jsxs)("span",{children:["Active: ",(0,b.jsx)("strong",{children:(0,v.formatDuration)(h.session.activeMs)})]}),(0,b.jsxs)("span",{children:["Segments: ",h.session.segments.length]}),(0,b.jsxs)("span",{children:["Range: ",B(h.session.startMs),"–",B(h.session.endMs)]}),(0,b.jsxs)("span",{children:["Tokens:"," ",(0,v.formatTokens)(h.session.totalUsage.input+h.session.totalUsage.cacheRead+h.session.totalUsage.cacheWrite),"/",(0,v.formatTokens)(h.session.totalUsage.output)]})]})]})]})]}),n&&(0,b.jsx)(D,{onClose:()=>o(!1)}),null!==p&&d[p]&&(0,b.jsx)(E,{burst:d[p],gantt:a,sessionEntries:e,onClose:()=>q(null),onShowInTimeline:()=>{q(null),null!==p&&(a=>{m(b=>b===a?null:a);let b=d[a],c=x.current;if(!b||!c)return;let e=220+(O(b.startMs)+O(b.endMs))/2-c.clientWidth/2;c.scrollTo({left:Math.max(0,e),behavior:"smooth"})})(p)}})]})}function D({onClose:a}){return(0,c.useEffect)(()=>{let b=b=>{"Escape"===b.key&&a()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a]),(0,b.jsx)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"concurrency-modal-title",onClick:a,style:{position:"fixed",inset:0,zIndex:200,background:"rgba(0, 0, 0, 0.5)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20},children:(0,b.jsxs)("div",{onClick:a=>a.stopPropagation(),style:{background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:12,maxWidth:560,width:"100%",maxHeight:"85vh",overflow:"auto",boxShadow:"0 16px 48px rgba(0, 0, 0, 0.3)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"18px 22px",borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("h2",{id:"concurrency-modal-title",style:{margin:0,fontSize:16,fontWeight:700,letterSpacing:"-0.01em"},children:"How concurrency is measured"}),(0,b.jsx)("button",{type:"button",onClick:a,"aria-label":"Close",style:{background:"transparent",border:"none",color:"var(--af-text-tertiary)",fontSize:22,lineHeight:1,cursor:"pointer",padding:0,width:28,height:28},children:"×"})]}),(0,b.jsxs)("div",{style:{padding:"18px 22px",fontSize:13,color:"var(--af-text-secondary)",lineHeight:1.55},children:[(0,b.jsxs)("p",{style:{margin:"0 0 14px"},children:["A ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"concurrency burst"})," ","is a window of time when two or more Claude Code sessions were actively working in parallel. The goal is to surface moments when you were running a multi-agent fleet — not every accidental tab overlap."]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:'1. What counts as "active"'}),(0,b.jsxs)("p",{style:{margin:"0 0 6px"},children:["Each session's events are split into"," ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"active segments"})," — stretches of time where no gap between consecutive events exceeds"," ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"3 minutes"}),". Any longer gap (walked away, laptop closed, thinking) splits the session into separate segments."]}),(0,b.jsx)("p",{style:{margin:"0 0 6px",fontSize:12,color:"var(--af-text-tertiary)"},children:'This is the same definition used for the "active time" metric on the dashboard, so numbers stay consistent.'}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"2. Detecting overlap"}),(0,b.jsxs)("p",{style:{margin:"0 0 6px"},children:["A sweep-line walks every segment start/end across all sessions. Whenever the active count is ≥2, that stretch becomes a raw overlap. The ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"peak"})," ","reported on each burst is the maximum active count reached anywhere inside it."]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"3. Cleaning up noise"}),(0,b.jsx)("p",{style:{margin:"0 0 6px"},children:"Raw overlaps are noisy — a typical day produces dozens of sub-minute artifacts from switching between sessions. Two rules collapse them into human-readable bursts:"}),(0,b.jsxs)("ul",{style:{margin:"6px 0 0 0",paddingLeft:22},children:[(0,b.jsxs)("li",{style:{marginBottom:4},children:[(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"Drop under 1 minute"})," — overlaps shorter than that are almost always tab-switch artifacts, not real parallel work."]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"Merge within 10 minutes"})," — two overlaps separated by less than 10 minutes of idle time fuse into a single burst. A morning of back-and-forth agent work becomes one burst, not forty."]})]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"4. Same-project vs cross-project"}),(0,b.jsxs)("p",{style:{margin:"0 0 6px"},children:["Bursts are colored by whether the involved sessions span more than one project directory."," ",(0,b.jsx)("span",{style:{color:"rgba(167, 139, 250, 1)",fontWeight:600},children:"Purple = cross-project"})," ","— different repos running at once, usually genuine fleet work."," ",(0,b.jsx)("span",{style:{color:"rgba(45, 212, 191, 1)",fontWeight:600},children:"Teal = same-project"})," ","— multiple sessions in one repo, usually context-switching inside a single task."]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"Why bursts, not runs"}),(0,b.jsx)("p",{style:{margin:"0 0 6px"},children:'An earlier version reported every raw overlap as a separate "parallel run". On a busy day that produced 40–80 entries, most of them seconds long, most of them meaningless. Bursts are the unit humans actually think in: "this morning I was running 3 agents at once for about 20 minutes."'})]})]})})}function E({burst:a,gantt:d,sessionEntries:e,onClose:f,onShowInTimeline:h}){(0,c.useEffect)(()=>{let a=a=>{"Escape"===a.key&&f()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[f]);let[i,j]=(0,c.useState)(null),k=(0,c.useRef)(new Map),l=(0,c.useMemo)(()=>{let a=new Map;for(let b of d.sessions)a.set(b.id,b);return a},[d]),m=a.sessionIds.map(a=>l.get(a)).filter(a=>!!a);m.sort((a,b)=>a.startMs-b.startMs);let n=a=>{j(a);let b=k.current.get(a);b&&b.scrollIntoView({behavior:"smooth",block:"center"})},o=Math.min(a.startMs,...m.map(a=>a.startMs)),p=Math.max(a.endMs,...m.map(a=>a.endMs)),q=o-9e5,r=p+9e5,s=r-q,u=22+(25*m.length-3)+6,w=a=>(a-q)/s*510,x=[];{let a=new Date(q);for(a.setMinutes(0,0,0),a.getTime()<q&&a.setHours(a.getHours()+1);a.getTime()<=r;)x.push(a.getTime()),a.setHours(a.getHours()+1)}let y=w(a.startMs),C=w(a.endMs),D=a.endMs-a.startMs;return(0,b.jsx)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"burst-detail-title",onClick:f,style:{position:"fixed",inset:0,zIndex:200,background:"rgba(0, 0, 0, 0.55)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20},children:(0,b.jsxs)("div",{onClick:a=>a.stopPropagation(),style:{background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:12,width:"min(720px, 100%)",maxHeight:"90vh",display:"flex",flexDirection:"column",boxShadow:"0 20px 60px rgba(0, 0, 0, 0.4)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"16px 22px",borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:4},children:[(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",padding:"3px 10px",borderRadius:10,fontFamily:"var(--font-mono)",fontSize:11,fontWeight:700,color:"white",background:a.crossProject?"rgba(167, 139, 250, 0.95)":"rgba(45, 212, 191, 0.95)"},children:["×",a.peak," peak"]}),a.crossProject&&(0,b.jsx)("span",{style:{fontSize:9,color:"rgba(167, 139, 250, 1)",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:700},children:"cross-project"})]}),(0,b.jsxs)("h2",{id:"burst-detail-title",style:{margin:0,fontSize:16,fontWeight:700,letterSpacing:"-0.01em",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)"},children:[B(a.startMs),"–",B(a.endMs)]}),(0,b.jsx)("span",{style:{fontSize:12,fontWeight:400,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:(0,v.formatDuration)(D)}),(0,b.jsxs)("span",{style:{fontSize:12,fontWeight:400,color:"var(--af-text-tertiary)"},children:["· ",m.length," session",1===m.length?"":"s"]})]})]}),(0,b.jsx)("button",{type:"button",onClick:h,style:{padding:"6px 12px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer",fontWeight:500,whiteSpace:"nowrap"},title:"Pin this burst on the main timeline and close",children:"Show in timeline →"}),(0,b.jsx)("button",{type:"button",onClick:f,"aria-label":"Close",style:{background:"transparent",border:"none",color:"var(--af-text-tertiary)",fontSize:24,lineHeight:1,cursor:"pointer",padding:0,width:28,height:28},children:"×"})]}),(0,b.jsxs)("div",{style:{overflow:"auto",padding:"18px 22px"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:8,fontWeight:600},children:"Timeline (shaded = burst window)"}),(0,b.jsx)("div",{style:{background:"var(--af-surface)",border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"8px 10px",overflow:"auto"},children:(0,b.jsxs)("svg",{width:534,height:u,style:{display:"block"},children:[m.map((a,c)=>{let d=22+25*c+11,e=z(a),f=i===a.id;return(0,b.jsxs)("g",{onClick:()=>n(a.id),style:{cursor:"pointer"},children:[(0,b.jsx)("title",{children:`Track ${c+1} — click to focus in list below`}),(0,b.jsx)("circle",{cx:12,cy:d,r:9,fill:f?e:"var(--af-surface-elevated)",stroke:e,strokeWidth:f?2:1.5}),(0,b.jsx)("text",{x:12,y:d+3.5,textAnchor:"middle",fontSize:10,fontWeight:700,fill:f?"#fff":"var(--af-text)",style:{pointerEvents:"none"},children:c+1})]},`num-${a.id}`)}),(0,b.jsxs)("g",{transform:"translate(24, 0)",children:[(0,b.jsx)("rect",{x:y,y:0,width:Math.max(C-y,2),height:u,fill:a.crossProject?"rgba(167, 139, 250, 0.14)":"rgba(45, 212, 191, 0.14)"}),(0,b.jsx)("line",{x1:y,x2:y,y1:0,y2:u,stroke:a.crossProject?"rgba(167, 139, 250, 0.7)":"rgba(45, 212, 191, 0.7)",strokeWidth:1,strokeDasharray:"3 2"}),(0,b.jsx)("line",{x1:C,x2:C,y1:0,y2:u,stroke:a.crossProject?"rgba(167, 139, 250, 0.7)":"rgba(45, 212, 191, 0.7)",strokeWidth:1,strokeDasharray:"3 2"}),x.map(a=>{let c=w(a);return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:c,x2:c,y1:22,y2:u,stroke:"var(--af-border-subtle)",strokeWidth:.5,strokeDasharray:"2 3"}),(0,b.jsx)("text",{x:c,y:16,textAnchor:"middle",fontSize:9,fill:"var(--af-text-tertiary)",children:B(a)})]},`mini-hm-${a}`)}),m.map((a,c)=>{let d=22+25*c,e=z(a),f=i===a.id;return(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:0,y:d,width:510,height:22,fill:f?"rgba(255,255,255,0.05)":"transparent",onClick:()=>n(a.id),style:{cursor:"pointer"}}),a.segments.map((a,c)=>{let g=w(a.startMs),h=Math.max(w(a.endMs)-g,2);return(0,b.jsx)("rect",{x:g,y:d+3,width:h,height:16,fill:e,rx:2,stroke:f?"var(--af-text)":"none",strokeWidth:+!!f,style:{pointerEvents:"none"}},`mini-seg-${c}`)})]},`mini-row-${a.id}`)})]})]})}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",margin:"18px 0 8px",fontWeight:600},children:"Sessions in this burst"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:m.map((c,d)=>{let f,h,j,l=z(c),m=(b=>{let c=0;for(let d of b.segments){let b=Math.max(d.startMs,a.startMs),e=Math.min(d.endMs,a.endMs);e>b&&(c+=e-b)}return c})(c),n=D>0?Math.round(m/D*100):0,o=i===c.id;return(0,b.jsx)(t.default,{href:`/sessions/${c.id}`,ref:a=>{a?k.current.set(c.id,a):k.current.delete(c.id)},style:{display:"block",padding:"11px 14px",background:o?"var(--af-surface-hover)":"var(--af-surface)",border:o?"1px solid var(--af-text-tertiary)":"1px solid var(--af-border-subtle)",borderLeft:`3px solid ${l}`,borderRadius:8,textDecoration:"none",color:"var(--af-text)",fontSize:12,lineHeight:1.45,transition:"background 0.15s, border-color 0.15s",boxShadow:o?`0 0 0 2px ${l}`:"none"},children:(0,b.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:10},children:[(0,b.jsx)("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,borderRadius:"50%",background:o?l:"transparent",border:`1.5px solid ${l}`,color:o?"#fff":"var(--af-text)",fontSize:10,fontWeight:700,flexShrink:0,marginTop:2},"aria-label":`Track ${d+1}`,children:d+1}),(0,b.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginBottom:3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:(0,v.prettyProjectName)(c.projectName),children:(h=(f=(0,v.prettyProjectName)(c.projectName)).split("/").filter(Boolean)).length>2?"…/"+h.slice(-2).join("/"):f}),(0,b.jsx)("div",{style:{fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:A(c.firstUserPreview??""),children:A(c.firstUserPreview??"")||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),c.lastAgentPreview&&(0,b.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-secondary)",marginTop:3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontStyle:"italic"},title:A(c.lastAgentPreview),children:["↳ ",A(c.lastAgentPreview)]})]}),(0,b.jsxs)("div",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"var(--af-text-tertiary)",textAlign:"right",whiteSpace:"nowrap",flexShrink:0,display:"flex",flexDirection:"column",alignItems:"flex-end",gap:4},children:[(j=e[c.id],j?.outcome?(0,b.jsx)(g.OutcomePill,{outcome:j.outcome,size:"sm",label:"text",agent:c.agent}):null),(0,b.jsxs)("div",{style:{color:"var(--af-text-secondary)"},children:[(0,v.formatDuration)(m)," ",(0,b.jsxs)("span",{style:{opacity:.6},children:["(",n,"%)"]})]}),(0,b.jsx)("div",{style:{fontSize:9,marginTop:2},children:"in burst"})]})]})},`burst-session-${c.id}`)})})]})]})})}function F({open:a,onClose:d,rows:e,aiEnabled:f}){let[g,h]=(0,c.useState)(new Set),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(!a)return;let b=a=>{"Escape"===a.key&&d()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,d]);let m=async()=>{if(0===g.size)return;j(!0);let a=Array.from(g).sort().reverse();try{for(let b of a){let a=`/api/digest/day/${b}${k?"?force=1":""}`,c=await fetch(a,{method:"POST"});if(c.body){let a=c.body.getReader();for(;!(await a.read()).done;);}}}finally{j(!1),h(new Set)}};return a?(0,b.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.4)",zIndex:200,display:"flex",justifyContent:"flex-end"},onClick:d,children:(0,b.jsxs)("div",{onClick:a=>a.stopPropagation(),style:{width:"min(440px, 100%)",height:"100%",background:"var(--af-surface-elevated)",borderLeft:"1px solid var(--af-border-subtle)",display:"flex",flexDirection:"column",boxShadow:"-12px 0 32px rgba(0,0,0,0.25)"},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 18px",borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{style:{fontSize:15,fontWeight:700,margin:0},children:"Backfill digests"}),(0,b.jsx)("p",{style:{fontSize:11,color:"var(--af-text-tertiary)",margin:"2px 0 0"},children:"Each selected day enqueues a job. You can close this drawer."})]}),(0,b.jsx)("button",{type:"button",onClick:d,"aria-label":"Close",style:{background:"transparent",border:"none",color:"var(--af-text-tertiary)",fontSize:22,cursor:"pointer"},children:"×"})]}),!f&&(0,b.jsx)("div",{style:{padding:12,margin:18,background:"rgba(237,137,54,0.1)",borderRadius:6,fontSize:12,color:"var(--af-text)"},children:"AI features are off — only deterministic digests will be written. Enable AI in Settings to generate narratives."}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,padding:"10px 18px",borderBottom:"1px solid var(--af-border-subtle)",flexWrap:"wrap",fontSize:11},children:[(0,b.jsx)(G,{onClick:()=>h(new Set(e.filter(a=>"pending"===a.status).map(a=>a.date))),children:"Select pending"}),(0,b.jsx)(G,{onClick:()=>h(new Set(e.filter(a=>"empty"!==a.status).map(a=>a.date))),children:"Select all with entries"}),(0,b.jsx)(G,{onClick:()=>h(new Set),children:"Clear"}),(0,b.jsxs)("label",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:4,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer"},children:[(0,b.jsx)("input",{type:"checkbox",checked:k,onChange:a=>l(a.target.checked)}),"force regen"]})]}),(0,b.jsx)("div",{style:{flex:1,overflowY:"auto"},children:e.map(a=>(0,b.jsxs)("label",{style:{display:"grid",gridTemplateColumns:"auto 110px 80px 1fr",gap:10,alignItems:"center",padding:"8px 18px",borderBottom:"1px solid var(--af-border-subtle)",fontSize:12,cursor:"empty"===a.status?"default":"pointer",opacity:"empty"===a.status?.5:1},children:[(0,b.jsx)("input",{type:"checkbox",disabled:"empty"===a.status,checked:g.has(a.date),onChange:()=>{var b;return b=a.date,void h(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})}}),(0,b.jsx)("span",{children:a.day_label}),(0,b.jsx)("span",{style:{fontSize:10,color:"generated"===a.status?"#48bb78":"pending"===a.status?"#ed8936":"var(--af-text-tertiary)"},children:"generated"===a.status?"✓ ready":"pending"===a.status?"• pending":"—"}),(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"var(--af-text-tertiary)",textAlign:"right"},children:[a.entry_count>0?`${a.entry_count} sess`:"",a.pr_count>0?` \xb7 ${a.pr_count} PR`:""]})]},a.date))}),(0,b.jsxs)("footer",{style:{padding:"12px 18px",borderTop:"1px solid var(--af-border-subtle)",display:"flex",gap:10,alignItems:"center"},children:[(0,b.jsxs)("span",{style:{fontSize:12,color:"var(--af-text-secondary)",flex:1},children:[g.size," day",1===g.size?"":"s"," selected"]}),(0,b.jsx)("button",{type:"button",onClick:d,style:{padding:"6px 12px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:12,cursor:"pointer"},children:"Cancel"}),(0,b.jsx)("button",{type:"button",onClick:m,disabled:i||0===g.size,style:{padding:"6px 14px",background:"var(--af-accent)",color:"white",border:"none",borderRadius:6,fontSize:12,fontWeight:600,cursor:i||0===g.size?"default":"pointer",opacity:i||0===g.size?.6:1},children:i?`Enqueueing… (${g.size})`:`Generate ${g.size}`})]})]})}):null}function G({onClick:a,children:c}){return(0,b.jsx)("button",{type:"button",onClick:a,style:{padding:"3px 10px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:5,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer"},children:c})}var H=a.i(50944);function I(a){if(a<6e4)return`${Math.round(a/1e3)}s`;let b=Math.round(a/6e4);if(b<60)return`${b}m`;let c=Math.floor(b/60),d=b%60;return d?`${c}h ${d}m`:`${c}h`}function J({date:a,today:d,prevDay:e,nextDay:f,dayStats:g,hrefForDate:h=a=>`/day/${a}`}){let i,j,k,l,m,n,o=(0,H.useRouter)(),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useMemo)(()=>{let[b,c]=a.split("-").map(Number);return[b,c]},[a]),[u,v]=(0,c.useState)(r),[w,x]=(0,c.useState)(s),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(null),C=(0,c.useMemo)(()=>{let a=new Map;for(let b of g)a.set(b.date,b);return a},[g]),D=(0,c.useMemo)(()=>{let a=new Date(u,w-1,1).getDay(),b=new Date(u,w,0).getDate(),c=[];for(let b=0;b<a;b++)c.push(null);for(let a=1;a<=b;a++){let b=String(w).padStart(2,"0"),d=String(a).padStart(2,"0");c.push(`${u}-${b}-${d}`)}return c},[u,w]),E=(0,c.useMemo)(()=>{let a=0;for(let b of g)b.airTimeMs>a&&(a=b.airTimeMs);return a},[g]),F=new Date(u,w-1).toLocaleString(void 0,{month:"long",year:"numeric"}),G=a=>{let b=w+a,c=u;b<1&&(b=12,c--),b>12&&(b=1,c++),x(b),v(c)};return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",position:"relative"},children:[e?(0,b.jsx)(t.default,{href:h(e),style:{padding:"5px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)"},children:"←"}):(0,b.jsx)("span",{style:{padding:"5px 10px",opacity:.3,fontSize:11,color:"var(--af-text-tertiary)"},children:"←"}),(0,b.jsx)("button",{type:"button",onClick:()=>{v(r),x(s),q(a=>!a)},style:{padding:"5px 12px",fontSize:12,fontFamily:"var(--font-mono)",border:"1px solid var(--af-border-subtle)",borderRadius:6,background:p?"var(--af-accent-subtle)":"transparent",color:p?"var(--af-accent)":"var(--af-text)",cursor:"pointer",fontWeight:500,minWidth:120,textAlign:"center"},children:a}),f?(0,b.jsx)(t.default,{href:h(f),style:{padding:"5px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)"},children:"→"}):(0,b.jsx)("span",{style:{padding:"5px 10px",opacity:.3,fontSize:11,color:"var(--af-text-tertiary)"},children:"→"}),(0,b.jsx)(t.default,{href:h(d),style:{padding:"5px 12px",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:a===d?"var(--af-accent)":"var(--af-text-secondary)",background:a===d?"var(--af-accent-subtle)":"transparent",fontWeight:500},children:"Today"}),p&&(0,b.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 8px)",left:0,zIndex:60,background:"var(--af-surface)",border:"1px solid var(--af-border-subtle)",borderRadius:10,padding:"12px 14px",boxShadow:"0 8px 28px rgba(0,0,0,0.18)",minWidth:300},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:10},children:[(0,b.jsx)("button",{type:"button",onClick:()=>G(-1),style:{background:"transparent",border:"none",cursor:"pointer",color:"var(--af-text-secondary)",fontSize:14,padding:"2px 8px",borderRadius:4},children:"‹"}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--af-text)"},children:F}),(0,b.jsx)("button",{type:"button",onClick:()=>G(1),style:{background:"transparent",border:"none",cursor:"pointer",color:"var(--af-text-secondary)",fontSize:14,padding:"2px 8px",borderRadius:4},children:"›"})]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:2,marginBottom:4},children:["Su","Mo","Tu","We","Th","Fr","Sa"].map(a=>(0,b.jsx)("div",{style:{textAlign:"center",fontSize:9,color:"var(--af-text-tertiary)",fontWeight:600,padding:"2px 0"},children:a},a))}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:2},children:D.map((c,e)=>{if(!c)return(0,b.jsx)("div",{},`blank-${e}`);let f=C.get(c),g=f?.airTimeMs??0,i=f?.burstCount??0,j=c===a,k=c===d,l=c>d,m=g>0&&E>0?Math.min(1,g/E):0,n=parseInt(c.split("-")[2],10);return(0,b.jsxs)("button",{type:"button",onClick:()=>{q(!1),o.push(h(c))},disabled:l,onMouseEnter:a=>{if(l)return;let b=a.currentTarget.getBoundingClientRect(),d=a.currentTarget.offsetParent?.getBoundingClientRect()??b;z(c),B({x:b.left-d.left+b.width/2,y:b.bottom-d.top+6})},onMouseLeave:()=>{z(null),B(null)},style:{position:"relative",width:40,height:40,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:1,border:j?"2px solid var(--af-accent)":k?"1px solid var(--af-text-tertiary)":"1px solid transparent",borderRadius:6,background:m>0?`rgba(45, 212, 191, ${.08+.35*m})`:"transparent",color:l?"var(--af-text-tertiary)":j?"var(--af-accent)":"var(--af-text)",cursor:l?"not-allowed":"pointer",fontSize:11,fontWeight:j?700:400,fontFamily:"var(--font-mono)",padding:0,opacity:l?.4:1},children:[(0,b.jsx)("span",{style:{lineHeight:1},children:n}),g>0&&(0,b.jsx)("span",{style:{fontSize:8,color:j?"var(--af-accent)":"var(--af-text-tertiary)",lineHeight:1,fontWeight:600,marginTop:2},children:I(g)}),i>0&&(0,b.jsx)("span",{style:{position:"absolute",top:3,right:3,width:5,height:5,borderRadius:"50%",background:"rgba(167, 139, 250, 0.95)",boxShadow:"0 0 0 1px var(--af-surface)"}})]},c)})}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10,marginTop:10,paddingTop:8,borderTop:"1px solid var(--af-border-subtle)",fontSize:9,color:"var(--af-text-tertiary)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[(0,b.jsx)("span",{children:"less"}),(0,b.jsx)("div",{style:{display:"flex",gap:2},children:[0,.15,.3,.5,.8].map((a,c)=>(0,b.jsx)("span",{style:{width:10,height:10,borderRadius:2,background:0===a?"var(--af-border-subtle)":`rgba(45, 212, 191, ${.08+.35*a})`}},c))}),(0,b.jsx)("span",{children:"more active"})]}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},title:"Days with at least one concurrency burst",children:[(0,b.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",background:"rgba(167, 139, 250, 0.95)"}}),"parallel"]})]}),y&&A&&(i=C.get(y),j=i?.sessions??0,k=i?.airTimeMs??0,l=i?.parallelMs??0,m=i?.burstCount??0,n=i?.peakConcurrency??0,(0,b.jsxs)("div",{style:{position:"absolute",left:Math.max(10,Math.min(A.x-110,290)),top:A.y,width:220,pointerEvents:"none",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"9px 12px",boxShadow:"0 6px 22px rgba(0,0,0,0.22)",fontSize:11,color:"var(--af-text)",zIndex:65,lineHeight:1.5},children:[(0,b.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontWeight:700,fontSize:11,marginBottom:4},children:y}),0===j&&0===k&&0===l?(0,b.jsx)("div",{style:{color:"var(--af-text-tertiary)",fontSize:10},children:"no activity"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(K,{label:"sessions",value:String(j)}),(0,b.jsx)(K,{label:"active time",value:k>0?I(k):"—"}),l>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:{marginTop:4,paddingTop:4,borderTop:"1px dashed var(--af-border-subtle)"}}),(0,b.jsx)(K,{label:"parallel time",value:I(l)}),(0,b.jsx)(K,{label:"peak concurrency",value:`\xd7${n}`,accent:!0}),(0,b.jsx)(K,{label:"bursts",value:String(m)})]})]})]}))]})]})}function K({label:a,value:c,accent:d}){return(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",color:"var(--af-text-secondary)",fontSize:10},children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)("strong",{style:{color:d?"rgba(167, 139, 250, 1)":"var(--af-text)"},children:c})]})}function L({label:a,defaultOpen:f=!0,children:g}){let[h,i]=(0,c.useState)(f);return(0,b.jsxs)("div",{style:{borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsxs)("button",{type:"button",onClick:()=>i(a=>!a),style:{width:"100%",padding:"12px 40px",background:"transparent",border:"none",textAlign:"left",display:"flex",alignItems:"center",gap:8,cursor:"pointer",fontSize:11,fontWeight:700,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.08em"},children:[h?(0,b.jsx)(d.ChevronDown,{size:13}):(0,b.jsx)(e.ChevronRight,{size:13}),a]}),h&&(0,b.jsx)("div",{children:g})]})}a.s(["DayView",0,function({date:a,today:d,prev:e,next:g,initial:h,entries:i,aiEnabled:j,gantt:k,bursts:l,sessionEntries:m,backfillRows:n,dayStats:o}){let[p,q]=(0,c.useState)(!1),r=i.length>0&&i.every(a=>"skipped_trivial"===a.enrichment.status),t=i.length>0&&!r,u=k.sessions.length>0,v=new Date(`${a}T12:00:00`).toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"}),w=n.filter(a=>"pending"===a.status).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("nav",{style:{padding:"14px 40px",display:"flex",gap:12,fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",alignItems:"center",flexWrap:"wrap"},children:[(0,b.jsx)(J,{date:a,today:d,prevDay:e,nextDay:g??void 0,dayStats:o}),(0,b.jsxs)("button",{type:"button",onClick:()=>q(!0),style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:5,padding:"5px 10px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer"},title:"Open the backfill multi-select drawer",children:[(0,b.jsx)(f,{size:12}),"Backfill digests",w>0&&(0,b.jsx)("span",{style:{fontSize:10,color:"#ed8936",fontWeight:700},children:w})]})]}),t||u?(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[t&&(0,b.jsx)(L,{label:"Narrative",defaultOpen:!0,children:(0,b.jsx)(s,{initial:h,entries:i,date:a,aiEnabled:j})}),u&&(0,b.jsx)(L,{label:"Timeline & concurrency",defaultOpen:!0,children:(0,b.jsx)("div",{style:{padding:"8px 40px 40px"},children:(0,b.jsx)(C,{gantt:k,bursts:l,sessionEntries:m})})})]}):(0,b.jsxs)("div",{style:{padding:"60px 40px",textAlign:"center",color:"var(--af-text-secondary)"},children:[(0,b.jsx)("div",{style:{fontSize:14,marginBottom:6},children:v}),(0,b.jsx)("div",{style:{fontSize:13,color:"var(--af-text-tertiary)"},children:"No Claude Code activity on this day."})]}),(0,b.jsx)(F,{open:p,onClose:()=>q(!1),rows:n,aiEnabled:j})]})}],94561)}];
1
+ module.exports=[94561,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(5784),e=a.i(50522);let f=(0,a.i(70106).default)("Layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);var g=a.i(44220),h=a.i(68381);let i={"spec-review-loop":"Spec-review loop","chunk-implementation":"Chunk implementation","research-then-build":"Research-then-build","reviewer-triad":"Reviewer triad","background-coordinated":"Background-coordinated","solo-continuation":"Solo continuation","solo-design":"Solo design","solo-build":"Solo build",mixed:"Mixed"},j={teammate:"<teammate-message>","task-notification":"<task-notification>","local-command-caveat":"<local-command-caveat>","image-attached":"[Image #N]","slash-command":"/command","handoff-prose":"Handoff prose"};function k({digest:a,entries:f,aiEnabled:i,actions:j}){let[p,q]=(0,c.useState)(!1),s=new Date(`${a.key}T12:00:00`).toLocaleDateString("en-US",{weekday:"long",month:"short",day:"numeric",year:"numeric"}),t=a.agent_min/60,u=t>=1?`${t.toFixed(1)}h`:`${Math.round(a.agent_min)}m`,v=[...f].sort((a,b)=>Date.parse(b.start_iso)-Date.parse(a.start_iso));return(0,b.jsxs)("div",{style:{maxWidth:980,margin:"0 auto",padding:"24px 40px"},children:[(0,b.jsxs)("header",{style:{marginBottom:28},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:8,fontSize:12,color:"var(--af-text-tertiary)",fontWeight:500,flexWrap:"wrap"},children:[(0,b.jsx)("span",{children:s}),(0,b.jsx)(g.OutcomePill,{outcome:a.outcome_day,size:"lg"}),(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)"},children:"·"}),(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)",color:"var(--af-text-secondary)"},children:[u," agent time · ",a.projects.length," project",1===a.projects.length?"":"s"," · ",a.shipped.length," PR",1===a.shipped.length?"":"s"," shipped",a.concurrency_peak>1&&` \xb7 peak concurrency \xd7${a.concurrency_peak}`]}),j&&(0,b.jsx)("div",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:8},children:j})]}),a.headline?(0,b.jsx)("h1",{style:{fontSize:26,fontWeight:700,lineHeight:1.3,letterSpacing:"-0.02em",margin:"0 0 8px",maxWidth:820,color:"var(--af-text)"},children:a.headline}):(0,b.jsx)("h1",{style:{fontSize:20,color:"var(--af-text-secondary)",margin:"0 0 14px"},children:i?"No narrative yet — click Regenerate.":`Worked ${u} across ${a.projects.length} project${1===a.projects.length?"":"s"}.`}),a.day_signature&&(0,b.jsx)("p",{style:{margin:"0 0 14px",fontSize:14,fontStyle:"italic",color:"var(--af-text-secondary)",maxWidth:820,lineHeight:1.5},children:a.day_signature})]}),!i&&(0,b.jsxs)("div",{style:{padding:14,marginBottom:24,background:"var(--af-accent-subtle)",borderRadius:8,fontSize:13,color:"var(--af-text)"},children:["Enable AI features in ",(0,b.jsx)("a",{href:"/settings",style:{color:"var(--af-accent)"},children:"Settings"})," to see daily narratives."]}),a.day_signals&&(0,b.jsx)(o,{signals:a.day_signals}),(a.what_went_well||a.what_hit_friction)&&(0,b.jsxs)("section",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:24,marginBottom:28},children:[(0,b.jsx)(m,{glyph:"✓",color:"#48bb78",text:a.what_went_well,emptyLabel:"(smooth)"}),(0,b.jsx)(m,{glyph:"⚠",color:"#ed8936",text:a.what_hit_friction,emptyLabel:"(no friction)"})]}),a.narrative&&(0,b.jsx)("section",{style:{marginBottom:28,padding:"4px 0",fontSize:15,lineHeight:1.6,color:"var(--af-text)",maxWidth:760},children:a.narrative}),(0,b.jsx)("div",{style:{marginBottom:18},children:(0,b.jsxs)("button",{type:"button",onClick:()=>q(a=>!a),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 10px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer"},children:[p?(0,b.jsx)(d.ChevronDown,{size:12}):(0,b.jsx)(e.ChevronRight,{size:12}),p?"Hide details":"Show more details"]})}),p&&(0,b.jsxs)(b.Fragment,{children:[a.suggestion&&(0,b.jsxs)("section",{style:{borderLeft:"3px solid var(--af-accent)",paddingLeft:16,marginBottom:32},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.06em",fontWeight:600,marginBottom:6},children:"Tomorrow"}),(0,b.jsx)("div",{style:{fontSize:15,fontWeight:600,marginBottom:4,color:"var(--af-text)"},children:a.suggestion.headline}),(0,b.jsx)("div",{style:{fontSize:13,color:"var(--af-text-secondary)",lineHeight:1.5,maxWidth:760},children:a.suggestion.body})]}),a.projects.length>0&&(0,b.jsxs)("section",{style:{marginBottom:32},children:[(0,b.jsx)(l,{children:"Work breakdown"}),(0,b.jsx)("div",{style:{display:"grid",gap:6},children:a.projects.map(c=>{let d=a.shipped.filter(a=>a.project===c.display_name);return(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"140px 1fr 56px 72px",gap:12,alignItems:"center",padding:"6px 0",borderBottom:"1px solid var(--af-border-subtle)",fontSize:13},children:[(0,b.jsx)("span",{title:c.name,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.display_name}),(0,b.jsx)(n,{pct:c.share_pct}),(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-tertiary)",textAlign:"right"},children:[c.share_pct.toFixed(0),"%"]}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",textAlign:"right"},children:d.length>0?`${d.length} PR${1===d.length?"":"s"}`:"—"})]},c.name)})})]}),a.shipped.length>0&&(0,b.jsxs)("section",{style:{marginBottom:32},children:[(0,b.jsx)(l,{children:"Shipped"}),(0,b.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:a.shipped.map((a,c)=>(0,b.jsxs)("li",{style:{padding:"6px 0",fontSize:13,borderBottom:"1px solid var(--af-border-subtle)",display:"flex",gap:10,alignItems:"baseline"},children:[(0,b.jsx)("span",{style:{color:"#48bb78",fontSize:12},children:"✓"}),(0,b.jsx)("span",{style:{flex:1},children:a.title}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)"},children:a.project})]},c))})]}),v.length>0&&(0,b.jsxs)("section",{style:{marginBottom:32},children:[(0,b.jsxs)(l,{children:["Sessions · ",v.length]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:v.map(a=>(0,b.jsx)(r,{entry:a},a.session_id))})]}),a.top_goal_categories.length>0&&(0,b.jsxs)("section",{style:{marginTop:40,paddingTop:20,borderTop:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",marginBottom:6},children:"Goal mix"}),(0,b.jsx)(h.GoalBar,{goals:a.top_goal_categories,total:a.agent_min})]})]})]})}function l({children:a}){return(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.08em",fontWeight:600,marginBottom:10},children:a})}function m({glyph:a,color:c,text:d,emptyLabel:e}){return(0,b.jsxs)("div",{style:{fontSize:14,lineHeight:1.55,display:"flex",gap:8,alignItems:"flex-start"},children:[(0,b.jsx)("span",{style:{fontSize:16,color:c,lineHeight:1.4,flexShrink:0},children:a}),d?(0,b.jsx)("span",{style:{color:"var(--af-text)"},children:d}):(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)",fontStyle:"italic"},children:e})]})}function n({pct:a}){return(0,b.jsx)("div",{style:{height:6,background:"var(--af-border-subtle)",borderRadius:99,overflow:"hidden"},children:(0,b.jsx)("div",{style:{width:`${Math.min(100,Math.max(0,a))}%`,height:"100%",background:"var(--af-accent)",transition:"width 0.2s"}})})}function o({signals:a}){let c=null!==a.dominant_shape,d=Object.keys(a.shape_distribution).length>0,e=a.user_authored_subagents_used.length>0||Object.keys(a.shape_distribution).length>0,f=a.skills_loaded.filter(a=>"stock"===a.origin),g=a.skills_loaded.filter(a=>"user"===a.origin),h=a.prompt_frames.filter(a=>"claude-feature"===a.origin),k=a.prompt_frames.filter(a=>"personal-habit"===a.origin),l=a.comm_style,m=l.verbosity_distribution.short+l.verbosity_distribution.medium+l.verbosity_distribution.long+l.verbosity_distribution.very_long,n=l.steering.interrupts+l.steering.frustrated+l.steering.dissatisfied;return c||d||0!==f.length||0!==g.length||0!==a.user_authored_subagents_used.length||0!==h.length||0!==k.length||0!==m||0!==l.external_refs.length||0!==n||0!==a.brainstorm_warmup_session_count||0!==a.todo_ops_total||a.plan_mode_used?(0,b.jsxs)("section",{style:{marginBottom:28,padding:"14px 16px",borderRadius:8,background:"var(--af-surface)",border:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.08em",fontWeight:600,marginBottom:10},children:"How today worked"}),c&&(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8},children:[(0,b.jsx)("span",{style:{display:"inline-flex",alignItems:"center",padding:"3px 10px",borderRadius:999,fontSize:12,fontWeight:600,background:"var(--af-accent-subtle)",color:"var(--af-accent)"},children:i[a.dominant_shape]??a.dominant_shape}),d&&(0,b.jsx)("span",{style:{fontSize:12,color:"var(--af-text-secondary)",fontFamily:"var(--font-mono)"},children:Object.entries(a.shape_distribution).sort((a,b)=>b[1]-a[1]).map(([a,b])=>`${b} ${a}`).join(" · ")})]}),e&&a.user_authored_subagents_used.length>0&&(0,b.jsx)(p,{label:"Your subagents",children:a.user_authored_subagents_used.slice(0,4).map(a=>(0,b.jsxs)(q,{title:a.sample_prompt_preview,children:[a.type,a.count>1?` \xd7${a.count}`:""]},a.type))}),(f.length>0||g.length>0)&&(0,b.jsxs)(p,{label:"Skills loaded",children:[g.slice(0,4).map(a=>(0,b.jsxs)(q,{tone:"user",children:[a.skill,a.count>1?` \xd7${a.count}`:""]},a.skill)),f.slice(0,4).map(a=>(0,b.jsxs)(q,{tone:"stock",children:[a.skill,a.count>1?` \xd7${a.count}`:""]},a.skill))]}),(h.length>0||k.length>0)&&(0,b.jsxs)(p,{label:"Prompt frames",children:[k.map(a=>(0,b.jsxs)(q,{tone:"user",children:[j[a.frame]??a.frame,a.count>1?` \xd7${a.count}`:""]},a.frame)),h.map(a=>(0,b.jsxs)(q,{tone:"stock",children:[j[a.frame]??a.frame,a.count>1?` \xd7${a.count}`:""]},a.frame))]}),(m>0||l.external_refs.length>0||n>0)&&(0,b.jsxs)(p,{label:"Comm style",children:[m>0&&(0,b.jsx)("span",{style:{fontSize:12,color:"var(--af-text-secondary)",fontFamily:"var(--font-mono)"},children:[l.verbosity_distribution.short&&`${l.verbosity_distribution.short} short`,l.verbosity_distribution.medium&&`${l.verbosity_distribution.medium} med`,l.verbosity_distribution.long&&`${l.verbosity_distribution.long} long`,l.verbosity_distribution.very_long&&`${l.verbosity_distribution.very_long} v.long`].filter(Boolean).join(" · ")}),l.external_refs.length>0&&(0,b.jsxs)(q,{children:[l.external_refs.length," external ref",1===l.external_refs.length?"":"s"]}),l.steering.interrupts>0&&(0,b.jsxs)(q,{children:[l.steering.interrupts," interrupts"]}),l.steering.sessions_with_mid_run_redirect>0&&(0,b.jsxs)(q,{children:[l.steering.sessions_with_mid_run_redirect," mid-run redirect",1===l.steering.sessions_with_mid_run_redirect?"":"s"]})]}),(a.brainstorm_warmup_session_count>0||a.todo_ops_total>0||a.plan_mode_used)&&(0,b.jsxs)(p,{label:"Discipline",children:[a.brainstorm_warmup_session_count>0&&(0,b.jsxs)(q,{children:["brainstorm warmup ×",a.brainstorm_warmup_session_count]}),a.todo_ops_total>0&&(0,b.jsxs)(q,{children:[a.todo_ops_total," TodoWrite ops"]}),a.plan_mode_used&&(0,b.jsx)(q,{tone:"user",children:"Plan Mode used"})]})]}):null}function p({label:a,children:c}){return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",padding:"4px 0",fontSize:12},children:[(0,b.jsx)("span",{style:{minWidth:100,color:"var(--af-text-tertiary)",fontWeight:500,fontSize:11,textTransform:"uppercase",letterSpacing:"0.04em"},children:a}),(0,b.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",flex:1},children:c})]})}function q({children:a,tone:c,title:d}){return(0,b.jsx)("span",{title:d,style:{display:"inline-flex",alignItems:"center",padding:"2px 8px",borderRadius:999,fontSize:11,fontFamily:"var(--font-mono)",background:"user"===c?"var(--af-accent-subtle)":"var(--af-border-subtle)",color:"user"===c?"var(--af-accent)":"var(--af-text-secondary)",whiteSpace:"nowrap",maxWidth:280,overflow:"hidden",textOverflow:"ellipsis"},children:a})}function r({entry:a}){let c=new Date(a.start_iso).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),d=Math.round(a.numbers.active_min),e=a.project.split("/").filter(Boolean).slice(-1)[0]??a.project,f=a.enrichment.outcome,h=a.enrichment.brief_summary;return(0,b.jsxs)("a",{href:`/sessions/${a.session_id}`,style:{display:"block",padding:"8px 0",borderBottom:"1px solid var(--af-border-subtle)",fontSize:13,color:"var(--af-text)",textDecoration:"none"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10},children:[(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-tertiary)",width:48},children:c}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",minWidth:110,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),(0,b.jsxs)("span",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"var(--af-text-tertiary)",width:40,textAlign:"right"},children:[d,"m"]}),f&&(0,b.jsx)(g.OutcomePill,{outcome:f,size:"sm",label:"text",agent:a.agent})]}),h&&(0,b.jsx)("div",{style:{marginTop:3,marginLeft:58,fontSize:13,color:"var(--af-text-secondary)",lineHeight:1.45,maxWidth:820},children:h})]})}function s({initial:a,entries:d,date:e,aiEnabled:f}){let[g,h]=(0,c.useState)(a),[i,j]=(0,c.useState)("idle"),[l,m]=(0,c.useState)(""),n=(0,c.useCallback)(async(a=!1)=>{j("streaming"),m("Starting...");let b=`/api/digest/day/${e}${a?"?force=1":""}`,c=await fetch(b,{method:"POST"});if(!c.ok||!c.body){j("error"),m(`Error ${c.status}`);return}let d=c.body.getReader(),f=new TextDecoder,g="";for(;;){let{done:a,value:b}=await d.read();if(a)break;let c=(g+=f.decode(b,{stream:!0})).split("\n\n");for(let a of(g=c.pop()??"",c)){let b=a.split("\n").find(a=>a.startsWith("data: "));if(b)try{let a=JSON.parse(b.slice(6));if("status"===a.type)m(a.text);else if("entry"===a.type)m(`Enriching ${a.index}/${a.total}${a.cost_usd?` \xb7 $${a.cost_usd.toFixed(4)}`:""}...`);else if("progress"===a.type){let b=Math.round(a.elapsed_ms/1e3),c=(a.bytes/1024).toFixed(1);m(`Claude composing… ${a.bytes.toLocaleString()} chars (${c} KB \xb7 ${b}s)`)}else if("digest"===a.type)h(a.digest),m("Rendering...");else if("saved"===a.type)m("Saved.");else if("error"===a.type){j("error"),m(a.message);return}}catch{}}}j("done"),m("")},[e]),o="streaming"===i,p=!!g?.headline,q=(0,c.useMemo)(()=>0!==d.length&&d.every(a=>"skipped_trivial"===a.enrichment.status),[d]),r=0===d.length,t=null;return(r||q||(t=r||q||p?(0,b.jsxs)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",display:"inline-flex",alignItems:"center",gap:6},children:["✓ Up to date",(0,b.jsx)("button",{onClick:()=>n(!0),disabled:o,title:"Re-roll the narrative without re-enriching capsules",style:{padding:"2px 7px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:4,fontSize:10,color:"var(--af-text-secondary)",cursor:o?"default":"pointer",opacity:o?.6:1},children:o?"...":"Re-roll"})]}):(0,b.jsx)("button",{onClick:()=>n(!1),disabled:o,style:{padding:"4px 10px",background:"var(--af-accent)",color:"white",border:"none",borderRadius:5,cursor:o?"default":"pointer",fontSize:11,fontWeight:600,opacity:o?.6:1},children:o?"Generating...":g?"Generate (catch up)":"Generate digest"}),l&&(t=(0,b.jsxs)(b.Fragment,{children:[t,(0,b.jsx)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)"},children:l})]}))),g)?(0,b.jsx)(k,{digest:g,entries:d,aiEnabled:f,actions:t}):(0,b.jsxs)(b.Fragment,{children:[t&&(0,b.jsx)("div",{style:{display:"flex",gap:10,padding:"14px 40px 0",alignItems:"center",flexWrap:"wrap"},children:t}),r?(0,b.jsx)("div",{style:{padding:28,textAlign:"center",color:"var(--af-text-tertiary)",fontSize:13},children:"No entries on this day."}):q?(0,b.jsx)("div",{style:{padding:28,textAlign:"center",color:"var(--af-text-tertiary)",fontSize:13},children:"💤 Warm-up only — every session was under a minute. No narrative needed."}):(0,b.jsx)("div",{style:{padding:28,textAlign:"center",color:"var(--af-text-secondary)",fontSize:13},children:"No digest generated yet — click Generate above."})]})}var t=a.i(38246);a.i(99417);var u=a.i(12544),v=a.i(3444),w=a.i(2405);let x=["rgba(45, 212, 191, 0.75)","rgba(167, 139, 250, 0.75)","rgba(248, 113, 113, 0.75)","rgba(52, 211, 153, 0.75)","rgba(251, 191, 36, 0.75)","rgba(236, 72, 153, 0.75)","rgba(34, 211, 238, 0.75)","rgba(168, 85, 247, 0.75)","rgba(244, 114, 82, 0.75)","rgba(96, 165, 250, 0.75)"];function y(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return x[Math.abs(b)%x.length]}function z(a){return y((0,u.canonicalProjectName)(a.projectName))}function A(a){return a.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim()}function B(a){let b=new Date(a);return`${b.getHours().toString().padStart(2,"0")}:${b.getMinutes().toString().padStart(2,"0")}`}function C({onClose:a}){return(0,c.useEffect)(()=>{let b=b=>{"Escape"===b.key&&a()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a]),(0,b.jsx)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"concurrency-modal-title",onClick:a,style:{position:"fixed",inset:0,zIndex:200,background:"rgba(0, 0, 0, 0.5)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20},children:(0,b.jsxs)("div",{onClick:a=>a.stopPropagation(),style:{background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:12,maxWidth:560,width:"100%",maxHeight:"85vh",overflow:"auto",boxShadow:"0 16px 48px rgba(0, 0, 0, 0.3)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"18px 22px",borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("h2",{id:"concurrency-modal-title",style:{margin:0,fontSize:16,fontWeight:700,letterSpacing:"-0.01em"},children:"How concurrency is measured"}),(0,b.jsx)("button",{type:"button",onClick:a,"aria-label":"Close",style:{background:"transparent",border:"none",color:"var(--af-text-tertiary)",fontSize:22,lineHeight:1,cursor:"pointer",padding:0,width:28,height:28},children:"×"})]}),(0,b.jsxs)("div",{style:{padding:"18px 22px",fontSize:13,color:"var(--af-text-secondary)",lineHeight:1.55},children:[(0,b.jsxs)("p",{style:{margin:"0 0 14px"},children:["A ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"concurrency burst"})," ","is a window of time when two or more Claude Code sessions were actively working in parallel. The goal is to surface moments when you were running a multi-agent fleet — not every accidental tab overlap."]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:'1. What counts as "active"'}),(0,b.jsxs)("p",{style:{margin:"0 0 6px"},children:["Each session's events are split into"," ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"active segments"})," — stretches of time where no gap between consecutive events exceeds"," ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"3 minutes"}),". Any longer gap (walked away, laptop closed, thinking) splits the session into separate segments."]}),(0,b.jsx)("p",{style:{margin:"0 0 6px",fontSize:12,color:"var(--af-text-tertiary)"},children:'This is the same definition used for the "active time" metric on the dashboard, so numbers stay consistent.'}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"2. Detecting overlap"}),(0,b.jsxs)("p",{style:{margin:"0 0 6px"},children:["A sweep-line walks every segment start/end across all sessions. Whenever the active count is ≥2, that stretch becomes a raw overlap. The ",(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"peak"})," ","reported on each burst is the maximum active count reached anywhere inside it."]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"3. Cleaning up noise"}),(0,b.jsx)("p",{style:{margin:"0 0 6px"},children:"Raw overlaps are noisy — a typical day produces dozens of sub-minute artifacts from switching between sessions. Two rules collapse them into human-readable bursts:"}),(0,b.jsxs)("ul",{style:{margin:"6px 0 0 0",paddingLeft:22},children:[(0,b.jsxs)("li",{style:{marginBottom:4},children:[(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"Drop under 1 minute"})," — overlaps shorter than that are almost always tab-switch artifacts, not real parallel work."]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("strong",{style:{color:"var(--af-text)"},children:"Merge within 10 minutes"})," — two overlaps separated by less than 10 minutes of idle time fuse into a single burst. A morning of back-and-forth agent work becomes one burst, not forty."]})]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"4. Same-project vs cross-project"}),(0,b.jsxs)("p",{style:{margin:"0 0 6px"},children:["Bursts are colored by whether the involved sessions span more than one project directory."," ",(0,b.jsx)("span",{style:{color:"rgba(167, 139, 250, 1)",fontWeight:600},children:"Purple = cross-project"})," ","— different repos running at once, usually genuine fleet work."," ",(0,b.jsx)("span",{style:{color:"rgba(45, 212, 191, 1)",fontWeight:600},children:"Teal = same-project"})," ","— multiple sessions in one repo, usually context-switching inside a single task."]}),(0,b.jsx)("h3",{style:{margin:"18px 0 8px",fontSize:12,fontWeight:700,color:"var(--af-text)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"Why bursts, not runs"}),(0,b.jsx)("p",{style:{margin:"0 0 6px"},children:'An earlier version reported every raw overlap as a separate "parallel run". On a busy day that produced 40–80 entries, most of them seconds long, most of them meaningless. Bursts are the unit humans actually think in: "this morning I was running 3 agents at once for about 20 minutes."'})]})]})})}function D({burst:a,gantt:d,sessionEntries:e,onClose:f,onShowInTimeline:h}){(0,c.useEffect)(()=>{let a=a=>{"Escape"===a.key&&f()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[f]);let[i,j]=(0,c.useState)(null),k=(0,c.useRef)(new Map),l=(0,c.useMemo)(()=>{let a=new Map;for(let b of d.sessions)a.set(b.id,b);return a},[d]),m=a.sessionIds.map(a=>l.get(a)).filter(a=>!!a);m.sort((a,b)=>a.startMs-b.startMs);let n=a=>{j(a);let b=k.current.get(a);b&&b.scrollIntoView({behavior:"smooth",block:"center"})},o=Math.min(a.startMs,...m.map(a=>a.startMs)),p=Math.max(a.endMs,...m.map(a=>a.endMs)),q=o-9e5,r=p+9e5,s=r-q,u=22+(25*m.length-3)+6,w=a=>(a-q)/s*510,x=[];{let a=new Date(q);for(a.setMinutes(0,0,0),a.getTime()<q&&a.setHours(a.getHours()+1);a.getTime()<=r;)x.push(a.getTime()),a.setHours(a.getHours()+1)}let y=w(a.startMs),C=w(a.endMs),E=a.endMs-a.startMs;return(0,b.jsx)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"burst-detail-title",onClick:f,style:{position:"fixed",inset:0,zIndex:200,background:"rgba(0, 0, 0, 0.55)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20},children:(0,b.jsxs)("div",{onClick:a=>a.stopPropagation(),style:{background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:12,width:"min(720px, 100%)",maxHeight:"90vh",display:"flex",flexDirection:"column",boxShadow:"0 20px 60px rgba(0, 0, 0, 0.4)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"16px 22px",borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:4},children:[(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",padding:"3px 10px",borderRadius:10,fontFamily:"var(--font-mono)",fontSize:11,fontWeight:700,color:"white",background:a.crossProject?"rgba(167, 139, 250, 0.95)":"rgba(45, 212, 191, 0.95)"},children:["×",a.peak," peak"]}),a.crossProject&&(0,b.jsx)("span",{style:{fontSize:9,color:"rgba(167, 139, 250, 1)",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:700},children:"cross-project"})]}),(0,b.jsxs)("h2",{id:"burst-detail-title",style:{margin:0,fontSize:16,fontWeight:700,letterSpacing:"-0.01em",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)"},children:[B(a.startMs),"–",B(a.endMs)]}),(0,b.jsx)("span",{style:{fontSize:12,fontWeight:400,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:(0,v.formatDuration)(E)}),(0,b.jsxs)("span",{style:{fontSize:12,fontWeight:400,color:"var(--af-text-tertiary)"},children:["· ",m.length," session",1===m.length?"":"s"]})]})]}),(0,b.jsx)("button",{type:"button",onClick:h,style:{padding:"6px 12px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer",fontWeight:500,whiteSpace:"nowrap"},title:"Pin this burst on the main timeline and close",children:"Show in timeline →"}),(0,b.jsx)("button",{type:"button",onClick:f,"aria-label":"Close",style:{background:"transparent",border:"none",color:"var(--af-text-tertiary)",fontSize:24,lineHeight:1,cursor:"pointer",padding:0,width:28,height:28},children:"×"})]}),(0,b.jsxs)("div",{style:{overflow:"auto",padding:"18px 22px"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:8,fontWeight:600},children:"Timeline (shaded = burst window)"}),(0,b.jsx)("div",{style:{background:"var(--af-surface)",border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"8px 10px",overflow:"auto"},children:(0,b.jsxs)("svg",{width:534,height:u,style:{display:"block"},children:[m.map((a,c)=>{let d=22+25*c+11,e=z(a),f=i===a.id;return(0,b.jsxs)("g",{onClick:()=>n(a.id),style:{cursor:"pointer"},children:[(0,b.jsx)("title",{children:`Track ${c+1} — click to focus in list below`}),(0,b.jsx)("circle",{cx:12,cy:d,r:9,fill:f?e:"var(--af-surface-elevated)",stroke:e,strokeWidth:f?2:1.5}),(0,b.jsx)("text",{x:12,y:d+3.5,textAnchor:"middle",fontSize:10,fontWeight:700,fill:f?"#fff":"var(--af-text)",style:{pointerEvents:"none"},children:c+1})]},`num-${a.id}`)}),(0,b.jsxs)("g",{transform:"translate(24, 0)",children:[(0,b.jsx)("rect",{x:y,y:0,width:Math.max(C-y,2),height:u,fill:a.crossProject?"rgba(167, 139, 250, 0.14)":"rgba(45, 212, 191, 0.14)"}),(0,b.jsx)("line",{x1:y,x2:y,y1:0,y2:u,stroke:a.crossProject?"rgba(167, 139, 250, 0.7)":"rgba(45, 212, 191, 0.7)",strokeWidth:1,strokeDasharray:"3 2"}),(0,b.jsx)("line",{x1:C,x2:C,y1:0,y2:u,stroke:a.crossProject?"rgba(167, 139, 250, 0.7)":"rgba(45, 212, 191, 0.7)",strokeWidth:1,strokeDasharray:"3 2"}),x.map(a=>{let c=w(a);return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:c,x2:c,y1:22,y2:u,stroke:"var(--af-border-subtle)",strokeWidth:.5,strokeDasharray:"2 3"}),(0,b.jsx)("text",{x:c,y:16,textAnchor:"middle",fontSize:9,fill:"var(--af-text-tertiary)",children:B(a)})]},`mini-hm-${a}`)}),m.map((a,c)=>{let d=22+25*c,e=z(a),f=i===a.id;return(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:0,y:d,width:510,height:22,fill:f?"rgba(255,255,255,0.05)":"transparent",onClick:()=>n(a.id),style:{cursor:"pointer"}}),a.segments.map((a,c)=>{let g=w(a.startMs),h=Math.max(w(a.endMs)-g,2);return(0,b.jsx)("rect",{x:g,y:d+3,width:h,height:16,fill:e,rx:2,stroke:f?"var(--af-text)":"none",strokeWidth:+!!f,style:{pointerEvents:"none"}},`mini-seg-${c}`)})]},`mini-row-${a.id}`)})]})]})}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.05em",margin:"18px 0 8px",fontWeight:600},children:"Sessions in this burst"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:m.map((c,d)=>{let f,h,j,l=z(c),m=(b=>{let c=0;for(let d of b.segments){let b=Math.max(d.startMs,a.startMs),e=Math.min(d.endMs,a.endMs);e>b&&(c+=e-b)}return c})(c),n=E>0?Math.round(m/E*100):0,o=i===c.id;return(0,b.jsx)(t.default,{href:`/sessions/${c.id}`,ref:a=>{a?k.current.set(c.id,a):k.current.delete(c.id)},style:{display:"block",padding:"11px 14px",background:o?"var(--af-surface-hover)":"var(--af-surface)",border:o?"1px solid var(--af-text-tertiary)":"1px solid var(--af-border-subtle)",borderLeft:`3px solid ${l}`,borderRadius:8,textDecoration:"none",color:"var(--af-text)",fontSize:12,lineHeight:1.45,transition:"background 0.15s, border-color 0.15s",boxShadow:o?`0 0 0 2px ${l}`:"none"},children:(0,b.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:10},children:[(0,b.jsx)("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,borderRadius:"50%",background:o?l:"transparent",border:`1.5px solid ${l}`,color:o?"#fff":"var(--af-text)",fontSize:10,fontWeight:700,flexShrink:0,marginTop:2},"aria-label":`Track ${d+1}`,children:d+1}),(0,b.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",marginBottom:3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:(0,v.prettyProjectName)(c.projectName),children:(h=(f=(0,v.prettyProjectName)(c.projectName)).split("/").filter(Boolean)).length>2?"…/"+h.slice(-2).join("/"):f}),(0,b.jsx)("div",{style:{fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:A(c.firstUserPreview??""),children:A(c.firstUserPreview??"")||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),c.lastAgentPreview&&(0,b.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-secondary)",marginTop:3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontStyle:"italic"},title:A(c.lastAgentPreview),children:["↳ ",A(c.lastAgentPreview)]})]}),(0,b.jsxs)("div",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"var(--af-text-tertiary)",textAlign:"right",whiteSpace:"nowrap",flexShrink:0,display:"flex",flexDirection:"column",alignItems:"flex-end",gap:4},children:[(j=e[c.id],j?.outcome?(0,b.jsx)(g.OutcomePill,{outcome:j.outcome,size:"sm",label:"text",agent:c.agent}):null),(0,b.jsxs)("div",{style:{color:"var(--af-text-secondary)"},children:[(0,v.formatDuration)(m)," ",(0,b.jsxs)("span",{style:{opacity:.6},children:["(",n,"%)"]})]}),(0,b.jsx)("div",{style:{fontSize:9,marginTop:2},children:"in burst"})]})]})},`burst-session-${c.id}`)})})]})]})})}function E({gantt:a,bursts:d=[],sessionEntries:e={}}){let f,h=a.date,[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(null),[s,x]=(0,c.useState)(!1),F=(0,c.useRef)(null),G=m??k,H=(0,c.useMemo)(()=>{if(null===G)return null;let a=d[G];return a?new Set(a.sessionIds):null},[G,d]),I=(0,c.useMemo)(()=>{let b=new Map;for(let c of a.sessions){let a=(0,u.canonicalProjectName)(c.projectName),d=b.get(a);d?d.count++:b.set(a,{name:(0,v.prettyProjectName)(a),color:y(a),count:1})}return Array.from(b.values()).sort((a,b)=>b.count-a.count)},[a.sessions]),{rangeStartMs:J,rangeEndMs:K,hourMarks:L}=(0,c.useMemo)(()=>{if(0===a.sessions.length)return{rangeStartMs:a.dayStartMs,rangeEndMs:a.dayEndMs,hourMarks:[]};let b=1/0,c=-1/0;for(let d of a.sessions)for(let a of d.segments)a.startMs<b&&(b=a.startMs),a.endMs>c&&(c=a.endMs);let d=c+18e5,e=new Date(b-18e5);e.setMinutes(0,0,0);let f=new Date(d);f.setMinutes(0,0,0),f.setHours(f.getHours()+1);let g=Math.max(e.getTime(),a.dayStartMs),h=Math.min(f.getTime(),a.dayEndMs),i=[],j=new Date(g);for(j.setMinutes(0,0,0),j.getTime()<g&&j.setHours(j.getHours()+1);j.getTime()<=h;)i.push(j.getTime()),j.setHours(j.getHours()+1);return{rangeStartMs:g,rangeEndMs:h,hourMarks:i}},[a]),M=K-J,N=Math.max(700,Math.ceil(M/36e5*80)),O=33*a.sessions.length+3+8,P=a=>(a-J)/M*N,Q="var(--af-surface)",R=s?d:d.slice(0,3),S=d.length-R.length;return(0,b.jsxs)(b.Fragment,{children:[d.length>0&&(0,b.jsxs)("div",{className:"af-panel",style:{marginBottom:16},children:[(0,b.jsxs)("div",{className:"af-panel-header",children:[(0,b.jsx)("span",{children:"Concurrency"}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",fontWeight:400},children:"periods when ≥2 agents were actively working at once"}),(0,b.jsxs)("button",{type:"button",onClick:()=>p(!0),"aria-label":"How concurrency is detected",style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:5,padding:"3px 9px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:100,fontSize:10,color:"var(--af-text-tertiary)",cursor:"pointer",fontWeight:500},children:[(0,b.jsx)("span",{style:{fontSize:11,lineHeight:1},children:"ⓘ"}),"How this is measured"]})]}),(0,b.jsxs)("div",{children:[R.map((c,d)=>{let e=m===d,f=k===d,g=c.projectDirs.map(b=>{let c=a.sessions.find(a=>a.projectDir===b);return c?(0,v.prettyProjectName)(c.projectName):b}).map(a=>{let b=a.split("/").filter(Boolean);return b.length>2?"…/"+b.slice(-2).join("/"):a});return(0,b.jsxs)("div",{onMouseEnter:()=>l(d),onMouseLeave:()=>l(null),onClick:()=>r(d),style:{display:"grid",gridTemplateColumns:"auto auto auto 1fr auto",gap:14,padding:"10px 18px",fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",cursor:"pointer",background:e||f?"var(--af-surface-hover)":"transparent",alignItems:"center",transition:"background 0.12s"},title:"Open burst detail",children:[(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-secondary)",minWidth:110},children:[B(c.startMs),"–",B(c.endMs)]}),(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",padding:"2px 8px",borderRadius:10,fontFamily:"var(--font-mono)",fontSize:10,fontWeight:700,color:"white",background:c.crossProject?"rgba(167, 139, 250, 0.9)":"rgba(45, 212, 191, 0.9)",minWidth:28,justifyContent:"center"},children:["×",c.peak]}),c.crossProject?(0,b.jsx)("span",{style:{fontSize:9,color:"rgba(167, 139, 250, 1)",textTransform:"uppercase",letterSpacing:"0.04em",fontWeight:600},children:"cross-project"}):(0,b.jsx)("span",{}),(0,b.jsx)("span",{style:{fontSize:11,color:"var(--af-text-tertiary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:g.join(", "),children:g.join(" · ")}),(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--af-text-secondary)",minWidth:60,textAlign:"right"},children:(0,v.formatDuration)(c.endMs-c.startMs)})]},`burst-row-${d}`)}),d.length>3&&(0,b.jsx)("button",{type:"button",onClick:()=>x(a=>!a),style:{width:"100%",padding:"10px 18px",background:"transparent",border:"none",borderTop:"1px solid var(--af-border-subtle)",fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer",fontWeight:500,textAlign:"center"},children:s?"Show fewer (first 3) ↑":`Show all ${d.length} bursts (+${S} more) ↓`})]})]}),(0,b.jsxs)("div",{className:"af-panel",style:{overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"10px 16px",borderBottom:"1px solid var(--af-border-subtle)",fontSize:11,color:"var(--af-text-secondary)",flexWrap:"wrap"},children:[I.map(a=>{let c=a.name.split("/").filter(Boolean),d=c.length>2?"…/"+c.slice(-2).join("/"):a.name;return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,cursor:"default"},title:`${a.name} — ${a.count} session${1===a.count?"":"s"} on this day`,children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:2,background:a.color,flexShrink:0}}),(0,b.jsx)("span",{style:{maxWidth:160,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d}),(0,b.jsxs)("span",{style:{color:"var(--af-text-tertiary)",fontSize:10},children:["(",a.count,")"]})]},a.name)}),(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,marginLeft:8,color:"var(--af-text-tertiary)",cursor:"default"},title:"Idle gap — the session was open but the agent was not actively working (gap > 3 minutes between events)",children:[(0,b.jsx)("span",{style:{width:16,height:8,borderRadius:2,background:"repeating-linear-gradient(45deg, var(--af-surface-hover), var(--af-surface-hover) 2px, var(--af-border-subtle) 2px, var(--af-border-subtle) 4px)",flexShrink:0}}),"idle"]})]}),(0,b.jsxs)("div",{ref:F,style:{overflow:"auto",maxHeight:"calc(100vh - 240px)",position:"relative"},onMouseLeave:()=>j(null),children:[(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:`220px ${N}px`,gridTemplateRows:`50px ${O}px`,width:220+N},children:[(0,b.jsxs)("div",{style:{position:"sticky",top:0,left:0,zIndex:3,background:Q,borderBottom:"1px solid var(--af-border-subtle)",borderRight:"1px solid var(--af-border-subtle)",display:"flex",flexDirection:"column"},children:[(0,b.jsx)("div",{style:{height:24,display:"flex",alignItems:"center",justifyContent:"flex-end",padding:"0 10px",fontSize:9,color:"var(--af-text-tertiary)",letterSpacing:"0.04em",textTransform:"uppercase",fontWeight:600},children:d.length>0?"Concurrency":""}),(0,b.jsx)("div",{style:{height:26}})]}),(0,b.jsxs)("div",{style:{position:"sticky",top:0,zIndex:2,background:Q,borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("svg",{width:N,height:24,style:{display:"block"},children:d.map((a,c)=>{let d=P(a.startMs),e=P(a.endMs)-d,f=Math.max(e,26),g=e<26?d+e/2-13:d,h=G===c,i=null!==G&&!h,j=a.crossProject?"rgba(167, 139, 250, 0.9)":"rgba(45, 212, 191, 0.9)";return(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:g,y:4,width:f,height:14,fill:j,rx:4,opacity:i?.3:1,stroke:m===c?"var(--af-text)":k===c?"var(--af-text-secondary)":"none",strokeWidth:m===c?1.5:1,style:{cursor:"pointer",transition:"opacity 0.12s"},onMouseEnter:()=>l(c),onMouseLeave:()=>l(null),onClick:()=>r(c),children:(0,b.jsx)("title",{children:`\xd7${a.peak} ${a.crossProject?"cross-project":"same-project"} \xb7 ${B(a.startMs)}–${B(a.endMs)} \xb7 ${(0,v.formatDuration)(a.endMs-a.startMs)} — click for detail`})}),(0,b.jsxs)("text",{x:g+f/2,y:15,textAnchor:"middle",fontSize:9,fontWeight:700,fill:"white",opacity:i?.3:1,style:{pointerEvents:"none"},children:["×",a.peak]})]},`burst-${c}`)})}),(0,b.jsx)("svg",{width:N,height:26,style:{display:"block"},children:L.map(a=>{let c=P(a),d=new Date(a).getHours()%3==0;return(0,b.jsx)("text",{x:c,y:18,textAnchor:"middle",fontSize:10,fill:d?"var(--af-text-secondary)":"var(--af-text-tertiary)",fontWeight:d?600:400,children:B(a)},a)})})]}),(0,b.jsx)("div",{style:{position:"sticky",left:0,zIndex:1,background:Q,borderRight:"1px solid var(--af-border-subtle)"},children:(0,b.jsx)("div",{style:{paddingTop:3},children:a.sessions.map((a,c)=>{let d=z(a),e=a.firstUserPreview?A(a.firstUserPreview).slice(0,45):(0,v.prettyProjectName)(a.projectName),f=(0,v.prettyProjectName)(a.projectName),g=null!==H&&!H.has(a.id);return(0,b.jsxs)("div",{style:{height:30,marginBottom:3,display:"flex",alignItems:"center",gap:6,padding:"0 8px 0 6px",background:c%2==1?"var(--af-surface-hover)":"transparent",opacity:g?.3:1,transition:"opacity 0.12s"},children:[(0,b.jsx)("span",{style:{width:6,height:6,borderRadius:2,background:d,flexShrink:0}}),(0,b.jsx)(w.AgentIcon,{agent:a.agent,size:11}),(0,b.jsx)(t.default,{href:`/sessions/${a.id}?day=${h}`,style:{fontSize:10.5,color:"var(--af-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:1.2,textDecoration:"none"},title:`${A(a.firstUserPreview??"")} — ${f}`,children:e})]},`label-${a.id}-${c}`)})})}),(0,b.jsx)("div",{children:(0,b.jsxs)("svg",{width:N,height:O,style:{display:"block"},children:[(0,b.jsx)("defs",{children:(0,b.jsxs)("pattern",{id:"gantt-idle-stripes",patternUnits:"userSpaceOnUse",width:"6",height:"6",patternTransform:"rotate(45)",children:[(0,b.jsx)("rect",{width:"6",height:"6",fill:"var(--af-surface-hover)"}),(0,b.jsx)("line",{x1:"0",y1:"0",x2:"0",y2:"6",stroke:"var(--af-border-subtle)",strokeWidth:"1.5"})]})}),L.map(a=>{let c=P(a),d=new Date(a).getHours()%3==0;return(0,b.jsx)("line",{x1:c,y1:0,x2:c,y2:O,stroke:"var(--af-border-subtle)",strokeWidth:d?.8:.4,strokeDasharray:d?void 0:"2 4"},a)}),a.sessions.map((a,c)=>{let d=33*c+3,e=z(a),f=null!==H&&!H.has(a.id);return(0,b.jsxs)("g",{opacity:f?.25:1,style:{transition:"opacity 0.12s"},children:[c%2==1&&(0,b.jsx)("rect",{x:0,y:d,width:N,height:30,fill:"var(--af-surface-hover)",opacity:.25}),a.segments.map((c,f)=>{let g=P(c.startMs),h=Math.max(P(c.endMs)-g,4);return(0,b.jsx)("rect",{x:g,y:d+5,width:h,height:20,fill:e,rx:3,style:{cursor:"pointer"},onMouseEnter:b=>{let c=b.currentTarget.closest("svg").getBoundingClientRect();j({session:a,x:b.clientX-c.left+220,y:d+30+24+26+4})}},f)}),a.segments.length>1&&a.segments.slice(0,-1).map((c,e)=>{let f=a.segments[e+1],g=P(c.endMs),h=P(f.startMs);return h-g<4?null:(0,b.jsx)("rect",{x:g+1,y:d+7,width:h-g-2,height:16,fill:"url(#gantt-idle-stripes)",rx:2,opacity:.7},`idle-${e}`)}),(0,b.jsxs)("text",{x:Math.min(P(a.endMs)+8,N-100),y:d+15+3.5,fontSize:9,fill:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",children:[(0,v.formatDuration)(a.activeMs)," · ",B(a.startMs),"–",B(a.endMs)]})]},`row-${a.id}-${c}`)})]})})]}),i&&(0,b.jsxs)("div",{style:{position:"absolute",left:Math.max(8,Math.min(i.x,220+N-340)),top:Math.min(i.y,50+O-100),zIndex:50,background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"10px 14px",fontSize:11,color:"var(--af-text)",pointerEvents:"none",boxShadow:"0 4px 12px rgba(0,0,0,0.15)",maxWidth:340,lineHeight:1.45},children:[(f=e[i.session.id])?f.outcome?(0,b.jsx)("div",{style:{marginBottom:6},children:(0,b.jsx)(g.OutcomePill,{outcome:f.outcome,size:"sm",agent:i.session.agent})}):"done"!==f.enrichmentStatus&&"skipped_trivial"!==f.enrichmentStatus?(0,b.jsx)("div",{style:{marginBottom:6},children:(0,b.jsx)(g.OutcomePill,{outcome:null,pending:!0,sessionId:i.session.id,localDay:f.localDay,size:"sm",agent:i.session.agent})}):null:null,(0,b.jsx)("div",{style:{fontWeight:600,marginBottom:4},children:e[i.session.id]?.briefSummary||A(i.session.firstUserPreview??"").slice(0,100)||(0,v.prettyProjectName)(i.session.projectName)}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--af-text-secondary)",marginBottom:6,fontFamily:"var(--font-mono)"},children:[(0,v.prettyProjectName)(i.session.projectName),i.session.model&&` \xb7 ${i.session.model}`]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"3px 12px",fontSize:10,color:"var(--af-text-secondary)"},children:[(0,b.jsxs)("span",{children:["Active: ",(0,b.jsx)("strong",{children:(0,v.formatDuration)(i.session.activeMs)})]}),(0,b.jsxs)("span",{children:["Segments: ",i.session.segments.length]}),(0,b.jsxs)("span",{children:["Range: ",B(i.session.startMs),"–",B(i.session.endMs)]}),(0,b.jsxs)("span",{children:["Tokens:"," ",(0,v.formatTokens)(i.session.totalUsage.input+i.session.totalUsage.cacheRead+i.session.totalUsage.cacheWrite),"/",(0,v.formatTokens)(i.session.totalUsage.output)]})]})]})]})]}),o&&(0,b.jsx)(C,{onClose:()=>p(!1)}),null!==q&&d[q]&&(0,b.jsx)(D,{burst:d[q],gantt:a,sessionEntries:e,onClose:()=>r(null),onShowInTimeline:()=>{r(null),null!==q&&(a=>{n(b=>b===a?null:a);let b=d[a],c=F.current;if(!b||!c)return;let e=220+(P(b.startMs)+P(b.endMs))/2-c.clientWidth/2;c.scrollTo({left:Math.max(0,e),behavior:"smooth"})})(q)}})]})}function F({open:a,onClose:d,rows:e,aiEnabled:f}){let[g,h]=(0,c.useState)(new Set),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(!a)return;let b=a=>{"Escape"===a.key&&d()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,d]);let m=async()=>{if(0===g.size)return;j(!0);let a=Array.from(g).sort().reverse();try{for(let b of a){let a=`/api/digest/day/${b}${k?"?force=1":""}`,c=await fetch(a,{method:"POST"});if(c.body){let a=c.body.getReader();for(;!(await a.read()).done;);}}}finally{j(!1),h(new Set)}};return a?(0,b.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.4)",zIndex:200,display:"flex",justifyContent:"flex-end"},onClick:d,children:(0,b.jsxs)("div",{onClick:a=>a.stopPropagation(),style:{width:"min(440px, 100%)",height:"100%",background:"var(--af-surface-elevated)",borderLeft:"1px solid var(--af-border-subtle)",display:"flex",flexDirection:"column",boxShadow:"-12px 0 32px rgba(0,0,0,0.25)"},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 18px",borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{style:{fontSize:15,fontWeight:700,margin:0},children:"Backfill digests"}),(0,b.jsx)("p",{style:{fontSize:11,color:"var(--af-text-tertiary)",margin:"2px 0 0"},children:"Each selected day enqueues a job. You can close this drawer."})]}),(0,b.jsx)("button",{type:"button",onClick:d,"aria-label":"Close",style:{background:"transparent",border:"none",color:"var(--af-text-tertiary)",fontSize:22,cursor:"pointer"},children:"×"})]}),!f&&(0,b.jsx)("div",{style:{padding:12,margin:18,background:"rgba(237,137,54,0.1)",borderRadius:6,fontSize:12,color:"var(--af-text)"},children:"AI features are off — only deterministic digests will be written. Enable AI in Settings to generate narratives."}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,padding:"10px 18px",borderBottom:"1px solid var(--af-border-subtle)",flexWrap:"wrap",fontSize:11},children:[(0,b.jsx)(G,{onClick:()=>h(new Set(e.filter(a=>"pending"===a.status).map(a=>a.date))),children:"Select pending"}),(0,b.jsx)(G,{onClick:()=>h(new Set(e.filter(a=>"empty"!==a.status).map(a=>a.date))),children:"Select all with entries"}),(0,b.jsx)(G,{onClick:()=>h(new Set),children:"Clear"}),(0,b.jsxs)("label",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:4,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer"},children:[(0,b.jsx)("input",{type:"checkbox",checked:k,onChange:a=>l(a.target.checked)}),"force regen"]})]}),(0,b.jsx)("div",{style:{flex:1,overflowY:"auto"},children:e.map(a=>(0,b.jsxs)("label",{style:{display:"grid",gridTemplateColumns:"auto 110px 80px 1fr",gap:10,alignItems:"center",padding:"8px 18px",borderBottom:"1px solid var(--af-border-subtle)",fontSize:12,cursor:"empty"===a.status?"default":"pointer",opacity:"empty"===a.status?.5:1},children:[(0,b.jsx)("input",{type:"checkbox",disabled:"empty"===a.status,checked:g.has(a.date),onChange:()=>{var b;return b=a.date,void h(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})}}),(0,b.jsx)("span",{children:a.day_label}),(0,b.jsx)("span",{style:{fontSize:10,color:"generated"===a.status?"#48bb78":"pending"===a.status?"#ed8936":"var(--af-text-tertiary)"},children:"generated"===a.status?"✓ ready":"pending"===a.status?"• pending":"—"}),(0,b.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"var(--af-text-tertiary)",textAlign:"right"},children:[a.entry_count>0?`${a.entry_count} sess`:"",a.pr_count>0?` \xb7 ${a.pr_count} PR`:""]})]},a.date))}),(0,b.jsxs)("footer",{style:{padding:"12px 18px",borderTop:"1px solid var(--af-border-subtle)",display:"flex",gap:10,alignItems:"center"},children:[(0,b.jsxs)("span",{style:{fontSize:12,color:"var(--af-text-secondary)",flex:1},children:[g.size," day",1===g.size?"":"s"," selected"]}),(0,b.jsx)("button",{type:"button",onClick:d,style:{padding:"6px 12px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:12,cursor:"pointer"},children:"Cancel"}),(0,b.jsx)("button",{type:"button",onClick:m,disabled:i||0===g.size,style:{padding:"6px 14px",background:"var(--af-accent)",color:"white",border:"none",borderRadius:6,fontSize:12,fontWeight:600,cursor:i||0===g.size?"default":"pointer",opacity:i||0===g.size?.6:1},children:i?`Enqueueing… (${g.size})`:`Generate ${g.size}`})]})]})}):null}function G({onClick:a,children:c}){return(0,b.jsx)("button",{type:"button",onClick:a,style:{padding:"3px 10px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:5,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer"},children:c})}var H=a.i(50944);function I(a){if(a<6e4)return`${Math.round(a/1e3)}s`;let b=Math.round(a/6e4);if(b<60)return`${b}m`;let c=Math.floor(b/60),d=b%60;return d?`${c}h ${d}m`:`${c}h`}function J({date:a,today:d,prevDay:e,nextDay:f,dayStats:g,hrefForDate:h=a=>`/day/${a}`}){let i,j,k,l,m,n,o=(0,H.useRouter)(),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useMemo)(()=>{let[b,c]=a.split("-").map(Number);return[b,c]},[a]),[u,v]=(0,c.useState)(r),[w,x]=(0,c.useState)(s),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(null),C=(0,c.useMemo)(()=>{let a=new Map;for(let b of g)a.set(b.date,b);return a},[g]),D=(0,c.useMemo)(()=>{let a=new Date(u,w-1,1).getDay(),b=new Date(u,w,0).getDate(),c=[];for(let b=0;b<a;b++)c.push(null);for(let a=1;a<=b;a++){let b=String(w).padStart(2,"0"),d=String(a).padStart(2,"0");c.push(`${u}-${b}-${d}`)}return c},[u,w]),E=(0,c.useMemo)(()=>{let a=0;for(let b of g)b.airTimeMs>a&&(a=b.airTimeMs);return a},[g]),F=new Date(u,w-1).toLocaleString(void 0,{month:"long",year:"numeric"}),G=a=>{let b=w+a,c=u;b<1&&(b=12,c--),b>12&&(b=1,c++),x(b),v(c)};return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",position:"relative"},children:[e?(0,b.jsx)(t.default,{href:h(e),style:{padding:"5px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)"},children:"←"}):(0,b.jsx)("span",{style:{padding:"5px 10px",opacity:.3,fontSize:11,color:"var(--af-text-tertiary)"},children:"←"}),(0,b.jsx)("button",{type:"button",onClick:()=>{v(r),x(s),q(a=>!a)},style:{padding:"5px 12px",fontSize:12,fontFamily:"var(--font-mono)",border:"1px solid var(--af-border-subtle)",borderRadius:6,background:p?"var(--af-accent-subtle)":"transparent",color:p?"var(--af-accent)":"var(--af-text)",cursor:"pointer",fontWeight:500,minWidth:120,textAlign:"center"},children:a}),f?(0,b.jsx)(t.default,{href:h(f),style:{padding:"5px 10px",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)"},children:"→"}):(0,b.jsx)("span",{style:{padding:"5px 10px",opacity:.3,fontSize:11,color:"var(--af-text-tertiary)"},children:"→"}),(0,b.jsx)(t.default,{href:h(d),style:{padding:"5px 12px",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:a===d?"var(--af-accent)":"var(--af-text-secondary)",background:a===d?"var(--af-accent-subtle)":"transparent",fontWeight:500},children:"Today"}),p&&(0,b.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 8px)",left:0,zIndex:60,background:"var(--af-surface)",border:"1px solid var(--af-border-subtle)",borderRadius:10,padding:"12px 14px",boxShadow:"0 8px 28px rgba(0,0,0,0.18)",minWidth:300},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:10},children:[(0,b.jsx)("button",{type:"button",onClick:()=>G(-1),style:{background:"transparent",border:"none",cursor:"pointer",color:"var(--af-text-secondary)",fontSize:14,padding:"2px 8px",borderRadius:4},children:"‹"}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--af-text)"},children:F}),(0,b.jsx)("button",{type:"button",onClick:()=>G(1),style:{background:"transparent",border:"none",cursor:"pointer",color:"var(--af-text-secondary)",fontSize:14,padding:"2px 8px",borderRadius:4},children:"›"})]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:2,marginBottom:4},children:["Su","Mo","Tu","We","Th","Fr","Sa"].map(a=>(0,b.jsx)("div",{style:{textAlign:"center",fontSize:9,color:"var(--af-text-tertiary)",fontWeight:600,padding:"2px 0"},children:a},a))}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:2},children:D.map((c,e)=>{if(!c)return(0,b.jsx)("div",{},`blank-${e}`);let f=C.get(c),g=f?.airTimeMs??0,i=f?.burstCount??0,j=c===a,k=c===d,l=c>d,m=g>0&&E>0?Math.min(1,g/E):0,n=parseInt(c.split("-")[2],10);return(0,b.jsxs)("button",{type:"button",onClick:()=>{q(!1),o.push(h(c))},disabled:l,onMouseEnter:a=>{if(l)return;let b=a.currentTarget.getBoundingClientRect(),d=a.currentTarget.offsetParent?.getBoundingClientRect()??b;z(c),B({x:b.left-d.left+b.width/2,y:b.bottom-d.top+6})},onMouseLeave:()=>{z(null),B(null)},style:{position:"relative",width:40,height:40,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:1,border:j?"2px solid var(--af-accent)":k?"1px solid var(--af-text-tertiary)":"1px solid transparent",borderRadius:6,background:m>0?`rgba(45, 212, 191, ${.08+.35*m})`:"transparent",color:l?"var(--af-text-tertiary)":j?"var(--af-accent)":"var(--af-text)",cursor:l?"not-allowed":"pointer",fontSize:11,fontWeight:j?700:400,fontFamily:"var(--font-mono)",padding:0,opacity:l?.4:1},children:[(0,b.jsx)("span",{style:{lineHeight:1},children:n}),g>0&&(0,b.jsx)("span",{style:{fontSize:8,color:j?"var(--af-accent)":"var(--af-text-tertiary)",lineHeight:1,fontWeight:600,marginTop:2},children:I(g)}),i>0&&(0,b.jsx)("span",{style:{position:"absolute",top:3,right:3,width:5,height:5,borderRadius:"50%",background:"rgba(167, 139, 250, 0.95)",boxShadow:"0 0 0 1px var(--af-surface)"}})]},c)})}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10,marginTop:10,paddingTop:8,borderTop:"1px solid var(--af-border-subtle)",fontSize:9,color:"var(--af-text-tertiary)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[(0,b.jsx)("span",{children:"less"}),(0,b.jsx)("div",{style:{display:"flex",gap:2},children:[0,.15,.3,.5,.8].map((a,c)=>(0,b.jsx)("span",{style:{width:10,height:10,borderRadius:2,background:0===a?"var(--af-border-subtle)":`rgba(45, 212, 191, ${.08+.35*a})`}},c))}),(0,b.jsx)("span",{children:"more active"})]}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},title:"Days with at least one concurrency burst",children:[(0,b.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",background:"rgba(167, 139, 250, 0.95)"}}),"parallel"]})]}),y&&A&&(i=C.get(y),j=i?.sessions??0,k=i?.airTimeMs??0,l=i?.parallelMs??0,m=i?.burstCount??0,n=i?.peakConcurrency??0,(0,b.jsxs)("div",{style:{position:"absolute",left:Math.max(10,Math.min(A.x-110,290)),top:A.y,width:220,pointerEvents:"none",background:"var(--af-surface-elevated)",border:"1px solid var(--af-border-subtle)",borderRadius:8,padding:"9px 12px",boxShadow:"0 6px 22px rgba(0,0,0,0.22)",fontSize:11,color:"var(--af-text)",zIndex:65,lineHeight:1.5},children:[(0,b.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontWeight:700,fontSize:11,marginBottom:4},children:y}),0===j&&0===k&&0===l?(0,b.jsx)("div",{style:{color:"var(--af-text-tertiary)",fontSize:10},children:"no activity"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(K,{label:"sessions",value:String(j)}),(0,b.jsx)(K,{label:"active time",value:k>0?I(k):"—"}),l>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:{marginTop:4,paddingTop:4,borderTop:"1px dashed var(--af-border-subtle)"}}),(0,b.jsx)(K,{label:"parallel time",value:I(l)}),(0,b.jsx)(K,{label:"peak concurrency",value:`\xd7${n}`,accent:!0}),(0,b.jsx)(K,{label:"bursts",value:String(m)})]})]})]}))]})]})}function K({label:a,value:c,accent:d}){return(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",color:"var(--af-text-secondary)",fontSize:10},children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)("strong",{style:{color:d?"rgba(167, 139, 250, 1)":"var(--af-text)"},children:c})]})}function L({label:a,defaultOpen:f=!0,children:g}){let[h,i]=(0,c.useState)(f);return(0,b.jsxs)("div",{style:{borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsxs)("button",{type:"button",onClick:()=>i(a=>!a),style:{width:"100%",padding:"12px 40px",background:"transparent",border:"none",textAlign:"left",display:"flex",alignItems:"center",gap:8,cursor:"pointer",fontSize:11,fontWeight:700,color:"var(--af-text-tertiary)",textTransform:"uppercase",letterSpacing:"0.08em"},children:[h?(0,b.jsx)(d.ChevronDown,{size:13}):(0,b.jsx)(e.ChevronRight,{size:13}),a]}),h&&(0,b.jsx)("div",{children:g})]})}a.s(["DayView",0,function({date:a,today:d,prev:e,next:g,initial:h,entries:i,aiEnabled:j,gantt:k,bursts:l,sessionEntries:m,backfillRows:n,dayStats:o}){let[p,q]=(0,c.useState)(!1),r=i.length>0&&i.every(a=>"skipped_trivial"===a.enrichment.status),t=i.length>0&&!r,u=k.sessions.length>0,v=new Date(`${a}T12:00:00`).toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"}),w=n.filter(a=>"pending"===a.status).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("nav",{style:{padding:"14px 40px",display:"flex",gap:12,fontSize:12,borderBottom:"1px solid var(--af-border-subtle)",alignItems:"center",flexWrap:"wrap"},children:[(0,b.jsx)(J,{date:a,today:d,prevDay:e,nextDay:g??void 0,dayStats:o}),(0,b.jsxs)("button",{type:"button",onClick:()=>q(!0),style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:5,padding:"5px 10px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:6,fontSize:11,color:"var(--af-text-secondary)",cursor:"pointer"},title:"Open the backfill multi-select drawer",children:[(0,b.jsx)(f,{size:12}),"Backfill digests",w>0&&(0,b.jsx)("span",{style:{fontSize:10,color:"#ed8936",fontWeight:700},children:w})]})]}),t||u?(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[t&&(0,b.jsx)(L,{label:"Narrative",defaultOpen:!0,children:(0,b.jsx)(s,{initial:h,entries:i,date:a,aiEnabled:j})}),u&&(0,b.jsx)(L,{label:"Timeline & concurrency",defaultOpen:!0,children:(0,b.jsx)("div",{style:{padding:"8px 40px 40px"},children:(0,b.jsx)(E,{gantt:k,bursts:l,sessionEntries:m})})})]}):(0,b.jsxs)("div",{style:{padding:"60px 40px",textAlign:"center",color:"var(--af-text-secondary)"},children:[(0,b.jsx)("div",{style:{fontSize:14,marginBottom:6},children:v}),(0,b.jsx)("div",{style:{fontSize:13,color:"var(--af-text-tertiary)"},children:"No Claude Code activity on this day."})]}),(0,b.jsx)(F,{open:p,onClose:()=>q(!1),rows:n,aiEnabled:j})]})}],94561)}];
2
2
 
3
3
  //# sourceMappingURL=apps_web_app_day_%5Bdate%5D_day-view_tsx_0wjoe1u._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[73855,a=>{"use strict";var b=a.i(7997),c=a.i(95936);a.i(37075);var d=a.i(68787),e=a.i(47058),f=a.i(30657),g=a.i(44104);a.i(16327);var h=a.i(72592),i=a.i(85160),j=a.i(24471),k=a.i(44826);function l(a){let b=new Date(`${a}T00:00:00`);return b.setDate(b.getDate()-7),`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`}function m(a,b){for(let c of function(a){let b=[],c=new Date(`${a}T00:00:00`);for(let a=0;a<7;a++){let d=new Date(c);d.setDate(c.getDate()+a),b.push(`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,"0")}-${String(d.getDate()).padStart(2,"0")}`)}return b}(a))if(b.has(c))return!0;return!1}function n(a){let b=new Date(`${a}T12:00:00`),c=new Date(b);c.setDate(b.getDate()+6);let d=a=>a.toLocaleDateString("en-US",{month:"short",day:"numeric"});return`${d(b)} — ${d(c)}`}async function o(){let a=(0,d.readSettings)().ai_features.enabled,c=(0,i.lastCompletedWeekMonday)(),o=(0,e.readWeekDigest)(c),q=(0,e.readWeekDigest)(l(c)),r=function(){let a=new Set;for(let b of(0,g.listEntryKeys)()){let c=(0,h.parseEntryKey)(b);c&&a.add(c.local_day)}return a}(),s=!!o||m(c,r),t=a&&!o&&!(0,f.interactiveLockFresh)(Date.now()),u=l(c),v=(0,i.currentWeekMonday)(),w=v>c?v:null,x=!!w&&m(w,r);return(0,b.jsxs)("div",{style:{paddingBottom:64},children:[(0,b.jsx)(k.InsightsTopBar,{scope:"week",currentLabel:`Week of ${c}`,rangeLabel:n(c),prev:{key:`week-${u}`,label:n(u).split(" — ")[0],cached:!!q},next:w&&x?{key:`week-${w}`,label:n(w).split(" — ")[0],cached:!1}:null}),(0,b.jsx)("section",{style:{paddingTop:8},children:s?(0,b.jsx)(j.WeekDigestView,{initial:o,monday:c,aiEnabled:a,autoFire:t,prior:q}):(0,b.jsx)(p,{aiOn:a})})]})}function p({aiOn:a}){return(0,b.jsx)("div",{style:{maxWidth:720,margin:"16px auto 0",padding:"20px 40px"},children:(0,b.jsxs)("div",{style:{padding:"20px 22px",borderRadius:12,background:"var(--af-surface)",border:"1px dashed var(--af-border)"},children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--af-text-tertiary)",marginBottom:6},children:"No data yet"}),(0,b.jsx)("p",{style:{fontSize:13,lineHeight:1.6,margin:"0 0 12px",color:"var(--af-text)"},children:"A week digest needs per-day perception entries first. Each session you run with Claude Code generates entries automatically; once a few days have passed, this page will start producing a weekly retrospective."}),(0,b.jsx)("p",{style:{fontSize:12,lineHeight:1.6,margin:"0 0 14px",color:"var(--af-text-secondary)"},children:a?"AI features are on. Run any session, then revisit — or use the home page to backfill recent days from existing transcripts.":"AI narratives are off. Enable them in Settings to see headlines, friction patterns, and weekly suggestions."}),(0,b.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,b.jsx)(c.default,{href:"/",style:q,children:"Home · backfill recent days"}),!a&&(0,b.jsx)(c.default,{href:"/settings",style:r,children:"Settings · enable AI features"})]})]})})}let q={padding:"7px 12px",borderRadius:6,background:"var(--af-accent)",color:"white",fontSize:12,fontWeight:600,textDecoration:"none"},r={padding:"7px 12px",borderRadius:6,background:"transparent",border:"1px solid var(--af-border)",color:"var(--af-text)",fontSize:12,fontWeight:500,textDecoration:"none"};a.s(["default",0,o,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],73855)},77015,a=>{a.n(a.i(73855))}];
2
+
3
+ //# sourceMappingURL=apps_web_app_insights_page_tsx_071kwyw._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[23426,a=>{"use strict";var b=a.i(87924),c=a.i(38246),d=a.i(72131),e=a.i(50944);a.i(99417);var f=a.i(69176),g=a.i(3444),h=a.i(87532),i=a.i(79808);let j=(0,a.i(70106).default)("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);var k=a.i(41710),l=a.i(6807),m=a.i(20555),n=a.i(76285),o=a.i(99309),p=a.i(75235),q=a.i(12958),r=a.i(5784);function s({value:a,onChange:c,options:e,placeholder:f="Select…",searchPlaceholder:g="Type to filter…",maxWidth:i=260,title:j}){let[k,l]=(0,d.useState)(!1),[m,n]=(0,d.useState)(""),[o,p]=(0,d.useState)(0),q=(0,d.useRef)(null),t=(0,d.useRef)(null),u=(0,d.useRef)(null),v=(0,d.useId)(),w=`${v}-listbox`,x=a=>`${v}-opt-${a}`,y=e.find(b=>b.value===a),z=(0,d.useMemo)(()=>{let a=m.trim().toLowerCase();return a?e.filter(b=>b.label.toLowerCase().includes(a)):e},[m,e]);(0,d.useEffect)(()=>{if(!k)return;n(""),p(Math.max(0,e.findIndex(b=>b.value===a)));let b=requestAnimationFrame(()=>t.current?.focus());return()=>cancelAnimationFrame(b)},[k]),(0,d.useEffect)(()=>{let a=u.current?.children[o];a?.scrollIntoView({block:"nearest"})},[o]);let A=()=>{l(!1),q.current?.focus()},B=a=>{c(a),A()},C=z[o]?x(o):void 0;return(0,b.jsxs)("div",{style:{position:"relative",maxWidth:i},children:[(0,b.jsxs)("button",{ref:q,type:"button",onClick:()=>l(a=>!a),title:j,"aria-haspopup":"listbox","aria-expanded":k,style:{display:"flex",alignItems:"center",gap:6,width:"100%",background:"var(--background)",border:`1px solid ${k?"var(--af-accent)":"var(--af-border-subtle)"}`,borderRadius:8,padding:"9px 12px",color:"var(--af-text)",fontSize:13,cursor:"pointer",textAlign:"left"},children:[(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:y?"var(--af-text)":"var(--af-text-tertiary)"},children:y?.label??f}),(0,b.jsx)(r.ChevronDown,{size:13,style:{marginLeft:"auto",flexShrink:0,color:"var(--af-text-tertiary)"}})]}),k&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{onClick:()=>l(!1),style:{position:"fixed",inset:0,zIndex:40}}),(0,b.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,minWidth:"100%",width:"max-content",maxWidth:380,zIndex:41,background:"var(--af-surface)",border:"1px solid var(--af-border-subtle)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.28)",overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{position:"relative",padding:6,borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)(h.Search,{size:12,style:{position:"absolute",left:15,top:"50%",transform:"translateY(-50%)",color:"var(--af-text-tertiary)"}}),(0,b.jsx)("input",{ref:t,type:"text",role:"combobox","aria-expanded":k,"aria-controls":w,"aria-activedescendant":C,"aria-autocomplete":"list",value:m,onChange:a=>{n(a.target.value),p(0)},placeholder:g,onKeyDown:a=>{if("ArrowDown"===a.key)a.preventDefault(),p(a=>Math.min(a+1,Math.max(0,z.length-1)));else if("ArrowUp"===a.key)a.preventDefault(),p(a=>Math.max(a-1,0));else if("Enter"===a.key){a.preventDefault();let b=z[o];b&&B(b.value)}else"Escape"===a.key?(a.preventDefault(),A()):"Tab"===a.key&&l(!1)},style:{width:"100%",paddingLeft:30,fontSize:12}})]}),(0,b.jsx)("div",{ref:u,role:"listbox",id:w,style:{maxHeight:300,overflowY:"auto",padding:4},children:0===z.length?(0,b.jsx)("div",{style:{padding:"8px 10px",fontSize:12,color:"var(--af-text-tertiary)"},children:"No matches"}):z.map((c,d)=>(0,b.jsx)("button",{id:x(d),type:"button",role:"option","aria-selected":c.value===a,onClick:()=>B(c.value),onMouseEnter:()=>p(d),style:{display:"block",width:"100%",textAlign:"left",padding:"6px 10px",fontSize:12,border:"none",borderRadius:4,cursor:"pointer",background:d===o?"var(--af-surface-hover)":"transparent",color:c.value===a?"var(--af-accent)":"var(--af-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c.label},c.value))})]})]})]})}var t=a.i(44220);let u=["newest","longest","most-tokens","outcome"],v=[{key:"outcome",header:"Outcome",sortValue:a=>(0,t.outcomePriority)(a.outcome),render:a=>(0,b.jsx)(w,{row:a})},{key:"project",header:"Project",sortValue:a=>a.session.projectName,render:a=>(0,b.jsxs)("div",{style:{maxWidth:180,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:a.session.projectName,children:[(0,b.jsxs)("div",{style:{fontWeight:500,display:"flex",alignItems:"center",gap:6},children:[(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:(0,g.prettyProjectName)(a.session.projectName)}),(0,b.jsx)(n.TeamBadge,{session:a.session}),(0,b.jsx)(o.AgentBadge,{agent:a.session.agent})]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:(0,g.shortId)(a.session.id)})]})},{key:"preview",header:"Summary",sortable:!1,render:a=>{let c=a.briefSummary??a.session.firstUserPreview??"",d=!a.briefSummary;return(0,b.jsx)("div",{style:{maxWidth:360,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:d?"var(--af-text-tertiary)":"var(--af-text-secondary)",fontStyle:d?"italic":"normal"},title:d?`(raw user message) ${c}`:c,children:c||"—"})}},{key:"created",header:"Created",sortValue:a=>a.session.firstTimestamp?Date.parse(a.session.firstTimestamp):0,align:"right",render:a=>(0,b.jsx)("span",{suppressHydrationWarning:!0,style:{fontFamily:"var(--font-mono)",fontSize:11},children:a.session.firstTimestamp?(0,g.formatRelative)(a.session.firstTimestamp):"—"})},{key:"lastActive",header:"Last active",sortValue:a=>a.session.lastTimestamp?Date.parse(a.session.lastTimestamp):0,align:"right",render:a=>(0,b.jsx)("span",{suppressHydrationWarning:!0,style:{fontFamily:"var(--font-mono)",fontSize:11},children:a.session.lastTimestamp?(0,g.formatRelative)(a.session.lastTimestamp):"—"})},{key:"airtime",header:"Agent time",sortValue:a=>a.session.airTimeMs??a.session.durationMs??0,align:"right",render:a=>(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(0,g.formatDuration)(a.session.airTimeMs??a.session.durationMs??0)})},{key:"turns",header:"Turns",sortValue:a=>a.session.turnCount??0,align:"right",render:a=>(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(a.session.turnCount??0).toLocaleString()})},{key:"tools",header:"Tool calls",sortValue:a=>a.session.toolCallCount??0,align:"right",render:a=>(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(a.session.toolCallCount??0).toLocaleString()})},{key:"tokens",header:"Tokens",sortValue:a=>a.session.totalUsage.input+a.session.totalUsage.output+a.session.totalUsage.cacheRead+a.session.totalUsage.cacheWrite,align:"right",render:a=>(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:(0,g.formatTokens)(a.session.totalUsage.input+a.session.totalUsage.output+a.session.totalUsage.cacheRead+a.session.totalUsage.cacheWrite)})},{key:"status",header:"Status",sortValue:a=>+("running"===a.session.status),align:"center",render:a=>"running"===a.session.status?(0,b.jsx)(m.LiveBadge,{}):(0,b.jsx)("span",{style:{opacity:.4},children:"—"})}];function w({row:a}){return a.outcome?(0,b.jsx)(t.OutcomePill,{outcome:a.outcome,size:"sm",label:"text",agent:a.session.agent}):a.enrichmentStatus&&a.latestLocalDay&&"skipped_trivial"!==a.enrichmentStatus?(0,b.jsx)(t.OutcomePill,{outcome:null,pending:!0,sessionId:a.session.id,localDay:a.latestLocalDay,size:"sm",agent:a.session.agent}):(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)",fontSize:10},children:"—"})}function x({row:a}){let d=(0,e.useRouter)(),{session:f,briefSummary:h,outcome:p,latestLocalDay:q,enrichmentStatus:r}=a,s=f.totalUsage.input+f.totalUsage.output+f.totalUsage.cacheRead+f.totalUsage.cacheWrite,u=!p&&r&&"skipped_trivial"!==r&&q,v=h??f.firstUserPreview??"",w=!h;return(0,b.jsxs)(c.default,{href:`/sessions/${f.id}`,className:"af-card",style:{display:"flex",flexDirection:"column",gap:10,padding:"14px 16px"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,b.jsxs)("div",{style:{fontSize:11,color:"var(--af-text-tertiary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:6,minWidth:0},title:f.projectName,children:[(0,b.jsx)(m.LiveBadge,{mtimeIso:f.lastTimestamp,activityMs:f.lastActivityMs}),(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,g.prettyProjectName)(f.projectName)}),(0,b.jsx)(n.TeamBadge,{session:f,linkable:!1}),(0,b.jsx)(o.AgentBadge,{agent:f.agent})]}),(0,b.jsx)("div",{style:{fontSize:10,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)",flexShrink:0},suppressHydrationWarning:!0,children:f.firstTimestamp?(0,g.formatRelative)(f.firstTimestamp):"—"})]}),(p||u)&&(0,b.jsx)("div",{onClick:a=>a.stopPropagation(),children:p?(0,b.jsx)(t.OutcomePill,{outcome:p,size:"md",agent:f.agent}):u?(0,b.jsx)("span",{role:"link",tabIndex:0,title:`Generate ${q} digest →`,onClick:a=>{a.preventDefault(),a.stopPropagation(),d.push(`/digest/${q}`)},onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),a.stopPropagation(),d.push(`/digest/${q}`))},style:{cursor:"pointer",display:"inline-flex"},children:(0,b.jsx)(t.OutcomePill,{outcome:null,pending:!0,sessionId:f.id,localDay:q,size:"md",agent:f.agent,noLink:!0})}):null}),(0,b.jsx)("div",{style:{fontSize:13,color:w?"var(--af-text-secondary)":"var(--af-text)",fontStyle:w?"italic":"normal",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",minHeight:36,lineHeight:1.4},title:w?`(raw user message) ${v}`:v,children:v||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"(no user message)"})}),w&&(0,b.jsx)("div",{style:{fontSize:11.5,color:"var(--af-text-secondary)",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",lineHeight:1.4,paddingLeft:10,borderLeft:"2px solid var(--af-accent-subtle)"},title:f.lastAgentPreview,children:f.lastAgentPreview||(0,b.jsx)("em",{style:{color:"var(--af-text-tertiary)"},children:"—"})}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,fontSize:10.5,color:"var(--af-text-tertiary)",paddingTop:8,borderTop:"1px solid var(--af-border-subtle)",fontFamily:"var(--font-mono)"},children:[(0,b.jsx)(y,{icon:(0,b.jsx)(j,{size:11}),label:`${f.turnCount??0} turn${1===f.turnCount?"":"s"}`}),(0,b.jsx)(y,{icon:(0,b.jsx)(i.Wrench,{size:11}),label:`${f.toolCallCount??0} tools`}),(f.spawnedAgentCount??0)>0&&(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"#EA580C",fontWeight:600},title:`${f.workflowCount} workflow${1===f.workflowCount?"":"s"} spawned ${f.spawnedAgentCount} agents`,children:[(0,b.jsx)(l.Workflow,{size:11}),f.spawnedAgentCount," agents"]}),(0,b.jsx)(y,{icon:(0,b.jsx)(k.Clock,{size:11}),label:(0,g.formatDuration)(f.airTimeMs??f.durationMs)}),(0,b.jsx)("span",{style:{marginLeft:"auto"},children:(0,g.formatTokens)(s)})]})]})}function y({icon:a,label:c}){return(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[a,c]})}a.s(["SessionsGrid",0,function({rows:a}){var c;let i=(0,e.useRouter)(),j=(0,e.usePathname)(),k=(0,e.useSearchParams)(),l=k.get("q")??"",m=k.get("project")??"all",n=k.get("agent"),o=(0,f.isAgentKind)(n)?n:"all",r=null!=(c=k.get("sort"))&&u.includes(c)?k.get("sort"):"newest",{mode:w,toggle:y}=(0,q.useViewToggle)("cclens:sessions:view"),z=(0,d.useCallback)((a,b,c)=>{let d=new URLSearchParams(k.toString());b&&b!==c?d.set(a,b):d.delete(a);let e=d.toString();i.replace(e?`${j}?${e}`:j,{scroll:!1})},[j,i,k]),A=(0,d.useMemo)(()=>["all",...Array.from(new Set(a.map(a=>a.session.projectName))).sort()],[a]),B=(0,d.useMemo)(()=>{let b=new Map;for(let c of a){let a=c.session.agent??"claude-code";b.set(a,(b.get(a)??0)+1)}return Array.from(b.entries()).sort((a,b)=>b[1]-a[1])},[a]),C=(0,d.useMemo)(()=>{let b=a.slice();if("all"!==m&&(b=b.filter(a=>a.session.projectName===m)),"all"!==o&&(b=b.filter(a=>(a.session.agent??"claude-code")===o)),l){let a=l.toLowerCase();b=b.filter(({session:b,briefSummary:c})=>b.id.toLowerCase().includes(a)||(c??"").toLowerCase().includes(a)||(b.firstUserPreview??"").toLowerCase().includes(a)||(b.lastAgentPreview??"").toLowerCase().includes(a)||b.projectName.toLowerCase().includes(a))}return"newest"===r?b.sort((a,b)=>(b.session.firstTimestamp?Date.parse(b.session.firstTimestamp):0)-(a.session.firstTimestamp?Date.parse(a.session.firstTimestamp):0)):"longest"===r?b.sort((a,b)=>(b.session.airTimeMs??b.session.durationMs??0)-(a.session.airTimeMs??a.session.durationMs??0)):"most-tokens"===r?b.sort((a,b)=>b.session.totalUsage.input+b.session.totalUsage.output+b.session.totalUsage.cacheRead-(a.session.totalUsage.input+a.session.totalUsage.output+a.session.totalUsage.cacheRead)):"outcome"===r&&b.sort((a,b)=>(0,t.outcomePriority)(b.outcome)-(0,t.outcomePriority)(a.outcome)),b},[a,m,o,l,r]);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{display:"flex",gap:10,marginBottom:16,flexWrap:"wrap",alignItems:"center"},children:[(0,b.jsxs)("div",{style:{position:"relative",flex:1,minWidth:260,maxWidth:480},children:[(0,b.jsx)(h.Search,{size:13,color:"var(--af-text-tertiary)",style:{position:"absolute",left:12,top:"50%",transform:"translateY(-50%)"}}),(0,b.jsx)("input",{type:"text",placeholder:"Search by message, project, or ID",value:l,onChange:a=>z("q",a.target.value,""),style:{width:"100%",paddingLeft:32}})]}),(0,b.jsx)(s,{value:m,onChange:a=>z("project",a,"all"),title:"Filter by project",searchPlaceholder:"Filter projects…",options:A.map(a=>({value:a,label:"all"===a?"All projects":(0,g.prettyProjectName)(a)}))}),B.length>1&&(0,b.jsxs)("select",{value:o,onChange:a=>z("agent",a.target.value,"all"),title:"Filter by source agent",children:[(0,b.jsx)("option",{value:"all",children:"All agents"}),B.map(([a,c])=>{var d;return(0,b.jsxs)("option",{value:a,children:[(d=a,(0,f.getAgentMetadata)(d)?.displayName??d)," (",c,")"]},a)})]}),(0,b.jsxs)("select",{value:r,onChange:a=>z("sort",a.target.value,"newest"),children:[(0,b.jsx)("option",{value:"newest",children:"Newest"}),(0,b.jsx)("option",{value:"longest",children:"Longest"}),(0,b.jsx)("option",{value:"most-tokens",children:"Most tokens"}),(0,b.jsx)("option",{value:"outcome",children:"Outcome"})]}),(0,b.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:C.length}),y]}),0===C.length?(0,b.jsx)("div",{className:"af-empty",children:"No sessions found."}):"table"===w?(0,b.jsx)(p.DataTable,{rows:C,getRowKey:a=>`${a.session.projectDir}/${a.session.id}`,onRowClick:a=>i.push(`/sessions/${a.session.id}`),defaultSortKey:"lastActive",defaultSortDir:"desc",columns:v}):(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(360px, 1fr))",gap:14},children:C.map(a=>(0,b.jsx)(x,{row:a},`${a.session.projectDir}/${a.session.id}`))})]})}],23426)}];
2
+
3
+ //# sourceMappingURL=apps_web_app_sessions_sessions-grid_tsx_0bri5x.._.js.map
@@ -0,0 +1,6 @@
1
+ module.exports=[65282,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=(0,a.i(70106).default)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);function e({digestKey:a}){let[f,g]=(0,c.useState)("idle"),[h,i]=(0,c.useState)(null);async function j(){g("loading"),i(null);try{var b,c;let d,e,f=await fetch(`/api/pdf/${a}`,{method:"POST"});if(!f.ok){let a=await f.json().catch(()=>({error:`HTTP ${f.status}`}));throw Error(a.error??`HTTP ${f.status}`)}let h=await f.blob(),i=function(a){if(!a)return null;let b=/filename="([^"]+)"/.exec(a)??/filename=([^;]+)/.exec(a);return b?b[1].trim():null}(f.headers.get("content-disposition"))??`fleetlens-${a}.pdf`;b=h,c=i,d=URL.createObjectURL(b),(e=document.createElement("a")).href=d,e.download=c,document.body.appendChild(e),e.click(),e.remove(),setTimeout(()=>URL.revokeObjectURL(d),1e3),g("idle")}catch(a){i(a instanceof Error?a.message:String(a)),g("error")}}let k="loading"===f;return(0,b.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:(0,b.jsxs)("button",{onClick:j,disabled:k,title:h??"Download as PDF",style:{padding:"2px 8px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:4,fontSize:10,color:"error"===f?"#f56565":"var(--af-text-secondary)",cursor:k?"default":"pointer",opacity:k?.6:1,display:"inline-flex",alignItems:"center",gap:4},children:[(0,b.jsx)(d,{size:11}),"loading"===f?"Exporting…":"error"===f?"Retry PDF":"PDF"]})})}a.s(["DigestActions",0,function({digestKey:a,period:c,hasDigest:d,narrativeFresh:f,isStreaming:g,aiEnabled:h,progress:i,onGenerate:j,onReroll:k,rerollTitle:l}){var m,n;let o=`Re-roll the narrative for this ${c}`,p=d?(0,b.jsx)(e,{digestKey:`${c}-${a}`}):null,q=null;return!f&&h?q=(0,b.jsx)("button",{onClick:j,disabled:g,style:{padding:"4px 10px",background:"var(--af-accent)",color:"white",border:"none",borderRadius:5,cursor:(m=g)?"default":"pointer",fontSize:11,fontWeight:600,opacity:m?.6:1},children:g?"Generating...":d?"Generate":"Generate digest"}):h&&(q=(0,b.jsxs)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)",display:"inline-flex",gap:6,alignItems:"center"},children:["✓ Up to date",(0,b.jsx)("button",{onClick:k,disabled:g,title:l??o,style:{padding:"2px 7px",background:"transparent",border:"1px solid var(--af-border-subtle)",borderRadius:4,fontSize:10,color:"var(--af-text-secondary)",cursor:(n=g)?"default":"pointer",opacity:n?.6:1},children:g?"...":"Re-roll"})]})),i&&(q=(0,b.jsxs)(b.Fragment,{children:[q,(0,b.jsx)("span",{style:{fontSize:10,color:"var(--af-text-tertiary)"},children:i})]})),p&&(q=(0,b.jsxs)(b.Fragment,{children:[q,p]})),q}],65282)},85041,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(62684),e=a.i(65282);function f({monday:a,isStreaming:c,aiEnabled:d,progress:e,onGenerate:g}){let h=new Date(`${a}T12:00:00`),i=new Date(h);i.setDate(h.getDate()+6);let j=a=>a.toLocaleDateString("en-US",{month:"short",day:"numeric"}),k=`${j(h)} — ${j(i)}`;return(0,b.jsx)("div",{style:{maxWidth:980,margin:"0 auto",padding:"60px 40px"},children:(0,b.jsxs)("div",{style:{margin:"0 auto",maxWidth:480,padding:"32px 28px",borderRadius:14,background:"var(--af-surface)",border:"1px dashed var(--af-border-subtle)",textAlign:"center"},children:[(0,b.jsx)("div",{style:{width:44,height:44,borderRadius:12,margin:"0 auto 16px",background:"var(--af-accent-subtle)",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--af-accent)",fontSize:20},children:"✦"}),(0,b.jsx)("h2",{style:{fontSize:16,fontWeight:600,margin:"0 0 6px",color:"var(--af-text)",letterSpacing:"-0.01em"},children:c?"Generating digest…":"No digest yet for this week"}),(0,b.jsx)("p",{style:{fontSize:12.5,lineHeight:1.55,margin:"0 0 18px",color:"var(--af-text-secondary)"},children:c?`Synthesizing ${k} from this week's day digests. This usually takes 5–10 minutes.`:d?`Once generated, this view shows top sessions, trajectory, findings, and project areas for ${k}.`:`Enable AI features in Settings to synthesize a weekly narrative for ${k}. Deterministic stats are still available below in the live digest as soon as data lands.`}),d&&(0,b.jsx)("button",{onClick:g,disabled:c,style:{padding:"9px 18px",borderRadius:8,background:c?"var(--af-border-subtle)":"var(--af-accent)",color:c?"var(--af-text-tertiary)":"white",border:"none",cursor:c?"default":"pointer",fontSize:13,fontWeight:600,letterSpacing:"-0.005em"},children:c?"Generating…":"Generate digest"}),e&&(0,b.jsx)("div",{style:{marginTop:12,fontSize:10.5,color:"var(--af-text-tertiary)",fontFamily:"var(--font-mono)"},children:e})]})})}a.s(["WeekDigestView",0,function({initial:a,monday:g,aiEnabled:h,autoFire:i=!1,prior:j}){let[k,l]=(0,c.useState)(a),[m,n]=(0,c.useState)("idle"),[o,p]=(0,c.useState)(""),q=(0,c.useRef)(!1),r=(0,c.useCallback)(async(a=!1)=>{n("streaming"),p("Starting...");let b=`/api/digest/week/${g}${a?"?force=1":""}`,c=await fetch(b,{method:"POST"});if(!c.ok||!c.body){n("error"),p(`Error ${c.status}`);return}let d=c.body.getReader(),e=new TextDecoder,f="";for(;;){let{done:a,value:b}=await d.read();if(a)break;let c=(f+=e.decode(b,{stream:!0})).split("\n\n");for(let a of(f=c.pop()??"",c)){let b=a.split("\n").find(a=>a.startsWith("data: "));if(b)try{let a=JSON.parse(b.slice(6));if("status"===a.type)p(a.text);else if("dependency"===a.type)p(`${"day"===a.kind?"Day":"Week"} ${a.key} ${a.status}`);else if("entry"===a.type)p(`Enriching ${a.index}/${a.total}...`);else if("progress"===a.type){let b=Math.round(a.elapsed_ms/1e3);p(`Claude composing… ${a.bytes.toLocaleString()} chars (${b}s)`)}else if("digest"===a.type)a.digest&&"week"===a.digest.scope&&l(a.digest),p("Rendering...");else if("saved"===a.type)p("Saved.");else if("error"===a.type){n("error"),p(a.message);return}}catch{}}}n("done"),p("")},[g]);(0,c.useEffect)(()=>{i&&!q.current&&"idle"===m&&(q.current=!0,r(!1))},[i,m,r]);let s="streaming"===m,t=!!k?.headline,u=(0,b.jsx)(e.DigestActions,{digestKey:g,period:"week",hasDigest:!!k,narrativeFresh:t,isStreaming:s,aiEnabled:h,progress:o,onGenerate:()=>r(!1),onReroll:()=>r(!0),rerollTitle:"Re-roll the narrative for this week"});return k?(0,b.jsx)(d.WeekDigest,{digest:k,aiEnabled:h,actions:u,priorDigest:j??null}):(0,b.jsx)(f,{monday:g,isStreaming:s,aiEnabled:h,progress:o,onGenerate:()=>r(!1)})}])},76435,a=>{"use strict";var b=a.i(87924),c=a.i(38246),d=a.i(72131),e=a.i(13749),f=a.i(50522);let g=(0,a.i(70106).default)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);var h=a.i(33508);function i({inDrawer:a=!1}={}){let[c,e]=(0,d.useState)("weeks"),[f,g]=(0,d.useState)(null),[h,p]=(0,d.useState)(null);return(0,d.useEffect)(()=>{fetch("/api/digest/week-index?count=12").then(a=>a.json()).then(a=>g(a.weeks)).catch(()=>g([])),fetch("/api/digest/month-index?count=6").then(a=>a.json()).then(a=>p(a.months)).catch(()=>p([]))},[]),(0,b.jsxs)("div",{style:a?{padding:"0 18px"}:{maxWidth:980,margin:"0 auto",padding:"28px 40px 0"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:a?14:18},children:[!a&&(0,b.jsx)("h2",{style:{fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--af-text-tertiary)",margin:0,marginRight:4},children:"History"}),(0,b.jsx)("div",{style:m,children:["weeks","months"].map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>e(a),style:{...n,background:c===a?"var(--af-accent)":"transparent",color:c===a?"white":"var(--af-text-secondary)"},children:"weeks"===a?"Weeks":"Months"},a))})]}),"weeks"===c?null===f?(0,b.jsx)(l,{children:"Loading weeks…"}):0===f.length?(0,b.jsx)(l,{children:"No history yet."}):(0,b.jsx)("ul",{style:o,children:f.map(a=>(0,b.jsx)(j,{w:a},a.start))}):null===h?(0,b.jsx)(l,{children:"Loading months…"}):0===h.length?(0,b.jsx)(l,{children:"No history yet."}):(0,b.jsx)("ul",{style:o,children:h.map(a=>(0,b.jsx)(k,{m:a},a.start))})]})}function j({w:a}){let d=0===a.active_days&&!a.in_progress&&!a.saved_key,e=a.saved_key?`/insights/${a.saved_key}`:`/insights/week-${a.start}`,f=a.saved_key&&a.headline?a.headline:d?"no data":a.in_progress?"in progress · click to view":`${a.active_days} active day${1===a.active_days?"":"s"} \xb7 click to generate`;return(0,b.jsx)("li",{style:p(!!a.saved_key),children:(0,b.jsxs)(c.default,{href:e,style:{display:"flex",flexDirection:"column",gap:4,textDecoration:"none",flex:1,minWidth:0},children:[(0,b.jsxs)("div",{style:q,children:[(0,b.jsxs)("span",{style:{fontSize:13,fontWeight:600,color:"var(--af-text)",letterSpacing:"-0.01em"},children:["W",String(a.iso_week).padStart(2,"0")," · ",a.label]}),a.in_progress&&(0,b.jsx)("span",{style:s,children:"in progress"}),a.saved_key&&(0,b.jsxs)("span",{style:{fontSize:10,fontWeight:600,color:"var(--af-accent)",marginLeft:"auto"},children:[a.shipped_count," PR · ",a.agent_min,"m"]})]}),(0,b.jsx)("span",{style:r,children:f})]})})}function k({m:a}){let d=0===a.active_days&&!a.in_progress&&!a.saved_key,e=a.saved_key?`/insights/${a.saved_key}`:`/insights/month-${a.start.slice(0,7)}`,f=a.saved_key&&a.headline?a.headline:d?"no data":a.in_progress?"in progress · click to view":`${a.active_days} active day${1===a.active_days?"":"s"} \xb7 click to generate`;return(0,b.jsx)("li",{style:p(!!a.saved_key),children:(0,b.jsxs)(c.default,{href:e,style:{display:"flex",flexDirection:"column",gap:4,textDecoration:"none",flex:1,minWidth:0},children:[(0,b.jsxs)("div",{style:q,children:[(0,b.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--af-text)",letterSpacing:"-0.01em"},children:a.label}),a.in_progress&&(0,b.jsx)("span",{style:s,children:"in progress"}),a.saved_key&&(0,b.jsxs)("span",{style:{fontSize:10,fontWeight:600,color:"var(--af-accent)",marginLeft:"auto"},children:[a.shipped_count," PR · ",a.agent_min,"m"]})]}),(0,b.jsx)("span",{style:r,children:f})]})})}function l({children:a}){return(0,b.jsx)("div",{style:{padding:"20px 18px",borderRadius:10,border:"1px dashed var(--af-border)",background:"var(--af-surface)",fontSize:13,color:"var(--af-text-tertiary)",lineHeight:1.55},children:a})}let m={display:"inline-flex",gap:3,border:"1px solid var(--af-border)",borderRadius:8,padding:2},n={padding:"5px 14px",fontSize:12,fontWeight:600,border:"none",borderRadius:6,cursor:"pointer"},o={listStyle:"none",padding:0,margin:0,display:"flex",flexDirection:"column",gap:4};function p(a){return{display:"flex",alignItems:"stretch",gap:14,padding:"10px 14px",borderRadius:10,border:`1px solid ${a?"color-mix(in srgb, var(--af-accent) 24%, var(--af-border))":"var(--af-border-subtle)"}`,background:a?"color-mix(in srgb, var(--af-accent) 6%, var(--af-surface))":"var(--af-surface)",transition:"border-color 0.15s"}}let q={display:"flex",alignItems:"center",gap:8,minWidth:0},r={fontSize:11,color:"var(--af-text-tertiary)",lineHeight:1.5,fontFamily:"var(--font-mono)"},s={fontSize:10,fontWeight:500,padding:"2px 6px",borderRadius:4,background:"color-mix(in srgb, #f5b445 18%, transparent)",color:"#c08a1f",letterSpacing:"0.02em"};function t({target:a,dir:d}){var g;let h="prev"===d?e.ChevronLeft:f.ChevronRight;return a?(0,b.jsxs)(c.default,{href:`/insights/${a.key}`,style:(g=a.cached,{display:"inline-flex",alignItems:"center",gap:4,padding:"5px 9px",borderRadius:6,border:`1px solid ${g?"color-mix(in srgb, var(--af-accent) 28%, var(--af-border))":"var(--af-border-subtle)"}`,background:g?"color-mix(in srgb, var(--af-accent) 6%, var(--af-surface))":"var(--af-surface)",color:g?"var(--af-accent)":"var(--af-text-secondary)",fontSize:11,fontWeight:500,fontFamily:"var(--font-mono)",textDecoration:"none"}),title:a.cached?`Saved digest \xb7 ${a.label}`:`${a.label} (no saved digest yet — will prompt to Generate)`,children:[(0,b.jsx)(h,{size:14}),(0,b.jsx)("span",{children:a.label})]}):(0,b.jsx)("span",{style:w,title:`No ${"prev"===d?"earlier":"later"} period`,children:(0,b.jsx)(h,{size:14})})}function u({onClose:a}){return(0,b.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Insights history",style:{position:"fixed",inset:0,zIndex:200,display:"flex",justifyContent:"flex-end"},children:[(0,b.jsx)("div",{onClick:a,style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.32)",animation:"fade-in 120ms ease-out"}}),(0,b.jsxs)("aside",{style:{position:"relative",width:"min(440px, 92vw)",height:"100vh",background:"var(--background)",borderLeft:"1px solid var(--af-border-subtle)",boxShadow:"-12px 0 40px rgba(0,0,0,0.32)",display:"flex",flexDirection:"column",animation:"slide-in 160ms cubic-bezier(0.2, 0.9, 0.3, 1)"},children:[(0,b.jsxs)("header",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--af-border-subtle)"},children:[(0,b.jsx)("h2",{style:{fontSize:13,fontWeight:600,margin:0,color:"var(--af-text)"},children:"Browse insights history"}),(0,b.jsx)("button",{type:"button",onClick:a,"aria-label":"Close history",style:{marginLeft:"auto",width:26,height:26,display:"inline-flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--af-border-subtle)",borderRadius:6,background:"transparent",color:"var(--af-text-secondary)",cursor:"pointer"},children:(0,b.jsx)(h.X,{size:14})})]}),(0,b.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"18px 0"},children:(0,b.jsx)(i,{inDrawer:!0})})]}),(0,b.jsx)("style",{children:`
2
+ @keyframes slide-in { from { transform: translateX(20px); opacity: 0 } to { transform: translateX(0); opacity: 1 } }
3
+ @keyframes fade-in { from { opacity: 0 } to { opacity: 1 } }
4
+ `})]})}let v={display:"inline-flex",alignItems:"center",gap:6,padding:"5px 11px",borderRadius:6,border:"1px solid var(--af-border-subtle)",background:"var(--af-surface)",color:"var(--af-text)",fontSize:11,fontWeight:500,cursor:"pointer",fontFamily:"inherit"},w={display:"inline-flex",alignItems:"center",gap:4,padding:"5px 9px",borderRadius:6,border:"1px solid var(--af-border-subtle)",background:"var(--af-surface)",color:"var(--af-text-tertiary)",fontSize:11,fontWeight:500,fontFamily:"var(--font-mono)",opacity:.45,cursor:"default"};a.s(["InsightsTopBar",0,function({scope:a,currentLabel:e,rangeLabel:f,prev:h,next:i}){let[j,k]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{if(!j)return;let a=a=>{"Escape"===a.key&&k(!1)};return window.addEventListener("keydown",a),document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",a),document.body.style.overflow=""}},[j]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("header",{style:{position:"sticky",top:0,zIndex:50,background:"color-mix(in srgb, var(--background) 90%, transparent)",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)",borderBottom:"1px solid var(--af-border-subtle)"},className:"no-print",children:(0,b.jsxs)("div",{style:{maxWidth:980,margin:"0 auto",padding:"12px 40px",display:"flex",alignItems:"center",gap:14,minHeight:44},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,minWidth:0},children:[(0,b.jsx)(c.default,{href:"/insights",style:{fontSize:10,fontWeight:700,color:"var(--af-text-tertiary)",textDecoration:"none",textTransform:"uppercase",letterSpacing:"0.08em",flexShrink:0},title:"Latest week digest",children:"Insights"}),(0,b.jsx)("span",{style:{color:"var(--af-text-tertiary)",fontSize:11,flexShrink:0},children:"›"}),(0,b.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--af-text)",letterSpacing:"-0.01em",minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),f&&(0,b.jsx)("span",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"var(--af-text-tertiary)",flexShrink:0},children:f})]}),(0,b.jsxs)("div",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:6},children:[(0,b.jsx)(t,{target:h,dir:"prev"}),(0,b.jsx)(t,{target:i,dir:"next"}),(0,b.jsxs)("button",{type:"button",onClick:()=>k(!0),style:v,title:`Browse ${"week"===a?"weekly":"monthly"} history`,children:[(0,b.jsx)(g,{size:13}),(0,b.jsx)("span",{children:"Browse"})]})]})]})}),j&&(0,b.jsx)(u,{onClose:()=>k(!1)})]})}],76435)}];
5
+
6
+ //# sourceMappingURL=apps_web_components_0l6hsch._.js.map