@wrongstack/webui 1.0.19 → 1.0.26

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 (259) hide show
  1. package/dist/assets/AgentRosterView-udJ14GYq.js +12 -0
  2. package/dist/assets/{AnalyticsDashboard-DmQd0E0V.js → AnalyticsDashboard-DwF-0cUA.js} +1 -1
  3. package/dist/assets/AudienceMemoryPanel-DpBGeZv_.js +3 -0
  4. package/dist/assets/ChangesView-BfM0T_aS.js +3 -0
  5. package/dist/assets/ChimeraReviewsView-Q_5C4DU1.js +1 -0
  6. package/dist/assets/ChronicleDashboard-D6LnZzhy.js +1 -0
  7. package/dist/assets/CodeEditor-DonrWH9u.js +2 -0
  8. package/dist/assets/CodeMap-Dxtc378S.js +1 -0
  9. package/dist/assets/{CronJobsPanel-TcZy_W2t.js → CronJobsPanel-Cn2PQO_p.js} +1 -1
  10. package/dist/assets/{DeadCodeScanPanel-BOD2JEyf.js → DeadCodeScanPanel-Mc5py-kJ.js} +1 -1
  11. package/dist/assets/{DebugDashboard-DFPNPzQ_.js → DebugDashboard-D0LRcT4J.js} +1 -1
  12. package/dist/assets/{DesignGalleryView-BXABwAji.js → DesignGalleryView-DAD-wRUc.js} +1 -1
  13. package/dist/assets/GoalView-CqeSw0tK.js +1 -0
  14. package/dist/assets/KanbanView-V-bkFftp.js +3 -0
  15. package/dist/assets/{MailboxDetailView-QyNmt1Gv.js → MailboxDetailView-CTEjap3r.js} +1 -1
  16. package/dist/assets/{MemoryDrawer-BZsyD1dh.js → MemoryDrawer-RCduY0FV.js} +1 -1
  17. package/dist/assets/MemoryManager-B-p6-Bic.js +1 -0
  18. package/dist/assets/{ProcessMonitor-Bz0jZvHJ.js → ProcessMonitor-B9tpPo4r.js} +1 -1
  19. package/dist/assets/PromptJournalView-DVNqlac9.js +1 -0
  20. package/dist/assets/ProviderTestView-mmfpnAbZ.js +1 -0
  21. package/dist/assets/QueuePanel-BB9qozjm.js +1 -0
  22. package/dist/assets/{RefreshDebugView-_XPrBDq3.js → RefreshDebugView-CCCWzq29.js} +1 -1
  23. package/dist/assets/{RepositoryHistoryView-Wlnvi5r1.js → RepositoryHistoryView-RQVRkkUU.js} +2 -2
  24. package/dist/assets/RequirementIntakeView-D_JRhgzW.js +1 -0
  25. package/dist/assets/{SageTabs-qrBn3VQr.js → SageTabs--k2hQTvl.js} +2 -2
  26. package/dist/assets/SddFlowGraph-DKrrRXKy.js +1 -0
  27. package/dist/assets/SddHub-B5XO56oY.js +2 -0
  28. package/dist/assets/{SessionInspectView-CuRk2DS0.js → SessionInspectView-j3VJwXNi.js} +1 -1
  29. package/dist/assets/SessionList-CCVHBseu.js +1 -0
  30. package/dist/assets/{SessionsDashboard-CSkm28Bx.js → SessionsDashboard-DsM7sXQw.js} +1 -1
  31. package/dist/assets/SetupScreen-DeuR8Y8S.js +1 -0
  32. package/dist/assets/SkillDetailView-BeZyGIpW.js +3 -0
  33. package/dist/assets/TechStackView-CpSMRQE0.js +2 -0
  34. package/dist/assets/TerminalPanel-BVJ5w-5R.js +1 -0
  35. package/dist/assets/activity-BS2aW_NN.js +10 -0
  36. package/dist/assets/activity-CR2KFruY.js +10 -0
  37. package/dist/assets/activity-Cd0qM2Hx.js +10 -0
  38. package/dist/assets/activity-DyXRoY2s.js +10 -0
  39. package/dist/assets/activity-bBAOetvE.js +10 -0
  40. package/dist/assets/activity-fI3Jy_jD.js +10 -0
  41. package/dist/assets/activity-t6fUmVjo.js +10 -0
  42. package/dist/assets/{button-BbeB5Qm8.js → button-UuKTnoM-.js} +1 -1
  43. package/dist/assets/chat-9GLubejR.js +1 -0
  44. package/dist/assets/chat-B50ssTLh.js +1 -0
  45. package/dist/assets/chat-CDioiM1L.js +1 -0
  46. package/dist/assets/chat-Cll_3gXD.js +1 -0
  47. package/dist/assets/chat-Cqhc6jQa.js +1 -0
  48. package/dist/assets/chat-DN1MggWt.js +1 -0
  49. package/dist/assets/chat-fyvZyUZM.js +1 -0
  50. package/dist/assets/chat-store-uzGtJfDz.js +1 -0
  51. package/dist/assets/{codemap-activity-store-Ha7XbGgq.js → codemap-activity-store-WjfEZe4_.js} +1 -1
  52. package/dist/assets/common-Bjl7V12m.js +1 -0
  53. package/dist/assets/common-BtyQBZBN.js +1 -0
  54. package/dist/assets/common-D0QL7rwb.js +1 -0
  55. package/dist/assets/common-DJRPtYAt.js +1 -0
  56. package/dist/assets/common-DPPTV3yw.js +1 -0
  57. package/dist/assets/common-DvjdaRhB.js +1 -0
  58. package/dist/assets/common-opV6EoLd.js +1 -0
  59. package/dist/assets/config-store-P5_updTQ.js +21 -0
  60. package/dist/assets/{dialog-b-Ai37sa.js → dialog-BDUaV5gY.js} +1 -1
  61. package/dist/assets/{empty-state-pfuS5znr.js → empty-state-BzoEa04Q.js} +1 -1
  62. package/dist/assets/{fonts-DRGbd-AM.js → fonts-C303yVU_.js} +2 -2
  63. package/dist/assets/i18n-t7rIS4DB.js +3 -0
  64. package/dist/assets/index-B4ELbNoz.js +181 -0
  65. package/dist/assets/index-qdrakcnP.css +1 -0
  66. package/dist/assets/{input-BA6D2L3K.js → input-DMnC2O7-.js} +1 -1
  67. package/dist/assets/{mailbox-store-ZQO_Rv6E.js → mailbox-store-DyOOYbni.js} +1 -1
  68. package/dist/assets/roster-ws-szSqUkqP.js +1 -0
  69. package/dist/assets/settings-BMHZcBqe.js +1 -0
  70. package/dist/assets/settings-BQ5J8WXE.js +1 -0
  71. package/dist/assets/settings-BfNJfO4z.js +1 -0
  72. package/dist/assets/settings-ClDQ01ie.js +1 -0
  73. package/dist/assets/settings-DD31lC4f.js +1 -0
  74. package/dist/assets/settings-Da3EIcna.js +1 -0
  75. package/dist/assets/settings-Dl_QM2QZ.js +1 -0
  76. package/dist/assets/{shared-BFJvAYzX.js → shared-CLNEiW00.js} +1 -1
  77. package/dist/assets/stores-Cx52UOxM.js +7 -0
  78. package/dist/assets/toasts-3tM1krOo.js +1 -0
  79. package/dist/assets/toasts-BrHW33qA.js +1 -0
  80. package/dist/assets/toasts-Buww129h.js +1 -0
  81. package/dist/assets/toasts-CSN9Fy47.js +1 -0
  82. package/dist/assets/toasts-DOoYxbHd.js +1 -0
  83. package/dist/assets/toasts-DkDnbhs_.js +1 -0
  84. package/dist/assets/toasts-Jo4VH13n.js +1 -0
  85. package/dist/assets/ui-store-DI0iusYZ.js +1 -0
  86. package/dist/assets/{utils-CKsqCaP8.js → utils-B21Devim.js} +1 -1
  87. package/dist/assets/{vector-memory-panel-YWv6xcza.js → vector-memory-panel-DnX-ODHC.js} +1 -1
  88. package/dist/assets/{vendor-V3ydTHqN.js → vendor-BfBvt432.js} +28 -28
  89. package/dist/assets/{view-navigation-DTs4cSQ6.js → view-navigation-Cvrp_uJm.js} +1 -1
  90. package/dist/components/BrowserLivePane.d.ts +2 -0
  91. package/dist/components/ChangesView.d.ts +3 -1
  92. package/dist/components/ChatInput/chat-input-bars.d.ts +1 -1
  93. package/dist/components/ChatInput/image-attachments.d.ts +19 -2
  94. package/dist/components/ChatInput/skill-mention-picker.d.ts +10 -0
  95. package/dist/components/ChatInput/slash-routing.d.ts +18 -0
  96. package/dist/components/ChatInput/use-paste-drop.d.ts +3 -0
  97. package/dist/components/ChatInput/use-prompt-queue-view.d.ts +13 -0
  98. package/dist/components/ChatView/BackgroundShellStrip.d.ts +16 -0
  99. package/dist/components/ChatView/TerminalStrip.d.ts +8 -0
  100. package/dist/components/CodeMap.d.ts +0 -12
  101. package/dist/components/CustomRosterPanel.d.ts +0 -1
  102. package/dist/components/GoalPanel.d.ts +2 -1
  103. package/dist/components/ImageDiffView.d.ts +12 -0
  104. package/dist/components/KanbanTaskExecution.d.ts +64 -0
  105. package/dist/components/KanbanTaskInspector.d.ts +1 -1
  106. package/dist/components/MessageBubble/AttachmentGallery.d.ts +1 -1
  107. package/dist/components/MessageBubble/GeneratedImagePreview.d.ts +10 -0
  108. package/dist/components/OfficeMapCanvas.d.ts +0 -7
  109. package/dist/components/SessionTabBar/summaries.d.ts +4 -0
  110. package/dist/components/SettingsPanel/BrainSection.d.ts +1 -1
  111. package/dist/components/SettingsPanel/JevSection.d.ts +4 -0
  112. package/dist/components/SettingsPanel/LimitsSection.d.ts +7 -0
  113. package/dist/components/SettingsPanel/MCPSection.d.ts +1 -37
  114. package/dist/components/SettingsPanel/MCPServerCards.d.ts +67 -0
  115. package/dist/components/SettingsPanel/MCPServerDialog.d.ts +11 -0
  116. package/dist/components/SettingsPanel/OAuthLoginSection.d.ts +2 -0
  117. package/dist/components/SettingsPanel/PreferenceControls.d.ts +8 -0
  118. package/dist/components/SettingsPanel/ProviderSavedProfiles.d.ts +50 -0
  119. package/dist/components/SettingsPanel/ProviderSection.d.ts +2 -79
  120. package/dist/components/SettingsPanel/SettingsNavigation.d.ts +12 -0
  121. package/dist/components/SettingsPanel/brain-section-options.d.ts +2 -3
  122. package/dist/components/SettingsPanel/contracts.d.ts +1 -0
  123. package/dist/components/SettingsPanel/official-servers.d.ts +1 -0
  124. package/dist/components/SettingsPanel/provider-section-types.d.ts +79 -0
  125. package/dist/components/SettingsPanel/use-brain-section.d.ts +28 -0
  126. package/dist/components/SidePanel/SessionList.d.ts +1 -34
  127. package/dist/components/SidePanel/session-history.d.ts +61 -0
  128. package/dist/components/SkillDetailView.d.ts +1 -1
  129. package/dist/components/SystemPromptPresetEditor.d.ts +9 -0
  130. package/dist/components/TerminalPanel.d.ts +8 -1
  131. package/dist/components/WorkspaceDock.d.ts +2 -2
  132. package/dist/components/chronicle-event-detail.d.ts +51 -0
  133. package/dist/components/context-dashboard-sections.d.ts +79 -0
  134. package/dist/components/review/ReviewDiff.d.ts +21 -0
  135. package/dist/components/review/ReviewTray.d.ts +15 -0
  136. package/dist/components/review/review-diff-model.d.ts +31 -0
  137. package/dist/components/use-code-map-flow.d.ts +25 -0
  138. package/dist/components/use-office-map-canvas.d.ts +42 -0
  139. package/dist/components/use-office-map-topology.d.ts +31 -0
  140. package/dist/components/use-skill-detail.d.ts +177 -0
  141. package/dist/components/vector-memory-panel/model.d.ts +9 -0
  142. package/dist/hooks/use-live-browser.d.ts +7 -0
  143. package/dist/hooks/useProviderModels.d.ts +2 -0
  144. package/dist/hooks/useWebSocket.d.ts +4 -5
  145. package/dist/hooks/ws-handlers/brain-handlers.d.ts +18 -0
  146. package/dist/hooks/ws-handlers/goal-handlers.d.ts +9 -0
  147. package/dist/hooks/ws-handlers/misc-handlers.d.ts +2 -21
  148. package/dist/hooks/ws-handlers/prompt-queue-handlers.d.ts +18 -0
  149. package/dist/index.css +3013 -3013
  150. package/dist/index.html +19 -19
  151. package/dist/index.js +98758 -91674
  152. package/dist/lib/auth-operation.d.ts +5 -0
  153. package/dist/lib/compact-file-tree.d.ts +30 -0
  154. package/dist/lib/project-image.d.ts +26 -0
  155. package/dist/lib/provider-warm.d.ts +3 -0
  156. package/dist/lib/sdd-theme.d.ts +2 -2
  157. package/dist/lib/ws-client-actions.d.ts +2 -0
  158. package/dist/lib/ws-client-domain-methods.d.ts +1 -1
  159. package/dist/lib/ws-client-session-methods.d.ts +3 -1
  160. package/dist/lib/ws-client.d.ts +3 -3
  161. package/dist/stores/chat-lane-data.d.ts +153 -0
  162. package/dist/stores/chat-lanes.d.ts +3 -174
  163. package/dist/stores/chat-queue-helpers.d.ts +9 -0
  164. package/dist/stores/chat-store-types.d.ts +3 -0
  165. package/dist/stores/chat-store.d.ts +1 -1
  166. package/dist/stores/context-editor-store.d.ts +1 -1
  167. package/dist/stores/council-log-store.d.ts +4 -0
  168. package/dist/stores/fleet-transcript.d.ts +14 -0
  169. package/dist/stores/git-changes-store.d.ts +3 -0
  170. package/dist/stores/goal-run-store.d.ts +8 -0
  171. package/dist/stores/goal-state-store.d.ts +3 -0
  172. package/dist/stores/goal-store.d.ts +9 -11
  173. package/dist/stores/local-prefs-defaults.d.ts +340 -0
  174. package/dist/stores/local-prefs.d.ts +2 -318
  175. package/dist/stores/notification-store.d.ts +9 -0
  176. package/dist/stores/review-store.d.ts +54 -0
  177. package/dist/stores/session-activity.d.ts +33 -0
  178. package/dist/stores/session-tab-store.d.ts +1 -46
  179. package/dist/stores/terminal-strip-store.d.ts +26 -0
  180. package/dist/stores/ui-store-chrome.d.ts +1 -1
  181. package/dist/stores/ui-store-persist.d.ts +2 -2
  182. package/dist/stores/ui-store-types.d.ts +4 -4
  183. package/dist/stores/ui-store.d.ts +5 -5
  184. package/dist/types/brain.d.ts +4 -2
  185. package/dist/types/client-message.d.ts +132 -11
  186. package/dist/types/jev.d.ts +62 -0
  187. package/dist/types/prompt-queue.d.ts +55 -0
  188. package/dist/types/protocol-core.d.ts +4 -216
  189. package/dist/types/runtime.d.ts +6 -39
  190. package/dist/types/server-message-files.d.ts +22 -0
  191. package/dist/types/server-message-mcp.d.ts +30 -0
  192. package/dist/types/server-message-system.d.ts +114 -0
  193. package/dist/types/server-message.d.ts +4 -3
  194. package/dist/types/system.d.ts +4 -24
  195. package/package.json +11 -10
  196. package/dist/assets/AgentRosterView-D4TuVXe8.js +0 -12
  197. package/dist/assets/AudienceMemoryPanel-DHJM4rf1.js +0 -3
  198. package/dist/assets/ChangesView-CZ-nCe26.js +0 -1
  199. package/dist/assets/ChimeraReviewsView-CNeRLesP.js +0 -1
  200. package/dist/assets/ChronicleDashboard-CYELq7EO.js +0 -1
  201. package/dist/assets/CodeEditor-CLscjkIR.js +0 -2
  202. package/dist/assets/CodeMap-CdVy9Q7V.js +0 -1
  203. package/dist/assets/GoalView-Cepqrg9l.js +0 -1
  204. package/dist/assets/KanbanView-FSePkLch.js +0 -3
  205. package/dist/assets/MemoryManager-IHmhWn4P.js +0 -1
  206. package/dist/assets/PromptJournalView-Ct8cLcGU.js +0 -1
  207. package/dist/assets/ProviderTestView-Dy3k2bVu.js +0 -1
  208. package/dist/assets/QueuePanel-oVkTB68Q.js +0 -1
  209. package/dist/assets/RequirementIntakeView-Cj5arGFF.js +0 -1
  210. package/dist/assets/SddFlowGraph-DS8R2zEj.js +0 -1
  211. package/dist/assets/SddHub-C8pHQYSM.js +0 -2
  212. package/dist/assets/SessionList-BgRb1Mp4.js +0 -1
  213. package/dist/assets/SetupScreen-CNcJ_9O9.js +0 -1
  214. package/dist/assets/SkillDetailView-Bc9owpaX.js +0 -3
  215. package/dist/assets/TechStackView-BHiGCRBT.js +0 -2
  216. package/dist/assets/TerminalPanel-7VeXK8LB.js +0 -1
  217. package/dist/assets/activity-1wlPY6yi.js +0 -10
  218. package/dist/assets/activity-BVbAv0x7.js +0 -10
  219. package/dist/assets/activity-BmJTU8kX.js +0 -10
  220. package/dist/assets/activity-By_aWEsY.js +0 -10
  221. package/dist/assets/activity-Cps_29WN.js +0 -10
  222. package/dist/assets/activity-Du_fOnvF.js +0 -10
  223. package/dist/assets/activity-p_2o4eC6.js +0 -10
  224. package/dist/assets/chat-6dE2AJNN.js +0 -1
  225. package/dist/assets/chat-B3AJmhGD.js +0 -1
  226. package/dist/assets/chat-BHsbpaVt.js +0 -1
  227. package/dist/assets/chat-BITJe8-v.js +0 -1
  228. package/dist/assets/chat-U-Jjb8_k.js +0 -1
  229. package/dist/assets/chat-_Xp5fDnj.js +0 -1
  230. package/dist/assets/chat-mSbSzPl5.js +0 -1
  231. package/dist/assets/chat-store-C-PKlsCR.js +0 -1
  232. package/dist/assets/common-BXosnbIt.js +0 -1
  233. package/dist/assets/common-CzfPgMjC.js +0 -1
  234. package/dist/assets/common-DDDPz7Dv.js +0 -1
  235. package/dist/assets/common-DYx9oSoC.js +0 -1
  236. package/dist/assets/common-DZ-05t4z.js +0 -1
  237. package/dist/assets/common-MjX8fcng.js +0 -1
  238. package/dist/assets/common-ipsuLC3n.js +0 -1
  239. package/dist/assets/config-store-xSv1mChc.js +0 -21
  240. package/dist/assets/i18n--QdD6NCn.js +0 -3
  241. package/dist/assets/index-DiX5j910.css +0 -1
  242. package/dist/assets/index-FWwLmwjx.js +0 -177
  243. package/dist/assets/roster-ws-CxKDc-ET.js +0 -1
  244. package/dist/assets/settings-B5Jy-ObI.js +0 -1
  245. package/dist/assets/settings-BXTJJ4n-.js +0 -1
  246. package/dist/assets/settings-BcXAVecM.js +0 -1
  247. package/dist/assets/settings-ByPfZHGm.js +0 -1
  248. package/dist/assets/settings-CCe4iHcn.js +0 -1
  249. package/dist/assets/settings-D2GLiaDO.js +0 -1
  250. package/dist/assets/settings-gB9nKL3f.js +0 -1
  251. package/dist/assets/stores-2kakt8j9.js +0 -7
  252. package/dist/assets/toasts-BsmyGP95.js +0 -1
  253. package/dist/assets/toasts-CgXHu8ZB.js +0 -1
  254. package/dist/assets/toasts-DZ6HdKgG.js +0 -1
  255. package/dist/assets/toasts-DizCJjAR.js +0 -1
  256. package/dist/assets/toasts-NC2MT4uN.js +0 -1
  257. package/dist/assets/toasts-bPl097de.js +0 -1
  258. package/dist/assets/toasts-tCVo15mP.js +0 -1
  259. package/dist/assets/ui-store-DC3mkswy.js +0 -1
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{K as t}from"./config-store-xSv1mChc.js";import{i as n,t as r}from"./react-core-wiHys0m2.js";import{Dn as i,Ha as a,Ii as o,In as s,Ka as c,Mt as ee,Rr as te,Vn as ne,Yi as l,Yt as u,ci as d,da as re,ho as f,ja as p,ln as m,pi as ie,xo as h,yn as g}from"./vendor-V3ydTHqN.js";import"./i18n--QdD6NCn.js";import{t as _}from"./utils-CKsqCaP8.js";import{E as ae,T as oe}from"./index-FWwLmwjx.js";var v=e(n(),1),y=r();function b({status:e}){let{t}=h();return(0,y.jsxs)(`section`,{className:`flex flex-wrap gap-x-5 gap-y-1 border-b border-border/60 bg-primary/[0.025] px-4 py-1.5 font-mono text-[9px] text-muted-foreground`,title:e.chronicleDirectory,children:[(0,y.jsx)(`span`,{className:`font-sans font-semibold uppercase tracking-wider text-primary`,children:t(`activity:chroniclePipelineStrip.chronicleOwnership`)}),(0,y.jsxs)(`span`,{children:[`collect `,(0,y.jsx)(`b`,{className:`text-foreground`,children:e.pipeline.collection})]}),(0,y.jsxs)(`span`,{children:[`process `,(0,y.jsx)(`b`,{className:`text-foreground`,children:e.pipeline.processing})]}),(0,y.jsxs)(`span`,{children:[`serve `,(0,y.jsx)(`b`,{className:`text-foreground`,children:e.pipeline.serving})]}),(0,y.jsxs)(`span`,{children:[`PID `,(0,y.jsx)(`b`,{className:`text-foreground`,children:e.pid}),` · `,e.clients,` clients`]}),(0,y.jsxs)(`span`,{children:[`watcher`,` `,(0,y.jsx)(`b`,{className:_(e.watcher.active?`text-success`:`text-warning`),children:e.watcher.active?`active`:`inactive`}),` `,`· `,e.watcher.watchedFiles,` files`]}),(0,y.jsxs)(`span`,{children:[`store `,(0,y.jsx)(`b`,{className:`text-foreground`,children:x(e.pipeline.storage)})]}),e.mode===`inline`&&(0,y.jsx)(`span`,{className:`font-sans font-semibold text-warning`,children:t(`activity:chroniclePipelineStrip.inlineFallback`)})]})}function x(e){return e.replaceAll(`\\`,`/`).split(`/`).filter(Boolean).slice(-3).join(`/`)}var S=[`eventType`,`providerId`,`modelId`,`outcome`,`resourceKind`],C=864e5;function w(){return{limit:300,order:`desc`,from:new Date(Date.now()-C).toISOString()}}var se=[{id:`all`,labelKey:`activity:chronicle.signalAllSignals`,icon:(0,y.jsx)(f,{})},{id:`llm`,labelKey:`activity:chronicle.signalLlm`,icon:(0,y.jsx)(a,{})},{id:`agents`,labelKey:`activity:chronicle.signalAgents`,icon:(0,y.jsx)(c,{})},{id:`tools`,labelKey:`activity:chronicle.signalTools`,icon:(0,y.jsx)(m,{})},{id:`files`,labelKey:`activity:chronicle.signalFiles`,icon:(0,y.jsx)(o,{})},{id:`failures`,labelKey:`activity:chronicle.signalFailures`,icon:(0,y.jsx)(u,{})}];function T(){let{t:e}=h(),n=t(),[r,l]=(0,v.useState)([]),[u,d]=(0,v.useState)(null),[f,p]=(0,v.useState)({}),[g,x]=(0,v.useState)(w()),[C,T]=(0,v.useState)({text:``,path:``,providerId:``,modelId:``,sessionId:``}),[E,k]=(0,v.useState)(`all`),[N,F]=(0,v.useState)({total:0,scannedEvents:0,sourceFiles:0,invalidLines:0}),[I,pe]=(0,v.useState)(D),[L,R]=(0,v.useState)(!0),[z,B]=(0,v.useState)(null),[me,V]=(0,v.useState)(null),[H,he]=(0,v.useState)([]),[U,ge]=(0,v.useState)([]),[W,_e]=(0,v.useState)(null),G=(0,v.useRef)(g);G.current=g;let K=(0,v.useCallback)(e=>{if(!n.supportsCapability(`chronicle.query`)){R(!1),B(`Restart the backend once to activate Chronicle protocol support.`);return}if(R(!0),B(null),x(e),p({}),n.send({type:`chronicle.query`,payload:{query:e}}),n.supportsCapability(`chronicle.facets`))n.send({type:`chronicle.facets`,payload:{fields:[...S],query:e,limit:12}});else for(let t of S)n.send({type:`chronicle.facet`,payload:{field:t,query:e,limit:12}})},[n]),q=(0,v.useCallback)(()=>{n.supportsCapability(`chronicle.metrics`)&&(n.send({type:`chronicle.metrics`,payload:{view:`providers`}}),n.send({type:`chronicle.metrics`,payload:{view:`tasks`,limit:200}}))},[n]),J=(0,v.useCallback)(()=>{n.supportsCapability(`chronicle.status`)&&n.send({type:`chronicle.status`})},[n]);(0,v.useEffect)(()=>{let e=n.on(`chronicle.query_result`,e=>{e.type===`chronicle.query_result`&&(l(e.payload.events),F(e.payload),pe(e.payload.summary??D),R(!1))}),t=n.on(`chronicle.facet_result`,e=>{e.type===`chronicle.facet_result`&&p(t=>({...t,[e.payload.field]:e.payload.values}))}),r=n.on(`chronicle.facets_result`,e=>{e.type===`chronicle.facets_result`&&p(e.payload.values)}),i=n.on(`chronicle.error`,e=>{e.type===`chronicle.error`&&(B(e.payload.message),R(!1))}),a=n.on(`chronicle.graph_result`,e=>{e.type===`chronicle.graph_result`&&V(e.payload)}),o=n.on(`chronicle.metrics_result`,e=>{e.type===`chronicle.metrics_result`&&(e.payload.view===`providers`?he(e.payload.data):e.payload.view===`tasks`&&ge(e.payload.data))}),s=n.on(`chronicle.status_result`,e=>{e.type===`chronicle.status_result`&&_e(e.payload)});return K(G.current),q(),J(),()=>{e(),t(),r(),i(),a(),o(),s()}},[n,K,q,J]);let Y=(0,v.useMemo)(()=>r.filter(e=>O(e,E)),[r,E]),X=ae(Y,25,E),Z=(0,v.useMemo)(()=>{let e=r.find(e=>e.eventType===`metrics.rollup`&&e.attributes?.signal===`runtime.health`)?.attributes?.stats;if(!e)return;let t=t=>e[t]?.last;return{eventLoop:{utilization:t(`eventLoop.utilization`),delayP95Ms:t(`eventLoop.delayP95Ms`)},memory:{heapUsedBytes:t(`memory.heapUsedBytes`)},chronicle:{pendingEvents:t(`chronicle.pendingEvents`),rejectedEvents:t(`chronicle.rejectedEvents`)}}},[r]),Q=(0,v.useMemo)(()=>{let e={};for(let t of U)e[t.status]=(e[t.status]??0)+1;let t=(e.completed??0)+(e.merged??0)+(e.failed??0)+(e.conflict??0),n=(e.completed??0)+(e.merged??0),r=[...U].sort((e,t)=>(t.endedAt??t.startedAt??``).localeCompare(e.endedAt??e.startedAt??``)).slice(0,8);return{counts:e,total:U.length,terminal:t,successRate:t>0?n/t*100:100,recent:r}},[U]),$=()=>K({...w(),...C.text?{text:C.text}:{},...C.path?{path:C.path}:{},...C.providerId?{providerId:C.providerId}:{},...C.modelId?{modelId:C.modelId}:{},...C.sessionId?{sessionId:C.sessionId}:{}}),ve=()=>{T({text:``,path:``,providerId:``,modelId:``,sessionId:``}),k(`all`),K(w())},ye=e=>{d(e),V(null),n.supportsCapability(`chronicle.graph`)&&n.send({type:`chronicle.graph`,payload:{seed:{eventId:e.eventId},hops:2,maxNodes:250}})};return(0,y.jsxs)(`div`,{className:`flex h-full min-h-0 bg-background`,"data-testid":`chronicle-dashboard`,children:[(0,y.jsxs)(`main`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,y.jsx)(`header`,{className:`border-b border-border/70 bg-gradient-to-r from-primary/[0.045] via-background to-background px-5 py-4`,children:(0,y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,y.jsxs)(`div`,{children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(a,{className:`h-5 w-5 text-primary`}),(0,y.jsx)(`h1`,{className:`text-lg font-semibold tracking-tight`,children:e(`activity:chronicle.codingIntelligence`)}),(0,y.jsx)(`span`,{className:`rounded-full border border-primary/20 bg-primary/10 px-2 py-0.5 text-[9px] font-semibold tracking-wider text-primary`,children:e(`activity:chronicle.chronicle`)})]}),(0,y.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:e(`activity:chronicle.llmAgentToolAndFileEvidence`)})]}),(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(`span`,{className:_(`h-2 w-2 rounded-full`,z?`bg-destructive`:L?`animate-pulse bg-warning`:`bg-success`)}),(0,y.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:L?`Reading journal`:z?`Unavailable`:`Live evidence`}),(0,y.jsx)(`button`,{type:`button`,onClick:()=>{K(g),q(),J()},className:`ml-2 rounded-md border border-border bg-card p-2 hover:bg-muted`,title:e(`activity:chronicle.refreshEvidence`),children:(0,y.jsx)(ne,{className:_(`h-4 w-4`,L&&`animate-spin`)})})]})]})}),(0,y.jsxs)(`section`,{className:`grid grid-cols-2 border-b border-border/70 xl:grid-cols-6`,children:[(0,y.jsx)(M,{icon:(0,y.jsx)(a,{}),label:e(`activity:chronicle.llmRequests`),value:I.logicalRequests,detail:`${I.modelAttempts} attempts · ${I.providers} providers · ${I.models} models`}),(0,y.jsx)(M,{icon:(0,y.jsx)(c,{}),label:e(`activity:chronicle.agentWork`),value:I.agentEvents,detail:`${I.uniqueAgents} correlated agents · ${I.decisions} decisions`}),(0,y.jsx)(M,{icon:(0,y.jsx)(m,{}),label:e(`activity:chronicle.toolCalls`),value:I.toolCalls,detail:`${I.failedTools} failed · ${I.processes} processes`}),(0,y.jsx)(M,{icon:(0,y.jsx)(o,{}),label:e(`activity:chronicle.fileEvidence`),value:I.fileEvents,detail:`${I.uniqueFiles} unique paths`}),(0,y.jsx)(M,{icon:(0,y.jsx)(s,{}),label:e(`activity:chronicle.retries`),value:I.scheduledRetries,detail:`${I.failures} failures · ${I.fallbacks} fallbacks`,tone:I.failures?`danger`:`normal`}),(0,y.jsx)(M,{icon:(0,y.jsx)(re,{}),label:e(`activity:chronicle.providerP95`),value:A(I.providerP95DurationMs),detail:`${A(I.providerAvgDurationMs)} average · all matches`})]}),(0,y.jsxs)(`section`,{className:`flex flex-wrap gap-x-6 gap-y-1 border-b border-border/60 bg-primary/[0.018] px-4 py-1.5 font-mono text-[9px] text-muted-foreground`,children:[(0,y.jsx)(`span`,{className:`font-sans font-semibold uppercase tracking-wider text-primary`,children:e(`activity:chronicle.tokenEconomics`)}),(0,y.jsxs)(`span`,{children:[e(`activity:chronicle.freshInput`),` `,(0,y.jsx)(`b`,{className:`text-foreground`,children:I.inputTokens.toLocaleString()})]}),(0,y.jsxs)(`span`,{children:[`output `,(0,y.jsx)(`b`,{className:`text-foreground`,children:I.outputTokens.toLocaleString()})]}),(0,y.jsxs)(`span`,{children:[e(`activity:chronicle.cacheRead`),` `,(0,y.jsx)(`b`,{className:`text-foreground`,children:I.cacheReadTokens.toLocaleString()})]}),(0,y.jsxs)(`span`,{children:[`cache write`,` `,(0,y.jsx)(`b`,{className:`text-foreground`,children:I.cacheWriteTokens.toLocaleString()})]}),(0,y.jsxs)(`span`,{children:[e(`activity:chronicle.cacheHit`),` `,(0,y.jsxs)(`b`,{className:`text-foreground`,children:[le(I).toFixed(1),`%`]})]}),(0,y.jsxs)(`span`,{children:[e(`activity:chronicle.estimatedCost`),` `,(0,y.jsxs)(`b`,{className:`text-foreground`,children:[`$`,I.estimatedCostUsd.toFixed(4)]})]})]}),H.length>0&&(0,y.jsxs)(`section`,{className:`flex items-center gap-3 overflow-x-auto border-b border-border/60 bg-muted/[0.14] px-4 py-1.5`,children:[(0,y.jsx)(`span`,{className:`shrink-0 text-[9px] font-semibold uppercase tracking-wider text-muted-foreground`,children:e(`activity:chronicle.modelReliability`)}),H.slice(0,6).map(e=>{let t=e.completed+e.failed,n=t>0?e.completed/t*100:100;return(0,y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2 rounded-full border border-border bg-card px-2.5 py-0.5 font-mono text-[9px]`,title:`${e.day} · ${e.attempts} attempts · avg ${A(e.avgDurationMs)} · ${e.inputTokens.toLocaleString()} in / ${e.outputTokens.toLocaleString()} out`,children:[(0,y.jsx)(`span`,{className:_(`h-1.5 w-1.5 rounded-full`,n>=99?`bg-success`:n>=90?`bg-warning`:`bg-destructive`)}),(0,y.jsxs)(`span`,{className:`max-w-[180px] truncate`,children:[e.providerId,`/`,e.modelId]}),(0,y.jsxs)(`b`,{className:`text-foreground`,children:[n.toFixed(0),`%`]}),(0,y.jsx)(`span`,{className:`text-muted-foreground`,children:e.day.slice(5)})]},`${e.day}-${e.providerId}-${e.modelId}`)})]}),Q.total>0&&(0,y.jsxs)(`section`,{className:`flex items-center gap-3 overflow-x-auto border-b border-border/60 bg-muted/[0.10] px-4 py-1.5`,children:[(0,y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1 text-[9px] font-semibold uppercase tracking-wider text-muted-foreground`,children:[(0,y.jsx)(te,{className:`h-3 w-3`}),e(`activity:chronicle.taskOutcomes`)]}),(0,y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2 rounded-full border border-border bg-card px-2.5 py-0.5 font-mono text-[9px]`,title:`${Q.total} tasks tracked · ${Q.terminal} finished`,children:[(0,y.jsx)(`span`,{className:_(`h-1.5 w-1.5 rounded-full`,Q.successRate>=90?`bg-success`:Q.successRate>=60?`bg-warning`:`bg-destructive`)}),(0,y.jsxs)(`b`,{className:`text-foreground`,children:[Q.successRate.toFixed(0),`%`]}),(0,y.jsxs)(`span`,{className:`text-muted-foreground`,children:[`success · `,Q.total,` tasks`]})]}),[`completed`,`merged`,`failed`,`conflict`,`started`].filter(e=>Q.counts[e]).map(e=>(0,y.jsxs)(`span`,{className:`shrink-0 font-mono text-[9px] text-muted-foreground`,children:[e,` `,(0,y.jsx)(`b`,{className:_(e===`failed`||e===`conflict`?`text-destructive`:`text-foreground`),children:Q.counts[e]})]},e)),(0,y.jsx)(`span`,{className:`mx-1 h-3 w-px shrink-0 bg-border`}),Q.recent.map(e=>(0,y.jsxs)(`button`,{type:`button`,onClick:()=>K({limit:300,order:`desc`,taskId:e.taskId}),className:`flex shrink-0 items-center gap-1.5 rounded-full border border-border bg-card px-2 py-0.5 font-mono text-[9px] hover:border-primary/50`,title:`${e.taskId}${e.boardId?` · board ${e.boardId}`:``}${e.sessionId?` · ${e.sessionId}`:``} · ${e.filesTouched} files${e.retries?` · ${e.retries} retries`:``}${e.verificationFailures?` · ${e.verificationFailures} verify-fails`:``}`,children:[(0,y.jsx)(`span`,{className:_(`h-1.5 w-1.5 rounded-full`,e.status===`completed`||e.status===`merged`?`bg-success`:e.status===`failed`||e.status===`conflict`?`bg-destructive`:`bg-primary`)}),(0,y.jsx)(`span`,{className:`max-w-[84px] truncate`,children:e.taskId}),e.durationMs!==null&&(0,y.jsx)(`span`,{className:`text-muted-foreground`,children:A(e.durationMs)}),e.filesTouched>0&&(0,y.jsxs)(`span`,{className:`flex items-center gap-0.5 text-muted-foreground`,children:[(0,y.jsx)(o,{className:`h-2.5 w-2.5`}),e.filesTouched]})]},e.taskId))]}),(0,y.jsx)(`section`,{className:`border-b border-border/70 px-4 py-3`,children:(0,y.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 xl:grid-cols-[1.35fr_1fr_1fr_1fr_1fr_auto]`,children:[(0,y.jsx)(j,{icon:(0,y.jsx)(i,{}),placeholder:e(`activity:chronicle.searchEventEvidence`),value:C.text,onChange:e=>T(t=>({...t,text:e})),onEnter:$}),(0,y.jsx)(j,{placeholder:e(`activity:chronicle.fileOrDirectory`),value:C.path,onChange:e=>T(t=>({...t,path:e})),onEnter:$}),(0,y.jsx)(j,{placeholder:e(`activity:chronicle.provider`),value:C.providerId,onChange:e=>T(t=>({...t,providerId:e})),onEnter:$}),(0,y.jsx)(j,{placeholder:e(`activity:chronicle.model`),value:C.modelId,onChange:e=>T(t=>({...t,modelId:e})),onEnter:$}),(0,y.jsx)(j,{placeholder:e(`activity:chronicle.session`),value:C.sessionId,onChange:e=>T(t=>({...t,sessionId:e})),onEnter:$}),(0,y.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,y.jsxs)(`button`,{type:`button`,onClick:$,className:`rounded-md bg-primary px-3 text-xs font-medium text-primary-foreground`,children:[(0,y.jsx)(ie,{className:`mr-1 inline h-3 w-3`}),e(`activity:chronicle.apply`)]}),(0,y.jsx)(`button`,{type:`button`,onClick:ve,className:`rounded-md border border-border px-2.5 text-xs hover:bg-muted`,children:e(`activity:chronicle.clear`)})]})]})}),(0,y.jsxs)(`section`,{className:`flex items-center gap-1 overflow-x-auto border-b border-border/70 px-4 py-2`,children:[se.map(t=>(0,y.jsxs)(`button`,{type:`button`,onClick:()=>k(t.id),className:_(`flex shrink-0 items-center gap-1.5 rounded-md px-2.5 py-1.5 text-[11px] transition-colors [&>svg]:h-3.5 [&>svg]:w-3.5`,E===t.id?`bg-primary/10 font-medium text-primary`:`text-muted-foreground hover:bg-muted hover:text-foreground`),children:[t.icon,e(t.labelKey),(0,y.jsx)(`span`,{className:`ml-1 rounded bg-background/70 px-1 font-mono text-[9px]`,children:ce(I,t.id,N.total)})]},t.id)),(0,y.jsxs)(`div`,{className:`ml-auto hidden items-center gap-3 pl-4 text-[9px] text-muted-foreground lg:flex`,children:[(0,y.jsxs)(`span`,{children:[N.total.toLocaleString(),` matched`]}),(0,y.jsxs)(`span`,{children:[N.sourceFiles,` journal files`]}),N.invalidLines>0&&(0,y.jsxs)(`span`,{className:`text-warning`,children:[N.invalidLines,` invalid lines`]})]})]}),W&&(0,y.jsx)(b,{status:W}),Z&&(0,y.jsx)(ue,{health:Z}),(0,y.jsx)(`section`,{className:`flex gap-4 overflow-x-auto border-b border-border/60 bg-muted/[0.18] px-4 py-2`,children:[`providerId`,`modelId`,`outcome`].map(e=>(0,y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,y.jsx)(`span`,{className:`mr-1 text-[9px] font-semibold uppercase tracking-wider text-muted-foreground`,children:e.replace(`Id`,``)}),(f[e]??[]).slice(0,4).map(t=>(0,y.jsxs)(`button`,{type:`button`,onClick:()=>K({...g,[e]:t.value}),className:`rounded-full border border-border bg-card px-2 py-0.5 text-[9px] hover:border-primary/50`,children:[t.value,` `,(0,y.jsx)(`b`,{children:t.count})]},t.value))]},e))}),(0,y.jsxs)(`div`,{className:`grid grid-cols-[92px_minmax(190px,1.25fr)_110px_minmax(180px,1fr)_minmax(140px,.8fr)_24px] gap-3 border-b border-border/60 bg-muted/20 px-4 py-1.5 text-[9px] font-semibold uppercase tracking-wider text-muted-foreground`,children:[(0,y.jsx)(`span`,{children:e(`activity:chronicle.time`)}),(0,y.jsx)(`span`,{children:e(`activity:chronicle.signal`)}),(0,y.jsx)(`span`,{children:e(`activity:chronicle.outcome`)}),(0,y.jsx)(`span`,{children:e(`activity:chronicle.modelAgent`)}),(0,y.jsx)(`span`,{children:e(`activity:chronicle.resource`)}),(0,y.jsx)(`span`,{})]}),(0,y.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:z?(0,y.jsx)(P,{text:z}):!L&&Y.length===0?(0,y.jsx)(P,{text:`No coding evidence matches these filters.`}):(0,y.jsx)(`div`,{className:`divide-y divide-border/40`,children:X.pageItems.map(e=>(0,y.jsx)(de,{event:e,active:u?.eventId===e.eventId,onClick:()=>ye(e)},e.eventId))})}),(0,y.jsx)(oe,{page:X.page,pageSize:X.pageSize,totalItems:X.totalItems,onPageChange:X.setPage,itemLabel:`events`})]}),u&&(0,y.jsxs)(`aside`,{className:`w-[440px] max-w-[48vw] shrink-0 overflow-auto border-l border-border bg-card/60 shadow-[-12px_0_32px_hsl(var(--background)/.35)]`,children:[(0,y.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center justify-between border-b border-border bg-card/95 px-4 py-3 backdrop-blur`,children:[(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-xs font-semibold`,children:e(`activity:chronicle.evidenceLineage`)}),(0,y.jsxs)(`div`,{className:`mt-0.5 font-mono text-[9px] text-muted-foreground`,children:[`#`,u.sequence,` · `,u.eventId]})]}),(0,y.jsx)(`button`,{type:`button`,onClick:()=>d(null),className:`rounded p-1 hover:bg-muted`,children:(0,y.jsx)(ee,{className:`h-4 w-4`})})]}),(0,y.jsx)(fe,{event:u,graph:me})]})]})}var E={llm:0,agent:0,tool:0,file:0,memory:0,task:0,decision:0,runtime:0},D={logicalRequests:0,modelAttempts:0,completedAttempts:0,failedAttempts:0,scheduledRetries:0,fallbacks:0,providers:0,models:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,estimatedCostUsd:0,providerAvgDurationMs:0,providerP95DurationMs:0,toolCalls:0,completedTools:0,failedTools:0,toolAvgDurationMs:0,processes:0,failedProcesses:0,fileEvents:0,uniqueFiles:0,agentEvents:0,uniqueAgents:0,decisions:0,escalations:0,failures:0,cancellations:0,families:{...E},failuresByFamily:{...E}};function ce(e,t,n){return t===`all`?n:t===`llm`?e.families.llm:t===`agents`?e.families.agent:t===`tools`?e.families.tool:t===`files`?e.families.file:e.failures}function le(e){let t=e.inputTokens+e.cacheReadTokens;return t?e.cacheReadTokens/t*100:0}function O(e,t){return t===`all`?!0:t===`llm`?/^(provider|token|context|compaction)\./.test(e.eventType):t===`agents`?/^(agent|subagent|delegate|fleet|sdd)\./.test(e.eventType):t===`tools`?/^(tool|process|mcp|network)\./.test(e.eventType):t===`files`?e.resource?.kind===`file`||/^(file|worktree|storage)\./.test(e.eventType):e.outcome===`failure`||/(?:failed|error|retry|fallback|blocked|conflict)/i.test(e.eventType)}function k(e){if(!e)return`—`;let t=e/1e6;return t<1?`${(e/1e3).toFixed(0)}µs`:t<1e3?`${t.toFixed(1)}ms`:`${(t/1e3).toFixed(1)}s`}function A(e){return e?e<1?`${(e*1e3).toFixed(0)}µs`:e<1e3?`${e.toFixed(1)}ms`:`${(e/1e3).toFixed(1)}s`:`—`}function j({placeholder:e,value:t,onChange:n,onEnter:r,icon:i}){return(0,y.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border bg-card px-2.5 py-2 focus-within:border-primary/60`,children:[i&&(0,y.jsx)(`span`,{className:`text-muted-foreground [&>svg]:h-3.5 [&>svg]:w-3.5`,children:i}),(0,y.jsx)(`input`,{className:`w-full bg-transparent text-xs outline-none placeholder:text-muted-foreground/70`,placeholder:e,value:t,onChange:e=>n(e.target.value),onKeyDown:e=>{e.key===`Enter`&&r()}})]})}function M({icon:e,label:t,value:n,detail:r,tone:i=`normal`}){return(0,y.jsxs)(`div`,{className:`min-w-0 border-r border-border/60 px-4 py-3`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,children:[(0,y.jsx)(`span`,{className:`text-primary [&>svg]:h-3.5 [&>svg]:w-3.5`,children:e}),t]}),(0,y.jsx)(`div`,{className:_(`mt-1 text-xl font-semibold tabular-nums`,i===`danger`&&`text-destructive`),children:typeof n==`number`?n.toLocaleString():n}),(0,y.jsx)(`div`,{className:`mt-0.5 truncate text-[9px] text-muted-foreground`,children:r})]})}function ue({health:e}){let{t}=h();return(0,y.jsxs)(`section`,{className:`flex flex-wrap gap-x-5 gap-y-1 border-b border-border/60 bg-success/[0.025] px-4 py-1.5 font-mono text-[9px] text-muted-foreground`,children:[(0,y.jsx)(`span`,{className:`font-sans font-semibold uppercase tracking-wider text-success`,children:t(`activity:chronicle.collectorHealthy`)}),(0,y.jsxs)(`span`,{children:[`ELU`,` `,(0,y.jsxs)(`b`,{className:`text-foreground`,children:[((e.eventLoop?.utilization??0)*100).toFixed(1),`%`]})]}),(0,y.jsxs)(`span`,{children:[`p95 `,(0,y.jsxs)(`b`,{className:`text-foreground`,children:[(e.eventLoop?.delayP95Ms??0).toFixed(1),`ms`]})]}),(0,y.jsxs)(`span`,{children:[`heap`,` `,(0,y.jsxs)(`b`,{className:`text-foreground`,children:[((e.memory?.heapUsedBytes??0)/1048576).toFixed(0),`MB`]})]}),(0,y.jsxs)(`span`,{children:[`queue `,(0,y.jsx)(`b`,{className:`text-foreground`,children:e.chronicle?.pendingEvents??0})]}),(0,y.jsxs)(`span`,{children:[`dropped`,` `,(0,y.jsx)(`b`,{className:_((e.chronicle?.rejectedEvents??0)>0&&`text-destructive`),children:e.chronicle?.rejectedEvents??0})]})]})}function de({event:e,active:t,onClick:n}){let r=e.occurredAt??e.observedAt,i=e.runtime?.modelId??e.scope.agentId??e.runtime?.providerId??`—`,a=e.resource?.path??e.resource?.id??e.correlation.toolCallId??`—`;return(0,y.jsxs)(`button`,{type:`button`,onClick:n,className:_(`grid w-full grid-cols-[92px_minmax(190px,1.25fr)_110px_minmax(180px,1fr)_minmax(140px,.8fr)_24px] items-center gap-3 px-4 py-2.5 text-left hover:bg-muted/45`,t&&`bg-primary/[0.07]`),children:[(0,y.jsx)(`span`,{className:`font-mono text-[9px] text-muted-foreground`,children:new Date(r).toLocaleTimeString()}),(0,y.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,y.jsx)(`span`,{className:_(`h-1.5 w-1.5 shrink-0 rounded-full`,e.outcome===`failure`?`bg-destructive`:e.outcome===`success`?`bg-success`:`bg-primary`)}),(0,y.jsx)(`span`,{className:`truncate font-mono text-[11px] font-medium`,children:e.eventType})]}),(0,y.jsx)(`span`,{className:_(`w-fit rounded px-1.5 py-0.5 text-[9px]`,F(e.outcome)),children:e.outcome??`unknown`}),(0,y.jsx)(`span`,{className:`truncate font-mono text-[9px] text-muted-foreground`,children:i}),(0,y.jsx)(`span`,{className:`truncate font-mono text-[9px] text-muted-foreground`,children:a}),(0,y.jsx)(p,{className:`h-3.5 w-3.5 text-muted-foreground`})]})}function fe({event:e,graph:t}){let{t:n}=h(),r=(0,v.useMemo)(()=>[[`Scope`,e.scope],[`Correlation`,e.correlation],[`Runtime`,e.runtime],[`Resource`,e.resource],[`Attributes`,e.attributes],[`Tags`,e.tags]],[e]);return(0,y.jsxs)(`div`,{className:`p-4`,children:[(0,y.jsxs)(`div`,{className:`mb-4 rounded-lg border border-border bg-background/60 p-3`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(`span`,{className:_(`h-2 w-2 rounded-full`,e.outcome===`failure`?`bg-destructive`:e.outcome===`success`?`bg-success`:`bg-primary`)}),(0,y.jsx)(`span`,{className:`font-mono text-xs font-semibold`,children:e.eventType})]}),(0,y.jsxs)(`div`,{className:`mt-2 flex gap-4 text-[9px] text-muted-foreground`,children:[(0,y.jsx)(`span`,{children:new Date(e.occurredAt??e.observedAt).toLocaleString()}),(0,y.jsx)(`span`,{children:k(Number(e.durationNs??0))})]})]}),(0,y.jsxs)(`div`,{className:`mb-4 grid grid-cols-2 gap-2`,children:[(0,y.jsx)(N,{icon:(0,y.jsx)(g,{}),label:n(`activity:chronicle.evidenceHash`),value:e.hash.slice(0,16)}),(0,y.jsx)(N,{icon:(0,y.jsx)(l,{}),label:n(`activity:chronicle.sequence`),value:String(e.sequence)})]}),t&&(0,y.jsxs)(`section`,{className:`mb-4`,children:[(0,y.jsxs)(`h3`,{className:`mb-1.5 flex items-center gap-1 text-[9px] font-semibold uppercase tracking-wider text-muted-foreground`,children:[(0,y.jsx)(d,{className:`h-3 w-3`}),`Lineage · `,t.nodes.length,` nodes · `,t.edges.length,` edges`]}),(0,y.jsx)(`div`,{className:`space-y-1 rounded-md border border-border bg-background/70 p-2`,children:t.edges.slice(0,40).map((e,n)=>(0,y.jsxs)(`div`,{className:`flex items-center gap-2 font-mono text-[9px]`,children:[(0,y.jsx)(`span`,{className:_(`rounded px-1`,e.confidence===`explicit`?`bg-success/10 text-success`:e.confidence===`inferred`?`bg-warning/10 text-warning`:`bg-primary/10 text-primary`),children:e.confidence}),(0,y.jsx)(`span`,{className:`text-muted-foreground`,children:e.kind}),(0,y.jsxs)(`span`,{className:`truncate`,children:[t.nodes.find(t=>t.eventId===e.from)?.eventType,` →`,` `,t.nodes.find(t=>t.eventId===e.to)?.eventType]})]},`${e.from}-${e.to}-${e.kind}-${n}`))}),t.truncated&&(0,y.jsx)(`p`,{className:`mt-1 text-[9px] text-warning`,children:n(`activity:chronicle.lineageTruncatedAtSafetyLimit`)})]}),r.map(([e,t])=>t&&(0,y.jsxs)(`section`,{className:`mb-4`,children:[(0,y.jsx)(`h3`,{className:`mb-1.5 text-[9px] font-semibold uppercase tracking-wider text-muted-foreground`,children:e}),(0,y.jsx)(`pre`,{className:`overflow-auto rounded-md border border-border bg-background/70 p-3 font-mono text-[9px] leading-relaxed`,children:JSON.stringify(t,null,2)})]},e))]})}function N({icon:e,label:t,value:n}){return(0,y.jsxs)(`div`,{className:`rounded-md border border-border p-2`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-1 text-[8px] uppercase text-muted-foreground`,children:[(0,y.jsx)(`span`,{className:`[&>svg]:h-3 [&>svg]:w-3`,children:e}),t]}),(0,y.jsx)(`div`,{className:`mt-1 truncate font-mono text-[9px]`,children:n})]})}function P({text:e}){return(0,y.jsx)(`div`,{className:`flex h-48 items-center justify-center text-sm text-muted-foreground`,children:e})}function F(e){return e===`failure`?`bg-destructive/10 text-destructive`:e===`success`?`bg-success/10 text-success`:e===`started`?`bg-primary/10 text-primary`:`bg-muted text-muted-foreground`}export{T as ChronicleDashboard};
@@ -1,2 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{K as t,rt as n,t as r}from"./config-store-xSv1mChc.js";import{i,t as a}from"./react-core-wiHys0m2.js";import{Aa as o,Bt as s,En as c,Fi as l,Ha as u,Ka as d,Li as f,Mr as p,Mt as m,Na as h,Ni as g,Nr as _,Pa as v,Ti as y,Tr as b,Vn as x,bn as S,ci as C,ea as w,en as T,ha as E,ho as ee,ln as D,wa as O,xo as k}from"./vendor-V3ydTHqN.js";import"./i18n--QdD6NCn.js";import{t as A}from"./utils-CKsqCaP8.js";import{o as j}from"./view-navigation-DTs4cSQ6.js";import{a as M,m as te,x as N,y as P}from"./stores-2kakt8j9.js";import{i as F}from"./codemap-activity-store-Ha7XbGgq.js";import{C as ne}from"./fonts-DRGbd-AM.js";import{F as I,I as L,b as re,m as R}from"./index-FWwLmwjx.js";import{a as z,c as B,i as V,n as H,o as U,s as W,t as ie}from"./monaco-CbI7qrVD.js";import{t as G}from"./monaco-theme-Dr3-rSid.js";import{t as K}from"./empty-state-pfuS5znr.js";import{t as ae}from"./MemoryDrawer-BZsyD1dh.js";var q=e(i(),1),J={ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,css:`css`,html:`html`,svg:`xml`,md:`markdown`,yml:`yaml`,yaml:`yaml`,toml:`toml`,sh:`shell`,bash:`shell`,ps1:`powershell`,py:`python`,rs:`rust`,go:`go`,rb:`ruby`,java:`java`,c:`c`,cpp:`cpp`,h:`c`,hpp:`cpp`,sql:`sql`,xml:`xml`},Y=Array.from(new Set(Object.values(J))).filter(e=>e!==`plaintext`),oe=12e3,se=4e3,ce=5e3,le=1e4;function ue(e){return J[e.split(`.`).pop()?.toLowerCase()??``]??`plaintext`}function de(e){return e.match(/([A-Za-z_$][\w$]*)$/)?.[1]??``}function fe(e,t){return e.triggerCharacter?!0:t.length>=3}function pe(e,t){return e.triggerCharacter===`.`||!e.triggerCharacter&&/^(findBy|findAllBy|create|update|delete|remove|get[A-Z_]|set[A-Z_]|use[A-Z_])/.test(t)}function me(e){return[e.filePath,e.language,e.lineNumber,e.column,e.versionId??``,e.triggerCharacter??``,e.linePrefix.slice(-160),e.suffix.slice(0,160)].join(`\0`)}function he(e){let t=new Set,n=new Set,r=new Set,i=new Set,a=new Set,o,s;for(let c of e)c.sessionId&&t.add(c.sessionId),c.taskId&&n.add(c.taskId),c.boardId&&r.add(c.boardId),c.toolName&&i.add(c.toolName),c.modelId&&a.add(c.modelId),(!o||c.occurredAt<o)&&(o=c.occurredAt),(!s||c.occurredAt>s)&&(s=c.occurredAt);return{mutations:e.length,sessions:t.size,tasks:n.size,boards:r.size,tools:[...i],models:[...a],firstAt:o,lastAt:s}}var ge=/(write|edit|update|create|delete|rename|modified|changed)/i;function _e(e){return e.replace(/\\/g,`/`).replace(/^\.\//,``).replace(/\/{2,}/g,`/`).toLowerCase()}function X(e,t){let n=_e(e),r=_e(t);return n===r||n.endsWith(`/${r}`)||r.endsWith(`/${n}`)}function ve(e,t=Date.now()){let n=e.filter(e=>t-e.at<=18e5),r=n.filter(e=>ge.test(e.action)),i=new Set(n.map(e=>e.sessionId).filter(Boolean)).size,a=new Set(n.map(e=>e.actor).filter(Boolean)).size,o=new Set(n.map(e=>e.taskId).filter(Boolean)).size;return{level:r.length>=8||r.length>=4&&a>=3?`churn`:r.length>0?`active`:`quiet`,mutationCount:r.length,sessionCount:i,actorCount:a,taskCount:o}}function Z(e){return typeof e==`string`&&e.length>0?e:void 0}function ye(e){let t=Date.parse(e.occurredAt??e.observedAt);return Number.isFinite(t)?t:Date.now()}function be(e){let t=e.attributes??{},n=Z(t.operation)??e.eventType,r=e.scope.agentId,i=e.runtime?.providerId,a=e.runtime?.modelId;return{id:e.eventId,at:ye(e),action:n,actor:r??i??Z(t.actor)??`external`,source:Z(t.source)??e.tags?.collector??`chronicle`,summary:[e.eventType,i&&a?`${i}/${a}`:i,e.outcome].filter(Boolean).join(` · `),sessionId:e.scope.sessionId,agentId:r,taskId:e.scope.taskId??Z(t.taskId),boardId:Z(t.boardId)??e.scope.boardId,tool:Z(t.toolName),status:e.outcome,raw:e}}function xe(e){return{id:e.id??`${e.filePath}:${e.timestamp}:${e.type}`,at:e.timestamp,action:e.type,actor:e.agentName??e.agent??e.agentId??`external`,source:e.source??`live`,summary:e.summary,sessionId:e.sessionId,agentId:e.agentId,tool:e.toolName,status:e.status,raw:e}}function Se(e){let t=new Set;return e.sort((e,t)=>t.at-e.at).filter(e=>{let n=`${e.id}:${e.at}`;return!t.has(n)&&(t.add(n),!0)})}function Ce(e){return e?e.split(/\r?\n/).length:0}function we(e){return new TextEncoder().encode(e).length}function Te(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function Ee(e){return e.length>18?`${e.slice(0,8)}…${e.slice(-6)}`:e}function De(e,t){let n=L(e,t);return n?{added:n.filter(e=>e.kind===`add`).length,removed:n.filter(e=>e.kind===`del`).length,large:!1}:{added:0,removed:0,large:!0}}var Q=a();function $({text:e}){return(0,Q.jsx)(`div`,{className:`px-3 py-3 text-center text-[10px] text-muted-foreground`,children:e})}function Oe({record:e,raw:t=!1}){let n=new Date(e.at).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),r=(0,Q.jsxs)(`div`,{className:`grid grid-cols-[62px_74px_minmax(90px,.7fr)_minmax(160px,1.5fr)] items-center gap-2 text-[9px]`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-muted-foreground`,children:n}),(0,Q.jsx)(`span`,{className:A(`w-fit rounded px-1.5 py-0.5 font-mono`,ge.test(e.action)?`bg-warning/10 text-warning`:`bg-primary/10 text-primary`),children:e.action}),(0,Q.jsx)(`span`,{className:`truncate`,title:e.agentId,children:e.actor}),(0,Q.jsx)(`span`,{className:`truncate text-muted-foreground`,title:e.summary,children:e.summary})]});return t?(0,Q.jsxs)(`details`,{className:`group cursor-pointer px-2.5 py-1.5`,children:[(0,Q.jsx)(`summary`,{className:`list-none [&::-webkit-details-marker]:hidden`,children:r}),(0,Q.jsx)(`pre`,{className:`mt-1.5 max-h-48 overflow-auto rounded border border-border/60 bg-background/60 p-2 font-mono text-[8px] leading-relaxed text-muted-foreground`,children:JSON.stringify(e.raw,null,2)})]}):(0,Q.jsx)(`div`,{className:`px-2.5 py-1.5`,children:r})}function ke({records:e,loading:t}){let{t:n}=k();return t&&e.length===0?(0,Q.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-[10px] text-muted-foreground`,children:[(0,Q.jsx)(p,{className:`h-3.5 w-3.5 animate-spin`}),n(`activity:fileActivity.loadingEvidence`)]}):e.length===0?(0,Q.jsx)($,{text:n(`activity:fileActivity.noEvidence`)}):(0,Q.jsx)(`div`,{className:`divide-y divide-border/40`,children:e.map(e=>(0,Q.jsx)(Oe,{record:e,raw:!0},`${e.id}:${e.at}`))})}function Ae({title:e,subtitle:t,raw:n}){return(0,Q.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-background/45 px-2 py-1.5`,title:n,children:[(0,Q.jsx)(`div`,{className:`truncate text-[10px] font-medium`,children:e}),(0,Q.jsx)(`div`,{className:`mt-0.5 truncate font-mono text-[8px] text-muted-foreground`,children:t})]})}function je({icon:e,title:t,empty:n,children:r}){let i=Array.isArray(r)?r.length>0:!!r;return(0,Q.jsxs)(`section`,{className:`min-w-0 p-2`,children:[(0,Q.jsxs)(`h3`,{className:`mb-1.5 flex items-center gap-1.5 text-[9px] font-semibold uppercase tracking-wider text-muted-foreground [&>svg]:h-3 [&>svg]:w-3`,children:[e,t]}),(0,Q.jsx)(`div`,{className:`space-y-1`,children:i?r:(0,Q.jsx)($,{text:n})})]})}function Me({sessions:e,agents:t,tasks:n,records:r,taskLabel:i,boardTitle:a}){let{t:o}=k();return(0,Q.jsxs)(`div`,{className:`grid min-h-full grid-cols-1 divide-y divide-border/50 md:grid-cols-3 md:divide-x md:divide-y-0`,children:[(0,Q.jsx)(je,{icon:(0,Q.jsx)(s,{}),title:o(`activity:fileActivity.sessions`),empty:o(`activity:fileActivity.noSessions`),children:e.map(e=>(0,Q.jsx)(Ae,{title:Ee(e),subtitle:`${r.filter(t=>t.sessionId===e).length} ${o(`activity:fileActivity.events`)}`,raw:e},e))}),(0,Q.jsx)(je,{icon:(0,Q.jsx)(d,{}),title:o(`activity:fileActivity.actors`),empty:o(`activity:fileActivity.noActors`),children:t.map(e=>(0,Q.jsx)(Ae,{title:e,subtitle:`${r.filter(t=>t.actor===e).length} ${o(`activity:fileActivity.events`)}`},e))}),(0,Q.jsx)(je,{icon:(0,Q.jsx)(_,{}),title:o(`activity:fileActivity.workLinks`),empty:o(`activity:fileActivity.noWorkLinks`),children:n.map(e=>(0,Q.jsx)(Ae,{title:i(e),subtitle:a??o(`activity:fileActivity.taskOrTodo`),raw:e},e))})]})}function Ne({lifetime:e}){let{t}=k(),n=[{value:e.mutations,label:t(`activity:fileActivity.lifetimeChanges`)},{value:e.sessions,label:t(`activity:fileActivity.lifetimeSessions`)},{value:e.tasks,label:t(`activity:fileActivity.lifetimeTasks`)},{value:e.boards,label:t(`activity:fileActivity.lifetimeBoards`)}],r=e.firstAt?new Date(e.firstAt).toLocaleDateString():void 0;return(0,Q.jsxs)(`div`,{className:`rounded-md border border-primary/15 bg-primary/[0.03] px-2.5 py-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[9px] font-semibold uppercase tracking-wider text-primary [&>svg]:h-3 [&>svg]:w-3`,children:[(0,Q.jsx)(f,{}),t(`activity:fileActivity.lifetimeTitle`)]}),(0,Q.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 font-mono text-[9px] text-muted-foreground`,children:[n.map(e=>(0,Q.jsxs)(`span`,{children:[(0,Q.jsx)(`b`,{className:`text-foreground`,children:e.value.toLocaleString()}),` `,e.label]},e.label)),r&&(0,Q.jsx)(`span`,{children:t(`activity:fileActivity.lifetimeSince`,{date:r})})]}),e.tools.length>0&&(0,Q.jsx)(`div`,{className:`mt-1 truncate font-mono text-[8px] text-muted-foreground`,title:e.tools.join(`, `),children:t(`activity:fileActivity.lifetimeTools`,{tools:e.tools.slice(0,6).join(`, `)})})]})}function Pe({analysis:e,lifetime:t,records:n,sessions:r,agents:i,tasks:a,taskLabel:o}){let{t:c}=k(),l=[{label:c(`activity:fileActivity.mutations30m`),value:e.mutationCount,icon:(0,Q.jsx)(g,{})},{label:c(`activity:fileActivity.sessions`),value:r.length,icon:(0,Q.jsx)(s,{})},{label:c(`activity:fileActivity.actors`),value:i.length,icon:(0,Q.jsx)(d,{})},{label:c(`activity:fileActivity.linkedWork`),value:a.length,icon:(0,Q.jsx)(_,{})}];return(0,Q.jsxs)(`div`,{className:`grid min-h-full grid-cols-1 gap-2 p-2 lg:grid-cols-[minmax(360px,.9fr)_minmax(420px,1.35fr)]`,children:[(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`div`,{className:`grid grid-cols-4 gap-1.5`,children:l.map(e=>(0,Q.jsxs)(`div`,{className:`rounded-md border border-border/70 bg-background/45 px-2 py-1.5`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1 text-[9px] text-muted-foreground [&>svg]:h-3 [&>svg]:w-3`,children:[e.icon,(0,Q.jsx)(`span`,{className:`truncate`,children:e.label})]}),(0,Q.jsx)(`div`,{className:`mt-0.5 font-mono text-sm font-semibold`,children:e.value})]},e.label))}),t.mutations>0&&(0,Q.jsx)(Ne,{lifetime:t}),(0,Q.jsxs)(`div`,{className:A(`flex items-start gap-2 rounded-md border px-2.5 py-2 text-[10px]`,e.level===`churn`?`border-destructive/25 bg-destructive/[0.055]`:`border-border/70 bg-background/45`),children:[(0,Q.jsx)(S,{className:A(`mt-0.5 h-3.5 w-3.5 shrink-0`,e.level===`churn`?`text-destructive`:`text-primary`)}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`div`,{className:`font-semibold`,children:c(`activity:fileActivity.analysisTitle.${e.level}`)}),(0,Q.jsx)(`p`,{className:`mt-0.5 text-muted-foreground`,children:c(`activity:fileActivity.analysisBody.${e.level}`,{mutations:e.mutationCount,actors:e.actorCount,sessions:e.sessionCount})})]})]}),a.length>0&&(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 text-[9px]`,children:[(0,Q.jsxs)(`span`,{className:`text-muted-foreground`,children:[c(`activity:fileActivity.workLinks`),`:`]}),a.slice(0,4).map(e=>(0,Q.jsx)(`span`,{className:`max-w-[180px] truncate rounded border border-primary/20 bg-primary/5 px-1.5 py-0.5 text-primary`,title:e,children:o(e)},e))]})]}),(0,Q.jsxs)(`div`,{className:`min-w-0 rounded-md border border-border/70 bg-background/35`,children:[(0,Q.jsx)(`div`,{className:`border-b border-border/60 px-2.5 py-1.5 text-[9px] font-semibold uppercase tracking-wider text-muted-foreground`,children:c(`activity:fileActivity.recentActivity`)}),(0,Q.jsx)(`div`,{className:`divide-y divide-border/40`,children:n.length===0?(0,Q.jsx)($,{text:c(`activity:fileActivity.noEvidence`)}):n.slice(0,5).map(e=>(0,Q.jsx)(Oe,{record:e},`${e.id}:${e.at}`))})]})]})}function Fe({file:e}){let i=r(e=>e.wsUrl),a=n(e=>e.jumpToLine),o=(0,q.useMemo)(()=>t(i),[i]),[s,c]=(0,q.useState)(``),[u,d]=(0,q.useState)(null),[f,m]=(0,q.useState)(``),[h,g]=(0,q.useState)(!0),[_,y]=(0,q.useState)(null),[b,S]=(0,q.useState)(!1),[C,T]=(0,q.useState)(!1),[E,ee]=(0,q.useState)(!0),D=(0,q.useCallback)(()=>{g(!0),y(null),o.send({type:`files.skeleton`,payload:{filePath:e.path,content:e.content,options:{collapseImports:C,includeDocs:E}}})},[o,e.path,e.content,C,E]);(0,q.useEffect)(()=>{let t=o.on(`files.skeleton_result`,t=>{if(t.type===`files.skeleton_result`&&t.payload.filePath===e.path){if(g(!1),t.payload.error){y(t.payload.error);return}c(t.payload.skeleton),t.payload.stats&&d(t.payload.stats),t.payload.lang&&m(t.payload.lang)}});return D(),()=>{t()}},[o,e.path,D]);let O=async()=>{if(s)try{await navigator.clipboard.writeText(s),S(!0),setTimeout(()=>S(!1),2e3)}catch{}},k=(e,t)=>{let n=e.match(/(?:\/\*\s*L(\d+)(?:-L\d+)?\s*\*\/|#\s*L(\d+)(?:-L\d+)?)/),r=n?parseInt(n[1]||n[2]||`0`,10):null;return r&&r>0?(0,Q.jsxs)(`div`,{className:`group flex items-center justify-between gap-2 rounded px-1.5 py-0.5 hover:bg-primary/10 transition-colors`,children:[(0,Q.jsx)(`span`,{className:`truncate`,children:e}),(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>a(r),className:`shrink-0 cursor-pointer rounded bg-primary/20 px-1.5 py-0.5 font-mono text-[9px] font-semibold text-primary opacity-75 group-hover:opacity-100 hover:bg-primary hover:text-primary-foreground transition-all`,title:`Jump to line ${r} in editor`,children:[`Jump to L`,r,` →`]})]},t):(0,Q.jsx)(`div`,{className:`px-1.5 py-0.5 whitespace-pre`,children:e},t)};return(0,Q.jsxs)(`div`,{className:`flex h-full min-h-[140px] flex-col p-2`,children:[(0,Q.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center justify-between gap-2 border-b border-border/50 pb-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-primary/10 px-2 py-0.5 font-mono text-[10px] font-semibold uppercase text-primary`,children:[(0,Q.jsx)(l,{className:`h-3 w-3`}),f||`AST`]}),u&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`span`,{className:`rounded bg-success/10 px-1.5 py-0.5 font-mono text-[10px] font-medium text-success`,children:[`-`,u.tokenSavingsPercent,`% Tokens`]}),(0,Q.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[u.originalLines,` → `,u.skeletonLines,` lines`]}),(0,Q.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[`(`,u.symbolCount,` symbols)`]})]})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px]`,children:[(0,Q.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-1 text-muted-foreground hover:text-foreground`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,checked:C,onChange:e=>T(e.target.checked),className:`rounded border-border`}),(0,Q.jsx)(`span`,{children:`Collapse imports`})]}),(0,Q.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-1 text-muted-foreground hover:text-foreground`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,checked:E,onChange:e=>ee(e.target.checked),className:`rounded border-border`}),(0,Q.jsx)(`span`,{children:`Include docs`})]}),(0,Q.jsx)(`button`,{type:`button`,onClick:D,className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,title:`Refresh Skeleton`,children:(0,Q.jsx)(x,{className:A(`h-3.5 w-3.5`,h&&`animate-spin`)})}),(0,Q.jsxs)(`button`,{type:`button`,onClick:O,disabled:!s,className:`inline-flex items-center gap-1 rounded bg-secondary px-2 py-1 text-[10px] font-medium text-secondary-foreground hover:bg-secondary/80 disabled:opacity-50`,children:[b?(0,Q.jsx)(v,{className:`h-3 w-3 text-success`}):(0,Q.jsx)(w,{className:`h-3 w-3`}),(0,Q.jsx)(`span`,{children:b?`Copied`:`Copy`})]})]})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto rounded border border-border/60 bg-muted/20 p-2 font-mono text-[11px] leading-relaxed`,children:h&&!s?(0,Q.jsxs)(`div`,{className:`flex h-full items-center justify-center text-muted-foreground`,children:[(0,Q.jsx)(p,{className:`mr-2 h-4 w-4 animate-spin text-primary`}),(0,Q.jsx)(`span`,{children:`Extracting AST Skeleton…`})]}):_?(0,Q.jsx)(`div`,{className:`p-4 text-warning`,children:_}):(0,Q.jsx)(`div`,{className:`font-mono select-text`,children:s.split(`
2
- `).map((e,t)=>k(e,t))})})]})}function Ie({label:e}){return(0,Q.jsx)(`span`,{className:`hidden whitespace-nowrap font-mono text-[9px] text-muted-foreground sm:inline`,children:e})}function Le({file:e}){let{t:n}=k(),[i,a]=(0,q.useState)(!0),[s,c]=(0,q.useState)(224),[d,p]=(0,q.useState)(`overview`),[m,v]=(0,q.useState)([]),[y,b]=(0,q.useState)([]),[S,w]=(0,q.useState)(!1),[T,E]=(0,q.useState)(null),[j,N]=(0,q.useState)(null),P=(0,q.useRef)(null),ne=r(e=>e.wsUrl),L=F(e=>e.history),re=F(e=>e.activeOperations),R=te(e=>e.activeBoard),z=M(e=>e.snapshot),B=(0,q.useMemo)(()=>t(ne),[ne]),V=(0,q.useCallback)(()=>{E(null),w(!0),typeof B.getGitDiff==`function`&&B.getGitDiff(e.path);let t=typeof B.supportsCapability==`function`?B.supportsCapability.bind(B):null;t?.(`chronicle.query`)?B.send({type:`chronicle.query`,payload:{query:{path:e.path,resourceKind:`file`,order:`desc`,limit:150}}}):w(!1),t?.(`chronicle.metrics`)&&B.send({type:`chronicle.metrics`,payload:{view:`files`,path:e.path,limit:1e3}})},[B,e.path]);(0,q.useEffect)(()=>{v([]),b([]),N(null);let t=B.on(`chronicle.query_result`,t=>{if(t.type!==`chronicle.query_result`)return;let n=t.payload.events.filter(t=>t.resource?.path&&X(t.resource.path,e.path));t.payload.events.length>0&&n.length===0||(v(n),w(!1))}),n=B.on(`chronicle.metrics_result`,t=>{t.type===`chronicle.metrics_result`&&t.payload.view===`files`&&b(t.payload.data.filter(t=>X(t.path,e.path)))}),r=B.on(`chronicle.error`,e=>{e.type===`chronicle.error`&&(E(e.payload.message),w(!1))}),i=B.on(`git.diff`,t=>{if(t.type!==`git.diff`||!X(t.payload.path,e.path))return;let n=t.payload;if(n.error||n.binary||n.tooLarge){N({text:e.savedContent,available:!1,error:n.error});return}N({text:n.oldText??``,available:!0})});return V(),()=>{t(),n(),r(),i()}},[B,e.path,e.savedContent,V]),(0,q.useEffect)(()=>{let e=e=>{if(!P.current)return;let t=P.current.startY-e.clientY,n=Math.max(150,Math.floor(window.innerHeight*.62));c(Math.min(n,Math.max(150,P.current.startHeight+t)))},t=()=>{P.current=null,document.body.style.cursor=``,document.body.style.userSelect=``};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},[]);let H=(0,q.useMemo)(()=>{let t=[];for(let[n,r]of L)X(n,e.path)&&t.push(...r);for(let n of re.values())t.push(...n.filter(t=>X(t.filePath,e.path)));return t},[re,e.path,L]),U=(0,q.useMemo)(()=>Se([...H.map(xe),...m.map(be)]),[m,H]),W=(0,q.useMemo)(()=>ve(U),[U]),ie=(0,q.useMemo)(()=>he(y),[y]),G=j?.text??e.savedContent,K=(0,q.useMemo)(()=>De(G,e.content),[G,e.content]),J=(0,q.useMemo)(()=>[...new Set(U.map(e=>e.sessionId).filter(e=>!!e))],[U]),Y=(0,q.useMemo)(()=>[...new Set(U.map(e=>e.actor).filter(Boolean))],[U]),oe=(0,q.useMemo)(()=>[...new Set(U.map(e=>e.taskId).filter(e=>!!e))],[U]),se=(0,q.useCallback)(e=>{let t=R?.tasks.find(t=>t.id===e),n=z?.tasks.find(t=>t.id===e||t.shortId===e);return t?.title??n?.title??e},[R,z]),ce=e=>{i||a(!0),P.current={startY:e.clientY,startHeight:i?s:150},document.body.style.cursor=`ns-resize`,document.body.style.userSelect=`none`},le=[{id:`overview`,label:n(`activity:fileActivity.overview`),icon:(0,Q.jsx)(ee,{})},{id:`changes`,label:n(`activity:fileActivity.changes`),icon:(0,Q.jsx)(g,{})},{id:`skeleton`,label:`Skeleton`,icon:(0,Q.jsx)(l,{})},{id:`context`,label:n(`activity:fileActivity.context`),icon:(0,Q.jsx)(_,{})},{id:`logs`,label:n(`activity:fileActivity.logs`),icon:(0,Q.jsx)(D,{})},{id:`memory`,label:n(`activity:fileActivity.memory`),icon:(0,Q.jsx)(u,{})}];return(0,Q.jsxs)(`section`,{className:`flex shrink-0 flex-col overflow-hidden border-t border-border bg-card/95 shadow-[0_-10px_30px_hsl(var(--background)/0.24)] backdrop-blur`,style:{height:i?s:38},"data-testid":`file-activity-drawer`,children:[(0,Q.jsx)(`button`,{type:`button`,"aria-label":n(`activity:fileActivity.resizeHint`),className:`group relative block h-2 w-full cursor-ns-resize touch-none`,onPointerDown:ce,onDoubleClick:()=>{a(!0),c(224)},title:n(`activity:fileActivity.resizeHint`),children:(0,Q.jsx)(`span`,{className:`absolute left-1/2 top-0.5 h-1 w-10 -translate-x-1/2 rounded-full bg-border transition-colors group-hover:bg-primary/60`})}),(0,Q.jsxs)(`header`,{className:`flex h-[30px] min-w-0 items-center gap-2 border-b border-border/70 px-2.5`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:`inline-flex min-w-0 items-center gap-1.5 rounded px-1.5 py-1 text-[11px] font-semibold hover:bg-muted`,"aria-expanded":i,children:[(0,Q.jsx)(f,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,Q.jsx)(`span`,{className:`truncate`,children:n(`activity:fileActivity.title`)}),i?(0,Q.jsx)(h,{className:`h-3 w-3`}):(0,Q.jsx)(o,{className:`h-3 w-3`})]}),(0,Q.jsx)(`span`,{className:`hidden h-3 w-px bg-border sm:block`}),(0,Q.jsx)(Ie,{label:`${Ce(e.content)} ${n(`activity:fileActivity.lines`)}`}),(0,Q.jsx)(Ie,{label:Te(we(e.content))}),!K.large&&(K.added>0||K.removed>0)&&(0,Q.jsxs)(`span`,{className:`hidden items-center gap-1 font-mono text-[10px] md:flex`,children:[(0,Q.jsxs)(`span`,{className:`text-success`,children:[`+`,K.added]}),(0,Q.jsxs)(`span`,{className:`text-destructive`,children:[`−`,K.removed]})]}),(0,Q.jsxs)(`span`,{className:A(`ml-auto inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[9px] font-semibold uppercase tracking-wide`,W.level===`churn`&&`bg-destructive/10 text-destructive`,W.level===`active`&&`bg-warning/10 text-warning`,W.level===`quiet`&&`bg-success/10 text-success`),children:[(0,Q.jsx)(O,{className:`h-2.5 w-2.5`}),n(`activity:fileActivity.level.${W.level}`)]}),(0,Q.jsx)(`span`,{className:`hidden text-[9px] text-muted-foreground lg:inline`,children:n(`activity:fileActivity.evidenceCount`,{count:U.length})}),i&&(0,Q.jsx)(`button`,{type:`button`,onClick:V,className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,title:n(`activity:fileActivity.refresh`),children:(0,Q.jsx)(x,{className:A(`h-3.5 w-3.5`,S&&`animate-spin`)})})]}),i&&(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,Q.jsxs)(`nav`,{className:`flex shrink-0 items-center gap-0.5 border-b border-border/60 bg-muted/20 px-2`,children:[le.map(e=>(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>p(e.id),className:A(`inline-flex h-7 items-center gap-1.5 border-b-2 px-2 text-[10px] transition-colors [&>svg]:h-3 [&>svg]:w-3`,d===e.id?`border-primary font-medium text-foreground`:`border-transparent text-muted-foreground hover:text-foreground`),children:[e.icon,e.label]},e.id)),T&&(0,Q.jsx)(`span`,{className:`ml-auto truncate px-2 text-[9px] text-warning`,children:T})]}),(0,Q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:[d===`overview`&&(0,Q.jsx)(Pe,{analysis:W,lifetime:ie,records:U,sessions:J,agents:Y,tasks:oe,taskLabel:se}),d===`changes`&&(0,Q.jsxs)(`div`,{className:`h-full min-h-[120px] p-2`,children:[(0,Q.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-2 text-[9px] text-muted-foreground`,children:[(0,Q.jsx)(C,{className:`h-3 w-3`}),(0,Q.jsx)(`span`,{children:j?.available?n(`activity:fileActivity.gitToBuffer`):n(`activity:fileActivity.savedToBuffer`)}),e.dirty&&(0,Q.jsx)(`span`,{className:`rounded bg-warning/10 px-1.5 py-0.5 text-warning`,children:n(`activity:fileActivity.unsaved`)}),j?.error&&(0,Q.jsx)(`span`,{className:`truncate text-warning`,children:j.error})]}),(0,Q.jsx)(`div`,{className:`h-[calc(100%-24px)] min-h-[90px]`,children:(0,Q.jsx)(I,{oldText:G,newText:e.content,caption:e.path,fill:!0})})]}),d===`skeleton`&&(0,Q.jsx)(Fe,{file:e}),d===`context`&&(0,Q.jsx)(Me,{sessions:J,agents:Y,tasks:oe,records:U,taskLabel:se,boardTitle:R?.title??z?.title}),d===`logs`&&(0,Q.jsx)(ke,{records:U,loading:S}),d===`memory`&&(0,Q.jsx)(`div`,{className:`h-full min-h-[120px]`,children:(0,Q.jsx)(ae,{filePath:e.path,open:!0,onClose:()=>p(`overview`)})})]})]})]})}V.config({monaco:ie});function Re(e){switch(e){case`method`:return B.CompletionItemKind.Method;case`function`:return B.CompletionItemKind.Function;case`constructor`:return B.CompletionItemKind.Constructor;case`field`:return B.CompletionItemKind.Field;case`variable`:return B.CompletionItemKind.Variable;case`class`:return B.CompletionItemKind.Class;case`interface`:return B.CompletionItemKind.Interface;case`module`:return B.CompletionItemKind.Module;case`property`:return B.CompletionItemKind.Property;case`unit`:return B.CompletionItemKind.Unit;case`value`:return B.CompletionItemKind.Value;case`enum`:return B.CompletionItemKind.Enum;case`keyword`:return B.CompletionItemKind.Keyword;case`snippet`:return B.CompletionItemKind.Snippet;case`file`:return B.CompletionItemKind.File;case`reference`:return B.CompletionItemKind.Reference;default:return B.CompletionItemKind.Text}}function ze(){let e=n(e=>e.openFiles),t=n(e=>e.activeFilePath),r=n(e=>e.setActiveFile),i=n(e=>e.closeFile);return e.length===0?null:(0,Q.jsx)(`div`,{className:`flex items-center border-b bg-muted/40 overflow-x-auto shrink-0`,children:e.map(e=>{let n=e.path===t,a=e.path.split(`/`).pop()??e.path;return(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>r(e.path),onMouseDown:t=>{t.button===1&&(t.preventDefault(),i(e.path))},className:A(`group flex items-center gap-1.5 px-3 py-1.5 text-[11px] border-r whitespace-nowrap min-w-0 max-w-[180px] transition-colors`,n?`bg-background border-t-2 border-t-primary text-foreground -mb-px`:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`),title:e.path,children:[e.dirty&&(0,Q.jsx)(E,{className:`h-2 w-2 fill-current text-primary shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:a}),(0,Q.jsx)(m,{className:A(`h-3 w-3 shrink-0 rounded-sm hover:bg-muted-foreground/20 opacity-0 group-hover:opacity-100 transition-opacity`,n&&`opacity-100`),onClick:t=>{t.stopPropagation(),i(e.path)}})]},e.path)})})}function Be(){let{t:e}=k(),i=n(e=>e.openFiles),a=n(e=>e.activeFilePath),o=n(e=>e.updateContent),{theme:s}=re(),l=(0,q.useRef)(null),u=(0,q.useRef)(a),d=(0,q.useRef)(new Map),f=(0,q.useMemo)(()=>i.find(e=>e.path===a)??null,[i,a]),p=a?ue(a):`plaintext`,m=G(),{editor:h}=R();(0,q.useEffect)(()=>ne(()=>W.remeasureFonts()),[]);let[g,_]=(0,q.useState)(!1),[v,x]=(0,q.useState)({line:1,col:1}),[S,w]=(0,q.useState)(!1),[E,ee]=(0,q.useState)(!1),D=P(e=>e.info?.branch);(0,q.useEffect)(()=>{u.current=a},[a]),(0,q.useEffect)(()=>{let e=G();W.setTheme(e)},[s]);let O=n(e=>e.targetLine),M=n(e=>e.clearTargetLine);(0,q.useEffect)(()=>{O&&l.current&&(l.current.revealLineInCenter(O.line),l.current.setPosition({lineNumber:O.line,column:O.col??1}),l.current.focus(),M())},[O,M]),(0,q.useEffect)(()=>{let e=Y.map(e=>B.registerCompletionItemProvider(e,{triggerCharacters:[`.`,`_`],provideCompletionItems:async(e,n,i,a)=>{let o=u.current;if(!o)return{suggestions:[]};let s=e.getOffsetAt(n),c=e.getValue(),l=c.slice(Math.max(0,s-oe),s),f=c.slice(s,s+se),p=e.getLineContent(n.lineNumber).slice(0,Math.max(0,n.column-1)),m=de(p),h={triggerCharacter:i.triggerCharacter,triggerKind:i.triggerKind};if(!fe(h,m))return{suggestions:[]};let g=`cmp_${Date.now()}_${Math.random().toString(36).slice(2)}`,_=e.getWordUntilPosition(n),v={startLineNumber:n.lineNumber,endLineNumber:n.lineNumber,startColumn:_.startColumn,endColumn:n.column},y=t(r.getState().wsUrl),b=e=>e.map((e,t)=>({label:e.label,kind:Re(e.kind),insertText:e.insertText,detail:e.detail??(e.source?`WrongStack ${e.source}`:void 0),documentation:e.documentation,sortText:e.sortText??`${String(t).padStart(3,`0`)}-${e.label}`,range:v,insertTextRules:e.kind===`snippet`?B.CompletionItemInsertTextRule.InsertAsSnippet:void 0})),x=me({filePath:o,language:e.getLanguageId(),lineNumber:n.lineNumber,column:n.column,versionId:e.getVersionId(),triggerCharacter:i.triggerCharacter,linePrefix:p,suffix:f}),S=d.current.get(x);return S&&S.expiresAt>Date.now()?{suggestions:b(S.items)}:await new Promise(t=>{let r=!1,s=()=>{},u=null,p,_=e=>{r||(r=!0,s(),p!==void 0&&window.clearTimeout(p),u?.dispose(),t({suggestions:e}))};s=y.on(`completion.result`,e=>{let t=e;t.payload.requestId===g&&(d.current.set(x,{expiresAt:Date.now()+le,items:t.payload.items}),_(b(t.payload.items)))}),p=window.setTimeout(()=>_([]),ce),u=a.onCancellationRequested(()=>_([])),y.requestCompletion({requestId:g,filePath:o,language:e.getLanguageId(),lineNumber:n.lineNumber,column:n.column,content:c.length<=5e5?c:void 0,prefix:l,suffix:f,triggerCharacter:i.triggerCharacter,triggerKind:i.triggerKind,allowLlm:pe(h,m)})})}}));return()=>{e.forEach(e=>{e.dispose()})}},[]);let te=(0,q.useCallback)(()=>{let e=l.current;if(!e)return null;let t=e.getSelection();if(!t||t.isEmpty())return null;let n=e.getModel();if(!n)return null;let r=n.getValueInRange(t);return r.trim()?{content:r,startLine:t.startLineNumber,endLine:t.endLineNumber}:null},[]),F=(0,q.useCallback)(()=>{j(`chat`),requestAnimationFrame(()=>{document.querySelector(`[data-chat-textarea]`)?.focus()})},[]),I=(0,q.useCallback)(()=>{let e=u.current;if(!e)return;let t=te();t&&(N.getState().addRef({kind:`snippet`,path:e,startLine:t.startLine,endLine:t.endLine,content:t.content}),F())},[te,F]),L=(0,q.useCallback)(()=>{let e=u.current;e&&(N.getState().addRef({kind:`file`,path:e}),F())},[F]),V=(0,q.useCallback)(t=>{l.current=t,W.setTheme(G()),t.onDidChangeCursorSelection?.(()=>{let e=t.getSelection();_(!!e&&!e.isEmpty())}),t.onDidChangeCursorPosition?.(e=>{e?.position&&x({line:e.position.lineNumber,col:e.position.column})}),t.addAction({id:`wrongstack-send-to-chat`,label:e(`activity:codeEditor.sendSelectionAction`),contextMenuGroupId:`wrongstack`,contextMenuOrder:0,precondition:void 0,keybindings:[U.CtrlCmd|U.Shift|z.KeyL],run:e=>{let t=e.getSelection();t&&!t.isEmpty()?I():L()}})},[I,L]),ie=(0,q.useCallback)(e=>{a&&e!==void 0&&o(a,e)},[a,o]);return(0,q.useEffect)(()=>{let e=e=>{let t=e.ctrlKey||e.metaKey,r=e.target?.tagName?.toLowerCase()===`textarea`||e.target?.closest(`.monaco-editor`)!==null;t&&r&&(e.key.toLowerCase()===`s`&&(e.preventDefault(),window.dispatchEvent(new CustomEvent(`wrongstack:save-file`,{detail:{filePath:a}}))),e.key.toLowerCase()===`w`&&(e.preventDefault(),a&&n.getState().closeFile(a)))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a]),i.length===0?(0,Q.jsx)(K,{title:e(`activity:codeEditor.noFilesOpen`),description:e(`activity:codeEditor.selectToEdit`)}):(0,Q.jsxs)(`div`,{className:`flex h-full min-w-0 flex-col overflow-hidden`,children:[(0,Q.jsx)(ze,{}),(0,Q.jsxs)(`div`,{className:`relative min-h-0 min-w-0 flex-1 overflow-hidden`,children:[(g||f)&&(0,Q.jsxs)(`div`,{className:`absolute top-2 right-2 z-10 flex items-center gap-1 rounded-lg border border-border bg-popover/95 backdrop-blur shadow-md p-1`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>w(e=>!e),className:A(`inline-flex items-center gap-1 rounded-md px-2 py-1 text-[11px] transition-colors`,S?`bg-primary/20 text-primary font-medium`:`text-muted-foreground hover:text-foreground hover:bg-accent`),title:S?`Disable word wrap`:`Enable word wrap`,children:[(0,Q.jsx)(T,{className:`h-3 w-3`}),(0,Q.jsx)(`span`,{children:`Wrap`})]}),(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>ee(e=>!e),className:A(`inline-flex items-center gap-1 rounded-md px-2 py-1 text-[11px] transition-colors`,E?`bg-primary/20 text-primary font-medium`:`text-muted-foreground hover:text-foreground hover:bg-accent`),title:E?`Hide minimap`:`Show minimap`,children:[(0,Q.jsx)(b,{className:`h-3 w-3`}),(0,Q.jsx)(`span`,{children:`Map`})]}),(0,Q.jsx)(`div`,{className:`h-3.5 w-px bg-border/80 mx-0.5`}),(0,Q.jsxs)(`button`,{type:`button`,onClick:g?I:L,className:`inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-[11px] text-foreground hover:bg-accent transition-colors`,title:e(g?`activity:codeEditor.sendSelectedTitle`:`activity:codeEditor.mentionFileTitle`),children:[g?(0,Q.jsx)(c,{className:`h-3 w-3`}):(0,Q.jsx)(y,{className:`h-3 w-3`}),(0,Q.jsx)(`span`,{children:e(g?`activity:codeEditor.sendToChat`:`activity:codeEditor.mentionFile`)})]})]}),f?(0,Q.jsx)(H,{language:p,value:f.content,onChange:ie,theme:m,onMount:V,loading:(0,Q.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Q.jsx)(`span`,{className:`text-[11px] text-muted-foreground animate-pulse`,children:e(`activity:codeEditor.loadingEditor`)})}),options:{minimap:{enabled:E},fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,fontLigatures:h.fontLigatures,lineNumbers:`on`,renderWhitespace:`selection`,scrollBeyondLastLine:!1,wordWrap:S?`on`:`off`,tabSize:2,smoothScrolling:!0,cursorBlinking:`smooth`,cursorSmoothCaretAnimation:`on`,bracketPairColorization:{enabled:!0},"semanticHighlighting.enabled":!0,automaticLayout:!0,padding:{top:8}}},f.path):(0,Q.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Q.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:e(`activity:codeEditor.selectTab`)})})]}),f&&(0,Q.jsxs)(`div`,{className:`flex h-6 shrink-0 items-center justify-between border-t border-border/70 bg-muted/30 px-3 text-[11px] text-muted-foreground font-mono select-none`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[D&&(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-foreground/80 font-medium`,children:[(0,Q.jsx)(C,{className:`h-3 w-3 text-primary shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate max-w-[140px]`,children:D})]}),(0,Q.jsx)(`span`,{className:`truncate max-w-[320px] text-muted-foreground`,children:f.path})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,Q.jsxs)(`span`,{children:[`Ln `,v.line,`, Col `,v.col]}),(0,Q.jsx)(`span`,{children:`UTF-8`}),(0,Q.jsx)(`span`,{className:`uppercase text-[10px] font-semibold text-primary`,children:p})]})]}),f&&(0,Q.jsx)(Le,{file:f})]})}export{Be as CodeEditor};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-wiHys0m2.js";import{$n as r,$r as i,Dn as a,Fi as o,Ga as s,Hi as c,Hn as l,Jn as u,Mr as d,Mt as f,Na as p,Wa as m,Wr as h,bi as g,ci as _,cr as ee,gi as v,go as te,ho as y,ja as b,n as ne,nn as x,so as re,sr as S,ur as C,xo as w,yn as ie}from"./vendor-V3ydTHqN.js";import"./i18n--QdD6NCn.js";import{a as T,c as ae,d as oe,f as se,h as E,m as ce,n as D,o as le,p as ue,r as de,t as fe,u as pe}from"./xyflow-BqDBClm9.js";import{t as O}from"./utils-CKsqCaP8.js";import{i as me,r as he,t as ge}from"./codemap-activity-store-Ha7XbGgq.js";import{S as _e}from"./fonts-DRGbd-AM.js";import{R as ve}from"./index-FWwLmwjx.js";var k=e(t(),1),A=n();function ye({historyFile:e,fileHistory:t,onClose:n}){let{t:r}=w();return(0,A.jsxs)(`div`,{className:`absolute right-0 top-0 z-50 flex h-full w-[390px] max-w-[90%] flex-col border-l bg-card shadow-2xl`,children:[(0,A.jsxs)(`div`,{className:`flex h-12 items-center justify-between border-b px-4`,children:[(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,A.jsx)(y,{className:`h-4 w-4 shrink-0 text-warning`}),(0,A.jsx)(`span`,{className:`truncate font-mono text-[11px] font-semibold`,title:e,children:e})]}),(0,A.jsx)(`button`,{type:`button`,onClick:n,className:`flex h-7 w-7 items-center justify-center border text-muted-foreground hover:bg-muted`,"aria-label":r(`activity:codeMap.closeActivity`),children:(0,A.jsx)(f,{className:`h-3.5 w-3.5`})})]}),(0,A.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-3`,children:t.length===0?(0,A.jsx)(`p`,{className:`py-12 text-center text-[10px] text-muted-foreground`,children:r(`activity:codeMap.noActivityRecordedForThisFile`)}):t.map((e,t)=>(0,A.jsxs)(`div`,{className:`mb-1 flex items-start gap-2 border p-2 text-[10px]`,children:[(0,A.jsx)(`span`,{className:O(`border px-1.5 py-0.5 font-mono text-[8px] font-bold uppercase`,e.type===`delete`?`border-destructive/40 text-destructive`:e.type===`read`?`border-info/40 text-info`:`border-warning/40 text-warning`),children:e.type}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`font-mono text-[9px] text-muted-foreground`,children:new Date(e.timestamp).toLocaleTimeString()}),e.toolName&&(0,A.jsxs)(`div`,{className:`mt-1`,children:[`via `,e.toolName]}),e.agent&&(0,A.jsx)(`div`,{className:`text-muted-foreground`,children:e.agent}),e.summary&&(0,A.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:e.summary}),e.change&&(0,A.jsxs)(`div`,{className:`mt-1 flex items-center gap-1 font-mono text-[8px]`,children:[(0,A.jsxs)(`span`,{className:`border border-success/40 bg-success/10 px-1 text-success`,children:[`+`,e.change.added]}),(0,A.jsxs)(`span`,{className:`border border-destructive/40 bg-destructive/10 px-1 text-destructive`,children:[`−`,e.change.removed]}),e.change.before&&(0,A.jsx)(`span`,{className:`ml-1 truncate text-destructive/80`,title:e.change.before,children:e.change.before}),e.change.after&&(0,A.jsxs)(`span`,{className:`truncate text-success/80`,title:e.change.after,children:[`→ `,e.change.after]})]}),(0,A.jsxs)(`div`,{className:`mt-1 flex gap-2 font-mono text-[8px] uppercase text-muted-foreground`,children:[(0,A.jsx)(`span`,{children:e.status??`observed`}),(0,A.jsx)(`span`,{children:e.source??`legacy`}),e.durationMs!==void 0&&(0,A.jsxs)(`span`,{children:[e.durationMs,`ms`]}),e.watcherConfirmed&&(0,A.jsx)(`span`,{className:`text-success`,children:r(`activity:codeMap.fsVerified`)})]})]})]},`${e.timestamp}-${t}`))}),(0,A.jsxs)(`div`,{className:`border-t px-4 py-2 font-mono text-[9px] text-muted-foreground`,children:[t.length,` events · newest first`]})]})}var be=4096,j=new Map;function M(e){let t=j.get(e);if(t!==void 0)return t;let n=e.replace(/\\/g,`/`).replace(/^\.\//,``).toLocaleLowerCase();for(;j.size>=be;){let e=j.keys().next().value;if(e===void 0)break;j.delete(e)}return j.set(e,n),n}function N(e){return e.level===`packages`?`packages`:e.level===`files`?`files:${e.package}`:`symbols:${e.file}`}function xe(e){return e.level===`packages`?`/api/codemap/packages`:e.level===`files`?`/api/codemap/files?package=${encodeURIComponent(e.package)}`:`/api/codemap/symbols?file=${encodeURIComponent(e.file)}`}function Se(e,t,n){let r=new Map(e.nodes.map(e=>[e.id,e])),i=[];for(let a of e.edges){let e=n===`incoming`?a.target===t?a.source:void 0:a.source===t?a.target:void 0;if(!e)continue;let o=r.get(e);o&&i.push({node:o,edge:a})}return i.sort((e,t)=>t.edge.weight-e.edge.weight||e.node.label.localeCompare(t.node.label))}function Ce(e,t){let n=new Set([t]);for(let r of e.edges)r.source===t&&n.add(r.target),r.target===t&&n.add(r.source);return n}function P(e,t){let n=new Map(e.nodes.map(e=>[e.id,0]));for(let r of e.edges)t.has(r.source)&&t.has(r.target)&&(n.set(r.source,(n.get(r.source)??0)+r.weight),r.target!==r.source&&n.set(r.target,(n.get(r.target)??0)+r.weight));return n}function we(e){let t=new Set(e.nodes.map(e=>e.id)),n=P(e,t),r=new Map(e.nodes.map(e=>[e.id,0])),i=new Map;for(let n of e.edges){if(!t.has(n.source)||!t.has(n.target)||n.source===n.target)continue;r.set(n.target,(r.get(n.target)??0)+1);let e=i.get(n.source)??[];e.push(n.target),i.set(n.source,e)}let a=new Map,o=e.nodes.filter(e=>(r.get(e.id)??0)===0).sort((e,t)=>(n.get(t.id)??0)-(n.get(e.id)??0)).map(e=>e.id);o.length===0&&e.nodes[0]&&o.push(e.nodes[0].id);for(let e of o)a.set(e,0);let s=new Set,c=0;for(;c<o.length;){let e=o[c++];if(!s.has(e)){s.add(e);for(let t of i.get(e)??[])a.set(t,Math.max(a.get(t)??0,Math.min((a.get(e)??0)+1,7))),r.set(t,(r.get(t)??1)-1),(r.get(t)??0)<=0&&o.push(t)}}let l=e.nodes.filter(e=>!a.has(e.id)).sort((e,t)=>(n.get(t.id)??0)-(n.get(e.id)??0));l.forEach((e,t)=>{a.set(e.id,t%Math.min(4,Math.max(1,l.length)))});let u=new Map;for(let t of e.nodes){let e=a.get(t.id)??0,n=u.get(e)??[];n.push(t),u.set(e,n)}for(let e of u.values())e.sort((e,t)=>Number(e.external)-Number(t.external)||(n.get(t.id)??0)-(n.get(e.id)??0)||e.label.localeCompare(t.label));let d=Math.max(1,...[...u.values()].map(e=>e.length))*208,f=[];for(let[e,t]of[...u.entries()].sort(([e],[t])=>e-t)){let n=(d-t.length*208)/2;t.forEach((t,r)=>{f.push({node:t,position:{x:e*386,y:n+r*208}})})}return f}function F(e,t){if(e.nodes.length===0)return[];let n=P(e,new Set(e.nodes.map(e=>e.id))),r=e.nodes.find(e=>e.id===t)??[...e.nodes].sort((e,t)=>(n.get(t.id)??0)-(n.get(e.id)??0))[0],i=Ce(e,r.id);i.delete(r.id);let a=e.nodes.filter(e=>i.has(e.id)),o=e.nodes.filter(e=>e.id!==r.id&&!i.has(e.id)),s=[{node:r,position:{x:0,y:0}}],c=(e,t,n)=>{e.forEach((r,i)=>{let a=n+Math.PI*2*i/Math.max(1,e.length);s.push({node:r,position:{x:Math.cos(a)*t,y:Math.sin(a)*t}})})};c(a,Math.max(330,a.length*34),-Math.PI/2);for(let e=0;e<o.length;e+=18)c(o.slice(e,e+18),620+Math.floor(e/18)*280,-Math.PI/2+.12);return s}function Te(e,t,n){return t===`orbit`?F(e,n):t===`subsystems`?ke(e):we(e)}function Ee(e){return e.subsystem??e.package??`(ungrouped)`}var De=6,Oe=96;function ke(e){if(e.nodes.length===0)return[];let t=P(e,new Set(e.nodes.map(e=>e.id))),n=e=>e.rank??(t.get(e.id)??0)/1e3,r=new Map;for(let t of e.nodes){let e=Ee(t),n=r.get(e);n===void 0?r.set(e,[t]):n.push(t)}let i=[...r.entries()].map(([e,t])=>({name:e,nodes:[...t].sort((e,t)=>n(t)-n(e)||e.label.localeCompare(t.label)),weight:t.reduce((e,t)=>e+n(t),0)})).sort((e,t)=>e.name===`(ungrouped)`?1:t.name===`(ungrouped)`?-1:t.weight-e.weight||e.name.localeCompare(t.name)),a=[],o=0;for(let e of i){e.nodes.forEach((e,t)=>{a.push({node:e,position:{x:t%De*311,y:o+Math.floor(t/De)*208}})});let t=Math.ceil(e.nodes.length/De);o+=t*208+Oe}return a}function Ae(e,t,n){if(e.length<=n)return e;let r=t?e.filter(e=>e.source===t||e.target===t):[],i=e.filter(e=>!t||e.source!==t&&e.target!==t).sort((e,t)=>t.weight-e.weight||e.source.localeCompare(t.source)||e.target.localeCompare(t.target)),a=Math.max(0,n-r.length);return[...r,...i.slice(0,a)]}function je(e,t,n){if(n===`all`)return e;let r=e.nodes;if(e.nodes.length>96){let n=new Map(e.nodes.map(e=>[e.id,e])),i=new Map;for(let t of e.edges)i.set(t.source,(i.get(t.source)??0)+t.weight),i.set(t.target,(i.get(t.target)??0)+t.weight);let a=e.nodes.some(e=>e.rank!==void 0),o=e=>a?e.rank??0:i.get(e.id)??0,s=[...e.nodes].sort((e,t)=>o(t)-o(e)||e.label.localeCompare(t.label)),c=new Set,l=e=>{n.has(e)&&c.size<96&&c.add(e)};if(t&&n.has(t)){l(t);let n=e.edges.filter(e=>e.source===t||e.target===t).sort((e,t)=>t.weight-e.weight);for(let e of n)l(e.source),l(e.target);let r=new Set(c),i=e.edges.filter(e=>r.has(e.source)||r.has(e.target)).sort((e,t)=>t.weight-e.weight);for(let e of i)l(e.source),l(e.target)}else{let e=s.filter(e=>!e.external).slice(0,72),t=s.filter(e=>e.external).slice(0,24);for(let n of[...e,...t])l(n.id)}for(let e of s)l(e.id);r=e.nodes.filter(e=>c.has(e.id))}let i=new Set(r.map(e=>e.id)),a=e.edges.filter(e=>i.has(e.source)&&i.has(e.target));return{nodes:r,edges:Ae(a,t,180)}}var I=[`/src/main/java/`,`/src/main/kotlin/`,`/src/`,`/lib/`,`/internal/`,`/cmd/`,`/pkg/`,`/app/`];function L(e){let t=(e.file??e.label).replace(/\\/g,`/`),n=e.package??``,r=n.startsWith(`@wrongstack/`)?`/packages/${n.slice(12)}/`:n.startsWith(`app:`)?`/apps/${n.slice(4)}/`:void 0;if(!r)return;let i=t.indexOf(r);return i>=0?t.slice(i+r.length):void 0}function R(e){let t=(e.file??e.label).replace(/\\/g,`/`),n=L(e);if(n!==void 0)return n;let r=-1,i=0;for(let e of I){let n=t.lastIndexOf(e);n>r&&(r=n,i=n+e.length)}return r>=0?t.slice(i):t.split(`/`).slice(-3).join(`/`)}function Me(e){if(e.length===0)return``;let t=e.map(e=>e.split(`/`)),n=t[0]??[],r=0;for(;r<n.length-1;){let e=n[r];if(!t.every(t=>t.length-1>r&&t[r]===e))break;r++}return r===0?``:`${n.slice(0,r).join(`/`)}/`}var Ne=new WeakMap;function Pe(e){let t=Ne.get(e);if(t)return t;let n={name:``,path:``,directories:[],files:[]},r=e.filter(e=>e.kind===`file`&&!e.external),i=r.map(L),a=i.every(e=>e!==void 0),o=a?``:Me(r.map(e=>(e.file??e.label).replace(/\\/g,`/`)));for(let[e,t]of r.entries()){let r=(t.file??t.label).replace(/\\/g,`/`),s=i[e],c=(a?s??R(t):o&&r.startsWith(o)?r.slice(o.length):R(t)).split(`/`).filter(Boolean),l=c.pop()??t.label,u=n;for(let e of c){let t=u.path?`${u.path}/${e}`:e,n=u.directories.find(t=>t.name===e);n||(n={name:e,path:t,directories:[],files:[]},u.directories.push(n)),u=n}u.files.push({...t,label:l})}let s=e=>{e.directories.sort((e,t)=>e.name.localeCompare(t.name)),e.files.sort((e,t)=>e.label.localeCompare(t.label)),e.directories.forEach(s)};return s(n),Ne.set(e,n),n}function Fe(e){let t=2166136261,n=e=>{for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)};for(let t of e.nodes)n(t.id);for(let r of e.edges)n(r.source),n(r.target),n(r.refType),t^=r.weight|0,t=Math.imul(t,16777619);return`${e.nodes.length}:${e.edges.length}:${t>>>0}`}function Ie(e,t,n,r){for(e.has(t)&&e.delete(t),e.set(t,n);e.size>r;){let t=e.keys().next().value;if(t===void 0)break;e.delete(t)}}function Le(e,t){if(!e||!t)return!1;let n=M(e),r=M(t);return n===r||n.endsWith(`/${r}`)||r.endsWith(`/${n}`)}function Re(e){let t=M(e),n=t.match(/\/packages\/([^/]+)\//);if(n?.[1])return`@wrongstack/${n[1]}`;let r=t.match(/\/apps\/([^/]+)\//);return r?.[1]?`app:${r[1]}`:`(root)`}function ze(e,t){return t.kind===`package`?Re(e.filePath)===(t.package??t.label):Le(e.filePath,t.file)?t.kind!==`symbol`||e.symbol?.id===t.id:!1}function z(e){let t=new Map;for(let n of e){let e=M(n.filePath),r=t.get(e);r?r.push(n):t.set(e,[n])}return t}function Be(e,t){let n=new Map;if(t.length===0||e.length===0)return n;let r=z(t),i=new Map;for(let a of e){let e;if(a.kind===`package`){let n=a.package??a.label,r=i.get(n);r||(r=t.filter(e=>Re(e.filePath)===n),i.set(n,r)),e=r}else if(a.file){let t=M(a.file),n=r.get(t);if(!n){n=[];for(let[e,i]of r)(e.endsWith(`/${t}`)||t.endsWith(`/${e}`))&&n.push(...i)}e=a.kind===`symbol`?n.filter(e=>e.symbol?.id===a.id):n}else e=[];e.length>0&&n.set(a.id,e)}return n}function Ve(e){if(e.length===0)return``;let t=`${e.length}`;for(let n=0;n<e.length;n++){let r=e[n];t+=`|${r.id??``}:${r.toolUseId??``}:${r.filePath}:${r.type}:${r.status??``}:${r.symbol?.id??``}:${r.timestamp}`}return t}function He(e,t){let n=t.filter(t=>t.kind===`symbol`&&!t.external&&Le(t.file,e.filePath));if(n.length===0)return;if(e.line)return[...n].sort((e,t)=>(t.line??0)-(e.line??0)).find(t=>(t.line??0)<=e.line)??n[0];let r=e.summary.toLocaleLowerCase();return n.find(e=>e.label.length>2&&(r.includes(e.label.toLocaleLowerCase())||!!(e.signature&&r.includes(e.signature.toLocaleLowerCase()))))}var B={package:{icon:S,accent:`border-l-primary`,iconStyle:`bg-primary/12 text-primary`},file:{icon:o,accent:`border-l-info`,iconStyle:`bg-info/12 text-info`},symbol:{icon:s,accent:`border-l-success`,iconStyle:`bg-success/12 text-success`}},V=.25;function Ue(e){return e===void 0?`border-l-[3px]`:e>=.6?`border-l-[7px]`:e>=V?`border-l-[5px]`:`border-l-[3px]`}var We={call:`hsl(var(--primary))`,import:`hsl(var(--info))`,type_ref:`hsl(var(--success))`,inherit:`hsl(var(--warning))`,implement:`hsl(var(--destructive))`},Ge={read:`ring-2 ring-info/60 shadow-info/20`,write:`ring-2 ring-warning/70 shadow-warning/30`,edit:`ring-2 ring-warning/80 shadow-warning/40`,delete:`ring-2 ring-destructive/70 shadow-destructive/30`,search:`ring-2 ring-primary/55 shadow-primary/20`,memory:`ring-2 ring-success/60 shadow-success/30`,index:`ring-2 ring-info/50 shadow-info/20`,execute:`ring-2 ring-primary/55 shadow-primary/25`},Ke=[`bg-primary text-primary-foreground`,`bg-info text-info-foreground`,`bg-success text-success-foreground`,`bg-warning text-warning-foreground`,`bg-destructive text-destructive-foreground`];function qe(e){let t=e.trim().split(/[\s:_-]+/).filter(Boolean);return(t.length>1?`${t[0]?.[0]??``}${t[1]?.[0]??``}`:e.slice(0,2)).toLocaleUpperCase()}function Je(e){let t=0;for(let n of e)t=t*31+n.charCodeAt(0)|0;return Ke[Math.abs(t)%Ke.length]??Ke[0]}function Ye(e){let t=0;for(let n of e)t=t*31+n.charCodeAt(0)|0;return`hsl(${Math.abs(t)%360} 82% 58%)`}var Xe=[`/packages/`,`/apps/`,`/crates/`,`/cmd/`,`/internal/`,`/pkg/`,`/src/`];function Ze(e){let t=e.replace(/\\/g,`/`),n=Xe.reduce((e,n)=>Math.max(e,t.lastIndexOf(n)),-1);return n>=0?t.slice(n+1):t.split(`/`).slice(-3).join(`/`)}function H(e){return[e.symbol?.name,e.line?`L${e.line}`:void 0].filter(Boolean).join(` · `)}function Qe({data:e}){let{t}=w(),{graphNode:n,selected:r,dimmed:i,incoming:a,outgoing:o,isActive:s,activityType:u,activeOperations:d}=e,f=B[n.kind],p=f.icon,m=n.kind===`package`||n.kind===`file`&&!!n.file,h=t(n.kind===`package`?`activity:codeMapTree.openFileMap`:`activity:codeMap.openSymbolMap`),g=n.kind===`symbol`?`${n.symbolKind??`symbol`}${n.line?` · L${n.line}`:``}`:n.kind===`file`?R(n):`${n.fileCount??0} files · ${n.symbolCount??0} symbols`;return(0,A.jsxs)(`div`,{className:O(`group relative w-[236px] pointer-events-auto border bg-card text-card-foreground shadow-[0_8px_24px_hsl(var(--shadow-color)/0.08)] transition-[opacity,box-shadow,border-color,background-color]`,f.accent,Ue(n.rank),r&&`border-primary bg-primary/5 shadow-[0_0_0_2px_hsl(var(--primary)/0.18),0_16px_36px_hsl(var(--shadow-color)/0.18)]`,n.external&&`border-dashed bg-muted/75`,i&&`opacity-25 grayscale`,s&&u&&Ge[u]),children:[d.length>0&&(0,A.jsxs)(`div`,{className:`absolute -top-5 left-2 z-20 flex max-w-[210px] items-center gap-1`,children:[d.slice(0,4).map(e=>{let t=e.agentName??e.agent??`External`,n=`${e.sessionId??`none`}:${e.agentId??t}`;return(0,A.jsxs)(`span`,{className:O(`flex h-6 items-center gap-1 border-2 border-background px-1.5 font-mono text-[8px] font-bold shadow-md`,Je(n)),title:`${t} · ${e.type} ${H(e)}`,children:[(0,A.jsx)(`span`,{className:`h-1.5 w-1.5 animate-pulse bg-current`}),qe(t),e.symbol&&(0,A.jsx)(`span`,{className:`max-w-[80px] truncate`,children:e.symbol.name})]},e.id??`${n}:${e.filePath}`)}),d.length>4&&(0,A.jsxs)(`span`,{className:`border bg-card px-1 font-mono text-[8px] shadow`,children:[`+`,d.length-4]})]}),(0,A.jsx)(T,{type:`target`,position:E.Left,className:`!h-2.5 !w-2.5 !border-2 !border-card !bg-muted-foreground`}),(0,A.jsxs)(`button`,{type:`button`,className:`nodrag nopan block w-full cursor-pointer text-left focus-visible:outline-2 focus-visible:outline-primary`,onClick:t=>{if(t.shiftKey&&n.file){e.onShowHistory(n.file);return}m?e.onOpen(n):e.onSelect(n)},"aria-label":`${n.kind} ${n.label}`,children:[(0,A.jsxs)(`div`,{className:`flex items-start gap-3 p-3`,children:[(0,A.jsx)(`span`,{className:O(`flex h-8 w-8 shrink-0 items-center justify-center border`,f.iconStyle),children:(0,A.jsx)(p,{className:`h-4 w-4`})}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-[9px] font-bold uppercase tracking-[0.18em] text-muted-foreground`,children:[(0,A.jsx)(`span`,{children:n.kind}),n.external&&(0,A.jsx)(`span`,{className:`border border-border px-1 py-0.5 text-[8px] text-warning`,children:`external`}),n.rank!==void 0&&n.rank>=.6&&(0,A.jsx)(`span`,{className:`border border-primary/40 bg-primary/10 px-1 py-0.5 text-[8px] text-primary`,children:t(`activity:codeMap.hub`)}),n.lang&&(0,A.jsx)(`span`,{className:`ml-auto font-mono normal-case tracking-normal`,children:n.lang})]}),(0,A.jsx)(`div`,{className:`truncate font-mono text-[13px] font-semibold`,title:n.label,children:n.label}),(0,A.jsx)(`div`,{className:`mt-1 truncate text-[10px] text-muted-foreground`,title:g,children:g}),n.concept&&(0,A.jsx)(`div`,{className:`mt-1 line-clamp-2 text-[9px] leading-snug text-muted-foreground/80`,title:n.concept,children:n.concept})]})]}),n.rank!==void 0&&(0,A.jsx)(`div`,{className:`h-[3px] w-full bg-muted`,title:t(`activity:codeMap.centrality`,{value:Math.round(n.rank*100)}),children:(0,A.jsx)(`div`,{className:`h-full bg-primary/70`,style:{width:`${Math.max(2,Math.round(n.rank*100))}%`}})}),(0,A.jsxs)(`div`,{className:`flex items-center gap-3 border-t bg-muted/30 px-3 py-1.5 font-mono text-[9px] text-muted-foreground`,children:[(0,A.jsxs)(`span`,{title:t(`activity:codeMapVisuals.incomingRelationships`),children:[`← `,a]}),(0,A.jsxs)(`span`,{title:t(`activity:codeMapVisuals.outgoingRelationships`),children:[`→ `,o]}),n.symbolCount!==void 0&&n.kind===`file`&&(0,A.jsxs)(`span`,{className:`ml-auto`,children:[n.symbolCount,` sym`]}),s&&(0,A.jsxs)(`span`,{className:`ml-auto flex items-center gap-1 font-bold text-warning`,children:[(0,A.jsx)(l,{className:`h-2.5 w-2.5 animate-pulse`}),` LIVE`]})]})]}),(0,A.jsxs)(`div`,{className:`nodrag nopan flex items-center border-t bg-muted/20`,children:[(0,A.jsxs)(`button`,{type:`button`,className:`flex h-8 cursor-pointer items-center gap-1 px-2 text-[10px] text-muted-foreground hover:bg-muted hover:text-foreground`,onClick:t=>{t.stopPropagation(),e.onSelect(n)},"aria-label":`${t(`activity:codeMap.relations`)}: ${n.label}`,"aria-pressed":r,children:[(0,A.jsx)(C,{className:`h-3.5 w-3.5`}),` `,t(`activity:codeMap.relations`)]}),m&&(0,A.jsxs)(`button`,{type:`button`,className:`ml-auto flex h-8 min-w-0 cursor-pointer items-center gap-1 px-2 text-[10px] text-primary hover:bg-primary/10`,onClick:t=>{t.stopPropagation(),e.onOpen(n)},title:h,"aria-label":`Open ${n.label} map`,children:[(0,A.jsx)(c,{className:`h-3.5 w-3.5 shrink-0`}),` `,(0,A.jsx)(`span`,{className:`truncate`,children:h})]}),n.file&&(0,A.jsx)(`button`,{type:`button`,className:`flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center text-muted-foreground hover:bg-muted hover:text-foreground`,onClick:t=>{t.stopPropagation(),e.onShowHistory(n.file)},"aria-label":`${t(`activity:codeMap.activity`)}: ${n.label}`,title:t(`activity:codeMap.activity`),children:(0,A.jsx)(y,{className:`h-3.5 w-3.5`})})]}),(0,A.jsx)(T,{type:`source`,position:E.Right,className:`!h-2.5 !w-2.5 !border-2 !border-card !bg-muted-foreground`})]})}function U(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function $e(e,t){return e.graphNode===t.graphNode&&e.selected===t.selected&&e.dimmed===t.dimmed&&e.incoming===t.incoming&&e.outgoing===t.outgoing&&e.isActive===t.isActive&&e.activityType===t.activityType&&e.onSelect===t.onSelect&&e.onOpen===t.onOpen&&e.onShowHistory===t.onShowHistory&&U(e.activeOperations,t.activeOperations)}var W={codemap:(0,k.memo)(Qe,(e,t)=>$e(e.data,t.data))},et={nodes:[],edges:[]};function tt(e){return/Authentication required|Unauthorized/i.test(e)}function nt({loading:e,error:t,graph:n,canvasNodeCount:r,flowNodes:i,flowEdges:a,onNodesChange:o,onEdgesChange:s,onNodeClick:c,agentTrailCount:l}){let{t:u}=w();return(0,A.jsxs)(A.Fragment,{children:[e&&(0,A.jsxs)(`div`,{className:`absolute inset-0 z-20 flex flex-col items-center justify-center gap-3 bg-background/75 backdrop-blur-sm`,children:[(0,A.jsx)(d,{className:`h-7 w-7 animate-spin text-primary`}),(0,A.jsx)(`span`,{className:`font-mono text-[10px] uppercase tracking-widest text-muted-foreground`,children:u(`activity:codeMap.mappingRelationships`)})]}),t&&!e&&(0,A.jsxs)(`div`,{className:`absolute inset-0 z-20 flex flex-col items-center justify-center gap-3 p-8 text-center`,children:[(0,A.jsx)(C,{className:`h-10 w-10 text-destructive`}),(0,A.jsx)(`p`,{className:`font-mono text-sm text-destructive`,children:t}),!tt(t)&&(0,A.jsxs)(`p`,{className:`max-w-md text-xs text-muted-foreground`,children:[`The map needs a codebase index. Run`,` `,(0,A.jsx)(`code`,{className:`border bg-muted px-1.5 py-0.5`,children:`codebase-index`}),` `,u(`activity:codeMap.onceThenReopenThisView`)]})]}),!e&&!t&&n.nodes.length===0&&(0,A.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-2 text-muted-foreground`,children:[(0,A.jsx)(C,{className:`h-8 w-8 opacity-40`}),(0,A.jsx)(`p`,{className:`text-xs`,children:u(`activity:codeMap.noIndexedNodesAtThisLevel`)})]}),!e&&!t&&n.nodes.length>1&&n.edges.length===0&&(0,A.jsxs)(`div`,{className:`pointer-events-none absolute left-1/2 top-14 z-10 -translate-x-1/2 border border-warning/40 bg-warning/10 px-3 py-2 text-center shadow backdrop-blur`,children:[(0,A.jsx)(`div`,{className:`font-mono text-[9px] font-bold uppercase tracking-wider text-warning`,children:u(`activity:codeMap.noResolvedRelationsInThisScope`)}),(0,A.jsx)(`div`,{className:`mt-0.5 text-[8px] text-muted-foreground`,children:u(`activity:codeMap.theUpgradedIndexWillRebuildAnd`)})]}),!t&&n.nodes.length>0&&(0,A.jsxs)(pe,{nodes:i,edges:a,onNodesChange:o,onEdgesChange:s,onNodeClick:c,nodeTypes:W,nodesConnectable:!1,nodesDraggable:!1,edgesFocusable:!1,elementsSelectable:!1,onlyRenderVisibleElements:!0,minZoom:.08,maxZoom:2.2,proOptions:{hideAttribution:!0},children:[(0,A.jsx)(fe,{variant:D.Dots,gap:r>60?32:22,size:1,color:`hsl(var(--muted-foreground))`,className:`!opacity-25`}),(0,A.jsx)(de,{position:`bottom-left`,showInteractive:!1,className:`!border !border-border !bg-card !shadow-md [&>button]:!border-border [&>button]:!bg-card [&>button]:!fill-foreground`}),r<=48&&(0,A.jsx)(le,{position:`bottom-right`,pannable:!0,zoomable:!0,className:`!h-[112px] !w-[180px] !border !border-border !bg-card !shadow-md`,maskColor:`hsl(var(--background) / 0.72)`,nodeColor:e=>{let t=e.data?.graphNode.kind;return t===`package`?`hsl(var(--primary))`:t===`file`?`hsl(var(--info))`:`hsl(var(--success))`}})]}),(0,A.jsxs)(`div`,{className:`pointer-events-none absolute bottom-3 left-1/2 z-10 flex -translate-x-1/2 items-center gap-3 border bg-card/90 px-3 py-1.5 font-mono text-[8px] text-muted-foreground shadow backdrop-blur`,children:[Object.entries(We).map(([e,t])=>(0,A.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,A.jsx)(`span`,{className:`h-0.5 w-3`,style:{backgroundColor:t}}),e.replace(`_`,` `)]},e)),(0,A.jsxs)(`span`,{className:`flex items-center gap-1 text-primary`,"data-testid":`agent-trail-count`,children:[(0,A.jsx)(`span`,{className:`w-4 border-t-2 border-dashed border-primary`}),`agent trail`,l>0?` ×${l}`:``]})]})]})}function rt({layout:e,canvasMode:t,edgeFilter:n,canvasNodeCount:r,graphNodeCount:i,onLayoutChange:a,onCanvasModeChange:o,onEdgeFilterChange:s}){let{t:c}=w();return(0,A.jsxs)(`div`,{className:`pointer-events-none absolute left-3 right-3 top-3 z-10 flex items-center gap-2`,children:[(0,A.jsxs)(`div`,{className:`pointer-events-auto flex border bg-card/95 shadow-md backdrop-blur`,children:[(0,A.jsxs)(`button`,{type:`button`,className:O(`flex h-8 items-center gap-1.5 border-r px-2.5 text-[9px] font-semibold uppercase tracking-wider`,e===`layers`?`bg-primary text-primary-foreground`:`text-muted-foreground hover:bg-muted`),onClick:()=>a(`layers`),children:[(0,A.jsx)(h,{className:`h-3 w-3`}),` `,c(`activity:codeMap.layers`)]}),(0,A.jsxs)(`button`,{type:`button`,className:O(`flex h-8 items-center gap-1.5 border-r px-2.5 text-[9px] font-semibold uppercase tracking-wider`,e===`orbit`?`bg-primary text-primary-foreground`:`text-muted-foreground hover:bg-muted`),onClick:()=>a(`orbit`),children:[(0,A.jsx)(ee,{className:`h-3 w-3`}),` `,c(`activity:codeMap.relations`)]}),(0,A.jsxs)(`button`,{type:`button`,className:O(`flex h-8 items-center gap-1.5 px-2.5 text-[9px] font-semibold uppercase tracking-wider`,e===`subsystems`?`bg-primary text-primary-foreground`:`text-muted-foreground hover:bg-muted`),onClick:()=>a(`subsystems`),title:c(`activity:codeMap.groupNodesByTheSubsystemTheyBelongTo`),children:[(0,A.jsx)(m,{className:`h-3 w-3`}),` `,c(`activity:codeMap.subsystems`)]})]}),(0,A.jsxs)(`div`,{className:`pointer-events-auto flex border bg-card/95 shadow-md backdrop-blur`,children:[(0,A.jsxs)(`button`,{type:`button`,className:O(`h-8 border-r px-2.5 font-mono text-[9px] font-bold`,t===`smart`?`bg-success text-success-foreground`:`text-muted-foreground hover:bg-muted`),onClick:()=>o(`smart`),title:c(`activity:codeMap.keepTheFullTreeShowTheStrongestRelationsAndSelectedNeighbourhood`),children:[`SMART `,r,`/`,i]}),(0,A.jsx)(`button`,{type:`button`,className:O(`h-8 px-2.5 font-mono text-[9px] font-bold`,t===`all`?`bg-foreground text-background`:`text-muted-foreground hover:bg-muted`),onClick:()=>o(`all`),title:c(`activity:codeMap.renderEveryNodeAndRelationInThisScope`),children:c(`activity:codeMap.all`)})]}),(0,A.jsx)(`div`,{className:`pointer-events-auto ml-auto flex max-w-[60%] overflow-x-auto border bg-card/95 shadow-md backdrop-blur`,children:[`all`,`import`,`call`,`type_ref`,`inherit`,`implement`].map(e=>(0,A.jsx)(`button`,{type:`button`,className:O(`h-8 whitespace-nowrap border-r px-2.5 font-mono text-[9px] last:border-r-0`,n===e?`bg-foreground text-background`:`text-muted-foreground hover:bg-muted`),onClick:()=>s(e),children:e===`all`?`ALL LINKS`:e.replace(`_`,` `).toUpperCase()},e))})]})}function it(e,t){let n=new Map(e.map(e=>[e.id,e])),r=e.length!==t.length,i=t.map((t,i)=>{let a=n.get(t.id);return a?a.type===t.type&&a.position.x===t.position.x&&a.position.y===t.position.y&&$e(a.data,t.data)?(e[i]!==a&&(r=!0),a):(r=!0,{...a,...t,measured:a.measured}):(r=!0,t)});return r?i:e}function G(e){return e.data?.renderKey}function at(e,t){let n=new Map(e.map(e=>[e.id,e])),r=e.length!==t.length,i=t.map((t,i)=>{let a=n.get(t.id);return a&&G(a)===G(t)?(e[i]!==a&&(r=!0),a):(r=!0,t)});return r?i:e}function ot({scope:e,graph:t,agentPresences:n,edgeWeight:r,connectedNodeCount:a,navigate:o}){let{t:s}=w();return(0,A.jsxs)(`header`,{className:`flex shrink-0 flex-wrap items-center gap-x-4 gap-y-2 border-b bg-card px-4 py-3`,children:[(0,A.jsxs)(`div`,{className:`flex min-w-[220px] items-center gap-3`,children:[(0,A.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center border border-primary bg-primary/10 text-primary`,children:(0,A.jsx)(C,{className:`h-4 w-4`})}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`h1`,{className:`font-display text-sm font-semibold tracking-tight`,children:s(`activity:codeMap.codeAtlas`)}),(0,A.jsx)(`p`,{className:`text-[9px] uppercase tracking-[0.18em] text-muted-foreground`,children:s(`activity:codeMap.architectureIntelligence`)})]})]}),(0,A.jsxs)(`nav`,{className:`order-last flex w-full min-w-0 items-center gap-1 overflow-x-auto border-t pt-2 font-mono text-[11px] [&>button]:shrink-0 [&>svg]:shrink-0`,"aria-label":s(`activity:codeMap.codeMapBreadcrumb`),children:[e.level!==`packages`&&(0,A.jsx)(`button`,{type:`button`,className:`mr-1 flex h-7 w-7 items-center justify-center border text-muted-foreground hover:bg-muted`,onClick:()=>{e.level===`symbols`?o({level:`files`,package:e.package??`(root)`},`file:${e.file}`):o({level:`packages`})},"aria-label":s(`activity:codeMap.back`),children:(0,A.jsx)(re,{className:`h-3.5 w-3.5`})}),(0,A.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 px-1.5 py-1 text-muted-foreground hover:text-foreground`,onClick:()=>o({level:`packages`}),"aria-current":e.level===`packages`?`page`:void 0,children:[(0,A.jsx)(i,{className:`h-3 w-3`}),` workspace`]}),e.level!==`packages`&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(b,{className:`h-3 w-3 text-muted-foreground`}),(0,A.jsx)(`button`,{type:`button`,className:`whitespace-nowrap px-1.5 py-1 hover:text-primary`,"aria-current":e.level===`files`?`page`:void 0,onClick:()=>o({level:`files`,package:e.package??`(root)`}),children:e.package??`(root)`})]}),e.level===`symbols`&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(b,{className:`h-3 w-3 text-muted-foreground`}),(0,A.jsx)(`span`,{className:`whitespace-nowrap px-1.5 py-1 text-primary`,"aria-current":`page`,title:e.file,children:R({id:``,label:e.file,kind:`file`,file:e.file,package:e.package})})]})]}),(0,A.jsxs)(`div`,{className:`ml-auto hidden items-center gap-5 xl:flex`,children:[(0,A.jsxs)(`div`,{className:O(`flex h-8 items-center gap-2 border px-2.5`,n.length>0?`border-success/50 bg-success/10 text-success`:`text-muted-foreground`),children:[(0,A.jsx)(l,{className:O(`h-3 w-3`,n.length>0&&`animate-pulse`)}),(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`font-mono text-[10px] font-bold`,children:[n.length,` LIVE`]}),(0,A.jsx)(`div`,{className:`text-[7px] uppercase tracking-wider`,children:`agents`})]})]}),(0,A.jsxs)(`div`,{className:`text-right`,children:[(0,A.jsx)(`div`,{className:`font-mono text-sm font-semibold`,children:t.nodes.length}),(0,A.jsx)(`div`,{className:`text-[8px] uppercase tracking-wider text-muted-foreground`,children:`nodes`})]}),(0,A.jsxs)(`div`,{className:`text-right`,children:[(0,A.jsx)(`div`,{className:`font-mono text-sm font-semibold`,children:t.edges.length}),(0,A.jsx)(`div`,{className:`text-[8px] uppercase tracking-wider text-muted-foreground`,children:`links`})]}),(0,A.jsxs)(`div`,{className:`text-right`,children:[(0,A.jsx)(`div`,{className:`font-mono text-sm font-semibold`,children:r}),(0,A.jsx)(`div`,{className:`text-[8px] uppercase tracking-wider text-muted-foreground`,children:`references`})]}),(0,A.jsxs)(`div`,{className:`text-right`,children:[(0,A.jsx)(`div`,{className:`font-mono text-sm font-semibold`,children:a}),(0,A.jsx)(`div`,{className:`text-[8px] uppercase tracking-wider text-muted-foreground`,children:`connected`})]})]})]})}function st({activity:e}){return(0,A.jsx)(`span`,{className:O(`shrink-0 border px-1.5 py-0.5 font-mono text-[8px] font-bold uppercase`,e.type===`delete`?`border-destructive/50 bg-destructive/10 text-destructive`:e.type===`read`?`border-info/50 bg-info/10 text-info`:e.type===`search`||e.type===`index`?`border-primary/50 bg-primary/10 text-primary`:`border-warning/50 bg-warning/10 text-warning`),children:e.filePath.startsWith(`(tool:`)?e.toolName:e.type})}function K({activity:e,onLocate:t,showAgent:n=!1}){let{t:r}=w(),i=e.agentName??e.agent??`External process`,a=`${e.sessionId??`none`}:${e.agentId??i}`;return(0,A.jsxs)(`button`,{type:`button`,className:`group flex w-full items-start gap-2 border-b px-3 py-2 text-left last:border-b-0 hover:bg-muted/70`,onClick:()=>!e.filePath.startsWith(`(`)&&t(e),title:`Locate ${e.filePath}`,children:[n&&(0,A.jsx)(`span`,{className:O(`mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center font-mono text-[8px] font-black`,Je(a)),children:qe(i)}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,A.jsx)(st,{activity:e}),n&&(0,A.jsx)(`span`,{className:`truncate text-[9px] font-semibold`,children:i}),e.status===`active`&&(0,A.jsxs)(`span`,{className:`ml-auto flex items-center gap-1 font-mono text-[8px] font-bold text-success`,children:[(0,A.jsx)(`span`,{className:`h-1.5 w-1.5 animate-pulse bg-success`}),` `,r(`activity:codeMap.live`)]}),e.watcherConfirmed&&(0,A.jsx)(ie,{className:`ml-auto h-3 w-3 text-success`,"aria-label":r(`activity:codeMap.filesystemConfirmed`)}),e.attribution===`correlated`&&!e.watcherConfirmed&&(0,A.jsx)(`span`,{className:`ml-auto font-mono text-[7px] uppercase text-warning`,title:r(`activity:codeMap.correlatedFromTheOnlyActiveTool`),children:r(`activity:codeMap.correlated`)}),e.attribution===`external`&&(0,A.jsx)(`span`,{className:`ml-auto font-mono text-[7px] uppercase text-destructive`,children:`external`})]}),(0,A.jsx)(`div`,{className:`mt-1 truncate font-mono text-[9px] font-semibold`,title:e.filePath,children:Ze(e.filePath)}),(e.symbol||e.line)&&(0,A.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1 truncate font-mono text-[8px] text-success`,children:[(0,A.jsx)(x,{className:`h-2.5 w-2.5 shrink-0`}),e.symbol?.name??`line ${e.line}`,e.symbol?.kind&&(0,A.jsxs)(`span`,{className:`text-muted-foreground`,children:[`· `,e.symbol.kind]})]}),e.change&&(0,A.jsxs)(`div`,{className:`mt-1 flex items-center gap-1 font-mono text-[8px]`,children:[(0,A.jsxs)(`span`,{className:`border border-success/40 bg-success/10 px-1 text-success`,children:[`+`,e.change.added]}),(0,A.jsxs)(`span`,{className:`border border-destructive/40 bg-destructive/10 px-1 text-destructive`,children:[`−`,e.change.removed]}),e.durationMs!==void 0&&(0,A.jsxs)(`span`,{className:`ml-auto text-muted-foreground`,children:[e.durationMs,`ms`]})]}),e.summary&&e.summary!==e.toolName&&(0,A.jsx)(`div`,{className:`mt-1 line-clamp-2 text-[8px] leading-3 text-muted-foreground`,children:e.summary})]}),!e.filePath.startsWith(`(`)&&(0,A.jsx)(c,{className:`mt-1 h-3 w-3 shrink-0 text-muted-foreground opacity-0 group-hover:opacity-100`})]})}function ct({presences:e,onLocate:t}){let{t:n}=w();return e.length===0?null:(0,A.jsxs)(`section`,{className:`pointer-events-auto absolute left-3 top-14 z-20 w-[304px] border bg-card/95 shadow-xl backdrop-blur`,children:[(0,A.jsxs)(`div`,{className:`flex h-9 items-center gap-2 border-b px-3`,children:[(0,A.jsx)(l,{className:`h-3.5 w-3.5 animate-pulse text-success`}),(0,A.jsx)(`h2`,{className:`text-[9px] font-black uppercase tracking-[0.18em]`,children:n(`activity:codeMap.liveAgentOperations`)}),(0,A.jsxs)(`span`,{className:`ml-auto bg-success px-1.5 py-0.5 font-mono text-[8px] font-bold text-success-foreground`,children:[e.length,` ONLINE`]})]}),(0,A.jsx)(`div`,{className:`max-h-[330px] overflow-y-auto`,children:e.map(e=>(0,A.jsxs)(`div`,{className:`border-b last:border-b-0`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2 bg-muted/35 px-3 py-1.5`,children:[(0,A.jsx)(`span`,{className:O(`flex h-6 w-6 items-center justify-center font-mono text-[8px] font-black`,Je(e.key)),children:qe(e.agentName)}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`truncate text-[9px] font-bold`,children:e.agentName}),(0,A.jsxs)(`div`,{className:`truncate font-mono text-[7px] text-muted-foreground`,children:[`session `,e.sessionId.slice(0,12),` · agent `,e.agentId.slice(0,12)]})]}),(0,A.jsxs)(`span`,{className:`font-mono text-[8px] text-success`,children:[e.operations.length,` op`]})]}),e.operations.map(e=>(0,A.jsx)(K,{activity:e,onLocate:t},e.id??`${e.toolUseId}:${e.filePath}`))]},e.key))})]})}function lt({paused:e,followLive:t,agentFilter:n,agents:i,onTogglePaused:a,onToggleFollow:o,onAgentFilter:s}){let{t:c}=w();return(0,A.jsxs)(`div`,{className:`pointer-events-auto absolute right-3 top-14 z-20 flex h-9 items-center border bg-card/95 shadow-lg backdrop-blur`,children:[(0,A.jsxs)(`button`,{type:`button`,className:O(`flex h-full items-center gap-1.5 border-r px-2.5 text-[8px] font-bold uppercase tracking-wider`,t?`bg-primary text-primary-foreground`:`text-muted-foreground hover:bg-muted`),onClick:o,title:c(`activity:codeMap.automaticallyEnterTheFileFunctionUsedByTheNewestVisibleAgent`),children:[(0,A.jsx)(x,{className:`h-3 w-3`}),` `,c(`activity:codeMap.follow`)]}),(0,A.jsxs)(`button`,{type:`button`,className:O(`flex h-full items-center gap-1.5 border-r px-2.5 text-[8px] font-bold uppercase tracking-wider`,e?`bg-warning text-warning-foreground`:`text-success hover:bg-success/10`),onClick:a,title:e?`Resume the live telemetry stream`:`Freeze the current telemetry frame`,children:[e?(0,A.jsx)(u,{className:`h-3 w-3`}):(0,A.jsx)(r,{className:`h-3 w-3`}),e?`Resume`:`Live`]}),(0,A.jsxs)(`label`,{className:`flex h-full items-center gap-1.5 px-2 text-[8px] uppercase text-muted-foreground`,children:[c(`activity:codeMap.agent`),(0,A.jsxs)(`select`,{"aria-label":c(`activity:codeMap.filterCodemapByAgentAndSession`),className:`h-6 max-w-[170px] border bg-background px-1.5 font-mono text-[8px] text-foreground outline-none focus:border-primary`,value:n,onChange:e=>s(e.target.value),children:[(0,A.jsx)(`option`,{value:`all`,children:c(`activity:codeMap.allAgents`)}),i.map(e=>(0,A.jsxs)(`option`,{value:e.key,children:[e.agentName,` · `,e.sessionId.slice(0,10)]},e.key))]})]})]})}function ut({activeOperations:e,recentActivities:t,activityTotalCount:n,onLocate:r}){let{t:i}=w();return(0,A.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[e.length>0&&(0,A.jsxs)(`section`,{className:`border-b`,children:[(0,A.jsxs)(`div`,{className:`flex h-9 items-center gap-2 border-b bg-success/5 px-3`,children:[(0,A.jsx)(l,{className:`h-3 w-3 animate-pulse text-success`}),(0,A.jsx)(`h3`,{className:`text-[9px] font-bold uppercase tracking-[0.16em]`,children:i(`activity:codeMap.activeNow`)}),(0,A.jsx)(`span`,{className:`ml-auto font-mono text-[9px] text-success`,children:e.length})]}),e.map(e=>(0,A.jsx)(K,{activity:e,onLocate:r,showAgent:!0},e.id??`${e.toolUseId}:${e.filePath}`))]}),(0,A.jsxs)(`section`,{children:[(0,A.jsxs)(`div`,{className:`flex h-9 items-center gap-2 border-b px-3`,children:[(0,A.jsx)(y,{className:`h-3 w-3 text-muted-foreground`}),(0,A.jsx)(`h3`,{className:`text-[9px] font-bold uppercase tracking-[0.16em]`,children:i(`activity:codeMap.eventStream`)}),(0,A.jsxs)(`span`,{className:`ml-auto font-mono text-[8px] text-muted-foreground`,children:[n,` total`]})]}),t.length>0?t.map((e,t)=>(0,A.jsx)(K,{activity:e,onLocate:r,showAgent:!0},e.id??`${e.timestamp}:${t}`)):(0,A.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-7 py-16 text-center`,children:[(0,A.jsx)(`span`,{className:`mb-4 flex h-12 w-12 items-center justify-center border bg-muted text-muted-foreground`,children:(0,A.jsx)(_,{className:`h-5 w-5`})}),(0,A.jsx)(`h3`,{className:`text-xs font-semibold`,children:i(`activity:codeMap.selectANodeOrWaitFor`)}),(0,A.jsx)(`p`,{className:`mt-2 text-[10px] leading-relaxed text-muted-foreground`,children:i(`activity:codeMap.relationsAppearOnSelectionToolCalls`)})]})]})]})}function dt({node:e,incomingCount:t,outgoingCount:n,onOpenNode:r,onOpenActivity:i}){let{t:a}=w(),o=B[e.kind].icon;return(0,A.jsxs)(`div`,{className:`border-b bg-muted/25 p-3`,children:[(0,A.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,A.jsx)(`span`,{className:O(`flex h-8 w-8 items-center justify-center border`,B[e.kind].iconStyle),children:(0,A.jsx)(o,{className:`h-4 w-4`})}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsxs)(`div`,{className:`text-[8px] font-bold uppercase tracking-[0.18em] text-muted-foreground`,children:[e.external?`external `:``,e.kind]}),(0,A.jsx)(`div`,{className:`truncate font-mono text-xs font-semibold`,title:e.label,children:e.label})]})]}),(0,A.jsx)(`div`,{className:`break-all font-mono text-[9px] leading-relaxed text-muted-foreground`,children:e.file?R(e):e.package}),e.subsystem&&(0,A.jsx)(`div`,{className:`mt-2 inline-flex items-center gap-1 border border-border px-1.5 py-0.5 text-[8px] uppercase tracking-wider text-muted-foreground`,children:e.subsystem}),e.concept&&(0,A.jsx)(`p`,{className:`mt-2 text-[11px] leading-relaxed text-foreground`,children:e.concept}),e.crux&&(0,A.jsxs)(`div`,{className:`mt-1 font-mono text-[9px] text-muted-foreground`,children:[a(`activity:codeMap.crux`),` L`,e.crux.start,`–L`,e.crux.end]}),e.signature&&(0,A.jsx)(`pre`,{className:`mt-3 overflow-x-auto border bg-background p-2 font-mono text-[9px] leading-relaxed text-foreground`,children:e.signature}),(0,A.jsxs)(`div`,{className:`mt-3 grid grid-cols-3 border`,children:[(0,A.jsx)(q,{value:t,label:a(`activity:codeMap.incoming`),className:`border-r text-info`}),(0,A.jsx)(q,{value:n,label:a(`activity:codeMap.outgoing`),className:`border-r text-primary`}),(0,A.jsx)(q,{value:e.symbolCount??e.fileCount??e.line??`—`,label:e.kind===`package`?`files`:e.kind===`file`?`symbols`:`line`})]}),(0,A.jsx)(`div`,{className:`mt-2 grid grid-cols-1 border`,children:(0,A.jsx)(q,{value:e.rank===void 0?`—`:`${Math.round(e.rank*100)}%`,label:a(`activity:codeMap.centralityLabel`)})}),(0,A.jsxs)(`div`,{className:`mt-2 flex gap-2`,children:[e.kind!==`symbol`&&(0,A.jsxs)(`button`,{type:`button`,className:`flex h-7 flex-1 items-center justify-center gap-1.5 border bg-foreground text-[9px] font-semibold uppercase tracking-wider text-background hover:opacity-90`,onClick:()=>r(e),children:[(0,A.jsx)(c,{className:`h-3 w-3`}),` Open`,` `,e.kind===`package`?`files`:`symbols`]}),e.file&&(0,A.jsxs)(`button`,{type:`button`,className:`flex h-7 items-center justify-center gap-1.5 border px-2 text-[9px] uppercase text-muted-foreground hover:bg-muted`,onClick:()=>i(e.file),children:[(0,A.jsx)(y,{className:`h-3 w-3`}),` `,a(`activity:codeMap.activity`)]})]})]})}function q({value:e,label:t,className:n}){return(0,A.jsxs)(`div`,{className:O(`p-2 text-center`,n),children:[(0,A.jsx)(`div`,{className:`font-mono text-sm font-semibold`,children:e}),(0,A.jsx)(`div`,{className:`text-[8px] uppercase text-muted-foreground`,children:t})]})}function ft(e){let{t}=w(),{title:n,subtitle:r,items:i,graph:a,selectedId:o,expanded:s,onToggle:c,onSelect:l}=e;return(0,A.jsxs)(`section`,{className:`border-b py-3`,children:[(0,A.jsxs)(`div`,{className:`mb-2 flex items-end justify-between px-3`,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`h3`,{className:`text-[10px] font-bold uppercase tracking-[0.16em]`,children:n}),(0,A.jsx)(`p`,{className:`mt-0.5 text-[9px] text-muted-foreground`,children:r})]}),(0,A.jsx)(`span`,{className:`border bg-muted px-1.5 py-0.5 font-mono text-[9px]`,children:i.length})]}),i.length===0?(0,A.jsx)(`p`,{className:`px-3 py-2 text-[10px] text-muted-foreground`,children:t(`activity:codeMap.noRelationshipsInThisView`)}):i.map(e=>{let t=`${n}:${e.node.id}`,r=s.has(t),i=[...Se(a,e.node.id,`incoming`),...Se(a,e.node.id,`outgoing`)].filter((e,t,n)=>e.node.id!==o&&n.findIndex(t=>t.node.id===e.node.id)===t).slice(0,8);return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`group flex min-h-9 items-center gap-1 px-2 hover:bg-muted/70`,children:[(0,A.jsx)(`button`,{type:`button`,className:`flex h-6 w-5 shrink-0 items-center justify-center text-muted-foreground`,onClick:()=>i.length>0&&c(t),"aria-label":`${r?`Collapse`:`Expand`} relation ${e.node.label}`,children:i.length>0?r?(0,A.jsx)(p,{className:`h-3 w-3`}):(0,A.jsx)(b,{className:`h-3 w-3`}):(0,A.jsx)(`span`,{className:`h-px w-2 bg-border`})}),(0,A.jsxs)(`button`,{type:`button`,className:`min-w-0 flex-1 py-1 text-left`,onClick:()=>l(e.node),children:[(0,A.jsx)(`span`,{className:`block truncate font-mono text-[10px] font-semibold`,title:e.node.label,children:e.node.label}),(0,A.jsx)(`span`,{className:`block truncate text-[9px] text-muted-foreground`,children:e.node.package??e.node.symbolKind??e.node.kind})]}),(0,A.jsx)(`span`,{className:`border px-1 py-0.5 font-mono text-[8px] text-muted-foreground`,children:e.edge.refType}),(0,A.jsxs)(`span`,{className:`w-5 text-right font-mono text-[9px] text-muted-foreground`,children:[`×`,e.edge.weight]})]}),r&&i.map(e=>(0,A.jsxs)(`button`,{type:`button`,className:`relative flex h-7 w-full items-center gap-2 border-l border-border pl-11 pr-3 text-left text-[9px] text-muted-foreground hover:bg-muted hover:text-foreground`,onClick:()=>l(e.node),children:[(0,A.jsx)(`span`,{className:`absolute left-7 top-1/2 h-px w-3 bg-border`}),(0,A.jsx)(_,{className:`h-3 w-3 shrink-0`}),(0,A.jsx)(`span`,{className:`truncate font-mono`,children:e.node.label}),(0,A.jsx)(`span`,{className:`ml-auto font-mono opacity-70`,children:e.edge.refType})]},`${t}:${e.node.id}`))]},t)})]})}function pt({selectedNode:e,incoming:t,outgoing:n,filteredGraph:r,expandedRelations:i,activeOperations:a,recentActivities:o,activityTotalCount:s,selectedActivities:c,onClearSelection:u,onOpenNode:d,onOpenActivity:p,onLocateActivity:m,onToggleRelation:h,onSelectNode:g}){let{t:_}=w();return(0,A.jsxs)(`aside`,{className:`flex w-[326px] shrink-0 flex-col border-l bg-card/80`,children:[(0,A.jsxs)(`div`,{className:`flex h-10 items-center justify-between border-b px-3`,children:[(0,A.jsx)(`h2`,{className:`text-[10px] font-bold uppercase tracking-[0.18em]`,children:_(`activity:codeMap.relationInspector`)}),e&&(0,A.jsx)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground`,onClick:u,"aria-label":_(`activity:codeMap.clearSelection`),children:(0,A.jsx)(f,{className:`h-3.5 w-3.5`})})]}),e?(0,A.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[(0,A.jsx)(dt,{node:e,incomingCount:t.length,outgoingCount:n.length,onOpenNode:d,onOpenActivity:p}),c.length>0&&(0,A.jsxs)(`section`,{className:`border-b bg-success/5 py-2`,children:[(0,A.jsxs)(`div`,{className:`mb-1 flex items-center gap-2 px-3`,children:[(0,A.jsx)(l,{className:`h-3 w-3 animate-pulse text-success`}),(0,A.jsx)(`h3`,{className:`text-[9px] font-bold uppercase tracking-[0.16em]`,children:_(`activity:codeMap.agentsOnThisNode`)}),(0,A.jsx)(`span`,{className:`ml-auto font-mono text-[9px] text-success`,children:c.length})]}),c.map(e=>(0,A.jsx)(K,{activity:e,onLocate:m,showAgent:!0},e.id??`${e.toolUseId}:${e.filePath}`))]}),(0,A.jsx)(ft,{title:_(`activity:codeMap.incoming`),subtitle:_(`activity:codeMap.whoDependsOnThis`),items:t,graph:r,selectedId:e.id,expanded:i,onToggle:h,onSelect:g}),(0,A.jsx)(ft,{title:_(`activity:codeMap.outgoing`),subtitle:_(`activity:codeMap.whatThisDependsOn`),items:n,graph:r,selectedId:e.id,expanded:i,onToggle:h,onSelect:g})]}):(0,A.jsx)(ut,{activeOperations:a,recentActivities:o,activityTotalCount:s,onLocate:m})]})}function mt({node:e,onSelect:t,virtual:n}){let r=B[e.kind].icon;return(0,A.jsxs)(`button`,{type:`button`,"data-index":n?.index,ref:n?e=>n.measureElement(e):void 0,className:O(`min-h-8 items-center gap-2 px-3 py-1 text-left hover:bg-muted`,n?`absolute left-0 flex w-full`:`flex w-full`),style:n?{transform:`translateY(${n.start}px)`}:void 0,onClick:()=>t(e),children:[(0,A.jsx)(r,{className:O(`h-3.5 w-3.5 shrink-0`,e.kind===`package`?`text-primary`:e.kind===`file`?`text-info`:`text-success`)}),(0,A.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`span`,{className:`block truncate font-mono text-[10px]`,children:e.label}),(0,A.jsx)(`span`,{className:`block truncate text-[8px] text-muted-foreground`,children:e.file??e.package??e.symbolKind})]}),(0,A.jsx)(`span`,{className:`text-[8px] uppercase text-muted-foreground`,children:e.kind.slice(0,3)})]},e.id)}var ht=80,gt=40;function _t(e,t){if(!e||t.size===0)return!1;let n=M(e);if(t.has(n))return!0;for(let e of t)if(e.endsWith(`/${n}`)||n.endsWith(`/${e}`))return!0;return!1}var J=(0,k.memo)(function e(t){let{t:n}=w(),{directory:r,packageName:i,depth:a,expandedDirectories:u,expandedFiles:f,loadingBranches:m,graphForFile:h,onToggleDirectory:_,onToggleFile:ee,onSelectFile:te,onOpenFile:y,onSelectSymbol:ne,selectedId:x,activeFileNorms:re,activeSymbolIds:S,revealAllKeys:C,onRevealAll:ie}=t,T=`files:${i}:${r.path||`.`}`,ae=C.has(T)?r.files:r.files.slice(0,ht),oe=r.files.length-ae.length;return(0,A.jsxs)(A.Fragment,{children:[r.directories.map(n=>{let r=`${i}:${n.path}`,o=u.has(r);return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`button`,{type:`button`,className:`flex h-7 w-full items-center gap-1.5 pr-2 text-left text-[11px] text-muted-foreground hover:bg-muted hover:text-foreground`,style:{paddingLeft:8+a*12},onClick:()=>_(r),children:[o?(0,A.jsx)(p,{className:`h-3 w-3`}):(0,A.jsx)(b,{className:`h-3 w-3`}),o?(0,A.jsx)(g,{className:`h-3.5 w-3.5 text-warning`}):(0,A.jsx)(v,{className:`h-3.5 w-3.5 text-warning`}),(0,A.jsx)(`span`,{className:`truncate`,children:n.name})]}),o&&(0,A.jsx)(e,{...t,directory:n,depth:a+1})]},r)}),ae.map(e=>{let t=f.has(e.file??e.id),r=N({level:`symbols`,file:e.file??e.label}),i=(e.file?h(e.file):void 0)?.nodes.filter(t=>t.kind===`symbol`&&t.file===e.file&&!t.external)??[],u=`symbols:${e.file??e.id}`,g=C.has(u)?i:i.slice(0,gt),_=i.length-g.length,v=_t(e.file,re);return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:O(`group flex h-7 items-center pr-1 text-[11px] hover:bg-muted`,x===e.id&&`bg-primary/10 text-primary`),style:{paddingLeft:8+a*12},children:[(0,A.jsx)(`button`,{type:`button`,className:`flex h-6 w-4 shrink-0 items-center justify-center text-muted-foreground`,onClick:()=>ee(e),"aria-label":`${t?`Collapse`:`Expand`} ${e.label}`,children:m.has(r)?(0,A.jsx)(d,{className:`h-3 w-3 animate-spin`}):t?(0,A.jsx)(p,{className:`h-3 w-3`}):(0,A.jsx)(b,{className:`h-3 w-3`})}),(0,A.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-1.5 text-left`,onClick:()=>te(e),onDoubleClick:()=>y(e),children:[(0,A.jsx)(o,{className:`h-3.5 w-3.5 shrink-0 text-info`}),v&&(0,A.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 animate-pulse bg-success`,title:n(`activity:codeMap.liveOperation`)}),(0,A.jsx)(`span`,{className:`truncate font-mono`,title:e.file,children:e.label}),(0,A.jsx)(`span`,{className:`ml-auto text-[9px] text-muted-foreground`,children:e.symbolCount??0})]}),(0,A.jsx)(`button`,{type:`button`,className:`ml-1 hidden h-5 w-5 items-center justify-center text-muted-foreground hover:text-foreground group-hover:flex`,onClick:()=>y(e),title:n(`activity:codeMap.openSymbolMap`),"aria-label":`Open ${e.label} map`,children:(0,A.jsx)(c,{className:`h-3 w-3`})})]}),t&&g.map(e=>(0,A.jsxs)(`button`,{type:`button`,className:O(`flex h-7 w-full items-center gap-1.5 pr-2 text-left text-[10px] hover:bg-muted`,x===e.id?`bg-primary/10 text-primary`:`text-muted-foreground`),style:{paddingLeft:38+a*12},onClick:()=>ne(e),children:[(0,A.jsx)(s,{className:`h-3 w-3 shrink-0 text-success`}),S.has(e.id)&&(0,A.jsx)(l,{className:`h-3 w-3 shrink-0 animate-pulse text-success`}),(0,A.jsx)(`span`,{className:`truncate font-mono`,children:e.label}),e.line&&(0,A.jsxs)(`span`,{className:`ml-auto font-mono text-[8px] opacity-60`,children:[`:`,e.line]})]},e.id)),t&&_>0&&(0,A.jsxs)(`button`,{type:`button`,className:`flex h-7 w-full items-center text-left font-mono text-[9px] text-primary hover:bg-muted`,style:{paddingLeft:38+a*12},onClick:()=>ie(u),children:[`Show `,_,` more symbols`]})]},e.id)}),oe>0&&(0,A.jsxs)(`button`,{type:`button`,className:`flex h-7 w-full items-center text-left font-mono text-[9px] text-primary hover:bg-muted`,style:{paddingLeft:8+a*12},onClick:()=>ie(T),children:[`Show `,oe,` more files`]})]})});function vt({rootGraph:e,search:t,searchInput:n,searchResults:r,virtualizeSearch:i,searchVirtualizer:o,treeScrollRef:s,selectedId:l,expandedPackages:u,expandedDirectories:m,expandedFiles:h,loadingBranches:g,activeFileNorms:_,activeSymbolIds:ee,revealAllKeys:v,packageGraph:te,graphForFile:y,navigate:ne,togglePackage:x,toggleDirectory:re,toggleFile:C,revealAllTree:ie,selectFileFromTree:T,selectSymbolFromTree:ae,selectSearchResult:oe,handleOpenNode:se,onSearchInputChange:E,onSearchChange:ce}){let{t:D}=w();return(0,A.jsxs)(`aside`,{className:`flex w-[286px] shrink-0 flex-col border-r bg-card/70`,children:[(0,A.jsxs)(`div`,{className:`border-b p-3`,children:[(0,A.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,A.jsx)(`h2`,{className:`text-[10px] font-bold uppercase tracking-[0.18em]`,children:D(`activity:codeMapTree.codeTree`)}),(0,A.jsxs)(`span`,{className:`font-mono text-[9px] text-muted-foreground`,children:[e.nodes.length,` roots`]})]}),(0,A.jsxs)(`label`,{className:`flex h-8 items-center gap-2 border bg-background px-2 focus-within:border-primary`,children:[(0,A.jsx)(a,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,A.jsx)(`input`,{className:`min-w-0 flex-1 bg-transparent font-mono text-[10px] outline-none placeholder:text-muted-foreground`,value:n,onChange:e=>E(e.target.value),placeholder:D(`activity:codeMapTree.findPackageFileSymbol`)}),n&&(0,A.jsx)(`button`,{type:`button`,onClick:()=>{E(``),ce(``)},"aria-label":D(`activity:codeMapTree.clearSearch`),children:(0,A.jsx)(f,{className:`h-3 w-3 text-muted-foreground`})})]})]}),(0,A.jsx)(`div`,{ref:s,className:`min-h-0 flex-1 overflow-y-auto py-2`,children:t.trim()?(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`px-3 pb-2 text-[9px] text-muted-foreground`,children:[r.length,` loaded-map results`]}),r.length===0?(0,A.jsxs)(`p`,{className:`px-3 py-8 text-center text-[10px] text-muted-foreground`,children:[D(`activity:codeMapTree.noMatchInLoadedBranches`),(0,A.jsx)(`br`,{}),D(`activity:codeMapTree.expandAPackageToSearchIts`)]}):i?(0,A.jsx)(`div`,{style:{height:`${o.getTotalSize()}px`,width:`100%`,position:`relative`},children:o.getVirtualItems().map(e=>{let t=r[e.index];return t?(0,A.jsx)(mt,{node:t,onSelect:oe,virtual:{index:e.index,start:e.start,measureElement:o.measureElement}},t.id):null})}):r.map(e=>(0,A.jsx)(mt,{node:e,onSelect:oe},e.id))]}):e.nodes.map(e=>{let t=e.package??e.label,n=u.has(t),r=N({level:`files`,package:t}),i=te(t),a=i?Pe(i.nodes):void 0;return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:O(`group flex h-8 items-center px-2 hover:bg-muted`,l===e.id&&`bg-primary/10 text-primary`),children:[(0,A.jsx)(`button`,{type:`button`,className:`flex h-6 w-5 items-center justify-center text-muted-foreground`,onClick:()=>x(e),"aria-label":`${n?`Collapse`:`Expand`} ${t}`,children:g.has(r)?(0,A.jsx)(d,{className:`h-3 w-3 animate-spin`}):n?(0,A.jsx)(p,{className:`h-3 w-3`}):(0,A.jsx)(b,{className:`h-3 w-3`})}),(0,A.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 text-left`,onClick:()=>ne({level:`packages`},e.id),onDoubleClick:()=>ne({level:`files`,package:t}),children:[(0,A.jsx)(S,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,A.jsx)(`span`,{className:`truncate font-mono text-[10px] font-semibold`,children:e.label}),(0,A.jsx)(`span`,{className:`ml-auto text-[9px] text-muted-foreground`,children:e.fileCount??0})]}),(0,A.jsx)(`button`,{type:`button`,className:`ml-1 hidden h-5 w-5 items-center justify-center text-muted-foreground hover:text-foreground group-hover:flex`,onClick:()=>ne({level:`files`,package:t}),title:D(`activity:codeMapTree.openFileMap`),"aria-label":`Open ${t} map`,children:(0,A.jsx)(c,{className:`h-3 w-3`})})]}),n&&a&&(0,A.jsx)(J,{directory:a,packageName:t,depth:1,expandedDirectories:m,expandedFiles:h,loadingBranches:g,graphForFile:y,onToggleDirectory:re,onToggleFile:C,onSelectFile:T,onOpenFile:se,onSelectSymbol:ae,selectedId:l,activeFileNorms:_,activeSymbolIds:ee,revealAllKeys:v,onRevealAll:ie})]},e.id)})}),(0,A.jsxs)(`div`,{className:`border-t px-3 py-2 text-[9px] leading-relaxed text-muted-foreground`,children:[D(`activity:codeMapTree.clickToFocusDoubleClickTo`),(0,A.jsx)(`br`,{}),D(`activity:codeMapTree.branchesStayOpenWhileTheMap`)]})]})}function yt(){let[e,t]=(0,k.useState)({level:`packages`}),n=N(e),[r,i]=(0,k.useState)(et),[a,o]=(0,k.useState)(!0),[s,c]=(0,k.useState)(null),[l,u]=(0,k.useState)(null),[d,f]=(0,k.useState)(`layers`),[p,m]=(0,k.useState)(`smart`),[h,g]=(0,k.useState)(`all`),[_,ee]=(0,k.useState)(``),[v,y]=(0,k.useState)(``),[b,x]=(0,k.useState)(new Set),[re,S]=(0,k.useState)(new Set),[C,w]=(0,k.useState)(new Set),[ie,T]=(0,k.useState)(new Set),[ae,E]=(0,k.useState)(new Set),[D,le]=(0,k.useState)(new Set),[de,fe]=(0,k.useState)(0),[pe,O]=(0,k.useState)(null),[be,j]=(0,k.useState)(!1),[P,we]=(0,k.useState)(`all`),[F,Ee]=(0,k.useState)(null),[De,Oe]=(0,k.useState)(null),[ke,Ae]=(0,k.useState)(0),I=(0,k.useRef)(new Map),L=(0,k.useRef)(null),R=(0,k.useRef)(null),Me=(0,k.useRef)(``),Ne=(0,k.useRef)(``),z=(0,k.useRef)(null),B=(0,k.useRef)(new Set),{history:V,pulses:Ue,activeOperationsMap:Ge,activityTotalCount:Ke,resolveActivitySymbol:Je,getActivityForFile:Xe,sweepActivity:Ze}=me(te(e=>({history:e.history,pulses:e.pulses,activeOperationsMap:e.activeOperations,activityTotalCount:e.totalCount,resolveActivitySymbol:e.resolveActivitySymbol,getActivityForFile:e.getActivityForFile,sweepActivity:e._sweep}))),H=(0,k.useMemo)(()=>[...Ge.values()].flat(),[Ge]),Qe=(0,k.useMemo)(()=>[...Ue.keys()].map(e=>V.get(e)?.[0]).filter(e=>!!e),[V,Ue]),U=(0,k.useMemo)(()=>{let e=[];for(let t of V.values())e.push(...t.slice(0,16));return e.sort((e,t)=>t.timestamp-e.timestamp).slice(0,16)},[V]),$e=(0,k.useMemo)(()=>he([...H,...U]),[H,U]),W=(0,k.useMemo)(()=>{let e=F??H;return P===`all`?e:e.filter(e=>ge(e)===P)},[H,P,F]),tt=(0,k.useMemo)(()=>{let e=De??U;return P===`all`?e:e.filter(e=>ge(e)===P)},[P,De,U]),G=(0,k.useDeferredValue)(W),st=(0,k.useDeferredValue)(tt),K=(0,k.useDeferredValue)(Qe),ut=(0,k.useMemo)(()=>he(W),[W]),[dt,q,ft]=se([]),[mt,ht,gt]=oe([]),{fitView:_t}=ue(),J=(0,k.useCallback)(async(e,t=!1)=>{let n=N(e),r=I.current.get(n);if(r&&!t)return Ie(I.current,n,r,48),r;let i=await fetch(xe(e),{credentials:`same-origin`});if(!i.ok){if(i.status===401||i.status===403)throw Error(`Authentication required — open this dashboard from its token URL.`);let e=await i.json().catch(()=>({error:i.statusText}));throw Error(e.error??`HTTP ${i.status}`)}let a=await i.json();return Ie(I.current,n,a,48),fe(e=>e+1),a},[]);(0,k.useEffect)(()=>{let e=window.setTimeout(()=>y(_),150);return()=>window.clearTimeout(e)},[_]);let yt=ve(e=>e.generation),bt=(0,k.useRef)(0),xt=(0,k.useRef)(null);(0,k.useEffect)(()=>{let t=!1,n=yt>bt.current;return n&&(bt.current=yt,I.current.clear(),fe(e=>e+1),x(new Set),S(new Set),w(new Set),E(new Set)),o(!0),c(null),J(e,n).then(e=>{if(!t){if(i(e),!n){let t=L.current;L.current=null,u(t&&e.nodes.some(e=>e.id===t)?t:null)}o(!1)}}).catch(e=>{t||(c(e instanceof Error?e.message:String(e)),i(et),o(!1))}),()=>{t=!0}},[n,J,yt,e]);let Y=(0,k.useCallback)((e,r)=>{if(L.current=r??null,N(e)===n){u(r??null),L.current=null;return}t(e)},[n]),St=(0,k.useCallback)(async e=>{let t=N(e);if(!(I.current.has(t)||D.has(t))){le(e=>new Set(e).add(t));try{await J(e)}finally{le(e=>{let n=new Set(e);return n.delete(t),n})}}},[J,D]);(0,k.useEffect)(()=>{let e=!1,t=0;for(let n of H){if(t>=2)break;if(n.symbol||!n.toolUseId||n.filePath.startsWith(`(`))continue;let r=n.filePath;B.current.has(r)||(B.current.add(r),t+=1,J({level:`symbols`,file:r}).then(t=>{if(e)return;let i=He(n,t.nodes);i&&Je(n.toolUseId,r,{id:i.id,name:i.label,...i.symbolKind?{kind:i.symbolKind}:{},...i.line?{line:i.line}:{}})}).catch(()=>void 0).finally(()=>{B.current.delete(r)}))}return()=>{e=!0}},[H,J,Je]);let X=(0,k.useMemo)(()=>({nodes:r.nodes,edges:h===`all`?r.edges:r.edges.filter(e=>e.refType===h)}),[r,h]),Z=r.nodes.find(e=>e.id===l),Q=(0,k.useMemo)(()=>je(X,l,p),[p,X,l]),Ct=(0,k.useMemo)(()=>l?Ce(X,l):new Set,[X,l]),{incomingCounts:wt,outgoingCounts:Tt}=(0,k.useMemo)(()=>{let e=new Map,t=new Map;for(let n of X.edges)t.set(n.source,(t.get(n.source)??0)+1),e.set(n.target,(e.get(n.target)??0)+1);return{incomingCounts:e,outgoingCounts:t}},[X]),Et=d===`orbit`?l??void 0:void 0,Dt=(0,k.useMemo)(()=>Te(Q,d,Et),[Q,d,Et]),Ot=(0,k.useMemo)(()=>[n,d,d===`orbit`?l??``:``,Fe(Q)].join(``),[Q,n,d,l]),kt=(0,k.useCallback)(e=>{u(e.id),T(new Set)},[]),$=(0,k.useCallback)(e=>{e.kind===`package`&&Y({level:`files`,package:e.package??e.label}),e.kind===`file`&&e.file&&Y({level:`symbols`,file:e.file,package:e.package})},[Y]),At=(0,k.useCallback)((e,t)=>{let n=t.data;n?.graphNode&&(n.graphNode.kind===`package`||n.graphNode.kind===`file`&&n.graphNode.file?$(n.graphNode):kt(n.graphNode))},[$,kt]),jt=(0,k.useMemo)(()=>[Ve(G),Ve(K),Ve(st)].join(``),[G,K,st]),Mt=(0,k.useMemo)(()=>{let e=new Set;for(let t of W)e.add(M(t.filePath));return e},[W]),Nt=(0,k.useMemo)(()=>{let e=new Set;for(let t of W)t.symbol?.id&&e.add(t.symbol.id);return e},[W]);(0,k.useEffect)(()=>{let e=()=>{let e=Dt.map(({node:e})=>e),t=Be(e,G),n=Be(e,K),r=new Set(t.keys()),i=Dt.map(({node:e,position:r})=>{let i=t.get(e.id)??[],a=i[0]??n.get(e.id)?.[0];return{id:e.id,type:`codemap`,position:r,style:{pointerEvents:`all`},data:{graphNode:e,selected:e.id===l,dimmed:!!l&&!Ct.has(e.id),incoming:wt.get(e.id)??0,outgoing:Tt.get(e.id)??0,isActive:!!a,...a?{activityType:a.type}:{},activeOperations:i,onSelect:kt,onOpen:$,onShowHistory:O}}});q(e=>it(e,i));let a=6,o=Q.edges.map((e,t)=>{let n=!!l&&(e.source===l||e.target===l),i=r.has(e.source)||r.has(e.target),o=i&&(n||a>0);o&&--a;let s=We[e.refType]??`hsl(var(--muted-foreground))`,c=n||i?`smoothstep`:`default`;return{id:`edge:${e.source}:${e.target}:${t}`,source:e.source,target:e.target,type:c,animated:o,label:n?`${e.refType}${e.weight>1?` ×${e.weight}`:``}`:void 0,markerEnd:{type:ce.ArrowClosed,color:s,width:14,height:14},style:{stroke:s,strokeWidth:i?Math.min(2.5+Math.log2(e.weight+1)*.65,5):n?Math.min(1.25+Math.log2(e.weight+1)*.65,4):1,opacity:i?1:l?n?.88:.08:.52},labelStyle:{fontSize:_e(9),fontFamily:`var(--font-mono)`,fill:`hsl(var(--muted-foreground))`},labelBgStyle:{fill:`hsl(var(--card))`,fillOpacity:.92},labelBgPadding:[4,2],zIndex:i?4:n?2:0,data:{renderKey:`${e.refType}:${e.weight}:${l?n?`focused`:`dimmed`:`idle`}:${i?`live`:`still`}:${o?`anim`:`still`}:${c}`}}}),s=new Map,c=new Set(G.map(ge));for(let e of[...st].sort((e,t)=>e.timestamp-t.timestamp)){let t=ge(e),n=s.get(t);n?n.push(e):s.set(t,[e])}let u=[...s.entries()].map(([e,t])=>({agentKey:e,activities:t,live:c.has(e),latest:t[t.length-1]?.timestamp??0})).sort((e,t)=>Number(t.live)-Number(e.live)||t.latest-e.latest).slice(0,4),d=[];for(let{agentKey:e,activities:t,live:n}of u){let r=t.slice(-7).map(e=>({activity:e,node:Q.nodes.find(t=>ze(e,t))})).filter(e=>!!e.node).filter((e,t,n)=>t===0||e.node.id!==n[t-1]?.node.id),i=Ye(e);for(let t=1;t<r.length;t++){let o=r[t-1],s=r[t],c=n&&a>0;c&&--a,d.push({id:`trail:${e}:${o.activity.timestamp}:${s.activity.timestamp}`,source:o.node.id,target:s.node.id,type:`smoothstep`,animated:c,label:t===r.length-1?`${qe(s.activity.agentName??s.activity.agent??`agent`)} TRAIL`:void 0,markerEnd:{type:ce.ArrowClosed,color:i,width:13,height:13},style:{stroke:i,strokeWidth:2.5,strokeDasharray:`7 5`,opacity:.9},labelStyle:{fontSize:_e(8),fontWeight:700,fill:i},labelBgStyle:{fill:`hsl(var(--card))`,fillOpacity:.94},labelBgPadding:[4,2],zIndex:6,data:{renderKey:`${i}:${t===r.length-1?`label`:`plain`}:${n?`live`:`still`}:${c?`anim`:`still`}`}})}}Ae(d.length),ht(e=>at(e,[...o,...d]))},t=Ot,n=Ne.current!==t;Ne.current=t,z.current!==null&&(window.clearTimeout(z.current),z.current=null),n?e():z.current=window.setTimeout(()=>{z.current=null,e()},120);let r;return Me.current!==Ot&&(r=window.setTimeout(()=>{Me.current=Ot;let e=Q.nodes.length>48?0:240;_t({padding:.2,duration:e,maxZoom:1.25})},20)),()=>{z.current!==null&&(window.clearTimeout(z.current),z.current=null),r!==void 0&&window.clearTimeout(r)}},[jt,Q,l,G,st,K,Ot,Ct,_t,$,kt,wt,Tt,Dt,ht,q]),(0,k.useEffect)(()=>{let e=window.setInterval(()=>{Ze()},2e3);return()=>window.clearInterval(e)},[Ze]);let Pt=I.current.get(`packages`)??(e.level===`packages`?r:et),Ft=(0,k.useCallback)(e=>I.current.get(N({level:`files`,package:e})),[de]),It=(0,k.useCallback)(e=>I.current.get(N({level:`symbols`,file:e})),[de]),Lt=(0,k.useCallback)(e=>{let t=e.filePath,n=Re(e.filePath),r=`file:${e.filePath}`;for(let i of I.current.values()){let a=i.nodes.find(t=>t.kind===`file`&&!t.external&&Le(t.file,e.filePath));if(a){t=a.file??t,n=a.package??n,r=a.id;break}}if(e.symbol){Y({level:`symbols`,file:t,package:n},e.symbol.id);return}Y({level:`files`,package:n},r)},[Y]);(0,k.useEffect)(()=>{if(!be||F)return;let e=[...W].filter(e=>!e.filePath.startsWith(`(`)).sort((e,t)=>t.timestamp-e.timestamp)[0];if(!e)return;let t=`${e.id??e.toolUseId}:${e.filePath}:${e.symbol?.id??`file`}`;R.current!==t&&(R.current=t,Lt(e))},[W,be,Lt,F]);let Rt=(0,k.useCallback)(()=>{if(F){Ee(null),Oe(null);return}Ee([...H]),Oe([...U])},[H,F,U]),zt=(0,k.useCallback)(e=>{let t=e.package??e.label,n=!b.has(t);x(e=>{let r=new Set(e);return n?r.add(t):r.delete(t),r}),n&&St({level:`files`,package:t}).then(()=>{let e=I.current.get(N({level:`files`,package:t})),n=e?Pe(e.nodes):void 0;n?.directories.length===1&&n.directories[0]&&S(e=>new Set(e).add(`${t}:${n.directories[0].path}`))}).catch(()=>void 0)},[St,b]),Bt=(0,k.useCallback)(e=>{if(!e.file)return;let t=!C.has(e.file);w(n=>{let r=new Set(n);return t?r.add(e.file):r.delete(e.file),r}),t&&St({level:`symbols`,file:e.file,package:e.package}).catch(()=>void 0)},[St,C]),Vt=(0,k.useCallback)(e=>{S(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),Ht=(0,k.useCallback)(e=>{E(t=>new Set(t).add(e))},[]),Ut=(0,k.useCallback)(e=>{Y({level:`files`,package:e.package??`(root)`},e.id)},[Y]),Wt=(0,k.useCallback)(e=>{e.file&&Y({level:`symbols`,file:e.file,package:e.package},e.id)},[Y]),Gt=(0,k.useMemo)(()=>{let e=v.trim().toLocaleLowerCase();if(!e)return[];let t=new Map;for(let n of I.current.values())for(let r of n.nodes)`${r.label} ${r.file??``} ${r.signature??``} ${r.package??``}`.toLocaleLowerCase().includes(e)&&t.set(r.id,r);return[...t.values()].sort((e,t)=>e.kind.localeCompare(t.kind)||e.label.localeCompare(t.label)).slice(0,80)},[v,de]),Kt=Gt.length>40,qt=ne({count:Gt.length,getScrollElement:()=>xt.current,estimateSize:()=>40,overscan:8,enabled:Kt}),Jt=(0,k.useCallback)(e=>{e.kind===`package`?Y({level:`packages`},e.id):e.kind===`file`?Y({level:`files`,package:e.package??`(root)`},e.id):e.file&&Y({level:`symbols`,file:e.file,package:e.package},e.id)},[Y]),{incoming:Yt,outgoing:Xt}=(0,k.useMemo)(()=>({incoming:Z?Se(X,Z.id,`incoming`):[],outgoing:Z?Se(X,Z.id,`outgoing`):[]}),[X,Z]),{edgeWeight:Zt,connectedNodeCount:Qt}=(0,k.useMemo)(()=>{let e=0,t=new Set;for(let n of X.edges)e+=n.weight,t.add(n.source),t.add(n.target);return{edgeWeight:e,connectedNodeCount:t.size}},[X]),$t=Z?W.filter(e=>ze(e,Z)):[],en=pe?Xe(pe):[];return(0,A.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-background`,children:[(0,A.jsx)(ot,{scope:e,graph:r,agentPresences:ut,edgeWeight:Zt,connectedNodeCount:Qt,navigate:Y}),(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,A.jsx)(vt,{rootGraph:Pt,search:v,searchInput:_,searchResults:Gt,virtualizeSearch:Kt,searchVirtualizer:qt,treeScrollRef:xt,selectedId:l,expandedPackages:b,expandedDirectories:re,expandedFiles:C,loadingBranches:D,activeFileNorms:Mt,activeSymbolIds:Nt,revealAllKeys:ae,packageGraph:Ft,graphForFile:It,navigate:Y,togglePackage:zt,toggleDirectory:Vt,toggleFile:Bt,revealAllTree:Ht,selectFileFromTree:Ut,selectSymbolFromTree:Wt,selectSearchResult:Jt,handleOpenNode:$,onSearchInputChange:ee,onSearchChange:y}),(0,A.jsxs)(`main`,{className:`relative min-w-0 flex-1 bg-[radial-gradient(circle_at_50%_0%,hsl(var(--primary)/0.055),transparent_38%)]`,children:[(0,A.jsx)(rt,{layout:d,canvasMode:p,edgeFilter:h,canvasNodeCount:Q.nodes.length,graphNodeCount:r.nodes.length,onLayoutChange:f,onCanvasModeChange:m,onEdgeFilterChange:g}),(0,A.jsx)(ct,{presences:ut,onLocate:Lt}),(0,A.jsx)(lt,{paused:F!==null,followLive:be,agentFilter:P,agents:$e,onTogglePaused:Rt,onToggleFollow:()=>{R.current=null,j(e=>!e)},onAgentFilter:e=>{R.current=null,we(e)}}),(0,A.jsx)(nt,{loading:a,error:s,graph:r,canvasNodeCount:Q.nodes.length,flowNodes:dt,flowEdges:mt,onNodesChange:ft,onEdgesChange:gt,onNodeClick:At,agentTrailCount:ke})]}),(0,A.jsx)(pt,{selectedNode:Z,incoming:Yt,outgoing:Xt,filteredGraph:X,expandedRelations:ie,activeOperations:W,recentActivities:tt,activityTotalCount:Ke,selectedActivities:$t,onClearSelection:()=>u(null),onOpenNode:$,onOpenActivity:O,onLocateActivity:Lt,onToggleRelation:e=>T(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),onSelectNode:kt})]}),pe&&(0,A.jsx)(ye,{historyFile:pe,fileHistory:en,onClose:()=>O(null)})]})}function bt(){return(0,A.jsx)(ae,{children:(0,A.jsx)(yt,{})})}export{bt as CodeMap};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-wiHys0m2.js";import{$n as r,In as i,Jn as a,Mr as o,Mt as s,Nn as c,Rn as l,Ta as u,Wr as d,Wt as f,cn as p,ga as m,ha as h,ia as g,jt as _,qn as v,qt as y,ua as b,wo as x,xo as S}from"./vendor-V3ydTHqN.js";import"./i18n--QdD6NCn.js";import{t as C}from"./utils-CKsqCaP8.js";import{o as w}from"./view-navigation-DTs4cSQ6.js";import{_ as T,t as E,v as D}from"./stores-2kakt8j9.js";import{t as O}from"./chat-store-C-PKlsCR.js";import{t as k}from"./button-BbeB5Qm8.js";import{L as A,P as j,n as M,r as ee,t as te}from"./index-FWwLmwjx.js";var N=e(t(),1),P=n(),F={pending:{icon:(0,P.jsx)(h,{className:`w-4 h-4`}),color:`text-muted-foreground`},in_progress:{icon:(0,P.jsx)(b,{className:`w-4 h-4 animate-spin`}),color:`text-primary`},blocked:{icon:(0,P.jsx)(r,{className:`w-4 h-4`}),color:`text-warning`},failed:{icon:(0,P.jsx)(m,{className:`w-4 h-4`}),color:`text-destructive`},review:{icon:(0,P.jsx)(i,{className:`w-4 h-4`}),color:`text-info`},completed:{icon:(0,P.jsx)(u,{className:`w-4 h-4`}),color:`text-success`}},I={critical:`bg-destructive/15 text-destructive`,high:`bg-warning/15 text-warning`,medium:`bg-info/15 text-info`,low:`bg-muted text-muted-foreground`},L={feature:`bg-success/15 text-success`,bugfix:`bg-destructive/15 text-destructive`,refactor:`bg-primary/15 text-primary`,docs:`bg-info/15 text-info`,test:`bg-primary/15 text-primary`,chore:`bg-muted text-muted-foreground`};function R(e){if(!e)return``;let t=Math.floor(e/6e4);if(t<60)return`${t}m`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}h ${r}m`:`${n}h`}function z({task:e,onStatusChange:t,onRetry:n,agents:r,onAssign:a,compact:o,className:s}){let{t:c}=S(),l=F[e.status],[u,d]=(0,N.useState)(!1),p=e.status===`in_progress`;return(0,P.jsxs)(`div`,{className:C(`w-full text-left rounded-lg border p-3 transition-all hover:shadow-sm`,p?`border-primary/40 bg-primary/5`:e.status===`completed`?`border-success/35 bg-success/6`:e.status===`failed`?`border-destructive/40 bg-destructive/5`:`border-border bg-card`,s),children:[(0,P.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,P.jsx)(`span`,{className:C(`mt-0.5`,l.color),role:`img`,"aria-label":p?c(`common:status.inProgress`):void 0,children:l.icon}),(0,P.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,P.jsx)(`span`,{className:`text-sm font-medium`,children:e.title}),(0,P.jsx)(`span`,{className:C(`px-1.5 py-0.5 rounded text-[10px] font-medium`,I[e.priority]),children:e.priority}),(0,P.jsx)(`span`,{className:C(`px-1.5 py-0.5 rounded text-[10px] font-medium`,L[e.type]),children:e.type})]}),e.description&&(0,P.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1 line-clamp-2`,children:e.description})]})]}),e.assignee&&(0,P.jsxs)(`div`,{className:C(`mt-2 inline-flex items-center gap-1.5 rounded-full px-2 py-0.5 text-[10px] font-medium`,p?`bg-primary/15 text-primary`:`bg-muted text-muted-foreground`),children:[p&&(0,P.jsx)(b,{className:`w-3 h-3 animate-spin`,"aria-label":c(`common:status.working`)}),(0,P.jsx)(`span`,{children:e.assignee})]}),(0,P.jsxs)(`div`,{className:`flex items-center gap-3 mt-2 text-xs text-muted-foreground`,children:[e.estimateHours?(0,P.jsxs)(`span`,{children:[`~`,e.estimateHours,`h`]}):null,e.actualHours?(0,P.jsxs)(`span`,{children:[`• `,e.actualHours,`h`]}):null,e.startedAt?(0,P.jsxs)(`span`,{children:[`• `,R(Date.now()-e.startedAt)]}):null]}),e.tags.length>0&&(0,P.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-2`,children:e.tags.map(e=>(0,P.jsx)(`span`,{className:`px-1.5 py-0.5 rounded text-[10px] bg-muted text-muted-foreground`,children:e},e))}),!o&&(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 mt-2`,children:[t&&e.status!==`in_progress`&&e.status!==`completed`&&(0,P.jsx)(`button`,{type:`button`,onClick:()=>t(e.id,`in_progress`),className:`px-2 py-0.5 text-[10px] rounded bg-primary/15 text-primary hover:bg-primary/25 transition-colors`,children:c(`activity:task.start`)}),t&&e.status===`in_progress`&&(0,P.jsx)(`button`,{type:`button`,onClick:()=>t(e.id,`completed`),className:`px-2 py-0.5 text-[10px] rounded bg-success/15 text-success hover:bg-success/25 transition-colors`,children:c(`activity:task.complete`)}),n&&(e.status===`failed`||e.status===`completed`)&&(0,P.jsxs)(`button`,{type:`button`,onClick:()=>n(e.id),className:`px-2 py-0.5 text-[10px] rounded bg-muted text-muted-foreground hover:bg-muted/70 transition-colors inline-flex items-center gap-1`,children:[(0,P.jsx)(i,{className:`w-3 h-3`}),` `,c(`activity:task.retry`)]}),a&&r&&r.length>0&&(u?(0,P.jsxs)(`select`,{defaultValue:e.assignee??``,onChange:t=>{a(e.id,t.target.value),d(!1)},onBlur:()=>d(!1),className:`px-1 py-0.5 text-[10px] rounded border border-border bg-card`,children:[(0,P.jsx)(`option`,{value:``,children:c(`activity:task.unassigned`)}),r.map(e=>(0,P.jsx)(`option`,{value:e,children:e},e))]}):(0,P.jsxs)(`button`,{type:`button`,onClick:()=>d(!0),className:`px-2 py-0.5 text-[10px] rounded bg-muted text-muted-foreground hover:bg-muted/70 transition-colors inline-flex items-center gap-1`,title:c(`activity:task.assignTitle`),children:[(0,P.jsx)(f,{className:`w-3 h-3`}),` `,c(`activity:task.assign`)]}))]})]})}var B=[{key:`pending`,match:[`pending`,`blocked`]},{key:`in_progress`,match:[`in_progress`]},{key:`review`,match:[`review`]},{key:`failed`,match:[`failed`]},{key:`completed`,match:[`completed`]}],V={pending:`bg-muted text-muted-foreground`,ready:`bg-info/15 text-info`,running:`bg-primary/15 text-primary`,paused:`bg-warning/15 text-warning`,completed:`bg-success/15 text-success`,failed:`bg-destructive/15 text-destructive`,skipped:`bg-muted text-muted-foreground`};function ne(){let{client:e}=A(),{t}=S(),n=T(e=>e.phases),r=T(e=>e.multiBoard),[i,a]=(0,N.useState)(`phase`),[o,s]=(0,N.useState)(null),[l,u]=(0,N.useState)(null),[d,f]=(0,N.useState)(0),p=Math.min(d,Math.max(0,n.length-1)),m=r?n[p]:void 0,h=(0,N.useMemo)(()=>n.flatMap(e=>(e.tasks??[]).map(t=>({...t,phaseId:e.id}))),[n]),_=(0,N.useMemo)(()=>[...new Set(h.map(e=>e.assignee).filter(e=>!!e))],[h]),v=(0,N.useCallback)(t=>e?.send?.(t),[e]),y=(0,N.useCallback)((e,t)=>v({type:`goal.taskStatus`,payload:{taskId:e,status:t}}),[v]),b=(0,N.useCallback)(e=>v({type:`goal.retryTask`,payload:{taskId:e}}),[v]),x=(0,N.useCallback)((e,t)=>v({type:`goal.assignTask`,payload:{taskId:e,agentName:t||void 0}}),[v]),w=(0,N.useCallback)(e=>{j({title:t(`activity:board.newTaskTitle`),placeholder:t(`activity:board.newTaskPlaceholder`),confirmLabel:t(`activity:board.addTask`)}).then(t=>{t&&v({type:`goal.addTask`,payload:{phaseId:e,title:t}})})},[v]),E=(0,N.useCallback)(e=>{o&&v({type:`goal.moveTask`,payload:{taskId:o,toPhaseId:e}}),s(null),u(null)},[o,v]),D=(0,N.useCallback)(e=>{o&&v({type:`goal.taskStatus`,payload:{taskId:o,status:e}}),s(null),u(null)},[o,v]),O={onStatusChange:y,onRetry:b,agents:_,onAssign:x};function k(e){return{draggable:!0,onDragStart:t=>{s(e),t.dataTransfer.effectAllowed=`move`},onDragEnd:()=>{s(null),u(null)}}}function M(e,t){return{onDragOver:t=>{t.preventDefault(),t.dataTransfer.dropEffect=`move`,l!==e&&u(e)},onDragLeave:()=>u(t=>t===e?null:t),onDrop:e=>{e.preventDefault(),t()},"data-hover":l===e||void 0}}return n.length===0?(0,P.jsx)(`div`,{className:`flex h-full min-h-0 min-w-0 items-center justify-center text-muted-foreground`,children:(0,P.jsx)(`p`,{className:`text-sm`,children:t(`activity:board.empty`)})}):(0,P.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-4 py-2`,children:[(0,P.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t(`activity:board.summary`,{phases:n.length,tasks:h.length})}),(0,P.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-border p-0.5`,children:[(0,P.jsxs)(`button`,{type:`button`,onClick:()=>a(`phase`),className:C(`inline-flex items-center gap-1 rounded px-2 py-1 text-xs transition-colors`,i===`phase`?`bg-primary/15 text-primary`:`text-muted-foreground hover:text-foreground`),children:[(0,P.jsx)(g,{className:`h-3.5 w-3.5`}),` `,t(`activity:board.phases`)]}),(0,P.jsxs)(`button`,{type:`button`,onClick:()=>a(`status`),className:C(`inline-flex items-center gap-1 rounded px-2 py-1 text-xs transition-colors`,i===`status`?`bg-primary/15 text-primary`:`text-muted-foreground hover:text-foreground`),children:[(0,P.jsx)(c,{className:`h-3.5 w-3.5`}),` `,t(`activity:board.statusTab`)]})]})]}),r&&m?(0,P.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,P.jsx)(`div`,{className:`flex shrink-0 gap-1 overflow-x-auto border-b border-border px-3 py-1.5`,children:n.map((e,t)=>(0,P.jsxs)(`button`,{type:`button`,onClick:()=>f(t),className:C(`shrink-0 rounded-t px-3 py-1.5 text-xs font-medium transition-colors`,t===p?`border-primary/40 bg-primary/10 text-primary`:`text-muted-foreground hover:bg-muted hover:text-foreground`),children:[(0,P.jsx)(`span`,{className:`truncate`,children:e.name}),(0,P.jsxs)(`span`,{className:`ml-1.5 text-[10px] text-muted-foreground`,children:[e.completedTasks,`/`,e.taskCount]})]},e.id))}),(0,P.jsx)(W,{phase:m,allTasks:h,layout:i,dragId:o,hoverKey:l,callbacks:O,draggable:k,dropZone:M,dropToPhase:E,dropToStatus:D,onAddTask:w})]}):(0,P.jsx)(U,{phases:n,allTasks:h,layout:i,dragId:o,hoverKey:l,callbacks:O,draggable:k,dropZone:M,dropToPhase:E,dropToStatus:D,onAddTask:w})]})}function H({phase:e,phaseTasks:t,callbacks:n,draggable:r,dropZone:i,dropToPhase:a,onAddTask:o,dragId:s,hoverKey:c}){let{t:l}=S();return(0,P.jsxs)(`div`,{...i(`phase:${e.id}`,()=>a(e.id)),className:C(`flex min-h-0 w-80 shrink-0 flex-col rounded-lg border bg-muted/30 transition-colors`,c===`phase:${e.id}`?`border-primary/60 bg-primary/5`:`border-border`),children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b border-border px-3 py-2`,children:[(0,P.jsxs)(`div`,{className:`min-w-0`,children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,P.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:e.name}),(0,P.jsx)(`span`,{className:C(`rounded px-1.5 py-0.5 text-[10px] font-medium capitalize`,V[e.status]),children:e.status})]}),(0,P.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[e.completedTasks,`/`,e.taskCount,` · `,e.progressPercent,`%`]})]}),(0,P.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),title:l(`activity:board.addTask`),className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,children:(0,P.jsx)(v,{className:`h-4 w-4`})})]}),(0,P.jsx)(`div`,{className:`min-h-0 flex-1 space-y-2 overflow-y-auto overscroll-contain p-2`,children:t.length===0?(0,P.jsx)(`p`,{className:`px-1 py-4 text-center text-[11px] text-muted-foreground`,children:l(`activity:board.dropHere`)}):t.map(e=>(0,P.jsx)(`div`,{...r(e.id),className:C(s===e.id&&`opacity-50`),children:(0,P.jsx)(z,{task:e,...n})},e.id))})]})}function U({phases:e,allTasks:t,layout:n,dragId:r,hoverKey:i,callbacks:a,draggable:o,dropZone:s,dropToPhase:c,dropToStatus:l,onAddTask:u}){return(0,P.jsx)(P.Fragment,{children:n===`phase`?(0,P.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 gap-3 overflow-x-auto p-3`,children:e.map(e=>{let n=t.filter(t=>t.phaseId===e.id);return(0,P.jsx)(H,{phase:e,phaseTasks:n,callbacks:a,draggable:o,dropZone:s,dropToPhase:c,onAddTask:u,dragId:r,hoverKey:i},e.id)})}):(0,P.jsx)(G,{phases:e,allTasks:t,dragId:r,hoverKey:i,callbacks:a,draggable:o,dropZone:s,dropToStatus:l})})}function W({phase:e,allTasks:t,layout:n,dragId:r,hoverKey:i,callbacks:a,draggable:o,dropZone:s,dropToPhase:c,dropToStatus:l,onAddTask:u}){let d=t.filter(t=>t.phaseId===e.id),{t:f}=S();return n===`phase`?(0,P.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 gap-3 overflow-x-auto p-3`,children:(0,P.jsx)(H,{phase:e,phaseTasks:d,callbacks:a,draggable:o,dropZone:s,dropToPhase:c,onAddTask:u,dragId:r,hoverKey:i})}):(0,P.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-auto overscroll-contain p-3`,children:(0,P.jsxs)(`div`,{className:`grid min-w-[900px] gap-2`,style:{gridTemplateColumns:`9rem repeat(${B.length}, minmax(0, 1fr))`},children:[(0,P.jsx)(`div`,{}),B.map(e=>(0,P.jsx)(`div`,{className:`px-2 pb-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:f(`activity:board.status.${e.key}`)},e.key)),(0,P.jsxs)(K,{children:[(0,P.jsx)(`div`,{className:`flex items-center pr-2`,children:(0,P.jsxs)(`div`,{className:`min-w-0`,children:[(0,P.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.name}),(0,P.jsx)(`span`,{className:C(`mt-0.5 inline-block rounded px-1.5 py-0.5 text-[10px] capitalize`,V[e.status]),children:e.status})]})}),B.map(t=>{let n=d.filter(e=>t.match.includes(e.status)),c=`cell:${e.id}:${t.key}`;return(0,P.jsx)(`div`,{...s(c,()=>l(t.key)),className:C(`min-h-[4rem] space-y-2 rounded-md border p-1.5 transition-colors`,i===c?`border-primary/60 bg-primary/5`:`border-border bg-muted/20`),children:n.map(e=>(0,P.jsx)(`div`,{...o(e.id),className:C(r===e.id&&`opacity-50`),children:(0,P.jsx)(z,{task:e,compact:!0,...a})},e.id))},t.key)})]},e.id)]})})}function G({phases:e,allTasks:t,dragId:n,hoverKey:r,callbacks:i,draggable:a,dropZone:o,dropToStatus:s}){let{t:c}=S();return(0,P.jsxs)(`div`,{className:`grid min-w-[900px] gap-2`,style:{gridTemplateColumns:`9rem repeat(${B.length}, minmax(0, 1fr))`},children:[(0,P.jsx)(`div`,{}),B.map(e=>(0,P.jsx)(`div`,{className:`px-2 pb-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:c(`activity:board.status.${e.key}`)},e.key)),e.map(e=>(0,P.jsxs)(K,{children:[(0,P.jsx)(`div`,{className:`flex items-center pr-2`,children:(0,P.jsxs)(`div`,{className:`min-w-0`,children:[(0,P.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.name}),(0,P.jsx)(`span`,{className:C(`mt-0.5 inline-block rounded px-1.5 py-0.5 text-[10px] capitalize`,V[e.status]),children:e.status})]})}),B.map(c=>{let l=t.filter(t=>t.phaseId===e.id&&c.match.includes(t.status)),u=`cell:${e.id}:${c.key}`;return(0,P.jsx)(`div`,{...o(u,()=>s(c.key)),className:C(`min-h-[4rem] space-y-2 rounded-md border p-1.5 transition-colors`,r===u?`border-primary/60 bg-primary/5`:`border-border bg-muted/20`),children:l.map(e=>(0,P.jsx)(`div`,{...a(e.id),className:C(n===e.id&&`opacity-50`),children:(0,P.jsx)(z,{task:e,compact:!0,...i})},e.id))},c.key)})]},e.id))]})}function K({children:e}){return(0,P.jsx)(P.Fragment,{children:e})}function q({onClose:e}){let{client:t}=A(),{t:n}=S(),i=T(e=>e.phases),c=T(e=>e.overallPercent),u=T(e=>e.autonomous),f=T(e=>e.title),m=T(e=>e.goal),h=T(e=>e.status),g=T(e=>e.lastError),b=T(e=>e.graphs);(0,N.useEffect)(()=>{t?.send?.({type:`goal.list`}),t?.send?.({type:`goal.state`})},[t]);let j=E(e=>e.worktrees),F=E(e=>e.baseBranch),[I,L]=(0,N.useState)(``),[R,z]=(0,N.useState)(null),[B,V]=(0,N.useState)(!1),[H,U]=(0,N.useState)(!0),[W,G]=(0,N.useState)(!1),[K,q]=(0,N.useState)(!1),[J,re]=(0,N.useState)(!1),Y=D(e=>e.result),X=D(e=>e.loading),Z=(0,N.useRef)(null);(0,N.useEffect)(()=>{if(Z.current&&clearTimeout(Z.current),!I.trim()){D.getState().clear();return}return Z.current=setTimeout(()=>{D.getState().setLoading();let e=D.getState().nextSeq();t?.send?.({type:`goal.assess`,payload:{goal:I,seq:e}})},800),()=>{Z.current&&clearTimeout(Z.current)}},[I,t]),(0,N.useEffect)(()=>{!I.trim()&&!R&&D.getState().clear()},[I,R]);let Q=i.length>0,ie=R!=null&&!Q;(0,N.useEffect)(()=>{Q&&z(null)},[Q]);let ae=(0,N.useCallback)(()=>{let e=I.trim();if(!e||R!=null)return;let n=O.getState();n.addMessage({role:`user`,content:e}),n.addMessage({role:`assistant`,content:x.t(`activity:goalRun.planningAck`)}),z(e),L(``),t?.send?.({type:`goal.start`,payload:{title:e,autonomous:!0,worktrees:H,multiBoard:W,verifyTasks:K,chimeraReview:J}}),w(`chat`)},[I,R,t,H]),oe=(0,N.useCallback)(()=>{t?.send?.({type:`goal.stop`,payload:{}}),z(null)},[t]),se=(0,N.useCallback)(()=>{t?.send?.({type:`goal.toggleAutonomous`,payload:{}})},[t]),ce=(0,N.useCallback)(()=>{t?.send?.(h===`paused`?{type:`goal.resume`,payload:{}}:{type:`goal.pause`,payload:{}})},[t,h]),le=(0,N.useCallback)(()=>{t?.send?.({type:`goal.stop`,payload:{}})},[t]),ue=(0,N.useCallback)(()=>{t?.send?.({type:`goal.clear`,payload:{}}),T.getState().clear(),z(null),L(``)},[t]),[de,$]=(0,N.useState)(!1),fe=(0,N.useCallback)(()=>{t?.send?.({type:`goal.revert`,payload:{}}),$(!1)},[t]),pe=h===`running`||h===`paused`,me=h===`stopped`||h===`completed`||h===`failed`,he=(0,N.useCallback)(e=>{e&&t?.send?.({type:`goal.load`,payload:{graphId:e}})},[t]);return(0,P.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col bg-background`,children:[(0,P.jsxs)(`header`,{className:`flex shrink-0 flex-col gap-2 border-b bg-card px-4 py-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,P.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,P.jsx)(d,{className:`h-5 w-5 text-muted-foreground`}),(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`h1`,{className:`text-lg font-semibold`,children:Q&&f||`Goal`}),Q&&(0,P.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n(`activity:goalRun.summary`,{count:i.length,pct:c})})]}),Q&&(0,P.jsx)(`span`,{className:C(`rounded border px-2 py-0.5 text-[11px] font-medium capitalize`,h===`failed`?`border-destructive/40 bg-destructive/10 text-destructive`:h===`paused`||h===`stopped`?`border-warning/40 bg-warning/10 text-warning`:h===`completed`?`border-success/40 bg-success/10 text-success`:`border-primary/30 bg-primary/10 text-primary`),title:g??void 0,children:h})]}),(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2 sm:justify-end`,children:[b.length>0&&(0,P.jsxs)(`select`,{value:Q?b.find(e=>e.title===f)?.id??``:``,onChange:e=>he(e.target.value),title:n(`activity:goalRun.switchBoard`),className:`min-w-0 flex-1 rounded border border-border bg-card px-2 py-1 text-xs text-foreground sm:w-72 sm:flex-none`,children:[(0,P.jsx)(`option`,{value:``,disabled:!0,children:n(`activity:goalRun.boardsCount`,{count:b.length})}),b.map(e=>(0,P.jsxs)(`option`,{value:e.id,children:[e.title,` · `,e.status]},e.id))]}),Q&&(0,P.jsxs)(`button`,{type:`button`,onClick:se,title:n(`activity:goalRun.toggleAutonomousTitle`),className:C(`inline-flex items-center gap-1 rounded border px-2 py-1 text-xs transition-colors`,u?`border-primary/30 bg-primary/10 text-primary`:`border-border text-muted-foreground hover:text-foreground`),children:[(0,P.jsx)(_,{className:`h-3.5 w-3.5`}),` `,n(u?`activity:goalRun.autonomous`:`activity:goalRun.manual`)]}),pe&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`button`,{type:`button`,onClick:ce,title:n(h===`paused`?`activity:goalRun.resumeTitle`:`activity:goalRun.pauseTitle`),className:`inline-flex items-center gap-1 rounded border border-border px-2 py-1 text-xs text-muted-foreground transition-colors hover:text-foreground`,children:[h===`paused`?(0,P.jsx)(a,{className:`h-3.5 w-3.5`}):(0,P.jsx)(r,{className:`h-3.5 w-3.5`}),n(h===`paused`?`activity:goalRun.resume`:`activity:goalRun.pause`)]}),(0,P.jsxs)(`button`,{type:`button`,onClick:le,title:n(`activity:goalRun.stopTitle`),className:`inline-flex items-center gap-1 rounded border border-destructive/40 bg-destructive/10 px-2 py-1 text-xs font-medium text-destructive transition-colors hover:bg-destructive/20`,children:[(0,P.jsx)(p,{className:`h-3.5 w-3.5 fill-current`}),` `,n(`activity:goalRun.stop`)]})]}),Q&&me&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`button`,{type:`button`,onClick:ue,title:n(`activity:goalRun.newTitle`),className:`inline-flex items-center gap-1 rounded border border-primary/30 bg-primary/10 px-2 py-1 text-xs font-medium text-primary transition-colors hover:bg-primary/20`,children:[(0,P.jsx)(v,{className:`h-3.5 w-3.5`}),` `,n(`activity:goalRun.newLabel`)]}),de?(0,P.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded border border-warning/40 bg-warning/10 px-1.5 py-0.5 text-xs`,children:[(0,P.jsx)(`span`,{className:`text-warning`,children:n(`activity:goalRun.revertConfirm`)}),(0,P.jsx)(`button`,{type:`button`,onClick:fe,className:`rounded bg-destructive/15 px-1.5 py-0.5 font-medium text-destructive hover:bg-destructive/25`,children:n(`common:action.yes`)}),(0,P.jsx)(`button`,{type:`button`,onClick:()=>$(!1),className:`rounded px-1.5 py-0.5 text-muted-foreground hover:text-foreground`,children:n(`common:action.no`)})]}):(0,P.jsxs)(`button`,{type:`button`,onClick:()=>$(!0),title:n(`activity:goalRun.revertTitle`),className:`inline-flex items-center gap-1 rounded border border-border px-2 py-1 text-xs text-muted-foreground transition-colors hover:text-foreground`,children:[(0,P.jsx)(y,{className:`h-3.5 w-3.5`}),` `,n(`activity:goalRun.revert`)]})]}),(0,P.jsx)(k,{variant:`ghost`,size:`icon`,onClick:e,children:(0,P.jsx)(s,{className:`h-4 w-4`})})]})]}),Q&&m&&(0,P.jsxs)(`div`,{className:`shrink-0 border-b border-border/60 bg-muted/20 px-4 py-2.5`,children:[(0,P.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground`,children:[(0,P.jsx)(l,{className:`h-3 w-3`}),` `,n(`activity:goalRun.goal`)]}),(0,P.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-relaxed text-foreground/90`,children:m})]}),Q?(0,P.jsx)(`div`,{className:`flex min-h-0 flex-1`,children:(0,P.jsx)(ne,{})}):ie?(0,P.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-8`,children:(0,P.jsxs)(`div`,{className:`max-w-lg w-full space-y-5 text-center`,children:[(0,P.jsx)(o,{className:`h-10 w-10 mx-auto animate-spin text-primary/70`}),(0,P.jsxs)(`div`,{className:`space-y-1`,children:[(0,P.jsx)(`h2`,{className:`text-xl font-semibold`,children:n(`activity:goalRun.planning`)}),(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n(`activity:goalRun.planningBody`)})]}),(0,P.jsxs)(`div`,{className:`rounded-lg border border-border bg-card px-4 py-3 text-left`,children:[(0,P.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground`,children:[(0,P.jsx)(l,{className:`h-3 w-3`}),` `,n(`activity:goalRun.goal`)]}),(0,P.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-relaxed text-foreground/90`,children:R})]}),(0,P.jsxs)(k,{variant:`outline`,onClick:oe,className:`gap-2`,children:[(0,P.jsx)(p,{className:`h-4 w-4 fill-current`}),` `,n(`common:action.cancel`)]})]})}):(0,P.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-8`,children:(0,P.jsxs)(`div`,{className:`max-w-lg w-full space-y-6`,children:[(0,P.jsxs)(`div`,{className:`text-center space-y-2`,children:[(0,P.jsx)(l,{className:`h-10 w-10 mx-auto text-primary/60`}),(0,P.jsx)(`h2`,{className:`text-xl font-semibold`,children:n(`activity:goalRun.startHeading`)}),(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n(`activity:goalRun.startBody`)})]}),(0,P.jsx)(`textarea`,{value:I,onChange:e=>L(e.target.value),placeholder:n(`activity:goalRun.startPlaceholder`),rows:5,className:`w-full rounded-lg border border-border bg-card px-4 py-3 text-sm resize-none focus:outline-none focus:ring-2 focus:ring-primary/30 placeholder:text-muted-foreground/70`,onKeyDown:e=>{e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),ae())}}),X&&(0,P.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,P.jsx)(o,{className:`h-3 w-3 animate-spin`}),n(`activity:goalRun.assess.analyzing`)]}),!X&&Y&&!Y.parseFailed&&(0,P.jsxs)(`div`,{className:C(`rounded-lg border px-3 py-2 text-xs space-y-1.5`,Y.realistic?`border-success/40 bg-success/10`:`border-warning/40 bg-warning/10`),children:[(0,P.jsx)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:Y.realistic?(0,P.jsx)(`span`,{className:`text-success`,children:n(`activity:goalRun.assess.realistic`)}):(0,P.jsx)(`span`,{className:`text-warning`,children:n(`activity:goalRun.assess.durationConcern`)})}),Y.durationClaimed&&(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:n(`activity:goalRun.assess.durationClaimed`,{duration:Y.durationClaimed})}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:Y.explanation}),Y.recommendedDuration&&(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:n(`activity:goalRun.assess.recommendation`,{duration:Y.recommendedDuration})}),Y.concerns.length>0&&(0,P.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,P.jsx)(`p`,{className:`font-medium text-foreground/80`,children:n(`activity:goalRun.assess.concerns`)}),(0,P.jsx)(`ul`,{className:`list-disc pl-4 space-y-0.5 text-muted-foreground`,children:Y.concerns.map((e,t)=>(0,P.jsx)(`li`,{children:e},t))})]})]}),!X&&Y?.parseFailed&&(0,P.jsx)(`div`,{className:`rounded-lg border border-border/40 bg-muted/20 px-3 py-2 text-xs text-muted-foreground`,children:n(`activity:goalRun.assess.analysisFailed`)}),(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-center justify-center gap-2 text-xs text-muted-foreground`,children:[(0,P.jsx)(`input`,{type:`checkbox`,checked:H,onChange:e=>U(e.target.checked),className:`h-3.5 w-3.5 accent-primary`}),n(`activity:goalRun.isolateLabel`)]}),(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-3 text-xs text-muted-foreground`,children:[(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5`,children:[(0,P.jsx)(`input`,{type:`checkbox`,checked:W,onChange:e=>G(e.target.checked),className:`h-3.5 w-3.5 accent-primary`}),n(`activity:goalRun.multiBoardLabel`)]}),(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5`,children:[(0,P.jsx)(`input`,{type:`checkbox`,checked:K,onChange:e=>q(e.target.checked),className:`h-3.5 w-3.5 accent-primary`}),n(`activity:goalRun.verifyTasksLabel`)]}),(0,P.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5`,children:[(0,P.jsx)(`input`,{type:`checkbox`,checked:J,onChange:e=>re(e.target.checked),className:`h-3.5 w-3.5 accent-primary`}),n(`activity:goalRun.chimeraReviewLabel`)]})]}),(0,P.jsxs)(`div`,{className:`flex items-center gap-3`,children:[!X&&Y&&!Y.realistic&&!Y.parseFailed&&(0,P.jsx)(`button`,{type:`button`,onClick:()=>D.getState().clear(),className:`shrink-0 rounded border border-border px-2 py-1 text-xs text-muted-foreground hover:text-foreground transition-colors`,title:n(`activity:goalRun.assess.overrideTitle`),children:n(`activity:goalRun.assess.override`)}),(0,P.jsxs)(k,{onClick:ae,disabled:!I.trim()||R!=null||X||!X&&Y!=null&&!Y.parseFailed&&!Y.realistic,className:`flex-1 gap-2`,title:I.trim()&&!X&&Y&&!Y.parseFailed&&!Y.realistic?n(`activity:goalRun.assess.disableTitle`):``,children:[(0,P.jsx)(a,{className:`h-4 w-4`}),n(`activity:goalRun.startButton`)]})]}),(0,P.jsxs)(`p`,{className:`text-xs text-muted-foreground text-center`,children:[n(`activity:goalRun.ctrlHint`),` ·`,` `,n(H?`activity:goalRun.isolateOn`:`activity:goalRun.isolateOff`)]})]})}),j.length>0&&(0,P.jsxs)(`div`,{className:`border-t bg-card/50 shrink-0`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-end gap-2 px-4 pt-2 text-xs`,children:[(0,P.jsx)(`button`,{type:`button`,onClick:()=>V(!1),className:C(`rounded px-2 py-0.5 border transition-colors`,B?`border-border text-muted-foreground hover:text-foreground`:`bg-primary/10 border-primary/30 text-primary`),children:n(`activity:goalRun.lanes`)}),(0,P.jsx)(`button`,{type:`button`,onClick:()=>V(!0),className:C(`rounded px-2 py-0.5 border transition-colors`,B?`bg-primary/10 border-primary/30 text-primary`:`border-border text-muted-foreground hover:text-foreground`),children:n(`activity:goalRun.graph`)})]}),(0,P.jsxs)(`div`,{className:`space-y-2 px-4 pb-3`,children:[(0,P.jsx)(te,{}),B?(0,P.jsx)(ee,{worktrees:j,baseBranch:F}):(0,P.jsx)(M,{worktrees:j,baseBranch:F})]})]})]})}export{q as GoalView};